From 22d5eac400cdc951bfbcebdcb237464aa3de00fb Mon Sep 17 00:00:00 2001 From: Alex Huang Date: Tue, 21 Jun 2011 10:15:21 -0700 Subject: [PATCH] new log4j --- client/tomcatconf/log4j-cloud.xml.in | 3 +- deps/.classpath | 2 +- deps/cloud-apache-log4j-extras-1.0.jar | Bin 153863 -> 0 bytes deps/cloud-log4j-extras.jar | Bin 0 -> 346729 bytes deps/cloud-log4j.jar | Bin 391834 -> 481534 bytes thirdparty/apache-log4j-1.2.16/BUILD-INFO.txt | 118 + thirdparty/apache-log4j-1.2.16/INSTALL | 104 + thirdparty/apache-log4j-1.2.16/KEYS | 148 + .../LICENSE | 0 thirdparty/apache-log4j-1.2.16/NOTICE | 5 + .../NTEventLogAppender.amd64.dll | Bin 0 -> 46080 bytes .../NTEventLogAppender.dll | Bin 0 -> 10240 bytes .../build.properties.sample | 71 + thirdparty/apache-log4j-1.2.16/build.xml | 804 ++ .../apache-log4j-1.2.16/contribs/CONTENTS | 116 + .../contribs/CekiGulcu/AppenderTable.java | 245 + .../contribs/CekiGulcu/Transform.java | 219 + .../EirikLygre/DailyFileAppender1.java | 242 + .../contribs/EirikLygre/mail-2001-01-18 | 44 + .../contribs/JamesHouse/LogTextPanel.java | 188 + .../JamesHouse/LogTextPanelExample.java | 132 + .../JamesHouse/TextPanelAppender.java | 217 + .../contribs/JamesHouse/mail-2001-01-23 | 87 + .../contribs/Jamie Tsao/JMSQueueAppender.java | 241 + .../contribs/Jamie Tsao/mail-2001-06-20 | 28 + .../JimMoore/LoggingOutputStream.java | 210 + .../contribs/JimMoore/mail-2001-03-12T1326 | 56 + .../contribs/JimMoore/mail-2001-03-12T1454 | 127 + .../contribs/JimMoore/mail-2001-03-13T0646 | 229 + .../KevinSteppe/CompositeRollingAppender.java | 707 ++ .../contribs/KevinSteppe/JDBCTest.java | 97 + .../contribs/KevinSteppe/mail-2001-02-01 | 559 ++ .../contribs/KevinSteppe/mail-2002-03-27.txt | 118 + .../KitchingSimon/DatagramStringAppender.java | 284 + .../KitchingSimon/DatagramStringWriter.java | 173 + .../SingleLineTracerPrintWriter.java | 67 + .../contribs/KitchingSimon/logconfig.xml | 59 + .../contribs/KitchingSimon/mail-2001-02-07 | 107 + .../contribs/KitchingSimon/udpserver.pl | 82 + .../LeosLiterak/TempFileAppender.java | 198 + .../contribs/LeosLiterak/mail | 58 + .../contribs/MarkDouglas/Log.txt | 33 + .../contribs/MarkDouglas/SocketNode2.java | 118 + .../contribs/MarkDouglas/SocketServer2.java | 99 + .../contribs/MarkDouglas/mail-2001-01-17 | 66 + .../contribs/SvenReimers/gui/JListView.java | 365 + .../SvenReimers/gui/JTableAppender.java | 237 + .../SvenReimers/gui/TextPaneAppender.java | 355 + .../gui/examples/TextPaneAppenderExample.java | 111 + .../contribs/ThomasFenner/JDBCAppender.java | 601 ++ .../ThomasFenner/JDBCConnectionHandler.java | 38 + .../contribs/ThomasFenner/JDBCIDHandler.java | 35 + .../contribs/ThomasFenner/JDBCLogger.java | 468 ++ .../contribs/ThomasFenner/Log4JTest.java | 271 + .../contribs/ThomasFenner/code_example1.java | 53 + .../contribs/ThomasFenner/code_example2.java | 129 + .../ThomasFenner/configfile_example.txt | 52 + .../VolkerMentzner/HTTPRequestHandler.java | 75 + .../VolkerMentzner/Log4jRequestHandler.java | 177 + .../VolkerMentzner/PluggableHTTPServer.java | 262 + .../VolkerMentzner/RootRequestHandler.java | 159 + .../UserDialogRequestHandler.java | 135 + .../contribs/VolkerMentzner/mail-03-05-2001 | 42 + .../examples/MyPatternLayout.java | 64 + .../examples/MyPatternParser.java | 72 + .../examples/NumberCruncher.java | 37 + .../examples/NumberCruncherClient.java | 107 + .../examples/NumberCruncherServer.java | 172 + .../apache-log4j-1.2.16/examples/Sort.java | 95 + .../examples/SortAlgo.java | 87 + .../apache-log4j-1.2.16/examples/Trivial.java | 79 + .../examples/customLevel/XLevel.java | 90 + .../apache-log4j-1.2.16/examples/factor.html | 83 + .../apache-log4j-1.2.16/examples/factor.lcf | 45 + .../InitUsingDefaultConfigurator.java | 135 + .../InitUsingLog4JProperties.java | 121 + .../InitUsingLog4JProperties/log4j.properties | 33 + .../InitUsingMultipleAppenders.java | 146 + .../example.properties | 49 + .../InitUsingPropertiesFile.java | 125 + .../example.properties | 33 + .../InitUsingXMLPropertiesFile.java | 119 + .../InitUsingXMLPropertiesFile/example.xml | 32 + .../CustomizedLogLevels.java | 110 + .../UsingLogMonitorAdapter.java | 94 + .../UsingSocketAppenders.java | 141 + .../socketclient.properties | 33 + .../socketserver.properties | 35 + .../examples/lf5/index.html | 28 + .../apache-log4j-1.2.16/examples/mycat.bad | 32 + .../apache-log4j-1.2.16/examples/mycat.good | 40 + .../apache-log4j-1.2.16/examples/package.html | 54 + .../examples/sort1.properties | 42 + .../examples/sort2.properties | 70 + .../examples/sort3.properties | 47 + .../examples/sort4.properties | 47 + .../examples/subclass/MyLogger.java | 74 + .../examples/subclass/MyLoggerFactory.java | 43 + .../examples/subclass/MyLoggerTest.java | 85 + .../apache-log4j-1.2.16/log4j-1.2.16.jar | Bin 0 -> 481534 bytes thirdparty/apache-log4j-1.2.16/pom.xml | 545 ++ .../site/apidocs/allclasses-frame.html | 416 + .../site/apidocs/allclasses-noframe.html | 416 + .../site/apidocs/constant-values.html | 1093 +++ .../site/apidocs/deprecated-list.html | 502 ++ .../site/apidocs/help-doc.html | 12 +- .../site/apidocs/index-all.html | 6813 +++++++++++++++++ .../site/apidocs/index.html | 8 +- .../apache-log4j-1.2.16/site/apidocs/options | 25 + .../apidocs/org/apache/log4j/Appender.html | 494 ++ .../org/apache/log4j/AppenderSkeleton.html | 903 +++ .../org/apache/log4j/AsyncAppender.html | 750 ++ .../org/apache/log4j/BasicConfigurator.html | 319 + .../apidocs/org/apache/log4j/Category.html | 1951 +++++ .../org/apache/log4j/ConsoleAppender.html | 547 ++ .../log4j/DailyRollingFileAppender.html | 544 ++ .../log4j/DefaultThrowableRenderer.html | 298 + .../apache/log4j/EnhancedPatternLayout.html | 937 +++ .../log4j/EnhancedThrowableRenderer.html | 274 + .../org/apache/log4j/FileAppender.html | 823 ++ .../apidocs/org/apache/log4j/HTMLLayout.html | 603 ++ .../apidocs/org/apache/log4j/Hierarchy.html | 894 +++ .../site/apidocs/org/apache/log4j/Layout.html | 445 ++ .../site/apidocs/org/apache/log4j/Level.html | 603 ++ .../site/apidocs/org/apache/log4j/LogMF.html | 2620 +++++++ .../apidocs/org/apache/log4j/LogManager.html | 566 ++ .../site/apidocs/org/apache/log4j/LogSF.html | 2615 +++++++ .../site/apidocs/org/apache/log4j/LogXF.html | 782 ++ .../site/apidocs/org/apache/log4j/Logger.html | 473 ++ .../site/apidocs/org/apache/log4j/MDC.html | 345 + .../site/apidocs/org/apache/log4j/NDC.html | 566 ++ .../org/apache/log4j/PatternLayout.html | 881 +++ .../apidocs/org/apache/log4j/Priority.html | 738 ++ .../apache/log4j/PropertyConfigurator.html | 867 +++ .../org/apache/log4j/RollingFileAppender.html | 691 ++ .../org/apache/log4j/SimpleLayout.html | 377 + .../apidocs/org/apache/log4j/TTCCLayout.html | 580 ++ .../org/apache/log4j/WriterAppender.html | 854 +++ .../org/apache/log4j/chainsaw/Main.html | 434 ++ .../apache/log4j/chainsaw/class-use/Main.html | 145 + .../log4j/chainsaw/doc-files/screen_01.png | Bin 0 -> 23150 bytes .../apache/log4j/chainsaw}/package-frame.html | 12 +- .../log4j/chainsaw/package-summary.html | 260 + .../apache/log4j/chainsaw/package-tree.html | 168 + .../apache/log4j/chainsaw}/package-use.html | 20 +- .../org/apache/log4j/class-use/Appender.html | 915 +++ .../log4j/class-use/AppenderSkeleton.html | 425 + .../apache/log4j/class-use/AsyncAppender.html | 145 + .../log4j/class-use/BasicConfigurator.html | 145 + .../org/apache/log4j/class-use/Category.html | 546 ++ .../log4j/class-use/ConsoleAppender.html | 145 + .../class-use/DailyRollingFileAppender.html | 145 + .../class-use/DefaultThrowableRenderer.html | 145 + .../class-use/EnhancedPatternLayout.html | 12 +- .../class-use/EnhancedThrowableRenderer.html | 145 + .../apache/log4j/class-use/FileAppender.html | 221 + .../apache/log4j/class-use/HTMLLayout.html | 145 + .../org/apache/log4j/class-use/Hierarchy.html | 145 + .../org/apache/log4j/class-use/Layout.html | 556 ++ .../org/apache/log4j/class-use/Level.html | 1381 ++++ .../org/apache/log4j/class-use/LogMF.html | 12 +- .../apache/log4j/class-use/LogManager.html | 145 + .../org/apache/log4j/class-use/LogSF.html | 12 +- .../org/apache/log4j/class-use/LogXF.html | 191 + .../org/apache/log4j/class-use/Logger.html | 2719 +++++++ .../org/apache/log4j/class-use/MDC.html | 145 + .../org/apache/log4j/class-use/NDC.html | 145 + .../apache/log4j/class-use/PatternLayout.html | 145 + .../org/apache/log4j/class-use/Priority.html | 649 ++ .../log4j/class-use/PropertyConfigurator.html | 145 + .../log4j/class-use/RollingFileAppender.html | 182 + .../apache/log4j/class-use/SimpleLayout.html | 145 + .../apache/log4j/class-use/TTCCLayout.html | 145 + .../log4j/class-use/WriterAppender.html | 238 + .../PropertyGetter.PropertyCallback.html | 219 + .../apache/log4j/config/PropertyGetter.html | 403 + .../apache/log4j/config/PropertyPrinter.html | 595 ++ .../apache/log4j/config/PropertySetter.html | 518 ++ .../log4j/config/PropertySetterException.html | 333 + .../PropertyGetter.PropertyCallback.html | 210 + .../config/class-use/PropertyGetter.html | 145 + .../config/class-use/PropertyPrinter.html | 145 + .../config/class-use/PropertySetter.html | 192 + .../class-use/PropertySetterException.html | 183 + .../apache/log4j/config/package-frame.html | 59 + .../apache/log4j/config/package-summary.html | 212 + .../org/apache/log4j/config/package-tree.html | 165 + .../org/apache/log4j/config/package-use.html | 197 + .../log4j/helpers/AbsoluteTimeDateFormat.html | 450 ++ .../log4j/helpers/AppenderAttachableImpl.html | 492 ++ .../org/apache/log4j/helpers/BoundedFIFO.html | 432 ++ .../log4j/helpers/CountingQuietWriter.html | 402 + .../apache/log4j/helpers/CyclicBuffer.html | 387 + .../org/apache/log4j/helpers/DateLayout.html | 671 ++ .../log4j/helpers/DateTimeDateFormat.html | 385 + .../apache/log4j/helpers/FileWatchdog.html | 449 ++ .../apache/log4j/helpers/FormattingInfo.html | 236 + .../log4j/helpers/ISO8601DateFormat.html | 390 + .../org/apache/log4j/helpers/Loader.html | 356 + .../org/apache/log4j/helpers/LogLog.html | 532 ++ .../log4j/helpers/MDCKeySetExtractor.html | 259 + .../apache/log4j/helpers/NullEnumeration.html | 280 + .../log4j/helpers/OnlyOnceErrorHandler.html | 440 ++ .../apache/log4j/helpers/OptionConverter.html | 566 ++ .../log4j/helpers/PatternConverter.html | 375 + .../apache/log4j/helpers/PatternParser.html | 457 ++ .../org/apache/log4j/helpers/QuietWriter.html | 390 + .../log4j/helpers/RelativeTimeDateFormat.html | 391 + .../log4j/helpers/SyslogQuietWriter.html | 376 + .../apache/log4j/helpers/SyslogWriter.html | 380 + .../apache/log4j/helpers/ThreadLocalMap.html | 279 + .../org/apache/log4j/helpers/Transform.html | 297 + .../class-use/AbsoluteTimeDateFormat.html | 191 + .../class-use/AppenderAttachableImpl.html | 145 + .../log4j/helpers/class-use/BoundedFIFO.html | 145 + .../class-use/CountingQuietWriter.html | 145 + .../log4j/helpers/class-use/CyclicBuffer.html | 181 + .../log4j/helpers/class-use/DateLayout.html | 182 + .../helpers/class-use/DateTimeDateFormat.html | 145 + .../log4j/helpers/class-use/FileWatchdog.html | 145 + .../helpers/class-use/FormattingInfo.html | 195 + .../helpers/class-use/ISO8601DateFormat.html | 145 + .../log4j/helpers/class-use/Loader.html | 145 + .../log4j/helpers/class-use/LogLog.html | 145 + .../helpers/class-use/MDCKeySetExtractor.html | 14 +- .../helpers/class-use/NullEnumeration.html | 181 + .../class-use/OnlyOnceErrorHandler.html | 145 + .../helpers/class-use/OptionConverter.html | 145 + .../helpers/class-use/PatternConverter.html | 259 + .../helpers/class-use/PatternParser.html | 219 + .../log4j/helpers/class-use/QuietWriter.html | 220 + .../class-use/RelativeTimeDateFormat.html | 145 + .../helpers/class-use/SyslogQuietWriter.html | 145 + .../log4j/helpers/class-use/SyslogWriter.html | 145 + .../helpers/class-use/ThreadLocalMap.html | 145 + .../log4j/helpers/class-use/Transform.html | 145 + .../apache/log4j/helpers/package-frame.html | 79 + .../apache/log4j/helpers/package-summary.html | 289 + .../apache/log4j/helpers/package-tree.html | 181 + .../org/apache/log4j/helpers/package-use.html | 285 + .../org/apache/log4j/jdbc/JDBCAppender.html | 1063 +++ .../log4j/jdbc/class-use/JDBCAppender.html | 145 + .../org/apache/log4j/jdbc/package-frame.html | 33 + .../apache/log4j/jdbc/package-summary.html | 173 + .../org/apache/log4j/jdbc/package-tree.html | 158 + .../org/apache/log4j/jdbc/package-use.html | 145 + .../log4j/jmx/AbstractDynamicMBean.html | 476 ++ .../apidocs/org/apache/log4j/jmx/Agent.html | 271 + .../log4j/jmx/AppenderDynamicMBean.html | 399 + .../log4j/jmx/HierarchyDynamicMBean.html | 547 ++ .../apache/log4j/jmx/LayoutDynamicMBean.html | 375 + .../apache/log4j/jmx/LoggerDynamicMBean.html | 428 ++ .../jmx/class-use/AbstractDynamicMBean.html | 205 + .../org/apache/log4j/jmx/class-use/Agent.html | 145 + .../jmx/class-use/AppenderDynamicMBean.html | 145 + .../jmx/class-use/HierarchyDynamicMBean.html | 145 + .../jmx/class-use/LayoutDynamicMBean.html | 145 + .../jmx/class-use/LoggerDynamicMBean.html | 145 + .../org/apache/log4j/jmx/package-frame.html | 43 + .../org/apache/log4j/jmx/package-summary.html | 194 + .../org/apache/log4j/jmx/package-tree.html | 159 + .../org/apache/log4j/jmx/package-use.html | 171 + .../apache/log4j/lf5/AppenderFinalizer.html | 306 + .../log4j/lf5/DefaultLF5Configurator.html | 295 + .../org/apache/log4j/lf5/LF5Appender.html | 659 ++ .../org/apache/log4j/lf5/Log4JLogRecord.html | 332 + .../org/apache/log4j/lf5/LogLevel.html | 876 +++ .../log4j/lf5/LogLevelFormatException.html | 249 + .../org/apache/log4j/lf5/LogRecord.html | 1140 +++ .../org/apache/log4j/lf5/LogRecordFilter.html | 221 + .../log4j/lf5/PassingLogRecordFilter.html | 292 + .../org/apache/log4j/lf5/StartLogFactor5.html | 265 + .../lf5/class-use/AppenderFinalizer.html | 181 + .../lf5/class-use/DefaultLF5Configurator.html | 145 + .../log4j/lf5/class-use/LF5Appender.html | 182 + .../log4j/lf5/class-use/Log4JLogRecord.html | 145 + .../apache/log4j/lf5/class-use/LogLevel.html | 566 ++ .../class-use/LogLevelFormatException.html | 181 + .../apache/log4j/lf5/class-use/LogRecord.html | 360 + .../log4j/lf5/class-use/LogRecordFilter.html | 287 + .../lf5/class-use/PassingLogRecordFilter.html | 145 + .../log4j/lf5/class-use/StartLogFactor5.html | 145 + .../org/apache/log4j/lf5/package-frame.html | 69 + .../org/apache/log4j/lf5/package-summary.html | 223 + .../org/apache/log4j/lf5/package-tree.html | 173 + .../org/apache/log4j/lf5/package-use.html | 288 + .../log4j/lf5/util/AdapterLogRecord.html | 433 ++ .../log4j/lf5/util/DateFormatManager.html | 640 ++ .../apache/log4j/lf5/util/LogFileParser.html | 527 ++ .../log4j/lf5/util/LogMonitorAdapter.html | 678 ++ .../org/apache/log4j/lf5/util/Resource.html | 416 + .../apache/log4j/lf5/util/ResourceUtils.html | 301 + .../apache/log4j/lf5/util/StreamUtils.html | 390 + .../lf5/util/class-use/AdapterLogRecord.html | 145 + .../lf5/util/class-use/DateFormatManager.html | 229 + .../lf5/util/class-use/LogFileParser.html | 145 + .../lf5/util/class-use/LogMonitorAdapter.html | 198 + .../log4j/lf5/util/class-use/Resource.html | 191 + .../lf5/util/class-use/ResourceUtils.html | 145 + .../log4j/lf5/util/class-use/StreamUtils.html | 145 + .../apache/log4j/lf5/util/package-frame.html | 45 + .../log4j/lf5/util/package-summary.html | 182 + .../apache/log4j/lf5/util/package-tree.html | 158 + .../apache/log4j/lf5/util/package-use.html | 196 + .../lf5/viewer/FilteredLogTableModel.html | 746 ++ .../log4j/lf5/viewer/LF5SwingUtils.html | 404 + .../log4j/lf5/viewer/LogBrokerMonitor.html | 2838 +++++++ .../log4j/lf5/viewer/LogFactor5Dialog.html | 548 ++ .../lf5/viewer/LogFactor5ErrorDialog.html | 420 + .../lf5/viewer/LogFactor5InputDialog.html | 511 ++ .../lf5/viewer/LogFactor5LoadingDialog.html | 420 + .../org/apache/log4j/lf5/viewer/LogTable.html | 854 +++ .../log4j/lf5/viewer/LogTableColumn.html | 608 ++ .../viewer/LogTableColumnFormatException.html | 249 + .../log4j/lf5/viewer/LogTableModel.html | 318 + .../log4j/lf5/viewer/LogTableRowRenderer.html | 513 ++ .../viewer/TrackingAdjustmentListener.html | 309 + .../CategoryAbstractCellEditor.html | 665 ++ .../categoryexplorer/CategoryElement.html | 330 + .../CategoryExplorerLogRecordFilter.html | 353 + .../CategoryExplorerModel.html | 641 ++ .../CategoryExplorerTree.html | 540 ++ .../CategoryImmediateEditor.html | 418 + .../viewer/categoryexplorer/CategoryNode.html | 748 ++ .../categoryexplorer/CategoryNodeEditor.html | 727 ++ .../CategoryNodeEditorRenderer.html | 479 ++ .../CategoryNodeRenderer.html | 563 ++ .../viewer/categoryexplorer/CategoryPath.html | 420 + .../categoryexplorer/TreeModelAdapter.html | 333 + .../class-use/CategoryAbstractCellEditor.html | 181 + .../class-use/CategoryElement.html | 197 + .../CategoryExplorerLogRecordFilter.html | 145 + .../class-use/CategoryExplorerModel.html | 239 + .../class-use/CategoryExplorerTree.html | 197 + .../class-use/CategoryImmediateEditor.html | 145 + .../class-use/CategoryNode.html | 401 + .../class-use/CategoryNodeEditor.html | 181 + .../class-use/CategoryNodeEditorRenderer.html | 181 + .../class-use/CategoryNodeRenderer.html | 197 + .../class-use/CategoryPath.html | 198 + .../class-use/TreeModelAdapter.html | 145 + .../categoryexplorer/package-frame.html | 55 + .../categoryexplorer/package-summary.html | 203 + .../viewer/categoryexplorer/package-tree.html | 187 + .../viewer/categoryexplorer/package-use.html | 233 + .../class-use/FilteredLogTableModel.html | 181 + .../lf5/viewer/class-use/LF5SwingUtils.html | 145 + .../viewer/class-use/LogBrokerMonitor.html | 299 + .../viewer/class-use/LogFactor5Dialog.html | 200 + .../class-use/LogFactor5ErrorDialog.html | 145 + .../class-use/LogFactor5InputDialog.html | 145 + .../class-use/LogFactor5LoadingDialog.html | 145 + .../log4j/lf5/viewer/class-use/LogTable.html | 226 + .../lf5/viewer/class-use/LogTableColumn.html | 309 + .../LogTableColumnFormatException.html | 181 + .../lf5/viewer/class-use/LogTableModel.html | 145 + .../viewer/class-use/LogTableRowRenderer.html | 145 + .../class-use/TrackingAdjustmentListener.html | 145 + .../configure/ConfigurationManager.html | 532 ++ .../lf5/viewer/configure/MRUFileManager.html | 591 ++ .../class-use/ConfigurationManager.html | 181 + .../configure/class-use/MRUFileManager.html | 181 + .../lf5/viewer/configure/package-frame.html | 35 + .../lf5/viewer/configure/package-summary.html | 164 + .../lf5/viewer/configure/package-tree.html | 154 + .../lf5/viewer/configure/package-use.html | 179 + .../log4j/lf5/viewer/package-frame.html | 66 + .../log4j/lf5/viewer/package-summary.html | 223 + .../apache/log4j/lf5/viewer/package-tree.html | 194 + .../apache/log4j/lf5/viewer/package-use.html | 263 + .../org/apache/log4j/net/JMSAppender.html | 937 +++ .../apidocs/org/apache/log4j/net/JMSSink.html | 325 + .../org/apache/log4j/net/SMTPAppender.html | 1556 ++++ .../apache/log4j/net/SimpleSocketServer.html | 270 + .../org/apache/log4j/net/SocketAppender.html | 813 ++ .../apache/log4j/net/SocketHubAppender.html | 740 ++ .../org/apache/log4j/net/SocketNode.html | 276 + .../org/apache/log4j/net/SocketServer.html | 308 + .../org/apache/log4j/net/SyslogAppender.html | 1097 +++ .../net/TelnetAppender.SocketHandler.html | 389 + .../org/apache/log4j/net/TelnetAppender.html | 446 ++ .../org/apache/log4j/net/ZeroConfSupport.html | 315 + .../log4j/net/class-use/JMSAppender.html | 145 + .../apache/log4j/net/class-use/JMSSink.html | 145 + .../log4j/net/class-use/SMTPAppender.html | 145 + .../net/class-use/SimpleSocketServer.html | 145 + .../log4j/net/class-use/SocketAppender.html | 145 + .../net/class-use/SocketHubAppender.html | 145 + .../log4j/net/class-use/SocketNode.html | 145 + .../log4j/net/class-use/SocketServer.html | 145 + .../log4j/net/class-use/SyslogAppender.html | 145 + .../TelnetAppender.SocketHandler.html | 145 + .../log4j/net/class-use/TelnetAppender.html | 145 + .../log4j/net/class-use/ZeroConfSupport.html | 145 + .../org/apache/log4j/net/package-frame.html | 53 + .../org/apache/log4j/net/package-summary.html | 225 + .../org/apache/log4j/net/package-tree.html | 163 + .../org/apache/log4j/net/package-use.html | 145 + .../apache/log4j/nt/NTEventLogAppender.html | 530 ++ .../nt/class-use/NTEventLogAppender.html | 145 + .../org/apache/log4j/nt/package-frame.html | 33 + .../org/apache/log4j/nt/package-summary.html | 179 + .../org/apache/log4j/nt/package-tree.html | 157 + .../org/apache/log4j/nt/package-use.html | 145 + .../org/apache/log4j/or/ObjectRenderer.html | 222 + .../org/apache/log4j/or/RendererMap.html | 445 ++ .../apache/log4j/or/ThreadGroupRenderer.html | 284 + .../log4j/or/class-use/ObjectRenderer.html | 363 + .../log4j/or/class-use/RendererMap.html | 211 + .../or/class-use/ThreadGroupRenderer.html | 145 + .../apache/log4j/or/jms/MessageRenderer.html | 271 + .../or/jms/class-use/MessageRenderer.html | 145 + .../apache/log4j/or/jms/package-frame.html | 33 + .../apache/log4j/or/jms/package-summary.html | 175 + .../org/apache/log4j/or/jms/package-tree.html | 155 + .../org/apache/log4j/or/jms/package-use.html | 145 + .../org/apache/log4j/or/package-frame.html | 46 + .../org/apache/log4j/or/package-summary.html | 196 + .../org/apache/log4j/or/package-tree.html | 160 + .../org/apache/log4j/or/package-use.html | 263 + .../log4j/or/sax/AttributesRenderer.html | 271 + .../or/sax/class-use/AttributesRenderer.html | 145 + .../apache/log4j/or/sax/package-frame.html | 33 + .../apache/log4j/or/sax/package-summary.html | 175 + .../org/apache/log4j/or/sax/package-tree.html | 155 + .../org/apache/log4j/or/sax/package-use.html | 145 + .../org/apache/log4j/package-frame.html | 98 + .../org/apache/log4j/package-summary.html | 320 + .../org/apache/log4j/package-tree.html | 184 + .../apidocs/org/apache/log4j/package-use.html | 639 ++ .../log4j/pattern/BridgePatternConverter.html | 351 + .../log4j/pattern/BridgePatternParser.html | 300 + .../log4j/pattern/CachedDateFormat.html | 553 ++ .../pattern/ClassNamePatternConverter.html | 287 + .../log4j/pattern/DatePatternConverter.html | 326 + .../pattern/FileDatePatternConverter.html | 233 + .../pattern/FileLocationPatternConverter.html | 277 + .../apache/log4j/pattern/FormattingInfo.html | 362 + .../pattern/FullLocationPatternConverter.html | 277 + .../pattern/IntegerPatternConverter.html | 267 + .../log4j/pattern/LevelPatternConverter.html | 306 + .../pattern/LineLocationPatternConverter.html | 277 + .../LineSeparatorPatternConverter.html | 303 + .../pattern/LiteralPatternConverter.html | 318 + .../org/apache/log4j/pattern/LogEvent.html | 974 +++ .../log4j/pattern/LoggerPatternConverter.html | 287 + .../pattern/LoggingEventPatternConverter.html | 340 + .../pattern/MessagePatternConverter.html | 277 + .../MethodLocationPatternConverter.html | 277 + .../log4j/pattern/NDCPatternConverter.html | 277 + .../apache/log4j/pattern/NameAbbreviator.html | 311 + .../log4j/pattern/NamePatternConverter.html | 298 + .../log4j/pattern/PatternConverter.html | 331 + .../apache/log4j/pattern/PatternParser.html | 285 + .../pattern/PropertiesPatternConverter.html | 281 + .../pattern/RelativeTimePatternConverter.html | 313 + .../SequenceNumberPatternConverter.html | 277 + .../log4j/pattern/ThreadPatternConverter.html | 277 + .../ThrowableInformationPatternConverter.html | 308 + .../class-use/BridgePatternConverter.html | 12 +- .../class-use/BridgePatternParser.html | 12 +- .../pattern/class-use/CachedDateFormat.html | 12 +- .../class-use/ClassNamePatternConverter.html | 14 +- .../class-use/DatePatternConverter.html | 14 +- .../class-use/FileDatePatternConverter.html | 12 +- .../FileLocationPatternConverter.html | 14 +- .../pattern/class-use/FormattingInfo.html | 12 +- .../FullLocationPatternConverter.html | 14 +- .../class-use/IntegerPatternConverter.html | 14 +- .../class-use/LevelPatternConverter.html | 14 +- .../LineLocationPatternConverter.html | 14 +- .../LineSeparatorPatternConverter.html | 14 +- .../class-use/LiteralPatternConverter.html | 12 +- .../log4j/pattern/class-use/LogEvent.html | 12 +- .../class-use/LoggerPatternConverter.html | 14 +- .../LoggingEventPatternConverter.html | 15 +- .../class-use/MessagePatternConverter.html | 14 +- .../MethodLocationPatternConverter.html | 14 +- .../class-use/NDCPatternConverter.html | 14 +- .../pattern/class-use/NameAbbreviator.html | 14 +- .../class-use/NamePatternConverter.html | 12 +- .../pattern/class-use/PatternConverter.html | 355 + .../pattern/class-use/PatternParser.html | 12 +- .../class-use/PropertiesPatternConverter.html | 14 +- .../RelativeTimePatternConverter.html | 14 +- .../SequenceNumberPatternConverter.html | 14 +- .../class-use/ThreadPatternConverter.html | 14 +- .../ThrowableInformationPatternConverter.html | 14 +- .../apache/log4j/pattern/package-frame.html | 8 +- .../apache/log4j/pattern/package-summary.html | 304 + .../apache/log4j/pattern/package-tree.html | 170 + .../org/apache/log4j/pattern/package-use.html | 305 + .../apache/log4j/spi/AppenderAttachable.html | 354 + .../org/apache/log4j/spi/Configurator.html | 288 + .../log4j/spi/DefaultRepositorySelector.html | 265 + .../org/apache/log4j/spi/ErrorCode.html | 323 + .../org/apache/log4j/spi/ErrorHandler.html | 394 + .../apidocs/org/apache/log4j/spi/Filter.html | 485 ++ .../log4j/spi/HierarchyEventListener.html | 243 + .../org/apache/log4j/spi/LocationInfo.html | 480 ++ .../org/apache/log4j/spi/LoggerFactory.html | 220 + .../apache/log4j/spi/LoggerRepository.html | 517 ++ .../org/apache/log4j/spi/LoggingEvent.html | 1034 +++ .../org/apache/log4j/spi/NOPLogger.html | 1395 ++++ .../apache/log4j/spi/NOPLoggerRepository.html | 618 ++ .../org/apache/log4j/spi/OptionHandler.html | 234 + .../org/apache/log4j/spi/RendererSupport.html | 231 + .../apache/log4j/spi/RepositorySelector.html | 233 + .../org/apache/log4j/spi/RootCategory.html | 350 + .../org/apache/log4j/spi/RootLogger.html | 343 + .../log4j/spi/ThrowableInformation.html | 338 + .../apache/log4j/spi/ThrowableRenderer.html | 223 + .../log4j/spi/ThrowableRendererSupport.html | 243 + .../log4j/spi/TriggeringEventEvaluator.html | 225 + .../spi/class-use/AppenderAttachable.html | 274 + .../log4j/spi/class-use/Configurator.html | 269 + .../class-use/DefaultRepositorySelector.html | 145 + .../apache/log4j/spi/class-use/ErrorCode.html | 145 + .../log4j/spi/class-use/ErrorHandler.html | 362 + .../apache/log4j/spi/class-use/Filter.html | 362 + .../spi/class-use/HierarchyEventListener.html | 248 + .../log4j/spi/class-use/LocationInfo.html | 273 + .../log4j/spi/class-use/LoggerFactory.html | 288 + .../log4j/spi/class-use/LoggerRepository.html | 568 ++ .../log4j/spi/class-use/LoggingEvent.html | 976 +++ .../apache/log4j/spi/class-use/NOPLogger.html | 145 + .../spi/class-use/NOPLoggerRepository.html | 181 + .../log4j/spi/class-use/OptionHandler.html | 646 ++ .../log4j/spi/class-use/RendererSupport.html | 214 + .../spi/class-use/RepositorySelector.html | 213 + .../log4j/spi/class-use/RootCategory.html | 145 + .../log4j/spi/class-use/RootLogger.html | 145 + .../spi/class-use/ThrowableInformation.html | 288 + .../spi/class-use/ThrowableRenderer.html | 297 + .../class-use/ThrowableRendererSupport.html | 182 + .../class-use/TriggeringEventEvaluator.html | 227 + .../org/apache/log4j/spi/package-frame.html | 84 + .../org/apache/log4j/spi/package-summary.html | 281 + .../org/apache/log4j/spi/package-tree.html | 172 + .../org/apache/log4j/spi/package-use.html | 702 ++ .../org/apache/log4j/varia/DenyAllFilter.html | 359 + .../varia/ExternallyRolledFileAppender.html | 471 ++ .../log4j/varia/FallbackErrorHandler.html | 439 ++ .../apache/log4j/varia/LevelMatchFilter.html | 388 + .../apache/log4j/varia/LevelRangeFilter.html | 445 ++ .../org/apache/log4j/varia/NullAppender.html | 440 ++ .../varia/ReloadingPropertyConfigurator.html | 285 + .../org/apache/log4j/varia/Roller.html | 241 + .../apache/log4j/varia/StringMatchFilter.html | 484 ++ .../log4j/varia/class-use/DenyAllFilter.html | 145 + .../ExternallyRolledFileAppender.html | 145 + .../varia/class-use/FallbackErrorHandler.html | 145 + .../varia/class-use/LevelMatchFilter.html | 145 + .../varia/class-use/LevelRangeFilter.html | 145 + .../log4j/varia/class-use/NullAppender.html | 190 + .../ReloadingPropertyConfigurator.html | 145 + .../apache/log4j/varia/class-use/Roller.html | 145 + .../varia/class-use/StringMatchFilter.html | 145 + .../org/apache/log4j/varia/package-frame.html | 49 + .../apache/log4j/varia/package-summary.html | 216 + .../org/apache/log4j/varia/package-tree.html | 168 + .../org/apache/log4j/varia/package-use.html | 172 + .../org/apache/log4j/xml/DOMConfigurator.html | 1124 +++ .../apache/log4j/xml/Log4jEntityResolver.html | 271 + .../org/apache/log4j/xml/SAXErrorHandler.html | 303 + .../log4j/xml/UnrecognizedElementHandler.html | 233 + .../org/apache/log4j/xml/XMLLayout.html | 473 ++ .../log4j/xml/class-use/DOMConfigurator.html | 145 + .../xml/class-use/Log4jEntityResolver.html | 145 + .../log4j/xml/class-use/SAXErrorHandler.html | 145 + .../class-use/UnrecognizedElementHandler.html | 182 + .../apache/log4j/xml/class-use/XMLLayout.html | 145 + .../org/apache/log4j/xml/doc-files}/log4j.dtd | 0 .../apache/log4j/xml/examples/XMLSample.html | 269 + .../xml/examples/class-use/XMLSample.html | 145 + .../xml/examples/doc-files/XMLSample.java | 75 + .../log4j/xml/examples/doc-files/sample1.xml | 39 + .../log4j/xml/examples/doc-files/sample2.xml | 48 + .../log4j/xml/examples/doc-files/sample3.xml | 45 + .../log4j/xml/examples/doc-files/sample4.xml | 40 + .../log4j/xml/examples/doc-files/sample5.xml | 51 + .../log4j/xml/examples/package-frame.html | 33 + .../log4j/xml/examples/package-summary.html | 159 + .../log4j/xml/examples/package-tree.html | 154 + .../log4j/xml/examples/package-use.html | 145 + .../org/apache/log4j/xml/package-frame.html | 50 + .../org/apache/log4j/xml/package-summary.html | 212 + .../org/apache/log4j/xml/package-tree.html | 165 + .../org/apache/log4j/xml/package-use.html | 173 + .../site/apidocs/overview-frame.html | 83 + .../site/apidocs/overview-summary.html | 242 + .../site/apidocs/overview-tree.html | 325 + .../site/apidocs/package-list | 21 + .../apache-log4j-1.2.16/site/apidocs/packages | 21 + .../site/apidocs/resources/inherit.gif | Bin .../site/apidocs/serialized-form.html | 1708 +++++ .../site/apidocs/stylesheet.css | 0 .../site/changes-report.html | 3715 +++++++++ .../site/css/maven-base.css | 7 +- .../site/css/maven-theme.css | 0 .../site/css/print.css | 0 .../apache-log4j-1.2.16/site/css/site.css | 17 + .../site/dependencies.html | 491 ++ .../apache-log4j-1.2.16/site/download.html | 255 + thirdparty/apache-log4j-1.2.16/site/faq.html | 1117 +++ .../site/images/add.gif | Bin .../apache-log4j-1.2.16/site/images/close.gif | Bin 0 -> 279 bytes .../site/images/collapsed.gif | Bin .../site/images/expanded.gif | Bin .../site/images/external.png | Bin .../site/images/fix.gif | Bin .../site/images/icon_error_sml.gif | Bin .../site/images/icon_help_sml.gif | Bin .../site/images/icon_info_sml.gif | Bin .../site/images/icon_success_sml.gif | Bin .../site/images/icon_warning_sml.gif | Bin .../site/images/logo.jpg | Bin .../images/logos/build-by-maven-black.png | Bin 0 -> 2294 bytes .../images/logos/build-by-maven-white.png | Bin 0 -> 2260 bytes .../site/images/logos/maven-feather.png | Bin 0 -> 3330 bytes .../site/images/ls-logo.jpg | Bin .../site/images/newwindow.png | Bin .../apache-log4j-1.2.16/site/images/od.gif | Bin 0 -> 5741 bytes .../site/images/remove.gif | Bin .../site/images/rss.png | Bin .../site/images/update.gif | Bin .../apache-log4j-1.2.16/site/index.html | 232 + .../apache-log4j-1.2.16/site/integration.html | 234 + .../site/issue-tracking.html | 231 + .../site/license.html | 163 +- .../apache-log4j-1.2.16/site/mail-lists.html | 263 + .../apache-log4j-1.2.16/site/manual.html | 1274 +++ .../site/project-info.html | 251 + .../site/project-reports.html | 242 + .../site/publications.html | 251 + .../apache-log4j-1.2.16/site/roadmap.html | 227 + .../site/source-repository.html | 259 + .../site/xref-test/allclasses-frame.html | 401 + .../site/xref-test/index.html | 24 + .../apache/log4j/AsyncAppenderTestCase.html | 353 + .../org/apache/log4j/CategoryTest.html | 125 + .../org/apache/log4j/CoreTestSuite.html | 79 + .../org/apache/log4j/DRFATestCase.html | 526 ++ .../log4j/DefaultThrowableRendererTest.html | 51 + .../apache/log4j/EnhancedMyPatternLayout.html | 67 + .../log4j/EnhancedPatternLayoutTest.html | 157 + .../log4j/EnhancedPatternLayoutTestCase.html | 603 ++ .../log4j/EnhancedThrowableRendererTest.html | 62 + .../org/apache/log4j/FileAppenderTest.html | 100 + .../org/apache/log4j/HTMLLayoutTest.html | 256 + .../log4j/HierarchyThresholdTestCase.html | 139 + .../site/xref-test/org/apache/log4j/Last.html | 54 + .../org/apache/log4j/LayoutTest.html | 182 + .../xref-test/org/apache/log4j/LevelTest.html | 281 + .../org/apache/log4j/LogCapture.html | 96 + .../org/apache/log4j/LogManagerTest.html | 89 + .../org/apache/log4j/LoggerTestCase.html | 513 ++ .../org/apache/log4j/MDCOrderFilter.html | 77 + .../org/apache/log4j/MinimumTestCase.html | 219 + .../org/apache/log4j/MyPatternLayout.html | 76 + .../org/apache/log4j/MyPatternParser.html | 86 + .../org/apache/log4j/PatternLayoutTest.html | 156 + .../apache/log4j/PatternLayoutTestCase.html | 354 + .../org/apache/log4j/PriorityTest.html | 226 + .../log4j/PropertyConfiguratorTest.html | 358 + .../org/apache/log4j/RFATestCase.html | 251 + .../org/apache/log4j/StressCategory.html | 266 + .../org/apache/log4j/TTCCLayoutTest.html | 126 + .../xref-test/org/apache/log4j/TestLogMF.html | 1305 ++++ .../xref-test/org/apache/log4j/TestLogSF.html | 1205 +++ .../xref-test/org/apache/log4j/TestLogXF.html | 218 + .../org/apache/log4j/VectorAppender.html | 89 + .../org/apache/log4j/VectorErrorHandler.html | 196 + .../apache/log4j/customLogger/XLogger.html | 165 + .../log4j/customLogger/XLoggerTestCase.html | 91 + .../log4j/customLogger}/package-frame.html | 55 +- .../log4j/customLogger/package-summary.html | 77 + .../apache/log4j/defaultInit/TestCase1.html | 66 + .../apache/log4j/defaultInit/TestCase2.html | 71 + .../apache/log4j/defaultInit/TestCase3.html | 71 + .../apache/log4j/defaultInit/TestCase4.html | 72 + .../log4j/defaultInit/package-frame.html | 33 + .../log4j/defaultInit/package-summary.html | 82 + .../log4j/helpers/BoundedFIFOTestCase.html | 264 + .../log4j/helpers/CyclicBufferTestCase.html | 181 + .../apache/log4j/helpers/DateLayoutTest.html | 299 + .../org/apache/log4j/helpers/LogLogTest.html | 65 + .../helpers/OptionConverterTestCase.html | 185 + .../log4j/helpers/PatternParserTestCase.html | 150 + .../apache/log4j/helpers/package-frame.html | 42 + .../apache/log4j/helpers/package-summary.html | 97 + .../apache/log4j/net/SMTPAppenderTest.html | 76 + .../apache/log4j/net/ShortSocketServer.html | 99 + .../apache/log4j/net/SocketAppenderTest.html | 107 + .../log4j/net/SocketServerTestCase.html | 422 + .../apache/log4j/net/SyslogAppenderTest.html | 608 ++ .../apache/log4j/net/TelnetAppenderTest.html | 91 + .../org/apache/log4j/net/package-frame.html | 51 + .../org/apache/log4j/net/package-summary.html | 112 + .../log4j/nt/NTEventLogAppenderTest.html | 69 + .../org/apache/log4j/nt/package-frame.html | 24 + .../org/apache/log4j/nt}/package-summary.html | 137 +- .../org/apache/log4j/or/ORTestCase.html | 259 + .../org/apache/log4j/or/package-frame.html | 39 + .../org/apache/log4j/or/package-summary.html | 92 + .../org/apache/log4j/package-frame.html | 177 + .../org/apache/log4j/package-summary.html | 322 + .../log4j/pattern/CachedDateFormatTest.html | 407 + .../log4j/pattern/FormattingInfoTest.html | 107 + .../log4j/pattern/NameAbbreviatorTest.html | 350 + .../log4j/pattern/Num343PatternConverter.html | 52 + .../log4j/pattern/PatternParserTest.html | 185 + .../apache/log4j/pattern/package-frame.html | 36 + .../apache/log4j/pattern/package-summary.html | 87 + .../apache/log4j/spi/LocationInfoTest.html | 99 + .../apache/log4j/spi/LoggingEventTest.html | 285 + .../log4j/spi/ThrowableInformationTest.html | 357 + .../org/apache/log4j/spi/package-frame.html | 57 + .../org/apache/log4j/spi/package-summary.html | 122 + .../log4j/util/AbsoluteDateAndTimeFilter.html | 51 + .../apache/log4j/util/AbsoluteTimeFilter.html | 51 + .../org/apache/log4j/util/Compare.html | 74 + .../org/apache/log4j/util/ControlFilter.html | 59 + .../util/EnhancedJunitTestRunnerFilter.html | 80 + .../log4j/util/EnhancedLineNumberFilter.html | 56 + .../org/apache/log4j/util/Filter.html | 52 + .../org/apache/log4j/util/ISO8601Filter.html | 50 + .../log4j/util/JunitTestRunnerFilter.html | 76 + .../apache/log4j/util/LineNumberFilter.html | 51 + .../apache/log4j/util/RelativeTimeFilter.html | 51 + .../log4j/util/SerializationTestHelper.html | 164 + .../apache/log4j/util/SunReflectFilter.html | 64 + .../org/apache/log4j/util/Transformer.html | 81 + .../log4j/util/UnexpectedFormatException.html | 40 + .../log4j/util/XMLLineAttributeFilter.html | 50 + .../apache/log4j/util/XMLTimestampFilter.html | 48 + .../org/apache/log4j/util/package-frame.html | 75 + .../apache/log4j/util/package-summary.html | 152 + .../org/apache/log4j/varia/ERFATestCase.html | 155 + .../log4j/varia/ErrorHandlerTestCase.html | 146 + .../log4j/varia/LevelMatchFilterTestCase.html | 161 + .../org/apache/log4j/varia/package-frame.html | 30 + .../apache/log4j/varia/package-summary.html | 77 + .../apache/log4j/xml/CustomLevelTestCase.html | 103 + .../org/apache/log4j/xml/DOMTestCase.html | 433 ++ .../org/apache/log4j/xml/XLevel.html | 104 + .../org/apache/log4j/xml/XMLLayoutTest.html | 515 ++ .../apache/log4j/xml/XMLLayoutTestCase.html | 262 + .../org/apache/log4j/xml/package-frame.html | 54 + .../org/apache/log4j/xml/package-summary.html | 117 + .../site/xref-test/overview-frame.html | 58 + .../site/xref-test/overview-summary.html | 119 + .../site/xref-test/stylesheet.css | 116 + .../site/xref/allclasses-frame.html | 731 ++ .../apache-log4j-1.2.16/site/xref/index.html | 24 + .../site/xref/org/apache/log4j/Appender.html | 156 + .../org/apache/log4j/AppenderSkeleton.html | 318 + .../xref/org/apache/log4j/AsyncAppender.html | 610 ++ .../org/apache/log4j/BasicConfigurator.html | 87 + .../site/xref/org/apache/log4j/Category.html | 1076 +++ .../xref/org/apache/log4j/CategoryKey.html | 66 + .../org/apache/log4j/ConsoleAppender.html | 234 + .../log4j/DailyRollingFileAppender.html | 468 ++ .../apache/log4j/DefaultCategoryFactory.html | 45 + .../log4j/DefaultThrowableRenderer.html | 97 + .../xref/org/apache/log4j/Dispatcher.html | 139 + .../apache/log4j/EnhancedPatternLayout.html | 573 ++ .../log4j/EnhancedThrowableRenderer.html | 182 + .../xref/org/apache/log4j/FileAppender.html | 362 + .../xref/org/apache/log4j/HTMLLayout.html | 281 + .../site/xref/org/apache/log4j/Hierarchy.html | 591 ++ .../site/xref/org/apache/log4j/Layout.html | 103 + .../site/xref/org/apache/log4j/Level.html | 238 + .../site/xref/org/apache/log4j/LogMF.html | 1691 ++++ .../xref/org/apache/log4j/LogManager.html | 290 + .../site/xref/org/apache/log4j/LogSF.html | 1555 ++++ .../site/xref/org/apache/log4j/LogXF.html | 385 + .../site/xref/org/apache/log4j/Logger.html | 226 + .../site/xref/org/apache/log4j/MDC.html | 201 + .../site/xref/org/apache/log4j/NDC.html | 450 ++ .../xref/org/apache/log4j/PatternLayout.html | 525 ++ .../site/xref/org/apache/log4j/Priority.html | 207 + .../apache/log4j/PropertyConfigurator.html | 977 +++ .../xref/org/apache/log4j/ProvisionNode.html | 43 + .../org/apache/log4j/RollingFileAppender.html | 298 + .../xref/org/apache/log4j/SimpleLayout.html | 92 + .../xref/org/apache/log4j/TTCCLayout.html | 231 + .../xref/org/apache/log4j/WriterAppender.html | 401 + .../apache/log4j/chainsaw/ControlPanel.html | 236 + .../apache/log4j/chainsaw/DetailPanel.html | 184 + .../apache/log4j/chainsaw/EventDetails.html | 149 + .../org/apache/log4j/chainsaw/ExitAction.html | 62 + .../apache/log4j/chainsaw/LoadXMLAction.html | 153 + .../log4j/chainsaw/LoggingReceiver.html | 135 + .../xref/org/apache/log4j/chainsaw/Main.html | 206 + .../apache/log4j/chainsaw/MyTableModel.html | 404 + .../apache/log4j/chainsaw/XMLFileHandler.html | 184 + .../apache/log4j/chainsaw/package-frame.html | 54 + .../log4j/chainsaw/package-summary.html | 117 + .../apache/log4j/config/PropertyGetter.html | 122 + .../apache/log4j/config/PropertyPrinter.html | 182 + .../apache/log4j/config/PropertySetter.html | 324 + .../log4j/config/PropertySetterException.html | 68 + .../apache/log4j/config/package-frame.html | 36 + .../apache/log4j/config/package-summary.html | 87 + .../log4j/helpers/AbsoluteTimeDateFormat.html | 159 + .../log4j/helpers/AppenderAttachableImpl.html | 190 + .../org/apache/log4j/helpers/BoundedFIFO.html | 195 + .../log4j/helpers/CountingQuietWriter.html | 77 + .../apache/log4j/helpers/CyclicBuffer.html | 173 + .../org/apache/log4j/helpers/DateLayout.html | 214 + .../log4j/helpers/DateTimeDateFormat.html | 99 + .../apache/log4j/helpers/FileWatchdog.html | 125 + .../apache/log4j/helpers/FormattingInfo.html | 59 + .../log4j/helpers/ISO8601DateFormat.html | 169 + .../xref/org/apache/log4j/helpers/Loader.html | 214 + .../xref/org/apache/log4j/helpers/LogLog.html | 203 + .../log4j/helpers/MDCKeySetExtractor.html | 106 + .../apache/log4j/helpers/NullEnumeration.html | 64 + .../log4j/helpers/OnlyOnceErrorHandler.html | 128 + .../apache/log4j/helpers/OptionConverter.html | 499 ++ .../log4j/helpers/PatternConverter.html | 125 + .../apache/log4j/helpers/PatternParser.html | 584 ++ .../org/apache/log4j/helpers/QuietWriter.html | 90 + .../log4j/helpers/RelativeTimeDateFormat.html | 79 + .../log4j/helpers/SyslogQuietWriter.html | 70 + .../apache/log4j/helpers/SyslogWriter.html | 159 + .../apache/log4j/helpers/ThreadLocalMap.html | 56 + .../org/apache/log4j/helpers/Transform.html | 127 + .../apache/log4j/helpers/package-frame.html | 117 + .../apache/log4j/helpers/package-summary.html | 222 + .../org/apache/log4j/jdbc/JDBCAppender.html | 412 + .../org/apache/log4j/jdbc}/package-frame.html | 46 +- .../apache/log4j/jdbc}/package-summary.html | 132 +- .../log4j/jmx/AbstractDynamicMBean.html | 201 + .../site/xref/org/apache/log4j/jmx/Agent.html | 145 + .../log4j/jmx/AppenderDynamicMBean.html | 360 + .../log4j/jmx/HierarchyDynamicMBean.html | 316 + .../apache/log4j/jmx/LayoutDynamicMBean.html | 288 + .../apache/log4j/jmx/LoggerDynamicMBean.html | 296 + .../org/apache/log4j/jmx/MethodUnion.html | 46 + .../org/apache/log4j/jmx/package-frame.html | 42 + .../org/apache/log4j/jmx/package-summary.html | 97 + .../apache/log4j/lf5/AppenderFinalizer.html | 92 + .../log4j/lf5/DefaultLF5Configurator.html | 127 + .../org/apache/log4j/lf5/LF5Appender.html | 280 + .../org/apache/log4j/lf5/Log4JLogRecord.html | 130 + .../xref/org/apache/log4j/lf5/LogLevel.html | 292 + .../log4j/lf5/LogLevelFormatException.html | 87 + .../xref/org/apache/log4j/lf5/LogRecord.html | 409 + .../org/apache/log4j/lf5/LogRecordFilter.html | 60 + .../log4j/lf5/PassingLogRecordFilter.html | 88 + .../org/apache/log4j/lf5/StartLogFactor5.html | 95 + .../org/apache/log4j/lf5/package-frame.html | 51 + .../org/apache/log4j/lf5/package-summary.html | 112 + .../log4j/lf5/util/AdapterLogRecord.html | 128 + .../log4j/lf5/util/DateFormatManager.html | 257 + .../apache/log4j/lf5/util/LogFileParser.html | 315 + .../log4j/lf5/util/LogMonitorAdapter.html | 303 + .../org/apache/log4j/lf5/util/Resource.html | 170 + .../apache/log4j/lf5/util/ResourceUtils.html | 147 + .../apache/log4j/lf5/util/StreamUtils.html | 138 + .../apache/log4j/lf5/util/package-frame.html | 42 + .../log4j/lf5/util/package-summary.html | 97 + .../lf5/viewer/FilteredLogTableModel.html | 277 + .../log4j/lf5/viewer/LF5SwingUtils.html | 167 + .../log4j/lf5/viewer/LogBrokerMonitor.html | 1626 ++++ .../log4j/lf5/viewer/LogFactor5Dialog.html | 165 + .../lf5/viewer/LogFactor5ErrorDialog.html | 106 + .../lf5/viewer/LogFactor5InputDialog.html | 159 + .../lf5/viewer/LogFactor5LoadingDialog.html | 96 + .../org/apache/log4j/lf5/viewer/LogTable.html | 291 + .../log4j/lf5/viewer/LogTableColumn.html | 180 + .../viewer/LogTableColumnFormatException.html | 88 + .../log4j/lf5/viewer/LogTableModel.html | 91 + .../log4j/lf5/viewer/LogTableRowRenderer.html | 123 + .../viewer/TrackingAdjustmentListener.html | 100 + .../CategoryAbstractCellEditor.html | 186 + .../categoryexplorer/CategoryElement.html | 98 + .../CategoryExplorerLogRecordFilter.html | 112 + .../CategoryExplorerModel.html | 361 + .../CategoryExplorerTree.html | 171 + .../CategoryImmediateEditor.html | 162 + .../viewer/categoryexplorer/CategoryNode.html | 211 + .../categoryexplorer/CategoryNodeEditor.html | 305 + .../CategoryNodeEditorRenderer.html | 98 + .../CategoryNodeRenderer.html | 165 + .../viewer/categoryexplorer/CategoryPath.html | 171 + .../categoryexplorer/TreeModelAdapter.html | 89 + .../categoryexplorer/package-frame.html | 57 + .../categoryexplorer/package-summary.html | 122 + .../configure/ConfigurationManager.html | 480 ++ .../lf5/viewer/configure/MRUFileManager.html | 307 + .../lf5/viewer/configure/package-frame.html | 27 + .../lf5/viewer/configure/package-summary.html | 72 + .../log4j/lf5/viewer/package-frame.html | 66 + .../log4j/lf5/viewer/package-summary.html | 137 + .../org/apache/log4j/net/JMSAppender.html | 458 ++ .../xref/org/apache/log4j/net/JMSSink.html | 167 + .../org/apache/log4j/net/SMTPAppender.html | 801 ++ .../apache/log4j/net/SimpleSocketServer.html | 111 + .../org/apache/log4j/net/SocketAppender.html | 488 ++ .../apache/log4j/net/SocketHubAppender.html | 521 ++ .../xref/org/apache/log4j/net/SocketNode.html | 138 + .../org/apache/log4j/net/SocketServer.html | 226 + .../org/apache/log4j/net/SyslogAppender.html | 550 ++ .../org/apache/log4j/net/TelnetAppender.html | 250 + .../org/apache/log4j/net/ZeroConfSupport.html | 220 + .../org/apache/log4j/net/package-frame.html | 66 + .../org/apache/log4j/net/package-summary.html | 137 + .../apache/log4j/nt/NTEventLogAppender.html | 196 + .../org/apache/log4j/nt/package-frame.html | 24 + .../org/apache/log4j/nt/package-summary.html | 67 + .../org/apache/log4j/or/DefaultRenderer.html | 56 + .../org/apache/log4j/or/ObjectRenderer.html | 46 + .../xref/org/apache/log4j/or/RendererMap.html | 212 + .../apache/log4j/or/ThreadGroupRenderer.html | 95 + .../apache/log4j/or/jms/MessageRenderer.html | 114 + .../apache/log4j/or/jms/package-frame.html | 24 + .../apache/log4j/or/jms/package-summary.html | 67 + .../org/apache/log4j/or/package-frame.html | 33 + .../org/apache/log4j/or/package-summary.html | 82 + .../log4j/or/sax/AttributesRenderer.html | 80 + .../apache/log4j/or/sax/package-frame.html | 24 + .../apache/log4j/or/sax/package-summary.html | 67 + .../xref/org/apache/log4j/package-frame.html | 144 + .../org/apache/log4j/package-summary.html | 267 + .../log4j/pattern/BridgePatternConverter.html | 146 + .../log4j/pattern/BridgePatternParser.html | 62 + .../log4j/pattern/CachedDateFormat.html | 386 + .../pattern/ClassNamePatternConverter.html | 80 + .../log4j/pattern/DatePatternConverter.html | 219 + .../pattern/FileDatePatternConverter.html | 64 + .../pattern/FileLocationPatternConverter.html | 78 + .../apache/log4j/pattern/FormattingInfo.html | 148 + .../pattern/FullLocationPatternConverter.html | 78 + .../pattern/IntegerPatternConverter.html | 78 + .../log4j/pattern/LevelPatternConverter.html | 112 + .../pattern/LineLocationPatternConverter.html | 78 + .../LineSeparatorPatternConverter.html | 87 + .../pattern/LiteralPatternConverter.html | 71 + .../org/apache/log4j/pattern/LogEvent.html | 614 ++ .../log4j/pattern/LoggerPatternConverter.html | 80 + .../pattern/LoggingEventPatternConverter.html | 84 + .../pattern/MessagePatternConverter.html | 72 + .../MethodLocationPatternConverter.html | 78 + .../log4j/pattern/NDCPatternConverter.html | 72 + .../apache/log4j/pattern/NameAbbreviator.html | 364 + .../log4j/pattern/NamePatternConverter.html | 75 + .../log4j/pattern/PatternConverter.html | 101 + .../apache/log4j/pattern/PatternParser.html | 697 ++ .../pattern/PropertiesPatternConverter.html | 118 + .../pattern/RelativeTimePatternConverter.html | 120 + .../SequenceNumberPatternConverter.html | 73 + .../log4j/pattern/ThreadPatternConverter.html | 72 + .../ThrowableInformationPatternConverter.html | 122 + .../apache/log4j/pattern/package-frame.html | 132 + .../apache/log4j/pattern/package-summary.html | 247 + .../apache/log4j/spi/AppenderAttachable.html | 89 + .../org/apache/log4j/spi/Configurator.html | 68 + .../log4j/spi/DefaultRepositorySelector.html | 51 + .../xref/org/apache/log4j/spi/ErrorCode.html | 50 + .../org/apache/log4j/spi/ErrorHandler.html | 106 + .../xref/org/apache/log4j/spi/Filter.html | 138 + .../log4j/spi/HierarchyEventListener.html | 59 + .../org/apache/log4j/spi/LocationInfo.html | 405 + .../org/apache/log4j/spi/LoggerFactory.html | 52 + .../apache/log4j/spi/LoggerRepository.html | 124 + .../org/apache/log4j/spi/LoggingEvent.html | 653 ++ .../xref/org/apache/log4j/spi/NOPLogger.html | 226 + .../apache/log4j/spi/NOPLoggerRepository.html | 145 + .../xref/org/apache/log4j/spi/NullWriter.html | 53 + .../org/apache/log4j/spi/OptionHandler.html | 76 + .../org/apache/log4j/spi/RendererSupport.html | 47 + .../apache/log4j/spi/RepositorySelector.html | 63 + .../org/apache/log4j/spi/RootCategory.html | 90 + .../xref/org/apache/log4j/spi/RootLogger.html | 85 + .../log4j/spi/ThrowableInformation.html | 110 + .../apache/log4j/spi/ThrowableRenderer.html | 47 + .../log4j/spi/ThrowableRendererSupport.html | 51 + .../log4j/spi/TriggeringEventEvaluator.html | 54 + .../org/apache/log4j/spi/VectorWriter.html | 108 + .../org/apache/log4j/spi/package-frame.html | 93 + .../org/apache/log4j/spi/package-summary.html | 182 + .../org/apache/log4j/varia/DenyAllFilter.html | 86 + .../varia/ExternallyRolledFileAppender.html | 203 + .../log4j/varia/FallbackErrorHandler.html | 152 + .../apache/log4j/varia/LevelMatchFilter.html | 118 + .../apache/log4j/varia/LevelRangeFilter.html | 158 + .../org/apache/log4j/varia/NullAppender.html | 93 + .../varia/ReloadingPropertyConfigurator.html | 52 + .../xref/org/apache/log4j/varia/Roller.html | 125 + .../apache/log4j/varia/StringMatchFilter.html | 135 + .../org/apache/log4j/varia/package-frame.html | 54 + .../apache/log4j/varia/package-summary.html | 117 + .../org/apache/log4j/xml/DOMConfigurator.html | 1137 +++ .../apache/log4j/xml/Log4jEntityResolver.html | 65 + .../org/apache/log4j/xml/SAXErrorHandler.html | 60 + .../log4j/xml/UnrecognizedElementHandler.html | 56 + .../xref/org/apache/log4j/xml/XMLLayout.html | 230 + .../org/apache/log4j/xml/package-frame.html | 42 + .../org/apache/log4j/xml/package-summary.html | 97 + .../site/xref/overview-frame.html | 82 + .../site/xref/overview-summary.html | 159 + .../site/xref/stylesheet.css | 116 + .../apache-log4j-1.2.16/src/assembly/bin.xml | 68 + .../src/changes/changes.xml | 1861 +++++ .../main/java/org/apache/log4j/Appender.java | 142 + .../org/apache/log4j/AppenderSkeleton.java | 304 + .../java/org/apache/log4j/AsyncAppender.java | 596 ++ .../org/apache/log4j/BasicConfigurator.java | 73 + .../main/java/org/apache/log4j/Category.java | 1062 +++ .../java/org/apache/log4j/CategoryKey.java | 52 + .../org/apache/log4j/ConsoleAppender.java | 220 + .../log4j/DailyRollingFileAppender.java | 454 ++ .../apache/log4j/DefaultCategoryFactory.java | 31 + .../log4j/DefaultThrowableRenderer.java | 83 + .../java/org/apache/log4j/Dispatcher.java | 125 + .../apache/log4j/EnhancedPatternLayout.java | 59 +- .../log4j/EnhancedThrowableRenderer.java | 168 + .../java/org/apache/log4j/FileAppender.java | 348 + .../java/org/apache/log4j/HTMLLayout.java | 267 + .../main/java/org/apache/log4j/Hierarchy.java | 577 ++ .../main/java/org/apache/log4j/Layout.java | 89 + .../src/main/java/org/apache/log4j/Level.java | 224 + .../src/main/java/org/apache/log4j/LogMF.java | 362 +- .../java/org/apache/log4j/LogManager.java | 276 + .../src/main/java/org/apache/log4j/LogSF.java | 210 +- .../src/main/java/org/apache/log4j/LogXF.java | 371 + .../main/java/org/apache/log4j/Logger.java | 212 + .../src/main/java/org/apache/log4j/MDC.java | 187 + .../src/main/java/org/apache/log4j/NDC.java | 436 ++ .../java/org/apache/log4j/PatternLayout.java | 511 ++ .../main/java/org/apache/log4j/Priority.java | 193 + .../apache/log4j/PropertyConfigurator.java | 963 +++ .../java/org/apache/log4j/ProvisionNode.java | 29 + .../org/apache/log4j/RollingFileAppender.java | 284 + .../java/org/apache/log4j/SimpleLayout.java | 78 + .../java/org/apache/log4j/TTCCLayout.java | 217 + .../java/org/apache/log4j/WriterAppender.java | 387 + .../apache/log4j/chainsaw/ControlPanel.java | 222 + .../apache/log4j/chainsaw/DetailPanel.java | 170 + .../apache/log4j/chainsaw/EventDetails.java | 135 + .../org/apache/log4j/chainsaw/ExitAction.java | 48 + .../apache/log4j/chainsaw/LoadXMLAction.java | 139 + .../log4j/chainsaw/LoggingReceiver.java | 121 + .../java/org/apache/log4j/chainsaw/Main.java | 192 + .../apache/log4j/chainsaw/MyTableModel.java | 390 + .../apache/log4j/chainsaw/XMLFileHandler.java | 170 + .../log4j/chainsaw/doc-files/screen_01.png | Bin 0 -> 23150 bytes .../org/apache/log4j/chainsaw/package.html | 118 + .../apache/log4j/config/PropertyGetter.java | 108 + .../apache/log4j/config/PropertyPrinter.java | 168 + .../apache/log4j/config/PropertySetter.java | 310 + .../log4j/config/PropertySetterException.java | 54 + .../java/org/apache/log4j/config/package.html | 23 + .../log4j/helpers/AbsoluteTimeDateFormat.java | 145 + .../log4j/helpers/AppenderAttachableImpl.java | 176 + .../org/apache/log4j/helpers/BoundedFIFO.java | 181 + .../log4j/helpers/CountingQuietWriter.java | 63 + .../apache/log4j/helpers/CyclicBuffer.java | 159 + .../org/apache/log4j/helpers/DateLayout.java | 200 + .../log4j/helpers/DateTimeDateFormat.java | 85 + .../apache/log4j/helpers/FileWatchdog.java | 111 + .../apache/log4j/helpers/FormattingInfo.java | 45 + .../log4j/helpers/ISO8601DateFormat.java | 155 + .../java/org/apache/log4j/helpers/Loader.java | 200 + .../java/org/apache/log4j/helpers/LogLog.java | 189 + .../log4j/helpers/MDCKeySetExtractor.java | 1 - .../apache/log4j/helpers/NullEnumeration.java | 50 + .../log4j/helpers/OnlyOnceErrorHandler.java | 114 + .../apache/log4j/helpers/OptionConverter.java | 485 ++ .../log4j/helpers/PatternConverter.java | 111 + .../apache/log4j/helpers/PatternParser.java | 570 ++ .../org/apache/log4j/helpers/QuietWriter.java | 76 + .../log4j/helpers/RelativeTimeDateFormat.java | 65 + .../log4j/helpers/SyslogQuietWriter.java | 56 + .../apache/log4j/helpers/SyslogWriter.java | 145 + .../apache/log4j/helpers/ThreadLocalMap.java | 42 + .../org/apache/log4j/helpers/Transform.java | 113 + .../org/apache/log4j/helpers/package.html | 33 + .../org/apache/log4j/jdbc/JDBCAppender.java | 398 + .../java/org/apache/log4j/jdbc/package.html | 23 + .../log4j/jmx/AbstractDynamicMBean.java | 187 + .../main/java/org/apache/log4j/jmx/Agent.java | 131 + .../log4j/jmx/AppenderDynamicMBean.java | 346 + .../log4j/jmx/HierarchyDynamicMBean.java | 302 + .../apache/log4j/jmx/LayoutDynamicMBean.java | 274 + .../apache/log4j/jmx/LoggerDynamicMBean.java | 282 + .../org/apache/log4j/jmx/MethodUnion.java | 32 + .../java/org/apache/log4j/jmx/package.html | 24 + .../apache/log4j/lf5/AppenderFinalizer.java | 78 + .../log4j/lf5/DefaultLF5Configurator.java | 113 + .../org/apache/log4j/lf5/LF5Appender.java | 266 + .../org/apache/log4j/lf5/Log4JLogRecord.java | 116 + .../java/org/apache/log4j/lf5/LogLevel.java | 278 + .../log4j/lf5/LogLevelFormatException.java | 73 + .../java/org/apache/log4j/lf5/LogRecord.java | 395 + .../org/apache/log4j/lf5/LogRecordFilter.java | 46 + .../log4j/lf5/PassingLogRecordFilter.java | 74 + .../org/apache/log4j/lf5/StartLogFactor5.java | 81 + .../log4j/lf5/util/AdapterLogRecord.java | 114 + .../log4j/lf5/util/DateFormatManager.java | 243 + .../apache/log4j/lf5/util/LogFileParser.java | 301 + .../log4j/lf5/util/LogMonitorAdapter.java | 289 + .../org/apache/log4j/lf5/util/Resource.java | 156 + .../apache/log4j/lf5/util/ResourceUtils.java | 133 + .../apache/log4j/lf5/util/StreamUtils.java | 124 + .../lf5/viewer/FilteredLogTableModel.java | 263 + .../log4j/lf5/viewer/LF5SwingUtils.java | 153 + .../log4j/lf5/viewer/LogBrokerMonitor.java | 1612 ++++ .../log4j/lf5/viewer/LogFactor5Dialog.java | 151 + .../lf5/viewer/LogFactor5ErrorDialog.java | 92 + .../lf5/viewer/LogFactor5InputDialog.java | 145 + .../lf5/viewer/LogFactor5LoadingDialog.java | 82 + .../org/apache/log4j/lf5/viewer/LogTable.java | 277 + .../log4j/lf5/viewer/LogTableColumn.java | 166 + .../viewer/LogTableColumnFormatException.java | 74 + .../log4j/lf5/viewer/LogTableModel.java | 77 + .../log4j/lf5/viewer/LogTableRowRenderer.java | 109 + .../viewer/TrackingAdjustmentListener.java | 86 + .../CategoryAbstractCellEditor.java | 172 + .../categoryexplorer/CategoryElement.java | 84 + .../CategoryExplorerLogRecordFilter.java | 98 + .../CategoryExplorerModel.java | 347 + .../CategoryExplorerTree.java | 157 + .../CategoryImmediateEditor.java | 148 + .../viewer/categoryexplorer/CategoryNode.java | 197 + .../categoryexplorer/CategoryNodeEditor.java | 291 + .../CategoryNodeEditorRenderer.java | 84 + .../CategoryNodeRenderer.java | 151 + .../viewer/categoryexplorer/CategoryPath.java | 157 + .../categoryexplorer/TreeModelAdapter.java | 75 + .../configure/ConfigurationManager.java | 466 ++ .../lf5/viewer/configure/MRUFileManager.java | 293 + .../org/apache/log4j/net/JMSAppender.java | 444 ++ .../java/org/apache/log4j/net/JMSSink.java | 153 + .../org/apache/log4j/net/SMTPAppender.java | 787 ++ .../apache/log4j/net/SimpleSocketServer.java | 97 + .../org/apache/log4j/net/SocketAppender.java | 474 ++ .../apache/log4j/net/SocketHubAppender.java | 507 ++ .../java/org/apache/log4j/net/SocketNode.java | 124 + .../org/apache/log4j/net/SocketServer.java | 212 + .../org/apache/log4j/net/SyslogAppender.java | 536 ++ .../org/apache/log4j/net/TelnetAppender.java | 236 + .../org/apache/log4j/net/ZeroConfSupport.java | 206 + .../java/org/apache/log4j/net/package.html | 30 + .../apache/log4j/nt/NTEventLogAppender.java | 182 + .../java/org/apache/log4j/nt/package.html | 32 + .../org/apache/log4j/or/DefaultRenderer.java | 42 + .../org/apache/log4j/or/ObjectRenderer.java | 32 + .../java/org/apache/log4j/or/RendererMap.java | 198 + .../apache/log4j/or/ThreadGroupRenderer.java | 81 + .../apache/log4j/or/jms/MessageRenderer.java | 100 + .../java/org/apache/log4j/or/jms/package.html | 24 + .../java/org/apache/log4j/or/package.html | 30 + .../log4j/or/sax/AttributesRenderer.java | 66 + .../java/org/apache/log4j/or/sax/package.html | 24 + .../main/java/org/apache/log4j/package.html | 28 + .../log4j/pattern/BridgePatternConverter.java | 0 .../log4j/pattern/BridgePatternParser.java | 0 .../log4j/pattern/CachedDateFormat.java | 4 + .../pattern/ClassNamePatternConverter.java | 0 .../log4j/pattern/DatePatternConverter.java | 46 +- .../pattern/FileDatePatternConverter.java | 0 .../pattern/FileLocationPatternConverter.java | 0 .../apache/log4j/pattern/FormattingInfo.java | 0 .../pattern/FullLocationPatternConverter.java | 0 .../pattern/IntegerPatternConverter.java | 0 .../log4j/pattern/LevelPatternConverter.java | 0 .../pattern/LineLocationPatternConverter.java | 0 .../LineSeparatorPatternConverter.java | 0 .../pattern/LiteralPatternConverter.java | 0 .../org/apache/log4j/pattern/LogEvent.java | 0 .../log4j/pattern/LoggerPatternConverter.java | 0 .../pattern/LoggingEventPatternConverter.java | 0 .../pattern/MessagePatternConverter.java | 0 .../MethodLocationPatternConverter.java | 0 .../log4j/pattern/NDCPatternConverter.java | 0 .../apache/log4j/pattern/NameAbbreviator.java | 350 + .../log4j/pattern/NamePatternConverter.java | 0 .../log4j/pattern/PatternConverter.java | 0 .../apache/log4j/pattern/PatternParser.java | 0 .../pattern/PropertiesPatternConverter.java | 5 - .../pattern/RelativeTimePatternConverter.java | 0 .../SequenceNumberPatternConverter.java | 0 .../log4j/pattern/ThreadPatternConverter.java | 0 .../ThrowableInformationPatternConverter.java | 57 +- .../org/apache/log4j/pattern/package.html | 0 .../apache/log4j/spi/AppenderAttachable.java | 75 + .../org/apache/log4j/spi/Configurator.java | 54 + .../log4j/spi/DefaultRepositorySelector.java | 37 + .../java/org/apache/log4j/spi/ErrorCode.java | 36 + .../org/apache/log4j/spi/ErrorHandler.java | 92 + .../java/org/apache/log4j/spi/Filter.java | 124 + .../log4j/spi/HierarchyEventListener.java | 45 + .../org/apache/log4j/spi/LocationInfo.java | 391 + .../org/apache/log4j/spi/LoggerFactory.java | 38 + .../apache/log4j/spi/LoggerRepository.java | 110 + .../org/apache/log4j/spi/LoggingEvent.java | 639 ++ .../java/org/apache/log4j/spi/NOPLogger.java | 212 + .../apache/log4j/spi/NOPLoggerRepository.java | 131 + .../java/org/apache/log4j/spi/NullWriter.java | 39 + .../org/apache/log4j/spi/OptionHandler.java | 62 + .../org/apache/log4j/spi/RendererSupport.java | 33 + .../apache/log4j/spi/RepositorySelector.java | 49 + .../org/apache/log4j/spi/RootCategory.java | 76 + .../java/org/apache/log4j/spi/RootLogger.java | 71 + .../log4j/spi/ThrowableInformation.java | 96 + .../apache/log4j/spi/ThrowableRenderer.java | 33 + .../log4j/spi/ThrowableRendererSupport.java | 37 + .../log4j/spi/TriggeringEventEvaluator.java | 40 + .../org/apache/log4j/spi/VectorWriter.java | 94 + .../java/org/apache/log4j/spi/package.html | 29 + .../org/apache/log4j/varia/DenyAllFilter.java | 72 + .../varia/ExternallyRolledFileAppender.java | 189 + .../log4j/varia/FallbackErrorHandler.java | 138 + .../apache/log4j/varia/LevelMatchFilter.java | 104 + .../apache/log4j/varia/LevelRangeFilter.java | 144 + .../org/apache/log4j/varia/NullAppender.java | 79 + .../varia/ReloadingPropertyConfigurator.java | 38 + .../java/org/apache/log4j/varia/Roller.java | 111 + .../apache/log4j/varia/StringMatchFilter.java | 121 + .../java/org/apache/log4j/varia/package.html | 30 + .../org/apache/log4j/xml/DOMConfigurator.java | 1123 +++ .../apache/log4j/xml/Log4jEntityResolver.java | 51 + .../org/apache/log4j/xml/SAXErrorHandler.java | 46 + .../log4j/xml/UnrecognizedElementHandler.java | 0 .../java/org/apache/log4j/xml/XMLLayout.java | 216 + .../java/org/apache/log4j/xml/package.html | 33 + .../org/apache/log4j/xml/doc-files/log4j.dtd | 227 + .../apache/log4j/xml/examples/XMLSample.java | 75 + .../xml/examples/doc-files/XMLSample.java | 75 + .../log4j/xml/examples/doc-files/sample1.xml | 39 + .../log4j/xml/examples/doc-files/sample2.xml | 48 + .../log4j/xml/examples/doc-files/sample3.xml | 45 + .../log4j/xml/examples/doc-files/sample4.xml | 40 + .../log4j/xml/examples/doc-files/sample5.xml | 51 + .../src/main/resources/META-INF/LICENSE | 0 .../src/main/resources/META-INF/NOTICE | 5 + .../log4j/lf5/config/defaultconfig.properties | 31 + .../lf5/viewer/images/channelexplorer_new.gif | Bin 0 -> 778 bytes .../images/channelexplorer_satellite.gif | Bin 0 -> 256 bytes .../lf5/viewer/images/lf5_small_icon.gif | Bin 0 -> 1249 bytes .../resources/org/apache/log4j/xml/log4j.dtd | 237 + .../src/ntdll/EventLogCategories.mc | 46 + .../src/ntdll/MSG00001.bin | Bin 0 -> 164 bytes .../src/ntdll/NTEventLogAppender.def | 22 + .../src/ntdll/NTEventLogAppender.rc | 126 + .../apache-log4j-1.2.16/src/ntdll/build.xml | 180 + .../src/ntdll/nteventlog.cpp | 352 + .../log4j/performance/ListVsVector.java | 99 + .../apache/log4j/performance/NOPWriter.java | 55 + .../apache/log4j/performance/NewVsSetLen.java | 227 + .../log4j/performance/NullAppender.java | 68 + .../apache/log4j/performance/SystemTime.java | 63 + .../log4j/performance/history/FALKNIS.logging | 133 + .../log4j/performance/history/GIL.logging | 57 + .../log4j/performance/history/NAPOLI.logging | 223 + .../log4j/performance/history/TORINO.logging | 217 + .../java/org/apache/log4j/performance/logging | 389 + .../org/apache/log4j/performance/package.html | 36 + .../apache/log4j/performance/xml/logging1.xml | 39 + .../log4j/performance/xml/logging10.xml | 45 + .../log4j/performance/xml/logging100.xml | 39 + .../log4j/performance/xml/logging1000.xml | 37 + .../log4j/performance/xml/logging101.xml | 41 + .../log4j/performance/xml/logging102.xml | 40 + .../log4j/performance/xml/logging103.xml | 41 + .../log4j/performance/xml/logging104.xml | 41 + .../log4j/performance/xml/logging105.xml | 41 + .../log4j/performance/xml/logging106.xml | 41 + .../log4j/performance/xml/logging107.xml | 41 + .../log4j/performance/xml/logging11.xml | 45 + .../log4j/performance/xml/logging12.xml | 45 + .../log4j/performance/xml/logging13.xml | 45 + .../apache/log4j/performance/xml/logging2.xml | 45 + .../log4j/performance/xml/logging200.xml | 39 + .../log4j/performance/xml/logging201.xml | 41 + .../log4j/performance/xml/logging202.xml | 40 + .../log4j/performance/xml/logging203.xml | 41 + .../log4j/performance/xml/logging204.xml | 41 + .../log4j/performance/xml/logging205.xml | 41 + .../log4j/performance/xml/logging206.xml | 41 + .../log4j/performance/xml/logging207.xml | 41 + .../log4j/performance/xml/logging220.xml | 40 + .../log4j/performance/xml/logging221.xml | 42 + .../log4j/performance/xml/logging222.xml | 41 + .../log4j/performance/xml/logging223.xml | 42 + .../log4j/performance/xml/logging224.xml | 42 + .../log4j/performance/xml/logging225.xml | 42 + .../log4j/performance/xml/logging226.xml | 42 + .../log4j/performance/xml/logging227.xml | 42 + .../apache/log4j/performance/xml/logging3.xml | 45 + .../log4j/performance/xml/logging300.xml | 43 + .../log4j/performance/xml/logging301.xml | 45 + .../log4j/performance/xml/logging302.xml | 43 + .../log4j/performance/xml/logging303.xml | 45 + .../log4j/performance/xml/logging304.xml | 45 + .../log4j/performance/xml/logging305.xml | 45 + .../log4j/performance/xml/logging306.xml | 46 + .../log4j/performance/xml/logging307.xml | 45 + .../apache/log4j/performance/xml/logging4.xml | 38 + .../apache/log4j/performance/xml/logging5.xml | 46 + .../apache/log4j/performance/xml/logging6.xml | 46 + .../apache/log4j/performance/xml/logging7.xml | 46 + .../apache/log4j/performance/xml/logging8.xml | 46 + .../apache/log4j/performance/xml/logging9.xml | 45 + .../src/site/apt/download.apt | 60 + .../src/site/apt/index.apt | 70 + .../src/site/apt/publications.apt | 81 + .../src/site/apt/roadmap.apt} | 22 +- .../apache-log4j-1.2.16/src/site/fml/faq.fml | 875 +++ .../src/site/resources/css/site.css | 17 + .../src/site/resources/images/logo.jpg | Bin .../src/site/resources/images/ls-logo.jpg | Bin .../src/site/resources/images/od.gif | Bin 0 -> 5741 bytes .../apache-log4j-1.2.16/src/site/site.xml | 76 + .../src/site/xdoc/manual.xml | 1239 +++ thirdparty/apache-log4j-1.2.16/tests/README | 53 + .../tests/build.properties.sample | 48 + .../apache-log4j-1.2.16/tests/build.xml | 557 ++ .../tests/input/RFA1.properties | 26 + .../tests/input/defaultInit3.properties | 21 + .../tests/input/fallback1.properties | 32 + .../tests/input/filter1.properties | 32 + .../input/hierarchyThreshold1.properties | 22 + .../input/hierarchyThreshold2.properties | 22 + .../input/hierarchyThreshold3.properties | 22 + .../input/hierarchyThreshold4.properties | 22 + .../input/hierarchyThreshold5.properties | 22 + .../input/hierarchyThreshold6.properties | 22 + .../input/hierarchyThreshold7.properties | 22 + .../input/hierarchyThreshold8.properties | 22 + .../enhancedPatternLayout.mdc.1.properties | 25 + .../pattern/enhancedPatternLayout1.properties | 25 + .../enhancedPatternLayout10.properties | 25 + .../enhancedPatternLayout11.properties | 25 + .../enhancedPatternLayout12.properties | 25 + .../enhancedPatternLayout13.properties | 25 + .../enhancedPatternLayout14.properties | 25 + .../enhancedPatternLayout15.properties | 26 + .../enhancedPatternLayout16.properties | 27 + .../pattern/enhancedPatternLayout2.properties | 25 + .../pattern/enhancedPatternLayout3.properties | 25 + .../pattern/enhancedPatternLayout4.properties | 25 + .../pattern/enhancedPatternLayout5.properties | 25 + .../pattern/enhancedPatternLayout6.properties | 26 + .../pattern/enhancedPatternLayout7.properties | 25 + .../pattern/enhancedPatternLayout8.properties | 25 + .../pattern/enhancedPatternLayout9.properties | 25 + .../input/patternLayout.mdc.1.properties | 25 + .../tests/input/patternLayout1.properties | 21 + .../tests/input/patternLayout10.properties | 21 + .../tests/input/patternLayout11.properties | 21 + .../tests/input/patternLayout12.properties | 21 + .../tests/input/patternLayout13.properties | 21 + .../tests/input/patternLayout14.properties | 21 + .../tests/input/patternLayout2.properties | 21 + .../tests/input/patternLayout3.properties | 21 + .../tests/input/patternLayout4.properties | 21 + .../tests/input/patternLayout5.properties | 21 + .../tests/input/patternLayout6.properties | 21 + .../tests/input/patternLayout7.properties | 21 + .../tests/input/patternLayout8.properties | 21 + .../tests/input/patternLayout9.properties | 21 + .../tests/input/socketServer1.properties | 23 + .../tests/input/socketServer2.properties | 23 + .../tests/input/socketServer3.properties | 22 + .../tests/input/socketServer4.properties | 22 + .../tests/input/socketServer5.properties | 22 + .../tests/input/socketServer6.properties | 22 + .../tests/input/socketServer7.properties | 22 + .../tests/input/socketServer8.properties | 22 + .../tests/input/xml/DOMTest4.xml | 45 + .../tests/input/xml/DOMTest4_A1.xml | 25 + .../tests/input/xml/DOMTest4_A2.xml | 23 + .../tests/input/xml/DOMTestCase1.xml | 50 + .../input/xml/SocketAppenderTestConfig.xml | 61 + .../tests/input/xml/categoryfactory1.xml | 35 + .../tests/input/xml/categoryfactory2.xml | 38 + .../tests/input/xml/customLevel1.xml | 35 + .../tests/input/xml/customLevel2.xml | 42 + .../tests/input/xml/customLevel3.xml | 45 + .../tests/input/xml/customLevel4.xml | 36 + .../tests/input/xml/customLogger1.xml | 36 + .../tests/input/xml/customLogger2.xml | 44 + .../tests/input/xml/customLogger3.xml | 36 + .../tests/input/xml/defaultInit.xml | 33 + .../tests/input/xml/fallback1.xml | 51 + .../tests/input/xml/loggerfactory1.xml | 35 + .../tests/input/xml/smtpAppender1.xml | 39 + .../tests/input/xml/testReset.xml | 27 + .../tests/input/xml/throwableRenderer1.xml | 25 + .../tests/log4j-coding-convention.xml | 225 + .../tests/resources/L7D_en_US.properties | 17 + .../tests/resources/L7D_fr.properties | 17 + .../tests/resources/L7D_fr_CH.properties | 16 + .../resources}/TestLogSFPatterns.properties | 0 .../apache/log4j/TestLogMFPatterns.properties | 0 .../apache/log4j/TestLogSFPatterns.properties | 24 + .../apache-log4j-1.2.16/tests/run-tests.bat | 111 + .../apache/log4j/AsyncAppenderTestCase.java | 339 + .../java/org/apache/log4j/CategoryTest.java | 111 + .../java/org/apache/log4j/CoreTestSuite.java | 65 + .../java/org/apache/log4j/DRFATestCase.java | 512 ++ .../log4j/DefaultThrowableRendererTest.java | 37 + .../log4j/EnhancedMyPatternLayout.java} | 6 +- .../log4j/EnhancedPatternLayoutTest.java | 143 + .../log4j/EnhancedPatternLayoutTestCase.java | 589 ++ .../log4j/EnhancedThrowableRendererTest.java | 48 + .../org/apache/log4j/FileAppenderTest.java | 86 + .../java/org/apache/log4j/HTMLLayoutTest.java | 242 + .../log4j/HierarchyThresholdTestCase.java | 125 + .../tests/src/java/org/apache/log4j/Last.java | 40 + .../java/org/apache/log4j/LayoutTest.java | 0 .../src/java/org/apache/log4j/LevelTest.java | 267 + .../java/org/apache/log4j/LogCapture.java | 0 .../java/org/apache/log4j/LogManagerTest.java | 75 + .../java/org/apache/log4j/LoggerTestCase.java | 499 ++ .../org/apache/log4j}/MDCOrderFilter.java | 0 .../org/apache/log4j/MinimumTestCase.java | 205 + .../org/apache/log4j/MyPatternLayout.java | 62 + .../org/apache/log4j/MyPatternParser.java | 72 + .../org/apache/log4j/PatternLayoutTest.java | 18 +- .../apache/log4j/PatternLayoutTestCase.java | 340 + .../java/org/apache/log4j/PriorityTest.java | 212 + .../log4j/PropertyConfiguratorTest.java | 344 + .../java/org/apache/log4j/RFATestCase.java | 237 + .../java/org/apache/log4j/StressCategory.java | 252 + .../java/org/apache/log4j/TTCCLayoutTest.java | 112 + .../src}/java/org/apache/log4j/TestLogMF.java | 61 +- .../src}/java/org/apache/log4j/TestLogSF.java | 21 +- .../src/java/org/apache/log4j/TestLogXF.java | 204 + .../java/org/apache/log4j/VectorAppender.java | 75 + .../org/apache/log4j/VectorErrorHandler.java | 182 + .../apache/log4j/customLogger/XLogger.java | 151 + .../log4j/customLogger/XLoggerTestCase.java | 77 + .../apache/log4j/defaultInit/TestCase1.java | 52 + .../apache/log4j/defaultInit/TestCase2.java | 57 + .../apache/log4j/defaultInit/TestCase3.java | 57 + .../apache/log4j/defaultInit/TestCase4.java | 58 + .../log4j/helpers/BoundedFIFOTestCase.java | 250 + .../log4j/helpers/CyclicBufferTestCase.java | 167 + .../apache/log4j/helpers/DateLayoutTest.java | 285 + .../org/apache/log4j/helpers/LogLogTest.java | 51 + .../helpers/OptionConverterTestCase.java | 171 + .../log4j/helpers/PatternParserTestCase.java | 136 + .../apache/log4j/net/SMTPAppenderTest.java | 62 + .../apache/log4j/net/ShortSocketServer.java | 85 + .../apache/log4j/net/SocketAppenderTest.java | 93 + .../log4j/net/SocketServerTestCase.java | 408 + .../apache/log4j/net/SyslogAppenderTest.java | 594 ++ .../apache/log4j/net/TelnetAppenderTest.java | 77 + .../log4j/nt/NTEventLogAppenderTest.java | 55 + .../java/org/apache/log4j/or/ORTestCase.java | 245 + .../log4j/pattern/CachedDateFormatTest.java | 42 +- .../log4j/pattern/FormattingInfoTest.java | 0 .../log4j/pattern/NameAbbreviatorTest.java | 37 +- .../log4j/pattern/Num343PatternConverter.java | 0 .../log4j/pattern/PatternParserTest.java | 171 + .../apache/log4j/spi/LocationInfoTest.java | 85 + .../apache/log4j/spi/LoggingEventTest.java | 271 + .../log4j/spi/ThrowableInformationTest.java | 343 + .../src/java/org/apache/log4j/stressCategory | 913 +++ .../java/org/apache/log4j/stressCategory.pl | 71 + .../log4j/util/AbsoluteDateAndTimeFilter.java | 37 + .../apache/log4j/util/AbsoluteTimeFilter.java | 37 + .../java/org/apache/log4j/util/Compare.java | 60 + .../org/apache/log4j/util/ControlFilter.java | 45 + .../util/EnhancedJunitTestRunnerFilter.java | 66 + .../log4j/util/EnhancedLineNumberFilter.java | 42 + .../java/org/apache/log4j/util/Filter.java | 38 + .../org/apache/log4j/util/ISO8601Filter.java | 36 + .../log4j/util/JunitTestRunnerFilter.java | 62 + .../apache/log4j/util/LineNumberFilter.java | 37 + .../apache/log4j/util/RelativeTimeFilter.java | 37 + .../log4j/util/SerializationTestHelper.java | 150 + .../apache/log4j/util/SunReflectFilter.java | 50 + .../org/apache/log4j/util/Transformer.java | 67 + .../log4j/util/UnexpectedFormatException.java | 26 + .../log4j/util/XMLLineAttributeFilter.java | 36 + .../apache/log4j/util/XMLTimestampFilter.java | 34 + .../org/apache/log4j/varia/ERFATestCase.java | 141 + .../log4j/varia/ErrorHandlerTestCase.java | 132 + .../log4j/varia/LevelMatchFilterTestCase.java | 147 + .../apache/log4j/xml/CustomLevelTestCase.java | 89 + .../org/apache/log4j/xml/DOMTestCase.java | 419 + .../src/java/org/apache/log4j/xml/XLevel.java | 90 + .../org/apache/log4j/xml/XMLLayoutTest.java | 501 ++ .../apache/log4j/xml/XMLLayoutTestCase.java | 248 + .../apache-log4j-1.2.16/tests/sun_checks.xml | 148 + .../tests/witness/LevelMatchFilter_accept | 6 + .../tests/witness/LevelMatchFilter_deny | 30 + .../tests/witness/PatternParser_mdc | 12 + .../tests/witness/customLevel.1 | 5 + .../tests/witness/customLevel.2 | 5 + .../tests/witness/customLevel.3 | 1 + .../tests/witness/customLevel.4 | 5 + .../tests/witness/customLogger.1 | 17 + .../tests/witness/customLogger.2 | 1 + .../tests/witness/dom.A1.1 | 90 + .../tests/witness/dom.A1.4 | 90 + .../tests/witness/dom.A2.1 | 60 + .../tests/witness/dom.A2.4 | 60 + .../tests/witness/fallback1 | 58 + .../tests/witness/hierarchyThreshold.1} | 0 .../tests/witness/hierarchyThreshold.2 | 1 + .../tests/witness/hierarchyThreshold.3 | 2 + .../tests/witness/hierarchyThreshold.4 | 3 + .../tests/witness/hierarchyThreshold.5 | 4 + .../tests/witness/hierarchyThreshold.6 | 5 + .../tests/witness/hierarchyThreshold.7 | 6 + .../tests/witness/hierarchyThreshold.8 | 6 + .../witness/pattern/enhancedPatternLayout.1} | 20 +- .../witness/pattern/enhancedPatternLayout.10 | 75 + .../witness/pattern/enhancedPatternLayout.11} | 40 +- .../witness/pattern/enhancedPatternLayout.12 | 75 + .../witness/pattern/enhancedPatternLayout.13} | 50 +- .../witness/pattern/enhancedPatternLayout.14} | 40 +- .../witness/pattern/enhancedPatternLayout.15} | 20 +- .../witness/pattern/enhancedPatternLayout.2} | 20 +- .../witness/pattern/enhancedPatternLayout.3} | 20 +- .../witness/pattern/enhancedPatternLayout.4} | 20 +- .../witness/pattern/enhancedPatternLayout.5} | 20 +- .../witness/pattern/enhancedPatternLayout.6 | 75 + .../witness/pattern/enhancedPatternLayout.7 | 75 + .../witness/pattern/enhancedPatternLayout.8 | 75 + .../witness/pattern/enhancedPatternLayout.9} | 20 +- .../pattern/enhancedPatternLayout.mdc.1} | 0 .../pattern/enhancedPatternLayout.mdc.2} | 0 .../pattern/enhancedPatternLayout.throwable | 54 + .../tests/witness/patternLayout.1 | 84 + .../tests/witness/patternLayout.10 | 84 + .../tests/witness/patternLayout.11 | 84 + .../tests/witness/patternLayout.12 | 84 + .../tests/witness/patternLayout.13 | 84 + .../tests/witness/patternLayout.14 | 84 + .../tests/witness/patternLayout.2 | 84 + .../tests/witness/patternLayout.3 | 84 + .../tests/witness/patternLayout.4 | 84 + .../tests/witness/patternLayout.5 | 84 + .../tests/witness/patternLayout.6 | 84 + .../tests/witness/patternLayout.7 | 84 + .../tests/witness/patternLayout.8 | 84 + .../tests/witness/patternLayout.9 | 84 + .../tests/witness/patternLayout.mdc.1 | 1 + .../tests/witness/patternLayout.mdc.clear | 2 + .../tests/witness/prudent} | 0 .../tests/witness/serialization/exception.bin | Bin 0 -> 1843 bytes .../tests/witness/serialization/info.bin | Bin 0 -> 60 bytes .../tests/witness/serialization/location.bin | Bin 0 -> 465 bytes .../tests/witness/serialization/mdc.bin | Bin 0 -> 508 bytes .../tests/witness/serialization/ndc.bin | Bin 0 -> 409 bytes .../tests/witness/serialization/simple.bin | Bin 0 -> 399 bytes .../apache-log4j-1.2.16/tests/witness/simple | 42 + .../tests/witness/socketServer.1 | 31 + .../tests/witness/socketServer.2 | 31 + .../tests/witness/socketServer.3 | 31 + .../tests/witness/socketServer.4 | 31 + .../tests/witness/socketServer.5 | 31 + .../tests/witness/socketServer.6 | 31 + .../tests/witness/socketServer.7 | 31 + .../tests/witness/socketServer.8 | 31 + .../apache-log4j-1.2.16/tests/witness/ttcc | 42 + .../tests/witness/xmlLayout.1 | 116 + .../tests/witness/xmlLayout.2 | 133 + .../tests/witness/xmlLayout.3 | 10 + .../tests/witness/xmlLayout.mdc.1 | 8 + .../tests/witness/xmlLayout.mdc.2 | 8 + .../tests/witness/xmlLayout.null | 23 + thirdparty/apache-log4j-extras-1.0.jar | Bin 153863 -> 0 bytes .../apache-log4j-extras-1.0.jar | Bin 153863 -> 0 bytes .../site/apidocs/options | 16 - .../site/changes-report.html | 210 - .../site/dependencies.html | 212 - .../site/download.html | 210 - .../site/images/logos/maven-feather.png | Bin 2907 -> 0 bytes .../apache-log4j-extras-1.0/site/index.html | 210 - .../site/integration.html | 210 - .../site/issue-tracking.html | 210 - .../apache-log4j-extras-1.0/site/jxr.html | 210 - .../site/mail-lists.html | 210 - .../apache-log4j-extras-1.0/site/pmd.html | 210 - .../apache-log4j-extras-1.0/site/pmd.xml | 38 - .../site/project-info.html | 210 - .../site/project-reports.html | 210 - .../apache-log4j-extras-1.0/site/roadmap.html | 210 - .../site/source-repository.html | 213 - .../org/apache/log4j/PatternLayoutTest.html | 157 - .../apache/log4j/PatternLayoutTestCase.html | 537 -- .../xref-test/org/apache/log4j/TestLogMF.html | 1249 --- .../xref-test/org/apache/log4j/TestLogSF.html | 1187 --- .../log4j/pattern/CachedDateFormatTest.html | 412 - .../log4j/pattern/NameAbbreviatorTest.html | 316 - .../helper/FileNamePatternTestCase.html | 168 - .../apache/log4j/EnhancedPatternLayout.html | 559 -- .../site/xref/org/apache/log4j/LogMF.html | 1728 ----- .../site/xref/org/apache/log4j/LogSF.html | 1672 ---- .../apache/log4j/extras/DOMConfigurator.html | 1059 --- .../log4j/pattern/CachedDateFormat.html | 381 - .../log4j/pattern/DatePatternConverter.html | 174 - .../apache/log4j/pattern/FormattingInfo.html | 147 - .../apache/log4j/pattern/NameAbbreviator.html | 316 - .../pattern/PropertiesPatternConverter.html | 122 - .../ThrowableInformationPatternConverter.html | 112 - .../rolling/FilterBasedTriggeringPolicy.html | 168 - .../rolling/FixedWindowRollingPolicy.html | 335 - .../log4j/rolling/RollingFileAppender.html | 579 -- .../apache/log4j/rolling/RollingPolicy.html | 67 - .../log4j/rolling/RollingPolicyBase.html | 190 - .../log4j/rolling/RolloverDescription.html | 69 - .../rolling/RolloverDescriptionImpl.html | 119 - .../rolling/SizeBasedTriggeringPolicy.html | 97 - .../log4j/rolling/TimeBasedRollingPolicy.html | 294 - .../log4j/rolling/TriggeringPolicy.html | 61 - .../apache/log4j/rolling/helper/Action.html | 62 - .../log4j/rolling/helper/ActionBase.html | 103 - .../log4j/rolling/helper/CompositeAction.html | 115 - .../rolling/helper/FileRenameAction.html | 94 - .../rolling/helper/GZCompressAction.html | 143 - .../xref/org/apache/log4j/rule/AndRule.html | 105 - .../xref/org/apache/log4j/rule/ColorRule.html | 138 - .../org/apache/log4j/rule/EqualsRule.html | 120 - .../org/apache/log4j/rule/ExistsRule.html | 106 - .../org/apache/log4j/rule/InFixToPostFix.html | 237 - .../org/apache/log4j/rule/InequalityRule.html | 167 - .../apache/log4j/rule/LevelEqualsRule.html | 146 - .../log4j/rule/LevelInequalityRule.html | 238 - .../xref/org/apache/log4j/rule/LikeRule.html | 164 - .../org/apache/log4j/rule/NotEqualsRule.html | 113 - .../xref/org/apache/log4j/rule/NotRule.html | 94 - .../xref/org/apache/log4j/rule/OrRule.html | 102 - .../log4j/rule/PartialTextMatchRule.html | 115 - .../org/apache/log4j/rule/RuleFactory.html | 202 - .../log4j/rule/TimestampEqualsRule.html | 122 - .../log4j/rule/TimestampInequalityRule.html | 144 - .../log4j/spi/LoggingEventFieldResolver.html | 273 - .../src/changes/changes.xml | 35 - .../src/main/resources/META-INF/NOTICE | 5 - .../src/site/apt/download.apt | 39 - .../org/apache/log4j/patternLayout.13 | 75 - .../org/apache/log4j/patternLayout.6 | 75 - .../org/apache/log4j/patternLayout.7 | 75 - .../org/apache/log4j/patternLayout.8 | 75 - thirdparty/apache-log4j-extras-1.1/LICENSE | 202 + thirdparty/apache-log4j-extras-1.1/NOTICE | 5 + .../apache-log4j-extras-1.1.jar | Bin 0 -> 346729 bytes .../build.xml | 0 .../pom.xml | 168 +- .../site/apidocs/allclasses-frame.html | 22 +- .../site/apidocs/allclasses-noframe.html | 22 +- .../site/apidocs/constant-values.html | 72 +- .../site/apidocs/deprecated-list.html | 27 +- .../site/apidocs/help-doc.html | 224 + .../site/apidocs/index-all.html | 331 +- .../site/apidocs/index.html | 40 + .../site/apidocs/options | 22 + .../apache/log4j/EnhancedPatternLayout.html | 98 +- .../site/apidocs/org/apache/log4j/LogMF.html | 64 +- .../site/apidocs/org/apache/log4j/LogSF.html | 64 +- .../site/apidocs/org/apache/log4j/LogXF.html | 782 ++ .../class-use/EnhancedPatternLayout.html | 145 + .../org/apache/log4j/class-use/LogMF.html | 145 + .../org/apache/log4j/class-use/LogSF.html | 145 + .../org/apache/log4j/class-use/LogXF.html | 191 + .../apache/log4j/extras/DOMConfigurator.html | 16 +- .../apache/log4j/extras/SoundAppender.html | 421 + .../apache/log4j/extras/UtilLoggingLevel.html | 731 ++ .../org/apache/log4j/extras/XSLTLayout.html | 601 ++ .../extras/class-use/DOMConfigurator.html | 12 +- .../log4j/extras/class-use/SoundAppender.html | 145 + .../extras/class-use/UtilLoggingLevel.html | 263 + .../log4j/extras/class-use/XSLTLayout.html | 145 + .../apache/log4j/extras/package-frame.html | 39 + .../apache/log4j/extras/package-summary.html | 27 +- .../org/apache/log4j/extras/package-tree.html | 24 +- .../org/apache/log4j/extras/package-use.html | 172 + .../org/apache/log4j/filter/AndFilter.html | 21 +- .../apache/log4j/filter/DenyAllFilter.html | 14 +- .../apache/log4j/filter/ExpressionFilter.html | 21 +- .../apache/log4j/filter/LevelMatchFilter.html | 14 +- .../apache/log4j/filter/LevelRangeFilter.html | 16 +- .../log4j/filter/LocationInfoFilter.html | 21 +- .../log4j/filter/LoggerMatchFilter.html | 14 +- .../log4j/filter/StringMatchFilter.html | 14 +- .../org/apache/log4j/filter/TimeFilter.html | 14 +- .../log4j/filter/class-use/AndFilter.html | 12 +- .../log4j/filter/class-use/DenyAllFilter.html | 12 +- .../filter/class-use/ExpressionFilter.html | 12 +- .../filter/class-use/LevelMatchFilter.html | 12 +- .../filter/class-use/LevelRangeFilter.html | 12 +- .../filter/class-use/LocationInfoFilter.html | 12 +- .../filter/class-use/LoggerMatchFilter.html | 12 +- .../filter/class-use/StringMatchFilter.html | 12 +- .../log4j/filter/class-use/TimeFilter.html | 12 +- .../apache/log4j/filter/package-frame.html | 8 +- .../apache/log4j/filter/package-summary.html | 12 +- .../org/apache/log4j/filter/package-tree.html | 12 +- .../org/apache/log4j/filter/package-use.html | 12 +- .../log4j/helpers/MDCKeySetExtractor.html | 12 +- .../log4j/helpers/UtilLoggingLevel.html | 19 +- .../helpers/class-use/MDCKeySetExtractor.html | 181 + .../helpers/class-use/UtilLoggingLevel.html | 12 +- .../apache/log4j/helpers/package-frame.html | 8 +- .../apache/log4j/helpers/package-summary.html | 12 +- .../apache/log4j/helpers/package-tree.html | 15 +- .../org/apache/log4j/helpers/package-use.html | 12 +- .../org/apache/log4j/package-frame.html | 12 +- .../org/apache/log4j/package-summary.html | 29 +- .../org/apache/log4j/package-tree.html | 14 +- .../apidocs/org/apache/log4j/package-use.html | 40 +- .../log4j/pattern/BridgePatternConverter.html | 12 +- .../log4j/pattern/BridgePatternParser.html | 12 +- .../log4j/pattern/CachedDateFormat.html | 12 +- .../pattern/ClassNamePatternConverter.html | 12 +- .../log4j/pattern/DatePatternConverter.html | 12 +- .../pattern/FileDatePatternConverter.html | 12 +- .../pattern/FileLocationPatternConverter.html | 12 +- .../apache/log4j/pattern/FormattingInfo.html | 66 +- .../pattern/FullLocationPatternConverter.html | 12 +- .../pattern/IntegerPatternConverter.html | 12 +- .../log4j/pattern/LevelPatternConverter.html | 12 +- .../pattern/LineLocationPatternConverter.html | 12 +- .../LineSeparatorPatternConverter.html | 12 +- .../pattern/LiteralPatternConverter.html | 12 +- .../org/apache/log4j/pattern/LogEvent.html | 12 +- .../log4j/pattern/LoggerPatternConverter.html | 12 +- .../pattern/LoggingEventPatternConverter.html | 12 +- .../pattern/MessagePatternConverter.html | 12 +- .../MethodLocationPatternConverter.html | 12 +- .../log4j/pattern/NDCPatternConverter.html | 12 +- .../apache/log4j/pattern/NameAbbreviator.html | 17 +- .../log4j/pattern/NamePatternConverter.html | 12 +- .../log4j/pattern/PatternConverter.html | 12 +- .../apache/log4j/pattern/PatternParser.html | 12 +- .../pattern/PropertiesPatternConverter.html | 12 +- .../pattern/RelativeTimePatternConverter.html | 12 +- .../SequenceNumberPatternConverter.html | 12 +- .../log4j/pattern/ThreadPatternConverter.html | 12 +- .../ThrowableInformationPatternConverter.html | 20 +- .../class-use/BridgePatternConverter.html | 145 + .../class-use/BridgePatternParser.html | 145 + .../pattern/class-use/CachedDateFormat.html | 145 + .../class-use/ClassNamePatternConverter.html | 181 + .../class-use/DatePatternConverter.html | 181 + .../class-use/FileDatePatternConverter.html | 145 + .../FileLocationPatternConverter.html | 181 + .../pattern/class-use/FormattingInfo.html | 181 + .../FullLocationPatternConverter.html | 181 + .../class-use/IntegerPatternConverter.html | 181 + .../class-use/LevelPatternConverter.html | 181 + .../LineLocationPatternConverter.html | 181 + .../LineSeparatorPatternConverter.html | 181 + .../class-use/LiteralPatternConverter.html | 145 + .../log4j/pattern/class-use/LogEvent.html | 145 + .../class-use/LoggerPatternConverter.html | 181 + .../LoggingEventPatternConverter.html | 322 + .../class-use/MessagePatternConverter.html | 181 + .../MethodLocationPatternConverter.html | 181 + .../class-use/NDCPatternConverter.html | 181 + .../pattern/class-use/NameAbbreviator.html | 189 + .../class-use/NamePatternConverter.html | 189 + .../pattern/class-use/PatternConverter.html | 15 +- .../pattern/class-use/PatternParser.html | 145 + .../class-use/PropertiesPatternConverter.html | 181 + .../RelativeTimePatternConverter.html | 181 + .../SequenceNumberPatternConverter.html | 181 + .../class-use/ThreadPatternConverter.html | 181 + .../ThrowableInformationPatternConverter.html | 181 + .../apache/log4j/pattern/package-frame.html | 89 + .../apache/log4j/pattern/package-summary.html | 15 +- .../apache/log4j/pattern/package-tree.html | 16 +- .../org/apache/log4j/pattern/package-use.html | 15 +- .../rolling/CompositeTriggeringPolicy.html | 359 + .../rolling/FilterBasedTriggeringPolicy.html | 16 +- .../rolling/FixedWindowRollingPolicy.html | 12 +- .../log4j/rolling/RollingFileAppender.html | 14 +- .../apache/log4j/rolling/RollingPolicy.html | 12 +- .../log4j/rolling/RollingPolicyBase.html | 12 +- .../log4j/rolling/RolloverDescription.html | 12 +- .../rolling/RolloverDescriptionImpl.html | 12 +- .../rolling/SizeBasedTriggeringPolicy.html | 12 +- .../log4j/rolling/TimeBasedRollingPolicy.html | 12 +- .../log4j/rolling/TriggeringPolicy.html | 14 +- .../class-use/CompositeTriggeringPolicy.html | 145 + .../FilterBasedTriggeringPolicy.html | 12 +- .../class-use/FixedWindowRollingPolicy.html | 12 +- .../class-use/RollingFileAppender.html | 12 +- .../rolling/class-use/RollingPolicy.html | 12 +- .../rolling/class-use/RollingPolicyBase.html | 12 +- .../class-use/RolloverDescription.html | 12 +- .../class-use/RolloverDescriptionImpl.html | 12 +- .../class-use/SizeBasedTriggeringPolicy.html | 12 +- .../class-use/TimeBasedRollingPolicy.html | 12 +- .../rolling/class-use/TriggeringPolicy.html | 29 +- .../apache/log4j/rolling/helper/Action.html | 12 +- .../log4j/rolling/helper/ActionBase.html | 12 +- .../log4j/rolling/helper/CompositeAction.html | 12 +- .../rolling/helper/FileRenameAction.html | 12 +- .../rolling/helper/GZCompressAction.html | 12 +- .../rolling/helper/ZipCompressAction.html | 12 +- .../rolling/helper/class-use/Action.html | 34 +- .../rolling/helper/class-use/ActionBase.html | 12 +- .../helper/class-use/CompositeAction.html | 12 +- .../helper/class-use/FileRenameAction.html | 12 +- .../helper/class-use/GZCompressAction.html | 12 +- .../helper/class-use/ZipCompressAction.html | 12 +- .../log4j/rolling/helper/package-frame.html | 8 +- .../log4j/rolling/helper/package-summary.html | 12 +- .../log4j/rolling/helper/package-tree.html | 12 +- .../log4j/rolling/helper/package-use.html | 12 +- .../apache/log4j/rolling/package-frame.html | 10 +- .../apache/log4j/rolling/package-summary.html | 17 +- .../apache/log4j/rolling/package-tree.html | 13 +- .../org/apache/log4j/rolling/package-use.html | 12 +- .../org/apache/log4j/rule/AbstractRule.html | 16 +- .../org/apache/log4j/rule/AndRule.html | 24 +- .../org/apache/log4j/rule/ColorRule.html | 26 +- .../org/apache/log4j/rule/EqualsRule.html | 24 +- .../org/apache/log4j/rule/ExistsRule.html | 24 +- .../org/apache/log4j/rule/ExpressionRule.html | 24 +- .../rule/InFixToPostFix.CustomTokenizer.html | 296 + .../org/apache/log4j/rule/InFixToPostFix.html | 68 +- .../org/apache/log4j/rule/InequalityRule.html | 24 +- .../apache/log4j/rule/LevelEqualsRule.html | 28 +- .../log4j/rule/LevelInequalityRule.html | 12 +- .../org/apache/log4j/rule/LikeRule.html | 24 +- .../org/apache/log4j/rule/NotEqualsRule.html | 28 +- .../apache/log4j/rule/NotLevelEqualsRule.html | 274 + .../org/apache/log4j/rule/NotRule.html | 28 +- .../apidocs/org/apache/log4j/rule/OrRule.html | 24 +- .../log4j/rule/PartialTextMatchRule.html | 24 +- .../apidocs/org/apache/log4j/rule/Rule.html | 26 +- .../org/apache/log4j/rule/RuleFactory.html | 12 +- .../log4j/rule/TimestampEqualsRule.html | 24 +- .../log4j/rule/TimestampInequalityRule.html | 24 +- .../log4j/rule/class-use/AbstractRule.html | 20 +- .../apache/log4j/rule/class-use/AndRule.html | 12 +- .../log4j/rule/class-use/ColorRule.html | 12 +- .../log4j/rule/class-use/EqualsRule.html | 12 +- .../log4j/rule/class-use/ExistsRule.html | 12 +- .../log4j/rule/class-use/ExpressionRule.html | 12 +- .../InFixToPostFix.CustomTokenizer.html | 145 + .../log4j/rule/class-use/InFixToPostFix.html | 12 +- .../log4j/rule/class-use/InequalityRule.html | 12 +- .../log4j/rule/class-use/LevelEqualsRule.html | 12 +- .../rule/class-use/LevelInequalityRule.html | 12 +- .../apache/log4j/rule/class-use/LikeRule.html | 12 +- .../log4j/rule/class-use/NotEqualsRule.html | 12 +- .../rule/class-use/NotLevelEqualsRule.html | 145 + .../apache/log4j/rule/class-use/NotRule.html | 12 +- .../apache/log4j/rule/class-use/OrRule.html | 12 +- .../rule/class-use/PartialTextMatchRule.html | 12 +- .../org/apache/log4j/rule/class-use/Rule.html | 148 +- .../log4j/rule/class-use/RuleFactory.html | 12 +- .../rule/class-use/TimestampEqualsRule.html | 12 +- .../class-use/TimestampInequalityRule.html | 12 +- .../org/apache/log4j/rule/package-frame.html | 12 +- .../apache/log4j/rule/package-summary.html | 37 +- .../org/apache/log4j/rule/package-tree.html | 16 +- .../org/apache/log4j/rule/package-use.html | 12 +- .../log4j/spi/LoggingEventFieldResolver.html | 12 +- .../class-use/LoggingEventFieldResolver.html | 12 +- .../org/apache/log4j/spi/package-frame.html | 8 +- .../org/apache/log4j/spi/package-summary.html | 12 +- .../org/apache/log4j/spi/package-tree.html | 12 +- .../org/apache/log4j/spi/package-use.html | 12 +- .../org/apache/log4j/varia/SoundAppender.html | 18 +- .../log4j/varia/class-use/SoundAppender.html | 12 +- .../org/apache/log4j/varia/package-frame.html | 8 +- .../apache/log4j/varia/package-summary.html | 12 +- .../org/apache/log4j/varia/package-tree.html | 12 +- .../org/apache/log4j/varia/package-use.html | 12 +- .../log4j/xml/UnrecognizedElementHandler.html | 14 +- .../org/apache/log4j/xml/XSLTLayout.html | 14 +- .../class-use/UnrecognizedElementHandler.html | 21 +- .../log4j/xml/class-use/XSLTLayout.html | 12 +- .../org/apache/log4j/xml/package-frame.html | 8 +- .../org/apache/log4j/xml/package-summary.html | 12 +- .../org/apache/log4j/xml/package-tree.html | 12 +- .../org/apache/log4j/xml/package-use.html | 12 +- .../site/apidocs/overview-frame.html | 8 +- .../site/apidocs/overview-summary.html | 14 +- .../site/apidocs/overview-tree.html | 33 +- .../site/apidocs/package-list | 0 .../site/apidocs/packages | 16 +- .../site/apidocs/resources/inherit.gif | Bin 0 -> 57 bytes .../site/apidocs/serialized-form.html | 186 +- .../site/apidocs/stylesheet.css | 29 + .../site/changes-report.html | 322 + .../apache-log4j-extras-1.1/site/cpd.html | 2561 +++++++ .../apache-log4j-extras-1.1/site/cpd.xml | 2348 ++++++ .../site/css/maven-base.css | 168 + .../site/css/maven-theme.css | 141 + .../site/css/site.css | 0 .../site/dependencies.html | 353 + .../site/download.html | 202 + .../site/images/add.gif | Bin 0 -> 207 bytes .../site/images/close.gif | Bin 0 -> 279 bytes .../site/images/external.png | Bin 0 -> 230 bytes .../site/images/fix.gif | Bin 0 -> 181 bytes .../site/images/icon_error_sml.gif | Bin 0 -> 1010 bytes .../site/images/icon_help_sml.gif | Bin 0 -> 1019 bytes .../site/images/icon_info_sml.gif | Bin 0 -> 606 bytes .../site/images/icon_success_sml.gif | Bin 0 -> 990 bytes .../site/images/icon_warning_sml.gif | Bin 0 -> 576 bytes .../site/images/logo.jpg | Bin 0 -> 22815 bytes .../site/images/logos/maven-feather.png | Bin 0 -> 3330 bytes .../site/images/ls-logo.jpg | Bin 0 -> 41915 bytes .../site/images/newwindow.png | Bin 0 -> 220 bytes .../site/images/remove.gif | Bin 0 -> 227 bytes .../site/images/rss.png | Bin 0 -> 249 bytes .../site/images/update.gif | Bin 0 -> 192 bytes .../apache-log4j-extras-1.1/site/index.html | 174 + .../site/integration.html | 181 + .../site/issue-tracking.html | 178 + .../apache-log4j-extras-1.1/site/jxr.html | 180 + .../site/mail-lists.html | 210 + .../apache-log4j-extras-1.1/site/pmd.html | 177 + .../apache-log4j-extras-1.1/site/pmd.xml | 3 + .../site/project-info.html | 195 + .../site/project-reports.html | 198 + .../apache-log4j-extras-1.1/site/roadmap.html | 174 + .../site/source-repository.html | 206 + .../site/testapidocs/allclasses-frame.html | 150 + .../site/testapidocs/allclasses-noframe.html | 150 + .../site/testapidocs/constant-values.html | 223 + .../site/testapidocs/deprecated-list.html | 172 + .../site/testapidocs/help-doc.html | 224 + .../site/testapidocs/index-all.html | 2156 ++++++ .../site/testapidocs/index.html | 40 + .../site/testapidocs/options | 24 + .../apache/log4j/EnhancedMyPatternLayout.html | 337 + ...atternLayoutTest.DerivedPatternLayout.html | 341 + .../log4j/EnhancedPatternLayoutTest.html | 426 ++ .../log4j/EnhancedPatternLayoutTestCase.html | 754 ++ .../org/apache/log4j/LayoutTest.html | 470 ++ .../org/apache/log4j/LogCapture.html | 262 + .../org/apache/log4j/MyPatternParser.html | 303 + .../org/apache/log4j/TestLogMF.html | 2803 +++++++ .../org/apache/log4j/TestLogSF.html | 2662 +++++++ .../org/apache/log4j/TestLogXF.html | 583 ++ .../org/apache/log4j/VectorAppender.html | 422 + .../class-use/EnhancedMyPatternLayout.html | 145 + ...atternLayoutTest.DerivedPatternLayout.html | 145 + .../class-use/EnhancedPatternLayoutTest.html | 145 + .../EnhancedPatternLayoutTestCase.html | 145 + .../apache/log4j/class-use/LayoutTest.html | 210 + .../apache/log4j/class-use/LogCapture.html | 145 + .../log4j/class-use/MyPatternParser.html | 145 + .../org/apache/log4j/class-use/TestLogMF.html | 145 + .../org/apache/log4j/class-use/TestLogSF.html | 145 + .../org/apache/log4j/class-use/TestLogXF.html | 145 + .../log4j/class-use/VectorAppender.html | 145 + .../apache/log4j/filter/AndFilterTest.html | 403 + .../log4j/filter/DenyAllFilterTest.html | 286 + .../log4j/filter/LevelMatchFilterTest.html | 378 + .../log4j/filter/LevelRangeFilterTest.html | 403 + .../log4j/filter/LoggerMatchFilterTest.html | 357 + .../apache/log4j/filter/SimpleFilterTest.html | 540 ++ .../log4j/filter/StringMatchFilterTest.html | 382 + .../apache/log4j/filter/TimeFilterTest.html | 565 ++ .../log4j/filter/class-use/AndFilterTest.html | 145 + .../filter/class-use/DenyAllFilterTest.html | 145 + .../class-use/LevelMatchFilterTest.html | 145 + .../class-use/LevelRangeFilterTest.html | 145 + .../class-use/LoggerMatchFilterTest.html | 145 + .../filter/class-use/SimpleFilterTest.html | 145 + .../class-use/StringMatchFilterTest.html | 145 + .../filter/class-use/TimeFilterTest.html | 145 + .../apache/log4j/filter/package-frame.html | 47 + .../apache/log4j/filter/package-summary.html | 187 + .../org/apache/log4j/filter/package-tree.html | 159 + .../org/apache/log4j/filter/package-use.html | 145 + .../org/apache/log4j/package-frame.html | 53 + .../org/apache/log4j/package-summary.html | 200 + .../org/apache/log4j/package-tree.html | 171 + .../org/apache/log4j/package-use.html | 190 + .../log4j/pattern/CachedDateFormatTest.html | 622 ++ .../log4j/pattern/FormattingInfoTest.html | 395 + .../log4j/pattern/NameAbbreviatorTest.html | 483 ++ .../log4j/pattern/Num343PatternConverter.html | 264 + .../log4j/pattern/PatternParserTest.html | 528 ++ .../class-use/CachedDateFormatTest.html | 145 + .../pattern/class-use/FormattingInfoTest.html | 145 + .../class-use/NameAbbreviatorTest.html | 145 + .../class-use/Num343PatternConverter.html | 145 + .../pattern/class-use/PatternParserTest.html | 145 + .../apache/log4j/pattern/package-frame.html | 41 + .../apache/log4j/pattern/package-summary.html | 174 + .../apache/log4j/pattern/package-tree.html | 163 + .../org/apache/log4j/pattern/package-use.html | 145 + .../CompositeTriggeringPolicyTest.html | 463 ++ .../log4j/rolling/FilterBasedRollingTest.html | 358 + .../apache/log4j/rolling/RenamingTest.html | 338 + .../log4j/rolling/SizeBasedRollingTest.html | 460 ++ .../log4j/rolling/TimeBasedRollingTest.html | 513 ++ .../CompositeTriggeringPolicyTest.html | 145 + .../class-use/FilterBasedRollingTest.html | 145 + .../log4j/rolling/class-use/RenamingTest.html | 145 + .../class-use/SizeBasedRollingTest.html | 145 + .../class-use/TimeBasedRollingTest.html | 145 + .../helper/FileNamePatternTestCase.html | 577 ++ .../class-use/FileNamePatternTestCase.html | 145 + .../log4j/rolling/helper/package-frame.html | 33 + .../log4j/rolling/helper/package-summary.html | 158 + .../log4j/rolling/helper/package-tree.html | 159 + .../log4j/rolling/helper/package-use.html | 145 + .../apache/log4j/rolling/package-frame.html | 41 + .../apache/log4j/rolling/package-summary.html | 175 + .../apache/log4j/rolling/package-tree.html | 159 + .../org/apache/log4j/rolling/package-use.html | 145 + .../org/apache/log4j/rule/AndRuleTest.html | 422 + .../org/apache/log4j/rule/EqualsRuleTest.html | 417 + .../org/apache/log4j/rule/ExistsRuleTest.html | 375 + .../log4j/rule/LevelEqualsRuleTest.html | 453 ++ .../log4j/rule/LevelInequalityRuleTest.html | 453 ++ .../apache/log4j/rule/NotEqualsRuleTest.html | 417 + .../org/apache/log4j/rule/NotRuleTest.html | 401 + .../org/apache/log4j/rule/OrRuleTest.html | 443 ++ .../log4j/rule/PartialTextMatchRuleTest.html | 396 + .../log4j/rule/TimestampEqualsRuleTest.html | 380 + .../rule/TimestampInequalityRuleTest.html | 359 + .../log4j/rule/class-use/AndRuleTest.html | 145 + .../log4j/rule/class-use/EqualsRuleTest.html | 145 + .../log4j/rule/class-use/ExistsRuleTest.html | 145 + .../rule/class-use/LevelEqualsRuleTest.html | 145 + .../class-use/LevelInequalityRuleTest.html | 145 + .../rule/class-use/NotEqualsRuleTest.html | 145 + .../log4j/rule/class-use/NotRuleTest.html | 145 + .../log4j/rule/class-use/OrRuleTest.html | 145 + .../class-use/PartialTextMatchRuleTest.html | 145 + .../class-use/TimestampEqualsRuleTest.html | 145 + .../TimestampInequalityRuleTest.html | 145 + .../org/apache/log4j/rule/package-frame.html | 53 + .../apache/log4j/rule/package-summary.html | 198 + .../org/apache/log4j/rule/package-tree.html | 159 + .../org/apache/log4j/rule/package-use.html | 145 + .../log4j/util/AbsoluteDateAndTimeFilter.html | 282 + .../apache/log4j/util/AbsoluteTimeFilter.html | 282 + .../org/apache/log4j/util/Compare.html | 348 + .../org/apache/log4j/util/ControlFilter.html | 285 + .../org/apache/log4j/util/Filter.html | 325 + .../org/apache/log4j/util/ISO8601Filter.html | 282 + .../log4j/util/JunitTestRunnerFilter.html | 279 + .../apache/log4j/util/LineNumberFilter.html | 282 + .../org/apache/log4j/util/MDCOrderFilter.html | 284 + .../apache/log4j/util/RelativeTimeFilter.html | 282 + .../log4j/util/SerializationTestHelper.html | 325 + .../apache/log4j/util/SunReflectFilter.html | 290 + .../org/apache/log4j/util/Transformer.html | 294 + .../log4j/util/UnexpectedFormatException.html | 241 + .../org/apache/log4j/util/XMLDateFilter.html | 282 + .../log4j/util/XMLLineAttributeFilter.html | 282 + .../apache/log4j/util/XMLTimestampFilter.html | 282 + .../class-use/AbsoluteDateAndTimeFilter.html | 145 + .../util/class-use/AbsoluteTimeFilter.html | 145 + .../apache/log4j/util/class-use/Compare.html | 145 + .../log4j/util/class-use/ControlFilter.html | 145 + .../apache/log4j/util/class-use/Filter.html | 298 + .../log4j/util/class-use/ISO8601Filter.html | 145 + .../util/class-use/JunitTestRunnerFilter.html | 145 + .../util/class-use/LineNumberFilter.html | 145 + .../log4j/util/class-use/MDCOrderFilter.html | 145 + .../util/class-use/RelativeTimeFilter.html | 145 + .../class-use/SerializationTestHelper.html | 145 + .../util/class-use/SunReflectFilter.html | 145 + .../log4j/util/class-use/Transformer.html | 145 + .../class-use/UnexpectedFormatException.html | 210 + .../log4j/util/class-use/XMLDateFilter.html | 145 + .../class-use/XMLLineAttributeFilter.html | 145 + .../util/class-use/XMLTimestampFilter.html | 145 + .../org/apache/log4j/util/package-frame.html | 83 + .../apache/log4j/util/package-summary.html | 243 + .../org/apache/log4j/util/package-tree.html | 176 + .../org/apache/log4j/util/package-use.html | 177 + .../org/apache/log4j/xml/XSLTLayoutTest.html | 514 ++ .../apache/log4j/xml/XSLTLayoutTestCase.html | 437 ++ .../log4j/xml/class-use/XSLTLayoutTest.html | 145 + .../xml/class-use/XSLTLayoutTestCase.html | 145 + .../org/apache/log4j/xml/package-frame.html | 35 + .../org/apache/log4j/xml/package-summary.html | 162 + .../org/apache/log4j/xml/package-tree.html | 161 + .../org/apache/log4j/xml/package-use.html | 145 + .../site/testapidocs/overview-frame.html | 57 + .../site/testapidocs/overview-summary.html | 185 + .../site/testapidocs/overview-tree.html | 196 + .../site/testapidocs/package-list | 8 + .../site/testapidocs/packages | 8 + .../site/testapidocs/resources/inherit.gif | Bin 0 -> 57 bytes .../site/testapidocs/serialized-form.html | 1180 +++ .../site/testapidocs/stylesheet.css | 29 + .../site/xref-test/allclasses-frame.html | 68 +- .../site/xref-test}/index.html | 2 +- .../log4j/EnhancedMyPatternLayout.html} | 10 +- .../log4j/EnhancedPatternLayoutTest.html | 156 + .../log4j/EnhancedPatternLayoutTestCase.html | 628 ++ .../org/apache/log4j/LayoutTest.html | 0 .../org/apache/log4j/LogCapture.html | 0 .../org/apache/log4j/MyPatternParser.html | 0 .../xref-test/org/apache/log4j/TestLogMF.html | 1304 ++++ .../xref-test/org/apache/log4j/TestLogSF.html | 1204 +++ .../xref-test/org/apache/log4j/TestLogXF.html | 216 + .../org/apache/log4j/VectorAppender.html | 0 .../apache/log4j/filter/AndFilterTest.html | 163 + .../log4j/filter/DenyAllFilterTest.html | 66 + .../log4j/filter/LevelMatchFilterTest.html | 122 + .../log4j/filter/LevelRangeFilterTest.html | 139 + .../log4j/filter/LoggerMatchFilterTest.html | 108 + .../apache/log4j/filter/SimpleFilterTest.html | 0 .../log4j/filter/StringMatchFilterTest.html | 125 + .../apache/log4j/filter/TimeFilterTest.html | 0 .../apache/log4j/filter/package-frame.html | 45 + .../apache/log4j/filter/package-summary.html | 102 + .../org/apache/log4j/package-frame.html | 23 +- .../org/apache/log4j/package-summary.html | 39 +- .../log4j/pattern/CachedDateFormatTest.html | 406 + .../log4j/pattern/FormattingInfoTest.html | 42 +- .../log4j/pattern/NameAbbreviatorTest.html | 349 + .../log4j/pattern/Num343PatternConverter.html | 0 .../log4j/pattern/PatternParserTest.html | 0 .../apache/log4j/pattern/package-frame.html | 2 +- .../apache/log4j/pattern/package-summary.html | 4 +- .../CompositeTriggeringPolicyTest.html | 147 + .../log4j/rolling/FilterBasedRollingTest.html | 0 .../apache/log4j/rolling/RenamingTest.html | 0 .../log4j/rolling/SizeBasedRollingTest.html | 0 .../log4j/rolling/TimeBasedRollingTest.html | 0 .../helper/FileNamePatternTestCase.html | 169 + .../log4j/rolling/helper/package-frame.html | 2 +- .../log4j/rolling/helper/package-summary.html | 4 +- .../apache/log4j/rolling/package-frame.html | 5 +- .../apache/log4j/rolling/package-summary.html | 9 +- .../org/apache/log4j/rule/AndRuleTest.html | 167 + .../org/apache/log4j/rule/EqualsRuleTest.html | 163 + .../org/apache/log4j/rule/ExistsRuleTest.html | 123 + .../log4j/rule/LevelEqualsRuleTest.html | 148 + .../log4j/rule/LevelInequalityRuleTest.html | 145 + .../apache/log4j/rule/NotEqualsRuleTest.html | 161 + .../org/apache/log4j/rule/NotRuleTest.html | 145 + .../org/apache/log4j/rule/OrRuleTest.html | 183 + .../log4j/rule/PartialTextMatchRuleTest.html | 145 + .../log4j/rule/TimestampEqualsRuleTest.html | 118 + .../rule/TimestampInequalityRuleTest.html | 104 + .../org/apache/log4j/rule/package-frame.html | 54 + .../apache/log4j/rule/package-summary.html | 117 + .../log4j/util/AbsoluteDateAndTimeFilter.html | 0 .../apache/log4j/util/AbsoluteTimeFilter.html | 0 .../org/apache/log4j/util/Compare.html | 0 .../org/apache/log4j/util/ControlFilter.html | 0 .../org/apache/log4j/util/Filter.html | 2 +- .../org/apache/log4j/util/ISO8601Filter.html | 0 .../log4j/util/JunitTestRunnerFilter.html | 0 .../apache/log4j/util/LineNumberFilter.html | 0 .../org/apache/log4j/util/MDCOrderFilter.html | 0 .../apache/log4j/util/RelativeTimeFilter.html | 0 .../log4j/util/SerializationTestHelper.html | 163 + .../apache/log4j/util/SunReflectFilter.html | 0 .../org/apache/log4j/util/Transformer.html | 0 .../log4j/util/UnexpectedFormatException.html | 0 .../org/apache/log4j/util/XMLDateFilter.html | 0 .../log4j/util/XMLLineAttributeFilter.html | 0 .../apache/log4j/util/XMLTimestampFilter.html | 0 .../org/apache/log4j/util/package-frame.html | 5 +- .../apache/log4j/util/package-summary.html | 9 +- .../org/apache/log4j/xml/XSLTLayoutTest.html | 0 .../apache/log4j/xml/XSLTLayoutTestCase.html | 0 .../org/apache/log4j/xml/package-frame.html | 2 +- .../org/apache/log4j/xml/package-summary.html | 4 +- .../site/xref-test/overview-frame.html | 5 +- .../site/xref-test/overview-summary.html | 11 +- .../site/xref-test/stylesheet.css | 0 .../site/xref/allclasses-frame.html | 11 +- .../site/xref}/index.html | 2 +- .../apache/log4j/EnhancedPatternLayout.html | 584 ++ .../site/xref/org/apache/log4j/LogMF.html | 1690 ++++ .../site/xref/org/apache/log4j/LogSF.html | 1554 ++++ .../site/xref/org/apache/log4j/LogXF.html | 384 + .../apache/log4j/extras/DOMConfigurator.html | 1067 +++ .../apache/log4j/extras/SoundAppender.html | 129 + .../apache/log4j/extras/UtilLoggingLevel.html | 253 + .../org/apache/log4j/extras/XSLTLayout.html | 505 ++ .../apache/log4j/extras/package-frame.html | 33 + .../apache/log4j/extras/package-summary.html | 82 + .../org/apache/log4j/filter/AndFilter.html | 113 +- .../apache/log4j/filter/DenyAllFilter.html | 0 .../apache/log4j/filter/ExpressionFilter.html | 2 +- .../apache/log4j/filter/LevelMatchFilter.html | 0 .../apache/log4j/filter/LevelRangeFilter.html | 2 +- .../log4j/filter/LocationInfoFilter.html | 2 +- .../log4j/filter/LoggerMatchFilter.html | 0 .../log4j/filter/StringMatchFilter.html | 0 .../org/apache/log4j/filter/TimeFilter.html | 0 .../apache/log4j/filter/package-frame.html | 2 +- .../apache/log4j/filter/package-summary.html | 4 +- .../log4j/helpers/MDCKeySetExtractor.html | 137 +- .../log4j/helpers/UtilLoggingLevel.html | 0 .../apache/log4j/helpers/package-frame.html | 2 +- .../apache/log4j/helpers/package-summary.html | 4 +- .../xref/org/apache/log4j/package-frame.html | 5 +- .../org/apache/log4j/package-summary.html | 9 +- .../log4j/pattern/BridgePatternConverter.html | 0 .../log4j/pattern/BridgePatternParser.html | 0 .../log4j/pattern/CachedDateFormat.html | 385 + .../pattern/ClassNamePatternConverter.html | 0 .../log4j/pattern/DatePatternConverter.html | 218 + .../pattern/FileDatePatternConverter.html | 0 .../pattern/FileLocationPatternConverter.html | 0 .../apache/log4j/pattern/FormattingInfo.html | 189 + .../pattern/FullLocationPatternConverter.html | 0 .../pattern/IntegerPatternConverter.html | 0 .../log4j/pattern/LevelPatternConverter.html | 0 .../pattern/LineLocationPatternConverter.html | 0 .../LineSeparatorPatternConverter.html | 0 .../pattern/LiteralPatternConverter.html | 0 .../org/apache/log4j/pattern/LogEvent.html | 0 .../log4j/pattern/LoggerPatternConverter.html | 0 .../pattern/LoggingEventPatternConverter.html | 0 .../pattern/MessagePatternConverter.html | 0 .../MethodLocationPatternConverter.html | 0 .../log4j/pattern/NDCPatternConverter.html | 0 .../apache/log4j/pattern/NameAbbreviator.html | 363 + .../log4j/pattern/NamePatternConverter.html | 0 .../log4j/pattern/PatternConverter.html | 0 .../apache/log4j/pattern/PatternParser.html | 746 +- .../pattern/PropertiesPatternConverter.html | 117 + .../pattern/RelativeTimePatternConverter.html | 0 .../SequenceNumberPatternConverter.html | 0 .../log4j/pattern/ThreadPatternConverter.html | 0 .../ThrowableInformationPatternConverter.html | 122 + .../apache/log4j/pattern/package-frame.html | 2 +- .../apache/log4j/pattern/package-summary.html | 4 +- .../rolling/CompositeTriggeringPolicy.html | 95 + .../rolling/FilterBasedTriggeringPolicy.html | 169 + .../rolling/FixedWindowRollingPolicy.html | 336 + .../log4j/rolling/RollingFileAppender.html | 580 ++ .../apache/log4j/rolling/RollingPolicy.html | 68 + .../log4j/rolling/RollingPolicyBase.html | 191 + .../log4j/rolling/RolloverDescription.html | 70 + .../rolling/RolloverDescriptionImpl.html | 120 + .../rolling/SizeBasedTriggeringPolicy.html | 98 + .../log4j/rolling/TimeBasedRollingPolicy.html | 295 + .../log4j/rolling/TriggeringPolicy.html | 62 + .../apache/log4j/rolling/helper/Action.html | 63 + .../log4j/rolling/helper/ActionBase.html | 104 + .../log4j/rolling/helper/CompositeAction.html | 116 + .../rolling/helper/FileRenameAction.html | 95 + .../rolling/helper/GZCompressAction.html} | 122 +- .../rolling/helper/ZipCompressAction.html | 147 + .../log4j/rolling/helper/package-frame.html | 2 +- .../log4j/rolling/helper/package-summary.html | 4 +- .../apache/log4j/rolling/package-frame.html | 5 +- .../apache/log4j/rolling/package-summary.html | 9 +- .../org/apache/log4j/rule/AbstractRule.html | 0 .../xref/org/apache/log4j/rule/AndRule.html | 140 + .../xref/org/apache/log4j/rule/ColorRule.html | 140 + .../org/apache/log4j/rule/EqualsRule.html | 132 + .../org/apache/log4j/rule/ExistsRule.html | 118 + .../org/apache/log4j/rule/ExpressionRule.html | 121 +- .../org/apache/log4j/rule/InFixToPostFix.html | 391 + .../org/apache/log4j/rule/InequalityRule.html | 175 + .../apache/log4j/rule/LevelEqualsRule.html | 162 + .../log4j/rule/LevelInequalityRule.html | 283 + .../xref/org/apache/log4j/rule/LikeRule.html | 177 + .../org/apache/log4j/rule/NotEqualsRule.html | 134 + .../apache/log4j/rule/NotLevelEqualsRule.html | 162 + .../xref/org/apache/log4j/rule/NotRule.html | 117 + .../xref/org/apache/log4j/rule/OrRule.html | 140 + .../log4j/rule/PartialTextMatchRule.html | 125 + .../site/xref/org/apache/log4j/rule/Rule.html | 74 +- .../org/apache/log4j/rule/RuleFactory.html | 199 + .../log4j/rule/TimestampEqualsRule.html | 134 + .../log4j/rule/TimestampInequalityRule.html | 155 + .../org/apache/log4j/rule/package-frame.html | 5 +- .../apache/log4j/rule/package-summary.html | 9 +- .../log4j/spi/LoggingEventFieldResolver.html | 288 + .../org/apache/log4j/spi/package-frame.html | 2 +- .../org/apache/log4j/spi/package-summary.html | 4 +- .../org/apache/log4j/varia/SoundAppender.html | 0 .../org/apache/log4j/varia/package-frame.html | 2 +- .../apache/log4j/varia/package-summary.html | 4 +- .../log4j/xml/UnrecognizedElementHandler.html | 0 .../xref/org/apache/log4j/xml/XSLTLayout.html | 0 .../org/apache/log4j/xml/package-frame.html | 2 +- .../org/apache/log4j/xml/package-summary.html | 4 +- .../site/xref/overview-frame.html | 2 +- .../site/xref/overview-summary.html | 6 +- .../site/xref/stylesheet.css | 0 .../src/assembly/bin.xml | 0 .../src/changes/changes.xml | 60 + .../apache/log4j/EnhancedPatternLayout.java | 571 ++ .../main/java/org/apache/log4j/LogMF.java} | 713 +- .../main/java/org/apache/log4j/LogSF.java} | 412 +- .../src/main/java/org/apache/log4j/LogXF.java | 371 + .../apache/log4j/extras/DOMConfigurator.java | 24 +- .../apache/log4j/extras/SoundAppender.java | 116 + .../apache/log4j/extras/UtilLoggingLevel.java | 240 + .../org/apache/log4j/extras/XSLTLayout.java | 492 ++ .../org/apache/log4j/filter/AndFilter.java | 1 - .../apache/log4j/filter/DenyAllFilter.java | 0 .../apache/log4j/filter/ExpressionFilter.java | 2 +- .../apache/log4j/filter/LevelMatchFilter.java | 0 .../apache/log4j/filter/LevelRangeFilter.java | 2 +- .../log4j/filter/LocationInfoFilter.java | 2 +- .../log4j/filter/LoggerMatchFilter.java | 0 .../log4j/filter/StringMatchFilter.java | 0 .../org/apache/log4j/filter/TimeFilter.java | 0 .../log4j/helpers/MDCKeySetExtractor.java | 92 + .../log4j/helpers/UtilLoggingLevel.java | 0 .../log4j/pattern/BridgePatternConverter.java | 132 + .../log4j/pattern/BridgePatternParser.java | 48 + .../log4j/pattern/CachedDateFormat.java | 372 + .../pattern/ClassNamePatternConverter.java | 66 + .../log4j/pattern/DatePatternConverter.java | 205 + .../pattern/FileDatePatternConverter.java | 50 + .../pattern/FileLocationPatternConverter.java | 64 + .../apache/log4j/pattern/FormattingInfo.java | 176 + .../pattern/FullLocationPatternConverter.java | 64 + .../pattern/IntegerPatternConverter.java | 64 + .../log4j/pattern/LevelPatternConverter.java | 98 + .../pattern/LineLocationPatternConverter.java | 64 + .../LineSeparatorPatternConverter.java | 73 + .../pattern/LiteralPatternConverter.java | 57 + .../org/apache/log4j/pattern/LogEvent.java | 600 ++ .../log4j/pattern/LoggerPatternConverter.java | 66 + .../pattern/LoggingEventPatternConverter.java | 70 + .../pattern/MessagePatternConverter.java | 58 + .../MethodLocationPatternConverter.java | 64 + .../log4j/pattern/NDCPatternConverter.java | 58 + .../apache/log4j/pattern/NameAbbreviator.java | 61 +- .../log4j/pattern/NamePatternConverter.java | 61 + .../log4j/pattern/PatternConverter.java | 87 + .../apache/log4j/pattern/PatternParser.java | 701 ++ .../pattern/PropertiesPatternConverter.java | 104 + .../pattern/RelativeTimePatternConverter.java | 106 + .../SequenceNumberPatternConverter.java | 59 + .../log4j/pattern/ThreadPatternConverter.java | 58 + .../ThrowableInformationPatternConverter.java | 109 + .../org/apache/log4j/pattern/package.html | 28 + .../rolling/CompositeTriggeringPolicy.java | 82 + .../rolling/FilterBasedTriggeringPolicy.java | 15 +- .../rolling/FixedWindowRollingPolicy.java | 15 +- .../log4j/rolling/RollingFileAppender.java | 15 +- .../apache/log4j/rolling/RollingPolicy.java | 15 +- .../log4j/rolling/RollingPolicyBase.java | 15 +- .../log4j/rolling/RolloverDescription.java | 15 +- .../rolling/RolloverDescriptionImpl.java | 15 +- .../rolling/SizeBasedTriggeringPolicy.java | 15 +- .../log4j/rolling/TimeBasedRollingPolicy.java | 15 +- .../log4j/rolling/TriggeringPolicy.java | 15 +- .../apache/log4j/rolling/helper/Action.java | 15 +- .../log4j/rolling/helper/ActionBase.java | 15 +- .../log4j/rolling/helper/CompositeAction.java | 15 +- .../rolling/helper/FileRenameAction.java | 15 +- .../rolling/helper/GZCompressAction.java | 15 +- .../rolling/helper/ZipCompressAction.java | 15 +- .../apache/log4j/rolling/helper/package.html | 0 .../org/apache/log4j/rolling/package.html | 0 .../org/apache/log4j/rule/AbstractRule.java | 0 .../java/org/apache/log4j/rule/AndRule.java | 39 +- .../java/org/apache/log4j/rule/ColorRule.java | 6 +- .../org/apache/log4j/rule/EqualsRule.java | 16 +- .../org/apache/log4j/rule/ExistsRule.java | 16 +- .../org/apache/log4j/rule/ExpressionRule.java | 107 +- .../org/apache/log4j/rule/InFixToPostFix.java | 198 +- .../org/apache/log4j/rule/InequalityRule.java | 20 +- .../apache/log4j/rule/LevelEqualsRule.java | 20 +- .../log4j/rule/LevelInequalityRule.java | 61 +- .../java/org/apache/log4j/rule/LikeRule.java | 17 +- .../org/apache/log4j/rule/NotEqualsRule.java | 33 +- .../apache/log4j/rule/NotLevelEqualsRule.java | 149 + .../java/org/apache/log4j/rule/NotRule.java | 27 +- .../java/org/apache/log4j/rule/OrRule.java | 42 +- .../log4j/rule/PartialTextMatchRule.java | 18 +- .../main/java/org/apache/log4j/rule/Rule.java | 6 +- .../org/apache/log4j/rule/RuleFactory.java | 3 - .../log4j/rule/TimestampEqualsRule.java | 20 +- .../log4j/rule/TimestampInequalityRule.java | 17 +- .../log4j/spi/LoggingEventFieldResolver.java | 19 +- .../org/apache/log4j/varia/SoundAppender.java | 0 .../log4j/xml/UnrecognizedElementHandler.java | 42 + .../java/org/apache/log4j/xml/XSLTLayout.java | 0 .../src/main/resources/META-INF/LICENSE | 202 + .../src/main/resources/META-INF}/NOTICE | 0 .../org/apache/log4j/extras/log4j.dtd | 227 + .../org/apache/log4j/xml/default.xslt | 0 .../src/site/apt/download.apt | 60 + .../src/site/apt/index.apt | 31 + .../src/site/apt/roadmap.apt | 6 +- .../src/site/maven-site.vm | 522 ++ .../src/site/resources/css/maven-base.css | 168 + .../src/site/resources/css/site.css | 0 .../src/site/resources/images/logo.jpg | Bin 0 -> 22815 bytes .../resources/images/logos/maven-feather.png | Bin 0 -> 3330 bytes .../src/site/resources/images/ls-logo.jpg | Bin 0 -> 41915 bytes .../src/site/site.xml | 4 +- .../apache/log4j/EnhancedMyPatternLayout.java | 53 + .../log4j/EnhancedPatternLayoutTest.java | 143 + .../log4j/EnhancedPatternLayoutTestCase.java} | 187 +- .../java/org/apache/log4j/LayoutTest.java | 168 + .../java/org/apache/log4j/LogCapture.java | 82 + .../org/apache/log4j/MyPatternParser.java | 0 .../test/java/org/apache/log4j/TestLogMF.java | 1291 ++++ .../test/java/org/apache/log4j/TestLogSF.java | 1191 +++ .../test/java/org/apache/log4j/TestLogXF.java | 203 + .../java/org/apache/log4j/VectorAppender.java | 0 .../apache/log4j/filter/AndFilterTest.java | 150 + .../log4j/filter/DenyAllFilterTest.java | 53 + .../log4j/filter/LevelMatchFilterTest.java | 109 + .../log4j/filter/LevelRangeFilterTest.java | 126 + .../log4j/filter/LoggerMatchFilterTest.java | 95 + .../apache/log4j/filter/SimpleFilterTest.java | 0 .../log4j/filter/StringMatchFilterTest.java | 112 + .../apache/log4j/filter/TimeFilterTest.java | 0 .../log4j/pattern/CachedDateFormatTest.java | 393 + .../log4j/pattern/FormattingInfoTest.java | 103 + .../log4j/pattern/NameAbbreviatorTest.java | 336 + .../log4j/pattern/Num343PatternConverter.java | 38 + .../log4j/pattern/PatternParserTest.java | 0 .../CompositeTriggeringPolicyTest.java | 134 + .../log4j/rolling/FilterBasedRollingTest.java | 0 .../apache/log4j/rolling/RenamingTest.java | 0 .../log4j/rolling/SizeBasedRollingTest.java | 0 .../log4j/rolling/TimeBasedRollingTest.java | 0 .../helper/FileNamePatternTestCase.java | 15 +- .../org/apache/log4j/rule/AndRuleTest.java | 154 + .../org/apache/log4j/rule/EqualsRuleTest.java | 150 + .../org/apache/log4j/rule/ExistsRuleTest.java | 110 + .../log4j/rule/LevelEqualsRuleTest.java | 135 + .../log4j/rule/LevelInequalityRuleTest.java | 132 + .../apache/log4j/rule/NotEqualsRuleTest.java | 148 + .../org/apache/log4j/rule/NotRuleTest.java | 132 + .../org/apache/log4j/rule/OrRuleTest.java | 170 + .../log4j/rule/PartialTextMatchRuleTest.java | 132 + .../log4j/rule/TimestampEqualsRuleTest.java | 105 + .../rule/TimestampInequalityRuleTest.java | 91 + .../log4j/util/AbsoluteDateAndTimeFilter.java | 0 .../apache/log4j/util/AbsoluteTimeFilter.java | 0 .../java/org/apache/log4j/util/Compare.java | 0 .../org/apache/log4j/util/ControlFilter.java | 0 .../java/org/apache/log4j/util/Filter.java | 2 +- .../org/apache/log4j/util/ISO8601Filter.java | 0 .../log4j/util/JunitTestRunnerFilter.java | 0 .../apache/log4j/util/LineNumberFilter.java | 0 .../org/apache/log4j/util/MDCOrderFilter.java | 63 + .../apache/log4j/util/RelativeTimeFilter.java | 0 .../log4j/util/SerializationTestHelper.java | 150 + .../apache/log4j/util/SunReflectFilter.java | 0 .../org/apache/log4j/util/Transformer.java | 0 .../log4j/util/UnexpectedFormatException.java | 0 .../org/apache/log4j/util/XMLDateFilter.java | 0 .../log4j/util/XMLLineAttributeFilter.java | 0 .../apache/log4j/util/XMLTimestampFilter.java | 0 .../org/apache/log4j/xml/XSLTLayoutTest.java | 0 .../apache/log4j/xml/XSLTLayoutTestCase.java | 0 .../apache/log4j/TestLogMFPatterns.properties | 24 + .../apache/log4j/TestLogSFPatterns.properties | 24 + .../org/apache/log4j/enhancedPatternLayout.1 | 75 + .../org/apache/log4j/enhancedPatternLayout.10 | 75 + .../org/apache/log4j/enhancedPatternLayout.11 | 75 + .../org/apache/log4j/enhancedPatternLayout.12 | 75 + .../apache/log4j/enhancedPatternLayout.13} | 50 +- .../org/apache/log4j/enhancedPatternLayout.14 | 75 + .../org/apache/log4j/enhancedPatternLayout.15 | 75 + .../org/apache/log4j/enhancedPatternLayout.17 | 4 + .../org/apache/log4j/enhancedPatternLayout.2 | 75 + .../org/apache/log4j/enhancedPatternLayout.3 | 75 + .../org/apache/log4j/enhancedPatternLayout.4 | 75 + .../org/apache/log4j/enhancedPatternLayout.5 | 75 + .../org/apache/log4j/enhancedPatternLayout.6 | 75 + .../org/apache/log4j/enhancedPatternLayout.7 | 75 + .../org/apache/log4j/enhancedPatternLayout.8 | 75 + .../org/apache/log4j/enhancedPatternLayout.9 | 75 + .../apache/log4j/enhancedPatternLayout.mdc.1 | 1 + .../enhancedPatternLayout.mdc.1.properties} | 0 .../apache/log4j/enhancedPatternLayout.mdc.2 | 12 + .../log4j/enhancedPatternLayout.throwable | 54 + .../log4j/enhancedPatternLayout1.properties} | 0 .../log4j/enhancedPatternLayout10.properties} | 0 .../log4j/enhancedPatternLayout11.properties} | 0 .../log4j/enhancedPatternLayout12.properties} | 0 .../log4j/enhancedPatternLayout13.properties} | 0 .../log4j/enhancedPatternLayout14.properties} | 0 .../log4j/enhancedPatternLayout15.properties} | 2 +- .../log4j/enhancedPatternLayout16.properties} | 0 .../log4j/enhancedPatternLayout17.properties | 27 + .../log4j/enhancedPatternLayout2.properties} | 0 .../log4j/enhancedPatternLayout3.properties} | 0 .../log4j/enhancedPatternLayout4.properties} | 0 .../log4j/enhancedPatternLayout5.properties} | 0 .../log4j/enhancedPatternLayout6.properties} | 0 .../log4j/enhancedPatternLayout7.properties} | 0 .../log4j/enhancedPatternLayout8.properties} | 0 .../log4j/enhancedPatternLayout9.properties} | 0 .../org/apache/log4j/filter/simpleFilter.1 | 0 .../org/apache/log4j/filter/simpleFilter.11 | 0 .../org/apache/log4j/filter/simpleFilter.6 | 0 .../org/apache/log4j/filter/simpleFilter.7 | 0 .../org/apache/log4j/filter/simpleFilter.8 | 0 .../org/apache/log4j/filter/simpleFilter1.xml | 0 .../apache/log4j/filter/simpleFilter10.xml | 0 .../apache/log4j/filter/simpleFilter11.xml | 0 .../apache/log4j/filter/simpleFilter12.xml | 0 .../org/apache/log4j/filter/simpleFilter6.xml | 0 .../org/apache/log4j/filter/simpleFilter7.xml | 0 .../org/apache/log4j/filter/simpleFilter8.xml | 0 .../org/apache/log4j/filter/simpleFilter9.xml | 0 .../org/apache/log4j/filter/timeFilter1.xml | 0 .../org/apache/log4j/filter/timeFilter2.xml | 0 .../org/apache/log4j/rolling/filter1.xml | 0 .../org/apache/log4j/rolling/renaming.0 | 0 .../org/apache/log4j/rolling/renaming.1 | 0 .../org/apache/log4j/rolling/renaming.2 | 0 .../org/apache/log4j/rolling/sbr-test2.0 | 0 .../org/apache/log4j/rolling/sbr-test2.1 | 0 .../org/apache/log4j/rolling/sbr-test3.0.gz | Bin .../org/apache/log4j/rolling/sbr-test3.1.gz | Bin .../org/apache/log4j/rolling/tbr-test1.0} | 0 .../org/apache/log4j/rolling/tbr-test1.1 | 0 .../org/apache/log4j/rolling/tbr-test1.2 | 0 .../org/apache/log4j/rolling/tbr-test1.3 | 0 .../org/apache/log4j/rolling/tbr-test2.0} | 0 .../org/apache/log4j/rolling/tbr-test2.1 | 0 .../org/apache/log4j/rolling/tbr-test2.2 | 0 .../org/apache/log4j/rolling/tbr-test2.3 | 0 .../org/apache/log4j/rolling/tbr-test3.0.gz | Bin .../org/apache/log4j/rolling/tbr-test3.1.gz | Bin .../org/apache/log4j/rolling/tbr-test3.2.gz | Bin .../org/apache/log4j/rolling/tbr-test3.3 | 0 .../org/apache/log4j/rolling/tbr-test4.0 | 0 .../org/apache/log4j/rolling/tbr-test4.1 | 0 .../org/apache/log4j/rolling/tbr-test4.2 | 0 .../org/apache/log4j/rolling/tbr-test4.3 | 0 .../org/apache/log4j/rolling/tbr-test5.0 | 0 .../org/apache/log4j/rolling/tbr-test5.1 | 0 .../org/apache/log4j/rolling/tbr-test5.2 | 0 .../org/apache/log4j/rolling/tbr-test5.3 | 0 .../org/apache/log4j/rolling/tbr-test6.0.gz | Bin .../org/apache/log4j/rolling/tbr-test6.1.gz | Bin .../org/apache/log4j/rolling/tbr-test6.2.gz | Bin .../org/apache/log4j/rolling/tbr-test6.3 | 0 .../org/apache/log4j/rolling/time1.xml | 0 .../org/apache/log4j/xml/xsltLayout.1 | 0 .../org/apache/log4j/xml/xsltLayout.2 | 0 .../org/apache/log4j/xml/xsltLayout.3 | 0 .../org/apache/log4j/xml/xsltLayout.4 | 0 .../org/apache/log4j/xml/xsltLayout.mdc.1 | 0 .../org/apache/log4j/xml/xsltLayout.mdc.2 | 0 .../org/apache/log4j/xml/xsltLayout.null | 0 .../org/apache/log4j/xml/xsltLayout4.xml | 0 thirdparty/log4j-1.2.15.jar | Bin 391834 -> 0 bytes thirdparty/log4j-extras.jar | Bin 0 -> 346729 bytes thirdparty/log4j.jar | Bin 0 -> 481534 bytes utils/.classpath | 19 +- .../utils/log/CglibThrowableRenderer.java | 182 + .../utils/log/CglibThrowableRendererTest.java | 30 + utils/test/resources/log4j.xml | 4 +- 2558 files changed, 424484 insertions(+), 22913 deletions(-) delete mode 100644 deps/cloud-apache-log4j-extras-1.0.jar create mode 100644 deps/cloud-log4j-extras.jar create mode 100644 thirdparty/apache-log4j-1.2.16/BUILD-INFO.txt create mode 100644 thirdparty/apache-log4j-1.2.16/INSTALL create mode 100644 thirdparty/apache-log4j-1.2.16/KEYS rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/LICENSE (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/NOTICE create mode 100755 thirdparty/apache-log4j-1.2.16/NTEventLogAppender.amd64.dll create mode 100755 thirdparty/apache-log4j-1.2.16/NTEventLogAppender.dll create mode 100644 thirdparty/apache-log4j-1.2.16/build.properties.sample create mode 100644 thirdparty/apache-log4j-1.2.16/build.xml create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/CONTENTS create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/CekiGulcu/AppenderTable.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/CekiGulcu/Transform.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/EirikLygre/DailyFileAppender1.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/EirikLygre/mail-2001-01-18 create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/LogTextPanel.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/LogTextPanelExample.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/TextPanelAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/mail-2001-01-23 create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/Jamie Tsao/JMSQueueAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/Jamie Tsao/mail-2001-06-20 create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/JimMoore/LoggingOutputStream.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-12T1326 create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-12T1454 create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-13T0646 create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/CompositeRollingAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/JDBCTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/mail-2001-02-01 create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/mail-2002-03-27.txt create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/DatagramStringAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/DatagramStringWriter.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/SingleLineTracerPrintWriter.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/logconfig.xml create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/mail-2001-02-07 create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/udpserver.pl create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/LeosLiterak/TempFileAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/LeosLiterak/mail create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/Log.txt create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/SocketNode2.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/SocketServer2.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/mail-2001-01-17 create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/JListView.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/JTableAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/TextPaneAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/examples/TextPaneAppenderExample.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCConnectionHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCIDHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCLogger.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/Log4JTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/code_example1.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/code_example2.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/configfile_example.txt create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/HTTPRequestHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/Log4jRequestHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/PluggableHTTPServer.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/RootRequestHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/UserDialogRequestHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/mail-03-05-2001 create mode 100644 thirdparty/apache-log4j-1.2.16/examples/MyPatternLayout.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/MyPatternParser.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/NumberCruncher.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/NumberCruncherClient.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/NumberCruncherServer.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/Sort.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/SortAlgo.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/Trivial.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/customLevel/XLevel.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/factor.html create mode 100644 thirdparty/apache-log4j-1.2.16/examples/factor.lcf create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingDefaultConfigurator/InitUsingDefaultConfigurator.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingLog4JProperties/InitUsingLog4JProperties.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingLog4JProperties/log4j.properties create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingMultipleAppenders/InitUsingMultipleAppenders.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingMultipleAppenders/example.properties create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingPropertiesFile/InitUsingPropertiesFile.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingPropertiesFile/example.properties create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingXMLPropertiesFile/InitUsingXMLPropertiesFile.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingXMLPropertiesFile/example.xml create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/UsingLogMonitorAdapter/CustomizedLogLevels.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/UsingLogMonitorAdapter/UsingLogMonitorAdapter.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/UsingSocketAppenders.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/socketclient.properties create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/socketserver.properties create mode 100644 thirdparty/apache-log4j-1.2.16/examples/lf5/index.html create mode 100644 thirdparty/apache-log4j-1.2.16/examples/mycat.bad create mode 100644 thirdparty/apache-log4j-1.2.16/examples/mycat.good create mode 100644 thirdparty/apache-log4j-1.2.16/examples/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/examples/sort1.properties create mode 100644 thirdparty/apache-log4j-1.2.16/examples/sort2.properties create mode 100644 thirdparty/apache-log4j-1.2.16/examples/sort3.properties create mode 100644 thirdparty/apache-log4j-1.2.16/examples/sort4.properties create mode 100644 thirdparty/apache-log4j-1.2.16/examples/subclass/MyLogger.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/subclass/MyLoggerFactory.java create mode 100644 thirdparty/apache-log4j-1.2.16/examples/subclass/MyLoggerTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/log4j-1.2.16.jar create mode 100644 thirdparty/apache-log4j-1.2.16/pom.xml create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/allclasses-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/allclasses-noframe.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/constant-values.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/deprecated-list.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/help-doc.html (95%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/index-all.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/index.html (85%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/options create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Appender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/AppenderSkeleton.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/AsyncAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/BasicConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Category.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/ConsoleAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/DailyRollingFileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/DefaultThrowableRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/EnhancedThrowableRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/FileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/HTMLLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Hierarchy.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Layout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Level.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogMF.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogSF.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogXF.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Logger.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/MDC.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/NDC.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/PatternLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Priority.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/PropertyConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/RollingFileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/SimpleLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/TTCCLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/WriterAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/Main.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/class-use/Main.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/doc-files/screen_01.png rename thirdparty/{apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras => apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw}/package-frame.html (51%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-tree.html rename thirdparty/{apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras => apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw}/package-use.html (87%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Appender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/AppenderSkeleton.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/AsyncAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/BasicConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Category.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/ConsoleAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/DailyRollingFileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/DefaultThrowableRenderer.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html (92%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/EnhancedThrowableRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/FileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/HTMLLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Hierarchy.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Layout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Level.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/class-use/LogMF.html (93%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogManager.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/class-use/LogSF.html (93%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogXF.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Logger.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/MDC.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/NDC.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/PatternLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Priority.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/PropertyConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/RollingFileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/SimpleLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/TTCCLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/WriterAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyGetter.PropertyCallback.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyGetter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyPrinter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertySetter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertySetterException.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyGetter.PropertyCallback.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyGetter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyPrinter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertySetter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertySetterException.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/AbsoluteTimeDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/AppenderAttachableImpl.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/BoundedFIFO.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/CountingQuietWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/CyclicBuffer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/DateLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/DateTimeDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/FileWatchdog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/FormattingInfo.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/ISO8601DateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/Loader.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/LogLog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/NullEnumeration.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/OnlyOnceErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/OptionConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/PatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/PatternParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/QuietWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/RelativeTimeDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/SyslogQuietWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/SyslogWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/ThreadLocalMap.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/Transform.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/AbsoluteTimeDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/AppenderAttachableImpl.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/BoundedFIFO.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/CountingQuietWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/CyclicBuffer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/DateLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/DateTimeDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/FileWatchdog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/FormattingInfo.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/ISO8601DateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/Loader.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/LogLog.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html (95%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/NullEnumeration.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/OnlyOnceErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/OptionConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/PatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/PatternParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/QuietWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/RelativeTimeDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/SyslogQuietWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/SyslogWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/ThreadLocalMap.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/Transform.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/JDBCAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/class-use/JDBCAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/AbstractDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/Agent.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/AppenderDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/HierarchyDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/LayoutDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/LoggerDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/AbstractDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/Agent.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/AppenderDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/HierarchyDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/LayoutDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/LoggerDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/AppenderFinalizer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/DefaultLF5Configurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LF5Appender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/Log4JLogRecord.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogLevel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogLevelFormatException.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogRecord.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogRecordFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/PassingLogRecordFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/StartLogFactor5.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/AppenderFinalizer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/DefaultLF5Configurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LF5Appender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/Log4JLogRecord.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogLevel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogLevelFormatException.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogRecord.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogRecordFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/PassingLogRecordFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/StartLogFactor5.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/AdapterLogRecord.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/DateFormatManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/LogFileParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/LogMonitorAdapter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/Resource.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/ResourceUtils.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/StreamUtils.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/AdapterLogRecord.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/DateFormatManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/LogFileParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/LogMonitorAdapter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/Resource.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/ResourceUtils.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/StreamUtils.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/FilteredLogTableModel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LF5SwingUtils.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogBrokerMonitor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5Dialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTable.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableColumn.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableModel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableRowRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryAbstractCellEditor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryElement.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerLogRecordFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerModel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerTree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryImmediateEditor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNode.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeEditor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeEditorRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryPath.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/TreeModelAdapter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/FilteredLogTableModel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LF5SwingUtils.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogBrokerMonitor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5Dialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5ErrorDialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5InputDialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5LoadingDialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTable.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableColumn.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableColumnFormatException.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableModel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableRowRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/TrackingAdjustmentListener.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/MRUFileManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/class-use/ConfigurationManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/class-use/MRUFileManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/JMSAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/JMSSink.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SMTPAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SimpleSocketServer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketHubAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketNode.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketServer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SyslogAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/TelnetAppender.SocketHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/TelnetAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/ZeroConfSupport.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/JMSAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/JMSSink.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SMTPAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SimpleSocketServer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketHubAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketNode.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketServer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SyslogAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/TelnetAppender.SocketHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/TelnetAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/ZeroConfSupport.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/NTEventLogAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/class-use/NTEventLogAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/ObjectRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/RendererMap.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/ThreadGroupRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/ObjectRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/RendererMap.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/ThreadGroupRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/MessageRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/class-use/MessageRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/AttributesRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/class-use/AttributesRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LogEvent.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PatternParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html (96%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html (95%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/org/apache/log4j/pattern/package-frame.html (95%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/AppenderAttachable.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/Configurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/DefaultRepositorySelector.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ErrorCode.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/Filter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/HierarchyEventListener.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LocationInfo.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggerFactory.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggerRepository.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggingEvent.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/NOPLogger.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/NOPLoggerRepository.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/OptionHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RendererSupport.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RepositorySelector.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RootCategory.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RootLogger.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableInformation.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableRendererSupport.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/TriggeringEventEvaluator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/AppenderAttachable.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/Configurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/DefaultRepositorySelector.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ErrorCode.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/Filter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/HierarchyEventListener.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LocationInfo.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggerFactory.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggerRepository.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggingEvent.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/NOPLogger.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/NOPLoggerRepository.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/OptionHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RendererSupport.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RepositorySelector.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RootCategory.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RootLogger.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableInformation.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableRendererSupport.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/TriggeringEventEvaluator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/DenyAllFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/ExternallyRolledFileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/FallbackErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/LevelMatchFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/LevelRangeFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/NullAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/ReloadingPropertyConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/Roller.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/StringMatchFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/DenyAllFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/ExternallyRolledFileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/FallbackErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/LevelMatchFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/LevelRangeFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/NullAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/ReloadingPropertyConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/Roller.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/StringMatchFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/DOMConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/Log4jEntityResolver.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/SAXErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/XMLLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/DOMConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/Log4jEntityResolver.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/SAXErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/XMLLayout.html rename thirdparty/{apache-log4j-extras-1.0/src/main/resources/org/apache/log4j/extras => apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/doc-files}/log4j.dtd (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/XMLSample.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/class-use/XMLSample.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/XMLSample.java create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample2.xml create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample3.xml create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample4.xml create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample5.xml create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-use.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/overview-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/overview-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/overview-tree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/package-list create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/packages rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/resources/inherit.gif (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/apidocs/serialized-form.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/apidocs/stylesheet.css (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/changes-report.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/css/maven-base.css (88%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/css/maven-theme.css (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/css/print.css (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/css/site.css create mode 100644 thirdparty/apache-log4j-1.2.16/site/dependencies.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/download.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/faq.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/add.gif (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/images/close.gif rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/collapsed.gif (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/expanded.gif (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/external.png (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/fix.gif (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/icon_error_sml.gif (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/icon_help_sml.gif (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/icon_info_sml.gif (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/icon_success_sml.gif (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/icon_warning_sml.gif (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/logo.jpg (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/images/logos/build-by-maven-black.png create mode 100644 thirdparty/apache-log4j-1.2.16/site/images/logos/build-by-maven-white.png create mode 100644 thirdparty/apache-log4j-1.2.16/site/images/logos/maven-feather.png rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/ls-logo.jpg (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/newwindow.png (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/images/od.gif rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/remove.gif (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/rss.png (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/images/update.gif (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/index.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/integration.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/issue-tracking.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/site/license.html (79%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/mail-lists.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/manual.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/project-info.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/project-reports.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/publications.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/roadmap.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/source-repository.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/allclasses-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/index.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/AsyncAppenderTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/CategoryTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/CoreTestSuite.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/DRFATestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/DefaultThrowableRendererTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedMyPatternLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedThrowableRendererTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/FileAppenderTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/HTMLLayoutTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/HierarchyThresholdTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/Last.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LayoutTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LevelTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LogCapture.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LogManagerTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LoggerTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MDCOrderFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MinimumTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MyPatternLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MyPatternParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PatternLayoutTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PatternLayoutTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PriorityTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PropertyConfiguratorTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/RFATestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/StressCategory.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TTCCLayoutTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogMF.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogSF.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogXF.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/VectorAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/VectorErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/XLogger.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/XLoggerTestCase.html rename thirdparty/{apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter => apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger}/package-frame.html (57%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase1.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase2.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase3.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase4.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/BoundedFIFOTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/CyclicBufferTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/DateLayoutTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/LogLogTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/OptionConverterTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/PatternParserTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SMTPAppenderTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/ShortSocketServer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SocketAppenderTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SocketServerTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SyslogAppenderTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/TelnetAppenderTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/NTEventLogAppenderTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/package-frame.html rename thirdparty/{apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter => apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt}/package-summary.html (77%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/ORTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/Num343PatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/PatternParserTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/LocationInfoTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/LoggingEventTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/ThrowableInformationTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/AbsoluteTimeFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Compare.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/ControlFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/EnhancedLineNumberFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Filter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/ISO8601Filter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/JunitTestRunnerFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/LineNumberFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/RelativeTimeFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/SerializationTestHelper.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/SunReflectFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Transformer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/UnexpectedFormatException.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/XMLLineAttributeFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/XMLTimestampFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/ERFATestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/ErrorHandlerTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/LevelMatchFilterTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/CustomLevelTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/DOMTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XLevel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XMLLayoutTest.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XMLLayoutTestCase.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/overview-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/overview-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref-test/stylesheet.css create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/allclasses-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/index.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Appender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/AppenderSkeleton.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/AsyncAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/BasicConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Category.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/CategoryKey.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/ConsoleAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DailyRollingFileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DefaultCategoryFactory.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DefaultThrowableRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Dispatcher.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/EnhancedPatternLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/EnhancedThrowableRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/FileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/HTMLLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Hierarchy.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Layout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Level.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogMF.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogSF.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogXF.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Logger.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/MDC.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/NDC.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/PatternLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Priority.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/PropertyConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/ProvisionNode.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/RollingFileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/SimpleLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/TTCCLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/WriterAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/ControlPanel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/DetailPanel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/EventDetails.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/ExitAction.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/LoadXMLAction.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/LoggingReceiver.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/Main.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/MyTableModel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/XMLFileHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertyGetter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertyPrinter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertySetter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertySetterException.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/AbsoluteTimeDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/AppenderAttachableImpl.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/BoundedFIFO.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/CountingQuietWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/CyclicBuffer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/DateLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/DateTimeDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/FileWatchdog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/FormattingInfo.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/ISO8601DateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/Loader.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/LogLog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/NullEnumeration.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/OnlyOnceErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/OptionConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/PatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/PatternParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/QuietWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/RelativeTimeDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/SyslogQuietWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/SyslogWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/ThreadLocalMap.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/Transform.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc/JDBCAppender.html rename thirdparty/{apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras => apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc}/package-frame.html (70%) rename thirdparty/{apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras => apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc}/package-summary.html (82%) create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/AbstractDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/Agent.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/AppenderDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/HierarchyDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/LayoutDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/LoggerDynamicMBean.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/MethodUnion.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/AppenderFinalizer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/DefaultLF5Configurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LF5Appender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/Log4JLogRecord.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogLevel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogLevelFormatException.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogRecord.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogRecordFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/PassingLogRecordFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/StartLogFactor5.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/AdapterLogRecord.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/DateFormatManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/LogFileParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/LogMonitorAdapter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/Resource.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/ResourceUtils.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/StreamUtils.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/FilteredLogTableModel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LF5SwingUtils.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogBrokerMonitor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5Dialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTable.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableColumn.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableModel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableRowRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/MRUFileManager.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/JMSAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/JMSSink.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SMTPAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SimpleSocketServer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketHubAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketNode.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketServer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SyslogAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/TelnetAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/ZeroConfSupport.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/NTEventLogAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/DefaultRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/ObjectRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/RendererMap.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/ThreadGroupRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/MessageRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/AttributesRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/BridgePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/BridgePatternParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/CachedDateFormat.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ClassNamePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/DatePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FileDatePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FileLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FormattingInfo.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FullLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/IntegerPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LevelPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LineLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LineSeparatorPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LiteralPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LogEvent.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LoggerPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LoggingEventPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/MessagePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/MethodLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NDCPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NameAbbreviator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NamePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PatternParser.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/RelativeTimePatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/SequenceNumberPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ThreadPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/AppenderAttachable.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/Configurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/DefaultRepositorySelector.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ErrorCode.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/Filter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/HierarchyEventListener.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LocationInfo.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggerFactory.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggerRepository.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggingEvent.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NOPLogger.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NOPLoggerRepository.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NullWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/OptionHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RendererSupport.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RepositorySelector.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RootCategory.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RootLogger.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableInformation.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableRenderer.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableRendererSupport.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/TriggeringEventEvaluator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/VectorWriter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/DenyAllFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/ExternallyRolledFileAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/FallbackErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/LevelMatchFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/LevelRangeFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/NullAppender.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/ReloadingPropertyConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/Roller.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/StringMatchFilter.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/DOMConfigurator.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/Log4jEntityResolver.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/SAXErrorHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/UnrecognizedElementHandler.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/XMLLayout.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/package-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/package-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/overview-frame.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/overview-summary.html create mode 100644 thirdparty/apache-log4j-1.2.16/site/xref/stylesheet.css create mode 100644 thirdparty/apache-log4j-1.2.16/src/assembly/bin.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/changes/changes.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Appender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/AppenderSkeleton.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/AsyncAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/BasicConfigurator.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Category.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/CategoryKey.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/ConsoleAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DailyRollingFileAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DefaultCategoryFactory.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DefaultThrowableRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Dispatcher.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/EnhancedPatternLayout.java (89%) create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/EnhancedThrowableRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/FileAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/HTMLLayout.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Hierarchy.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Layout.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Level.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/LogMF.java (89%) mode change 100644 => 100755 create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogManager.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/LogSF.java (92%) mode change 100644 => 100755 create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogXF.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Logger.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/MDC.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/NDC.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/PatternLayout.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Priority.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/PropertyConfigurator.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/ProvisionNode.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/RollingFileAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/SimpleLayout.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/TTCCLayout.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/WriterAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/ControlPanel.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/DetailPanel.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/EventDetails.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/ExitAction.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/LoadXMLAction.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/LoggingReceiver.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/Main.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/MyTableModel.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/XMLFileHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/doc-files/screen_01.png create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertyGetter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertyPrinter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertySetter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertySetterException.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/AbsoluteTimeDateFormat.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/BoundedFIFO.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/CountingQuietWriter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/CyclicBuffer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/DateLayout.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/DateTimeDateFormat.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/FileWatchdog.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/FormattingInfo.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/ISO8601DateFormat.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/Loader.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/LogLog.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java (98%) create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/NullEnumeration.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/OnlyOnceErrorHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/OptionConverter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/PatternConverter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/PatternParser.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/QuietWriter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/RelativeTimeDateFormat.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/SyslogQuietWriter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/SyslogWriter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/ThreadLocalMap.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/Transform.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jdbc/JDBCAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jdbc/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/AbstractDynamicMBean.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/Agent.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/AppenderDynamicMBean.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/HierarchyDynamicMBean.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/LayoutDynamicMBean.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/LoggerDynamicMBean.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/MethodUnion.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/AppenderFinalizer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/DefaultLF5Configurator.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LF5Appender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/Log4JLogRecord.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogLevel.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogLevelFormatException.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogRecord.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogRecordFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/PassingLogRecordFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/StartLogFactor5.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/AdapterLogRecord.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/DateFormatManager.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/LogFileParser.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/LogMonitorAdapter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/Resource.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/ResourceUtils.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/StreamUtils.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/FilteredLogTableModel.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LF5SwingUtils.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogBrokerMonitor.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5Dialog.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTable.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableColumn.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableModel.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableRowRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/configure/MRUFileManager.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/JMSAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/JMSSink.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SMTPAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SimpleSocketServer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketHubAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketNode.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketServer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SyslogAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/TelnetAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/ZeroConfSupport.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/nt/NTEventLogAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/nt/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/DefaultRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/ObjectRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/RendererMap.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/ThreadGroupRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/jms/MessageRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/jms/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/sax/AttributesRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/sax/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/package.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java (99%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java (77%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/FormattingInfo.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/LiteralPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/LogEvent.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/LoggingEventPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/NamePatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/PatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/PatternParser.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java (62%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/pattern/package.html (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/AppenderAttachable.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/Configurator.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/DefaultRepositorySelector.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ErrorCode.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ErrorHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/Filter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/HierarchyEventListener.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LocationInfo.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggerFactory.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggerRepository.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggingEvent.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NOPLogger.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NOPLoggerRepository.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NullWriter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/OptionHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RendererSupport.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RepositorySelector.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RootCategory.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RootLogger.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableInformation.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableRenderer.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableRendererSupport.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/TriggeringEventEvaluator.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/VectorWriter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/DenyAllFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/ExternallyRolledFileAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/FallbackErrorHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/LevelMatchFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/LevelRangeFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/NullAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/ReloadingPropertyConfigurator.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/Roller.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/StringMatchFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/DOMConfigurator.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/Log4jEntityResolver.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/SAXErrorHandler.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/java/org/apache/log4j/xml/UnrecognizedElementHandler.java (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/XMLLayout.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/doc-files/log4j.dtd create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/XMLSample.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/XMLSample.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample2.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample3.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample4.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample5.xml rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/main/resources/META-INF/LICENSE (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/resources/META-INF/NOTICE create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/config/defaultconfig.properties create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/viewer/images/channelexplorer_new.gif create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/viewer/images/channelexplorer_satellite.gif create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/viewer/images/lf5_small_icon.gif create mode 100644 thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/xml/log4j.dtd create mode 100644 thirdparty/apache-log4j-1.2.16/src/ntdll/EventLogCategories.mc create mode 100644 thirdparty/apache-log4j-1.2.16/src/ntdll/MSG00001.bin create mode 100644 thirdparty/apache-log4j-1.2.16/src/ntdll/NTEventLogAppender.def create mode 100755 thirdparty/apache-log4j-1.2.16/src/ntdll/NTEventLogAppender.rc create mode 100755 thirdparty/apache-log4j-1.2.16/src/ntdll/build.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/ntdll/nteventlog.cpp create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/ListVsVector.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NOPWriter.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NewVsSetLen.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NullAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/SystemTime.java create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/FALKNIS.logging create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/GIL.logging create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/NAPOLI.logging create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/TORINO.logging create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/logging create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/package.html create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging10.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging100.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging1000.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging101.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging102.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging103.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging104.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging105.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging106.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging107.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging11.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging12.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging13.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging2.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging200.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging201.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging202.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging203.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging204.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging205.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging206.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging207.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging220.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging221.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging222.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging223.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging224.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging225.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging226.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging227.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging3.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging300.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging301.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging302.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging303.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging304.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging305.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging306.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging307.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging4.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging5.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging6.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging7.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging8.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging9.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/site/apt/download.apt create mode 100644 thirdparty/apache-log4j-1.2.16/src/site/apt/index.apt create mode 100644 thirdparty/apache-log4j-1.2.16/src/site/apt/publications.apt rename thirdparty/{apache-log4j-extras-1.0/src/site/apt/index.apt => apache-log4j-1.2.16/src/site/apt/roadmap.apt} (66%) create mode 100644 thirdparty/apache-log4j-1.2.16/src/site/fml/faq.fml create mode 100644 thirdparty/apache-log4j-1.2.16/src/site/resources/css/site.css rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/site/resources/images/logo.jpg (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-1.2.16}/src/site/resources/images/ls-logo.jpg (100%) mode change 100644 => 100755 create mode 100644 thirdparty/apache-log4j-1.2.16/src/site/resources/images/od.gif create mode 100644 thirdparty/apache-log4j-1.2.16/src/site/site.xml create mode 100644 thirdparty/apache-log4j-1.2.16/src/site/xdoc/manual.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/README create mode 100644 thirdparty/apache-log4j-1.2.16/tests/build.properties.sample create mode 100644 thirdparty/apache-log4j-1.2.16/tests/build.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/RFA1.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/defaultInit3.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/fallback1.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/filter1.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold1.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold2.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold3.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold4.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold5.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold6.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold7.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold8.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout.mdc.1.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout1.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout10.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout11.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout12.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout13.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout14.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout15.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout16.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout2.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout3.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout4.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout5.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout6.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout7.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout8.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout9.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout.mdc.1.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout1.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout10.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout11.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout12.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout13.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout14.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout2.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout3.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout4.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout5.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout6.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout7.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout8.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/patternLayout9.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/socketServer1.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/socketServer2.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/socketServer3.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/socketServer4.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/socketServer5.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/socketServer6.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/socketServer7.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/socketServer8.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4_A1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4_A2.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTestCase1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/SocketAppenderTestConfig.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/categoryfactory1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/categoryfactory2.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel2.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel3.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel4.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger2.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger3.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/defaultInit.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/fallback1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/loggerfactory1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/smtpAppender1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/testReset.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/input/xml/throwableRenderer1.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/log4j-coding-convention.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/resources/L7D_en_US.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/resources/L7D_fr.properties create mode 100644 thirdparty/apache-log4j-1.2.16/tests/resources/L7D_fr_CH.properties rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j => apache-log4j-1.2.16/tests/resources}/TestLogSFPatterns.properties (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test => apache-log4j-1.2.16/tests}/resources/org/apache/log4j/TestLogMFPatterns.properties (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/resources/org/apache/log4j/TestLogSFPatterns.properties create mode 100755 thirdparty/apache-log4j-1.2.16/tests/run-tests.bat create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/AsyncAppenderTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/CategoryTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/CoreTestSuite.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/DRFATestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/DefaultThrowableRendererTest.java rename thirdparty/{apache-log4j-extras-1.0/src/test/java/org/apache/log4j/MyPatternLayout.java => apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedMyPatternLayout.java} (91%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedPatternLayoutTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedPatternLayoutTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedThrowableRendererTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/FileAppenderTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/HTMLLayoutTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/HierarchyThresholdTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/Last.java rename thirdparty/{apache-log4j-extras-1.0/src/test => apache-log4j-1.2.16/tests/src}/java/org/apache/log4j/LayoutTest.java (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LevelTest.java rename thirdparty/{apache-log4j-extras-1.0/src/test => apache-log4j-1.2.16/tests/src}/java/org/apache/log4j/LogCapture.java (100%) mode change 100644 => 100755 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LogManagerTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LoggerTestCase.java rename thirdparty/{apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util => apache-log4j-1.2.16/tests/src/java/org/apache/log4j}/MDCOrderFilter.java (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MinimumTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MyPatternLayout.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MyPatternParser.java rename thirdparty/{apache-log4j-extras-1.0/src/test => apache-log4j-1.2.16/tests/src}/java/org/apache/log4j/PatternLayoutTest.java (85%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PatternLayoutTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PriorityTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PropertyConfiguratorTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/RFATestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/StressCategory.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TTCCLayoutTest.java rename thirdparty/{apache-log4j-extras-1.0/src/test => apache-log4j-1.2.16/tests/src}/java/org/apache/log4j/TestLogMF.java (94%) mode change 100644 => 100755 rename thirdparty/{apache-log4j-extras-1.0/src/test => apache-log4j-1.2.16/tests/src}/java/org/apache/log4j/TestLogSF.java (98%) mode change 100644 => 100755 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TestLogXF.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/VectorAppender.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/VectorErrorHandler.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/customLogger/XLogger.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/customLogger/XLoggerTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase1.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase2.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase3.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase4.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/BoundedFIFOTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/CyclicBufferTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/DateLayoutTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/LogLogTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/OptionConverterTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/PatternParserTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SMTPAppenderTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/ShortSocketServer.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SocketAppenderTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SocketServerTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SyslogAppenderTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/TelnetAppenderTest.java create mode 100755 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/nt/NTEventLogAppenderTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/or/ORTestCase.java rename thirdparty/{apache-log4j-extras-1.0/src/test => apache-log4j-1.2.16/tests/src}/java/org/apache/log4j/pattern/CachedDateFormatTest.java (92%) rename thirdparty/{apache-log4j-extras-1.0/src/test => apache-log4j-1.2.16/tests/src}/java/org/apache/log4j/pattern/FormattingInfoTest.java (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test => apache-log4j-1.2.16/tests/src}/java/org/apache/log4j/pattern/NameAbbreviatorTest.java (90%) rename thirdparty/{apache-log4j-extras-1.0/src/test => apache-log4j-1.2.16/tests/src}/java/org/apache/log4j/pattern/Num343PatternConverter.java (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/PatternParserTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/LocationInfoTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/LoggingEventTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/ThrowableInformationTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/stressCategory create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/stressCategory.pl create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/AbsoluteDateAndTimeFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/AbsoluteTimeFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Compare.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/ControlFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/EnhancedJunitTestRunnerFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/EnhancedLineNumberFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Filter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/ISO8601Filter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/JunitTestRunnerFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/LineNumberFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/RelativeTimeFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/SerializationTestHelper.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/SunReflectFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Transformer.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/UnexpectedFormatException.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/XMLLineAttributeFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/XMLTimestampFilter.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/ERFATestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/ErrorHandlerTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/LevelMatchFilterTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/CustomLevelTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/DOMTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XLevel.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XMLLayoutTest.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XMLLayoutTestCase.java create mode 100644 thirdparty/apache-log4j-1.2.16/tests/sun_checks.xml create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/LevelMatchFilter_accept create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/LevelMatchFilter_deny create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/PatternParser_mdc create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.1 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.2 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.3 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.4 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/customLogger.1 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/customLogger.2 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/dom.A1.1 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/dom.A1.4 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/dom.A2.1 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/dom.A2.4 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/fallback1 rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test1.0 => apache-log4j-1.2.16/tests/witness/hierarchyThreshold.1} (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.2 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.3 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.4 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.5 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.6 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.7 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.8 rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.1 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.1} (76%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.10 rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.14 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.11} (63%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.12 rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.12 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.13} (51%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.11 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.14} (63%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.15 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.15} (79%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.2 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.2} (79%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.3 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.3} (79%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.4 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.4} (79%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.5 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.5} (79%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.6 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.7 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.8 rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.9 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.9} (78%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.mdc.1 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.mdc.1} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.mdc.2 => apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.mdc.2} (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.throwable create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.1 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.10 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.11 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.12 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.13 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.14 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.2 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.3 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.4 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.5 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.6 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.7 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.8 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.9 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.mdc.1 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.mdc.clear rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test2.0 => apache-log4j-1.2.16/tests/witness/prudent} (100%) create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/serialization/exception.bin create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/serialization/info.bin create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/serialization/location.bin create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/serialization/mdc.bin create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/serialization/ndc.bin create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/serialization/simple.bin create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/simple create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.1 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.2 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.3 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.4 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.5 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.6 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.7 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.8 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/ttcc create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.1 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.2 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.3 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.mdc.1 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.mdc.2 create mode 100644 thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.null delete mode 100644 thirdparty/apache-log4j-extras-1.0.jar delete mode 100644 thirdparty/apache-log4j-extras-1.0/apache-log4j-extras-1.0.jar delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/apidocs/options delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/changes-report.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/dependencies.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/download.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/images/logos/maven-feather.png delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/index.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/integration.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/issue-tracking.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/jxr.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/mail-lists.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/pmd.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/pmd.xml delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/project-info.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/project-reports.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/roadmap.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/source-repository.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/PatternLayoutTest.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/PatternLayoutTestCase.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/TestLogMF.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/TestLogSF.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/EnhancedPatternLayout.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/LogMF.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/LogSF.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras/DOMConfigurator.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/CachedDateFormat.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/DatePatternConverter.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/FormattingInfo.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/NameAbbreviator.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/FixedWindowRollingPolicy.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingFileAppender.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingPolicy.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingPolicyBase.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RolloverDescription.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RolloverDescriptionImpl.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/TimeBasedRollingPolicy.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/TriggeringPolicy.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/Action.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/ActionBase.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/CompositeAction.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/FileRenameAction.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/GZCompressAction.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/AndRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ColorRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/EqualsRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ExistsRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/InFixToPostFix.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/InequalityRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LevelEqualsRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LevelInequalityRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LikeRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/NotEqualsRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/NotRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/OrRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/PartialTextMatchRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/RuleFactory.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/TimestampEqualsRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/TimestampInequalityRule.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/spi/LoggingEventFieldResolver.html delete mode 100644 thirdparty/apache-log4j-extras-1.0/src/changes/changes.xml delete mode 100644 thirdparty/apache-log4j-extras-1.0/src/main/resources/META-INF/NOTICE delete mode 100644 thirdparty/apache-log4j-extras-1.0/src/site/apt/download.apt delete mode 100644 thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.13 delete mode 100644 thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.6 delete mode 100644 thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.7 delete mode 100644 thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.8 create mode 100644 thirdparty/apache-log4j-extras-1.1/LICENSE create mode 100644 thirdparty/apache-log4j-extras-1.1/NOTICE create mode 100644 thirdparty/apache-log4j-extras-1.1/apache-log4j-extras-1.1.jar rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/build.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/pom.xml (57%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/allclasses-frame.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/allclasses-noframe.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/constant-values.html (81%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/deprecated-list.html (87%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/help-doc.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/index-all.html (88%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/index.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/options rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/LogMF.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/LogSF.html (95%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/LogXF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogMF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogSF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogXF.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/extras/DOMConfigurator.html (97%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/SoundAppender.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/UtilLoggingLevel.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/XSLTLayout.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/extras/class-use/DOMConfigurator.html (90%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/SoundAppender.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/UtilLoggingLevel.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/XSLTLayout.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-frame.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/extras/package-summary.html (79%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/extras/package-tree.html (78%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-use.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/AndFilter.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/DenyAllFilter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/ExpressionFilter.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/LevelMatchFilter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/LevelRangeFilter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/LocationInfoFilter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/LoggerMatchFilter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/StringMatchFilter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/TimeFilter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/class-use/AndFilter.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/class-use/DenyAllFilter.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/class-use/ExpressionFilter.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/class-use/LevelMatchFilter.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/class-use/LevelRangeFilter.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/class-use/LocationInfoFilter.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/class-use/LoggerMatchFilter.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/class-use/StringMatchFilter.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/class-use/TimeFilter.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/package-frame.html (86%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/package-summary.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/package-tree.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/filter/package-use.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/helpers/UtilLoggingLevel.html (96%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/helpers/class-use/UtilLoggingLevel.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/helpers/package-frame.html (76%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/helpers/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/helpers/package-tree.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/helpers/package-use.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/package-frame.html (69%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/package-summary.html (83%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/package-tree.html (88%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/package-use.html (74%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html (96%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html (85%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/LogEvent.html (98%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html (96%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/PatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/PatternParser.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html (93%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html (96%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-frame.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/package-summary.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/package-tree.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/pattern/package-use.html (95%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/CompositeTriggeringPolicy.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/FixedWindowRollingPolicy.html (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/RollingFileAppender.html (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/RollingPolicy.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/RollingPolicyBase.html (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/RolloverDescription.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/RolloverDescriptionImpl.html (96%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html (96%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/TriggeringPolicy.html (89%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/CompositeTriggeringPolicy.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/class-use/FilterBasedTriggeringPolicy.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/class-use/FixedWindowRollingPolicy.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/class-use/RollingFileAppender.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicy.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicyBase.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescription.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescriptionImpl.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/class-use/SizeBasedTriggeringPolicy.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingPolicy.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/class-use/TriggeringPolicy.html (86%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/Action.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/ActionBase.html (96%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/CompositeAction.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/FileRenameAction.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/GZCompressAction.html (96%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/ZipCompressAction.html (96%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/class-use/Action.html (96%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/class-use/ActionBase.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/class-use/CompositeAction.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/class-use/FileRenameAction.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/class-use/GZCompressAction.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/class-use/ZipCompressAction.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/package-frame.html (85%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/package-summary.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/package-tree.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/helper/package-use.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/package-frame.html (83%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/package-tree.html (89%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rolling/package-use.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/AbstractRule.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/AndRule.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/ColorRule.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/EqualsRule.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/ExistsRule.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/ExpressionRule.html (92%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/InFixToPostFix.html (77%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/InequalityRule.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/LevelEqualsRule.html (89%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/LevelInequalityRule.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/LikeRule.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/NotEqualsRule.html (89%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/NotLevelEqualsRule.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/NotRule.html (89%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/OrRule.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/PartialTextMatchRule.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/Rule.html (85%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/RuleFactory.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/TimestampEqualsRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/TimestampInequalityRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/AbstractRule.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/AndRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/ColorRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/EqualsRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/ExistsRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/ExpressionRule.html (90%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.CustomTokenizer.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/InequalityRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/LevelEqualsRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/LevelInequalityRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/LikeRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/NotEqualsRule.html (90%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/NotLevelEqualsRule.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/NotRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/OrRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/PartialTextMatchRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/Rule.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/RuleFactory.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/TimestampEqualsRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/class-use/TimestampInequalityRule.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/package-frame.html (84%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/package-summary.html (87%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/package-tree.html (79%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/rule/package-use.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/spi/LoggingEventFieldResolver.html (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/spi/class-use/LoggingEventFieldResolver.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/spi/package-frame.html (74%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/spi/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/spi/package-tree.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/spi/package-use.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/varia/SoundAppender.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/varia/class-use/SoundAppender.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/varia/package-frame.html (73%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/varia/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/varia/package-tree.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/varia/package-use.html (89%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html (87%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/xml/XSLTLayout.html (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/xml/class-use/XSLTLayout.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/xml/package-frame.html (79%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/xml/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/xml/package-tree.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/org/apache/log4j/xml/package-use.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/overview-frame.html (89%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/overview-summary.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/overview-tree.html (83%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/package-list (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/packages (84%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/resources/inherit.gif rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/apidocs/serialized-form.html (86%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/apidocs/stylesheet.css create mode 100644 thirdparty/apache-log4j-extras-1.1/site/changes-report.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/cpd.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/cpd.xml create mode 100644 thirdparty/apache-log4j-extras-1.1/site/css/maven-base.css create mode 100644 thirdparty/apache-log4j-extras-1.1/site/css/maven-theme.css rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/css/site.css (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/dependencies.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/download.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/add.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/close.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/external.png create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/fix.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/icon_error_sml.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/icon_help_sml.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/icon_info_sml.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/icon_success_sml.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/icon_warning_sml.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/logo.jpg create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/logos/maven-feather.png create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/ls-logo.jpg create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/newwindow.png create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/remove.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/rss.png create mode 100644 thirdparty/apache-log4j-extras-1.1/site/images/update.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/index.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/integration.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/issue-tracking.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/jxr.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/mail-lists.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/pmd.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/pmd.xml create mode 100644 thirdparty/apache-log4j-extras-1.1/site/project-info.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/project-reports.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/roadmap.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/source-repository.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/allclasses-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/allclasses-noframe.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/constant-values.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/deprecated-list.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/help-doc.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/index-all.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/index.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/options create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedMyPatternLayout.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTestCase.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/LayoutTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/LogCapture.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/MyPatternParser.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogMF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogSF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogXF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/VectorAppender.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedMyPatternLayout.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTest.DerivedPatternLayout.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTestCase.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/LayoutTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/LogCapture.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/MyPatternParser.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogMF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogSF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogXF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/VectorAppender.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/AndFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/DenyAllFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LevelMatchFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LevelRangeFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LoggerMatchFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/SimpleFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/StringMatchFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/TimeFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/AndFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/DenyAllFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LevelMatchFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LevelRangeFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LoggerMatchFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/SimpleFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/StringMatchFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/TimeFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-summary.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-tree.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-use.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-summary.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-tree.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-use.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/CachedDateFormatTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/FormattingInfoTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/NameAbbreviatorTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/Num343PatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/PatternParserTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/CachedDateFormatTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/FormattingInfoTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/NameAbbreviatorTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/Num343PatternConverter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/PatternParserTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-summary.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-tree.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-use.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/FilterBasedRollingTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/RenamingTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/SizeBasedRollingTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/TimeBasedRollingTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/CompositeTriggeringPolicyTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/FilterBasedRollingTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/RenamingTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/SizeBasedRollingTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/class-use/FileNamePatternTestCase.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-summary.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-tree.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-use.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-summary.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-tree.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-use.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/AndRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/EqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/ExistsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/LevelEqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/LevelInequalityRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/NotEqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/NotRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/OrRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/PartialTextMatchRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/TimestampEqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/TimestampInequalityRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/AndRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/EqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/ExistsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/LevelEqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/LevelInequalityRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/NotEqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/NotRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/OrRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/PartialTextMatchRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/TimestampEqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/TimestampInequalityRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-summary.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-tree.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-use.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/AbsoluteTimeFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Compare.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/ControlFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Filter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/ISO8601Filter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/JunitTestRunnerFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/LineNumberFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/MDCOrderFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/RelativeTimeFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/SerializationTestHelper.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/SunReflectFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Transformer.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/UnexpectedFormatException.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLDateFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLLineAttributeFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLTimestampFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/AbsoluteDateAndTimeFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/AbsoluteTimeFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Compare.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/ControlFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Filter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/ISO8601Filter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/JunitTestRunnerFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/LineNumberFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/MDCOrderFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/RelativeTimeFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/SerializationTestHelper.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/SunReflectFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Transformer.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/UnexpectedFormatException.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLDateFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLLineAttributeFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLTimestampFilter.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-summary.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-tree.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-use.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/XSLTLayoutTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/XSLTLayoutTestCase.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/class-use/XSLTLayoutTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/class-use/XSLTLayoutTestCase.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-summary.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-tree.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-use.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-summary.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-tree.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/package-list create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/packages create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/resources/inherit.gif create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/serialized-form.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/testapidocs/stylesheet.css rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/allclasses-frame.html (62%) rename thirdparty/{apache-log4j-extras-1.0/site/xref => apache-log4j-extras-1.1/site/xref-test}/index.html (88%) rename thirdparty/{apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/MyPatternLayout.html => apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedMyPatternLayout.html} (91%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTestCase.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/LayoutTest.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/LogCapture.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/MyPatternParser.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogMF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogSF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogXF.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/VectorAppender.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/AndFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/DenyAllFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LevelMatchFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LevelRangeFilterTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LoggerMatchFilterTest.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/filter/SimpleFilterTest.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/StringMatchFilterTest.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/filter/TimeFilterTest.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/package-summary.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/package-frame.html (71%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/package-summary.html (80%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html (79%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/pattern/Num343PatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/pattern/PatternParserTest.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/pattern/package-frame.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/pattern/package-summary.html (93%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/rolling/FilterBasedRollingTest.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/rolling/RenamingTest.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/rolling/SizeBasedRollingTest.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/rolling/TimeBasedRollingTest.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/rolling/helper/package-frame.html (83%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/rolling/helper/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/rolling/package-frame.html (79%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/rolling/package-summary.html (86%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/AndRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/EqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/ExistsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/LevelEqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/LevelInequalityRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/NotEqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/NotRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/OrRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/PartialTextMatchRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/TimestampEqualsRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/TimestampInequalityRuleTest.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/package-summary.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/AbsoluteTimeFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/Compare.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/ControlFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/Filter.html (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/ISO8601Filter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/JunitTestRunnerFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/LineNumberFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/MDCOrderFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/RelativeTimeFilter.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/SerializationTestHelper.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/SunReflectFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/Transformer.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/UnexpectedFormatException.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/XMLDateFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/XMLLineAttributeFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/XMLTimestampFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/package-frame.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/util/package-summary.html (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/xml/XSLTLayoutTest.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/xml/XSLTLayoutTestCase.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/xml/package-frame.html (86%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/org/apache/log4j/xml/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/overview-frame.html (86%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/overview-summary.html (85%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref-test/stylesheet.css (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/allclasses-frame.html (95%) rename thirdparty/{apache-log4j-extras-1.0/site/xref-test => apache-log4j-extras-1.1/site/xref}/index.html (88%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/EnhancedPatternLayout.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogMF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogSF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogXF.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/DOMConfigurator.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/SoundAppender.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/UtilLoggingLevel.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/XSLTLayout.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/package-frame.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/package-summary.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/AndFilter.html (73%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/DenyAllFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/ExpressionFilter.html (99%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/LevelMatchFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/LevelRangeFilter.html (99%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/LocationInfoFilter.html (99%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/LoggerMatchFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/StringMatchFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/TimeFilter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/package-frame.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/filter/package-summary.html (94%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html (61%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/helpers/UtilLoggingLevel.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/helpers/package-frame.html (86%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/helpers/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/package-frame.html (79%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/package-summary.html (86%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/BridgePatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/BridgePatternParser.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/CachedDateFormat.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/ClassNamePatternConverter.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/DatePatternConverter.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/FileDatePatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/FileLocationPatternConverter.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/FormattingInfo.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/FullLocationPatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/IntegerPatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/LevelPatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/LineLocationPatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/LineSeparatorPatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/LiteralPatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/LogEvent.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/LoggerPatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/LoggingEventPatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/MessagePatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/MethodLocationPatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/NDCPatternConverter.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/NameAbbreviator.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/NamePatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/PatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/PatternParser.html (60%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/RelativeTimePatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/SequenceNumberPatternConverter.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/ThreadPatternConverter.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/package-frame.html (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/pattern/package-summary.html (97%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/CompositeTriggeringPolicy.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/FixedWindowRollingPolicy.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingFileAppender.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingPolicy.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingPolicyBase.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RolloverDescription.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RolloverDescriptionImpl.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/TimeBasedRollingPolicy.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/TriggeringPolicy.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/Action.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/ActionBase.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/CompositeAction.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/FileRenameAction.html rename thirdparty/{apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/ZipCompressAction.html => apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/GZCompressAction.html} (64%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/ZipCompressAction.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/rolling/helper/package-frame.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/rolling/helper/package-summary.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/rolling/package-frame.html (87%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/rolling/package-summary.html (90%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/rule/AbstractRule.html (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/AndRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ColorRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/EqualsRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ExistsRule.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/rule/ExpressionRule.html (68%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/InFixToPostFix.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/InequalityRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LevelEqualsRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LevelInequalityRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LikeRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotEqualsRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotLevelEqualsRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/OrRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/PartialTextMatchRule.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/rule/Rule.html (60%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/RuleFactory.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/TimestampEqualsRule.html create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/TimestampInequalityRule.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/rule/package-frame.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/rule/package-summary.html (93%) create mode 100644 thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/spi/LoggingEventFieldResolver.html rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/spi/package-frame.html (84%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/spi/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/varia/SoundAppender.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/varia/package-frame.html (84%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/varia/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/xml/UnrecognizedElementHandler.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/xml/XSLTLayout.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/xml/package-frame.html (86%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/org/apache/log4j/xml/package-summary.html (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/overview-frame.html (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/overview-summary.html (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/site/xref/stylesheet.css (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/assembly/bin.xml (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/changes/changes.xml create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/EnhancedPatternLayout.java rename thirdparty/{apache-log4j-extras-1.0/site/cpd.html => apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogMF.java} (78%) mode change 100644 => 100755 rename thirdparty/{apache-log4j-extras-1.0/site/cpd.xml => apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogSF.java} (86%) mode change 100644 => 100755 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogXF.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/extras/DOMConfigurator.java (98%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/SoundAppender.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/UtilLoggingLevel.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/XSLTLayout.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/filter/AndFilter.java (99%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/filter/DenyAllFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/filter/ExpressionFilter.java (98%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/filter/LevelMatchFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/filter/LevelRangeFilter.java (98%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/filter/LocationInfoFilter.java (98%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/filter/LoggerMatchFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/filter/StringMatchFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/filter/TimeFilter.java (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/helpers/UtilLoggingLevel.java (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FormattingInfo.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LiteralPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LogEvent.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LoggingEventPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java (84%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NamePatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PatternParser.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/package.html create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/CompositeTriggeringPolicy.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.java (89%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/FixedWindowRollingPolicy.java (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/RollingPolicy.java (80%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/RollingPolicyBase.java (91%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/RolloverDescription.java (75%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/RolloverDescriptionImpl.java (86%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.java (81%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/TimeBasedRollingPolicy.java (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/TriggeringPolicy.java (77%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/helper/Action.java (74%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/helper/ActionBase.java (78%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/helper/CompositeAction.java (83%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/helper/FileRenameAction.java (81%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/helper/GZCompressAction.java (88%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/helper/ZipCompressAction.java (88%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/helper/package.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rolling/package.html (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/AbstractRule.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/AndRule.java (62%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/ColorRule.java (93%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/EqualsRule.java (85%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/ExistsRule.java (83%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/ExpressionRule.java (63%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/InFixToPostFix.java (50%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/InequalityRule.java (89%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java (81%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/LevelInequalityRule.java (71%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/LikeRule.java (88%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/NotEqualsRule.java (73%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/NotLevelEqualsRule.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/NotRule.java (71%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/OrRule.java (60%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/PartialTextMatchRule.java (83%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/Rule.java (87%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/RuleFactory.java (97%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java (80%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java (86%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java (92%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/varia/SoundAppender.java (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/xml/UnrecognizedElementHandler.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/java/org/apache/log4j/xml/XSLTLayout.java (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/resources/META-INF/LICENSE rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1/src/main/resources/META-INF}/NOTICE (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/main/resources/org/apache/log4j/extras/log4j.dtd rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/main/resources/org/apache/log4j/xml/default.xslt (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/site/apt/download.apt create mode 100644 thirdparty/apache-log4j-extras-1.1/src/site/apt/index.apt rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/site/apt/roadmap.apt (81%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/site/maven-site.vm create mode 100644 thirdparty/apache-log4j-extras-1.1/src/site/resources/css/maven-base.css rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/site/resources/css/site.css (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/site/resources/images/logo.jpg create mode 100644 thirdparty/apache-log4j-extras-1.1/src/site/resources/images/logos/maven-feather.png create mode 100755 thirdparty/apache-log4j-extras-1.1/src/site/resources/images/ls-logo.jpg rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/site/site.xml (95%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedMyPatternLayout.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedPatternLayoutTest.java rename thirdparty/{apache-log4j-extras-1.0/src/test/java/org/apache/log4j/PatternLayoutTestCase.java => apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedPatternLayoutTestCase.java} (69%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/LayoutTest.java create mode 100755 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/LogCapture.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/MyPatternParser.java (100%) create mode 100755 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogMF.java create mode 100755 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogSF.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogXF.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/VectorAppender.java (100%) mode change 100644 => 100755 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/AndFilterTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/DenyAllFilterTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LevelMatchFilterTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LevelRangeFilterTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LoggerMatchFilterTest.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/filter/SimpleFilterTest.java (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/StringMatchFilterTest.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/filter/TimeFilterTest.java (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/CachedDateFormatTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/FormattingInfoTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/NameAbbreviatorTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/pattern/PatternParserTest.java (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/rolling/FilterBasedRollingTest.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/rolling/RenamingTest.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/rolling/SizeBasedRollingTest.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/rolling/TimeBasedRollingTest.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/rolling/helper/FileNamePatternTestCase.java (91%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/AndRuleTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/EqualsRuleTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/ExistsRuleTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/LevelEqualsRuleTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/LevelInequalityRuleTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/NotEqualsRuleTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/NotRuleTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/OrRuleTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/PartialTextMatchRuleTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/TimestampEqualsRuleTest.java create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/TimestampInequalityRuleTest.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/AbsoluteDateAndTimeFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/AbsoluteTimeFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/Compare.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/ControlFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/Filter.java (95%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/ISO8601Filter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/JunitTestRunnerFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/LineNumberFilter.java (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/MDCOrderFilter.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/RelativeTimeFilter.java (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/SerializationTestHelper.java rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/SunReflectFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/Transformer.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/UnexpectedFormatException.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/XMLDateFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/XMLLineAttributeFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/util/XMLTimestampFilter.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/xml/XSLTLayoutTest.java (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/java/org/apache/log4j/xml/XSLTLayoutTestCase.java (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/TestLogMFPatterns.properties create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/TestLogSFPatterns.properties create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.1 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.10 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.11 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.12 rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.10 => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.13} (51%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.14 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.15 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.17 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.2 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.3 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.4 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.5 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.6 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.7 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.8 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.9 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.1 rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.mdc.1.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.1.properties} (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.2 create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.throwable rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout1.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout1.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout10.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout10.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout11.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout11.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout12.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout12.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout13.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout13.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout14.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout14.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout15.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout15.properties} (94%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout16.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout16.properties} (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout17.properties rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout2.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout2.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout3.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout3.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout4.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout4.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout5.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout5.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout6.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout6.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout7.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout7.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout8.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout8.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout9.properties => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout9.properties} (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter.1 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter.11 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter.6 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter.7 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter.8 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter1.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter10.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter11.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter12.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter6.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter7.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter8.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/simpleFilter9.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/timeFilter1.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/filter/timeFilter2.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/filter1.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/renaming.0 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/renaming.1 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/renaming.2 (100%) mode change 100644 => 100755 rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/sbr-test2.0 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/sbr-test2.1 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/sbr-test3.0.gz (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/sbr-test3.1.gz (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test4.0 => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test1.0} (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test1.1 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test1.2 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test1.3 (100%) rename thirdparty/{apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test5.0 => apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test2.0} (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test2.1 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test2.2 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test2.3 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test3.0.gz (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test3.1.gz (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test3.2.gz (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test3.3 (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test4.0 rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test4.1 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test4.2 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test4.3 (100%) create mode 100644 thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test5.0 rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test5.1 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test5.2 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test5.3 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test6.0.gz (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test6.1.gz (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test6.2.gz (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/tbr-test6.3 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/rolling/time1.xml (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/xml/xsltLayout.1 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/xml/xsltLayout.2 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/xml/xsltLayout.3 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/xml/xsltLayout.4 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/xml/xsltLayout.mdc.1 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/xml/xsltLayout.mdc.2 (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/xml/xsltLayout.null (100%) rename thirdparty/{apache-log4j-extras-1.0 => apache-log4j-extras-1.1}/src/test/resources/org/apache/log4j/xml/xsltLayout4.xml (100%) delete mode 100644 thirdparty/log4j-1.2.15.jar create mode 100644 thirdparty/log4j-extras.jar create mode 100644 thirdparty/log4j.jar create mode 100644 utils/src/com/cloud/utils/log/CglibThrowableRenderer.java create mode 100644 utils/test/com/cloud/utils/log/CglibThrowableRendererTest.java diff --git a/client/tomcatconf/log4j-cloud.xml.in b/client/tomcatconf/log4j-cloud.xml.in index 6503db8bb54..a33127524c4 100755 --- a/client/tomcatconf/log4j-cloud.xml.in +++ b/client/tomcatconf/log4j-cloud.xml.in @@ -2,6 +2,7 @@ + @@ -10,7 +11,7 @@ - + diff --git a/deps/.classpath b/deps/.classpath index ded495cd437..6936ec7f928 100644 --- a/deps/.classpath +++ b/deps/.classpath @@ -2,7 +2,6 @@ - @@ -34,5 +33,6 @@ + diff --git a/deps/cloud-apache-log4j-extras-1.0.jar b/deps/cloud-apache-log4j-extras-1.0.jar deleted file mode 100644 index c2a866db405678a836847222d93a230a1a0c812d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153863 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%0D66f>KUENH43FG28AOVz+wJlQ=hKr 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 diff --git a/deps/cloud-log4j-extras.jar b/deps/cloud-log4j-extras.jar new file mode 100644 index 0000000000000000000000000000000000000000..61ab1c9c7aca3288d53f9337b6fccd77cfedb251 GIT binary patch literal 346729 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

cXzs2? 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®L1#m` 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 IffDoo08+PodjJ3c literal 0 HcmV?d00001 diff --git a/deps/cloud-log4j.jar b/deps/cloud-log4j.jar index c930a6ab4d4b73c1a6feb9e929091205664bb340..3f9d847618bcec9c81f36ad6ee76a0f53816987f 100644 GIT binary patch delta 371309 zcmaf)V~{7!wy)dvv~Andwr$(?wEu0}wr$%sr)|4?+TC~Fb8f`m`$pVzvMTFCMXpsD z8S$&N>RDMCPZ(eIcmM@yP%u;=sJ{nnhc6G%zco}KFd$h`6+t>lIWY!VK{-h=QDqf+ zS+TDPAfW0LY54<2B)^;FH-dsJZH^>egGf$VTAF$*WG#&v8V<+ENP^@mzL)2y15#Uj zxyFU<-|6EgckX&Dw5I_UEZ$^N%2ee2SP^f4?)OhEY8LN-J8r!MNy256J+_z~C?ls= z(_k>BRUFyJL-ML~h~T^(SSPRUl0dZWeO{C_<$BzuF#DkD{?I9_VOJ9KSxvKkCf={` zGDZ=9?KAVv2TZaAj5?812SR^kUf1F0ZLdQIV4_`-G(p;*3poCMjZ!b%0pFW|_zVz$ z5mHJ~pQ9YMXuWmvJsTruL|)8w;W{0K3;=Hd5|xgw$6w%Se%(d!TZog&wXMdQ)f+FQcqk~MBn&wGZtQ5*z6hk3p$D5n0ubbnGL(23D2qV1;e^?BfZl;R2H@BCBAzLvMGWPYi z*_0<0jc)x*`=rXNF*bJ!yLx?y{|NBd=WrT9HCC%!Z}cX2TlL%<4WfW=ZG( zx84dtdO)=h(sLE_2lGl%Bb6F09$Gh@aQhnCCq)IQnpsu06Uqg**DJb8Ql z#s@?}8WJjH9m0nL6bJ~#2@VM8KQ$PSfJF`Z_Z}qFKVk&=zl!|VnECd9*J)!ML<}Ms zB-E?J!-X3n5Re(|zx(@-v5D8&e|HYyk+UO37~w>d{Z*6_X$u{|L*VyDd9k^-0Z zcZ^3Rx;k{z88pwIPu_=<%|g&+D1uXU^L=DVwRNFMMsnL;5%B-B_`3!}N%nu|;QqJc z{A-;S|6}!mfQVDS0pR$ljB(�C!uPWgQ>qgO>U4&NtLB^0P#DnT0<`3q$eCqbI3D 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�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�!7g-M3Tb4TEzCma*> z;X6kmi?)|}d@f8(vXVVH-?d$NZnBk)rTxe(rjpRe`jOQ_9Q&;L*LNNS9WmdZgoS$Y z8oxyVAf{Z-FT@G;k%D$tDEra)c7OlrGadk}B83EL6*e=Nm_U%x;-!;9MiRop;OO}Q<0~?^95nxZmB3hnA&B;3o!@Lhho?xD@K0_8PNTAT zVGq3Vw+U;H$;xk^N?#EfNS-ao; zwzCyxH(NOd~WaU$liE=6QBawEwhG8o4|ATbTv4oUb(rbN8CbY9jqe|L+;VlEVMG})yWwinJ6Ug_LoqxYBt zpye++TX>=6A6o-QDtcN+T9j?Ro#Zx2I~jsy>KmwKA1}<9j`UsDH0havUl8Vv(gx=9 zlC`m$631oJ6)bafcQ^xU6LV%5kHNaN!@C-IOI2~qyqF8rRMtgN#niHX= z=DQS{GZ&XolF16N`e1k9yk>H$p~%%cPXYX9C9;O7jiK~lnpkjW8M5D^zRfH^j)j@I zu1M+>rrZy)+T>pFAN{#8AEBLK5uH);IAA_G>2)h;PFm`Vwr8)nk5y$~eOt;8ZyeF5 z@J=6UkGW<12KeQ#$d9FE{DuJKhwW8Gt@*RKcmw$JaTwd|`hyW4oX z^p*d-yX;eE`7Oh{jirYYgmT8JqCdF8Djr$9fu4>JG@l8zJVd8lJE3^YdnoRT2iqfWD-9Z z&}0lK(1Fb^9l;aW=-R2XY2> znDBeRf0ir}B%t-TD!a3d;RlK*XXBRk?1az{xA{PX3lA<5TwVr^4b|n*r8Iz-#oZtL zl@JI)I~RL>>``!&=*8ZhaNR+@{=L9el(TP6F%L<#glQ~>Lq-l*Zdlk5S7gRhwp^W} z=tRqZTlENJ^#~LKpQa>w%17le;X z=;V=4&$k#Qpypl{6Wx+By->pwVbT#{mKf_&i-_IKdQ>`Vjt3DCiBd4m)%s(NkG1Rl z!oq!nM{0#!Q~1 z;#S#+>}HPjm{=4NXIyN&EuwQsRgo)z!ikp;hC7FoaJ-S>u0Ejeje}NTkPP0h-UZ%H zgx*f1BNq#tT=h2*tA~^$sD;%Xo+hF{FHvk3Hbz^;9iOHP=mFk%DAM4Zawv;*L0Kk> z4Nf{MkUDmeq2~yBqE846l4h#&-#Z`?+BwCB$wn@j0Ngn6Z8r042lu~#Uy(@vge4xis0R2k_ zCiQS&fSP{7VB8&`n6sZF&OkJdz+wXRdMG#5Rqv8DG2qm$dA4Wql zDUAYdFL5D&b9L;8ywb-NC*TyVidJ2mdc{d+ZBi(AbE z&j^0D!q@s3eO!7!&jO&D77ecw>97j1A_*B10Q72)d_b$(;k3YtTD|c0{l)pRz&J2V z=Ye2gl!U<-*Jg`9V1;I?WABMfiS49xOi*sl^gCSAM5tdT8>6->$N`$M^>XKeZ{$Z@ zxL$(%!Gs)o}55uwbj5Lh9HlW2F+%Tg0?r+4^gvGi# zK43;&Ex=inGIR}aY$^~NYAO%Y%&1<*2I?^rtc z(Ck8NZj@E&vfzW)%MOh&v*(qrcUdA$z|era(bKF;bs;HN z1?Me%J?$ov#m~!shcJJ|Fn=A`E0_K~A?4IXbbJ(wwF}9Sjp7PY=RH1V1Hqc7->{?W zX^$RIF3O21CSC?c^l*N~07&qH>t993d%)l6!|K&?SFqO)@RRyYv7i2eR$xbw!V^HN z^u?x@{!76E%p*J)fb$h|Y&f1#sX`LkFEHmKvjtvjix3R(NGR`7t#U~&7B{c23!B;i zp4BE`Fev{6bbxjyxacae`1IHCOHjUPx{+E%2Ja9zEICO!doX&j0}w$%@t0q)HIJ_5 z&dzjuHKo20y6NIq!Hk%-=TsCI3}BcrJG#2s4e2&B;4NS%jE;j5j(l*(NXql(3I(OV zG%``!PP4HmQLgw9vz^iBZ-lSh23I^4653LeZ(v|wSigobOZ?W({-zyAQ(bisPZ*Cq zM?3aZuYj`+&eU1Z9iY}32op)_sZS{MSzCo7(;gjND(;0e(1C%Q3yyz?72uaozX?l? zgeiC*uPGRk*XYuJ5b3|u(0d+7*FprRw%bu|x3$==@AflG!;H$!tPrG!1iG_j zW&RZ6z$~nth)9mn_25$L;{Ew^G)U+qhc8nu2FJO2F{n-_{ucNhgLcgbK zQz2s^H9L3nXY#SP%*at{38hBDU=A&OfWI5t!u22Zp5PuRK9r>$F?VA60Nj=xUU1iP z^t&B9UVQlGTSz-{n|7DG&}#w{JNfIe*%ZsK94S$C7t=I%>l*!SpVM0@-ON02CI#Bp^iIjy{EkX2+ z+(Hki73g+Y)}{}t70`B26W!lmZo#%k+zQ#<0n{({E6Kjtg@!LTE8<%RAl?S2CdJq` z<}_!1T4!VNkd3!X9gytDT60z|O!f`E(tfd_Rp$P5j&=YS*FFXzl!e$`0{j+ zv#S$ZqHediZ?391HZsS8?s|r&pK1to>5qj!IQ_FrSL~9)cg6O3Be5>%HesI-s4pY? zy;im=qW}oI&oR5=FM|+A!!g6v0@@u*z_tz0wkgn8R^CxTuCZH6@^hs}V`CX~6I{z` z24*YuT}-Cc9uzKkmum1Sv1H~dCotV``nvG`&(pDO*bLF#h`FCX*+<#kkq-$ES+d@I%7XY#0A^p{{^YBG2cHYz$>zNXt+UDw+ zp-LSwx&;#5DY|*d-6+~L=F{gkZV-|HjLaG0NX}@NUc(1t)b^c6C?}fe=j&&qi>X#k6Yx)bw(Q%o7^Y|+3!a2oeKD%a?C__st8 zd-U!#T7M1L!*vI%f2~~XFPoib&3^W6!&b8&cFckTs;H;o26tow-hO!v>bRx%E-EPK z1WmePT=Hy1_UrCmZ@p^2ZHa%lXJ5bhWR>2iEzWe}lX>tfMUuQy9qrK@c6fv0P6EnH zbO3!3`>YcipAksj$cWz1j&;qsS>68LU)n1@+jkP1)uXj~yr-{?5^{VCH`%w@l%=}C zk9!C%4SXCpv#|K=hkxckvx)Q-Nni@UFjITCcduRHe?>h2Le#wi)V(4+o?3%LiGP>4 zLp&UXg|goRo#De(`~qJ(0yztJssVI~sc#ch0EjBC;D4Nnsp*+o`c5kRe49g5pZ^4X zR29;rOtZGDfdQ_A1$qezKokR$VP@i;$lA$MngZmeYVR_=74czQH}?C4^!wO`0DZ~y z|1kU^gdZ{kE?BE*_XBL>Jd3XRWZzx}-Y@u3LE*mbYpwChA7$GHWsl5(0|vk%)?=1G zAbg0iTpYF2zJSQW)K7Yc<`f2ZY@POme6msfhyFdiX?J_~>;8c}J8#+b;S_cE79V)Y zGq37@5cZDIm37^^Xi#w~wr$(CZKGnFt701~wr$%+#dakXCl&MNea}Aa?(ej_&z)_~ z^=pi|e)KW>(?=h@KhHWEmZ?!4GlmyGLS*y}Q$N)`5%avb2}$qwRs?v+!ddQ!PZeS( z-d<5sCmfkrFk$Q)9N`blc74O1hQN%Io*u~>O@QlQ&qzb$1Ow#Qqk)#1QJ_wQZQ8fN zXqu^D3(o=B^eFN4kpT&fcr-4FaFY+(^TKOq%3j$67iNJ42~(42nF&xAY}z>1o-pjC zz=sDfbo8`NmIN+C6PBa4;Xc=avH(0&PGNm^NKu519UYulH?KdRg%lFjlvDtQwuFRn(|W845LK zi6A|tvn-`^6X(x_ZR;0*tkrNiY2mbadhC+Dy2fM`o5p0rzS73RG>a~;8VAvEer)OY zgnEL8=t1OJ2`m#lP|_Gu;|?dbDHe`C5x@bKmhlt6=ZaNVqfx$lfv6EhoK47;b6jRO ztYN&u-ddmceFb9(B9RDv*>$GUp04s9=VSi$3{11;-ea3o(OCTV+llz^G80UhW?Wp^ z@EgjZ_~8@vRD;kHj*^5du5;HDj*KM)2sj>R;8o9CbfxuCM=BWXwv3aeyAuvsw1Dmu z^R%6%M2I2nkEM8R18fUXrL@`yl#Pg8Rt1p@L2PbU*l1RT5ZD7(v@L8UyDSKo7#BTR ztgwVcB(^*-R1cAOc=sOMZN&YpH_#Lab(5UK@LS;(afdkuZ?g6nJ&r|OByCWq8m8>H z9+2i!k;6^#v36QM0q>$pVQIp5C4gaHs23>-Es4?apPv_EMk_>hHpr`t2q5QsuAu#< zvZ6j|DukeW81T@o1(aRi!3Qp&;Gtn&J%^glY?}S(oX)-5Ojqc|C`njJjO$4Gy^v}1 zp;)q&BXZ`cAM`>K5Tkh$usw)bFNGQX7^9glMgOjSPg35pF#6!zSOt%Y?gkK0&^x8G zWeQf<>dXluBp8sG;zb1GM?{lHM9WepNFqf@BE!h}#q8h-k;FYh*mi+eEr4wCg`AHu9#d_vK{{S1^i-!Sq$eu-(vYJu?xu&vQ7Ei7sn1+>xl!+*x8U=rfZ z0HQWvRc1c+aB_R^b6IVRB#wXAM{#6TSJHxP zrsO+EuC~~7BvXiR?M{A7;wYOVNDR1$wJZ&%uH@U4k!MyjR03APtDRa*Fx9Hhf4Es^ zwQT4~>>$xzGXkp@H6}IG;qaWPvUM;AwbJ?!Zbn?|L7az8sE}mywea9g#rfrsCiB%6 z2WXU`Y=&r7I5dfC0J{J&0iekX@`yh3+K-?TQp|-$O~;@xYD zzQ)43Y5Z*01TUXmXKM#?fdzA+Kt>c28NNYFM8sI_R|%OrUzWrFnh*>ASbHY}gfDOE zy%Uo-FzSxR8~b=~9U{@klZyEHMl!DK4DYydd-nV`iUADv-y=YQX9R^&zR4AG{v=E| z;b#fyKh={6PUugwi8M{WK$S!*z z<*dM$x7~@SsE9Z~ia9`zLCurO3a83imQ?eR)V=KV3lJCq-P-^8(3!`Ha#G@&H!Ct{ zL3-kXbO-Q)_O>9*`z#RdT>*w!U+(#Uf2$+U4twDS>jDMc4kxhoAS5{T`+gqO^V9Bh z&qo(ViwVEZ{@Vix*eg5O87=usCFBF~rxYOkbfjI|HLM`hZe(jPmFLj>gkTxN;$n*~ znjinZW2Ab}UQ1%9c>i2$0wD)%hX5mAgCS}}y9%Jwa2hT0Oa@=%pdQiyr%*L>@*`Vn zaG9Z{dYx{{6NT=cI?Rrd&1Ef?i??R({KqJ&JSCC5kC8F^^P;fkU?2ba5EpMbj|-;4 z&G6dzQu>G-?GDY<&>MMa0Tb&^298B(ma#FxtrdjdMx-dx#k-o$SrZp;Hw!R30KAT8 zp&T&dT+x_)idV|BQaN=Ku?%Na$NtWv8wYXBihRl6{2=FJ%rZbDmTJa!Pv10CzlbZU-ej{<-- zA=ob$TO;WpeGa0H`k4#}jpU5RANd^l2(aePSaR<8W!Gn>G5FapD9NrjKyl6JNttol zZ%g-?2na!Lhah zQOL)M?y{DmP&8!Zt!`?L+4(~Jf(Kw{Iy#iB`6=fGZ8qtRMX5PJ=0zo!6xJT5d_bgX zI3r|PgPA+it7?#?^J#olA#`K-(LHjBgI|haZCY{WB$cLrc@Cre?tbwaUBj180WrVs zk@%u7daAiC>y@kt{JxuHWBgMOO7zehixf9sj{pX0Jch}T!;55H#DiBLGZ#?AfDbPu zhAJ8HdP3VS!dBJ`8%+a1X@E|+&HTfn!L4uVp*X=bqL(?*C~q{WA!f#UI7Y8TC#poU z@oN*jFx7>O96odnNz-WZCeCv-ak2tVjqi~ufc$(bR4h@j$^w5}m(ZUBK=f$!Qpos=rczzX5wQ(sjk-dIlsz^i! z&IEEX38|<)3VP_DA8v|P^hFD$$cp)tW-Iw^wY3`%L1oh2`sc@PN2ir+oyPVz3RqEN z+fv6Y=a{ZMLW-^lgdX;*Zm10}zsWk1#xy74khh}Zr-6OYUet2&KtTQ!W7zmDY#MoO zFvKm57DH_)k5_f(%y+QCYwUEXJ~Ju~I(wSzvX#S_pEU38V9}fni^t1tyv3mfAt zW)&T@z^z}y_HL|8p^NJ-5Jzsbi(|Y-5pU=yzLacZox6_h zxUtEPeag26(Blll!CqwwvP833KRG+s6gk5^yY1N?0zOj|Gsrxy$Z6e*JuM z08?)i>`0>Uh__9L*1CtnUtj!M5*q-ihy@4&!T!g_RLOCD0Ly2pUyoR7Lef>fK^OShVP~DZf1ahCus?7>j8t=rC<~G_nvayw z&5Ym>M>IO$@_3^u)~t^Q%Nz|WWa3*(CxJ2V=`@oY00fggGC3ALcv_;KS#L|{7MC-Za_QfXH{{DKib>vUcPiMVZMJ0I|p z@>Xla$#)LaHPIdx>lFu7!)y686j)X%C(ZvgUb z-0yEVxy1&~S}=Np`$!;PNAJa_FoQL)N{A?oV2#aE1rTEw=JA+joh>x-ao6y8)) zgax9R(8Q-nGcgsyI=>GIi=e(kV%;JC(c^sh&8CJT z6xW=LuQ01S5@9k>nJJ-r%AmhT#_@w!YNhq$g+qU*@NBE&a{1n(<3n#{=fpc#m05LV zt%G6CEum)g)H|?-oxrxD#^S^~w&wUu%sZh5*VV77hVzss?@U9Vu=Y&V%`d;kgXjM9 zU+zU4;}z&q9uSb{@c-Vtzt-;0_YY&u|GI$rf}rF;p?*-Pq*x~;0Inwb2SqB|FEf-$ znZqG@IZI1bZBxl)3Q*gmM6otEWjxi)A_V))dbU)GgdZx>v5CJ@n!eM|{fYq#0W*g2 z$!tlL{f_5Y1Vm3vV6c-eWieO2@KBmk|e^uV7C(Yau?A z+DurK0OC6aMhKcI6`+6FkpR<79b+%j79ZK&bTurBhG1bXs>0S9=Tu9@Nm>*f7@~)K z+ZJCdc@rE-$qv6;j^!Xo@0~MW2R=Jd?NHWMp*-wTaO_3Q2;EL`m?>g__8b`rEO<%{ z?Yy=_-%-A40ORN7X3gg1csv;@FV}|XZvXq6oYj=$G#zH891uqx9=#E(FIYj8eLKTo zVf}rB`UgQ;Sq8ez6p%6VaB8uV4~v)ARY&+FShr3r`$9`qHU*-R$A%$!T>5acOIyHB z!)^^~N~zmy1r2YieaU2`%ksCZM#(t_V)kq@CZYwyn#N$o4`+L)fvJ_P)4eLYTeZ4u zLo_5C&>kv-y>$0l?3rh>9PgxRiQ&Zzo@kq2^ccr3INpG?Ww4-yOXV#wf!seGJ0MR zLD_|`74Ca&+C^g32E}sS66uys#1;llz*AUv2c&yNsuVh%`>JM3hLkh?74&o2@9&83 zx_`HB{m?N?%*$C!1?`{F^Nfg=VtSnC-O}3X$E71+v*EGMvTP&fK`Z!7F;B^5T)cYC zF=dluV*$sL!t*w)mn!TI@~bK(I+;hJi`nxmCiD>v#{%Qp~s>Ngp&%+Zye z`lGm>s-utBsgYM_PoNDn{$&StUBw5IW2aBd+w(W5#E2#mqlyXUXHCe8JnWSQsH}nu zPWXbFH*om9L$zpk4g{{~oUU&;z4JG^ZwjMVHvlMNfEozI#tKG|rJv>~lZ0zmSSHW* zC=`#tP(vVpt5mFBVXb`C$&=Jr?odozNEPgpolOa}%?;M;7VCor#NekQkao4cq*-?p zTtB_{i0o89wGoNxLic;OG zPQX1XZhN%SVC~@0h{zEh>Qc@xDe5xi=4F!*RsU`Wa>-Detp!Y47OMb-6qFvhp$BWL z>BZYg8{6tX51!%ku9f2sXAff*Ic)edn%G!3_j{$y4M%7YAf+^t+18UrJk4Y9MHC^( zmGtzBU~B$2CXK||a_^iU5;bj90XI<$2>_i(=A?rQJ_FWJ1UnuPd+zkEJqHZf3y1xV zNzqJ2+~&O_1xP?k_rcQ&nR<0sD8>a#nER0HEjjRJr#T`sadPg$7Xm9jb({8LG9?lT zmriu1v_12PVQ9y49g9FOz&YuRzAaPjfRQUhE&6~}uh@@!Gf4DjD^E1(B1z@!KENf% z6)ks^iclajx~Xp(KA0HhpjdL4t4-P>K!_Xp!5yKRx-6VmC+cJ zg72)Omb8u_aUT2Rlk#G``SE!dW;RrWhAc>(%;AebXJ$^UJ zDZ?d-f2{w~boV{JxO)VA42)%MH=ufGxTm3{x@A= zUu?fYd9sgC{6gY_?Pr9N7_M#^0vO6c2h-O1BzVqwK^*49y}5P@_al3vAAo2HlunmQ ztTf#4s@)c4Hz7YlpNv&rBpfBl3@khXrOc)`N#{FH(P9%lb&P4|N;E-+eg| z_P}Oo>0rZV+Miem2GJ^>U=4HrY8Bj(CqGM7@3ClVcGXR>20ya2KQ{g(>GH!%a^;)y z@qp~|O6>z*ERH<8xMuH4R0VXYBTz=r$;qm64PRdzkGf@Oko&$VL7F?K;1r2nX%F|b zqx-U0+%X)u6TimHu?Uz;(W!qt*Rx^m@J4&?uw1fj+jREqO!lD`DVpHsh=3`gZZ}p1 zSDrT0e*0tfV4E3F2M5v`qV z9GTk=(|)_5>F*vH@$atGX1(w<*UCWjx|uMFMc&@8p7B1y7+zVQ&bW02yHVd{2TFzP zzrcnH^yOr3LnBurD^3dk@JiuvX zA!tbx%%;3vzg(cQN|J?h>%M17QOCLLPZpp`PToV&d}ejIrg_AFE>fT4TSb^5>iKk$od z`z;bZ2;sVh(XOQHOc&Fp5w8g@PMWjcP3%It3QA->?Xa75_snBp!1I0Q;M{}%r2P_F6Rm{ia#QYlllp=P8MgIX&OXdvQqucHvp?17pxc7vu;$^c0|Js;<7wn z^9{V~)1O4>lyKJ>7wh!U!WO%(Ijq*6cJk1h+DUGBM&F~1o<$#?jI-We*7mDa@oX-4 zJfD1=%J6-JIQL)&JNm_BM$y^0lss0Gwq^6YFq#J|M}WP9n2H-yX|W5MR$_j^^un`f zy;8QSQJZU(#^^&@SkucENw7a#j(z$_4LnR^+LZ;_z;yVP`-loml0J6_q_@QHY_n9M z2m7ZznCx=6;sa>Wm7?Z}qgVAO!b;!@^P7yDB5(>EM_D#|z6CflmXh7qu|iOe>4)$NNm=5d_S#S`ZIMu4 zis*922|1}s11vODrr@-@TH->C=L~#$`Bl#dUOE%c%vP85{skJ^1^R=G!MnTYH3yn6 zaBad~y$Nh(`((~V#bddOo@m!l?>fop3a7hp|4<79H`V{peSKtd|6dvf|9ewWI{``u z1eE{lM*oZ5I<-b0hzKg&BUq(F+=f-gh=MvO`Kt~I^;?X?;KMpXRp+#;&M&}$ArrEk z?=IB!KblA}0w9P?<1^dbUuuOe$1_X0JHRm$2u8g_W@RBl3Vk`_^6|Kl(u;mT^W|6YN5S6)Jz_1 z^oGUI$P_Qi>k?PQYM>-o`*e{ESWrNuRqy>p+MT2q9y1FbS$=eEk;cO&xXW?}$hR&T zyrk`DvqtIYaNtiF4W4ypg|6>w0%LAV?fhQQ7r+YS4x5TIzBhva`ef)K8rQ-YUR$+?%j> zn4_~MVNcZqUasbv=_8?&{Av5FLMH9_F*&UJ-S{l$6Jj-GZ+2Le7d>|QIg3QLmnb!L zHsLwJ`NeCN6^d&JqCxc1BlRU>3c~p_1o9~zJa@Iv z0)9`HhHF{=6lVQ|*)(wehV2T5v?Xtsyht}bDdr$vx5c`&eTGyNI?6Vnk+{(^;+>_P z=&qH$zF~!_I=obBOD{Jd`N&vOfh{{esr|yCazJ-wjd|4cQ-apri$Q6Jm)&2;08{Q> z1oy%amd{52=hZu2v!$`!hbV6YhtC4qp}{@6qaIPDi;l2C`m zXic6Sz8GUp=7$r}SbRY`alc;R68z)*VYyx&NZ3ZIja}}vCx&bvq2ytEW_+xleuW%EgpYW0DUHgWCmlRL7>VJLQCYZ}1Cdg{v&LmS*g3ANGtjxSb zk)|#!p4x|ZGY^c5q;Abx;+sW!~CC=-UmY?=MI+VnY|YBv-F_AYcN(kzL6V-H!7{2N!S% zsku{`AKglc!3q!7joGj=G-cu^Swlm9kB+$(D}xI2YbLNTV&$Y-^sNgRr&XS{n2o*C zBwmHSr$)z#(~`;euLM9VidCI^Rb(|TV)yOhOC&^}6O`$po9{S29OS ztFiVRI90l6k^X@941%&^`KYo+UZuXupg$NxJur{9=Y7P=ay+)a!#RaslSTT7X%hj7 zeS%bps3k0tW>O=6DbHN(irNaz9&~@VZTD-HlX`P8cIO|6U=T3eK>Q+&ME<{!Mm8$_ zv4CKH>3ukDo&0?Jm$aTtgDQsgOEzI2_J5Ai|5<~QfKUcoZCW72JgkAzT#FJ0#5Zb^ z!14&~_HUvE4h!z9_6wKs7eeaZpS7xrtT&dTvwoM_*G z8&8sU8QPSHz=*oD&4q6VnFf@7#med#zGMT$3^` z!PM((|GwuZc<~0n;#8b+Vq@rGdm{+$9#uG={>rT7zJG@}9>b(Z=Bc@h?5Z-8`q3p4 zvHg-24LelVQd`ahZzvw$ZyWw2$w&DCq24>qNa7>s-X%^(1wA~UVR8n)K$sr~bWdhqVPYi7!21utgSn*#;Ad;K`X z4lpL9940dy9xalH?X_fqM?(NpZBjMaCH51ZAg@ z=Y=o73Exe1wCKU2K~p@B#Ix8rfq9t&!AvLzu+ptw5z!D?E7nM(i!}KIfS@(-Z|_UPxoTa5JpYBTq*WgUV0AM5)6 z$fqWFgDL@J9dOmrK58y*R+FSrHz};vo4%75%~Yz&ph&&^T(s)1P7+BfQG`Z)9l>VJ zfyr@7ytNLvy(BydCE?I_RbT9&kqTGG+^QG-`Atd<>?To&s2_~W!MCsCks{V zA>JYTNa_=0;^sp$$BA!0i5Utzd~G&DvLmVB(H{%chxsiN5|nS)FJpX$t|B zX`$mvy}tf5Il>B|g#+S*;AV&FQ$`viS&^)s8pAH02E%Zk%EQ`Og>SFJzsc8w)w`kv z&}*Tc4dOK+yySPE28@3xSuWI;dEz^ad8!WUdS)8$d^+HTt`9?)uRaj6YcoAaitjX4 zm4w3EENtSV;$wI~s-$-vBz8bKCFTQWqDZcAN`6}bMPZWU>+{%X3hXA`46FCPs00-{ zEu@mFzNY2ix2pKgxQOeoH)QCVLVqEG?G(o!m>9Zj1TstkF-;}SR502~PsM`Ye^NRd ztjM|9?Vhb6sg7SP`FdWk3>bVSQxcScRiDg_?>X<8a>CoZrPKsEa}+ZT{i za9IZgDDW&LMa!M2cMk?t_4^%4fm{u}iyQ4|NZoZn;GRa+a*K*pEuP{;Hgh`I%708_1bZSVLy6*@yMrBv3mo0 z22pOGfO0@awaJ@sGuBT65a}aL1RxmGytUAy>aA;km6l(EdqQoUj^Ou z5MANGdLsF$9bmLTyswJu{~E`s%k%_Yj+D>IAv-m^L|MP+HxN0E)me@SyJj*!B(+Ug z6BqzTOJrXNTXEn0S8aL`ySX3b3+Ung1L*$`Kk5_?h6yD4`9-yEEm@@*Ut+Fq}KUc?1=8yF#mQ&=Rg`CE8+ zr|%P$0EMDQ)KeQE9G~P8`343#7p-1(sGCH9d|v?h@s-Mbd;y$B;6jwSWl|b3@=1TX=R#u#*Kx<<71%2KsjUX=z@ zJ_Sz1aEw&fH1uQob_TCQ+WQM`%_!OvPnG2-`;W3tN`+}2h-Z9ZR{P+A>ffnP&Xa6t zdP=?XtG2cPn4uTZgv-9u#i(J}23``sZuWVm+3Y!F%=oOkdkL=G9tJz$JIfqTRfAUS zWpwCDXy6UOY3K6IIi9u^oA+=+h1u+*+ZrV5qb)- z&02#;F)}CqU^V{`mRdYz5+o}IYsd6RkHK-gw@V`cTO)5Bs;0^q>!>_*qqA^X1EQVO zotyEjFgrBZf7QP!H)$Z2$YV*O+JJQ1NUUtONX>j?8xt`EoK~_D)pt2ji44u~t9#^` zt3PLbWBz4U4cULC4`vQAb0SX0Jup^fl);jU} z=uifFK}KE_Uyr(|!|^Nl%+O&=w#;m0TB+QvquU1&u$u272PNi^s`U-o%1i*hIR#5r zd(u1K0Q<0Y_!i|9;d2utpCk>7Z0=fWQkob58K)v0VFDgZ$3+U@uE4LxY!Dt{$$1{S zxTB4Xou)oJZK`we>{g0NT54~<&KdV&wF0b=17{Ci^`wvKUb&5|De0FXTbdK? zB6iaLiBk=wBG8TmkPHD?l4%*LS=$mV&p+NxP)@u4!`qrApWeioW%s^W?6pcEsoWSq zEH7nVqQk~sC9XB-Ts2n*OY13|%Z!X;?bIAz9`wpdiS2J%Y2{2#M-*1 znc|ns!uRPPWKw6Tp-E3Yp@h51p@jPYNmz}nr~qvX+aD%J4J-GqkjMAG&S(&G5X36?z-hGsfNg$nM;qXU+& zG2hgOci7(WKj*F$h2I&oNIoSg4F`K~2vb+uJw-W64VTBo-#1@164U?KOwvyRR;_p3 zjyFKH&Awz=3VplIh`pGl=8wKF1vi#Ym4`GM(6G+d45Q$%%;FZ2RZsoW6?GcHr29)i zx{TC3rEc7~5xTwHFm*C;&J7rKDvQfp8qe*xsU`C*9@hJ zdB@q?UBnPLw%bKvmwOy(Zb#S?o1d?B5#AzQBWH(K_zLSNqDNw_vkC%pDaVs(ex_<} zT=l$8d-LC4KB&kcS(k$y(x!{yHELY$Deqx=)?{{Rqv8Bz#J_!HQE{!E0MA+lx% zE;$eZ^M9{|cvQa-u14}{AsC%YYd z)yM6y^c)MzkS5!Tkgh06nHaE0Me2w<9`hC1rr)?|@Vene0ed~foQ>zh{;yp0<-2$V zd0~!;nLy- zdiw($m{!g_fWgk&Mcys;pWK7jlkuWnoI&;A&uwA0Yr>-*1z?XR#G}P+xzB6nq6_Kx zDXjw(HEoW}xjYw?BF?+s*ms#mYq29p9zSyr1!}KVekOgW;yI>pwBzp%TrHpn&7rfY z)S4ueS|g>XkQcWYL`+qp!RPV(nb~eNz&(nZF#|!o1ypU_nIrnG$r}=ga1%(dw|61M zB|0cxb9gz2ms0~a-M5OU<|Or@t$6;%MQIQ15uSbKc7A!|b=APQq0?XnAITFYS zNcv!nfIqJ22peg~%7xJ6o}AmFbVQ+sh!(8`F1$LBD3hA3L=Pex)t{em(z_JW1pA z?)*PvgCJ?HGQP(B_}aq%Ph_V8OkU-%+$h;<|CL>1jLGfQ5Q zY7G^ejk(pi01eA|l1R}uvLMk=_H?A&Va)5=4z{QI)JniTj4xPj-wwlLHcT^Ha!pOj z)R#bK&+DbjWzXN^-rkScZw&q8Mp!E^Ou>)rQ)X$jW&Lg`A9-GtWsD%QpXaWiJh(DVRIVcW+YH)4hfR zcJoujgWTyA3Fif{(G_d^=HFkSmNj<+ZHO#YtL{6CC}rWm-5Gn-BvM(%0x_fSac1u+ zN@RQpgh&(zh$fD@pE>8ZcQXWq&2#`pr|K>=sfP0LVtL2Sv|Mn(R9gtu=q*Oe7mJRb zmuPiUTfLUn-OObnQ!g}0p9*$#lJCD`OEq74s)s6fQ1Lqm8s4>fymeHCfpNx2ovmmT z9xYcc>jl#fz3_*nznIf0>m>^f}a*n@gNiOSh~s_LRoi3Xk85EVtJ0M0zz#u?xnd3+^JIhA~q5 zGm9Ycj)gkePU`N{ZL9+oT13(IYeWmb;hqX z)f=UbhK0x5l$WPJ;fi6#f4l(*jgDe1)RmdSAX0y%;FcU9r?UGN9H{aw-yoE@RZ(rb zaMkXy;#WTD4Px>vUl;$pkIX@1%59cD#JAC~=aH}7DC6TPlsmW?x#KkR+$i@||NizP zTheR5v*!QK&&F> zu5~O;P{@>RP2vjmZrZX?CzUll-CzOl!tOu|*Bkf!_u=r3ElcJ^$s^PCmMS{;Ettm> zUHxfi)fK^G3v&d7o~gXdl69AhWJ=_Akv+1wLqAbc+nkNe~@4NUuTy8ltlh-brDN*M%yH#MkF9iCj?PzTMwu_7#*5Lkd_ zOvd z`qik%g|A}O{Nw>!9FCcyc0Z070WJXbRB=LJBPg$uMo?v_7du~0AW#CA#!BGHx~#%j zIGeu3M4CTKbwaUhPnw-CWnjU|c9@l#uM>IWItwR9aW4eTKyI%X%>ctP)A>A-aq<`L z9-ZU+7`98l-h?K`g)=oHrrFvoq4I%L_G-M4vvt2~g$hw2`faTA&1>nblq?_{M|GKw zvuGJ@72CL}jz%bCD*0%2c`ZqcivZx%t+JiPS*@M!vH2^2)yv}d@>?K1W-+i;&M;N)DoZcJ zLoW_D#PQ(rPvlj4YA>wrRtMP`hXN$%#VKJptW^mL@y1rKhT0Y#GDWE@b@g}KE`XM- zwlz?tSc)1l0%p}rQ)3g-X%*w8>ZJu$$#nRpNN9pCjC-dcHo5QjL=`~SEzDXw&boOX`WBY?%cYsyn+Hk7&a#+jPY<^d;y;NHy+Y+=%Nc5BoXby5UeVV z#2GrwCDYA>-|#^v?NI=*4RooL&Pvg8vO*(-+AtPmltS7Gq^KF^>{GpT_?&uv>=LKw z=bV*3yVMgII1?{70X*@K8J?xUlHgzRklg|Dl|AqyzHus|;K_ut+@-KS_qM*N%{Yt78TZ~I8Z>a8ta?co1EQ2IAjC5-)$oE+j%*g zM$NvkH|MtmP7h+oD-;Q>YmzO^`BuV3+huVrUi0Kg1_eOfQ$GagaK$dySSi$#GC7ySq=5v>E4>OTaNZjRw_zXU*V+@g?OS3g z^C9;SOXMc>QF_Z!f7d+_``@w1TDzA5Gl7&)B4=JRr*sMLup^l4qSD>kWvU8`$qvJI z`M1O}qsahQ4iA_Sn&_r&eu?aZ^#S$(HA~@Ydkd`O1K#T}_Lde-J?c6)Lc5qM)3Z4E z{08>mAY|aWXZ;_QM@fT7eG;`C=zzP!kEj;7lPSNr7IRyb5&_YIBNN{xBcw}a|NPiO zTtpMN*D0Ej9GnpXyb*nzg)Mf@Qc+I7wM~|FMk9diC6w#p^9x$U({Sn!!?<{wIF1KrOg2U*ej%ZOtIzkb7wASFM}$a-g$fOz^7>vc80*i}TE{pQzYN zq+B>ST+$d&EAOzl9}!b=mb0$@F*OkY;=kO9o5oljne?5fii12Wd=k#oN`s%7aW)x# z0JX)Pc-p5n;5T^RDQ5+0xPo@AoJEdUs8V)Z=3fuN0&!NqM(?bX>1^jKq1qzPmU7!= zPL>R%EX`e_n{9H`>nE9ps-`^yJ-*uR#f%MKkk(1mke*ErL$F(^?n~a zTy~1x%xuRw@~w0-vQ&Kb#U#uB{dr+^2Ke@>hN!Dr!}+n=bG6pudFNmow^zJ6oBMe? zZT;ktG`SllL_1R$bak5fRIwGuIkwY^o%*+{&*#Ot6S_3UDu+nTEkSjUUDqpHnon-k z>E8NNfA6sd>JvN`6Z%th;4}PMkm5}d`V(vq;GS}=E?w!Kw;LCVH)GZt`ebsbtJEYH z-*hu6^(J}DI%7MGgSETdmTC4bzsKC2888kRa2-QpWVJbL_-~N_VFngl=2zKI7vg`9 zp#KxxfPF1sn2knR6`<5m(8oG2wjN(0_soBU-2XWN1VrUuG_1>ofNuO=5&`}ds!wz4 z_d9<T!a;WZS+%Mqmch#~3>Gs6X$5a3t?`ldy8R?K)ZD(j|}#UFts2WyM* zc5MK-hl53lhU(2_I6(CpRyZI5nmM8!2|bvYLh0d#Y)EzS&(O$?D!i&aYE8(W8^o=E zXq1eZ>N{rk-^Z@0*`6a|rICk2GUFbH^-^xmLjDq_Wo>6`r>gmUCR(3ZQ?}yW`U7fXbw6 z9sjN_l-n++iLb>n^&f>s|G8LzU#F`iNsf)!|5*MzfWg$(*u|w;%g0ge2>sJI#R1rMc1&Y3_VJtsTrXO zMNQ{a_pH#m+1l<)6s|?#)3Wr!^{c`3&ZDQh-3!ZzB7LT>_0d1>?^E^;_i?A!p9RX; zfiRk{2B;D2HWES?$6|Oxmg^&=8rZ?O%Amn38(3kJa5%KLG@6@-%Ue1xl2!FL_Lb~|I*kKF9D@v$ z0BKBj%jCCouNV|6Fct{|1(BhyCEe?%O*%a1r)C{~mnElW8|h11Fg{V)<@WV>o&4Er zKO8RPN?5bXTqrYsRX+r#+n~R>`KnM^OBJ1$)J)@EOySs=CbE)$|AWzCkNp2I_RhhP zH|)0P#I|kQwr$(C*|BZgwrx9^*qE3TOft#M`|i8XsqfT1yKZ&=*;6 zb&h)Q>o+tIQ)r%ChbBmWD|a_pqIJDHbDLgoSa9`BdW#CQmlU|m!{pOKzx?z$W*dOU zGecN<%g#cL`})a4r?AZUG(wT4XeAIiUE`QCz2(=7HHF9vMvSaPg-3A0IZG2-8+>v% zHXtK06WtLx?v9HR$+|*?@v5X(i^X`6u``#ae&J4dw1TdK;YIk%BC zx|3>&rh+}Qu~xkdJo?Am**xP4bTP`t=dSdF$JX%tGp=!sxX^T}>Of89?}MQx%|Nft@U z56D5zJ2h@vjD)&fBpsb&o}{uR*>a10K@i)-^okvOk{ek+_hzbPT?S=n+erj{6|gK8 z9ND~RVvK*9tr-xy?en2892aG`F^NBytizpA>Rv6$Wm^P(#rzmH%MB8r>4~cl(LzGL z*|0mJjpYwJKBC~bGNN#Q?8p{zPM$ZkOrD37o}XHNcGnY$aaRPfay6r!f^Z|hvIOM4j|u6JMlQ)?|w~`-PEYAbi)lk}7-S&RW{zCv%mVAwkti=VsI& zBlpQZb9Miobq;r~Kl;D8WdWxz+FYvbIL?9X3Gg&qlCyPvH9t%o+|r(&4--=Mb<64T zab<7Zmf)=ZC|Q_w8XZXTnjJMW+%_d`2=zD(qT7d{Y^>^wpcMToxJWB>lqMck0Fy|l zP~fr(H4|a9Ks1Gs?<>~tK(=b-$&D+GlwHI6p%0|BY_SMhKlZaurx+mPLsFb#*|;vb ze&%c1I~11eHl572oD3K^-mDSMw6E!8h&r+RFm$H%H)`>I!dG#+N90`IX+o(Yw4mi{ z9GYt>Wyv1>Ej4~m{nALv>;cE zdp$p>rdOHL5G2ePN&u+0`0;U!AKuBCyecr)&YLre_3YC-lvWSe=zP0$^4TTD|*Kda%{yQ@ti1f*#YN~2H@t#q`8`tJ~!Q7$m)d|Cp!AkQOiNH zU;D`&9Z_S`=Z}DM%>+z^@*Z$ZUI027JJK1aNmGssu*y&{u@D|jDbEp1N@Es!?vzL1 z__&rn=61x)q9ahDCW82KJ4oJdAwCBynwf2Ujjp2H%k4)Rs`>FfVmJqeHuL<9Z%^`A zU;RGOmE&#q`32&x9a*C{)eIKZk$R8fp93$zHy7@+HaURRZ?IsuPAEC4&g;bgt6a-A0Ho<1rR95RJgP8VLpm&5ac4baBSBS zj$e%y#ACUT6(Br+W6pQf{PbB1Q;y7q6N)5qO?OW+AR(3)Vx4y<%pbedgY80IpoN{u zf?vtN@2CMo9&Fl;AlK`Wq;*H<@_AiCB#Tn>)}Goy$cJCddDi6cG?kag{GpXbV8b3% zB0RC6>j4bN#m+Y^8P?#?RB99Z7{0u`-E2|PI$eoAkCYUZ=Olp+g=}1=?argepL!q( zzehn51>v`C%}5FN!Pz>(81N6hR~+walPNIvJ}d!!(GHr-!bduYa1t=AeI_6GimV1p z-w|)CKGC1|a4%SqRJ6kn;T9J028ZM`oUi96iqSs0w-e2Ee{A1wAf-FY@C#yKcZRS> zG4u-~)HCw5PbT!cfobi2b4_4vIF-W8bHWZE_|IQti{j{^{X=)O3Ob_YEUUT%oq{ARyG_m<-eIkW27EM8Z9fL9w=TKsG|!iw`<-2W&)pQhxe#_ zK3V*H)9q&ya~PA;=@IkOq7P`!Z))Cuu-^dh+>5@!>%CGfyT-h`=DfRPFnc671dK5J zBXX~p94d3yuhAIsC}%_NF=eP)xf3(zvr%&T>McH6PQB@9-Mtf6&%`dx7@2zd>aGpC zr&C&+bQWf?10zr`LjXr$q!=}3*z#)$|C*(59bG>(e_S;XK;Qpr1`Zd*cKQJX!Dr}P|3YKPo$n3wA`Ki6Sn z5kRynTLD&=VsQ_n%k-*)QamXprv{KX@(1u@LWzI8E9#>`UD#tG)-772ih*!dgDkNJ zm#lY#z{N9BD_((8$23q6S*pb_yWe3|fi|mBojTq;TEn7OHEsr)sp^N_bH@P%8B~%m z5LMpm{_}RygX*eXhIkwP>pYuE72{iexq@6LIZqvPuf1RG3yaoM_=Hsnz{$c!P?7uP z0Y&wMir&OVTT($afopI)LnJC+G%-nmTA5%bHXXS=$0u9|Ej$5O#-Y~h6Q%KaTbhv9 zrMk{QeX~TgTD5|#JjX0GH|(JvCshk{MthW$d10j+iG%(bhp2%q1=Ls^?MH4g?p#FC zElp#PFy{r@oW+I(Uu^IO;1rWpvlys9W$w85mrwJSPwNVNm?q%VJvcju1tJFCdZbJv z__Vm>;zNLdh^!ARL{DTnd+Kfy)xGzBbBV%;$r%lmP~4%#Se)kz+XxPBOd0Ih=Nz2a z$Q(x}v}ijD;4f9I{dq6&&xVO4f6id)dq>oW{l8m6M93fi*&ZY-cq;?Gul7*+me*{Gid#Gz4#INfGXL5ZXB^fXuagAD?#m(N8lPy8(_o;j~4Q+Inz88lHBNN zs~*E$0()mP_a_oBMLnyeKmliWka!sf$%STw20@K zL^&%RFBzIME3Z>6B9TocM4`?_^ zpvwErK-}SlN!grC$3~3W^fmpfUV%-EUkKgmaC&C7{DOOB3=6Bh3S)@Se@GTvc{7{m z`S(7b&7Sc;KVRni6=T!ylEdh8cEW-)_D}F))1=bmDl_Vax!_tel^SEiNEt9x zbpbWQrQEu8!)S0C_j%AFBA6<^+|$!JQ7K{QkZ3xYc@W599Z z!rV=@4!WQ0d% zNg*PDiUbbl^L6EN%?lDsc8Di@97)Fo6Im)m-JN6U%hh0)nzffjc1R$WM7 zv}4Mfo`Lq*%xINFmgoEyunsmBdKbieIFnNl>S4ZIu0uSwltXO4fJCV@sUIiH>;pXP zzcCN8mxcBZDu4|q-dH4Odk^KgXmL($}mUbq(R<2wu656x(h$=euL*s{pjG`7|b5ru*Viv3* zWV?Ea>>g1^;KM-}DQLLVL{l!UIV&KA?c;5{j&8h%EJ|#qoH@dYPIiH4#~QgU-34qf z$!xwpAJ}ecveU(Q{rHc~PF0FGrs_CS&98_9v)nGZ_&A}brWy?)hYk3|--b5O@r(A9 zoN8V~OiSNK{-#5JIfe2Zl;EHR>rX0N7mCtdrVI`sSK!yJWJ*+hOO8yoOMC%pIevKU zcad>h9mV^ip_3Lr^$XQC(Pt#dMbsp--DGUXxTf16(WQx(?;ISii=>4z#dB?^qe$I zoq2%!!-Dj;-cakM>(~}sE4?fxkJdcHu&c=|A%FUOWsAwN=4hIjK==Tvw>L0imh0qT zAx7CqEZ$7GGQUmk8%mP?LT#LFk?df!KhyrOi`3oj!fhEk_Jn;*@fzG5M)L=sJTxru zQ*ds2&0F-yOq51zhgyCNolV8skZfXX;y6!4yDDZ_qz~W^-$E4PXnmo)u5yGV!qw->L1k*^V7j8YS1MuiCY_byhN1(!PQQk4@Q%qEdnZw%4i zFoYi;pM`=PXit0ztB6#wTa-dx1-mNZO)}9dtYxDgWTf`OLfU|pba^|E_PB*4zPEZk z-HRON4sh+eR0vH*ugfB{`-E09_Z251?kt%CbDchBT za;n>@li^Mjxzdfw4nL)oi%EcXC{t&g3ZbS(p}^L0|9{<2q$H93Y5Jym7{UMV6b||0 zKX35Ar@G1j9Tij!#LuwaL2hDTV?~nA3;F^a6b7V_is)Y#z~E3qF=IwA4LqDY&6&9; zNg36r{t9_XFFkKb)H|vtL}q!)sriWnNmDO+5>?G8nrkHtuBD}l+B`9t?Ugt~IXo-oNCzwruw$WYy;)Lwy^RmP;NqGuaRw9-d5S!hQBR34|E$IMSXHwp6B78D8Va@9ag24yI@ z6k<3}k{;y1d>8K?rp2fC$qGYA9rMDCP2WHGg&Ti~7KdNs1dyqE08P~jLj%{Yp~aPIs>2IM9sStP zHRm5hY&I!$3f9!=wi^rU4W|g+K4wd`KEvw3ugNuTY9TF5#h&9Nww)I-yXZOqo|2Q+ z^)Io(LIn#ecJ(fq%;-fjVk;ZDu*aM%;@r}DKR*mpN@hnyh%z-R~^ib zd|y-Uqso=9Amh?!Vc|V_u9@u8eOo0el;3}F(pKZEw}$1d_*;AmAK<~oW+mUqs5zxh zzd9o(HewX>$a&Beyu`7IUAzr2ZoU6gHVGyELm{4&S@WSUa0My4ULa{mezwT%nn_|h zC=+dH$jj{Xp}OXxf{oRy&M2KW=m19xMgjMB0^jjN<#p=ygtiAf0mn zQkWEIeP3qh1FU0fnxUI|z@Q@hjTaH~*BgqQ0MV`shFtMZJJOEEAo=GLH2Vt}PcRzm z-e_8%qD4heTA*J01)~Q5g)pJWJuYC`@|40DqaWr7lj07FV3#nMH97t7Hq>1U7{mS# zqVdizVtrzp5Jd>U4+y7-A2^nNm=domrdO+kUm^&|PSS$Uh^7i?$C9@OkYM(|)dS z{bFwJ9pY`85k=C<<1!c~h4xRgh_Dfeyfs-A=Djvv1o!nWzvz@>Y6oSpDr|LJ5RCWZ zhXDG+cX&p_$D+xQD2GF3KkgivRZV7W=f15I4xc~D+zPg4l<3QV^!vBB4=ajPDxgts zY+327t9Q&T;o8l#2fbTTuLIr#;-oe1#rB%N1AXv+h^_n|tr}7~Px?R!7-%zo;?6%r zKwKvK%hm5MF~R*0*?}-mAYGvZ3?5Lb`d^pFB8jb+(v8?kph}h6Q4IxRD@9@IijuYD zY#DdT?OTPg^gOdSPr>Zm?+7Ce5ohGG z+c6|@8=UqBZTL68jOIk4J><5B{ZOoCa3(M{8Ses&Wbq;xTW1=SQiOH@?$~iY19l2) z&EakB{nqWE4vz!wc%zrhoTs^A6d=IReg&j9zRlz*u+Fge4~_Nk9mw=x`WStR44C?* z;c>kE(~R1LnM6vc{0waIRlKkJs(ivpV&~kubtsT@FM~>Q-?|xVZMTmF`&>p7P*kwp znJdspa-4O@OMv-cKP+6pJ@&9|m*=k*+$}4b?DmfOtJn!sm3k83m^QY*0wmzgwAq2v z?IC51Zw@zP*LFmKVle3R*qTj-CL2T0_}ZQ!HGyg{@r~yDk)h?D=7bhTcs8oLg;p%G zqS-IF{r3IU_|6(kGdWY`l)|IuD_F)>a(_<}Cb7n7K$_b_yjRo!7S%`Q1QA8Qgw-pU zQs#ziN-GAPEgTU2K&X#T{pY6P(HN=S$KkhvgSII2(|a~I4W$2RhyW8{9^sp7`03? z<{0={V(*+aUf7QW_=A!`_=a5DL~1iK;|nrP>pMD;K0z*Zgt_rUr$e?FtyWHVko3vL z5$@+Z68~a$B}oZ01tynJ4M*&AnTuYGn~`N<^drI72tEbFKAgQFj>~$av+nii`Po7> z)e?(vIY~cOli&z7{`o!5Khp;`qN7-g?<;%acF4P~8->?6pcKLtN3Gv?|2>%Vz zW%ac>8p~M1qKGK%sHTX~dhFIp%dD1l&0qos^9}gxBr^*Z9=ns#uY-9;Az9x$h}UoR zi!f>^OoCtJEIcn)y%ux1J|6y`e?CF1wueM;*y+s^M_XcLGA0k1>()D>wD|OzCwuIV zz#q_0X;Cr70jd;|<``I0Y(!gi7(V{t-G!DI96OFC8`oex^QD(QQSG7IrvyielEBm; zhH5RZ(lm;~X_!s3*OK4X>%PSPsG@=1Gk3HCtdHB+B4xtt!J*;DXTMTUNtcq4| zKyu8?00dAECliG#arhQ=QQO_GRh`E#Enezy=M4ErR+LhPw)@n3tXxP*JmC=EjKL~| z|GHCdt(w0XO@y4fj7-X_r{;zI!j~!%{eXZhYU8?k$ta{54ErQ_wA?fD)G|v~1NF0z^+9=4rMAK82YySC)zh}tMn>FIKNf%0m;saz6 zi(VD^_Fq@^=k~Y?;@=pA`)>^Xe?ah?f&EQAOeW9c`X@|6qzjgUL44Z;$vG?wBKqNk zmoU*&DOtT)S_S?f^2LPWEGR0Xru()hRHwf1JCaR~)pcmuC4U-m5VjUN96;EYATm#f zgeQdeB&)X=V{tg^#RI&5p3ngEiqnXK(XiQi(0C(&55GnF-&R!+dNP|+l zS3I1m1lE3qZ=cgt!+~h%SITb41tQcAS%P8mbD~mu^eFzWo3ea4?vOamy(-1Ea&;qK z7O_fsv>0qs5&8kVxJ65{EM=C5BEc=@#hTwp@0O`q+U&RVC%E*?LrDfZTu6hqRWW%!`! zQS+Fuallnk6aolCiMd9!XUhre??D!L>=^OStxdmz_^4|a5NRRED_-$;joU9)(B0n= z0yfb-<$G|?1*#v2-9}EcVBE^N4k&)cBFQ0o4S8^gSpcwXi{Ch<`Jc`?=D4B##H^lWV_e(XD_W%1Y0hK_WYw+}Ynr8jKSgOeXQ>0@3FA7Des?0wS`DBM;f+~X&D&f_h zA`wjDpDDyuM64(gA}j@?qJ*HgJd#C`sMD)$r{cR0MwFDKlf-=m`k)-SLf-#zsHpRB zGjlc5{y6)sSNpKA&+22+u(w!**}>aGp?ZfW;wQuV2KL}X zNL|+rj7<{p3=57&1wJAKQ7#~W?XIa5mm04Bf;rx7Q!KSdTzvk#30RTgg4|F(AM1mC zR|XT$$8sry21azu7elIar%Vo6UjoQa7q`v1QArs{)v8^e3(c5q%61r!B$MT2L-r|H!g zrsCvh6$);gVog~d^AX5S`~;5vlI_JI&FUBc-sm!VqdYkQcBuz++BLGFt^;_rrny;y z#SRYn<>QGJ!G5^t0w+n{H7MnSB4t)IO3kG)Lq6a~T2mNnDn2Yk_%FZZ;= zzPM5}8Jb=5f79NUo?1klJ}@!Qrka=vXpg(}oNgd_juRSUlB7H0t7Vik#YeMbl*1Ya zOwW>-#w8rlWxt20034&9Kg9SX01cX}`JXJbBzi+;-#uMatkwV+&M3=B-qF9J9KQv* z@sYoy4$l7&b-t&w|CVJC0Ji@FPVh`n*lNIH|$wE{tW8$LV%A{R5}$ z1Z_lwdyrS9hz+sNV(w#smrYpTC?P)A{LzAPa4{g&Lf<73l?4vXy*Y_o$_ zyZA$7M{os4xtkaqK$mKNJXyeCVsOb~qOS2Bc;+4%OFHl-NQv57mI2@NRu?_#B^7_v zz7kK4s25Ah2F-ua)b*g)$y%z|i8EGOY$o!JrpJHK^i&kQUR>T+#`yBGW5c~Egyez8 z$$3i{9~9da44%cFhWEeFbc{9Oc-)66JD~y$^NprUil}cisp~cS<~%qD9$p&Q>)679 zvMT_7HqFf#Dt2@zEEPklq9|vlc%s6aRd}N&R02QB-wSHjWBcVHaN%R|q9zE5aipEN zEEtHr{Ao`+=#N0YG)u#8u)o*0_7AY6&nH~g?I`^ z!&qB9IPSGIGFiCv$Mat0Byl8p@4^JX<5FwoKF|nABkI}irBD1VS6jc|*DDnMO)*MA zU?};V(W3lM5L%;+@oyg@zZyo_Sg&1mF>=hcBw++&|B2qVnnWcm3~Q?CZ-UX$7g0O26|~$ytc9{v^W0sV z3RW%fFpm%H?>rQ0=@R5E2?)PJgGYb)M0Mp7-n}DjZ2)qO4jSeFVxOw?Fa5b`WyKPW zREc+}bL9J#3E^I3Z$SS71hI+c1t|&tDU$$uBPNX5AzXTsnVm#{k`Bz5v@xW6G)Zn0 z#*%Wzm&+|g8}|t7Cea)TEK_J%{3>F*V>WybGfNoOPlLHt!rk+DQEN=}uT5uS84^iN z@OqOCzWNTXVcJ^fRJ$lrDRM^Z};&_Bt`;{R9j zO0JrK0iZA;`pF9~h0sv}Y4dAq6AD5SOap}|Dk-I+Ls3~LMtOU%FOMv)#r4=rD}0cb zpp(LX{Gf;QM>Mu2<_zF$NL%A!;d$h}^?H7MiO*LY@oTZBG--@d(R|oi#ZGHf9&ClK z({L0qG$&pzWA{VWyvF8Hpq^CBIG~0cf?- z!qVa&7MFxwB!dloD3OsNRYTRQTBs%IdU>*~4lSGOdgM1hGxdGM4@Lf|c`XQEVQ>Q* zBS(Nn$Y?h5yjUK29mewkz8@jX_ytJD;2bs;`|1%}ny?M1`|<&1fmPSlMUC_gnU>4Z zCyBD}s1{xAOcBk)68D;mOqra3)HLtSoTW*nGB}WHsD|q9mQ^+NYzpAk-sSD*$*Ppd z{3_iI3t)yU6_$EDNY%|Nm=%=NII&dGbfl}O`G5>XE@_H{7Ip+@Bsn@ZE1fPBnftu zOOTh^osiOg_`Qf|;1P{Thy1_*-i~!dsOIgd6ob-zt~F!69cADFk**zB66lswHH!SI z6zn_?;miNdFkB)cd}Tl1DhldgQ1g5sXg*9WJR{WfALW_z**fY+Xhy_14BOb(UnDO< zL@z&iQg&Z+WO}-__hGEfz2bZDiso!@oOB0Qp@!M>C~$=VMM{)Wy&HH3MNkA4MM4DgbufRHbXRGBn!V-Nd)xi$ zed)dJy|p9oJG${nj1M(#jahb*90J5LKR8xE_I5=2iA88tZv$0z;UMdr~8>b^GC_uvE z)Q*7kYjOZc!?3c8hP+UfxWG3nu~qCf&_~-DSVY-kuP(Gz*T_0fIcaP|+~=biY{O zVqG)7E%tcimaGph6iH3%kk80Td)C(c!8|v>9g&3?Gl# z@GW+weVFaThCbDY6(zbvnDQ8!RF{kID+anI3*6lr#e)t5Fo_VNHfe3fHdla+hmoCg z{r0zL9WEA(fufYHM`k!*n$}<00==`XB}i@Pm$~c3Q&-)L;OfvLaKl}Bqk}VV7cn5`F(cuuB5WewAssW2oJ}zY zD(0F&R}mv7?!U@9eH}=4nt}qpi%EKspIG8DE+n^YVntRI&bCUkLV?R=H_}cMcNAPM zzLHT4gbvF`;(|H^hnAYTc$+*BQ0Q-EpsZ~~cj{dkH_fp@chPTe&n)E3l9rOw3{xeLmPIRx z%c7aZ04dSTQZtI8p%o=Mi6s7sPg3NvT4YsdN+i}`aW+3m%CMtGc&p9}YfxGEQVx0l zR#k@a?fe-~rz^l26pPB3?9Nu{X0flZ;53EzUZKSf3|k>Qg%ab;(_&;u z^z3;Rpq0eqeeEe_ph)JM@_R`H%A;nOol(G)xlmfi$W{GOMP09+vnf0sG&3CNMW}a33l2hMUsB_|^j#bVQ=L1++-Y8D2qqE7&ADG!N zZQ&fX&(_PuI3wmB%LpDe^}Wqs$8Q=s0BIKezro5-+VOMoQLM~=Yt4+=Hh9j?Q3@te zaRgs>wHpLI$twoq=ASU(Y4=MrJmqy*p=q$1rPq;>PRC`Kugg*udv=dg;K-c1kOMfA zeScw8Emn-xH=ODco6BubCG9EOUMFD9QD@^SZyH^==i_Ud(Drjp`8SBgT7D#y0VMq6 z(W5Itw3|G&u4m0YuZpL@Tk-$A9rGX2-XO9nD`|39jIFsGx+-V76bXTBa{$zvuGSfT@@^_vlG5&2PhMhnw~mB9vxoH2-xS!fB7rJ1Mj0Bhd^WTXs>C zRhDIG4}Eswx@wKiCO&KvYbAJe0ra5s1mzNlqx(=)Ad}bOqcWef(^V}k=ZYjmBg7WV z*SR!-Rl!;-xj6bwL}cb>#($cYOsVOqp6WKl*M#@9v(&&@sgEk*E%Y@&mpTO z+h&hamxz-0S4r_%p4UgHO0DmOjHU7I10>uyI)815&Y$uV5V*zM zamTJZgh@1JjA%7Ysa;YJtC<}N0?SC%m?0GRtcfMjDHx7cwjK{rEF_@Iw~TM=aoL}j zJS|l@$qT#v?yjDr=!*4$=mruacK|~$!DyHO@rzvO2ctd78iZdiNFlt@z2c6> z<4~&O5~Deg0>=9%m3=yE#ig%}Bk^l#jJZ1VCPXJ77Ml}X1F6) zygp&{sTZ=!ihn6}_=qYNUd~b^8XG+NMK%tJOU9oWB|(Bttf;WNwX^Jt;SK6#LFUE| z#T{dn?duxIvG;MxVx>{nq zohztzBO?_eL=tElz9?RMtVVIxmKlPQF{$v41CK&P_MWflTCIr)p56wp&>7u>BK3n3 ziLNCgm?aW2cL)wnNKCA-)Xp0?MO(8|7arY110brN* zMT^I3hF>vhhJ6cVor%6S;#^TwD{MHWBt|Vsn&zjnXOmW)izapPdS^6eo;PTD>~u#F zad39hVOdFs9zYeyBNn3}477%?D!>bsE%OxIH*%Am+l%80Fe4d)5DM0M`b`;*CiuT^l>b|c;h)AK`Mv=I5cy~=Et9Q?tS#+DZZ(Lrjwpz_ zT%@X$SYV1oRET4d#p&ipvgLJ$^8ubsOr&N!2+?p%@d`7tE)`sG4&InKo|)-#7W4P| zEWJKrpPpT1!I6fsJ=ykVL@A<}vSB~bMygx9&VuSp?xZtd9W8?;<>+nc-e&10@wxGF zn5)JgFb^|=uN8M9fE0lm#THmmm_^EH(2BcxiN`jvlMa`iI9kP=sm{!GX2N*UPNz_y ztY$Bhu4mOI)vk8wFVT*G|I05L{P?2msj_tYh4pH4%4`4=#OGthefc5vJt~LXsgkx~ zi5Rd)#yrucU?hU)mMRj*aMz-EJ<*4Iu{+=l(Eek;pbby7lLp&k>pJl?{oA`&nIX=R z>+Uy{2$yD-1!!6sB9!Ideg430mKz(4$ThW*lSQl{ z%%&%PzqURf=>;qCsDH#x0nLNts_X6FCiN<}+?exwvPt>BM-$(ZiT|WLG!y2fKzuVD z@;@L7#lFQze*6ay?ms{KEqUY!oMoFFoSp-46&s}5%WW8qqU=Hg!`m=(S(R1Oo0d1L zJ+w=l*GBWu6tdZ**1o9-a&*`;151oa#(>_eAStV+fhpp(pkGfJX_lXBVaPUGh;-wT|Q|%Go3&S(9#4DI-LIq|drR#=5%v-MIlU zZ%oK?n^tdRq^+zNvS7H~Eh`Y*8YmquZAwN-jhe8yXi^Lf(}UB04|AEbQ)=NyH6s?K z*7b~2pthXkQu9h5YPD7)SC_ugyS>7m59wFwxS@?kvrvoKa5vXUI5Ow&7ppR?c{wja z`Qce;Ic+C~=f|!%W(#wiA>r0^tK|gHsWH~CVdAShlF%L8-R(1nQq`<7DxdOsap1wP zr>FPkTC&Ks=AxL>Zra|&p|Mch#PkG{@Dyo2WWPh!Cog0%F4R_RwB2X7C3hT8A}kex z>M$;dKmo_iQA+Sn^OS7y2eFF5^aK$Bm*zCy2T6fb6&&ZudZ(MMGA+i@9K{2G?U3+% zxq|V<8gaRKzQ=R#fbe{I;x2O-{ZaxcXEG-w5kXukp0VKO<744tnv!>Vs5IbV@IJhs z8ETs7%ofE#D^3%eWOtGEl5ikjZt;#|KgXVZpQs~iW)`E?&wG1Tv%GHkK!cVf~(lRlQF zI6by2|GU?Gij+7LjPYckQWeWHmi2I?D+{yVhA}P7oM9{}@(Y8_8G~CLAujm8iI#B6 z|Na2CQYZ>UaZW9YsSP-*cSa)~6Y2^3*^77|yDBo)by7p&FJ2PX=K3?<&AiLQIZ`O^ z(f;y|EtrQD;gRzittS$I0<=5&g8^M0B4V$QY$*c!B||@T&oS(iTgAB<$d3e$Xi9+@ z8`-ZT&+vSmvzJ!{82f#aka#-ogmAFC3x^H&&Ul@!QW}X(*$%a|4`nWrazuf z^W(gG<-#w=J&U|@PzNqi$iW)yRB#F`fR zl`hrVm8yzXH!G`ZH;w?!)=g_08=dZU_r_|yt1|Vi&3fN2m%Z%CY*S>#_s6qbpWE)2 z?dFepX9v&E{&+qiF4fZ9%kpkdBl?}mXg~?qXuNr2e)^rVK>k##f8CLHZu;Bg{>j5N ztCf5@7~GOgihlBw`s+EeeVTrBe%)c}5|2ohy44&iu!U5;T$a04&{9nj0?gl@togOh z;e9sdo2O-1{pv?{2E!0AHMtsga#Z^kNj4`OSWlcGG{lsZ2-^c zK|XMY-!2*LZ(ckSus5?ul;aN_@gB!cIVj+N<=jc(ZeAYccgYT6F?+W5Vaz`KwY(DN zd|>~S<;z3hEQ~|I*0H_@4;_ty8xX6c|9NBHwOPO^3PCuzKlw1qt-pIr^=uYtr;PjQ5jsui{be!KXR@ z<&kb_J8QiCo+9LZ>tsbi`jJXtZ_wlPUeC9kHGl1mg`41R*T|*%0?tRoV0@G^I2=D^5$@E{@P{To!NGXxTM=MR0rE&; zDytm!Gigvk<^?Ob-}X);WMkabU)|JO-c;$b&-(5stpDzQJ~b@~GhUiM1S3rZ$+imYS`ty_LlQ zhO?QS32e6|%p<~#6IEo!o1wvQrCZnK)1A z-A%=tofX3U_Nzmu@zZQsMB}vZqjD;^f@R>f?Nr$mZ5YB9yTwkTQH5K#6%uZ*{ zQTbSeca)6PjH3Zz6)9hNYU|B}Hg%V#1-#5hMN+~$oa1N>pkpHdI zbd~8S7qDMtcA!j#o zL${8xJ2ZDCH7Fc((pOcl)KC&5!?>}axsG>XzYizc)9fN&1Yxl85FVHeFdj*2PfTZlKGPhPxoUo?fC} zg!>`h_=xz)s;~%zde_>&?c!gc&?m3`_=V0X%k>LNhcT?)#zyrmLxOgEPY zdNwN5o5U7Fv!Q^?EjvUxefKGrKB*d4_0kPo*wyf;!A$J*EeU%-Q3uU4cPoF(*jG*f zVJse(J^{2WPm4>eOjIPWDS8S|k}5g~?@CrM7`ai0#I|EuMTmyrzD_`i6?{z6+h-O3 zKa{;=a3E3p_8Dhln-flK+qP|+6L*q{ZQHgdnb@{%I}=T^dH%aw`#x{gZq@eJ?$ce} z=X^MK-@og+Zs2(6Wp1Qy$Yp8J~O_Cik>?i z_46kyQie?{wGCyLyN71|yv9|0kSNfPmm-A4!6>2>9btxqU_Y92GqRtZvJWp&Q$d+Y z`tchJY&k`TNm#fNcERX}^lH*@;wl>it*c1yOnlW{eZ6(4ok`!Ki*~dHl$I>ga5F(i zY9wimqO)>A)`x&SsfSF`6ggnn8%peHf){gH#g<*!X?jxL4Kvsdf4(Jt#yq@Qocg_| zp1rT0IaU$sXKtgdYCnANN_|XrddanL&>P5Sh9=NC-k{gTsY9hncOb_ts*w5cjn8_H zn1J=v`=Mz{fa3-0y?kLG z_5iG>YB|PtxkZ1u6*ykhJ{qMQ?r9SvJrYJ;%!Un2LwnmPVxa{t;)iIe-WLzLZ?|`W zYg}?h$>!18+jENUUeF+$pHwE!pz=_koG(Q0B~uRR?+PEOqn}5uZXdCupTnPQr&tdS zQnixz6##3k%sqQo6!Q<6#iDy971HSRqpIi#Cu#g^+EZtpd{OGk1jPmjdnLU&{Mg|= z@=Hy~dD?ll$pvT5JR3rlduRHI^g7|&nrh|alZ@#F*U6b?-NcWo7dN`;fjcJ(78}_j zn|(PtgG@tf$cA}IDhYf2)4q`fFzx(uxrK-?mul<5aap?rcCBRfe<|g1vk^}Cm>~t5 z>aFE+izTOPt}2=NldR2J+Tk_XhStSv;Wsf%=cIa>(QCWe=#t2C!J2BvCu?8n(v_1U zos+IV(zIw;nqRcr%hhg(RF+hFTfY+`U8a1a%~H?M#;D6v%hZl$-^GT-ZKP*vP7InE zEdg3U!j>?tBV8}iRdlN8n3{`0a@;G_O|6^XBWf1YwY#9k8918fpXF3|^lT)Z($a5~ zD1M{ZDn!^umn=cx+t8d?Ez4_28Cp;FiNSS;xABYbg&t)H&sx%I8Dk;&pKK&ds%w-9 zfDWXPWj&Jf^w)<)A8KNiR9#uCmT98ZrT`H=3+mPu{z*HXxXnV6#mWmXiiFA#YjQY< zO3^Y=qxWs_-p=Rw7G{%QpVLppW^rnvxly)S&Stqeue=%+p&Aom5*v-O#JvR~|1Af1S@OO2}?I5;7W>R;b}GZyJbjAMDtb9G6~pZ&9VAqvMjR zrYoDCsmXv_SdPkCkd~44%K2k&oxP?FAuZRSUG8frZ*SjKo(&#n?AKLphumhLl&AD| zwM~qC6S5sEasO9IUsDk-pK;Qi12C}`kALlM+hgmrAc;fMHRt_;`Zs{;yN_j=o^D;im82C$5{k> zawa<+p_p4rYrIAu&=haW%t#Uu1Kn%OZ2gu(@eIn4#OTjD#%%vK&TbbS05z*P^3wkf z8=-nsh5739Ica&ejtO;p3YKcrA2HX>V4&}}M^%(SGDCeum7IB5>t2FP=!Mf14dMvK zn72cZVxJZcoZs1gqn*{04M)Uwt_dfrOA<=!LaHAxdDy1@GdvBo&epc_h-v!SSL4eZ zA$k~-5R8QvA>W*3xv`0J2EbJC*n6sz#@^|(F|BtJm%ANc#``_v&vQD?#tkrKz9rtN zGj`doOihH=!1Q~f*A7t&D@Zr=_2y$j)OVxxf0zkx0t^#lfr+P>$e z-XyUBfou;+FS5BQciQK?qo==@#j)}i)#i?PGvi@#T%|=x?`rUI4q)gdID_>1=iP2O zMYLZMzRx_S#q;oX$-RO|$1?2m3#$KB-ZM$NIoN8q>>2NT(_UBnAt>JKfX&CAUDOoL zNo8|`%~qalKkR$-ztN(FKu8fh?ZTOG!(qjkZCtsSKpf%$jit4UIYA>59byB<2(CF{ zgl+`5@^aFGZkq5cKj1wB?-Fv3NFLtE%Ew$f{%5DX?D?*!i-Q4bS*|Z{(_+7=b8s^J zcSiTxeu=oAs7)IDTacnHO7TdLwoYmJz~N~$FWiU}D$ zL*odmt#4&DbuB@!q@z!MYUQwwmpg2pEXH;}oo!?|b0j;qSb;+%(5tAdmkq6?NAQOx zwj|5Y^Wwk;X+QAMhe+|Ga}(U(!6NO$p2%v`%+&AW^O>EZ0Uo*8_`-VYJfQZYqfeVd zOM_<~RnrlXN{u$G=&h%%Q?aMC$OLw1z>CZHqe)R3Xn%h-u0bmEWw)a_RxeaYURCoUoTi^nh zVc;`%rm#Xl68e^hU>kAPs43PcsmBM=&mxJ4OqZ01TrMN)4)#<{+98e?sp3*%W{Qm9 z((@p{IZ5W+k~do+*cDVRUyk^l-wWSB#y0Rl%qvjxF$V&?%1a>t65$`i>^vek!><(R zZk=(W?|@xg=dS~sN^G*Of8TKMVBxE#5mGb=$huiQ51**f{yE75yst0iAKx?ljf7sl z!|t@!b)sI1u4<|3vq>gGS>46aMq1&o(IrXn`3t3$%(CD7$v#pHk}uIuqn5T?fX2Aa zi$)I(f~k_F#u>NEA;7uM3${2JkFx}Wzrparqy%IO-MwP|!0Ivj($U$W`H7+J=Pgk^ zcVmAl5ExVCja&)y2tr*_pm`+i%X%le=+X zAetVuFMw|FG;7)cTKB=3Ey*$G(-CfcV$L1>q(ZP6=$qR&rBj}653PBnoS`Yte?e7x zJ&z>l#GUsb@`_^0gA#LZ@(N>WU&8Da?iW!Tw^Uy$m3eCMC9m0!Up5+UP%z0=0GhN= zG(FNVtrqmtUDD)de`r49>o%M*(wQrteWS%GDsJ8~zHVf#S;6CUi?jY~65J-r^j?0| zYn0Lj{jDPw7Fi+!nTMj6%YuYG2~BU`HRl;c5XL@@;WfoFi20eGz~I@rC;BQF)W;OxL&#H#wXK(lMjH%O?%t3&U= zMTXK2HV$R=;y1?!J(AeCqH)0`TPmcq8Tm-kHS!bMj_L{h)Y_z4$(A#-GG^u!FGv{t z2Y%6zkafi*-BfZqhH&Gmm`j|tso&v@kGz?h(-m`l_um$UjRl)w#-ah2#KcExdYu}~VolIF(2P+c5D+a^KFRjih#y`ejWa!;)zH6a>@C*7I1fFk>R%`kx^q`* z_K~4+i3@}t(XlCWbk5~e=W7uD#$Er|0zyp5=|itu2qMn}XU{}5N9XVJ=orf0^9eSB z76|UT>y7;?by|tgdpP}oWtk7h!Z2$vn~5Y7hS-(o*pRRV&3%930QhIiqs3<{_gd;` zXRgofAQboh4)~C-EjN7d(l+oGQfu4PK+&{2htoRD$~t6G&hP>b;dPXHs@e(+nZX;I z{}>ZBsa1{-tfp~_5=0{4R5?MxMr2R*06|OkKbRw&Bj2H|^z8KOKWNhjxj)A7id;l% zU$^j29#Lm)2m-H@0jn-3l#*{#DR2^a&{62%rxqN`9OF)|7lPxAO{tTT@#JN5c37kSS6hAP zADW_-W6~=8Z8&Y6e~vi))nry1GV*Uo@gRq+!3hJgrbM_VpXxb#l(Lj&$>*ICH*SD; z+-O)3NJ?&t^dSWV-DCc&Q?+9v)oRAicm?X72TbTd;wR3+u;j6ckU-|mI`5oZhj3Cu z`tFG(4VTV9=*x;Jqdluu9B6X~pU)pAt5%k4HoPPS5LE>>5I;t{ATWaFX$bo~_RKSq5Bq(xZ?^D|>!Y%I!DydPCFgH(NDkYR1okscz3Oi#WS z5AYb?WjB=yXTWQvM%R8u>2u zj($?rrNRS_dkq@NPpJ{a$0Bj#i1`29%?xW5aS|+Qk~s0nvrX!L5?yqHpGD0BB=U-A zl;y!cm3gkE$JvmcQXq~4ybmi4Pt{IY$!(B(pV-K4X5yQX?-azaF+2ZE%@ef$freFX zf~*81!lg*%>>^E17($uUp*l=PwX0Uu)JK^Nr8zrTUXSHbJIMG}+u$^;s3b`AB{OTV`FcNjvz;~D0zH`7nu1#& zHo2o%MJfXkH6OagdpF6$Wsy!_tHflIV@bdJ9+ME+7G}CN=@*(-RJ&rpq~X@pdd&2W zAq+nN3SXk8240u4rb96!7SO@tS!A zFQ-ftGrtP>=+(0Pp(9`#|JNEXnMdXt&D5b^ELv+EvEATuDTYCEzK3Vpw++*2j-n$P zq}j=um*nynW2C*y51|h7N3-C_xoT!Wr{tUa!5hBwBHxeRE3ubHNbbaIk#uJPy#b^) z<*S?~P4BsQhgh%m8P(~h3|;985>S28Pxb+nSMgG0ZGDXAAV$E|Tw0x+YDM;!E$8|V zefwSy>}B_tJ4U%Z36Ks6rAb7RSOV8Y#qs$K`eRsVkMZ_|%8U0i$I4LwDJKt~*|d^L#Jw2NP0vO2Dxa<2>L~5h6fgQgsSJF##J_bPF6m^Tt)Vlz=#p-Gmu1 z=T%$O6y>?G=At;m6Z=3iT^&5iQLA_s5D;w}^2a4F5i!f=u|Bk==!{;LH!3DnOweeHIb^quu=k=iq3cYb8{DVJW_)Uh9 zxL@P$MlD?-VshE^*$X)q;?@#5Hdv8fN$e&X`3NwUG?b5wbQrs-CMHBOYVOpDW)XrP z_hAh}$;u9K;biD9gI5UK6eOe{@nH(1{MA-uc$5xRaW9>|@zU0W`aqDQP<6o1?nKQ`2j}e=z z*;fD$EwoM6?n=tS22F}DWh4zY!tSIhT~gd6T(xzJVj6~MB~FrjLJros&+IqGb1Sx8 z6a5Zu7ytTvL1|`FN)dfMPPMjkYl{3x*ZquxI|VbWeHhMZOxaRpv-{a>(QJJQO@?i4 z#1r`gxEJ@Db^z{Zg%3yQSQa(_6x&&+Zo^{wPZFix`(w;V?YnMElS!C^XsPe9zNA}g@OL``j=hXBK& zR7p{MGNaFGaD~2y|f+hx*bkSyA7k*h*FFu%1CUutFD#yaE?pQbDC5`)Ms^iVstGPoU|H0O`y-$ z#tS2U-}q_$wS$B!p~pO1v^n%8AG&1rkr-s}6dC;KBsutZVDoQ%c7U9+fe`R6IEZ96 z%73A83vaLDR0-co%7dAgh~>FdyGM*z?<8j`Iv7j#N;H0hRu5nb6vH>-pb~?@?paXh z^iNYcQ5`3%CYs+)y0fE_V120%dL&mj}`+jLYL$$I*^Y zHW&5d;~ueJ?HpI*X+3!OG7Pjq^x>hoAlOJ zLU&z4K>Ycdw!QIW%055Z&Squ$;N)dnnbK|IZZ#IMw0 z7H76O<6%wY^eizNHhM%owbZR_uJ4QNcT4;UQcI6yF55L+b3|ZOsG*Q~;XY2eerWng zFyrO@i0-S_Ne-vuU|jlF1qA0@cTIubt79G2ip!M3&KlJvtiD(`Jf!r@Pw4#J+A_D` z-z_}6R6l{t&~wWnA)p&sGm>nYDeJ#lwjIByVlFJRCLyoiXBFJ%vU)(*aB@}}Ri`q( zaQ-jornHL6)Pk&!ZbsXY&pBV}+vHhMj3D*k|}^ z^cHh#@I`l*mxdXPJi!I(&j_P4Nr2I_f{r*-%;5VS_~uJ}3b0*}$&`&4c|tr@T45LC z#p;N8LV)-{sQp$GLZ1%dRSB*qa-uEl(3lr#=K`%=vt@ND+bhrU5o*O?;GtGHvMKT2 z^DVIc3t`0*`}lK*5+u$@r;p-^f5up%0dE2YK>iwubfM>!L&m@eGcG}!a)tuE5)>nq zu7{JU$1}Pr0s{4TBf2z$|7reOueu?D??_6Cwk&w0-n!hghG`#z(GtV4`>Xx^p4U-W z-)X?pD|6W($GlKI8!K5?AvAa=T2m`-?+glRHIp18f$`vIq6GuU= z_xLwHzk>wJHq5ipl(E*4KSR9FWVi-z@W%dwsuN6mKk$PvA+o(c?bxl|{}$ZW)zkm# zjVaV(oee@afQRmHaQ}vD$!uzDkGEDG(|Sz4Gw5@vjuCI$*{2Mh*KKt z7mgTEsQ_}|F&PtJ8JD5?a@)d%M%kNWl*WsFPU;<>PBqwN>eKWu+!5fZxW%6TiBHbi zo6w!B?c;yu6=&v`_4qfgvVTzbd*=~jxf0oE$uu<$&#SO*EMbIT0msH`Rbh4&HTu5; zP7-a-C>x4|yB}g7X`xBNsY$|=PA|?Kzl)yflmT`uJ#WlNdn)Y-CW=L_2=X`a8}_?~ zqy+{#?I9!VajiP#C>nV~iqacGObg#)m8?o9(j_Irtv!4r>Zu0asavEI&l-9pEE-$wwkmY4hQyM&VdI-)v`~2*+IX zZgeF=>D2EvzMZBzNQS5XK$Z*5pZfc(Kgtx1QczVkPY4EcfCeZfjx{)usKmHMp zFfdF0GxYgTd!PG>SG6VJ&5q-~|4qj$aRD%}2^X~F<)r{CPH>VoA>xcY@61kTs^W}! zQmT52^Y-QKo2YFMs$fy{bo;f5?NC+A8`?^v`l_s7rB*j3uszMq9Uz>3oFmAeTdTt8 z@iHhx8zmvGBoXbYlepSeAS4+`w2d_;h~M>~AVyZr-S-p!@01pp(` zk4cvkfsKpIi6yfpDp+oGfev({j%56Y+t)nQ9u)Fz5{tye9}#rY@1hk$-Z%QMYmx+8 z;eTfpI7-@w`~5|XK^Ki^1{nbLEOhfML|v;zg^7yXHWeOa4h)lK6Fu9yNK4^;4ONJw zQ^jO3g)3@;R?s6>yJY{dKi>z5+pT`DU&8(5!qwK=!&fY=lYCA0Rhe@iyTa~YX&XM% za}bsGXi-p1P>!-1)1_5BGJ-j-Q;v`}%g38^eX6XdZ=PFRkpAoc=^yNV(ET4Z^m4Q^ zXUA7)A}!kgx()mv5{DLy<^Pk!nQiy`Phi>qb^PCZMYvR?Y)HaJ18bE3gs7Bm(H$av zK|Zkm1^WE=$i`Vq&i`a1W<}cS-~8upUtrMx6I=G**ZwCPk>o#5fNrd{%Le~KiAEB$ z`NO~NzWZO$NlR=>Ib;RpJ;D6Npy+KaES~$=uFx*B(fl zAYcE*D`FV5HB$>Cw_z(6D|sS7g0qVYJ}N&j_>s1B1T!9Dks7FVe{{q3doHkfPz zf;%BM;XDOkm79h2w4e`LC*egCFFoHi-_k!NG-3#gz7x}Esx2ZKI#U~tEqdG@m5C2( zS;8_Rv9(2nA>XvYtxjU)R&M?iMQhZ`EPd_POf(?9nU7d`92AI;+(PJ2*;eXgymr?m zk4Km7XPeV`>Tc%xeR4eJ1P)0|mP_-#E(QTQlduJ-yEGi`r+@m!gXAolCfEF~C^}Z# z%KhcjLlAX&m2=rm#{O|0qNq9tWh+2drCL$=(TJN#A6t8KVI3{rC8YVv@zb-&+1S;# z>0cka+x4&bK4}$>=IL<5!9}KJcZr?zy?V^&Llk@vwD;RK&qL=U7qXaOtZg9|T0G}3N~3B=J_oa`~V>uuvbJm=OCpo>yzjBE^iMUiAuI&EA&XZi*X z_#X$7s#rU`#k~qAm6<)oeVBB+w3Q1;FHl;;o@txs9yhPEkb)8_AcVNWvHUM zcFEeVUb}kQy16>Gh2Lvx;=L1z>j)J5AAyZu)N``}3)2D+_F zrf(DV>UM9-IcnJVy=^t}ZJa6ok+B`va$DvrdPiVKi_llT49sElEfjzvo1`w2H}DkNLN7;?6HTu#3ovv1ePZFRZ7i zd+mY4!n`S4xyf|uNY(0NpkP;*mwVV6@vh3@rO`BLD)jm%P5$`$BNbuJth4Ca>Yt@( zqC{6ikxJpM3R*9pr>r6VBSAXK0)paH9Donvc(Ujt2u?JOt{QKpNspq}HNj%HIAWsk za~O9g-%IBwr(>L@&&(w~ji+o7If83Dw{U~?&|a|b)5i&?OkT1DQWLJi+{s1(Lw$L}0M1>Tk4~id#}dd`&C*z4)HajkV6rr?Z8Q5(v_sV0 z?Z~2K!%1k8)YWvV%o8`&>#ow+1-E3+N>y@l^TDxYf+Fp-lNRRIEzhsoxGqk^htLkT zHH9Z<65^GzgTZ=VjSI|`ZyiN1FU>yf@@exECpU9Xi&c$og9AJvA+?$`fZawFO-;ig z6w9J{Vre?M?4Q;wp;nB0`CsvZ`1d=GLQ z)$GT$t}1AsTap!1$aAR9KzI;q{Q=4yC@94YrONjJrl&<0r`qhl1e8M1%Gx5jDhhp@ z0Z9HxN!h|#S`%XyCt&AomKi@-WSH%mM{?sRRHL~D&S$MHWX9J=n3ZUnIb&q^Wcnn| z_9}x)l&2++hJ(QogrA#ci>TrUBp=lusOaR2ghTg<2w6-gz%}ymO>lDwza-OOedw%l! z#g$(0w?$&fV-k~njPR!|2|v|m62WvcE)ld`X-Wd6opC_dGuIA~FL>Uq$%d$wB;#0? z&#$z+h$t6h_LUC2vk4jJ{HM}Uf30>R$4SJg_Bcm9427xLWa>78CODT8MFx^pBDX=y^mJi&in#D@0TLM(eZ+AKxO0 zoZ+P$16G5dUq@=e5JLHbcXe)*&4q3lX-Ckki~R13;nWuERy{335W6fS474{hD7Uct z?;)2BsO=$_N!~VBRza6&>YdP#;c^?6W%5`dU@lX(8-c0F)v6zmpuWk8{TLMe}v57MqDD*G4^? zmh%bsuGKj^MTc_4bGk*ju3~11X)0tN-y#d7uE~6LMIMqSBx6c9-IHPquI3&P-jxvk zv(XUby%ovo9ttv9$a|>-Gl>w~ryjFqN5X0@gJnfK$#mSd;Tz9;KQcMJUEZ`!$IToK zfKB;}X(L5m#0gtRJaE=_5rZKv%@kCQ5!`SmUgiW_jcV#Qp0;ZlT3bzK;$ID1gL zmqT?7_6?c z^7r*2N7Fj2939Y3S)pV+F`CS-K?yv&C5^fyDMmG0)|~ndwSzDeH1=X)Ilsf;ej?MH zFpk8PuS60*&1MKCbi+~Z+tUvFCJ|kgj`;Z({1qZu7g>prIKlk<0l8w*1`)fD$ty&Y zI{?ZnrmV29#rrGu248>h-h&7l7{u-*2J=vw7?3eW)W;m&#i$3VjUe|(MgBvPvhP-( z{))SWuGLB2qVlQTNmtX)v-iETl;tP**f$d}+y>M2_J?(0PTi(YJ@Hs~&Ir_D_BJU4 z`}!tS1=U|oPb;G6^3+IsZv zi~7=5?~i+*d9_G71_wi#k@I+7xm_BM^zA;htY4x7@;fd=zp1bjVJ_nCs97Mfr*mZu zu`X^jGLE4DvL24qY?89c-KSuFaEK%H$ z8Pj|?m-X(tH0EEHPQAXF0J#Zkzr?h{$t6n?N|m&bn`oP&Ozt0+AZVf25m*?QN>Lo{ zpy`B7Zn;cdRT=uZ#&y;YN2Z(kRlM{&C}GDjwVR6xE_Wp+>X;wXgjszp2tr5Z$dTpG ziMvBQV(X|ejf3%787h&BtQW&`1g_UyQIe91*!QFZu{-jCtAYy-K(XSEy9>W<%It06 zAC=C6FA0k(#2^G~n0Cb5Xc}dSVSZY~VF6;b=y0+zZo2 zXl|LGI{q=PJZ{6dAEaGDw3sG?>pe%7`UT9R1fB9&j8x=s6KVFByLjXC?ktg zg61m$x{`tbJvFFlHjL?S(l~A&gp8P%n?dEv+HRj z)?AXi-eP^zxIcI7`lTfFTZw}k`!IjPyRd&R&iA%DCK8Cs<)qEAGw2+j%@&wUeHC}9 zAGiBG63IhHqxX``aq7VH@jo6{^@gW^*T0OB+wuNOmipiFzf?g1NUZ;qN?$TSJO~H? zUk&H8+ca@iwnXmtX?$@pJUN|Jg1zOBZ&uYoGt!o**7N;}N+rJ&Cxa#@+}&HGBJial zkswr&D}HP#DHVy$2mL^2K)-(bgCTnRhvDYa+&xjweg3ua#qD_V?ayC=&ufou-j4|p zq(c1j;F>-5jhY=dSpC{Pgf@}Gr);B6Kq)xncVC;%AWEmyV5U=SMC%SAq(gF&H%6yi z?|S78VyB82!d9{I_bobuZM31Zh`)Qj&d2|ZHYg!|h@+4y+R*>fJjX>~v>A+f2=>le zSM}9f^M)a5?2}^G4mrvGNUItWNvjx=xMhMw(un^X&nRE!flj1x0|S|>dQ)!A`ju$| zOQ?dvI1fVZ8Z z4p2s2OY?2R?Z3^n5J_tKVGqTsq5`yopQ61A81J%q%!g!&B{ayF&KstY@$7rx=5QPw zh%K%!MRH)3`&6Wf<&+}6J&M;Xz`}Zo2B7uRq1McRuCC2yhSRdC2%cwk?)!^pUB%CZ zCn(wJ2)LjS_;F0lrMg=G`ehe7o_4EE!a1I-AS%UqvsH5icgyb6E9R%tHndacJ#p*U zUF|!*Rx0KMMY1qscn&FTI~Y1JxGs;+!IbPBomeJOrbu2&yFm-P;6|Kzp!t_shCMuw zy|7?3k9&9WhPl)s1`fk_-*PxtP5JS`)epaUHZ&eN(p`}fdxG#xt7+$psK8vbDPqYb}aOEtL6iI!vtocE|gHA z%yhq{?`~Wtv*y8Qjs(R0fXU-)HWr-Rc6)l47~v_{T$WrGNZNUA@5VP4r{y&Ul}5>P z`1tp}tm+6Du4ul|N^_I>eF0b;bxh*lEH>Utaaxjyp5W@@5meMj=70?Sn^^^qJI6nk zgp!F{FmLDIer=eXZ_qHytR_wV*LT7R10%eaYdJkygBdJV;|%hrK)7kb%I~AN{dB!{ zYeXfILmClJxn^?OyUOi$?o7;;4Mpx?X;ZykbwlRE1*`zuC(bQ)N*hXZBb+2PG4?tu zt8nF;M6Vx-MRr2-D4Hq})uN45c&l*=7hu9vJY(WhMotbfrOs?xTf~bMUGhuOnL^<< z?IS})oRHl!HxTxiz>ETUb~?yA=V}KB_jKFQ1XYh|78N8)!-?9yU-O4yLQI6aPC^|(Y=hKK}5-ZCn z!(3>)Gp!D9X97%6HTe~eX9mFP6?Z07*b(FwcBsT?=LU>XW<{$t6Q)xFh2a`PQm$C{ zOWbB;54vWmqbAf9%!4RWBFrK*Yr?s4UezXF>*9?7{CQL-iodjP#u;JEZ-Z9G!9DHs zh@;p%{Vn{wJ$Li-HE5}+kVrc28}V(j{lmBdZjDAR>EVI`wLkS*2z`lcKF88TfnW;t zv8*L`nS49HKPR{yGXx82v_14kCRiqVgC*x@6dP6H^Tnk+4|Ahxj0zC=!FVsX!qZ4t zuM?I){w{yLG}Hln428>^ZH>9b;|)E{etJuk;w8K{C@h=HD@JXQ-!KAHb|BhsvgcmI zVv5Q1H!G?B4rP;tf_CqVl9KF^i{{P%&$U;KPO=E)gy`zSgz?`zKA(*>LKhzKLoT%o z-6ba@h|5x$H5}Y;viU-VqNZU^Dd1~!HK=+(4B`S?64{7Oo_k0V-qAbF=%`olp8HHC zj#D#vOSr4{pJGdK%_k79$!v)2=jlH7B%loGi<9RBWQ(s`v&G`1vGgY3S1HAcxT9gX=?p zg5CO+hCZSCHZM!VkW{*0G3I$K0Tty+=_n`9id>A@f`^N|cqyQ-hVjsjVP-|~!crrA z>>g6R{`qcDKed+cNUe4>HaE#_#Nq&3s>N^)j@t8uH`hL(=iSS9^vA^KVynM_Uip)2 zMzUQ8jzC0dj_4O08v;n?y`VcWbeaHVj!r0RLOjOD$%)YCBQAIUC|GUVp0e~4MV4zd z3Z`KXc0uwLMM^hv%oG_preZ;+4odHfkxxW%`tJ0hpARs4y9h@B*a}B3_qY!*L0duc z)1KyNq|j?IPGv68;`+|!N~VRiP0iW0dCk=|Olwu`b?O3)_#4iOm^^N6CQ!f)-sq(& zCva(bp_3n%I|kCbw64wpmd$s#?t~MQNTR6v4%?bkW~iQ3n=8i5PFgjbmPld~#WDez zeD`FfQDMfP`QqT(EbQhdX*4&|VjBos8*;N{zq4(hv~9jORzA!nCl*1GeZM;Qn{ZA? z1U<#+0Vp?@^f986HUs%(kqaOty%N0Xnq_Z{^mL~Mo_Xw!mZS||5L?N7b~22io2-%; z;Hw*4b}jb49u4bU+nemcMCT1N9qMsM{c+qmW&m?=$*UnZwmY=XX$MR58e>unQEdfQ zn%h&+GG<9GlreyF823X~*n*DwaDyw6XQ06owQ}4M%%WLMtbevbY5_>imy525PSjKh zVXAVd*GgE)gylRLRe$0O7JlMWxPwmdJ>YG?#9M&+Ru@`4 zK9s;XWhvludz6HZTm;C(pmT*7I`au`K<)PIdtqA{`}(5+L&LA?v_)0&(vrxv+~VU! zMbcw-X7Es9pD!~;w}4ODosARQp}LYxT7zBLLcX$dh6VJ$MbH}Yf63z*@x_GG3cLO7 zE2C=2JngW?lo~=85DlEzqRP&Nbc}IqV@xwbbkmTNzJSmd}r9l<>vNd894YFNEb@`vesTLE)MGzp?#FhcpxDeB2>)Dc2C zHd?K$o}t>of-uTI_9q7Oc^g&8F0p$9+EmXZF;@r470aVp%Zr@A%YG}LZZh_n{)cKa z)v@q^h6~(J{c%8ZGosNc)1gGZSMA;HhMDM}o8Q82t^U<8g#mdq@3=#sE`G>AzPx|f zIm;t^$D|H3Vom$lYeXV)2YWEC4}4)yOm)6ZvHPf2$4i~rG9qXz?yenX5ENTNjn@O_ z8-q|ztquj4Kl*4aV=e;l16+n(^7WLZLjXg z=ni#BkNJ}8A6|>!SR1&{X!Ls^1i)@=oQy-Or?^^zO#{dlGDrio1cAgdwf6rQ{?qT$ zA_?NC`x2_-WB#vArvGi@J4*|JmzsG5iJpr042}TkpS$>+{1PwJC-H(6HqaDBfemi@ z7VponJnpQ;^|$Y6ufJ8qbcEl?|2-hm2FdXis7z1w-kTz`rrx;?^jevo+<>8o_=P^ z<(~-y4on9XSk(4mny*Q(a@05uEVS*u2PxL@>0M>?*df%);Rct9r1?nCN|HIV(g*i- zL(Q!2!|6=LU$F=;`AIY0-yNDEJTbiuG&b^#OTkgDRi?Cx&VSoc>nLsVro@wk=v3g} ztN2}IJK}gbgrfAc2`j*N1;72VoNZdR+A?^<)t)0|IH10%s869@d5v9VOf&oIHe#bt z9>VpC1Z`BpWxXc$N-!Zkd%VN9N@Uq8)pEOXXj6ALMpRUjkoG-6D*}{|Da$miD;gzA zBXP;=&%l-4DsTjaIw9j_eE^rJk$#+1QeCa1&l1(7azR8-!Gw*8mV;pprCSfR+@ zCvCTX^?$VgtN-)AO>@2Pf9jhZaLClGBS^T^k0VGZAQ=b75Pk8nD|a({(%hL&iWt8^ zIFM@ulth@53?^JuL=d&d(K2VGF+pbw1vRQK$7pW?&0cOanc~8lE zO{ZF8QUB?WZRJx}`s%1TGu+7SG0}DR=hfejZ7hDD2d9xh+=tAWNgt=(R6+k`r; zzGOmMpjRD<^VSwd!?P#ajxdmO82qOZUVqNG91llj`{|B(bdU|7V%YJmApu8rXSqz@ zBjJx;1m4DYi>YJ%Ry+<*M;80r9raGZKDfX-6UZ zmirAcLik+}h9FP*!*)q_{U{~EArI_hqd;#SpsiJgCvZJP^RiO8;n9rOO}xuSs2OZu?a-ImzB)e1Z*RYQq;79-BIL^kZQuJ3-p89A=E=sslN1_hC)>U=a@gP} zu)q0E;JnZG-j(_nUeY5Mx}{$K>gT>t2;e`weY5k+BkVij-jyN*L$&L%)PPSi(WgLEqZg*|a?mK9NKB&2SM^-T1hXLc7KepZXSvL5N zhAceiU7~h9VGInpvL`1&IQlnyB>J%U07nd>N4cco&J!k#5>{kjV3f{JkCz zAlX&mduDm(%G_p1`(@D3Y2dz3Bl}oM_>S?1V)q>N&+d>j(nf^E@7qayA2?tVzU#90 z=Z#*-dvs8D^36}w4?>{4#vqGM4firfuyxpdpMxj$3I%2p<#}K!HHul+1=)NE*Q!@^ca4`B#3& zqBQN%wTdN^&gw1_`MVQagdzuu87*qnc?8tkD>|mqI3hW|gOpv~W+}ArfE|t<&3tRJ z)%uvFj#i1?w_vLV2XhEniDN^~t=fTKWZuhjhMd?2@<|%1_QYzem3#wkfS)&Gl`9!k z3)L+BXG>fkH`(`K_UA$&LcGKn4}dX*(VK+9h+KcUy~D=NgiLsDL6oI?&!l1E;ouGY zb_WsA)j~5um^Bh!4Q7-$rY>8mMjA$q|3;;KY6SzmKq%fwlV>^O`U5qYh0?kojC{~C zr2}))?W_?Z?)dsNd~Re0An!YX<-uSXBt&CE$;1nz7WJ`!^_3DU{s+o3rzZ+SR?z!w z$Q?W-sTz&khe|+?Qo3n+X&QK&*T?N9R`4Za6Wza|-23-UWq#VKhziw?(J(DxytX{} zAWew!(%Qg4`a7 z&>#ky$pEJkWWUp$PeTQJp^2?t0y7j%R(%e=Xl%Y%pMpNot%OO0l;AG{&`gB{Fv|Kq zr^*q4R z=C`C)a^YJ;(NZrj+(0)N=37v50)_8XL-0SepGm2$YSd&n0o#CcWv)=@?D8fN&|ZJ4 zmc~egjI7}&bG(q^fd@!51$u;xIpyfWf@qFoMtCs^zWT$5;@B*v%@pUiAqVo~d{K4m z%#panVf-emYF}My7ggK2K+9aW03<8KlaO%(tohOMl|>8JI|S5W<|-azca=z!)s<{X znTgkec>8QV;FY6$I)afcF=hU3$S!$4oxFJ9Q8vH7m~Mi!^{s8yHR9;wykCht?evD;1l#z`ZH6+yVGLH?bjN!4O@^hr!Y^l^p zm9Z>&8jIFIU)taar2JUMgA!qFu?C|j(|FJ@(YLsIAZ2lRnKa8P5tM?=VZDsPeKB@7 zW4KM%D_Hm{mnkEbL3E(Tv-~8fWhQ?}XHm4xLiglK6>Zjk4)>s;kTJVWdyB6B7b96e zhoNMjz{oQpJMpu85awZ9D(iwr$(CZQFLzN%xoMc?aKl&)}?kRFivDt5((C`*&UMrEm-baa3aFFsEYZ zgI#}Vhl&`fhYYuKVlzoMc6BYl$Z?$~_ODjO4MN-BBPh|UvdQC0jQ z>gWVl{pQOTC_m_Cz+oTMZF>oZkZ4mT)XV#z)ixll^4jNO^SQ$7LPgrm@M_TuuYHo> z7P`Sd*IaXNtP_B`o4642uQc@R)?C>`fApV00o+}G7jx%BAM^Ii(!Zn!;V%gcLWNLo zizX!2VDFB!5CTQ~HfL8!PLl&P`oucI0a+fo0Ws_VGKHx&1Z;$cFA8hahjIa2W1=-N zxHLd&ur|iVpfJ}ge^=6Fa}9Ght&<5+6BmEJWpk^(JXTAz0!9aM9HiIBS-3bC*))HF zeOdw}i0E>wgT?}CB#JS@6PY4ml+XcLTkITXMpSd02{i*<7WSr6 zFEGm=!991Mg1V9cRbtFuONO1Nh&ONfF0V)xMXg8|(a~6LD7g~Jt+^cK*_e)4Hw8F! zVIKsqKHht}#5O8Go`_ZNoj8<%&?Ck8g`eIKSQI5_#pml~Tv^`5S)c?|9uYr%bba4w zfh4_-pDJaPL7Q4cI`r%Q8Je_}S`~6qO6J+7{p zk~GSBxFgXbZN%!GNT??j$j6GX-|S**Lq1|`tb`5uMA_<{RL!BDqdZNug=%0^tuXOC zegvmM4dbjKchyk^fSdcfoakTm%6F66)0|eMV@t-g-ss3WVT7EfOT^3PX%e8$bJV;` zgtA#}MI^`pD`&Y6Rrt>)Gpk? zx{#8pRw2+YF;*A6`5vxVQH7GWakJ&VQ16<+J}>-f7pe}$mjfyQIxDf>A1)WC27tQU za!8&X46r|g)CuXSecLy-cyyR*xPy@}PYL$hEC!>TCg8Zr*OK|`@zj&k9HNWOuiN7S`_Y!96t$TxbWeI6 z9TPJC6kbl-+koLQ##S?7x7o;6vs{`+Z^PoD@g*fwc8cI<<>@u$n*=&rK}dSMyz*&v z=_l~`<-rmPvgqgV31#VOG}jXP*e{%Fz8y@B6iKte&o!DtNp!b6y02$T5q4(A8_fn{ zRb zyD-z#lno3Scq{W(pwmg_%FHO6a$V@l8{lcd{$|YcIjcV#p2mTC8`^zg<@1UW8ccu} zX#NfV$h+>LXYPI1-Ukt94>J0WBl<3A^ez6u7Yf08FYEyM#(NlxBIcp~)%E@;;nf#S ztmV%59w7VK`SB^(%m@8-=5omgF0cHD4u|bG#tYDKrJ{p7qVOxD2mYdiUzQf4FR+^s z!gZiImQ+}X@jb17=ouI2T#5_M5PdmLXg0NDFp?Qwz;>k&IeXlnk8QMhrjQ-gxZk^s z9&!D}m6s$6tZuuwf9F%ibtv1R>0%J5cunyxjlLD1*uBvuy;=N(0Uz+hMXD*lKiO zO91zxf!(nN_JrqG2XODq1A8(&cEL^iOeGY(m!hUkg_i1vN(cLYP;C@+RV zcedI#EFB(05+B4~`EBm^m$=pRE5NVLb!n4S0#JK47VX?%E=f*XsNzdfm3fg9rkFpI zq$)RIKJcNR&75goY-0x8fM!wq7sK+JML<}yo_LR!Z_lnyo_Yyl%*)5;r;qdZGqvyd zmGNh;d@I;73yP->A zU>s{z*<{FO+WuH4`hJfIsGOE3;+D9f;2Tsn6CCVT*l)d=Aw!MjTix!=acfS96Tr$Y z*|zlHVoXteG)9{DoYWwUubn6g4tD(o)^s&{>e*s*o2LE|*{-C%r@%B0WaA=Of_Q#N zL46Q}2b|S8N$fzj<9-cy`7W-SPpSIz@F3f5)HS^d}|T zq}BAUxWuR6$3no+%9yXofV%)&OusXpfx z5Civxb6k znC0q|Q{F>X06}|2SL|5MwoAh~g`zp1x5bO%I^lR3sZhP+^f?B~8xVl3=+7_3PkEeg z*zRLivU~n%|9}0o?*!Qp1pPYi@!QWN7RBjnfy6WSTCzjdA?gR}nSXj9>VCNh*aa^` zL8h2f9rJ;ld3VJPk^^f(W&mo<3lh(iURyNV>gcLpYdSZ_{2A(j^wW{o9p{hhBSARw z;ZRNkF`x3GU=4A+4rpnK?MnNpX+x0YLKx-bVXu&bs+2!w=Jro`2gj|KDsjd4QC%Dc z_$f`WDF*uXs5KZOfF0O58{nksaZ3*^Ezip`guIjB#Kr$vlJKv^4FcF>rvrqmmNHbs z2QFFV&M?|zg%~s^h~SH|oJ8i@o2rO@odrT#=VM$oH~9wd345N1zPFTidL>1AG4Bw; z&+**X3eMRDhF35}R4|1LJ{Ila3@=+6 z4^Ah%#Z#GL${Q(XngDXl`2Xfu20O>h5YNy)=bV+^ppD8w_6hu2Xp9PXah74jI$L)V zMEO*o+PO9JWFUrBZ3Hsn&S=py{Rm`5! zqC}T2sU1V?Z@yGgZ(z+6q!JB&?-Cy@h}+#f%6F64rDQj{Qz*-F6atOIX z`x9DhjyM1 zNr%(w?-}qyrl2m9szL9{;8rp%)I8j;#BzeCEWcsyYKo zX?j5AD?nE!B*l)HBcT!ql8RJUDA$7u?Z{L?ZqI5P-qnLEJ3{?8&20eNyXO7TSpi~Q z@wf+i#@LDji68Lm5!*e`E?C(8Pk2W^cvc2VC3q6?XoXMzo79@>>bEn6mvI} z*$Z9TLoqFAQUN?*D3K^ab<3&WIGYG zKA<7A1ac`*IwFE@ioG;Nn*(ucgwh#Q(qf3FAoq z%@6{IfYD;QN!2JxG-A-QYS_nH$ci>NoYx`p3odxu7D?&1>#~T@BQ3U?Oas}lHA>@3 zdtQpV;%e80=J?w#FNk*+L1*+UA+gBJ?{Sx)cya1i!4?Wo`aDDCGQcJbR1HYysM_x)8xGj3(_gk6bFFNvI#ms~Z5uk{ z0xrL@I>5|MBP%aTd12bzyzPI5*6|y9Rxeii2(o3iLp~1sGD>dek*5B?D zohi8GO6Vn|w1wGvR`p9A`I2E>0t~lEkO+algC<30)wi^+h zDy=9>Ne}#w3|7-6N*5~##Uet+@|AdjUk)WTNOMCW9-=>BR3(Si7j7c&#H3|MQHR>|lh-RB&HXBzccU#F! zdNT;dK0<8Bj^#zh^H@-vGyo*WF4|YL^(c?MbVRV%c+LGn5^5NnO}N<5hLEmD*e(p{ z6wgf5B1=#O*0e>QO2Q|jqOFwG{C+xUQ5CPtiY{1xPit@js)cWg_ODC5qpY!tDVlRs z)~u+UWyG9i5OfKTP;@E>JTHQYp1=a8n%%foZmw%U)GVL;F^|-!d5IeT{dYhr%W%1F z2@?n?mgE0!6D8UHCqJ?eiVyfOMqNYxyPDc_WoiwXuunQ)55}`TDgjL-&IFAFTBE&z zON*m%n1V2$J>T&Qn`o5MX0@VIGL5%d85M{XE$HG@rm z3Uz&$sK>RXN91%$qGd()1{ezX?8K|+08P}q;j-e_a++2OMXa8&CDQBZy6 z1_=GsxVrQAO0b6(dLO(!#s^uSss6T-v^%W#+TjO2=(j%*eg;ZMVdQ?n1Xu470eLv@ z83E=pyis{soG~oqen0)lzTrBT>=j2jVee6Bw(Z2nAe}`j?hMO>=|3GcV@Xs3X{ZC? zp&AQ_<%Kbp>)8`LB}xRYe~5SZOSaA;>KSe@B0UpcStvx(F$N@&Ei^K?Z?jzzJ;$cV z#7n5+uB7I?4w|8MqC;nIYR^IuQAYar4ZUz)%7R04ldmEooDKl#PzYROkIBQzexnlv zZXoKtYrzc;n{<{~HlcEy6K0&u$$>{+IBJNvHK3^opleex5?nxZixsBo0Mgy zi%co|9H|`$bhf~*irInOjA+Wx+B-=wxpx+^w7-| z2lo*6FLaTeFF%|T}ml^|a}OdPu^*e!Lb zE>U(R7!ZN^hwhN4b^}95gz+&s*s%NhQ0+Ld-n1q@(G)n{R zhSn6cXLuYq7J$hWfujQUcXa2z(mSJBMLvZRbF}D*>r|kg>xgLl(1+h`ODD&BR1f0sdKuXLC9YQY18ex`)LHSoC@dbZRG`#33??zx-PhD+WFd z5K{T%R|nWig~TOy!HVl7kn8*?oDUWDO#mXoHznqtN$8xhB1k$pF12~v1RM8>l+mdl}qXA2~E}~iD68w$%nI)+=7z#FF3-E)yNt(op7sm7vaC;^oJso z3hN>SS}mR4dLI;BDUw0Mz8;Lpl)cHO|B@$t2k4^-a&B2HdB@08<+`E}Sk*dd7kInOPGdzm_!mp$P z9>O|VibSjb<=yUP$iR<-ZT-D$U3R@apAy@2j%~HajJBl|!VgJe_roQIJ_S*enH`D* zln35QpI7XM!lGxMk_RbxRq5)bCITV{K0#}Y)$$MC_YxhrK>>_N64{IjfW{yEt zwyc5eggNrw82!DGDfD}eEnqdh z{I{=(cnHk>HLbjg_pznqSgu*%zGz3$sD#56%|Qr`ynof??r%|?pTM0^MFVIiXB`1~ zhj~MNqiDGs*F6S z)E)7mJC`r)cyw=yn@YNG1_g`Jq5O)Le`lAKOmD>&P_yfc&Ec{~CtbitNhCfO>+E88 zm{4qs9fzOc#qicw_A}nPZlxL}-cLrft=Gu-sPV+%~25u_R$c=B(RDd_jC&sPwa_gy6 z8qvY7$D6VQP`-Sfm&;y=0|$d53wZ|Tf_6S@>cw4 zg8#>LqcsGG1paY~VEr$r$o~fRrxBck@&K-!QB~3Y<+Qpi)hlGCN&y?D1X_MdM2%pg z(Sb`5+NP-0s}9>bW!Xr&ulcIX6Z;+5J3MExF#0%-R)AWTz<_Y~j$-#+Mt@OVc5IYF z`*PlxIM4B&<-T#fUH|=@+wm?J;o*la!scUJ4=Zx=Y=NjNP+yFtI)^R7;UmILy9WgG za$$=J$Vsvyk6Qj1IFgS87+Z}L2I7P3!W6?eNIz`S(+-ft(7Le)xxmkaJ!paz!Hr>d zQ^j@@rb3W*;SUOzKXXBJ2RIFz47~;&eYQ|7L1K_Ad#VrE-BDgC=qOOvZ23~qAF@*} za-*{bqY$-!TJ={gwuYr4&glv)K7f(u#z7V(TAyJ?_&Z7>9NjdRDJ~(^ycCS!&0@ny zL4cJGC&{NrELB2r%A)g`%UJw7af4LnnAjiMB{ZrzCn&4HHaUGccijQ;hZhYyy~Hyp zYP`K;HtHUt)&eq$7fZg}r5PDs#mTvdDJnznP}9coTK^x<$FhoFCm$zUHNeBDJX`Mu zBb#tJWf-*Yosrk(LryB2)g=8zzH^IcLv?t*=8#K7^?D2#oC@6%3LSME2}hbA(L2`A zEcOExHE?NZ`O4EMQkRiMi~2sLXMtB*IU%IL2qg{eSVd+)#c)8ypvr@QR;z1T8ojm| z6Ev*83F~nFowN$~k#Fm59nd&mrt+SiYC}-o9!*2dKP({!#e*Cz5$mX_>cG8BWAn;QV6zQBCa6ifqnOd5kODX(!ixq{enPkl;Wa3m)`xl-ELG0XDc5$mGku(Lv?J?!rHss-MXE^LOon0te*Z(F_-u zKC*oW45i<)05s~A7}@mGxfEfK06M*sQqEvZPxqt)qHYz+KSv|nuSd$=(dzAq=$ty` z-^ecLm2*k)eR13Y|Na|0R|)vEocRF}#QYEy{(pqQ|2_eMfT+@zX~D2kFTf$v2yZ}< z0MI^YC;xQ>cWua^pb#Sc#*Qbk@dpzXRiq>rT!^QH*2u>RyEbWR-_SHS7cB2t*|e(R zs|NpJigu^0f+4kNX}933THnFO?P|5utnS|Yo4K}QpBgsu+u+!HIQ9PL4tN>{++i(vGV zM(U={cVTMbCoDAD-zG7deMci1$mGJ3xGeI5&kVySg;~XGRrgGfZ3!*xLFNOkjt`^+uBsG z)!15C@-|z`#0PJYDu~>+9FqWWUqy?I(t=y%sir3$X)o<=u54`VZZ=g`HMQ0B7>{^4 znP{O6wsKi;om#4GDwbcZ+t@H=qKYxEZr`jwnAlVZ83?PJcL~jhi`lZs9=zbIFS=x^ zCsg0BhOn4!@Rlq$jJFqj|Evo9?V7_M1x0!3KO)k4I;uQf7Lt&#!t$5M=xY5h5 zjF6# z3FCN{WP5%WU9ABOXxn~^YW}hspJ$?Ovoac?S+V5E7fYmz&;QkdPotH$A1FZTIaRpp zEHv%TWAps7Al0O$6|2@hOhNB6_^E65-tDf7EJbgF+!℞;p@i&4^7LylHEC&F^fg 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

ErO71%e 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%0AhwBEp)-XM~yjQ8%hz6=HFaa#>u}5*xh} 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 z

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 delta 284002 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%0DRE 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 diff --git a/thirdparty/apache-log4j-1.2.16/BUILD-INFO.txt b/thirdparty/apache-log4j-1.2.16/BUILD-INFO.txt new file mode 100644 index 00000000000..bf27a091e10 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/BUILD-INFO.txt @@ -0,0 +1,118 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +============= + +Preparing log4j releases. + +============= + + +This is a detailed instruction to reproduce the log4j distribution +either to verify that the release is reproducable or to prepare +a hot-fix. + +Apache log4j 1.2.16 was prepared using Ubuntu 9.10. + + +Preparation of environment: + +1. Install Sun Java 6: + +$> sudo sed 's/restricted/restricted universe multiverse/' -i /etc/apt/sources.list +$> sudo apt-get update && sudo apt-get -y update +$> sudo apt-get install sun-java6-jdk +$> sudo update-java-alternatives -s java-6-sun +$> export JAVA_HOME=/usr/lib/jvm/java-6-sun + +2. Install Maven 2, Subversion, mingw and xemacs21, openssh-server: + +$> sudo apt-get install maven2 subversion mingw32 xemacs21 openssh-server + +3. Copy Win32 version of jni_md.h for NTEventLogAppender.dll + +c:\>cd "\Program Files\Java\jdk_1.6.0_16\include\win32 +c:\>scp jni_md.h username@hostname: + +$> export JNI_WIN32_INCLUDE_DIR=/home/username + +4. Create a local ssh key with no passphrase to enable +"deployment" of site back to the local machine using scp. + +$> ssh-keygen +$> cd ~/.ssh +$> cat id_rsa.pub >> authorized_keys +$> ssh localhost +$> exit + + +From a command prompt: + +$ export SVN_EDITOR=xemacs +$ svn co https://svn.apache.org/repos/asf/logging/log4j/tags/v1_2_16 +$ cd v1_2_16 +$ mvn site assembly:assembly + + +If you intended to deploy jars to the repo or update the site, +you need to set up ssh to use private keys to access people.apache.org +and create or modify ~/.m2/settings.xml to specify user name and key location. + +<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 + http://maven.apache.org/xsd/settings-1.0.0.xsd"> + <servers> + <server> + <id>logging.repo</id> + <username>USERNAME for people.apache.org</username> + <privateKey>/home/username/.ssh/id_rsa</privateKey> + <passphrase></passphrase> + </server> + </servers> +</settings> + +You should test your ssh connection to people.apache.org +and localhost before attempting a deployment like: + +$ ssh -l USERNAME people.apache.org +$ ssh localhost + +The release artifacts were originally built by: + +$> svn co http://svn.apache.org/repos/asf/logging/log4j/trunk log4j +$> cd log4j +$> mvn package release:prepare +$> mvn release:perform + + +The release artifacts can be rebuilt by: + +$ mvn release:perform -DconnectionUrl=scm:svn:https://svn.apache.org/repos/asf/logging/log4j/tags/v1_2_16 + +The website content will automatically be staged to the ASF SVN repo by "mvn site-deploy". +This phase checks out https://svn.apache.org/repos/asf/logging/site/trunk/docs/log4j/1.2 +into target/site-deploy, copys the generated documentation to that directory using +scp to localhost and then commits the changed content. You will be prompted for an +SVN commit message using the configured SVN_EDITOR. A commit message must be entered or the +site commit will be aborted. + +The staged content can be tested by opening +http://svn.apache.org/repos/asf/logging/site/trunk/docs/1.2/index.html, +however some links may be broken due to the staged location. +The staged version can be published to the main public site by executing +"svn update" in /www/logging.apache.org/log4j/1.2 on people.apache.org. + + diff --git a/thirdparty/apache-log4j-1.2.16/INSTALL b/thirdparty/apache-log4j-1.2.16/INSTALL new file mode 100644 index 00000000000..fecdc441f76 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/INSTALL @@ -0,0 +1,104 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +=========== +Using log4j +=========== + +1) First untar or unzip the distribution file. + +2) Assuming you chose to extract the distribution in to the + PATH_OF_YOUR_CHOICE, untarring the distribution file should create + a logging-log4j-VERSION directory, where VERSION is the log4j + version number, under PATH_OF_YOUR_CHOICE. We will refer to the + directory PATH_OF_YOUR_CHOICE/apache-log4j-VERSION/ as $LOG4J_HOME/. + +3) Add $LOG4J_HOME/log4j-VERSION.jar to your CLASSPATH, + +4) You can now test your installation by first compiling the following + simple program. + + import org.apache.log4j.Logger; + import org.apache.log4j.BasicConfigurator; + + public class Hello { + + private static final Logger logger = Logger.getLogger(Hello.class); + + public + static + void main(String argv[]) { + BasicConfigurator.configure(); + logger.debug("Hello world."); + logger.info("What a beatiful day."); + } + } + + + After compilation, try it out by issuing the command + + java Hello + + You should see log statements appearing on the console. + +5) Refer to the javadoc documentation and the user manual on how to + include log statements in your own code. + +========= +JAR files +========= + +The log4j distribution comes with one jar file: log4j-VERSION.jar +under the LOG4J_HOME directory. + +This jar file contains all the class files of the log4j project, +except test cases and classes from the "examples" and +"org.apache.log4j.performance" packages. + + +============== +Building log4j +============== + +log4j (as of 1.2.15) is built with Maven 2. To rebuild log4j, +place Maven 2 on the PATH and execute "mvn package". The resulting +jar will be placed in the target subdirectory. + +If building with JDK 1.4, one dependency will need to be manually +installed since its license does not allow it to be placed in the +online maven repositories. If not already installed, a build attempt will +describe where to download and how to install the dependency. To +install the dependency: + +Download JMX 1.2.1 from http://java.sun.com/products/JavaManagement/download.html. + +$ jar xf jmx-1_2_1-ri.zip +$ mvn install:install-file -DgroupId=com.sun.jmx -DartifactId=jmxri \ + -Dversion=1.2.1 -Dpackaging=jar -Dfile=jmx-1_2_1-bin/lib/jmxri.jar + + +The build script will attempt to build NTEventLogAppender.dll if +MinGW is available on the path. If the unit tests are run on Windows +without NTEventLogAppender.dll, many warnings of the missing DLL +will be generated. An installer for MinGW on Windows is +available for download at http://sourceforge.net/project/showfiles.php?group_id=2435. +MinGW is also available through the package managers of many Linux distributions. + +In case of problems send an e-mail note to +log4j-user@logging.apache.org. Please do not directly e-mail any +log4j developers. The answer to your question might be useful to other +users. Moreover, there are many knowledgeable users on the log4j-user +mailing lists who can quickly answer your questions. diff --git a/thirdparty/apache-log4j-1.2.16/KEYS b/thirdparty/apache-log4j-1.2.16/KEYS new file mode 100644 index 00000000000..2da2b230f0f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/KEYS @@ -0,0 +1,148 @@ +This file contains the PGP&GPG keys of various Apache developers. +Please don't use them for email unless you have to. Their main +purpose is code signing. + +Apache users: pgp < KEYS +Apache developers: + (pgpk -ll <your name> && pgpk -xa <your name>) >> this file. + or + (gpg --fingerprint --list-sigs <your name> + && gpg --armor --export <your name>) >> this file. + +Apache developers: please ensure that your key is also available via the +PGP keyservers (such as pgpkeys.mit.edu). + + +Type bits /keyID Date User ID +pub 1024D/0C7C4F05 2005/06/10 Mark Dwayne Womack <mwomack@apache.org> + Mark Dwayne Womack <markwomack@womacknet.com> + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGP Key Server 0.9.6 + +mQGiBEKqEj8RBADR8e9Xl0kFJqv8SspvDP8kUsivBxWVZz+HVKf0pL2wOie0LfsF +E0Y3dI7k0k8i8KXtWYmHY3dpJGLUaruqIRxPFen/No56Q7udlK5hj7vKEUb46krx +sLgik1s+WX8+61Yu5cLuGdqnfwRGuNV7uf3JF1Q78VXIyUlS4BFMXGtqjwCg//s6 +1m7N3p8AtIgma+U13rEkq9cEAJ6l9eEPgOdRx53nKkCgkVpDxxhpbg90STQ1s94f +rZIc+y5LN7FEERiQSiXvuzCwxiritiv+03sqdjYicxYZux+aladi0mHDIdgZkrAP +MrRJ+8AKs7jv+WXcyaJcja8h3IZLShszgUM6uCW4Wr8mzZ+ns/65ihe4A/jS/Gu+ +cD44A/9doNrvOnNXPD+N/R9ME3zS6FY8d5F6f8oxZOEsMll/AG1HhOR4yxOmZMOl ++ZTg9AacHWMtTkjbs6JkT6uA8+tU+txoYjofkaGcJgq/SQYen89ifXZXVkUMWjqL +ioUUKCsu4OQPnH5k3jCQp7DrkpDAgIBGZ5F3QGaYsrkVjxNoE7QnTWFyayBEd2F5 +bmUgV29tYWNrIDxtd29tYWNrQGFwYWNoZS5vcmc+iEYEEBECAAYFAkKwy1kACgkQ +vhbJXS4RQyKOYQCfddSBIMCd3kaFPvL90/piH/QIdIgAnRwG83V+KMRltnPRclDH +IcTI5unMiQBOBBARAgAOBQJCqhI/BAsDAgECGQEACgkQErKHWAx8TwWGeACgnN9d +jKDT2mjBKnApaDkMzmAaMvMAoKEcdBBCx62RPNIEBnxZ6zAxH244tC1NYXJrIER3 +YXluZSBXb21hY2sgPG1hcmt3b21hY2tAd29tYWNrbmV0LmNvbT6IRgQQEQIABgUC +QrDLXgAKCRC+FsldLhFDIgvLAJ9VsCFN6uBcObkb+UCN70ukHH5VWQCdEjPNvKCs +c4+FGbTTsEoabhoNhsuJAEsEEBECAAsFAkKqFqUECwMCAQAKCRASsodYDHxPBeU1 +AKDUIGqVzFZDXgK8PcLW8OlL2dXRmgCgwwxRkgpzuKNMnkphSZNend3VdJa5Ag0E +QqoSPxAIAPZCV7cIfwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQ +B8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biudE/F +/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J280g +tJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhdONM0/XwXV0Oj +HRhs3jMhLLUq/zzhsSlAGBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9 +ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsAAgIH/2A8l4YFI5dYs5ZV3OgspEh0Qa/N +qd/JiVWBdygI77zp9TEgUtFBPDItEjmJq8sgnao0Cd5d68l9c+PQJ1xr4fOpdug0 +YmYUgIaKutha3SSNRbD+T0WYmtTO5A4wxbsF3hYU7fvBJrt8gnO4tx6KAn/O2rRk +wPfNTZ1EdnKttZDM2Mz4OiK0SsQ9mS7zP+HPx3kzdl1Oj0Vk2tUElD1R1hVjLa/o +v5YgJCrwSD7RfCZAOEoPxXXN6StCqW1zT6HgcSR0clM5BC+ZyBJzczzD9I5+TrlH +d3ISaCOuP5NeYQdTsQ446bjiNk7LT25gNHF6U6WjmLQ3lXCz4kNoBG6fiOKIRgQY +EQIABgUCQqoSPwAKCRASsodYDHxPBQ7wAKD4DO0Se4+SvSqUKDfxhI0lJTgK0gCg +0lICv0KXT6PKyTndK+lr6K2AL4o= +=GKga +-----END PGP PUBLIC KEY BLOCK----- + +pub 1024D/2E114322 2005-06-11 [expires: 2010-06-10] + Key fingerprint = A1A2 B554 6D43 31B2 A41E 1C07 BE16 C95D 2E11 4322 +uid Curt Arnold <carnold@apache.org> +sig 3 2E114322 2010-02-17 Curt Arnold <carnold@apache.org> +sub 2048g/209ECE57 2005-06-11 [expires: 2010-06-10] +sig 2E114322 2005-06-11 Curt Arnold <carnold@apache.org> + +pub 4096R/70C9C3D0 2010-02-17 [expires: 2012-02-17] + Key fingerprint = 28F5 F554 39C7 1A8F 2B1E 58C4 D3EC 4990 70C9 C3D0 +uid carnold@apache.org (CODE SIGNING KEY) <carnold@apache.org> +sig 3 70C9C3D0 2010-02-17 carnold@apache.org (CODE SIGNING KEY) <carnold@apache.org> +sig 2E114322 2010-02-17 Curt Arnold <carnold@apache.org> +sub 4096R/0E434FF3 2010-02-17 [expires: 2012-02-17] +sig 70C9C3D0 2010-02-17 carnold@apache.org (CODE SIGNING KEY) <carnold@apache.org> + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG/MacGPG2 v2.0.14 (Darwin) + +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 +wlp15dJcNo0puq0ZbuZjPboQjg8PQaGtlMVN6A== +=EKia +-----END PGP PUBLIC KEY BLOCK----- diff --git a/thirdparty/apache-log4j-extras-1.0/LICENSE b/thirdparty/apache-log4j-1.2.16/LICENSE similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/LICENSE rename to thirdparty/apache-log4j-1.2.16/LICENSE diff --git a/thirdparty/apache-log4j-1.2.16/NOTICE b/thirdparty/apache-log4j-1.2.16/NOTICE new file mode 100644 index 00000000000..03757323600 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/NOTICE @@ -0,0 +1,5 @@ +Apache log4j +Copyright 2007 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/NTEventLogAppender.amd64.dll b/thirdparty/apache-log4j-1.2.16/NTEventLogAppender.amd64.dll new file mode 100755 index 0000000000000000000000000000000000000000..b2a8ee0daf5c547242b6c4bc50c802ad23558962 GIT binary patch literal 46080 zcmeFa3t&@Kwm*E*Bs8=QX`zAgk^n`yqF5+uA)q-l#S=}SKzXRVN?T~Pv@t#5F(S66 zDB&2bGwL{w55{?1XLLqqR0Mpr7HP|~;0tBc`WjCSYViR@kn{c4-Y0D+Fyp;5|2yCJ z{qHF!Yrpr}Yp=cb+H3E9@Lg9Y7zIHv;ng%j*aAq8i~aunpH4*g8MdvD@NDlr!?zf` zdxjU3mQ^|Yfy(89!WE99!itJY*|D_55eQZ|$|@Z08M7TLDvL|TTCGW$deQFZg7bwp z1}Def^KO4Mc_94f-Tpwbo58!1djnq3cS*9Dr5lty8?g72k0u)!3^RD%?RV?`jSS8z zD=KAWo}&r*d4f=UdoN+yOAS&iNry1Pk(|(55SAij5f8o70hr3%)dm9OP7nk${osi~ zAr-MiL_9o(XVUW`w5Okk_<t=3Gm%yOr65eE%pHQTItj2%5S}zsK<qIH-^QH(6<93@ zSsbCW<{B%Ptd<e8wh%vr;!?bNJK$oELlBmX4HOs3NYg+aSB>|4yvy*$Jua}#Se{I% zcOc?vynXTBi8t<X2}1o?KTpWo*oMencpt$V_qeFMKvkd!VT>lAjgW%(H+bV77fV-C zUWtTPv$leu)CQ_Q?r{mi)Hv_|Iza&`ydX1G3d@-p^Q4-?b)cH0m_K_IAbYzMuFb4Q zNcK^$(jY~wjw*_MYZ*PZVYQ5Yw&zVrQs~u$W#QWNb)fyS_4UDMcD)p8(WJ<Wnbj2Z z^;6j`vGgJ`Sfo$`GPrFgDfJgp#GN@`irmW*=ViA@VRxpB0+-~WAb4^JzbvV#0fkjJ zxid!t0&zKW30{Y0FRc`W(Av!T21!|vxx}`9D7qi5D0~V474!${mj)o-?DLQiA-3B4 zsDMa8reEA*WQm(K`*=jIua|F8bmZ4&`j>@ew;wn}?0arv?GU$8)r8iu{Si}dN!bPT zMiZ`nLKL_>Spj-=mw>D{{Mf8FAuAP?k4$!C61Nf$Q)S97YBl*-E%4+g!lT)*h|BV- z{~u(b5vJLbDT}g8vnMgfoveqY?A_{Pi1$Vw$|N4}DA#9rlq!cu`FL^T?)b+wXYM>H zbU2InCO=#AhKn=jd&A|KOT6fdQlIjnS2^NSR7v?tQjYmR&nqRx;89w&ItQegRCF+s zYmkbXC1Z;^6BW9ZU95qsN9pBJ-t;JYB^2h+>e>*wEWCE1;8jq#Z~Z5-$dbH)Bxfnh z99LFHS3=^EuCgXCl9at_$`6_b9+s3nnmu&|TC4zVuYy((^W=M#gW?u&gb?FbNwE(9 zBM4H|nqA-Fwf%X>ez}jR)r&Qq0+Ow5iyB3x6Q!vN$VL@}0F@>wv^{I_qJ@pS_3>4n znK5^sSOCi9ixHRR8h;d|l9cu-r%>0be&E&@o@BL1%H&pQy%w~C2^{Fr>=y8MIRxBh zaCfIy$wS|~f%?R5B3uK4wh%!v8KFIMbfWTf#4wyUMeV0VR7pVqXfAH0W-fDwP4ku7 z%sO(5O3Reg3&3)b`KG)`e!|*IrZ}d9sg#{-M@`8J!WEH>YX?nnJ;W04T5Fq<-^fDE zYfXsj#ge0#*0lq9dgXPb(UTuoYeLk1FA!p*n_-pXhBpgXcr!;+jKghvzCqkdGm)h1 z)9kn0NDgnNUmarv5voraf*5s(Sim9{WUiK!Co`*oJt&?pE?B(ibavfM)XqM@$=nBI zE_i~-+$`OZ-Yh9QC2dqc6coqcuGtWSsi+HS+a3hqVvuwsg!Dn~7tAi9Iwn`%0}E+( z?FPh>TzQ#<2_#tu5Q-BmZzG<fA4N38OZeGL2g=JnDn-yTbo5miitfm?pDYVM>!z$~ zFJdN=fYg1AS`d&BSLEf=5OR_R&gn9d*qwNOzGg4rRj$uOmAX6%znD3ingOv)mAE6* z6HxazU@k~#DomGY-pu)^22!n-rK36_*j_IK?wx4G`sa{YFH$cG`SsFnL1`!lr7`h% z_M$fEMFlIUYtb^uGvqe`o1w^$%;ykyGh!JpJtO0GbmQ4Fg5%La{aHqqNwcTHvmQc# zlOt$Go80e93hxx9QBv;AWZey!co+3&&3594>p5d#1cNg6`>36q_?o?~l+7HrP-lXi zw1u%pX#40!q7gtGbHT}k%lZRyinBG?PYPRKd|VJ3r6%*!fb@KW^x(nJVMnMq(*=Qy z{#TXWs7*OYOgDHU0%W^7pMoG>lhx^PfsC%OMFR4n?GA>iw7x~YoRvd!w_>eD`Pm0F zdojZ`I6xi1%hc>wBSdLdU$F>6*w~ey<B+FhNXoljr9}*V+$kOvOkQQb+)q?o7GF`m z>DWQ9aX*B)cjSIgQRCH0da9)4rYe#}GG1djDjIEaifyxK47GJg4|t8u-t3(orG?ed zekq!|n`r4%#2gGnkFsA4YnsN$b0*ok^$p2s_555Af@xAiL+Y|)4Vo5A_@+^6Xi06a zL5rBYwa^$yrD@6`Dep+3<87<fzJi_v!CE9+-f@s4_@B%dbf^kM&DQe}sb1R$E-Zlr z^(!dgNR*F6UZsi1cIk2o>7X9CXrlS@rv*WVG})#80=dx(*60)JjzmFdV(O{-LYGrg zc0~KCRY;}&t}76Xfw?A2!qk&P<mfTQf=jyF>qP^`?6=+a2=MoWIxT_1qYa7jWk(wf za`Hw~l1FRaV34$iqYVkNZJC0AkP6kxKpNK329s>%K_(Vr@+r-phIVssCU+R+bP4ei zi?n#OmSBe`)Ru@@J81DJjg7WpE&+A03Q$q-8wzCFUpId6*5RM0=D6SxgsQ1jpjRnK zA{`I1NNn?lXF?lrCv{M0Cn`Z;2Ld~TZ=kYa?Kh#<<Mhd8byCguB>n@>Z9##8EyI*# z%Wx;Tq?(3m_<_b@sivJ$Y;nQwRZ@6;URz^tyfZCc#ha8$m1V%|Nu{t13Ug4{XrSey z@HPrpDV!swHB%^N_(ov%2TzSkHFz+~1K2`@WJh&MrqI6i6hpU5|K;rm4eC6`=AIoS zX)UonVjU!f+7seBiFFXdOkJH6>!AGZ4hpqnTvJDbaE9&<O5`0R#8vSl`^TLGHKHJ? z0~J#TWuPxGZrw>BTsp5tw0Og5!8cj=RPpZVZZGSf4ozFd`v-kN-O|-fynh<v`p2u+ zNA&F^`hwuzB#^!!i8{ffQdk>>9i*^U;Kh1~x^E^r(#tX99b`dZ+TZJ+ZRj5^yS71~ z36ZNa)JxN7>|(k<sGetqGi-kJ83yVItUnYqM{+Zwy`<1cHmz|1N_rcYBT{&6W`<ZG z&JpL5M1g**eui144gz8x3Q*rqAueo#*G1la@S-Y@bGz-f2Y>;zHqV%o-bkgz6Z*ko zyR8;s9%Z-s1jDMs<9w~EU>lK3a=t3rrnXAPR>|2KNTW0wg0l}v&c@)NXaXFOxem$s zR$v;%eax~n$`hpq%_v2NKnZPDub|4q=2!kgb?j9yVP3>uV^K%)sE1h8`&68I5mN^- z;VpoU0bwLb%37>GAd$pH;zDr&O<g3T)vrKQ>Da-+^~Vls&0IQj8hez3q3;dBTa}&a z&oM_ra3p5exA%vvQujfcl3(44h-ka|)L@#3%}W`AR{#sOeIRom_!ZpYzLa`RqWVxW zQtwjV%pm{jVd`!>bM(({QIA8tMTyCp`RB;e4pmH0MMOt;u0If*sF-UIin;u*pMYhx z=CJuD_$S)u{U>G%vuXl2P+zZB`yh*YDXLMk2(#s(?-PP^RR;pLHDh(h)MC|OLvl9b z+G;OEaf<czpHWDwW}j3@j$M%Y{j(3K>By(q&!e!=H5M&wjP_TnJ2kESThJ`@y%7Xy zQA1$6*vy9M`3&9yk+VEX2hFq}>Iy>8Hqrj{CZJ9P-Gior&a#<s&GIVN`-=s^hZ#Om z)b^8l24vE_$`0jq;*3Jn%mZz;KpM=cM^qm}Lpmucbixq46to<Nxa<RzsTgrxo?$4# zs|?LzwH%U@V-ceE`uan_;)F4Hc~_}lV?_ntXc@UrISw`6ArFC~{9O?U0<188dF5Iw zuUTmV>(!sha#>)vZo06!+oN<U?@G!M;xM!NI`{{ZvGO_=Sv{uD_9uWZc-0%RPPv<O zQ)m<Jh|A(klE-NE9%E~$^WwnQ5%G&qXWFV>ThJLoV@-n_-MXbeQTBKr(KfBVQF=gB z+zlqI*%;4r1q;iKh<QdG7{w%o>Qfo>Gd$TU82m3O-;=I2KKp<anc5~DJ0dxosxs9r zC|!aI=YUp9ntJwu>=s=+_+kj*7+omYo;uFC0@|p}-3hXUw6;~yxU6r%5*EpaL~hdT z+ZHiW1}_dxc^SMc$OEweQXSxDbl@)VwEUMQBL=q+{R4S=aSx|3twI}jqgOB;A07=f zn53aK<(*V&*t`N2Q9q3&MKg<A9MBS_85%e<8*29JkTS-+qoH6z|5dD)BA;fTL4|}y zT>uXt({&|QS<T@M6cn+(#L_KCI`GruFe`Z>SLXu}TFxwC3c31?7fHdDkUS7Sf-Fj? zJO}wvfEz*yQCZ}2kqgSVxfF$x+kwe}mh5CcQcxU5+OJSnbcCeTW-<iA<_ToV!b*mD zL-i2p<_5~Hm<Lfz*sMHEKE48m_fAAMnU^B4w@IjPGB1G3K&U9@{dZCZcV;Qvdvv#7 zvj-MJaW?NpIxafy2cr^&XCWLE_+|-FY6?7|DZfJ^A(+I|RWN}#1QFY)D$rcB_o6&C z+X>mOb%64Y`WYl2l+7)WSD^j=2xM0&WH(b*NnBqqX>H(tE|Z}!MywCBT9+?C2K4Sg ztXOVF2&?0BJ<tRr5GGrFy%5W*K2OpP=Am6khBCKWfJ^(kVA+^^FYv~^;M`etao0d_ z&?rE~ijk^IpmG~6lJkSW7ksFq7Vu$ra*_Zn14<bHHiiKtnMP59wm+7$Jw7MuqxqPt z^r0zVlI&OBku%WJkKtA?8%m==wh-b6C}0H;Mx)meJtNk|0O~q43{_nR|MfHlj5v-F z8W}o<C7Ch-APSZK%m##}+(FgJ!;o<umED4}QJIZKb&Ci)iDqAhaB352^>J-w>kzVV zWWe@A3WP{4aOEj&%DZmmIHRq)4)m-GP5H|vFq*CQB&upMKSCb3+#5#y49@k3Z0q;I zi_ZV#55V9?G7n%if|9d9a2OVN<SP_8oke!)1LP>-Fxm@?91>%-@fAkET3893rvfSJ z07^PBF_;kj8wD(o6q{;e*$=8Gh}pu48sx3DlFB{GxDWEqI-k6s!RvK?6Eu6Bs*I8N z4fPO21A~~O^a^1dL&c8hdh~{{07XWuN3KWq7s(D6vHt)!g1)4n-y^6l50<_pPM8wt z2k-{ZZ!-TB4J3MqFql|WFCs+9K(gflYW88*(aI0h_mdj48eQNL7jqqk)>h~!bd#aI z6w?IBVRvMzq5XP3XK=n(t*mj)q$9ozC4iQ8{m<jD59SE+pBl>HmpYs_nER*o<8To9 zBi6gYX6j}tBW%84BLE*^jDMLbN!C&a(<QUKkxNsML^+;)$fN9VTI6I60=7OibYei@ z2!3p#H_+;>z)etRjDQ5`1c$8c3Yv@{aI`fv<zZ-=h$=)>jYceFt9=k|DKe!T@=Saw zojNOGu3U;RWgiT!>Yc+G6We>vQR)R48|WAx<=bLHA=xcE%u|WMH2c2!tio|9Dus%Q zSkFhYZ6^|dpYvP=zLm~Wo_rXIDjaZYnCChtubhVLpHbko6d19;wTa>QR3Z7iIq!?C z-B|pp-eKp!^=1?eTvj6s+C<ahedsid%`=;oPf3d!c`~1|eum=SVNsWzEBSDSwEgH3 zqC%>}Kx9+h82Hh=t>2=DHTw(mfG4;cwT(x6H2ET_=#XSYM|$74sOy2UM=5w8^KLP8 z05AAf^1}2-+`5M4WI8wIJF;)j2a{xp%ydcfEAQ|{APYKN9-#L>yy)zqp(#(_kIoLJ zZ>4@#e}gf=jTR5mh+>m4%t{e-SR?0cCYP;i5uj!x2O*609%MfpiELtL8X0HP-LQxr znTyes-2&HV<bv$gMt#b{>bY*DSa)EC3LV#Et7bohn2_~Z1hCrM$AEt*Pq)10l0ITi zTY}odHJgA$lQ;yNB{bDE<Ck1JYGi=i9W}=YV2)46B!|RX5Vw^SHg#Tqw&n^^NJmI8 z@KDnKx2911<t#q@LOncWK!+?hKgDM05DQWi0_qzM6vK0vkvCps$KkBmC(OaPw7!1_ zemgb$m+<lBKv0TE2DVU8-vit8Ksj5nK7*ueeK3fnjja!88KBuu6(CYyA0(<v4nqzd zB3AevOUqVZ`oy8jBQiMX6<Q)vs(J+Kd6#()Go`I|3<yO;?zVF&o*bG(&8mR%CFL54 z`@W7c-+b=-g!@Xl?=9~0b6+#}t>(UM%%@a?YCPcgJYW+AM9jI10G!RJ?jD5m-gpM1 z2J2#l`iK-kOinHG(2kHn3l2aQmx5rZY+01AmwGMo)$xo!fehuH;^#%gx=|iO1Mhi^ zCdoOa4YE=mgo0Lu$=@mW30*0${Q$LQXjiw6)#dT`pHsUR#F^N-#)D!t-_990lh%Yb z&2B{pDb}yn6M_fH;8!r4oV(OI^q(%mb^S_hf#RTU!SWpgXbFVa3f9FRBSYByN0dOq zK#E&SK1bAGYe{*WVpUijSVw+6i<NL5soT5M-6x4p-a?qpCwyckstO`#We~IL(zv2M zvQ(Pbv1tpFL^j%aB(w*=d)1Sy)dw-kgQF*!fBH*7Sm_{6JB*Uukw;Zb1a9ZhpCDXR zPS~#c!TCcFvtBu<gqhPtEY_{WND8)q=cBe#ROZi+!mAx@3yW3wHFmGW&~A-%dA6UX ze)=^LoK=0{MDqZudIVK{(`i*}*i=E)qV1}aqVr@BnY$}rOD2eJ49Eg;ZXAv>6_Vi~ zDQ`>If=eA8BXsZ*hyWQ_+=JSH#a_)Gok;|EL?^%+hQ&9);#<-AZSduPfCc1P=x`3W zIe5PM{t@B`lIrm*J4hcv?PsIzYu2KDxzXKr52jBr(>~OV9?XF*(%l}=)9;YN`KhPr zhCXGD#itDSC^zN!#(Z{EG%fQfM<nHQuhMQ?|5sFk&JIh>-mt56;uW^rnG}dDN>Oq< zz0Nk<ZL~mCa!-;wgbolwH=Cdf01YAJG{^&?-eM-olCaZiY@!*!wxJer>#D?>TZE#j z6>UKnNT)2{gfRI$u=XOj)OXStqxRWGg4#nHr&l3ZxyHnIN?Bq1)MqZB$Z0NRw#irI z!|=yi4gS#{<J&&vHFOWt1F^2iN0FP6Si>f1W2*CtsvFv`0PkZ(yv(Dlab$nt8KX@c zyRtxvEJ{_b`PS?FFmMHLUe#ri^LQWyBflz9Jep^61TP6W1-Um`1z|8UI)GMztI@JQ z8$97&ZqUJJY!bCr?KM`@*uc|lP<bPmd$Gd}lgo{ORT6f&<JHCPKJtU_SHnQM#Gxzi zI3WQV5DgugeIQy=w{1QG+>xctWJKA8v5Fn!yll<mYzkVy3GFx2BoQ{-q3DRp?y&Xn zL-3o0WN0JKgH^eC8*YYOFj*6K<n~U=3*VfAfE;)xCgEoih2$f|>j^btiEG{$pE=N| zSRX;aGWW!_nM-Z89-0ua7A{5Iwpu5A-bkrQD$4R0zk5Njz!sKa^JcJp5a%vi1oJBr zT)Gw|ur?6>$sB(aAeVW<rc;V}3Zg~hcC4e}@I(}j_&ZhN8HkJ3MLE@H$K0csPIa|8 z@EXpSfHftp$=SHJHfmFb9)vfV2xPv3LsT@;`N6t%Qs@dzz7fBt<PvnYV2~FPu+YTb zN3-8c8`Hqk<1PBk13A^uX%<7D4D;Ri$$XzNbBBcE1YuLAxG_%<H@Gt`9&}miwoMqH z>a@N*Cv0c#%#<kWr8hwgt;s`-vcuv$vG%q+1*JloeIVU<Xuf0|I)^Y0IW;*2zo+D0 z)z?_6qqpwJwbY2POfdUbsNuUUN5RN>&d+RatmPl{QGawW-SBE6X&zgCA3`u8ez_FR zwr#G*o?(zmb47cHI*maSoEF$?bzC3B(4)j=EjJ~aN|I$PrInhDH0Oxgc2E&UBctuk zneZ#tyCBvyyB}3xI2n<i9q2&g!0ryPI!5HpSw5vGr;FtwlH&9ptcPzz5t8C0`FXh% zxq~`9Iy7`^iXbORkr}C){X*6*>=ZW5=behd7r_2$vby18l8hrsI~WCa;Vb!rYyTWK zrSQ5=pTDv~Q|w4iR@(DNP~}5kfuaC8hpBlmjiDAqPM!keKoiZB7eYgjA`6U$jmFyg z;AfGm49wDxeMt2hTGG>s(|j>R9%;JuDD5VcRt-5(Lb(q^JE(R}iTDk2u2l3TlWA=3 zpse9U$`kO?9E9aWv$_m*A>_>EgaP9T6tGA|J0#;llpcHxH6@}Zs^r#>h!CTWL0>_t z3$UOc2>v1Q$&Caqnr<-F$;{dg6CD=SH$$?h(|E=Tk}~ZEbZNINil2kK_af+QjB*5) zQZZD5@vM9VZC`9MP*oCknG?O?1W#zYCHsqN=ZIihcK!M<T$@MO?yZ-!Mn#QI6tz53 zmgU5a#tn(!CEMm~irK5)hmJtQ`}ItKSXb>)dGPu#f`7zm42RqczrBOMqC$G_xJnbE zMoHV1eH0Y2)qV^ts+|tmT<z=~G$U*D2n*kZa5~Xr@q{O55_+Q6i*-bHOO%pn4b{#C zGRhbcysUO-aOnD@*lfkQq3WCwC`LILO(uKl`lD!v(y_linufhG)Zc4I;sUgRP{u?Z zCH9bKtUnsGOm@guP3|q{f*_aMUT#*m3@7SnXhpr;XCn}9WR0hcIvt|Phyp<xDU8uT zYiz$3{h`-G(u;!I(-B5ZF?&LpnMm1-cs;&*v7<t(yRID-QrR){<DdqqZeaaEzW_DB z`eR7PjZ8TV#*MAJq1Nm$zyDLjLm%}ZS{Z6aYAHOW;x1|dO!35dMiNtyLK3YqU1XIa zjgn2b>PxgJEF#TrD=?*JnB+WCwLmJuf)qRBTGdP`k`9~o{s8!Kr~2@BNY7WbIo^n= zqq|(DW9g+XN2zYs(D0OJB0v~jUhfVM{WaW7><|_5iND#(mTWNHde7;)q)V|H(89dz zPdv(B#fY4lAUbyk$3tI}sKK<4CZ{x+-vL>OsiVU+`!B8{U40iqLY=E^?!95_E95?I zu&v*QBp&BqgLcjSL|1;ch0+hXCFKMr%aL+l$#@Em3xdaDjxXsPTMqqXNn=h(`!S0* zW*=}zW*A^CLMYBALE+Qv)2YxRRdgPPl^Pmn1#AJ3@r2~K?jk53D<HcCiu!0>@#%}a zqH}vNnbh=!?`xVz`4;`8*^i(-bWWhkxmWIu*4x&5siW-sSvcECteu1aca8%qcdZ^U z*r~&gF^w>%6m?LUAAZC74#?0PiGnwvfOeefri~qmHcpz=KYl=I5LeC$hd^Z=MJ5RJ z))LwPECsu|*ydl{8a^`g*VhBf$drcw&Tc0~N%|W0w0t-7eDaUT_bOTO&a%Fdl&_WJ z>LP49=V23+c%so(yODM1hE3>kZ;|=;tBHpDCr*<4d0=J<y_zaDw3#Gh1MQ`@Q&5+; z%7j!#5BAEOuiI*KQH)oaYVlE-m%)QQd~?w14PR%$(Xo^5qj->kYjXowrB6JLN~Q2K z1eB{yq2m_YdX?c}w*wEw+7G{?ai>q&>2~hF<w8%xhbBo0Z9)=Jd({(aNcDvm7&;Z} zXRDCf{3(8o%}BZS-I_@l*!9W_Pa|nCr71)(gg3gfW)kLv`dC;Eg)Oa_1itSIBSk(s zy=KzS;=-`j6rz)ACShE5rMr#7&aattcU%}&!$P!g%_NM(`d|{TmnJXeXM_PW$3l+| zGrXXw5piJS4>Llve+*rO&uds%bS>r}^VqnDJ!=cCES$~3-eABXNUYnN*wH8^57{af z`fX(u=!&IPmLR<{{;>}({>2#hq5h;u$55MjKBA*5*$M{o!A(65p403H;dFy7vJXKo z%<Xn>p(K!rIkCt`5#U9h9548YcIfaRWaL3<OSWE}*ZG0h=04~R5B(?rW;pgbTy1c1 zxy~B}``R2(l<aFYhuh5PqT)<Ht4Yp2Aa1!ABvWe#qhKsFaJ;WJlkNsckvkcr4KRsB zLO%A-fUKlElxazz_yU?Z=s2wU;W+p)138HpIY>fLXvh+7RDo;07Y7<(VZnBoUMzGL z_#M~-dl<Q+4%*XFft!Rw+`Rm5|Kp5}xgUFNe(VF#kvlTMvGmn|kh4>vue2x!HTxZK zQT>u;m*IqMAqBb_3{wdzjRDO*7oppz6sF?3D0$6xq6|NacIKD{r(lD}+6M+YQF#aY z3&yy5FBzE7>_IpOlDPy&gR%d~Z42IT0mN@>bQC*(&Fq-ek3G^X$aJV=<L7<VL&bug z8yZyxrpIwRjt|a=>1R90h~kZm^2=!OQ7qn+zlLtM7=ojq-LW-;wnK`fR70(;AO$ay z0@5d|r_ekgdokIgRw5XSStzK^gKHc4ZYh(85UM#OR9#F5z!rB=lVq%ivap>r^h3Jt zeY!sEfENBKjfBX>=TX7R2}!wJf)X@1bgRVxWt7YrzY!^BubO@k?S+a7Wi(ZC{;(Ej zgV|163Tr_x&3-c_1a6Y^y|o{+0dvM6rQ^d9bAYNewnz$^r;WOovh|?T9HNs{^bVbJ zMVV7BsRj%VP^ETFi%cJ?W_%X2MgNIb0>Imd1<1t%QLrbp_6OJ$Oqk|w-Z~oD)a)-P z39}a2)QxSL#&^d-mFu=9QG#XospI*Am#}WY=ukJ982@3Zze~+{8-}<U-C2)DQ$67Y zKL}AA5#FVK{}#-P;IT=lUbAm^L7HI}>^gVX)hP=(KX4gTgw4|_r8M4+hosQt4{*>> z{SGVzmIu41sb!>~D=8oFf=C>IR(_PtXvNEj3|$UJdW9N6tD--s$U-M8u_GG#$`Fip z=Vf|P!&cvQSjA7Y$i{3OLMW0ZOUCBx`kIM!MJbrFEjfW=XJ$a##o<tIkvJK4C$DnA zYiz(}3Rilb?fLn=u8w$xj67(B=P5H&yv_rGBt^6sU-e@4vx!;*PQ8uJbM6X!L^UW4 zwCK|xbSZWR8*p^u>z7C+X;E*0Py}C(@QrD}xqS-RfDjs&HpP|Mpbk6M8fr6~Cc{yN znhPe7lnt%aYFK?u+Wx4Zt{ea#-;+QZ7?k#-DD?sG3B>tK%rGnx^3+G}uyr~IGdRcx zAXL$bQ{ZfuS-!6OD)C#Y$~)N__BH+4N0t4d&l7C5y}_f*@fZ+dj_Q~L6DdNBw%R+G z!zBAcpZAh4q60RIRpEW&M6%{d!=a>ioA}hrPT)WfR-^k-GK9si$p)=h9|B-D6{@}c z56FkOpYyo7)8a6*Q(P5~E02$h2Gwe68$V#mED|@O7D=hwM2ILmq2V-D!h&<HN$!Wf zOzl!=UWF+=pq}QfGE=ey@JOT(ro@Xfqr*@w9moK>p8|BDtB(8|>4qu}rWu%$d=$0$ zu(V4OBR-@08hCv-mPr=ODeu5CR2Mp7k^6^EB+F@`6DB#uiy?%mRnGKBagOL^nhCt1 zLXH&r9k~T05B75_n@NRex}AO@?S-hBWueH4z^4MkazAYqDCYOzHa3&OBo*yslIZqL z$bdPp*&=AKVhYGotj{7*^mTRNr(jkXcz_-qu$qLvp##i<^MjyOxu5D%_KDh?QM0lO z!1;lkM0n%mk}25N8)mp7X`(yKu*<HG*#u!2se(<ghdnTCeG|L_IbnV8GzgopX1{GR z(>T~J_n;|YcpOn<8k1&ka?;A?kQ;K;A!35&Cg3<7m+pk<i+Pu*s9v)39#N}5q5UCR zhD{v078Tmow-Oy9)(;>NG<$DU$XUf!dnd6;#J(93Z0fb5MhsP3Z5896X7wVJg#_za z0$i>!k3oT&{nJS-gKFi`)4QV6S@aG)`b(1I5xcD``Uhx=n*BfZ=zWNWy%VK=hj0=R z!;!j$)GnH%s`X@#Qz>C{3(`bWq2|?-gZAg1hXdz=woqoMc|}mZWZcqeRyVTw!}=&i zC>`p}te!TS1Fxi7CTVXGz|?yuJJ=(#y(4yni77#1Waf7$M%3Ows>Gx2%p60omu=e@ z_UIKD1LIhA`{eQJNU8=&MnjopQxS~biglnK-&Zy2@fOS{Jc(kBuE*T;IZXq|nCe#c zz`E_B4G^S=9c}Z|6uTPT?a~h+EaH2yI2Hj*MT=}D+l+<ISzqMdU{LRTN7G(lBB#f; zLO4UMhe?rfPS*8})e~Xt#$j(M^tmDUHOdH@#SLlESHz8iN2_PYv|;kVK~_XZDcXi; zbu5)W0t^)0gvs?e$Wyit1~cG693jL~k^dYBIuH%=w#Wkry}lG_c5mn%Rl5-V7|O=E z5FHSQC~gUO6)bd)Yrzb0qtOF9%7z4w_A0Qu$P-cx!Ox>G&7KyXLg8{RPpI7x{Di7D z=50tq#kTd!FlDf!lHD8JX&P2#`Oyb<7zA|=VM7gTUx6gC35~(-^XZuFq+{<$zfVLu zoRF{ENGs^t1M=d>6LDU8i*|}V>pU+A2KLlQN-7Rt;}nL)YuqUvJK)LQ?-}{JtV&9L zC-TjN_3J9B;qz3uC&GP+?j8>J03MuFdo;Keh7$u0bKv(B`~89ao@Bo#*zfo3_c;6Q z)cNBq%uxv?=Ug=ZHOvn&=AcU&j1R;O29MUz#R#7hBlH0uoKFQYK6nlty_4ou$glM+ zs~w@^3G1w(<Hlfr#q5H{86BsXa{$BE@#Gt+MxjcbW6R3{6fi3?(blam>I=G>(M$@x zLqlZ^<d+S4k>qTUS70^F)<g&|4CM$xoIFx+$bxAO{X-K;>vHZvor*#wsEK_^4k#I? zrx+NQ;^8!wf(lg)apB+Xrcy##EN8uZ6;(DBMdeUHP5UWug}R@mQ6vPtQjGv<%s%xc z9+pqZ;QbT#QZedd+&!P7BIXxw0>F0mpwQMO2qDZzVV40_Py#hbi6b}9f4LVG95Mg# z27rlIb-)It*r>OYsI_L*N9jVhb_$r^l^K?}m~0l)<d8yN8iFrD%*5%iq<^;eMS|VC zvB{1Lf;B_{qPB^SNWjmD+U@5g?Doe9!_!B^`QjFisolsh&F{eCTS+B>fFudHSF##7 zS}_=aV^>(cgN<se9crl69ieKXg@NgAbXMU3G+xAw;10I|s(BoeZUaPX9FpAMjU@MX zBT4>vBo~ztIZs2<ZNPox9!RpVo=Cb48wg8X9gdw1c$b<b68$H8l{9G57~$bGGL1fn zWq=Qn!#wbeg2WL+ljt5&#H^NL8gsVdD8%<rldyvwcc6xstB!(Ni77_e&<s+nw=M(M z;Phf>OFg`}N~D@u`~&2Tj^QUEmcg7?Cq)zrlN9^MXsS9F)uI@lAdmLj**g3hhuZok zs~O`^zyEdSn%f~ouEp8x_LpgU0F1;=b*qPxn2sVvZb=m**Yv`YqR|~*Xu@m3o3iYi zC$J*Ao#;H~hmEFT8^~PFc=2l~5}}*c+XVb<G)-jlk3Kc=W!4$CAmD^0w|>{W+DurO zZ!QGjmn{7(<cQ+IO~3-Ok6e<C>y}hJX*5#+VP>LhkQ)+U^weH;HU_@i=+2zG111bK zZf)k==zrKY&oj8OujY2Xx~ji82J4r4tc^^5I`j7zhx$ct)D~(=*qDgDqt}&bDa^n^ znu8w-T$VD;1hWHeU6a|yZ$#@*E36>gnm!V82pL=g(kXLOkS>R%LmD(KixQ0{BfQ@Y z^KlD;9BOUG*|Q|{%pz_P5T@svj$E{LM;J(0TEnb#)M$`Xs(YtytWEc$zGx~!66C(s zy&V*StQ%^GQqja63}T0(0VKl4ae@?z8iKDxuf(<hiUJ`X#T@Dgbq-u*L3xp>j%bQV zzCI`mN7#FmqrHlfoUaF9iMcbA^-%V1b!9UYKj24wc=}y&ngjTeBz4>&V#&@J&j+Bn z)9OX%c?g0Bwh+5l@FPI0VBW=Y{ZR^|LU2fE=#@7ji<>q&hIE9C8r|eKpIC<Y*dZdb zn%+c}nC(a@h3{aQ6>}o<p+C74L}9#+eqY6nm`4uq5d&Vul7+05F&XgA4lx5#^nh*s zZ9qmXdlw1AxzJqe>KSqn(Hl6L*Fbz(J%o{SzuaG`W~1A@VFl&^i)tWYfQ7$eUd3c- zu0<X!(FI9e2ozGX-s(=s6%>z>a#N485)y*;5KEJ=BR9hkwR~f%O!&rjE95yXA^7-a zxVq@9HyQm7s4hr`(5Q!R27;jzr-GxJ%y+>}%&XZuFTp+>7G{Dxn^7+GE5h@KXkO^V z55c}o=HjlDJCHK^M(D)JAZ`Y_GaXH4Nsm)prsxa25KIUlZD<oKgrVf(cUm&=Z2(%& zK(BD2)xTN@y3oj`VFL4>2Pop$TPLnFVFKB!UW-Lrdj>ccHlh*;7@FFm9_2OhMM8UG zj;;0rI7H)akMS_{v8>Q>bD+IOQ(;K5)zZn-8m*nVJCWS>JWd)70QzLd{|o^nDA>uT z&&Tq>9V~GA5Hit{1XMo+^M==%!i!Se6N@t)w%cLTMK*Wl`8f+R&zCRGnQxFs+cxLe zHcJNQ@m2OQ`%vcPLxE6rlF4Iy!!u@g@H-%ukdqO7U5ZRQZ!4)2)fS7#xSho*(@iz) zzrhfeN8^&8JS5a^l~b|712b4-bkG(POj*%>Tlx}6*+LhTqUJ4W@P((PxWmgVQDb-! zrn_~i5XoD6p=ikB_BOzYLpQIXRpImC9I{Bfg)j{5?v^EzAdQr-0A+_7OW`(tA#Ov# zf-mC!0>*=8F(*SFmvgN_zR0#Y4R>@6&el}}A-Tp6g<38e-w-VZ3iTOxJ6l(R_zej; z1B3fKP>OxVzxu|!5qtrJtNDuBMwrT(p|4DGM(8W6oI;1X2ED-B_5yF)3%qSFu(mBq z!8Nv2Ph{;ECe|q1^NA#omxUpxUQHmn;m*Kbwe>jPRDkuKK2BlYPJ<N!hnh<3DqK(F z-&erd4|YZ^{;UodFiSZu;z*qOB&n`gLKcJBB;^qrwm4AuGKQvGX>;b9Y_)fT7q&XU zhUzA=rQ-OXhQ%m9XDuoBbCJ?4ZedAQ0FST}n`t=AqgvQDsEWkwn!TjlMTyyQ$3eOW zmY1uSLPny~`>3U_V($azTt;1vASuj{fm|~jy`6?qf^9t+t&W-{j0Nmvo<tZITMOu* zq>^h2n-9>2QLZIy-oqRzVRJJ%-X`-n4nkk@2Qb9<=355BfMR>zeNE~zF<dLH-UA^( z<`YNsBc8P8dl~?@3_!At?tw$5Zm2c1ZtY6+Azcut(MWjQGDs@gx3P90&GVG1Z5vWG zQG669KFp7nu(P-tv>?U$Q+TMIX0;l(vZe6Q8WwBRPwM_0_QB{FoQ({g4+>mbNQwU{ zL+b5P^O0V?V`t3p7By$1bG{Pk)EL`LkKIh<pXmtUs5ET0uqTG5yoYfh;3zaYLQ{|6 zx5?auAYe<X0vR69Sd-vJ*>R|M!6ee@_M+zK4G{HoPq7~E1ybnywpF=k&TRC;7AgqS zk3>5{bP?Q3Tc=wuL?AcSRZcXIfw5T5r)ESjp+NN>BZW@1tt3rdy%{0upIW+Y+dXvm zM)e*<g5_YJ9*ur%Rwu%bJA`klt78#Q@CXNspl#w8PFv}6PuzO9=I}v`bYFJ8kF*xZ zHTtZ^X!Twgrm!bNak}*vS9;yVhF&^PT9BFHM!Hl_Q-j0&vw=~IUT$4?;#$x`x5r|7 zMjri+y^AjC?Pv3lh(U+3_G~9L3bjHJJ0#YwH4Y69gXsnv7no8oce+5<srU}iwIg?s zrVN^y8Kt|X7nlR}If@7d;_`z8E^H_&`@24ilikuDK);`b9C7#Oq29Aw*|Tk%4|uln zHNL^%u|2gP!LGo0Fb;%1Oq6?h$23UcR9N2W=5?s;O5Bt06`aUDiSQWZG`i|tM~i__ z1G_B$EzA>g(uOqXM|3;>D7!Du?}M}Z@I!DP9y(!~6rKrc;gU73o&&;MHnWXg=f=hO z@XQXpoxy|Ad-eXn{bmUlpDpymv%qnXd@K{7N}dk-=?u2=Tj>Ri4s3I*eFr!NYx|nR zk7E`%YW^Ow#(*m|Q1fAr$I@8+BW*|!>RbC$80}9SHNTEz3G!mHsFATzvp;h_m;=g1 z7R{FrP{KcxqJmvTDwk`-E}AW~=&GO{A7^1YvJ|Oh1u$J$v-|W?9Jn_NC%?*2&Q`3z zk=BN7U<US`3U*JyV^ODK9|EV>Q`L#wk)dXBheN%9J4UPLaYvSFXO3jm$^%@gi900q z#EYz$eD!PYn6I{T#}c)TJ4)5Jxg$s2%N>68HSSogzQ`O(H8uQc?%qJ|-*9&wxgX$e zMw~mjdlQ9MbNA!qmbsfO(rPJp(<GrT;O=^I=W};6x!v4NeW2!W_d#-B#NBP=c5t^! z?sV?%Ah(6PJIQ_W1!}%RqEPMNZVS0T;cl`Ms0X>5mfPxX?sky7p1Yap<yr2gCAj)H zcju7%A?~K3tk!Wi8Bo+(?#?IoYI29T!b&UZsonkD8{hFTfaNe-%wjp9Njt5_3R#GY zhhWRn`UMXe+f@?d83iruF3XdFgu8h{GtcTk$g4c$n{A8_Mk8bk5BZRXV1Z%%6A#(P zLvj%E8y@l!4{;&nK_2o150Ma3$3uQWA$s$A2%$K6JO-xFo%GF)!5a-zH>UTV^lES} zBnIqr^Q2=9WR?v6t*+brcy%Pb_p+LgG~2S8?>lX)pb{JKVHJ?;)!-|hZ83AD*LXk* zb)a@gqU={a>l@{!s7)G-Des_$@6OOiI_hAcyZ}bYk-C9$Fc~Oyw+-%OZmcxHSgFvi zpq}}R`D6?UN=sk_H6b1LQ^O=vQt%=!^AHyNQvXy%a2Sb08;?)XW#SPDMGvkgtm+^{ z6L6$dF-T67aJ_^LO3CR?vIM<wqOaXaslh35qBq@18Nsn=oP)kevWLDyp;sdRGM0aE zObUOA=)`D<yj`!70vXyY*;-(1<hAdnFHAY+#BUiwL8c}9LddP4B!zFmG-LiUA3`tt zH7T5DaVu6CD^|8ymVL;lbhwr8aR@)M%HVeH3QqAxd=QUz@iN-{X`*Wmua2N~hHME> znT&kV%QSn3gCeaL!;6z@ZX8u}hpoflb36CiYR@;2W0$R#lq<J$pKU#zMN)#LxKxR+ zd*lg<-*jx@YPaH>?^AXRKA`Nyv^zTV5#|yY7L0Feb_q3li`v}Ik8QPy$Sc0|-g`LA zUn*_ETAH3)aSveCwbww3r%L!h3+Db+m%@H#16fujb)~XN_(G5RGaH&drj5)f7#SyQ zwa<Yyn-X{LMq5(V-)^B%)QL|~$XJ_<rqc#E>4_bFN=d`fr);NVhx>fSdUXTle;sXR zK2gx_Vmb#0y-~CObU34v-K+R;exn}e3fUdb5Q4D>6PeNBp7<ZIh&rDq+jct%UAI!= zM_p(qeU~N={w3+B(}}e4{xI#3dTD}ndyaF5oQW<X$|<d!a*S-M8>#e$yzPY&r{n<% zmQEx@ur~)C1^Z*@I>b6pkcJBT?`9x_(*r(>l)Xn?4b&tBjH7^Y6fjPtBsF${0H1t| z?eFRO(Gmq$Wte`1Ej~KxqTUNL1m@9AtZ5Hr(mX*kt&8>vb5MU4B56_~#f>K1I+l=5 z!(g9@@KeYBplQ&S<_lz<#U1!KZ3&d(S74XW@hko5mPa&5gSb=)q0}vOXlxJT;t2y6 z5^5e48hJWo)YUN=^<fXev_DQT;nY0jP)N0O3#gUQk~%bqDP24@L{mr<#H7rRmrWZe z8(QItAG=Fv>|)$5%*WWBkFmQ1V|TnSHg+@Iiv2~HT<9h*&XN0+cf4U=syj@a^L2O* zdh{K4q(XB$-ww{es_B;Tuz)Iim>m=Lx3yiID&R;ioj%J`-gJjAz5yjh2W$30Ly05p z*Tc(4^;_<+-3OmnS&02WpC4m+-KF@J9=^~cj@jeN$&r&h#@C$tf=6Hi7nO!F4dR&B zL}$Y-Np9RFbccQZC@!lshx3s0EnDpZU=7r4wX@;KbG~U?Uriy(Z)qqf$K1}(f{D1N zjzM5L_As%A5A`U!2OsFd95O;QzNy(qpGWec)9uu3wUbeX^nxxIY~sr#Da4mZB&@rh z41-hKJjagVu0le<3wd#6s>iu!)!3M<z(~h}3qqnI8KrO`;lfd9TkWS1J6%Ge`dKa{ zz+%{0$6-($NuoscNJNCe*9%jbKmfY#E^M(+42ovAI2&xW*C3@bM}Vw`w1B|IfXh?% zvCm*sAraj*E9wxP9k$xxtjsxrXxsKtQk7F#Ukyr#PS}Y_5+cRjIN2v4KOaPSt9d!1 zazG#9BT-)aA(p9Q-4ad$>DW<50-TBVUdBjp;Ta^jF-a!@mZl!(L3vn{k;%w@YRxlr zKotTF2UKGeXaq;h!I@}$D1;JMbTtTwU;%|zLY8ax`>|Fa3dmRTh5#KjABQXU(p>~N zvz!gV<Sw#At+7_I#(<pA*9S9+6}blTa~$O7i9e$=m^3Bd7w{=N+V_Aq_%5ec`ONJ+ zMkkTMM*ehnIA~E`BKE?)S)5=uDyvN*Y%tr&yrZZjROu@;b;#^hZdpy;NCuM0@Mj-_ zl=VZz?xV?xi`WmzXidViQEs7b2LW*P83lGF(d-WcTW?V_nBPRxX`*tXom5h|Icu(4 zii1bk^~LlB;nFpGO~4igX0LZJdv)=$6#5uqyiq-1p^o_&S3@8gU@{)1cTB3P5-Irp zKIcp76`zUrPE6T{q9I>V1I=B#)O|;2;=<+!#~PhQA{pnScIf@|w?UA~c_wV!o3e2i zhj$hzfbZfpQkT#avWE`AIMhQJaLO%+Xv66eT*q^FN_yXnRu?}FQ^RncTd#|9gG4N^ zW?zSTlun!haehM+&|dXo<nTH_maRVLN!**jbT=3wbUf0RK~vJF@L@{I$CQMV+>nQn z5=Z=$)MHNacg;!p9$Xl~oFuffIf>RLZrIuC0clRkCjz*DTn^@;rx6He7Fz_u4QmMT z-{`Kn4D%EG4t2)&Y<eoyr>7<Q^u*4?V!Hqq$SQnZmVH|G^rMeUq@v@>=WH^>*)#P< zEKS{!#RjqF1TAD%F$;oAw;;fPu%`V{prITiTd%9(l*MJ+yjO*ZitpM$44voN@N6bA zwrj(SnPI>kwV4|MaAWUkL$n`-QY=C#5-s0J)2R#Q5Zr#KWpRp_PHk31Y)VlS&B+mL z7qOA2ra{#KH}ucJH)v=s#<5=AFb*wb5NvRn{*kYpWu_)lEW!Q5GrqEWnq6PLft?Bi zNy(BDZ#fwyRL5-kOath$m%uj4&fL=Ng{evHg;=YzeSS=kY17cB+#ZizDikU*1MD_a zDkuP}x1ibo1}hPoV}?~Znndk&s1R!4EE32t!>;=iJR!Qs>Y6h<c6dpoFGmv@`K+v% zAJ3zTNQ=gSm*<FU@|59pto9&ePxuy`62ok)e2y=mU<$W5ciL+E(d-nNlcCus0|OE+ z)UlykGGGV2kCi+p10zeb57ncq_2}SFns7A`9x-%Mlb49fNlZ9*{hqQE?d#HTZ^aJ1 z?T(*OXvEvQOPZ9&gnLh2_zp~qY?{+W$z)xWOeZ1nhxc&Wb+sXSf1a`%!(N}z_QlO- zPs6UlKb2Yu;z4p=4h+?$f9#S%eVPQCf9Y5*3}A;yTD{{ff_)L?lLCF!7j&*F4|Ct{ z(~D=5#Y_~BE2g*?Xsc~On|#h=GA2M8y6pTN{bUiJx@qdfJr*XDaF|iE-vv7j%XbeF zdz7Q?#P;rqw+O+Dy0gY*W3#j_lV%|=?wLU$nkN;#y_JZrzDt%~y8qH7Pd#e^oGRco z&EA*S&G&v5K0${~kI~K}`VDiAFBM;*gn+D>NR+{h<wOdYI}wvb0?za#ypa+qCe#)$ zx}H?+-Dka5q#vonw>7xxEj8yUAL6Uj>L46<!vROx<O>IJ((!2ULe)k}OOJC``~axx z-p|CCB(%4qwe)2gLN{UUF8pTR`kJ_LEPZ<_3!EKUWDrAJQjp59ZV)?%22r$!-Ahyl zouJM{x@cdIQcVUEii7lmMrDDFvbZ*m!Jc~bWqg5_)Hzr64;Nzu?oEi|Zru-Kg1vY= zs<&;JjohdlpL(I&zJ!MD?knM<&*Y3o>MYqJz6b?Hh~`u~SIgFF=X?sm%!n%=;)@vQ z*lI$y)L;gs4)&!~xI{KT2rO>I>5j$(pHfFSW*>kI5RZKe#gx#+A!F0k;?a7O+}mY) zc~7W4D>_I#R!<*KmoJLsJxYO-2d*;Wo06f17VL3V^$+c}h`6pjB4~2%Tsb7P*F+~v z2jO<0>*x+ka3FjhTi*MaMz0lZPn|R#*U4}X40zhDNMi~P#jhbaN!bx<OOP$tk$}is z1(F3XaQ?7zq&nv>WLO`8P)dixo%^(?)wOX)X2Q{fgSBHH7=K`0?FlcW1POA&u@4}L zC4EwI>5~#ZNOxWrOSp27fXi`LmmDWqjcJlD(B6m(v{hNSM9VJF#y*lr=cuyl^OR;B zdZYP|E+Uzu3u$*3hn^-$AUclYsxz@@W5QD#H7yM$)=?7s-G<-TIxPmf*J~&{)f-OF zq-!G<AE{d~)qBUZ`fO8QFYzivMp2*ooUd2)UnbUkBy{*9zZ5!fHf4vALW3RnsAnc! zm4I<%dnyKuiyz`wK3B&w#^3H(*w__D#ua71Vo|5DLr15@g<h&gO}GWjKhD&=k2NMf zH{Yy!sw+ZoOjqgr)XLpm@m&$vZMiR(Y|g_#3gC%CV}$6&7r14&)Z}13tGC_Tpx}?E zWTikQ`8;%sUtouUFXlC5o!&5<!>!4|>`^b;?!|hE?WD)0;K+Tw_Z+Qyrz@fhGwz^$ zC^pWw(ln%sze52LD;d^t;`OuXtUaUKH$!^q>GAzGgtjk0LZaut`?=u}j=@?TZq(sp zI^3qiojRPa!x-MG?mwl&zBF;;8KJ|mI-I1#d>t;*p<jo$>+oJ3KBmLXI^3zlzv<Al ziB%(H=<p&PPSfFaI$WwlS%<gj@Gc!bqQhr(xLt>D=<p*Q9@gPW9a?@RuqR!IBXl@H zhf{S}pu=(<-mb$(bht%_dv&PlFyS#?eqSAq*5OngUZ=x=4sX-pA9T1`hxIz#t;6?q zcvy$0beQ^UUf=mT%+aBwLmu1x>$*v(HgtQtTyG5F;aldOJ-#d9IUKn{p&$z-!g8Tf z2ncJ0T)?1EfiV6QAk2^WDq%Ll{rIDFl%tp>=$YTg(pI6=<#0_C%7k)2%$UMTKq~iK zDR_O;g@U-WUevZ+5LvyHyBK8zgt36-_@igGa4lZS<HP6fa)Dz2f4nAY3)L6^EJvym zxEC-O05)Yp5kjgE(v2IhZ-HK8IZH$IDPtuqKz%&L1OfIZ_WaM*-?Mfd34rQ)-v5pU z4s$C5d8^Ch{6J+<NfmBntw2kQ&<dhWNgM_7Uq#7fD@q(Cfk0)zAqZB|X7ChvXUv|> zLs`&l&-AO}yn=g%PxMTW58?S{U6z$S!I~siI12s#^0J~rxva9nQCe8#SW#G9;wVJ8 zESIeC%MQ8HQC?YC?2t=K9J!7d9_3|A1BHP#`0uNVDg%L%BDs9c*rfdOlESJIM^R;k zTv&vh$Prii1yzo!px<8^Kuih#AFO3)$coB93Ce(T1;b!$tX+g(wl(QuhuDoq5M}#j zd%UOsC@u?Bu0R#|kF^S`s!CQYEnnj(4hG69mOCm?)Jj4FsmdzK<g&u@vY)Wxlh}X6 zRaQ|<4K6`W$I{?(`Y*WFR0ad_xQ=yrWCw~~QCTHB%FAvnLFv?-KuJ}wTy|70a}*Vp zms4e+6ybDnQRNDMS$RpZWAr6O<$?cjEDKf?F`6<w3%il3sFDN0A{mXxKNjgOFZUIe zRj{^GyT?<z>Awgosi+JtFLhM;3yaWRB*%Z{R9Jo*!Q$yPt_Quk+FrstZ&m@Pw_FOO zD=Ugh#{PJE#MhHW_2i;7!m+!OVoC%2$LCOdu%d7&PzCpNr*M>(6#98dl<xAs)6P|8 zaT!_Pb?3Y6ocXHc;=hycQp)EKg5y?}1>|61d3PsKZ?XyqFN}+G(0_4dMF~dhC14%^ zhfGcE!fV__%GcfQN`FZOjfJX8(4n|wWm%D)mPR1z8K={!WVIjT2b@FH={Zs<9ivka zHS6hCfCbCs(m)ADB{<^7_&k*U-1N~i(SI?<(dNPczgEr)al@4fgFwkm!ICOMj<|o8 zE`-pja!FuC83r1dk$8ZHL9ilNMMPay_%9R%XipZS>siM`Nd<bcvSLL^g{-%S(lffA zHGN@Vd5{uUb+w+-v+=eJLQbXu?XN7Wkh>%m6+_~$gmE{P6lFz$%Bsp`vSV%;Yi;hB zF<o@=a-m2>O~P0hJ9exvIrhK)RTM&c2P<x@s9aTX1^QnnWgf}%;YmrD0O&sloaCU) zcu1eerb5><6n<D=x}N)c_;E(Fo|dz*=dK?9yL<StqCPGCJw5zC?cs-!=(O}#mBi+( zc@U?St7gk=kO~N&Q&kd}vGfM;w5MCJi#lS6_ZC*kB4p#rlKe`4(9a_f&ck?df)BG{ z;qsEHm8*HqIkWR-Wse{0_Ii1GLxRy{?v-fios^tn?PE(#>)S8g-hV*Gz(IqD3_Wj{ zWB7=XnWN6XVDx`nIOd{@$6k^(ZhZEHOE0@TXW}I1<SAEN=@O^ry7Q)8C3&vC#_O9t zBY)<s*#$VJJOA42u3xZl(c&eAON)w2mMt$WyWz(26&02Kn*vpGaOJAiYkqR`+FRD$ z8YA=nwa_8-{2MLA{(8oo%`f4<cKCaLwZfTyr>CzGy8jHqkNb-+;WnZBFG2Wmf3f_I z|7-ibyWwZ{YU%$p2N-I){$eK>{}GJ!Ai>)V-G2#&ANLo_e`f3dt0Dhr1W--s_>0v@ zzHWD_elPPMwKo>uGyRWiZFj0vq1(+}bX2<gsjj&#RJ;E6J2r$jDtAWiy1VY4pZ@IL z`|khw1HX9imk&Ms$fKKn_1Ld}^V{G3=i|Ts!xK;b@lQ`Z{pY_t^Xzk*pWm`|+Y2wg z^ztk94X-wCe{DxobIZ<MyZ7wf*Si0}>u<dI*4qc)dH2v?-+TXqwhur0_>)in_L<uL zdGzoXUw+kb<m+#~{qE?o&g0*oIQhdVoXY+uCxmkg{2w(T{JY!#@2>x!rvE>hkk1{@ zCggv2`z2}8iWQS+1<#*iJQq29cpT(dgNH@<e3uj#U&1~4IGH2jrN>=Tgf(ml4$bpt zdgaQ~{4=m(r0Cftek{v*LNT~JSOo*n)xmOB_|;e=P;Sv5C?l(juP{(l%8L`Gl`IVe zv0&G|!qtTp%!_&j)Fq&NDqBFAR36?6<X=N&Q8|>K@(8mF<skmcV^+?zK$-4>9ilWC zsOs_w!n~5=ijug10xTma+E-b@Qq2zPuuv9I4&|pj0@6_$0r3n~KzI>~NTfkhV1O9l z0+fIm5Con;7gz&%v;j>)i>P5g;u)BkDD*A9U+6pGKA|tZxR(rlbZrLgG*GsOBY#$3 zLCC>79}4$yXbHk6R_1pj%tc{ICLsx7<~LGK4^J@(Dch3;^Ms_+$}m_=f@PM;Z(Nd) zZ|G|g`WB?3Zky2er+w;E{K-qG&Q$COR^hE@b#nLT@IOg@e6z|T!yX3zX<^01r{x<s z*eLYIN#cYo-X8j&8`B0R2?J%k#l3}r6D-2O@%FZUt!edsTn{5*J_(DA6L>o+IpKQS zErK2C?MQD&di$*Iw7(xF2!03tJ895M1~d>IkS1wXFTVjNsx4CymXaW(7}9WQ2OnFW z&`Yq5PxkY4y@aIkNY^Vt=rukeKW#{oFr?Tf44KeJ7!t_n=--y!+P6N{AH(a8QTXB! zPRTn^7d-~T>y2cN8^^27fQxS?)S1Tc;N??(^qBCc3vt38?^HeiUbw%*yHxk5^)m_m zCL{{|#@kq(lxNmO-~qg`Jomx98*eO+fzc9lECwA55<$;iM9+GIBSml&rwI=9s{`$E z1cr1BYRhQtU!U&p?XU`t?E?jeoPjh05Z_;L82SnWI|j7bTR~5~A0~_gZ{ejr`D->{ zx<yDYP7=}!dJE}jZ~ClMzhP*KFjP(!h9Z0@!iOS!==gzc16qND4YV#!2F;TM+bqzW z;c5l0DZn)uxPk`)NXN=WdB8s%_@|FYxv_qv{^?CT^djRSMspc-FHQt6^b+jj)9TY0 zf1DQ98f(L&E<yMJ@69@md+YrZi%&#fO~Shg@dSIuUyHDXc!>rK60ghxuM9{M1{9|X z12AR=1p0NPwb@#&^~qhla*-Qnlkqmh*SoZvwyr!un1S~_#1l01PZIhU*o6M*tNww$ zZK<t%95UXVm5`Ojc{D4A_oI;4&*9bd^11wY7GwAs$d9MH<Okgd=De85cs-W?u6#lG z3~$CwXc!)S3}g))W)V^+K)(y5v?kSC{E16?<&zxBK^iu0AxlmhyR+<FwEq1ZK`5FV zS0?NK#I7;N>Pbux5)Hq^Sd8P10C<CiKPMRaBnW-RCuJFu5(wX{f#a-~j+9e{VHlT# zL7M^DeFJ?uQrePQE%m*Ce+)NXo(*;N5o~`+_7A++nm0^N7X}yiLm%}O`sMcdOHzlW ztyin5K0(hnpW4mvNJG9<!FB+6FhAVr3o3_=XUJGapFl#^z<wCt=trt|H1ZF;AUSVf zZaSokwIjK$cWYw3*>756%!<|Fr#jdeNy8XP#Tc<+jPwzP{!||$#E&R%^g~1){=7?j zb=87U8W%Pn`#dg$o$LAEeL_x|XE$-UU59Vz@PGFSIbCAE*$J~smgmBBE0<hTvL<i! zJYhA3%r24V7M2G~C_uQ7r75qhq9npC<ST;>HjuXxrpwvbsVFKzs<)vt2F{ET!bne> zEG#wBT|xQXCFLco#(9G1o-5{iU`s15FULhV11xX8%Hm*o$uw+VOox>cdA{!sl?p40 z%PH(L3M1PcGg%74?-C@~tEUA@N(A9C<`&CgjTWAwbh$xn3RTDj%t-AihE8gjR$dir zrEn8VQ@LUV3ip;(l!(F~SP4iFXEPLp->}eJMlM14E%Uiyj}BC>5uB!im<>8VwtMzO zT-~uiuW3#NHayUX;=I*GP@l2Ug{Fd@f-usA8qXQsn&7E&mtcozc}XB2J3nZU@ThT? zTt1g?AIzy(1>2_}JV0UI%E}vq{%QKIPhN#gy7oO3lUwMA&Rmj<U9pnYvT%uMc6kXj z?GXu}6Co)U7o%{j9C{hzw*r4@ninXOS+AfEk#@FR%sT_x3$^p~UK5EU@~|6M46`aM z*l6BXT2;jPUDOB2$T&^7l6<WDI*p)0T+d!XF}yQ{CwRY<{RF-I2(^YcI&Zb`E#=|} z<yOL)EeP)rR>VaGYy2g`WR7zoc3S+@siII1e25Km(JpMjmCuHW7@Z+_4TMHsw=I9R zO#66MqR>Dko*5zd&XHrDu)#F1thgk%v@lRm>7#v;scWDuH=ey5aP@5C%wS1iO@2v$ z?LlHwj5P+-yMgd8C@Z>AZ{3qrhR)YIZ-KFAvsSLb@LW-V{aLY!wI43w%LH#p;mR`_ zD;z>Ep?7)`LFh>EVxK|ZLO^eBOYp?@E_)UtRus?nmsN1Y7Bal@iNrzyxy4+}v+0D_ zj65H?-vu9|&&!H)i5Xy37k<xrbyf-Q<aWyCWm}89qXZZ4JL(1MOJFn5*hS5P${2}- z+|$#6o^1)<TwkG|_aO3p6z@m;HF>k9=Xqn&Cngm+oc2-!&V&iVPRzLmK&VjceE|L^ z@z&#|wNcgp)RWHFW=r}B!iNa|25;hTaCj4M7%!EOfJKi<m|nmnp|^6m=*Ny+aY=wl zK5V+i<m&8_z)EyDLgrM&B&r^Eb>Ygw#g&2Oiwm&_TUxTXymI-38x~i{i_a`|F-ks* zIR3Ac@XzP(68uDg|9$@Z6o`Fhd(T40fn{%K8u4R)yb1bi)S(FwDk<YrD_}3Yz40dE zO~Ffhas(-iU=m)6qrJUY9F<FX3EJ>d9jSOJEDbNzVD?h@aJ&?LDPHnph%tYz?#FOv zd1mS1vvr7}$I8DJkm|<N&+@GRbl~;l#bq0uJK?xeI|!d@yo7U&4sQdbwuJCfd@WwW z=N`QOftOTh^8X4i;YUM}>ibW;6#hJ3YSUi46#q6}iq8O1h(7cZU8w!^d~!ZNCqrrJ zQN!F%Y3SLa`w1s{Ht2rBnVyafJbkRZExMm@pl5^bCmPeUME66iuqR9RQy<gQc?U0V zAomKbx*r!)*z<ty$2}hQEYbZ$TY7SI|9RXiWaxgFQ`qzL?Yw-4?q99@hwJ|8^*nxr z?r*E*{?)p_S@$yo9m2Ng{-5aakL&)Ex_^`I*K~hf%#YK?dJqHfvZp#m*!akQ!cF6d z#=|DOXDix(@c5^vKR%A!J>z@&|EuZ$tNH&=m){egp8lTo|KIB0eJvjs|0<YyH!m+n zPm;Is&;L|EI5wY-M?4PX{&&X{9sV9Is$V`k{*DL_fBGH{vwo(hdr9}}?T(e5rTd?L zUQgGP5dTtt>Ny`?jpLlpzZ8vsTVdzk9OWpTdvosJhVs9>;&ZZqu3DUv1swl!RQ}&k z;Qz;2A|^Ks3G@*@=&4XdmfW`Hw&6N$fA;}*{OY$H);!wAR3_KDY6c%i`i5V>`)h}u zz9*<T#Y0>=eC|i47xna;k$&G}pFB25`1CRLvFm#lFLaf^?pG|wOe~gXzPspMhp_nF z8{Qp%X8P9;zTb9S5XP<JIZ-@&VsdvxkNK_oJ}y_+>TtCVWgYr;SgylT9WK$~d>!WN z(51sH9cJn<Lx<@)Ox0nE4lOz~=}^$&$$L3|ojUwhhaEaRtV30YZ8~h#;dULqsKZ$K z&+7gsb@&?{KA^)o9aihmuftLu7VB`n4qZCT(qV5b7-Mr7>i~Uz8>{z64EXhVvThG= z=RXT?)t}h>i*J@O{hn~4x=+Ii{%R};DXarm{{e*j*#!jt+fTmxpUa>63a3N94rwtG zkIdQp=OKX;?{#=-ee`p@&*6Oo?>BhU(7-Ib)A6pL#^RxJDBmQ!v{qh)_kO(3;(Z<O z*LdlR442^b;VswmA^3lv|36Uxv-(IF1=RaaKLbK%L1Je=2tI*#G#G@S14e^%xCt)C zYl55XlLyiTp&0J?a~<*LH|QLPaRBxakcMC?-VKx<a17qnaFfk*Dc+}lE(r9^$~W<r zJ}3wW0qrnObi$nhcr#uKr+w02;HC7ffVab7@gl-;4^8NgGai&C18^vq{SB1w0K6P8 zrOyGBhw(H7?{uIo2q)Nrm&!>WE(jCwQhI_P<IRHm6M`^KOop4_bi9-%AMnAEpdH)~ z0k+^J9CibmGr8LWc%JUg0lX2f7wO9Ze~WiM+>Zm!8^zu80YAdIkaC0z7YM>~yi{f> zU<AgfhY(%|_&Q#~;je&wF63#l0O#PP@cDpAV_++RI|Z-~FV#ixS-eyx!S;&;;V{Av z173JB55EZTkGlJ5z#$N(pFF_fqi{Rm-UK)bXFJF}8n6Oy+b{W<gtT#>H^S2a4HIyV z3T_i%C0@e85BMmIeRonhfR&d6!tDoKmV>^4yA*KHB+wG>A%F#VDKEi0b$1=$qRAY$ zC4jf!rM6cCW={eCAn#<r!Yfe!FTk&W?Rcr)Zvod`34TO)HK5U@w-L}J3PL8r2}*dW zUV`g%w=fkpO1$|<;|5%g*AI6oU@cz4;c39(dEkG9PX@dRZ!_F7VChvDgOnbS{zFjV zLEr<}B60Tyk02b!OW`L0y;pPE65MeO=T(aj;}I|Q;}XC(@mk<M2zbME-j;H}8TsfR zgy#dM%mlu06MPOY<=p}(&BEA3-w}MJ0Bu2dJs|FN3U^W(z&5<pE`ra@<2bYeev7vi zX(r4Ugs1Qxg!|yNg0SW~v=Q#LfXfzO&V{=a@M*j>t_kKX<l*WfoJ}f3dx1j%;CpyS z!~OVDLHKkzcnNM5a9t_d3U@VNxD0s0T?hCkUc&zqz{_ty7~DC4FO`F@;I0RpS}6$I z;dTScc!^gx0e*?M8g4otM(4hY(ME!FE{og*>AV!V30|+emjco`APOh=bKSiOkk08) zI6*p-Q-{7LNat%PoFJW*AveKsx*PXwg&Xh^o&V223Cu?AK=V^kSq|Xob<*tv@Xa~G z(FJFuCq1x7AWAUc9295(*QO3`JBO1!(h<nh-Z3Ayol~7;ryoMWgc#m?0n$-U0WA52 z?B=YM*;OgbjT@y)ar1ULEb&QtIuCB%F2j9O9>Vj^L(Txg<HPb0Lick6ae1d9os73! z55pOAVU#egD<7%=&JbY2T-@eejNd$A7F-@-hA<s|4}Pb?P0vfFuTD|>6Yv_)kQf}m zV!>yC3A#H5>MWFFHoG}o27H%y-D8fm3UdQXlO;?LvV@6vCx8N3C}6HI7<uXD@e09@ zHdNsL^mM=#pb<TEmzn5S3cmw&RDwz}v_YZ_g-k;T-M=nINbKG*<y(!@Nro;wh~jjg zH-MYT_zHu5Kbg|ygKCtMXdghW4py^_`YKUo75qHL0j&P<O>5%Gl(>55qTT>X;rF4b zzH!1uD04jf9Vc9-LjjofLq4Jx-4&-^r~d4w#E+{Ta<bRA2?pG{rW@*10#Vivno`S` zqg66+@WM@ZxhsGf-Ai{Mw37XDD*tzA?f|_-^v^WxJ~{Lrp?3T~?OZ!d8$l3tq!f-T zy0~1S6fP2=L?i`Kh-4H5h)-fVeg<11;9!uUbLrBhOYX$^EQMKIx}<bT>5|eVrOUjx z%jP%>l$0raC*88QznM30X4Xi13Ns&K6_%|1Fl8RR=jm#D+PrAIfikd%Jw@)MQ_x}` z?|BNFoZyHuekm#3JfY5+X)TtE;P4tS`~-f}ZuTs_f`&zm;kkCVlGVC`I>)BWlYJDJ zMJc|U@m8KKjOPrFHAGdRZvB;<iI}I1q(uJMjG-?mqiNg*M5AJGAv+3~tpuG?kltB< zNDgB``6#cIG}6ynZv%6lqKEYci@if8Zqc~?$;UWP$<GORX9_lTGmH<hW*l~YkCEpO zs}hBC)DKZVF;b9QPs^K!canefM2n=wh!KF+XB1#Nt?}4Gd=r=5^1x~CWH<t!7!PS9 z@+YzYao<DTX%(N1eNUiu3O(FSk2!%{Gl@yu6?0FZUlf%lFy}GsJUPVNGTtmauyGMw z{hWCB2iH_$9kTID4`stT^7|(&S2X;gM{XN5xsJtT2WxJd5oE;{<ZvDp`A6i*R`UvG zv%Dn_Y3H)hKZ>8JXMN)-77e3idH9@n(YuK#pW`MrD4?;5zZEv4j1{cC1=`>6*IFVA z?_Ec!Q2&Vhw1Ow2-aL?7#oHykQSfc%tT{8n<}ceuZ(;uplwZ)wKGZn>z#!`nWM0W& zY;m_9UW5-@lo=Q3hr^L&SaX*X9FNKvp9g1)ChF{9UD}AKpQ7ZKJrtft=9?aj?X(Xg z14l7}5J{IM=;a){3pozZ!d9}`#UHl+-8%TG1FwFKoU&wCuy596>~h~2VTQ3;_Fr<# z<8O$}U}y0HnUnjFUC6Qn*`iD}oU;$mYajU@n_FBTOn!`yjYps7b7ThNsn3F8L>{{A zffLMh#LwnUt}$o&eT9BFFM~Gv**p-X)p)%zyBNDOV-B=CfG9`5dfDbSXLS7!2voTj z#=gp5_H%yja`O_EHhv4CsCf;q<#oKS*Yo<`z)SjRKjTmPS@bOUXMW9Z_$|NVcl{pz zcR%oNf^Kjd^n$yfAKV9nAkj=V$C{01r`c-`n&~hXmcp~J8rH&kcoDY3yI=jQ`>TW` zWlYkdBqLKYEwhr9Wy#5=6r?0)Qk9z2r6Cv6lD2f@M!Iq<J-L&<+{-``I;qEWS}UE= sQ+is@>a1SY1zpuOUDpkLp<BAGJNia<bx+r?8`n^6bd3-gApit^19Y{`e*gdg literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/NTEventLogAppender.dll b/thirdparty/apache-log4j-1.2.16/NTEventLogAppender.dll new file mode 100755 index 0000000000000000000000000000000000000000..511ca910526c972018772d77df08d299528862b2 GIT binary patch literal 10240 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 C#%R?5 literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/build.properties.sample b/thirdparty/apache-log4j-1.2.16/build.properties.sample new file mode 100644 index 00000000000..101a6c49eb7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/build.properties.sample @@ -0,0 +1,71 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# + +# +# Providing a build.properties file is no longer +# necessary for an Ant build as long as one Maven build +# has previously been performed. +# + + +# base location of support directories +# +lib.home.dir=/java + +# The jaxp interface and a jaxp parser are required +# to build the DOMConfigurator. +# +# modern equivalent is xml-commons-apis.jar +# +jaxp.home=${lib.home.dir}/crimson-1.1.3 +jaxp.jaxp.jar=${jaxp.home}/crimson.jar + +# JavaMail API Required to build the SMTPAppender +javamail.jar=${lib.home.dir}/javamail-1.3.2/mail.jar + +# and JavaBeans Activation Framework +# http://java.sun.com/products/javabeans/jaf/index.jsp +activation.jar=${lib.home.dir}/jaf-1.0.2/activation.jar + + +# JMS interfaces are required to be on the classpath +# in order to build the JMSAppender. +jms.jar=${lib.home.dir}/jms1.1/lib/jms.jar + +# Required to build the org.apache.log4j.jmx package. +jmx.home.dir=${lib.home.dir}/jmx-1_2_1-bin +jmx.jar=${jmx.home.dir}/lib/jmxri.jar +jndi.jar=${lib.home.dir}/jndi-1_2_1/lib/jndi.jar + +# Required to run Checkstyle. Available from http://checkstyle.sf.net +checkstyle.jar=${lib.home.dir}/checkstyle-2.2/checkstyle-all-2.2.jar + +# Velocity's Anakia task is used in the generation of the documentation +# download from http://jakarta.apache.org +velocity.jar=${lib.home.dir}/velocity-1.4/velocity-dep-1.4.jar +# Velocity's Anakia task requires JDOM, +# but Velocity 1.4 is not compatible with JDOM 1.0, but beta 8 works okay +# download for http://www.jdom.org/dist/binary/archive +jdom.jar=${lib.home.dir}/jdom-b8/build/jdom.jar + + +# +# CLIRR binary compatibility checker +# http://clirr.sourceforge.net +clirr-core.jar=${lib.home.dir}/clirr-0.6/clirr-core-0.6.jar +# bcel 5.1 will throw NullPointerExceptions +bcel.jar=${lib.home.dir}/bcel-5.2/bcel-5.2.jar diff --git a/thirdparty/apache-log4j-1.2.16/build.xml b/thirdparty/apache-log4j-1.2.16/build.xml new file mode 100644 index 00000000000..54bad8fe3b1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/build.xml @@ -0,0 +1,804 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- This file is an ANT build script. ANT is a Java based build tool. --> +<!-- It is available from http://ant.apache.org --> + + +<project name="log4j" default="usage" basedir="." > + + + <!-- The build.properties file defines the path to local jar files --> + <property file="build.properties"/> + + <!-- if a Maven build has been attempted, + the Maven repository can provide all the dependencies. --> + <property name="m2_repo" location="${user.home}/.m2/repository"/> + <property name="javamail.jar" location="${m2_repo}/javax/mail/mail/1.4/mail-1.4.jar"/> + <property name="geronimo-jms.jar" + value="${m2_repo}/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0/geronimo-jms_1.1_spec-1.0.jar"/> + <available property="jms.jar" value="${geronimo-jms.jar}" file="${geronimo-jms.jar}"/> + <property name="jms.jar" location="${m2_repo}/javax/jms/jms/1.1/jms-1.1.jar"/> + <property name="jmx.jar" location="${m2_repo}/com/sun/jmx/jmxri/1.2.1/jmxri-1.2.1.jar"/> + + + <!-- Read the system environment variables and stores them in properties, --> + <!-- prefixed with "env". --> + <property environment="env"/> + + <property name="version" value="1.2.15"/> + + <!-- The base directory relative to which most targets are built --> + <property name="base" value="."/> + + + <property name="deprecation" value="on"/> + + <!-- The directory where java source files are stored. --> + <property name="java.source.dir" value="src/main/java/"/> + + <!-- The directory where resource files are stored. --> + <property name="resource.source.dir" value="src/main/resources/"/> + + <!-- The directory where javadoc files are stored. --> + <property name="javadoc.source.dir" value="src/main/javadoc/"/> + + <!-- The directory where the package-list file is found, ./ or --> + <!-- build/ --> + <property name="packaging.dir" value="build"/> + + <!-- distribution directory --> + <property name="dist.dir" value="dist"/> + + <!-- Destination for compiled files --> + <property name="javac.dest" value="${dist.dir}/classes"/> + + <!-- Destination for generated jar files --> + <property name="jar.dest" value="${dist.dir}/lib"/> + + <!-- The jar file that the jar task will generate --> + <property name="jar.filename" value="log4j-${version}.jar"/> + <property name="sources-jar.filename" value="log4j-${version}-sources.jar"/> + + <!-- Destination for documentation files --> + <property name="docs.dest" value="./docs"/> + <!-- Source directory for xml docs --> + <property name="xdocs.src" value="./src/xdocs"/> + + + <!-- Destination for javadoc generated files --> + <property name="javadoc.dest" value="docs/api"/> + + <!-- Icons source directory. --> + <property name="icons.source" value="icons"/> + + <!-- The stem where most log4j source code is located. --> + <property name="stem" value="org/apache/log4j"/> + + <!-- Some targets needs a more precise stem. --> + <property name="BSTEM" value="${java.source.dir}/${stem}"/> + + <!-- Directory where release images go. --> + <property name="dist.images" value="${dist.dir}/images"/> + + <!-- Directory for temporary files. --> + <property name="dist.tmp" value="${dist.dir}/tmp"/> + + <property name="javac.source" value="1.2"/> + <property name="javac.target" value="1.1"/> + + <!-- destination for generated documentation on Apache web host --> + <property name="apache.javadoc_dest" value="/www/logging.apache.org/log4j/docs"/> + <!-- Apache web host --> + <property name="apache.host" value="people.apache.org"/> + + <!-- destination for Maven generated documentation --> + <property name="svnrepo.url" value="https://svn.apache.org/repos/asf"/> + <property name="svnsite.url" value="${svnrepo.url}/logging/site/trunk/docs/log4j/1.2"/> + <available property="svn-available" file="target/site-deploy/.svn"/> + + + + <!-- Construct compile classpath --> + <path id="compile.classpath"> + <pathelement location="${build.home}/classes"/> + <pathelement location="${javamail.jar}"/> + <pathelement location="${activation.jar}"/> + <pathelement location="${jaxp.jaxp.jar}"/> + <pathelement location="${jms.jar}"/> + <pathelement location="${jmx.jar}"/> + <pathelement location="${jndi.jar}"/> + <pathelement location="${javaee-api.jar}"/> + </path> + + + <!-- ================================================================= --> + <!-- Default target --> + <!-- ================================================================= --> + + <target name="usage"> + <echo> + + These are the targets supported by this ANT build scpript: + + build - compile all project files, if a certain library is missing, + then the compilation of its dependents are skipped. + + javadoc - build project javadoc files + + jar - build log4j-core and log4j jar files + + dist - will create a complete distribution in dist/ + Setting the env variable NO_JAVADOC will build the distribution + without running the javadoc target. + + release - will create a complete distribution in dist/ + using stricter settings for public distribution. + </echo> + </target> + + <target name="jaxpCheck"> + <available classname="javax.xml.parsers.DocumentBuilderFactory" + property="jaxp-present"/> + </target> + + <target name="jaxp" depends="jaxpCheck" if="jaxp-present"> + <echo message="JAXP present."/> + </target> + + + <target name="jmxCheck"> + <condition property="jmx-present" value="true"> + <and> + <available classname="javax.management.MBeanInfo" + classpath="${jmx.jar}"/> + <available classname="com.sun.jdmk.comm.HtmlAdaptorServer"> + <classpath> + <pathelement location="${jmx.jar}"/> + <pathelement location="${javaee-api.jar}"/> + </classpath> + </available> + </and> + </condition> + </target> + <target name="jmx" depends="jmxCheck" if="jmx-present"> + <echo message="JMX is present."/> + </target> + + + <target name="jmsCheck"> + <available classname="javax.jms.Message" property="jms-present"> + <classpath> + <pathelement location="${jms.jar}"/> + <pathelement location="${javaee-api.jar}"/> + </classpath> + </available> + </target> + <target name="jms" depends="jmsCheck" if="jms-present"> + <echo message="JMS is present."/> + </target> + + <target name="jndiCheck"> + <available classname="javax.naming.Context" property="jndi-present"/> + </target> + <target name="jndi" depends="jndiCheck" if="jndi-present"> + <echo message="JNDI is present."/> + </target> + + <target name="javamailCheck"> + <available classname="javax.mail.MessageAware" property="javamail-present"> + <classpath> + <pathelement location="${javamail.jar}"/> + <pathelement location="${javaee-api.jar}"/> + </classpath> + </available> + </target> + <target name="javamail" depends="javamailCheck" if="javamail-present"> + <echo message="JAVAMAIL is present."/> + </target> + + <!-- ================================================================= --> + <!-- Initialize variables --> + <!-- NOTE: all directories are relative to jakarta-log4j/ --> + <!-- ================================================================= --> + <target name="init"> + <tstamp /> + <property name="javac.includeAntRuntime" value="true"/> + <property name="javac.includeJavaRuntime" value="false"/> + <property name="javac.fork" value="false"/> + </target> + + <target name="build" depends="init, build.core, build.examples, build.xml, + build.javamail, build.jms, build.jmx"/> + + <target name="build.core" depends="init"> + <mkdir dir="${javac.dest}" /> + <javac srcdir="${java.source.dir}" + destdir="${javac.dest}" + includes="${stem}/**/*.java, + ${stem}/xml/XMLLayout.java" + excludes="misc/*, **/UnitTest*.java, + **/StressCategory.java, + **/doc-files/*, + ${stem}/xml/**, + ${stem}/test/serialization/**, + ${stem}/net/SMTPAppender.java, + ${stem}/net/JMS*.java, + ${stem}/jmx/*.java, + ${stem}/or/jms/*.java" + target="${javac.target}" + source="${javac.source}" + includeAntRuntime="${javac.includeAntRuntime}" + includeJavaRuntime="${javac.includeJavaRuntime}" + fork="${javac.fork}" + deprecation="${deprecation}" + debug="on"> + <classpath refid="compile.classpath"/> + </javac> + + <copy todir="${javac.dest}"> + <fileset dir="${resource.source.dir}" includes="${stem}/lf5/**/*.properties"/> + <fileset dir="${resource.source.dir}" includes="${stem}/lf5/viewer/images/*"/> + </copy> + + </target> + + <target name="build.examples" depends="build.core"> + <mkdir dir="${javac.dest}" /> + <javac srcdir="${basedir}" + destdir="${javac.dest}" + includes="examples/**/*.java" + excludes="misc/*" + target="${javac.target}" + source="${javac.source}" + includeAntRuntime="${javac.includeAntRuntime}" + includeJavaRuntime="${javac.includeJavaRuntime}" + fork="${javac.fork}" + deprecation="${deprecation}" + debug="on"> + <classpath> + <pathelement path="${classpath}"/> + <fileset file="${jaxp.jaxp.jar}"/> + </classpath> + </javac> + <rmic base="${javac.dest}" classname="examples.NumberCruncherServer"/> + + <copy todir="${javac.dest}"> + <fileset dir="." includes="examples/lf5/**/*.properties"/> + <fileset dir="." includes="examples/lf5/**/*.xml"/> + </copy> + + </target> + + <target name="build.xml" depends="init, jaxp" if="jaxp-present"> + <javac srcdir="${java.source.dir}" + destdir="${javac.dest}" + includes="${stem}/xml/**/*.java" + excludes="${stem}/xml/examples/doc-files/**.java, + ${stem}/xml/Transform.java" + target="${javac.target}" + source="${javac.source}" + includeAntRuntime="${javac.includeAntRuntime}" + includeJavaRuntime="${javac.includeJavaRuntime}" + fork="${javac.fork}" + deprecation="${deprecation}" + classpath="${classpath}"> + <classpath refid="compile.classpath"/> + </javac> + <copy file="${resource.source.dir}/${stem}/xml/log4j.dtd" tofile="${javac.dest}/${stem}/xml/log4j.dtd" /> + </target> + + <target name="build.javamail" depends="init, javamail" + if="javamail-present"> + <javac srcdir="${java.source.dir}" + destdir="${javac.dest}" + includes="${stem}/net/SMTPAppender.java" + target="${javac.target}" + source="${javac.source}" + includeAntRuntime="${javac.includeAntRuntime}" + includeJavaRuntime="${javac.includeJavaRuntime}" + fork="${javac.fork}" + deprecation="${deprecation}"> + <classpath refid="compile.classpath"/> + </javac> + </target> + + <target name="build.jms" depends="init, jms, jndi" if="jms-present"> + <javac srcdir="${java.source.dir}" + destdir="${javac.dest}" + includes="${stem}/net/JMS*.java, ${stem}/or/jms/*.java" + target="${javac.target}" + source="${javac.source}" + includeAntRuntime="${javac.includeAntRuntime}" + includeJavaRuntime="${javac.includeJavaRuntime}" + fork="${javac.fork}" + deprecation="${deprecation}"> + <classpath refid="compile.classpath"/> + </javac> + </target> + + <target name="build.jmx" depends="init, jmx, jndi" if="jmx-present"> + <javac srcdir="${java.source.dir}" + destdir="${javac.dest}" + includes="${stem}/jmx/*.java" + excludes="${stem}/jmx/T.java" + target="${javac.target}" + source="${javac.source}" + includeAntRuntime="${javac.includeAntRuntime}" + includeJavaRuntime="${javac.includeJavaRuntime}" + fork="${javac.fork}" + deprecation="${deprecation}"> + <classpath refid="compile.classpath"/> + </javac> + </target> + + <target name="build.nt" depends="log4j.jar" description="Build NTEventLogAppender.dll"> + <mkdir dir="${dist.dir}/object"/> + <ant antfile="src/ntdll/build.xml"> + <property name="target.dir" location="${dist.dir}/lib"/> + <property name="object.dir" location="${dist.dir}/object"/> + <property name="classes.dir" location="${javac.dest}" /> + <property name="src.dir" location="src/ntdll" /> + <property name="jni.include.dir" location="${java.home}/../include" /> + </ant> + </target> + + <!-- ================================================================= --> + <!-- Remove all generated (compiled) class files. --> + <!-- ================================================================= --> + <target name="clean" depends="init"> + <delete dir="${dist.dir}/" /> + </target> + + <!-- ================================================================= --> + <!-- Runs checkstyle. Available from http://checkstyle.sf.net --> + <!-- ================================================================= --> + <target name="checkstyle" depends="init"> + <taskdef resource="checkstyletask.properties" + classpath="${checkstyle.jar}"/> + + <!-- by default checkstyle supports the Sun coding standard. --> + <checkstyle lcurlyMethod="nlow" + lcurlyOther="nlow" + lcurlyType="nlow" + maxMethodLen="500" + maxConstructorLen="500"> + <fileset dir="src/java/org/apache/log4j/chainsaw" includes="**/*.java"/> + </checkstyle> + </target> + + <!-- ================================================================= --> + <!-- Runs Chainsaw --> + <!-- ================================================================= --> + + <target name="chainsaw" depends="build"> + <!-- Need to fork to avoid problems --> + <java classname="org.apache.log4j.chainsaw.Main" fork="yes" + classpath="${javac.dest};${ant.home}/lib/crimson.jar"> + </java> + </target> + + <!-- ================================================================= --> + <!-- Remove the temporary manifest file, actual work is done in the --> + <!-- dependencies. --> + <!-- ================================================================= --> + <target name="jar" depends="log4j.jar, log4j-sources.jar"> + </target> + + <!-- ================================================================= --> + <!-- Create log4j.jar, excluding tests and other odds and ends. --> + <!-- ================================================================= --> + <target name="log4j.jar" depends="build"> + <mkdir dir="${jar.dest}"/> + <delete> + <fileset dir="${jar.dest}"> + <include name="${jar.filename}"/> + </fileset> + </delete> + + <jar jarfile="${jar.dest}/${jar.filename}" basedir="${javac.dest}" + includes="${stem}/*.class, + ${stem}/xml/log4j.dtd, + ${stem}/config/*.class, + ${stem}/helpers/*.class, + ${stem}/spi/*.class, + ${stem}/net/*.class, + ${stem}/jdbc/*.class, + ${stem}/varia/*.class, + ${stem}/chainsaw/*.class, + ${stem}/lf5/**/*.class, + ${stem}/lf5/**/*.properties, + ${stem}/lf5/**/*.gif, + ${stem}/nt/*.class, + ${stem}/xml/*.class, + ${stem}/jmx/*.class, + ${stem}/or/*.class, + ${stem}/or/sax/*.class, + ${stem}/or/jms/*.class, + ${stem}/config/*.class" + excludes="**/UnitTest**"> + <manifest> + <section name="org/apache/log4j"> + <attribute name="Implementation-Title" value="log4j"/> + <attribute name="Implementation-Version" value="${version}"/> + <attribute name="Implementation-Vendor" value='"Apache Software Foundation"'/> + </section> + </manifest> + <metainf dir="." includes="NOTICE,LICENSE"/> + </jar> + </target> + + + <!-- ================================================================= --> + <!-- Create log4j-sources.jar --> + <!-- ================================================================= --> + <target name="log4j-sources.jar"> + <mkdir dir="${jar.dest}"/> + <delete> + <fileset dir="${jar.dest}" includes="${sources-jar.filename}"/> + </delete> + + <jar jarfile="${jar.dest}/${sources-jar.filename}" basedir="${java.source.dir}" + includes="**/*.java"> + <manifest> + <section name="org/apache/log4j"> + <attribute name="Implementation-Title" value="log4j"/> + <attribute name="Implementation-Version" value="${version}"/> + <attribute name="Implementation-Vendor" value='"Apache Software Foundation"'/> + </section> + </manifest> + <metainf dir="." includes="NOTICE,LICENSE"/> + </jar> + </target> + + + <!-- ================================================================= --> + <!-- This target builds the javadoc files. --> + <!-- ================================================================= --> + <target name="javadoc" depends="init" unless="env.NO_JAVADOC"> + + <mkdir dir="${javadoc.dest}" /> + + <javadoc sourcepath="${java.source.dir}" + destdir="${javadoc.dest}" + packagenames="org.apache.log4j, + org.apache.log4j.config, + org.apache.log4j.helpers, + org.apache.log4j.jmx, + org.apache.log4j.lf5, + org.apache.log4j.net, + org.apache.log4j.nt, + org.apache.log4j.or, + org.apache.log4j.jdbc, + org.apache.log4j.or.sax, + org.apache.log4j.or.jms, + org.apache.log4j.performance, + org.apache.log4j.spi, + org.apache.log4j.varia, + org.apache.log4j.chainsaw, + org.apache.log4j.xml, + org.apache.log4j.xml.examples" + version="true" + protected="true" + author="true" + use="true" + overview="${docs.dest}/overview.html" + doctitle="log4j version ${version}&lt;br&gt;API Specification" + windowtitle="Log4j Version ${version}" + header='&lt;b&gt;Log4j ${version}&lt;/b&gt;&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the &apos;License&apos;); 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 &apos;AS IS&apos; 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. +--&gt;' + bottom="Copyright 2000-2007 Apache Software Foundation."> + + <link href="http://java.sun.com/j2se/1.3/docs/api/"/> + <link href="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/"/> + <classpath refid="compile.classpath"/> + </javadoc> + + <!-- Extra files referenced by JavaDocs --> + <copy todir="${javadoc.dest}"> + <fileset dir="${javadoc.source.dir}"/> + </copy> + </target> + + <!-- ================================================================= --> + <!-- Compare the current API with a previous release --> + <!-- ================================================================= --> + <target name="jdiff" description="Generate comparison to reference API"> + <property name="reference-api.version" value="1.2.9"/> + <property name="reference-api.dir" location="${user.home}/logging-log4j-${reference-api.version}"/> + <property name="reference-api.source.dir" location="${user.home}/logging-log4j-${reference-api.version}/src/java"/> + + <!-- Must be set to the root of where JDiff is installed. --> + <property name="JDIFF_HOME" value="${user.home}/jdiff"/> + <!-- Just one simple way to tell Ant about the JDiff task --> + <taskdef name="jdiff" classname="jdiff.JDiffAntTask" + classpath="${JDIFF_HOME}/lib/antjdiff.jar"/> + + <jdiff verbose="on" destdir="build/jdiff"> + <old name="Version ${reference-api.version}"> + <dirset dir="${reference-api.source.dir}" includes="org/**"/> + </old> + <new name="Version ${version}"> + <dirset dir="${java.source.dir}" includes="org/**" excludes="org/apache/log4j/test/**"/> + </new> + </jdiff> + </target> + + + <!-- ================================================================= --> + <!-- Compare the current API with a previous release --> + <!-- ================================================================= --> + <target name="clirr" depends="jar" description="Check binary compatibility with arbitrary release"> + <property name="clirr.version" value="0.6"/> + <property name="clirr-core.jar" value="${m2_repo}/net/sf/clirr/clirr-core/${clirr.version}/clirr-core-${clirr.version}.jar"/> + <available property="clirr-core.jar-available" file="${clirr-core.jar}"/> + <fail unless="clirr-core.jar-available">clirr-core-${clirr.version}.jar not in maven repo. Run mvn clirr:check to download.</fail> + <property name="bcel.version" value="5.1"/> + <property name="bcel.jar" value="${m2_repo}/bcel/bcel/${bcel.version}/bcel-${bcel.version}.jar"/> + <available property="bcel.jar-available" file="${bcel.jar}"/> + <fail unless="bcel.jar-available">bcel-${bcel.version}.jar not in maven repo. Run mvn clirr:check to download.</fail> + <property name="reference.version" value="1.2.14"/> + <property name="reference.jar" value="${m2_repo}/log4j/log4j/${reference.version}/log4j-${reference.version}.jar"/> + <available property="reference.jar-available" file="${reference.jar}"/> + <fail unless="reference.jar-available">log4j-${reference.version}.jar not in maven repo. Run mvn clirr:check to download.</fail> + <taskdef resource="clirrtask.properties" + classpath="${clirr-core.jar};${bcel.jar}"/> + <delete dir="target/clirr"/> + <mkdir dir="target/clirr/orig"/> + <mkdir dir="target/clirr/new"/> + <copy todir="target/clirr/orig"> + <fileset file="${jms.jar}"/> + <fileset file="${jmx.jar}"/> + <fileset file="${reference.jar}"/> + </copy> + <copy todir="target/clirr/new"> + <fileset file="${jms.jar}"/> + <fileset file="${jmx.jar}"/> + <fileset dir="${jar.dest}" includes="${jar.filename}"/> + </copy> + <clirr failOnBinError="no" failOnSrcError="no"> + <origfiles dir="target/clirr/orig" includes="*.jar"/> + <newfiles dir="target/clirr/new" includes="*.jar"/> + <formatter type="xml" outfile="target/clirr/compatibility.xml"/> + </clirr> + </target> + + <!-- ============================================== --> + <!-- Build the site files using Maven --> + <!-- ============================================== --> + <target name="site"> + <exec executable="mvn"> + <arg value="site"/> + </exec> + </target> + + + <!-- ================================================================= --> + <!-- Build a complete distribution. Results go to ${dist.images} --> + <!-- ================================================================= --> + <target name="dist" depends="init, clean, javadoc, jar, site, build.nt"> + + <delete verbose="true"> + <fileset dir="."> + <patternset> + <include name="**/*.bak"/> + <include name="${dist.dir}/velocity.log"/> + <include name="${BSTEM}/**/temp*"/> + <include name="${BSTEM}/performance/test"/> + <include name="${BSTEM}/test/current.*"/> + <include name="${BSTEM}/test/current.*"/> + <include name="${BSTEM}/examples/test"/> + <include name="${BSTEM}/test/logging.*"/> + <include name="${BSTEM}/test/log4j.properties"/> + <include name="{$BSTEM}/test/socket.lcf"/> + <include name="${BSTEM}/test/file"/> + <include name="${BSTEM}/test/output.*"/> + <include name="${BSTEM}/net/test/loop.log"/> + <include name="${BSTEM}/net/test/loop.log.1"/> + <include name="${jar.dest}/manifest.mf"/> + <include name="${javac.dest}/*.class"/> + </patternset> + </fileset> + </delete> + + <mkdir dir="${dist.images}" /> + + <mkdir dir="${dist.tmp}/apache-log4j-${version}" /> + + <copy todir="${dist.tmp}/apache-log4j-${version}"> + <fileset dir="${base}" + includes="src/main/java/**, + docs/**, + examples/**, + build/*, + build.xml, + build.properties.sample, + manifest.mf, + INSTALL, + LICENSE, + NOTICE, + ${dist.dir}/lib/log4j-${version}.jar, + ${dist.dir}/lib/NTEventLogAppender.dll, + ${dist.dir}/classes/**, + contribs/**" + excludes="make/make.loc, + **/*.bak, **/goEnv.bat, + **/Makefile, **/goEnv.bat, + docs/pub-support/*, + ${dist.dir}/classes/org/**, + src/main/java/org/apache/log4j/test/**/*, + **/.#*, + **/*.o, **/*.res, **/*.h, **/EventLogCategories.rc"/> + </copy> + + + <fixcrlf srcdir="${dist.tmp}/apache-log4j-${version}" + includes="build.sh" cr="remove"/> + <fixcrlf srcdir="${dist.tmp}/apache-log4j-${version}" + includes="build.bat" cr="add"/> + <chmod dir="${dist.tmp}/apache-log4j-${version}" + includes="build.sh" perm="+x"/> + + <tar tarfile="${dist.images}/apache-log4j-${version}.tar.gz" + basedir="${dist.tmp}" + includes="apache-log4j-${version}/**" + compression="gzip" /> + + <zip zipfile="${dist.images}/apache-log4j-${version}.zip" + basedir="${dist.tmp}" + includes="apache-log4j-${version}/**" /> + + + <delete dir="${dist.tmp}" /> + </target> + + + <!-- ================================================================= --> + <!-- Build a complete distribution for release. --> + <!-- ================================================================= --> + <target name="release"> + <property name="javac.includeAntRuntime" value="false"/> + <property name="javac.includeJavaRuntime" value="false"/> + <property name="javac.fork" value="true"/> + <property name="build.compiler" value="classic"/> + <antcall target="clean-site"/> + <antcall target="dist"/> + + <!-- check that jar file is not missing + classes due to missing dependencies --> + <available property="jaxp-found" + classname="org.apache.log4j.xml.DOMConfigurator" + classpath="${jar.dest}/${jar.filename}"/> + <fail unless="jaxp-found" message="JAXP was not found."/> + <available property="jmx-found" + classname="org.apache.log4j.jmx.Agent" + classpath="${jar.dest}/${jar.filename}"/> + <fail unless="jmx-found" message="JMX was not found."/> + <available property="jms-found" + classname="org.apache.log4j.net.JMSAppender" + classpath="${jar.dest}/${jar.filename}"/> + <fail unless="jms-found" message="JMS or JNDI was not found."/> + <available property="javamail-found" + classname="org.apache.log4j.net.SMTPAppender" + classpath="${jar.dest}/${jar.filename}"/> + <fail unless="javamail-found" message="JAVAMAIL was not found."/> + <checksum forceOverwrite="yes" fileext=".md5"> + <fileset dir="${dist.images}" includes="apache-log4j-${version}.tar.gz apache-log4j-${version}.zip"/> + </checksum> + <checksum forceOverwrite="yes" fileext=".sha1" algorithm="SHA"> + <fileset dir="${dist.images}" includes="apache-log4j-${version}.tar.gz apache-log4j-${version}.zip"/> + </checksum> + <exec executable="gpg" dir="${dist.images}"> + <arg value="--armor"/> + <arg value="--output"/> + <arg value="apache-log4j-${version}.tar.gz.asc"/> + <arg value="--detach-sig"/> + <arg value="apache-log4j-${version}.tar.gz"/> + </exec> + <exec executable="gpg" dir="${dist.images}"> + <arg value="--armor"/> + <arg value="--output"/> + <arg value="apache-log4j-${version}.zip.asc"/> + <arg value="--detach-sig"/> + <arg value="apache-log4j-${version}.zip"/> + </exec> + </target> + +<target name="fixcrlf" depends="init" + description="Fixes CR-LF and tabs in source files"> + <fixcrlf srcDir="." + includes="**/*.java **/build.xml" + tab="remove" + tablength="3"/> +</target> + + <target name="checkout-site" unless="svn-available"> + <delete dir="target/site-deploy"/> + <exec executable="svn"> + <arg value="co"/> + <arg value="${svnsite.url}"/> + <arg value="target/site-deploy"/> + </exec> + </target> + + <target name="update-site" if="svn-available"> + <exec executable="svn" dir="target/site-deploy" failonerror="true"> + <arg value="update"/> + </exec> + </target> + + <target name="post-site" depends="checkout-site, update-site"/> + + + <target name="mime=html"> + <exec executable="svn"> + <arg value="propset"/> + <arg value="svn:mime-type"/> + <arg value="text/html"/> + <arg value="${src.html}"/> + </exec> + </target> + + <target name="mime=css"> + <exec executable="svn"> + <arg value="propset"/> + <arg value="svn:mime-type"/> + <arg value="text/css"/> + <arg value="${src.css}"/> + </exec> + </target> + + + <target name="site-deploy"> + <!-- Add any new files (and generate innocuous warnings for the existing content) --> + <delete file="target/site-deploy/svn-commit.tmp~"/> + <exec executable="bash" dir="target/site-deploy" failonerror="true"> + <arg line='-c "svn add --force *"'/> + </exec> + <taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach" /> + <foreach target="mime=html" param="src.html"> + <path> + <fileset dir="target/site-deploy" includes="**/*.html"/> + </path> + </foreach> + <foreach target="mime=css" param="src.css"> + <path> + <fileset dir="target/site-deploy" includes="**/*.css"/> + </path> + </foreach> + <!-- requires that SVN_EDITOR, VISUAL or EDITOR being set to edit commit description --> + <exec executable="svn" dir="target/site-deploy" failonerror="true"> + <arg value="commit"/> + </exec> + </target> + +</project> + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/CONTENTS b/thirdparty/apache-log4j-1.2.16/contribs/CONTENTS new file mode 100644 index 00000000000..a1125d40e22 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/CONTENTS @@ -0,0 +1,116 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---------------------------------------------------------------------- +WARNING: The contents of the contribs/ directory is not guaranteed to +work properly. Some files might not even compile. +---------------------------------------------------------------------- + +Each directory corresponds to the name of an author containing his/her +contributions. + + +EirikLygre/ +========== + + DailyFileAppender1.java + + DailyFileAppender extends FileAppender to use filenames formatted with + date/time information. The filename is recomputed every day at midnight. + Note that the filename doesn't have to change every day, making it possible + to have logfiles which are per-week or per-month. + +JamesHouse/ +========== + + LogTextPanel.java + LogTextPanelExample.java + TextPanelAppender.java + +JimMoore/ +======== + + LoggingOutputStream.java + + Allows the user to divert System.out and System.err to log4j. + + WARNING: Be sure to read the included e-mails to understand the dangers of + WARNING: redirecting the console to LoggingOutputStream. + + +LeosLiterak/ +=========== + + TempFileAppender.java + + TempFileAppender creates new unique file for each logging statement. + +MarkDouglas/ +=========== + + SocketNode2.java + SocketServer2.java + + Small changes to SocketServer and SockerNode to allow the client machine name + to be displayed in the logging output. This is important for us as we are + using a single logging server with several clients. + +KevinSteppe/ +=========== + + JDBCAppender.java + JDBCTest.java + + +KitchingSimon/ +============= + + DatagramStringAppender.java + DatagramStringWriter.java + logconfig.xml + SingleLineTracerPrintWriter.java + udpserver.pl + + A set of files that implement an Appender which sends messages to a + remote host/port via UDP (datagram). Message formatting is + performed at the at the client end, mainly so that: + (a) the UDP server application does not have to be in java + (b) non-java clients can send messages to the same UDP server. + +ThomasFenner/ +============ + + Yet one more JDBCAppender. + + JDBCAppender.java + JDBCConnectionHandler.java + JDBCIDHandler.java + JDBCLogger.java + Log4JTest.java + code_example1.java + code_example2.java + configfile_example.txt + +Volker Mentzner/ +=============== + + HTTPRequestHandler.java + Log4jRequestHandler.java + PluggableHTTPServer.java + RootRequestHandler.java + UserDialogRequestHandler.java + + Allows users to configure log4j at runtime using a web-browser. \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/CekiGulcu/AppenderTable.java b/thirdparty/apache-log4j-1.2.16/contribs/CekiGulcu/AppenderTable.java new file mode 100644 index 00000000000..fbb18f5aeef --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/CekiGulcu/AppenderTable.java @@ -0,0 +1,245 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +import org.apache.log4j.helpers.CyclicBuffer; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.Layout; +import org.apache.log4j.PatternLayout; +import org.apache.log4j.spi.LoggingEvent; + +import javax.swing.JFrame; +import javax.swing.JButton; +import javax.swing.JTable; +import javax.swing.JTextArea; +import javax.swing.table.AbstractTableModel; +import javax.swing.table.TableCellRenderer; +import javax.swing.JScrollPane; +import javax.swing.BoxLayout; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import java.awt.Container; + +/** + The AppenderTable illustrates one possible implementation of + an Table possibly containing a great many number of rows. + + <p>In this particular example we use a fixed size buffer + (CyclicBuffer) although this data structure could be easily + replaced by dynamically growing one, such as a Vector. The required + properties of the data structure is 1) support for indexed element + access 2) support for the insertion of new elements at the end. + + <p>Experimentation on my 1400Mhz AMD machine show that it takes + about 45 micro-seconds to insert an element in the table. This + number does not depend on the size of the buffer. It takes as much + (or as little) time to insert one million elements to a buffer of + size 10 as to a buffer of size 10'000. It takes about 4 seconds to + insert a total of 100'000 elements into the table. + + <p>On windows NT the test will run about twice as fast if you give + the focus to the window that runs "java AppenderTable" and not the + window that contains the Swing JFrame. */ +public class AppenderTable extends JTable { + + + static Logger logger = Logger.getLogger(AppenderTable.class); + + static public void main(String[] args) { + + if(args.length != 2) { + System.err.println( + "Usage: java AppenderTable bufferSize runLength\n" + +" where bufferSize is the size of the cyclic buffer in the TableModel\n" + +" and runLength is the total number of elements to add to the table in\n" + +" this test run."); + return; + } + + JFrame frame = new JFrame("JTableAppennder test"); + Container container = frame.getContentPane(); + + AppenderTable tableAppender = new AppenderTable(); + + int bufferSize = Integer.parseInt(args[0]); + AppenderTableModel model = new AppenderTableModel(bufferSize); + tableAppender.setModel(model); + + int runLength = Integer.parseInt(args[1]); + + JScrollPane sp = new JScrollPane(tableAppender); + sp.setPreferredSize(new Dimension(250, 80)); + + container.setLayout(new BoxLayout(container, BoxLayout.X_AXIS)); + container.add(sp); + + // The "ADD" button is intended for manual testing. It will + // add one new logging event to the table. + JButton button = new JButton("ADD"); + container.add(button); + button.addActionListener(new JTableAddAction(tableAppender)); + + frame.setSize(new Dimension(500,300)); + frame.setVisible(true); + + long before = System.currentTimeMillis(); + + int i = 0; + while(i++ < runLength) { + LoggingEvent event = new LoggingEvent("x", logger, Level.ERROR, + "Message "+i, null); + tableAppender.doAppend(event); + } + + long after = System.currentTimeMillis(); + + long totalTime = (after-before); + + System.out.println("Total time :"+totalTime+ " milliseconds for "+ + "runLength insertions."); + System.out.println("Average time per insertion :" + +(totalTime*1000/runLength)+ " micro-seconds."); + + + } + + public + AppenderTable() { + this.setDefaultRenderer(Object.class, new Renderer()); + } + + /** + When asked to append we just insert directly into the model. In a + real appender we would use two buffers one for accumulating + events and another to accumalte events but after filtering. Only + the second buffer would be displayed in the table and made + visible to the user.*/ + public + void doAppend(LoggingEvent event) { + ((AppenderTableModel)getModel()).insert(event); + } + + /** + The Renderer is required to display object in a friendlier from. + This particular renderer is just a JTextArea. + + <p>The important point to note is that we only need *one* + renderer. */ + class Renderer extends JTextArea implements TableCellRenderer { + + PatternLayout layout; + + public + Renderer() { + layout = new PatternLayout("%r %p %c [%t] - %m"); + } + + public Component getTableCellRendererComponent(JTable table, + Object value, + boolean isSelected, + boolean hasFocus, + int row, + int column) { + + // If its a LoggingEvent than format it using our layout. + if(value instanceof LoggingEvent) { + LoggingEvent event = (LoggingEvent) value; + String str = layout.format(event); + setText(str); + } else { + setText(value.toString()); + } + return this; + } + } +} + +class AppenderTableModel extends AbstractTableModel { + + CyclicBuffer cb; + + AppenderTableModel(int size) { + cb = new CyclicBuffer(size); + } + + /** + Insertion to the model always results in a fireTableDataChanged + method call. Suprisingly enough this has no crippling impact on + performance. */ + public + void insert(LoggingEvent event) { + cb.add(event); + fireTableDataChanged(); + } + + /** + We assume only one column. + */ + public + int getColumnCount() { + return 1; + } + + /** + The row count is given by the number of elements in the + buffer. This number is guaranteed to be between 0 and the buffer + size (inclusive). */ + public int getRowCount() { + return cb.length(); + } + + /** + Get the value in a given row and column. We suppose that there is + only one colemn so we are only concerned with the row. + + <p>Interesting enough this method returns an object. This leaves + the door open for a TableCellRenderer to render the object in + a variety of ways. + */ + public + Object getValueAt(int row, int col) { + return cb.get(row); + } +} + + +/** + The JTableAddAction is called when the user clicks on the "ADD" + button. +*/ +class JTableAddAction implements ActionListener { + + AppenderTable appenderTable; + Logger dummy = Logger.getLogger("x"); + int counter = 0; + public + JTableAddAction(AppenderTable appenderTable) { + this.appenderTable = appenderTable; + } + + public + void actionPerformed(ActionEvent e) { + counter++; + LoggingEvent event = new LoggingEvent("x", dummy, Level.DEBUG, + "Message "+counter, null); + appenderTable.doAppend(event); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/CekiGulcu/Transform.java b/thirdparty/apache-log4j-1.2.16/contribs/CekiGulcu/Transform.java new file mode 100644 index 00000000000..dcd9c153965 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/CekiGulcu/Transform.java @@ -0,0 +1,219 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml; + +import org.apache.log4j.Category; +import org.apache.log4j.Layout; +import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.helpers.DateLayout; + +import org.xml.sax.ContentHandler; +import org.xml.sax.Locator; +import org.xml.sax.Attributes; +import org.xml.sax.XMLReader; +import org.xml.sax.ext.LexicalHandler; +import org.xml.sax.helpers.XMLReaderFactory; +import org.xml.sax.SAXException; +import org.apache.xerces.parsers.SAXParser; + +import org.apache.trax.Processor; +import org.apache.trax.TemplatesBuilder; +import org.apache.trax.Templates; +import org.apache.trax.Transformer; +import org.apache.trax.Result; +import org.apache.trax.ProcessorException; +import org.apache.trax.ProcessorFactoryException; +import org.apache.trax.TransformException; + + +import org.apache.serialize.SerializerFactory; +import org.apache.serialize.Serializer; +import org.apache.serialize.OutputFormat; +import org.xml.sax.helpers.AttributesImpl; + + +import java.io.FileOutputStream; +import java.io.IOException; + + +public class Transform { + + public static void main(String[] args) throws Exception { + PropertyConfigurator.disableAll(); + PropertyConfigurator.configure("x.lcf"); + + // I. Instantiate a stylesheet processor. + Processor processor = Processor.newInstance("xslt"); + + // II. Process the stylesheet. producing a Templates object. + + // Get the XMLReader. + XMLReader reader = XMLReaderFactory.createXMLReader(); + + // Set the ContentHandler. + TemplatesBuilder templatesBuilder = processor.getTemplatesBuilder(); + reader.setContentHandler(templatesBuilder); + + // Set the ContentHandler to also function as a LexicalHandler, which + // includes "lexical" (e.g., comments and CDATA) events. The Xalan + // TemplatesBuilder -- org.apache.xalan.processor.StylesheetHandler -- is + // also a LexicalHandler). + if(templatesBuilder instanceof LexicalHandler) { + reader.setProperty("http://xml.org/sax/properties/lexical-handler", + templatesBuilder); + } + + // Parse the stylesheet. + reader.parse(args[0]); + + //Get the Templates object from the ContentHandler. + Templates templates = templatesBuilder.getTemplates(); + + // III. Use the Templates object to instantiate a Transformer. + Transformer transformer = templates.newTransformer(); + + // IV. Perform the transformation. + + // Set up the ContentHandler for the output. + FileOutputStream fos = new FileOutputStream(args[2]); + Result result = new Result(fos); + Serializer serializer = SerializerFactory.getSerializer("xml"); + serializer.setOutputStream(fos); + + transformer.setContentHandler(serializer.asContentHandler()); + + // Set up the ContentHandler for the input. + org.xml.sax.ContentHandler chandler = transformer.getInputContentHandler(); + DC dc = new DC(chandler); + reader.setContentHandler(dc); + if(chandler instanceof LexicalHandler) { + reader.setProperty("http://xml.org/sax/properties/lexical-handler", + chandler); + } else { + reader.setProperty("http://xml.org/sax/properties/lexical-handler", + null); + } + + // Parse the XML input document. The input ContentHandler and + // output ContentHandler work in separate threads to optimize + // performance. + reader.parse(args[1]); + } +} + + class DC implements ContentHandler { + + static Category cat = Category.getInstance("DC"); + + ContentHandler chandler; + + DC(ContentHandler chandler) { + this.chandler = chandler; + } + + + public + void characters(char[] ch, int start, int length) + throws org.xml.sax.SAXException { + cat.debug("characters: ["+new String(ch, start, length)+ "] called"); + chandler.characters(ch, start, length); + + } + + public + void endDocument() throws org.xml.sax.SAXException { + cat.debug("endDocument called."); + chandler.endDocument(); + + } + + public + void endElement(String namespaceURI, String localName, String qName) + throws org.xml.sax.SAXException { + cat.debug("endElement("+namespaceURI+", "+localName+", "+qName+") called"); + chandler.endElement(namespaceURI, localName, qName); + } + + public + void endPrefixMapping(String prefix) throws org.xml.sax.SAXException { + cat.debug("endPrefixMapping("+prefix+") called"); + chandler.endPrefixMapping(prefix); + } + + public + void ignorableWhitespace(char[] ch, int start, int length) + throws org.xml.sax.SAXException { + cat.debug("ignorableWhitespace called"); + chandler.ignorableWhitespace(ch, start, length); + } + + public + void processingInstruction(java.lang.String target, java.lang.String data) + throws org.xml.sax.SAXException { + cat.debug("processingInstruction called"); + chandler.processingInstruction(target, data); + } + + public + void setDocumentLocator(Locator locator) { + cat.debug("setDocumentLocator called"); + chandler.setDocumentLocator(locator); + } + + public + void skippedEntity(String name) throws org.xml.sax.SAXException { + cat.debug("skippedEntity("+name+") called"); + chandler.skippedEntity(name); + } + + public + void startDocument() throws org.xml.sax.SAXException { + cat.debug("startDocument called"); + chandler.startDocument(); + } + + public + void startElement(String namespaceURI, String localName, String qName, + Attributes atts) throws org.xml.sax.SAXException { + cat.debug("startElement("+namespaceURI+", "+localName+", "+qName+")called"); + + if("log4j:event".equals(qName)) { + cat.debug("-------------"); + if(atts instanceof org.xml.sax.helpers.AttributesImpl) { + AttributesImpl ai = (AttributesImpl) atts; + int i = atts.getIndex("timestamp"); + ai.setValue(i, "hello"); + } + String ts = atts.getValue("timestamp"); + cat.debug("New timestamp is " + ts); + } + chandler.startElement(namespaceURI, localName, qName, atts); + } + + public + void startPrefixMapping(String prefix, String uri) + throws org.xml.sax.SAXException { + cat.debug("startPrefixMapping("+prefix+", "+uri+") called"); + chandler.startPrefixMapping(prefix, uri); + } + + +} + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/EirikLygre/DailyFileAppender1.java b/thirdparty/apache-log4j-1.2.16/contribs/EirikLygre/DailyFileAppender1.java new file mode 100644 index 00000000000..eb0a3d216c6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/EirikLygre/DailyFileAppender1.java @@ -0,0 +1,242 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +package org.apache.log4j; + +import java.io.IOException; +import java.io.Writer; +import java.io.FileWriter; +import java.io.File; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.text.SimpleDateFormat; +import java.util.Date; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.helpers.QuietWriter; +import org.apache.log4j.helpers.CountingQuietWriter; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.ErrorCode; + +/** + DailyFileAppender extends FileAppender to use filenames formatted with + date/time information. The filename is recomputed every day at midnight. + Note that the filename doesn't have to change every day, making it possible + to have logfiles which are per-week or per-month. + + The appender computes the proper filename using the formats specified in + <a href="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html"> + java.text.SimpleDateFormat</a>. The format requires that most static text is + enclosed in single quotes, which are removed. The examples below show how + quotes are used to embed static information in the format. + + Sample filenames: + +<code> + Filename pattern Filename + "'/logs/trace-'yyyy-MM-dd'.log'" /logs/trace-2000-12-31.log + "'/logs/trace-'yyyy-ww'.log'" /logs/trace-2000-52.log +</code> + + @author <a HREF="mailto:eirik.lygre@evita.no">Eirik Lygre</a> +*/ +public class DailyFileAppender extends FileAppender { + + /** + A string constant used in naming the option for setting the + filename pattern. Current value of this string constant is + <strong>FileNamePattern</strong>. + */ + static final public String FILE_NAME_PATTERN_OPTION = "FilePattern"; + + /** + The filename pattern + */ + private String fileNamePattern = null; + + /** + The actual formatted filename that is currently being written to + */ + private String currentFileName = null; + + /** + The timestamp when we shall next recompute the filename + */ + private long nextFilenameComputingMillis = System.currentTimeMillis () - 1; + + /** + The default constructor does no longer set a default layout nor a + default output target. */ + public + DailyFileAppender() { + } + + /** + Instantiate a RollingFileAppender and open the file designated by + <code>filename</code>. The opened filename will become the ouput + destination for this appender. + + <p>If the <code>append</code> parameter is true, the file will be + appended to. Otherwise, the file desginated by + <code>filename</code> will be truncated before being opened. + */ + public DailyFileAppender (Layout layout,String filename,boolean append) throws IOException { + super(layout, filename, append); + } + + /** + Instantiate a FileAppender and open the file designated by + <code>filename</code>. The opened filename will become the output + destination for this appender. + + <p>The file will be appended to. */ + public DailyFileAppender (Layout layout,String filename) throws IOException { + super(layout, filename); + } + + /** + Set the current output file. + + The function will compute a new filename, and open a new file only + when the name has changed. + + The function is automatically called once a day, to allow for + daily files -- the purpose of this class. + */ + + public + synchronized + void setFile(String fileName, boolean append) throws IOException { + + /* Compute filename, but only if fileNamePattern is specified */ + if (fileNamePattern == null) { + errorHandler.error("Missing file pattern (" + FILE_NAME_PATTERN_OPTION + ") in setFile()."); + return; + } + + Date now = new Date(); + + fileName = new SimpleDateFormat(fileNamePattern).format (now); + if (fileName.equals(currentFileName)) + return; + + /* Set up next filename checkpoint */ + DailyFileAppenderCalendar c = new DailyFileAppenderCalendar(); + c.rollToNextDay (); + nextFilenameComputingMillis = c.getTimeInMillis (); + + currentFileName = fileName; + + super.setFile(fileName, append); + } + + /** + This method differentiates RollingFileAppender from its super + class. + + */ + protected + void subAppend(LoggingEvent event) { + + if (System.currentTimeMillis () >= nextFilenameComputingMillis) { + try { + setFile (super.fileName, super.fileAppend); + } + catch(IOException e) { + System.err.println("setFile(null, false) call failed."); + e.printStackTrace(); + } + } + + super.subAppend(event); + } + + /** + Retuns the option names for this component, namely {@link + #FILE_NAME_PATTERN_OPTION} in + addition to the options of {@link FileAppender#getOptionStrings + FileAppender}. + */ + public + String[] getOptionStrings() { + + return OptionConverter.concatanateArrays(super.getOptionStrings(), + new String[] {FILE_NAME_PATTERN_OPTION}); + } + + /** + Set the options for the appender + */ + public + void setOption(String key, String value) { + super.setOption(key, value); + if(key.equalsIgnoreCase(FILE_NAME_PATTERN_OPTION)) { + fileNamePattern = value; + } + } + + /** + If the a value for {@link #FILE_OPTION} is non-null, then {@link + #setFile} is called with the values of {@link #FILE_OPTION} and + {@link #APPEND_OPTION}. + + @since 0.8.1 */ + public + void activateOptions() { + try { + setFile(null, super.fileAppend); + } + catch(java.io.IOException e) { + errorHandler.error("setFile(null,"+fileAppend+") call failed.", + e, ErrorCode.FILE_OPEN_FAILURE); + } + } +} + +/** + DailyFileAppenderCalendar is a helper class to DailyFileAppender. Using + this class, it is easy to compute and access the next Millis() + + It subclasses the standard + <a href="http://java.sun.com/j2se/1.3/docs/api/java/text/GregorianCalendar.html"> + java.util.GregorianCalendar</a>-object, to allow access to the protected + function getTimeInMillis(), which it then exports. + + @author <a HREF="mailto:eirik.lygre@evita.no">Eirik Lygre</a> +*/ +class DailyFileAppenderCalendar extends java.util.GregorianCalendar +{ + /** + Returns the current time in Millis + */ + public long getTimeInMillis() { + return super.getTimeInMillis(); + } + + /** + Roll the date to the next hour, with minute, second and millisecond + set to zero. + */ + public void rollToNextDay () { + this.add(java.util.Calendar.DATE, 0); + this.add(java.util.Calendar.HOUR, 0); + this.set(java.util.Calendar.MINUTE, 0); + this.set(java.util.Calendar.SECOND, 0); + this.set(java.util.Calendar.MILLISECOND, 0); + } +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/EirikLygre/mail-2001-01-18 b/thirdparty/apache-log4j-1.2.16/contribs/EirikLygre/mail-2001-01-18 new file mode 100644 index 00000000000..e1b168ea837 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/EirikLygre/mail-2001-01-18 @@ -0,0 +1,44 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +Delivered-To: urba-cgu@urbanet.ch +To: Ceki Gulcu <cgu@urbanet.ch> +From: Eirik_Lygre/evita/no%EVITA@evita.no +Subject: Re: Suggestion for new appender "DailyFileAppender" +Date: Thu, 18 Jan 2001 20:18:27 +0100 +X-MIMETrack: Serialize by Router on domino1/evita/no(Release 5.0.5 |September 22, 2000) at + 18.01.2001 20:18:30 + + + +This version subclasses GregorianCalendar, to get access to the +millis-variable used in the Calendar-classes (it is protected). + + +What do you think? + + +Eirik + + +++++++++++ +Eirik Lygre +eirik.lygre@evita.no +e-vita as, Stortorvet 3, Oslo +Mobil: (+47) 905 66476 +Fax: (+47) 23 35 70 51 + DailyFileAppender1.jav \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/LogTextPanel.java b/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/LogTextPanel.java new file mode 100644 index 00000000000..56b989aede5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/LogTextPanel.java @@ -0,0 +1,188 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.gui; + +import java.awt.Color; +import java.awt.Image; +import java.awt.Toolkit; +import java.awt.BorderLayout; + +import javax.swing.*; +import javax.swing.text.StyledDocument; +import javax.swing.text.SimpleAttributeSet; +import javax.swing.text.MutableAttributeSet; +import javax.swing.text.StyleConstants; + +import java.util.Hashtable; +import java.util.StringTokenizer; +import java.util.Enumeration; +import java.util.ArrayList; + +import org.apache.log4j.*; + +public class LogTextPanel extends JPanel { + + private JScrollBar scrollBar; + private JTextPane textPane; + private JCheckBox cbxTail; + private StyledDocument doc; + + private Hashtable fontAttributes; + + private int eventBufferMaxSize = 10000; + private ArrayList eventBuffer = new ArrayList(eventBufferMaxSize); + private int eventViewIndex = 0; + + public LogTextPanel() { + constructComponents(); + createDefaultFontAttributes(); + } + + private void constructComponents() { + // setup the panel's additional components... + this.setLayout(new BorderLayout()); + + cbxTail = new JCheckBox(); + cbxTail.setSelected(true); + cbxTail.setText("Tail log events"); + + JPanel bottomPanel = new JPanel(); + bottomPanel.add(cbxTail, null); + + textPane = new JTextPane(); + textPane.setEditable(false); + textPane.setText(""); + doc = textPane.getStyledDocument(); + + scrollBar = new JScrollBar(JScrollBar.VERTICAL); + + this.add(bottomPanel, BorderLayout.SOUTH); + this.add(scrollBar, BorderLayout.EAST); + this.add(textPane, BorderLayout.CENTER); + } + + public + void setTextBackground(Color color) { + textPane.setBackground(color); + } + + public + void setTextBackground(String v) { + textPane.setBackground(parseColor(v)); + } + + private void createDefaultFontAttributes() { + Priority[] prio = Priority.getAllPossiblePriorities(); + + fontAttributes = new Hashtable(); + for (int i=0; i<prio.length;i++) { + MutableAttributeSet att = new SimpleAttributeSet(); + fontAttributes.put(prio[i], att); + //StyleConstants.setFontSize(att,11); + } + + setTextColor(Priority.FATAL, Color.red); + setTextColor(Priority.ERROR, Color.magenta); + setTextColor(Priority.WARN, Color.orange); + setTextColor(Priority.INFO, Color.blue); + setTextColor(Priority.DEBUG, Color.black); + } + + private + Color parseColor (String v) { + StringTokenizer st = new StringTokenizer(v,","); + int val[] = {255,255,255,255}; + int i=0; + while (st.hasMoreTokens()) { + val[i]=Integer.parseInt(st.nextToken()); + i++; + } + return new Color(val[0],val[1],val[2],val[3]); + } + + void setTextColor(Priority p, String v) { + StyleConstants.setForeground( + (MutableAttributeSet)fontAttributes.get(p),parseColor(v)); + } + + void setTextColor(Priority p, Color c) { + StyleConstants.setForeground( + (MutableAttributeSet)fontAttributes.get(p),c); + } + + void setTextFontSize(int size) { + Enumeration e = fontAttributes.elements(); + while (e.hasMoreElements()) { + StyleConstants.setFontSize((MutableAttributeSet)e.nextElement(),size); + } + return; + } + + void setTextFontName(String name) { + Enumeration e = fontAttributes.elements(); + while (e.hasMoreElements()) { + StyleConstants.setFontFamily((MutableAttributeSet)e.nextElement(),name); + } + return; + } + + void setEventBufferSize(int bufferSize) { + eventBufferMaxSize = bufferSize; + } + + void newEvents(EventBufferElement[] evts) { + + if((eventBuffer.size() + evts.length) >= eventBufferMaxSize) { + for(int i=0; i < evts.length; i++) { + eventBuffer.remove(0); + } + eventViewIndex -= evts.length; + if(eventViewIndex < 0) + eventViewIndex = 0; + } + for(int i=0; i < evts.length; i++) + eventBuffer.add(evts[i]); + + if((eventBuffer.size() > maxR) && cbxTail.isSelected()) { + eventViewIndex = (eventBuffer.size() - maxR); + } + + // only redraw if new line is visible... + if((maxR < 0) || (eventBuffer.size() >= eventViewIndex && eventBuffer.size() <= (eventViewIndex + maxR))) + drawText(); + } + + int maxR = -1; + + void drawText() { + if(maxR < 0) + maxR = textPane.getHeight() / textPane.getFontMetrics(textPane.getFont()).getHeight(); + try { + doc.remove(0, doc.getLength()); + } catch(Exception e) { e.printStackTrace(); } + + for(int i=eventViewIndex; (i < eventBuffer.size()) && (i < (eventViewIndex + maxR)); i++) { + EventBufferElement evt = (EventBufferElement)eventBuffer.get(i); + + try { + doc.insertString(doc.getLength(), evt.text, (MutableAttributeSet)fontAttributes.get(evt.prio)); + } catch(Exception e) { e.printStackTrace(); } + } + } + + +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/LogTextPanelExample.java b/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/LogTextPanelExample.java new file mode 100644 index 00000000000..c8898eec324 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/LogTextPanelExample.java @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.gui.examples; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +import org.apache.log4j.*; +import org.apache.log4j.gui.TextPanelAppender; + +public class LogTextPanelExample { + boolean packFrame = false; + + String catName = "dum.cat.name"; + + public LogTextPanelExample() { + + // setup the logging + TextPanelAppender tpa = new TextPanelAppender(new PatternLayout("%-5p %d [%t]: %m%n"), "logTextPanel"); + tpa.setThreshold(Priority.DEBUG); + Category cat = Category.getInstance(catName); + cat.addAppender(tpa); + + LogFrame frame = new LogFrame(tpa); + frame.validate(); + + //Center the frame (window), and show it + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + Dimension frameSize = frame.getSize(); + if (frameSize.height > screenSize.height) { + frameSize.height = screenSize.height; + } + if (frameSize.width > screenSize.width) { + frameSize.width = screenSize.width; + } + frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); + frame.setVisible(true); + } + + /**Main method*/ + public static void main(String[] args) { + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } + catch(Exception e) { + e.printStackTrace(); + } + LogTextPanelExample foo = new LogTextPanelExample(); + new LogTextPanelExampleGenThread(foo.catName); + } +} + +class LogFrame extends JFrame { + + public LogFrame(TextPanelAppender tpa) { + enableEvents(AWTEvent.WINDOW_EVENT_MASK); + JPanel contentPane = (JPanel) this.getContentPane(); + contentPane.setLayout(new BorderLayout()); + this.setSize(new Dimension(600, 400)); + this.setTitle("LogTextPanel Example"); + contentPane.add(tpa.getLogTextPanel(), BorderLayout.CENTER); + } + + // exit when window is closed + protected void processWindowEvent(WindowEvent e) { + super.processWindowEvent(e); + if (e.getID() == WindowEvent.WINDOW_CLOSING) { + System.exit(0); + } + } +} + +class LogTextPanelExampleGenThread extends Thread { + + String catName; + + public LogTextPanelExampleGenThread(String catName) { + this.catName = catName; + this.setPriority(Thread.NORM_PRIORITY - 1); + this.start(); + } + + public void run() { + Category cat = Category.getInstance(catName); + int cnt = 0; + while(true) { + cnt++; + int randEvt = (int)(Math.random() * 125); + if(randEvt < 3) + cat.fatal("{" + cnt + "} Something screwed up bad."); + else if(randEvt < 10) + cat.error("{" + cnt + "} An error occured while trying to delete all of your files."); + else if(randEvt < 25) + cat.warn("{" + cnt + "} It seems as if your hard disk is getting full."); + else if(randEvt < 55) + cat.info("{" + cnt + "} It is now time for tea."); + else if(randEvt < 65) + cat.debug("{" + cnt + "} Something bad is happening on line 565 of com.foo.Crap"); + else if(randEvt < 75) + cat.debug("{" + cnt + "} Input value for xe343dd is not equal to xe39dfd!"); + else if(randEvt < 85) + cat.debug("{" + cnt + "} Successfully reached line 2312 of com.foo.Goo"); + else if(randEvt < 105) + cat.debug("{" + cnt + "} Here is some extra handy debugging information for you."); + else if(randEvt < 115) + cat.debug("{" + cnt + "} The file you are about to write to is not open."); + else if(randEvt < 125) + cat.debug("{" + cnt + "} The input value to the method was <null>."); + + try { + Thread.sleep(10); + } + catch(Exception e) {} + + } + } +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/TextPanelAppender.java b/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/TextPanelAppender.java new file mode 100644 index 00000000000..bb460649351 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/TextPanelAppender.java @@ -0,0 +1,217 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.gui; + + +import java.awt.Color; +import java.awt.Image; +import java.awt.Toolkit; +import java.io.*; +import java.net.URL; +import java.util.Enumeration; +import java.util.StringTokenizer; +import java.util.Hashtable; +import java.util.ArrayList; + +import javax.swing.JPanel; + +import org.apache.log4j.*; + +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.QuietWriter; +import org.apache.log4j.helpers.TracerPrintWriter; +import org.apache.log4j.helpers.OptionConverter; + + +/** + * + * @author James House + */ + +public class TextPanelAppender extends AppenderSkeleton { + + TracerPrintWriter tp; + StringWriter sw; + QuietWriter qw; + LogTextPanel logTextPanel; + LogPublishingThread logPublisher; + + final String COLOR_OPTION_FATAL = "Color.Fatal"; + final String COLOR_OPTION_ERROR = "Color.Error"; + final String COLOR_OPTION_WARN = "Color.Warn"; + final String COLOR_OPTION_INFO = "Color.Info"; + final String COLOR_OPTION_DEBUG = "Color.Debug"; + final String COLOR_OPTION_BACKGROUND = "Color.Background"; + final String FONT_NAME_OPTION = "Font.Name"; + final String FONT_SIZE_OPTION = "Font.Size"; + final String EVENT_BUFFER_SIZE_OPTION = "EventBuffer.Size"; + + public TextPanelAppender(Layout layout, String name) { + this.layout = layout; + this.name = name; + this.sw = new StringWriter(); + this.qw = new QuietWriter(sw, errorHandler); + this.tp = new TracerPrintWriter(qw); + setLogTextPanel(new LogTextPanel()); + logPublisher = new LogPublishingThread(logTextPanel, Priority.ERROR, 500); + //logPublisher = new LogPublishingThread(logTextPanel, null, 500); + } + + public + void close() { + } + + public void append(LoggingEvent event) { + + String text = this.layout.format(event); + + // Print Stacktrace + // Quick Hack maybe there is a better/faster way? + if (event.throwable!=null) { + event.throwable.printStackTrace(tp); + for (int i=0; i< sw.getBuffer().length(); i++) { + if (sw.getBuffer().charAt(i)=='\t') + sw.getBuffer().replace(i,i+1," "); + } + text += sw.toString(); + sw.getBuffer().delete(0,sw.getBuffer().length()); + } + else + if(!text.endsWith("\n")) + text += "\n"; + + logPublisher.publishEvent(event.priority, text); + } + + public + JPanel getLogTextPanel() { + return logTextPanel; + } + + public + String[] getOptionStrings() { + return new String[] { COLOR_OPTION_FATAL, COLOR_OPTION_ERROR, + COLOR_OPTION_WARN, COLOR_OPTION_INFO, COLOR_OPTION_DEBUG, + COLOR_OPTION_BACKGROUND, FONT_NAME_OPTION, FONT_SIZE_OPTION}; + } + + + public + void setName(String name) { + this.name = name; + } + + protected + void setLogTextPanel(LogTextPanel logTextPanel) { + this.logTextPanel = logTextPanel; + logTextPanel.setTextBackground(Color.white); + } + + public + void setOption(String option, String value) { + if (option.equalsIgnoreCase(COLOR_OPTION_FATAL)) + logTextPanel.setTextColor(Priority.FATAL,value); + if (option.equalsIgnoreCase(COLOR_OPTION_ERROR)) + logTextPanel.setTextColor(Priority.ERROR,value); + if (option.equalsIgnoreCase(COLOR_OPTION_WARN)) + logTextPanel.setTextColor(Priority.WARN,value); + if (option.equalsIgnoreCase(COLOR_OPTION_INFO)) + logTextPanel.setTextColor(Priority.INFO,value); + if (option.equalsIgnoreCase(COLOR_OPTION_DEBUG)) + logTextPanel.setTextColor(Priority.DEBUG,value); + if (option.equalsIgnoreCase(COLOR_OPTION_BACKGROUND)) + logTextPanel.setTextBackground(value); + if (option.equalsIgnoreCase(FONT_SIZE_OPTION)) + logTextPanel.setTextFontSize(Integer.parseInt(value)); + if (option.equalsIgnoreCase(FONT_NAME_OPTION)) + logTextPanel.setTextFontName(value); + if (option.equalsIgnoreCase(EVENT_BUFFER_SIZE_OPTION)) + logTextPanel.setEventBufferSize(Integer.parseInt(value)); + return; + } + + public + boolean requiresLayout() { + return true; + } + + + + class LogPublishingThread extends Thread { + + LogTextPanel logTextPanel; + ArrayList evts; + Priority triggerPrio; + long pubInterval; + + public LogPublishingThread(LogTextPanel logTextPanel, Priority triggerPrio, long pubInterval) { + this.logTextPanel = logTextPanel; + this.evts = new ArrayList(1000); + this.triggerPrio = triggerPrio; + this.pubInterval = pubInterval; + //this.setPriority(Thread.NORM_PRIORITY - 1); + this.start(); + } + + public void run() { + while(true) { + synchronized(evts) { + try { + evts.wait(pubInterval); + } + catch(InterruptedException e) {} + + logTextPanel.newEvents((EventBufferElement[])evts.toArray(new EventBufferElement[evts.size()])); + + evts.clear(); + } + } + + } + + public void publishEvent(Priority prio, String text) { + synchronized(evts) { + evts.add(new EventBufferElement(prio, text)); + if(triggerPrio != null && prio.isGreaterOrEqual(triggerPrio)) + evts.notify(); + } + } + } + +} // TextPaneAppender + +class EventBufferElement { + + public String text; + public Priority prio; + public int numLines; + + EventBufferElement(Priority prio, String text) { + this.prio = prio; + this.text = text; + numLines = 1; + int pos = pos = text.indexOf('\n', 0); + int len = text.length() - 1; + + while( (pos > 0) && (pos < len) ) + numLines++; + pos = text.indexOf('\n', pos + 1); + } +} + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/mail-2001-01-23 b/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/mail-2001-01-23 new file mode 100644 index 00000000000..c8d94b707c7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/JamesHouse/mail-2001-01-23 @@ -0,0 +1,87 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +Delivered-To: urba-cgu@urbanet.ch +From: James House <james.house@medibuy.com> +To: Ceki Gulcu <cgu@urbanet.ch> +Subject: RE: Buffering issues +Date: Tue, 23 Jan 2001 11:38:30 -0800 +X-Mailer: Internet Mail Service (5.5.2650.21) + + + +Ceki, + + +Most of the "speed" issues can be easily solved, as demonstrated in +the new versions of the files that are attached, and as described +here: + + +The "drawing" of the panel is time consuming. And let's face it: we +will never build a swing component that can re-draw itself thousands +of times per second - nor could the human eye keep up with that anyway +(60-ish redraws per second is the limit of what most humans can +perceive). + + +I think you'll agree that regardless of which choice of swing +components, the issue of not being able to draw more than 100 times +per second (if that) will be a constant. + + +Possible solutions to wasting a lot of time redrawing are: + * Redraw every N messages + * Redraw every N milliseconds + * Redraw when a message of a high priority is received + * Only redraw if the changes (new messages) are visible (depending on +scroll-bar position) + + + +I made some very small changes (which are some of what I outlined in +the previous e-mail as things on the to-do list), and you should be +able to see a great difference in performance. + + +In general the changes are: Use a "queue" to asynchronously deliver +the messages to the panel for updating, rather than having the calling +thread (the one generating the log message) be responsible for +re-drawing the panel - this frees up the thread to continue on without +waiting for the logging mechanism. The "queue" has a thread that +wakes up every N milliseconds, or when a message of a specified +priority arrives. It then delivers all queued messages to the panel, +which then redraws ONCE for the entire batch of queued messages IF the +new messages are visible in the display. + + +With the "tail" mechanism turned on (so that any new set of messages +forces a redraw, because the last message is always visible), the +panel can now log about a thousand messages in 1 second. With tail +turned off (so that redraw is only required if the panel is showing +the space the new messages will be printed), it can receive over a +100,000 messages in just a few seconds. Also, most of the flicker is +already eliminated. + + +Again, everything in the code is really "roughed in" - just there to +give the general idea, not necessarily to do things in the best way - +but I really feel that this kind of solution is what you'll have to +end up with in the long term. + + +James diff --git a/thirdparty/apache-log4j-1.2.16/contribs/Jamie Tsao/JMSQueueAppender.java b/thirdparty/apache-log4j-1.2.16/contribs/Jamie Tsao/JMSQueueAppender.java new file mode 100644 index 00000000000..9e762f5e296 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/Jamie Tsao/JMSQueueAppender.java @@ -0,0 +1,241 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.ErrorCode; +import org.apache.log4j.helpers.LogLog; + +import java.util.Hashtable; +import java.util.Properties; +import javax.jms.*; +import javax.naming.InitialContext; +import javax.naming.Context; +import javax.naming.NameNotFoundException; +import javax.naming.NamingException; + +/** + * A Simple JMS (P2P) Queue Appender. + * + * @author Ceki G&uuml;lc&uuml; + * @author Jamie Tsao +*/ +public class JMSQueueAppender extends AppenderSkeleton { + + protected QueueConnection queueConnection; + protected QueueSession queueSession; + protected QueueSender queueSender; + protected Queue queue; + + String initialContextFactory; + String providerUrl; + String queueBindingName; + String queueConnectionFactoryBindingName; + + public + JMSQueueAppender() { + } + + + /** + * The <b>InitialContextFactory</b> option takes a string value. + * Its value, along with the <b>ProviderUrl</b> option will be used + * to get the InitialContext. + */ + public void setInitialContextFactory(String initialContextFactory) { + this.initialContextFactory = initialContextFactory; + } + + /** + * Returns the value of the <b>InitialContextFactory</b> option. + */ + public String getInitialContextFactory() { + return initialContextFactory; + } + + /** + * The <b>ProviderUrl</b> option takes a string value. + * Its value, along with the <b>InitialContextFactory</b> option will be used + * to get the InitialContext. + */ + public void setProviderUrl(String providerUrl) { + this.providerUrl = providerUrl; + } + + /** + * Returns the value of the <b>ProviderUrl</b> option. + */ + public String getProviderUrl() { + return providerUrl; + } + + /** + * The <b>QueueConnectionFactoryBindingName</b> option takes a + * string value. Its value will be used to lookup the appropriate + * <code>QueueConnectionFactory</code> from the JNDI context. + */ + public void setQueueConnectionFactoryBindingName(String queueConnectionFactoryBindingName) { + this.queueConnectionFactoryBindingName = queueConnectionFactoryBindingName; + } + + /** + * Returns the value of the <b>QueueConnectionFactoryBindingName</b> option. + */ + public String getQueueConnectionFactoryBindingName() { + return queueConnectionFactoryBindingName; + } + + /** + * The <b>QueueBindingName</b> option takes a + * string value. Its value will be used to lookup the appropriate + * destination <code>Queue</code> from the JNDI context. + */ + public void setQueueBindingName(String queueBindingName) { + this.queueBindingName = queueBindingName; + } + + /** + Returns the value of the <b>QueueBindingName</b> option. + */ + public String getQueueBindingName() { + return queueBindingName; + } + + + /** + * Overriding this method to activate the options for this class + * i.e. Looking up the Connection factory ... + */ + public void activateOptions() { + + QueueConnectionFactory queueConnectionFactory; + + try { + + Context ctx = getInitialContext(); + queueConnectionFactory = (QueueConnectionFactory) ctx.lookup(queueConnectionFactoryBindingName); + queueConnection = queueConnectionFactory.createQueueConnection(); + + queueSession = queueConnection.createQueueSession(false, + Session.AUTO_ACKNOWLEDGE); + + Queue queue = (Queue) ctx.lookup(queueBindingName); + queueSender = queueSession.createSender(queue); + + queueConnection.start(); + + ctx.close(); + + } catch(Exception e) { + errorHandler.error("Error while activating options for appender named ["+name+ + "].", e, ErrorCode.GENERIC_FAILURE); + } + } + + protected InitialContext getInitialContext() throws NamingException { + try { + Hashtable ht = new Hashtable(); + + //Populate property hashtable with data to retrieve the context. + ht.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory); + ht.put(Context.PROVIDER_URL, providerUrl); + + return (new InitialContext(ht)); + + } catch (NamingException ne) { + LogLog.error("Could not get initial context with ["+initialContextFactory + "] and [" + providerUrl + "]."); + throw ne; + } + } + + + protected boolean checkEntryConditions() { + + String fail = null; + + if(this.queueConnection == null) { + fail = "No QueueConnection"; + } else if(this.queueSession == null) { + fail = "No QueueSession"; + } else if(this.queueSender == null) { + fail = "No QueueSender"; + } + + if(fail != null) { + errorHandler.error(fail +" for JMSQueueAppender named ["+name+"]."); + return false; + } else { + return true; + } + } + + /** + * Close this JMSQueueAppender. Closing releases all resources used by the + * appender. A closed appender cannot be re-opened. + */ + public synchronized // avoid concurrent append and close operations + void close() { + + if(this.closed) + return; + + LogLog.debug("Closing appender ["+name+"]."); + this.closed = true; + + try { + if(queueSession != null) + queueSession.close(); + if(queueConnection != null) + queueConnection.close(); + } catch(Exception e) { + LogLog.error("Error while closing JMSQueueAppender ["+name+"].", e); + } + + // Help garbage collection + queueSender = null; + queueSession = null; + queueConnection = null; + } + + /** + * This method called by {@link AppenderSkeleton#doAppend} method to + * do most of the real appending work. The LoggingEvent will be + * be wrapped in an ObjectMessage to be put on the JMS queue. + */ + public void append(LoggingEvent event) { + + if(!checkEntryConditions()) { + return; + } + + try { + + ObjectMessage msg = queueSession.createObjectMessage(); + msg.setObject(event); + queueSender.send(msg); + + } catch(Exception e) { + errorHandler.error("Could not send message in JMSQueueAppender ["+name+"].", e, + ErrorCode.GENERIC_FAILURE); + } + } + + public boolean requiresLayout() { + return false; + } +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/Jamie Tsao/mail-2001-06-20 b/thirdparty/apache-log4j-1.2.16/contribs/Jamie Tsao/mail-2001-06-20 new file mode 100644 index 00000000000..555309e5492 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/Jamie Tsao/mail-2001-06-20 @@ -0,0 +1,28 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +Hi, + +I have written a JMSQueueAppender that essentially logs to a JMS Queue +(Point 2 Point). The JMSAppender currently packaged with log4j logs to +a JMS Topic (I would rename it JMSTopicAppender). I also made it so +that the InitialContextFactory and ProviderUrl are configurable appender +options. I would like to submit this to Apache. + +Thanks, + +Jamie Tsao \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/LoggingOutputStream.java b/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/LoggingOutputStream.java new file mode 100644 index 00000000000..bc084b30db9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/LoggingOutputStream.java @@ -0,0 +1,210 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +import java.io.*; +import org.apache.log4j.*; + + +/** + * An OutputStream that flushes out to a Category.<p> + * + * Note that no data is written out to the Category until the stream is + * flushed or closed.<p> + * + * Example:<pre> + * // make sure everything sent to System.err is logged + * System.setErr(new PrintStream(new LoggingOutputStream(Category.getRoot(), Priority.WARN), true)); + * + * // make sure everything sent to System.out is also logged + * System.setOut(new PrintStream(new LoggingOutputStream(Category.getRoot(), Priority.INFO), true)); + * </pre> + * + * @author <a href="mailto://Jim.Moore@rocketmail.com">Jim Moore</a> + * @see Category + */ +public class LoggingOutputStream extends OutputStream { + protected static final String LINE_SEPERATOR = System.getProperty("line.separator"); + + + /** + * Used to maintain the contract of {@link #close()}. + */ + protected boolean hasBeenClosed = false; + + /** + * The internal buffer where data is stored. + */ + protected byte[] buf; + + /** + * The number of valid bytes in the buffer. This value is always + * in the range <tt>0</tt> through <tt>buf.length</tt>; elements + * <tt>buf[0]</tt> through <tt>buf[count-1]</tt> contain valid + * byte data. + */ + protected int count; + + + /** + * Remembers the size of the buffer for speed. + */ + private int bufLength; + + /** + * The default number of bytes in the buffer. =2048 + */ + public static final int DEFAULT_BUFFER_LENGTH = 2048; + + + /** + * The category to write to. + */ + protected Category category; + + /** + * The priority to use when writing to the Category. + */ + protected Priority priority; + + + private LoggingOutputStream() { + // illegal + } + + + /** + * Creates the LoggingOutputStream to flush to the given Category. + * + * @param cat the Category to write to + * + * @param priority the Priority to use when writing to the Category + * + * @exception IllegalArgumentException + * if cat == null or priority == null + */ + public LoggingOutputStream(Category cat, Priority priority) + throws IllegalArgumentException { + if (cat == null) { + throw new IllegalArgumentException("cat == null"); + } + if (priority == null) { + throw new IllegalArgumentException("priority == null"); + } + + this.priority = priority; + category = cat; + bufLength = DEFAULT_BUFFER_LENGTH; + buf = new byte[DEFAULT_BUFFER_LENGTH]; + count = 0; + } + + + /** + * Closes this output stream and releases any system resources + * associated with this stream. The general contract of <code>close</code> + * is that it closes the output stream. A closed stream cannot perform + * output operations and cannot be reopened. + */ + public void close() { + flush(); + hasBeenClosed = true; + } + + + /** + * Writes the specified byte to this output stream. The general + * contract for <code>write</code> is that one byte is written + * to the output stream. The byte to be written is the eight + * low-order bits of the argument <code>b</code>. The 24 + * high-order bits of <code>b</code> are ignored. + * + * @param b the <code>byte</code> to write + * + * @exception IOException + * if an I/O error occurs. In particular, + * an <code>IOException</code> may be thrown if the + * output stream has been closed. + */ + public void write(final int b) throws IOException { + if (hasBeenClosed) { + throw new IOException("The stream has been closed."); + } + + // don't log nulls + if (b == 0) { + return; + } + + // would this be writing past the buffer? + if (count == bufLength) { + // grow the buffer + final int newBufLength = bufLength+DEFAULT_BUFFER_LENGTH; + final byte[] newBuf = new byte[newBufLength]; + + System.arraycopy(buf, 0, newBuf, 0, bufLength); + + buf = newBuf; + bufLength = newBufLength; + } + + buf[count] = (byte)b; + count++; + } + + + /** + * Flushes this output stream and forces any buffered output bytes + * to be written out. The general contract of <code>flush</code> is + * that calling it is an indication that, if any bytes previously + * written have been buffered by the implementation of the output + * stream, such bytes should immediately be written to their + * intended destination. + */ + public void flush() { + if (count == 0) { + return; + } + + // don't print out blank lines; flushing from PrintStream puts out these + if (count == LINE_SEPERATOR.length()) { + if ( ((char)buf[0]) == LINE_SEPERATOR.charAt(0) && + ( ( count == 1 ) || // <- Unix & Mac, -> Windows + ( (count == 2) && ((char)buf[1]) == LINE_SEPERATOR.charAt(1) ) ) ) { + reset(); + return; + } + } + + final byte[] theBytes = new byte[count]; + + System.arraycopy(buf, 0, theBytes, 0, count); + + category.log(priority, new String(theBytes)); + + reset(); + } + + + private void reset() { + // not resetting the buffer -- assuming that if it grew that it + // will likely grow similarly again + count = 0; + } + +} + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-12T1326 b/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-12T1326 new file mode 100644 index 00000000000..490b848481f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-12T1326 @@ -0,0 +1,56 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +Copied from: +http://www.mail-archive.com/log4j-user@jakarta.apache.org/msg00430.html + +-------------------------------------------------------------------------------- +diverting System.stderr/stdout into log4j +-------------------------------------------------------------------------------- + +From: Joseph Panico +Subject: diverting System.stderr/stdout into log4j +Date: Mon, 12 Mar 2001 13:26:41 -0800 + +-------------------------------------------------------------------------------- + +Folks, + +We use a number of third-party packages that do stderr.print... at various +random places in their code. I'm finding it quite useful to divert these +messages into our log4j heirarchy. I do this by replacing stderr/stdout with +my own PrintStreams that log the lines to a special log4j Category-- as +suggested on this list a while back. The only fly-in-the-ointment with this +scheme is LogLog. If there is a problem with log4j such that it cannot log +for some reason, then log4j internals use LogLog to attempt to print an +error message. This obviously leads to an infinite recursion. Has anyone +else been bothered by this? Would it make sense to add interface to LogLog +which would set the PrintStream it uses to log its error messages to? + +thanks for any ideas + +joe + +_________________________________________________________________ +Get your FREE download of MSN Explorer at http://explorer.msn.com + + +--------------------------------------------------------------------- +To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org +For additional commands, e-mail: log4j-user-help@jakarta.apache.org + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-12T1454 b/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-12T1454 new file mode 100644 index 00000000000..f7b232f04a3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-12T1454 @@ -0,0 +1,127 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +Copied from: +http://www.mail-archive.com/log4j-user@jakarta.apache.org/msg00433.html + +-------------------------------------------------------------------------------- +RE: diverting System.stderr/stdout into log4j +-------------------------------------------------------------------------------- + +From: Jim Moore +Subject: RE: diverting System.stderr/stdout into log4j +Date: Mon, 12 Mar 2001 14:54:13 -0800 + +-------------------------------------------------------------------------------- + +It doesn't. I haven't worried about it, since log4j doesn't contain any +bugs and therefore it would never happen... :) + +Probably the best way to handle it is to add a +LogLog.setPrintStream(PrintStream) method, so you can do something like: + +// remember STDERR +PrintStream se = System.err; + +// make sure everything sent to System.err is logged +System.setErr(new PrintStream(new LoggingOutputStream(Category.getRoot(), + Priority.WARN), true)); + +// make sure everything sent to System.out is also logged +System.setOut(new PrintStream(new LoggingOutputStream(Category.getRoot(), + Priority.INFO), true)); + +// prevent infinate recursion in LogLog +LogLog.setPrintStream(se); + + +I can't think of any other way to do it in the current version besides +getting extremely kludgey by checking the stack to see if it's being called +from LogLog and logging out the the "real" STDERR then in the +LoggingOutputStream. It can be done on the theory that LogLog wouldn't be +called very often, but still... + +-Jim Moore + + +-----Original Message----- +From: Ceki Gülcü [mailto:cgu@qos.ch] +Sent: Monday, March 12, 2001 5:15 PM +To: LOG4J Users Mailing List +Subject: RE: diverting System.stderr/stdout into log4j + + +Jim, Joseph, + +Here is a link containing Jim's code: + +http://marc.theaimsgroup.com/?l=log4j-user&m=98097669218571&w=2 + +How does this code handle the infinite recursion problem mentioned by +Joseph? Ceki + +At 17:03 12.03.2001 -0500, Jim Moore wrote: +>Go to the mailing list archives (theAimsGroup.com is the best) and search +>for the thread with the subject of "Capturing System.err" +> +>-Jim Moore +>"I think so, Brain; but if we gave peas a chance, won't the lima beans get +>jealous?" - Pinky +> +> +>-----Original Message----- +>From: Joseph Panico [mailto:joe_panico@hotmail.com] +>Sent: Monday, March 12, 2001 4:43 PM +>To: log4j-user@jakarta.apache.org +>Subject: diverting System.stderr/stdout into log4j +> +> +>Folks, +> +>We use a number of third-party packages that do stderr.print... at various +>random places in their code. I'm finding it quite useful to divert these +>messages into our log4j heirarchy. I do this by replacing stderr/stdout +with +> +>my own PrintStreams that log the lines to a special log4j Category-- as +>suggested on this list a while back. The only fly-in-the-ointment with this + +>scheme is LogLog. If there is a problem with log4j such that it cannot log +>for some reason, then log4j internals use LogLog to attempt to print an +>error message. This obviously leads to an infinite recursion. Has anyone +>else been bothered by this? Would it make sense to add interface to LogLog +>which would set the PrintStream it uses to log its error messages to? +> +>thanks for any ideas +> +>joe + +I hope to see you at my ApacheCon 2001 presentation +entitled "Log4j, A Logging Package for Java". + +See http://ApacheCon.Com/2001/US/ for more details. + +---- +Ceki Gülcü Web: http://qos.ch +av. de Rumine 5 email: cgu@qos.ch (preferred) +CH-1005 Lausanne ceki_gulcu@yahoo.com +Switzerland Tel: ++41 21 351 23 15 + +--------------------------------------------------------------------- +To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org +For additional commands, e-mail: log4j-user-help@jakarta.apache.org + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-13T0646 b/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-13T0646 new file mode 100644 index 00000000000..39e54c2121b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/JimMoore/mail-2001-03-13T0646 @@ -0,0 +1,229 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +Copied from +http://www.mail-archive.com/log4j-user@jakarta.apache.org/msg00445.html + +-------------------------------------------------------------------------------- +RE: diverting System.stderr/stdout into log4j +-------------------------------------------------------------------------------- + +From: Michael Smith +Subject: RE: diverting System.stderr/stdout into log4j +Date: Tue, 13 Mar 2001 06:46:04 -0800 + +-------------------------------------------------------------------------------- + +There is another way! + +In LogLog, completely ignore System.err. Instead, use the following to get +the standard error stream: + +PrintStream err = + new PrintStream(new FileOutputStream(FileDescriptor.err)); + +When you use System.setErr, it changes System.err, but not +FileDescriptor.err, which maintains a descriptor for the original error +stream. + +michael + +For a sample program to test this, see below: + +import java.io.*; + +public class Stderr { + + public static void main(String[] args) { + + // create a print stream to represent a redirect + PrintStream nonStandardErr = + new PrintStream(new ByteArrayOutputStream()); + + // Redirect standard out and standard err + System.setOut(nonStandardErr); + System.setErr(nonStandardErr); + + // attempt to print something + System.err.println("You should *not* see this on the console!"); + + // the stuff that would appear in LogLog + PrintStream logLogOut = + new PrintStream(new FileOutputStream(FileDescriptor.err)); + + // attempt to print something + logLogOut.println("You *should* see this on the console!"); + } +} + + + +> -----Original Message----- +> From: Ceki Gülcü [mailto:cgu@qos.ch] +> Sent: Monday, March 12, 2001 7:18 PM +> To: LOG4J Users Mailing List +> Subject: RE: diverting System.stderr/stdout into log4j +> +> +> +> Hate to follow up on myself, but the System.setErr method +> reassigns the System.err variable. This can be deduced without +> experimentation because the user calls the System.err variable +> directly to print to the console, whatever it might be. Thus, the +> reference itself must change to allow the System.err variable to +> point to the new target stream. +> +> The funny part is that the err variable is declared 'public +> final' in the JDK source code. The setErr method makes a call to +> setErr0 which is declared as being 'native'. It looks like the +> native part is circumventing the JDK restrictions. I find this +> quite entertaining. Ceki +> +> At 00:58 13.03.2001 +0100, Ceki Gülcü wrote: +> +> >Running the risk of disappointing you here, although not full of +> bugs, log4j is not bug-free as bugs creep out regularly. They +> just get corrected quickly before many people are affected by them. +> > +> >The PrintStream se = System.err; LogLog.setPrintStream(see); +> combination is simple and rather bright. I initially overlooked +> the PrintStream se = System.err; part, making me think that a +> lot of code needed to be modified to cater for the redirected +> console case. The remedy looked worse than the illness. My fears +> are largely unfounded and the solution should work quite well if +> one is careful. +> > +> >Regards, Ceki +> > +> >ps: I wonder if System.err always refers to the real STDERR or +> if really gets reassigned with the setErr call. It's easy to find out... +> > +> >At 23:20 12.03.2001 +0000, Joseph Panico wrote: +> >>Of course log4j is completely bug free, but that doesn't +> preclude user error. For instance, I neglected to add appenders +> in my config file (actually I intentionally left them out, +> thinking that would simply turn off logging) and then log4j went +> into an infinite loop. The setPrintStream makes sense to me. +> >> +> >>joe +> >> +> >> +> >>>From: Jim Moore <jim.moore@veritas.com> +> >>>Reply-To: "LOG4J Users Mailing List" <log4j-user@jakarta.apache.org> +> >>>To: 'LOG4J Users Mailing List' <log4j-user@jakarta.apache.org> +> >>>Subject: RE: diverting System.stderr/stdout into log4j +> >>>Date: Mon, 12 Mar 2001 18:10:37 -0500 +> >>> +> >>>It doesn't. I haven't worried about it, since log4j doesn't +> contain any +> >>>bugs and therefore it would never happen... :) +> >>> +> >>>Probably the best way to handle it is to add a +> >>>LogLog.setPrintStream(PrintStream) method, so you can do +> something like: +> >>> +> >>>// remember STDERR +> >>>PrintStream se = System.err; +> >>> +> >>>// make sure everything sent to System.err is logged +> >>>System.setErr(new PrintStream(new +> LoggingOutputStream(Category.getRoot(), +> >>> Priority.WARN), true)); +> >>> +> >>>// make sure everything sent to System.out is also logged +> >>>System.setOut(new PrintStream(new +> LoggingOutputStream(Category.getRoot(), +> >>> Priority.INFO), true)); +> >>> +> >>>// prevent infinate recursion in LogLog +> >>>LogLog.setPrintStream(se); +> >>> +> >>> +> >>>I can't think of any other way to do it in the current version besides +> >>>getting extremely kludgey by checking the stack to see if it's +> being called +> >>>from LogLog and logging out the the "real" STDERR then in the +> >>>LoggingOutputStream. It can be done on the theory that LogLog +> wouldn't be +> >>>called very often, but still... +> >>> +> >>>-Jim Moore +> >>> +> >>> +> >>>-----Original Message----- +> >>>From: Ceki Gülcü [mailto:cgu@qos.ch] +> >>>Sent: Monday, March 12, 2001 5:15 PM +> >>>To: LOG4J Users Mailing List +> >>>Subject: RE: diverting System.stderr/stdout into log4j +> >>> +> >>> +> >>>Jim, Joseph, +> >>> +> >>>Here is a link containing Jim's code: +> >>> +> >>>http://marc.theaimsgroup.com/?l=log4j-user&m=98097669218571&w=2 +> >>> +> >>>How does this code handle the infinite recursion problem mentioned by +> >>>Joseph? Ceki +> >>> +> >>>At 17:03 12.03.2001 -0500, Jim Moore wrote: +> >>>>Go to the mailing list archives (theAimsGroup.com is the +> best) and search +> >>>>for the thread with the subject of "Capturing System.err" +> >>>> +> >>>>-Jim Moore +> >>>>"I think so, Brain; but if we gave peas a chance, won't the +> lima beans get +> >>>>jealous?" - Pinky +> >>>> +> >>>> +> >>>>-----Original Message----- +> >>>>From: Joseph Panico [mailto:joe_panico@hotmail.com] +> >>>>Sent: Monday, March 12, 2001 4:43 PM +> >>>>To: log4j-user@jakarta.apache.org +> >>>>Subject: diverting System.stderr/stdout into log4j +> >>>> +> >>>> +> >>>>Folks, +> >>>> +> >>>>We use a number of third-party packages that do +> stderr.print... at various +> >>>>random places in their code. I'm finding it quite useful to +> divert these +> >>>>messages into our log4j heirarchy. I do this by replacing +> stderr/stdout +> >>>with +> >>>> +> >>>>my own PrintStreams that log the lines to a special log4j +> Category-- as +> >>>>suggested on this list a while back. The only +> fly-in-the-ointment with this +> >>> +> >>>>scheme is LogLog. If there is a problem with log4j such that +> it cannot log +> >>>>for some reason, then log4j internals use LogLog to attempt +> to print an +> >>>>error message. This obviously leads to an infinite recursion. +> Has anyone +> >>>>else been bothered by this? Would it make sense to add +> interface to LogLog +> >>>>which would set the PrintStream it uses to log its error messages to? +> >>>> +> >>>>thanks for any ideas +> >>>> +> >>>>joe + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/CompositeRollingAppender.java b/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/CompositeRollingAppender.java new file mode 100644 index 00000000000..3957f1658e2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/CompositeRollingAppender.java @@ -0,0 +1,707 @@ +package org.apache.log4j; + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import org.apache.log4j.RollingCalendar; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.helpers.QuietWriter; +import org.apache.log4j.helpers.CountingQuietWriter; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.spi.LoggingEvent; + +import java.util.Date; +import java.io.IOException; +import java.io.Writer; +import java.text.SimpleDateFormat; +import java.io.File; +import java.io.FilenameFilter; + +/** + * <p>CompositeRollingAppender combines RollingFileAppender and DailyRollingFileAppender<br> + * It can function as either or do both at the same time (making size + * based rolling files like RollingFileAppender until a data/time boundary + * is crossed at which time it rolls all of those files as per the DailyRollingFileAppender) + * based on the setting for <code>rollingStyle</code>.<br> + * <br> + * To use CompositeRollingAppender to roll log files as they reach a certain + * size (like RollingFileAppender), set rollingStyle=1 (@see config.size)<br> + * To use CompositeRollingAppender to roll log files at certain time intervals + * (daily for example), set rollingStyle=2 and a datePattern (@see config.time)<br> + * To have CompositeRollingAppender roll log files at a certain size AND rename those + * according to time intervals, set rollingStyle=3 (@see config.composite)<br> + * + * <p>A of few additional optional features have been added:<br> + * -- Attach date pattern for current log file (@see staticLogFileName)<br> + * -- Backup number increments for newer files (@see countDirection)<br> + * -- Infinite number of backups by file size (@see maxSizeRollBackups)<br> + * <br> + * <p>A few notes and warnings: For large or infinite number of backups + * countDirection > 0 is highly recommended, with staticLogFileName = false if + * time based rolling is also used -- this will reduce the number of file renamings + * to few or none. Changing staticLogFileName or countDirection without clearing + * the directory could have nasty side effects. If Date/Time based rolling + * is enabled, CompositeRollingAppender will attempt to roll existing files + * in the directory without a date/time tag based on the last modified date + * of the base log files last modification.<br> + * <br> + * <p>A maximum number of backups based on date/time boundries would be nice + * but is not yet implemented.<br> + * + * @author Kevin Steppe + * @author Heinz Richter + * @author Eirik Lygre + * @author Ceki G&uuml;lc&uuml; + */ +public class CompositeRollingAppender extends org.apache.log4j.FileAppender +{ + // The code assumes that the following 'time' constants are in a increasing + // sequence. + static final int TOP_OF_TROUBLE=-1; + static final int TOP_OF_MINUTE = 0; + static final int TOP_OF_HOUR = 1; + static final int HALF_DAY = 2; + static final int TOP_OF_DAY = 3; + static final int TOP_OF_WEEK = 4; + static final int TOP_OF_MONTH = 5; + + /** Style of rolling to use */ + static final int BY_SIZE = 1; + static final int BY_DATE = 2; + static final int BY_COMPOSITE = 3; + + //Not currently used + static final String S_BY_SIZE = "Size"; + static final String S_BY_DATE = "Date"; + static final String S_BY_COMPOSITE = "Composite"; + + /** + The date pattern. By default, the pattern is set to + "'.'yyyy-MM-dd" meaning daily rollover. + */ + private String datePattern = "'.'yyyy-MM-dd"; + + /** The actual formatted filename that is currently being written to + or will be the file transferred to on roll over + (based on staticLogFileName). */ + private String scheduledFilename = null; + + /** The timestamp when we shall next recompute the filename. */ + private long nextCheck = System.currentTimeMillis () - 1; + + /** Holds date of last roll over */ + Date now = new Date(); + + SimpleDateFormat sdf; + + /** Helper class to determine next rollover time */ + RollingCalendar rc = new RollingCalendar(); + + /** Current period for roll overs */ + int checkPeriod = TOP_OF_TROUBLE; + + /** The default maximum file size is 10MB. */ + protected long maxFileSize = 10*1024*1024; + + /** There is zero backup files by default. */ + protected int maxSizeRollBackups = 0; + /** How many sized based backups have been made so far */ + protected int curSizeRollBackups = 0; + + /** not yet implemented */ + protected int maxTimeRollBackups = -1; + protected int curTimeRollBackups = 0; + + /** By default newer files have lower numbers. (countDirection < 0) + * ie. log.1 is most recent, log.5 is the 5th backup, etc... + * countDirection > 0 does the opposite ie. + * log.1 is the first backup made, log.5 is the 5th backup made, etc. + * For infinite backups use countDirection > 0 to reduce rollOver costs. + */ + protected int countDirection = -1; + + /** Style of rolling to Use. BY_SIZE (1), BY_DATE(2), BY COMPOSITE(3) */ + protected int rollingStyle = BY_COMPOSITE; + protected boolean rollDate = true; + protected boolean rollSize = true; + + /** By default file.log is always the current file. Optionally + * file.log.yyyy-mm-dd for current formated datePattern can by the currently + * logging file (or file.log.curSizeRollBackup or even + * file.log.yyyy-mm-dd.curSizeRollBackup) This will make time based roll + * overs with a large number of backups much faster -- it won't have to + * rename all the backups! + */ + protected boolean staticLogFileName = true; + + /** FileName provided in configuration. Used for rolling properly */ + protected String baseFileName; + + /** The default constructor does nothing. */ + public CompositeRollingAppender() { + } + + /** + Instantiate a <code>CompositeRollingAppender</code> and open the + file designated by <code>filename</code>. The opened filename will + become the ouput destination for this appender. + */ + public CompositeRollingAppender (Layout layout, String filename, + String datePattern) throws IOException { + this(layout, filename, datePattern, true); + } + + /** + Instantiate a CompositeRollingAppender and open the file designated by + <code>filename</code>. The opened filename will become the ouput + destination for this appender. + + <p>If the <code>append</code> parameter is true, the file will be + appended to. Otherwise, the file desginated by + <code>filename</code> will be truncated before being opened. + */ + public CompositeRollingAppender(Layout layout, String filename, boolean append) + throws IOException { + super(layout, filename, append); + } + + /** + Instantiate a CompositeRollingAppender and open the file designated by + <code>filename</code>. The opened filename will become the ouput + destination for this appender. + */ + public CompositeRollingAppender (Layout layout, String filename, + String datePattern, boolean append) throws IOException { + super(layout, filename, append); + this.datePattern = datePattern; + activateOptions(); + } + /** + Instantiate a CompositeRollingAppender and open the file designated by + <code>filename</code>. The opened filename will become the output + destination for this appender. + + <p>The file will be appended to. DatePattern is default. + */ + public CompositeRollingAppender(Layout layout, String filename) throws IOException { + super(layout, filename); + } + + /** + The <b>DatePattern</b> takes a string in the same format as + expected by {@link SimpleDateFormat}. This options determines the + rollover schedule. + */ + public void setDatePattern(String pattern) { + datePattern = pattern; + } + + /** Returns the value of the <b>DatePattern</b> option. */ + public String getDatePattern() { + return datePattern; + } + + /** + Returns the value of the <b>maxSizeRollBackups</b> option. + */ + public int getMaxSizeRollBackups() { + return maxSizeRollBackups; + } + + /** + Get the maximum size that the output file is allowed to reach + before being rolled over to backup files. + + @since 1.1 + */ + public long getMaximumFileSize() { + return maxFileSize; + } + + /** + <p>Set the maximum number of backup files to keep around based on file size. + + <p>The <b>MaxSizeRollBackups</b> option determines how many backup + files are kept before the oldest is erased. This option takes + an integer value. If set to zero, then there will be no + backup files and the log file will be truncated when it reaches + <code>MaxFileSize</code>. If a negative number is supplied then + no deletions will be made. Note that this could result in + very slow performance as a large number of files are rolled over unless + {@link #setCountDirection} up is used. + + <p>The maximum applys to -each- time based group of files and -not- the total. + Using a daily roll the maximum total files would be (#days run) * (maxSizeRollBackups) + + */ + public void setMaxSizeRollBackups(int maxBackups) { + maxSizeRollBackups = maxBackups; + } + + /** + Set the maximum size that the output file is allowed to reach + before being rolled over to backup files. + + <p>This method is equivalent to {@link #setMaxFileSize} except + that it is required for differentiating the setter taking a + <code>long</code> argument from the setter taking a + <code>String</code> argument by the JavaBeans {@link + java.beans.Introspector Introspector}. + + @see #setMaxFileSize(String) + */ + public void setMaxFileSize(long maxFileSize) { + this.maxFileSize = maxFileSize; + } + + /** + Set the maximum size that the output file is allowed to reach + before being rolled over to backup files. + + <p>This method is equivalent to {@link #setMaxFileSize} except + that it is required for differentiating the setter taking a + <code>long</code> argument from the setter taking a + <code>String</code> argument by the JavaBeans {@link + java.beans.Introspector Introspector}. + + @see #setMaxFileSize(String) + */ + public void setMaximumFileSize(long maxFileSize) { + this.maxFileSize = maxFileSize; + } + + /** + Set the maximum size that the output file is allowed to reach + before being rolled over to backup files. + + <p>In configuration files, the <b>MaxFileSize</b> option takes an + long integer in the range 0 - 2^63. You can specify the value + with the suffixes "KB", "MB" or "GB" so that the integer is + interpreted being expressed respectively in kilobytes, megabytes + or gigabytes. For example, the value "10KB" will be interpreted + as 10240. + */ + public void setMaxFileSize(String value) { + maxFileSize = OptionConverter.toFileSize(value, maxFileSize + 1); + } + + protected void setQWForFiles(Writer writer) { + qw = new CountingQuietWriter(writer, errorHandler); + } + + //Taken verbatum from DailyRollingFileAppender + int computeCheckPeriod() { + RollingCalendar c = new RollingCalendar(); + // set sate to 1970-01-01 00:00:00 GMT + Date epoch = new Date(0); + if(datePattern != null) { + for(int i = TOP_OF_MINUTE; i <= TOP_OF_MONTH; i++) { + String r0 = sdf.format(epoch); + c.setType(i); + Date next = new Date(c.getNextCheckMillis(epoch)); + String r1 = sdf.format(next); + //LogLog.debug("Type = "+i+", r0 = "+r0+", r1 = "+r1); + if(r0 != null && r1 != null && !r0.equals(r1)) { + return i; + } + } + } + return TOP_OF_TROUBLE; // Deliberately head for trouble... + } + + //Now for the new stuff + /** + * Handles append time behavior for CompositeRollingAppender. This checks + * if a roll over either by date (checked first) or time (checked second) + * is need and then appends to the file last. + */ + protected void subAppend(LoggingEvent event) { + + if (rollDate) { + long n = System.currentTimeMillis(); + if (n >= nextCheck) { + now.setTime(n); + nextCheck = rc.getNextCheckMillis(now); + + rollOverTime(); + } + } + + if (rollSize) { + if ((fileName != null) && ((CountingQuietWriter) qw).getCount() >= maxFileSize) { + rollOverSize(); + } + } + + super.subAppend(event); + } + + public void setFile(String file) + { + baseFileName = file.trim(); + fileName = file.trim(); + } + + /** + * Creates and opens the file for logging. If <code>staticLogFileName</code> + * is false then the fully qualified name is determined and used. + */ + public synchronized void setFile(String fileName, boolean append) throws IOException { + if (!staticLogFileName) { + scheduledFilename = fileName = fileName.trim() + sdf.format(now); + if (countDirection > 0) { + scheduledFilename = fileName = fileName + '.' + (++curSizeRollBackups); + } + } + + super.setFile(fileName, append); + if(append) { + File f = new File(fileName); + ((CountingQuietWriter) qw).setCount(f.length()); + } + } + + public int getCountDirection() { + return countDirection; + } + + public void setCountDirection(int direction) { + countDirection = direction; + } + + public int getRollingStyle () { + return rollingStyle; + } + + public void setRollingStyle(int style) { + rollingStyle = style; + switch (rollingStyle) { + case BY_SIZE: + rollDate = false; + rollSize = true; + break; + case BY_DATE: + rollDate = true; + rollSize = false; + break; + case BY_COMPOSITE: + rollDate = true; + rollSize = true; + break; + default: + errorHandler.error("Invalid rolling Style, use 1 (by size only), 2 (by date only) or 3 (both)"); + } + } + +/* + public void setRollingStyle(String style) { + if (style == S_BY_SIZE) { + rollingStyle = BY_SIZE; + } + else if (style == S_BY_DATE) { + rollingStyle = BY_DATE; + } + else if (style == S_BY_COMPOSITE) { + rollingStyle = BY_COMPOSITE; + } + } +*/ + public boolean getStaticLogFileName() { + return staticLogFileName; + } + + public void setStaticLogFileName(boolean s) { + staticLogFileName = s; + } + + public void setStaticLogFileName(String value) { + setStaticLogFileName(OptionConverter.toBoolean(value, true)); + } + + /** + * Initializes based on exisiting conditions at time of <code> + * activateOptions</code>. The following is done:<br> + * <br> + * A) determine curSizeRollBackups<br> + * B) determine curTimeRollBackups (not implemented)<br> + * C) initiates a roll over if needed for crossing a date boundary since + * the last run. + */ + protected void existingInit() { + + curSizeRollBackups = 0; + curTimeRollBackups = 0; + + //part A starts here + String filter; + if (staticLogFileName || !rollDate) { + filter = baseFileName + ".*"; + } + else { + filter = scheduledFilename + ".*"; + } + + File f = new File(baseFileName); + f = f.getParentFile(); + if (f == null) + f = new File("."); + + LogLog.debug("Searching for existing files in: " + f); + String[] files = f.list(); + + if (files != null) { + for (int i = 0; i < files.length; i++) { + if (!files[i].startsWith(baseFileName)) + continue; + + int index = files[i].lastIndexOf("."); + + if (staticLogFileName) { + int endLength = files[i].length() - index; + if (baseFileName.length() + endLength != files[i].length()) { + //file is probably scheduledFilename + .x so I don't care + continue; + } + } + + try { + int backup = Integer.parseInt(files[i].substring(index + 1, files[i].length())); + LogLog.debug("From file: " + files[i] + " -> " + backup); + if (backup > curSizeRollBackups) + curSizeRollBackups = backup; + } + catch (Exception e) { + //this happens when file.log -> file.log.yyyy-mm-dd which is normal + //when staticLogFileName == false + LogLog.debug("Encountered a backup file not ending in .x " + files[i]); + } + } + } + LogLog.debug("curSizeRollBackups starts at: " + curSizeRollBackups); + //part A ends here + + //part B not yet implemented + + //part C + if (staticLogFileName && rollDate) { + File old = new File(baseFileName); + if (old.exists()) { + Date last = new Date(old.lastModified()); + if (!(sdf.format(last).equals(sdf.format(now)))) { + scheduledFilename = baseFileName + sdf.format(last); + LogLog.debug("Initial roll over to: " + scheduledFilename); + rollOverTime(); + } + } + } + LogLog.debug("curSizeRollBackups after rollOver at: " + curSizeRollBackups); + //part C ends here + + } + + /** + * Sets initial conditions including date/time roll over information, first check, + * scheduledFilename, and calls <code>existingInit</code> to initialize + * the current # of backups. + */ + public void activateOptions() { + + //REMOVE removed rollDate from boolean to enable Alex's change + if(datePattern != null) { + now.setTime(System.currentTimeMillis()); + sdf = new SimpleDateFormat(datePattern); + int type = computeCheckPeriod(); + //printPeriodicity(type); + rc.setType(type); + //next line added as this removes the name check in rollOver + nextCheck = rc.getNextCheckMillis(now); + } else { + if (rollDate) + LogLog.error("Either DatePattern or rollingStyle options are not set for ["+ + name+"]."); + } + + existingInit(); + + super.activateOptions(); + + if (rollDate && fileName != null && scheduledFilename == null) + scheduledFilename = fileName + sdf.format(now); + } + + /** + Rollover the file(s) to date/time tagged file(s). + Opens the new file (through setFile) and resets curSizeRollBackups. + */ + protected void rollOverTime() { + + curTimeRollBackups++; + + //delete the old stuff here + + if (staticLogFileName) { + /* Compute filename, but only if datePattern is specified */ + if (datePattern == null) { + errorHandler.error("Missing DatePattern option in rollOver()."); + return; + } + + //is the new file name equivalent to the 'current' one + //something has gone wrong if we hit this -- we should only + //roll over if the new file will be different from the old + String dateFormat = sdf.format(now); + if (scheduledFilename.equals(fileName + dateFormat)) { + errorHandler.error("Compare " + scheduledFilename + " : " + fileName + dateFormat); + return; + } + + // close current file, and rename it to datedFilename + this.closeFile(); + + //we may have to roll over a large number of backups here + String from, to; + for (int i = 1; i <= curSizeRollBackups; i++) { + from = fileName + '.' + i; + to = scheduledFilename + '.' + i; + rollFile(from, to); + } + + rollFile(fileName, scheduledFilename); + } + + try { + // This will also close the file. This is OK since multiple + // close operations are safe. + curSizeRollBackups = 0; //We're cleared out the old date and are ready for the new + + //new scheduled name + scheduledFilename = fileName + sdf.format(now); + this.setFile(baseFileName, false); + } + catch(IOException e) { + errorHandler.error("setFile("+fileName+", false) call failed."); + } + + } + + /** Renames file <code>from</code> to file <code>to</code>. It + * also checks for existence of target file and deletes if it does. + */ + protected static void rollFile(String from, String to) { + File target = new File(to); + if (target.exists()) { + LogLog.debug("deleting existing target file: " + target); + target.delete(); + } + + File file = new File(from); + file.renameTo(target); + LogLog.debug(from +" -> "+ to); + } + + /** Delete's the specified file if it exists */ + protected static void deleteFile(String fileName) { + File file = new File(fileName); + if (file.exists()) { + file.delete(); + } + } + + /** + Implements roll overs base on file size. + + <p>If the maximum number of size based backups is reached + (<code>curSizeRollBackups == maxSizeRollBackups</code) then the oldest + file is deleted -- it's index determined by the sign of countDirection.<br> + If <code>countDirection</code> < 0, then files + {<code>File.1</code>, ..., <code>File.curSizeRollBackups -1</code>} + are renamed to {<code>File.2</code>, ..., + <code>File.curSizeRollBackups</code>}. Moreover, <code>File</code> is + renamed <code>File.1</code> and closed.<br> + + A new file is created to receive further log output. + + <p>If <code>maxSizeRollBackups</code> is equal to zero, then the + <code>File</code> is truncated with no backup files created. + + <p>If <code>maxSizeRollBackups</code> < 0, then <code>File</code> is + renamed if needed and no files are deleted. + */ + + // synchronization not necessary since doAppend is alreasy synched + protected void rollOverSize() { + File file; + + this.closeFile(); // keep windows happy. + + LogLog.debug("rolling over count=" + ((CountingQuietWriter) qw).getCount()); + LogLog.debug("maxSizeRollBackups = " + maxSizeRollBackups); + LogLog.debug("curSizeRollBackups = " + curSizeRollBackups); + LogLog.debug("countDirection = " + countDirection); + + // If maxBackups <= 0, then there is no file renaming to be done. + if (maxSizeRollBackups != 0) { + + if (countDirection < 0) { + // Delete the oldest file, to keep Windows happy. + if (curSizeRollBackups == maxSizeRollBackups) { + deleteFile(fileName + '.' + maxSizeRollBackups); + curSizeRollBackups--; + } + + // Map {(maxBackupIndex - 1), ..., 2, 1} to {maxBackupIndex, ..., 3, 2} + for (int i = curSizeRollBackups; i >= 1; i--) { + rollFile((fileName + "." + i), (fileName + '.' + (i + 1))); + } + + curSizeRollBackups++; + // Rename fileName to fileName.1 + rollFile(fileName, fileName + ".1"); + + } //REMOVE This code branching for Alexander Cerna's request + else if (countDirection == 0) { + //rollFile based on date pattern + curSizeRollBackups++; + now.setTime(System.currentTimeMillis()); + scheduledFilename = fileName + sdf.format(now); + rollFile(fileName, scheduledFilename); + } + else { //countDirection > 0 + if (curSizeRollBackups >= maxSizeRollBackups && maxSizeRollBackups > 0) { + //delete the first and keep counting up. + int oldestFileIndex = curSizeRollBackups - maxSizeRollBackups + 1; + deleteFile(fileName + '.' + oldestFileIndex); + } + + if (staticLogFileName) { + curSizeRollBackups++; + rollFile(fileName, fileName + '.' + curSizeRollBackups); + } + } + } + + try { + // This will also close the file. This is OK since multiple + // close operations are safe. + this.setFile(baseFileName, false); + } + catch(IOException e) { + LogLog.error("setFile("+fileName+", false) call failed.", e); + } + } + +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/JDBCTest.java b/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/JDBCTest.java new file mode 100644 index 00000000000..8df3d18a23a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/JDBCTest.java @@ -0,0 +1,97 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.varia.test; + + +import org.apache.log4j.varia.JDBCAppender; +import org.apache.log4j.*; + + +public class JDBCTest +{ + public static void main (String argv[]) + { + try { + Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); + } + catch (Exception e) + { + e.printStackTrace(); + System.out.println(e.toString()); + } + + + Category rootLog = Category.getRoot(); + Layout layout = new PatternLayout("%p [%t] %c - %m%n"); + JDBCAppender appender = new JDBCAppender(); + appender.setLayout(layout); + appender.setOption(JDBCAppender.URL_OPTION, "jdbc:odbc:someDB"); + + + appender.setOption(JDBCAppender.USER_OPTION, "auser"); + appender.setOption(JDBCAppender.PASSWORD_OPTION, "thepassword"); + + + + rootLog.addAppender(appender); + + + try { + Category log = Category.getInstance("main"); + log.debug("Debug 1"); + Thread.sleep(500); + log.info("info 1"); + Thread.sleep(500); + log.warn("warn 1"); + Thread.sleep(500); + log.error("error 1"); + Thread.sleep(500); + log.fatal("fatal 1"); + Thread.sleep(500); + + + appender.setOption(JDBCAppender.BUFFER_OPTION, "5"); + log.debug("Debug 2"); + Thread.sleep(500); + log.info("info 2"); + Thread.sleep(500); + log.warn("warn 2"); + Thread.sleep(500); + log.error("error 2"); + Thread.sleep(500); + log.fatal("fatal 2"); + Thread.sleep(500); + + + appender.setOption(JDBCAppender.BUFFER_OPTION, "2"); + appender.setThreshold(Priority.WARN); + log.debug("Debug 3"); + Thread.sleep(500); + log.info("info 3"); + Thread.sleep(500); + log.warn("warn 3"); + Thread.sleep(500); + log.error("error 3"); + Thread.sleep(500); + log.fatal("fatal 3"); + } + catch (InterruptedException e) + { + System.out.println("Interrupted"); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/mail-2001-02-01 b/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/mail-2001-02-01 new file mode 100644 index 00000000000..0d6c9476244 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/mail-2001-02-01 @@ -0,0 +1,559 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +Delivered-To: urba-cgu@urbanet.ch +Mailing-List: contact log4j-user-help@jakarta.apache.org; run by ezmlm +List-Post: <mailto:log4j-user@jakarta.apache.org> +List-Help: <mailto:log4j-user-help@jakarta.apache.org> +List-Unsubscribe: <mailto:log4j-user-unsubscribe@jakarta.apache.org> +List-Subscribe: <mailto:log4j-user-subscribe@jakarta.apache.org> +Reply-To: "LOG4J Users Mailing List" <log4j-user@jakarta.apache.org> +Delivered-To: mailing list log4j-user@jakarta.apache.org +Date: Thu, 01 Feb 2001 14:26:34 -0800 +From: Kevin Steppe <ksteppe@pacbell.net> +X-Mailer: Mozilla 4.76 [en] (Windows NT 5.0; U) +X-Accept-Language: en +To: LOG4J Users Mailing List <log4j-user@jakarta.apache.org> +Subject: JDBC Appender +X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N + + +Ok, here it is. Since there will be differences in database schemas and +connection/execution methods, I wrote this with the intention that those +parts would be overriden by subclasses (that's what I'm doing for my +company), however it will work as is if you have a stored procedure +spLog @msg. I'm sure there are optimizations which could be done. + + +The code for org.apache.log4j.varia.JDBCAppender and +org.apache.log4j.varia.test.JDBCTest follow and files attached. At the +bottem is the SQL I used to test this on M$ SQL-Server. + + +I help this proves useful, +Kevin + + + + +package org.apache.log4j.varia; + + +import org.apache.log4j.*; +import org.apache.log4j.spi.*; + + +import java.util.List; +import java.util.ArrayList; +import java.util.Iterator; + + +import java.sql.DriverManager; +import java.sql.Connection; +import java.sql.Statement; +import java.sql.SQLException; + + +/** + * Contribution from MD Data Direct. + * + * Implements an ArrayList buffer before storing messages to the DB. + * Override getSQL to fit your database schema (or implement spLog msg +on your DB) + * Override executeSQL to modify how DB connection and SQL execution is +made. + * + * @author: Kevin Steppe + */ +public class JDBCAppender extends org.apache.log4j.AppenderSkeleton + implements org.apache.log4j.Appender +{ + protected String databaseURL = "jdbc:odbc:myDB"; + protected String databaseUser = "me"; + protected String databasePassword = "mypassword"; + + + public static final String URL_OPTION = "URL"; + public static final String USER_OPTION = "User"; + public static final String PASSWORD_OPTION = "Password"; + public static final String BUFFER_OPTION = "Buffer"; + protected int bufferSize = 1; + protected List buffer; + + + public JDBCAppender() + { + super(); + buffer = new ArrayList(); + } + + + public void append(LoggingEvent event) + { + buffer.add(event); + + + if (buffer.size() >= bufferSize) + flushBuffer(); + } + + + public void close() + { + flushBuffer(); + this.closed = true; + } + + + public void setOption(String key, String value) + { + super.setOption(key, value); + + + if (key.equalsIgnoreCase(URL_OPTION)) + databaseURL = value; + else if (key.equalsIgnoreCase(USER_OPTION)) + databaseUser = value; + else if (key.equalsIgnoreCase(PASSWORD_OPTION)) + databasePassword = value; + else if (key.equalsIgnoreCase(BUFFER_OPTION)) + bufferSize = Integer.parseInt(value); + } + + + /** + * Override this to create the SQL needed for your DB schema + */ + protected String getSQL(LoggingEvent event) + { + String msg = this.layout.format(event); + String sql = "spLog '" + msg + "'"; + return sql; + } + + + /** + * Override this to provide an alertnate method of getting +connections (such as caching) + * This implementation creates a new connection and statement for +every execution which + * is very wastefull. One method to fix this is to open connections +at the start of + * flushBuffer() and close them at the end. MD Data uses a +connection pool outside + * of JDBCAppender which is accessed in the override of this method. + + + */ + protected void executeSQL(String sql) throws SQLException + { + Connection con = null; + Statement stmt = null; + + + try { + con = DriverManager.getConnection(databaseURL, databaseUser, +databasePassword); + stmt = con.createStatement(); + stmt.executeUpdate(sql); + } + catch (SQLException e) + { + if (con != null) + con.close(); + if (stmt != null) + stmt.close(); + + + throw e; + } + stmt.close(); + con.close(); + } + + + public void flushBuffer() + { + //Do the actual logging + for (Iterator i = buffer.iterator(); i.hasNext();) + { + try { + String sql = getSQL((LoggingEvent)i.next()); + executeSQL(sql); + } + catch (SQLException e) + { + errorHandler.error("Failed to excute sql", e, +ErrorCode.FLUSH_FAILURE); + } + } + buffer.clear(); + } + + + public void finalize() + { + close(); + } + + + public boolean requiresLayout() + { + return true; + } + + +} + + + +package org.apache.log4j.varia.test; + + +import org.apache.log4j.varia.JDBCAppender; +import org.apache.log4j.*; + + +public class JDBCTest +{ + public static void main (String argv[]) + { + try { + Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); + } + catch (Exception e) + { + e.printStackTrace(); + System.out.println(e.toString()); + } + + + Category rootLog = Category.getRoot(); + Layout layout = new PatternLayout("%p [%t] %c - %m%n"); + JDBCAppender appender = new JDBCAppender(); + appender.setLayout(layout); + appender.setOption(JDBCAppender.URL_OPTION, "jdbc:odbc:someDB"); + + + appender.setOption(JDBCAppender.USER_OPTION, "auser"); + appender.setOption(JDBCAppender.PASSWORD_OPTION, "thepassword"); + + + + rootLog.addAppender(appender); + + + try { + Category log = Category.getInstance("main"); + log.debug("Debug 1"); + Thread.sleep(500); + log.info("info 1"); + Thread.sleep(500); + log.warn("warn 1"); + Thread.sleep(500); + log.error("error 1"); + Thread.sleep(500); + log.fatal("fatal 1"); + Thread.sleep(500); + + + appender.setOption(JDBCAppender.BUFFER_OPTION, "5"); + log.debug("Debug 2"); + Thread.sleep(500); + log.info("info 2"); + Thread.sleep(500); + log.warn("warn 2"); + Thread.sleep(500); + log.error("error 2"); + Thread.sleep(500); + log.fatal("fatal 2"); + Thread.sleep(500); + + + appender.setOption(JDBCAppender.BUFFER_OPTION, "2"); + appender.setThreshold(Priority.WARN); + log.debug("Debug 3"); + Thread.sleep(500); + log.info("info 3"); + Thread.sleep(500); + log.warn("warn 3"); + Thread.sleep(500); + log.error("error 3"); + Thread.sleep(500); + log.fatal("fatal 3"); + } + catch (InterruptedException e) + { + System.out.println("Interrupted"); + } + } +} + + + +drop table JDBCAppenderTest +go +create table JDBCAppenderTest (EventID int identity, entrytime datetime, +message varchar(255)) + + +drop procedure spLog +go +create procedure spLog (@msg varchar(255)) as + insert into JDBCAppenderTest (message, entrytime) values (@msg, +getdate()) + + +select * from JDBCAppenderTest + + + +drop table JDBCAppenderTest +go +create table JDBCAppenderTest (EventID int identity, entrytime datetime, message varchar(255)) + + +drop procedure spLog +go +create procedure spLog (@msg varchar(255)) as + insert into JDBCAppenderTest (message, entrytime) values (@msg, getdate()) + + +select * from JDBCAppenderTest +package org.apache.log4j.varia; + + +import org.apache.log4j.*; +import org.apache.log4j.spi.*; + + +import java.util.List; +import java.util.ArrayList; +import java.util.Iterator; + + +import java.sql.DriverManager; +import java.sql.Connection; +import java.sql.Statement; +import java.sql.SQLException; + + +/** + * Contribution from MD Data Direct. + * + * Implements an ArrayList buffer before storing messages to the DB. + * Override getSQL to fit your database schema (or implement spLog msg on your DB) + * Override executeSQL to modify how DB connection and SQL execution is made. + * + * @author: Kevin Steppe + */ +public class JDBCAppender extends org.apache.log4j.AppenderSkeleton + implements org.apache.log4j.Appender +{ + protected String databaseURL = "jdbc:odbc:myDB"; + protected String databaseUser = "me"; + protected String databasePassword = "mypassword"; + + public static final String URL_OPTION = "URL"; + public static final String USER_OPTION = "User"; + public static final String PASSWORD_OPTION = "Password"; + public static final String BUFFER_OPTION = "Buffer"; + protected int bufferSize = 1; + protected List buffer; + + public JDBCAppender() + { + super(); + buffer = new ArrayList(); + } + + public void append(LoggingEvent event) + { + buffer.add(event); + + if (buffer.size() >= bufferSize) + flushBuffer(); + } + + + public void close() + { + flushBuffer(); + this.closed = true; + } + + + public void setOption(String key, String value) + { + super.setOption(key, value); + + if (key.equalsIgnoreCase(URL_OPTION)) + databaseURL = value; + else if (key.equalsIgnoreCase(USER_OPTION)) + databaseUser = value; + else if (key.equalsIgnoreCase(PASSWORD_OPTION)) + databasePassword = value; + else if (key.equalsIgnoreCase(BUFFER_OPTION)) + bufferSize = Integer.parseInt(value); + } + + + /** + * Override this to create the SQL needed for your DB schema + */ + protected String getSQL(LoggingEvent event) + { + String msg = this.layout.format(event); + String sql = "spLog '" + msg + "'"; + System.out.println(sql); //DEBUG + return sql; + } + + /** + * Override this to provide an alertnate method of getting connections (such as caching) + * This implementation creates a new connection and statement for every execution which + * is very wastefull. One method to fix this is to open connections at the start of + * flushBuffer() and close them at the end. MD Data uses a connection pool outside + * of JDBCAppender which is accessed in the override of this method. + */ + protected void executeSQL(String sql) throws SQLException + { + Connection con = null; + Statement stmt = null; + + + try { + con = DriverManager.getConnection(databaseURL, databaseUser, databasePassword); + stmt = con.createStatement(); + stmt.executeUpdate(sql); + } + catch (SQLException e) + { + if (con != null) + con.close(); + if (stmt != null) + stmt.close(); + + throw e; + } + stmt.close(); + con.close(); + } + + public void flushBuffer() + { + //Do the actual logging + for (Iterator i = buffer.iterator(); i.hasNext();) + { + try { + String sql = getSQL((LoggingEvent)i.next()); + executeSQL(sql); + } + catch (SQLException e) + { + errorHandler.error("Failed to excute sql", e, ErrorCode.FLUSH_FAILURE); + } + } + buffer.clear(); + } + + public void finalize() + { + close(); + } + + public boolean requiresLayout() + { + return true; + } + + +}package org.apache.log4j.varia.test; + + +import org.apache.log4j.varia.JDBCAppender; +import org.apache.log4j.*; + + +public class JDBCTest +{ + public static void main (String argv[]) + { + try { + Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); + } + catch (Exception e) + { + e.printStackTrace(); + System.out.println(e.toString()); + } + + Category rootLog = Category.getRoot(); + Layout layout = new PatternLayout("%p [%t] %c - %m%n"); + JDBCAppender appender = new JDBCAppender(); + appender.setLayout(layout); + appender.setOption(JDBCAppender.URL_OPTION, "jdbc:odbc:someDB"); + appender.setOption(JDBCAppender.USER_OPTION, "auser"); + appender.setOption(JDBCAppender.PASSWORD_OPTION, "thepassword"); + + rootLog.addAppender(appender); + + + try { + Category log = Category.getInstance("main"); + log.debug("Debug 1"); + Thread.sleep(500); + log.info("info 1"); + Thread.sleep(500); + log.warn("warn 1"); + Thread.sleep(500); + log.error("error 1"); + Thread.sleep(500); + log.fatal("fatal 1"); + Thread.sleep(500); + + appender.setOption(JDBCAppender.BUFFER_OPTION, "5"); + log.debug("Debug 2"); + Thread.sleep(500); + log.info("info 2"); + Thread.sleep(500); + log.warn("warn 2"); + Thread.sleep(500); + log.error("error 2"); + Thread.sleep(500); + log.fatal("fatal 2"); + Thread.sleep(500); + + + appender.setOption(JDBCAppender.BUFFER_OPTION, "2"); + appender.setThreshold(Priority.WARN); + log.debug("Debug 3"); + Thread.sleep(500); + log.info("info 3"); + Thread.sleep(500); + log.warn("warn 3"); + Thread.sleep(500); + log.error("error 3"); + Thread.sleep(500); + log.fatal("fatal 3"); + } + catch (InterruptedException e) + { + System.out.println("Interrupted"); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/mail-2002-03-27.txt b/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/mail-2002-03-27.txt new file mode 100644 index 00000000000..52e93e59f5d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/KevinSteppe/mail-2002-03-27.txt @@ -0,0 +1,118 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +Received: (qmail 12476 invoked from network); 28 Mar 2002 06:19:49 -0000 +Date: Wed, 27 Mar 2002 22:28:58 -0800 +From: Kevin Steppe <ksteppe@pacbell.net> +Subject: Re: RollingFileAppender and DailyRollingFileAppender +To: Log4J Users List <log4j-user@jakarta.apache.org> +Reply-To: ksteppe@pacbell.net +Message-id: <3CA2B82A.5C366593@pacbell.net> +MIME-version: 1.0 +X-Mailer: Mozilla 4.7 [en] (WinNT; I) +Content-type: multipart/mixed; boundary="Boundary_(ID_TnKsnil+d0oYB9TV0P+fgA)" +X-Accept-Language: en +References: + <8DAB344CC3F3FE42A51FA1A8E295F8682ACD14@tepg-server2.tepgsyd.tycoint.com.au> +X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N + +I wrote a CompositeRollingAppender last August to do that. I'm attaching that +code and some example config files to you separately. + +Ceki... Could you please put these files in the log4j/contribs/KevinSteppe +folder of the available releases? This seems to be coming up occasionally and +it would be more convenient to just point people there. + +Thanks, +Kevin + + +Janusz Dalecki wrote: + +> Is there a way of having the mixture of both RollingFileAppender and +> DailyRollingFileAppender options?. I have a requirement to log daily and +> delete old files weekly. +> Thanks, +> Janusz +> +> -- +> To unsubscribe, e-mail: <mailto:log4j-user-unsubscribe@jakarta.apache.org> +> For additional commands, e-mail: <mailto:log4j-user-help@jakarta.apache.org> + +#Config file for CompositeRollingAppender +#This is an example config to use CompositeRollingAppender in Size based Backups only + +log4j.rootCategory=debug, R +log4j.appender.R=org.apache.log4j.CompositeRollingAppender + +#How to perform rolling -- 1 = By Size +#Note -- this is the only difference from RollingFileAppender! +log4j.appender.R.RollingStyle=1 + +#file to log to +log4j.appender.R.File=example.log + +#Size Rolling params +log4j.appender.R.MaxFileSize=10MB +log4j.appender.R.MaxSizeRollBackups=10 + +#layout options +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n +#Config file for CompositeRollingAppender +#This is an example config to use CompositeRollingAppender in Time based Backups only + +log4j.rootCategory=debug, R +log4j.appender.R=org.apache.log4j.CompositeRollingAppender + +#How to perform rolling -- 2 = By Time +#Note -- this is the only difference from DailyRollingFileAppender! +log4j.appender.R.RollingStyle=2 + +#file to log to +log4j.appender.R.File=example.log + +#Date Rolling params +log4j.appender.R.datePattern='.'yyyy-MM-dd + +#layout options +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n +#Default Config file for CompositeRollingAppender +log4j.rootCategory=debug, R + +log4j.appender.R=org.apache.log4j.CompositeRollingAppender + +#How to perform rolling -- Composite is the default +log4j.appender.R.RollingStyle=3 + +#Use same file name for all inprocess logging? +log4j.appender.R.staticLogFileName=true +log4j.appender.R.File=example.log + +#Size Rolling params +log4j.appender.R.CountDirection=-1 +log4j.appender.R.MaxFileSize=5KB +log4j.appender.R.MaxSizeRollBackups=10 + +#Date Rolling params +log4j.appender.R.datePattern='.'yyyy-MM-dd + +#layout options +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/DatagramStringAppender.java b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/DatagramStringAppender.java new file mode 100644 index 00000000000..f718580880b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/DatagramStringAppender.java @@ -0,0 +1,284 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.DatagramPacket; +import java.net.UnknownHostException; +import java.net.SocketException; + +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.Category; +import org.apache.log4j.Priority; +import org.apache.log4j.Layout; + +import org.apache.log4j.helpers.SingleLineTracerPrintWriter; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.helpers.QuietWriter; + + +/** + Use DatagramStringAppender to send log messages to a remote daemon + which accepts Datagram (UDP) messages. + <p> + The benefits of UDP are that the client is guarunteed not to + slow down if the network or remote log daemon is slow, and that + no permanent TCP connection between client and server exists. + <p> + The disadvantages are that log messages can be lost if the network + or remote daemon are under excessive load. + <p> + This class builts the final message string <b>before</b> sending + the UDP packet, hence the "string" component in the class name. This + means that the receiving application can be written in any language. + The data is transmitted in whatever encoding is specified in the + configuration file; this may be an 8-bit encoding (eg ISO-8859-1, also + known as LATIN-1) or a larger encoding, eg UTF-16. + <p> + An alternative to building the message string within DatagramStringAppender + would be to serialize & send the complete logging event object (perhaps + such a class could be called a DatagramSerialAppender??). The + receiving end could then be configured with appropriate Layout objects + to generate the actual logged messages. This would ensure that the + logging of messages from different sources is done in a consistent + format, and give a central place to configure that format. It would ensure + (by transmitting messages as unicode) that the receiving end could control + the encoding in which the output is generated. It also would possibly allow + he receiving end to use the full log4j flexibility to pass the event to + different appenders at the receiving end, as the category information is + retained, etc. However, this does require that the receiving end is in + java, and that all clients of the logging daemon are java applications. + In contrast, this DatagramStringAppender can send mesages to a log daemon + that accepts messages from a variety of sources. + + @author Simon Kitching + */ +public class DatagramStringAppender extends AppenderSkeleton { + + /** + A string constant used in naming the option for setting the destination + server for messages. Current value of this string constant is + <b>DatagramHost</b>. */ + public static final String DATAGRAM_HOST_OPTION = "DatagramHost"; + + /** + A string constant used in naming the option for setting the destination + port for messages. Current value of this string constant is + <b>DatagramPort</b>. */ + public static final String DATAGRAM_PORT_OPTION = "DatagramPort"; + + /** + A string constant used in naming the option for setting the character + encoding used when generating the log message. Current value of this + string constant is <b>DatagramEncoding</b>. */ + public static final String DATAGRAM_ENCODING_OPTION = "DatagramEncoding"; + + /** + The default value for the "host" attribute, ie the machine to which + messages are sent. Current value of this string constant is + <b>localhost</b>. */ + public static final String DEFAULT_HOST = "localhost"; + + /** + The default value for the "port" attribute, ie the UDP port to which + messages are sent. Current value of this integer constant is + <b>8200</b>. This value was chosen for no particular reason. */ + public static final int DEFAULT_PORT = 8200; + + /** + The default value for the "encoding" attribute, ie the way in which + unicode message strings are converted into a stream of bytes before + their transmission as a UDP packet. The current value of this constant + is <b>null</b>, which means that the default platform encoding will + be used. */ + public static final String DEFAULT_ENCODING = null; + + String host = DEFAULT_HOST; + int port = DEFAULT_PORT; + String encoding = DEFAULT_ENCODING; + + SingleLineTracerPrintWriter stp; + QuietWriter qw; + + public + DatagramStringAppender() { + this.setDestination(DEFAULT_HOST, DEFAULT_PORT, DEFAULT_ENCODING); + } + + public + DatagramStringAppender(Layout layout) { + this.setLayout(layout); + this.setDestination(DEFAULT_HOST, DEFAULT_PORT, DEFAULT_ENCODING); + } + + public + DatagramStringAppender(Layout layout, String host, int port) { + this.setLayout(layout); + this.setDestination(host, port, DEFAULT_ENCODING); + } + + public + DatagramStringAppender(Layout layout, String host, int port, String encoding) { + this.setLayout(layout); + this.setDestination(host, port, encoding); + } + + /** + Release any resources held by this Appender + */ + public + void close() { + closed = true; + // A DatagramWriter is UDP based and needs no opening. Hence, it + // can't be closed. We just unset the variables here. + qw = null; + stp = null; + } + + public + void append(LoggingEvent event) { + if(!isAsSevereAsThreshold(event.priority)) + return; + + // We must not attempt to append if qw is null. + if(qw == null) { + errorHandler.error( + "No host is set for DatagramStringAppender named \"" + + this.name + "\"."); + return; + } + + String buffer = layout.format(event); + qw.write(buffer); + + if(event.throwable != null) + event.throwable.printStackTrace(stp); + else if (event.throwableInformation != null) { + // we must be the receiver of a serialized/deserialized LoggingEvent; + // the event's throwable member is transient, ie becomes null when + // deserialized, but that's ok because throwableInformation should + // have the string equivalent of the same info (ie stack trace) + qw.write(event.throwableInformation); + } + } + + /** + Activate the options set via the setOption method. + + @see #setOption + */ + public + void activateOptions() { + this.setDestination(this.host, this.port, this.encoding); + } + + /** + Returns the option names for this component, namely the string + array consisting of {{@link #DATAGRAM_HOST_OPTION}, {@link + #DATAGRAM_PORT_OPTION}, {@link #DATAGRAM_ENCODING_OPTION} */ + public + String[] getOptionStrings() { + return OptionConverter.concatanateArrays(super.getOptionStrings(), + new String[] { + DATAGRAM_HOST_OPTION, + DATAGRAM_PORT_OPTION, + DATAGRAM_ENCODING_OPTION}); + } + + /** + The DatagramStringAppender requires a layout. Hence, this method return + <code>true</code>. + + @since 0.8.4 */ + public + boolean requiresLayout() { + return true; + } + + /** + Set DatagramStringAppender specific parameters. + <p> + The recognized options are <b>DatagramHost</b>, <b>DatagramPort</b> and + <b>DatagramEncoding</b>, i.e. the values of the string constants + {@link #DATAGRAM_HOST_OPTION}, {@link #DATAGRAM_PORT_OPTION} and + {@link #DATAGRAM_ENCODING_OPTION} respectively. + <p> + <dl> + <p> + <dt><b>DatagramHost</b> + <dd> + The name (or ip address) of the host machine where log output should go. + If the DatagramHost is not set, then this appender will default to + {@link #DEFAULT_HOST}. + <p> + <dt><b>DatagramPort</b> + <dd> + The UDP port number where log output should go. See {@link #DEFAULT_PORT} + <p> + <dt><b>DatagramEncoding</b> + <dd> + The ISO character encoding to be used when converting the Unicode + message to a sequence of bytes within a UDP packet. If not defined, then + the encoding defaults to the default platform encoding. + </dl> + */ + public + void setOption(String option, String value) { + if(value == null) return; + + super.setOption(option, value); + + if(option.equals(DATAGRAM_HOST_OPTION)) + { + this.host = value; + } + else if(option.equals(DATAGRAM_PORT_OPTION)) + { + this.port = OptionConverter.toInt(value, DEFAULT_PORT); + } + else if(option.equals(DATAGRAM_ENCODING_OPTION)) + { + this.encoding = value; + } + } + + public + void setDestination(String host, int port, String encoding) { + if (host==null) { + LogLog.error("setDestination: host is null"); + host = DEFAULT_HOST; + } + + this.host = host; + this.port = port; + this.encoding = encoding; + + this.qw = new QuietWriter( + new DatagramStringWriter(host, port, encoding), + errorHandler); + this.stp = new SingleLineTracerPrintWriter(qw); + } + + public + void setLayout(Layout layout) { + this.layout = layout; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/DatagramStringWriter.java b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/DatagramStringWriter.java new file mode 100644 index 00000000000..01208639996 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/DatagramStringWriter.java @@ -0,0 +1,173 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import java.io.Writer; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.DatagramPacket; +import java.net.UnknownHostException; +import java.net.SocketException; +import java.io.IOException; + +import org.apache.log4j.helpers.LogLog; + +/** + * DatagramStringWriter is a wrapper around the java.net.DatagramSocket class + * so that it behaves like a java.io.Writer. + */ +public class DatagramStringWriter extends Writer { + + static final int SYSLOG_PORT = 514; + + private int port; + private String host; + private String encoding; + private String prefix; + + private InetAddress address; + private DatagramSocket ds; + + /** + * This constructor assumes that it is sending to a remote syslog daemon + * on the normal syslog port (514), and uses the default platform character + * encoding when converting the message string to a byte sequence. + */ + public + DatagramStringWriter(String host) { + this(host, SYSLOG_PORT, null, null); + } + + /** + * This constructor sends messages to the specified host and port, and + * uses the default platform character encoding when converting the message + * string to a byte sequence. + */ + public + DatagramStringWriter(String host, int port) { + this(host, port, null, null); + } + + /** + * This constructor sends messages to the specified host and port, and + * uses the specified character encoding when converting the message + * string to a byte sequence. + */ + public + DatagramStringWriter(String host, int port, String encoding) { + this(host, port, null, null); + } + /** + * This constructor sends messages to the specified host and port, and + * uses the specified character encoding when converting the message + * string to a byte sequence; the specified prefix (which may be null) + * is prepended to each message. + */ + public + DatagramStringWriter(String host, int port, String encoding, String prefix) { + this.host = host; + this.port = port; + this.encoding = encoding; + this.prefix = prefix; + + try { + this.address = InetAddress.getByName(host); + } + catch (UnknownHostException e) { + LogLog.error("Could not find " + host + + ". All logging will FAIL.", e); + } + + try { + this.ds = new DatagramSocket(); + } + catch (SocketException e) { + e.printStackTrace(); + LogLog.error("Could not instantiate DatagramSocket to " + host + + ". All logging will FAIL.", e); + } + } + + + public + void write(char[] buf, int off, int len) throws IOException { + this.write(new String(buf, off, len)); + } + + public + void write(String string) throws IOException { + if (prefix != null) { + string = prefix + string; + } + + byte[] rawData; + if (this.encoding == null) + { + // convert to byte sequence using platform's default encoding + rawData = string.getBytes(); + } + else + { + // convert to specified encoding - which may be sequence of + // 8-bit chars, or multi-byte encodings like UTF-8 or UTF-16. + // The receiving end had better be expecting whatever encoding + // is used here on the sending end! + rawData = string.getBytes(encoding); + } + + DatagramPacket packet = + new DatagramPacket( + rawData, + rawData.length, + address, + port); + + if(this.ds != null) + { + ds.send(packet); + } + else + { + LogLog.error( + "write: failed to create DatagramPacket"); + } + } + + public + void flush() {} + + public + void close() {} + + /** + * Set a string to be prefixed to every message sent by this Writer. + * For example, this method could be used to prepend a syslog + * facility/priority code on the front of each message. + * <p> + * Note that this method is not synchronised, so should not be called in + * a situation where other threads may be logging messages at the same + * moment. + * <p> + * @param prefix may be a prefix string, or null which indicates no + * prefix should be added. + */ + public + void setPrefix(String prefix){ + this.prefix = prefix; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/SingleLineTracerPrintWriter.java b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/SingleLineTracerPrintWriter.java new file mode 100644 index 00000000000..50f8da24d16 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/SingleLineTracerPrintWriter.java @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +/** + SingleLineTracerPrintWriter overrides the println function in + TracerPrintWriter by replacing the TAB character with spaces. + It also does not print the "\n". + <p> + The default format generated by TracerPrintWriter for exceptions + prints on multiple lines, which does not interact well with some + logging systems. On the other hand, a stack-trace on one line can be a + mite difficult to read, so this class should only be used where really + necessary :-) + <p> + For syslog daemons, tabs in messages are not friendly, hence the + replacement of tabs by spaces here. It shouldn't do any harm to + do this for all messages... + <p> + Perhaps it might be better to enhance TracerPrintWriter to have + a configuration item for one-line or multi-line mode... +*/ +public class SingleLineTracerPrintWriter extends TracerPrintWriter { + + static String TAB = " "; + + public SingleLineTracerPrintWriter(QuietWriter qWriter) { + super(qWriter); + } + + /** + Make the first Exception line print properly by omitting the \n at the + end. + */ + public + void println(Object o) { + this.qWriter.write(o.toString()); + } + + // Note: the Char[] form is handled by the TracerPrinterWriter super + // class + + /** + Remove the first character from the string (usually a TAB) and do + not print "\n" + */ + public + void println(String s) { + // remove '^I' and replace it with 4 spaces + this.qWriter.write(TAB+s.substring(1)); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/logconfig.xml b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/logconfig.xml new file mode 100644 index 00000000000..9ff8c097028 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/logconfig.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<configuration configDebug="true"> + + <appender name="STDOUT" class="org.apache.log4j.FileAppender"> + <param name="File" value="System.out" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="aa:%p#%d#%c#%m%n"/> + </layout> + </appender> + + <appender name="UDPVENUS" class="org.apache.log4j.net.DatagramStringAppender"> + <param name="DatagramHost" value="Venus" /> + <param name="DatagramPort" value="8300" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%p#%d#%c#%m"/> + </layout> + <filter class="org.apache.log4j.filters.PriorityRangeFilter"> + <param name="PriorityMin" value="WARN" /> + </filter> + </appender> + + <category name="org.apache.log4j.xml"> + <priority value="INFO" /> + </category> + + <category name="ch"> + <priority value ="DEBUG2" class="ch.orange.log.Priority"/> + </category> + + <category name="script"> + <priority value ="DEBUG2" class="ch.orange.log.Priority"/> + </category> + + <root> + <priority value ="DEBUG2" class="ch.orange.log.Priority"/> + <appender-ref ref="STDOUT" /> + <appender-ref ref="UDPVENUS" /> + </root> + +</configuration> diff --git a/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/mail-2001-02-07 b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/mail-2001-02-07 new file mode 100644 index 00000000000..143e2930e20 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/mail-2001-02-07 @@ -0,0 +1,107 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + + +Delivered-To: urba-cgu@urbanet.ch +Mailing-List: contact log4j-dev-help@jakarta.apache.org; run by ezmlm +List-Post: <mailto:log4j-dev@jakarta.apache.org> +List-Help: <mailto:log4j-dev-help@jakarta.apache.org> +List-Unsubscribe: <mailto:log4j-dev-unsubscribe@jakarta.apache.org> +List-Subscribe: <mailto:log4j-dev-subscribe@jakarta.apache.org> +Reply-To: "LOG4J Developers Mailing List" <log4j-dev@jakarta.apache.org> +Delivered-To: mailing list log4j-dev@jakarta.apache.org +From: Kitching Simon <Simon.Kitching@orange.ch> +To: "'log4j-dev@jakarta.apache.org'" <log4j-dev@jakarta.apache.org> +Subject: PATCH: New classes: DatagramStreamAppender & friends +Date: Wed, 7 Feb 2001 12:41:54 +0100 +X-Mailer: Internet Mail Service (5.5.2650.21) +X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N + + +Hi log4j developers.... + + +Here, for your consideration, is a set of files that +implement an Appender which sends messages +to a remote host/port via UDP (datagram). + + +There was brief discussion of this Appender on the +log4j-user group, about a week ago. Ceki suggested +that the Appender send serialized log event objects +over UDP; while this approach has a number of +advantages, I have decided to instead perform the +message formatting at the client end, mainly so +that: +(a) the UDP server application does not have to be in java +(b) non-java clients can send messages to the same UDP + server. + + +The appender has been named "DatagramStringAppender" +to allow someone to write a serialization-based version at +some later time, if desired, without any name confusion. +------------------------------ +Notes: + + +DatagramStringAppender is based on SyslogAppender, but +with a fair number of changes. + + +DatagramStringWriter is based on SyslogWriter, with a few changes. +In particular, it takes an "encoding" parameter, so that the character +encoding used can be specified, and a "port". + + +SingleLineTracerPrintWriter is almost identical to +SyslogTracerPrintWriter; just the name & some comments +have changed. [I didn't want to call a class called SyslogXXX +from the DatagramStreamAppender classes] +------------------------------ + + +If this patch is accepted, then it may be worth rewriting SyslogAppender +to use the DatagramStringWriter and SingleLineTracerPrintWriter +classes. These classes should be compatible with SyslogAppender, +as they implement the same functionality, or a superset of the +Syslog functionality, and have more "general" names. +------------------------------ + <<DatagramStringAppender.java>> + + + + <<DatagramStringWriter.java>> + + + <<SingleLineTracerPrintWriter.java>> + + +-------------------------------- +And here's a simple perl UDP server, and an xml +config file for testing the appender. + <<logconfig.xml>> + + + <<udpserver.pl>> + + +Regards, + + +Simon diff --git a/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/udpserver.pl b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/udpserver.pl new file mode 100644 index 00000000000..be13d9cbe85 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/KitchingSimon/udpserver.pl @@ -0,0 +1,82 @@ +#!/opt/perl5/bin/perl -w +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +use strict; +use Socket; +use IO::Socket; +use Sys::Hostname; + +main(); +exit(0); + +sub main() +{ + my $MAX_MSG_SIZE = 16384; # 16KBytes should be enough... + + my $svrport = 8300; + my $svriaddr = gethostbyname(hostname()); + my $svrproto = getprotobyname('udp'); + my $svrpaddr = sockaddr_in($svrport, $svriaddr); + + socket(SOCKET, PF_INET, SOCK_DGRAM, $svrproto) || die "socket: $!"; + bind(SOCKET, $svrpaddr) || die "bind: $!"; + + my $rin = ''; + vec($rin, fileno(SOCKET), 1) = 1; + + # timeout after 10.0 seconds + # at some time, I'm going to add signal handlers so that signals can be + # sent to cause logfile rollover, or tidy exit...then the timeout will + # come in useful.. + + my $exit = 0; + while (!$exit) + { + my $rout = $rin; + + # select(readvec, writevec, exceptionvec, timeout) + # : returns # of selected filehandles, modifies + # vector parameters so that set bits indicate + # filehandles which are readable, writable or have + # an exception state + + my $nSelected = select($rout, undef, undef, 10.0); + if ($nSelected == 0) + { + # timedout : go back to start of loop + next; + } + + my $msgData = ''; + my $clientpaddr = recv(SOCKET, $msgData, $MAX_MSG_SIZE, 0); + if (!$clientpaddr) + { + die "recv: $!"; + } + + my ($clientport, $clientiaddr) = sockaddr_in($clientpaddr); + my $clienthost = gethostbyaddr($clientiaddr, AF_INET); + if (!$clienthost) + { + # unable to determine name for client : show raw ip address + $clienthost = inet_ntoa($clientiaddr); + } + + print "$clienthost:$msgData\n"; + } +} + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/LeosLiterak/TempFileAppender.java b/thirdparty/apache-log4j-1.2.16/contribs/LeosLiterak/TempFileAppender.java new file mode 100644 index 00000000000..b0efc8de280 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/LeosLiterak/TempFileAppender.java @@ -0,0 +1,198 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.log4j; + +import java.io.File; +import java.io.Writer; +import java.io.FileWriter; +import java.io.BufferedWriter; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.spi.ErrorHandler; + +/** + TempFileAppender creates new unique file for each logging statement. + + @author <a HREF="mailto:leos.literak@12snap.com">Leos Literak</a> + @author Ceki G&uuml;lc&uuml; + +*/ +public class TempFileAppender extends AppenderSkeleton { + + /** + A string constant used in naming the option for setting the + directory where the log files will be created. Current value + of this string constant is <b>Path</b>. java.io.tmpdir directory + will be used, if ommited. + */ + static final public String PATH_OPTION = "Path"; + + /** + The default path is actual directory. + */ + protected String path = null; + + /** + A string constant used in naming the option for setting the + prefix of the log files. It has to have at least 3 characters! + Current value of this string constant is <b>Prefix</b>. + */ + static final public String PREFIX_OPTION = "Prefix"; + + /** + The default path is actual directory. + */ + protected String prefix = "l4j_"; + + /** + A string constant used in naming the option for setting the + suffix of the log files. Current value of this string constant + is <b>Suffix</b>. + */ + static final public String SUFFIX_OPTION = "Suffix"; + + /** + The default path is actual directory. + */ + protected String suffix = ".tmp"; + + /** + Default dir + */ + + protected File dir = null; + + + + + /** + The default constructor simply calls its parent's constructor. + */ + public TempFileAppender() { + super(); + } + + /** + Retuns the option names for this component + */ + public String[] getOptionStrings() { + return OptionConverter.concatanateArrays(super.getOptionStrings(), + new String[] {PATH_OPTION,PREFIX_OPTION,SUFFIX_OPTION}); + } + + /** + Set TempFileAppender specific options. + + The recognized options are <b>Path</b>, <b>Prefix</b> and <b>Suffix</b>, + i.e. the values of the string constants {@link #PATH_OPTION}, + {@link #PREFIX_OPTION} and respectively {@link #SUFFIX_OPTION}. + The options of the super class {@link AppenderSkeleton} are also + recognized. + */ + + public void setOption(String key, String value) { + super.setOption(key, value); + if(key.equalsIgnoreCase(PATH_OPTION)) { + path = value; + if(path==null) { + errorHandler.error("Path cannot be empty!",null,0); + } + + dir = new File(path); + if(!(dir.exists() && dir.isDirectory() && dir.canWrite())) { + errorHandler.error("Cannot write to directory " + path + "!",null,0); + } + } + else if(key.equalsIgnoreCase(PREFIX_OPTION)) { + if(value!=null && value.length()>=3) { + prefix = value; + } else { + errorHandler.error("Prefix cannot be shorter than 3 characters!", + null,0); + } + } + else if(key.equalsIgnoreCase(SUFFIX_OPTION)) { + if(value!=null && value.length()>=1) { + suffix = value; + } else { + errorHandler.error("Suffix cannot be empty!",null,0); + } + } + } + + /** + This method is called by {@link AppenderSkeleton#doAppend} + method. + + <p>Whenever this method is called, new unique file is created + with specified prefix and suffix. The file is closed afterwards. + + <p>The format of the output will depend on this appender's + layout. + + */ + public void append(LoggingEvent event) { + if(!checkEntryConditions()) { + return; + } + subAppend(event); + } + + /** + This method determines if there is a sense in attempting to append. + */ + protected boolean checkEntryConditions() { + return true; + } + + /** + This method does actual writing + */ + protected void subAppend(LoggingEvent event) { + try { + File tmp = File.createTempFile(prefix,suffix,dir); + Writer out = new BufferedWriter(new FileWriter(tmp)); + out.write(event.message); + out.close(); + /* this Appender is not supposed to be used for logging of Exceptions */ + } catch (Exception e) { + errorHandler.error("Error during creation of temporary File!",e,1); + } + } + + public boolean requiresLayout() { + return false; + } + + public void close() { + /* nothing to do */ + } +} +/* + * @author $Author: carnold $ + * @version $Revision: 511036 $ + * @since $Date: 2007-02-23 11:48:53 -0600 (Fri, 23 Feb 2007) $ + * + * $Log$ + * Revision 1.1.2.1 2005/05/27 03:27:54 mwomack + * Fix for #35032. Added license header to .java files that did not already have a license. + * + * Revision 1.1 2001/04/20 17:38:31 ceki + * + * Added LeosLiterak's TempFileAppender.java + * +*/ diff --git a/thirdparty/apache-log4j-1.2.16/contribs/LeosLiterak/mail b/thirdparty/apache-log4j-1.2.16/contribs/LeosLiterak/mail new file mode 100644 index 00000000000..0a617f925eb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/LeosLiterak/mail @@ -0,0 +1,58 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +To: ceki@apache.org +Subject: TempFileAppender + + +Hi Ceki, + + +I have created one small Appender, which puts each +logging statement into separate file. We use it +for storing incomming messages into second process'es +spool directory. If you like it, please include it +into Log4j with APL license. + + +Usage: + + +log4j.appender.A1=org.apache.log4j.TempFileAppender +log4j.appender.A1.Path=spool_dir +log4j.appender.A1.Prefix=out_ +log4j.appender.A1.Suffix=.msg + + + Leo + +----------------------------------------------------- +Leos Literak +Software Engineer + + +12snap s.r.o. +Pstrossova 24 +110 00 Praha 1 +Czech Republic + + +mobile: ?605-849-087 +phone: ?2-21-970-239 +fax: ?2-21-970-241 +e-mail: leos.literak@12snap.com + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/Log.txt b/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/Log.txt new file mode 100644 index 00000000000..d50d537a0e1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/Log.txt @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +INFO ( Server:main ) systemsunion.LoggingServer.SocketServer2 - Connected to client at RDDSOWE2/129.153.78.195 +INFO ( Server:main ) systemsunion.LoggingServer.SocketServer2 - Starting new socket node. +INFO ( Server:main ) systemsunion.LoggingServer.SocketServer2 - Waiting to accept a new client. +INFO ( RDDSOWE2:main ) systemsunion.SSTS.system - ClosedownController: starting +INFO ( Server:main ) systemsunion.LoggingServer.SocketServer2 - Connected to client at RDDSOWE2/129.153.78.195 +INFO ( Server:main ) systemsunion.LoggingServer.SocketServer2 - Starting new socket node. +INFO ( Server:main ) systemsunion.LoggingServer.SocketServer2 - Waiting to accept a new client. +INFO ( RDDSOWE2:main ) systemsunion.SSTS.system - ClosedownController: starting +INFO ( RDDSOWE2:AWT-EventQueue-0) systemsunion.SSTS.components - Packing component Operator +INFO ( RDDSOWE2:AWT-EventQueue-0) systemsunion.SSTS.components - Packing class file d:/SSDev/SSTS/components\Operator\Operator.class for component Operator +INFO ( RDDSOWE2:AWT-EventQueue-0) systemsunion.SSTS.components - Packing class file d:/SSDev/SSTS/components\Operator\Operator.class for component Operator +INFO ( RDDSOWE2:AWT-EventQueue-0) systemsunion.SSTS.components - Packing proxy class file d:/SSDev/SSTS/components\Operator\OperatorProxy.class for component Operator +INFO ( RDDSOWE2:AWT-EventQueue-0) systemsunion.SSTS.components - Packing class file d:/SSDev/SSTS/components\Operator\OperatorProxy.class for component Operator +INFO ( RDDSOWE2:AWT-EventQueue-0) systemsunion.SSTS.components - Packing test XML page file d:/SSDev/SSTS/components\Operator\Operator.XML for component Operator +INFO ( RDDSOWE2:AWT-EventQueue-0) systemsunion.SSTS.components - Packing class file d:/SSDev/SSTS/components\Operator\Operator.XML for component Operator +INFO ( RDDSOWE2:AWT-EventQueue-0) systemsunion.SSTS.components - Packing descriptor file d:/SSDev/SSTS/components\Operator\OperatorDeploymentDescriptor.XML for component Operator +INFO ( RDDSOWE2:AWT-EventQueue-0) systemsunion.SSTS.components - Packing class file d:/SSDev/SSTS/components\Operator\OperatorDeploymentDescriptor.XML for component Operator diff --git a/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/SocketNode2.java b/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/SocketNode2.java new file mode 100644 index 00000000000..60f63e755fb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/SocketNode2.java @@ -0,0 +1,118 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.systemsunion.LoggingServer; + +import java.net.InetAddress; +import java.net.Socket; +import java.net.ServerSocket; +import java.io.InputStream; +import java.io.IOException; +import java.io.ObjectInputStream; + + +import org.apache.log4j.Category; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.Priority; +import org.apache.log4j.NDC; + +// Contributors: Moses Hohman <mmhohman@rainbow.uchicago.edu> + +/** + Read {@link LoggingEvent} objects sent from a remote client using + Sockets (TCP). These logging events are logged according to local + policy, as if they were generated locally. + + <p>For example, the socket node might decide to log events to a + local file and also resent them to a second socket node. + + @author Ceki G&uuml;lc&uuml; + + @since 0.8.4 +*/ +public class SocketNode2 implements Runnable { + + Socket socket; + ObjectInputStream ois; + + static Category cat = Category.getInstance(SocketNode2.class.getName()); + + public + SocketNode2(Socket socket) { + this.socket = socket; + try { + ois = new ObjectInputStream(socket.getInputStream()); + } + catch(Exception e) { + cat.error("Could not open ObjectInputStream to "+socket, e); + } + } + + //public + //void finalize() { + //System.err.println("-------------------------Finalize called"); + // System.err.flush(); + //} + + public void run() { + LoggingEvent event; + Category remoteCategory; + String strClientName; + + // Get the client name. + InetAddress addr = socket.getInetAddress(); + strClientName = addr.getHostName(); + if(strClientName == null || strClientName.length() == 0) + { + strClientName = addr.getHostAddress(); + } + + try { + while(true) { + event = (LoggingEvent) ois.readObject(); + + if(event.ndc != null) + { + event.ndc = strClientName + ":" + event.ndc; + } + else + { + event.ndc = strClientName; + } + + remoteCategory = Category.getInstance(event.categoryName); + remoteCategory.callAppenders(event); + } + } + catch(java.io.EOFException e) { + cat.info("Caught java.io.EOFException will close conneciton.", e); + } + catch(java.net.SocketException e) { + cat.info("Caught java.net.SocketException, will close conneciton.", e); + } + catch(Exception e) { + cat.error("Unexpected exception. Closing conneciton.", e); + } + + try { + ois.close(); + } + catch(Exception e) { + cat.info("Could not close connection.", e); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/SocketServer2.java b/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/SocketServer2.java new file mode 100644 index 00000000000..96caf0ea26e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/SocketServer2.java @@ -0,0 +1,99 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package com.systemsunion.LoggingServer; + +import java.net.Socket; +import java.net.ServerSocket; +import java.io.IOException; + +import org.apache.log4j.Category; +import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.NDC; + +/** + A simple {@link SocketNode} based server. + + <pre> + <b>Usage:</b> java org.apache.log4j.net.SocketServer port configFile + + where <em>port</em> is a part number where the server listens and + <em>configFile</em> is a configuration file fed to the {@link + PropertyConfigurator}. + </pre> + + + + + + @author Ceki G&uuml;lc&uuml; + + @since 0.8.4 */ + +public class SocketServer2 { + + static Category cat = Category.getInstance(SocketServer2.class.getName()); + + static int port; + + public + static + void main(String argv[]) { + if(argv.length == 2) + init(argv[0], argv[1]); + else + usage("Wrong number of arguments."); + + try { + cat.info("Listening on port " + port); + ServerSocket serverSocket = new ServerSocket(port); + while(true) { + cat.info("Waiting to accept a new client."); + Socket socket = serverSocket.accept(); + cat.info("Connected to client at " + socket.getInetAddress()); + cat.info("Starting new socket node."); + new Thread(new SocketNode2(socket)).start(); + } + } + catch(Exception e) { + e.printStackTrace(); + } + } + + + static + void usage(String msg) { + System.err.println(msg); + System.err.println( + "Usage: java " + SocketServer2.class.getName() + " port configFile"); + System.exit(1); + } + + static + void init(String portStr, String configFile) { + try { + port = Integer.parseInt(portStr); + } + catch(java.lang.NumberFormatException e) { + e.printStackTrace(); + usage("Could not interpret port number ["+ portStr +"]."); + } + PropertyConfigurator.configure(configFile); + NDC.push("Server"); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/mail-2001-01-17 b/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/mail-2001-01-17 new file mode 100644 index 00000000000..65cd8cd684c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/MarkDouglas/mail-2001-01-17 @@ -0,0 +1,66 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +Delivered-To: urba-cgu@urbanet.ch +From: Mark Douglas <Mark_Douglas@systemsunion.com> +To: "'cgu@urbanet.ch'" <cgu@urbanet.ch> +Subject: Enhanced SocketServer and SocketNode classes +Date: Wed, 17 Jan 2001 09:57:38 -0000 +X-Mailer: Internet Mail Service (5.5.2650.21) + + +Hi Ceki, + + +I have made small changes to SocketServer and SockerNode to allow the client +machine name to be displayed in the logging output. This is important for +us as we are using a single logging server with several clients. + + +The new SocketServer2 and SocketNode2 classes (couldn't think of better +names) prepends the NDC string with the clients Host Name (or IP address if +the HostName can not be found). I thought the NDC string was a good place +to add this information, but you may have a better place? + + +I have created an NDC entry for the server such that server logging messages +can easily be identified. + + +I have included the two new source files plus a short example of the output. + + +The output was generated with the following layout: %-6p (%9x:%-10t) +%-40c{3} - %m%n + + + <<Log.txt>> <<SocketNode2.java>> <<SocketServer2.java>> + + +Note: I have changed the package names for the two classes to fit with our +package names - sorry. Also, I find it difficult to follow the coding +style, so again, sorry. + + +If you think this may be useful to others, please feel free to include it as +an addition in the next release or change the current SocketServer and +SocketNode objects to include this new behaviour by default. + + +Mark Douglas +Systems Union Group plc + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/JListView.java b/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/JListView.java new file mode 100644 index 00000000000..6a93ed08e64 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/JListView.java @@ -0,0 +1,365 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.log4j.gui; + +import org.apache.log4j.helpers.CyclicBuffer; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.Priority; +import org.apache.log4j.Category; +import org.apache.log4j.Layout; +import org.apache.log4j.PatternLayout; +import org.apache.log4j.spi.LoggingEvent; + +import javax.swing.JList; +import javax.swing.AbstractListModel; +import javax.swing.JFrame; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextArea; +import javax.swing.JScrollPane; +import javax.swing.ListCellRenderer; +import java.awt.Component; +import java.awt.FlowLayout; +import java.awt.GridLayout; +import javax.swing.BoxLayout; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import java.awt.Container; +import javax.swing.ImageIcon; +import java.awt.Image; +import java.awt.Toolkit; +import java.net.URL; +import java.awt.Rectangle; + +public class JListView extends JList { + + + static Category cat = Category.getInstance(JListView.class.getName()); + + + //JListViewModel model; + PatternLayout layout; + + static LoggingEvent proto = new LoggingEvent("x", cat, Priority.ERROR, + "Message ", new Throwable()); + + public + JListView(JListViewModel model) { + super(model); + layout = new PatternLayout("%r %p %c [%t] - %m"); + //this.setModel(model); + this.setCellRenderer(new MyCellRenderer()); + // setFixedCellWidth(10); + //setFixedCellHeight(20); + + } + + public + void add(LoggingEvent event) { + ((JListViewModel)getModel()).add(event); + } + + /* + public + Dimension getPreferredSize() { + System.out.println("getPreferredSize() called"); + return super.getPreferredSize(); + } + + + public + int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, + int direction) { + System.out.println("getScrollableUnitIncrement called with " + visibleRect + + "orientation: "+orientation+", direction: "+direction); + return super.getScrollableUnitIncrement(visibleRect, orientation, + direction); + } + + public + int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, + int direction) { + System.out.println("getScrollableBlockIncrement called with " + + visibleRect + "orientation: "+orientation+ + ", direction: "+direction); + return super.getScrollableBlockIncrement(visibleRect, orientation, + direction); + } + */ + + //public + //boolean getScrollableTracksViewportWidth() { + //System.out.println("getScrollableTracksViewportWidth called."); + //return true; + //boolean b = super.getScrollableTracksViewportWidth(); + //System.out.println("result is: "+b); + //return b; + //} + + //public + //boolean getScrollableTracksViewportHeight() { + // System.out.println("getScrollableTracksViewportHeight called."); + // return true; + //boolean b = super.getScrollableTracksViewportHeight(); + //System.out.println("result is: "+b); + //return b; + //} + + //public + //int getFirstVisibleIndex() { + //int r = getFirstVisibleIndex(); + // System.out.println("----------getFirstVisibleIndex called, result: "+r); + //return r; + //} + + //public + //Object getPrototypeCellValue() { + //return proto; + //} + + + + static public void main(String[] args) { + + JFrame frame = new JFrame("JListView test"); + Container container = frame.getContentPane(); + + JListView view = new JListView(new JListViewModel(Integer.parseInt(args[0]))); + + + JScrollPane sp = new JScrollPane(view); + sp.setPreferredSize(new Dimension(250, 80)); + + container.setLayout(new BoxLayout(container, BoxLayout.X_AXIS)); + //container.add(view); + container.add(sp); + + JButton b1 = new JButton("Add 1"); + JButton b10 = new JButton("Add 10"); + JButton b100 = new JButton("Add 100"); + JButton b1000 = new JButton("Add 1000"); + JButton b10000 = new JButton("Add 10000"); + + JPanel panel = new JPanel(new GridLayout(0,1)); + container.add(panel); + + panel.add(b1); + panel.add(b10); + panel.add(b100); + panel.add(b1000); + panel.add(b10000); + + + AddAction a1 = new AddAction(view, 1); + AddAction a10 = new AddAction(view, 10); + AddAction a100 = new AddAction(view, 100); + AddAction a1000 = new AddAction(view, 1000); + AddAction a10000 = new AddAction(view, 10000); + + b1.addActionListener(a1); + b10.addActionListener(a10); + b100.addActionListener(a100); + b1000.addActionListener(a1000); + b10000.addActionListener(a10000); + + frame.setVisible(true); + frame.setSize(new Dimension(700,700)); + + long before = System.currentTimeMillis(); + + int RUN = 1000; + int i = 0; + while(i++ < RUN) { + LoggingEvent event0 = new LoggingEvent("x", cat, Priority.ERROR, + "Message "+i, null); + + Throwable t = new Exception("hello "+i); + LoggingEvent event1 = new LoggingEvent("x", cat, Priority.ERROR, + "Message "+i, t); + + + if(i % 10 == 0) { + event1.getThreadName(); + view.add(event1); + } else { + event0.getThreadName(); + view.add(event0); + } + } + + long after = System.currentTimeMillis(); + System.out.println("Time taken :"+ ((after-before)*1000/RUN)); + + } + + class MyCellRenderer extends JTextArea implements ListCellRenderer { + + Object o = new Object(); + int i = 0; + final ImageIcon longIcon = new ImageIcon("RedFlag.gif"); + + public + MyCellRenderer() { + System.out.println("----------------------"); + + } + + + + public + int getTabSize() { + return 2; + } + + public Image loadIcon ( String path ) { + Image img = null; + try { + URL url = ClassLoader.getSystemResource(path); + img = (Image) (Toolkit.getDefaultToolkit()).getImage(url); + } catch (Exception e) { + System.out.println("Exception occured: " + e.getMessage() + + " - " + e ); + } + return (img); + } + + public Component getListCellRendererComponent(JList list, + Object value, + int index, // cell index + boolean isSelected, + boolean cellHasFocus) { + + // System.out.println(o + " ============== " + i++); + //LogLog.error("=======", new Exception()); + //setIcon(longIcon); + if(value instanceof LoggingEvent) { + LoggingEvent event = (LoggingEvent) value; + String str = layout.format(event); + String t = event.getThrowableInformation(); + + if(t != null) { + setText(str + Layout.LINE_SEP + t); + } else { + setText(str); + } + + } else { + setText(value.toString()); + } + + + return this; + } + } +} + + + +class JListViewModel extends AbstractListModel { + + CyclicBuffer cb; + + JListViewModel(int size) { + cb = new CyclicBuffer(size); + } + + public + void add(LoggingEvent event) { + //System.out.println("JListViewModel.add called"); + cb.add(event); + int j = cb.length(); + fireContentsChanged(this, 0, j); + } + + + + public + Object getElementAt(int index) { + return cb.get(index); + } + + public + int getSize() { + return cb.length(); + } + +} + +class AddAction implements ActionListener { + + Thread t; + + static int counter = 0; + + public + AddAction(JListView view, int burst) { + this.t = new AddThread(view, burst); + t.start(); + } + + public + void actionPerformed(ActionEvent e) { + System.out.println("Action occured"); + synchronized(t) { + t.notify(); + } + } + + class AddThread extends Thread { + int burst; + JListView view; + + Category cat = Category.getInstance("x"); + + AddThread(JListView view, int burst) { + super(); + this.burst = burst; + this.view = view; + setName("AddThread"+burst); + } + + public + void run() { + + while(true) { + synchronized(this) { + try { + this.wait(); + } catch(Exception e) { + } + } + for(int i = 0; i < burst; i++) { + LoggingEvent event = new LoggingEvent("x", cat, Priority.DEBUG, + "Message "+counter, null); + + event.getThreadName(); + if(counter % 50 == 0) { + //event.throwable = new Exception("hello "+counter); + } + counter++; + view.add(event); + } + } + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/JTableAppender.java b/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/JTableAppender.java new file mode 100644 index 00000000000..32cc23ac83b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/JTableAppender.java @@ -0,0 +1,237 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.log4j.gui; + +import org.apache.log4j.helpers.CyclicBuffer; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.Priority; +import org.apache.log4j.Category; +import org.apache.log4j.Layout; +import org.apache.log4j.PatternLayout; +import org.apache.log4j.spi.LoggingEvent; + +import javax.swing.JList; +import javax.swing.AbstractListModel; +import javax.swing.JFrame; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JTable; +import javax.swing.JTextArea; +import javax.swing.table.AbstractTableModel; +import javax.swing.table.TableCellRenderer; +import javax.swing.JScrollPane; +import javax.swing.ListCellRenderer; +import java.awt.Component; +import java.awt.FlowLayout; +import javax.swing.BoxLayout; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import java.awt.Container; +import javax.swing.ImageIcon; +import java.awt.Image; +import java.awt.Toolkit; +import java.net.URL; +import java.awt.Rectangle; + +public class JTableAppender extends JTable { + + + static Category cat = Category.getInstance(JTableAppender.class.getName()); + + PatternLayout layout; + + public + JTableAppender() { + layout = new PatternLayout("%r %p %c [%t] - %m"); + this.setDefaultRenderer(Object.class, new Renderer()); + + } + + public + void add(LoggingEvent event) { + ((JTableAppenderModel)getModel()).add(event); + } + + public + Dimension getPreferredSize() { + System.out.println("getPreferredSize() called"); + return super.getPreferredSize(); + } + + static public void main(String[] args) { + + JFrame frame = new JFrame("JListView test"); + Container container = frame.getContentPane(); + + JTableAppender appender = new JTableAppender(); + + JTableAppenderModel model = new + JTableAppenderModel(Integer.parseInt(args[0])); + appender.setModel(model); + //appender.createDefaultColumnsFromModel(); + + + JScrollPane sp = new JScrollPane(appender); + sp.setPreferredSize(new Dimension(250, 80)); + + container.setLayout(new BoxLayout(container, BoxLayout.X_AXIS)); + //container.add(view); + container.add(sp); + + JButton button = new JButton("ADD"); + container.add(button); + + + button.addActionListener(new JTableAddAction(appender)); + + frame.setVisible(true); + frame.setSize(new Dimension(700,700)); + + long before = System.currentTimeMillis(); + + int RUN = 10000; + int i = 0; + while(i++ < RUN) { + LoggingEvent event = new LoggingEvent("x", cat, Priority.ERROR, + "Message "+i, null); + event.getThreadName(); + if(i % 10 == 0) { + //event.throwable = new Exception("hello "+i); + } + appender.add(event); + } + + long after = System.currentTimeMillis(); + System.out.println("Time taken :"+ ((after-before)*1000/RUN)); + + } + + class Renderer extends JTextArea implements TableCellRenderer { + + Object o = new Object(); + int i = 0; + + public + Renderer() { + System.out.println("Render() called ----------------------"); + } + + public Component getTableCellRendererComponent(JTable table, + Object value, + boolean isSelected, + boolean hasFocus, + int row, + int column) { + + System.out.println(o + " ============== " + i++); + //LogLog.error("=======", new Exception()); + //setIcon(longIcon); + if(value instanceof LoggingEvent) { + LoggingEvent event = (LoggingEvent) value; + String str = layout.format(event); + String t = event.getThrowableInformation(); + + if(t != null) { + System.out.println("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); + setText(str + Layout.LINE_SEP + t); + } else { + setText(str); + } + + } else { + setText(value.toString()); + } + + + return this; + } + } +} + + + +class JTableAppenderModel extends AbstractTableModel { + + CyclicBuffer cb; + + JTableAppenderModel(int size) { + cb = new CyclicBuffer(size); + } + + public + void add(LoggingEvent event) { + //System.out.println("JListViewModel.add called"); + cb.add(event); + int j = cb.length(); + + fireTableDataChanged(); + + } + public + int getColumnCount() { + return 1; + } + + public int getRowCount() { + return cb.length(); + } + + //public + //Class getColumnClass(int index) { + // System.out.println("getColumnClass called " + index); + // return LoggingEvent.class; + //} + + public + Object getValueAt(int row, int col) { + return cb.get(row); + } +} + + +class JTableAddAction implements ActionListener { + + int j; + JTableAppender appender; + + Category cat = Category.getInstance("x"); + + public + JTableAddAction(JTableAppender appender) { + this.appender = appender; + j = 0; + } + + public + void actionPerformed(ActionEvent e) { + System.out.println("Action occured"); + + LoggingEvent event = new LoggingEvent("x", cat, Priority.DEBUG, + "Message "+j, null); + + if(j % 5 == 0) { + //event.throwable = new Exception("hello "+j); + } + j++; + appender.add(event); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/TextPaneAppender.java b/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/TextPaneAppender.java new file mode 100644 index 00000000000..6b8fce523d7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/TextPaneAppender.java @@ -0,0 +1,355 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.gui; + + +import java.awt.Color; +import java.awt.Image; +import java.awt.Toolkit; +import java.io.*; +import java.net.URL; +import java.util.Enumeration; +import java.util.StringTokenizer; +import java.util.Hashtable; + +import javax.swing.Icon; +import javax.swing.ImageIcon; +import javax.swing.JTextPane; +import javax.swing.text.AttributeSet; +import javax.swing.text.BadLocationException; +import javax.swing.text.MutableAttributeSet; +import javax.swing.text.SimpleAttributeSet; +import javax.swing.text.StyleConstants; +import javax.swing.text.StyledDocument; +import javax.swing.text.TabSet; +import javax.swing.text.TabStop; + +import org.apache.log4j.*; + +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.QuietWriter; +import org.apache.log4j.helpers.TracerPrintWriter; +import org.apache.log4j.helpers.OptionConverter; + + +/** + * <b>Experimental</b> TextPaneAppender. <br> + * + * + * Created: Sat Feb 26 18:50:27 2000 <br> + * + * @author Sven Reimers + */ + +public class TextPaneAppender extends AppenderSkeleton { + + JTextPane textpane; + StyledDocument doc; + TracerPrintWriter tp; + StringWriter sw; + QuietWriter qw; + Hashtable attributes; + Hashtable icons; + + private String label; + + private boolean fancy; + + final String LABEL_OPTION = "Label"; + final String COLOR_OPTION_FATAL = "Color.Emerg"; + final String COLOR_OPTION_ERROR = "Color.Error"; + final String COLOR_OPTION_WARN = "Color.Warn"; + final String COLOR_OPTION_INFO = "Color.Info"; + final String COLOR_OPTION_DEBUG = "Color.Debug"; + final String COLOR_OPTION_BACKGROUND = "Color.Background"; + final String FANCY_OPTION = "Fancy"; + final String FONT_NAME_OPTION = "Font.Name"; + final String FONT_SIZE_OPTION = "Font.Size"; + + public static Image loadIcon ( String path ) { + Image img = null; + try { + URL url = ClassLoader.getSystemResource(path); + img = (Image) (Toolkit.getDefaultToolkit()).getImage(url); + } catch (Exception e) { + System.out.println("Exception occured: " + e.getMessage() + + " - " + e ); + } + return (img); + } + + public TextPaneAppender(Layout layout, String name) { + this(); + this.layout = layout; + this.name = name; + setTextPane(new JTextPane()); + createAttributes(); + createIcons(); + } + + public TextPaneAppender() { + super(); + setTextPane(new JTextPane()); + createAttributes(); + createIcons(); + this.label=""; + this.sw = new StringWriter(); + this.qw = new QuietWriter(sw, errorHandler); + this.tp = new TracerPrintWriter(qw); + this.fancy =true; + } + + public + void close() { + + } + + private void createAttributes() { + Priority prio[] = Priority.getAllPossiblePriorities(); + + attributes = new Hashtable(); + for (int i=0; i<prio.length;i++) { + MutableAttributeSet att = new SimpleAttributeSet(); + attributes.put(prio[i], att); + StyleConstants.setFontSize(att,14); + } + StyleConstants.setForeground((MutableAttributeSet)attributes.get(Priority.ERROR),Color.red); + StyleConstants.setForeground((MutableAttributeSet)attributes.get(Priority.WARN),Color.orange); + StyleConstants.setForeground((MutableAttributeSet)attributes.get(Priority.INFO),Color.gray); + StyleConstants.setForeground((MutableAttributeSet)attributes.get(Priority.DEBUG),Color.black); + } + + private void createIcons() { + Priority prio[] = Priority.getAllPossiblePriorities(); + + icons = new Hashtable(); + for (int i=0; i<prio.length;i++) { + if (prio[i].equals(Priority.FATAL)) + icons.put(prio[i],new ImageIcon(loadIcon("icons/RedFlag.gif"))); + if (prio[i].equals(Priority.ERROR)) + icons.put(prio[i],new ImageIcon(loadIcon("icons/RedFlag.gif"))); + if (prio[i].equals(Priority.WARN)) + icons.put(prio[i],new ImageIcon(loadIcon("icons/BlueFlag.gif"))); + if (prio[i].equals(Priority.INFO)) + icons.put(prio[i],new ImageIcon(loadIcon("icons/GreenFlag.gif"))); + if (prio[i].equals(Priority.DEBUG)) + icons.put(prio[i],new ImageIcon(loadIcon("icons/GreenFlag.gif"))); + } + } + + public void append(LoggingEvent event) { + String text = this.layout.format(event); + String trace=""; + // Print Stacktrace + // Quick Hack maybe there is a better/faster way? + if (event.throwable!=null) { + event.throwable.printStackTrace(tp); + for (int i=0; i< sw.getBuffer().length(); i++) { + if (sw.getBuffer().charAt(i)=='\t') + sw.getBuffer().replace(i,i+1," "); + } + trace = sw.toString(); + sw.getBuffer().delete(0,sw.getBuffer().length()); + } + try { + if (fancy) { + textpane.setEditable(true); + textpane.insertIcon((ImageIcon)icons.get(event.priority)); + textpane.setEditable(false); + } + doc.insertString(doc.getLength(),text+trace, + (MutableAttributeSet)attributes.get(event.priority)); + } + catch (BadLocationException badex) { + System.err.println(badex); + } + textpane.setCaretPosition(doc.getLength()); + } + + public + JTextPane getTextPane() { + return textpane; + } + + private + static + Color parseColor (String v) { + StringTokenizer st = new StringTokenizer(v,","); + int val[] = {255,255,255,255}; + int i=0; + while (st.hasMoreTokens()) { + val[i]=Integer.parseInt(st.nextToken()); + i++; + } + return new Color(val[0],val[1],val[2],val[3]); + } + + private + static + String colorToString(Color c) { + // alpha component emitted only if not default (255) + String res = ""+c.getRed()+","+c.getGreen()+","+c.getBlue(); + return c.getAlpha() >= 255 ? res : res + ","+c.getAlpha(); + } + + public + void setLayout(Layout layout) { + this.layout=layout; + } + + public + void setName(String name) { + this.name = name; + } + + + public + void setTextPane(JTextPane textpane) { + this.textpane=textpane; + textpane.setEditable(false); + textpane.setBackground(Color.lightGray); + this.doc=textpane.getStyledDocument(); + } + + private + void setColor(Priority p, String v) { + StyleConstants.setForeground( + (MutableAttributeSet)attributes.get(p),parseColor(v)); + } + + private + String getColor(Priority p) { + Color c = StyleConstants.getForeground( + (MutableAttributeSet)attributes.get(p)); + return c == null ? null : colorToString(c); + } + + ///////////////////////////////////////////////////////////////////// + // option setters and getters + + public + void setLabel(String label) { + this.label = label; + } + public + String getLabel() { + return label; + } + + public + void setColorEmerg(String color) { + setColor(Priority.FATAL, color); + } + public + String getColorEmerg() { + return getColor(Priority.FATAL); + } + + public + void setColorError(String color) { + setColor(Priority.ERROR, color); + } + public + String getColorError() { + return getColor(Priority.ERROR); + } + + public + void setColorWarn(String color) { + setColor(Priority.WARN, color); + } + public + String getColorWarn() { + return getColor(Priority.WARN); + } + + public + void setColorInfo(String color) { + setColor(Priority.INFO, color); + } + public + String getColorInfo() { + return getColor(Priority.INFO); + } + + public + void setColorDebug(String color) { + setColor(Priority.DEBUG, color); + } + public + String getColorDebug() { + return getColor(Priority.DEBUG); + } + + public + void setColorBackground(String color) { + textpane.setBackground(parseColor(color)); + } + public + String getColorBackground() { + return colorToString(textpane.getBackground()); + } + + public + void setFancy(boolean fancy) { + this.fancy = fancy; + } + public + boolean getFancy() { + return fancy; + } + + public + void setFontSize(int size) { + Enumeration e = attributes.elements(); + while (e.hasMoreElements()) { + StyleConstants.setFontSize((MutableAttributeSet)e.nextElement(),size); + } + return; + } + + public + int getFontSize() { + AttributeSet attrSet = (AttributeSet) attributes.get(Priority.INFO); + return StyleConstants.getFontSize(attrSet); + } + + public + void setFontName(String name) { + Enumeration e = attributes.elements(); + while (e.hasMoreElements()) { + StyleConstants.setFontFamily((MutableAttributeSet)e.nextElement(),name); + } + return; + } + + public + String getFontName() { + AttributeSet attrSet = (AttributeSet) attributes.get(Priority.INFO); + return StyleConstants.getFontFamily(attrSet); + } + + public + boolean requiresLayout() { + return true; + } +} // TextPaneAppender + + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/examples/TextPaneAppenderExample.java b/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/examples/TextPaneAppenderExample.java new file mode 100644 index 00000000000..bd5f9d3a16f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/SvenReimers/gui/examples/TextPaneAppenderExample.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.gui.examples; + +import java.awt.BorderLayout; +import java.awt.event.*; +import javax.swing.*; +import org.apache.log4j.*; +import org.apache.log4j.gui.*; + + + +public class TextPaneAppenderExample implements ActionListener { + + JFrame mainframe; + ButtonGroup priorities; + TextPaneAppender tpa; + Category gui; + Priority prio[]; + JTabbedPane logview; + + + public TextPaneAppenderExample () { + mainframe = new JFrame("Testing the TextPaneAppender..."); + mainframe.setSize(300,300); + logview = new JTabbedPane(); + createLogger(); + createMenuBar(); + mainframe.setVisible(true); + mainframe.getContentPane().add(logview); + } + + public void createLogger() { + tpa = new TextPaneAppender(new PatternLayout("%-5p %d [%t]: %m%n"),"Debug"); + logview.addTab("Events ...",new JScrollPane(tpa.getTextPane())); + gui = Category.getInstance(this.getClass().getName()); + gui.addAppender(tpa); + } + + public void createMenuBar() { + JMenu file = new JMenu("File"); + JMenuItem exit = new JMenuItem("Exit"); + exit.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + System.exit(0); + } + }); + file.add(exit); + JMenuBar mb = new JMenuBar(); + mb.add(file); + + JMenu logevent = new JMenu("LoggingEvents"); + JMenu selectprio = new JMenu("Priority"); + + prio = Priority.getAllPossiblePriorities(); + JRadioButtonMenuItem priority[]= new JRadioButtonMenuItem[prio.length]; + priorities = new ButtonGroup(); + + for (int i=0; i<prio.length;i++) { + if (i==0) + priority[i] = new JRadioButtonMenuItem(prio[i].toString(),true); + else + priority[i] = new JRadioButtonMenuItem(prio[i].toString()); + priority[i].setActionCommand(prio[i].toString()); + selectprio.add(priority[i]); + priorities.add(priority[i]); + + } + + logevent.add(selectprio); + + JMenuItem lognow = new JMenuItem("LogIt!"); + lognow.addActionListener(this); + logevent.add(lognow); + + mb.add(logevent); + + mainframe.setJMenuBar(mb); + + } + + public void actionPerformed(ActionEvent ae){ + String logtext = JOptionPane.showInputDialog("Text to log"); + if (logtext == null) logtext="NO Input"; + int i=0; + String name = priorities.getSelection().getActionCommand(); + while (!prio[i].toString().equals(name)) + i=i+1; + gui.log(prio[i],logtext); + } + + static public void main(String args[]) { + TextPaneAppenderExample tpex = new TextPaneAppenderExample(); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCAppender.java b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCAppender.java new file mode 100644 index 00000000000..841aaade11a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCAppender.java @@ -0,0 +1,601 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.klopotek.utils.log; + +import java.sql.*; +import java.util.*; +import org.apache.log4j.*; +import org.apache.log4j.helpers.*; +import org.apache.log4j.spi.*; + +/** +The JDBCAppender, writes messages into a database + +<p><b>The JDBCAppender is configurable at runtime by setting options in two alternatives : </b></p> +<dir> + <p><b>1. Use a configuration-file</b></p> + <p>Define the options in a file (<A HREF="configfile_example.txt">example</A>) and call a <code>PropertyConfigurator.configure(filename)</code> in your code.</p> + <p><b>2. Use the methods of JDBCAppender to do it</b></p> + <p>Call <code>JDBCAppender::setOption(JDBCAppender.xxx_OPTION, String value)</code> to do it analogically without a configuration-file (<A HREF="code_example2.java">example</A>)</p> +</dir> + +<p>All available options are defined as static String-constants in JDBCAppender named xxx_OPTION.</p> + +<p><b>Here is a description of all available options :</b></p> +<dir> + <p><b>1. Database-options to connect to the database</b></p> + <p>- <b>URL_OPTION</b> : a database url of the form jdbc:subprotocol:subname</p> + <p>- <b>USERNAME_OPTION</b> : the database user on whose behalf the connection is being made</p> + <p>- <b>PASSWORD_OPTION</b> : the user's password</p> + + <p><b>2. Connector-option to specify your own JDBCConnectionHandler</b></p> + <p>- <b>CONNECTOR_OPTION</b> : a classname which is implementing the JDBCConnectionHandler-interface</p> + <p>This interface is used to get a customized connection.</p> + <p>If in addition the database-options are given, these options will be used as arguments for the JDBCConnectionHandler-interface to get a connection.</p> + <p>Else if no database-options are given, the JDBCConnectionHandler-interface is called without them.</p> + <p>Else if this option is not defined, the database-options are required to open a connection by the JDBCAppender.</p> + + <p><b>3. SQL-option to specify a static sql-statement which will be performed with every occuring message-event</b></p> + <p>- <b>SQL_OPTION</b> : a sql-statement which will be used to write to the database</p> + <p>Use the variable <b>@MSG@</b> on a location in the statement, which has to be dynamically replaced by the message-text.</p> + <p>If you give this option, the table-option and columns-option will be ignored !</p> + + <p><b>4. Table-option to specify a table contained by the database</b></p> + <p>- <b>TABLE_OPTION</b> : the table in which the logging will be done</p> + + <p><b>5. Columns-option to describe the important columns of the table (Not nullable columns are mandatory to describe!)</b></p> + <p>- <b>COLUMNS_OPTION</b> : a formatted list of column-descriptions</p> + <p>Each column description consists of</p> + <dir> + <p>- the <b><i>name</i></b> of the column (required)</p> + <p>- a <b><i>logtype</i></b> which is a static constant of class LogType (required)</p> + <p>- and a <b><i>value</i></b> which depends by the LogType (optional/required, depending by logtype)</p> + </dir> + <p>Here is a description of the available logtypes of class <b>{@link LogType}</b> and how to handle the <b><i>value</i></b>:</p> + <dir> + <p>o <b>MSG</b> = a value will be ignored, the column will get the message. (One columns need to be of this type!)</p> + <p>o <b>STATIC</b> = the value will be filled into the column with every logged message. (Ensure that the type of value can be casted into the sql-type of the column!)</p> + <p>o <b>ID</b> = value must be a classname, which implements the JDBCIDHandler-interface.</p> + <p>o <b>TIMESTAMP</b> = a value will be ignored, the column will be filled with a actually timestamp with every logged message.</p> + <p>o <b>EMPTY</b> = a value will be ignored, the column will be ignored when writing to the database (Ensure to fill not nullable columns by a database trigger!)</p> + </dir> + <p>If there are more than one column to describe, the columns must be separated by a Tabulator-delimiter (unicode0008) !</p> + <p>The arguments of a column-description must be separated by the delimiter '~' !</p> + <p><i>(Example : name1~logtype1~value1 name2~logtype2~value2...)</i></p> + + <p><b>6. Layout-options to define the layout of the messages (optional)</b></p> + <p>- <b>_</b> : the layout wont be set by a xxx_OPTION</p> + <p>See the configuration-file and code examples below...</p> + <p>The default is a layout of the class {@link org.apache.log4j.PatternLayout} with the pattern=%m which representate only the message.</p> + + <p><b>7. Buffer-option to define the size of the message-event-buffer (optional)</b></p> + <p>- <b>BUFFER_OPTION</b> : define how many messages will be buffered until they will be updated to the database.</p> + <p>The default is buffer=1, which will do a update with every happened message-event.</p> + + <p><b>8. Commit-option to define a auto-commitment</b></p> + <p>- <b>COMMIT_OPTION</b> : define whether updated messages should be committed to the database (Y) or not (N).</p> + <p>The default is commit=Y.</p> +</dir> + +<p><b>The sequence of some options is important :</b></p> +<dir> + <p><b>1. Connector-option OR/AND Database-options</b></p> + <p>Any database connection is required !</p> + <p><b>2. (Table-option AND Columns-option) OR SQL-option</b></p> + <p>Anything of that is required ! Whether where to write something OR what to write somewhere...;-)</p> + <p><b>3. All other options can be set at any time...</b></p> + <p>The other options are optional and have a default initialization, which can be customized.</p> +</dir> + +<p><b>Here is a <b>configuration-file example</b>, which can be used as argument for the <b>PropertyConfigurator</b> : </b><A HREF="configfile_example.txt"> configfile_example.txt</A></p> + +<p><b>Here is a <b>code-example</b> to configure the JDBCAppender <b>with a configuration-file</b> : </b><A HREF="code_example1.java"> code_example1.java</A></p> + +<p><b>Here is a <b>another code-example</b> to configure the JDBCAppender <b>without a configuration-file</b> : </b><A HREF="code_example2.java"> code_example2.java</A></p> + + + +<p><b>Author : </b><A HREF="mailto:t.fenner@klopotek.de">Thomas Fenner</A></p> + +@since 1.0 +*/ +public class JDBCAppender extends AppenderSkeleton +{ + /** + A database-option to to set a database url of the form jdbc:subprotocol:subname. + */ + public static final String URL_OPTION = "url"; + + /** + A database-option to set the database user on whose behalf the connection is being made. + */ + public static final String USERNAME_OPTION = "username"; + + /** + A database-option to set the user's password. + */ + public static final String PASSWORD_OPTION = "password"; + + /** + A table-option to specify a table contained by the database + */ + public static final String TABLE_OPTION = "table"; + + /** + A connector-option to specify your own JDBCConnectionHandler + */ + public static final String CONNECTOR_OPTION = "connector"; + + /** + A columns-option to describe the important columns of the table + */ + public static final String COLUMNS_OPTION = "columns"; + + /** + A sql-option to specify a static sql-statement which will be performed with every occuring message-event + */ + public static final String SQL_OPTION = "sql"; + + /** + A buffer-option to define the size of the message-event-buffer + */ + public static final String BUFFER_OPTION = "buffer"; + + /** + A commit-option to define a auto-commitment + */ + public static final String COMMIT_OPTION = "commit"; + + + //Variables to store the options values setted by setOption() : + private String url = null; + private String username = null; + private String password = null; + private String table = null; + private String connection_class = null; + private String sql = null; + private boolean docommit = true; + private int buffer_size = 1; + private JDBCConnectionHandler connectionHandler = null; + + //This buffer stores message-events. + //When the buffer_size is reached, the buffer will be flushed and the messages will updated to the database. + private ArrayList buffer = new ArrayList(); + + //Database-connection + private Connection con = null; + + //This class encapsulate the logic which is necessary to log into a table + private JDBCLogger jlogger = new JDBCLogger(); + + //Flags : + //A flag to indicate a established database connection + private boolean connected = false; + //A flag to indicate configuration status + private boolean configured = false; + //A flag to indicate that everything is ready to get append()-commands. + private boolean ready = false; + + /** + If program terminates close the database-connection and flush the buffer + */ + public void finalize() + { + close(); + super.finalize(); + } + + /** + Internal method. Returns a array of strings containing the available options which can be set with method setOption() + */ + public String[] getOptionStrings() + { + // The sequence of options in this string is important, because setOption() is called this way ... + return new String[]{CONNECTOR_OPTION, URL_OPTION, USERNAME_OPTION, PASSWORD_OPTION, SQL_OPTION, TABLE_OPTION, COLUMNS_OPTION, BUFFER_OPTION, COMMIT_OPTION}; + } + + + /** + Sets all necessary options + */ + public void setOption(String _option, String _value) + { + _option = _option.trim(); + _value = _value.trim(); + + if(_option == null || _value == null) return; + if(_option.length() == 0 || _value.length() == 0) return; + + _value = _value.trim(); + + if(_option.equals(CONNECTOR_OPTION)) + { + if(!connected) connection_class = _value; + } + else if(_option.equals(URL_OPTION)) + { + if(!connected) url = _value; + } + else if(_option.equals(USERNAME_OPTION)) + { + if(!connected) username = _value; + } + else if(_option.equals(PASSWORD_OPTION)) + { + if(!connected) password = _value; + } + else if(_option.equals(SQL_OPTION)) + { + sql = _value; + } + else if(_option.equals(TABLE_OPTION)) + { + if(sql != null) return; + table = _value; + } + else if(_option.equals(COLUMNS_OPTION)) + { + if(sql != null) return; + + String name = null; + int logtype = -1; + String value = null; + String column = null; + String arg = null; + int num_args = 0; + int num_columns = 0; + StringTokenizer st_col; + StringTokenizer st_arg; + + //Columns are TAB-separated + st_col = new StringTokenizer(_value, " "); + + num_columns = st_col.countTokens(); + + if(num_columns < 1) + { + errorHandler.error("JDBCAppender::setOption(), Invalid COLUMN_OPTION value : " + _value + " !"); + return; + } + + for(int i=1; i<=num_columns; i++) + { + column = st_col.nextToken(); + + //Arguments are ~-separated + st_arg = new StringTokenizer(column, "~"); + + num_args = st_arg.countTokens(); + + if(num_args < 2) + { + errorHandler.error("JDBCAppender::setOption(), Invalid COLUMN_OPTION value : " + _value + " !"); + return; + } + + for(int j=1; j<=num_args; j++) + { + arg = st_arg.nextToken(); + + if(j == 1) name = arg; + else if(j == 2) + { + try + { + logtype = Integer.parseInt(arg); + } + catch(Exception e) + { + logtype = LogType.parseLogType(arg); + } + + if(!LogType.isLogType(logtype)) + { + errorHandler.error("JDBCAppender::setOption(), Invalid COLUMN_OPTION LogType : " + arg + " !"); + return; + } + } + else if(j == 3) value = arg; + } + + if(!setLogType(name, logtype, value)) return; + } + } + else if(_option.equals(BUFFER_OPTION)) + { + try + { + buffer_size = Integer.parseInt(_value); + } + catch(Exception e) + { + errorHandler.error("JDBCAppender::setOption(), Invalid BUFFER_OPTION value : " + _value + " !"); + return; + } + } + else if(_option.equals(COMMIT_OPTION)) + { + docommit = _value.equals("Y"); + } + + if(_option.equals(SQL_OPTION) || _option.equals(TABLE_OPTION)) + { + if(!configured) configure(); + } + } + + /** + Internal method. Returns true, you may define your own layout... + */ + public boolean requiresLayout() + { + return true; + } + + + /** + Internal method. Close the database connection & flush the buffer. + */ + public void close() + { + flush_buffer(); + if(connection_class == null) + { + try{con.close();}catch(Exception e){errorHandler.error("JDBCAppender::close(), " + e);} + } + this.closed = true; + } + + + /** + You have to call this function for all provided columns of your log-table ! + */ + public boolean setLogType(String _name, int _logtype, Object _value) + { + if(sql != null) return true; + + if(!configured) + { + if(!configure()) return false; + } + + try + { + jlogger.setLogType(_name, _logtype, _value); + } + catch(Exception e) + { + errorHandler.error("JDBCAppender::setLogType(), " + e); + return false; + } + + return true; + } + + + /** + Internal method. Appends the message to the database table. + */ + public void append(LoggingEvent event) + { + if(!ready) + { + if(!ready()) + { + errorHandler.error("JDBCAppender::append(), Not ready to append !"); + return; + } + } + + buffer.add(event); + + if(buffer.size() >= buffer_size) flush_buffer(); + } + + + /** + Internal method. Flushes the buffer. + */ + public void flush_buffer() + { + try + { + int size = buffer.size(); + + if(size < 1) return; + + for(int i=0; i<size; i++) + { + LoggingEvent event = (LoggingEvent)buffer.get(i); + + //Insert message into database + jlogger.append(layout.format(event)); + } + + buffer.clear(); + + if(docommit) con.commit(); + } + catch(Exception e) + { + errorHandler.error("JDBCAppender::flush_buffer(), " + e + " : " + jlogger.getErrorMsg()); + try{con.rollback();} catch(Exception ex){} + return; + } + } + + + /** + Internal method. Returns true, when the JDBCAppender is ready to append messages to the database, else false. + */ + public boolean ready() + { + if(ready) return true; + + if(!configured) return false; + + ready = jlogger.ready(); + + if(!ready){errorHandler.error(jlogger.getErrorMsg());} + + return ready; + } + + + /** + Internal method. Connect to the database. + */ + protected void connect() throws Exception + { + if(connected) return; + + try + { + if(connection_class == null) + { + if(url == null) throw new Exception("JDBCAppender::connect(), No URL defined."); + + if(username == null) throw new Exception("JDBCAppender::connect(), No USERNAME defined."); + + if(password == null) throw new Exception("JDBCAppender::connect(), No PASSWORD defined."); + + connectionHandler = new DefaultConnectionHandler(); + } + else + { + connectionHandler = (JDBCConnectionHandler)(Class.forName(connection_class).newInstance()); + } + + if(url != null && username != null && password != null) + { + con = connectionHandler.getConnection(url, username, password); + } + else + { + con = connectionHandler.getConnection(); + } + + if(con.isClosed()) + { + throw new Exception("JDBCAppender::connect(), JDBCConnectionHandler returns no connected Connection !"); + } + } + catch(Exception e) + { + throw new Exception("JDBCAppender::connect(), " + e); + } + + connected = true; + } + + /** + Internal method. Configures for appending... + */ + protected boolean configure() + { + if(configured) return true; + + if(!connected) + { + if((connection_class == null) && (url == null || username == null || password == null)) + { + errorHandler.error("JDBCAppender::configure(), Missing database-options or connector-option !"); + return false; + } + + try + { + connect(); + } + catch(Exception e) + { + connection_class = null; + url = null; + errorHandler.error("JDBCAppender::configure(), " + e); + return false; + } + } + + if(sql == null && table == null) + { + errorHandler.error("JDBCAppender::configure(), No SQL_OPTION or TABLE_OPTION given !"); + return false; + } + + if(!jlogger.isConfigured()) + { + try + { + jlogger.setConnection(con); + + if(sql == null) + { + jlogger.configureTable(table); + } + else jlogger.configureSQL(sql); + } + catch(Exception e) + { + errorHandler.error("JDBCAppender::configure(), " + e); + return false; + } + } + + //Default Message-Layout + if(layout == null) + { + layout = new PatternLayout("%m"); + } + + configured = true; + + return true; + } +} + +/** +This is a default JDBCConnectionHandler used by JDBCAppender +*/ +class DefaultConnectionHandler implements JDBCConnectionHandler +{ + Connection con = null; + + public Connection getConnection() + { + return con; + } + + public Connection getConnection(String _url, String _username, String _password) + { + try + { + if(con != null && !con.isClosed()) con.close(); + con = DriverManager.getConnection(_url, _username, _password); + con.setAutoCommit(false); + } + catch(Exception e){} + + return con; + } +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCConnectionHandler.java b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCConnectionHandler.java new file mode 100644 index 00000000000..da90942378b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCConnectionHandler.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.klopotek.utils.log; + +import java.sql.*; + + +/** +This interface has to be implemented for your own database-connection-handling and its used in class JDBCLogger. + +<p><b>Author : </b><A HREF="mailto:t.fenner@klopotek.de">Thomas Fenner</A></p> + +@since 1.0 +*/ +public interface JDBCConnectionHandler +{ + /**Get a connection*/ + Connection getConnection(); + /**Get a defined connection*/ + Connection getConnection(String _url, String _username, String _password); +} + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCIDHandler.java b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCIDHandler.java new file mode 100644 index 00000000000..9e6a765da7a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCIDHandler.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.klopotek.utils.log; + + +/** +This interface has to be implemented to provide ID-columns with unique IDs and its used in class JDBCLogger. + +<p><b>Author : </b><A HREF="mailto:t.fenner@klopotek.de">Thomas Fenner</A></p> + +@since 1.0 +*/ +public interface JDBCIDHandler +{ + /**Get a unique ID*/ + Object getID(); +} + + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCLogger.java b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCLogger.java new file mode 100644 index 00000000000..5edf2e8c43b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/JDBCLogger.java @@ -0,0 +1,468 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.klopotek.utils.log; + +import java.sql.*; +import java.util.*; +import org.apache.log4j.*; +import org.apache.log4j.helpers.*; +import org.apache.log4j.spi.*; + + +/** +This class encapsulate the logic which is necessary to log into a table. +Used by JDBCAppender + +<p><b>Author : </b><A HREF="mailto:t.fenner@klopotek.de">Thomas Fenner</A></p> + +@since 1.0 +*/ +public class JDBCLogger +{ + //All columns of the log-table + private ArrayList logcols = null; + //Only columns which will be provided by logging + private String column_list = null; + //Number of all columns + private int num = 0; + //Status for successful execution of method configure() + private boolean isconfigured = false; + //Status for ready to do logging with method append() + private boolean ready = false; + //This message will be filled with a error-string when method ready() failes, and can be got by calling getMsg() + private String errormsg = ""; + + private Connection con = null; + private Statement stmt = null; + private ResultSet rs = null; + private String table = null; + + //Variables for static SQL-statement logging + private String sql = null; + private String new_sql = null; + private String new_sql_part1 = null; + private String new_sql_part2 = null; + private static final String msg_wildcard = "@MSG@"; + private int msg_wildcard_pos = 0; + + /** + Writes a message into the database table. + Throws an exception, if an database-error occurs ! + */ + public void append(String _msg) throws Exception + { + if(!ready) if(!ready()) throw new Exception("JDBCLogger::append(), Not ready to append !"); + + if(sql != null) + { + appendSQL(_msg); + return; + } + + LogColumn logcol; + + rs.moveToInsertRow(); + + for(int i=0; i<num; i++) + { + logcol = (LogColumn)logcols.get(i); + + if(logcol.logtype == LogType.MSG) + { + rs.updateObject(logcol.name, _msg); + } + else if(logcol.logtype == LogType.ID) + { + rs.updateObject(logcol.name, logcol.idhandler.getID()); + } + else if(logcol.logtype == LogType.STATIC) + { + rs.updateObject(logcol.name, logcol.value); + } + else if(logcol.logtype == LogType.TIMESTAMP) + { + rs.updateObject(logcol.name, new Timestamp((new java.util.Date()).getTime())); + } + } + + rs.insertRow(); + } + + /** + Writes a message into the database using a given sql-statement. + Throws an exception, if an database-error occurs ! + */ + public void appendSQL(String _msg) throws Exception + { + if(!ready) if(!ready()) throw new Exception("JDBCLogger::appendSQL(), Not ready to append !"); + + if(sql == null) throw new Exception("JDBCLogger::appendSQL(), No SQL-Statement configured !"); + + if(msg_wildcard_pos > 0) + { + new_sql = new_sql_part1 + _msg + new_sql_part2; + } + else new_sql = sql; + + try + { + stmt.executeUpdate(new_sql); + } + catch(Exception e) + { + errormsg = new_sql; + throw e; + } + } + + + /** + Configures this class, by reading in the structure of the log-table + Throws an exception, if an database-error occurs ! + */ + public void configureTable(String _table) throws Exception + { + if(isconfigured) return; + + //Fill logcols with META-informations of the table-columns + stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); + rs = stmt.executeQuery("SELECT * FROM " + _table + " WHERE 1 = 2"); + + LogColumn logcol; + + ResultSetMetaData rsmd = rs.getMetaData(); + + num = rsmd.getColumnCount(); + + logcols = new ArrayList(num); + + for(int i=1; i<=num; i++) + { + logcol = new LogColumn(); + logcol.name = rsmd.getColumnName(i).toUpperCase(); + logcol.type = rsmd.getColumnTypeName(i); + logcol.nullable = (rsmd.isNullable(i) == rsmd.columnNullable); + logcol.isWritable = rsmd.isWritable(i); + if(!logcol.isWritable) logcol.ignore = true; + logcols.add(logcol); + } + + table = _table; + + isconfigured = true; + } + + /** + Configures this class, by storing and parsing the given sql-statement. + Throws an exception, if somethings wrong ! + */ + public void configureSQL(String _sql) throws Exception + { + if(isconfigured) return; + + if(!isConnected()) throw new Exception("JDBCLogger::configureSQL(), Not connected to database !"); + + if(_sql == null || _sql.trim().equals("")) throw new Exception("JDBCLogger::configureSQL(), Invalid SQL-Statement !"); + + sql = _sql.trim(); + + stmt = con.createStatement(); + + msg_wildcard_pos = sql.indexOf(msg_wildcard); + + if(msg_wildcard_pos > 0) + { + new_sql_part1 = sql.substring(0, msg_wildcard_pos-1) + "'"; + //between the message... + new_sql_part2 = "'" + sql.substring(msg_wildcard_pos+msg_wildcard.length()); + } + + isconfigured = true; + } + + /** + Sets a connection. Throws an exception, if the connection is not open ! + */ + public void setConnection(Connection _con) throws Exception + { + con = _con; + + if(!isConnected()) throw new Exception("JDBCLogger::setConnection(), Given connection isnt connected to database !"); + } + + + /** + Sets a columns logtype (LogTypes) and value, which depends on that logtype. + Throws an exception, if the given arguments arent correct ! + */ + public void setLogType(String _name, int _logtype, Object _value) throws Exception + { + if(!isconfigured) throw new Exception("JDBCLogger::setLogType(), Not configured !"); + + //setLogType() makes only sense for further configuration of configureTable() + if(sql != null) return; + + _name = _name.toUpperCase(); + + if(_name == null || !(_name.trim().length() > 0)) throw new Exception("JDBCLogger::setLogType(), Missing argument name !"); + if(!LogType.isLogType(_logtype)) throw new Exception("JDBCLogger::setLogType(), Invalid logtype '" + _logtype + "' !"); + if((_logtype != LogType.MSG && _logtype != LogType.EMPTY) && _value == null) throw new Exception("JDBCLogger::setLogType(), Missing argument value !"); + + LogColumn logcol; + + for(int i=0; i<num; i++) + { + logcol = (LogColumn)logcols.get(i); + + if(logcol.name.equals(_name)) + { + if(!logcol.isWritable) throw new Exception("JDBCLogger::setLogType(), Column " + _name + " is not writeable !"); + + //Column gets the message + if(_logtype == LogType.MSG) + { + logcol.logtype = _logtype; + return; + } + //Column will be provided by JDBCIDHandler::getID() + else if(_logtype == LogType.ID) + { + logcol.logtype = _logtype; + + try + { + //Try to cast directly Object to JDBCIDHandler + logcol.idhandler = (JDBCIDHandler)_value; + } + catch(Exception e) + { + try + { + //Assuming _value is of class string which contains the classname of a JDBCIDHandler + logcol.idhandler = (JDBCIDHandler)(Class.forName((String)_value).newInstance()); + } + catch(Exception e2) + { + throw new Exception("JDBCLogger::setLogType(), Cannot cast value of class " + _value.getClass() + " to class JDBCIDHandler !"); + } + } + + return; + } + + //Column will be statically defined with Object _value + else if(_logtype == LogType.STATIC) + { + logcol.logtype = _logtype; + logcol.value = _value; + return; + } + + //Column will be provided with a actually timestamp + else if(_logtype == LogType.TIMESTAMP) + { + logcol.logtype = _logtype; + return; + } + + //Column will be fully ignored during process. + //If this column is not nullable, the column has to be filled by a database trigger, + //else a database error occurs ! + //Columns which are not nullable, but should be not filled, must be explicit assigned with LogType.EMPTY, + //else a value is required ! + else if(_logtype == LogType.EMPTY) + { + logcol.logtype = _logtype; + logcol.ignore = true; + return; + } + } + } + } + + + /** + Return true, if this class is ready to append(), else false. + When not ready, a reason-String is stored in the instance-variable msg. + */ + public boolean ready() + { + if(ready) return true; + + if(!isconfigured){ errormsg = "Not ready to append ! Call configure() first !"; return false;} + + //No need to doing the whole rest... + if(sql != null) + { + ready = true; + return true; + } + + boolean msgcol_defined = false; + + LogColumn logcol; + + for(int i=0; i<num; i++) + { + logcol = (LogColumn)logcols.get(i); + + if(logcol.ignore || !logcol.isWritable) continue; + if(!logcol.nullable && logcol.logtype == LogType.EMPTY) + { + errormsg = "Not ready to append ! Column " + logcol.name + " is not nullable, and must be specified by setLogType() !"; + return false; + } + if(logcol.logtype == LogType.ID && logcol.idhandler == null) + { + errormsg = "Not ready to append ! Column " + logcol.name + " is specified as an ID-column, and a JDBCIDHandler has to be set !"; + return false; + } + else if(logcol.logtype == LogType.STATIC && logcol.value == null) + { + errormsg = "Not ready to append ! Column " + logcol.name + " is specified as a static field, and a value has to be set !"; + return false; + } + else if(logcol.logtype == LogType.MSG) msgcol_defined = true; + } + + if(!msgcol_defined) return false; + + //create the column_list + for(int i=0; i<num; i++) + { + logcol = (LogColumn)logcols.get(i); + + if(logcol.ignore || !logcol.isWritable) continue; + + if(logcol.logtype != LogType.EMPTY) + { + if(column_list == null) + { + column_list = logcol.name; + } + else column_list += ", " + logcol.name; + } + } + + try + { + rs = stmt.executeQuery("SELECT " + column_list + " FROM " + table + " WHERE 1 = 2"); + } + catch(Exception e) + { + errormsg = "Not ready to append ! Cannot select columns '" + column_list + "' of table " + table + " !"; + return false; + } + + ready = true; + + return true; + } + + /** + Return true, if this class is configured, else false. + */ + public boolean isConfigured(){ return isconfigured;} + + /** + Return true, if this connection is open, else false. + */ + public boolean isConnected() + { + try + { + return (con != null && !con.isClosed()); + } + catch(Exception e){return false;} + } + + /** + Return the internal error message stored in instance variable msg. + */ + public String getErrorMsg(){String r = new String(errormsg); errormsg = null; return r;} +} + + +/** +This class encapsulate all by class JDBCLogger needed data around a column +*/ +class LogColumn +{ + //column name + String name = null; + //column type + String type = null; + //not nullability means that this column is mandatory + boolean nullable = false; + //isWritable means that the column can be updated, else column is only readable + boolean isWritable = false; + //if ignore is true, this column will be ignored by building sql-statements. + boolean ignore = false; + + //Must be filled for not nullable columns ! In other case it is optional. + int logtype = LogType.EMPTY; + Object value = null; //Generic storage for typewrapper-classes Long, String, etc... + JDBCIDHandler idhandler = null; +} + + +/** +This class contains all constants which are necessary to define a columns log-type. +*/ +class LogType +{ + //A column of this type will receive the message. + public static final int MSG = 1; + + //A column of this type will be a unique identifier of the logged row. + public static final int ID = 2; + + //A column of this type will contain a static, one-time-defined value. + public static final int STATIC = 3; + + //A column of this type will be filled with an actual timestamp depending by the time the logging will be done. + public static final int TIMESTAMP = 4; + + //A column of this type will contain no value and will not be included in logging insert-statement. + //This could be a column which will be filled not by creation but otherwhere... + public static final int EMPTY = 5; + + + public static boolean isLogType(int _lt) + { + if(_lt == MSG || _lt == STATIC || _lt == ID || _lt == TIMESTAMP || _lt == EMPTY) return true; + + return false; + } + + public static int parseLogType(String _lt) + { + if(_lt.equals("MSG")) return MSG; + if(_lt.equals("ID")) return ID; + if(_lt.equals("STATIC")) return STATIC; + if(_lt.equals("TIMESTAMP")) return TIMESTAMP; + if(_lt.equals("EMPTY")) return EMPTY; + + return -1; + } +} + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/Log4JTest.java b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/Log4JTest.java new file mode 100644 index 00000000000..d7bb30f720a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/Log4JTest.java @@ -0,0 +1,271 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** +// Class JDBCAppender, writes messages into a database + +// The JDBCAppender is configurable at runtime in two alternatives : +// 1. Configuration-file +// Define the options in a file and call a PropertyConfigurator.configure(file)-method. +// 2. method JDBCAppender::setOption(JDBCAppender.xxx_OPTION, String value) + +// The sequence of some options is important : +// 1. Connector-option OR/AND Database-options +// Any database connection is required ! +// 2. (Table-option AND Columns-option) OR SQL-option +// Any statement is required ! +// 3. All other options can be set at any time... +// The other options are optional and have a default initialization, which can be custumized. + +// All available options are defined as static String-constants in JDBCAppender named xxx_OPTION. + +// Here is a description of all available options : +// 1. Database-options to connect to the database +// - URL_OPTION : a database url of the form jdbc:subprotocol:subname +// - USERNAME_OPTION : the database user on whose behalf the connection is being made +// - PASSWORD_OPTION : the user's password +// +// 2. Connector-option to specify your own JDBCConnectionHandler +// - CONNECTOR_OPTION : a classname which is implementing the JDBCConnectionHandler-interface +// This interface is used to get a customized connection. +// If in addition the database-options are given, these options will be used +// for invocation of the JDBCConnectionHandler-interface to get a connection. +// Else if no database-options are given, the JDBCConnectionHandler-interface is called without these options. +// +// 3. SQL-option to specify a static sql-statement which will be performed with every occuring message-event +// - SQL_OPTION : a sql-statement which will be used to write to the database +// If you give this option, the table-option and columns-option will be ignored ! +// Use the variable @MSG@ on that location in the statement, which has to be dynamically replaced by the message. +// +// 4. Table-option to specify one table contained by the database +// - TABLE_OPTION : the table in which the logging will be done +// +// 5. Columns-option to describe the important columns of the table (Not nullable columns are mandatory to describe!) +// - COLUMNS_OPTION : a formatted list of column-descriptions +// Each column description consists of +// - the name of the column (required) +// - a logtype which is a static constant of class LogType (required) +// - and a value which depends by the LogType (optional/required, depending by logtype) +// Here is a description of the available logtypes of class LogType : +// o MSG = a value will be ignored, the column will get the message. (One columns need to be of this type!) +// o STATIC = the value will be filled into the column with every logged message. (Ensure that the type of value can be casted into the sql-type of the column!) +// o ID = value must be a classname, which implements the JDBCIDHandler-interface. +// o TIMESTAMP = a value will be ignored, the column will be filled with a actually timestamp with every logged message. +// o EMPTY = a value will be ignored, the column will be ignored when writing to the database (Ensure to fill not nullable columns by a database trigger!) +// If there are more than one column to describe, the columns must be separated by a TAB-delimiter (' ') ! +// The arguments of a column-description must be separated by the delimiter '~' ! +// (Example : name1~logtype1~value1 name2~logtype2~value2...) +// +// 6. Layout-options to define the layout of the messages (optional) +// - the layout wont be set by a xxx_OPTION +// Configuration-file : see at the following configuration-file example +// JDBCAppender::setOption() : see at the following code example +// The default is a layout of class org.apache.log4j.PatternLayout with ConversionPattern=%m +// +// 7. Buffer-option to define the size of the message-event-buffer (optional) +// - BUFFER_OPTION : define how many messages will be buffered until they will be updated to the database. +// The default is a update on every message (buffer=1=no buffer). +// +// 8. Commit-option to define a auto-commitment +// - COMMIT_OPTION : define whether updated messages should be committed to the database (Y) or not (N). +// The default is a commit on every buffer-flush. + + +// Here is a Configuration-file example, which can be used with the PropertyConfigurator : +// +// Declare a appender variable named JDBC +log4j.rootCategory=JDBC + +// JDBC is a class of JDBCAppender, which writes messages into a database +log4j.appender.JDBC=JDBCAppender + +// 1. Database-options to connect to the database +log4j.appender.JDBC.url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1521))(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1526)))(CONNECT_DATA=(SID=LENZI))) +log4j.appender.JDBC.username=mex_pr_dev60 +log4j.appender.JDBC.password=mex_pr_dev60 + +// 2. Connector-option to specify your own JDBCConnectionHandler +log4j.appender.JDBC.connector=MyConnectionHandler + +// 3. SQL-option to specify a static sql-statement which will be performed with every occuring message-event +log4j.appender.JDBC.sql=INSERT INTO LOGTEST (id, msg, created_on, created_by) VALUES (1, @MSG@, sysdate, 'me') + +// 4. Table-option to specify one table contained by the database +log4j.appender.JDBC.table=logtest + +// 5. Columns-option to describe the important columns of the table (Not nullable columns are mandatory to describe!) +log4j.appender.JDBC.columns=id_seq~EMPTY id~ID~MyIDHandler msg~MSG created_on~TIMESTAMP created_by~STATIC~Thomas Fenner (t.fenner@klopotek.de) + +// 6. Layout-options to define the layout of the messages (optional) +log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout +log4j.appender.JDBC.layout.ConversionPattern=%m + +// 7. Buffer-option to define the size of the message-event-buffer (optional) +log4j.appender.JDBC.buffer=1 + +// 8. Commit-option to define a auto-commitment +log4j.appender.JDBC.commit=Y +*/ + +// Here is a code example to configure the JDBCAppender with a configuration-file : + +import org.apache.log4j.*; +import java.sql.*; +import java.lang.*; +import java.util.*; + +public class Log4JTest +{ + // Create a category instance for this class + static Category cat = Category.getInstance(Log4JTest.class.getName()); + + public static void main(String[] args) + { + // Ensure to have all necessary drivers installed ! + try + { + Driver d = (Driver)(Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()); + DriverManager.registerDriver(d); + } + catch(Exception e){} + + // Set the priority which messages have to be logged + cat.setPriority(Priority.INFO); + + // Configuration with configuration-file + PropertyConfigurator.configure("log4jtestprops.txt"); + + // These messages with Priority >= setted priority will be logged to the database. + cat.debug("debug"); //this not, because Priority DEBUG is less than INFO + cat.info("info"); + cat.error("error"); + cat.fatal("fatal"); + } +} + +// Here is a code example to configure the JDBCAppender without a configuration-file : +/* +import org.apache.log4j.*; +import java.sql.*; +import java.lang.*; +import java.util.*; + +public class Log4JTest +{ + // Create a category instance for this class + static Category cat = Category.getInstance(Log4JTest.class.getName()); + + public static void main(String[] args) + { + // A JDBCIDHandler + MyIDHandler idhandler = new MyIDHandler(); + + // Ensure to have all necessary drivers installed ! + try + { + Driver d = (Driver)(Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()); + DriverManager.registerDriver(d); + } + catch(Exception e){} + + // Set the priority which messages have to be logged + cat.setPriority(Priority.DEBUG); + + // Create a new instance of JDBCAppender + JDBCAppender ja = new JDBCAppender(); + + // Set options with method setOption() + ja.setOption(JDBCAppender.CONNECTOR_OPTION, "MyConnectionHandler"); + ja.setOption(JDBCAppender.URL_OPTION, "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1521))(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1526)))(CONNECT_DATA=(SID=LENZI)))"); + ja.setOption(JDBCAppender.USERNAME_OPTION, "mex_pr_dev60"); + ja.setOption(JDBCAppender.PASSWORD_OPTION, "mex_pr_dev60"); + + ja.setOption(JDBCAppender.TABLE_OPTION, "logtest"); + + // There are two ways to setup the column-descriptions : + // 1. Use the the method setOption(JDBCAppender.COLUMNS_OPTION, column-description) + //ja.setOption(JDBCAppender.COLUMNS_OPTION, "id_seq~EMPTY id~ID~MyIDHandler msg~MSG created_on~TIMESTAMP created_by~STATIC~:-) Thomas Fenner (t.fenner@klopotek.de)"); + // 2. Use the better way of coding with method setLogType(String columnname, int LogType.xxx, Object xxx) + ja.setLogType("id_seq", LogType.EMPTY, ""); + ja.setLogType("id", LogType.ID, idhandler); + ja.setLogType("msg", LogType.MSG, ""); + ja.setLogType("created_on", LogType.TIMESTAMP, ""); + ja.setLogType("created_by", LogType.STATIC, "FEN"); + + // If you just want to perform a static sql-statement, forget about the table- and columns-options, + // and use this one : + //ja.setOption(JDBCAppender.SQL_OPTION, "INSERT INTO LOGTEST (id, msg, created_on, created_by) VALUES (1, @MSG@, sysdate, 'me')"); + + // other options + //ja.setOption(JDBCAppender.BUFFER_OPTION, "1"); + //ja.setOption(JDBCAppender.COMMIT_OPTION, "Y"); + + // Define a layout + //ja.setLayout(new PatternLayout("%m")); + + // Add the appender to a category + cat.addAppender(ja); + + // These messages with Priority >= setted priority will be logged to the database. + cat.debug("debug"); + cat.info("info"); + cat.error("error"); + cat.fatal("fatal"); + } +} +*/ + +// Implement a sample JDBCConnectionHandler +class MyConnectionHandler implements JDBCConnectionHandler +{ + Connection con = null; + //Default connection + String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1521))(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1526)))(CONNECT_DATA=(SID=LENZI)))"; + String username = "mex_pr_dev60"; + String password = "mex_pr_dev60"; + + public Connection getConnection() + { + return getConnection(url, username, password); + } + + public Connection getConnection(String _url, String _username, String _password) + { + try + { + if(con != null && !con.isClosed()) con.close(); + con = DriverManager.getConnection(_url, _username, _password); + con.setAutoCommit(false); + } + catch(Exception e){} + + return con; + } +} + + +// Implement a sample JDBCIDHandler +class MyIDHandler implements JDBCIDHandler +{ + private static long id = 0; + + public synchronized Object getID() + { + return new Long(++id); + } +} + + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/code_example1.java b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/code_example1.java new file mode 100644 index 00000000000..8d6f7d8c252 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/code_example1.java @@ -0,0 +1,53 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Here is a code example to configure the JDBCAppender with a configuration-file + +import org.apache.log4j.*; +import java.sql.*; +import java.lang.*; +import java.util.*; + +public class Log4JTest +{ + // Create a category instance for this class + static Category cat = Category.getInstance(Log4JTest.class.getName()); + + public static void main(String[] args) + { + // Ensure to have all necessary drivers installed ! + try + { + Driver d = (Driver)(Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()); + DriverManager.registerDriver(d); + } + catch(Exception e){} + + // Set the priority which messages have to be logged + cat.setPriority(Priority.INFO); + + // Configuration with configuration-file + PropertyConfigurator.configure("log4jtestprops.txt"); + + // These messages with Priority >= setted priority will be logged to the database. + cat.debug("debug"); //this not, because Priority DEBUG is less than INFO + cat.info("info"); + cat.error("error"); + cat.fatal("fatal"); + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/code_example2.java b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/code_example2.java new file mode 100644 index 00000000000..40bb71d8c75 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/code_example2.java @@ -0,0 +1,129 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Here is a code example to configure the JDBCAppender without a configuration-file + +import org.apache.log4j.*; +import java.sql.*; +import java.lang.*; +import java.util.*; + +public class Log4JTest +{ + // Create a category instance for this class + static Category cat = Category.getInstance(Log4JTest.class.getName()); + + public static void main(String[] args) + { + // A JDBCIDHandler + MyIDHandler idhandler = new MyIDHandler(); + + // Ensure to have all necessary drivers installed ! + try + { + Driver d = (Driver)(Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()); + DriverManager.registerDriver(d); + } + catch(Exception e){} + + // Set the priority which messages have to be logged + cat.setPriority(Priority.DEBUG); + + // Create a new instance of JDBCAppender + JDBCAppender ja = new JDBCAppender(); + + // Set options with method setOption() + ja.setOption(JDBCAppender.CONNECTOR_OPTION, "MyConnectionHandler"); + ja.setOption(JDBCAppender.URL_OPTION, "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1521))(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1526)))(CONNECT_DATA=(SID=LENZI)))"); + ja.setOption(JDBCAppender.USERNAME_OPTION, "mex_pr_dev60"); + ja.setOption(JDBCAppender.PASSWORD_OPTION, "mex_pr_dev60"); + + ja.setOption(JDBCAppender.TABLE_OPTION, "logtest"); + + // There are two ways to setup the column-descriptions : + // 1. Use the the method setOption(JDBCAppender.COLUMNS_OPTION, column-description) + //ja.setOption(JDBCAppender.COLUMNS_OPTION, "id_seq~EMPTY id~ID~MyIDHandler msg~MSG created_on~TIMESTAMP created_by~STATIC~:-) Thomas Fenner (t.fenner@klopotek.de)"); + + // 2. Use the better way of coding with method setLogType(String columnname, int LogType.xxx, Object xxx) + ja.setLogType("id_seq", LogType.EMPTY, ""); + ja.setLogType("id", LogType.ID, idhandler); + ja.setLogType("msg", LogType.MSG, ""); + ja.setLogType("created_on", LogType.TIMESTAMP, ""); + ja.setLogType("created_by", LogType.STATIC, "FEN"); + + // If you just want to perform a static sql-statement, forget about the table- and columns-options, + // and use this one : + //ja.setOption(JDBCAppender.SQL_OPTION, "INSERT INTO LOGTEST (id, msg, created_on, created_by) VALUES (1, @MSG@, sysdate, 'me')"); + + // other options + //ja.setOption(JDBCAppender.BUFFER_OPTION, "1"); + //ja.setOption(JDBCAppender.COMMIT_OPTION, "Y"); + + // Define a layout + //ja.setLayout(new PatternLayout("%m")); + + // Add the appender to a category + cat.addAppender(ja); + + // These messages with Priority >= setted priority will be logged to the database. + cat.debug("debug"); + cat.info("info"); + cat.error("error"); + cat.fatal("fatal"); + } +} + +// Implement a sample JDBCConnectionHandler +class MyConnectionHandler implements JDBCConnectionHandler +{ + Connection con = null; + //Default connection + String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1521))(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1526)))(CONNECT_DATA=(SID=LENZI)))"; + String username = "mex_pr_dev60"; + String password = "mex_pr_dev60"; + + public Connection getConnection() + { + return getConnection(url, username, password); + } + + public Connection getConnection(String _url, String _username, String _password) + { + try + { + if(con != null && !con.isClosed()) con.close(); + con = DriverManager.getConnection(_url, _username, _password); + con.setAutoCommit(false); + } + catch(Exception e){} + + return con; + } +} + + +// Implement a sample JDBCIDHandler +class MyIDHandler implements JDBCIDHandler +{ + private static long id = 0; + + public synchronized Object getID() + { + return new Long(++id); + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/configfile_example.txt b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/configfile_example.txt new file mode 100644 index 00000000000..0189a7dc0f5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/ThomasFenner/configfile_example.txt @@ -0,0 +1,52 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Here is a Configuration-file example, which can be used with the PropertyConfigurator : + + + +# Declare a appender variable named JDBC +log4j.rootCategory=JDBC + +# JDBC is a class of JDBCAppender, which writes messages into a database +log4j.appender.JDBC=JDBCAppender + +# 1. Database-options to connect to the database +log4j.appender.JDBC.url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1521))(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1526)))(CONNECT_DATA=(SID=LENZI))) +log4j.appender.JDBC.username=mex_pr_dev60 +log4j.appender.JDBC.password=mex_pr_dev60 + +# 2. Connector-option to specify your own JDBCConnectionHandler +#log4j.appender.JDBC.connector=MyConnectionHandler + +# 3. SQL-option to specify a static sql-statement which will be performed with every occuring message-event +#log4j.appender.JDBC.sql=INSERT INTO LOGTEST (id, msg, created_on, created_by) VALUES (1, @MSG@, sysdate, 'me') + +# 4. Table-option to specify one table contained by the database +log4j.appender.JDBC.table=logtest + +# 5. Columns-option to describe the important columns of the table (Not nullable columns are mandatory to describe!) +log4j.appender.JDBC.columns=id_seq~EMPTY id~ID~MyIDHandler msg~MSG created_on~TIMESTAMP created_by~STATIC~Thomas Fenner (t.fenner@klopotek.de) + +# 6. Layout-options to define the layout of the messages (optional) +#log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout +#log4j.appender.JDBC.layout.ConversionPattern=%m + +# 7. Buffer-option to define the size of the message-event-buffer (optional) +#log4j.appender.JDBC.buffer=1 + +# 8. Commit-option to define a auto-commitment (optional) +#log4j.appender.JDBC.commit=Y + diff --git a/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/HTTPRequestHandler.java b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/HTTPRequestHandler.java new file mode 100644 index 00000000000..d426e868671 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/HTTPRequestHandler.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.psibt.framework.net; + +import java.io.*; +import java.net.*; + +/** + * This interface defines all methods that have to be implemented for a HTTPRequestHandler for the + * PluggableHTTPServer. + * + * @author <a HREF="mailto:V.Mentzner@psi-bt.de">Volker Mentzner</a> + */ +public interface HTTPRequestHandler { + + /** + * Gets the title for html page + */ + public String getTitle(); + + /** + * Sets the title for html page + */ + public void setTitle(String title); + + /** + * Gets the description for html page + */ + public String getDescription(); + + /** + * Sets the description for html page + */ + public void setDescription(String description); + + /** + * Gets the virtual path in the HTTP server that ist handled in this HTTPRequestHandler. + * So the root path handler will return "/" (without brackets) because it handles the path + * "http://servername/" or a handler for "http://servername/somepath/" will return "/somepath/" + * It is important to include the trailing "/" because all HTTPRequestHandler have to serve a path! + */ + public String getHandledPath(); + + /** + * Sets the virtual path in the HTTP server that ist handled in this HTTPRequestHandler. + * So set the path to "/" for the root path handler because it handles the path + * "http://servername/" or set it to "/somepath/" for a handler for "http://servername/somepath/". + * It is important to include the trailing "/" because all HTTPRequestHandler have to serve a path! + */ + public void setHandledPath(String path); + + /** + * Handles the given request and writes the reply to the given out-stream. Every handler has to check + * the request for the right path info. + * + * @param request - client browser request + * @param out - Out stream for sending data to client browser + * @return if the request was handled by this handler : true, else : false + */ + public boolean handleRequest(String request, Writer out); +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/Log4jRequestHandler.java b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/Log4jRequestHandler.java new file mode 100644 index 00000000000..bf231a04d31 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/Log4jRequestHandler.java @@ -0,0 +1,177 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.psibt.framework.net; + +import java.io.*; +import java.net.*; +import java.util.*; +import org.apache.log4j.*; + +/** + * This class implements a RequestHandler for log4j configuration. It serves the "/log4j/" path + * in the PluggableHTTPServer. If this path is requested a list of all current log4j categories + * with their current priorities is created. All priority settings can be changed by the user + * and can be submitted and taken over. + * + * @author <a HREF="mailto:V.Mentzner@psi-bt.de">Volker Mentzner</a> + */ +public class Log4jRequestHandler extends RootRequestHandler { + + private Priority[] prios = Priority.getAllPossiblePriorities(); + + /** + * Creates a new Log4jRequestHandler object + */ + public Log4jRequestHandler() { + this.setTitle("log4j"); + this.setDescription("log4j configuration"); + this.setHandledPath("/log4j/"); + } + + /** + * Handles the given request and writes the reply to the given out-stream. + * + * @param request - client browser request + * @param out - Out stream for sending data to client browser + * @return if the request was handled by this handler : true, else : false + */ + public boolean handleRequest(String request, Writer out) { + String path = ""; + String query = null; + String name; + try { + // check request url + URL url = new URL("http://localhost"+request); + path = url.getPath(); + query = url.getQuery(); + if (path.startsWith(this.getHandledPath()) == false) { + return false; + } + + out.write("HTTP/1.0 200 OK\r\n"); + out.write("Content-type: text/html\r\n\r\n"); + out.write("<HTML><HEAD><TITLE>" + this.getTitle() + "</TITLE></HEAD>\r\n"); + out.write("<BODY><H1>log4j</H1>\r\n"); + out.write(this.getDescription() + "<br><br>\r\n"); + + // handle a request with query + if ((query != null) && (query.length() >= 0)) { + StringTokenizer st = new StringTokenizer(query, "&"); + String cmd; + String catname; + String catval; + int idx; + while (st.hasMoreTokens()) { + cmd = st.nextToken(); + idx = cmd.indexOf("="); + catname = cmd.substring(0, idx); + catval = cmd.substring(idx+1, cmd.length()); + if (catname.equalsIgnoreCase("root")) + Category.getRoot().setPriority(Priority.toPriority(catval)); + else + Category.getInstance(catname).setPriority(Priority.toPriority(catval)); + } + } + + // output category information in a form with a simple table + out.write("<form name=\"Formular\" ACTION=\""+this.getHandledPath()+"\" METHOD=\"PUT\">"); + out.write("<table cellpadding=4>\r\n"); + out.write(" <tr>\r\n"); + out.write(" <td><b>Category</b></td>\r\n"); + out.write(" <td><b>Priority</b></td>\r\n"); + out.write(" <td><b>Appender</b></td>\r\n"); + out.write(" </tr>\r\n"); + + // output for root category + Category cat = Category.getRoot(); + out.write(" <tr><td>root</td>\r\n"); + out.write(" <td>\r\n"); + out.write(" <select size=1 name=\""+ cat.getName() +"\">"); + for (int i = 0; i < prios.length; i++) { + if (cat.getChainedPriority().toString().equals(prios[i].toString())) + out.write("<option selected>"+prios[i].toString()); + else + out.write("<option>"+prios[i].toString()); + } + out.write("</select>\r\n"); + out.write(" </td>\r\n"); + out.write(" <td>\r\n"); + for (Enumeration apds = cat.getAllAppenders(); apds.hasMoreElements();) { + Appender apd = (Appender)apds.nextElement(); + name = apd.getName(); + if (name == null) + name = "<i>(no name)</i>"; + out.write(name); + if (apd instanceof AppenderSkeleton) { + try { + AppenderSkeleton apskel = (AppenderSkeleton)apd; + out.write(" [" + apskel.getThreshold().toString() + "]"); + } catch (Exception ex) { + } + } + if (apds.hasMoreElements()) + out.write(", "); + } + out.write(" </td>\r\n"); + out.write(" </tr>\r\n"); + + // output for all other categories + for (Enumeration en = Category.getCurrentCategories(); en.hasMoreElements();) { + cat = (Category)en.nextElement(); + out.write(" <tr>\r\n"); + out.write(" <td>" + cat.getName() + "</td>\r\n"); + out.write(" <td>\r\n"); + out.write(" <select size=1 name=\""+ cat.getName() +"\">"); + for (int i = 0; i < prios.length; i++) { + if (cat.getChainedPriority().toString().equals(prios[i].toString())) + out.write("<option selected>"+prios[i].toString()); + else + out.write("<option>"+prios[i].toString()); + } + out.write("</select>\r\n"); + out.write(" </td>\r\n"); + out.write(" <td>\r\n"); + for (Enumeration apds = cat.getAllAppenders(); apds.hasMoreElements();) { + Appender apd = (Appender)apds.nextElement(); + name = apd.getName(); + if (name == null) + name = "<i>(no name)</i>"; + out.write(name); + if (apd instanceof AppenderSkeleton) { + try { + AppenderSkeleton apskel = (AppenderSkeleton)apd; + out.write(" [" + apskel.getThreshold().toString() + "]"); + } catch (Exception ex) { + } + } + if (apds.hasMoreElements()) + out.write(", "); + } + out.write(" </td>\r\n"); + out.write(" </tr>\r\n"); + } + out.write("</table>\r\n"); + out.write("<input type=submit value=\"Submit\">"); + out.write("</form>"); + out.write("</BODY></HTML>\r\n"); + out.flush(); + return true; + } catch (Exception ex) { + return false; + } + } +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/PluggableHTTPServer.java b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/PluggableHTTPServer.java new file mode 100644 index 00000000000..12aa063786b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/PluggableHTTPServer.java @@ -0,0 +1,262 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.psibt.framework.net; + +import java.net.*; +import java.io.*; +import java.util.*; +import org.apache.log4j.*; + +/** + * This class implements a HTTP-server frame. All HTTP-requests are handled by HTTPRequestHandler + * classes which implement the <code>HTTPRequestHandler</code> interface. Every RequestHandler has + * to be registered in the PluggableHTTPServer with the <code>addRequestHandler</code> method. + * A new thread is created for each connection to handle the request. If all reply data are sent + * to the client the connection is closed and the thread ends. + * An example how to use the PluggableHTTPServer class can be found in the <code>main</code> method + * at the end of the source file. + * + * @author <a HREF="mailto:V.Mentzner@psi-bt.de">Volker Mentzner</a> + */ +public class PluggableHTTPServer implements Runnable { + + public static final int DEFAULT_PORT = 80; + static Category cat = Category.getInstance("PluggableHTTPServer"); + private int port; + private Vector handler; + private ServerSocket server; + + /** + * Creates a new server object on the given TCP port. + * If the port is occupied by another process a IOException (java.net.BindException) is thrown. + * + * @param port - TCP port number to listen on for requests + */ + public PluggableHTTPServer(int port) throws IOException { + this.port = port; + this.handler = new Vector(); + cat.setPriority(Priority.ERROR); + server = new ServerSocket(this.port); + } + + /** + * Creates a new server object on the default TCP port 80 + * If the port is occupied by another process a IOException (java.net.BindException) is thrown. + */ + public PluggableHTTPServer() throws IOException { + this(DEFAULT_PORT); + } + + /** + * Registers the given HTTPRequestHandler + * + * @param h - the HTTPRequestHandler to register + */ + public void addRequestHandler(HTTPRequestHandler h) { + handler.add(h); + } + + /** + * Unregisters the given HTTPRequestHandler + * + * @param h - the HTTPRequestHandler to unregister + */ + public void removeRequestHandler(HTTPRequestHandler h) { + handler.remove(h); + } + + /** + * Sends the HTTP message 404 - File Not Found + * see RFC2616 for details + * + * @param out - Out stream for sending data to client browser + */ + public static void replyNotFound(Writer out) { + try { + out.write("HTTP/1.0 404 Not Found\r\n"); + out.write("<HTML><HEAD><TITLE>Not Found</TITLE></HEAD>\r\n"); + out.write("<BODY><H1>Not Found</H1>\r\n"); + out.write("</BODY></HTML>\r\n"); + out.flush(); + } // end try + catch (IOException e) { + } + } + + /** + * Sends the HTTP message 405 - Method Not Allowed + * see RFC2616 for details + * + * @param out - Out stream for sending data to client browser + */ + public static void replyMethodNotAllowed(Writer out) { + try { + out.write("HTTP/1.1 405 Method Not Allowed\r\n"); + out.write("Allow: GET, PUT\r\n"); + out.write("<HTML><HEAD><TITLE>Method Not Allowed</TITLE></HEAD>\r\n"); + out.write("<BODY><H1>Method Not Allowed</H1>\r\n"); + out.write("</BODY></HTML>\r\n"); + out.flush(); + } // end try + catch (IOException e) { + } + } + + /** + * Creates the ReplyHTML data for the root page + * + * @param index - index of the RootRequestHandler + */ + public void autoCreateRootPage(int index) { + if (handler.get(index) instanceof RootRequestHandler) { + RootRequestHandler r = (RootRequestHandler)handler.get(index); + String html = "<HTML><HEAD><TITLE>"+r.getTitle()+"</TITLE></HEAD>\r\n"; + html = html + "<BODY><H1>"+r.getDescription()+"</H1>\r\n"; + for (int i = 0; i < handler.size(); i++) { + html = html + "<a href=\"" + ((HTTPRequestHandler)handler.get(i)).getHandledPath(); + html = html + "\">" + ((HTTPRequestHandler)handler.get(i)).getDescription() + "</a><br>"; + } + html = html + "</BODY></HTML>\r\n"; + r.setReplyHTML(html); + } + } + + /** + * Main loop of the PluggableHTTPServer + */ + public void run() { + while (true) { + try { + Socket s = server.accept(); + Thread t = new ServerThread(s); + t.start(); + } + catch (IOException e) { + } + } + } + + /** + * This class handles the incomming connection for one request. + */ + class ServerThread extends Thread { + + private Socket connection; + + ServerThread(Socket s) { + this.connection = s; + } + + /** + * Serves the HTTP request. + */ + public void run() { + try { + Writer out = new BufferedWriter( + new OutputStreamWriter( + connection.getOutputStream(), "ASCII" + ) + ); + Reader in = new InputStreamReader( + new BufferedInputStream( + connection.getInputStream() + ) + ); + + // read the first line only; that's all we need + StringBuffer req = new StringBuffer(80); + while (true) { + int c = in.read(); + if (c == '\r' || c == '\n' || c == -1) break; + req.append((char) c); + } + String get = req.toString(); + cat.debug(get); + StringTokenizer st = new StringTokenizer(get); + String method = st.nextToken(); + String request = st.nextToken(); + String version = st.nextToken(); + + if (method.equalsIgnoreCase("GET")) { + boolean served = false; + for (int i = 0; i < handler.size(); i++) { + if (handler.get(i) instanceof HTTPRequestHandler) { + if (((HTTPRequestHandler)handler.get(i)).handleRequest(request, out)) { + served = true; + break; + } + } + } + if (!served) + PluggableHTTPServer.replyNotFound(out); + } + else { + PluggableHTTPServer.replyMethodNotAllowed(out); + } + } // end try + catch (IOException e) { + } + finally { + try { + if (connection != null) connection.close(); + } + catch (IOException e) {} + } + } // end run + } // end class ServerThread + + /** + * Demo how to use the PluggableHTTPServer. + */ + public static void main(String[] args) { + + int thePort; + + // create some logging stuff + BasicConfigurator.configure(); + Category cat1 = Category.getInstance("cat1"); + cat1.addAppender(new org.apache.log4j.ConsoleAppender(new PatternLayout("%m%n"))); + Category cat2 = Category.getInstance("cat2"); + cat2.setPriority(Priority.INFO); + cat2.addAppender(new org.apache.log4j.ConsoleAppender(new PatternLayout("%c - %m%n"))); + + // set TCP port number + try { + thePort = Integer.parseInt(args[1]); + } + catch (Exception e) { + thePort = PluggableHTTPServer.DEFAULT_PORT; + } + + PluggableHTTPServer server = null; + while (server == null) { + try { + server = new PluggableHTTPServer(thePort); + server.addRequestHandler(new RootRequestHandler()); + server.addRequestHandler(new Log4jRequestHandler()); + server.addRequestHandler(new UserDialogRequestHandler()); + server.autoCreateRootPage(0); + Thread t = new Thread(server); + t.start(); + } catch (IOException e) { + server = null; + thePort++; + } + } + + } // end main +} diff --git a/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/RootRequestHandler.java b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/RootRequestHandler.java new file mode 100644 index 00000000000..121d39b0e31 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/RootRequestHandler.java @@ -0,0 +1,159 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.psibt.framework.net; + +import java.io.*; +import java.net.*; +import java.util.*; + +/** + * This class implements a RequestHandler for the root path "/" in the PluggableHTTPServer. + * A simple HTML message will be replied to the client. + * + * @author <a HREF="mailto:V.Mentzner@psi-bt.de">Volker Mentzner</a> + */ +public class RootRequestHandler implements HTTPRequestHandler { + + private String title; + private String description; + private String handledPath; + private String ReplyType = "Content-type: text/html\r\n\r\n"; + private String ReplyHTML = "<HTML><HEAD><TITLE>Root</TITLE></HEAD>\r\n" + + "<BODY><H1>Root</H1>\r\n" + + "</BODY></HTML>\r\n"; + + /** + * Creates a new RootRequestHandler object + */ + public RootRequestHandler() { + this.setTitle("root page"); + this.setDescription("root page"); + this.setHandledPath("/"); + } + + /** + * Gets the content type of the reply HTTP message + * + * @return content type as String + */ + public String getReplyType() { + return this.ReplyType; + } + + /** + * Sets the content type of the reply HTTP message + * + * @param ReplyType - content type as String + */ + public void setReplyType(String ReplyType) { + this.ReplyType = ReplyType; + } + + /** + * Gets the HTML data of the reply HTTP message + * + * @return HTML message as String + */ + public String getReplyHTML() { + return this.ReplyHTML; + } + + /** + * Sets the HTML data of the reply HTTP message + * + * @param ReplyHTML - HTML message as String + */ + public void setReplyHTML(String ReplyHTML) { + this.ReplyHTML = ReplyHTML; + } + + /** + * Gets the title for html page + */ + public String getTitle() { + return this.title; + } + + /** + * Sets the title for html page + */ + public void setTitle(String title) { + this.title = title; + } + + /** + * Gets the description for html page + */ + public String getDescription() { + return this.description; + } + + /** + * Sets the description for html page + */ + public void setDescription(String description) { + this.description = description; + } + + /** + * Gets the server path + * + * @return the server path + */ + public String getHandledPath() { + return this.handledPath; + } + + /** + * Sets the server path + * + * @param path - the server path + */ + public void setHandledPath(String path) { + this.handledPath = path; + } + + /** + * Handles the given request and writes the reply to the given out-stream. + * + * @param request - client browser request + * @param out - Out stream for sending data to client browser + * @return if the request was handled by this handler : true, else : false + */ + public boolean handleRequest(String request, Writer out) { + String path = ""; + String query = null; + try { + URL url = new URL("http://localhost"+request); + path = url.getPath(); + query = url.getPath(); + if (path.equals(handledPath) == false) { + return false; + } + + out.write("HTTP/1.0 200 OK\r\n"); + if (ReplyType != null) + out.write(ReplyType); + if (ReplyHTML != null) + out.write(ReplyHTML); + out.flush(); + return true; + } catch (Exception ex) { + return false; + } + } +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/UserDialogRequestHandler.java b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/UserDialogRequestHandler.java new file mode 100644 index 00000000000..4a5124dd8b2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/UserDialogRequestHandler.java @@ -0,0 +1,135 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Title: PSI Java Framework: UserDialogRequestHandler<p> + * Copyright: PSI-BT AG<p> + * History: + * Date Author What's new + * 16.04.2001 VMentzner Created + */ + +package com.psibt.framework.net; +/** + * This class implements a RequestHandler for the path "/userdialog/" in the PluggableHTTPServer. + * A simple input form is presented in the browser where you can enter a message. This message will be sent + * to the PluggableHTTPServer and shown in a JOptionPane MessageDialog. + * + * @author <a HREF="mailto:V.Mentzner@psi-bt.de">Volker Mentzner</a> + */ +public class UserDialogRequestHandler extends RootRequestHandler { + + private Component parentComponent; + + /** + * Creates a new UserDialogRequestHandler object + */ + public UserDialogRequestHandler() { + this(null); + } + + /** + * Creates a new UserDialogRequestHandler object with a parentComponent reference + */ + public UserDialogRequestHandler(Component parentComponent) { + this.setTitle("user dialog"); + this.setDescription("show user dialog"); + this.setHandledPath("/userdialog/"); + this.parentComponent = parentComponent; + } + + /** + * Handles the given request and writes the reply to the given out-stream. + * + * @param request - client browser request + * @param out - Out stream for sending data to client browser + * @return if the request was handled by this handler : true, else : false + */ + public boolean handleRequest(String request, Writer out) { + String path = ""; + String query = null; + try { + URL url = new URL("http://localhost"+request); + path = url.getPath(); + query = url.getQuery(); + if (path.startsWith(this.getHandledPath()) == false) { + return false; + } + + out.write("HTTP/1.0 200 OK\r\n"); + out.write("Content-type: text/html\r\n\r\n"); + out.write("<HTML><HEAD><TITLE>" + this.getTitle() + "</TITLE></HEAD>\r\n"); + out.write("<BODY><H1>" + this.getDescription() + "</H1>\r\n"); + if ((query != null) && (query.length() >= 0)) { + int idx = query.indexOf("="); + String message = query.substring(idx+1, query.length()); + // replace '+' by space + message = message.replace('+', ' '); + // replace hex strings starting with '%' by their values + idx = message.indexOf("%"); + while (idx >= 0) { + String sl = message.substring(0, idx); + String sm = message.substring(idx+1, idx+3); + String sr = message.substring(idx+3, message.length()); + try { + int i = Integer.parseInt(sm, 16); + sm = String.valueOf((char)i); + } + catch (Exception ex) { + sm = ""; + } + message = sl + sm + sr; + idx = message.indexOf("%"); + } + // show message in a new thread + if ((message != null) && (message.length() > 0)) { + Thread t = new Thread(new DialogThread(parentComponent, message)); + t.start(); + } + } + out.write("<form name=\"Formular\" ACTION=\""+this.getHandledPath()+"+\" METHOD=\"PUT\">"); + out.write("<table>\r\n"); + out.write(" <tr><td>Send message to user</td></tr>\r\n"); + out.write(" <tr><td><textarea name=\"message\" rows=10 cols=50></textarea></td></tr>\r\n"); + out.write("</table>\r\n"); + out.write("<input type=submit value=\"Submit\">"); + out.write("</form>"); + out.write("</BODY></HTML>\r\n"); + out.flush(); + return true; + } catch (Exception ex) { + return false; + } + } + + /** + * Internal class to start the user dialog in a new thread. This makes the RequestHandler return + * immediatly + */ + class DialogThread implements Runnable { + private Component parentComponent; + private String message; + + public DialogThread(Component parentComponent, String message) { + this.parentComponent = parentComponent; + this.message = message; + } + + public void run() { + JOptionPane.showMessageDialog(parentComponent, message); + } + } +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/mail-03-05-2001 b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/mail-03-05-2001 new file mode 100644 index 00000000000..f69433351cc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/contribs/VolkerMentzner/mail-03-05-2001 @@ -0,0 +1,42 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + +Delivered-To: cgu@qos.ch +From: "Mentzner, Volker" <V.Mentzner@PSI-BT.de> +To: "'cgu@qos.ch'" <cgu@qos.ch> +Subject: Remote configuring log4j +Date: Thu, 3 May 2001 08:10:25 +0200 +X-Mailer: Internet Mail Service (5.5.2653.19) + +Hi Ceki, + +I am using log4j in a GUI project. Working at the application I found +it useful to remotely configure log4j with my favourite browser. This +is reached by using a very small web server (PluggableHTTPServer) with +extentions for tasks like configuring log4j. You can easily put this +web server in an application, an example can be found in +PluggableHTTPServer.main(). Maybe someone else can use this too, so I +sent it to you to give it to the contrib dir if you like it. + +Regards + + +Volker Mentzner + + <<pluggableServer.zip>> + diff --git a/thirdparty/apache-log4j-1.2.16/examples/MyPatternLayout.java b/thirdparty/apache-log4j-1.2.16/examples/MyPatternLayout.java new file mode 100644 index 00000000000..8cb563da8e1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/MyPatternLayout.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples; + +import org.apache.log4j.*; +import org.apache.log4j.helpers.PatternParser; + +/** + + Example showing how to extend PatternLayout to recognize additional + conversion characters. + + <p>In this case MyPatternLayout recognizes %# conversion pattern. It + outputs the value of an internal counter which is also incremented + at each call. + + <p>See <a href=doc-files/MyPatternLayout.java><b>source</b></a> code + for more details. + + @see MyPatternParser + @see org.apache.log4j.PatternLayout + @author Anders Kristensen +*/ +public class MyPatternLayout extends PatternLayout { + public + MyPatternLayout() { + this(DEFAULT_CONVERSION_PATTERN); + } + + public + MyPatternLayout(String pattern) { + super(pattern); + } + + public + PatternParser createPatternParser(String pattern) { + return new MyPatternParser( + pattern == null ? DEFAULT_CONVERSION_PATTERN : pattern); + } + + public + static void main(String[] args) { + Layout layout = new MyPatternLayout("[counter=%.10#] - %m%n"); + Logger logger = Logger.getLogger("some.cat"); + logger.addAppender(new ConsoleAppender(layout, ConsoleAppender.SYSTEM_OUT)); + logger.debug("Hello, log"); + logger.info("Hello again..."); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/MyPatternParser.java b/thirdparty/apache-log4j-1.2.16/examples/MyPatternParser.java new file mode 100644 index 00000000000..b65746bec89 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/MyPatternParser.java @@ -0,0 +1,72 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples; + +import org.apache.log4j.helpers.FormattingInfo; +import org.apache.log4j.helpers.PatternConverter; +import org.apache.log4j.helpers.PatternParser; +import org.apache.log4j.spi.LoggingEvent; + +/** + Example showing how to extend PatternParser to recognize additional + conversion characters. The examples shows that minimum and maximum + width and alignment settings apply for "extension" conversion + characters just as they do for PatternLayout recognized characters. + + <p>In this case MyPatternParser recognizes %# and outputs the value + of an internal counter which is also incremented at each call. + + See <a href=doc-files/MyPatternParser.java><b>source</b></a> code + for more details. + + @see org.apache.log4j.examples.MyPatternLayout + @see org.apache.log4j.helpers.PatternParser + @see org.apache.log4j.PatternLayout + + @author Anders Kristensen +*/ +public class MyPatternParser extends PatternParser { + + int counter = 0; + + public + MyPatternParser(String pattern) { + super(pattern); + } + + public + void finalizeConverter(char c) { + if (c == '#') { + addConverter(new UserDirPatternConverter(formattingInfo)); + currentLiteral.setLength(0); + } else { + super.finalizeConverter(c); + } + } + + private class UserDirPatternConverter extends PatternConverter { + UserDirPatternConverter(FormattingInfo formattingInfo) { + super(formattingInfo); + } + + public + String convert(LoggingEvent event) { + return String.valueOf(++counter); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/NumberCruncher.java b/thirdparty/apache-log4j-1.2.16/examples/NumberCruncher.java new file mode 100644 index 00000000000..84ba303c287 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/NumberCruncher.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples; + +import java.rmi.Remote; +import java.rmi.RemoteException; + +/** + NumberCruncher's factor positive integers. See <a + href=doc-files/NumberCruncher.java>source</a> code for more details. + + @author Ceki G&uuml;lc&uuml; + +*/ +public interface NumberCruncher extends Remote { + + /** + Factor a positive integer <code>number</code> and return its + <em>distinct</em> factor's as an integer array. + */ + int[] factor(int number) throws RemoteException; +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/NumberCruncherClient.java b/thirdparty/apache-log4j-1.2.16/examples/NumberCruncherClient.java new file mode 100644 index 00000000000..4f58271bc48 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/NumberCruncherClient.java @@ -0,0 +1,107 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples; + +import java.rmi.RemoteException; +import java.rmi.Naming; +import java.io.*; + +/** + NumberCruncherClient is a simple client for factoring integers. A + remote NumberCruncher is contacted and asked to factor an + integer. The factors returned by the {@link NumberCruncherServer} + are displayed on the screen. + + <p>See <a href=doc-files/NumberCruncherClient.java>source</a> code of + <code>NumberCruncherClient</code> for more details. + + <pre> + <b>Usage:</b> java org.apache.log4j.examples.NumberCruncherClient HOST + &nbsp;&nbsp;&nbsp;&nbsp;where HOST is the machine where the NumberCruncherServer is running + </pre> + + <p>Note that class files for the example code is not included in + any of the distributed log4j jar files. You will have to add the + directory <code>/dir-where-you-unpacked-log4j/classes</code> to + your classpath before trying out the examples. + + @author Ceki G&uuml;lc&uuml; + + */ +public class NumberCruncherClient { + + + public static void main(String[] args) { + if(args.length == 1) { + try { + String url = "rmi://"+args[0]+ "/Factor"; + NumberCruncher nc = (NumberCruncher) Naming.lookup(url); + loop(nc); + } + catch(Exception e) { + e.printStackTrace(); + } + } + else + usage("Wrong number of arguments."); + } + + static + void usage(String msg) { + System.err.println(msg); + System.err.println( + "Usage: java org.apache.log4j.examples.NumberCruncherClient HOST\n" + + " where HOST is the machine where the NumberCruncherServer is running."); + System.exit(1); + } + + + static + void loop(NumberCruncher nc) { + BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + int i = 0; + while (true) { + System.out.print("Enter a number to factor, '-1' to quit: "); + try { + i = Integer.parseInt(in.readLine()); + } + catch(Exception e) { + e.printStackTrace(); + } + if(i == -1) { + System.out.print("Exiting loop."); + return; + } + else { + try { + System.out.println("Will attempt to factor "+i); + int[] factors = nc.factor(i); + System.out.print("The factors of "+i+" are"); + for(int k=0; k < factors.length; k++) { + System.out.print(" " + factors[k]); + } + System.out.println("."); + } + catch(RemoteException e) { + System.err.println("Could not factor "+i); + e.printStackTrace(); + } + } + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/NumberCruncherServer.java b/thirdparty/apache-log4j-1.2.16/examples/NumberCruncherServer.java new file mode 100644 index 00000000000..e981243d647 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/NumberCruncherServer.java @@ -0,0 +1,172 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples; + +import java.rmi.server.UnicastRemoteObject; +import java.rmi.RemoteException; +import java.rmi.Naming; +import java.util.Vector; + +import org.apache.log4j.Logger; +import org.apache.log4j.NDC; +import org.apache.log4j.PropertyConfigurator; + +/** + A simple {@link NumberCruncher} implementation that logs its + progress when factoring numbers. The purpose of the whole exercise + is to show the use of nested diagnostic contexts in order to + distinguish the log output from different client requests. + + <pre> + <b>Usage:</b> java org.apache.log4j.examples.NumberCruncherServer <em>configFile</em> + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where <em>configFile</em> is a log4j configuration file. + </pre> + + We supply a simple config file <a href=doc-files/factor.lcf>factor.lcf</a> + for directing log output to the file <code>factor.log</code>. + + <p>Try it yourself by starting a <code>NumberCruncherServer</code> + and make queries from multiple {@link NumberCruncherClient + NumberCruncherClients} to factor numbers. + + + <p><b><a href="doc-files/factor.html">Sample output</a></b> shows the log + output when two clients connect to the server near simultaneously. + + <p>See <a href=doc-files/NumberCruncherServer.java>source</a> code + of <code>NumberCruncherServer</code> for more details. + + <p>Note that class files for the example code is not included in + any of the distributed log4j jar files. You will have to add the + directory <code>/dir-where-you-unpacked-log4j/classes</code> to + your classpath before trying out the examples. + + + */ +public class NumberCruncherServer extends UnicastRemoteObject + implements NumberCruncher { + private static final long serialVersionUID = 2626753561969426769L; + + + static Logger logger = Logger.getLogger(NumberCruncherServer.class); + + public + NumberCruncherServer() throws RemoteException { + } + + public + int[] factor(int number) throws RemoteException { + + // The client's host is an important source of information. + try { + NDC.push(getClientHost()); + } + catch(java.rmi.server.ServerNotActiveException e) { + // we are being called from same VM + NDC.push("localhost"); + } + + // The information contained within the request is another source of + // distinctive information. It might reveal the users name, date of request, + // request ID etc. In servlet type environments, much information is + // contained in cookies. + NDC.push(String.valueOf(number)); + + logger.info("Beginning to factor."); + if(number <= 0) { + throw new IllegalArgumentException(number+" is not a positive integer."); + } + else if(number == 1) + return new int[] {1}; + + Vector factors = new Vector(); + int n = number; + + for(int i = 2; (i <= n) && (i*i <= number); i++) { + // It is bad practice to place log requests within tight loops. + // It is done here to show interleaved log output from + // different requests. + logger.debug("Trying to see if " + i + " is a factor."); + + if((n % i) == 0) { + logger.info("Found factor "+i); + factors.addElement(new Integer(i)); + do { + n /= i; + } while((n % i) == 0); + } + // Placing artificial delays in tight-loops will also lead to sub-optimal + // resuts. :-) + delay(100); + } + + if(n != 1) { + logger.info("Found factor "+n); + factors.addElement(new Integer(n)); + } + + int len = factors.size(); + + int[] result = new int[len]; + for(int i = 0; i < len; i++) { + result[i] = ((Integer) factors.elementAt(i)).intValue(); + } + + // Before leaving a thread we call NDC.remove. This deletes the reference + // to the thread in the internal hash table. Version 0.8.5 introduces a + // a lazy removal mechanism in case you forget to call remove when + // exiting a thread. See the java documentation in NDC.remove for further + // details. + NDC.remove(); + + return result; + } + + static + void usage(String msg) { + System.err.println(msg); + System.err.println( + "Usage: java org.apache.log4j.examples.NumberCruncherServer configFile\n" + + " where configFile is a log4j configuration file."); + System.exit(1); + } + + public static + void delay(int millis) { + try{Thread.sleep(millis);} + catch(InterruptedException e) {} + } + + public static void main(String[] args) { + if(args.length != 1) + usage("Wrong number of arguments."); + + NumberCruncherServer ncs; + PropertyConfigurator.configure(args[0]); + try { + ncs = new NumberCruncherServer(); + Naming.rebind("Factor", ncs); + logger.info("NumberCruncherServer bound and ready to serve."); + } + catch(Exception e) { + logger.error("Could not bind NumberCruncherServer.", e); + return; + } + NumberCruncherClient.loop(ncs); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/Sort.java b/thirdparty/apache-log4j-1.2.16/examples/Sort.java new file mode 100644 index 00000000000..7b97225058e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/Sort.java @@ -0,0 +1,95 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples; + +import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.Logger; + +/** + Example code for log4j to viewed in conjunction with the {@link + examples.SortAlgo SortAlgo} class. + + <p>This program expects a configuration file name as its first + argument, and the size of the array to sort as the second and last + argument. See its <b><a href="doc-files/Sort.java">source + code</a></b> for more details. + + <p>Play around with different values in the configuration file and + watch the changing behavior. + + <p>Example configuration files can be found in <a + href="doc-files/sort1.properties">sort1.properties</a>, <a + href="doc-files/sort2.properties">sort2.properties</a>, <a + href="doc-files/sort3.properties">sort3.properties</a> and <a + href="doc-files/sort4.properties">sort4.properties</a> are supplied with the + package. + + <p>If you are also interested in logging performance, then have + look at the {@link org.apache.log4j.performance.Logging} class. + + @author Ceki G&uuml;lc&uuml; */ + +public class Sort { + + static Logger logger = Logger.getLogger(Sort.class.getName()); + + public static void main(String[] args) { + if(args.length != 2) { + usage("Incorrect number of parameters."); + } + int arraySize = -1; + try { + arraySize = Integer.valueOf(args[1]).intValue(); + if(arraySize <= 0) + usage("Negative array size."); + } + catch(java.lang.NumberFormatException e) { + usage("Could not number format ["+args[1]+"]."); + } + + PropertyConfigurator.configure(args[0]); + + int[] intArray = new int[arraySize]; + + logger.info("Populating an array of " + arraySize + " elements in" + + " reverse order."); + for(int i = arraySize -1 ; i >= 0; i--) { + intArray[i] = arraySize - i - 1; + } + + SortAlgo sa1 = new SortAlgo(intArray); + sa1.bubbleSort(); + sa1.dump(); + + // We intentionally initilize sa2 with null. + SortAlgo sa2 = new SortAlgo(null); + logger.info("The next log statement should be an error message."); + sa2.dump(); + logger.info("Exiting main method."); + } + + static + void usage(String errMsg) { + System.err.println(errMsg); + System.err.println("\nUsage: java org.apache.examples.Sort " + + "configFile ARRAY_SIZE\n"+ + "where configFile is a configuration file\n"+ + " ARRAY_SIZE is a positive integer.\n"); + System.exit(1); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/SortAlgo.java b/thirdparty/apache-log4j-1.2.16/examples/SortAlgo.java new file mode 100644 index 00000000000..dde9ce811ce --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/SortAlgo.java @@ -0,0 +1,87 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples; + +import org.apache.log4j.Logger; +import org.apache.log4j.NDC; + +/** + Example code for log4j to viewed in conjunction with the {@link + examples.Sort Sort} class. + + <p>SortAlgo uses the bubble sort algorithm to sort an integer + array. See also its <b><a href="doc-files/SortAlgo.java">source + code</a></b>. + + @author Ceki G&uuml;lc&uuml; */ +public class SortAlgo { + + final static String className = SortAlgo.class.getName(); + final static Logger LOG = Logger.getLogger(className); + final static Logger OUTER = Logger.getLogger(className + ".OUTER"); + final static Logger INNER = Logger.getLogger(className + ".INNER"); + final static Logger DUMP = Logger.getLogger(className + ".DUMP"); + final static Logger SWAP = Logger.getLogger(className + ".SWAP"); + + int[] intArray; + + SortAlgo(int[] intArray) { + this.intArray = intArray; + } + + void bubbleSort() { + LOG.info( "Entered the sort method."); + + for(int i = intArray.length -1; i >= 0 ; i--) { + NDC.push("i=" + i); + OUTER.debug("in outer loop."); + for(int j = 0; j < i; j++) { + NDC.push("j=" + j); + // It is poor practice to ship code with log staments in tight loops. + // We do it anyway in this example. + INNER.debug( "in inner loop."); + if(intArray[j] > intArray[j+1]) + swap(j, j+1); + NDC.pop(); + } + NDC.pop(); + } + } + + void dump() { + if(! (this.intArray instanceof int[])) { + DUMP.error("Tried to dump an uninitialized array."); + return; + } + DUMP.info("Dump of integer array:"); + for(int i = 0; i < this.intArray.length; i++) { + DUMP.info("Element [" + i + "]=" + this.intArray[i]); + } + } + + void swap(int l, int r) { + // It is poor practice to ship code with log staments in tight + // loops or code called potentially millions of times. + SWAP.debug( "Swapping intArray["+l+"]=" + intArray[l] + + " and intArray["+r+"]=" + intArray[r]); + int temp = this.intArray[l]; + this.intArray[l] = this.intArray[r]; + this.intArray[r] = temp; + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/examples/Trivial.java b/thirdparty/apache-log4j-1.2.16/examples/Trivial.java new file mode 100644 index 00000000000..99e9978125d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/Trivial.java @@ -0,0 +1,79 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples; + + +import org.apache.log4j.Logger; +import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.NDC; + +/** + View the <a href="doc-files/Trivial.java">source code</a> of this a + trivial usage example. Running <code>java examples.Trivial</code> + should output something similar to: + + <pre> + 0 INFO [main] examples.Trivial (Client #45890) - Awake awake. Put on thy strength. + 15 DEBUG [main] examples.Trivial (Client #45890 DB) - Now king David was old. + 278 INFO [main] examples.Trivial$InnerTrivial (Client #45890) - Entered foo. + 293 INFO [main] examples.Trivial (Client #45890) - Exiting Trivial. + </pre> + + <p> The increasing numbers at the beginning of each line are the + times elapsed since the start of the program. The string between + the parentheses is the nested diagnostic context. + + <p>See {@link Sort} and {@link SortAlgo} for sligtly more elaborate + examples. + + <p>Note thent class files for the example code is not included in + any of the distributed log4j jar files. You will have to add the + directory <code>/dir-where-you-unpacked-log4j/classes</code> to + your classpath before trying out the examples. + + */ +public class Trivial { + + static Logger logger = Logger.getLogger(Trivial.class); + + public static void main(String[] args) { + BasicConfigurator.configure(); + NDC.push("Client #45890"); + + logger.info("Awake awake. Put on thy strength."); + Trivial.foo(); + InnerTrivial.foo(); + logger.info("Exiting Trivial."); + } + + static + void foo() { + NDC.push("DB"); + logger.debug("Now king David was old."); + NDC.pop(); + } + + static class InnerTrivial { + static Logger logger = Logger.getLogger(InnerTrivial.class); + + static + void foo() { + logger.info("Entered foo."); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/customLevel/XLevel.java b/thirdparty/apache-log4j-1.2.16/examples/customLevel/XLevel.java new file mode 100644 index 00000000000..d4d1b902f39 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/customLevel/XLevel.java @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples.customLevel; + +import org.apache.log4j.Level; + + +/** + This class introduces a new level level called TRACE. TRACE has + lower level than DEBUG. + + */ +public class XLevel extends Level { + private static final long serialVersionUID = 2626753561969426769L; + + static public final int TRACE_INT = Level.DEBUG_INT - 1; + static public final int LETHAL_INT = Level.FATAL_INT + 1; + + + private static String TRACE_STR = "TRACE"; + private static String LETHAL_STR = "LETHAL"; + + + public static final XLevel TRACE = new XLevel(TRACE_INT, TRACE_STR, 7); + public static final XLevel LETHAL = new XLevel(LETHAL_INT, LETHAL_STR, + 0); + + + protected + XLevel(int level, String strLevel, int syslogEquiv) { + super(level, strLevel, syslogEquiv); + } + + /** + Convert the string passed as argument to a level. If the + conversion fails, then this method returns {@link #TRACE}. + */ + public + static + Level toLevel(String sArg) { + return (Level) toLevel(sArg, XLevel.TRACE); + } + + + public + static + Level toLevel(String sArg, Level defaultValue) { + + if(sArg == null) { + return defaultValue; + } + String stringVal = sArg.toUpperCase(); + + if(stringVal.equals(TRACE_STR)) { + return XLevel.TRACE; + } else if(stringVal.equals(LETHAL_STR)) { + return XLevel.LETHAL; + } + + return Level.toLevel(sArg, (Level) defaultValue); + } + + + public + static + Level toLevel(int i) throws IllegalArgumentException { + switch(i) { + case TRACE_INT: return XLevel.TRACE; + case LETHAL_INT: return XLevel.LETHAL; + } + return Level.toLevel(i); + } + +} + diff --git a/thirdparty/apache-log4j-1.2.16/examples/factor.html b/thirdparty/apache-log4j-1.2.16/examples/factor.html new file mode 100644 index 00000000000..af593c7425f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/factor.html @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> <head> +<title></title> +</head> + +<body bgcolor=white> +<center><h2>Log4j output of two near-simultaneous requests</h2></center> + +<p>Here is the logged output when two clients ask to factor two +integers near-simultanesouly. The client on the host 128.178.50.84 +asks to factor the prime number 359. The client on the host 9.4.2.196 +asks to factor the number 347 (also a prime). + +<p>The NDC is placed between parantheses in bold. The NDC information +consists of the client's host and the number to factor. Since the two +requests have distinct NDCs, their output can be easily separated. + +<pre> +0 INFO [main] <b>()</b> - NumberCruncherServer bound and ready to serve. +276493 INFO [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Beginning to factor. +276495 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 2 is a factor. +276699 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 3 is a factor. +276908 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 4 is a factor. +276983 INFO [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Beginning to factor. +276984 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 2 is a factor. +277115 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 5 is a factor. +277188 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 3 is a factor. +277318 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 6 is a factor. +277398 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 4 is a factor. +277520 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 7 is a factor. +277605 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347) </b>- Trying to see if 5 is a factor. +277728 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 8 is a factor. +277808 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 6 is a factor. +277931 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 9 is a factor. +278019 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 7 is a factor. +278138 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 10 is a factor. +278228 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 8 is a factor. +278348 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 11 is a factor. +278438 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 9 is a factor. +278559 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 12 is a factor. +278648 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 10 is a factor. +278768 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 13 is a factor. +278858 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 11 is a factor. +278970 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 14 is a factor. +279068 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 12 is a factor. +279178 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 15 is a factor. +279270 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 13 is a factor. +279387 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 16 is a factor. +279478 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 14 is a factor. +279598 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 17 is a factor. +279688 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 15 is a factor. +279808 DEBUG [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Trying to see if 18 is a factor. +279898 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 16 is a factor. +280018 INFO [RMI TCP Connection(7)-128.178.50.84] <b>(128.178.50.84 359)</b> - Found factor 359 +280108 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 17 is a factor. +280318 DEBUG [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Trying to see if 18 is a factor. +280520 INFO [RMI TCP Connection(8)-9.4.2.196] <b>(9.4.2.196 347)</b> - Found factor 347 +</pre> + + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Fri May 5 10:36:05 MDT 2000 +<!-- hhmts end --> +</body> </html> diff --git a/thirdparty/apache-log4j-1.2.16/examples/factor.lcf b/thirdparty/apache-log4j-1.2.16/examples/factor.lcf new file mode 100644 index 00000000000..bc43ba03245 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/factor.lcf @@ -0,0 +1,45 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# +# +# For the general syntax of property based configuration files see the +# documenation of org.apache.log4j.PropertyConfigurator. + +# The root category uses the appender called A1. Since no priority is +# specified, the root category assumes the default priority for root +# which is DEBUG in log4j. The root category is the only category that +# has a default priority. All other categories need not be assigned a +# priority in which case they inherit their priority from the +# hierarchy. + +log4j.rootCategory=, A1 + +# A1 is set to be a FileAppender which outputs to the file +# "factor.log". Start the server NumberCruncherServer and two +# NumberCruncherClients, and ask to factor two numbers +# near-simultaneously. Notice that the log output from these two +# requests are logged in the file factor.log. Nevertheless, the logs +# of these requests can still be distinguished given their distinct +# nested diagnostic contexts. + +log4j.appender.A1=org.apache.log4j.FileAppender +log4j.appender.A1.File=factor.log +log4j.appender.A1.layout=org.apache.log4j.PatternLayout + +# Note the %x conversion specifier for NDC printing. +log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] (%x) - %m\n + diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingDefaultConfigurator/InitUsingDefaultConfigurator.java b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingDefaultConfigurator/InitUsingDefaultConfigurator.java new file mode 100644 index 00000000000..1c54f3d7339 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingDefaultConfigurator/InitUsingDefaultConfigurator.java @@ -0,0 +1,135 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package examples.lf5.InitUsingDefaultConfigurator; + +import org.apache.log4j.Logger; +import org.apache.log4j.NDC; +import org.apache.log4j.lf5.DefaultLF5Configurator; + +import java.io.IOException; + +/** + * This class is a simple example of how to configure the LogFactor5 + * logging window using the DefaultLF5Configurator. + * + * The DefaultLF5Configurator uses a default configuration file stored + * in the log4j.jar in order to provide a default configuration for + * the LF5Appender. + * + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class InitUsingDefaultConfigurator { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private static Logger logger = + Logger.getLogger(InitUsingDefaultConfigurator.class); + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public static void main(String[] args) throws IOException { + // Configure the LF5Appender using the DefaultLF5Configurator. This + // will add the LF5Appender to the root of the Category tree. + DefaultLF5Configurator.configure(); + + // Add an NDC to demonstrate how NDC information is output. + NDC.push("#23856"); + // Log some information. + for (int i = 0; i < 10; i++) { + logger.debug("Hello, my name is Homer Simpson."); + logger.info("Mmmmmm .... Chocolate."); + logger.warn("Mmm...forbidden donut."); + } + // Clean up NDC + NDC.pop(); + NDC.remove(); + + NDC.push("Another NDC"); + // Log some information. + logger.fatal("Hello, my name is Bart Simpson."); + logger.error("Hi diddly ho good neighbour."); + // Clean up NDC + NDC.pop(); + NDC.remove(); + + // Call methods on both classes. + InitUsingDefaultConfigurator.foo(); + InnerInitUsingDefaultConfigurator.foo(); + + logger.info("Exiting InitUsingDefaultConfigurator."); + + } + + public static void foo() { + logger.debug("Entered foo in InitUsingDefaultConfigurator class"); + + NDC.push("#123456"); + logger.debug("Hello, my name is Marge Simpson."); + logger.info("D'oh!! A deer! A female deer."); + // Clean up NDC + NDC.pop(); + NDC.remove(); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + + public static class InnerInitUsingDefaultConfigurator { + static Logger logger = + Logger.getLogger(InnerInitUsingDefaultConfigurator.class.getName()); + + static void foo() throws IOException { + // Configure the LF5Appender again. You can call + // DefaultLF5Configurator.configure() as often as you want + // without unexpected behavior. + DefaultLF5Configurator.configure(); + + logger.info("Entered foo in InnerInitUsingDefaultConfigurator class."); + } + } +} + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingLog4JProperties/InitUsingLog4JProperties.java b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingLog4JProperties/InitUsingLog4JProperties.java new file mode 100644 index 00000000000..3e6fae23f90 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingLog4JProperties/InitUsingLog4JProperties.java @@ -0,0 +1,121 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package examples.lf5.InitUsingLog4JProperties; + +import org.apache.log4j.Logger; + +import java.io.IOException; + +/** + * This class is a simple example of how to use the LogFactor5 logging + * window. + * + * The LF5Appender is the primary class that enables logging to the + * LogFactor5 logging window. The simplest method of using this Appender + * is to add the following line to your log4j.properties file: + * + * log4j.appender.A1=org.apache.log4j.lf5.LF5Appender + * + * The log4j.properties file MUST be in you system classpath. If this file + * is in your system classpath, a static initializer in the Category class + * will load the file during class initialization. The LF5Appender will be + * added to the root category of the Category tree. + * + * Create a log4j.properties file and add this line to it, or add this line + * to your existing log4j.properties file. Run the example at the command line + * and explore the results! + * + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class InitUsingLog4JProperties { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + private static Logger logger = + Logger.getLogger(InitUsingLog4JProperties.class); + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public static void main(String argv[]) { + // Add a bunch of logging statements ... + logger.debug("Hello, my name is Homer Simpson."); + logger.debug("Hello, my name is Lisa Simpson."); + logger.debug("Hello, my name is Marge Simpson."); + logger.debug("Hello, my name is Bart Simpson."); + logger.debug("Hello, my name is Maggie Simpson."); + + logger.info("We are the Simpsons!"); + logger.info("Mmmmmm .... Chocolate."); + logger.info("Homer likes chocolate"); + logger.info("Doh!"); + logger.info("We are the Simpsons!"); + + logger.warn("Bart: I am through with working! Working is for chumps!" + + "Homer: Son, I'm proud of you. I was twice your age before " + + "I figured that out."); + logger.warn("Mmm...forbidden donut."); + logger.warn("D'oh! A deer! A female deer!"); + logger.warn("Truly, yours is a butt that won't quit." + + "- Bart, writing as Woodrow to Ms. Krabappel."); + + logger.error("Dear Baby, Welcome to Dumpsville. Population: you."); + logger.error("Dear Baby, Welcome to Dumpsville. Population: you.", + new IOException("Dumpsville, USA")); + logger.error("Mr. Hutz, are you aware you're not wearing pants?"); + logger.error("Mr. Hutz, are you aware you're not wearing pants?", + new IllegalStateException("Error !!")); + + + logger.fatal("Eep."); + logger.fatal("Mmm...forbidden donut.", + new SecurityException("Fatal Exception")); + logger.fatal("D'oh! A deer! A female deer!"); + logger.fatal("Mmmmmm .... Chocolate.", + new SecurityException("Fatal Exception")); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingLog4JProperties/log4j.properties b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingLog4JProperties/log4j.properties new file mode 100644 index 00000000000..ac746068987 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingLog4JProperties/log4j.properties @@ -0,0 +1,33 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# For the general syntax of property based configuration files see the +# documenation of org.apache.log4j.PropertyConfigurator. + +# The root category uses the appender called A1. Since no priority is +# specified, the root category assumes the default priority for root +# which is DEBUG in log4j. The root category is the only category that +# has a default priority. All other categories need not be assigned a +# priority in which case they inherit their priority from the +# hierarchy. + +log4j.rootCategory=, A1 + +# A1 is set to be a LF5Appender which outputs to a swing +# logging console. + +log4j.appender.A1=org.apache.log4j.lf5.LF5Appender +log4j.appender.A1.MaxNumberOfRecords=1000 diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingMultipleAppenders/InitUsingMultipleAppenders.java b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingMultipleAppenders/InitUsingMultipleAppenders.java new file mode 100644 index 00000000000..6aac063676d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingMultipleAppenders/InitUsingMultipleAppenders.java @@ -0,0 +1,146 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package examples.lf5.InitUsingMultipleAppenders; + +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; + +import java.io.IOException; +import java.net.URL; + +/** + * This example shows how to use LogFactor5 with other Log4J appenders + * (In this case the RollingFileAppender). + * + * The following lines can be added to the log4j.properties file or a + * standard Java properties file. + * + * # Two appenders are registered with the root of the Category tree. + * + * log4j.rootCategory=, A1, R + * + * # A1 is set to be a LF5Appender which outputs to a swing + * # logging console. + * + * log4j.appender.A1=org.apache.log4j.lf5.LF5Appender + * + * # R is the RollingFileAppender that outputs to a rolling log + * # file called rolling_log_file.log. + * + * log4j.appender.R=org.apache.log4j.RollingFileAppender + * log4j.appender.R.File=rolling_log_file.log + * + * log4j.appender.R.layout=org.apache.log4j.PatternLayout + * log4j.appender.R.layout.ConversionPattern=Date - %d{DATE}%nPriority + * - %p%nThread - %t%nCategory - %c%nLocation - %l%nMessage - %m%n%n + * log4j.appender.R.MaxFileSize=100KB + * log4j.appender.R.MaxBackupIndex=1 + * + * To make this example work, either run the InitUsingMultipleAppenders.bat + * file located in the examples folder or run it at the command line. If you + * are running the example at the command line, you must ensure that the + * example.properties file is in your classpath. + * + * @author Brent Sprecher + * @author Brad Marlborough + */ + +// Contributed by ThoughtWorks Inc. + +public class InitUsingMultipleAppenders { + + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + private static Logger logger = + Logger.getLogger(InitUsingMultipleAppenders.class); + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public static void main(String argv[]) { + // Use a PropertyConfigurator to initialize from a property file. + String resource = + "/examples/lf5/InitUsingMultipleAppenders/example.properties"; + URL configFileResource = + InitUsingMultipleAppenders.class.getResource(resource); + PropertyConfigurator.configure(configFileResource); + + // Add a bunch of logging statements ... + logger.debug("Hello, my name is Homer Simpson."); + logger.debug("Hello, my name is Lisa Simpson."); + logger.debug("Hello, my name is Marge Simpson."); + logger.debug("Hello, my name is Bart Simpson."); + logger.debug("Hello, my name is Maggie Simpson."); + + logger.info("We are the Simpsons!"); + logger.info("Mmmmmm .... Chocolate."); + logger.info("Homer likes chocolate"); + logger.info("Doh!"); + logger.info("We are the Simpsons!"); + + logger.warn("Bart: I am through with working! Working is for chumps!" + + "Homer: Son, I'm proud of you. I was twice your age before " + + "I figured that out."); + logger.warn("Mmm...forbidden donut."); + logger.warn("D'oh! A deer! A female deer!"); + logger.warn("Truly, yours is a butt that won't quit." + + "- Bart, writing as Woodrow to Ms. Krabappel."); + + logger.error("Dear Baby, Welcome to Dumpsville. Population: you."); + logger.error("Dear Baby, Welcome to Dumpsville. Population: you.", + new IOException("Dumpsville, USA")); + logger.error("Mr. Hutz, are you aware you're not wearing pants?"); + logger.error("Mr. Hutz, are you aware you're not wearing pants?", + new IllegalStateException("Error !!")); + + + logger.fatal("Eep."); + logger.fatal("Mmm...forbidden donut.", + new SecurityException("Fatal Exception")); + logger.fatal("D'oh! A deer! A female deer!"); + logger.fatal("Mmmmmm .... Chocolate.", + new SecurityException("Fatal Exception")); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingMultipleAppenders/example.properties b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingMultipleAppenders/example.properties new file mode 100644 index 00000000000..c48666331e3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingMultipleAppenders/example.properties @@ -0,0 +1,49 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# For the general syntax of property based configuration files see the +# documenation of org.apache.log4j.PropertyConfigurator. + +# The root category uses two appenders called A1 and R. Since no priority is +# specified, the root category assumes the default priority for root +# which is DEBUG in log4j. The root category is the only category that +# has a default priority. All other categories need not be assigned a +# priority in which case they inherit their priority from the +# hierarchy. + +log4j.rootCategory=, A1, R + +# A1 is set to be a LF5Appender which outputs to a swing +# logging console. + +log4j.appender.A1=org.apache.log4j.lf5.LF5Appender + +# R is the RollingFileAppender that outputs to a rolling log +# file called rolling_log_file.log. + +log4j.appender.R=org.apache.log4j.RollingFileAppender +log4j.appender.R.File=rolling_log_file.log + +# Define a pattern layout for the file. +# For more information on conversion characters (i.e. d,p,t,c,l,m,n) +# please see the PatternLayout class of the Log4j API. + +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.layout.ConversionPattern=[slf5s.start]%d{DATE}[slf5s.DATE]%n%p[slf5s.PRIORITY]%n%x[slf5s.NDC]%n%t[slf5s.THREAD]%n%c[slf5s.CATEGORY]%n%l[slf5s.LOCATION]%n%m[slf5s.MESSAGE]%n%n + +# Set the max size of the file and the number of backup files + +log4j.appender.R.MaxFileSize=100KB +log4j.appender.R.MaxBackupIndex=1 \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingPropertiesFile/InitUsingPropertiesFile.java b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingPropertiesFile/InitUsingPropertiesFile.java new file mode 100644 index 00000000000..d1968ca3aa2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingPropertiesFile/InitUsingPropertiesFile.java @@ -0,0 +1,125 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package examples.lf5.InitUsingPropertiesFile; + +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; + +import java.io.IOException; +import java.net.URL; + +/** + * This is another simple example of how to use the LogFactor5 + * logging console. + * + * The LF5Appender is the primary class that enables logging to the + * LogFactor5 logging window. If the following line is added to a properties + * file, the LF5Appender will be appended to the root category when + * the properties file is loaded: + * + * log4j.appender.A1=org.apache.log4j.lf5.LF5Appender + * + * To make this example work, you must ensure that the example.properties file + * is in your classpath.You can then run the example at the command line. + * + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class InitUsingPropertiesFile { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + private static Logger logger = + Logger.getLogger(InitUsingPropertiesFile.class); + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public static void main(String argv[]) { + // Use a PropertyConfigurator to initialize from a property file. + String resource = + "/examples/lf5/InitUsingPropertiesFile/example.properties"; + URL configFileResource = + InitUsingPropertiesFile.class.getResource(resource); + PropertyConfigurator.configure(configFileResource); + + // Add a bunch of logging statements ... + logger.debug("Hello, my name is Homer Simpson."); + logger.debug("Hello, my name is Lisa Simpson."); + logger.debug("Hello, my name is Marge Simpson."); + logger.debug("Hello, my name is Bart Simpson."); + logger.debug("Hello, my name is Maggie Simpson."); + + logger.info("We are the Simpsons!"); + logger.info("Mmmmmm .... Chocolate."); + logger.info("Homer likes chocolate"); + logger.info("Doh!"); + logger.info("We are the Simpsons!"); + + logger.warn("Bart: I am through with working! Working is for chumps!" + + "Homer: Son, I'm proud of you. I was twice your age before " + + "I figured that out."); + logger.warn("Mmm...forbidden donut."); + logger.warn("D'oh! A deer! A female deer!"); + logger.warn("Truly, yours is a butt that won't quit." + + "- Bart, writing as Woodrow to Ms. Krabappel."); + + logger.error("Dear Baby, Welcome to Dumpsville. Population: you."); + logger.error("Dear Baby, Welcome to Dumpsville. Population: you.", + new IOException("Dumpsville, USA")); + logger.error("Mr. Hutz, are you aware you're not wearing pants?"); + logger.error("Mr. Hutz, are you aware you're not wearing pants?", + new IllegalStateException("Error !!")); + + + logger.fatal("Eep."); + logger.fatal("Mmm...forbidden donut.", + new SecurityException("Fatal Exception")); + logger.fatal("D'oh! A deer! A female deer!"); + logger.fatal("Mmmmmm .... Chocolate.", + new SecurityException("Fatal Exception")); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingPropertiesFile/example.properties b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingPropertiesFile/example.properties new file mode 100644 index 00000000000..146dc18a3eb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingPropertiesFile/example.properties @@ -0,0 +1,33 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# For the general syntax of property based configuration files see the +# documenation of org.apache.log4j.PropertyConfigurator. + +# The root category uses the appender called A1. Since no priority is +# specified, the root category assumes the default priority for root +# which is DEBUG in log4j. The root category is the only category that +# has a default priority. All other categories need not be assigned a +# priority in which case they inherit their priority from the +# hierarchy. + +log4j.rootCategory=, A1 + +# A1 is set to be a LF5Appender which outputs to a swing +# logging console. + +log4j.appender.A1=org.apache.log4j.lf5.LF5Appender +log4j.appender.A1.MaxNumberOfRecords=700 diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingXMLPropertiesFile/InitUsingXMLPropertiesFile.java b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingXMLPropertiesFile/InitUsingXMLPropertiesFile.java new file mode 100644 index 00000000000..c02e8c7baa7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingXMLPropertiesFile/InitUsingXMLPropertiesFile.java @@ -0,0 +1,119 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package examples.lf5.InitUsingXMLPropertiesFile; + +import org.apache.log4j.Logger; +import org.apache.log4j.xml.DOMConfigurator; + +import java.io.IOException; +import java.net.URL; + +/** + * This is another simple example of how to use the LogFactor5 + * logging console. + * + * To make this example work, ensure that the lf5.jar, lf5-license.jar + * and example.xml files are in your classpath. Once your classpath has + * been set up, you can run the example from the command line. + * + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class InitUsingXMLPropertiesFile { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + private static Logger logger = + Logger.getLogger(InitUsingXMLPropertiesFile.class); + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public static void main(String argv[]) { + // Use a PropertyConfigurator to initialize from a property file. + String resource = + "/examples/lf5/InitUsingXMLPropertiesFile/example.xml"; + URL configFileResource = + InitUsingXMLPropertiesFile.class.getResource(resource); + DOMConfigurator.configure(configFileResource.getFile()); + + // Add a bunch of logging statements ... + logger.debug("Hello, my name is Homer Simpson."); + logger.debug("Hello, my name is Lisa Simpson."); + logger.debug("Hello, my name is Marge Simpson."); + logger.debug("Hello, my name is Bart Simpson."); + logger.debug("Hello, my name is Maggie Simpson."); + + logger.info("We are the Simpsons!"); + logger.info("Mmmmmm .... Chocolate."); + logger.info("Homer likes chocolate"); + logger.info("Doh!"); + logger.info("We are the Simpsons!"); + + logger.warn("Bart: I am through with working! Working is for chumps!" + + "Homer: Son, I'm proud of you. I was twice your age before " + + "I figured that out."); + logger.warn("Mmm...forbidden donut."); + logger.warn("D'oh! A deer! A female deer!"); + logger.warn("Truly, yours is a butt that won't quit." + + "- Bart, writing as Woodrow to Ms. Krabappel."); + + logger.error("Dear Baby, Welcome to Dumpsville. Population: you."); + logger.error("Dear Baby, Welcome to Dumpsville. Population: you.", + new IOException("Dumpsville, USA")); + logger.error("Mr. Hutz, are you aware you're not wearing pants?"); + logger.error("Mr. Hutz, are you aware you're not wearing pants?", + new IllegalStateException("Error !!")); + + + logger.fatal("Eep."); + logger.fatal("Mmm...forbidden donut.", + new SecurityException("Fatal Exception")); + logger.fatal("D'oh! A deer! A female deer!"); + logger.fatal("Mmmmmm .... Chocolate.", + new SecurityException("Fatal Exception")); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingXMLPropertiesFile/example.xml b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingXMLPropertiesFile/example.xml new file mode 100644 index 00000000000..16f0ba007c7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/InitUsingXMLPropertiesFile/example.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration> + + <appender name="LF5Appender" class="org.apache.log4j.lf5.LF5Appender"> + <param name="MaxNumberOfRecords" value="1000"/> + </appender> + + <root> + <priority value ="debug" /> + <appender-ref ref="LF5Appender"/> + </root> + +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingLogMonitorAdapter/CustomizedLogLevels.java b/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingLogMonitorAdapter/CustomizedLogLevels.java new file mode 100644 index 00000000000..b0e9942e74e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingLogMonitorAdapter/CustomizedLogLevels.java @@ -0,0 +1,110 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples.lf5.UsingLogMonitorAdapter; + +import org.apache.log4j.lf5.LogLevel; +import org.apache.log4j.lf5.util.LogMonitorAdapter; + +/** + * This class is a simple example of how use the LogMonitorAdapter to + * bypass the Log4JAppender and post LogRecords directly to the LogMonitor + * using customized LogLevels + * + * To make this example work, ensure that the lf5.jar and lf5-license.jar + * files are in your classpath, and then run the example at the command line. + * + * @author Richard Hurst + */ + +// Contributed by ThoughtWorks Inc. + +public class CustomizedLogLevels { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + public final static LogLevel LEVEL_ONE = new LogLevel("LEVEL 1", 1); + public final static LogLevel LEVEL_TWO = new LogLevel("LEVEL 2", 2); + public final static LogLevel LEVEL_THREE = new LogLevel("LEVEL 3", 3); + public final static LogLevel LEVEL_FOUR = new LogLevel("LEVEL 4", 4); + public final static LogLevel DEFAULT = new LogLevel("DEFAULT", 0); + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private static LogMonitorAdapter _adapter; + + static { + // The first LogLevel in the Array will be used as the default LogLevel. + _adapter = LogMonitorAdapter.newInstance(new LogLevel[]{DEFAULT, LEVEL_ONE, + LEVEL_TWO, LEVEL_THREE, LEVEL_FOUR, LogLevel.FATAL}); + // if a different log level is to be used it can be specified as such + // _adapter.setDefaultLevel(LEVEL_THREE); + } + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public static void main(String[] args) { + CustomizedLogLevels test = new CustomizedLogLevels(); + test.doMyBidding(); + } + + public void doMyBidding() { + // tell the LogMonitorAdapter which LogLevel is the severe Level if necessary + _adapter.setSevereLevel(LEVEL_ONE); + + String levels = this.getClass().getName(); + + // will used the default Level + _adapter.log(levels, "Using the customized LogLevels"); + + _adapter.log(levels, LEVEL_FOUR, "This is a test"); + _adapter.log(levels, LEVEL_THREE, "Hmmm fobidden doughnut"); + _adapter.log(levels, LEVEL_ONE, "Danger Danger Will Robinson", + new RuntimeException("DANGER"), "32"); + _adapter.log(levels, LEVEL_TWO, "Exit stage right->"); + _adapter.log(levels, LEVEL_FOUR, "What's up Doc?", + new NullPointerException("Unfortunate exception")); + + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- +} + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingLogMonitorAdapter/UsingLogMonitorAdapter.java b/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingLogMonitorAdapter/UsingLogMonitorAdapter.java new file mode 100644 index 00000000000..545bf3118f1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingLogMonitorAdapter/UsingLogMonitorAdapter.java @@ -0,0 +1,94 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package examples.lf5.UsingLogMonitorAdapter; + +import org.apache.log4j.lf5.LogLevel; +import org.apache.log4j.lf5.util.LogMonitorAdapter; + +/** + * This class is a simple example of how use the LogMonitorAdapter to + * bypass the Log4JAppender and post LogRecords directly to the LogMonitor + * + * To make this example work, ensure that the lf5.jar and lf5-license.jar + * files are in your classpath, and then run the example at the command line. + * + * @author Richard Hurst + */ + +// Contributed by ThoughtWorks Inc. + +public class UsingLogMonitorAdapter { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private static LogMonitorAdapter _adapter; + + static { + _adapter = LogMonitorAdapter.newInstance(LogMonitorAdapter.LOG4J_LOG_LEVELS); + } + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public static void main(String[] args) { + UsingLogMonitorAdapter test = new UsingLogMonitorAdapter(); + test.doMyBidding(); + } + + public void doMyBidding() { + String logger = this.getClass().getName(); + + // will default to debug log level + _adapter.log(logger, "Doh this is a debugging"); + + _adapter.log(logger, LogLevel.INFO, "Hmmm fobidden doughnut"); + _adapter.log(logger, LogLevel.WARN, "Danger Danger Will Robinson", + new RuntimeException("DANGER"), "32"); + _adapter.log(logger, LogLevel.ERROR, "Exit stage right->"); + _adapter.log(logger, LogLevel.FATAL, "What's up Doc?", + new NullPointerException("Unfortunate exception")); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- +} + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/UsingSocketAppenders.java b/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/UsingSocketAppenders.java new file mode 100644 index 00000000000..d22a2e0df5e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/UsingSocketAppenders.java @@ -0,0 +1,141 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples.lf5.UsingSocketAppenders; + +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; + +import java.io.IOException; +import java.net.URL; + +/** + * This is another simple example of how to use the LogFactor5 + * logging console. + * + * The LF5Appender is the primary class that enables logging to the + * LogFactor5 logging window. If the following line is added to a properties + * file, the LF5Appender will be appended to the root category when + * the properties file is loaded: + * + * log4j.appender.A1=org.apache.log4j.lf5.LF5Appender + * + * To make this example work, you must ensure that the example.properties file + * is in your classpath.You can then run the example at the command line. + * + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class UsingSocketAppenders { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + private static Logger logger1 = + Logger.getLogger(UsingSocketAppenders.class); + private static Logger logger2 = + Logger.getLogger("TestClass.Subclass"); + private static Logger logger3 = + Logger.getLogger("TestClass.Subclass.Subclass"); + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public static void main(String argv[]) { + // Use a PropertyConfigurator to initialize from a property file. + String resource = + "/examples/lf5/UsingSocketAppenders/socketclient.properties"; + URL configFileResource = + UsingSocketAppenders.class.getResource(resource); + PropertyConfigurator.configure(configFileResource); + + // Add a bunch of logging statements ... + logger1.debug("Hello, my name is Homer Simpson."); + logger1.debug("Hello, my name is Lisa Simpson."); + logger2.debug("Hello, my name is Marge Simpson."); + logger2.debug("Hello, my name is Bart Simpson."); + logger3.debug("Hello, my name is Maggie Simpson."); + + logger2.info("We are the Simpsons!"); + logger2.info("Mmmmmm .... Chocolate."); + logger3.info("Homer likes chocolate"); + logger3.info("Doh!"); + logger3.info("We are the Simpsons!"); + + logger1.warn("Bart: I am through with working! Working is for chumps!" + + "Homer: Son, I'm proud of you. I was twice your age before " + + "I figured that out."); + logger1.warn("Mmm...forbidden donut."); + logger1.warn("D'oh! A deer! A female deer!"); + logger1.warn("Truly, yours is a butt that won't quit." + + "- Bart, writing as Woodrow to Ms. Krabappel."); + + logger2.error("Dear Baby, Welcome to Dumpsville. Population: you."); + logger2.error("Dear Baby, Welcome to Dumpsville. Population: you.", + new IOException("Dumpsville, USA")); + logger3.error("Mr. Hutz, are you aware you're not wearing pants?"); + logger3.error("Mr. Hutz, are you aware you're not wearing pants?", + new IllegalStateException("Error !!")); + + + logger3.fatal("Eep."); + + logger3.fatal("Mmm...forbidden donut.", + new SecurityException("Fatal Exception ... ")); + + logger3.fatal("D'oh! A deer! A female deer!"); + logger2.fatal("Mmmmmm .... Chocolate.", + new SecurityException("Fatal Exception")); + + // Put the main thread is put to sleep for 5 seconds to allow the + // SocketServer to process all incoming messages before the Socket is + // closed. This is done to overcome some basic limitations with the + // way the SocketServer and SocketAppender classes manage sockets. + try { + Thread.sleep(5000); + } catch (InterruptedException ie) { + } + + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/socketclient.properties b/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/socketclient.properties new file mode 100644 index 00000000000..37376014dac --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/socketclient.properties @@ -0,0 +1,33 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# For the general syntax of property based configuration files see the +# documenation of org.apache.log4j.PropertyConfigurator. + +# The root category uses the appender called A1. Since no priority is +# specified, the root category assumes the default priority for root +# which is DEBUG in log4j. The root category is the only category that +# has a default priority. All other categories need not be assigned a +# priority in which case they inherit their priority from the +# hierarchy. + +log4j.rootCategory=, A1 + +# A1 is set to be a LF5Appender which outputs to a swing +# logging console. + +log4j.appender.A1=org.apache.log4j.net.SocketAppender +log4j.appender.A1.RemoteHost=localhost +log4j.appender.A1.Port=8887 diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/socketserver.properties b/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/socketserver.properties new file mode 100644 index 00000000000..f36aa7e42bc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/UsingSocketAppenders/socketserver.properties @@ -0,0 +1,35 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# For the general syntax of property based configuration files see the +# documenation of org.apache.log4j.PropertyConfigurator. + +# The root category uses the appender called A1. Since no priority is +# specified, the root category assumes the default priority for root +# which is DEBUG in log4j. The root category is the only category that +# has a default priority. All other categories need not be assigned a +# priority in which case they inherit their priority from the +# hierarchy. + +#log4j.rootCategory=DEBUG, A1 +log4j.rootCategory=, A1 + +# A1 is set to be a LF5Appender which outputs to a swing +# logging console. + +#log4j.category.org.apache.log4j.net.SocketNode=DEBUG +log4j.appender.A1=org.apache.log4j.lf5.LF5Appender +log4j.appender.A1.MaxNumberOfRecords=700 \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/examples/lf5/index.html b/thirdparty/apache-log4j-1.2.16/examples/lf5/index.html new file mode 100644 index 00000000000..6c78250c5a7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/lf5/index.html @@ -0,0 +1,28 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> + <head> + </head> + <body bgcolor="#FFFFFF" text="#000000"> + + <p>See <a href="../../docs/lf5/examples.html">Examples</a> + section in the LogFactor5 user guide. + </p> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/examples/mycat.bad b/thirdparty/apache-log4j-1.2.16/examples/mycat.bad new file mode 100644 index 00000000000..27ceb9ea448 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/mycat.bad @@ -0,0 +1,32 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# The usual stuff. Note that A1 is configured in root not in "some.cat" +log4j.rootLogger=DEBUG, A1 +log4j.appender.A1=org.apache.log4j.ConsoleAppender + +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%5p [%t] %c - %m%n + +# Set the priority of "some.cat" to TRACE (defined in +# examples.customLevel.XLevel). This will actually have the side +# effect of instanciating a logger object having the name "some.cat" +# this will cause a ClassCastException if the logger object is cast +# as a MyLogger object. + +log4j.logger.some.cat=TRACE#examples.customLevel.XLevel + + + diff --git a/thirdparty/apache-log4j-1.2.16/examples/mycat.good b/thirdparty/apache-log4j-1.2.16/examples/mycat.good new file mode 100644 index 00000000000..76697fae7a4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/mycat.good @@ -0,0 +1,40 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# Setting the logger factory to MyLoggerFactory solves the +# ClassCastException problem encountered with the "mycat.bad" +# configuration file. + +log4j.loggerFactory=examples.subclass.MyLoggerFactory + + +# The usual stuff. Note that A1 is configured in root not in "some.cat" + +log4j.rootLogger=DEBUG, A1 +log4j.appender.A1=org.apache.log4j.ConsoleAppender + +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%5p [%t] %c - %m%n + + +# Set the priority of "some.cat" to TRACE (defined in +# examples.customLevel.XLevel). Since we specified MyLoggerFactory as +# the logger factory, the following line willl also have the side +# effect of instanciating a MyLogger object having the name +# "some.cat". + +log4j.logger.some.cat=TRACE#examples.customLevel.XLevel + diff --git a/thirdparty/apache-log4j-1.2.16/examples/package.html b/thirdparty/apache-log4j-1.2.16/examples/package.html new file mode 100644 index 00000000000..944341b6feb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/package.html @@ -0,0 +1,54 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> <head> +<title></title> +</head> +<body> + +<p>Example usage of log4j including source code. + +<p>Note that class files for the example code is not included in any +of the distributed log4j jar files. You will have to add the directory +<code>/dir-where-you-unpacked-log4j/classes</code> to your classpath +before trying out the examples. + +<p>This package's shows how log4j can be used to output log +statements. + +<ul> + + <p><li>See source code of <a +href="doc-files/Trivial.java">Trivial.java</a> for a trivial usage +example. + + <p><li>See source code of <a href="doc-files/Sort.java">Sort.java</a> and +<a href="doc-files/SortAlgo.java">SortAlgo.java</a> to for a slightly +more advanced example. + +<p><li>See {@link org.apache.log4j.examples.NumberCruncherServer} for a {@link +org.apache.log4j.NDC} based technique to distinguish the log output from +requests from multiple clients. + + </ul> +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Fri May 5 10:20:04 MDT 2000 +<!-- hhmts end --> +</body> </html> diff --git a/thirdparty/apache-log4j-1.2.16/examples/sort1.properties b/thirdparty/apache-log4j-1.2.16/examples/sort1.properties new file mode 100644 index 00000000000..5f676d357e6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/sort1.properties @@ -0,0 +1,42 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# An example log4j configuration file that outputs to System.out. The +# output information consists of relative time, log level, thread +# name, logger name, nested diagnostic context and the message in that +# order. + +# For the general syntax of property based configuration files see the +# documenation of org.apache.log4j.PropertyConfigurator. + +log4j.rootLogger=DEBUG, A1 + +# A1 is set to be a ConsoleAppender which outputs to System.out. +log4j.appender.A1=org.apache.log4j.ConsoleAppender + +# A1 uses PatternLayout. +log4j.appender.A1.layout=org.apache.log4j.PatternLayout + +# The conversion pattern uses format specifiers. You might want to +# change the pattern an watch the output format change. +log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n + +# In this example, we are not really interested in INNER loop or SWAP +# messages. See the effects of uncommenting and changing the levels of +# the following loggers. +# log4j.logger.org.apache.log4j.examples.SortAlgo.INNER=WARN +# log4j.logger.org.apache.log4j.examples.SortAlgo.SWAP=WARN + \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/examples/sort2.properties b/thirdparty/apache-log4j-1.2.16/examples/sort2.properties new file mode 100644 index 00000000000..b55de069296 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/sort2.properties @@ -0,0 +1,70 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# An example log4j configuration file that outputs both to System.out +# and a file named 'test'. + +# For the general syntax of property based configuration files see the +# documenation of org.apache.log4j.PropertyConfigurator. + +# WARNING: Location information can be useful but is very costly in +# terms of computation. + +# The root logger uses the appender called A1. + +# The root logger uses the appenders called A1 and A2. Since no level +# is specified, note the empty string between the comma (",") and the +# equals sign ("="), the level of the root logger remains +# untouched. Log4j always initializes the level for the root logger to +# DEBUG. The root logger is the only logger that has a default +# level. Bu default, all other loggers do not have an assigned level, +# such that they inherit their level instead. + +log4j.rootLogger=, A1, A2 + +# A1 is set to be ConsoleAppender sending its output to System.out +log4j.appender.A1=org.apache.log4j.ConsoleAppender + + +# A1 uses PatternLayout. +log4j.appender.A1.layout=org.apache.log4j.PatternLayout + +# The conversion pattern consists of date in ISO8601 format, level, +# thread name, logger name truncated to its rightmost two components +# and left justified to 17 characters, location information consisting +# of file name (padded to 13 characters) and line number, nested +# diagnostic context, the and the application supplied message + +log4j.appender.A1.layout.ConversionPattern=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n + +# Appender A2 writes to the file "test". +log4j.appender.A2=org.apache.log4j.FileAppender +log4j.appender.A2.File=test + +# Truncate 'test' if it aleady exists. +log4j.appender.A2.Append=false + +# Appender A2 uses the PatternLayout. +log4j.appender.A2.layout=org.apache.log4j.PatternLayout +log4j.appender.A2.layout.ConversionPattern=%-5r %-5p [%t] %c{2} - %m%n + + +# In this example, we are not interested in INNER loop or SWAP +# messages. You might try to set INNER and SWAP to DEBUG for more +# verbose output. + +log4j.logger.org.apache.log4j.examples.SortAlgo.INNER=INFO +log4j.logger.org.apache.log4j.examples.SortAlgo.SWAP=INFO diff --git a/thirdparty/apache-log4j-1.2.16/examples/sort3.properties b/thirdparty/apache-log4j-1.2.16/examples/sort3.properties new file mode 100644 index 00000000000..91b172dfabb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/sort3.properties @@ -0,0 +1,47 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# An example log4j configuration file that directs its logging output +# to a SocketAppender. The SocketAppender is configuted to send its +# output to a server running on the localhost port number 12345. + +# To test this example, you must start a log4j server with the command +# +# +# java org.apache.log4j.net.SocketServer 12345 configurationFile directory/ +# +# + +# For the general syntax of property based configuration files see +# the documenation of org.apache.log4j.PropertyConfigurator. + +# The root logger uses the appender called A1. + +log4j.rootLogger=DEBUG, A1 + +# A1 is set to be a SocketAppender sending its output to the server +running on the local host, port 12345. + +log4j.appender.A1=org.apache.log4j.net.SocketAppender +log4j.appender.A1.Port=12345 +log4j.appender.A1.RemoteHost=localhost + +# In this example, we are not interested in INNER loop or SWAP +# messages. You might try to set INNER and SWAP to DEBUG for more +# verbose output. + +log4j.logger.org.apache.log4j.examples.SortAlgo.INNER=INFO +log4j.logger.org.apache.log4j.examples.SortAlgo.SWAP=INFO diff --git a/thirdparty/apache-log4j-1.2.16/examples/sort4.properties b/thirdparty/apache-log4j-1.2.16/examples/sort4.properties new file mode 100644 index 00000000000..72d8a19f7e2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/sort4.properties @@ -0,0 +1,47 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# Attach appender A1 to root. Set root level to Level.DEBUG. +log4j.rootLogger=DEBUG, A1 + +# A1 is set to be a FileAppender sending its output to +# System.out. However, only error messages and above will be printed +# in A1 because A1's threshold is set to Level.ERROR. + +# The fact that the root level is set to Prority.DEBUG only influences +# log requests made to the root logger. It has no influence on the +# *appenders* attached to root. + +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.Threshold=ERROR + +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%p [%t] %c{2} (%M:%L) - %m%n + +# Set the level of the logger named "org.apache.log4j.examples" to +# Level.INFO, attach appender A2. +log4j.logger.org.apache.log4j.examples=INFO, A2 + +# Appender A2 writes to the file "test" in user's home. +log4j.appender.A2=org.apache.log4j.FileAppender +log4j.appender.A2.File=${user.home}/test + +# Truncate 'test' if it aleady exists. +log4j.appender.A2.Append=false + +# Appender A2 uses the PatternLayout. +log4j.appender.A2.layout=org.apache.log4j.PatternLayout +log4j.appender.A2.layout.ConversionPattern=%5r %-5p [%t] %c{2} - %m%n diff --git a/thirdparty/apache-log4j-1.2.16/examples/subclass/MyLogger.java b/thirdparty/apache-log4j-1.2.16/examples/subclass/MyLogger.java new file mode 100644 index 00000000000..d2368b03a2d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/subclass/MyLogger.java @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples.subclass; + +import org.apache.log4j.*; +import examples.customLevel.XLevel; + +/** + A simple example showing logger subclassing. + + <p>See <b><a href="doc-files/MyLogger.java">source code</a></b> + for more details. + + <p>See {@link MyLoggerTest} for a usage example. + + */ +public class MyLogger extends Logger { + + // It's usually a good idea to add a dot suffix to the fully + // qualified class name. This makes caller localization to work + // properly even from classes that have almost the same fully + // qualified class name as MyLogger, e.g. MyLoggerTest. + static String FQCN = MyLogger.class.getName() + "."; + + // It's enough to instantiate a factory once and for all. + private static MyLoggerFactory myFactory = new MyLoggerFactory(); + + /** + Just calls the parent constuctor. + */ + public MyLogger(String name) { + super(name); + } + + /** + Overrides the standard debug method by appending " world" at the + end of each message. */ + public + void debug(Object message) { + super.log(FQCN, Level.DEBUG, message + " world.", null); + } + + /** + This method overrides {@link Logger#getLogger} by supplying + its own factory type as a parameter. + */ + public + static + Logger getLogger(String name) { + return Logger.getLogger(name, myFactory); + } + + public + void trace(Object message) { + super.log(FQCN, XLevel.TRACE, message, null); + } +} + + diff --git a/thirdparty/apache-log4j-1.2.16/examples/subclass/MyLoggerFactory.java b/thirdparty/apache-log4j-1.2.16/examples/subclass/MyLoggerFactory.java new file mode 100644 index 00000000000..8f859a1121c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/subclass/MyLoggerFactory.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples.subclass; + +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggerFactory; + +/** + A factory that makes new {@link MyLogger} objects. + + See <b><a href="doc-files/MyLoggerFactory.java">source + code</a></b> for more details. + + @author Ceki G&uuml;lc&uuml; */ +public class MyLoggerFactory implements LoggerFactory { + + /** + The constructor should be public as it will be called by + configurators in different packages. */ + public + MyLoggerFactory() { + } + + public + Logger makeNewLoggerInstance(String name) { + return new MyLogger(name); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/examples/subclass/MyLoggerTest.java b/thirdparty/apache-log4j-1.2.16/examples/subclass/MyLoggerTest.java new file mode 100644 index 00000000000..6ea39f5d560 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/examples/subclass/MyLoggerTest.java @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package examples.subclass; + +import org.apache.log4j.*; +import org.apache.log4j.xml.DOMConfigurator; +import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.helpers.LogLog; + +/** + A simple example showing logger subclassing. + + <p>The example should make it clear that subclasses follow the + hierarchy. You should also try running this example with a <a + href="doc-files/mycat.bad">bad</a> and <a + href="doc-files/mycat.good">good</a> configuration file samples. + + <p>See <b><a + href="doc-files/MyLogger.java">source code</a></b> for more details. +*/ +public class MyLoggerTest { + + /** + When called wihtout arguments, this program will just print + <pre> + DEBUG [main] some.cat - Hello world. + </pre> + and exit. + + <b>However, it can be called with a configuration file in XML or + properties format. + + */ + static public void main(String[] args) { + + if(args.length == 0) { + // Note that the appender is added to root but that the log + // request is made to an instance of MyLogger. The output still + // goes to System.out. + Logger root = Logger.getRootLogger(); + Layout layout = new PatternLayout("%p [%t] %c (%F:%L) - %m%n"); + root.addAppender(new ConsoleAppender(layout, ConsoleAppender.SYSTEM_OUT)); + } + else if(args.length == 1) { + if(args[0].endsWith("xml")) { + DOMConfigurator.configure(args[0]); + } else { + PropertyConfigurator.configure(args[0]); + } + } else { + usage("Incorrect number of parameters."); + } + try { + MyLogger c = (MyLogger) MyLogger.getLogger("some.cat"); + c.trace("Hello"); + c.debug("Hello"); + } catch(ClassCastException e) { + LogLog.error("Did you forget to set the factory in the config file?", e); + } + } + + static + void usage(String errMsg) { + System.err.println(errMsg); + System.err.println("\nUsage: "+MyLogger.class.getName() + "[configFile]\n" + + " where *configFile* is an optional configuration file, "+ + "either in properties or XML format."); + System.exit(1); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/log4j-1.2.16.jar b/thirdparty/apache-log4j-1.2.16/log4j-1.2.16.jar new file mode 100644 index 0000000000000000000000000000000000000000..3f9d847618bcec9c81f36ad6ee76a0f53816987f GIT binary patch literal 481534 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%0AKWfE$qTJhrf;L-7QRzS1a7;?kZ7Am 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%0DS9&Qh7f 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%0D7!9t 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 BkMRHi literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/pom.xml b/thirdparty/apache-log4j-1.2.16/pom.xml new file mode 100644 index 00000000000..977ca8345da --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/pom.xml @@ -0,0 +1,545 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- +Usage notes: + +To build NTEventLogAppender.dll using MinGW, place mingw\bin on path for Windows or install mingw +package on other platforms. Build will execute gcc and windres on Windows and +i586-mingw32msvc-gcc and i586-mingw32msvc-windres on other platforms. + +To build NTEventLogAppender.dll using Microsoft tools, run the appropriate vcvars for the +target platform and specify -Dntdll_target=msbuild on the mvn command line. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <packaging>bundle</packaging> + <name>Apache Log4j</name> + <version>1.2.16</version> + <description>Apache Log4j 1.2</description> + <url>http://logging.apache.org/log4j/1.2/</url> + <issueManagement> + <system>Bugzilla</system> + <url>http://issues.apache.org/bugzilla/</url> + </issueManagement> + <ciManagement> + <system>Gump</system> + <url>http://vmgump.apache.org/gump/public/logging-log4j-12/logging-log4j-12/index.html</url> + </ciManagement> + <inceptionYear>1999</inceptionYear> + <mailingLists> + <mailingList> + <name>log4j-user</name> + <subscribe>log4j-user-subscribe@logging.apache.org</subscribe> + <unsubscribe>log4j-user-unsubscribe@logging.apache.org</unsubscribe> + <post>log4j-user@logging.apache.org</post> + <archive>http://mail-archives.apache.org/mod_mbox/logging-log4j-user/</archive> + <otherArchives> + <otherArchive>http://marc.info/?l=log4j-user</otherArchive> + <otherArchive>http://dir.gmane.org/gmane.comp.jakarta.log4j.user</otherArchive> + </otherArchives> + </mailingList> + <mailingList> + <name>log4j-dev</name> + <subscribe>log4j-dev-subscribe@logging.apache.org</subscribe> + <unsubscribe>log4j-dev-unsubscribe@logging.apache.org</unsubscribe> + <post>log4j-dev@logging.apache.org</post> + <archive>http://mail-archives.apache.org/mod_mbox/logging-log4j-dev/</archive> + <otherArchives> + <otherArchive>http://marc.info/?l=log4j-dev</otherArchive> + <otherArchive>http://dir.gmane.org/gmane.comp.jakarta.log4j.devel</otherArchive> + </otherArchives> + </mailingList> + </mailingLists> + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + <distribution>repo</distribution> + </license> + </licenses> + <scm> + <connection>scm:svn:http://svn.apache.org/repos/asf/logging/log4j/tags/v1_2_16</connection> + <developerConnection>scm:svn:https://svn.apache.org/repos/asf/logging/log4j/tags/v1_2_16</developerConnection> + <url>http://svn.apache.org/viewvc/logging/log4j/tags/v1_2_16</url> + </scm> + <organization> + <name>Apache Software Foundation</name> + <url>http://www.apache.org</url> + </organization> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <configuration> + <encoding>UTF-8</encoding> + </configuration> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.5</version> + <configuration> + <workingDirectory>tests</workingDirectory> + <reportFormat>plain</reportFormat> + <forkMode>pertest</forkMode> + <skip>true</skip> + <includes> + <include>org/apache/log4j/LevelTest.java</include> + <include>org/apache/log4j/PriorityTest.java</include> + <include>org/apache/log4j/CategoryTest.java</include> + <include>org/apache/log4j/FileAppenderTest.java</include> + <include>org/apache/log4j/LogManagerTest.java</include> + <include>org/apache/log4j/helpers.LogLogTest.java</include> + <include>org/apache/log4j/LayoutTest.java</include> + <include>org/apache/log4j/helpers.DateLayoutTest.java</include> + <include>org/apache/log4j/TTCCLayoutTest.java</include> + <include>org/apache/log4j/xml.XMLLayoutTest.java</include> + <include>org/apache/log4j/HTMLLayoutTest.java</include> + <include>org/apache/log4j/PatternLayoutTest.java</include> + <include>org/apache/log4j/spi.LoggingEventTest.java</include> + <include>org/apache/log4j/spi.ThrowableInformationTest.java</include> + <include>org/apache/log4j/spi.LocationInfoTest.java</include> + <include>org/apache/log4j/PropertyConfiguratorTest.java</include> + <include>org/apache/log4j/MinimumTestCase.java</include> + <include>org/apache/log4j/LoggerTestCase.java</include> + <include>org/apache/log4j/PatternLayoutTestCase.java</include> + <include>org/apache/log4j/HierarchyThresholdTestCase.java</include> + <include>org/apache/log4j/xml/DOMTestCase.java</include> + <include>org/apache/log4j/xml/CustomLevelTestCase.java</include> + <include>org/apache/log4j/customLogger/XLoggerTestCase.java</include> + <!-- DefaultInit --> + <!-- SocketServer --> + <include>org/apache/log4j/xml/XMLLayoutTestCase.java</include> + <include>org/apache/log4j/xml/AsyncAppenderTestCase.java</include> + <include>org/apache/log4j/varia/LevelMatchFilterTestCase.java</include> + <!-- ErrorHandlerTestCase is not run in Ant build either + <include>org/apache/log4j/varia/ErrorHandlerTestCase.java</include> + --> + <!-- include>org/apache/log4j/helpers/OptionConverterTestCase.java</include --> + <include>org/apache/log4j/helpers/BoundedFIFOTestCase.java</include> + <include>org/apache/log4j/helpers/CyclicBufferTestCase.java</include> + <include>org/apache/log4j/helpers/PatternParserTestCase.java</include> + <include>org/apache/log4j/or/ORTestCase.java</include> + <include>org/apache/log4j/DRFATestCase.java</include> + <include>org/apache/log4j/RFATestCase.java</include> + <include>org/apache/log4j/varia/ERFATestCase.java</include> + <include>org/apache/log4j/net/SyslogAppenderTest</include> + <include>org/apache/log4j/nt/NTEventLogAppenderTest</include> + <include>org/apache/log4j/net/SocketAppenderTest</include> + </includes> + </configuration> + </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>2.1</version> + <configuration> + <source>1.3</source> + <target>1.1</target> + <encoding>UTF-8</encoding> + </configuration> + </plugin> + <plugin> + <artifactId>maven-jar-plugin</artifactId> + <version>2.3</version> + <configuration> + <archive> + <manifestSections> + <manifestSection> + <name>org.apache.log4j</name> + <manifestEntries> + <Implementation-Title>log4j</Implementation-Title> + <Implementation-Version>${project.version}</Implementation-Version> + <Implementation-Vendor>"Apache Software Foundation"</Implementation-Vendor> + </manifestEntries> + </manifestSection> + </manifestSections> + </archive> + </configuration> + </plugin> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.2</version> + <executions> + <!-- generate NTEventLogAppender.dll --> + <execution> + <phase>process-classes</phase> + <id>ntdll</id> + <configuration> + <tasks> + <ant antfile="src/ntdll/build.xml" target="${ntdll_target}"> + <property name="target.dir" location="target" /> + <property name="classes.dir" location="target/classes" /> + <property name="src.dir" location="src/ntdll" /> + <property name="jni.include.dir" location="${java.home}/../include" /> + </ant> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <!-- create tests/output prior to test run --> + <execution> + <phase>test-compile</phase> + <id>mkdir_tests_output</id> + <configuration> + <tasks> + <mkdir dir="tests/output" /> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <phase>clean</phase> + <id>rmdir_tests_output</id> + <configuration> + <tasks> + <delete dir="tests/output" /> + <delete dir="tests/classes" /> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <phase>test</phase> + <id>runAll</id> + <configuration> + <tasks> + <ant dir="tests" target="runAll"> + <property name="m2_repo" location="${m2_repo}" /> + <property name="log4j.jar" location="target/classes" /> + <property name="project.lib.home" location="target" /> + </ant> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <!-- release builds will put SVN tags into the SCM page, this changes it back to trunk --> + <execution> + <phase>site</phase> + <id>untag-site</id> + <configuration> + <tasks> + <taskdef name="replaceregexp" classname="org.apache.tools.ant.taskdefs.optional.ReplaceRegExp" /> + <replaceregexp file="target/site/source-repository.html" match="/tags/[^ &quot;'&lt;]*" replace="/trunk" flags="g" /> + <replaceregexp match="-- Generated by (.*) on .*--" replace="-- Generated by \1 --" flags="g"> + <fileset dir="target/site/apidocs" includes="**/*.html" /> + </replaceregexp> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <phase>post-site</phase> + <id>post-site</id> + <configuration> + <tasks> + <ant target="post-site" /> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <phase>site-deploy</phase> + <id>site-deploy</id> + <configuration> + <tasks> + <ant target="site-deploy" /> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + <dependencies> + <dependency> + <groupId>ant</groupId> + <artifactId>ant-nodeps</artifactId> + <version>1.6.5</version> + </dependency> + <dependency> + <groupId>ant-contrib</groupId> + <artifactId>ant-contrib</artifactId> + <version>1.0b2</version> + </dependency> + <dependency> + <groupId>ant</groupId> + <artifactId>ant-junit</artifactId> + <version>1.6.5</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>sun.jdk</groupId> + <artifactId>tools</artifactId> + <version>1.4.2</version> + <scope>system</scope> + <systemPath>${tools.jar}</systemPath> + </dependency> + + + </dependencies> + </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.2-beta-5</version> + <configuration> + <descriptors> + <descriptor>src/assembly/bin.xml</descriptor> + </descriptors> + <appendAssemblyId>false</appendAssemblyId> + </configuration> + <executions> + <execution> + <goals> + <goal>assembly</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-javadoc-plugin</artifactId> + <version>2.6.1</version> + <configuration> + <docfilessubdirs>true</docfilessubdirs> + <encoding>UTF-8</encoding> + </configuration> + <executions> + <execution> + <goals> + <goal>jar</goal> + <goal>javadoc</goal> + </goals> + </execution> + <execution> + <id>site</id> + <phase>pre-site</phase> + <goals> + <goal>javadoc</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-release-plugin</artifactId> + <version>2.0-beta-9</version> + <!-- + Bug MRELEASE-273 has been throwing NPE during release:perform, + typically after deploy so this places it last. + --> + <configuration> + <goals>package site-deploy assembly:attached deploy</goals> + </configuration> + </plugin> + <plugin> + <artifactId>maven-source-plugin</artifactId> + <version>2.1.1</version> + <executions> + <execution> + <goals> + <goal>jar</goal> + </goals> + </execution> + </executions> + </plugin> + <!-- + clirr:check will fail with NullPointerException + due to missing javax.jms.MessageListener, + however it will trigger download of supporting components + which can allow "ant clirr" to succeed. + Could possibly run on a JavaEE platform. + --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>clirr-maven-plugin</artifactId> + <version>2.2.2</version> + <configuration> + <comparisonVersion>1.2.15</comparisonVersion> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>rat-maven-plugin</artifactId> + <version>1.0-alpha-3</version> + <configuration> + <excludes> + <exclude>tests/witness/**</exclude> + </excludes> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>2.0.1</version> + <extensions>true</extensions> + <configuration> + <instructions> + <!-- omit chainsaw and LF5 --> + <Export-Package>!org.apache.log4j.lf5.*,!org.apache.log4j.chainsaw.*,org.apache.log4j.*</Export-Package> + <Import-Package>com.sun.jdmk.comm;resolution:=optional, + javax.jms;resolution:=optional, + javax.mail.*;resolution:=optional, + javax.management;resolution:=optional, + javax.naming;resolution:=optional, + com.sun.jdmk.comm;resolution:=optional, + com.ibm.uvm.tools;resolution:=optional, + javax.swing.*;resolution:=optional, + *</Import-Package> + <Bundle-DocURL>http://logging.apache.org/log4j/1.2</Bundle-DocURL> + </instructions> + </configuration> + </plugin> + </plugins> + <testSourceDirectory>tests/src/java</testSourceDirectory> + <testResources> + <testResource> + <directory>tests/resources</directory> + </testResource> + </testResources> + </build> + <profiles> + <profile> + <id>mac</id> + <activation> + <os> + <family>mac</family> + </os> + </activation> + <properties> + <tools.jar>${java.home}/../Classes/classes.jar</tools.jar> + <m2_repo>${user.home}/.m2/repository</m2_repo> + <ntdll_target>build</ntdll_target> + </properties> + </profile> + <profile> + <id>default</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + <properties> + <tools.jar>${java.home}/../lib/tools.jar</tools.jar> + <m2_repo>${user.home}/.m2/repository</m2_repo> + <ntdll_target>build</ntdll_target> + </properties> + </profile> + </profiles> + <repositories> + </repositories> + <dependencies> + <dependency> + <groupId>javax.mail</groupId> + <artifactId>mail</artifactId> + <version>1.4.1</version> + <optional>true</optional> + </dependency> + <!-- the following dependency is not needed on JDK 1.5 and higher + <dependency> + <groupId>com.sun.jmx</groupId> + <artifactId>jmxri</artifactId> + <version>1.2.1</version> + <optional>true</optional> + </dependency> + --> + <dependency> + <groupId>oro</groupId> + <artifactId>oro</artifactId> + <version>2.0.8</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-jms_1.1_spec</artifactId> + <version>1.0</version> + <optional>true</optional> + </dependency> + </dependencies> + <reporting> + <excludeDefaults>true</excludeDefaults> + <plugins> + <plugin> + <artifactId>maven-project-info-reports-plugin</artifactId> + <version>2.1.2</version> + <reportSets> + <reportSet> + <reports> + <report>scm</report> + <report>dependencies</report> + <report>cim</report> + <report>issue-tracking</report> + <report>mailing-list</report> + <report>license</report> + </reports> + </reportSet> + </reportSets> + </plugin> + <plugin> + <artifactId>maven-jxr-plugin</artifactId> + <version>2.1</version> + </plugin> + <plugin> + <artifactId>maven-changes-plugin</artifactId> + <version>2.3</version> + <reportSets> + <reportSet> + <reports> + <report>changes-report</report> + </reports> + </reportSet> + </reportSets> + <configuration> + <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate> + </configuration> + </plugin> + </plugins> + </reporting> + <distributionManagement> + <repository> + <id>logging.repo</id> + <url>scp://people.apache.org/www/people.apache.org/builds/logging/repo/</url> + </repository> + <site> + <id>logging.site</id> + <url>scp://localhost/${user.dir}/target/site-deploy</url> + </site> + </distributionManagement> +</project> + diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/allclasses-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/allclasses-frame.html new file mode 100644 index 00000000000..01fccfcf9d1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/allclasses-frame.html @@ -0,0 +1,416 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +All Classes (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameHeadingFont"> +<B>All Classes</B></FONT> +<BR> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers" target="classFrame">AbsoluteTimeDateFormat</A> +<BR> +<A HREF="org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx" target="classFrame">AbstractDynamicMBean</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util" target="classFrame">AdapterLogRecord</A> +<BR> +<A HREF="org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx" target="classFrame">Agent</A> +<BR> +<A HREF="org/apache/log4j/Appender.html" title="interface in org.apache.log4j" target="classFrame"><I>Appender</I></A> +<BR> +<A HREF="org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>AppenderAttachable</I></A> +<BR> +<A HREF="org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers" target="classFrame">AppenderAttachableImpl</A> +<BR> +<A HREF="org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx" target="classFrame">AppenderDynamicMBean</A> +<BR> +<A HREF="org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5" target="classFrame">AppenderFinalizer</A> +<BR> +<A HREF="org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j" target="classFrame">AppenderSkeleton</A> +<BR> +<A HREF="org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j" target="classFrame">AsyncAppender</A> +<BR> +<A HREF="org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax" target="classFrame">AttributesRenderer</A> +<BR> +<A HREF="org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j" target="classFrame">BasicConfigurator</A> +<BR> +<A HREF="org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers" target="classFrame">BoundedFIFO</A> +<BR> +<A HREF="org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">BridgePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern" target="classFrame">BridgePatternParser</A> +<BR> +<A HREF="org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern" target="classFrame">CachedDateFormat</A> +<BR> +<A HREF="org/apache/log4j/Category.html" title="class in org.apache.log4j" target="classFrame">Category</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryAbstractCellEditor</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryElement</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryExplorerLogRecordFilter</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryExplorerModel</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryExplorerTree</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryImmediateEditor</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryNode</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryNodeEditor</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryNodeEditorRenderer</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryNodeRenderer</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryPath</A> +<BR> +<A HREF="org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">ClassNamePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure" target="classFrame">ConfigurationManager</A> +<BR> +<A HREF="org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>Configurator</I></A> +<BR> +<A HREF="org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j" target="classFrame">ConsoleAppender</A> +<BR> +<A HREF="org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers" target="classFrame">CountingQuietWriter</A> +<BR> +<A HREF="org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers" target="classFrame">CyclicBuffer</A> +<BR> +<A HREF="org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j" target="classFrame">DailyRollingFileAppender</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util" target="classFrame">DateFormatManager</A> +<BR> +<A HREF="org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers" target="classFrame">DateLayout</A> +<BR> +<A HREF="org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">DatePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers" target="classFrame">DateTimeDateFormat</A> +<BR> +<A HREF="org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5" target="classFrame">DefaultLF5Configurator</A> +<BR> +<A HREF="org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi" target="classFrame">DefaultRepositorySelector</A> +<BR> +<A HREF="org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j" target="classFrame">DefaultThrowableRenderer</A> +<BR> +<A HREF="org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia" target="classFrame">DenyAllFilter</A> +<BR> +<A HREF="org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml" target="classFrame">DOMConfigurator</A> +<BR> +<A HREF="org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j" target="classFrame">EnhancedPatternLayout</A> +<BR> +<A HREF="org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j" target="classFrame">EnhancedThrowableRenderer</A> +<BR> +<A HREF="org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>ErrorCode</I></A> +<BR> +<A HREF="org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>ErrorHandler</I></A> +<BR> +<A HREF="org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia" target="classFrame">ExternallyRolledFileAppender</A> +<BR> +<A HREF="org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia" target="classFrame">FallbackErrorHandler</A> +<BR> +<A HREF="org/apache/log4j/FileAppender.html" title="class in org.apache.log4j" target="classFrame">FileAppender</A> +<BR> +<A HREF="org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">FileDatePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">FileLocationPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers" target="classFrame">FileWatchdog</A> +<BR> +<A HREF="org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi" target="classFrame">Filter</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">FilteredLogTableModel</A> +<BR> +<A HREF="org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers" target="classFrame">FormattingInfo</A> +<BR> +<A HREF="org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern" target="classFrame">FormattingInfo</A> +<BR> +<A HREF="org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">FullLocationPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j" target="classFrame">Hierarchy</A> +<BR> +<A HREF="org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx" target="classFrame">HierarchyDynamicMBean</A> +<BR> +<A HREF="org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>HierarchyEventListener</I></A> +<BR> +<A HREF="org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j" target="classFrame">HTMLLayout</A> +<BR> +<A HREF="org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">IntegerPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers" target="classFrame">ISO8601DateFormat</A> +<BR> +<A HREF="org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc" target="classFrame">JDBCAppender</A> +<BR> +<A HREF="org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net" target="classFrame">JMSAppender</A> +<BR> +<A HREF="org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net" target="classFrame">JMSSink</A> +<BR> +<A HREF="org/apache/log4j/Layout.html" title="class in org.apache.log4j" target="classFrame">Layout</A> +<BR> +<A HREF="org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx" target="classFrame">LayoutDynamicMBean</A> +<BR> +<A HREF="org/apache/log4j/Level.html" title="class in org.apache.log4j" target="classFrame">Level</A> +<BR> +<A HREF="org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia" target="classFrame">LevelMatchFilter</A> +<BR> +<A HREF="org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LevelPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia" target="classFrame">LevelRangeFilter</A> +<BR> +<A HREF="org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5" target="classFrame">LF5Appender</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LF5SwingUtils</A> +<BR> +<A HREF="org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LineLocationPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LineSeparatorPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LiteralPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers" target="classFrame">Loader</A> +<BR> +<A HREF="org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi" target="classFrame">LocationInfo</A> +<BR> +<A HREF="org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml" target="classFrame">Log4jEntityResolver</A> +<BR> +<A HREF="org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5" target="classFrame">Log4JLogRecord</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogBrokerMonitor</A> +<BR> +<A HREF="org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern" target="classFrame">LogEvent</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogFactor5Dialog</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogFactor5ErrorDialog</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogFactor5InputDialog</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogFactor5LoadingDialog</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util" target="classFrame">LogFileParser</A> +<BR> +<A HREF="org/apache/log4j/Logger.html" title="class in org.apache.log4j" target="classFrame">Logger</A> +<BR> +<A HREF="org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx" target="classFrame">LoggerDynamicMBean</A> +<BR> +<A HREF="org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>LoggerFactory</I></A> +<BR> +<A HREF="org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LoggerPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>LoggerRepository</I></A> +<BR> +<A HREF="org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi" target="classFrame">LoggingEvent</A> +<BR> +<A HREF="org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LoggingEventPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5" target="classFrame">LogLevel</A> +<BR> +<A HREF="org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5" target="classFrame">LogLevelFormatException</A> +<BR> +<A HREF="org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers" target="classFrame">LogLog</A> +<BR> +<A HREF="org/apache/log4j/LogManager.html" title="class in org.apache.log4j" target="classFrame">LogManager</A> +<BR> +<A HREF="org/apache/log4j/LogMF.html" title="class in org.apache.log4j" target="classFrame">LogMF</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util" target="classFrame">LogMonitorAdapter</A> +<BR> +<A HREF="org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5" target="classFrame">LogRecord</A> +<BR> +<A HREF="org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5" target="classFrame"><I>LogRecordFilter</I></A> +<BR> +<A HREF="org/apache/log4j/LogSF.html" title="class in org.apache.log4j" target="classFrame">LogSF</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogTable</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogTableColumn</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogTableColumnFormatException</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogTableModel</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogTableRowRenderer</A> +<BR> +<A HREF="org/apache/log4j/LogXF.html" title="class in org.apache.log4j" target="classFrame">LogXF</A> +<BR> +<A HREF="org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw" target="classFrame">Main</A> +<BR> +<A HREF="org/apache/log4j/MDC.html" title="class in org.apache.log4j" target="classFrame">MDC</A> +<BR> +<A HREF="org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers" target="classFrame">MDCKeySetExtractor</A> +<BR> +<A HREF="org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">MessagePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms" target="classFrame">MessageRenderer</A> +<BR> +<A HREF="org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">MethodLocationPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure" target="classFrame">MRUFileManager</A> +<BR> +<A HREF="org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern" target="classFrame">NameAbbreviator</A> +<BR> +<A HREF="org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">NamePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/NDC.html" title="class in org.apache.log4j" target="classFrame">NDC</A> +<BR> +<A HREF="org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">NDCPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi" target="classFrame">NOPLogger</A> +<BR> +<A HREF="org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi" target="classFrame">NOPLoggerRepository</A> +<BR> +<A HREF="org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt" target="classFrame">NTEventLogAppender</A> +<BR> +<A HREF="org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia" target="classFrame">NullAppender</A> +<BR> +<A HREF="org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers" target="classFrame">NullEnumeration</A> +<BR> +<A HREF="org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or" target="classFrame"><I>ObjectRenderer</I></A> +<BR> +<A HREF="org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers" target="classFrame">OnlyOnceErrorHandler</A> +<BR> +<A HREF="org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers" target="classFrame">OptionConverter</A> +<BR> +<A HREF="org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>OptionHandler</I></A> +<BR> +<A HREF="org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5" target="classFrame">PassingLogRecordFilter</A> +<BR> +<A HREF="org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers" target="classFrame">PatternConverter</A> +<BR> +<A HREF="org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">PatternConverter</A> +<BR> +<A HREF="org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j" target="classFrame">PatternLayout</A> +<BR> +<A HREF="org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers" target="classFrame">PatternParser</A> +<BR> +<A HREF="org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern" target="classFrame">PatternParser</A> +<BR> +<A HREF="org/apache/log4j/Priority.html" title="class in org.apache.log4j" target="classFrame">Priority</A> +<BR> +<A HREF="org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">PropertiesPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j" target="classFrame">PropertyConfigurator</A> +<BR> +<A HREF="org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config" target="classFrame">PropertyGetter</A> +<BR> +<A HREF="org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config" target="classFrame"><I>PropertyGetter.PropertyCallback</I></A> +<BR> +<A HREF="org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config" target="classFrame">PropertyPrinter</A> +<BR> +<A HREF="org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config" target="classFrame">PropertySetter</A> +<BR> +<A HREF="org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config" target="classFrame">PropertySetterException</A> +<BR> +<A HREF="org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers" target="classFrame">QuietWriter</A> +<BR> +<A HREF="org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers" target="classFrame">RelativeTimeDateFormat</A> +<BR> +<A HREF="org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">RelativeTimePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia" target="classFrame">ReloadingPropertyConfigurator</A> +<BR> +<A HREF="org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or" target="classFrame">RendererMap</A> +<BR> +<A HREF="org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>RendererSupport</I></A> +<BR> +<A HREF="org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>RepositorySelector</I></A> +<BR> +<A HREF="org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util" target="classFrame">Resource</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util" target="classFrame">ResourceUtils</A> +<BR> +<A HREF="org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia" target="classFrame">Roller</A> +<BR> +<A HREF="org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j" target="classFrame">RollingFileAppender</A> +<BR> +<A HREF="org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi" target="classFrame">RootCategory</A> +<BR> +<A HREF="org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi" target="classFrame">RootLogger</A> +<BR> +<A HREF="org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml" target="classFrame">SAXErrorHandler</A> +<BR> +<A HREF="org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">SequenceNumberPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j" target="classFrame">SimpleLayout</A> +<BR> +<A HREF="org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net" target="classFrame">SimpleSocketServer</A> +<BR> +<A HREF="org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net" target="classFrame">SMTPAppender</A> +<BR> +<A HREF="org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net" target="classFrame">SocketAppender</A> +<BR> +<A HREF="org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net" target="classFrame">SocketHubAppender</A> +<BR> +<A HREF="org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net" target="classFrame">SocketNode</A> +<BR> +<A HREF="org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net" target="classFrame">SocketServer</A> +<BR> +<A HREF="org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5" target="classFrame">StartLogFactor5</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util" target="classFrame">StreamUtils</A> +<BR> +<A HREF="org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia" target="classFrame">StringMatchFilter</A> +<BR> +<A HREF="org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net" target="classFrame">SyslogAppender</A> +<BR> +<A HREF="org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers" target="classFrame">SyslogQuietWriter</A> +<BR> +<A HREF="org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers" target="classFrame">SyslogWriter</A> +<BR> +<A HREF="org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net" target="classFrame">TelnetAppender</A> +<BR> +<A HREF="org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or" target="classFrame">ThreadGroupRenderer</A> +<BR> +<A HREF="org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers" target="classFrame">ThreadLocalMap</A> +<BR> +<A HREF="org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">ThreadPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi" target="classFrame">ThrowableInformation</A> +<BR> +<A HREF="org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">ThrowableInformationPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>ThrowableRenderer</I></A> +<BR> +<A HREF="org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>ThrowableRendererSupport</I></A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">TrackingAdjustmentListener</A> +<BR> +<A HREF="org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers" target="classFrame">Transform</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">TreeModelAdapter</A> +<BR> +<A HREF="org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>TriggeringEventEvaluator</I></A> +<BR> +<A HREF="org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j" target="classFrame">TTCCLayout</A> +<BR> +<A HREF="org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml" target="classFrame"><I>UnrecognizedElementHandler</I></A> +<BR> +<A HREF="org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j" target="classFrame">WriterAppender</A> +<BR> +<A HREF="org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml" target="classFrame">XMLLayout</A> +<BR> +<A HREF="org/apache/log4j/xml/examples/XMLSample.html" title="class in org.apache.log4j.xml.examples" target="classFrame">XMLSample</A> +<BR> +<A HREF="org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net" target="classFrame">ZeroConfSupport</A> +<BR> +</FONT></TD> +</TR> +</TABLE> + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/allclasses-noframe.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/allclasses-noframe.html new file mode 100644 index 00000000000..3c7f84e4551 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/allclasses-noframe.html @@ -0,0 +1,416 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +All Classes (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameHeadingFont"> +<B>All Classes</B></FONT> +<BR> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> +<BR> +<A HREF="org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A> +<BR> +<A HREF="org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx">Agent</A> +<BR> +<A HREF="org/apache/log4j/Appender.html" title="interface in org.apache.log4j"><I>Appender</I></A> +<BR> +<A HREF="org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><I>AppenderAttachable</I></A> +<BR> +<A HREF="org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<BR> +<A HREF="org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A> +<BR> +<A HREF="org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A> +<BR> +<A HREF="org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<BR> +<A HREF="org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<BR> +<A HREF="org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax">AttributesRenderer</A> +<BR> +<A HREF="org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j">BasicConfigurator</A> +<BR> +<A HREF="org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A> +<BR> +<A HREF="org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern">BridgePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern">BridgePatternParser</A> +<BR> +<A HREF="org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<BR> +<A HREF="org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerLogRecordFilter</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryImmediateEditor</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> +<BR> +<A HREF="org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<BR> +<A HREF="org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><I>Configurator</I></A> +<BR> +<A HREF="org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<BR> +<A HREF="org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers">CountingQuietWriter</A> +<BR> +<A HREF="org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A> +<BR> +<A HREF="org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<BR> +<A HREF="org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<BR> +<A HREF="org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers">DateTimeDateFormat</A> +<BR> +<A HREF="org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5">DefaultLF5Configurator</A> +<BR> +<A HREF="org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi">DefaultRepositorySelector</A> +<BR> +<A HREF="org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j">DefaultThrowableRenderer</A> +<BR> +<A HREF="org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia">DenyAllFilter</A> +<BR> +<A HREF="org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<BR> +<A HREF="org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<BR> +<A HREF="org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j">EnhancedThrowableRenderer</A> +<BR> +<A HREF="org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi"><I>ErrorCode</I></A> +<BR> +<A HREF="org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><I>ErrorHandler</I></A> +<BR> +<A HREF="org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A> +<BR> +<A HREF="org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A> +<BR> +<A HREF="org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<BR> +<A HREF="org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern">FileDatePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A> +<BR> +<A HREF="org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<BR> +<A HREF="org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A> +<BR> +<A HREF="org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> +<BR> +<A HREF="org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<BR> +<A HREF="org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<BR> +<A HREF="org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><I>HierarchyEventListener</I></A> +<BR> +<A HREF="org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<BR> +<A HREF="org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers">ISO8601DateFormat</A> +<BR> +<A HREF="org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<BR> +<A HREF="org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<BR> +<A HREF="org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net">JMSSink</A> +<BR> +<A HREF="org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> +<BR> +<A HREF="org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx">LayoutDynamicMBean</A> +<BR> +<A HREF="org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<BR> +<A HREF="org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A> +<BR> +<A HREF="org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A> +<BR> +<A HREF="org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer">LF5SwingUtils</A> +<BR> +<A HREF="org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern">LiteralPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers">Loader</A> +<BR> +<A HREF="org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> +<BR> +<A HREF="org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml">Log4jEntityResolver</A> +<BR> +<A HREF="org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5">Log4JLogRecord</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<BR> +<A HREF="org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5ErrorDialog</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5InputDialog</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5LoadingDialog</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<BR> +<A HREF="org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> +<BR> +<A HREF="org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A> +<BR> +<A HREF="org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><I>LoggerFactory</I></A> +<BR> +<A HREF="org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><I>LoggerRepository</I></A> +<BR> +<A HREF="org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<BR> +<A HREF="org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<BR> +<A HREF="org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5">LogLevelFormatException</A> +<BR> +<A HREF="org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<BR> +<A HREF="org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<BR> +<A HREF="org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<BR> +<A HREF="org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<BR> +<A HREF="org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5"><I>LogRecordFilter</I></A> +<BR> +<A HREF="org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumnFormatException</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer">LogTableModel</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer">LogTableRowRenderer</A> +<BR> +<A HREF="org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<BR> +<A HREF="org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw">Main</A> +<BR> +<A HREF="org/apache/log4j/MDC.html" title="class in org.apache.log4j">MDC</A> +<BR> +<A HREF="org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A> +<BR> +<A HREF="org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms">MessageRenderer</A> +<BR> +<A HREF="org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<BR> +<A HREF="org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A> +<BR> +<A HREF="org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<BR> +<A HREF="org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<BR> +<A HREF="org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<BR> +<A HREF="org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<BR> +<A HREF="org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> +<BR> +<A HREF="org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A> +<BR> +<A HREF="org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><I>ObjectRenderer</I></A> +<BR> +<A HREF="org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A> +<BR> +<A HREF="org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<BR> +<A HREF="org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi"><I>OptionHandler</I></A> +<BR> +<A HREF="org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5">PassingLogRecordFilter</A> +<BR> +<A HREF="org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> +<BR> +<A HREF="org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A> +<BR> +<A HREF="org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<BR> +<A HREF="org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<BR> +<A HREF="org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern">PatternParser</A> +<BR> +<A HREF="org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<BR> +<A HREF="org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<BR> +<A HREF="org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config">PropertyGetter</A> +<BR> +<A HREF="org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config"><I>PropertyGetter.PropertyCallback</I></A> +<BR> +<A HREF="org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<BR> +<A HREF="org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<BR> +<A HREF="org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A> +<BR> +<A HREF="org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A> +<BR> +<A HREF="org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers">RelativeTimeDateFormat</A> +<BR> +<A HREF="org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A> +<BR> +<A HREF="org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia">ReloadingPropertyConfigurator</A> +<BR> +<A HREF="org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> +<BR> +<A HREF="org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi"><I>RendererSupport</I></A> +<BR> +<A HREF="org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><I>RepositorySelector</I></A> +<BR> +<A HREF="org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util">ResourceUtils</A> +<BR> +<A HREF="org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia">Roller</A> +<BR> +<A HREF="org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<BR> +<A HREF="org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A> +<BR> +<A HREF="org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A> +<BR> +<A HREF="org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml">SAXErrorHandler</A> +<BR> +<A HREF="org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j">SimpleLayout</A> +<BR> +<A HREF="org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net">SimpleSocketServer</A> +<BR> +<A HREF="org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<BR> +<A HREF="org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<BR> +<A HREF="org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<BR> +<A HREF="org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net">SocketNode</A> +<BR> +<A HREF="org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net">SocketServer</A> +<BR> +<A HREF="org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5">StartLogFactor5</A> +<BR> +<A HREF="org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util">StreamUtils</A> +<BR> +<A HREF="org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<BR> +<A HREF="org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<BR> +<A HREF="org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers">SyslogQuietWriter</A> +<BR> +<A HREF="org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers">SyslogWriter</A> +<BR> +<A HREF="org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A> +<BR> +<A HREF="org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or">ThreadGroupRenderer</A> +<BR> +<A HREF="org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers">ThreadLocalMap</A> +<BR> +<A HREF="org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> +<BR> +<A HREF="org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A> +<BR> +<A HREF="org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><I>ThrowableRenderer</I></A> +<BR> +<A HREF="org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi"><I>ThrowableRendererSupport</I></A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer">TrackingAdjustmentListener</A> +<BR> +<A HREF="org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers">Transform</A> +<BR> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">TreeModelAdapter</A> +<BR> +<A HREF="org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><I>TriggeringEventEvaluator</I></A> +<BR> +<A HREF="org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<BR> +<A HREF="org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><I>UnrecognizedElementHandler</I></A> +<BR> +<A HREF="org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<BR> +<A HREF="org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A> +<BR> +<A HREF="org/apache/log4j/xml/examples/XMLSample.html" title="class in org.apache.log4j.xml.examples">XMLSample</A> +<BR> +<A HREF="org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net">ZeroConfSupport</A> +<BR> +</FONT></TD> +</TR> +</TABLE> + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/constant-values.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/constant-values.html new file mode 100644 index 00000000000..3953ec325a2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/constant-values.html @@ -0,0 +1,1093 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Constant Field Values (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Constant Field Values (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +Constant Field Values</H1> +</CENTER> +<HR SIZE="4" NOSHADE> +<B>Contents</B><UL> +<LI><A HREF="#org.apache">org.apache.*</A> +</UL> + +<A NAME="org.apache"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left"><FONT SIZE="+2"> +org.apache.*</FONT></TH> +</TR> +</TABLE> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.<A HREF="org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.AsyncAppender.DEFAULT_BUFFER_SIZE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/AsyncAppender.html#DEFAULT_BUFFER_SIZE">DEFAULT_BUFFER_SIZE</A></CODE></TD> +<TD ALIGN="right"><CODE>128</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.<A HREF="org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.ConsoleAppender.SYSTEM_ERR"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/ConsoleAppender.html#SYSTEM_ERR">SYSTEM_ERR</A></CODE></TD> +<TD ALIGN="right"><CODE>"System.err"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.ConsoleAppender.SYSTEM_OUT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/ConsoleAppender.html#SYSTEM_OUT">SYSTEM_OUT</A></CODE></TD> +<TD ALIGN="right"><CODE>"System.out"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.<A HREF="org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.EnhancedPatternLayout.BUF_SIZE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>protected&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/EnhancedPatternLayout.html#BUF_SIZE">BUF_SIZE</A></CODE></TD> +<TD ALIGN="right"><CODE>256</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.EnhancedPatternLayout.DEFAULT_CONVERSION_PATTERN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/EnhancedPatternLayout.html#DEFAULT_CONVERSION_PATTERN">DEFAULT_CONVERSION_PATTERN</A></CODE></TD> +<TD ALIGN="right"><CODE>"%m%n"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.EnhancedPatternLayout.MAX_CAPACITY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>protected&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/EnhancedPatternLayout.html#MAX_CAPACITY">MAX_CAPACITY</A></CODE></TD> +<TD ALIGN="right"><CODE>1024</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.EnhancedPatternLayout.PATTERN_RULE_REGISTRY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/EnhancedPatternLayout.html#PATTERN_RULE_REGISTRY">PATTERN_RULE_REGISTRY</A></CODE></TD> +<TD ALIGN="right"><CODE>"PATTERN_RULE_REGISTRY"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.EnhancedPatternLayout.TTCC_CONVERSION_PATTERN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/EnhancedPatternLayout.html#TTCC_CONVERSION_PATTERN">TTCC_CONVERSION_PATTERN</A></CODE></TD> +<TD ALIGN="right"><CODE>"%r [%t] %p %c %x - %m%n"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.<A HREF="org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.HTMLLayout.BUF_SIZE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>protected&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/HTMLLayout.html#BUF_SIZE">BUF_SIZE</A></CODE></TD> +<TD ALIGN="right"><CODE>256</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.HTMLLayout.LOCATION_INFO_OPTION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/HTMLLayout.html#LOCATION_INFO_OPTION">LOCATION_INFO_OPTION</A></CODE></TD> +<TD ALIGN="right"><CODE>"LocationInfo"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.HTMLLayout.MAX_CAPACITY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>protected&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/HTMLLayout.html#MAX_CAPACITY">MAX_CAPACITY</A></CODE></TD> +<TD ALIGN="right"><CODE>1024</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.HTMLLayout.TITLE_OPTION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/HTMLLayout.html#TITLE_OPTION">TITLE_OPTION</A></CODE></TD> +<TD ALIGN="right"><CODE>"Title"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.<A HREF="org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.Level.TRACE_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/Level.html#TRACE_INT">TRACE_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>5000</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.<A HREF="org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.LogManager.CONFIGURATOR_CLASS_KEY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/LogManager.html#CONFIGURATOR_CLASS_KEY">CONFIGURATOR_CLASS_KEY</A></CODE></TD> +<TD ALIGN="right"><CODE>"log4j.configuratorClass"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.LogManager.DEFAULT_CONFIGURATION_FILE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/LogManager.html#DEFAULT_CONFIGURATION_FILE">DEFAULT_CONFIGURATION_FILE</A></CODE></TD> +<TD ALIGN="right"><CODE>"log4j.properties"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.LogManager.DEFAULT_CONFIGURATION_KEY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/LogManager.html#DEFAULT_CONFIGURATION_KEY">DEFAULT_CONFIGURATION_KEY</A></CODE></TD> +<TD ALIGN="right"><CODE>"log4j.configuration"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.LogManager.DEFAULT_INIT_OVERRIDE_KEY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/LogManager.html#DEFAULT_INIT_OVERRIDE_KEY">DEFAULT_INIT_OVERRIDE_KEY</A></CODE></TD> +<TD ALIGN="right"><CODE>"log4j.defaultInitOverride"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.<A HREF="org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.PatternLayout.BUF_SIZE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>protected&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/PatternLayout.html#BUF_SIZE">BUF_SIZE</A></CODE></TD> +<TD ALIGN="right"><CODE>256</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.PatternLayout.DEFAULT_CONVERSION_PATTERN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/PatternLayout.html#DEFAULT_CONVERSION_PATTERN">DEFAULT_CONVERSION_PATTERN</A></CODE></TD> +<TD ALIGN="right"><CODE>"%m%n"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.PatternLayout.MAX_CAPACITY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>protected&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/PatternLayout.html#MAX_CAPACITY">MAX_CAPACITY</A></CODE></TD> +<TD ALIGN="right"><CODE>1024</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.PatternLayout.TTCC_CONVERSION_PATTERN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/PatternLayout.html#TTCC_CONVERSION_PATTERN">TTCC_CONVERSION_PATTERN</A></CODE></TD> +<TD ALIGN="right"><CODE>"%r [%t] %p %c %x - %m%n"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.<A HREF="org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.Priority.ALL_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/Priority.html#ALL_INT">ALL_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>-2147483648</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.Priority.DEBUG_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/Priority.html#DEBUG_INT">DEBUG_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>10000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.Priority.ERROR_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/Priority.html#ERROR_INT">ERROR_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>40000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.Priority.FATAL_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/Priority.html#FATAL_INT">FATAL_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>50000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.Priority.INFO_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/Priority.html#INFO_INT">INFO_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>20000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.Priority.OFF_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/Priority.html#OFF_INT">OFF_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>2147483647</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.Priority.WARN_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/Priority.html#WARN_INT">WARN_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>30000</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.<A HREF="org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.PropertyConfigurator.LOGGER_FACTORY_KEY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/PropertyConfigurator.html#LOGGER_FACTORY_KEY">LOGGER_FACTORY_KEY</A></CODE></TD> +<TD ALIGN="right"><CODE>"log4j.loggerFactory"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.chainsaw.<A HREF="org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw">Main</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.chainsaw.Main.PORT_PROP_NAME"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/chainsaw/Main.html#PORT_PROP_NAME">PORT_PROP_NAME</A></CODE></TD> +<TD ALIGN="right"><CODE>"chainsaw.port"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.helpers.AbsoluteTimeDateFormat.ABS_TIME_DATE_FORMAT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ABS_TIME_DATE_FORMAT">ABS_TIME_DATE_FORMAT</A></CODE></TD> +<TD ALIGN="right"><CODE>"ABSOLUTE"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.helpers.AbsoluteTimeDateFormat.DATE_AND_TIME_DATE_FORMAT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#DATE_AND_TIME_DATE_FORMAT">DATE_AND_TIME_DATE_FORMAT</A></CODE></TD> +<TD ALIGN="right"><CODE>"DATE"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.helpers.AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ISO8601_DATE_FORMAT">ISO8601_DATE_FORMAT</A></CODE></TD> +<TD ALIGN="right"><CODE>"ISO8601"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.helpers.DateLayout.DATE_FORMAT_OPTION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/helpers/DateLayout.html#DATE_FORMAT_OPTION">DATE_FORMAT_OPTION</A></CODE></TD> +<TD ALIGN="right"><CODE>"DateFormat"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.helpers.DateLayout.NULL_DATE_FORMAT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/helpers/DateLayout.html#NULL_DATE_FORMAT">NULL_DATE_FORMAT</A></CODE></TD> +<TD ALIGN="right"><CODE>"NULL"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.helpers.DateLayout.RELATIVE_TIME_DATE_FORMAT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/helpers/DateLayout.html#RELATIVE_TIME_DATE_FORMAT">RELATIVE_TIME_DATE_FORMAT</A></CODE></TD> +<TD ALIGN="right"><CODE>"RELATIVE"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.helpers.DateLayout.TIMEZONE_OPTION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/helpers/DateLayout.html#TIMEZONE_OPTION">TIMEZONE_OPTION</A></CODE></TD> +<TD ALIGN="right"><CODE>"TimeZone"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.helpers.FileWatchdog.DEFAULT_DELAY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;long</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/helpers/FileWatchdog.html#DEFAULT_DELAY">DEFAULT_DELAY</A></CODE></TD> +<TD ALIGN="right"><CODE>60000L</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.helpers.LogLog.CONFIG_DEBUG_KEY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/helpers/LogLog.html#CONFIG_DEBUG_KEY">CONFIG_DEBUG_KEY</A></CODE></TD> +<TD ALIGN="right"><CODE>"log4j.configDebug"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.helpers.LogLog.DEBUG_KEY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/helpers/LogLog.html#DEBUG_KEY">DEBUG_KEY</A></CODE></TD> +<TD ALIGN="right"><CODE>"log4j.debug"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.lf5.util.<A HREF="org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogFileParser.ATTRIBUTE_DELIMITER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogFileParser.html#ATTRIBUTE_DELIMITER">ATTRIBUTE_DELIMITER</A></CODE></TD> +<TD ALIGN="right"><CODE>"[slf5s."</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogFileParser.CATEGORY_DELIMITER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogFileParser.html#CATEGORY_DELIMITER">CATEGORY_DELIMITER</A></CODE></TD> +<TD ALIGN="right"><CODE>"[slf5s.CATEGORY]"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogFileParser.DATE_DELIMITER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogFileParser.html#DATE_DELIMITER">DATE_DELIMITER</A></CODE></TD> +<TD ALIGN="right"><CODE>"[slf5s.DATE]"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogFileParser.LOCATION_DELIMITER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogFileParser.html#LOCATION_DELIMITER">LOCATION_DELIMITER</A></CODE></TD> +<TD ALIGN="right"><CODE>"[slf5s.LOCATION]"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogFileParser.MESSAGE_DELIMITER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogFileParser.html#MESSAGE_DELIMITER">MESSAGE_DELIMITER</A></CODE></TD> +<TD ALIGN="right"><CODE>"[slf5s.MESSAGE]"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogFileParser.NDC_DELIMITER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogFileParser.html#NDC_DELIMITER">NDC_DELIMITER</A></CODE></TD> +<TD ALIGN="right"><CODE>"[slf5s.NDC]"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogFileParser.PRIORITY_DELIMITER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogFileParser.html#PRIORITY_DELIMITER">PRIORITY_DELIMITER</A></CODE></TD> +<TD ALIGN="right"><CODE>"[slf5s.PRIORITY]"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogFileParser.RECORD_DELIMITER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogFileParser.html#RECORD_DELIMITER">RECORD_DELIMITER</A></CODE></TD> +<TD ALIGN="right"><CODE>"[slf5s.start]"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogFileParser.THREAD_DELIMITER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogFileParser.html#THREAD_DELIMITER">THREAD_DELIMITER</A></CODE></TD> +<TD ALIGN="right"><CODE>"[slf5s.THREAD]"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.lf5.util.<A HREF="org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogMonitorAdapter.JDK14_LOG_LEVELS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogMonitorAdapter.html#JDK14_LOG_LEVELS">JDK14_LOG_LEVELS</A></CODE></TD> +<TD ALIGN="right"><CODE>1</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.LogMonitorAdapter.LOG4J_LOG_LEVELS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/LogMonitorAdapter.html#LOG4J_LOG_LEVELS">LOG4J_LOG_LEVELS</A></CODE></TD> +<TD ALIGN="right"><CODE>0</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.lf5.util.<A HREF="org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util">StreamUtils</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.util.StreamUtils.DEFAULT_BUFFER_SIZE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/util/StreamUtils.html#DEFAULT_BUFFER_SIZE">DEFAULT_BUFFER_SIZE</A></CODE></TD> +<TD ALIGN="right"><CODE>2048</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.viewer.LogBrokerMonitor.DETAILED_VIEW"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#DETAILED_VIEW">DETAILED_VIEW</A></CODE></TD> +<TD ALIGN="right"><CODE>"Detailed"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5InputDialog</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.lf5.viewer.LogFactor5InputDialog.SIZE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html#SIZE">SIZE</A></CODE></TD> +<TD ALIGN="right"><CODE>30</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.net.<A HREF="org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SocketAppender.DEFAULT_PORT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SocketAppender.html#DEFAULT_PORT">DEFAULT_PORT</A></CODE></TD> +<TD ALIGN="right"><CODE>4560</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SocketAppender.ZONE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SocketAppender.html#ZONE">ZONE</A></CODE></TD> +<TD ALIGN="right"><CODE>"_log4j_obj_tcpconnect_appender.local."</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.net.<A HREF="org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SocketHubAppender.ZONE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SocketHubAppender.html#ZONE">ZONE</A></CODE></TD> +<TD ALIGN="right"><CODE>"_log4j_obj_tcpaccept_appender.local."</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.net.<A HREF="org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.FACILITY_OI"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>protected&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#FACILITY_OI">FACILITY_OI</A></CODE></TD> +<TD ALIGN="right"><CODE>1</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_AUTH"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_AUTH">LOG_AUTH</A></CODE></TD> +<TD ALIGN="right"><CODE>32</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_AUTHPRIV"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_AUTHPRIV">LOG_AUTHPRIV</A></CODE></TD> +<TD ALIGN="right"><CODE>80</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_CRON"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_CRON">LOG_CRON</A></CODE></TD> +<TD ALIGN="right"><CODE>72</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_DAEMON"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_DAEMON">LOG_DAEMON</A></CODE></TD> +<TD ALIGN="right"><CODE>24</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_FTP"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_FTP">LOG_FTP</A></CODE></TD> +<TD ALIGN="right"><CODE>88</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_KERN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_KERN">LOG_KERN</A></CODE></TD> +<TD ALIGN="right"><CODE>0</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_LOCAL0"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL0">LOG_LOCAL0</A></CODE></TD> +<TD ALIGN="right"><CODE>128</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_LOCAL1"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL1">LOG_LOCAL1</A></CODE></TD> +<TD ALIGN="right"><CODE>136</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_LOCAL2"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL2">LOG_LOCAL2</A></CODE></TD> +<TD ALIGN="right"><CODE>144</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_LOCAL3"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL3">LOG_LOCAL3</A></CODE></TD> +<TD ALIGN="right"><CODE>152</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_LOCAL4"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL4">LOG_LOCAL4</A></CODE></TD> +<TD ALIGN="right"><CODE>160</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_LOCAL5"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL5">LOG_LOCAL5</A></CODE></TD> +<TD ALIGN="right"><CODE>168</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_LOCAL6"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL6">LOG_LOCAL6</A></CODE></TD> +<TD ALIGN="right"><CODE>176</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_LOCAL7"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL7">LOG_LOCAL7</A></CODE></TD> +<TD ALIGN="right"><CODE>184</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_LPR"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_LPR">LOG_LPR</A></CODE></TD> +<TD ALIGN="right"><CODE>48</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_MAIL"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_MAIL">LOG_MAIL</A></CODE></TD> +<TD ALIGN="right"><CODE>16</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_NEWS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_NEWS">LOG_NEWS</A></CODE></TD> +<TD ALIGN="right"><CODE>56</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_SYSLOG"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_SYSLOG">LOG_SYSLOG</A></CODE></TD> +<TD ALIGN="right"><CODE>40</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_USER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_USER">LOG_USER</A></CODE></TD> +<TD ALIGN="right"><CODE>8</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.LOG_UUCP"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#LOG_UUCP">LOG_UUCP</A></CODE></TD> +<TD ALIGN="right"><CODE>64</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.net.SyslogAppender.SYSLOG_HOST_OI"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>protected&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/net/SyslogAppender.html#SYSLOG_HOST_OI">SYSLOG_HOST_OI</A></CODE></TD> +<TD ALIGN="right"><CODE>0</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.pattern.CachedDateFormat.NO_MILLISECONDS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/pattern/CachedDateFormat.html#NO_MILLISECONDS">NO_MILLISECONDS</A></CODE></TD> +<TD ALIGN="right"><CODE>-2</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.pattern.CachedDateFormat.UNRECOGNIZED_MILLISECONDS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/pattern/CachedDateFormat.html#UNRECOGNIZED_MILLISECONDS">UNRECOGNIZED_MILLISECONDS</A></CODE></TD> +<TD ALIGN="right"><CODE>-1</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.Configurator.INHERITED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/Configurator.html#INHERITED">INHERITED</A></CODE></TD> +<TD ALIGN="right"><CODE>"inherited"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.Configurator.NULL"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/Configurator.html#NULL">NULL</A></CODE></TD> +<TD ALIGN="right"><CODE>"null"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi">ErrorCode</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.ErrorCode.ADDRESS_PARSE_FAILURE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/ErrorCode.html#ADDRESS_PARSE_FAILURE">ADDRESS_PARSE_FAILURE</A></CODE></TD> +<TD ALIGN="right"><CODE>6</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.ErrorCode.CLOSE_FAILURE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/ErrorCode.html#CLOSE_FAILURE">CLOSE_FAILURE</A></CODE></TD> +<TD ALIGN="right"><CODE>3</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.ErrorCode.FILE_OPEN_FAILURE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/ErrorCode.html#FILE_OPEN_FAILURE">FILE_OPEN_FAILURE</A></CODE></TD> +<TD ALIGN="right"><CODE>4</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.ErrorCode.FLUSH_FAILURE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/ErrorCode.html#FLUSH_FAILURE">FLUSH_FAILURE</A></CODE></TD> +<TD ALIGN="right"><CODE>2</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.ErrorCode.GENERIC_FAILURE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/ErrorCode.html#GENERIC_FAILURE">GENERIC_FAILURE</A></CODE></TD> +<TD ALIGN="right"><CODE>0</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.ErrorCode.MISSING_LAYOUT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/ErrorCode.html#MISSING_LAYOUT">MISSING_LAYOUT</A></CODE></TD> +<TD ALIGN="right"><CODE>5</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.ErrorCode.WRITE_FAILURE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/ErrorCode.html#WRITE_FAILURE">WRITE_FAILURE</A></CODE></TD> +<TD ALIGN="right"><CODE>1</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.Filter.ACCEPT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/Filter.html#ACCEPT">ACCEPT</A></CODE></TD> +<TD ALIGN="right"><CODE>1</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.Filter.DENY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/Filter.html#DENY">DENY</A></CODE></TD> +<TD ALIGN="right"><CODE>-1</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.Filter.NEUTRAL"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/Filter.html#NEUTRAL">NEUTRAL</A></CODE></TD> +<TD ALIGN="right"><CODE>0</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.spi.LocationInfo.NA"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/spi/LocationInfo.html#NA">NA</A></CODE></TD> +<TD ALIGN="right"><CODE>"?"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.varia.ExternallyRolledFileAppender.OK"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/varia/ExternallyRolledFileAppender.html#OK">OK</A></CODE></TD> +<TD ALIGN="right"><CODE>"OK"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.varia.ExternallyRolledFileAppender.ROLL_OVER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/varia/ExternallyRolledFileAppender.html#ROLL_OVER">ROLL_OVER</A></CODE></TD> +<TD ALIGN="right"><CODE>"RollOver"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.varia.StringMatchFilter.ACCEPT_ON_MATCH_OPTION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/varia/StringMatchFilter.html#ACCEPT_ON_MATCH_OPTION">ACCEPT_ON_MATCH_OPTION</A></CODE></TD> +<TD ALIGN="right"><CODE>"AcceptOnMatch"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.varia.StringMatchFilter.STRING_TO_MATCH_OPTION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/varia/StringMatchFilter.html#STRING_TO_MATCH_OPTION">STRING_TO_MATCH_OPTION</A></CODE></TD> +<TD ALIGN="right"><CODE>"StringToMatch"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/deprecated-list.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/deprecated-list.html new file mode 100644 index 00000000000..c00d90a32cb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/deprecated-list.html @@ -0,0 +1,502 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Deprecated List (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Deprecated List (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Deprecated API</B></H2> +</CENTER> +<HR SIZE="4" NOSHADE> +<B>Contents</B><UL> +<LI><A HREF="#class">Deprecated Classes</A> +<LI><A HREF="#field">Deprecated Fields</A> +<LI><A HREF="#method">Deprecated Methods</A> +<LI><A HREF="#constructor">Deprecated Constructors</A> +</UL> + +<A NAME="class"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Deprecated Classes</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx">org.apache.log4j.jmx.Agent</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">org.apache.log4j.spi.RootCategory</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Replaced by <A HREF="org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><CODE>RootLogger</CODE></A>.</I>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="field"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Deprecated Fields</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/varia/StringMatchFilter.html#ACCEPT_ON_MATCH_OPTION">org.apache.log4j.varia.StringMatchFilter.ACCEPT_ON_MATCH_OPTION</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/EnhancedPatternLayout.html#BUF_SIZE">org.apache.log4j.EnhancedPatternLayout.BUF_SIZE</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>since 1.3</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/spi/LoggingEvent.html#categoryName">org.apache.log4j.spi.LoggingEvent.categoryName</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="org/apache/log4j/spi/LoggingEvent.html#getLoggerName()"><CODE>LoggingEvent.getLoggerName()</CODE></A> method instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/pattern/LogEvent.html#categoryName">org.apache.log4j.pattern.LogEvent.categoryName</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="org/apache/log4j/pattern/LogEvent.html#getLoggerName()"><CODE>LogEvent.getLoggerName()</CODE></A> method instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/helpers/LogLog.html#CONFIG_DEBUG_KEY">org.apache.log4j.helpers.LogLog.CONFIG_DEBUG_KEY</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/helpers/LogLog.html#DEBUG_KEY"><CODE>LogLog.DEBUG_KEY</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/LogManager.html#CONFIGURATOR_CLASS_KEY">org.apache.log4j.LogManager.CONFIGURATOR_CLASS_KEY</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/helpers/DateLayout.html#DATE_FORMAT_OPTION">org.apache.log4j.helpers.DateLayout.DATE_FORMAT_OPTION</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Priority.html#DEBUG">org.apache.log4j.Priority.DEBUG</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/Level.html#DEBUG"><CODE>Level.DEBUG</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/LogManager.html#DEFAULT_CONFIGURATION_FILE">org.apache.log4j.LogManager.DEFAULT_CONFIGURATION_FILE</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This variable is for internal use only. It will + become package protected in future versions.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/LogManager.html#DEFAULT_CONFIGURATION_KEY">org.apache.log4j.LogManager.DEFAULT_CONFIGURATION_KEY</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/LogManager.html#DEFAULT_INIT_OVERRIDE_KEY">org.apache.log4j.LogManager.DEFAULT_INIT_OVERRIDE_KEY</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Priority.html#ERROR">org.apache.log4j.Priority.ERROR</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/Level.html#ERROR"><CODE>Level.ERROR</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Priority.html#FATAL">org.apache.log4j.Priority.FATAL</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/Level.html#FATAL"><CODE>Level.FATAL</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Priority.html#INFO">org.apache.log4j.Priority.INFO</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/Level.html#INFO"><CODE>Level.INFO</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/spi/LoggingEvent.html#level">org.apache.log4j.spi.LoggingEvent.level</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="org/apache/log4j/spi/LoggingEvent.html#getLevel()"><CODE>LoggingEvent.getLevel()</CODE></A> method instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/pattern/LogEvent.html#level">org.apache.log4j.pattern.LogEvent.level</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="org/apache/log4j/pattern/LogEvent.html#getLevel()"><CODE>LogEvent.getLevel()</CODE></A> method instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/HTMLLayout.html#LOCATION_INFO_OPTION">org.apache.log4j.HTMLLayout.LOCATION_INFO_OPTION</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/EnhancedPatternLayout.html#MAX_CAPACITY">org.apache.log4j.EnhancedPatternLayout.MAX_CAPACITY</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>since 1.3</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/spi/Filter.html#next">org.apache.log4j.spi.Filter.next</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of 1.2.12, use <A HREF="org/apache/log4j/spi/Filter.html#getNext()"><CODE>Filter.getNext()</CODE></A> and <A HREF="org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)"><CODE>Filter.setNext(org.apache.log4j.spi.Filter)</CODE></A> instead</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/varia/StringMatchFilter.html#STRING_TO_MATCH_OPTION">org.apache.log4j.varia.StringMatchFilter.STRING_TO_MATCH_OPTION</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/helpers/DateLayout.html#TIMEZONE_OPTION">org.apache.log4j.helpers.DateLayout.TIMEZONE_OPTION</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Priority.html#WARN">org.apache.log4j.Priority.WARN</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/Level.html#WARN"><CODE>Level.WARN</CODE></A> instead.</I>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="method"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Deprecated Methods</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#exists(java.lang.String)">org.apache.log4j.Category.exists(String)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/LogManager.html#exists(java.lang.String)"><CODE>LogManager.exists(java.lang.String)</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Priority.html#getAllPossiblePriorities()">org.apache.log4j.Priority.getAllPossiblePriorities()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This method will be removed with no replacement.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#getChainedPriority()">org.apache.log4j.Category.getChainedPriority()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use the the <A HREF="org/apache/log4j/Category.html#getEffectiveLevel()"><CODE>Category.getEffectiveLevel()</CODE></A> method + instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Hierarchy.html#getCurrentCategories()">org.apache.log4j.Hierarchy.getCurrentCategories()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/Hierarchy.html#getCurrentLoggers()"><CODE>Hierarchy.getCurrentLoggers()</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#getCurrentCategories()">org.apache.log4j.Category.getCurrentCategories()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/LogManager.html#getCurrentLoggers()"><CODE>LogManager.getCurrentLoggers()</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#getDefaultHierarchy()">org.apache.log4j.Category.getDefaultHierarchy()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/LogManager.html#getLoggerRepository()"><CODE>LogManager.getLoggerRepository()</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#getHierarchy()">org.apache.log4j.Category.getHierarchy()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/Category.html#getLoggerRepository()"><CODE>Category.getLoggerRepository()</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/varia/NullAppender.html#getInstance()">org.apache.log4j.varia.NullAppender.getInstance()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use getNullAppender instead. getInstance should have been static.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#getInstance(java.lang.Class)">org.apache.log4j.Category.getInstance(Class)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please make sure to use <A HREF="org/apache/log4j/Logger.html#getLogger(java.lang.Class)"><CODE>Logger.getLogger(Class)</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#getInstance(java.lang.String)">org.apache.log4j.Category.getInstance(String)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Make sure to use <A HREF="org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>Logger.getLogger(String)</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/helpers/DateLayout.html#getOptionStrings()">org.apache.log4j.helpers.DateLayout.getOptionStrings()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/varia/StringMatchFilter.html#getOptionStrings()">org.apache.log4j.varia.StringMatchFilter.getOptionStrings()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>We now use JavaBeans introspection to configure + components. Options strings are no longer needed.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/varia/DenyAllFilter.html#getOptionStrings()">org.apache.log4j.varia.DenyAllFilter.getOptionStrings()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>We now use JavaBeans introspection to configure + components. Options strings are no longer needed.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/lf5/util/DateFormatManager.html#getOutputFormat()">org.apache.log4j.lf5.util.DateFormatManager.getOutputFormat()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use getPattern().</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#getPriority()">org.apache.log4j.Category.getPriority()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/Category.html#getLevel()"><CODE>Category.getLevel()</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/helpers/Loader.html#getResource(java.lang.String, java.lang.Class)">org.apache.log4j.helpers.Loader.getResource(String, Class)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>as of 1.2.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#getRoot()">org.apache.log4j.Category.getRoot()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/Logger.html#getRootLogger()"><CODE>Logger.getRootLogger()</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Hierarchy.html#overrideAsNeeded(java.lang.String)">org.apache.log4j.Hierarchy.overrideAsNeeded(String)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Deprecated with no replacement.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setAllDescendantsDeSelected()">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode.setAllDescendantsDeSelected()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setAllDescendantsSelected()">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode.setAllDescendantsSelected()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Hierarchy.html#setDisableOverride(java.lang.String)">org.apache.log4j.Hierarchy.setDisableOverride(String)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Deprecated with no replacement.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/helpers/DateLayout.html#setOption(java.lang.String, java.lang.String)">org.apache.log4j.helpers.DateLayout.setOption(String, String)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/varia/StringMatchFilter.html#setOption(java.lang.String, java.lang.String)">org.apache.log4j.varia.StringMatchFilter.setOption(String, String)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/varia/DenyAllFilter.html#setOption(java.lang.String, java.lang.String)">org.apache.log4j.varia.DenyAllFilter.setOption(String, String)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/lf5/util/DateFormatManager.html#setOutputFormat(java.lang.String)">org.apache.log4j.lf5.util.DateFormatManager.setOutputFormat(String)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use setPattern().</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#setPriority(org.apache.log4j.Priority)">org.apache.log4j.Category.setPriority(Priority)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)"><CODE>Category.setLevel(org.apache.log4j.Level)</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Category.html#shutdown()">org.apache.log4j.Category.shutdown()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/LogManager.html#shutdown()"><CODE>LogManager.shutdown()</CODE></A> instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/jmx/Agent.html#start()">org.apache.log4j.jmx.Agent.start()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Priority.html#toPriority(int)">org.apache.log4j.Priority.toPriority(int)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use the <A HREF="org/apache/log4j/Level.html#toLevel(int)"><CODE>Level.toLevel(int)</CODE></A> method instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Priority.html#toPriority(int, org.apache.log4j.Priority)">org.apache.log4j.Priority.toPriority(int, Priority)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use the <A HREF="org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)"><CODE>Level.toLevel(int, Level)</CODE></A> method instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Priority.html#toPriority(java.lang.String)">org.apache.log4j.Priority.toPriority(String)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use the <A HREF="org/apache/log4j/Level.html#toLevel(java.lang.String)"><CODE>Level.toLevel(String)</CODE></A> method instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/Priority.html#toPriority(java.lang.String, org.apache.log4j.Priority)">org.apache.log4j.Priority.toPriority(String, Priority)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use the <A HREF="org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)"><CODE>Level.toLevel(String, Level)</CODE></A> method instead.</I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#trackTableScrollPane()">org.apache.log4j.lf5.viewer.LogBrokerMonitor.trackTableScrollPane()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>tracking is now done automatically.</I>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="constructor"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Deprecated Constructors</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/jmx/Agent.html#Agent()">org.apache.log4j.jmx.Agent()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/help-doc.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/help-doc.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/help-doc.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/help-doc.html index 1ed819814ae..5cfca119974 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/help-doc.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/help-doc.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -API Help (Apache Extras Companion for log4j 1.2. 1.0 API) +API Help (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ API Help (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="API Help (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="API Help (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -219,6 +219,6 @@ This help file applies to API documentation generated using the standard doclet. <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/index-all.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/index-all.html new file mode 100644 index 00000000000..301faf02cff --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/index-all.html @@ -0,0 +1,6813 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Index (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Index (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="./allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <A HREF="#_Z_">Z</A> <A HREF="#___">_</A> <HR> +<A NAME="_A_"><!-- --></A><H2> +<B>A</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviator.html#abbreviate(int, java.lang.StringBuffer)"><B>abbreviate(int, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A> +<DD>Abbreviates a name in a StringBuffer. +<DT><A HREF="./org/apache/log4j/pattern/NamePatternConverter.html#abbreviate(int, java.lang.StringBuffer)"><B>abbreviate(int, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A> +<DD>Abbreviate name in string buffer. +<DT><A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ABS_TIME_DATE_FORMAT"><B>ABS_TIME_DATE_FORMAT</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> +<DD>String constant used to specify <A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>AbsoluteTimeDateFormat</CODE></A> in layouts. +<DT><A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>AbsoluteTimeDateFormat</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "HH:mm:ss,SSS" for example, + "15:49:37,459".<DT><A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#AbsoluteTimeDateFormat()"><B>AbsoluteTimeDateFormat()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#AbsoluteTimeDateFormat(java.util.TimeZone)"><B>AbsoluteTimeDateFormat(TimeZone)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>AbstractDynamicMBean</B></A> - Class in <A HREF="./org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html#AbstractDynamicMBean()"><B>AbstractDynamicMBean()</B></A> - +Constructor for class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Filter.html#ACCEPT"><B>ACCEPT</B></A> - +Static variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> +<DD>The log event must be logged immediately without consulting with + the remaining filters, if any, in the chain. +<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html#ACCEPT_ON_MATCH_OPTION"><B>ACCEPT_ON_MATCH_OPTION</B></A> - +Static variable in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<DD><B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I> +<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#activate()"><B>activate()</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Derived appenders should override this method if option structure + requires it. +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>Prepares the appender for use. +<DT><A HREF="./org/apache/log4j/DailyRollingFileAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>Activates the conversion pattern. +<DT><A HREF="./org/apache/log4j/FileAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>If the value of <b>File</b> is not <code>null</code>, then <A HREF="./org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><CODE>FileAppender.setFile(java.lang.String)</CODE></A> is called with the values of <b>File</b> and + <b>Append</b> properties. +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A> +<DD>No options to activate. +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>No options to activate. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>Options are activated and become effective only after calling + this method. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Activate the specified options, such as the smtp host, the + recipient, from, etc. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>Connect to the specified <b>RemoteHost</b> and <b>Port</b>. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>Set up the socket server on the specified port. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>This method returns immediately as options are activated when they + are set. +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A> +<DD>all of the options have been set, create the socket handler and + wait for connections. +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/PatternLayout.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>Does not do anything as options become effective +<DT><A HREF="./org/apache/log4j/SimpleLayout.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j">SimpleLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Filter.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> +<DD>Usually filters options become active when set. +<DT><A HREF="./org/apache/log4j/spi/OptionHandler.html#activateOptions()"><B>activateOptions()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> +<DD>Activate the options that were previously set with calls to option + setters. +<DT><A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A> +<DD>Start listening on the port specified by a preceding call to + <A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html#setPort(int)"><CODE>ExternallyRolledFileAppender.setPort(int)</CODE></A>. +<DT><A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A> +<DD>No options to activate. +<DT><A HREF="./org/apache/log4j/varia/NullAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> +<DD>There are no options to acticate. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Does nothing. +<DT><A HREF="./org/apache/log4j/xml/XMLLayout.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A> +<DD>No options to activate. +<DT><A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util"><B>AdapterLogRecord</B></A> - Class in <A HREF="./org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A><DD>A LogRecord to be used with the LogMonitorAdapter<DT><A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html#AdapterLogRecord()"><B>AdapterLogRecord()</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/CyclicBuffer.html#add(org.apache.log4j.spi.LoggingEvent)"><B>add(LoggingEvent)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A> +<DD>Add an <code>event</code> as the last event in the buffer. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#addActionListener(java.awt.event.ActionListener)"><B>addActionListener(ActionListener)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#addAppender(org.apache.log4j.Appender)"><B>addAppender(Appender)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Add appender. +<DT><A HREF="./org/apache/log4j/Category.html#addAppender(org.apache.log4j.Appender)"><B>addAppender(Appender)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Add <code>newAppender</code> to the list of appenders of this + Category instance. +<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html#addAppender(org.apache.log4j.Appender)"><B>addAppender(Appender)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<DD>Attach an appender. +<DT><A HREF="./org/apache/log4j/spi/AppenderAttachable.html#addAppender(org.apache.log4j.Appender)"><B>addAppender(Appender)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A> +<DD>Add an appender. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#addAppender(org.apache.log4j.Appender)"><B>addAppender(Appender)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Add <code>newAppender</code> to the list of appenders of this + Category instance. +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><B>addAppenderEvent(Category, Appender)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/HierarchyEventListener.html#addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><B>addAppenderEvent(Category, Appender)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#addCategory(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)"><B>addCategory(CategoryPath)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>Method altered by Richard Hurst such that it returns the CategoryNode + corresponding to the CategoryPath +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#addCategoryElement(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryElement)"><B>addCategoryElement(CategoryElement)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> +<DD>Adds the specified categoryElement to the end of the categoryElement set. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#addCellEditorListener(javax.swing.event.CellEditorListener)"><B>addCellEditorListener(CellEditorListener)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#addConverter(org.apache.log4j.helpers.PatternConverter)"><B>addConverter(PatternConverter)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#addDisplayedProperty(java.lang.Object)"><B>addDisplayedProperty(Object)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Appender.html#addFilter(org.apache.log4j.spi.Filter)"><B>addFilter(Filter)</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Add a filter to the end of the filter list. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)"><B>addFilter(Filter)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Add a filter to end of the filter list. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)"><B>addHierarchyEventListener(HierarchyEventListener)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)"><B>addHierarchyEventListener(HierarchyEventListener)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>Add a <A HREF="./org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><CODE>HierarchyEventListener</CODE></A> event to the repository. +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)"><B>addHierarchyEventListener(HierarchyEventListener)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD>Add a <A HREF="./org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><CODE>HierarchyEventListener</CODE></A> event to the repository. +<DT><A HREF="./org/apache/log4j/Category.html#additive"><B>additive</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Additivity is set to true by default, that is children inherit + the appenders of their ancestors by default. +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#addLoggerMBean(java.lang.String)"><B>addLoggerMBean(String)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#addLogRecord(org.apache.log4j.lf5.LogRecord)"><B>addLogRecord(LogRecord)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#addLogRecord(org.apache.log4j.lf5.LogRecord)"><B>addLogRecord(LogRecord)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#addMessage(org.apache.log4j.lf5.LogRecord)"><B>addMessage(LogRecord)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Adds a LogRecord to the LogMonitor. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#addMessage(org.apache.log4j.lf5.LogRecord)"><B>addMessage(LogRecord)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Add a log record message to be displayed in the LogTable. +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)"><B>addNotificationListener(NotificationListener, NotificationFilter, Object)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#addRecord()"><B>addRecord()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#addRecordFromChild()"><B>addRecordFromChild()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>Passes up the addition from child to parent +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#addRecordToParent()"><B>addRecordToParent()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Hierarchy.html#addRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)"><B>addRenderer(Class, ObjectRenderer)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Add an object renderer for a specific class. +<DT><A HREF="./org/apache/log4j/or/RendererMap.html#addRenderer(org.apache.log4j.spi.RendererSupport, java.lang.String, java.lang.String)"><B>addRenderer(RendererSupport, String, String)</B></A> - +Static method in class org.apache.log4j.or.<A HREF="./org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> +<DD>Add a renderer to a hierarchy passed as parameter. +<DT><A HREF="./org/apache/log4j/spi/ErrorCode.html#ADDRESS_PARSE_FAILURE"><B>ADDRESS_PARSE_FAILURE</B></A> - +Static variable in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi">ErrorCode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#addressMessage(javax.mail.Message)"><B>addressMessage(Message)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Address message. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#addTableModelProperties()"><B>addTableModelProperties()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html#adjustmentValueChanged(java.awt.event.AdjustmentEvent)"><B>adjustmentValueChanged(AdjustmentEvent)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer">TrackingAdjustmentListener</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/ZeroConfSupport.html#advertise()"><B>advertise()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net">ZeroConfSupport</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx"><B>Agent</B></A> - Class in <A HREF="./org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A><DD><B>Deprecated.</B>&nbsp;<I></I>&nbsp;<DT><A HREF="./org/apache/log4j/jmx/Agent.html#Agent()"><B>Agent()</B></A> - +Constructor for class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx">Agent</A> +<DD><B>Deprecated.</B>&nbsp;<I></I>&nbsp; +<DT><A HREF="./org/apache/log4j/Level.html#ALL"><B>ALL</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>The <code>ALL</code> has the lowest possible rank and is intended to + turn on all logging. +<DT><A HREF="./org/apache/log4j/Priority.html#ALL_INT"><B>ALL_INT</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Adds the event to the buffer. +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>Appends a <code>LoggingEvent</code> record to the + <code>LF5Appender</code>. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>This method called by <A HREF="./org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> method to + do most of the real appending work. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Perform SMTPAppender specific appending actions, mainly adding + the event to a cyclic buffer and checking if the event triggers + an e-mail to be sent. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>Append an event to all of current connections. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A> +<DD>Handles a log event. +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/NullAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> +<DD>Does not do anything. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>This method is called by the <A HREF="./org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> + method. +<DT><A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j"><B>Appender</B></A> - Interface in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Implement this interface for your own strategies for outputting log + statements.<DT><A HREF="./org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><B>AppenderAttachable</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>Interface for attaching appenders to objects.<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers"><B>AppenderAttachableImpl</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>A straightforward implementation of the <A HREF="./org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><CODE>AppenderAttachable</CODE></A> + interface.<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html#AppenderAttachableImpl()"><B>AppenderAttachableImpl()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>AppenderDynamicMBean</B></A> - Class in <A HREF="./org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html#AppenderDynamicMBean(org.apache.log4j.Appender)"><B>AppenderDynamicMBean(Appender)</B></A> - +Constructor for class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5"><B>AppenderFinalizer</B></A> - Class in <A HREF="./org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A><DD><code>AppenderFinalizer</code> has a single method that will finalize + resources associated with a <code>LogBrokerMonitor</code> in the event + that the <code>LF5Appender</code> class is destroyed, and the class loader + is garbage collected.<DT><A HREF="./org/apache/log4j/lf5/AppenderFinalizer.html#AppenderFinalizer(org.apache.log4j.lf5.viewer.LogBrokerMonitor)"><B>AppenderFinalizer(LogBrokerMonitor)</B></A> - +Constructor for class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html#appenderList"><B>appenderList</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<DD>Array of appenders. +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#appenderNames"><B>appenderNames</B></A> - +Variable in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>AppenderSkeleton</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Abstract superclass of the other appenders in the package.<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#AppenderSkeleton()"><B>AppenderSkeleton()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Create new instance. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#AppenderSkeleton(boolean)"><B>AppenderSkeleton(boolean)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Create new instance. +<DT><A HREF="./org/apache/log4j/helpers/Transform.html#appendEscapingCDATA(java.lang.StringBuffer, java.lang.String)"><B>appendEscapingCDATA(StringBuffer, String)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers">Transform</A> +<DD>Ensures that embeded CDEnd strings (]]>) are handled properly + within message, NDC and throwable tag text. +<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html#appendLoopOnAppenders(org.apache.log4j.spi.LoggingEvent)"><B>appendLoopOnAppenders(LoggingEvent)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<DD>Call the <code>doAppend</code> method on all attached appenders. +<DT><A HREF="./org/apache/log4j/Category.html#assertLog(boolean, java.lang.String)"><B>assertLog(boolean, String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>If <code>assertion</code> parameter is <code>false</code>, then + logs <code>msg</code> as an <A HREF="./org/apache/log4j/Category.html#error(java.lang.Object)"><CODE>error</CODE></A> statement. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#assertLog(boolean, java.lang.String)"><B>assertLog(boolean, String)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>If <code>assertion</code> parameter is <code>false</code>, then + logs <code>msg</code> as an <A HREF="./org/apache/log4j/Category.html#error(java.lang.Object)"><CODE>error</CODE></A> statement. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><B>AsyncAppender</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>The AsyncAppender lets users log events asynchronously.<DT><A HREF="./org/apache/log4j/AsyncAppender.html#AsyncAppender()"><B>AsyncAppender()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Create new instance. +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#ATTRIBUTE_DELIMITER"><B>ATTRIBUTE_DELIMITER</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax"><B>AttributesRenderer</B></A> - Class in <A HREF="./org/apache/log4j/or/sax/package-summary.html">org.apache.log4j.or.sax</A><DD>Render <code>org.xml.sax.Attributes</code> objects.<DT><A HREF="./org/apache/log4j/or/sax/AttributesRenderer.html#AttributesRenderer()"><B>AttributesRenderer()</B></A> - +Constructor for class org.apache.log4j.or.sax.<A HREF="./org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax">AttributesRenderer</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_B_"><!-- --></A><H2> +<B>B</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j"><B>BasicConfigurator</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Use this class to quickly configure the package.<DT><A HREF="./org/apache/log4j/BasicConfigurator.html#BasicConfigurator()"><B>BasicConfigurator()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j">BasicConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers"><B>BoundedFIFO</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD><code>BoundedFIFO</code> serves as the bounded first-in-first-out + buffer heavily used by the <A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><CODE>AsyncAppender</CODE></A>.<DT><A HREF="./org/apache/log4j/helpers/BoundedFIFO.html#BoundedFIFO(int)"><B>BoundedFIFO(int)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A> +<DD>Instantiate a new BoundedFIFO with a maximum size passed as argument. +<DT><A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern"><B>BridgePatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter + contract by delegating to the log4j 1.3 pattern implementation.<DT><A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html#BridgePatternConverter(java.lang.String)"><B>BridgePatternConverter(String)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern">BridgePatternConverter</A> +<DD>Create a new instance. +<DT><A HREF="./org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><B>BridgePatternParser</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter + contract by delegating to the log4j 1.3 pattern implementation.<DT><A HREF="./org/apache/log4j/pattern/BridgePatternParser.html#BridgePatternParser(java.lang.String)"><B>BridgePatternParser(String)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern">BridgePatternParser</A> +<DD>Create a new instance. +<DT><A HREF="./org/apache/log4j/TTCCLayout.html#buf"><B>buf</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#BUF_SIZE"><B>BUF_SIZE</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD><B>Deprecated.</B>&nbsp;<I>since 1.3</I> +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#BUF_SIZE"><B>BUF_SIZE</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/PatternLayout.html#BUF_SIZE"><B>BUF_SIZE</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#buffer"><B>buffer</B></A> - +Variable in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>ArrayList holding the buffer of Logging Events. +<DT><A HREF="./org/apache/log4j/FileAppender.html#bufferedIO"><B>bufferedIO</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Do we do bufferedIO? +<DT><A HREF="./org/apache/log4j/FileAppender.html#bufferSize"><B>bufferSize</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Determines the size of IO buffer be. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#bufferSize"><B>bufferSize</B></A> - +Variable in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>size of LoggingEvent buffer before writting to the database. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#buildToolTip(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>buildToolTip(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_C_"><!-- --></A><H2> +<B>C</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern"><B>CachedDateFormat</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>CachedDateFormat optimizes the performance of a wrapped + DateFormat.<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#CachedDateFormat(java.text.DateFormat, int)"><B>CachedDateFormat(DateFormat, int)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<DD>Creates a new CachedDateFormat object. +<DT><A HREF="./org/apache/log4j/Category.html#callAppenders(org.apache.log4j.spi.LoggingEvent)"><B>callAppenders(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Call the appenders in the hierrachy starting at + <code>this</code>. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#callAppenders(org.apache.log4j.spi.LoggingEvent)"><B>callAppenders(LoggingEvent)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Call the appenders in the hierrachy starting at + <code>this</code>. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#cancelCellEditing()"><B>cancelCellEditing()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#canEditImmediately(java.util.EventObject)"><B>canEditImmediately(EventObject)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryImmediateEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#capitalize(java.lang.String)"><B>capitalize(String)</B></A> - +Static method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j"><B>Category</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD><font color="#AA2222"><b>This class has been deprecated and + replaced by the <A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> <em>subclass</em></b></font>.<DT><A HREF="./org/apache/log4j/Category.html#Category(java.lang.String)"><B>Category(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>This constructor created a new <code>Category</code> instance and + sets its name. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#CATEGORY"><B>CATEGORY</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#CATEGORY_DELIMITER"><B>CATEGORY_DELIMITER</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryAbstractCellEditor</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>CategoryAbstractCellEditor.<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#CategoryAbstractCellEditor()"><B>CategoryAbstractCellEditor()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryElement</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>CategoryElement represents a single element or part of a Category.<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html#CategoryElement()"><B>CategoryElement()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html#CategoryElement(java.lang.String)"><B>CategoryElement(String)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#categoryElementAt(int)"><B>categoryElementAt(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> +<DD>Returns the CategoryElement at the specified index. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryExplorerLogRecordFilter</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>An implementation of LogRecordFilter based on a CategoryExplorerModel<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#CategoryExplorerLogRecordFilter(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)"><B>CategoryExplorerLogRecordFilter(CategoryExplorerModel)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerLogRecordFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryExplorerModel</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>CategoryExplorerModel<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#CategoryExplorerModel(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>CategoryExplorerModel(CategoryNode)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryExplorerTree</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>CategoryExplorerTree<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#CategoryExplorerTree(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)"><B>CategoryExplorerTree(CategoryExplorerModel)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> +<DD>Construct a CategoryExplorerTree with a specific model. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#CategoryExplorerTree()"><B>CategoryExplorerTree()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> +<DD>Construct a CategoryExplorerTree and create a default CategoryExplorerModel. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryImmediateEditor</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>CategoryImmediateEditor<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#CategoryImmediateEditor(javax.swing.JTree, org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer, org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditor)"><B>CategoryImmediateEditor(JTree, CategoryNodeRenderer, CategoryNodeEditor)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryImmediateEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#categoryName"><B>categoryName</B></A> - +Variable in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD><B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="./org/apache/log4j/pattern/LogEvent.html#getLoggerName()"><CODE>LogEvent.getLoggerName()</CODE></A> method instead.</I> +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#categoryName"><B>categoryName</B></A> - +Variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD><B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="./org/apache/log4j/spi/LoggingEvent.html#getLoggerName()"><CODE>LoggingEvent.getLoggerName()</CODE></A> method instead.</I> +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNode</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>CategoryNode<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#CategoryNode(java.lang.String)"><B>CategoryNode(String)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeEditor</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>CategoryNodeEditor<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#CategoryNodeEditor(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)"><B>CategoryNodeEditor(CategoryExplorerModel)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeEditorRenderer</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>CategoryNodeEditorRenderer<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html#CategoryNodeEditorRenderer()"><B>CategoryNodeEditorRenderer()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeRenderer</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>CategoryNodeRenderer<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#CategoryNodeRenderer()"><B>CategoryNodeRenderer()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryPath</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>CategoryPath is a collection of CategoryItems which represent a + path of categories.<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#CategoryPath()"><B>CategoryPath()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#CategoryPath(java.lang.String)"><B>CategoryPath(String)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> +<DD>Construct a CategoryPath. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#catFactory"><B>catFactory</B></A> - +Variable in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#cb"><B>cb</B></A> - +Variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#centerFrame(javax.swing.JFrame)"><B>centerFrame(JFrame)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#centerWindow(java.awt.Window)"><B>centerWindow(Window)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#changeFontSizeCombo(javax.swing.JComboBox, int)"><B>changeFontSizeCombo(JComboBox, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Changes the font selection in the combo box and returns the + size actually selected. +<DT><A HREF="./org/apache/log4j/helpers/FileWatchdog.html#checkAndConfigure()"><B>checkAndConfigure()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#checkEntryConditions()"><B>checkEntryConditions()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#checkEntryConditions()"><B>checkEntryConditions()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>This method determines if there is a sense in attempting to append. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#checkEntryConditions()"><B>checkEntryConditions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>This method determines if there is a sense in attempting to append. +<DT><A HREF="./org/apache/log4j/helpers/ThreadLocalMap.html#childValue(java.lang.Object)"><B>childValue(Object)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers">ThreadLocalMap</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>ClassNamePatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats the class name of the site of the logging request.<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#cleanUp()"><B>cleanUp()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>Drop the connection to the remote host and release the underlying + connector thread if it has been created +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#cleanUp()"><B>cleanUp()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>Release the underlying ServerMonitor thread, and drop the connections + to all connected remote servers. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#clear()"><B>clear()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>This call will clear all logger definitions from the internal + hashtable. +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#clear()"><B>clear()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>Clears all records from the LogTableModel +<DT><A HREF="./org/apache/log4j/MDC.html#clear()"><B>clear()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/MDC.html" title="class in org.apache.log4j">MDC</A> +<DD>Remove all values from the MDC. +<DT><A HREF="./org/apache/log4j/NDC.html#clear()"><B>clear()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<DD>Clear any nested diagnostic information if any. +<DT><A HREF="./org/apache/log4j/or/RendererMap.html#clear()"><B>clear()</B></A> - +Method in class org.apache.log4j.or.<A HREF="./org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#clearDetailTextArea()"><B>clearDetailTextArea()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Appender.html#clearFilters()"><B>clearFilters()</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Clear the list of filters by removing all the filters in it. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#clearFilters()"><B>clearFilters()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Clear the filters chain. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#clearLogRecords()"><B>clearLogRecords()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/NDC.html#cloneStack()"><B>cloneStack()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<DD>Clone the diagnostic context for the current thread. +<DT><A HREF="./org/apache/log4j/Appender.html#close()"><B>close()</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Release any resources allocated within the appender such as file + handles, network connections, etc. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Close this <code>AsyncAppender</code> by interrupting the dispatcher + thread which will process all pending events before exiting. +<DT><A HREF="./org/apache/log4j/helpers/SyslogWriter.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers">SyslogWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Closes the appender, flushing the buffer first then closing the default + connection if it is open. +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>This method is an empty implementation of the close() method inherited + from the <code>org.apache.log4j.Appender</code> interface. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>Close this JMSAppender. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>Close this appender. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>Close this appender. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Release any resources held by this SyslogAppender. +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A> +<DD>shuts down the appender. +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net">TelnetAppender.SocketHandler</A> +<DD>make sure we close all network connections when this handler is destroyed. +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/NullAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/WriterAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Close this appender instance. +<DT><A HREF="./org/apache/log4j/spi/ErrorCode.html#CLOSE_FAILURE"><B>CLOSE_FAILURE</B></A> - +Static variable in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi">ErrorCode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#closeAfterConfirm()"><B>closeAfterConfirm()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#closeConnection(java.sql.Connection)"><B>closeConnection(Connection)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Override this to return the connection to a pool, or to clean up the + resource. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#closed"><B>closed</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Is this appender closed? +<DT><A HREF="./org/apache/log4j/FileAppender.html#closeFile()"><B>closeFile()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Closes the previously opened file. +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#closeWriter()"><B>closeWriter()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>Close the underlying <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A>. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#closeWriter()"><B>closeWriter()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Close the underlying <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A>. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#collapse(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>collapse(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#collapseDescendants(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>collapseDescendants(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#collapseTree()"><B>collapseTree()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#concatanateArrays(java.lang.String[], java.lang.String[])"><B>concatanateArrays(String[], String[])</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#CONFIG"><B>CONFIG</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#CONFIG_DEBUG_KEY"><B>CONFIG_DEBUG_KEY</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="./org/apache/log4j/helpers/LogLog.html#DEBUG_KEY"><CODE>LogLog.DEBUG_KEY</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><B>ConfigurationManager</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</A><DD>ConfigurationManager handles the storage and retrival of the state of + the CategoryExplorer<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#ConfigurationManager(org.apache.log4j.lf5.viewer.LogBrokerMonitor, org.apache.log4j.lf5.viewer.LogTable)"><B>ConfigurationManager(LogBrokerMonitor, LogTable)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><B>Configurator</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>Implemented by classes capable of configuring log4j using a URL.<DT><A HREF="./org/apache/log4j/LogManager.html#CONFIGURATOR_CLASS_KEY"><B>CONFIGURATOR_CLASS_KEY</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD><B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I> +<DT><A HREF="./org/apache/log4j/BasicConfigurator.html#configure()"><B>configure()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j">BasicConfigurator</A> +<DD>Add a <A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><CODE>ConsoleAppender</CODE></A> that uses <A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> + using the <A HREF="./org/apache/log4j/PatternLayout.html#TTCC_CONVERSION_PATTERN"><CODE>PatternLayout.TTCC_CONVERSION_PATTERN</CODE></A> and + prints to <code>System.out</code> to the root category. +<DT><A HREF="./org/apache/log4j/BasicConfigurator.html#configure(org.apache.log4j.Appender)"><B>configure(Appender)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j">BasicConfigurator</A> +<DD>Add <code>appender</code> to the root category. +<DT><A HREF="./org/apache/log4j/lf5/DefaultLF5Configurator.html#configure()"><B>configure()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5">DefaultLF5Configurator</A> +<DD>This method configures the <code>LF5Appender</code> using a + default configuration file. +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#configure(java.lang.String)"><B>configure(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#configure(java.net.URL)"><B>configure(URL)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Read configuration options from url <code>configURL</code>. +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#configure(java.util.Properties)"><B>configure(Properties)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Read configuration options from <code>properties</code>. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#configure(org.w3c.dom.Element)"><B>configure(Element)</B></A> - +Static method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Configure log4j using a <code>configuration</code> element as + defined in the log4j.dtd. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#configure(java.lang.String)"><B>configure(String)</B></A> - +Static method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>A static version of <A HREF="./org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)"><CODE>DOMConfigurator.doConfigure(String, LoggerRepository)</CODE></A>. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#configure(java.net.URL)"><B>configure(URL)</B></A> - +Static method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>A static version of <A HREF="./org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><CODE>DOMConfigurator.doConfigure(URL, LoggerRepository)</CODE></A>. +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#configureAndWatch(java.lang.String)"><B>configureAndWatch(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Like <A HREF="./org/apache/log4j/PropertyConfigurator.html#configureAndWatch(java.lang.String, long)"><CODE>PropertyConfigurator.configureAndWatch(String, long)</CODE></A> except that the + default delay as defined by <A HREF="./org/apache/log4j/helpers/FileWatchdog.html#DEFAULT_DELAY"><CODE>FileWatchdog.DEFAULT_DELAY</CODE></A> is + used. +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#configureAndWatch(java.lang.String, long)"><B>configureAndWatch(String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Read the configuration file <code>configFilename</code> if it + exists. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#configureAndWatch(java.lang.String)"><B>configureAndWatch(String)</B></A> - +Static method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Like <A HREF="./org/apache/log4j/xml/DOMConfigurator.html#configureAndWatch(java.lang.String, long)"><CODE>DOMConfigurator.configureAndWatch(String, long)</CODE></A> except that the + default delay as defined by <A HREF="./org/apache/log4j/helpers/FileWatchdog.html#DEFAULT_DELAY"><CODE>FileWatchdog.DEFAULT_DELAY</CODE></A> is + used. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#configureAndWatch(java.lang.String, long)"><B>configureAndWatch(String, long)</B></A> - +Static method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Read the configuration file <code>configFilename</code> if it + exists. +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#configureLoggerFactory(java.util.Properties)"><B>configureLoggerFactory(Properties)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Check the provided <code>Properties</code> object for a + <A HREF="./org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><CODE>LoggerFactory</CODE></A> + entry specified by <A HREF="./org/apache/log4j/PropertyConfigurator.html#LOGGER_FACTORY_KEY"><CODE>PropertyConfigurator.LOGGER_FACTORY_KEY</CODE></A>. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#connection"><B>connection</B></A> - +Variable in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Connection used by default. +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><B>ConsoleAppender</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>ConsoleAppender appends log events to <code>System.out</code> or + <code>System.err</code> using a layout specified by the user.<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#ConsoleAppender()"><B>ConsoleAppender()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>Constructs an unconfigured appender. +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#ConsoleAppender(org.apache.log4j.Layout)"><B>ConsoleAppender(Layout)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>Creates a configured appender. +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#ConsoleAppender(org.apache.log4j.Layout, java.lang.String)"><B>ConsoleAppender(Layout, String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>Creates a configured appender. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html#contains(int, javax.swing.table.TableModel)"><B>contains(int, TableModel)</B></A> - +Static method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer">LF5SwingUtils</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/PatternConverter.html#convert(org.apache.log4j.spi.LoggingEvent)"><B>convert(LoggingEvent)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> +<DD>Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way. +<DT><A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html#convert(org.apache.log4j.spi.LoggingEvent)"><B>convert(LoggingEvent)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern">BridgePatternConverter</A> +<DD>Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way. +<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#convertArg(java.lang.String, java.lang.Class)"><B>convertArg(String, Class)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>Convert <code>val</code> a String parameter to an object of a + given type. +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#convertSpecialChars(java.lang.String)"><B>convertSpecialChars(String)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/StreamUtils.html#copy(java.io.InputStream, java.io.OutputStream)"><B>copy(InputStream, OutputStream)</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util">StreamUtils</A> +<DD>Copies information from the input stream to the output stream using + a default buffer size of 2048 bytes. +<DT><A HREF="./org/apache/log4j/lf5/util/StreamUtils.html#copy(java.io.InputStream, java.io.OutputStream, int)"><B>copy(InputStream, OutputStream, int)</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util">StreamUtils</A> +<DD>Copies information from the input stream to the output stream using + the specified buffer size +<DT><A HREF="./org/apache/log4j/lf5/util/StreamUtils.html#copyThenClose(java.io.InputStream, java.io.OutputStream)"><B>copyThenClose(InputStream, OutputStream)</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util">StreamUtils</A> +<DD>Copies information between specified streams and then closes + both of the streams. +<DT><A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html#count"><B>count</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers">CountingQuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers"><B>CountingQuietWriter</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>Counts the number of bytes written.<DT><A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html#CountingQuietWriter(java.io.Writer, org.apache.log4j.spi.ErrorHandler)"><B>CountingQuietWriter(Writer, ErrorHandler)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers">CountingQuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createAllLogLevelsMenuItem()"><B>createAllLogLevelsMenuItem()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createAllLogTableColumnsMenuItem()"><B>createAllLogTableColumnsMenuItem()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createCloseMI()"><B>createCloseMI()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createCollapseMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>createCollapseMenuItem(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#createConfigurationDirectory()"><B>createConfigurationDirectory()</B></A> - +Static method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Creates the directory where the MRU file list will be written. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createConfigureMaxRecords()"><B>createConfigureMaxRecords()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createConfigureMenu()"><B>createConfigureMenu()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createConfigureReset()"><B>createConfigureReset()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createConfigureSave()"><B>createConfigureSave()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createDetailTextArea()"><B>createDetailTextArea()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createEditFindMI()"><B>createEditFindMI()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createEditFindNextMI()"><B>createEditFindNextMI()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createEditMenu()"><B>createEditMenu()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createEditRestoreAllNDCMI()"><B>createEditRestoreAllNDCMI()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createEditSortNDCMI()"><B>createEditSortNDCMI()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createExitMI()"><B>createExitMI()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createExpandMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>createExpandMenuItem(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createFileMenu()"><B>createFileMenu()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#createFilteredRecordsList()"><B>createFilteredRecordsList()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createHelpMenu()"><B>createHelpMenu()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createHelpProperties()"><B>createHelpProperties()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogLevelColorMenu()"><B>createLogLevelColorMenu()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogLevelCombo()"><B>createLogLevelCombo()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogLevelMenu()"><B>createLogLevelMenu()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogRecordFilter()"><B>createLogRecordFilter()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)"><B>createLogTableColumnMenuItem(LogTableColumn)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createMenuBar()"><B>createMenuBar()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createMenuItem(org.apache.log4j.lf5.LogLevel)"><B>createMenuItem(LogLevel)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createMRUFileListMI(javax.swing.JMenu)"><B>createMRUFileListMI(JMenu)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Creates a Most Recently Used file list to be + displayed in the File menu +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createNDCLogRecordFilter(java.lang.String)"><B>createNDCLogRecordFilter(String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createNoLogLevelsMenuItem()"><B>createNoLogLevelsMenuItem()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createNoLogTableColumnsMenuItem()"><B>createNoLogTableColumnsMenuItem()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createOpenMI()"><B>createOpenMI()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Menu item added to allow log files to be opened with + the LF5 GUI. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createOpenURLMI()"><B>createOpenURLMI()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Menu item added to allow log files loaded from a URL + to be opened by the LF5 GUI. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#createPatternParser(java.lang.String)"><B>createPatternParser(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>Returns PatternParser used to parse the conversion string. +<DT><A HREF="./org/apache/log4j/PatternLayout.html#createPatternParser(java.lang.String)"><B>createPatternParser(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>Returns PatternParser used to parse the conversion string. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createPropertiesMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>createPropertiesMenuItem(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createRemoveMenuItem()"><B>createRemoveMenuItem()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>This featured was moved from the LogBrokerMonitor class + to the CategoryNodeExplorer so that the Category tree + could be pruned from the Category Explorer popup menu. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createResetLogLevelColorMenuItem()"><B>createResetLogLevelColorMenuItem()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createSelectDescendantsMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>createSelectDescendantsMenuItem(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#createServerSocket(int)"><B>createServerSocket(int)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>Creates a server socket to accept connections. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#createSession()"><B>createSession()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Create mail session. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createStatusArea()"><B>createStatusArea()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createSubMenuItem(org.apache.log4j.lf5.LogLevel)"><B>createSubMenuItem(LogLevel)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createToolBar()"><B>createToolBar()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createUnselectDescendantsMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>createUnselectDescendantsMenuItem(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createViewMenu()"><B>createViewMenu()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/WriterAppender.html#createWriter(java.io.OutputStream)"><B>createWriter(OutputStream)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Returns an OutputStreamWriter when passed an OutputStream. +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#currentLiteral"><B>currentLiteral</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers"><B>CyclicBuffer</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>CyclicBuffer is used by other appenders to hold <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A> for immediate or differed display.<DT><A HREF="./org/apache/log4j/helpers/CyclicBuffer.html#CyclicBuffer(int)"><B>CyclicBuffer(int)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A> +<DD>Instantiate a new CyclicBuffer of at most <code>maxSize</code> events. +</DL> +<HR> +<A NAME="_D_"><!-- --></A><H2> +<B>D</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j"><B>DailyRollingFileAppender</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>DailyRollingFileAppender extends <A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><CODE>FileAppender</CODE></A> so that the + underlying file is rolled over at a user chosen frequency.<DT><A HREF="./org/apache/log4j/DailyRollingFileAppender.html#DailyRollingFileAppender()"><B>DailyRollingFileAppender()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A> +<DD>The default constructor does nothing. +<DT><A HREF="./org/apache/log4j/DailyRollingFileAppender.html#DailyRollingFileAppender(org.apache.log4j.Layout, java.lang.String, java.lang.String)"><B>DailyRollingFileAppender(Layout, String, String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A> +<DD>Instantiate a <code>DailyRollingFileAppender</code> and open the + file designated by <code>filename</code>. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#databasePassword"><B>databasePassword</B></A> - +Variable in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>User to use for default connection handling +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#databaseURL"><B>databaseURL</B></A> - +Variable in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>URL of the DB for default connection handling +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#databaseUser"><B>databaseUser</B></A> - +Variable in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>User to connect as for default connection handling +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#date"><B>date</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#DATE"><B>DATE</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#DATE_AND_TIME_DATE_FORMAT"><B>DATE_AND_TIME_DATE_FORMAT</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> +<DD>String constant used to specify <A HREF="./org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>DateTimeDateFormat</CODE></A> in layouts. +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#DATE_DELIMITER"><B>DATE_DELIMITER</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#DATE_FORMAT_OPTION"><B>DATE_FORMAT_OPTION</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD><B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I> +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#dateFormat"><B>dateFormat</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#dateFormat(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)"><B>dateFormat(StringBuffer, LoggingEvent)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util"><B>DateFormatManager</B></A> - Class in <A HREF="./org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A><DD>Date format manager.<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager()"><B>DateFormatManager()</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.TimeZone)"><B>DateFormatManager(TimeZone)</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.Locale)"><B>DateFormatManager(Locale)</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.lang.String)"><B>DateFormatManager(String)</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.TimeZone, java.util.Locale)"><B>DateFormatManager(TimeZone, Locale)</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.TimeZone, java.lang.String)"><B>DateFormatManager(TimeZone, String)</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.Locale, java.lang.String)"><B>DateFormatManager(Locale, String)</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.TimeZone, java.util.Locale, java.lang.String)"><B>DateFormatManager(TimeZone, Locale, String)</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers"><B>DateLayout</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>This abstract layout takes care of all the date related options and + formatting work.<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#DateLayout()"><B>DateLayout()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>DatePatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Convert and format the event's date in a StringBuffer.<DT><A HREF="./org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>DateTimeDateFormat</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "dd MMM yyyy HH:mm:ss,SSS" for example, + "06 Nov 1994 15:49:37,459".<DT><A HREF="./org/apache/log4j/helpers/DateTimeDateFormat.html#DateTimeDateFormat()"><B>DateTimeDateFormat()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers">DateTimeDateFormat</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/DateTimeDateFormat.html#DateTimeDateFormat(java.util.TimeZone)"><B>DateTimeDateFormat(TimeZone)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers">DateTimeDateFormat</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#debug(java.lang.Object)"><B>debug(Object)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A> level. +<DT><A HREF="./org/apache/log4j/Category.html#debug(java.lang.Object, java.lang.Throwable)"><B>debug(Object, Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a message object with the <code>DEBUG</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#debug(java.lang.String)"><B>debug(String)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>This method is used to output log4j internal debug + statements. +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#debug(java.lang.String, java.lang.Throwable)"><B>debug(String, Throwable)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>This method is used to output log4j internal debug + statements. +<DT><A HREF="./org/apache/log4j/Level.html#DEBUG"><B>DEBUG</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>The <code>DEBUG</code> Level designates fine-grained + informational events that are most useful to debug an + application. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#DEBUG"><B>DEBUG</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>debug(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>debug(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, boolean)"><B>debug(Logger, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, char)"><B>debug(Logger, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, byte)"><B>debug(Logger, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, short)"><B>debug(Logger, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, int)"><B>debug(Logger, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, long)"><B>debug(Logger, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, float)"><B>debug(Logger, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, double)"><B>debug(Logger, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><B>debug(Logger, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><B>debug(Logger, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>debug(Logger, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>debug(Logger, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>debug(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>debug(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, boolean)"><B>debug(Logger, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, char)"><B>debug(Logger, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, byte)"><B>debug(Logger, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, short)"><B>debug(Logger, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, int)"><B>debug(Logger, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, long)"><B>debug(Logger, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, float)"><B>debug(Logger, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, double)"><B>debug(Logger, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><B>debug(Logger, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><B>debug(Logger, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>debug(Logger, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>debug(Logger, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at debug level. +<DT><A HREF="./org/apache/log4j/Priority.html#DEBUG"><B>DEBUG</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="./org/apache/log4j/Level.html#DEBUG"><CODE>Level.DEBUG</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#debug(java.lang.Object)"><B>debug(Object)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A> level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#debug(java.lang.Object, java.lang.Throwable)"><B>debug(Object, Throwable)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <code>DEBUG</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. +<DT><A HREF="./org/apache/log4j/Priority.html#DEBUG_INT"><B>DEBUG_INT</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#DEBUG_KEY"><B>DEBUG_KEY</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>Defining this value makes log4j print log4j-internal debug + statements to <code>System.out</code>. +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#debugEnabled"><B>debugEnabled</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Filter.html#decide(org.apache.log4j.spi.LoggingEvent)"><B>decide(LoggingEvent)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> +<DD>If the decision is <code>DENY</code>, then the event will be + dropped. +<DT><A HREF="./org/apache/log4j/varia/DenyAllFilter.html#decide(org.apache.log4j.spi.LoggingEvent)"><B>decide(LoggingEvent)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia">DenyAllFilter</A> +<DD>Always returns the integer constant <A HREF="./org/apache/log4j/spi/Filter.html#DENY"><CODE>Filter.DENY</CODE></A> + regardless of the <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> parameter. +<DT><A HREF="./org/apache/log4j/varia/LevelMatchFilter.html#decide(org.apache.log4j.spi.LoggingEvent)"><B>decide(LoggingEvent)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A> +<DD>Return the decision of this filter. +<DT><A HREF="./org/apache/log4j/varia/LevelRangeFilter.html#decide(org.apache.log4j.spi.LoggingEvent)"><B>decide(LoggingEvent)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A> +<DD>Return the decision of this filter. +<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html#decide(org.apache.log4j.spi.LoggingEvent)"><B>decide(LoggingEvent)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<DD>Returns <A HREF="./org/apache/log4j/spi/Filter.html#NEUTRAL"><CODE>Filter.NEUTRAL</CODE></A> is there is no string match. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#DEFAULT_BUFFER_SIZE"><B>DEFAULT_BUFFER_SIZE</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>The default buffer size is set to 128 events. +<DT><A HREF="./org/apache/log4j/lf5/util/StreamUtils.html#DEFAULT_BUFFER_SIZE"><B>DEFAULT_BUFFER_SIZE</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util">StreamUtils</A> +<DD>Default value is 2048. +<DT><A HREF="./org/apache/log4j/LogManager.html#DEFAULT_CONFIGURATION_FILE"><B>DEFAULT_CONFIGURATION_FILE</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD><B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become package protected in future versions.</I> +<DT><A HREF="./org/apache/log4j/LogManager.html#DEFAULT_CONFIGURATION_KEY"><B>DEFAULT_CONFIGURATION_KEY</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD><B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I> +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#DEFAULT_CONVERSION_PATTERN"><B>DEFAULT_CONVERSION_PATTERN</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>Default pattern string for log output. +<DT><A HREF="./org/apache/log4j/PatternLayout.html#DEFAULT_CONVERSION_PATTERN"><B>DEFAULT_CONVERSION_PATTERN</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>Default pattern string for log output. +<DT><A HREF="./org/apache/log4j/helpers/FileWatchdog.html#DEFAULT_DELAY"><B>DEFAULT_DELAY</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A> +<DD>The default delay between every file modification check, set to 60 + seconds. +<DT><A HREF="./org/apache/log4j/LogManager.html#DEFAULT_INIT_OVERRIDE_KEY"><B>DEFAULT_INIT_OVERRIDE_KEY</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD><B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I> +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#DEFAULT_PORT"><B>DEFAULT_PORT</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>The default port number of remote logging server (4560). +<DT><A HREF="./org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5"><B>DefaultLF5Configurator</B></A> - Class in <A HREF="./org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A><DD>The <code>DefaultLF5Configurator</code> provides a default + configuration for the <code>LF5Appender</code>.<DT><A HREF="./org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi"><B>DefaultRepositorySelector</B></A> - Class in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/spi/DefaultRepositorySelector.html#DefaultRepositorySelector(org.apache.log4j.spi.LoggerRepository)"><B>DefaultRepositorySelector(LoggerRepository)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi">DefaultRepositorySelector</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j"><B>DefaultThrowableRenderer</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Default implementation of ThrowableRenderer using + Throwable.printStackTrace.<DT><A HREF="./org/apache/log4j/DefaultThrowableRenderer.html#DefaultThrowableRenderer()"><B>DefaultThrowableRenderer()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j">DefaultThrowableRenderer</A> +<DD>Construct new instance. +<DT><A HREF="./org/apache/log4j/helpers/FileWatchdog.html#delay"><B>delay</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A> +<DD>The delay to observe between every check. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#deleteConfigurationFile()"><B>deleteConfigurationFile()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Filter.html#DENY"><B>DENY</B></A> - +Static variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> +<DD>The log event must be dropped immediately without consulting + with the remaining filters, if any, in the chain. +<DT><A HREF="./org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia"><B>DenyAllFilter</B></A> - Class in <A HREF="./org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A><DD>This filter drops all logging events.<DT><A HREF="./org/apache/log4j/varia/DenyAllFilter.html#DenyAllFilter()"><B>DenyAllFilter()</B></A> - +Constructor for class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia">DenyAllFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#DETAILED_VIEW"><B>DETAILED_VIEW</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#determineOffset(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)"><B>determineOffset(JTree, Object, boolean, boolean, boolean, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryImmediateEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#DISPLAY_FONT"><B>DISPLAY_FONT</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#displayError(java.lang.String)"><B>displayError(String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#dispose()"><B>dispose()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Dispose of the frame for the LogBrokerMonitor. +<DT><A HREF="./org/apache/log4j/Appender.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><B>doAppend(LoggingEvent)</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Log in <code>Appender</code> specific way. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><B>doAppend(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>This method performs threshold checks and invokes filters before + delegating actual logging to the subclasses specific <A HREF="./org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.append(org.apache.log4j.spi.LoggingEvent)</CODE></A> method. +<DT><A HREF="./org/apache/log4j/varia/NullAppender.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><B>doAppend(LoggingEvent)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> +<DD>Does not do anything. +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#doCapitalize"><B>doCapitalize</B></A> - +Variable in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/DefaultLF5Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(URL, LoggerRepository)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5">DefaultLF5Configurator</A> +<DD>This is a dummy method that will throw an + <code>IllegalStateException</code> if used. +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(String, LoggerRepository)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Read configuration from a file. +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#doConfigure(java.util.Properties, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(Properties, LoggerRepository)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Read configuration options from <code>properties</code>. +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(URL, LoggerRepository)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Read configuration options from url <code>configURL</code>. +<DT><A HREF="./org/apache/log4j/spi/Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(URL, LoggerRepository)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A> +<DD>Interpret a resource pointed by a URL and set up log4j accordingly. +<DT><A HREF="./org/apache/log4j/varia/ReloadingPropertyConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(URL, LoggerRepository)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia">ReloadingPropertyConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(String, LoggerRepository)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(URL, LoggerRepository)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.io.InputStream, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(InputStream, LoggerRepository)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Configure log4j by reading in a log4j.dtd compliant XML + configuration file. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.io.Reader, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(Reader, LoggerRepository)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Configure log4j by reading in a log4j.dtd compliant XML + configuration file. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#doConfigure(org.xml.sax.InputSource, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(InputSource, LoggerRepository)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Configure log4j by reading in a log4j.dtd compliant XML + configuration file. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#doConfigure(org.w3c.dom.Element, org.apache.log4j.spi.LoggerRepository)"><B>doConfigure(Element, LoggerRepository)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Configure by taking in an DOM element. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><B>DOMConfigurator</B></A> - Class in <A HREF="./org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A><DD>Use this class to initialize the log4j environment using a DOM tree.<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#DOMConfigurator()"><B>DOMConfigurator()</B></A> - +Constructor for class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>No argument constructor. +<DT><A HREF="./org/apache/log4j/helpers/FileWatchdog.html#doOnChange()"><B>doOnChange()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/DefaultThrowableRenderer.html#doRender(java.lang.Throwable)"><B>doRender(Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j">DefaultThrowableRenderer</A> +<DD>Render Throwable. +<DT><A HREF="./org/apache/log4j/EnhancedThrowableRenderer.html#doRender(java.lang.Throwable)"><B>doRender(Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j">EnhancedThrowableRenderer</A> +<DD>Render Throwable. +<DT><A HREF="./org/apache/log4j/or/jms/MessageRenderer.html#doRender(java.lang.Object)"><B>doRender(Object)</B></A> - +Method in class org.apache.log4j.or.jms.<A HREF="./org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms">MessageRenderer</A> +<DD>Render a <CODE>Message</CODE>. +<DT><A HREF="./org/apache/log4j/or/ObjectRenderer.html#doRender(java.lang.Object)"><B>doRender(Object)</B></A> - +Method in interface org.apache.log4j.or.<A HREF="./org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A> +<DD>Render the object passed as parameter as a String. +<DT><A HREF="./org/apache/log4j/or/sax/AttributesRenderer.html#doRender(java.lang.Object)"><B>doRender(Object)</B></A> - +Method in class org.apache.log4j.or.sax.<A HREF="./org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax">AttributesRenderer</A> +<DD>Render a <CODE>Attributes</CODE>. +<DT><A HREF="./org/apache/log4j/or/ThreadGroupRenderer.html#doRender(java.lang.Object)"><B>doRender(Object)</B></A> - +Method in class org.apache.log4j.or.<A HREF="./org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or">ThreadGroupRenderer</A> +<DD>Render a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang"><CODE>ThreadGroup</CODE></A> object similar to the way that the + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true#list()" title="class or interface in java.lang"><CODE>ThreadGroup.list()</CODE></A> method output information. +<DT><A HREF="./org/apache/log4j/spi/ThrowableRenderer.html#doRender(java.lang.Throwable)"><B>doRender(Throwable)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A> +<DD>Render Throwable. +</DL> +<HR> +<A NAME="_E_"><!-- --></A><H2> +<B>E</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#editingIcon"><B>editingIcon</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryImmediateEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Hierarchy.html#emitNoAppenderWarning(org.apache.log4j.Category)"><B>emitNoAppenderWarning(Category)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#emitNoAppenderWarning(org.apache.log4j.Category)"><B>emitNoAppenderWarning(Category)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#emitNoAppenderWarning(org.apache.log4j.Category)"><B>emitNoAppenderWarning(Category)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD> +<DT><A HREF="./org/apache/log4j/WriterAppender.html#encoding"><B>encoding</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>The encoding to use when writing. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#encompasses(org.apache.log4j.lf5.LogLevel)"><B>encompasses(LogLevel)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>Returns true if the level supplied is encompassed by this level. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedPatternLayout</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This class is an enhanced version of org.apache.log4j.PatternLayout + which was originally developed as part of the abandoned log4j 1.3 + effort and has been available in the extras companion.<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#EnhancedPatternLayout()"><B>EnhancedPatternLayout()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>Constructs a EnhancedPatternLayout using the DEFAULT_LAYOUT_PATTERN. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#EnhancedPatternLayout(java.lang.String)"><B>EnhancedPatternLayout(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>Constructs a EnhancedPatternLayout using the supplied conversion pattern. +<DT><A HREF="./org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j"><B>EnhancedThrowableRenderer</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Enhanced implementation of ThrowableRenderer.<DT><A HREF="./org/apache/log4j/EnhancedThrowableRenderer.html#EnhancedThrowableRenderer()"><B>EnhancedThrowableRenderer()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j">EnhancedThrowableRenderer</A> +<DD>Construct new instance. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#ensureRootExpansion()"><B>ensureRootExpansion()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)"><B>entering(Logger, String, String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an entering message at DEBUG level. +<DT><A HREF="./org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)"><B>entering(Logger, String, String, String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an entering message with a parameter at DEBUG level. +<DT><A HREF="./org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)"><B>entering(Logger, String, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an entering message with a parameter at DEBUG level. +<DT><A HREF="./org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])"><B>entering(Logger, String, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an entering message with an array of parameters at DEBUG level. +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#equals(org.apache.log4j.lf5.LF5Appender)"><B>equals(LF5Appender)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>The equals method compares two LF5Appenders and determines whether + they are equal. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Priority.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>Two priorities are equal if their level fields are equal. +<DT><A HREF="./org/apache/log4j/Category.html#error(java.lang.Object)"><B>error(Object)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#ERROR"><CODE>ERROR</CODE></A> Level. +<DT><A HREF="./org/apache/log4j/Category.html#error(java.lang.Object, java.lang.Throwable)"><B>error(Object, Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a message object with the <code>ERROR</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#error(java.lang.String)"><B>error(String)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>This method is used to output log4j internal error + statements. +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#error(java.lang.String, java.lang.Throwable)"><B>error(String, Throwable)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>This method is used to output log4j internal error + statements. +<DT><A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html#error(java.lang.String, java.lang.Exception, int)"><B>error(String, Exception, int)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A> +<DD>Prints the message and the stack trace of the exception on + <code>System.err</code>. +<DT><A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)"><B>error(String, Exception, int, LoggingEvent)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A> +<DD>Prints the message and the stack trace of the exception on + <code>System.err</code>. +<DT><A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html#error(java.lang.String)"><B>error(String)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A> +<DD>Print a the error message passed as parameter on + <code>System.err</code>. +<DT><A HREF="./org/apache/log4j/Level.html#ERROR"><B>ERROR</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>The <code>ERROR</code> level designates error events that + might still allow the application to continue running. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#ERROR"><B>ERROR</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogMF.html#error(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>error(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at error level. +<DT><A HREF="./org/apache/log4j/LogMF.html#error(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>error(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at error level. +<DT><A HREF="./org/apache/log4j/LogSF.html#error(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>error(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at error level. +<DT><A HREF="./org/apache/log4j/LogSF.html#error(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>error(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at error level. +<DT><A HREF="./org/apache/log4j/Priority.html#ERROR"><B>ERROR</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="./org/apache/log4j/Level.html#ERROR"><CODE>Level.ERROR</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int)"><B>error(String, Exception, int)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> +<DD>Equivalent to the <A HREF="./org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)"><CODE>ErrorHandler.error(String, Exception, int, + LoggingEvent event)</CODE></A> with the the event parameteter set to + <code>null</code>. +<DT><A HREF="./org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String)"><B>error(String)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> +<DD>This method is normally used to just print the error message + passed as a parameter. +<DT><A HREF="./org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)"><B>error(String, Exception, int, LoggingEvent)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> +<DD>This method is invoked to handle the error. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#error(java.lang.Object)"><B>error(Object)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#ERROR"><CODE>ERROR</CODE></A> Level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#error(java.lang.Object, java.lang.Throwable)"><B>error(Object, Throwable)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <code>ERROR</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. +<DT><A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html#error(java.lang.String, java.lang.Exception, int)"><B>error(String, Exception, int)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A> +<DD>Prints the message and the stack trace of the exception on + <code>System.err</code>. +<DT><A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)"><B>error(String, Exception, int, LoggingEvent)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A> +<DD>Prints the message and the stack trace of the exception on + <code>System.err</code>. +<DT><A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html#error(java.lang.String)"><B>error(String)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A> +<DD>Print a the error message passed as parameter on + <code>System.err</code>. +<DT><A HREF="./org/apache/log4j/xml/SAXErrorHandler.html#error(org.xml.sax.SAXParseException)"><B>error(SAXParseException)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml">SAXErrorHandler</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Priority.html#ERROR_INT"><B>ERROR_INT</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi"><B>ErrorCode</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>This interface defines commonly encoutered error codes.<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#errorHandler"><B>errorHandler</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>It is assumed and enforced that errorHandler is never null. +<DT><A HREF="./org/apache/log4j/helpers/QuietWriter.html#errorHandler"><B>errorHandler</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><B>ErrorHandler</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>Appenders may delegate their error handling to + <code>ErrorHandlers</code>.<DT><A HREF="./org/apache/log4j/helpers/Transform.html#escapeTags(java.lang.String)"><B>escapeTags(String)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers">Transform</A> +<DD>This method takes a string which may contain HTML tags (ie, + &lt;b&gt;, &lt;table&gt;, etc) and replaces any + '<', '>' , '&' or '"' + characters with respective predefined entity references. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#evaluator"><B>evaluator</B></A> - +Variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#execute(java.lang.String)"><B>execute(String)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Override this to provide an alertnate method of getting + connections (such as caching). +<DT><A HREF="./org/apache/log4j/Category.html#exists(java.lang.String)"><B>exists(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="./org/apache/log4j/LogManager.html#exists(java.lang.String)"><CODE>LogManager.exists(java.lang.String)</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/Hierarchy.html#exists(java.lang.String)"><B>exists(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Check if the named logger exists in the hierarchy. +<DT><A HREF="./org/apache/log4j/LogManager.html#exists(java.lang.String)"><B>exists(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#exists(java.lang.String)"><B>exists(String)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#exists(java.lang.String)"><B>exists(String)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD> +<DT><A HREF="./org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)"><B>exiting(Logger, String, String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an exiting message at DEBUG level. +<DT><A HREF="./org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)"><B>exiting(Logger, String, String, String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an exiting message with result at DEBUG level. +<DT><A HREF="./org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)"><B>exiting(Logger, String, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an exiting message with result at DEBUG level. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#expand(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>expand(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#expandDescendants(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>expandDescendants(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#expandRootNode()"><B>expandRootNode()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><B>ExternallyRolledFileAppender</B></A> - Class in <A HREF="./org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A><DD>This appender listens on a socket on the port specified by the + <b>Port</b> property for a "RollOver" message.<DT><A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html#ExternallyRolledFileAppender()"><B>ExternallyRolledFileAppender()</B></A> - +Constructor for class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A> +<DD>The default constructor does nothing but calls its super-class + constructor. +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#extractOption()"><B>extractOption()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#extractPrecisionOption()"><B>extractPrecisionOption()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>The option is expected to be in decimal and positive. +</DL> +<HR> +<A NAME="_F_"><!-- --></A><H2> +<B>F</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#FACILITY_OI"><B>FACILITY_OI</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia"><B>FallbackErrorHandler</B></A> - Class in <A HREF="./org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A><DD>The <code>FallbackErrorHandler</code> implements the ErrorHandler + interface such that a secondary appender may be specified.<DT><A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html#FallbackErrorHandler()"><B>FallbackErrorHandler()</B></A> - +Constructor for class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#fastRefresh()"><B>fastRefresh()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#fatal(java.lang.Object)"><B>fatal(Object)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#FATAL"><CODE>FATAL</CODE></A> Level. +<DT><A HREF="./org/apache/log4j/Category.html#fatal(java.lang.Object, java.lang.Throwable)"><B>fatal(Object, Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a message object with the <code>FATAL</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. +<DT><A HREF="./org/apache/log4j/Level.html#FATAL"><B>FATAL</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>The <code>FATAL</code> level designates very severe error + events that will presumably lead the application to abort. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#FATAL"><B>FATAL</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogMF.html#fatal(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>fatal(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at fatal level. +<DT><A HREF="./org/apache/log4j/LogMF.html#fatal(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>fatal(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at fatal level. +<DT><A HREF="./org/apache/log4j/LogSF.html#fatal(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>fatal(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at fatal level. +<DT><A HREF="./org/apache/log4j/LogSF.html#fatal(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>fatal(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at fatal level. +<DT><A HREF="./org/apache/log4j/Priority.html#FATAL"><B>FATAL</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="./org/apache/log4j/Level.html#FATAL"><CODE>Level.FATAL</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#fatal(java.lang.Object)"><B>fatal(Object)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#FATAL"><CODE>FATAL</CODE></A> Level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#fatal(java.lang.Object, java.lang.Throwable)"><B>fatal(Object, Throwable)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <code>FATAL</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#FATAL_CHILDREN"><B>FATAL_CHILDREN</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Priority.html#FATAL_INT"><B>FATAL_INT</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/SAXErrorHandler.html#fatalError(org.xml.sax.SAXParseException)"><B>fatalError(SAXParseException)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml">SAXErrorHandler</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/ErrorCode.html#FILE_OPEN_FAILURE"><B>FILE_OPEN_FAILURE</B></A> - +Static variable in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi">ErrorCode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/FileAppender.html#fileAppend"><B>fileAppend</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Controls file truncatation. +<DT><A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><B>FileAppender</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>FileAppender appends log events to a file.<DT><A HREF="./org/apache/log4j/FileAppender.html#FileAppender()"><B>FileAppender()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>The default constructor does not do anything. +<DT><A HREF="./org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String, boolean, boolean, int)"><B>FileAppender(Layout, String, boolean, boolean, int)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Instantiate a <code>FileAppender</code> and open the file + designated by <code>filename</code>. +<DT><A HREF="./org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String, boolean)"><B>FileAppender(Layout, String, boolean)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Instantiate a FileAppender and open the file designated by + <code>filename</code>. +<DT><A HREF="./org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String)"><B>FileAppender(Layout, String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Instantiate a FileAppender and open the file designated by + <code>filename</code>. +<DT><A HREF="./org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>FileDatePatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats an date by delegating to DatePatternConverter.<DT><A HREF="./org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>FileLocationPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Return the event's line location information in a StringBuffer.<DT><A HREF="./org/apache/log4j/FileAppender.html#fileName"><B>fileName</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>The name of the log file. +<DT><A HREF="./org/apache/log4j/helpers/FileWatchdog.html#filename"><B>filename</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A> +<DD>The name of the file to observe for changes. +<DT><A HREF="./org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers"><B>FileWatchdog</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>Check every now and then that a certain file has not changed.<DT><A HREF="./org/apache/log4j/helpers/FileWatchdog.html#FileWatchdog(java.lang.String)"><B>FileWatchdog(String)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><B>Filter</B></A> - Class in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>Users should extend this class to implement customized logging + event filtering.<DT><A HREF="./org/apache/log4j/spi/Filter.html#Filter()"><B>Filter()</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>FilteredLogTableModel</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>A TableModel for LogRecords which includes filtering support.<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#FilteredLogTableModel()"><B>FilteredLogTableModel()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#finalize()"><B>finalize()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Finalize this appender by calling the derived class' + <code>close</code> method. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#finalize()"><B>finalize()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>closes the appender before disposal +<DT><A HREF="./org/apache/log4j/lf5/AppenderFinalizer.html#finalize()"><B>finalize()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html#finalize()"><B>finalize()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net">TelnetAppender.SocketHandler</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#finalize()"><B>finalize()</B></A> - +Method in class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#finalizeConverter(char)"><B>finalizeConverter(char)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/or/RendererMap.html#findAndRender(java.lang.Object)"><B>findAndRender(Object)</B></A> - +Method in class org.apache.log4j.or.<A HREF="./org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> +<DD>Find the appropriate renderer for the class type of the + <code>o</code> parameter. +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#findAndSubst(java.lang.String, java.util.Properties)"><B>findAndSubst(String, Properties)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>Find the value corresponding to <code>key</code> in + <code>props</code>. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#findAppenderByName(org.w3c.dom.Document, java.lang.String)"><B>findAppenderByName(Document, String)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse appenders by IDREF name. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#findAppenderByReference(org.w3c.dom.Element)"><B>findAppenderByReference(Element)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse appenders by IDREF element. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#findMillisecondStart(long, java.lang.String, java.text.DateFormat)"><B>findMillisecondStart(long, String, DateFormat)</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<DD>Finds start of millisecond field in formatted time. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#findRecord(int, java.lang.String, java.util.List)"><B>findRecord(int, String, List)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#findSearchText()"><B>findSearchText()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#FINE"><B>FINE</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#FINER"><B>FINER</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#FINEST"><B>FINEST</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Hierarchy.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><B>fireAddAppenderEvent(Category, Appender)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><B>fireAddAppenderEvent(Category, Appender)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><B>fireAddAppenderEvent(Category, Appender)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD> +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#fireEditingCanceled()"><B>fireEditingCanceled()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#fireEditingStopped()"><B>fireEditingStopped()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/QuietWriter.html#flush()"><B>flush()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/SyslogWriter.html#flush()"><B>flush()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers">SyslogWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/ErrorCode.html#FLUSH_FAILURE"><B>FLUSH_FAILURE</B></A> - +Static variable in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi">ErrorCode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#flushBuffer()"><B>flushBuffer()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>loops through the buffer of LoggingEvents, gets a + sql string from getLogStatement() and sends it to execute(). +<DT><A HREF="./org/apache/log4j/Category.html#forcedLog(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><B>forcedLog(String, Priority, Object, Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>This method creates a new logging event and logs the event + without further checks. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><B>format(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>Formats a logging event to a writer. +<DT><A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)"><B>format(Date, StringBuffer, FieldPosition)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> +<DD>Appends to <code>sbuf</code> the time in the format + "HH:mm:ss,SSS" for example, "15:49:37,459" +<DT><A HREF="./org/apache/log4j/helpers/DateTimeDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)"><B>format(Date, StringBuffer, FieldPosition)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers">DateTimeDateFormat</A> +<DD>Appends to <code>sbuf</code> the date in the format "dd MMM yyyy + HH:mm:ss,SSS" for example, "06 Nov 1994 08:49:37,459". +<DT><A HREF="./org/apache/log4j/helpers/ISO8601DateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)"><B>format(Date, StringBuffer, FieldPosition)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers">ISO8601DateFormat</A> +<DD>Appends a date in the format "YYYY-mm-dd HH:mm:ss,SSS" + to <code>sbuf</code>. +<DT><A HREF="./org/apache/log4j/helpers/PatternConverter.html#format(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)"><B>format(StringBuffer, LoggingEvent)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> +<DD>A template method for formatting in a converter specific way. +<DT><A HREF="./org/apache/log4j/helpers/RelativeTimeDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)"><B>format(Date, StringBuffer, FieldPosition)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers">RelativeTimeDateFormat</A> +<DD>Appends to <code>sbuf</code> the number of milliseconds elapsed + since the start of the application. +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><B>format(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)"><B>format(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> +<DD>Implement this method to create your own layout format. +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#format(java.util.Date)"><B>format(Date)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#format(java.util.Date, java.lang.String)"><B>format(Date, String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html#format(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)"><B>format(StringBuffer, LoggingEvent)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern">BridgePatternConverter</A> +<DD>Format event to string buffer. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)"><B>format(Date, StringBuffer, FieldPosition)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<DD>Formats a Date into a date/time string. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#format(long, java.lang.StringBuffer)"><B>format(long, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<DD>Formats a millisecond count into a date/time string. +<DT><A HREF="./org/apache/log4j/pattern/ClassNamePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A> +<DD>Format a logging event. +<DT><A HREF="./org/apache/log4j/pattern/DatePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/DatePatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)"><B>format(Object, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A> +<DD>Formats an object into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/DatePatternConverter.html#format(java.util.Date, java.lang.StringBuffer)"><B>format(Date, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A> +<DD>Append formatted date to string buffer. +<DT><A HREF="./org/apache/log4j/pattern/FileLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html#format(int, java.lang.StringBuffer)"><B>format(int, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> +<DD>Adjust the content of the buffer based on the specified lengths and alignment. +<DT><A HREF="./org/apache/log4j/pattern/FullLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/IntegerPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)"><B>format(Object, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A> +<DD>Formats an object into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/LevelPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/LineLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/LineSeparatorPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/LineSeparatorPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)"><B>format(Object, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A> +<DD>Formats an object into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/LiteralPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern">LiteralPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/LiteralPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)"><B>format(Object, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern">LiteralPatternConverter</A> +<DD>Formats an object into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/LoggerPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)"><B>format(Object, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A> +<DD>Formats an object into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/MessagePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/MethodLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/NDCPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/PatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)"><B>format(Object, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A> +<DD>Formats an object into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/PropertiesPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/RelativeTimePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/SequenceNumberPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/ThreadPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A> +<DD>Formats an event into a string buffer. +<DT><A HREF="./org/apache/log4j/PatternLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><B>format(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>Produces a formatted string as specified by the conversion pattern. +<DT><A HREF="./org/apache/log4j/SimpleLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><B>format(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j">SimpleLayout</A> +<DD>Returns the log statement in a format consisting of the + <code>level</code>, followed by " - " and then the + <code>message</code>. +<DT><A HREF="./org/apache/log4j/TTCCLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><B>format(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>In addition to the level of the statement and message, the + returned byte array includes time, thread, category and <A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j"><CODE>NDC</CODE></A> + information. +<DT><A HREF="./org/apache/log4j/xml/XMLLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><B>format(LoggingEvent)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A> +<DD>Formats a <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> in conformance with the log4j.dtd. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#formatBody()"><B>formatBody()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Layout body of email message. +<DT><A HREF="./org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers"><B>FormattingInfo</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>FormattingInfo instances contain the information obtained when parsing + formatting modifiers in conversion modifiers.<DT><A HREF="./org/apache/log4j/helpers/FormattingInfo.html#FormattingInfo()"><B>FormattingInfo()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#formattingInfo"><B>formattingInfo</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><B>FormattingInfo</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Modifies the output of a pattern converter for a specified minimum + and maximum width and alignment.<DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html#FormattingInfo(boolean, int, int)"><B>FormattingInfo(boolean, int, int)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> +<DD>Creates new instance. +<DT><A HREF="./org/apache/log4j/config/PropertyGetter.PropertyCallback.html#foundProperty(java.lang.Object, java.lang.String, java.lang.String, java.lang.Object)"><B>foundProperty(Object, String, String, Object)</B></A> - +Method in interface org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#foundProperty(java.lang.Object, java.lang.String, java.lang.String, java.lang.Object)"><B>foundProperty(Object, String, String, Object)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#fqnOfCategoryClass"><B>fqnOfCategoryClass</B></A> - +Variable in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Fully qualified name of the calling category class. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#fqnOfCategoryClass"><B>fqnOfCategoryClass</B></A> - +Variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Fully qualified name of the calling category class. +<DT><A HREF="./org/apache/log4j/spi/LocationInfo.html#fullInfo"><B>fullInfo</B></A> - +Variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> +<DD>All available caller information, in the format + <code>fully.qualified.classname.of.caller.methodName(Filename.java:line)</code> +<DT><A HREF="./org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>FullLocationPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Format the event's line location information.</DL> +<HR> +<A NAME="_G_"><!-- --></A><H2> +<B>G</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#genAppName()"><B>genAppName()</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/ErrorCode.html#GENERIC_FAILURE"><B>GENERIC_FAILURE</B></A> - +Static variable in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi">ErrorCode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/BoundedFIFO.html#get()"><B>get()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A> +<DD>Get the first element in the buffer. +<DT><A HREF="./org/apache/log4j/helpers/CyclicBuffer.html#get(int)"><B>get(int)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A> +<DD>Get the <i>i</i>th oldest event currently in the buffer. +<DT><A HREF="./org/apache/log4j/helpers/CyclicBuffer.html#get()"><B>get()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A> +<DD>Get the oldest (first) element in the buffer. +<DT><A HREF="./org/apache/log4j/MDC.html#get(java.lang.String)"><B>get(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/MDC.html" title="class in org.apache.log4j">MDC</A> +<DD>Get the context identified by the <code>key</code> parameter. +<DT><A HREF="./org/apache/log4j/NDC.html#get()"><B>get()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<DD><font color="#FF4040"><b>Never use this method directly, use the <A HREF="./org/apache/log4j/spi/LoggingEvent.html#getNDC()"><CODE>LoggingEvent.getNDC()</CODE></A> method instead</b></font>. +<DT><A HREF="./org/apache/log4j/or/RendererMap.html#get(java.lang.Object)"><B>get(Object)</B></A> - +Method in class org.apache.log4j.or.<A HREF="./org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> +<DD>Syntactic sugar method that calls <A HREF="./org/apache/log4j/or/RendererMap.html#get(java.lang.Class)"><CODE>RendererMap.get(Class)</CODE></A> with the + class of the object parameter. +<DT><A HREF="./org/apache/log4j/or/RendererMap.html#get(java.lang.Class)"><B>get(Class)</B></A> - +Method in class org.apache.log4j.or.<A HREF="./org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> +<DD>Search the parents of <code>clazz</code> for a renderer. +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviator.html#getAbbreviator(java.lang.String)"><B>getAbbreviator(String)</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A> +<DD>Gets an abbreviator. +<DT><A HREF="./org/apache/log4j/varia/LevelMatchFilter.html#getAcceptOnMatch()"><B>getAcceptOnMatch()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/LevelRangeFilter.html#getAcceptOnMatch()"><B>getAcceptOnMatch()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A> +<DD>Get the value of the <code>AcceptOnMatch</code> option. +<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html#getAcceptOnMatch()"><B>getAcceptOnMatch()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#getAdditivity()"><B>getAdditivity()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Get the additivity flag for this Category instance. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#getAllAppenders()"><B>getAllAppenders()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Get iterator over attached appenders. +<DT><A HREF="./org/apache/log4j/Category.html#getAllAppenders()"><B>getAllAppenders()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Get the appenders contained in this category as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>. +<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html#getAllAppenders()"><B>getAllAppenders()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<DD>Get all attached appenders as an Enumeration. +<DT><A HREF="./org/apache/log4j/spi/AppenderAttachable.html#getAllAppenders()"><B>getAllAppenders()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A> +<DD>Get all previously added appenders as an Enumeration. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#getAllAppenders()"><B>getAllAppenders()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Get the appenders contained in this category as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#getAllDefaultLevels()"><B>getAllDefaultLevels()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Priority.html#getAllPossiblePriorities()"><B>getAllPossiblePriorities()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD><B>Deprecated.</B>&nbsp;<I>This method will be removed with no replacement.</I> +<DT><A HREF="./org/apache/log4j/FileAppender.html#getAppend()"><B>getAppend()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Returns the value of the <b>Append</b> option. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#getAppender(java.lang.String)"><B>getAppender(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Get appender by name. +<DT><A HREF="./org/apache/log4j/Category.html#getAppender(java.lang.String)"><B>getAppender(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Look for the appender named as <code>name</code>. +<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html#getAppender(java.lang.String)"><B>getAppender(String)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<DD>Look for an attached appender named as <code>name</code>. +<DT><A HREF="./org/apache/log4j/spi/AppenderAttachable.html#getAppender(java.lang.String)"><B>getAppender(String)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A> +<DD>Get an appender by name. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#getAppender(java.lang.String)"><B>getAppender(String)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Look for the appender named as <code>name</code>. +<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html#getAppenderName(org.apache.log4j.Appender)"><B>getAppenderName(Appender)</B></A> - +Static method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<DD>Get MBean name. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#getApplication()"><B>getApplication()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>Returns value of the <b>Application</b> option. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#getApplication()"><B>getApplication()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>Returns value of the <b>Application</b> option. +<DT><A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx">LayoutDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html#getAttributes(java.lang.String[])"><B>getAttributes(String[])</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<DD>Enables the to get the values of several attributes of the Dynamic MBean. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getBaseFrame()"><B>getBaseFrame()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getBcc()"><B>getBcc()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Get the bcc recipient addresses. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#getBlocking()"><B>getBlocking()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Gets whether appender should block calling thread when buffer is full. +<DT><A HREF="./org/apache/log4j/FileAppender.html#getBufferedIO()"><B>getBufferedIO()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Get the value of the <b>BufferedIO</b> option. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#getBufferSize()"><B>getBufferSize()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Gets the current buffer size. +<DT><A HREF="./org/apache/log4j/FileAppender.html#getBufferSize()"><B>getBufferSize()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Get the size of the IO buffer. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#getBufferSize()"><B>getBufferSize()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getBufferSize()"><B>getBufferSize()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Returns value of the <b>BufferSize</b> option. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#getBufferSize()"><B>getBufferSize()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>Returns value of the <b>bufferSize</b> option. +<DT><A HREF="./org/apache/log4j/lf5/util/StreamUtils.html#getBytes(java.io.InputStream)"><B>getBytes(InputStream)</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util">StreamUtils</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getCallSystemExitOnClose()"><B>getCallSystemExitOnClose()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Get the value of whether or not System.exit() will be called + when the LogBrokerMonitor is closed. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getCategory()"><B>getCategory()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Get the category asscociated with this LogRecord. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getCategoryExplorerTree()"><B>getCategoryExplorerTree()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getCategoryNode(java.lang.String)"><B>getCategoryNode(String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getCategoryNode(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)"><B>getCategoryNode(CategoryPath)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>returns null if no CategoryNode exists. +<DT><A HREF="./org/apache/log4j/TTCCLayout.html#getCategoryPrefixing()"><B>getCategoryPrefixing()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>Returns value of the <b>CategoryPrefixing</b> option. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getCc()"><B>getCc()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Get the cc recipient addresses. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getCellEditorValue()"><B>getCellEditorValue()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#getCellEditorValue()"><B>getCellEditorValue()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/RootCategory.html#getChainedLevel()"><B>getChainedLevel()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A> +<DD><B>Deprecated.</B>&nbsp;Return the assigned level value without walking the category + hierarchy. +<DT><A HREF="./org/apache/log4j/spi/RootLogger.html#getChainedLevel()"><B>getChainedLevel()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A> +<DD>Return the assigned level value without walking the logger + hierarchy. +<DT><A HREF="./org/apache/log4j/Category.html#getChainedPriority()"><B>getChainedPriority()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use the the <A HREF="./org/apache/log4j/Category.html#getEffectiveLevel()"><CODE>Category.getEffectiveLevel()</CODE></A> method + instead.</I> +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#getChainedPriority()"><B>getChainedPriority()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD> +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html#getCheckBox()"><B>getCheckBox()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#getCheckBoxOffset()"><B>getCheckBoxOffset()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LocationInfo.html#getClassName()"><B>getClassName()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> +<DD>Return the fully qualified class name of the caller making the + logging request. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getClickCountToStart()"><B>getClickCountToStart()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getColumn(int, org.apache.log4j.lf5.LogRecord)"><B>getColumn(int, LogRecord)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getColumnCount()"><B>getColumnCount()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getColumnName(int)"><B>getColumnName(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#getColumnNameAndNumber()"><B>getColumnNameAndNumber()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#getConnection()"><B>getConnection()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Override this to link with your connection pooling system. +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#getContentType()"><B>getContentType()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>Returns the content type output by this layout, i.e "text/html". +<DT><A HREF="./org/apache/log4j/Layout.html#getContentType()"><B>getContentType()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> +<DD>Returns the content type output by this layout. +<DT><A HREF="./org/apache/log4j/MDC.html#getContext()"><B>getContext()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/MDC.html" title="class in org.apache.log4j">MDC</A> +<DD>Get the current thread's MDC as a hashtable. +<DT><A HREF="./org/apache/log4j/TTCCLayout.html#getContextPrinting()"><B>getContextPrinting()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>Returns value of the <b>ContextPrinting</b> option. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#getConversionPattern()"><B>getConversionPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>Returns the value of the <b>ConversionPattern</b> option. +<DT><A HREF="./org/apache/log4j/PatternLayout.html#getConversionPattern()"><B>getConversionPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>Returns the value of the <b>ConversionPattern</b> option. +<DT><A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html#getCount()"><B>getCount()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers">CountingQuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#getCurrentCategories()"><B>getCurrentCategories()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="./org/apache/log4j/LogManager.html#getCurrentLoggers()"><CODE>LogManager.getCurrentLoggers()</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/Hierarchy.html#getCurrentCategories()"><B>getCurrentCategories()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="./org/apache/log4j/Hierarchy.html#getCurrentLoggers()"><CODE>Hierarchy.getCurrentLoggers()</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#getCurrentCategories()"><B>getCurrentCategories()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>Deprecated. +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#getCurrentCategories()"><B>getCurrentCategories()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD>Deprecated. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#getCurrentLoggers()"><B>getCurrentLoggers()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Returns all the currently defined categories in this hierarchy as + an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>. +<DT><A HREF="./org/apache/log4j/LogManager.html#getCurrentLoggers()"><B>getCurrentLoggers()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#getCurrentLoggers()"><B>getCurrentLoggers()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#getCurrentLoggers()"><B>getCurrentLoggers()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD> +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#getDateFormat()"><B>getDateFormat()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>Returns value of the <b>DateFormat</b> option. +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#getDateFormatInstance()"><B>getDateFormatInstance()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getDateFormatManager()"><B>getDateFormatManager()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Get the DateFormatManager for formatting dates. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#getDateFormatManager()"><B>getDateFormatManager()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>Get the DateFormatManager for formatting dates. +<DT><A HREF="./org/apache/log4j/DailyRollingFileAppender.html#getDatePattern()"><B>getDatePattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A> +<DD>Returns the value of the <b>DatePattern</b> option. +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html#getDefault()"><B>getDefault()</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> +<DD>Gets default instance. +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviator.html#getDefaultAbbreviator()"><B>getDefaultAbbreviator()</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A> +<DD>Gets default abbreviator. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#getDefaultConstraints()"><B>getDefaultConstraints()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#getDefaultHierarchy()"><B>getDefaultHierarchy()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="./org/apache/log4j/LogManager.html#getLoggerRepository()"><CODE>LogManager.getLoggerRepository()</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#getDefaultInstance()"><B>getDefaultInstance()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#getDefaultLevel()"><B>getDefaultLevel()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Gets the default LogLevel for the Adapter. +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#getDefaultMonitorHeight()"><B>getDefaultMonitorHeight()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#getDefaultMonitorHeight()"><B>getDefaultMonitorHeight()</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#getDefaultMonitorWidth()"><B>getDefaultMonitorWidth()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#getDefaultMonitorWidth()"><B>getDefaultMonitorWidth()</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/or/RendererMap.html#getDefaultRenderer()"><B>getDefaultRenderer()</B></A> - +Method in class org.apache.log4j.or.<A HREF="./org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/NDC.html#getDepth()"><B>getDepth()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<DD>Get the current nesting depth of this diagnostic context. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#getDisplayedProperties(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>getDisplayedProperties(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#getEffectiveLevel()"><B>getEffectiveLevel()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Starting from this category, search the category hierarchy for a + non-null level and return it. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#getEffectiveLevel()"><B>getEffectiveLevel()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Starting from this category, search the category hierarchy for a + non-null level and return it. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#getEncoding()"><B>getEncoding()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Appender.html#getErrorHandler()"><B>getErrorHandler()</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Returns the <A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this appender. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#getErrorHandler()"><B>getErrorHandler()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Return the currently set <A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this + Appender. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getEvaluator()"><B>getEvaluator()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Get triggering evaluator. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getEvaluatorClass()"><B>getEvaluatorClass()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Returns value of the <b>EvaluatorClass</b> option. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#getExplorerModel()"><B>getExplorerModel()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#getFacility(java.lang.String)"><B>getFacility(String)</B></A> - +Static method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Returns the integer value corresponding to the named syslog + facility, or -1 if it couldn't be recognized. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#getFacility()"><B>getFacility()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Returns the value of the <b>Facility</b> option. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#getFacilityPrinting()"><B>getFacilityPrinting()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Returns the value of the <b>FacilityPrinting</b> option. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#getFacilityString(int)"><B>getFacilityString(int)</B></A> - +Static method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Returns the specified syslog facility as a lower-case String, + e.g. +<DT><A HREF="./org/apache/log4j/FileAppender.html#getFile()"><B>getFile()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Returns the value of the <b>File</b> option. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getFile(int)"><B>getFile(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Returns a particular file name stored in a MRU file + list based on an index value. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#getFilename()"><B>getFilename()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getFilename()"><B>getFilename()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LocationInfo.html#getFileName()"><B>getFileName()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> +<DD>Return the file name of the caller. +<DT><A HREF="./org/apache/log4j/pattern/PatternParser.html#getFileNamePatternRules()"><B>getFileNamePatternRules()</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern">PatternParser</A> +<DD>Get standard format specifiers for rolling file appender file specification. +<DT><A HREF="./org/apache/log4j/Appender.html#getFilter()"><B>getFilter()</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Returns the head Filter. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#getFilter()"><B>getFilter()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Returns the head Filter. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#getFilteredLogTableModel()"><B>getFilteredLogTableModel()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getFilteredRecord(int)"><B>getFilteredRecord(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getFilteredRecords()"><B>getFilteredRecords()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#getFirstFilter()"><B>getFirstFilter()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Return the first filter in the filter chain for this + Appender. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getFirstSelectedRow()"><B>getFirstSelectedRow()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#getFollow()"><B>getFollow()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>Gets whether the appender honors reassignments of System.out + or System.err made after configuration. +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#getFooter()"><B>getFooter()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>Returns the appropriate HTML footers. +<DT><A HREF="./org/apache/log4j/Layout.html#getFooter()"><B>getFooter()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> +<DD>Returns the footer for the layout format. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getFQNOfLoggerClass()"><B>getFQNOfLoggerClass()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Get the fully qualified name of the calling logger sub-class/wrapper. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getFQNOfLoggerClass()"><B>getFQNOfLoggerClass()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Get the fully qualified name of the calling logger sub-class/wrapper. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getFrom()"><B>getFrom()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Returns value of the <b>From</b> option. +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#getHeader()"><B>getHeader()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>Returns appropriate HTML headers. +<DT><A HREF="./org/apache/log4j/Layout.html#getHeader()"><B>getHeader()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> +<DD>Returns the header for the layout format. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#getHeader()"><B>getHeader()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>If true, the appender will generate the HEADER part (that is, timestamp and host name) + of the syslog packet. +<DT><A HREF="./org/apache/log4j/Category.html#getHierarchy()"><B>getHierarchy()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="./org/apache/log4j/Category.html#getLoggerRepository()"><CODE>Category.getLoggerRepository()</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/WriterAppender.html#getImmediateFlush()"><B>getImmediateFlush()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Returns value of the <b>ImmediateFlush</b> option. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getInitialContextFactoryName()"><B>getInitialContextFactoryName()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>Returns the value of the <b>InitialContextFactoryName</b> option. +<DT><A HREF="./org/apache/log4j/lf5/util/Resource.html#getInputStream()"><B>getInputStream()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A> +<DD>Get the InputStream for this Resource. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getInputStream(int)"><B>getInputStream(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Returns a input stream to the resource at the specified index +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getInputStream(java.io.File)"><B>getInputStream(File)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Gets an input stream for the corresponding file. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getInputStream(java.net.URL)"><B>getInputStream(URL)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Gets an input stream for the corresponding URL. +<DT><A HREF="./org/apache/log4j/lf5/util/Resource.html#getInputStreamReader()"><B>getInputStreamReader()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A> +<DD>Get the InputStreamReader for this Resource. +<DT><A HREF="./org/apache/log4j/Category.html#getInstance(java.lang.String)"><B>getInstance(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Make sure to use <A HREF="./org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>Logger.getLogger(String)</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/Category.html#getInstance(java.lang.Class)"><B>getInstance(Class)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please make sure to use <A HREF="./org/apache/log4j/Logger.html#getLogger(java.lang.Class)"><CODE>Logger.getLogger(Class)</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/helpers/NullEnumeration.html#getInstance()"><B>getInstance()</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/NullAppender.html#getInstance()"><B>getInstance()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use getNullAppender instead. getInstance should have been static.</I> +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#getJdk14Levels()"><B>getJdk14Levels()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/ZeroConfSupport.html#getJMDNSInstance()"><B>getJMDNSInstance()</B></A> - +Static method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net">ZeroConfSupport</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#getLabel()"><B>getLabel()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>Return the Label of the LogLevel. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#getLabel()"><B>getLabel()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>Return the Label of the LogLevel. +<DT><A HREF="./org/apache/log4j/Appender.html#getLayout()"><B>getLayout()</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Returns this appenders layout. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#getLayout()"><B>getLayout()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Returns the layout of this appender. +<DT><A HREF="./org/apache/log4j/Category.html#getLevel()"><B>getLevel()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Returns the assigned <A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A>, if any, for this Category. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getLevel()"><B>getLevel()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Get the level of this LogRecord. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getLevel()"><B>getLevel()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Return the level of this event. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getLevel()"><B>getLevel()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Return the level of this event. +<DT><A HREF="./org/apache/log4j/varia/LevelRangeFilter.html#getLevelMax()"><B>getLevelMax()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A> +<DD>Get the value of the <code>LevelMax</code> option. +<DT><A HREF="./org/apache/log4j/varia/LevelRangeFilter.html#getLevelMin()"><B>getLevelMin()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A> +<DD>Get the value of the <code>LevelMin</code> option. +<DT><A HREF="./org/apache/log4j/varia/LevelMatchFilter.html#getLevelToMatch()"><B>getLevelToMatch()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LocationInfo.html#getLineNumber()"><B>getLineNumber()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> +<DD>Returns the line number of the caller. +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#getLocale()"><B>getLocale()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getLocation()"><B>getLocation()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Get the location in code where this LogRecord originated. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#getLocationInfo()"><B>getLocationInfo()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Gets whether the location of the logging request call + should be captured. +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#getLocationInfo()"><B>getLocationInfo()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>Returns the current value of the <b>LocationInfo</b> option. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#getLocationInfo()"><B>getLocationInfo()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Gets whether the location of the logging request call + should be captured. +<DT><A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html#getLocationInfo(java.lang.String)"><B>getLocationInfo(String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getLocationInfo()"><B>getLocationInfo()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>Returns value of the <b>LocationInfo</b> property which + determines whether location (stack) info is sent to the remote + subscriber. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getLocationInfo()"><B>getLocationInfo()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Returns value of the <b>LocationInfo</b> option. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#getLocationInfo()"><B>getLocationInfo()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>Returns value of the <b>LocationInfo</b> option. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#getLocationInfo()"><B>getLocationInfo()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>Returns value of the <b>LocationInfo</b> option. +<DT><A HREF="./org/apache/log4j/xml/XMLLayout.html#getLocationInfo()"><B>getLocationInfo()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A> +<DD>Returns the current value of the <b>LocationInfo</b> option. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getLocationInformation()"><B>getLocationInformation()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Set the location information for this logging event. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getLocationInformation()"><B>getLocationInformation()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Set the location information for this logging event. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#getLog4JLevels()"><B>getLog4JLevels()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#getLogBrokerMonitor()"><B>getLogBrokerMonitor()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Hierarchy.html#getLogger(java.lang.String)"><B>getLogger(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Return a new logger instance named as the first parameter using + the default factory. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><B>getLogger(String, LoggerFactory)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Return a new logger instance named as the first parameter using + <code>factory</code>. +<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html#getLogger()"><B>getLogger()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html#getLogger()"><B>getLogger()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#getLogger()"><B>getLogger()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html#getLogger()"><B>getLogger()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx">LayoutDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html#getLogger()"><B>getLogger()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Logger.html#getLogger(java.lang.String)"><B>getLogger(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> +<DD>Retrieve a logger named according to the value of the + <code>name</code> parameter. +<DT><A HREF="./org/apache/log4j/Logger.html#getLogger(java.lang.Class)"><B>getLogger(Class)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> +<DD>Shorthand for <code>getLogger(clazz.getName())</code>. +<DT><A HREF="./org/apache/log4j/Logger.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><B>getLogger(String, LoggerFactory)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> +<DD>Like <A HREF="./org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>Logger.getLogger(String)</CODE></A> except that the type of logger + instantiated depends on the type returned by the <A HREF="./org/apache/log4j/spi/LoggerFactory.html#makeNewLoggerInstance(java.lang.String)"><CODE>LoggerFactory.makeNewLoggerInstance(java.lang.String)</CODE></A> method of the + <code>factory</code> parameter. +<DT><A HREF="./org/apache/log4j/LogManager.html#getLogger(java.lang.String)"><B>getLogger(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>Retrieve the appropriate <A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance. +<DT><A HREF="./org/apache/log4j/LogManager.html#getLogger(java.lang.Class)"><B>getLogger(Class)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>Retrieve the appropriate <A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance. +<DT><A HREF="./org/apache/log4j/LogManager.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><B>getLogger(String, LoggerFactory)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>Retrieve the appropriate <A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance. +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String)"><B>getLogger(String)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><B>getLogger(String, LoggerFactory)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getLogger()"><B>getLogger()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Gets the logger of the event. +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#getLogger(java.lang.String)"><B>getLogger(String)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD> +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><B>getLogger(String, LoggerFactory)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD> +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getLoggerName()"><B>getLoggerName()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Return the name of the logger. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getLoggerName()"><B>getLoggerName()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Return the name of the logger. +<DT><A HREF="./org/apache/log4j/Category.html#getLoggerRepository()"><B>getLoggerRepository()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Return the the <A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> where this + <code>Category</code> is attached. +<DT><A HREF="./org/apache/log4j/LogManager.html#getLoggerRepository()"><B>getLoggerRepository()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/DefaultRepositorySelector.html#getLoggerRepository()"><B>getLoggerRepository()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi">DefaultRepositorySelector</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/RepositorySelector.html#getLoggerRepository()"><B>getLoggerRepository()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A> +<DD>Returns a <A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> depending on the + context. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#getLogLevelColor(org.apache.log4j.lf5.LogLevel)"><B>getLogLevelColor(LogLevel)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer">LogTableRowRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#getLogLevelColorMap()"><B>getLogLevelColorMap()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogLevelMenuItems()"><B>getLogLevelMenuItems()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogLevels()"><B>getLogLevels()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getLogRecordFilter()"><B>getLogRecordFilter()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#getLogStatement(org.apache.log4j.spi.LoggingEvent)"><B>getLogStatement(LoggingEvent)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>By default getLogStatement sends the event to the required Layout object. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#getLogTableColumnArray()"><B>getLogTableColumnArray()</B></A> - +Static method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)"><B>getLogTableColumnMenuItem(LogTableColumn)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogTableColumnMenuItems()"><B>getLogTableColumnMenuItems()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogTableColumns()"><B>getLogTableColumns()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#getLogTableColumns()"><B>getLogTableColumns()</B></A> - +Static method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#getMaxBackupIndex()"><B>getMaxBackupIndex()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>Returns the value of the <b>MaxBackupIndex</b> option. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#getMaximumCacheValidity(java.lang.String)"><B>getMaximumCacheValidity(String)</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<DD>Gets maximum cache validity for the specified SimpleDateTime + conversion pattern. +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#getMaximumFileSize()"><B>getMaximumFileSize()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>Get the maximum size that the output file is allowed to reach + before being rolled over to backup files. +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html#getMaxLength()"><B>getMaxLength()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> +<DD>Get maximum length. +<DT><A HREF="./org/apache/log4j/helpers/BoundedFIFO.html#getMaxSize()"><B>getMaxSize()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A> +<DD>Get the maximum size of the buffer. +<DT><A HREF="./org/apache/log4j/helpers/CyclicBuffer.html#getMaxSize()"><B>getMaxSize()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html#getMBeanInfo()"><B>getMBeanInfo()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#getMBeanInfo()"><B>getMBeanInfo()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html#getMBeanInfo()"><B>getMBeanInfo()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx">LayoutDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html#getMBeanInfo()"><B>getMBeanInfo()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getMDC(java.lang.String)"><B>getMDC(String)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Returns the the context corresponding to the <code>key</code> + parameter. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getMDC(java.lang.String)"><B>getMDC(String)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Returns the the context corresponding to the <code>key</code> + parameter. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getMDCCopy()"><B>getMDCCopy()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Obtain a copy of this thread's MDC prior to serialization or + asynchronous logging. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getMDCCopy()"><B>getMDCCopy()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Obtain a copy of this thread's MDC prior to serialization or + asynchronous logging. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getMenuItem(org.apache.log4j.lf5.LogLevel)"><B>getMenuItem(LogLevel)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertySetterException.html#getMessage()"><B>getMessage()</B></A> - +Method in exception org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A> +<DD>Returns descriptive text on the cause of this exception. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getMessage()"><B>getMessage()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Get the message asscociated with this LogRecord. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getMessage()"><B>getMessage()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Return the message for this logging event. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getMessage()"><B>getMessage()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Return the message for this logging event. +<DT><A HREF="./org/apache/log4j/spi/LocationInfo.html#getMethodName()"><B>getMethodName()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> +<DD>Returns the method name of the caller. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getMillis()"><B>getMillis()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Get the event time of this record in milliseconds from 1970. +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html#getMinLength()"><B>getMinLength()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> +<DD>Get minimum length. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getMRUFileList()"><B>getMRUFileList()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Gets the list of files stored in the MRU file list. +<DT><A HREF="./org/apache/log4j/Appender.html#getName()"><B>getName()</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Get the name of this appender. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#getName()"><B>getName()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Returns the name of this appender. +<DT><A HREF="./org/apache/log4j/Category.html#getName()"><B>getName()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Return the category name. +<DT><A HREF="./org/apache/log4j/lf5/util/Resource.html#getName()"><B>getName()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A> +<DD>Get the name of the resource. +<DT><A HREF="./org/apache/log4j/pattern/PatternConverter.html#getName()"><B>getName()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A> +<DD>This method returns the name of the conversion pattern. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getNDC()"><B>getNDC()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Get the NDC (nested diagnostic context) for this record. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getNDC()"><B>getNDC()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>This method returns the NDC for this event. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getNDC()"><B>getNDC()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>This method returns the NDC for this event. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getNDCTextFilter()"><B>getNDCTextFilter()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Filter.html#getNext()"><B>getNext()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> +<DD>Return the pointer to the next filter; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getNextId()"><B>getNextId()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#getNotificationInfo()"><B>getNotificationInfo()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/NullAppender.html#getNullAppender()"><B>getNullAppender()</B></A> - +Static method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> +<DD>Whenever you can, use this method to retreive an instance instead + of instantiating a new one with <code>new</code>. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#getNumberFormat()"><B>getNumberFormat()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<DD>Gets number formatter. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#getNumberOfContainedRecords()"><B>getNumberOfContainedRecords()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#getNumberOfRecordsFromChildren()"><B>getNumberOfRecordsFromChildren()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#getOptionStrings()"><B>getOptionStrings()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I> +<DT><A HREF="./org/apache/log4j/varia/DenyAllFilter.html#getOptionStrings()"><B>getOptionStrings()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia">DenyAllFilter</A> +<DD><B>Deprecated.</B>&nbsp;<I>We now use JavaBeans introspection to configure + components. Options strings are no longer needed.</I> +<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html#getOptionStrings()"><B>getOptionStrings()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<DD><B>Deprecated.</B>&nbsp;<I>We now use JavaBeans introspection to configure + components. Options strings are no longer needed.</I> +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#getOutputFormat()"><B>getOutputFormat()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use getPattern().</I> +<DT><A HREF="./org/apache/log4j/Category.html#getParent()"><B>getParent()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Returns the parent of this category. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#getPassword()"><B>getPassword()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getPassword()"><B>getPassword()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#getPattern()"><B>getPattern()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/PatternParser.html#getPatternLayoutRules()"><B>getPatternLayoutRules()</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern">PatternParser</A> +<DD>Get standard format specifiers for EnhancedPatternLayout. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#getPort()"><B>getPort()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>Returns value of the <b>Port</b> option. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#getPort()"><B>getPort()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>Returns value of the <b>Port</b> option. +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.html#getPort()"><B>getPort()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html#getPort()"><B>getPort()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A> +<DD>Returns value of the <b>Port</b> option. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#getPrecedence()"><B>getPrecedence()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#getPriority()"><B>getPriority()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="./org/apache/log4j/Category.html#getLevel()"><CODE>Category.getLevel()</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/config/PropertyGetter.html#getProperties(java.lang.Object, org.apache.log4j.config.PropertyGetter.PropertyCallback, java.lang.String)"><B>getProperties(Object, PropertyGetter.PropertyCallback, String)</B></A> - +Static method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config">PropertyGetter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertyGetter.html#getProperties(org.apache.log4j.config.PropertyGetter.PropertyCallback, java.lang.String)"><B>getProperties(PropertyGetter.PropertyCallback, String)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config">PropertyGetter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getProperties()"><B>getProperties()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Returns the set of properties + for the event. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getProperties()"><B>getProperties()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Returns the set of properties + for the event. +<DT><A HREF="./org/apache/log4j/xml/XMLLayout.html#getProperties()"><B>getProperties()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A> +<DD>Gets whether MDC key-value pairs should be output. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getProperty(java.lang.String)"><B>getProperty(String)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Return a property for this event. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getProperty(java.lang.String)"><B>getProperty(String)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Return a property for this event. +<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#getPropertyDescriptor(java.lang.String)"><B>getPropertyDescriptor(String)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/MDCKeySetExtractor.html#getPropertyKeySet(org.apache.log4j.spi.LoggingEvent)"><B>getPropertyKeySet(LoggingEvent)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getPropertyKeySet()"><B>getPropertyKeySet()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Returns the set of the key values in the properties + for the event. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getPropertyKeySet()"><B>getPropertyKeySet()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Returns the set of the key values in the properties + for the event. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getProviderURL()"><B>getProviderURL()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#getReconnectionDelay()"><B>getReconnectionDelay()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>Returns value of the <b>ReconnectionDelay</b> option. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getRecordsDisplayedMessage()"><B>getRecordsDisplayedMessage()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#getRemoteHost()"><B>getRemoteHost()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>Returns value of the <b>RemoteHost</b> option. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getRenderedMessage()"><B>getRenderedMessage()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getRenderedMessage()"><B>getRenderedMessage()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Hierarchy.html#getRendererMap()"><B>getRendererMap()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Get the renderer map for this hierarchy. +<DT><A HREF="./org/apache/log4j/spi/RendererSupport.html#getRendererMap()"><B>getRendererMap()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getReplyTo()"><B>getReplyTo()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Get the reply addresses. +<DT><A HREF="./org/apache/log4j/helpers/Loader.html#getResource(java.lang.String, java.lang.Class)"><B>getResource(String, Class)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers">Loader</A> +<DD><B>Deprecated.</B>&nbsp;<I>as of 1.2.</I> +<DT><A HREF="./org/apache/log4j/helpers/Loader.html#getResource(java.lang.String)"><B>getResource(String)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers">Loader</A> +<DD>This method will search for <code>resource</code> in different + places. +<DT><A HREF="./org/apache/log4j/lf5/util/ResourceUtils.html#getResourceAsStream(java.lang.Object, org.apache.log4j.lf5.util.Resource)"><B>getResourceAsStream(Object, Resource)</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util">ResourceUtils</A> +<DD>Get the InputStream for this resource. +<DT><A HREF="./org/apache/log4j/lf5/util/ResourceUtils.html#getResourceAsURL(java.lang.Object, org.apache.log4j.lf5.util.Resource)"><B>getResourceAsURL(Object, Resource)</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util">ResourceUtils</A> +<DD>Get the URL for this resource. +<DT><A HREF="./org/apache/log4j/Category.html#getResourceBundle()"><B>getResourceBundle()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Return the <em>inherited</em> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util"><CODE>ResourceBundle</CODE></A> for this + category. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#getResourceBundle()"><B>getResourceBundle()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Return the <em>inherited</em> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util"><CODE>ResourceBundle</CODE></A> for this + category. +<DT><A HREF="./org/apache/log4j/Category.html#getResourceBundleString(java.lang.String)"><B>getResourceBundleString(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Returns the string resource coresponding to <code>key</code> in + this category's inherited resource bundle. +<DT><A HREF="./org/apache/log4j/Category.html#getRoot()"><B>getRoot()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="./org/apache/log4j/Logger.html#getRootLogger()"><CODE>Logger.getRootLogger()</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getRootCategoryNode()"><B>getRootCategoryNode()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Hierarchy.html#getRootLogger()"><B>getRootLogger()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Get the root of this hierarchy. +<DT><A HREF="./org/apache/log4j/Logger.html#getRootLogger()"><B>getRootLogger()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> +<DD>Return the root logger for the current logger repository. +<DT><A HREF="./org/apache/log4j/LogManager.html#getRootLogger()"><B>getRootLogger()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>Retrieve the appropriate root logger. +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#getRootLogger()"><B>getRootLogger()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#getRootLogger()"><B>getRootLogger()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD> +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getRowCount()"><B>getRowCount()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#getScreenHeight()"><B>getScreenHeight()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#getScreenHeight()"><B>getScreenHeight()</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#getScreenWidth()"><B>getScreenWidth()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#getScreenWidth()"><B>getScreenWidth()</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getSecurityCredentials()"><B>getSecurityCredentials()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getSecurityPrincipalName()"><B>getSecurityPrincipalName()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getSendOnClose()"><B>getSendOnClose()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Get sendOnClose. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getSequenceNumber()"><B>getSequenceNumber()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Get the sequence number associated with this LogRecord. +<DT><A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html#getSevereLevel()"><B>getSevereLevel()</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#getSevereLevel()"><B>getSevereLevel()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Gets the current Severe LogLevel +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getSMTPDebug()"><B>getSMTPDebug()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Get SMTP debug. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getSMTPHost()"><B>getSMTPHost()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Returns value of the <b>SMTPHost</b> option. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getSMTPPassword()"><B>getSMTPPassword()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Get SMTP password. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getSMTPPort()"><B>getSMTPPort()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Get port. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getSMTPProtocol()"><B>getSMTPProtocol()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Get transport protocol. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getSMTPUsername()"><B>getSMTPUsername()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Get SMTP user name. +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#getSource()"><B>getSource()</B></A> - +Method in class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#getSql()"><B>getSql()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Returns pre-formated statement eg: insert into LogTable (msg) values ("%m") +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getStartTime()"><B>getStartTime()</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Returns the time when the application started, in milliseconds + elapsed since 01.01.1970. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getStartTime()"><B>getStartTime()</B></A> - +Static method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Returns the time when the application started, in milliseconds + elapsed since 01.01.1970. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getStatusText(int, int)"><B>getStatusText(int, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html#getStringToMatch()"><B>getStringToMatch()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LevelPatternConverter.html#getStyleClass(java.lang.Object)"><B>getStyleClass(Object)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A> +<DD>This method returns the CSS style class that should be applied to + the LoggingEvent passed as parameter, which can be null. +<DT><A HREF="./org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)"><B>getStyleClass(Object)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A> +<DD>This method returns the CSS style class that should be applied to + the LoggingEvent passed as parameter, which can be null. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getSubject()"><B>getSubject()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Returns value of the <b>Subject</b> option. +<DT><A HREF="./org/apache/log4j/Priority.html#getSyslogEquivalent()"><B>getSyslogEquivalent()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>Return the syslog equivalent of this priority as an integer. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#getSyslogHost()"><B>getSyslogHost()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Returns the value of the <b>SyslogHost</b> option. +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#getSystemProperty(java.lang.String, java.lang.String)"><B>getSystemProperty(String, String)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>Very similar to <code>System.getProperty</code> except + that the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang"><CODE>SecurityException</CODE></A> is hidden. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int)"><B>getTableCellEditorComponent(JTable, Object, boolean, int, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)"><B>getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer">LogTableRowRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)"><B>getTableColumnMenuItem(LogTableColumn)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#getTarget()"><B>getTarget()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>Returns the current value of the <b>Target</b> property. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html#getText()"><B>getText()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5InputDialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getThreadDescription()"><B>getThreadDescription()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Get the thread description asscociated with this LogRecord. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getThreadName()"><B>getThreadName()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getThreadName()"><B>getThreadName()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/TTCCLayout.html#getThreadPrinting()"><B>getThreadPrinting()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>Returns value of the <b>ThreadPrinting</b> option. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#getThreshold()"><B>getThreshold()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Returns this appenders threshold level. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#getThreshold()"><B>getThreshold()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Returns a <A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> representation of the <code>enable</code> + state. +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#getThreshold()"><B>getThreshold()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>Get the repository-wide threshold. +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#getThreshold()"><B>getThreshold()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD>Get the repository-wide threshold. +<DT><A HREF="./org/apache/log4j/spi/ThrowableInformation.html#getThrowable()"><B>getThrowable()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getThrowableInformation()"><B>getThrowableInformation()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Returns the throwable information contained within this + event. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getThrowableInformation()"><B>getThrowableInformation()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Returns the throwable information contained within this + event. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#getThrowableRenderer()"><B>getThrowableRenderer()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Get throwable renderer. +<DT><A HREF="./org/apache/log4j/spi/ThrowableRendererSupport.html#getThrowableRenderer()"><B>getThrowableRenderer()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A> +<DD>Get throwable renderer. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getThrowableStrRep()"><B>getThrowableStrRep()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Return this event's throwable's string[] representaion. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getThrowableStrRep()"><B>getThrowableStrRep()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Return this event's throwable's string[] representaion. +<DT><A HREF="./org/apache/log4j/spi/ThrowableInformation.html#getThrowableStrRep()"><B>getThrowableStrRep()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getThrown()"><B>getThrown()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Get the Throwable associated with this LogRecord. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#getThrownStackTrace()"><B>getThrownStackTrace()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Get the stack trace in a String-based format for the associated Throwable + of this LogRecord. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getTimeStamp()"><B>getTimeStamp()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Getter for the event's time stamp. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#getTimeStamp()"><B>getTimeStamp()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Getter for the event's time stamp. +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#getTimeZone()"><B>getTimeZone()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>Returns value of the <b>TimeZone</b> option. +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#getTimeZone()"><B>getTimeZone()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#getTitle()"><B>getTitle()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>Returns the current value of the <b>Title</b> option. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html#getTitle()"><B>getTitle()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#getTitle()"><B>getTitle()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#getTo()"><B>getTo()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Returns value of the <b>To</b> option. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#getToolTipText(java.awt.event.MouseEvent)"><B>getToolTipText(MouseEvent)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getTopicBindingName()"><B>getTopicBindingName()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>Returns the value of the <b>TopicBindingName</b> option. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getTopicConnection()"><B>getTopicConnection()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>Returns the TopicConnection used for this appender. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getTopicConnectionFactoryBindingName()"><B>getTopicConnectionFactoryBindingName()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>Returns the value of the <b>TopicConnectionFactoryBindingName</b> option. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getTopicPublisher()"><B>getTopicPublisher()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>Returns the TopicPublisher used for this appender. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getTopicSession()"><B>getTopicSession()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>Returns the TopicSession used for this appender. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#getTotalNumberOfRecords()"><B>getTotalNumberOfRecords()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getTotalRowCount()"><B>getTotalRowCount()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getTreeCellEditorComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)"><B>getTreeCellEditorComponent(JTree, Object, boolean, boolean, boolean, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#getTreeCellEditorComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)"><B>getTreeCellEditorComponent(JTree, Object, boolean, boolean, boolean, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)"><B>getTreeCellRendererComponent(JTree, Object, boolean, boolean, boolean, int, boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)"><B>getTreeCellRendererComponent(JTree, Object, boolean, boolean, boolean, int, boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#getTreePath(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>getTreePath(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getTreePathToRoot(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>getTreePathToRoot(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>Returns the CategoryPath to the specified CategoryNode +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#getURL()"><B>getURL()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/Resource.html#getURL()"><B>getURL()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A> +<DD>Get the URL of the Resource. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#getUser()"><B>getUser()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#getUserName()"><B>getUserName()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#getValue(org.w3c.dom.NamedNodeMap, java.lang.String)"><B>getValue(NamedNodeMap, String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getValueAt(int, int)"><B>getValueAt(int, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_H_"><!-- --></A><H2> +<B>H</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html#handleNotification(javax.management.Notification, java.lang.Object)"><B>handleNotification(Notification, Object)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()"><B>handlesThrowable()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A> +<DD>Normally pattern converters are not meant to handle Exceptions although + few pattern converters might. +<DT><A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#handlesThrowable()"><B>handlesThrowable()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A> +<DD>This converter obviously handles throwables. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#hasFatalChildren()"><B>hasFatalChildren()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#hasFatalRecords()"><B>hasFatalRecords()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#hashCode()"><B>hashCode()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#hashCode()"><B>hashCode()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#hashCode()"><B>hashCode()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/NullEnumeration.html#hasMoreElements()"><B>hasMoreElements()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#hasThrown()"><B>hasThrown()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#headFilter"><B>headFilter</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>The first filter in the filter chain. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#hide()"><B>hide()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Hide the frame for the LogBrokerMonitor. +<DT><A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><B>Hierarchy</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This class is specialized in retrieving loggers by name and also + maintaining the logger hierarchy.<DT><A HREF="./org/apache/log4j/Hierarchy.html#Hierarchy(org.apache.log4j.Logger)"><B>Hierarchy(Logger)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Create a new logger hierarchy. +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>HierarchyDynamicMBean</B></A> - Class in <A HREF="./org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#HierarchyDynamicMBean()"><B>HierarchyDynamicMBean()</B></A> - +Constructor for class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><B>HierarchyEventListener</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>Listen to events occuring within a <A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><CODE>Hierarchy</CODE></A>.<DT><A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j"><B>HTMLLayout</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This layout outputs events in a HTML table.<DT><A HREF="./org/apache/log4j/HTMLLayout.html#HTMLLayout()"><B>HTMLLayout()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_I_"><!-- --></A><H2> +<B>I</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#i"><B>i</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#ignoresThrowable()"><B>ignoresThrowable()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>Will return false if any of the conversion specifiers in the pattern + handles <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><CODE>Exceptions</CODE></A>. +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#ignoresThrowable()"><B>ignoresThrowable()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>The HTML layout handles the throwable contained in logging + events. +<DT><A HREF="./org/apache/log4j/Layout.html#ignoresThrowable()"><B>ignoresThrowable()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> +<DD>If the layout handles the throwable object contained within + <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A>, then the layout should return + <code>false</code>. +<DT><A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html#ignoresThrowable()"><B>ignoresThrowable()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern">BridgePatternConverter</A> +<DD>Will return false if any of the conversion specifiers in the pattern + handles <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><CODE>Exceptions</CODE></A>. +<DT><A HREF="./org/apache/log4j/PatternLayout.html#ignoresThrowable()"><B>ignoresThrowable()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>The PatternLayout does not handle the throwable contained within + <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A>. +<DT><A HREF="./org/apache/log4j/SimpleLayout.html#ignoresThrowable()"><B>ignoresThrowable()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j">SimpleLayout</A> +<DD>The SimpleLayout does not handle the throwable contained within + <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A>. +<DT><A HREF="./org/apache/log4j/TTCCLayout.html#ignoresThrowable()"><B>ignoresThrowable()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>The TTCCLayout does not handle the throwable contained within + <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A>. +<DT><A HREF="./org/apache/log4j/xml/XMLLayout.html#ignoresThrowable()"><B>ignoresThrowable()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A> +<DD>The XMLLayout prints and does not ignore exceptions. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#immediateFlush"><B>immediateFlush</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Immediate flush means that the underlying writer or output stream + will be flushed at the end of each append operation unless shouldFlush() + is overridden. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#inCheckBoxHitRegion(java.awt.event.MouseEvent)"><B>inCheckBoxHitRegion(MouseEvent)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryImmediateEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#info(java.lang.Object)"><B>info(Object)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#INFO"><CODE>INFO</CODE></A> Level. +<DT><A HREF="./org/apache/log4j/Category.html#info(java.lang.Object, java.lang.Throwable)"><B>info(Object, Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a message object with the <code>INFO</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. +<DT><A HREF="./org/apache/log4j/Level.html#INFO"><B>INFO</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>The <code>INFO</code> level designates informational messages + that highlight the progress of the application at coarse-grained + level. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#INFO"><B>INFO</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>info(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>info(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, boolean)"><B>info(Logger, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, char)"><B>info(Logger, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, byte)"><B>info(Logger, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, short)"><B>info(Logger, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, int)"><B>info(Logger, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, long)"><B>info(Logger, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, float)"><B>info(Logger, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, double)"><B>info(Logger, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><B>info(Logger, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><B>info(Logger, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>info(Logger, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>info(Logger, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>info(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>info(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, boolean)"><B>info(Logger, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, char)"><B>info(Logger, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, byte)"><B>info(Logger, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, short)"><B>info(Logger, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, int)"><B>info(Logger, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, long)"><B>info(Logger, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, float)"><B>info(Logger, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, double)"><B>info(Logger, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><B>info(Logger, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><B>info(Logger, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>info(Logger, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>info(Logger, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/Priority.html#INFO"><B>INFO</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="./org/apache/log4j/Level.html#INFO"><CODE>Level.INFO</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#info(java.lang.Object)"><B>info(Object)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#INFO"><CODE>INFO</CODE></A> Level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#info(java.lang.Object, java.lang.Throwable)"><B>info(Object, Throwable)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <code>INFO</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. +<DT><A HREF="./org/apache/log4j/Priority.html#INFO_INT"><B>INFO_INT</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/NDC.html#inherit(java.util.Stack)"><B>inherit(Stack)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<DD>Inherit the diagnostic context of another thread. +<DT><A HREF="./org/apache/log4j/spi/Configurator.html#INHERITED"><B>INHERITED</B></A> - +Static variable in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A> +<DD>Special level value signifying inherited behaviour. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#init()"><B>init()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#init()"><B>init()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#initComponents()"><B>initComponents()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/MDCKeySetExtractor.html#INSTANCE"><B>INSTANCE</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#instantiateByClassName(java.lang.String, java.lang.Class, java.lang.Object)"><B>instantiateByClassName(String, Class, Object)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>Instantiate an object given a class name. +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#instantiateByKey(java.util.Properties, java.lang.String, java.lang.Class, java.lang.Object)"><B>instantiateByKey(Properties, String, Class, Object)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>IntegerPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats an integer.<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#introspect()"><B>introspect()</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>Uses JavaBeans <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/Introspector.html?is-external=true" title="class or interface in java.beans"><CODE>Introspector</CODE></A> to computer setters of object to be + configured. +<DT><A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html#invoke(java.lang.String, java.lang.Object[], java.lang.String[])"><B>invoke(String, Object[], String[])</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#invoke(java.lang.String, java.lang.Object[], java.lang.String[])"><B>invoke(String, Object[], String[])</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html#invoke(java.lang.String, java.lang.Object[], java.lang.String[])"><B>invoke(String, Object[], String[])</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx">LayoutDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html#invoke(java.lang.String, java.lang.Object[], java.lang.String[])"><B>invoke(String, Object[], String[])</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#isAdvertiseViaMulticastDNS()"><B>isAdvertiseViaMulticastDNS()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#isAdvertiseViaMulticastDNS()"><B>isAdvertiseViaMulticastDNS()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)"><B>isAsSevereAsThreshold(Priority)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Check whether the message level is below the appender's + threshold. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#isAttached(org.apache.log4j.Appender)"><B>isAttached(Appender)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Determines if specified appender is attached. +<DT><A HREF="./org/apache/log4j/Category.html#isAttached(org.apache.log4j.Appender)"><B>isAttached(Appender)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Is the appender passed as parameter attached to this category? +<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html#isAttached(org.apache.log4j.Appender)"><B>isAttached(Appender)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<DD>Returns <code>true</code> if the specified appender is in the + list of attached appenders, <code>false</code> otherwise. +<DT><A HREF="./org/apache/log4j/spi/AppenderAttachable.html#isAttached(org.apache.log4j.Appender)"><B>isAttached(Appender)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A> +<DD>Returns <code>true</code> if the specified appender is in list of + attached attached, <code>false</code> otherwise. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#isAttached(org.apache.log4j.Appender)"><B>isAttached(Appender)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Is the appender passed as parameter attached to this category? +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#isCategoryPathActive(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)"><B>isCategoryPathActive(CategoryPath)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#isCellEditable(java.util.EventObject)"><B>isCellEditable(EventObject)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableModel.html#isCellEditable(int, int)"><B>isCellEditable(int, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer">LogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#isDebugEnabled()"><B>isDebugEnabled()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Check whether this category is enabled for the <code>DEBUG</code> + Level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#isDebugEnabled()"><B>isDebugEnabled()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Check whether this category is enabled for the <code>DEBUG</code> + Level. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#isDisabled(int)"><B>isDisabled(int)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>This method will return <code>true</code> if this repository is + disabled for <code>level</code> object passed as parameter and + <code>false</code> otherwise. +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#isDisabled(int)"><B>isDisabled(int)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>Returns whether this repository is disabled for a given + level. +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#isDisabled(int)"><B>isDisabled(int)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD>Returns whether this repository is disabled for a given + level. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#isEmpty()"><B>isEmpty()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#isEnabledFor(org.apache.log4j.Priority)"><B>isEnabledFor(Priority)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Check whether this category is enabled for a given <A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> passed as parameter. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#isEnabledFor(org.apache.log4j.Priority)"><B>isEnabledFor(Priority)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Check whether this category is enabled for a given <A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> passed as parameter. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#isFatal()"><B>isFatal()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/BoundedFIFO.html#isFull()"><B>isFull()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A> +<DD>Return <code>true</code> if the buffer is full, that is, whether + the number of elements in the buffer equals the buffer size. +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#isGenAppName(java.lang.String)"><B>isGenAppName(String)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>Returns true if the specified appender name is considered to have + been generated, that is, if it is of the form A[0-9]+. +<DT><A HREF="./org/apache/log4j/Priority.html#isGreaterOrEqual(org.apache.log4j.Priority)"><B>isGreaterOrEqual(Priority)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>Returns <code>true</code> if this level has a higher or equal + level than the level passed as argument, <code>false</code> + otherwise. +<DT><A HREF="./org/apache/log4j/config/PropertyGetter.html#isHandledType(java.lang.Class)"><B>isHandledType(Class)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config">PropertyGetter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#isInfoEnabled()"><B>isInfoEnabled()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Check whether this category is enabled for the info Level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#isInfoEnabled()"><B>isInfoEnabled()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Check whether this category is enabled for the info Level. +<DT><A HREF="./org/apache/log4j/helpers/Loader.html#isJava1()"><B>isJava1()</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers">Loader</A> +<DD>Are we running under JDK 1.x? +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html#isLeftAligned()"><B>isLeftAligned()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> +<DD>Determine if left aligned. +<DT><A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ISO8601_DATE_FORMAT"><B>ISO8601_DATE_FORMAT</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> +<DD>String constant used to specify <A HREF="./org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><CODE>ISO8601DateFormat</CODE></A> in layouts. +<DT><A HREF="./org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><B>ISO8601DateFormat</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "yyyy-MM-dd HH:mm:ss,SSS" for example + "1999-11-27 15:49:37,459".<DT><A HREF="./org/apache/log4j/helpers/ISO8601DateFormat.html#ISO8601DateFormat()"><B>ISO8601DateFormat()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers">ISO8601DateFormat</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/ISO8601DateFormat.html#ISO8601DateFormat(java.util.TimeZone)"><B>ISO8601DateFormat(TimeZone)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers">ISO8601DateFormat</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#isSelected()"><B>isSelected()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/Log4JLogRecord.html#isSevereLevel()"><B>isSevereLevel()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5">Log4JLogRecord</A> +<DD>Determines which <code>Priority</code> levels will + be displayed in colored font when the <code>LogMonitorAppender</code> + renders this log message. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#isSevereLevel()"><B>isSevereLevel()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Abstract method. +<DT><A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html#isSevereLevel()"><B>isSevereLevel()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Logger.html#isTraceEnabled()"><B>isTraceEnabled()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> +<DD>Check whether this category is enabled for the TRACE Level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#isTraceEnabled()"><B>isTraceEnabled()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Check whether this category is enabled for the TRACE Level. +<DT><A HREF="./org/apache/log4j/spi/TriggeringEventEvaluator.html#isTriggeringEvent(org.apache.log4j.spi.LoggingEvent)"><B>isTriggeringEvent(LoggingEvent)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A> +<DD>Is this the triggering event? +</DL> +<HR> +<A NAME="_J_"><!-- --></A><H2> +<B>J</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc"><B>JDBCAppender</B></A> - Class in <A HREF="./org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A><DD>The JDBCAppender provides for sending log events to a database.<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#JDBCAppender()"><B>JDBCAppender()</B></A> - +Constructor for class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#JDK14_LOG_LEVELS"><B>JDK14_LOG_LEVELS</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net"><B>JMSAppender</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>A simple appender that publishes events to a JMS Topic.<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#JMSAppender()"><B>JMSAppender()</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net"><B>JMSSink</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>A simple application that consumes logging events sent by a <A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net"><CODE>JMSAppender</CODE></A>.<DT><A HREF="./org/apache/log4j/net/JMSSink.html#JMSSink(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>JMSSink(String, String, String, String)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net">JMSSink</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_L_"><!-- --></A><H2> +<B>L</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)"><B>l7dlog(Priority, String, Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a localized message. +<DT><A HREF="./org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)"><B>l7dlog(Priority, String, Object[], Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a localized and parameterized message. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)"><B>l7dlog(Priority, String, Throwable)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a localized message. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)"><B>l7dlog(Priority, String, Object[], Throwable)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a localized and parameterized message. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#layout"><B>layout</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>The layout variable does not need to be set if the appender + implementation has its own layout. +<DT><A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j"><B>Layout</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Extend this abstract class to create your own log layout format.<DT><A HREF="./org/apache/log4j/Layout.html#Layout()"><B>Layout()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>LayoutDynamicMBean</B></A> - Class in <A HREF="./org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html#LayoutDynamicMBean(org.apache.log4j.Layout)"><B>LayoutDynamicMBean(Layout)</B></A> - +Constructor for class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx">LayoutDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#layoutNames"><B>layoutNames</B></A> - +Variable in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/BoundedFIFO.html#length()"><B>length()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A> +<DD>Get the number of elements in the buffer. +<DT><A HREF="./org/apache/log4j/helpers/CyclicBuffer.html#length()"><B>length()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A> +<DD>Get the number of elements in the buffer. +<DT><A HREF="./org/apache/log4j/Category.html#level"><B>level</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>The assigned level of this category. +<DT><A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j"><B>Level</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Defines the minimum set of levels recognized by the system, that is + <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, + <code>WARN</code>, <code>INFO</code, <code>DEBUG</code> and + <code>ALL</code>.<DT><A HREF="./org/apache/log4j/Level.html#Level(int, java.lang.String, int)"><B>Level(int, String, int)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>Instantiate a Level object. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#LEVEL"><B>LEVEL</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#level"><B>level</B></A> - +Variable in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD><B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="./org/apache/log4j/pattern/LogEvent.html#getLevel()"><CODE>LogEvent.getLevel()</CODE></A> method instead.</I> +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#level"><B>level</B></A> - +Variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD><B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="./org/apache/log4j/spi/LoggingEvent.html#getLevel()"><CODE>LoggingEvent.getLevel()</CODE></A> method instead.</I> +<DT><A HREF="./org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia"><B>LevelMatchFilter</B></A> - Class in <A HREF="./org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A><DD>This is a very simple filter based on level matching.<DT><A HREF="./org/apache/log4j/varia/LevelMatchFilter.html#LevelMatchFilter()"><B>LevelMatchFilter()</B></A> - +Constructor for class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LevelPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Return the event's level in a StringBuffer.<DT><A HREF="./org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia"><B>LevelRangeFilter</B></A> - Class in <A HREF="./org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A><DD>This is a very simple filter based on level matching, which can be + used to reject messages with priorities outside a certain range.<DT><A HREF="./org/apache/log4j/varia/LevelRangeFilter.html#LevelRangeFilter()"><B>LevelRangeFilter()</B></A> - +Constructor for class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5"><B>LF5Appender</B></A> - Class in <A HREF="./org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A><DD><code>LF5Appender</code> logs events to a swing based logging + console.<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#LF5Appender()"><B>LF5Appender()</B></A> - +Constructor for class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>Constructs a <code>LF5Appender</code> using the default instance of + the <code>LogBrokerMonitor</code>. +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#LF5Appender(org.apache.log4j.lf5.viewer.LogBrokerMonitor)"><B>LF5Appender(LogBrokerMonitor)</B></A> - +Constructor for class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>Constructs a <code>LF5Appender<code> using an instance of + a <code>LogBrokerMonitor<code> supplied by the user. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer"><B>LF5SwingUtils</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>Provides methods to accomplish common yet non-trivial tasks + with Swing.<DT><A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html#LF5SwingUtils()"><B>LF5SwingUtils()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer">LF5SwingUtils</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Layout.html#LINE_SEP"><B>LINE_SEP</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Layout.html#LINE_SEP_LEN"><B>LINE_SEP_LEN</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LineLocationPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Return the event's line location information in a StringBuffer.<DT><A HREF="./org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LineSeparatorPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats a line separator.<DT><A HREF="./org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LiteralPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats a string literal.<DT><A HREF="./org/apache/log4j/pattern/LiteralPatternConverter.html#LiteralPatternConverter(java.lang.String)"><B>LiteralPatternConverter(String)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern">LiteralPatternConverter</A> +<DD>Create a new instance. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#load()"><B>load()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#load()"><B>load()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Loads the MRU file list in from a file and stores it in a LinkedList. +<DT><A HREF="./org/apache/log4j/helpers/Loader.html#loadClass(java.lang.String)"><B>loadClass(String)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers">Loader</A> +<DD>If running under JDK 1.2 load the specified class using the + <code>Thread</code> <code>contextClassLoader</code> if that + fails try Class.forname. +<DT><A HREF="./org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers"><B>Loader</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>Load resources (or images) from various sources.<DT><A HREF="./org/apache/log4j/helpers/Loader.html#Loader()"><B>Loader()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers">Loader</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#loadLogFile(java.io.File)"><B>loadLogFile(File)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Loads and parses a log file. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#loadLogFile(java.net.URL)"><B>loadLogFile(URL)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Loads a parses a log file running on a server. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#LOCATION"><B>LOCATION</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#LOCATION_DELIMITER"><B>LOCATION_DELIMITER</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#LOCATION_INFO_OPTION"><B>LOCATION_INFO_OPTION</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD><B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I> +<DT><A HREF="./org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi"><B>LocationInfo</B></A> - Class in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>The internal representation of caller location information.<DT><A HREF="./org/apache/log4j/spi/LocationInfo.html#LocationInfo(java.lang.Throwable, java.lang.String)"><B>LocationInfo(Throwable, String)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> +<DD>Instantiate location information based on a Throwable. +<DT><A HREF="./org/apache/log4j/spi/LocationInfo.html#LocationInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>LocationInfo(String, String, String, String)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> +<DD>Create new instance. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#locationInformationExists()"><B>locationInformationExists()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Check for the existence of location information without creating it + (a byproduct of calling getLocationInformation). +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#locationInformationExists()"><B>locationInformationExists()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Check for the existence of location information without creating it + (a byproduct of calling getLocationInformation). +<DT><A HREF="./org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><B>log(Priority, Object, Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>This generic form is intended to be used by wrappers. +<DT><A HREF="./org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object)"><B>log(Priority, Object)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>This generic form is intended to be used by wrappers. +<DT><A HREF="./org/apache/log4j/Category.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><B>log(String, Priority, Object, Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>This is the most generic printing method. +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.Throwable, java.lang.String)"><B>log(String, LogLevel, String, Throwable, String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Log a complete message to the Monitor. +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, java.lang.String)"><B>log(String, String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Log a message to the Monitor and use the default LogLevel. +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.String)"><B>log(String, LogLevel, String, String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Log a message to the Monitor. +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.Throwable)"><B>log(String, LogLevel, String, Throwable)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Log a message to the Monitor. +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String)"><B>log(String, LogLevel, String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Log a message to the Monitor. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object[])"><B>log(Logger, Level, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>log(Logger, Level, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object)"><B>log(Logger, Level, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, boolean)"><B>log(Logger, Level, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, byte)"><B>log(Logger, Level, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, char)"><B>log(Logger, Level, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, short)"><B>log(Logger, Level, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, int)"><B>log(Logger, Level, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, long)"><B>log(Logger, Level, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, float)"><B>log(Logger, Level, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, double)"><B>log(Logger, Level, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object)"><B>log(Logger, Level, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>log(Logger, Level, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specifed level. +<DT><A HREF="./org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>log(Logger, Level, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object[])"><B>log(Logger, Level, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>log(Logger, Level, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object)"><B>log(Logger, Level, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, boolean)"><B>log(Logger, Level, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, byte)"><B>log(Logger, Level, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, char)"><B>log(Logger, Level, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, short)"><B>log(Logger, Level, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, int)"><B>log(Logger, Level, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, long)"><B>log(Logger, Level, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, float)"><B>log(Logger, Level, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, double)"><B>log(Logger, Level, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object)"><B>log(Logger, Level, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>log(Logger, Level, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specifed level. +<DT><A HREF="./org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>log(Logger, Level, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at specified level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><B>log(Priority, Object, Throwable)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>This generic form is intended to be used by wrappers. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#log(org.apache.log4j.Priority, java.lang.Object)"><B>log(Priority, Object)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>This generic form is intended to be used by wrappers. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><B>log(String, Priority, Object, Throwable)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>This is the most generic printing method. +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#LOG4J_LOG_LEVELS"><B>LOG4J_LOG_LEVELS</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml"><B>Log4jEntityResolver</B></A> - Class in <A HREF="./org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A><DD>An <CODE>EntityResolver</CODE> specifically designed to return + <code>log4j.dtd</code> which is embedded within the log4j jar + file.<DT><A HREF="./org/apache/log4j/xml/Log4jEntityResolver.html#Log4jEntityResolver()"><B>Log4jEntityResolver()</B></A> - +Constructor for class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml">Log4jEntityResolver</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5"><B>Log4JLogRecord</B></A> - Class in <A HREF="./org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A><DD>A <code>Log4JLogRecord</code> encapsulates + the details of your log4j <code>LoggingEvent</code> in a format usable + by the <code>LogBrokerMonitor</code>.<DT><A HREF="./org/apache/log4j/lf5/Log4JLogRecord.html#Log4JLogRecord()"><B>Log4JLogRecord()</B></A> - +Constructor for class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5">Log4JLogRecord</A> +<DD>Constructs an instance of a <code>Log4JLogRecord</code>. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_AUTH"><B>LOG_AUTH</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>security/authorization messages +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_AUTHPRIV"><B>LOG_AUTHPRIV</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>security/authorization messages (private) +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_CRON"><B>LOG_CRON</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>clock daemon +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_DAEMON"><B>LOG_DAEMON</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>System daemons +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_FTP"><B>LOG_FTP</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>ftp daemon +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_KERN"><B>LOG_KERN</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Kernel messages +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL0"><B>LOG_LOCAL0</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>reserved for local use +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL1"><B>LOG_LOCAL1</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>reserved for local use +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL2"><B>LOG_LOCAL2</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>reserved for local use +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL3"><B>LOG_LOCAL3</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>reserved for local use +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL4"><B>LOG_LOCAL4</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>reserved for local use +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL5"><B>LOG_LOCAL5</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>reserved for local use +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL6"><B>LOG_LOCAL6</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>reserved for local use +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL7"><B>LOG_LOCAL7</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>reserved for local use +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_LPR"><B>LOG_LPR</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>line printer subsystem +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_MAIL"><B>LOG_MAIL</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Mail system +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_NEWS"><B>LOG_NEWS</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>network news subsystem +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_SYSLOG"><B>LOG_SYSLOG</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>messages generated internally by syslogd +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_USER"><B>LOG_USER</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Random user-level messages +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#LOG_UUCP"><B>LOG_UUCP</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>UUCP subsystem +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer"><B>LogBrokerMonitor</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>LogBrokerMonitor +.<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#LogBrokerMonitor(java.util.List)"><B>LogBrokerMonitor(List)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Construct a LogBrokerMonitor. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern"><B>LogEvent</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>This class is a copy of o.a.l.spi.LoggingEvent from + log4j 1.2.15 which has been renamed to keep + the same overall class name length to allow a + serialization written with a prior instance of o.a.l.spi.LoggingEvent + to be deserialized with this class just by mangling the class name + in the byte stream.<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Category, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><B>LogEvent(String, Category, Priority, Object, Throwable)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Instantiate a LoggingEvent from the supplied parameters. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><B>LogEvent(String, Category, long, Priority, Object, Throwable)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Instantiate a LoggingEvent from the supplied parameters. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Logger, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)"><B>LogEvent(String, Logger, long, Level, Object, String, ThrowableInformation, String, LocationInfo, Map)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Create new instance. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5Dialog</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>LogFactor5Dialog<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#LogFactor5Dialog(javax.swing.JFrame, java.lang.String, boolean)"><B>LogFactor5Dialog(JFrame, String, boolean)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5ErrorDialog</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>LogFactor5ErrorDialog<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html#LogFactor5ErrorDialog(javax.swing.JFrame, java.lang.String)"><B>LogFactor5ErrorDialog(JFrame, String)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5ErrorDialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5InputDialog</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>LogFactor5InputDialog + + Creates a popup input dialog box so that users can enter + a URL to open a log file from.<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html#LogFactor5InputDialog(javax.swing.JFrame, java.lang.String, java.lang.String)"><B>LogFactor5InputDialog(JFrame, String, String)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5InputDialog</A> +<DD>Configures an input dialog box using a defualt size for the text field. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html#LogFactor5InputDialog(javax.swing.JFrame, java.lang.String, java.lang.String, int)"><B>LogFactor5InputDialog(JFrame, String, String, int)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5InputDialog</A> +<DD>Configures an input dialog box. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5LoadingDialog</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>LogFactor5LoadingDialog<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html#LogFactor5LoadingDialog(javax.swing.JFrame, java.lang.String)"><B>LogFactor5LoadingDialog(JFrame, String)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5LoadingDialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util"><B>LogFileParser</B></A> - Class in <A HREF="./org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A><DD>Provides utility methods for input and output streams.<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#LogFileParser(java.io.File)"><B>LogFileParser(File)</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#LogFileParser(java.io.InputStream)"><B>LogFileParser(InputStream)</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j"><B>Logger</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This is the central class in the log4j package.<DT><A HREF="./org/apache/log4j/Logger.html#Logger(java.lang.String)"><B>Logger(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#LOGGER_FACTORY_KEY"><B>LOGGER_FACTORY_KEY</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Key for specifying the <A HREF="./org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><CODE>LoggerFactory</CODE></A>. +<DT><A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>LoggerDynamicMBean</B></A> - Class in <A HREF="./org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html#LoggerDynamicMBean(org.apache.log4j.Logger)"><B>LoggerDynamicMBean(Logger)</B></A> - +Constructor for class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#loggerFactory"><B>loggerFactory</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><B>LoggerFactory</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>Implement this interface to create new instances of Logger or + a sub-class of Logger.<DT><A HREF="./org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LoggerPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats a logger name.<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><B>LoggerRepository</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>.<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><B>LoggingEvent</B></A> - Class in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>The internal representation of logging events.<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><B>LoggingEvent(String, Category, Priority, Object, Throwable)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Instantiate a LoggingEvent from the supplied parameters. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><B>LoggingEvent(String, Category, long, Priority, Object, Throwable)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Instantiate a LoggingEvent from the supplied parameters. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)"><B>LoggingEvent(String, Category, long, Level, Object, String, ThrowableInformation, String, LocationInfo, Map)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Create new instance. +<DT><A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LoggingEventPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>LoggingEventPatternConverter is a base class for pattern converters + that can format information from instances of LoggingEvent.<DT><A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html#LoggingEventPatternConverter(java.lang.String, java.lang.String)"><B>LoggingEventPatternConverter(String, String)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A> +<DD>Constructs an instance of LoggingEventPatternConverter. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><B>LogLevel</B></A> - Class in <A HREF="./org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A><DD>The LogLevel class defines a set of standard logging levels.<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#LogLevel(java.lang.String, int)"><B>LogLevel(String, int)</B></A> - +Constructor for class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5"><B>LogLevelFormatException</B></A> - Exception in <A HREF="./org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A><DD>Thrown to indicate that the client has attempted to convert a string + to one the LogLevel types, but the string does not have the appropriate + format.<DT><A HREF="./org/apache/log4j/lf5/LogLevelFormatException.html#LogLevelFormatException(java.lang.String)"><B>LogLevelFormatException(String)</B></A> - +Constructor for exception org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5">LogLevelFormatException</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers"><B>LogLog</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>This class used to output log statements from within the log4j package.<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#LogLog()"><B>LogLog()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><B>LogManager</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Use the <code>LogManager</code> class to retreive <A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> + instances or to operate on the current <A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A>.<DT><A HREF="./org/apache/log4j/LogManager.html#LogManager()"><B>LogManager()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>LogMF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This class provides parameterized logging services + using the pattern syntax of java.text.MessageFormat.<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util"><B>LogMonitorAdapter</B></A> - Class in <A HREF="./org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A><DD>LogMonitorAdapter facilitates the usage of the LogMonitor<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])"><B>logrb(Logger, Level, String, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])"><B>logrb(Logger, Level, Throwable, String, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object)"><B>logrb(Logger, Level, String, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, boolean)"><B>logrb(Logger, Level, String, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, char)"><B>logrb(Logger, Level, String, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, byte)"><B>logrb(Logger, Level, String, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, short)"><B>logrb(Logger, Level, String, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, int)"><B>logrb(Logger, Level, String, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, long)"><B>logrb(Logger, Level, String, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, float)"><B>logrb(Logger, Level, String, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, double)"><B>logrb(Logger, Level, String, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object)"><B>logrb(Logger, Level, String, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>logrb(Logger, Level, String, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>logrb(Logger, Level, String, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])"><B>logrb(Logger, Level, String, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])"><B>logrb(Logger, Level, Throwable, String, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object)"><B>logrb(Logger, Level, String, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, boolean)"><B>logrb(Logger, Level, String, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, char)"><B>logrb(Logger, Level, String, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, byte)"><B>logrb(Logger, Level, String, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, short)"><B>logrb(Logger, Level, String, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, int)"><B>logrb(Logger, Level, String, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, long)"><B>logrb(Logger, Level, String, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, float)"><B>logrb(Logger, Level, String, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, double)"><B>logrb(Logger, Level, String, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object)"><B>logrb(Logger, Level, String, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>logrb(Logger, Level, String, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>logrb(Logger, Level, String, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message using a pattern from a resource bundle. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><B>LogRecord</B></A> - Class in <A HREF="./org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A><DD>LogRecord.<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#LogRecord()"><B>LogRecord()</B></A> - +Constructor for class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5"><B>LogRecordFilter</B></A> - Interface in <A HREF="./org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A><DD>An interface for classes which filters LogRecords.<DT><A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>LogSF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This class provides parameterized logging services + using the SLF4J pattern syntax.<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTable</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>LogTable.<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#LogTable(javax.swing.JTextArea)"><B>LogTable(JTextArea)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableColumn</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>LogTableColumn<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#LogTableColumn(java.lang.String)"><B>LogTableColumn(String)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableColumnFormatException</B></A> - Exception in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>Thrown to indicate that the client has attempted to convert a string + to one the LogLevel types, but the string does not have the appropriate + format.<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html#LogTableColumnFormatException(java.lang.String)"><B>LogTableColumnFormatException(String)</B></A> - +Constructor for exception org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumnFormatException</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableModel</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>LogTableModel<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableModel.html#LogTableModel(java.lang.Object[], int)"><B>LogTableModel(Object[], int)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer">LogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableRowRenderer</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>LogTableRowRenderer<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#LogTableRowRenderer()"><B>LogTableRowRenderer()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer">LogTableRowRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>LogXF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This is a base class for LogMF and LogSF parameterized logging classes.<DT><A HREF="./org/apache/log4j/LogXF.html#LogXF()"><B>LogXF()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#lookup(javax.naming.Context, java.lang.String)"><B>lookup(Context, String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSSink.html#lookup(javax.naming.Context, java.lang.String)"><B>lookup(Context, String)</B></A> - +Static method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net">JMSSink</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_M_"><!-- --></A><H2> +<B>M</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw"><B>Main</B></A> - Class in <A HREF="./org/apache/log4j/chainsaw/package-summary.html">org.apache.log4j.chainsaw</A><DD>The main application.<DT><A HREF="./org/apache/log4j/chainsaw/Main.html#main(java.lang.String[])"><B>main(String[])</B></A> - +Static method in class org.apache.log4j.chainsaw.<A HREF="./org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw">Main</A> +<DD>The main method. +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#main(java.lang.String[])"><B>main(String[])</B></A> - +Static method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#main(java.lang.String[])"><B>main(String[])</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/StartLogFactor5.html#main(java.lang.String[])"><B>main(String[])</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5">StartLogFactor5</A> +<DD>Main - starts a an instance of the LogFactor5 console and configures + the console settings. +<DT><A HREF="./org/apache/log4j/net/JMSSink.html#main(java.lang.String[])"><B>main(String[])</B></A> - +Static method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net">JMSSink</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SimpleSocketServer.html#main(java.lang.String[])"><B>main(String[])</B></A> - +Static method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net">SimpleSocketServer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketServer.html#main(java.lang.String[])"><B>main(String[])</B></A> - +Static method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net">SocketServer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/Roller.html#main(java.lang.String[])"><B>main(String[])</B></A> - +Static method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia">Roller</A> +<DD>Send a "RollOver" message to + <code>ExternallyRolledFileAppender</code> on <code>host</code> + and <code>port</code>. +<DT><A HREF="./org/apache/log4j/xml/examples/XMLSample.html#main(java.lang.String[])"><B>main(String[])</B></A> - +Static method in class org.apache.log4j.xml.examples.<A HREF="./org/apache/log4j/xml/examples/XMLSample.html" title="class in org.apache.log4j.xml.examples">XMLSample</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#makeLogTableListenToCategoryExplorer()"><B>makeLogTableListenToCategoryExplorer()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggerFactory.html#makeNewLoggerInstance(java.lang.String)"><B>makeNewLoggerInstance(String)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html#makeScrollBarTrack(java.awt.Adjustable)"><B>makeScrollBarTrack(Adjustable)</B></A> - +Static method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer">LF5SwingUtils</A> +<DD>Makes the specified Adjustable track if the view area expands and + the specified Adjustable is located near the of the view. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html#makeVerticalScrollBarTrack(javax.swing.JScrollPane)"><B>makeVerticalScrollBarTrack(JScrollPane)</B></A> - +Static method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer">LF5SwingUtils</A> +<DD>Makes the vertical scroll bar of the specified JScrollPane + track if the view expands (e.g. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#matches(org.apache.log4j.lf5.LogRecord, java.lang.String)"><B>matches(LogRecord, String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Check to see if the any records contain the search string. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#MAX_CAPACITY"><B>MAX_CAPACITY</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD><B>Deprecated.</B>&nbsp;<I>since 1.3</I> +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#MAX_CAPACITY"><B>MAX_CAPACITY</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/PatternLayout.html#MAX_CAPACITY"><B>MAX_CAPACITY</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#maxBackupIndex"><B>maxBackupIndex</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>There is one backup file by default. +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#maxFileSize"><B>maxFileSize</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>The default maximum file size is 10MB. +<DT><A HREF="./org/apache/log4j/MDC.html" title="class in org.apache.log4j"><B>MDC</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>The MDC class is similar to the <A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j"><CODE>NDC</CODE></A> class except that it is + based on a map instead of a stack.<DT><A HREF="./org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><B>MDCKeySetExtractor</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#MESSAGE"><B>MESSAGE</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#MESSAGE_DELIMITER"><B>MESSAGE_DELIMITER</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#MESSAGE_NUM"><B>MESSAGE_NUM</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern"><B>MessagePatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Return the event's rendered message in a StringBuffer.<DT><A HREF="./org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms"><B>MessageRenderer</B></A> - Class in <A HREF="./org/apache/log4j/or/jms/package-summary.html">org.apache.log4j.or.jms</A><DD>Render <code>javax.jms.Message</code> objects.<DT><A HREF="./org/apache/log4j/or/jms/MessageRenderer.html#MessageRenderer()"><B>MessageRenderer()</B></A> - +Constructor for class org.apache.log4j.or.jms.<A HREF="./org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms">MessageRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>MethodLocationPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Return the event's line location information in a StringBuffer.<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#minimumSizeDialog(java.awt.Component, int, int)"><B>minimumSizeDialog(Component, int, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/ErrorCode.html#MISSING_LAYOUT"><B>MISSING_LAYOUT</B></A> - +Static variable in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi">ErrorCode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html#moveAdjustable(int, java.awt.Adjustable)"><B>moveAdjustable(int, Adjustable)</B></A> - +Static method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer">LF5SwingUtils</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#moveToTop(int)"><B>moveToTop(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Moves the the index to the top of the MRU List +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><B>MRUFileManager</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</A><DD>MRUFileManager handles the storage and retrival the most + recently opened log files.<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#MRUFileManager()"><B>MRUFileManager()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#MRUFileManager(int)"><B>MRUFileManager(int)</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#msg"><B>msg</B></A> - +Variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_N_"><!-- --></A><H2> +<B>N</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/spi/LocationInfo.html#NA"><B>NA</B></A> - +Static variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> +<DD>When location information is not available the constant + <code>NA</code> is returned. +<DT><A HREF="./org/apache/log4j/spi/LocationInfo.html#NA_LOCATION_INFO"><B>NA_LOCATION_INFO</B></A> - +Static variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> +<DD>NA_LOCATION_INFO is provided for compatibility with log4j 1.3. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#name"><B>name</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Appenders are named. +<DT><A HREF="./org/apache/log4j/Category.html#name"><B>name</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>The name of this category. +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><B>NameAbbreviator</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>NameAbbreviator generates abbreviated logger and class names.<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviator.html#NameAbbreviator()"><B>NameAbbreviator()</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NamePatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Base class for other pattern converters which can return only parts of their name.<DT><A HREF="./org/apache/log4j/pattern/NamePatternConverter.html#NamePatternConverter(java.lang.String, java.lang.String, java.lang.String[])"><B>NamePatternConverter(String, String, String[])</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A> +<DD>Constructor. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#NDC"><B>NDC</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j"><B>NDC</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>The NDC class implements <i>nested diagnostic contexts</i> as + defined by Neil Harrison in the article "Patterns for Logging + Diagnostic Messages" part of the book "<i>Pattern Languages of + Program Design 3</i>" edited by Martin et al.<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#NDC_DELIMITER"><B>NDC_DELIMITER</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NDCPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Return the event's NDC in a StringBuffer.<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#needsTrimming()"><B>needsTrimming()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Filter.html#NEUTRAL"><B>NEUTRAL</B></A> - +Static variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> +<DD>This filter is neutral with respect to the log event. +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#newInstance(int)"><B>newInstance(int)</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Creates an instance of LogMonitorAdapter using the + log levels inticated by the parameter. +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#newInstance(org.apache.log4j.lf5.LogLevel[])"><B>newInstance(LogLevel[])</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Creates an instance of LogMonitorAdapter using the specified LogLevels. +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#newInstance(java.util.List)"><B>newInstance(List)</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Creates an instance of LogMonitorAdapter using the specified LogLevels. +<DT><A HREF="./org/apache/log4j/pattern/ClassNamePatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A> +<DD>Gets an instance of ClassNamePatternConverter. +<DT><A HREF="./org/apache/log4j/pattern/DatePatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A> +<DD>Obtains an instance of pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/FileDatePatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern">FileDatePatternConverter</A> +<DD>Obtains an instance of pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/FileLocationPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A> +<DD>Obtains an instance of pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/FullLocationPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A> +<DD>Obtains an instance of pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/IntegerPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A> +<DD>Obtains an instance of pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/LevelPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A> +<DD>Obtains an instance of pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/LineLocationPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A> +<DD>Obtains an instance of pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/LineSeparatorPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A> +<DD>Obtains an instance of pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/LoggerPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A> +<DD>Obtains an instance of pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/MessagePatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A> +<DD>Obtains an instance of pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/MethodLocationPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A> +<DD>Obtains an instance of MethodLocationPatternConverter. +<DT><A HREF="./org/apache/log4j/pattern/NDCPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A> +<DD>Obtains an instance of NDCPatternConverter. +<DT><A HREF="./org/apache/log4j/pattern/PropertiesPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A> +<DD>Obtains an instance of PropertiesPatternConverter. +<DT><A HREF="./org/apache/log4j/pattern/RelativeTimePatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A> +<DD>Obtains an instance of RelativeTimePatternConverter. +<DT><A HREF="./org/apache/log4j/pattern/SequenceNumberPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A> +<DD>Obtains an instance of SequencePatternConverter. +<DT><A HREF="./org/apache/log4j/pattern/ThreadPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A> +<DD>Obtains an instance of ThreadPatternConverter. +<DT><A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A> +<DD>Gets an instance of the class. +<DT><A HREF="./org/apache/log4j/helpers/PatternConverter.html#next"><B>next</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Filter.html#next"><B>next</B></A> - +Variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> +<DD><B>Deprecated.</B>&nbsp;<I>As of 1.2.12, use <A HREF="./org/apache/log4j/spi/Filter.html#getNext()"><CODE>Filter.getNext()</CODE></A> and <A HREF="./org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)"><CODE>Filter.setNext(org.apache.log4j.spi.Filter)</CODE></A> instead</I> +<DT><A HREF="./org/apache/log4j/helpers/NullEnumeration.html#nextElement()"><B>nextElement()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#NO_MILLISECONDS"><B>NO_MILLISECONDS</B></A> - +Static variable in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<DD>Constant used to represent that there was no change + observed when changing the millisecond count. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi"><B>NOPLogger</B></A> - Class in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>No-operation implementation of Logger used by NOPLoggerRepository.<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#NOPLogger(org.apache.log4j.spi.NOPLoggerRepository, java.lang.String)"><B>NOPLogger(NOPLoggerRepository, String)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Create instance of Logger. +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi"><B>NOPLoggerRepository</B></A> - Class in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>No-operation implementation of LoggerRepository which is used when + LogManager.repositorySelector is erroneously nulled during class reloading.<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#NOPLoggerRepository()"><B>NOPLoggerRepository()</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#notifyActionListeners()"><B>notifyActionListeners()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt"><B>NTEventLogAppender</B></A> - Class in <A HREF="./org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A><DD>Append to the NT event log system.<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender()"><B>NTEventLogAppender()</B></A> - +Constructor for class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(java.lang.String)"><B>NTEventLogAppender(String)</B></A> - +Constructor for class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(java.lang.String, java.lang.String)"><B>NTEventLogAppender(String, String)</B></A> - +Constructor for class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(org.apache.log4j.Layout)"><B>NTEventLogAppender(Layout)</B></A> - +Constructor for class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(java.lang.String, org.apache.log4j.Layout)"><B>NTEventLogAppender(String, Layout)</B></A> - +Constructor for class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(java.lang.String, java.lang.String, org.apache.log4j.Layout)"><B>NTEventLogAppender(String, String, Layout)</B></A> - +Constructor for class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Configurator.html#NULL"><B>NULL</B></A> - +Static variable in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A> +<DD>Special level signifying inherited behaviour, same as <A HREF="./org/apache/log4j/spi/Configurator.html#INHERITED"><CODE>Configurator.INHERITED</CODE></A>. +<DT><A HREF="./org/apache/log4j/config/PropertyGetter.html#NULL_ARG"><B>NULL_ARG</B></A> - +Static variable in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config">PropertyGetter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#NULL_DATE_FORMAT"><B>NULL_DATE_FORMAT</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>String constant designating no time information. +<DT><A HREF="./org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia"><B>NullAppender</B></A> - Class in <A HREF="./org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A><DD>A NullAppender merely exists, it never outputs a message to any + device.<DT><A HREF="./org/apache/log4j/varia/NullAppender.html#NullAppender()"><B>NullAppender()</B></A> - +Constructor for class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><B>NullEnumeration</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>An always-empty Enumerator.<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#numAppenders"><B>numAppenders</B></A> - +Variable in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_O_"><!-- --></A><H2> +<B>O</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/config/PropertyGetter.html#obj"><B>obj</B></A> - +Variable in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config">PropertyGetter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#obj"><B>obj</B></A> - +Variable in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><B>ObjectRenderer</B></A> - Interface in <A HREF="./org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A><DD>Implement this interface in order to render objects as strings.<DT><A HREF="./org/apache/log4j/Level.html#OFF"><B>OFF</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>The <code>OFF</code> has the highest possible rank and is + intended to turn off logging. +<DT><A HREF="./org/apache/log4j/Priority.html#OFF_INT"><B>OFF_INT</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html#OK"><B>OK</B></A> - +Static variable in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A> +<DD>The string constant sent to acknowledge a roll over. +<DT><A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers"><B>OnlyOnceErrorHandler</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>The <code>OnlyOnceErrorHandler</code> implements log4j's default + error handling policy which consists of emitting a message for the + first error in an appender and ignoring all following errors.<DT><A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html#OnlyOnceErrorHandler()"><B>OnlyOnceErrorHandler()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSSink.html#onMessage(javax.jms.Message)"><B>onMessage(Message)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net">JMSSink</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers"><B>OptionConverter</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>A convenience class to convert property values to specific types.<DT><A HREF="./org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi"><B>OptionHandler</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>A string based interface to configure package components.<DT><A HREF="./org/apache/log4j/package-summary.html"><B>org.apache.log4j</B></A> - package org.apache.log4j<DD>The main log4j package.<DT><A HREF="./org/apache/log4j/chainsaw/package-summary.html"><B>org.apache.log4j.chainsaw</B></A> - package org.apache.log4j.chainsaw<DD>Chainsaw is a GUI log viewer and filter for the log4j +package.<DT><A HREF="./org/apache/log4j/config/package-summary.html"><B>org.apache.log4j.config</B></A> - package org.apache.log4j.config<DD>Package used in getting/setting component properties.<DT><A HREF="./org/apache/log4j/helpers/package-summary.html"><B>org.apache.log4j.helpers</B></A> - package org.apache.log4j.helpers<DD>This package is used internally.<DT><A HREF="./org/apache/log4j/jdbc/package-summary.html"><B>org.apache.log4j.jdbc</B></A> - package org.apache.log4j.jdbc<DD>The JDBCAppender provides for sending log events to a database.<DT><A HREF="./org/apache/log4j/jmx/package-summary.html"><B>org.apache.log4j.jmx</B></A> - package org.apache.log4j.jmx<DD>This package lets you manage log4j settings using JMX.<DT><A HREF="./org/apache/log4j/lf5/package-summary.html"><B>org.apache.log4j.lf5</B></A> - package org.apache.log4j.lf5<DD>&nbsp;<DT><A HREF="./org/apache/log4j/lf5/util/package-summary.html"><B>org.apache.log4j.lf5.util</B></A> - package org.apache.log4j.lf5.util<DD>&nbsp;<DT><A HREF="./org/apache/log4j/lf5/viewer/package-summary.html"><B>org.apache.log4j.lf5.viewer</B></A> - package org.apache.log4j.lf5.viewer<DD>&nbsp;<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A> - package org.apache.log4j.lf5.viewer.categoryexplorer<DD>&nbsp;<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/package-summary.html"><B>org.apache.log4j.lf5.viewer.configure</B></A> - package org.apache.log4j.lf5.viewer.configure<DD>&nbsp;<DT><A HREF="./org/apache/log4j/net/package-summary.html"><B>org.apache.log4j.net</B></A> - package org.apache.log4j.net<DD>Package for remote logging.<DT><A HREF="./org/apache/log4j/nt/package-summary.html"><B>org.apache.log4j.nt</B></A> - package org.apache.log4j.nt<DD>Package for NT event logging.<DT><A HREF="./org/apache/log4j/or/package-summary.html"><B>org.apache.log4j.or</B></A> - package org.apache.log4j.or<DD>ObjectRenders are resposible for rendering messages depending on +their class type.<DT><A HREF="./org/apache/log4j/or/jms/package-summary.html"><B>org.apache.log4j.or.jms</B></A> - package org.apache.log4j.or.jms<DD>This package contains the MessageRenderer which renders objects of + type <code>javax.jms.Message</code>.<DT><A HREF="./org/apache/log4j/or/sax/package-summary.html"><B>org.apache.log4j.or.sax</B></A> - package org.apache.log4j.or.sax<DD>This package contains the AttributesRenderer which renders object of + class <code>org.xml.sax.Attributes</code>.<DT><A HREF="./org/apache/log4j/pattern/package-summary.html"><B>org.apache.log4j.pattern</B></A> - package org.apache.log4j.pattern<DD>Provides classes implementing format specifiers in conversion patterns.<DT><A HREF="./org/apache/log4j/spi/package-summary.html"><B>org.apache.log4j.spi</B></A> - package org.apache.log4j.spi<DD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.<DT><A HREF="./org/apache/log4j/varia/package-summary.html"><B>org.apache.log4j.varia</B></A> - package org.apache.log4j.varia<DD>Contains various appenders, filters and other odds and ends.<DT><A HREF="./org/apache/log4j/xml/package-summary.html"><B>org.apache.log4j.xml</B></A> - package org.apache.log4j.xml<DD>XML based components.<DT><A HREF="./org/apache/log4j/xml/examples/package-summary.html"><B>org.apache.log4j.xml.examples</B></A> - package org.apache.log4j.xml.examples<DD>&nbsp;<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#out"><B>out</B></A> - +Variable in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Hierarchy.html#overrideAsNeeded(java.lang.String)"><B>overrideAsNeeded(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD><B>Deprecated.</B>&nbsp;<I>Deprecated with no replacement.</I> +</DL> +<HR> +<A NAME="_P_"><!-- --></A><H2> +<B>P</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/Category.html#parent"><B>parent</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>The parent of this category. +<DT><A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#parse(java.lang.String, java.text.ParsePosition)"><B>parse(String, ParsePosition)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> +<DD>This method does not do anything but return <code>null</code>. +<DT><A HREF="./org/apache/log4j/helpers/DateTimeDateFormat.html#parse(java.lang.String, java.text.ParsePosition)"><B>parse(String, ParsePosition)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers">DateTimeDateFormat</A> +<DD>This method does not do anything but return <code>null</code>. +<DT><A HREF="./org/apache/log4j/helpers/ISO8601DateFormat.html#parse(java.lang.String, java.text.ParsePosition)"><B>parse(String, ParsePosition)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers">ISO8601DateFormat</A> +<DD>This method does not do anything but return <code>null</code>. +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#parse()"><B>parse()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/RelativeTimeDateFormat.html#parse(java.lang.String, java.text.ParsePosition)"><B>parse(String, ParsePosition)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers">RelativeTimeDateFormat</A> +<DD>This method does not do anything but return <code>null</code>. +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#parse(java.lang.String)"><B>parse(String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#parse(java.lang.String, java.lang.String)"><B>parse(String, String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#parse(org.apache.log4j.lf5.viewer.LogBrokerMonitor)"><B>parse(LogBrokerMonitor)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>Starts a new thread to parse the log file and create a LogRecord. +<DT><A HREF="./org/apache/log4j/pattern/BridgePatternParser.html#parse()"><B>parse()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern">BridgePatternParser</A> +<DD>Create new pattern converter. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#parse(java.lang.String, java.text.ParsePosition)"><B>parse(String, ParsePosition)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<DD>This method is delegated to the formatter which most + likely returns null. +<DT><A HREF="./org/apache/log4j/pattern/PatternParser.html#parse(java.lang.String, java.util.List, java.util.List, java.util.Map, java.util.Map)"><B>parse(String, List, List, Map, Map)</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern">PatternParser</A> +<DD>Parse a format specifier. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parse(org.w3c.dom.Element)"><B>parse(Element)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to configure the log4j framework by parsing a DOM + tree of XML elements based on <a + href="./org/apache/log4j/xml/doc-files/log4j.dtd">log4j.dtd</a>. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseAppender(org.w3c.dom.Element)"><B>parseAppender(Element)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse an appender element. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseCategory(org.w3c.dom.Element)"><B>parseCategory(Element)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse an category element. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseCategoryFactory(org.w3c.dom.Element)"><B>parseCategoryFactory(Element)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse the category factory element. +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#parseCatsAndRenderers(java.util.Properties, org.apache.log4j.spi.LoggerRepository)"><B>parseCatsAndRenderers(Properties, LoggerRepository)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Parse non-root elements, such non-root categories and renderers. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseChildrenOfLoggerElement(org.w3c.dom.Element, org.apache.log4j.Logger, boolean)"><B>parseChildrenOfLoggerElement(Element, Logger, boolean)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse the children of a category element. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseElement(org.w3c.dom.Element, java.util.Properties, java.lang.Class)"><B>parseElement(Element, Properties, Class)</B></A> - +Static method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Creates an object and processes any nested param elements + but does not call activateOptions. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseErrorHandler(org.w3c.dom.Element, org.apache.log4j.Appender)"><B>parseErrorHandler(Element, Appender)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse an <A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> element. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseFilters(org.w3c.dom.Element, org.apache.log4j.Appender)"><B>parseFilters(Element, Appender)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse a filter element. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseLayout(org.w3c.dom.Element)"><B>parseLayout(Element)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse a layout element. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseLevel(org.w3c.dom.Element, org.apache.log4j.Logger, boolean)"><B>parseLevel(Element, Logger, boolean)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse a level element. +<DT><A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html#parseLine(java.lang.String, java.lang.String)"><B>parseLine(String, String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseRenderer(org.w3c.dom.Element)"><B>parseRenderer(Element)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseRoot(org.w3c.dom.Element)"><B>parseRoot(Element)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Used internally to parse the roor category element. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#parseThrowableRenderer(org.w3c.dom.Element)"><B>parseThrowableRenderer(Element)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Parses throwable renderer. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)"><B>parseUnrecognizedElement(Element, Properties)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Called to inform a configured object when + an unrecognized child element is encountered. +<DT><A HREF="./org/apache/log4j/xml/UnrecognizedElementHandler.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)"><B>parseUnrecognizedElement(Element, Properties)</B></A> - +Method in interface org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A> +<DD>Called to inform a configured object when + an unrecognized child element is encountered. +<DT><A HREF="./org/apache/log4j/lf5/LogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)"><B>passes(LogRecord)</B></A> - +Method in interface org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/PassingLogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)"><B>passes(LogRecord)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5">PassingLogRecordFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)"><B>passes(LogRecord)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerLogRecordFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5"><B>PassingLogRecordFilter</B></A> - Class in <A HREF="./org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A><DD>An implementation of LogRecordFilter which always returns true.<DT><A HREF="./org/apache/log4j/lf5/PassingLogRecordFilter.html#PassingLogRecordFilter()"><B>PassingLogRecordFilter()</B></A> - +Constructor for class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5">PassingLogRecordFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#pattern"><B>pattern</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#PATTERN_RULE_REGISTRY"><B>PATTERN_RULE_REGISTRY</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>Customized pattern conversion rules are stored under this key in the + <A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> object store. +<DT><A HREF="./org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers"><B>PatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>PatternConverter is an abtract class that provides the + formatting functionality that derived classes need.<DT><A HREF="./org/apache/log4j/helpers/PatternConverter.html#PatternConverter()"><B>PatternConverter()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/PatternConverter.html#PatternConverter(org.apache.log4j.helpers.FormattingInfo)"><B>PatternConverter(FormattingInfo)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><B>PatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>PatternConverter is an abstract class that provides the + formatting functionality that derived classes need.<DT><A HREF="./org/apache/log4j/pattern/PatternConverter.html#PatternConverter(java.lang.String, java.lang.String)"><B>PatternConverter(String, String)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A> +<DD>Create a new pattern converter. +<DT><A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><B>PatternLayout</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>A flexible layout configurable with pattern string.<DT><A HREF="./org/apache/log4j/PatternLayout.html#PatternLayout()"><B>PatternLayout()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>Constructs a PatternLayout using the DEFAULT_LAYOUT_PATTERN. +<DT><A HREF="./org/apache/log4j/PatternLayout.html#PatternLayout(java.lang.String)"><B>PatternLayout(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>Constructs a PatternLayout using the supplied conversion pattern. +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#patternLength"><B>patternLength</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers"><B>PatternParser</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>Most of the work of the <A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> class + is delegated to the PatternParser class.<DT><A HREF="./org/apache/log4j/helpers/PatternParser.html#PatternParser(java.lang.String)"><B>PatternParser(String)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>PatternParser</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Most of the work of the <A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><CODE>EnhancedPatternLayout</CODE></A> class + is delegated to the PatternParser class.<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#pause(int)"><B>pause(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/NDC.html#peek()"><B>peek()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<DD>Looks at the last diagnostic context at the top of this NDC + without removing it. +<DT><A HREF="./org/apache/log4j/NDC.html#pop()"><B>pop()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<DD>Clients should call this method before leaving a diagnostic + context. +<DT><A HREF="./org/apache/log4j/chainsaw/Main.html#PORT_PROP_NAME"><B>PORT_PROP_NAME</B></A> - +Static variable in class org.apache.log4j.chainsaw.<A HREF="./org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw">Main</A> +<DD>name of property for port name +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#pos"><B>pos</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html#postDeregister()"><B>postDeregister()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html#postRegister(java.lang.Boolean)"><B>postRegister(Boolean)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#postRegister(java.lang.Boolean)"><B>postRegister(Boolean)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html#postRegister(java.lang.Boolean)"><B>postRegister(Boolean)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html#preDeregister()"><B>preDeregister()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<DD>Performs cleanup for deregistering this MBean. +<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html#preRegister(javax.management.MBeanServer, javax.management.ObjectName)"><B>preRegister(MBeanServer, ObjectName)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html#preRegister(javax.management.MBeanServer, javax.management.ObjectName)"><B>preRegister(MBeanServer, ObjectName)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#print(java.io.PrintWriter)"><B>print(PrintWriter)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>Prints the configuration of the default log4j hierarchy as a Java + properties file on the specified Writer. +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#printOptions(java.io.PrintWriter, org.apache.log4j.Category)"><B>printOptions(PrintWriter, Category)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#printOptions(java.io.PrintWriter, org.apache.log4j.Logger)"><B>printOptions(PrintWriter, Logger)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#printOptions(java.io.PrintWriter, java.lang.Object, java.lang.String)"><B>printOptions(PrintWriter, Object, String)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j"><B>Priority</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD><font color="#AA4444">Refrain from using this class directly, use + the <A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> class instead</font>.<DT><A HREF="./org/apache/log4j/Priority.html#Priority()"><B>Priority()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>Default constructor for deserialization. +<DT><A HREF="./org/apache/log4j/Priority.html#Priority(int, java.lang.String, int)"><B>Priority(int, String, int)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>Instantiate a level object. +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#PRIORITY_DELIMITER"><B>PRIORITY_DELIMITER</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#processCategories(org.w3c.dom.Document)"><B>processCategories(Document)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#processLogLevelColors(org.w3c.dom.Document)"><B>processLogLevelColors(Document)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#processLogLevels(org.w3c.dom.Document)"><B>processLogLevels(Document)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#processLogTableColumns(org.w3c.dom.Document)"><B>processLogTableColumns(Document)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#processRecordFilter(org.w3c.dom.Document)"><B>processRecordFilter(Document)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PropertiesPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Able to handle the contents of the LoggingEvent's Property bundle and either + output the entire contents of the properties in a similar format to the + java.util.Hashtable.toString(), or to output the value of a specific key + within the property bundle + when this pattern converter has the option set.<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><B>PropertyConfigurator</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Allows the configuration of log4j from an external file.<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#PropertyConfigurator()"><B>PropertyConfigurator()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config"><B>PropertyGetter</B></A> - Class in <A HREF="./org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A><DD>Used for inferring configuration information for a log4j's component.<DT><A HREF="./org/apache/log4j/config/PropertyGetter.html#PropertyGetter(java.lang.Object)"><B>PropertyGetter(Object)</B></A> - +Constructor for class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config">PropertyGetter</A> +<DD>Create a new PropertyGetter for the specified Object. +<DT><A HREF="./org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config"><B>PropertyGetter.PropertyCallback</B></A> - Interface in <A HREF="./org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config"><B>PropertyPrinter</B></A> - Class in <A HREF="./org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A><DD>Prints the configuration of the log4j default hierarchy + (which needs to be auto-initialized) as a propoperties file + on a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io"><CODE>PrintWriter</CODE></A>.<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#PropertyPrinter(java.io.PrintWriter)"><B>PropertyPrinter(PrintWriter)</B></A> - +Constructor for class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertyPrinter.html#PropertyPrinter(java.io.PrintWriter, boolean)"><B>PropertyPrinter(PrintWriter, boolean)</B></A> - +Constructor for class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><B>PropertySetter</B></A> - Class in <A HREF="./org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A><DD>General purpose Object property setter.<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#PropertySetter(java.lang.Object)"><B>PropertySetter(Object)</B></A> - +Constructor for class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>Create a new PropertySetter for the specified Object. +<DT><A HREF="./org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config"><B>PropertySetterException</B></A> - Exception in <A HREF="./org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A><DD>Thrown when an error is encountered whilst attempting to set a property + using the <A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><CODE>PropertySetter</CODE></A> utility class.<DT><A HREF="./org/apache/log4j/config/PropertySetterException.html#PropertySetterException(java.lang.String)"><B>PropertySetterException(String)</B></A> - +Constructor for exception org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertySetterException.html#PropertySetterException(java.lang.Throwable)"><B>PropertySetterException(Throwable)</B></A> - +Constructor for exception org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertyGetter.html#props"><B>props</B></A> - +Variable in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config">PropertyGetter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#props"><B>props</B></A> - +Variable in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/NDC.html#push(java.lang.String)"><B>push(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<DD>Push new diagnostic context information for the current thread. +<DT><A HREF="./org/apache/log4j/helpers/BoundedFIFO.html#put(org.apache.log4j.spi.LoggingEvent)"><B>put(LoggingEvent)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A> +<DD>Place a <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> in the buffer. +<DT><A HREF="./org/apache/log4j/MDC.html#put(java.lang.String, java.lang.Object)"><B>put(String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/MDC.html" title="class in org.apache.log4j">MDC</A> +<DD>Put a context value (the <code>o</code> parameter) as identified + with the <code>key</code> parameter into the current thread's + context map. +<DT><A HREF="./org/apache/log4j/or/RendererMap.html#put(java.lang.Class, org.apache.log4j.or.ObjectRenderer)"><B>put(Class, ObjectRenderer)</B></A> - +Method in class org.apache.log4j.or.<A HREF="./org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> +<DD>Register an <A HREF="./org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A> for <code>clazz</code>. +</DL> +<HR> +<A NAME="_Q_"><!-- --></A><H2> +<B>Q</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><B>QuietWriter</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>QuietWriter does not throw exceptions when things go + wrong.<DT><A HREF="./org/apache/log4j/helpers/QuietWriter.html#QuietWriter(java.io.Writer, org.apache.log4j.spi.ErrorHandler)"><B>QuietWriter(Writer, ErrorHandler)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/WriterAppender.html#qw"><B>qw</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>This is the <A HREF="./org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><CODE>quietWriter</CODE></A> where we will write + to. +</DL> +<HR> +<A NAME="_R_"><!-- --></A><H2> +<B>R</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#RECORD_DELIMITER"><B>RECORD_DELIMITER</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#refresh(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>refresh(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>Fires a nodechanged event on the SwingThread. +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#refresh()"><B>refresh()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>Forces the LogTableModel to requery its filters to determine + which records to display. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#refresh(javax.swing.JTextArea)"><B>refresh(JTextArea)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>When the fontsize of a JTextArea is changed, the word-wrapped lines + may become garbled. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#refreshDetailTextArea()"><B>refreshDetailTextArea()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#register(org.apache.log4j.lf5.LogLevel)"><B>register(LogLevel)</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>Registers a used defined LogLevel. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#register(org.apache.log4j.lf5.LogLevel[])"><B>register(LogLevel[])</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#register(java.util.List)"><B>register(List)</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html#registerMBean(java.lang.Object, javax.management.ObjectName)"><B>registerMBean(Object, ObjectName)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<DD>Registers MBean instance in the attached server. +<DT><A HREF="./org/apache/log4j/PropertyConfigurator.html#registry"><B>registry</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A> +<DD>Used internally to keep track of configured appenders. +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#RELATIVE_TIME_DATE_FORMAT"><B>RELATIVE_TIME_DATE_FORMAT</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>String constant designating relative time. +<DT><A HREF="./org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>RelativeTimeDateFormat</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> by printing the number of milliseconds + elapsed since construction of the format.<DT><A HREF="./org/apache/log4j/helpers/RelativeTimeDateFormat.html#RelativeTimeDateFormat()"><B>RelativeTimeDateFormat()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers">RelativeTimeDateFormat</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern"><B>RelativeTimePatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Return the relative time in milliseconds since loading of the LoggingEvent + class.<DT><A HREF="./org/apache/log4j/pattern/RelativeTimePatternConverter.html#RelativeTimePatternConverter()"><B>RelativeTimePatternConverter()</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A> +<DD>Private constructor. +<DT><A HREF="./org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia"><B>ReloadingPropertyConfigurator</B></A> - Class in <A HREF="./org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/varia/ReloadingPropertyConfigurator.html#ReloadingPropertyConfigurator()"><B>ReloadingPropertyConfigurator()</B></A> - +Constructor for class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia">ReloadingPropertyConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/MDC.html#remove(java.lang.String)"><B>remove(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/MDC.html" title="class in org.apache.log4j">MDC</A> +<DD>Remove the the context identified by the <code>key</code> + parameter. +<DT><A HREF="./org/apache/log4j/NDC.html#remove()"><B>remove()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<DD>Remove the diagnostic context for this thread. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#removeActionListener(java.awt.event.ActionListener)"><B>removeActionListener(ActionListener)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#removeAllAppenders()"><B>removeAllAppenders()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Removes and closes all attached appenders. +<DT><A HREF="./org/apache/log4j/Category.html#removeAllAppenders()"><B>removeAllAppenders()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Remove all previously added appenders from this Category + instance. +<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html#removeAllAppenders()"><B>removeAllAppenders()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<DD>Remove and close all previously attached appenders. +<DT><A HREF="./org/apache/log4j/spi/AppenderAttachable.html#removeAllAppenders()"><B>removeAllAppenders()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A> +<DD>Remove all previously added appenders. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#removeAllAppenders()"><B>removeAllAppenders()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Remove all previously added appenders from this Category + instance. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#removeAllCategoryElements()"><B>removeAllCategoryElements()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> +<DD>Removes all categoryElements. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#removeAppender(org.apache.log4j.Appender)"><B>removeAppender(Appender)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Removes an appender. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#removeAppender(java.lang.String)"><B>removeAppender(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Remove appender by name. +<DT><A HREF="./org/apache/log4j/Category.html#removeAppender(org.apache.log4j.Appender)"><B>removeAppender(Appender)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Remove the appender passed as parameter form the list of appenders. +<DT><A HREF="./org/apache/log4j/Category.html#removeAppender(java.lang.String)"><B>removeAppender(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Remove the appender with the name passed as parameter form the + list of appenders. +<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html#removeAppender(org.apache.log4j.Appender)"><B>removeAppender(Appender)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<DD>Remove the appender passed as parameter form the list of attached + appenders. +<DT><A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html#removeAppender(java.lang.String)"><B>removeAppender(String)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A> +<DD>Remove the appender with the name passed as parameter form the + list of appenders. +<DT><A HREF="./org/apache/log4j/spi/AppenderAttachable.html#removeAppender(org.apache.log4j.Appender)"><B>removeAppender(Appender)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A> +<DD>Remove the appender passed as parameter from the list of appenders. +<DT><A HREF="./org/apache/log4j/spi/AppenderAttachable.html#removeAppender(java.lang.String)"><B>removeAppender(String)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A> +<DD>Remove the appender with the name passed as parameter from the + list of appenders. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#removeAppender(org.apache.log4j.Appender)"><B>removeAppender(Appender)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Remove the appender passed as parameter form the list of appenders. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#removeAppender(java.lang.String)"><B>removeAppender(String)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Remove the appender with the name passed as parameter form the + list of appenders. +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><B>removeAppenderEvent(Category, Appender)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/HierarchyEventListener.html#removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><B>removeAppenderEvent(Category, Appender)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#removeCellEditorListener(javax.swing.event.CellEditorListener)"><B>removeCellEditorListener(CellEditorListener)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#removeNotificationListener(javax.management.NotificationListener)"><B>removeNotificationListener(NotificationListener)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#removeProperty(java.lang.String)"><B>removeProperty(String)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>This removes the specified MDC property from the event. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#removes"><B>removes</B></A> - +Variable in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Helper object for clearing out the buffer +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#removeUnusedNodes()"><B>removeUnusedNodes()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>Removes any inactive nodes from the Category tree. +<DT><A HREF="./org/apache/log4j/DefaultThrowableRenderer.html#render(java.lang.Throwable)"><B>render(Throwable)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j">DefaultThrowableRenderer</A> +<DD>Render throwable using Throwable.printStackTrace. +<DT><A HREF="./org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or"><B>RendererMap</B></A> - Class in <A HREF="./org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A><DD>Map class objects to an <A HREF="./org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>.<DT><A HREF="./org/apache/log4j/or/RendererMap.html#RendererMap()"><B>RendererMap()</B></A> - +Constructor for class org.apache.log4j.or.<A HREF="./org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi"><B>RendererSupport</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html#repaintLater(javax.swing.JComponent)"><B>repaintLater(JComponent)</B></A> - +Static method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer">LF5SwingUtils</A> +<DD>Work around for JTable/viewport bug. +<DT><A HREF="./org/apache/log4j/Category.html#repository"><B>repository</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><B>RepositorySelector</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>The <code>LogManager</code> uses one (and only one) + <code>RepositorySelector</code> implementation to select the + <A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> for a particular application context.<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#requestClose()"><B>requestClose()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#requestExit()"><B>requestExit()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#requestOpen()"><B>requestOpen()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Uses a JFileChooser to select a file to opened with the + LF5 GUI. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#requestOpenMRU(java.awt.event.ActionEvent)"><B>requestOpenMRU(ActionEvent)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Opens a file in the MRU list. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#requestOpenURL()"><B>requestOpenURL()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Uses a Dialog box to accept a URL to a file to be opened + with the LF5 GUI. +<DT><A HREF="./org/apache/log4j/Appender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Configurators call this method to determine if the appender + requires a layout. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Configurators call this method to determine if the appender + requires a layout. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>JDBCAppender requires a layout. +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>Returns a value that indicates whether this appender requires a + <code>Layout</code>. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>The JMSAppender sends serialized events and consequently does not + require a layout. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The <code>SMTPAppender</code> requires a <A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j"><CODE>layout</CODE></A>. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>The SocketAppender does not use a layout. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>The SocketHubAppender does not use a layout. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>The SyslogAppender requires a layout. +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A> +<DD>This appender requires a layout to format the text to the + attached client(s). +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>The <code>NTEventLogAppender</code> requires a layout. +<DT><A HREF="./org/apache/log4j/varia/NullAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> +<DD>NullAppenders do not need a layout. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>The WriterAppender requires a layout. +<DT><A HREF="./org/apache/log4j/FileAppender.html#reset()"><B>reset()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Close any previously opened file and call the parent's + <code>reset</code>. +<DT><A HREF="./org/apache/log4j/lf5/PassingLogRecordFilter.html#reset()"><B>reset()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5">PassingLogRecordFilter</A> +<DD>Does nothing. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#reset()"><B>reset()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerLogRecordFilter</A> +<DD>Resets the counters for the contained CategoryNodes to zero. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#reset()"><B>reset()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/WriterAppender.html#reset()"><B>reset()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Clear internal references to the writer and other variables. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#resetAllNodeCounts()"><B>resetAllNodeCounts()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#resetAllNodes()"><B>resetAllNodes()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerLogRecordFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/BasicConfigurator.html#resetConfiguration()"><B>resetConfiguration()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j">BasicConfigurator</A> +<DD>Reset the default hierarchy to its defaut. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#resetConfiguration()"><B>resetConfiguration()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Reset all values contained in this hierarchy instance to their + default. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#resetConfiguration()"><B>resetConfiguration()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogManager.html#resetConfiguration()"><B>resetConfiguration()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#resetConfiguration()"><B>resetConfiguration()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#resetConfiguration()"><B>resetConfiguration()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD> +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#resetLogLevelColorMap()"><B>resetLogLevelColorMap()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#resetNumberOfContainedRecords()"><B>resetNumberOfContainedRecords()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#resetSequenceNumber()"><B>resetSequenceNumber()</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Resets that sequence number to 0. +<DT><A HREF="./org/apache/log4j/helpers/BoundedFIFO.html#resize(int)"><B>resize(int)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A> +<DD>Resize the buffer to a new size. +<DT><A HREF="./org/apache/log4j/helpers/CyclicBuffer.html#resize(int)"><B>resize(int)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A> +<DD>Resize the cyclic buffer to <code>newSize</code>. +<DT><A HREF="./org/apache/log4j/xml/Log4jEntityResolver.html#resolveEntity(java.lang.String, java.lang.String)"><B>resolveEntity(String, String)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml">Log4jEntityResolver</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><B>Resource</B></A> - Class in <A HREF="./org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A><DD>Resource encapsulates access to Resources via the Classloader.<DT><A HREF="./org/apache/log4j/lf5/util/Resource.html#Resource()"><B>Resource()</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A> +<DD>Default, no argument constructor. +<DT><A HREF="./org/apache/log4j/lf5/util/Resource.html#Resource(java.lang.String)"><B>Resource(String)</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A> +<DD>Construct a Resource given a name. +<DT><A HREF="./org/apache/log4j/Category.html#resourceBundle"><B>resourceBundle</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><B>ResourceUtils</B></A> - Class in <A HREF="./org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A><DD>ResourceUtils.<DT><A HREF="./org/apache/log4j/lf5/util/ResourceUtils.html#ResourceUtils()"><B>ResourceUtils()</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util">ResourceUtils</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html#ROLL_OVER"><B>ROLL_OVER</B></A> - +Static variable in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A> +<DD>The string constant sent to initiate a roll over. +<DT><A HREF="./org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia"><B>Roller</B></A> - Class in <A HREF="./org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A><DD>A simple application to send roll over messages to a potentially + remote <A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><CODE>ExternallyRolledFileAppender</CODE></A>.<DT><A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><B>RollingFileAppender</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>RollingFileAppender extends FileAppender to backup the log files when + they reach a certain size.<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#RollingFileAppender()"><B>RollingFileAppender()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>The default constructor simply calls its <A HREF="./org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String)"><CODE>parents constructor</CODE></A>. +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#RollingFileAppender(org.apache.log4j.Layout, java.lang.String, boolean)"><B>RollingFileAppender(Layout, String, boolean)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>Instantiate a RollingFileAppender and open the file designated by + <code>filename</code>. +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#RollingFileAppender(org.apache.log4j.Layout, java.lang.String)"><B>RollingFileAppender(Layout, String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>Instantiate a FileAppender and open the file designated by + <code>filename</code>. +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#rollOver()"><B>rollOver()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>Implements the usual roll over behaviour. +<DT><A HREF="./org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi"><B>RootCategory</B></A> - Class in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD><B>Deprecated.</B>&nbsp;<I>Replaced by <A HREF="./org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><CODE>RootLogger</CODE></A>.</I><DT><A HREF="./org/apache/log4j/spi/RootCategory.html#RootCategory(org.apache.log4j.Level)"><B>RootCategory(Level)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A> +<DD><B>Deprecated.</B>&nbsp;The root category names itself as "root". +<DT><A HREF="./org/apache/log4j/config/PropertySetterException.html#rootCause"><B>rootCause</B></A> - +Variable in exception org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><B>RootLogger</B></A> - Class in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>RootLogger sits at the top of the logger hierachy.<DT><A HREF="./org/apache/log4j/spi/RootLogger.html#RootLogger(org.apache.log4j.Level)"><B>RootLogger(Level)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A> +<DD>The root logger names itself as "root". +<DT><A HREF="./org/apache/log4j/helpers/FileWatchdog.html#run()"><B>run()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#run()"><B>run()</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>Parses the file and creates new log records and adds the record + to the monitor. +<DT><A HREF="./org/apache/log4j/net/SocketNode.html#run()"><B>run()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net">SocketNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html#run()"><B>run()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net">TelnetAppender.SocketHandler</A> +<DD>Continually accepts client connections. +</DL> +<HR> +<A NAME="_S_"><!-- --></A><H2> +<B>S</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#save()"><B>save()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#save()"><B>save()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Saves a list of MRU files out to a file. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#saveConfiguration()"><B>saveConfiguration()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml"><B>SAXErrorHandler</B></A> - Class in <A HREF="./org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/xml/SAXErrorHandler.html#SAXErrorHandler()"><B>SAXErrorHandler()</B></A> - +Constructor for class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml">SAXErrorHandler</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#selectAllLogLevels(boolean)"><B>selectAllLogLevels(boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#selectAllLogTableColumns(boolean)"><B>selectAllLogTableColumns(boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#selectAllNodes()"><B>selectAllNodes()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#selectAndConfigure(java.net.URL, java.lang.String, org.apache.log4j.spi.LoggerRepository)"><B>selectAndConfigure(URL, String, LoggerRepository)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>Configure log4j given a URL. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html#selectRow(int, javax.swing.JTable, javax.swing.JScrollPane)"><B>selectRow(int, JTable, JScrollPane)</B></A> - +Static method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer">LF5SwingUtils</A> +<DD>Selects a the specified row in the specified JTable and scrolls + the specified JScrollpane to the newly selected row. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html#selectRow(int, javax.swing.ListSelectionModel)"><B>selectRow(int, ListSelectionModel)</B></A> - +Static method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer">LF5SwingUtils</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#selectRow(int)"><B>selectRow(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html#send(java.lang.String)"><B>send(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net">TelnetAppender.SocketHandler</A> +<DD>sends a message to each of the clients in telnet-friendly output. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#sendBuffer()"><B>sendBuffer()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Send the contents of the cyclic buffer as an e-mail message. +<DT><A HREF="./org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern"><B>SequenceNumberPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats the event sequence number.<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#set(java.io.File)"><B>set(File)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Adds a file name to the MRU file list. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#set(java.net.URL)"><B>set(URL)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Adds a url to the MRU file list. +<DT><A HREF="./org/apache/log4j/varia/LevelMatchFilter.html#setAcceptOnMatch(boolean)"><B>setAcceptOnMatch(boolean)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/LevelRangeFilter.html#setAcceptOnMatch(boolean)"><B>setAcceptOnMatch(boolean)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A> +<DD>Set the <code>AcceptOnMatch</code> option. +<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html#setAcceptOnMatch(boolean)"><B>setAcceptOnMatch(boolean)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#setAdditivity(boolean)"><B>setAdditivity(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Set the additivity flag for this Category instance. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#setAdvertiseViaMulticastDNS(boolean)"><B>setAdvertiseViaMulticastDNS(boolean)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#setAdvertiseViaMulticastDNS(boolean)"><B>setAdvertiseViaMulticastDNS(boolean)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setAllDescendantsDeSelected()"><B>setAllDescendantsDeSelected()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD><B>Deprecated.</B>&nbsp;<I></I>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setAllDescendantsSelected()"><B>setAllDescendantsSelected()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD><B>Deprecated.</B>&nbsp;<I></I>&nbsp; +<DT><A HREF="./org/apache/log4j/FileAppender.html#setAppend(boolean)"><B>setAppend(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>The <b>Append</b> option takes a boolean value. +<DT><A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html#setAppender(org.apache.log4j.Appender)"><B>setAppender(Appender)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A> +<DD>Does not do anything. +<DT><A HREF="./org/apache/log4j/spi/ErrorHandler.html#setAppender(org.apache.log4j.Appender)"><B>setAppender(Appender)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> +<DD>Set the appender for which errors are handled. +<DT><A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html#setAppender(org.apache.log4j.Appender)"><B>setAppender(Appender)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A> +<DD>The appender to which this error handler is attached. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#setApplication(java.lang.String)"><B>setApplication(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>The <b>App</b> option takes a string value which should be the name of the + application getting logged. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#setApplication(java.lang.String)"><B>setApplication(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>The <b>App</b> option takes a string value which should be the name of the application getting logged. +<DT><A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html#setAttribute(javax.management.Attribute)"><B>setAttribute(Attribute)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html#setAttribute(javax.management.Attribute)"><B>setAttribute(Attribute)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html#setAttribute(javax.management.Attribute)"><B>setAttribute(Attribute)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx">LayoutDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html#setAttribute(javax.management.Attribute)"><B>setAttribute(Attribute)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html#setAttributes(javax.management.AttributeList)"><B>setAttributes(AttributeList)</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> +<DD>Sets the values of several attributes of the Dynamic MBean, and returns the + list of attributes that have been set. +<DT><A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)"><B>setBackupAppender(Appender)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A> +<DD>Does not do anything. +<DT><A HREF="./org/apache/log4j/spi/ErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)"><B>setBackupAppender(Appender)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> +<DD>Set the appender to falkback upon in case of failure. +<DT><A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)"><B>setBackupAppender(Appender)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A> +<DD>Set the backup appender. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setBcc(java.lang.String)"><B>setBcc(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Set the bcc recipient addresses. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#setBlocking(boolean)"><B>setBlocking(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Sets whether appender should wait if there is no + space available in the event buffer or immediately return. +<DT><A HREF="./org/apache/log4j/FileAppender.html#setBufferedIO(boolean)"><B>setBufferedIO(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>The <b>BufferedIO</b> option takes a boolean value. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#setBufferSize(int)"><B>setBufferSize(int)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>Sets the number of messages allowed in the event buffer + before the calling thread is blocked (if blocking is true) + or until messages are summarized and discarded. +<DT><A HREF="./org/apache/log4j/FileAppender.html#setBufferSize(int)"><B>setBufferSize(int)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Set the size of the IO buffer. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#setBufferSize(int)"><B>setBufferSize(int)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setBufferSize(int)"><B>setBufferSize(int)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The <b>BufferSize</b> option takes a positive integer + representing the maximum number of logging events to collect in a + cyclic buffer. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#setBufferSize(int)"><B>setBufferSize(int)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>The <b>BufferSize</b> option takes a positive integer representing the number of events this appender will buffer and send to newly connected + clients. +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#setCallSystemExitOnClose(boolean)"><B>setCallSystemExitOnClose(boolean)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>This method is used to set the property that controls whether + the <code>LogBrokerMonitor</code> is hidden or closed when a user + exits + the monitor. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setCallSystemExitOnClose(boolean)"><B>setCallSystemExitOnClose(boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Set the value of whether or not System.exit() will be called + when the LogBrokerMonitor is closed. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#setCategory(java.lang.String)"><B>setCategory(String)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Set the category associated with this LogRecord. +<DT><A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html#setCategory(java.lang.String)"><B>setCategory(String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/TTCCLayout.html#setCategoryPrefixing(boolean)"><B>setCategoryPrefixing(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>The <b>CategoryPrefixing</b> option specifies whether <A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j"><CODE>Category</CODE></A> + name is part of log output or not. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setCc(java.lang.String)"><B>setCc(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Set the cc recipient addresses. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#setCellEditorValue(java.lang.Object)"><B>setCellEditorValue(Object)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#setClickCountToStart(int)"><B>setClickCountToStart(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/TTCCLayout.html#setContextPrinting(boolean)"><B>setContextPrinting(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>The <b>ContextPrinting</b> option specifies log output will include + the nested context information belonging to the current thread. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#setConversionPattern(java.lang.String)"><B>setConversionPattern(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>Set the <b>ConversionPattern</b> option. +<DT><A HREF="./org/apache/log4j/PatternLayout.html#setConversionPattern(java.lang.String)"><B>setConversionPattern(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>Set the <b>ConversionPattern</b> option. +<DT><A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html#setCount(long)"><B>setCount(long)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers">CountingQuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#setDateFormat(java.lang.String)"><B>setDateFormat(String)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>The value of the <b>DateFormat</b> option should be either an + argument to the constructor of <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A> or one of + the srings "NULL", "RELATIVE", "ABSOLUTE", "DATE" or "ISO8601. +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#setDateFormat(java.text.DateFormat, java.util.TimeZone)"><B>setDateFormat(DateFormat, TimeZone)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>Sets the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text"><CODE>DateFormat</CODE></A> used to format time and date in the + zone determined by <code>timeZone</code>. +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#setDateFormat(java.lang.String, java.util.TimeZone)"><B>setDateFormat(String, TimeZone)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>Sets the DateFormat used to format date and time in the time zone + determined by <code>timeZone</code> parameter. +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#setDateFormatInstance(java.text.DateFormat)"><B>setDateFormatInstance(DateFormat)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setDateFormatManager(org.apache.log4j.lf5.util.DateFormatManager)"><B>setDateFormatManager(DateFormatManager)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Set the date format manager for formatting dates. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#setDateFormatManager(org.apache.log4j.lf5.util.DateFormatManager)"><B>setDateFormatManager(DateFormatManager)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>Set the date format manager for formatting dates. +<DT><A HREF="./org/apache/log4j/DailyRollingFileAppender.html#setDatePattern(java.lang.String)"><B>setDatePattern(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A> +<DD>The <b>DatePattern</b> takes a string in the same format as + expected by <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A>. +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#setDefaultLevel(org.apache.log4j.lf5.LogLevel)"><B>setDefaultLevel(LogLevel)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Set the default log level to be used when logging messages without + specifying a LogLevel. +<DT><A HREF="./org/apache/log4j/helpers/FileWatchdog.html#setDelay(long)"><B>setDelay(long)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A> +<DD>Set the delay to observe between each check of the file changes. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#setDescendantSelection(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)"><B>setDescendantSelection(CategoryNode, boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#setDetailedView()"><B>setDetailedView()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Hierarchy.html#setDisableOverride(java.lang.String)"><B>setDisableOverride(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD><B>Deprecated.</B>&nbsp;<I>Deprecated with no replacement.</I> +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#setDriver(java.lang.String)"><B>setDriver(String)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Ensures that the given driver class has been loaded for sql connection + creation. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#setEncoding(java.lang.String)"><B>setEncoding(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Appender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)"><B>setErrorHandler(ErrorHandler)</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Set the <A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this appender. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)"><B>setErrorHandler(ErrorHandler)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Set the <A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this Appender. +<DT><A HREF="./org/apache/log4j/helpers/QuietWriter.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)"><B>setErrorHandler(ErrorHandler)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/WriterAppender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)"><B>setErrorHandler(ErrorHandler)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Set the <A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this WriterAppender and also the + underlying <A HREF="./org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><CODE>QuietWriter</CODE></A> if any. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setEvaluator(org.apache.log4j.spi.TriggeringEventEvaluator)"><B>setEvaluator(TriggeringEventEvaluator)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Sets triggering evaluator. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setEvaluatorClass(java.lang.String)"><B>setEvaluatorClass(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The <b>EvaluatorClass</b> option takes a string value + representing the name of the class implementing the <A HREF="./org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><CODE>TriggeringEventEvaluator</CODE></A> interface. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#setFacility(java.lang.String)"><B>setFacility(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Set the syslog facility. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#setFacilityPrinting(boolean)"><B>setFacilityPrinting(boolean)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>If the <b>FacilityPrinting</b> option is set to true, the printed + message will include the facility name of the application. +<DT><A HREF="./org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><B>setFile(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>The <b>File</b> property takes a string value which should be the + name of the file to append to. +<DT><A HREF="./org/apache/log4j/FileAppender.html#setFile(java.lang.String, boolean, boolean, int)"><B>setFile(String, boolean, boolean, int)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Sets and <i>opens</i> the file where the log output will + go. +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#setFile(java.lang.String, boolean, boolean, int)"><B>setFile(String, boolean, boolean, int)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#setFollow(boolean)"><B>setFollow(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>Sets whether the appender honors reassignments of System.out + or System.err made after configuration. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#setFont(java.awt.Font)"><B>setFont(Font)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setFontSize(int)"><B>setFontSize(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setFontSize(java.awt.Component, int)"><B>setFontSize(Component, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setFontSizeSilently(int)"><B>setFontSizeSilently(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Does not update gui or cause any events to be fired. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setFrameSize(int, int)"><B>setFrameSize(int, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setFrom(java.lang.String)"><B>setFrom(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The <b>From</b> option takes a string value which should be a + e-mail address of the sender. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setHasFatalChildren(boolean)"><B>setHasFatalChildren(boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setHasFatalRecords(boolean)"><B>setHasFatalRecords(boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#setHeader(boolean)"><B>setHeader(boolean)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>Returns whether the appender produces the HEADER part (that is, timestamp and host name) + of the syslog packet. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#setImmediateFlush(boolean)"><B>setImmediateFlush(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>If the <b>ImmediateFlush</b> option is set to + <code>true</code>, the appender will flush at the end of each + write. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#setInitialContextFactoryName(java.lang.String)"><B>setInitialContextFactoryName(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>Setting the <b>InitialContextFactoryName</b> method will cause + this <code>JMSAppender</code> instance to use the <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/InitialContext.html?is-external=true#InitialContext(java.util.Hashtable)" title="class or interface in javax.naming"><CODE>InitialContext.InitialContext(Hashtable)</CODE></A> method instead of the + no-argument constructor. +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#setInternalDebugging(boolean)"><B>setInternalDebugging(boolean)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>Allows to enable/disable log4j internal logging. +<DT><A HREF="./org/apache/log4j/Appender.html#setLayout(org.apache.log4j.Layout)"><B>setLayout(Layout)</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Set the <A HREF="./org/apache/log4j/Layout.html" title="class in org.apache.log4j"><CODE>Layout</CODE></A> for this appender. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)"><B>setLayout(Layout)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Set the layout for this appender. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setLeastSevereDisplayedLogLevel(org.apache.log4j.lf5.LogLevel)"><B>setLeastSevereDisplayedLogLevel(LogLevel)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)"><B>setLevel(Level)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Set the level of this Category. +<DT><A HREF="./org/apache/log4j/helpers/SyslogQuietWriter.html#setLevel(int)"><B>setLevel(int)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers">SyslogQuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#setLevel(org.apache.log4j.lf5.LogLevel)"><B>setLevel(LogLevel)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Set the level of this LogRecord. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#setLevel(org.apache.log4j.Level)"><B>setLevel(Level)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Set the level of this Category. +<DT><A HREF="./org/apache/log4j/spi/RootCategory.html#setLevel(org.apache.log4j.Level)"><B>setLevel(Level)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A> +<DD><B>Deprecated.</B>&nbsp;Setting a null value to the level of the root category may have catastrophic + results. +<DT><A HREF="./org/apache/log4j/spi/RootLogger.html#setLevel(org.apache.log4j.Level)"><B>setLevel(Level)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A> +<DD>Setting a null value to the level of the root logger may have catastrophic + results. +<DT><A HREF="./org/apache/log4j/varia/LevelRangeFilter.html#setLevelMax(org.apache.log4j.Level)"><B>setLevelMax(Level)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A> +<DD>Set the <code>LevelMax</code> option. +<DT><A HREF="./org/apache/log4j/varia/LevelRangeFilter.html#setLevelMin(org.apache.log4j.Level)"><B>setLevelMin(Level)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A> +<DD>Set the <code>LevelMin</code> option. +<DT><A HREF="./org/apache/log4j/varia/LevelMatchFilter.html#setLevelToMatch(java.lang.String)"><B>setLevelToMatch(String)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#setLocale(java.util.Locale)"><B>setLocale(Locale)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#setLocation(java.lang.String)"><B>setLocation(String)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Set the location in code where this LogRecord originated. +<DT><A HREF="./org/apache/log4j/AsyncAppender.html#setLocationInfo(boolean)"><B>setLocationInfo(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A> +<DD>The <b>LocationInfo</b> option takes a boolean value. +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#setLocationInfo(boolean)"><B>setLocationInfo(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>The <b>LocationInfo</b> option takes a boolean value. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#setLocationInfo(boolean)"><B>setLocationInfo(boolean)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>The <b>LocationInfo</b> option takes a boolean value. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#setLocationInfo(boolean)"><B>setLocationInfo(boolean)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>If true, the information sent to the remote subscriber will + include caller's location information. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setLocationInfo(boolean)"><B>setLocationInfo(boolean)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The <b>LocationInfo</b> option takes a boolean value. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#setLocationInfo(boolean)"><B>setLocationInfo(boolean)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>The <b>LocationInfo</b> option takes a boolean value. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#setLocationInfo(boolean)"><B>setLocationInfo(boolean)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>The <b>LocationInfo</b> option takes a boolean value. +<DT><A HREF="./org/apache/log4j/xml/XMLLayout.html#setLocationInfo(boolean)"><B>setLocationInfo(boolean)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A> +<DD>The <b>LocationInfo</b> option takes a boolean value. +<DT><A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html#setLogger(org.apache.log4j.Logger)"><B>setLogger(Logger)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A> +<DD>Does not do anything. +<DT><A HREF="./org/apache/log4j/spi/ErrorHandler.html#setLogger(org.apache.log4j.Logger)"><B>setLogger(Logger)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> +<DD>Add a reference to a logger to which the failing appender might + be attached to. +<DT><A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html#setLogger(org.apache.log4j.Logger)"><B>setLogger(Logger)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A> +<DD><em>Adds</em> the logger passed as parameter to the list of + loggers that we need to search for in case of appender failure. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#setLogLevelColorMap(org.apache.log4j.lf5.LogLevel, java.awt.Color)"><B>setLogLevelColorMap(LogLevel, Color)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#setLogRecordFilter(org.apache.log4j.lf5.LogRecordFilter)"><B>setLogRecordFilter(LogRecordFilter)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#setMaxBackupIndex(int)"><B>setMaxBackupIndex(int)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>Set the maximum number of backup files to keep around. +<DT><A HREF="./org/apache/log4j/NDC.html#setMaxDepth(int)"><B>setMaxDepth(int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A> +<DD>Set maximum depth of this diagnostic context. +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#setMaxFileSize(java.lang.String)"><B>setMaxFileSize(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>Set the maximum size that the output file is allowed to reach + before being rolled over to backup files. +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#setMaximumFileSize(long)"><B>setMaximumFileSize(long)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>Set the maximum size that the output file is allowed to reach + before being rolled over to backup files. +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#setMaxNumberOfLogRecords(int)"><B>setMaxNumberOfLogRecords(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setMaxNumberOfLogRecords(int)"><B>setMaxNumberOfLogRecords(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#setMaxNumberOfRecords(int)"><B>setMaxNumberOfRecords(int)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#setMaxNumberOfRecords(int)"><B>setMaxNumberOfRecords(int)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Set the maximum number of records to be displayed in the monitor +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setMaxRecordConfiguration()"><B>setMaxRecordConfiguration()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#setMaxSize(int)"><B>setMaxSize(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Ensures that the MRU list will have a MaxSize. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#setMessage(java.lang.String)"><B>setMessage(String)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Set the message associated with this LogRecord. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#setMillis(long)"><B>setMillis(long)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Set the event time of this record. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#setMRU(java.lang.Object)"><B>setMRU(Object)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Adds an object to the mru. +<DT><A HREF="./org/apache/log4j/Appender.html#setName(java.lang.String)"><B>setName(String)</B></A> - +Method in interface org.apache.log4j.<A HREF="./org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> +<DD>Set the name of this appender. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)"><B>setName(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Set the name of this Appender. +<DT><A HREF="./org/apache/log4j/lf5/util/Resource.html#setName(java.lang.String)"><B>setName(String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A> +<DD>Set the name of the resource. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#setNDC(java.lang.String)"><B>setNDC(String)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Set the NDC (nested diagnostic context) for this record. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setNDCLogRecordFilter(java.lang.String)"><B>setNDCLogRecordFilter(String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setNDCTextFilter(java.lang.String)"><B>setNDCTextFilter(String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)"><B>setNext(Filter)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> +<DD>Set the next filter pointer. +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#setOption(java.lang.String, java.lang.String)"><B>setOption(String, String)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I> +<DT><A HREF="./org/apache/log4j/varia/DenyAllFilter.html#setOption(java.lang.String, java.lang.String)"><B>setOption(String, String)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia">DenyAllFilter</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I> +<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html#setOption(java.lang.String, java.lang.String)"><B>setOption(String, String)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I> +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#setOutputFormat(java.lang.String)"><B>setOutputFormat(String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use setPattern().</I> +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#setParameter(org.w3c.dom.Element, org.apache.log4j.config.PropertySetter)"><B>setParameter(Element, PropertySetter)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#setParameter(org.w3c.dom.Element, org.apache.log4j.config.PropertySetter, java.util.Properties)"><B>setParameter(Element, PropertySetter, Properties)</B></A> - +Static method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Sets a parameter based from configuration file content. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#setParentSelection(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)"><B>setParentSelection(CategoryNode, boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#setPassword(java.lang.String)"><B>setPassword(String)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#setPassword(java.lang.String)"><B>setPassword(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>The paswword to use when creating a topic session. +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#setPattern(java.lang.String)"><B>setPattern(String)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>Set the pattern. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#setPort(int)"><B>setPort(int)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>The <b>Port</b> option takes a positive integer representing + the port where the server is waiting for connections. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#setPort(int)"><B>setPort(int)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>The <b>Port</b> option takes a positive integer representing + the port where the server is waiting for connections. +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.html#setPort(int)"><B>setPort(int)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html#setPort(int)"><B>setPort(int)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A> +<DD>The <b>Port</b> [roperty is used for setting the port for + listening to external roll over messages. +<DT><A HREF="./org/apache/log4j/Category.html#setPriority(org.apache.log4j.Priority)"><B>setPriority(Priority)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="./org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)"><CODE>Category.setLevel(org.apache.log4j.Level)</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#setPriority(org.apache.log4j.Priority)"><B>setPriority(Priority)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Set the level of this Category. +<DT><A HREF="./org/apache/log4j/spi/RootCategory.html#setPriority(org.apache.log4j.Level)"><B>setPriority(Level)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A> +<DD><B>Deprecated.</B>&nbsp;&nbsp; +<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#setProperties(java.lang.Object, java.util.Properties, java.lang.String)"><B>setProperties(Object, Properties, String)</B></A> - +Static method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>Set the properties of an object passed as a parameter in one + go. +<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#setProperties(java.util.Properties, java.lang.String)"><B>setProperties(Properties, String)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>Set the properites for the object that match the + <code>prefix</code> passed as parameter. +<DT><A HREF="./org/apache/log4j/xml/XMLLayout.html#setProperties(boolean)"><B>setProperties(boolean)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A> +<DD>Sets whether MDC key-value pairs should be output, default false. +<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#setProperty(java.lang.String, java.lang.String)"><B>setProperty(String, String)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>Set a property on this PropertySetter's Object. +<DT><A HREF="./org/apache/log4j/config/PropertySetter.html#setProperty(java.beans.PropertyDescriptor, java.lang.String, java.lang.String)"><B>setProperty(PropertyDescriptor, String, String)</B></A> - +Method in class org.apache.log4j.config.<A HREF="./org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> +<DD>Set the named property given a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans"><CODE>PropertyDescriptor</CODE></A>. +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#setProperty(java.lang.String, java.lang.String)"><B>setProperty(String, String)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>Set value for MDC property. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#setProperty(java.lang.String, java.lang.String)"><B>setProperty(String, String)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>Set value for MDC property. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#setProviderURL(java.lang.String)"><B>setProviderURL(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#setQuietMode(boolean)"><B>setQuietMode(boolean)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>In quite mode no LogLog generates strictly no output, not even + for errors. +<DT><A HREF="./org/apache/log4j/FileAppender.html#setQWForFiles(java.io.Writer)"><B>setQWForFiles(Writer)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> +<DD>Sets the quiet writer being used. +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#setQWForFiles(java.io.Writer)"><B>setQWForFiles(Writer)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#setReconnectionDelay(int)"><B>setReconnectionDelay(int)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>The <b>ReconnectionDelay</b> option takes a positive integer + representing the number of milliseconds to wait between each + failed connection attempt to the server. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#setRemoteHost(java.lang.String)"><B>setRemoteHost(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>The <b>RemoteHost</b> option takes a string value which should be + the host name of the server where a <A HREF="./org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> is + running. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#setRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)"><B>setRenderer(Class, ObjectRenderer)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Used by subclasses to add a renderer to the hierarchy passed as parameter. +<DT><A HREF="./org/apache/log4j/spi/RendererSupport.html#setRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)"><B>setRenderer(Class, ObjectRenderer)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setReplyTo(java.lang.String)"><B>setReplyTo(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Set the e-mail addresses to which replies should be directed. +<DT><A HREF="./org/apache/log4j/LogManager.html#setRepositorySelector(org.apache.log4j.spi.RepositorySelector, java.lang.Object)"><B>setRepositorySelector(RepositorySelector, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>Sets <code>LoggerFactory</code> but only if the correct + <em>guard</em> is passed as parameter. +<DT><A HREF="./org/apache/log4j/Category.html#setResourceBundle(java.util.ResourceBundle)"><B>setResourceBundle(ResourceBundle)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Set the resource bundle to be used with localized logging + methods <A HREF="./org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)"><CODE>Category.l7dlog(Priority,String,Throwable)</CODE></A> and <A HREF="./org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)"><CODE>Category.l7dlog(Priority,String,Object[],Throwable)</CODE></A>. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#setResourceBundle(java.util.ResourceBundle)"><B>setResourceBundle(ResourceBundle)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Set the resource bundle to be used with localized logging + methods <A HREF="./org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)"><CODE>Category.l7dlog(Priority,String,Throwable)</CODE></A> and <A HREF="./org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)"><CODE>Category.l7dlog(Priority,String,Object[],Throwable)</CODE></A>. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setSearchText(java.lang.String)"><B>setSearchText(String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#setSecurityCredentials(java.lang.String)"><B>setSecurityCredentials(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#setSecurityPrincipalName(java.lang.String)"><B>setSecurityPrincipalName(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setSelected(boolean)"><B>setSelected(boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setSendOnClose(boolean)"><B>setSendOnClose(boolean)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Set sendOnClose. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#setSequenceNumber(long)"><B>setSequenceNumber(long)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Set the sequence number assocsiated with this LogRecord. +<DT><A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html#setSevereLevel(org.apache.log4j.lf5.LogLevel)"><B>setSevereLevel(LogLevel)</B></A> - +Static method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html#setSevereLevel(org.apache.log4j.lf5.LogLevel)"><B>setSevereLevel(LogLevel)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> +<DD>Sets the Severe LogLevel. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setSMTPDebug(boolean)"><B>setSMTPDebug(boolean)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Setting the <b>SmtpDebug</b> option to true will cause the mail session to log its server interaction to stdout. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setSMTPHost(java.lang.String)"><B>setSMTPHost(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The <b>SMTPHost</b> option takes a string value which should be a + the host name of the SMTP server that will send the e-mail message. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setSMTPPassword(java.lang.String)"><B>setSMTPPassword(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The <b>SmtpPassword</b> option takes a string value which should be the password required to authenticate against + the mail server. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setSMTPPort(int)"><B>setSMTPPort(int)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Set port. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setSMTPProtocol(java.lang.String)"><B>setSMTPProtocol(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Set transport protocol. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setSMTPUsername(java.lang.String)"><B>setSMTPUsername(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The <b>SmtpUsername</b> option takes a string value which should be the username required to authenticate against + the mail server. +<DT><A HREF="./org/apache/log4j/nt/NTEventLogAppender.html#setSource(java.lang.String)"><B>setSource(String)</B></A> - +Method in class org.apache.log4j.nt.<A HREF="./org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A> +<DD>The <b>Source</b> option which names the source of the event. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#setSql(java.lang.String)"><B>setSql(String)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html#setStringToMatch(java.lang.String)"><B>setStringToMatch(String)</B></A> - +Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setSubject(java.lang.String)"><B>setSubject(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The <b>Subject</b> option takes a string value which should be a + the subject of the e-mail message. +<DT><A HREF="./org/apache/log4j/helpers/SyslogQuietWriter.html#setSyslogFacility(int)"><B>setSyslogFacility(int)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers">SyslogQuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#setSyslogHost(java.lang.String)"><B>setSyslogHost(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>The <b>SyslogHost</b> option is the name of the the syslog host + where log output should go. +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#setTarget(java.lang.String)"><B>setTarget(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>Sets the value of the <b>Target</b> option. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#setThreadDescription(java.lang.String)"><B>setThreadDescription(String)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Set the thread description associated with this LogRecord. +<DT><A HREF="./org/apache/log4j/TTCCLayout.html#setThreadPrinting(boolean)"><B>setThreadPrinting(boolean)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>The <b>ThreadPrinting</b> option specifies whether the name of the + current thread is part of log output or not. +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)"><B>setThreshold(Priority)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>Set the threshold level. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#setThreshold(java.lang.String)"><B>setThreshold(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>The string form of <A HREF="./org/apache/log4j/Hierarchy.html#setThreshold(org.apache.log4j.Level)"><CODE>Hierarchy.setThreshold(Level)</CODE></A>. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#setThreshold(org.apache.log4j.Level)"><B>setThreshold(Level)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Enable logging for logging requests with level <code>l</code> or + higher. +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><B>setThreshold(Level)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>Set the repository-wide threshold. +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#setThreshold(java.lang.String)"><B>setThreshold(String)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>Another form of <A HREF="./org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><CODE>LoggerRepository.setThreshold(Level)</CODE></A> accepting a string + parameter instead of a <code>Level</code>. +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#setThreshold(org.apache.log4j.Level)"><B>setThreshold(Level)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD>Set the repository-wide threshold. +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#setThreshold(java.lang.String)"><B>setThreshold(String)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD>Another form of <A HREF="./org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><CODE>LoggerRepository.setThreshold(Level)</CODE></A> accepting a string + parameter instead of a <code>Level</code>. +<DT><A HREF="./org/apache/log4j/Hierarchy.html#setThrowableRenderer(org.apache.log4j.spi.ThrowableRenderer)"><B>setThrowableRenderer(ThrowableRenderer)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Set throwable renderer. +<DT><A HREF="./org/apache/log4j/spi/ThrowableRendererSupport.html#setThrowableRenderer(org.apache.log4j.spi.ThrowableRenderer)"><B>setThrowableRenderer(ThrowableRenderer)</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A> +<DD>Set throwable renderer. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#setThrown(java.lang.Throwable)"><B>setThrown(Throwable)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Set the Throwable associated with this LogRecord. +<DT><A HREF="./org/apache/log4j/lf5/Log4JLogRecord.html#setThrownStackTrace(org.apache.log4j.spi.ThrowableInformation)"><B>setThrownStackTrace(ThrowableInformation)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5">Log4JLogRecord</A> +<DD>Set stack trace information associated with this Log4JLogRecord. +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#setThrownStackTrace(java.lang.String)"><B>setThrownStackTrace(String)</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Set the ThrownStackTrace for the log record. +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#setTimeZone(java.lang.String)"><B>setTimeZone(String)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD>The <b>TimeZoneID</b> option is a time zone ID string in the format + expected by the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true#getTimeZone(java.lang.String)" title="class or interface in java.util"><CODE>TimeZone.getTimeZone(java.lang.String)</CODE></A> method. +<DT><A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html#setTimeZone(java.util.TimeZone)"><B>setTimeZone(TimeZone)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#setTimeZone(java.util.TimeZone)"><B>setTimeZone(TimeZone)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<DD>Set timezone. +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>The <b>Title</b> option takes a String value. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#setTo(java.lang.String)"><B>setTo(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The <b>To</b> option takes a string value which should be a + comma separated list of e-mail address of the recipients. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#setTopicBindingName(java.lang.String)"><B>setTopicBindingName(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>The <b>TopicBindingName</b> option takes a + string value. +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#setTopicConnectionFactoryBindingName(java.lang.String)"><B>setTopicConnectionFactoryBindingName(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>The <b>TopicConnectionFactoryBindingName</b> option takes a + string value. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#setURL(java.lang.String)"><B>setURL(String)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#setURLPkgPrefixes(java.lang.String)"><B>setURLPkgPrefixes(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#setUser(java.lang.String)"><B>setUser(String)</B></A> - +Method in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/JMSAppender.html#setUserName(java.lang.String)"><B>setUserName(String)</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A> +<DD>The user name to use when <CODE>creating a topic session</CODE>. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setView(java.lang.String, org.apache.log4j.lf5.viewer.LogTable)"><B>setView(String, LogTable)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#setView(java.util.List)"><B>setView(List)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/WriterAppender.html#setWriter(java.io.Writer)"><B>setWriter(Writer)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Sets the Writer where the log output will go. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#SEVERE"><B>SEVERE</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/WriterAppender.html#shouldFlush(org.apache.log4j.spi.LoggingEvent)"><B>shouldFlush(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Determines whether the writer should be flushed after + this event is written. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#shouldSelectCell(java.util.EventObject)"><B>shouldSelectCell(EventObject)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#shouldSelectCell(java.util.EventObject)"><B>shouldSelectCell(EventObject)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryImmediateEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#show(int)"><B>show(int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Show the frame for the LogBrokerMonitor. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#show()"><B>show()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#show()"><B>show()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#showLogLevelColorChangeDialog(javax.swing.JMenuItem, org.apache.log4j.lf5.LogLevel)"><B>showLogLevelColorChangeDialog(JMenuItem, LogLevel)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#showPopup(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, int, int)"><B>showPopup(CategoryNode, int, int)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#showPropertiesDialog(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><B>showPropertiesDialog(CategoryNode)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#showPropertiesDialog(java.lang.String)"><B>showPropertiesDialog(String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Category.html#shutdown()"><B>shutdown()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="./org/apache/log4j/LogManager.html#shutdown()"><CODE>LogManager.shutdown()</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/Hierarchy.html#shutdown()"><B>shutdown()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A> +<DD>Shutting down a hierarchy will <em>safely</em> close and remove + all appenders in all categories including the root logger. +<DT><A HREF="./org/apache/log4j/LogManager.html#shutdown()"><B>shutdown()</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/LoggerRepository.html#shutdown()"><B>shutdown()</B></A> - +Method in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html#shutdown()"><B>shutdown()</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> +<DD> +<DT><A HREF="./org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><B>SimpleLayout</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>SimpleLayout consists of the level of the log statement, + followed by " - " and then the log message itself.<DT><A HREF="./org/apache/log4j/SimpleLayout.html#SimpleLayout()"><B>SimpleLayout()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j">SimpleLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net"><B>SimpleSocketServer</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>A simple <A HREF="./org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> based server.<DT><A HREF="./org/apache/log4j/net/SimpleSocketServer.html#SimpleSocketServer()"><B>SimpleSocketServer()</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net">SimpleSocketServer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#size()"><B>size()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> +<DD>returns the number of CategoryElements. +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#size()"><B>size()</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> +<DD>Gets the size of the MRU file list. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html#SIZE"><B>SIZE</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5InputDialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><B>SMTPAppender</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>Send an e-mail when a specific logging event occurs, typically on + errors or fatal errors.<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#SMTPAppender()"><B>SMTPAppender()</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>The default constructor will instantiate the appender with a + <A HREF="./org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><CODE>TriggeringEventEvaluator</CODE></A> that will trigger on events with + level ERROR or higher. +<DT><A HREF="./org/apache/log4j/net/SMTPAppender.html#SMTPAppender(org.apache.log4j.spi.TriggeringEventEvaluator)"><B>SMTPAppender(TriggeringEventEvaluator)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A> +<DD>Use <code>evaluator</code> passed as parameter as the <A HREF="./org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><CODE>TriggeringEventEvaluator</CODE></A> for this SMTPAppender. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><B>SocketAppender</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>Sends <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a remote a log server, + usually a <A HREF="./org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A>.<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#SocketAppender()"><B>SocketAppender()</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#SocketAppender(java.net.InetAddress, int)"><B>SocketAppender(InetAddress, int)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>Connects to remote server at <code>address</code> and <code>port</code>. +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#SocketAppender(java.lang.String, int)"><B>SocketAppender(String, int)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>Connects to remote server at <code>host</code> and <code>port</code>. +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><B>SocketHubAppender</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>Sends <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a set of remote log servers, + usually a <A HREF="./org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNodes</CODE></A>.<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#SocketHubAppender()"><B>SocketHubAppender()</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#SocketHubAppender(int)"><B>SocketHubAppender(int)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>Connects to remote server at <code>address</code> and <code>port</code>. +<DT><A HREF="./org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><B>SocketNode</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>Read <A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects sent from a remote client using + Sockets (TCP).<DT><A HREF="./org/apache/log4j/net/SocketNode.html#SocketNode(java.net.Socket, org.apache.log4j.spi.LoggerRepository)"><B>SocketNode(Socket, LoggerRepository)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net">SocketNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net"><B>SocketServer</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>A <A HREF="./org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> based server that uses a different hierarchy + for each client.<DT><A HREF="./org/apache/log4j/net/SocketServer.html#SocketServer(java.io.File)"><B>SocketServer(File)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net">SocketServer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#sortByNDC()"><B>sortByNDC()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/PatternConverter.html#spacePad(java.lang.StringBuffer, int)"><B>spacePad(StringBuffer, int)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> +<DD>Fast space padding method. +<DT><A HREF="./org/apache/log4j/jdbc/JDBCAppender.html#sqlStatement"><B>sqlStatement</B></A> - +Variable in class org.apache.log4j.jdbc.<A HREF="./org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A> +<DD>Stores the string given to the pattern layout for conversion into a SQL + statement, eg: insert into LogTable (Thread, Class, Message) values + ("%t", "%c", "%m"). +<DT><A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html#stackTraceToString(java.lang.Throwable)"><B>stackTraceToString(Throwable)</B></A> - +Method in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/jmx/Agent.html#start()"><B>start()</B></A> - +Method in class org.apache.log4j.jmx.<A HREF="./org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx">Agent</A> +<DD><B>Deprecated.</B>&nbsp;<I></I>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5"><B>StartLogFactor5</B></A> - Class in <A HREF="./org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A><DD>Starts an instance of the LogFactor5 console for off-line viewing.<DT><A HREF="./org/apache/log4j/lf5/StartLogFactor5.html#StartLogFactor5()"><B>StartLogFactor5()</B></A> - +Constructor for class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5">StartLogFactor5</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/RelativeTimeDateFormat.html#startTime"><B>startTime</B></A> - +Variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers">RelativeTimeDateFormat</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#stopCellEditing()"><B>stopCellEditing()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#store(java.lang.String)"><B>store(String)</B></A> - +Method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util"><B>StreamUtils</B></A> - Class in <A HREF="./org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A><DD>Provides utility methods for input and output streams.<DT><A HREF="./org/apache/log4j/lf5/util/StreamUtils.html#StreamUtils()"><B>StreamUtils()</B></A> - +Constructor for class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util">StreamUtils</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html#STRING_TO_MATCH_OPTION"><B>STRING_TO_MATCH_OPTION</B></A> - +Static variable in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<DD><B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I> +<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia"><B>StringMatchFilter</B></A> - Class in <A HREF="./org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A><DD>This is a very simple filter based on string matching.<DT><A HREF="./org/apache/log4j/varia/StringMatchFilter.html#StringMatchFilter()"><B>StringMatchFilter()</B></A> - +Constructor for class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/DailyRollingFileAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)"><B>subAppend(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A> +<DD>This method differentiates DailyRollingFileAppender from its + super class. +<DT><A HREF="./org/apache/log4j/RollingFileAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)"><B>subAppend(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> +<DD>This method differentiates RollingFileAppender from its super + class. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)"><B>subAppend(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Actual writing occurs here. +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#subst(java.lang.String)"><B>subst(String)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/DOMConfigurator.html#subst(java.lang.String, java.util.Properties)"><B>subst(String, Properties)</B></A> - +Static method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A> +<DD>Substitutes property value for any references in expression. +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#substVars(java.lang.String, java.util.Properties)"><B>substVars(String, Properties)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>Perform variable substitution in string <code>val</code> from the + values of keys found in the system propeties. +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#SYSLOG_HOST_OI"><B>SYSLOG_HOST_OI</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net"><B>SyslogAppender</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>Use SyslogAppender to send log messages to a remote syslog daemon.<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#SyslogAppender()"><B>SyslogAppender()</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#SyslogAppender(org.apache.log4j.Layout, int)"><B>SyslogAppender(Layout, int)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SyslogAppender.html#SyslogAppender(org.apache.log4j.Layout, java.lang.String, int)"><B>SyslogAppender(Layout, String, int)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers"><B>SyslogQuietWriter</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>SyslogQuietWriter extends QuietWriter by prepending the syslog + level code before each printed String.<DT><A HREF="./org/apache/log4j/helpers/SyslogQuietWriter.html#SyslogQuietWriter(java.io.Writer, int, org.apache.log4j.spi.ErrorHandler)"><B>SyslogQuietWriter(Writer, int, ErrorHandler)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers">SyslogQuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers"><B>SyslogWriter</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>SyslogWriter is a wrapper around the java.net.DatagramSocket class + so that it behaves like a java.io.Writer.<DT><A HREF="./org/apache/log4j/helpers/SyslogWriter.html#SyslogWriter(java.lang.String)"><B>SyslogWriter(String)</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers">SyslogWriter</A> +<DD>Constructs a new instance of SyslogWriter. +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#SYSTEM_ERR"><B>SYSTEM_ERR</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#SYSTEM_OUT"><B>SYSTEM_OUT</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_T_"><!-- --></A><H2> +<B>T</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#tailFilter"><B>tailFilter</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>The last filter in the filter chain. +<DT><A HREF="./org/apache/log4j/ConsoleAppender.html#target"><B>target</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net"><B>TelnetAppender</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>The TelnetAppender is a log4j appender that specializes in + writing to a read-only socket.<DT><A HREF="./org/apache/log4j/net/TelnetAppender.html#TelnetAppender()"><B>TelnetAppender()</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net"><B>TelnetAppender.SocketHandler</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>The SocketHandler class is used to accept connections from + clients.<DT><A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html#TelnetAppender.SocketHandler(int)"><B>TelnetAppender.SocketHandler(int)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net">TelnetAppender.SocketHandler</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#THREAD"><B>THREAD</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/LogFileParser.html#THREAD_DELIMITER"><B>THREAD_DELIMITER</B></A> - +Static variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or"><B>ThreadGroupRenderer</B></A> - Class in <A HREF="./org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A><DD>Render <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang"><CODE>ThreadGroup</CODE></A> objects in a format similar to the + information output by the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true#list()" title="class or interface in java.lang"><CODE>ThreadGroup.list()</CODE></A> method.<DT><A HREF="./org/apache/log4j/or/ThreadGroupRenderer.html#ThreadGroupRenderer()"><B>ThreadGroupRenderer()</B></A> - +Constructor for class org.apache.log4j.or.<A HREF="./org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or">ThreadGroupRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers"><B>ThreadLocalMap</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD><code>ThreadLocalMap</code> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/InheritableThreadLocal.html?is-external=true" title="class or interface in java.lang"><CODE>InheritableThreadLocal</CODE></A> + to bequeath a copy of the hashtable of the MDC of the parent + thread.<DT><A HREF="./org/apache/log4j/helpers/ThreadLocalMap.html#ThreadLocalMap()"><B>ThreadLocalMap()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers">ThreadLocalMap</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><B>ThreadPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats the event thread name.<DT><A HREF="./org/apache/log4j/AppenderSkeleton.html#threshold"><B>threshold</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> +<DD>There is no level threshold filtering by default. +<DT><A HREF="./org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><B>ThrowableInformation</B></A> - Class in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>ThrowableInformation is log4j's internal representation of + throwables.<DT><A HREF="./org/apache/log4j/spi/ThrowableInformation.html#ThrowableInformation(java.lang.Throwable)"><B>ThrowableInformation(Throwable)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/ThrowableInformation.html#ThrowableInformation(java.lang.Throwable, org.apache.log4j.Category)"><B>ThrowableInformation(Throwable, Category)</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> +<DD>Create a new instance. +<DT><A HREF="./org/apache/log4j/spi/ThrowableInformation.html#ThrowableInformation(java.lang.String[])"><B>ThrowableInformation(String[])</B></A> - +Constructor for class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> +<DD>Create new instance. +<DT><A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>ThrowableInformationPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Outputs the ThrowableInformation portion of the LoggingEvent.<DT><A HREF="./org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><B>ThrowableRenderer</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>Implemented by classes that render instances of + java.lang.Throwable (exceptions and errors) + into a string representation.<DT><A HREF="./org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi"><B>ThrowableRendererSupport</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>Implemented by logger repositories that support configurable + rendering of Throwables.<DT><A HREF="./org/apache/log4j/LogXF.html#throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)"><B>throwing(Logger, String, String, Throwable)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Logs a throwing message at DEBUG level. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#THROWN"><B>THROWN</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#timeStamp"><B>timeStamp</B></A> - +Variable in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> +<DD>The number of milliseconds elapsed from 1/1/1970 until logging event + was created. +<DT><A HREF="./org/apache/log4j/spi/LoggingEvent.html#timeStamp"><B>timeStamp</B></A> - +Variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> +<DD>The number of milliseconds elapsed from 1/1/1970 until logging event + was created. +<DT><A HREF="./org/apache/log4j/helpers/DateLayout.html#TIMEZONE_OPTION"><B>TIMEZONE_OPTION</B></A> - +Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> +<DD><B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I> +<DT><A HREF="./org/apache/log4j/HTMLLayout.html#TITLE_OPTION"><B>TITLE_OPTION</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A> +<DD>A string constant used in naming the option for setting the the + HTML document title. +<DT><A HREF="./org/apache/log4j/LogXF.html#toArray(java.lang.Object)"><B>toArray(Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Create new array. +<DT><A HREF="./org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object)"><B>toArray(Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Create new array. +<DT><A HREF="./org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object)"><B>toArray(Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Create new array. +<DT><A HREF="./org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>toArray(Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Create new array. +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#toBoolean(java.lang.String, boolean)"><B>toBoolean(String, boolean)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>If <code>value</code> is "true", then <code>true</code> is + returned. +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#toFileSize(java.lang.String, long)"><B>toFileSize(String, long)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#toInt(java.lang.String, int)"><B>toInt(String, int)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Priority.html#toInt()"><B>toInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>Returns the integer representation of this level. +<DT><A HREF="./org/apache/log4j/helpers/OptionConverter.html#toLevel(java.lang.String, org.apache.log4j.Level)"><B>toLevel(String, Level)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A> +<DD>Converts a standard or custom priority level to a Level + object. +<DT><A HREF="./org/apache/log4j/Level.html#toLevel(java.lang.String)"><B>toLevel(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>Convert the string passed as argument to a level. +<DT><A HREF="./org/apache/log4j/Level.html#toLevel(int)"><B>toLevel(int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>Convert an integer passed as argument to a level. +<DT><A HREF="./org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)"><B>toLevel(int, Level)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>Convert an integer passed as argument to a level. +<DT><A HREF="./org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)"><B>toLevel(String, Level)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>Convert the string passed as argument to a level. +<DT><A HREF="./org/apache/log4j/Priority.html#toPriority(java.lang.String)"><B>toPriority(String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="./org/apache/log4j/Level.html#toLevel(java.lang.String)"><CODE>Level.toLevel(String)</CODE></A> method instead.</I> +<DT><A HREF="./org/apache/log4j/Priority.html#toPriority(int)"><B>toPriority(int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="./org/apache/log4j/Level.html#toLevel(int)"><CODE>Level.toLevel(int)</CODE></A> method instead.</I> +<DT><A HREF="./org/apache/log4j/Priority.html#toPriority(int, org.apache.log4j.Priority)"><B>toPriority(int, Priority)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="./org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)"><CODE>Level.toLevel(int, Level)</CODE></A> method instead.</I> +<DT><A HREF="./org/apache/log4j/Priority.html#toPriority(java.lang.String, org.apache.log4j.Priority)"><B>toPriority(String, Priority)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD><B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="./org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)"><CODE>Level.toLevel(String, Level)</CODE></A> method instead.</I> +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#toString()"><B>toString()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#toString()"><B>toString()</B></A> - +Method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>Return a String representation of this LogRecord. +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#toString()"><B>toString()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#toString()"><B>toString()</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#toString()"><B>toString()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/Priority.html#toString()"><B>toString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>Returns the string representation of this priority. +<DT><A HREF="./org/apache/log4j/Level.html#TRACE"><B>TRACE</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>The <code>TRACE</code> Level designates finer-grained + informational events than the <code>DEBUG</code level. +<DT><A HREF="./org/apache/log4j/Logger.html#trace(java.lang.Object)"><B>trace(Object)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#TRACE"><CODE>TRACE</CODE></A> level. +<DT><A HREF="./org/apache/log4j/Logger.html#trace(java.lang.Object, java.lang.Throwable)"><B>trace(Object, Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> +<DD>Log a message object with the <code>TRACE</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A><code>t</code> passed as parameter. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>trace(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>trace(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, boolean)"><B>trace(Logger, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, char)"><B>trace(Logger, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, byte)"><B>trace(Logger, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, short)"><B>trace(Logger, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, int)"><B>trace(Logger, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, long)"><B>trace(Logger, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, float)"><B>trace(Logger, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, double)"><B>trace(Logger, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><B>trace(Logger, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><B>trace(Logger, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>trace(Logger, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>trace(Logger, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>trace(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>trace(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, boolean)"><B>trace(Logger, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, char)"><B>trace(Logger, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, byte)"><B>trace(Logger, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, short)"><B>trace(Logger, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, int)"><B>trace(Logger, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, long)"><B>trace(Logger, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, float)"><B>trace(Logger, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, double)"><B>trace(Logger, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><B>trace(Logger, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><B>trace(Logger, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>trace(Logger, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>trace(Logger, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogXF.html#TRACE"><B>TRACE</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Trace level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#trace(java.lang.Object)"><B>trace(Object)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#TRACE"><CODE>TRACE</CODE></A> level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#trace(java.lang.Object, java.lang.Throwable)"><B>trace(Object, Throwable)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <code>TRACE</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A><code>t</code> passed as parameter. +<DT><A HREF="./org/apache/log4j/Level.html#TRACE_INT"><B>TRACE_INT</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>TRACE level integer value. +<DT><A HREF="./org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer"><B>TrackingAdjustmentListener</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A><DD>An AdjustmentListener which ensures that an Adjustable (e.g.<DT><A HREF="./org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html#TrackingAdjustmentListener()"><B>TrackingAdjustmentListener()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer">TrackingAdjustmentListener</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#trackTableScrollPane()"><B>trackTableScrollPane()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD><B>Deprecated.</B>&nbsp;<I>tracking is now done automatically.</I> +<DT><A HREF="./org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers"><B>Transform</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>Utility class for transforming strings.<DT><A HREF="./org/apache/log4j/helpers/Transform.html#Transform()"><B>Transform()</B></A> - +Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers">Transform</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>TreeModelAdapter</B></A> - Class in <A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A><DD>Default implementation of TreeModelListener which does nothing.<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html#TreeModelAdapter()"><B>TreeModelAdapter()</B></A> - +Constructor for class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">TreeModelAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html#treeNodesChanged(javax.swing.event.TreeModelEvent)"><B>treeNodesChanged(TreeModelEvent)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">TreeModelAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html#treeNodesInserted(javax.swing.event.TreeModelEvent)"><B>treeNodesInserted(TreeModelEvent)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">TreeModelAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html#treeNodesRemoved(javax.swing.event.TreeModelEvent)"><B>treeNodesRemoved(TreeModelEvent)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">TreeModelAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#treePathToString(javax.swing.tree.TreePath)"><B>treePathToString(TreePath)</B></A> - +Static method in class org.apache.log4j.lf5.viewer.configure.<A HREF="./org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html#treeStructureChanged(javax.swing.event.TreeModelEvent)"><B>treeStructureChanged(TreeModelEvent)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">TreeModelAdapter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><B>TriggeringEventEvaluator</B></A> - Interface in <A HREF="./org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A><DD>Implementions of this interface allow certain appenders to decide + when to perform an appender specific action.<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#trimOldestRecords()"><B>trimOldestRecords()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#trimRecords()"><B>trimRecords()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#TTCC_CONVERSION_PATTERN"><B>TTCC_CONVERSION_PATTERN</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> +<DD>A conversion pattern equivalent to the TTCCCLayout. +<DT><A HREF="./org/apache/log4j/PatternLayout.html#TTCC_CONVERSION_PATTERN"><B>TTCC_CONVERSION_PATTERN</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A> +<DD>A conversion pattern equivalent to the TTCCCLayout. +<DT><A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><B>TTCCLayout</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>TTCC layout format consists of time, thread, category and nested + diagnostic context information, hence the name.<DT><A HREF="./org/apache/log4j/TTCCLayout.html#TTCCLayout()"><B>TTCCLayout()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>Instantiate a TTCCLayout object with <A HREF="./org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>RelativeTimeDateFormat</CODE></A> as the date + formatter in the local time zone. +<DT><A HREF="./org/apache/log4j/TTCCLayout.html#TTCCLayout(java.lang.String)"><B>TTCCLayout(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A> +<DD>Instantiate a TTCCLayout object using the local time zone. +</DL> +<HR> +<A NAME="_U_"><!-- --></A><H2> +<B>U</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/net/ZeroConfSupport.html#unadvertise()"><B>unadvertise()</B></A> - +Method in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net">ZeroConfSupport</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#UNRECOGNIZED_MILLISECONDS"><B>UNRECOGNIZED_MILLISECONDS</B></A> - +Static variable in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> +<DD>Constant used to represent that there was an + observed change, but was an expected change. +<DT><A HREF="./org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><B>UnrecognizedElementHandler</B></A> - Interface in <A HREF="./org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A><DD>When implemented by an object configured by DOMConfigurator, + the handle method will be called when an unrecognized child + element is encountered.<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#update(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)"><B>update(CategoryNode, boolean)</B></A> - +Method in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#updateFrameSize()"><B>updateFrameSize()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#updateMRUList()"><B>updateMRUList()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>Removes old file list and creates a new file list + with the updated MRU list. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#updateStatusLabel()"><B>updateStatusLabel()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#updateView()"><B>updateView()</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_V_"><!-- --></A><H2> +<B>V</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - +Static method in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>Convert a log level label into a LogLevel object. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - +Static method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>Convert a column label into a LogTableColumn object. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(boolean)"><B>valueOf(boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Boolean instance representing the specified boolean. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(char)"><B>valueOf(char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Character instance representing the specified char. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(byte)"><B>valueOf(byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Byte instance representing the specified byte. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(short)"><B>valueOf(short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Short instance representing the specified short. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(int)"><B>valueOf(int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns an Integer instance representing the specified int. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(long)"><B>valueOf(long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Long instance representing the specified long. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(float)"><B>valueOf(float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Float instance representing the specified float. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(double)"><B>valueOf(double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Double instance representing the specified double. +</DL> +<HR> +<A NAME="_W_"><!-- --></A><H2> +<B>W</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/Category.html#warn(java.lang.Object)"><B>warn(Object)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#WARN"><CODE>WARN</CODE></A> Level. +<DT><A HREF="./org/apache/log4j/Category.html#warn(java.lang.Object, java.lang.Throwable)"><B>warn(Object, Throwable)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> +<DD>Log a message with the <code>WARN</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#warn(java.lang.String)"><B>warn(String)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>This method is used to output log4j internal warning + statements. +<DT><A HREF="./org/apache/log4j/helpers/LogLog.html#warn(java.lang.String, java.lang.Throwable)"><B>warn(String, Throwable)</B></A> - +Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A> +<DD>This method is used to output log4j internal warnings. +<DT><A HREF="./org/apache/log4j/Level.html#WARN"><B>WARN</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> +<DD>The <code>WARN</code> level designates potentially harmful situations. +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#WARN"><B>WARN</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>warn(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>warn(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, boolean)"><B>warn(Logger, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, char)"><B>warn(Logger, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, byte)"><B>warn(Logger, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, short)"><B>warn(Logger, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, int)"><B>warn(Logger, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, long)"><B>warn(Logger, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, float)"><B>warn(Logger, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, double)"><B>warn(Logger, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><B>warn(Logger, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><B>warn(Logger, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>warn(Logger, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>warn(Logger, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>warn(Logger, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>warn(Logger, Throwable, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, boolean)"><B>warn(Logger, String, boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, char)"><B>warn(Logger, String, char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, byte)"><B>warn(Logger, String, byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, short)"><B>warn(Logger, String, short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, int)"><B>warn(Logger, String, int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, long)"><B>warn(Logger, String, long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, float)"><B>warn(Logger, String, float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, double)"><B>warn(Logger, String, double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><B>warn(Logger, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><B>warn(Logger, String, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><B>warn(Logger, String, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>warn(Logger, String, Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> +<DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/Priority.html#WARN"><B>WARN</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="./org/apache/log4j/Level.html#WARN"><CODE>Level.WARN</CODE></A> instead.</I> +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#warn(java.lang.Object)"><B>warn(Object)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message object with the <A HREF="./org/apache/log4j/Level.html#WARN"><CODE>WARN</CODE></A> Level. +<DT><A HREF="./org/apache/log4j/spi/NOPLogger.html#warn(java.lang.Object, java.lang.Throwable)"><B>warn(Object, Throwable)</B></A> - +Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A> +<DD>Log a message with the <code>WARN</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. +<DT><A HREF="./org/apache/log4j/Priority.html#WARN_INT"><B>WARN_INT</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#WARNING"><B>WARNING</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/SAXErrorHandler.html#warning(org.xml.sax.SAXParseException)"><B>warning(SAXParseException)</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml">SAXErrorHandler</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/BoundedFIFO.html#wasEmpty()"><B>wasEmpty()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A> +<DD>Returns <code>true</code> if there is just one element in the + buffer. +<DT><A HREF="./org/apache/log4j/helpers/BoundedFIFO.html#wasFull()"><B>wasFull()</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A> +<DD>Returns <code>true</code> if the number of elements in the + buffer plus 1 equals the maximum buffer size, returns + <code>false</code> otherwise. +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#wrapStringOnPanel(java.lang.String, java.awt.Container)"><B>wrapStringOnPanel(String, Container)</B></A> - +Method in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html#write(java.lang.String)"><B>write(String)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers">CountingQuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/QuietWriter.html#write(java.lang.String)"><B>write(String)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/SyslogQuietWriter.html#write(java.lang.String)"><B>write(String)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers">SyslogQuietWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/SyslogWriter.html#write(char[], int, int)"><B>write(char[], int, int)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers">SyslogWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/helpers/SyslogWriter.html#write(java.lang.String)"><B>write(String)</B></A> - +Method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers">SyslogWriter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/spi/ErrorCode.html#WRITE_FAILURE"><B>WRITE_FAILURE</B></A> - +Static variable in interface org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi">ErrorCode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/WriterAppender.html#writeFooter()"><B>writeFooter()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Write a footer as produced by the embedded layout's <A HREF="./org/apache/log4j/Layout.html#getFooter()"><CODE>Layout.getFooter()</CODE></A> method. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#writeHeader()"><B>writeHeader()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Write a header as produced by the embedded layout's <A HREF="./org/apache/log4j/Layout.html#getHeader()"><CODE>Layout.getHeader()</CODE></A> method. +<DT><A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j"><B>WriterAppender</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>WriterAppender appends log events to a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A> or an + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A> depending on the user's choice.<DT><A HREF="./org/apache/log4j/WriterAppender.html#WriterAppender()"><B>WriterAppender()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>This default constructor does nothing. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#WriterAppender(org.apache.log4j.Layout, java.io.OutputStream)"><B>WriterAppender(Layout, OutputStream)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Instantiate a WriterAppender and set the output destination to a + new <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStreamWriter.html?is-external=true" title="class or interface in java.io"><CODE>OutputStreamWriter</CODE></A> initialized with <code>os</code> + as its <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A>. +<DT><A HREF="./org/apache/log4j/WriterAppender.html#WriterAppender(org.apache.log4j.Layout, java.io.Writer)"><B>WriterAppender(Layout, Writer)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> +<DD>Instantiate a WriterAppender and set the output destination to + <code>writer</code>. +</DL> +<HR> +<A NAME="_X_"><!-- --></A><H2> +<B>X</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml"><B>XMLLayout</B></A> - Class in <A HREF="./org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A><DD>The output of the XMLLayout consists of a series of log4j:event + elements as defined in the <a + href="./org/apache/log4j/xml/log4j.dtd">log4j.dtd</a>.<DT><A HREF="./org/apache/log4j/xml/XMLLayout.html#XMLLayout()"><B>XMLLayout()</B></A> - +Constructor for class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/examples/XMLSample.html" title="class in org.apache.log4j.xml.examples"><B>XMLSample</B></A> - Class in <A HREF="./org/apache/log4j/xml/examples/package-summary.html">org.apache.log4j.xml.examples</A><DD>This <a href="./org/apache/log4j/xml/examples/doc-files/XMLSample.java">example code</a> shows how to + read an XML based configuration file using a DOM parser.<DT><A HREF="./org/apache/log4j/xml/examples/XMLSample.html#XMLSample()"><B>XMLSample()</B></A> - +Constructor for class org.apache.log4j.xml.examples.<A HREF="./org/apache/log4j/xml/examples/XMLSample.html" title="class in org.apache.log4j.xml.examples">XMLSample</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_Z_"><!-- --></A><H2> +<B>Z</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net"><B>ZeroConfSupport</B></A> - Class in <A HREF="./org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/net/ZeroConfSupport.html#ZeroConfSupport(java.lang.String, int, java.lang.String, java.util.Map)"><B>ZeroConfSupport(String, int, String, Map)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net">ZeroConfSupport</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/ZeroConfSupport.html#ZeroConfSupport(java.lang.String, int, java.lang.String)"><B>ZeroConfSupport(String, int, String)</B></A> - +Constructor for class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net">ZeroConfSupport</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/net/SocketAppender.html#ZONE"><B>ZONE</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A> +<DD>The MulticastDNS zone advertised by a SocketAppender +<DT><A HREF="./org/apache/log4j/net/SocketHubAppender.html#ZONE"><B>ZONE</B></A> - +Static variable in class org.apache.log4j.net.<A HREF="./org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A> +<DD>The MulticastDNS zone advertised by a SocketHubAppender +</DL> +<HR> +<A NAME="___"><!-- --></A><H2> +<B>_</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_allRecords"><B>_allRecords</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_callSystemExitOnClose"><B>_callSystemExitOnClose</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_category"><B>_category</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#_categoryElements"><B>_categoryElements</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_categoryExplorerTree"><B>_categoryExplorerTree</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_categoryModel"><B>_categoryModel</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html#_categoryTitle"><B>_categoryTitle</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_changeEvent"><B>_changeEvent</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_checkBox"><B>_checkBox</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#_checkBox"><B>_checkBox</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_clickCountToStart"><B>_clickCountToStart</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colCategory"><B>_colCategory</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colDate"><B>_colDate</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colLevel"><B>_colLevel</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colLocation"><B>_colLocation</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colMessage"><B>_colMessage</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colMessageNum"><B>_colMessageNum</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_colNames"><B>_colNames</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colNames"><B>_colNames</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colNDC"><B>_colNDC</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#_color"><B>_color</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer">LogTableRowRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colThread"><B>_colThread</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colThrown"><B>_colThrown</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_columns"><B>_columns</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_colWidths"><B>_colWidths</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_configurationManager"><B>_configurationManager</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_currentView"><B>_currentView</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_dateFormatManager"><B>_dateFormatManager</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#_defaultLogMonitor"><B>_defaultLogMonitor</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/AppenderFinalizer.html#_defaultMonitor"><B>_defaultMonitor</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_detailTextArea"><B>_detailTextArea</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_displayedLogBrokerProperties"><B>_displayedLogBrokerProperties</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#_event"><B>_event</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_fileLocation"><B>_fileLocation</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_filter"><B>_filter</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_filteredRecords"><B>_filteredRecords</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#_finalizer"><B>_finalizer</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_fontName"><B>_fontName</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_fontSize"><B>_fontSize</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_fontSizeCombo"><B>_fontSizeCombo</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#_hasFatalChildren"><B>_hasFatalChildren</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#_hasFatalRecords"><B>_hasFatalRecords</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#_highlightFatal"><B>_highlightFatal</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer">LogTableRowRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_isDisposed"><B>_isDisposed</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#_label"><B>_label</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html#_label"><B>_label</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_lastEditedNode"><B>_lastEditedNode</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html#_lastMaximum"><B>_lastMaximum</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer">TrackingAdjustmentListener</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_lastTableViewportSize"><B>_lastTableViewportSize</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_leastSevereDisplayedLogLevel"><B>_leastSevereDisplayedLogLevel</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_level"><B>_level</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_levels"><B>_levels</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#_listener"><B>_listener</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_listenerList"><B>_listenerList</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_loadSystemFonts"><B>_loadSystemFonts</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_location"><B>_location</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_lock"><B>_lock</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logLevelMenuItems"><B>_logLevelMenuItems</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LF5Appender.html#_logMonitor"><B>_logMonitor</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logMonitorFrame"><B>_logMonitorFrame</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logMonitorFrameHeight"><B>_logMonitorFrameHeight</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logMonitorFrameWidth"><B>_logMonitorFrameWidth</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logTableColumnMenuItems"><B>_logTableColumnMenuItems</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logTableScrollPane"><B>_logTableScrollPane</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_maxNumberOfLogRecords"><B>_maxNumberOfLogRecords</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_message"><B>_message</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_millis"><B>_millis</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#_model"><B>_model</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerLogRecordFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#_model"><B>_model</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_mruFileManager"><B>_mruFileManager</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/util/Resource.html#_name"><B>_name</B></A> - +Variable in class org.apache.log4j.lf5.util.<A HREF="./org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_ndc"><B>_ndc</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_NDCTextFilter"><B>_NDCTextFilter</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#_numberOfContainedRecords"><B>_numberOfContainedRecords</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#_numberOfRecordsFromChildren"><B>_numberOfRecordsFromChildren</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_numCols"><B>_numCols</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#_panel"><B>_panel</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogLevel.html#_precedence"><B>_precedence</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_renderer"><B>_renderer</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#_renderFatal"><B>_renderFatal</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#_rootAlreadyExpanded"><B>_rootAlreadyExpanded</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_rowHeight"><B>_rowHeight</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#_sat"><B>_sat</B></A> - +Static variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_searchText"><B>_searchText</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#_selected"><B>_selected</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_seqCount"><B>_seqCount</B></A> - +Static variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_sequenceNumber"><B>_sequenceNumber</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_statusLabel"><B>_statusLabel</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_table"><B>_table</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogTable.html#_tableColumns"><B>_tableColumns</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_thread"><B>_thread</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_thrown"><B>_thrown</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/LogRecord.html#_thrownStackTrace"><B>_thrownStackTrace</B></A> - +Variable in class org.apache.log4j.lf5.<A HREF="./org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_trackTableScrollPane"><B>_trackTableScrollPane</B></A> - +Variable in class org.apache.log4j.lf5.viewer.<A HREF="./org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_tree"><B>_tree</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_value"><B>_value</B></A> - +Variable in class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="./org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> +<DD>&nbsp; +</DL> +<HR> +<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <A HREF="#_Z_">Z</A> <A HREF="#___">_</A> + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="./allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/index.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/index.html similarity index 85% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/index.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/index.html index 46c255d3cbf..261fe37a001 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/index.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/index.html @@ -3,14 +3,16 @@ <HTML> <HEAD> <!-- Generated by javadoc --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Apache Extras Companion for log4j 1.2. 1.0 API +Apache Log4j 1.2.16 API </TITLE> <SCRIPT type="text/javascript"> targetPage = "" + window.location.search; if (targetPage != "" && targetPage != "undefined") - targetPage = targetPage.substring(1); + targetPage = targetPage.substring(1); + if (targetPage.indexOf(":") != -1) + targetPage = "undefined"; function loadFrames() { if (targetPage != "" && targetPage != "undefined") top.classFrame.location = top.targetPage; diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/options b/thirdparty/apache-log4j-1.2.16/site/apidocs/options new file mode 100644 index 00000000000..3ecc1974a2c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/options @@ -0,0 +1,25 @@ +-classpath +'/home/curta/ls-svn/log4j/target/checkout/target/classes:/home/curta/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0/geronimo-jms_1.1_spec-1.0.jar:/home/curta/.m2/repository/javax/activation/activation/1.1/activation-1.1.jar:/home/curta/.m2/repository/javax/mail/mail/1.4.1/mail-1.4.1.jar' +-encoding +'UTF-8' +-protected +-sourcepath +'/home/curta/ls-svn/log4j/target/checkout/src/main/java:/home/curta/ls-svn/log4j/target/checkout/src/main/javadoc' +-author +-bottom +'Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.' +-charset +'UTF-8' +-d +'/home/curta/ls-svn/log4j/target/checkout/target/site/apidocs' +-docencoding +'UTF-8' +-docfilessubdirs +-doctitle +'Apache Log4j 1.2.16 API' +-link +'http://java.sun.com/j2se/1.3/docs/api' +-use +-version +-windowtitle +'Apache Log4j 1.2.16 API' \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Appender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Appender.html new file mode 100644 index 00000000000..8990fc635c0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Appender.html @@ -0,0 +1,494 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Appender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Appender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Appender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Appender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Appender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Interface Appender</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A>, <A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A>, <A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A>, <A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A>, <A HREF="../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A>, <A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A>, <A HREF="../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A>, <A HREF="../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A>, <A HREF="../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A>, <A HREF="../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A>, <A HREF="../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A>, <A HREF="../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A>, <A HREF="../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A>, <A HREF="../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A>, <A HREF="../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A>, <A HREF="../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A>, <A HREF="../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>Appender</B></DL> +</PRE> + +<P> +Implement this interface for your own strategies for outputting log + statements. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A></B>(<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;newFilter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a filter to the end of the filter list.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#clearFilters()">clearFilters</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear the list of filters by removing all the filters in it.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release any resources allocated within the appender such as file + handles, network connections, etc.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log in <code>Appender</code> specific way.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#getErrorHandler()">getErrorHandler</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#getFilter()">getFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the head Filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#getLayout()">getLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this appenders layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#getName()">getName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the name of this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configurators call this method to determine if the appender + requires a layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></B>(<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;errorHandler)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#setLayout(org.apache.log4j.Layout)">setLayout</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><CODE>Layout</CODE></A> for this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Appender.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the name of this appender.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addFilter(org.apache.log4j.spi.Filter)"><!-- --></A><H3> +addFilter</H3> +<PRE> +void <B>addFilter</B>(<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;newFilter)</PRE> +<DL> +<DD>Add a filter to the end of the filter list. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFilter()"><!-- --></A><H3> +getFilter</H3> +<PRE> +<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>getFilter</B>()</PRE> +<DL> +<DD>Returns the head Filter. The Filters are organized in a linked list + and so all Filters on this Appender are available through the result. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>the head Filter or null, if no Filters are present<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="clearFilters()"><!-- --></A><H3> +clearFilters</H3> +<PRE> +void <B>clearFilters</B>()</PRE> +<DL> +<DD>Clear the list of filters by removing all the filters in it. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +void <B>close</B>()</PRE> +<DL> +<DD>Release any resources allocated within the appender such as file + handles, network connections, etc. + + <p>It is a programming error to append to a closed appender. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="doAppend(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +doAppend</H3> +<PRE> +void <B>doAppend</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Log in <code>Appender</code> specific way. When appropriate, + Loggers will call the <code>doAppend</code> method of appender + implementations in order to log. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getName()"><!-- --></A><H3> +getName</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE> +<DL> +<DD>Get the name of this appender. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>name, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="setErrorHandler(org.apache.log4j.spi.ErrorHandler)"><!-- --></A><H3> +setErrorHandler</H3> +<PRE> +void <B>setErrorHandler</B>(<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;errorHandler)</PRE> +<DL> +<DD>Set the <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this appender. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getErrorHandler()"><!-- --></A><H3> +getErrorHandler</H3> +<PRE> +<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> <B>getErrorHandler</B>()</PRE> +<DL> +<DD>Returns the <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this appender. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLayout(org.apache.log4j.Layout)"><!-- --></A><H3> +setLayout</H3> +<PRE> +void <B>setLayout</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</PRE> +<DL> +<DD>Set the <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><CODE>Layout</CODE></A> for this appender. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLayout()"><!-- --></A><H3> +getLayout</H3> +<PRE> +<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> <B>getLayout</B>()</PRE> +<DL> +<DD>Returns this appenders layout. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setName(java.lang.String)"><!-- --></A><H3> +setName</H3> +<PRE> +void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Set the name of this appender. The name is used by other + components to identify this appender. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>Configurators call this method to determine if the appender + requires a layout. If this method returns <code>true</code>, + meaning that layout is required, then the configurator will + configure an layout using the configuration information at its + disposal. If this method returns <code>false</code>, 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.. + + <p>In the rather exceptional case, where the appender + implementation admits a layout but can also work without it, then + the appender should return <code>true</code>. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Appender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Appender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Appender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/AppenderSkeleton.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/AppenderSkeleton.html new file mode 100644 index 00000000000..69374a63a90 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/AppenderSkeleton.html @@ -0,0 +1,903 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AppenderSkeleton (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AppenderSkeleton (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AppenderSkeleton.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/AppenderSkeleton.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderSkeleton.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class AppenderSkeleton</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.AppenderSkeleton</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A>, <A HREF="../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A>, <A HREF="../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A>, <A HREF="../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A>, <A HREF="../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A>, <A HREF="../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A>, <A HREF="../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A>, <A HREF="../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A>, <A HREF="../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A>, <A HREF="../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A>, <A HREF="../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>AppenderSkeleton</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DL> +</PRE> + +<P> +Abstract superclass of the other appenders in the package. + + This class provides the code for common functionality, such as + support for threshold filtering and support for general filters. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is this appender closed?</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It is assumed and enforced that errorHandler is never null.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The first filter in the filter chain.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The layout variable does not need to be set if the appender + implementation has its own layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#name">name</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appenders are named.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The last filter in the filter chain.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;There is no level threshold filtering by default.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#AppenderSkeleton()">AppenderSkeleton</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#AppenderSkeleton(boolean)">AppenderSkeleton</A></B>(boolean&nbsp;isActive)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Derived appenders should override this method if option structure + requires it.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A></B>(<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;newFilter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a filter to end of the filter list.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected abstract &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear the filters chain.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method performs threshold checks and invokes filters before + delegating actual logging to the subclasses specific <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)"><CODE>append(org.apache.log4j.spi.LoggingEvent)</CODE></A> method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finalize this appender by calling the derived class' + <code>close</code> method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the currently set <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this + Appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the head Filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the first filter in the filter chain for this + Appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the layout of this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this appenders threshold level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether the message level is below the appender's + threshold.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></B>(<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this Appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the layout for this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the name of this Appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;threshold)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the threshold level.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Appender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from interface org.apache.log4j.<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Appender.html#close()">close</A>, <A HREF="../../../org/apache/log4j/Appender.html#requiresLayout()">requiresLayout</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="layout"><!-- --></A><H3> +layout</H3> +<PRE> +protected <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> <B>layout</B></PRE> +<DL> +<DD>The layout variable does not need to be set if the appender + implementation has its own layout. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="name"><!-- --></A><H3> +name</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>name</B></PRE> +<DL> +<DD>Appenders are named. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="threshold"><!-- --></A><H3> +threshold</H3> +<PRE> +protected <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>threshold</B></PRE> +<DL> +<DD>There is no level threshold filtering by default. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="errorHandler"><!-- --></A><H3> +errorHandler</H3> +<PRE> +protected <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> <B>errorHandler</B></PRE> +<DL> +<DD>It is assumed and enforced that errorHandler is never null. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="headFilter"><!-- --></A><H3> +headFilter</H3> +<PRE> +protected <A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>headFilter</B></PRE> +<DL> +<DD>The first filter in the filter chain. Set to <code>null</code> + initially. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="tailFilter"><!-- --></A><H3> +tailFilter</H3> +<PRE> +protected <A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>tailFilter</B></PRE> +<DL> +<DD>The last filter in the filter chain. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="closed"><!-- --></A><H3> +closed</H3> +<PRE> +protected boolean <B>closed</B></PRE> +<DL> +<DD>Is this appender closed? +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AppenderSkeleton()"><!-- --></A><H3> +AppenderSkeleton</H3> +<PRE> +public <B>AppenderSkeleton</B>()</PRE> +<DL> +<DD>Create new instance. +<P> +</DL> +<HR> + +<A NAME="AppenderSkeleton(boolean)"><!-- --></A><H3> +AppenderSkeleton</H3> +<PRE> +protected <B>AppenderSkeleton</B>(boolean&nbsp;isActive)</PRE> +<DL> +<DD>Create new instance. + Provided for compatibility with log4j 1.3. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>isActive</CODE> - true if appender is ready for use upon construction. + Not used in log4j 1.2.x.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Derived appenders should override this method if option structure + requires it. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addFilter(org.apache.log4j.spi.Filter)"><!-- --></A><H3> +addFilter</H3> +<PRE> +public void <B>addFilter</B>(<A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;newFilter)</PRE> +<DL> +<DD>Add a filter to end of the filter list. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +protected abstract void <B>append</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging. See also <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend</CODE></A> method. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="clearFilters()"><!-- --></A><H3> +clearFilters</H3> +<PRE> +public void <B>clearFilters</B>()</PRE> +<DL> +<DD>Clear the filters chain. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#clearFilters()">clearFilters</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="finalize()"><!-- --></A><H3> +finalize</H3> +<PRE> +public void <B>finalize</B>()</PRE> +<DL> +<DD>Finalize this appender by calling the derived class' + <code>close</code> method. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getErrorHandler()"><!-- --></A><H3> +getErrorHandler</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> <B>getErrorHandler</B>()</PRE> +<DL> +<DD>Return the currently set <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this + Appender. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#getErrorHandler()">getErrorHandler</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFilter()"><!-- --></A><H3> +getFilter</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>getFilter</B>()</PRE> +<DL> +<DD>Returns the head Filter. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#getFilter()">getFilter</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>the head Filter or null, if no Filters are present<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFirstFilter()"><!-- --></A><H3> +getFirstFilter</H3> +<PRE> +public final <A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>getFirstFilter</B>()</PRE> +<DL> +<DD>Return the first filter in the filter chain for this + Appender. The return value may be <code>null</code> if no is + filter is set. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLayout()"><!-- --></A><H3> +getLayout</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> <B>getLayout</B>()</PRE> +<DL> +<DD>Returns the layout of this appender. The value may be null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#getLayout()">getLayout</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getName()"><!-- --></A><H3> +getName</H3> +<PRE> +public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE> +<DL> +<DD>Returns the name of this appender. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>name, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="getThreshold()"><!-- --></A><H3> +getThreshold</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>getThreshold</B>()</PRE> +<DL> +<DD>Returns this appenders threshold level. See the <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)"><CODE>setThreshold(org.apache.log4j.Priority)</CODE></A> method for the meaning of this option. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isAsSevereAsThreshold(org.apache.log4j.Priority)"><!-- --></A><H3> +isAsSevereAsThreshold</H3> +<PRE> +public boolean <B>isAsSevereAsThreshold</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</PRE> +<DL> +<DD>Check whether the message level is below the appender's + threshold. If there is no threshold set, then the return value is + always <code>true</code>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="doAppend(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +doAppend</H3> +<PRE> +public void <B>doAppend</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>This method performs threshold checks and invokes filters before + delegating actual logging to the subclasses specific <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)"><CODE>append(org.apache.log4j.spi.LoggingEvent)</CODE></A> method. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setErrorHandler(org.apache.log4j.spi.ErrorHandler)"><!-- --></A><H3> +setErrorHandler</H3> +<PRE> +public void <B>setErrorHandler</B>(<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</PRE> +<DL> +<DD>Set the <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this Appender. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLayout(org.apache.log4j.Layout)"><!-- --></A><H3> +setLayout</H3> +<PRE> +public void <B>setLayout</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</PRE> +<DL> +<DD>Set the layout for this appender. Note that some appenders have + their own (fixed) layouts or do not use one. For example, the + <A HREF="../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><CODE>SocketAppender</CODE></A> ignores the layout set + here. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#setLayout(org.apache.log4j.Layout)">setLayout</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setName(java.lang.String)"><!-- --></A><H3> +setName</H3> +<PRE> +public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Set the name of this Appender. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setThreshold(org.apache.log4j.Priority)"><!-- --></A><H3> +setThreshold</H3> +<PRE> +public void <B>setThreshold</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;threshold)</PRE> +<DL> +<DD>Set the threshold level. All log events with lower level + than the threshold level are ignored by the appender. + + <p>In configuration files this option is specified by setting the + value of the <b>Threshold</b> option to a level + string, such as "DEBUG", "INFO" and so on. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.3</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AppenderSkeleton.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/AppenderSkeleton.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderSkeleton.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/AsyncAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/AsyncAppender.html new file mode 100644 index 00000000000..1503acf93a9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/AsyncAppender.html @@ -0,0 +1,750 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AsyncAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AsyncAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AsyncAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/AsyncAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AsyncAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class AsyncAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.AsyncAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A>, <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>AsyncAppender</B><DT>extends <A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A><DT>implements <A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></DL> +</PRE> + +<P> +The AsyncAppender lets users log events asynchronously. + <p/> + <p/> + The AsyncAppender will collect the events sent to it and then dispatch them + to all the appenders that are attached to it. You can attach multiple + appenders to an AsyncAppender. + </p> + <p/> + <p/> + The AsyncAppender uses a separate thread to serve the events in its buffer. + </p> + <p/> + <b>Important note:</b> The <code>AsyncAppender</code> can only be script + configured using the <A HREF="../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><CODE>DOMConfigurator</CODE></A>. + </p> +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.9.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Curt Arnold</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#DEFAULT_BUFFER_SIZE">DEFAULT_BUFFER_SIZE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default buffer size is set to 128 events.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#AsyncAppender()">AsyncAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#addAppender(org.apache.log4j.Appender)">addAppender</A></B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close this <code>AsyncAppender</code> by interrupting the dispatcher + thread which will process all pending events before exiting.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#getAllAppenders()">getAllAppenders</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get iterator over attached appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#getAppender(java.lang.String)">getAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get appender by name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#getBlocking()">getBlocking</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether appender should block calling thread when buffer is full.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#getBufferSize()">getBufferSize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the current buffer size.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#getLocationInfo()">getLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether the location of the logging request call + should be captured.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#isAttached(org.apache.log4j.Appender)">isAttached</A></B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if specified appender is attached.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#removeAllAppenders()">removeAllAppenders</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes and closes all attached appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes an appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#removeAppender(java.lang.String)">removeAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove appender by name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configurators call this method to determine if the appender + requires a layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#setBlocking(boolean)">setBlocking</A></B>(boolean&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether appender should wait if there is no + space available in the event buffer or immediately return.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#setBufferSize(int)">setBufferSize</A></B>(int&nbsp;size)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the number of messages allowed in the event buffer + before the calling thread is blocked (if blocking is true) + or until messages are summarized and discarded.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/AsyncAppender.html#setLocationInfo(boolean)">setLocationInfo</A></B>(boolean&nbsp;flag)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>LocationInfo</b> option takes a boolean value.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DEFAULT_BUFFER_SIZE"><!-- --></A><H3> +DEFAULT_BUFFER_SIZE</H3> +<PRE> +public static final int <B>DEFAULT_BUFFER_SIZE</B></PRE> +<DL> +<DD>The default buffer size is set to 128 events. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.AsyncAppender.DEFAULT_BUFFER_SIZE">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AsyncAppender()"><!-- --></A><H3> +AsyncAppender</H3> +<PRE> +public <B>AsyncAppender</B>()</PRE> +<DL> +<DD>Create new instance. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +addAppender</H3> +<PRE> +public void <B>addAppender</B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</PRE> +<DL> +<DD>Add appender. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#addAppender(org.apache.log4j.Appender)">addAppender</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>newAppender</CODE> - appender to add, may not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging. See also <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend</CODE></A> method. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD>Close this <code>AsyncAppender</code> by interrupting the dispatcher + thread which will process all pending events before exiting. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAllAppenders()"><!-- --></A><H3> +getAllAppenders</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getAllAppenders</B>()</PRE> +<DL> +<DD>Get iterator over attached appenders. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#getAllAppenders()">getAllAppenders</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>iterator or null if no attached appenders.</DL> +</DD> +</DL> +<HR> + +<A NAME="getAppender(java.lang.String)"><!-- --></A><H3> +getAppender</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> <B>getAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Get appender by name. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#getAppender(java.lang.String)">getAppender</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - name, may not be null. +<DT><B>Returns:</B><DD>matching appender or null.</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocationInfo()"><!-- --></A><H3> +getLocationInfo</H3> +<PRE> +public boolean <B>getLocationInfo</B>()</PRE> +<DL> +<DD>Gets whether the location of the logging request call + should be captured. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>the current value of the <b>LocationInfo</b> option.</DL> +</DD> +</DL> +<HR> + +<A NAME="isAttached(org.apache.log4j.Appender)"><!-- --></A><H3> +isAttached</H3> +<PRE> +public boolean <B>isAttached</B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Determines if specified appender is attached. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#isAttached(org.apache.log4j.Appender)">isAttached</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>appender</CODE> - appender. +<DT><B>Returns:</B><DD>true if attached.</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>Configurators call this method to determine if the appender + requires a layout. If this method returns <code>true</code>, + meaning that layout is required, then the configurator will + configure an layout using the configuration information at its + disposal. If this method returns <code>false</code>, 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.. + + <p>In the rather exceptional case, where the appender + implementation admits a layout but can also work without it, then + the appender should return <code>true</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#requiresLayout()">requiresLayout</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAllAppenders()"><!-- --></A><H3> +removeAllAppenders</H3> +<PRE> +public void <B>removeAllAppenders</B>()</PRE> +<DL> +<DD>Removes and closes all attached appenders. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#removeAllAppenders()">removeAllAppenders</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +removeAppender</H3> +<PRE> +public void <B>removeAppender</B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Removes an appender. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>appender</CODE> - appender to remove.</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppender(java.lang.String)"><!-- --></A><H3> +removeAppender</H3> +<PRE> +public void <B>removeAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Remove appender by name. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(java.lang.String)">removeAppender</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - name.</DL> +</DD> +</DL> +<HR> + +<A NAME="setLocationInfo(boolean)"><!-- --></A><H3> +setLocationInfo</H3> +<PRE> +public void <B>setLocationInfo</B>(boolean&nbsp;flag)</PRE> +<DL> +<DD>The <b>LocationInfo</b> option takes a boolean value. By default, it is + set to false which means there will be no effort to extract the location + information related to the event. As a result, the event that will be + ultimately logged will likely to contain the wrong location information + (if present in the log format). + <p/> + <p/> + Location information extraction is comparatively very slow and should be + avoided unless performance is not a concern. + </p> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>flag</CODE> - true if location information should be extracted.</DL> +</DD> +</DL> +<HR> + +<A NAME="setBufferSize(int)"><!-- --></A><H3> +setBufferSize</H3> +<PRE> +public void <B>setBufferSize</B>(int&nbsp;size)</PRE> +<DL> +<DD>Sets the number of messages allowed in the event buffer + before the calling thread is blocked (if blocking is true) + or until messages are summarized and discarded. Changing + the size will not affect messages already in the buffer. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>size</CODE> - buffer size, must be positive.</DL> +</DD> +</DL> +<HR> + +<A NAME="getBufferSize()"><!-- --></A><H3> +getBufferSize</H3> +<PRE> +public int <B>getBufferSize</B>()</PRE> +<DL> +<DD>Gets the current buffer size. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>the current value of the <b>BufferSize</b> option.</DL> +</DD> +</DL> +<HR> + +<A NAME="setBlocking(boolean)"><!-- --></A><H3> +setBlocking</H3> +<PRE> +public void <B>setBlocking</B>(boolean&nbsp;value)</PRE> +<DL> +<DD>Sets whether appender should wait if there is no + space available in the event buffer or immediately return. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>value</CODE> - true if appender should wait until available space in buffer.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getBlocking()"><!-- --></A><H3> +getBlocking</H3> +<PRE> +public boolean <B>getBlocking</B>()</PRE> +<DL> +<DD>Gets whether appender should block calling thread when buffer is full. + If false, messages will be counted by logger and a summary + message appended after the contents of the buffer have been appended. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true if calling thread will be blocked when buffer is full.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AsyncAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/AsyncAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AsyncAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/BasicConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/BasicConfigurator.html new file mode 100644 index 00000000000..f2999e8e6e8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/BasicConfigurator.html @@ -0,0 +1,319 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +BasicConfigurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="BasicConfigurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BasicConfigurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/BasicConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BasicConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class BasicConfigurator</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.BasicConfigurator</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>BasicConfigurator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Use this class to quickly configure the package. + + <p>For file based configuration see <A HREF="../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><CODE>PropertyConfigurator</CODE></A>. For XML based configuration see <A HREF="../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><CODE>DOMConfigurator</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/BasicConfigurator.html#BasicConfigurator()">BasicConfigurator</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/BasicConfigurator.html#configure()">configure</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a <A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><CODE>ConsoleAppender</CODE></A> that uses <A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> + using the <A HREF="../../../org/apache/log4j/PatternLayout.html#TTCC_CONVERSION_PATTERN"><CODE>PatternLayout.TTCC_CONVERSION_PATTERN</CODE></A> and + prints to <code>System.out</code> to the root category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/BasicConfigurator.html#configure(org.apache.log4j.Appender)">configure</A></B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add <code>appender</code> to the root category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/BasicConfigurator.html#resetConfiguration()">resetConfiguration</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reset the default hierarchy to its defaut.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="BasicConfigurator()"><!-- --></A><H3> +BasicConfigurator</H3> +<PRE> +protected <B>BasicConfigurator</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="configure()"><!-- --></A><H3> +configure</H3> +<PRE> +public static void <B>configure</B>()</PRE> +<DL> +<DD>Add a <A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><CODE>ConsoleAppender</CODE></A> that uses <A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> + using the <A HREF="../../../org/apache/log4j/PatternLayout.html#TTCC_CONVERSION_PATTERN"><CODE>PatternLayout.TTCC_CONVERSION_PATTERN</CODE></A> and + prints to <code>System.out</code> to the root category. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="configure(org.apache.log4j.Appender)"><!-- --></A><H3> +configure</H3> +<PRE> +public static void <B>configure</B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Add <code>appender</code> to the root category. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>appender</CODE> - The appender to add to the root category.</DL> +</DD> +</DL> +<HR> + +<A NAME="resetConfiguration()"><!-- --></A><H3> +resetConfiguration</H3> +<PRE> +public static void <B>resetConfiguration</B>()</PRE> +<DL> +<DD>Reset the default hierarchy to its defaut. It is equivalent to + calling + <code>Category.getDefaultHierarchy().resetConfiguration()</code>. + + See <A HREF="../../../org/apache/log4j/Hierarchy.html#resetConfiguration()"><CODE>Hierarchy.resetConfiguration()</CODE></A> for more details. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BasicConfigurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/BasicConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BasicConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Category.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Category.html new file mode 100644 index 00000000000..1481b328e66 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Category.html @@ -0,0 +1,1951 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Category (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Category (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Category.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Category.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Category.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class Category</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.Category</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>Category</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></DL> +</PRE> + +<P> +<font color="#AA2222"><b>This class has been deprecated and + replaced by the <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> <em>subclass</em></b></font>. It + will be kept around to preserve backward compatibility until mid + 2003. + + <p><code>Logger</code> is a subclass of Category, i.e. it extends + Category. In other words, a logger <em>is</em> a category. Thus, + all operations that can be performed on a category can be + performed on a logger. Internally, whenever log4j is asked to + produce a Category object, it will instead produce a Logger + object. Log4j 1.2 will <em>never</em> produce Category objects but + only <code>Logger</code> instances. In order to preserve backward + compatibility, methods that previously accepted category objects + still continue to accept category objects. + + <p>For example, the following are all legal and will work as + expected. + + <pre> + &nbsp;&nbsp;&nbsp;// Deprecated form: + &nbsp;&nbsp;&nbsp;Category cat = Category.getInstance("foo.bar") + + &nbsp;&nbsp;&nbsp;// Preferred form for retrieving loggers: + &nbsp;&nbsp;&nbsp;Logger logger = Logger.getLogger("foo.bar") + </pre> + + <p>The first form is deprecated and should be avoided. + + <p><b>There is absolutely no need for new client code to use or + refer to the <code>Category</code> class.</b> Whenever possible, + please avoid referring to it or using it. + + <p>See the <a href="../../../../manual.html">short manual</a> for an + introduction on this class. + <p> + See the document entitled <a href="http://www.qos.ch/logging/preparingFor13.html">preparing + for log4j 1.3</a> for a more detailed discussion. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Anders Kristensen</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#additive">additive</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Additivity is set to true by default, that is children inherit + the appenders of their ancestors by default.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#level">level</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The assigned level of this category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#name">name</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of this category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#parent">parent</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The parent of this category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#repository">repository</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#resourceBundle">resourceBundle</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#Category(java.lang.String)">Category</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This constructor created a new <code>Category</code> instance and + sets its name.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#addAppender(org.apache.log4j.Appender)">addAppender</A></B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add <code>newAppender</code> to the list of appenders of this + Category instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#assertLog(boolean, java.lang.String)">assertLog</A></B>(boolean&nbsp;assertion, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If <code>assertion</code> parameter is <code>false</code>, then + logs <code>msg</code> as an <A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object)"><CODE>error</CODE></A> statement.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#callAppenders(org.apache.log4j.spi.LoggingEvent)">callAppenders</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call the appenders in the hierrachy starting at + <code>this</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object)">debug</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A> level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object, java.lang.Throwable)">debug</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>DEBUG</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#ERROR"><CODE>ERROR</CODE></A> Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object, java.lang.Throwable)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>ERROR</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#exists(java.lang.String)">exists</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/LogManager.html#exists(java.lang.String)"><CODE>LogManager.exists(java.lang.String)</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#fatal(java.lang.Object)">fatal</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#FATAL"><CODE>FATAL</CODE></A> Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#fatal(java.lang.Object, java.lang.Throwable)">fatal</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>FATAL</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#forcedLog(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">forcedLog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqcn, + <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method creates a new logging event and logs the event + without further checks.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getAdditivity()">getAdditivity</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the additivity flag for this Category instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getAllAppenders()">getAllAppenders</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the appenders contained in this category as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getAppender(java.lang.String)">getAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Look for the appender named as <code>name</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getChainedPriority()">getChainedPriority</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the the <A HREF="../../../org/apache/log4j/Category.html#getEffectiveLevel()"><CODE>getEffectiveLevel()</CODE></A> method + instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getCurrentCategories()">getCurrentCategories</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/LogManager.html#getCurrentLoggers()"><CODE>LogManager.getCurrentLoggers()</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getDefaultHierarchy()">getDefaultHierarchy</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/LogManager.html#getLoggerRepository()"><CODE>LogManager.getLoggerRepository()</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getEffectiveLevel()">getEffectiveLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starting from this category, search the category hierarchy for a + non-null level and return it.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getHierarchy()">getHierarchy</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/Category.html#getLoggerRepository()"><CODE>getLoggerRepository()</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getInstance(java.lang.Class)">getInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please make sure to use <A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.Class)"><CODE>Logger.getLogger(Class)</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getInstance(java.lang.String)">getInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Make sure to use <A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>Logger.getLogger(String)</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getLevel()">getLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the assigned <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A>, if any, for this Category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getLoggerRepository()">getLoggerRepository</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the the <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> where this + <code>Category</code> is attached.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getName()">getName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the category name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getParent()">getParent</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the parent of this category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getPriority()">getPriority</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/Category.html#getLevel()"><CODE>getLevel()</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getResourceBundle()">getResourceBundle</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the <em>inherited</em> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util"><CODE>ResourceBundle</CODE></A> for this + category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getResourceBundleString(java.lang.String)">getResourceBundleString</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the string resource coresponding to <code>key</code> in + this category's inherited resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#getRoot()">getRoot</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/Logger.html#getRootLogger()"><CODE>Logger.getRootLogger()</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#info(java.lang.Object)">info</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#INFO"><CODE>INFO</CODE></A> Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#info(java.lang.Object, java.lang.Throwable)">info</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>INFO</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#isAttached(org.apache.log4j.Appender)">isAttached</A></B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is the appender passed as parameter attached to this category?</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#isDebugEnabled()">isDebugEnabled</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for the <code>DEBUG</code> + Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#isEnabledFor(org.apache.log4j.Priority)">isEnabledFor</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for a given <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> passed as parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#isInfoEnabled()">isInfoEnabled</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for the info Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)">l7dlog</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a localized and parameterized message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)">l7dlog</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a localized message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object)">log</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This generic form is intended to be used by wrappers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This generic form is intended to be used by wrappers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;callerFQCN, + <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the most generic printing method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#removeAllAppenders()">removeAllAppenders</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove all previously added appenders from this Category + instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender passed as parameter form the list of appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#removeAppender(java.lang.String)">removeAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender with the name passed as parameter form the + list of appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#setAdditivity(boolean)">setAdditivity</A></B>(boolean&nbsp;additive)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the additivity flag for this Category instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)">setLevel</A></B>(<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the level of this Category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#setPriority(org.apache.log4j.Priority)">setPriority</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)"><CODE>setLevel(org.apache.log4j.Level)</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#setResourceBundle(java.util.ResourceBundle)">setResourceBundle</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</A>&nbsp;bundle)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the resource bundle to be used with localized logging + methods <A HREF="../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)"><CODE>l7dlog(Priority,String,Throwable)</CODE></A> and <A HREF="../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)"><CODE>l7dlog(Priority,String,Object[],Throwable)</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#shutdown()">shutdown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/LogManager.html#shutdown()"><CODE>LogManager.shutdown()</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#warn(java.lang.Object)">warn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#WARN"><CODE>WARN</CODE></A> Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Category.html#warn(java.lang.Object, java.lang.Throwable)">warn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message with the <code>WARN</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="name"><!-- --></A><H3> +name</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>name</B></PRE> +<DL> +<DD>The name of this category. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="level"><!-- --></A><H3> +level</H3> +<PRE> +protected volatile <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>level</B></PRE> +<DL> +<DD>The assigned level of this category. The + <code>level</code> variable need not be assigned a value in + which case it is inherited form the hierarchy. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="parent"><!-- --></A><H3> +parent</H3> +<PRE> +protected volatile <A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> <B>parent</B></PRE> +<DL> +<DD>The parent of this category. All categories have at least one + ancestor which is the root category. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="resourceBundle"><!-- --></A><H3> +resourceBundle</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</A> <B>resourceBundle</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="repository"><!-- --></A><H3> +repository</H3> +<PRE> +protected <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> <B>repository</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="additive"><!-- --></A><H3> +additive</H3> +<PRE> +protected boolean <B>additive</B></PRE> +<DL> +<DD>Additivity is set to true by default, that is children inherit + the appenders of their ancestors by default. If this variable is + set to <code>false</code> then the appenders found in the + ancestors of this category are not used. However, the children + of this category will inherit its appenders, unless the children + have their additivity flag set to <code>false</code> too. See + the user manual for more details. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Category(java.lang.String)"><!-- --></A><H3> +Category</H3> +<PRE> +protected <B>Category</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>This constructor created a new <code>Category</code> instance and + sets its name. + + <p>It is intended to be used by sub-classes only. You should not + create categories directly. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the category.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +addAppender</H3> +<PRE> +public void <B>addAppender</B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</PRE> +<DL> +<DD>Add <code>newAppender</code> to the list of appenders of this + Category instance. + + <p>If <code>newAppender</code> is already in the list of + appenders, then it won't be added again. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#addAppender(org.apache.log4j.Appender)">addAppender</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="assertLog(boolean, java.lang.String)"><!-- --></A><H3> +assertLog</H3> +<PRE> +public void <B>assertLog</B>(boolean&nbsp;assertion, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</PRE> +<DL> +<DD>If <code>assertion</code> parameter is <code>false</code>, then + logs <code>msg</code> as an <A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object)"><CODE>error</CODE></A> statement. + + <p>The <code>assert</code> method has been renamed to + <code>assertLog</code> because <code>assert</code> is a language + reserved word in JDK 1.4. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>assertion</CODE> - <DD><CODE>msg</CODE> - The message to print if <code>assertion</code> is + false.<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="callAppenders(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +callAppenders</H3> +<PRE> +public void <B>callAppenders</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Call the appenders in the hierrachy starting at + <code>this</code>. If no appenders could be found, emit a + warning. + + <p>This method calls all the appenders inherited from the + hierarchy circumventing any evaluation of whether to log or not + to log the particular log request. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - the event to log.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(java.lang.Object)"><!-- --></A><H3> +debug</H3> +<PRE> +public void <B>debug</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A> level. + + <p>This method first checks if this category is <code>DEBUG</code> + enabled by comparing the level of this category with the <A HREF="../../../org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A> level. If this category is + <code>DEBUG</code> enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + <A HREF="../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. It then proceeds to call all the + registered appenders in this category and also higher in the + hierarchy depending on the value of the additivity flag. + + <p><b>WARNING</b> Note that passing a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> to this + method will print the name of the <code>Throwable</code> but no + stack trace. To print a stack trace use the <A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object, java.lang.Throwable)"><CODE>debug(Object, + Throwable)</CODE></A> form instead. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +debug</H3> +<PRE> +public void <B>debug</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message object with the <code>DEBUG</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. + + <p>See <A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object)"><CODE>debug(Object)</CODE></A> form for more detailed information. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.Object)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#ERROR"><CODE>ERROR</CODE></A> Level. + + <p>This method first checks if this category is <code>ERROR</code> + enabled by comparing the level of this category with <A HREF="../../../org/apache/log4j/Level.html#ERROR"><CODE>ERROR</CODE></A> Level. If this category is <code>ERROR</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate <A HREF="../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. It proceeds to call all the + registered appenders in this category and also higher in the + hierarchy depending on the value of the additivity flag. + + <p><b>WARNING</b> Note that passing a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> to this + method will print the name of the <code>Throwable</code> but no + stack trace. To print a stack trace use the <A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object, java.lang.Throwable)"><CODE>error(Object, + Throwable)</CODE></A> form instead. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message object with the <code>ERROR</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. + + <p>See <A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object)"><CODE>error(Object)</CODE></A> form for more detailed information. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<HR> + +<A NAME="exists(java.lang.String)"><!-- --></A><H3> +exists</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>exists</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/LogManager.html#exists(java.lang.String)"><CODE>LogManager.exists(java.lang.String)</CODE></A> instead.</I> +<P> +<DD>If the named category exists (in the default hierarchy) then it + returns a reference to the category, otherwise it returns + <code>null</code>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.5</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="fatal(java.lang.Object)"><!-- --></A><H3> +fatal</H3> +<PRE> +public void <B>fatal</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#FATAL"><CODE>FATAL</CODE></A> Level. + + <p>This method first checks if this category is <code>FATAL</code> + enabled by comparing the level of this category with <A HREF="../../../org/apache/log4j/Level.html#FATAL"><CODE>FATAL</CODE></A> Level. If the category is <code>FATAL</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate + <A HREF="../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. It + proceeds to call all the registered appenders in this category and + also higher in the hierarchy depending on the value of the + additivity flag. + + <p><b>WARNING</b> Note that passing a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> to this + method will print the name of the Throwable but no stack trace. To + print a stack trace use the <A HREF="../../../org/apache/log4j/Category.html#fatal(java.lang.Object, java.lang.Throwable)"><CODE>fatal(Object, Throwable)</CODE></A> form + instead. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log</DL> +</DD> +</DL> +<HR> + +<A NAME="fatal(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +fatal</H3> +<PRE> +public void <B>fatal</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message object with the <code>FATAL</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. + + <p>See <A HREF="../../../org/apache/log4j/Category.html#fatal(java.lang.Object)"><CODE>fatal(Object)</CODE></A> for more detailed information. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<HR> + +<A NAME="forcedLog(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +forcedLog</H3> +<PRE> +protected void <B>forcedLog</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqcn, + <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>This method creates a new logging event and logs the event + without further checks. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAdditivity()"><!-- --></A><H3> +getAdditivity</H3> +<PRE> +public boolean <B>getAdditivity</B>()</PRE> +<DL> +<DD>Get the additivity flag for this Category instance. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAllAppenders()"><!-- --></A><H3> +getAllAppenders</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getAllAppenders</B>()</PRE> +<DL> +<DD>Get the appenders contained in this category as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>. If no appenders can be found, then a <A HREF="../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><CODE>NullEnumeration</CODE></A> + is returned. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#getAllAppenders()">getAllAppenders</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>Enumeration An enumeration of the appenders in this category.</DL> +</DD> +</DL> +<HR> + +<A NAME="getAppender(java.lang.String)"><!-- --></A><H3> +getAppender</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> <B>getAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Look for the appender named as <code>name</code>. + + <p>Return the appender with that name if in the list. Return + <code>null</code> otherwise. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#getAppender(java.lang.String)">getAppender</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getEffectiveLevel()"><!-- --></A><H3> +getEffectiveLevel</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getEffectiveLevel</B>()</PRE> +<DL> +<DD>Starting from this category, search the category hierarchy for a + non-null level and return it. Otherwise, return the level of the + root category. + + <p>The Category class is designed so that this method executes as + quickly as possible. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getChainedPriority()"><!-- --></A><H3> +getChainedPriority</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>getChainedPriority</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use the the <A HREF="../../../org/apache/log4j/Category.html#getEffectiveLevel()"><CODE>getEffectiveLevel()</CODE></A> method + instead.</I> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCurrentCategories()"><!-- --></A><H3> +getCurrentCategories</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getCurrentCategories</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/LogManager.html#getCurrentLoggers()"><CODE>LogManager.getCurrentLoggers()</CODE></A> instead.</I> +<P> +<DD>Returns all the currently defined categories in the default + hierarchy as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>. + + <p>The root category is <em>not</em> included in the returned + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDefaultHierarchy()"><!-- --></A><H3> +getDefaultHierarchy</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> <B>getDefaultHierarchy</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/LogManager.html#getLoggerRepository()"><CODE>LogManager.getLoggerRepository()</CODE></A> instead.</I> +<P> +<DD>Return the default Hierarchy instance. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getHierarchy()"><!-- --></A><H3> +getHierarchy</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> <B>getHierarchy</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/Category.html#getLoggerRepository()"><CODE>getLoggerRepository()</CODE></A> instead.</I> +<P> +<DD>Return the the <A HREF="../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><CODE>Hierarchy</CODE></A> where this <code>Category</code> + instance is attached. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLoggerRepository()"><!-- --></A><H3> +getLoggerRepository</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> <B>getLoggerRepository</B>()</PRE> +<DL> +<DD>Return the the <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> where this + <code>Category</code> is attached. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getInstance(java.lang.String)"><!-- --></A><H3> +getInstance</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> <B>getInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Make sure to use <A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>Logger.getLogger(String)</CODE></A> instead.</I> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getInstance(java.lang.Class)"><!-- --></A><H3> +getInstance</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> <B>getInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please make sure to use <A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.Class)"><CODE>Logger.getLogger(Class)</CODE></A> instead.</I> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getName()"><!-- --></A><H3> +getName</H3> +<PRE> +public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE> +<DL> +<DD>Return the category name. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getParent()"><!-- --></A><H3> +getParent</H3> +<PRE> +public final <A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> <B>getParent</B>()</PRE> +<DL> +<DD>Returns the parent of this category. Note that the parent of a + given category may change during the lifetime of the category. + + <p>The root category will return <code>null</code>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLevel()"><!-- --></A><H3> +getLevel</H3> +<PRE> +public final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getLevel</B>()</PRE> +<DL> +<DD>Returns the assigned <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A>, if any, for this Category. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>Level - the assigned Level, can be <code>null</code>.</DL> +</DD> +</DL> +<HR> + +<A NAME="getPriority()"><!-- --></A><H3> +getPriority</H3> +<PRE> +public final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getPriority</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/Category.html#getLevel()"><CODE>getLevel()</CODE></A> instead.</I> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRoot()"><!-- --></A><H3> +getRoot</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> <B>getRoot</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/Logger.html#getRootLogger()"><CODE>Logger.getRootLogger()</CODE></A> instead.</I> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getResourceBundle()"><!-- --></A><H3> +getResourceBundle</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</A> <B>getResourceBundle</B>()</PRE> +<DL> +<DD>Return the <em>inherited</em> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util"><CODE>ResourceBundle</CODE></A> for this + category. + + <p>This method walks the hierarchy to find the appropriate + resource bundle. It will return the resource bundle attached to + the closest ancestor of this category, much like the way + priorities are searched. In case there is no bundle in the + hierarchy then <code>null</code> is returned. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getResourceBundleString(java.lang.String)"><!-- --></A><H3> +getResourceBundleString</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getResourceBundleString</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</PRE> +<DL> +<DD>Returns the string resource coresponding to <code>key</code> in + this category's inherited resource bundle. See also <A HREF="../../../org/apache/log4j/Category.html#getResourceBundle()"><CODE>getResourceBundle()</CODE></A>. + + <p>If the resource cannot be found, then an <A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object)"><CODE>error</CODE></A> + message will be logged complaining about the missing resource. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="info(java.lang.Object)"><!-- --></A><H3> +info</H3> +<PRE> +public void <B>info</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#INFO"><CODE>INFO</CODE></A> Level. + + <p>This method first checks if this category is <code>INFO</code> + enabled by comparing the level of this category with <A HREF="../../../org/apache/log4j/Level.html#INFO"><CODE>INFO</CODE></A> Level. If the category is <code>INFO</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate + <A HREF="../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. It + proceeds to call all the registered appenders in this category and + also higher in the hierarchy depending on the value of the + additivity flag. + + <p><b>WARNING</b> Note that passing a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> to this + method will print the name of the Throwable but no stack trace. To + print a stack trace use the <A HREF="../../../org/apache/log4j/Category.html#info(java.lang.Object, java.lang.Throwable)"><CODE>info(Object, Throwable)</CODE></A> form + instead. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log</DL> +</DD> +</DL> +<HR> + +<A NAME="info(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +info</H3> +<PRE> +public void <B>info</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message object with the <code>INFO</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. + + <p>See <A HREF="../../../org/apache/log4j/Category.html#info(java.lang.Object)"><CODE>info(Object)</CODE></A> for more detailed information. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<HR> + +<A NAME="isAttached(org.apache.log4j.Appender)"><!-- --></A><H3> +isAttached</H3> +<PRE> +public boolean <B>isAttached</B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Is the appender passed as parameter attached to this category? +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#isAttached(org.apache.log4j.Appender)">isAttached</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isDebugEnabled()"><!-- --></A><H3> +isDebugEnabled</H3> +<PRE> +public boolean <B>isDebugEnabled</B>()</PRE> +<DL> +<DD>Check whether this category is enabled for the <code>DEBUG</code> + Level. + + <p> This function is intended to lessen the computational cost of + disabled log debug statements. + + <p> For some <code>cat</code> Category object, when you write, + <pre> + cat.debug("This is entry number: " + i ); + </pre> + + <p>You incur the cost constructing the message, concatenatiion in + this case, regardless of whether the message is logged or not. + + <p>If you are worried about speed, then you should write + <pre> + if(cat.isDebugEnabled()) { + cat.debug("This is entry number: " + i ); + } + </pre> + + <p>This way you will not incur the cost of parameter + construction if debugging is disabled for <code>cat</code>. On + the other hand, if the <code>cat</code> is debug enabled, you + will incur the cost of evaluating whether the category is debug + enabled twice. Once in <code>isDebugEnabled</code> and once in + the <code>debug</code>. This is an insignificant overhead + since evaluating a category takes about 1%% of the time it + takes to actually log. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>boolean - <code>true</code> if this category is debug + enabled, <code>false</code> otherwise.</DL> +</DD> +</DL> +<HR> + +<A NAME="isEnabledFor(org.apache.log4j.Priority)"><!-- --></A><H3> +isEnabledFor</H3> +<PRE> +public boolean <B>isEnabledFor</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level)</PRE> +<DL> +<DD>Check whether this category is enabled for a given <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> passed as parameter. + + See also <A HREF="../../../org/apache/log4j/Category.html#isDebugEnabled()"><CODE>isDebugEnabled()</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>boolean True if this category is enabled for <code>level</code>.</DL> +</DD> +</DL> +<HR> + +<A NAME="isInfoEnabled()"><!-- --></A><H3> +isInfoEnabled</H3> +<PRE> +public boolean <B>isInfoEnabled</B>()</PRE> +<DL> +<DD>Check whether this category is enabled for the info Level. + See also <A HREF="../../../org/apache/log4j/Category.html#isDebugEnabled()"><CODE>isDebugEnabled()</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>boolean - <code>true</code> if this category is enabled + for level info, <code>false</code> otherwise.</DL> +</DD> +</DL> +<HR> + +<A NAME="l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)"><!-- --></A><H3> +l7dlog</H3> +<PRE> +public void <B>l7dlog</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a localized message. The user supplied parameter + <code>key</code> is replaced by its localized version from the + resource bundle. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/Category.html#setResourceBundle(java.util.ResourceBundle)"><CODE>setResourceBundle(java.util.ResourceBundle)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)"><!-- --></A><H3> +l7dlog</H3> +<PRE> +public void <B>l7dlog</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a localized and parameterized message. First, the user + supplied <code>key</code> is searched in the resource + bundle. Next, the resulting pattern is formatted using + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/MessageFormat.html?is-external=true#format(java.lang.String, java.lang.Object...)" title="class or interface in java.text"><CODE>MessageFormat.format(String,Object[])</CODE></A> method with the + user supplied object array <code>params</code>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>This generic form is intended to be used by wrappers. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Priority, java.lang.Object)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>This generic form is intended to be used by wrappers. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;callerFQCN, + <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>This is the most generic printing method. It is intended to be + invoked by <b>wrapper</b> classes. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>callerFQCN</CODE> - The wrapper class' fully qualified class name.<DD><CODE>level</CODE> - The level of the logging request.<DD><CODE>message</CODE> - The message of the logging request.<DD><CODE>t</CODE> - The throwable of the logging request, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAllAppenders()"><!-- --></A><H3> +removeAllAppenders</H3> +<PRE> +public void <B>removeAllAppenders</B>()</PRE> +<DL> +<DD>Remove all previously added appenders from this Category + instance. + + <p>This is useful when re-reading configuration information. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#removeAllAppenders()">removeAllAppenders</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +removeAppender</H3> +<PRE> +public void <B>removeAppender</B>(<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Remove the appender passed as parameter form the list of appenders. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppender(java.lang.String)"><!-- --></A><H3> +removeAppender</H3> +<PRE> +public void <B>removeAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Remove the appender with the name passed as parameter form the + list of appenders. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(java.lang.String)">removeAppender</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAdditivity(boolean)"><!-- --></A><H3> +setAdditivity</H3> +<PRE> +public void <B>setAdditivity</B>(boolean&nbsp;additive)</PRE> +<DL> +<DD>Set the additivity flag for this Category instance. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLevel(org.apache.log4j.Level)"><!-- --></A><H3> +setLevel</H3> +<PRE> +public void <B>setLevel</B>(<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</PRE> +<DL> +<DD>Set the level of this Category. If you are passing any of + <code>Level.DEBUG</code>, <code>Level.INFO</code>, + <code>Level.WARN</code>, <code>Level.ERROR</code>, + <code>Level.FATAL</code> as a parameter, you need to case them as + Level. + + <p>As in <pre> &nbsp;&nbsp;&nbsp;logger.setLevel((Level) Level.DEBUG); </pre> + + + <p>Null values are admitted. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setPriority(org.apache.log4j.Priority)"><!-- --></A><H3> +setPriority</H3> +<PRE> +public void <B>setPriority</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)"><CODE>setLevel(org.apache.log4j.Level)</CODE></A> instead.</I> +<P> +<DD>Set the level of this Category. + + <p>Null values are admitted. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setResourceBundle(java.util.ResourceBundle)"><!-- --></A><H3> +setResourceBundle</H3> +<PRE> +public void <B>setResourceBundle</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</A>&nbsp;bundle)</PRE> +<DL> +<DD>Set the resource bundle to be used with localized logging + methods <A HREF="../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)"><CODE>l7dlog(Priority,String,Throwable)</CODE></A> and <A HREF="../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)"><CODE>l7dlog(Priority,String,Object[],Throwable)</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="shutdown()"><!-- --></A><H3> +shutdown</H3> +<PRE> +public static void <B>shutdown</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/LogManager.html#shutdown()"><CODE>LogManager.shutdown()</CODE></A> instead.</I> +<P> +<DD>Calling this method will <em>safely</em> close and remove all + appenders in all the categories including root contained in the + default hierachy. + + <p>Some appenders such as <A HREF="../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><CODE>SocketAppender</CODE></A> + and <A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><CODE>AsyncAppender</CODE></A> need to be closed before the + application exists. Otherwise, pending logging events might be + lost. + + <p>The <code>shutdown</code> method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a category + and again to a nested appender. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(java.lang.Object)"><!-- --></A><H3> +warn</H3> +<PRE> +public void <B>warn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#WARN"><CODE>WARN</CODE></A> Level. + + <p>This method first checks if this category is <code>WARN</code> + enabled by comparing the level of this category with <A HREF="../../../org/apache/log4j/Level.html#WARN"><CODE>WARN</CODE></A> Level. If the category is <code>WARN</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate + <A HREF="../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. It + proceeds to call all the registered appenders in this category and + also higher in the hieararchy depending on the value of the + additivity flag. + + <p><b>WARNING</b> Note that passing a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> to this + method will print the name of the Throwable but no stack trace. To + print a stack trace use the <A HREF="../../../org/apache/log4j/Category.html#warn(java.lang.Object, java.lang.Throwable)"><CODE>warn(Object, Throwable)</CODE></A> form + instead. <p> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +warn</H3> +<PRE> +public void <B>warn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message with the <code>WARN</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. + + <p>See <A HREF="../../../org/apache/log4j/Category.html#warn(java.lang.Object)"><CODE>warn(Object)</CODE></A> for more detailed information. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Category.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Category.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Category.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/ConsoleAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/ConsoleAppender.html new file mode 100644 index 00000000000..0a59859993d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/ConsoleAppender.html @@ -0,0 +1,547 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ConsoleAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ConsoleAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ConsoleAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/ConsoleAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ConsoleAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class ConsoleAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">org.apache.log4j.WriterAppender</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.ConsoleAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>ConsoleAppender</B><DT>extends <A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></DL> +</PRE> + +<P> +ConsoleAppender appends log events to <code>System.out</code> or + <code>System.err</code> using a layout specified by the user. The + default target is <code>System.out</code>. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Curt Arnold</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#SYSTEM_ERR">SYSTEM_ERR</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#SYSTEM_OUT">SYSTEM_OUT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#target">target</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.WriterAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#encoding">encoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#immediateFlush">immediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#qw">qw</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#ConsoleAppender()">ConsoleAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an unconfigured appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#ConsoleAppender(org.apache.log4j.Layout)">ConsoleAppender</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a configured appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#ConsoleAppender(org.apache.log4j.Layout, java.lang.String)">ConsoleAppender</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;target)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a configured appender.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepares the appender for use.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#closeWriter()">closeWriter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close the underlying <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#getFollow()">getFollow</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether the appender honors reassignments of System.out + or System.err made after configuration.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#getTarget()">getTarget</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current value of the <b>Target</b> property.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#setFollow(boolean)">setFollow</A></B>(boolean&nbsp;newValue)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether the appender honors reassignments of System.out + or System.err made after configuration.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html#setTarget(java.lang.String)">setTarget</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the <b>Target</b> option.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.WriterAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#checkEntryConditions()">checkEntryConditions</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#close()">close</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#createWriter(java.io.OutputStream)">createWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#getEncoding()">getEncoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#getImmediateFlush()">getImmediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#requiresLayout()">requiresLayout</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#reset()">reset</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setEncoding(java.lang.String)">setEncoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setImmediateFlush(boolean)">setImmediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setWriter(java.io.Writer)">setWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#shouldFlush(org.apache.log4j.spi.LoggingEvent)">shouldFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#writeFooter()">writeFooter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#writeHeader()">writeHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SYSTEM_OUT"><!-- --></A><H3> +SYSTEM_OUT</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>SYSTEM_OUT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.ConsoleAppender.SYSTEM_OUT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="SYSTEM_ERR"><!-- --></A><H3> +SYSTEM_ERR</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>SYSTEM_ERR</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.ConsoleAppender.SYSTEM_ERR">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="target"><!-- --></A><H3> +target</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>target</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ConsoleAppender()"><!-- --></A><H3> +ConsoleAppender</H3> +<PRE> +public <B>ConsoleAppender</B>()</PRE> +<DL> +<DD>Constructs an unconfigured appender. +<P> +</DL> +<HR> + +<A NAME="ConsoleAppender(org.apache.log4j.Layout)"><!-- --></A><H3> +ConsoleAppender</H3> +<PRE> +public <B>ConsoleAppender</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</PRE> +<DL> +<DD>Creates a configured appender. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>layout</CODE> - layout, may not be null.</DL> +</DL> +<HR> + +<A NAME="ConsoleAppender(org.apache.log4j.Layout, java.lang.String)"><!-- --></A><H3> +ConsoleAppender</H3> +<PRE> +public <B>ConsoleAppender</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;target)</PRE> +<DL> +<DD>Creates a configured appender. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>layout</CODE> - layout, may not be null.<DD><CODE>target</CODE> - target, either "System.err" or "System.out".</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setTarget(java.lang.String)"><!-- --></A><H3> +setTarget</H3> +<PRE> +public void <B>setTarget</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</PRE> +<DL> +<DD>Sets the value of the <b>Target</b> option. Recognized values + are "System.out" and "System.err". Any other value will be + ignored. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTarget()"><!-- --></A><H3> +getTarget</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getTarget</B>()</PRE> +<DL> +<DD>Returns the current value of the <b>Target</b> property. The + default value of the option is "System.out". + + See also <A HREF="../../../org/apache/log4j/ConsoleAppender.html#setTarget(java.lang.String)"><CODE>setTarget(java.lang.String)</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setFollow(boolean)"><!-- --></A><H3> +setFollow</H3> +<PRE> +public final void <B>setFollow</B>(boolean&nbsp;newValue)</PRE> +<DL> +<DD>Sets whether the appender honors reassignments of System.out + or System.err made after configuration. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>newValue</CODE> - if true, appender will use value of System.out or + System.err in force at the time when logging events are appended.<DT><B>Since:</B></DT> + <DD>1.2.13</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFollow()"><!-- --></A><H3> +getFollow</H3> +<PRE> +public final boolean <B>getFollow</B>()</PRE> +<DL> +<DD>Gets whether the appender honors reassignments of System.out + or System.err made after configuration. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>true if appender will use value of System.out or + System.err in force at the time when logging events are appended.<DT><B>Since:</B></DT> + <DD>1.2.13</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Prepares the appender for use. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="closeWriter()"><!-- --></A><H3> +closeWriter</H3> +<PRE> +protected final void <B>closeWriter</B>()</PRE> +<DL> +<DD>Close the underlying <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A>. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#closeWriter()">closeWriter</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ConsoleAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/ConsoleAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ConsoleAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/DailyRollingFileAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/DailyRollingFileAppender.html new file mode 100644 index 00000000000..10be29786f8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/DailyRollingFileAppender.html @@ -0,0 +1,544 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DailyRollingFileAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DailyRollingFileAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DailyRollingFileAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/DailyRollingFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DailyRollingFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.FileAppender">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class DailyRollingFileAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">org.apache.log4j.WriterAppender</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">org.apache.log4j.FileAppender</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.DailyRollingFileAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>DailyRollingFileAppender</B><DT>extends <A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></DL> +</PRE> + +<P> +DailyRollingFileAppender extends <A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><CODE>FileAppender</CODE></A> so that the + underlying file is rolled over at a user chosen frequency. + + DailyRollingFileAppender has been observed to exhibit + synchronization issues and data loss. The log4j extras + companion includes alternatives which should be considered + for new deployments and which are discussed in the documentation + for org.apache.log4j.rolling.RollingFileAppender. + + <p>The rolling schedule is specified by the <b>DatePattern</b> + option. This pattern should follow the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A> + conventions. In particular, you <em>must</em> escape literal text + within a pair of single quotes. A formatted version of the date + pattern is used as the suffix for the rolled file name. + + <p>For example, if the <b>File</b> option is set to + <code>/foo/bar.log</code> and the <b>DatePattern</b> set to + <code>'.'yyyy-MM-dd</code>, on 2001-02-16 at midnight, the logging + file <code>/foo/bar.log</code> will be copied to + <code>/foo/bar.log.2001-02-16</code> and logging for 2001-02-17 + will continue in <code>/foo/bar.log</code> until it rolls over + the next day. + + <p>Is is possible to specify monthly, weekly, half-daily, daily, + hourly, or minutely rollover schedules. + + <p><table border="1" cellpadding="2"> + <tr> + <th>DatePattern</th> + <th>Rollover schedule</th> + <th>Example</th> + + <tr> + <td><code>'.'yyyy-MM</code> + <td>Rollover at the beginning of each month</td> + + <td>At midnight of May 31st, 2002 <code>/foo/bar.log</code> will be + copied to <code>/foo/bar.log.2002-05</code>. Logging for the month + of June will be output to <code>/foo/bar.log</code> until it is + also rolled over the next month. + + <tr> + <td><code>'.'yyyy-ww</code> + + <td>Rollover at the first day of each week. The first day of the + week depends on the locale.</td> + + <td>Assuming the first day of the week is Sunday, on Saturday + midnight, June 9th 2002, the file <i>/foo/bar.log</i> will be + copied to <i>/foo/bar.log.2002-23</i>. Logging for the 24th week + of 2002 will be output to <code>/foo/bar.log</code> until it is + rolled over the next week. + + <tr> + <td><code>'.'yyyy-MM-dd</code> + + <td>Rollover at midnight each day.</td> + + <td>At midnight, on March 8th, 2002, <code>/foo/bar.log</code> will + be copied to <code>/foo/bar.log.2002-03-08</code>. Logging for the + 9th day of March will be output to <code>/foo/bar.log</code> until + it is rolled over the next day. + + <tr> + <td><code>'.'yyyy-MM-dd-a</code> + + <td>Rollover at midnight and midday of each day.</td> + + <td>At noon, on March 9th, 2002, <code>/foo/bar.log</code> will be + copied to <code>/foo/bar.log.2002-03-09-AM</code>. Logging for the + afternoon of the 9th will be output to <code>/foo/bar.log</code> + until it is rolled over at midnight. + + <tr> + <td><code>'.'yyyy-MM-dd-HH</code> + + <td>Rollover at the top of every hour.</td> + + <td>At approximately 11:00.000 o'clock on March 9th, 2002, + <code>/foo/bar.log</code> will be copied to + <code>/foo/bar.log.2002-03-09-10</code>. Logging for the 11th hour + of the 9th of March will be output to <code>/foo/bar.log</code> + until it is rolled over at the beginning of the next hour. + + + <tr> + <td><code>'.'yyyy-MM-dd-HH-mm</code> + + <td>Rollover at the beginning of every minute.</td> + + <td>At approximately 11:23,000, on March 9th, 2001, + <code>/foo/bar.log</code> will be copied to + <code>/foo/bar.log.2001-03-09-10-22</code>. Logging for the minute + of 11:23 (9th of March) will be output to + <code>/foo/bar.log</code> until it is rolled over the next minute. + + </table> + + <p>Do not use the colon ":" character in anywhere in the + <b>DatePattern</b> option. The text before the colon is interpeted + as the protocol specificaion of a URL which is probably not what + you want. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Eirik Lygre, Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.FileAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/FileAppender.html#bufferedIO">bufferedIO</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#bufferSize">bufferSize</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#fileAppend">fileAppend</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#fileName">fileName</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.WriterAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#encoding">encoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#immediateFlush">immediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#qw">qw</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html#DailyRollingFileAppender()">DailyRollingFileAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default constructor does nothing.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html#DailyRollingFileAppender(org.apache.log4j.Layout, java.lang.String, java.lang.String)">DailyRollingFileAppender</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;datePattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a <code>DailyRollingFileAppender</code> and open the + file designated by <code>filename</code>.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the value of <b>File</b> is not <code>null</code>, then <A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><CODE>FileAppender.setFile(java.lang.String)</CODE></A> is called with the values of <b>File</b> and + <b>Append</b> properties.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html#getDatePattern()">getDatePattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>DatePattern</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html#setDatePattern(java.lang.String)">setDatePattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>DatePattern</b> takes a string in the same format as + expected by <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method differentiates DailyRollingFileAppender from its + super class.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.FileAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/FileAppender.html#closeFile()">closeFile</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#getAppend()">getAppend</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#getBufferedIO()">getBufferedIO</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#getBufferSize()">getBufferSize</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#getFile()">getFile</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#reset()">reset</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#setAppend(boolean)">setAppend</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#setBufferedIO(boolean)">setBufferedIO</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#setBufferSize(int)">setBufferSize</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)">setFile</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String, boolean, boolean, int)">setFile</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#setQWForFiles(java.io.Writer)">setQWForFiles</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.WriterAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#checkEntryConditions()">checkEntryConditions</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#close()">close</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#closeWriter()">closeWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#createWriter(java.io.OutputStream)">createWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#getEncoding()">getEncoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#getImmediateFlush()">getImmediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#requiresLayout()">requiresLayout</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setEncoding(java.lang.String)">setEncoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setImmediateFlush(boolean)">setImmediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setWriter(java.io.Writer)">setWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#shouldFlush(org.apache.log4j.spi.LoggingEvent)">shouldFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#writeFooter()">writeFooter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#writeHeader()">writeHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DailyRollingFileAppender()"><!-- --></A><H3> +DailyRollingFileAppender</H3> +<PRE> +public <B>DailyRollingFileAppender</B>()</PRE> +<DL> +<DD>The default constructor does nothing. +<P> +</DL> +<HR> + +<A NAME="DailyRollingFileAppender(org.apache.log4j.Layout, java.lang.String, java.lang.String)"><!-- --></A><H3> +DailyRollingFileAppender</H3> +<PRE> +public <B>DailyRollingFileAppender</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;datePattern) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Instantiate a <code>DailyRollingFileAppender</code> and open the + file designated by <code>filename</code>. The opened filename will + become the ouput destination for this appender. +<P> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setDatePattern(java.lang.String)"><!-- --></A><H3> +setDatePattern</H3> +<PRE> +public void <B>setDatePattern</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD>The <b>DatePattern</b> takes a string in the same format as + expected by <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A>. This options determines the + rollover schedule. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDatePattern()"><!-- --></A><H3> +getDatePattern</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getDatePattern</B>()</PRE> +<DL> +<DD>Returns the value of the <b>DatePattern</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../org/apache/log4j/FileAppender.html#activateOptions()">FileAppender</A></CODE></B></DD> +<DD>If the value of <b>File</b> is not <code>null</code>, then <A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><CODE>FileAppender.setFile(java.lang.String)</CODE></A> is called with the values of <b>File</b> and + <b>Append</b> properties. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/FileAppender.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="subAppend(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +subAppend</H3> +<PRE> +protected void <B>subAppend</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>This method differentiates DailyRollingFileAppender from its + super class. + + <p>Before actually logging, this method will check whether it is + time to do a rollover. If it is, it will schedule the next + rollover time and then rollover. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DailyRollingFileAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/DailyRollingFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DailyRollingFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.FileAppender">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/DefaultThrowableRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/DefaultThrowableRenderer.html new file mode 100644 index 00000000000..6835288e014 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/DefaultThrowableRenderer.html @@ -0,0 +1,298 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DefaultThrowableRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DefaultThrowableRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DefaultThrowableRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/DefaultThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class DefaultThrowableRenderer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.DefaultThrowableRenderer</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>DefaultThrowableRenderer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></DL> +</PRE> + +<P> +Default implementation of ThrowableRenderer using + Throwable.printStackTrace. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/DefaultThrowableRenderer.html#DefaultThrowableRenderer()">DefaultThrowableRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/DefaultThrowableRenderer.html#doRender(java.lang.Throwable)">doRender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render Throwable.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/DefaultThrowableRenderer.html#render(java.lang.Throwable)">render</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render throwable using Throwable.printStackTrace.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DefaultThrowableRenderer()"><!-- --></A><H3> +DefaultThrowableRenderer</H3> +<PRE> +public <B>DefaultThrowableRenderer</B>()</PRE> +<DL> +<DD>Construct new instance. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="doRender(java.lang.Throwable)"><!-- --></A><H3> +doRender</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>doRender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</PRE> +<DL> +<DD>Render Throwable. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html#doRender(java.lang.Throwable)">doRender</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>throwable</CODE> - throwable, may not be null. +<DT><B>Returns:</B><DD>String representation.</DL> +</DD> +</DL> +<HR> + +<A NAME="render(java.lang.Throwable)"><!-- --></A><H3> +render</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>render</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</PRE> +<DL> +<DD>Render throwable using Throwable.printStackTrace. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>throwable</CODE> - throwable, may not be null. +<DT><B>Returns:</B><DD>string representation.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DefaultThrowableRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/DefaultThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html new file mode 100644 index 00000000000..75e1aea8a3a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html @@ -0,0 +1,937 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +EnhancedPatternLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="EnhancedPatternLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedPatternLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class EnhancedPatternLayout</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">org.apache.log4j.Layout</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.EnhancedPatternLayout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>EnhancedPatternLayout</B><DT>extends <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></DL> +</PRE> + +<P> +This class is an enhanced version of org.apache.log4j.PatternLayout + which was originally developed as part of the abandoned log4j 1.3 + effort and has been available in the extras companion. + This pattern layout should be used in preference to + org.apache.log4j.PatternLayout except when compatibility + where PatternLayout has been extended either through subclassing + or alternative pattern parsers. + + + <p>A flexible layout configurable with pattern string. The goal of this class + is to <A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><CODE>format</CODE></A> a <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> and return the results + in a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang"><CODE>StringBuffer</CODE></A>. The format of the result depends on the + <em>conversion pattern</em>. + <p> + + <p>The conversion pattern is closely related to the conversion + pattern of the printf function in C. A conversion pattern is + composed of literal text and format control expressions called + <em>conversion specifiers</em>. + + <p><i>Note that you are free to insert any literal text within the + conversion pattern.</i> + </p> + + <p>Each conversion specifier starts with a percent sign (%) and is + followed by optional <em>format modifiers</em> and a <em>conversion + character</em>. The conversion character specifies the type of + data, e.g. category, priority, date, thread name. The format + modifiers control such things as field width, padding, left and + right justification. The following is a simple example. + + <p>Let the conversion pattern be <b>"%-5p [%t]: %m%n"</b> and assume + that the log4j environment was set to use a EnhancedPatternLayout. Then the + statements + <pre> + Category root = Category.getRoot(); + root.debug("Message 1"); + root.warn("Message 2"); + </pre> + would yield the output + <pre> + DEBUG [main]: Message 1 + WARN [main]: Message 2 + </pre> + + <p>Note that there is no explicit separator between text and + conversion specifiers. The pattern parser knows when it has reached + the end of a conversion specifier when it reads a conversion + character. In the example above the conversion specifier + <b>%-5p</b> means the priority of the logging event should be left + justified to a width of five characters. + + The recognized conversion characters are + + <p> + <table border="1" CELLPADDING="8"> + <th>Conversion Character</th> + <th>Effect</th> + + <tr> + <td align=center><b>c</b></td> + + <td>Used to output the category of the logging event. The + category conversion specifier can be optionally followed by + NameAbbreviator pattern. + + <p>For example, for the category name "alpha.beta.gamma" the pattern + <b>%c{2}</b> will output the last two elements ("beta.gamma"), + <b>%c{-2}</b> will remove two elements leaving "gamma", + <b>%c{1.}</b> will output "a.b.gamma". + + </td> + </tr> + + <tr> + <td align=center><b>C</b></td> + + <td>Used to output the fully qualified class name of the caller + issuing the logging request. This conversion specifier + can be optionally followed by <em>precision specifier</em>, that + is a decimal constant in brackets. + + <td>Used to output the category of the logging event. The + category conversion specifier can be optionally followed by + NameAbbreviator pattern. + + <p>For example, for the category name "alpha.beta.gamma" the pattern + <b>%c{2}</b> will output the last two elements ("beta.gamma"), + <b>%c{-2}</b> will remove two elements leaving "gamma", + <b>%c{1.}</b> will output "a.b.gamma". + + <p><b>WARNING</b> Generating the caller class information is + slow. Thus, its use should be avoided unless execution speed is + not an issue. + + </td> + </tr> + + <tr> <td align=center><b>d</b></td> <td>Used to output the date of + the logging event. The date conversion specifier may be + followed by a set of braces containing a + date and time pattern strings <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A>, + <em>ABSOLUTE</em>, <em>DATE</em> or <em>ISO8601</em> + and a set of braces containing a time zone id per + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true#getTimeZone(java.lang.String)" title="class or interface in java.util"><CODE>TimeZone.getTimeZone(String)</CODE></A>. + For example, <b>%d{HH:mm:ss,SSS}</b>, + <b>%d{dd&nbsp;MMM&nbsp;yyyy&nbsp;HH:mm:ss,SSS}</b>, + <b>%d{DATE}</b> or <b>%d{HH:mm:ss}{GMT+0}</b>. If no date format specifier is given then + ISO8601 format is assumed. + </td> + </tr> + + <tr> + <td align=center><b>F</b></td> + + <td>Used to output the file name where the logging request was + issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + <tr> + <td align=center><b>l</b></td> + + <td>Used to output location information of the caller which generated + the logging event. + + <p>The location information depends on the JVM implementation but + usually consists of the fully qualified name of the calling + method followed by the callers source the file name and line + number between parentheses. + + <p>The location information can be very useful. However, its + generation is <em>extremely</em> slow and should be avoided + unless execution speed is not an issue. + + </td> + </tr> + + <tr> + <td align=center><b>L</b></td> + + <td>Used to output the line number from where the logging request + was issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + + <tr> + <td align=center><b>m</b></td> + <td>Used to output the application supplied message associated with + the logging event.</td> + </tr> + + <tr> + <td align=center><b>M</b></td> + + <td>Used to output the method name where the logging request was + issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + <tr> + <td align=center><b>n</b></td> + + <td>Outputs the platform dependent line separator character or + characters. + + <p>This conversion character offers practically the same + performance as using non-portable line separator strings such as + "\n", or "\r\n". Thus, it is the preferred way of specifying a + line separator. + + + </tr> + + <tr> + <td align=center><b>p</b></td> + <td>Used to output the priority of the logging event.</td> + </tr> + + <tr> + + <td align=center><b>r</b></td> + + <td>Used to output the number of milliseconds elapsed since the construction + of the layout until the creation of the logging event.</td> + </tr> + + + <tr> + <td align=center><b>t</b></td> + + <td>Used to output the name of the thread that generated the + logging event.</td> + + </tr> + + <tr> + + <td align=center><b>x</b></td> + + <td>Used to output the NDC (nested diagnostic context) associated + with the thread that generated the logging event. + </td> + </tr> + + + <tr> + <td align=center><b>X</b></td> + + <td> + + <p>Used to output the MDC (mapped diagnostic context) associated + with the thread that generated the logging event. The <b>X</b> + conversion character can be followed by the key for the + map placed between braces, as in <b>%X{clientNumber}</b> where + <code>clientNumber</code> is the key. The value in the MDC + corresponding to the key will be output. If no additional sub-option + is specified, then the entire contents of the MDC key value pair set + is output using a format {{key1,val1},{key2,val2}}</p> + + <p>See <A HREF="../../../org/apache/log4j/MDC.html" title="class in org.apache.log4j"><CODE>MDC</CODE></A> class for more details. + </p> + + </td> + </tr> + + <tr> + <td align=center><b>properties</b></td> + + <td> + <p>Used to output the Properties associated + with the logging event. The <b>properties</b> + conversion word can be followed by the key for the + map placed between braces, as in <b>%properties{application}</b> where + <code>application</code> is the key. The value in the Properties bundle + corresponding to the key will be output. If no additional sub-option + is specified, then the entire contents of the Properties key value pair set + is output using a format {{key1,val1},{key2,val2}}</p> + </td> + </tr> + + <tr> + <td align=center><b>throwable</b></td> + + <td> + <p>Used to output the Throwable trace that has been bound to the LoggingEvent, by + default this will output the full trace as one would normally + find by a call to Throwable.printStackTrace(). + <b>%throwable{short}</b> or <b>%throwable{1}</b> will output the first line of + stack trace. <b>throwable{none}</b> or <b>throwable{0}</b> will suppress + the stack trace. <b>%throwable{n}</b> will output n lines of stack trace + if a positive integer or omit the last -n lines if a negative integer. + If no %throwable pattern is specified, the appender will take + responsibility to output the stack trace as it sees fit.</p> + </td> + </tr> + + <tr> + + <td align=center><b>%</b></td> + + <td>The sequence %% outputs a single percent sign. + </td> + </tr> + + </table> + + <p>By default the relevant information is output as is. However, + with the aid of format modifiers it is possible to change the + minimum field width, the maximum field width and justification. + + <p>The optional format modifier is placed between the percent sign + and the conversion character. + + <p>The first optional format modifier is the <em>left justification + flag</em> which is just the minus (-) character. Then comes the + optional <em>minimum field width</em> modifier. This is a decimal + constant that represents the minimum number of characters to + output. If the data item requires fewer characters, it is padded on + either the left or the right until the minimum width is + reached. The default is to pad on the left (right justify) but you + can specify right padding with the left justification flag. The + padding character is space. If the data item is larger than the + minimum field width, the field is expanded to accommodate the + data. The value is never truncated. + + <p>This behavior can be changed using the <em>maximum field + width</em> modifier which is designated by a period followed by a + decimal constant. If the data item is longer than the maximum + field, then the extra characters are removed from the + <em>beginning</em> of the data item and not from the end. For + example, it the maximum field width is eight and the data item is + ten characters long, then the first two characters of the data item + are dropped. This behavior deviates from the printf function in C + where truncation is done from the end. + + <p>Below are various format modifier examples for the category + conversion specifier. + + <p> + <TABLE BORDER=1 CELLPADDING=8> + <th>Format modifier + <th>left justify + <th>minimum width + <th>maximum width + <th>comment + + <tr> + <td align=center>%20c</td> + <td align=center>false</td> + <td align=center>20</td> + <td align=center>none</td> + + <td>Left pad with spaces if the category name is less than 20 + characters long. + + <tr> <td align=center>%-20c</td> <td align=center>true</td> <td + align=center>20</td> <td align=center>none</td> <td>Right pad with + spaces if the category name is less than 20 characters long. + + <tr> + <td align=center>%.30c</td> + <td align=center>NA</td> + <td align=center>none</td> + <td align=center>30</td> + + <td>Truncate from the beginning if the category name is longer than 30 + characters. + + <tr> + <td align=center>%20.30c</td> + <td align=center>false</td> + <td align=center>20</td> + <td align=center>30</td> + + <td>Left pad with spaces if the category name is shorter than 20 + characters. However, if category name is longer than 30 characters, + then truncate from the beginning. + + <tr> + <td align=center>%-20.30c</td> + <td align=center>true</td> + <td align=center>20</td> + <td align=center>30</td> + + <td>Right pad with spaces if the category name is shorter than 20 + characters. However, if category name is longer than 30 characters, + then truncate from the beginning. + + </table> + + <p>Below are some examples of conversion patterns. + + <dl> + + <p><dt><b>%r [%t] %-5p %c %x - %m%n</b> + <p><dd>This is essentially the TTCC layout. + + <p><dt><b>%-6r [%15.15t] %-5p %30.30c %x - %m%n</b> + + <p><dd>Similar to the TTCC layout except that the relative time is + right padded if less than 6 digits, thread name is right padded if + less than 15 characters and truncated if longer and the category + name is left padded if shorter than 30 characters and truncated if + longer. + + </dl> + + <p>The above text is largely inspired from Peter A. Darnell and + Philip E. Margolis' highly recommended book "C -- a Software + Engineering Approach", ISBN 0-387-97389-3. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +<DT><B>Author:</B></DT> + <DD><a href="mailto:cakalijp@Maritz.com">James P. Cakalic</a>, Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#BUF_SIZE">BUF_SIZE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.3</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#DEFAULT_CONVERSION_PATTERN">DEFAULT_CONVERSION_PATTERN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default pattern string for log output.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#MAX_CAPACITY">MAX_CAPACITY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.3</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#PATTERN_RULE_REGISTRY">PATTERN_RULE_REGISTRY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Customized pattern conversion rules are stored under this key in the + <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> object store.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#TTCC_CONVERSION_PATTERN">TTCC_CONVERSION_PATTERN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A conversion pattern equivalent to the TTCCCLayout.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP">LINE_SEP</A>, <A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP_LEN">LINE_SEP_LEN</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#EnhancedPatternLayout()">EnhancedPatternLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a EnhancedPatternLayout using the DEFAULT_LAYOUT_PATTERN.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#EnhancedPatternLayout(java.lang.String)">EnhancedPatternLayout</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a EnhancedPatternLayout using the supplied conversion pattern.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Activates the conversion pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#createPatternParser(java.lang.String)">createPatternParser</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns PatternParser used to parse the conversion string.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a logging event to a writer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#getConversionPattern()">getConversionPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>ConversionPattern</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#ignoresThrowable()">ignoresThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Will return false if any of the conversion specifiers in the pattern + handles <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><CODE>Exceptions</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#setConversionPattern(java.lang.String)">setConversionPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;conversionPattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <b>ConversionPattern</b> option.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Layout.html#getContentType()">getContentType</A>, <A HREF="../../../org/apache/log4j/Layout.html#getFooter()">getFooter</A>, <A HREF="../../../org/apache/log4j/Layout.html#getHeader()">getHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DEFAULT_CONVERSION_PATTERN"><!-- --></A><H3> +DEFAULT_CONVERSION_PATTERN</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DEFAULT_CONVERSION_PATTERN</B></PRE> +<DL> +<DD>Default pattern string for log output. Currently set to the + string <b>"%m%n"</b> which just prints the application supplied + message. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.EnhancedPatternLayout.DEFAULT_CONVERSION_PATTERN">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="TTCC_CONVERSION_PATTERN"><!-- --></A><H3> +TTCC_CONVERSION_PATTERN</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>TTCC_CONVERSION_PATTERN</B></PRE> +<DL> +<DD>A conversion pattern equivalent to the TTCCCLayout. + Current value is <b>%r [%t] %p %c %x - %m%n</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.EnhancedPatternLayout.TTCC_CONVERSION_PATTERN">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="BUF_SIZE"><!-- --></A><H3> +BUF_SIZE</H3> +<PRE> +protected final int <B>BUF_SIZE</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>since 1.3</I><DD>Initial size of internal buffer, no longer used. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.EnhancedPatternLayout.BUF_SIZE">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="MAX_CAPACITY"><!-- --></A><H3> +MAX_CAPACITY</H3> +<PRE> +protected final int <B>MAX_CAPACITY</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>since 1.3</I><DD>Maximum capacity of internal buffer, no longer used. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.EnhancedPatternLayout.MAX_CAPACITY">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="PATTERN_RULE_REGISTRY"><!-- --></A><H3> +PATTERN_RULE_REGISTRY</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>PATTERN_RULE_REGISTRY</B></PRE> +<DL> +<DD>Customized pattern conversion rules are stored under this key in the + <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> object store. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.EnhancedPatternLayout.PATTERN_RULE_REGISTRY">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="EnhancedPatternLayout()"><!-- --></A><H3> +EnhancedPatternLayout</H3> +<PRE> +public <B>EnhancedPatternLayout</B>()</PRE> +<DL> +<DD>Constructs a EnhancedPatternLayout using the DEFAULT_LAYOUT_PATTERN. + + The default pattern just produces the application supplied message. +<P> +</DL> +<HR> + +<A NAME="EnhancedPatternLayout(java.lang.String)"><!-- --></A><H3> +EnhancedPatternLayout</H3> +<PRE> +public <B>EnhancedPatternLayout</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD>Constructs a EnhancedPatternLayout using the supplied conversion pattern. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>pattern</CODE> - conversion pattern.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setConversionPattern(java.lang.String)"><!-- --></A><H3> +setConversionPattern</H3> +<PRE> +public void <B>setConversionPattern</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;conversionPattern)</PRE> +<DL> +<DD>Set the <b>ConversionPattern</b> option. This is the string which + controls formatting and consists of a mix of literal content and + conversion specifiers. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>conversionPattern</CODE> - conversion pattern.</DL> +</DD> +</DL> +<HR> + +<A NAME="getConversionPattern()"><!-- --></A><H3> +getConversionPattern</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getConversionPattern</B>()</PRE> +<DL> +<DD>Returns the value of the <b>ConversionPattern</b> option. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>conversion pattern.</DL> +</DD> +</DL> +<HR> + +<A NAME="createPatternParser(java.lang.String)"><!-- --></A><H3> +createPatternParser</H3> +<PRE> +protected <A HREF="../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> <B>createPatternParser</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD>Returns PatternParser used to parse the conversion string. Subclasses + may override this to return a subclass of PatternParser which recognize + custom conversion characters. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Activates the conversion pattern. Do not forget to call this method after + you change the parameters of the EnhancedPatternLayout instance. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>format</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Formats a logging event to a writer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - logging event to be formatted.</DL> +</DD> +</DL> +<HR> + +<A NAME="ignoresThrowable()"><!-- --></A><H3> +ignoresThrowable</H3> +<PRE> +public boolean <B>ignoresThrowable</B>()</PRE> +<DL> +<DD>Will return false if any of the conversion specifiers in the pattern + handles <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><CODE>Exceptions</CODE></A>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#ignoresThrowable()">ignoresThrowable</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true if the pattern formats any information from exceptions.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedPatternLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/EnhancedThrowableRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/EnhancedThrowableRenderer.html new file mode 100644 index 00000000000..651ac6b8265 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/EnhancedThrowableRenderer.html @@ -0,0 +1,274 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +EnhancedThrowableRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="EnhancedThrowableRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedThrowableRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class EnhancedThrowableRenderer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.EnhancedThrowableRenderer</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>EnhancedThrowableRenderer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></DL> +</PRE> + +<P> +Enhanced implementation of ThrowableRenderer. Uses Throwable.getStackTrace + if running on JDK 1.4 or later and delegates to DefaultThrowableRenderer.render + on earlier virtual machines. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedThrowableRenderer.html#EnhancedThrowableRenderer()">EnhancedThrowableRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedThrowableRenderer.html#doRender(java.lang.Throwable)">doRender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render Throwable.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="EnhancedThrowableRenderer()"><!-- --></A><H3> +EnhancedThrowableRenderer</H3> +<PRE> +public <B>EnhancedThrowableRenderer</B>()</PRE> +<DL> +<DD>Construct new instance. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="doRender(java.lang.Throwable)"><!-- --></A><H3> +doRender</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>doRender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</PRE> +<DL> +<DD>Render Throwable. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html#doRender(java.lang.Throwable)">doRender</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>throwable</CODE> - throwable, may not be null. +<DT><B>Returns:</B><DD>String representation.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedThrowableRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/FileAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/FileAppender.html new file mode 100644 index 00000000000..830c3b56717 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/FileAppender.html @@ -0,0 +1,823 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FileAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FileAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/FileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class FileAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">org.apache.log4j.WriterAppender</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.FileAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A>, <A HREF="../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>FileAppender</B><DT>extends <A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></DL> +</PRE> + +<P> +FileAppender appends log events to a file. + + <p>Support for <code>java.io.Writer</code> and console appending + has been deprecated and then removed. See the replacement + solutions: <A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j"><CODE>WriterAppender</CODE></A> and <A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><CODE>ConsoleAppender</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#bufferedIO">bufferedIO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do we do bufferedIO?</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#bufferSize">bufferSize</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines the size of IO buffer be.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#fileAppend">fileAppend</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controls file truncatation.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#fileName">fileName</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the log file.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.WriterAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#encoding">encoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#immediateFlush">immediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#qw">qw</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#FileAppender()">FileAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default constructor does not do anything.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String)">FileAppender</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a FileAppender and open the file designated by + <code>filename</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String, boolean)">FileAppender</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + boolean&nbsp;append)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a FileAppender and open the file designated by + <code>filename</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String, boolean, boolean, int)">FileAppender</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + boolean&nbsp;append, + boolean&nbsp;bufferedIO, + int&nbsp;bufferSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a <code>FileAppender</code> and open the file + designated by <code>filename</code>.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the value of <b>File</b> is not <code>null</code>, then <A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><CODE>setFile(java.lang.String)</CODE></A> is called with the values of <b>File</b> and + <b>Append</b> properties.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#closeFile()">closeFile</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes the previously opened file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#getAppend()">getAppend</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>Append</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#getBufferedIO()">getBufferedIO</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value of the <b>BufferedIO</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#getBufferSize()">getBufferSize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the size of the IO buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#getFile()">getFile</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>File</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#reset()">reset</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close any previously opened file and call the parent's + <code>reset</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#setAppend(boolean)">setAppend</A></B>(boolean&nbsp;flag)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>Append</b> option takes a boolean value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#setBufferedIO(boolean)">setBufferedIO</A></B>(boolean&nbsp;bufferedIO)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>BufferedIO</b> option takes a boolean value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#setBufferSize(int)">setBufferSize</A></B>(int&nbsp;bufferSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the size of the IO buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)">setFile</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;file)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>File</b> property takes a string value which should be the + name of the file to append to.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String, boolean, boolean, int)">setFile</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fileName, + boolean&nbsp;append, + boolean&nbsp;bufferedIO, + int&nbsp;bufferSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets and <i>opens</i> the file where the log output will + go.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/FileAppender.html#setQWForFiles(java.io.Writer)">setQWForFiles</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the quiet writer being used.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.WriterAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#checkEntryConditions()">checkEntryConditions</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#close()">close</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#closeWriter()">closeWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#createWriter(java.io.OutputStream)">createWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#getEncoding()">getEncoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#getImmediateFlush()">getImmediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#requiresLayout()">requiresLayout</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setEncoding(java.lang.String)">setEncoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setImmediateFlush(boolean)">setImmediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setWriter(java.io.Writer)">setWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#shouldFlush(org.apache.log4j.spi.LoggingEvent)">shouldFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#writeFooter()">writeFooter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#writeHeader()">writeHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="fileAppend"><!-- --></A><H3> +fileAppend</H3> +<PRE> +protected boolean <B>fileAppend</B></PRE> +<DL> +<DD>Controls file truncatation. The default value for this variable + is <code>true</code>, meaning that by default a + <code>FileAppender</code> will append to an existing file and not + truncate it. + + <p>This option is meaningful only if the FileAppender opens the + file. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="fileName"><!-- --></A><H3> +fileName</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>fileName</B></PRE> +<DL> +<DD>The name of the log file. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="bufferedIO"><!-- --></A><H3> +bufferedIO</H3> +<PRE> +protected boolean <B>bufferedIO</B></PRE> +<DL> +<DD>Do we do bufferedIO? +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="bufferSize"><!-- --></A><H3> +bufferSize</H3> +<PRE> +protected int <B>bufferSize</B></PRE> +<DL> +<DD>Determines the size of IO buffer be. Default is 8K. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FileAppender()"><!-- --></A><H3> +FileAppender</H3> +<PRE> +public <B>FileAppender</B>()</PRE> +<DL> +<DD>The default constructor does not do anything. +<P> +</DL> +<HR> + +<A NAME="FileAppender(org.apache.log4j.Layout, java.lang.String, boolean, boolean, int)"><!-- --></A><H3> +FileAppender</H3> +<PRE> +public <B>FileAppender</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + boolean&nbsp;append, + boolean&nbsp;bufferedIO, + int&nbsp;bufferSize) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Instantiate a <code>FileAppender</code> and open the file + designated by <code>filename</code>. The opened filename will + become the output destination for this appender. + + <p>If the <code>append</code> parameter is true, the file will be + appended to. Otherwise, the file designated by + <code>filename</code> will be truncated before being opened. + + <p>If the <code>bufferedIO</code> parameter is <code>true</code>, + then buffered IO will be used to write to the output file. +<P> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DL> +<HR> + +<A NAME="FileAppender(org.apache.log4j.Layout, java.lang.String, boolean)"><!-- --></A><H3> +FileAppender</H3> +<PRE> +public <B>FileAppender</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + boolean&nbsp;append) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Instantiate a FileAppender and open the file designated by + <code>filename</code>. The opened filename will become the output + destination for this appender. + + <p>If the <code>append</code> parameter is true, the file will be + appended to. Otherwise, the file designated by + <code>filename</code> will be truncated before being opened. +<P> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DL> +<HR> + +<A NAME="FileAppender(org.apache.log4j.Layout, java.lang.String)"><!-- --></A><H3> +FileAppender</H3> +<PRE> +public <B>FileAppender</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Instantiate a FileAppender and open the file designated by + <code>filename</code>. The opened filename will become the output + destination for this appender. + + <p>The file will be appended to. +<P> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setFile(java.lang.String)"><!-- --></A><H3> +setFile</H3> +<PRE> +public void <B>setFile</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;file)</PRE> +<DL> +<DD>The <b>File</b> property takes a string value which should be the + name of the file to append to. + + <p><font color="#DD0044"><b>Note that the special values + "System.out" or "System.err" are no longer honored.</b></font> + + <p>Note: Actual opening of the file is made when <A HREF="../../../org/apache/log4j/FileAppender.html#activateOptions()"><CODE>activateOptions()</CODE></A> is called, not when the options are set. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAppend()"><!-- --></A><H3> +getAppend</H3> +<PRE> +public boolean <B>getAppend</B>()</PRE> +<DL> +<DD>Returns the value of the <b>Append</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFile()"><!-- --></A><H3> +getFile</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFile</B>()</PRE> +<DL> +<DD>Returns the value of the <b>File</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>If the value of <b>File</b> is not <code>null</code>, then <A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><CODE>setFile(java.lang.String)</CODE></A> is called with the values of <b>File</b> and + <b>Append</b> properties. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="closeFile()"><!-- --></A><H3> +closeFile</H3> +<PRE> +protected void <B>closeFile</B>()</PRE> +<DL> +<DD>Closes the previously opened file. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getBufferedIO()"><!-- --></A><H3> +getBufferedIO</H3> +<PRE> +public boolean <B>getBufferedIO</B>()</PRE> +<DL> +<DD>Get the value of the <b>BufferedIO</b> option. + + <p>BufferedIO will significatnly increase performance on heavily + loaded systems. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getBufferSize()"><!-- --></A><H3> +getBufferSize</H3> +<PRE> +public int <B>getBufferSize</B>()</PRE> +<DL> +<DD>Get the size of the IO buffer. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAppend(boolean)"><!-- --></A><H3> +setAppend</H3> +<PRE> +public void <B>setAppend</B>(boolean&nbsp;flag)</PRE> +<DL> +<DD>The <b>Append</b> option takes a boolean value. It is set to + <code>true</code> by default. If true, then <code>File</code> + will be opened in append mode by <A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><CODE>setFile</CODE></A> (see + above). Otherwise, <A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><CODE>setFile</CODE></A> will open + <code>File</code> in truncate mode. + + <p>Note: Actual opening of the file is made when <A HREF="../../../org/apache/log4j/FileAppender.html#activateOptions()"><CODE>activateOptions()</CODE></A> is called, not when the options are set. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setBufferedIO(boolean)"><!-- --></A><H3> +setBufferedIO</H3> +<PRE> +public void <B>setBufferedIO</B>(boolean&nbsp;bufferedIO)</PRE> +<DL> +<DD>The <b>BufferedIO</b> option takes a boolean value. It is set to + <code>false</code> by default. If true, then <code>File</code> + will be opened and the resulting <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A> wrapped + around a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/BufferedWriter.html?is-external=true" title="class or interface in java.io"><CODE>BufferedWriter</CODE></A>. + + BufferedIO will significatnly increase performance on heavily + loaded systems. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setBufferSize(int)"><!-- --></A><H3> +setBufferSize</H3> +<PRE> +public void <B>setBufferSize</B>(int&nbsp;bufferSize)</PRE> +<DL> +<DD>Set the size of the IO buffer. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setFile(java.lang.String, boolean, boolean, int)"><!-- --></A><H3> +setFile</H3> +<PRE> +public void <B>setFile</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fileName, + boolean&nbsp;append, + boolean&nbsp;bufferedIO, + int&nbsp;bufferSize) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD><p>Sets and <i>opens</i> the file where the log output will + go. The specified file must be writable. + + <p>If there was already an opened file, then the previous file + is closed first. + + <p><b>Do not use this method directly. To configure a FileAppender + or one of its subclasses, set its properties one by one and then + call activateOptions.</b> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>fileName</CODE> - The path to the log file.<DD><CODE>append</CODE> - If true will append to fileName. Otherwise will + truncate fileName. +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="setQWForFiles(java.io.Writer)"><!-- --></A><H3> +setQWForFiles</H3> +<PRE> +protected void <B>setQWForFiles</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</PRE> +<DL> +<DD>Sets the quiet writer being used. + + This method is overriden by <A HREF="../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><CODE>RollingFileAppender</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="reset()"><!-- --></A><H3> +reset</H3> +<PRE> +protected void <B>reset</B>()</PRE> +<DL> +<DD>Close any previously opened file and call the parent's + <code>reset</code>. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#reset()">reset</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/FileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/HTMLLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/HTMLLayout.html new file mode 100644 index 00000000000..c6fdb88fa05 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/HTMLLayout.html @@ -0,0 +1,603 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +HTMLLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="HTMLLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/HTMLLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/HTMLLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HTMLLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class HTMLLayout</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">org.apache.log4j.Layout</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.HTMLLayout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>HTMLLayout</B><DT>extends <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></DL> +</PRE> + +<P> +This layout outputs events in a HTML table. + + Appenders using this layout should have their encoding + set to UTF-8 or UTF-16, otherwise events containing + non ASCII characters could result in corrupted + log files. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#BUF_SIZE">BUF_SIZE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#LOCATION_INFO_OPTION">LOCATION_INFO_OPTION</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#MAX_CAPACITY">MAX_CAPACITY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#TITLE_OPTION">TITLE_OPTION</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string constant used in naming the option for setting the the + HTML document title.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP">LINE_SEP</A>, <A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP_LEN">LINE_SEP_LEN</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#HTMLLayout()">HTMLLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No options to activate.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this method to create your own layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#getContentType()">getContentType</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the content type output by this layout, i.e "text/html".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#getFooter()">getFooter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the appropriate HTML footers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#getHeader()">getHeader</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns appropriate HTML headers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#getLocationInfo()">getLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current value of the <b>LocationInfo</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#getTitle()">getTitle</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current value of the <b>Title</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#ignoresThrowable()">ignoresThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The HTML layout handles the throwable contained in logging + events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#setLocationInfo(boolean)">setLocationInfo</A></B>(boolean&nbsp;flag)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>LocationInfo</b> option takes a boolean value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/HTMLLayout.html#setTitle(java.lang.String)">setTitle</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>Title</b> option takes a String value.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="BUF_SIZE"><!-- --></A><H3> +BUF_SIZE</H3> +<PRE> +protected final int <B>BUF_SIZE</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.HTMLLayout.BUF_SIZE">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="MAX_CAPACITY"><!-- --></A><H3> +MAX_CAPACITY</H3> +<PRE> +protected final int <B>MAX_CAPACITY</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.HTMLLayout.MAX_CAPACITY">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOCATION_INFO_OPTION"><!-- --></A><H3> +LOCATION_INFO_OPTION</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>LOCATION_INFO_OPTION</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I><DD>A string constant used in naming the option for setting the the + location information flag. Current value of this string + constant is <b>LocationInfo</b>. + + <p>Note that all option keys are case sensitive. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.HTMLLayout.LOCATION_INFO_OPTION">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="TITLE_OPTION"><!-- --></A><H3> +TITLE_OPTION</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>TITLE_OPTION</B></PRE> +<DL> +<DD>A string constant used in naming the option for setting the the + HTML document title. Current value of this string + constant is <b>Title</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.HTMLLayout.TITLE_OPTION">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="HTMLLayout()"><!-- --></A><H3> +HTMLLayout</H3> +<PRE> +public <B>HTMLLayout</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setLocationInfo(boolean)"><!-- --></A><H3> +setLocationInfo</H3> +<PRE> +public void <B>setLocationInfo</B>(boolean&nbsp;flag)</PRE> +<DL> +<DD>The <b>LocationInfo</b> option takes a boolean value. By + default, it is set to false which means there will be no location + information output by this layout. If the the option is set to + true, then the file name and line number of the statement + at the origin of the log statement will be output. + + <p>If you are embedding this layout within an <A HREF="../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><CODE>SMTPAppender</CODE></A> then make sure to set the + <b>LocationInfo</b> option of that appender as well. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocationInfo()"><!-- --></A><H3> +getLocationInfo</H3> +<PRE> +public boolean <B>getLocationInfo</B>()</PRE> +<DL> +<DD>Returns the current value of the <b>LocationInfo</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setTitle(java.lang.String)"><!-- --></A><H3> +setTitle</H3> +<PRE> +public void <B>setTitle</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</PRE> +<DL> +<DD>The <b>Title</b> option takes a String value. This option sets the + document title of the generated HTML document. + + <p>Defaults to 'Log4J Log Messages'. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTitle()"><!-- --></A><H3> +getTitle</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getTitle</B>()</PRE> +<DL> +<DD>Returns the current value of the <b>Title</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getContentType()"><!-- --></A><H3> +getContentType</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getContentType</B>()</PRE> +<DL> +<DD>Returns the content type output by this layout, i.e "text/html". +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#getContentType()">getContentType</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>No options to activate. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>format</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)">Layout</A></CODE></B></DD> +<DD>Implement this method to create your own layout format. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getHeader()"><!-- --></A><H3> +getHeader</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getHeader</B>()</PRE> +<DL> +<DD>Returns appropriate HTML headers. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#getHeader()">getHeader</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFooter()"><!-- --></A><H3> +getFooter</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFooter</B>()</PRE> +<DL> +<DD>Returns the appropriate HTML footers. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#getFooter()">getFooter</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="ignoresThrowable()"><!-- --></A><H3> +ignoresThrowable</H3> +<PRE> +public boolean <B>ignoresThrowable</B>()</PRE> +<DL> +<DD>The HTML layout handles the throwable contained in logging + events. Hence, this method return <code>false</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#ignoresThrowable()">ignoresThrowable</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/HTMLLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/HTMLLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HTMLLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Hierarchy.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Hierarchy.html new file mode 100644 index 00000000000..fbd37dca7d2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Hierarchy.html @@ -0,0 +1,894 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Hierarchy.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Hierarchy.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Hierarchy.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class Hierarchy</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.Hierarchy</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>, <A HREF="../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A>, <A HREF="../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>Hierarchy</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>, <A HREF="../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A>, <A HREF="../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A></DL> +</PRE> + +<P> +This class is specialized in retrieving loggers by name and also + maintaining the logger hierarchy. + + <p><em>The casual user does not have to deal with this class + directly.</em> + + <p>The structure of the logger hierarchy is maintained by the + <A HREF="../../../org/apache/log4j/Hierarchy.html#getLogger(java.lang.String)"><CODE>getLogger(java.lang.String)</CODE></A> method. The hierarchy is such that children link + to their parent but parents do not have any pointers to their + children. Moreover, loggers can be instantiated in any order, in + particular descendant before ancestor. + + <p>In case a descendant is created before a particular ancestor, + then it creates a provision node for the ancestor and adds itself + to the provision node. Other descendants of the same ancestor add + themselves to the previously created provision node. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#Hierarchy(org.apache.log4j.Logger)">Hierarchy</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;root)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new logger hierarchy.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)">addHierarchyEventListener</A></B>(<A HREF="../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>&nbsp;listener)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a <A HREF="../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><CODE>HierarchyEventListener</CODE></A> event to the repository.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#addRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)">addRenderer</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;classToRender, + <A HREF="../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;or)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an object renderer for a specific class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#clear()">clear</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This call will clear all logger definitions from the internal + hashtable.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#emitNoAppenderWarning(org.apache.log4j.Category)">emitNoAppenderWarning</A></B>(<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#exists(java.lang.String)">exists</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check if the named logger exists in the hierarchy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></B>(<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#getCurrentCategories()">getCurrentCategories</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/Hierarchy.html#getCurrentLoggers()"><CODE>getCurrentLoggers()</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#getCurrentLoggers()">getCurrentLoggers</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all the currently defined categories in this hierarchy as + an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new logger instance named as the first parameter using + the default factory.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new logger instance named as the first parameter using + <code>factory</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#getRendererMap()">getRendererMap</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the renderer map for this hierarchy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#getRootLogger()">getRootLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the root of this hierarchy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#getThreshold()">getThreshold</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> representation of the <code>enable</code> + state.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#getThrowableRenderer()">getThrowableRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get throwable renderer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#isDisabled(int)">isDisabled</A></B>(int&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method will return <code>true</code> if this repository is + disabled for <code>level</code> object passed as parameter and + <code>false</code> otherwise.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#overrideAsNeeded(java.lang.String)">overrideAsNeeded</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;override)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Deprecated with no replacement.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#resetConfiguration()">resetConfiguration</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reset all values contained in this hierarchy instance to their + default.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#setDisableOverride(java.lang.String)">setDisableOverride</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;override)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Deprecated with no replacement.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#setRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)">setRenderer</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;renderedClass, + <A HREF="../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;renderer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used by subclasses to add a renderer to the hierarchy passed as parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#setThreshold(org.apache.log4j.Level)">setThreshold</A></B>(<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;l)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable logging for logging requests with level <code>l</code> or + higher.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#setThreshold(java.lang.String)">setThreshold</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;levelStr)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The string form of <A HREF="../../../org/apache/log4j/Hierarchy.html#setThreshold(org.apache.log4j.Level)"><CODE>setThreshold(Level)</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#setThrowableRenderer(org.apache.log4j.spi.ThrowableRenderer)">setThrowableRenderer</A></B>(<A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A>&nbsp;renderer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set throwable renderer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Hierarchy.html#shutdown()">shutdown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shutting down a hierarchy will <em>safely</em> close and remove + all appenders in all categories including the root logger.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Hierarchy(org.apache.log4j.Logger)"><!-- --></A><H3> +Hierarchy</H3> +<PRE> +public <B>Hierarchy</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;root)</PRE> +<DL> +<DD>Create a new logger hierarchy. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>root</CODE> - The root of the new hierarchy.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)"><!-- --></A><H3> +addRenderer</H3> +<PRE> +public void <B>addRenderer</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;classToRender, + <A HREF="../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;or)</PRE> +<DL> +<DD>Add an object renderer for a specific class. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)"><!-- --></A><H3> +addHierarchyEventListener</H3> +<PRE> +public void <B>addHierarchyEventListener</B>(<A HREF="../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>&nbsp;listener)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)">LoggerRepository</A></CODE></B></DD> +<DD>Add a <A HREF="../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><CODE>HierarchyEventListener</CODE></A> event to the repository. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)">addHierarchyEventListener</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="clear()"><!-- --></A><H3> +clear</H3> +<PRE> +public void <B>clear</B>()</PRE> +<DL> +<DD>This call will clear all logger definitions from the internal + hashtable. Invoking this method will irrevocably mess up the + logger hierarchy. + + <p>You should <em>really</em> know what you are doing before + invoking this method. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="emitNoAppenderWarning(org.apache.log4j.Category)"><!-- --></A><H3> +emitNoAppenderWarning</H3> +<PRE> +public void <B>emitNoAppenderWarning</B>(<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#emitNoAppenderWarning(org.apache.log4j.Category)">emitNoAppenderWarning</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="exists(java.lang.String)"><!-- --></A><H3> +exists</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>exists</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Check if the named logger exists in the hierarchy. If so return + its reference, otherwise returns <code>null</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#exists(java.lang.String)">exists</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the logger to search for.</DL> +</DD> +</DL> +<HR> + +<A NAME="setThreshold(java.lang.String)"><!-- --></A><H3> +setThreshold</H3> +<PRE> +public void <B>setThreshold</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;levelStr)</PRE> +<DL> +<DD>The string form of <A HREF="../../../org/apache/log4j/Hierarchy.html#setThreshold(org.apache.log4j.Level)"><CODE>setThreshold(Level)</CODE></A>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(java.lang.String)">setThreshold</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setThreshold(org.apache.log4j.Level)"><!-- --></A><H3> +setThreshold</H3> +<PRE> +public void <B>setThreshold</B>(<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;l)</PRE> +<DL> +<DD>Enable logging for logging requests with level <code>l</code> or + higher. By default all levels are enabled. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)">setThreshold</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>l</CODE> - The minimum level for which logging requests are sent to + their appenders.</DL> +</DD> +</DL> +<HR> + +<A NAME="fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><!-- --></A><H3> +fireAddAppenderEvent</H3> +<PRE> +public void <B>fireAddAppenderEvent</B>(<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThreshold()"><!-- --></A><H3> +getThreshold</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getThreshold</B>()</PRE> +<DL> +<DD>Returns a <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> representation of the <code>enable</code> + state. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#getThreshold()">getThreshold</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.String)"><!-- --></A><H3> +getLogger</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Return a new logger instance named as the first parameter using + the default factory. + + <p>If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated and + then linked with its existing ancestors as well as children. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String)">getLogger</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the logger to retrieve.</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><!-- --></A><H3> +getLogger</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</PRE> +<DL> +<DD>Return a new logger instance named as the first parameter using + <code>factory</code>. + + <p>If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated by the + <code>factory</code> parameter and linked with its existing + ancestors as well as children. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the logger to retrieve.<DD><CODE>factory</CODE> - The factory that will make the new logger instance.</DL> +</DD> +</DL> +<HR> + +<A NAME="getCurrentLoggers()"><!-- --></A><H3> +getCurrentLoggers</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getCurrentLoggers</B>()</PRE> +<DL> +<DD>Returns all the currently defined categories in this hierarchy as + an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>. + + <p>The root logger is <em>not</em> included in the returned + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#getCurrentLoggers()">getCurrentLoggers</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCurrentCategories()"><!-- --></A><H3> +getCurrentCategories</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getCurrentCategories</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../org/apache/log4j/Hierarchy.html#getCurrentLoggers()"><CODE>getCurrentLoggers()</CODE></A> instead.</I> +<P> +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#getCurrentCategories()">LoggerRepository</A></CODE></B></DD> +<DD>Deprecated. Please use <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#getCurrentLoggers()"><CODE>LoggerRepository.getCurrentLoggers()</CODE></A> instead. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#getCurrentCategories()">getCurrentCategories</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRendererMap()"><!-- --></A><H3> +getRendererMap</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> <B>getRendererMap</B>()</PRE> +<DL> +<DD>Get the renderer map for this hierarchy. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/RendererSupport.html#getRendererMap()">getRendererMap</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRootLogger()"><!-- --></A><H3> +getRootLogger</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getRootLogger</B>()</PRE> +<DL> +<DD>Get the root of this hierarchy. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#getRootLogger()">getRootLogger</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isDisabled(int)"><!-- --></A><H3> +isDisabled</H3> +<PRE> +public boolean <B>isDisabled</B>(int&nbsp;level)</PRE> +<DL> +<DD>This method will return <code>true</code> if this repository is + disabled for <code>level</code> object passed as parameter and + <code>false</code> otherwise. See also the <A HREF="../../../org/apache/log4j/Hierarchy.html#setThreshold(org.apache.log4j.Level)"><CODE>threshold</CODE></A> emthod. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#isDisabled(int)">isDisabled</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="overrideAsNeeded(java.lang.String)"><!-- --></A><H3> +overrideAsNeeded</H3> +<PRE> +public void <B>overrideAsNeeded</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;override)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Deprecated with no replacement.</I> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resetConfiguration()"><!-- --></A><H3> +resetConfiguration</H3> +<PRE> +public void <B>resetConfiguration</B>()</PRE> +<DL> +<DD>Reset all values contained in this hierarchy instance to their + default. This removes all appenders from all categories, sets + the level of all non-root categories to <code>null</code>, + sets their additivity flag to <code>true</code> and sets the level + of the root logger to <A HREF="../../../org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A>. Moreover, + message disabling is set its default "off" value. + + <p>Existing categories are not removed. They are just reset. + + <p>This method should be used sparingly and with care as it will + block all logging until it is completed.</p> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#resetConfiguration()">resetConfiguration</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.5</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setDisableOverride(java.lang.String)"><!-- --></A><H3> +setDisableOverride</H3> +<PRE> +public void <B>setDisableOverride</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;override)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Deprecated with no replacement.</I> +<P> +<DD>Does nothing. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)"><!-- --></A><H3> +setRenderer</H3> +<PRE> +public void <B>setRenderer</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;renderedClass, + <A HREF="../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;renderer)</PRE> +<DL> +<DD>Used by subclasses to add a renderer to the hierarchy passed as parameter. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/RendererSupport.html#setRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)">setRenderer</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setThrowableRenderer(org.apache.log4j.spi.ThrowableRenderer)"><!-- --></A><H3> +setThrowableRenderer</H3> +<PRE> +public void <B>setThrowableRenderer</B>(<A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A>&nbsp;renderer)</PRE> +<DL> +<DD>Set throwable renderer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/ThrowableRendererSupport.html#setThrowableRenderer(org.apache.log4j.spi.ThrowableRenderer)">setThrowableRenderer</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>renderer</CODE> - renderer, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="getThrowableRenderer()"><!-- --></A><H3> +getThrowableRenderer</H3> +<PRE> +public <A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A> <B>getThrowableRenderer</B>()</PRE> +<DL> +<DD>Get throwable renderer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/ThrowableRendererSupport.html#getThrowableRenderer()">getThrowableRenderer</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>throwable renderer, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="shutdown()"><!-- --></A><H3> +shutdown</H3> +<PRE> +public void <B>shutdown</B>()</PRE> +<DL> +<DD>Shutting down a hierarchy will <em>safely</em> close and remove + all appenders in all categories including the root logger. + + <p>Some appenders such as <A HREF="../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><CODE>SocketAppender</CODE></A> + and <A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><CODE>AsyncAppender</CODE></A> need to be closed before the + application exists. Otherwise, pending logging events might be + lost. + + <p>The <code>shutdown</code> method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.0</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Hierarchy.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Hierarchy.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Hierarchy.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Layout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Layout.html new file mode 100644 index 00000000000..d0f65a8c3d1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Layout.html @@ -0,0 +1,445 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Layout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Layout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Layout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Layout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Layout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class Layout</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.Layout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A>, <A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A>, <A HREF="../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A>, <A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A>, <A HREF="../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j">SimpleLayout</A>, <A HREF="../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>Layout</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DL> +</PRE> + +<P> +Extend this abstract class to create your own log layout format. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP">LINE_SEP</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP_LEN">LINE_SEP_LEN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Layout.html#Layout()">Layout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>abstract &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this method to create your own layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Layout.html#getContentType()">getContentType</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the content type output by this layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Layout.html#getFooter()">getFooter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the footer for the layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Layout.html#getHeader()">getHeader</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the header for the layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>abstract &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Layout.html#ignoresThrowable()">ignoresThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the layout handles the throwable object contained within + <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A>, then the layout should return + <code>false</code>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.spi.OptionHandler"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from interface org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LINE_SEP"><!-- --></A><H3> +LINE_SEP</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>LINE_SEP</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="LINE_SEP_LEN"><!-- --></A><H3> +LINE_SEP_LEN</H3> +<PRE> +public static final int <B>LINE_SEP_LEN</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Layout()"><!-- --></A><H3> +Layout</H3> +<PRE> +public <B>Layout</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +format</H3> +<PRE> +public abstract <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>format</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Implement this method to create your own layout format. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getContentType()"><!-- --></A><H3> +getContentType</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getContentType</B>()</PRE> +<DL> +<DD>Returns the content type output by this layout. The base class + returns "text/plain". +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getHeader()"><!-- --></A><H3> +getHeader</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getHeader</B>()</PRE> +<DL> +<DD>Returns the header for the layout format. The base class returns + <code>null</code>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFooter()"><!-- --></A><H3> +getFooter</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFooter</B>()</PRE> +<DL> +<DD>Returns the footer for the layout format. The base class returns + <code>null</code>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="ignoresThrowable()"><!-- --></A><H3> +ignoresThrowable</H3> +<PRE> +public abstract boolean <B>ignoresThrowable</B>()</PRE> +<DL> +<DD>If the layout handles the throwable object contained within + <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A>, then the layout should return + <code>false</code>. Otherwise, if the layout ignores throwable + object, then the layout should return <code>true</code>. + If ignoresThrowable is true, the appender is responsible for + rendering the throwable. + + <p>The <A HREF="../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><CODE>SimpleLayout</CODE></A>, <A HREF="../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><CODE>TTCCLayout</CODE></A>, <A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> all return <code>true</code>. The <A HREF="../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml"><CODE>XMLLayout</CODE></A> returns <code>false</code>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Layout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Layout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Layout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Level.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Level.html new file mode 100644 index 00000000000..076d3692e09 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Level.html @@ -0,0 +1,603 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Level (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Level (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Level.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Level.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Level.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class Level</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">org.apache.log4j.Priority</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.Level</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>Level</B><DT>extends <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL> +</PRE> + +<P> +Defines the minimum set of levels recognized by the system, that is + <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, + <code>WARN</code>, <code>INFO</code, <code>DEBUG</code> and + <code>ALL</code>. + + <p>The <code>Level</code> class may be subclassed to define a larger + level set. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.apache.log4j.Level">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#ALL">ALL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>ALL</code> has the lowest possible rank and is intended to + turn on all logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#DEBUG">DEBUG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>DEBUG</code> Level designates fine-grained + informational events that are most useful to debug an + application.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#ERROR">ERROR</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>ERROR</code> level designates error events that + might still allow the application to continue running.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#FATAL">FATAL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>FATAL</code> level designates very severe error + events that will presumably lead the application to abort.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#INFO">INFO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>INFO</code> level designates informational messages + that highlight the progress of the application at coarse-grained + level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#OFF">OFF</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>OFF</code> has the highest possible rank and is + intended to turn off logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#TRACE">TRACE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>TRACE</code> Level designates finer-grained + informational events than the <code>DEBUG</code level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#TRACE_INT">TRACE_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE level integer value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#WARN">WARN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>WARN</code> level designates potentially harmful situations.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Priority"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Priority.html#ALL_INT">ALL_INT</A>, <A HREF="../../../org/apache/log4j/Priority.html#DEBUG_INT">DEBUG_INT</A>, <A HREF="../../../org/apache/log4j/Priority.html#ERROR_INT">ERROR_INT</A>, <A HREF="../../../org/apache/log4j/Priority.html#FATAL_INT">FATAL_INT</A>, <A HREF="../../../org/apache/log4j/Priority.html#INFO_INT">INFO_INT</A>, <A HREF="../../../org/apache/log4j/Priority.html#OFF_INT">OFF_INT</A>, <A HREF="../../../org/apache/log4j/Priority.html#WARN_INT">WARN_INT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#Level(int, java.lang.String, int)">Level</A></B>(int&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;levelStr, + int&nbsp;syslogEquivalent)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a Level object.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#toLevel(int)">toLevel</A></B>(int&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert an integer passed as argument to a level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)">toLevel</A></B>(int&nbsp;val, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert an integer passed as argument to a level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#toLevel(java.lang.String)">toLevel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert the string passed as argument to a level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)">toLevel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert the string passed as argument to a level.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Priority"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Priority.html#equals(java.lang.Object)">equals</A>, <A HREF="../../../org/apache/log4j/Priority.html#getAllPossiblePriorities()">getAllPossiblePriorities</A>, <A HREF="../../../org/apache/log4j/Priority.html#getSyslogEquivalent()">getSyslogEquivalent</A>, <A HREF="../../../org/apache/log4j/Priority.html#isGreaterOrEqual(org.apache.log4j.Priority)">isGreaterOrEqual</A>, <A HREF="../../../org/apache/log4j/Priority.html#toInt()">toInt</A>, <A HREF="../../../org/apache/log4j/Priority.html#toPriority(int)">toPriority</A>, <A HREF="../../../org/apache/log4j/Priority.html#toPriority(int, org.apache.log4j.Priority)">toPriority</A>, <A HREF="../../../org/apache/log4j/Priority.html#toPriority(java.lang.String)">toPriority</A>, <A HREF="../../../org/apache/log4j/Priority.html#toPriority(java.lang.String, org.apache.log4j.Priority)">toPriority</A>, <A HREF="../../../org/apache/log4j/Priority.html#toString()">toString</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TRACE_INT"><!-- --></A><H3> +TRACE_INT</H3> +<PRE> +public static final int <B>TRACE_INT</B></PRE> +<DL> +<DD>TRACE level integer value. +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.12</DD> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.Level.TRACE_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="OFF"><!-- --></A><H3> +OFF</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>OFF</B></PRE> +<DL> +<DD>The <code>OFF</code> has the highest possible rank and is + intended to turn off logging. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="FATAL"><!-- --></A><H3> +FATAL</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>FATAL</B></PRE> +<DL> +<DD>The <code>FATAL</code> level designates very severe error + events that will presumably lead the application to abort. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="ERROR"><!-- --></A><H3> +ERROR</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>ERROR</B></PRE> +<DL> +<DD>The <code>ERROR</code> level designates error events that + might still allow the application to continue running. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="WARN"><!-- --></A><H3> +WARN</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>WARN</B></PRE> +<DL> +<DD>The <code>WARN</code> level designates potentially harmful situations. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="INFO"><!-- --></A><H3> +INFO</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>INFO</B></PRE> +<DL> +<DD>The <code>INFO</code> level designates informational messages + that highlight the progress of the application at coarse-grained + level. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="DEBUG"><!-- --></A><H3> +DEBUG</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>DEBUG</B></PRE> +<DL> +<DD>The <code>DEBUG</code> Level designates fine-grained + informational events that are most useful to debug an + application. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="TRACE"><!-- --></A><H3> +TRACE</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>TRACE</B></PRE> +<DL> +<DD>The <code>TRACE</code> Level designates finer-grained + informational events than the <code>DEBUG</code level. +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.12</DD> +</DL> +</DL> +<HR> + +<A NAME="ALL"><!-- --></A><H3> +ALL</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>ALL</B></PRE> +<DL> +<DD>The <code>ALL</code> has the lowest possible rank and is intended to + turn on all logging. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Level(int, java.lang.String, int)"><!-- --></A><H3> +Level</H3> +<PRE> +protected <B>Level</B>(int&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;levelStr, + int&nbsp;syslogEquivalent)</PRE> +<DL> +<DD>Instantiate a Level object. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="toLevel(java.lang.String)"><!-- --></A><H3> +toLevel</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>toLevel</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg)</PRE> +<DL> +<DD>Convert the string passed as argument to a level. If the + conversion fails, then this method returns <A HREF="../../../org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toLevel(int)"><!-- --></A><H3> +toLevel</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>toLevel</B>(int&nbsp;val)</PRE> +<DL> +<DD>Convert an integer passed as argument to a level. If the + conversion fails, then this method returns <A HREF="../../../org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toLevel(int, org.apache.log4j.Level)"><!-- --></A><H3> +toLevel</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>toLevel</B>(int&nbsp;val, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultLevel)</PRE> +<DL> +<DD>Convert an integer passed as argument to a level. If the + conversion fails, then this method returns the specified default. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toLevel(java.lang.String, org.apache.log4j.Level)"><!-- --></A><H3> +toLevel</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>toLevel</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultLevel)</PRE> +<DL> +<DD>Convert the string passed as argument to a level. If the + conversion fails, then this method returns the value of + <code>defaultLevel</code>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Level.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Level.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Level.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogMF.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogMF.html new file mode 100644 index 00000000000..92194a3a89a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogMF.html @@ -0,0 +1,2620 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogMF (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogMF (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogMF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogMF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogMF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.LogXF">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class LogMF</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">org.apache.log4j.LogXF</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LogMF</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>LogMF</B><DT>extends <A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></DL> +</PRE> + +<P> +This class provides parameterized logging services + using the pattern syntax of java.text.MessageFormat. + Message formatting is only performed when the + request exceeds the threshold level of the logger. + When the pattern only contains literal text and + default conversion patterns (that is "{0}" and similar) + a simple fast compatible formatter is used. + If the pattern contains more complex conversion patterns, + formatting will be delegated to java.text.MessageFormatter + which can be substantially slower. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><CODE>LogSF</CODE></A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.LogXF"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/LogXF.html#TRACE">TRACE</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, boolean)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, byte)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, char)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, double)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, float)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, int)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, long)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, short)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#error(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">error</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at error level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#error(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">error</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at error level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#fatal(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">fatal</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at fatal level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#fatal(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">fatal</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at fatal level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, boolean)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, byte)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, char)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, double)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, float)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, int)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, long)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, short)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, boolean)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, byte)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, char)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, double)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, float)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, int)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, long)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specifed level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, short)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, boolean)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, byte)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, char)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, double)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, float)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, int)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, long)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, short)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, boolean)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, byte)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, char)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, double)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, float)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, int)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, long)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, short)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, boolean)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, byte)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, char)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, double)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, float)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, int)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, long)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, short)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.LogXF"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)">throwing</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(boolean)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(byte)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(char)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(double)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(float)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(int)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(long)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(short)">valueOf</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be + formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="error(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +error</H3> +<PRE> +public static void <B>error</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at error level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="fatal(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +fatal</H3> +<PRE> +public static void <B>fatal</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at fatal level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be + formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="error(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +error</H3> +<PRE> +public static void <B>error</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at error level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="fatal(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +fatal</H3> +<PRE> +public static void <B>fatal</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at fatal level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, boolean)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, char)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, byte)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, short)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, int)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, long)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, float)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, double)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.<DD><CODE>arg3</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, boolean)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, char)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, byte)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, short)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, int)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, long)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, float)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, double)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.<DD><CODE>arg3</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, boolean)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, char)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, byte)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, short)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, int)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, long)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, float)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, double)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.<DD><CODE>arg3</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, boolean)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, char)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, byte)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, short)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, int)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, long)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, float)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, double)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.<DD><CODE>arg3</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>parameters</CODE> - parameters to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>parameters</CODE> - parameters to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, boolean)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, byte)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, char)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, short)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, int)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, long)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, float)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, double)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</PRE> +<DL> +<DD>Log a parameterized message at specifed level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.<DD><CODE>arg3</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>parameters</CODE> - parameters to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>parameters</CODE> - parameters to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, boolean)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + boolean&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, char)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + char&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, byte)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + byte&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, short)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + short&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, int)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + int&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, long)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + long&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, float)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + float&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, double)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + double&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param0</CODE> - Parameter to the log message.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param0</CODE> - Parameter to the log message.<DD><CODE>param1</CODE> - Parameter to the log message.<DD><CODE>param2</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param0</CODE> - Parameter to the log message.<DD><CODE>param1</CODE> - Parameter to the log message.<DD><CODE>param2</CODE> - Parameter to the log message.<DD><CODE>param3</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogMF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogMF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogMF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.LogXF">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogManager.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogManager.html new file mode 100644 index 00000000000..bad7a8ee6bc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogManager.html @@ -0,0 +1,566 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogManager (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogManager (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class LogManager</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LogManager</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>LogManager</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Use the <code>LogManager</code> class to retreive <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> + instances or to operate on the current <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A>. When the <code>LogManager</code> class is loaded + into memory the default initalzation procedure is inititated. The + default intialization procedure</a> is described in the <a + href="../../../../manual.html#defaultInit">short log4j manual</a>. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#CONFIGURATOR_CLASS_KEY">CONFIGURATOR_CLASS_KEY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#DEFAULT_CONFIGURATION_FILE">DEFAULT_CONFIGURATION_FILE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become package protected in future versions.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#DEFAULT_CONFIGURATION_KEY">DEFAULT_CONFIGURATION_KEY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#DEFAULT_INIT_OVERRIDE_KEY">DEFAULT_INIT_OVERRIDE_KEY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#LogManager()">LogManager</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#exists(java.lang.String)">exists</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#getCurrentLoggers()">getCurrentLoggers</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#getLogger(java.lang.Class)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the appropriate <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the appropriate <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the appropriate <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#getLoggerRepository()">getLoggerRepository</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#getRootLogger()">getRootLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the appropriate root logger.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#resetConfiguration()">resetConfiguration</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#setRepositorySelector(org.apache.log4j.spi.RepositorySelector, java.lang.Object)">setRepositorySelector</A></B>(<A HREF="../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A>&nbsp;selector, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;guard)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets <code>LoggerFactory</code> but only if the correct + <em>guard</em> is passed as parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogManager.html#shutdown()">shutdown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DEFAULT_CONFIGURATION_FILE"><!-- --></A><H3> +DEFAULT_CONFIGURATION_FILE</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DEFAULT_CONFIGURATION_FILE</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become package protected in future versions.</I><DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.LogManager.DEFAULT_CONFIGURATION_FILE">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="DEFAULT_CONFIGURATION_KEY"><!-- --></A><H3> +DEFAULT_CONFIGURATION_KEY</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DEFAULT_CONFIGURATION_KEY</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I><DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.LogManager.DEFAULT_CONFIGURATION_KEY">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="CONFIGURATOR_CLASS_KEY"><!-- --></A><H3> +CONFIGURATOR_CLASS_KEY</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>CONFIGURATOR_CLASS_KEY</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I><DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.LogManager.CONFIGURATOR_CLASS_KEY">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="DEFAULT_INIT_OVERRIDE_KEY"><!-- --></A><H3> +DEFAULT_INIT_OVERRIDE_KEY</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DEFAULT_INIT_OVERRIDE_KEY</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This variable is for internal use only. It will + become private in future versions.</I><DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.LogManager.DEFAULT_INIT_OVERRIDE_KEY">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogManager()"><!-- --></A><H3> +LogManager</H3> +<PRE> +public <B>LogManager</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setRepositorySelector(org.apache.log4j.spi.RepositorySelector, java.lang.Object)"><!-- --></A><H3> +setRepositorySelector</H3> +<PRE> +public static void <B>setRepositorySelector</B>(<A HREF="../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A>&nbsp;selector, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;guard) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></PRE> +<DL> +<DD>Sets <code>LoggerFactory</code> but only if the correct + <em>guard</em> is passed as parameter. + + <p>Initally the guard is null. If the guard is + <code>null</code>, then invoking this method sets the logger + factory and the guard. Following invocations will throw a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang"><CODE>IllegalArgumentException</CODE></A>, unless the previously set + <code>guard</code> is passed as the second parameter. + + <p>This allows a high-level component to set the <A HREF="../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><CODE>RepositorySelector</CODE></A> used by the <code>LogManager</code>. + + <p>For example, when tomcat starts it will be able to install its + own repository selector. However, if and when Tomcat is embedded + within JBoss, then JBoss will install its own repository selector + and Tomcat will use the repository selector set by its container, + JBoss. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="getLoggerRepository()"><!-- --></A><H3> +getLoggerRepository</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> <B>getLoggerRepository</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRootLogger()"><!-- --></A><H3> +getRootLogger</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getRootLogger</B>()</PRE> +<DL> +<DD>Retrieve the appropriate root logger. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.String)"><!-- --></A><H3> +getLogger</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Retrieve the appropriate <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.Class)"><!-- --></A><H3> +getLogger</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</PRE> +<DL> +<DD>Retrieve the appropriate <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><!-- --></A><H3> +getLogger</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</PRE> +<DL> +<DD>Retrieve the appropriate <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="exists(java.lang.String)"><!-- --></A><H3> +exists</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>exists</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCurrentLoggers()"><!-- --></A><H3> +getCurrentLoggers</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getCurrentLoggers</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="shutdown()"><!-- --></A><H3> +shutdown</H3> +<PRE> +public static void <B>shutdown</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resetConfiguration()"><!-- --></A><H3> +resetConfiguration</H3> +<PRE> +public static void <B>resetConfiguration</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogSF.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogSF.html new file mode 100644 index 00000000000..ac20bb42a55 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogSF.html @@ -0,0 +1,2615 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogSF (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogSF (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogSF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogSF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogSF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.LogXF">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class LogSF</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">org.apache.log4j.LogXF</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LogSF</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>LogSF</B><DT>extends <A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></DL> +</PRE> + +<P> +This class provides parameterized logging services + using the SLF4J pattern syntax. + <p> + Message formatting is only performed when the + request exceeds the threshold level of the logger. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.LogXF"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/LogXF.html#TRACE">TRACE</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, boolean)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, byte)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, char)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, double)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, float)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, int)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, long)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, short)">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">debug</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#error(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">error</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at error level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#error(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">error</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at error level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#fatal(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">fatal</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at fatal level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#fatal(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">fatal</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at fatal level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, boolean)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, byte)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, char)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, double)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, float)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, int)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, long)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, short)">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">info</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, boolean)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, byte)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, char)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, double)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, float)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, int)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, long)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specifed level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, short)">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, boolean)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, byte)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, char)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, double)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, float)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, int)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, long)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, short)">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, boolean)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, byte)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, char)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, double)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, float)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, int)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, long)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, short)">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">trace</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, boolean)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, byte)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, char)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, double)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, float)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, int)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, long)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, short)">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">warn</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.LogXF"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)">throwing</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(boolean)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(byte)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(char)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(double)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(float)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(int)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(long)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(short)">valueOf</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be + formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="error(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +error</H3> +<PRE> +public static void <B>error</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at error level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="fatal(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +fatal</H3> +<PRE> +public static void <B>fatal</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at fatal level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be + formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="error(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +error</H3> +<PRE> +public static void <B>error</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at error level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="fatal(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +fatal</H3> +<PRE> +public static void <B>fatal</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</PRE> +<DL> +<DD>Log a parameterized message at fatal level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arguments</CODE> - an array of arguments to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, boolean)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, char)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, byte)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, short)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, int)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, long)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, float)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, double)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +trace</H3> +<PRE> +public static void <B>trace</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</PRE> +<DL> +<DD>Log a parameterized message at trace level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.<DD><CODE>arg3</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, boolean)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, char)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, byte)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, short)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, int)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, long)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, float)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, double)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</PRE> +<DL> +<DD>Log a parameterized message at debug level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.<DD><CODE>arg3</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, boolean)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, char)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, byte)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, short)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, int)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, long)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, float)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, double)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +info</H3> +<PRE> +public static void <B>info</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</PRE> +<DL> +<DD>Log a parameterized message at info level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.<DD><CODE>arg3</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, boolean)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, char)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, byte)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, short)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, int)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, long)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, float)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, double)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>argument</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</PRE> +<DL> +<DD>Log a parameterized message at warn level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.<DD><CODE>arg3</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>parameters</CODE> - parameters to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>parameters</CODE> - parameters to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, boolean)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, byte)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, char)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, short)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, int)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, long)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, float)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, double)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>param1</CODE> - parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</PRE> +<DL> +<DD>Log a parameterized message at specifed level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +log</H3> +<PRE> +public static void <B>log</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</PRE> +<DL> +<DD>Log a parameterized message at specified level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>pattern</CODE> - pattern, may be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>arg0</CODE> - a value to be formatted and substituted.<DD><CODE>arg1</CODE> - a value to be formatted and substituted.<DD><CODE>arg2</CODE> - a value to be formatted and substituted.<DD><CODE>arg3</CODE> - a value to be formatted and substituted.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>parameters</CODE> - parameters to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>t</CODE> - throwable, may be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>parameters</CODE> - parameters to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, boolean)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + boolean&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, char)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + char&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, byte)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + byte&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, short)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + short&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, int)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + int&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, long)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + long&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, float)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + float&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, double)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + double&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param0</CODE> - Parameter to the log message.<DD><CODE>param1</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param0</CODE> - Parameter to the log message.<DD><CODE>param1</CODE> - Parameter to the log message.<DD><CODE>param2</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<HR> + +<A NAME="logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +logrb</H3> +<PRE> +public static void <B>logrb</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3)</PRE> +<DL> +<DD>Log a parameterized message using a pattern from a resource bundle. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>level</CODE> - level, may not be null.<DD><CODE>bundleName</CODE> - resource bundle name, may be null.<DD><CODE>key</CODE> - key, may be null.<DD><CODE>param0</CODE> - Parameter to the log message.<DD><CODE>param1</CODE> - Parameter to the log message.<DD><CODE>param2</CODE> - Parameter to the log message.<DD><CODE>param3</CODE> - Parameter to the log message.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogSF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogSF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogSF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.LogXF">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogXF.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogXF.html new file mode 100644 index 00000000000..95fce179dd8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/LogXF.html @@ -0,0 +1,782 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogXF (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogXF (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogXF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/MDC.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class LogXF</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LogXF</B> +</PRE> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A>, <A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>LogXF</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +This is a base class for LogMF and LogSF parameterized logging classes. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><CODE>LogMF</CODE></A>, +<A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><CODE>LogSF</CODE></A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#TRACE">TRACE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Trace level.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#LogXF()">LogXF</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)">entering</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">entering</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message with a parameter at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])">entering</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message with an array of parameters at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">entering</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;param)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message with a parameter at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)">exiting</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an exiting message at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">exiting</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;result)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an exiting message with result at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">exiting</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;result)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an exiting message with result at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)">throwing</A></B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;thrown)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logs a throwing message at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object)">toArray</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new array.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object)">toArray</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new array.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new array.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param4)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new array.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(boolean)">valueOf</A></B>(boolean&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Boolean instance representing the specified boolean.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(byte)">valueOf</A></B>(byte&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Byte instance representing the specified byte.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(char)">valueOf</A></B>(char&nbsp;c)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Character instance representing the specified char.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(double)">valueOf</A></B>(double&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Double instance representing the specified double.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(float)">valueOf</A></B>(float&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Float instance representing the specified float.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(int)">valueOf</A></B>(int&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an Integer instance representing the specified int.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(long)">valueOf</A></B>(long&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Long instance representing the specified long.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(short)">valueOf</A></B>(short&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Short instance representing the specified short.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TRACE"><!-- --></A><H3> +TRACE</H3> +<PRE> +protected static final <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>TRACE</B></PRE> +<DL> +<DD>Trace level. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogXF()"><!-- --></A><H3> +LogXF</H3> +<PRE> +protected <B>LogXF</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="valueOf(boolean)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</A> <B>valueOf</B>(boolean&nbsp;b)</PRE> +<DL> +<DD>Returns a Boolean instance representing the specified boolean. + Boolean.valueOf was added in JDK 1.4. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a boolean value. +<DT><B>Returns:</B><DD>a Boolean instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(char)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</A> <B>valueOf</B>(char&nbsp;c)</PRE> +<DL> +<DD>Returns a Character instance representing the specified char. + Character.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>c</CODE> - a character value. +<DT><B>Returns:</B><DD>a Character instance representing c.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(byte)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</A> <B>valueOf</B>(byte&nbsp;b)</PRE> +<DL> +<DD>Returns a Byte instance representing the specified byte. + Byte.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a byte value. +<DT><B>Returns:</B><DD>a Byte instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(short)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</A> <B>valueOf</B>(short&nbsp;b)</PRE> +<DL> +<DD>Returns a Short instance representing the specified short. + Short.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a short value. +<DT><B>Returns:</B><DD>a Byte instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(int)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A> <B>valueOf</B>(int&nbsp;b)</PRE> +<DL> +<DD>Returns an Integer instance representing the specified int. + Integer.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - an int value. +<DT><B>Returns:</B><DD>an Integer instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(long)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</A> <B>valueOf</B>(long&nbsp;b)</PRE> +<DL> +<DD>Returns a Long instance representing the specified long. + Long.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a long value. +<DT><B>Returns:</B><DD>a Long instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(float)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</A> <B>valueOf</B>(float&nbsp;b)</PRE> +<DL> +<DD>Returns a Float instance representing the specified float. + Float.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a float value. +<DT><B>Returns:</B><DD>a Float instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(double)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</A> <B>valueOf</B>(double&nbsp;b)</PRE> +<DL> +<DD>Returns a Double instance representing the specified double. + Double.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a double value. +<DT><B>Returns:</B><DD>a Byte instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="toArray(java.lang.Object)"><!-- --></A><H3> +toArray</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[] <B>toArray</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</PRE> +<DL> +<DD>Create new array. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>param1</CODE> - parameter 1. +<DT><B>Returns:</B><DD>new array.</DL> +</DD> +</DL> +<HR> + +<A NAME="toArray(java.lang.Object, java.lang.Object)"><!-- --></A><H3> +toArray</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[] <B>toArray</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2)</PRE> +<DL> +<DD>Create new array. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>param1</CODE> - parameter 1.<DD><CODE>param2</CODE> - parameter 2. +<DT><B>Returns:</B><DD>new array.</DL> +</DD> +</DL> +<HR> + +<A NAME="toArray(java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +toArray</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[] <B>toArray</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3)</PRE> +<DL> +<DD>Create new array. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>param1</CODE> - parameter 1.<DD><CODE>param2</CODE> - parameter 2.<DD><CODE>param3</CODE> - parameter 3. +<DT><B>Returns:</B><DD>new array.</DL> +</DD> +</DL> +<HR> + +<A NAME="toArray(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +toArray</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[] <B>toArray</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param4)</PRE> +<DL> +<DD>Create new array. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>param1</CODE> - parameter 1.<DD><CODE>param2</CODE> - parameter 2.<DD><CODE>param3</CODE> - parameter 3.<DD><CODE>param4</CODE> - parameter 4. +<DT><B>Returns:</B><DD>new array.</DL> +</DD> +</DL> +<HR> + +<A NAME="entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)"><!-- --></A><H3> +entering</H3> +<PRE> +public static void <B>entering</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod)</PRE> +<DL> +<DD>Log an entering message at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3> +entering</H3> +<PRE> +public static void <B>entering</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;param)</PRE> +<DL> +<DD>Log an entering message with a parameter at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>param</CODE> - parameter, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)"><!-- --></A><H3> +entering</H3> +<PRE> +public static void <B>entering</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param)</PRE> +<DL> +<DD>Log an entering message with a parameter at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>param</CODE> - parameter, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +entering</H3> +<PRE> +public static void <B>entering</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params)</PRE> +<DL> +<DD>Log an entering message with an array of parameters at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>params</CODE> - parameters, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)"><!-- --></A><H3> +exiting</H3> +<PRE> +public static void <B>exiting</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod)</PRE> +<DL> +<DD>Log an exiting message at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3> +exiting</H3> +<PRE> +public static void <B>exiting</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;result)</PRE> +<DL> +<DD>Log an exiting message with result at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>result</CODE> - result, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)"><!-- --></A><H3> +exiting</H3> +<PRE> +public static void <B>exiting</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;result)</PRE> +<DL> +<DD>Log an exiting message with result at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>result</CODE> - result, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)"><!-- --></A><H3> +throwing</H3> +<PRE> +public static void <B>throwing</B>(<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;thrown)</PRE> +<DL> +<DD>Logs a throwing message at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>thrown</CODE> - throwable, may be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogXF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/MDC.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Logger.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Logger.html new file mode 100644 index 00000000000..a1eba468934 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Logger.html @@ -0,0 +1,473 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Logger (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Logger (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Logger.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Logger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Logger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Category">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class Logger</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">org.apache.log4j.Category</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.Logger</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A>, <A HREF="../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A>, <A HREF="../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>Logger</B><DT>extends <A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></DL> +</PRE> + +<P> +This is the central class in the log4j package. Most logging + operations, except configuration, are done through this class. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>log4j 1.2</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Category"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Category.html#additive">additive</A>, <A HREF="../../../org/apache/log4j/Category.html#level">level</A>, <A HREF="../../../org/apache/log4j/Category.html#name">name</A>, <A HREF="../../../org/apache/log4j/Category.html#parent">parent</A>, <A HREF="../../../org/apache/log4j/Category.html#repository">repository</A>, <A HREF="../../../org/apache/log4j/Category.html#resourceBundle">resourceBundle</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#Logger(java.lang.String)">Logger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.Class)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shorthand for <code>getLogger(clazz.getName())</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve a logger named according to the value of the + <code>name</code> parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Like <A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>getLogger(String)</CODE></A> except that the type of logger + instantiated depends on the type returned by the <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html#makeNewLoggerInstance(java.lang.String)"><CODE>LoggerFactory.makeNewLoggerInstance(java.lang.String)</CODE></A> method of the + <code>factory</code> parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#getRootLogger()">getRootLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the root logger for the current logger repository.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#isTraceEnabled()">isTraceEnabled</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for the TRACE Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#trace(java.lang.Object)">trace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#TRACE"><CODE>TRACE</CODE></A> level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#trace(java.lang.Object, java.lang.Throwable)">trace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>TRACE</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A><code>t</code> passed as parameter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Category"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Category.html#addAppender(org.apache.log4j.Appender)">addAppender</A>, <A HREF="../../../org/apache/log4j/Category.html#assertLog(boolean, java.lang.String)">assertLog</A>, <A HREF="../../../org/apache/log4j/Category.html#callAppenders(org.apache.log4j.spi.LoggingEvent)">callAppenders</A>, <A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object)">debug</A>, <A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object, java.lang.Throwable)">debug</A>, <A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object)">error</A>, <A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object, java.lang.Throwable)">error</A>, <A HREF="../../../org/apache/log4j/Category.html#exists(java.lang.String)">exists</A>, <A HREF="../../../org/apache/log4j/Category.html#fatal(java.lang.Object)">fatal</A>, <A HREF="../../../org/apache/log4j/Category.html#fatal(java.lang.Object, java.lang.Throwable)">fatal</A>, <A HREF="../../../org/apache/log4j/Category.html#forcedLog(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">forcedLog</A>, <A HREF="../../../org/apache/log4j/Category.html#getAdditivity()">getAdditivity</A>, <A HREF="../../../org/apache/log4j/Category.html#getAllAppenders()">getAllAppenders</A>, <A HREF="../../../org/apache/log4j/Category.html#getAppender(java.lang.String)">getAppender</A>, <A HREF="../../../org/apache/log4j/Category.html#getChainedPriority()">getChainedPriority</A>, <A HREF="../../../org/apache/log4j/Category.html#getCurrentCategories()">getCurrentCategories</A>, <A HREF="../../../org/apache/log4j/Category.html#getDefaultHierarchy()">getDefaultHierarchy</A>, <A HREF="../../../org/apache/log4j/Category.html#getEffectiveLevel()">getEffectiveLevel</A>, <A HREF="../../../org/apache/log4j/Category.html#getHierarchy()">getHierarchy</A>, <A HREF="../../../org/apache/log4j/Category.html#getInstance(java.lang.Class)">getInstance</A>, <A HREF="../../../org/apache/log4j/Category.html#getInstance(java.lang.String)">getInstance</A>, <A HREF="../../../org/apache/log4j/Category.html#getLevel()">getLevel</A>, <A HREF="../../../org/apache/log4j/Category.html#getLoggerRepository()">getLoggerRepository</A>, <A HREF="../../../org/apache/log4j/Category.html#getName()">getName</A>, <A HREF="../../../org/apache/log4j/Category.html#getParent()">getParent</A>, <A HREF="../../../org/apache/log4j/Category.html#getPriority()">getPriority</A>, <A HREF="../../../org/apache/log4j/Category.html#getResourceBundle()">getResourceBundle</A>, <A HREF="../../../org/apache/log4j/Category.html#getResourceBundleString(java.lang.String)">getResourceBundleString</A>, <A HREF="../../../org/apache/log4j/Category.html#getRoot()">getRoot</A>, <A HREF="../../../org/apache/log4j/Category.html#info(java.lang.Object)">info</A>, <A HREF="../../../org/apache/log4j/Category.html#info(java.lang.Object, java.lang.Throwable)">info</A>, <A HREF="../../../org/apache/log4j/Category.html#isAttached(org.apache.log4j.Appender)">isAttached</A>, <A HREF="../../../org/apache/log4j/Category.html#isDebugEnabled()">isDebugEnabled</A>, <A HREF="../../../org/apache/log4j/Category.html#isEnabledFor(org.apache.log4j.Priority)">isEnabledFor</A>, <A HREF="../../../org/apache/log4j/Category.html#isInfoEnabled()">isInfoEnabled</A>, <A HREF="../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)">l7dlog</A>, <A HREF="../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)">l7dlog</A>, <A HREF="../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object)">log</A>, <A HREF="../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A>, <A HREF="../../../org/apache/log4j/Category.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A>, <A HREF="../../../org/apache/log4j/Category.html#removeAllAppenders()">removeAllAppenders</A>, <A HREF="../../../org/apache/log4j/Category.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A>, <A HREF="../../../org/apache/log4j/Category.html#removeAppender(java.lang.String)">removeAppender</A>, <A HREF="../../../org/apache/log4j/Category.html#setAdditivity(boolean)">setAdditivity</A>, <A HREF="../../../org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)">setLevel</A>, <A HREF="../../../org/apache/log4j/Category.html#setPriority(org.apache.log4j.Priority)">setPriority</A>, <A HREF="../../../org/apache/log4j/Category.html#setResourceBundle(java.util.ResourceBundle)">setResourceBundle</A>, <A HREF="../../../org/apache/log4j/Category.html#shutdown()">shutdown</A>, <A HREF="../../../org/apache/log4j/Category.html#warn(java.lang.Object)">warn</A>, <A HREF="../../../org/apache/log4j/Category.html#warn(java.lang.Object, java.lang.Throwable)">warn</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Logger(java.lang.String)"><!-- --></A><H3> +Logger</H3> +<PRE> +protected <B>Logger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getLogger(java.lang.String)"><!-- --></A><H3> +getLogger</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Retrieve a logger named according to the value of the + <code>name</code> parameter. If the named logger already exists, + then the existing instance will be returned. Otherwise, a new + instance is created. + + <p>By default, loggers do not have a set level but inherit it + from their neareast ancestor with a set level. This is one of the + central features of log4j. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the logger to retrieve.</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.Class)"><!-- --></A><H3> +getLogger</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</PRE> +<DL> +<DD>Shorthand for <code>getLogger(clazz.getName())</code>. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>clazz</CODE> - The name of <code>clazz</code> will be used as the + name of the logger to retrieve. See <A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>getLogger(String)</CODE></A> + for more detailed information.</DL> +</DD> +</DL> +<HR> + +<A NAME="getRootLogger()"><!-- --></A><H3> +getRootLogger</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getRootLogger</B>()</PRE> +<DL> +<DD>Return the root logger for the current logger repository. + <p> + The <A HREF="../../../org/apache/log4j/Category.html#getName()"><CODE>Logger.getName()</CODE></A> method for the root logger always returns + stirng value: "root". However, calling + <code>Logger.getLogger("root")</code> does not retrieve the root + logger but a logger just under root named "root". + <p> + In other words, calling this method is the only way to retrieve the + root logger. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><!-- --></A><H3> +getLogger</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</PRE> +<DL> +<DD>Like <A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>getLogger(String)</CODE></A> except that the type of logger + instantiated depends on the type returned by the <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html#makeNewLoggerInstance(java.lang.String)"><CODE>LoggerFactory.makeNewLoggerInstance(java.lang.String)</CODE></A> method of the + <code>factory</code> parameter. + + <p>This method is intended to be used by sub-classes. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the logger to retrieve.<DD><CODE>factory</CODE> - A <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><CODE>LoggerFactory</CODE></A> implementation that will + actually create a new Instance.<DT><B>Since:</B></DT> + <DD>0.8.5</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(java.lang.Object)"><!-- --></A><H3> +trace</H3> +<PRE> +public void <B>trace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#TRACE"><CODE>TRACE</CODE></A> level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DT><B>Since:</B></DT> + <DD>1.2.12</DD> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object)"><CODE>for an explanation of the logic applied.</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="trace(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +trace</H3> +<PRE> +public void <B>trace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message object with the <code>TRACE</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A><code>t</code> passed as parameter. + + <p> + See <A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object)"><CODE>Category.debug(Object)</CODE></A> form for more detailed information. + </p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.<DT><B>Since:</B></DT> + <DD>1.2.12</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isTraceEnabled()"><!-- --></A><H3> +isTraceEnabled</H3> +<PRE> +public boolean <B>isTraceEnabled</B>()</PRE> +<DL> +<DD>Check whether this category is enabled for the TRACE Level. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>boolean - <code>true</code> if this category is enabled for level + TRACE, <code>false</code> otherwise.<DT><B>Since:</B></DT> + <DD>1.2.12</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Logger.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Logger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Logger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Category">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/MDC.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/MDC.html new file mode 100644 index 00000000000..e04877b338a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/MDC.html @@ -0,0 +1,345 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +MDC (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="MDC (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MDC.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/MDC.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDC.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class MDC</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.MDC</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>MDC</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +The MDC class is similar to the <A HREF="../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><CODE>NDC</CODE></A> class except that it is + based on a map instead of a stack. It provides <em>mapped + diagnostic contexts</em>. A <em>Mapped Diagnostic Context</em>, or + MDC in short, is an instrument for distinguishing interleaved log + output from different sources. Log output is typically interleaved + when a server handles multiple clients near-simultaneously. + + <p><b><em>The MDC is managed on a per thread basis</em></b>. A + child thread automatically inherits a <em>copy</em> of the mapped + diagnostic context of its parent. + + <p>The MDC class requires JDK 1.2 or above. Under JDK 1.1 the MDC + will always return empty values but otherwise will not affect or + harm your application. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/MDC.html#clear()">clear</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove all values from the MDC.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/MDC.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the context identified by the <code>key</code> parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/MDC.html#getContext()">getContext</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the current thread's MDC as a hashtable.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/MDC.html#put(java.lang.String, java.lang.Object)">put</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a context value (the <code>o</code> parameter) as identified + with the <code>key</code> parameter into the current thread's + context map.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/MDC.html#remove(java.lang.String)">remove</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the the context identified by the <code>key</code> + parameter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="put(java.lang.String, java.lang.Object)"><!-- --></A><H3> +put</H3> +<PRE> +public static void <B>put</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD>Put a context value (the <code>o</code> parameter) as identified + with the <code>key</code> parameter into the current thread's + context map. + + <p>If the current thread does not have a context map it is + created as a side effect. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="get(java.lang.String)"><!-- --></A><H3> +get</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</PRE> +<DL> +<DD>Get the context identified by the <code>key</code> parameter. + + <p>This method has no side effects. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="remove(java.lang.String)"><!-- --></A><H3> +remove</H3> +<PRE> +public static void <B>remove</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</PRE> +<DL> +<DD>Remove the the context identified by the <code>key</code> + parameter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getContext()"><!-- --></A><H3> +getContext</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> <B>getContext</B>()</PRE> +<DL> +<DD>Get the current thread's MDC as a hashtable. This method is + intended to be used internally. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="clear()"><!-- --></A><H3> +clear</H3> +<PRE> +public static void <B>clear</B>()</PRE> +<DL> +<DD>Remove all values from the MDC. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MDC.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/MDC.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDC.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/NDC.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/NDC.html new file mode 100644 index 00000000000..2b47e7d7418 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/NDC.html @@ -0,0 +1,566 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NDC (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NDC (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NDC.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/MDC.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/NDC.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NDC.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class NDC</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.NDC</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>NDC</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +The NDC class implements <i>nested diagnostic contexts</i> as + defined by Neil Harrison in the article "Patterns for Logging + Diagnostic Messages" part of the book "<i>Pattern Languages of + Program Design 3</i>" edited by Martin et al. + + <p>A Nested Diagnostic Context, or NDC in short, is an instrument + to distinguish interleaved log output from different sources. Log + output is typically interleaved when a server handles multiple + clients near-simultaneously. + + <p>Interleaved log output can still be meaningful if each log entry + from different contexts had a distinctive stamp. This is where NDCs + come into play. + + <p><em><b>Note that NDCs are managed on a per thread + basis</b></em>. NDC operations such as <A HREF="../../../org/apache/log4j/NDC.html#push(java.lang.String)"><CODE>push</CODE></A>, <A HREF="../../../org/apache/log4j/NDC.html#pop()"><CODE>pop()</CODE></A>, <A HREF="../../../org/apache/log4j/NDC.html#clear()"><CODE>clear()</CODE></A>, <A HREF="../../../org/apache/log4j/NDC.html#getDepth()"><CODE>getDepth()</CODE></A> and <A HREF="../../../org/apache/log4j/NDC.html#setMaxDepth(int)"><CODE>setMaxDepth(int)</CODE></A> + affect the NDC of the <em>current</em> thread only. NDCs of other + threads remain unaffected. + + <p>For example, a servlet can build a per client request NDC + consisting the clients host name and other information contained in + the the request. <em>Cookies</em> are another source of distinctive + information. To build an NDC one uses the <A HREF="../../../org/apache/log4j/NDC.html#push(java.lang.String)"><CODE>push</CODE></A> + operation. Simply put, + + <p><ul> + <li>Contexts can be nested. + + <p><li>When entering a context, call <code>NDC.push</code>. As a + side effect, if there is no nested diagnostic context for the + current thread, this method will create it. + + <p><li>When leaving a context, call <code>NDC.pop</code>. + + <p><li><b>When exiting a thread make sure to call <A HREF="../../../org/apache/log4j/NDC.html#remove()"><CODE>NDC.remove()</CODE></A></b>. + </ul> + + <p>There is no penalty for forgetting to match each + <code>push</code> operation with a corresponding <code>pop</code>, + except the obvious mismatch between the real application context + and the context set in the NDC. + + <p>If configured to do so, <A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> and <A HREF="../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><CODE>TTCCLayout</CODE></A> instances automatically retrieve the nested diagnostic + context for the current thread without any user intervention. + Hence, even if a servlet is serving multiple clients + simultaneously, the logs emanating from the same code (belonging to + the same category) can still be distinguished because each client + request will have a different NDC tag. + + <p>Heavy duty systems should call the <A HREF="../../../org/apache/log4j/NDC.html#remove()"><CODE>remove()</CODE></A> method when + leaving the run method of a thread. This ensures that the memory + used by the thread can be freed by the Java garbage + collector. There is a mechanism to lazily remove references to dead + threads. In practice, this means that you can be a little sloppy + and sometimes forget to call <A HREF="../../../org/apache/log4j/NDC.html#remove()"><CODE>remove()</CODE></A> before exiting a + thread. + + <p>A thread may inherit the nested diagnostic context of another + (possibly parent) thread using the <A HREF="../../../org/apache/log4j/NDC.html#inherit(java.util.Stack)"><CODE>inherit</CODE></A> + method. A thread may obtain a copy of its NDC with the <A HREF="../../../org/apache/log4j/NDC.html#cloneStack()"><CODE>cloneStack</CODE></A> method and pass the reference to any other + thread, in particular to a child. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.7.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/NDC.html#clear()">clear</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear any nested diagnostic information if any.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/NDC.html#cloneStack()">cloneStack</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clone the diagnostic context for the current thread.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/NDC.html#get()">get</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#FF4040"><b>Never use this method directly, use the <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html#getNDC()"><CODE>LoggingEvent.getNDC()</CODE></A> method instead</b></font>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/NDC.html#getDepth()">getDepth</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the current nesting depth of this diagnostic context.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/NDC.html#inherit(java.util.Stack)">inherit</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</A>&nbsp;stack)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inherit the diagnostic context of another thread.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/NDC.html#peek()">peek</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Looks at the last diagnostic context at the top of this NDC + without removing it.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/NDC.html#pop()">pop</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clients should call this method before leaving a diagnostic + context.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/NDC.html#push(java.lang.String)">push</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Push new diagnostic context information for the current thread.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/NDC.html#remove()">remove</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the diagnostic context for this thread.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/NDC.html#setMaxDepth(int)">setMaxDepth</A></B>(int&nbsp;maxDepth)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set maximum depth of this diagnostic context.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="clear()"><!-- --></A><H3> +clear</H3> +<PRE> +public static void <B>clear</B>()</PRE> +<DL> +<DD>Clear any nested diagnostic information if any. This method is + useful in cases where the same thread can be potentially used + over and over in different unrelated contexts. + + <p>This method is equivalent to calling the <A HREF="../../../org/apache/log4j/NDC.html#setMaxDepth(int)"><CODE>setMaxDepth(int)</CODE></A> + method with a zero <code>maxDepth</code> argument. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4c</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="cloneStack()"><!-- --></A><H3> +cloneStack</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</A> <B>cloneStack</B>()</PRE> +<DL> +<DD>Clone the diagnostic context for the current thread. + + <p>Internally a diagnostic context is represented as a stack. A + given thread can supply the stack (i.e. diagnostic context) to a + child thread so that the child can inherit the parent thread's + diagnostic context. + + <p>The child thread uses the <A HREF="../../../org/apache/log4j/NDC.html#inherit(java.util.Stack)"><CODE>inherit</CODE></A> method to + inherit the parent's diagnostic context. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>Stack A clone of the current thread's diagnostic context.</DL> +</DD> +</DL> +<HR> + +<A NAME="inherit(java.util.Stack)"><!-- --></A><H3> +inherit</H3> +<PRE> +public static void <B>inherit</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</A>&nbsp;stack)</PRE> +<DL> +<DD>Inherit the diagnostic context of another thread. + + <p>The parent thread can obtain a reference to its diagnostic + context using the <A HREF="../../../org/apache/log4j/NDC.html#cloneStack()"><CODE>cloneStack()</CODE></A> method. It should + communicate this information to its child so that it may inherit + the parent's diagnostic context. + + <p>The parent's diagnostic context is cloned before being + inherited. In other words, once inherited, the two diagnostic + contexts can be managed independently. + + <p>In java, a child thread cannot obtain a reference to its + parent, unless it is directly handed the reference. Consequently, + there is no client-transparent way of inheriting diagnostic + contexts. Do you know any solution to this problem? +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>stack</CODE> - The diagnostic context of the parent thread.</DL> +</DD> +</DL> +<HR> + +<A NAME="get()"><!-- --></A><H3> +get</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>get</B>()</PRE> +<DL> +<DD><font color="#FF4040"><b>Never use this method directly, use the <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html#getNDC()"><CODE>LoggingEvent.getNDC()</CODE></A> method instead</b></font>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDepth()"><!-- --></A><H3> +getDepth</H3> +<PRE> +public static int <B>getDepth</B>()</PRE> +<DL> +<DD>Get the current nesting depth of this diagnostic context. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.7.5</DD> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/NDC.html#setMaxDepth(int)"><CODE>setMaxDepth(int)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="pop()"><!-- --></A><H3> +pop</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>pop</B>()</PRE> +<DL> +<DD>Clients should call this method before leaving a diagnostic + context. + + <p>The returned value is the value that was pushed last. If no + context is available, then the empty string "" is returned. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>String The innermost diagnostic context.</DL> +</DD> +</DL> +<HR> + +<A NAME="peek()"><!-- --></A><H3> +peek</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>peek</B>()</PRE> +<DL> +<DD>Looks at the last diagnostic context at the top of this NDC + without removing it. + + <p>The returned value is the value that was pushed last. If no + context is available, then the empty string "" is returned. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>String The innermost diagnostic context.</DL> +</DD> +</DL> +<HR> + +<A NAME="push(java.lang.String)"><!-- --></A><H3> +push</H3> +<PRE> +public static void <B>push</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +<DD>Push new diagnostic context information for the current thread. + + <p>The contents of the <code>message</code> parameter is + determined solely by the client. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - The new diagnostic context information.</DL> +</DD> +</DL> +<HR> + +<A NAME="remove()"><!-- --></A><H3> +remove</H3> +<PRE> +public static void <B>remove</B>()</PRE> +<DL> +<DD>Remove the diagnostic context for this thread. + + <p>Each thread that created a diagnostic context by calling + <A HREF="../../../org/apache/log4j/NDC.html#push(java.lang.String)"><CODE>push(java.lang.String)</CODE></A> should call this method before exiting. Otherwise, + the memory used by the <b>thread</b> cannot be reclaimed by the + VM. + + <p>As this is such an important problem in heavy duty systems and + because it is difficult to always guarantee that the remove + method is called before exiting a thread, this method has been + augmented to lazily remove references to dead threads. In + practice, this means that you can be a little sloppy and + occasionally forget to call <A HREF="../../../org/apache/log4j/NDC.html#remove()"><CODE>remove()</CODE></A> before exiting a + thread. However, you must call <code>remove</code> sometime. If + you never call it, then your application is sure to run out of + memory. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setMaxDepth(int)"><!-- --></A><H3> +setMaxDepth</H3> +<PRE> +public static void <B>setMaxDepth</B>(int&nbsp;maxDepth)</PRE> +<DL> +<DD>Set maximum depth of this diagnostic context. If the current + depth is smaller or equal to <code>maxDepth</code>, then no + action is taken. + + <p>This method is a convenient alternative to multiple <A HREF="../../../org/apache/log4j/NDC.html#pop()"><CODE>pop()</CODE></A> calls. Moreover, it is often the case that at the end of + complex call sequences, the depth of the NDC is + unpredictable. The <code>setMaxDepth</code> method circumvents + this problem. + + <p>For example, the combination + <pre> + void foo() { + &nbsp; int depth = NDC.getDepth(); + + &nbsp; ... complex sequence of calls + + &nbsp; NDC.setMaxDepth(depth); + } + </pre> + + ensures that between the entry and exit of foo the depth of the + diagnostic stack is conserved. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.7.5</DD> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/NDC.html#getDepth()"><CODE>getDepth()</CODE></A></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NDC.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/MDC.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/NDC.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NDC.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/PatternLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/PatternLayout.html new file mode 100644 index 00000000000..e086827abdd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/PatternLayout.html @@ -0,0 +1,881 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PatternLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PatternLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/PatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class PatternLayout</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">org.apache.log4j.Layout</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.PatternLayout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>PatternLayout</B><DT>extends <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></DL> +</PRE> + +<P> +A flexible layout configurable with pattern string. + + This code is known to have synchronization and other issues + which are not present in org.apache.log4j.EnhancedPatternLayout. + EnhancedPatternLayout should be used in preference to PatternLayout. + EnhancedPatternLayout is distributed in the log4j extras companion. + + <p>The goal of this class is to <A HREF="../../../org/apache/log4j/PatternLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><CODE>format</CODE></A> a <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> and return the results as a String. The results + depend on the <em>conversion pattern</em>. + + <p>The conversion pattern is closely related to the conversion + pattern of the printf function in C. A conversion pattern is + composed of literal text and format control expressions called + <em>conversion specifiers</em>. + + <p><i>You are free to insert any literal text within the conversion + pattern.</i> + + <p>Each conversion specifier starts with a percent sign (%) and is + followed by optional <em>format modifiers</em> and a <em>conversion + character</em>. The conversion character specifies the type of + data, e.g. category, priority, date, thread name. The format + modifiers control such things as field width, padding, left and + right justification. The following is a simple example. + + <p>Let the conversion pattern be <b>"%-5p [%t]: %m%n"</b> and assume + that the log4j environment was set to use a PatternLayout. Then the + statements + <pre> + Category root = Category.getRoot(); + root.debug("Message 1"); + root.warn("Message 2"); + </pre> + would yield the output + <pre> + DEBUG [main]: Message 1 + WARN [main]: Message 2 + </pre> + + <p>Note that there is no explicit separator between text and + conversion specifiers. The pattern parser knows when it has reached + the end of a conversion specifier when it reads a conversion + character. In the example above the conversion specifier + <b>%-5p</b> means the priority of the logging event should be left + justified to a width of five characters. + + The recognized conversion characters are + + <p> + <table border="1" CELLPADDING="8"> + <th>Conversion Character</th> + <th>Effect</th> + + <tr> + <td align=center><b>c</b></td> + + <td>Used to output the category of the logging event. The + category conversion specifier can be optionally followed by + <em>precision specifier</em>, that is a decimal constant in + brackets. + + <p>If a precision specifier is given, then only the corresponding + number of right most components of the category name will be + printed. By default the category name is printed in full. + + <p>For example, for the category name "a.b.c" the pattern + <b>%c{2}</b> will output "b.c". + + </td> + </tr> + + <tr> + <td align=center><b>C</b></td> + + <td>Used to output the fully qualified class name of the caller + issuing the logging request. This conversion specifier + can be optionally followed by <em>precision specifier</em>, that + is a decimal constant in brackets. + + <p>If a precision specifier is given, then only the corresponding + number of right most components of the class name will be + printed. By default the class name is output in fully qualified form. + + <p>For example, for the class name "org.apache.xyz.SomeClass", the + pattern <b>%C{1}</b> will output "SomeClass". + + <p><b>WARNING</b> Generating the caller class information is + slow. Thus, use should be avoided unless execution speed is + not an issue. + + </td> + </tr> + + <tr> <td align=center><b>d</b></td> <td>Used to output the date of + the logging event. The date conversion specifier may be + followed by a <em>date format specifier</em> enclosed between + braces. For example, <b>%d{HH:mm:ss,SSS}</b> or + <b>%d{dd&nbsp;MMM&nbsp;yyyy&nbsp;HH:mm:ss,SSS}</b>. If no + date format specifier is given then ISO8601 format is + assumed. + + <p>The date format specifier admits the same syntax as the + time pattern string of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A>. Although part of the standard + JDK, the performance of <code>SimpleDateFormat</code> is + quite poor. + + <p>For better results it is recommended to use the log4j date + formatters. These can be specified using one of the strings + "ABSOLUTE", "DATE" and "ISO8601" for specifying <A HREF="../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>AbsoluteTimeDateFormat</CODE></A>, <A HREF="../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>DateTimeDateFormat</CODE></A> + and respectively <A HREF="../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><CODE>ISO8601DateFormat</CODE></A>. For example, <b>%d{ISO8601}</b> or + <b>%d{ABSOLUTE}</b>. + + <p>These dedicated date formatters perform significantly + better than <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A>. + </td> + </tr> + + <tr> + <td align=center><b>F</b></td> + + <td>Used to output the file name where the logging request was + issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + <tr> + <td align=center><b>l</b></td> + + <td>Used to output location information of the caller which generated + the logging event. + + <p>The location information depends on the JVM implementation but + usually consists of the fully qualified name of the calling + method followed by the callers source the file name and line + number between parentheses. + + <p>The location information can be very useful. However, its + generation is <em>extremely</em> slow and should be avoided + unless execution speed is not an issue. + + </td> + </tr> + + <tr> + <td align=center><b>L</b></td> + + <td>Used to output the line number from where the logging request + was issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + + <tr> + <td align=center><b>m</b></td> + <td>Used to output the application supplied message associated with + the logging event.</td> + </tr> + + <tr> + <td align=center><b>M</b></td> + + <td>Used to output the method name where the logging request was + issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + <tr> + <td align=center><b>n</b></td> + + <td>Outputs the platform dependent line separator character or + characters. + + <p>This conversion character offers practically the same + performance as using non-portable line separator strings such as + "\n", or "\r\n". Thus, it is the preferred way of specifying a + line separator. + + + </tr> + + <tr> + <td align=center><b>p</b></td> + <td>Used to output the priority of the logging event.</td> + </tr> + + <tr> + + <td align=center><b>r</b></td> + + <td>Used to output the number of milliseconds elapsed from the construction + of the layout until the creation of the logging event.</td> + </tr> + + + <tr> + <td align=center><b>t</b></td> + + <td>Used to output the name of the thread that generated the + logging event.</td> + + </tr> + + <tr> + + <td align=center><b>x</b></td> + + <td>Used to output the NDC (nested diagnostic context) associated + with the thread that generated the logging event. + </td> + </tr> + + + <tr> + <td align=center><b>X</b></td> + + <td> + + <p>Used to output the MDC (mapped diagnostic context) associated + with the thread that generated the logging event. The <b>X</b> + conversion character <em>must</em> be followed by the key for the + map placed between braces, as in <b>%X{clientNumber}</b> where + <code>clientNumber</code> is the key. The value in the MDC + corresponding to the key will be output.</p> + + <p>See <A HREF="../../../org/apache/log4j/MDC.html" title="class in org.apache.log4j"><CODE>MDC</CODE></A> class for more details. + </p> + + </td> + </tr> + + <tr> + + <td align=center><b>%</b></td> + + <td>The sequence %% outputs a single percent sign. + </td> + </tr> + + </table> + + <p>By default the relevant information is output as is. However, + with the aid of format modifiers it is possible to change the + minimum field width, the maximum field width and justification. + + <p>The optional format modifier is placed between the percent sign + and the conversion character. + + <p>The first optional format modifier is the <em>left justification + flag</em> which is just the minus (-) character. Then comes the + optional <em>minimum field width</em> modifier. This is a decimal + constant that represents the minimum number of characters to + output. If the data item requires fewer characters, it is padded on + either the left or the right until the minimum width is + reached. The default is to pad on the left (right justify) but you + can specify right padding with the left justification flag. The + padding character is space. If the data item is larger than the + minimum field width, the field is expanded to accommodate the + data. The value is never truncated. + + <p>This behavior can be changed using the <em>maximum field + width</em> modifier which is designated by a period followed by a + decimal constant. If the data item is longer than the maximum + field, then the extra characters are removed from the + <em>beginning</em> of the data item and not from the end. For + example, it the maximum field width is eight and the data item is + ten characters long, then the first two characters of the data item + are dropped. This behavior deviates from the printf function in C + where truncation is done from the end. + + <p>Below are various format modifier examples for the category + conversion specifier. + + <p> + <TABLE BORDER=1 CELLPADDING=8> + <th>Format modifier + <th>left justify + <th>minimum width + <th>maximum width + <th>comment + + <tr> + <td align=center>%20c</td> + <td align=center>false</td> + <td align=center>20</td> + <td align=center>none</td> + + <td>Left pad with spaces if the category name is less than 20 + characters long. + + <tr> <td align=center>%-20c</td> <td align=center>true</td> <td + align=center>20</td> <td align=center>none</td> <td>Right pad with + spaces if the category name is less than 20 characters long. + + <tr> + <td align=center>%.30c</td> + <td align=center>NA</td> + <td align=center>none</td> + <td align=center>30</td> + + <td>Truncate from the beginning if the category name is longer than 30 + characters. + + <tr> + <td align=center>%20.30c</td> + <td align=center>false</td> + <td align=center>20</td> + <td align=center>30</td> + + <td>Left pad with spaces if the category name is shorter than 20 + characters. However, if category name is longer than 30 characters, + then truncate from the beginning. + + <tr> + <td align=center>%-20.30c</td> + <td align=center>true</td> + <td align=center>20</td> + <td align=center>30</td> + + <td>Right pad with spaces if the category name is shorter than 20 + characters. However, if category name is longer than 30 characters, + then truncate from the beginning. + + </table> + + <p>Below are some examples of conversion patterns. + + <dl> + + <p><dt><b>%r [%t] %-5p %c %x - %m%n</b> + <p><dd>This is essentially the TTCC layout. + + <p><dt><b>%-6r [%15.15t] %-5p %30.30c %x - %m%n</b> + + <p><dd>Similar to the TTCC layout except that the relative time is + right padded if less than 6 digits, thread name is right padded if + less than 15 characters and truncated if longer and the category + name is left padded if shorter than 30 characters and truncated if + longer. + + </dl> + + <p>The above text is largely inspired from Peter A. Darnell and + Philip E. Margolis' highly recommended book "C -- a Software + Engineering Approach", ISBN 0-387-97389-3. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.2</DD> +<DT><B>Author:</B></DT> + <DD><a href="mailto:cakalijp@Maritz.com">James P. Cakalic</a>, Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#BUF_SIZE">BUF_SIZE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#DEFAULT_CONVERSION_PATTERN">DEFAULT_CONVERSION_PATTERN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default pattern string for log output.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#MAX_CAPACITY">MAX_CAPACITY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#TTCC_CONVERSION_PATTERN">TTCC_CONVERSION_PATTERN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A conversion pattern equivalent to the TTCCCLayout.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP">LINE_SEP</A>, <A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP_LEN">LINE_SEP_LEN</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#PatternLayout()">PatternLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a PatternLayout using the DEFAULT_LAYOUT_PATTERN.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#PatternLayout(java.lang.String)">PatternLayout</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a PatternLayout using the supplied conversion pattern.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything as options become effective</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#createPatternParser(java.lang.String)">createPatternParser</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns PatternParser used to parse the conversion string.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produces a formatted string as specified by the conversion pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#getConversionPattern()">getConversionPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>ConversionPattern</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#ignoresThrowable()">ignoresThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The PatternLayout does not handle the throwable contained within + <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PatternLayout.html#setConversionPattern(java.lang.String)">setConversionPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;conversionPattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <b>ConversionPattern</b> option.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Layout.html#getContentType()">getContentType</A>, <A HREF="../../../org/apache/log4j/Layout.html#getFooter()">getFooter</A>, <A HREF="../../../org/apache/log4j/Layout.html#getHeader()">getHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DEFAULT_CONVERSION_PATTERN"><!-- --></A><H3> +DEFAULT_CONVERSION_PATTERN</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DEFAULT_CONVERSION_PATTERN</B></PRE> +<DL> +<DD>Default pattern string for log output. Currently set to the + string <b>"%m%n"</b> which just prints the application supplied + message. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.PatternLayout.DEFAULT_CONVERSION_PATTERN">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="TTCC_CONVERSION_PATTERN"><!-- --></A><H3> +TTCC_CONVERSION_PATTERN</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>TTCC_CONVERSION_PATTERN</B></PRE> +<DL> +<DD>A conversion pattern equivalent to the TTCCCLayout. + Current value is <b>%r [%t] %p %c %x - %m%n</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.PatternLayout.TTCC_CONVERSION_PATTERN">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="BUF_SIZE"><!-- --></A><H3> +BUF_SIZE</H3> +<PRE> +protected final int <B>BUF_SIZE</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.PatternLayout.BUF_SIZE">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="MAX_CAPACITY"><!-- --></A><H3> +MAX_CAPACITY</H3> +<PRE> +protected final int <B>MAX_CAPACITY</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.PatternLayout.MAX_CAPACITY">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PatternLayout()"><!-- --></A><H3> +PatternLayout</H3> +<PRE> +public <B>PatternLayout</B>()</PRE> +<DL> +<DD>Constructs a PatternLayout using the DEFAULT_LAYOUT_PATTERN. + + The default pattern just produces the application supplied message. +<P> +</DL> +<HR> + +<A NAME="PatternLayout(java.lang.String)"><!-- --></A><H3> +PatternLayout</H3> +<PRE> +public <B>PatternLayout</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD>Constructs a PatternLayout using the supplied conversion pattern. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setConversionPattern(java.lang.String)"><!-- --></A><H3> +setConversionPattern</H3> +<PRE> +public void <B>setConversionPattern</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;conversionPattern)</PRE> +<DL> +<DD>Set the <b>ConversionPattern</b> option. This is the string which + controls formatting and consists of a mix of literal content and + conversion specifiers. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getConversionPattern()"><!-- --></A><H3> +getConversionPattern</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getConversionPattern</B>()</PRE> +<DL> +<DD>Returns the value of the <b>ConversionPattern</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Does not do anything as options become effective +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="ignoresThrowable()"><!-- --></A><H3> +ignoresThrowable</H3> +<PRE> +public boolean <B>ignoresThrowable</B>()</PRE> +<DL> +<DD>The PatternLayout does not handle the throwable contained within + <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A>. Thus, it returns + <code>true</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#ignoresThrowable()">ignoresThrowable</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createPatternParser(java.lang.String)"><!-- --></A><H3> +createPatternParser</H3> +<PRE> +protected <A HREF="../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> <B>createPatternParser</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD>Returns PatternParser used to parse the conversion string. Subclasses + may override this to return a subclass of PatternParser which recognize + custom conversion characters. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>format</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Produces a formatted string as specified by the conversion pattern. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/PatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Priority.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Priority.html new file mode 100644 index 00000000000..95494e822e5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/Priority.html @@ -0,0 +1,738 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Priority (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Priority (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Priority.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Priority.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Priority.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class Priority</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.Priority</B> +</PRE> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>Priority</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +<font color="#AA4444">Refrain from using this class directly, use + the <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> class instead</font>. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#ALL_INT">ALL_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#DEBUG">DEBUG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/apache/log4j/Level.html#DEBUG"><CODE>Level.DEBUG</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#DEBUG_INT">DEBUG_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#ERROR">ERROR</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/apache/log4j/Level.html#ERROR"><CODE>Level.ERROR</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#ERROR_INT">ERROR_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#FATAL">FATAL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/apache/log4j/Level.html#FATAL"><CODE>Level.FATAL</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#FATAL_INT">FATAL_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#INFO">INFO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/apache/log4j/Level.html#INFO"><CODE>Level.INFO</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#INFO_INT">INFO_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#OFF_INT">OFF_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#WARN">WARN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/apache/log4j/Level.html#WARN"><CODE>Level.WARN</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#WARN_INT">WARN_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#Priority()">Priority</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor for deserialization.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#Priority(int, java.lang.String, int)">Priority</A></B>(int&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;levelStr, + int&nbsp;syslogEquivalent)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a level object.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Two priorities are equal if their level fields are equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#getAllPossiblePriorities()">getAllPossiblePriorities</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This method will be removed with no replacement.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#getSyslogEquivalent()">getSyslogEquivalent</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the syslog equivalent of this priority as an integer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#isGreaterOrEqual(org.apache.log4j.Priority)">isGreaterOrEqual</A></B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;r)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if this level has a higher or equal + level than the level passed as argument, <code>false</code> + otherwise.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#toInt()">toInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the integer representation of this level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#toPriority(int)">toPriority</A></B>(int&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../org/apache/log4j/Level.html#toLevel(int)"><CODE>Level.toLevel(int)</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#toPriority(int, org.apache.log4j.Priority)">toPriority</A></B>(int&nbsp;val, + <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;defaultPriority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)"><CODE>Level.toLevel(int, Level)</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#toPriority(java.lang.String)">toPriority</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../org/apache/log4j/Level.html#toLevel(java.lang.String)"><CODE>Level.toLevel(String)</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#toPriority(java.lang.String, org.apache.log4j.Priority)">toPriority</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg, + <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;defaultPriority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)"><CODE>Level.toLevel(String, Level)</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/Priority.html#toString()">toString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the string representation of this priority.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="OFF_INT"><!-- --></A><H3> +OFF_INT</H3> +<PRE> +public static final int <B>OFF_INT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.Priority.OFF_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="FATAL_INT"><!-- --></A><H3> +FATAL_INT</H3> +<PRE> +public static final int <B>FATAL_INT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.Priority.FATAL_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="ERROR_INT"><!-- --></A><H3> +ERROR_INT</H3> +<PRE> +public static final int <B>ERROR_INT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.Priority.ERROR_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="WARN_INT"><!-- --></A><H3> +WARN_INT</H3> +<PRE> +public static final int <B>WARN_INT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.Priority.WARN_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="INFO_INT"><!-- --></A><H3> +INFO_INT</H3> +<PRE> +public static final int <B>INFO_INT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.Priority.INFO_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="DEBUG_INT"><!-- --></A><H3> +DEBUG_INT</H3> +<PRE> +public static final int <B>DEBUG_INT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.Priority.DEBUG_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="ALL_INT"><!-- --></A><H3> +ALL_INT</H3> +<PRE> +public static final int <B>ALL_INT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.Priority.ALL_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="FATAL"><!-- --></A><H3> +FATAL</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>FATAL</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/apache/log4j/Level.html#FATAL"><CODE>Level.FATAL</CODE></A> instead.</I><DL> +</DL> +</DL> +<HR> + +<A NAME="ERROR"><!-- --></A><H3> +ERROR</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>ERROR</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/apache/log4j/Level.html#ERROR"><CODE>Level.ERROR</CODE></A> instead.</I><DL> +</DL> +</DL> +<HR> + +<A NAME="WARN"><!-- --></A><H3> +WARN</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>WARN</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/apache/log4j/Level.html#WARN"><CODE>Level.WARN</CODE></A> instead.</I><DL> +</DL> +</DL> +<HR> + +<A NAME="INFO"><!-- --></A><H3> +INFO</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>INFO</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/apache/log4j/Level.html#INFO"><CODE>Level.INFO</CODE></A> instead.</I><DL> +</DL> +</DL> +<HR> + +<A NAME="DEBUG"><!-- --></A><H3> +DEBUG</H3> +<PRE> +public static final <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>DEBUG</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../org/apache/log4j/Level.html#DEBUG"><CODE>Level.DEBUG</CODE></A> instead.</I><DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Priority()"><!-- --></A><H3> +Priority</H3> +<PRE> +protected <B>Priority</B>()</PRE> +<DL> +<DD>Default constructor for deserialization. +<P> +</DL> +<HR> + +<A NAME="Priority(int, java.lang.String, int)"><!-- --></A><H3> +Priority</H3> +<PRE> +protected <B>Priority</B>(int&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;levelStr, + int&nbsp;syslogEquivalent)</PRE> +<DL> +<DD>Instantiate a level object. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="equals(java.lang.Object)"><!-- --></A><H3> +equals</H3> +<PRE> +public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD>Two priorities are equal if their level fields are equal. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSyslogEquivalent()"><!-- --></A><H3> +getSyslogEquivalent</H3> +<PRE> +public final int <B>getSyslogEquivalent</B>()</PRE> +<DL> +<DD>Return the syslog equivalent of this priority as an integer. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isGreaterOrEqual(org.apache.log4j.Priority)"><!-- --></A><H3> +isGreaterOrEqual</H3> +<PRE> +public boolean <B>isGreaterOrEqual</B>(<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;r)</PRE> +<DL> +<DD>Returns <code>true</code> if this level has a higher or equal + level than the level passed as argument, <code>false</code> + otherwise. + + <p>You should think twice before overriding the default + implementation of <code>isGreaterOrEqual</code> method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAllPossiblePriorities()"><!-- --></A><H3> +getAllPossiblePriorities</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>[] <B>getAllPossiblePriorities</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This method will be removed with no replacement.</I> +<P> +<DD>Return all possible priorities as an array of Level objects in + descending order. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toString()"><!-- --></A><H3> +toString</H3> +<PRE> +public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE> +<DL> +<DD>Returns the string representation of this priority. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toInt()"><!-- --></A><H3> +toInt</H3> +<PRE> +public final int <B>toInt</B>()</PRE> +<DL> +<DD>Returns the integer representation of this level. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toPriority(java.lang.String)"><!-- --></A><H3> +toPriority</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>toPriority</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../org/apache/log4j/Level.html#toLevel(java.lang.String)"><CODE>Level.toLevel(String)</CODE></A> method instead.</I> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toPriority(int)"><!-- --></A><H3> +toPriority</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>toPriority</B>(int&nbsp;val)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../org/apache/log4j/Level.html#toLevel(int)"><CODE>Level.toLevel(int)</CODE></A> method instead.</I> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toPriority(int, org.apache.log4j.Priority)"><!-- --></A><H3> +toPriority</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>toPriority</B>(int&nbsp;val, + <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;defaultPriority)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)"><CODE>Level.toLevel(int, Level)</CODE></A> method instead.</I> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toPriority(java.lang.String, org.apache.log4j.Priority)"><!-- --></A><H3> +toPriority</H3> +<PRE> +public static <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>toPriority</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg, + <A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;defaultPriority)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)"><CODE>Level.toLevel(String, Level)</CODE></A> method instead.</I> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Priority.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/Priority.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Priority.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/PropertyConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/PropertyConfigurator.html new file mode 100644 index 00000000000..9dd6849327f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/PropertyConfigurator.html @@ -0,0 +1,867 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PropertyConfigurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PropertyConfigurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyConfigurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/PropertyConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class PropertyConfigurator</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.PropertyConfigurator</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>PropertyConfigurator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></DL> +</PRE> + +<P> +Allows the configuration of log4j from an external file. See + <b><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)"><CODE>doConfigure(String, LoggerRepository)</CODE></A></b> for the + expected format. + + <p>It is sometimes useful to see how log4j is reading configuration + files. You can enable log4j internal logging by defining the + <b>log4j.debug</b> variable. + + <P>As of log4j version 0.8.5, at class initialization time class, + the file <b>log4j.properties</b> will be searched from the search + path used to load classes. If the file can be found, then it will + be fed to the <A HREF="../../../org/apache/log4j/PropertyConfigurator.html#configure(java.net.URL)"><CODE>configure(java.net.URL)</CODE></A> + method. + + <p>The <code>PropertyConfigurator</code> does not handle the + advanced configuration features supported by the <A HREF="../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><CODE>DOMConfigurator</CODE></A> such as + support custom <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandlers</CODE></A>, + nested appenders such as the <A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><CODE>AsyncAppender</CODE></A>, etc. + + <p>All option <em>values</em> admit variable substitution. The + syntax of variable substitution is similar to that of Unix + shells. The string between an opening <b>&quot;${&quot;</b> and + closing <b>&quot;}&quot;</b> is interpreted as a key. The value of + the substituted variable can be defined as a system property or in + the configuration file itself. The value of the key is first + searched in the system properties, and if not found there, it is + then searched in the configuration file being parsed. The + corresponding value replaces the ${variableName} sequence. For + example, if <code>java.home</code> system property is set to + <code>/home/xyz</code>, then every occurrence of the sequence + <code>${java.home}</code> will be interpreted as + <code>/home/xyz</code>. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Anders Kristensen</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#LOGGER_FACTORY_KEY">LOGGER_FACTORY_KEY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Key for specifying the <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><CODE>LoggerFactory</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#loggerFactory">loggerFactory</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#registry">registry</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to keep track of configured appenders.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.spi.Configurator"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/spi/Configurator.html#INHERITED">INHERITED</A>, <A HREF="../../../org/apache/log4j/spi/Configurator.html#NULL">NULL</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#PropertyConfigurator()">PropertyConfigurator</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#configure(java.util.Properties)">configure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read configuration options from <code>properties</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#configure(java.lang.String)">configure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFilename)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#configure(java.net.URL)">configure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;configURL)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read configuration options from url <code>configURL</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#configureAndWatch(java.lang.String)">configureAndWatch</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFilename)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Like <A HREF="../../../org/apache/log4j/PropertyConfigurator.html#configureAndWatch(java.lang.String, long)"><CODE>configureAndWatch(String, long)</CODE></A> except that the + default delay as defined by <A HREF="../../../org/apache/log4j/helpers/FileWatchdog.html#DEFAULT_DELAY"><CODE>FileWatchdog.DEFAULT_DELAY</CODE></A> is + used.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#configureAndWatch(java.lang.String, long)">configureAndWatch</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFilename, + long&nbsp;delay)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read the configuration file <code>configFilename</code> if it + exists.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#configureLoggerFactory(java.util.Properties)">configureLoggerFactory</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check the provided <code>Properties</code> object for a + <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><CODE>LoggerFactory</CODE></A> + entry specified by <A HREF="../../../org/apache/log4j/PropertyConfigurator.html#LOGGER_FACTORY_KEY"><CODE>LOGGER_FACTORY_KEY</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#doConfigure(java.util.Properties, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties, + <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read configuration options from <code>properties</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFileName, + <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read configuration from a file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;configURL, + <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read configuration options from url <code>configURL</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#parseCatsAndRenderers(java.util.Properties, org.apache.log4j.spi.LoggerRepository)">parseCatsAndRenderers</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props, + <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parse non-root elements, such non-root categories and renderers.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="registry"><!-- --></A><H3> +registry</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> <B>registry</B></PRE> +<DL> +<DD>Used internally to keep track of configured appenders. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="loggerFactory"><!-- --></A><H3> +loggerFactory</H3> +<PRE> +protected <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A> <B>loggerFactory</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="LOGGER_FACTORY_KEY"><!-- --></A><H3> +LOGGER_FACTORY_KEY</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>LOGGER_FACTORY_KEY</B></PRE> +<DL> +<DD>Key for specifying the <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><CODE>LoggerFactory</CODE></A>. Currently set to "<code>log4j.loggerFactory</code>". +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.log4j.PropertyConfigurator.LOGGER_FACTORY_KEY">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PropertyConfigurator()"><!-- --></A><H3> +PropertyConfigurator</H3> +<PRE> +public <B>PropertyConfigurator</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +public void <B>doConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFileName, + <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</PRE> +<DL> +<DD>Read configuration from a file. <b>The existing configuration is + not cleared nor reset.</b> If you require a different behavior, + then call <A HREF="../../../org/apache/log4j/LogManager.html#resetConfiguration()"><CODE>resetConfiguration</CODE></A> method before calling + <code>doConfigure</code>. + + <p>The configuration file consists of statements in the format + <code>key=value</code>. The syntax of different configuration + elements are discussed below. + + <h3>Repository-wide threshold</h3> + + <p>The repository-wide threshold filters logging requests by level + regardless of logger. The syntax is: + + <pre> + log4j.threshold=[level] + </pre> + + <p>The level value can consist of the string values OFF, FATAL, + ERROR, WARN, INFO, DEBUG, ALL or a <em>custom level</em> value. A + custom level value can be specified in the form + level#classname. By default the repository-wide threshold is set + to the lowest possible value, namely the level <code>ALL</code>. + </p> + + + <h3>Appender configuration</h3> + + <p>Appender configuration syntax is: + <pre> + # For appender named <i>appenderName</i>, set its class. + # Note: The appender name can contain dots. + log4j.appender.appenderName=fully.qualified.name.of.appender.class + + # Set appender specific options. + log4j.appender.appenderName.option1=value1 + ... + log4j.appender.appenderName.optionN=valueN + </pre> + + For each named appender you can configure its <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><CODE>Layout</CODE></A>. The + syntax for configuring an appender's layout is: + <pre> + log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class + log4j.appender.appenderName.layout.option1=value1 + .... + log4j.appender.appenderName.layout.optionN=valueN + </pre> + + The syntax for adding <A HREF="../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><CODE>Filter</CODE></A>s to an appender is: + <pre> + log4j.appender.appenderName.filter.ID=fully.qualified.name.of.filter.class + log4j.appender.appenderName.filter.ID.option1=value1 + ... + log4j.appender.appenderName.filter.ID.optionN=valueN + </pre> + The first line defines the class name of the filter identified by ID; + subsequent lines with the same ID specify filter option - value + paris. Multiple filters are added to the appender in the lexicographic + order of IDs. + + The syntax for adding an <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> to an appender is: + <pre> + log4j.appender.appenderName.errorhandler=fully.qualified.name.of.filter.class + log4j.appender.appenderName.errorhandler.root-ref={true|false} + log4j.appender.appenderName.errorhandler.logger-ref=loggerName + log4j.appender.appenderName.errorhandler.appender-ref=appenderName + log4j.appender.appenderName.errorhandler.option1=value1 + ... + log4j.appender.appenderName.errorhandler.optionN=valueN + </pre> + + <h3>Configuring loggers</h3> + + <p>The syntax for configuring the root logger is: + <pre> + log4j.rootLogger=[level], appenderName, appenderName, ... + </pre> + + <p>This syntax means that an optional <em>level</em> can be + supplied followed by appender names separated by commas. + + <p>The level value can consist of the string values OFF, FATAL, + ERROR, WARN, INFO, DEBUG, ALL or a <em>custom level</em> value. A + custom level value can be specified in the form + <code>level#classname</code>. + + <p>If a level value is specified, then the root level is set + to the corresponding level. If no level value is specified, + then the root level remains untouched. + + <p>The root logger can be assigned multiple appenders. + + <p>Each <i>appenderName</i> (separated by commas) will be added to + the root logger. The named appender is defined using the + appender syntax defined above. + + <p>For non-root categories the syntax is almost the same: + <pre> + log4j.logger.logger_name=[level|INHERITED|NULL], appenderName, appenderName, ... + </pre> + + <p>The meaning of the optional level value is discussed above + in relation to the root logger. In addition however, the value + INHERITED can be specified meaning that the named logger should + inherit its level from the logger hierarchy. + + <p>If no level value is supplied, then the level of the + named logger remains untouched. + + <p>By default categories inherit their level from the + hierarchy. However, if you set the level of a logger and later + decide that that logger should inherit its level, then you should + specify INHERITED as the value for the level value. NULL is a + synonym for INHERITED. + + <p>Similar to the root logger syntax, each <i>appenderName</i> + (separated by commas) will be attached to the named logger. + + <p>See the <a href="../../../../manual.html#additivity">appender + additivity rule</a> in the user manual for the meaning of the + <code>additivity</code> flag. + + <h3>ObjectRenderers</h3> + + You can customize the way message objects of a given type are + converted to String before being logged. This is done by + specifying an <A HREF="../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A> + for the object type would like to customize. + + <p>The syntax is: + + <pre> + log4j.renderer.fully.qualified.name.of.rendered.class=fully.qualified.name.of.rendering.class + </pre> + + As in, + <pre> + log4j.renderer.my.Fruit=my.FruitRenderer + </pre> + + <h3>ThrowableRenderer</h3> + + You can customize the way an instance of Throwable is + converted to String before being logged. This is done by + specifying an <A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><CODE>ThrowableRenderer</CODE></A>. + + <p>The syntax is: + + <pre> + log4j.throwableRenderer=fully.qualified.name.of.rendering.class + log4j.throwableRenderer.paramName=paramValue + </pre> + + As in, + <pre> + log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer + </pre> + + <h3>Logger Factories</h3> + + The usage of custom logger factories is discouraged and no longer + documented. + + <h3>Resetting Hierarchy</h3> + + The hierarchy will be reset before configuration when + log4j.reset=true is present in the properties file. + + <h3>Example</h3> + + <p>An example configuration is given below. Other configuration + file examples are given in the <code>examples</code> folder. + + <pre> + + # Set options for appender named "A1". + # Appender "A1" will be a SyslogAppender + log4j.appender.A1=org.apache.log4j.net.SyslogAppender + + # The syslog daemon resides on www.abc.net + log4j.appender.A1.SyslogHost=www.abc.net + + # A1's layout is a PatternLayout, using the conversion pattern + # <b>%r %-5p %c{2} %M.%L %x - %m\n</b>. Thus, the log output will + # include # the relative time since the start of the application in + # milliseconds, followed by the level of the log request, + # followed by the two rightmost components of the logger name, + # followed by the callers method name, followed by the line number, + # the nested disgnostic context and finally the message itself. + # Refer to the documentation of <A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> for further information + # on the syntax of the ConversionPattern key. + log4j.appender.A1.layout=org.apache.log4j.PatternLayout + log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %c{2} %M.%L %x - %m\n + + # Set options for appender named "A2" + # A2 should be a RollingFileAppender, with maximum file size of 10 MB + # using at most one backup file. A2's layout is TTCC, using the + # ISO8061 date format with context printing enabled. + log4j.appender.A2=org.apache.log4j.RollingFileAppender + log4j.appender.A2.MaxFileSize=10MB + log4j.appender.A2.MaxBackupIndex=1 + log4j.appender.A2.layout=org.apache.log4j.TTCCLayout + log4j.appender.A2.layout.ContextPrinting=enabled + log4j.appender.A2.layout.DateFormat=ISO8601 + + # Root logger set to DEBUG using the A2 appender defined above. + log4j.rootLogger=DEBUG, A2 + + # Logger definitions: + # The SECURITY logger inherits is level from root. However, it's output + # will go to A1 appender defined above. It's additivity is non-cumulative. + log4j.logger.SECURITY=INHERIT, A1 + log4j.additivity.SECURITY=false + + # Only warnings or above will be logged for the logger "SECURITY.access". + # Output will go to A1. + log4j.logger.SECURITY.access=WARN + + + # The logger "class.of.the.day" inherits its level from the + # logger hierarchy. Output will go to the appender's of the root + # logger, A2 in this case. + log4j.logger.class.of.the.day=INHERIT + </pre> + + <p>Refer to the <b>setOption</b> method in each Appender and + Layout for class specific options. + + <p>Use the <code>#</code> or <code>!</code> characters at the + beginning of a line for comments. + + <p> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>configFileName</CODE> - The name of the configuration file where the + configuration information is stored.</DL> +</DD> +</DL> +<HR> + +<A NAME="configure(java.lang.String)"><!-- --></A><H3> +configure</H3> +<PRE> +public static void <B>configure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFilename)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="configure(java.net.URL)"><!-- --></A><H3> +configure</H3> +<PRE> +public static void <B>configure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;configURL)</PRE> +<DL> +<DD>Read configuration options from url <code>configURL</code>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="configure(java.util.Properties)"><!-- --></A><H3> +configure</H3> +<PRE> +public static void <B>configure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties)</PRE> +<DL> +<DD>Read configuration options from <code>properties</code>. + + See <A HREF="../../../org/apache/log4j/PropertyConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)"><CODE>doConfigure(String, LoggerRepository)</CODE></A> for the expected format. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="configureAndWatch(java.lang.String)"><!-- --></A><H3> +configureAndWatch</H3> +<PRE> +public static void <B>configureAndWatch</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFilename)</PRE> +<DL> +<DD>Like <A HREF="../../../org/apache/log4j/PropertyConfigurator.html#configureAndWatch(java.lang.String, long)"><CODE>configureAndWatch(String, long)</CODE></A> except that the + default delay as defined by <A HREF="../../../org/apache/log4j/helpers/FileWatchdog.html#DEFAULT_DELAY"><CODE>FileWatchdog.DEFAULT_DELAY</CODE></A> is + used. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>configFilename</CODE> - A file in key=value format.</DL> +</DD> +</DL> +<HR> + +<A NAME="configureAndWatch(java.lang.String, long)"><!-- --></A><H3> +configureAndWatch</H3> +<PRE> +public static void <B>configureAndWatch</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFilename, + long&nbsp;delay)</PRE> +<DL> +<DD>Read the configuration file <code>configFilename</code> if it + exists. Moreover, a thread will be created that will periodically + check if <code>configFilename</code> has been created or + modified. The period is determined by the <code>delay</code> + argument. If a change or file creation is detected, then + <code>configFilename</code> is read to configure log4j. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>configFilename</CODE> - A file in key=value format.<DD><CODE>delay</CODE> - The delay in milliseconds to wait between each check.</DL> +</DD> +</DL> +<HR> + +<A NAME="doConfigure(java.util.Properties, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +public void <B>doConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties, + <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</PRE> +<DL> +<DD>Read configuration options from <code>properties</code>. + + See <A HREF="../../../org/apache/log4j/PropertyConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)"><CODE>doConfigure(String, LoggerRepository)</CODE></A> for the expected format. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +public void <B>doConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;configURL, + <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</PRE> +<DL> +<DD>Read configuration options from url <code>configURL</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>configURL</CODE> - The URL to parse<DD><CODE>hierarchy</CODE> - The hierarchy to operation upon.</DL> +</DD> +</DL> +<HR> + +<A NAME="configureLoggerFactory(java.util.Properties)"><!-- --></A><H3> +configureLoggerFactory</H3> +<PRE> +protected void <B>configureLoggerFactory</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</PRE> +<DL> +<DD>Check the provided <code>Properties</code> object for a + <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><CODE>LoggerFactory</CODE></A> + entry specified by <A HREF="../../../org/apache/log4j/PropertyConfigurator.html#LOGGER_FACTORY_KEY"><CODE>LOGGER_FACTORY_KEY</CODE></A>. If such an entry + exists, an attempt is made to create an instance using the default + constructor. This instance is used for subsequent Category creations + within this configurator. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/PropertyConfigurator.html#parseCatsAndRenderers(java.util.Properties, org.apache.log4j.spi.LoggerRepository)"><CODE>parseCatsAndRenderers(java.util.Properties, org.apache.log4j.spi.LoggerRepository)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="parseCatsAndRenderers(java.util.Properties, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +parseCatsAndRenderers</H3> +<PRE> +protected void <B>parseCatsAndRenderers</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props, + <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</PRE> +<DL> +<DD>Parse non-root elements, such non-root categories and renderers. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyConfigurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/PropertyConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/RollingFileAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/RollingFileAppender.html new file mode 100644 index 00000000000..520fc7071f9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/RollingFileAppender.html @@ -0,0 +1,691 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +RollingFileAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="RollingFileAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RollingFileAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/RollingFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RollingFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class RollingFileAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">org.apache.log4j.WriterAppender</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">org.apache.log4j.FileAppender</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.RollingFileAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>RollingFileAppender</B><DT>extends <A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></DL> +</PRE> + +<P> +RollingFileAppender extends FileAppender to backup the log files when + they reach a certain size. + + The log4j extras companion includes alternatives which should be considered + for new deployments and which are discussed in the documentation + for org.apache.log4j.rolling.RollingFileAppender. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Heinz Richter, Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#maxBackupIndex">maxBackupIndex</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;There is one backup file by default.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#maxFileSize">maxFileSize</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default maximum file size is 10MB.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.FileAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/FileAppender.html#bufferedIO">bufferedIO</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#bufferSize">bufferSize</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#fileAppend">fileAppend</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#fileName">fileName</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.WriterAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#encoding">encoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#immediateFlush">immediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#qw">qw</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#RollingFileAppender()">RollingFileAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default constructor simply calls its <A HREF="../../../org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String)"><CODE>parents constructor</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#RollingFileAppender(org.apache.log4j.Layout, java.lang.String)">RollingFileAppender</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a FileAppender and open the file designated by + <code>filename</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#RollingFileAppender(org.apache.log4j.Layout, java.lang.String, boolean)">RollingFileAppender</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + boolean&nbsp;append)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a RollingFileAppender and open the file designated by + <code>filename</code>.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#getMaxBackupIndex()">getMaxBackupIndex</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>MaxBackupIndex</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#getMaximumFileSize()">getMaximumFileSize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the maximum size that the output file is allowed to reach + before being rolled over to backup files.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#rollOver()">rollOver</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implements the usual roll over behaviour.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#setFile(java.lang.String, boolean, boolean, int)">setFile</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fileName, + boolean&nbsp;append, + boolean&nbsp;bufferedIO, + int&nbsp;bufferSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets and <i>opens</i> the file where the log output will + go.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#setMaxBackupIndex(int)">setMaxBackupIndex</A></B>(int&nbsp;maxBackups)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the maximum number of backup files to keep around.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#setMaxFileSize(java.lang.String)">setMaxFileSize</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the maximum size that the output file is allowed to reach + before being rolled over to backup files.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#setMaximumFileSize(long)">setMaximumFileSize</A></B>(long&nbsp;maxFileSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the maximum size that the output file is allowed to reach + before being rolled over to backup files.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#setQWForFiles(java.io.Writer)">setQWForFiles</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the quiet writer being used.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method differentiates RollingFileAppender from its super + class.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.FileAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/FileAppender.html#activateOptions()">activateOptions</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#closeFile()">closeFile</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#getAppend()">getAppend</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#getBufferedIO()">getBufferedIO</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#getBufferSize()">getBufferSize</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#getFile()">getFile</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#reset()">reset</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#setAppend(boolean)">setAppend</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#setBufferedIO(boolean)">setBufferedIO</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#setBufferSize(int)">setBufferSize</A>, <A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)">setFile</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.WriterAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#checkEntryConditions()">checkEntryConditions</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#close()">close</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#closeWriter()">closeWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#createWriter(java.io.OutputStream)">createWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#getEncoding()">getEncoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#getImmediateFlush()">getImmediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#requiresLayout()">requiresLayout</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setEncoding(java.lang.String)">setEncoding</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setImmediateFlush(boolean)">setImmediateFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#setWriter(java.io.Writer)">setWriter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#shouldFlush(org.apache.log4j.spi.LoggingEvent)">shouldFlush</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#writeFooter()">writeFooter</A>, <A HREF="../../../org/apache/log4j/WriterAppender.html#writeHeader()">writeHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="maxFileSize"><!-- --></A><H3> +maxFileSize</H3> +<PRE> +protected long <B>maxFileSize</B></PRE> +<DL> +<DD>The default maximum file size is 10MB. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="maxBackupIndex"><!-- --></A><H3> +maxBackupIndex</H3> +<PRE> +protected int <B>maxBackupIndex</B></PRE> +<DL> +<DD>There is one backup file by default. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="RollingFileAppender()"><!-- --></A><H3> +RollingFileAppender</H3> +<PRE> +public <B>RollingFileAppender</B>()</PRE> +<DL> +<DD>The default constructor simply calls its <A HREF="../../../org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String)"><CODE>parents constructor</CODE></A>. +<P> +</DL> +<HR> + +<A NAME="RollingFileAppender(org.apache.log4j.Layout, java.lang.String, boolean)"><!-- --></A><H3> +RollingFileAppender</H3> +<PRE> +public <B>RollingFileAppender</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + boolean&nbsp;append) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Instantiate a RollingFileAppender and open the file designated by + <code>filename</code>. The opened filename will become the ouput + destination for this appender. + + <p>If the <code>append</code> parameter is true, the file will be + appended to. Otherwise, the file desginated by + <code>filename</code> will be truncated before being opened. +<P> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DL> +<HR> + +<A NAME="RollingFileAppender(org.apache.log4j.Layout, java.lang.String)"><!-- --></A><H3> +RollingFileAppender</H3> +<PRE> +public <B>RollingFileAppender</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Instantiate a FileAppender and open the file designated by + <code>filename</code>. The opened filename will become the output + destination for this appender. + + <p>The file will be appended to. +<P> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getMaxBackupIndex()"><!-- --></A><H3> +getMaxBackupIndex</H3> +<PRE> +public int <B>getMaxBackupIndex</B>()</PRE> +<DL> +<DD>Returns the value of the <b>MaxBackupIndex</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMaximumFileSize()"><!-- --></A><H3> +getMaximumFileSize</H3> +<PRE> +public long <B>getMaximumFileSize</B>()</PRE> +<DL> +<DD>Get the maximum size that the output file is allowed to reach + before being rolled over to backup files. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="rollOver()"><!-- --></A><H3> +rollOver</H3> +<PRE> +public void <B>rollOver</B>()</PRE> +<DL> +<DD>Implements the usual roll over behaviour. + + <p>If <code>MaxBackupIndex</code> is positive, then files + {<code>File.1</code>, ..., <code>File.MaxBackupIndex -1</code>} + are renamed to {<code>File.2</code>, ..., + <code>File.MaxBackupIndex</code>}. Moreover, <code>File</code> is + renamed <code>File.1</code> and closed. A new <code>File</code> is + created to receive further log output. + + <p>If <code>MaxBackupIndex</code> is equal to zero, then the + <code>File</code> is truncated with no backup files created. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setFile(java.lang.String, boolean, boolean, int)"><!-- --></A><H3> +setFile</H3> +<PRE> +public void <B>setFile</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fileName, + boolean&nbsp;append, + boolean&nbsp;bufferedIO, + int&nbsp;bufferSize) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String, boolean, boolean, int)">FileAppender</A></CODE></B></DD> +<DD><p>Sets and <i>opens</i> the file where the log output will + go. The specified file must be writable. + + <p>If there was already an opened file, then the previous file + is closed first. + + <p><b>Do not use this method directly. To configure a FileAppender + or one of its subclasses, set its properties one by one and then + call activateOptions.</b> +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String, boolean, boolean, int)">setFile</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>fileName</CODE> - The path to the log file.<DD><CODE>append</CODE> - If true will append to fileName. Otherwise will + truncate fileName. +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="setMaxBackupIndex(int)"><!-- --></A><H3> +setMaxBackupIndex</H3> +<PRE> +public void <B>setMaxBackupIndex</B>(int&nbsp;maxBackups)</PRE> +<DL> +<DD>Set the maximum number of backup files to keep around. + + <p>The <b>MaxBackupIndex</b> option determines how many backup + files are kept before the oldest is erased. This option takes + a positive integer value. If set to zero, then there will be no + backup files and the log file will be truncated when it reaches + <code>MaxFileSize</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setMaximumFileSize(long)"><!-- --></A><H3> +setMaximumFileSize</H3> +<PRE> +public void <B>setMaximumFileSize</B>(long&nbsp;maxFileSize)</PRE> +<DL> +<DD>Set the maximum size that the output file is allowed to reach + before being rolled over to backup files. + + <p>This method is equivalent to <A HREF="../../../org/apache/log4j/RollingFileAppender.html#setMaxFileSize(java.lang.String)"><CODE>setMaxFileSize(java.lang.String)</CODE></A> except + that it is required for differentiating the setter taking a + <code>long</code> argument from the setter taking a + <code>String</code> argument by the JavaBeans <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/Introspector.html?is-external=true" title="class or interface in java.beans"><CODE>Introspector</CODE></A>. +<P> +<DD><DL> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/RollingFileAppender.html#setMaxFileSize(java.lang.String)"><CODE>setMaxFileSize(String)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="setMaxFileSize(java.lang.String)"><!-- --></A><H3> +setMaxFileSize</H3> +<PRE> +public void <B>setMaxFileSize</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</PRE> +<DL> +<DD>Set the maximum size that the output file is allowed to reach + before being rolled over to backup files. + + <p>In configuration files, the <b>MaxFileSize</b> option takes an + long integer in the range 0 - 2^63. You can specify the value + with the suffixes "KB", "MB" or "GB" so that the integer is + interpreted being expressed respectively in kilobytes, megabytes + or gigabytes. For example, the value "10KB" will be interpreted + as 10240. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setQWForFiles(java.io.Writer)"><!-- --></A><H3> +setQWForFiles</H3> +<PRE> +protected void <B>setQWForFiles</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../org/apache/log4j/FileAppender.html#setQWForFiles(java.io.Writer)">FileAppender</A></CODE></B></DD> +<DD>Sets the quiet writer being used. + + This method is overriden by <A HREF="../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><CODE>RollingFileAppender</CODE></A>. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/FileAppender.html#setQWForFiles(java.io.Writer)">setQWForFiles</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="subAppend(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +subAppend</H3> +<PRE> +protected void <B>subAppend</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>This method differentiates RollingFileAppender from its super + class. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/WriterAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RollingFileAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/RollingFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RollingFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/SimpleLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/SimpleLayout.html new file mode 100644 index 00000000000..1fdb596d943 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/SimpleLayout.html @@ -0,0 +1,377 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SimpleLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SimpleLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/SimpleLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Layout">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class SimpleLayout</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">org.apache.log4j.Layout</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.SimpleLayout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SimpleLayout</B><DT>extends <A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></DL> +</PRE> + +<P> +SimpleLayout consists of the level of the log statement, + followed by " - " and then the log message itself. For example, + + <pre> + DEBUG - Hello world + </pre> + + <p> +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>version 0.7.0 + + <p><A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> offers a much more powerful alternative.</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP">LINE_SEP</A>, <A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP_LEN">LINE_SEP_LEN</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/SimpleLayout.html#SimpleLayout()">SimpleLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/SimpleLayout.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Activate the options that were previously set with calls to option + setters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/SimpleLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the log statement in a format consisting of the + <code>level</code>, followed by " - " and then the + <code>message</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/SimpleLayout.html#ignoresThrowable()">ignoresThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The SimpleLayout does not handle the throwable contained within + <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Layout.html#getContentType()">getContentType</A>, <A HREF="../../../org/apache/log4j/Layout.html#getFooter()">getFooter</A>, <A HREF="../../../org/apache/log4j/Layout.html#getHeader()">getHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SimpleLayout()"><!-- --></A><H3> +SimpleLayout</H3> +<PRE> +public <B>SimpleLayout</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">OptionHandler</A></CODE></B></DD> +<DD>Activate the options that were previously set with calls to option + setters. + + <p>This allows to defer activiation of the options until all + options have been set. This is required for components which have + related options that remain ambigous until all are set. + + <p>For example, the FileAppender has the <A HREF="../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><CODE>File</CODE></A> and <A HREF="../../../org/apache/log4j/FileAppender.html#setAppend(boolean)"><CODE>Append</CODE></A> options both of + which are ambigous until the other is also set. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>format</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Returns the log statement in a format consisting of the + <code>level</code>, followed by " - " and then the + <code>message</code>. For example, <pre> INFO - "A message" + </pre> + + <p>The <code>category</code> parameter is ignored. + <p> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>A byte array in SimpleLayout format.</DL> +</DD> +</DL> +<HR> + +<A NAME="ignoresThrowable()"><!-- --></A><H3> +ignoresThrowable</H3> +<PRE> +public boolean <B>ignoresThrowable</B>()</PRE> +<DL> +<DD>The SimpleLayout does not handle the throwable contained within + <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A>. Thus, it returns + <code>true</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#ignoresThrowable()">ignoresThrowable</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>version 0.8.4</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/SimpleLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Layout">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/TTCCLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/TTCCLayout.html new file mode 100644 index 00000000000..d4910f0d491 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/TTCCLayout.html @@ -0,0 +1,580 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TTCCLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TTCCLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TTCCLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/TTCCLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TTCCLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class TTCCLayout</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">org.apache.log4j.Layout</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.DateLayout</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.TTCCLayout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TTCCLayout</B><DT>extends <A HREF="../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A></DL> +</PRE> + +<P> +TTCC layout format consists of time, thread, category and nested + diagnostic context information, hence the name. + + <p>Each of the four fields can be individually enabled or + disabled. The time format depends on the <code>DateFormat</code> + used. + + <p>Here is an example TTCCLayout output with the + <A HREF="../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>RelativeTimeDateFormat</CODE></A>. + + <pre> +176 [main] INFO org.apache.log4j.examples.Sort - Populating an array of 2 elements in reverse order. +225 [main] INFO org.apache.log4j.examples.SortAlgo - Entered the sort method. +262 [main] DEBUG org.apache.log4j.examples.SortAlgo.OUTER i=1 - Outer loop. +276 [main] DEBUG org.apache.log4j.examples.SortAlgo.SWAP i=1 j=0 - Swapping intArray[0] = 1 and intArray[1] = 0 +290 [main] DEBUG org.apache.log4j.examples.SortAlgo.OUTER i=0 - Outer loop. +304 [main] INFO org.apache.log4j.examples.SortAlgo.DUMP - Dump of interger array: +317 [main] INFO org.apache.log4j.examples.SortAlgo.DUMP - Element [0] = 0 +331 [main] INFO org.apache.log4j.examples.SortAlgo.DUMP - Element [1] = 1 +343 [main] INFO org.apache.log4j.examples.Sort - The next log statement should be an error message. +346 [main] ERROR org.apache.log4j.examples.SortAlgo.DUMP - Tried to dump an uninitialized array. + at org.apache.log4j.examples.SortAlgo.dump(SortAlgo.java:58) + at org.apache.log4j.examples.Sort.main(Sort.java:64) +467 [main] INFO org.apache.log4j.examples.Sort - Exiting main method. +</pre> + + <p>The first field is the number of milliseconds elapsed since the + start of the program. The second field is the thread outputting the + log statement. The third field is the level, the fourth field is + the category to which the statement belongs. + + <p>The fifth field (just before the '-') is the nested diagnostic + context. Note the nested diagnostic context may be empty as in the + first two statements. The text after the '-' is the message of the + statement. + + <p><b>WARNING</b> Do not use the same TTCCLayout instance from + within different appenders. The TTCCLayout is not thread safe when + used in his way. However, it is perfectly safe to use a TTCCLayout + instance from just one appender. + + <p><A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> offers a much more flexible alternative. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, <A HREF="mailto:heinz.richter@ecmwf.int">Heinz Richter</a></DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#buf">buf</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.helpers.DateLayout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.helpers.<A HREF="../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/helpers/DateLayout.html#date">date</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#DATE_FORMAT_OPTION">DATE_FORMAT_OPTION</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#dateFormat">dateFormat</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#NULL_DATE_FORMAT">NULL_DATE_FORMAT</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#pos">pos</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#RELATIVE_TIME_DATE_FORMAT">RELATIVE_TIME_DATE_FORMAT</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#TIMEZONE_OPTION">TIMEZONE_OPTION</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP">LINE_SEP</A>, <A HREF="../../../org/apache/log4j/Layout.html#LINE_SEP_LEN">LINE_SEP_LEN</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#TTCCLayout()">TTCCLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a TTCCLayout object with <A HREF="../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>RelativeTimeDateFormat</CODE></A> as the date + formatter in the local time zone.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#TTCCLayout(java.lang.String)">TTCCLayout</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;dateFormatType)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a TTCCLayout object using the local time zone.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In addition to the level of the statement and message, the + returned byte array includes time, thread, category and <A HREF="../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><CODE>NDC</CODE></A> + information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#getCategoryPrefixing()">getCategoryPrefixing</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>CategoryPrefixing</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#getContextPrinting()">getContextPrinting</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>ContextPrinting</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#getThreadPrinting()">getThreadPrinting</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>ThreadPrinting</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#ignoresThrowable()">ignoresThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The TTCCLayout does not handle the throwable contained within + <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#setCategoryPrefixing(boolean)">setCategoryPrefixing</A></B>(boolean&nbsp;categoryPrefixing)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>CategoryPrefixing</b> option specifies whether <A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><CODE>Category</CODE></A> + name is part of log output or not.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#setContextPrinting(boolean)">setContextPrinting</A></B>(boolean&nbsp;contextPrinting)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>ContextPrinting</b> option specifies log output will include + the nested context information belonging to the current thread.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TTCCLayout.html#setThreadPrinting(boolean)">setThreadPrinting</A></B>(boolean&nbsp;threadPrinting)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>ThreadPrinting</b> option specifies whether the name of the + current thread is part of log output or not.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.helpers.DateLayout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.helpers.<A HREF="../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/helpers/DateLayout.html#activateOptions()">activateOptions</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#dateFormat(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)">dateFormat</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#getDateFormat()">getDateFormat</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#getOptionStrings()">getOptionStrings</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#getTimeZone()">getTimeZone</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#setDateFormat(java.text.DateFormat, java.util.TimeZone)">setDateFormat</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#setDateFormat(java.lang.String)">setDateFormat</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#setDateFormat(java.lang.String, java.util.TimeZone)">setDateFormat</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#setOption(java.lang.String, java.lang.String)">setOption</A>, <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#setTimeZone(java.lang.String)">setTimeZone</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/Layout.html#getContentType()">getContentType</A>, <A HREF="../../../org/apache/log4j/Layout.html#getFooter()">getFooter</A>, <A HREF="../../../org/apache/log4j/Layout.html#getHeader()">getHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="buf"><!-- --></A><H3> +buf</H3> +<PRE> +protected final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A> <B>buf</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TTCCLayout()"><!-- --></A><H3> +TTCCLayout</H3> +<PRE> +public <B>TTCCLayout</B>()</PRE> +<DL> +<DD>Instantiate a TTCCLayout object with <A HREF="../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>RelativeTimeDateFormat</CODE></A> as the date + formatter in the local time zone. +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.7.5</DD> +</DL> +</DL> +<HR> + +<A NAME="TTCCLayout(java.lang.String)"><!-- --></A><H3> +TTCCLayout</H3> +<PRE> +public <B>TTCCLayout</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;dateFormatType)</PRE> +<DL> +<DD>Instantiate a TTCCLayout object using the local time zone. The + DateFormat used will depend on the <code>dateFormatType</code>. + + <p>This constructor just calls the <A HREF="../../../org/apache/log4j/helpers/DateLayout.html#setDateFormat(java.lang.String)"><CODE>DateLayout.setDateFormat(java.lang.String)</CODE></A> method. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setThreadPrinting(boolean)"><!-- --></A><H3> +setThreadPrinting</H3> +<PRE> +public void <B>setThreadPrinting</B>(boolean&nbsp;threadPrinting)</PRE> +<DL> +<DD>The <b>ThreadPrinting</b> option specifies whether the name of the + current thread is part of log output or not. This is true by default. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThreadPrinting()"><!-- --></A><H3> +getThreadPrinting</H3> +<PRE> +public boolean <B>getThreadPrinting</B>()</PRE> +<DL> +<DD>Returns value of the <b>ThreadPrinting</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setCategoryPrefixing(boolean)"><!-- --></A><H3> +setCategoryPrefixing</H3> +<PRE> +public void <B>setCategoryPrefixing</B>(boolean&nbsp;categoryPrefixing)</PRE> +<DL> +<DD>The <b>CategoryPrefixing</b> option specifies whether <A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><CODE>Category</CODE></A> + name is part of log output or not. This is true by default. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCategoryPrefixing()"><!-- --></A><H3> +getCategoryPrefixing</H3> +<PRE> +public boolean <B>getCategoryPrefixing</B>()</PRE> +<DL> +<DD>Returns value of the <b>CategoryPrefixing</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setContextPrinting(boolean)"><!-- --></A><H3> +setContextPrinting</H3> +<PRE> +public void <B>setContextPrinting</B>(boolean&nbsp;contextPrinting)</PRE> +<DL> +<DD>The <b>ContextPrinting</b> option specifies log output will include + the nested context information belonging to the current thread. + This is true by default. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getContextPrinting()"><!-- --></A><H3> +getContextPrinting</H3> +<PRE> +public boolean <B>getContextPrinting</B>()</PRE> +<DL> +<DD>Returns value of the <b>ContextPrinting</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>format</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>In addition to the level of the statement and message, the + returned byte array includes time, thread, category and <A HREF="../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><CODE>NDC</CODE></A> + information. + + <p>Time, thread, category and diagnostic context are printed + depending on options. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - The event to format</DL> +</DD> +</DL> +<HR> + +<A NAME="ignoresThrowable()"><!-- --></A><H3> +ignoresThrowable</H3> +<PRE> +public boolean <B>ignoresThrowable</B>()</PRE> +<DL> +<DD>The TTCCLayout does not handle the throwable contained within + <A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A>. Thus, it returns + <code>true</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Layout.html#ignoresThrowable()">ignoresThrowable</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>version 0.8.4</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TTCCLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/TTCCLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TTCCLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/WriterAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/WriterAppender.html new file mode 100644 index 00000000000..469d30a3b7f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/WriterAppender.html @@ -0,0 +1,854 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +WriterAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="WriterAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/WriterAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/WriterAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="WriterAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class WriterAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.WriterAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A>, <A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>WriterAppender</B><DT>extends <A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></DL> +</PRE> + +<P> +WriterAppender appends log events to a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A> or an + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A> depending on the user's choice. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#encoding">encoding</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The encoding to use when writing.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#immediateFlush">immediateFlush</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Immediate flush means that the underlying writer or output stream + will be flushed at the end of each append operation unless shouldFlush() + is overridden.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#qw">qw</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the <A HREF="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><CODE>quietWriter</CODE></A> where we will write + to.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#WriterAppender()">WriterAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This default constructor does nothing.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#WriterAppender(org.apache.log4j.Layout, java.io.OutputStream)">WriterAppender</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;os)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a WriterAppender and set the output destination to a + new <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStreamWriter.html?is-external=true" title="class or interface in java.io"><CODE>OutputStreamWriter</CODE></A> initialized with <code>os</code> + as its <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#WriterAppender(org.apache.log4j.Layout, java.io.Writer)">WriterAppender</A></B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a WriterAppender and set the output destination to + <code>writer</code>.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called by the <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> + method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#checkEntryConditions()">checkEntryConditions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method determines if there is a sense in attempting to append.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close this appender instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#closeWriter()">closeWriter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close the underlying <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStreamWriter.html?is-external=true" title="class or interface in java.io">OutputStreamWriter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#createWriter(java.io.OutputStream)">createWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;os)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an OutputStreamWriter when passed an OutputStream.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#getEncoding()">getEncoding</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#getImmediateFlush()">getImmediateFlush</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>ImmediateFlush</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The WriterAppender requires a layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#reset()">reset</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear internal references to the writer and other variables.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#setEncoding(java.lang.String)">setEncoding</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></B>(<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this WriterAppender and also the + underlying <A HREF="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><CODE>QuietWriter</CODE></A> if any.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#setImmediateFlush(boolean)">setImmediateFlush</A></B>(boolean&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the <b>ImmediateFlush</b> option is set to + <code>true</code>, the appender will flush at the end of each + write.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#setWriter(java.io.Writer)">setWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the Writer where the log output will go.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#shouldFlush(org.apache.log4j.spi.LoggingEvent)">shouldFlush</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines whether the writer should be flushed after + this event is written.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A></B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Actual writing occurs here.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#writeFooter()">writeFooter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write a footer as produced by the embedded layout's <A HREF="../../../org/apache/log4j/Layout.html#getFooter()"><CODE>Layout.getFooter()</CODE></A> method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/WriterAppender.html#writeHeader()">writeHeader</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write a header as produced by the embedded layout's <A HREF="../../../org/apache/log4j/Layout.html#getHeader()"><CODE>Layout.getHeader()</CODE></A> method.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="immediateFlush"><!-- --></A><H3> +immediateFlush</H3> +<PRE> +protected boolean <B>immediateFlush</B></PRE> +<DL> +<DD>Immediate flush means that the underlying writer or output stream + will be flushed at the end of each append operation unless shouldFlush() + is overridden. Immediate + flush is slower but ensures that each append request is actually + written. If <code>immediateFlush</code> is set to + <code>false</code>, then there is a good chance that the last few + logs events are not actually written to persistent media if and + when the application crashes. + + <p>The <code>immediateFlush</code> variable is set to + <code>true</code> by default. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="encoding"><!-- --></A><H3> +encoding</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>encoding</B></PRE> +<DL> +<DD>The encoding to use when writing. <p>The + <code>encoding</code> variable is set to <code>null</null> by + default which results in the utilization of the system's default + encoding. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="qw"><!-- --></A><H3> +qw</H3> +<PRE> +protected <A HREF="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A> <B>qw</B></PRE> +<DL> +<DD>This is the <A HREF="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><CODE>quietWriter</CODE></A> where we will write + to. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="WriterAppender()"><!-- --></A><H3> +WriterAppender</H3> +<PRE> +public <B>WriterAppender</B>()</PRE> +<DL> +<DD>This default constructor does nothing. +<P> +</DL> +<HR> + +<A NAME="WriterAppender(org.apache.log4j.Layout, java.io.OutputStream)"><!-- --></A><H3> +WriterAppender</H3> +<PRE> +public <B>WriterAppender</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;os)</PRE> +<DL> +<DD>Instantiate a WriterAppender and set the output destination to a + new <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStreamWriter.html?is-external=true" title="class or interface in java.io"><CODE>OutputStreamWriter</CODE></A> initialized with <code>os</code> + as its <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A>. +<P> +</DL> +<HR> + +<A NAME="WriterAppender(org.apache.log4j.Layout, java.io.Writer)"><!-- --></A><H3> +WriterAppender</H3> +<PRE> +public <B>WriterAppender</B>(<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</PRE> +<DL> +<DD>Instantiate a WriterAppender and set the output destination to + <code>writer</code>. + + <p>The <code>writer</code> must have been previously opened by + the user. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setImmediateFlush(boolean)"><!-- --></A><H3> +setImmediateFlush</H3> +<PRE> +public void <B>setImmediateFlush</B>(boolean&nbsp;value)</PRE> +<DL> +<DD>If the <b>ImmediateFlush</b> option is set to + <code>true</code>, the appender will flush at the end of each + write. This is the default behavior. If the option is set to + <code>false</code>, then the underlying stream can defer writing + to physical medium to a later time. + + <p>Avoiding the flush operation at the end of each append results in + a performance gain of 10 to 20 percent. However, there is safety + tradeoff involved in skipping flushing. Indeed, when flushing is + skipped, then it is likely that the last few log events will not + be recorded on disk when the application exits. This is a high + price to pay even for a 20% performance gain. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getImmediateFlush()"><!-- --></A><H3> +getImmediateFlush</H3> +<PRE> +public boolean <B>getImmediateFlush</B>()</PRE> +<DL> +<DD>Returns value of the <b>ImmediateFlush</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Does nothing. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>This method is called by the <A HREF="../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> + method. + + <p>If the output stream exists and is writable then write a log + statement to the output stream. Otherwise, write a single warning + message to <code>System.err</code>. + + <p>The format of the output will depend on this appender's + layout. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="checkEntryConditions()"><!-- --></A><H3> +checkEntryConditions</H3> +<PRE> +protected boolean <B>checkEntryConditions</B>()</PRE> +<DL> +<DD>This method determines if there is a sense in attempting to append. + + <p>It checks whether there is a set output target and also if + there is a set layout. If these checks fail, then the boolean + value <code>false</code> is returned. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD>Close this appender instance. The underlying stream or writer is + also closed. + + <p>Closed appenders cannot be reused. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/WriterAppender.html#setWriter(java.io.Writer)"><CODE>setWriter(java.io.Writer)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="closeWriter()"><!-- --></A><H3> +closeWriter</H3> +<PRE> +protected void <B>closeWriter</B>()</PRE> +<DL> +<DD>Close the underlying <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createWriter(java.io.OutputStream)"><!-- --></A><H3> +createWriter</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStreamWriter.html?is-external=true" title="class or interface in java.io">OutputStreamWriter</A> <B>createWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;os)</PRE> +<DL> +<DD>Returns an OutputStreamWriter when passed an OutputStream. The + encoding used will depend on the value of the + <code>encoding</code> property. If the encoding value is + specified incorrectly the writer will be opened using the default + system encoding (an error message will be printed to the loglog. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getEncoding()"><!-- --></A><H3> +getEncoding</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getEncoding</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setEncoding(java.lang.String)"><!-- --></A><H3> +setEncoding</H3> +<PRE> +public void <B>setEncoding</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setErrorHandler(org.apache.log4j.spi.ErrorHandler)"><!-- --></A><H3> +setErrorHandler</H3> +<PRE> +public void <B>setErrorHandler</B>(<A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</PRE> +<DL> +<DD>Set the <A HREF="../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this WriterAppender and also the + underlying <A HREF="../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><CODE>QuietWriter</CODE></A> if any. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/log4j/Appender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></CODE> in interface <CODE><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setWriter(java.io.Writer)"><!-- --></A><H3> +setWriter</H3> +<PRE> +public void <B>setWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</PRE> +<DL> +<DD><p>Sets the Writer where the log output will go. The + specified Writer must be opened by the user and be + writable. + + <p>The <code>java.io.Writer</code> will be closed when the + appender instance is closed. + + + <p><b>WARNING:</b> Logging to an unopened Writer will fail. + <p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>writer</CODE> - An already opened Writer.</DL> +</DD> +</DL> +<HR> + +<A NAME="subAppend(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +subAppend</H3> +<PRE> +protected void <B>subAppend</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Actual writing occurs here. + + <p>Most subclasses of <code>WriterAppender</code> will need to + override this method. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>The WriterAppender requires a layout. Hence, this method returns + <code>true</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="reset()"><!-- --></A><H3> +reset</H3> +<PRE> +protected void <B>reset</B>()</PRE> +<DL> +<DD>Clear internal references to the writer and other variables. + + Subclasses can override this method for an alternate closing + behavior. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="writeFooter()"><!-- --></A><H3> +writeFooter</H3> +<PRE> +protected void <B>writeFooter</B>()</PRE> +<DL> +<DD>Write a footer as produced by the embedded layout's <A HREF="../../../org/apache/log4j/Layout.html#getFooter()"><CODE>Layout.getFooter()</CODE></A> method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="writeHeader()"><!-- --></A><H3> +writeHeader</H3> +<PRE> +protected void <B>writeHeader</B>()</PRE> +<DL> +<DD>Write a header as produced by the embedded layout's <A HREF="../../../org/apache/log4j/Layout.html#getHeader()"><CODE>Layout.getHeader()</CODE></A> method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="shouldFlush(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +shouldFlush</H3> +<PRE> +protected boolean <B>shouldFlush</B>(<A HREF="../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Determines whether the writer should be flushed after + this event is written. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/WriterAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/WriterAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="WriterAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/Main.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/Main.html new file mode 100644 index 00000000000..07a1e01060a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/Main.html @@ -0,0 +1,434 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Main (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Main (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Main.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/chainsaw/Main.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Main.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JFrame">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.chainsaw</FONT> +<BR> +Class Main</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">java.awt.Window</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt">java.awt.Frame</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">javax.swing.JFrame</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.chainsaw.Main</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/RootPaneContainer.html?is-external=true" title="class or interface in javax.swing">RootPaneContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>Main</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A></DL> +</PRE> + +<P> +The main application. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD><a href="mailto:oliver@puppycrawl.com">Oliver Burn</a></DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.chainsaw.Main">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JFrame"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.AccessibleJFrame.html?is-external=true" title="class or interface in javax.swing">JFrame.AccessibleJFrame</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Frame"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt">Frame</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.AccessibleAWTFrame.html?is-external=true" title="class or interface in java.awt">Frame.AccessibleAWTFrame</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Window"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.AccessibleAWTWindow.html?is-external=true" title="class or interface in java.awt">Window.AccessibleAWTWindow</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BltBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.BltBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.FlipBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.FlipBufferStrategy</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/chainsaw/Main.html#PORT_PROP_NAME">PORT_PROP_NAME</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name of property for port name</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JFrame"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#EXIT_ON_CLOSE" title="class or interface in javax.swing">EXIT_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#rootPane" title="class or interface in javax.swing">rootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#rootPaneCheckingEnabled" title="class or interface in javax.swing">rootPaneCheckingEnabled</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Frame"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt">Frame</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#CROSSHAIR_CURSOR" title="class or interface in java.awt">CROSSHAIR_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#DEFAULT_CURSOR" title="class or interface in java.awt">DEFAULT_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#E_RESIZE_CURSOR" title="class or interface in java.awt">E_RESIZE_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#HAND_CURSOR" title="class or interface in java.awt">HAND_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#ICONIFIED" title="class or interface in java.awt">ICONIFIED</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#MAXIMIZED_BOTH" title="class or interface in java.awt">MAXIMIZED_BOTH</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#MAXIMIZED_HORIZ" title="class or interface in java.awt">MAXIMIZED_HORIZ</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#MAXIMIZED_VERT" title="class or interface in java.awt">MAXIMIZED_VERT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#MOVE_CURSOR" title="class or interface in java.awt">MOVE_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#N_RESIZE_CURSOR" title="class or interface in java.awt">N_RESIZE_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#NE_RESIZE_CURSOR" title="class or interface in java.awt">NE_RESIZE_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#NORMAL" title="class or interface in java.awt">NORMAL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#NW_RESIZE_CURSOR" title="class or interface in java.awt">NW_RESIZE_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#S_RESIZE_CURSOR" title="class or interface in java.awt">S_RESIZE_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#SE_RESIZE_CURSOR" title="class or interface in java.awt">SE_RESIZE_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#SW_RESIZE_CURSOR" title="class or interface in java.awt">SW_RESIZE_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#TEXT_CURSOR" title="class or interface in java.awt">TEXT_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#W_RESIZE_CURSOR" title="class or interface in java.awt">W_RESIZE_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#WAIT_CURSOR" title="class or interface in java.awt">WAIT_CURSOR</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt">LEFT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#RIGHT_ALIGNMENT" title="class or interface in java.awt">RIGHT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#TOP_ALIGNMENT" title="class or interface in java.awt">TOP_ALIGNMENT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.WindowConstants"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#DISPOSE_ON_CLOSE" title="class or interface in javax.swing">DISPOSE_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#DO_NOTHING_ON_CLOSE" title="class or interface in javax.swing">DO_NOTHING_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#HIDE_ON_CLOSE" title="class or interface in javax.swing">HIDE_ON_CLOSE</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image">ERROR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#FRAMEBITS" title="class or interface in java.awt.image">FRAMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#HEIGHT" title="class or interface in java.awt.image">HEIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#PROPERTIES" title="class or interface in java.awt.image">PROPERTIES</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#SOMEBITS" title="class or interface in java.awt.image">SOMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#WIDTH" title="class or interface in java.awt.image">WIDTH</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/chainsaw/Main.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;aArgs)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The main method.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JFrame"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in javax.swing">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#createRootPane()" title="class or interface in javax.swing">createRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#frameInit()" title="class or interface in javax.swing">frameInit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#getContentPane()" title="class or interface in javax.swing">getContentPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#getDefaultCloseOperation()" title="class or interface in javax.swing">getDefaultCloseOperation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#getGlassPane()" title="class or interface in javax.swing">getGlassPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#getGraphics()" title="class or interface in javax.swing">getGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#getJMenuBar()" title="class or interface in javax.swing">getJMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#getLayeredPane()" title="class or interface in javax.swing">getLayeredPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#getRootPane()" title="class or interface in javax.swing">getRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#getTransferHandler()" title="class or interface in javax.swing">getTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#isDefaultLookAndFeelDecorated()" title="class or interface in javax.swing">isDefaultLookAndFeelDecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#isRootPaneCheckingEnabled()" title="class or interface in javax.swing">isRootPaneCheckingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#paramString()" title="class or interface in javax.swing">paramString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#processWindowEvent(java.awt.event.WindowEvent)" title="class or interface in javax.swing">processWindowEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#remove(java.awt.Component)" title="class or interface in javax.swing">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#repaint(long, int, int, int, int)" title="class or interface in javax.swing">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setContentPane(java.awt.Container)" title="class or interface in javax.swing">setContentPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setDefaultCloseOperation(int)" title="class or interface in javax.swing">setDefaultCloseOperation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setDefaultLookAndFeelDecorated(boolean)" title="class or interface in javax.swing">setDefaultLookAndFeelDecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setGlassPane(java.awt.Component)" title="class or interface in javax.swing">setGlassPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setIconImage(java.awt.Image)" title="class or interface in javax.swing">setIconImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setJMenuBar(javax.swing.JMenuBar)" title="class or interface in javax.swing">setJMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setLayeredPane(javax.swing.JLayeredPane)" title="class or interface in javax.swing">setLayeredPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setLayout(java.awt.LayoutManager)" title="class or interface in javax.swing">setLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setRootPane(javax.swing.JRootPane)" title="class or interface in javax.swing">setRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setRootPaneCheckingEnabled(boolean)" title="class or interface in javax.swing">setRootPaneCheckingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#setTransferHandler(javax.swing.TransferHandler)" title="class or interface in javax.swing">setTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true#update(java.awt.Graphics)" title="class or interface in javax.swing">update</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Frame"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt">Frame</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#addNotify()" title="class or interface in java.awt">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#getCursorType()" title="class or interface in java.awt">getCursorType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#getExtendedState()" title="class or interface in java.awt">getExtendedState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#getFrames()" title="class or interface in java.awt">getFrames</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#getIconImage()" title="class or interface in java.awt">getIconImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#getMaximizedBounds()" title="class or interface in java.awt">getMaximizedBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#getMenuBar()" title="class or interface in java.awt">getMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#getState()" title="class or interface in java.awt">getState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#getTitle()" title="class or interface in java.awt">getTitle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#isResizable()" title="class or interface in java.awt">isResizable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#isUndecorated()" title="class or interface in java.awt">isUndecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#remove(java.awt.MenuComponent)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#removeNotify()" title="class or interface in java.awt">removeNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#setCursor(int)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#setExtendedState(int)" title="class or interface in java.awt">setExtendedState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#setMaximizedBounds(java.awt.Rectangle)" title="class or interface in java.awt">setMaximizedBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#setMenuBar(java.awt.MenuBar)" title="class or interface in java.awt">setMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#setResizable(boolean)" title="class or interface in java.awt">setResizable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#setState(int)" title="class or interface in java.awt">setState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#setTitle(java.lang.String)" title="class or interface in java.awt">setTitle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true#setUndecorated(boolean)" title="class or interface in java.awt">setUndecorated</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Window"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowFocusListener(java.awt.event.WindowFocusListener)" title="class or interface in java.awt">addWindowFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowListener(java.awt.event.WindowListener)" title="class or interface in java.awt">addWindowListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowStateListener(java.awt.event.WindowStateListener)" title="class or interface in java.awt">addWindowStateListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#applyResourceBundle(java.util.ResourceBundle)" title="class or interface in java.awt">applyResourceBundle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#applyResourceBundle(java.lang.String)" title="class or interface in java.awt">applyResourceBundle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#createBufferStrategy(int)" title="class or interface in java.awt">createBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#createBufferStrategy(int, java.awt.BufferCapabilities)" title="class or interface in java.awt">createBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#dispose()" title="class or interface in java.awt">dispose</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getBufferStrategy()" title="class or interface in java.awt">getBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusableWindowState()" title="class or interface in java.awt">getFocusableWindowState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusCycleRootAncestor()" title="class or interface in java.awt">getFocusCycleRootAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusOwner()" title="class or interface in java.awt">getFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusTraversalKeys(int)" title="class or interface in java.awt">getFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getGraphicsConfiguration()" title="class or interface in java.awt">getGraphicsConfiguration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getIconImages()" title="class or interface in java.awt">getIconImages</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getInputContext()" title="class or interface in java.awt">getInputContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in java.awt">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getLocale()" title="class or interface in java.awt">getLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getModalExclusionType()" title="class or interface in java.awt">getModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getMostRecentFocusOwner()" title="class or interface in java.awt">getMostRecentFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwnedWindows()" title="class or interface in java.awt">getOwnedWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwner()" title="class or interface in java.awt">getOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwnerlessWindows()" title="class or interface in java.awt">getOwnerlessWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getToolkit()" title="class or interface in java.awt">getToolkit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWarningString()" title="class or interface in java.awt">getWarningString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowFocusListeners()" title="class or interface in java.awt">getWindowFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowListeners()" title="class or interface in java.awt">getWindowListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindows()" title="class or interface in java.awt">getWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowStateListeners()" title="class or interface in java.awt">getWindowStateListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#hide()" title="class or interface in java.awt">hide</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isActive()" title="class or interface in java.awt">isActive</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isAlwaysOnTop()" title="class or interface in java.awt">isAlwaysOnTop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isAlwaysOnTopSupported()" title="class or interface in java.awt">isAlwaysOnTopSupported</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocusableWindow()" title="class or interface in java.awt">isFocusableWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocusCycleRoot()" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocused()" title="class or interface in java.awt">isFocused</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isLocationByPlatform()" title="class or interface in java.awt">isLocationByPlatform</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isShowing()" title="class or interface in java.awt">isShowing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#pack()" title="class or interface in java.awt">pack</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processEvent(java.awt.AWTEvent)" title="class or interface in java.awt">processEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processWindowFocusEvent(java.awt.event.WindowEvent)" title="class or interface in java.awt">processWindowFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processWindowStateEvent(java.awt.event.WindowEvent)" title="class or interface in java.awt">processWindowStateEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowFocusListener(java.awt.event.WindowFocusListener)" title="class or interface in java.awt">removeWindowFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowListener(java.awt.event.WindowListener)" title="class or interface in java.awt">removeWindowListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowStateListener(java.awt.event.WindowStateListener)" title="class or interface in java.awt">removeWindowStateListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#reshape(int, int, int, int)" title="class or interface in java.awt">reshape</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setAlwaysOnTop(boolean)" title="class or interface in java.awt">setAlwaysOnTop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setBounds(int, int, int, int)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setBounds(java.awt.Rectangle)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setCursor(java.awt.Cursor)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setFocusableWindowState(boolean)" title="class or interface in java.awt">setFocusableWindowState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setFocusCycleRoot(boolean)" title="class or interface in java.awt">setFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setIconImages(java.util.List)" title="class or interface in java.awt">setIconImages</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setLocationByPlatform(boolean)" title="class or interface in java.awt">setLocationByPlatform</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setLocationRelativeTo(java.awt.Component)" title="class or interface in java.awt">setLocationRelativeTo</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setMinimumSize(java.awt.Dimension)" title="class or interface in java.awt">setMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setModalExclusionType(java.awt.Dialog.ModalExclusionType)" title="class or interface in java.awt">setModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setSize(java.awt.Dimension)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setSize(int, int)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setVisible(boolean)" title="class or interface in java.awt">setVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#show()" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#toBack()" title="class or interface in java.awt">toBack</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#toFront()" title="class or interface in java.awt">toFront</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.lang.String, java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">addContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#applyComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">applyComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#areFocusTraversalKeysSet(int)" title="class or interface in java.awt">areFocusTraversalKeysSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#countComponents()" title="class or interface in java.awt">countComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#deliverEvent(java.awt.Event)" title="class or interface in java.awt">deliverEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#doLayout()" title="class or interface in java.awt">doLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(int, int)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(java.awt.Point)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getAlignmentX()" title="class or interface in java.awt">getAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getAlignmentY()" title="class or interface in java.awt">getAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponent(int)" title="class or interface in java.awt">getComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(int, int)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(java.awt.Point)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentCount()" title="class or interface in java.awt">getComponentCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponents()" title="class or interface in java.awt">getComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentZOrder(java.awt.Component)" title="class or interface in java.awt">getComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getContainerListeners()" title="class or interface in java.awt">getContainerListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalPolicy()" title="class or interface in java.awt">getFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getInsets()" title="class or interface in java.awt">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getLayout()" title="class or interface in java.awt">getLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMaximumSize()" title="class or interface in java.awt">getMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMinimumSize()" title="class or interface in java.awt">getMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMousePosition(boolean)" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getPreferredSize()" title="class or interface in java.awt">getPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#insets()" title="class or interface in java.awt">insets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#invalidate()" title="class or interface in java.awt">invalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isAncestorOf(java.awt.Component)" title="class or interface in java.awt">isAncestorOf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot(java.awt.Container)" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicyProvider()" title="class or interface in java.awt">isFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicySet()" title="class or interface in java.awt">isFocusTraversalPolicySet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#layout()" title="class or interface in java.awt">layout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintStream, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintWriter, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#locate(int, int)" title="class or interface in java.awt">locate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#minimumSize()" title="class or interface in java.awt">minimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paint(java.awt.Graphics)" title="class or interface in java.awt">paint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paintComponents(java.awt.Graphics)" title="class or interface in java.awt">paintComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#preferredSize()" title="class or interface in java.awt">preferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#print(java.awt.Graphics)" title="class or interface in java.awt">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#printComponents(java.awt.Graphics)" title="class or interface in java.awt">printComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processContainerEvent(java.awt.event.ContainerEvent)" title="class or interface in java.awt">processContainerEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(int)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeAll()" title="class or interface in java.awt">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">removeContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setComponentZOrder(java.awt.Component, int)" title="class or interface in java.awt">setComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalKeys(int, java.util.Set)" title="class or interface in java.awt">setFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)" title="class or interface in java.awt">setFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicyProvider(boolean)" title="class or interface in java.awt">setFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFont(java.awt.Font)" title="class or interface in java.awt">setFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusBackward()" title="class or interface in java.awt">transferFocusBackward</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusDownCycle()" title="class or interface in java.awt">transferFocusDownCycle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validate()" title="class or interface in java.awt">validate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validateTree()" title="class or interface in java.awt">validateTree</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">addComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">addFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">addHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">addHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">addInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">addKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">addMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">addMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">addMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#bounds()" title="class or interface in java.awt">bounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#coalesceEvents(java.awt.AWTEvent, java.awt.AWTEvent)" title="class or interface in java.awt">coalesceEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(int, int)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(java.awt.Point)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(java.awt.image.ImageProducer)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(int, int)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int, java.awt.ImageCapabilities)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disable()" title="class or interface in java.awt">disable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disableEvents(long)" title="class or interface in java.awt">disableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#dispatchEvent(java.awt.AWTEvent)" title="class or interface in java.awt">dispatchEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable()" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable(boolean)" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableEvents(long)" title="class or interface in java.awt">enableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableInputMethods(boolean)" title="class or interface in java.awt">enableInputMethods</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, byte, byte)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, char, char)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, double, double)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, float, float)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, int, int)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, long, long)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, short, short)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBackground()" title="class or interface in java.awt">getBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBaseline(int, int)" title="class or interface in java.awt">getBaseline</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBaselineResizeBehavior()" title="class or interface in java.awt">getBaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds()" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds(java.awt.Rectangle)" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getColorModel()" title="class or interface in java.awt">getColorModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentListeners()" title="class or interface in java.awt">getComponentListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentOrientation()" title="class or interface in java.awt">getComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getCursor()" title="class or interface in java.awt">getCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getDropTarget()" title="class or interface in java.awt">getDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusListeners()" title="class or interface in java.awt">getFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusTraversalKeysEnabled()" title="class or interface in java.awt">getFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFont()" title="class or interface in java.awt">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFontMetrics(java.awt.Font)" title="class or interface in java.awt">getFontMetrics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getForeground()" title="class or interface in java.awt">getForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHeight()" title="class or interface in java.awt">getHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyBoundsListeners()" title="class or interface in java.awt">getHierarchyBoundsListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyListeners()" title="class or interface in java.awt">getHierarchyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getIgnoreRepaint()" title="class or interface in java.awt">getIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodListeners()" title="class or interface in java.awt">getInputMethodListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodRequests()" title="class or interface in java.awt">getInputMethodRequests</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getKeyListeners()" title="class or interface in java.awt">getKeyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation()" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation(java.awt.Point)" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocationOnScreen()" title="class or interface in java.awt">getLocationOnScreen</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseListeners()" title="class or interface in java.awt">getMouseListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseMotionListeners()" title="class or interface in java.awt">getMouseMotionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMousePosition()" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseWheelListeners()" title="class or interface in java.awt">getMouseWheelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getName()" title="class or interface in java.awt">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getParent()" title="class or interface in java.awt">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPeer()" title="class or interface in java.awt">getPeer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners()" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners(java.lang.String)" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize()" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize(java.awt.Dimension)" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getTreeLock()" title="class or interface in java.awt">getTreeLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getWidth()" title="class or interface in java.awt">getWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getX()" title="class or interface in java.awt">getX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getY()" title="class or interface in java.awt">getY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#gotFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">gotFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#handleEvent(java.awt.Event)" title="class or interface in java.awt">handleEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hasFocus()" title="class or interface in java.awt">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#imageUpdate(java.awt.Image, int, int, int, int, int)" title="class or interface in java.awt">imageUpdate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#inside(int, int)" title="class or interface in java.awt">inside</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isBackgroundSet()" title="class or interface in java.awt">isBackgroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isCursorSet()" title="class or interface in java.awt">isCursorSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDisplayable()" title="class or interface in java.awt">isDisplayable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDoubleBuffered()" title="class or interface in java.awt">isDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isEnabled()" title="class or interface in java.awt">isEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusable()" title="class or interface in java.awt">isFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusOwner()" title="class or interface in java.awt">isFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusTraversable()" title="class or interface in java.awt">isFocusTraversable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFontSet()" title="class or interface in java.awt">isFontSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isForegroundSet()" title="class or interface in java.awt">isForegroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isLightweight()" title="class or interface in java.awt">isLightweight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMaximumSizeSet()" title="class or interface in java.awt">isMaximumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMinimumSizeSet()" title="class or interface in java.awt">isMinimumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isOpaque()" title="class or interface in java.awt">isOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isPreferredSizeSet()" title="class or interface in java.awt">isPreferredSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isValid()" title="class or interface in java.awt">isValid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isVisible()" title="class or interface in java.awt">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyDown(java.awt.Event, int)" title="class or interface in java.awt">keyDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyUp(java.awt.Event, int)" title="class or interface in java.awt">keyUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list()" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintStream)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintWriter)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#location()" title="class or interface in java.awt">location</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#lostFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">lostFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDown(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDrag(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDrag</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseEnter(java.awt.Event, int, int)" title="class or interface in java.awt">mouseEnter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseExit(java.awt.Event, int, int)" title="class or interface in java.awt">mouseExit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseMove(java.awt.Event, int, int)" title="class or interface in java.awt">mouseMove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseUp(java.awt.Event, int, int)" title="class or interface in java.awt">mouseUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#move(int, int)" title="class or interface in java.awt">move</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#nextFocus()" title="class or interface in java.awt">nextFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#paintAll(java.awt.Graphics)" title="class or interface in java.awt">paintAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#printAll(java.awt.Graphics)" title="class or interface in java.awt">printAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processComponentEvent(java.awt.event.ComponentEvent)" title="class or interface in java.awt">processComponentEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processFocusEvent(java.awt.event.FocusEvent)" title="class or interface in java.awt">processFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyBoundsEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyBoundsEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processInputMethodEvent(java.awt.event.InputMethodEvent)" title="class or interface in java.awt">processInputMethodEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processKeyEvent(java.awt.event.KeyEvent)" title="class or interface in java.awt">processKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseEvent(java.awt.event.MouseEvent)" title="class or interface in java.awt">processMouseEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseMotionEvent(java.awt.event.MouseEvent)" title="class or interface in java.awt">processMouseMotionEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseWheelEvent(java.awt.event.MouseWheelEvent)" title="class or interface in java.awt">processMouseWheelEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">removeComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">removeFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">removeHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">removeHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">removeInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">removeKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">removeMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">removeMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">removeMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint()" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(int, int, int, int)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(long)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocus()" title="class or interface in java.awt">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocus(boolean)" title="class or interface in java.awt">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocusInWindow()" title="class or interface in java.awt">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocusInWindow(boolean)" title="class or interface in java.awt">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(java.awt.Dimension)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(int, int)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBackground(java.awt.Color)" title="class or interface in java.awt">setBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">setComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setDropTarget(java.awt.dnd.DropTarget)" title="class or interface in java.awt">setDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setEnabled(boolean)" title="class or interface in java.awt">setEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusable(boolean)" title="class or interface in java.awt">setFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusTraversalKeysEnabled(boolean)" title="class or interface in java.awt">setFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setForeground(java.awt.Color)" title="class or interface in java.awt">setForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setIgnoreRepaint(boolean)" title="class or interface in java.awt">setIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocale(java.util.Locale)" title="class or interface in java.awt">setLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(int, int)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(java.awt.Point)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setMaximumSize(java.awt.Dimension)" title="class or interface in java.awt">setMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setName(java.lang.String)" title="class or interface in java.awt">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setPreferredSize(java.awt.Dimension)" title="class or interface in java.awt">setPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show(boolean)" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#size()" title="class or interface in java.awt">size</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#toString()" title="class or interface in java.awt">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocus()" title="class or interface in java.awt">transferFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocusUpCycle()" title="class or interface in java.awt">transferFocusUpCycle</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.MenuContainer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from interface java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true#getFont()" title="class or interface in java.awt">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PORT_PROP_NAME"><!-- --></A><H3> +PORT_PROP_NAME</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>PORT_PROP_NAME</B></PRE> +<DL> +<DD>name of property for port name +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.chainsaw.Main.PORT_PROP_NAME">Constant Field Values</A></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="main(java.lang.String[])"><!-- --></A><H3> +main</H3> +<PRE> +public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;aArgs)</PRE> +<DL> +<DD>The main method. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>aArgs</CODE> - ignored</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Main.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/chainsaw/Main.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Main.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JFrame">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/class-use/Main.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/class-use/Main.html new file mode 100644 index 00000000000..66cba1cf2f2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/class-use/Main.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.chainsaw.Main (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.chainsaw.Main (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/chainsaw//class-useMain.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Main.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.chainsaw.Main</B></H2> +</CENTER> +No usage of org.apache.log4j.chainsaw.Main +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/chainsaw//class-useMain.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Main.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/doc-files/screen_01.png b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/doc-files/screen_01.png new file mode 100644 index 0000000000000000000000000000000000000000..1a9c26dbc21aef199b25682a08bc0b3996269bce GIT binary patch literal 23150 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 K#x%#oIs6}uwm7x` literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-frame.html similarity index 51% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-frame.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-frame.html index 01b2a1577a7..038810bafe9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-frame.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.extras (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.chainsaw (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -17,14 +17,14 @@ org.apache.log4j.extras (Apache Extras Companion for log4j 1.2. 1.0 API) <BODY BGCOLOR="white"> <FONT size="+1" CLASS="FrameTitleFont"> -<A HREF="../../../../org/apache/log4j/extras/package-summary.html" target="classFrame">org.apache.log4j.extras</A></FONT> +<A HREF="../../../../org/apache/log4j/chainsaw/package-summary.html" target="classFrame">org.apache.log4j.chainsaw</A></FONT> <TABLE BORDER="0" WIDTH="100%" SUMMARY=""> <TR> <TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> Classes</FONT>&nbsp; <FONT CLASS="FrameItemFont"> <BR> -<A HREF="DOMConfigurator.html" title="class in org.apache.log4j.extras" target="classFrame">DOMConfigurator</A></FONT></TD> +<A HREF="Main.html" title="class in org.apache.log4j.chainsaw" target="classFrame">Main</A></FONT></TD> </TR> </TABLE> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-summary.html new file mode 100644 index 00000000000..2d35dee777d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-summary.html @@ -0,0 +1,260 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.chainsaw (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.chainsaw (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/chainsaw/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.chainsaw +</H2> +Chainsaw is a GUI log viewer and filter for the log4j +package. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw">Main</A></B></TD> +<TD>The main application.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.chainsaw Description +</H2> + +<P> +<P>Chainsaw is a GUI log viewer and filter for the log4j +package. By default it listens for <a +href="../spi/LoggingEvent.html">LoggingEvent</A> objects sent using +the <A href="../net/SocketAppender.html">SocketAppender</A> and +displays them in a table. The events can be filtered based on:</P> + + <UL> + <LI>Level </li> + + <LI>Thread name</li> + + <LI>Logger</li> + <LI>Message</li> + + <LI>NDC</LI> + </UL> + + <P>All the details for each event can be displayed by selecting + the event in the table.</P> + + <P>Chainsaw also supports loading a events logged to a file using + the <A href="../xml/XMLLayout.html">XMLLayout</A> format. This + is great for analysing log files, and means you do not need to + keep Chainsaw running continously. It is easy to add support + for loading events from other sources like JDBC.</P> + + <P>A picture is worth a thousand words: </P> + + <P align=center><A + href="doc-files/screen_01.png"><IMG + height="50%" alt="Screen shot of chainsaw" + src="doc-files/screen_01.png" + width="50%"></A>.</P> + + <P>Finally, why is it called chainsaw? + Because it cuts your log (file) down to size. :-) + </P> + + + <H2>Requirements</H2> + + <P>Chainsaw is based on the Swing API which requires JDK 1.2 or later.</P> + + + <H2>Running chainsaw</H2> + + <H3>Setup</H3> + <P>You need to include the <code>log4j.jar</code> in the classpath. + + <H3>Usage</H3> + + <P>The command line usage is:</P> + + <PRE> java -D&lt;property&gt;=&lt;value&gt; org.apache.log4j.chainsaw.Main </PRE> + + <P>The default behaviour of chainsaw can be changed by setting system properties + using the <CODE>-D&lt;property&gt;=&lt;value&gt;</CODE> arguments to java. The + following table describes what properties can be set:</P> + + <TABLE cellSpacing=0 cellPadding=2 border=1> + + <TR> + <TD vAlign=top><B>Property</B></TD> + <TD vAlign=top><B>Description</B></TD></TR> + <TR> + <TD vAlign=top>chainsaw.port</TD> + <TD vAlign=top>Indicates which port to listen for connections on. Defaults + to <SPAN class=default>"4445"</SPAN>. + </TD> + </TR> + </TBODY> + </TABLE> + + <H2>Configuring Log4J</H2> + + <P>You will need to configure log4j to send logging events to + Chainsaw. Here is a sample <CODE>log4j.properties</CODE> file + for sending logging events to Chainsaw.</P> + +<PRE> +log4j.rootLogger=DEBUG, CHAINSAW_CLIENT + +log4j.appender.CHAINSAW_CLIENT=org.apache.log4j.net.SocketAppender +log4j.appender.CHAINSAW_CLIENT.RemoteHost=localhost +log4j.appender.CHAINSAW_CLIENT.Port=4445 +log4j.appender.CHAINSAW_CLIENT.LocationInfo=true +</PRE> +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/chainsaw/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-tree.html new file mode 100644 index 00000000000..23b493be1af --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-tree.html @@ -0,0 +1,168 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.chainsaw Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.chainsaw Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/chainsaw/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.chainsaw +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt"><B>Component</B></A> (implements java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt"><B>Container</B></A><UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt"><B>Window</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>) +<UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt"><B>Frame</B></A> (implements java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>) +<UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing"><B>JFrame</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/RootPaneContainer.html?is-external=true" title="class or interface in javax.swing">RootPaneContainer</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.chainsaw.<A HREF="../../../../org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw"><B>Main</B></A></UL> +</UL> +</UL> +</UL> +</UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/chainsaw/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-use.html similarity index 87% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-use.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-use.html index bfc7a3e1588..32bb59abb0b 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-use.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/chainsaw/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j.extras (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j.chainsaw (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j.extras (Apache Extras Companion for log4j 1.2. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j.extras (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j.chainsaw (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -59,7 +59,7 @@ function windowTitle() &nbsp;PREV&nbsp; &nbsp;NEXT</FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> - <A HREF="../../../../index.html?org/apache/log4j/extras/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; + <A HREF="../../../../index.html?org/apache/log4j/chainsaw/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; &nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; &nbsp;<SCRIPT type="text/javascript"> <!-- @@ -82,9 +82,9 @@ function windowTitle() <HR> <CENTER> <H2> -<B>Uses of Package<br>org.apache.log4j.extras</B></H2> +<B>Uses of Package<br>org.apache.log4j.chainsaw</B></H2> </CENTER> -No usage of org.apache.log4j.extras +No usage of org.apache.log4j.chainsaw <P> <HR> @@ -119,7 +119,7 @@ No usage of org.apache.log4j.extras &nbsp;PREV&nbsp; &nbsp;NEXT</FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> - <A HREF="../../../../index.html?org/apache/log4j/extras/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; + <A HREF="../../../../index.html?org/apache/log4j/chainsaw/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; &nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; &nbsp;<SCRIPT type="text/javascript"> <!-- @@ -140,6 +140,6 @@ No usage of org.apache.log4j.extras <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Appender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Appender.html new file mode 100644 index 00000000000..5734b1044c6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Appender.html @@ -0,0 +1,915 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.Appender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.Appender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Appender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.Appender</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jdbc"><B>org.apache.log4j.jdbc</B></A></TD> +<TD>The JDBCAppender provides for sending log events to a database.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jmx"><B>org.apache.log4j.jmx</B></A></TD> +<TD>This package lets you manage log4j settings using JMX.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.nt"><B>org.apache.log4j.nt</B></A></TD> +<TD>Package for NT event logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that implement <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract superclass of the other appenders in the package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The AsyncAppender lets users log events asynchronously.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConsoleAppender appends log events to <code>System.out</code> or + <code>System.err</code> using a layout specified by the user.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DailyRollingFileAppender extends <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><CODE>FileAppender</CODE></A> so that the + underlying file is rolled over at a user chosen frequency.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileAppender appends log events to a file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RollingFileAppender extends FileAppender to backup the log files when + they reach a certain size.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriterAppender appends log events to a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A> or an + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A> depending on the user's choice.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B>AsyncAppender.</B><B><A HREF="../../../../org/apache/log4j/AsyncAppender.html#getAppender(java.lang.String)">getAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get appender by name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#getAppender(java.lang.String)">getAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Look for the appender named as <code>name</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AsyncAppender.</B><B><A HREF="../../../../org/apache/log4j/AsyncAppender.html#addAppender(org.apache.log4j.Appender)">addAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#addAppender(org.apache.log4j.Appender)">addAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add <code>newAppender</code> to the list of appenders of this + Category instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>BasicConfigurator.</B><B><A HREF="../../../../org/apache/log4j/BasicConfigurator.html#configure(org.apache.log4j.Appender)">configure</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add <code>appender</code> to the root category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../org/apache/log4j/Hierarchy.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>AsyncAppender.</B><B><A HREF="../../../../org/apache/log4j/AsyncAppender.html#isAttached(org.apache.log4j.Appender)">isAttached</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if specified appender is attached.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#isAttached(org.apache.log4j.Appender)">isAttached</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is the appender passed as parameter attached to this category?</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AsyncAppender.</B><B><A HREF="../../../../org/apache/log4j/AsyncAppender.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes an appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender passed as parameter form the list of appenders.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> that return <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B>AppenderAttachableImpl.</B><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#getAppender(java.lang.String)">getAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Look for an attached appender named as <code>name</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> with parameters of type <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AppenderAttachableImpl.</B><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#addAppender(org.apache.log4j.Appender)">addAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attach an appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>AppenderAttachableImpl.</B><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#isAttached(org.apache.log4j.Appender)">isAttached</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the specified appender is in the + list of attached appenders, <code>false</code> otherwise.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AppenderAttachableImpl.</B><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender passed as parameter form the list of attached + appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>OnlyOnceErrorHandler.</B><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#setAppender(org.apache.log4j.Appender)">setAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>OnlyOnceErrorHandler.</B><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)">setBackupAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jdbc"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> in <A HREF="../../../../org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A> that implement <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The JDBCAppender provides for sending log events to a database.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jmx"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A> with parameters of type <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>HierarchyDynamicMBean.</B><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">addAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>AbstractDynamicMBean.</B><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAppenderName(org.apache.log4j.Appender)">getAppenderName</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get MBean name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>HierarchyDynamicMBean.</B><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">removeAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A> with parameters of type <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html#AppenderDynamicMBean(org.apache.log4j.Appender)">AppenderDynamicMBean</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> in <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> that implement <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>LF5Appender</code> logs events to a swing based logging + console.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> in <A HREF="../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> that implement <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A simple appender that publishes events to a JMS Topic.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send an e-mail when a specific logging event occurs, typically on + errors or fatal errors.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a remote a log server, + usually a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a set of remote log servers, + usually a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNodes</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use SyslogAppender to send log messages to a remote syslog daemon.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The TelnetAppender is a log4j appender that specializes in + writing to a read-only socket.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.nt"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> in <A HREF="../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A> that implement <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Append to the NT event log system.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B>AppenderAttachable.</B><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#getAppender(java.lang.String)">getAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an appender by name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#getAppender(java.lang.String)">getAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Look for the appender named as <code>name</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AppenderAttachable.</B><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#addAppender(org.apache.log4j.Appender)">addAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#addAppender(org.apache.log4j.Appender)">addAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add <code>newAppender</code> to the list of appenders of this + Category instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>HierarchyEventListener.</B><B><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html#addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">addAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>AppenderAttachable.</B><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#isAttached(org.apache.log4j.Appender)">isAttached</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the specified appender is in list of + attached attached, <code>false</code> otherwise.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#isAttached(org.apache.log4j.Appender)">isAttached</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is the appender passed as parameter attached to this category?</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AppenderAttachable.</B><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender passed as parameter from the list of appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender passed as parameter form the list of appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>HierarchyEventListener.</B><B><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html#removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">removeAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>ErrorHandler.</B><B><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setAppender(org.apache.log4j.Appender)">setAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the appender for which errors are handled.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>ErrorHandler.</B><B><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)">setBackupAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the appender to falkback upon in case of failure.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> that implement <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This appender listens on a socket on the port specified by the + <b>Port</b> property for a "RollOver" message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A NullAppender merely exists, it never outputs a message to any + device.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> with parameters of type <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>FallbackErrorHandler.</B><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#setAppender(org.apache.log4j.Appender)">setAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;primary)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The appender to which this error handler is attached.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>FallbackErrorHandler.</B><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)">setBackupAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;backup)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the backup appender.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> that return <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#findAppenderByName(org.w3c.dom.Document, java.lang.String)">findAppenderByName</A></B>(org.w3c.dom.Document&nbsp;doc, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;appenderName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse appenders by IDREF name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#findAppenderByReference(org.w3c.dom.Element)">findAppenderByReference</A></B>(org.w3c.dom.Element&nbsp;appenderRef)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse appenders by IDREF element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseAppender(org.w3c.dom.Element)">parseAppender</A></B>(org.w3c.dom.Element&nbsp;appenderElement)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse an appender element.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> with parameters of type <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseErrorHandler(org.w3c.dom.Element, org.apache.log4j.Appender)">parseErrorHandler</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse an <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseFilters(org.w3c.dom.Element, org.apache.log4j.Appender)">parseFilters</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse a filter element.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Appender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/AppenderSkeleton.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/AppenderSkeleton.html new file mode 100644 index 00000000000..517d0558892 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/AppenderSkeleton.html @@ -0,0 +1,425 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.AppenderSkeleton (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.AppenderSkeleton (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useAppenderSkeleton.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderSkeleton.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.AppenderSkeleton</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jdbc"><B>org.apache.log4j.jdbc</B></A></TD> +<TD>The JDBCAppender provides for sending log events to a database.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.nt"><B>org.apache.log4j.nt</B></A></TD> +<TD>Package for NT event logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The AsyncAppender lets users log events asynchronously.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConsoleAppender appends log events to <code>System.out</code> or + <code>System.err</code> using a layout specified by the user.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DailyRollingFileAppender extends <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><CODE>FileAppender</CODE></A> so that the + underlying file is rolled over at a user chosen frequency.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileAppender appends log events to a file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RollingFileAppender extends FileAppender to backup the log files when + they reach a certain size.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriterAppender appends log events to a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A> or an + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A> depending on the user's choice.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jdbc"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The JDBCAppender provides for sending log events to a database.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>LF5Appender</code> logs events to a swing based logging + console.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A simple appender that publishes events to a JMS Topic.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send an e-mail when a specific logging event occurs, typically on + errors or fatal errors.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a remote a log server, + usually a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a set of remote log servers, + usually a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNodes</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use SyslogAppender to send log messages to a remote syslog daemon.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The TelnetAppender is a log4j appender that specializes in + writing to a read-only socket.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.nt"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Append to the NT event log system.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This appender listens on a socket on the port specified by the + <b>Port</b> property for a "RollOver" message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A NullAppender merely exists, it never outputs a message to any + device.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useAppenderSkeleton.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderSkeleton.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/AsyncAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/AsyncAppender.html new file mode 100644 index 00000000000..7aba20b0c37 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/AsyncAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.AsyncAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.AsyncAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useAsyncAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AsyncAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.AsyncAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.AsyncAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useAsyncAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AsyncAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/BasicConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/BasicConfigurator.html new file mode 100644 index 00000000000..5ef9deeca42 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/BasicConfigurator.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.BasicConfigurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.BasicConfigurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useBasicConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BasicConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.BasicConfigurator</B></H2> +</CENTER> +No usage of org.apache.log4j.BasicConfigurator +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useBasicConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BasicConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Category.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Category.html new file mode 100644 index 00000000000..719be951d61 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Category.html @@ -0,0 +1,546 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.Category (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.Category (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useCategory.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Category.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.Category</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.config"><B>org.apache.log4j.config</B></A></TD> +<TD>Package used in getting/setting component properties.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jmx"><B>org.apache.log4j.jmx</B></A></TD> +<TD>This package lets you manage log4j settings using JMX.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the central class in the log4j package.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> declared as <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#parent">parent</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The parent of this category.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#getInstance(java.lang.Class)">getInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please make sure to use <A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.Class)"><CODE>Logger.getLogger(Class)</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#getInstance(java.lang.String)">getInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Make sure to use <A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>Logger.getLogger(String)</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#getParent()">getParent</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the parent of this category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#getRoot()">getRoot</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../../org/apache/log4j/Logger.html#getRootLogger()"><CODE>Logger.getRootLogger()</CODE></A> instead.</I></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../org/apache/log4j/Hierarchy.html#emitNoAppenderWarning(org.apache.log4j.Category)">emitNoAppenderWarning</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../org/apache/log4j/Hierarchy.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.config"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> in <A HREF="../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A> with parameters of type <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PropertyPrinter.</B><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#printOptions(java.io.PrintWriter, org.apache.log4j.Category)">printOptions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jmx"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A> with parameters of type <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>HierarchyDynamicMBean.</B><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">addAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>HierarchyDynamicMBean.</B><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">removeAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> with parameters of type <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Category, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-operation implementation of Logger used by NOPLoggerRepository.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Replaced by <A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><CODE>RootLogger</CODE></A>.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RootLogger sits at the top of the logger hierachy.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B>LoggingEvent.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the logger of the event.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>HierarchyEventListener.</B><B><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html#addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">addAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#emitNoAppenderWarning(org.apache.log4j.Category)">emitNoAppenderWarning</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#emitNoAppenderWarning(org.apache.log4j.Category)">emitNoAppenderWarning</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>HierarchyEventListener.</B><B><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html#removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">removeAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html#ThrowableInformation(java.lang.Throwable, org.apache.log4j.Category)">ThrowableInformation</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;category)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useCategory.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Category.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/ConsoleAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/ConsoleAppender.html new file mode 100644 index 00000000000..99e8582255f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/ConsoleAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.ConsoleAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.ConsoleAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useConsoleAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ConsoleAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.ConsoleAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.ConsoleAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useConsoleAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ConsoleAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/DailyRollingFileAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/DailyRollingFileAppender.html new file mode 100644 index 00000000000..6a06e0bd92d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/DailyRollingFileAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.DailyRollingFileAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.DailyRollingFileAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useDailyRollingFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DailyRollingFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.DailyRollingFileAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.DailyRollingFileAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useDailyRollingFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DailyRollingFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/DefaultThrowableRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/DefaultThrowableRenderer.html new file mode 100644 index 00000000000..05804f477d8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/DefaultThrowableRenderer.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.DefaultThrowableRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.DefaultThrowableRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useDefaultThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.DefaultThrowableRenderer</B></H2> +</CENTER> +No usage of org.apache.log4j.DefaultThrowableRenderer +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useDefaultThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html index 1b829cf3a0f..407cb8bbb4a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.EnhancedPatternLayout (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.EnhancedPatternLayout (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.EnhancedPatternLayout (Apache Extras Companion fo function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.EnhancedPatternLayout (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.EnhancedPatternLayout (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.EnhancedPatternLayout <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/EnhancedThrowableRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/EnhancedThrowableRenderer.html new file mode 100644 index 00000000000..fa8bdd509e6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/EnhancedThrowableRenderer.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.EnhancedThrowableRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.EnhancedThrowableRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.EnhancedThrowableRenderer</B></H2> +</CENTER> +No usage of org.apache.log4j.EnhancedThrowableRenderer +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/FileAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/FileAppender.html new file mode 100644 index 00000000000..88327489b46 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/FileAppender.html @@ -0,0 +1,221 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.FileAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.FileAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.FileAppender</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DailyRollingFileAppender extends <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><CODE>FileAppender</CODE></A> so that the + underlying file is rolled over at a user chosen frequency.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RollingFileAppender extends FileAppender to backup the log files when + they reach a certain size.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This appender listens on a socket on the port specified by the + <b>Port</b> property for a "RollOver" message.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/HTMLLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/HTMLLayout.html new file mode 100644 index 00000000000..403e047b190 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/HTMLLayout.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.HTMLLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.HTMLLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useHTMLLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HTMLLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.HTMLLayout</B></H2> +</CENTER> +No usage of org.apache.log4j.HTMLLayout +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useHTMLLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HTMLLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Hierarchy.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Hierarchy.html new file mode 100644 index 00000000000..cda3f95c6e7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Hierarchy.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useHierarchy.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Hierarchy.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.Hierarchy</B></H2> +</CENTER> +No usage of org.apache.log4j.Hierarchy +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useHierarchy.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Hierarchy.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Layout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Layout.html new file mode 100644 index 00000000000..5c2fe02e63d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Layout.html @@ -0,0 +1,556 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.Layout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.Layout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Layout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.Layout</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jmx"><B>org.apache.log4j.jmx</B></A></TD> +<TD>This package lets you manage log4j settings using JMX.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.nt"><B>org.apache.log4j.nt</B></A></TD> +<TD>Package for NT event logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class is an enhanced version of org.apache.log4j.PatternLayout + which was originally developed as part of the abandoned log4j 1.3 + effort and has been available in the extras companion.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This layout outputs events in a HTML table.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A flexible layout configurable with pattern string.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j">SimpleLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleLayout consists of the level of the log statement, + followed by " - " and then the log message itself.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TTCC layout format consists of time, thread, category and nested + diagnostic context information, hence the name.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> declared as <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The layout variable does not need to be set if the appender + implementation has its own layout.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B>Appender.</B><B><A HREF="../../../../org/apache/log4j/Appender.html#getLayout()">getLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this appenders layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the layout of this appender.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Appender.</B><B><A HREF="../../../../org/apache/log4j/Appender.html#setLayout(org.apache.log4j.Layout)">setLayout</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><CODE>Layout</CODE></A> for this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the layout for this appender.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/ConsoleAppender.html#ConsoleAppender(org.apache.log4j.Layout)">ConsoleAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a configured appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/ConsoleAppender.html#ConsoleAppender(org.apache.log4j.Layout, java.lang.String)">ConsoleAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;target)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a configured appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/DailyRollingFileAppender.html#DailyRollingFileAppender(org.apache.log4j.Layout, java.lang.String, java.lang.String)">DailyRollingFileAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;datePattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a <code>DailyRollingFileAppender</code> and open the + file designated by <code>filename</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String)">FileAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a FileAppender and open the file designated by + <code>filename</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String, boolean)">FileAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + boolean&nbsp;append)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a FileAppender and open the file designated by + <code>filename</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/FileAppender.html#FileAppender(org.apache.log4j.Layout, java.lang.String, boolean, boolean, int)">FileAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + boolean&nbsp;append, + boolean&nbsp;bufferedIO, + int&nbsp;bufferSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a <code>FileAppender</code> and open the file + designated by <code>filename</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/RollingFileAppender.html#RollingFileAppender(org.apache.log4j.Layout, java.lang.String)">RollingFileAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a FileAppender and open the file designated by + <code>filename</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/RollingFileAppender.html#RollingFileAppender(org.apache.log4j.Layout, java.lang.String, boolean)">RollingFileAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + boolean&nbsp;append)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a RollingFileAppender and open the file designated by + <code>filename</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/WriterAppender.html#WriterAppender(org.apache.log4j.Layout, java.io.OutputStream)">WriterAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;os)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a WriterAppender and set the output destination to a + new <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStreamWriter.html?is-external=true" title="class or interface in java.io"><CODE>OutputStreamWriter</CODE></A> initialized with <code>os</code> + as its <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/WriterAppender.html#WriterAppender(org.apache.log4j.Layout, java.io.Writer)">WriterAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a WriterAppender and set the output destination to + <code>writer</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This abstract layout takes care of all the date related options and + formatting work.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jmx"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A> with parameters of type <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html#LayoutDynamicMBean(org.apache.log4j.Layout)">LayoutDynamicMBean</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> in <A HREF="../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> with parameters of type <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#SyslogAppender(org.apache.log4j.Layout, int)">SyslogAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + int&nbsp;syslogFacility)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#SyslogAppender(org.apache.log4j.Layout, java.lang.String, int)">SyslogAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;syslogHost, + int&nbsp;syslogFacility)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.nt"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> in <A HREF="../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A> with parameters of type <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(org.apache.log4j.Layout)">NTEventLogAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(java.lang.String, org.apache.log4j.Layout)">NTEventLogAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source, + <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(java.lang.String, java.lang.String, org.apache.log4j.Layout)">NTEventLogAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;server, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source, + <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The output of the XMLLayout consists of a series of log4j:event + elements as defined in the <a + href="../../../../org/apache/log4j/xml/log4j.dtd">log4j.dtd</a>.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> that return <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseLayout(org.w3c.dom.Element)">parseLayout</A></B>(org.w3c.dom.Element&nbsp;layout_element)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse a layout element.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Layout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Level.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Level.html new file mode 100644 index 00000000000..2867df6bf2a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Level.html @@ -0,0 +1,1381 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.Level (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.Level (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLevel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Level.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.Level</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> declared as <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#ALL">ALL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>ALL</code> has the lowest possible rank and is intended to + turn on all logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#DEBUG">DEBUG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>DEBUG</code> Level designates fine-grained + informational events that are most useful to debug an + application.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#ERROR">ERROR</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>ERROR</code> level designates error events that + might still allow the application to continue running.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#FATAL">FATAL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>FATAL</code> level designates very severe error + events that will presumably lead the application to abort.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#INFO">INFO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>INFO</code> level designates informational messages + that highlight the progress of the application at coarse-grained + level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#level">level</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The assigned level of this category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#OFF">OFF</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>OFF</code> has the highest possible rank and is + intended to turn off logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#TRACE">TRACE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>TRACE</code> Level designates finer-grained + informational events than the <code>DEBUG</code level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>LogXF.</B><B><A HREF="../../../../org/apache/log4j/LogXF.html#TRACE">TRACE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#WARN">WARN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>WARN</code> level designates potentially harmful situations.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#getEffectiveLevel()">getEffectiveLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starting from this category, search the category hierarchy for a + non-null level and return it.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#getLevel()">getLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the assigned <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A>, if any, for this Category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#getPriority()">getPriority</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../../org/apache/log4j/Category.html#getLevel()"><CODE>Category.getLevel()</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../org/apache/log4j/Hierarchy.html#getThreshold()">getThreshold</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> representation of the <code>enable</code> + state.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#toLevel(int)">toLevel</A></B>(int&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert an integer passed as argument to a level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)">toLevel</A></B>(int&nbsp;val, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert an integer passed as argument to a level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#toLevel(java.lang.String)">toLevel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert the string passed as argument to a level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)">toLevel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert the string passed as argument to a level.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, boolean)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, boolean)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, byte)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, byte)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, char)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, char)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, double)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, double)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, float)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, float)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, int)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, int)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, long)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, long)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specifed level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specifed level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, short)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, short)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, boolean)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, boolean)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, byte)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, byte)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, char)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, char)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, double)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, double)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, float)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, float)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, int)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, int)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, long)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, long)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, short)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, short)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)">setLevel</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the level of this Category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../org/apache/log4j/Hierarchy.html#setThreshold(org.apache.log4j.Level)">setThreshold</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;l)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable logging for logging requests with level <code>l</code> or + higher.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)">toLevel</A></B>(int&nbsp;val, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert an integer passed as argument to a level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>Level.</B><B><A HREF="../../../../org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)">toLevel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert the string passed as argument to a level.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> that return <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>OptionConverter.</B><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#toLevel(java.lang.String, org.apache.log4j.Level)">toLevel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultValue)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Converts a standard or custom priority level to a Level + object.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> with parameters of type <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>OptionConverter.</B><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#toLevel(java.lang.String, org.apache.log4j.Level)">toLevel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultValue)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Converts a standard or custom priority level to a Level + object.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>LogEvent.</B><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getLevel()">getLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the level of this event.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> with parameters of type <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Logger, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>RootLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/RootLogger.html#getChainedLevel()">getChainedLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the assigned level value without walking the logger + hierarchy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>RootCategory.</B><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html#getChainedLevel()">getChainedLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return the assigned level value without walking the category + hierarchy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#getEffectiveLevel()">getEffectiveLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starting from this category, search the category hierarchy for a + non-null level and return it.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>LoggingEvent.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLevel()">getLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the level of this event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getThreshold()">getThreshold</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the repository-wide threshold.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getThreshold()">getThreshold</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the repository-wide threshold.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>RootLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/RootLogger.html#setLevel(org.apache.log4j.Level)">setLevel</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting a null value to the level of the root logger may have catastrophic + results.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#setLevel(org.apache.log4j.Level)">setLevel</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the level of this Category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>RootCategory.</B><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html#setLevel(org.apache.log4j.Level)">setLevel</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Setting a null value to the level of the root category may have catastrophic + results.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>RootCategory.</B><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html#setPriority(org.apache.log4j.Level)">setPriority</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#setThreshold(org.apache.log4j.Level)">setThreshold</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the repository-wide threshold.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)">setThreshold</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the repository-wide threshold.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html#RootCategory(org.apache.log4j.Level)">RootCategory</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The root category names itself as "root".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootLogger.html#RootLogger(org.apache.log4j.Level)">RootLogger</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The root logger names itself as "root".</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> that return <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>LevelRangeFilter.</B><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#getLevelMax()">getLevelMax</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value of the <code>LevelMax</code> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B>LevelRangeFilter.</B><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#getLevelMin()">getLevelMin</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value of the <code>LevelMin</code> option.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> with parameters of type <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LevelRangeFilter.</B><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#setLevelMax(org.apache.log4j.Level)">setLevelMax</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;levelMax)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <code>LevelMax</code> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LevelRangeFilter.</B><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#setLevelMin(org.apache.log4j.Level)">setLevelMin</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;levelMin)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <code>LevelMin</code> option.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLevel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Level.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/class-use/LogMF.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogMF.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/class-use/LogMF.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogMF.html index 10fcc2eb52b..b68796f4c4c 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/class-use/LogMF.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogMF.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.LogMF (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.LogMF (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.LogMF (Apache Extras Companion for log4j 1.2. 1.0 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.LogMF (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.LogMF (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.LogMF <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogManager.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogManager.html new file mode 100644 index 00000000000..96e1c94a7e0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogManager.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.LogManager (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.LogManager (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.LogManager</B></H2> +</CENTER> +No usage of org.apache.log4j.LogManager +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/class-use/LogSF.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogSF.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/class-use/LogSF.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogSF.html index 6b92d33c63f..2b0d89b298d 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/class-use/LogSF.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogSF.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.LogSF (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.LogSF (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.LogSF (Apache Extras Companion for log4j 1.2. 1.0 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.LogSF (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.LogSF (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.LogSF <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogXF.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogXF.html new file mode 100644 index 00000000000..016d1475041 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/LogXF.html @@ -0,0 +1,191 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.LogXF (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.LogXF (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.LogXF</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class provides parameterized logging services + using the pattern syntax of java.text.MessageFormat.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class provides parameterized logging services + using the SLF4J pattern syntax.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Logger.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Logger.html new file mode 100644 index 00000000000..1f02d8d1f18 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Logger.html @@ -0,0 +1,2719 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.Logger (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.Logger (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Logger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.Logger</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.config"><B>org.apache.log4j.config</B></A></TD> +<TD>Package used in getting/setting component properties.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jmx"><B>org.apache.log4j.jmx</B></A></TD> +<TD>This package lets you manage log4j settings using JMX.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../org/apache/log4j/Hierarchy.html#exists(java.lang.String)">exists</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check if the named logger exists in the hierarchy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#exists(java.lang.String)">exists</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../../org/apache/log4j/LogManager.html#exists(java.lang.String)"><CODE>LogManager.exists(java.lang.String)</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LogManager.</B><B><A HREF="../../../../org/apache/log4j/LogManager.html#exists(java.lang.String)">exists</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Logger.</B><B><A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.Class)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shorthand for <code>getLogger(clazz.getName())</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LogManager.</B><B><A HREF="../../../../org/apache/log4j/LogManager.html#getLogger(java.lang.Class)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the appropriate <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../org/apache/log4j/Hierarchy.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new logger instance named as the first parameter using + the default factory.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Logger.</B><B><A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve a logger named according to the value of the + <code>name</code> parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LogManager.</B><B><A HREF="../../../../org/apache/log4j/LogManager.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the appropriate <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../org/apache/log4j/Hierarchy.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new logger instance named as the first parameter using + <code>factory</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Logger.</B><B><A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Like <A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>getLogger(String)</CODE></A> except that the type of logger + instantiated depends on the type returned by the <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html#makeNewLoggerInstance(java.lang.String)"><CODE>LoggerFactory.makeNewLoggerInstance(java.lang.String)</CODE></A> method of the + <code>factory</code> parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LogManager.</B><B><A HREF="../../../../org/apache/log4j/LogManager.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the appropriate <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../org/apache/log4j/Hierarchy.html#getRootLogger()">getRootLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the root of this hierarchy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Logger.</B><B><A HREF="../../../../org/apache/log4j/Logger.html#getRootLogger()">getRootLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the root logger for the current logger repository.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LogManager.</B><B><A HREF="../../../../org/apache/log4j/LogManager.html#getRootLogger()">getRootLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the appropriate root logger.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, boolean)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, boolean)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, byte)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, byte)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, char)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, char)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, double)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, double)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, float)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, float)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, int)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, int)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, long)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, long)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.String, short)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.String, short)">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#debug(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#debug(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">debug</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at debug level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogXF.</B><B><A HREF="../../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)">entering</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogXF.</B><B><A HREF="../../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">entering</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message with a parameter at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogXF.</B><B><A HREF="../../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])">entering</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message with an array of parameters at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogXF.</B><B><A HREF="../../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">entering</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;param)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message with a parameter at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#error(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">error</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at error level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#error(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">error</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at error level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#error(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">error</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at error level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#error(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">error</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at error level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogXF.</B><B><A HREF="../../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)">exiting</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an exiting message at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogXF.</B><B><A HREF="../../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">exiting</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;result)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an exiting message with result at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogXF.</B><B><A HREF="../../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">exiting</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;result)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an exiting message with result at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#fatal(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">fatal</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at fatal level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#fatal(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">fatal</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at fatal level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#fatal(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">fatal</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at fatal level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#fatal(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">fatal</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at fatal level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, boolean)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, boolean)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, byte)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, byte)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, char)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, char)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, double)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, double)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, float)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, float)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, int)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, int)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, long)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, long)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, short)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.String, short)">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#info(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">info</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at info level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, boolean)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, boolean)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, byte)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, byte)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, char)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, char)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, double)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, double)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, float)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, float)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, int)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, int)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, long)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, long)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specifed level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specifed level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, short)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, short)">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#log(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.Object[])">log</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at specified level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, boolean)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, boolean)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + boolean&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, byte)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, byte)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + byte&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, char)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, char)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + char&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, double)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, double)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + double&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, float)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, float)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + float&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, int)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, int)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + int&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, long)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, long)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + long&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;param3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, short)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, short)">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + short&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])">logrb</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;bundleName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;parameters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message using a pattern from a resource bundle.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogXF.</B><B><A HREF="../../../../org/apache/log4j/LogXF.html#throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)">throwing</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sourceMethod, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;thrown)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logs a throwing message at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, boolean)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, boolean)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, byte)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, byte)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, char)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, char)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, double)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, double)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, float)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, float)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, int)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, int)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, long)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, long)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, short)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.String, short)">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#trace(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">trace</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at trace level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, boolean)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, boolean)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + boolean&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, byte)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, byte)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + byte&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, char)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, char)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + char&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, double)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, double)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + double&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, float)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, float)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + float&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, int)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, int)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + int&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, long)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, long)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + long&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg0, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg1, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg2, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;arg3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, short)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.String, short)">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + short&nbsp;argument)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogSF.</B><B><A HREF="../../../../org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMF.</B><B><A HREF="../../../../org/apache/log4j/LogMF.html#warn(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])">warn</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;arguments)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/Hierarchy.html#Hierarchy(org.apache.log4j.Logger)">Hierarchy</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;root)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new logger hierarchy.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.config"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> in <A HREF="../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A> with parameters of type <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PropertyPrinter.</B><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#printOptions(java.io.PrintWriter, org.apache.log4j.Logger)">printOptions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;cat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> with parameters of type <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>OnlyOnceErrorHandler.</B><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#setLogger(org.apache.log4j.Logger)">setLogger</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jmx"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A> that return <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>HierarchyDynamicMBean.</B><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>AppenderDynamicMBean.</B><B><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected abstract &nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>AbstractDynamicMBean.</B><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LayoutDynamicMBean.</B><B><A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LoggerDynamicMBean.</B><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A> with parameters of type <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html#LoggerDynamicMBean(org.apache.log4j.Logger)">LoggerDynamicMBean</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> with parameters of type <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Logger, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-operation implementation of Logger used by NOPLoggerRepository.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Replaced by <A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><CODE>RootLogger</CODE></A>.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RootLogger sits at the top of the logger hierachy.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#exists(java.lang.String)">exists</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#exists(java.lang.String)">exists</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getRootLogger()">getRootLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getRootLogger()">getRootLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LoggerFactory.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html#makeNewLoggerInstance(java.lang.String)">makeNewLoggerInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>ErrorHandler.</B><B><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setLogger(org.apache.log4j.Logger)">setLogger</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a reference to a logger to which the failing appender might + be attached to.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> with parameters of type <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>FallbackErrorHandler.</B><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#setLogger(org.apache.log4j.Logger)">setLogger</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em>Adds</em> the logger passed as parameter to the list of + loggers that we need to search for in case of appender failure.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> with parameters of type <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseChildrenOfLoggerElement(org.w3c.dom.Element, org.apache.log4j.Logger, boolean)">parseChildrenOfLoggerElement</A></B>(org.w3c.dom.Element&nbsp;catElement, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;cat, + boolean&nbsp;isRoot)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse the children of a category element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseLevel(org.w3c.dom.Element, org.apache.log4j.Logger, boolean)">parseLevel</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + boolean&nbsp;isRoot)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse a level element.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Logger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/MDC.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/MDC.html new file mode 100644 index 00000000000..5cc4f7ae2ce --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/MDC.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.MDC (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.MDC (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/MDC.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useMDC.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDC.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.MDC</B></H2> +</CENTER> +No usage of org.apache.log4j.MDC +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/MDC.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useMDC.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDC.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/NDC.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/NDC.html new file mode 100644 index 00000000000..9be6e2a7e60 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/NDC.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.NDC (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.NDC (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useNDC.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NDC.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.NDC</B></H2> +</CENTER> +No usage of org.apache.log4j.NDC +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useNDC.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NDC.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/PatternLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/PatternLayout.html new file mode 100644 index 00000000000..a931aaee49f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/PatternLayout.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.PatternLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.PatternLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-usePatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.PatternLayout</B></H2> +</CENTER> +No usage of org.apache.log4j.PatternLayout +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-usePatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Priority.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Priority.html new file mode 100644 index 00000000000..fbaeeb40c2a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/Priority.html @@ -0,0 +1,649 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.Priority (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.Priority (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-usePriority.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Priority.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.Priority</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines the minimum set of levels recognized by the system, that is + <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, + <code>WARN</code>, <code>INFO</code, <code>DEBUG</code> and + <code>ALL</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> declared as <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#DEBUG">DEBUG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../org/apache/log4j/Level.html#DEBUG"><CODE>Level.DEBUG</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#ERROR">ERROR</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../org/apache/log4j/Level.html#ERROR"><CODE>Level.ERROR</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#FATAL">FATAL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../org/apache/log4j/Level.html#FATAL"><CODE>Level.FATAL</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#INFO">INFO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../org/apache/log4j/Level.html#INFO"><CODE>Level.INFO</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;There is no level threshold filtering by default.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#WARN">WARN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../org/apache/log4j/Level.html#WARN"><CODE>Level.WARN</CODE></A> instead.</I></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>[]</CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#getAllPossiblePriorities()">getAllPossiblePriorities</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This method will be removed with no replacement.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#getChainedPriority()">getChainedPriority</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the the <A HREF="../../../../org/apache/log4j/Category.html#getEffectiveLevel()"><CODE>Category.getEffectiveLevel()</CODE></A> method + instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this appenders threshold level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#toPriority(int)">toPriority</A></B>(int&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../../org/apache/log4j/Level.html#toLevel(int)"><CODE>Level.toLevel(int)</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#toPriority(int, org.apache.log4j.Priority)">toPriority</A></B>(int&nbsp;val, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;defaultPriority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../../org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)"><CODE>Level.toLevel(int, Level)</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#toPriority(java.lang.String)">toPriority</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../../org/apache/log4j/Level.html#toLevel(java.lang.String)"><CODE>Level.toLevel(String)</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#toPriority(java.lang.String, org.apache.log4j.Priority)">toPriority</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;defaultPriority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../../org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)"><CODE>Level.toLevel(String, Level)</CODE></A> method instead.</I></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#forcedLog(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">forcedLog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqcn, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method creates a new logging event and logs the event + without further checks.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether the message level is below the appender's + threshold.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#isEnabledFor(org.apache.log4j.Priority)">isEnabledFor</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for a given <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> passed as parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#isGreaterOrEqual(org.apache.log4j.Priority)">isGreaterOrEqual</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;r)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if this level has a higher or equal + level than the level passed as argument, <code>false</code> + otherwise.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)">l7dlog</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a localized and parameterized message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)">l7dlog</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a localized message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This generic form is intended to be used by wrappers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This generic form is intended to be used by wrappers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;callerFQCN, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the most generic printing method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../org/apache/log4j/Category.html#setPriority(org.apache.log4j.Priority)">setPriority</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../../org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)"><CODE>Category.setLevel(org.apache.log4j.Level)</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;threshold)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the threshold level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#toPriority(int, org.apache.log4j.Priority)">toPriority</A></B>(int&nbsp;val, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;defaultPriority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../../org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)"><CODE>Level.toLevel(int, Level)</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>Priority.</B><B><A HREF="../../../../org/apache/log4j/Priority.html#toPriority(java.lang.String, org.apache.log4j.Priority)">toPriority</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sArg, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;defaultPriority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use the <A HREF="../../../../org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)"><CODE>Level.toLevel(String, Level)</CODE></A> method instead.</I></TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> declared as <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>LogEvent.</B><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#level">level</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getLevel()"><CODE>LogEvent.getLevel()</CODE></A> method instead.</I></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> with parameters of type <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Category, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> declared as <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>LoggingEvent.</B><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#level">level</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLevel()"><CODE>LoggingEvent.getLevel()</CODE></A> method instead.</I></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#getChainedPriority()">getChainedPriority</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#isEnabledFor(org.apache.log4j.Priority)">isEnabledFor</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for a given <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> passed as parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)">l7dlog</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a localized and parameterized message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)">l7dlog</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a localized message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#log(org.apache.log4j.Priority, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This generic form is intended to be used by wrappers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This generic form is intended to be used by wrappers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;callerFQCN, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the most generic printing method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#setPriority(org.apache.log4j.Priority)">setPriority</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the level of this Category.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-usePriority.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Priority.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/PropertyConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/PropertyConfigurator.html new file mode 100644 index 00000000000..6993761f96f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/PropertyConfigurator.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.PropertyConfigurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.PropertyConfigurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-usePropertyConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.PropertyConfigurator</B></H2> +</CENTER> +No usage of org.apache.log4j.PropertyConfigurator +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-usePropertyConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/RollingFileAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/RollingFileAppender.html new file mode 100644 index 00000000000..16d942e5da5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/RollingFileAppender.html @@ -0,0 +1,182 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.RollingFileAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.RollingFileAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useRollingFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RollingFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.RollingFileAppender</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This appender listens on a socket on the port specified by the + <b>Port</b> property for a "RollOver" message.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useRollingFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RollingFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/SimpleLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/SimpleLayout.html new file mode 100644 index 00000000000..540b11fad8a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/SimpleLayout.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.SimpleLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.SimpleLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useSimpleLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.SimpleLayout</B></H2> +</CENTER> +No usage of org.apache.log4j.SimpleLayout +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useSimpleLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/TTCCLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/TTCCLayout.html new file mode 100644 index 00000000000..011425d5aa0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/TTCCLayout.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.TTCCLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.TTCCLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useTTCCLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TTCCLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.TTCCLayout</B></H2> +</CENTER> +No usage of org.apache.log4j.TTCCLayout +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useTTCCLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TTCCLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/WriterAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/WriterAppender.html new file mode 100644 index 00000000000..0a60d8354fd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/class-use/WriterAppender.html @@ -0,0 +1,238 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.WriterAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.WriterAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useWriterAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="WriterAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.WriterAppender</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConsoleAppender appends log events to <code>System.out</code> or + <code>System.err</code> using a layout specified by the user.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DailyRollingFileAppender extends <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><CODE>FileAppender</CODE></A> so that the + underlying file is rolled over at a user chosen frequency.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileAppender appends log events to a file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RollingFileAppender extends FileAppender to backup the log files when + they reach a certain size.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A> in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This appender listens on a socket on the port specified by the + <b>Port</b> property for a "RollOver" message.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useWriterAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="WriterAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyGetter.PropertyCallback.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyGetter.PropertyCallback.html new file mode 100644 index 00000000000..20fc403142e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyGetter.PropertyCallback.html @@ -0,0 +1,219 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PropertyGetter.PropertyCallback (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PropertyGetter.PropertyCallback (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyGetter.PropertyCallback.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/PropertyGetter.PropertyCallback.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyGetter.PropertyCallback.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.config</FONT> +<BR> +Interface PropertyGetter.PropertyCallback</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A></DD> +</DL> +<DL> +<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config">PropertyGetter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public static interface <B>PropertyGetter.PropertyCallback</B></DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html#foundProperty(java.lang.Object, java.lang.String, java.lang.String, java.lang.Object)">foundProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="foundProperty(java.lang.Object, java.lang.String, java.lang.String, java.lang.Object)"><!-- --></A><H3> +foundProperty</H3> +<PRE> +void <B>foundProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyGetter.PropertyCallback.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/PropertyGetter.PropertyCallback.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyGetter.PropertyCallback.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyGetter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyGetter.html new file mode 100644 index 00000000000..265646d1d53 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyGetter.html @@ -0,0 +1,403 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PropertyGetter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PropertyGetter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyGetter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/PropertyGetter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyGetter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.config</FONT> +<BR> +Class PropertyGetter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.config.PropertyGetter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>PropertyGetter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Used for inferring configuration information for a log4j's component. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Anders Kristensen</DD> +</DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;interface</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.html#NULL_ARG">NULL_ARG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.html#obj">obj</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans">PropertyDescriptor</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.html#props">props</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.html#PropertyGetter(java.lang.Object)">PropertyGetter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new PropertyGetter for the specified Object.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.html#getProperties(java.lang.Object, org.apache.log4j.config.PropertyGetter.PropertyCallback, java.lang.String)">getProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A>&nbsp;callback, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.html#getProperties(org.apache.log4j.config.PropertyGetter.PropertyCallback, java.lang.String)">getProperties</A></B>(<A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A>&nbsp;callback, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.html#isHandledType(java.lang.Class)">isHandledType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;type)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NULL_ARG"><!-- --></A><H3> +NULL_ARG</H3> +<PRE> +protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[] <B>NULL_ARG</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="obj"><!-- --></A><H3> +obj</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>obj</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="props"><!-- --></A><H3> +props</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans">PropertyDescriptor</A>[] <B>props</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PropertyGetter(java.lang.Object)"><!-- --></A><H3> +PropertyGetter</H3> +<PRE> +public <B>PropertyGetter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/IntrospectionException.html?is-external=true" title="class or interface in java.beans">IntrospectionException</A></PRE> +<DL> +<DD>Create a new PropertyGetter for the specified Object. This is done + in prepartion for invoking <A HREF="../../../../org/apache/log4j/config/PropertyGetter.html#getProperties(org.apache.log4j.config.PropertyGetter.PropertyCallback, java.lang.String)"><CODE>getProperties(PropertyGetter.PropertyCallback, String)</CODE></A> one or + more times. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the object for which to set properties +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/IntrospectionException.html?is-external=true" title="class or interface in java.beans">IntrospectionException</A></CODE></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getProperties(java.lang.Object, org.apache.log4j.config.PropertyGetter.PropertyCallback, java.lang.String)"><!-- --></A><H3> +getProperties</H3> +<PRE> +public static void <B>getProperties</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A>&nbsp;callback, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getProperties(org.apache.log4j.config.PropertyGetter.PropertyCallback, java.lang.String)"><!-- --></A><H3> +getProperties</H3> +<PRE> +public void <B>getProperties</B>(<A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A>&nbsp;callback, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isHandledType(java.lang.Class)"><!-- --></A><H3> +isHandledType</H3> +<PRE> +protected boolean <B>isHandledType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;type)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyGetter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/PropertyGetter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyGetter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyPrinter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyPrinter.html new file mode 100644 index 00000000000..ea0533a96e2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertyPrinter.html @@ -0,0 +1,595 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PropertyPrinter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PropertyPrinter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyPrinter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/PropertyPrinter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyPrinter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.config</FONT> +<BR> +Class PropertyPrinter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.config.PropertyPrinter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>PropertyPrinter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A></DL> +</PRE> + +<P> +Prints the configuration of the log4j default hierarchy + (which needs to be auto-initialized) as a propoperties file + on a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io"><CODE>PrintWriter</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Anders Kristensen</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#appenderNames">appenderNames</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#doCapitalize">doCapitalize</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#layoutNames">layoutNames</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#numAppenders">numAppenders</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#out">out</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#PropertyPrinter(java.io.PrintWriter)">PropertyPrinter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#PropertyPrinter(java.io.PrintWriter, boolean)">PropertyPrinter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out, + boolean&nbsp;doCapitalize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#capitalize(java.lang.String)">capitalize</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#foundProperty(java.lang.Object, java.lang.String, java.lang.String, java.lang.Object)">foundProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#genAppName()">genAppName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#isGenAppName(java.lang.String)">isGenAppName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the specified appender name is considered to have + been generated, that is, if it is of the form A[0-9]+.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#print(java.io.PrintWriter)">print</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prints the configuration of the default log4j hierarchy as a Java + properties file on the specified Writer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#printOptions(java.io.PrintWriter, org.apache.log4j.Category)">printOptions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#printOptions(java.io.PrintWriter, org.apache.log4j.Logger)">printOptions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;cat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html#printOptions(java.io.PrintWriter, java.lang.Object, java.lang.String)">printOptions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fullname)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="numAppenders"><!-- --></A><H3> +numAppenders</H3> +<PRE> +protected int <B>numAppenders</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="appenderNames"><!-- --></A><H3> +appenderNames</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> <B>appenderNames</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="layoutNames"><!-- --></A><H3> +layoutNames</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> <B>layoutNames</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="out"><!-- --></A><H3> +out</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A> <B>out</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="doCapitalize"><!-- --></A><H3> +doCapitalize</H3> +<PRE> +protected boolean <B>doCapitalize</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PropertyPrinter(java.io.PrintWriter)"><!-- --></A><H3> +PropertyPrinter</H3> +<PRE> +public <B>PropertyPrinter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out)</PRE> +<DL> +</DL> +<HR> + +<A NAME="PropertyPrinter(java.io.PrintWriter, boolean)"><!-- --></A><H3> +PropertyPrinter</H3> +<PRE> +public <B>PropertyPrinter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out, + boolean&nbsp;doCapitalize)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="genAppName()"><!-- --></A><H3> +genAppName</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>genAppName</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isGenAppName(java.lang.String)"><!-- --></A><H3> +isGenAppName</H3> +<PRE> +protected boolean <B>isGenAppName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Returns true if the specified appender name is considered to have + been generated, that is, if it is of the form A[0-9]+. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="print(java.io.PrintWriter)"><!-- --></A><H3> +print</H3> +<PRE> +public void <B>print</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out)</PRE> +<DL> +<DD>Prints the configuration of the default log4j hierarchy as a Java + properties file on the specified Writer. + + <p>N.B. print() can be invoked only once! +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="printOptions(java.io.PrintWriter, org.apache.log4j.Category)"><!-- --></A><H3> +printOptions</H3> +<PRE> +protected void <B>printOptions</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="printOptions(java.io.PrintWriter, org.apache.log4j.Logger)"><!-- --></A><H3> +printOptions</H3> +<PRE> +protected void <B>printOptions</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;cat)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="printOptions(java.io.PrintWriter, java.lang.Object, java.lang.String)"><!-- --></A><H3> +printOptions</H3> +<PRE> +protected void <B>printOptions</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A>&nbsp;out, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fullname)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="foundProperty(java.lang.Object, java.lang.String, java.lang.String, java.lang.Object)"><!-- --></A><H3> +foundProperty</H3> +<PRE> +public void <B>foundProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html#foundProperty(java.lang.Object, java.lang.String, java.lang.String, java.lang.Object)">foundProperty</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="capitalize(java.lang.String)"><!-- --></A><H3> +capitalize</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>capitalize</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="main(java.lang.String[])"><!-- --></A><H3> +main</H3> +<PRE> +public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyPrinter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/PropertyPrinter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyPrinter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertySetter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertySetter.html new file mode 100644 index 00000000000..8ca077471ce --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertySetter.html @@ -0,0 +1,518 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PropertySetter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PropertySetter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertySetter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/PropertySetter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertySetter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.config</FONT> +<BR> +Class PropertySetter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.config.PropertySetter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>PropertySetter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +General purpose Object property setter. Clients repeatedly invokes + <A HREF="../../../../org/apache/log4j/config/PropertySetter.html#setProperty(java.lang.String, java.lang.String)"><CODE>setProperty(name,value)</CODE></A> in order to invoke setters + on the Object specified in the constructor. This class relies on the + JavaBeans <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/Introspector.html?is-external=true" title="class or interface in java.beans"><CODE>Introspector</CODE></A> to analyze the given Object Class using + reflection. + + <p>Usage: + <pre> + PropertySetter ps = new PropertySetter(anObject); + ps.set("name", "Joe"); + ps.set("age", "32"); + ps.set("isMale", "true"); + </pre> + will cause the invocations anObject.setName("Joe"), anObject.setAge(32), + and setMale(true) if such methods exist with those signatures. + Otherwise an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/IntrospectionException.html?is-external=true" title="class or interface in java.beans"><CODE>IntrospectionException</CODE></A> are thrown. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +<DT><B>Author:</B></DT> + <DD>Anders Kristensen</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#obj">obj</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans">PropertyDescriptor</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#props">props</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#PropertySetter(java.lang.Object)">PropertySetter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new PropertySetter for the specified Object.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#activate()">activate</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#convertArg(java.lang.String, java.lang.Class)">convertArg</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;val, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;type)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert <code>val</code> a String parameter to an object of a + given type.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans">PropertyDescriptor</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#getPropertyDescriptor(java.lang.String)">getPropertyDescriptor</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#introspect()">introspect</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uses JavaBeans <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/Introspector.html?is-external=true" title="class or interface in java.beans"><CODE>Introspector</CODE></A> to computer setters of object to be + configured.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#setProperties(java.lang.Object, java.util.Properties, java.lang.String)">setProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the properties of an object passed as a parameter in one + go.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#setProperties(java.util.Properties, java.lang.String)">setProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the properites for the object that match the + <code>prefix</code> passed as parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#setProperty(java.beans.PropertyDescriptor, java.lang.String, java.lang.String)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans">PropertyDescriptor</A>&nbsp;prop, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the named property given a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans"><CODE>PropertyDescriptor</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html#setProperty(java.lang.String, java.lang.String)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set a property on this PropertySetter's Object.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="obj"><!-- --></A><H3> +obj</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>obj</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="props"><!-- --></A><H3> +props</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans">PropertyDescriptor</A>[] <B>props</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PropertySetter(java.lang.Object)"><!-- --></A><H3> +PropertySetter</H3> +<PRE> +public <B>PropertySetter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</PRE> +<DL> +<DD>Create a new PropertySetter for the specified Object. This is done + in prepartion for invoking <A HREF="../../../../org/apache/log4j/config/PropertySetter.html#setProperty(java.lang.String, java.lang.String)"><CODE>setProperty(java.lang.String, java.lang.String)</CODE></A> one or more times. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the object for which to set properties</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="introspect()"><!-- --></A><H3> +introspect</H3> +<PRE> +protected void <B>introspect</B>()</PRE> +<DL> +<DD>Uses JavaBeans <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/Introspector.html?is-external=true" title="class or interface in java.beans"><CODE>Introspector</CODE></A> to computer setters of object to be + configured. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setProperties(java.lang.Object, java.util.Properties, java.lang.String)"><!-- --></A><H3> +setProperties</H3> +<PRE> +public static void <B>setProperties</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix)</PRE> +<DL> +<DD>Set the properties of an object passed as a parameter in one + go. The <code>properties</code> are parsed relative to a + <code>prefix</code>. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>obj</CODE> - The object to configure.<DD><CODE>properties</CODE> - A java.util.Properties containing keys and values.<DD><CODE>prefix</CODE> - Only keys having the specified prefix will be set.</DL> +</DD> +</DL> +<HR> + +<A NAME="setProperties(java.util.Properties, java.lang.String)"><!-- --></A><H3> +setProperties</H3> +<PRE> +public void <B>setProperties</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix)</PRE> +<DL> +<DD>Set the properites for the object that match the + <code>prefix</code> passed as parameter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setProperty(java.lang.String, java.lang.String)"><!-- --></A><H3> +setProperty</H3> +<PRE> +public void <B>setProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</PRE> +<DL> +<DD>Set a property on this PropertySetter's Object. If successful, this + method will invoke a setter method on the underlying Object. The + setter is the one for the specified property name and the value is + determined partly from the setter argument type and partly from the + value specified in the call to this method. + + <p>If the setter expects a String no conversion is necessary. + If it expects an int, then an attempt is made to convert 'value' + to an int using new Integer(value). If the setter expects a boolean, + the conversion is by new Boolean(value). +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - name of the property<DD><CODE>value</CODE> - String value of the property</DL> +</DD> +</DL> +<HR> + +<A NAME="setProperty(java.beans.PropertyDescriptor, java.lang.String, java.lang.String)"><!-- --></A><H3> +setProperty</H3> +<PRE> +public void <B>setProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans">PropertyDescriptor</A>&nbsp;prop, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value) + throws <A HREF="../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A></PRE> +<DL> +<DD>Set the named property given a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans"><CODE>PropertyDescriptor</CODE></A>. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>prop</CODE> - A PropertyDescriptor describing the characteristics + of the property to set.<DD><CODE>name</CODE> - The named of the property to set.<DD><CODE>value</CODE> - The value of the property. +<DT><B>Throws:</B> +<DD><CODE><A HREF="../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="convertArg(java.lang.String, java.lang.Class)"><!-- --></A><H3> +convertArg</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>convertArg</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;val, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;type)</PRE> +<DL> +<DD>Convert <code>val</code> a String parameter to an object of a + given type. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPropertyDescriptor(java.lang.String)"><!-- --></A><H3> +getPropertyDescriptor</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans">PropertyDescriptor</A> <B>getPropertyDescriptor</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activate()"><!-- --></A><H3> +activate</H3> +<PRE> +public void <B>activate</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertySetter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/PropertySetter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertySetter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertySetterException.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertySetterException.html new file mode 100644 index 00000000000..25cdd8f7c74 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/PropertySetterException.html @@ -0,0 +1,333 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PropertySetterException (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PropertySetterException (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertySetterException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/PropertySetterException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertySetterException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.config</FONT> +<BR> +Class PropertySetterException</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.config.PropertySetterException</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>PropertySetterException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></DL> +</PRE> + +<P> +Thrown when an error is encountered whilst attempting to set a property + using the <A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><CODE>PropertySetter</CODE></A> utility class. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +<DT><B>Author:</B></DT> + <DD>Anders Kristensen</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.config.PropertySetterException">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetterException.html#rootCause">rootCause</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetterException.html#PropertySetterException(java.lang.String)">PropertySetterException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetterException.html#PropertySetterException(java.lang.Throwable)">PropertySetterException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;rootCause)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/config/PropertySetterException.html#getMessage()">getMessage</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns descriptive text on the cause of this exception.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace()" title="class or interface in java.lang">getStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#initCause(java.lang.Throwable)" title="class or interface in java.lang">initCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace()" title="class or interface in java.lang">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#setStackTrace(java.lang.StackTraceElement[])" title="class or interface in java.lang">setStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="rootCause"><!-- --></A><H3> +rootCause</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> <B>rootCause</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PropertySetterException(java.lang.String)"><!-- --></A><H3> +PropertySetterException</H3> +<PRE> +public <B>PropertySetterException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</PRE> +<DL> +</DL> +<HR> + +<A NAME="PropertySetterException(java.lang.Throwable)"><!-- --></A><H3> +PropertySetterException</H3> +<PRE> +public <B>PropertySetterException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;rootCause)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getMessage()"><!-- --></A><H3> +getMessage</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getMessage</B>()</PRE> +<DL> +<DD>Returns descriptive text on the cause of this exception. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getMessage()" title="class or interface in java.lang">getMessage</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertySetterException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/PropertySetterException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertySetterException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyGetter.PropertyCallback.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyGetter.PropertyCallback.html new file mode 100644 index 00000000000..2fb59057ec9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyGetter.PropertyCallback.html @@ -0,0 +1,210 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.config.PropertyGetter.PropertyCallback (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.config.PropertyGetter.PropertyCallback (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/config//class-usePropertyGetter.PropertyCallback.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyGetter.PropertyCallback.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.config.PropertyGetter.PropertyCallback</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.config"><B>org.apache.log4j.config</B></A></TD> +<TD>Package used in getting/setting component properties.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.config"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A> in <A HREF="../../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A> that implement <A HREF="../../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prints the configuration of the log4j default hierarchy + (which needs to be auto-initialized) as a propoperties file + on a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io"><CODE>PrintWriter</CODE></A>.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A> with parameters of type <A HREF="../../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PropertyGetter.</B><B><A HREF="../../../../../org/apache/log4j/config/PropertyGetter.html#getProperties(java.lang.Object, org.apache.log4j.config.PropertyGetter.PropertyCallback, java.lang.String)">getProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="../../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A>&nbsp;callback, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PropertyGetter.</B><B><A HREF="../../../../../org/apache/log4j/config/PropertyGetter.html#getProperties(org.apache.log4j.config.PropertyGetter.PropertyCallback, java.lang.String)">getProperties</A></B>(<A HREF="../../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A>&nbsp;callback, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;prefix)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/config//class-usePropertyGetter.PropertyCallback.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyGetter.PropertyCallback.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyGetter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyGetter.html new file mode 100644 index 00000000000..31e7ad45a48 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyGetter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.config.PropertyGetter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.config.PropertyGetter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/config//class-usePropertyGetter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyGetter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.config.PropertyGetter</B></H2> +</CENTER> +No usage of org.apache.log4j.config.PropertyGetter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/config//class-usePropertyGetter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyGetter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyPrinter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyPrinter.html new file mode 100644 index 00000000000..b7c0b2359d8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertyPrinter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.config.PropertyPrinter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.config.PropertyPrinter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/config//class-usePropertyPrinter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyPrinter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.config.PropertyPrinter</B></H2> +</CENTER> +No usage of org.apache.log4j.config.PropertyPrinter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/config//class-usePropertyPrinter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertyPrinter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertySetter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertySetter.html new file mode 100644 index 00000000000..6d72765a7cc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertySetter.html @@ -0,0 +1,192 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.config.PropertySetter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.config.PropertySetter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/config//class-usePropertySetter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertySetter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.config.PropertySetter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A> in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> with parameters of type <A HREF="../../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html#setParameter(org.w3c.dom.Element, org.apache.log4j.config.PropertySetter)">setParameter</A></B>(org.w3c.dom.Element&nbsp;elem, + <A HREF="../../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A>&nbsp;propSetter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html#setParameter(org.w3c.dom.Element, org.apache.log4j.config.PropertySetter, java.util.Properties)">setParameter</A></B>(org.w3c.dom.Element&nbsp;elem, + <A HREF="../../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A>&nbsp;propSetter, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets a parameter based from configuration file content.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/config//class-usePropertySetter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertySetter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertySetterException.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertySetterException.html new file mode 100644 index 00000000000..794fb4534ef --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/class-use/PropertySetterException.html @@ -0,0 +1,183 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.config.PropertySetterException (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.config.PropertySetterException (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/config//class-usePropertySetterException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertySetterException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.config.PropertySetterException</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.config"><B>org.apache.log4j.config</B></A></TD> +<TD>Package used in getting/setting component properties.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.config"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A> in <A HREF="../../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A> that throw <A HREF="../../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PropertySetter.</B><B><A HREF="../../../../../org/apache/log4j/config/PropertySetter.html#setProperty(java.beans.PropertyDescriptor, java.lang.String, java.lang.String)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans">PropertyDescriptor</A>&nbsp;prop, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the named property given a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/PropertyDescriptor.html?is-external=true" title="class or interface in java.beans"><CODE>PropertyDescriptor</CODE></A>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/config//class-usePropertySetterException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertySetterException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-frame.html new file mode 100644 index 00000000000..01520d0192c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-frame.html @@ -0,0 +1,59 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.config (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/config/package-summary.html" target="classFrame">org.apache.log4j.config</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Interfaces</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config" target="classFrame"><I>PropertyGetter.PropertyCallback</I></A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="PropertyGetter.html" title="class in org.apache.log4j.config" target="classFrame">PropertyGetter</A> +<BR> +<A HREF="PropertyPrinter.html" title="class in org.apache.log4j.config" target="classFrame">PropertyPrinter</A> +<BR> +<A HREF="PropertySetter.html" title="class in org.apache.log4j.config" target="classFrame">PropertySetter</A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Exceptions</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="PropertySetterException.html" title="class in org.apache.log4j.config" target="classFrame">PropertySetterException</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-summary.html new file mode 100644 index 00000000000..4222b61e82d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-summary.html @@ -0,0 +1,212 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.config (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.config (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/chainsaw/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.config +</H2> +Package used in getting/setting component properties. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Interface Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A></B></TD> +<TD>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config">PropertyGetter</A></B></TD> +<TD>Used for inferring configuration information for a log4j's component.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config">PropertyPrinter</A></B></TD> +<TD>Prints the configuration of the log4j default hierarchy + (which needs to be auto-initialized) as a propoperties file + on a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io"><CODE>PrintWriter</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A></B></TD> +<TD>General purpose Object property setter.</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Exception Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">PropertySetterException</A></B></TD> +<TD>Thrown when an error is encountered whilst attempting to set a property + using the <A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><CODE>PropertySetter</CODE></A> utility class.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.config Description +</H2> + +<P> +Package used in getting/setting component properties. +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/chainsaw/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-tree.html new file mode 100644 index 00000000000..63efd670296 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-tree.html @@ -0,0 +1,165 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.config Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.config Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/chainsaw/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.config +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.config.<A HREF="../../../../org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config"><B>PropertyGetter</B></A><LI TYPE="circle">org.apache.log4j.config.<A HREF="../../../../org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config"><B>PropertyPrinter</B></A> (implements org.apache.log4j.config.<A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A>) +<LI TYPE="circle">org.apache.log4j.config.<A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><B>PropertySetter</B></A><LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL> +<LI TYPE="circle">org.apache.log4j.config.<A HREF="../../../../org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config"><B>PropertySetterException</B></A></UL> +</UL> +</UL> +</UL> +<H2> +Interface Hierarchy +</H2> +<UL> +<LI TYPE="circle">org.apache.log4j.config.<A HREF="../../../../org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config"><B>PropertyGetter.PropertyCallback</B></A></UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/chainsaw/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-use.html new file mode 100644 index 00000000000..6ae995d8c97 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/config/package-use.html @@ -0,0 +1,197 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.config (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.config (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.config</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.config"><B>org.apache.log4j.config</B></A></TD> +<TD>Package used in getting/setting component properties.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.config"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A> used by <A HREF="../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/config/class-use/PropertyGetter.PropertyCallback.html#org.apache.log4j.config"><B>PropertyGetter.PropertyCallback</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/config/class-use/PropertySetterException.html#org.apache.log4j.config"><B>PropertySetterException</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thrown when an error is encountered whilst attempting to set a property + using the <A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><CODE>PropertySetter</CODE></A> utility class.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A> used by <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/config/class-use/PropertySetter.html#org.apache.log4j.xml"><B>PropertySetter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;General purpose Object property setter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/config/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/AbsoluteTimeDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/AbsoluteTimeDateFormat.html new file mode 100644 index 00000000000..cee0c73df03 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/AbsoluteTimeDateFormat.html @@ -0,0 +1,450 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AbsoluteTimeDateFormat (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AbsoluteTimeDateFormat (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbsoluteTimeDateFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.text.DateFormat">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class AbsoluteTimeDateFormat</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">java.text.Format</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">java.text.DateFormat</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.AbsoluteTimeDateFormat</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers">DateTimeDateFormat</A>, <A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers">ISO8601DateFormat</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>AbsoluteTimeDateFormat</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></DL> +</PRE> + +<P> +Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "HH:mm:ss,SSS" for example, + "15:49:37,459". +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.7.5</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Andrew Vajoczki</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.helpers.AbsoluteTimeDateFormat">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.Field.html?is-external=true" title="class or interface in java.text">DateFormat.Field</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ABS_TIME_DATE_FORMAT">ABS_TIME_DATE_FORMAT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String constant used to specify <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>AbsoluteTimeDateFormat</CODE></A> in layouts.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#DATE_AND_TIME_DATE_FORMAT">DATE_AND_TIME_DATE_FORMAT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String constant used to specify <A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>DateTimeDateFormat</CODE></A> in layouts.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ISO8601_DATE_FORMAT">ISO8601_DATE_FORMAT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String constant used to specify <A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><CODE>ISO8601DateFormat</CODE></A> in layouts.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#AM_PM_FIELD" title="class or interface in java.text">AM_PM_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#calendar" title="class or interface in java.text">calendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DATE_FIELD" title="class or interface in java.text">DATE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_FIELD" title="class or interface in java.text">DAY_OF_WEEK_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_IN_MONTH_FIELD" title="class or interface in java.text">DAY_OF_WEEK_IN_MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_YEAR_FIELD" title="class or interface in java.text">DAY_OF_YEAR_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DEFAULT" title="class or interface in java.text">DEFAULT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#ERA_FIELD" title="class or interface in java.text">ERA_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#FULL" title="class or interface in java.text">FULL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY0_FIELD" title="class or interface in java.text">HOUR_OF_DAY0_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY1_FIELD" title="class or interface in java.text">HOUR_OF_DAY1_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR0_FIELD" title="class or interface in java.text">HOUR0_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR1_FIELD" title="class or interface in java.text">HOUR1_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#LONG" title="class or interface in java.text">LONG</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MEDIUM" title="class or interface in java.text">MEDIUM</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MILLISECOND_FIELD" title="class or interface in java.text">MILLISECOND_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MINUTE_FIELD" title="class or interface in java.text">MINUTE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MONTH_FIELD" title="class or interface in java.text">MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#numberFormat" title="class or interface in java.text">numberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#SECOND_FIELD" title="class or interface in java.text">SECOND_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#SHORT" title="class or interface in java.text">SHORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#TIMEZONE_FIELD" title="class or interface in java.text">TIMEZONE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_MONTH_FIELD" title="class or interface in java.text">WEEK_OF_MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_YEAR_FIELD" title="class or interface in java.text">WEEK_OF_YEAR_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#YEAR_FIELD" title="class or interface in java.text">YEAR_FIELD</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#AbsoluteTimeDateFormat()">AbsoluteTimeDateFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#AbsoluteTimeDateFormat(java.util.TimeZone)">AbsoluteTimeDateFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A>&nbsp;fieldPosition)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appends to <code>sbuf</code> the time in the format + "HH:mm:ss,SSS" for example, "15:49:37,459"</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#parse(java.lang.String, java.text.ParsePosition)">parse</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParsePosition.html?is-external=true" title="class or interface in java.text">ParsePosition</A>&nbsp;pos)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method does not do anything but return <code>null</code>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#clone()" title="class or interface in java.text">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.text">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.util.Date)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getAvailableLocales()" title="class or interface in java.text">getAvailableLocales</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getCalendar()" title="class or interface in java.text">getCalendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance()" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int)" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int, java.util.Locale)" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance()" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int)" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int, java.util.Locale)" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getInstance()" title="class or interface in java.text">getInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getNumberFormat()" title="class or interface in java.text">getNumberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance()" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int)" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int, java.util.Locale)" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeZone()" title="class or interface in java.text">getTimeZone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#hashCode()" title="class or interface in java.text">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#isLenient()" title="class or interface in java.text">isLenient</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parse(java.lang.String)" title="class or interface in java.text">parse</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parseObject(java.lang.String, java.text.ParsePosition)" title="class or interface in java.text">parseObject</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setCalendar(java.util.Calendar)" title="class or interface in java.text">setCalendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setLenient(boolean)" title="class or interface in java.text">setLenient</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setNumberFormat(java.text.NumberFormat)" title="class or interface in java.text">setNumberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setTimeZone(java.util.TimeZone)" title="class or interface in java.text">setTimeZone</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.text.Format"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">Format</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#format(java.lang.Object)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#formatToCharacterIterator(java.lang.Object)" title="class or interface in java.text">formatToCharacterIterator</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#parseObject(java.lang.String)" title="class or interface in java.text">parseObject</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ABS_TIME_DATE_FORMAT"><!-- --></A><H3> +ABS_TIME_DATE_FORMAT</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ABS_TIME_DATE_FORMAT</B></PRE> +<DL> +<DD>String constant used to specify <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>AbsoluteTimeDateFormat</CODE></A> in layouts. Current + value is <b>ABSOLUTE</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.helpers.AbsoluteTimeDateFormat.ABS_TIME_DATE_FORMAT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="DATE_AND_TIME_DATE_FORMAT"><!-- --></A><H3> +DATE_AND_TIME_DATE_FORMAT</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DATE_AND_TIME_DATE_FORMAT</B></PRE> +<DL> +<DD>String constant used to specify <A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><CODE>DateTimeDateFormat</CODE></A> in layouts. Current + value is <b>DATE</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.helpers.AbsoluteTimeDateFormat.DATE_AND_TIME_DATE_FORMAT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="ISO8601_DATE_FORMAT"><!-- --></A><H3> +ISO8601_DATE_FORMAT</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ISO8601_DATE_FORMAT</B></PRE> +<DL> +<DD>String constant used to specify <A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><CODE>ISO8601DateFormat</CODE></A> in layouts. Current + value is <b>ISO8601</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.helpers.AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AbsoluteTimeDateFormat()"><!-- --></A><H3> +AbsoluteTimeDateFormat</H3> +<PRE> +public <B>AbsoluteTimeDateFormat</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="AbsoluteTimeDateFormat(java.util.TimeZone)"><!-- --></A><H3> +AbsoluteTimeDateFormat</H3> +<PRE> +public <B>AbsoluteTimeDateFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A> <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A>&nbsp;fieldPosition)</PRE> +<DL> +<DD>Appends to <code>sbuf</code> the time in the format + "HH:mm:ss,SSS" for example, "15:49:37,459" +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)" title="class or interface in java.text">format</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>date</CODE> - the date to format<DD><CODE>sbuf</CODE> - the string buffer to write to<DD><CODE>fieldPosition</CODE> - remains untouched</DL> +</DD> +</DL> +<HR> + +<A NAME="parse(java.lang.String, java.text.ParsePosition)"><!-- --></A><H3> +parse</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>parse</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParsePosition.html?is-external=true" title="class or interface in java.text">ParsePosition</A>&nbsp;pos)</PRE> +<DL> +<DD>This method does not do anything but return <code>null</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parse(java.lang.String, java.text.ParsePosition)" title="class or interface in java.text">parse</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbsoluteTimeDateFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.text.DateFormat">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/AppenderAttachableImpl.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/AppenderAttachableImpl.html new file mode 100644 index 00000000000..ae6599e5c0d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/AppenderAttachableImpl.html @@ -0,0 +1,492 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AppenderAttachableImpl (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AppenderAttachableImpl (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AppenderAttachableImpl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/AppenderAttachableImpl.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderAttachableImpl.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class AppenderAttachableImpl</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.AppenderAttachableImpl</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>AppenderAttachableImpl</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></DL> +</PRE> + +<P> +A straightforward implementation of the <A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><CODE>AppenderAttachable</CODE></A> + interface. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>version 0.9.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#appenderList">appenderList</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Array of appenders.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#AppenderAttachableImpl()">AppenderAttachableImpl</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#addAppender(org.apache.log4j.Appender)">addAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attach an appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#appendLoopOnAppenders(org.apache.log4j.spi.LoggingEvent)">appendLoopOnAppenders</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call the <code>doAppend</code> method on all attached appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#getAllAppenders()">getAllAppenders</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get all attached appenders as an Enumeration.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#getAppender(java.lang.String)">getAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Look for an attached appender named as <code>name</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#isAttached(org.apache.log4j.Appender)">isAttached</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the specified appender is in the + list of attached appenders, <code>false</code> otherwise.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#removeAllAppenders()">removeAllAppenders</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove and close all previously attached appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender passed as parameter form the list of attached + appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#removeAppender(java.lang.String)">removeAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender with the name passed as parameter form the + list of appenders.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="appenderList"><!-- --></A><H3> +appenderList</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</A> <B>appenderList</B></PRE> +<DL> +<DD>Array of appenders. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AppenderAttachableImpl()"><!-- --></A><H3> +AppenderAttachableImpl</H3> +<PRE> +public <B>AppenderAttachableImpl</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +addAppender</H3> +<PRE> +public void <B>addAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</PRE> +<DL> +<DD>Attach an appender. If the appender is already in the list in + won't be added again. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#addAppender(org.apache.log4j.Appender)">addAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="appendLoopOnAppenders(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +appendLoopOnAppenders</H3> +<PRE> +public int <B>appendLoopOnAppenders</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Call the <code>doAppend</code> method on all attached appenders. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAllAppenders()"><!-- --></A><H3> +getAllAppenders</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getAllAppenders</B>()</PRE> +<DL> +<DD>Get all attached appenders as an Enumeration. If there are no + attached appenders <code>null</code> is returned. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#getAllAppenders()">getAllAppenders</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>Enumeration An enumeration of attached appenders.</DL> +</DD> +</DL> +<HR> + +<A NAME="getAppender(java.lang.String)"><!-- --></A><H3> +getAppender</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> <B>getAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Look for an attached appender named as <code>name</code>. + + <p>Return the appender with that name if in the list. Return null + otherwise. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#getAppender(java.lang.String)">getAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isAttached(org.apache.log4j.Appender)"><!-- --></A><H3> +isAttached</H3> +<PRE> +public boolean <B>isAttached</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Returns <code>true</code> if the specified appender is in the + list of attached appenders, <code>false</code> otherwise. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#isAttached(org.apache.log4j.Appender)">isAttached</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAllAppenders()"><!-- --></A><H3> +removeAllAppenders</H3> +<PRE> +public void <B>removeAllAppenders</B>()</PRE> +<DL> +<DD>Remove and close all previously attached appenders. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#removeAllAppenders()">removeAllAppenders</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +removeAppender</H3> +<PRE> +public void <B>removeAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Remove the appender passed as parameter form the list of attached + appenders. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppender(java.lang.String)"><!-- --></A><H3> +removeAppender</H3> +<PRE> +public void <B>removeAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Remove the appender with the name passed as parameter form the + list of appenders. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(java.lang.String)">removeAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AppenderAttachableImpl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/AppenderAttachableImpl.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderAttachableImpl.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/BoundedFIFO.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/BoundedFIFO.html new file mode 100644 index 00000000000..a746463e9e7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/BoundedFIFO.html @@ -0,0 +1,432 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +BoundedFIFO (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="BoundedFIFO (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BoundedFIFO.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/BoundedFIFO.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BoundedFIFO.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class BoundedFIFO</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.BoundedFIFO</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>BoundedFIFO</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +<code>BoundedFIFO</code> serves as the bounded first-in-first-out + buffer heavily used by the <A HREF="../../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><CODE>AsyncAppender</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>version 0.9.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html#BoundedFIFO(int)">BoundedFIFO</A></B>(int&nbsp;maxSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a new BoundedFIFO with a maximum size passed as argument.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html#get()">get</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the first element in the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html#getMaxSize()">getMaxSize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the maximum size of the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html#isFull()">isFull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return <code>true</code> if the buffer is full, that is, whether + the number of elements in the buffer equals the buffer size.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html#length()">length</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the number of elements in the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html#put(org.apache.log4j.spi.LoggingEvent)">put</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Place a <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> in the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html#resize(int)">resize</A></B>(int&nbsp;newSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resize the buffer to a new size.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html#wasEmpty()">wasEmpty</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if there is just one element in the + buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html#wasFull()">wasFull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the number of elements in the + buffer plus 1 equals the maximum buffer size, returns + <code>false</code> otherwise.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="BoundedFIFO(int)"><!-- --></A><H3> +BoundedFIFO</H3> +<PRE> +public <B>BoundedFIFO</B>(int&nbsp;maxSize)</PRE> +<DL> +<DD>Instantiate a new BoundedFIFO with a maximum size passed as argument. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="get()"><!-- --></A><H3> +get</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> <B>get</B>()</PRE> +<DL> +<DD>Get the first element in the buffer. Returns <code>null</code> if + there are no elements in the buffer. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="put(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +put</H3> +<PRE> +public void <B>put</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;o)</PRE> +<DL> +<DD>Place a <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> in the buffer. If the buffer is full + then the event is <b>silently dropped</b>. It is the caller's + responsability to make sure that the buffer has free space. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMaxSize()"><!-- --></A><H3> +getMaxSize</H3> +<PRE> +public int <B>getMaxSize</B>()</PRE> +<DL> +<DD>Get the maximum size of the buffer. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isFull()"><!-- --></A><H3> +isFull</H3> +<PRE> +public boolean <B>isFull</B>()</PRE> +<DL> +<DD>Return <code>true</code> if the buffer is full, that is, whether + the number of elements in the buffer equals the buffer size. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="length()"><!-- --></A><H3> +length</H3> +<PRE> +public int <B>length</B>()</PRE> +<DL> +<DD>Get the number of elements in the buffer. This number is + guaranteed to be in the range 0 to <code>maxSize</code> + (inclusive). +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resize(int)"><!-- --></A><H3> +resize</H3> +<PRE> +public void <B>resize</B>(int&nbsp;newSize)</PRE> +<DL> +<DD>Resize the buffer to a new size. If the new size is smaller than + the old size events might be lost. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="wasEmpty()"><!-- --></A><H3> +wasEmpty</H3> +<PRE> +public boolean <B>wasEmpty</B>()</PRE> +<DL> +<DD>Returns <code>true</code> if there is just one element in the + buffer. In other words, if there were no elements before the last + <A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html#put(org.apache.log4j.spi.LoggingEvent)"><CODE>put(org.apache.log4j.spi.LoggingEvent)</CODE></A> operation completed. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="wasFull()"><!-- --></A><H3> +wasFull</H3> +<PRE> +public boolean <B>wasFull</B>()</PRE> +<DL> +<DD>Returns <code>true</code> if the number of elements in the + buffer plus 1 equals the maximum buffer size, returns + <code>false</code> otherwise. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BoundedFIFO.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/BoundedFIFO.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BoundedFIFO.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/CountingQuietWriter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/CountingQuietWriter.html new file mode 100644 index 00000000000..32b97472f0c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/CountingQuietWriter.html @@ -0,0 +1,402 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CountingQuietWriter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CountingQuietWriter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CountingQuietWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/CountingQuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CountingQuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class CountingQuietWriter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">java.io.Writer</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">java.io.FilterWriter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.QuietWriter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.CountingQuietWriter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CountingQuietWriter</B><DT>extends <A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></DL> +</PRE> + +<P> +Counts the number of bytes written. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.1</DD> +<DT><B>Author:</B></DT> + <DD>Heinz Richter, heinz.richter@frogdot.com</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html#count">count</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.helpers.QuietWriter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#errorHandler">errorHandler</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.io.FilterWriter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">FilterWriter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#out" title="class or interface in java.io">out</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.io.Writer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#lock" title="class or interface in java.io">lock</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html#CountingQuietWriter(java.io.Writer, org.apache.log4j.spi.ErrorHandler)">CountingQuietWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer, + <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html#getCount()">getCount</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html#setCount(long)">setCount</A></B>(long&nbsp;count)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html#write(java.lang.String)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;string)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.helpers.QuietWriter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#flush()">flush</A>, <A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.io.FilterWriter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">FilterWriter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#close()" title="class or interface in java.io">close</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#write(char[], int, int)" title="class or interface in java.io">write</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#write(int)" title="class or interface in java.io">write</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#write(java.lang.String, int, int)" title="class or interface in java.io">write</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.io.Writer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(char)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(java.lang.CharSequence)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(java.lang.CharSequence, int, int)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#write(char[])" title="class or interface in java.io">write</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="count"><!-- --></A><H3> +count</H3> +<PRE> +protected long <B>count</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CountingQuietWriter(java.io.Writer, org.apache.log4j.spi.ErrorHandler)"><!-- --></A><H3> +CountingQuietWriter</H3> +<PRE> +public <B>CountingQuietWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer, + <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="write(java.lang.String)"><!-- --></A><H3> +write</H3> +<PRE> +public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;string)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#write(java.lang.String)">write</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCount()"><!-- --></A><H3> +getCount</H3> +<PRE> +public long <B>getCount</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setCount(long)"><!-- --></A><H3> +setCount</H3> +<PRE> +public void <B>setCount</B>(long&nbsp;count)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CountingQuietWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/CountingQuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CountingQuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/CyclicBuffer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/CyclicBuffer.html new file mode 100644 index 00000000000..a815d7d6036 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/CyclicBuffer.html @@ -0,0 +1,387 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CyclicBuffer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CyclicBuffer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CyclicBuffer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/CyclicBuffer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CyclicBuffer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class CyclicBuffer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.CyclicBuffer</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>CyclicBuffer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +CyclicBuffer is used by other appenders to hold <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A> for immediate or differed display. + + <p>This buffer gives read access to any element in the buffer not + just the first or last element. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html#CyclicBuffer(int)">CyclicBuffer</A></B>(int&nbsp;maxSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a new CyclicBuffer of at most <code>maxSize</code> events.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html#add(org.apache.log4j.spi.LoggingEvent)">add</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an <code>event</code> as the last event in the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html#get()">get</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the oldest (first) element in the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html#get(int)">get</A></B>(int&nbsp;i)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the <i>i</i>th oldest event currently in the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html#getMaxSize()">getMaxSize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html#length()">length</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the number of elements in the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html#resize(int)">resize</A></B>(int&nbsp;newSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resize the cyclic buffer to <code>newSize</code>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CyclicBuffer(int)"><!-- --></A><H3> +CyclicBuffer</H3> +<PRE> +public <B>CyclicBuffer</B>(int&nbsp;maxSize) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></PRE> +<DL> +<DD>Instantiate a new CyclicBuffer of at most <code>maxSize</code> events. + + The <code>maxSize</code> argument must a positive integer. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>maxSize</CODE> - The maximum number of elements in the buffer. +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></CODE></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="add(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +add</H3> +<PRE> +public void <B>add</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Add an <code>event</code> as the last event in the buffer. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="get(int)"><!-- --></A><H3> +get</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> <B>get</B>(int&nbsp;i)</PRE> +<DL> +<DD>Get the <i>i</i>th oldest event currently in the buffer. If + <em>i</em> is outside the range 0 to the number of elements + currently in the buffer, then <code>null</code> is returned. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMaxSize()"><!-- --></A><H3> +getMaxSize</H3> +<PRE> +public int <B>getMaxSize</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="get()"><!-- --></A><H3> +get</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> <B>get</B>()</PRE> +<DL> +<DD>Get the oldest (first) element in the buffer. The oldest element + is removed from the buffer. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="length()"><!-- --></A><H3> +length</H3> +<PRE> +public int <B>length</B>()</PRE> +<DL> +<DD>Get the number of elements in the buffer. This number is + guaranteed to be in the range 0 to <code>maxSize</code> + (inclusive). +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resize(int)"><!-- --></A><H3> +resize</H3> +<PRE> +public void <B>resize</B>(int&nbsp;newSize)</PRE> +<DL> +<DD>Resize the cyclic buffer to <code>newSize</code>. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if <code>newSize</code> is negative.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CyclicBuffer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/CyclicBuffer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CyclicBuffer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/DateLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/DateLayout.html new file mode 100644 index 00000000000..26de198d5f3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/DateLayout.html @@ -0,0 +1,671 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DateLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DateLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DateLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/DateLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class DateLayout</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">org.apache.log4j.Layout</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.DateLayout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>DateLayout</B><DT>extends <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></DL> +</PRE> + +<P> +This abstract layout takes care of all the date related options and + formatting work. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#date">date</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#DATE_FORMAT_OPTION">DATE_FORMAT_OPTION</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#dateFormat">dateFormat</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#NULL_DATE_FORMAT">NULL_DATE_FORMAT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String constant designating no time information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#pos">pos</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#RELATIVE_TIME_DATE_FORMAT">RELATIVE_TIME_DATE_FORMAT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String constant designating relative time.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#TIMEZONE_OPTION">TIMEZONE_OPTION</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Layout.html#LINE_SEP">LINE_SEP</A>, <A HREF="../../../../org/apache/log4j/Layout.html#LINE_SEP_LEN">LINE_SEP_LEN</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#DateLayout()">DateLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Activate the options that were previously set with calls to option + setters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#dateFormat(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)">dateFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#getDateFormat()">getDateFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>DateFormat</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#getOptionStrings()">getOptionStrings</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#getTimeZone()">getTimeZone</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>TimeZone</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#setDateFormat(java.text.DateFormat, java.util.TimeZone)">setDateFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A>&nbsp;dateFormat, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text"><CODE>DateFormat</CODE></A> used to format time and date in the + zone determined by <code>timeZone</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#setDateFormat(java.lang.String)">setDateFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;dateFormat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the <b>DateFormat</b> option should be either an + argument to the constructor of <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A> or one of + the srings "NULL", "RELATIVE", "ABSOLUTE", "DATE" or "ISO8601.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#setDateFormat(java.lang.String, java.util.TimeZone)">setDateFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;dateFormatType, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the DateFormat used to format date and time in the time zone + determined by <code>timeZone</code> parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#setOption(java.lang.String, java.lang.String)">setOption</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;option, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#setTimeZone(java.lang.String)">setTimeZone</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;timeZone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>TimeZoneID</b> option is a time zone ID string in the format + expected by the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true#getTimeZone(java.lang.String)" title="class or interface in java.util"><CODE>TimeZone.getTimeZone(java.lang.String)</CODE></A> method.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A>, <A HREF="../../../../org/apache/log4j/Layout.html#getContentType()">getContentType</A>, <A HREF="../../../../org/apache/log4j/Layout.html#getFooter()">getFooter</A>, <A HREF="../../../../org/apache/log4j/Layout.html#getHeader()">getHeader</A>, <A HREF="../../../../org/apache/log4j/Layout.html#ignoresThrowable()">ignoresThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NULL_DATE_FORMAT"><!-- --></A><H3> +NULL_DATE_FORMAT</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>NULL_DATE_FORMAT</B></PRE> +<DL> +<DD>String constant designating no time information. Current value of + this constant is <b>NULL</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.helpers.DateLayout.NULL_DATE_FORMAT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="RELATIVE_TIME_DATE_FORMAT"><!-- --></A><H3> +RELATIVE_TIME_DATE_FORMAT</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>RELATIVE_TIME_DATE_FORMAT</B></PRE> +<DL> +<DD>String constant designating relative time. Current value of + this constant is <b>RELATIVE</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.helpers.DateLayout.RELATIVE_TIME_DATE_FORMAT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="pos"><!-- --></A><H3> +pos</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A> <B>pos</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="DATE_FORMAT_OPTION"><!-- --></A><H3> +DATE_FORMAT_OPTION</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DATE_FORMAT_OPTION</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I><DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.helpers.DateLayout.DATE_FORMAT_OPTION">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="TIMEZONE_OPTION"><!-- --></A><H3> +TIMEZONE_OPTION</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>TIMEZONE_OPTION</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I><DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.helpers.DateLayout.TIMEZONE_OPTION">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="dateFormat"><!-- --></A><H3> +dateFormat</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A> <B>dateFormat</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="date"><!-- --></A><H3> +date</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>date</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DateLayout()"><!-- --></A><H3> +DateLayout</H3> +<PRE> +public <B>DateLayout</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getOptionStrings()"><!-- --></A><H3> +getOptionStrings</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>getOptionStrings</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setOption(java.lang.String, java.lang.String)"><!-- --></A><H3> +setOption</H3> +<PRE> +public void <B>setOption</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;option, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setDateFormat(java.lang.String)"><!-- --></A><H3> +setDateFormat</H3> +<PRE> +public void <B>setDateFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;dateFormat)</PRE> +<DL> +<DD>The value of the <b>DateFormat</b> option should be either an + argument to the constructor of <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A> or one of + the srings "NULL", "RELATIVE", "ABSOLUTE", "DATE" or "ISO8601. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDateFormat()"><!-- --></A><H3> +getDateFormat</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getDateFormat</B>()</PRE> +<DL> +<DD>Returns value of the <b>DateFormat</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setTimeZone(java.lang.String)"><!-- --></A><H3> +setTimeZone</H3> +<PRE> +public void <B>setTimeZone</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;timeZone)</PRE> +<DL> +<DD>The <b>TimeZoneID</b> option is a time zone ID string in the format + expected by the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true#getTimeZone(java.lang.String)" title="class or interface in java.util"><CODE>TimeZone.getTimeZone(java.lang.String)</CODE></A> method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTimeZone()"><!-- --></A><H3> +getTimeZone</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getTimeZone</B>()</PRE> +<DL> +<DD>Returns value of the <b>TimeZone</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">OptionHandler</A></CODE></B></DD> +<DD>Activate the options that were previously set with calls to option + setters. + + <p>This allows to defer activiation of the options until all + options have been set. This is required for components which have + related options that remain ambigous until all are set. + + <p>For example, the FileAppender has the <A HREF="../../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><CODE>File</CODE></A> and <A HREF="../../../../org/apache/log4j/FileAppender.html#setAppend(boolean)"><CODE>Append</CODE></A> options both of + which are ambigous until the other is also set. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="dateFormat(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +dateFormat</H3> +<PRE> +public void <B>dateFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setDateFormat(java.text.DateFormat, java.util.TimeZone)"><!-- --></A><H3> +setDateFormat</H3> +<PRE> +public void <B>setDateFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A>&nbsp;dateFormat, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</PRE> +<DL> +<DD>Sets the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text"><CODE>DateFormat</CODE></A> used to format time and date in the + zone determined by <code>timeZone</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setDateFormat(java.lang.String, java.util.TimeZone)"><!-- --></A><H3> +setDateFormat</H3> +<PRE> +public void <B>setDateFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;dateFormatType, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</PRE> +<DL> +<DD>Sets the DateFormat used to format date and time in the time zone + determined by <code>timeZone</code> parameter. The <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text"><CODE>DateFormat</CODE></A> used + will depend on the <code>dateFormatType</code>. + + <p>The recognized types are <A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#NULL_DATE_FORMAT"><CODE>NULL_DATE_FORMAT</CODE></A>, <A HREF="../../../../org/apache/log4j/helpers/DateLayout.html#RELATIVE_TIME_DATE_FORMAT"><CODE>RELATIVE_TIME_DATE_FORMAT</CODE></A> <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ABS_TIME_DATE_FORMAT"><CODE>AbsoluteTimeDateFormat.ABS_TIME_DATE_FORMAT</CODE></A>, <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#DATE_AND_TIME_DATE_FORMAT"><CODE>AbsoluteTimeDateFormat.DATE_AND_TIME_DATE_FORMAT</CODE></A> and <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ISO8601_DATE_FORMAT"><CODE>AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT</CODE></A>. If the + <code>dateFormatType</code> is not one of the above, then the + argument is assumed to be a date pattern for <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text"><CODE>SimpleDateFormat</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DateLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/DateLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/DateTimeDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/DateTimeDateFormat.html new file mode 100644 index 00000000000..1bb2adcf319 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/DateTimeDateFormat.html @@ -0,0 +1,385 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DateTimeDateFormat (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DateTimeDateFormat (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DateTimeDateFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/DateTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.text.DateFormat">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.AbsoluteTimeDateFormat">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class DateTimeDateFormat</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">java.text.Format</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">java.text.DateFormat</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.AbsoluteTimeDateFormat</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.DateTimeDateFormat</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>DateTimeDateFormat</B><DT>extends <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></DL> +</PRE> + +<P> +Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "dd MMM yyyy HH:mm:ss,SSS" for example, + "06 Nov 1994 15:49:37,459". +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.7.5</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.helpers.DateTimeDateFormat">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.Field.html?is-external=true" title="class or interface in java.text">DateFormat.Field</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.helpers.AbsoluteTimeDateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ABS_TIME_DATE_FORMAT">ABS_TIME_DATE_FORMAT</A>, <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#DATE_AND_TIME_DATE_FORMAT">DATE_AND_TIME_DATE_FORMAT</A>, <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ISO8601_DATE_FORMAT">ISO8601_DATE_FORMAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#AM_PM_FIELD" title="class or interface in java.text">AM_PM_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#calendar" title="class or interface in java.text">calendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DATE_FIELD" title="class or interface in java.text">DATE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_FIELD" title="class or interface in java.text">DAY_OF_WEEK_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_IN_MONTH_FIELD" title="class or interface in java.text">DAY_OF_WEEK_IN_MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_YEAR_FIELD" title="class or interface in java.text">DAY_OF_YEAR_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DEFAULT" title="class or interface in java.text">DEFAULT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#ERA_FIELD" title="class or interface in java.text">ERA_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#FULL" title="class or interface in java.text">FULL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY0_FIELD" title="class or interface in java.text">HOUR_OF_DAY0_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY1_FIELD" title="class or interface in java.text">HOUR_OF_DAY1_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR0_FIELD" title="class or interface in java.text">HOUR0_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR1_FIELD" title="class or interface in java.text">HOUR1_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#LONG" title="class or interface in java.text">LONG</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MEDIUM" title="class or interface in java.text">MEDIUM</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MILLISECOND_FIELD" title="class or interface in java.text">MILLISECOND_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MINUTE_FIELD" title="class or interface in java.text">MINUTE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MONTH_FIELD" title="class or interface in java.text">MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#numberFormat" title="class or interface in java.text">numberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#SECOND_FIELD" title="class or interface in java.text">SECOND_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#SHORT" title="class or interface in java.text">SHORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#TIMEZONE_FIELD" title="class or interface in java.text">TIMEZONE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_MONTH_FIELD" title="class or interface in java.text">WEEK_OF_MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_YEAR_FIELD" title="class or interface in java.text">WEEK_OF_YEAR_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#YEAR_FIELD" title="class or interface in java.text">YEAR_FIELD</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html#DateTimeDateFormat()">DateTimeDateFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html#DateTimeDateFormat(java.util.TimeZone)">DateTimeDateFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A>&nbsp;fieldPosition)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appends to <code>sbuf</code> the date in the format "dd MMM yyyy + HH:mm:ss,SSS" for example, "06 Nov 1994 08:49:37,459".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html#parse(java.lang.String, java.text.ParsePosition)">parse</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParsePosition.html?is-external=true" title="class or interface in java.text">ParsePosition</A>&nbsp;pos)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method does not do anything but return <code>null</code>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#clone()" title="class or interface in java.text">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.text">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.util.Date)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getAvailableLocales()" title="class or interface in java.text">getAvailableLocales</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getCalendar()" title="class or interface in java.text">getCalendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance()" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int)" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int, java.util.Locale)" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance()" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int)" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int, java.util.Locale)" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getInstance()" title="class or interface in java.text">getInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getNumberFormat()" title="class or interface in java.text">getNumberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance()" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int)" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int, java.util.Locale)" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeZone()" title="class or interface in java.text">getTimeZone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#hashCode()" title="class or interface in java.text">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#isLenient()" title="class or interface in java.text">isLenient</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parse(java.lang.String)" title="class or interface in java.text">parse</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parseObject(java.lang.String, java.text.ParsePosition)" title="class or interface in java.text">parseObject</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setCalendar(java.util.Calendar)" title="class or interface in java.text">setCalendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setLenient(boolean)" title="class or interface in java.text">setLenient</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setNumberFormat(java.text.NumberFormat)" title="class or interface in java.text">setNumberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setTimeZone(java.util.TimeZone)" title="class or interface in java.text">setTimeZone</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.text.Format"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">Format</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#format(java.lang.Object)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#formatToCharacterIterator(java.lang.Object)" title="class or interface in java.text">formatToCharacterIterator</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#parseObject(java.lang.String)" title="class or interface in java.text">parseObject</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DateTimeDateFormat()"><!-- --></A><H3> +DateTimeDateFormat</H3> +<PRE> +public <B>DateTimeDateFormat</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="DateTimeDateFormat(java.util.TimeZone)"><!-- --></A><H3> +DateTimeDateFormat</H3> +<PRE> +public <B>DateTimeDateFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A> <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A>&nbsp;fieldPosition)</PRE> +<DL> +<DD>Appends to <code>sbuf</code> the date in the format "dd MMM yyyy + HH:mm:ss,SSS" for example, "06 Nov 1994 08:49:37,459". +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>sbuf</CODE> - the string buffer to write to<DD><CODE>date</CODE> - the date to format<DD><CODE>fieldPosition</CODE> - remains untouched</DL> +</DD> +</DL> +<HR> + +<A NAME="parse(java.lang.String, java.text.ParsePosition)"><!-- --></A><H3> +parse</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>parse</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParsePosition.html?is-external=true" title="class or interface in java.text">ParsePosition</A>&nbsp;pos)</PRE> +<DL> +<DD>This method does not do anything but return <code>null</code>. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#parse(java.lang.String, java.text.ParsePosition)">parse</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DateTimeDateFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/DateTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.text.DateFormat">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.AbsoluteTimeDateFormat">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/FileWatchdog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/FileWatchdog.html new file mode 100644 index 00000000000..4f590909a7c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/FileWatchdog.html @@ -0,0 +1,449 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FileWatchdog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FileWatchdog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileWatchdog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/FileWatchdog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileWatchdog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class FileWatchdog</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.FileWatchdog</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>FileWatchdog</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></DL> +</PRE> + +<P> +Check every now and then that a certain file has not changed. If it + has, then call the <A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#doOnChange()"><CODE>doOnChange()</CODE></A> method. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>version 0.9.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_java.lang.Thread"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#DEFAULT_DELAY">DEFAULT_DELAY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default delay between every file modification check, set to 60 + seconds.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#delay">delay</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The delay to observe between every check.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#filename">filename</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the file to observe for changes.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.lang.Thread"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#FileWatchdog(java.lang.String)">FileWatchdog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#checkAndConfigure()">checkAndConfigure</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected abstract &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#doOnChange()">doOnChange</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#run()">run</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#setDelay(long)">setDelay</A></B>(long&nbsp;delay)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the delay to observe between each check of the file changes.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Thread"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#activeCount()" title="class or interface in java.lang">activeCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#checkAccess()" title="class or interface in java.lang">checkAccess</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#countStackFrames()" title="class or interface in java.lang">countStackFrames</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#currentThread()" title="class or interface in java.lang">currentThread</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#destroy()" title="class or interface in java.lang">destroy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#dumpStack()" title="class or interface in java.lang">dumpStack</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#enumerate(java.lang.Thread[])" title="class or interface in java.lang">enumerate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces()" title="class or interface in java.lang">getAllStackTraces</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader()" title="class or interface in java.lang">getContextClassLoader</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler()" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getId()" title="class or interface in java.lang">getId</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getName()" title="class or interface in java.lang">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getPriority()" title="class or interface in java.lang">getPriority</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getStackTrace()" title="class or interface in java.lang">getStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getState()" title="class or interface in java.lang">getState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup()" title="class or interface in java.lang">getThreadGroup</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler()" title="class or interface in java.lang">getUncaughtExceptionHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#holdsLock(java.lang.Object)" title="class or interface in java.lang">holdsLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#interrupt()" title="class or interface in java.lang">interrupt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#interrupted()" title="class or interface in java.lang">interrupted</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#isAlive()" title="class or interface in java.lang">isAlive</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#isDaemon()" title="class or interface in java.lang">isDaemon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#isInterrupted()" title="class or interface in java.lang">isInterrupted</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#join()" title="class or interface in java.lang">join</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#join(long)" title="class or interface in java.lang">join</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#join(long, int)" title="class or interface in java.lang">join</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#resume()" title="class or interface in java.lang">resume</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader(java.lang.ClassLoader)" title="class or interface in java.lang">setContextClassLoader</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setDaemon(boolean)" title="class or interface in java.lang">setDaemon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setName(java.lang.String)" title="class or interface in java.lang">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setPriority(int)" title="class or interface in java.lang">setPriority</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" title="class or interface in java.lang">setUncaughtExceptionHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#sleep(long)" title="class or interface in java.lang">sleep</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#sleep(long, int)" title="class or interface in java.lang">sleep</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#start()" title="class or interface in java.lang">start</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#stop()" title="class or interface in java.lang">stop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#stop(java.lang.Throwable)" title="class or interface in java.lang">stop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#suspend()" title="class or interface in java.lang">suspend</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#yield()" title="class or interface in java.lang">yield</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DEFAULT_DELAY"><!-- --></A><H3> +DEFAULT_DELAY</H3> +<PRE> +public static final long <B>DEFAULT_DELAY</B></PRE> +<DL> +<DD>The default delay between every file modification check, set to 60 + seconds. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.helpers.FileWatchdog.DEFAULT_DELAY">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="filename"><!-- --></A><H3> +filename</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>filename</B></PRE> +<DL> +<DD>The name of the file to observe for changes. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="delay"><!-- --></A><H3> +delay</H3> +<PRE> +protected long <B>delay</B></PRE> +<DL> +<DD>The delay to observe between every check. By default set <A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#DEFAULT_DELAY"><CODE>DEFAULT_DELAY</CODE></A>. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FileWatchdog(java.lang.String)"><!-- --></A><H3> +FileWatchdog</H3> +<PRE> +protected <B>FileWatchdog</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setDelay(long)"><!-- --></A><H3> +setDelay</H3> +<PRE> +public void <B>setDelay</B>(long&nbsp;delay)</PRE> +<DL> +<DD>Set the delay to observe between each check of the file changes. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="doOnChange()"><!-- --></A><H3> +doOnChange</H3> +<PRE> +protected abstract void <B>doOnChange</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="checkAndConfigure()"><!-- --></A><H3> +checkAndConfigure</H3> +<PRE> +protected void <B>checkAndConfigure</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="run()"><!-- --></A><H3> +run</H3> +<PRE> +public void <B>run</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileWatchdog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/FileWatchdog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileWatchdog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/FormattingInfo.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/FormattingInfo.html new file mode 100644 index 00000000000..6c9c8c2fbc0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/FormattingInfo.html @@ -0,0 +1,236 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FormattingInfo (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FormattingInfo (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FormattingInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/FormattingInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class FormattingInfo</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.FormattingInfo</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>FormattingInfo</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +FormattingInfo instances contain the information obtained when parsing + formatting modifiers in conversion modifiers. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.2</DD> +<DT><B>Author:</B></DT> + <DD><a href=mailto:jim_cakalic@na.biomerieux.com>Jim Cakalic</a>, Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html#FormattingInfo()">FormattingInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FormattingInfo()"><!-- --></A><H3> +FormattingInfo</H3> +<PRE> +public <B>FormattingInfo</B>()</PRE> +<DL> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FormattingInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/FormattingInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/ISO8601DateFormat.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/ISO8601DateFormat.html new file mode 100644 index 00000000000..54fa1ecb3a8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/ISO8601DateFormat.html @@ -0,0 +1,390 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ISO8601DateFormat (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ISO8601DateFormat (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ISO8601DateFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/ISO8601DateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ISO8601DateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.text.DateFormat">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.AbsoluteTimeDateFormat">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class ISO8601DateFormat</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">java.text.Format</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">java.text.DateFormat</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.AbsoluteTimeDateFormat</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.ISO8601DateFormat</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>ISO8601DateFormat</B><DT>extends <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></DL> +</PRE> + +<P> +Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "yyyy-MM-dd HH:mm:ss,SSS" for example + "1999-11-27 15:49:37,459". + + <p>Refer to the <a + href=http://www.cl.cam.ac.uk/~mgk25/iso-time.html>summary of the + International Standard Date and Time Notation</a> for more + information on this format. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.7.5</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Andrew Vajoczki</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.helpers.ISO8601DateFormat">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.Field.html?is-external=true" title="class or interface in java.text">DateFormat.Field</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.helpers.AbsoluteTimeDateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ABS_TIME_DATE_FORMAT">ABS_TIME_DATE_FORMAT</A>, <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#DATE_AND_TIME_DATE_FORMAT">DATE_AND_TIME_DATE_FORMAT</A>, <A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#ISO8601_DATE_FORMAT">ISO8601_DATE_FORMAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#AM_PM_FIELD" title="class or interface in java.text">AM_PM_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#calendar" title="class or interface in java.text">calendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DATE_FIELD" title="class or interface in java.text">DATE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_FIELD" title="class or interface in java.text">DAY_OF_WEEK_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_IN_MONTH_FIELD" title="class or interface in java.text">DAY_OF_WEEK_IN_MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_YEAR_FIELD" title="class or interface in java.text">DAY_OF_YEAR_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DEFAULT" title="class or interface in java.text">DEFAULT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#ERA_FIELD" title="class or interface in java.text">ERA_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#FULL" title="class or interface in java.text">FULL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY0_FIELD" title="class or interface in java.text">HOUR_OF_DAY0_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY1_FIELD" title="class or interface in java.text">HOUR_OF_DAY1_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR0_FIELD" title="class or interface in java.text">HOUR0_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR1_FIELD" title="class or interface in java.text">HOUR1_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#LONG" title="class or interface in java.text">LONG</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MEDIUM" title="class or interface in java.text">MEDIUM</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MILLISECOND_FIELD" title="class or interface in java.text">MILLISECOND_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MINUTE_FIELD" title="class or interface in java.text">MINUTE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MONTH_FIELD" title="class or interface in java.text">MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#numberFormat" title="class or interface in java.text">numberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#SECOND_FIELD" title="class or interface in java.text">SECOND_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#SHORT" title="class or interface in java.text">SHORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#TIMEZONE_FIELD" title="class or interface in java.text">TIMEZONE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_MONTH_FIELD" title="class or interface in java.text">WEEK_OF_MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_YEAR_FIELD" title="class or interface in java.text">WEEK_OF_YEAR_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#YEAR_FIELD" title="class or interface in java.text">YEAR_FIELD</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html#ISO8601DateFormat()">ISO8601DateFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html#ISO8601DateFormat(java.util.TimeZone)">ISO8601DateFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A>&nbsp;fieldPosition)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appends a date in the format "YYYY-mm-dd HH:mm:ss,SSS" + to <code>sbuf</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html#parse(java.lang.String, java.text.ParsePosition)">parse</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParsePosition.html?is-external=true" title="class or interface in java.text">ParsePosition</A>&nbsp;pos)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method does not do anything but return <code>null</code>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#clone()" title="class or interface in java.text">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.text">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.util.Date)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getAvailableLocales()" title="class or interface in java.text">getAvailableLocales</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getCalendar()" title="class or interface in java.text">getCalendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance()" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int)" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int, java.util.Locale)" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance()" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int)" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int, java.util.Locale)" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getInstance()" title="class or interface in java.text">getInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getNumberFormat()" title="class or interface in java.text">getNumberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance()" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int)" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int, java.util.Locale)" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeZone()" title="class or interface in java.text">getTimeZone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#hashCode()" title="class or interface in java.text">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#isLenient()" title="class or interface in java.text">isLenient</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parse(java.lang.String)" title="class or interface in java.text">parse</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parseObject(java.lang.String, java.text.ParsePosition)" title="class or interface in java.text">parseObject</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setCalendar(java.util.Calendar)" title="class or interface in java.text">setCalendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setLenient(boolean)" title="class or interface in java.text">setLenient</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setNumberFormat(java.text.NumberFormat)" title="class or interface in java.text">setNumberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setTimeZone(java.util.TimeZone)" title="class or interface in java.text">setTimeZone</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.text.Format"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">Format</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#format(java.lang.Object)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#formatToCharacterIterator(java.lang.Object)" title="class or interface in java.text">formatToCharacterIterator</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#parseObject(java.lang.String)" title="class or interface in java.text">parseObject</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ISO8601DateFormat()"><!-- --></A><H3> +ISO8601DateFormat</H3> +<PRE> +public <B>ISO8601DateFormat</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="ISO8601DateFormat(java.util.TimeZone)"><!-- --></A><H3> +ISO8601DateFormat</H3> +<PRE> +public <B>ISO8601DateFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A> <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A>&nbsp;fieldPosition)</PRE> +<DL> +<DD>Appends a date in the format "YYYY-mm-dd HH:mm:ss,SSS" + to <code>sbuf</code>. For example: "1999-11-27 15:49:37,459". +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>sbuf</CODE> - the <code>StringBuffer</code> to write to<DD><CODE>date</CODE> - the date to format<DD><CODE>fieldPosition</CODE> - remains untouched</DL> +</DD> +</DL> +<HR> + +<A NAME="parse(java.lang.String, java.text.ParsePosition)"><!-- --></A><H3> +parse</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>parse</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParsePosition.html?is-external=true" title="class or interface in java.text">ParsePosition</A>&nbsp;pos)</PRE> +<DL> +<DD>This method does not do anything but return <code>null</code>. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html#parse(java.lang.String, java.text.ParsePosition)">parse</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ISO8601DateFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/ISO8601DateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ISO8601DateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.text.DateFormat">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.AbsoluteTimeDateFormat">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/Loader.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/Loader.html new file mode 100644 index 00000000000..e4565729e9e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/Loader.html @@ -0,0 +1,356 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Loader (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Loader (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Loader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/Loader.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Loader.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class Loader</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.Loader</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>Loader</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Load resources (or images) from various sources. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/Loader.html#Loader()">Loader</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/Loader.html#getResource(java.lang.String)">getResource</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;resource)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method will search for <code>resource</code> in different + places.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/Loader.html#getResource(java.lang.String, java.lang.Class)">getResource</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;resource, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>as of 1.2.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/Loader.html#isJava1()">isJava1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Are we running under JDK 1.x?</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/Loader.html#loadClass(java.lang.String)">loadClass</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;clazz)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If running under JDK 1.2 load the specified class using the + <code>Thread</code> <code>contextClassLoader</code> if that + fails try Class.forname.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Loader()"><!-- --></A><H3> +Loader</H3> +<PRE> +public <B>Loader</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getResource(java.lang.String, java.lang.Class)"><!-- --></A><H3> +getResource</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A> <B>getResource</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;resource, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>as of 1.2.</I> +<P> +<DD>Get a resource by delegating to getResource(String). +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>resource</CODE> - resource name<DD><CODE>clazz</CODE> - class, ignored. +<DT><B>Returns:</B><DD>URL to resource or null.</DL> +</DD> +</DL> +<HR> + +<A NAME="getResource(java.lang.String)"><!-- --></A><H3> +getResource</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A> <B>getResource</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;resource)</PRE> +<DL> +<DD>This method will search for <code>resource</code> in different + places. The search order is as follows: + + <ol> + + <p><li>Search for <code>resource</code> using the thread context + class loader under Java2. If that fails, search for + <code>resource</code> using the class loader that loaded this + class (<code>Loader</code>). Under JDK 1.1, only the the class + loader that loaded this class (<code>Loader</code>) is used. + + <p><li>Try one last time with + <code>ClassLoader.getSystemResource(resource)</code>, that is is + using the system class loader in JDK 1.2 and virtual machine's + built-in class loader in JDK 1.1. + + </ol> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isJava1()"><!-- --></A><H3> +isJava1</H3> +<PRE> +public static boolean <B>isJava1</B>()</PRE> +<DL> +<DD>Are we running under JDK 1.x? +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="loadClass(java.lang.String)"><!-- --></A><H3> +loadClass</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> <B>loadClass</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;clazz) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></PRE> +<DL> +<DD>If running under JDK 1.2 load the specified class using the + <code>Thread</code> <code>contextClassLoader</code> if that + fails try Class.forname. Under JDK 1.1 only Class.forName is + used. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Loader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/Loader.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Loader.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/LogLog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/LogLog.html new file mode 100644 index 00000000000..e97102a0c52 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/LogLog.html @@ -0,0 +1,532 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogLog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogLog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogLog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/LogLog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class LogLog</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.LogLog</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>LogLog</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +This class used to output log statements from within the log4j package. + + <p>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 + <b>log4j.configDebug</b> variable. + + <p>All log4j internal debug calls go to <code>System.out</code> + where as internal error messages are sent to + <code>System.err</code>. All internal messages are prepended with + the string "log4j: ". +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.2</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#CONFIG_DEBUG_KEY">CONFIG_DEBUG_KEY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../org/apache/log4j/helpers/LogLog.html#DEBUG_KEY"><CODE>DEBUG_KEY</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#DEBUG_KEY">DEBUG_KEY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defining this value makes log4j print log4j-internal debug + statements to <code>System.out</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#debugEnabled">debugEnabled</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#LogLog()">LogLog</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#debug(java.lang.String)">debug</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is used to output log4j internal debug + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#debug(java.lang.String, java.lang.Throwable)">debug</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is used to output log4j internal debug + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#error(java.lang.String)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is used to output log4j internal error + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#error(java.lang.String, java.lang.Throwable)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is used to output log4j internal error + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#setInternalDebugging(boolean)">setInternalDebugging</A></B>(boolean&nbsp;enabled)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allows to enable/disable log4j internal logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#setQuietMode(boolean)">setQuietMode</A></B>(boolean&nbsp;quietMode)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In quite mode no LogLog generates strictly no output, not even + for errors.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#warn(java.lang.String)">warn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is used to output log4j internal warning + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html#warn(java.lang.String, java.lang.Throwable)">warn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is used to output log4j internal warnings.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DEBUG_KEY"><!-- --></A><H3> +DEBUG_KEY</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DEBUG_KEY</B></PRE> +<DL> +<DD>Defining this value makes log4j print log4j-internal debug + statements to <code>System.out</code>. + + <p> The value of this string is <b>log4j.debug</b>. + + <p>Note that the search for all option names is case sensitive. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.helpers.LogLog.DEBUG_KEY">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="CONFIG_DEBUG_KEY"><!-- --></A><H3> +CONFIG_DEBUG_KEY</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>CONFIG_DEBUG_KEY</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../org/apache/log4j/helpers/LogLog.html#DEBUG_KEY"><CODE>DEBUG_KEY</CODE></A> instead.</I><DD>Defining this value makes log4j components print log4j-internal + debug statements to <code>System.out</code>. + + <p> The value of this string is <b>log4j.configDebug</b>. + + <p>Note that the search for all option names is case sensitive. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.helpers.LogLog.CONFIG_DEBUG_KEY">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="debugEnabled"><!-- --></A><H3> +debugEnabled</H3> +<PRE> +protected static boolean <B>debugEnabled</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogLog()"><!-- --></A><H3> +LogLog</H3> +<PRE> +public <B>LogLog</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setInternalDebugging(boolean)"><!-- --></A><H3> +setInternalDebugging</H3> +<PRE> +public static void <B>setInternalDebugging</B>(boolean&nbsp;enabled)</PRE> +<DL> +<DD>Allows to enable/disable log4j internal logging. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(java.lang.String)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</PRE> +<DL> +<DD>This method is used to output log4j internal debug + statements. Output goes to <code>System.out</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(java.lang.String, java.lang.Throwable)"><!-- --></A><H3> +debug</H3> +<PRE> +public static void <B>debug</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>This method is used to output log4j internal debug + statements. Output goes to <code>System.out</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String)"><!-- --></A><H3> +error</H3> +<PRE> +public static void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</PRE> +<DL> +<DD>This method is used to output log4j internal error + statements. There is no way to disable error statements. + Output goes to <code>System.err</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String, java.lang.Throwable)"><!-- --></A><H3> +error</H3> +<PRE> +public static void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>This method is used to output log4j internal error + statements. There is no way to disable error statements. + Output goes to <code>System.err</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setQuietMode(boolean)"><!-- --></A><H3> +setQuietMode</H3> +<PRE> +public static void <B>setQuietMode</B>(boolean&nbsp;quietMode)</PRE> +<DL> +<DD>In quite mode no LogLog generates strictly no output, not even + for errors. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>quietMode</CODE> - A true for not</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(java.lang.String)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</PRE> +<DL> +<DD>This method is used to output log4j internal warning + statements. There is no way to disable warning statements. + Output goes to <code>System.err</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(java.lang.String, java.lang.Throwable)"><!-- --></A><H3> +warn</H3> +<PRE> +public static void <B>warn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>This method is used to output log4j internal warnings. There is + no way to disable warning statements. Output goes to + <code>System.err</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogLog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/LogLog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html new file mode 100644 index 00000000000..aacdf63de52 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html @@ -0,0 +1,259 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +MDCKeySetExtractor (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="MDCKeySetExtractor (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MDCKeySetExtractor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/MDCKeySetExtractor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDCKeySetExtractor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class MDCKeySetExtractor</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.MDCKeySetExtractor</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>MDCKeySetExtractor</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html#INSTANCE">INSTANCE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html#getPropertyKeySet(org.apache.log4j.spi.LoggingEvent)">getPropertyKeySet</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="INSTANCE"><!-- --></A><H3> +INSTANCE</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A> <B>INSTANCE</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getPropertyKeySet(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +getPropertyKeySet</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> <B>getPropertyKeySet</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MDCKeySetExtractor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/MDCKeySetExtractor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDCKeySetExtractor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/NullEnumeration.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/NullEnumeration.html new file mode 100644 index 00000000000..b71b111de54 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/NullEnumeration.html @@ -0,0 +1,280 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NullEnumeration (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NullEnumeration (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NullEnumeration.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/NullEnumeration.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NullEnumeration.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class NullEnumeration</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.NullEnumeration</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>NullEnumeration</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></DL> +</PRE> + +<P> +An always-empty Enumerator. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>version 1.0</DD> +<DT><B>Author:</B></DT> + <DD>Anders Kristensen</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html#getInstance()">getInstance</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html#hasMoreElements()">hasMoreElements</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html#nextElement()">nextElement</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getInstance()"><!-- --></A><H3> +getInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A> <B>getInstance</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hasMoreElements()"><!-- --></A><H3> +hasMoreElements</H3> +<PRE> +public boolean <B>hasMoreElements</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true#hasMoreElements()" title="class or interface in java.util">hasMoreElements</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="nextElement()"><!-- --></A><H3> +nextElement</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>nextElement</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true#nextElement()" title="class or interface in java.util">nextElement</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NullEnumeration.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/NullEnumeration.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NullEnumeration.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/OnlyOnceErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/OnlyOnceErrorHandler.html new file mode 100644 index 00000000000..ef4338d6658 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/OnlyOnceErrorHandler.html @@ -0,0 +1,440 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +OnlyOnceErrorHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="OnlyOnceErrorHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/OnlyOnceErrorHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/OnlyOnceErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OnlyOnceErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class OnlyOnceErrorHandler</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.OnlyOnceErrorHandler</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>OnlyOnceErrorHandler</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></DL> +</PRE> + +<P> +The <code>OnlyOnceErrorHandler</code> implements log4j's default + error handling policy which consists of emitting a message for the + first error in an appender and ignoring all following errors. + + <p>The error message is printed on <code>System.err</code>. + + <p>This policy aims at protecting an otherwise working application + from being flooded with error messages when logging fails. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#OnlyOnceErrorHandler()">OnlyOnceErrorHandler</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No options to activate.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#error(java.lang.String)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a the error message passed as parameter on + <code>System.err</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#error(java.lang.String, java.lang.Exception, int)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prints the message and the stack trace of the exception on + <code>System.err</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prints the message and the stack trace of the exception on + <code>System.err</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#setAppender(org.apache.log4j.Appender)">setAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)">setBackupAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#setLogger(org.apache.log4j.Logger)">setLogger</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="OnlyOnceErrorHandler()"><!-- --></A><H3> +OnlyOnceErrorHandler</H3> +<PRE> +public <B>OnlyOnceErrorHandler</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setLogger(org.apache.log4j.Logger)"><!-- --></A><H3> +setLogger</H3> +<PRE> +public void <B>setLogger</B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</PRE> +<DL> +<DD>Does not do anything. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setLogger(org.apache.log4j.Logger)">setLogger</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - One of the loggers that will be searched for the failing + appender in view of replacement.</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>No options to activate. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String, java.lang.Exception, int)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode)</PRE> +<DL> +<DD>Prints the message and the stack trace of the exception on + <code>System.err</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int)">error</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Prints the message and the stack trace of the exception on + <code>System.err</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)">error</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - The message assoicated with the error.<DD><CODE>e</CODE> - The Exption that was thrown when the error occured.<DD><CODE>errorCode</CODE> - The error code associated with the error.<DD><CODE>event</CODE> - The logging event that the failing appender is asked + to log.</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +<DD>Print a the error message passed as parameter on + <code>System.err</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String)">error</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +setAppender</H3> +<PRE> +public void <B>setAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Does not do anything. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setAppender(org.apache.log4j.Appender)">setAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setBackupAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +setBackupAppender</H3> +<PRE> +public void <B>setBackupAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Does not do anything. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)">setBackupAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/OnlyOnceErrorHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/OnlyOnceErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OnlyOnceErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/OptionConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/OptionConverter.html new file mode 100644 index 00000000000..921dd154b01 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/OptionConverter.html @@ -0,0 +1,566 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +OptionConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="OptionConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/OptionConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/OptionConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OptionConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class OptionConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.OptionConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>OptionConverter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +A convenience class to convert property values to specific types. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Simon Kitching;, Anders Kristensen</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#concatanateArrays(java.lang.String[], java.lang.String[])">concatanateArrays</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;l, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;r)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#convertSpecialChars(java.lang.String)">convertSpecialChars</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#findAndSubst(java.lang.String, java.util.Properties)">findAndSubst</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find the value corresponding to <code>key</code> in + <code>props</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#getSystemProperty(java.lang.String, java.lang.String)">getSystemProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;def)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Very similar to <code>System.getProperty</code> except + that the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang"><CODE>SecurityException</CODE></A> is hidden.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#instantiateByClassName(java.lang.String, java.lang.Class, java.lang.Object)">instantiateByClassName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;className, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;superClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;defaultValue)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate an object given a class name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#instantiateByKey(java.util.Properties, java.lang.String, java.lang.Class, java.lang.Object)">instantiateByKey</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;superClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;defaultValue)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#selectAndConfigure(java.net.URL, java.lang.String, org.apache.log4j.spi.LoggerRepository)">selectAndConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;clazz, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure log4j given a URL.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#substVars(java.lang.String, java.util.Properties)">substVars</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;val, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform variable substitution in string <code>val</code> from the + values of keys found in the system propeties.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#toBoolean(java.lang.String, boolean)">toBoolean</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + boolean&nbsp;dEfault)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If <code>value</code> is "true", then <code>true</code> is + returned.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#toFileSize(java.lang.String, long)">toFileSize</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + long&nbsp;dEfault)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#toInt(java.lang.String, int)">toInt</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + int&nbsp;dEfault)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html#toLevel(java.lang.String, org.apache.log4j.Level)">toLevel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultValue)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Converts a standard or custom priority level to a Level + object.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="concatanateArrays(java.lang.String[], java.lang.String[])"><!-- --></A><H3> +concatanateArrays</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>concatanateArrays</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;l, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;r)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="convertSpecialChars(java.lang.String)"><!-- --></A><H3> +convertSpecialChars</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>convertSpecialChars</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSystemProperty(java.lang.String, java.lang.String)"><!-- --></A><H3> +getSystemProperty</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSystemProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;def)</PRE> +<DL> +<DD>Very similar to <code>System.getProperty</code> except + that the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang"><CODE>SecurityException</CODE></A> is hidden. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>key</CODE> - The key to search for.<DD><CODE>def</CODE> - The default value to return. +<DT><B>Returns:</B><DD>the string value of the system property, or the default + value if there is no property with that key.<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="instantiateByKey(java.util.Properties, java.lang.String, java.lang.Class, java.lang.Object)"><!-- --></A><H3> +instantiateByKey</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>instantiateByKey</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;superClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;defaultValue)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toBoolean(java.lang.String, boolean)"><!-- --></A><H3> +toBoolean</H3> +<PRE> +public static boolean <B>toBoolean</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + boolean&nbsp;dEfault)</PRE> +<DL> +<DD>If <code>value</code> is "true", then <code>true</code> is + returned. If <code>value</code> is "false", then + <code>true</code> is returned. Otherwise, <code>default</code> is + returned. + + <p>Case of value is unimportant. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toInt(java.lang.String, int)"><!-- --></A><H3> +toInt</H3> +<PRE> +public static int <B>toInt</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + int&nbsp;dEfault)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toLevel(java.lang.String, org.apache.log4j.Level)"><!-- --></A><H3> +toLevel</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>toLevel</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;defaultValue)</PRE> +<DL> +<DD>Converts a standard or custom priority level to a Level + object. <p> If <code>value</code> is of form + "level#classname", then the specified class' toLevel method + is called to process the specified level string; if no '#' + character is present, then the default <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> + class is used to process the level value. + + <p>As a special case, if the <code>value</code> parameter is + equal to the string "NULL", then the value <code>null</code> will + be returned. + + <p> If any error occurs while converting the value to a level, + the <code>defaultValue</code> parameter, which may be + <code>null</code>, is returned. + + <p> Case of <code>value</code> is insignificant for the level level, but is + significant for the class name part, if present. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toFileSize(java.lang.String, long)"><!-- --></A><H3> +toFileSize</H3> +<PRE> +public static long <B>toFileSize</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + long&nbsp;dEfault)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="findAndSubst(java.lang.String, java.util.Properties)"><!-- --></A><H3> +findAndSubst</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>findAndSubst</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</PRE> +<DL> +<DD>Find the value corresponding to <code>key</code> in + <code>props</code>. Then perform variable substitution on the + found value. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="instantiateByClassName(java.lang.String, java.lang.Class, java.lang.Object)"><!-- --></A><H3> +instantiateByClassName</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>instantiateByClassName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;className, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;superClass, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;defaultValue)</PRE> +<DL> +<DD>Instantiate an object given a class name. Check that the + <code>className</code> is a subclass of + <code>superClass</code>. If that test fails or the object could + not be instantiated, then <code>defaultValue</code> is returned. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>className</CODE> - The fully qualified class name of the object to instantiate.<DD><CODE>superClass</CODE> - The class to which the new object should belong.<DD><CODE>defaultValue</CODE> - The object to return in case of non-fulfillment</DL> +</DD> +</DL> +<HR> + +<A NAME="substVars(java.lang.String, java.util.Properties)"><!-- --></A><H3> +substVars</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>substVars</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;val, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></PRE> +<DL> +<DD>Perform variable substitution in string <code>val</code> from the + values of keys found in the system propeties. + + <p>The variable substitution delimeters are <b>${</b> and <b>}</b>. + + <p>For example, if the System properties contains "key=value", then + the call + <pre> + String s = OptionConverter.substituteVars("Value of key is ${key}."); + </pre> + + will set the variable <code>s</code> to "Value of key is value.". + + <p>If no value could be found for the specified key, then the + <code>props</code> parameter is searched, if the value could not + be found there, then substitution defaults to the empty string. + + <p>For example, if system propeties contains no value for the key + "inexistentKey", then the call + + <pre> + String s = OptionConverter.subsVars("Value of inexistentKey is [${inexistentKey}]"); + </pre> + will set <code>s</code> to "Value of inexistentKey is []" + + <p>An <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang"><CODE>IllegalArgumentException</CODE></A> is thrown if + <code>val</code> contains a start delimeter "${" which is not + balanced by a stop delimeter "}". </p> + + <p><b>Author</b> Avy Sharell</a></p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>val</CODE> - The string on which variable substitution is performed. +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if <code>val</code> is malformed.</DL> +</DD> +</DL> +<HR> + +<A NAME="selectAndConfigure(java.net.URL, java.lang.String, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +selectAndConfigure</H3> +<PRE> +public static void <B>selectAndConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;clazz, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</PRE> +<DL> +<DD>Configure log4j given a URL. + + <p>The url must point to a file or resource which will be interpreted by + a new instance of a log4j configurator. + + <p>All configurations steps are taken on the + <code>hierarchy</code> passed as a parameter. + + <p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>url</CODE> - The location of the configuration file or resource.<DD><CODE>clazz</CODE> - The classname, of the log4j configurator which will parse + the file or resource at <code>url</code>. This must be a subclass of + <A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><CODE>Configurator</CODE></A>, or null. If this value is null then a default + configurator of <A HREF="../../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><CODE>PropertyConfigurator</CODE></A> is used, unless the + filename pointed to by <code>url</code> ends in '.xml', in which case + <A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><CODE>DOMConfigurator</CODE></A> is used.<DD><CODE>hierarchy</CODE> - The <A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><CODE>Hierarchy</CODE></A> to act on.<DT><B>Since:</B></DT> + <DD>1.1.4</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/OptionConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/OptionConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OptionConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/PatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/PatternConverter.html new file mode 100644 index 00000000000..3f76e312369 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/PatternConverter.html @@ -0,0 +1,375 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/PatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class PatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.PatternConverter</B> +</PRE> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern">BridgePatternConverter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>PatternConverter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +<p>PatternConverter is an abtract class that provides the + formatting functionality that derived classes need. + + <p>Conversion specifiers in a conversion patterns are parsed to + individual PatternConverters. Each of which is responsible for + converting a logging event in a converter specific manner. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.2</DD> +<DT><B>Author:</B></DT> + <DD><a href="mailto:cakalijp@Maritz.com">James P. Cakalic</a>, Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html#next">next</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html#PatternConverter()">PatternConverter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html#PatternConverter(org.apache.log4j.helpers.FormattingInfo)">PatternConverter</A></B>(<A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A>&nbsp;fi)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected abstract &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html#convert(org.apache.log4j.spi.LoggingEvent)">convert</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html#format(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A template method for formatting in a converter specific way.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html#spacePad(java.lang.StringBuffer, int)">spacePad</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + int&nbsp;length)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fast space padding method.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="next"><!-- --></A><H3> +next</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> <B>next</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PatternConverter()"><!-- --></A><H3> +PatternConverter</H3> +<PRE> +protected <B>PatternConverter</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="PatternConverter(org.apache.log4j.helpers.FormattingInfo)"><!-- --></A><H3> +PatternConverter</H3> +<PRE> +protected <B>PatternConverter</B>(<A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A>&nbsp;fi)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="convert(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +convert</H3> +<PRE> +protected abstract <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>convert</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;e)</PRE> +<DL> +<DD>A template method for formatting in a converter specific way. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="spacePad(java.lang.StringBuffer, int)"><!-- --></A><H3> +spacePad</H3> +<PRE> +public void <B>spacePad</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + int&nbsp;length)</PRE> +<DL> +<DD>Fast space padding method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/PatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/PatternParser.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/PatternParser.html new file mode 100644 index 00000000000..a232c742f34 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/PatternParser.html @@ -0,0 +1,457 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PatternParser (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PatternParser (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/PatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class PatternParser</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.PatternParser</B> +</PRE> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern">BridgePatternParser</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>PatternParser</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Most of the work of the <A HREF="../../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> class + is delegated to the PatternParser class. + + <p>It is this class that parses conversion patterns and creates + a chained list of <A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers"><CODE>OptionConverters</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.2</DD> +<DT><B>Author:</B></DT> + <DD><a href=mailto:"cakalijp@Maritz.com">James P. Cakalic</a>, Ceki G&uuml;lc&uuml;, Anders Kristensen</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#currentLiteral">currentLiteral</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#formattingInfo">formattingInfo</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#i">i</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#pattern">pattern</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#patternLength">patternLength</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#PatternParser(java.lang.String)">PatternParser</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#addConverter(org.apache.log4j.helpers.PatternConverter)">addConverter</A></B>(<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A>&nbsp;pc)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#extractOption()">extractOption</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#extractPrecisionOption()">extractPrecisionOption</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The option is expected to be in decimal and positive.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#finalizeConverter(char)">finalizeConverter</A></B>(char&nbsp;c)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#parse()">parse</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="currentLiteral"><!-- --></A><H3> +currentLiteral</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A> <B>currentLiteral</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="patternLength"><!-- --></A><H3> +patternLength</H3> +<PRE> +protected int <B>patternLength</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="i"><!-- --></A><H3> +i</H3> +<PRE> +protected int <B>i</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="formattingInfo"><!-- --></A><H3> +formattingInfo</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A> <B>formattingInfo</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="pattern"><!-- --></A><H3> +pattern</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>pattern</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PatternParser(java.lang.String)"><!-- --></A><H3> +PatternParser</H3> +<PRE> +public <B>PatternParser</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="extractOption()"><!-- --></A><H3> +extractOption</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>extractOption</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="extractPrecisionOption()"><!-- --></A><H3> +extractPrecisionOption</H3> +<PRE> +protected int <B>extractPrecisionOption</B>()</PRE> +<DL> +<DD>The option is expected to be in decimal and positive. In case of + error, zero is returned. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parse()"><!-- --></A><H3> +parse</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> <B>parse</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="finalizeConverter(char)"><!-- --></A><H3> +finalizeConverter</H3> +<PRE> +protected void <B>finalizeConverter</B>(char&nbsp;c)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addConverter(org.apache.log4j.helpers.PatternConverter)"><!-- --></A><H3> +addConverter</H3> +<PRE> +protected void <B>addConverter</B>(<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A>&nbsp;pc)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/PatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/QuietWriter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/QuietWriter.html new file mode 100644 index 00000000000..715d92317c8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/QuietWriter.html @@ -0,0 +1,390 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +QuietWriter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="QuietWriter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/QuietWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/QuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="QuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class QuietWriter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">java.io.Writer</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">java.io.FilterWriter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.QuietWriter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers">CountingQuietWriter</A>, <A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers">SyslogQuietWriter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>QuietWriter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">FilterWriter</A></DL> +</PRE> + +<P> +QuietWriter does not throw exceptions when things go + wrong. Instead, it delegates error handling to its <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.7.3</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#errorHandler">errorHandler</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.io.FilterWriter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">FilterWriter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#out" title="class or interface in java.io">out</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.io.Writer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#lock" title="class or interface in java.io">lock</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#QuietWriter(java.io.Writer, org.apache.log4j.spi.ErrorHandler)">QuietWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer, + <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;errorHandler)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#flush()">flush</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></B>(<A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#write(java.lang.String)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;string)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.io.FilterWriter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">FilterWriter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#close()" title="class or interface in java.io">close</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#write(char[], int, int)" title="class or interface in java.io">write</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#write(int)" title="class or interface in java.io">write</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#write(java.lang.String, int, int)" title="class or interface in java.io">write</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.io.Writer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(char)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(java.lang.CharSequence)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(java.lang.CharSequence, int, int)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#write(char[])" title="class or interface in java.io">write</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="errorHandler"><!-- --></A><H3> +errorHandler</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> <B>errorHandler</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="QuietWriter(java.io.Writer, org.apache.log4j.spi.ErrorHandler)"><!-- --></A><H3> +QuietWriter</H3> +<PRE> +public <B>QuietWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer, + <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;errorHandler)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="write(java.lang.String)"><!-- --></A><H3> +write</H3> +<PRE> +public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;string)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#write(java.lang.String)" title="class or interface in java.io">write</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="flush()"><!-- --></A><H3> +flush</H3> +<PRE> +public void <B>flush</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Flushable.html?is-external=true#flush()" title="class or interface in java.io">flush</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#flush()" title="class or interface in java.io">flush</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">FilterWriter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setErrorHandler(org.apache.log4j.spi.ErrorHandler)"><!-- --></A><H3> +setErrorHandler</H3> +<PRE> +public void <B>setErrorHandler</B>(<A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/QuietWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/QuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="QuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/RelativeTimeDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/RelativeTimeDateFormat.html new file mode 100644 index 00000000000..c2edc5debb4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/RelativeTimeDateFormat.html @@ -0,0 +1,391 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +RelativeTimeDateFormat (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="RelativeTimeDateFormat (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RelativeTimeDateFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/RelativeTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.text.DateFormat">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class RelativeTimeDateFormat</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">java.text.Format</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">java.text.DateFormat</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.RelativeTimeDateFormat</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>RelativeTimeDateFormat</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></DL> +</PRE> + +<P> +Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> by printing the number of milliseconds + elapsed since construction of the format. This is the fastest + printing DateFormat in the package. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.7.5</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.helpers.RelativeTimeDateFormat">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.Field.html?is-external=true" title="class or interface in java.text">DateFormat.Field</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html#startTime">startTime</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#AM_PM_FIELD" title="class or interface in java.text">AM_PM_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#calendar" title="class or interface in java.text">calendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DATE_FIELD" title="class or interface in java.text">DATE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_FIELD" title="class or interface in java.text">DAY_OF_WEEK_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_IN_MONTH_FIELD" title="class or interface in java.text">DAY_OF_WEEK_IN_MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_YEAR_FIELD" title="class or interface in java.text">DAY_OF_YEAR_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DEFAULT" title="class or interface in java.text">DEFAULT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#ERA_FIELD" title="class or interface in java.text">ERA_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#FULL" title="class or interface in java.text">FULL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY0_FIELD" title="class or interface in java.text">HOUR_OF_DAY0_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY1_FIELD" title="class or interface in java.text">HOUR_OF_DAY1_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR0_FIELD" title="class or interface in java.text">HOUR0_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR1_FIELD" title="class or interface in java.text">HOUR1_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#LONG" title="class or interface in java.text">LONG</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MEDIUM" title="class or interface in java.text">MEDIUM</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MILLISECOND_FIELD" title="class or interface in java.text">MILLISECOND_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MINUTE_FIELD" title="class or interface in java.text">MINUTE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MONTH_FIELD" title="class or interface in java.text">MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#numberFormat" title="class or interface in java.text">numberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#SECOND_FIELD" title="class or interface in java.text">SECOND_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#SHORT" title="class or interface in java.text">SHORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#TIMEZONE_FIELD" title="class or interface in java.text">TIMEZONE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_MONTH_FIELD" title="class or interface in java.text">WEEK_OF_MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_YEAR_FIELD" title="class or interface in java.text">WEEK_OF_YEAR_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#YEAR_FIELD" title="class or interface in java.text">YEAR_FIELD</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html#RelativeTimeDateFormat()">RelativeTimeDateFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A>&nbsp;fieldPosition)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appends to <code>sbuf</code> the number of milliseconds elapsed + since the start of the application.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html#parse(java.lang.String, java.text.ParsePosition)">parse</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParsePosition.html?is-external=true" title="class or interface in java.text">ParsePosition</A>&nbsp;pos)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method does not do anything but return <code>null</code>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#clone()" title="class or interface in java.text">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.text">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.util.Date)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getAvailableLocales()" title="class or interface in java.text">getAvailableLocales</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getCalendar()" title="class or interface in java.text">getCalendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance()" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int)" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int, java.util.Locale)" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance()" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int)" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int, java.util.Locale)" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getInstance()" title="class or interface in java.text">getInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getNumberFormat()" title="class or interface in java.text">getNumberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance()" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int)" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int, java.util.Locale)" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeZone()" title="class or interface in java.text">getTimeZone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#hashCode()" title="class or interface in java.text">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#isLenient()" title="class or interface in java.text">isLenient</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parse(java.lang.String)" title="class or interface in java.text">parse</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parseObject(java.lang.String, java.text.ParsePosition)" title="class or interface in java.text">parseObject</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setCalendar(java.util.Calendar)" title="class or interface in java.text">setCalendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setLenient(boolean)" title="class or interface in java.text">setLenient</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setNumberFormat(java.text.NumberFormat)" title="class or interface in java.text">setNumberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setTimeZone(java.util.TimeZone)" title="class or interface in java.text">setTimeZone</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.text.Format"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">Format</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#format(java.lang.Object)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#formatToCharacterIterator(java.lang.Object)" title="class or interface in java.text">formatToCharacterIterator</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#parseObject(java.lang.String)" title="class or interface in java.text">parseObject</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="startTime"><!-- --></A><H3> +startTime</H3> +<PRE> +protected final long <B>startTime</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="RelativeTimeDateFormat()"><!-- --></A><H3> +RelativeTimeDateFormat</H3> +<PRE> +public <B>RelativeTimeDateFormat</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A> <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A>&nbsp;fieldPosition)</PRE> +<DL> +<DD>Appends to <code>sbuf</code> the number of milliseconds elapsed + since the start of the application. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)" title="class or interface in java.text">format</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.7.5</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parse(java.lang.String, java.text.ParsePosition)"><!-- --></A><H3> +parse</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>parse</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParsePosition.html?is-external=true" title="class or interface in java.text">ParsePosition</A>&nbsp;pos)</PRE> +<DL> +<DD>This method does not do anything but return <code>null</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parse(java.lang.String, java.text.ParsePosition)" title="class or interface in java.text">parse</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RelativeTimeDateFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/RelativeTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.text.DateFormat">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/SyslogQuietWriter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/SyslogQuietWriter.html new file mode 100644 index 00000000000..bcac4afbad1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/SyslogQuietWriter.html @@ -0,0 +1,376 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SyslogQuietWriter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SyslogQuietWriter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SyslogQuietWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/SyslogQuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogQuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.QuietWriter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class SyslogQuietWriter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">java.io.Writer</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">java.io.FilterWriter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.QuietWriter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.SyslogQuietWriter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SyslogQuietWriter</B><DT>extends <A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></DL> +</PRE> + +<P> +SyslogQuietWriter extends QuietWriter by prepending the syslog + level code before each printed String. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.7.3</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.helpers.QuietWriter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#errorHandler">errorHandler</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.io.FilterWriter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">FilterWriter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#out" title="class or interface in java.io">out</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.io.Writer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#lock" title="class or interface in java.io">lock</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html#SyslogQuietWriter(java.io.Writer, int, org.apache.log4j.spi.ErrorHandler)">SyslogQuietWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer, + int&nbsp;syslogFacility, + <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html#setLevel(int)">setLevel</A></B>(int&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html#setSyslogFacility(int)">setSyslogFacility</A></B>(int&nbsp;syslogFacility)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html#write(java.lang.String)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;string)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.helpers.QuietWriter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#flush()">flush</A>, <A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.io.FilterWriter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io">FilterWriter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#close()" title="class or interface in java.io">close</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#write(char[], int, int)" title="class or interface in java.io">write</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#write(int)" title="class or interface in java.io">write</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true#write(java.lang.String, int, int)" title="class or interface in java.io">write</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.io.Writer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(char)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(java.lang.CharSequence)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(java.lang.CharSequence, int, int)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#write(char[])" title="class or interface in java.io">write</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SyslogQuietWriter(java.io.Writer, int, org.apache.log4j.spi.ErrorHandler)"><!-- --></A><H3> +SyslogQuietWriter</H3> +<PRE> +public <B>SyslogQuietWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer, + int&nbsp;syslogFacility, + <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setLevel(int)"><!-- --></A><H3> +setLevel</H3> +<PRE> +public void <B>setLevel</B>(int&nbsp;level)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSyslogFacility(int)"><!-- --></A><H3> +setSyslogFacility</H3> +<PRE> +public void <B>setSyslogFacility</B>(int&nbsp;syslogFacility)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="write(java.lang.String)"><!-- --></A><H3> +write</H3> +<PRE> +public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;string)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html#write(java.lang.String)">write</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SyslogQuietWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/SyslogQuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogQuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.QuietWriter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/SyslogWriter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/SyslogWriter.html new file mode 100644 index 00000000000..9286eb0a3d4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/SyslogWriter.html @@ -0,0 +1,380 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SyslogWriter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SyslogWriter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SyslogWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/SyslogWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.io.Writer">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class SyslogWriter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">java.io.Writer</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.SyslogWriter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SyslogWriter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></DL> +</PRE> + +<P> +SyslogWriter is a wrapper around the java.net.DatagramSocket class + so that it behaves like a java.io.Writer. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.7.3</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.io.Writer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#lock" title="class or interface in java.io">lock</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html#SyslogWriter(java.lang.String)">SyslogWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;syslogHost)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new instance of SyslogWriter.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html#flush()">flush</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html#write(char[], int, int)">write</A></B>(char[]&nbsp;buf, + int&nbsp;off, + int&nbsp;len)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html#write(java.lang.String)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;string)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.io.Writer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(char)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(java.lang.CharSequence)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#append(java.lang.CharSequence, int, int)" title="class or interface in java.io">append</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#write(char[])" title="class or interface in java.io">write</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#write(int)" title="class or interface in java.io">write</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#write(java.lang.String, int, int)" title="class or interface in java.io">write</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SyslogWriter(java.lang.String)"><!-- --></A><H3> +SyslogWriter</H3> +<PRE> +public <B>SyslogWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;syslogHost)</PRE> +<DL> +<DD>Constructs a new instance of SyslogWriter. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>syslogHost</CODE> - host name, may not be null. A port + may be specified by following the name or IPv4 literal address with + a colon and a decimal port number. To specify a port with an IPv6 + address, enclose the IPv6 address in square brackets before appending + the colon and decimal port number.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="write(char[], int, int)"><!-- --></A><H3> +write</H3> +<PRE> +public void <B>write</B>(char[]&nbsp;buf, + int&nbsp;off, + int&nbsp;len) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#write(char[], int, int)" title="class or interface in java.io">write</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="write(java.lang.String)"><!-- --></A><H3> +write</H3> +<PRE> +public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;string) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#write(java.lang.String)" title="class or interface in java.io">write</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="flush()"><!-- --></A><H3> +flush</H3> +<PRE> +public void <B>flush</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Flushable.html?is-external=true#flush()" title="class or interface in java.io">flush</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#flush()" title="class or interface in java.io">flush</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Closeable.html?is-external=true#close()" title="class or interface in java.io">close</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true#close()" title="class or interface in java.io">close</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SyslogWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/SyslogWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.io.Writer">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/ThreadLocalMap.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/ThreadLocalMap.html new file mode 100644 index 00000000000..8ec9a6233af --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/ThreadLocalMap.html @@ -0,0 +1,279 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ThreadLocalMap (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ThreadLocalMap (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThreadLocalMap.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/ThreadLocalMap.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadLocalMap.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class ThreadLocalMap</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang">java.lang.ThreadLocal</A>&lt;T&gt; + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/InheritableThreadLocal.html?is-external=true" title="class or interface in java.lang">java.lang.InheritableThreadLocal</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.ThreadLocalMap</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>ThreadLocalMap</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/InheritableThreadLocal.html?is-external=true" title="class or interface in java.lang">InheritableThreadLocal</A></DL> +</PRE> + +<P> +<code>ThreadLocalMap</code> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/InheritableThreadLocal.html?is-external=true" title="class or interface in java.lang"><CODE>InheritableThreadLocal</CODE></A> + to bequeath a copy of the hashtable of the MDC of the parent + thread. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/ThreadLocalMap.html#ThreadLocalMap()">ThreadLocalMap</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/ThreadLocalMap.html#childValue(java.lang.Object)">childValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;parentValue)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.ThreadLocal"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang">ThreadLocal</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadLocal.html?is-external=true#get()" title="class or interface in java.lang">get</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadLocal.html?is-external=true#initialValue()" title="class or interface in java.lang">initialValue</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadLocal.html?is-external=true#remove()" title="class or interface in java.lang">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadLocal.html?is-external=true#set(T)" title="class or interface in java.lang">set</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ThreadLocalMap()"><!-- --></A><H3> +ThreadLocalMap</H3> +<PRE> +public <B>ThreadLocalMap</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="childValue(java.lang.Object)"><!-- --></A><H3> +childValue</H3> +<PRE> +public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>childValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;parentValue)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/InheritableThreadLocal.html?is-external=true#childValue(T)" title="class or interface in java.lang">childValue</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/InheritableThreadLocal.html?is-external=true" title="class or interface in java.lang">InheritableThreadLocal</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThreadLocalMap.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/ThreadLocalMap.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadLocalMap.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/Transform.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/Transform.html new file mode 100644 index 00000000000..4eba772fbab --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/Transform.html @@ -0,0 +1,297 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Transform (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Transform (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Transform.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/Transform.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Transform.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.helpers</FONT> +<BR> +Class Transform</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.Transform</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>Transform</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Utility class for transforming strings. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Michael A. McAngus</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/Transform.html#Transform()">Transform</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/Transform.html#appendEscapingCDATA(java.lang.StringBuffer, java.lang.String)">appendEscapingCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;str)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ensures that embeded CDEnd strings (]]>) are handled properly + within message, NDC and throwable tag text.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/helpers/Transform.html#escapeTags(java.lang.String)">escapeTags</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;input)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method takes a string which may contain HTML tags (ie, + &lt;b&gt;, &lt;table&gt;, etc) and replaces any + '<', '>' , '&' or '"' + characters with respective predefined entity references.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Transform()"><!-- --></A><H3> +Transform</H3> +<PRE> +public <B>Transform</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="escapeTags(java.lang.String)"><!-- --></A><H3> +escapeTags</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>escapeTags</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;input)</PRE> +<DL> +<DD>This method takes a string which may contain HTML tags (ie, + &lt;b&gt;, &lt;table&gt;, etc) and replaces any + '<', '>' , '&' or '"' + characters with respective predefined entity references. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>input</CODE> - The text to be converted. +<DT><B>Returns:</B><DD>The input string with the special characters replaced.</DL> +</DD> +</DL> +<HR> + +<A NAME="appendEscapingCDATA(java.lang.StringBuffer, java.lang.String)"><!-- --></A><H3> +appendEscapingCDATA</H3> +<PRE> +public static void <B>appendEscapingCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;str)</PRE> +<DL> +<DD>Ensures that embeded CDEnd strings (]]>) are handled properly + within message, NDC and throwable tag text. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>buf</CODE> - StringBuffer holding the XML data to this point. The + initial CDStart (<![CDATA[) and final CDEnd (]]>) of the CDATA + section are the responsibility of the calling method.<DD><CODE>str</CODE> - The String that is inserted into an existing CDATA Section within buf.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Transform.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/Transform.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Transform.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/AbsoluteTimeDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/AbsoluteTimeDateFormat.html new file mode 100644 index 00000000000..39671688945 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/AbsoluteTimeDateFormat.html @@ -0,0 +1,191 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.AbsoluteTimeDateFormat (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.AbsoluteTimeDateFormat (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useAbsoluteTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.AbsoluteTimeDateFormat</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers">DateTimeDateFormat</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "dd MMM yyyy HH:mm:ss,SSS" for example, + "06 Nov 1994 15:49:37,459".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers">ISO8601DateFormat</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "yyyy-MM-dd HH:mm:ss,SSS" for example + "1999-11-27 15:49:37,459".</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useAbsoluteTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/AppenderAttachableImpl.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/AppenderAttachableImpl.html new file mode 100644 index 00000000000..112fbe642c3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/AppenderAttachableImpl.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.AppenderAttachableImpl (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.AppenderAttachableImpl (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useAppenderAttachableImpl.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderAttachableImpl.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.AppenderAttachableImpl</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.AppenderAttachableImpl +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useAppenderAttachableImpl.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderAttachableImpl.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/BoundedFIFO.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/BoundedFIFO.html new file mode 100644 index 00000000000..c918059c91e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/BoundedFIFO.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.BoundedFIFO (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.BoundedFIFO (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useBoundedFIFO.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BoundedFIFO.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.BoundedFIFO</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.BoundedFIFO +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useBoundedFIFO.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BoundedFIFO.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/CountingQuietWriter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/CountingQuietWriter.html new file mode 100644 index 00000000000..0db35a575ed --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/CountingQuietWriter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.CountingQuietWriter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.CountingQuietWriter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useCountingQuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CountingQuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.CountingQuietWriter</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.CountingQuietWriter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useCountingQuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CountingQuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/CyclicBuffer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/CyclicBuffer.html new file mode 100644 index 00000000000..63866c2f86a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/CyclicBuffer.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.CyclicBuffer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.CyclicBuffer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useCyclicBuffer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CyclicBuffer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.CyclicBuffer</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A> in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> declared as <A HREF="../../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A></CODE></FONT></TD> +<TD><CODE><B>SMTPAppender.</B><B><A HREF="../../../../../org/apache/log4j/net/SMTPAppender.html#cb">cb</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useCyclicBuffer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CyclicBuffer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/DateLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/DateLayout.html new file mode 100644 index 00000000000..a2add8b3620 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/DateLayout.html @@ -0,0 +1,182 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.DateLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.DateLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useDateLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.DateLayout</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TTCC layout format consists of time, thread, category and nested + diagnostic context information, hence the name.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useDateLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/DateTimeDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/DateTimeDateFormat.html new file mode 100644 index 00000000000..a8fa616823f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/DateTimeDateFormat.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.DateTimeDateFormat (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.DateTimeDateFormat (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useDateTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.DateTimeDateFormat</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.DateTimeDateFormat +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useDateTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/FileWatchdog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/FileWatchdog.html new file mode 100644 index 00000000000..f560cc9bd2f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/FileWatchdog.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.FileWatchdog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.FileWatchdog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useFileWatchdog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileWatchdog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.FileWatchdog</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.FileWatchdog +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useFileWatchdog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileWatchdog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/FormattingInfo.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/FormattingInfo.html new file mode 100644 index 00000000000..05b840d6d73 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/FormattingInfo.html @@ -0,0 +1,195 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.FormattingInfo (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.FormattingInfo (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useFormattingInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.FormattingInfo</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> declared as <A HREF="../../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A></CODE></FONT></TD> +<TD><CODE><B>PatternParser.</B><B><A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html#formattingInfo">formattingInfo</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> with parameters of type <A HREF="../../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html#PatternConverter(org.apache.log4j.helpers.FormattingInfo)">PatternConverter</A></B>(<A HREF="../../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A>&nbsp;fi)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useFormattingInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/ISO8601DateFormat.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/ISO8601DateFormat.html new file mode 100644 index 00000000000..8cb9ead6550 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/ISO8601DateFormat.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.ISO8601DateFormat (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.ISO8601DateFormat (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useISO8601DateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ISO8601DateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.ISO8601DateFormat</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.ISO8601DateFormat +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useISO8601DateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ISO8601DateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/Loader.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/Loader.html new file mode 100644 index 00000000000..550b663d62c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/Loader.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.Loader (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.Loader (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useLoader.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Loader.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.Loader</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.Loader +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useLoader.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Loader.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/LogLog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/LogLog.html new file mode 100644 index 00000000000..e04cb67ac7a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/LogLog.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.LogLog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.LogLog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useLogLog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.LogLog</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.LogLog +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useLogLog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html index 29926007fbb..e485d0a0451 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.helpers.MDCKeySetExtractor (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.helpers.MDCKeySetExtractor (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.helpers.MDCKeySetExtractor (Apache Extras Compani function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.helpers.MDCKeySetExtractor (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.helpers.MDCKeySetExtractor (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -92,7 +92,7 @@ Packages that use <A HREF="../../../../../org/apache/log4j/helpers/MDCKeySetExtr </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> -<TD>&nbsp;&nbsp;</TD> +<TD>This package is used internally.&nbsp;</TD> </TR> </TABLE> &nbsp; @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/NullEnumeration.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/NullEnumeration.html new file mode 100644 index 00000000000..75855743efe --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/NullEnumeration.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.NullEnumeration (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.NullEnumeration (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useNullEnumeration.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NullEnumeration.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.NullEnumeration</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> that return <A HREF="../../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A></CODE></FONT></TD> +<TD><CODE><B>NullEnumeration.</B><B><A HREF="../../../../../org/apache/log4j/helpers/NullEnumeration.html#getInstance()">getInstance</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useNullEnumeration.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NullEnumeration.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/OnlyOnceErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/OnlyOnceErrorHandler.html new file mode 100644 index 00000000000..e599bf110fa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/OnlyOnceErrorHandler.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.OnlyOnceErrorHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.OnlyOnceErrorHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useOnlyOnceErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OnlyOnceErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.OnlyOnceErrorHandler</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.OnlyOnceErrorHandler +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useOnlyOnceErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OnlyOnceErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/OptionConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/OptionConverter.html new file mode 100644 index 00000000000..8910475ec04 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/OptionConverter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.OptionConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.OptionConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useOptionConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OptionConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.OptionConverter</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.OptionConverter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useOptionConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OptionConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/PatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/PatternConverter.html new file mode 100644 index 00000000000..74c55396ca3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/PatternConverter.html @@ -0,0 +1,259 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.PatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.PatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-usePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.PatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> declared as <A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>PatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html#next">next</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> that return <A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>PatternParser.</B><B><A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html#parse()">parse</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> with parameters of type <A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PatternParser.</B><B><A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html#addConverter(org.apache.log4j.helpers.PatternConverter)">addConverter</A></B>(<A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A>&nbsp;pc)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern">BridgePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter + contract by delegating to the log4j 1.3 pattern implementation.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>BridgePatternParser.</B><B><A HREF="../../../../../org/apache/log4j/pattern/BridgePatternParser.html#parse()">parse</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-usePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/PatternParser.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/PatternParser.html new file mode 100644 index 00000000000..dbd776e9647 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/PatternParser.html @@ -0,0 +1,219 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.PatternParser (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.PatternParser (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-usePatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.PatternParser</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></CODE></FONT></TD> +<TD><CODE><B>PatternLayout.</B><B><A HREF="../../../../../org/apache/log4j/PatternLayout.html#createPatternParser(java.lang.String)">createPatternParser</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns PatternParser used to parse the conversion string.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></CODE></FONT></TD> +<TD><CODE><B>EnhancedPatternLayout.</B><B><A HREF="../../../../../org/apache/log4j/EnhancedPatternLayout.html#createPatternParser(java.lang.String)">createPatternParser</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns PatternParser used to parse the conversion string.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern">BridgePatternParser</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter + contract by delegating to the log4j 1.3 pattern implementation.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-usePatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/QuietWriter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/QuietWriter.html new file mode 100644 index 00000000000..367cf28667e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/QuietWriter.html @@ -0,0 +1,220 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.QuietWriter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.QuietWriter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useQuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="QuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.QuietWriter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> declared as <A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></CODE></FONT></TD> +<TD><CODE><B>WriterAppender.</B><B><A HREF="../../../../../org/apache/log4j/WriterAppender.html#qw">qw</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the <A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><CODE>quietWriter</CODE></A> where we will write + to.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers">CountingQuietWriter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Counts the number of bytes written.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers">SyslogQuietWriter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SyslogQuietWriter extends QuietWriter by prepending the syslog + level code before each printed String.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useQuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="QuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/RelativeTimeDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/RelativeTimeDateFormat.html new file mode 100644 index 00000000000..85d212cf2be --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/RelativeTimeDateFormat.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.RelativeTimeDateFormat (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.RelativeTimeDateFormat (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useRelativeTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.RelativeTimeDateFormat</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.RelativeTimeDateFormat +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useRelativeTimeDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimeDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/SyslogQuietWriter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/SyslogQuietWriter.html new file mode 100644 index 00000000000..f428b1fa3e7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/SyslogQuietWriter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.SyslogQuietWriter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.SyslogQuietWriter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useSyslogQuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogQuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.SyslogQuietWriter</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.SyslogQuietWriter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useSyslogQuietWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogQuietWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/SyslogWriter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/SyslogWriter.html new file mode 100644 index 00000000000..3587ca425db --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/SyslogWriter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.SyslogWriter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.SyslogWriter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useSyslogWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.SyslogWriter</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.SyslogWriter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useSyslogWriter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogWriter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/ThreadLocalMap.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/ThreadLocalMap.html new file mode 100644 index 00000000000..2a5cf079216 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/ThreadLocalMap.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.ThreadLocalMap (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.ThreadLocalMap (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useThreadLocalMap.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadLocalMap.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.ThreadLocalMap</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.ThreadLocalMap +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useThreadLocalMap.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadLocalMap.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/Transform.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/Transform.html new file mode 100644 index 00000000000..76f5f3e7c08 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/class-use/Transform.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.Transform (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.Transform (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useTransform.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Transform.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.Transform</B></H2> +</CENTER> +No usage of org.apache.log4j.helpers.Transform +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useTransform.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Transform.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-frame.html new file mode 100644 index 00000000000..b0da1018fa7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-frame.html @@ -0,0 +1,79 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.helpers (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/helpers/package-summary.html" target="classFrame">org.apache.log4j.helpers</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers" target="classFrame">AbsoluteTimeDateFormat</A> +<BR> +<A HREF="AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers" target="classFrame">AppenderAttachableImpl</A> +<BR> +<A HREF="BoundedFIFO.html" title="class in org.apache.log4j.helpers" target="classFrame">BoundedFIFO</A> +<BR> +<A HREF="CountingQuietWriter.html" title="class in org.apache.log4j.helpers" target="classFrame">CountingQuietWriter</A> +<BR> +<A HREF="CyclicBuffer.html" title="class in org.apache.log4j.helpers" target="classFrame">CyclicBuffer</A> +<BR> +<A HREF="DateLayout.html" title="class in org.apache.log4j.helpers" target="classFrame">DateLayout</A> +<BR> +<A HREF="DateTimeDateFormat.html" title="class in org.apache.log4j.helpers" target="classFrame">DateTimeDateFormat</A> +<BR> +<A HREF="FileWatchdog.html" title="class in org.apache.log4j.helpers" target="classFrame">FileWatchdog</A> +<BR> +<A HREF="FormattingInfo.html" title="class in org.apache.log4j.helpers" target="classFrame">FormattingInfo</A> +<BR> +<A HREF="ISO8601DateFormat.html" title="class in org.apache.log4j.helpers" target="classFrame">ISO8601DateFormat</A> +<BR> +<A HREF="Loader.html" title="class in org.apache.log4j.helpers" target="classFrame">Loader</A> +<BR> +<A HREF="LogLog.html" title="class in org.apache.log4j.helpers" target="classFrame">LogLog</A> +<BR> +<A HREF="MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers" target="classFrame">MDCKeySetExtractor</A> +<BR> +<A HREF="NullEnumeration.html" title="class in org.apache.log4j.helpers" target="classFrame">NullEnumeration</A> +<BR> +<A HREF="OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers" target="classFrame">OnlyOnceErrorHandler</A> +<BR> +<A HREF="OptionConverter.html" title="class in org.apache.log4j.helpers" target="classFrame">OptionConverter</A> +<BR> +<A HREF="PatternConverter.html" title="class in org.apache.log4j.helpers" target="classFrame">PatternConverter</A> +<BR> +<A HREF="PatternParser.html" title="class in org.apache.log4j.helpers" target="classFrame">PatternParser</A> +<BR> +<A HREF="QuietWriter.html" title="class in org.apache.log4j.helpers" target="classFrame">QuietWriter</A> +<BR> +<A HREF="RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers" target="classFrame">RelativeTimeDateFormat</A> +<BR> +<A HREF="SyslogQuietWriter.html" title="class in org.apache.log4j.helpers" target="classFrame">SyslogQuietWriter</A> +<BR> +<A HREF="SyslogWriter.html" title="class in org.apache.log4j.helpers" target="classFrame">SyslogWriter</A> +<BR> +<A HREF="ThreadLocalMap.html" title="class in org.apache.log4j.helpers" target="classFrame">ThreadLocalMap</A> +<BR> +<A HREF="Transform.html" title="class in org.apache.log4j.helpers" target="classFrame">Transform</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-summary.html new file mode 100644 index 00000000000..8158160f887 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-summary.html @@ -0,0 +1,289 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.helpers (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.helpers (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jdbc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.helpers +</H2> +This package is used internally. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A></B></TD> +<TD>Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "HH:mm:ss,SSS" for example, + "15:49:37,459".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A></B></TD> +<TD>A straightforward implementation of the <A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><CODE>AppenderAttachable</CODE></A> + interface.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers">BoundedFIFO</A></B></TD> +<TD><code>BoundedFIFO</code> serves as the bounded first-in-first-out + buffer heavily used by the <A HREF="../../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><CODE>AsyncAppender</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers">CountingQuietWriter</A></B></TD> +<TD>Counts the number of bytes written.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A></B></TD> +<TD>CyclicBuffer is used by other appenders to hold <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A> for immediate or differed display.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A></B></TD> +<TD>This abstract layout takes care of all the date related options and + formatting work.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers">DateTimeDateFormat</A></B></TD> +<TD>Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "dd MMM yyyy HH:mm:ss,SSS" for example, + "06 Nov 1994 15:49:37,459".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers">FileWatchdog</A></B></TD> +<TD>Check every now and then that a certain file has not changed.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers">FormattingInfo</A></B></TD> +<TD>FormattingInfo instances contain the information obtained when parsing + formatting modifiers in conversion modifiers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers">ISO8601DateFormat</A></B></TD> +<TD>Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "yyyy-MM-dd HH:mm:ss,SSS" for example + "1999-11-27 15:49:37,459".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers">Loader</A></B></TD> +<TD>Load resources (or images) from various sources.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers">LogLog</A></B></TD> +<TD>This class used to output log statements from within the log4j package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers">NullEnumeration</A></B></TD> +<TD>An always-empty Enumerator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A></B></TD> +<TD>The <code>OnlyOnceErrorHandler</code> implements log4j's default + error handling policy which consists of emitting a message for the + first error in an appender and ignoring all following errors.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers">OptionConverter</A></B></TD> +<TD>A convenience class to convert property values to specific types.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></B></TD> +<TD>PatternConverter is an abtract class that provides the + formatting functionality that derived classes need.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></B></TD> +<TD>Most of the work of the <A HREF="../../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> class + is delegated to the PatternParser class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers">QuietWriter</A></B></TD> +<TD>QuietWriter does not throw exceptions when things go + wrong.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers">RelativeTimeDateFormat</A></B></TD> +<TD>Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> by printing the number of milliseconds + elapsed since construction of the format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers">SyslogQuietWriter</A></B></TD> +<TD>SyslogQuietWriter extends QuietWriter by prepending the syslog + level code before each printed String.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers">SyslogWriter</A></B></TD> +<TD>SyslogWriter is a wrapper around the java.net.DatagramSocket class + so that it behaves like a java.io.Writer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers">ThreadLocalMap</A></B></TD> +<TD><code>ThreadLocalMap</code> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/InheritableThreadLocal.html?is-external=true" title="class or interface in java.lang"><CODE>InheritableThreadLocal</CODE></A> + to bequeath a copy of the hashtable of the MDC of the parent + thread.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers">Transform</A></B></TD> +<TD>Utility class for transforming strings.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.helpers Description +</H2> + +<P> +<p>This package is used internally. + + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Sat Jul 3 15:12:58 MDT 1999 +<!-- hhmts end --> +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jdbc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-tree.html new file mode 100644 index 00000000000..6a5bdc492a2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-tree.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.helpers Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.helpers Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jdbc/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.helpers +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers"><B>AppenderAttachableImpl</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A>) +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers"><B>BoundedFIFO</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers"><B>CyclicBuffer</B></A><LI TYPE="circle">java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text"><B>Format</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text"><B>DateFormat</B></A><UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>AbsoluteTimeDateFormat</B></A><UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>DateTimeDateFormat</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><B>ISO8601DateFormat</B></A></UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>RelativeTimeDateFormat</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers"><B>FormattingInfo</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><B>Layout</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers"><B>DateLayout</B></A></UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers"><B>Loader</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers"><B>LogLog</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><B>MDCKeySetExtractor</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><B>NullEnumeration</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A>&lt;E&gt;) +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers"><B>OnlyOnceErrorHandler</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>) +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers"><B>OptionConverter</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers"><B>PatternConverter</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers"><B>PatternParser</B></A><LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang"><B>Thread</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers"><B>FileWatchdog</B></A></UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang"><B>ThreadLocal</B></A>&lt;T&gt;<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/InheritableThreadLocal.html?is-external=true" title="class or interface in java.lang"><B>InheritableThreadLocal</B></A>&lt;T&gt;<UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers"><B>ThreadLocalMap</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers"><B>Transform</B></A><LI TYPE="circle">java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><B>Writer</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</A>) +<UL> +<LI TYPE="circle">java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io"><B>FilterWriter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><B>QuietWriter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers"><B>CountingQuietWriter</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers"><B>SyslogQuietWriter</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers"><B>SyslogWriter</B></A></UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/config/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jdbc/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-use.html new file mode 100644 index 00000000000..2dae6c86551 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/helpers/package-use.html @@ -0,0 +1,285 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.helpers (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.helpers (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.helpers</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> used by <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/DateLayout.html#org.apache.log4j"><B>DateLayout</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This abstract layout takes care of all the date related options and + formatting work.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/PatternParser.html#org.apache.log4j"><B>PatternParser</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Most of the work of the <A HREF="../../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> class + is delegated to the PatternParser class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/QuietWriter.html#org.apache.log4j"><B>QuietWriter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QuietWriter does not throw exceptions when things go + wrong.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> used by <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/AbsoluteTimeDateFormat.html#org.apache.log4j.helpers"><B>AbsoluteTimeDateFormat</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A> in the format "HH:mm:ss,SSS" for example, + "15:49:37,459".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/FormattingInfo.html#org.apache.log4j.helpers"><B>FormattingInfo</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FormattingInfo instances contain the information obtained when parsing + formatting modifiers in conversion modifiers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html#org.apache.log4j.helpers"><B>MDCKeySetExtractor</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/NullEnumeration.html#org.apache.log4j.helpers"><B>NullEnumeration</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An always-empty Enumerator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/PatternConverter.html#org.apache.log4j.helpers"><B>PatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PatternConverter is an abtract class that provides the + formatting functionality that derived classes need.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/QuietWriter.html#org.apache.log4j.helpers"><B>QuietWriter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QuietWriter does not throw exceptions when things go + wrong.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> used by <A HREF="../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/CyclicBuffer.html#org.apache.log4j.net"><B>CyclicBuffer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CyclicBuffer is used by other appenders to hold <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvents</CODE></A> for immediate or differed display.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> used by <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/PatternConverter.html#org.apache.log4j.pattern"><B>PatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PatternConverter is an abtract class that provides the + formatting functionality that derived classes need.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/helpers/class-use/PatternParser.html#org.apache.log4j.pattern"><B>PatternParser</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Most of the work of the <A HREF="../../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><CODE>PatternLayout</CODE></A> class + is delegated to the PatternParser class.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/helpers/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/JDBCAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/JDBCAppender.html new file mode 100644 index 00000000000..f132b4fb03a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/JDBCAppender.html @@ -0,0 +1,1063 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +JDBCAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="JDBCAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JDBCAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jdbc/JDBCAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JDBCAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.jdbc</FONT> +<BR> +Class JDBCAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.jdbc.JDBCAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>JDBCAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A><DT>implements <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></DL> +</PRE> + +<P> +The JDBCAppender provides for sending log events to a database. + + <p><b><font color="#FF2222">WARNING: This version of JDBCAppender + is very likely to be completely replaced in the future. Moreoever, + it does not log exceptions</font></b>. + + <p>Each append call adds to an <code>ArrayList</code> buffer. When + the buffer is filled each log event is placed in a sql statement + (configurable) and executed. + + <b>BufferSize</b>, <b>db URL</b>, <b>User</b>, & <b>Password</b> are + configurable options in the standard log4j ways. + + <p>The <code>setSql(String sql)</code> sets the SQL statement to be + used for logging -- this statement is sent to a + <code>PatternLayout</code> (either created automaticly by the + appender or added by the user). Therefore by default all the + conversion patterns in <code>PatternLayout</code> can be used + inside of the statement. (see the test cases for examples) + + <p>Overriding the <A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#getLogStatement(org.apache.log4j.spi.LoggingEvent)"><CODE>getLogStatement(org.apache.log4j.spi.LoggingEvent)</CODE></A> method allows more + explicit control of the statement used for logging. + + <p>For use as a base class: + + <ul> + + <li>Override <code>getConnection()</code> to pass any connection + you want. Typically this is used to enable application wide + connection pooling. + + <li>Override <code>closeConnection(Connection con)</code> -- if + you override getConnection make sure to implement + <code>closeConnection</code> to handle the connection you + generated. Typically this would return the connection to the + pool it came from. + + <li>Override <code>getLogStatement(LoggingEvent event)</code> to + produce specialized or dynamic statements. The default uses the + sql option value. + + </ul> +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Kevin Steppe (<A HREF="mailto:ksteppe@pacbell.net">ksteppe@pacbell.net</A>)</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#buffer">buffer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList holding the buffer of Logging Events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#bufferSize">bufferSize</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size of LoggingEvent buffer before writting to the database.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#connection">connection</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connection used by default.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#databasePassword">databasePassword</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User to use for default connection handling</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#databaseURL">databaseURL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;URL of the DB for default connection handling</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#databaseUser">databaseUser</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User to connect as for default connection handling</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#removes">removes</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Helper object for clearing out the buffer</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#sqlStatement">sqlStatement</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stores the string given to the pattern layout for conversion into a SQL + statement, eg: insert into LogTable (Thread, Class, Message) values + ("%t", "%c", "%m").</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#JDBCAppender()">JDBCAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the event to the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes the appender, flushing the buffer first then closing the default + connection if it is open.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#closeConnection(java.sql.Connection)">closeConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;con)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Override this to return the connection to a pool, or to clean up the + resource.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#execute(java.lang.String)">execute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sql)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Override this to provide an alertnate method of getting + connections (such as caching).</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#finalize()">finalize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;closes the appender before disposal</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#flushBuffer()">flushBuffer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loops through the buffer of LoggingEvents, gets a + sql string from getLogStatement() and sends it to execute().</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#getBufferSize()">getBufferSize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#getConnection()">getConnection</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Override this to link with your connection pooling system.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#getLocationInfo()">getLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether the location of the logging request call + should be captured.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#getLogStatement(org.apache.log4j.spi.LoggingEvent)">getLogStatement</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;By default getLogStatement sends the event to the required Layout object.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#getPassword()">getPassword</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#getSql()">getSql</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns pre-formated statement eg: insert into LogTable (msg) values ("%m")</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#getURL()">getURL</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#getUser()">getUser</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JDBCAppender requires a layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#setBufferSize(int)">setBufferSize</A></B>(int&nbsp;newBufferSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#setDriver(java.lang.String)">setDriver</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;driverClass)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ensures that the given driver class has been loaded for sql connection + creation.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#setLocationInfo(boolean)">setLocationInfo</A></B>(boolean&nbsp;flag)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>LocationInfo</b> option takes a boolean value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#setPassword(java.lang.String)">setPassword</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;password)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#setSql(java.lang.String)">setSql</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#setURL(java.lang.String)">setURL</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;url)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html#setUser(java.lang.String)">setUser</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;user)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Appender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from interface org.apache.log4j.<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Appender.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/Appender.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/Appender.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/Appender.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/Appender.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/Appender.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/Appender.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/Appender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/Appender.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/Appender.html#setName(java.lang.String)">setName</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="databaseURL"><!-- --></A><H3> +databaseURL</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>databaseURL</B></PRE> +<DL> +<DD>URL of the DB for default connection handling +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="databaseUser"><!-- --></A><H3> +databaseUser</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>databaseUser</B></PRE> +<DL> +<DD>User to connect as for default connection handling +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="databasePassword"><!-- --></A><H3> +databasePassword</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>databasePassword</B></PRE> +<DL> +<DD>User to use for default connection handling +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="connection"><!-- --></A><H3> +connection</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> <B>connection</B></PRE> +<DL> +<DD>Connection used by default. The connection is opened the first time it + is needed and then held open until the appender is closed (usually at + garbage collection). This behavior is best modified by creating a + sub-class and overriding the <code>getConnection</code> and + <code>closeConnection</code> methods. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="sqlStatement"><!-- --></A><H3> +sqlStatement</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>sqlStatement</B></PRE> +<DL> +<DD>Stores the string given to the pattern layout for conversion into a SQL + statement, eg: insert into LogTable (Thread, Class, Message) values + ("%t", "%c", "%m"). + + Be careful of quotes in your messages! + + Also see PatternLayout. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="bufferSize"><!-- --></A><H3> +bufferSize</H3> +<PRE> +protected int <B>bufferSize</B></PRE> +<DL> +<DD>size of LoggingEvent buffer before writting to the database. + Default is 1. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="buffer"><!-- --></A><H3> +buffer</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A> <B>buffer</B></PRE> +<DL> +<DD>ArrayList holding the buffer of Logging Events. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="removes"><!-- --></A><H3> +removes</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A> <B>removes</B></PRE> +<DL> +<DD>Helper object for clearing out the buffer +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="JDBCAppender()"><!-- --></A><H3> +JDBCAppender</H3> +<PRE> +public <B>JDBCAppender</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getLocationInfo()"><!-- --></A><H3> +getLocationInfo</H3> +<PRE> +public boolean <B>getLocationInfo</B>()</PRE> +<DL> +<DD>Gets whether the location of the logging request call + should be captured. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>the current value of the <b>LocationInfo</b> option.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLocationInfo(boolean)"><!-- --></A><H3> +setLocationInfo</H3> +<PRE> +public void <B>setLocationInfo</B>(boolean&nbsp;flag)</PRE> +<DL> +<DD>The <b>LocationInfo</b> option takes a boolean value. By default, it is + set to false which means there will be no effort to extract the location + information related to the event. As a result, the event that will be + ultimately logged will likely to contain the wrong location information + (if present in the log format). + <p/> + <p/> + Location information extraction is comparatively very slow and should be + avoided unless performance is not a concern. + </p> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>flag</CODE> - true if location information should be extracted.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Adds the event to the buffer. When full the buffer is flushed. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogStatement(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +getLogStatement</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLogStatement</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>By default getLogStatement sends the event to the required Layout object. + The layout will format the given pattern into a workable SQL string. + + Overriding this provides direct access to the LoggingEvent + when constructing the logging statement. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="execute(java.lang.String)"><!-- --></A><H3> +execute</H3> +<PRE> +protected void <B>execute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sql) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE> +<DL> +<DD>Override this to provide an alertnate method of getting + connections (such as caching). One method to fix this is to open + connections at the start of flushBuffer() and close them at the + end. I use a connection pool outside of JDBCAppender which is + accessed in an override of this method. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="closeConnection(java.sql.Connection)"><!-- --></A><H3> +closeConnection</H3> +<PRE> +protected void <B>closeConnection</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;con)</PRE> +<DL> +<DD>Override this to return the connection to a pool, or to clean up the + resource. + + The default behavior holds a single connection open until the appender + is closed (typically when garbage collected). +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getConnection()"><!-- --></A><H3> +getConnection</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> <B>getConnection</B>() + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE> +<DL> +<DD>Override this to link with your connection pooling system. + + By default this creates a single connection which is held open + until the object is garbage collected. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD>Closes the appender, flushing the buffer first then closing the default + connection if it is open. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Appender.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="flushBuffer()"><!-- --></A><H3> +flushBuffer</H3> +<PRE> +public void <B>flushBuffer</B>()</PRE> +<DL> +<DD>loops through the buffer of LoggingEvents, gets a + sql string from getLogStatement() and sends it to execute(). + Errors are sent to the errorHandler. + + If a statement fails the LoggingEvent stays in the buffer! +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="finalize()"><!-- --></A><H3> +finalize</H3> +<PRE> +public void <B>finalize</B>()</PRE> +<DL> +<DD>closes the appender before disposal +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>JDBCAppender requires a layout. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Appender.html#requiresLayout()">requiresLayout</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSql(java.lang.String)"><!-- --></A><H3> +setSql</H3> +<PRE> +public void <B>setSql</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSql()"><!-- --></A><H3> +getSql</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSql</B>()</PRE> +<DL> +<DD>Returns pre-formated statement eg: insert into LogTable (msg) values ("%m") +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setUser(java.lang.String)"><!-- --></A><H3> +setUser</H3> +<PRE> +public void <B>setUser</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;user)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setURL(java.lang.String)"><!-- --></A><H3> +setURL</H3> +<PRE> +public void <B>setURL</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;url)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setPassword(java.lang.String)"><!-- --></A><H3> +setPassword</H3> +<PRE> +public void <B>setPassword</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;password)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setBufferSize(int)"><!-- --></A><H3> +setBufferSize</H3> +<PRE> +public void <B>setBufferSize</B>(int&nbsp;newBufferSize)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getUser()"><!-- --></A><H3> +getUser</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUser</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getURL()"><!-- --></A><H3> +getURL</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getURL</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPassword()"><!-- --></A><H3> +getPassword</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getPassword</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getBufferSize()"><!-- --></A><H3> +getBufferSize</H3> +<PRE> +public int <B>getBufferSize</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setDriver(java.lang.String)"><!-- --></A><H3> +setDriver</H3> +<PRE> +public void <B>setDriver</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;driverClass)</PRE> +<DL> +<DD>Ensures that the given driver class has been loaded for sql connection + creation. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JDBCAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jdbc/JDBCAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JDBCAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/class-use/JDBCAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/class-use/JDBCAppender.html new file mode 100644 index 00000000000..4506ce0341f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/class-use/JDBCAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.jdbc.JDBCAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.jdbc.JDBCAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jdbc//class-useJDBCAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JDBCAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.jdbc.JDBCAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.jdbc.JDBCAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jdbc//class-useJDBCAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JDBCAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-frame.html new file mode 100644 index 00000000000..a12a33320d2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-frame.html @@ -0,0 +1,33 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.jdbc (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/jdbc/package-summary.html" target="classFrame">org.apache.log4j.jdbc</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="JDBCAppender.html" title="class in org.apache.log4j.jdbc" target="classFrame">JDBCAppender</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-summary.html new file mode 100644 index 00000000000..3d455487a2b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-summary.html @@ -0,0 +1,173 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.jdbc (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.jdbc (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jdbc/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.jdbc +</H2> +The JDBCAppender provides for sending log events to a database. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A></B></TD> +<TD>The JDBCAppender provides for sending log events to a database.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.jdbc Description +</H2> + +<P> +The JDBCAppender provides for sending log events to a database. +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jdbc/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-tree.html new file mode 100644 index 00000000000..7d4a60545cc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-tree.html @@ -0,0 +1,158 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.jdbc Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.jdbc Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jdbc/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.jdbc +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>AppenderSkeleton</B></A> (implements org.apache.log4j.<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.jdbc.<A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc"><B>JDBCAppender</B></A> (implements org.apache.log4j.<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>) +</UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/helpers/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jdbc/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-use.html new file mode 100644 index 00000000000..0b3ad997bf7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jdbc/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.jdbc (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.jdbc (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jdbc/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.jdbc</B></H2> +</CENTER> +No usage of org.apache.log4j.jdbc +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jdbc/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/AbstractDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/AbstractDynamicMBean.html new file mode 100644 index 00000000000..f924c72ca67 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/AbstractDynamicMBean.html @@ -0,0 +1,476 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AbstractDynamicMBean (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AbstractDynamicMBean (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractDynamicMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/AbstractDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbstractDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.jmx</FONT> +<BR> +Class AbstractDynamicMBean</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.jmx.AbstractDynamicMBean</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>javax.management.DynamicMBean, javax.management.MBeanRegistration</DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A>, <A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A>, <A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx">LayoutDynamicMBean</A>, <A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>AbstractDynamicMBean</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements javax.management.DynamicMBean, javax.management.MBeanRegistration</DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#AbstractDynamicMBean()">AbstractDynamicMBean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAppenderName(org.apache.log4j.Appender)">getAppenderName</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get MBean name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;javax.management.AttributeList</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAttributes(java.lang.String[])">getAttributes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;attributeNames)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enables the to get the values of several attributes of the Dynamic MBean.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected abstract &nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#postDeregister()">postDeregister</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#postRegister(java.lang.Boolean)">postRegister</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</A>&nbsp;registrationDone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#preDeregister()">preDeregister</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs cleanup for deregistering this MBean.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;javax.management.ObjectName</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#preRegister(javax.management.MBeanServer, javax.management.ObjectName)">preRegister</A></B>(javax.management.MBeanServer&nbsp;server, + javax.management.ObjectName&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#registerMBean(java.lang.Object, javax.management.ObjectName)">registerMBean</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;mbean, + javax.management.ObjectName&nbsp;objectName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registers MBean instance in the attached server.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;javax.management.AttributeList</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#setAttributes(javax.management.AttributeList)">setAttributes</A></B>(javax.management.AttributeList&nbsp;attributes)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the values of several attributes of the Dynamic MBean, and returns the + list of attributes that have been set.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.management.DynamicMBean"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from interface javax.management.DynamicMBean</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>getAttribute, getMBeanInfo, invoke, setAttribute</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AbstractDynamicMBean()"><!-- --></A><H3> +AbstractDynamicMBean</H3> +<PRE> +public <B>AbstractDynamicMBean</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getAppenderName(org.apache.log4j.Appender)"><!-- --></A><H3> +getAppenderName</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getAppenderName</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Get MBean name. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>appender</CODE> - appender, may not be null. +<DT><B>Returns:</B><DD>name.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAttributes(java.lang.String[])"><!-- --></A><H3> +getAttributes</H3> +<PRE> +public javax.management.AttributeList <B>getAttributes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;attributeNames)</PRE> +<DL> +<DD>Enables the to get the values of several attributes of the Dynamic MBean. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>getAttributes</CODE> in interface <CODE>javax.management.DynamicMBean</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAttributes(javax.management.AttributeList)"><!-- --></A><H3> +setAttributes</H3> +<PRE> +public javax.management.AttributeList <B>setAttributes</B>(javax.management.AttributeList&nbsp;attributes)</PRE> +<DL> +<DD>Sets the values of several attributes of the Dynamic MBean, and returns the + list of attributes that have been set. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>setAttributes</CODE> in interface <CODE>javax.management.DynamicMBean</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger()"><!-- --></A><H3> +getLogger</H3> +<PRE> +protected abstract <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="postDeregister()"><!-- --></A><H3> +postDeregister</H3> +<PRE> +public void <B>postDeregister</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>postDeregister</CODE> in interface <CODE>javax.management.MBeanRegistration</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="postRegister(java.lang.Boolean)"><!-- --></A><H3> +postRegister</H3> +<PRE> +public void <B>postRegister</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</A>&nbsp;registrationDone)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>postRegister</CODE> in interface <CODE>javax.management.MBeanRegistration</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="preRegister(javax.management.MBeanServer, javax.management.ObjectName)"><!-- --></A><H3> +preRegister</H3> +<PRE> +public javax.management.ObjectName <B>preRegister</B>(javax.management.MBeanServer&nbsp;server, + javax.management.ObjectName&nbsp;name)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>preRegister</CODE> in interface <CODE>javax.management.MBeanRegistration</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="registerMBean(java.lang.Object, javax.management.ObjectName)"><!-- --></A><H3> +registerMBean</H3> +<PRE> +protected void <B>registerMBean</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;mbean, + javax.management.ObjectName&nbsp;objectName) + throws javax.management.InstanceAlreadyExistsException, + javax.management.MBeanRegistrationException, + javax.management.NotCompliantMBeanException</PRE> +<DL> +<DD>Registers MBean instance in the attached server. Must <em>NOT</em> + be called before registration of this instance. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.InstanceAlreadyExistsException</CODE> +<DD><CODE>javax.management.MBeanRegistrationException</CODE> +<DD><CODE>javax.management.NotCompliantMBeanException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="preDeregister()"><!-- --></A><H3> +preDeregister</H3> +<PRE> +public void <B>preDeregister</B>()</PRE> +<DL> +<DD>Performs cleanup for deregistering this MBean. Default implementation + unregisters MBean instances which are registered using + <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#registerMBean(java.lang.Object, javax.management.ObjectName)"><CODE>registerMBean(Object mbean, ObjectName objectName)</CODE></A>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>preDeregister</CODE> in interface <CODE>javax.management.MBeanRegistration</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractDynamicMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/AbstractDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbstractDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/Agent.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/Agent.html new file mode 100644 index 00000000000..662690be20d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/Agent.html @@ -0,0 +1,271 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Agent (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Agent (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Agent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/Agent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Agent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.jmx</FONT> +<BR> +Class Agent</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.jmx.Agent</B> +</PRE> +<HR> +<B>Deprecated.</B> +<P> +<DL> +<DT><PRE>public class <B>Agent</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Manages an instance of com.sun.jdmk.comm.HtmlAdapterServer which + was provided for demonstration purposes in the + Java Management Extensions Reference Implementation 1.2.1. + This class is provided to maintain compatibility with earlier + versions of log4j and use in new code is discouraged. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/Agent.html#Agent()">Agent</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I></I>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/Agent.html#start()">start</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I></I>&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Agent()"><!-- --></A><H3> +Agent</H3> +<PRE> +public <B>Agent</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I></I> +<P> +<DD>Create new instance. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="start()"><!-- --></A><H3> +start</H3> +<PRE> +public void <B>start</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I></I> +<P> +<DD>Starts instance of HtmlAdapterServer. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Agent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/Agent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Agent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/AppenderDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/AppenderDynamicMBean.html new file mode 100644 index 00000000000..8fa037da559 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/AppenderDynamicMBean.html @@ -0,0 +1,399 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AppenderDynamicMBean (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AppenderDynamicMBean (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AppenderDynamicMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/AppenderDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.jmx</FONT> +<BR> +Class AppenderDynamicMBean</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">org.apache.log4j.jmx.AbstractDynamicMBean</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.jmx.AppenderDynamicMBean</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>javax.management.DynamicMBean, javax.management.MBeanRegistration</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>AppenderDynamicMBean</B><DT>extends <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html#AppenderDynamicMBean(org.apache.log4j.Appender)">AppenderDynamicMBean</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html#getAttribute(java.lang.String)">getAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;attributeName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;javax.management.MBeanInfo</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html#getMBeanInfo()">getMBeanInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html#invoke(java.lang.String, java.lang.Object[], java.lang.String[])">invoke</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;operationName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;signature)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;javax.management.ObjectName</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html#preRegister(javax.management.MBeanServer, javax.management.ObjectName)">preRegister</A></B>(javax.management.MBeanServer&nbsp;server, + javax.management.ObjectName&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html#setAttribute(javax.management.Attribute)">setAttribute</A></B>(javax.management.Attribute&nbsp;attribute)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.jmx.AbstractDynamicMBean"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.jmx.<A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAppenderName(org.apache.log4j.Appender)">getAppenderName</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAttributes(java.lang.String[])">getAttributes</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#postDeregister()">postDeregister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#postRegister(java.lang.Boolean)">postRegister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#preDeregister()">preDeregister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#registerMBean(java.lang.Object, javax.management.ObjectName)">registerMBean</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#setAttributes(javax.management.AttributeList)">setAttributes</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AppenderDynamicMBean(org.apache.log4j.Appender)"><!-- --></A><H3> +AppenderDynamicMBean</H3> +<PRE> +public <B>AppenderDynamicMBean</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/IntrospectionException.html?is-external=true" title="class or interface in java.beans">IntrospectionException</A></PRE> +<DL> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/IntrospectionException.html?is-external=true" title="class or interface in java.beans">IntrospectionException</A></CODE></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getMBeanInfo()"><!-- --></A><H3> +getMBeanInfo</H3> +<PRE> +public javax.management.MBeanInfo <B>getMBeanInfo</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="invoke(java.lang.String, java.lang.Object[], java.lang.String[])"><!-- --></A><H3> +invoke</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>invoke</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;operationName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;signature) + throws javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger()"><!-- --></A><H3> +getLogger</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getLogger()">getLogger</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3> +getAttribute</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;attributeName) + throws javax.management.AttributeNotFoundException, + javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.AttributeNotFoundException</CODE> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="setAttribute(javax.management.Attribute)"><!-- --></A><H3> +setAttribute</H3> +<PRE> +public void <B>setAttribute</B>(javax.management.Attribute&nbsp;attribute) + throws javax.management.AttributeNotFoundException, + javax.management.InvalidAttributeValueException, + javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.AttributeNotFoundException</CODE> +<DD><CODE>javax.management.InvalidAttributeValueException</CODE> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="preRegister(javax.management.MBeanServer, javax.management.ObjectName)"><!-- --></A><H3> +preRegister</H3> +<PRE> +public javax.management.ObjectName <B>preRegister</B>(javax.management.MBeanServer&nbsp;server, + javax.management.ObjectName&nbsp;name)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>preRegister</CODE> in interface <CODE>javax.management.MBeanRegistration</CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#preRegister(javax.management.MBeanServer, javax.management.ObjectName)">preRegister</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AppenderDynamicMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/AppenderDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/HierarchyDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/HierarchyDynamicMBean.html new file mode 100644 index 00000000000..bcf1707b6c8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/HierarchyDynamicMBean.html @@ -0,0 +1,547 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +HierarchyDynamicMBean (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="HierarchyDynamicMBean (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/HierarchyDynamicMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/HierarchyDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HierarchyDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.jmx</FONT> +<BR> +Class HierarchyDynamicMBean</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">org.apache.log4j.jmx.AbstractDynamicMBean</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.jmx.HierarchyDynamicMBean</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>javax.management.DynamicMBean, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, <A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>HierarchyDynamicMBean</B><DT>extends <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A><DT>implements <A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>, javax.management.NotificationBroadcaster</DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#HierarchyDynamicMBean()">HierarchyDynamicMBean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">addAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;javax.management.ObjectName</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#addLoggerMBean(java.lang.String)">addLoggerMBean</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)">addNotificationListener</A></B>(javax.management.NotificationListener&nbsp;listener, + javax.management.NotificationFilter&nbsp;filter, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;handback)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#getAttribute(java.lang.String)">getAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;attributeName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;javax.management.MBeanInfo</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#getMBeanInfo()">getMBeanInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;javax.management.MBeanNotificationInfo[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#getNotificationInfo()">getNotificationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#invoke(java.lang.String, java.lang.Object[], java.lang.String[])">invoke</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;operationName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;signature)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#postRegister(java.lang.Boolean)">postRegister</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</A>&nbsp;registrationDone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">removeAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#removeNotificationListener(javax.management.NotificationListener)">removeNotificationListener</A></B>(javax.management.NotificationListener&nbsp;listener)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html#setAttribute(javax.management.Attribute)">setAttribute</A></B>(javax.management.Attribute&nbsp;attribute)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.jmx.AbstractDynamicMBean"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.jmx.<A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAppenderName(org.apache.log4j.Appender)">getAppenderName</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAttributes(java.lang.String[])">getAttributes</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#postDeregister()">postDeregister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#preDeregister()">preDeregister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#preRegister(javax.management.MBeanServer, javax.management.ObjectName)">preRegister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#registerMBean(java.lang.Object, javax.management.ObjectName)">registerMBean</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#setAttributes(javax.management.AttributeList)">setAttributes</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="HierarchyDynamicMBean()"><!-- --></A><H3> +HierarchyDynamicMBean</H3> +<PRE> +public <B>HierarchyDynamicMBean</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addLoggerMBean(java.lang.String)"><!-- --></A><H3> +addLoggerMBean</H3> +<PRE> +public javax.management.ObjectName <B>addLoggerMBean</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)"><!-- --></A><H3> +addNotificationListener</H3> +<PRE> +public void <B>addNotificationListener</B>(javax.management.NotificationListener&nbsp;listener, + javax.management.NotificationFilter&nbsp;filter, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;handback)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>addNotificationListener</CODE> in interface <CODE>javax.management.NotificationBroadcaster</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger()"><!-- --></A><H3> +getLogger</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getLogger()">getLogger</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMBeanInfo()"><!-- --></A><H3> +getMBeanInfo</H3> +<PRE> +public javax.management.MBeanInfo <B>getMBeanInfo</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>getMBeanInfo</CODE> in interface <CODE>javax.management.DynamicMBean</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getNotificationInfo()"><!-- --></A><H3> +getNotificationInfo</H3> +<PRE> +public javax.management.MBeanNotificationInfo[] <B>getNotificationInfo</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>getNotificationInfo</CODE> in interface <CODE>javax.management.NotificationBroadcaster</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="invoke(java.lang.String, java.lang.Object[], java.lang.String[])"><!-- --></A><H3> +invoke</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>invoke</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;operationName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;signature) + throws javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>invoke</CODE> in interface <CODE>javax.management.DynamicMBean</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3> +getAttribute</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;attributeName) + throws javax.management.AttributeNotFoundException, + javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>getAttribute</CODE> in interface <CODE>javax.management.DynamicMBean</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.AttributeNotFoundException</CODE> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><!-- --></A><H3> +addAppenderEvent</H3> +<PRE> +public void <B>addAppenderEvent</B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html#addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">addAppenderEvent</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><!-- --></A><H3> +removeAppenderEvent</H3> +<PRE> +public void <B>removeAppenderEvent</B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html#removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">removeAppenderEvent</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="postRegister(java.lang.Boolean)"><!-- --></A><H3> +postRegister</H3> +<PRE> +public void <B>postRegister</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</A>&nbsp;registrationDone)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>postRegister</CODE> in interface <CODE>javax.management.MBeanRegistration</CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#postRegister(java.lang.Boolean)">postRegister</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeNotificationListener(javax.management.NotificationListener)"><!-- --></A><H3> +removeNotificationListener</H3> +<PRE> +public void <B>removeNotificationListener</B>(javax.management.NotificationListener&nbsp;listener) + throws javax.management.ListenerNotFoundException</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>removeNotificationListener</CODE> in interface <CODE>javax.management.NotificationBroadcaster</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.ListenerNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="setAttribute(javax.management.Attribute)"><!-- --></A><H3> +setAttribute</H3> +<PRE> +public void <B>setAttribute</B>(javax.management.Attribute&nbsp;attribute) + throws javax.management.AttributeNotFoundException, + javax.management.InvalidAttributeValueException, + javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>setAttribute</CODE> in interface <CODE>javax.management.DynamicMBean</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.AttributeNotFoundException</CODE> +<DD><CODE>javax.management.InvalidAttributeValueException</CODE> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/HierarchyDynamicMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/HierarchyDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HierarchyDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/LayoutDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/LayoutDynamicMBean.html new file mode 100644 index 00000000000..a0dcfcceac3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/LayoutDynamicMBean.html @@ -0,0 +1,375 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LayoutDynamicMBean (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LayoutDynamicMBean (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LayoutDynamicMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/LayoutDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LayoutDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.jmx</FONT> +<BR> +Class LayoutDynamicMBean</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">org.apache.log4j.jmx.AbstractDynamicMBean</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.jmx.LayoutDynamicMBean</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>javax.management.DynamicMBean, javax.management.MBeanRegistration</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LayoutDynamicMBean</B><DT>extends <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html#LayoutDynamicMBean(org.apache.log4j.Layout)">LayoutDynamicMBean</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html#getAttribute(java.lang.String)">getAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;attributeName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;javax.management.MBeanInfo</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html#getMBeanInfo()">getMBeanInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html#invoke(java.lang.String, java.lang.Object[], java.lang.String[])">invoke</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;operationName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;signature)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html#setAttribute(javax.management.Attribute)">setAttribute</A></B>(javax.management.Attribute&nbsp;attribute)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.jmx.AbstractDynamicMBean"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.jmx.<A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAppenderName(org.apache.log4j.Appender)">getAppenderName</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAttributes(java.lang.String[])">getAttributes</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#postDeregister()">postDeregister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#postRegister(java.lang.Boolean)">postRegister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#preDeregister()">preDeregister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#preRegister(javax.management.MBeanServer, javax.management.ObjectName)">preRegister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#registerMBean(java.lang.Object, javax.management.ObjectName)">registerMBean</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#setAttributes(javax.management.AttributeList)">setAttributes</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LayoutDynamicMBean(org.apache.log4j.Layout)"><!-- --></A><H3> +LayoutDynamicMBean</H3> +<PRE> +public <B>LayoutDynamicMBean</B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/IntrospectionException.html?is-external=true" title="class or interface in java.beans">IntrospectionException</A></PRE> +<DL> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/beans/IntrospectionException.html?is-external=true" title="class or interface in java.beans">IntrospectionException</A></CODE></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getMBeanInfo()"><!-- --></A><H3> +getMBeanInfo</H3> +<PRE> +public javax.management.MBeanInfo <B>getMBeanInfo</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="invoke(java.lang.String, java.lang.Object[], java.lang.String[])"><!-- --></A><H3> +invoke</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>invoke</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;operationName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;signature) + throws javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger()"><!-- --></A><H3> +getLogger</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getLogger()">getLogger</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3> +getAttribute</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;attributeName) + throws javax.management.AttributeNotFoundException, + javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.AttributeNotFoundException</CODE> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="setAttribute(javax.management.Attribute)"><!-- --></A><H3> +setAttribute</H3> +<PRE> +public void <B>setAttribute</B>(javax.management.Attribute&nbsp;attribute) + throws javax.management.AttributeNotFoundException, + javax.management.InvalidAttributeValueException, + javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.AttributeNotFoundException</CODE> +<DD><CODE>javax.management.InvalidAttributeValueException</CODE> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LayoutDynamicMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/LayoutDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LayoutDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/LoggerDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/LoggerDynamicMBean.html new file mode 100644 index 00000000000..bbaa91cf827 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/LoggerDynamicMBean.html @@ -0,0 +1,428 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LoggerDynamicMBean (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LoggerDynamicMBean (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggerDynamicMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/LoggerDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.jmx</FONT> +<BR> +Class LoggerDynamicMBean</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">org.apache.log4j.jmx.AbstractDynamicMBean</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.jmx.LoggerDynamicMBean</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventListener.html?is-external=true" title="class or interface in java.util">EventListener</A>, javax.management.DynamicMBean, javax.management.MBeanRegistration, javax.management.NotificationListener</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LoggerDynamicMBean</B><DT>extends <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A><DT>implements javax.management.NotificationListener</DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html#LoggerDynamicMBean(org.apache.log4j.Logger)">LoggerDynamicMBean</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html#getAttribute(java.lang.String)">getAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;attributeName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;javax.management.MBeanInfo</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html#getMBeanInfo()">getMBeanInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html#handleNotification(javax.management.Notification, java.lang.Object)">handleNotification</A></B>(javax.management.Notification&nbsp;notification, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;handback)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html#invoke(java.lang.String, java.lang.Object[], java.lang.String[])">invoke</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;operationName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;signature)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html#postRegister(java.lang.Boolean)">postRegister</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</A>&nbsp;registrationDone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html#setAttribute(javax.management.Attribute)">setAttribute</A></B>(javax.management.Attribute&nbsp;attribute)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.jmx.AbstractDynamicMBean"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.jmx.<A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAppenderName(org.apache.log4j.Appender)">getAppenderName</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getAttributes(java.lang.String[])">getAttributes</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#postDeregister()">postDeregister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#preDeregister()">preDeregister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#preRegister(javax.management.MBeanServer, javax.management.ObjectName)">preRegister</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#registerMBean(java.lang.Object, javax.management.ObjectName)">registerMBean</A>, <A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#setAttributes(javax.management.AttributeList)">setAttributes</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LoggerDynamicMBean(org.apache.log4j.Logger)"><!-- --></A><H3> +LoggerDynamicMBean</H3> +<PRE> +public <B>LoggerDynamicMBean</B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="handleNotification(javax.management.Notification, java.lang.Object)"><!-- --></A><H3> +handleNotification</H3> +<PRE> +public void <B>handleNotification</B>(javax.management.Notification&nbsp;notification, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;handback)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>handleNotification</CODE> in interface <CODE>javax.management.NotificationListener</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger()"><!-- --></A><H3> +getLogger</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#getLogger()">getLogger</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMBeanInfo()"><!-- --></A><H3> +getMBeanInfo</H3> +<PRE> +public javax.management.MBeanInfo <B>getMBeanInfo</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>getMBeanInfo</CODE> in interface <CODE>javax.management.DynamicMBean</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="invoke(java.lang.String, java.lang.Object[], java.lang.String[])"><!-- --></A><H3> +invoke</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>invoke</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;operationName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;signature) + throws javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>invoke</CODE> in interface <CODE>javax.management.DynamicMBean</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3> +getAttribute</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;attributeName) + throws javax.management.AttributeNotFoundException, + javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>getAttribute</CODE> in interface <CODE>javax.management.DynamicMBean</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.AttributeNotFoundException</CODE> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="setAttribute(javax.management.Attribute)"><!-- --></A><H3> +setAttribute</H3> +<PRE> +public void <B>setAttribute</B>(javax.management.Attribute&nbsp;attribute) + throws javax.management.AttributeNotFoundException, + javax.management.InvalidAttributeValueException, + javax.management.MBeanException, + javax.management.ReflectionException</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>setAttribute</CODE> in interface <CODE>javax.management.DynamicMBean</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.management.AttributeNotFoundException</CODE> +<DD><CODE>javax.management.InvalidAttributeValueException</CODE> +<DD><CODE>javax.management.MBeanException</CODE> +<DD><CODE>javax.management.ReflectionException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="postRegister(java.lang.Boolean)"><!-- --></A><H3> +postRegister</H3> +<PRE> +public void <B>postRegister</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</A>&nbsp;registrationDone)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>postRegister</CODE> in interface <CODE>javax.management.MBeanRegistration</CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html#postRegister(java.lang.Boolean)">postRegister</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggerDynamicMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/LoggerDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/AbstractDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/AbstractDynamicMBean.html new file mode 100644 index 00000000000..d6810b297c0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/AbstractDynamicMBean.html @@ -0,0 +1,205 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.jmx.AbstractDynamicMBean (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.jmx.AbstractDynamicMBean (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useAbstractDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbstractDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.jmx.AbstractDynamicMBean</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jmx"><B>org.apache.log4j.jmx</B></A></TD> +<TD>This package lets you manage log4j settings using JMX.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jmx"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> in <A HREF="../../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A> in <A HREF="../../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx">LayoutDynamicMBean</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useAbstractDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbstractDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/Agent.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/Agent.html new file mode 100644 index 00000000000..401b41d7343 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/Agent.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.jmx.Agent (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.jmx.Agent (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useAgent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Agent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.jmx.Agent</B></H2> +</CENTER> +No usage of org.apache.log4j.jmx.Agent +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useAgent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Agent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/AppenderDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/AppenderDynamicMBean.html new file mode 100644 index 00000000000..9b35cc76d83 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/AppenderDynamicMBean.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.jmx.AppenderDynamicMBean (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.jmx.AppenderDynamicMBean (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useAppenderDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.jmx.AppenderDynamicMBean</B></H2> +</CENTER> +No usage of org.apache.log4j.jmx.AppenderDynamicMBean +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useAppenderDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/HierarchyDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/HierarchyDynamicMBean.html new file mode 100644 index 00000000000..8c3854da78f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/HierarchyDynamicMBean.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.jmx.HierarchyDynamicMBean (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.jmx.HierarchyDynamicMBean (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useHierarchyDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HierarchyDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.jmx.HierarchyDynamicMBean</B></H2> +</CENTER> +No usage of org.apache.log4j.jmx.HierarchyDynamicMBean +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useHierarchyDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HierarchyDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/LayoutDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/LayoutDynamicMBean.html new file mode 100644 index 00000000000..d167fa05c6d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/LayoutDynamicMBean.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.jmx.LayoutDynamicMBean (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.jmx.LayoutDynamicMBean (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useLayoutDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LayoutDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.jmx.LayoutDynamicMBean</B></H2> +</CENTER> +No usage of org.apache.log4j.jmx.LayoutDynamicMBean +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useLayoutDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LayoutDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/LoggerDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/LoggerDynamicMBean.html new file mode 100644 index 00000000000..fb3ed29405c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/class-use/LoggerDynamicMBean.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.jmx.LoggerDynamicMBean (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.jmx.LoggerDynamicMBean (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useLoggerDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.jmx.LoggerDynamicMBean</B></H2> +</CENTER> +No usage of org.apache.log4j.jmx.LoggerDynamicMBean +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/jmx//class-useLoggerDynamicMBean.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerDynamicMBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-frame.html new file mode 100644 index 00000000000..08559f5981a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-frame.html @@ -0,0 +1,43 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.jmx (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/jmx/package-summary.html" target="classFrame">org.apache.log4j.jmx</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx" target="classFrame">AbstractDynamicMBean</A> +<BR> +<A HREF="Agent.html" title="class in org.apache.log4j.jmx" target="classFrame">Agent</A> +<BR> +<A HREF="AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx" target="classFrame">AppenderDynamicMBean</A> +<BR> +<A HREF="HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx" target="classFrame">HierarchyDynamicMBean</A> +<BR> +<A HREF="LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx" target="classFrame">LayoutDynamicMBean</A> +<BR> +<A HREF="LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx" target="classFrame">LoggerDynamicMBean</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-summary.html new file mode 100644 index 00000000000..de84d6c32e9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-summary.html @@ -0,0 +1,194 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.jmx (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.jmx (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jdbc/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.jmx +</H2> +This package lets you manage log4j settings using JMX. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx">AbstractDynamicMBean</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx">Agent</A></B></TD> +<TD><B>Deprecated.</B>&nbsp;<I></I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx">AppenderDynamicMBean</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx">LayoutDynamicMBean</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx">LoggerDynamicMBean</A></B></TD> +<TD>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.jmx Description +</H2> + +<P> +This package lets you manage log4j settings using JMX. It is + unfortunately not of production quality. +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jdbc/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-tree.html new file mode 100644 index 00000000000..061ae171af4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-tree.html @@ -0,0 +1,159 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.jmx Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.jmx Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jdbc/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.jmx +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.jmx.<A HREF="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>AbstractDynamicMBean</B></A> (implements javax.management.DynamicMBean, javax.management.MBeanRegistration) +<UL> +<LI TYPE="circle">org.apache.log4j.jmx.<A HREF="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>AppenderDynamicMBean</B></A><LI TYPE="circle">org.apache.log4j.jmx.<A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>HierarchyDynamicMBean</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>, javax.management.NotificationBroadcaster) +<LI TYPE="circle">org.apache.log4j.jmx.<A HREF="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>LayoutDynamicMBean</B></A><LI TYPE="circle">org.apache.log4j.jmx.<A HREF="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>LoggerDynamicMBean</B></A> (implements javax.management.NotificationListener) +</UL> +<LI TYPE="circle">org.apache.log4j.jmx.<A HREF="../../../../org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx"><B>Agent</B></A></UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jdbc/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-use.html new file mode 100644 index 00000000000..73babf79d25 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/jmx/package-use.html @@ -0,0 +1,171 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.jmx (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.jmx (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.jmx</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jmx"><B>org.apache.log4j.jmx</B></A></TD> +<TD>This package lets you manage log4j settings using JMX.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jmx"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A> used by <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/jmx/class-use/AbstractDynamicMBean.html#org.apache.log4j.jmx"><B>AbstractDynamicMBean</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/jmx/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/AppenderFinalizer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/AppenderFinalizer.html new file mode 100644 index 00000000000..46b31853685 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/AppenderFinalizer.html @@ -0,0 +1,306 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AppenderFinalizer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AppenderFinalizer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AppenderFinalizer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/AppenderFinalizer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderFinalizer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5</FONT> +<BR> +Class AppenderFinalizer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.AppenderFinalizer</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>AppenderFinalizer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +<code>AppenderFinalizer</code> has a single method that will finalize + resources associated with a <code>LogBrokerMonitor</code> in the event + that the <code>LF5Appender</code> class is destroyed, and the class loader + is garbage collected. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Brent Sprecher</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/AppenderFinalizer.html#_defaultMonitor">_defaultMonitor</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/AppenderFinalizer.html#AppenderFinalizer(org.apache.log4j.lf5.viewer.LogBrokerMonitor)">AppenderFinalizer</A></B>(<A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;defaultMonitor)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/AppenderFinalizer.html#finalize()">finalize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_defaultMonitor"><!-- --></A><H3> +_defaultMonitor</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> <B>_defaultMonitor</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AppenderFinalizer(org.apache.log4j.lf5.viewer.LogBrokerMonitor)"><!-- --></A><H3> +AppenderFinalizer</H3> +<PRE> +public <B>AppenderFinalizer</B>(<A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;defaultMonitor)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="finalize()"><!-- --></A><H3> +finalize</H3> +<PRE> +protected void <B>finalize</B>() + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AppenderFinalizer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/AppenderFinalizer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderFinalizer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/DefaultLF5Configurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/DefaultLF5Configurator.html new file mode 100644 index 00000000000..e3efb9cd932 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/DefaultLF5Configurator.html @@ -0,0 +1,295 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DefaultLF5Configurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DefaultLF5Configurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DefaultLF5Configurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/DefaultLF5Configurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultLF5Configurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5</FONT> +<BR> +Class DefaultLF5Configurator</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.DefaultLF5Configurator</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>DefaultLF5Configurator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></DL> +</PRE> + +<P> +The <code>DefaultLF5Configurator</code> provides a default + configuration for the <code>LF5Appender</code>. + + Note: The preferred method for configuring a <code>LF5Appender</code> + is to use the <code>LF5Manager</code> class. This class ensures + that configuration does not occur multiple times, and improves system + performance. Reconfiguring the monitor multiple times can result in + unexpected behavior. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Brent Sprecher</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.spi.Configurator"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html#INHERITED">INHERITED</A>, <A HREF="../../../../org/apache/log4j/spi/Configurator.html#NULL">NULL</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html#configure()">configure</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method configures the <code>LF5Appender</code> using a + default configuration file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;configURL, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a dummy method that will throw an + <code>IllegalStateException</code> if used.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="configure()"><!-- --></A><H3> +configure</H3> +<PRE> +public static void <B>configure</B>() + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>This method configures the <code>LF5Appender</code> using a + default configuration file. The default configuration file is + <bold>defaultconfig.properties</bold>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +public void <B>doConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;configURL, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</PRE> +<DL> +<DD>This is a dummy method that will throw an + <code>IllegalStateException</code> if used. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>configURL</CODE> - The URL to parse<DD><CODE>repository</CODE> - The hierarchy to operation upon.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DefaultLF5Configurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/DefaultLF5Configurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultLF5Configurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LF5Appender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LF5Appender.html new file mode 100644 index 00000000000..c26fc19e856 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LF5Appender.html @@ -0,0 +1,659 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LF5Appender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LF5Appender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LF5Appender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/LF5Appender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LF5Appender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5</FONT> +<BR> +Class LF5Appender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.LF5Appender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LF5Appender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></DL> +</PRE> + +<P> +<code>LF5Appender</code> logs events to a swing based logging + console. The swing console supports turning categories on and off, + multiple detail level views, as well as full text searching and many + other capabilties. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Brent Sprecher</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#_defaultLogMonitor">_defaultLogMonitor</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#_finalizer">_finalizer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#_logMonitor">_logMonitor</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#LF5Appender()">LF5Appender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a <code>LF5Appender</code> using the default instance of + the <code>LogBrokerMonitor</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#LF5Appender(org.apache.log4j.lf5.viewer.LogBrokerMonitor)">LF5Appender</A></B>(<A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;monitor)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a <code>LF5Appender<code> using an instance of + a <code>LogBrokerMonitor<code> supplied by the user.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appends a <code>LoggingEvent</code> record to the + <code>LF5Appender</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is an empty implementation of the close() method inherited + from the <code>org.apache.log4j.Appender</code> interface.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#equals(org.apache.log4j.lf5.LF5Appender)">equals</A></B>(<A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A>&nbsp;compareTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The equals method compares two LF5Appenders and determines whether + they are equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#getDefaultInstance()">getDefaultInstance</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#getDefaultMonitorHeight()">getDefaultMonitorHeight</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#getDefaultMonitorWidth()">getDefaultMonitorWidth</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#getLogBrokerMonitor()">getLogBrokerMonitor</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#getScreenHeight()">getScreenHeight</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#getScreenWidth()">getScreenWidth</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a value that indicates whether this appender requires a + <code>Layout</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#setCallSystemExitOnClose(boolean)">setCallSystemExitOnClose</A></B>(boolean&nbsp;callSystemExitOnClose)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is used to set the property that controls whether + the <code>LogBrokerMonitor</code> is hidden or closed when a user + exits + the monitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html#setMaxNumberOfRecords(int)">setMaxNumberOfRecords</A></B>(int&nbsp;maxNumberOfRecords)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_logMonitor"><!-- --></A><H3> +_logMonitor</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> <B>_logMonitor</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_defaultLogMonitor"><!-- --></A><H3> +_defaultLogMonitor</H3> +<PRE> +protected static <A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> <B>_defaultLogMonitor</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_finalizer"><!-- --></A><H3> +_finalizer</H3> +<PRE> +protected static <A HREF="../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A> <B>_finalizer</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LF5Appender()"><!-- --></A><H3> +LF5Appender</H3> +<PRE> +public <B>LF5Appender</B>()</PRE> +<DL> +<DD>Constructs a <code>LF5Appender</code> using the default instance of + the <code>LogBrokerMonitor</code>. This constructor should <bold>always + </bold> be preferred over the + <code>LF5Appender(LogBrokerMonitor monitor)</code> + constructor, unless you need to spawn additional log monitoring + windows. +<P> +</DL> +<HR> + +<A NAME="LF5Appender(org.apache.log4j.lf5.viewer.LogBrokerMonitor)"><!-- --></A><H3> +LF5Appender</H3> +<PRE> +public <B>LF5Appender</B>(<A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;monitor)</PRE> +<DL> +<DD>Constructs a <code>LF5Appender<code> using an instance of + a <code>LogBrokerMonitor<code> supplied by the user. This + constructor should only be used when you need to spawn + additional log monitoring windows. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>monitor</CODE> - An instance of a <code>LogBrokerMonitor<code> + created by the user.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Appends a <code>LoggingEvent</code> record to the + <code>LF5Appender</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - The <code>LoggingEvent</code> + to be appended.</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD>This method is an empty implementation of the close() method inherited + from the <code>org.apache.log4j.Appender</code> interface. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>Returns a value that indicates whether this appender requires a + <code>Layout</code>. This method always returns false. + No layout is required for the <code>LF5Appender</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setCallSystemExitOnClose(boolean)"><!-- --></A><H3> +setCallSystemExitOnClose</H3> +<PRE> +public void <B>setCallSystemExitOnClose</B>(boolean&nbsp;callSystemExitOnClose)</PRE> +<DL> +<DD>This method is used to set the property that controls whether + the <code>LogBrokerMonitor</code> is hidden or closed when a user + exits + the monitor. By default, the <code>LogBrokerMonitor</code> will hide + itself when the log window is exited, and the swing thread will + continue to run in the background. If this property is + set to true, the <code>LogBrokerMonitor</code> will call System.exit(0) + and will shut down swing thread and the virtual machine. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>callSystemExitOnClose</CODE> - A boolean value indicating whether + to call System.exit(0) when closing the log window.</DL> +</DD> +</DL> +<HR> + +<A NAME="equals(org.apache.log4j.lf5.LF5Appender)"><!-- --></A><H3> +equals</H3> +<PRE> +public boolean <B>equals</B>(<A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A>&nbsp;compareTo)</PRE> +<DL> +<DD>The equals method compares two LF5Appenders and determines whether + they are equal. Two <code>Appenders</code> will be considered equal + if, and only if, they both contain references to the same <code> + LogBrokerMonitor</code>. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>compareTo</CODE> - A boolean value indicating whether + the two LF5Appenders are equal.</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogBrokerMonitor()"><!-- --></A><H3> +getLogBrokerMonitor</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> <B>getLogBrokerMonitor</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="main(java.lang.String[])"><!-- --></A><H3> +main</H3> +<PRE> +public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setMaxNumberOfRecords(int)"><!-- --></A><H3> +setMaxNumberOfRecords</H3> +<PRE> +public void <B>setMaxNumberOfRecords</B>(int&nbsp;maxNumberOfRecords)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDefaultInstance()"><!-- --></A><H3> +getDefaultInstance</H3> +<PRE> +protected static <A HREF="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> <B>getDefaultInstance</B>()</PRE> +<DL> +<DD><DL> + +<DT><B>Returns:</B><DD>The default instance of the <code>LogBrokerMonitor</code>.</DL> +</DD> +</DL> +<HR> + +<A NAME="getScreenWidth()"><!-- --></A><H3> +getScreenWidth</H3> +<PRE> +protected static int <B>getScreenWidth</B>()</PRE> +<DL> +<DD><DL> + +<DT><B>Returns:</B><DD>the screen width from Toolkit.getScreenSize() + if possible, otherwise returns 800<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Toolkit.html?is-external=true" title="class or interface in java.awt"><CODE>Toolkit</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getScreenHeight()"><!-- --></A><H3> +getScreenHeight</H3> +<PRE> +protected static int <B>getScreenHeight</B>()</PRE> +<DL> +<DD><DL> + +<DT><B>Returns:</B><DD>the screen height from Toolkit.getScreenSize() + if possible, otherwise returns 600<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Toolkit.html?is-external=true" title="class or interface in java.awt"><CODE>Toolkit</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getDefaultMonitorWidth()"><!-- --></A><H3> +getDefaultMonitorWidth</H3> +<PRE> +protected static int <B>getDefaultMonitorWidth</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDefaultMonitorHeight()"><!-- --></A><H3> +getDefaultMonitorHeight</H3> +<PRE> +protected static int <B>getDefaultMonitorHeight</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LF5Appender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/LF5Appender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LF5Appender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/Log4JLogRecord.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/Log4JLogRecord.html new file mode 100644 index 00000000000..3fd21680acc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/Log4JLogRecord.html @@ -0,0 +1,332 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Log4JLogRecord (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Log4JLogRecord (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Log4JLogRecord.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/Log4JLogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Log4JLogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.lf5.LogRecord">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5</FONT> +<BR> +Class Log4JLogRecord</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">org.apache.log4j.lf5.LogRecord</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.Log4JLogRecord</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>Log4JLogRecord</B><DT>extends <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></DL> +</PRE> + +<P> +A <code>Log4JLogRecord</code> encapsulates + the details of your log4j <code>LoggingEvent</code> in a format usable + by the <code>LogBrokerMonitor</code>. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Brent Sprecher</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.lf5.Log4JLogRecord">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.lf5.LogRecord"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_category">_category</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_level">_level</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_location">_location</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_message">_message</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_millis">_millis</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_ndc">_ndc</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_seqCount">_seqCount</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_sequenceNumber">_sequenceNumber</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_thread">_thread</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_thrown">_thrown</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_thrownStackTrace">_thrownStackTrace</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/Log4JLogRecord.html#Log4JLogRecord()">Log4JLogRecord</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an instance of a <code>Log4JLogRecord</code>.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/Log4JLogRecord.html#isSevereLevel()">isSevereLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines which <code>Priority</code> levels will + be displayed in colored font when the <code>LogMonitorAppender</code> + renders this log message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/Log4JLogRecord.html#setThrownStackTrace(org.apache.log4j.spi.ThrowableInformation)">setThrownStackTrace</A></B>(<A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwableInfo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set stack trace information associated with this Log4JLogRecord.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.lf5.LogRecord"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getCategory()">getCategory</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getLevel()">getLevel</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getLocation()">getLocation</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getMessage()">getMessage</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getMillis()">getMillis</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getNDC()">getNDC</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getNextId()">getNextId</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getSequenceNumber()">getSequenceNumber</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThreadDescription()">getThreadDescription</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThrown()">getThrown</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThrownStackTrace()">getThrownStackTrace</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#hasThrown()">hasThrown</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#isFatal()">isFatal</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#resetSequenceNumber()">resetSequenceNumber</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setCategory(java.lang.String)">setCategory</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setLevel(org.apache.log4j.lf5.LogLevel)">setLevel</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setLocation(java.lang.String)">setLocation</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setMessage(java.lang.String)">setMessage</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setMillis(long)">setMillis</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setNDC(java.lang.String)">setNDC</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setSequenceNumber(long)">setSequenceNumber</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setThreadDescription(java.lang.String)">setThreadDescription</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setThrown(java.lang.Throwable)">setThrown</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setThrownStackTrace(java.lang.String)">setThrownStackTrace</A>, <A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#toString()">toString</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Log4JLogRecord()"><!-- --></A><H3> +Log4JLogRecord</H3> +<PRE> +public <B>Log4JLogRecord</B>()</PRE> +<DL> +<DD>Constructs an instance of a <code>Log4JLogRecord</code>. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="isSevereLevel()"><!-- --></A><H3> +isSevereLevel</H3> +<PRE> +public boolean <B>isSevereLevel</B>()</PRE> +<DL> +<DD>Determines which <code>Priority</code> levels will + be displayed in colored font when the <code>LogMonitorAppender</code> + renders this log message. By default, messages will be colored + red if they are of <code>Priority</code> ERROR or FATAL. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#isSevereLevel()">isSevereLevel</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true if the log level is ERROR or FATAL.</DL> +</DD> +</DL> +<HR> + +<A NAME="setThrownStackTrace(org.apache.log4j.spi.ThrowableInformation)"><!-- --></A><H3> +setThrownStackTrace</H3> +<PRE> +public void <B>setThrownStackTrace</B>(<A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwableInfo)</PRE> +<DL> +<DD>Set stack trace information associated with this Log4JLogRecord. + When this method is called, the stack trace in a + String-based format is made + available via the getThrownStackTrace() method. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>throwableInfo</CODE> - An org.apache.log4j.spi.ThrowableInformation to + associate with this Log4JLogRecord.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThrownStackTrace()"><CODE>LogRecord.getThrownStackTrace()</CODE></A></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Log4JLogRecord.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/Log4JLogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Log4JLogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.lf5.LogRecord">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogLevel.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogLevel.html new file mode 100644 index 00000000000..975f2d50f4f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogLevel.html @@ -0,0 +1,876 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogLevel (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogLevel (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogLevel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/LogLevel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLevel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5</FONT> +<BR> +Class LogLevel</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.LogLevel</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogLevel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL> +</PRE> + +<P> +The LogLevel class defines a set of standard logging levels. + + The logging Level objects are ordered and are specified by ordered + integers. Enabling logging at a given level also enables logging at all + higher levels. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw, Brent Sprecher, Richard Hurst, Brad Marlborough</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.lf5.LogLevel">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#_label">_label</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#_precedence">_precedence</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#CONFIG">CONFIG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#DEBUG">DEBUG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#ERROR">ERROR</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#FATAL">FATAL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#FINE">FINE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#FINER">FINER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#FINEST">FINEST</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#INFO">INFO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#SEVERE">SEVERE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#WARN">WARN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#WARNING">WARNING</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#LogLevel(java.lang.String, int)">LogLevel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;label, + int&nbsp;precedence)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#encompasses(org.apache.log4j.lf5.LogLevel)">encompasses</A></B>(<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the level supplied is encompassed by this level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#getAllDefaultLevels()">getAllDefaultLevels</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#getJdk14Levels()">getJdk14Levels</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#getLabel()">getLabel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the Label of the LogLevel.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#getLog4JLevels()">getLog4JLevels</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#getLogLevelColorMap()">getLogLevelColorMap</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#getPrecedence()">getPrecedence</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#hashCode()">hashCode</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#register(java.util.List)">register</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;logLevels)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#register(org.apache.log4j.lf5.LogLevel)">register</A></B>(<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;logLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registers a used defined LogLevel.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#register(org.apache.log4j.lf5.LogLevel[])">register</A></B>(<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>[]&nbsp;logLevels)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#resetLogLevelColorMap()">resetLogLevelColorMap</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#setLogLevelColorMap(org.apache.log4j.lf5.LogLevel, java.awt.Color)">setLogLevelColorMap</A></B>(<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A>&nbsp;color)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#toString()">toString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert a log level label into a LogLevel object.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FATAL"><!-- --></A><H3> +FATAL</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>FATAL</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="ERROR"><!-- --></A><H3> +ERROR</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>ERROR</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="WARN"><!-- --></A><H3> +WARN</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>WARN</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="INFO"><!-- --></A><H3> +INFO</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>INFO</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="DEBUG"><!-- --></A><H3> +DEBUG</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>DEBUG</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="SEVERE"><!-- --></A><H3> +SEVERE</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>SEVERE</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="WARNING"><!-- --></A><H3> +WARNING</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>WARNING</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="CONFIG"><!-- --></A><H3> +CONFIG</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>CONFIG</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="FINE"><!-- --></A><H3> +FINE</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>FINE</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="FINER"><!-- --></A><H3> +FINER</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>FINER</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="FINEST"><!-- --></A><H3> +FINEST</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>FINEST</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_label"><!-- --></A><H3> +_label</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_label</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_precedence"><!-- --></A><H3> +_precedence</H3> +<PRE> +protected int <B>_precedence</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogLevel(java.lang.String, int)"><!-- --></A><H3> +LogLevel</H3> +<PRE> +public <B>LogLevel</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;label, + int&nbsp;precedence)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getLabel()"><!-- --></A><H3> +getLabel</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLabel</B>()</PRE> +<DL> +<DD>Return the Label of the LogLevel. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="encompasses(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +encompasses</H3> +<PRE> +public boolean <B>encompasses</B>(<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD>Returns true if the level supplied is encompassed by this level. + For example, LogLevel.SEVERE encompasses no other LogLevels and + LogLevel.FINE encompasses all other LogLevels. By definition, + a LogLevel encompasses itself. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(java.lang.String)"><!-- --></A><H3> +valueOf</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>valueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;level) + throws <A HREF="../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5">LogLevelFormatException</A></PRE> +<DL> +<DD>Convert a log level label into a LogLevel object. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>level</CODE> - The label of a level to be converted into a LogLevel. +<DT><B>Returns:</B><DD>LogLevel The LogLevel with a label equal to level. +<DT><B>Throws:</B> +<DD><CODE><A HREF="../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5">LogLevelFormatException</A></CODE> - Is thrown when the level can not be + converted into a LogLevel.</DL> +</DD> +</DL> +<HR> + +<A NAME="register(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +register</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>register</B>(<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;logLevel)</PRE> +<DL> +<DD>Registers a used defined LogLevel. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logLevel</CODE> - The log level to be registered. Cannot be a default LogLevel +<DT><B>Returns:</B><DD>LogLevel The replaced log level.</DL> +</DD> +</DL> +<HR> + +<A NAME="register(org.apache.log4j.lf5.LogLevel[])"><!-- --></A><H3> +register</H3> +<PRE> +public static void <B>register</B>(<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>[]&nbsp;logLevels)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="register(java.util.List)"><!-- --></A><H3> +register</H3> +<PRE> +public static void <B>register</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;logLevels)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="equals(java.lang.Object)"><!-- --></A><H3> +equals</H3> +<PRE> +public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hashCode()"><!-- --></A><H3> +hashCode</H3> +<PRE> +public int <B>hashCode</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toString()"><!-- --></A><H3> +toString</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLogLevelColorMap(org.apache.log4j.lf5.LogLevel, java.awt.Color)"><!-- --></A><H3> +setLogLevelColorMap</H3> +<PRE> +public void <B>setLogLevelColorMap</B>(<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A>&nbsp;color)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resetLogLevelColorMap()"><!-- --></A><H3> +resetLogLevelColorMap</H3> +<PRE> +public static void <B>resetLogLevelColorMap</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLog4JLevels()"><!-- --></A><H3> +getLog4JLevels</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getLog4JLevels</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>A <code>List</code> of <code>LogLevel</code> objects that map + to log4j <code>Priority</code> objects.</DL> +</DD> +</DL> +<HR> + +<A NAME="getJdk14Levels()"><!-- --></A><H3> +getJdk14Levels</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getJdk14Levels</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAllDefaultLevels()"><!-- --></A><H3> +getAllDefaultLevels</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getAllDefaultLevels</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogLevelColorMap()"><!-- --></A><H3> +getLogLevelColorMap</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getLogLevelColorMap</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPrecedence()"><!-- --></A><H3> +getPrecedence</H3> +<PRE> +protected int <B>getPrecedence</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogLevel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/LogLevel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLevel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogLevelFormatException.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogLevelFormatException.html new file mode 100644 index 00000000000..4ddf81964d7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogLevelFormatException.html @@ -0,0 +1,249 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogLevelFormatException (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogLevelFormatException (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogLevelFormatException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/LogLevelFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLevelFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5</FONT> +<BR> +Class LogLevelFormatException</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.LogLevelFormatException</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogLevelFormatException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></DL> +</PRE> + +<P> +Thrown to indicate that the client has attempted to convert a string + to one the LogLevel types, but the string does not have the appropriate + format. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky<, Robert Shaw</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.lf5.LogLevelFormatException">Serialized Form</A></DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogLevelFormatException.html#LogLevelFormatException(java.lang.String)">LogLevelFormatException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getMessage()" title="class or interface in java.lang">getMessage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace()" title="class or interface in java.lang">getStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#initCause(java.lang.Throwable)" title="class or interface in java.lang">initCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace()" title="class or interface in java.lang">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#setStackTrace(java.lang.StackTraceElement[])" title="class or interface in java.lang">setStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogLevelFormatException(java.lang.String)"><!-- --></A><H3> +LogLevelFormatException</H3> +<PRE> +public <B>LogLevelFormatException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogLevelFormatException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/LogLevelFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLevelFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogRecord.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogRecord.html new file mode 100644 index 00000000000..f1362ed03aa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogRecord.html @@ -0,0 +1,1140 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogRecord (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogRecord (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogRecord.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/LogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5</FONT> +<BR> +Class LogRecord</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.LogRecord</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A>, <A HREF="../../../../org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5">Log4JLogRecord</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>LogRecord</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL> +</PRE> + +<P> +LogRecord. A LogRecord encapsulates the details of your desired log + request. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.lf5.LogRecord">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_category">_category</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_level">_level</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_location">_location</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_message">_message</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_millis">_millis</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_ndc">_ndc</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_seqCount">_seqCount</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_sequenceNumber">_sequenceNumber</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_thread">_thread</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_thrown">_thrown</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#_thrownStackTrace">_thrownStackTrace</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#LogRecord()">LogRecord</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getCategory()">getCategory</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the category asscociated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getLevel()">getLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the level of this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getLocation()">getLocation</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the location in code where this LogRecord originated.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getMessage()">getMessage</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the message asscociated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getMillis()">getMillis</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the event time of this record in milliseconds from 1970.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getNDC()">getNDC</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the NDC (nested diagnostic context) for this record.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getNextId()">getNextId</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getSequenceNumber()">getSequenceNumber</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the sequence number associated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThreadDescription()">getThreadDescription</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the thread description asscociated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThrown()">getThrown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the Throwable associated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThrownStackTrace()">getThrownStackTrace</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the stack trace in a String-based format for the associated Throwable + of this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#hasThrown()">hasThrown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#isFatal()">isFatal</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>abstract &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#isSevereLevel()">isSevereLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#resetSequenceNumber()">resetSequenceNumber</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resets that sequence number to 0.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setCategory(java.lang.String)">setCategory</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the category associated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setLevel(org.apache.log4j.lf5.LogLevel)">setLevel</A></B>(<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the level of this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setLocation(java.lang.String)">setLocation</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;location)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the location in code where this LogRecord originated.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setMessage(java.lang.String)">setMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the message associated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setMillis(long)">setMillis</A></B>(long&nbsp;millis)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the event time of this record.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setNDC(java.lang.String)">setNDC</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the NDC (nested diagnostic context) for this record.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setSequenceNumber(long)">setSequenceNumber</A></B>(long&nbsp;number)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the sequence number assocsiated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setThreadDescription(java.lang.String)">setThreadDescription</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadDescription)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the thread description associated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setThrown(java.lang.Throwable)">setThrown</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;thrown)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the Throwable associated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setThrownStackTrace(java.lang.String)">setThrownStackTrace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;trace)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the ThrownStackTrace for the log record.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#toString()">toString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a String representation of this LogRecord.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_seqCount"><!-- --></A><H3> +_seqCount</H3> +<PRE> +protected static long <B>_seqCount</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_level"><!-- --></A><H3> +_level</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>_level</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_message"><!-- --></A><H3> +_message</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_message</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_sequenceNumber"><!-- --></A><H3> +_sequenceNumber</H3> +<PRE> +protected long <B>_sequenceNumber</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_millis"><!-- --></A><H3> +_millis</H3> +<PRE> +protected long <B>_millis</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_category"><!-- --></A><H3> +_category</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_category</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_thread"><!-- --></A><H3> +_thread</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_thread</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_thrownStackTrace"><!-- --></A><H3> +_thrownStackTrace</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_thrownStackTrace</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_thrown"><!-- --></A><H3> +_thrown</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> <B>_thrown</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_ndc"><!-- --></A><H3> +_ndc</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_ndc</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_location"><!-- --></A><H3> +_location</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_location</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogRecord()"><!-- --></A><H3> +LogRecord</H3> +<PRE> +public <B>LogRecord</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getLevel()"><!-- --></A><H3> +getLevel</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>getLevel</B>()</PRE> +<DL> +<DD>Get the level of this LogRecord. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>The LogLevel of this record.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setLevel(org.apache.log4j.lf5.LogLevel)"><CODE>setLevel(LogLevel)</CODE></A>, +<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><CODE>LogLevel</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="setLevel(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +setLevel</H3> +<PRE> +public void <B>setLevel</B>(<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD>Set the level of this LogRecord. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>level</CODE> - The LogLevel for this record.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getLevel()"><CODE>getLevel()</CODE></A>, +<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><CODE>LogLevel</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="isSevereLevel()"><!-- --></A><H3> +isSevereLevel</H3> +<PRE> +public abstract boolean <B>isSevereLevel</B>()</PRE> +<DL> +<DD>Abstract method. Must be overridden to indicate what log level + to show in red. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hasThrown()"><!-- --></A><H3> +hasThrown</H3> +<PRE> +public boolean <B>hasThrown</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true if getThrown().toString() is a non-empty string.</DL> +</DD> +</DL> +<HR> + +<A NAME="isFatal()"><!-- --></A><H3> +isFatal</H3> +<PRE> +public boolean <B>isFatal</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true if isSevereLevel() or hasThrown() returns true.</DL> +</DD> +</DL> +<HR> + +<A NAME="getCategory()"><!-- --></A><H3> +getCategory</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getCategory</B>()</PRE> +<DL> +<DD>Get the category asscociated with this LogRecord. For a more detailed + description of what a category is see setCategory(). +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>The category of this record.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setCategory(java.lang.String)"><CODE>setCategory(String)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="setCategory(java.lang.String)"><!-- --></A><H3> +setCategory</H3> +<PRE> +public void <B>setCategory</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</PRE> +<DL> +<DD>Set the category associated with this LogRecord. A category represents + a hierarchical dot (".") separated namespace for messages. + The definition of a category is application specific, but a common convention + is as follows: + + <p> + When logging messages + for a particluar class you can use its class name: + com.thoughtworks.framework.servlet.ServletServiceBroker.<br><br> + Futhermore, to log a message for a particular method in a class + add the method name: + com.thoughtworks.framework.servlet.ServletServiceBroker.init(). + </p> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>category</CODE> - The category for this record.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getCategory()"><CODE>getCategory()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getMessage()"><!-- --></A><H3> +getMessage</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getMessage</B>()</PRE> +<DL> +<DD>Get the message asscociated with this LogRecord. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>The message of this record.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setMessage(java.lang.String)"><CODE>setMessage(String)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="setMessage(java.lang.String)"><!-- --></A><H3> +setMessage</H3> +<PRE> +public void <B>setMessage</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +<DD>Set the message associated with this LogRecord. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - The message for this record.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getMessage()"><CODE>getMessage()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getSequenceNumber()"><!-- --></A><H3> +getSequenceNumber</H3> +<PRE> +public long <B>getSequenceNumber</B>()</PRE> +<DL> +<DD>Get the sequence number associated with this LogRecord. Sequence numbers + are generally assigned when a LogRecord is constructed. Sequence numbers + start at 0 and increase with each newly constructed LogRocord. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>The sequence number of this record.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setSequenceNumber(long)"><CODE>setSequenceNumber(long)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="setSequenceNumber(long)"><!-- --></A><H3> +setSequenceNumber</H3> +<PRE> +public void <B>setSequenceNumber</B>(long&nbsp;number)</PRE> +<DL> +<DD>Set the sequence number assocsiated with this LogRecord. A sequence number + will automatically be assigned to evey newly constructed LogRecord, however, + this method can override the value. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>number</CODE> - The sequence number.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getSequenceNumber()"><CODE>getSequenceNumber()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getMillis()"><!-- --></A><H3> +getMillis</H3> +<PRE> +public long <B>getMillis</B>()</PRE> +<DL> +<DD>Get the event time of this record in milliseconds from 1970. + When a LogRecord is constructed the event time is set but may be + overridden by calling setMillis(); +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>The event time of this record in milliseconds from 1970.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setMillis(long)"><CODE>setMillis(long)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="setMillis(long)"><!-- --></A><H3> +setMillis</H3> +<PRE> +public void <B>setMillis</B>(long&nbsp;millis)</PRE> +<DL> +<DD>Set the event time of this record. When a LogRecord is constructed + the event time is set but may be overridden by calling this method. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>millis</CODE> - The time in milliseconds from 1970.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getMillis()"><CODE>getMillis()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getThreadDescription()"><!-- --></A><H3> +getThreadDescription</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getThreadDescription</B>()</PRE> +<DL> +<DD>Get the thread description asscociated with this LogRecord. When a + LogRecord is constructed, the thread description is set by calling: + Thread.currentThread().toString(). You may supply a thread description + of your own by calling the setThreadDescription(String) method. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>The thread description of this record.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setThreadDescription(java.lang.String)"><CODE>setThreadDescription(String)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="setThreadDescription(java.lang.String)"><!-- --></A><H3> +setThreadDescription</H3> +<PRE> +public void <B>setThreadDescription</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadDescription)</PRE> +<DL> +<DD>Set the thread description associated with this LogRecord. When a + LogRecord is constructed, the thread description is set by calling: + Thread.currentThread().toString(). You may supply a thread description + of your own by calling this method. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>threadDescription</CODE> - The description of the thread for this record.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThreadDescription()"><CODE>getThreadDescription()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getThrownStackTrace()"><!-- --></A><H3> +getThrownStackTrace</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getThrownStackTrace</B>()</PRE> +<DL> +<DD>Get the stack trace in a String-based format for the associated Throwable + of this LogRecord. The stack trace in a String-based format is set + when the setThrown(Throwable) method is called. + + <p> + Why do we need this method considering that we + have the getThrown() and setThrown() methods? + A Throwable object may not be serializable, however, a String representation + of it is. Users of LogRecords should generally call this method over + getThrown() for the reasons of serialization. + </p> +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>The Stack Trace for the asscoiated Throwable of this LogRecord.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setThrown(java.lang.Throwable)"><CODE>setThrown(Throwable)</CODE></A>, +<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThrown()"><CODE>getThrown()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="setThrownStackTrace(java.lang.String)"><!-- --></A><H3> +setThrownStackTrace</H3> +<PRE> +public void <B>setThrownStackTrace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;trace)</PRE> +<DL> +<DD>Set the ThrownStackTrace for the log record. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>trace</CODE> - A String to associate with this LogRecord<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThrownStackTrace()"><CODE>getThrownStackTrace()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getThrown()"><!-- --></A><H3> +getThrown</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> <B>getThrown</B>()</PRE> +<DL> +<DD>Get the Throwable associated with this LogRecord. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>The LogLevel of this record.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#setThrown(java.lang.Throwable)"><CODE>setThrown(Throwable)</CODE></A>, +<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThrownStackTrace()"><CODE>getThrownStackTrace()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="setThrown(java.lang.Throwable)"><!-- --></A><H3> +setThrown</H3> +<PRE> +public void <B>setThrown</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;thrown)</PRE> +<DL> +<DD>Set the Throwable associated with this LogRecord. When this method + is called, the stack trace in a String-based format is made + available via the getThrownStackTrace() method. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>thrown</CODE> - A Throwable to associate with this LogRecord.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThrown()"><CODE>getThrown()</CODE></A>, +<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html#getThrownStackTrace()"><CODE>getThrownStackTrace()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="toString()"><!-- --></A><H3> +toString</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE> +<DL> +<DD>Return a String representation of this LogRecord. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getNDC()"><!-- --></A><H3> +getNDC</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getNDC</B>()</PRE> +<DL> +<DD>Get the NDC (nested diagnostic context) for this record. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>The string representing the NDC.</DL> +</DD> +</DL> +<HR> + +<A NAME="setNDC(java.lang.String)"><!-- --></A><H3> +setNDC</H3> +<PRE> +public void <B>setNDC</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc)</PRE> +<DL> +<DD>Set the NDC (nested diagnostic context) for this record. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>ndc</CODE> - A string representing the NDC.</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocation()"><!-- --></A><H3> +getLocation</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLocation</B>()</PRE> +<DL> +<DD>Get the location in code where this LogRecord originated. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>The string containing the location information.</DL> +</DD> +</DL> +<HR> + +<A NAME="setLocation(java.lang.String)"><!-- --></A><H3> +setLocation</H3> +<PRE> +public void <B>setLocation</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;location)</PRE> +<DL> +<DD>Set the location in code where this LogRecord originated. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>location</CODE> - A string containing location information.</DL> +</DD> +</DL> +<HR> + +<A NAME="resetSequenceNumber()"><!-- --></A><H3> +resetSequenceNumber</H3> +<PRE> +public static void <B>resetSequenceNumber</B>()</PRE> +<DL> +<DD>Resets that sequence number to 0. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getNextId()"><!-- --></A><H3> +getNextId</H3> +<PRE> +protected static long <B>getNextId</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogRecord.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/LogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogRecordFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogRecordFilter.html new file mode 100644 index 00000000000..6540f2a175e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/LogRecordFilter.html @@ -0,0 +1,221 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogRecordFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogRecordFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogRecordFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/LogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5</FONT> +<BR> +Interface LogRecordFilter</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerLogRecordFilter</A>, <A HREF="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5">PassingLogRecordFilter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>LogRecordFilter</B></DL> +</PRE> + +<P> +An interface for classes which filters LogRecords. Implementations + represent a rule or condition which LogRecords may pass or fail. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Wan</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><CODE>LogRecord</CODE></A></DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)">passes</A></B>(<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="passes(org.apache.log4j.lf5.LogRecord)"><!-- --></A><H3> +passes</H3> +<PRE> +boolean <B>passes</B>(<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</PRE> +<DL> +<DD><DL> + +<DT><B>Returns:</B><DD>true if the specified LogRecord satisfies whatever condition + implementing class tests for.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogRecordFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/LogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/PassingLogRecordFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/PassingLogRecordFilter.html new file mode 100644 index 00000000000..7bd8bc3ba52 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/PassingLogRecordFilter.html @@ -0,0 +1,292 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PassingLogRecordFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PassingLogRecordFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PassingLogRecordFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/PassingLogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PassingLogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5</FONT> +<BR> +Class PassingLogRecordFilter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.PassingLogRecordFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>PassingLogRecordFilter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></DL> +</PRE> + +<P> +An implementation of LogRecordFilter which always returns true. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Wan</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html#PassingLogRecordFilter()">PassingLogRecordFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)">passes</A></B>(<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html#reset()">reset</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PassingLogRecordFilter()"><!-- --></A><H3> +PassingLogRecordFilter</H3> +<PRE> +public <B>PassingLogRecordFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="passes(org.apache.log4j.lf5.LogRecord)"><!-- --></A><H3> +passes</H3> +<PRE> +public boolean <B>passes</B>(<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)">passes</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true;</DL> +</DD> +</DL> +<HR> + +<A NAME="reset()"><!-- --></A><H3> +reset</H3> +<PRE> +public void <B>reset</B>()</PRE> +<DL> +<DD>Does nothing. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PassingLogRecordFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/PassingLogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PassingLogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/StartLogFactor5.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/StartLogFactor5.html new file mode 100644 index 00000000000..c77bb4dd6f5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/StartLogFactor5.html @@ -0,0 +1,265 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +StartLogFactor5 (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="StartLogFactor5 (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StartLogFactor5.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/StartLogFactor5.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StartLogFactor5.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5</FONT> +<BR> +Class StartLogFactor5</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.StartLogFactor5</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>StartLogFactor5</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Starts an instance of the LogFactor5 console for off-line viewing. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Brad Marlborough, Richard Hurst</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/StartLogFactor5.html#StartLogFactor5()">StartLogFactor5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/lf5/StartLogFactor5.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main - starts a an instance of the LogFactor5 console and configures + the console settings.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="StartLogFactor5()"><!-- --></A><H3> +StartLogFactor5</H3> +<PRE> +public <B>StartLogFactor5</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="main(java.lang.String[])"><!-- --></A><H3> +main</H3> +<PRE> +public static final void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)</PRE> +<DL> +<DD>Main - starts a an instance of the LogFactor5 console and configures + the console settings. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StartLogFactor5.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/StartLogFactor5.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StartLogFactor5.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/AppenderFinalizer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/AppenderFinalizer.html new file mode 100644 index 00000000000..aaaa7c06269 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/AppenderFinalizer.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.AppenderFinalizer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.AppenderFinalizer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useAppenderFinalizer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderFinalizer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.AppenderFinalizer</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> declared as <A HREF="../../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A></CODE></FONT></TD> +<TD><CODE><B>LF5Appender.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LF5Appender.html#_finalizer">_finalizer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useAppenderFinalizer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderFinalizer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/DefaultLF5Configurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/DefaultLF5Configurator.html new file mode 100644 index 00000000000..33768aef2af --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/DefaultLF5Configurator.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.DefaultLF5Configurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.DefaultLF5Configurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useDefaultLF5Configurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultLF5Configurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.DefaultLF5Configurator</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.DefaultLF5Configurator +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useDefaultLF5Configurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultLF5Configurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LF5Appender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LF5Appender.html new file mode 100644 index 00000000000..fc3170c6376 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LF5Appender.html @@ -0,0 +1,182 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.LF5Appender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.LF5Appender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLF5Appender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LF5Appender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.LF5Appender</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> with parameters of type <A HREF="../../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>LF5Appender.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LF5Appender.html#equals(org.apache.log4j.lf5.LF5Appender)">equals</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A>&nbsp;compareTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The equals method compares two LF5Appenders and determines whether + they are equal.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLF5Appender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LF5Appender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/Log4JLogRecord.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/Log4JLogRecord.html new file mode 100644 index 00000000000..b8f09b1457f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/Log4JLogRecord.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.Log4JLogRecord (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.Log4JLogRecord (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLog4JLogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Log4JLogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.Log4JLogRecord</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.Log4JLogRecord +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLog4JLogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Log4JLogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogLevel.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogLevel.html new file mode 100644 index 00000000000..ab7d2721d38 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogLevel.html @@ -0,0 +1,566 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.LogLevel (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.LogLevel (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLogLevel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLevel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.LogLevel</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.util"><B>org.apache.log4j.lf5.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> declared as <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogRecord.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_level">_level</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#CONFIG">CONFIG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#DEBUG">DEBUG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#ERROR">ERROR</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#FATAL">FATAL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#FINE">FINE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#FINER">FINER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#FINEST">FINEST</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#INFO">INFO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#SEVERE">SEVERE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#WARN">WARN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#WARNING">WARNING</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> that return <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogRecord.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getLevel()">getLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the level of this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#register(org.apache.log4j.lf5.LogLevel)">register</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;logLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registers a used defined LogLevel.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert a log level label into a LogLevel object.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> with parameters of type <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#encompasses(org.apache.log4j.lf5.LogLevel)">encompasses</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the level supplied is encompassed by this level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#register(org.apache.log4j.lf5.LogLevel)">register</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;logLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registers a used defined LogLevel.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#register(org.apache.log4j.lf5.LogLevel[])">register</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>[]&nbsp;logLevels)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogRecord.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setLevel(org.apache.log4j.lf5.LogLevel)">setLevel</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the level of this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#setLogLevelColorMap(org.apache.log4j.lf5.LogLevel, java.awt.Color)">setLogLevelColorMap</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A>&nbsp;color)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> in <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A> that return <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#getDefaultLevel()">getDefaultLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the default LogLevel for the Adapter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>AdapterLogRecord.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html#getSevereLevel()">getSevereLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#getSevereLevel()">getSevereLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the current Severe LogLevel</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A> with parameters of type <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message to the Monitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.String)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;NDC)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message to the Monitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.Throwable)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message to the Monitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.Throwable, java.lang.String)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;NDC)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a complete message to the Monitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#newInstance(org.apache.log4j.lf5.LogLevel[])">newInstance</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>[]&nbsp;userDefined)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of LogMonitorAdapter using the specified LogLevels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#setDefaultLevel(org.apache.log4j.lf5.LogLevel)">setDefaultLevel</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the default log level to be used when logging messages without + specifying a LogLevel.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AdapterLogRecord.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html#setSevereLevel(org.apache.log4j.lf5.LogLevel)">setSevereLevel</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#setSevereLevel(org.apache.log4j.lf5.LogLevel)">setSevereLevel</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the Severe LogLevel.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> declared as <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_leastSevereDisplayedLogLevel">_leastSevereDisplayedLogLevel</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> with parameters of type <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createMenuItem(org.apache.log4j.lf5.LogLevel)">createMenuItem</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createSubMenuItem(org.apache.log4j.lf5.LogLevel)">createSubMenuItem</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A></CODE></FONT></TD> +<TD><CODE><B>LogTableRowRenderer.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#getLogLevelColor(org.apache.log4j.lf5.LogLevel)">getLogLevelColor</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getMenuItem(org.apache.log4j.lf5.LogLevel)">getMenuItem</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setLeastSevereDisplayedLogLevel(org.apache.log4j.lf5.LogLevel)">setLeastSevereDisplayedLogLevel</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#showLogLevelColorChangeDialog(javax.swing.JMenuItem, org.apache.log4j.lf5.LogLevel)">showLogLevelColorChangeDialog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A>&nbsp;result, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLogLevel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLevel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogLevelFormatException.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogLevelFormatException.html new file mode 100644 index 00000000000..2028f537230 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogLevelFormatException.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.LogLevelFormatException (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.LogLevelFormatException (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLogLevelFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLevelFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.LogLevelFormatException</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5">LogLevelFormatException</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5">LogLevelFormatException</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> that throw <A HREF="../../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5">LogLevelFormatException</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B>LogLevel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert a log level label into a LogLevel object.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLogLevelFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogLevelFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogRecord.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogRecord.html new file mode 100644 index 00000000000..55e286ccafb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogRecord.html @@ -0,0 +1,360 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.LogRecord (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.LogRecord (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.LogRecord</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.util"><B>org.apache.log4j.lf5.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5">Log4JLogRecord</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <code>Log4JLogRecord</code> encapsulates + the details of your log4j <code>LoggingEvent</code> in a format usable + by the <code>LogBrokerMonitor</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> with parameters of type <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>PassingLogRecordFilter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)">passes</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>LogRecordFilter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)">passes</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> in <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> in <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A LogRecord to be used with the LogMonitorAdapter</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A> with parameters of type <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#addMessage(org.apache.log4j.lf5.LogRecord)">addMessage</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a LogRecord to the LogMonitor.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> that return <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></CODE></FONT></TD> +<TD><CODE><B>FilteredLogTableModel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getFilteredRecord(int)">getFilteredRecord</A></B>(int&nbsp;row)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> with parameters of type <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>FilteredLogTableModel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#addLogRecord(org.apache.log4j.lf5.LogRecord)">addLogRecord</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#addMessage(org.apache.log4j.lf5.LogRecord)">addMessage</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;lr)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a log record message to be displayed in the LogTable.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B>FilteredLogTableModel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getColumn(int, org.apache.log4j.lf5.LogRecord)">getColumn</A></B>(int&nbsp;col, + <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;lr)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#matches(org.apache.log4j.lf5.LogRecord, java.lang.String)">matches</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;text)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check to see if the any records contain the search string.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> in <A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> with parameters of type <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#addLogRecord(org.apache.log4j.lf5.LogRecord)">addLogRecord</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;lr)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerLogRecordFilter.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)">passes</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogRecordFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogRecordFilter.html new file mode 100644 index 00000000000..552943158db --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/LogRecordFilter.html @@ -0,0 +1,287 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.lf5.LogRecordFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.lf5.LogRecordFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.lf5.LogRecordFilter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> that implement <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5">PassingLogRecordFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An implementation of LogRecordFilter which always returns true.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A> in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> declared as <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></CODE></FONT></TD> +<TD><CODE><B>FilteredLogTableModel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_filter">_filter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> that return <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogRecordFilter()">createLogRecordFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createNDCLogRecordFilter(java.lang.String)">createNDCLogRecordFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;text)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></CODE></FONT></TD> +<TD><CODE><B>FilteredLogTableModel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getLogRecordFilter()">getLogRecordFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> with parameters of type <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>FilteredLogTableModel.</B><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#setLogRecordFilter(org.apache.log4j.lf5.LogRecordFilter)">setLogRecordFilter</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A>&nbsp;filter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A> in <A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> that implement <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerLogRecordFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An implementation of LogRecordFilter based on a CategoryExplorerModel</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useLogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/PassingLogRecordFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/PassingLogRecordFilter.html new file mode 100644 index 00000000000..198136e12ea --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/PassingLogRecordFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.PassingLogRecordFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.PassingLogRecordFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-usePassingLogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PassingLogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.PassingLogRecordFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.PassingLogRecordFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-usePassingLogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PassingLogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/StartLogFactor5.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/StartLogFactor5.html new file mode 100644 index 00000000000..e1127e69dea --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/class-use/StartLogFactor5.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.StartLogFactor5 (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.StartLogFactor5 (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useStartLogFactor5.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StartLogFactor5.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.StartLogFactor5</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.StartLogFactor5 +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5//class-useStartLogFactor5.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StartLogFactor5.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-frame.html new file mode 100644 index 00000000000..dfe4af57f33 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-frame.html @@ -0,0 +1,69 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5 (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/lf5/package-summary.html" target="classFrame">org.apache.log4j.lf5</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Interfaces</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="LogRecordFilter.html" title="interface in org.apache.log4j.lf5" target="classFrame"><I>LogRecordFilter</I></A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="AppenderFinalizer.html" title="class in org.apache.log4j.lf5" target="classFrame">AppenderFinalizer</A> +<BR> +<A HREF="DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5" target="classFrame">DefaultLF5Configurator</A> +<BR> +<A HREF="LF5Appender.html" title="class in org.apache.log4j.lf5" target="classFrame">LF5Appender</A> +<BR> +<A HREF="Log4JLogRecord.html" title="class in org.apache.log4j.lf5" target="classFrame">Log4JLogRecord</A> +<BR> +<A HREF="LogLevel.html" title="class in org.apache.log4j.lf5" target="classFrame">LogLevel</A> +<BR> +<A HREF="LogRecord.html" title="class in org.apache.log4j.lf5" target="classFrame">LogRecord</A> +<BR> +<A HREF="PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5" target="classFrame">PassingLogRecordFilter</A> +<BR> +<A HREF="StartLogFactor5.html" title="class in org.apache.log4j.lf5" target="classFrame">StartLogFactor5</A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Exceptions</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="LogLevelFormatException.html" title="class in org.apache.log4j.lf5" target="classFrame">LogLevelFormatException</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-summary.html new file mode 100644 index 00000000000..2a4878cae3f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-summary.html @@ -0,0 +1,223 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5 (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.lf5 (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/util/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.lf5 +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Interface Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></B></TD> +<TD>An interface for classes which filters LogRecords.</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5">AppenderFinalizer</A></B></TD> +<TD><code>AppenderFinalizer</code> has a single method that will finalize + resources associated with a <code>LogBrokerMonitor</code> in the event + that the <code>LF5Appender</code> class is destroyed, and the class loader + is garbage collected.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5">DefaultLF5Configurator</A></B></TD> +<TD>The <code>DefaultLF5Configurator</code> provides a default + configuration for the <code>LF5Appender</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A></B></TD> +<TD><code>LF5Appender</code> logs events to a swing based logging + console.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5">Log4JLogRecord</A></B></TD> +<TD>A <code>Log4JLogRecord</code> encapsulates + the details of your log4j <code>LoggingEvent</code> in a format usable + by the <code>LogBrokerMonitor</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></B></TD> +<TD>The LogLevel class defines a set of standard logging levels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></B></TD> +<TD>LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5">PassingLogRecordFilter</A></B></TD> +<TD>An implementation of LogRecordFilter which always returns true.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5">StartLogFactor5</A></B></TD> +<TD>Starts an instance of the LogFactor5 console for off-line viewing.</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Exception Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5">LogLevelFormatException</A></B></TD> +<TD>Thrown to indicate that the client has attempted to convert a string + to one the LogLevel types, but the string does not have the appropriate + format.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/util/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-tree.html new file mode 100644 index 00000000000..ccf54493be4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-tree.html @@ -0,0 +1,173 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5 Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.lf5 Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/util/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.lf5 +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5"><B>AppenderFinalizer</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>AppenderSkeleton</B></A> (implements org.apache.log4j.<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5"><B>LF5Appender</B></A></UL> +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5"><B>DefaultLF5Configurator</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A>) +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><B>LogLevel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><B>LogRecord</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5"><B>Log4JLogRecord</B></A></UL> +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5"><B>PassingLogRecordFilter</B></A> (implements org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A>) +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5"><B>StartLogFactor5</B></A><LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5"><B>LogLevelFormatException</B></A></UL> +</UL> +</UL> +</UL> +<H2> +Interface Hierarchy +</H2> +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5"><B>LogRecordFilter</B></A></UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/jmx/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/util/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-use.html new file mode 100644 index 00000000000..80d648bd2cf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/package-use.html @@ -0,0 +1,288 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.lf5 (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.lf5 (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.lf5</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.util"><B>org.apache.log4j.lf5.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> used by <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/AppenderFinalizer.html#org.apache.log4j.lf5"><B>AppenderFinalizer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>AppenderFinalizer</code> has a single method that will finalize + resources associated with a <code>LogBrokerMonitor</code> in the event + that the <code>LF5Appender</code> class is destroyed, and the class loader + is garbage collected.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LF5Appender.html#org.apache.log4j.lf5"><B>LF5Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>LF5Appender</code> logs events to a swing based logging + console.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogLevel.html#org.apache.log4j.lf5"><B>LogLevel</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The LogLevel class defines a set of standard logging levels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogLevelFormatException.html#org.apache.log4j.lf5"><B>LogLevelFormatException</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thrown to indicate that the client has attempted to convert a string + to one the LogLevel types, but the string does not have the appropriate + format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogRecord.html#org.apache.log4j.lf5"><B>LogRecord</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogRecordFilter.html#org.apache.log4j.lf5"><B>LogRecordFilter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An interface for classes which filters LogRecords.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> used by <A HREF="../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogLevel.html#org.apache.log4j.lf5.util"><B>LogLevel</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The LogLevel class defines a set of standard logging levels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogRecord.html#org.apache.log4j.lf5.util"><B>LogRecord</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogRecord.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> used by <A HREF="../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogLevel.html#org.apache.log4j.lf5.viewer"><B>LogLevel</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The LogLevel class defines a set of standard logging levels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogRecord.html#org.apache.log4j.lf5.viewer"><B>LogRecord</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogRecordFilter.html#org.apache.log4j.lf5.viewer"><B>LogRecordFilter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An interface for classes which filters LogRecords.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> used by <A HREF="../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogRecord.html#org.apache.log4j.lf5.viewer.categoryexplorer"><B>LogRecord</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/lf5/class-use/LogRecordFilter.html#org.apache.log4j.lf5.viewer.categoryexplorer"><B>LogRecordFilter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An interface for classes which filters LogRecords.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/lf5/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/AdapterLogRecord.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/AdapterLogRecord.html new file mode 100644 index 00000000000..41bdf92fdcc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/AdapterLogRecord.html @@ -0,0 +1,433 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AdapterLogRecord (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AdapterLogRecord (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AdapterLogRecord.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/AdapterLogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AdapterLogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.lf5.LogRecord">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.util</FONT> +<BR> +Class AdapterLogRecord</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">org.apache.log4j.lf5.LogRecord</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.util.AdapterLogRecord</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>AdapterLogRecord</B><DT>extends <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></DL> +</PRE> + +<P> +<p>A LogRecord to be used with the LogMonitorAdapter</p> +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Hurst</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.util.AdapterLogRecord">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.lf5.LogRecord"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.lf5.<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_category">_category</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_level">_level</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_location">_location</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_message">_message</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_millis">_millis</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_ndc">_ndc</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_seqCount">_seqCount</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_sequenceNumber">_sequenceNumber</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_thread">_thread</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_thrown">_thrown</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#_thrownStackTrace">_thrownStackTrace</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html#AdapterLogRecord()">AdapterLogRecord</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html#getLocationInfo(java.lang.String)">getLocationInfo</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html#getSevereLevel()">getSevereLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html#isSevereLevel()">isSevereLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html#parseLine(java.lang.String, java.lang.String)">parseLine</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;trace, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html#setCategory(java.lang.String)">setCategory</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the category associated with this LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html#setSevereLevel(org.apache.log4j.lf5.LogLevel)">setSevereLevel</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html#stackTraceToString(java.lang.Throwable)">stackTraceToString</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.lf5.LogRecord"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.lf5.<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getCategory()">getCategory</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getLevel()">getLevel</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getLocation()">getLocation</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getMessage()">getMessage</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getMillis()">getMillis</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getNDC()">getNDC</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getNextId()">getNextId</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getSequenceNumber()">getSequenceNumber</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getThreadDescription()">getThreadDescription</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getThrown()">getThrown</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getThrownStackTrace()">getThrownStackTrace</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#hasThrown()">hasThrown</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#isFatal()">isFatal</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#resetSequenceNumber()">resetSequenceNumber</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setLevel(org.apache.log4j.lf5.LogLevel)">setLevel</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setLocation(java.lang.String)">setLocation</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setMessage(java.lang.String)">setMessage</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setMillis(long)">setMillis</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setNDC(java.lang.String)">setNDC</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setSequenceNumber(long)">setSequenceNumber</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setThreadDescription(java.lang.String)">setThreadDescription</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setThrown(java.lang.Throwable)">setThrown</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setThrownStackTrace(java.lang.String)">setThrownStackTrace</A>, <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#toString()">toString</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AdapterLogRecord()"><!-- --></A><H3> +AdapterLogRecord</H3> +<PRE> +public <B>AdapterLogRecord</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setCategory(java.lang.String)"><!-- --></A><H3> +setCategory</H3> +<PRE> +public void <B>setCategory</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setCategory(java.lang.String)">LogRecord</A></CODE></B></DD> +<DD>Set the category associated with this LogRecord. A category represents + a hierarchical dot (".") separated namespace for messages. + The definition of a category is application specific, but a common convention + is as follows: + + <p> + When logging messages + for a particluar class you can use its class name: + com.thoughtworks.framework.servlet.ServletServiceBroker.<br><br> + Futhermore, to log a message for a particular method in a class + add the method name: + com.thoughtworks.framework.servlet.ServletServiceBroker.init(). + </p> +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#setCategory(java.lang.String)">setCategory</A></CODE> in class <CODE><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>category</CODE> - The category for this record.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#getCategory()"><CODE>LogRecord.getCategory()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="isSevereLevel()"><!-- --></A><H3> +isSevereLevel</H3> +<PRE> +public boolean <B>isSevereLevel</B>()</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#isSevereLevel()">LogRecord</A></CODE></B></DD> +<DD>Abstract method. Must be overridden to indicate what log level + to show in red. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html#isSevereLevel()">isSevereLevel</A></CODE> in class <CODE><A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSevereLevel(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +setSevereLevel</H3> +<PRE> +public static void <B>setSevereLevel</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSevereLevel()"><!-- --></A><H3> +getSevereLevel</H3> +<PRE> +public static <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>getSevereLevel</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocationInfo(java.lang.String)"><!-- --></A><H3> +getLocationInfo</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLocationInfo</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="stackTraceToString(java.lang.Throwable)"><!-- --></A><H3> +stackTraceToString</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>stackTraceToString</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseLine(java.lang.String, java.lang.String)"><!-- --></A><H3> +parseLine</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>parseLine</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;trace, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AdapterLogRecord.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/AdapterLogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AdapterLogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.lf5.LogRecord">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/DateFormatManager.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/DateFormatManager.html new file mode 100644 index 00000000000..10a79870342 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/DateFormatManager.html @@ -0,0 +1,640 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DateFormatManager (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DateFormatManager (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DateFormatManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/DateFormatManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateFormatManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.util</FONT> +<BR> +Class DateFormatManager</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.util.DateFormatManager</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>DateFormatManager</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Date format manager. + Utility class to help manage consistent date formatting and parsing. + It may be advantageous to have multiple DateFormatManagers per + application. For example, one for handling the output (formatting) of + dates, and another one for handling the input (parsing) of dates. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Robert Shaw, Michael J. Sikorsky</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager()">DateFormatManager</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.Locale)">DateFormatManager</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A>&nbsp;locale)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.Locale, java.lang.String)">DateFormatManager</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A>&nbsp;locale, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.lang.String)">DateFormatManager</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.TimeZone)">DateFormatManager</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.TimeZone, java.util.Locale)">DateFormatManager</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A>&nbsp;locale)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.TimeZone, java.util.Locale, java.lang.String)">DateFormatManager</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A>&nbsp;locale, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#DateFormatManager(java.util.TimeZone, java.lang.String)">DateFormatManager</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#format(java.util.Date)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#format(java.util.Date, java.lang.String)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#getDateFormatInstance()">getDateFormatInstance</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#getLocale()">getLocale</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#getOutputFormat()">getOutputFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use getPattern().</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#getPattern()">getPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#getTimeZone()">getTimeZone</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#parse(java.lang.String)">parse</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;date)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#parse(java.lang.String, java.lang.String)">parse</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#setDateFormatInstance(java.text.DateFormat)">setDateFormatInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A>&nbsp;dateFormat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#setLocale(java.util.Locale)">setLocale</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A>&nbsp;locale)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#setOutputFormat(java.lang.String)">setOutputFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use setPattern().</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#setPattern(java.lang.String)">setPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html#setTimeZone(java.util.TimeZone)">setTimeZone</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DateFormatManager()"><!-- --></A><H3> +DateFormatManager</H3> +<PRE> +public <B>DateFormatManager</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="DateFormatManager(java.util.TimeZone)"><!-- --></A><H3> +DateFormatManager</H3> +<PRE> +public <B>DateFormatManager</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</PRE> +<DL> +</DL> +<HR> + +<A NAME="DateFormatManager(java.util.Locale)"><!-- --></A><H3> +DateFormatManager</H3> +<PRE> +public <B>DateFormatManager</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A>&nbsp;locale)</PRE> +<DL> +</DL> +<HR> + +<A NAME="DateFormatManager(java.lang.String)"><!-- --></A><H3> +DateFormatManager</H3> +<PRE> +public <B>DateFormatManager</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +</DL> +<HR> + +<A NAME="DateFormatManager(java.util.TimeZone, java.util.Locale)"><!-- --></A><H3> +DateFormatManager</H3> +<PRE> +public <B>DateFormatManager</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A>&nbsp;locale)</PRE> +<DL> +</DL> +<HR> + +<A NAME="DateFormatManager(java.util.TimeZone, java.lang.String)"><!-- --></A><H3> +DateFormatManager</H3> +<PRE> +public <B>DateFormatManager</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +</DL> +<HR> + +<A NAME="DateFormatManager(java.util.Locale, java.lang.String)"><!-- --></A><H3> +DateFormatManager</H3> +<PRE> +public <B>DateFormatManager</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A>&nbsp;locale, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +</DL> +<HR> + +<A NAME="DateFormatManager(java.util.TimeZone, java.util.Locale, java.lang.String)"><!-- --></A><H3> +DateFormatManager</H3> +<PRE> +public <B>DateFormatManager</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A>&nbsp;locale, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getTimeZone()"><!-- --></A><H3> +getTimeZone</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A> <B>getTimeZone</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setTimeZone(java.util.TimeZone)"><!-- --></A><H3> +setTimeZone</H3> +<PRE> +public void <B>setTimeZone</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocale()"><!-- --></A><H3> +getLocale</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A> <B>getLocale</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLocale(java.util.Locale)"><!-- --></A><H3> +setLocale</H3> +<PRE> +public void <B>setLocale</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</A>&nbsp;locale)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPattern()"><!-- --></A><H3> +getPattern</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getPattern</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setPattern(java.lang.String)"><!-- --></A><H3> +setPattern</H3> +<PRE> +public void <B>setPattern</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD>Set the pattern. i.e. "EEEEE, MMMMM d, yyyy hh:mm aaa" +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getOutputFormat()"><!-- --></A><H3> +getOutputFormat</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getOutputFormat</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use getPattern().</I> +<P> +<DD>This method has been deprecated in favour of getPattern(). +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setOutputFormat(java.lang.String)"><!-- --></A><H3> +setOutputFormat</H3> +<PRE> +public void <B>setOutputFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use setPattern().</I> +<P> +<DD>This method has been deprecated in favour of setPattern(). +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDateFormatInstance()"><!-- --></A><H3> +getDateFormatInstance</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A> <B>getDateFormatInstance</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setDateFormatInstance(java.text.DateFormat)"><!-- --></A><H3> +setDateFormatInstance</H3> +<PRE> +public void <B>setDateFormatInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A>&nbsp;dateFormat)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.util.Date)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.util.Date, java.lang.String)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parse(java.lang.String)"><!-- --></A><H3> +parse</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>parse</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;date) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParseException.html?is-external=true" title="class or interface in java.text">ParseException</A></PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParseException.html?is-external=true" title="class or interface in java.text">ParseException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="parse(java.lang.String, java.lang.String)"><!-- --></A><H3> +parse</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>parse</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParseException.html?is-external=true" title="class or interface in java.text">ParseException</A></PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParseException.html?is-external=true" title="class or interface in java.text">ParseException</A></CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DateFormatManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/DateFormatManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateFormatManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/LogFileParser.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/LogFileParser.html new file mode 100644 index 00000000000..2486f46befc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/LogFileParser.html @@ -0,0 +1,527 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogFileParser (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogFileParser (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogFileParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/LogFileParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFileParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.util</FONT> +<BR> +Class LogFileParser</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.util.LogFileParser</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogFileParser</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DL> +</PRE> + +<P> +Provides utility methods for input and output streams. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Brad Marlborough, Richard Hurst</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#ATTRIBUTE_DELIMITER">ATTRIBUTE_DELIMITER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#CATEGORY_DELIMITER">CATEGORY_DELIMITER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#DATE_DELIMITER">DATE_DELIMITER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#LOCATION_DELIMITER">LOCATION_DELIMITER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#MESSAGE_DELIMITER">MESSAGE_DELIMITER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#NDC_DELIMITER">NDC_DELIMITER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#PRIORITY_DELIMITER">PRIORITY_DELIMITER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#RECORD_DELIMITER">RECORD_DELIMITER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#THREAD_DELIMITER">THREAD_DELIMITER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#LogFileParser(java.io.File)">LogFileParser</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A>&nbsp;file)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#LogFileParser(java.io.InputStream)">LogFileParser</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;stream)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#displayError(java.lang.String)">displayError</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#parse(org.apache.log4j.lf5.viewer.LogBrokerMonitor)">parse</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;monitor)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts a new thread to parse the log file and create a LogRecord.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html#run()">run</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parses the file and creates new log records and adds the record + to the monitor.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="RECORD_DELIMITER"><!-- --></A><H3> +RECORD_DELIMITER</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>RECORD_DELIMITER</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogFileParser.RECORD_DELIMITER">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="ATTRIBUTE_DELIMITER"><!-- --></A><H3> +ATTRIBUTE_DELIMITER</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ATTRIBUTE_DELIMITER</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogFileParser.ATTRIBUTE_DELIMITER">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="DATE_DELIMITER"><!-- --></A><H3> +DATE_DELIMITER</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DATE_DELIMITER</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogFileParser.DATE_DELIMITER">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="THREAD_DELIMITER"><!-- --></A><H3> +THREAD_DELIMITER</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>THREAD_DELIMITER</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogFileParser.THREAD_DELIMITER">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="CATEGORY_DELIMITER"><!-- --></A><H3> +CATEGORY_DELIMITER</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>CATEGORY_DELIMITER</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogFileParser.CATEGORY_DELIMITER">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOCATION_DELIMITER"><!-- --></A><H3> +LOCATION_DELIMITER</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>LOCATION_DELIMITER</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogFileParser.LOCATION_DELIMITER">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="MESSAGE_DELIMITER"><!-- --></A><H3> +MESSAGE_DELIMITER</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>MESSAGE_DELIMITER</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogFileParser.MESSAGE_DELIMITER">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="PRIORITY_DELIMITER"><!-- --></A><H3> +PRIORITY_DELIMITER</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>PRIORITY_DELIMITER</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogFileParser.PRIORITY_DELIMITER">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="NDC_DELIMITER"><!-- --></A><H3> +NDC_DELIMITER</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>NDC_DELIMITER</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogFileParser.NDC_DELIMITER">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogFileParser(java.io.File)"><!-- --></A><H3> +LogFileParser</H3> +<PRE> +public <B>LogFileParser</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A>&nbsp;file) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A>, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</A></PRE> +<DL> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</A></CODE></DL> +</DL> +<HR> + +<A NAME="LogFileParser(java.io.InputStream)"><!-- --></A><H3> +LogFileParser</H3> +<PRE> +public <B>LogFileParser</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;stream) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="parse(org.apache.log4j.lf5.viewer.LogBrokerMonitor)"><!-- --></A><H3> +parse</H3> +<PRE> +public void <B>parse</B>(<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;monitor) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A></PRE> +<DL> +<DD>Starts a new thread to parse the log file and create a LogRecord. + See run(). +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>monitor</CODE> - LogBrokerMonitor +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="run()"><!-- --></A><H3> +run</H3> +<PRE> +public void <B>run</B>()</PRE> +<DL> +<DD>Parses the file and creates new log records and adds the record + to the monitor. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="displayError(java.lang.String)"><!-- --></A><H3> +displayError</H3> +<PRE> +protected void <B>displayError</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogFileParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/LogFileParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFileParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/LogMonitorAdapter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/LogMonitorAdapter.html new file mode 100644 index 00000000000..cf397aec196 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/LogMonitorAdapter.html @@ -0,0 +1,678 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogMonitorAdapter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogMonitorAdapter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogMonitorAdapter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/LogMonitorAdapter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogMonitorAdapter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.util</FONT> +<BR> +Class LogMonitorAdapter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.util.LogMonitorAdapter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>LogMonitorAdapter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +<p>LogMonitorAdapter facilitates the usage of the LogMonitor</p> +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Hurst</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#JDK14_LOG_LEVELS">JDK14_LOG_LEVELS</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#LOG4J_LOG_LEVELS">LOG4J_LOG_LEVELS</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#addMessage(org.apache.log4j.lf5.LogRecord)">addMessage</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a LogRecord to the LogMonitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#getDefaultLevel()">getDefaultLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the default LogLevel for the Adapter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#getDefaultMonitorHeight()">getDefaultMonitorHeight</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#getDefaultMonitorWidth()">getDefaultMonitorWidth</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#getScreenHeight()">getScreenHeight</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#getScreenWidth()">getScreenWidth</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#getSevereLevel()">getSevereLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the current Severe LogLevel</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message to the Monitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.String)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;NDC)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message to the Monitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.Throwable)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message to the Monitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.Throwable, java.lang.String)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;NDC)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a complete message to the Monitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#log(java.lang.String, java.lang.String)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message to the Monitor and use the default LogLevel.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#newInstance(int)">newInstance</A></B>(int&nbsp;loglevels)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of LogMonitorAdapter using the + log levels inticated by the parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#newInstance(java.util.List)">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;userDefinedLevels)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of LogMonitorAdapter using the specified LogLevels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#newInstance(org.apache.log4j.lf5.LogLevel[])">newInstance</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>[]&nbsp;userDefined)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of LogMonitorAdapter using the specified LogLevels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#setDefaultLevel(org.apache.log4j.lf5.LogLevel)">setDefaultLevel</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the default log level to be used when logging messages without + specifying a LogLevel.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#setMaxNumberOfRecords(int)">setMaxNumberOfRecords</A></B>(int&nbsp;maxNumberOfRecords)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the maximum number of records to be displayed in the monitor</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#setSevereLevel(org.apache.log4j.lf5.LogLevel)">setSevereLevel</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the Severe LogLevel.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LOG4J_LOG_LEVELS"><!-- --></A><H3> +LOG4J_LOG_LEVELS</H3> +<PRE> +public static final int <B>LOG4J_LOG_LEVELS</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogMonitorAdapter.LOG4J_LOG_LEVELS">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="JDK14_LOG_LEVELS"><!-- --></A><H3> +JDK14_LOG_LEVELS</H3> +<PRE> +public static final int <B>JDK14_LOG_LEVELS</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.LogMonitorAdapter.JDK14_LOG_LEVELS">Constant Field Values</A></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(int)"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> <B>newInstance</B>(int&nbsp;loglevels)</PRE> +<DL> +<DD><p>Creates an instance of LogMonitorAdapter using the + log levels inticated by the parameter. Log4J and JDK1.4 both have default + LogLevels which are set but these levels can be overriden.<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>loglevels</CODE> - An integer representing either Log4J or JDK1.4 logging levels +<DT><B>Returns:</B><DD>LogMonitorAdapter</DL> +</DD> +</DL> +<HR> + +<A NAME="newInstance(org.apache.log4j.lf5.LogLevel[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> <B>newInstance</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>[]&nbsp;userDefined)</PRE> +<DL> +<DD><p>Creates an instance of LogMonitorAdapter using the specified LogLevels. + The first LogLevel in the array is used as the default LogLevel unless + changed using the setDefaultLevel method.<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>userDefined</CODE> - An array of user defined LogLevel objects. +<DT><B>Returns:</B><DD>LogMonitorAdapter</DL> +</DD> +</DL> +<HR> + +<A NAME="newInstance(java.util.List)"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;userDefinedLevels)</PRE> +<DL> +<DD><p>Creates an instance of LogMonitorAdapter using the specified LogLevels. + The first LogLevel in the List is used as the default LogLevel unless + changed using the setDefaultLevel method.<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>userDefinedLevels</CODE> - A list of user defined LogLevel objects. +<DT><B>Returns:</B><DD>LogMonitorAdapter</DL> +</DD> +</DL> +<HR> + +<A NAME="addMessage(org.apache.log4j.lf5.LogRecord)"><!-- --></A><H3> +addMessage</H3> +<PRE> +public void <B>addMessage</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</PRE> +<DL> +<DD><p>Adds a LogRecord to the LogMonitor.<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>record</CODE> - The LogRecord object to be logged in the logging monitor.</DL> +</DD> +</DL> +<HR> + +<A NAME="setMaxNumberOfRecords(int)"><!-- --></A><H3> +setMaxNumberOfRecords</H3> +<PRE> +public void <B>setMaxNumberOfRecords</B>(int&nbsp;maxNumberOfRecords)</PRE> +<DL> +<DD><p>Set the maximum number of records to be displayed in the monitor<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>maxNumberOfRecords</CODE> - </DL> +</DD> +</DL> +<HR> + +<A NAME="setDefaultLevel(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +setDefaultLevel</H3> +<PRE> +public void <B>setDefaultLevel</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD><p>Set the default log level to be used when logging messages without + specifying a LogLevel.<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>level</CODE> - </DL> +</DD> +</DL> +<HR> + +<A NAME="getDefaultLevel()"><!-- --></A><H3> +getDefaultLevel</H3> +<PRE> +public <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>getDefaultLevel</B>()</PRE> +<DL> +<DD><p>Gets the default LogLevel for the Adapter.<p> +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>LogLevel</DL> +</DD> +</DL> +<HR> + +<A NAME="setSevereLevel(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +setSevereLevel</H3> +<PRE> +public void <B>setSevereLevel</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD><p>Sets the Severe LogLevel.</p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>level</CODE> - </DL> +</DD> +</DL> +<HR> + +<A NAME="getSevereLevel()"><!-- --></A><H3> +getSevereLevel</H3> +<PRE> +public <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>getSevereLevel</B>()</PRE> +<DL> +<DD><p>Gets the current Severe LogLevel <p> +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>LogLevel</DL> +</DD> +</DL> +<HR> + +<A NAME="log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.Throwable, java.lang.String)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;NDC)</PRE> +<DL> +<DD><p>Log a complete message to the Monitor.<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>category</CODE> - The category to be used<DD><CODE>level</CODE> - The log level to apply to the message<DD><CODE>message</CODE> - The message<DD><CODE>t</CODE> - The throwable content of the message<DD><CODE>NDC</CODE> - The NDC really only applies to Log4J and the parameter can + usually be ignored.</DL> +</DD> +</DL> +<HR> + +<A NAME="log(java.lang.String, java.lang.String)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +<DD><p>Log a message to the Monitor and use the default LogLevel.<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>category</CODE> - The category to be used<DD><CODE>message</CODE> - The message</DL> +</DD> +</DL> +<HR> + +<A NAME="log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.String)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;NDC)</PRE> +<DL> +<DD><p>Log a message to the Monitor.<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>category</CODE> - The category to be used<DD><CODE>level</CODE> - The log level to apply to the message<DD><CODE>message</CODE> - The message<DD><CODE>NDC</CODE> - </DL> +</DD> +</DL> +<HR> + +<A NAME="log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String, java.lang.Throwable)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD><p>Log a message to the Monitor.<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>category</CODE> - The category to be used<DD><CODE>level</CODE> - The log level to apply to the message<DD><CODE>message</CODE> - The message<DD><CODE>t</CODE> - The throwable content of the message</DL> +</DD> +</DL> +<HR> + +<A NAME="log(java.lang.String, org.apache.log4j.lf5.LogLevel, java.lang.String)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +<DD><p>Log a message to the Monitor.<p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>category</CODE> - The category to be used<DD><CODE>level</CODE> - The log level to apply to the message<DD><CODE>message</CODE> - The message</DL> +</DD> +</DL> +<HR> + +<A NAME="getScreenWidth()"><!-- --></A><H3> +getScreenWidth</H3> +<PRE> +protected static int <B>getScreenWidth</B>()</PRE> +<DL> +<DD><DL> + +<DT><B>Returns:</B><DD>the screen width from Toolkit.getScreenSize() + if possible, otherwise returns 800<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Toolkit.html?is-external=true" title="class or interface in java.awt"><CODE>Toolkit</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getScreenHeight()"><!-- --></A><H3> +getScreenHeight</H3> +<PRE> +protected static int <B>getScreenHeight</B>()</PRE> +<DL> +<DD><DL> + +<DT><B>Returns:</B><DD>the screen height from Toolkit.getScreenSize() + if possible, otherwise returns 600<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Toolkit.html?is-external=true" title="class or interface in java.awt"><CODE>Toolkit</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getDefaultMonitorWidth()"><!-- --></A><H3> +getDefaultMonitorWidth</H3> +<PRE> +protected static int <B>getDefaultMonitorWidth</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDefaultMonitorHeight()"><!-- --></A><H3> +getDefaultMonitorHeight</H3> +<PRE> +protected static int <B>getDefaultMonitorHeight</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogMonitorAdapter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/LogMonitorAdapter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogMonitorAdapter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/Resource.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/Resource.html new file mode 100644 index 00000000000..6d62dd66f4f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/Resource.html @@ -0,0 +1,416 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Resource (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Resource (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Resource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/Resource.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Resource.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.util</FONT> +<BR> +Class Resource</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.util.Resource</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>Resource</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Resource encapsulates access to Resources via the Classloader. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#_name">_name</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#Resource()">Resource</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default, no argument constructor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#Resource(java.lang.String)">Resource</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a Resource given a name.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#getInputStream()">getInputStream</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the InputStream for this Resource.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStreamReader.html?is-external=true" title="class or interface in java.io">InputStreamReader</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#getInputStreamReader()">getInputStreamReader</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the InputStreamReader for this Resource.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#getName()">getName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the name of the resource.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#getURL()">getURL</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the URL of the Resource.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the name of the resource.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_name"><!-- --></A><H3> +_name</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_name</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Resource()"><!-- --></A><H3> +Resource</H3> +<PRE> +public <B>Resource</B>()</PRE> +<DL> +<DD>Default, no argument constructor. +<P> +</DL> +<HR> + +<A NAME="Resource(java.lang.String)"><!-- --></A><H3> +Resource</H3> +<PRE> +public <B>Resource</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Construct a Resource given a name. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#setName(java.lang.String)"><CODE>setName(String)</CODE></A></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setName(java.lang.String)"><!-- --></A><H3> +setName</H3> +<PRE> +public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Set the name of the resource. + <p> + A resource is some data (images, audio, text, etc) that can be accessed + by class code in a way that is independent of the location of the code. + </p> + <p> + The name of a resource is a "/"-separated path name that identifies + the resource. + </p> +<P> +<DD><DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#getName()"><CODE>getName()</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getName()"><!-- --></A><H3> +getName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE> +<DL> +<DD>Get the name of the resource. Set setName() for a description of + a resource. +<P> +<DD><DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#setName(java.lang.String)"><CODE>setName(java.lang.String)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getInputStream()"><!-- --></A><H3> +getInputStream</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A> <B>getInputStream</B>()</PRE> +<DL> +<DD>Get the InputStream for this Resource. Uses the classloader + from this Resource. +<P> +<DD><DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#getInputStreamReader()"><CODE>getInputStreamReader()</CODE></A>, +<A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><CODE>ResourceUtils</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getInputStreamReader()"><!-- --></A><H3> +getInputStreamReader</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStreamReader.html?is-external=true" title="class or interface in java.io">InputStreamReader</A> <B>getInputStreamReader</B>()</PRE> +<DL> +<DD>Get the InputStreamReader for this Resource. Uses the classloader from + this Resource. +<P> +<DD><DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html#getInputStream()"><CODE>getInputStream()</CODE></A>, +<A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><CODE>ResourceUtils</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getURL()"><!-- --></A><H3> +getURL</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A> <B>getURL</B>()</PRE> +<DL> +<DD>Get the URL of the Resource. Uses the classloader from this Resource. +<P> +<DD><DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><CODE>ResourceUtils</CODE></A></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Resource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/Resource.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Resource.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/ResourceUtils.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/ResourceUtils.html new file mode 100644 index 00000000000..6fb8050c774 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/ResourceUtils.html @@ -0,0 +1,301 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ResourceUtils (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ResourceUtils (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/ResourceUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ResourceUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.util</FONT> +<BR> +Class ResourceUtils</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.util.ResourceUtils</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>ResourceUtils</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +ResourceUtils. Provide a set of convenience methods for working with + Resources. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><CODE>Resource</CODE></A></DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html#ResourceUtils()">ResourceUtils</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html#getResourceAsStream(java.lang.Object, org.apache.log4j.lf5.util.Resource)">getResourceAsStream</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;object, + <A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A>&nbsp;resource)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the InputStream for this resource.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html#getResourceAsURL(java.lang.Object, org.apache.log4j.lf5.util.Resource)">getResourceAsURL</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;object, + <A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A>&nbsp;resource)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the URL for this resource.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ResourceUtils()"><!-- --></A><H3> +ResourceUtils</H3> +<PRE> +public <B>ResourceUtils</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getResourceAsStream(java.lang.Object, org.apache.log4j.lf5.util.Resource)"><!-- --></A><H3> +getResourceAsStream</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A> <B>getResourceAsStream</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;object, + <A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A>&nbsp;resource)</PRE> +<DL> +<DD>Get the InputStream for this resource. Note: to convert an InputStream + into an InputReader, use: new InputStreamReader(InputStream). +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>object</CODE> - The object to grab the Classloader from. + This parameter is quite important from a + visibility of resources standpoint as the + hierarchy of Classloaders plays a role.<DD><CODE>resource</CODE> - The resource to load. +<DT><B>Returns:</B><DD>If the Resource was found, the InputStream, otherwise null.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><CODE>Resource</CODE></A>, +<A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html#getResourceAsURL(java.lang.Object, org.apache.log4j.lf5.util.Resource)"><CODE>getResourceAsURL(Object,Resource)</CODE></A>, +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><CODE>InputStream</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="getResourceAsURL(java.lang.Object, org.apache.log4j.lf5.util.Resource)"><!-- --></A><H3> +getResourceAsURL</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A> <B>getResourceAsURL</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;object, + <A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A>&nbsp;resource)</PRE> +<DL> +<DD>Get the URL for this resource. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>object</CODE> - The object to grab the Classloader from. + This parameter is quite important from a + visibility of resources standpoint as the + hierarchy of Classloaders plays a role.<DD><CODE>resource</CODE> - The resource to load. +<DT><B>Returns:</B><DD>If the Resource was found, the URL, otherwise null.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><CODE>Resource</CODE></A>, +<A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html#getResourceAsStream(java.lang.Object, org.apache.log4j.lf5.util.Resource)"><CODE>getResourceAsStream(Object,Resource)</CODE></A></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/ResourceUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ResourceUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/StreamUtils.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/StreamUtils.html new file mode 100644 index 00000000000..f3a9bc71f97 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/StreamUtils.html @@ -0,0 +1,390 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +StreamUtils (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="StreamUtils (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StreamUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/StreamUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StreamUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.util</FONT> +<BR> +Class StreamUtils</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.util.StreamUtils</B> +</PRE> +<HR> +<DL> +<DT><PRE>public abstract class <B>StreamUtils</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Provides utility methods for input and output streams. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Wan</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/StreamUtils.html#DEFAULT_BUFFER_SIZE">DEFAULT_BUFFER_SIZE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default value is 2048.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/StreamUtils.html#StreamUtils()">StreamUtils</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/StreamUtils.html#copy(java.io.InputStream, java.io.OutputStream)">copy</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;input, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copies information from the input stream to the output stream using + a default buffer size of 2048 bytes.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/StreamUtils.html#copy(java.io.InputStream, java.io.OutputStream, int)">copy</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;input, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;output, + int&nbsp;bufferSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copies information from the input stream to the output stream using + the specified buffer size</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/StreamUtils.html#copyThenClose(java.io.InputStream, java.io.OutputStream)">copyThenClose</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;input, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copies information between specified streams and then closes + both of the streams.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;byte[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/util/StreamUtils.html#getBytes(java.io.InputStream)">getBytes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;input)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DEFAULT_BUFFER_SIZE"><!-- --></A><H3> +DEFAULT_BUFFER_SIZE</H3> +<PRE> +public static final int <B>DEFAULT_BUFFER_SIZE</B></PRE> +<DL> +<DD>Default value is 2048. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.util.StreamUtils.DEFAULT_BUFFER_SIZE">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="StreamUtils()"><!-- --></A><H3> +StreamUtils</H3> +<PRE> +public <B>StreamUtils</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="copy(java.io.InputStream, java.io.OutputStream)"><!-- --></A><H3> +copy</H3> +<PRE> +public static void <B>copy</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;input, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;output) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Copies information from the input stream to the output stream using + a default buffer size of 2048 bytes. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="copy(java.io.InputStream, java.io.OutputStream, int)"><!-- --></A><H3> +copy</H3> +<PRE> +public static void <B>copy</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;input, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;output, + int&nbsp;bufferSize) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Copies information from the input stream to the output stream using + the specified buffer size +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="copyThenClose(java.io.InputStream, java.io.OutputStream)"><!-- --></A><H3> +copyThenClose</H3> +<PRE> +public static void <B>copyThenClose</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;input, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</A>&nbsp;output) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Copies information between specified streams and then closes + both of the streams. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="getBytes(java.io.InputStream)"><!-- --></A><H3> +getBytes</H3> +<PRE> +public static byte[] <B>getBytes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;input) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD><DL> + +<DT><B>Returns:</B><DD>a byte[] containing the information contained in the + specified InputStream. +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StreamUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/StreamUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StreamUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/AdapterLogRecord.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/AdapterLogRecord.html new file mode 100644 index 00000000000..c6dd6047bd1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/AdapterLogRecord.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.util.AdapterLogRecord (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.util.AdapterLogRecord (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useAdapterLogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AdapterLogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.util.AdapterLogRecord</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.util.AdapterLogRecord +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useAdapterLogRecord.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AdapterLogRecord.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/DateFormatManager.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/DateFormatManager.html new file mode 100644 index 00000000000..49d69827cc0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/DateFormatManager.html @@ -0,0 +1,229 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.util.DateFormatManager (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.util.DateFormatManager (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useDateFormatManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateFormatManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.util.DateFormatManager</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> declared as <A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></CODE></FONT></TD> +<TD><CODE><B>LogTable.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_dateFormatManager">_dateFormatManager</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> that return <A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getDateFormatManager()">getDateFormatManager</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the DateFormatManager for formatting dates.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></CODE></FONT></TD> +<TD><CODE><B>LogTable.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html#getDateFormatManager()">getDateFormatManager</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the DateFormatManager for formatting dates.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> with parameters of type <A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setDateFormatManager(org.apache.log4j.lf5.util.DateFormatManager)">setDateFormatManager</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A>&nbsp;dfm)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the date format manager for formatting dates.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogTable.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html#setDateFormatManager(org.apache.log4j.lf5.util.DateFormatManager)">setDateFormatManager</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A>&nbsp;dfm)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the date format manager for formatting dates.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useDateFormatManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DateFormatManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/LogFileParser.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/LogFileParser.html new file mode 100644 index 00000000000..3f94aa0ec4f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/LogFileParser.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.util.LogFileParser (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.util.LogFileParser (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useLogFileParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFileParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.util.LogFileParser</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.util.LogFileParser +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useLogFileParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFileParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/LogMonitorAdapter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/LogMonitorAdapter.html new file mode 100644 index 00000000000..472e64a1ef5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/LogMonitorAdapter.html @@ -0,0 +1,198 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.util.LogMonitorAdapter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.util.LogMonitorAdapter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useLogMonitorAdapter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogMonitorAdapter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.util.LogMonitorAdapter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.util"><B>org.apache.log4j.lf5.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A> in <A HREF="../../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A> that return <A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#newInstance(int)">newInstance</A></B>(int&nbsp;loglevels)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of LogMonitorAdapter using the + log levels inticated by the parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#newInstance(java.util.List)">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;userDefinedLevels)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of LogMonitorAdapter using the specified LogLevels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></CODE></FONT></TD> +<TD><CODE><B>LogMonitorAdapter.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html#newInstance(org.apache.log4j.lf5.LogLevel[])">newInstance</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>[]&nbsp;userDefined)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of LogMonitorAdapter using the specified LogLevels.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useLogMonitorAdapter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogMonitorAdapter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/Resource.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/Resource.html new file mode 100644 index 00000000000..b88698be6a0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/Resource.html @@ -0,0 +1,191 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.util.Resource (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.util.Resource (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useResource.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Resource.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.util.Resource</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.util"><B>org.apache.log4j.lf5.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A> in <A HREF="../../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A> with parameters of type <A HREF="../../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A></CODE></FONT></TD> +<TD><CODE><B>ResourceUtils.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/util/ResourceUtils.html#getResourceAsStream(java.lang.Object, org.apache.log4j.lf5.util.Resource)">getResourceAsStream</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;object, + <A HREF="../../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A>&nbsp;resource)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the InputStream for this resource.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A></CODE></FONT></TD> +<TD><CODE><B>ResourceUtils.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/util/ResourceUtils.html#getResourceAsURL(java.lang.Object, org.apache.log4j.lf5.util.Resource)">getResourceAsURL</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;object, + <A HREF="../../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A>&nbsp;resource)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the URL for this resource.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useResource.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Resource.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/ResourceUtils.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/ResourceUtils.html new file mode 100644 index 00000000000..8bd9257e3e3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/ResourceUtils.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.util.ResourceUtils (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.util.ResourceUtils (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useResourceUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ResourceUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.util.ResourceUtils</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.util.ResourceUtils +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useResourceUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ResourceUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/StreamUtils.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/StreamUtils.html new file mode 100644 index 00000000000..02259e1ea22 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/class-use/StreamUtils.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.util.StreamUtils (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.util.StreamUtils (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useStreamUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StreamUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.util.StreamUtils</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.util.StreamUtils +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/util//class-useStreamUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StreamUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-frame.html new file mode 100644 index 00000000000..63cc1823ab6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-frame.html @@ -0,0 +1,45 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.util (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html" target="classFrame">org.apache.log4j.lf5.util</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util" target="classFrame">AdapterLogRecord</A> +<BR> +<A HREF="DateFormatManager.html" title="class in org.apache.log4j.lf5.util" target="classFrame">DateFormatManager</A> +<BR> +<A HREF="LogFileParser.html" title="class in org.apache.log4j.lf5.util" target="classFrame">LogFileParser</A> +<BR> +<A HREF="LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util" target="classFrame">LogMonitorAdapter</A> +<BR> +<A HREF="Resource.html" title="class in org.apache.log4j.lf5.util" target="classFrame">Resource</A> +<BR> +<A HREF="ResourceUtils.html" title="class in org.apache.log4j.lf5.util" target="classFrame">ResourceUtils</A> +<BR> +<A HREF="StreamUtils.html" title="class in org.apache.log4j.lf5.util" target="classFrame">StreamUtils</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-summary.html new file mode 100644 index 00000000000..3f93dd25b3a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-summary.html @@ -0,0 +1,182 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.util (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.lf5.util (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.lf5.util +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">AdapterLogRecord</A></B></TD> +<TD>A LogRecord to be used with the LogMonitorAdapter</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></B></TD> +<TD>Date format manager.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util">LogFileParser</A></B></TD> +<TD>Provides utility methods for input and output streams.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util">LogMonitorAdapter</A></B></TD> +<TD>LogMonitorAdapter facilitates the usage of the LogMonitor</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util">Resource</A></B></TD> +<TD>Resource encapsulates access to Resources via the Classloader.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util">ResourceUtils</A></B></TD> +<TD>ResourceUtils.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util">StreamUtils</A></B></TD> +<TD>Provides utility methods for input and output streams.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-tree.html new file mode 100644 index 00000000000..5dbf8eecd2a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-tree.html @@ -0,0 +1,158 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.util Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.lf5.util Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.lf5.util +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util"><B>DateFormatManager</B></A><LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="../../../../../org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util"><B>LogFileParser</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>) +<LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util"><B>LogMonitorAdapter</B></A><LI TYPE="circle">org.apache.log4j.lf5.<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><B>LogRecord</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util"><B>AdapterLogRecord</B></A></UL> +<LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="../../../../../org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><B>Resource</B></A><LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><B>ResourceUtils</B></A><LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="../../../../../org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util"><B>StreamUtils</B></A></UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-use.html new file mode 100644 index 00000000000..d4251cbee15 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/util/package-use.html @@ -0,0 +1,196 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.lf5.util (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.lf5.util (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.lf5.util</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.util"><B>org.apache.log4j.lf5.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A> used by <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/util/class-use/LogMonitorAdapter.html#org.apache.log4j.lf5.util"><B>LogMonitorAdapter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogMonitorAdapter facilitates the usage of the LogMonitor</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/util/class-use/Resource.html#org.apache.log4j.lf5.util"><B>Resource</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resource encapsulates access to Resources via the Classloader.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A> used by <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/util/class-use/DateFormatManager.html#org.apache.log4j.lf5.viewer"><B>DateFormatManager</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date format manager.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/util/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/FilteredLogTableModel.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/FilteredLogTableModel.html new file mode 100644 index 00000000000..d5c9eb6eed6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/FilteredLogTableModel.html @@ -0,0 +1,746 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FilteredLogTableModel (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FilteredLogTableModel (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FilteredLogTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FilteredLogTableModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class FilteredLogTableModel</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">javax.swing.table.AbstractTableModel</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.FilteredLogTableModel</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>FilteredLogTableModel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">AbstractTableModel</A></DL> +</PRE> + +<P> +A TableModel for LogRecords which includes filtering support. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Wan, Brent Sprecher</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.FilteredLogTableModel">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_allRecords">_allRecords</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_colNames">_colNames</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_filter">_filter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_filteredRecords">_filteredRecords</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#_maxNumberOfLogRecords">_maxNumberOfLogRecords</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.table.AbstractTableModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">AbstractTableModel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#listenerList" title="class or interface in javax.swing.table">listenerList</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#FilteredLogTableModel()">FilteredLogTableModel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#addLogRecord(org.apache.log4j.lf5.LogRecord)">addLogRecord</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#clear()">clear</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears all records from the LogTableModel</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#createFilteredRecordsList()">createFilteredRecordsList</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#fastRefresh()">fastRefresh</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getColumn(int, org.apache.log4j.lf5.LogRecord)">getColumn</A></B>(int&nbsp;col, + <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;lr)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getColumnCount()">getColumnCount</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getColumnName(int)">getColumnName</A></B>(int&nbsp;i)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getFilteredRecord(int)">getFilteredRecord</A></B>(int&nbsp;row)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getFilteredRecords()">getFilteredRecords</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getLogRecordFilter()">getLogRecordFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getRowCount()">getRowCount</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getTotalRowCount()">getTotalRowCount</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#getValueAt(int, int)">getValueAt</A></B>(int&nbsp;row, + int&nbsp;col)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#needsTrimming()">needsTrimming</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#refresh()">refresh</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forces the LogTableModel to requery its filters to determine + which records to display.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#setLogRecordFilter(org.apache.log4j.lf5.LogRecordFilter)">setLogRecordFilter</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A>&nbsp;filter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#setMaxNumberOfLogRecords(int)">setMaxNumberOfLogRecords</A></B>(int&nbsp;maxNumRecords)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#trimOldestRecords()">trimOldestRecords</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html#trimRecords()">trimRecords</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.table.AbstractTableModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">AbstractTableModel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#addTableModelListener(javax.swing.event.TableModelListener)" title="class or interface in javax.swing.table">addTableModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#findColumn(java.lang.String)" title="class or interface in javax.swing.table">findColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableCellUpdated(int, int)" title="class or interface in javax.swing.table">fireTableCellUpdated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableChanged(javax.swing.event.TableModelEvent)" title="class or interface in javax.swing.table">fireTableChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableDataChanged()" title="class or interface in javax.swing.table">fireTableDataChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableRowsDeleted(int, int)" title="class or interface in javax.swing.table">fireTableRowsDeleted</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableRowsInserted(int, int)" title="class or interface in javax.swing.table">fireTableRowsInserted</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableRowsUpdated(int, int)" title="class or interface in javax.swing.table">fireTableRowsUpdated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableStructureChanged()" title="class or interface in javax.swing.table">fireTableStructureChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#getColumnClass(int)" title="class or interface in javax.swing.table">getColumnClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in javax.swing.table">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#getTableModelListeners()" title="class or interface in javax.swing.table">getTableModelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#isCellEditable(int, int)" title="class or interface in javax.swing.table">isCellEditable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#removeTableModelListener(javax.swing.event.TableModelListener)" title="class or interface in javax.swing.table">removeTableModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#setValueAt(java.lang.Object, int, int)" title="class or interface in javax.swing.table">setValueAt</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_filter"><!-- --></A><H3> +_filter</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A> <B>_filter</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_allRecords"><!-- --></A><H3> +_allRecords</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>_allRecords</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_filteredRecords"><!-- --></A><H3> +_filteredRecords</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>_filteredRecords</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_maxNumberOfLogRecords"><!-- --></A><H3> +_maxNumberOfLogRecords</H3> +<PRE> +protected int <B>_maxNumberOfLogRecords</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colNames"><!-- --></A><H3> +_colNames</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>_colNames</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FilteredLogTableModel()"><!-- --></A><H3> +FilteredLogTableModel</H3> +<PRE> +public <B>FilteredLogTableModel</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setLogRecordFilter(org.apache.log4j.lf5.LogRecordFilter)"><!-- --></A><H3> +setLogRecordFilter</H3> +<PRE> +public void <B>setLogRecordFilter</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A>&nbsp;filter)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogRecordFilter()"><!-- --></A><H3> +getLogRecordFilter</H3> +<PRE> +public <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A> <B>getLogRecordFilter</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getColumnName(int)"><!-- --></A><H3> +getColumnName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getColumnName</B>(int&nbsp;i)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html?is-external=true#getColumnName(int)" title="class or interface in javax.swing.table">getColumnName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#getColumnName(int)" title="class or interface in javax.swing.table">getColumnName</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">AbstractTableModel</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getColumnCount()"><!-- --></A><H3> +getColumnCount</H3> +<PRE> +public int <B>getColumnCount</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRowCount()"><!-- --></A><H3> +getRowCount</H3> +<PRE> +public int <B>getRowCount</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTotalRowCount()"><!-- --></A><H3> +getTotalRowCount</H3> +<PRE> +public int <B>getTotalRowCount</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getValueAt(int, int)"><!-- --></A><H3> +getValueAt</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getValueAt</B>(int&nbsp;row, + int&nbsp;col)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setMaxNumberOfLogRecords(int)"><!-- --></A><H3> +setMaxNumberOfLogRecords</H3> +<PRE> +public void <B>setMaxNumberOfLogRecords</B>(int&nbsp;maxNumRecords)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addLogRecord(org.apache.log4j.lf5.LogRecord)"><!-- --></A><H3> +addLogRecord</H3> +<PRE> +public boolean <B>addLogRecord</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="refresh()"><!-- --></A><H3> +refresh</H3> +<PRE> +public void <B>refresh</B>()</PRE> +<DL> +<DD>Forces the LogTableModel to requery its filters to determine + which records to display. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="fastRefresh()"><!-- --></A><H3> +fastRefresh</H3> +<PRE> +public void <B>fastRefresh</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="clear()"><!-- --></A><H3> +clear</H3> +<PRE> +public void <B>clear</B>()</PRE> +<DL> +<DD>Clears all records from the LogTableModel +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFilteredRecords()"><!-- --></A><H3> +getFilteredRecords</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getFilteredRecords</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createFilteredRecordsList()"><!-- --></A><H3> +createFilteredRecordsList</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>createFilteredRecordsList</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFilteredRecord(int)"><!-- --></A><H3> +getFilteredRecord</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> <B>getFilteredRecord</B>(int&nbsp;row)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getColumn(int, org.apache.log4j.lf5.LogRecord)"><!-- --></A><H3> +getColumn</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getColumn</B>(int&nbsp;col, + <A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;lr)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="trimRecords()"><!-- --></A><H3> +trimRecords</H3> +<PRE> +protected void <B>trimRecords</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="needsTrimming()"><!-- --></A><H3> +needsTrimming</H3> +<PRE> +protected boolean <B>needsTrimming</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="trimOldestRecords()"><!-- --></A><H3> +trimOldestRecords</H3> +<PRE> +protected void <B>trimOldestRecords</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FilteredLogTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FilteredLogTableModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LF5SwingUtils.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LF5SwingUtils.html new file mode 100644 index 00000000000..c38e917bbca --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LF5SwingUtils.html @@ -0,0 +1,404 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LF5SwingUtils (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LF5SwingUtils (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LF5SwingUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LF5SwingUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LF5SwingUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LF5SwingUtils</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LF5SwingUtils</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>LF5SwingUtils</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Provides methods to accomplish common yet non-trivial tasks + with Swing. Obvious implementations of these methods have been + tried and failed. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Wan</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html#LF5SwingUtils()">LF5SwingUtils</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html#contains(int, javax.swing.table.TableModel)">contains</A></B>(int&nbsp;row, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A>&nbsp;model)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html#makeScrollBarTrack(java.awt.Adjustable)">makeScrollBarTrack</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Adjustable.html?is-external=true" title="class or interface in java.awt">Adjustable</A>&nbsp;scrollBar)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Makes the specified Adjustable track if the view area expands and + the specified Adjustable is located near the of the view.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html#makeVerticalScrollBarTrack(javax.swing.JScrollPane)">makeVerticalScrollBarTrack</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JScrollPane.html?is-external=true" title="class or interface in javax.swing">JScrollPane</A>&nbsp;pane)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Makes the vertical scroll bar of the specified JScrollPane + track if the view expands (e.g.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html#moveAdjustable(int, java.awt.Adjustable)">moveAdjustable</A></B>(int&nbsp;location, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Adjustable.html?is-external=true" title="class or interface in java.awt">Adjustable</A>&nbsp;scrollBar)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html#repaintLater(javax.swing.JComponent)">repaintLater</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A>&nbsp;component)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Work around for JTable/viewport bug.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html#selectRow(int, javax.swing.JTable, javax.swing.JScrollPane)">selectRow</A></B>(int&nbsp;row, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A>&nbsp;table, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JScrollPane.html?is-external=true" title="class or interface in javax.swing">JScrollPane</A>&nbsp;pane)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selects a the specified row in the specified JTable and scrolls + the specified JScrollpane to the newly selected row.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html#selectRow(int, javax.swing.ListSelectionModel)">selectRow</A></B>(int&nbsp;row, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/ListSelectionModel.html?is-external=true" title="class or interface in javax.swing">ListSelectionModel</A>&nbsp;model)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LF5SwingUtils()"><!-- --></A><H3> +LF5SwingUtils</H3> +<PRE> +public <B>LF5SwingUtils</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="selectRow(int, javax.swing.JTable, javax.swing.JScrollPane)"><!-- --></A><H3> +selectRow</H3> +<PRE> +public static void <B>selectRow</B>(int&nbsp;row, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A>&nbsp;table, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JScrollPane.html?is-external=true" title="class or interface in javax.swing">JScrollPane</A>&nbsp;pane)</PRE> +<DL> +<DD>Selects a the specified row in the specified JTable and scrolls + the specified JScrollpane to the newly selected row. More importantly, + the call to repaint() delayed long enough to have the table + properly paint the newly selected row which may be offscre +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>table</CODE> - should belong to the specified JScrollPane</DL> +</DD> +</DL> +<HR> + +<A NAME="makeScrollBarTrack(java.awt.Adjustable)"><!-- --></A><H3> +makeScrollBarTrack</H3> +<PRE> +public static void <B>makeScrollBarTrack</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Adjustable.html?is-external=true" title="class or interface in java.awt">Adjustable</A>&nbsp;scrollBar)</PRE> +<DL> +<DD>Makes the specified Adjustable track if the view area expands and + the specified Adjustable is located near the of the view. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="makeVerticalScrollBarTrack(javax.swing.JScrollPane)"><!-- --></A><H3> +makeVerticalScrollBarTrack</H3> +<PRE> +public static void <B>makeVerticalScrollBarTrack</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JScrollPane.html?is-external=true" title="class or interface in javax.swing">JScrollPane</A>&nbsp;pane)</PRE> +<DL> +<DD>Makes the vertical scroll bar of the specified JScrollPane + track if the view expands (e.g. if rows are added to an underlying + table). +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="contains(int, javax.swing.table.TableModel)"><!-- --></A><H3> +contains</H3> +<PRE> +protected static boolean <B>contains</B>(int&nbsp;row, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A>&nbsp;model)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="selectRow(int, javax.swing.ListSelectionModel)"><!-- --></A><H3> +selectRow</H3> +<PRE> +protected static void <B>selectRow</B>(int&nbsp;row, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/ListSelectionModel.html?is-external=true" title="class or interface in javax.swing">ListSelectionModel</A>&nbsp;model)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="moveAdjustable(int, java.awt.Adjustable)"><!-- --></A><H3> +moveAdjustable</H3> +<PRE> +protected static void <B>moveAdjustable</B>(int&nbsp;location, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Adjustable.html?is-external=true" title="class or interface in java.awt">Adjustable</A>&nbsp;scrollBar)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="repaintLater(javax.swing.JComponent)"><!-- --></A><H3> +repaintLater</H3> +<PRE> +protected static void <B>repaintLater</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A>&nbsp;component)</PRE> +<DL> +<DD>Work around for JTable/viewport bug. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LF5SwingUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LF5SwingUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LF5SwingUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogBrokerMonitor.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogBrokerMonitor.html new file mode 100644 index 00000000000..4c57da7ec23 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogBrokerMonitor.html @@ -0,0 +1,2838 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogBrokerMonitor (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogBrokerMonitor (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogBrokerMonitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogBrokerMonitor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LogBrokerMonitor</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LogBrokerMonitor</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>LogBrokerMonitor</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +LogBrokerMonitor +. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw, Brad Marlborough, Richard Wan, Brent Sprecher, Richard Hurst</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_callSystemExitOnClose">_callSystemExitOnClose</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_categoryExplorerTree">_categoryExplorerTree</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_columns">_columns</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_configurationManager">_configurationManager</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_currentView">_currentView</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_displayedLogBrokerProperties">_displayedLogBrokerProperties</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_fileLocation">_fileLocation</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_fontName">_fontName</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_fontSize">_fontSize</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComboBox.html?is-external=true" title="class or interface in javax.swing">JComboBox</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_fontSizeCombo">_fontSizeCombo</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_isDisposed">_isDisposed</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dimension.html?is-external=true" title="class or interface in java.awt">Dimension</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_lastTableViewportSize">_lastTableViewportSize</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_leastSevereDisplayedLogLevel">_leastSevereDisplayedLogLevel</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_levels">_levels</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_loadSystemFonts">_loadSystemFonts</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_lock">_lock</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logLevelMenuItems">_logLevelMenuItems</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logMonitorFrame">_logMonitorFrame</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logMonitorFrameHeight">_logMonitorFrameHeight</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logMonitorFrameWidth">_logMonitorFrameWidth</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logTableColumnMenuItems">_logTableColumnMenuItems</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JScrollPane.html?is-external=true" title="class or interface in javax.swing">JScrollPane</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_logTableScrollPane">_logTableScrollPane</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_mruFileManager">_mruFileManager</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_NDCTextFilter">_NDCTextFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_searchText">_searchText</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_statusLabel">_statusLabel</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_table">_table</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_trackTableScrollPane">_trackTableScrollPane</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#DETAILED_VIEW">DETAILED_VIEW</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#LogBrokerMonitor(java.util.List)">LogBrokerMonitor</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;logLevels)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a LogBrokerMonitor.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#addDisplayedProperty(java.lang.Object)">addDisplayedProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;messageLine)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#addMessage(org.apache.log4j.lf5.LogRecord)">addMessage</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;lr)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a log record message to be displayed in the LogTable.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#addTableModelProperties()">addTableModelProperties</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#centerFrame(javax.swing.JFrame)">centerFrame</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;frame)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#changeFontSizeCombo(javax.swing.JComboBox, int)">changeFontSizeCombo</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComboBox.html?is-external=true" title="class or interface in javax.swing">JComboBox</A>&nbsp;box, + int&nbsp;requestedSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Changes the font selection in the combo box and returns the + size actually selected.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#clearDetailTextArea()">clearDetailTextArea</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#closeAfterConfirm()">closeAfterConfirm</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createAllLogLevelsMenuItem()">createAllLogLevelsMenuItem</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createAllLogTableColumnsMenuItem()">createAllLogTableColumnsMenuItem</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createCloseMI()">createCloseMI</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createConfigureMaxRecords()">createConfigureMaxRecords</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createConfigureMenu()">createConfigureMenu</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createConfigureReset()">createConfigureReset</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createConfigureSave()">createConfigureSave</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextArea.html?is-external=true" title="class or interface in javax.swing">JTextArea</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createDetailTextArea()">createDetailTextArea</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createEditFindMI()">createEditFindMI</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createEditFindNextMI()">createEditFindNextMI</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createEditMenu()">createEditMenu</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createEditRestoreAllNDCMI()">createEditRestoreAllNDCMI</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createEditSortNDCMI()">createEditSortNDCMI</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createExitMI()">createExitMI</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createFileMenu()">createFileMenu</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createHelpMenu()">createHelpMenu</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createHelpProperties()">createHelpProperties</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogLevelColorMenu()">createLogLevelColorMenu</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComboBox.html?is-external=true" title="class or interface in javax.swing">JComboBox</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogLevelCombo()">createLogLevelCombo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogLevelMenu()">createLogLevelMenu</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogRecordFilter()">createLogRecordFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)">createLogTableColumnMenuItem</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuBar.html?is-external=true" title="class or interface in javax.swing">JMenuBar</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createMenuBar()">createMenuBar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createMenuItem(org.apache.log4j.lf5.LogLevel)">createMenuItem</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createMRUFileListMI(javax.swing.JMenu)">createMRUFileListMI</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A>&nbsp;menu)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a Most Recently Used file list to be + displayed in the File menu</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createNDCLogRecordFilter(java.lang.String)">createNDCLogRecordFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;text)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createNoLogLevelsMenuItem()">createNoLogLevelsMenuItem</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createNoLogTableColumnsMenuItem()">createNoLogTableColumnsMenuItem</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createOpenMI()">createOpenMI</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Menu item added to allow log files to be opened with + the LF5 GUI.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createOpenURLMI()">createOpenURLMI</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Menu item added to allow log files loaded from a URL + to be opened by the LF5 GUI.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createResetLogLevelColorMenuItem()">createResetLogLevelColorMenuItem</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createStatusArea()">createStatusArea</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createSubMenuItem(org.apache.log4j.lf5.LogLevel)">createSubMenuItem</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JToolBar.html?is-external=true" title="class or interface in javax.swing">JToolBar</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createToolBar()">createToolBar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createViewMenu()">createViewMenu</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#dispose()">dispose</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dispose of the frame for the LogBrokerMonitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#findRecord(int, java.lang.String, java.util.List)">findRecord</A></B>(int&nbsp;startRow, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;searchText, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;records)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#findSearchText()">findSearchText</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getBaseFrame()">getBaseFrame</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getCallSystemExitOnClose()">getCallSystemExitOnClose</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value of whether or not System.exit() will be called + when the LogBrokerMonitor is closed.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getCategoryExplorerTree()">getCategoryExplorerTree</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getDateFormatManager()">getDateFormatManager</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the DateFormatManager for formatting dates.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getFirstSelectedRow()">getFirstSelectedRow</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogLevelMenuItems()">getLogLevelMenuItems</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogLevels()">getLogLevels</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)">getLogTableColumnMenuItem</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogTableColumnMenuItems()">getLogTableColumnMenuItems</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogTableColumns()">getLogTableColumns</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getMenuItem(org.apache.log4j.lf5.LogLevel)">getMenuItem</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getNDCTextFilter()">getNDCTextFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getRecordsDisplayedMessage()">getRecordsDisplayedMessage</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getStatusText(int, int)">getStatusText</A></B>(int&nbsp;displayedRows, + int&nbsp;totalRows)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)">getTableColumnMenuItem</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#hide()">hide</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hide the frame for the LogBrokerMonitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#initComponents()">initComponents</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#loadLogFile(java.io.File)">loadLogFile</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A>&nbsp;file)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loads and parses a log file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#loadLogFile(java.net.URL)">loadLogFile</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loads a parses a log file running on a server.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#makeLogTableListenToCategoryExplorer()">makeLogTableListenToCategoryExplorer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#matches(org.apache.log4j.lf5.LogRecord, java.lang.String)">matches</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;text)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check to see if the any records contain the search string.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#pause(int)">pause</A></B>(int&nbsp;millis)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#refresh(javax.swing.JTextArea)">refresh</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextArea.html?is-external=true" title="class or interface in javax.swing">JTextArea</A>&nbsp;textArea)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When the fontsize of a JTextArea is changed, the word-wrapped lines + may become garbled.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#refreshDetailTextArea()">refreshDetailTextArea</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#requestClose()">requestClose</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#requestExit()">requestExit</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#requestOpen()">requestOpen</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uses a JFileChooser to select a file to opened with the + LF5 GUI.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#requestOpenMRU(java.awt.event.ActionEvent)">requestOpenMRU</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionEvent.html?is-external=true" title="class or interface in java.awt.event">ActionEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Opens a file in the MRU list.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#requestOpenURL()">requestOpenURL</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uses a Dialog box to accept a URL to a file to be opened + with the LF5 GUI.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#resetConfiguration()">resetConfiguration</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#saveConfiguration()">saveConfiguration</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#selectAllLogLevels(boolean)">selectAllLogLevels</A></B>(boolean&nbsp;selected)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#selectAllLogTableColumns(boolean)">selectAllLogTableColumns</A></B>(boolean&nbsp;selected)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#selectRow(int)">selectRow</A></B>(int&nbsp;foundRow)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setCallSystemExitOnClose(boolean)">setCallSystemExitOnClose</A></B>(boolean&nbsp;callSystemExitOnClose)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of whether or not System.exit() will be called + when the LogBrokerMonitor is closed.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setDateFormatManager(org.apache.log4j.lf5.util.DateFormatManager)">setDateFormatManager</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A>&nbsp;dfm)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the date format manager for formatting dates.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setFontSize(java.awt.Component, int)">setFontSize</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A>&nbsp;component, + int&nbsp;fontSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setFontSize(int)">setFontSize</A></B>(int&nbsp;fontSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setFontSizeSilently(int)">setFontSizeSilently</A></B>(int&nbsp;fontSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not update gui or cause any events to be fired.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setFrameSize(int, int)">setFrameSize</A></B>(int&nbsp;width, + int&nbsp;height)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setLeastSevereDisplayedLogLevel(org.apache.log4j.lf5.LogLevel)">setLeastSevereDisplayedLogLevel</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setMaxNumberOfLogRecords(int)">setMaxNumberOfLogRecords</A></B>(int&nbsp;maxNumberOfLogRecords)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setMaxRecordConfiguration()">setMaxRecordConfiguration</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setNDCLogRecordFilter(java.lang.String)">setNDCLogRecordFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;textFilter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setNDCTextFilter(java.lang.String)">setNDCTextFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;text)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setSearchText(java.lang.String)">setSearchText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;text)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setTitle(java.lang.String)">setTitle</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setView(java.lang.String, org.apache.log4j.lf5.viewer.LogTable)">setView</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;viewString, + <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A>&nbsp;table)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#show()">show</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#show(int)">show</A></B>(int&nbsp;delay)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Show the frame for the LogBrokerMonitor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#showLogLevelColorChangeDialog(javax.swing.JMenuItem, org.apache.log4j.lf5.LogLevel)">showLogLevelColorChangeDialog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A>&nbsp;result, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#showPropertiesDialog(java.lang.String)">showPropertiesDialog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#sortByNDC()">sortByNDC</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#trackTableScrollPane()">trackTableScrollPane</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>tracking is now done automatically.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#updateFrameSize()">updateFrameSize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#updateMRUList()">updateMRUList</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes old file list and creates a new file list + with the updated MRU list.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#updateStatusLabel()">updateStatusLabel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#updateView()">updateView</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DETAILED_VIEW"><!-- --></A><H3> +DETAILED_VIEW</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DETAILED_VIEW</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.viewer.LogBrokerMonitor.DETAILED_VIEW">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="_logMonitorFrame"><!-- --></A><H3> +_logMonitorFrame</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A> <B>_logMonitorFrame</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_logMonitorFrameWidth"><!-- --></A><H3> +_logMonitorFrameWidth</H3> +<PRE> +protected int <B>_logMonitorFrameWidth</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_logMonitorFrameHeight"><!-- --></A><H3> +_logMonitorFrameHeight</H3> +<PRE> +protected int <B>_logMonitorFrameHeight</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_table"><!-- --></A><H3> +_table</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> <B>_table</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_categoryExplorerTree"><!-- --></A><H3> +_categoryExplorerTree</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> <B>_categoryExplorerTree</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_searchText"><!-- --></A><H3> +_searchText</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_searchText</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_NDCTextFilter"><!-- --></A><H3> +_NDCTextFilter</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_NDCTextFilter</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_leastSevereDisplayedLogLevel"><!-- --></A><H3> +_leastSevereDisplayedLogLevel</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>_leastSevereDisplayedLogLevel</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_logTableScrollPane"><!-- --></A><H3> +_logTableScrollPane</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JScrollPane.html?is-external=true" title="class or interface in javax.swing">JScrollPane</A> <B>_logTableScrollPane</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_statusLabel"><!-- --></A><H3> +_statusLabel</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A> <B>_statusLabel</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_lock"><!-- --></A><H3> +_lock</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>_lock</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_fontSizeCombo"><!-- --></A><H3> +_fontSizeCombo</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComboBox.html?is-external=true" title="class or interface in javax.swing">JComboBox</A> <B>_fontSizeCombo</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_fontSize"><!-- --></A><H3> +_fontSize</H3> +<PRE> +protected int <B>_fontSize</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_fontName"><!-- --></A><H3> +_fontName</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_fontName</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_currentView"><!-- --></A><H3> +_currentView</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_currentView</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_loadSystemFonts"><!-- --></A><H3> +_loadSystemFonts</H3> +<PRE> +protected boolean <B>_loadSystemFonts</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_trackTableScrollPane"><!-- --></A><H3> +_trackTableScrollPane</H3> +<PRE> +protected boolean <B>_trackTableScrollPane</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_lastTableViewportSize"><!-- --></A><H3> +_lastTableViewportSize</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dimension.html?is-external=true" title="class or interface in java.awt">Dimension</A> <B>_lastTableViewportSize</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_callSystemExitOnClose"><!-- --></A><H3> +_callSystemExitOnClose</H3> +<PRE> +protected boolean <B>_callSystemExitOnClose</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_displayedLogBrokerProperties"><!-- --></A><H3> +_displayedLogBrokerProperties</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>_displayedLogBrokerProperties</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_logLevelMenuItems"><!-- --></A><H3> +_logLevelMenuItems</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>_logLevelMenuItems</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_logTableColumnMenuItems"><!-- --></A><H3> +_logTableColumnMenuItems</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>_logTableColumnMenuItems</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_levels"><!-- --></A><H3> +_levels</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>_levels</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_columns"><!-- --></A><H3> +_columns</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>_columns</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_isDisposed"><!-- --></A><H3> +_isDisposed</H3> +<PRE> +protected boolean <B>_isDisposed</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_configurationManager"><!-- --></A><H3> +_configurationManager</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> <B>_configurationManager</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_mruFileManager"><!-- --></A><H3> +_mruFileManager</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> <B>_mruFileManager</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_fileLocation"><!-- --></A><H3> +_fileLocation</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> <B>_fileLocation</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogBrokerMonitor(java.util.List)"><!-- --></A><H3> +LogBrokerMonitor</H3> +<PRE> +public <B>LogBrokerMonitor</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;logLevels)</PRE> +<DL> +<DD>Construct a LogBrokerMonitor. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="show(int)"><!-- --></A><H3> +show</H3> +<PRE> +public void <B>show</B>(int&nbsp;delay)</PRE> +<DL> +<DD>Show the frame for the LogBrokerMonitor. Dispatched to the + swing thread. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="show()"><!-- --></A><H3> +show</H3> +<PRE> +public void <B>show</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="dispose()"><!-- --></A><H3> +dispose</H3> +<PRE> +public void <B>dispose</B>()</PRE> +<DL> +<DD>Dispose of the frame for the LogBrokerMonitor. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hide()"><!-- --></A><H3> +hide</H3> +<PRE> +public void <B>hide</B>()</PRE> +<DL> +<DD>Hide the frame for the LogBrokerMonitor. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDateFormatManager()"><!-- --></A><H3> +getDateFormatManager</H3> +<PRE> +public <A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> <B>getDateFormatManager</B>()</PRE> +<DL> +<DD>Get the DateFormatManager for formatting dates. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setDateFormatManager(org.apache.log4j.lf5.util.DateFormatManager)"><!-- --></A><H3> +setDateFormatManager</H3> +<PRE> +public void <B>setDateFormatManager</B>(<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A>&nbsp;dfm)</PRE> +<DL> +<DD>Set the date format manager for formatting dates. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCallSystemExitOnClose()"><!-- --></A><H3> +getCallSystemExitOnClose</H3> +<PRE> +public boolean <B>getCallSystemExitOnClose</B>()</PRE> +<DL> +<DD>Get the value of whether or not System.exit() will be called + when the LogBrokerMonitor is closed. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setCallSystemExitOnClose(boolean)"><!-- --></A><H3> +setCallSystemExitOnClose</H3> +<PRE> +public void <B>setCallSystemExitOnClose</B>(boolean&nbsp;callSystemExitOnClose)</PRE> +<DL> +<DD>Set the value of whether or not System.exit() will be called + when the LogBrokerMonitor is closed. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addMessage(org.apache.log4j.lf5.LogRecord)"><!-- --></A><H3> +addMessage</H3> +<PRE> +public void <B>addMessage</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;lr)</PRE> +<DL> +<DD>Add a log record message to be displayed in the LogTable. + This method is thread-safe as it posts requests to the SwingThread + rather than processing directly. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setMaxNumberOfLogRecords(int)"><!-- --></A><H3> +setMaxNumberOfLogRecords</H3> +<PRE> +public void <B>setMaxNumberOfLogRecords</B>(int&nbsp;maxNumberOfLogRecords)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getBaseFrame()"><!-- --></A><H3> +getBaseFrame</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A> <B>getBaseFrame</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setTitle(java.lang.String)"><!-- --></A><H3> +setTitle</H3> +<PRE> +public void <B>setTitle</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setFrameSize(int, int)"><!-- --></A><H3> +setFrameSize</H3> +<PRE> +public void <B>setFrameSize</B>(int&nbsp;width, + int&nbsp;height)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setFontSize(int)"><!-- --></A><H3> +setFontSize</H3> +<PRE> +public void <B>setFontSize</B>(int&nbsp;fontSize)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addDisplayedProperty(java.lang.Object)"><!-- --></A><H3> +addDisplayedProperty</H3> +<PRE> +public void <B>addDisplayedProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;messageLine)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogLevelMenuItems()"><!-- --></A><H3> +getLogLevelMenuItems</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getLogLevelMenuItems</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogTableColumnMenuItems()"><!-- --></A><H3> +getLogTableColumnMenuItems</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getLogTableColumnMenuItems</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)"><!-- --></A><H3> +getTableColumnMenuItem</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A> <B>getTableColumnMenuItem</B>(<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>&nbsp;column)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCategoryExplorerTree()"><!-- --></A><H3> +getCategoryExplorerTree</H3> +<PRE> +public <A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> <B>getCategoryExplorerTree</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getNDCTextFilter()"><!-- --></A><H3> +getNDCTextFilter</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getNDCTextFilter</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setNDCLogRecordFilter(java.lang.String)"><!-- --></A><H3> +setNDCLogRecordFilter</H3> +<PRE> +public void <B>setNDCLogRecordFilter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;textFilter)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSearchText(java.lang.String)"><!-- --></A><H3> +setSearchText</H3> +<PRE> +protected void <B>setSearchText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;text)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setNDCTextFilter(java.lang.String)"><!-- --></A><H3> +setNDCTextFilter</H3> +<PRE> +protected void <B>setNDCTextFilter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;text)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="sortByNDC()"><!-- --></A><H3> +sortByNDC</H3> +<PRE> +protected void <B>sortByNDC</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="findSearchText()"><!-- --></A><H3> +findSearchText</H3> +<PRE> +protected void <B>findSearchText</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFirstSelectedRow()"><!-- --></A><H3> +getFirstSelectedRow</H3> +<PRE> +protected int <B>getFirstSelectedRow</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="selectRow(int)"><!-- --></A><H3> +selectRow</H3> +<PRE> +protected void <B>selectRow</B>(int&nbsp;foundRow)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="findRecord(int, java.lang.String, java.util.List)"><!-- --></A><H3> +findRecord</H3> +<PRE> +protected int <B>findRecord</B>(int&nbsp;startRow, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;searchText, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;records)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="matches(org.apache.log4j.lf5.LogRecord, java.lang.String)"><!-- --></A><H3> +matches</H3> +<PRE> +protected boolean <B>matches</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;text)</PRE> +<DL> +<DD>Check to see if the any records contain the search string. + Searching now supports NDC messages and date. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="refresh(javax.swing.JTextArea)"><!-- --></A><H3> +refresh</H3> +<PRE> +protected void <B>refresh</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextArea.html?is-external=true" title="class or interface in javax.swing">JTextArea</A>&nbsp;textArea)</PRE> +<DL> +<DD>When the fontsize of a JTextArea is changed, the word-wrapped lines + may become garbled. This method clears and resets the text of the + text area. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="refreshDetailTextArea()"><!-- --></A><H3> +refreshDetailTextArea</H3> +<PRE> +protected void <B>refreshDetailTextArea</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="clearDetailTextArea()"><!-- --></A><H3> +clearDetailTextArea</H3> +<PRE> +protected void <B>clearDetailTextArea</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="changeFontSizeCombo(javax.swing.JComboBox, int)"><!-- --></A><H3> +changeFontSizeCombo</H3> +<PRE> +protected int <B>changeFontSizeCombo</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComboBox.html?is-external=true" title="class or interface in javax.swing">JComboBox</A>&nbsp;box, + int&nbsp;requestedSize)</PRE> +<DL> +<DD>Changes the font selection in the combo box and returns the + size actually selected. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>-1 if unable to select an appropriate font</DL> +</DD> +</DL> +<HR> + +<A NAME="setFontSizeSilently(int)"><!-- --></A><H3> +setFontSizeSilently</H3> +<PRE> +protected void <B>setFontSizeSilently</B>(int&nbsp;fontSize)</PRE> +<DL> +<DD>Does not update gui or cause any events to be fired. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setFontSize(java.awt.Component, int)"><!-- --></A><H3> +setFontSize</H3> +<PRE> +protected void <B>setFontSize</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A>&nbsp;component, + int&nbsp;fontSize)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="updateFrameSize()"><!-- --></A><H3> +updateFrameSize</H3> +<PRE> +protected void <B>updateFrameSize</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="pause(int)"><!-- --></A><H3> +pause</H3> +<PRE> +protected void <B>pause</B>(int&nbsp;millis)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="initComponents()"><!-- --></A><H3> +initComponents</H3> +<PRE> +protected void <B>initComponents</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createLogRecordFilter()"><!-- --></A><H3> +createLogRecordFilter</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A> <B>createLogRecordFilter</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createNDCLogRecordFilter(java.lang.String)"><!-- --></A><H3> +createNDCLogRecordFilter</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A> <B>createNDCLogRecordFilter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;text)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="updateStatusLabel()"><!-- --></A><H3> +updateStatusLabel</H3> +<PRE> +protected void <B>updateStatusLabel</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRecordsDisplayedMessage()"><!-- --></A><H3> +getRecordsDisplayedMessage</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getRecordsDisplayedMessage</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addTableModelProperties()"><!-- --></A><H3> +addTableModelProperties</H3> +<PRE> +protected void <B>addTableModelProperties</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getStatusText(int, int)"><!-- --></A><H3> +getStatusText</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStatusText</B>(int&nbsp;displayedRows, + int&nbsp;totalRows)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="makeLogTableListenToCategoryExplorer()"><!-- --></A><H3> +makeLogTableListenToCategoryExplorer</H3> +<PRE> +protected void <B>makeLogTableListenToCategoryExplorer</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createStatusArea()"><!-- --></A><H3> +createStatusArea</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A> <B>createStatusArea</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createDetailTextArea()"><!-- --></A><H3> +createDetailTextArea</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextArea.html?is-external=true" title="class or interface in javax.swing">JTextArea</A> <B>createDetailTextArea</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createMenuBar()"><!-- --></A><H3> +createMenuBar</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuBar.html?is-external=true" title="class or interface in javax.swing">JMenuBar</A> <B>createMenuBar</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createLogLevelMenu()"><!-- --></A><H3> +createLogLevelMenu</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A> <B>createLogLevelMenu</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createAllLogLevelsMenuItem()"><!-- --></A><H3> +createAllLogLevelsMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createAllLogLevelsMenuItem</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createNoLogLevelsMenuItem()"><!-- --></A><H3> +createNoLogLevelsMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createNoLogLevelsMenuItem</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createLogLevelColorMenu()"><!-- --></A><H3> +createLogLevelColorMenu</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A> <B>createLogLevelColorMenu</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createResetLogLevelColorMenuItem()"><!-- --></A><H3> +createResetLogLevelColorMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createResetLogLevelColorMenuItem</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="selectAllLogLevels(boolean)"><!-- --></A><H3> +selectAllLogLevels</H3> +<PRE> +protected void <B>selectAllLogLevels</B>(boolean&nbsp;selected)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMenuItem(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +getMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A> <B>getMenuItem</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createSubMenuItem(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +createSubMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createSubMenuItem</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="showLogLevelColorChangeDialog(javax.swing.JMenuItem, org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +showLogLevelColorChangeDialog</H3> +<PRE> +protected void <B>showLogLevelColorChangeDialog</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A>&nbsp;result, + <A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createMenuItem(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +createMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A> <B>createMenuItem</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createViewMenu()"><!-- --></A><H3> +createViewMenu</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A> <B>createViewMenu</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)"><!-- --></A><H3> +getLogTableColumnMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A> <B>getLogTableColumnMenuItem</B>(<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>&nbsp;column)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createLogTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)"><!-- --></A><H3> +createLogTableColumnMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A> <B>createLogTableColumnMenuItem</B>(<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>&nbsp;column)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="updateView()"><!-- --></A><H3> +updateView</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>updateView</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createAllLogTableColumnsMenuItem()"><!-- --></A><H3> +createAllLogTableColumnsMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createAllLogTableColumnsMenuItem</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createNoLogTableColumnsMenuItem()"><!-- --></A><H3> +createNoLogTableColumnsMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createNoLogTableColumnsMenuItem</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="selectAllLogTableColumns(boolean)"><!-- --></A><H3> +selectAllLogTableColumns</H3> +<PRE> +protected void <B>selectAllLogTableColumns</B>(boolean&nbsp;selected)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createFileMenu()"><!-- --></A><H3> +createFileMenu</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A> <B>createFileMenu</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createOpenMI()"><!-- --></A><H3> +createOpenMI</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createOpenMI</B>()</PRE> +<DL> +<DD>Menu item added to allow log files to be opened with + the LF5 GUI. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createOpenURLMI()"><!-- --></A><H3> +createOpenURLMI</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createOpenURLMI</B>()</PRE> +<DL> +<DD>Menu item added to allow log files loaded from a URL + to be opened by the LF5 GUI. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createCloseMI()"><!-- --></A><H3> +createCloseMI</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createCloseMI</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createMRUFileListMI(javax.swing.JMenu)"><!-- --></A><H3> +createMRUFileListMI</H3> +<PRE> +protected void <B>createMRUFileListMI</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A>&nbsp;menu)</PRE> +<DL> +<DD>Creates a Most Recently Used file list to be + displayed in the File menu +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createExitMI()"><!-- --></A><H3> +createExitMI</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createExitMI</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createConfigureMenu()"><!-- --></A><H3> +createConfigureMenu</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A> <B>createConfigureMenu</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createConfigureSave()"><!-- --></A><H3> +createConfigureSave</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createConfigureSave</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createConfigureReset()"><!-- --></A><H3> +createConfigureReset</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createConfigureReset</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createConfigureMaxRecords()"><!-- --></A><H3> +createConfigureMaxRecords</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createConfigureMaxRecords</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="saveConfiguration()"><!-- --></A><H3> +saveConfiguration</H3> +<PRE> +protected void <B>saveConfiguration</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resetConfiguration()"><!-- --></A><H3> +resetConfiguration</H3> +<PRE> +protected void <B>resetConfiguration</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setMaxRecordConfiguration()"><!-- --></A><H3> +setMaxRecordConfiguration</H3> +<PRE> +protected void <B>setMaxRecordConfiguration</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createHelpMenu()"><!-- --></A><H3> +createHelpMenu</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A> <B>createHelpMenu</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createHelpProperties()"><!-- --></A><H3> +createHelpProperties</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createHelpProperties</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="showPropertiesDialog(java.lang.String)"><!-- --></A><H3> +showPropertiesDialog</H3> +<PRE> +protected void <B>showPropertiesDialog</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createEditMenu()"><!-- --></A><H3> +createEditMenu</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenu.html?is-external=true" title="class or interface in javax.swing">JMenu</A> <B>createEditMenu</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createEditFindNextMI()"><!-- --></A><H3> +createEditFindNextMI</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createEditFindNextMI</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createEditFindMI()"><!-- --></A><H3> +createEditFindMI</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createEditFindMI</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createEditSortNDCMI()"><!-- --></A><H3> +createEditSortNDCMI</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createEditSortNDCMI</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createEditRestoreAllNDCMI()"><!-- --></A><H3> +createEditRestoreAllNDCMI</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createEditRestoreAllNDCMI</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createToolBar()"><!-- --></A><H3> +createToolBar</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JToolBar.html?is-external=true" title="class or interface in javax.swing">JToolBar</A> <B>createToolBar</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setView(java.lang.String, org.apache.log4j.lf5.viewer.LogTable)"><!-- --></A><H3> +setView</H3> +<PRE> +protected void <B>setView</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;viewString, + <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A>&nbsp;table)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createLogLevelCombo()"><!-- --></A><H3> +createLogLevelCombo</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComboBox.html?is-external=true" title="class or interface in javax.swing">JComboBox</A> <B>createLogLevelCombo</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLeastSevereDisplayedLogLevel(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +setLeastSevereDisplayedLogLevel</H3> +<PRE> +protected void <B>setLeastSevereDisplayedLogLevel</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="trackTableScrollPane()"><!-- --></A><H3> +trackTableScrollPane</H3> +<PRE> +protected void <B>trackTableScrollPane</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>tracking is now done automatically.</I> +<P> +<DD>Ensures that the Table's ScrollPane Viewport will "track" with updates + to the Table. When the vertical scroll bar is at its bottom anchor + and tracking is enabled then viewport will stay at the bottom most + point of the component. The purpose of this feature is to allow + a developer to watch the table as messages arrive and not have to + scroll after each new message arrives. When the vertical scroll bar + is at any other location, then no tracking will happen. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="centerFrame(javax.swing.JFrame)"><!-- --></A><H3> +centerFrame</H3> +<PRE> +protected void <B>centerFrame</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;frame)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requestOpen()"><!-- --></A><H3> +requestOpen</H3> +<PRE> +protected void <B>requestOpen</B>()</PRE> +<DL> +<DD>Uses a JFileChooser to select a file to opened with the + LF5 GUI. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requestOpenURL()"><!-- --></A><H3> +requestOpenURL</H3> +<PRE> +protected void <B>requestOpenURL</B>()</PRE> +<DL> +<DD>Uses a Dialog box to accept a URL to a file to be opened + with the LF5 GUI. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="updateMRUList()"><!-- --></A><H3> +updateMRUList</H3> +<PRE> +protected void <B>updateMRUList</B>()</PRE> +<DL> +<DD>Removes old file list and creates a new file list + with the updated MRU list. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requestClose()"><!-- --></A><H3> +requestClose</H3> +<PRE> +protected void <B>requestClose</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requestOpenMRU(java.awt.event.ActionEvent)"><!-- --></A><H3> +requestOpenMRU</H3> +<PRE> +protected void <B>requestOpenMRU</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionEvent.html?is-external=true" title="class or interface in java.awt.event">ActionEvent</A>&nbsp;e)</PRE> +<DL> +<DD>Opens a file in the MRU list. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requestExit()"><!-- --></A><H3> +requestExit</H3> +<PRE> +protected void <B>requestExit</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="closeAfterConfirm()"><!-- --></A><H3> +closeAfterConfirm</H3> +<PRE> +protected void <B>closeAfterConfirm</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogLevels()"><!-- --></A><H3> +getLogLevels</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A> <B>getLogLevels</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogTableColumns()"><!-- --></A><H3> +getLogTableColumns</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A> <B>getLogTableColumns</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="loadLogFile(java.io.File)"><!-- --></A><H3> +loadLogFile</H3> +<PRE> +protected boolean <B>loadLogFile</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A>&nbsp;file)</PRE> +<DL> +<DD>Loads and parses a log file. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="loadLogFile(java.net.URL)"><!-- --></A><H3> +loadLogFile</H3> +<PRE> +protected boolean <B>loadLogFile</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url)</PRE> +<DL> +<DD>Loads a parses a log file running on a server. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogBrokerMonitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogBrokerMonitor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5Dialog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5Dialog.html new file mode 100644 index 00000000000..c2a02dc02e0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5Dialog.html @@ -0,0 +1,548 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogFactor5Dialog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogFactor5Dialog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogFactor5Dialog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5Dialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JDialog">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LogFactor5Dialog</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">java.awt.Window</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">java.awt.Dialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">javax.swing.JDialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LogFactor5Dialog</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/RootPaneContainer.html?is-external=true" title="class or interface in javax.swing">RootPaneContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5ErrorDialog</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5InputDialog</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5LoadingDialog</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>LogFactor5Dialog</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></DL> +</PRE> + +<P> +LogFactor5Dialog +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Hurst, Brad Marlborough</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.LogFactor5Dialog">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.AccessibleJDialog.html?is-external=true" title="class or interface in javax.swing">JDialog.AccessibleJDialog</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.AccessibleAWTDialog.html?is-external=true" title="class or interface in java.awt">Dialog.AccessibleAWTDialog</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.ModalExclusionType.html?is-external=true" title="class or interface in java.awt">Dialog.ModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.ModalityType.html?is-external=true" title="class or interface in java.awt">Dialog.ModalityType</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Window"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.AccessibleAWTWindow.html?is-external=true" title="class or interface in java.awt">Window.AccessibleAWTWindow</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BltBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.BltBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.FlipBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.FlipBufferStrategy</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Font.html?is-external=true" title="class or interface in java.awt">Font</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#DISPLAY_FONT">DISPLAY_FONT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#rootPane" title="class or interface in javax.swing">rootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#rootPaneCheckingEnabled" title="class or interface in javax.swing">rootPaneCheckingEnabled</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#DEFAULT_MODALITY_TYPE" title="class or interface in java.awt">DEFAULT_MODALITY_TYPE</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt">LEFT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#RIGHT_ALIGNMENT" title="class or interface in java.awt">RIGHT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#TOP_ALIGNMENT" title="class or interface in java.awt">TOP_ALIGNMENT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.WindowConstants"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#DISPOSE_ON_CLOSE" title="class or interface in javax.swing">DISPOSE_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#DO_NOTHING_ON_CLOSE" title="class or interface in javax.swing">DO_NOTHING_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#EXIT_ON_CLOSE" title="class or interface in javax.swing">EXIT_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#HIDE_ON_CLOSE" title="class or interface in javax.swing">HIDE_ON_CLOSE</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image">ERROR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#FRAMEBITS" title="class or interface in java.awt.image">FRAMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#HEIGHT" title="class or interface in java.awt.image">HEIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#PROPERTIES" title="class or interface in java.awt.image">PROPERTIES</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#SOMEBITS" title="class or interface in java.awt.image">SOMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#WIDTH" title="class or interface in java.awt.image">WIDTH</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#LogFactor5Dialog(javax.swing.JFrame, java.lang.String, boolean)">LogFactor5Dialog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;jframe, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + boolean&nbsp;modal)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#centerWindow(java.awt.Window)">centerWindow</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A>&nbsp;win)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/GridBagConstraints.html?is-external=true" title="class or interface in java.awt">GridBagConstraints</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#getDefaultConstraints()">getDefaultConstraints</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#minimumSizeDialog(java.awt.Component, int, int)">minimumSizeDialog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A>&nbsp;component, + int&nbsp;minWidth, + int&nbsp;minHeight)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#show()">show</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#wrapStringOnPanel(java.lang.String, java.awt.Container)">wrapStringOnPanel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A>&nbsp;container)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in javax.swing">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#createRootPane()" title="class or interface in javax.swing">createRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#dialogInit()" title="class or interface in javax.swing">dialogInit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getContentPane()" title="class or interface in javax.swing">getContentPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getDefaultCloseOperation()" title="class or interface in javax.swing">getDefaultCloseOperation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getGlassPane()" title="class or interface in javax.swing">getGlassPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getGraphics()" title="class or interface in javax.swing">getGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getJMenuBar()" title="class or interface in javax.swing">getJMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getLayeredPane()" title="class or interface in javax.swing">getLayeredPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getRootPane()" title="class or interface in javax.swing">getRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getTransferHandler()" title="class or interface in javax.swing">getTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#isDefaultLookAndFeelDecorated()" title="class or interface in javax.swing">isDefaultLookAndFeelDecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#isRootPaneCheckingEnabled()" title="class or interface in javax.swing">isRootPaneCheckingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#paramString()" title="class or interface in javax.swing">paramString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#processWindowEvent(java.awt.event.WindowEvent)" title="class or interface in javax.swing">processWindowEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#remove(java.awt.Component)" title="class or interface in javax.swing">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#repaint(long, int, int, int, int)" title="class or interface in javax.swing">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setContentPane(java.awt.Container)" title="class or interface in javax.swing">setContentPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setDefaultCloseOperation(int)" title="class or interface in javax.swing">setDefaultCloseOperation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setDefaultLookAndFeelDecorated(boolean)" title="class or interface in javax.swing">setDefaultLookAndFeelDecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setGlassPane(java.awt.Component)" title="class or interface in javax.swing">setGlassPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setJMenuBar(javax.swing.JMenuBar)" title="class or interface in javax.swing">setJMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setLayeredPane(javax.swing.JLayeredPane)" title="class or interface in javax.swing">setLayeredPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setLayout(java.awt.LayoutManager)" title="class or interface in javax.swing">setLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setRootPane(javax.swing.JRootPane)" title="class or interface in javax.swing">setRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setRootPaneCheckingEnabled(boolean)" title="class or interface in javax.swing">setRootPaneCheckingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setTransferHandler(javax.swing.TransferHandler)" title="class or interface in javax.swing">setTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#update(java.awt.Graphics)" title="class or interface in javax.swing">update</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#addNotify()" title="class or interface in java.awt">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#getModalityType()" title="class or interface in java.awt">getModalityType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#getTitle()" title="class or interface in java.awt">getTitle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#hide()" title="class or interface in java.awt">hide</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isModal()" title="class or interface in java.awt">isModal</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isResizable()" title="class or interface in java.awt">isResizable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isUndecorated()" title="class or interface in java.awt">isUndecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setModal(boolean)" title="class or interface in java.awt">setModal</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setModalityType(java.awt.Dialog.ModalityType)" title="class or interface in java.awt">setModalityType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setResizable(boolean)" title="class or interface in java.awt">setResizable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setTitle(java.lang.String)" title="class or interface in java.awt">setTitle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setUndecorated(boolean)" title="class or interface in java.awt">setUndecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setVisible(boolean)" title="class or interface in java.awt">setVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#toBack()" title="class or interface in java.awt">toBack</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Window"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowFocusListener(java.awt.event.WindowFocusListener)" title="class or interface in java.awt">addWindowFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowListener(java.awt.event.WindowListener)" title="class or interface in java.awt">addWindowListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowStateListener(java.awt.event.WindowStateListener)" title="class or interface in java.awt">addWindowStateListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#applyResourceBundle(java.util.ResourceBundle)" title="class or interface in java.awt">applyResourceBundle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#applyResourceBundle(java.lang.String)" title="class or interface in java.awt">applyResourceBundle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#createBufferStrategy(int)" title="class or interface in java.awt">createBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#createBufferStrategy(int, java.awt.BufferCapabilities)" title="class or interface in java.awt">createBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#dispose()" title="class or interface in java.awt">dispose</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getBufferStrategy()" title="class or interface in java.awt">getBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusableWindowState()" title="class or interface in java.awt">getFocusableWindowState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusCycleRootAncestor()" title="class or interface in java.awt">getFocusCycleRootAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusOwner()" title="class or interface in java.awt">getFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusTraversalKeys(int)" title="class or interface in java.awt">getFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getGraphicsConfiguration()" title="class or interface in java.awt">getGraphicsConfiguration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getIconImages()" title="class or interface in java.awt">getIconImages</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getInputContext()" title="class or interface in java.awt">getInputContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in java.awt">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getLocale()" title="class or interface in java.awt">getLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getModalExclusionType()" title="class or interface in java.awt">getModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getMostRecentFocusOwner()" title="class or interface in java.awt">getMostRecentFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwnedWindows()" title="class or interface in java.awt">getOwnedWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwner()" title="class or interface in java.awt">getOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwnerlessWindows()" title="class or interface in java.awt">getOwnerlessWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getToolkit()" title="class or interface in java.awt">getToolkit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWarningString()" title="class or interface in java.awt">getWarningString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowFocusListeners()" title="class or interface in java.awt">getWindowFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowListeners()" title="class or interface in java.awt">getWindowListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindows()" title="class or interface in java.awt">getWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowStateListeners()" title="class or interface in java.awt">getWindowStateListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isActive()" title="class or interface in java.awt">isActive</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isAlwaysOnTop()" title="class or interface in java.awt">isAlwaysOnTop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isAlwaysOnTopSupported()" title="class or interface in java.awt">isAlwaysOnTopSupported</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocusableWindow()" title="class or interface in java.awt">isFocusableWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocusCycleRoot()" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocused()" title="class or interface in java.awt">isFocused</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isLocationByPlatform()" title="class or interface in java.awt">isLocationByPlatform</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isShowing()" title="class or interface in java.awt">isShowing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#pack()" title="class or interface in java.awt">pack</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processEvent(java.awt.AWTEvent)" title="class or interface in java.awt">processEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processWindowFocusEvent(java.awt.event.WindowEvent)" title="class or interface in java.awt">processWindowFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processWindowStateEvent(java.awt.event.WindowEvent)" title="class or interface in java.awt">processWindowStateEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeNotify()" title="class or interface in java.awt">removeNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowFocusListener(java.awt.event.WindowFocusListener)" title="class or interface in java.awt">removeWindowFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowListener(java.awt.event.WindowListener)" title="class or interface in java.awt">removeWindowListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowStateListener(java.awt.event.WindowStateListener)" title="class or interface in java.awt">removeWindowStateListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#reshape(int, int, int, int)" title="class or interface in java.awt">reshape</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setAlwaysOnTop(boolean)" title="class or interface in java.awt">setAlwaysOnTop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setBounds(int, int, int, int)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setBounds(java.awt.Rectangle)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setCursor(java.awt.Cursor)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setFocusableWindowState(boolean)" title="class or interface in java.awt">setFocusableWindowState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setFocusCycleRoot(boolean)" title="class or interface in java.awt">setFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setIconImage(java.awt.Image)" title="class or interface in java.awt">setIconImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setIconImages(java.util.List)" title="class or interface in java.awt">setIconImages</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setLocationByPlatform(boolean)" title="class or interface in java.awt">setLocationByPlatform</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setLocationRelativeTo(java.awt.Component)" title="class or interface in java.awt">setLocationRelativeTo</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setMinimumSize(java.awt.Dimension)" title="class or interface in java.awt">setMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setModalExclusionType(java.awt.Dialog.ModalExclusionType)" title="class or interface in java.awt">setModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setSize(java.awt.Dimension)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setSize(int, int)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#toFront()" title="class or interface in java.awt">toFront</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.lang.String, java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">addContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#applyComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">applyComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#areFocusTraversalKeysSet(int)" title="class or interface in java.awt">areFocusTraversalKeysSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#countComponents()" title="class or interface in java.awt">countComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#deliverEvent(java.awt.Event)" title="class or interface in java.awt">deliverEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#doLayout()" title="class or interface in java.awt">doLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(int, int)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(java.awt.Point)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getAlignmentX()" title="class or interface in java.awt">getAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getAlignmentY()" title="class or interface in java.awt">getAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponent(int)" title="class or interface in java.awt">getComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(int, int)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(java.awt.Point)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentCount()" title="class or interface in java.awt">getComponentCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponents()" title="class or interface in java.awt">getComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentZOrder(java.awt.Component)" title="class or interface in java.awt">getComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getContainerListeners()" title="class or interface in java.awt">getContainerListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalPolicy()" title="class or interface in java.awt">getFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getInsets()" title="class or interface in java.awt">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getLayout()" title="class or interface in java.awt">getLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMaximumSize()" title="class or interface in java.awt">getMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMinimumSize()" title="class or interface in java.awt">getMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMousePosition(boolean)" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getPreferredSize()" title="class or interface in java.awt">getPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#insets()" title="class or interface in java.awt">insets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#invalidate()" title="class or interface in java.awt">invalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isAncestorOf(java.awt.Component)" title="class or interface in java.awt">isAncestorOf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot(java.awt.Container)" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicyProvider()" title="class or interface in java.awt">isFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicySet()" title="class or interface in java.awt">isFocusTraversalPolicySet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#layout()" title="class or interface in java.awt">layout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintStream, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintWriter, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#locate(int, int)" title="class or interface in java.awt">locate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#minimumSize()" title="class or interface in java.awt">minimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paint(java.awt.Graphics)" title="class or interface in java.awt">paint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paintComponents(java.awt.Graphics)" title="class or interface in java.awt">paintComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#preferredSize()" title="class or interface in java.awt">preferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#print(java.awt.Graphics)" title="class or interface in java.awt">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#printComponents(java.awt.Graphics)" title="class or interface in java.awt">printComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processContainerEvent(java.awt.event.ContainerEvent)" title="class or interface in java.awt">processContainerEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(int)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeAll()" title="class or interface in java.awt">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">removeContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setComponentZOrder(java.awt.Component, int)" title="class or interface in java.awt">setComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalKeys(int, java.util.Set)" title="class or interface in java.awt">setFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)" title="class or interface in java.awt">setFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicyProvider(boolean)" title="class or interface in java.awt">setFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFont(java.awt.Font)" title="class or interface in java.awt">setFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusBackward()" title="class or interface in java.awt">transferFocusBackward</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusDownCycle()" title="class or interface in java.awt">transferFocusDownCycle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validate()" title="class or interface in java.awt">validate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validateTree()" title="class or interface in java.awt">validateTree</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">addComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">addFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">addHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">addHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">addInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">addKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">addMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">addMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">addMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#bounds()" title="class or interface in java.awt">bounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#coalesceEvents(java.awt.AWTEvent, java.awt.AWTEvent)" title="class or interface in java.awt">coalesceEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(int, int)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(java.awt.Point)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(java.awt.image.ImageProducer)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(int, int)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int, java.awt.ImageCapabilities)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disable()" title="class or interface in java.awt">disable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disableEvents(long)" title="class or interface in java.awt">disableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#dispatchEvent(java.awt.AWTEvent)" title="class or interface in java.awt">dispatchEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable()" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable(boolean)" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableEvents(long)" title="class or interface in java.awt">enableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableInputMethods(boolean)" title="class or interface in java.awt">enableInputMethods</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, byte, byte)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, char, char)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, double, double)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, float, float)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, int, int)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, long, long)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, short, short)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBackground()" title="class or interface in java.awt">getBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBaseline(int, int)" title="class or interface in java.awt">getBaseline</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBaselineResizeBehavior()" title="class or interface in java.awt">getBaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds()" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds(java.awt.Rectangle)" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getColorModel()" title="class or interface in java.awt">getColorModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentListeners()" title="class or interface in java.awt">getComponentListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentOrientation()" title="class or interface in java.awt">getComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getCursor()" title="class or interface in java.awt">getCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getDropTarget()" title="class or interface in java.awt">getDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusListeners()" title="class or interface in java.awt">getFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusTraversalKeysEnabled()" title="class or interface in java.awt">getFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFont()" title="class or interface in java.awt">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFontMetrics(java.awt.Font)" title="class or interface in java.awt">getFontMetrics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getForeground()" title="class or interface in java.awt">getForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHeight()" title="class or interface in java.awt">getHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyBoundsListeners()" title="class or interface in java.awt">getHierarchyBoundsListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyListeners()" title="class or interface in java.awt">getHierarchyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getIgnoreRepaint()" title="class or interface in java.awt">getIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodListeners()" title="class or interface in java.awt">getInputMethodListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodRequests()" title="class or interface in java.awt">getInputMethodRequests</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getKeyListeners()" title="class or interface in java.awt">getKeyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation()" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation(java.awt.Point)" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocationOnScreen()" title="class or interface in java.awt">getLocationOnScreen</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseListeners()" title="class or interface in java.awt">getMouseListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseMotionListeners()" title="class or interface in java.awt">getMouseMotionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMousePosition()" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseWheelListeners()" title="class or interface in java.awt">getMouseWheelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getName()" title="class or interface in java.awt">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getParent()" title="class or interface in java.awt">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPeer()" title="class or interface in java.awt">getPeer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners()" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners(java.lang.String)" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize()" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize(java.awt.Dimension)" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getTreeLock()" title="class or interface in java.awt">getTreeLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getWidth()" title="class or interface in java.awt">getWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getX()" title="class or interface in java.awt">getX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getY()" title="class or interface in java.awt">getY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#gotFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">gotFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#handleEvent(java.awt.Event)" title="class or interface in java.awt">handleEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hasFocus()" title="class or interface in java.awt">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#imageUpdate(java.awt.Image, int, int, int, int, int)" title="class or interface in java.awt">imageUpdate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#inside(int, int)" title="class or interface in java.awt">inside</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isBackgroundSet()" title="class or interface in java.awt">isBackgroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isCursorSet()" title="class or interface in java.awt">isCursorSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDisplayable()" title="class or interface in java.awt">isDisplayable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDoubleBuffered()" title="class or interface in java.awt">isDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isEnabled()" title="class or interface in java.awt">isEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusable()" title="class or interface in java.awt">isFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusOwner()" title="class or interface in java.awt">isFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusTraversable()" title="class or interface in java.awt">isFocusTraversable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFontSet()" title="class or interface in java.awt">isFontSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isForegroundSet()" title="class or interface in java.awt">isForegroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isLightweight()" title="class or interface in java.awt">isLightweight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMaximumSizeSet()" title="class or interface in java.awt">isMaximumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMinimumSizeSet()" title="class or interface in java.awt">isMinimumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isOpaque()" title="class or interface in java.awt">isOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isPreferredSizeSet()" title="class or interface in java.awt">isPreferredSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isValid()" title="class or interface in java.awt">isValid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isVisible()" title="class or interface in java.awt">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyDown(java.awt.Event, int)" title="class or interface in java.awt">keyDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyUp(java.awt.Event, int)" title="class or interface in java.awt">keyUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list()" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintStream)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintWriter)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#location()" title="class or interface in java.awt">location</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#lostFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">lostFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDown(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDrag(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDrag</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseEnter(java.awt.Event, int, int)" title="class or interface in java.awt">mouseEnter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseExit(java.awt.Event, int, int)" title="class or interface in java.awt">mouseExit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseMove(java.awt.Event, int, int)" title="class or interface in java.awt">mouseMove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseUp(java.awt.Event, int, int)" title="class or interface in java.awt">mouseUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#move(int, int)" title="class or interface in java.awt">move</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#nextFocus()" title="class or interface in java.awt">nextFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#paintAll(java.awt.Graphics)" title="class or interface in java.awt">paintAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#printAll(java.awt.Graphics)" title="class or interface in java.awt">printAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processComponentEvent(java.awt.event.ComponentEvent)" title="class or interface in java.awt">processComponentEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processFocusEvent(java.awt.event.FocusEvent)" title="class or interface in java.awt">processFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyBoundsEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyBoundsEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processInputMethodEvent(java.awt.event.InputMethodEvent)" title="class or interface in java.awt">processInputMethodEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processKeyEvent(java.awt.event.KeyEvent)" title="class or interface in java.awt">processKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseEvent(java.awt.event.MouseEvent)" title="class or interface in java.awt">processMouseEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseMotionEvent(java.awt.event.MouseEvent)" title="class or interface in java.awt">processMouseMotionEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseWheelEvent(java.awt.event.MouseWheelEvent)" title="class or interface in java.awt">processMouseWheelEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#remove(java.awt.MenuComponent)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">removeComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">removeFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">removeHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">removeHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">removeInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">removeKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">removeMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">removeMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">removeMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint()" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(int, int, int, int)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(long)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocus()" title="class or interface in java.awt">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocus(boolean)" title="class or interface in java.awt">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocusInWindow()" title="class or interface in java.awt">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocusInWindow(boolean)" title="class or interface in java.awt">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(java.awt.Dimension)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(int, int)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBackground(java.awt.Color)" title="class or interface in java.awt">setBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">setComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setDropTarget(java.awt.dnd.DropTarget)" title="class or interface in java.awt">setDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setEnabled(boolean)" title="class or interface in java.awt">setEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusable(boolean)" title="class or interface in java.awt">setFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusTraversalKeysEnabled(boolean)" title="class or interface in java.awt">setFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setForeground(java.awt.Color)" title="class or interface in java.awt">setForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setIgnoreRepaint(boolean)" title="class or interface in java.awt">setIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocale(java.util.Locale)" title="class or interface in java.awt">setLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(int, int)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(java.awt.Point)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setMaximumSize(java.awt.Dimension)" title="class or interface in java.awt">setMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setName(java.lang.String)" title="class or interface in java.awt">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setPreferredSize(java.awt.Dimension)" title="class or interface in java.awt">setPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show(boolean)" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#size()" title="class or interface in java.awt">size</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#toString()" title="class or interface in java.awt">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocus()" title="class or interface in java.awt">transferFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocusUpCycle()" title="class or interface in java.awt">transferFocusUpCycle</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DISPLAY_FONT"><!-- --></A><H3> +DISPLAY_FONT</H3> +<PRE> +protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Font.html?is-external=true" title="class or interface in java.awt">Font</A> <B>DISPLAY_FONT</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogFactor5Dialog(javax.swing.JFrame, java.lang.String, boolean)"><!-- --></A><H3> +LogFactor5Dialog</H3> +<PRE> +protected <B>LogFactor5Dialog</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;jframe, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + boolean&nbsp;modal)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="show()"><!-- --></A><H3> +show</H3> +<PRE> +public void <B>show</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#show()" title="class or interface in java.awt">show</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="centerWindow(java.awt.Window)"><!-- --></A><H3> +centerWindow</H3> +<PRE> +protected void <B>centerWindow</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A>&nbsp;win)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="wrapStringOnPanel(java.lang.String, java.awt.Container)"><!-- --></A><H3> +wrapStringOnPanel</H3> +<PRE> +protected void <B>wrapStringOnPanel</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A>&nbsp;container)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDefaultConstraints()"><!-- --></A><H3> +getDefaultConstraints</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/GridBagConstraints.html?is-external=true" title="class or interface in java.awt">GridBagConstraints</A> <B>getDefaultConstraints</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="minimumSizeDialog(java.awt.Component, int, int)"><!-- --></A><H3> +minimumSizeDialog</H3> +<PRE> +protected void <B>minimumSizeDialog</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A>&nbsp;component, + int&nbsp;minWidth, + int&nbsp;minHeight)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogFactor5Dialog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5Dialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JDialog">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html new file mode 100644 index 00000000000..7d5e0c321c5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html @@ -0,0 +1,420 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogFactor5ErrorDialog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogFactor5ErrorDialog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogFactor5ErrorDialog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5ErrorDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JDialog">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LogFactor5ErrorDialog</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">java.awt.Window</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">java.awt.Dialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">javax.swing.JDialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogFactor5Dialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LogFactor5ErrorDialog</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/RootPaneContainer.html?is-external=true" title="class or interface in javax.swing">RootPaneContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogFactor5ErrorDialog</B><DT>extends <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></DL> +</PRE> + +<P> +LogFactor5ErrorDialog +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Hurst, Brad Marlborough</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.LogFactor5ErrorDialog">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.AccessibleJDialog.html?is-external=true" title="class or interface in javax.swing">JDialog.AccessibleJDialog</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.AccessibleAWTDialog.html?is-external=true" title="class or interface in java.awt">Dialog.AccessibleAWTDialog</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.ModalExclusionType.html?is-external=true" title="class or interface in java.awt">Dialog.ModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.ModalityType.html?is-external=true" title="class or interface in java.awt">Dialog.ModalityType</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Window"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.AccessibleAWTWindow.html?is-external=true" title="class or interface in java.awt">Window.AccessibleAWTWindow</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BltBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.BltBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.FlipBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.FlipBufferStrategy</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#DISPLAY_FONT">DISPLAY_FONT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#rootPane" title="class or interface in javax.swing">rootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#rootPaneCheckingEnabled" title="class or interface in javax.swing">rootPaneCheckingEnabled</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#DEFAULT_MODALITY_TYPE" title="class or interface in java.awt">DEFAULT_MODALITY_TYPE</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt">LEFT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#RIGHT_ALIGNMENT" title="class or interface in java.awt">RIGHT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#TOP_ALIGNMENT" title="class or interface in java.awt">TOP_ALIGNMENT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.WindowConstants"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#DISPOSE_ON_CLOSE" title="class or interface in javax.swing">DISPOSE_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#DO_NOTHING_ON_CLOSE" title="class or interface in javax.swing">DO_NOTHING_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#EXIT_ON_CLOSE" title="class or interface in javax.swing">EXIT_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#HIDE_ON_CLOSE" title="class or interface in javax.swing">HIDE_ON_CLOSE</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image">ERROR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#FRAMEBITS" title="class or interface in java.awt.image">FRAMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#HEIGHT" title="class or interface in java.awt.image">HEIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#PROPERTIES" title="class or interface in java.awt.image">PROPERTIES</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#SOMEBITS" title="class or interface in java.awt.image">SOMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#WIDTH" title="class or interface in java.awt.image">WIDTH</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html#LogFactor5ErrorDialog(javax.swing.JFrame, java.lang.String)">LogFactor5ErrorDialog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;jframe, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#centerWindow(java.awt.Window)">centerWindow</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#getDefaultConstraints()">getDefaultConstraints</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#minimumSizeDialog(java.awt.Component, int, int)">minimumSizeDialog</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#show()">show</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#wrapStringOnPanel(java.lang.String, java.awt.Container)">wrapStringOnPanel</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in javax.swing">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#createRootPane()" title="class or interface in javax.swing">createRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#dialogInit()" title="class or interface in javax.swing">dialogInit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getContentPane()" title="class or interface in javax.swing">getContentPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getDefaultCloseOperation()" title="class or interface in javax.swing">getDefaultCloseOperation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getGlassPane()" title="class or interface in javax.swing">getGlassPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getGraphics()" title="class or interface in javax.swing">getGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getJMenuBar()" title="class or interface in javax.swing">getJMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getLayeredPane()" title="class or interface in javax.swing">getLayeredPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getRootPane()" title="class or interface in javax.swing">getRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getTransferHandler()" title="class or interface in javax.swing">getTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#isDefaultLookAndFeelDecorated()" title="class or interface in javax.swing">isDefaultLookAndFeelDecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#isRootPaneCheckingEnabled()" title="class or interface in javax.swing">isRootPaneCheckingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#paramString()" title="class or interface in javax.swing">paramString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#processWindowEvent(java.awt.event.WindowEvent)" title="class or interface in javax.swing">processWindowEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#remove(java.awt.Component)" title="class or interface in javax.swing">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#repaint(long, int, int, int, int)" title="class or interface in javax.swing">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setContentPane(java.awt.Container)" title="class or interface in javax.swing">setContentPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setDefaultCloseOperation(int)" title="class or interface in javax.swing">setDefaultCloseOperation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setDefaultLookAndFeelDecorated(boolean)" title="class or interface in javax.swing">setDefaultLookAndFeelDecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setGlassPane(java.awt.Component)" title="class or interface in javax.swing">setGlassPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setJMenuBar(javax.swing.JMenuBar)" title="class or interface in javax.swing">setJMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setLayeredPane(javax.swing.JLayeredPane)" title="class or interface in javax.swing">setLayeredPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setLayout(java.awt.LayoutManager)" title="class or interface in javax.swing">setLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setRootPane(javax.swing.JRootPane)" title="class or interface in javax.swing">setRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setRootPaneCheckingEnabled(boolean)" title="class or interface in javax.swing">setRootPaneCheckingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setTransferHandler(javax.swing.TransferHandler)" title="class or interface in javax.swing">setTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#update(java.awt.Graphics)" title="class or interface in javax.swing">update</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#addNotify()" title="class or interface in java.awt">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#getModalityType()" title="class or interface in java.awt">getModalityType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#getTitle()" title="class or interface in java.awt">getTitle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#hide()" title="class or interface in java.awt">hide</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isModal()" title="class or interface in java.awt">isModal</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isResizable()" title="class or interface in java.awt">isResizable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isUndecorated()" title="class or interface in java.awt">isUndecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setModal(boolean)" title="class or interface in java.awt">setModal</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setModalityType(java.awt.Dialog.ModalityType)" title="class or interface in java.awt">setModalityType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setResizable(boolean)" title="class or interface in java.awt">setResizable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setTitle(java.lang.String)" title="class or interface in java.awt">setTitle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setUndecorated(boolean)" title="class or interface in java.awt">setUndecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setVisible(boolean)" title="class or interface in java.awt">setVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#toBack()" title="class or interface in java.awt">toBack</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Window"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowFocusListener(java.awt.event.WindowFocusListener)" title="class or interface in java.awt">addWindowFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowListener(java.awt.event.WindowListener)" title="class or interface in java.awt">addWindowListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowStateListener(java.awt.event.WindowStateListener)" title="class or interface in java.awt">addWindowStateListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#applyResourceBundle(java.util.ResourceBundle)" title="class or interface in java.awt">applyResourceBundle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#applyResourceBundle(java.lang.String)" title="class or interface in java.awt">applyResourceBundle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#createBufferStrategy(int)" title="class or interface in java.awt">createBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#createBufferStrategy(int, java.awt.BufferCapabilities)" title="class or interface in java.awt">createBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#dispose()" title="class or interface in java.awt">dispose</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getBufferStrategy()" title="class or interface in java.awt">getBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusableWindowState()" title="class or interface in java.awt">getFocusableWindowState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusCycleRootAncestor()" title="class or interface in java.awt">getFocusCycleRootAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusOwner()" title="class or interface in java.awt">getFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusTraversalKeys(int)" title="class or interface in java.awt">getFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getGraphicsConfiguration()" title="class or interface in java.awt">getGraphicsConfiguration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getIconImages()" title="class or interface in java.awt">getIconImages</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getInputContext()" title="class or interface in java.awt">getInputContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in java.awt">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getLocale()" title="class or interface in java.awt">getLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getModalExclusionType()" title="class or interface in java.awt">getModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getMostRecentFocusOwner()" title="class or interface in java.awt">getMostRecentFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwnedWindows()" title="class or interface in java.awt">getOwnedWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwner()" title="class or interface in java.awt">getOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwnerlessWindows()" title="class or interface in java.awt">getOwnerlessWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getToolkit()" title="class or interface in java.awt">getToolkit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWarningString()" title="class or interface in java.awt">getWarningString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowFocusListeners()" title="class or interface in java.awt">getWindowFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowListeners()" title="class or interface in java.awt">getWindowListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindows()" title="class or interface in java.awt">getWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowStateListeners()" title="class or interface in java.awt">getWindowStateListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isActive()" title="class or interface in java.awt">isActive</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isAlwaysOnTop()" title="class or interface in java.awt">isAlwaysOnTop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isAlwaysOnTopSupported()" title="class or interface in java.awt">isAlwaysOnTopSupported</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocusableWindow()" title="class or interface in java.awt">isFocusableWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocusCycleRoot()" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocused()" title="class or interface in java.awt">isFocused</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isLocationByPlatform()" title="class or interface in java.awt">isLocationByPlatform</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isShowing()" title="class or interface in java.awt">isShowing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#pack()" title="class or interface in java.awt">pack</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processEvent(java.awt.AWTEvent)" title="class or interface in java.awt">processEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processWindowFocusEvent(java.awt.event.WindowEvent)" title="class or interface in java.awt">processWindowFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processWindowStateEvent(java.awt.event.WindowEvent)" title="class or interface in java.awt">processWindowStateEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeNotify()" title="class or interface in java.awt">removeNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowFocusListener(java.awt.event.WindowFocusListener)" title="class or interface in java.awt">removeWindowFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowListener(java.awt.event.WindowListener)" title="class or interface in java.awt">removeWindowListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowStateListener(java.awt.event.WindowStateListener)" title="class or interface in java.awt">removeWindowStateListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#reshape(int, int, int, int)" title="class or interface in java.awt">reshape</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setAlwaysOnTop(boolean)" title="class or interface in java.awt">setAlwaysOnTop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setBounds(int, int, int, int)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setBounds(java.awt.Rectangle)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setCursor(java.awt.Cursor)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setFocusableWindowState(boolean)" title="class or interface in java.awt">setFocusableWindowState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setFocusCycleRoot(boolean)" title="class or interface in java.awt">setFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setIconImage(java.awt.Image)" title="class or interface in java.awt">setIconImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setIconImages(java.util.List)" title="class or interface in java.awt">setIconImages</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setLocationByPlatform(boolean)" title="class or interface in java.awt">setLocationByPlatform</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setLocationRelativeTo(java.awt.Component)" title="class or interface in java.awt">setLocationRelativeTo</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setMinimumSize(java.awt.Dimension)" title="class or interface in java.awt">setMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setModalExclusionType(java.awt.Dialog.ModalExclusionType)" title="class or interface in java.awt">setModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setSize(java.awt.Dimension)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setSize(int, int)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#toFront()" title="class or interface in java.awt">toFront</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.lang.String, java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">addContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#applyComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">applyComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#areFocusTraversalKeysSet(int)" title="class or interface in java.awt">areFocusTraversalKeysSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#countComponents()" title="class or interface in java.awt">countComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#deliverEvent(java.awt.Event)" title="class or interface in java.awt">deliverEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#doLayout()" title="class or interface in java.awt">doLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(int, int)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(java.awt.Point)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getAlignmentX()" title="class or interface in java.awt">getAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getAlignmentY()" title="class or interface in java.awt">getAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponent(int)" title="class or interface in java.awt">getComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(int, int)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(java.awt.Point)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentCount()" title="class or interface in java.awt">getComponentCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponents()" title="class or interface in java.awt">getComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentZOrder(java.awt.Component)" title="class or interface in java.awt">getComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getContainerListeners()" title="class or interface in java.awt">getContainerListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalPolicy()" title="class or interface in java.awt">getFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getInsets()" title="class or interface in java.awt">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getLayout()" title="class or interface in java.awt">getLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMaximumSize()" title="class or interface in java.awt">getMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMinimumSize()" title="class or interface in java.awt">getMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMousePosition(boolean)" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getPreferredSize()" title="class or interface in java.awt">getPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#insets()" title="class or interface in java.awt">insets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#invalidate()" title="class or interface in java.awt">invalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isAncestorOf(java.awt.Component)" title="class or interface in java.awt">isAncestorOf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot(java.awt.Container)" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicyProvider()" title="class or interface in java.awt">isFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicySet()" title="class or interface in java.awt">isFocusTraversalPolicySet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#layout()" title="class or interface in java.awt">layout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintStream, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintWriter, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#locate(int, int)" title="class or interface in java.awt">locate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#minimumSize()" title="class or interface in java.awt">minimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paint(java.awt.Graphics)" title="class or interface in java.awt">paint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paintComponents(java.awt.Graphics)" title="class or interface in java.awt">paintComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#preferredSize()" title="class or interface in java.awt">preferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#print(java.awt.Graphics)" title="class or interface in java.awt">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#printComponents(java.awt.Graphics)" title="class or interface in java.awt">printComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processContainerEvent(java.awt.event.ContainerEvent)" title="class or interface in java.awt">processContainerEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(int)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeAll()" title="class or interface in java.awt">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">removeContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setComponentZOrder(java.awt.Component, int)" title="class or interface in java.awt">setComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalKeys(int, java.util.Set)" title="class or interface in java.awt">setFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)" title="class or interface in java.awt">setFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicyProvider(boolean)" title="class or interface in java.awt">setFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFont(java.awt.Font)" title="class or interface in java.awt">setFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusBackward()" title="class or interface in java.awt">transferFocusBackward</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusDownCycle()" title="class or interface in java.awt">transferFocusDownCycle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validate()" title="class or interface in java.awt">validate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validateTree()" title="class or interface in java.awt">validateTree</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">addComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">addFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">addHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">addHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">addInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">addKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">addMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">addMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">addMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#bounds()" title="class or interface in java.awt">bounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#coalesceEvents(java.awt.AWTEvent, java.awt.AWTEvent)" title="class or interface in java.awt">coalesceEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(int, int)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(java.awt.Point)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(java.awt.image.ImageProducer)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(int, int)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int, java.awt.ImageCapabilities)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disable()" title="class or interface in java.awt">disable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disableEvents(long)" title="class or interface in java.awt">disableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#dispatchEvent(java.awt.AWTEvent)" title="class or interface in java.awt">dispatchEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable()" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable(boolean)" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableEvents(long)" title="class or interface in java.awt">enableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableInputMethods(boolean)" title="class or interface in java.awt">enableInputMethods</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, byte, byte)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, char, char)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, double, double)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, float, float)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, int, int)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, long, long)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, short, short)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBackground()" title="class or interface in java.awt">getBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBaseline(int, int)" title="class or interface in java.awt">getBaseline</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBaselineResizeBehavior()" title="class or interface in java.awt">getBaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds()" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds(java.awt.Rectangle)" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getColorModel()" title="class or interface in java.awt">getColorModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentListeners()" title="class or interface in java.awt">getComponentListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentOrientation()" title="class or interface in java.awt">getComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getCursor()" title="class or interface in java.awt">getCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getDropTarget()" title="class or interface in java.awt">getDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusListeners()" title="class or interface in java.awt">getFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusTraversalKeysEnabled()" title="class or interface in java.awt">getFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFont()" title="class or interface in java.awt">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFontMetrics(java.awt.Font)" title="class or interface in java.awt">getFontMetrics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getForeground()" title="class or interface in java.awt">getForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHeight()" title="class or interface in java.awt">getHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyBoundsListeners()" title="class or interface in java.awt">getHierarchyBoundsListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyListeners()" title="class or interface in java.awt">getHierarchyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getIgnoreRepaint()" title="class or interface in java.awt">getIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodListeners()" title="class or interface in java.awt">getInputMethodListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodRequests()" title="class or interface in java.awt">getInputMethodRequests</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getKeyListeners()" title="class or interface in java.awt">getKeyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation()" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation(java.awt.Point)" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocationOnScreen()" title="class or interface in java.awt">getLocationOnScreen</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseListeners()" title="class or interface in java.awt">getMouseListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseMotionListeners()" title="class or interface in java.awt">getMouseMotionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMousePosition()" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseWheelListeners()" title="class or interface in java.awt">getMouseWheelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getName()" title="class or interface in java.awt">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getParent()" title="class or interface in java.awt">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPeer()" title="class or interface in java.awt">getPeer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners()" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners(java.lang.String)" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize()" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize(java.awt.Dimension)" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getTreeLock()" title="class or interface in java.awt">getTreeLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getWidth()" title="class or interface in java.awt">getWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getX()" title="class or interface in java.awt">getX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getY()" title="class or interface in java.awt">getY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#gotFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">gotFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#handleEvent(java.awt.Event)" title="class or interface in java.awt">handleEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hasFocus()" title="class or interface in java.awt">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#imageUpdate(java.awt.Image, int, int, int, int, int)" title="class or interface in java.awt">imageUpdate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#inside(int, int)" title="class or interface in java.awt">inside</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isBackgroundSet()" title="class or interface in java.awt">isBackgroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isCursorSet()" title="class or interface in java.awt">isCursorSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDisplayable()" title="class or interface in java.awt">isDisplayable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDoubleBuffered()" title="class or interface in java.awt">isDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isEnabled()" title="class or interface in java.awt">isEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusable()" title="class or interface in java.awt">isFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusOwner()" title="class or interface in java.awt">isFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusTraversable()" title="class or interface in java.awt">isFocusTraversable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFontSet()" title="class or interface in java.awt">isFontSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isForegroundSet()" title="class or interface in java.awt">isForegroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isLightweight()" title="class or interface in java.awt">isLightweight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMaximumSizeSet()" title="class or interface in java.awt">isMaximumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMinimumSizeSet()" title="class or interface in java.awt">isMinimumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isOpaque()" title="class or interface in java.awt">isOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isPreferredSizeSet()" title="class or interface in java.awt">isPreferredSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isValid()" title="class or interface in java.awt">isValid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isVisible()" title="class or interface in java.awt">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyDown(java.awt.Event, int)" title="class or interface in java.awt">keyDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyUp(java.awt.Event, int)" title="class or interface in java.awt">keyUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list()" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintStream)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintWriter)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#location()" title="class or interface in java.awt">location</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#lostFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">lostFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDown(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDrag(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDrag</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseEnter(java.awt.Event, int, int)" title="class or interface in java.awt">mouseEnter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseExit(java.awt.Event, int, int)" title="class or interface in java.awt">mouseExit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseMove(java.awt.Event, int, int)" title="class or interface in java.awt">mouseMove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseUp(java.awt.Event, int, int)" title="class or interface in java.awt">mouseUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#move(int, int)" title="class or interface in java.awt">move</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#nextFocus()" title="class or interface in java.awt">nextFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#paintAll(java.awt.Graphics)" title="class or interface in java.awt">paintAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#printAll(java.awt.Graphics)" title="class or interface in java.awt">printAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processComponentEvent(java.awt.event.ComponentEvent)" title="class or interface in java.awt">processComponentEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processFocusEvent(java.awt.event.FocusEvent)" title="class or interface in java.awt">processFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyBoundsEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyBoundsEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processInputMethodEvent(java.awt.event.InputMethodEvent)" title="class or interface in java.awt">processInputMethodEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processKeyEvent(java.awt.event.KeyEvent)" title="class or interface in java.awt">processKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseEvent(java.awt.event.MouseEvent)" title="class or interface in java.awt">processMouseEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseMotionEvent(java.awt.event.MouseEvent)" title="class or interface in java.awt">processMouseMotionEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseWheelEvent(java.awt.event.MouseWheelEvent)" title="class or interface in java.awt">processMouseWheelEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#remove(java.awt.MenuComponent)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">removeComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">removeFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">removeHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">removeHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">removeInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">removeKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">removeMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">removeMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">removeMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint()" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(int, int, int, int)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(long)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocus()" title="class or interface in java.awt">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocus(boolean)" title="class or interface in java.awt">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocusInWindow()" title="class or interface in java.awt">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocusInWindow(boolean)" title="class or interface in java.awt">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(java.awt.Dimension)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(int, int)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBackground(java.awt.Color)" title="class or interface in java.awt">setBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">setComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setDropTarget(java.awt.dnd.DropTarget)" title="class or interface in java.awt">setDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setEnabled(boolean)" title="class or interface in java.awt">setEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusable(boolean)" title="class or interface in java.awt">setFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusTraversalKeysEnabled(boolean)" title="class or interface in java.awt">setFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setForeground(java.awt.Color)" title="class or interface in java.awt">setForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setIgnoreRepaint(boolean)" title="class or interface in java.awt">setIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocale(java.util.Locale)" title="class or interface in java.awt">setLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(int, int)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(java.awt.Point)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setMaximumSize(java.awt.Dimension)" title="class or interface in java.awt">setMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setName(java.lang.String)" title="class or interface in java.awt">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setPreferredSize(java.awt.Dimension)" title="class or interface in java.awt">setPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show(boolean)" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#size()" title="class or interface in java.awt">size</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#toString()" title="class or interface in java.awt">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocus()" title="class or interface in java.awt">transferFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocusUpCycle()" title="class or interface in java.awt">transferFocusUpCycle</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogFactor5ErrorDialog(javax.swing.JFrame, java.lang.String)"><!-- --></A><H3> +LogFactor5ErrorDialog</H3> +<PRE> +public <B>LogFactor5ErrorDialog</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;jframe, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogFactor5ErrorDialog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5ErrorDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JDialog">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html new file mode 100644 index 00000000000..59e79923afa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html @@ -0,0 +1,511 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogFactor5InputDialog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogFactor5InputDialog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogFactor5InputDialog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5InputDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JDialog">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LogFactor5InputDialog</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">java.awt.Window</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">java.awt.Dialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">javax.swing.JDialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogFactor5Dialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LogFactor5InputDialog</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/RootPaneContainer.html?is-external=true" title="class or interface in javax.swing">RootPaneContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogFactor5InputDialog</B><DT>extends <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></DL> +</PRE> + +<P> +LogFactor5InputDialog + + Creates a popup input dialog box so that users can enter + a URL to open a log file from. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Hurst, Brad Marlborough</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.LogFactor5InputDialog">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.AccessibleJDialog.html?is-external=true" title="class or interface in javax.swing">JDialog.AccessibleJDialog</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.AccessibleAWTDialog.html?is-external=true" title="class or interface in java.awt">Dialog.AccessibleAWTDialog</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.ModalExclusionType.html?is-external=true" title="class or interface in java.awt">Dialog.ModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.ModalityType.html?is-external=true" title="class or interface in java.awt">Dialog.ModalityType</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Window"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.AccessibleAWTWindow.html?is-external=true" title="class or interface in java.awt">Window.AccessibleAWTWindow</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BltBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.BltBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.FlipBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.FlipBufferStrategy</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html#SIZE">SIZE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#DISPLAY_FONT">DISPLAY_FONT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#rootPane" title="class or interface in javax.swing">rootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#rootPaneCheckingEnabled" title="class or interface in javax.swing">rootPaneCheckingEnabled</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#DEFAULT_MODALITY_TYPE" title="class or interface in java.awt">DEFAULT_MODALITY_TYPE</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt">LEFT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#RIGHT_ALIGNMENT" title="class or interface in java.awt">RIGHT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#TOP_ALIGNMENT" title="class or interface in java.awt">TOP_ALIGNMENT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.WindowConstants"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#DISPOSE_ON_CLOSE" title="class or interface in javax.swing">DISPOSE_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#DO_NOTHING_ON_CLOSE" title="class or interface in javax.swing">DO_NOTHING_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#EXIT_ON_CLOSE" title="class or interface in javax.swing">EXIT_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#HIDE_ON_CLOSE" title="class or interface in javax.swing">HIDE_ON_CLOSE</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image">ERROR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#FRAMEBITS" title="class or interface in java.awt.image">FRAMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#HEIGHT" title="class or interface in java.awt.image">HEIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#PROPERTIES" title="class or interface in java.awt.image">PROPERTIES</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#SOMEBITS" title="class or interface in java.awt.image">SOMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#WIDTH" title="class or interface in java.awt.image">WIDTH</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html#LogFactor5InputDialog(javax.swing.JFrame, java.lang.String, java.lang.String)">LogFactor5InputDialog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;jframe, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;label)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configures an input dialog box using a defualt size for the text field.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html#LogFactor5InputDialog(javax.swing.JFrame, java.lang.String, java.lang.String, int)">LogFactor5InputDialog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;jframe, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;label, + int&nbsp;size)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configures an input dialog box.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html#getText()">getText</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#centerWindow(java.awt.Window)">centerWindow</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#getDefaultConstraints()">getDefaultConstraints</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#minimumSizeDialog(java.awt.Component, int, int)">minimumSizeDialog</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#show()">show</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#wrapStringOnPanel(java.lang.String, java.awt.Container)">wrapStringOnPanel</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in javax.swing">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#createRootPane()" title="class or interface in javax.swing">createRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#dialogInit()" title="class or interface in javax.swing">dialogInit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getContentPane()" title="class or interface in javax.swing">getContentPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getDefaultCloseOperation()" title="class or interface in javax.swing">getDefaultCloseOperation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getGlassPane()" title="class or interface in javax.swing">getGlassPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getGraphics()" title="class or interface in javax.swing">getGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getJMenuBar()" title="class or interface in javax.swing">getJMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getLayeredPane()" title="class or interface in javax.swing">getLayeredPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getRootPane()" title="class or interface in javax.swing">getRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getTransferHandler()" title="class or interface in javax.swing">getTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#isDefaultLookAndFeelDecorated()" title="class or interface in javax.swing">isDefaultLookAndFeelDecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#isRootPaneCheckingEnabled()" title="class or interface in javax.swing">isRootPaneCheckingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#paramString()" title="class or interface in javax.swing">paramString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#processWindowEvent(java.awt.event.WindowEvent)" title="class or interface in javax.swing">processWindowEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#remove(java.awt.Component)" title="class or interface in javax.swing">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#repaint(long, int, int, int, int)" title="class or interface in javax.swing">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setContentPane(java.awt.Container)" title="class or interface in javax.swing">setContentPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setDefaultCloseOperation(int)" title="class or interface in javax.swing">setDefaultCloseOperation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setDefaultLookAndFeelDecorated(boolean)" title="class or interface in javax.swing">setDefaultLookAndFeelDecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setGlassPane(java.awt.Component)" title="class or interface in javax.swing">setGlassPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setJMenuBar(javax.swing.JMenuBar)" title="class or interface in javax.swing">setJMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setLayeredPane(javax.swing.JLayeredPane)" title="class or interface in javax.swing">setLayeredPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setLayout(java.awt.LayoutManager)" title="class or interface in javax.swing">setLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setRootPane(javax.swing.JRootPane)" title="class or interface in javax.swing">setRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setRootPaneCheckingEnabled(boolean)" title="class or interface in javax.swing">setRootPaneCheckingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setTransferHandler(javax.swing.TransferHandler)" title="class or interface in javax.swing">setTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#update(java.awt.Graphics)" title="class or interface in javax.swing">update</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#addNotify()" title="class or interface in java.awt">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#getModalityType()" title="class or interface in java.awt">getModalityType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#getTitle()" title="class or interface in java.awt">getTitle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#hide()" title="class or interface in java.awt">hide</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isModal()" title="class or interface in java.awt">isModal</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isResizable()" title="class or interface in java.awt">isResizable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isUndecorated()" title="class or interface in java.awt">isUndecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setModal(boolean)" title="class or interface in java.awt">setModal</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setModalityType(java.awt.Dialog.ModalityType)" title="class or interface in java.awt">setModalityType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setResizable(boolean)" title="class or interface in java.awt">setResizable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setTitle(java.lang.String)" title="class or interface in java.awt">setTitle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setUndecorated(boolean)" title="class or interface in java.awt">setUndecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setVisible(boolean)" title="class or interface in java.awt">setVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#toBack()" title="class or interface in java.awt">toBack</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Window"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowFocusListener(java.awt.event.WindowFocusListener)" title="class or interface in java.awt">addWindowFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowListener(java.awt.event.WindowListener)" title="class or interface in java.awt">addWindowListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowStateListener(java.awt.event.WindowStateListener)" title="class or interface in java.awt">addWindowStateListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#applyResourceBundle(java.util.ResourceBundle)" title="class or interface in java.awt">applyResourceBundle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#applyResourceBundle(java.lang.String)" title="class or interface in java.awt">applyResourceBundle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#createBufferStrategy(int)" title="class or interface in java.awt">createBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#createBufferStrategy(int, java.awt.BufferCapabilities)" title="class or interface in java.awt">createBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#dispose()" title="class or interface in java.awt">dispose</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getBufferStrategy()" title="class or interface in java.awt">getBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusableWindowState()" title="class or interface in java.awt">getFocusableWindowState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusCycleRootAncestor()" title="class or interface in java.awt">getFocusCycleRootAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusOwner()" title="class or interface in java.awt">getFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusTraversalKeys(int)" title="class or interface in java.awt">getFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getGraphicsConfiguration()" title="class or interface in java.awt">getGraphicsConfiguration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getIconImages()" title="class or interface in java.awt">getIconImages</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getInputContext()" title="class or interface in java.awt">getInputContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in java.awt">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getLocale()" title="class or interface in java.awt">getLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getModalExclusionType()" title="class or interface in java.awt">getModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getMostRecentFocusOwner()" title="class or interface in java.awt">getMostRecentFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwnedWindows()" title="class or interface in java.awt">getOwnedWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwner()" title="class or interface in java.awt">getOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwnerlessWindows()" title="class or interface in java.awt">getOwnerlessWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getToolkit()" title="class or interface in java.awt">getToolkit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWarningString()" title="class or interface in java.awt">getWarningString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowFocusListeners()" title="class or interface in java.awt">getWindowFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowListeners()" title="class or interface in java.awt">getWindowListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindows()" title="class or interface in java.awt">getWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowStateListeners()" title="class or interface in java.awt">getWindowStateListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isActive()" title="class or interface in java.awt">isActive</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isAlwaysOnTop()" title="class or interface in java.awt">isAlwaysOnTop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isAlwaysOnTopSupported()" title="class or interface in java.awt">isAlwaysOnTopSupported</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocusableWindow()" title="class or interface in java.awt">isFocusableWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocusCycleRoot()" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocused()" title="class or interface in java.awt">isFocused</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isLocationByPlatform()" title="class or interface in java.awt">isLocationByPlatform</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isShowing()" title="class or interface in java.awt">isShowing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#pack()" title="class or interface in java.awt">pack</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processEvent(java.awt.AWTEvent)" title="class or interface in java.awt">processEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processWindowFocusEvent(java.awt.event.WindowEvent)" title="class or interface in java.awt">processWindowFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processWindowStateEvent(java.awt.event.WindowEvent)" title="class or interface in java.awt">processWindowStateEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeNotify()" title="class or interface in java.awt">removeNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowFocusListener(java.awt.event.WindowFocusListener)" title="class or interface in java.awt">removeWindowFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowListener(java.awt.event.WindowListener)" title="class or interface in java.awt">removeWindowListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowStateListener(java.awt.event.WindowStateListener)" title="class or interface in java.awt">removeWindowStateListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#reshape(int, int, int, int)" title="class or interface in java.awt">reshape</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setAlwaysOnTop(boolean)" title="class or interface in java.awt">setAlwaysOnTop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setBounds(int, int, int, int)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setBounds(java.awt.Rectangle)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setCursor(java.awt.Cursor)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setFocusableWindowState(boolean)" title="class or interface in java.awt">setFocusableWindowState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setFocusCycleRoot(boolean)" title="class or interface in java.awt">setFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setIconImage(java.awt.Image)" title="class or interface in java.awt">setIconImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setIconImages(java.util.List)" title="class or interface in java.awt">setIconImages</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setLocationByPlatform(boolean)" title="class or interface in java.awt">setLocationByPlatform</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setLocationRelativeTo(java.awt.Component)" title="class or interface in java.awt">setLocationRelativeTo</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setMinimumSize(java.awt.Dimension)" title="class or interface in java.awt">setMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setModalExclusionType(java.awt.Dialog.ModalExclusionType)" title="class or interface in java.awt">setModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setSize(java.awt.Dimension)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setSize(int, int)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#toFront()" title="class or interface in java.awt">toFront</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.lang.String, java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">addContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#applyComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">applyComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#areFocusTraversalKeysSet(int)" title="class or interface in java.awt">areFocusTraversalKeysSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#countComponents()" title="class or interface in java.awt">countComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#deliverEvent(java.awt.Event)" title="class or interface in java.awt">deliverEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#doLayout()" title="class or interface in java.awt">doLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(int, int)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(java.awt.Point)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getAlignmentX()" title="class or interface in java.awt">getAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getAlignmentY()" title="class or interface in java.awt">getAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponent(int)" title="class or interface in java.awt">getComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(int, int)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(java.awt.Point)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentCount()" title="class or interface in java.awt">getComponentCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponents()" title="class or interface in java.awt">getComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentZOrder(java.awt.Component)" title="class or interface in java.awt">getComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getContainerListeners()" title="class or interface in java.awt">getContainerListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalPolicy()" title="class or interface in java.awt">getFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getInsets()" title="class or interface in java.awt">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getLayout()" title="class or interface in java.awt">getLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMaximumSize()" title="class or interface in java.awt">getMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMinimumSize()" title="class or interface in java.awt">getMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMousePosition(boolean)" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getPreferredSize()" title="class or interface in java.awt">getPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#insets()" title="class or interface in java.awt">insets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#invalidate()" title="class or interface in java.awt">invalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isAncestorOf(java.awt.Component)" title="class or interface in java.awt">isAncestorOf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot(java.awt.Container)" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicyProvider()" title="class or interface in java.awt">isFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicySet()" title="class or interface in java.awt">isFocusTraversalPolicySet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#layout()" title="class or interface in java.awt">layout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintStream, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintWriter, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#locate(int, int)" title="class or interface in java.awt">locate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#minimumSize()" title="class or interface in java.awt">minimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paint(java.awt.Graphics)" title="class or interface in java.awt">paint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paintComponents(java.awt.Graphics)" title="class or interface in java.awt">paintComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#preferredSize()" title="class or interface in java.awt">preferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#print(java.awt.Graphics)" title="class or interface in java.awt">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#printComponents(java.awt.Graphics)" title="class or interface in java.awt">printComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processContainerEvent(java.awt.event.ContainerEvent)" title="class or interface in java.awt">processContainerEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(int)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeAll()" title="class or interface in java.awt">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">removeContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setComponentZOrder(java.awt.Component, int)" title="class or interface in java.awt">setComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalKeys(int, java.util.Set)" title="class or interface in java.awt">setFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)" title="class or interface in java.awt">setFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicyProvider(boolean)" title="class or interface in java.awt">setFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFont(java.awt.Font)" title="class or interface in java.awt">setFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusBackward()" title="class or interface in java.awt">transferFocusBackward</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusDownCycle()" title="class or interface in java.awt">transferFocusDownCycle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validate()" title="class or interface in java.awt">validate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validateTree()" title="class or interface in java.awt">validateTree</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">addComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">addFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">addHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">addHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">addInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">addKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">addMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">addMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">addMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#bounds()" title="class or interface in java.awt">bounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#coalesceEvents(java.awt.AWTEvent, java.awt.AWTEvent)" title="class or interface in java.awt">coalesceEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(int, int)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(java.awt.Point)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(java.awt.image.ImageProducer)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(int, int)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int, java.awt.ImageCapabilities)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disable()" title="class or interface in java.awt">disable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disableEvents(long)" title="class or interface in java.awt">disableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#dispatchEvent(java.awt.AWTEvent)" title="class or interface in java.awt">dispatchEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable()" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable(boolean)" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableEvents(long)" title="class or interface in java.awt">enableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableInputMethods(boolean)" title="class or interface in java.awt">enableInputMethods</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, byte, byte)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, char, char)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, double, double)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, float, float)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, int, int)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, long, long)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, short, short)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBackground()" title="class or interface in java.awt">getBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBaseline(int, int)" title="class or interface in java.awt">getBaseline</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBaselineResizeBehavior()" title="class or interface in java.awt">getBaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds()" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds(java.awt.Rectangle)" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getColorModel()" title="class or interface in java.awt">getColorModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentListeners()" title="class or interface in java.awt">getComponentListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentOrientation()" title="class or interface in java.awt">getComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getCursor()" title="class or interface in java.awt">getCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getDropTarget()" title="class or interface in java.awt">getDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusListeners()" title="class or interface in java.awt">getFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusTraversalKeysEnabled()" title="class or interface in java.awt">getFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFont()" title="class or interface in java.awt">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFontMetrics(java.awt.Font)" title="class or interface in java.awt">getFontMetrics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getForeground()" title="class or interface in java.awt">getForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHeight()" title="class or interface in java.awt">getHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyBoundsListeners()" title="class or interface in java.awt">getHierarchyBoundsListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyListeners()" title="class or interface in java.awt">getHierarchyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getIgnoreRepaint()" title="class or interface in java.awt">getIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodListeners()" title="class or interface in java.awt">getInputMethodListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodRequests()" title="class or interface in java.awt">getInputMethodRequests</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getKeyListeners()" title="class or interface in java.awt">getKeyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation()" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation(java.awt.Point)" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocationOnScreen()" title="class or interface in java.awt">getLocationOnScreen</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseListeners()" title="class or interface in java.awt">getMouseListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseMotionListeners()" title="class or interface in java.awt">getMouseMotionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMousePosition()" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseWheelListeners()" title="class or interface in java.awt">getMouseWheelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getName()" title="class or interface in java.awt">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getParent()" title="class or interface in java.awt">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPeer()" title="class or interface in java.awt">getPeer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners()" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners(java.lang.String)" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize()" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize(java.awt.Dimension)" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getTreeLock()" title="class or interface in java.awt">getTreeLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getWidth()" title="class or interface in java.awt">getWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getX()" title="class or interface in java.awt">getX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getY()" title="class or interface in java.awt">getY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#gotFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">gotFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#handleEvent(java.awt.Event)" title="class or interface in java.awt">handleEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hasFocus()" title="class or interface in java.awt">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#imageUpdate(java.awt.Image, int, int, int, int, int)" title="class or interface in java.awt">imageUpdate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#inside(int, int)" title="class or interface in java.awt">inside</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isBackgroundSet()" title="class or interface in java.awt">isBackgroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isCursorSet()" title="class or interface in java.awt">isCursorSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDisplayable()" title="class or interface in java.awt">isDisplayable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDoubleBuffered()" title="class or interface in java.awt">isDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isEnabled()" title="class or interface in java.awt">isEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusable()" title="class or interface in java.awt">isFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusOwner()" title="class or interface in java.awt">isFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusTraversable()" title="class or interface in java.awt">isFocusTraversable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFontSet()" title="class or interface in java.awt">isFontSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isForegroundSet()" title="class or interface in java.awt">isForegroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isLightweight()" title="class or interface in java.awt">isLightweight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMaximumSizeSet()" title="class or interface in java.awt">isMaximumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMinimumSizeSet()" title="class or interface in java.awt">isMinimumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isOpaque()" title="class or interface in java.awt">isOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isPreferredSizeSet()" title="class or interface in java.awt">isPreferredSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isValid()" title="class or interface in java.awt">isValid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isVisible()" title="class or interface in java.awt">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyDown(java.awt.Event, int)" title="class or interface in java.awt">keyDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyUp(java.awt.Event, int)" title="class or interface in java.awt">keyUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list()" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintStream)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintWriter)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#location()" title="class or interface in java.awt">location</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#lostFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">lostFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDown(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDrag(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDrag</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseEnter(java.awt.Event, int, int)" title="class or interface in java.awt">mouseEnter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseExit(java.awt.Event, int, int)" title="class or interface in java.awt">mouseExit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseMove(java.awt.Event, int, int)" title="class or interface in java.awt">mouseMove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseUp(java.awt.Event, int, int)" title="class or interface in java.awt">mouseUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#move(int, int)" title="class or interface in java.awt">move</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#nextFocus()" title="class or interface in java.awt">nextFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#paintAll(java.awt.Graphics)" title="class or interface in java.awt">paintAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#printAll(java.awt.Graphics)" title="class or interface in java.awt">printAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processComponentEvent(java.awt.event.ComponentEvent)" title="class or interface in java.awt">processComponentEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processFocusEvent(java.awt.event.FocusEvent)" title="class or interface in java.awt">processFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyBoundsEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyBoundsEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processInputMethodEvent(java.awt.event.InputMethodEvent)" title="class or interface in java.awt">processInputMethodEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processKeyEvent(java.awt.event.KeyEvent)" title="class or interface in java.awt">processKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseEvent(java.awt.event.MouseEvent)" title="class or interface in java.awt">processMouseEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseMotionEvent(java.awt.event.MouseEvent)" title="class or interface in java.awt">processMouseMotionEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseWheelEvent(java.awt.event.MouseWheelEvent)" title="class or interface in java.awt">processMouseWheelEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#remove(java.awt.MenuComponent)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">removeComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">removeFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">removeHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">removeHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">removeInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">removeKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">removeMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">removeMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">removeMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint()" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(int, int, int, int)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(long)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocus()" title="class or interface in java.awt">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocus(boolean)" title="class or interface in java.awt">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocusInWindow()" title="class or interface in java.awt">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocusInWindow(boolean)" title="class or interface in java.awt">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(java.awt.Dimension)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(int, int)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBackground(java.awt.Color)" title="class or interface in java.awt">setBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">setComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setDropTarget(java.awt.dnd.DropTarget)" title="class or interface in java.awt">setDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setEnabled(boolean)" title="class or interface in java.awt">setEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusable(boolean)" title="class or interface in java.awt">setFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusTraversalKeysEnabled(boolean)" title="class or interface in java.awt">setFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setForeground(java.awt.Color)" title="class or interface in java.awt">setForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setIgnoreRepaint(boolean)" title="class or interface in java.awt">setIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocale(java.util.Locale)" title="class or interface in java.awt">setLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(int, int)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(java.awt.Point)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setMaximumSize(java.awt.Dimension)" title="class or interface in java.awt">setMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setName(java.lang.String)" title="class or interface in java.awt">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setPreferredSize(java.awt.Dimension)" title="class or interface in java.awt">setPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show(boolean)" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#size()" title="class or interface in java.awt">size</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#toString()" title="class or interface in java.awt">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocus()" title="class or interface in java.awt">transferFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocusUpCycle()" title="class or interface in java.awt">transferFocusUpCycle</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SIZE"><!-- --></A><H3> +SIZE</H3> +<PRE> +public static final int <B>SIZE</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.log4j.lf5.viewer.LogFactor5InputDialog.SIZE">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogFactor5InputDialog(javax.swing.JFrame, java.lang.String, java.lang.String)"><!-- --></A><H3> +LogFactor5InputDialog</H3> +<PRE> +public <B>LogFactor5InputDialog</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;jframe, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;label)</PRE> +<DL> +<DD>Configures an input dialog box using a defualt size for the text field. + param jframe the frame where the dialog will be loaded from. + param title the title of the dialog box. + param label the label to be put in the dialog box. +<P> +</DL> +<HR> + +<A NAME="LogFactor5InputDialog(javax.swing.JFrame, java.lang.String, java.lang.String, int)"><!-- --></A><H3> +LogFactor5InputDialog</H3> +<PRE> +public <B>LogFactor5InputDialog</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;jframe, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;label, + int&nbsp;size)</PRE> +<DL> +<DD>Configures an input dialog box. + param jframe the frame where the dialog will be loaded from. + param title the title of the dialog box. + param label the label to be put in the dialog box. + param size the size of the text field. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getText()"><!-- --></A><H3> +getText</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogFactor5InputDialog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5InputDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JDialog">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html new file mode 100644 index 00000000000..f8db90bff89 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html @@ -0,0 +1,420 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogFactor5LoadingDialog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogFactor5LoadingDialog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogFactor5LoadingDialog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5LoadingDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JDialog">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LogFactor5LoadingDialog</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">java.awt.Window</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">java.awt.Dialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">javax.swing.JDialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogFactor5Dialog</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LogFactor5LoadingDialog</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/RootPaneContainer.html?is-external=true" title="class or interface in javax.swing">RootPaneContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogFactor5LoadingDialog</B><DT>extends <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></DL> +</PRE> + +<P> +LogFactor5LoadingDialog +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Hurst, Brad Marlborough</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.LogFactor5LoadingDialog">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.AccessibleJDialog.html?is-external=true" title="class or interface in javax.swing">JDialog.AccessibleJDialog</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.AccessibleAWTDialog.html?is-external=true" title="class or interface in java.awt">Dialog.AccessibleAWTDialog</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.ModalExclusionType.html?is-external=true" title="class or interface in java.awt">Dialog.ModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.ModalityType.html?is-external=true" title="class or interface in java.awt">Dialog.ModalityType</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Window"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.AccessibleAWTWindow.html?is-external=true" title="class or interface in java.awt">Window.AccessibleAWTWindow</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BltBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.BltBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.FlipBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.FlipBufferStrategy</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#DISPLAY_FONT">DISPLAY_FONT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#rootPane" title="class or interface in javax.swing">rootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#rootPaneCheckingEnabled" title="class or interface in javax.swing">rootPaneCheckingEnabled</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#DEFAULT_MODALITY_TYPE" title="class or interface in java.awt">DEFAULT_MODALITY_TYPE</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt">LEFT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#RIGHT_ALIGNMENT" title="class or interface in java.awt">RIGHT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#TOP_ALIGNMENT" title="class or interface in java.awt">TOP_ALIGNMENT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.WindowConstants"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#DISPOSE_ON_CLOSE" title="class or interface in javax.swing">DISPOSE_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#DO_NOTHING_ON_CLOSE" title="class or interface in javax.swing">DO_NOTHING_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#EXIT_ON_CLOSE" title="class or interface in javax.swing">EXIT_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true#HIDE_ON_CLOSE" title="class or interface in javax.swing">HIDE_ON_CLOSE</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image">ERROR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#FRAMEBITS" title="class or interface in java.awt.image">FRAMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#HEIGHT" title="class or interface in java.awt.image">HEIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#PROPERTIES" title="class or interface in java.awt.image">PROPERTIES</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#SOMEBITS" title="class or interface in java.awt.image">SOMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#WIDTH" title="class or interface in java.awt.image">WIDTH</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html#LogFactor5LoadingDialog(javax.swing.JFrame, java.lang.String)">LogFactor5LoadingDialog</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;jframe, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#centerWindow(java.awt.Window)">centerWindow</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#getDefaultConstraints()">getDefaultConstraints</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#minimumSizeDialog(java.awt.Component, int, int)">minimumSizeDialog</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#show()">show</A>, <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html#wrapStringOnPanel(java.lang.String, java.awt.Container)">wrapStringOnPanel</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in javax.swing">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#createRootPane()" title="class or interface in javax.swing">createRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#dialogInit()" title="class or interface in javax.swing">dialogInit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getContentPane()" title="class or interface in javax.swing">getContentPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getDefaultCloseOperation()" title="class or interface in javax.swing">getDefaultCloseOperation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getGlassPane()" title="class or interface in javax.swing">getGlassPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getGraphics()" title="class or interface in javax.swing">getGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getJMenuBar()" title="class or interface in javax.swing">getJMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getLayeredPane()" title="class or interface in javax.swing">getLayeredPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getRootPane()" title="class or interface in javax.swing">getRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#getTransferHandler()" title="class or interface in javax.swing">getTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#isDefaultLookAndFeelDecorated()" title="class or interface in javax.swing">isDefaultLookAndFeelDecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#isRootPaneCheckingEnabled()" title="class or interface in javax.swing">isRootPaneCheckingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#paramString()" title="class or interface in javax.swing">paramString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#processWindowEvent(java.awt.event.WindowEvent)" title="class or interface in javax.swing">processWindowEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#remove(java.awt.Component)" title="class or interface in javax.swing">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#repaint(long, int, int, int, int)" title="class or interface in javax.swing">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setContentPane(java.awt.Container)" title="class or interface in javax.swing">setContentPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setDefaultCloseOperation(int)" title="class or interface in javax.swing">setDefaultCloseOperation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setDefaultLookAndFeelDecorated(boolean)" title="class or interface in javax.swing">setDefaultLookAndFeelDecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setGlassPane(java.awt.Component)" title="class or interface in javax.swing">setGlassPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setJMenuBar(javax.swing.JMenuBar)" title="class or interface in javax.swing">setJMenuBar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setLayeredPane(javax.swing.JLayeredPane)" title="class or interface in javax.swing">setLayeredPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setLayout(java.awt.LayoutManager)" title="class or interface in javax.swing">setLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setRootPane(javax.swing.JRootPane)" title="class or interface in javax.swing">setRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setRootPaneCheckingEnabled(boolean)" title="class or interface in javax.swing">setRootPaneCheckingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#setTransferHandler(javax.swing.TransferHandler)" title="class or interface in javax.swing">setTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true#update(java.awt.Graphics)" title="class or interface in javax.swing">update</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#addNotify()" title="class or interface in java.awt">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#getModalityType()" title="class or interface in java.awt">getModalityType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#getTitle()" title="class or interface in java.awt">getTitle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#hide()" title="class or interface in java.awt">hide</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isModal()" title="class or interface in java.awt">isModal</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isResizable()" title="class or interface in java.awt">isResizable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#isUndecorated()" title="class or interface in java.awt">isUndecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setModal(boolean)" title="class or interface in java.awt">setModal</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setModalityType(java.awt.Dialog.ModalityType)" title="class or interface in java.awt">setModalityType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setResizable(boolean)" title="class or interface in java.awt">setResizable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setTitle(java.lang.String)" title="class or interface in java.awt">setTitle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setUndecorated(boolean)" title="class or interface in java.awt">setUndecorated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#setVisible(boolean)" title="class or interface in java.awt">setVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true#toBack()" title="class or interface in java.awt">toBack</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Window"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowFocusListener(java.awt.event.WindowFocusListener)" title="class or interface in java.awt">addWindowFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowListener(java.awt.event.WindowListener)" title="class or interface in java.awt">addWindowListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#addWindowStateListener(java.awt.event.WindowStateListener)" title="class or interface in java.awt">addWindowStateListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#applyResourceBundle(java.util.ResourceBundle)" title="class or interface in java.awt">applyResourceBundle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#applyResourceBundle(java.lang.String)" title="class or interface in java.awt">applyResourceBundle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#createBufferStrategy(int)" title="class or interface in java.awt">createBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#createBufferStrategy(int, java.awt.BufferCapabilities)" title="class or interface in java.awt">createBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#dispose()" title="class or interface in java.awt">dispose</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getBufferStrategy()" title="class or interface in java.awt">getBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusableWindowState()" title="class or interface in java.awt">getFocusableWindowState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusCycleRootAncestor()" title="class or interface in java.awt">getFocusCycleRootAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusOwner()" title="class or interface in java.awt">getFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getFocusTraversalKeys(int)" title="class or interface in java.awt">getFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getGraphicsConfiguration()" title="class or interface in java.awt">getGraphicsConfiguration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getIconImages()" title="class or interface in java.awt">getIconImages</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getInputContext()" title="class or interface in java.awt">getInputContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in java.awt">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getLocale()" title="class or interface in java.awt">getLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getModalExclusionType()" title="class or interface in java.awt">getModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getMostRecentFocusOwner()" title="class or interface in java.awt">getMostRecentFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwnedWindows()" title="class or interface in java.awt">getOwnedWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwner()" title="class or interface in java.awt">getOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getOwnerlessWindows()" title="class or interface in java.awt">getOwnerlessWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getToolkit()" title="class or interface in java.awt">getToolkit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWarningString()" title="class or interface in java.awt">getWarningString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowFocusListeners()" title="class or interface in java.awt">getWindowFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowListeners()" title="class or interface in java.awt">getWindowListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindows()" title="class or interface in java.awt">getWindows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#getWindowStateListeners()" title="class or interface in java.awt">getWindowStateListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isActive()" title="class or interface in java.awt">isActive</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isAlwaysOnTop()" title="class or interface in java.awt">isAlwaysOnTop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isAlwaysOnTopSupported()" title="class or interface in java.awt">isAlwaysOnTopSupported</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocusableWindow()" title="class or interface in java.awt">isFocusableWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocusCycleRoot()" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isFocused()" title="class or interface in java.awt">isFocused</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isLocationByPlatform()" title="class or interface in java.awt">isLocationByPlatform</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#isShowing()" title="class or interface in java.awt">isShowing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#pack()" title="class or interface in java.awt">pack</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processEvent(java.awt.AWTEvent)" title="class or interface in java.awt">processEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processWindowFocusEvent(java.awt.event.WindowEvent)" title="class or interface in java.awt">processWindowFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#processWindowStateEvent(java.awt.event.WindowEvent)" title="class or interface in java.awt">processWindowStateEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeNotify()" title="class or interface in java.awt">removeNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowFocusListener(java.awt.event.WindowFocusListener)" title="class or interface in java.awt">removeWindowFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowListener(java.awt.event.WindowListener)" title="class or interface in java.awt">removeWindowListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#removeWindowStateListener(java.awt.event.WindowStateListener)" title="class or interface in java.awt">removeWindowStateListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#reshape(int, int, int, int)" title="class or interface in java.awt">reshape</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setAlwaysOnTop(boolean)" title="class or interface in java.awt">setAlwaysOnTop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setBounds(int, int, int, int)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setBounds(java.awt.Rectangle)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setCursor(java.awt.Cursor)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setFocusableWindowState(boolean)" title="class or interface in java.awt">setFocusableWindowState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setFocusCycleRoot(boolean)" title="class or interface in java.awt">setFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setIconImage(java.awt.Image)" title="class or interface in java.awt">setIconImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setIconImages(java.util.List)" title="class or interface in java.awt">setIconImages</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setLocationByPlatform(boolean)" title="class or interface in java.awt">setLocationByPlatform</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setLocationRelativeTo(java.awt.Component)" title="class or interface in java.awt">setLocationRelativeTo</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setMinimumSize(java.awt.Dimension)" title="class or interface in java.awt">setMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setModalExclusionType(java.awt.Dialog.ModalExclusionType)" title="class or interface in java.awt">setModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setSize(java.awt.Dimension)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#setSize(int, int)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true#toFront()" title="class or interface in java.awt">toFront</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.lang.String, java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">addContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#applyComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">applyComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#areFocusTraversalKeysSet(int)" title="class or interface in java.awt">areFocusTraversalKeysSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#countComponents()" title="class or interface in java.awt">countComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#deliverEvent(java.awt.Event)" title="class or interface in java.awt">deliverEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#doLayout()" title="class or interface in java.awt">doLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(int, int)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(java.awt.Point)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getAlignmentX()" title="class or interface in java.awt">getAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getAlignmentY()" title="class or interface in java.awt">getAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponent(int)" title="class or interface in java.awt">getComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(int, int)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(java.awt.Point)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentCount()" title="class or interface in java.awt">getComponentCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponents()" title="class or interface in java.awt">getComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentZOrder(java.awt.Component)" title="class or interface in java.awt">getComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getContainerListeners()" title="class or interface in java.awt">getContainerListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalPolicy()" title="class or interface in java.awt">getFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getInsets()" title="class or interface in java.awt">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getLayout()" title="class or interface in java.awt">getLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMaximumSize()" title="class or interface in java.awt">getMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMinimumSize()" title="class or interface in java.awt">getMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMousePosition(boolean)" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getPreferredSize()" title="class or interface in java.awt">getPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#insets()" title="class or interface in java.awt">insets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#invalidate()" title="class or interface in java.awt">invalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isAncestorOf(java.awt.Component)" title="class or interface in java.awt">isAncestorOf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot(java.awt.Container)" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicyProvider()" title="class or interface in java.awt">isFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicySet()" title="class or interface in java.awt">isFocusTraversalPolicySet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#layout()" title="class or interface in java.awt">layout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintStream, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintWriter, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#locate(int, int)" title="class or interface in java.awt">locate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#minimumSize()" title="class or interface in java.awt">minimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paint(java.awt.Graphics)" title="class or interface in java.awt">paint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paintComponents(java.awt.Graphics)" title="class or interface in java.awt">paintComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#preferredSize()" title="class or interface in java.awt">preferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#print(java.awt.Graphics)" title="class or interface in java.awt">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#printComponents(java.awt.Graphics)" title="class or interface in java.awt">printComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processContainerEvent(java.awt.event.ContainerEvent)" title="class or interface in java.awt">processContainerEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(int)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeAll()" title="class or interface in java.awt">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">removeContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setComponentZOrder(java.awt.Component, int)" title="class or interface in java.awt">setComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalKeys(int, java.util.Set)" title="class or interface in java.awt">setFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)" title="class or interface in java.awt">setFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicyProvider(boolean)" title="class or interface in java.awt">setFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFont(java.awt.Font)" title="class or interface in java.awt">setFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusBackward()" title="class or interface in java.awt">transferFocusBackward</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusDownCycle()" title="class or interface in java.awt">transferFocusDownCycle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validate()" title="class or interface in java.awt">validate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validateTree()" title="class or interface in java.awt">validateTree</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">addComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">addFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">addHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">addHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">addInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">addKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">addMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">addMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">addMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#bounds()" title="class or interface in java.awt">bounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#coalesceEvents(java.awt.AWTEvent, java.awt.AWTEvent)" title="class or interface in java.awt">coalesceEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(int, int)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(java.awt.Point)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(java.awt.image.ImageProducer)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(int, int)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int, java.awt.ImageCapabilities)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disable()" title="class or interface in java.awt">disable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disableEvents(long)" title="class or interface in java.awt">disableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#dispatchEvent(java.awt.AWTEvent)" title="class or interface in java.awt">dispatchEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable()" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable(boolean)" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableEvents(long)" title="class or interface in java.awt">enableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableInputMethods(boolean)" title="class or interface in java.awt">enableInputMethods</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, byte, byte)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, char, char)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, double, double)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, float, float)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, int, int)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, long, long)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, short, short)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBackground()" title="class or interface in java.awt">getBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBaseline(int, int)" title="class or interface in java.awt">getBaseline</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBaselineResizeBehavior()" title="class or interface in java.awt">getBaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds()" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds(java.awt.Rectangle)" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getColorModel()" title="class or interface in java.awt">getColorModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentListeners()" title="class or interface in java.awt">getComponentListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentOrientation()" title="class or interface in java.awt">getComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getCursor()" title="class or interface in java.awt">getCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getDropTarget()" title="class or interface in java.awt">getDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusListeners()" title="class or interface in java.awt">getFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusTraversalKeysEnabled()" title="class or interface in java.awt">getFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFont()" title="class or interface in java.awt">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFontMetrics(java.awt.Font)" title="class or interface in java.awt">getFontMetrics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getForeground()" title="class or interface in java.awt">getForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHeight()" title="class or interface in java.awt">getHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyBoundsListeners()" title="class or interface in java.awt">getHierarchyBoundsListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyListeners()" title="class or interface in java.awt">getHierarchyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getIgnoreRepaint()" title="class or interface in java.awt">getIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodListeners()" title="class or interface in java.awt">getInputMethodListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodRequests()" title="class or interface in java.awt">getInputMethodRequests</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getKeyListeners()" title="class or interface in java.awt">getKeyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation()" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation(java.awt.Point)" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocationOnScreen()" title="class or interface in java.awt">getLocationOnScreen</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseListeners()" title="class or interface in java.awt">getMouseListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseMotionListeners()" title="class or interface in java.awt">getMouseMotionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMousePosition()" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseWheelListeners()" title="class or interface in java.awt">getMouseWheelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getName()" title="class or interface in java.awt">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getParent()" title="class or interface in java.awt">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPeer()" title="class or interface in java.awt">getPeer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners()" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners(java.lang.String)" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize()" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize(java.awt.Dimension)" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getTreeLock()" title="class or interface in java.awt">getTreeLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getWidth()" title="class or interface in java.awt">getWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getX()" title="class or interface in java.awt">getX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getY()" title="class or interface in java.awt">getY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#gotFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">gotFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#handleEvent(java.awt.Event)" title="class or interface in java.awt">handleEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hasFocus()" title="class or interface in java.awt">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#imageUpdate(java.awt.Image, int, int, int, int, int)" title="class or interface in java.awt">imageUpdate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#inside(int, int)" title="class or interface in java.awt">inside</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isBackgroundSet()" title="class or interface in java.awt">isBackgroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isCursorSet()" title="class or interface in java.awt">isCursorSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDisplayable()" title="class or interface in java.awt">isDisplayable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDoubleBuffered()" title="class or interface in java.awt">isDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isEnabled()" title="class or interface in java.awt">isEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusable()" title="class or interface in java.awt">isFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusOwner()" title="class or interface in java.awt">isFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusTraversable()" title="class or interface in java.awt">isFocusTraversable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFontSet()" title="class or interface in java.awt">isFontSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isForegroundSet()" title="class or interface in java.awt">isForegroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isLightweight()" title="class or interface in java.awt">isLightweight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMaximumSizeSet()" title="class or interface in java.awt">isMaximumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMinimumSizeSet()" title="class or interface in java.awt">isMinimumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isOpaque()" title="class or interface in java.awt">isOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isPreferredSizeSet()" title="class or interface in java.awt">isPreferredSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isValid()" title="class or interface in java.awt">isValid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isVisible()" title="class or interface in java.awt">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyDown(java.awt.Event, int)" title="class or interface in java.awt">keyDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyUp(java.awt.Event, int)" title="class or interface in java.awt">keyUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list()" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintStream)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintWriter)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#location()" title="class or interface in java.awt">location</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#lostFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">lostFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDown(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDrag(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDrag</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseEnter(java.awt.Event, int, int)" title="class or interface in java.awt">mouseEnter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseExit(java.awt.Event, int, int)" title="class or interface in java.awt">mouseExit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseMove(java.awt.Event, int, int)" title="class or interface in java.awt">mouseMove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseUp(java.awt.Event, int, int)" title="class or interface in java.awt">mouseUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#move(int, int)" title="class or interface in java.awt">move</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#nextFocus()" title="class or interface in java.awt">nextFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#paintAll(java.awt.Graphics)" title="class or interface in java.awt">paintAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#printAll(java.awt.Graphics)" title="class or interface in java.awt">printAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processComponentEvent(java.awt.event.ComponentEvent)" title="class or interface in java.awt">processComponentEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processFocusEvent(java.awt.event.FocusEvent)" title="class or interface in java.awt">processFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyBoundsEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyBoundsEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processInputMethodEvent(java.awt.event.InputMethodEvent)" title="class or interface in java.awt">processInputMethodEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processKeyEvent(java.awt.event.KeyEvent)" title="class or interface in java.awt">processKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseEvent(java.awt.event.MouseEvent)" title="class or interface in java.awt">processMouseEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseMotionEvent(java.awt.event.MouseEvent)" title="class or interface in java.awt">processMouseMotionEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseWheelEvent(java.awt.event.MouseWheelEvent)" title="class or interface in java.awt">processMouseWheelEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#remove(java.awt.MenuComponent)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">removeComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">removeFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">removeHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">removeHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">removeInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">removeKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">removeMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">removeMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">removeMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint()" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(int, int, int, int)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(long)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocus()" title="class or interface in java.awt">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocus(boolean)" title="class or interface in java.awt">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocusInWindow()" title="class or interface in java.awt">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#requestFocusInWindow(boolean)" title="class or interface in java.awt">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(java.awt.Dimension)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(int, int)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBackground(java.awt.Color)" title="class or interface in java.awt">setBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">setComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setDropTarget(java.awt.dnd.DropTarget)" title="class or interface in java.awt">setDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setEnabled(boolean)" title="class or interface in java.awt">setEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusable(boolean)" title="class or interface in java.awt">setFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusTraversalKeysEnabled(boolean)" title="class or interface in java.awt">setFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setForeground(java.awt.Color)" title="class or interface in java.awt">setForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setIgnoreRepaint(boolean)" title="class or interface in java.awt">setIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocale(java.util.Locale)" title="class or interface in java.awt">setLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(int, int)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(java.awt.Point)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setMaximumSize(java.awt.Dimension)" title="class or interface in java.awt">setMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setName(java.lang.String)" title="class or interface in java.awt">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setPreferredSize(java.awt.Dimension)" title="class or interface in java.awt">setPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show(boolean)" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#size()" title="class or interface in java.awt">size</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#toString()" title="class or interface in java.awt">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocus()" title="class or interface in java.awt">transferFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocusUpCycle()" title="class or interface in java.awt">transferFocusUpCycle</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogFactor5LoadingDialog(javax.swing.JFrame, java.lang.String)"><!-- --></A><H3> +LogFactor5LoadingDialog</H3> +<PRE> +public <B>LogFactor5LoadingDialog</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A>&nbsp;jframe, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogFactor5LoadingDialog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5LoadingDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JDialog">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_org.apache.log4j.lf5.viewer.LogFactor5Dialog">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTable.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTable.html new file mode 100644 index 00000000000..da12cb55bd2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTable.html @@ -0,0 +1,854 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogTable (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogTable (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogTable.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogTable.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTable.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JTable">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LogTable</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">javax.swing.JComponent</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">javax.swing.JTable</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LogTable</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventListener.html?is-external=true" title="class or interface in java.util">EventListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/CellEditorListener.html?is-external=true" title="class or interface in javax.swing.event">CellEditorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/ListSelectionListener.html?is-external=true" title="class or interface in javax.swing.event">ListSelectionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/RowSorterListener.html?is-external=true" title="class or interface in javax.swing.event">RowSorterListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TableColumnModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableColumnModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/Scrollable.html?is-external=true" title="class or interface in javax.swing">Scrollable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogTable</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A></DL> +</PRE> + +<P> +LogTable. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw, Brad Marlborough, Brent Sprecher</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.LogTable">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JTable"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.AccessibleJTable.html?is-external=true" title="class or interface in javax.swing">JTable.AccessibleJTable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.DropLocation.html?is-external=true" title="class or interface in javax.swing">JTable.DropLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.PrintMode.html?is-external=true" title="class or interface in javax.swing">JTable.PrintMode</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.AccessibleJComponent.html?is-external=true" title="class or interface in javax.swing">JComponent.AccessibleJComponent</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BltBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.BltBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.FlipBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.FlipBufferStrategy</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colCategory">_colCategory</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colDate">_colDate</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colLevel">_colLevel</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colLocation">_colLocation</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colMessage">_colMessage</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colMessageNum">_colMessageNum</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colNames">_colNames</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colNDC">_colNDC</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colThread">_colThread</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colThrown">_colThrown</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colWidths">_colWidths</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_dateFormatManager">_dateFormatManager</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextArea.html?is-external=true" title="class or interface in javax.swing">JTextArea</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_detailTextArea">_detailTextArea</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_numCols">_numCols</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_rowHeight">_rowHeight</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableColumn.html?is-external=true" title="class or interface in javax.swing.table">TableColumn</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_tableColumns">_tableColumns</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JTable"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#AUTO_RESIZE_ALL_COLUMNS" title="class or interface in javax.swing">AUTO_RESIZE_ALL_COLUMNS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#AUTO_RESIZE_LAST_COLUMN" title="class or interface in javax.swing">AUTO_RESIZE_LAST_COLUMN</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#AUTO_RESIZE_NEXT_COLUMN" title="class or interface in javax.swing">AUTO_RESIZE_NEXT_COLUMN</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#AUTO_RESIZE_OFF" title="class or interface in javax.swing">AUTO_RESIZE_OFF</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#AUTO_RESIZE_SUBSEQUENT_COLUMNS" title="class or interface in javax.swing">AUTO_RESIZE_SUBSEQUENT_COLUMNS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#autoCreateColumnsFromModel" title="class or interface in javax.swing">autoCreateColumnsFromModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#autoResizeMode" title="class or interface in javax.swing">autoResizeMode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#cellEditor" title="class or interface in javax.swing">cellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#cellSelectionEnabled" title="class or interface in javax.swing">cellSelectionEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#columnModel" title="class or interface in javax.swing">columnModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#dataModel" title="class or interface in javax.swing">dataModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#defaultEditorsByColumnClass" title="class or interface in javax.swing">defaultEditorsByColumnClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#defaultRenderersByColumnClass" title="class or interface in javax.swing">defaultRenderersByColumnClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#editingColumn" title="class or interface in javax.swing">editingColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#editingRow" title="class or interface in javax.swing">editingRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#editorComp" title="class or interface in javax.swing">editorComp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#gridColor" title="class or interface in javax.swing">gridColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#preferredViewportSize" title="class or interface in javax.swing">preferredViewportSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#rowHeight" title="class or interface in javax.swing">rowHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#rowMargin" title="class or interface in javax.swing">rowMargin</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#rowSelectionAllowed" title="class or interface in javax.swing">rowSelectionAllowed</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#selectionBackground" title="class or interface in javax.swing">selectionBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#selectionForeground" title="class or interface in javax.swing">selectionForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#selectionModel" title="class or interface in javax.swing">selectionModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#showHorizontalLines" title="class or interface in javax.swing">showHorizontalLines</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#showVerticalLines" title="class or interface in javax.swing">showVerticalLines</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#tableHeader" title="class or interface in javax.swing">tableHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#listenerList" title="class or interface in javax.swing">listenerList</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#TOOL_TIP_TEXT_KEY" title="class or interface in javax.swing">TOOL_TIP_TEXT_KEY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#ui" title="class or interface in javax.swing">ui</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#UNDEFINED_CONDITION" title="class or interface in javax.swing">UNDEFINED_CONDITION</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_ANCESTOR_OF_FOCUSED_COMPONENT" title="class or interface in javax.swing">WHEN_ANCESTOR_OF_FOCUSED_COMPONENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_FOCUSED" title="class or interface in javax.swing">WHEN_FOCUSED</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_IN_FOCUSED_WINDOW" title="class or interface in javax.swing">WHEN_IN_FOCUSED_WINDOW</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt">LEFT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#RIGHT_ALIGNMENT" title="class or interface in java.awt">RIGHT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#TOP_ALIGNMENT" title="class or interface in java.awt">TOP_ALIGNMENT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image">ERROR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#FRAMEBITS" title="class or interface in java.awt.image">FRAMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#HEIGHT" title="class or interface in java.awt.image">HEIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#PROPERTIES" title="class or interface in java.awt.image">PROPERTIES</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#SOMEBITS" title="class or interface in java.awt.image">SOMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#WIDTH" title="class or interface in java.awt.image">WIDTH</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#LogTable(javax.swing.JTextArea)">LogTable</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextArea.html?is-external=true" title="class or interface in javax.swing">JTextArea</A>&nbsp;detailTextArea)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#clearLogRecords()">clearLogRecords</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#getColumnNameAndNumber()">getColumnNameAndNumber</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#getDateFormatManager()">getDateFormatManager</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the DateFormatManager for formatting dates.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#getFilteredLogTableModel()">getFilteredLogTableModel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#init()">init</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#setDateFormatManager(org.apache.log4j.lf5.util.DateFormatManager)">setDateFormatManager</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A>&nbsp;dfm)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the date format manager for formatting dates.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#setDetailedView()">setDetailedView</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#setFont(java.awt.Font)">setFont</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Font.html?is-external=true" title="class or interface in java.awt">Font</A>&nbsp;font)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html#setView(java.util.List)">setView</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;columns)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JTable"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#addColumn(javax.swing.table.TableColumn)" title="class or interface in javax.swing">addColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#addColumnSelectionInterval(int, int)" title="class or interface in javax.swing">addColumnSelectionInterval</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#addNotify()" title="class or interface in javax.swing">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#addRowSelectionInterval(int, int)" title="class or interface in javax.swing">addRowSelectionInterval</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#changeSelection(int, int, boolean, boolean)" title="class or interface in javax.swing">changeSelection</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#clearSelection()" title="class or interface in javax.swing">clearSelection</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#columnAdded(javax.swing.event.TableColumnModelEvent)" title="class or interface in javax.swing">columnAdded</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#columnAtPoint(java.awt.Point)" title="class or interface in javax.swing">columnAtPoint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#columnMarginChanged(javax.swing.event.ChangeEvent)" title="class or interface in javax.swing">columnMarginChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#columnMoved(javax.swing.event.TableColumnModelEvent)" title="class or interface in javax.swing">columnMoved</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#columnRemoved(javax.swing.event.TableColumnModelEvent)" title="class or interface in javax.swing">columnRemoved</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#columnSelectionChanged(javax.swing.event.ListSelectionEvent)" title="class or interface in javax.swing">columnSelectionChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#configureEnclosingScrollPane()" title="class or interface in javax.swing">configureEnclosingScrollPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#convertColumnIndexToModel(int)" title="class or interface in javax.swing">convertColumnIndexToModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#convertColumnIndexToView(int)" title="class or interface in javax.swing">convertColumnIndexToView</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#convertRowIndexToModel(int)" title="class or interface in javax.swing">convertRowIndexToModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#convertRowIndexToView(int)" title="class or interface in javax.swing">convertRowIndexToView</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#createDefaultColumnModel()" title="class or interface in javax.swing">createDefaultColumnModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#createDefaultColumnsFromModel()" title="class or interface in javax.swing">createDefaultColumnsFromModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#createDefaultDataModel()" title="class or interface in javax.swing">createDefaultDataModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#createDefaultEditors()" title="class or interface in javax.swing">createDefaultEditors</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#createDefaultRenderers()" title="class or interface in javax.swing">createDefaultRenderers</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#createDefaultSelectionModel()" title="class or interface in javax.swing">createDefaultSelectionModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#createDefaultTableHeader()" title="class or interface in javax.swing">createDefaultTableHeader</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#createScrollPaneForTable(javax.swing.JTable)" title="class or interface in javax.swing">createScrollPaneForTable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#doLayout()" title="class or interface in javax.swing">doLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#editCellAt(int, int)" title="class or interface in javax.swing">editCellAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#editCellAt(int, int, java.util.EventObject)" title="class or interface in javax.swing">editCellAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#editingCanceled(javax.swing.event.ChangeEvent)" title="class or interface in javax.swing">editingCanceled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#editingStopped(javax.swing.event.ChangeEvent)" title="class or interface in javax.swing">editingStopped</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getAutoCreateColumnsFromModel()" title="class or interface in javax.swing">getAutoCreateColumnsFromModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getAutoCreateRowSorter()" title="class or interface in javax.swing">getAutoCreateRowSorter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getAutoResizeMode()" title="class or interface in javax.swing">getAutoResizeMode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getCellEditor()" title="class or interface in javax.swing">getCellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getCellEditor(int, int)" title="class or interface in javax.swing">getCellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getCellRect(int, int, boolean)" title="class or interface in javax.swing">getCellRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getCellRenderer(int, int)" title="class or interface in javax.swing">getCellRenderer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getCellSelectionEnabled()" title="class or interface in javax.swing">getCellSelectionEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getColumn(java.lang.Object)" title="class or interface in javax.swing">getColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getColumnClass(int)" title="class or interface in javax.swing">getColumnClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getColumnCount()" title="class or interface in javax.swing">getColumnCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getColumnModel()" title="class or interface in javax.swing">getColumnModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getColumnName(int)" title="class or interface in javax.swing">getColumnName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getColumnSelectionAllowed()" title="class or interface in javax.swing">getColumnSelectionAllowed</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getDefaultEditor(java.lang.Class)" title="class or interface in javax.swing">getDefaultEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getDefaultRenderer(java.lang.Class)" title="class or interface in javax.swing">getDefaultRenderer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getDragEnabled()" title="class or interface in javax.swing">getDragEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getDropLocation()" title="class or interface in javax.swing">getDropLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getDropMode()" title="class or interface in javax.swing">getDropMode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getEditingColumn()" title="class or interface in javax.swing">getEditingColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getEditingRow()" title="class or interface in javax.swing">getEditingRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getEditorComponent()" title="class or interface in javax.swing">getEditorComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getFillsViewportHeight()" title="class or interface in javax.swing">getFillsViewportHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getGridColor()" title="class or interface in javax.swing">getGridColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getIntercellSpacing()" title="class or interface in javax.swing">getIntercellSpacing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getModel()" title="class or interface in javax.swing">getModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getPreferredScrollableViewportSize()" title="class or interface in javax.swing">getPreferredScrollableViewportSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)" title="class or interface in javax.swing">getPrintable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getRowCount()" title="class or interface in javax.swing">getRowCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getRowHeight()" title="class or interface in javax.swing">getRowHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getRowHeight(int)" title="class or interface in javax.swing">getRowHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getRowMargin()" title="class or interface in javax.swing">getRowMargin</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getRowSelectionAllowed()" title="class or interface in javax.swing">getRowSelectionAllowed</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getRowSorter()" title="class or interface in javax.swing">getRowSorter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getScrollableBlockIncrement(java.awt.Rectangle, int, int)" title="class or interface in javax.swing">getScrollableBlockIncrement</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getScrollableTracksViewportHeight()" title="class or interface in javax.swing">getScrollableTracksViewportHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getScrollableTracksViewportWidth()" title="class or interface in javax.swing">getScrollableTracksViewportWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getScrollableUnitIncrement(java.awt.Rectangle, int, int)" title="class or interface in javax.swing">getScrollableUnitIncrement</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getSelectedColumn()" title="class or interface in javax.swing">getSelectedColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getSelectedColumnCount()" title="class or interface in javax.swing">getSelectedColumnCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getSelectedColumns()" title="class or interface in javax.swing">getSelectedColumns</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getSelectedRow()" title="class or interface in javax.swing">getSelectedRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getSelectedRowCount()" title="class or interface in javax.swing">getSelectedRowCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getSelectedRows()" title="class or interface in javax.swing">getSelectedRows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getSelectionBackground()" title="class or interface in javax.swing">getSelectionBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getSelectionForeground()" title="class or interface in javax.swing">getSelectionForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getSelectionModel()" title="class or interface in javax.swing">getSelectionModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getShowHorizontalLines()" title="class or interface in javax.swing">getShowHorizontalLines</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getShowVerticalLines()" title="class or interface in javax.swing">getShowVerticalLines</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getSurrendersFocusOnKeystroke()" title="class or interface in javax.swing">getSurrendersFocusOnKeystroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getTableHeader()" title="class or interface in javax.swing">getTableHeader</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getToolTipText(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getUI()" title="class or interface in javax.swing">getUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getUIClassID()" title="class or interface in javax.swing">getUIClassID</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getUpdateSelectionOnSort()" title="class or interface in javax.swing">getUpdateSelectionOnSort</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#getValueAt(int, int)" title="class or interface in javax.swing">getValueAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#initializeLocalVars()" title="class or interface in javax.swing">initializeLocalVars</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#isCellEditable(int, int)" title="class or interface in javax.swing">isCellEditable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#isCellSelected(int, int)" title="class or interface in javax.swing">isCellSelected</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#isColumnSelected(int)" title="class or interface in javax.swing">isColumnSelected</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#isEditing()" title="class or interface in javax.swing">isEditing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#isRowSelected(int)" title="class or interface in javax.swing">isRowSelected</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#moveColumn(int, int)" title="class or interface in javax.swing">moveColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#paramString()" title="class or interface in javax.swing">paramString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#prepareEditor(javax.swing.table.TableCellEditor, int, int)" title="class or interface in javax.swing">prepareEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#prepareRenderer(javax.swing.table.TableCellRenderer, int, int)" title="class or interface in javax.swing">prepareRenderer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#print()" title="class or interface in javax.swing">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#print(javax.swing.JTable.PrintMode)" title="class or interface in javax.swing">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#print(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)" title="class or interface in javax.swing">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#print(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat, boolean, javax.print.attribute.PrintRequestAttributeSet, boolean)" title="class or interface in javax.swing">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#print(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat, boolean, javax.print.attribute.PrintRequestAttributeSet, boolean, javax.print.PrintService)" title="class or interface in javax.swing">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#processKeyBinding(javax.swing.KeyStroke, java.awt.event.KeyEvent, int, boolean)" title="class or interface in javax.swing">processKeyBinding</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#removeColumn(javax.swing.table.TableColumn)" title="class or interface in javax.swing">removeColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#removeColumnSelectionInterval(int, int)" title="class or interface in javax.swing">removeColumnSelectionInterval</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#removeEditor()" title="class or interface in javax.swing">removeEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#removeNotify()" title="class or interface in javax.swing">removeNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#removeRowSelectionInterval(int, int)" title="class or interface in javax.swing">removeRowSelectionInterval</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#resizeAndRepaint()" title="class or interface in javax.swing">resizeAndRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#rowAtPoint(java.awt.Point)" title="class or interface in javax.swing">rowAtPoint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#selectAll()" title="class or interface in javax.swing">selectAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setAutoCreateColumnsFromModel(boolean)" title="class or interface in javax.swing">setAutoCreateColumnsFromModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setAutoCreateRowSorter(boolean)" title="class or interface in javax.swing">setAutoCreateRowSorter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setAutoResizeMode(int)" title="class or interface in javax.swing">setAutoResizeMode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setCellEditor(javax.swing.table.TableCellEditor)" title="class or interface in javax.swing">setCellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setCellSelectionEnabled(boolean)" title="class or interface in javax.swing">setCellSelectionEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setColumnModel(javax.swing.table.TableColumnModel)" title="class or interface in javax.swing">setColumnModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setColumnSelectionAllowed(boolean)" title="class or interface in javax.swing">setColumnSelectionAllowed</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setColumnSelectionInterval(int, int)" title="class or interface in javax.swing">setColumnSelectionInterval</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setDefaultEditor(java.lang.Class, javax.swing.table.TableCellEditor)" title="class or interface in javax.swing">setDefaultEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setDefaultRenderer(java.lang.Class, javax.swing.table.TableCellRenderer)" title="class or interface in javax.swing">setDefaultRenderer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setDragEnabled(boolean)" title="class or interface in javax.swing">setDragEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setDropMode(javax.swing.DropMode)" title="class or interface in javax.swing">setDropMode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setEditingColumn(int)" title="class or interface in javax.swing">setEditingColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setEditingRow(int)" title="class or interface in javax.swing">setEditingRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setFillsViewportHeight(boolean)" title="class or interface in javax.swing">setFillsViewportHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setGridColor(java.awt.Color)" title="class or interface in javax.swing">setGridColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setIntercellSpacing(java.awt.Dimension)" title="class or interface in javax.swing">setIntercellSpacing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setModel(javax.swing.table.TableModel)" title="class or interface in javax.swing">setModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setPreferredScrollableViewportSize(java.awt.Dimension)" title="class or interface in javax.swing">setPreferredScrollableViewportSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setRowHeight(int)" title="class or interface in javax.swing">setRowHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setRowHeight(int, int)" title="class or interface in javax.swing">setRowHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setRowMargin(int)" title="class or interface in javax.swing">setRowMargin</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setRowSelectionAllowed(boolean)" title="class or interface in javax.swing">setRowSelectionAllowed</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setRowSelectionInterval(int, int)" title="class or interface in javax.swing">setRowSelectionInterval</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setRowSorter(javax.swing.RowSorter)" title="class or interface in javax.swing">setRowSorter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setSelectionBackground(java.awt.Color)" title="class or interface in javax.swing">setSelectionBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setSelectionForeground(java.awt.Color)" title="class or interface in javax.swing">setSelectionForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setSelectionMode(int)" title="class or interface in javax.swing">setSelectionMode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setSelectionModel(javax.swing.ListSelectionModel)" title="class or interface in javax.swing">setSelectionModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setShowGrid(boolean)" title="class or interface in javax.swing">setShowGrid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setShowHorizontalLines(boolean)" title="class or interface in javax.swing">setShowHorizontalLines</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setShowVerticalLines(boolean)" title="class or interface in javax.swing">setShowVerticalLines</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setSurrendersFocusOnKeystroke(boolean)" title="class or interface in javax.swing">setSurrendersFocusOnKeystroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setTableHeader(javax.swing.table.JTableHeader)" title="class or interface in javax.swing">setTableHeader</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setUI(javax.swing.plaf.TableUI)" title="class or interface in javax.swing">setUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setUpdateSelectionOnSort(boolean)" title="class or interface in javax.swing">setUpdateSelectionOnSort</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#setValueAt(java.lang.Object, int, int)" title="class or interface in javax.swing">setValueAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#sizeColumnsToFit(boolean)" title="class or interface in javax.swing">sizeColumnsToFit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#sizeColumnsToFit(int)" title="class or interface in javax.swing">sizeColumnsToFit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#sorterChanged(javax.swing.event.RowSorterEvent)" title="class or interface in javax.swing">sorterChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#tableChanged(javax.swing.event.TableModelEvent)" title="class or interface in javax.swing">tableChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#unconfigureEnclosingScrollPane()" title="class or interface in javax.swing">unconfigureEnclosingScrollPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#updateUI()" title="class or interface in javax.swing">updateUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true#valueChanged(javax.swing.event.ListSelectionEvent)" title="class or interface in javax.swing">valueChanged</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">addAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addVetoableChangeListener(java.beans.VetoableChangeListener)" title="class or interface in javax.swing">addVetoableChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#computeVisibleRect(java.awt.Rectangle)" title="class or interface in javax.swing">computeVisibleRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#contains(int, int)" title="class or interface in javax.swing">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#createToolTip()" title="class or interface in javax.swing">createToolTip</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#disable()" title="class or interface in javax.swing">disable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#enable()" title="class or interface in javax.swing">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in javax.swing">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#firePropertyChange(java.lang.String, char, char)" title="class or interface in javax.swing">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#firePropertyChange(java.lang.String, int, int)" title="class or interface in javax.swing">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#fireVetoableChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in javax.swing">fireVetoableChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getActionForKeyStroke(javax.swing.KeyStroke)" title="class or interface in javax.swing">getActionForKeyStroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getActionMap()" title="class or interface in javax.swing">getActionMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAlignmentX()" title="class or interface in javax.swing">getAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAlignmentY()" title="class or interface in javax.swing">getAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAncestorListeners()" title="class or interface in javax.swing">getAncestorListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAutoscrolls()" title="class or interface in javax.swing">getAutoscrolls</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBaseline(int, int)" title="class or interface in javax.swing">getBaseline</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBaselineResizeBehavior()" title="class or interface in javax.swing">getBaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBorder()" title="class or interface in javax.swing">getBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBounds(java.awt.Rectangle)" title="class or interface in javax.swing">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getClientProperty(java.lang.Object)" title="class or interface in javax.swing">getClientProperty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getComponentGraphics(java.awt.Graphics)" title="class or interface in javax.swing">getComponentGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getComponentPopupMenu()" title="class or interface in javax.swing">getComponentPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getConditionForKeyStroke(javax.swing.KeyStroke)" title="class or interface in javax.swing">getConditionForKeyStroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getDebugGraphicsOptions()" title="class or interface in javax.swing">getDebugGraphicsOptions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getDefaultLocale()" title="class or interface in javax.swing">getDefaultLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getFontMetrics(java.awt.Font)" title="class or interface in javax.swing">getFontMetrics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getGraphics()" title="class or interface in javax.swing">getGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getHeight()" title="class or interface in javax.swing">getHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInheritsPopupMenu()" title="class or interface in javax.swing">getInheritsPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputMap()" title="class or interface in javax.swing">getInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputMap(int)" title="class or interface in javax.swing">getInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputVerifier()" title="class or interface in javax.swing">getInputVerifier</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInsets()" title="class or interface in javax.swing">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInsets(java.awt.Insets)" title="class or interface in javax.swing">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in javax.swing">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getLocation(java.awt.Point)" title="class or interface in javax.swing">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getMaximumSize()" title="class or interface in javax.swing">getMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getMinimumSize()" title="class or interface in javax.swing">getMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getNextFocusableComponent()" title="class or interface in javax.swing">getNextFocusableComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getPopupLocation(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getPopupLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getPreferredSize()" title="class or interface in javax.swing">getPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getRegisteredKeyStrokes()" title="class or interface in javax.swing">getRegisteredKeyStrokes</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getRootPane()" title="class or interface in javax.swing">getRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getSize(java.awt.Dimension)" title="class or interface in javax.swing">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipLocation(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getToolTipLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipText()" title="class or interface in javax.swing">getToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getTopLevelAncestor()" title="class or interface in javax.swing">getTopLevelAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getTransferHandler()" title="class or interface in javax.swing">getTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVerifyInputWhenFocusTarget()" title="class or interface in javax.swing">getVerifyInputWhenFocusTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVetoableChangeListeners()" title="class or interface in javax.swing">getVetoableChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVisibleRect()" title="class or interface in javax.swing">getVisibleRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getWidth()" title="class or interface in javax.swing">getWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getX()" title="class or interface in javax.swing">getX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getY()" title="class or interface in javax.swing">getY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#grabFocus()" title="class or interface in javax.swing">grabFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isDoubleBuffered()" title="class or interface in javax.swing">isDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isLightweightComponent(java.awt.Component)" title="class or interface in javax.swing">isLightweightComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isManagingFocus()" title="class or interface in javax.swing">isManagingFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isOpaque()" title="class or interface in javax.swing">isOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isOptimizedDrawingEnabled()" title="class or interface in javax.swing">isOptimizedDrawingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isPaintingForPrint()" title="class or interface in javax.swing">isPaintingForPrint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isPaintingTile()" title="class or interface in javax.swing">isPaintingTile</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isRequestFocusEnabled()" title="class or interface in javax.swing">isRequestFocusEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isValidateRoot()" title="class or interface in javax.swing">isValidateRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paint(java.awt.Graphics)" title="class or interface in javax.swing">paint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintBorder(java.awt.Graphics)" title="class or interface in javax.swing">paintBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintChildren(java.awt.Graphics)" title="class or interface in javax.swing">paintChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintComponent(java.awt.Graphics)" title="class or interface in javax.swing">paintComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintImmediately(int, int, int, int)" title="class or interface in javax.swing">paintImmediately</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintImmediately(java.awt.Rectangle)" title="class or interface in javax.swing">paintImmediately</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#print(java.awt.Graphics)" title="class or interface in javax.swing">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printAll(java.awt.Graphics)" title="class or interface in javax.swing">printAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printBorder(java.awt.Graphics)" title="class or interface in javax.swing">printBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printChildren(java.awt.Graphics)" title="class or interface in javax.swing">printChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printComponent(java.awt.Graphics)" title="class or interface in javax.swing">printComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processComponentKeyEvent(java.awt.event.KeyEvent)" title="class or interface in javax.swing">processComponentKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processKeyEvent(java.awt.event.KeyEvent)" title="class or interface in javax.swing">processKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processMouseEvent(java.awt.event.MouseEvent)" title="class or interface in javax.swing">processMouseEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processMouseMotionEvent(java.awt.event.MouseEvent)" title="class or interface in javax.swing">processMouseMotionEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#putClientProperty(java.lang.Object, java.lang.Object)" title="class or interface in javax.swing">putClientProperty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#registerKeyboardAction(java.awt.event.ActionListener, javax.swing.KeyStroke, int)" title="class or interface in javax.swing">registerKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)" title="class or interface in javax.swing">registerKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">removeAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeVetoableChangeListener(java.beans.VetoableChangeListener)" title="class or interface in javax.swing">removeVetoableChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#repaint(long, int, int, int, int)" title="class or interface in javax.swing">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#repaint(java.awt.Rectangle)" title="class or interface in javax.swing">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestDefaultFocus()" title="class or interface in javax.swing">requestDefaultFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocus()" title="class or interface in javax.swing">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocus(boolean)" title="class or interface in javax.swing">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocusInWindow()" title="class or interface in javax.swing">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocusInWindow(boolean)" title="class or interface in javax.swing">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#resetKeyboardActions()" title="class or interface in javax.swing">resetKeyboardActions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#reshape(int, int, int, int)" title="class or interface in javax.swing">reshape</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#revalidate()" title="class or interface in javax.swing">revalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#scrollRectToVisible(java.awt.Rectangle)" title="class or interface in javax.swing">scrollRectToVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setActionMap(javax.swing.ActionMap)" title="class or interface in javax.swing">setActionMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAlignmentX(float)" title="class or interface in javax.swing">setAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAlignmentY(float)" title="class or interface in javax.swing">setAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAutoscrolls(boolean)" title="class or interface in javax.swing">setAutoscrolls</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setBackground(java.awt.Color)" title="class or interface in javax.swing">setBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setBorder(javax.swing.border.Border)" title="class or interface in javax.swing">setBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setComponentPopupMenu(javax.swing.JPopupMenu)" title="class or interface in javax.swing">setComponentPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDebugGraphicsOptions(int)" title="class or interface in javax.swing">setDebugGraphicsOptions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDefaultLocale(java.util.Locale)" title="class or interface in javax.swing">setDefaultLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDoubleBuffered(boolean)" title="class or interface in javax.swing">setDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setEnabled(boolean)" title="class or interface in javax.swing">setEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setFocusTraversalKeys(int, java.util.Set)" title="class or interface in javax.swing">setFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setForeground(java.awt.Color)" title="class or interface in javax.swing">setForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInheritsPopupMenu(boolean)" title="class or interface in javax.swing">setInheritsPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInputMap(int, javax.swing.InputMap)" title="class or interface in javax.swing">setInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInputVerifier(javax.swing.InputVerifier)" title="class or interface in javax.swing">setInputVerifier</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setMaximumSize(java.awt.Dimension)" title="class or interface in javax.swing">setMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setMinimumSize(java.awt.Dimension)" title="class or interface in javax.swing">setMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setNextFocusableComponent(java.awt.Component)" title="class or interface in javax.swing">setNextFocusableComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setOpaque(boolean)" title="class or interface in javax.swing">setOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setPreferredSize(java.awt.Dimension)" title="class or interface in javax.swing">setPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setRequestFocusEnabled(boolean)" title="class or interface in javax.swing">setRequestFocusEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setToolTipText(java.lang.String)" title="class or interface in javax.swing">setToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setTransferHandler(javax.swing.TransferHandler)" title="class or interface in javax.swing">setTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setUI(javax.swing.plaf.ComponentUI)" title="class or interface in javax.swing">setUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setVerifyInputWhenFocusTarget(boolean)" title="class or interface in javax.swing">setVerifyInputWhenFocusTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setVisible(boolean)" title="class or interface in javax.swing">setVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#unregisterKeyboardAction(javax.swing.KeyStroke)" title="class or interface in javax.swing">unregisterKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#update(java.awt.Graphics)" title="class or interface in javax.swing">update</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.lang.String, java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">addContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#applyComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">applyComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#areFocusTraversalKeysSet(int)" title="class or interface in java.awt">areFocusTraversalKeysSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#countComponents()" title="class or interface in java.awt">countComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#deliverEvent(java.awt.Event)" title="class or interface in java.awt">deliverEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(int, int)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(java.awt.Point)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponent(int)" title="class or interface in java.awt">getComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(int, int)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(java.awt.Point)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentCount()" title="class or interface in java.awt">getComponentCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponents()" title="class or interface in java.awt">getComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentZOrder(java.awt.Component)" title="class or interface in java.awt">getComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getContainerListeners()" title="class or interface in java.awt">getContainerListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalKeys(int)" title="class or interface in java.awt">getFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalPolicy()" title="class or interface in java.awt">getFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getLayout()" title="class or interface in java.awt">getLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMousePosition(boolean)" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#insets()" title="class or interface in java.awt">insets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#invalidate()" title="class or interface in java.awt">invalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isAncestorOf(java.awt.Component)" title="class or interface in java.awt">isAncestorOf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot()" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot(java.awt.Container)" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicyProvider()" title="class or interface in java.awt">isFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicySet()" title="class or interface in java.awt">isFocusTraversalPolicySet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#layout()" title="class or interface in java.awt">layout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintStream, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintWriter, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#locate(int, int)" title="class or interface in java.awt">locate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#minimumSize()" title="class or interface in java.awt">minimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paintComponents(java.awt.Graphics)" title="class or interface in java.awt">paintComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#preferredSize()" title="class or interface in java.awt">preferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#printComponents(java.awt.Graphics)" title="class or interface in java.awt">printComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processContainerEvent(java.awt.event.ContainerEvent)" title="class or interface in java.awt">processContainerEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processEvent(java.awt.AWTEvent)" title="class or interface in java.awt">processEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(java.awt.Component)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(int)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeAll()" title="class or interface in java.awt">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">removeContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setComponentZOrder(java.awt.Component, int)" title="class or interface in java.awt">setComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusCycleRoot(boolean)" title="class or interface in java.awt">setFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)" title="class or interface in java.awt">setFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicyProvider(boolean)" title="class or interface in java.awt">setFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setLayout(java.awt.LayoutManager)" title="class or interface in java.awt">setLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusBackward()" title="class or interface in java.awt">transferFocusBackward</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusDownCycle()" title="class or interface in java.awt">transferFocusDownCycle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validate()" title="class or interface in java.awt">validate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validateTree()" title="class or interface in java.awt">validateTree</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">addComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">addFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">addHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">addHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">addInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">addKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">addMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">addMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">addMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#bounds()" title="class or interface in java.awt">bounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#coalesceEvents(java.awt.AWTEvent, java.awt.AWTEvent)" title="class or interface in java.awt">coalesceEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(java.awt.Point)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(java.awt.image.ImageProducer)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(int, int)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int, java.awt.ImageCapabilities)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disableEvents(long)" title="class or interface in java.awt">disableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#dispatchEvent(java.awt.AWTEvent)" title="class or interface in java.awt">dispatchEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable(boolean)" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableEvents(long)" title="class or interface in java.awt">enableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableInputMethods(boolean)" title="class or interface in java.awt">enableInputMethods</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, byte, byte)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, double, double)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, float, float)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, long, long)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, short, short)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBackground()" title="class or interface in java.awt">getBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds()" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getColorModel()" title="class or interface in java.awt">getColorModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentListeners()" title="class or interface in java.awt">getComponentListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentOrientation()" title="class or interface in java.awt">getComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getCursor()" title="class or interface in java.awt">getCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getDropTarget()" title="class or interface in java.awt">getDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusCycleRootAncestor()" title="class or interface in java.awt">getFocusCycleRootAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusListeners()" title="class or interface in java.awt">getFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusTraversalKeysEnabled()" title="class or interface in java.awt">getFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFont()" title="class or interface in java.awt">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getForeground()" title="class or interface in java.awt">getForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getGraphicsConfiguration()" title="class or interface in java.awt">getGraphicsConfiguration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyBoundsListeners()" title="class or interface in java.awt">getHierarchyBoundsListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyListeners()" title="class or interface in java.awt">getHierarchyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getIgnoreRepaint()" title="class or interface in java.awt">getIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputContext()" title="class or interface in java.awt">getInputContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodListeners()" title="class or interface in java.awt">getInputMethodListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodRequests()" title="class or interface in java.awt">getInputMethodRequests</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getKeyListeners()" title="class or interface in java.awt">getKeyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocale()" title="class or interface in java.awt">getLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation()" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocationOnScreen()" title="class or interface in java.awt">getLocationOnScreen</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseListeners()" title="class or interface in java.awt">getMouseListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseMotionListeners()" title="class or interface in java.awt">getMouseMotionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMousePosition()" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseWheelListeners()" title="class or interface in java.awt">getMouseWheelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getName()" title="class or interface in java.awt">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getParent()" title="class or interface in java.awt">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPeer()" title="class or interface in java.awt">getPeer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners()" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners(java.lang.String)" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize()" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getToolkit()" title="class or interface in java.awt">getToolkit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getTreeLock()" title="class or interface in java.awt">getTreeLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#gotFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">gotFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#handleEvent(java.awt.Event)" title="class or interface in java.awt">handleEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hasFocus()" title="class or interface in java.awt">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hide()" title="class or interface in java.awt">hide</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#imageUpdate(java.awt.Image, int, int, int, int, int)" title="class or interface in java.awt">imageUpdate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#inside(int, int)" title="class or interface in java.awt">inside</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isBackgroundSet()" title="class or interface in java.awt">isBackgroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isCursorSet()" title="class or interface in java.awt">isCursorSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDisplayable()" title="class or interface in java.awt">isDisplayable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isEnabled()" title="class or interface in java.awt">isEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusable()" title="class or interface in java.awt">isFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusOwner()" title="class or interface in java.awt">isFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusTraversable()" title="class or interface in java.awt">isFocusTraversable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFontSet()" title="class or interface in java.awt">isFontSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isForegroundSet()" title="class or interface in java.awt">isForegroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isLightweight()" title="class or interface in java.awt">isLightweight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMaximumSizeSet()" title="class or interface in java.awt">isMaximumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMinimumSizeSet()" title="class or interface in java.awt">isMinimumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isPreferredSizeSet()" title="class or interface in java.awt">isPreferredSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isShowing()" title="class or interface in java.awt">isShowing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isValid()" title="class or interface in java.awt">isValid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isVisible()" title="class or interface in java.awt">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyDown(java.awt.Event, int)" title="class or interface in java.awt">keyDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyUp(java.awt.Event, int)" title="class or interface in java.awt">keyUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list()" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintStream)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintWriter)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#location()" title="class or interface in java.awt">location</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#lostFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">lostFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDown(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDrag(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDrag</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseEnter(java.awt.Event, int, int)" title="class or interface in java.awt">mouseEnter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseExit(java.awt.Event, int, int)" title="class or interface in java.awt">mouseExit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseMove(java.awt.Event, int, int)" title="class or interface in java.awt">mouseMove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseUp(java.awt.Event, int, int)" title="class or interface in java.awt">mouseUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#move(int, int)" title="class or interface in java.awt">move</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#nextFocus()" title="class or interface in java.awt">nextFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#paintAll(java.awt.Graphics)" title="class or interface in java.awt">paintAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processComponentEvent(java.awt.event.ComponentEvent)" title="class or interface in java.awt">processComponentEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processFocusEvent(java.awt.event.FocusEvent)" title="class or interface in java.awt">processFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyBoundsEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyBoundsEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processInputMethodEvent(java.awt.event.InputMethodEvent)" title="class or interface in java.awt">processInputMethodEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseWheelEvent(java.awt.event.MouseWheelEvent)" title="class or interface in java.awt">processMouseWheelEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#remove(java.awt.MenuComponent)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">removeComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">removeFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">removeHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">removeHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">removeInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">removeKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">removeMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">removeMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">removeMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint()" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(int, int, int, int)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(long)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(java.awt.Dimension)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(int, int)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBounds(int, int, int, int)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBounds(java.awt.Rectangle)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">setComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setCursor(java.awt.Cursor)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setDropTarget(java.awt.dnd.DropTarget)" title="class or interface in java.awt">setDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusable(boolean)" title="class or interface in java.awt">setFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusTraversalKeysEnabled(boolean)" title="class or interface in java.awt">setFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setIgnoreRepaint(boolean)" title="class or interface in java.awt">setIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocale(java.util.Locale)" title="class or interface in java.awt">setLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(int, int)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(java.awt.Point)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setName(java.lang.String)" title="class or interface in java.awt">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setSize(java.awt.Dimension)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setSize(int, int)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show()" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show(boolean)" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#size()" title="class or interface in java.awt">size</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#toString()" title="class or interface in java.awt">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocus()" title="class or interface in java.awt">transferFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocusUpCycle()" title="class or interface in java.awt">transferFocusUpCycle</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_rowHeight"><!-- --></A><H3> +_rowHeight</H3> +<PRE> +protected int <B>_rowHeight</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_detailTextArea"><!-- --></A><H3> +_detailTextArea</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextArea.html?is-external=true" title="class or interface in javax.swing">JTextArea</A> <B>_detailTextArea</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_numCols"><!-- --></A><H3> +_numCols</H3> +<PRE> +protected int <B>_numCols</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_tableColumns"><!-- --></A><H3> +_tableColumns</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableColumn.html?is-external=true" title="class or interface in javax.swing.table">TableColumn</A>[] <B>_tableColumns</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colWidths"><!-- --></A><H3> +_colWidths</H3> +<PRE> +protected int[] <B>_colWidths</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colNames"><!-- --></A><H3> +_colNames</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>[] <B>_colNames</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colDate"><!-- --></A><H3> +_colDate</H3> +<PRE> +protected int <B>_colDate</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colThread"><!-- --></A><H3> +_colThread</H3> +<PRE> +protected int <B>_colThread</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colMessageNum"><!-- --></A><H3> +_colMessageNum</H3> +<PRE> +protected int <B>_colMessageNum</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colLevel"><!-- --></A><H3> +_colLevel</H3> +<PRE> +protected int <B>_colLevel</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colNDC"><!-- --></A><H3> +_colNDC</H3> +<PRE> +protected int <B>_colNDC</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colCategory"><!-- --></A><H3> +_colCategory</H3> +<PRE> +protected int <B>_colCategory</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colMessage"><!-- --></A><H3> +_colMessage</H3> +<PRE> +protected int <B>_colMessage</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colLocation"><!-- --></A><H3> +_colLocation</H3> +<PRE> +protected int <B>_colLocation</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_colThrown"><!-- --></A><H3> +_colThrown</H3> +<PRE> +protected int <B>_colThrown</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_dateFormatManager"><!-- --></A><H3> +_dateFormatManager</H3> +<PRE> +protected <A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> <B>_dateFormatManager</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogTable(javax.swing.JTextArea)"><!-- --></A><H3> +LogTable</H3> +<PRE> +public <B>LogTable</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextArea.html?is-external=true" title="class or interface in javax.swing">JTextArea</A>&nbsp;detailTextArea)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getDateFormatManager()"><!-- --></A><H3> +getDateFormatManager</H3> +<PRE> +public <A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> <B>getDateFormatManager</B>()</PRE> +<DL> +<DD>Get the DateFormatManager for formatting dates. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setDateFormatManager(org.apache.log4j.lf5.util.DateFormatManager)"><!-- --></A><H3> +setDateFormatManager</H3> +<PRE> +public void <B>setDateFormatManager</B>(<A HREF="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A>&nbsp;dfm)</PRE> +<DL> +<DD>Set the date format manager for formatting dates. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="clearLogRecords()"><!-- --></A><H3> +clearLogRecords</H3> +<PRE> +public void <B>clearLogRecords</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFilteredLogTableModel()"><!-- --></A><H3> +getFilteredLogTableModel</H3> +<PRE> +public <A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> <B>getFilteredLogTableModel</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setDetailedView()"><!-- --></A><H3> +setDetailedView</H3> +<PRE> +public void <B>setDetailedView</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setView(java.util.List)"><!-- --></A><H3> +setView</H3> +<PRE> +public void <B>setView</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;columns)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setFont(java.awt.Font)"><!-- --></A><H3> +setFont</H3> +<PRE> +public void <B>setFont</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Font.html?is-external=true" title="class or interface in java.awt">Font</A>&nbsp;font)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setFont(java.awt.Font)" title="class or interface in javax.swing">setFont</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="init()"><!-- --></A><H3> +init</H3> +<PRE> +protected void <B>init</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getColumnNameAndNumber()"><!-- --></A><H3> +getColumnNameAndNumber</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</A> <B>getColumnNameAndNumber</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogTable.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogTable.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTable.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JTable">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableColumn.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableColumn.html new file mode 100644 index 00000000000..d8b91f39abd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableColumn.html @@ -0,0 +1,608 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogTableColumn (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogTableColumn (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogTableColumn.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogTableColumn.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableColumn.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LogTableColumn</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LogTableColumn</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogTableColumn</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL> +</PRE> + +<P> +LogTableColumn +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Brad Marlborough</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.LogTableColumn">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#_label">_label</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#CATEGORY">CATEGORY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#DATE">DATE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#LEVEL">LEVEL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#LOCATION">LOCATION</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#MESSAGE">MESSAGE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#MESSAGE_NUM">MESSAGE_NUM</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#NDC">NDC</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#THREAD">THREAD</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#THROWN">THROWN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#LogTableColumn(java.lang.String)">LogTableColumn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;label)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#getLabel()">getLabel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the Label of the LogLevel.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#getLogTableColumnArray()">getLogTableColumnArray</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#getLogTableColumns()">getLogTableColumns</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#hashCode()">hashCode</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#toString()">toString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert a column label into a LogTableColumn object.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DATE"><!-- --></A><H3> +DATE</H3> +<PRE> +public static final <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> <B>DATE</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="THREAD"><!-- --></A><H3> +THREAD</H3> +<PRE> +public static final <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> <B>THREAD</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="MESSAGE_NUM"><!-- --></A><H3> +MESSAGE_NUM</H3> +<PRE> +public static final <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> <B>MESSAGE_NUM</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="LEVEL"><!-- --></A><H3> +LEVEL</H3> +<PRE> +public static final <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> <B>LEVEL</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="NDC"><!-- --></A><H3> +NDC</H3> +<PRE> +public static final <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> <B>NDC</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="CATEGORY"><!-- --></A><H3> +CATEGORY</H3> +<PRE> +public static final <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> <B>CATEGORY</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="MESSAGE"><!-- --></A><H3> +MESSAGE</H3> +<PRE> +public static final <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> <B>MESSAGE</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="LOCATION"><!-- --></A><H3> +LOCATION</H3> +<PRE> +public static final <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> <B>LOCATION</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="THROWN"><!-- --></A><H3> +THROWN</H3> +<PRE> +public static final <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> <B>THROWN</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_label"><!-- --></A><H3> +_label</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_label</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogTableColumn(java.lang.String)"><!-- --></A><H3> +LogTableColumn</H3> +<PRE> +public <B>LogTableColumn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;label)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getLabel()"><!-- --></A><H3> +getLabel</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLabel</B>()</PRE> +<DL> +<DD>Return the Label of the LogLevel. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(java.lang.String)"><!-- --></A><H3> +valueOf</H3> +<PRE> +public static <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> <B>valueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;column) + throws <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumnFormatException</A></PRE> +<DL> +<DD>Convert a column label into a LogTableColumn object. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>column</CODE> - The label of a level to be converted into a LogTableColumn. +<DT><B>Returns:</B><DD>LogTableColumn The LogTableColumn with a label equal to column. +<DT><B>Throws:</B> +<DD><CODE><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumnFormatException</A></CODE> - Is thrown when the column can not be + converted into a LogTableColumn.</DL> +</DD> +</DL> +<HR> + +<A NAME="equals(java.lang.Object)"><!-- --></A><H3> +equals</H3> +<PRE> +public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hashCode()"><!-- --></A><H3> +hashCode</H3> +<PRE> +public int <B>hashCode</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toString()"><!-- --></A><H3> +toString</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogTableColumns()"><!-- --></A><H3> +getLogTableColumns</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getLogTableColumns</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>A <code>List</code> of <code>LogTableColumn/code> objects that map + to log4j <code>Column</code> objects.</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogTableColumnArray()"><!-- --></A><H3> +getLogTableColumnArray</H3> +<PRE> +public static <A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>[] <B>getLogTableColumnArray</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogTableColumn.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogTableColumn.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableColumn.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html new file mode 100644 index 00000000000..41d0fc44848 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html @@ -0,0 +1,249 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogTableColumnFormatException (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogTableColumnFormatException (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogTableColumnFormatException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableColumnFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LogTableColumnFormatException</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LogTableColumnFormatException</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogTableColumnFormatException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></DL> +</PRE> + +<P> +Thrown to indicate that the client has attempted to convert a string + to one the LogLevel types, but the string does not have the appropriate + format. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.LogTableColumnFormatException">Serialized Form</A></DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html#LogTableColumnFormatException(java.lang.String)">LogTableColumnFormatException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getMessage()" title="class or interface in java.lang">getMessage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#getStackTrace()" title="class or interface in java.lang">getStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#initCause(java.lang.Throwable)" title="class or interface in java.lang">initCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace()" title="class or interface in java.lang">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace(java.io.PrintStream)" title="class or interface in java.lang">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#printStackTrace(java.io.PrintWriter)" title="class or interface in java.lang">printStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#setStackTrace(java.lang.StackTraceElement[])" title="class or interface in java.lang">setStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogTableColumnFormatException(java.lang.String)"><!-- --></A><H3> +LogTableColumnFormatException</H3> +<PRE> +public <B>LogTableColumnFormatException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogTableColumnFormatException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableColumnFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableModel.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableModel.html new file mode 100644 index 00000000000..b22b0cb7fb1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableModel.html @@ -0,0 +1,318 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogTableModel (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogTableModel (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogTableModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_javax.swing.table.DefaultTableModel">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LogTableModel</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">javax.swing.table.AbstractTableModel</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">javax.swing.table.DefaultTableModel</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LogTableModel</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogTableModel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableModel</A></DL> +</PRE> + +<P> +LogTableModel +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.LogTableModel">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.table.DefaultTableModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableModel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#columnIdentifiers" title="class or interface in javax.swing.table">columnIdentifiers</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#dataVector" title="class or interface in javax.swing.table">dataVector</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.table.AbstractTableModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">AbstractTableModel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#listenerList" title="class or interface in javax.swing.table">listenerList</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html#LogTableModel(java.lang.Object[], int)">LogTableModel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;colNames, + int&nbsp;numRows)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html#isCellEditable(int, int)">isCellEditable</A></B>(int&nbsp;row, + int&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.table.DefaultTableModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableModel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#addColumn(java.lang.Object)" title="class or interface in javax.swing.table">addColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#addColumn(java.lang.Object, java.lang.Object[])" title="class or interface in javax.swing.table">addColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#addColumn(java.lang.Object, java.util.Vector)" title="class or interface in javax.swing.table">addColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#addRow(java.lang.Object[])" title="class or interface in javax.swing.table">addRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#addRow(java.util.Vector)" title="class or interface in javax.swing.table">addRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#convertToVector(java.lang.Object[])" title="class or interface in javax.swing.table">convertToVector</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#convertToVector(java.lang.Object[][])" title="class or interface in javax.swing.table">convertToVector</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#getColumnCount()" title="class or interface in javax.swing.table">getColumnCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#getColumnName(int)" title="class or interface in javax.swing.table">getColumnName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#getDataVector()" title="class or interface in javax.swing.table">getDataVector</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#getRowCount()" title="class or interface in javax.swing.table">getRowCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#getValueAt(int, int)" title="class or interface in javax.swing.table">getValueAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#insertRow(int, java.lang.Object[])" title="class or interface in javax.swing.table">insertRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#insertRow(int, java.util.Vector)" title="class or interface in javax.swing.table">insertRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#moveRow(int, int, int)" title="class or interface in javax.swing.table">moveRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#newDataAvailable(javax.swing.event.TableModelEvent)" title="class or interface in javax.swing.table">newDataAvailable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#newRowsAdded(javax.swing.event.TableModelEvent)" title="class or interface in javax.swing.table">newRowsAdded</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#removeRow(int)" title="class or interface in javax.swing.table">removeRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#rowsRemoved(javax.swing.event.TableModelEvent)" title="class or interface in javax.swing.table">rowsRemoved</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#setColumnCount(int)" title="class or interface in javax.swing.table">setColumnCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#setColumnIdentifiers(java.lang.Object[])" title="class or interface in javax.swing.table">setColumnIdentifiers</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#setColumnIdentifiers(java.util.Vector)" title="class or interface in javax.swing.table">setColumnIdentifiers</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#setDataVector(java.lang.Object[][], java.lang.Object[])" title="class or interface in javax.swing.table">setDataVector</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#setDataVector(java.util.Vector, java.util.Vector)" title="class or interface in javax.swing.table">setDataVector</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#setNumRows(int)" title="class or interface in javax.swing.table">setNumRows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#setRowCount(int)" title="class or interface in javax.swing.table">setRowCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#setValueAt(java.lang.Object, int, int)" title="class or interface in javax.swing.table">setValueAt</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.table.AbstractTableModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">AbstractTableModel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#addTableModelListener(javax.swing.event.TableModelListener)" title="class or interface in javax.swing.table">addTableModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#findColumn(java.lang.String)" title="class or interface in javax.swing.table">findColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableCellUpdated(int, int)" title="class or interface in javax.swing.table">fireTableCellUpdated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableChanged(javax.swing.event.TableModelEvent)" title="class or interface in javax.swing.table">fireTableChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableDataChanged()" title="class or interface in javax.swing.table">fireTableDataChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableRowsDeleted(int, int)" title="class or interface in javax.swing.table">fireTableRowsDeleted</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableRowsInserted(int, int)" title="class or interface in javax.swing.table">fireTableRowsInserted</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableRowsUpdated(int, int)" title="class or interface in javax.swing.table">fireTableRowsUpdated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#fireTableStructureChanged()" title="class or interface in javax.swing.table">fireTableStructureChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#getColumnClass(int)" title="class or interface in javax.swing.table">getColumnClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in javax.swing.table">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#getTableModelListeners()" title="class or interface in javax.swing.table">getTableModelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#removeTableModelListener(javax.swing.event.TableModelListener)" title="class or interface in javax.swing.table">removeTableModelListener</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogTableModel(java.lang.Object[], int)"><!-- --></A><H3> +LogTableModel</H3> +<PRE> +public <B>LogTableModel</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;colNames, + int&nbsp;numRows)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="isCellEditable(int, int)"><!-- --></A><H3> +isCellEditable</H3> +<PRE> +public boolean <B>isCellEditable</B>(int&nbsp;row, + int&nbsp;column)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html?is-external=true#isCellEditable(int, int)" title="class or interface in javax.swing.table">isCellEditable</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#isCellEditable(int, int)" title="class or interface in javax.swing.table">isCellEditable</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableModel</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogTableModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_javax.swing.table.DefaultTableModel">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableRowRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableRowRenderer.html new file mode 100644 index 00000000000..0b731fa9e50 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/LogTableRowRenderer.html @@ -0,0 +1,513 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogTableRowRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogTableRowRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogTableRowRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableRowRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.table.DefaultTableCellRenderer">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class LogTableRowRenderer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">javax.swing.JComponent</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">javax.swing.JLabel</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">javax.swing.table.DefaultTableCellRenderer</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.LogTableRowRenderer</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true" title="class or interface in javax.swing">SwingConstants</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">TableCellRenderer</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogTableRowRenderer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A></DL> +</PRE> + +<P> +LogTableRowRenderer +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw, Brad Marlborough</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.LogTableRowRenderer">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.table.DefaultTableCellRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.UIResource.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer.UIResource</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_javax.swing.JLabel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.AccessibleJLabel.html?is-external=true" title="class or interface in javax.swing">JLabel.AccessibleJLabel</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.AccessibleJComponent.html?is-external=true" title="class or interface in javax.swing">JComponent.AccessibleJComponent</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BltBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.BltBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.FlipBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.FlipBufferStrategy</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#_color">_color</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#_highlightFatal">_highlightFatal</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.table.DefaultTableCellRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#noFocusBorder" title="class or interface in javax.swing.table">noFocusBorder</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JLabel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#labelFor" title="class or interface in javax.swing">labelFor</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#listenerList" title="class or interface in javax.swing">listenerList</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#TOOL_TIP_TEXT_KEY" title="class or interface in javax.swing">TOOL_TIP_TEXT_KEY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#ui" title="class or interface in javax.swing">ui</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#UNDEFINED_CONDITION" title="class or interface in javax.swing">UNDEFINED_CONDITION</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_ANCESTOR_OF_FOCUSED_COMPONENT" title="class or interface in javax.swing">WHEN_ANCESTOR_OF_FOCUSED_COMPONENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_FOCUSED" title="class or interface in javax.swing">WHEN_FOCUSED</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_IN_FOCUSED_WINDOW" title="class or interface in javax.swing">WHEN_IN_FOCUSED_WINDOW</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt">LEFT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#RIGHT_ALIGNMENT" title="class or interface in java.awt">RIGHT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#TOP_ALIGNMENT" title="class or interface in java.awt">TOP_ALIGNMENT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.SwingConstants"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true" title="class or interface in javax.swing">SwingConstants</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#BOTTOM" title="class or interface in javax.swing">BOTTOM</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#CENTER" title="class or interface in javax.swing">CENTER</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#EAST" title="class or interface in javax.swing">EAST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#HORIZONTAL" title="class or interface in javax.swing">HORIZONTAL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#LEADING" title="class or interface in javax.swing">LEADING</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#LEFT" title="class or interface in javax.swing">LEFT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NEXT" title="class or interface in javax.swing">NEXT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NORTH" title="class or interface in javax.swing">NORTH</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NORTH_EAST" title="class or interface in javax.swing">NORTH_EAST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NORTH_WEST" title="class or interface in javax.swing">NORTH_WEST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#PREVIOUS" title="class or interface in javax.swing">PREVIOUS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#RIGHT" title="class or interface in javax.swing">RIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#SOUTH" title="class or interface in javax.swing">SOUTH</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#SOUTH_EAST" title="class or interface in javax.swing">SOUTH_EAST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#SOUTH_WEST" title="class or interface in javax.swing">SOUTH_WEST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#TOP" title="class or interface in javax.swing">TOP</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#TRAILING" title="class or interface in javax.swing">TRAILING</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#VERTICAL" title="class or interface in javax.swing">VERTICAL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#WEST" title="class or interface in javax.swing">WEST</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image">ERROR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#FRAMEBITS" title="class or interface in java.awt.image">FRAMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#HEIGHT" title="class or interface in java.awt.image">HEIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#PROPERTIES" title="class or interface in java.awt.image">PROPERTIES</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#SOMEBITS" title="class or interface in java.awt.image">SOMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#WIDTH" title="class or interface in java.awt.image">WIDTH</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#LogTableRowRenderer()">LogTableRowRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#getLogLevelColor(org.apache.log4j.lf5.LogLevel)">getLogLevelColor</A></B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)">getTableCellRendererComponent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A>&nbsp;table, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;isSelected, + boolean&nbsp;hasFocus, + int&nbsp;row, + int&nbsp;col)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.table.DefaultTableCellRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in javax.swing.table">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in javax.swing.table">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#invalidate()" title="class or interface in javax.swing.table">invalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#isOpaque()" title="class or interface in javax.swing.table">isOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#repaint()" title="class or interface in javax.swing.table">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#repaint(long, int, int, int, int)" title="class or interface in javax.swing.table">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#repaint(java.awt.Rectangle)" title="class or interface in javax.swing.table">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#revalidate()" title="class or interface in javax.swing.table">revalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#setBackground(java.awt.Color)" title="class or interface in javax.swing.table">setBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#setForeground(java.awt.Color)" title="class or interface in javax.swing.table">setForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#setValue(java.lang.Object)" title="class or interface in javax.swing.table">setValue</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#updateUI()" title="class or interface in javax.swing.table">updateUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#validate()" title="class or interface in javax.swing.table">validate</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JLabel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#checkHorizontalKey(int, java.lang.String)" title="class or interface in javax.swing">checkHorizontalKey</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#checkVerticalKey(int, java.lang.String)" title="class or interface in javax.swing">checkVerticalKey</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getDisabledIcon()" title="class or interface in javax.swing">getDisabledIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getDisplayedMnemonic()" title="class or interface in javax.swing">getDisplayedMnemonic</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getDisplayedMnemonicIndex()" title="class or interface in javax.swing">getDisplayedMnemonicIndex</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getHorizontalAlignment()" title="class or interface in javax.swing">getHorizontalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getHorizontalTextPosition()" title="class or interface in javax.swing">getHorizontalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getIcon()" title="class or interface in javax.swing">getIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getIconTextGap()" title="class or interface in javax.swing">getIconTextGap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getLabelFor()" title="class or interface in javax.swing">getLabelFor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getText()" title="class or interface in javax.swing">getText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getUI()" title="class or interface in javax.swing">getUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getUIClassID()" title="class or interface in javax.swing">getUIClassID</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getVerticalAlignment()" title="class or interface in javax.swing">getVerticalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getVerticalTextPosition()" title="class or interface in javax.swing">getVerticalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#imageUpdate(java.awt.Image, int, int, int, int, int)" title="class or interface in javax.swing">imageUpdate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#paramString()" title="class or interface in javax.swing">paramString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisabledIcon(javax.swing.Icon)" title="class or interface in javax.swing">setDisabledIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisplayedMnemonic(char)" title="class or interface in javax.swing">setDisplayedMnemonic</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisplayedMnemonic(int)" title="class or interface in javax.swing">setDisplayedMnemonic</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisplayedMnemonicIndex(int)" title="class or interface in javax.swing">setDisplayedMnemonicIndex</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setHorizontalAlignment(int)" title="class or interface in javax.swing">setHorizontalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setHorizontalTextPosition(int)" title="class or interface in javax.swing">setHorizontalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setIcon(javax.swing.Icon)" title="class or interface in javax.swing">setIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setIconTextGap(int)" title="class or interface in javax.swing">setIconTextGap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setLabelFor(java.awt.Component)" title="class or interface in javax.swing">setLabelFor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setText(java.lang.String)" title="class or interface in javax.swing">setText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setUI(javax.swing.plaf.LabelUI)" title="class or interface in javax.swing">setUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setVerticalAlignment(int)" title="class or interface in javax.swing">setVerticalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setVerticalTextPosition(int)" title="class or interface in javax.swing">setVerticalTextPosition</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">addAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addNotify()" title="class or interface in javax.swing">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addVetoableChangeListener(java.beans.VetoableChangeListener)" title="class or interface in javax.swing">addVetoableChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#computeVisibleRect(java.awt.Rectangle)" title="class or interface in javax.swing">computeVisibleRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#contains(int, int)" title="class or interface in javax.swing">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#createToolTip()" title="class or interface in javax.swing">createToolTip</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#disable()" title="class or interface in javax.swing">disable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#enable()" title="class or interface in javax.swing">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#firePropertyChange(java.lang.String, char, char)" title="class or interface in javax.swing">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#firePropertyChange(java.lang.String, int, int)" title="class or interface in javax.swing">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#fireVetoableChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in javax.swing">fireVetoableChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getActionForKeyStroke(javax.swing.KeyStroke)" title="class or interface in javax.swing">getActionForKeyStroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getActionMap()" title="class or interface in javax.swing">getActionMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAlignmentX()" title="class or interface in javax.swing">getAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAlignmentY()" title="class or interface in javax.swing">getAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAncestorListeners()" title="class or interface in javax.swing">getAncestorListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAutoscrolls()" title="class or interface in javax.swing">getAutoscrolls</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBaseline(int, int)" title="class or interface in javax.swing">getBaseline</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBaselineResizeBehavior()" title="class or interface in javax.swing">getBaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBorder()" title="class or interface in javax.swing">getBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBounds(java.awt.Rectangle)" title="class or interface in javax.swing">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getClientProperty(java.lang.Object)" title="class or interface in javax.swing">getClientProperty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getComponentGraphics(java.awt.Graphics)" title="class or interface in javax.swing">getComponentGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getComponentPopupMenu()" title="class or interface in javax.swing">getComponentPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getConditionForKeyStroke(javax.swing.KeyStroke)" title="class or interface in javax.swing">getConditionForKeyStroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getDebugGraphicsOptions()" title="class or interface in javax.swing">getDebugGraphicsOptions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getDefaultLocale()" title="class or interface in javax.swing">getDefaultLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getFontMetrics(java.awt.Font)" title="class or interface in javax.swing">getFontMetrics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getGraphics()" title="class or interface in javax.swing">getGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getHeight()" title="class or interface in javax.swing">getHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInheritsPopupMenu()" title="class or interface in javax.swing">getInheritsPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputMap()" title="class or interface in javax.swing">getInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputMap(int)" title="class or interface in javax.swing">getInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputVerifier()" title="class or interface in javax.swing">getInputVerifier</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInsets()" title="class or interface in javax.swing">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInsets(java.awt.Insets)" title="class or interface in javax.swing">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in javax.swing">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getLocation(java.awt.Point)" title="class or interface in javax.swing">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getMaximumSize()" title="class or interface in javax.swing">getMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getMinimumSize()" title="class or interface in javax.swing">getMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getNextFocusableComponent()" title="class or interface in javax.swing">getNextFocusableComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getPopupLocation(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getPopupLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getPreferredSize()" title="class or interface in javax.swing">getPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getRegisteredKeyStrokes()" title="class or interface in javax.swing">getRegisteredKeyStrokes</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getRootPane()" title="class or interface in javax.swing">getRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getSize(java.awt.Dimension)" title="class or interface in javax.swing">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipLocation(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getToolTipLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipText()" title="class or interface in javax.swing">getToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipText(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getTopLevelAncestor()" title="class or interface in javax.swing">getTopLevelAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getTransferHandler()" title="class or interface in javax.swing">getTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVerifyInputWhenFocusTarget()" title="class or interface in javax.swing">getVerifyInputWhenFocusTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVetoableChangeListeners()" title="class or interface in javax.swing">getVetoableChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVisibleRect()" title="class or interface in javax.swing">getVisibleRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getWidth()" title="class or interface in javax.swing">getWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getX()" title="class or interface in javax.swing">getX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getY()" title="class or interface in javax.swing">getY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#grabFocus()" title="class or interface in javax.swing">grabFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isDoubleBuffered()" title="class or interface in javax.swing">isDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isLightweightComponent(java.awt.Component)" title="class or interface in javax.swing">isLightweightComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isManagingFocus()" title="class or interface in javax.swing">isManagingFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isOptimizedDrawingEnabled()" title="class or interface in javax.swing">isOptimizedDrawingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isPaintingForPrint()" title="class or interface in javax.swing">isPaintingForPrint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isPaintingTile()" title="class or interface in javax.swing">isPaintingTile</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isRequestFocusEnabled()" title="class or interface in javax.swing">isRequestFocusEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isValidateRoot()" title="class or interface in javax.swing">isValidateRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paint(java.awt.Graphics)" title="class or interface in javax.swing">paint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintBorder(java.awt.Graphics)" title="class or interface in javax.swing">paintBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintChildren(java.awt.Graphics)" title="class or interface in javax.swing">paintChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintComponent(java.awt.Graphics)" title="class or interface in javax.swing">paintComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintImmediately(int, int, int, int)" title="class or interface in javax.swing">paintImmediately</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintImmediately(java.awt.Rectangle)" title="class or interface in javax.swing">paintImmediately</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#print(java.awt.Graphics)" title="class or interface in javax.swing">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printAll(java.awt.Graphics)" title="class or interface in javax.swing">printAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printBorder(java.awt.Graphics)" title="class or interface in javax.swing">printBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printChildren(java.awt.Graphics)" title="class or interface in javax.swing">printChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printComponent(java.awt.Graphics)" title="class or interface in javax.swing">printComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processComponentKeyEvent(java.awt.event.KeyEvent)" title="class or interface in javax.swing">processComponentKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processKeyBinding(javax.swing.KeyStroke, java.awt.event.KeyEvent, int, boolean)" title="class or interface in javax.swing">processKeyBinding</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processKeyEvent(java.awt.event.KeyEvent)" title="class or interface in javax.swing">processKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processMouseEvent(java.awt.event.MouseEvent)" title="class or interface in javax.swing">processMouseEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processMouseMotionEvent(java.awt.event.MouseEvent)" title="class or interface in javax.swing">processMouseMotionEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#putClientProperty(java.lang.Object, java.lang.Object)" title="class or interface in javax.swing">putClientProperty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#registerKeyboardAction(java.awt.event.ActionListener, javax.swing.KeyStroke, int)" title="class or interface in javax.swing">registerKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)" title="class or interface in javax.swing">registerKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">removeAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeNotify()" title="class or interface in javax.swing">removeNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeVetoableChangeListener(java.beans.VetoableChangeListener)" title="class or interface in javax.swing">removeVetoableChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestDefaultFocus()" title="class or interface in javax.swing">requestDefaultFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocus()" title="class or interface in javax.swing">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocus(boolean)" title="class or interface in javax.swing">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocusInWindow()" title="class or interface in javax.swing">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocusInWindow(boolean)" title="class or interface in javax.swing">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#resetKeyboardActions()" title="class or interface in javax.swing">resetKeyboardActions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#reshape(int, int, int, int)" title="class or interface in javax.swing">reshape</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#scrollRectToVisible(java.awt.Rectangle)" title="class or interface in javax.swing">scrollRectToVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setActionMap(javax.swing.ActionMap)" title="class or interface in javax.swing">setActionMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAlignmentX(float)" title="class or interface in javax.swing">setAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAlignmentY(float)" title="class or interface in javax.swing">setAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAutoscrolls(boolean)" title="class or interface in javax.swing">setAutoscrolls</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setBorder(javax.swing.border.Border)" title="class or interface in javax.swing">setBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setComponentPopupMenu(javax.swing.JPopupMenu)" title="class or interface in javax.swing">setComponentPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDebugGraphicsOptions(int)" title="class or interface in javax.swing">setDebugGraphicsOptions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDefaultLocale(java.util.Locale)" title="class or interface in javax.swing">setDefaultLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDoubleBuffered(boolean)" title="class or interface in javax.swing">setDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setEnabled(boolean)" title="class or interface in javax.swing">setEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setFocusTraversalKeys(int, java.util.Set)" title="class or interface in javax.swing">setFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setFont(java.awt.Font)" title="class or interface in javax.swing">setFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInheritsPopupMenu(boolean)" title="class or interface in javax.swing">setInheritsPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInputMap(int, javax.swing.InputMap)" title="class or interface in javax.swing">setInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInputVerifier(javax.swing.InputVerifier)" title="class or interface in javax.swing">setInputVerifier</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setMaximumSize(java.awt.Dimension)" title="class or interface in javax.swing">setMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setMinimumSize(java.awt.Dimension)" title="class or interface in javax.swing">setMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setNextFocusableComponent(java.awt.Component)" title="class or interface in javax.swing">setNextFocusableComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setOpaque(boolean)" title="class or interface in javax.swing">setOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setPreferredSize(java.awt.Dimension)" title="class or interface in javax.swing">setPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setRequestFocusEnabled(boolean)" title="class or interface in javax.swing">setRequestFocusEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setToolTipText(java.lang.String)" title="class or interface in javax.swing">setToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setTransferHandler(javax.swing.TransferHandler)" title="class or interface in javax.swing">setTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setUI(javax.swing.plaf.ComponentUI)" title="class or interface in javax.swing">setUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setVerifyInputWhenFocusTarget(boolean)" title="class or interface in javax.swing">setVerifyInputWhenFocusTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setVisible(boolean)" title="class or interface in javax.swing">setVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#unregisterKeyboardAction(javax.swing.KeyStroke)" title="class or interface in javax.swing">unregisterKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#update(java.awt.Graphics)" title="class or interface in javax.swing">update</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.lang.String, java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">addContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#applyComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">applyComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#areFocusTraversalKeysSet(int)" title="class or interface in java.awt">areFocusTraversalKeysSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#countComponents()" title="class or interface in java.awt">countComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#deliverEvent(java.awt.Event)" title="class or interface in java.awt">deliverEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#doLayout()" title="class or interface in java.awt">doLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(int, int)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(java.awt.Point)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponent(int)" title="class or interface in java.awt">getComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(int, int)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(java.awt.Point)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentCount()" title="class or interface in java.awt">getComponentCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponents()" title="class or interface in java.awt">getComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentZOrder(java.awt.Component)" title="class or interface in java.awt">getComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getContainerListeners()" title="class or interface in java.awt">getContainerListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalKeys(int)" title="class or interface in java.awt">getFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalPolicy()" title="class or interface in java.awt">getFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getLayout()" title="class or interface in java.awt">getLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMousePosition(boolean)" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#insets()" title="class or interface in java.awt">insets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isAncestorOf(java.awt.Component)" title="class or interface in java.awt">isAncestorOf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot()" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot(java.awt.Container)" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicyProvider()" title="class or interface in java.awt">isFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicySet()" title="class or interface in java.awt">isFocusTraversalPolicySet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#layout()" title="class or interface in java.awt">layout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintStream, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintWriter, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#locate(int, int)" title="class or interface in java.awt">locate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#minimumSize()" title="class or interface in java.awt">minimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paintComponents(java.awt.Graphics)" title="class or interface in java.awt">paintComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#preferredSize()" title="class or interface in java.awt">preferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#printComponents(java.awt.Graphics)" title="class or interface in java.awt">printComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processContainerEvent(java.awt.event.ContainerEvent)" title="class or interface in java.awt">processContainerEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processEvent(java.awt.AWTEvent)" title="class or interface in java.awt">processEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(java.awt.Component)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(int)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeAll()" title="class or interface in java.awt">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">removeContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setComponentZOrder(java.awt.Component, int)" title="class or interface in java.awt">setComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusCycleRoot(boolean)" title="class or interface in java.awt">setFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)" title="class or interface in java.awt">setFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicyProvider(boolean)" title="class or interface in java.awt">setFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setLayout(java.awt.LayoutManager)" title="class or interface in java.awt">setLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusBackward()" title="class or interface in java.awt">transferFocusBackward</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusDownCycle()" title="class or interface in java.awt">transferFocusDownCycle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validateTree()" title="class or interface in java.awt">validateTree</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">addComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">addFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">addHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">addHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">addInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">addKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">addMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">addMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">addMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#bounds()" title="class or interface in java.awt">bounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#coalesceEvents(java.awt.AWTEvent, java.awt.AWTEvent)" title="class or interface in java.awt">coalesceEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(java.awt.Point)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(java.awt.image.ImageProducer)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(int, int)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int, java.awt.ImageCapabilities)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disableEvents(long)" title="class or interface in java.awt">disableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#dispatchEvent(java.awt.AWTEvent)" title="class or interface in java.awt">dispatchEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable(boolean)" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableEvents(long)" title="class or interface in java.awt">enableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableInputMethods(boolean)" title="class or interface in java.awt">enableInputMethods</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, byte, byte)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, double, double)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, float, float)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, long, long)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, short, short)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBackground()" title="class or interface in java.awt">getBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds()" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getColorModel()" title="class or interface in java.awt">getColorModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentListeners()" title="class or interface in java.awt">getComponentListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentOrientation()" title="class or interface in java.awt">getComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getCursor()" title="class or interface in java.awt">getCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getDropTarget()" title="class or interface in java.awt">getDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusCycleRootAncestor()" title="class or interface in java.awt">getFocusCycleRootAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusListeners()" title="class or interface in java.awt">getFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusTraversalKeysEnabled()" title="class or interface in java.awt">getFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFont()" title="class or interface in java.awt">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getForeground()" title="class or interface in java.awt">getForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getGraphicsConfiguration()" title="class or interface in java.awt">getGraphicsConfiguration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyBoundsListeners()" title="class or interface in java.awt">getHierarchyBoundsListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyListeners()" title="class or interface in java.awt">getHierarchyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getIgnoreRepaint()" title="class or interface in java.awt">getIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputContext()" title="class or interface in java.awt">getInputContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodListeners()" title="class or interface in java.awt">getInputMethodListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodRequests()" title="class or interface in java.awt">getInputMethodRequests</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getKeyListeners()" title="class or interface in java.awt">getKeyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocale()" title="class or interface in java.awt">getLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation()" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocationOnScreen()" title="class or interface in java.awt">getLocationOnScreen</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseListeners()" title="class or interface in java.awt">getMouseListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseMotionListeners()" title="class or interface in java.awt">getMouseMotionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMousePosition()" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseWheelListeners()" title="class or interface in java.awt">getMouseWheelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getName()" title="class or interface in java.awt">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getParent()" title="class or interface in java.awt">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPeer()" title="class or interface in java.awt">getPeer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners()" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners(java.lang.String)" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize()" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getToolkit()" title="class or interface in java.awt">getToolkit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getTreeLock()" title="class or interface in java.awt">getTreeLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#gotFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">gotFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#handleEvent(java.awt.Event)" title="class or interface in java.awt">handleEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hasFocus()" title="class or interface in java.awt">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hide()" title="class or interface in java.awt">hide</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#inside(int, int)" title="class or interface in java.awt">inside</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isBackgroundSet()" title="class or interface in java.awt">isBackgroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isCursorSet()" title="class or interface in java.awt">isCursorSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDisplayable()" title="class or interface in java.awt">isDisplayable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isEnabled()" title="class or interface in java.awt">isEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusable()" title="class or interface in java.awt">isFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusOwner()" title="class or interface in java.awt">isFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusTraversable()" title="class or interface in java.awt">isFocusTraversable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFontSet()" title="class or interface in java.awt">isFontSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isForegroundSet()" title="class or interface in java.awt">isForegroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isLightweight()" title="class or interface in java.awt">isLightweight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMaximumSizeSet()" title="class or interface in java.awt">isMaximumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMinimumSizeSet()" title="class or interface in java.awt">isMinimumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isPreferredSizeSet()" title="class or interface in java.awt">isPreferredSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isShowing()" title="class or interface in java.awt">isShowing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isValid()" title="class or interface in java.awt">isValid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isVisible()" title="class or interface in java.awt">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyDown(java.awt.Event, int)" title="class or interface in java.awt">keyDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyUp(java.awt.Event, int)" title="class or interface in java.awt">keyUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list()" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintStream)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintWriter)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#location()" title="class or interface in java.awt">location</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#lostFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">lostFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDown(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDrag(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDrag</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseEnter(java.awt.Event, int, int)" title="class or interface in java.awt">mouseEnter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseExit(java.awt.Event, int, int)" title="class or interface in java.awt">mouseExit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseMove(java.awt.Event, int, int)" title="class or interface in java.awt">mouseMove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseUp(java.awt.Event, int, int)" title="class or interface in java.awt">mouseUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#move(int, int)" title="class or interface in java.awt">move</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#nextFocus()" title="class or interface in java.awt">nextFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#paintAll(java.awt.Graphics)" title="class or interface in java.awt">paintAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processComponentEvent(java.awt.event.ComponentEvent)" title="class or interface in java.awt">processComponentEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processFocusEvent(java.awt.event.FocusEvent)" title="class or interface in java.awt">processFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyBoundsEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyBoundsEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processInputMethodEvent(java.awt.event.InputMethodEvent)" title="class or interface in java.awt">processInputMethodEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseWheelEvent(java.awt.event.MouseWheelEvent)" title="class or interface in java.awt">processMouseWheelEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#remove(java.awt.MenuComponent)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">removeComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">removeFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">removeHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">removeHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">removeInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">removeKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">removeMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">removeMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">removeMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(int, int, int, int)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(long)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(java.awt.Dimension)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(int, int)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBounds(int, int, int, int)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBounds(java.awt.Rectangle)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">setComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setCursor(java.awt.Cursor)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setDropTarget(java.awt.dnd.DropTarget)" title="class or interface in java.awt">setDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusable(boolean)" title="class or interface in java.awt">setFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusTraversalKeysEnabled(boolean)" title="class or interface in java.awt">setFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setIgnoreRepaint(boolean)" title="class or interface in java.awt">setIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocale(java.util.Locale)" title="class or interface in java.awt">setLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(int, int)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(java.awt.Point)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setName(java.lang.String)" title="class or interface in java.awt">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setSize(java.awt.Dimension)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setSize(int, int)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show()" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show(boolean)" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#size()" title="class or interface in java.awt">size</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#toString()" title="class or interface in java.awt">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocus()" title="class or interface in java.awt">transferFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocusUpCycle()" title="class or interface in java.awt">transferFocusUpCycle</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_highlightFatal"><!-- --></A><H3> +_highlightFatal</H3> +<PRE> +protected boolean <B>_highlightFatal</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_color"><!-- --></A><H3> +_color</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A> <B>_color</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogTableRowRenderer()"><!-- --></A><H3> +LogTableRowRenderer</H3> +<PRE> +public <B>LogTableRowRenderer</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)"><!-- --></A><H3> +getTableCellRendererComponent</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A> <B>getTableCellRendererComponent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A>&nbsp;table, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;isSelected, + boolean&nbsp;hasFocus, + int&nbsp;row, + int&nbsp;col)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellRenderer.html?is-external=true#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)" title="class or interface in javax.swing.table">getTableCellRendererComponent</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">TableCellRenderer</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)" title="class or interface in javax.swing.table">getTableCellRendererComponent</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogLevelColor(org.apache.log4j.lf5.LogLevel)"><!-- --></A><H3> +getLogLevelColor</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A> <B>getLogLevelColor</B>(<A HREF="../../../../../org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A>&nbsp;level)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogTableRowRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableRowRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.table.DefaultTableCellRenderer">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html new file mode 100644 index 00000000000..c79b16de5ae --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html @@ -0,0 +1,309 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TrackingAdjustmentListener (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TrackingAdjustmentListener (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TrackingAdjustmentListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TrackingAdjustmentListener.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer</FONT> +<BR> +Class TrackingAdjustmentListener</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.TrackingAdjustmentListener</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/AdjustmentListener.html?is-external=true" title="class or interface in java.awt.event">AdjustmentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventListener.html?is-external=true" title="class or interface in java.util">EventListener</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TrackingAdjustmentListener</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/AdjustmentListener.html?is-external=true" title="class or interface in java.awt.event">AdjustmentListener</A></DL> +</PRE> + +<P> +An AdjustmentListener which ensures that an Adjustable (e.g. a Scrollbar) + will "track" when the Adjustable expands. + For example, when a vertical scroll bar is at its bottom anchor, + the scrollbar will remain at the bottom. When the vertical scroll bar + is at any other location, then no tracking will happen. + An instance of this class should only listen to one Adjustable as + it retains state information about the Adjustable it listens to. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Wan</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html#_lastMaximum">_lastMaximum</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html#TrackingAdjustmentListener()">TrackingAdjustmentListener</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html#adjustmentValueChanged(java.awt.event.AdjustmentEvent)">adjustmentValueChanged</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/AdjustmentEvent.html?is-external=true" title="class or interface in java.awt.event">AdjustmentEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_lastMaximum"><!-- --></A><H3> +_lastMaximum</H3> +<PRE> +protected int <B>_lastMaximum</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TrackingAdjustmentListener()"><!-- --></A><H3> +TrackingAdjustmentListener</H3> +<PRE> +public <B>TrackingAdjustmentListener</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="adjustmentValueChanged(java.awt.event.AdjustmentEvent)"><!-- --></A><H3> +adjustmentValueChanged</H3> +<PRE> +public void <B>adjustmentValueChanged</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/AdjustmentEvent.html?is-external=true" title="class or interface in java.awt.event">AdjustmentEvent</A>&nbsp;e)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/AdjustmentListener.html?is-external=true#adjustmentValueChanged(java.awt.event.AdjustmentEvent)" title="class or interface in java.awt.event">adjustmentValueChanged</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/AdjustmentListener.html?is-external=true" title="class or interface in java.awt.event">AdjustmentListener</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TrackingAdjustmentListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TrackingAdjustmentListener.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html new file mode 100644 index 00000000000..eae8e9af668 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html @@ -0,0 +1,665 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryAbstractCellEditor (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryAbstractCellEditor (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryAbstractCellEditor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryAbstractCellEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryAbstractCellEditor</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryAbstractCellEditor</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellEditor.html?is-external=true" title="class or interface in javax.swing.table">TableCellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellEditor</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CategoryAbstractCellEditor</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellEditor.html?is-external=true" title="class or interface in javax.swing.table">TableCellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellEditor</A></DL> +</PRE> + +<P> +CategoryAbstractCellEditor. Base class to handle the some common + details of cell editing. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/ChangeEvent.html?is-external=true" title="class or interface in javax.swing.event">ChangeEvent</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_changeEvent">_changeEvent</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_clickCountToStart">_clickCountToStart</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/EventListenerList.html?is-external=true" title="class or interface in javax.swing.event">EventListenerList</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_listenerList">_listenerList</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_value">_value</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#CategoryAbstractCellEditor()">CategoryAbstractCellEditor</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#addCellEditorListener(javax.swing.event.CellEditorListener)">addCellEditorListener</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/CellEditorListener.html?is-external=true" title="class or interface in javax.swing.event">CellEditorListener</A>&nbsp;l)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#cancelCellEditing()">cancelCellEditing</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#fireEditingCanceled()">fireEditingCanceled</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#fireEditingStopped()">fireEditingStopped</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getCellEditorValue()">getCellEditorValue</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getClickCountToStart()">getClickCountToStart</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int)">getTableCellEditorComponent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A>&nbsp;table, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;isSelected, + int&nbsp;row, + int&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getTreeCellEditorComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)">getTreeCellEditorComponent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;isSelected, + boolean&nbsp;expanded, + boolean&nbsp;leaf, + int&nbsp;row)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#isCellEditable(java.util.EventObject)">isCellEditable</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</A>&nbsp;anEvent)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#removeCellEditorListener(javax.swing.event.CellEditorListener)">removeCellEditorListener</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/CellEditorListener.html?is-external=true" title="class or interface in javax.swing.event">CellEditorListener</A>&nbsp;l)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#setCellEditorValue(java.lang.Object)">setCellEditorValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#setClickCountToStart(int)">setClickCountToStart</A></B>(int&nbsp;count)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#shouldSelectCell(java.util.EventObject)">shouldSelectCell</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</A>&nbsp;anEvent)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#stopCellEditing()">stopCellEditing</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_listenerList"><!-- --></A><H3> +_listenerList</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/EventListenerList.html?is-external=true" title="class or interface in javax.swing.event">EventListenerList</A> <B>_listenerList</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_value"><!-- --></A><H3> +_value</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>_value</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_changeEvent"><!-- --></A><H3> +_changeEvent</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/ChangeEvent.html?is-external=true" title="class or interface in javax.swing.event">ChangeEvent</A> <B>_changeEvent</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_clickCountToStart"><!-- --></A><H3> +_clickCountToStart</H3> +<PRE> +protected int <B>_clickCountToStart</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryAbstractCellEditor()"><!-- --></A><H3> +CategoryAbstractCellEditor</H3> +<PRE> +public <B>CategoryAbstractCellEditor</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getCellEditorValue()"><!-- --></A><H3> +getCellEditorValue</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getCellEditorValue</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true#getCellEditorValue()" title="class or interface in javax.swing">getCellEditorValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setCellEditorValue(java.lang.Object)"><!-- --></A><H3> +setCellEditorValue</H3> +<PRE> +public void <B>setCellEditorValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setClickCountToStart(int)"><!-- --></A><H3> +setClickCountToStart</H3> +<PRE> +public void <B>setClickCountToStart</B>(int&nbsp;count)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getClickCountToStart()"><!-- --></A><H3> +getClickCountToStart</H3> +<PRE> +public int <B>getClickCountToStart</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isCellEditable(java.util.EventObject)"><!-- --></A><H3> +isCellEditable</H3> +<PRE> +public boolean <B>isCellEditable</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</A>&nbsp;anEvent)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true#isCellEditable(java.util.EventObject)" title="class or interface in javax.swing">isCellEditable</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="shouldSelectCell(java.util.EventObject)"><!-- --></A><H3> +shouldSelectCell</H3> +<PRE> +public boolean <B>shouldSelectCell</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</A>&nbsp;anEvent)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true#shouldSelectCell(java.util.EventObject)" title="class or interface in javax.swing">shouldSelectCell</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="stopCellEditing()"><!-- --></A><H3> +stopCellEditing</H3> +<PRE> +public boolean <B>stopCellEditing</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true#stopCellEditing()" title="class or interface in javax.swing">stopCellEditing</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="cancelCellEditing()"><!-- --></A><H3> +cancelCellEditing</H3> +<PRE> +public void <B>cancelCellEditing</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true#cancelCellEditing()" title="class or interface in javax.swing">cancelCellEditing</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addCellEditorListener(javax.swing.event.CellEditorListener)"><!-- --></A><H3> +addCellEditorListener</H3> +<PRE> +public void <B>addCellEditorListener</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/CellEditorListener.html?is-external=true" title="class or interface in javax.swing.event">CellEditorListener</A>&nbsp;l)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true#addCellEditorListener(javax.swing.event.CellEditorListener)" title="class or interface in javax.swing">addCellEditorListener</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeCellEditorListener(javax.swing.event.CellEditorListener)"><!-- --></A><H3> +removeCellEditorListener</H3> +<PRE> +public void <B>removeCellEditorListener</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/CellEditorListener.html?is-external=true" title="class or interface in javax.swing.event">CellEditorListener</A>&nbsp;l)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true#removeCellEditorListener(javax.swing.event.CellEditorListener)" title="class or interface in javax.swing">removeCellEditorListener</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTreeCellEditorComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)"><!-- --></A><H3> +getTreeCellEditorComponent</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A> <B>getTreeCellEditorComponent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;isSelected, + boolean&nbsp;expanded, + boolean&nbsp;leaf, + int&nbsp;row)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true#getTreeCellEditorComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)" title="class or interface in javax.swing.tree">getTreeCellEditorComponent</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int)"><!-- --></A><H3> +getTableCellEditorComponent</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A> <B>getTableCellEditorComponent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A>&nbsp;table, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;isSelected, + int&nbsp;row, + int&nbsp;column)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellEditor.html?is-external=true#getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int)" title="class or interface in javax.swing.table">getTableCellEditorComponent</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellEditor.html?is-external=true" title="class or interface in javax.swing.table">TableCellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="fireEditingStopped()"><!-- --></A><H3> +fireEditingStopped</H3> +<PRE> +protected void <B>fireEditingStopped</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="fireEditingCanceled()"><!-- --></A><H3> +fireEditingCanceled</H3> +<PRE> +protected void <B>fireEditingCanceled</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryAbstractCellEditor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryAbstractCellEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html new file mode 100644 index 00000000000..b9acde4ce5a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html @@ -0,0 +1,330 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryElement (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryElement (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryElement.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryElement</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryElement</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>CategoryElement</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +CategoryElement represents a single element or part of a Category. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html#_categoryTitle">_categoryTitle</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html#CategoryElement()">CategoryElement</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html#CategoryElement(java.lang.String)">CategoryElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html#getTitle()">getTitle</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html#setTitle(java.lang.String)">setTitle</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_categoryTitle"><!-- --></A><H3> +_categoryTitle</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_categoryTitle</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryElement()"><!-- --></A><H3> +CategoryElement</H3> +<PRE> +public <B>CategoryElement</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="CategoryElement(java.lang.String)"><!-- --></A><H3> +CategoryElement</H3> +<PRE> +public <B>CategoryElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getTitle()"><!-- --></A><H3> +getTitle</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getTitle</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setTitle(java.lang.String)"><!-- --></A><H3> +setTitle</H3> +<PRE> +public void <B>setTitle</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryElement.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html new file mode 100644 index 00000000000..4f020a8dd58 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html @@ -0,0 +1,353 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryExplorerLogRecordFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryExplorerLogRecordFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryExplorerLogRecordFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerLogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryExplorerLogRecordFilter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerLogRecordFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CategoryExplorerLogRecordFilter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></DL> +</PRE> + +<P> +An implementation of LogRecordFilter based on a CategoryExplorerModel +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Wan</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#_model">_model</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#CategoryExplorerLogRecordFilter(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)">CategoryExplorerLogRecordFilter</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A>&nbsp;model)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)">passes</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#reset()">reset</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resets the counters for the contained CategoryNodes to zero.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#resetAllNodes()">resetAllNodes</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_model"><!-- --></A><H3> +_model</H3> +<PRE> +protected <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> <B>_model</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryExplorerLogRecordFilter(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)"><!-- --></A><H3> +CategoryExplorerLogRecordFilter</H3> +<PRE> +public <B>CategoryExplorerLogRecordFilter</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A>&nbsp;model)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="passes(org.apache.log4j.lf5.LogRecord)"><!-- --></A><H3> +passes</H3> +<PRE> +public boolean <B>passes</B>(<A HREF="../../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;record)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/log4j/lf5/LogRecordFilter.html#passes(org.apache.log4j.lf5.LogRecord)">passes</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true if the CategoryExplorer model specified at construction + is accepting the category of the specified LogRecord. Has a side-effect + of adding the CategoryPath of the LogRecord to the explorer model + if the CategoryPath is new.</DL> +</DD> +</DL> +<HR> + +<A NAME="reset()"><!-- --></A><H3> +reset</H3> +<PRE> +public void <B>reset</B>()</PRE> +<DL> +<DD>Resets the counters for the contained CategoryNodes to zero. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resetAllNodes()"><!-- --></A><H3> +resetAllNodes</H3> +<PRE> +protected void <B>resetAllNodes</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryExplorerLogRecordFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerLogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html new file mode 100644 index 00000000000..f26a260e5d3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html @@ -0,0 +1,641 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryExplorerModel (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryExplorerModel (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryExplorerModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryExplorerModel</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true" title="class or interface in javax.swing.tree">javax.swing.tree.DefaultTreeModel</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CategoryExplorerModel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeModel</A></DL> +</PRE> + +<P> +CategoryExplorerModel +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw, Brent Sprecher, Richard Hurst</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionEvent.html?is-external=true" title="class or interface in java.awt.event">ActionEvent</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#_event">_event</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#_listener">_listener</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#_renderFatal">_renderFatal</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.tree.DefaultTreeModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeModel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#asksAllowsChildren" title="class or interface in javax.swing.tree">asksAllowsChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#listenerList" title="class or interface in javax.swing.tree">listenerList</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#root" title="class or interface in javax.swing.tree">root</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#CategoryExplorerModel(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">CategoryExplorerModel</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#addActionListener(java.awt.event.ActionListener)">addActionListener</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A>&nbsp;l)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#addCategory(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)">addCategory</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method altered by Richard Hurst such that it returns the CategoryNode + corresponding to the CategoryPath</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#addLogRecord(org.apache.log4j.lf5.LogRecord)">addLogRecord</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;lr)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getCategoryNode(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)">getCategoryNode</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns null if no CategoryNode exists.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getCategoryNode(java.lang.String)">getCategoryNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getRootCategoryNode()">getRootCategoryNode</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreePath.html?is-external=true" title="class or interface in javax.swing.tree">TreePath</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getTreePathToRoot(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">getTreePathToRoot</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the CategoryPath to the specified CategoryNode</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#isCategoryPathActive(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)">isCategoryPathActive</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#notifyActionListeners()">notifyActionListeners</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#refresh(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">refresh</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fires a nodechanged event on the SwingThread.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#removeActionListener(java.awt.event.ActionListener)">removeActionListener</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A>&nbsp;l)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#resetAllNodeCounts()">resetAllNodeCounts</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#setDescendantSelection(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)">setDescendantSelection</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + boolean&nbsp;selected)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#setParentSelection(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)">setParentSelection</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + boolean&nbsp;selected)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#update(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)">update</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + boolean&nbsp;selected)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.tree.DefaultTreeModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeModel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#addTreeModelListener(javax.swing.event.TreeModelListener)" title="class or interface in javax.swing.tree">addTreeModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#asksAllowsChildren()" title="class or interface in javax.swing.tree">asksAllowsChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#fireTreeNodesChanged(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])" title="class or interface in javax.swing.tree">fireTreeNodesChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#fireTreeNodesInserted(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])" title="class or interface in javax.swing.tree">fireTreeNodesInserted</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#fireTreeNodesRemoved(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])" title="class or interface in javax.swing.tree">fireTreeNodesRemoved</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#fireTreeStructureChanged(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])" title="class or interface in javax.swing.tree">fireTreeStructureChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#getChild(java.lang.Object, int)" title="class or interface in javax.swing.tree">getChild</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#getChildCount(java.lang.Object)" title="class or interface in javax.swing.tree">getChildCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#getIndexOfChild(java.lang.Object, java.lang.Object)" title="class or interface in javax.swing.tree">getIndexOfChild</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in javax.swing.tree">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#getPathToRoot(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">getPathToRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#getPathToRoot(javax.swing.tree.TreeNode, int)" title="class or interface in javax.swing.tree">getPathToRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#getRoot()" title="class or interface in javax.swing.tree">getRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#getTreeModelListeners()" title="class or interface in javax.swing.tree">getTreeModelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#insertNodeInto(javax.swing.tree.MutableTreeNode, javax.swing.tree.MutableTreeNode, int)" title="class or interface in javax.swing.tree">insertNodeInto</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#isLeaf(java.lang.Object)" title="class or interface in javax.swing.tree">isLeaf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#nodeChanged(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">nodeChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#nodesChanged(javax.swing.tree.TreeNode, int[])" title="class or interface in javax.swing.tree">nodesChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#nodeStructureChanged(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">nodeStructureChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#nodesWereInserted(javax.swing.tree.TreeNode, int[])" title="class or interface in javax.swing.tree">nodesWereInserted</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#nodesWereRemoved(javax.swing.tree.TreeNode, int[], java.lang.Object[])" title="class or interface in javax.swing.tree">nodesWereRemoved</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#reload()" title="class or interface in javax.swing.tree">reload</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#reload(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">reload</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#removeNodeFromParent(javax.swing.tree.MutableTreeNode)" title="class or interface in javax.swing.tree">removeNodeFromParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#removeTreeModelListener(javax.swing.event.TreeModelListener)" title="class or interface in javax.swing.tree">removeTreeModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#setAsksAllowsChildren(boolean)" title="class or interface in javax.swing.tree">setAsksAllowsChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#setRoot(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">setRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true#valueForPathChanged(javax.swing.tree.TreePath, java.lang.Object)" title="class or interface in javax.swing.tree">valueForPathChanged</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_renderFatal"><!-- --></A><H3> +_renderFatal</H3> +<PRE> +protected boolean <B>_renderFatal</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_listener"><!-- --></A><H3> +_listener</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A> <B>_listener</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_event"><!-- --></A><H3> +_event</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionEvent.html?is-external=true" title="class or interface in java.awt.event">ActionEvent</A> <B>_event</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryExplorerModel(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +CategoryExplorerModel</H3> +<PRE> +public <B>CategoryExplorerModel</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addLogRecord(org.apache.log4j.lf5.LogRecord)"><!-- --></A><H3> +addLogRecord</H3> +<PRE> +public void <B>addLogRecord</B>(<A HREF="../../../../../../org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A>&nbsp;lr)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRootCategoryNode()"><!-- --></A><H3> +getRootCategoryNode</H3> +<PRE> +public <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> <B>getRootCategoryNode</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCategoryNode(java.lang.String)"><!-- --></A><H3> +getCategoryNode</H3> +<PRE> +public <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> <B>getCategoryNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCategoryNode(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)"><!-- --></A><H3> +getCategoryNode</H3> +<PRE> +public <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> <B>getCategoryNode</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</PRE> +<DL> +<DD>returns null if no CategoryNode exists. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isCategoryPathActive(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)"><!-- --></A><H3> +isCategoryPathActive</H3> +<PRE> +public boolean <B>isCategoryPathActive</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</PRE> +<DL> +<DD><DL> + +<DT><B>Returns:</B><DD>true if all the nodes in the specified CategoryPath are + selected.</DL> +</DD> +</DL> +<HR> + +<A NAME="addCategory(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)"><!-- --></A><H3> +addCategory</H3> +<PRE> +public <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> <B>addCategory</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</PRE> +<DL> +<DD><p>Method altered by Richard Hurst such that it returns the CategoryNode + corresponding to the CategoryPath</p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>path</CODE> - category path. +<DT><B>Returns:</B><DD>CategoryNode</DL> +</DD> +</DL> +<HR> + +<A NAME="update(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)"><!-- --></A><H3> +update</H3> +<PRE> +public void <B>update</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + boolean&nbsp;selected)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setDescendantSelection(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)"><!-- --></A><H3> +setDescendantSelection</H3> +<PRE> +public void <B>setDescendantSelection</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + boolean&nbsp;selected)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setParentSelection(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)"><!-- --></A><H3> +setParentSelection</H3> +<PRE> +public void <B>setParentSelection</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + boolean&nbsp;selected)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addActionListener(java.awt.event.ActionListener)"><!-- --></A><H3> +addActionListener</H3> +<PRE> +public void <B>addActionListener</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A>&nbsp;l)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeActionListener(java.awt.event.ActionListener)"><!-- --></A><H3> +removeActionListener</H3> +<PRE> +public void <B>removeActionListener</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A>&nbsp;l)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resetAllNodeCounts()"><!-- --></A><H3> +resetAllNodeCounts</H3> +<PRE> +public void <B>resetAllNodeCounts</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTreePathToRoot(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +getTreePathToRoot</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreePath.html?is-external=true" title="class or interface in javax.swing.tree">TreePath</A> <B>getTreePathToRoot</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><p>Returns the CategoryPath to the specified CategoryNode</p> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>node</CODE> - The target CategoryNode +<DT><B>Returns:</B><DD>CategoryPath</DL> +</DD> +</DL> +<HR> + +<A NAME="notifyActionListeners()"><!-- --></A><H3> +notifyActionListeners</H3> +<PRE> +protected void <B>notifyActionListeners</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="refresh(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +refresh</H3> +<PRE> +protected void <B>refresh</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD>Fires a nodechanged event on the SwingThread. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryExplorerModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html new file mode 100644 index 00000000000..830b8ad344d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html @@ -0,0 +1,540 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryExplorerTree (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryExplorerTree (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryExplorerTree.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerTree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JTree">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryExplorerTree</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">javax.swing.JComponent</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">javax.swing.JTree</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/Scrollable.html?is-external=true" title="class or interface in javax.swing">Scrollable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CategoryExplorerTree</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A></DL> +</PRE> + +<P> +CategoryExplorerTree +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw, Brent Sprecher, Brad Marlborough</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JTree"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.AccessibleJTree.html?is-external=true" title="class or interface in javax.swing">JTree.AccessibleJTree</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.DropLocation.html?is-external=true" title="class or interface in javax.swing">JTree.DropLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.DynamicUtilTreeNode.html?is-external=true" title="class or interface in javax.swing">JTree.DynamicUtilTreeNode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.EmptySelectionModel.html?is-external=true" title="class or interface in javax.swing">JTree.EmptySelectionModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.TreeModelHandler.html?is-external=true" title="class or interface in javax.swing">JTree.TreeModelHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.TreeSelectionRedirector.html?is-external=true" title="class or interface in javax.swing">JTree.TreeSelectionRedirector</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.AccessibleJComponent.html?is-external=true" title="class or interface in javax.swing">JComponent.AccessibleJComponent</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BltBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.BltBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.FlipBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.FlipBufferStrategy</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#_model">_model</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#_rootAlreadyExpanded">_rootAlreadyExpanded</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JTree"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#ANCHOR_SELECTION_PATH_PROPERTY" title="class or interface in javax.swing">ANCHOR_SELECTION_PATH_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#CELL_EDITOR_PROPERTY" title="class or interface in javax.swing">CELL_EDITOR_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#CELL_RENDERER_PROPERTY" title="class or interface in javax.swing">CELL_RENDERER_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#cellEditor" title="class or interface in javax.swing">cellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#cellRenderer" title="class or interface in javax.swing">cellRenderer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#editable" title="class or interface in javax.swing">editable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#EDITABLE_PROPERTY" title="class or interface in javax.swing">EDITABLE_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#EXPANDS_SELECTED_PATHS_PROPERTY" title="class or interface in javax.swing">EXPANDS_SELECTED_PATHS_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#INVOKES_STOP_CELL_EDITING_PROPERTY" title="class or interface in javax.swing">INVOKES_STOP_CELL_EDITING_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#invokesStopCellEditing" title="class or interface in javax.swing">invokesStopCellEditing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#LARGE_MODEL_PROPERTY" title="class or interface in javax.swing">LARGE_MODEL_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#largeModel" title="class or interface in javax.swing">largeModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#LEAD_SELECTION_PATH_PROPERTY" title="class or interface in javax.swing">LEAD_SELECTION_PATH_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#ROOT_VISIBLE_PROPERTY" title="class or interface in javax.swing">ROOT_VISIBLE_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#rootVisible" title="class or interface in javax.swing">rootVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#ROW_HEIGHT_PROPERTY" title="class or interface in javax.swing">ROW_HEIGHT_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#rowHeight" title="class or interface in javax.swing">rowHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#SCROLLS_ON_EXPAND_PROPERTY" title="class or interface in javax.swing">SCROLLS_ON_EXPAND_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#scrollsOnExpand" title="class or interface in javax.swing">scrollsOnExpand</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#SELECTION_MODEL_PROPERTY" title="class or interface in javax.swing">SELECTION_MODEL_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#selectionModel" title="class or interface in javax.swing">selectionModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#selectionRedirector" title="class or interface in javax.swing">selectionRedirector</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#SHOWS_ROOT_HANDLES_PROPERTY" title="class or interface in javax.swing">SHOWS_ROOT_HANDLES_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#showsRootHandles" title="class or interface in javax.swing">showsRootHandles</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#TOGGLE_CLICK_COUNT_PROPERTY" title="class or interface in javax.swing">TOGGLE_CLICK_COUNT_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#toggleClickCount" title="class or interface in javax.swing">toggleClickCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#TREE_MODEL_PROPERTY" title="class or interface in javax.swing">TREE_MODEL_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#treeModel" title="class or interface in javax.swing">treeModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#treeModelListener" title="class or interface in javax.swing">treeModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#VISIBLE_ROW_COUNT_PROPERTY" title="class or interface in javax.swing">VISIBLE_ROW_COUNT_PROPERTY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#visibleRowCount" title="class or interface in javax.swing">visibleRowCount</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#listenerList" title="class or interface in javax.swing">listenerList</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#TOOL_TIP_TEXT_KEY" title="class or interface in javax.swing">TOOL_TIP_TEXT_KEY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#ui" title="class or interface in javax.swing">ui</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#UNDEFINED_CONDITION" title="class or interface in javax.swing">UNDEFINED_CONDITION</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_ANCESTOR_OF_FOCUSED_COMPONENT" title="class or interface in javax.swing">WHEN_ANCESTOR_OF_FOCUSED_COMPONENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_FOCUSED" title="class or interface in javax.swing">WHEN_FOCUSED</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_IN_FOCUSED_WINDOW" title="class or interface in javax.swing">WHEN_IN_FOCUSED_WINDOW</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt">LEFT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#RIGHT_ALIGNMENT" title="class or interface in java.awt">RIGHT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#TOP_ALIGNMENT" title="class or interface in java.awt">TOP_ALIGNMENT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image">ERROR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#FRAMEBITS" title="class or interface in java.awt.image">FRAMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#HEIGHT" title="class or interface in java.awt.image">HEIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#PROPERTIES" title="class or interface in java.awt.image">PROPERTIES</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#SOMEBITS" title="class or interface in java.awt.image">SOMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#WIDTH" title="class or interface in java.awt.image">WIDTH</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#CategoryExplorerTree()">CategoryExplorerTree</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a CategoryExplorerTree and create a default CategoryExplorerModel.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#CategoryExplorerTree(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)">CategoryExplorerTree</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A>&nbsp;model)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a CategoryExplorerTree with a specific model.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#ensureRootExpansion()">ensureRootExpansion</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#expandRootNode()">expandRootNode</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#getExplorerModel()">getExplorerModel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#getToolTipText(java.awt.event.MouseEvent)">getToolTipText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/MouseEvent.html?is-external=true" title="class or interface in java.awt.event">MouseEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#init()">init</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JTree"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#addSelectionInterval(int, int)" title="class or interface in javax.swing">addSelectionInterval</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#addSelectionPath(javax.swing.tree.TreePath)" title="class or interface in javax.swing">addSelectionPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#addSelectionPaths(javax.swing.tree.TreePath[])" title="class or interface in javax.swing">addSelectionPaths</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#addSelectionRow(int)" title="class or interface in javax.swing">addSelectionRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#addSelectionRows(int[])" title="class or interface in javax.swing">addSelectionRows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#addTreeExpansionListener(javax.swing.event.TreeExpansionListener)" title="class or interface in javax.swing">addTreeExpansionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#addTreeSelectionListener(javax.swing.event.TreeSelectionListener)" title="class or interface in javax.swing">addTreeSelectionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#addTreeWillExpandListener(javax.swing.event.TreeWillExpandListener)" title="class or interface in javax.swing">addTreeWillExpandListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#cancelEditing()" title="class or interface in javax.swing">cancelEditing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#clearSelection()" title="class or interface in javax.swing">clearSelection</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#clearToggledPaths()" title="class or interface in javax.swing">clearToggledPaths</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#collapsePath(javax.swing.tree.TreePath)" title="class or interface in javax.swing">collapsePath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#collapseRow(int)" title="class or interface in javax.swing">collapseRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#convertValueToText(java.lang.Object, boolean, boolean, boolean, int, boolean)" title="class or interface in javax.swing">convertValueToText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#createTreeModel(java.lang.Object)" title="class or interface in javax.swing">createTreeModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#createTreeModelListener()" title="class or interface in javax.swing">createTreeModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#expandPath(javax.swing.tree.TreePath)" title="class or interface in javax.swing">expandPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#expandRow(int)" title="class or interface in javax.swing">expandRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#fireTreeCollapsed(javax.swing.tree.TreePath)" title="class or interface in javax.swing">fireTreeCollapsed</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#fireTreeExpanded(javax.swing.tree.TreePath)" title="class or interface in javax.swing">fireTreeExpanded</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#fireTreeWillCollapse(javax.swing.tree.TreePath)" title="class or interface in javax.swing">fireTreeWillCollapse</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#fireTreeWillExpand(javax.swing.tree.TreePath)" title="class or interface in javax.swing">fireTreeWillExpand</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#fireValueChanged(javax.swing.event.TreeSelectionEvent)" title="class or interface in javax.swing">fireValueChanged</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getAnchorSelectionPath()" title="class or interface in javax.swing">getAnchorSelectionPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getCellEditor()" title="class or interface in javax.swing">getCellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getCellRenderer()" title="class or interface in javax.swing">getCellRenderer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getClosestPathForLocation(int, int)" title="class or interface in javax.swing">getClosestPathForLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getClosestRowForLocation(int, int)" title="class or interface in javax.swing">getClosestRowForLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getDefaultTreeModel()" title="class or interface in javax.swing">getDefaultTreeModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getDescendantToggledPaths(javax.swing.tree.TreePath)" title="class or interface in javax.swing">getDescendantToggledPaths</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getDragEnabled()" title="class or interface in javax.swing">getDragEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getDropLocation()" title="class or interface in javax.swing">getDropLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getDropMode()" title="class or interface in javax.swing">getDropMode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getEditingPath()" title="class or interface in javax.swing">getEditingPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getExpandedDescendants(javax.swing.tree.TreePath)" title="class or interface in javax.swing">getExpandedDescendants</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getExpandsSelectedPaths()" title="class or interface in javax.swing">getExpandsSelectedPaths</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getInvokesStopCellEditing()" title="class or interface in javax.swing">getInvokesStopCellEditing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getLastSelectedPathComponent()" title="class or interface in javax.swing">getLastSelectedPathComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getLeadSelectionPath()" title="class or interface in javax.swing">getLeadSelectionPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getLeadSelectionRow()" title="class or interface in javax.swing">getLeadSelectionRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getMaxSelectionRow()" title="class or interface in javax.swing">getMaxSelectionRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getMinSelectionRow()" title="class or interface in javax.swing">getMinSelectionRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getModel()" title="class or interface in javax.swing">getModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getNextMatch(java.lang.String, int, javax.swing.text.Position.Bias)" title="class or interface in javax.swing">getNextMatch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getPathBetweenRows(int, int)" title="class or interface in javax.swing">getPathBetweenRows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getPathBounds(javax.swing.tree.TreePath)" title="class or interface in javax.swing">getPathBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getPathForLocation(int, int)" title="class or interface in javax.swing">getPathForLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getPathForRow(int)" title="class or interface in javax.swing">getPathForRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getPreferredScrollableViewportSize()" title="class or interface in javax.swing">getPreferredScrollableViewportSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getRowBounds(int)" title="class or interface in javax.swing">getRowBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getRowCount()" title="class or interface in javax.swing">getRowCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getRowForLocation(int, int)" title="class or interface in javax.swing">getRowForLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getRowForPath(javax.swing.tree.TreePath)" title="class or interface in javax.swing">getRowForPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getRowHeight()" title="class or interface in javax.swing">getRowHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getScrollableBlockIncrement(java.awt.Rectangle, int, int)" title="class or interface in javax.swing">getScrollableBlockIncrement</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getScrollableTracksViewportHeight()" title="class or interface in javax.swing">getScrollableTracksViewportHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getScrollableTracksViewportWidth()" title="class or interface in javax.swing">getScrollableTracksViewportWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getScrollableUnitIncrement(java.awt.Rectangle, int, int)" title="class or interface in javax.swing">getScrollableUnitIncrement</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getScrollsOnExpand()" title="class or interface in javax.swing">getScrollsOnExpand</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getSelectionCount()" title="class or interface in javax.swing">getSelectionCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getSelectionModel()" title="class or interface in javax.swing">getSelectionModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getSelectionPath()" title="class or interface in javax.swing">getSelectionPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getSelectionPaths()" title="class or interface in javax.swing">getSelectionPaths</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getSelectionRows()" title="class or interface in javax.swing">getSelectionRows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getShowsRootHandles()" title="class or interface in javax.swing">getShowsRootHandles</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getToggleClickCount()" title="class or interface in javax.swing">getToggleClickCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getTreeExpansionListeners()" title="class or interface in javax.swing">getTreeExpansionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getTreeSelectionListeners()" title="class or interface in javax.swing">getTreeSelectionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getTreeWillExpandListeners()" title="class or interface in javax.swing">getTreeWillExpandListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getUI()" title="class or interface in javax.swing">getUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getUIClassID()" title="class or interface in javax.swing">getUIClassID</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getVisibleRowCount()" title="class or interface in javax.swing">getVisibleRowCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#hasBeenExpanded(javax.swing.tree.TreePath)" title="class or interface in javax.swing">hasBeenExpanded</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isCollapsed(int)" title="class or interface in javax.swing">isCollapsed</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isCollapsed(javax.swing.tree.TreePath)" title="class or interface in javax.swing">isCollapsed</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isEditable()" title="class or interface in javax.swing">isEditable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isEditing()" title="class or interface in javax.swing">isEditing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isExpanded(int)" title="class or interface in javax.swing">isExpanded</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isExpanded(javax.swing.tree.TreePath)" title="class or interface in javax.swing">isExpanded</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isFixedRowHeight()" title="class or interface in javax.swing">isFixedRowHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isLargeModel()" title="class or interface in javax.swing">isLargeModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isPathEditable(javax.swing.tree.TreePath)" title="class or interface in javax.swing">isPathEditable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isPathSelected(javax.swing.tree.TreePath)" title="class or interface in javax.swing">isPathSelected</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isRootVisible()" title="class or interface in javax.swing">isRootVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isRowSelected(int)" title="class or interface in javax.swing">isRowSelected</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isSelectionEmpty()" title="class or interface in javax.swing">isSelectionEmpty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#isVisible(javax.swing.tree.TreePath)" title="class or interface in javax.swing">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#makeVisible(javax.swing.tree.TreePath)" title="class or interface in javax.swing">makeVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#paramString()" title="class or interface in javax.swing">paramString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#removeDescendantSelectedPaths(javax.swing.tree.TreePath, boolean)" title="class or interface in javax.swing">removeDescendantSelectedPaths</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#removeDescendantToggledPaths(java.util.Enumeration)" title="class or interface in javax.swing">removeDescendantToggledPaths</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#removeSelectionInterval(int, int)" title="class or interface in javax.swing">removeSelectionInterval</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#removeSelectionPath(javax.swing.tree.TreePath)" title="class or interface in javax.swing">removeSelectionPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#removeSelectionPaths(javax.swing.tree.TreePath[])" title="class or interface in javax.swing">removeSelectionPaths</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#removeSelectionRow(int)" title="class or interface in javax.swing">removeSelectionRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#removeSelectionRows(int[])" title="class or interface in javax.swing">removeSelectionRows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#removeTreeExpansionListener(javax.swing.event.TreeExpansionListener)" title="class or interface in javax.swing">removeTreeExpansionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#removeTreeSelectionListener(javax.swing.event.TreeSelectionListener)" title="class or interface in javax.swing">removeTreeSelectionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#removeTreeWillExpandListener(javax.swing.event.TreeWillExpandListener)" title="class or interface in javax.swing">removeTreeWillExpandListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#scrollPathToVisible(javax.swing.tree.TreePath)" title="class or interface in javax.swing">scrollPathToVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#scrollRowToVisible(int)" title="class or interface in javax.swing">scrollRowToVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setAnchorSelectionPath(javax.swing.tree.TreePath)" title="class or interface in javax.swing">setAnchorSelectionPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setCellEditor(javax.swing.tree.TreeCellEditor)" title="class or interface in javax.swing">setCellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setCellRenderer(javax.swing.tree.TreeCellRenderer)" title="class or interface in javax.swing">setCellRenderer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setDragEnabled(boolean)" title="class or interface in javax.swing">setDragEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setDropMode(javax.swing.DropMode)" title="class or interface in javax.swing">setDropMode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setEditable(boolean)" title="class or interface in javax.swing">setEditable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setExpandedState(javax.swing.tree.TreePath, boolean)" title="class or interface in javax.swing">setExpandedState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setExpandsSelectedPaths(boolean)" title="class or interface in javax.swing">setExpandsSelectedPaths</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setInvokesStopCellEditing(boolean)" title="class or interface in javax.swing">setInvokesStopCellEditing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setLargeModel(boolean)" title="class or interface in javax.swing">setLargeModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setLeadSelectionPath(javax.swing.tree.TreePath)" title="class or interface in javax.swing">setLeadSelectionPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setModel(javax.swing.tree.TreeModel)" title="class or interface in javax.swing">setModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setRootVisible(boolean)" title="class or interface in javax.swing">setRootVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setRowHeight(int)" title="class or interface in javax.swing">setRowHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setScrollsOnExpand(boolean)" title="class or interface in javax.swing">setScrollsOnExpand</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setSelectionInterval(int, int)" title="class or interface in javax.swing">setSelectionInterval</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setSelectionModel(javax.swing.tree.TreeSelectionModel)" title="class or interface in javax.swing">setSelectionModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setSelectionPath(javax.swing.tree.TreePath)" title="class or interface in javax.swing">setSelectionPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setSelectionPaths(javax.swing.tree.TreePath[])" title="class or interface in javax.swing">setSelectionPaths</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setSelectionRow(int)" title="class or interface in javax.swing">setSelectionRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setSelectionRows(int[])" title="class or interface in javax.swing">setSelectionRows</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setShowsRootHandles(boolean)" title="class or interface in javax.swing">setShowsRootHandles</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setToggleClickCount(int)" title="class or interface in javax.swing">setToggleClickCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setUI(javax.swing.plaf.TreeUI)" title="class or interface in javax.swing">setUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#setVisibleRowCount(int)" title="class or interface in javax.swing">setVisibleRowCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#startEditingAtPath(javax.swing.tree.TreePath)" title="class or interface in javax.swing">startEditingAtPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#stopEditing()" title="class or interface in javax.swing">stopEditing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#treeDidChange()" title="class or interface in javax.swing">treeDidChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#updateUI()" title="class or interface in javax.swing">updateUI</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">addAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addNotify()" title="class or interface in javax.swing">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addVetoableChangeListener(java.beans.VetoableChangeListener)" title="class or interface in javax.swing">addVetoableChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#computeVisibleRect(java.awt.Rectangle)" title="class or interface in javax.swing">computeVisibleRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#contains(int, int)" title="class or interface in javax.swing">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#createToolTip()" title="class or interface in javax.swing">createToolTip</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#disable()" title="class or interface in javax.swing">disable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#enable()" title="class or interface in javax.swing">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in javax.swing">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#firePropertyChange(java.lang.String, char, char)" title="class or interface in javax.swing">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#firePropertyChange(java.lang.String, int, int)" title="class or interface in javax.swing">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#fireVetoableChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in javax.swing">fireVetoableChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getActionForKeyStroke(javax.swing.KeyStroke)" title="class or interface in javax.swing">getActionForKeyStroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getActionMap()" title="class or interface in javax.swing">getActionMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAlignmentX()" title="class or interface in javax.swing">getAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAlignmentY()" title="class or interface in javax.swing">getAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAncestorListeners()" title="class or interface in javax.swing">getAncestorListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAutoscrolls()" title="class or interface in javax.swing">getAutoscrolls</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBaseline(int, int)" title="class or interface in javax.swing">getBaseline</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBaselineResizeBehavior()" title="class or interface in javax.swing">getBaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBorder()" title="class or interface in javax.swing">getBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBounds(java.awt.Rectangle)" title="class or interface in javax.swing">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getClientProperty(java.lang.Object)" title="class or interface in javax.swing">getClientProperty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getComponentGraphics(java.awt.Graphics)" title="class or interface in javax.swing">getComponentGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getComponentPopupMenu()" title="class or interface in javax.swing">getComponentPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getConditionForKeyStroke(javax.swing.KeyStroke)" title="class or interface in javax.swing">getConditionForKeyStroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getDebugGraphicsOptions()" title="class or interface in javax.swing">getDebugGraphicsOptions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getDefaultLocale()" title="class or interface in javax.swing">getDefaultLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getFontMetrics(java.awt.Font)" title="class or interface in javax.swing">getFontMetrics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getGraphics()" title="class or interface in javax.swing">getGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getHeight()" title="class or interface in javax.swing">getHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInheritsPopupMenu()" title="class or interface in javax.swing">getInheritsPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputMap()" title="class or interface in javax.swing">getInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputMap(int)" title="class or interface in javax.swing">getInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputVerifier()" title="class or interface in javax.swing">getInputVerifier</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInsets()" title="class or interface in javax.swing">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInsets(java.awt.Insets)" title="class or interface in javax.swing">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in javax.swing">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getLocation(java.awt.Point)" title="class or interface in javax.swing">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getMaximumSize()" title="class or interface in javax.swing">getMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getMinimumSize()" title="class or interface in javax.swing">getMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getNextFocusableComponent()" title="class or interface in javax.swing">getNextFocusableComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getPopupLocation(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getPopupLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getPreferredSize()" title="class or interface in javax.swing">getPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getRegisteredKeyStrokes()" title="class or interface in javax.swing">getRegisteredKeyStrokes</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getRootPane()" title="class or interface in javax.swing">getRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getSize(java.awt.Dimension)" title="class or interface in javax.swing">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipLocation(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getToolTipLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipText()" title="class or interface in javax.swing">getToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getTopLevelAncestor()" title="class or interface in javax.swing">getTopLevelAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getTransferHandler()" title="class or interface in javax.swing">getTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVerifyInputWhenFocusTarget()" title="class or interface in javax.swing">getVerifyInputWhenFocusTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVetoableChangeListeners()" title="class or interface in javax.swing">getVetoableChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVisibleRect()" title="class or interface in javax.swing">getVisibleRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getWidth()" title="class or interface in javax.swing">getWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getX()" title="class or interface in javax.swing">getX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getY()" title="class or interface in javax.swing">getY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#grabFocus()" title="class or interface in javax.swing">grabFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isDoubleBuffered()" title="class or interface in javax.swing">isDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isLightweightComponent(java.awt.Component)" title="class or interface in javax.swing">isLightweightComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isManagingFocus()" title="class or interface in javax.swing">isManagingFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isOpaque()" title="class or interface in javax.swing">isOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isOptimizedDrawingEnabled()" title="class or interface in javax.swing">isOptimizedDrawingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isPaintingForPrint()" title="class or interface in javax.swing">isPaintingForPrint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isPaintingTile()" title="class or interface in javax.swing">isPaintingTile</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isRequestFocusEnabled()" title="class or interface in javax.swing">isRequestFocusEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isValidateRoot()" title="class or interface in javax.swing">isValidateRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paint(java.awt.Graphics)" title="class or interface in javax.swing">paint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintBorder(java.awt.Graphics)" title="class or interface in javax.swing">paintBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintChildren(java.awt.Graphics)" title="class or interface in javax.swing">paintChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintComponent(java.awt.Graphics)" title="class or interface in javax.swing">paintComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintImmediately(int, int, int, int)" title="class or interface in javax.swing">paintImmediately</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintImmediately(java.awt.Rectangle)" title="class or interface in javax.swing">paintImmediately</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#print(java.awt.Graphics)" title="class or interface in javax.swing">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printAll(java.awt.Graphics)" title="class or interface in javax.swing">printAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printBorder(java.awt.Graphics)" title="class or interface in javax.swing">printBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printChildren(java.awt.Graphics)" title="class or interface in javax.swing">printChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printComponent(java.awt.Graphics)" title="class or interface in javax.swing">printComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processComponentKeyEvent(java.awt.event.KeyEvent)" title="class or interface in javax.swing">processComponentKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processKeyBinding(javax.swing.KeyStroke, java.awt.event.KeyEvent, int, boolean)" title="class or interface in javax.swing">processKeyBinding</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processKeyEvent(java.awt.event.KeyEvent)" title="class or interface in javax.swing">processKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processMouseEvent(java.awt.event.MouseEvent)" title="class or interface in javax.swing">processMouseEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processMouseMotionEvent(java.awt.event.MouseEvent)" title="class or interface in javax.swing">processMouseMotionEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#putClientProperty(java.lang.Object, java.lang.Object)" title="class or interface in javax.swing">putClientProperty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#registerKeyboardAction(java.awt.event.ActionListener, javax.swing.KeyStroke, int)" title="class or interface in javax.swing">registerKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)" title="class or interface in javax.swing">registerKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">removeAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeNotify()" title="class or interface in javax.swing">removeNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeVetoableChangeListener(java.beans.VetoableChangeListener)" title="class or interface in javax.swing">removeVetoableChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#repaint(long, int, int, int, int)" title="class or interface in javax.swing">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#repaint(java.awt.Rectangle)" title="class or interface in javax.swing">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestDefaultFocus()" title="class or interface in javax.swing">requestDefaultFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocus()" title="class or interface in javax.swing">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocus(boolean)" title="class or interface in javax.swing">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocusInWindow()" title="class or interface in javax.swing">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocusInWindow(boolean)" title="class or interface in javax.swing">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#resetKeyboardActions()" title="class or interface in javax.swing">resetKeyboardActions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#reshape(int, int, int, int)" title="class or interface in javax.swing">reshape</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#revalidate()" title="class or interface in javax.swing">revalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#scrollRectToVisible(java.awt.Rectangle)" title="class or interface in javax.swing">scrollRectToVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setActionMap(javax.swing.ActionMap)" title="class or interface in javax.swing">setActionMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAlignmentX(float)" title="class or interface in javax.swing">setAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAlignmentY(float)" title="class or interface in javax.swing">setAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAutoscrolls(boolean)" title="class or interface in javax.swing">setAutoscrolls</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setBackground(java.awt.Color)" title="class or interface in javax.swing">setBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setBorder(javax.swing.border.Border)" title="class or interface in javax.swing">setBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setComponentPopupMenu(javax.swing.JPopupMenu)" title="class or interface in javax.swing">setComponentPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDebugGraphicsOptions(int)" title="class or interface in javax.swing">setDebugGraphicsOptions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDefaultLocale(java.util.Locale)" title="class or interface in javax.swing">setDefaultLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDoubleBuffered(boolean)" title="class or interface in javax.swing">setDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setEnabled(boolean)" title="class or interface in javax.swing">setEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setFocusTraversalKeys(int, java.util.Set)" title="class or interface in javax.swing">setFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setFont(java.awt.Font)" title="class or interface in javax.swing">setFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setForeground(java.awt.Color)" title="class or interface in javax.swing">setForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInheritsPopupMenu(boolean)" title="class or interface in javax.swing">setInheritsPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInputMap(int, javax.swing.InputMap)" title="class or interface in javax.swing">setInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInputVerifier(javax.swing.InputVerifier)" title="class or interface in javax.swing">setInputVerifier</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setMaximumSize(java.awt.Dimension)" title="class or interface in javax.swing">setMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setMinimumSize(java.awt.Dimension)" title="class or interface in javax.swing">setMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setNextFocusableComponent(java.awt.Component)" title="class or interface in javax.swing">setNextFocusableComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setOpaque(boolean)" title="class or interface in javax.swing">setOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setPreferredSize(java.awt.Dimension)" title="class or interface in javax.swing">setPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setRequestFocusEnabled(boolean)" title="class or interface in javax.swing">setRequestFocusEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setToolTipText(java.lang.String)" title="class or interface in javax.swing">setToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setTransferHandler(javax.swing.TransferHandler)" title="class or interface in javax.swing">setTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setUI(javax.swing.plaf.ComponentUI)" title="class or interface in javax.swing">setUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setVerifyInputWhenFocusTarget(boolean)" title="class or interface in javax.swing">setVerifyInputWhenFocusTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setVisible(boolean)" title="class or interface in javax.swing">setVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#unregisterKeyboardAction(javax.swing.KeyStroke)" title="class or interface in javax.swing">unregisterKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#update(java.awt.Graphics)" title="class or interface in javax.swing">update</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.lang.String, java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">addContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#applyComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">applyComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#areFocusTraversalKeysSet(int)" title="class or interface in java.awt">areFocusTraversalKeysSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#countComponents()" title="class or interface in java.awt">countComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#deliverEvent(java.awt.Event)" title="class or interface in java.awt">deliverEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#doLayout()" title="class or interface in java.awt">doLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(int, int)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(java.awt.Point)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponent(int)" title="class or interface in java.awt">getComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(int, int)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(java.awt.Point)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentCount()" title="class or interface in java.awt">getComponentCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponents()" title="class or interface in java.awt">getComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentZOrder(java.awt.Component)" title="class or interface in java.awt">getComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getContainerListeners()" title="class or interface in java.awt">getContainerListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalKeys(int)" title="class or interface in java.awt">getFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalPolicy()" title="class or interface in java.awt">getFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getLayout()" title="class or interface in java.awt">getLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMousePosition(boolean)" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#insets()" title="class or interface in java.awt">insets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#invalidate()" title="class or interface in java.awt">invalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isAncestorOf(java.awt.Component)" title="class or interface in java.awt">isAncestorOf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot()" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot(java.awt.Container)" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicyProvider()" title="class or interface in java.awt">isFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicySet()" title="class or interface in java.awt">isFocusTraversalPolicySet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#layout()" title="class or interface in java.awt">layout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintStream, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintWriter, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#locate(int, int)" title="class or interface in java.awt">locate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#minimumSize()" title="class or interface in java.awt">minimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paintComponents(java.awt.Graphics)" title="class or interface in java.awt">paintComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#preferredSize()" title="class or interface in java.awt">preferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#printComponents(java.awt.Graphics)" title="class or interface in java.awt">printComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processContainerEvent(java.awt.event.ContainerEvent)" title="class or interface in java.awt">processContainerEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processEvent(java.awt.AWTEvent)" title="class or interface in java.awt">processEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(java.awt.Component)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(int)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeAll()" title="class or interface in java.awt">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">removeContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setComponentZOrder(java.awt.Component, int)" title="class or interface in java.awt">setComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusCycleRoot(boolean)" title="class or interface in java.awt">setFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)" title="class or interface in java.awt">setFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicyProvider(boolean)" title="class or interface in java.awt">setFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setLayout(java.awt.LayoutManager)" title="class or interface in java.awt">setLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusBackward()" title="class or interface in java.awt">transferFocusBackward</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusDownCycle()" title="class or interface in java.awt">transferFocusDownCycle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validate()" title="class or interface in java.awt">validate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validateTree()" title="class or interface in java.awt">validateTree</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">addComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">addFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">addHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">addHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">addInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">addKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">addMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">addMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">addMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#bounds()" title="class or interface in java.awt">bounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#coalesceEvents(java.awt.AWTEvent, java.awt.AWTEvent)" title="class or interface in java.awt">coalesceEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(java.awt.Point)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(java.awt.image.ImageProducer)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(int, int)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int, java.awt.ImageCapabilities)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disableEvents(long)" title="class or interface in java.awt">disableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#dispatchEvent(java.awt.AWTEvent)" title="class or interface in java.awt">dispatchEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable(boolean)" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableEvents(long)" title="class or interface in java.awt">enableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableInputMethods(boolean)" title="class or interface in java.awt">enableInputMethods</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, byte, byte)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, double, double)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, float, float)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, long, long)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#firePropertyChange(java.lang.String, short, short)" title="class or interface in java.awt">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBackground()" title="class or interface in java.awt">getBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds()" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getColorModel()" title="class or interface in java.awt">getColorModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentListeners()" title="class or interface in java.awt">getComponentListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentOrientation()" title="class or interface in java.awt">getComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getCursor()" title="class or interface in java.awt">getCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getDropTarget()" title="class or interface in java.awt">getDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusCycleRootAncestor()" title="class or interface in java.awt">getFocusCycleRootAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusListeners()" title="class or interface in java.awt">getFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusTraversalKeysEnabled()" title="class or interface in java.awt">getFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFont()" title="class or interface in java.awt">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getForeground()" title="class or interface in java.awt">getForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getGraphicsConfiguration()" title="class or interface in java.awt">getGraphicsConfiguration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyBoundsListeners()" title="class or interface in java.awt">getHierarchyBoundsListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyListeners()" title="class or interface in java.awt">getHierarchyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getIgnoreRepaint()" title="class or interface in java.awt">getIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputContext()" title="class or interface in java.awt">getInputContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodListeners()" title="class or interface in java.awt">getInputMethodListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodRequests()" title="class or interface in java.awt">getInputMethodRequests</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getKeyListeners()" title="class or interface in java.awt">getKeyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocale()" title="class or interface in java.awt">getLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation()" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocationOnScreen()" title="class or interface in java.awt">getLocationOnScreen</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseListeners()" title="class or interface in java.awt">getMouseListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseMotionListeners()" title="class or interface in java.awt">getMouseMotionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMousePosition()" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseWheelListeners()" title="class or interface in java.awt">getMouseWheelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getName()" title="class or interface in java.awt">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getParent()" title="class or interface in java.awt">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPeer()" title="class or interface in java.awt">getPeer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners()" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners(java.lang.String)" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize()" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getToolkit()" title="class or interface in java.awt">getToolkit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getTreeLock()" title="class or interface in java.awt">getTreeLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#gotFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">gotFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#handleEvent(java.awt.Event)" title="class or interface in java.awt">handleEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hasFocus()" title="class or interface in java.awt">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hide()" title="class or interface in java.awt">hide</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#imageUpdate(java.awt.Image, int, int, int, int, int)" title="class or interface in java.awt">imageUpdate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#inside(int, int)" title="class or interface in java.awt">inside</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isBackgroundSet()" title="class or interface in java.awt">isBackgroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isCursorSet()" title="class or interface in java.awt">isCursorSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDisplayable()" title="class or interface in java.awt">isDisplayable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isEnabled()" title="class or interface in java.awt">isEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusable()" title="class or interface in java.awt">isFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusOwner()" title="class or interface in java.awt">isFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusTraversable()" title="class or interface in java.awt">isFocusTraversable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFontSet()" title="class or interface in java.awt">isFontSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isForegroundSet()" title="class or interface in java.awt">isForegroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isLightweight()" title="class or interface in java.awt">isLightweight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMaximumSizeSet()" title="class or interface in java.awt">isMaximumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMinimumSizeSet()" title="class or interface in java.awt">isMinimumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isPreferredSizeSet()" title="class or interface in java.awt">isPreferredSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isShowing()" title="class or interface in java.awt">isShowing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isValid()" title="class or interface in java.awt">isValid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isVisible()" title="class or interface in java.awt">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyDown(java.awt.Event, int)" title="class or interface in java.awt">keyDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyUp(java.awt.Event, int)" title="class or interface in java.awt">keyUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list()" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintStream)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintWriter)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#location()" title="class or interface in java.awt">location</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#lostFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">lostFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDown(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDrag(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDrag</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseEnter(java.awt.Event, int, int)" title="class or interface in java.awt">mouseEnter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseExit(java.awt.Event, int, int)" title="class or interface in java.awt">mouseExit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseMove(java.awt.Event, int, int)" title="class or interface in java.awt">mouseMove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseUp(java.awt.Event, int, int)" title="class or interface in java.awt">mouseUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#move(int, int)" title="class or interface in java.awt">move</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#nextFocus()" title="class or interface in java.awt">nextFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#paintAll(java.awt.Graphics)" title="class or interface in java.awt">paintAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processComponentEvent(java.awt.event.ComponentEvent)" title="class or interface in java.awt">processComponentEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processFocusEvent(java.awt.event.FocusEvent)" title="class or interface in java.awt">processFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyBoundsEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyBoundsEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processInputMethodEvent(java.awt.event.InputMethodEvent)" title="class or interface in java.awt">processInputMethodEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseWheelEvent(java.awt.event.MouseWheelEvent)" title="class or interface in java.awt">processMouseWheelEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#remove(java.awt.MenuComponent)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">removeComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">removeFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">removeHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">removeHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">removeInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">removeKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">removeMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">removeMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">removeMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint()" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(int, int, int, int)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(long)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(java.awt.Dimension)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(int, int)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBounds(int, int, int, int)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBounds(java.awt.Rectangle)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">setComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setCursor(java.awt.Cursor)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setDropTarget(java.awt.dnd.DropTarget)" title="class or interface in java.awt">setDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusable(boolean)" title="class or interface in java.awt">setFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusTraversalKeysEnabled(boolean)" title="class or interface in java.awt">setFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setIgnoreRepaint(boolean)" title="class or interface in java.awt">setIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocale(java.util.Locale)" title="class or interface in java.awt">setLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(int, int)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(java.awt.Point)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setName(java.lang.String)" title="class or interface in java.awt">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setSize(java.awt.Dimension)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setSize(int, int)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show()" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show(boolean)" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#size()" title="class or interface in java.awt">size</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#toString()" title="class or interface in java.awt">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocus()" title="class or interface in java.awt">transferFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocusUpCycle()" title="class or interface in java.awt">transferFocusUpCycle</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_model"><!-- --></A><H3> +_model</H3> +<PRE> +protected <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> <B>_model</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_rootAlreadyExpanded"><!-- --></A><H3> +_rootAlreadyExpanded</H3> +<PRE> +protected boolean <B>_rootAlreadyExpanded</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryExplorerTree(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)"><!-- --></A><H3> +CategoryExplorerTree</H3> +<PRE> +public <B>CategoryExplorerTree</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A>&nbsp;model)</PRE> +<DL> +<DD>Construct a CategoryExplorerTree with a specific model. +<P> +</DL> +<HR> + +<A NAME="CategoryExplorerTree()"><!-- --></A><H3> +CategoryExplorerTree</H3> +<PRE> +public <B>CategoryExplorerTree</B>()</PRE> +<DL> +<DD>Construct a CategoryExplorerTree and create a default CategoryExplorerModel. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getExplorerModel()"><!-- --></A><H3> +getExplorerModel</H3> +<PRE> +public <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> <B>getExplorerModel</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getToolTipText(java.awt.event.MouseEvent)"><!-- --></A><H3> +getToolTipText</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getToolTipText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/MouseEvent.html?is-external=true" title="class or interface in java.awt.event">MouseEvent</A>&nbsp;e)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true#getToolTipText(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getToolTipText</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="init()"><!-- --></A><H3> +init</H3> +<PRE> +protected void <B>init</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="expandRootNode()"><!-- --></A><H3> +expandRootNode</H3> +<PRE> +protected void <B>expandRootNode</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="ensureRootExpansion()"><!-- --></A><H3> +ensureRootExpansion</H3> +<PRE> +protected void <B>ensureRootExpansion</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryExplorerTree.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerTree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JTree">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html new file mode 100644 index 00000000000..15ada186caa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html @@ -0,0 +1,418 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryImmediateEditor (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryImmediateEditor (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryImmediateEditor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryImmediateEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.tree.DefaultTreeCellEditor">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryImmediateEditor</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">javax.swing.tree.DefaultTreeCellEditor</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryImmediateEditor</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventListener.html?is-external=true" title="class or interface in java.util">EventListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeSelectionListener.html?is-external=true" title="class or interface in javax.swing.event">TreeSelectionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellEditor</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CategoryImmediateEditor</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellEditor</A></DL> +</PRE> + +<P> +CategoryImmediateEditor +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +</DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.tree.DefaultTreeCellEditor"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellEditor</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.DefaultTextField.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellEditor.DefaultTextField</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.EditorContainer.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellEditor.EditorContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/Icon.html?is-external=true" title="class or interface in javax.swing">Icon</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#editingIcon">editingIcon</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.tree.DefaultTreeCellEditor"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellEditor</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#borderSelectionColor" title="class or interface in javax.swing.tree">borderSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#canEdit" title="class or interface in javax.swing.tree">canEdit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#editingComponent" title="class or interface in javax.swing.tree">editingComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#editingContainer" title="class or interface in javax.swing.tree">editingContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#font" title="class or interface in javax.swing.tree">font</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#lastPath" title="class or interface in javax.swing.tree">lastPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#lastRow" title="class or interface in javax.swing.tree">lastRow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#offset" title="class or interface in javax.swing.tree">offset</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#realEditor" title="class or interface in javax.swing.tree">realEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#timer" title="class or interface in javax.swing.tree">timer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#tree" title="class or interface in javax.swing.tree">tree</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#CategoryImmediateEditor(javax.swing.JTree, org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer, org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditor)">CategoryImmediateEditor</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A>&nbsp;renderer, + <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A>&nbsp;editor)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#canEditImmediately(java.util.EventObject)">canEditImmediately</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#determineOffset(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)">determineOffset</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;isSelected, + boolean&nbsp;expanded, + boolean&nbsp;leaf, + int&nbsp;row)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#inCheckBoxHitRegion(java.awt.event.MouseEvent)">inCheckBoxHitRegion</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/MouseEvent.html?is-external=true" title="class or interface in java.awt.event">MouseEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#shouldSelectCell(java.util.EventObject)">shouldSelectCell</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.tree.DefaultTreeCellEditor"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellEditor</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#actionPerformed(java.awt.event.ActionEvent)" title="class or interface in javax.swing.tree">actionPerformed</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#addCellEditorListener(javax.swing.event.CellEditorListener)" title="class or interface in javax.swing.tree">addCellEditorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#cancelCellEditing()" title="class or interface in javax.swing.tree">cancelCellEditing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#createContainer()" title="class or interface in javax.swing.tree">createContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#createTreeCellEditor()" title="class or interface in javax.swing.tree">createTreeCellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#getBorderSelectionColor()" title="class or interface in javax.swing.tree">getBorderSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#getCellEditorListeners()" title="class or interface in javax.swing.tree">getCellEditorListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#getCellEditorValue()" title="class or interface in javax.swing.tree">getCellEditorValue</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#getFont()" title="class or interface in javax.swing.tree">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#getTreeCellEditorComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)" title="class or interface in javax.swing.tree">getTreeCellEditorComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#inHitRegion(int, int)" title="class or interface in javax.swing.tree">inHitRegion</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#isCellEditable(java.util.EventObject)" title="class or interface in javax.swing.tree">isCellEditable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#prepareForEditing()" title="class or interface in javax.swing.tree">prepareForEditing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#removeCellEditorListener(javax.swing.event.CellEditorListener)" title="class or interface in javax.swing.tree">removeCellEditorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#setBorderSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setBorderSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#setFont(java.awt.Font)" title="class or interface in javax.swing.tree">setFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#setTree(javax.swing.JTree)" title="class or interface in javax.swing.tree">setTree</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#shouldStartEditingTimer(java.util.EventObject)" title="class or interface in javax.swing.tree">shouldStartEditingTimer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#startEditingTimer()" title="class or interface in javax.swing.tree">startEditingTimer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#stopCellEditing()" title="class or interface in javax.swing.tree">stopCellEditing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#valueChanged(javax.swing.event.TreeSelectionEvent)" title="class or interface in javax.swing.tree">valueChanged</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="editingIcon"><!-- --></A><H3> +editingIcon</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/Icon.html?is-external=true" title="class or interface in javax.swing">Icon</A> <B>editingIcon</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryImmediateEditor(javax.swing.JTree, org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer, org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditor)"><!-- --></A><H3> +CategoryImmediateEditor</H3> +<PRE> +public <B>CategoryImmediateEditor</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A>&nbsp;renderer, + <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A>&nbsp;editor)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="shouldSelectCell(java.util.EventObject)"><!-- --></A><H3> +shouldSelectCell</H3> +<PRE> +public boolean <B>shouldSelectCell</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</A>&nbsp;e)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true#shouldSelectCell(java.util.EventObject)" title="class or interface in javax.swing">shouldSelectCell</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#shouldSelectCell(java.util.EventObject)" title="class or interface in javax.swing.tree">shouldSelectCell</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="inCheckBoxHitRegion(java.awt.event.MouseEvent)"><!-- --></A><H3> +inCheckBoxHitRegion</H3> +<PRE> +public boolean <B>inCheckBoxHitRegion</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/MouseEvent.html?is-external=true" title="class or interface in java.awt.event">MouseEvent</A>&nbsp;e)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="canEditImmediately(java.util.EventObject)"><!-- --></A><H3> +canEditImmediately</H3> +<PRE> +protected boolean <B>canEditImmediately</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventObject.html?is-external=true" title="class or interface in java.util">EventObject</A>&nbsp;e)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#canEditImmediately(java.util.EventObject)" title="class or interface in javax.swing.tree">canEditImmediately</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="determineOffset(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)"><!-- --></A><H3> +determineOffset</H3> +<PRE> +protected void <B>determineOffset</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;isSelected, + boolean&nbsp;expanded, + boolean&nbsp;leaf, + int&nbsp;row)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true#determineOffset(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)" title="class or interface in javax.swing.tree">determineOffset</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryImmediateEditor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryImmediateEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.tree.DefaultTreeCellEditor">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html new file mode 100644 index 00000000000..553858902dd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html @@ -0,0 +1,748 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryNode (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryNode (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryNode</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree">javax.swing.tree.DefaultMutableTreeNode</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/MutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree">MutableTreeNode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html?is-external=true" title="class or interface in javax.swing.tree">TreeNode</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CategoryNode</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree">DefaultMutableTreeNode</A></DL> +</PRE> + +<P> +CategoryNode +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#_hasFatalChildren">_hasFatalChildren</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#_hasFatalRecords">_hasFatalRecords</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#_numberOfContainedRecords">_numberOfContainedRecords</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#_numberOfRecordsFromChildren">_numberOfRecordsFromChildren</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#_selected">_selected</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.tree.DefaultMutableTreeNode"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree">DefaultMutableTreeNode</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#allowsChildren" title="class or interface in javax.swing.tree">allowsChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#children" title="class or interface in javax.swing.tree">children</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#EMPTY_ENUMERATION" title="class or interface in javax.swing.tree">EMPTY_ENUMERATION</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#parent" title="class or interface in javax.swing.tree">parent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#userObject" title="class or interface in javax.swing.tree">userObject</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#CategoryNode(java.lang.String)">CategoryNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#addRecord()">addRecord</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#addRecordFromChild()">addRecordFromChild</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Passes up the addition from child to parent</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#addRecordToParent()">addRecordToParent</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#getNumberOfContainedRecords()">getNumberOfContainedRecords</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#getNumberOfRecordsFromChildren()">getNumberOfRecordsFromChildren</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#getTitle()">getTitle</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#getTotalNumberOfRecords()">getTotalNumberOfRecords</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#hasFatalChildren()">hasFatalChildren</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#hasFatalRecords()">hasFatalRecords</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#hashCode()">hashCode</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#isSelected()">isSelected</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#resetNumberOfContainedRecords()">resetNumberOfContainedRecords</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setAllDescendantsDeSelected()">setAllDescendantsDeSelected</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I></I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setAllDescendantsSelected()">setAllDescendantsSelected</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I></I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setHasFatalChildren(boolean)">setHasFatalChildren</A></B>(boolean&nbsp;flag)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setHasFatalRecords(boolean)">setHasFatalRecords</A></B>(boolean&nbsp;flag)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setSelected(boolean)">setSelected</A></B>(boolean&nbsp;s)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#toString()">toString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.tree.DefaultMutableTreeNode"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree">DefaultMutableTreeNode</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#add(javax.swing.tree.MutableTreeNode)" title="class or interface in javax.swing.tree">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#breadthFirstEnumeration()" title="class or interface in javax.swing.tree">breadthFirstEnumeration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#children()" title="class or interface in javax.swing.tree">children</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#clone()" title="class or interface in javax.swing.tree">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#depthFirstEnumeration()" title="class or interface in javax.swing.tree">depthFirstEnumeration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getAllowsChildren()" title="class or interface in javax.swing.tree">getAllowsChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getChildAfter(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">getChildAfter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getChildAt(int)" title="class or interface in javax.swing.tree">getChildAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getChildBefore(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">getChildBefore</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getChildCount()" title="class or interface in javax.swing.tree">getChildCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getDepth()" title="class or interface in javax.swing.tree">getDepth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getFirstChild()" title="class or interface in javax.swing.tree">getFirstChild</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getFirstLeaf()" title="class or interface in javax.swing.tree">getFirstLeaf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getIndex(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">getIndex</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getLastChild()" title="class or interface in javax.swing.tree">getLastChild</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getLastLeaf()" title="class or interface in javax.swing.tree">getLastLeaf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getLeafCount()" title="class or interface in javax.swing.tree">getLeafCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getLevel()" title="class or interface in javax.swing.tree">getLevel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getNextLeaf()" title="class or interface in javax.swing.tree">getNextLeaf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getNextNode()" title="class or interface in javax.swing.tree">getNextNode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getNextSibling()" title="class or interface in javax.swing.tree">getNextSibling</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getParent()" title="class or interface in javax.swing.tree">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getPath()" title="class or interface in javax.swing.tree">getPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getPathToRoot(javax.swing.tree.TreeNode, int)" title="class or interface in javax.swing.tree">getPathToRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getPreviousLeaf()" title="class or interface in javax.swing.tree">getPreviousLeaf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getPreviousNode()" title="class or interface in javax.swing.tree">getPreviousNode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getPreviousSibling()" title="class or interface in javax.swing.tree">getPreviousSibling</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getRoot()" title="class or interface in javax.swing.tree">getRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)" title="class or interface in javax.swing.tree">getSharedAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getSiblingCount()" title="class or interface in javax.swing.tree">getSiblingCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getUserObject()" title="class or interface in javax.swing.tree">getUserObject</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#getUserObjectPath()" title="class or interface in javax.swing.tree">getUserObjectPath</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#insert(javax.swing.tree.MutableTreeNode, int)" title="class or interface in javax.swing.tree">insert</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#isLeaf()" title="class or interface in javax.swing.tree">isLeaf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#isNodeAncestor(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">isNodeAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#isNodeChild(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">isNodeChild</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)" title="class or interface in javax.swing.tree">isNodeDescendant</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#isNodeRelated(javax.swing.tree.DefaultMutableTreeNode)" title="class or interface in javax.swing.tree">isNodeRelated</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#isNodeSibling(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">isNodeSibling</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#isRoot()" title="class or interface in javax.swing.tree">isRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#pathFromAncestorEnumeration(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">pathFromAncestorEnumeration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#postorderEnumeration()" title="class or interface in javax.swing.tree">postorderEnumeration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#preorderEnumeration()" title="class or interface in javax.swing.tree">preorderEnumeration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#remove(int)" title="class or interface in javax.swing.tree">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#remove(javax.swing.tree.MutableTreeNode)" title="class or interface in javax.swing.tree">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#removeAllChildren()" title="class or interface in javax.swing.tree">removeAllChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#removeFromParent()" title="class or interface in javax.swing.tree">removeFromParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#setAllowsChildren(boolean)" title="class or interface in javax.swing.tree">setAllowsChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#setParent(javax.swing.tree.MutableTreeNode)" title="class or interface in javax.swing.tree">setParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#setUserObject(java.lang.Object)" title="class or interface in javax.swing.tree">setUserObject</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_selected"><!-- --></A><H3> +_selected</H3> +<PRE> +protected boolean <B>_selected</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_numberOfContainedRecords"><!-- --></A><H3> +_numberOfContainedRecords</H3> +<PRE> +protected int <B>_numberOfContainedRecords</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_numberOfRecordsFromChildren"><!-- --></A><H3> +_numberOfRecordsFromChildren</H3> +<PRE> +protected int <B>_numberOfRecordsFromChildren</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_hasFatalChildren"><!-- --></A><H3> +_hasFatalChildren</H3> +<PRE> +protected boolean <B>_hasFatalChildren</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_hasFatalRecords"><!-- --></A><H3> +_hasFatalRecords</H3> +<PRE> +protected boolean <B>_hasFatalRecords</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryNode(java.lang.String)"><!-- --></A><H3> +CategoryNode</H3> +<PRE> +public <B>CategoryNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;title)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getTitle()"><!-- --></A><H3> +getTitle</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getTitle</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSelected(boolean)"><!-- --></A><H3> +setSelected</H3> +<PRE> +public void <B>setSelected</B>(boolean&nbsp;s)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isSelected()"><!-- --></A><H3> +isSelected</H3> +<PRE> +public boolean <B>isSelected</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAllDescendantsSelected()"><!-- --></A><H3> +setAllDescendantsSelected</H3> +<PRE> +public void <B>setAllDescendantsSelected</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I></I> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAllDescendantsDeSelected()"><!-- --></A><H3> +setAllDescendantsDeSelected</H3> +<PRE> +public void <B>setAllDescendantsDeSelected</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I></I> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toString()"><!-- --></A><H3> +toString</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true#toString()" title="class or interface in javax.swing.tree">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree">DefaultMutableTreeNode</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="equals(java.lang.Object)"><!-- --></A><H3> +equals</H3> +<PRE> +public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hashCode()"><!-- --></A><H3> +hashCode</H3> +<PRE> +public int <B>hashCode</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addRecord()"><!-- --></A><H3> +addRecord</H3> +<PRE> +public void <B>addRecord</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getNumberOfContainedRecords()"><!-- --></A><H3> +getNumberOfContainedRecords</H3> +<PRE> +public int <B>getNumberOfContainedRecords</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resetNumberOfContainedRecords()"><!-- --></A><H3> +resetNumberOfContainedRecords</H3> +<PRE> +public void <B>resetNumberOfContainedRecords</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hasFatalRecords()"><!-- --></A><H3> +hasFatalRecords</H3> +<PRE> +public boolean <B>hasFatalRecords</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hasFatalChildren()"><!-- --></A><H3> +hasFatalChildren</H3> +<PRE> +public boolean <B>hasFatalChildren</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setHasFatalRecords(boolean)"><!-- --></A><H3> +setHasFatalRecords</H3> +<PRE> +public void <B>setHasFatalRecords</B>(boolean&nbsp;flag)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setHasFatalChildren(boolean)"><!-- --></A><H3> +setHasFatalChildren</H3> +<PRE> +public void <B>setHasFatalChildren</B>(boolean&nbsp;flag)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTotalNumberOfRecords()"><!-- --></A><H3> +getTotalNumberOfRecords</H3> +<PRE> +protected int <B>getTotalNumberOfRecords</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addRecordFromChild()"><!-- --></A><H3> +addRecordFromChild</H3> +<PRE> +protected void <B>addRecordFromChild</B>()</PRE> +<DL> +<DD>Passes up the addition from child to parent +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getNumberOfRecordsFromChildren()"><!-- --></A><H3> +getNumberOfRecordsFromChildren</H3> +<PRE> +protected int <B>getNumberOfRecordsFromChildren</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addRecordToParent()"><!-- --></A><H3> +addRecordToParent</H3> +<PRE> +protected void <B>addRecordToParent</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html new file mode 100644 index 00000000000..3db70c22f7c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html @@ -0,0 +1,727 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryNodeEditor (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryNodeEditor (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryNodeEditor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryNodeEditor</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryAbstractCellEditor</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditor</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellEditor.html?is-external=true" title="class or interface in javax.swing.table">TableCellEditor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellEditor</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CategoryNodeEditor</B><DT>extends <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A></DL> +</PRE> + +<P> +CategoryNodeEditor +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_categoryModel">_categoryModel</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBox.html?is-external=true" title="class or interface in javax.swing">JCheckBox</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_checkBox">_checkBox</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_lastEditedNode">_lastEditedNode</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_renderer">_renderer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_tree">_tree</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.lf5.viewer.categoryexplorer.CategoryAbstractCellEditor"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_changeEvent">_changeEvent</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_clickCountToStart">_clickCountToStart</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_listenerList">_listenerList</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#_value">_value</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#CategoryNodeEditor(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)">CategoryNodeEditor</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A>&nbsp;model)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#collapse(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">collapse</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#collapseDescendants(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">collapseDescendants</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createCollapseMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">createCollapseMenuItem</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createExpandMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">createExpandMenuItem</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createPropertiesMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">createPropertiesMenuItem</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createRemoveMenuItem()">createRemoveMenuItem</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This featured was moved from the LogBrokerMonitor class + to the CategoryNodeExplorer so that the Category tree + could be pruned from the Category Explorer popup menu.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createSelectDescendantsMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">createSelectDescendantsMenuItem</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createUnselectDescendantsMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">createUnselectDescendantsMenuItem</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#expand(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">expand</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#expandDescendants(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">expandDescendants</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#getCellEditorValue()">getCellEditorValue</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#getDisplayedProperties(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">getDisplayedProperties</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#getTreeCellEditorComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)">getTreeCellEditorComponent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;selected, + boolean&nbsp;expanded, + boolean&nbsp;leaf, + int&nbsp;row)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreePath.html?is-external=true" title="class or interface in javax.swing.tree">TreePath</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#getTreePath(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">getTreePath</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#removeUnusedNodes()">removeUnusedNodes</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes any inactive nodes from the Category tree.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#showPopup(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, int, int)">showPopup</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + int&nbsp;x, + int&nbsp;y)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#showPropertiesDialog(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">showPropertiesDialog</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.lf5.viewer.categoryexplorer.CategoryAbstractCellEditor"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#addCellEditorListener(javax.swing.event.CellEditorListener)">addCellEditorListener</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#cancelCellEditing()">cancelCellEditing</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#fireEditingCanceled()">fireEditingCanceled</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#fireEditingStopped()">fireEditingStopped</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getClickCountToStart()">getClickCountToStart</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int)">getTableCellEditorComponent</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#isCellEditable(java.util.EventObject)">isCellEditable</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#removeCellEditorListener(javax.swing.event.CellEditorListener)">removeCellEditorListener</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#setCellEditorValue(java.lang.Object)">setCellEditorValue</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#setClickCountToStart(int)">setClickCountToStart</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#shouldSelectCell(java.util.EventObject)">shouldSelectCell</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#stopCellEditing()">stopCellEditing</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_renderer"><!-- --></A><H3> +_renderer</H3> +<PRE> +protected <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A> <B>_renderer</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_lastEditedNode"><!-- --></A><H3> +_lastEditedNode</H3> +<PRE> +protected <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> <B>_lastEditedNode</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_checkBox"><!-- --></A><H3> +_checkBox</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBox.html?is-external=true" title="class or interface in javax.swing">JCheckBox</A> <B>_checkBox</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_categoryModel"><!-- --></A><H3> +_categoryModel</H3> +<PRE> +protected <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> <B>_categoryModel</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_tree"><!-- --></A><H3> +_tree</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A> <B>_tree</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryNodeEditor(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)"><!-- --></A><H3> +CategoryNodeEditor</H3> +<PRE> +public <B>CategoryNodeEditor</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A>&nbsp;model)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getTreeCellEditorComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)"><!-- --></A><H3> +getTreeCellEditorComponent</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A> <B>getTreeCellEditorComponent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;selected, + boolean&nbsp;expanded, + boolean&nbsp;leaf, + int&nbsp;row)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true#getTreeCellEditorComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)" title="class or interface in javax.swing.tree">getTreeCellEditorComponent</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellEditor</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getTreeCellEditorComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int)">getTreeCellEditorComponent</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCellEditorValue()"><!-- --></A><H3> +getCellEditorValue</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getCellEditorValue</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true#getCellEditorValue()" title="class or interface in javax.swing">getCellEditorValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/CellEditor.html?is-external=true" title="class or interface in javax.swing">CellEditor</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html#getCellEditorValue()">getCellEditorValue</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createPropertiesMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +createPropertiesMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createPropertiesMenuItem</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="showPropertiesDialog(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +showPropertiesDialog</H3> +<PRE> +protected void <B>showPropertiesDialog</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDisplayedProperties(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +getDisplayedProperties</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getDisplayedProperties</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="showPopup(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, int, int)"><!-- --></A><H3> +showPopup</H3> +<PRE> +protected void <B>showPopup</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + int&nbsp;x, + int&nbsp;y)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createSelectDescendantsMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +createSelectDescendantsMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createSelectDescendantsMenuItem</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createUnselectDescendantsMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +createUnselectDescendantsMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createUnselectDescendantsMenuItem</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createExpandMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +createExpandMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createExpandMenuItem</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createCollapseMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +createCollapseMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createCollapseMenuItem</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createRemoveMenuItem()"><!-- --></A><H3> +createRemoveMenuItem</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A> <B>createRemoveMenuItem</B>()</PRE> +<DL> +<DD>This featured was moved from the LogBrokerMonitor class + to the CategoryNodeExplorer so that the Category tree + could be pruned from the Category Explorer popup menu. + This menu option only appears when a user right clicks on + the Category parent node. + + See removeUnusedNodes() +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="expandDescendants(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +expandDescendants</H3> +<PRE> +protected void <B>expandDescendants</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="collapseDescendants(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +collapseDescendants</H3> +<PRE> +protected void <B>collapseDescendants</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeUnusedNodes()"><!-- --></A><H3> +removeUnusedNodes</H3> +<PRE> +protected int <B>removeUnusedNodes</B>()</PRE> +<DL> +<DD>Removes any inactive nodes from the Category tree. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="expand(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +expand</H3> +<PRE> +protected void <B>expand</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTreePath(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +getTreePath</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreePath.html?is-external=true" title="class or interface in javax.swing.tree">TreePath</A> <B>getTreePath</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="collapse(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +collapse</H3> +<PRE> +protected void <B>collapse</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryNodeEditor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html new file mode 100644 index 00000000000..15cb3ea13e5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html @@ -0,0 +1,479 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryNodeEditorRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryNodeEditorRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryNodeEditorRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeEditorRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JLabel">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryNodeEditorRenderer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">javax.swing.JComponent</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">javax.swing.JLabel</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">javax.swing.tree.DefaultTreeCellRenderer</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditorRenderer</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true" title="class or interface in javax.swing">SwingConstants</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellRenderer</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CategoryNodeEditorRenderer</B><DT>extends <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A></DL> +</PRE> + +<P> +CategoryNodeEditorRenderer +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditorRenderer">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JLabel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.AccessibleJLabel.html?is-external=true" title="class or interface in javax.swing">JLabel.AccessibleJLabel</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.AccessibleJComponent.html?is-external=true" title="class or interface in javax.swing">JComponent.AccessibleJComponent</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BltBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.BltBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.FlipBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.FlipBufferStrategy</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#_checkBox">_checkBox</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#_panel">_panel</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#_sat">_sat</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#FATAL_CHILDREN">FATAL_CHILDREN</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.tree.DefaultTreeCellRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellRenderer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#backgroundNonSelectionColor" title="class or interface in javax.swing.tree">backgroundNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#backgroundSelectionColor" title="class or interface in javax.swing.tree">backgroundSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#borderSelectionColor" title="class or interface in javax.swing.tree">borderSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#closedIcon" title="class or interface in javax.swing.tree">closedIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#hasFocus" title="class or interface in javax.swing.tree">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#leafIcon" title="class or interface in javax.swing.tree">leafIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#openIcon" title="class or interface in javax.swing.tree">openIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#selected" title="class or interface in javax.swing.tree">selected</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#textNonSelectionColor" title="class or interface in javax.swing.tree">textNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#textSelectionColor" title="class or interface in javax.swing.tree">textSelectionColor</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JLabel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#labelFor" title="class or interface in javax.swing">labelFor</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#listenerList" title="class or interface in javax.swing">listenerList</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#TOOL_TIP_TEXT_KEY" title="class or interface in javax.swing">TOOL_TIP_TEXT_KEY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#ui" title="class or interface in javax.swing">ui</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#UNDEFINED_CONDITION" title="class or interface in javax.swing">UNDEFINED_CONDITION</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_ANCESTOR_OF_FOCUSED_COMPONENT" title="class or interface in javax.swing">WHEN_ANCESTOR_OF_FOCUSED_COMPONENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_FOCUSED" title="class or interface in javax.swing">WHEN_FOCUSED</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_IN_FOCUSED_WINDOW" title="class or interface in javax.swing">WHEN_IN_FOCUSED_WINDOW</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt">LEFT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#RIGHT_ALIGNMENT" title="class or interface in java.awt">RIGHT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#TOP_ALIGNMENT" title="class or interface in java.awt">TOP_ALIGNMENT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.SwingConstants"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true" title="class or interface in javax.swing">SwingConstants</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#BOTTOM" title="class or interface in javax.swing">BOTTOM</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#CENTER" title="class or interface in javax.swing">CENTER</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#EAST" title="class or interface in javax.swing">EAST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#HORIZONTAL" title="class or interface in javax.swing">HORIZONTAL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#LEADING" title="class or interface in javax.swing">LEADING</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#LEFT" title="class or interface in javax.swing">LEFT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NEXT" title="class or interface in javax.swing">NEXT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NORTH" title="class or interface in javax.swing">NORTH</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NORTH_EAST" title="class or interface in javax.swing">NORTH_EAST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NORTH_WEST" title="class or interface in javax.swing">NORTH_WEST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#PREVIOUS" title="class or interface in javax.swing">PREVIOUS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#RIGHT" title="class or interface in javax.swing">RIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#SOUTH" title="class or interface in javax.swing">SOUTH</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#SOUTH_EAST" title="class or interface in javax.swing">SOUTH_EAST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#SOUTH_WEST" title="class or interface in javax.swing">SOUTH_WEST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#TOP" title="class or interface in javax.swing">TOP</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#TRAILING" title="class or interface in javax.swing">TRAILING</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#VERTICAL" title="class or interface in javax.swing">VERTICAL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#WEST" title="class or interface in javax.swing">WEST</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image">ERROR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#FRAMEBITS" title="class or interface in java.awt.image">FRAMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#HEIGHT" title="class or interface in java.awt.image">HEIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#PROPERTIES" title="class or interface in java.awt.image">PROPERTIES</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#SOMEBITS" title="class or interface in java.awt.image">SOMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#WIDTH" title="class or interface in java.awt.image">WIDTH</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html#CategoryNodeEditorRenderer()">CategoryNodeEditorRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBox.html?is-external=true" title="class or interface in javax.swing">JCheckBox</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html#getCheckBox()">getCheckBox</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)">getTreeCellRendererComponent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;selected, + boolean&nbsp;expanded, + boolean&nbsp;leaf, + int&nbsp;row, + boolean&nbsp;hasFocus)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#buildToolTip(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">buildToolTip</A>, <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#getCheckBoxOffset()">getCheckBoxOffset</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.tree.DefaultTreeCellRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellRenderer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, byte, byte)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, char, char)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, double, double)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, float, float)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, int, int)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, long, long)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, short, short)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getBackgroundNonSelectionColor()" title="class or interface in javax.swing.tree">getBackgroundNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getBackgroundSelectionColor()" title="class or interface in javax.swing.tree">getBackgroundSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getBorderSelectionColor()" title="class or interface in javax.swing.tree">getBorderSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getClosedIcon()" title="class or interface in javax.swing.tree">getClosedIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getDefaultClosedIcon()" title="class or interface in javax.swing.tree">getDefaultClosedIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getDefaultLeafIcon()" title="class or interface in javax.swing.tree">getDefaultLeafIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getDefaultOpenIcon()" title="class or interface in javax.swing.tree">getDefaultOpenIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getFont()" title="class or interface in javax.swing.tree">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getLeafIcon()" title="class or interface in javax.swing.tree">getLeafIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getOpenIcon()" title="class or interface in javax.swing.tree">getOpenIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getPreferredSize()" title="class or interface in javax.swing.tree">getPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getTextNonSelectionColor()" title="class or interface in javax.swing.tree">getTextNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getTextSelectionColor()" title="class or interface in javax.swing.tree">getTextSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#invalidate()" title="class or interface in javax.swing.tree">invalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#paint(java.awt.Graphics)" title="class or interface in javax.swing.tree">paint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#repaint()" title="class or interface in javax.swing.tree">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#repaint(long, int, int, int, int)" title="class or interface in javax.swing.tree">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#repaint(java.awt.Rectangle)" title="class or interface in javax.swing.tree">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#revalidate()" title="class or interface in javax.swing.tree">revalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setBackground(java.awt.Color)" title="class or interface in javax.swing.tree">setBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setBackgroundNonSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setBackgroundNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setBackgroundSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setBackgroundSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setBorderSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setBorderSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setClosedIcon(javax.swing.Icon)" title="class or interface in javax.swing.tree">setClosedIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setFont(java.awt.Font)" title="class or interface in javax.swing.tree">setFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setLeafIcon(javax.swing.Icon)" title="class or interface in javax.swing.tree">setLeafIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setOpenIcon(javax.swing.Icon)" title="class or interface in javax.swing.tree">setOpenIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setTextNonSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setTextNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setTextSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setTextSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#validate()" title="class or interface in javax.swing.tree">validate</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JLabel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#checkHorizontalKey(int, java.lang.String)" title="class or interface in javax.swing">checkHorizontalKey</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#checkVerticalKey(int, java.lang.String)" title="class or interface in javax.swing">checkVerticalKey</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getDisabledIcon()" title="class or interface in javax.swing">getDisabledIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getDisplayedMnemonic()" title="class or interface in javax.swing">getDisplayedMnemonic</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getDisplayedMnemonicIndex()" title="class or interface in javax.swing">getDisplayedMnemonicIndex</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getHorizontalAlignment()" title="class or interface in javax.swing">getHorizontalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getHorizontalTextPosition()" title="class or interface in javax.swing">getHorizontalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getIcon()" title="class or interface in javax.swing">getIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getIconTextGap()" title="class or interface in javax.swing">getIconTextGap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getLabelFor()" title="class or interface in javax.swing">getLabelFor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getText()" title="class or interface in javax.swing">getText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getUI()" title="class or interface in javax.swing">getUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getUIClassID()" title="class or interface in javax.swing">getUIClassID</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getVerticalAlignment()" title="class or interface in javax.swing">getVerticalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getVerticalTextPosition()" title="class or interface in javax.swing">getVerticalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#imageUpdate(java.awt.Image, int, int, int, int, int)" title="class or interface in javax.swing">imageUpdate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#paramString()" title="class or interface in javax.swing">paramString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisabledIcon(javax.swing.Icon)" title="class or interface in javax.swing">setDisabledIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisplayedMnemonic(char)" title="class or interface in javax.swing">setDisplayedMnemonic</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisplayedMnemonic(int)" title="class or interface in javax.swing">setDisplayedMnemonic</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisplayedMnemonicIndex(int)" title="class or interface in javax.swing">setDisplayedMnemonicIndex</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setHorizontalAlignment(int)" title="class or interface in javax.swing">setHorizontalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setHorizontalTextPosition(int)" title="class or interface in javax.swing">setHorizontalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setIcon(javax.swing.Icon)" title="class or interface in javax.swing">setIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setIconTextGap(int)" title="class or interface in javax.swing">setIconTextGap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setLabelFor(java.awt.Component)" title="class or interface in javax.swing">setLabelFor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setText(java.lang.String)" title="class or interface in javax.swing">setText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setUI(javax.swing.plaf.LabelUI)" title="class or interface in javax.swing">setUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setVerticalAlignment(int)" title="class or interface in javax.swing">setVerticalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setVerticalTextPosition(int)" title="class or interface in javax.swing">setVerticalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#updateUI()" title="class or interface in javax.swing">updateUI</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">addAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addNotify()" title="class or interface in javax.swing">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addVetoableChangeListener(java.beans.VetoableChangeListener)" title="class or interface in javax.swing">addVetoableChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#computeVisibleRect(java.awt.Rectangle)" title="class or interface in javax.swing">computeVisibleRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#contains(int, int)" title="class or interface in javax.swing">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#createToolTip()" title="class or interface in javax.swing">createToolTip</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#disable()" title="class or interface in javax.swing">disable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#enable()" title="class or interface in javax.swing">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#fireVetoableChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in javax.swing">fireVetoableChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getActionForKeyStroke(javax.swing.KeyStroke)" title="class or interface in javax.swing">getActionForKeyStroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getActionMap()" title="class or interface in javax.swing">getActionMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAlignmentX()" title="class or interface in javax.swing">getAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAlignmentY()" title="class or interface in javax.swing">getAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAncestorListeners()" title="class or interface in javax.swing">getAncestorListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAutoscrolls()" title="class or interface in javax.swing">getAutoscrolls</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBaseline(int, int)" title="class or interface in javax.swing">getBaseline</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBaselineResizeBehavior()" title="class or interface in javax.swing">getBaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBorder()" title="class or interface in javax.swing">getBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBounds(java.awt.Rectangle)" title="class or interface in javax.swing">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getClientProperty(java.lang.Object)" title="class or interface in javax.swing">getClientProperty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getComponentGraphics(java.awt.Graphics)" title="class or interface in javax.swing">getComponentGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getComponentPopupMenu()" title="class or interface in javax.swing">getComponentPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getConditionForKeyStroke(javax.swing.KeyStroke)" title="class or interface in javax.swing">getConditionForKeyStroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getDebugGraphicsOptions()" title="class or interface in javax.swing">getDebugGraphicsOptions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getDefaultLocale()" title="class or interface in javax.swing">getDefaultLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getFontMetrics(java.awt.Font)" title="class or interface in javax.swing">getFontMetrics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getGraphics()" title="class or interface in javax.swing">getGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getHeight()" title="class or interface in javax.swing">getHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInheritsPopupMenu()" title="class or interface in javax.swing">getInheritsPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputMap()" title="class or interface in javax.swing">getInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputMap(int)" title="class or interface in javax.swing">getInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputVerifier()" title="class or interface in javax.swing">getInputVerifier</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInsets()" title="class or interface in javax.swing">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInsets(java.awt.Insets)" title="class or interface in javax.swing">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in javax.swing">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getLocation(java.awt.Point)" title="class or interface in javax.swing">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getMaximumSize()" title="class or interface in javax.swing">getMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getMinimumSize()" title="class or interface in javax.swing">getMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getNextFocusableComponent()" title="class or interface in javax.swing">getNextFocusableComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getPopupLocation(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getPopupLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getRegisteredKeyStrokes()" title="class or interface in javax.swing">getRegisteredKeyStrokes</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getRootPane()" title="class or interface in javax.swing">getRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getSize(java.awt.Dimension)" title="class or interface in javax.swing">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipLocation(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getToolTipLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipText()" title="class or interface in javax.swing">getToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipText(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getTopLevelAncestor()" title="class or interface in javax.swing">getTopLevelAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getTransferHandler()" title="class or interface in javax.swing">getTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVerifyInputWhenFocusTarget()" title="class or interface in javax.swing">getVerifyInputWhenFocusTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVetoableChangeListeners()" title="class or interface in javax.swing">getVetoableChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVisibleRect()" title="class or interface in javax.swing">getVisibleRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getWidth()" title="class or interface in javax.swing">getWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getX()" title="class or interface in javax.swing">getX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getY()" title="class or interface in javax.swing">getY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#grabFocus()" title="class or interface in javax.swing">grabFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isDoubleBuffered()" title="class or interface in javax.swing">isDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isLightweightComponent(java.awt.Component)" title="class or interface in javax.swing">isLightweightComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isManagingFocus()" title="class or interface in javax.swing">isManagingFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isOpaque()" title="class or interface in javax.swing">isOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isOptimizedDrawingEnabled()" title="class or interface in javax.swing">isOptimizedDrawingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isPaintingForPrint()" title="class or interface in javax.swing">isPaintingForPrint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isPaintingTile()" title="class or interface in javax.swing">isPaintingTile</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isRequestFocusEnabled()" title="class or interface in javax.swing">isRequestFocusEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isValidateRoot()" title="class or interface in javax.swing">isValidateRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintBorder(java.awt.Graphics)" title="class or interface in javax.swing">paintBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintChildren(java.awt.Graphics)" title="class or interface in javax.swing">paintChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintComponent(java.awt.Graphics)" title="class or interface in javax.swing">paintComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintImmediately(int, int, int, int)" title="class or interface in javax.swing">paintImmediately</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintImmediately(java.awt.Rectangle)" title="class or interface in javax.swing">paintImmediately</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#print(java.awt.Graphics)" title="class or interface in javax.swing">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printAll(java.awt.Graphics)" title="class or interface in javax.swing">printAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printBorder(java.awt.Graphics)" title="class or interface in javax.swing">printBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printChildren(java.awt.Graphics)" title="class or interface in javax.swing">printChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printComponent(java.awt.Graphics)" title="class or interface in javax.swing">printComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processComponentKeyEvent(java.awt.event.KeyEvent)" title="class or interface in javax.swing">processComponentKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processKeyBinding(javax.swing.KeyStroke, java.awt.event.KeyEvent, int, boolean)" title="class or interface in javax.swing">processKeyBinding</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processKeyEvent(java.awt.event.KeyEvent)" title="class or interface in javax.swing">processKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processMouseEvent(java.awt.event.MouseEvent)" title="class or interface in javax.swing">processMouseEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processMouseMotionEvent(java.awt.event.MouseEvent)" title="class or interface in javax.swing">processMouseMotionEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#putClientProperty(java.lang.Object, java.lang.Object)" title="class or interface in javax.swing">putClientProperty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#registerKeyboardAction(java.awt.event.ActionListener, javax.swing.KeyStroke, int)" title="class or interface in javax.swing">registerKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)" title="class or interface in javax.swing">registerKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">removeAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeNotify()" title="class or interface in javax.swing">removeNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeVetoableChangeListener(java.beans.VetoableChangeListener)" title="class or interface in javax.swing">removeVetoableChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestDefaultFocus()" title="class or interface in javax.swing">requestDefaultFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocus()" title="class or interface in javax.swing">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocus(boolean)" title="class or interface in javax.swing">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocusInWindow()" title="class or interface in javax.swing">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocusInWindow(boolean)" title="class or interface in javax.swing">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#resetKeyboardActions()" title="class or interface in javax.swing">resetKeyboardActions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#reshape(int, int, int, int)" title="class or interface in javax.swing">reshape</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#scrollRectToVisible(java.awt.Rectangle)" title="class or interface in javax.swing">scrollRectToVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setActionMap(javax.swing.ActionMap)" title="class or interface in javax.swing">setActionMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAlignmentX(float)" title="class or interface in javax.swing">setAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAlignmentY(float)" title="class or interface in javax.swing">setAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAutoscrolls(boolean)" title="class or interface in javax.swing">setAutoscrolls</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setBorder(javax.swing.border.Border)" title="class or interface in javax.swing">setBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setComponentPopupMenu(javax.swing.JPopupMenu)" title="class or interface in javax.swing">setComponentPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDebugGraphicsOptions(int)" title="class or interface in javax.swing">setDebugGraphicsOptions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDefaultLocale(java.util.Locale)" title="class or interface in javax.swing">setDefaultLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDoubleBuffered(boolean)" title="class or interface in javax.swing">setDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setEnabled(boolean)" title="class or interface in javax.swing">setEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setFocusTraversalKeys(int, java.util.Set)" title="class or interface in javax.swing">setFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setForeground(java.awt.Color)" title="class or interface in javax.swing">setForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInheritsPopupMenu(boolean)" title="class or interface in javax.swing">setInheritsPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInputMap(int, javax.swing.InputMap)" title="class or interface in javax.swing">setInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInputVerifier(javax.swing.InputVerifier)" title="class or interface in javax.swing">setInputVerifier</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setMaximumSize(java.awt.Dimension)" title="class or interface in javax.swing">setMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setMinimumSize(java.awt.Dimension)" title="class or interface in javax.swing">setMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setNextFocusableComponent(java.awt.Component)" title="class or interface in javax.swing">setNextFocusableComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setOpaque(boolean)" title="class or interface in javax.swing">setOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setPreferredSize(java.awt.Dimension)" title="class or interface in javax.swing">setPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setRequestFocusEnabled(boolean)" title="class or interface in javax.swing">setRequestFocusEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setToolTipText(java.lang.String)" title="class or interface in javax.swing">setToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setTransferHandler(javax.swing.TransferHandler)" title="class or interface in javax.swing">setTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setUI(javax.swing.plaf.ComponentUI)" title="class or interface in javax.swing">setUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setVerifyInputWhenFocusTarget(boolean)" title="class or interface in javax.swing">setVerifyInputWhenFocusTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setVisible(boolean)" title="class or interface in javax.swing">setVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#unregisterKeyboardAction(javax.swing.KeyStroke)" title="class or interface in javax.swing">unregisterKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#update(java.awt.Graphics)" title="class or interface in javax.swing">update</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.lang.String, java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">addContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#applyComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">applyComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#areFocusTraversalKeysSet(int)" title="class or interface in java.awt">areFocusTraversalKeysSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#countComponents()" title="class or interface in java.awt">countComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#deliverEvent(java.awt.Event)" title="class or interface in java.awt">deliverEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#doLayout()" title="class or interface in java.awt">doLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(int, int)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(java.awt.Point)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponent(int)" title="class or interface in java.awt">getComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(int, int)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(java.awt.Point)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentCount()" title="class or interface in java.awt">getComponentCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponents()" title="class or interface in java.awt">getComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentZOrder(java.awt.Component)" title="class or interface in java.awt">getComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getContainerListeners()" title="class or interface in java.awt">getContainerListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalKeys(int)" title="class or interface in java.awt">getFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalPolicy()" title="class or interface in java.awt">getFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getLayout()" title="class or interface in java.awt">getLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMousePosition(boolean)" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#insets()" title="class or interface in java.awt">insets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isAncestorOf(java.awt.Component)" title="class or interface in java.awt">isAncestorOf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot()" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot(java.awt.Container)" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicyProvider()" title="class or interface in java.awt">isFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicySet()" title="class or interface in java.awt">isFocusTraversalPolicySet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#layout()" title="class or interface in java.awt">layout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintStream, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintWriter, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#locate(int, int)" title="class or interface in java.awt">locate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#minimumSize()" title="class or interface in java.awt">minimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paintComponents(java.awt.Graphics)" title="class or interface in java.awt">paintComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#preferredSize()" title="class or interface in java.awt">preferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#printComponents(java.awt.Graphics)" title="class or interface in java.awt">printComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processContainerEvent(java.awt.event.ContainerEvent)" title="class or interface in java.awt">processContainerEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processEvent(java.awt.AWTEvent)" title="class or interface in java.awt">processEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(java.awt.Component)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(int)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeAll()" title="class or interface in java.awt">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">removeContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setComponentZOrder(java.awt.Component, int)" title="class or interface in java.awt">setComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusCycleRoot(boolean)" title="class or interface in java.awt">setFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)" title="class or interface in java.awt">setFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicyProvider(boolean)" title="class or interface in java.awt">setFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setLayout(java.awt.LayoutManager)" title="class or interface in java.awt">setLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusBackward()" title="class or interface in java.awt">transferFocusBackward</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusDownCycle()" title="class or interface in java.awt">transferFocusDownCycle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validateTree()" title="class or interface in java.awt">validateTree</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">addComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">addFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">addHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">addHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">addInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">addKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">addMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">addMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">addMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#bounds()" title="class or interface in java.awt">bounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#coalesceEvents(java.awt.AWTEvent, java.awt.AWTEvent)" title="class or interface in java.awt">coalesceEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(java.awt.Point)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(java.awt.image.ImageProducer)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(int, int)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int, java.awt.ImageCapabilities)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disableEvents(long)" title="class or interface in java.awt">disableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#dispatchEvent(java.awt.AWTEvent)" title="class or interface in java.awt">dispatchEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable(boolean)" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableEvents(long)" title="class or interface in java.awt">enableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableInputMethods(boolean)" title="class or interface in java.awt">enableInputMethods</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBackground()" title="class or interface in java.awt">getBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds()" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getColorModel()" title="class or interface in java.awt">getColorModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentListeners()" title="class or interface in java.awt">getComponentListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentOrientation()" title="class or interface in java.awt">getComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getCursor()" title="class or interface in java.awt">getCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getDropTarget()" title="class or interface in java.awt">getDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusCycleRootAncestor()" title="class or interface in java.awt">getFocusCycleRootAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusListeners()" title="class or interface in java.awt">getFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusTraversalKeysEnabled()" title="class or interface in java.awt">getFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getForeground()" title="class or interface in java.awt">getForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getGraphicsConfiguration()" title="class or interface in java.awt">getGraphicsConfiguration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyBoundsListeners()" title="class or interface in java.awt">getHierarchyBoundsListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyListeners()" title="class or interface in java.awt">getHierarchyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getIgnoreRepaint()" title="class or interface in java.awt">getIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputContext()" title="class or interface in java.awt">getInputContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodListeners()" title="class or interface in java.awt">getInputMethodListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodRequests()" title="class or interface in java.awt">getInputMethodRequests</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getKeyListeners()" title="class or interface in java.awt">getKeyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocale()" title="class or interface in java.awt">getLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation()" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocationOnScreen()" title="class or interface in java.awt">getLocationOnScreen</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseListeners()" title="class or interface in java.awt">getMouseListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseMotionListeners()" title="class or interface in java.awt">getMouseMotionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMousePosition()" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseWheelListeners()" title="class or interface in java.awt">getMouseWheelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getName()" title="class or interface in java.awt">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getParent()" title="class or interface in java.awt">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPeer()" title="class or interface in java.awt">getPeer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners()" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners(java.lang.String)" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize()" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getToolkit()" title="class or interface in java.awt">getToolkit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getTreeLock()" title="class or interface in java.awt">getTreeLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#gotFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">gotFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#handleEvent(java.awt.Event)" title="class or interface in java.awt">handleEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hasFocus()" title="class or interface in java.awt">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hide()" title="class or interface in java.awt">hide</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#inside(int, int)" title="class or interface in java.awt">inside</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isBackgroundSet()" title="class or interface in java.awt">isBackgroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isCursorSet()" title="class or interface in java.awt">isCursorSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDisplayable()" title="class or interface in java.awt">isDisplayable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isEnabled()" title="class or interface in java.awt">isEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusable()" title="class or interface in java.awt">isFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusOwner()" title="class or interface in java.awt">isFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusTraversable()" title="class or interface in java.awt">isFocusTraversable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFontSet()" title="class or interface in java.awt">isFontSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isForegroundSet()" title="class or interface in java.awt">isForegroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isLightweight()" title="class or interface in java.awt">isLightweight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMaximumSizeSet()" title="class or interface in java.awt">isMaximumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMinimumSizeSet()" title="class or interface in java.awt">isMinimumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isPreferredSizeSet()" title="class or interface in java.awt">isPreferredSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isShowing()" title="class or interface in java.awt">isShowing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isValid()" title="class or interface in java.awt">isValid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isVisible()" title="class or interface in java.awt">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyDown(java.awt.Event, int)" title="class or interface in java.awt">keyDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyUp(java.awt.Event, int)" title="class or interface in java.awt">keyUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list()" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintStream)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintWriter)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#location()" title="class or interface in java.awt">location</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#lostFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">lostFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDown(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDrag(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDrag</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseEnter(java.awt.Event, int, int)" title="class or interface in java.awt">mouseEnter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseExit(java.awt.Event, int, int)" title="class or interface in java.awt">mouseExit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseMove(java.awt.Event, int, int)" title="class or interface in java.awt">mouseMove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseUp(java.awt.Event, int, int)" title="class or interface in java.awt">mouseUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#move(int, int)" title="class or interface in java.awt">move</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#nextFocus()" title="class or interface in java.awt">nextFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#paintAll(java.awt.Graphics)" title="class or interface in java.awt">paintAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processComponentEvent(java.awt.event.ComponentEvent)" title="class or interface in java.awt">processComponentEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processFocusEvent(java.awt.event.FocusEvent)" title="class or interface in java.awt">processFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyBoundsEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyBoundsEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processInputMethodEvent(java.awt.event.InputMethodEvent)" title="class or interface in java.awt">processInputMethodEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseWheelEvent(java.awt.event.MouseWheelEvent)" title="class or interface in java.awt">processMouseWheelEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#remove(java.awt.MenuComponent)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">removeComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">removeFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">removeHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">removeHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">removeInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">removeKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">removeMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">removeMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">removeMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(int, int, int, int)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(long)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(java.awt.Dimension)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(int, int)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBounds(int, int, int, int)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBounds(java.awt.Rectangle)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">setComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setCursor(java.awt.Cursor)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setDropTarget(java.awt.dnd.DropTarget)" title="class or interface in java.awt">setDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusable(boolean)" title="class or interface in java.awt">setFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusTraversalKeysEnabled(boolean)" title="class or interface in java.awt">setFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setIgnoreRepaint(boolean)" title="class or interface in java.awt">setIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocale(java.util.Locale)" title="class or interface in java.awt">setLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(int, int)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(java.awt.Point)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setName(java.lang.String)" title="class or interface in java.awt">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setSize(java.awt.Dimension)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setSize(int, int)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show()" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show(boolean)" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#size()" title="class or interface in java.awt">size</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#toString()" title="class or interface in java.awt">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocus()" title="class or interface in java.awt">transferFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocusUpCycle()" title="class or interface in java.awt">transferFocusUpCycle</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryNodeEditorRenderer()"><!-- --></A><H3> +CategoryNodeEditorRenderer</H3> +<PRE> +public <B>CategoryNodeEditorRenderer</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)"><!-- --></A><H3> +getTreeCellRendererComponent</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A> <B>getTreeCellRendererComponent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;selected, + boolean&nbsp;expanded, + boolean&nbsp;leaf, + int&nbsp;row, + boolean&nbsp;hasFocus)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellRenderer.html?is-external=true#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)" title="class or interface in javax.swing.tree">getTreeCellRendererComponent</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellRenderer</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)">getTreeCellRendererComponent</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCheckBox()"><!-- --></A><H3> +getCheckBox</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBox.html?is-external=true" title="class or interface in javax.swing">JCheckBox</A> <B>getCheckBox</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryNodeEditorRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeEditorRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JLabel">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html new file mode 100644 index 00000000000..6f6a0390d20 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html @@ -0,0 +1,563 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryNodeRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryNodeRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryNodeRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JLabel">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryNodeRenderer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">javax.swing.JComponent</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">javax.swing.JLabel</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">javax.swing.tree.DefaultTreeCellRenderer</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true" title="class or interface in javax.swing">SwingConstants</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellRenderer</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CategoryNodeRenderer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellRenderer</A></DL> +</PRE> + +<P> +CategoryNodeRenderer +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../../../serialized-form.html#org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JLabel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.AccessibleJLabel.html?is-external=true" title="class or interface in javax.swing">JLabel.AccessibleJLabel</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.AccessibleJComponent.html?is-external=true" title="class or interface in javax.swing">JComponent.AccessibleJComponent</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.BltBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.BltBufferStrategy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.FlipBufferStrategy.html?is-external=true" title="class or interface in java.awt">Component.FlipBufferStrategy</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBox.html?is-external=true" title="class or interface in javax.swing">JCheckBox</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#_checkBox">_checkBox</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#_panel">_panel</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/ImageIcon.html?is-external=true" title="class or interface in javax.swing">ImageIcon</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#_sat">_sat</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#FATAL_CHILDREN">FATAL_CHILDREN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.tree.DefaultTreeCellRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellRenderer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#backgroundNonSelectionColor" title="class or interface in javax.swing.tree">backgroundNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#backgroundSelectionColor" title="class or interface in javax.swing.tree">backgroundSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#borderSelectionColor" title="class or interface in javax.swing.tree">borderSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#closedIcon" title="class or interface in javax.swing.tree">closedIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#hasFocus" title="class or interface in javax.swing.tree">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#leafIcon" title="class or interface in javax.swing.tree">leafIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#openIcon" title="class or interface in javax.swing.tree">openIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#selected" title="class or interface in javax.swing.tree">selected</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#textNonSelectionColor" title="class or interface in javax.swing.tree">textNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#textSelectionColor" title="class or interface in javax.swing.tree">textSelectionColor</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JLabel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#labelFor" title="class or interface in javax.swing">labelFor</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#listenerList" title="class or interface in javax.swing">listenerList</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#TOOL_TIP_TEXT_KEY" title="class or interface in javax.swing">TOOL_TIP_TEXT_KEY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#ui" title="class or interface in javax.swing">ui</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#UNDEFINED_CONDITION" title="class or interface in javax.swing">UNDEFINED_CONDITION</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_ANCESTOR_OF_FOCUSED_COMPONENT" title="class or interface in javax.swing">WHEN_ANCESTOR_OF_FOCUSED_COMPONENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_FOCUSED" title="class or interface in javax.swing">WHEN_FOCUSED</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#WHEN_IN_FOCUSED_WINDOW" title="class or interface in javax.swing">WHEN_IN_FOCUSED_WINDOW</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt">LEFT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#RIGHT_ALIGNMENT" title="class or interface in java.awt">RIGHT_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#TOP_ALIGNMENT" title="class or interface in java.awt">TOP_ALIGNMENT</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_javax.swing.SwingConstants"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true" title="class or interface in javax.swing">SwingConstants</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#BOTTOM" title="class or interface in javax.swing">BOTTOM</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#CENTER" title="class or interface in javax.swing">CENTER</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#EAST" title="class or interface in javax.swing">EAST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#HORIZONTAL" title="class or interface in javax.swing">HORIZONTAL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#LEADING" title="class or interface in javax.swing">LEADING</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#LEFT" title="class or interface in javax.swing">LEFT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NEXT" title="class or interface in javax.swing">NEXT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NORTH" title="class or interface in javax.swing">NORTH</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NORTH_EAST" title="class or interface in javax.swing">NORTH_EAST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#NORTH_WEST" title="class or interface in javax.swing">NORTH_WEST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#PREVIOUS" title="class or interface in javax.swing">PREVIOUS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#RIGHT" title="class or interface in javax.swing">RIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#SOUTH" title="class or interface in javax.swing">SOUTH</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#SOUTH_EAST" title="class or interface in javax.swing">SOUTH_EAST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#SOUTH_WEST" title="class or interface in javax.swing">SOUTH_WEST</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#TOP" title="class or interface in javax.swing">TOP</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#TRAILING" title="class or interface in javax.swing">TRAILING</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#VERTICAL" title="class or interface in javax.swing">VERTICAL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true#WEST" title="class or interface in javax.swing">WEST</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image">ERROR</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#FRAMEBITS" title="class or interface in java.awt.image">FRAMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#HEIGHT" title="class or interface in java.awt.image">HEIGHT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#PROPERTIES" title="class or interface in java.awt.image">PROPERTIES</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#SOMEBITS" title="class or interface in java.awt.image">SOMEBITS</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true#WIDTH" title="class or interface in java.awt.image">WIDTH</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#CategoryNodeRenderer()">CategoryNodeRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#buildToolTip(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">buildToolTip</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dimension.html?is-external=true" title="class or interface in java.awt">Dimension</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#getCheckBoxOffset()">getCheckBoxOffset</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)">getTreeCellRendererComponent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;selected, + boolean&nbsp;expanded, + boolean&nbsp;leaf, + int&nbsp;row, + boolean&nbsp;hasFocus)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.tree.DefaultTreeCellRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellRenderer</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, byte, byte)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, char, char)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, double, double)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, float, float)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, int, int)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, long, long)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, short, short)" title="class or interface in javax.swing.tree">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getBackgroundNonSelectionColor()" title="class or interface in javax.swing.tree">getBackgroundNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getBackgroundSelectionColor()" title="class or interface in javax.swing.tree">getBackgroundSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getBorderSelectionColor()" title="class or interface in javax.swing.tree">getBorderSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getClosedIcon()" title="class or interface in javax.swing.tree">getClosedIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getDefaultClosedIcon()" title="class or interface in javax.swing.tree">getDefaultClosedIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getDefaultLeafIcon()" title="class or interface in javax.swing.tree">getDefaultLeafIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getDefaultOpenIcon()" title="class or interface in javax.swing.tree">getDefaultOpenIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getFont()" title="class or interface in javax.swing.tree">getFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getLeafIcon()" title="class or interface in javax.swing.tree">getLeafIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getOpenIcon()" title="class or interface in javax.swing.tree">getOpenIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getPreferredSize()" title="class or interface in javax.swing.tree">getPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getTextNonSelectionColor()" title="class or interface in javax.swing.tree">getTextNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getTextSelectionColor()" title="class or interface in javax.swing.tree">getTextSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#invalidate()" title="class or interface in javax.swing.tree">invalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#paint(java.awt.Graphics)" title="class or interface in javax.swing.tree">paint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#repaint()" title="class or interface in javax.swing.tree">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#repaint(long, int, int, int, int)" title="class or interface in javax.swing.tree">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#repaint(java.awt.Rectangle)" title="class or interface in javax.swing.tree">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#revalidate()" title="class or interface in javax.swing.tree">revalidate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setBackground(java.awt.Color)" title="class or interface in javax.swing.tree">setBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setBackgroundNonSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setBackgroundNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setBackgroundSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setBackgroundSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setBorderSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setBorderSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setClosedIcon(javax.swing.Icon)" title="class or interface in javax.swing.tree">setClosedIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setFont(java.awt.Font)" title="class or interface in javax.swing.tree">setFont</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setLeafIcon(javax.swing.Icon)" title="class or interface in javax.swing.tree">setLeafIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setOpenIcon(javax.swing.Icon)" title="class or interface in javax.swing.tree">setOpenIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setTextNonSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setTextNonSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#setTextSelectionColor(java.awt.Color)" title="class or interface in javax.swing.tree">setTextSelectionColor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#validate()" title="class or interface in javax.swing.tree">validate</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JLabel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#checkHorizontalKey(int, java.lang.String)" title="class or interface in javax.swing">checkHorizontalKey</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#checkVerticalKey(int, java.lang.String)" title="class or interface in javax.swing">checkVerticalKey</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getDisabledIcon()" title="class or interface in javax.swing">getDisabledIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getDisplayedMnemonic()" title="class or interface in javax.swing">getDisplayedMnemonic</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getDisplayedMnemonicIndex()" title="class or interface in javax.swing">getDisplayedMnemonicIndex</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getHorizontalAlignment()" title="class or interface in javax.swing">getHorizontalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getHorizontalTextPosition()" title="class or interface in javax.swing">getHorizontalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getIcon()" title="class or interface in javax.swing">getIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getIconTextGap()" title="class or interface in javax.swing">getIconTextGap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getLabelFor()" title="class or interface in javax.swing">getLabelFor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getText()" title="class or interface in javax.swing">getText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getUI()" title="class or interface in javax.swing">getUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getUIClassID()" title="class or interface in javax.swing">getUIClassID</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getVerticalAlignment()" title="class or interface in javax.swing">getVerticalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#getVerticalTextPosition()" title="class or interface in javax.swing">getVerticalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#imageUpdate(java.awt.Image, int, int, int, int, int)" title="class or interface in javax.swing">imageUpdate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#paramString()" title="class or interface in javax.swing">paramString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisabledIcon(javax.swing.Icon)" title="class or interface in javax.swing">setDisabledIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisplayedMnemonic(char)" title="class or interface in javax.swing">setDisplayedMnemonic</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisplayedMnemonic(int)" title="class or interface in javax.swing">setDisplayedMnemonic</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setDisplayedMnemonicIndex(int)" title="class or interface in javax.swing">setDisplayedMnemonicIndex</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setHorizontalAlignment(int)" title="class or interface in javax.swing">setHorizontalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setHorizontalTextPosition(int)" title="class or interface in javax.swing">setHorizontalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setIcon(javax.swing.Icon)" title="class or interface in javax.swing">setIcon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setIconTextGap(int)" title="class or interface in javax.swing">setIconTextGap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setLabelFor(java.awt.Component)" title="class or interface in javax.swing">setLabelFor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setText(java.lang.String)" title="class or interface in javax.swing">setText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setUI(javax.swing.plaf.LabelUI)" title="class or interface in javax.swing">setUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setVerticalAlignment(int)" title="class or interface in javax.swing">setVerticalAlignment</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#setVerticalTextPosition(int)" title="class or interface in javax.swing">setVerticalTextPosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true#updateUI()" title="class or interface in javax.swing">updateUI</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">addAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addNotify()" title="class or interface in javax.swing">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#addVetoableChangeListener(java.beans.VetoableChangeListener)" title="class or interface in javax.swing">addVetoableChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#computeVisibleRect(java.awt.Rectangle)" title="class or interface in javax.swing">computeVisibleRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#contains(int, int)" title="class or interface in javax.swing">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#createToolTip()" title="class or interface in javax.swing">createToolTip</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#disable()" title="class or interface in javax.swing">disable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#enable()" title="class or interface in javax.swing">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#fireVetoableChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in javax.swing">fireVetoableChange</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getActionForKeyStroke(javax.swing.KeyStroke)" title="class or interface in javax.swing">getActionForKeyStroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getActionMap()" title="class or interface in javax.swing">getActionMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAlignmentX()" title="class or interface in javax.swing">getAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAlignmentY()" title="class or interface in javax.swing">getAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAncestorListeners()" title="class or interface in javax.swing">getAncestorListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getAutoscrolls()" title="class or interface in javax.swing">getAutoscrolls</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBaseline(int, int)" title="class or interface in javax.swing">getBaseline</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBaselineResizeBehavior()" title="class or interface in javax.swing">getBaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBorder()" title="class or interface in javax.swing">getBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getBounds(java.awt.Rectangle)" title="class or interface in javax.swing">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getClientProperty(java.lang.Object)" title="class or interface in javax.swing">getClientProperty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getComponentGraphics(java.awt.Graphics)" title="class or interface in javax.swing">getComponentGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getComponentPopupMenu()" title="class or interface in javax.swing">getComponentPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getConditionForKeyStroke(javax.swing.KeyStroke)" title="class or interface in javax.swing">getConditionForKeyStroke</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getDebugGraphicsOptions()" title="class or interface in javax.swing">getDebugGraphicsOptions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getDefaultLocale()" title="class or interface in javax.swing">getDefaultLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getFontMetrics(java.awt.Font)" title="class or interface in javax.swing">getFontMetrics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getGraphics()" title="class or interface in javax.swing">getGraphics</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getHeight()" title="class or interface in javax.swing">getHeight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInheritsPopupMenu()" title="class or interface in javax.swing">getInheritsPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputMap()" title="class or interface in javax.swing">getInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputMap(int)" title="class or interface in javax.swing">getInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInputVerifier()" title="class or interface in javax.swing">getInputVerifier</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInsets()" title="class or interface in javax.swing">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getInsets(java.awt.Insets)" title="class or interface in javax.swing">getInsets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getListeners(java.lang.Class)" title="class or interface in javax.swing">getListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getLocation(java.awt.Point)" title="class or interface in javax.swing">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getMaximumSize()" title="class or interface in javax.swing">getMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getMinimumSize()" title="class or interface in javax.swing">getMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getNextFocusableComponent()" title="class or interface in javax.swing">getNextFocusableComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getPopupLocation(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getPopupLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getRegisteredKeyStrokes()" title="class or interface in javax.swing">getRegisteredKeyStrokes</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getRootPane()" title="class or interface in javax.swing">getRootPane</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getSize(java.awt.Dimension)" title="class or interface in javax.swing">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipLocation(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getToolTipLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipText()" title="class or interface in javax.swing">getToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getToolTipText(java.awt.event.MouseEvent)" title="class or interface in javax.swing">getToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getTopLevelAncestor()" title="class or interface in javax.swing">getTopLevelAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getTransferHandler()" title="class or interface in javax.swing">getTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVerifyInputWhenFocusTarget()" title="class or interface in javax.swing">getVerifyInputWhenFocusTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVetoableChangeListeners()" title="class or interface in javax.swing">getVetoableChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getVisibleRect()" title="class or interface in javax.swing">getVisibleRect</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getWidth()" title="class or interface in javax.swing">getWidth</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getX()" title="class or interface in javax.swing">getX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#getY()" title="class or interface in javax.swing">getY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#grabFocus()" title="class or interface in javax.swing">grabFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isDoubleBuffered()" title="class or interface in javax.swing">isDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isLightweightComponent(java.awt.Component)" title="class or interface in javax.swing">isLightweightComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isManagingFocus()" title="class or interface in javax.swing">isManagingFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isOpaque()" title="class or interface in javax.swing">isOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isOptimizedDrawingEnabled()" title="class or interface in javax.swing">isOptimizedDrawingEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isPaintingForPrint()" title="class or interface in javax.swing">isPaintingForPrint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isPaintingTile()" title="class or interface in javax.swing">isPaintingTile</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isRequestFocusEnabled()" title="class or interface in javax.swing">isRequestFocusEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#isValidateRoot()" title="class or interface in javax.swing">isValidateRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintBorder(java.awt.Graphics)" title="class or interface in javax.swing">paintBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintChildren(java.awt.Graphics)" title="class or interface in javax.swing">paintChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintComponent(java.awt.Graphics)" title="class or interface in javax.swing">paintComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintImmediately(int, int, int, int)" title="class or interface in javax.swing">paintImmediately</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#paintImmediately(java.awt.Rectangle)" title="class or interface in javax.swing">paintImmediately</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#print(java.awt.Graphics)" title="class or interface in javax.swing">print</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printAll(java.awt.Graphics)" title="class or interface in javax.swing">printAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printBorder(java.awt.Graphics)" title="class or interface in javax.swing">printBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printChildren(java.awt.Graphics)" title="class or interface in javax.swing">printChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#printComponent(java.awt.Graphics)" title="class or interface in javax.swing">printComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processComponentKeyEvent(java.awt.event.KeyEvent)" title="class or interface in javax.swing">processComponentKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processKeyBinding(javax.swing.KeyStroke, java.awt.event.KeyEvent, int, boolean)" title="class or interface in javax.swing">processKeyBinding</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processKeyEvent(java.awt.event.KeyEvent)" title="class or interface in javax.swing">processKeyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processMouseEvent(java.awt.event.MouseEvent)" title="class or interface in javax.swing">processMouseEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#processMouseMotionEvent(java.awt.event.MouseEvent)" title="class or interface in javax.swing">processMouseMotionEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#putClientProperty(java.lang.Object, java.lang.Object)" title="class or interface in javax.swing">putClientProperty</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#registerKeyboardAction(java.awt.event.ActionListener, javax.swing.KeyStroke, int)" title="class or interface in javax.swing">registerKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)" title="class or interface in javax.swing">registerKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">removeAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeNotify()" title="class or interface in javax.swing">removeNotify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#removeVetoableChangeListener(java.beans.VetoableChangeListener)" title="class or interface in javax.swing">removeVetoableChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestDefaultFocus()" title="class or interface in javax.swing">requestDefaultFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocus()" title="class or interface in javax.swing">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocus(boolean)" title="class or interface in javax.swing">requestFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocusInWindow()" title="class or interface in javax.swing">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#requestFocusInWindow(boolean)" title="class or interface in javax.swing">requestFocusInWindow</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#resetKeyboardActions()" title="class or interface in javax.swing">resetKeyboardActions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#reshape(int, int, int, int)" title="class or interface in javax.swing">reshape</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#scrollRectToVisible(java.awt.Rectangle)" title="class or interface in javax.swing">scrollRectToVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setActionMap(javax.swing.ActionMap)" title="class or interface in javax.swing">setActionMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAlignmentX(float)" title="class or interface in javax.swing">setAlignmentX</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAlignmentY(float)" title="class or interface in javax.swing">setAlignmentY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setAutoscrolls(boolean)" title="class or interface in javax.swing">setAutoscrolls</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setBorder(javax.swing.border.Border)" title="class or interface in javax.swing">setBorder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setComponentPopupMenu(javax.swing.JPopupMenu)" title="class or interface in javax.swing">setComponentPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDebugGraphicsOptions(int)" title="class or interface in javax.swing">setDebugGraphicsOptions</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDefaultLocale(java.util.Locale)" title="class or interface in javax.swing">setDefaultLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setDoubleBuffered(boolean)" title="class or interface in javax.swing">setDoubleBuffered</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setEnabled(boolean)" title="class or interface in javax.swing">setEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setFocusTraversalKeys(int, java.util.Set)" title="class or interface in javax.swing">setFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setForeground(java.awt.Color)" title="class or interface in javax.swing">setForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInheritsPopupMenu(boolean)" title="class or interface in javax.swing">setInheritsPopupMenu</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInputMap(int, javax.swing.InputMap)" title="class or interface in javax.swing">setInputMap</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setInputVerifier(javax.swing.InputVerifier)" title="class or interface in javax.swing">setInputVerifier</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setMaximumSize(java.awt.Dimension)" title="class or interface in javax.swing">setMaximumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setMinimumSize(java.awt.Dimension)" title="class or interface in javax.swing">setMinimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setNextFocusableComponent(java.awt.Component)" title="class or interface in javax.swing">setNextFocusableComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setOpaque(boolean)" title="class or interface in javax.swing">setOpaque</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setPreferredSize(java.awt.Dimension)" title="class or interface in javax.swing">setPreferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setRequestFocusEnabled(boolean)" title="class or interface in javax.swing">setRequestFocusEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setToolTipText(java.lang.String)" title="class or interface in javax.swing">setToolTipText</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setTransferHandler(javax.swing.TransferHandler)" title="class or interface in javax.swing">setTransferHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setUI(javax.swing.plaf.ComponentUI)" title="class or interface in javax.swing">setUI</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setVerifyInputWhenFocusTarget(boolean)" title="class or interface in javax.swing">setVerifyInputWhenFocusTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#setVisible(boolean)" title="class or interface in javax.swing">setVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#unregisterKeyboardAction(javax.swing.KeyStroke)" title="class or interface in javax.swing">unregisterKeyboardAction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true#update(java.awt.Graphics)" title="class or interface in javax.swing">update</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#add(java.lang.String, java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">addContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in java.awt">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#applyComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">applyComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#areFocusTraversalKeysSet(int)" title="class or interface in java.awt">areFocusTraversalKeysSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#countComponents()" title="class or interface in java.awt">countComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#deliverEvent(java.awt.Event)" title="class or interface in java.awt">deliverEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#doLayout()" title="class or interface in java.awt">doLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(int, int)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#findComponentAt(java.awt.Point)" title="class or interface in java.awt">findComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponent(int)" title="class or interface in java.awt">getComponent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(int, int)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentAt(java.awt.Point)" title="class or interface in java.awt">getComponentAt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentCount()" title="class or interface in java.awt">getComponentCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponents()" title="class or interface in java.awt">getComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getComponentZOrder(java.awt.Component)" title="class or interface in java.awt">getComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getContainerListeners()" title="class or interface in java.awt">getContainerListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalKeys(int)" title="class or interface in java.awt">getFocusTraversalKeys</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getFocusTraversalPolicy()" title="class or interface in java.awt">getFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getLayout()" title="class or interface in java.awt">getLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#getMousePosition(boolean)" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#insets()" title="class or interface in java.awt">insets</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isAncestorOf(java.awt.Component)" title="class or interface in java.awt">isAncestorOf</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot()" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusCycleRoot(java.awt.Container)" title="class or interface in java.awt">isFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicyProvider()" title="class or interface in java.awt">isFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#isFocusTraversalPolicySet()" title="class or interface in java.awt">isFocusTraversalPolicySet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#layout()" title="class or interface in java.awt">layout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintStream, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#list(java.io.PrintWriter, int)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#locate(int, int)" title="class or interface in java.awt">locate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#minimumSize()" title="class or interface in java.awt">minimumSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#paintComponents(java.awt.Graphics)" title="class or interface in java.awt">paintComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#preferredSize()" title="class or interface in java.awt">preferredSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#printComponents(java.awt.Graphics)" title="class or interface in java.awt">printComponents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processContainerEvent(java.awt.event.ContainerEvent)" title="class or interface in java.awt">processContainerEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#processEvent(java.awt.AWTEvent)" title="class or interface in java.awt">processEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(java.awt.Component)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#remove(int)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeAll()" title="class or interface in java.awt">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#removeContainerListener(java.awt.event.ContainerListener)" title="class or interface in java.awt">removeContainerListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setComponentZOrder(java.awt.Component, int)" title="class or interface in java.awt">setComponentZOrder</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusCycleRoot(boolean)" title="class or interface in java.awt">setFocusCycleRoot</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)" title="class or interface in java.awt">setFocusTraversalPolicy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setFocusTraversalPolicyProvider(boolean)" title="class or interface in java.awt">setFocusTraversalPolicyProvider</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#setLayout(java.awt.LayoutManager)" title="class or interface in java.awt">setLayout</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusBackward()" title="class or interface in java.awt">transferFocusBackward</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#transferFocusDownCycle()" title="class or interface in java.awt">transferFocusDownCycle</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true#validateTree()" title="class or interface in java.awt">validateTree</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">addComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">addFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">addHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">addHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">addInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">addKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">addMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">addMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#addMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">addMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#bounds()" title="class or interface in java.awt">bounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">checkImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#coalesceEvents(java.awt.AWTEvent, java.awt.AWTEvent)" title="class or interface in java.awt">coalesceEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#contains(java.awt.Point)" title="class or interface in java.awt">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(java.awt.image.ImageProducer)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createImage(int, int)" title="class or interface in java.awt">createImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#createVolatileImage(int, int, java.awt.ImageCapabilities)" title="class or interface in java.awt">createVolatileImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#disableEvents(long)" title="class or interface in java.awt">disableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#dispatchEvent(java.awt.AWTEvent)" title="class or interface in java.awt">dispatchEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enable(boolean)" title="class or interface in java.awt">enable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableEvents(long)" title="class or interface in java.awt">enableEvents</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#enableInputMethods(boolean)" title="class or interface in java.awt">enableInputMethods</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBackground()" title="class or interface in java.awt">getBackground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getBounds()" title="class or interface in java.awt">getBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getColorModel()" title="class or interface in java.awt">getColorModel</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentListeners()" title="class or interface in java.awt">getComponentListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getComponentOrientation()" title="class or interface in java.awt">getComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getCursor()" title="class or interface in java.awt">getCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getDropTarget()" title="class or interface in java.awt">getDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusCycleRootAncestor()" title="class or interface in java.awt">getFocusCycleRootAncestor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusListeners()" title="class or interface in java.awt">getFocusListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getFocusTraversalKeysEnabled()" title="class or interface in java.awt">getFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getForeground()" title="class or interface in java.awt">getForeground</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getGraphicsConfiguration()" title="class or interface in java.awt">getGraphicsConfiguration</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyBoundsListeners()" title="class or interface in java.awt">getHierarchyBoundsListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getHierarchyListeners()" title="class or interface in java.awt">getHierarchyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getIgnoreRepaint()" title="class or interface in java.awt">getIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputContext()" title="class or interface in java.awt">getInputContext</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodListeners()" title="class or interface in java.awt">getInputMethodListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getInputMethodRequests()" title="class or interface in java.awt">getInputMethodRequests</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getKeyListeners()" title="class or interface in java.awt">getKeyListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocale()" title="class or interface in java.awt">getLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocation()" title="class or interface in java.awt">getLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getLocationOnScreen()" title="class or interface in java.awt">getLocationOnScreen</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseListeners()" title="class or interface in java.awt">getMouseListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseMotionListeners()" title="class or interface in java.awt">getMouseMotionListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMousePosition()" title="class or interface in java.awt">getMousePosition</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getMouseWheelListeners()" title="class or interface in java.awt">getMouseWheelListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getName()" title="class or interface in java.awt">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getParent()" title="class or interface in java.awt">getParent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPeer()" title="class or interface in java.awt">getPeer</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners()" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getPropertyChangeListeners(java.lang.String)" title="class or interface in java.awt">getPropertyChangeListeners</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getSize()" title="class or interface in java.awt">getSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getToolkit()" title="class or interface in java.awt">getToolkit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#getTreeLock()" title="class or interface in java.awt">getTreeLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#gotFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">gotFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#handleEvent(java.awt.Event)" title="class or interface in java.awt">handleEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hasFocus()" title="class or interface in java.awt">hasFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#hide()" title="class or interface in java.awt">hide</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#inside(int, int)" title="class or interface in java.awt">inside</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isBackgroundSet()" title="class or interface in java.awt">isBackgroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isCursorSet()" title="class or interface in java.awt">isCursorSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isDisplayable()" title="class or interface in java.awt">isDisplayable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isEnabled()" title="class or interface in java.awt">isEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusable()" title="class or interface in java.awt">isFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusOwner()" title="class or interface in java.awt">isFocusOwner</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFocusTraversable()" title="class or interface in java.awt">isFocusTraversable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isFontSet()" title="class or interface in java.awt">isFontSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isForegroundSet()" title="class or interface in java.awt">isForegroundSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isLightweight()" title="class or interface in java.awt">isLightweight</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMaximumSizeSet()" title="class or interface in java.awt">isMaximumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isMinimumSizeSet()" title="class or interface in java.awt">isMinimumSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isPreferredSizeSet()" title="class or interface in java.awt">isPreferredSizeSet</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isShowing()" title="class or interface in java.awt">isShowing</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isValid()" title="class or interface in java.awt">isValid</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#isVisible()" title="class or interface in java.awt">isVisible</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyDown(java.awt.Event, int)" title="class or interface in java.awt">keyDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#keyUp(java.awt.Event, int)" title="class or interface in java.awt">keyUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list()" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintStream)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#list(java.io.PrintWriter)" title="class or interface in java.awt">list</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#location()" title="class or interface in java.awt">location</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#lostFocus(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">lostFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDown(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDown</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseDrag(java.awt.Event, int, int)" title="class or interface in java.awt">mouseDrag</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseEnter(java.awt.Event, int, int)" title="class or interface in java.awt">mouseEnter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseExit(java.awt.Event, int, int)" title="class or interface in java.awt">mouseExit</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseMove(java.awt.Event, int, int)" title="class or interface in java.awt">mouseMove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#mouseUp(java.awt.Event, int, int)" title="class or interface in java.awt">mouseUp</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#move(int, int)" title="class or interface in java.awt">move</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#nextFocus()" title="class or interface in java.awt">nextFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#paintAll(java.awt.Graphics)" title="class or interface in java.awt">paintAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver)" title="class or interface in java.awt">prepareImage</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processComponentEvent(java.awt.event.ComponentEvent)" title="class or interface in java.awt">processComponentEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processFocusEvent(java.awt.event.FocusEvent)" title="class or interface in java.awt">processFocusEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyBoundsEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyBoundsEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processHierarchyEvent(java.awt.event.HierarchyEvent)" title="class or interface in java.awt">processHierarchyEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processInputMethodEvent(java.awt.event.InputMethodEvent)" title="class or interface in java.awt">processInputMethodEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#processMouseWheelEvent(java.awt.event.MouseWheelEvent)" title="class or interface in java.awt">processMouseWheelEvent</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#remove(java.awt.MenuComponent)" title="class or interface in java.awt">remove</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeComponentListener(java.awt.event.ComponentListener)" title="class or interface in java.awt">removeComponentListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeFocusListener(java.awt.event.FocusListener)" title="class or interface in java.awt">removeFocusListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)" title="class or interface in java.awt">removeHierarchyBoundsListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeHierarchyListener(java.awt.event.HierarchyListener)" title="class or interface in java.awt">removeHierarchyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeInputMethodListener(java.awt.event.InputMethodListener)" title="class or interface in java.awt">removeInputMethodListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeKeyListener(java.awt.event.KeyListener)" title="class or interface in java.awt">removeKeyListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseListener(java.awt.event.MouseListener)" title="class or interface in java.awt">removeMouseListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseMotionListener(java.awt.event.MouseMotionListener)" title="class or interface in java.awt">removeMouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removeMouseWheelListener(java.awt.event.MouseWheelListener)" title="class or interface in java.awt">removeMouseWheelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">removePropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(int, int, int, int)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#repaint(long)" title="class or interface in java.awt">repaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(java.awt.Dimension)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#resize(int, int)" title="class or interface in java.awt">resize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBounds(int, int, int, int)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setBounds(java.awt.Rectangle)" title="class or interface in java.awt">setBounds</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setComponentOrientation(java.awt.ComponentOrientation)" title="class or interface in java.awt">setComponentOrientation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setCursor(java.awt.Cursor)" title="class or interface in java.awt">setCursor</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setDropTarget(java.awt.dnd.DropTarget)" title="class or interface in java.awt">setDropTarget</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusable(boolean)" title="class or interface in java.awt">setFocusable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setFocusTraversalKeysEnabled(boolean)" title="class or interface in java.awt">setFocusTraversalKeysEnabled</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setIgnoreRepaint(boolean)" title="class or interface in java.awt">setIgnoreRepaint</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocale(java.util.Locale)" title="class or interface in java.awt">setLocale</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(int, int)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setLocation(java.awt.Point)" title="class or interface in java.awt">setLocation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setName(java.lang.String)" title="class or interface in java.awt">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setSize(java.awt.Dimension)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#setSize(int, int)" title="class or interface in java.awt">setSize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show()" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#show(boolean)" title="class or interface in java.awt">show</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#size()" title="class or interface in java.awt">size</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#toString()" title="class or interface in java.awt">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocus()" title="class or interface in java.awt">transferFocus</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true#transferFocusUpCycle()" title="class or interface in java.awt">transferFocusUpCycle</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FATAL_CHILDREN"><!-- --></A><H3> +FATAL_CHILDREN</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A> <B>FATAL_CHILDREN</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_checkBox"><!-- --></A><H3> +_checkBox</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBox.html?is-external=true" title="class or interface in javax.swing">JCheckBox</A> <B>_checkBox</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_panel"><!-- --></A><H3> +_panel</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A> <B>_panel</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="_sat"><!-- --></A><H3> +_sat</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/ImageIcon.html?is-external=true" title="class or interface in javax.swing">ImageIcon</A> <B>_sat</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryNodeRenderer()"><!-- --></A><H3> +CategoryNodeRenderer</H3> +<PRE> +public <B>CategoryNodeRenderer</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)"><!-- --></A><H3> +getTreeCellRendererComponent</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A> <B>getTreeCellRendererComponent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value, + boolean&nbsp;selected, + boolean&nbsp;expanded, + boolean&nbsp;leaf, + int&nbsp;row, + boolean&nbsp;hasFocus)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellRenderer.html?is-external=true#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)" title="class or interface in javax.swing.tree">getTreeCellRendererComponent</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellRenderer</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)" title="class or interface in javax.swing.tree">getTreeCellRendererComponent</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellRenderer</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCheckBoxOffset()"><!-- --></A><H3> +getCheckBoxOffset</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dimension.html?is-external=true" title="class or interface in java.awt">Dimension</A> <B>getCheckBoxOffset</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="buildToolTip(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)"><!-- --></A><H3> +buildToolTip</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>buildToolTip</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryNodeRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JLabel">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html new file mode 100644 index 00000000000..fa4f544cae6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html @@ -0,0 +1,420 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CategoryPath (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CategoryPath (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryPath.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryPath.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class CategoryPath</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>CategoryPath</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +CategoryPath is a collection of CategoryItems which represent a + path of categories. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Michael J. Sikorsky, Robert Shaw</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/LinkedList.html?is-external=true" title="class or interface in java.util">LinkedList</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#_categoryElements">_categoryElements</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#CategoryPath()">CategoryPath</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#CategoryPath(java.lang.String)">CategoryPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a CategoryPath.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#addCategoryElement(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryElement)">addCategoryElement</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A>&nbsp;categoryElement)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the specified categoryElement to the end of the categoryElement set.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#categoryElementAt(int)">categoryElementAt</A></B>(int&nbsp;index)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the CategoryElement at the specified index.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#isEmpty()">isEmpty</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#removeAllCategoryElements()">removeAllCategoryElements</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes all categoryElements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#size()">size</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns the number of CategoryElements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#toString()">toString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="_categoryElements"><!-- --></A><H3> +_categoryElements</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/LinkedList.html?is-external=true" title="class or interface in java.util">LinkedList</A> <B>_categoryElements</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CategoryPath()"><!-- --></A><H3> +CategoryPath</H3> +<PRE> +public <B>CategoryPath</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="CategoryPath(java.lang.String)"><!-- --></A><H3> +CategoryPath</H3> +<PRE> +public <B>CategoryPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</PRE> +<DL> +<DD>Construct a CategoryPath. If the category is null, it defaults to "Debug". +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="size()"><!-- --></A><H3> +size</H3> +<PRE> +public int <B>size</B>()</PRE> +<DL> +<DD>returns the number of CategoryElements. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isEmpty()"><!-- --></A><H3> +isEmpty</H3> +<PRE> +public boolean <B>isEmpty</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAllCategoryElements()"><!-- --></A><H3> +removeAllCategoryElements</H3> +<PRE> +public void <B>removeAllCategoryElements</B>()</PRE> +<DL> +<DD>Removes all categoryElements. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addCategoryElement(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryElement)"><!-- --></A><H3> +addCategoryElement</H3> +<PRE> +public void <B>addCategoryElement</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A>&nbsp;categoryElement)</PRE> +<DL> +<DD>Adds the specified categoryElement to the end of the categoryElement set. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="categoryElementAt(int)"><!-- --></A><H3> +categoryElementAt</H3> +<PRE> +public <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A> <B>categoryElementAt</B>(int&nbsp;index)</PRE> +<DL> +<DD>Returns the CategoryElement at the specified index. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="toString()"><!-- --></A><H3> +toString</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CategoryPath.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryPath.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html new file mode 100644 index 00000000000..ba6cb07ddc6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html @@ -0,0 +1,333 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TreeModelAdapter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TreeModelAdapter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TreeModelAdapter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TreeModelAdapter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.categoryexplorer</FONT> +<BR> +Class TreeModelAdapter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.categoryexplorer.TreeModelAdapter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/EventListener.html?is-external=true" title="class or interface in java.util">EventListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TreeModelAdapter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A></DL> +</PRE> + +<P> +Default implementation of TreeModelListener which does nothing. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Wan</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html#TreeModelAdapter()">TreeModelAdapter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html#treeNodesChanged(javax.swing.event.TreeModelEvent)">treeNodesChanged</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelEvent.html?is-external=true" title="class or interface in javax.swing.event">TreeModelEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html#treeNodesInserted(javax.swing.event.TreeModelEvent)">treeNodesInserted</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelEvent.html?is-external=true" title="class or interface in javax.swing.event">TreeModelEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html#treeNodesRemoved(javax.swing.event.TreeModelEvent)">treeNodesRemoved</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelEvent.html?is-external=true" title="class or interface in javax.swing.event">TreeModelEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html#treeStructureChanged(javax.swing.event.TreeModelEvent)">treeStructureChanged</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelEvent.html?is-external=true" title="class or interface in javax.swing.event">TreeModelEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TreeModelAdapter()"><!-- --></A><H3> +TreeModelAdapter</H3> +<PRE> +public <B>TreeModelAdapter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="treeNodesChanged(javax.swing.event.TreeModelEvent)"><!-- --></A><H3> +treeNodesChanged</H3> +<PRE> +public void <B>treeNodesChanged</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelEvent.html?is-external=true" title="class or interface in javax.swing.event">TreeModelEvent</A>&nbsp;e)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true#treeNodesChanged(javax.swing.event.TreeModelEvent)" title="class or interface in javax.swing.event">treeNodesChanged</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="treeNodesInserted(javax.swing.event.TreeModelEvent)"><!-- --></A><H3> +treeNodesInserted</H3> +<PRE> +public void <B>treeNodesInserted</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelEvent.html?is-external=true" title="class or interface in javax.swing.event">TreeModelEvent</A>&nbsp;e)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true#treeNodesInserted(javax.swing.event.TreeModelEvent)" title="class or interface in javax.swing.event">treeNodesInserted</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="treeNodesRemoved(javax.swing.event.TreeModelEvent)"><!-- --></A><H3> +treeNodesRemoved</H3> +<PRE> +public void <B>treeNodesRemoved</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelEvent.html?is-external=true" title="class or interface in javax.swing.event">TreeModelEvent</A>&nbsp;e)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true#treeNodesRemoved(javax.swing.event.TreeModelEvent)" title="class or interface in javax.swing.event">treeNodesRemoved</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="treeStructureChanged(javax.swing.event.TreeModelEvent)"><!-- --></A><H3> +treeStructureChanged</H3> +<PRE> +public void <B>treeStructureChanged</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelEvent.html?is-external=true" title="class or interface in javax.swing.event">TreeModelEvent</A>&nbsp;e)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true#treeStructureChanged(javax.swing.event.TreeModelEvent)" title="class or interface in javax.swing.event">treeStructureChanged</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TreeModelAdapter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TreeModelAdapter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryAbstractCellEditor.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryAbstractCellEditor.html new file mode 100644 index 00000000000..28499427977 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryAbstractCellEditor.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryAbstractCellEditor (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryAbstractCellEditor (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryAbstractCellEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryAbstractCellEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryAbstractCellEditor</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryNodeEditor</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryAbstractCellEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryAbstractCellEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryElement.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryElement.html new file mode 100644 index 00000000000..c7113b4ba7f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryElement.html @@ -0,0 +1,197 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryElement (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryElement (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryElement.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryElement.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryElement</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> that return <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A></CODE></FONT></TD> +<TD><CODE><B>CategoryPath.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#categoryElementAt(int)">categoryElementAt</A></B>(int&nbsp;index)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the CategoryElement at the specified index.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> with parameters of type <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryPath.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html#addCategoryElement(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryElement)">addCategoryElement</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A>&nbsp;categoryElement)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the specified categoryElement to the end of the categoryElement set.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryElement.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryElement.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerLogRecordFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerLogRecordFilter.html new file mode 100644 index 00000000000..83426ef71d0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerLogRecordFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerLogRecordFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerLogRecordFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryExplorerLogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerLogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerLogRecordFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerLogRecordFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryExplorerLogRecordFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerLogRecordFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerModel.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerModel.html new file mode 100644 index 00000000000..34a396aa553 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerModel.html @@ -0,0 +1,239 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryExplorerModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> declared as <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_categoryModel">_categoryModel</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerTree.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#_model">_model</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerLogRecordFilter.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#_model">_model</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> that return <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerTree.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#getExplorerModel()">getExplorerModel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> with parameters of type <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html#CategoryExplorerLogRecordFilter(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)">CategoryExplorerLogRecordFilter</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A>&nbsp;model)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html#CategoryExplorerTree(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)">CategoryExplorerTree</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A>&nbsp;model)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a CategoryExplorerTree with a specific model.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#CategoryNodeEditor(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel)">CategoryNodeEditor</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A>&nbsp;model)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryExplorerModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerTree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerTree.html new file mode 100644 index 00000000000..f7e03679ea2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerTree.html @@ -0,0 +1,197 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryExplorerTree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerTree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> declared as <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_categoryExplorerTree">_categoryExplorerTree</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> that return <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getCategoryExplorerTree()">getCategoryExplorerTree</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryExplorerTree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryExplorerTree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryImmediateEditor.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryImmediateEditor.html new file mode 100644 index 00000000000..a33b12734e2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryImmediateEditor.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryImmediateEditor (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryImmediateEditor (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryImmediateEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryImmediateEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryImmediateEditor</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.viewer.categoryexplorer.CategoryImmediateEditor +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryImmediateEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryImmediateEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNode.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNode.html new file mode 100644 index 00000000000..ddfe88fb72b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNode.html @@ -0,0 +1,401 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryNode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> declared as <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_lastEditedNode">_lastEditedNode</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> that return <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#addCategory(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)">addCategory</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method altered by Richard Hurst such that it returns the CategoryNode + corresponding to the CategoryPath</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getCategoryNode(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)">getCategoryNode</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns null if no CategoryNode exists.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getCategoryNode(java.lang.String)">getCategoryNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;category)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getRootCategoryNode()">getRootCategoryNode</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> with parameters of type <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeRenderer.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html#buildToolTip(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">buildToolTip</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#collapse(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">collapse</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#collapseDescendants(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">collapseDescendants</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createCollapseMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">createCollapseMenuItem</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createExpandMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">createExpandMenuItem</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createPropertiesMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">createPropertiesMenuItem</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createSelectDescendantsMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">createSelectDescendantsMenuItem</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JMenuItem.html?is-external=true" title="class or interface in javax.swing">JMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#createUnselectDescendantsMenuItem(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">createUnselectDescendantsMenuItem</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#expand(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">expand</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#expandDescendants(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">expandDescendants</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#getDisplayedProperties(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">getDisplayedProperties</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreePath.html?is-external=true" title="class or interface in javax.swing.tree">TreePath</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#getTreePath(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">getTreePath</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreePath.html?is-external=true" title="class or interface in javax.swing.tree">TreePath</A></CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getTreePathToRoot(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">getTreePathToRoot</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the CategoryPath to the specified CategoryNode</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#refresh(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">refresh</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fires a nodechanged event on the SwingThread.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#setDescendantSelection(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)">setDescendantSelection</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + boolean&nbsp;selected)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#setParentSelection(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)">setParentSelection</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + boolean&nbsp;selected)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#showPopup(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, int, int)">showPopup</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + int&nbsp;x, + int&nbsp;y)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#showPropertiesDialog(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">showPropertiesDialog</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#update(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode, boolean)">update</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node, + boolean&nbsp;selected)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> with parameters of type <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#CategoryExplorerModel(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode)">CategoryExplorerModel</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A>&nbsp;node)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryNode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeEditor.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeEditor.html new file mode 100644 index 00000000000..af2725736ca --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeEditor.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditor (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditor (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryNodeEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditor</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> with parameters of type <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#CategoryImmediateEditor(javax.swing.JTree, org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer, org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditor)">CategoryImmediateEditor</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A>&nbsp;renderer, + <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A>&nbsp;editor)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryNodeEditor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeEditor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeEditorRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeEditorRenderer.html new file mode 100644 index 00000000000..4cd8a1e8c76 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeEditorRenderer.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditorRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditorRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryNodeEditorRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeEditorRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditorRenderer</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> declared as <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A></CODE></FONT></TD> +<TD><CODE><B>CategoryNodeEditor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html#_renderer">_renderer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryNodeEditorRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeEditorRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeRenderer.html new file mode 100644 index 00000000000..bd4b3d35504 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeRenderer.html @@ -0,0 +1,197 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryNodeRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryNodeEditorRenderer</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> with parameters of type <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html#CategoryImmediateEditor(javax.swing.JTree, org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer, org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditor)">CategoryImmediateEditor</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A>&nbsp;tree, + <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A>&nbsp;renderer, + <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A>&nbsp;editor)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryNodeRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryNodeRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryPath.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryPath.html new file mode 100644 index 00000000000..ac7fa6f9322 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryPath.html @@ -0,0 +1,198 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryPath.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryPath.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> with parameters of type <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#addCategory(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)">addCategory</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method altered by Richard Hurst such that it returns the CategoryNode + corresponding to the CategoryPath</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#getCategoryNode(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)">getCategoryNode</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns null if no CategoryNode exists.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>CategoryExplorerModel.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html#isCategoryPathActive(org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath)">isCategoryPathActive</A></B>(<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A>&nbsp;path)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useCategoryPath.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CategoryPath.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/TreeModelAdapter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/TreeModelAdapter.html new file mode 100644 index 00000000000..66c5c1666fd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/class-use/TreeModelAdapter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.TreeModelAdapter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.categoryexplorer.TreeModelAdapter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useTreeModelAdapter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TreeModelAdapter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.categoryexplorer.TreeModelAdapter</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.viewer.categoryexplorer.TreeModelAdapter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer//class-useTreeModelAdapter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TreeModelAdapter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-frame.html new file mode 100644 index 00000000000..ee6b1711a3c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-frame.html @@ -0,0 +1,55 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.viewer.categoryexplorer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html" target="classFrame">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryAbstractCellEditor</A> +<BR> +<A HREF="CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryElement</A> +<BR> +<A HREF="CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryExplorerLogRecordFilter</A> +<BR> +<A HREF="CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryExplorerModel</A> +<BR> +<A HREF="CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryExplorerTree</A> +<BR> +<A HREF="CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryImmediateEditor</A> +<BR> +<A HREF="CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryNode</A> +<BR> +<A HREF="CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryNodeEditor</A> +<BR> +<A HREF="CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryNodeEditorRenderer</A> +<BR> +<A HREF="CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryNodeRenderer</A> +<BR> +<A HREF="CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">CategoryPath</A> +<BR> +<A HREF="TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer" target="classFrame">TreeModelAdapter</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html new file mode 100644 index 00000000000..fc442a9172c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html @@ -0,0 +1,203 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.viewer.categoryexplorer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.lf5.viewer.categoryexplorer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.lf5.viewer.categoryexplorer +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryAbstractCellEditor</A></B></TD> +<TD>CategoryAbstractCellEditor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryElement</A></B></TD> +<TD>CategoryElement represents a single element or part of a Category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerLogRecordFilter</A></B></TD> +<TD>An implementation of LogRecordFilter based on a CategoryExplorerModel</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A></B></TD> +<TD>CategoryExplorerModel</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerTree</A></B></TD> +<TD>CategoryExplorerTree</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryImmediateEditor</A></B></TD> +<TD>CategoryImmediateEditor</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNode</A></B></TD> +<TD>CategoryNode</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditor</A></B></TD> +<TD>CategoryNodeEditor</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeEditorRenderer</A></B></TD> +<TD>CategoryNodeEditorRenderer</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A></B></TD> +<TD>CategoryNodeRenderer</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryPath</A></B></TD> +<TD>CategoryPath is a collection of CategoryItems which represent a + path of categories.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">TreeModelAdapter</A></B></TD> +<TD>Default implementation of TreeModelListener which does nothing.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html new file mode 100644 index 00000000000..c58f4181449 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html @@ -0,0 +1,187 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.viewer.categoryexplorer Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.lf5.viewer.categoryexplorer Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.lf5.viewer.categoryexplorer +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryAbstractCellEditor</B></A> (implements javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellEditor.html?is-external=true" title="class or interface in javax.swing.table">TableCellEditor</A>, javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellEditor</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeEditor</B></A></UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryElement</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryExplorerLogRecordFilter</B></A> (implements org.apache.log4j.lf5.<A HREF="../../../../../../org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A>) +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryPath</B></A><LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt"><B>Component</B></A> (implements java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt"><B>Container</B></A><UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing"><B>JComponent</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing"><B>JLabel</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true" title="class or interface in javax.swing">SwingConstants</A>) +<UL> +<LI TYPE="circle">javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree"><B>DefaultTreeCellRenderer</B></A> (implements javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellRenderer</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeRenderer</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeEditorRenderer</B></A></UL> +</UL> +</UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing"><B>JTree</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/Scrollable.html?is-external=true" title="class or interface in javax.swing">Scrollable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryExplorerTree</B></A></UL> +</UL> +</UL> +</UL> +<LI TYPE="circle">javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree"><B>DefaultMutableTreeNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/MutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree">MutableTreeNode</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNode</B></A></UL> +<LI TYPE="circle">javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree"><B>DefaultTreeCellEditor</B></A> (implements java.awt.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A>, javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellEditor</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeSelectionListener.html?is-external=true" title="class or interface in javax.swing.event">TreeSelectionListener</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryImmediateEditor</B></A></UL> +<LI TYPE="circle">javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true" title="class or interface in javax.swing.tree"><B>DefaultTreeModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryExplorerModel</B></A></UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>TreeModelAdapter</B></A> (implements javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A>) +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-use.html new file mode 100644 index 00000000000..fbd241fec26 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/package-use.html @@ -0,0 +1,233 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.lf5.viewer.categoryexplorer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.lf5.viewer.categoryexplorer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.lf5.viewer.categoryexplorer</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.categoryexplorer"><B>org.apache.log4j.lf5.viewer.categoryexplorer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> used by <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerTree.html#org.apache.log4j.lf5.viewer"><B>CategoryExplorerTree</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryExplorerTree</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A> used by <A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryAbstractCellEditor.html#org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryAbstractCellEditor</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryAbstractCellEditor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryElement.html#org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryElement</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryElement represents a single element or part of a Category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryExplorerModel.html#org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryExplorerModel</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryExplorerModel</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNode.html#org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNode</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryNode</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeEditor.html#org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeEditor</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryNodeEditor</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeEditorRenderer.html#org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeEditorRenderer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryNodeEditorRenderer</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryNodeRenderer.html#org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeRenderer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryNodeRenderer</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/class-use/CategoryPath.html#org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryPath</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CategoryPath is a collection of CategoryItems which represent a + path of categories.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/categoryexplorer/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/FilteredLogTableModel.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/FilteredLogTableModel.html new file mode 100644 index 00000000000..18d46cf9876 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/FilteredLogTableModel.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.FilteredLogTableModel (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.FilteredLogTableModel (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useFilteredLogTableModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FilteredLogTableModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.FilteredLogTableModel</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A> in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> that return <A HREF="../../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A></CODE></FONT></TD> +<TD><CODE><B>LogTable.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html#getFilteredLogTableModel()">getFilteredLogTableModel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useFilteredLogTableModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FilteredLogTableModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LF5SwingUtils.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LF5SwingUtils.html new file mode 100644 index 00000000000..2395d846978 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LF5SwingUtils.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LF5SwingUtils (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LF5SwingUtils (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLF5SwingUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LF5SwingUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LF5SwingUtils</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.viewer.LF5SwingUtils +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLF5SwingUtils.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LF5SwingUtils.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogBrokerMonitor.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogBrokerMonitor.html new file mode 100644 index 00000000000..4c656a5c713 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogBrokerMonitor.html @@ -0,0 +1,299 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LogBrokerMonitor (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LogBrokerMonitor (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogBrokerMonitor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogBrokerMonitor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LogBrokerMonitor</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.util"><B>org.apache.log4j.lf5.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.configure"><B>org.apache.log4j.lf5.viewer.configure</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> in <A HREF="../../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> declared as <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></CODE></FONT></TD> +<TD><CODE><B>LF5Appender.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/LF5Appender.html#_defaultLogMonitor">_defaultLogMonitor</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></CODE></FONT></TD> +<TD><CODE><B>AppenderFinalizer.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/AppenderFinalizer.html#_defaultMonitor">_defaultMonitor</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></CODE></FONT></TD> +<TD><CODE><B>LF5Appender.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/LF5Appender.html#_logMonitor">_logMonitor</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> that return <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></CODE></FONT></TD> +<TD><CODE><B>LF5Appender.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/LF5Appender.html#getDefaultInstance()">getDefaultInstance</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></CODE></FONT></TD> +<TD><CODE><B>LF5Appender.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/LF5Appender.html#getLogBrokerMonitor()">getLogBrokerMonitor</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> with parameters of type <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/AppenderFinalizer.html#AppenderFinalizer(org.apache.log4j.lf5.viewer.LogBrokerMonitor)">AppenderFinalizer</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;defaultMonitor)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/LF5Appender.html#LF5Appender(org.apache.log4j.lf5.viewer.LogBrokerMonitor)">LF5Appender</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;monitor)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a <code>LF5Appender<code> using an instance of + a <code>LogBrokerMonitor<code> supplied by the user.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> in <A HREF="../../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A> with parameters of type <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogFileParser.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/util/LogFileParser.html#parse(org.apache.log4j.lf5.viewer.LogBrokerMonitor)">parse</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;monitor)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts a new thread to parse the log file and create a LogRecord.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.configure"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A> in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</A> with parameters of type <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#ConfigurationManager(org.apache.log4j.lf5.viewer.LogBrokerMonitor, org.apache.log4j.lf5.viewer.LogTable)">ConfigurationManager</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;monitor, + <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A>&nbsp;table)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogBrokerMonitor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogBrokerMonitor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5Dialog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5Dialog.html new file mode 100644 index 00000000000..b5ce9484110 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5Dialog.html @@ -0,0 +1,200 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LogFactor5Dialog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LogFactor5Dialog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogFactor5Dialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5Dialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LogFactor5Dialog</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5ErrorDialog</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogFactor5ErrorDialog</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5InputDialog</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogFactor5InputDialog + + Creates a popup input dialog box so that users can enter + a URL to open a log file from.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5LoadingDialog</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogFactor5LoadingDialog</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogFactor5Dialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5Dialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5ErrorDialog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5ErrorDialog.html new file mode 100644 index 00000000000..da260ecd087 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5ErrorDialog.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LogFactor5ErrorDialog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LogFactor5ErrorDialog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogFactor5ErrorDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5ErrorDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LogFactor5ErrorDialog</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.viewer.LogFactor5ErrorDialog +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogFactor5ErrorDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5ErrorDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5InputDialog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5InputDialog.html new file mode 100644 index 00000000000..7bb17d96338 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5InputDialog.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LogFactor5InputDialog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LogFactor5InputDialog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogFactor5InputDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5InputDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LogFactor5InputDialog</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.viewer.LogFactor5InputDialog +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogFactor5InputDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5InputDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5LoadingDialog.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5LoadingDialog.html new file mode 100644 index 00000000000..fc1d9221a79 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogFactor5LoadingDialog.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LogFactor5LoadingDialog (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LogFactor5LoadingDialog (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogFactor5LoadingDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5LoadingDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LogFactor5LoadingDialog</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.viewer.LogFactor5LoadingDialog +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogFactor5LoadingDialog.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogFactor5LoadingDialog.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTable.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTable.html new file mode 100644 index 00000000000..052c7062ef4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTable.html @@ -0,0 +1,226 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LogTable (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LogTable (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogTable.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTable.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LogTable</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.configure"><B>org.apache.log4j.lf5.viewer.configure</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> declared as <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_table">_table</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> with parameters of type <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#setView(java.lang.String, org.apache.log4j.lf5.viewer.LogTable)">setView</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;viewString, + <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A>&nbsp;table)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.configure"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A> in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</A> with parameters of type <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#ConfigurationManager(org.apache.log4j.lf5.viewer.LogBrokerMonitor, org.apache.log4j.lf5.viewer.LogTable)">ConfigurationManager</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;monitor, + <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A>&nbsp;table)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogTable.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTable.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableColumn.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableColumn.html new file mode 100644 index 00000000000..0c49331d4f1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableColumn.html @@ -0,0 +1,309 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LogTableColumn (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LogTableColumn (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogTableColumn.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableColumn.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LogTableColumn</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A> in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> declared as <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>[]</CODE></FONT></TD> +<TD><CODE><B>LogTable.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html#_colNames">_colNames</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#CATEGORY">CATEGORY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#DATE">DATE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#LEVEL">LEVEL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#LOCATION">LOCATION</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#MESSAGE">MESSAGE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#MESSAGE_NUM">MESSAGE_NUM</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#NDC">NDC</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#THREAD">THREAD</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#THROWN">THROWN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> that return <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>[]</CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#getLogTableColumnArray()">getLogTableColumnArray</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert a column label into a LogTableColumn object.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> with parameters of type <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#createLogTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)">createLogTableColumnMenuItem</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getLogTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)">getLogTableColumnMenuItem</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBoxMenuItem.html?is-external=true" title="class or interface in javax.swing">JCheckBoxMenuItem</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#getTableColumnMenuItem(org.apache.log4j.lf5.viewer.LogTableColumn)">getTableColumnMenuItem</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogTableColumn.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableColumn.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableColumnFormatException.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableColumnFormatException.html new file mode 100644 index 00000000000..f0b2cfeeec1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableColumnFormatException.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LogTableColumnFormatException (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LogTableColumnFormatException (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogTableColumnFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableColumnFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LogTableColumnFormatException</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumnFormatException</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumnFormatException</A> in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> that throw <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumnFormatException</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></CODE></FONT></TD> +<TD><CODE><B>LogTableColumn.</B><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;column)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert a column label into a LogTableColumn object.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogTableColumnFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableColumnFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableModel.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableModel.html new file mode 100644 index 00000000000..a79e8cb7770 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableModel.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LogTableModel (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LogTableModel (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogTableModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LogTableModel</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.viewer.LogTableModel +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogTableModel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableModel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableRowRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableRowRenderer.html new file mode 100644 index 00000000000..f90df16e5ee --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/LogTableRowRenderer.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.LogTableRowRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.LogTableRowRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogTableRowRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableRowRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.LogTableRowRenderer</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.viewer.LogTableRowRenderer +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useLogTableRowRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogTableRowRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/TrackingAdjustmentListener.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/TrackingAdjustmentListener.html new file mode 100644 index 00000000000..9c626f9784c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/class-use/TrackingAdjustmentListener.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.TrackingAdjustmentListener (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.TrackingAdjustmentListener (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useTrackingAdjustmentListener.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TrackingAdjustmentListener.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.TrackingAdjustmentListener</B></H2> +</CENTER> +No usage of org.apache.log4j.lf5.viewer.TrackingAdjustmentListener +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer//class-useTrackingAdjustmentListener.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TrackingAdjustmentListener.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html new file mode 100644 index 00000000000..9ef8f30bac9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html @@ -0,0 +1,532 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ConfigurationManager (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ConfigurationManager (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ConfigurationManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ConfigurationManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.configure</FONT> +<BR> +Class ConfigurationManager</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.configure.ConfigurationManager</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>ConfigurationManager</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +<p>ConfigurationManager handles the storage and retrival of the state of + the CategoryExplorer +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Richard Hurst, Brad Marlborough</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#ConfigurationManager(org.apache.log4j.lf5.viewer.LogBrokerMonitor, org.apache.log4j.lf5.viewer.LogTable)">ConfigurationManager</A></B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;monitor, + <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A>&nbsp;table)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#collapseTree()">collapseTree</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#deleteConfigurationFile()">deleteConfigurationFile</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#getFilename()">getFilename</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#getValue(org.w3c.dom.NamedNodeMap, java.lang.String)">getValue</A></B>(org.w3c.dom.NamedNodeMap&nbsp;map, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;attr)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#load()">load</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#processCategories(org.w3c.dom.Document)">processCategories</A></B>(org.w3c.dom.Document&nbsp;doc)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#processLogLevelColors(org.w3c.dom.Document)">processLogLevelColors</A></B>(org.w3c.dom.Document&nbsp;doc)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#processLogLevels(org.w3c.dom.Document)">processLogLevels</A></B>(org.w3c.dom.Document&nbsp;doc)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#processLogTableColumns(org.w3c.dom.Document)">processLogTableColumns</A></B>(org.w3c.dom.Document&nbsp;doc)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#processRecordFilter(org.w3c.dom.Document)">processRecordFilter</A></B>(org.w3c.dom.Document&nbsp;doc)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#reset()">reset</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#save()">save</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#selectAllNodes()">selectAllNodes</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#store(java.lang.String)">store</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html#treePathToString(javax.swing.tree.TreePath)">treePathToString</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreePath.html?is-external=true" title="class or interface in javax.swing.tree">TreePath</A>&nbsp;path)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ConfigurationManager(org.apache.log4j.lf5.viewer.LogBrokerMonitor, org.apache.log4j.lf5.viewer.LogTable)"><!-- --></A><H3> +ConfigurationManager</H3> +<PRE> +public <B>ConfigurationManager</B>(<A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A>&nbsp;monitor, + <A HREF="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A>&nbsp;table)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="save()"><!-- --></A><H3> +save</H3> +<PRE> +public void <B>save</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="reset()"><!-- --></A><H3> +reset</H3> +<PRE> +public void <B>reset</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="treePathToString(javax.swing.tree.TreePath)"><!-- --></A><H3> +treePathToString</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>treePathToString</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreePath.html?is-external=true" title="class or interface in javax.swing.tree">TreePath</A>&nbsp;path)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="load()"><!-- --></A><H3> +load</H3> +<PRE> +protected void <B>load</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="processRecordFilter(org.w3c.dom.Document)"><!-- --></A><H3> +processRecordFilter</H3> +<PRE> +protected void <B>processRecordFilter</B>(org.w3c.dom.Document&nbsp;doc)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="processCategories(org.w3c.dom.Document)"><!-- --></A><H3> +processCategories</H3> +<PRE> +protected void <B>processCategories</B>(org.w3c.dom.Document&nbsp;doc)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="processLogLevels(org.w3c.dom.Document)"><!-- --></A><H3> +processLogLevels</H3> +<PRE> +protected void <B>processLogLevels</B>(org.w3c.dom.Document&nbsp;doc)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="processLogLevelColors(org.w3c.dom.Document)"><!-- --></A><H3> +processLogLevelColors</H3> +<PRE> +protected void <B>processLogLevelColors</B>(org.w3c.dom.Document&nbsp;doc)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="processLogTableColumns(org.w3c.dom.Document)"><!-- --></A><H3> +processLogTableColumns</H3> +<PRE> +protected void <B>processLogTableColumns</B>(org.w3c.dom.Document&nbsp;doc)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getValue(org.w3c.dom.NamedNodeMap, java.lang.String)"><!-- --></A><H3> +getValue</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getValue</B>(org.w3c.dom.NamedNodeMap&nbsp;map, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;attr)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="collapseTree()"><!-- --></A><H3> +collapseTree</H3> +<PRE> +protected void <B>collapseTree</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="selectAllNodes()"><!-- --></A><H3> +selectAllNodes</H3> +<PRE> +protected void <B>selectAllNodes</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="store(java.lang.String)"><!-- --></A><H3> +store</H3> +<PRE> +protected void <B>store</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="deleteConfigurationFile()"><!-- --></A><H3> +deleteConfigurationFile</H3> +<PRE> +protected void <B>deleteConfigurationFile</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFilename()"><!-- --></A><H3> +getFilename</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFilename</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ConfigurationManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ConfigurationManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/MRUFileManager.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/MRUFileManager.html new file mode 100644 index 00000000000..5312d6d25e1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/MRUFileManager.html @@ -0,0 +1,591 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +MRUFileManager (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="MRUFileManager (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MRUFileManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MRUFileManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.lf5.viewer.configure</FONT> +<BR> +Class MRUFileManager</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.lf5.viewer.configure.MRUFileManager</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>MRUFileManager</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +<p>MRUFileManager handles the storage and retrival the most + recently opened log files. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Brad Marlborough, Richard Hurst</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#MRUFileManager()">MRUFileManager</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#MRUFileManager(int)">MRUFileManager</A></B>(int&nbsp;maxSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#createConfigurationDirectory()">createConfigurationDirectory</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates the directory where the MRU file list will be written.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getFile(int)">getFile</A></B>(int&nbsp;index)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a particular file name stored in a MRU file + list based on an index value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getFilename()">getFilename</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getInputStream(java.io.File)">getInputStream</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A>&nbsp;file)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an input stream for the corresponding file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getInputStream(int)">getInputStream</A></B>(int&nbsp;index)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a input stream to the resource at the specified index</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getInputStream(java.net.URL)">getInputStream</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an input stream for the corresponding URL.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#getMRUFileList()">getMRUFileList</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the list of files stored in the MRU file list.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#load()">load</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loads the MRU file list in from a file and stores it in a LinkedList.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#moveToTop(int)">moveToTop</A></B>(int&nbsp;index)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Moves the the index to the top of the MRU List</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#save()">save</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Saves a list of MRU files out to a file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#set(java.io.File)">set</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A>&nbsp;file)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a file name to the MRU file list.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#set(java.net.URL)">set</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a url to the MRU file list.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#setMaxSize(int)">setMaxSize</A></B>(int&nbsp;maxSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ensures that the MRU list will have a MaxSize.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#setMRU(java.lang.Object)">setMRU</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds an object to the mru.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html#size()">size</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the size of the MRU file list.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="MRUFileManager()"><!-- --></A><H3> +MRUFileManager</H3> +<PRE> +public <B>MRUFileManager</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="MRUFileManager(int)"><!-- --></A><H3> +MRUFileManager</H3> +<PRE> +public <B>MRUFileManager</B>(int&nbsp;maxSize)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="save()"><!-- --></A><H3> +save</H3> +<PRE> +public void <B>save</B>()</PRE> +<DL> +<DD>Saves a list of MRU files out to a file. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="size()"><!-- --></A><H3> +size</H3> +<PRE> +public int <B>size</B>()</PRE> +<DL> +<DD>Gets the size of the MRU file list. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFile(int)"><!-- --></A><H3> +getFile</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getFile</B>(int&nbsp;index)</PRE> +<DL> +<DD>Returns a particular file name stored in a MRU file + list based on an index value. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getInputStream(int)"><!-- --></A><H3> +getInputStream</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A> <B>getInputStream</B>(int&nbsp;index) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A>, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</A></PRE> +<DL> +<DD>Returns a input stream to the resource at the specified index +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="set(java.io.File)"><!-- --></A><H3> +set</H3> +<PRE> +public void <B>set</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A>&nbsp;file)</PRE> +<DL> +<DD>Adds a file name to the MRU file list. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="set(java.net.URL)"><!-- --></A><H3> +set</H3> +<PRE> +public void <B>set</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url)</PRE> +<DL> +<DD>Adds a url to the MRU file list. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMRUFileList()"><!-- --></A><H3> +getMRUFileList</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>getMRUFileList</B>()</PRE> +<DL> +<DD>Gets the list of files stored in the MRU file list. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="moveToTop(int)"><!-- --></A><H3> +moveToTop</H3> +<PRE> +public void <B>moveToTop</B>(int&nbsp;index)</PRE> +<DL> +<DD>Moves the the index to the top of the MRU List +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>index</CODE> - The index to be first in the mru list</DL> +</DD> +</DL> +<HR> + +<A NAME="createConfigurationDirectory()"><!-- --></A><H3> +createConfigurationDirectory</H3> +<PRE> +public static void <B>createConfigurationDirectory</B>()</PRE> +<DL> +<DD>Creates the directory where the MRU file list will be written. + The "lf5" directory is created in the Documents and Settings + directory on Windows 2000 machines and where ever the user.home + variable points on all other platforms. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getInputStream(java.io.File)"><!-- --></A><H3> +getInputStream</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A> <B>getInputStream</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A>&nbsp;file) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A>, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</A></PRE> +<DL> +<DD>Gets an input stream for the corresponding file. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>file</CODE> - The file to create the input stream from. +<DT><B>Returns:</B><DD>InputStream +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="getInputStream(java.net.URL)"><!-- --></A><H3> +getInputStream</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A> <B>getInputStream</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Gets an input stream for the corresponding URL. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>url</CODE> - The url to create the input stream from. +<DT><B>Returns:</B><DD>InputStream +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="setMRU(java.lang.Object)"><!-- --></A><H3> +setMRU</H3> +<PRE> +protected void <B>setMRU</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD>Adds an object to the mru. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="load()"><!-- --></A><H3> +load</H3> +<PRE> +protected void <B>load</B>()</PRE> +<DL> +<DD>Loads the MRU file list in from a file and stores it in a LinkedList. + If no file exists, a new LinkedList is created. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFilename()"><!-- --></A><H3> +getFilename</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFilename</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setMaxSize(int)"><!-- --></A><H3> +setMaxSize</H3> +<PRE> +protected void <B>setMaxSize</B>(int&nbsp;maxSize)</PRE> +<DL> +<DD>Ensures that the MRU list will have a MaxSize. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MRUFileManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MRUFileManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/class-use/ConfigurationManager.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/class-use/ConfigurationManager.html new file mode 100644 index 00000000000..ed996534c83 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/class-use/ConfigurationManager.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.configure.ConfigurationManager (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.configure.ConfigurationManager (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/configure//class-useConfigurationManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ConfigurationManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.configure.ConfigurationManager</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> declared as <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_configurationManager">_configurationManager</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/configure//class-useConfigurationManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ConfigurationManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/class-use/MRUFileManager.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/class-use/MRUFileManager.html new file mode 100644 index 00000000000..97f0731140d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/class-use/MRUFileManager.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.lf5.viewer.configure.MRUFileManager (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.lf5.viewer.configure.MRUFileManager (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/configure//class-useMRUFileManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MRUFileManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.lf5.viewer.configure.MRUFileManager</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A> in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> declared as <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A></CODE></FONT></TD> +<TD><CODE><B>LogBrokerMonitor.</B><B><A HREF="../../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#_mruFileManager">_mruFileManager</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../../index.html?org/apache/log4j/lf5/viewer/configure//class-useMRUFileManager.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MRUFileManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-frame.html new file mode 100644 index 00000000000..99968969c40 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-frame.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.viewer.configure (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html" target="classFrame">org.apache.log4j.lf5.viewer.configure</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure" target="classFrame">ConfigurationManager</A> +<BR> +<A HREF="MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure" target="classFrame">MRUFileManager</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-summary.html new file mode 100644 index 00000000000..d8bbbb6f463 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-summary.html @@ -0,0 +1,164 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.viewer.configure (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.lf5.viewer.configure (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/net/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/configure/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.lf5.viewer.configure +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure">ConfigurationManager</A></B></TD> +<TD>ConfigurationManager handles the storage and retrival of the state of + the CategoryExplorer</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure">MRUFileManager</A></B></TD> +<TD>MRUFileManager handles the storage and retrival the most + recently opened log files.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/net/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/configure/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-tree.html new file mode 100644 index 00000000000..d1a74aac6ac --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-tree.html @@ -0,0 +1,154 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.viewer.configure Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.lf5.viewer.configure Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/net/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/configure/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.lf5.viewer.configure +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.configure.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><B>ConfigurationManager</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.configure.<A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><B>MRUFileManager</B></A></UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../../org/apache/log4j/net/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/configure/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-use.html new file mode 100644 index 00000000000..c2d9e21a546 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/configure/package-use.html @@ -0,0 +1,179 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.lf5.viewer.configure (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.lf5.viewer.configure (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/configure/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.lf5.viewer.configure</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</A> used by <A HREF="../../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/class-use/ConfigurationManager.html#org.apache.log4j.lf5.viewer"><B>ConfigurationManager</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConfigurationManager handles the storage and retrival of the state of + the CategoryExplorer</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../../org/apache/log4j/lf5/viewer/configure/class-use/MRUFileManager.html#org.apache.log4j.lf5.viewer"><B>MRUFileManager</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MRUFileManager handles the storage and retrival the most + recently opened log files.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/lf5/viewer/configure/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-frame.html new file mode 100644 index 00000000000..8db0b3fca67 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-frame.html @@ -0,0 +1,66 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.viewer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html" target="classFrame">org.apache.log4j.lf5.viewer</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">FilteredLogTableModel</A> +<BR> +<A HREF="LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LF5SwingUtils</A> +<BR> +<A HREF="LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogBrokerMonitor</A> +<BR> +<A HREF="LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogFactor5Dialog</A> +<BR> +<A HREF="LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogFactor5ErrorDialog</A> +<BR> +<A HREF="LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogFactor5InputDialog</A> +<BR> +<A HREF="LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogFactor5LoadingDialog</A> +<BR> +<A HREF="LogTable.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogTable</A> +<BR> +<A HREF="LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogTableColumn</A> +<BR> +<A HREF="LogTableModel.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogTableModel</A> +<BR> +<A HREF="LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogTableRowRenderer</A> +<BR> +<A HREF="TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">TrackingAdjustmentListener</A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Exceptions</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer" target="classFrame">LogTableColumnFormatException</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-summary.html new file mode 100644 index 00000000000..85f2cfe72b7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-summary.html @@ -0,0 +1,223 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.viewer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.lf5.viewer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.lf5.viewer +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">FilteredLogTableModel</A></B></TD> +<TD>A TableModel for LogRecords which includes filtering support.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer">LF5SwingUtils</A></B></TD> +<TD>Provides methods to accomplish common yet non-trivial tasks + with Swing.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer">LogBrokerMonitor</A></B></TD> +<TD>LogBrokerMonitor +.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A></B></TD> +<TD>LogFactor5Dialog</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5ErrorDialog</A></B></TD> +<TD>LogFactor5ErrorDialog</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5InputDialog</A></B></TD> +<TD>LogFactor5InputDialog + + Creates a popup input dialog box so that users can enter + a URL to open a log file from.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5LoadingDialog</A></B></TD> +<TD>LogFactor5LoadingDialog</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">LogTable</A></B></TD> +<TD>LogTable.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A></B></TD> +<TD>LogTableColumn</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer">LogTableModel</A></B></TD> +<TD>LogTableModel</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer">LogTableRowRenderer</A></B></TD> +<TD>LogTableRowRenderer</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer">TrackingAdjustmentListener</A></B></TD> +<TD>An AdjustmentListener which ensures that an Adjustable (e.g.</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Exception Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumnFormatException</A></B></TD> +<TD>Thrown to indicate that the client has attempted to convert a string + to one the LogLevel types, but the string does not have the appropriate + format.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-tree.html new file mode 100644 index 00000000000..e34dc777e89 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-tree.html @@ -0,0 +1,194 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.lf5.viewer Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.lf5.viewer Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.lf5.viewer +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table"><B>AbstractTableModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A>) +<UL> +<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table"><B>DefaultTableModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableModel</B></A></UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>FilteredLogTableModel</B></A></UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt"><B>Component</B></A> (implements java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt"><B>Container</B></A><UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing"><B>JComponent</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing"><B>JLabel</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true" title="class or interface in javax.swing">SwingConstants</A>) +<UL> +<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table"><B>DefaultTableCellRenderer</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">TableCellRenderer</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableRowRenderer</B></A></UL> +</UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing"><B>JTable</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/CellEditorListener.html?is-external=true" title="class or interface in javax.swing.event">CellEditorListener</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/ListSelectionListener.html?is-external=true" title="class or interface in javax.swing.event">ListSelectionListener</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/RowSorterListener.html?is-external=true" title="class or interface in javax.swing.event">RowSorterListener</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/Scrollable.html?is-external=true" title="class or interface in javax.swing">Scrollable</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TableColumnModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableColumnModelListener</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTable</B></A></UL> +</UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt"><B>Window</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>) +<UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt"><B>Dialog</B></A><UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing"><B>JDialog</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/RootPaneContainer.html?is-external=true" title="class or interface in javax.swing">RootPaneContainer</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5Dialog</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5ErrorDialog</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5InputDialog</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5LoadingDialog</B></A></UL> +</UL> +</UL> +</UL> +</UL> +</UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer"><B>LF5SwingUtils</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer"><B>LogBrokerMonitor</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableColumn</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableColumnFormatException</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer"><B>TrackingAdjustmentListener</B></A> (implements java.awt.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/AdjustmentListener.html?is-external=true" title="class or interface in java.awt.event">AdjustmentListener</A>) +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/util/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-use.html new file mode 100644 index 00000000000..48c72f318c3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/lf5/viewer/package-use.html @@ -0,0 +1,263 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.lf5.viewer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.lf5.viewer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.lf5.viewer</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.util"><B>org.apache.log4j.lf5.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer"><B>org.apache.log4j.lf5.viewer</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5.viewer.configure"><B>org.apache.log4j.lf5.viewer.configure</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> used by <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/class-use/LogBrokerMonitor.html#org.apache.log4j.lf5"><B>LogBrokerMonitor</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogBrokerMonitor +.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> used by <A HREF="../../../../../org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/class-use/LogBrokerMonitor.html#org.apache.log4j.lf5.util"><B>LogBrokerMonitor</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogBrokerMonitor +.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> used by <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/class-use/FilteredLogTableModel.html#org.apache.log4j.lf5.viewer"><B>FilteredLogTableModel</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A TableModel for LogRecords which includes filtering support.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/class-use/LogFactor5Dialog.html#org.apache.log4j.lf5.viewer"><B>LogFactor5Dialog</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogFactor5Dialog</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/class-use/LogTable.html#org.apache.log4j.lf5.viewer"><B>LogTable</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogTable.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/class-use/LogTableColumn.html#org.apache.log4j.lf5.viewer"><B>LogTableColumn</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogTableColumn</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/class-use/LogTableColumnFormatException.html#org.apache.log4j.lf5.viewer"><B>LogTableColumnFormatException</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thrown to indicate that the client has attempted to convert a string + to one the LogLevel types, but the string does not have the appropriate + format.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5.viewer.configure"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../../org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A> used by <A HREF="../../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/class-use/LogBrokerMonitor.html#org.apache.log4j.lf5.viewer.configure"><B>LogBrokerMonitor</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogBrokerMonitor +.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../../org/apache/log4j/lf5/viewer/class-use/LogTable.html#org.apache.log4j.lf5.viewer.configure"><B>LogTable</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LogTable.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/lf5/viewer/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/JMSAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/JMSAppender.html new file mode 100644 index 00000000000..bb28c24b17f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/JMSAppender.html @@ -0,0 +1,937 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +JMSAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="JMSAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JMSAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/JMSAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JMSAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class JMSAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.JMSAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>JMSAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></DL> +</PRE> + +<P> +A simple appender that publishes events to a JMS Topic. The events + are serialized and transmitted as JMS message type <CODE>ObjectMessage</CODE>. + + <p>JMS <CODE>topics</CODE> and <CODE>topic + connection factories</CODE> are administered objects that are retrieved + using JNDI messaging which in turn requires the retreival of a JNDI + <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A>. + + <p>There are two common methods for retrieving a JNDI <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A>. If a file resource named <em>jndi.properties</em> is + available to the JNDI API, it will use the information found + therein to retrieve an initial JNDI context. To obtain an initial + context, your code will simply call: + + <pre> + InitialContext jndiContext = new InitialContext(); + </pre> + + <p>Calling the no-argument <code>InitialContext()</code> method + will also work from within Enterprise Java Beans (EJBs) because it + is part of the EJB contract for application servers to provide each + bean an environment naming context (ENC). + + <p>In the second approach, several predetermined properties are set + and these properties are passed to the <code>InitialContext</code> + contructor to connect to the naming service provider. For example, + to connect to JBoss naming service one would write: + +<pre> + Properties env = new Properties( ); + env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); + env.put(Context.PROVIDER_URL, "jnp://hostname:1099"); + env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); + InitialContext jndiContext = new InitialContext(env); +</pre> + + where <em>hostname</em> is the host where the JBoss applicaiton + server is running. + + <p>To connect to the the naming service of Weblogic application + server one would write: + +<pre> + Properties env = new Properties( ); + env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); + env.put(Context.PROVIDER_URL, "t3://localhost:7001"); + InitialContext jndiContext = new InitialContext(env); +</pre> + + <p>Other JMS providers will obviously require different values. + + The initial JNDI context can be obtained by calling the + no-argument <code>InitialContext()</code> method in EJBs. Only + clients running in a separate JVM need to be concerned about the + <em>jndi.properties</em> file and calling <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/InitialContext.html?is-external=true#InitialContext()" title="class or interface in javax.naming"><CODE>InitialContext.InitialContext()</CODE></A> or alternatively correctly + setting the different properties before calling <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/InitialContext.html?is-external=true#InitialContext(java.util.Hashtable)" title="class or interface in javax.naming"><CODE>InitialContext.InitialContext(java.util.Hashtable)</CODE></A> method. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#JMSAppender()">JMSAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Options are activated and become effective only after calling + this method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method called by <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> method to + do most of the real appending work.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#checkEntryConditions()">checkEntryConditions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close this JMSAppender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getInitialContextFactoryName()">getInitialContextFactoryName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>InitialContextFactoryName</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getLocationInfo()">getLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>LocationInfo</b> property which + determines whether location (stack) info is sent to the remote + subscriber.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getPassword()">getPassword</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getProviderURL()">getProviderURL</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getSecurityCredentials()">getSecurityCredentials</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getSecurityPrincipalName()">getSecurityPrincipalName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getTopicBindingName()">getTopicBindingName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>TopicBindingName</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;javax.jms.TopicConnection</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getTopicConnection()">getTopicConnection</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the TopicConnection used for this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getTopicConnectionFactoryBindingName()">getTopicConnectionFactoryBindingName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>TopicConnectionFactoryBindingName</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;javax.jms.TopicPublisher</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getTopicPublisher()">getTopicPublisher</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the TopicPublisher used for this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;javax.jms.TopicSession</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getTopicSession()">getTopicSession</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the TopicSession used for this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#getUserName()">getUserName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#lookup(javax.naming.Context, java.lang.String)">lookup</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A>&nbsp;ctx, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The JMSAppender sends serialized events and consequently does not + require a layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setInitialContextFactoryName(java.lang.String)">setInitialContextFactoryName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;initialContextFactoryName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting the <b>InitialContextFactoryName</b> method will cause + this <code>JMSAppender</code> instance to use the <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/InitialContext.html?is-external=true#InitialContext(java.util.Hashtable)" title="class or interface in javax.naming"><CODE>InitialContext.InitialContext(Hashtable)</CODE></A> method instead of the + no-argument constructor.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setLocationInfo(boolean)">setLocationInfo</A></B>(boolean&nbsp;locationInfo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If true, the information sent to the remote subscriber will + include caller's location information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setPassword(java.lang.String)">setPassword</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;password)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The paswword to use when creating a topic session.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setProviderURL(java.lang.String)">setProviderURL</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;providerURL)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setSecurityCredentials(java.lang.String)">setSecurityCredentials</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;securityCredentials)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setSecurityPrincipalName(java.lang.String)">setSecurityPrincipalName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;securityPrincipalName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setTopicBindingName(java.lang.String)">setTopicBindingName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;topicBindingName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>TopicBindingName</b> option takes a + string value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setTopicConnectionFactoryBindingName(java.lang.String)">setTopicConnectionFactoryBindingName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;tcfBindingName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>TopicConnectionFactoryBindingName</b> option takes a + string value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setURLPkgPrefixes(java.lang.String)">setURLPkgPrefixes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;urlPkgPrefixes)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setUserName(java.lang.String)">setUserName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;userName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The user name to use when <CODE>creating a topic session</CODE>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="JMSAppender()"><!-- --></A><H3> +JMSAppender</H3> +<PRE> +public <B>JMSAppender</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setTopicConnectionFactoryBindingName(java.lang.String)"><!-- --></A><H3> +setTopicConnectionFactoryBindingName</H3> +<PRE> +public void <B>setTopicConnectionFactoryBindingName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;tcfBindingName)</PRE> +<DL> +<DD>The <b>TopicConnectionFactoryBindingName</b> option takes a + string value. Its value will be used to lookup the appropriate + <code>TopicConnectionFactory</code> from the JNDI context. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTopicConnectionFactoryBindingName()"><!-- --></A><H3> +getTopicConnectionFactoryBindingName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getTopicConnectionFactoryBindingName</B>()</PRE> +<DL> +<DD>Returns the value of the <b>TopicConnectionFactoryBindingName</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setTopicBindingName(java.lang.String)"><!-- --></A><H3> +setTopicBindingName</H3> +<PRE> +public void <B>setTopicBindingName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;topicBindingName)</PRE> +<DL> +<DD>The <b>TopicBindingName</b> option takes a + string value. Its value will be used to lookup the appropriate + <code>Topic</code> from the JNDI context. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTopicBindingName()"><!-- --></A><H3> +getTopicBindingName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getTopicBindingName</B>()</PRE> +<DL> +<DD>Returns the value of the <b>TopicBindingName</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocationInfo()"><!-- --></A><H3> +getLocationInfo</H3> +<PRE> +public boolean <B>getLocationInfo</B>()</PRE> +<DL> +<DD>Returns value of the <b>LocationInfo</b> property which + determines whether location (stack) info is sent to the remote + subscriber. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Options are activated and become effective only after calling + this method. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="lookup(javax.naming.Context, java.lang.String)"><!-- --></A><H3> +lookup</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>lookup</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A>&nbsp;ctx, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="checkEntryConditions()"><!-- --></A><H3> +checkEntryConditions</H3> +<PRE> +protected boolean <B>checkEntryConditions</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD>Close this JMSAppender. Closing releases all resources used by the + appender. A closed appender cannot be re-opened. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>This method called by <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> method to + do most of the real appending work. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getInitialContextFactoryName()"><!-- --></A><H3> +getInitialContextFactoryName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getInitialContextFactoryName</B>()</PRE> +<DL> +<DD>Returns the value of the <b>InitialContextFactoryName</b> option. + See <A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setInitialContextFactoryName(java.lang.String)"><CODE>setInitialContextFactoryName(java.lang.String)</CODE></A> for more details on the + meaning of this option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setInitialContextFactoryName(java.lang.String)"><!-- --></A><H3> +setInitialContextFactoryName</H3> +<PRE> +public void <B>setInitialContextFactoryName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;initialContextFactoryName)</PRE> +<DL> +<DD>Setting the <b>InitialContextFactoryName</b> method will cause + this <code>JMSAppender</code> instance to use the <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/InitialContext.html?is-external=true#InitialContext(java.util.Hashtable)" title="class or interface in javax.naming"><CODE>InitialContext.InitialContext(Hashtable)</CODE></A> method instead of the + no-argument constructor. If you set this option, you should also + at least set the <b>ProviderURL</b> option. + + <p>See also <A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setProviderURL(java.lang.String)"><CODE>setProviderURL(String)</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getProviderURL()"><!-- --></A><H3> +getProviderURL</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getProviderURL</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setProviderURL(java.lang.String)"><!-- --></A><H3> +setProviderURL</H3> +<PRE> +public void <B>setProviderURL</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;providerURL)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setURLPkgPrefixes(java.lang.String)"><!-- --></A><H3> +setURLPkgPrefixes</H3> +<PRE> +public void <B>setURLPkgPrefixes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;urlPkgPrefixes)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSecurityCredentials()"><!-- --></A><H3> +getSecurityCredentials</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSecurityCredentials</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSecurityCredentials(java.lang.String)"><!-- --></A><H3> +setSecurityCredentials</H3> +<PRE> +public void <B>setSecurityCredentials</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;securityCredentials)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSecurityPrincipalName()"><!-- --></A><H3> +getSecurityPrincipalName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSecurityPrincipalName</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSecurityPrincipalName(java.lang.String)"><!-- --></A><H3> +setSecurityPrincipalName</H3> +<PRE> +public void <B>setSecurityPrincipalName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;securityPrincipalName)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getUserName()"><!-- --></A><H3> +getUserName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUserName</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setUserName(java.lang.String)"><!-- --></A><H3> +setUserName</H3> +<PRE> +public void <B>setUserName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;userName)</PRE> +<DL> +<DD>The user name to use when <CODE>creating a topic session</CODE>. If you set this option, you should + also set the <b>Password</b> option. See <A HREF="../../../../org/apache/log4j/net/JMSAppender.html#setPassword(java.lang.String)"><CODE>setPassword(String)</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPassword()"><!-- --></A><H3> +getPassword</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getPassword</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setPassword(java.lang.String)"><!-- --></A><H3> +setPassword</H3> +<PRE> +public void <B>setPassword</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;password)</PRE> +<DL> +<DD>The paswword to use when creating a topic session. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLocationInfo(boolean)"><!-- --></A><H3> +setLocationInfo</H3> +<PRE> +public void <B>setLocationInfo</B>(boolean&nbsp;locationInfo)</PRE> +<DL> +<DD>If true, the information sent to the remote subscriber will + include caller's location information. By default no location + information is sent to the subscriber. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTopicConnection()"><!-- --></A><H3> +getTopicConnection</H3> +<PRE> +protected javax.jms.TopicConnection <B>getTopicConnection</B>()</PRE> +<DL> +<DD>Returns the TopicConnection used for this appender. Only valid after + activateOptions() method has been invoked. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTopicSession()"><!-- --></A><H3> +getTopicSession</H3> +<PRE> +protected javax.jms.TopicSession <B>getTopicSession</B>()</PRE> +<DL> +<DD>Returns the TopicSession used for this appender. Only valid after + activateOptions() method has been invoked. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTopicPublisher()"><!-- --></A><H3> +getTopicPublisher</H3> +<PRE> +protected javax.jms.TopicPublisher <B>getTopicPublisher</B>()</PRE> +<DL> +<DD>Returns the TopicPublisher used for this appender. Only valid after + activateOptions() method has been invoked. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>The JMSAppender sends serialized events and consequently does not + require a layout. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JMSAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/JMSAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JMSAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/JMSSink.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/JMSSink.html new file mode 100644 index 00000000000..eaa6dec2499 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/JMSSink.html @@ -0,0 +1,325 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +JMSSink (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="JMSSink (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JMSSink.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/JMSSink.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JMSSink.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class JMSSink</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.JMSSink</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>javax.jms.MessageListener</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>JMSSink</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements javax.jms.MessageListener</DL> +</PRE> + +<P> +A simple application that consumes logging events sent by a <A HREF="../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net"><CODE>JMSAppender</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSSink.html#JMSSink(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">JMSSink</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;tcfBindingName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;topicBindingName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;username, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;password)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSSink.html#lookup(javax.naming.Context, java.lang.String)">lookup</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A>&nbsp;ctx, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSSink.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/JMSSink.html#onMessage(javax.jms.Message)">onMessage</A></B>(javax.jms.Message&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="JMSSink(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3> +JMSSink</H3> +<PRE> +public <B>JMSSink</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;tcfBindingName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;topicBindingName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;username, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;password)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="main(java.lang.String[])"><!-- --></A><H3> +main</H3> +<PRE> +public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="onMessage(javax.jms.Message)"><!-- --></A><H3> +onMessage</H3> +<PRE> +public void <B>onMessage</B>(javax.jms.Message&nbsp;message)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>onMessage</CODE> in interface <CODE>javax.jms.MessageListener</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="lookup(javax.naming.Context, java.lang.String)"><!-- --></A><H3> +lookup</H3> +<PRE> +protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>lookup</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A>&nbsp;ctx, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JMSSink.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/JMSSink.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JMSSink.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SMTPAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SMTPAppender.html new file mode 100644 index 00000000000..2dee3745ea9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SMTPAppender.html @@ -0,0 +1,1556 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SMTPAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SMTPAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SMTPAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SMTPAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SMTPAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class SMTPAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.SMTPAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>, <A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SMTPAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A><DT>implements <A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></DL> +</PRE> + +<P> +Send an e-mail when a specific logging event occurs, typically on + errors or fatal errors. + + <p>The number of logging events delivered in this e-mail depend on + the value of <b>BufferSize</b> option. The + <code>SMTPAppender</code> keeps only the last + <code>BufferSize</code> logging events in its cyclic buffer. This + keeps memory requirements at a reasonable level while still + delivering useful application context. + + By default, an email message will be sent when an ERROR or higher + severity message is appended. The triggering criteria can be + modified by setting the evaluatorClass property with the name + of a class implementing TriggeringEventEvaluator, setting the evaluator + property with an instance of TriggeringEventEvaluator or + nesting a triggeringPolicy element where the specified + class implements TriggeringEventEvaluator. + + This class has implemented UnrecognizedElementHandler since 1.2.15. + + Since 1.2.16, SMTP over SSL is supported by setting SMTPProtocol to "smpts". +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#cb">cb</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#evaluator">evaluator</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;javax.mail.Message</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#msg">msg</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#SMTPAppender()">SMTPAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default constructor will instantiate the appender with a + <A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><CODE>TriggeringEventEvaluator</CODE></A> that will trigger on events with + level ERROR or higher.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#SMTPAppender(org.apache.log4j.spi.TriggeringEventEvaluator)">SMTPAppender</A></B>(<A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A>&nbsp;evaluator)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use <code>evaluator</code> passed as parameter as the <A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><CODE>TriggeringEventEvaluator</CODE></A> for this SMTPAppender.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Activate the specified options, such as the smtp host, the + recipient, from, etc.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#addressMessage(javax.mail.Message)">addressMessage</A></B>(javax.mail.Message&nbsp;msg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Address message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform SMTPAppender specific appending actions, mainly adding + the event to a cyclic buffer and checking if the event triggers + an e-mail to be sent.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#checkEntryConditions()">checkEntryConditions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method determines if there is a sense in attempting to append.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release any resources allocated within the appender such as file + handles, network connections, etc.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;javax.mail.Session</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#createSession()">createSession</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create mail session.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#formatBody()">formatBody</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Layout body of email message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getBcc()">getBcc</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the bcc recipient addresses.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getBufferSize()">getBufferSize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>BufferSize</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getCc()">getCc</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the cc recipient addresses.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getEvaluator()">getEvaluator</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get triggering evaluator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getEvaluatorClass()">getEvaluatorClass</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>EvaluatorClass</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getFrom()">getFrom</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>From</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getLocationInfo()">getLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>LocationInfo</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getReplyTo()">getReplyTo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the reply addresses.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getSendOnClose()">getSendOnClose</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get sendOnClose.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getSMTPDebug()">getSMTPDebug</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get SMTP debug.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getSMTPHost()">getSMTPHost</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>SMTPHost</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getSMTPPassword()">getSMTPPassword</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get SMTP password.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getSMTPPort()">getSMTPPort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get port.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getSMTPProtocol()">getSMTPProtocol</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get transport protocol.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getSMTPUsername()">getSMTPUsername</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get SMTP user name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getSubject()">getSubject</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>Subject</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#getTo()">getTo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>To</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)">parseUnrecognizedElement</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to inform a configured object when + an unrecognized child element is encountered.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>SMTPAppender</code> requires a <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><CODE>layout</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#sendBuffer()">sendBuffer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send the contents of the cyclic buffer as an e-mail message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setBcc(java.lang.String)">setBcc</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;addresses)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the bcc recipient addresses.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setBufferSize(int)">setBufferSize</A></B>(int&nbsp;bufferSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>BufferSize</b> option takes a positive integer + representing the maximum number of logging events to collect in a + cyclic buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setCc(java.lang.String)">setCc</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;addresses)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the cc recipient addresses.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setEvaluator(org.apache.log4j.spi.TriggeringEventEvaluator)">setEvaluator</A></B>(<A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A>&nbsp;trigger)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets triggering evaluator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setEvaluatorClass(java.lang.String)">setEvaluatorClass</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>EvaluatorClass</b> option takes a string value + representing the name of the class implementing the <A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><CODE>TriggeringEventEvaluator</CODE></A> interface.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setFrom(java.lang.String)">setFrom</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;from)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>From</b> option takes a string value which should be a + e-mail address of the sender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setLocationInfo(boolean)">setLocationInfo</A></B>(boolean&nbsp;locationInfo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>LocationInfo</b> option takes a boolean value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setReplyTo(java.lang.String)">setReplyTo</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;addresses)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the e-mail addresses to which replies should be directed.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setSendOnClose(boolean)">setSendOnClose</A></B>(boolean&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set sendOnClose.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setSMTPDebug(boolean)">setSMTPDebug</A></B>(boolean&nbsp;debug)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting the <b>SmtpDebug</b> option to true will cause the mail session to log its server interaction to stdout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setSMTPHost(java.lang.String)">setSMTPHost</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;smtpHost)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>SMTPHost</b> option takes a string value which should be a + the host name of the SMTP server that will send the e-mail message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setSMTPPassword(java.lang.String)">setSMTPPassword</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;password)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>SmtpPassword</b> option takes a string value which should be the password required to authenticate against + the mail server.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setSMTPPort(int)">setSMTPPort</A></B>(int&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set port.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setSMTPProtocol(java.lang.String)">setSMTPProtocol</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set transport protocol.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setSMTPUsername(java.lang.String)">setSMTPUsername</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;username)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>SmtpUsername</b> option takes a string value which should be the username required to authenticate against + the mail server.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setSubject(java.lang.String)">setSubject</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;subject)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>Subject</b> option takes a string value which should be a + the subject of the e-mail message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html#setTo(java.lang.String)">setTo</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;to)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>To</b> option takes a string value which should be a + comma separated list of e-mail address of the recipients.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="cb"><!-- --></A><H3> +cb</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers">CyclicBuffer</A> <B>cb</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="msg"><!-- --></A><H3> +msg</H3> +<PRE> +protected javax.mail.Message <B>msg</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="evaluator"><!-- --></A><H3> +evaluator</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A> <B>evaluator</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SMTPAppender()"><!-- --></A><H3> +SMTPAppender</H3> +<PRE> +public <B>SMTPAppender</B>()</PRE> +<DL> +<DD>The default constructor will instantiate the appender with a + <A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><CODE>TriggeringEventEvaluator</CODE></A> that will trigger on events with + level ERROR or higher. +<P> +</DL> +<HR> + +<A NAME="SMTPAppender(org.apache.log4j.spi.TriggeringEventEvaluator)"><!-- --></A><H3> +SMTPAppender</H3> +<PRE> +public <B>SMTPAppender</B>(<A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A>&nbsp;evaluator)</PRE> +<DL> +<DD>Use <code>evaluator</code> passed as parameter as the <A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><CODE>TriggeringEventEvaluator</CODE></A> for this SMTPAppender. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Activate the specified options, such as the smtp host, the + recipient, from, etc. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addressMessage(javax.mail.Message)"><!-- --></A><H3> +addressMessage</H3> +<PRE> +protected void <B>addressMessage</B>(javax.mail.Message&nbsp;msg) + throws javax.mail.MessagingException</PRE> +<DL> +<DD>Address message. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>msg</CODE> - message, may not be null. +<DT><B>Throws:</B> +<DD><CODE>javax.mail.MessagingException</CODE> - thrown if error addressing message.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createSession()"><!-- --></A><H3> +createSession</H3> +<PRE> +protected javax.mail.Session <B>createSession</B>()</PRE> +<DL> +<DD>Create mail session. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>mail session, may not be null.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Perform SMTPAppender specific appending actions, mainly adding + the event to a cyclic buffer and checking if the event triggers + an e-mail to be sent. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="checkEntryConditions()"><!-- --></A><H3> +checkEntryConditions</H3> +<PRE> +protected boolean <B>checkEntryConditions</B>()</PRE> +<DL> +<DD>This method determines if there is a sense in attempting to append. + + <p>It checks whether there is a set output target and also if + there is a set layout. If these checks fail, then the boolean + value <code>false</code> is returned. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/Appender.html#close()">Appender</A></CODE></B></DD> +<DD>Release any resources allocated within the appender such as file + handles, network connections, etc. + + <p>It is a programming error to append to a closed appender. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Appender.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTo()"><!-- --></A><H3> +getTo</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getTo</B>()</PRE> +<DL> +<DD>Returns value of the <b>To</b> option. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>The <code>SMTPAppender</code> requires a <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><CODE>layout</CODE></A>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Appender.html#requiresLayout()">requiresLayout</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="formatBody()"><!-- --></A><H3> +formatBody</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>formatBody</B>()</PRE> +<DL> +<DD>Layout body of email message. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="sendBuffer()"><!-- --></A><H3> +sendBuffer</H3> +<PRE> +protected void <B>sendBuffer</B>()</PRE> +<DL> +<DD>Send the contents of the cyclic buffer as an e-mail message. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getEvaluatorClass()"><!-- --></A><H3> +getEvaluatorClass</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getEvaluatorClass</B>()</PRE> +<DL> +<DD>Returns value of the <b>EvaluatorClass</b> option. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFrom()"><!-- --></A><H3> +getFrom</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFrom</B>()</PRE> +<DL> +<DD>Returns value of the <b>From</b> option. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getReplyTo()"><!-- --></A><H3> +getReplyTo</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getReplyTo</B>()</PRE> +<DL> +<DD>Get the reply addresses. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>reply addresses as comma separated string, may be null.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSubject()"><!-- --></A><H3> +getSubject</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSubject</B>()</PRE> +<DL> +<DD>Returns value of the <b>Subject</b> option. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setFrom(java.lang.String)"><!-- --></A><H3> +setFrom</H3> +<PRE> +public void <B>setFrom</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;from)</PRE> +<DL> +<DD>The <b>From</b> option takes a string value which should be a + e-mail address of the sender. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setReplyTo(java.lang.String)"><!-- --></A><H3> +setReplyTo</H3> +<PRE> +public void <B>setReplyTo</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;addresses)</PRE> +<DL> +<DD>Set the e-mail addresses to which replies should be directed. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>addresses</CODE> - reply addresses as comma separated string, may be null.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSubject(java.lang.String)"><!-- --></A><H3> +setSubject</H3> +<PRE> +public void <B>setSubject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;subject)</PRE> +<DL> +<DD>The <b>Subject</b> option takes a string value which should be a + the subject of the e-mail message. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setBufferSize(int)"><!-- --></A><H3> +setBufferSize</H3> +<PRE> +public void <B>setBufferSize</B>(int&nbsp;bufferSize)</PRE> +<DL> +<DD>The <b>BufferSize</b> option takes a positive integer + representing the maximum number of logging events to collect in a + cyclic buffer. When the <code>BufferSize</code> is reached, + oldest events are deleted as new events are added to the + buffer. By default the size of the cyclic buffer is 512 events. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSMTPHost(java.lang.String)"><!-- --></A><H3> +setSMTPHost</H3> +<PRE> +public void <B>setSMTPHost</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;smtpHost)</PRE> +<DL> +<DD>The <b>SMTPHost</b> option takes a string value which should be a + the host name of the SMTP server that will send the e-mail message. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSMTPHost()"><!-- --></A><H3> +getSMTPHost</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSMTPHost</B>()</PRE> +<DL> +<DD>Returns value of the <b>SMTPHost</b> option. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setTo(java.lang.String)"><!-- --></A><H3> +setTo</H3> +<PRE> +public void <B>setTo</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;to)</PRE> +<DL> +<DD>The <b>To</b> option takes a string value which should be a + comma separated list of e-mail address of the recipients. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getBufferSize()"><!-- --></A><H3> +getBufferSize</H3> +<PRE> +public int <B>getBufferSize</B>()</PRE> +<DL> +<DD>Returns value of the <b>BufferSize</b> option. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setEvaluatorClass(java.lang.String)"><!-- --></A><H3> +setEvaluatorClass</H3> +<PRE> +public void <B>setEvaluatorClass</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</PRE> +<DL> +<DD>The <b>EvaluatorClass</b> option takes a string value + representing the name of the class implementing the <A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><CODE>TriggeringEventEvaluator</CODE></A> interface. A corresponding object will + be instantiated and assigned as the triggering event evaluator + for the SMTPAppender. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLocationInfo(boolean)"><!-- --></A><H3> +setLocationInfo</H3> +<PRE> +public void <B>setLocationInfo</B>(boolean&nbsp;locationInfo)</PRE> +<DL> +<DD>The <b>LocationInfo</b> option takes a boolean value. By + default, it is set to false which means there will be no effort + to extract the location information related to the event. As a + result, the layout that formats the events as they are sent out + in an e-mail is likely to place the wrong location information + (if present in the format). + + <p>Location information extraction is comparatively very slow and + should be avoided unless performance is not a concern. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocationInfo()"><!-- --></A><H3> +getLocationInfo</H3> +<PRE> +public boolean <B>getLocationInfo</B>()</PRE> +<DL> +<DD>Returns value of the <b>LocationInfo</b> option. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setCc(java.lang.String)"><!-- --></A><H3> +setCc</H3> +<PRE> +public void <B>setCc</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;addresses)</PRE> +<DL> +<DD>Set the cc recipient addresses. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>addresses</CODE> - recipient addresses as comma separated string, may be null.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCc()"><!-- --></A><H3> +getCc</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getCc</B>()</PRE> +<DL> +<DD>Get the cc recipient addresses. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>recipient addresses as comma separated string, may be null.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setBcc(java.lang.String)"><!-- --></A><H3> +setBcc</H3> +<PRE> +public void <B>setBcc</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;addresses)</PRE> +<DL> +<DD>Set the bcc recipient addresses. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>addresses</CODE> - recipient addresses as comma separated string, may be null.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getBcc()"><!-- --></A><H3> +getBcc</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getBcc</B>()</PRE> +<DL> +<DD>Get the bcc recipient addresses. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>recipient addresses as comma separated string, may be null.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSMTPPassword(java.lang.String)"><!-- --></A><H3> +setSMTPPassword</H3> +<PRE> +public void <B>setSMTPPassword</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;password)</PRE> +<DL> +<DD>The <b>SmtpPassword</b> option takes a string value which should be the password required to authenticate against + the mail server. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>password</CODE> - password, may be null.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSMTPUsername(java.lang.String)"><!-- --></A><H3> +setSMTPUsername</H3> +<PRE> +public void <B>setSMTPUsername</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;username)</PRE> +<DL> +<DD>The <b>SmtpUsername</b> option takes a string value which should be the username required to authenticate against + the mail server. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>username</CODE> - user name, may be null.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSMTPDebug(boolean)"><!-- --></A><H3> +setSMTPDebug</H3> +<PRE> +public void <B>setSMTPDebug</B>(boolean&nbsp;debug)</PRE> +<DL> +<DD>Setting the <b>SmtpDebug</b> option to true will cause the mail session to log its server interaction to stdout. + This can be useful when debuging the appender but should not be used during production because username and + password information is included in the output. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>debug</CODE> - debug flag.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSMTPPassword()"><!-- --></A><H3> +getSMTPPassword</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSMTPPassword</B>()</PRE> +<DL> +<DD>Get SMTP password. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>SMTP password, may be null.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSMTPUsername()"><!-- --></A><H3> +getSMTPUsername</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSMTPUsername</B>()</PRE> +<DL> +<DD>Get SMTP user name. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>SMTP user name, may be null.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSMTPDebug()"><!-- --></A><H3> +getSMTPDebug</H3> +<PRE> +public boolean <B>getSMTPDebug</B>()</PRE> +<DL> +<DD>Get SMTP debug. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>SMTP debug flag.<DT><B>Since:</B></DT> + <DD>1.2.14</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setEvaluator(org.apache.log4j.spi.TriggeringEventEvaluator)"><!-- --></A><H3> +setEvaluator</H3> +<PRE> +public final void <B>setEvaluator</B>(<A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A>&nbsp;trigger)</PRE> +<DL> +<DD>Sets triggering evaluator. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>trigger</CODE> - triggering event evaluator.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getEvaluator()"><!-- --></A><H3> +getEvaluator</H3> +<PRE> +public final <A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A> <B>getEvaluator</B>()</PRE> +<DL> +<DD>Get triggering evaluator. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>triggering event evaluator.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)"><!-- --></A><H3> +parseUnrecognizedElement</H3> +<PRE> +public boolean <B>parseUnrecognizedElement</B>(org.w3c.dom.Element&nbsp;element, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE> +<DL> +<DD>Called to inform a configured object when + an unrecognized child element is encountered. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)">parseUnrecognizedElement</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>element</CODE> - element, may not be null.<DD><CODE>props</CODE> - properties in force, may be null. +<DT><B>Returns:</B><DD>true if configured object recognized the element +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - throw an exception to prevent activation + of the configured object.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSMTPProtocol()"><!-- --></A><H3> +getSMTPProtocol</H3> +<PRE> +public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSMTPProtocol</B>()</PRE> +<DL> +<DD>Get transport protocol. + Typically null or "smtps". +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>transport protocol, may be null.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSMTPProtocol(java.lang.String)"><!-- --></A><H3> +setSMTPProtocol</H3> +<PRE> +public final void <B>setSMTPProtocol</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;val)</PRE> +<DL> +<DD>Set transport protocol. + Typically null or "smtps". +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>val</CODE> - transport protocol, may be null.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSMTPPort()"><!-- --></A><H3> +getSMTPPort</H3> +<PRE> +public final int <B>getSMTPPort</B>()</PRE> +<DL> +<DD>Get port. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>port, negative values indicate use of default ports for protocol.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSMTPPort(int)"><!-- --></A><H3> +setSMTPPort</H3> +<PRE> +public final void <B>setSMTPPort</B>(int&nbsp;val)</PRE> +<DL> +<DD>Set port. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>val</CODE> - port, negative values indicate use of default ports for protocol.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSendOnClose()"><!-- --></A><H3> +getSendOnClose</H3> +<PRE> +public final boolean <B>getSendOnClose</B>()</PRE> +<DL> +<DD>Get sendOnClose. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>if true all buffered logging events will be sent when the appender is closed.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSendOnClose(boolean)"><!-- --></A><H3> +setSendOnClose</H3> +<PRE> +public final void <B>setSendOnClose</B>(boolean&nbsp;val)</PRE> +<DL> +<DD>Set sendOnClose. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>val</CODE> - if true all buffered logging events will be sent when appender is closed.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SMTPAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SMTPAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SMTPAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SimpleSocketServer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SimpleSocketServer.html new file mode 100644 index 00000000000..c17380ef85c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SimpleSocketServer.html @@ -0,0 +1,270 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SimpleSocketServer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SimpleSocketServer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleSocketServer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SimpleSocketServer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleSocketServer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class SimpleSocketServer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.SimpleSocketServer</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>SimpleSocketServer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +A simple <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> based server. + + <pre> + <b>Usage:</b> java org.apache.log4j.net.SimpleSocketServer port configFile + + where <em>port</em> is a part number where the server listens and + <em>configFile</em> is a configuration file fed to the <A HREF="../../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><CODE>PropertyConfigurator</CODE></A> or to <A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><CODE>DOMConfigurator</CODE></A> if an XML file. + </pre> +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SimpleSocketServer.html#SimpleSocketServer()">SimpleSocketServer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SimpleSocketServer.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;argv)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SimpleSocketServer()"><!-- --></A><H3> +SimpleSocketServer</H3> +<PRE> +public <B>SimpleSocketServer</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="main(java.lang.String[])"><!-- --></A><H3> +main</H3> +<PRE> +public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;argv)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleSocketServer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SimpleSocketServer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleSocketServer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketAppender.html new file mode 100644 index 00000000000..f394ea152ab --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketAppender.html @@ -0,0 +1,813 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SocketAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SocketAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SocketAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SocketAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class SocketAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.SocketAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SocketAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></DL> +</PRE> + +<P> +Sends <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a remote a log server, + usually a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A>. + + <p>The SocketAppender has the following properties: + + <ul> + + <p><li>If sent to a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A>, remote logging is + non-intrusive as far as the log event is concerned. In other + words, the event will be logged with the same time stamp, <A HREF="../../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><CODE>NDC</CODE></A>, location info as if it were logged locally by + the client. + + <p><li>SocketAppenders do not use a layout. They ship a + serialized <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> object to the server side. + + <p><li>Remote logging uses the TCP protocol. Consequently, if + the server is reachable, then log events will eventually arrive + at the server. + + <p><li>If the remote server is down, the logging requests are + simply dropped. However, if and when the server comes back up, + then event transmission is resumed transparently. This + transparent reconneciton is performed by a <em>connector</em> + thread which periodically attempts to connect to the server. + + <p><li>Logging events are automatically <em>buffered</em> by the + native TCP implementation. This means that if the link to server + is slow but still faster than the rate of (log) event production + by the client, the client will not be affected by the slow + network connection. However, if the network connection is slower + then the rate of event production, then the client can only + progress at the network rate. In particular, if the network link + to the the server is down, the client will be blocked. + + <p>On the other hand, if the network link is up, but the server + is down, the client will not be blocked when making log requests + but the log events will be lost due to server unavailability. + + <p><li>Even if a <code>SocketAppender</code> is no longer + attached to any category, it will not be garbage collected in + the presence of a connector thread. A connector thread exists + only if the connection to the server is down. To avoid this + garbage collection problem, you should <A HREF="../../../../org/apache/log4j/net/SocketAppender.html#close()"><CODE>close()</CODE></A> the the + <code>SocketAppender</code> explicitly. See also next item. + + <p>Long lived applications which create/destroy many + <code>SocketAppender</code> instances should be aware of this + garbage collection problem. Most other applications can safely + ignore it. + + <p><li>If the JVM hosting the <code>SocketAppender</code> exits + before the <code>SocketAppender</code> is closed either + explicitly or subsequent to garbage collection, then there might + be untransmitted data in the pipe which might be lost. This is a + common problem on Windows based systems. + + <p>To avoid lost data, it is usually sufficient to <A HREF="../../../../org/apache/log4j/net/SocketAppender.html#close()"><CODE>close()</CODE></A> the <code>SocketAppender</code> either explicitly or by + calling the <A HREF="../../../../org/apache/log4j/LogManager.html#shutdown()"><CODE>LogManager.shutdown()</CODE></A> method + before exiting the application. + + + </ul> +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#DEFAULT_PORT">DEFAULT_PORT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default port number of remote logging server (4560).</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#ZONE">ZONE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The MulticastDNS zone advertised by a SocketAppender</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#SocketAppender()">SocketAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#SocketAppender(java.net.InetAddress, int)">SocketAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</A>&nbsp;address, + int&nbsp;port)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connects to remote server at <code>address</code> and <code>port</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#SocketAppender(java.lang.String, int)">SocketAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;host, + int&nbsp;port)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connects to remote server at <code>host</code> and <code>port</code>.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connect to the specified <b>RemoteHost</b> and <b>Port</b>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#cleanUp()">cleanUp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drop the connection to the remote host and release the underlying + connector thread if it has been created</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#getApplication()">getApplication</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>Application</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#getLocationInfo()">getLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>LocationInfo</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#getPort()">getPort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>Port</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#getReconnectionDelay()">getReconnectionDelay</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>ReconnectionDelay</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#getRemoteHost()">getRemoteHost</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>RemoteHost</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#isAdvertiseViaMulticastDNS()">isAdvertiseViaMulticastDNS</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The SocketAppender does not use a layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setAdvertiseViaMulticastDNS(boolean)">setAdvertiseViaMulticastDNS</A></B>(boolean&nbsp;advertiseViaMulticastDNS)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setApplication(java.lang.String)">setApplication</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;lapp)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>App</b> option takes a string value which should be the name of the + application getting logged.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setLocationInfo(boolean)">setLocationInfo</A></B>(boolean&nbsp;locationInfo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>LocationInfo</b> option takes a boolean value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setPort(int)">setPort</A></B>(int&nbsp;port)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>Port</b> option takes a positive integer representing + the port where the server is waiting for connections.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setReconnectionDelay(int)">setReconnectionDelay</A></B>(int&nbsp;delay)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>ReconnectionDelay</b> option takes a positive integer + representing the number of milliseconds to wait between each + failed connection attempt to the server.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html#setRemoteHost(java.lang.String)">setRemoteHost</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;host)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>RemoteHost</b> option takes a string value which should be + the host name of the server where a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> is + running.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DEFAULT_PORT"><!-- --></A><H3> +DEFAULT_PORT</H3> +<PRE> +public static final int <B>DEFAULT_PORT</B></PRE> +<DL> +<DD>The default port number of remote logging server (4560). +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SocketAppender.DEFAULT_PORT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="ZONE"><!-- --></A><H3> +ZONE</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ZONE</B></PRE> +<DL> +<DD>The MulticastDNS zone advertised by a SocketAppender +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SocketAppender.ZONE">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SocketAppender()"><!-- --></A><H3> +SocketAppender</H3> +<PRE> +public <B>SocketAppender</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="SocketAppender(java.net.InetAddress, int)"><!-- --></A><H3> +SocketAppender</H3> +<PRE> +public <B>SocketAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</A>&nbsp;address, + int&nbsp;port)</PRE> +<DL> +<DD>Connects to remote server at <code>address</code> and <code>port</code>. +<P> +</DL> +<HR> + +<A NAME="SocketAppender(java.lang.String, int)"><!-- --></A><H3> +SocketAppender</H3> +<PRE> +public <B>SocketAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;host, + int&nbsp;port)</PRE> +<DL> +<DD>Connects to remote server at <code>host</code> and <code>port</code>. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Connect to the specified <b>RemoteHost</b> and <b>Port</b>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD>Close this appender. + + <p>This will mark the appender as closed and call then <A HREF="../../../../org/apache/log4j/net/SocketAppender.html#cleanUp()"><CODE>cleanUp()</CODE></A> method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="cleanUp()"><!-- --></A><H3> +cleanUp</H3> +<PRE> +public void <B>cleanUp</B>()</PRE> +<DL> +<DD>Drop the connection to the remote host and release the underlying + connector thread if it has been created +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">AppenderSkeleton</A></CODE></B></DD> +<DD>Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging. See also <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend</CODE></A> method. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAdvertiseViaMulticastDNS(boolean)"><!-- --></A><H3> +setAdvertiseViaMulticastDNS</H3> +<PRE> +public void <B>setAdvertiseViaMulticastDNS</B>(boolean&nbsp;advertiseViaMulticastDNS)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isAdvertiseViaMulticastDNS()"><!-- --></A><H3> +isAdvertiseViaMulticastDNS</H3> +<PRE> +public boolean <B>isAdvertiseViaMulticastDNS</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>The SocketAppender does not use a layout. Hence, this method + returns <code>false</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setRemoteHost(java.lang.String)"><!-- --></A><H3> +setRemoteHost</H3> +<PRE> +public void <B>setRemoteHost</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;host)</PRE> +<DL> +<DD>The <b>RemoteHost</b> option takes a string value which should be + the host name of the server where a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> is + running. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRemoteHost()"><!-- --></A><H3> +getRemoteHost</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getRemoteHost</B>()</PRE> +<DL> +<DD>Returns value of the <b>RemoteHost</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setPort(int)"><!-- --></A><H3> +setPort</H3> +<PRE> +public void <B>setPort</B>(int&nbsp;port)</PRE> +<DL> +<DD>The <b>Port</b> option takes a positive integer representing + the port where the server is waiting for connections. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPort()"><!-- --></A><H3> +getPort</H3> +<PRE> +public int <B>getPort</B>()</PRE> +<DL> +<DD>Returns value of the <b>Port</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLocationInfo(boolean)"><!-- --></A><H3> +setLocationInfo</H3> +<PRE> +public void <B>setLocationInfo</B>(boolean&nbsp;locationInfo)</PRE> +<DL> +<DD>The <b>LocationInfo</b> option takes a boolean value. If true, + the information sent to the remote host will include location + information. By default no location information is sent to the server. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocationInfo()"><!-- --></A><H3> +getLocationInfo</H3> +<PRE> +public boolean <B>getLocationInfo</B>()</PRE> +<DL> +<DD>Returns value of the <b>LocationInfo</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setApplication(java.lang.String)"><!-- --></A><H3> +setApplication</H3> +<PRE> +public void <B>setApplication</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;lapp)</PRE> +<DL> +<DD>The <b>App</b> option takes a string value which should be the name of the + application getting logged. + If property was already set (via system property), don't set here. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getApplication()"><!-- --></A><H3> +getApplication</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getApplication</B>()</PRE> +<DL> +<DD>Returns value of the <b>Application</b> option. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setReconnectionDelay(int)"><!-- --></A><H3> +setReconnectionDelay</H3> +<PRE> +public void <B>setReconnectionDelay</B>(int&nbsp;delay)</PRE> +<DL> +<DD>The <b>ReconnectionDelay</b> option takes a positive integer + representing the number of milliseconds to wait between each + failed connection attempt to the server. The default value of + this option is 30000 which corresponds to 30 seconds. + + <p>Setting this option to zero turns off reconnection + capability. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getReconnectionDelay()"><!-- --></A><H3> +getReconnectionDelay</H3> +<PRE> +public int <B>getReconnectionDelay</B>()</PRE> +<DL> +<DD>Returns value of the <b>ReconnectionDelay</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SocketAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SocketAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketHubAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketHubAppender.html new file mode 100644 index 00000000000..5e40ea3c356 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketHubAppender.html @@ -0,0 +1,740 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SocketHubAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SocketHubAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SocketHubAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SocketHubAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketHubAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class SocketHubAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.SocketHubAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SocketHubAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></DL> +</PRE> + +<P> +Sends <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a set of remote log servers, + usually a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNodes</CODE></A>. + + <p>Acts just like <A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><CODE>SocketAppender</CODE></A> except that instead of + connecting to a given remote log server, + <code>SocketHubAppender</code> accepts connections from the remote + log servers as clients. It can accept more than one connection. + When a log event is received, the event is sent to the set of + currently connected remote log servers. Implemented this way it does + not require any update to the configuration file to send data to + another remote log server. The remote log server simply connects to + the host and port the <code>SocketHubAppender</code> is running on. + + <p>The <code>SocketHubAppender</code> does not store events such + that the remote side will events that arrived after the + establishment of its connection. Once connected, events arrive in + order as guaranteed by the TCP protocol. + + <p>This implementation borrows heavily from the <A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><CODE>SocketAppender</CODE></A>. + + <p>The SocketHubAppender has the following characteristics: + + <ul> + + <p><li>If sent to a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A>, logging is non-intrusive as + far as the log event is concerned. In other words, the event will be + logged with the same time stamp, <A HREF="../../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><CODE>NDC</CODE></A>, + location info as if it were logged locally. + + <p><li><code>SocketHubAppender</code> does not use a layout. It + ships a serialized <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> object to the remote side. + + <p><li><code>SocketHubAppender</code> relies on the TCP + protocol. Consequently, if the remote side is reachable, then log + events will eventually arrive at remote client. + + <p><li>If no remote clients are attached, the logging requests are + simply dropped. + + <p><li>Logging events are automatically <em>buffered</em> by the + native TCP implementation. This means that if the link to remote + client is slow but still faster than the rate of (log) event + production, the application will not be affected by the slow network + connection. However, if the network connection is slower then the + rate of event production, then the local application can only + progress at the network rate. In particular, if the network link to + the the remote client is down, the application will be blocked. + + <p>On the other hand, if the network link is up, but the remote + client is down, the client will not be blocked when making log + requests but the log events will be lost due to client + unavailability. + + <p>The single remote client case extends to multiple clients + connections. The rate of logging will be determined by the slowest + link. + + <p><li>If the JVM hosting the <code>SocketHubAppender</code> exits + before the <code>SocketHubAppender</code> is closed either + explicitly or subsequent to garbage collection, then there might + be untransmitted data in the pipe which might be lost. This is a + common problem on Windows based systems. + + <p>To avoid lost data, it is usually sufficient to <A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#close()"><CODE>close()</CODE></A> + the <code>SocketHubAppender</code> either explicitly or by calling + the <A HREF="../../../../org/apache/log4j/LogManager.html#shutdown()"><CODE>LogManager.shutdown()</CODE></A> method before + exiting the application. + + </ul> +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Mark Womack</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#ZONE">ZONE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The MulticastDNS zone advertised by a SocketHubAppender</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#SocketHubAppender()">SocketHubAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#SocketHubAppender(int)">SocketHubAppender</A></B>(int&nbsp;_port)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connects to remote server at <code>address</code> and <code>port</code>.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set up the socket server on the specified port.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Append an event to all of current connections.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#cleanUp()">cleanUp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release the underlying ServerMonitor thread, and drop the connections + to all connected remote servers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/ServerSocket.html?is-external=true" title="class or interface in java.net">ServerSocket</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#createServerSocket(int)">createServerSocket</A></B>(int&nbsp;socketPort)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a server socket to accept connections.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#getApplication()">getApplication</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>Application</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#getBufferSize()">getBufferSize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>bufferSize</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#getLocationInfo()">getLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>LocationInfo</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#getPort()">getPort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>Port</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#isAdvertiseViaMulticastDNS()">isAdvertiseViaMulticastDNS</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The SocketHubAppender does not use a layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#setAdvertiseViaMulticastDNS(boolean)">setAdvertiseViaMulticastDNS</A></B>(boolean&nbsp;advertiseViaMulticastDNS)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#setApplication(java.lang.String)">setApplication</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;lapp)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>App</b> option takes a string value which should be the name of the application getting logged.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#setBufferSize(int)">setBufferSize</A></B>(int&nbsp;_bufferSize)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>BufferSize</b> option takes a positive integer representing the number of events this appender will buffer and send to newly connected + clients.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#setLocationInfo(boolean)">setLocationInfo</A></B>(boolean&nbsp;_locationInfo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>LocationInfo</b> option takes a boolean value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#setPort(int)">setPort</A></B>(int&nbsp;_port)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>Port</b> option takes a positive integer representing + the port where the server is waiting for connections.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ZONE"><!-- --></A><H3> +ZONE</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ZONE</B></PRE> +<DL> +<DD>The MulticastDNS zone advertised by a SocketHubAppender +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SocketHubAppender.ZONE">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SocketHubAppender()"><!-- --></A><H3> +SocketHubAppender</H3> +<PRE> +public <B>SocketHubAppender</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="SocketHubAppender(int)"><!-- --></A><H3> +SocketHubAppender</H3> +<PRE> +public <B>SocketHubAppender</B>(int&nbsp;_port)</PRE> +<DL> +<DD>Connects to remote server at <code>address</code> and <code>port</code>. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Set up the socket server on the specified port. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD>Close this appender. + <p>This will mark the appender as closed and + call then <A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html#cleanUp()"><CODE>cleanUp()</CODE></A> method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="cleanUp()"><!-- --></A><H3> +cleanUp</H3> +<PRE> +public void <B>cleanUp</B>()</PRE> +<DL> +<DD>Release the underlying ServerMonitor thread, and drop the connections + to all connected remote servers. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Append an event to all of current connections. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>The SocketHubAppender does not use a layout. Hence, this method returns + <code>false</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setPort(int)"><!-- --></A><H3> +setPort</H3> +<PRE> +public void <B>setPort</B>(int&nbsp;_port)</PRE> +<DL> +<DD>The <b>Port</b> option takes a positive integer representing + the port where the server is waiting for connections. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setApplication(java.lang.String)"><!-- --></A><H3> +setApplication</H3> +<PRE> +public void <B>setApplication</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;lapp)</PRE> +<DL> +<DD>The <b>App</b> option takes a string value which should be the name of the application getting logged. If property was already set (via system + property), don't set here. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getApplication()"><!-- --></A><H3> +getApplication</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getApplication</B>()</PRE> +<DL> +<DD>Returns value of the <b>Application</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPort()"><!-- --></A><H3> +getPort</H3> +<PRE> +public int <B>getPort</B>()</PRE> +<DL> +<DD>Returns value of the <b>Port</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setBufferSize(int)"><!-- --></A><H3> +setBufferSize</H3> +<PRE> +public void <B>setBufferSize</B>(int&nbsp;_bufferSize)</PRE> +<DL> +<DD>The <b>BufferSize</b> option takes a positive integer representing the number of events this appender will buffer and send to newly connected + clients. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getBufferSize()"><!-- --></A><H3> +getBufferSize</H3> +<PRE> +public int <B>getBufferSize</B>()</PRE> +<DL> +<DD>Returns value of the <b>bufferSize</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLocationInfo(boolean)"><!-- --></A><H3> +setLocationInfo</H3> +<PRE> +public void <B>setLocationInfo</B>(boolean&nbsp;_locationInfo)</PRE> +<DL> +<DD>The <b>LocationInfo</b> option takes a boolean value. If true, + the information sent to the remote host will include location + information. By default no location information is sent to the server. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocationInfo()"><!-- --></A><H3> +getLocationInfo</H3> +<PRE> +public boolean <B>getLocationInfo</B>()</PRE> +<DL> +<DD>Returns value of the <b>LocationInfo</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAdvertiseViaMulticastDNS(boolean)"><!-- --></A><H3> +setAdvertiseViaMulticastDNS</H3> +<PRE> +public void <B>setAdvertiseViaMulticastDNS</B>(boolean&nbsp;advertiseViaMulticastDNS)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isAdvertiseViaMulticastDNS()"><!-- --></A><H3> +isAdvertiseViaMulticastDNS</H3> +<PRE> +public boolean <B>isAdvertiseViaMulticastDNS</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createServerSocket(int)"><!-- --></A><H3> +createServerSocket</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/ServerSocket.html?is-external=true" title="class or interface in java.net">ServerSocket</A> <B>createServerSocket</B>(int&nbsp;socketPort) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Creates a server socket to accept connections. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>socketPort</CODE> - port on which the socket should listen, may be zero. +<DT><B>Returns:</B><DD>new socket. +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - IO error when opening the socket.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SocketHubAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SocketHubAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketHubAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketNode.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketNode.html new file mode 100644 index 00000000000..bb58ed2f88a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketNode.html @@ -0,0 +1,276 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SocketNode (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SocketNode (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SocketNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SocketNode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketNode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class SocketNode</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.SocketNode</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SocketNode</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DL> +</PRE> + +<P> +Read <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects sent from a remote client using + Sockets (TCP). These logging events are logged according to local + policy, as if they were generated locally. + + <p>For example, the socket node might decide to log events to a + local file and also resent them to a second socket node. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketNode.html#SocketNode(java.net.Socket, org.apache.log4j.spi.LoggerRepository)">SocketNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</A>&nbsp;socket, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketNode.html#run()">run</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SocketNode(java.net.Socket, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +SocketNode</H3> +<PRE> +public <B>SocketNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</A>&nbsp;socket, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="run()"><!-- --></A><H3> +run</H3> +<PRE> +public void <B>run</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SocketNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SocketNode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketNode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketServer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketServer.html new file mode 100644 index 00000000000..f8bec0b9262 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SocketServer.html @@ -0,0 +1,308 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SocketServer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SocketServer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SocketServer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SocketServer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketServer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class SocketServer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.SocketServer</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>SocketServer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +A <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> based server that uses a different hierarchy + for each client. + + <pre> + <b>Usage:</b> java org.apache.log4j.net.SocketServer port configFile configDir + + where <b>port</b> is a part number where the server listens, + <b>configFile</b> is a configuration file fed to the <A HREF="../../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><CODE>PropertyConfigurator</CODE></A> and + <b>configDir</b> is a path to a directory containing configuration files, possibly one for each client host. + </pre> + + <p>The <code>configFile</code> is used to configure the log4j + default hierarchy that the <code>SocketServer</code> will use to + report on its actions. + + <p>When a new connection is opened from a previously unknown + host, say <code>foo.bar.net</code>, then the + <code>SocketServer</code> will search for a configuration file + called <code>foo.bar.net.lcf</code> under the directory + <code>configDir</code> that was passed as the third argument. If + the file can be found, then a new hierarchy is instantiated and + configured using the configuration file + <code>foo.bar.net.lcf</code>. If and when the host + <code>foo.bar.net</code> opens another connection to the server, + then the previously configured hierarchy is used. + + <p>In case there is no file called <code>foo.bar.net.lcf</code> + under the directory <code>configDir</code>, then the + <em>generic</em> hierarchy is used. The generic hierarchy is + configured using a configuration file called + <code>generic.lcf</code> under the <code>configDir</code> + directory. If no such file exists, then the generic hierarchy will be + identical to the log4j default hierarchy. + + <p>Having different client hosts log using different hierarchies + ensures the total independence of the clients with respect to + their logging settings. + + <p>Currently, the hierarchy that will be used for a given request + depends on the IP address of the client host. For example, two + separate applicatons running on the same host and logging to the + same server will share the same hierarchy. This is perfectly safe + except that it might not provide the right amount of independence + between applications. The <code>SocketServer</code> is intended + as an example to be enhanced in order to implement more elaborate + policies. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketServer.html#SocketServer(java.io.File)">SocketServer</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A>&nbsp;directory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SocketServer.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;argv)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SocketServer(java.io.File)"><!-- --></A><H3> +SocketServer</H3> +<PRE> +public <B>SocketServer</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A>&nbsp;directory)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="main(java.lang.String[])"><!-- --></A><H3> +main</H3> +<PRE> +public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;argv)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SocketServer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SocketServer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketServer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SyslogAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SyslogAppender.html new file mode 100644 index 00000000000..0675ce66b58 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/SyslogAppender.html @@ -0,0 +1,1097 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SyslogAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SyslogAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SyslogAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SyslogAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class SyslogAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.SyslogAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SyslogAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></DL> +</PRE> + +<P> +Use SyslogAppender to send log messages to a remote syslog daemon. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Anders Kristensen</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#FACILITY_OI">FACILITY_OI</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_AUTH">LOG_AUTH</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;security/authorization messages</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_AUTHPRIV">LOG_AUTHPRIV</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;security/authorization messages (private)</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_CRON">LOG_CRON</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clock daemon</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_DAEMON">LOG_DAEMON</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System daemons</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_FTP">LOG_FTP</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ftp daemon</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_KERN">LOG_KERN</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kernel messages</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL0">LOG_LOCAL0</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reserved for local use</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL1">LOG_LOCAL1</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reserved for local use</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL2">LOG_LOCAL2</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reserved for local use</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL3">LOG_LOCAL3</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reserved for local use</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL4">LOG_LOCAL4</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reserved for local use</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL5">LOG_LOCAL5</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reserved for local use</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL6">LOG_LOCAL6</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reserved for local use</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_LOCAL7">LOG_LOCAL7</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reserved for local use</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_LPR">LOG_LPR</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line printer subsystem</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_MAIL">LOG_MAIL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mail system</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_NEWS">LOG_NEWS</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;network news subsystem</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_SYSLOG">LOG_SYSLOG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages generated internally by syslogd</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_USER">LOG_USER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random user-level messages</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#LOG_UUCP">LOG_UUCP</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UUCP subsystem</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#SYSLOG_HOST_OI">SYSLOG_HOST_OI</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#SyslogAppender()">SyslogAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#SyslogAppender(org.apache.log4j.Layout, int)">SyslogAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + int&nbsp;syslogFacility)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#SyslogAppender(org.apache.log4j.Layout, java.lang.String, int)">SyslogAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;syslogHost, + int&nbsp;syslogFacility)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns immediately as options are activated when they + are set.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release any resources held by this SyslogAppender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#getFacility()">getFacility</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>Facility</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#getFacility(java.lang.String)">getFacility</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;facilityName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the integer value corresponding to the named syslog + facility, or -1 if it couldn't be recognized.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#getFacilityPrinting()">getFacilityPrinting</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>FacilityPrinting</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#getFacilityString(int)">getFacilityString</A></B>(int&nbsp;syslogFacility)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the specified syslog facility as a lower-case String, + e.g.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#getHeader()">getHeader</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If true, the appender will generate the HEADER part (that is, timestamp and host name) + of the syslog packet.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#getSyslogHost()">getSyslogHost</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the <b>SyslogHost</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The SyslogAppender requires a layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#setFacility(java.lang.String)">setFacility</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;facilityName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the syslog facility.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#setFacilityPrinting(boolean)">setFacilityPrinting</A></B>(boolean&nbsp;on)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the <b>FacilityPrinting</b> option is set to true, the printed + message will include the facility name of the application.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#setHeader(boolean)">setHeader</A></B>(boolean&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether the appender produces the HEADER part (that is, timestamp and host name) + of the syslog packet.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html#setSyslogHost(java.lang.String)">setSyslogHost</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;syslogHost)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>SyslogHost</b> option is the name of the the syslog host + where log output should go.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LOG_KERN"><!-- --></A><H3> +LOG_KERN</H3> +<PRE> +public static final int <B>LOG_KERN</B></PRE> +<DL> +<DD>Kernel messages +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_KERN">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_USER"><!-- --></A><H3> +LOG_USER</H3> +<PRE> +public static final int <B>LOG_USER</B></PRE> +<DL> +<DD>Random user-level messages +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_USER">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_MAIL"><!-- --></A><H3> +LOG_MAIL</H3> +<PRE> +public static final int <B>LOG_MAIL</B></PRE> +<DL> +<DD>Mail system +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_MAIL">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_DAEMON"><!-- --></A><H3> +LOG_DAEMON</H3> +<PRE> +public static final int <B>LOG_DAEMON</B></PRE> +<DL> +<DD>System daemons +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_DAEMON">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_AUTH"><!-- --></A><H3> +LOG_AUTH</H3> +<PRE> +public static final int <B>LOG_AUTH</B></PRE> +<DL> +<DD>security/authorization messages +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_AUTH">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_SYSLOG"><!-- --></A><H3> +LOG_SYSLOG</H3> +<PRE> +public static final int <B>LOG_SYSLOG</B></PRE> +<DL> +<DD>messages generated internally by syslogd +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_SYSLOG">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_LPR"><!-- --></A><H3> +LOG_LPR</H3> +<PRE> +public static final int <B>LOG_LPR</B></PRE> +<DL> +<DD>line printer subsystem +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_LPR">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_NEWS"><!-- --></A><H3> +LOG_NEWS</H3> +<PRE> +public static final int <B>LOG_NEWS</B></PRE> +<DL> +<DD>network news subsystem +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_NEWS">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_UUCP"><!-- --></A><H3> +LOG_UUCP</H3> +<PRE> +public static final int <B>LOG_UUCP</B></PRE> +<DL> +<DD>UUCP subsystem +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_UUCP">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_CRON"><!-- --></A><H3> +LOG_CRON</H3> +<PRE> +public static final int <B>LOG_CRON</B></PRE> +<DL> +<DD>clock daemon +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_CRON">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_AUTHPRIV"><!-- --></A><H3> +LOG_AUTHPRIV</H3> +<PRE> +public static final int <B>LOG_AUTHPRIV</B></PRE> +<DL> +<DD>security/authorization messages (private) +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_AUTHPRIV">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_FTP"><!-- --></A><H3> +LOG_FTP</H3> +<PRE> +public static final int <B>LOG_FTP</B></PRE> +<DL> +<DD>ftp daemon +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_FTP">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_LOCAL0"><!-- --></A><H3> +LOG_LOCAL0</H3> +<PRE> +public static final int <B>LOG_LOCAL0</B></PRE> +<DL> +<DD>reserved for local use +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_LOCAL0">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_LOCAL1"><!-- --></A><H3> +LOG_LOCAL1</H3> +<PRE> +public static final int <B>LOG_LOCAL1</B></PRE> +<DL> +<DD>reserved for local use +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_LOCAL1">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_LOCAL2"><!-- --></A><H3> +LOG_LOCAL2</H3> +<PRE> +public static final int <B>LOG_LOCAL2</B></PRE> +<DL> +<DD>reserved for local use +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_LOCAL2">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_LOCAL3"><!-- --></A><H3> +LOG_LOCAL3</H3> +<PRE> +public static final int <B>LOG_LOCAL3</B></PRE> +<DL> +<DD>reserved for local use +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_LOCAL3">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_LOCAL4"><!-- --></A><H3> +LOG_LOCAL4</H3> +<PRE> +public static final int <B>LOG_LOCAL4</B></PRE> +<DL> +<DD>reserved for local use +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_LOCAL4">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_LOCAL5"><!-- --></A><H3> +LOG_LOCAL5</H3> +<PRE> +public static final int <B>LOG_LOCAL5</B></PRE> +<DL> +<DD>reserved for local use +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_LOCAL5">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_LOCAL6"><!-- --></A><H3> +LOG_LOCAL6</H3> +<PRE> +public static final int <B>LOG_LOCAL6</B></PRE> +<DL> +<DD>reserved for local use +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_LOCAL6">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="LOG_LOCAL7"><!-- --></A><H3> +LOG_LOCAL7</H3> +<PRE> +public static final int <B>LOG_LOCAL7</B></PRE> +<DL> +<DD>reserved for local use +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.LOG_LOCAL7">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="SYSLOG_HOST_OI"><!-- --></A><H3> +SYSLOG_HOST_OI</H3> +<PRE> +protected static final int <B>SYSLOG_HOST_OI</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.SYSLOG_HOST_OI">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="FACILITY_OI"><!-- --></A><H3> +FACILITY_OI</H3> +<PRE> +protected static final int <B>FACILITY_OI</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.net.SyslogAppender.FACILITY_OI">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SyslogAppender()"><!-- --></A><H3> +SyslogAppender</H3> +<PRE> +public <B>SyslogAppender</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="SyslogAppender(org.apache.log4j.Layout, int)"><!-- --></A><H3> +SyslogAppender</H3> +<PRE> +public <B>SyslogAppender</B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + int&nbsp;syslogFacility)</PRE> +<DL> +</DL> +<HR> + +<A NAME="SyslogAppender(org.apache.log4j.Layout, java.lang.String, int)"><!-- --></A><H3> +SyslogAppender</H3> +<PRE> +public <B>SyslogAppender</B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;syslogHost, + int&nbsp;syslogFacility)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD>Release any resources held by this SyslogAppender. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFacilityString(int)"><!-- --></A><H3> +getFacilityString</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFacilityString</B>(int&nbsp;syslogFacility)</PRE> +<DL> +<DD>Returns the specified syslog facility as a lower-case String, + e.g. "kern", "user", etc. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFacility(java.lang.String)"><!-- --></A><H3> +getFacility</H3> +<PRE> +public static int <B>getFacility</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;facilityName)</PRE> +<DL> +<DD>Returns the integer value corresponding to the named syslog + facility, or -1 if it couldn't be recognized. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>facilityName</CODE> - one of the strings KERN, USER, MAIL, DAEMON, + AUTH, SYSLOG, LPR, NEWS, UUCP, CRON, AUTHPRIV, FTP, LOCAL0, + LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. + The matching is case-insensitive.<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">AppenderSkeleton</A></CODE></B></DD> +<DD>Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging. See also <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend</CODE></A> method. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>This method returns immediately as options are activated when they + are set. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>The SyslogAppender requires a layout. Hence, this method returns + <code>true</code>. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.4</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSyslogHost(java.lang.String)"><!-- --></A><H3> +setSyslogHost</H3> +<PRE> +public void <B>setSyslogHost</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;syslogHost)</PRE> +<DL> +<DD>The <b>SyslogHost</b> option is the name of the the syslog host + where log output should go. A non-default port can be specified by + appending a colon and port number to a host name, + an IPv4 address or an IPv6 address enclosed in square brackets. + + <b>WARNING</b> If the SyslogHost is not set, then this appender + will fail. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSyslogHost()"><!-- --></A><H3> +getSyslogHost</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSyslogHost</B>()</PRE> +<DL> +<DD>Returns the value of the <b>SyslogHost</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setFacility(java.lang.String)"><!-- --></A><H3> +setFacility</H3> +<PRE> +public void <B>setFacility</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;facilityName)</PRE> +<DL> +<DD>Set the syslog facility. This is the <b>Facility</b> option. + + <p>The <code>facilityName</code> parameter must be one of the + strings KERN, USER, MAIL, DAEMON, AUTH, SYSLOG, LPR, NEWS, UUCP, + CRON, AUTHPRIV, FTP, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, + LOCAL5, LOCAL6, LOCAL7. Case is unimportant. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFacility()"><!-- --></A><H3> +getFacility</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFacility</B>()</PRE> +<DL> +<DD>Returns the value of the <b>Facility</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setFacilityPrinting(boolean)"><!-- --></A><H3> +setFacilityPrinting</H3> +<PRE> +public void <B>setFacilityPrinting</B>(boolean&nbsp;on)</PRE> +<DL> +<DD>If the <b>FacilityPrinting</b> option is set to true, the printed + message will include the facility name of the application. It is + <em>false</em> by default. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFacilityPrinting()"><!-- --></A><H3> +getFacilityPrinting</H3> +<PRE> +public boolean <B>getFacilityPrinting</B>()</PRE> +<DL> +<DD>Returns the value of the <b>FacilityPrinting</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getHeader()"><!-- --></A><H3> +getHeader</H3> +<PRE> +public final boolean <B>getHeader</B>()</PRE> +<DL> +<DD>If true, the appender will generate the HEADER part (that is, timestamp and host name) + of the syslog packet. Default value is false for compatibility with existing behavior, + however should be true unless there is a specific justification. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setHeader(boolean)"><!-- --></A><H3> +setHeader</H3> +<PRE> +public final void <B>setHeader</B>(boolean&nbsp;val)</PRE> +<DL> +<DD>Returns whether the appender produces the HEADER part (that is, timestamp and host name) + of the syslog packet. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SyslogAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/SyslogAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/TelnetAppender.SocketHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/TelnetAppender.SocketHandler.html new file mode 100644 index 00000000000..ae3381dc55a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/TelnetAppender.SocketHandler.html @@ -0,0 +1,389 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TelnetAppender.SocketHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TelnetAppender.SocketHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TelnetAppender.SocketHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/TelnetAppender.SocketHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TelnetAppender.SocketHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class TelnetAppender.SocketHandler</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.TelnetAppender.SocketHandler</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DD> +</DL> +<DL> +<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>protected class <B>TelnetAppender.SocketHandler</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></DL> +</PRE> + +<P> +The SocketHandler class is used to accept connections from + clients. It is threaded so that clients can connect/disconnect + asynchronously. +<P> + +<P> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_java.lang.Thread"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.lang.Thread"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html#TelnetAppender.SocketHandler(int)">TelnetAppender.SocketHandler</A></B>(int&nbsp;port)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make sure we close all network connections when this handler is destroyed.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html#finalize()">finalize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html#run()">run</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Continually accepts client connections.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html#send(java.lang.String)">send</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sends a message to each of the clients in telnet-friendly output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Thread"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#activeCount()" title="class or interface in java.lang">activeCount</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#checkAccess()" title="class or interface in java.lang">checkAccess</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#countStackFrames()" title="class or interface in java.lang">countStackFrames</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#currentThread()" title="class or interface in java.lang">currentThread</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#destroy()" title="class or interface in java.lang">destroy</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#dumpStack()" title="class or interface in java.lang">dumpStack</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#enumerate(java.lang.Thread[])" title="class or interface in java.lang">enumerate</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces()" title="class or interface in java.lang">getAllStackTraces</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader()" title="class or interface in java.lang">getContextClassLoader</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler()" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getId()" title="class or interface in java.lang">getId</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getName()" title="class or interface in java.lang">getName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getPriority()" title="class or interface in java.lang">getPriority</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getStackTrace()" title="class or interface in java.lang">getStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getState()" title="class or interface in java.lang">getState</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup()" title="class or interface in java.lang">getThreadGroup</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler()" title="class or interface in java.lang">getUncaughtExceptionHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#holdsLock(java.lang.Object)" title="class or interface in java.lang">holdsLock</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#interrupt()" title="class or interface in java.lang">interrupt</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#interrupted()" title="class or interface in java.lang">interrupted</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#isAlive()" title="class or interface in java.lang">isAlive</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#isDaemon()" title="class or interface in java.lang">isDaemon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#isInterrupted()" title="class or interface in java.lang">isInterrupted</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#join()" title="class or interface in java.lang">join</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#join(long)" title="class or interface in java.lang">join</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#join(long, int)" title="class or interface in java.lang">join</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#resume()" title="class or interface in java.lang">resume</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader(java.lang.ClassLoader)" title="class or interface in java.lang">setContextClassLoader</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setDaemon(boolean)" title="class or interface in java.lang">setDaemon</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setName(java.lang.String)" title="class or interface in java.lang">setName</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setPriority(int)" title="class or interface in java.lang">setPriority</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" title="class or interface in java.lang">setUncaughtExceptionHandler</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#sleep(long)" title="class or interface in java.lang">sleep</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#sleep(long, int)" title="class or interface in java.lang">sleep</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#start()" title="class or interface in java.lang">start</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#stop()" title="class or interface in java.lang">stop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#stop(java.lang.Throwable)" title="class or interface in java.lang">stop</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#suspend()" title="class or interface in java.lang">suspend</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#yield()" title="class or interface in java.lang">yield</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TelnetAppender.SocketHandler(int)"><!-- --></A><H3> +TelnetAppender.SocketHandler</H3> +<PRE> +public <B>TelnetAppender.SocketHandler</B>(int&nbsp;port) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="finalize()"><!-- --></A><H3> +finalize</H3> +<PRE> +public void <B>finalize</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD>make sure we close all network connections when this handler is destroyed. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="send(java.lang.String)"><!-- --></A><H3> +send</H3> +<PRE> +public void <B>send</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +<DD>sends a message to each of the clients in telnet-friendly output. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="run()"><!-- --></A><H3> +run</H3> +<PRE> +public void <B>run</B>()</PRE> +<DL> +<DD>Continually accepts client connections. Client connections + are refused when MAX_CONNECTIONS is reached. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TelnetAppender.SocketHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/TelnetAppender.SocketHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TelnetAppender.SocketHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/TelnetAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/TelnetAppender.html new file mode 100644 index 00000000000..1a5c9a26db4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/TelnetAppender.html @@ -0,0 +1,446 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TelnetAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TelnetAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TelnetAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/TelnetAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TelnetAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class TelnetAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.TelnetAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TelnetAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></DL> +</PRE> + +<P> +<p>The TelnetAppender is a log4j appender that specializes in + writing to a read-only socket. The output is provided in a + telnet-friendly way so that a log can be monitored over TCP/IP. + Clients using telnet connect to the socket and receive log data. + This is handy for remote monitoring, especially when monitoring a + servlet. + + <p>Here is a list of the available configuration options: + + <table border=1> + <tr> + <th>Name</th> + <th>Requirement</th> + <th>Description</th> + <th>Sample Value</th> + </tr> + + <tr> + <td>Port</td> + <td>optional</td> + <td>This parameter determines the port to use for announcing log events. The default port is 23 (telnet).</td> + <td>5875</td> + </table> +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD><a HREF="mailto:jay@v-wave.com">Jay Funnell</a></DD> +</DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net">TelnetAppender.SocketHandler</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The SocketHandler class is used to accept connections from + clients.</TD> +</TR> +</TABLE> +&nbsp;<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html#TelnetAppender()">TelnetAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;all of the options have been set, create the socket handler and + wait for connections.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handles a log event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shuts down the appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html#getPort()">getPort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This appender requires a layout to format the text to the + attached client(s).</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html#setPort(int)">setPort</A></B>(int&nbsp;port)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TelnetAppender()"><!-- --></A><H3> +TelnetAppender</H3> +<PRE> +public <B>TelnetAppender</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>This appender requires a layout to format the text to the + attached client(s). +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>all of the options have been set, create the socket handler and + wait for connections. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPort()"><!-- --></A><H3> +getPort</H3> +<PRE> +public int <B>getPort</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setPort(int)"><!-- --></A><H3> +setPort</H3> +<PRE> +public void <B>setPort</B>(int&nbsp;port)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD>shuts down the appender. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +protected void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Handles a log event. For this appender, that means writing the + message to each connected client. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TelnetAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/TelnetAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TelnetAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/ZeroConfSupport.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/ZeroConfSupport.html new file mode 100644 index 00000000000..429ea4c8e68 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/ZeroConfSupport.html @@ -0,0 +1,315 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ZeroConfSupport (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ZeroConfSupport (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ZeroConfSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/ZeroConfSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ZeroConfSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.net</FONT> +<BR> +Class ZeroConfSupport</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.net.ZeroConfSupport</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>ZeroConfSupport</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/ZeroConfSupport.html#ZeroConfSupport(java.lang.String, int, java.lang.String)">ZeroConfSupport</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;zone, + int&nbsp;port, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/ZeroConfSupport.html#ZeroConfSupport(java.lang.String, int, java.lang.String, java.util.Map)">ZeroConfSupport</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;zone, + int&nbsp;port, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/ZeroConfSupport.html#advertise()">advertise</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/ZeroConfSupport.html#getJMDNSInstance()">getJMDNSInstance</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/net/ZeroConfSupport.html#unadvertise()">unadvertise</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ZeroConfSupport(java.lang.String, int, java.lang.String, java.util.Map)"><!-- --></A><H3> +ZeroConfSupport</H3> +<PRE> +public <B>ZeroConfSupport</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;zone, + int&nbsp;port, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</PRE> +<DL> +</DL> +<HR> + +<A NAME="ZeroConfSupport(java.lang.String, int, java.lang.String)"><!-- --></A><H3> +ZeroConfSupport</H3> +<PRE> +public <B>ZeroConfSupport</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;zone, + int&nbsp;port, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="advertise()"><!-- --></A><H3> +advertise</H3> +<PRE> +public void <B>advertise</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="unadvertise()"><!-- --></A><H3> +unadvertise</H3> +<PRE> +public void <B>unadvertise</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getJMDNSInstance()"><!-- --></A><H3> +getJMDNSInstance</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getJMDNSInstance</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ZeroConfSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/ZeroConfSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ZeroConfSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/JMSAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/JMSAppender.html new file mode 100644 index 00000000000..1d6bbb55ff3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/JMSAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.JMSAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.JMSAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useJMSAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JMSAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.JMSAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.net.JMSAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useJMSAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JMSAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/JMSSink.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/JMSSink.html new file mode 100644 index 00000000000..089769e3770 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/JMSSink.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.JMSSink (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.JMSSink (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useJMSSink.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JMSSink.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.JMSSink</B></H2> +</CENTER> +No usage of org.apache.log4j.net.JMSSink +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useJMSSink.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JMSSink.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SMTPAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SMTPAppender.html new file mode 100644 index 00000000000..d6e455ffda4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SMTPAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.SMTPAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.SMTPAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSMTPAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SMTPAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.SMTPAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.net.SMTPAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSMTPAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SMTPAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SimpleSocketServer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SimpleSocketServer.html new file mode 100644 index 00000000000..f48262f57aa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SimpleSocketServer.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.SimpleSocketServer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.SimpleSocketServer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSimpleSocketServer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleSocketServer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.SimpleSocketServer</B></H2> +</CENTER> +No usage of org.apache.log4j.net.SimpleSocketServer +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSimpleSocketServer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleSocketServer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketAppender.html new file mode 100644 index 00000000000..6c201aead95 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.SocketAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.SocketAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSocketAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.SocketAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.net.SocketAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSocketAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketHubAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketHubAppender.html new file mode 100644 index 00000000000..5b482d518e5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketHubAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.SocketHubAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.SocketHubAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSocketHubAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketHubAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.SocketHubAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.net.SocketHubAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSocketHubAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketHubAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketNode.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketNode.html new file mode 100644 index 00000000000..934f7a0b77e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketNode.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.SocketNode (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.SocketNode (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSocketNode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketNode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.SocketNode</B></H2> +</CENTER> +No usage of org.apache.log4j.net.SocketNode +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSocketNode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketNode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketServer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketServer.html new file mode 100644 index 00000000000..565e08a386a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SocketServer.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.SocketServer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.SocketServer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSocketServer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketServer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.SocketServer</B></H2> +</CENTER> +No usage of org.apache.log4j.net.SocketServer +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSocketServer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SocketServer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SyslogAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SyslogAppender.html new file mode 100644 index 00000000000..56dc53b178d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/SyslogAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.SyslogAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.SyslogAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSyslogAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.SyslogAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.net.SyslogAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useSyslogAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SyslogAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/TelnetAppender.SocketHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/TelnetAppender.SocketHandler.html new file mode 100644 index 00000000000..51adb032112 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/TelnetAppender.SocketHandler.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.TelnetAppender.SocketHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.TelnetAppender.SocketHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useTelnetAppender.SocketHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TelnetAppender.SocketHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.TelnetAppender.SocketHandler</B></H2> +</CENTER> +No usage of org.apache.log4j.net.TelnetAppender.SocketHandler +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useTelnetAppender.SocketHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TelnetAppender.SocketHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/TelnetAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/TelnetAppender.html new file mode 100644 index 00000000000..bccf4a0116a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/TelnetAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.TelnetAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.TelnetAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useTelnetAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TelnetAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.TelnetAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.net.TelnetAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useTelnetAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TelnetAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/ZeroConfSupport.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/ZeroConfSupport.html new file mode 100644 index 00000000000..6bf33e2d210 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/class-use/ZeroConfSupport.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.net.ZeroConfSupport (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.net.ZeroConfSupport (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useZeroConfSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ZeroConfSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.net.ZeroConfSupport</B></H2> +</CENTER> +No usage of org.apache.log4j.net.ZeroConfSupport +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/net//class-useZeroConfSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ZeroConfSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-frame.html new file mode 100644 index 00000000000..2112d4b58cd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-frame.html @@ -0,0 +1,53 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.net (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/net/package-summary.html" target="classFrame">org.apache.log4j.net</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="JMSAppender.html" title="class in org.apache.log4j.net" target="classFrame">JMSAppender</A> +<BR> +<A HREF="JMSSink.html" title="class in org.apache.log4j.net" target="classFrame">JMSSink</A> +<BR> +<A HREF="SimpleSocketServer.html" title="class in org.apache.log4j.net" target="classFrame">SimpleSocketServer</A> +<BR> +<A HREF="SMTPAppender.html" title="class in org.apache.log4j.net" target="classFrame">SMTPAppender</A> +<BR> +<A HREF="SocketAppender.html" title="class in org.apache.log4j.net" target="classFrame">SocketAppender</A> +<BR> +<A HREF="SocketHubAppender.html" title="class in org.apache.log4j.net" target="classFrame">SocketHubAppender</A> +<BR> +<A HREF="SocketNode.html" title="class in org.apache.log4j.net" target="classFrame">SocketNode</A> +<BR> +<A HREF="SocketServer.html" title="class in org.apache.log4j.net" target="classFrame">SocketServer</A> +<BR> +<A HREF="SyslogAppender.html" title="class in org.apache.log4j.net" target="classFrame">SyslogAppender</A> +<BR> +<A HREF="TelnetAppender.html" title="class in org.apache.log4j.net" target="classFrame">TelnetAppender</A> +<BR> +<A HREF="ZeroConfSupport.html" title="class in org.apache.log4j.net" target="classFrame">ZeroConfSupport</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-summary.html new file mode 100644 index 00000000000..e59714d7be6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-summary.html @@ -0,0 +1,225 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.net (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.net (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/nt/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.net +</H2> +Package for remote logging. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A></B></TD> +<TD>A simple appender that publishes events to a JMS Topic.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net">JMSSink</A></B></TD> +<TD>A simple application that consumes logging events sent by a <A HREF="../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net"><CODE>JMSAppender</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net">SimpleSocketServer</A></B></TD> +<TD>A simple <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> based server.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A></B></TD> +<TD>Send an e-mail when a specific logging event occurs, typically on + errors or fatal errors.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A></B></TD> +<TD>Sends <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a remote a log server, + usually a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A></B></TD> +<TD>Sends <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a set of remote log servers, + usually a <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNodes</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net">SocketNode</A></B></TD> +<TD>Read <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects sent from a remote client using + Sockets (TCP).</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net">SocketServer</A></B></TD> +<TD>A <A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A> based server that uses a different hierarchy + for each client.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A></B></TD> +<TD>Use SyslogAppender to send log messages to a remote syslog daemon.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A></B></TD> +<TD>The TelnetAppender is a log4j appender that specializes in + writing to a read-only socket.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net">ZeroConfSupport</A></B></TD> +<TD>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.net Description +</H2> + +<P> +<p>Package for remote logging. + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Tue Mar 21 20:28:14 MET 2000 +<!-- hhmts end --> +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/viewer/configure/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/nt/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-tree.html new file mode 100644 index 00000000000..e3c64a12769 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-tree.html @@ -0,0 +1,163 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.net Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.net Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/viewer/configure/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/nt/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.net +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>AppenderSkeleton</B></A> (implements org.apache.log4j.<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net"><B>JMSAppender</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><B>SMTPAppender</B></A> (implements org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A>) +<LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><B>SocketAppender</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><B>SocketHubAppender</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net"><B>SyslogAppender</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net"><B>TelnetAppender</B></A></UL> +<LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net"><B>JMSSink</B></A> (implements javax.jms.MessageListener) +<LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net"><B>SimpleSocketServer</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><B>SocketNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>) +<LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net"><B>SocketServer</B></A><LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang"><B>Thread</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net"><B>TelnetAppender.SocketHandler</B></A></UL> +<LI TYPE="circle">org.apache.log4j.net.<A HREF="../../../../org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net"><B>ZeroConfSupport</B></A></UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/lf5/viewer/configure/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/nt/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-use.html new file mode 100644 index 00000000000..87c123b78e4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/net/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.net (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.net (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.net</B></H2> +</CENTER> +No usage of org.apache.log4j.net +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/net/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/NTEventLogAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/NTEventLogAppender.html new file mode 100644 index 00000000000..bfac4fbdf07 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/NTEventLogAppender.html @@ -0,0 +1,530 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NTEventLogAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NTEventLogAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NTEventLogAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/nt/NTEventLogAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NTEventLogAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.nt</FONT> +<BR> +Class NTEventLogAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.nt.NTEventLogAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>NTEventLogAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></DL> +</PRE> + +<P> +Append to the NT event log system. + + <p><b>WARNING</b> This appender can only be installed and used on a + Windows system. + + <p>Do not forget to place NTEventLogAppender.dll, + NTEventLogAppender.amd64.dll, NTEventLogAppender.ia64.dll + or NTEventLogAppender.x86.dll as appropriate in a + directory that is on the PATH of the Windows system. Otherwise, you + will get a java.lang.UnsatisfiedLinkError. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD><a href="mailto:cstaylor@pacbell.net">Chris Taylor</a>, <a href="mailto:jim_cakalic@na.biomerieux.com">Jim Cakalic</a></DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender()">NTEventLogAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(org.apache.log4j.Layout)">NTEventLogAppender</A></B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(java.lang.String)">NTEventLogAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(java.lang.String, org.apache.log4j.Layout)">NTEventLogAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source, + <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(java.lang.String, java.lang.String)">NTEventLogAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;server, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#NTEventLogAppender(java.lang.String, java.lang.String, org.apache.log4j.Layout)">NTEventLogAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;server, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source, + <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Derived appenders should override this method if option structure + requires it.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release any resources allocated within the appender such as file + handles, network connections, etc.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#finalize()">finalize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finalize this appender by calling the derived class' + <code>close</code> method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#getSource()">getSource</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>NTEventLogAppender</code> requires a layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html#setSource(java.lang.String)">setSource</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>Source</b> option which names the source of the event.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NTEventLogAppender()"><!-- --></A><H3> +NTEventLogAppender</H3> +<PRE> +public <B>NTEventLogAppender</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="NTEventLogAppender(java.lang.String)"><!-- --></A><H3> +NTEventLogAppender</H3> +<PRE> +public <B>NTEventLogAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source)</PRE> +<DL> +</DL> +<HR> + +<A NAME="NTEventLogAppender(java.lang.String, java.lang.String)"><!-- --></A><H3> +NTEventLogAppender</H3> +<PRE> +public <B>NTEventLogAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;server, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source)</PRE> +<DL> +</DL> +<HR> + +<A NAME="NTEventLogAppender(org.apache.log4j.Layout)"><!-- --></A><H3> +NTEventLogAppender</H3> +<PRE> +public <B>NTEventLogAppender</B>(<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</PRE> +<DL> +</DL> +<HR> + +<A NAME="NTEventLogAppender(java.lang.String, org.apache.log4j.Layout)"><!-- --></A><H3> +NTEventLogAppender</H3> +<PRE> +public <B>NTEventLogAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source, + <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</PRE> +<DL> +</DL> +<HR> + +<A NAME="NTEventLogAppender(java.lang.String, java.lang.String, org.apache.log4j.Layout)"><!-- --></A><H3> +NTEventLogAppender</H3> +<PRE> +public <B>NTEventLogAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;server, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source, + <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>&nbsp;layout)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/Appender.html#close()">Appender</A></CODE></B></DD> +<DD>Release any resources allocated within the appender such as file + handles, network connections, etc. + + <p>It is a programming error to append to a closed appender. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">AppenderSkeleton</A></CODE></B></DD> +<DD>Derived appenders should override this method if option structure + requires it. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">AppenderSkeleton</A></CODE></B></DD> +<DD>Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging. See also <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend</CODE></A> method. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="finalize()"><!-- --></A><H3> +finalize</H3> +<PRE> +public void <B>finalize</B>()</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">AppenderSkeleton</A></CODE></B></DD> +<DD>Finalize this appender by calling the derived class' + <code>close</code> method. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setSource(java.lang.String)"><!-- --></A><H3> +setSource</H3> +<PRE> +public void <B>setSource</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;source)</PRE> +<DL> +<DD>The <b>Source</b> option which names the source of the event. The + current value of this constant is <b>Source</b>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getSource()"><!-- --></A><H3> +getSource</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSource</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>The <code>NTEventLogAppender</code> requires a layout. Hence, + this method always returns <code>true</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NTEventLogAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/nt/NTEventLogAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NTEventLogAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/class-use/NTEventLogAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/class-use/NTEventLogAppender.html new file mode 100644 index 00000000000..7c2256b3810 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/class-use/NTEventLogAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.nt.NTEventLogAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.nt.NTEventLogAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/nt//class-useNTEventLogAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NTEventLogAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.nt.NTEventLogAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.nt.NTEventLogAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/nt//class-useNTEventLogAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NTEventLogAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-frame.html new file mode 100644 index 00000000000..31396c44307 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-frame.html @@ -0,0 +1,33 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.nt (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/nt/package-summary.html" target="classFrame">org.apache.log4j.nt</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="NTEventLogAppender.html" title="class in org.apache.log4j.nt" target="classFrame">NTEventLogAppender</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-summary.html new file mode 100644 index 00000000000..4ab31a11a6e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-summary.html @@ -0,0 +1,179 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.nt (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.nt (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/nt/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.nt +</H2> +Package for NT event logging. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A></B></TD> +<TD>Append to the NT event log system.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.nt Description +</H2> + +<P> +<p>Package for NT event logging. + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Sat Apr 29 14:30:12 MDT 2000 +<!-- hhmts end --> +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/nt/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-tree.html new file mode 100644 index 00000000000..ef065e94d08 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-tree.html @@ -0,0 +1,157 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.nt Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.nt Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/nt/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.nt +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>AppenderSkeleton</B></A> (implements org.apache.log4j.<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.nt.<A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt"><B>NTEventLogAppender</B></A></UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/net/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/nt/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-use.html new file mode 100644 index 00000000000..aa91fc0e8a5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/nt/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.nt (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.nt (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/nt/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.nt</B></H2> +</CENTER> +No usage of org.apache.log4j.nt +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/nt/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/ObjectRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/ObjectRenderer.html new file mode 100644 index 00000000000..fdb041c5e55 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/ObjectRenderer.html @@ -0,0 +1,222 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ObjectRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ObjectRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ObjectRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/ObjectRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ObjectRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.or</FONT> +<BR> +Interface ObjectRenderer</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax">AttributesRenderer</A>, <A HREF="../../../../org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms">MessageRenderer</A>, <A HREF="../../../../org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or">ThreadGroupRenderer</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>ObjectRenderer</B></DL> +</PRE> + +<P> +Implement this interface in order to render objects as strings. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html#doRender(java.lang.Object)">doRender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the object passed as parameter as a String.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="doRender(java.lang.Object)"><!-- --></A><H3> +doRender</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>doRender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD>Render the object passed as parameter as a String. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ObjectRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/ObjectRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ObjectRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/RendererMap.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/RendererMap.html new file mode 100644 index 00000000000..43b5809d155 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/RendererMap.html @@ -0,0 +1,445 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +RendererMap (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="RendererMap (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RendererMap.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/RendererMap.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RendererMap.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.or</FONT> +<BR> +Class RendererMap</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.or.RendererMap</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>RendererMap</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Map class objects to an <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>version 1.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/RendererMap.html#RendererMap()">RendererMap</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/RendererMap.html#addRenderer(org.apache.log4j.spi.RendererSupport, java.lang.String, java.lang.String)">addRenderer</A></B>(<A HREF="../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A>&nbsp;repository, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;renderedClassName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;renderingClassName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a renderer to a hierarchy passed as parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/RendererMap.html#clear()">clear</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/RendererMap.html#findAndRender(java.lang.Object)">findAndRender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find the appropriate renderer for the class type of the + <code>o</code> parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/RendererMap.html#get(java.lang.Class)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Search the parents of <code>clazz</code> for a renderer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/RendererMap.html#get(java.lang.Object)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Syntactic sugar method that calls <A HREF="../../../../org/apache/log4j/or/RendererMap.html#get(java.lang.Class)"><CODE>get(Class)</CODE></A> with the + class of the object parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/RendererMap.html#getDefaultRenderer()">getDefaultRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/RendererMap.html#put(java.lang.Class, org.apache.log4j.or.ObjectRenderer)">put</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz, + <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;or)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Register an <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A> for <code>clazz</code>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="RendererMap()"><!-- --></A><H3> +RendererMap</H3> +<PRE> +public <B>RendererMap</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addRenderer(org.apache.log4j.spi.RendererSupport, java.lang.String, java.lang.String)"><!-- --></A><H3> +addRenderer</H3> +<PRE> +public static void <B>addRenderer</B>(<A HREF="../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A>&nbsp;repository, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;renderedClassName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;renderingClassName)</PRE> +<DL> +<DD>Add a renderer to a hierarchy passed as parameter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="findAndRender(java.lang.Object)"><!-- --></A><H3> +findAndRender</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>findAndRender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD>Find the appropriate renderer for the class type of the + <code>o</code> parameter. This is accomplished by calling the + <A HREF="../../../../org/apache/log4j/or/RendererMap.html#get(java.lang.Class)"><CODE>get(Class)</CODE></A> method. Once a renderer is found, it is + applied on the object <code>o</code> and the result is returned + as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang"><CODE>String</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="get(java.lang.Object)"><!-- --></A><H3> +get</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD>Syntactic sugar method that calls <A HREF="../../../../org/apache/log4j/or/RendererMap.html#get(java.lang.Class)"><CODE>get(Class)</CODE></A> with the + class of the object parameter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="get(java.lang.Class)"><!-- --></A><H3> +get</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</PRE> +<DL> +<DD>Search the parents of <code>clazz</code> for a renderer. The + renderer closest in the hierarchy will be returned. If no + renderers could be found, then the default renderer is returned. + + <p>The search first looks for a renderer configured for + <code>clazz</code>. If a renderer could not be found, then the + search continues by looking at all the interfaces implemented by + <code>clazz</code> including the super-interfaces of each + interface. If a renderer cannot be found, then the search looks + for a renderer defined for the parent (superclass) of + <code>clazz</code>. If that fails, then all the interfaces + implemented by the parent of <code>clazz</code> are searched and + so on. + + <p>For example, if A0, A1, A2 are classes and X0, X1, X2, Y0, Y1 + are interfaces where A2 extends A1 which in turn extends A0 and + similarly X2 extends X1 which extends X0 and Y1 extends Y0. Let + us also assume that A1 implements the Y0 interface and that A2 + implements the X2 interface. + + <p>The table below shows the results returned by the + <code>get(A2.class)</code> method depending on the renderers + added to the map. + + <p><table border="1"> + <tr><th>Added renderers</th><th>Value returned by <code>get(A2.class)</code></th> + + <tr><td><code>A0Renderer</code> + <td align="center"><code>A0Renderer</code> + + <tr><td><code>A0Renderer, A1Renderer</code> + <td align="center"><code>A1Renderer</code> + + <tr><td><code>X0Renderer</code> + <td align="center"><code>X0Renderer</code> + + <tr><td><code>A1Renderer, X0Renderer</code> + <td align="center"><code>X0Renderer</code> + + </table> + + <p>This search algorithm is not the most natural, although it is + particularly easy to implement. Future log4j versions + <em>may</em> implement a more intuitive search + algorithm. However, the present algorithm should be acceptable in + the vast majority of circumstances. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getDefaultRenderer()"><!-- --></A><H3> +getDefaultRenderer</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A> <B>getDefaultRenderer</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="clear()"><!-- --></A><H3> +clear</H3> +<PRE> +public void <B>clear</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="put(java.lang.Class, org.apache.log4j.or.ObjectRenderer)"><!-- --></A><H3> +put</H3> +<PRE> +public void <B>put</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz, + <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;or)</PRE> +<DL> +<DD>Register an <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A> for <code>clazz</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RendererMap.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/RendererMap.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RendererMap.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/ThreadGroupRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/ThreadGroupRenderer.html new file mode 100644 index 00000000000..c9d43735530 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/ThreadGroupRenderer.html @@ -0,0 +1,284 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ThreadGroupRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ThreadGroupRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThreadGroupRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/ThreadGroupRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadGroupRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.or</FONT> +<BR> +Class ThreadGroupRenderer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.or.ThreadGroupRenderer</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>ThreadGroupRenderer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></DL> +</PRE> + +<P> +Render <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang"><CODE>ThreadGroup</CODE></A> objects in a format similar to the + information output by the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true#list()" title="class or interface in java.lang"><CODE>ThreadGroup.list()</CODE></A> method. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/ThreadGroupRenderer.html#ThreadGroupRenderer()">ThreadGroupRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/or/ThreadGroupRenderer.html#doRender(java.lang.Object)">doRender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang"><CODE>ThreadGroup</CODE></A> object similar to the way that the + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true#list()" title="class or interface in java.lang"><CODE>ThreadGroup.list()</CODE></A> method output information.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ThreadGroupRenderer()"><!-- --></A><H3> +ThreadGroupRenderer</H3> +<PRE> +public <B>ThreadGroupRenderer</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="doRender(java.lang.Object)"><!-- --></A><H3> +doRender</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>doRender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD>Render a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang"><CODE>ThreadGroup</CODE></A> object similar to the way that the + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true#list()" title="class or interface in java.lang"><CODE>ThreadGroup.list()</CODE></A> method output information. + + <p>The output of a simple program consisting of one + <code>main</code> thread is: + <pre> + java.lang.ThreadGroup[name=main, maxpri=10] + Thread=[main,5,false] + </pre> + + <p>The boolean value in thread information is the value returned + by <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true#isDaemon()" title="class or interface in java.lang"><CODE>Thread.isDaemon()</CODE></A>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html#doRender(java.lang.Object)">doRender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThreadGroupRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/ThreadGroupRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadGroupRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/ObjectRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/ObjectRenderer.html new file mode 100644 index 00000000000..7fdcfa1c0d9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/ObjectRenderer.html @@ -0,0 +1,363 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.or.ObjectRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.or.ObjectRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or//class-useObjectRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ObjectRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.or.ObjectRenderer</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.or"><B>org.apache.log4j.or</B></A></TD> +<TD>ObjectRenders are resposible for rendering messages depending on +their class type.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.or.jms"><B>org.apache.log4j.or.jms</B></A></TD> +<TD>This package contains the MessageRenderer which renders objects of + type <code>javax.jms.Message</code>.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.or.sax"><B>org.apache.log4j.or.sax</B></A></TD> +<TD>This package contains the AttributesRenderer which renders object of + class <code>org.xml.sax.Attributes</code>.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../../org/apache/log4j/Hierarchy.html#addRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)">addRenderer</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;classToRender, + <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;or)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an object renderer for a specific class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../../org/apache/log4j/Hierarchy.html#setRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)">setRenderer</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;renderedClass, + <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;renderer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used by subclasses to add a renderer to the hierarchy passed as parameter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.or"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A> in <A HREF="../../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A> that implement <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or">ThreadGroupRenderer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang"><CODE>ThreadGroup</CODE></A> objects in a format similar to the + information output by the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true#list()" title="class or interface in java.lang"><CODE>ThreadGroup.list()</CODE></A> method.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A> that return <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></CODE></FONT></TD> +<TD><CODE><B>RendererMap.</B><B><A HREF="../../../../../org/apache/log4j/or/RendererMap.html#get(java.lang.Class)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Search the parents of <code>clazz</code> for a renderer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></CODE></FONT></TD> +<TD><CODE><B>RendererMap.</B><B><A HREF="../../../../../org/apache/log4j/or/RendererMap.html#get(java.lang.Object)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Syntactic sugar method that calls <A HREF="../../../../../org/apache/log4j/or/RendererMap.html#get(java.lang.Class)"><CODE>RendererMap.get(Class)</CODE></A> with the + class of the object parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></CODE></FONT></TD> +<TD><CODE><B>RendererMap.</B><B><A HREF="../../../../../org/apache/log4j/or/RendererMap.html#getDefaultRenderer()">getDefaultRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A> with parameters of type <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>RendererMap.</B><B><A HREF="../../../../../org/apache/log4j/or/RendererMap.html#put(java.lang.Class, org.apache.log4j.or.ObjectRenderer)">put</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz, + <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;or)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Register an <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A> for <code>clazz</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.or.jms"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A> in <A HREF="../../../../../org/apache/log4j/or/jms/package-summary.html">org.apache.log4j.or.jms</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/or/jms/package-summary.html">org.apache.log4j.or.jms</A> that implement <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms">MessageRenderer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render <code>javax.jms.Message</code> objects.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.or.sax"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A> in <A HREF="../../../../../org/apache/log4j/or/sax/package-summary.html">org.apache.log4j.or.sax</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/or/sax/package-summary.html">org.apache.log4j.or.sax</A> that implement <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax">AttributesRenderer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render <code>org.xml.sax.Attributes</code> objects.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>RendererSupport.</B><B><A HREF="../../../../../org/apache/log4j/spi/RendererSupport.html#setRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)">setRenderer</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;renderedClass, + <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;renderer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or//class-useObjectRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ObjectRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/RendererMap.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/RendererMap.html new file mode 100644 index 00000000000..0a6999caf6b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/RendererMap.html @@ -0,0 +1,211 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.or.RendererMap (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.or.RendererMap (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or//class-useRendererMap.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RendererMap.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.or.RendererMap</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A></CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../../org/apache/log4j/Hierarchy.html#getRendererMap()">getRendererMap</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the renderer map for this hierarchy.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A></CODE></FONT></TD> +<TD><CODE><B>RendererSupport.</B><B><A HREF="../../../../../org/apache/log4j/spi/RendererSupport.html#getRendererMap()">getRendererMap</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or//class-useRendererMap.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RendererMap.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/ThreadGroupRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/ThreadGroupRenderer.html new file mode 100644 index 00000000000..b937f5f8963 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/class-use/ThreadGroupRenderer.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.or.ThreadGroupRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.or.ThreadGroupRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or//class-useThreadGroupRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadGroupRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.or.ThreadGroupRenderer</B></H2> +</CENTER> +No usage of org.apache.log4j.or.ThreadGroupRenderer +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or//class-useThreadGroupRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadGroupRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/MessageRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/MessageRenderer.html new file mode 100644 index 00000000000..ee3ee703a67 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/MessageRenderer.html @@ -0,0 +1,271 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +MessageRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="MessageRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MessageRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/jms/MessageRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MessageRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.or.jms</FONT> +<BR> +Class MessageRenderer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.or.jms.MessageRenderer</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>MessageRenderer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></DL> +</PRE> + +<P> +Render <code>javax.jms.Message</code> objects. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/or/jms/MessageRenderer.html#MessageRenderer()">MessageRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/or/jms/MessageRenderer.html#doRender(java.lang.Object)">doRender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render a <CODE>Message</CODE>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="MessageRenderer()"><!-- --></A><H3> +MessageRenderer</H3> +<PRE> +public <B>MessageRenderer</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="doRender(java.lang.Object)"><!-- --></A><H3> +doRender</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>doRender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD>Render a <CODE>Message</CODE>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html#doRender(java.lang.Object)">doRender</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MessageRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/jms/MessageRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MessageRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/class-use/MessageRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/class-use/MessageRenderer.html new file mode 100644 index 00000000000..9d0a479eec7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/class-use/MessageRenderer.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.or.jms.MessageRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.or.jms.MessageRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/or/jms//class-useMessageRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MessageRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.or.jms.MessageRenderer</B></H2> +</CENTER> +No usage of org.apache.log4j.or.jms.MessageRenderer +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/or/jms//class-useMessageRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MessageRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-frame.html new file mode 100644 index 00000000000..f5e01089633 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-frame.html @@ -0,0 +1,33 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.or.jms (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../../org/apache/log4j/or/jms/package-summary.html" target="classFrame">org.apache.log4j.or.jms</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="MessageRenderer.html" title="class in org.apache.log4j.or.jms" target="classFrame">MessageRenderer</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-summary.html new file mode 100644 index 00000000000..d790499b1b9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-summary.html @@ -0,0 +1,175 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.or.jms (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.or.jms (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/or/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/or/sax/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/jms/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.or.jms +</H2> +This package contains the MessageRenderer which renders objects of + type <code>javax.jms.Message</code>. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms">MessageRenderer</A></B></TD> +<TD>Render <code>javax.jms.Message</code> objects.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.or.jms Description +</H2> + +<P> +This package contains the MessageRenderer which renders objects of + type <code>javax.jms.Message</code>. +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/or/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/or/sax/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/jms/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-tree.html new file mode 100644 index 00000000000..1484deaffa7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-tree.html @@ -0,0 +1,155 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.or.jms Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.or.jms Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/or/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/or/sax/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/jms/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.or.jms +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.or.jms.<A HREF="../../../../../org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms"><B>MessageRenderer</B></A> (implements org.apache.log4j.or.<A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>) +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/or/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/or/sax/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/jms/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-use.html new file mode 100644 index 00000000000..f6bc4e88fad --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/jms/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.or.jms (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.or.jms (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/jms/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.or.jms</B></H2> +</CENTER> +No usage of org.apache.log4j.or.jms +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/jms/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-frame.html new file mode 100644 index 00000000000..a6599648c1f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-frame.html @@ -0,0 +1,46 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.or (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/or/package-summary.html" target="classFrame">org.apache.log4j.or</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Interfaces</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="ObjectRenderer.html" title="interface in org.apache.log4j.or" target="classFrame"><I>ObjectRenderer</I></A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="RendererMap.html" title="class in org.apache.log4j.or" target="classFrame">RendererMap</A> +<BR> +<A HREF="ThreadGroupRenderer.html" title="class in org.apache.log4j.or" target="classFrame">ThreadGroupRenderer</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-summary.html new file mode 100644 index 00000000000..6808e9abf33 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-summary.html @@ -0,0 +1,196 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.or (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.or (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/nt/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/jms/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.or +</H2> +ObjectRenders are resposible for rendering messages depending on +their class type. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Interface Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></B></TD> +<TD>Implement this interface in order to render objects as strings.</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A></B></TD> +<TD>Map class objects to an <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or">ThreadGroupRenderer</A></B></TD> +<TD>Render <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true" title="class or interface in java.lang"><CODE>ThreadGroup</CODE></A> objects in a format similar to the + information output by the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadGroup.html?is-external=true#list()" title="class or interface in java.lang"><CODE>ThreadGroup.list()</CODE></A> method.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.or Description +</H2> + +<P> +<p>ObjectRenders are resposible for rendering messages depending on +their class type. + +<hr> +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/nt/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/jms/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-tree.html new file mode 100644 index 00000000000..4b3cd531754 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-tree.html @@ -0,0 +1,160 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.or Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.or Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/nt/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/jms/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.or +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.or.<A HREF="../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or"><B>RendererMap</B></A><LI TYPE="circle">org.apache.log4j.or.<A HREF="../../../../org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or"><B>ThreadGroupRenderer</B></A> (implements org.apache.log4j.or.<A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>) +</UL> +</UL> +<H2> +Interface Hierarchy +</H2> +<UL> +<LI TYPE="circle">org.apache.log4j.or.<A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><B>ObjectRenderer</B></A></UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/nt/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/or/jms/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-use.html new file mode 100644 index 00000000000..242e0e1fcd3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/package-use.html @@ -0,0 +1,263 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.or (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.or (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.or</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.or"><B>org.apache.log4j.or</B></A></TD> +<TD>ObjectRenders are resposible for rendering messages depending on +their class type.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.or.jms"><B>org.apache.log4j.or.jms</B></A></TD> +<TD>This package contains the MessageRenderer which renders objects of + type <code>javax.jms.Message</code>.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.or.sax"><B>org.apache.log4j.or.sax</B></A></TD> +<TD>This package contains the AttributesRenderer which renders object of + class <code>org.xml.sax.Attributes</code>.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A> used by <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/or/class-use/ObjectRenderer.html#org.apache.log4j"><B>ObjectRenderer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface in order to render objects as strings.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/or/class-use/RendererMap.html#org.apache.log4j"><B>RendererMap</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map class objects to an <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.or"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A> used by <A HREF="../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/or/class-use/ObjectRenderer.html#org.apache.log4j.or"><B>ObjectRenderer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface in order to render objects as strings.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.or.jms"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A> used by <A HREF="../../../../org/apache/log4j/or/jms/package-summary.html">org.apache.log4j.or.jms</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/or/class-use/ObjectRenderer.html#org.apache.log4j.or.jms"><B>ObjectRenderer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface in order to render objects as strings.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.or.sax"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A> used by <A HREF="../../../../org/apache/log4j/or/sax/package-summary.html">org.apache.log4j.or.sax</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/or/class-use/ObjectRenderer.html#org.apache.log4j.or.sax"><B>ObjectRenderer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface in order to render objects as strings.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A> used by <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/or/class-use/ObjectRenderer.html#org.apache.log4j.spi"><B>ObjectRenderer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface in order to render objects as strings.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/or/class-use/RendererMap.html#org.apache.log4j.spi"><B>RendererMap</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map class objects to an <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/or/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/AttributesRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/AttributesRenderer.html new file mode 100644 index 00000000000..5e97e5f575f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/AttributesRenderer.html @@ -0,0 +1,271 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AttributesRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AttributesRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AttributesRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/sax/AttributesRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AttributesRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.or.sax</FONT> +<BR> +Class AttributesRenderer</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.or.sax.AttributesRenderer</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>AttributesRenderer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></DL> +</PRE> + +<P> +Render <code>org.xml.sax.Attributes</code> objects. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/or/sax/AttributesRenderer.html#AttributesRenderer()">AttributesRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/or/sax/AttributesRenderer.html#doRender(java.lang.Object)">doRender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render a <CODE>Attributes</CODE>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AttributesRenderer()"><!-- --></A><H3> +AttributesRenderer</H3> +<PRE> +public <B>AttributesRenderer</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="doRender(java.lang.Object)"><!-- --></A><H3> +doRender</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>doRender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;o)</PRE> +<DL> +<DD>Render a <CODE>Attributes</CODE>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html#doRender(java.lang.Object)">doRender</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AttributesRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/sax/AttributesRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AttributesRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/class-use/AttributesRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/class-use/AttributesRenderer.html new file mode 100644 index 00000000000..cc3289c7e54 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/class-use/AttributesRenderer.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.or.sax.AttributesRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.or.sax.AttributesRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/or/sax//class-useAttributesRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AttributesRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.or.sax.AttributesRenderer</B></H2> +</CENTER> +No usage of org.apache.log4j.or.sax.AttributesRenderer +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/or/sax//class-useAttributesRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AttributesRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-frame.html new file mode 100644 index 00000000000..605d71e983c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-frame.html @@ -0,0 +1,33 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.or.sax (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../../org/apache/log4j/or/sax/package-summary.html" target="classFrame">org.apache.log4j.or.sax</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="AttributesRenderer.html" title="class in org.apache.log4j.or.sax" target="classFrame">AttributesRenderer</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-summary.html new file mode 100644 index 00000000000..ec2bbb47af2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-summary.html @@ -0,0 +1,175 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.or.sax (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.or.sax (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/or/jms/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/sax/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.or.sax +</H2> +This package contains the AttributesRenderer which renders object of + class <code>org.xml.sax.Attributes</code>. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax">AttributesRenderer</A></B></TD> +<TD>Render <code>org.xml.sax.Attributes</code> objects.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.or.sax Description +</H2> + +<P> +This package contains the AttributesRenderer which renders object of + class <code>org.xml.sax.Attributes</code>. +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/or/jms/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/sax/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-tree.html new file mode 100644 index 00000000000..8a3fcc63f4f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-tree.html @@ -0,0 +1,155 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.or.sax Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.or.sax Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/or/jms/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/sax/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.or.sax +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.or.sax.<A HREF="../../../../../org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax"><B>AttributesRenderer</B></A> (implements org.apache.log4j.or.<A HREF="../../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>) +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/or/jms/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/sax/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-use.html new file mode 100644 index 00000000000..7f9336c575a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/or/sax/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.or.sax (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.or.sax (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/sax/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.or.sax</B></H2> +</CENTER> +No usage of org.apache.log4j.or.sax +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/or/sax/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-frame.html new file mode 100644 index 00000000000..1d0a5bc6e61 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-frame.html @@ -0,0 +1,98 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../org/apache/log4j/package-summary.html" target="classFrame">org.apache.log4j</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Interfaces</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="Appender.html" title="interface in org.apache.log4j" target="classFrame"><I>Appender</I></A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="AppenderSkeleton.html" title="class in org.apache.log4j" target="classFrame">AppenderSkeleton</A> +<BR> +<A HREF="AsyncAppender.html" title="class in org.apache.log4j" target="classFrame">AsyncAppender</A> +<BR> +<A HREF="BasicConfigurator.html" title="class in org.apache.log4j" target="classFrame">BasicConfigurator</A> +<BR> +<A HREF="Category.html" title="class in org.apache.log4j" target="classFrame">Category</A> +<BR> +<A HREF="ConsoleAppender.html" title="class in org.apache.log4j" target="classFrame">ConsoleAppender</A> +<BR> +<A HREF="DailyRollingFileAppender.html" title="class in org.apache.log4j" target="classFrame">DailyRollingFileAppender</A> +<BR> +<A HREF="DefaultThrowableRenderer.html" title="class in org.apache.log4j" target="classFrame">DefaultThrowableRenderer</A> +<BR> +<A HREF="EnhancedPatternLayout.html" title="class in org.apache.log4j" target="classFrame">EnhancedPatternLayout</A> +<BR> +<A HREF="EnhancedThrowableRenderer.html" title="class in org.apache.log4j" target="classFrame">EnhancedThrowableRenderer</A> +<BR> +<A HREF="FileAppender.html" title="class in org.apache.log4j" target="classFrame">FileAppender</A> +<BR> +<A HREF="Hierarchy.html" title="class in org.apache.log4j" target="classFrame">Hierarchy</A> +<BR> +<A HREF="HTMLLayout.html" title="class in org.apache.log4j" target="classFrame">HTMLLayout</A> +<BR> +<A HREF="Layout.html" title="class in org.apache.log4j" target="classFrame">Layout</A> +<BR> +<A HREF="Level.html" title="class in org.apache.log4j" target="classFrame">Level</A> +<BR> +<A HREF="Logger.html" title="class in org.apache.log4j" target="classFrame">Logger</A> +<BR> +<A HREF="LogManager.html" title="class in org.apache.log4j" target="classFrame">LogManager</A> +<BR> +<A HREF="LogMF.html" title="class in org.apache.log4j" target="classFrame">LogMF</A> +<BR> +<A HREF="LogSF.html" title="class in org.apache.log4j" target="classFrame">LogSF</A> +<BR> +<A HREF="LogXF.html" title="class in org.apache.log4j" target="classFrame">LogXF</A> +<BR> +<A HREF="MDC.html" title="class in org.apache.log4j" target="classFrame">MDC</A> +<BR> +<A HREF="NDC.html" title="class in org.apache.log4j" target="classFrame">NDC</A> +<BR> +<A HREF="PatternLayout.html" title="class in org.apache.log4j" target="classFrame">PatternLayout</A> +<BR> +<A HREF="Priority.html" title="class in org.apache.log4j" target="classFrame">Priority</A> +<BR> +<A HREF="PropertyConfigurator.html" title="class in org.apache.log4j" target="classFrame">PropertyConfigurator</A> +<BR> +<A HREF="RollingFileAppender.html" title="class in org.apache.log4j" target="classFrame">RollingFileAppender</A> +<BR> +<A HREF="SimpleLayout.html" title="class in org.apache.log4j" target="classFrame">SimpleLayout</A> +<BR> +<A HREF="TTCCLayout.html" title="class in org.apache.log4j" target="classFrame">TTCCLayout</A> +<BR> +<A HREF="WriterAppender.html" title="class in org.apache.log4j" target="classFrame">WriterAppender</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-summary.html new file mode 100644 index 00000000000..be8e67d3ffb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-summary.html @@ -0,0 +1,320 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV PACKAGE&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/chainsaw/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j +</H2> +The main log4j package. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Interface Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></B></TD> +<TD>Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TD> +<TD>Abstract superclass of the other appenders in the package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A></B></TD> +<TD>The AsyncAppender lets users log events asynchronously.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j">BasicConfigurator</A></B></TD> +<TD>Use this class to quickly configure the package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TD> +<TD><font color="#AA2222"><b>This class has been deprecated and + replaced by the <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> <em>subclass</em></b></font>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A></B></TD> +<TD>ConsoleAppender appends log events to <code>System.out</code> or + <code>System.err</code> using a layout specified by the user.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A></B></TD> +<TD>DailyRollingFileAppender extends <A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><CODE>FileAppender</CODE></A> so that the + underlying file is rolled over at a user chosen frequency.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j">DefaultThrowableRenderer</A></B></TD> +<TD>Default implementation of ThrowableRenderer using + Throwable.printStackTrace.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A></B></TD> +<TD>This class is an enhanced version of org.apache.log4j.PatternLayout + which was originally developed as part of the abandoned log4j 1.3 + effort and has been available in the extras companion.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j">EnhancedThrowableRenderer</A></B></TD> +<TD>Enhanced implementation of ThrowableRenderer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></TD> +<TD>FileAppender appends log events to a file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A></B></TD> +<TD>This class is specialized in retrieving loggers by name and also + maintaining the logger hierarchy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A></B></TD> +<TD>This layout outputs events in a HTML table.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TD> +<TD>Extend this abstract class to create your own log layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></B></TD> +<TD>Defines the minimum set of levels recognized by the system, that is + <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, + <code>WARN</code>, <code>INFO</code, <code>DEBUG</code> and + <code>ALL</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></B></TD> +<TD>This is the central class in the log4j package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j">LogManager</A></B></TD> +<TD>Use the <code>LogManager</code> class to retreive <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> + instances or to operate on the current <A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A></B></TD> +<TD>This class provides parameterized logging services + using the pattern syntax of java.text.MessageFormat.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A></B></TD> +<TD>This class provides parameterized logging services + using the SLF4J pattern syntax.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></B></TD> +<TD>This is a base class for LogMF and LogSF parameterized logging classes.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/MDC.html" title="class in org.apache.log4j">MDC</A></B></TD> +<TD>The MDC class is similar to the <A HREF="../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><CODE>NDC</CODE></A> class except that it is + based on a map instead of a stack.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j">NDC</A></B></TD> +<TD>The NDC class implements <i>nested diagnostic contexts</i> as + defined by Neil Harrison in the article "Patterns for Logging + Diagnostic Messages" part of the book "<i>Pattern Languages of + Program Design 3</i>" edited by Martin et al.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A></B></TD> +<TD>A flexible layout configurable with pattern string.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></B></TD> +<TD><font color="#AA4444">Refrain from using this class directly, use + the <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> class instead</font>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A></B></TD> +<TD>Allows the configuration of log4j from an external file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></B></TD> +<TD>RollingFileAppender extends FileAppender to backup the log files when + they reach a certain size.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j">SimpleLayout</A></B></TD> +<TD>SimpleLayout consists of the level of the log statement, + followed by " - " and then the log message itself.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A></B></TD> +<TD>TTCC layout format consists of time, thread, category and nested + diagnostic context information, hence the name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TD> +<TD>WriterAppender appends log events to a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A> or an + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A> depending on the user's choice.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j Description +</H2> + +<P> +<p>The main log4j package. + +<hr> +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV PACKAGE&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/chainsaw/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-tree.html new file mode 100644 index 00000000000..daf4b64b398 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-tree.html @@ -0,0 +1,184 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/chainsaw/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>AppenderSkeleton</B></A> (implements org.apache.log4j.<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><B>AsyncAppender</B></A> (implements org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j"><B>WriterAppender</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><B>ConsoleAppender</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><B>FileAppender</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j"><B>DailyRollingFileAppender</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><B>RollingFileAppender</B></A></UL> +</UL> +</UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j"><B>BasicConfigurator</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><B>Category</B></A> (implements org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><B>Logger</B></A></UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j"><B>DefaultThrowableRenderer</B></A> (implements org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j"><B>EnhancedThrowableRenderer</B></A> (implements org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><B>Hierarchy</B></A> (implements org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>, org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A>, org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><B>Layout</B></A> (implements org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers"><B>DateLayout</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><B>TTCCLayout</B></A></UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedPatternLayout</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j"><B>HTMLLayout</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><B>PatternLayout</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><B>SimpleLayout</B></A></UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><B>LogManager</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>LogXF</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>LogMF</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>LogSF</B></A></UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/MDC.html" title="class in org.apache.log4j"><B>MDC</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><B>NDC</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j"><B>Priority</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><B>Level</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +</UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><B>PropertyConfigurator</B></A> (implements org.apache.log4j.spi.<A HREF="../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A>) +</UL> +</UL> +<H2> +Interface Hierarchy +</H2> +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j"><B>Appender</B></A></UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/chainsaw/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-use.html new file mode 100644 index 00000000000..d05144f6ab4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/package-use.html @@ -0,0 +1,639 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.config"><B>org.apache.log4j.config</B></A></TD> +<TD>Package used in getting/setting component properties.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jdbc"><B>org.apache.log4j.jdbc</B></A></TD> +<TD>The JDBCAppender provides for sending log events to a database.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jmx"><B>org.apache.log4j.jmx</B></A></TD> +<TD>This package lets you manage log4j settings using JMX.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.nt"><B>org.apache.log4j.nt</B></A></TD> +<TD>Package for NT event logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Appender.html#org.apache.log4j"><B>Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/AppenderSkeleton.html#org.apache.log4j"><B>AppenderSkeleton</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract superclass of the other appenders in the package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Category.html#org.apache.log4j"><B>Category</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#AA2222"><b>This class has been deprecated and + replaced by the <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> <em>subclass</em></b></font>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/FileAppender.html#org.apache.log4j"><B>FileAppender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileAppender appends log events to a file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Layout.html#org.apache.log4j"><B>Layout</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extend this abstract class to create your own log layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Level.html#org.apache.log4j"><B>Level</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines the minimum set of levels recognized by the system, that is + <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, + <code>WARN</code>, <code>INFO</code, <code>DEBUG</code> and + <code>ALL</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Logger.html#org.apache.log4j"><B>Logger</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the central class in the log4j package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/LogXF.html#org.apache.log4j"><B>LogXF</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a base class for LogMF and LogSF parameterized logging classes.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Priority.html#org.apache.log4j"><B>Priority</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#AA4444">Refrain from using this class directly, use + the <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> class instead</font>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/WriterAppender.html#org.apache.log4j"><B>WriterAppender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriterAppender appends log events to a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A> or an + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A> depending on the user's choice.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.config"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Category.html#org.apache.log4j.config"><B>Category</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#AA2222"><b>This class has been deprecated and + replaced by the <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> <em>subclass</em></b></font>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Logger.html#org.apache.log4j.config"><B>Logger</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the central class in the log4j package.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Appender.html#org.apache.log4j.helpers"><B>Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Layout.html#org.apache.log4j.helpers"><B>Layout</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extend this abstract class to create your own log layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Level.html#org.apache.log4j.helpers"><B>Level</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines the minimum set of levels recognized by the system, that is + <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, + <code>WARN</code>, <code>INFO</code, <code>DEBUG</code> and + <code>ALL</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Logger.html#org.apache.log4j.helpers"><B>Logger</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the central class in the log4j package.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jdbc"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Appender.html#org.apache.log4j.jdbc"><B>Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/AppenderSkeleton.html#org.apache.log4j.jdbc"><B>AppenderSkeleton</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract superclass of the other appenders in the package.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jmx"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Appender.html#org.apache.log4j.jmx"><B>Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Category.html#org.apache.log4j.jmx"><B>Category</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#AA2222"><b>This class has been deprecated and + replaced by the <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> <em>subclass</em></b></font>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Layout.html#org.apache.log4j.jmx"><B>Layout</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extend this abstract class to create your own log layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Logger.html#org.apache.log4j.jmx"><B>Logger</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the central class in the log4j package.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Appender.html#org.apache.log4j.lf5"><B>Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/AppenderSkeleton.html#org.apache.log4j.lf5"><B>AppenderSkeleton</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract superclass of the other appenders in the package.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Appender.html#org.apache.log4j.net"><B>Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/AppenderSkeleton.html#org.apache.log4j.net"><B>AppenderSkeleton</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract superclass of the other appenders in the package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Layout.html#org.apache.log4j.net"><B>Layout</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extend this abstract class to create your own log layout format.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.nt"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Appender.html#org.apache.log4j.nt"><B>Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/AppenderSkeleton.html#org.apache.log4j.nt"><B>AppenderSkeleton</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract superclass of the other appenders in the package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Layout.html#org.apache.log4j.nt"><B>Layout</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extend this abstract class to create your own log layout format.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Category.html#org.apache.log4j.pattern"><B>Category</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#AA2222"><b>This class has been deprecated and + replaced by the <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> <em>subclass</em></b></font>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Level.html#org.apache.log4j.pattern"><B>Level</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines the minimum set of levels recognized by the system, that is + <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, + <code>WARN</code>, <code>INFO</code, <code>DEBUG</code> and + <code>ALL</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Logger.html#org.apache.log4j.pattern"><B>Logger</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the central class in the log4j package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Priority.html#org.apache.log4j.pattern"><B>Priority</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#AA4444">Refrain from using this class directly, use + the <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> class instead</font>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Appender.html#org.apache.log4j.spi"><B>Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Category.html#org.apache.log4j.spi"><B>Category</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#AA2222"><b>This class has been deprecated and + replaced by the <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> <em>subclass</em></b></font>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Level.html#org.apache.log4j.spi"><B>Level</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines the minimum set of levels recognized by the system, that is + <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, + <code>WARN</code>, <code>INFO</code, <code>DEBUG</code> and + <code>ALL</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Logger.html#org.apache.log4j.spi"><B>Logger</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the central class in the log4j package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Priority.html#org.apache.log4j.spi"><B>Priority</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#AA4444">Refrain from using this class directly, use + the <A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> class instead</font>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Appender.html#org.apache.log4j.varia"><B>Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/AppenderSkeleton.html#org.apache.log4j.varia"><B>AppenderSkeleton</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract superclass of the other appenders in the package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/FileAppender.html#org.apache.log4j.varia"><B>FileAppender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileAppender appends log events to a file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Level.html#org.apache.log4j.varia"><B>Level</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines the minimum set of levels recognized by the system, that is + <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, + <code>WARN</code>, <code>INFO</code, <code>DEBUG</code> and + <code>ALL</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Logger.html#org.apache.log4j.varia"><B>Logger</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the central class in the log4j package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/RollingFileAppender.html#org.apache.log4j.varia"><B>RollingFileAppender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RollingFileAppender extends FileAppender to backup the log files when + they reach a certain size.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/WriterAppender.html#org.apache.log4j.varia"><B>WriterAppender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriterAppender appends log events to a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A> or an + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A> depending on the user's choice.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Appender.html#org.apache.log4j.xml"><B>Appender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface for your own strategies for outputting log + statements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Layout.html#org.apache.log4j.xml"><B>Layout</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extend this abstract class to create your own log layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/Logger.html#org.apache.log4j.xml"><B>Logger</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the central class in the log4j package.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html new file mode 100644 index 00000000000..a905f59a084 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html @@ -0,0 +1,351 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +BridgePatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="BridgePatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BridgePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/BridgePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BridgePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.PatternConverter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class BridgePatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.BridgePatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>BridgePatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></DL> +</PRE> + +<P> +The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter + contract by delegating to the log4j 1.3 pattern implementation. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Curt Arnold</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.helpers.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html#next">next</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/BridgePatternConverter.html#BridgePatternConverter(java.lang.String)">BridgePatternConverter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/BridgePatternConverter.html#convert(org.apache.log4j.spi.LoggingEvent)">convert</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/BridgePatternConverter.html#format(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Format event to string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/BridgePatternConverter.html#ignoresThrowable()">ignoresThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Will return false if any of the conversion specifiers in the pattern + handles <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><CODE>Exceptions</CODE></A>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.helpers.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html#spacePad(java.lang.StringBuffer, int)">spacePad</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="BridgePatternConverter(java.lang.String)"><!-- --></A><H3> +BridgePatternConverter</H3> +<PRE> +public <B>BridgePatternConverter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD>Create a new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>pattern</CODE> - pattern, may not be null.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="convert(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +convert</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>convert</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html#convert(org.apache.log4j.spi.LoggingEvent)">convert</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;e)</PRE> +<DL> +<DD>Format event to string buffer. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html#format(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>sbuf</CODE> - string buffer to receive formatted event, may not be null.<DD><CODE>e</CODE> - event to format, may not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="ignoresThrowable()"><!-- --></A><H3> +ignoresThrowable</H3> +<PRE> +public boolean <B>ignoresThrowable</B>()</PRE> +<DL> +<DD>Will return false if any of the conversion specifiers in the pattern + handles <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><CODE>Exceptions</CODE></A>. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>true if the pattern formats any information from exceptions.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BridgePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/BridgePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BridgePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.PatternConverter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html new file mode 100644 index 00000000000..c68e985823e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html @@ -0,0 +1,300 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +BridgePatternParser (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="BridgePatternParser (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BridgePatternParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/BridgePatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BridgePatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.PatternParser">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class BridgePatternParser</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.PatternParser</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.BridgePatternParser</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>BridgePatternParser</B><DT>extends <A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></DL> +</PRE> + +<P> +The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter + contract by delegating to the log4j 1.3 pattern implementation. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Curt Arnold</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.helpers.PatternParser"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#currentLiteral">currentLiteral</A>, <A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#formattingInfo">formattingInfo</A>, <A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#i">i</A>, <A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#pattern">pattern</A>, <A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#patternLength">patternLength</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/BridgePatternParser.html#BridgePatternParser(java.lang.String)">BridgePatternParser</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;conversionPattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/BridgePatternParser.html#parse()">parse</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.helpers.PatternParser"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#addConverter(org.apache.log4j.helpers.PatternConverter)">addConverter</A>, <A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#extractOption()">extractOption</A>, <A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#extractPrecisionOption()">extractPrecisionOption</A>, <A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#finalizeConverter(char)">finalizeConverter</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="BridgePatternParser(java.lang.String)"><!-- --></A><H3> +BridgePatternParser</H3> +<PRE> +public <B>BridgePatternParser</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;conversionPattern)</PRE> +<DL> +<DD>Create a new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>conversionPattern</CODE> - pattern, may not be null.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="parse()"><!-- --></A><H3> +parse</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers">PatternConverter</A> <B>parse</B>()</PRE> +<DL> +<DD>Create new pattern converter. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html#parse()">parse</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers">PatternParser</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>pattern converter.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BridgePatternParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/BridgePatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BridgePatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.PatternParser">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html new file mode 100644 index 00000000000..cda0b905825 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html @@ -0,0 +1,553 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CachedDateFormat (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CachedDateFormat (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CachedDateFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/CachedDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CachedDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.text.DateFormat">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class CachedDateFormat</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">java.text.Format</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">java.text.DateFormat</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.CachedDateFormat</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>CachedDateFormat</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></DL> +</PRE> + +<P> +CachedDateFormat optimizes the performance of a wrapped + DateFormat. The implementation is not thread-safe. + If the millisecond pattern is not recognized, + the class will only use the cache if the + same value is requested. +<P> + +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.pattern.CachedDateFormat">Serialized Form</A></DL> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="nested_classes_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.Field.html?is-external=true" title="class or interface in java.text">DateFormat.Field</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html#NO_MILLISECONDS">NO_MILLISECONDS</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant used to represent that there was no change + observed when changing the millisecond count.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html#UNRECOGNIZED_MILLISECONDS">UNRECOGNIZED_MILLISECONDS</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant used to represent that there was an + observed change, but was an expected change.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#AM_PM_FIELD" title="class or interface in java.text">AM_PM_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#calendar" title="class or interface in java.text">calendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DATE_FIELD" title="class or interface in java.text">DATE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_FIELD" title="class or interface in java.text">DAY_OF_WEEK_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_WEEK_IN_MONTH_FIELD" title="class or interface in java.text">DAY_OF_WEEK_IN_MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DAY_OF_YEAR_FIELD" title="class or interface in java.text">DAY_OF_YEAR_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#DEFAULT" title="class or interface in java.text">DEFAULT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#ERA_FIELD" title="class or interface in java.text">ERA_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#FULL" title="class or interface in java.text">FULL</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY0_FIELD" title="class or interface in java.text">HOUR_OF_DAY0_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR_OF_DAY1_FIELD" title="class or interface in java.text">HOUR_OF_DAY1_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR0_FIELD" title="class or interface in java.text">HOUR0_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#HOUR1_FIELD" title="class or interface in java.text">HOUR1_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#LONG" title="class or interface in java.text">LONG</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MEDIUM" title="class or interface in java.text">MEDIUM</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MILLISECOND_FIELD" title="class or interface in java.text">MILLISECOND_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MINUTE_FIELD" title="class or interface in java.text">MINUTE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#MONTH_FIELD" title="class or interface in java.text">MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#numberFormat" title="class or interface in java.text">numberFormat</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#SECOND_FIELD" title="class or interface in java.text">SECOND_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#SHORT" title="class or interface in java.text">SHORT</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#TIMEZONE_FIELD" title="class or interface in java.text">TIMEZONE_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_MONTH_FIELD" title="class or interface in java.text">WEEK_OF_MONTH_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#WEEK_OF_YEAR_FIELD" title="class or interface in java.text">WEEK_OF_YEAR_FIELD</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#YEAR_FIELD" title="class or interface in java.text">YEAR_FIELD</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html#CachedDateFormat(java.text.DateFormat, int)">CachedDateFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A>&nbsp;dateFormat, + int&nbsp;expiration)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new CachedDateFormat object.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html#findMillisecondStart(long, java.lang.String, java.text.DateFormat)">findMillisecondStart</A></B>(long&nbsp;time, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;formatted, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A>&nbsp;formatter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds start of millisecond field in formatted time.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A>&nbsp;fieldPosition)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a Date into a date/time string.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html#format(long, java.lang.StringBuffer)">format</A></B>(long&nbsp;now, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a millisecond count into a date/time string.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html#getMaximumCacheValidity(java.lang.String)">getMaximumCacheValidity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets maximum cache validity for the specified SimpleDateTime + conversion pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/NumberFormat.html?is-external=true" title="class or interface in java.text">NumberFormat</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html#getNumberFormat()">getNumberFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets number formatter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html#parse(java.lang.String, java.text.ParsePosition)">parse</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParsePosition.html?is-external=true" title="class or interface in java.text">ParsePosition</A>&nbsp;pos)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is delegated to the formatter which most + likely returns null.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html#setTimeZone(java.util.TimeZone)">setTimeZone</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set timezone.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.text.DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#clone()" title="class or interface in java.text">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.text">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.util.Date)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getAvailableLocales()" title="class or interface in java.text">getAvailableLocales</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getCalendar()" title="class or interface in java.text">getCalendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance()" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int)" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateInstance(int, java.util.Locale)" title="class or interface in java.text">getDateInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance()" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int)" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getDateTimeInstance(int, int, java.util.Locale)" title="class or interface in java.text">getDateTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getInstance()" title="class or interface in java.text">getInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance()" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int)" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeInstance(int, java.util.Locale)" title="class or interface in java.text">getTimeInstance</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getTimeZone()" title="class or interface in java.text">getTimeZone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#hashCode()" title="class or interface in java.text">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#isLenient()" title="class or interface in java.text">isLenient</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parse(java.lang.String)" title="class or interface in java.text">parse</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parseObject(java.lang.String, java.text.ParsePosition)" title="class or interface in java.text">parseObject</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setCalendar(java.util.Calendar)" title="class or interface in java.text">setCalendar</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setLenient(boolean)" title="class or interface in java.text">setLenient</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setNumberFormat(java.text.NumberFormat)" title="class or interface in java.text">setNumberFormat</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.text.Format"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text">Format</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#format(java.lang.Object)" title="class or interface in java.text">format</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#formatToCharacterIterator(java.lang.Object)" title="class or interface in java.text">formatToCharacterIterator</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true#parseObject(java.lang.String)" title="class or interface in java.text">parseObject</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NO_MILLISECONDS"><!-- --></A><H3> +NO_MILLISECONDS</H3> +<PRE> +public static final int <B>NO_MILLISECONDS</B></PRE> +<DL> +<DD>Constant used to represent that there was no change + observed when changing the millisecond count. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.pattern.CachedDateFormat.NO_MILLISECONDS">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="UNRECOGNIZED_MILLISECONDS"><!-- --></A><H3> +UNRECOGNIZED_MILLISECONDS</H3> +<PRE> +public static final int <B>UNRECOGNIZED_MILLISECONDS</B></PRE> +<DL> +<DD>Constant used to represent that there was an + observed change, but was an expected change. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.pattern.CachedDateFormat.UNRECOGNIZED_MILLISECONDS">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CachedDateFormat(java.text.DateFormat, int)"><!-- --></A><H3> +CachedDateFormat</H3> +<PRE> +public <B>CachedDateFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A>&nbsp;dateFormat, + int&nbsp;expiration)</PRE> +<DL> +<DD>Creates a new CachedDateFormat object. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>dateFormat</CODE> - Date format, may not be null.<DD><CODE>expiration</CODE> - maximum cached range in milliseconds. + If the dateFormat is known to be incompatible with the + caching algorithm, use a value of 0 to totally disable + caching or 1 to only use cache for duplicate requests.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="findMillisecondStart(long, java.lang.String, java.text.DateFormat)"><!-- --></A><H3> +findMillisecondStart</H3> +<PRE> +public static int <B>findMillisecondStart</B>(long&nbsp;time, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;formatted, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A>&nbsp;formatter)</PRE> +<DL> +<DD>Finds start of millisecond field in formatted time. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>time</CODE> - long time, must be integral number of seconds<DD><CODE>formatted</CODE> - String corresponding formatted string<DD><CODE>formatter</CODE> - DateFormat date format +<DT><B>Returns:</B><DD>int position in string of first digit of milliseconds, + -1 indicates no millisecond field, -2 indicates unrecognized + field (likely RelativeTimeDateFormat)</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A> <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/FieldPosition.html?is-external=true" title="class or interface in java.text">FieldPosition</A>&nbsp;fieldPosition)</PRE> +<DL> +<DD>Formats a Date into a date/time string. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)" title="class or interface in java.text">format</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>date</CODE> - the date to format.<DD><CODE>sbuf</CODE> - the string buffer to write to.<DD><CODE>fieldPosition</CODE> - remains untouched. +<DT><B>Returns:</B><DD>the formatted time string.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(long, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A> <B>format</B>(long&nbsp;now, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf)</PRE> +<DL> +<DD>Formats a millisecond count into a date/time string. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>now</CODE> - Number of milliseconds after midnight 1 Jan 1970 GMT.<DD><CODE>buf</CODE> - the string buffer to write to. +<DT><B>Returns:</B><DD>the formatted time string.</DL> +</DD> +</DL> +<HR> + +<A NAME="setTimeZone(java.util.TimeZone)"><!-- --></A><H3> +setTimeZone</H3> +<PRE> +public void <B>setTimeZone</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</A>&nbsp;timeZone)</PRE> +<DL> +<DD>Set timezone. + + Setting the timezone using getCalendar().setTimeZone() + will likely cause caching to misbehave. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#setTimeZone(java.util.TimeZone)" title="class or interface in java.text">setTimeZone</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>timeZone</CODE> - TimeZone new timezone</DL> +</DD> +</DL> +<HR> + +<A NAME="parse(java.lang.String, java.text.ParsePosition)"><!-- --></A><H3> +parse</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>parse</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/ParsePosition.html?is-external=true" title="class or interface in java.text">ParsePosition</A>&nbsp;pos)</PRE> +<DL> +<DD>This method is delegated to the formatter which most + likely returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#parse(java.lang.String, java.text.ParsePosition)" title="class or interface in java.text">parse</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>s</CODE> - string representation of date.<DD><CODE>pos</CODE> - field position, unused. +<DT><B>Returns:</B><DD>parsed date, likely null.</DL> +</DD> +</DL> +<HR> + +<A NAME="getNumberFormat()"><!-- --></A><H3> +getNumberFormat</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/NumberFormat.html?is-external=true" title="class or interface in java.text">NumberFormat</A> <B>getNumberFormat</B>()</PRE> +<DL> +<DD>Gets number formatter. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true#getNumberFormat()" title="class or interface in java.text">getNumberFormat</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>NumberFormat number formatter</DL> +</DD> +</DL> +<HR> + +<A NAME="getMaximumCacheValidity(java.lang.String)"><!-- --></A><H3> +getMaximumCacheValidity</H3> +<PRE> +public static int <B>getMaximumCacheValidity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD>Gets maximum cache validity for the specified SimpleDateTime + conversion pattern. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>pattern</CODE> - conversion pattern, may not be null. +<DT><B>Returns:</B><DD>Duration in milliseconds from an integral second + that the cache will return consistent results.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CachedDateFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/CachedDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CachedDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.text.DateFormat">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html new file mode 100644 index 00000000000..5dc5e5710cc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html @@ -0,0 +1,287 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ClassNamePatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ClassNamePatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ClassNamePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/ClassNamePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ClassNamePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class ClassNamePatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.NamePatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.ClassNamePatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>ClassNamePatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A></DL> +</PRE> + +<P> +Formats the class name of the site of the logging request. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Format a logging event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an instance of ClassNamePatternConverter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.NamePatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html#abbreviate(int, java.lang.StringBuffer)">abbreviate</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Gets an instance of ClassNamePatternConverter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Format a logging event. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format.<DD><CODE>toAppendTo</CODE> - string buffer to which class name will be appended.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ClassNamePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/ClassNamePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ClassNamePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html new file mode 100644 index 00000000000..b66d0f2b4cf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html @@ -0,0 +1,326 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DatePatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DatePatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DatePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/DatePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DatePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class DatePatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.DatePatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>DatePatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Convert and format the event's date in a StringBuffer. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html#format(java.util.Date, java.lang.StringBuffer)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Append formatted date to string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an object into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of pattern converter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>output</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.lang.Object, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</PRE> +<DL> +<DD>Formats an object into a string buffer. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>obj</CODE> - event to format, may not be null.<DD><CODE>output</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.util.Date, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;date, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Append formatted date to string buffer. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>date</CODE> - date<DD><CODE>toAppendTo</CODE> - buffer to which formatted date is appended.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DatePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/DatePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DatePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html new file mode 100644 index 00000000000..8322d596b6c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html @@ -0,0 +1,233 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FileDatePatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FileDatePatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileDatePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/FileDatePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileDatePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class FileDatePatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.FileDatePatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>FileDatePatternConverter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Formats an date by delegating to DatePatternConverter. The default + date pattern for a %d specifier in a file name is different than + the %d pattern in pattern layout. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FileDatePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of pattern converter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileDatePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/FileDatePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileDatePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html new file mode 100644 index 00000000000..5569e9dd881 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html @@ -0,0 +1,277 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FileLocationPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FileLocationPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileLocationPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/FileLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class FileLocationPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.FileLocationPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>FileLocationPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Return the event's line location information in a StringBuffer. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of pattern converter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>output</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileLocationPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/FileLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html new file mode 100644 index 00000000000..ddc55c7ce4a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html @@ -0,0 +1,362 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FormattingInfo (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FormattingInfo (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FormattingInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/FormattingInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class FormattingInfo</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.FormattingInfo</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>FormattingInfo</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Modifies the output of a pattern converter for a specified minimum + and maximum width and alignment. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD><a href=mailto:jim_cakalic@na.biomerieux.com>Jim Cakalic</a>, Ceki G&uuml;lc&uuml;, Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html#FormattingInfo(boolean, int, int)">FormattingInfo</A></B>(boolean&nbsp;leftAlign, + int&nbsp;minLength, + int&nbsp;maxLength)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html#format(int, java.lang.StringBuffer)">format</A></B>(int&nbsp;fieldStart, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buffer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adjust the content of the buffer based on the specified lengths and alignment.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html#getDefault()">getDefault</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets default instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html#getMaxLength()">getMaxLength</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get maximum length.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html#getMinLength()">getMinLength</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get minimum length.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html#isLeftAligned()">isLeftAligned</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine if left aligned.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FormattingInfo(boolean, int, int)"><!-- --></A><H3> +FormattingInfo</H3> +<PRE> +public <B>FormattingInfo</B>(boolean&nbsp;leftAlign, + int&nbsp;minLength, + int&nbsp;maxLength)</PRE> +<DL> +<DD>Creates new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>leftAlign</CODE> - left align if true.<DD><CODE>minLength</CODE> - minimum length.<DD><CODE>maxLength</CODE> - maximum length.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getDefault()"><!-- --></A><H3> +getDefault</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> <B>getDefault</B>()</PRE> +<DL> +<DD>Gets default instance. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>default instance.</DL> +</DD> +</DL> +<HR> + +<A NAME="isLeftAligned()"><!-- --></A><H3> +isLeftAligned</H3> +<PRE> +public boolean <B>isLeftAligned</B>()</PRE> +<DL> +<DD>Determine if left aligned. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>true if left aligned.</DL> +</DD> +</DL> +<HR> + +<A NAME="getMinLength()"><!-- --></A><H3> +getMinLength</H3> +<PRE> +public int <B>getMinLength</B>()</PRE> +<DL> +<DD>Get minimum length. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>minimum length.</DL> +</DD> +</DL> +<HR> + +<A NAME="getMaxLength()"><!-- --></A><H3> +getMaxLength</H3> +<PRE> +public int <B>getMaxLength</B>()</PRE> +<DL> +<DD>Get maximum length. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>maximum length.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(int, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(int&nbsp;fieldStart, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buffer)</PRE> +<DL> +<DD>Adjust the content of the buffer based on the specified lengths and alignment. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>fieldStart</CODE> - start of field in buffer.<DD><CODE>buffer</CODE> - buffer to be modified.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FormattingInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/FormattingInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html new file mode 100644 index 00000000000..296c7cceca5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html @@ -0,0 +1,277 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FullLocationPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FullLocationPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FullLocationPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/FullLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FullLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class FullLocationPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.FullLocationPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>FullLocationPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Format the event's line location information. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of pattern converter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>output</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FullLocationPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/FullLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FullLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html new file mode 100644 index 00000000000..8b815a44c1f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html @@ -0,0 +1,267 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +IntegerPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="IntegerPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/IntegerPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/IntegerPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="IntegerPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class IntegerPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.IntegerPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>IntegerPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></DL> +</PRE> + +<P> +Formats an integer. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an object into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of pattern converter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.lang.Object, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an object into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>obj</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/IntegerPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/IntegerPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="IntegerPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html new file mode 100644 index 00000000000..e29f366ffbb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html @@ -0,0 +1,306 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LevelPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LevelPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LevelPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class LevelPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.LevelPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>LevelPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Return the event's level in a StringBuffer. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the CSS style class that should be applied to + the LoggingEvent passed as parameter, which can be null.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of pattern converter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>output</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="getStyleClass(java.lang.Object)"><!-- --></A><H3> +getStyleClass</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStyleClass</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;e)</PRE> +<DL> +<DD>This method returns the CSS style class that should be applied to + the LoggingEvent passed as parameter, which can be null. + + This information is currently used only by HTMLLayout. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>e</CODE> - null values are accepted +<DT><B>Returns:</B><DD>the name of the conversion pattern</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LevelPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html new file mode 100644 index 00000000000..18ccabd1c2c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html @@ -0,0 +1,277 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LineLocationPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LineLocationPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LineLocationPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LineLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class LineLocationPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.LineLocationPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>LineLocationPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Return the event's line location information in a StringBuffer. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of pattern converter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>output</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LineLocationPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LineLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html new file mode 100644 index 00000000000..cd70f2d055c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html @@ -0,0 +1,303 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LineSeparatorPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LineSeparatorPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LineSeparatorPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LineSeparatorPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineSeparatorPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class LineSeparatorPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.LineSeparatorPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>LineSeparatorPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Formats a line separator. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an object into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of pattern converter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.lang.Object, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an object into a string buffer. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>obj</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LineSeparatorPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LineSeparatorPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineSeparatorPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html new file mode 100644 index 00000000000..eb7e36cf2e2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html @@ -0,0 +1,318 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LiteralPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LiteralPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LiteralPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LiteralPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LiteralPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class LiteralPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.LiteralPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>LiteralPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Formats a string literal. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html#LiteralPatternConverter(java.lang.String)">LiteralPatternConverter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;literal)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an object into a string buffer.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LiteralPatternConverter(java.lang.String)"><!-- --></A><H3> +LiteralPatternConverter</H3> +<PRE> +public <B>LiteralPatternConverter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;literal)</PRE> +<DL> +<DD>Create a new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>literal</CODE> - string literal.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.lang.Object, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an object into a string buffer. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>obj</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LiteralPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LiteralPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LiteralPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LogEvent.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LogEvent.html new file mode 100644 index 00000000000..af3dcdf0fff --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LogEvent.html @@ -0,0 +1,974 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogEvent (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogEvent (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LogEvent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogEvent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class LogEvent</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.LogEvent</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LogEvent</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL> +</PRE> + +<P> +This class is a copy of o.a.l.spi.LoggingEvent from + log4j 1.2.15 which has been renamed to keep + the same overall class name length to allow a + serialization written with a prior instance of o.a.l.spi.LoggingEvent + to be deserialized with this class just by mangling the class name + in the byte stream. +<P> + +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.pattern.LogEvent">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#categoryName">categoryName</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getLoggerName()"><CODE>getLoggerName()</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#fqnOfCategoryClass">fqnOfCategoryClass</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fully qualified name of the calling category class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#level">level</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getLevel()"><CODE>getLevel()</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#timeStamp">timeStamp</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of milliseconds elapsed from 1/1/1970 until logging event + was created.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Category, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Logger, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getFQNOfLoggerClass()">getFQNOfLoggerClass</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the fully qualified name of the calling logger sub-class/wrapper.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getLevel()">getLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the level of this event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getLocationInformation()">getLocationInformation</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the location information for this logging event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getLoggerName()">getLoggerName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the name of the logger.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getMDC(java.lang.String)">getMDC</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the the context corresponding to the <code>key</code> + parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getMDCCopy()">getMDCCopy</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtain a copy of this thread's MDC prior to serialization or + asynchronous logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getMessage()">getMessage</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the message for this logging event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getNDC()">getNDC</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the NDC for this event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getProperties()">getProperties</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the set of properties + for the event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getProperty(java.lang.String)">getProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a property for this event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getPropertyKeySet()">getPropertyKeySet</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the set of the key values in the properties + for the event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getRenderedMessage()">getRenderedMessage</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getStartTime()">getStartTime</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the time when the application started, in milliseconds + elapsed since 01.01.1970.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getThreadName()">getThreadName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getThrowableInformation()">getThrowableInformation</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the throwable information contained within this + event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getThrowableStrRep()">getThrowableStrRep</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return this event's throwable's string[] representaion.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getTimeStamp()">getTimeStamp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Getter for the event's time stamp.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#locationInformationExists()">locationInformationExists</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check for the existence of location information without creating it + (a byproduct of calling getLocationInformation).</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#setProperty(java.lang.String, java.lang.String)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propValue)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set value for MDC property.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="fqnOfCategoryClass"><!-- --></A><H3> +fqnOfCategoryClass</H3> +<PRE> +public final transient <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>fqnOfCategoryClass</B></PRE> +<DL> +<DD>Fully qualified name of the calling category class. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="categoryName"><!-- --></A><H3> +categoryName</H3> +<PRE> +public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>categoryName</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getLoggerName()"><CODE>getLoggerName()</CODE></A> method instead.</I><DD><p>The category (logger) name. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="level"><!-- --></A><H3> +level</H3> +<PRE> +public transient <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>level</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getLevel()"><CODE>getLevel()</CODE></A> method instead.</I><DD>Level of logging event. Level cannot be serializable because it + is a flyweight. Due to its special seralization it cannot be + declared final either. + + <p> This field should not be accessed directly. You shoud use the + <A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#getLevel()"><CODE>getLevel()</CODE></A> method instead. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="timeStamp"><!-- --></A><H3> +timeStamp</H3> +<PRE> +public final long <B>timeStamp</B></PRE> +<DL> +<DD>The number of milliseconds elapsed from 1/1/1970 until logging event + was created. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogEvent(java.lang.String, org.apache.log4j.Category, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +LogEvent</H3> +<PRE> +public <B>LogEvent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</PRE> +<DL> +<DD>Instantiate a LoggingEvent from the supplied parameters. + + <p>Except <A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#timeStamp"><CODE>timeStamp</CODE></A> all the other fields of + <code>LoggingEvent</code> are filled when actually needed. + <p> +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - The logger generating this event.<DD><CODE>level</CODE> - The level of this event.<DD><CODE>message</CODE> - The message of this event.<DD><CODE>throwable</CODE> - The throwable of this event.</DL> +</DL> +<HR> + +<A NAME="LogEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +LogEvent</H3> +<PRE> +public <B>LogEvent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</PRE> +<DL> +<DD>Instantiate a LoggingEvent from the supplied parameters. + + <p>Except <A HREF="../../../../org/apache/log4j/pattern/LogEvent.html#timeStamp"><CODE>timeStamp</CODE></A> all the other fields of + <code>LoggingEvent</code> are filled when actually needed. + <p> +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - The logger generating this event.<DD><CODE>timeStamp</CODE> - the timestamp of this logging event<DD><CODE>level</CODE> - The level of this event.<DD><CODE>message</CODE> - The message of this event.<DD><CODE>throwable</CODE> - The throwable of this event.</DL> +</DL> +<HR> + +<A NAME="LogEvent(java.lang.String, org.apache.log4j.Logger, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)"><!-- --></A><H3> +LogEvent</H3> +<PRE> +public <B>LogEvent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</PRE> +<DL> +<DD>Create new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>fqnOfCategoryClass</CODE> - Fully qualified class name + of Logger implementation.<DD><CODE>logger</CODE> - The logger generating this event.<DD><CODE>timeStamp</CODE> - the timestamp of this logging event<DD><CODE>level</CODE> - The level of this event.<DD><CODE>message</CODE> - The message of this event.<DD><CODE>threadName</CODE> - thread name<DD><CODE>throwable</CODE> - The throwable of this event.<DD><CODE>ndc</CODE> - Nested diagnostic context<DD><CODE>info</CODE> - Location info<DD><CODE>properties</CODE> - MDC properties<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getLocationInformation()"><!-- --></A><H3> +getLocationInformation</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> <B>getLocationInformation</B>()</PRE> +<DL> +<DD>Set the location information for this logging event. The collected + information is cached for future use. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLevel()"><!-- --></A><H3> +getLevel</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getLevel</B>()</PRE> +<DL> +<DD>Return the level of this event. Use this form instead of directly + accessing the <code>level</code> field. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLoggerName()"><!-- --></A><H3> +getLoggerName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLoggerName</B>()</PRE> +<DL> +<DD>Return the name of the logger. Use this form instead of directly + accessing the <code>categoryName</code> field. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMessage()"><!-- --></A><H3> +getMessage</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getMessage</B>()</PRE> +<DL> +<DD>Return the message for this logging event. + + <p>Before serialization, the returned object is the message + passed by the user to generate the logging event. After + serialization, the returned value equals the String form of the + message possibly after object rendering. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getNDC()"><!-- --></A><H3> +getNDC</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getNDC</B>()</PRE> +<DL> +<DD>This method returns the NDC for this event. It will return the + correct content even if the event was generated in a different + thread or even on a different machine. The <A HREF="../../../../org/apache/log4j/NDC.html#get()"><CODE>NDC.get()</CODE></A> method + should <em>never</em> be called directly. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMDC(java.lang.String)"><!-- --></A><H3> +getMDC</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getMDC</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</PRE> +<DL> +<DD>Returns the the context corresponding to the <code>key</code> + parameter. If there is a local MDC copy, possibly because we are + in a logging server or running inside AsyncAppender, then we + search for the key in MDC copy, if a value is found it is + returned. Otherwise, if the search in MDC copy returns a null + result, then the current thread's <code>MDC</code> is used. + + <p>Note that <em>both</em> the local MDC copy and the current + thread's MDC are searched. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMDCCopy()"><!-- --></A><H3> +getMDCCopy</H3> +<PRE> +public void <B>getMDCCopy</B>()</PRE> +<DL> +<DD>Obtain a copy of this thread's MDC prior to serialization or + asynchronous logging. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRenderedMessage()"><!-- --></A><H3> +getRenderedMessage</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getRenderedMessage</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getStartTime()"><!-- --></A><H3> +getStartTime</H3> +<PRE> +public static long <B>getStartTime</B>()</PRE> +<DL> +<DD>Returns the time when the application started, in milliseconds + elapsed since 01.01.1970. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThreadName()"><!-- --></A><H3> +getThreadName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getThreadName</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThrowableInformation()"><!-- --></A><H3> +getThrowableInformation</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> <B>getThrowableInformation</B>()</PRE> +<DL> +<DD>Returns the throwable information contained within this + event. May be <code>null</code> if there is no such information. + + <p>Note that the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> object contained within a + <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><CODE>ThrowableInformation</CODE></A> does not survive serialization. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThrowableStrRep()"><!-- --></A><H3> +getThrowableStrRep</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>getThrowableStrRep</B>()</PRE> +<DL> +<DD>Return this event's throwable's string[] representaion. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setProperty(java.lang.String, java.lang.String)"><!-- --></A><H3> +setProperty</H3> +<PRE> +public final void <B>setProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propValue)</PRE> +<DL> +<DD>Set value for MDC property. + This adds the specified MDC property to the event. + Access to the MDC is not synchronized, so this + method should only be called when it is known that + no other threads are accessing the MDC. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>propName</CODE> - <DD><CODE>propValue</CODE> - <DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getProperty(java.lang.String)"><!-- --></A><H3> +getProperty</H3> +<PRE> +public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</PRE> +<DL> +<DD>Return a property for this event. The return value can be null. + + Equivalent to getMDC(String) in log4j 1.2. Provided + for compatibility with log4j 1.3. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>key</CODE> - property name +<DT><B>Returns:</B><DD>property value or null if property not set<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="locationInformationExists()"><!-- --></A><H3> +locationInformationExists</H3> +<PRE> +public final boolean <B>locationInformationExists</B>()</PRE> +<DL> +<DD>Check for the existence of location information without creating it + (a byproduct of calling getLocationInformation). +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true if location information has been extracted.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTimeStamp()"><!-- --></A><H3> +getTimeStamp</H3> +<PRE> +public final long <B>getTimeStamp</B>()</PRE> +<DL> +<DD>Getter for the event's time stamp. The time stamp is calculated starting + from 1970-01-01 GMT. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>timestamp<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPropertyKeySet()"><!-- --></A><H3> +getPropertyKeySet</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> <B>getPropertyKeySet</B>()</PRE> +<DL> +<DD>Returns the set of the key values in the properties + for the event. + + The returned set is unmodifiable by the caller. + + Provided for compatibility with log4j 1.3 +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>Set an unmodifiable set of the property keys.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getProperties()"><!-- --></A><H3> +getProperties</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getProperties</B>()</PRE> +<DL> +<DD>Returns the set of properties + for the event. + + The returned set is unmodifiable by the caller. + + Provided for compatibility with log4j 1.3 +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>Set an unmodifiable map of the properties.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFQNOfLoggerClass()"><!-- --></A><H3> +getFQNOfLoggerClass</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFQNOfLoggerClass</B>()</PRE> +<DL> +<DD>Get the fully qualified name of the calling logger sub-class/wrapper. + Provided for compatibility with log4j 1.3 +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>fully qualified class name, may be null.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LogEvent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogEvent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html new file mode 100644 index 00000000000..4ba5f8898bc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html @@ -0,0 +1,287 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LoggerPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LoggerPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggerPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LoggerPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class LoggerPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.NamePatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.LoggerPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>LoggerPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A></DL> +</PRE> + +<P> +Formats a logger name. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.NamePatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html#abbreviate(int, java.lang.StringBuffer)">abbreviate</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of pattern converter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggerPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LoggerPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html new file mode 100644 index 00000000000..a2a481b8838 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html @@ -0,0 +1,340 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LoggingEventPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LoggingEventPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggingEventPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LoggingEventPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggingEventPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class LoggingEventPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.LoggingEventPatternConverter</B> +</PRE> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern">LiteralPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>LoggingEventPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></DL> +</PRE> + +<P> +LoggingEventPatternConverter is a base class for pattern converters + that can format information from instances of LoggingEvent. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#LoggingEventPatternConverter(java.lang.String, java.lang.String)">LoggingEventPatternConverter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;style)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an instance of LoggingEventPatternConverter.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>abstract &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an object into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Normally pattern converters are not meant to handle Exceptions although + few pattern converters might.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LoggingEventPatternConverter(java.lang.String, java.lang.String)"><!-- --></A><H3> +LoggingEventPatternConverter</H3> +<PRE> +protected <B>LoggingEventPatternConverter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;style)</PRE> +<DL> +<DD>Constructs an instance of LoggingEventPatternConverter. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - name of converter.<DD><CODE>style</CODE> - CSS style for output.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public abstract void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(java.lang.Object, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</PRE> +<DL> +<DD>Formats an object into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>obj</CODE> - event to format, may not be null.<DD><CODE>output</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="handlesThrowable()"><!-- --></A><H3> +handlesThrowable</H3> +<PRE> +public boolean <B>handlesThrowable</B>()</PRE> +<DL> +<DD>Normally pattern converters are not meant to handle Exceptions although + few pattern converters might. + + By examining the return values for this method, the containing layout will + determine whether it handles throwables or not. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>true if this PatternConverter handles throwables</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggingEventPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/LoggingEventPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggingEventPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html new file mode 100644 index 00000000000..6b21dd8c700 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html @@ -0,0 +1,277 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +MessagePatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="MessagePatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MessagePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/MessagePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MessagePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class MessagePatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.MessagePatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>MessagePatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Return the event's rendered message in a StringBuffer. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of pattern converter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of pattern converter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MessagePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/MessagePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MessagePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html new file mode 100644 index 00000000000..44a52096121 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html @@ -0,0 +1,277 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +MethodLocationPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="MethodLocationPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MethodLocationPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/MethodLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MethodLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class MethodLocationPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.MethodLocationPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>MethodLocationPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Return the event's line location information in a StringBuffer. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of MethodLocationPatternConverter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of MethodLocationPatternConverter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of MethodLocationPatternConverter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MethodLocationPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/MethodLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MethodLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html new file mode 100644 index 00000000000..e64b6bb04cf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html @@ -0,0 +1,277 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NDCPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NDCPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NDCPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/NDCPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NDCPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class NDCPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.NDCPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>NDCPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Return the event's NDC in a StringBuffer. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of NDCPatternConverter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of NDCPatternConverter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null. +<DT><B>Returns:</B><DD>instance of NDCPatternConverter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NDCPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/NDCPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NDCPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html new file mode 100644 index 00000000000..91b31b246f2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html @@ -0,0 +1,311 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NameAbbreviator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NameAbbreviator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NameAbbreviator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/NameAbbreviator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NameAbbreviator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class NameAbbreviator</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.NameAbbreviator</B> +</PRE> +<HR> +<DL> +<DT><PRE>public abstract class <B>NameAbbreviator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +NameAbbreviator generates abbreviated logger and class names. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html#NameAbbreviator()">NameAbbreviator</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>abstract &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html#abbreviate(int, java.lang.StringBuffer)">abbreviate</A></B>(int&nbsp;nameStart, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abbreviates a name in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html#getAbbreviator(java.lang.String)">getAbbreviator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an abbreviator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html#getDefaultAbbreviator()">getDefaultAbbreviator</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets default abbreviator.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NameAbbreviator()"><!-- --></A><H3> +NameAbbreviator</H3> +<PRE> +public <B>NameAbbreviator</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getAbbreviator(java.lang.String)"><!-- --></A><H3> +getAbbreviator</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A> <B>getAbbreviator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</PRE> +<DL> +<DD>Gets an abbreviator. + + For example, "%logger{2}" will output only 2 elements of the logger name, + %logger{-2} will drop 2 elements from the logger name, + "%logger{1.}" will output only the first character of the non-final elements in the name, + "%logger{1~.2~} will output the first character of the first element, two characters of + the second and subsequent elements and will use a tilde to indicate abbreviated characters. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>pattern</CODE> - abbreviation pattern. +<DT><B>Returns:</B><DD>abbreviator, will not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="getDefaultAbbreviator()"><!-- --></A><H3> +getDefaultAbbreviator</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A> <B>getDefaultAbbreviator</B>()</PRE> +<DL> +<DD>Gets default abbreviator. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>default abbreviator.</DL> +</DD> +</DL> +<HR> + +<A NAME="abbreviate(int, java.lang.StringBuffer)"><!-- --></A><H3> +abbreviate</H3> +<PRE> +public abstract void <B>abbreviate</B>(int&nbsp;nameStart, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf)</PRE> +<DL> +<DD>Abbreviates a name in a StringBuffer. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>nameStart</CODE> - starting position of name in buf.<DD><CODE>buf</CODE> - buffer, may not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NameAbbreviator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/NameAbbreviator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NameAbbreviator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html new file mode 100644 index 00000000000..fea2fe24a0c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html @@ -0,0 +1,298 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NamePatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NamePatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NamePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/NamePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NamePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class NamePatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.NamePatternConverter</B> +</PRE> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>NamePatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Base class for other pattern converters which can return only parts of their name. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html#NamePatternConverter(java.lang.String, java.lang.String, java.lang.String[])">NamePatternConverter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;style, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html#abbreviate(int, java.lang.StringBuffer)">abbreviate</A></B>(int&nbsp;nameStart, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abbreviate name in string buffer.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NamePatternConverter(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3> +NamePatternConverter</H3> +<PRE> +protected <B>NamePatternConverter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;style, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Constructor. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - name of converter.<DD><CODE>style</CODE> - style name for associated output.<DD><CODE>options</CODE> - options, may be null, first element will be interpreted as an abbreviation pattern.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="abbreviate(int, java.lang.StringBuffer)"><!-- --></A><H3> +abbreviate</H3> +<PRE> +protected final void <B>abbreviate</B>(int&nbsp;nameStart, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf)</PRE> +<DL> +<DD>Abbreviate name in string buffer. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>nameStart</CODE> - starting position of name to abbreviate.<DD><CODE>buf</CODE> - string buffer containing name.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NamePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/NamePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NamePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PatternConverter.html new file mode 100644 index 00000000000..32265ec4304 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PatternConverter.html @@ -0,0 +1,331 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/PatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class PatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.PatternConverter</B> +</PRE> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>PatternConverter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +<p>PatternConverter is an abstract class that provides the + formatting functionality that derived classes need. + + <p>Conversion specifiers in a conversion patterns are parsed to + individual PatternConverters. Each of which is responsible for + converting an object in a converter specific manner. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD><a href="mailto:cakalijp@Maritz.com">James P. Cakalic</a>, Ceki G&uuml;lc&uuml;, Chris Nokes, Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#PatternConverter(java.lang.String, java.lang.String)">PatternConverter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;style)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>abstract &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an object into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the name of the conversion pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the CSS style class that should be applied to + the LoggingEvent passed as parameter, which can be null.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PatternConverter(java.lang.String, java.lang.String)"><!-- --></A><H3> +PatternConverter</H3> +<PRE> +protected <B>PatternConverter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;style)</PRE> +<DL> +<DD>Create a new pattern converter. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - name for pattern converter.<DD><CODE>style</CODE> - CSS style for formatted output.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="format(java.lang.Object, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public abstract void <B>format</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an object into a string buffer. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>obj</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="getName()"><!-- --></A><H3> +getName</H3> +<PRE> +public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE> +<DL> +<DD>This method returns the name of the conversion pattern. + + The name can be useful to certain Layouts such as HTMLLayout. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>the name of the conversion pattern</DL> +</DD> +</DL> +<HR> + +<A NAME="getStyleClass(java.lang.Object)"><!-- --></A><H3> +getStyleClass</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStyleClass</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;e)</PRE> +<DL> +<DD>This method returns the CSS style class that should be applied to + the LoggingEvent passed as parameter, which can be null. + + This information is currently used only by HTMLLayout. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>e</CODE> - null values are accepted +<DT><B>Returns:</B><DD>the name of the conversion pattern</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/PatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PatternParser.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PatternParser.html new file mode 100644 index 00000000000..76d92da8526 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PatternParser.html @@ -0,0 +1,285 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PatternParser (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PatternParser (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/PatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class PatternParser</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.PatternParser</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>PatternParser</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +Most of the work of the <A HREF="../../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><CODE>EnhancedPatternLayout</CODE></A> class + is delegated to the PatternParser class. + <p>It is this class that parses conversion patterns and creates + a chained list of <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><CODE>PatternConverters</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>James P. Cakalic, Ceki G&uuml;lc&uuml;, Anders Kristensen, Paul Smith, Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParser.html#getFileNamePatternRules()">getFileNamePatternRules</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get standard format specifiers for rolling file appender file specification.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParser.html#getPatternLayoutRules()">getPatternLayoutRules</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get standard format specifiers for EnhancedPatternLayout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParser.html#parse(java.lang.String, java.util.List, java.util.List, java.util.Map, java.util.Map)">parse</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;patternConverters, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;formattingInfos, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;converterRegistry, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;rules)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parse a format specifier.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getPatternLayoutRules()"><!-- --></A><H3> +getPatternLayoutRules</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getPatternLayoutRules</B>()</PRE> +<DL> +<DD>Get standard format specifiers for EnhancedPatternLayout. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>read-only map of format converter classes keyed by format specifier strings.</DL> +</DD> +</DL> +<HR> + +<A NAME="getFileNamePatternRules()"><!-- --></A><H3> +getFileNamePatternRules</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getFileNamePatternRules</B>()</PRE> +<DL> +<DD>Get standard format specifiers for rolling file appender file specification. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>read-only map of format converter classes keyed by format specifier strings.</DL> +</DD> +</DL> +<HR> + +<A NAME="parse(java.lang.String, java.util.List, java.util.List, java.util.Map, java.util.Map)"><!-- --></A><H3> +parse</H3> +<PRE> +public static void <B>parse</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;patternConverters, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&nbsp;formattingInfos, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;converterRegistry, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;rules)</PRE> +<DL> +<DD>Parse a format specifier. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>pattern</CODE> - pattern to parse.<DD><CODE>patternConverters</CODE> - list to receive pattern converters.<DD><CODE>formattingInfos</CODE> - list to receive field specifiers corresponding to pattern converters.<DD><CODE>converterRegistry</CODE> - map of user-supported pattern converters keyed by format specifier, may be null.<DD><CODE>rules</CODE> - map of stock pattern converters keyed by format specifier.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/PatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html new file mode 100644 index 00000000000..43e16515309 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html @@ -0,0 +1,281 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PropertiesPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PropertiesPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertiesPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/PropertiesPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertiesPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class PropertiesPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.PropertiesPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public final class <B>PropertiesPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Able to handle the contents of the LoggingEvent's Property bundle and either + output the entire contents of the properties in a similar format to the + java.util.Hashtable.toString(), or to output the value of a specific key + within the property bundle + when this pattern converter has the option set. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Paul Smith, Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of PropertiesPatternConverter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of PropertiesPatternConverter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, may be null or first element contains name of property to format. +<DT><B>Returns:</B><DD>instance of PropertiesPatternConverter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertiesPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/PropertiesPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertiesPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html new file mode 100644 index 00000000000..217d6c911c9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html @@ -0,0 +1,313 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +RelativeTimePatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="RelativeTimePatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RelativeTimePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/RelativeTimePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class RelativeTimePatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.RelativeTimePatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>RelativeTimePatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Return the relative time in milliseconds since loading of the LoggingEvent + class. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html#RelativeTimePatternConverter()">RelativeTimePatternConverter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Private constructor.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of RelativeTimePatternConverter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="RelativeTimePatternConverter()"><!-- --></A><H3> +RelativeTimePatternConverter</H3> +<PRE> +public <B>RelativeTimePatternConverter</B>()</PRE> +<DL> +<DD>Private constructor. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of RelativeTimePatternConverter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, currently ignored, may be null. +<DT><B>Returns:</B><DD>instance of RelativeTimePatternConverter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RelativeTimePatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/RelativeTimePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html new file mode 100644 index 00000000000..82e1fe64826 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html @@ -0,0 +1,277 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SequenceNumberPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SequenceNumberPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SequenceNumberPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/SequenceNumberPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SequenceNumberPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class SequenceNumberPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.SequenceNumberPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>SequenceNumberPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Formats the event sequence number. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of SequencePatternConverter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of SequencePatternConverter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, currently ignored, may be null. +<DT><B>Returns:</B><DD>instance of SequencePatternConverter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SequenceNumberPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/SequenceNumberPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SequenceNumberPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html new file mode 100644 index 00000000000..30ca318cec3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html @@ -0,0 +1,277 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ThreadPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ThreadPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThreadPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/ThreadPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class ThreadPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.ThreadPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>ThreadPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Formats the event thread name. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of ThreadPatternConverter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A>, <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Obtains an instance of ThreadPatternConverter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - options, currently ignored, may be null. +<DT><B>Returns:</B><DD>instance of ThreadPatternConverter.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThreadPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/ThreadPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html new file mode 100644 index 00000000000..aedfb8d479c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html @@ -0,0 +1,308 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ThrowableInformationPatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ThrowableInformationPatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThrowableInformationPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableInformationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class ThrowableInformationPatternConverter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.ThrowableInformationPatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>ThrowableInformationPatternConverter</B><DT>extends <A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +Outputs the ThrowableInformation portion of the LoggingEvent. + By default, outputs the full stack trace. %throwable{none} + or %throwable{0} suppresses the stack trace. %throwable{short} + or %throwable{1} outputs just the first line. %throwable{n} + will output n lines for a positive integer or drop the last + -n lines for a negative integer. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Paul Smith</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#handlesThrowable()">handlesThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This converter obviously handles throwables.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an instance of the class.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(java.lang.Object, java.lang.StringBuffer)">format</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html#getStyleClass(java.lang.Object)">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A> <B>newInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</PRE> +<DL> +<DD>Gets an instance of the class. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>options</CODE> - pattern options, may be null. If first element is "short", + only the first line of the throwable will be formatted. +<DT><B>Returns:</B><DD>instance of class.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</PRE> +<DL> +<DD>Formats an event into a string buffer. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - event to format, may not be null.<DD><CODE>toAppendTo</CODE> - string buffer to which the formatted event will be appended. May not be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="handlesThrowable()"><!-- --></A><H3> +handlesThrowable</H3> +<PRE> +public boolean <B>handlesThrowable</B>()</PRE> +<DL> +<DD>This converter obviously handles throwables. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#handlesThrowable()">handlesThrowable</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThrowableInformationPatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableInformationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html index 5c26cca76ec..c870f9d83ba 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.BridgePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.BridgePatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.BridgePatternConverter (Apache Extras Com function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.BridgePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.BridgePatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.pattern.BridgePatternConverter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html index 3844ead9a6e..e846f60655c 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.BridgePatternParser (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.BridgePatternParser (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.BridgePatternParser (Apache Extras Compan function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.BridgePatternParser (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.BridgePatternParser (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.pattern.BridgePatternParser <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html index 4df9175b4c0..f83c20b40da 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.CachedDateFormat (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.CachedDateFormat (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.CachedDateFormat (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.CachedDateFormat (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.CachedDateFormat (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.pattern.CachedDateFormat <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html index 7f63f6f2a64..2eda317458a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.ClassNamePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.ClassNamePatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.ClassNamePatternConverter (Apache Extras function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.ClassNamePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.ClassNamePatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConvert <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>ClassNamePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>ClassNamePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an instance of ClassNamePatternConverter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConvert <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html index 362a49b8dc7..633f6bb0dc7 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.DatePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.DatePatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.DatePatternConverter (Apache Extras Compa function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.DatePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.DatePatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.ht <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>DatePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>DatePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.ht <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html index 889f4cbb025..29fb31aa3d4 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.FileDatePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.FileDatePatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.FileDatePatternConverter (Apache Extras C function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.FileDatePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.FileDatePatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.pattern.FileDatePatternConverter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html index 5e88ff8b790..5a4d41fd826 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.FileLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.FileLocationPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.FileLocationPatternConverter (Apache Extr function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.FileLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.FileLocationPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConv <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>FileLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>FileLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConv <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html index 838e60ba33a..f60b5baa171 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.FormattingInfo (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.FormattingInfo (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.FormattingInfo (Apache Extras Companion f function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.FormattingInfo (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.FormattingInfo (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/FormattingInfo.html" ti <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html index b9a180e7271..15bcb2c9b76 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.FullLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.FullLocationPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.FullLocationPatternConverter (Apache Extr function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.FullLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.FullLocationPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConv <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>FullLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>FullLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConv <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html index 61a786070c5..7d13dd8b355 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.IntegerPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.IntegerPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.IntegerPatternConverter (Apache Extras Co function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.IntegerPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.IntegerPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>IntegerPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>IntegerPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html index 94a2a1da84b..b2ab5827b25 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.LevelPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.LevelPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.LevelPatternConverter (Apache Extras Comp function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.LevelPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.LevelPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.h <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>LevelPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>LevelPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.h <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html index c4600c39cb4..722b387a551 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.LineLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.LineLocationPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.LineLocationPatternConverter (Apache Extr function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.LineLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.LineLocationPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConv <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>LineLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>LineLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConv <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html index 004a5ad3853..1954d6f80bf 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.LineSeparatorPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.LineSeparatorPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.LineSeparatorPatternConverter (Apache Ext function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.LineSeparatorPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.LineSeparatorPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternCon <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>LineSeparatorPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>LineSeparatorPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternCon <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html index dfa587a88db..f6de7da1ca2 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.LiteralPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.LiteralPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.LiteralPatternConverter (Apache Extras Co function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.LiteralPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.LiteralPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.pattern.LiteralPatternConverter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html index 7442df0d911..2ba4d51681c 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.LogEvent (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.LogEvent (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.LogEvent (Apache Extras Companion for log function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.LogEvent (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.LogEvent (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.pattern.LogEvent <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html index ff5a4b45048..48524e10437 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.LoggerPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.LoggerPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.LoggerPatternConverter (Apache Extras Com function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.LoggerPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.LoggerPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>LoggerPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>LoggerPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter. <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html index 7c8791d51e6..e2f8ab8de17 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.LoggingEventPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.LoggingEventPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.LoggingEventPatternConverter (Apache Extr function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.LoggingEventPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.LoggingEventPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -258,8 +258,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/LoggingEventPatternConv <TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></B></CODE> <BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Outputs the ThrowableInformation portion of the LoggingiEvent as a full stacktrace - unless this converter's option is 'short', where it just outputs the first line of the trace.</TD> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Outputs the ThrowableInformation portion of the LoggingEvent.</TD> </TR> </TABLE> &nbsp; @@ -318,6 +317,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/LoggingEventPatternConv <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html index 65cf785824d..a8d87c6f3c1 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.MessagePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.MessagePatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.MessagePatternConverter (Apache Extras Co function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.MessagePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.MessagePatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>MessagePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>MessagePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html index 4488433a3f9..baf5f6f235f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.MethodLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.MethodLocationPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.MethodLocationPatternConverter (Apache Ex function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.MethodLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.MethodLocationPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternCo <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>MethodLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>MethodLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of MethodLocationPatternConverter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternCo <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html index 1a3f1c4b8d3..546883efcd2 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.NDCPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.NDCPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.NDCPatternConverter (Apache Extras Compan function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.NDCPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.NDCPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.htm <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>NDCPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>NDCPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of NDCPatternConverter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.htm <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html index aa16d53f451..fe137b87d77 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.NameAbbreviator (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.NameAbbreviator (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.NameAbbreviator (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.NameAbbreviator (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.NameAbbreviator (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html" t <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A></CODE></FONT></TD> -<TD><CODE><B>NameAbbreviator.</B><B><A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html#getAbbreviator(java.lang.String)">getAbbreviator</A></B>(java.lang.String&nbsp;pattern)</CODE> +<TD><CODE><B>NameAbbreviator.</B><B><A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html#getAbbreviator(java.lang.String)">getAbbreviator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;pattern)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an abbreviator.</TD> @@ -184,6 +184,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html" t <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html index 3d21a36237d..e0c93fba4e4 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.NamePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.NamePatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.NamePatternConverter (Apache Extras Compa function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.NamePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.NamePatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -184,6 +184,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/NamePatternConverter.ht <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html new file mode 100644 index 00000000000..734ca3dc7be --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html @@ -0,0 +1,355 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.PatternConverter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.PatternConverter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-usePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.PatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the class name of the site of the logging request.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert and format the event's date in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Format the event's line location information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an integer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's level in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a line separator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern">LiteralPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a string literal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a logger name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LoggingEventPatternConverter is a base class for pattern converters + that can format information from instances of LoggingEvent.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's rendered message in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Base class for other pattern converters which can return only parts of their name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's NDC in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Able to handle the contents of the LoggingEvent's Property bundle and either + output the entire contents of the properties in a similar format to the + java.util.Hashtable.toString(), or to output the value of a specific key + within the property bundle + when this pattern converter has the option set.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the relative time in milliseconds since loading of the LoggingEvent + class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the event sequence number.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the event thread name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Outputs the ThrowableInformation portion of the LoggingEvent.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>FileDatePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/FileDatePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-usePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html index 5b0c0d375af..c95c6c1d167 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.PatternParser (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.PatternParser (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.PatternParser (Apache Extras Companion fo function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.PatternParser (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.PatternParser (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.pattern.PatternParser <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html index 067dc619929..e99d68afbd9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.PropertiesPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.PropertiesPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.PropertiesPatternConverter (Apache Extras function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.PropertiesPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.PropertiesPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConver <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>PropertiesPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>PropertiesPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of PropertiesPatternConverter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConver <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html index 1accb60f7d0..cf1d2f3cf16 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.RelativeTimePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.RelativeTimePatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.RelativeTimePatternConverter (Apache Extr function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.RelativeTimePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.RelativeTimePatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConv <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>RelativeTimePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>RelativeTimePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of RelativeTimePatternConverter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConv <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html index a272b301c2c..4543059417f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.SequenceNumberPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.SequenceNumberPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.SequenceNumberPatternConverter (Apache Ex function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.SequenceNumberPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.SequenceNumberPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternCo <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>SequenceNumberPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>SequenceNumberPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of SequencePatternConverter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternCo <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html index efe5476bf9e..94babcbfe4a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.ThreadPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.ThreadPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.ThreadPatternConverter (Apache Extras Com function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.ThreadPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.ThreadPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>ThreadPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>ThreadPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of ThreadPatternConverter.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter. <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html index 91beec8761b..06f071ab8a7 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.ThrowableInformationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.ThrowableInformationPatternConverter (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.ThrowableInformationPatternConverter (Apa function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.ThrowableInformationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.ThrowableInformationPatternConverter (Apache Log4j 1.2.16 API)"; } } </SCRIPT> @@ -114,7 +114,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPat <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></CODE></FONT></TD> -<TD><CODE><B>ThrowableInformationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> +<TD><CODE><B>ThrowableInformationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;options)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an instance of the class.</TD> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPat <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-frame.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-frame.html rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-frame.html index b96d3a1ccd2..e577419db9a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-frame.html +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.pattern (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.pattern (Apache Log4j 1.2.16 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-03-30"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-summary.html new file mode 100644 index 00000000000..1093832ea77 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-summary.html @@ -0,0 +1,304 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.pattern (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.pattern (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/or/sax/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.pattern +</H2> +Provides classes implementing format specifiers in conversion patterns. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern">BridgePatternConverter</A></B></TD> +<TD>The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter + contract by delegating to the log4j 1.3 pattern implementation.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern">BridgePatternParser</A></B></TD> +<TD>The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter + contract by delegating to the log4j 1.3 pattern implementation.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A></B></TD> +<TD>CachedDateFormat optimizes the performance of a wrapped + DateFormat.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A></B></TD> +<TD>Formats the class name of the site of the logging request.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A></B></TD> +<TD>Convert and format the event's date in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern">FileDatePatternConverter</A></B></TD> +<TD>Formats an date by delegating to DatePatternConverter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A></B></TD> +<TD>Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A></B></TD> +<TD>Modifies the output of a pattern converter for a specified minimum + and maximum width and alignment.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A></B></TD> +<TD>Format the event's line location information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A></B></TD> +<TD>Formats an integer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A></B></TD> +<TD>Return the event's level in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A></B></TD> +<TD>Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A></B></TD> +<TD>Formats a line separator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern">LiteralPatternConverter</A></B></TD> +<TD>Formats a string literal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A></B></TD> +<TD>This class is a copy of o.a.l.spi.LoggingEvent from + log4j 1.2.15 which has been renamed to keep + the same overall class name length to allow a + serialization written with a prior instance of o.a.l.spi.LoggingEvent + to be deserialized with this class just by mangling the class name + in the byte stream.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A></B></TD> +<TD>Formats a logger name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TD> +<TD>LoggingEventPatternConverter is a base class for pattern converters + that can format information from instances of LoggingEvent.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A></B></TD> +<TD>Return the event's rendered message in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A></B></TD> +<TD>Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A></B></TD> +<TD>NameAbbreviator generates abbreviated logger and class names.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A></B></TD> +<TD>Base class for other pattern converters which can return only parts of their name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A></B></TD> +<TD>Return the event's NDC in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern">PatternConverter</A></B></TD> +<TD>PatternConverter is an abstract class that provides the + formatting functionality that derived classes need.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern">PatternParser</A></B></TD> +<TD>Most of the work of the <A HREF="../../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><CODE>EnhancedPatternLayout</CODE></A> class + is delegated to the PatternParser class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A></B></TD> +<TD>Able to handle the contents of the LoggingEvent's Property bundle and either + output the entire contents of the properties in a similar format to the + java.util.Hashtable.toString(), or to output the value of a specific key + within the property bundle + when this pattern converter has the option set.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A></B></TD> +<TD>Return the relative time in milliseconds since loading of the LoggingEvent + class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A></B></TD> +<TD>Formats the event sequence number.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A></B></TD> +<TD>Formats the event thread name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></B></TD> +<TD>Outputs the ThrowableInformation portion of the LoggingEvent.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.pattern Description +</H2> + +<P> +<p>Provides classes implementing format specifiers in conversion patterns.</p> + +<hr> +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/or/sax/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-tree.html new file mode 100644 index 00000000000..c38b237dc57 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-tree.html @@ -0,0 +1,170 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.pattern Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.pattern Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/or/sax/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.pattern +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>FileDatePatternConverter</B></A><LI TYPE="circle">java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text"><B>Format</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text"><B>DateFormat</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern"><B>CachedDateFormat</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><B>FormattingInfo</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern"><B>LogEvent</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><B>NameAbbreviator</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><B>PatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>IntegerPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LoggingEventPatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>DatePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>FileLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>FullLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LevelPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LineLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LineSeparatorPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LiteralPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern"><B>MessagePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>MethodLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NamePatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>ClassNamePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LoggerPatternConverter</B></A></UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NDCPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PropertiesPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern"><B>RelativeTimePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern"><B>SequenceNumberPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><B>ThreadPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>ThrowableInformationPatternConverter</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers"><B>PatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern"><B>BridgePatternConverter</B></A></UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers"><B>PatternParser</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><B>BridgePatternParser</B></A></UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>PatternParser</B></A></UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/or/sax/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-use.html new file mode 100644 index 00000000000..53c01dafe33 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/pattern/package-use.html @@ -0,0 +1,305 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.pattern (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.pattern (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.pattern</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> used by <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html#org.apache.log4j.pattern"><B>ClassNamePatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the class name of the site of the logging request.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/DatePatternConverter.html#org.apache.log4j.pattern"><B>DatePatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert and format the event's date in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html#org.apache.log4j.pattern"><B>FileLocationPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/FormattingInfo.html#org.apache.log4j.pattern"><B>FormattingInfo</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Modifies the output of a pattern converter for a specified minimum + and maximum width and alignment.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html#org.apache.log4j.pattern"><B>FullLocationPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Format the event's line location information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/IntegerPatternConverter.html#org.apache.log4j.pattern"><B>IntegerPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an integer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/LevelPatternConverter.html#org.apache.log4j.pattern"><B>LevelPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's level in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html#org.apache.log4j.pattern"><B>LineLocationPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html#org.apache.log4j.pattern"><B>LineSeparatorPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a line separator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/LoggerPatternConverter.html#org.apache.log4j.pattern"><B>LoggerPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a logger name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html#org.apache.log4j.pattern"><B>LoggingEventPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LoggingEventPatternConverter is a base class for pattern converters + that can format information from instances of LoggingEvent.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/MessagePatternConverter.html#org.apache.log4j.pattern"><B>MessagePatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's rendered message in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html#org.apache.log4j.pattern"><B>MethodLocationPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/NameAbbreviator.html#org.apache.log4j.pattern"><B>NameAbbreviator</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NameAbbreviator generates abbreviated logger and class names.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/NamePatternConverter.html#org.apache.log4j.pattern"><B>NamePatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Base class for other pattern converters which can return only parts of their name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/NDCPatternConverter.html#org.apache.log4j.pattern"><B>NDCPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's NDC in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/PatternConverter.html#org.apache.log4j.pattern"><B>PatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PatternConverter is an abstract class that provides the + formatting functionality that derived classes need.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html#org.apache.log4j.pattern"><B>PropertiesPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Able to handle the contents of the LoggingEvent's Property bundle and either + output the entire contents of the properties in a similar format to the + java.util.Hashtable.toString(), or to output the value of a specific key + within the property bundle + when this pattern converter has the option set.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html#org.apache.log4j.pattern"><B>RelativeTimePatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the relative time in milliseconds since loading of the LoggingEvent + class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html#org.apache.log4j.pattern"><B>SequenceNumberPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the event sequence number.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/ThreadPatternConverter.html#org.apache.log4j.pattern"><B>ThreadPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the event thread name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html#org.apache.log4j.pattern"><B>ThrowableInformationPatternConverter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Outputs the ThrowableInformation portion of the LoggingEvent.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/AppenderAttachable.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/AppenderAttachable.html new file mode 100644 index 00000000000..236e8c0346e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/AppenderAttachable.html @@ -0,0 +1,354 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AppenderAttachable (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AppenderAttachable (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AppenderAttachable.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/AppenderAttachable.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderAttachable.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface AppenderAttachable</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A>, <A HREF="../../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A>, <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>, <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>, <A HREF="../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A>, <A HREF="../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A>, <A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>AppenderAttachable</B></DL> +</PRE> + +<P> +Interface for attaching appenders to objects. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.9.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#addAppender(org.apache.log4j.Appender)">addAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#getAllAppenders()">getAllAppenders</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get all previously added appenders as an Enumeration.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#getAppender(java.lang.String)">getAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an appender by name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#isAttached(org.apache.log4j.Appender)">isAttached</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the specified appender is in list of + attached attached, <code>false</code> otherwise.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#removeAllAppenders()">removeAllAppenders</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove all previously added appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender passed as parameter from the list of appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(java.lang.String)">removeAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender with the name passed as parameter from the + list of appenders.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +addAppender</H3> +<PRE> +void <B>addAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</PRE> +<DL> +<DD>Add an appender. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAllAppenders()"><!-- --></A><H3> +getAllAppenders</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getAllAppenders</B>()</PRE> +<DL> +<DD>Get all previously added appenders as an Enumeration. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAppender(java.lang.String)"><!-- --></A><H3> +getAppender</H3> +<PRE> +<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> <B>getAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Get an appender by name. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isAttached(org.apache.log4j.Appender)"><!-- --></A><H3> +isAttached</H3> +<PRE> +boolean <B>isAttached</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Returns <code>true</code> if the specified appender is in list of + attached attached, <code>false</code> otherwise. +<P> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAllAppenders()"><!-- --></A><H3> +removeAllAppenders</H3> +<PRE> +void <B>removeAllAppenders</B>()</PRE> +<DL> +<DD>Remove all previously added appenders. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +removeAppender</H3> +<PRE> +void <B>removeAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Remove the appender passed as parameter from the list of appenders. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppender(java.lang.String)"><!-- --></A><H3> +removeAppender</H3> +<PRE> +void <B>removeAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Remove the appender with the name passed as parameter from the + list of appenders. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AppenderAttachable.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/AppenderAttachable.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderAttachable.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/Configurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/Configurator.html new file mode 100644 index 00000000000..1f7129ae102 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/Configurator.html @@ -0,0 +1,288 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Configurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Configurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Configurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/Configurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Configurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface Configurator</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5">DefaultLF5Configurator</A>, <A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A>, <A HREF="../../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A>, <A HREF="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia">ReloadingPropertyConfigurator</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>Configurator</B></DL> +</PRE> + +<P> +Implemented by classes capable of configuring log4j using a URL. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.0</DD> +<DT><B>Author:</B></DT> + <DD>Anders Kristensen</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Configurator.html#INHERITED">INHERITED</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Special level value signifying inherited behaviour.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Configurator.html#NULL">NULL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Special level signifying inherited behaviour, same as <A HREF="../../../../org/apache/log4j/spi/Configurator.html#INHERITED"><CODE>INHERITED</CODE></A>.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interpret a resource pointed by a URL and set up log4j accordingly.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="INHERITED"><!-- --></A><H3> +INHERITED</H3> +<PRE> +static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>INHERITED</B></PRE> +<DL> +<DD>Special level value signifying inherited behaviour. The current + value of this string constant is <b>inherited</b>. <A HREF="../../../../org/apache/log4j/spi/Configurator.html#NULL"><CODE>NULL</CODE></A> + is a synonym. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.Configurator.INHERITED">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="NULL"><!-- --></A><H3> +NULL</H3> +<PRE> +static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>NULL</B></PRE> +<DL> +<DD>Special level signifying inherited behaviour, same as <A HREF="../../../../org/apache/log4j/spi/Configurator.html#INHERITED"><CODE>INHERITED</CODE></A>. The current value of this string constant is + <b>null</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.Configurator.NULL">Constant Field Values</A></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +void <B>doConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</PRE> +<DL> +<DD>Interpret a resource pointed by a URL and set up log4j accordingly. + + The configuration is done relative to the <code>hierarchy</code> + parameter. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>url</CODE> - The URL to parse<DD><CODE>repository</CODE> - The hierarchy to operation upon.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Configurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/Configurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Configurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/DefaultRepositorySelector.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/DefaultRepositorySelector.html new file mode 100644 index 00000000000..a7c41b3fdb7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/DefaultRepositorySelector.html @@ -0,0 +1,265 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DefaultRepositorySelector (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DefaultRepositorySelector (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DefaultRepositorySelector.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/DefaultRepositorySelector.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultRepositorySelector.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Class DefaultRepositorySelector</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.spi.DefaultRepositorySelector</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>DefaultRepositorySelector</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A></DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html#DefaultRepositorySelector(org.apache.log4j.spi.LoggerRepository)">DefaultRepositorySelector</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html#getLoggerRepository()">getLoggerRepository</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> depending on the + context.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DefaultRepositorySelector(org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +DefaultRepositorySelector</H3> +<PRE> +public <B>DefaultRepositorySelector</B>(<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getLoggerRepository()"><!-- --></A><H3> +getLoggerRepository</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> <B>getLoggerRepository</B>()</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html#getLoggerRepository()">RepositorySelector</A></CODE></B></DD> +<DD>Returns a <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> depending on the + context. Implementors must make sure that a valid (non-null) + LoggerRepository is returned. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html#getLoggerRepository()">getLoggerRepository</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DefaultRepositorySelector.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/DefaultRepositorySelector.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultRepositorySelector.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ErrorCode.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ErrorCode.html new file mode 100644 index 00000000000..2ce13496fb1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ErrorCode.html @@ -0,0 +1,323 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ErrorCode (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ErrorCode (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ErrorCode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/ErrorCode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ErrorCode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface ErrorCode</H2> +<HR> +<DL> +<DT><PRE>public interface <B>ErrorCode</B></DL> +</PRE> + +<P> +This interface defines commonly encoutered error codes. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorCode.html#ADDRESS_PARSE_FAILURE">ADDRESS_PARSE_FAILURE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorCode.html#CLOSE_FAILURE">CLOSE_FAILURE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorCode.html#FILE_OPEN_FAILURE">FILE_OPEN_FAILURE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorCode.html#FLUSH_FAILURE">FLUSH_FAILURE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorCode.html#GENERIC_FAILURE">GENERIC_FAILURE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorCode.html#MISSING_LAYOUT">MISSING_LAYOUT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorCode.html#WRITE_FAILURE">WRITE_FAILURE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="GENERIC_FAILURE"><!-- --></A><H3> +GENERIC_FAILURE</H3> +<PRE> +static final int <B>GENERIC_FAILURE</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.ErrorCode.GENERIC_FAILURE">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="WRITE_FAILURE"><!-- --></A><H3> +WRITE_FAILURE</H3> +<PRE> +static final int <B>WRITE_FAILURE</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.ErrorCode.WRITE_FAILURE">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="FLUSH_FAILURE"><!-- --></A><H3> +FLUSH_FAILURE</H3> +<PRE> +static final int <B>FLUSH_FAILURE</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.ErrorCode.FLUSH_FAILURE">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="CLOSE_FAILURE"><!-- --></A><H3> +CLOSE_FAILURE</H3> +<PRE> +static final int <B>CLOSE_FAILURE</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.ErrorCode.CLOSE_FAILURE">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="FILE_OPEN_FAILURE"><!-- --></A><H3> +FILE_OPEN_FAILURE</H3> +<PRE> +static final int <B>FILE_OPEN_FAILURE</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.ErrorCode.FILE_OPEN_FAILURE">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="MISSING_LAYOUT"><!-- --></A><H3> +MISSING_LAYOUT</H3> +<PRE> +static final int <B>MISSING_LAYOUT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.ErrorCode.MISSING_LAYOUT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="ADDRESS_PARSE_FAILURE"><!-- --></A><H3> +ADDRESS_PARSE_FAILURE</H3> +<PRE> +static final int <B>ADDRESS_PARSE_FAILURE</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.ErrorCode.ADDRESS_PARSE_FAILURE">Constant Field Values</A></DL> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ErrorCode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/ErrorCode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ErrorCode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ErrorHandler.html new file mode 100644 index 00000000000..cfb60a89856 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ErrorHandler.html @@ -0,0 +1,394 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ErrorHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ErrorHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ErrorHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/ErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface ErrorHandler</H2> +<DL> +<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A>, <A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>ErrorHandler</B><DT>extends <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DL> +</PRE> + +<P> +Appenders may delegate their error handling to + <code>ErrorHandlers</code>. + + <p>Error handling is a particularly tedious to get right because by + definition errors are hard to predict and to reproduce. + + + <p>Please take the time to contact the author in case you discover + that errors are not properly handled. You are most welcome to + suggest new error handling policies or criticize existing policies. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is normally used to just print the error message + passed as a parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Equivalent to the <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)"><CODE>error(String, Exception, int, + LoggingEvent event)</CODE></A> with the the event parameteter set to + <code>null</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is invoked to handle the error.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setAppender(org.apache.log4j.Appender)">setAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the appender for which errors are handled.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)">setBackupAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the appender to falkback upon in case of failure.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setLogger(org.apache.log4j.Logger)">setLogger</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a reference to a logger to which the failing appender might + be attached to.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.spi.OptionHandler"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from interface org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setLogger(org.apache.log4j.Logger)"><!-- --></A><H3> +setLogger</H3> +<PRE> +void <B>setLogger</B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</PRE> +<DL> +<DD>Add a reference to a logger to which the failing appender might + be attached to. The failing appender will be searched and + replaced only in the loggers you add through this method. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - One of the loggers that will be searched for the failing + appender in view of replacement.<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String, java.lang.Exception, int)"><!-- --></A><H3> +error</H3> +<PRE> +void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode)</PRE> +<DL> +<DD>Equivalent to the <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)"><CODE>error(String, Exception, int, + LoggingEvent event)</CODE></A> with the the event parameteter set to + <code>null</code>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String)"><!-- --></A><H3> +error</H3> +<PRE> +void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +<DD>This method is normally used to just print the error message + passed as a parameter. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +error</H3> +<PRE> +void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>This method is invoked to handle the error. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - The message assoicated with the error.<DD><CODE>e</CODE> - The Exption that was thrown when the error occured.<DD><CODE>errorCode</CODE> - The error code associated with the error.<DD><CODE>event</CODE> - The logging event that the failing appender is asked + to log.<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +setAppender</H3> +<PRE> +void <B>setAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Set the appender for which errors are handled. This method is + usually called when the error handler is configured. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setBackupAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +setBackupAppender</H3> +<PRE> +void <B>setBackupAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Set the appender to falkback upon in case of failure. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ErrorHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/ErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/Filter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/Filter.html new file mode 100644 index 00000000000..7e60434eece --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/Filter.html @@ -0,0 +1,485 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Filter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Filter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Filter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/Filter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Class Filter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.spi.Filter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia">DenyAllFilter</A>, <A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A>, <A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A>, <A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>Filter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DL> +</PRE> + +<P> +Users should extend this class to implement customized logging + event filtering. Note that <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><CODE>Category</CODE></A> and <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><CODE>AppenderSkeleton</CODE></A>, the parent class of all standard + appenders, have built-in filtering rules. It is suggested that you + first use and understand the built-in rules before rushing to write + your own custom filters. + + <p>This abstract class assumes and also imposes that filters be + organized in a linear chain. The <A HREF="../../../../org/apache/log4j/spi/Filter.html#decide(org.apache.log4j.spi.LoggingEvent)"><CODE>decide(LoggingEvent)</CODE></A> method of each filter is called sequentially, + in the order of their addition to the chain. + + <p>The <A HREF="../../../../org/apache/log4j/spi/Filter.html#decide(org.apache.log4j.spi.LoggingEvent)"><CODE>decide(LoggingEvent)</CODE></A> method must return one + of the integer constants <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY"><CODE>DENY</CODE></A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL"><CODE>NEUTRAL</CODE></A> or <A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT"><CODE>ACCEPT</CODE></A>. + + <p>If the value <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY"><CODE>DENY</CODE></A> is returned, then the log event is + dropped immediately without consulting with the remaining + filters. + + <p>If the value <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL"><CODE>NEUTRAL</CODE></A> is returned, then the next filter + in the chain is consulted. If there are no more filters in the + chain, then the log event is logged. Thus, in the presence of no + filters, the default behaviour is to log all logging events. + + <p>If the value <A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT"><CODE>ACCEPT</CODE></A> is returned, then the log + event is logged without consulting the remaining filters. + + <p>The philosophy of log4j filters is largely inspired from the + Linux ipchains. + + <p>Note that filtering is only supported by the <A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><CODE>DOMConfigurator</CODE></A>. The <A HREF="../../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><CODE>PropertyConfigurator</CODE></A> does not + support filters. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT">ACCEPT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The log event must be logged immediately without consulting with + the remaining filters, if any, in the chain.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY">DENY</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The log event must be dropped immediately without consulting + with the remaining filters, if any, in the chain.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL">NEUTRAL</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter is neutral with respect to the log event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Filter.html#next">next</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of 1.2.12, use <A HREF="../../../../org/apache/log4j/spi/Filter.html#getNext()"><CODE>getNext()</CODE></A> and <A HREF="../../../../org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)"><CODE>setNext(org.apache.log4j.spi.Filter)</CODE></A> instead</I></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Filter.html#Filter()">Filter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Filter.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Usually filters options become active when set.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>abstract &nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Filter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the decision is <code>DENY</code>, then the event will be + dropped.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Filter.html#getNext()">getNext</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the pointer to the next filter;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)">setNext</A></B>(<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;next)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the next filter pointer.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="next"><!-- --></A><H3> +next</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>next</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>As of 1.2.12, use <A HREF="../../../../org/apache/log4j/spi/Filter.html#getNext()"><CODE>getNext()</CODE></A> and <A HREF="../../../../org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)"><CODE>setNext(org.apache.log4j.spi.Filter)</CODE></A> instead</I><DD>Points to the next filter in the filter chain. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="DENY"><!-- --></A><H3> +DENY</H3> +<PRE> +public static final int <B>DENY</B></PRE> +<DL> +<DD>The log event must be dropped immediately without consulting + with the remaining filters, if any, in the chain. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.Filter.DENY">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="NEUTRAL"><!-- --></A><H3> +NEUTRAL</H3> +<PRE> +public static final int <B>NEUTRAL</B></PRE> +<DL> +<DD>This filter is neutral with respect to the log event. The + remaining filters, if any, should be consulted for a final decision. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.Filter.NEUTRAL">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="ACCEPT"><!-- --></A><H3> +ACCEPT</H3> +<PRE> +public static final int <B>ACCEPT</B></PRE> +<DL> +<DD>The log event must be logged immediately without consulting with + the remaining filters, if any, in the chain. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.Filter.ACCEPT">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Filter()"><!-- --></A><H3> +Filter</H3> +<PRE> +public <B>Filter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Usually filters options become active when set. We provide a + default do-nothing implementation for convenience. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="decide(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +decide</H3> +<PRE> +public abstract int <B>decide</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD><p>If the decision is <code>DENY</code>, then the event will be + dropped. If the decision is <code>NEUTRAL</code>, then the next + filter, if any, will be invoked. If the decision is ACCEPT then + the event will be logged without consulting with other filters in + the chain. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - The LoggingEvent to decide upon. +<DT><B>Returns:</B><DD>decision The decision of the filter.</DL> +</DD> +</DL> +<HR> + +<A NAME="setNext(org.apache.log4j.spi.Filter)"><!-- --></A><H3> +setNext</H3> +<PRE> +public void <B>setNext</B>(<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;next)</PRE> +<DL> +<DD>Set the next filter pointer. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getNext()"><!-- --></A><H3> +getNext</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> <B>getNext</B>()</PRE> +<DL> +<DD>Return the pointer to the next filter; +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Filter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/Filter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/HierarchyEventListener.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/HierarchyEventListener.html new file mode 100644 index 00000000000..62579748a6b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/HierarchyEventListener.html @@ -0,0 +1,243 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +HierarchyEventListener (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="HierarchyEventListener (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/HierarchyEventListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/HierarchyEventListener.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HierarchyEventListener.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface HierarchyEventListener</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>HierarchyEventListener</B></DL> +</PRE> + +<P> +Listen to events occuring within a <A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><CODE>Hierarchy</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html#addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">addAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html#removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">removeAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><!-- --></A><H3> +addAppenderEvent</H3> +<PRE> +void <B>addAppenderEvent</B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><!-- --></A><H3> +removeAppenderEvent</H3> +<PRE> +void <B>removeAppenderEvent</B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/HierarchyEventListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/HierarchyEventListener.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HierarchyEventListener.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LocationInfo.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LocationInfo.html new file mode 100644 index 00000000000..732d750dd5d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LocationInfo.html @@ -0,0 +1,480 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LocationInfo (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LocationInfo (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LocationInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/LocationInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LocationInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Class LocationInfo</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.spi.LocationInfo</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LocationInfo</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL> +</PRE> + +<P> +The internal representation of caller location information. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.3</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.spi.LocationInfo">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LocationInfo.html#fullInfo">fullInfo</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All available caller information, in the format + <code>fully.qualified.classname.of.caller.methodName(Filename.java:line)</code></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LocationInfo.html#NA">NA</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When location information is not available the constant + <code>NA</code> is returned.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LocationInfo.html#NA_LOCATION_INFO">NA_LOCATION_INFO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NA_LOCATION_INFO is provided for compatibility with log4j 1.3.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LocationInfo.html#LocationInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">LocationInfo</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;file, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;classname, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;method, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;line)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LocationInfo.html#LocationInfo(java.lang.Throwable, java.lang.String)">LocationInfo</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCallingClass)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate location information based on a Throwable.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LocationInfo.html#getClassName()">getClassName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the fully qualified class name of the caller making the + logging request.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LocationInfo.html#getFileName()">getFileName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the file name of the caller.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LocationInfo.html#getLineNumber()">getLineNumber</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the line number of the caller.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LocationInfo.html#getMethodName()">getMethodName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the method name of the caller.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="fullInfo"><!-- --></A><H3> +fullInfo</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>fullInfo</B></PRE> +<DL> +<DD>All available caller information, in the format + <code>fully.qualified.classname.of.caller.methodName(Filename.java:line)</code> +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="NA"><!-- --></A><H3> +NA</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>NA</B></PRE> +<DL> +<DD>When location information is not available the constant + <code>NA</code> is returned. Current value of this string + constant is <b>?</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.spi.LocationInfo.NA">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="NA_LOCATION_INFO"><!-- --></A><H3> +NA_LOCATION_INFO</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> <B>NA_LOCATION_INFO</B></PRE> +<DL> +<DD>NA_LOCATION_INFO is provided for compatibility with log4j 1.3. +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LocationInfo(java.lang.Throwable, java.lang.String)"><!-- --></A><H3> +LocationInfo</H3> +<PRE> +public <B>LocationInfo</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCallingClass)</PRE> +<DL> +<DD>Instantiate location information based on a Throwable. We + expect the Throwable <code>t</code>, to be in the format + + <pre> + java.lang.Throwable + ... + at org.apache.log4j.PatternLayout.format(PatternLayout.java:413) + at org.apache.log4j.FileAppender.doAppend(FileAppender.java:183) + at org.apache.log4j.Category.callAppenders(Category.java:131) + at org.apache.log4j.Category.log(Category.java:512) + at callers.fully.qualified.className.methodName(FileName.java:74) + ... + </pre> + + <p>However, we can also deal with JIT compilers that "lose" the + location information, especially between the parentheses. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>t</CODE> - throwable used to determine location, may be null.<DD><CODE>fqnOfCallingClass</CODE> - class name of first class considered part of + the logging framework. Location will be site that calls a method on this class.</DL> +</DL> +<HR> + +<A NAME="LocationInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3> +LocationInfo</H3> +<PRE> +public <B>LocationInfo</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;file, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;classname, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;method, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;line)</PRE> +<DL> +<DD>Create new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>file</CODE> - source file name<DD><CODE>classname</CODE> - class name<DD><CODE>method</CODE> - method<DD><CODE>line</CODE> - source line number<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getClassName()"><!-- --></A><H3> +getClassName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getClassName</B>()</PRE> +<DL> +<DD>Return the fully qualified class name of the caller making the + logging request. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFileName()"><!-- --></A><H3> +getFileName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFileName</B>()</PRE> +<DL> +<DD>Return the file name of the caller. + + <p>This information is not always available. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLineNumber()"><!-- --></A><H3> +getLineNumber</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLineNumber</B>()</PRE> +<DL> +<DD>Returns the line number of the caller. + + <p>This information is not always available. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMethodName()"><!-- --></A><H3> +getMethodName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getMethodName</B>()</PRE> +<DL> +<DD>Returns the method name of the caller. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LocationInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/LocationInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LocationInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggerFactory.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggerFactory.html new file mode 100644 index 00000000000..7754225e1b3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggerFactory.html @@ -0,0 +1,220 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LoggerFactory (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LoggerFactory (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggerFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/LoggerFactory.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerFactory.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface LoggerFactory</H2> +<HR> +<DL> +<DT><PRE>public interface <B>LoggerFactory</B></DL> +</PRE> + +<P> +Implement this interface to create new instances of Logger or + a sub-class of Logger. + + <p>See <code>examples/subclass/MyLogger.java</code> for an example. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>version 0.8.5</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html#makeNewLoggerInstance(java.lang.String)">makeNewLoggerInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="makeNewLoggerInstance(java.lang.String)"><!-- --></A><H3> +makeNewLoggerInstance</H3> +<PRE> +<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>makeNewLoggerInstance</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggerFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/LoggerFactory.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerFactory.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggerRepository.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggerRepository.html new file mode 100644 index 00000000000..c9d76b37a49 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggerRepository.html @@ -0,0 +1,517 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LoggerRepository (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LoggerRepository (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggerRepository.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/LoggerRepository.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerRepository.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface LoggerRepository</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A>, <A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>LoggerRepository</B></DL> +</PRE> + +<P> +A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>. The relation between loggers in a repository + depends on the repository but typically loggers are arranged in a + named hierarchy. + + <p>In addition to the creational methods, a + <code>LoggerRepository</code> can be queried for existing loggers, + can act as a point of registry for events related to loggers. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)">addHierarchyEventListener</A></B>(<A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>&nbsp;listener)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a <A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><CODE>HierarchyEventListener</CODE></A> event to the repository.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#emitNoAppenderWarning(org.apache.log4j.Category)">emitNoAppenderWarning</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#exists(java.lang.String)">exists</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getCurrentCategories()">getCurrentCategories</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deprecated.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getCurrentLoggers()">getCurrentLoggers</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getRootLogger()">getRootLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getThreshold()">getThreshold</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the repository-wide threshold.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#isDisabled(int)">isDisabled</A></B>(int&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this repository is disabled for a given + level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#resetConfiguration()">resetConfiguration</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)">setThreshold</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the repository-wide threshold.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(java.lang.String)">setThreshold</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Another form of <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><CODE>setThreshold(Level)</CODE></A> accepting a string + parameter instead of a <code>Level</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#shutdown()">shutdown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)"><!-- --></A><H3> +addHierarchyEventListener</H3> +<PRE> +void <B>addHierarchyEventListener</B>(<A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>&nbsp;listener)</PRE> +<DL> +<DD>Add a <A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><CODE>HierarchyEventListener</CODE></A> event to the repository. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isDisabled(int)"><!-- --></A><H3> +isDisabled</H3> +<PRE> +boolean <B>isDisabled</B>(int&nbsp;level)</PRE> +<DL> +<DD>Returns whether this repository is disabled for a given + level. The answer depends on the repository threshold and the + <code>level</code> parameter. See also <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><CODE>setThreshold(org.apache.log4j.Level)</CODE></A> + method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setThreshold(org.apache.log4j.Level)"><!-- --></A><H3> +setThreshold</H3> +<PRE> +void <B>setThreshold</B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</PRE> +<DL> +<DD>Set the repository-wide threshold. All logging requests below the + threshold are immediately dropped. By default, the threshold is + set to <code>Level.ALL</code> which has the lowest possible rank. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setThreshold(java.lang.String)"><!-- --></A><H3> +setThreshold</H3> +<PRE> +void <B>setThreshold</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;val)</PRE> +<DL> +<DD>Another form of <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><CODE>setThreshold(Level)</CODE></A> accepting a string + parameter instead of a <code>Level</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="emitNoAppenderWarning(org.apache.log4j.Category)"><!-- --></A><H3> +emitNoAppenderWarning</H3> +<PRE> +void <B>emitNoAppenderWarning</B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThreshold()"><!-- --></A><H3> +getThreshold</H3> +<PRE> +<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getThreshold</B>()</PRE> +<DL> +<DD>Get the repository-wide threshold. See <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><CODE>setThreshold(Level)</CODE></A> for an explanation. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.String)"><!-- --></A><H3> +getLogger</H3> +<PRE> +<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><!-- --></A><H3> +getLogger</H3> +<PRE> +<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRootLogger()"><!-- --></A><H3> +getRootLogger</H3> +<PRE> +<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getRootLogger</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="exists(java.lang.String)"><!-- --></A><H3> +exists</H3> +<PRE> +<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>exists</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="shutdown()"><!-- --></A><H3> +shutdown</H3> +<PRE> +void <B>shutdown</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCurrentLoggers()"><!-- --></A><H3> +getCurrentLoggers</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getCurrentLoggers</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCurrentCategories()"><!-- --></A><H3> +getCurrentCategories</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getCurrentCategories</B>()</PRE> +<DL> +<DD>Deprecated. Please use <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getCurrentLoggers()"><CODE>getCurrentLoggers()</CODE></A> instead. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><!-- --></A><H3> +fireAddAppenderEvent</H3> +<PRE> +void <B>fireAddAppenderEvent</B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resetConfiguration()"><!-- --></A><H3> +resetConfiguration</H3> +<PRE> +void <B>resetConfiguration</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggerRepository.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/LoggerRepository.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerRepository.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggingEvent.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggingEvent.html new file mode 100644 index 00000000000..17591a9bdba --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/LoggingEvent.html @@ -0,0 +1,1034 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LoggingEvent (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LoggingEvent (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggingEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/LoggingEvent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggingEvent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Class LoggingEvent</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.spi.LoggingEvent</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LoggingEvent</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL> +</PRE> + +<P> +The internal representation of logging events. When an affirmative + decision is made to log then a <code>LoggingEvent</code> instance + is created. This instance is passed around to the different log4j + components. + + <p>This class is of concern to those wishing to extend log4j. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.2</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, James P. Cakalic</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.spi.LoggingEvent">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#categoryName">categoryName</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLoggerName()"><CODE>getLoggerName()</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#fqnOfCategoryClass">fqnOfCategoryClass</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fully qualified name of the calling category class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#level">level</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLevel()"><CODE>getLevel()</CODE></A> method instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#timeStamp">timeStamp</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of milliseconds elapsed from 1/1/1970 until logging event + was created.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiate a LoggingEvent from the supplied parameters.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getFQNOfLoggerClass()">getFQNOfLoggerClass</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the fully qualified name of the calling logger sub-class/wrapper.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLevel()">getLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the level of this event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLocationInformation()">getLocationInformation</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the location information for this logging event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLogger()">getLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the logger of the event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLoggerName()">getLoggerName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the name of the logger.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getMDC(java.lang.String)">getMDC</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the the context corresponding to the <code>key</code> + parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getMDCCopy()">getMDCCopy</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtain a copy of this thread's MDC prior to serialization or + asynchronous logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getMessage()">getMessage</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the message for this logging event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getNDC()">getNDC</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the NDC for this event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getProperties()">getProperties</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the set of properties + for the event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getProperty(java.lang.String)">getProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a property for this event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getPropertyKeySet()">getPropertyKeySet</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the set of the key values in the properties + for the event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getRenderedMessage()">getRenderedMessage</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getStartTime()">getStartTime</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the time when the application started, in milliseconds + elapsed since 01.01.1970.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getThreadName()">getThreadName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getThrowableInformation()">getThrowableInformation</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the throwable information contained within this + event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getThrowableStrRep()">getThrowableStrRep</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return this event's throwable's string[] representaion.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getTimeStamp()">getTimeStamp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Getter for the event's time stamp.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#locationInformationExists()">locationInformationExists</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check for the existence of location information without creating it + (a byproduct of calling getLocationInformation).</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#removeProperty(java.lang.String)">removeProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This removes the specified MDC property from the event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#setProperty(java.lang.String, java.lang.String)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propValue)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set value for MDC property.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="fqnOfCategoryClass"><!-- --></A><H3> +fqnOfCategoryClass</H3> +<PRE> +public final transient <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>fqnOfCategoryClass</B></PRE> +<DL> +<DD>Fully qualified name of the calling category class. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="categoryName"><!-- --></A><H3> +categoryName</H3> +<PRE> +public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>categoryName</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLoggerName()"><CODE>getLoggerName()</CODE></A> method instead.</I><DD><p>The category (logger) name. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="level"><!-- --></A><H3> +level</H3> +<PRE> +public transient <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>level</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLevel()"><CODE>getLevel()</CODE></A> method instead.</I><DD>Level of logging event. Level cannot be serializable because it + is a flyweight. Due to its special seralization it cannot be + declared final either. + + <p> This field should not be accessed directly. You shoud use the + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#getLevel()"><CODE>getLevel()</CODE></A> method instead. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="timeStamp"><!-- --></A><H3> +timeStamp</H3> +<PRE> +public final long <B>timeStamp</B></PRE> +<DL> +<DD>The number of milliseconds elapsed from 1/1/1970 until logging event + was created. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LoggingEvent(java.lang.String, org.apache.log4j.Category, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +LoggingEvent</H3> +<PRE> +public <B>LoggingEvent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</PRE> +<DL> +<DD>Instantiate a LoggingEvent from the supplied parameters. + + <p>Except <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#timeStamp"><CODE>timeStamp</CODE></A> all the other fields of + <code>LoggingEvent</code> are filled when actually needed. + <p> +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - The logger generating this event.<DD><CODE>level</CODE> - The level of this event.<DD><CODE>message</CODE> - The message of this event.<DD><CODE>throwable</CODE> - The throwable of this event.</DL> +</DL> +<HR> + +<A NAME="LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +LoggingEvent</H3> +<PRE> +public <B>LoggingEvent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</PRE> +<DL> +<DD>Instantiate a LoggingEvent from the supplied parameters. + + <p>Except <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html#timeStamp"><CODE>timeStamp</CODE></A> all the other fields of + <code>LoggingEvent</code> are filled when actually needed. + <p> +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - The logger generating this event.<DD><CODE>timeStamp</CODE> - the timestamp of this logging event<DD><CODE>level</CODE> - The level of this event.<DD><CODE>message</CODE> - The message of this event.<DD><CODE>throwable</CODE> - The throwable of this event.</DL> +</DL> +<HR> + +<A NAME="LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)"><!-- --></A><H3> +LoggingEvent</H3> +<PRE> +public <B>LoggingEvent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</PRE> +<DL> +<DD>Create new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>fqnOfCategoryClass</CODE> - Fully qualified class name + of Logger implementation.<DD><CODE>logger</CODE> - The logger generating this event.<DD><CODE>timeStamp</CODE> - the timestamp of this logging event<DD><CODE>level</CODE> - The level of this event.<DD><CODE>message</CODE> - The message of this event.<DD><CODE>threadName</CODE> - thread name<DD><CODE>throwable</CODE> - The throwable of this event.<DD><CODE>ndc</CODE> - Nested diagnostic context<DD><CODE>info</CODE> - Location info<DD><CODE>properties</CODE> - MDC properties<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getLocationInformation()"><!-- --></A><H3> +getLocationInformation</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> <B>getLocationInformation</B>()</PRE> +<DL> +<DD>Set the location information for this logging event. The collected + information is cached for future use. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLevel()"><!-- --></A><H3> +getLevel</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getLevel</B>()</PRE> +<DL> +<DD>Return the level of this event. Use this form instead of directly + accessing the <code>level</code> field. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLoggerName()"><!-- --></A><H3> +getLoggerName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLoggerName</B>()</PRE> +<DL> +<DD>Return the name of the logger. Use this form instead of directly + accessing the <code>categoryName</code> field. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger()"><!-- --></A><H3> +getLogger</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A> <B>getLogger</B>()</PRE> +<DL> +<DD>Gets the logger of the event. + Use should be restricted to cloning events. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMessage()"><!-- --></A><H3> +getMessage</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getMessage</B>()</PRE> +<DL> +<DD>Return the message for this logging event. + + <p>Before serialization, the returned object is the message + passed by the user to generate the logging event. After + serialization, the returned value equals the String form of the + message possibly after object rendering. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getNDC()"><!-- --></A><H3> +getNDC</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getNDC</B>()</PRE> +<DL> +<DD>This method returns the NDC for this event. It will return the + correct content even if the event was generated in a different + thread or even on a different machine. The <A HREF="../../../../org/apache/log4j/NDC.html#get()"><CODE>NDC.get()</CODE></A> method + should <em>never</em> be called directly. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMDC(java.lang.String)"><!-- --></A><H3> +getMDC</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getMDC</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</PRE> +<DL> +<DD>Returns the the context corresponding to the <code>key</code> + parameter. If there is a local MDC copy, possibly because we are + in a logging server or running inside AsyncAppender, then we + search for the key in MDC copy, if a value is found it is + returned. Otherwise, if the search in MDC copy returns a null + result, then the current thread's <code>MDC</code> is used. + + <p>Note that <em>both</em> the local MDC copy and the current + thread's MDC are searched. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getMDCCopy()"><!-- --></A><H3> +getMDCCopy</H3> +<PRE> +public void <B>getMDCCopy</B>()</PRE> +<DL> +<DD>Obtain a copy of this thread's MDC prior to serialization or + asynchronous logging. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRenderedMessage()"><!-- --></A><H3> +getRenderedMessage</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getRenderedMessage</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getStartTime()"><!-- --></A><H3> +getStartTime</H3> +<PRE> +public static long <B>getStartTime</B>()</PRE> +<DL> +<DD>Returns the time when the application started, in milliseconds + elapsed since 01.01.1970. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThreadName()"><!-- --></A><H3> +getThreadName</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getThreadName</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThrowableInformation()"><!-- --></A><H3> +getThrowableInformation</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> <B>getThrowableInformation</B>()</PRE> +<DL> +<DD>Returns the throwable information contained within this + event. May be <code>null</code> if there is no such information. + + <p>Note that the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> object contained within a + <A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><CODE>ThrowableInformation</CODE></A> does not survive serialization. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>1.1</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThrowableStrRep()"><!-- --></A><H3> +getThrowableStrRep</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>getThrowableStrRep</B>()</PRE> +<DL> +<DD>Return this event's throwable's string[] representaion. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setProperty(java.lang.String, java.lang.String)"><!-- --></A><H3> +setProperty</H3> +<PRE> +public final void <B>setProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propValue)</PRE> +<DL> +<DD>Set value for MDC property. + This adds the specified MDC property to the event. + Access to the MDC is not synchronized, so this + method should only be called when it is known that + no other threads are accessing the MDC. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>propName</CODE> - <DD><CODE>propValue</CODE> - <DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getProperty(java.lang.String)"><!-- --></A><H3> +getProperty</H3> +<PRE> +public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</PRE> +<DL> +<DD>Return a property for this event. The return value can be null. + + Equivalent to getMDC(String) in log4j 1.2. Provided + for compatibility with log4j 1.3. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>key</CODE> - property name +<DT><B>Returns:</B><DD>property value or null if property not set<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="locationInformationExists()"><!-- --></A><H3> +locationInformationExists</H3> +<PRE> +public final boolean <B>locationInformationExists</B>()</PRE> +<DL> +<DD>Check for the existence of location information without creating it + (a byproduct of calling getLocationInformation). +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true if location information has been extracted.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getTimeStamp()"><!-- --></A><H3> +getTimeStamp</H3> +<PRE> +public final long <B>getTimeStamp</B>()</PRE> +<DL> +<DD>Getter for the event's time stamp. The time stamp is calculated starting + from 1970-01-01 GMT. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>timestamp<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPropertyKeySet()"><!-- --></A><H3> +getPropertyKeySet</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> <B>getPropertyKeySet</B>()</PRE> +<DL> +<DD>Returns the set of the key values in the properties + for the event. + + The returned set is unmodifiable by the caller. + + Provided for compatibility with log4j 1.3 +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>Set an unmodifiable set of the property keys.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getProperties()"><!-- --></A><H3> +getProperties</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getProperties</B>()</PRE> +<DL> +<DD>Returns the set of properties + for the event. + + The returned set is unmodifiable by the caller. + + Provided for compatibility with log4j 1.3 +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>Set an unmodifiable map of the properties.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getFQNOfLoggerClass()"><!-- --></A><H3> +getFQNOfLoggerClass</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFQNOfLoggerClass</B>()</PRE> +<DL> +<DD>Get the fully qualified name of the calling logger sub-class/wrapper. + Provided for compatibility with log4j 1.3 +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>fully qualified class name, may be null.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeProperty(java.lang.String)"><!-- --></A><H3> +removeProperty</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>removeProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propName)</PRE> +<DL> +<DD>This removes the specified MDC property from the event. + Access to the MDC is not synchronized, so this + method should only be called when it is known that + no other threads are accessing the MDC. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>propName</CODE> - the property name to remove<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggingEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/LoggingEvent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggingEvent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/NOPLogger.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/NOPLogger.html new file mode 100644 index 00000000000..47e80c67b38 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/NOPLogger.html @@ -0,0 +1,1395 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NOPLogger (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NOPLogger (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NOPLogger.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/NOPLogger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NOPLogger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Category">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Class NOPLogger</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">org.apache.log4j.Category</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">org.apache.log4j.Logger</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.spi.NOPLogger</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>NOPLogger</B><DT>extends <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></DL> +</PRE> + +<P> +No-operation implementation of Logger used by NOPLoggerRepository. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Category"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Category.html#additive">additive</A>, <A HREF="../../../../org/apache/log4j/Category.html#level">level</A>, <A HREF="../../../../org/apache/log4j/Category.html#name">name</A>, <A HREF="../../../../org/apache/log4j/Category.html#parent">parent</A>, <A HREF="../../../../org/apache/log4j/Category.html#repository">repository</A>, <A HREF="../../../../org/apache/log4j/Category.html#resourceBundle">resourceBundle</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#NOPLogger(org.apache.log4j.spi.NOPLoggerRepository, java.lang.String)">NOPLogger</A></B>(<A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A>&nbsp;repo, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create instance of Logger.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#addAppender(org.apache.log4j.Appender)">addAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add <code>newAppender</code> to the list of appenders of this + Category instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#assertLog(boolean, java.lang.String)">assertLog</A></B>(boolean&nbsp;assertion, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If <code>assertion</code> parameter is <code>false</code>, then + logs <code>msg</code> as an <A HREF="../../../../org/apache/log4j/Category.html#error(java.lang.Object)"><CODE>error</CODE></A> statement.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#callAppenders(org.apache.log4j.spi.LoggingEvent)">callAppenders</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call the appenders in the hierrachy starting at + <code>this</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#debug(java.lang.Object)">debug</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A> level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#debug(java.lang.Object, java.lang.Throwable)">debug</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>DEBUG</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#error(java.lang.Object)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#ERROR"><CODE>ERROR</CODE></A> Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#error(java.lang.Object, java.lang.Throwable)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>ERROR</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#fatal(java.lang.Object)">fatal</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#FATAL"><CODE>FATAL</CODE></A> Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#fatal(java.lang.Object, java.lang.Throwable)">fatal</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>FATAL</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#getAllAppenders()">getAllAppenders</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the appenders contained in this category as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#getAppender(java.lang.String)">getAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Look for the appender named as <code>name</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#getChainedPriority()">getChainedPriority</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#getEffectiveLevel()">getEffectiveLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starting from this category, search the category hierarchy for a + non-null level and return it.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#getResourceBundle()">getResourceBundle</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the <em>inherited</em> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util"><CODE>ResourceBundle</CODE></A> for this + category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#info(java.lang.Object)">info</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#INFO"><CODE>INFO</CODE></A> Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#info(java.lang.Object, java.lang.Throwable)">info</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>INFO</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#isAttached(org.apache.log4j.Appender)">isAttached</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is the appender passed as parameter attached to this category?</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#isDebugEnabled()">isDebugEnabled</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for the <code>DEBUG</code> + Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#isEnabledFor(org.apache.log4j.Priority)">isEnabledFor</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for a given <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> passed as parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#isInfoEnabled()">isInfoEnabled</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for the info Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#isTraceEnabled()">isTraceEnabled</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for the TRACE Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)">l7dlog</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a localized and parameterized message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)">l7dlog</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a localized message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#log(org.apache.log4j.Priority, java.lang.Object)">log</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This generic form is intended to be used by wrappers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This generic form is intended to be used by wrappers.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;callerFQCN, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the most generic printing method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#removeAllAppenders()">removeAllAppenders</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove all previously added appenders from this Category + instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender passed as parameter form the list of appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#removeAppender(java.lang.String)">removeAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the appender with the name passed as parameter form the + list of appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#setLevel(org.apache.log4j.Level)">setLevel</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the level of this Category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#setPriority(org.apache.log4j.Priority)">setPriority</A></B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the level of this Category.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#setResourceBundle(java.util.ResourceBundle)">setResourceBundle</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</A>&nbsp;bundle)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the resource bundle to be used with localized logging + methods <A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)"><CODE>Category.l7dlog(Priority,String,Throwable)</CODE></A> and <A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)"><CODE>Category.l7dlog(Priority,String,Object[],Throwable)</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#trace(java.lang.Object)">trace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#TRACE"><CODE>TRACE</CODE></A> level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#trace(java.lang.Object, java.lang.Throwable)">trace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>TRACE</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A><code>t</code> passed as parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#warn(java.lang.Object)">warn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#WARN"><CODE>WARN</CODE></A> Level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html#warn(java.lang.Object, java.lang.Throwable)">warn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message with the <code>WARN</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Logger"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.Class)">getLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)">getLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#getRootLogger()">getRootLogger</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Category"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Category.html#exists(java.lang.String)">exists</A>, <A HREF="../../../../org/apache/log4j/Category.html#forcedLog(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">forcedLog</A>, <A HREF="../../../../org/apache/log4j/Category.html#getAdditivity()">getAdditivity</A>, <A HREF="../../../../org/apache/log4j/Category.html#getCurrentCategories()">getCurrentCategories</A>, <A HREF="../../../../org/apache/log4j/Category.html#getDefaultHierarchy()">getDefaultHierarchy</A>, <A HREF="../../../../org/apache/log4j/Category.html#getHierarchy()">getHierarchy</A>, <A HREF="../../../../org/apache/log4j/Category.html#getInstance(java.lang.Class)">getInstance</A>, <A HREF="../../../../org/apache/log4j/Category.html#getInstance(java.lang.String)">getInstance</A>, <A HREF="../../../../org/apache/log4j/Category.html#getLevel()">getLevel</A>, <A HREF="../../../../org/apache/log4j/Category.html#getLoggerRepository()">getLoggerRepository</A>, <A HREF="../../../../org/apache/log4j/Category.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/Category.html#getParent()">getParent</A>, <A HREF="../../../../org/apache/log4j/Category.html#getPriority()">getPriority</A>, <A HREF="../../../../org/apache/log4j/Category.html#getResourceBundleString(java.lang.String)">getResourceBundleString</A>, <A HREF="../../../../org/apache/log4j/Category.html#getRoot()">getRoot</A>, <A HREF="../../../../org/apache/log4j/Category.html#setAdditivity(boolean)">setAdditivity</A>, <A HREF="../../../../org/apache/log4j/Category.html#shutdown()">shutdown</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NOPLogger(org.apache.log4j.spi.NOPLoggerRepository, java.lang.String)"><!-- --></A><H3> +NOPLogger</H3> +<PRE> +public <B>NOPLogger</B>(<A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A>&nbsp;repo, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Create instance of Logger. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>repo</CODE> - repository, may not be null.<DD><CODE>name</CODE> - name, may not be null, use "root" for root logger.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +addAppender</H3> +<PRE> +public void <B>addAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;newAppender)</PRE> +<DL> +<DD>Add <code>newAppender</code> to the list of appenders of this + Category instance. + + <p>If <code>newAppender</code> is already in the list of + appenders, then it won't be added again. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#addAppender(org.apache.log4j.Appender)">addAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#addAppender(org.apache.log4j.Appender)">addAppender</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="assertLog(boolean, java.lang.String)"><!-- --></A><H3> +assertLog</H3> +<PRE> +public void <B>assertLog</B>(boolean&nbsp;assertion, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;msg)</PRE> +<DL> +<DD>If <code>assertion</code> parameter is <code>false</code>, then + logs <code>msg</code> as an <A HREF="../../../../org/apache/log4j/Category.html#error(java.lang.Object)"><CODE>error</CODE></A> statement. + + <p>The <code>assert</code> method has been renamed to + <code>assertLog</code> because <code>assert</code> is a language + reserved word in JDK 1.4. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#assertLog(boolean, java.lang.String)">assertLog</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DD><CODE>msg</CODE> - The message to print if <code>assertion</code> is + false.</DL> +</DD> +</DL> +<HR> + +<A NAME="callAppenders(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +callAppenders</H3> +<PRE> +public void <B>callAppenders</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Call the appenders in the hierrachy starting at + <code>this</code>. If no appenders could be found, emit a + warning. + + <p>This method calls all the appenders inherited from the + hierarchy circumventing any evaluation of whether to log or not + to log the particular log request. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#callAppenders(org.apache.log4j.spi.LoggingEvent)">callAppenders</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - the event to log.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(java.lang.Object)"><!-- --></A><H3> +debug</H3> +<PRE> +public void <B>debug</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A> level. + + <p>This method first checks if this category is <code>DEBUG</code> + enabled by comparing the level of this category with the <A HREF="../../../../org/apache/log4j/Level.html#DEBUG"><CODE>DEBUG</CODE></A> level. If this category is + <code>DEBUG</code> enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. It then proceeds to call all the + registered appenders in this category and also higher in the + hierarchy depending on the value of the additivity flag. + + <p><b>WARNING</b> Note that passing a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> to this + method will print the name of the <code>Throwable</code> but no + stack trace. To print a stack trace use the <A HREF="../../../../org/apache/log4j/Category.html#debug(java.lang.Object, java.lang.Throwable)"><CODE>Category.debug(Object, + Throwable)</CODE></A> form instead. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#debug(java.lang.Object)">debug</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.</DL> +</DD> +</DL> +<HR> + +<A NAME="debug(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +debug</H3> +<PRE> +public void <B>debug</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message object with the <code>DEBUG</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. + + <p>See <A HREF="../../../../org/apache/log4j/Category.html#debug(java.lang.Object)"><CODE>Category.debug(Object)</CODE></A> form for more detailed information. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#debug(java.lang.Object, java.lang.Throwable)">debug</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.Object)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#ERROR"><CODE>ERROR</CODE></A> Level. + + <p>This method first checks if this category is <code>ERROR</code> + enabled by comparing the level of this category with <A HREF="../../../../org/apache/log4j/Level.html#ERROR"><CODE>ERROR</CODE></A> Level. If this category is <code>ERROR</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. It proceeds to call all the + registered appenders in this category and also higher in the + hierarchy depending on the value of the additivity flag. + + <p><b>WARNING</b> Note that passing a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> to this + method will print the name of the <code>Throwable</code> but no + stack trace. To print a stack trace use the <A HREF="../../../../org/apache/log4j/Category.html#error(java.lang.Object, java.lang.Throwable)"><CODE>Category.error(Object, + Throwable)</CODE></A> form instead. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#error(java.lang.Object)">error</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message object with the <code>ERROR</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. + + <p>See <A HREF="../../../../org/apache/log4j/Category.html#error(java.lang.Object)"><CODE>Category.error(Object)</CODE></A> form for more detailed information. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#error(java.lang.Object, java.lang.Throwable)">error</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<HR> + +<A NAME="fatal(java.lang.Object)"><!-- --></A><H3> +fatal</H3> +<PRE> +public void <B>fatal</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#FATAL"><CODE>FATAL</CODE></A> Level. + + <p>This method first checks if this category is <code>FATAL</code> + enabled by comparing the level of this category with <A HREF="../../../../org/apache/log4j/Level.html#FATAL"><CODE>FATAL</CODE></A> Level. If the category is <code>FATAL</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate + <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. It + proceeds to call all the registered appenders in this category and + also higher in the hierarchy depending on the value of the + additivity flag. + + <p><b>WARNING</b> Note that passing a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> to this + method will print the name of the Throwable but no stack trace. To + print a stack trace use the <A HREF="../../../../org/apache/log4j/Category.html#fatal(java.lang.Object, java.lang.Throwable)"><CODE>Category.fatal(Object, Throwable)</CODE></A> form + instead. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#fatal(java.lang.Object)">fatal</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log</DL> +</DD> +</DL> +<HR> + +<A NAME="fatal(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +fatal</H3> +<PRE> +public void <B>fatal</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message object with the <code>FATAL</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. + + <p>See <A HREF="../../../../org/apache/log4j/Category.html#fatal(java.lang.Object)"><CODE>Category.fatal(Object)</CODE></A> for more detailed information. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#fatal(java.lang.Object, java.lang.Throwable)">fatal</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<HR> + +<A NAME="getAllAppenders()"><!-- --></A><H3> +getAllAppenders</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getAllAppenders</B>()</PRE> +<DL> +<DD>Get the appenders contained in this category as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util"><CODE>Enumeration</CODE></A>. If no appenders can be found, then a <A HREF="../../../../org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><CODE>NullEnumeration</CODE></A> + is returned. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#getAllAppenders()">getAllAppenders</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#getAllAppenders()">getAllAppenders</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>Enumeration An enumeration of the appenders in this category.</DL> +</DD> +</DL> +<HR> + +<A NAME="getAppender(java.lang.String)"><!-- --></A><H3> +getAppender</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> <B>getAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Look for the appender named as <code>name</code>. + + <p>Return the appender with that name if in the list. Return + <code>null</code> otherwise. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#getAppender(java.lang.String)">getAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#getAppender(java.lang.String)">getAppender</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getEffectiveLevel()"><!-- --></A><H3> +getEffectiveLevel</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getEffectiveLevel</B>()</PRE> +<DL> +<DD>Starting from this category, search the category hierarchy for a + non-null level and return it. Otherwise, return the level of the + root category. + + <p>The Category class is designed so that this method executes as + quickly as possible. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#getEffectiveLevel()">getEffectiveLevel</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getChainedPriority()"><!-- --></A><H3> +getChainedPriority</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> <B>getChainedPriority</B>()</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#getChainedPriority()">getChainedPriority</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getResourceBundle()"><!-- --></A><H3> +getResourceBundle</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</A> <B>getResourceBundle</B>()</PRE> +<DL> +<DD>Return the <em>inherited</em> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util"><CODE>ResourceBundle</CODE></A> for this + category. + + <p>This method walks the hierarchy to find the appropriate + resource bundle. It will return the resource bundle attached to + the closest ancestor of this category, much like the way + priorities are searched. In case there is no bundle in the + hierarchy then <code>null</code> is returned. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#getResourceBundle()">getResourceBundle</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="info(java.lang.Object)"><!-- --></A><H3> +info</H3> +<PRE> +public void <B>info</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#INFO"><CODE>INFO</CODE></A> Level. + + <p>This method first checks if this category is <code>INFO</code> + enabled by comparing the level of this category with <A HREF="../../../../org/apache/log4j/Level.html#INFO"><CODE>INFO</CODE></A> Level. If the category is <code>INFO</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate + <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. It + proceeds to call all the registered appenders in this category and + also higher in the hierarchy depending on the value of the + additivity flag. + + <p><b>WARNING</b> Note that passing a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> to this + method will print the name of the Throwable but no stack trace. To + print a stack trace use the <A HREF="../../../../org/apache/log4j/Category.html#info(java.lang.Object, java.lang.Throwable)"><CODE>Category.info(Object, Throwable)</CODE></A> form + instead. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#info(java.lang.Object)">info</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log</DL> +</DD> +</DL> +<HR> + +<A NAME="info(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +info</H3> +<PRE> +public void <B>info</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message object with the <code>INFO</code> level including + the stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. + + <p>See <A HREF="../../../../org/apache/log4j/Category.html#info(java.lang.Object)"><CODE>Category.info(Object)</CODE></A> for more detailed information. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#info(java.lang.Object, java.lang.Throwable)">info</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<HR> + +<A NAME="isAttached(org.apache.log4j.Appender)"><!-- --></A><H3> +isAttached</H3> +<PRE> +public boolean <B>isAttached</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Is the appender passed as parameter attached to this category? +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#isAttached(org.apache.log4j.Appender)">isAttached</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#isAttached(org.apache.log4j.Appender)">isAttached</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isDebugEnabled()"><!-- --></A><H3> +isDebugEnabled</H3> +<PRE> +public boolean <B>isDebugEnabled</B>()</PRE> +<DL> +<DD>Check whether this category is enabled for the <code>DEBUG</code> + Level. + + <p> This function is intended to lessen the computational cost of + disabled log debug statements. + + <p> For some <code>cat</code> Category object, when you write, + <pre> + cat.debug("This is entry number: " + i ); + </pre> + + <p>You incur the cost constructing the message, concatenatiion in + this case, regardless of whether the message is logged or not. + + <p>If you are worried about speed, then you should write + <pre> + if(cat.isDebugEnabled()) { + cat.debug("This is entry number: " + i ); + } + </pre> + + <p>This way you will not incur the cost of parameter + construction if debugging is disabled for <code>cat</code>. On + the other hand, if the <code>cat</code> is debug enabled, you + will incur the cost of evaluating whether the category is debug + enabled twice. Once in <code>isDebugEnabled</code> and once in + the <code>debug</code>. This is an insignificant overhead + since evaluating a category takes about 1%% of the time it + takes to actually log. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#isDebugEnabled()">isDebugEnabled</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>boolean - <code>true</code> if this category is debug + enabled, <code>false</code> otherwise.</DL> +</DD> +</DL> +<HR> + +<A NAME="isEnabledFor(org.apache.log4j.Priority)"><!-- --></A><H3> +isEnabledFor</H3> +<PRE> +public boolean <B>isEnabledFor</B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level)</PRE> +<DL> +<DD>Check whether this category is enabled for a given <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><CODE>Level</CODE></A> passed as parameter. + + See also <A HREF="../../../../org/apache/log4j/Category.html#isDebugEnabled()"><CODE>Category.isDebugEnabled()</CODE></A>. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#isEnabledFor(org.apache.log4j.Priority)">isEnabledFor</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>boolean True if this category is enabled for <code>level</code>.</DL> +</DD> +</DL> +<HR> + +<A NAME="isInfoEnabled()"><!-- --></A><H3> +isInfoEnabled</H3> +<PRE> +public boolean <B>isInfoEnabled</B>()</PRE> +<DL> +<DD>Check whether this category is enabled for the info Level. + See also <A HREF="../../../../org/apache/log4j/Category.html#isDebugEnabled()"><CODE>Category.isDebugEnabled()</CODE></A>. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#isInfoEnabled()">isInfoEnabled</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>boolean - <code>true</code> if this category is enabled + for level info, <code>false</code> otherwise.</DL> +</DD> +</DL> +<HR> + +<A NAME="l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)"><!-- --></A><H3> +l7dlog</H3> +<PRE> +public void <B>l7dlog</B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a localized message. The user supplied parameter + <code>key</code> is replaced by its localized version from the + resource bundle. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)">l7dlog</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/Category.html#setResourceBundle(java.util.ResourceBundle)"><CODE>Category.setResourceBundle(java.util.ResourceBundle)</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)"><!-- --></A><H3> +l7dlog</H3> +<PRE> +public void <B>l7dlog</B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]&nbsp;params, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a localized and parameterized message. First, the user + supplied <code>key</code> is searched in the resource + bundle. Next, the resulting pattern is formatted using + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/MessageFormat.html?is-external=true#format(java.lang.String, java.lang.Object...)" title="class or interface in java.text"><CODE>MessageFormat.format(String,Object[])</CODE></A> method with the + user supplied object array <code>params</code>. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)">l7dlog</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>This generic form is intended to be used by wrappers. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="log(org.apache.log4j.Priority, java.lang.Object)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>This generic form is intended to be used by wrappers. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object)">log</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +log</H3> +<PRE> +public void <B>log</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;callerFQCN, + <A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>This is the most generic printing method. It is intended to be + invoked by <b>wrapper</b> classes. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>callerFQCN</CODE> - The wrapper class' fully qualified class name.<DD><CODE>level</CODE> - The level of the logging request.<DD><CODE>message</CODE> - The message of the logging request.<DD><CODE>t</CODE> - The throwable of the logging request, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAllAppenders()"><!-- --></A><H3> +removeAllAppenders</H3> +<PRE> +public void <B>removeAllAppenders</B>()</PRE> +<DL> +<DD>Remove all previously added appenders from this Category + instance. + + <p>This is useful when re-reading configuration information. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#removeAllAppenders()">removeAllAppenders</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#removeAllAppenders()">removeAllAppenders</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +removeAppender</H3> +<PRE> +public void <B>removeAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Remove the appender passed as parameter form the list of appenders. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeAppender(java.lang.String)"><!-- --></A><H3> +removeAppender</H3> +<PRE> +public void <B>removeAppender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD>Remove the appender with the name passed as parameter form the + list of appenders. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html#removeAppender(java.lang.String)">removeAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#removeAppender(java.lang.String)">removeAppender</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLevel(org.apache.log4j.Level)"><!-- --></A><H3> +setLevel</H3> +<PRE> +public void <B>setLevel</B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</PRE> +<DL> +<DD>Set the level of this Category. If you are passing any of + <code>Level.DEBUG</code>, <code>Level.INFO</code>, + <code>Level.WARN</code>, <code>Level.ERROR</code>, + <code>Level.FATAL</code> as a parameter, you need to case them as + Level. + + <p>As in <pre> &nbsp;&nbsp;&nbsp;logger.setLevel((Level) Level.DEBUG); </pre> + + + <p>Null values are admitted. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)">setLevel</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setPriority(org.apache.log4j.Priority)"><!-- --></A><H3> +setPriority</H3> +<PRE> +public void <B>setPriority</B>(<A HREF="../../../../org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A>&nbsp;priority)</PRE> +<DL> +<DD>Set the level of this Category. + + <p>Null values are admitted. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#setPriority(org.apache.log4j.Priority)">setPriority</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setResourceBundle(java.util.ResourceBundle)"><!-- --></A><H3> +setResourceBundle</H3> +<PRE> +public void <B>setResourceBundle</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</A>&nbsp;bundle)</PRE> +<DL> +<DD>Set the resource bundle to be used with localized logging + methods <A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)"><CODE>Category.l7dlog(Priority,String,Throwable)</CODE></A> and <A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)"><CODE>Category.l7dlog(Priority,String,Object[],Throwable)</CODE></A>. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#setResourceBundle(java.util.ResourceBundle)">setResourceBundle</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(java.lang.Object)"><!-- --></A><H3> +warn</H3> +<PRE> +public void <B>warn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#WARN"><CODE>WARN</CODE></A> Level. + + <p>This method first checks if this category is <code>WARN</code> + enabled by comparing the level of this category with <A HREF="../../../../org/apache/log4j/Level.html#WARN"><CODE>WARN</CODE></A> Level. If the category is <code>WARN</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate + <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><CODE>ObjectRenderer</CODE></A>. It + proceeds to call all the registered appenders in this category and + also higher in the hieararchy depending on the value of the + additivity flag. + + <p><b>WARNING</b> Note that passing a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> to this + method will print the name of the Throwable but no stack trace. To + print a stack trace use the <A HREF="../../../../org/apache/log4j/Category.html#warn(java.lang.Object, java.lang.Throwable)"><CODE>Category.warn(Object, Throwable)</CODE></A> form + instead. <p> +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#warn(java.lang.Object)">warn</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.</DL> +</DD> +</DL> +<HR> + +<A NAME="warn(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +warn</H3> +<PRE> +public void <B>warn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message with the <code>WARN</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> <code>t</code> passed as + parameter. + + <p>See <A HREF="../../../../org/apache/log4j/Category.html#warn(java.lang.Object)"><CODE>Category.warn(Object)</CODE></A> for more detailed information. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#warn(java.lang.Object, java.lang.Throwable)">warn</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<HR> + +<A NAME="trace(java.lang.Object)"><!-- --></A><H3> +trace</H3> +<PRE> +public void <B>trace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE> +<DL> +<DD>Log a message object with the <A HREF="../../../../org/apache/log4j/Level.html#TRACE"><CODE>TRACE</CODE></A> level. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Logger.html#trace(java.lang.Object)">trace</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/log4j/Category.html#debug(java.lang.Object)"><CODE>for an explanation of the logic applied.</CODE></A></DL> +</DD> +</DL> +<HR> + +<A NAME="trace(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3> +trace</H3> +<PRE> +public void <B>trace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Log a message object with the <code>TRACE</code> level including the + stack trace of the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A><code>t</code> passed as parameter. + + <p> + See <A HREF="../../../../org/apache/log4j/Category.html#debug(java.lang.Object)"><CODE>Category.debug(Object)</CODE></A> form for more detailed information. + </p> +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Logger.html#trace(java.lang.Object, java.lang.Throwable)">trace</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.</DL> +</DD> +</DL> +<HR> + +<A NAME="isTraceEnabled()"><!-- --></A><H3> +isTraceEnabled</H3> +<PRE> +public boolean <B>isTraceEnabled</B>()</PRE> +<DL> +<DD>Check whether this category is enabled for the TRACE Level. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Logger.html#isTraceEnabled()">isTraceEnabled</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>boolean - <code>true</code> if this category is enabled for level + TRACE, <code>false</code> otherwise.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NOPLogger.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/NOPLogger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NOPLogger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Category">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/NOPLoggerRepository.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/NOPLoggerRepository.html new file mode 100644 index 00000000000..a371033e86d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/NOPLoggerRepository.html @@ -0,0 +1,618 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NOPLoggerRepository (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NOPLoggerRepository (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NOPLoggerRepository.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/NOPLoggerRepository.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NOPLoggerRepository.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Class NOPLoggerRepository</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.spi.NOPLoggerRepository</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>NOPLoggerRepository</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></DL> +</PRE> + +<P> +No-operation implementation of LoggerRepository which is used when + LogManager.repositorySelector is erroneously nulled during class reloading. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#NOPLoggerRepository()">NOPLoggerRepository</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)">addHierarchyEventListener</A></B>(<A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>&nbsp;listener)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a <A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><CODE>HierarchyEventListener</CODE></A> event to the repository.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#emitNoAppenderWarning(org.apache.log4j.Category)">emitNoAppenderWarning</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#exists(java.lang.String)">exists</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getCurrentCategories()">getCurrentCategories</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deprecated.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getCurrentLoggers()">getCurrentLoggers</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getRootLogger()">getRootLogger</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getThreshold()">getThreshold</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the repository-wide threshold.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#isDisabled(int)">isDisabled</A></B>(int&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this repository is disabled for a given + level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#resetConfiguration()">resetConfiguration</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#setThreshold(org.apache.log4j.Level)">setThreshold</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the repository-wide threshold.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#setThreshold(java.lang.String)">setThreshold</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Another form of <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><CODE>LoggerRepository.setThreshold(Level)</CODE></A> accepting a string + parameter instead of a <code>Level</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html#shutdown()">shutdown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NOPLoggerRepository()"><!-- --></A><H3> +NOPLoggerRepository</H3> +<PRE> +public <B>NOPLoggerRepository</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)"><!-- --></A><H3> +addHierarchyEventListener</H3> +<PRE> +public void <B>addHierarchyEventListener</B>(<A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>&nbsp;listener)</PRE> +<DL> +<DD>Add a <A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><CODE>HierarchyEventListener</CODE></A> event to the repository. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)">addHierarchyEventListener</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isDisabled(int)"><!-- --></A><H3> +isDisabled</H3> +<PRE> +public boolean <B>isDisabled</B>(int&nbsp;level)</PRE> +<DL> +<DD>Returns whether this repository is disabled for a given + level. The answer depends on the repository threshold and the + <code>level</code> parameter. See also <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><CODE>LoggerRepository.setThreshold(org.apache.log4j.Level)</CODE></A> + method. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#isDisabled(int)">isDisabled</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setThreshold(org.apache.log4j.Level)"><!-- --></A><H3> +setThreshold</H3> +<PRE> +public void <B>setThreshold</B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</PRE> +<DL> +<DD>Set the repository-wide threshold. All logging requests below the + threshold are immediately dropped. By default, the threshold is + set to <code>Level.ALL</code> which has the lowest possible rank. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)">setThreshold</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setThreshold(java.lang.String)"><!-- --></A><H3> +setThreshold</H3> +<PRE> +public void <B>setThreshold</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;val)</PRE> +<DL> +<DD>Another form of <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><CODE>LoggerRepository.setThreshold(Level)</CODE></A> accepting a string + parameter instead of a <code>Level</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(java.lang.String)">setThreshold</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="emitNoAppenderWarning(org.apache.log4j.Category)"><!-- --></A><H3> +emitNoAppenderWarning</H3> +<PRE> +public void <B>emitNoAppenderWarning</B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;cat)</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#emitNoAppenderWarning(org.apache.log4j.Category)">emitNoAppenderWarning</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThreshold()"><!-- --></A><H3> +getThreshold</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getThreshold</B>()</PRE> +<DL> +<DD>Get the repository-wide threshold. See <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#setThreshold(org.apache.log4j.Level)"><CODE>LoggerRepository.setThreshold(Level)</CODE></A> for an explanation. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getThreshold()">getThreshold</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.String)"><!-- --></A><H3> +getLogger</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String)">getLogger</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><!-- --></A><H3> +getLogger</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getRootLogger()"><!-- --></A><H3> +getRootLogger</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getRootLogger</B>()</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getRootLogger()">getRootLogger</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="exists(java.lang.String)"><!-- --></A><H3> +exists</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>exists</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#exists(java.lang.String)">exists</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="shutdown()"><!-- --></A><H3> +shutdown</H3> +<PRE> +public void <B>shutdown</B>()</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCurrentLoggers()"><!-- --></A><H3> +getCurrentLoggers</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getCurrentLoggers</B>()</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getCurrentLoggers()">getCurrentLoggers</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCurrentCategories()"><!-- --></A><H3> +getCurrentCategories</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A> <B>getCurrentCategories</B>()</PRE> +<DL> +<DD>Deprecated. Please use <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getCurrentLoggers()"><CODE>LoggerRepository.getCurrentLoggers()</CODE></A> instead. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#getCurrentCategories()">getCurrentCategories</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)"><!-- --></A><H3> +fireAddAppenderEvent</H3> +<PRE> +public void <B>fireAddAppenderEvent</B>(<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#fireAddAppenderEvent(org.apache.log4j.Category, org.apache.log4j.Appender)">fireAddAppenderEvent</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="resetConfiguration()"><!-- --></A><H3> +resetConfiguration</H3> +<PRE> +public void <B>resetConfiguration</B>()</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html#resetConfiguration()">resetConfiguration</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NOPLoggerRepository.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/NOPLoggerRepository.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NOPLoggerRepository.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/OptionHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/OptionHandler.html new file mode 100644 index 00000000000..aa86c97a8f2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/OptionHandler.html @@ -0,0 +1,234 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +OptionHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="OptionHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/OptionHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/OptionHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OptionHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface OptionHandler</H2> +<DL> +<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></DD> +</DL> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A>, <A HREF="../../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A>, <A HREF="../../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A>, <A HREF="../../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A>, <A HREF="../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A>, <A HREF="../../../../org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia">DenyAllFilter</A>, <A HREF="../../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A>, <A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A>, <A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>, <A HREF="../../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A>, <A HREF="../../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A>, <A HREF="../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A>, <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A>, <A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A>, <A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A>, <A HREF="../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A>, <A HREF="../../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A>, <A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A>, <A HREF="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A>, <A HREF="../../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A>, <A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A>, <A HREF="../../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j">SimpleLayout</A>, <A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A>, <A HREF="../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A>, <A HREF="../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A>, <A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A>, <A HREF="../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A>, <A HREF="../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A>, <A HREF="../../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A>, <A HREF="../../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>OptionHandler</B></DL> +</PRE> + +<P> +A string based interface to configure package components. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.1</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;, Anders Kristensen</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Activate the options that were previously set with calls to option + setters.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +void <B>activateOptions</B>()</PRE> +<DL> +<DD>Activate the options that were previously set with calls to option + setters. + + <p>This allows to defer activiation of the options until all + options have been set. This is required for components which have + related options that remain ambigous until all are set. + + <p>For example, the FileAppender has the <A HREF="../../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)"><CODE>File</CODE></A> and <A HREF="../../../../org/apache/log4j/FileAppender.html#setAppend(boolean)"><CODE>Append</CODE></A> options both of + which are ambigous until the other is also set. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/OptionHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/OptionHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OptionHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RendererSupport.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RendererSupport.html new file mode 100644 index 00000000000..a5bc8698d46 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RendererSupport.html @@ -0,0 +1,231 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +RendererSupport (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="RendererSupport (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RendererSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/RendererSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RendererSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface RendererSupport</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>RendererSupport</B></DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RendererSupport.html#getRendererMap()">getRendererMap</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RendererSupport.html#setRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)">setRenderer</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;renderedClass, + <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;renderer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getRendererMap()"><!-- --></A><H3> +getRendererMap</H3> +<PRE> +<A HREF="../../../../org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or">RendererMap</A> <B>getRendererMap</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setRenderer(java.lang.Class, org.apache.log4j.or.ObjectRenderer)"><!-- --></A><H3> +setRenderer</H3> +<PRE> +void <B>setRenderer</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;renderedClass, + <A HREF="../../../../org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>&nbsp;renderer)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RendererSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/RendererSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RendererSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RepositorySelector.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RepositorySelector.html new file mode 100644 index 00000000000..7386bd69435 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RepositorySelector.html @@ -0,0 +1,233 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +RepositorySelector (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="RepositorySelector (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RepositorySelector.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/RepositorySelector.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RepositorySelector.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface RepositorySelector</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi">DefaultRepositorySelector</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>RepositorySelector</B></DL> +</PRE> + +<P> +The <code>LogManager</code> uses one (and only one) + <code>RepositorySelector</code> implementation to select the + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> for a particular application context. + + <p>It is the responsability of the <code>RepositorySelector</code> + implementation to track the application context. Log4j makes no + assumptions about the application context or on its management. + + <p>See also <A HREF="../../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><CODE>LogManager</CODE></A>. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html#getLoggerRepository()">getLoggerRepository</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> depending on the + context.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getLoggerRepository()"><!-- --></A><H3> +getLoggerRepository</H3> +<PRE> +<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> <B>getLoggerRepository</B>()</PRE> +<DL> +<DD>Returns a <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> depending on the + context. Implementors must make sure that a valid (non-null) + LoggerRepository is returned. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RepositorySelector.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/RepositorySelector.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RepositorySelector.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RootCategory.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RootCategory.html new file mode 100644 index 00000000000..8e96eccf1b6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RootCategory.html @@ -0,0 +1,350 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +RootCategory (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="RootCategory (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RootCategory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/RootCategory.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RootCategory.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Category">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Class RootCategory</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">org.apache.log4j.Category</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">org.apache.log4j.Logger</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.spi.RootCategory</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></DD> +</DL> +<HR> +<B>Deprecated.</B>&nbsp;<I>Replaced by <A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><CODE>RootLogger</CODE></A>.</I> +<P> +<DL> +<DT><PRE>public final class <B>RootCategory</B><DT>extends <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Category"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Category.html#additive">additive</A>, <A HREF="../../../../org/apache/log4j/Category.html#level">level</A>, <A HREF="../../../../org/apache/log4j/Category.html#name">name</A>, <A HREF="../../../../org/apache/log4j/Category.html#parent">parent</A>, <A HREF="../../../../org/apache/log4j/Category.html#repository">repository</A>, <A HREF="../../../../org/apache/log4j/Category.html#resourceBundle">resourceBundle</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html#RootCategory(org.apache.log4j.Level)">RootCategory</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The root category names itself as "root".</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html#getChainedLevel()">getChainedLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return the assigned level value without walking the category + hierarchy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html#setLevel(org.apache.log4j.Level)">setLevel</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Setting a null value to the level of the root category may have catastrophic + results.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html#setPriority(org.apache.log4j.Level)">setPriority</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Logger"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.Class)">getLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)">getLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#getRootLogger()">getRootLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#isTraceEnabled()">isTraceEnabled</A>, <A HREF="../../../../org/apache/log4j/Logger.html#trace(java.lang.Object)">trace</A>, <A HREF="../../../../org/apache/log4j/Logger.html#trace(java.lang.Object, java.lang.Throwable)">trace</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Category"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Category.html#addAppender(org.apache.log4j.Appender)">addAppender</A>, <A HREF="../../../../org/apache/log4j/Category.html#assertLog(boolean, java.lang.String)">assertLog</A>, <A HREF="../../../../org/apache/log4j/Category.html#callAppenders(org.apache.log4j.spi.LoggingEvent)">callAppenders</A>, <A HREF="../../../../org/apache/log4j/Category.html#debug(java.lang.Object)">debug</A>, <A HREF="../../../../org/apache/log4j/Category.html#debug(java.lang.Object, java.lang.Throwable)">debug</A>, <A HREF="../../../../org/apache/log4j/Category.html#error(java.lang.Object)">error</A>, <A HREF="../../../../org/apache/log4j/Category.html#error(java.lang.Object, java.lang.Throwable)">error</A>, <A HREF="../../../../org/apache/log4j/Category.html#exists(java.lang.String)">exists</A>, <A HREF="../../../../org/apache/log4j/Category.html#fatal(java.lang.Object)">fatal</A>, <A HREF="../../../../org/apache/log4j/Category.html#fatal(java.lang.Object, java.lang.Throwable)">fatal</A>, <A HREF="../../../../org/apache/log4j/Category.html#forcedLog(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">forcedLog</A>, <A HREF="../../../../org/apache/log4j/Category.html#getAdditivity()">getAdditivity</A>, <A HREF="../../../../org/apache/log4j/Category.html#getAllAppenders()">getAllAppenders</A>, <A HREF="../../../../org/apache/log4j/Category.html#getAppender(java.lang.String)">getAppender</A>, <A HREF="../../../../org/apache/log4j/Category.html#getChainedPriority()">getChainedPriority</A>, <A HREF="../../../../org/apache/log4j/Category.html#getCurrentCategories()">getCurrentCategories</A>, <A HREF="../../../../org/apache/log4j/Category.html#getDefaultHierarchy()">getDefaultHierarchy</A>, <A HREF="../../../../org/apache/log4j/Category.html#getEffectiveLevel()">getEffectiveLevel</A>, <A HREF="../../../../org/apache/log4j/Category.html#getHierarchy()">getHierarchy</A>, <A HREF="../../../../org/apache/log4j/Category.html#getInstance(java.lang.Class)">getInstance</A>, <A HREF="../../../../org/apache/log4j/Category.html#getInstance(java.lang.String)">getInstance</A>, <A HREF="../../../../org/apache/log4j/Category.html#getLevel()">getLevel</A>, <A HREF="../../../../org/apache/log4j/Category.html#getLoggerRepository()">getLoggerRepository</A>, <A HREF="../../../../org/apache/log4j/Category.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/Category.html#getParent()">getParent</A>, <A HREF="../../../../org/apache/log4j/Category.html#getPriority()">getPriority</A>, <A HREF="../../../../org/apache/log4j/Category.html#getResourceBundle()">getResourceBundle</A>, <A HREF="../../../../org/apache/log4j/Category.html#getResourceBundleString(java.lang.String)">getResourceBundleString</A>, <A HREF="../../../../org/apache/log4j/Category.html#getRoot()">getRoot</A>, <A HREF="../../../../org/apache/log4j/Category.html#info(java.lang.Object)">info</A>, <A HREF="../../../../org/apache/log4j/Category.html#info(java.lang.Object, java.lang.Throwable)">info</A>, <A HREF="../../../../org/apache/log4j/Category.html#isAttached(org.apache.log4j.Appender)">isAttached</A>, <A HREF="../../../../org/apache/log4j/Category.html#isDebugEnabled()">isDebugEnabled</A>, <A HREF="../../../../org/apache/log4j/Category.html#isEnabledFor(org.apache.log4j.Priority)">isEnabledFor</A>, <A HREF="../../../../org/apache/log4j/Category.html#isInfoEnabled()">isInfoEnabled</A>, <A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)">l7dlog</A>, <A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)">l7dlog</A>, <A HREF="../../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object)">log</A>, <A HREF="../../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A>, <A HREF="../../../../org/apache/log4j/Category.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A>, <A HREF="../../../../org/apache/log4j/Category.html#removeAllAppenders()">removeAllAppenders</A>, <A HREF="../../../../org/apache/log4j/Category.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A>, <A HREF="../../../../org/apache/log4j/Category.html#removeAppender(java.lang.String)">removeAppender</A>, <A HREF="../../../../org/apache/log4j/Category.html#setAdditivity(boolean)">setAdditivity</A>, <A HREF="../../../../org/apache/log4j/Category.html#setPriority(org.apache.log4j.Priority)">setPriority</A>, <A HREF="../../../../org/apache/log4j/Category.html#setResourceBundle(java.util.ResourceBundle)">setResourceBundle</A>, <A HREF="../../../../org/apache/log4j/Category.html#shutdown()">shutdown</A>, <A HREF="../../../../org/apache/log4j/Category.html#warn(java.lang.Object)">warn</A>, <A HREF="../../../../org/apache/log4j/Category.html#warn(java.lang.Object, java.lang.Throwable)">warn</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="RootCategory(org.apache.log4j.Level)"><!-- --></A><H3> +RootCategory</H3> +<PRE> +public <B>RootCategory</B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<DD>The root category names itself as "root". However, the root + category cannot be retrieved by name. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getChainedLevel()"><!-- --></A><H3> +getChainedLevel</H3> +<PRE> +public final <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getChainedLevel</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<DD>Return the assigned level value without walking the category + hierarchy. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLevel(org.apache.log4j.Level)"><!-- --></A><H3> +setLevel</H3> +<PRE> +public final void <B>setLevel</B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<DD>Setting a null value to the level of the root category may have catastrophic + results. We prevent this here. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)">setLevel</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.3</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setPriority(org.apache.log4j.Level)"><!-- --></A><H3> +setPriority</H3> +<PRE> +public final void <B>setPriority</B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RootCategory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/RootCategory.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RootCategory.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Category">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RootLogger.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RootLogger.html new file mode 100644 index 00000000000..eefb98dec68 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/RootLogger.html @@ -0,0 +1,343 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +RootLogger (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="RootLogger (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RootLogger.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/RootLogger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RootLogger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Category">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Class RootLogger</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">org.apache.log4j.Category</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">org.apache.log4j.Logger</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.spi.RootLogger</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>RootLogger</B><DT>extends <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></DL> +</PRE> + +<P> +RootLogger sits at the top of the logger hierachy. It is a + regular logger except that it provides several guarantees. + + <p>First, it cannot be assigned a <code>null</code> + level. Second, since root logger cannot have a parent, the + <A HREF="../../../../org/apache/log4j/spi/RootLogger.html#getChainedLevel()"><CODE>getChainedLevel()</CODE></A> method always returns the value of the + level field without walking the hierarchy. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Category"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Category.html#additive">additive</A>, <A HREF="../../../../org/apache/log4j/Category.html#level">level</A>, <A HREF="../../../../org/apache/log4j/Category.html#name">name</A>, <A HREF="../../../../org/apache/log4j/Category.html#parent">parent</A>, <A HREF="../../../../org/apache/log4j/Category.html#repository">repository</A>, <A HREF="../../../../org/apache/log4j/Category.html#resourceBundle">resourceBundle</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootLogger.html#RootLogger(org.apache.log4j.Level)">RootLogger</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The root logger names itself as "root".</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootLogger.html#getChainedLevel()">getChainedLevel</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the assigned level value without walking the logger + hierarchy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/RootLogger.html#setLevel(org.apache.log4j.Level)">setLevel</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting a null value to the level of the root logger may have catastrophic + results.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Logger"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.Class)">getLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)">getLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#getRootLogger()">getRootLogger</A>, <A HREF="../../../../org/apache/log4j/Logger.html#isTraceEnabled()">isTraceEnabled</A>, <A HREF="../../../../org/apache/log4j/Logger.html#trace(java.lang.Object)">trace</A>, <A HREF="../../../../org/apache/log4j/Logger.html#trace(java.lang.Object, java.lang.Throwable)">trace</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Category"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Category.html#addAppender(org.apache.log4j.Appender)">addAppender</A>, <A HREF="../../../../org/apache/log4j/Category.html#assertLog(boolean, java.lang.String)">assertLog</A>, <A HREF="../../../../org/apache/log4j/Category.html#callAppenders(org.apache.log4j.spi.LoggingEvent)">callAppenders</A>, <A HREF="../../../../org/apache/log4j/Category.html#debug(java.lang.Object)">debug</A>, <A HREF="../../../../org/apache/log4j/Category.html#debug(java.lang.Object, java.lang.Throwable)">debug</A>, <A HREF="../../../../org/apache/log4j/Category.html#error(java.lang.Object)">error</A>, <A HREF="../../../../org/apache/log4j/Category.html#error(java.lang.Object, java.lang.Throwable)">error</A>, <A HREF="../../../../org/apache/log4j/Category.html#exists(java.lang.String)">exists</A>, <A HREF="../../../../org/apache/log4j/Category.html#fatal(java.lang.Object)">fatal</A>, <A HREF="../../../../org/apache/log4j/Category.html#fatal(java.lang.Object, java.lang.Throwable)">fatal</A>, <A HREF="../../../../org/apache/log4j/Category.html#forcedLog(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">forcedLog</A>, <A HREF="../../../../org/apache/log4j/Category.html#getAdditivity()">getAdditivity</A>, <A HREF="../../../../org/apache/log4j/Category.html#getAllAppenders()">getAllAppenders</A>, <A HREF="../../../../org/apache/log4j/Category.html#getAppender(java.lang.String)">getAppender</A>, <A HREF="../../../../org/apache/log4j/Category.html#getChainedPriority()">getChainedPriority</A>, <A HREF="../../../../org/apache/log4j/Category.html#getCurrentCategories()">getCurrentCategories</A>, <A HREF="../../../../org/apache/log4j/Category.html#getDefaultHierarchy()">getDefaultHierarchy</A>, <A HREF="../../../../org/apache/log4j/Category.html#getEffectiveLevel()">getEffectiveLevel</A>, <A HREF="../../../../org/apache/log4j/Category.html#getHierarchy()">getHierarchy</A>, <A HREF="../../../../org/apache/log4j/Category.html#getInstance(java.lang.Class)">getInstance</A>, <A HREF="../../../../org/apache/log4j/Category.html#getInstance(java.lang.String)">getInstance</A>, <A HREF="../../../../org/apache/log4j/Category.html#getLevel()">getLevel</A>, <A HREF="../../../../org/apache/log4j/Category.html#getLoggerRepository()">getLoggerRepository</A>, <A HREF="../../../../org/apache/log4j/Category.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/Category.html#getParent()">getParent</A>, <A HREF="../../../../org/apache/log4j/Category.html#getPriority()">getPriority</A>, <A HREF="../../../../org/apache/log4j/Category.html#getResourceBundle()">getResourceBundle</A>, <A HREF="../../../../org/apache/log4j/Category.html#getResourceBundleString(java.lang.String)">getResourceBundleString</A>, <A HREF="../../../../org/apache/log4j/Category.html#getRoot()">getRoot</A>, <A HREF="../../../../org/apache/log4j/Category.html#info(java.lang.Object)">info</A>, <A HREF="../../../../org/apache/log4j/Category.html#info(java.lang.Object, java.lang.Throwable)">info</A>, <A HREF="../../../../org/apache/log4j/Category.html#isAttached(org.apache.log4j.Appender)">isAttached</A>, <A HREF="../../../../org/apache/log4j/Category.html#isDebugEnabled()">isDebugEnabled</A>, <A HREF="../../../../org/apache/log4j/Category.html#isEnabledFor(org.apache.log4j.Priority)">isEnabledFor</A>, <A HREF="../../../../org/apache/log4j/Category.html#isInfoEnabled()">isInfoEnabled</A>, <A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)">l7dlog</A>, <A HREF="../../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)">l7dlog</A>, <A HREF="../../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object)">log</A>, <A HREF="../../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A>, <A HREF="../../../../org/apache/log4j/Category.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A>, <A HREF="../../../../org/apache/log4j/Category.html#removeAllAppenders()">removeAllAppenders</A>, <A HREF="../../../../org/apache/log4j/Category.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A>, <A HREF="../../../../org/apache/log4j/Category.html#removeAppender(java.lang.String)">removeAppender</A>, <A HREF="../../../../org/apache/log4j/Category.html#setAdditivity(boolean)">setAdditivity</A>, <A HREF="../../../../org/apache/log4j/Category.html#setPriority(org.apache.log4j.Priority)">setPriority</A>, <A HREF="../../../../org/apache/log4j/Category.html#setResourceBundle(java.util.ResourceBundle)">setResourceBundle</A>, <A HREF="../../../../org/apache/log4j/Category.html#shutdown()">shutdown</A>, <A HREF="../../../../org/apache/log4j/Category.html#warn(java.lang.Object)">warn</A>, <A HREF="../../../../org/apache/log4j/Category.html#warn(java.lang.Object, java.lang.Throwable)">warn</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="RootLogger(org.apache.log4j.Level)"><!-- --></A><H3> +RootLogger</H3> +<PRE> +public <B>RootLogger</B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</PRE> +<DL> +<DD>The root logger names itself as "root". However, the root + logger cannot be retrieved by name. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getChainedLevel()"><!-- --></A><H3> +getChainedLevel</H3> +<PRE> +public final <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getChainedLevel</B>()</PRE> +<DL> +<DD>Return the assigned level value without walking the logger + hierarchy. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLevel(org.apache.log4j.Level)"><!-- --></A><H3> +setLevel</H3> +<PRE> +public final void <B>setLevel</B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level)</PRE> +<DL> +<DD>Setting a null value to the level of the root logger may have catastrophic + results. We prevent this here. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)">setLevel</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Since:</B></DT> + <DD>0.8.3</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RootLogger.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/RootLogger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RootLogger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Category">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableInformation.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableInformation.html new file mode 100644 index 00000000000..d455c6386cb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableInformation.html @@ -0,0 +1,338 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ThrowableInformation (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ThrowableInformation (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThrowableInformation.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/ThrowableInformation.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableInformation.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Class ThrowableInformation</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.spi.ThrowableInformation</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>ThrowableInformation</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL> +</PRE> + +<P> +ThrowableInformation is log4j's internal representation of + throwables. It essentially consists of a string array, called + 'rep', where the first element, that is rep[0], represents the + string representation of the throwable (i.e. the value you get + when you do throwable.toString()) and subsequent elements + correspond the stack trace with the top most entry of the stack + corresponding to the second entry of the 'rep' array that is + rep[1]. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.spi.ThrowableInformation">Serialized Form</A></DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html#ThrowableInformation(java.lang.String[])">ThrowableInformation</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;r)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html#ThrowableInformation(java.lang.Throwable)">ThrowableInformation</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html#ThrowableInformation(java.lang.Throwable, org.apache.log4j.Category)">ThrowableInformation</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;category)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html#getThrowable()">getThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html#getThrowableStrRep()">getThrowableStrRep</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ThrowableInformation(java.lang.Throwable)"><!-- --></A><H3> +ThrowableInformation</H3> +<PRE> +public <B>ThrowableInformation</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable)</PRE> +<DL> +</DL> +<HR> + +<A NAME="ThrowableInformation(java.lang.Throwable, org.apache.log4j.Category)"><!-- --></A><H3> +ThrowableInformation</H3> +<PRE> +public <B>ThrowableInformation</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;throwable, + <A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;category)</PRE> +<DL> +<DD>Create a new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>throwable</CODE> - throwable, may not be null.<DD><CODE>category</CODE> - category used to obtain ThrowableRenderer, may be null.<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +</DL> +<HR> + +<A NAME="ThrowableInformation(java.lang.String[])"><!-- --></A><H3> +ThrowableInformation</H3> +<PRE> +public <B>ThrowableInformation</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;r)</PRE> +<DL> +<DD>Create new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>r</CODE> - String representation of throwable.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getThrowable()"><!-- --></A><H3> +getThrowable</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> <B>getThrowable</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getThrowableStrRep()"><!-- --></A><H3> +getThrowableStrRep</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>getThrowableStrRep</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThrowableInformation.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/ThrowableInformation.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableInformation.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableRenderer.html new file mode 100644 index 00000000000..0e3a99b82e0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableRenderer.html @@ -0,0 +1,223 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ThrowableRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ThrowableRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThrowableRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/ThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface ThrowableRenderer</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j">DefaultThrowableRenderer</A>, <A HREF="../../../../org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j">EnhancedThrowableRenderer</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>ThrowableRenderer</B></DL> +</PRE> + +<P> +Implemented by classes that render instances of + java.lang.Throwable (exceptions and errors) + into a string representation. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html#doRender(java.lang.Throwable)">doRender</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render Throwable.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="doRender(java.lang.Throwable)"><!-- --></A><H3> +doRender</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>doRender</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE> +<DL> +<DD>Render Throwable. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>t</CODE> - throwable, may not be null. +<DT><B>Returns:</B><DD>String representation.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThrowableRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/ThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableRendererSupport.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableRendererSupport.html new file mode 100644 index 00000000000..41b9de3ec58 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/ThrowableRendererSupport.html @@ -0,0 +1,243 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ThrowableRendererSupport (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ThrowableRendererSupport (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThrowableRendererSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/ThrowableRendererSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableRendererSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface ThrowableRendererSupport</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>ThrowableRendererSupport</B></DL> +</PRE> + +<P> +Implemented by logger repositories that support configurable + rendering of Throwables. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ThrowableRendererSupport.html#getThrowableRenderer()">getThrowableRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get throwable renderer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/ThrowableRendererSupport.html#setThrowableRenderer(org.apache.log4j.spi.ThrowableRenderer)">setThrowableRenderer</A></B>(<A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A>&nbsp;renderer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set throwable renderer.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getThrowableRenderer()"><!-- --></A><H3> +getThrowableRenderer</H3> +<PRE> +<A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A> <B>getThrowableRenderer</B>()</PRE> +<DL> +<DD>Get throwable renderer. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>throwable renderer, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="setThrowableRenderer(org.apache.log4j.spi.ThrowableRenderer)"><!-- --></A><H3> +setThrowableRenderer</H3> +<PRE> +void <B>setThrowableRenderer</B>(<A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A>&nbsp;renderer)</PRE> +<DL> +<DD>Set throwable renderer. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>renderer</CODE> - renderer, may be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThrowableRendererSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/ThrowableRendererSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableRendererSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/TriggeringEventEvaluator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/TriggeringEventEvaluator.html new file mode 100644 index 00000000000..b4675485754 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/TriggeringEventEvaluator.html @@ -0,0 +1,225 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TriggeringEventEvaluator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TriggeringEventEvaluator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TriggeringEventEvaluator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/TriggeringEventEvaluator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TriggeringEventEvaluator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.spi</FONT> +<BR> +Interface TriggeringEventEvaluator</H2> +<HR> +<DL> +<DT><PRE>public interface <B>TriggeringEventEvaluator</B></DL> +</PRE> + +<P> +Implementions of this interface allow certain appenders to decide + when to perform an appender specific action. + + <p>For example the <A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><CODE>SMTPAppender</CODE></A> sends + an email when the <A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html#isTriggeringEvent(org.apache.log4j.spi.LoggingEvent)"><CODE>isTriggeringEvent(org.apache.log4j.spi.LoggingEvent)</CODE></A> method returns + <code>true</code> and adds the event to an internal buffer when the + returned result is <code>false</code>. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>version 1.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html#isTriggeringEvent(org.apache.log4j.spi.LoggingEvent)">isTriggeringEvent</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is this the triggering event?</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="isTriggeringEvent(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +isTriggeringEvent</H3> +<PRE> +boolean <B>isTriggeringEvent</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Is this the triggering event? +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TriggeringEventEvaluator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/TriggeringEventEvaluator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TriggeringEventEvaluator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/AppenderAttachable.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/AppenderAttachable.html new file mode 100644 index 00000000000..302727f6809 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/AppenderAttachable.html @@ -0,0 +1,274 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.AppenderAttachable (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.AppenderAttachable (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useAppenderAttachable.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderAttachable.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.AppenderAttachable</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that implement <A HREF="../../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The AsyncAppender lets users log events asynchronously.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#AA2222"><b>This class has been deprecated and + replaced by the <A HREF="../../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> <em>subclass</em></b></font>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the central class in the log4j package.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> that implement <A HREF="../../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers">AppenderAttachableImpl</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A straightforward implementation of the <A HREF="../../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><CODE>AppenderAttachable</CODE></A> + interface.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that implement <A HREF="../../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-operation implementation of Logger used by NOPLoggerRepository.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Replaced by <A HREF="../../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><CODE>RootLogger</CODE></A>.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RootLogger sits at the top of the logger hierachy.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useAppenderAttachable.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AppenderAttachable.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/Configurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/Configurator.html new file mode 100644 index 00000000000..38e6551c98b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/Configurator.html @@ -0,0 +1,269 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.Configurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.Configurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Configurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.Configurator</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that implement <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j">PropertyConfigurator</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allows the configuration of log4j from an external file.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> that implement <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5">DefaultLF5Configurator</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>DefaultLF5Configurator</code> provides a default + configuration for the <code>LF5Appender</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A> in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> that implement <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia">ReloadingPropertyConfigurator</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A> in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> that implement <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use this class to initialize the log4j environment using a DOM tree.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Configurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/DefaultRepositorySelector.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/DefaultRepositorySelector.html new file mode 100644 index 00000000000..e7fe089d3b6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/DefaultRepositorySelector.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.spi.DefaultRepositorySelector (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.spi.DefaultRepositorySelector (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useDefaultRepositorySelector.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultRepositorySelector.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.spi.DefaultRepositorySelector</B></H2> +</CENTER> +No usage of org.apache.log4j.spi.DefaultRepositorySelector +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useDefaultRepositorySelector.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DefaultRepositorySelector.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ErrorCode.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ErrorCode.html new file mode 100644 index 00000000000..2a856658561 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ErrorCode.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.ErrorCode (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.ErrorCode (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useErrorCode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ErrorCode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.ErrorCode</B></H2> +</CENTER> +No usage of org.apache.log4j.spi.ErrorCode +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useErrorCode.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ErrorCode.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ErrorHandler.html new file mode 100644 index 00000000000..ca0c3d5c44a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ErrorHandler.html @@ -0,0 +1,362 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.ErrorHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.ErrorHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.ErrorHandler</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> declared as <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It is assumed and enforced that errorHandler is never null.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></FONT></TD> +<TD><CODE><B>Appender.</B><B><A HREF="../../../../../org/apache/log4j/Appender.html#getErrorHandler()">getErrorHandler</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the currently set <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this + Appender.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Appender.</B><B><A HREF="../../../../../org/apache/log4j/Appender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></B>(<A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;errorHandler)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></B>(<A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this Appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>WriterAppender.</B><B><A HREF="../../../../../org/apache/log4j/WriterAppender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></B>(<A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> for this WriterAppender and also the + underlying <A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><CODE>QuietWriter</CODE></A> if any.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> that implement <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>OnlyOnceErrorHandler</code> implements log4j's default + error handling policy which consists of emitting a message for the + first error in an appender and ignoring all following errors.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> declared as <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></FONT></TD> +<TD><CODE><B>QuietWriter.</B><B><A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html#errorHandler">errorHandler</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>QuietWriter.</B><B><A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A></B>(<A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/CountingQuietWriter.html#CountingQuietWriter(java.io.Writer, org.apache.log4j.spi.ErrorHandler)">CountingQuietWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer, + <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/QuietWriter.html#QuietWriter(java.io.Writer, org.apache.log4j.spi.ErrorHandler)">QuietWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer, + <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;errorHandler)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/SyslogQuietWriter.html#SyslogQuietWriter(java.io.Writer, int, org.apache.log4j.spi.ErrorHandler)">SyslogQuietWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer, + int&nbsp;syslogFacility, + <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>&nbsp;eh)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A> in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> that implement <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>FallbackErrorHandler</code> implements the ErrorHandler + interface such that a secondary appender may be specified.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/Filter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/Filter.html new file mode 100644 index 00000000000..19954d39306 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/Filter.html @@ -0,0 +1,362 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.spi.Filter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.spi.Filter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.spi.Filter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> declared as <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The first filter in the filter chain.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The last filter in the filter chain.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B>Appender.</B><B><A HREF="../../../../../org/apache/log4j/Appender.html#getFilter()">getFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the head Filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the head Filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the first filter in the filter chain for this + Appender.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Appender.</B><B><A HREF="../../../../../org/apache/log4j/Appender.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A></B>(<A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;newFilter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a filter to the end of the filter list.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A></B>(<A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;newFilter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a filter to end of the filter list.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> declared as <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B>Filter.</B><B><A HREF="../../../../../org/apache/log4j/spi/Filter.html#next">next</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of 1.2.12, use <A HREF="../../../../../org/apache/log4j/spi/Filter.html#getNext()"><CODE>getNext()</CODE></A> and <A HREF="../../../../../org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)"><CODE>setNext(org.apache.log4j.spi.Filter)</CODE></A> instead</I></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></FONT></TD> +<TD><CODE><B>Filter.</B><B><A HREF="../../../../../org/apache/log4j/spi/Filter.html#getNext()">getNext</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the pointer to the next filter;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Filter.</B><B><A HREF="../../../../../org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)">setNext</A></B>(<A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A>&nbsp;next)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the next filter pointer.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A> in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia">DenyAllFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter drops all logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a very simple filter based on level matching.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a very simple filter based on level matching, which can be + used to reject messages with priorities outside a certain range.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a very simple filter based on string matching.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/HierarchyEventListener.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/HierarchyEventListener.html new file mode 100644 index 00000000000..9914e168d2b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/HierarchyEventListener.html @@ -0,0 +1,248 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.HierarchyEventListener (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.HierarchyEventListener (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useHierarchyEventListener.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HierarchyEventListener.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.HierarchyEventListener</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jmx"><B>org.apache.log4j.jmx</B></A></TD> +<TD>This package lets you manage log4j settings using JMX.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../../org/apache/log4j/Hierarchy.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)">addHierarchyEventListener</A></B>(<A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>&nbsp;listener)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jmx"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A> in <A HREF="../../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A> that implement <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx">HierarchyDynamicMBean</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../../org/apache/log4j/spi/NOPLoggerRepository.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)">addHierarchyEventListener</A></B>(<A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>&nbsp;listener)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><CODE>HierarchyEventListener</CODE></A> event to the repository.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html#addHierarchyEventListener(org.apache.log4j.spi.HierarchyEventListener)">addHierarchyEventListener</A></B>(<A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>&nbsp;listener)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><CODE>HierarchyEventListener</CODE></A> event to the repository.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useHierarchyEventListener.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="HierarchyEventListener.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LocationInfo.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LocationInfo.html new file mode 100644 index 00000000000..e3b74bfb18b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LocationInfo.html @@ -0,0 +1,273 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.spi.LocationInfo (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.spi.LocationInfo (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useLocationInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LocationInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.spi.LocationInfo</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></CODE></FONT></TD> +<TD><CODE><B>LogEvent.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LogEvent.html#getLocationInformation()">getLocationInformation</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the location information for this logging event.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Logger, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> declared as <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></CODE></FONT></TD> +<TD><CODE><B>LocationInfo.</B><B><A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html#NA_LOCATION_INFO">NA_LOCATION_INFO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NA_LOCATION_INFO is provided for compatibility with log4j 1.3.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></CODE></FONT></TD> +<TD><CODE><B>LoggingEvent.</B><B><A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html#getLocationInformation()">getLocationInformation</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the location information for this logging event.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useLocationInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LocationInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggerFactory.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggerFactory.html new file mode 100644 index 00000000000..258b271c785 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggerFactory.html @@ -0,0 +1,288 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.LoggerFactory (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.LoggerFactory (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useLoggerFactory.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerFactory.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.LoggerFactory</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> declared as <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A></CODE></FONT></TD> +<TD><CODE><B>PropertyConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/PropertyConfigurator.html#loggerFactory">loggerFactory</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../../org/apache/log4j/Hierarchy.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new logger instance named as the first parameter using + <code>factory</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>Logger.</B><B><A HREF="../../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Like <A HREF="../../../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>Logger.getLogger(String)</CODE></A> except that the type of logger + instantiated depends on the type returned by the <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html#makeNewLoggerInstance(java.lang.String)"><CODE>makeNewLoggerInstance(java.lang.String)</CODE></A> method of the + <code>factory</code> parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LogManager.</B><B><A HREF="../../../../../org/apache/log4j/LogManager.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the appropriate <A HREF="../../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><CODE>Logger</CODE></A> instance.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>NOPLoggerRepository.</B><B><A HREF="../../../../../org/apache/log4j/spi/NOPLoggerRepository.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD> +<TD><CODE><B>LoggerRepository.</B><B><A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name, + <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A> in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> declared as <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A></CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html#catFactory">catFactory</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useLoggerFactory.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerFactory.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggerRepository.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggerRepository.html new file mode 100644 index 00000000000..985d480aa7b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggerRepository.html @@ -0,0 +1,568 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.LoggerRepository (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.LoggerRepository (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useLoggerRepository.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerRepository.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.LoggerRepository</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that implement <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class is specialized in retrieving loggers by name and also + maintaining the logger hierarchy.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> declared as <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../../org/apache/log4j/Category.html#repository">repository</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../../org/apache/log4j/Category.html#getDefaultHierarchy()">getDefaultHierarchy</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../../../org/apache/log4j/LogManager.html#getLoggerRepository()"><CODE>LogManager.getLoggerRepository()</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../../org/apache/log4j/Category.html#getHierarchy()">getHierarchy</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Please use <A HREF="../../../../../org/apache/log4j/Category.html#getLoggerRepository()"><CODE>Category.getLoggerRepository()</CODE></A> instead.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../../org/apache/log4j/Category.html#getLoggerRepository()">getLoggerRepository</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the the <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> where this + <code>Category</code> is attached.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B>LogManager.</B><B><A HREF="../../../../../org/apache/log4j/LogManager.html#getLoggerRepository()">getLoggerRepository</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PropertyConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/PropertyConfigurator.html#doConfigure(java.util.Properties, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read configuration options from <code>properties</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PropertyConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/PropertyConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFileName, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read configuration from a file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PropertyConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/PropertyConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;configURL, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read configuration options from url <code>configURL</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PropertyConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/PropertyConfigurator.html#parseCatsAndRenderers(java.util.Properties, org.apache.log4j.spi.LoggerRepository)">parseCatsAndRenderers</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parse non-root elements, such non-root categories and renderers.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>OptionConverter.</B><B><A HREF="../../../../../org/apache/log4j/helpers/OptionConverter.html#selectAndConfigure(java.net.URL, java.lang.String, org.apache.log4j.spi.LoggerRepository)">selectAndConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;clazz, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure log4j given a URL.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DefaultLF5Configurator.</B><B><A HREF="../../../../../org/apache/log4j/lf5/DefaultLF5Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;configURL, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a dummy method that will throw an + <code>IllegalStateException</code> if used.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/net/SocketNode.html#SocketNode(java.net.Socket, org.apache.log4j.spi.LoggerRepository)">SocketNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</A>&nbsp;socket, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;hierarchy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that implement <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-operation implementation of LoggerRepository which is used when + LogManager.repositorySelector is erroneously nulled during class reloading.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B>RepositorySelector.</B><B><A HREF="../../../../../org/apache/log4j/spi/RepositorySelector.html#getLoggerRepository()">getLoggerRepository</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> depending on the + context.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></CODE></FONT></TD> +<TD><CODE><B>DefaultRepositorySelector.</B><B><A HREF="../../../../../org/apache/log4j/spi/DefaultRepositorySelector.html#getLoggerRepository()">getLoggerRepository</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Configurator.</B><B><A HREF="../../../../../org/apache/log4j/spi/Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interpret a resource pointed by a URL and set up log4j accordingly.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/DefaultRepositorySelector.html#DefaultRepositorySelector(org.apache.log4j.spi.LoggerRepository)">DefaultRepositorySelector</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>ReloadingPropertyConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A> in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(org.w3c.dom.Element, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure by taking in an DOM element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(org.xml.sax.InputSource, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(org.xml.sax.InputSource&nbsp;inputSource, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure log4j by reading in a log4j.dtd compliant XML + configuration file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.io.InputStream, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;inputStream, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure log4j by reading in a log4j.dtd compliant XML + configuration file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.io.Reader, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;reader, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure log4j by reading in a log4j.dtd compliant XML + configuration file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useLoggerRepository.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerRepository.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggingEvent.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggingEvent.html new file mode 100644 index 00000000000..d6e903107f9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/LoggingEvent.html @@ -0,0 +1,976 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.spi.LoggingEvent (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.spi.LoggingEvent (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useLoggingEvent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggingEvent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.spi.LoggingEvent</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jdbc"><B>org.apache.log4j.jdbc</B></A></TD> +<TD>The JDBCAppender provides for sending log events to a database.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.nt"><B>org.apache.log4j.nt</B></A></TD> +<TD>Package for NT event logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AsyncAppender.</B><B><A HREF="../../../../../org/apache/log4j/AsyncAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected abstract &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>WriterAppender.</B><B><A HREF="../../../../../org/apache/log4j/WriterAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called by the <A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> + method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Category.</B><B><A HREF="../../../../../org/apache/log4j/Category.html#callAppenders(org.apache.log4j.spi.LoggingEvent)">callAppenders</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call the appenders in the hierrachy starting at + <code>this</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Appender.</B><B><A HREF="../../../../../org/apache/log4j/Appender.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log in <code>Appender</code> specific way.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>AppenderSkeleton.</B><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method performs threshold checks and invokes filters before + delegating actual logging to the subclasses specific <A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.append(org.apache.log4j.spi.LoggingEvent)</CODE></A> method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>SimpleLayout.</B><B><A HREF="../../../../../org/apache/log4j/SimpleLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the log statement in a format consisting of the + <code>level</code>, followed by " - " and then the + <code>message</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>abstract &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>Layout.</B><B><A HREF="../../../../../org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this method to create your own layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>HTMLLayout.</B><B><A HREF="../../../../../org/apache/log4j/HTMLLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>PatternLayout.</B><B><A HREF="../../../../../org/apache/log4j/PatternLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produces a formatted string as specified by the conversion pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>TTCCLayout.</B><B><A HREF="../../../../../org/apache/log4j/TTCCLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In addition to the level of the statement and message, the + returned byte array includes time, thread, category and <A HREF="../../../../../org/apache/log4j/NDC.html" title="class in org.apache.log4j"><CODE>NDC</CODE></A> + information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>EnhancedPatternLayout.</B><B><A HREF="../../../../../org/apache/log4j/EnhancedPatternLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a logging event to a writer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>WriterAppender.</B><B><A HREF="../../../../../org/apache/log4j/WriterAppender.html#shouldFlush(org.apache.log4j.spi.LoggingEvent)">shouldFlush</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines whether the writer should be flushed after + this event is written.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>RollingFileAppender.</B><B><A HREF="../../../../../org/apache/log4j/RollingFileAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method differentiates RollingFileAppender from its super + class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DailyRollingFileAppender.</B><B><A HREF="../../../../../org/apache/log4j/DailyRollingFileAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method differentiates DailyRollingFileAppender from its + super class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>WriterAppender.</B><B><A HREF="../../../../../org/apache/log4j/WriterAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Actual writing occurs here.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> that return <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></CODE></FONT></TD> +<TD><CODE><B>BoundedFIFO.</B><B><A HREF="../../../../../org/apache/log4j/helpers/BoundedFIFO.html#get()">get</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the first element in the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></CODE></FONT></TD> +<TD><CODE><B>CyclicBuffer.</B><B><A HREF="../../../../../org/apache/log4j/helpers/CyclicBuffer.html#get()">get</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the oldest (first) element in the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></CODE></FONT></TD> +<TD><CODE><B>CyclicBuffer.</B><B><A HREF="../../../../../org/apache/log4j/helpers/CyclicBuffer.html#get(int)">get</A></B>(int&nbsp;i)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the <i>i</i>th oldest event currently in the buffer.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CyclicBuffer.</B><B><A HREF="../../../../../org/apache/log4j/helpers/CyclicBuffer.html#add(org.apache.log4j.spi.LoggingEvent)">add</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add an <code>event</code> as the last event in the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B>AppenderAttachableImpl.</B><B><A HREF="../../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html#appendLoopOnAppenders(org.apache.log4j.spi.LoggingEvent)">appendLoopOnAppenders</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call the <code>doAppend</code> method on all attached appenders.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected abstract &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>PatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html#convert(org.apache.log4j.spi.LoggingEvent)">convert</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DateLayout.</B><B><A HREF="../../../../../org/apache/log4j/helpers/DateLayout.html#dateFormat(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)">dateFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;buf, + <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>OnlyOnceErrorHandler.</B><B><A HREF="../../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode, + <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prints the message and the stack trace of the exception on + <code>System.err</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/helpers/PatternConverter.html#format(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A template method for formatting in a converter specific way.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD> +<TD><CODE><B>MDCKeySetExtractor.</B><B><A HREF="../../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html#getPropertyKeySet(org.apache.log4j.spi.LoggingEvent)">getPropertyKeySet</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>BoundedFIFO.</B><B><A HREF="../../../../../org/apache/log4j/helpers/BoundedFIFO.html#put(org.apache.log4j.spi.LoggingEvent)">put</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;o)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Place a <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> in the buffer.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jdbc"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> in <A HREF="../../../../../org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>JDBCAppender.</B><B><A HREF="../../../../../org/apache/log4j/jdbc/JDBCAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the event to the buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>JDBCAppender.</B><B><A HREF="../../../../../org/apache/log4j/jdbc/JDBCAppender.html#getLogStatement(org.apache.log4j.spi.LoggingEvent)">getLogStatement</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;By default getLogStatement sends the event to the required Layout object.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LF5Appender.</B><B><A HREF="../../../../../org/apache/log4j/lf5/LF5Appender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appends a <code>LoggingEvent</code> record to the + <code>LF5Appender</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>JMSAppender.</B><B><A HREF="../../../../../org/apache/log4j/net/JMSAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method called by <A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> method to + do most of the real appending work.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>SyslogAppender.</B><B><A HREF="../../../../../org/apache/log4j/net/SyslogAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>SocketAppender.</B><B><A HREF="../../../../../org/apache/log4j/net/SocketAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>TelnetAppender.</B><B><A HREF="../../../../../org/apache/log4j/net/TelnetAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handles a log event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>SocketHubAppender.</B><B><A HREF="../../../../../org/apache/log4j/net/SocketHubAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Append an event to all of current connections.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>SMTPAppender.</B><B><A HREF="../../../../../org/apache/log4j/net/SMTPAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform SMTPAppender specific appending actions, mainly adding + the event to a cyclic buffer and checking if the event triggers + an e-mail to be sent.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.nt"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> in <A HREF="../../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NTEventLogAppender.</B><B><A HREF="../../../../../org/apache/log4j/nt/NTEventLogAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>BridgePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/BridgePatternConverter.html#convert(org.apache.log4j.spi.LoggingEvent)">convert</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>MethodLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NDCPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LoggerPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>PropertiesPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>FileLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LineSeparatorPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>SequenceNumberPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LevelPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>ThreadPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>MessagePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>FullLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>DatePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>RelativeTimePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>ClassNamePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Format a logging event.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>abstract &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LoggingEventPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>ThrowableInformationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LiteralPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LiteralPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LineLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;output)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an event into a string buffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>BridgePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/BridgePatternConverter.html#format(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A>&nbsp;sbuf, + <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;e)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Format event to string buffer.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NOPLogger.</B><B><A HREF="../../../../../org/apache/log4j/spi/NOPLogger.html#callAppenders(org.apache.log4j.spi.LoggingEvent)">callAppenders</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call the appenders in the hierrachy starting at + <code>this</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>abstract &nbsp;int</CODE></FONT></TD> +<TD><CODE><B>Filter.</B><B><A HREF="../../../../../org/apache/log4j/spi/Filter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the decision is <code>DENY</code>, then the event will be + dropped.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>ErrorHandler.</B><B><A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode, + <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is invoked to handle the error.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B>TriggeringEventEvaluator.</B><B><A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html#isTriggeringEvent(org.apache.log4j.spi.LoggingEvent)">isTriggeringEvent</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is this the triggering event?</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NullAppender.</B><B><A HREF="../../../../../org/apache/log4j/varia/NullAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B>LevelMatchFilter.</B><B><A HREF="../../../../../org/apache/log4j/varia/LevelMatchFilter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the decision of this filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B>StringMatchFilter.</B><B><A HREF="../../../../../org/apache/log4j/varia/StringMatchFilter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <A HREF="../../../../../org/apache/log4j/spi/Filter.html#NEUTRAL"><CODE>Filter.NEUTRAL</CODE></A> is there is no string match.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B>LevelRangeFilter.</B><B><A HREF="../../../../../org/apache/log4j/varia/LevelRangeFilter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the decision of this filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B>DenyAllFilter.</B><B><A HREF="../../../../../org/apache/log4j/varia/DenyAllFilter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Always returns the integer constant <A HREF="../../../../../org/apache/log4j/spi/Filter.html#DENY"><CODE>Filter.DENY</CODE></A> + regardless of the <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>NullAppender.</B><B><A HREF="../../../../../org/apache/log4j/varia/NullAppender.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>FallbackErrorHandler.</B><B><A HREF="../../../../../org/apache/log4j/varia/FallbackErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode, + <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prints the message and the stack trace of the exception on + <code>System.err</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A> in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B>XMLLayout.</B><B><A HREF="../../../../../org/apache/log4j/xml/XMLLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> in conformance with the log4j.dtd.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useLoggingEvent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggingEvent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/NOPLogger.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/NOPLogger.html new file mode 100644 index 00000000000..52590bb535b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/NOPLogger.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.spi.NOPLogger (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.spi.NOPLogger (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useNOPLogger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NOPLogger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.spi.NOPLogger</B></H2> +</CENTER> +No usage of org.apache.log4j.spi.NOPLogger +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useNOPLogger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NOPLogger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/NOPLoggerRepository.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/NOPLoggerRepository.html new file mode 100644 index 00000000000..95dca747e05 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/NOPLoggerRepository.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.spi.NOPLoggerRepository (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.spi.NOPLoggerRepository (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useNOPLoggerRepository.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NOPLoggerRepository.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.spi.NOPLoggerRepository</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/NOPLogger.html#NOPLogger(org.apache.log4j.spi.NOPLoggerRepository, java.lang.String)">NOPLogger</A></B>(<A HREF="../../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A>&nbsp;repo, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create instance of Logger.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useNOPLoggerRepository.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NOPLoggerRepository.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/OptionHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/OptionHandler.html new file mode 100644 index 00000000000..f460f18adbf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/OptionHandler.html @@ -0,0 +1,646 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.OptionHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.OptionHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useOptionHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OptionHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.OptionHandler</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jdbc"><B>org.apache.log4j.jdbc</B></A></TD> +<TD>The JDBCAppender provides for sending log events to a database.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.nt"><B>org.apache.log4j.nt</B></A></TD> +<TD>Package for NT event logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that implement <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abstract superclass of the other appenders in the package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j">AsyncAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The AsyncAppender lets users log events asynchronously.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j">ConsoleAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConsoleAppender appends log events to <code>System.out</code> or + <code>System.err</code> using a layout specified by the user.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j">DailyRollingFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DailyRollingFileAppender extends <A HREF="../../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><CODE>FileAppender</CODE></A> so that the + underlying file is rolled over at a user chosen frequency.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class is an enhanced version of org.apache.log4j.PatternLayout + which was originally developed as part of the abandoned log4j 1.3 + effort and has been available in the extras companion.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileAppender appends log events to a file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j">HTMLLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This layout outputs events in a HTML table.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extend this abstract class to create your own log layout format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j">PatternLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A flexible layout configurable with pattern string.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RollingFileAppender extends FileAppender to backup the log files when + they reach a certain size.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j">SimpleLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleLayout consists of the level of the log statement, + followed by " - " and then the log message itself.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j">TTCCLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TTCC layout format consists of time, thread, category and nested + diagnostic context information, hence the name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WriterAppender appends log events to a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A> or an + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><CODE>OutputStream</CODE></A> depending on the user's choice.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> that implement <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers">DateLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This abstract layout takes care of all the date related options and + formatting work.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers">OnlyOnceErrorHandler</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>OnlyOnceErrorHandler</code> implements log4j's default + error handling policy which consists of emitting a message for the + first error in an appender and ignoring all following errors.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jdbc"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> in <A HREF="../../../../../org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A> that implement <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc">JDBCAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The JDBCAppender provides for sending log events to a database.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> that implement <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5">LF5Appender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>LF5Appender</code> logs events to a swing based logging + console.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> that implement <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net">JMSAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A simple appender that publishes events to a JMS Topic.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send an e-mail when a specific logging event occurs, typically on + errors or fatal errors.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net">SocketAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a remote a log server, + usually a <A HREF="../../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNode</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net">SocketHubAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends <A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> objects to a set of remote log servers, + usually a <A HREF="../../../../../org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><CODE>SocketNodes</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net">SyslogAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use SyslogAppender to send log messages to a remote syslog daemon.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net">TelnetAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The TelnetAppender is a log4j appender that specializes in + writing to a read-only socket.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.nt"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> in <A HREF="../../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A> that implement <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt">NTEventLogAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Append to the NT event log system.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subinterfaces of <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;interface</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appenders may delegate their error handling to + <code>ErrorHandlers</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that implement <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Users should extend this class to implement customized logging + event filtering.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> that implement <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia">DenyAllFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter drops all logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This appender listens on a socket on the port specified by the + <b>Port</b> property for a "RollOver" message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>FallbackErrorHandler</code> implements the ErrorHandler + interface such that a secondary appender may be specified.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a very simple filter based on level matching.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a very simple filter based on level matching, which can be + used to reject messages with priorities outside a certain range.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A NullAppender merely exists, it never outputs a message to any + device.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a very simple filter based on string matching.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A> in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> that implement <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The output of the XMLLayout consists of a series of log4j:event + elements as defined in the <a + href="../../../../../org/apache/log4j/xml/log4j.dtd">log4j.dtd</a>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useOptionHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OptionHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RendererSupport.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RendererSupport.html new file mode 100644 index 00000000000..4f78c843422 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RendererSupport.html @@ -0,0 +1,214 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.RendererSupport (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.RendererSupport (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useRendererSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RendererSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.RendererSupport</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.or"><B>org.apache.log4j.or</B></A></TD> +<TD>ObjectRenders are resposible for rendering messages depending on +their class type.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that implement <A HREF="../../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class is specialized in retrieving loggers by name and also + maintaining the logger hierarchy.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.or"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A> in <A HREF="../../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>RendererMap.</B><B><A HREF="../../../../../org/apache/log4j/or/RendererMap.html#addRenderer(org.apache.log4j.spi.RendererSupport, java.lang.String, java.lang.String)">addRenderer</A></B>(<A HREF="../../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A>&nbsp;repository, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;renderedClassName, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;renderingClassName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a renderer to a hierarchy passed as parameter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useRendererSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RendererSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RepositorySelector.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RepositorySelector.html new file mode 100644 index 00000000000..4785b26215e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RepositorySelector.html @@ -0,0 +1,213 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.RepositorySelector (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.RepositorySelector (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useRepositorySelector.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RepositorySelector.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.RepositorySelector</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>LogManager.</B><B><A HREF="../../../../../org/apache/log4j/LogManager.html#setRepositorySelector(org.apache.log4j.spi.RepositorySelector, java.lang.Object)">setRepositorySelector</A></B>(<A HREF="../../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A>&nbsp;selector, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;guard)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets <code>LoggerFactory</code> but only if the correct + <em>guard</em> is passed as parameter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that implement <A HREF="../../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi">DefaultRepositorySelector</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useRepositorySelector.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RepositorySelector.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RootCategory.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RootCategory.html new file mode 100644 index 00000000000..28459d4a672 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RootCategory.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.spi.RootCategory (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.spi.RootCategory (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useRootCategory.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RootCategory.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.spi.RootCategory</B></H2> +</CENTER> +No usage of org.apache.log4j.spi.RootCategory +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useRootCategory.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RootCategory.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RootLogger.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RootLogger.html new file mode 100644 index 00000000000..d2566344202 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/RootLogger.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.spi.RootLogger (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.spi.RootLogger (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useRootLogger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RootLogger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.spi.RootLogger</B></H2> +</CENTER> +No usage of org.apache.log4j.spi.RootLogger +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useRootLogger.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RootLogger.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableInformation.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableInformation.html new file mode 100644 index 00000000000..d694c028ef9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableInformation.html @@ -0,0 +1,288 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.spi.ThrowableInformation (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.spi.ThrowableInformation (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useThrowableInformation.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableInformation.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.spi.ThrowableInformation</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Log4JLogRecord.</B><B><A HREF="../../../../../org/apache/log4j/lf5/Log4JLogRecord.html#setThrownStackTrace(org.apache.log4j.spi.ThrowableInformation)">setThrownStackTrace</A></B>(<A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwableInfo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set stack trace information associated with this Log4JLogRecord.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></CODE></FONT></TD> +<TD><CODE><B>LogEvent.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LogEvent.html#getThrowableInformation()">getThrowableInformation</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the throwable information contained within this + event.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LogEvent.html#LogEvent(java.lang.String, org.apache.log4j.Logger, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)">LogEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></CODE></FONT></TD> +<TD><CODE><B>LoggingEvent.</B><B><A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html#getThrowableInformation()">getThrowableInformation</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the throwable information contained within this + event.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/spi/LoggingEvent.html#LoggingEvent(java.lang.String, org.apache.log4j.Category, long, org.apache.log4j.Level, java.lang.Object, java.lang.String, org.apache.log4j.spi.ThrowableInformation, java.lang.String, org.apache.log4j.spi.LocationInfo, java.util.Map)">LoggingEvent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;fqnOfCategoryClass, + <A HREF="../../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A>&nbsp;logger, + long&nbsp;timeStamp, + <A HREF="../../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;level, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;threadName, + <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A>&nbsp;throwable, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;ndc, + <A HREF="../../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A>&nbsp;info, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&nbsp;properties)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useThrowableInformation.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableInformation.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableRenderer.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableRenderer.html new file mode 100644 index 00000000000..326071cb35d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableRenderer.html @@ -0,0 +1,297 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.ThrowableRenderer (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.ThrowableRenderer (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.ThrowableRenderer</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that implement <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j">DefaultThrowableRenderer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default implementation of ThrowableRenderer using + Throwable.printStackTrace.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j">EnhancedThrowableRenderer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enhanced implementation of ThrowableRenderer.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that return <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../../org/apache/log4j/Hierarchy.html#getThrowableRenderer()">getThrowableRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get throwable renderer.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Hierarchy.</B><B><A HREF="../../../../../org/apache/log4j/Hierarchy.html#setThrowableRenderer(org.apache.log4j.spi.ThrowableRenderer)">setThrowableRenderer</A></B>(<A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A>&nbsp;renderer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set throwable renderer.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A> in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> that return <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></CODE></FONT></TD> +<TD><CODE><B>ThrowableRendererSupport.</B><B><A HREF="../../../../../org/apache/log4j/spi/ThrowableRendererSupport.html#getThrowableRenderer()">getThrowableRenderer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get throwable renderer.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>ThrowableRendererSupport.</B><B><A HREF="../../../../../org/apache/log4j/spi/ThrowableRendererSupport.html#setThrowableRenderer(org.apache.log4j.spi.ThrowableRenderer)">setThrowableRenderer</A></B>(<A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A>&nbsp;renderer)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set throwable renderer.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A> in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> that return <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></CODE></FONT></TD> +<TD><CODE><B>DOMConfigurator.</B><B><A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html#parseThrowableRenderer(org.w3c.dom.Element)">parseThrowableRenderer</A></B>(org.w3c.dom.Element&nbsp;element)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parses throwable renderer.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useThrowableRenderer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableRenderer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableRendererSupport.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableRendererSupport.html new file mode 100644 index 00000000000..5c7a162daf6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/ThrowableRendererSupport.html @@ -0,0 +1,182 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.ThrowableRendererSupport (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.ThrowableRendererSupport (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useThrowableRendererSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableRendererSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.ThrowableRendererSupport</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A> in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> that implement <A HREF="../../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j">Hierarchy</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class is specialized in retrieving loggers by name and also + maintaining the logger hierarchy.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useThrowableRendererSupport.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableRendererSupport.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/TriggeringEventEvaluator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/TriggeringEventEvaluator.html new file mode 100644 index 00000000000..3f9b5af1d7b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/class-use/TriggeringEventEvaluator.html @@ -0,0 +1,227 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.spi.TriggeringEventEvaluator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.spi.TriggeringEventEvaluator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useTriggeringEventEvaluator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TriggeringEventEvaluator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.spi.TriggeringEventEvaluator</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A> in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> declared as <A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A></CODE></FONT></TD> +<TD><CODE><B>SMTPAppender.</B><B><A HREF="../../../../../org/apache/log4j/net/SMTPAppender.html#evaluator">evaluator</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> that return <A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A></CODE></FONT></TD> +<TD><CODE><B>SMTPAppender.</B><B><A HREF="../../../../../org/apache/log4j/net/SMTPAppender.html#getEvaluator()">getEvaluator</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get triggering evaluator.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>SMTPAppender.</B><B><A HREF="../../../../../org/apache/log4j/net/SMTPAppender.html#setEvaluator(org.apache.log4j.spi.TriggeringEventEvaluator)">setEvaluator</A></B>(<A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A>&nbsp;trigger)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets triggering evaluator.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> with parameters of type <A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/net/SMTPAppender.html#SMTPAppender(org.apache.log4j.spi.TriggeringEventEvaluator)">SMTPAppender</A></B>(<A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A>&nbsp;evaluator)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use <code>evaluator</code> passed as parameter as the <A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><CODE>TriggeringEventEvaluator</CODE></A> for this SMTPAppender.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/spi//class-useTriggeringEventEvaluator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TriggeringEventEvaluator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-frame.html new file mode 100644 index 00000000000..816677ec05e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-frame.html @@ -0,0 +1,84 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.spi (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/spi/package-summary.html" target="classFrame">org.apache.log4j.spi</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Interfaces</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="AppenderAttachable.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>AppenderAttachable</I></A> +<BR> +<A HREF="Configurator.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>Configurator</I></A> +<BR> +<A HREF="ErrorCode.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>ErrorCode</I></A> +<BR> +<A HREF="ErrorHandler.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>ErrorHandler</I></A> +<BR> +<A HREF="HierarchyEventListener.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>HierarchyEventListener</I></A> +<BR> +<A HREF="LoggerFactory.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>LoggerFactory</I></A> +<BR> +<A HREF="LoggerRepository.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>LoggerRepository</I></A> +<BR> +<A HREF="OptionHandler.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>OptionHandler</I></A> +<BR> +<A HREF="RendererSupport.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>RendererSupport</I></A> +<BR> +<A HREF="RepositorySelector.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>RepositorySelector</I></A> +<BR> +<A HREF="ThrowableRenderer.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>ThrowableRenderer</I></A> +<BR> +<A HREF="ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>ThrowableRendererSupport</I></A> +<BR> +<A HREF="TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi" target="classFrame"><I>TriggeringEventEvaluator</I></A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="DefaultRepositorySelector.html" title="class in org.apache.log4j.spi" target="classFrame">DefaultRepositorySelector</A> +<BR> +<A HREF="Filter.html" title="class in org.apache.log4j.spi" target="classFrame">Filter</A> +<BR> +<A HREF="LocationInfo.html" title="class in org.apache.log4j.spi" target="classFrame">LocationInfo</A> +<BR> +<A HREF="LoggingEvent.html" title="class in org.apache.log4j.spi" target="classFrame">LoggingEvent</A> +<BR> +<A HREF="NOPLogger.html" title="class in org.apache.log4j.spi" target="classFrame">NOPLogger</A> +<BR> +<A HREF="NOPLoggerRepository.html" title="class in org.apache.log4j.spi" target="classFrame">NOPLoggerRepository</A> +<BR> +<A HREF="RootCategory.html" title="class in org.apache.log4j.spi" target="classFrame">RootCategory</A> +<BR> +<A HREF="RootLogger.html" title="class in org.apache.log4j.spi" target="classFrame">RootLogger</A> +<BR> +<A HREF="ThrowableInformation.html" title="class in org.apache.log4j.spi" target="classFrame">ThrowableInformation</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-summary.html new file mode 100644 index 00000000000..ebcc91e0dde --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-summary.html @@ -0,0 +1,281 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.spi (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.spi (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.spi +</H2> +Contains part of the System Programming Interface (SPI) needed to +extend log4j. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Interface Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></B></TD> +<TD>Interface for attaching appenders to objects.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></B></TD> +<TD>Implemented by classes capable of configuring log4j using a URL.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi">ErrorCode</A></B></TD> +<TD>This interface defines commonly encoutered error codes.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></B></TD> +<TD>Appenders may delegate their error handling to + <code>ErrorHandlers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A></B></TD> +<TD>Listen to events occuring within a <A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><CODE>Hierarchy</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A></B></TD> +<TD>Implement this interface to create new instances of Logger or + a sub-class of Logger.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A></B></TD> +<TD>A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></B></TD> +<TD>A string based interface to configure package components.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A></B></TD> +<TD>The <code>LogManager</code> uses one (and only one) + <code>RepositorySelector</code> implementation to select the + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> for a particular application context.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></B></TD> +<TD>Implemented by classes that render instances of + java.lang.Throwable (exceptions and errors) + into a string representation.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A></B></TD> +<TD>Implemented by logger repositories that support configurable + rendering of Throwables.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi">TriggeringEventEvaluator</A></B></TD> +<TD>Implementions of this interface allow certain appenders to decide + when to perform an appender specific action.</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi">DefaultRepositorySelector</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></B></TD> +<TD>Users should extend this class to implement customized logging + event filtering.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A></B></TD> +<TD>The internal representation of caller location information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A></B></TD> +<TD>The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A></B></TD> +<TD>No-operation implementation of Logger used by NOPLoggerRepository.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi">NOPLoggerRepository</A></B></TD> +<TD>No-operation implementation of LoggerRepository which is used when + LogManager.repositorySelector is erroneously nulled during class reloading.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A></B></TD> +<TD><B>Deprecated.</B>&nbsp;<I>Replaced by <A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><CODE>RootLogger</CODE></A>.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A></B></TD> +<TD>RootLogger sits at the top of the logger hierachy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A></B></TD> +<TD>ThrowableInformation is log4j's internal representation of + throwables.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.spi Description +</H2> + +<P> +Contains part of the System Programming Interface (SPI) needed to +extend log4j. +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-tree.html new file mode 100644 index 00000000000..853f07ccf96 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-tree.html @@ -0,0 +1,172 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.spi Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.spi Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.spi +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/Category.html" title="class in org.apache.log4j"><B>Category</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j"><B>Logger</B></A><UL> +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi"><B>NOPLogger</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi"><B>RootCategory</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><B>RootLogger</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi"><B>DefaultRepositorySelector</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A>) +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><B>Filter</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi"><B>LocationInfo</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><B>LoggingEvent</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi"><B>NOPLoggerRepository</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>) +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><B>ThrowableInformation</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +</UL> +</UL> +<H2> +Interface Hierarchy +</H2> +<UL> +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><B>AppenderAttachable</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><B>Configurator</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi"><B>ErrorCode</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><B>HierarchyEventListener</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><B>LoggerFactory</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><B>LoggerRepository</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi"><B>OptionHandler</B></A><UL> +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><B>ErrorHandler</B></A></UL> +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi"><B>RendererSupport</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><B>RepositorySelector</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><B>ThrowableRenderer</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi"><B>ThrowableRendererSupport</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><B>TriggeringEventEvaluator</B></A></UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-use.html new file mode 100644 index 00000000000..55ac0f610a9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/spi/package-use.html @@ -0,0 +1,702 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.spi (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.spi (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.spi</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>The main log4j package.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>This package is used internally.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jdbc"><B>org.apache.log4j.jdbc</B></A></TD> +<TD>The JDBCAppender provides for sending log events to a database.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.jmx"><B>org.apache.log4j.jmx</B></A></TD> +<TD>This package lets you manage log4j settings using JMX.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.lf5"><B>org.apache.log4j.lf5</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.nt"><B>org.apache.log4j.nt</B></A></TD> +<TD>Package for NT event logging.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.or"><B>org.apache.log4j.or</B></A></TD> +<TD>ObjectRenders are resposible for rendering messages depending on +their class type.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.spi"><B>org.apache.log4j.spi</B></A></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>XML based components.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/AppenderAttachable.html#org.apache.log4j"><B>AppenderAttachable</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for attaching appenders to objects.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/Configurator.html#org.apache.log4j"><B>Configurator</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implemented by classes capable of configuring log4j using a URL.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/ErrorHandler.html#org.apache.log4j"><B>ErrorHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appenders may delegate their error handling to + <code>ErrorHandlers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/Filter.html#org.apache.log4j"><B>Filter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Users should extend this class to implement customized logging + event filtering.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/HierarchyEventListener.html#org.apache.log4j"><B>HierarchyEventListener</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Listen to events occuring within a <A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><CODE>Hierarchy</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggerFactory.html#org.apache.log4j"><B>LoggerFactory</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface to create new instances of Logger or + a sub-class of Logger.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggerRepository.html#org.apache.log4j"><B>LoggerRepository</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggingEvent.html#org.apache.log4j"><B>LoggingEvent</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/OptionHandler.html#org.apache.log4j"><B>OptionHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string based interface to configure package components.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/RendererSupport.html#org.apache.log4j"><B>RendererSupport</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/RepositorySelector.html#org.apache.log4j"><B>RepositorySelector</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>LogManager</code> uses one (and only one) + <code>RepositorySelector</code> implementation to select the + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> for a particular application context.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/ThrowableRenderer.html#org.apache.log4j"><B>ThrowableRenderer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implemented by classes that render instances of + java.lang.Throwable (exceptions and errors) + into a string representation.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/ThrowableRendererSupport.html#org.apache.log4j"><B>ThrowableRendererSupport</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implemented by logger repositories that support configurable + rendering of Throwables.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/AppenderAttachable.html#org.apache.log4j.helpers"><B>AppenderAttachable</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for attaching appenders to objects.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/ErrorHandler.html#org.apache.log4j.helpers"><B>ErrorHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appenders may delegate their error handling to + <code>ErrorHandlers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggerRepository.html#org.apache.log4j.helpers"><B>LoggerRepository</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggingEvent.html#org.apache.log4j.helpers"><B>LoggingEvent</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/OptionHandler.html#org.apache.log4j.helpers"><B>OptionHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string based interface to configure package components.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jdbc"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggingEvent.html#org.apache.log4j.jdbc"><B>LoggingEvent</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/OptionHandler.html#org.apache.log4j.jdbc"><B>OptionHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string based interface to configure package components.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.jmx"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/HierarchyEventListener.html#org.apache.log4j.jmx"><B>HierarchyEventListener</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Listen to events occuring within a <A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><CODE>Hierarchy</CODE></A>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.lf5"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/Configurator.html#org.apache.log4j.lf5"><B>Configurator</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implemented by classes capable of configuring log4j using a URL.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggerRepository.html#org.apache.log4j.lf5"><B>LoggerRepository</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggingEvent.html#org.apache.log4j.lf5"><B>LoggingEvent</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/OptionHandler.html#org.apache.log4j.lf5"><B>OptionHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string based interface to configure package components.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/ThrowableInformation.html#org.apache.log4j.lf5"><B>ThrowableInformation</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ThrowableInformation is log4j's internal representation of + throwables.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggerRepository.html#org.apache.log4j.net"><B>LoggerRepository</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggingEvent.html#org.apache.log4j.net"><B>LoggingEvent</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/OptionHandler.html#org.apache.log4j.net"><B>OptionHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string based interface to configure package components.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/TriggeringEventEvaluator.html#org.apache.log4j.net"><B>TriggeringEventEvaluator</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implementions of this interface allow certain appenders to decide + when to perform an appender specific action.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.nt"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggingEvent.html#org.apache.log4j.nt"><B>LoggingEvent</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/OptionHandler.html#org.apache.log4j.nt"><B>OptionHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string based interface to configure package components.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.or"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/RendererSupport.html#org.apache.log4j.or"><B>RendererSupport</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LocationInfo.html#org.apache.log4j.pattern"><B>LocationInfo</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of caller location information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggingEvent.html#org.apache.log4j.pattern"><B>LoggingEvent</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/ThrowableInformation.html#org.apache.log4j.pattern"><B>ThrowableInformation</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ThrowableInformation is log4j's internal representation of + throwables.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.spi"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/AppenderAttachable.html#org.apache.log4j.spi"><B>AppenderAttachable</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for attaching appenders to objects.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/Filter.html#org.apache.log4j.spi"><B>Filter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Users should extend this class to implement customized logging + event filtering.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/HierarchyEventListener.html#org.apache.log4j.spi"><B>HierarchyEventListener</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Listen to events occuring within a <A HREF="../../../../org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><CODE>Hierarchy</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LocationInfo.html#org.apache.log4j.spi"><B>LocationInfo</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of caller location information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggerFactory.html#org.apache.log4j.spi"><B>LoggerFactory</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface to create new instances of Logger or + a sub-class of Logger.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggerRepository.html#org.apache.log4j.spi"><B>LoggerRepository</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggingEvent.html#org.apache.log4j.spi"><B>LoggingEvent</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/NOPLoggerRepository.html#org.apache.log4j.spi"><B>NOPLoggerRepository</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-operation implementation of LoggerRepository which is used when + LogManager.repositorySelector is erroneously nulled during class reloading.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/OptionHandler.html#org.apache.log4j.spi"><B>OptionHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string based interface to configure package components.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/RepositorySelector.html#org.apache.log4j.spi"><B>RepositorySelector</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>LogManager</code> uses one (and only one) + <code>RepositorySelector</code> implementation to select the + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><CODE>LoggerRepository</CODE></A> for a particular application context.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/ThrowableInformation.html#org.apache.log4j.spi"><B>ThrowableInformation</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ThrowableInformation is log4j's internal representation of + throwables.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/ThrowableRenderer.html#org.apache.log4j.spi"><B>ThrowableRenderer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implemented by classes that render instances of + java.lang.Throwable (exceptions and errors) + into a string representation.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/Configurator.html#org.apache.log4j.varia"><B>Configurator</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implemented by classes capable of configuring log4j using a URL.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/ErrorHandler.html#org.apache.log4j.varia"><B>ErrorHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appenders may delegate their error handling to + <code>ErrorHandlers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/Filter.html#org.apache.log4j.varia"><B>Filter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Users should extend this class to implement customized logging + event filtering.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggerRepository.html#org.apache.log4j.varia"><B>LoggerRepository</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggingEvent.html#org.apache.log4j.varia"><B>LoggingEvent</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/OptionHandler.html#org.apache.log4j.varia"><B>OptionHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string based interface to configure package components.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A> used by <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/Configurator.html#org.apache.log4j.xml"><B>Configurator</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implemented by classes capable of configuring log4j using a URL.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggerFactory.html#org.apache.log4j.xml"><B>LoggerFactory</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this interface to create new instances of Logger or + a sub-class of Logger.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggerRepository.html#org.apache.log4j.xml"><B>LoggerRepository</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/LoggingEvent.html#org.apache.log4j.xml"><B>LoggingEvent</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The internal representation of logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/OptionHandler.html#org.apache.log4j.xml"><B>OptionHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string based interface to configure package components.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/spi/class-use/ThrowableRenderer.html#org.apache.log4j.xml"><B>ThrowableRenderer</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implemented by classes that render instances of + java.lang.Throwable (exceptions and errors) + into a string representation.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/spi/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/DenyAllFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/DenyAllFilter.html new file mode 100644 index 00000000000..de717b58bb5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/DenyAllFilter.html @@ -0,0 +1,359 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DenyAllFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DenyAllFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DenyAllFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/DenyAllFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DenyAllFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.spi.Filter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.varia</FONT> +<BR> +Class DenyAllFilter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">org.apache.log4j.spi.Filter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.varia.DenyAllFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>DenyAllFilter</B><DT>extends <A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></DL> +</PRE> + +<P> +This filter drops all logging events. + + <p>You can add this filter to the end of a filter chain to + switch from the default "accept all unless instructed otherwise" + filtering behaviour to a "deny all unless instructed otherwise" + behaviour. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT">ACCEPT</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY">DENY</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL">NEUTRAL</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#next">next</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/DenyAllFilter.html#DenyAllFilter()">DenyAllFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/DenyAllFilter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Always returns the integer constant <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY"><CODE>Filter.DENY</CODE></A> + regardless of the <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/DenyAllFilter.html#getOptionStrings()">getOptionStrings</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>We now use JavaBeans introspection to configure + components. Options strings are no longer needed.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/DenyAllFilter.html#setOption(java.lang.String, java.lang.String)">setOption</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#activateOptions()">activateOptions</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#getNext()">getNext</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)">setNext</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DenyAllFilter()"><!-- --></A><H3> +DenyAllFilter</H3> +<PRE> +public <B>DenyAllFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getOptionStrings()"><!-- --></A><H3> +getOptionStrings</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>getOptionStrings</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>We now use JavaBeans introspection to configure + components. Options strings are no longer needed.</I> +<P> +<DD>Returns <code>null</code> as there are no options. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setOption(java.lang.String, java.lang.String)"><!-- --></A><H3> +setOption</H3> +<PRE> +public void <B>setOption</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I> +<P> +<DD>No options to set. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="decide(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +decide</H3> +<PRE> +public int <B>decide</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Always returns the integer constant <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY"><CODE>Filter.DENY</CODE></A> + regardless of the <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> parameter. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - The LoggingEvent to filter. +<DT><B>Returns:</B><DD>Always returns <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY"><CODE>Filter.DENY</CODE></A>.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DenyAllFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/DenyAllFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DenyAllFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.spi.Filter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/ExternallyRolledFileAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/ExternallyRolledFileAppender.html new file mode 100644 index 00000000000..318a25bb4ca --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/ExternallyRolledFileAppender.html @@ -0,0 +1,471 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ExternallyRolledFileAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ExternallyRolledFileAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ExternallyRolledFileAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/ExternallyRolledFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ExternallyRolledFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.varia</FONT> +<BR> +Class ExternallyRolledFileAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">org.apache.log4j.WriterAppender</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">org.apache.log4j.FileAppender</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">org.apache.log4j.RollingFileAppender</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.varia.ExternallyRolledFileAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>ExternallyRolledFileAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></DL> +</PRE> + +<P> +This appender listens on a socket on the port specified by the + <b>Port</b> property for a "RollOver" message. When such a message + is received, the underlying log file is rolled over and an + acknowledgment message is sent back to the process initiating the + roll over. + + <p>This method of triggering roll over has the advantage of being + operating system independent, fast and reliable. + + <p>A simple application <A HREF="../../../../org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia"><CODE>Roller</CODE></A> is provided to initiate the + roll over. + + <p>Note that the initiator is not authenticated. Anyone can trigger + a rollover. In production environments, it is recommended that you + add some form of protection to prevent undesired rollovers. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>version 0.9.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html#OK">OK</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The string constant sent to acknowledge a roll over.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html#ROLL_OVER">ROLL_OVER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The string constant sent to initiate a roll over.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.RollingFileAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/RollingFileAppender.html#maxBackupIndex">maxBackupIndex</A>, <A HREF="../../../../org/apache/log4j/RollingFileAppender.html#maxFileSize">maxFileSize</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.FileAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/FileAppender.html#bufferedIO">bufferedIO</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#bufferSize">bufferSize</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#fileAppend">fileAppend</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#fileName">fileName</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.WriterAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/WriterAppender.html#encoding">encoding</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#immediateFlush">immediateFlush</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#qw">qw</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html#ExternallyRolledFileAppender()">ExternallyRolledFileAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default constructor does nothing but calls its super-class + constructor.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start listening on the port specified by a preceding call to + <A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html#setPort(int)"><CODE>setPort(int)</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html#getPort()">getPort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the <b>Port</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html#setPort(int)">setPort</A></B>(int&nbsp;port)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>Port</b> [roperty is used for setting the port for + listening to external roll over messages.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.RollingFileAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j">RollingFileAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/RollingFileAppender.html#getMaxBackupIndex()">getMaxBackupIndex</A>, <A HREF="../../../../org/apache/log4j/RollingFileAppender.html#getMaximumFileSize()">getMaximumFileSize</A>, <A HREF="../../../../org/apache/log4j/RollingFileAppender.html#rollOver()">rollOver</A>, <A HREF="../../../../org/apache/log4j/RollingFileAppender.html#setFile(java.lang.String, boolean, boolean, int)">setFile</A>, <A HREF="../../../../org/apache/log4j/RollingFileAppender.html#setMaxBackupIndex(int)">setMaxBackupIndex</A>, <A HREF="../../../../org/apache/log4j/RollingFileAppender.html#setMaxFileSize(java.lang.String)">setMaxFileSize</A>, <A HREF="../../../../org/apache/log4j/RollingFileAppender.html#setMaximumFileSize(long)">setMaximumFileSize</A>, <A HREF="../../../../org/apache/log4j/RollingFileAppender.html#setQWForFiles(java.io.Writer)">setQWForFiles</A>, <A HREF="../../../../org/apache/log4j/RollingFileAppender.html#subAppend(org.apache.log4j.spi.LoggingEvent)">subAppend</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.FileAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/FileAppender.html#closeFile()">closeFile</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#getAppend()">getAppend</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#getBufferedIO()">getBufferedIO</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#getBufferSize()">getBufferSize</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#getFile()">getFile</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#reset()">reset</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#setAppend(boolean)">setAppend</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#setBufferedIO(boolean)">setBufferedIO</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#setBufferSize(int)">setBufferSize</A>, <A HREF="../../../../org/apache/log4j/FileAppender.html#setFile(java.lang.String)">setFile</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.WriterAppender"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j">WriterAppender</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/WriterAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#checkEntryConditions()">checkEntryConditions</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#close()">close</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#closeWriter()">closeWriter</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#createWriter(java.io.OutputStream)">createWriter</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#getEncoding()">getEncoding</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#getImmediateFlush()">getImmediateFlush</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#requiresLayout()">requiresLayout</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#setEncoding(java.lang.String)">setEncoding</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#setImmediateFlush(boolean)">setImmediateFlush</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#setWriter(java.io.Writer)">setWriter</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#shouldFlush(org.apache.log4j.spi.LoggingEvent)">shouldFlush</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#writeFooter()">writeFooter</A>, <A HREF="../../../../org/apache/log4j/WriterAppender.html#writeHeader()">writeHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ROLL_OVER"><!-- --></A><H3> +ROLL_OVER</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ROLL_OVER</B></PRE> +<DL> +<DD>The string constant sent to initiate a roll over. Current value of + this string constant is <b>RollOver</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.varia.ExternallyRolledFileAppender.ROLL_OVER">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="OK"><!-- --></A><H3> +OK</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>OK</B></PRE> +<DL> +<DD>The string constant sent to acknowledge a roll over. Current value of + this string constant is <b>OK</b>. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.varia.ExternallyRolledFileAppender.OK">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ExternallyRolledFileAppender()"><!-- --></A><H3> +ExternallyRolledFileAppender</H3> +<PRE> +public <B>ExternallyRolledFileAppender</B>()</PRE> +<DL> +<DD>The default constructor does nothing but calls its super-class + constructor. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setPort(int)"><!-- --></A><H3> +setPort</H3> +<PRE> +public void <B>setPort</B>(int&nbsp;port)</PRE> +<DL> +<DD>The <b>Port</b> [roperty is used for setting the port for + listening to external roll over messages. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getPort()"><!-- --></A><H3> +getPort</H3> +<PRE> +public int <B>getPort</B>()</PRE> +<DL> +<DD>Returns value of the <b>Port</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Start listening on the port specified by a preceding call to + <A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html#setPort(int)"><CODE>setPort(int)</CODE></A>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/FileAppender.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j">FileAppender</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ExternallyRolledFileAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/ExternallyRolledFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ExternallyRolledFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/FallbackErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/FallbackErrorHandler.html new file mode 100644 index 00000000000..3c159e3bd39 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/FallbackErrorHandler.html @@ -0,0 +1,439 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FallbackErrorHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FallbackErrorHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FallbackErrorHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/FallbackErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FallbackErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.varia</FONT> +<BR> +Class FallbackErrorHandler</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.varia.FallbackErrorHandler</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>FallbackErrorHandler</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></DL> +</PRE> + +<P> +The <code>FallbackErrorHandler</code> implements the ErrorHandler + interface such that a secondary appender may be specified. This + secondary appender takes over if the primary appender fails for + whatever reason. + + <p>The error message is printed on <code>System.err</code>, and + logged in the new secondary appender. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;c&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#FallbackErrorHandler()">FallbackErrorHandler</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No options to activate.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#error(java.lang.String)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a the error message passed as parameter on + <code>System.err</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#error(java.lang.String, java.lang.Exception, int)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prints the message and the stack trace of the exception on + <code>System.err</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prints the message and the stack trace of the exception on + <code>System.err</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#setAppender(org.apache.log4j.Appender)">setAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;primary)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The appender to which this error handler is attached.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)">setBackupAppender</A></B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;backup)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the backup appender.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html#setLogger(org.apache.log4j.Logger)">setLogger</A></B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em>Adds</em> the logger passed as parameter to the list of + loggers that we need to search for in case of appender failure.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FallbackErrorHandler()"><!-- --></A><H3> +FallbackErrorHandler</H3> +<PRE> +public <B>FallbackErrorHandler</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setLogger(org.apache.log4j.Logger)"><!-- --></A><H3> +setLogger</H3> +<PRE> +public void <B>setLogger</B>(<A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger)</PRE> +<DL> +<DD><em>Adds</em> the logger passed as parameter to the list of + loggers that we need to search for in case of appender failure. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setLogger(org.apache.log4j.Logger)">setLogger</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - One of the loggers that will be searched for the failing + appender in view of replacement.</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>No options to activate. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String, java.lang.Exception, int)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode)</PRE> +<DL> +<DD>Prints the message and the stack trace of the exception on + <code>System.err</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int)">error</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A>&nbsp;e, + int&nbsp;errorCode, + <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Prints the message and the stack trace of the exception on + <code>System.err</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String, java.lang.Exception, int, org.apache.log4j.spi.LoggingEvent)">error</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>message</CODE> - The message assoicated with the error.<DD><CODE>e</CODE> - The Exption that was thrown when the error occured.<DD><CODE>errorCode</CODE> - The error code associated with the error.<DD><CODE>event</CODE> - The logging event that the failing appender is asked + to log.</DL> +</DD> +</DL> +<HR> + +<A NAME="error(java.lang.String)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;message)</PRE> +<DL> +<DD>Print a the error message passed as parameter on + <code>System.err</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#error(java.lang.String)">error</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +setAppender</H3> +<PRE> +public void <B>setAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;primary)</PRE> +<DL> +<DD>The appender to which this error handler is attached. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setAppender(org.apache.log4j.Appender)">setAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setBackupAppender(org.apache.log4j.Appender)"><!-- --></A><H3> +setBackupAppender</H3> +<PRE> +public void <B>setBackupAppender</B>(<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;backup)</PRE> +<DL> +<DD>Set the backup appender. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html#setBackupAppender(org.apache.log4j.Appender)">setBackupAppender</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FallbackErrorHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/FallbackErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FallbackErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/LevelMatchFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/LevelMatchFilter.html new file mode 100644 index 00000000000..aa5587ce64d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/LevelMatchFilter.html @@ -0,0 +1,388 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LevelMatchFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LevelMatchFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelMatchFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/LevelMatchFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelMatchFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.spi.Filter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.varia</FONT> +<BR> +Class LevelMatchFilter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">org.apache.log4j.spi.Filter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.varia.LevelMatchFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LevelMatchFilter</B><DT>extends <A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></DL> +</PRE> + +<P> +This is a very simple filter based on level matching. + + <p>The filter admits two options <b>LevelToMatch</b> and + <b>AcceptOnMatch</b>. If there is an exact match between the value + of the <b>LevelToMatch</b> option and the level of the <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A>, then the <A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html#decide(org.apache.log4j.spi.LoggingEvent)"><CODE>decide(org.apache.log4j.spi.LoggingEvent)</CODE></A> method returns <A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT"><CODE>Filter.ACCEPT</CODE></A> in case the <b>AcceptOnMatch</b> option value is set + to <code>true</code>, if it is <code>false</code> then <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY"><CODE>Filter.DENY</CODE></A> is returned. If there is no match, <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL"><CODE>Filter.NEUTRAL</CODE></A> is returned. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT">ACCEPT</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY">DENY</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL">NEUTRAL</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#next">next</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html#LevelMatchFilter()">LevelMatchFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the decision of this filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html#getAcceptOnMatch()">getAcceptOnMatch</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html#getLevelToMatch()">getLevelToMatch</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html#setAcceptOnMatch(boolean)">setAcceptOnMatch</A></B>(boolean&nbsp;acceptOnMatch)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html#setLevelToMatch(java.lang.String)">setLevelToMatch</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#activateOptions()">activateOptions</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#getNext()">getNext</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)">setNext</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LevelMatchFilter()"><!-- --></A><H3> +LevelMatchFilter</H3> +<PRE> +public <B>LevelMatchFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setLevelToMatch(java.lang.String)"><!-- --></A><H3> +setLevelToMatch</H3> +<PRE> +public void <B>setLevelToMatch</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;level)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLevelToMatch()"><!-- --></A><H3> +getLevelToMatch</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLevelToMatch</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAcceptOnMatch(boolean)"><!-- --></A><H3> +setAcceptOnMatch</H3> +<PRE> +public void <B>setAcceptOnMatch</B>(boolean&nbsp;acceptOnMatch)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAcceptOnMatch()"><!-- --></A><H3> +getAcceptOnMatch</H3> +<PRE> +public boolean <B>getAcceptOnMatch</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="decide(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +decide</H3> +<PRE> +public int <B>decide</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Return the decision of this filter. + + Returns <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL"><CODE>Filter.NEUTRAL</CODE></A> if the <b>LevelToMatch</b> option + is not set or if there is not match. Otherwise, if there is a + match, then the returned decision is <A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT"><CODE>Filter.ACCEPT</CODE></A> if the + <b>AcceptOnMatch</b> property is set to <code>true</code>. The + returned decision is <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY"><CODE>Filter.DENY</CODE></A> if the + <b>AcceptOnMatch</b> property is set to false. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - The LoggingEvent to decide upon. +<DT><B>Returns:</B><DD>decision The decision of the filter.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelMatchFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/LevelMatchFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelMatchFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.spi.Filter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/LevelRangeFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/LevelRangeFilter.html new file mode 100644 index 00000000000..4a192cef3e4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/LevelRangeFilter.html @@ -0,0 +1,445 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LevelRangeFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LevelRangeFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelRangeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/LevelRangeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelRangeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.spi.Filter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.varia</FONT> +<BR> +Class LevelRangeFilter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">org.apache.log4j.spi.Filter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.varia.LevelRangeFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LevelRangeFilter</B><DT>extends <A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></DL> +</PRE> + +<P> +This is a very simple filter based on level matching, which can be + used to reject messages with priorities outside a certain range. + + <p>The filter admits three options <b>LevelMin</b>, <b>LevelMax</b> + and <b>AcceptOnMatch</b>. + + <p>If the level of the <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> is not between Min and Max + (inclusive), then <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY"><CODE>Filter.DENY</CODE></A> is returned. + + <p> If the Logging event level is within the specified range, then if + <b>AcceptOnMatch</b> is true, <A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT"><CODE>Filter.ACCEPT</CODE></A> is returned, and if + <b>AcceptOnMatch</b> is false, <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL"><CODE>Filter.NEUTRAL</CODE></A> is returned. + + <p>If <code>LevelMin</code>w is not defined, then there is no + minimum acceptable level (ie a level is never rejected for + being too "low"/unimportant). If <code>LevelMax</code> is not + defined, then there is no maximum acceptable level (ie a + level is never rejected for beeing too "high"/important). + + <p>Refer to the <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)"><CODE>setThreshold</CODE></A> method + available to <code>all</code> appenders extending <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><CODE>AppenderSkeleton</CODE></A> for a more convenient way to + filter out events by level. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Simon Kitching, based on code by Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT">ACCEPT</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY">DENY</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL">NEUTRAL</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#next">next</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#LevelRangeFilter()">LevelRangeFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the decision of this filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#getAcceptOnMatch()">getAcceptOnMatch</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value of the <code>AcceptOnMatch</code> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#getLevelMax()">getLevelMax</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value of the <code>LevelMax</code> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#getLevelMin()">getLevelMin</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value of the <code>LevelMin</code> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#setAcceptOnMatch(boolean)">setAcceptOnMatch</A></B>(boolean&nbsp;acceptOnMatch)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <code>AcceptOnMatch</code> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#setLevelMax(org.apache.log4j.Level)">setLevelMax</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;levelMax)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <code>LevelMax</code> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html#setLevelMin(org.apache.log4j.Level)">setLevelMin</A></B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;levelMin)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the <code>LevelMin</code> option.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#activateOptions()">activateOptions</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#getNext()">getNext</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)">setNext</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LevelRangeFilter()"><!-- --></A><H3> +LevelRangeFilter</H3> +<PRE> +public <B>LevelRangeFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="decide(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +decide</H3> +<PRE> +public int <B>decide</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Return the decision of this filter. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - The LoggingEvent to decide upon. +<DT><B>Returns:</B><DD>decision The decision of the filter.</DL> +</DD> +</DL> +<HR> + +<A NAME="getLevelMax()"><!-- --></A><H3> +getLevelMax</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getLevelMax</B>()</PRE> +<DL> +<DD>Get the value of the <code>LevelMax</code> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLevelMin()"><!-- --></A><H3> +getLevelMin</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A> <B>getLevelMin</B>()</PRE> +<DL> +<DD>Get the value of the <code>LevelMin</code> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAcceptOnMatch()"><!-- --></A><H3> +getAcceptOnMatch</H3> +<PRE> +public boolean <B>getAcceptOnMatch</B>()</PRE> +<DL> +<DD>Get the value of the <code>AcceptOnMatch</code> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLevelMax(org.apache.log4j.Level)"><!-- --></A><H3> +setLevelMax</H3> +<PRE> +public void <B>setLevelMax</B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;levelMax)</PRE> +<DL> +<DD>Set the <code>LevelMax</code> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLevelMin(org.apache.log4j.Level)"><!-- --></A><H3> +setLevelMin</H3> +<PRE> +public void <B>setLevelMin</B>(<A HREF="../../../../org/apache/log4j/Level.html" title="class in org.apache.log4j">Level</A>&nbsp;levelMin)</PRE> +<DL> +<DD>Set the <code>LevelMin</code> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAcceptOnMatch(boolean)"><!-- --></A><H3> +setAcceptOnMatch</H3> +<PRE> +public void <B>setAcceptOnMatch</B>(boolean&nbsp;acceptOnMatch)</PRE> +<DL> +<DD>Set the <code>AcceptOnMatch</code> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelRangeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/LevelRangeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelRangeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.spi.Filter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/NullAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/NullAppender.html new file mode 100644 index 00000000000..c2e7e96951a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/NullAppender.html @@ -0,0 +1,440 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NullAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NullAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NullAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/NullAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NullAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.varia</FONT> +<BR> +Class NullAppender</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.varia.NullAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, <A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>NullAppender</B><DT>extends <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></DL> +</PRE> + +<P> +A NullAppender merely exists, it never outputs a message to any + device. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#closed">closed</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#errorHandler">errorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#headFilter">headFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#layout">layout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#name">name</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#tailFilter">tailFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#threshold">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html#NullAppender()">NullAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;There are no options to acticate.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release any resources allocated within the appender such as file + handles, network connections, etc.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does not do anything.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html#getInstance()">getInstance</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use getNullAppender instead. getInstance should have been static.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html#getNullAppender()">getNullAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whenever you can, use this method to retreive an instance instead + of instantiating a new one with <code>new</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NullAppenders do not need a layout.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#addFilter(org.apache.log4j.spi.Filter)">addFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#clearFilters()">clearFilters</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#finalize()">finalize</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getErrorHandler()">getErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFilter()">getFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getFirstFilter()">getFirstFilter</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getLayout()">getLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getName()">getName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#getThreshold()">getThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#isAsSevereAsThreshold(org.apache.log4j.Priority)">isAsSevereAsThreshold</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setErrorHandler(org.apache.log4j.spi.ErrorHandler)">setErrorHandler</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)">setLayout</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NullAppender()"><!-- --></A><H3> +NullAppender</H3> +<PRE> +public <B>NullAppender</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>There are no options to acticate. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html#activateOptions()">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#activateOptions()">activateOptions</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getInstance()"><!-- --></A><H3> +getInstance</H3> +<PRE> +public <A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> <B>getInstance</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use getNullAppender instead. getInstance should have been static.</I> +<P> +<DD>Whenever you can, use this method to retreive an instance instead + of instantiating a new one with <code>new</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getNullAppender()"><!-- --></A><H3> +getNullAppender</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> <B>getNullAppender</B>()</PRE> +<DL> +<DD>Whenever you can, use this method to retreive an instance instead + of instantiating a new one with <code>new</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/Appender.html#close()">Appender</A></CODE></B></DD> +<DD>Release any resources allocated within the appender such as file + handles, network connections, etc. + + <p>It is a programming error to append to a closed appender. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="doAppend(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +doAppend</H3> +<PRE> +public void <B>doAppend</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Does not do anything. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Appender.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#doAppend(org.apache.log4j.spi.LoggingEvent)">doAppend</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +protected void <B>append</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Does not do anything. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>NullAppenders do not need a layout. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NullAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/NullAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NullAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/ReloadingPropertyConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/ReloadingPropertyConfigurator.html new file mode 100644 index 00000000000..dcb9c266609 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/ReloadingPropertyConfigurator.html @@ -0,0 +1,285 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ReloadingPropertyConfigurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ReloadingPropertyConfigurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ReloadingPropertyConfigurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/ReloadingPropertyConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ReloadingPropertyConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.varia</FONT> +<BR> +Class ReloadingPropertyConfigurator</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.varia.ReloadingPropertyConfigurator</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>ReloadingPropertyConfigurator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.spi.Configurator"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html#INHERITED">INHERITED</A>, <A HREF="../../../../org/apache/log4j/spi/Configurator.html#NULL">NULL</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html#ReloadingPropertyConfigurator()">ReloadingPropertyConfigurator</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interpret a resource pointed by a URL and set up log4j accordingly.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ReloadingPropertyConfigurator()"><!-- --></A><H3> +ReloadingPropertyConfigurator</H3> +<PRE> +public <B>ReloadingPropertyConfigurator</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +public void <B>doConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">Configurator</A></CODE></B></DD> +<DD>Interpret a resource pointed by a URL and set up log4j accordingly. + + The configuration is done relative to the <code>hierarchy</code> + parameter. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>url</CODE> - The URL to parse<DD><CODE>repository</CODE> - The hierarchy to operation upon.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ReloadingPropertyConfigurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/ReloadingPropertyConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ReloadingPropertyConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/Roller.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/Roller.html new file mode 100644 index 00000000000..c66a9fc3b10 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/Roller.html @@ -0,0 +1,241 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Roller (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Roller (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Roller.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/Roller.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Roller.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.varia</FONT> +<BR> +Class Roller</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.varia.Roller</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>Roller</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +A simple application to send roll over messages to a potentially + remote <A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><CODE>ExternallyRolledFileAppender</CODE></A>. + + <p>It takes two arguments, the <code>host_name</code> and + <code>port_number</code> where the + <code>ExternallyRolledFileAppender</code> is listening. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>version 0.9.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/Roller.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;argv)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send a "RollOver" message to + <code>ExternallyRolledFileAppender</code> on <code>host</code> + and <code>port</code>.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="main(java.lang.String[])"><!-- --></A><H3> +main</H3> +<PRE> +public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;argv)</PRE> +<DL> +<DD>Send a "RollOver" message to + <code>ExternallyRolledFileAppender</code> on <code>host</code> + and <code>port</code>. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Roller.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/Roller.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Roller.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/StringMatchFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/StringMatchFilter.html new file mode 100644 index 00000000000..2405959c104 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/StringMatchFilter.html @@ -0,0 +1,484 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +StringMatchFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="StringMatchFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StringMatchFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/StringMatchFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StringMatchFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.varia</FONT> +<BR> +Class StringMatchFilter</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">org.apache.log4j.spi.Filter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.varia.StringMatchFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>StringMatchFilter</B><DT>extends <A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></DL> +</PRE> + +<P> +This is a very simple filter based on string matching. + + <p>The filter admits two options <b>StringToMatch</b> and + <b>AcceptOnMatch</b>. If there is a match between the value of the + StringToMatch option and the message of the <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A>, + then the <A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#decide(org.apache.log4j.spi.LoggingEvent)"><CODE>decide(LoggingEvent)</CODE></A> method returns <A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT"><CODE>Filter.ACCEPT</CODE></A> if + the <b>AcceptOnMatch</b> option value is true, if it is false then + <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY"><CODE>Filter.DENY</CODE></A> is returned. If there is no match, <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL"><CODE>Filter.NEUTRAL</CODE></A> is returned. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#ACCEPT_ON_MATCH_OPTION">ACCEPT_ON_MATCH_OPTION</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#STRING_TO_MATCH_OPTION">STRING_TO_MATCH_OPTION</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#ACCEPT">ACCEPT</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#DENY">DENY</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL">NEUTRAL</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#next">next</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#StringMatchFilter()">StringMatchFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL"><CODE>Filter.NEUTRAL</CODE></A> is there is no string match.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#getAcceptOnMatch()">getAcceptOnMatch</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#getOptionStrings()">getOptionStrings</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>We now use JavaBeans introspection to configure + components. Options strings are no longer needed.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#getStringToMatch()">getStringToMatch</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#setAcceptOnMatch(boolean)">setAcceptOnMatch</A></B>(boolean&nbsp;acceptOnMatch)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#setOption(java.lang.String, java.lang.String)">setOption</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html#setStringToMatch(java.lang.String)">setStringToMatch</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#activateOptions()">activateOptions</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#getNext()">getNext</A>, <A HREF="../../../../org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)">setNext</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="STRING_TO_MATCH_OPTION"><!-- --></A><H3> +STRING_TO_MATCH_OPTION</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>STRING_TO_MATCH_OPTION</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I><DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.varia.StringMatchFilter.STRING_TO_MATCH_OPTION">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="ACCEPT_ON_MATCH_OPTION"><!-- --></A><H3> +ACCEPT_ON_MATCH_OPTION</H3> +<PRE> +public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ACCEPT_ON_MATCH_OPTION</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term.</I><DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.varia.StringMatchFilter.ACCEPT_ON_MATCH_OPTION">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="StringMatchFilter()"><!-- --></A><H3> +StringMatchFilter</H3> +<PRE> +public <B>StringMatchFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getOptionStrings()"><!-- --></A><H3> +getOptionStrings</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>getOptionStrings</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>We now use JavaBeans introspection to configure + components. Options strings are no longer needed.</I> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setOption(java.lang.String, java.lang.String)"><!-- --></A><H3> +setOption</H3> +<PRE> +public void <B>setOption</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Use the setter method for the option directly instead + of the generic <code>setOption</code> method.</I> +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setStringToMatch(java.lang.String)"><!-- --></A><H3> +setStringToMatch</H3> +<PRE> +public void <B>setStringToMatch</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;s)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getStringToMatch()"><!-- --></A><H3> +getStringToMatch</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStringToMatch</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setAcceptOnMatch(boolean)"><!-- --></A><H3> +setAcceptOnMatch</H3> +<PRE> +public void <B>setAcceptOnMatch</B>(boolean&nbsp;acceptOnMatch)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAcceptOnMatch()"><!-- --></A><H3> +getAcceptOnMatch</H3> +<PRE> +public boolean <B>getAcceptOnMatch</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="decide(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +decide</H3> +<PRE> +public int <B>decide</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Returns <A HREF="../../../../org/apache/log4j/spi/Filter.html#NEUTRAL"><CODE>Filter.NEUTRAL</CODE></A> is there is no string match. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html#decide(org.apache.log4j.spi.LoggingEvent)">decide</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi">Filter</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - The LoggingEvent to decide upon. +<DT><B>Returns:</B><DD>decision The decision of the filter.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StringMatchFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/StringMatchFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StringMatchFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/DenyAllFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/DenyAllFilter.html new file mode 100644 index 00000000000..cbc1352c085 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/DenyAllFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.varia.DenyAllFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.varia.DenyAllFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useDenyAllFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DenyAllFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.varia.DenyAllFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.varia.DenyAllFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useDenyAllFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DenyAllFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/ExternallyRolledFileAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/ExternallyRolledFileAppender.html new file mode 100644 index 00000000000..668600d4741 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/ExternallyRolledFileAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.varia.ExternallyRolledFileAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.varia.ExternallyRolledFileAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useExternallyRolledFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ExternallyRolledFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.varia.ExternallyRolledFileAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.varia.ExternallyRolledFileAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useExternallyRolledFileAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ExternallyRolledFileAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/FallbackErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/FallbackErrorHandler.html new file mode 100644 index 00000000000..076401191a1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/FallbackErrorHandler.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.varia.FallbackErrorHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.varia.FallbackErrorHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useFallbackErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FallbackErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.varia.FallbackErrorHandler</B></H2> +</CENTER> +No usage of org.apache.log4j.varia.FallbackErrorHandler +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useFallbackErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FallbackErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/LevelMatchFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/LevelMatchFilter.html new file mode 100644 index 00000000000..4f6537872ec --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/LevelMatchFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.varia.LevelMatchFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.varia.LevelMatchFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useLevelMatchFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelMatchFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.varia.LevelMatchFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.varia.LevelMatchFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useLevelMatchFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelMatchFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/LevelRangeFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/LevelRangeFilter.html new file mode 100644 index 00000000000..8075469e763 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/LevelRangeFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.varia.LevelRangeFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.varia.LevelRangeFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useLevelRangeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelRangeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.varia.LevelRangeFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.varia.LevelRangeFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useLevelRangeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelRangeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/NullAppender.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/NullAppender.html new file mode 100644 index 00000000000..8f13ffd0b23 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/NullAppender.html @@ -0,0 +1,190 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.varia.NullAppender (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.varia.NullAppender (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useNullAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NullAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.varia.NullAppender</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A> in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> that return <A HREF="../../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A></CODE></FONT></TD> +<TD><CODE><B>NullAppender.</B><B><A HREF="../../../../../org/apache/log4j/varia/NullAppender.html#getInstance()">getInstance</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use getNullAppender instead. getInstance should have been static.</I></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A></CODE></FONT></TD> +<TD><CODE><B>NullAppender.</B><B><A HREF="../../../../../org/apache/log4j/varia/NullAppender.html#getNullAppender()">getNullAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whenever you can, use this method to retreive an instance instead + of instantiating a new one with <code>new</code>.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useNullAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NullAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/ReloadingPropertyConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/ReloadingPropertyConfigurator.html new file mode 100644 index 00000000000..71724e54e47 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/ReloadingPropertyConfigurator.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.varia.ReloadingPropertyConfigurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.varia.ReloadingPropertyConfigurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useReloadingPropertyConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ReloadingPropertyConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.varia.ReloadingPropertyConfigurator</B></H2> +</CENTER> +No usage of org.apache.log4j.varia.ReloadingPropertyConfigurator +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useReloadingPropertyConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ReloadingPropertyConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/Roller.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/Roller.html new file mode 100644 index 00000000000..6b4b2207cc6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/Roller.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.varia.Roller (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.varia.Roller (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useRoller.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Roller.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.varia.Roller</B></H2> +</CENTER> +No usage of org.apache.log4j.varia.Roller +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useRoller.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Roller.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/StringMatchFilter.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/StringMatchFilter.html new file mode 100644 index 00000000000..5c16d59e196 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/class-use/StringMatchFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.varia.StringMatchFilter (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.varia.StringMatchFilter (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useStringMatchFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StringMatchFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.varia.StringMatchFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.varia.StringMatchFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/varia//class-useStringMatchFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StringMatchFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-frame.html new file mode 100644 index 00000000000..478965cfc61 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-frame.html @@ -0,0 +1,49 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.varia (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/varia/package-summary.html" target="classFrame">org.apache.log4j.varia</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="DenyAllFilter.html" title="class in org.apache.log4j.varia" target="classFrame">DenyAllFilter</A> +<BR> +<A HREF="ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia" target="classFrame">ExternallyRolledFileAppender</A> +<BR> +<A HREF="FallbackErrorHandler.html" title="class in org.apache.log4j.varia" target="classFrame">FallbackErrorHandler</A> +<BR> +<A HREF="LevelMatchFilter.html" title="class in org.apache.log4j.varia" target="classFrame">LevelMatchFilter</A> +<BR> +<A HREF="LevelRangeFilter.html" title="class in org.apache.log4j.varia" target="classFrame">LevelRangeFilter</A> +<BR> +<A HREF="NullAppender.html" title="class in org.apache.log4j.varia" target="classFrame">NullAppender</A> +<BR> +<A HREF="ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia" target="classFrame">ReloadingPropertyConfigurator</A> +<BR> +<A HREF="Roller.html" title="class in org.apache.log4j.varia" target="classFrame">Roller</A> +<BR> +<A HREF="StringMatchFilter.html" title="class in org.apache.log4j.varia" target="classFrame">StringMatchFilter</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-summary.html new file mode 100644 index 00000000000..739f4caae77 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-summary.html @@ -0,0 +1,216 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.varia (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.varia (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.varia +</H2> +Contains various appenders, filters and other odds and ends. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia">DenyAllFilter</A></B></TD> +<TD>This filter drops all logging events.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia">ExternallyRolledFileAppender</A></B></TD> +<TD>This appender listens on a socket on the port specified by the + <b>Port</b> property for a "RollOver" message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia">FallbackErrorHandler</A></B></TD> +<TD>The <code>FallbackErrorHandler</code> implements the ErrorHandler + interface such that a secondary appender may be specified.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia">LevelMatchFilter</A></B></TD> +<TD>This is a very simple filter based on level matching.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia">LevelRangeFilter</A></B></TD> +<TD>This is a very simple filter based on level matching, which can be + used to reject messages with priorities outside a certain range.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia">NullAppender</A></B></TD> +<TD>A NullAppender merely exists, it never outputs a message to any + device.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia">ReloadingPropertyConfigurator</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia">Roller</A></B></TD> +<TD>A simple application to send roll over messages to a potentially + remote <A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><CODE>ExternallyRolledFileAppender</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia">StringMatchFilter</A></B></TD> +<TD>This is a very simple filter based on string matching.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.varia Description +</H2> + +<P> +<p>Contains various appenders, filters and other odds and ends. + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Tue Mar 21 20:28:14 MET 2000 +<!-- hhmts end --> +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-tree.html new file mode 100644 index 00000000000..c7abac35509 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-tree.html @@ -0,0 +1,168 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.varia Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.varia Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.varia +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>AppenderSkeleton</B></A> (implements org.apache.log4j.<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.varia.<A HREF="../../../../org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia"><B>NullAppender</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j"><B>WriterAppender</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><B>FileAppender</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><B>RollingFileAppender</B></A><UL> +<LI TYPE="circle">org.apache.log4j.varia.<A HREF="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><B>ExternallyRolledFileAppender</B></A></UL> +</UL> +</UL> +</UL> +<LI TYPE="circle">org.apache.log4j.varia.<A HREF="../../../../org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia"><B>FallbackErrorHandler</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>) +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><B>Filter</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.varia.<A HREF="../../../../org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia"><B>DenyAllFilter</B></A><LI TYPE="circle">org.apache.log4j.varia.<A HREF="../../../../org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia"><B>LevelMatchFilter</B></A><LI TYPE="circle">org.apache.log4j.varia.<A HREF="../../../../org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia"><B>LevelRangeFilter</B></A><LI TYPE="circle">org.apache.log4j.varia.<A HREF="../../../../org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia"><B>StringMatchFilter</B></A></UL> +<LI TYPE="circle">org.apache.log4j.varia.<A HREF="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia"><B>ReloadingPropertyConfigurator</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A>) +<LI TYPE="circle">org.apache.log4j.varia.<A HREF="../../../../org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia"><B>Roller</B></A></UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/spi/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-use.html new file mode 100644 index 00000000000..b4b930709ce --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/varia/package-use.html @@ -0,0 +1,172 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.varia (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.varia (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.varia</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.varia"><B>org.apache.log4j.varia</B></A></TD> +<TD>Contains various appenders, filters and other odds and ends.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.varia"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A> used by <A HREF="../../../../org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/varia/class-use/NullAppender.html#org.apache.log4j.varia"><B>NullAppender</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A NullAppender merely exists, it never outputs a message to any + device.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/varia/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/DOMConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/DOMConfigurator.html new file mode 100644 index 00000000000..ef0425f754d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/DOMConfigurator.html @@ -0,0 +1,1124 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DOMConfigurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DOMConfigurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DOMConfigurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/DOMConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DOMConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.xml</FONT> +<BR> +Class DOMConfigurator</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.xml.DOMConfigurator</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>DOMConfigurator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></DL> +</PRE> + +<P> +Use this class to initialize the log4j environment using a DOM tree. + + <p>The DTD is specified in <a + href="doc-files/log4j.dtd"><b>log4j.dtd</b></a>. + + <p>Sometimes it is useful to see how log4j is reading configuration + files. You can enable log4j internal logging by defining the + <b>log4j.debug</b> variable on the java command + line. Alternatively, set the <code>debug</code> attribute in the + <code>log4j:configuration</code> element. As in +<pre> + &lt;log4j:configuration <b>debug="true"</b> xmlns:log4j="http://jakarta.apache.org/log4j/"> + ... + &lt;/log4j:configuration> +</pre> + + <p>There are sample XML files included in the package. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.8.3</DD> +<DT><B>Author:</B></DT> + <DD>Christopher Taylor, Ceki G&uuml;lc&uuml;, Anders Kristensen</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#catFactory">catFactory</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.spi.Configurator"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html#INHERITED">INHERITED</A>, <A HREF="../../../../org/apache/log4j/spi/Configurator.html#NULL">NULL</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#DOMConfigurator()">DOMConfigurator</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No argument constructor.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#configure(org.w3c.dom.Element)">configure</A></B>(org.w3c.dom.Element&nbsp;element)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure log4j using a <code>configuration</code> element as + defined in the log4j.dtd.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#configure(java.lang.String)">configure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A static version of <A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)"><CODE>doConfigure(String, LoggerRepository)</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#configure(java.net.URL)">configure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A static version of <A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><CODE>doConfigure(URL, LoggerRepository)</CODE></A>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#configureAndWatch(java.lang.String)">configureAndWatch</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFilename)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Like <A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#configureAndWatch(java.lang.String, long)"><CODE>configureAndWatch(String, long)</CODE></A> except that the + default delay as defined by <A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#DEFAULT_DELAY"><CODE>FileWatchdog.DEFAULT_DELAY</CODE></A> is + used.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#configureAndWatch(java.lang.String, long)">configureAndWatch</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFilename, + long&nbsp;delay)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read the configuration file <code>configFilename</code> if it + exists.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(org.w3c.dom.Element, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure by taking in an DOM element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(org.xml.sax.InputSource, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(org.xml.sax.InputSource&nbsp;inputSource, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure log4j by reading in a log4j.dtd compliant XML + configuration file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.io.InputStream, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;inputStream, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure log4j by reading in a log4j.dtd compliant XML + configuration file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.io.Reader, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;reader, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure log4j by reading in a log4j.dtd compliant XML + configuration file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interpret a resource pointed by a URL and set up log4j accordingly.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#findAppenderByName(org.w3c.dom.Document, java.lang.String)">findAppenderByName</A></B>(org.w3c.dom.Document&nbsp;doc, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;appenderName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse appenders by IDREF name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#findAppenderByReference(org.w3c.dom.Element)">findAppenderByReference</A></B>(org.w3c.dom.Element&nbsp;appenderRef)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse appenders by IDREF element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parse(org.w3c.dom.Element)">parse</A></B>(org.w3c.dom.Element&nbsp;element)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to configure the log4j framework by parsing a DOM + tree of XML elements based on <a + href="doc-files/log4j.dtd">log4j.dtd</a>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseAppender(org.w3c.dom.Element)">parseAppender</A></B>(org.w3c.dom.Element&nbsp;appenderElement)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse an appender element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseCategory(org.w3c.dom.Element)">parseCategory</A></B>(org.w3c.dom.Element&nbsp;loggerElement)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse an category element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseCategoryFactory(org.w3c.dom.Element)">parseCategoryFactory</A></B>(org.w3c.dom.Element&nbsp;factoryElement)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse the category factory element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseChildrenOfLoggerElement(org.w3c.dom.Element, org.apache.log4j.Logger, boolean)">parseChildrenOfLoggerElement</A></B>(org.w3c.dom.Element&nbsp;catElement, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;cat, + boolean&nbsp;isRoot)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse the children of a category element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseElement(org.w3c.dom.Element, java.util.Properties, java.lang.Class)">parseElement</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;expectedClass)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an object and processes any nested param elements + but does not call activateOptions.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseErrorHandler(org.w3c.dom.Element, org.apache.log4j.Appender)">parseErrorHandler</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse an <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseFilters(org.w3c.dom.Element, org.apache.log4j.Appender)">parseFilters</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse a filter element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseLayout(org.w3c.dom.Element)">parseLayout</A></B>(org.w3c.dom.Element&nbsp;layout_element)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse a layout element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseLevel(org.w3c.dom.Element, org.apache.log4j.Logger, boolean)">parseLevel</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + boolean&nbsp;isRoot)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse a level element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseRenderer(org.w3c.dom.Element)">parseRenderer</A></B>(org.w3c.dom.Element&nbsp;element)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseRoot(org.w3c.dom.Element)">parseRoot</A></B>(org.w3c.dom.Element&nbsp;rootElement)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used internally to parse the roor category element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#parseThrowableRenderer(org.w3c.dom.Element)">parseThrowableRenderer</A></B>(org.w3c.dom.Element&nbsp;element)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parses throwable renderer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#setParameter(org.w3c.dom.Element, org.apache.log4j.config.PropertySetter)">setParameter</A></B>(org.w3c.dom.Element&nbsp;elem, + <A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A>&nbsp;propSetter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#setParameter(org.w3c.dom.Element, org.apache.log4j.config.PropertySetter, java.util.Properties)">setParameter</A></B>(org.w3c.dom.Element&nbsp;elem, + <A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A>&nbsp;propSetter, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets a parameter based from configuration file content.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#subst(java.lang.String)">subst</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#subst(java.lang.String, java.util.Properties)">subst</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Substitutes property value for any references in expression.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="catFactory"><!-- --></A><H3> +catFactory</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A> <B>catFactory</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DOMConfigurator()"><!-- --></A><H3> +DOMConfigurator</H3> +<PRE> +public <B>DOMConfigurator</B>()</PRE> +<DL> +<DD>No argument constructor. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="findAppenderByName(org.w3c.dom.Document, java.lang.String)"><!-- --></A><H3> +findAppenderByName</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> <B>findAppenderByName</B>(org.w3c.dom.Document&nbsp;doc, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;appenderName)</PRE> +<DL> +<DD>Used internally to parse appenders by IDREF name. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="findAppenderByReference(org.w3c.dom.Element)"><!-- --></A><H3> +findAppenderByReference</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> <B>findAppenderByReference</B>(org.w3c.dom.Element&nbsp;appenderRef)</PRE> +<DL> +<DD>Used internally to parse appenders by IDREF element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseAppender(org.w3c.dom.Element)"><!-- --></A><H3> +parseAppender</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A> <B>parseAppender</B>(org.w3c.dom.Element&nbsp;appenderElement)</PRE> +<DL> +<DD>Used internally to parse an appender element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseErrorHandler(org.w3c.dom.Element, org.apache.log4j.Appender)"><!-- --></A><H3> +parseErrorHandler</H3> +<PRE> +protected void <B>parseErrorHandler</B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Used internally to parse an <A HREF="../../../../org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><CODE>ErrorHandler</CODE></A> element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseFilters(org.w3c.dom.Element, org.apache.log4j.Appender)"><!-- --></A><H3> +parseFilters</H3> +<PRE> +protected void <B>parseFilters</B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>&nbsp;appender)</PRE> +<DL> +<DD>Used internally to parse a filter element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseCategory(org.w3c.dom.Element)"><!-- --></A><H3> +parseCategory</H3> +<PRE> +protected void <B>parseCategory</B>(org.w3c.dom.Element&nbsp;loggerElement)</PRE> +<DL> +<DD>Used internally to parse an category element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseCategoryFactory(org.w3c.dom.Element)"><!-- --></A><H3> +parseCategoryFactory</H3> +<PRE> +protected void <B>parseCategoryFactory</B>(org.w3c.dom.Element&nbsp;factoryElement)</PRE> +<DL> +<DD>Used internally to parse the category factory element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseRoot(org.w3c.dom.Element)"><!-- --></A><H3> +parseRoot</H3> +<PRE> +protected void <B>parseRoot</B>(org.w3c.dom.Element&nbsp;rootElement)</PRE> +<DL> +<DD>Used internally to parse the roor category element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseChildrenOfLoggerElement(org.w3c.dom.Element, org.apache.log4j.Logger, boolean)"><!-- --></A><H3> +parseChildrenOfLoggerElement</H3> +<PRE> +protected void <B>parseChildrenOfLoggerElement</B>(org.w3c.dom.Element&nbsp;catElement, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;cat, + boolean&nbsp;isRoot)</PRE> +<DL> +<DD>Used internally to parse the children of a category element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseLayout(org.w3c.dom.Element)"><!-- --></A><H3> +parseLayout</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A> <B>parseLayout</B>(org.w3c.dom.Element&nbsp;layout_element)</PRE> +<DL> +<DD>Used internally to parse a layout element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseRenderer(org.w3c.dom.Element)"><!-- --></A><H3> +parseRenderer</H3> +<PRE> +protected void <B>parseRenderer</B>(org.w3c.dom.Element&nbsp;element)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseThrowableRenderer(org.w3c.dom.Element)"><!-- --></A><H3> +parseThrowableRenderer</H3> +<PRE> +protected <A HREF="../../../../org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A> <B>parseThrowableRenderer</B>(org.w3c.dom.Element&nbsp;element)</PRE> +<DL> +<DD>Parses throwable renderer. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>element</CODE> - throwableRenderer element. +<DT><B>Returns:</B><DD>configured throwable renderer.<DT><B>Since:</B></DT> + <DD>1.2.16.</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseLevel(org.w3c.dom.Element, org.apache.log4j.Logger, boolean)"><!-- --></A><H3> +parseLevel</H3> +<PRE> +protected void <B>parseLevel</B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A>&nbsp;logger, + boolean&nbsp;isRoot)</PRE> +<DL> +<DD>Used internally to parse a level element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setParameter(org.w3c.dom.Element, org.apache.log4j.config.PropertySetter)"><!-- --></A><H3> +setParameter</H3> +<PRE> +protected void <B>setParameter</B>(org.w3c.dom.Element&nbsp;elem, + <A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A>&nbsp;propSetter)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="configure(org.w3c.dom.Element)"><!-- --></A><H3> +configure</H3> +<PRE> +public static void <B>configure</B>(org.w3c.dom.Element&nbsp;element)</PRE> +<DL> +<DD>Configure log4j using a <code>configuration</code> element as + defined in the log4j.dtd. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="configureAndWatch(java.lang.String)"><!-- --></A><H3> +configureAndWatch</H3> +<PRE> +public static void <B>configureAndWatch</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFilename)</PRE> +<DL> +<DD>Like <A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#configureAndWatch(java.lang.String, long)"><CODE>configureAndWatch(String, long)</CODE></A> except that the + default delay as defined by <A HREF="../../../../org/apache/log4j/helpers/FileWatchdog.html#DEFAULT_DELAY"><CODE>FileWatchdog.DEFAULT_DELAY</CODE></A> is + used. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>configFilename</CODE> - A log4j configuration file in XML format.</DL> +</DD> +</DL> +<HR> + +<A NAME="configureAndWatch(java.lang.String, long)"><!-- --></A><H3> +configureAndWatch</H3> +<PRE> +public static void <B>configureAndWatch</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;configFilename, + long&nbsp;delay)</PRE> +<DL> +<DD>Read the configuration file <code>configFilename</code> if it + exists. Moreover, a thread will be created that will periodically + check if <code>configFilename</code> has been created or + modified. The period is determined by the <code>delay</code> + argument. If a change or file creation is detected, then + <code>configFilename</code> is read to configure log4j. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>configFilename</CODE> - A log4j configuration file in XML format.<DD><CODE>delay</CODE> - The delay in milliseconds to wait between each check.</DL> +</DD> +</DL> +<HR> + +<A NAME="doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +public void <B>doConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +public void <B>doConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">Configurator</A></CODE></B></DD> +<DD>Interpret a resource pointed by a URL and set up log4j accordingly. + + The configuration is done relative to the <code>hierarchy</code> + parameter. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)">doConfigure</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>url</CODE> - The URL to parse<DD><CODE>repository</CODE> - The hierarchy to operation upon.</DL> +</DD> +</DL> +<HR> + +<A NAME="doConfigure(java.io.InputStream, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +public void <B>doConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;inputStream, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository) + throws javax.xml.parsers.FactoryConfigurationError</PRE> +<DL> +<DD>Configure log4j by reading in a log4j.dtd compliant XML + configuration file. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.xml.parsers.FactoryConfigurationError</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="doConfigure(java.io.Reader, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +public void <B>doConfigure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;reader, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository) + throws javax.xml.parsers.FactoryConfigurationError</PRE> +<DL> +<DD>Configure log4j by reading in a log4j.dtd compliant XML + configuration file. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.xml.parsers.FactoryConfigurationError</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="doConfigure(org.xml.sax.InputSource, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +protected void <B>doConfigure</B>(org.xml.sax.InputSource&nbsp;inputSource, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository) + throws javax.xml.parsers.FactoryConfigurationError</PRE> +<DL> +<DD>Configure log4j by reading in a log4j.dtd compliant XML + configuration file. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.xml.parsers.FactoryConfigurationError</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="doConfigure(org.w3c.dom.Element, org.apache.log4j.spi.LoggerRepository)"><!-- --></A><H3> +doConfigure</H3> +<PRE> +public void <B>doConfigure</B>(org.w3c.dom.Element&nbsp;element, + <A HREF="../../../../org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>&nbsp;repository)</PRE> +<DL> +<DD>Configure by taking in an DOM element. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="configure(java.lang.String)"><!-- --></A><H3> +configure</H3> +<PRE> +public static void <B>configure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;filename) + throws javax.xml.parsers.FactoryConfigurationError</PRE> +<DL> +<DD>A static version of <A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.lang.String, org.apache.log4j.spi.LoggerRepository)"><CODE>doConfigure(String, LoggerRepository)</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.xml.parsers.FactoryConfigurationError</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="configure(java.net.URL)"><!-- --></A><H3> +configure</H3> +<PRE> +public static void <B>configure</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</A>&nbsp;url) + throws javax.xml.parsers.FactoryConfigurationError</PRE> +<DL> +<DD>A static version of <A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html#doConfigure(java.net.URL, org.apache.log4j.spi.LoggerRepository)"><CODE>doConfigure(URL, LoggerRepository)</CODE></A>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>javax.xml.parsers.FactoryConfigurationError</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="parse(org.w3c.dom.Element)"><!-- --></A><H3> +parse</H3> +<PRE> +protected void <B>parse</B>(org.w3c.dom.Element&nbsp;element)</PRE> +<DL> +<DD>Used internally to configure the log4j framework by parsing a DOM + tree of XML elements based on <a + href="doc-files/log4j.dtd">log4j.dtd</a>. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="subst(java.lang.String)"><!-- --></A><H3> +subst</H3> +<PRE> +protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>subst</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="subst(java.lang.String, java.util.Properties)"><!-- --></A><H3> +subst</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>subst</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</PRE> +<DL> +<DD>Substitutes property value for any references in expression. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>value</CODE> - value from configuration file, may contain + literal text, property references or both<DD><CODE>props</CODE> - properties. +<DT><B>Returns:</B><DD>evaluated expression, may still contain expressions + if unable to expand.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setParameter(org.w3c.dom.Element, org.apache.log4j.config.PropertySetter, java.util.Properties)"><!-- --></A><H3> +setParameter</H3> +<PRE> +public static void <B>setParameter</B>(org.w3c.dom.Element&nbsp;elem, + <A HREF="../../../../org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config">PropertySetter</A>&nbsp;propSetter, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</PRE> +<DL> +<DD>Sets a parameter based from configuration file content. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>elem</CODE> - param element, may not be null.<DD><CODE>propSetter</CODE> - property setter, may not be null.<DD><CODE>props</CODE> - properties<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseElement(org.w3c.dom.Element, java.util.Properties, java.lang.Class)"><!-- --></A><H3> +parseElement</H3> +<PRE> +public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>parseElement</B>(org.w3c.dom.Element&nbsp;element, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;expectedClass) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE> +<DL> +<DD>Creates an object and processes any nested param elements + but does not call activateOptions. If the class also supports + UnrecognizedElementParser, the parseUnrecognizedElement method + will be call for any child elements other than param. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>element</CODE> - element, may not be null.<DD><CODE>props</CODE> - properties<DD><CODE>expectedClass</CODE> - interface or class expected to be implemented + by created class +<DT><B>Returns:</B><DD>created class or null. +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - thrown if the contain object should be abandoned.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DOMConfigurator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/DOMConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DOMConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/Log4jEntityResolver.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/Log4jEntityResolver.html new file mode 100644 index 00000000000..e409ea24fdc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/Log4jEntityResolver.html @@ -0,0 +1,271 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Log4jEntityResolver (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Log4jEntityResolver (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Log4jEntityResolver.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/Log4jEntityResolver.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Log4jEntityResolver.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.xml</FONT> +<BR> +Class Log4jEntityResolver</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.xml.Log4jEntityResolver</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>org.xml.sax.EntityResolver</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>Log4jEntityResolver</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements org.xml.sax.EntityResolver</DL> +</PRE> + +<P> +An <CODE>EntityResolver</CODE> specifically designed to return + <code>log4j.dtd</code> which is embedded within the log4j jar + file. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Paul Austin</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/Log4jEntityResolver.html#Log4jEntityResolver()">Log4jEntityResolver</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;org.xml.sax.InputSource</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/Log4jEntityResolver.html#resolveEntity(java.lang.String, java.lang.String)">resolveEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;publicId, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;systemId)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Log4jEntityResolver()"><!-- --></A><H3> +Log4jEntityResolver</H3> +<PRE> +public <B>Log4jEntityResolver</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="resolveEntity(java.lang.String, java.lang.String)"><!-- --></A><H3> +resolveEntity</H3> +<PRE> +public org.xml.sax.InputSource <B>resolveEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;publicId, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;systemId)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>resolveEntity</CODE> in interface <CODE>org.xml.sax.EntityResolver</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Log4jEntityResolver.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/Log4jEntityResolver.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Log4jEntityResolver.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/SAXErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/SAXErrorHandler.html new file mode 100644 index 00000000000..87c3b833243 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/SAXErrorHandler.html @@ -0,0 +1,303 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SAXErrorHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SAXErrorHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SAXErrorHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/SAXErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SAXErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.xml</FONT> +<BR> +Class SAXErrorHandler</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.xml.SAXErrorHandler</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>org.xml.sax.ErrorHandler</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SAXErrorHandler</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements org.xml.sax.ErrorHandler</DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/SAXErrorHandler.html#SAXErrorHandler()">SAXErrorHandler</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/SAXErrorHandler.html#error(org.xml.sax.SAXParseException)">error</A></B>(org.xml.sax.SAXParseException&nbsp;ex)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/SAXErrorHandler.html#fatalError(org.xml.sax.SAXParseException)">fatalError</A></B>(org.xml.sax.SAXParseException&nbsp;ex)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/SAXErrorHandler.html#warning(org.xml.sax.SAXParseException)">warning</A></B>(org.xml.sax.SAXParseException&nbsp;ex)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SAXErrorHandler()"><!-- --></A><H3> +SAXErrorHandler</H3> +<PRE> +public <B>SAXErrorHandler</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="error(org.xml.sax.SAXParseException)"><!-- --></A><H3> +error</H3> +<PRE> +public void <B>error</B>(org.xml.sax.SAXParseException&nbsp;ex)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>error</CODE> in interface <CODE>org.xml.sax.ErrorHandler</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="fatalError(org.xml.sax.SAXParseException)"><!-- --></A><H3> +fatalError</H3> +<PRE> +public void <B>fatalError</B>(org.xml.sax.SAXParseException&nbsp;ex)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>fatalError</CODE> in interface <CODE>org.xml.sax.ErrorHandler</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="warning(org.xml.sax.SAXParseException)"><!-- --></A><H3> +warning</H3> +<PRE> +public void <B>warning</B>(org.xml.sax.SAXParseException&nbsp;ex)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>warning</CODE> in interface <CODE>org.xml.sax.ErrorHandler</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SAXErrorHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/SAXErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SAXErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html new file mode 100644 index 00000000000..845721b316d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html @@ -0,0 +1,233 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +UnrecognizedElementHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="UnrecognizedElementHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UnrecognizedElementHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/UnrecognizedElementHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UnrecognizedElementHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.xml</FONT> +<BR> +Interface UnrecognizedElementHandler</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>UnrecognizedElementHandler</B></DL> +</PRE> + +<P> +When implemented by an object configured by DOMConfigurator, + the handle method will be called when an unrecognized child + element is encountered. Unrecognized child elements of + the log4j:configuration element will be dispatched to + the logger repository if it supports this interface. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)">parseUnrecognizedElement</A></B>(org.w3c.dom.Element&nbsp;element, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to inform a configured object when + an unrecognized child element is encountered.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)"><!-- --></A><H3> +parseUnrecognizedElement</H3> +<PRE> +boolean <B>parseUnrecognizedElement</B>(org.w3c.dom.Element&nbsp;element, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE> +<DL> +<DD>Called to inform a configured object when + an unrecognized child element is encountered. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>element</CODE> - element, may not be null.<DD><CODE>props</CODE> - properties in force, may be null. +<DT><B>Returns:</B><DD>true if configured object recognized the element +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - throw an exception to prevent activation + of the configured object.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UnrecognizedElementHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/UnrecognizedElementHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UnrecognizedElementHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/XMLLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/XMLLayout.html new file mode 100644 index 00000000000..f0b3cd0bc8f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/XMLLayout.html @@ -0,0 +1,473 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +XMLLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="XMLLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/XMLLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Layout">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.xml</FONT> +<BR> +Class XMLLayout</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">org.apache.log4j.Layout</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.xml.XMLLayout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>XMLLayout</B><DT>extends <A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></DL> +</PRE> + +<P> +The output of the XMLLayout consists of a series of log4j:event + elements as defined in the <a + href="log4j.dtd">log4j.dtd</a>. It does not output a + complete well-formed XML file. The output is designed to be + included as an <em>external entity</em> in a separate file to form + a correct XML file. + + <p>For example, if <code>abc</code> is the name of the file where + the XMLLayout ouput goes, then a well-formed XML file would be: + + <pre> + &lt;?xml version="1.0" ?&gt; + + &lt;!DOCTYPE log4j:eventSet PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd" [&lt;!ENTITY data SYSTEM "abc"&gt;]&gt; + + &lt;log4j:eventSet version="1.2" xmlns:log4j="http://jakarta.apache.org/log4j/"&gt; + &nbsp;&nbsp;&data; + &lt;/log4j:eventSet&gt; + </pre> + + <p>This approach enforces the independence of the XMLLayout and the + appender where it is embedded. + + <p>The <code>version</code> attribute helps components to correctly + intrepret output generated by XMLLayout. The value of this + attribute should be "1.1" for output generated by log4j versions + prior to log4j 1.2 (final release) and "1.2" for relase 1.2 and + later. + + Appenders using this layout should have their encoding + set to UTF-8 or UTF-16, otherwise events containing + non ASCII characters could result in corrupted + log files. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>0.9.0</DD> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Layout.html#LINE_SEP">LINE_SEP</A>, <A HREF="../../../../org/apache/log4j/Layout.html#LINE_SEP_LEN">LINE_SEP_LEN</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XMLLayout.html#XMLLayout()">XMLLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XMLLayout.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No options to activate.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XMLLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> in conformance with the log4j.dtd.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XMLLayout.html#getLocationInfo()">getLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current value of the <b>LocationInfo</b> option.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XMLLayout.html#getProperties()">getProperties</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether MDC key-value pairs should be output.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XMLLayout.html#ignoresThrowable()">ignoresThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The XMLLayout prints and does not ignore exceptions.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XMLLayout.html#setLocationInfo(boolean)">setLocationInfo</A></B>(boolean&nbsp;flag)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>LocationInfo</b> option takes a boolean value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XMLLayout.html#setProperties(boolean)">setProperties</A></B>(boolean&nbsp;flag)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether MDC key-value pairs should be output, default false.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/Layout.html#getContentType()">getContentType</A>, <A HREF="../../../../org/apache/log4j/Layout.html#getFooter()">getFooter</A>, <A HREF="../../../../org/apache/log4j/Layout.html#getHeader()">getHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="XMLLayout()"><!-- --></A><H3> +XMLLayout</H3> +<PRE> +public <B>XMLLayout</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setLocationInfo(boolean)"><!-- --></A><H3> +setLocationInfo</H3> +<PRE> +public void <B>setLocationInfo</B>(boolean&nbsp;flag)</PRE> +<DL> +<DD>The <b>LocationInfo</b> option takes a boolean value. By default, + it is set to false which means there will be no location + information output by this layout. If the the option is set to + true, then the file name and line number of the statement at the + origin of the log statement will be output. + + <p>If you are embedding this layout within an <A HREF="../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><CODE>SMTPAppender</CODE></A> then make sure to set the + <b>LocationInfo</b> option of that appender as well. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocationInfo()"><!-- --></A><H3> +getLocationInfo</H3> +<PRE> +public boolean <B>getLocationInfo</B>()</PRE> +<DL> +<DD>Returns the current value of the <b>LocationInfo</b> option. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setProperties(boolean)"><!-- --></A><H3> +setProperties</H3> +<PRE> +public void <B>setProperties</B>(boolean&nbsp;flag)</PRE> +<DL> +<DD>Sets whether MDC key-value pairs should be output, default false. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>flag</CODE> - new value.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getProperties()"><!-- --></A><H3> +getProperties</H3> +<PRE> +public boolean <B>getProperties</B>()</PRE> +<DL> +<DD>Gets whether MDC key-value pairs should be output. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>true if MDC key-value pairs are output.<DT><B>Since:</B></DT> + <DD>1.2.15</DD> +</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>No options to activate. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +format</H3> +<PRE> +public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>format</B>(<A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>Formats a <A HREF="../../../../org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><CODE>LoggingEvent</CODE></A> in conformance with the log4j.dtd. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Layout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="ignoresThrowable()"><!-- --></A><H3> +ignoresThrowable</H3> +<PRE> +public boolean <B>ignoresThrowable</B>()</PRE> +<DL> +<DD>The XMLLayout prints and does not ignore exceptions. Hence the + return value <code>false</code>. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/Layout.html#ignoresThrowable()">ignoresThrowable</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j">Layout</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/XMLLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Layout">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/DOMConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/DOMConfigurator.html new file mode 100644 index 00000000000..d2e710cab58 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/DOMConfigurator.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.xml.DOMConfigurator (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.xml.DOMConfigurator (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useDOMConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DOMConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.xml.DOMConfigurator</B></H2> +</CENTER> +No usage of org.apache.log4j.xml.DOMConfigurator +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useDOMConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DOMConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/Log4jEntityResolver.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/Log4jEntityResolver.html new file mode 100644 index 00000000000..20d5e74ea85 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/Log4jEntityResolver.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.xml.Log4jEntityResolver (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.xml.Log4jEntityResolver (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useLog4jEntityResolver.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Log4jEntityResolver.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.xml.Log4jEntityResolver</B></H2> +</CENTER> +No usage of org.apache.log4j.xml.Log4jEntityResolver +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useLog4jEntityResolver.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Log4jEntityResolver.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/SAXErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/SAXErrorHandler.html new file mode 100644 index 00000000000..83606979de9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/SAXErrorHandler.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.xml.SAXErrorHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.xml.SAXErrorHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useSAXErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SAXErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.xml.SAXErrorHandler</B></H2> +</CENTER> +No usage of org.apache.log4j.xml.SAXErrorHandler +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useSAXErrorHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SAXErrorHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html new file mode 100644 index 00000000000..0b4359b0626 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html @@ -0,0 +1,182 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.xml.UnrecognizedElementHandler (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.xml.UnrecognizedElementHandler (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useUnrecognizedElementHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UnrecognizedElementHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.xml.UnrecognizedElementHandler</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A> in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A> that implement <A HREF="../../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net">SMTPAppender</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send an e-mail when a specific logging event occurs, typically on + errors or fatal errors.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useUnrecognizedElementHandler.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UnrecognizedElementHandler.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/XMLLayout.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/XMLLayout.html new file mode 100644 index 00000000000..89bd0a9126a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/class-use/XMLLayout.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.xml.XMLLayout (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.xml.XMLLayout (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useXMLLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.xml.XMLLayout</B></H2> +</CENTER> +No usage of org.apache.log4j.xml.XMLLayout +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useXMLLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/resources/org/apache/log4j/extras/log4j.dtd b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/resources/org/apache/log4j/extras/log4j.dtd rename to thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/XMLSample.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/XMLSample.html new file mode 100644 index 00000000000..67c494d11ad --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/XMLSample.html @@ -0,0 +1,269 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +XMLSample (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="XMLSample (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLSample.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml/examples/XMLSample.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLSample.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.xml.examples</FONT> +<BR> +Class XMLSample</H2> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.xml.examples.XMLSample</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>XMLSample</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL> +</PRE> + +<P> +This <a href="doc-files/XMLSample.java">example code</a> shows how to + read an XML based configuration file using a DOM parser. + + <p>Sample XML files <a href="doc-files/sample1.xml">sample1.xml</a> + and <a href="doc-files/sample2.xml">sample2.xml</a> are provided. + + + <p>Note that the log4j.dtd is not in the local directory. + It is found by the class loader. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/xml/examples/XMLSample.html#XMLSample()">XMLSample</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/xml/examples/XMLSample.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;argv)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="XMLSample()"><!-- --></A><H3> +XMLSample</H3> +<PRE> +public <B>XMLSample</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="main(java.lang.String[])"><!-- --></A><H3> +main</H3> +<PRE> +public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;argv)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLSample.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml/examples/XMLSample.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLSample.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/class-use/XMLSample.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/class-use/XMLSample.html new file mode 100644 index 00000000000..8fb35612fc1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/class-use/XMLSample.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.xml.examples.XMLSample (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.xml.examples.XMLSample (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/xml/examples/XMLSample.html" title="class in org.apache.log4j.xml.examples"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/xml/examples//class-useXMLSample.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLSample.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.xml.examples.XMLSample</B></H2> +</CENTER> +No usage of org.apache.log4j.xml.examples.XMLSample +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/xml/examples/XMLSample.html" title="class in org.apache.log4j.xml.examples"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/xml/examples//class-useXMLSample.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLSample.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/XMLSample.java b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/XMLSample.java new file mode 100644 index 00000000000..8ea09f2844c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/XMLSample.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml.examples; + +import org.apache.log4j.xml.DOMConfigurator; +import org.apache.log4j.Logger; + +/** + + This <a href="XMLSample.java">example code</a> shows how to + read an XML based configuration file using a DOM parser. + + <p>Sample XML files <a href="sample1.xml">sample1.xml</a> + and <a href="sample2.xml">sample2.xml</a> are provided. + + + <p>Note that the log4j.dtd is not in the local directory. + It is found by the class loader. + + @author Ceki G&uuml;lc&uuml; + +*/ +public class XMLSample { + + static Logger cat = Logger.getLogger(XMLSample.class); + + public + static + void main(String argv[]) { + + if(argv.length == 1) + init(argv[0]); + else + Usage("Wrong number of arguments."); + sample(); + } + + static + void Usage(String msg) { + System.err.println(msg); + System.err.println( "Usage: java " + XMLSample.class.getName() + + "configFile"); + System.exit(1); + } + + static + void init(String configFile) { + DOMConfigurator.configure(configFile); + } + + static + void sample() { + int i = -1; + cat.debug("Message " + ++i); + cat.warn ("Message " + ++i); + cat.error("Message " + ++i); + Exception e = new Exception("Just testing"); + cat.debug("Message " + ++i, e); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample1.xml b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample1.xml new file mode 100644 index 00000000000..bddc001d1e5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample1.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + <category name="org.apache.log4j.xml"> + <priority value="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="STDOUT" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample2.xml b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample2.xml new file mode 100644 index 00000000000..65cdcb13cd7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample2.xml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + + <appender name="A1" class="org.apache.log4j.FileAppender"> + <param name="File" value="A1.log" /> + <param name="Append" value="false" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%t %-5p %c{2} - %m%n"/> + </layout> + </appender> + + <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + <category name="org.apache.log4j.xml"> + <priority value="debug" /> + <appender-ref ref="A1" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="STDOUT" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample3.xml b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample3.xml new file mode 100644 index 00000000000..cddee2b648a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample3.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + <appender name="A1" class="org.apache.log4j.net.SocketAppender"> + <param name="RemoteHost" value="localhost"/> + <param name="Port" value="5000"/> + <param name="LocationInfo" value="true"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%t %-5p %c{2} - %m%n"/> + </layout> + </appender> + <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + <category name="org.apache.log4j.xml"> + <priority value="debug"/> + <appender-ref ref="A1"/> + </category> + <root> + <priority value="debug"/> + <appender-ref ref="STDOUT"/> + </root> +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample4.xml b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample4.xml new file mode 100644 index 00000000000..9cef69a8de3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample4.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" + configDebug="true"> + + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP"/> + </appender> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + <root> + <priority value="debug"/> + <appender-ref ref="ASYNC"/> + </root> +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample5.xml b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample5.xml new file mode 100644 index 00000000000..b1caacf003e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/doc-files/sample5.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" + configDebug="true"> + + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP"/> + <appender-ref ref="CONSOLE"/> + </appender> + + <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + + + <root> + <priority value="debug"/> + <appender-ref ref="ASYNC"/> + </root> +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-frame.html new file mode 100644 index 00000000000..389e8299473 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-frame.html @@ -0,0 +1,33 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.xml.examples (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../../org/apache/log4j/xml/examples/package-summary.html" target="classFrame">org.apache.log4j.xml.examples</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="XMLSample.html" title="class in org.apache.log4j.xml.examples" target="classFrame">XMLSample</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-summary.html new file mode 100644 index 00000000000..3746b1a2cea --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-summary.html @@ -0,0 +1,159 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.xml.examples (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.xml.examples (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/xml/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;NEXT PACKAGE</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml/examples/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.xml.examples +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/xml/examples/XMLSample.html" title="class in org.apache.log4j.xml.examples">XMLSample</A></B></TD> +<TD>This <a href="doc-files/XMLSample.java">example code</a> shows how to + read an XML based configuration file using a DOM parser.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/xml/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;NEXT PACKAGE</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml/examples/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-tree.html new file mode 100644 index 00000000000..0ec3693b0a0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-tree.html @@ -0,0 +1,154 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.xml.examples Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.xml.examples Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/xml/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml/examples/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.xml.examples +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.xml.examples.<A HREF="../../../../../org/apache/log4j/xml/examples/XMLSample.html" title="class in org.apache.log4j.xml.examples"><B>XMLSample</B></A></UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/xml/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml/examples/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-use.html new file mode 100644 index 00000000000..a0f42f8290a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/examples/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.xml.examples (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.xml.examples (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml/examples/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.xml.examples</B></H2> +</CENTER> +No usage of org.apache.log4j.xml.examples +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml/examples/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-frame.html new file mode 100644 index 00000000000..d769c180907 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-frame.html @@ -0,0 +1,50 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.xml (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/xml/package-summary.html" target="classFrame">org.apache.log4j.xml</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Interfaces</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml" target="classFrame"><I>UnrecognizedElementHandler</I></A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="DOMConfigurator.html" title="class in org.apache.log4j.xml" target="classFrame">DOMConfigurator</A> +<BR> +<A HREF="Log4jEntityResolver.html" title="class in org.apache.log4j.xml" target="classFrame">Log4jEntityResolver</A> +<BR> +<A HREF="SAXErrorHandler.html" title="class in org.apache.log4j.xml" target="classFrame">SAXErrorHandler</A> +<BR> +<A HREF="XMLLayout.html" title="class in org.apache.log4j.xml" target="classFrame">XMLLayout</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-summary.html new file mode 100644 index 00000000000..95824f847af --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-summary.html @@ -0,0 +1,212 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.xml (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.xml (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/examples/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.xml +</H2> +XML based components. +<P> +<B>See:</B> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A> +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Interface Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></B></TD> +<TD>When implemented by an object configured by DOMConfigurator, + the handle method will be called when an unrecognized child + element is encountered.</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml">DOMConfigurator</A></B></TD> +<TD>Use this class to initialize the log4j environment using a DOM tree.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml">Log4jEntityResolver</A></B></TD> +<TD>An <CODE>EntityResolver</CODE> specifically designed to return + <code>log4j.dtd</code> which is embedded within the log4j jar + file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml">SAXErrorHandler</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml">XMLLayout</A></B></TD> +<TD>The output of the XMLLayout consists of a series of log4j:event + elements as defined in the <a + href="log4j.dtd">log4j.dtd</a>.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<A NAME="package_description"><!-- --></A><H2> +Package org.apache.log4j.xml Description +</H2> + +<P> +<p>XML based components. + + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Mon Mar 27 21:17:13 MDT 2000 +<!-- hhmts end --> +<P> + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/examples/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-tree.html new file mode 100644 index 00000000000..7937d381a52 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-tree.html @@ -0,0 +1,165 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.xml Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.xml Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/examples/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.xml +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><B>DOMConfigurator</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/Layout.html" title="class in org.apache.log4j"><B>Layout</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml"><B>XMLLayout</B></A></UL> +<LI TYPE="circle">org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml"><B>Log4jEntityResolver</B></A> (implements org.xml.sax.EntityResolver) +<LI TYPE="circle">org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml"><B>SAXErrorHandler</B></A> (implements org.xml.sax.ErrorHandler) +</UL> +</UL> +<H2> +Interface Hierarchy +</H2> +<UL> +<LI TYPE="circle">org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><B>UnrecognizedElementHandler</B></A></UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/varia/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/examples/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-use.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-use.html new file mode 100644 index 00000000000..258489e2954 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/org/apache/log4j/xml/package-use.html @@ -0,0 +1,173 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.xml (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.xml (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.xml</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.net"><B>org.apache.log4j.net</B></A></TD> +<TD>Package for remote logging.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.net"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A> used by <A HREF="../../../../org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html#org.apache.log4j.net"><B>UnrecognizedElementHandler</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When implemented by an object configured by DOMConfigurator, + the handle method will be called when an unrecognized child + element is encountered.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/overview-frame.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/overview-frame.html new file mode 100644 index 00000000000..1d364b58fc9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/overview-frame.html @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Overview List (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TH ALIGN="left" NOWRAP><FONT size="+1" CLASS="FrameTitleFont"> +<B></B></FONT></TH> +</TR> +</TABLE> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" target="packageFrame">All Classes</A></FONT> +<P> +<FONT size="+1" CLASS="FrameHeadingFont"> +Packages</FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/package-frame.html" target="packageFrame">org.apache.log4j</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/chainsaw/package-frame.html" target="packageFrame">org.apache.log4j.chainsaw</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/config/package-frame.html" target="packageFrame">org.apache.log4j.config</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/helpers/package-frame.html" target="packageFrame">org.apache.log4j.helpers</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/jdbc/package-frame.html" target="packageFrame">org.apache.log4j.jdbc</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/jmx/package-frame.html" target="packageFrame">org.apache.log4j.jmx</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/lf5/package-frame.html" target="packageFrame">org.apache.log4j.lf5</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/lf5/util/package-frame.html" target="packageFrame">org.apache.log4j.lf5.util</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/lf5/viewer/package-frame.html" target="packageFrame">org.apache.log4j.lf5.viewer</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/package-frame.html" target="packageFrame">org.apache.log4j.lf5.viewer.categoryexplorer</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/lf5/viewer/configure/package-frame.html" target="packageFrame">org.apache.log4j.lf5.viewer.configure</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/net/package-frame.html" target="packageFrame">org.apache.log4j.net</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/nt/package-frame.html" target="packageFrame">org.apache.log4j.nt</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/or/package-frame.html" target="packageFrame">org.apache.log4j.or</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/or/jms/package-frame.html" target="packageFrame">org.apache.log4j.or.jms</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/or/sax/package-frame.html" target="packageFrame">org.apache.log4j.or.sax</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/pattern/package-frame.html" target="packageFrame">org.apache.log4j.pattern</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/spi/package-frame.html" target="packageFrame">org.apache.log4j.spi</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/varia/package-frame.html" target="packageFrame">org.apache.log4j.varia</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/xml/package-frame.html" target="packageFrame">org.apache.log4j.xml</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/xml/examples/package-frame.html" target="packageFrame">org.apache.log4j.xml.examples</A></FONT> +<BR> +</TD> +</TR> +</TABLE> + +<P> +&nbsp; +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/overview-summary.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/overview-summary.html new file mode 100644 index 00000000000..95f48a058e3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/overview-summary.html @@ -0,0 +1,242 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Overview (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Overview (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?overview-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +Apache Log4j 1.2.16 API +</H1> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Packages</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/package-summary.html">org.apache.log4j</A></B></TD> +<TD>The main log4j package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/chainsaw/package-summary.html">org.apache.log4j.chainsaw</A></B></TD> +<TD>Chainsaw is a GUI log viewer and filter for the log4j +package.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/config/package-summary.html">org.apache.log4j.config</A></B></TD> +<TD>Package used in getting/setting component properties.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></B></TD> +<TD>This package is used internally.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</A></B></TD> +<TD>The JDBCAppender provides for sending log events to a database.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</A></B></TD> +<TD>This package lets you manage log4j settings using JMX.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/net/package-summary.html">org.apache.log4j.net</A></B></TD> +<TD>Package for remote logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</A></B></TD> +<TD>Package for NT event logging.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/or/package-summary.html">org.apache.log4j.or</A></B></TD> +<TD>ObjectRenders are resposible for rendering messages depending on +their class type.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/or/jms/package-summary.html">org.apache.log4j.or.jms</A></B></TD> +<TD>This package contains the MessageRenderer which renders objects of + type <code>javax.jms.Message</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/or/sax/package-summary.html">org.apache.log4j.or.sax</A></B></TD> +<TD>This package contains the AttributesRenderer which renders object of + class <code>org.xml.sax.Attributes</code>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></B></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</A></B></TD> +<TD>Contains part of the System Programming Interface (SPI) needed to +extend log4j.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A></B></TD> +<TD>Contains various appenders, filters and other odds and ends.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></B></TD> +<TD>XML based components.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/xml/examples/package-summary.html">org.apache.log4j.xml.examples</A></B></TD> +<TD>&nbsp;</TD> +</TR> +</TABLE> + +<P> +&nbsp;<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?overview-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/overview-tree.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/overview-tree.html new file mode 100644 index 00000000000..d00fcea6fa1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/overview-tree.html @@ -0,0 +1,325 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Class Hierarchy (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Class Hierarchy (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For All Packages</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="org/apache/log4j/package-tree.html">org.apache.log4j</A>, <A HREF="org/apache/log4j/chainsaw/package-tree.html">org.apache.log4j.chainsaw</A>, <A HREF="org/apache/log4j/config/package-tree.html">org.apache.log4j.config</A>, <A HREF="org/apache/log4j/helpers/package-tree.html">org.apache.log4j.helpers</A>, <A HREF="org/apache/log4j/jdbc/package-tree.html">org.apache.log4j.jdbc</A>, <A HREF="org/apache/log4j/jmx/package-tree.html">org.apache.log4j.jmx</A>, <A HREF="org/apache/log4j/lf5/package-tree.html">org.apache.log4j.lf5</A>, <A HREF="org/apache/log4j/lf5/util/package-tree.html">org.apache.log4j.lf5.util</A>, <A HREF="org/apache/log4j/lf5/viewer/package-tree.html">org.apache.log4j.lf5.viewer</A>, <A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/package-tree.html">org.apache.log4j.lf5.viewer.categoryexplorer</A>, <A HREF="org/apache/log4j/lf5/viewer/configure/package-tree.html">org.apache.log4j.lf5.viewer.configure</A>, <A HREF="org/apache/log4j/net/package-tree.html">org.apache.log4j.net</A>, <A HREF="org/apache/log4j/nt/package-tree.html">org.apache.log4j.nt</A>, <A HREF="org/apache/log4j/or/package-tree.html">org.apache.log4j.or</A>, <A HREF="org/apache/log4j/or/jms/package-tree.html">org.apache.log4j.or.jms</A>, <A HREF="org/apache/log4j/or/sax/package-tree.html">org.apache.log4j.or.sax</A>, <A HREF="org/apache/log4j/pattern/package-tree.html">org.apache.log4j.pattern</A>, <A HREF="org/apache/log4j/spi/package-tree.html">org.apache.log4j.spi</A>, <A HREF="org/apache/log4j/varia/package-tree.html">org.apache.log4j.varia</A>, <A HREF="org/apache/log4j/xml/package-tree.html">org.apache.log4j.xml</A>, <A HREF="org/apache/log4j/xml/examples/package-tree.html">org.apache.log4j.xml.examples</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL> +<LI TYPE="circle">org.apache.log4j.jmx.<A HREF="org/apache/log4j/jmx/AbstractDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>AbstractDynamicMBean</B></A> (implements javax.management.DynamicMBean, javax.management.MBeanRegistration) +<UL> +<LI TYPE="circle">org.apache.log4j.jmx.<A HREF="org/apache/log4j/jmx/AppenderDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>AppenderDynamicMBean</B></A><LI TYPE="circle">org.apache.log4j.jmx.<A HREF="org/apache/log4j/jmx/HierarchyDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>HierarchyDynamicMBean</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi">HierarchyEventListener</A>, javax.management.NotificationBroadcaster) +<LI TYPE="circle">org.apache.log4j.jmx.<A HREF="org/apache/log4j/jmx/LayoutDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>LayoutDynamicMBean</B></A><LI TYPE="circle">org.apache.log4j.jmx.<A HREF="org/apache/log4j/jmx/LoggerDynamicMBean.html" title="class in org.apache.log4j.jmx"><B>LoggerDynamicMBean</B></A> (implements javax.management.NotificationListener) +</UL> +<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table"><B>AbstractTableModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A>) +<UL> +<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table"><B>DefaultTableModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableModel</B></A></UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer"><B>FilteredLogTableModel</B></A></UL> +<LI TYPE="circle">org.apache.log4j.jmx.<A HREF="org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx"><B>Agent</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/AppenderAttachableImpl.html" title="class in org.apache.log4j.helpers"><B>AppenderAttachableImpl</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A>) +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/AppenderFinalizer.html" title="class in org.apache.log4j.lf5"><B>AppenderFinalizer</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/AppenderSkeleton.html" title="class in org.apache.log4j"><B>AppenderSkeleton</B></A> (implements org.apache.log4j.<A HREF="org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>, org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/AsyncAppender.html" title="class in org.apache.log4j"><B>AsyncAppender</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A>) +<LI TYPE="circle">org.apache.log4j.jdbc.<A HREF="org/apache/log4j/jdbc/JDBCAppender.html" title="class in org.apache.log4j.jdbc"><B>JDBCAppender</B></A> (implements org.apache.log4j.<A HREF="org/apache/log4j/Appender.html" title="interface in org.apache.log4j">Appender</A>) +<LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/JMSAppender.html" title="class in org.apache.log4j.net"><B>JMSAppender</B></A><LI TYPE="circle">org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/LF5Appender.html" title="class in org.apache.log4j.lf5"><B>LF5Appender</B></A><LI TYPE="circle">org.apache.log4j.nt.<A HREF="org/apache/log4j/nt/NTEventLogAppender.html" title="class in org.apache.log4j.nt"><B>NTEventLogAppender</B></A><LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/NullAppender.html" title="class in org.apache.log4j.varia"><B>NullAppender</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/SMTPAppender.html" title="class in org.apache.log4j.net"><B>SMTPAppender</B></A> (implements org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A>) +<LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/SocketAppender.html" title="class in org.apache.log4j.net"><B>SocketAppender</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/SocketHubAppender.html" title="class in org.apache.log4j.net"><B>SocketHubAppender</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/SyslogAppender.html" title="class in org.apache.log4j.net"><B>SyslogAppender</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/TelnetAppender.html" title="class in org.apache.log4j.net"><B>TelnetAppender</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/WriterAppender.html" title="class in org.apache.log4j"><B>WriterAppender</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/ConsoleAppender.html" title="class in org.apache.log4j"><B>ConsoleAppender</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/FileAppender.html" title="class in org.apache.log4j"><B>FileAppender</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/DailyRollingFileAppender.html" title="class in org.apache.log4j"><B>DailyRollingFileAppender</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/RollingFileAppender.html" title="class in org.apache.log4j"><B>RollingFileAppender</B></A><UL> +<LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/ExternallyRolledFileAppender.html" title="class in org.apache.log4j.varia"><B>ExternallyRolledFileAppender</B></A></UL> +</UL> +</UL> +</UL> +<LI TYPE="circle">org.apache.log4j.or.sax.<A HREF="org/apache/log4j/or/sax/AttributesRenderer.html" title="class in org.apache.log4j.or.sax"><B>AttributesRenderer</B></A> (implements org.apache.log4j.or.<A HREF="org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/BasicConfigurator.html" title="class in org.apache.log4j"><B>BasicConfigurator</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/BoundedFIFO.html" title="class in org.apache.log4j.helpers"><B>BoundedFIFO</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/Category.html" title="class in org.apache.log4j"><B>Category</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/Logger.html" title="class in org.apache.log4j"><B>Logger</B></A><UL> +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi"><B>NOPLogger</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi"><B>RootCategory</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><B>RootLogger</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryAbstractCellEditor</B></A> (implements javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellEditor.html?is-external=true" title="class or interface in javax.swing.table">TableCellEditor</A>, javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellEditor</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeEditor</B></A></UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryElement</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryExplorerLogRecordFilter</B></A> (implements org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A>) +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryPath</B></A><LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt"><B>Component</B></A> (implements java.awt.image.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt"><B>Container</B></A><UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing"><B>JComponent</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing"><B>JLabel</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/SwingConstants.html?is-external=true" title="class or interface in javax.swing">SwingConstants</A>) +<UL> +<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table"><B>DefaultTableCellRenderer</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">TableCellRenderer</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableRowRenderer</B></A></UL> +<LI TYPE="circle">javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree"><B>DefaultTreeCellRenderer</B></A> (implements javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellRenderer</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeRenderer</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNodeEditorRenderer</B></A></UL> +</UL> +</UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing"><B>JTable</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/CellEditorListener.html?is-external=true" title="class or interface in javax.swing.event">CellEditorListener</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/ListSelectionListener.html?is-external=true" title="class or interface in javax.swing.event">ListSelectionListener</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/RowSorterListener.html?is-external=true" title="class or interface in javax.swing.event">RowSorterListener</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/Scrollable.html?is-external=true" title="class or interface in javax.swing">Scrollable</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TableColumnModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableColumnModelListener</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTable</B></A></UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing"><B>JTree</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/Scrollable.html?is-external=true" title="class or interface in javax.swing">Scrollable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryExplorerTree</B></A></UL> +</UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt"><B>Window</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>) +<UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt"><B>Dialog</B></A><UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing"><B>JDialog</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/RootPaneContainer.html?is-external=true" title="class or interface in javax.swing">RootPaneContainer</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5Dialog</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5ErrorDialog</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5InputDialog</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer"><B>LogFactor5LoadingDialog</B></A></UL> +</UL> +</UL> +<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt"><B>Frame</B></A> (implements java.awt.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>) +<UL> +<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing"><B>JFrame</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/RootPaneContainer.html?is-external=true" title="class or interface in javax.swing">RootPaneContainer</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.chainsaw.<A HREF="org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw"><B>Main</B></A></UL> +</UL> +</UL> +</UL> +</UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.configure.<A HREF="org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><B>ConfigurationManager</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/CyclicBuffer.html" title="class in org.apache.log4j.helpers"><B>CyclicBuffer</B></A><LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util"><B>DateFormatManager</B></A><LI TYPE="circle">org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/DefaultLF5Configurator.html" title="class in org.apache.log4j.lf5"><B>DefaultLF5Configurator</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A>) +<LI TYPE="circle">javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree"><B>DefaultMutableTreeNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/MutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree">MutableTreeNode</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryNode</B></A></UL> +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/DefaultRepositorySelector.html" title="class in org.apache.log4j.spi"><B>DefaultRepositorySelector</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi">RepositorySelector</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/DefaultThrowableRenderer.html" title="class in org.apache.log4j"><B>DefaultThrowableRenderer</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A>) +<LI TYPE="circle">javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree"><B>DefaultTreeCellEditor</B></A> (implements java.awt.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A>, javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeCellEditor.html?is-external=true" title="class or interface in javax.swing.tree">TreeCellEditor</A>, javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeSelectionListener.html?is-external=true" title="class or interface in javax.swing.event">TreeSelectionListener</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryImmediateEditor</B></A></UL> +<LI TYPE="circle">javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true" title="class or interface in javax.swing.tree"><B>DefaultTreeModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>CategoryExplorerModel</B></A></UL> +<LI TYPE="circle">org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/DOMConfigurator.html" title="class in org.apache.log4j.xml"><B>DOMConfigurator</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/EnhancedThrowableRenderer.html" title="class in org.apache.log4j"><B>EnhancedThrowableRenderer</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi">ThrowableRenderer</A>) +<LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/FallbackErrorHandler.html" title="class in org.apache.log4j.varia"><B>FallbackErrorHandler</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>) +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>FileDatePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/Filter.html" title="class in org.apache.log4j.spi"><B>Filter</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/DenyAllFilter.html" title="class in org.apache.log4j.varia"><B>DenyAllFilter</B></A><LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/LevelMatchFilter.html" title="class in org.apache.log4j.varia"><B>LevelMatchFilter</B></A><LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/LevelRangeFilter.html" title="class in org.apache.log4j.varia"><B>LevelRangeFilter</B></A><LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/StringMatchFilter.html" title="class in org.apache.log4j.varia"><B>StringMatchFilter</B></A></UL> +<LI TYPE="circle">java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/Format.html?is-external=true" title="class or interface in java.text"><B>Format</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.text.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text"><B>DateFormat</B></A><UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>AbsoluteTimeDateFormat</B></A><UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>DateTimeDateFormat</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers"><B>ISO8601DateFormat</B></A></UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern"><B>CachedDateFormat</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers"><B>RelativeTimeDateFormat</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/FormattingInfo.html" title="class in org.apache.log4j.helpers"><B>FormattingInfo</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><B>FormattingInfo</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/Hierarchy.html" title="class in org.apache.log4j"><B>Hierarchy</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>, org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi">RendererSupport</A>, org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi">ThrowableRendererSupport</A>) +<LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/JMSSink.html" title="class in org.apache.log4j.net"><B>JMSSink</B></A> (implements javax.jms.MessageListener) +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/Layout.html" title="class in org.apache.log4j"><B>Layout</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/DateLayout.html" title="class in org.apache.log4j.helpers"><B>DateLayout</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/TTCCLayout.html" title="class in org.apache.log4j"><B>TTCCLayout</B></A></UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedPatternLayout</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/HTMLLayout.html" title="class in org.apache.log4j"><B>HTMLLayout</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/PatternLayout.html" title="class in org.apache.log4j"><B>PatternLayout</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/SimpleLayout.html" title="class in org.apache.log4j"><B>SimpleLayout</B></A><LI TYPE="circle">org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/XMLLayout.html" title="class in org.apache.log4j.xml"><B>XMLLayout</B></A></UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LF5SwingUtils.html" title="class in org.apache.log4j.lf5.viewer"><B>LF5SwingUtils</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/Loader.html" title="class in org.apache.log4j.helpers"><B>Loader</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi"><B>LocationInfo</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/Log4jEntityResolver.html" title="class in org.apache.log4j.xml"><B>Log4jEntityResolver</B></A> (implements org.xml.sax.EntityResolver) +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" title="class in org.apache.log4j.lf5.viewer"><B>LogBrokerMonitor</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern"><B>LogEvent</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="org/apache/log4j/lf5/util/LogFileParser.html" title="class in org.apache.log4j.lf5.util"><B>LogFileParser</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>) +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi"><B>LoggingEvent</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5"><B>LogLevel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/LogLog.html" title="class in org.apache.log4j.helpers"><B>LogLog</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><B>LogManager</B></A><LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="org/apache/log4j/lf5/util/LogMonitorAdapter.html" title="class in org.apache.log4j.lf5.util"><B>LogMonitorAdapter</B></A><LI TYPE="circle">org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5"><B>LogRecord</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util"><B>AdapterLogRecord</B></A><LI TYPE="circle">org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5"><B>Log4JLogRecord</B></A></UL> +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableColumn</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>LogXF</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>LogMF</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>LogSF</B></A></UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/MDC.html" title="class in org.apache.log4j"><B>MDC</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><B>MDCKeySetExtractor</B></A><LI TYPE="circle">org.apache.log4j.or.jms.<A HREF="org/apache/log4j/or/jms/MessageRenderer.html" title="class in org.apache.log4j.or.jms"><B>MessageRenderer</B></A> (implements org.apache.log4j.or.<A HREF="org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>) +<LI TYPE="circle">org.apache.log4j.lf5.viewer.configure.<A HREF="org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" title="class in org.apache.log4j.lf5.viewer.configure"><B>MRUFileManager</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><B>NameAbbreviator</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/NDC.html" title="class in org.apache.log4j"><B>NDC</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/NOPLoggerRepository.html" title="class in org.apache.log4j.spi"><B>NOPLoggerRepository</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi">LoggerRepository</A>) +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/NullEnumeration.html" title="class in org.apache.log4j.helpers"><B>NullEnumeration</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</A>&lt;E&gt;) +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/OnlyOnceErrorHandler.html" title="class in org.apache.log4j.helpers"><B>OnlyOnceErrorHandler</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi">ErrorHandler</A>) +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/OptionConverter.html" title="class in org.apache.log4j.helpers"><B>OptionConverter</B></A><LI TYPE="circle">org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/PassingLogRecordFilter.html" title="class in org.apache.log4j.lf5"><B>PassingLogRecordFilter</B></A> (implements org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A>) +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/PatternConverter.html" title="class in org.apache.log4j.helpers"><B>PatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern"><B>BridgePatternConverter</B></A></UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><B>PatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>IntegerPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LoggingEventPatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>DatePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>FileLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>FullLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LevelPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LineLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LineSeparatorPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LiteralPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern"><B>MessagePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>MethodLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NamePatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>ClassNamePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LoggerPatternConverter</B></A></UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern"><B>NDCPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern"><B>PropertiesPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern"><B>RelativeTimePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern"><B>SequenceNumberPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><B>ThreadPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>ThrowableInformationPatternConverter</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/PatternParser.html" title="class in org.apache.log4j.helpers"><B>PatternParser</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><B>BridgePatternParser</B></A></UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>PatternParser</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/Priority.html" title="class in org.apache.log4j"><B>Priority</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/Level.html" title="class in org.apache.log4j"><B>Level</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +</UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/PropertyConfigurator.html" title="class in org.apache.log4j"><B>PropertyConfigurator</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A>) +<LI TYPE="circle">org.apache.log4j.config.<A HREF="org/apache/log4j/config/PropertyGetter.html" title="class in org.apache.log4j.config"><B>PropertyGetter</B></A><LI TYPE="circle">org.apache.log4j.config.<A HREF="org/apache/log4j/config/PropertyPrinter.html" title="class in org.apache.log4j.config"><B>PropertyPrinter</B></A> (implements org.apache.log4j.config.<A HREF="org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config">PropertyGetter.PropertyCallback</A>) +<LI TYPE="circle">org.apache.log4j.config.<A HREF="org/apache/log4j/config/PropertySetter.html" title="class in org.apache.log4j.config"><B>PropertySetter</B></A><LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/ReloadingPropertyConfigurator.html" title="class in org.apache.log4j.varia"><B>ReloadingPropertyConfigurator</B></A> (implements org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi">Configurator</A>) +<LI TYPE="circle">org.apache.log4j.or.<A HREF="org/apache/log4j/or/RendererMap.html" title="class in org.apache.log4j.or"><B>RendererMap</B></A><LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="org/apache/log4j/lf5/util/Resource.html" title="class in org.apache.log4j.lf5.util"><B>Resource</B></A><LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="org/apache/log4j/lf5/util/ResourceUtils.html" title="class in org.apache.log4j.lf5.util"><B>ResourceUtils</B></A><LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/Roller.html" title="class in org.apache.log4j.varia"><B>Roller</B></A><LI TYPE="circle">org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/SAXErrorHandler.html" title="class in org.apache.log4j.xml"><B>SAXErrorHandler</B></A> (implements org.xml.sax.ErrorHandler) +<LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/SimpleSocketServer.html" title="class in org.apache.log4j.net"><B>SimpleSocketServer</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/SocketNode.html" title="class in org.apache.log4j.net"><B>SocketNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>) +<LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/SocketServer.html" title="class in org.apache.log4j.net"><B>SocketServer</B></A><LI TYPE="circle">org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/StartLogFactor5.html" title="class in org.apache.log4j.lf5"><B>StartLogFactor5</B></A><LI TYPE="circle">org.apache.log4j.lf5.util.<A HREF="org/apache/log4j/lf5/util/StreamUtils.html" title="class in org.apache.log4j.lf5.util"><B>StreamUtils</B></A><LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang"><B>Thread</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/FileWatchdog.html" title="class in org.apache.log4j.helpers"><B>FileWatchdog</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/TelnetAppender.SocketHandler.html" title="class in org.apache.log4j.net"><B>TelnetAppender.SocketHandler</B></A></UL> +<LI TYPE="circle">org.apache.log4j.or.<A HREF="org/apache/log4j/or/ThreadGroupRenderer.html" title="class in org.apache.log4j.or"><B>ThreadGroupRenderer</B></A> (implements org.apache.log4j.or.<A HREF="org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or">ObjectRenderer</A>) +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang"><B>ThreadLocal</B></A>&lt;T&gt;<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/InheritableThreadLocal.html?is-external=true" title="class or interface in java.lang"><B>InheritableThreadLocal</B></A>&lt;T&gt;<UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/ThreadLocalMap.html" title="class in org.apache.log4j.helpers"><B>ThreadLocalMap</B></A></UL> +</UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<UL> +<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL> +<LI TYPE="circle">org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5"><B>LogLevelFormatException</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer"><B>LogTableColumnFormatException</B></A><LI TYPE="circle">org.apache.log4j.config.<A HREF="org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config"><B>PropertySetterException</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi"><B>ThrowableInformation</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>) +<LI TYPE="circle">org.apache.log4j.lf5.viewer.<A HREF="org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" title="class in org.apache.log4j.lf5.viewer"><B>TrackingAdjustmentListener</B></A> (implements java.awt.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/AdjustmentListener.html?is-external=true" title="class or interface in java.awt.event">AdjustmentListener</A>) +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/Transform.html" title="class in org.apache.log4j.helpers"><B>Transform</B></A><LI TYPE="circle">org.apache.log4j.lf5.viewer.categoryexplorer.<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer"><B>TreeModelAdapter</B></A> (implements javax.swing.event.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A>) +<LI TYPE="circle">java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><B>Writer</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</A>) +<UL> +<LI TYPE="circle">java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/FilterWriter.html?is-external=true" title="class or interface in java.io"><B>FilterWriter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/QuietWriter.html" title="class in org.apache.log4j.helpers"><B>QuietWriter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/CountingQuietWriter.html" title="class in org.apache.log4j.helpers"><B>CountingQuietWriter</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/SyslogQuietWriter.html" title="class in org.apache.log4j.helpers"><B>SyslogQuietWriter</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/SyslogWriter.html" title="class in org.apache.log4j.helpers"><B>SyslogWriter</B></A></UL> +<LI TYPE="circle">org.apache.log4j.xml.examples.<A HREF="org/apache/log4j/xml/examples/XMLSample.html" title="class in org.apache.log4j.xml.examples"><B>XMLSample</B></A><LI TYPE="circle">org.apache.log4j.net.<A HREF="org/apache/log4j/net/ZeroConfSupport.html" title="class in org.apache.log4j.net"><B>ZeroConfSupport</B></A></UL> +</UL> +<H2> +Interface Hierarchy +</H2> +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/Appender.html" title="interface in org.apache.log4j"><B>Appender</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi"><B>AppenderAttachable</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/Configurator.html" title="interface in org.apache.log4j.spi"><B>Configurator</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ErrorCode.html" title="interface in org.apache.log4j.spi"><B>ErrorCode</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/HierarchyEventListener.html" title="interface in org.apache.log4j.spi"><B>HierarchyEventListener</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><B>LoggerFactory</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/LoggerRepository.html" title="interface in org.apache.log4j.spi"><B>LoggerRepository</B></A><LI TYPE="circle">org.apache.log4j.lf5.<A HREF="org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5"><B>LogRecordFilter</B></A><LI TYPE="circle">org.apache.log4j.or.<A HREF="org/apache/log4j/or/ObjectRenderer.html" title="interface in org.apache.log4j.or"><B>ObjectRenderer</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/OptionHandler.html" title="interface in org.apache.log4j.spi"><B>OptionHandler</B></A><UL> +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ErrorHandler.html" title="interface in org.apache.log4j.spi"><B>ErrorHandler</B></A></UL> +<LI TYPE="circle">org.apache.log4j.config.<A HREF="org/apache/log4j/config/PropertyGetter.PropertyCallback.html" title="interface in org.apache.log4j.config"><B>PropertyGetter.PropertyCallback</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/RendererSupport.html" title="interface in org.apache.log4j.spi"><B>RendererSupport</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/RepositorySelector.html" title="interface in org.apache.log4j.spi"><B>RepositorySelector</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ThrowableRenderer.html" title="interface in org.apache.log4j.spi"><B>ThrowableRenderer</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/ThrowableRendererSupport.html" title="interface in org.apache.log4j.spi"><B>ThrowableRendererSupport</B></A><LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/TriggeringEventEvaluator.html" title="interface in org.apache.log4j.spi"><B>TriggeringEventEvaluator</B></A><LI TYPE="circle">org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><B>UnrecognizedElementHandler</B></A></UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/package-list b/thirdparty/apache-log4j-1.2.16/site/apidocs/package-list new file mode 100644 index 00000000000..05ec5474ae9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/package-list @@ -0,0 +1,21 @@ +org.apache.log4j +org.apache.log4j.chainsaw +org.apache.log4j.config +org.apache.log4j.helpers +org.apache.log4j.jdbc +org.apache.log4j.jmx +org.apache.log4j.lf5 +org.apache.log4j.lf5.util +org.apache.log4j.lf5.viewer +org.apache.log4j.lf5.viewer.categoryexplorer +org.apache.log4j.lf5.viewer.configure +org.apache.log4j.net +org.apache.log4j.nt +org.apache.log4j.or +org.apache.log4j.or.jms +org.apache.log4j.or.sax +org.apache.log4j.pattern +org.apache.log4j.spi +org.apache.log4j.varia +org.apache.log4j.xml +org.apache.log4j.xml.examples diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/packages b/thirdparty/apache-log4j-1.2.16/site/apidocs/packages new file mode 100644 index 00000000000..5272eb63d20 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/packages @@ -0,0 +1,21 @@ +org.apache.log4j +org.apache.log4j.jdbc +org.apache.log4j.config +org.apache.log4j.or +org.apache.log4j.or.sax +org.apache.log4j.or.jms +org.apache.log4j.jmx +org.apache.log4j.helpers +org.apache.log4j.spi +org.apache.log4j.lf5 +org.apache.log4j.lf5.util +org.apache.log4j.lf5.viewer +org.apache.log4j.lf5.viewer.configure +org.apache.log4j.lf5.viewer.categoryexplorer +org.apache.log4j.xml +org.apache.log4j.pattern +org.apache.log4j.nt +org.apache.log4j.varia +org.apache.log4j.chainsaw +org.apache.log4j.net +org.apache.log4j.xml.examples \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/resources/inherit.gif b/thirdparty/apache-log4j-1.2.16/site/apidocs/resources/inherit.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/resources/inherit.gif rename to thirdparty/apache-log4j-1.2.16/site/apidocs/resources/inherit.gif diff --git a/thirdparty/apache-log4j-1.2.16/site/apidocs/serialized-form.html b/thirdparty/apache-log4j-1.2.16/site/apidocs/serialized-form.html new file mode 100644 index 00000000000..4bb0abcd24a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/apidocs/serialized-form.html @@ -0,0 +1,1708 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_16) --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Serialized Form (Apache Log4j 1.2.16 API) +</TITLE> + +<META NAME="date" CONTENT="2010-03-30"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Serialized Form (Apache Log4j 1.2.16 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +Serialized Form</H1> +</CENTER> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.Level"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/Level.html" title="class in org.apache.log4j">org.apache.log4j.Level</A> extends <A HREF="org/apache/log4j/Priority.html" title="class in org.apache.log4j">Priority</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>3491141966387921974L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectInputStream.html?is-external=true" title="class or interface in java.io">ObjectInputStream</A>&nbsp;s) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A>, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></PRE> +<DL> +<DD>Custom deserialization of Level. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if IO exception. +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></CODE> - if class not found.</DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectOutputStream.html?is-external=true" title="class or interface in java.io">ObjectOutputStream</A>&nbsp;s) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD>Serialize level. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if exception during serialization.</DD> +</DL> +</DL> +<HR> +<A NAME="readResolve()"><!-- --></A><H3> +readResolve</H3> +<PRE> +private <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>readResolve</B>() + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectStreamException.html?is-external=true" title="class or interface in java.io">ObjectStreamException</A></PRE> +<DL> +<DD>Resolved deserialized level to one of the stock instances. + May be overriden in classes derived from Level. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectStreamException.html?is-external=true" title="class or interface in java.io">ObjectStreamException</A></CODE> - if exception during resolution.</DD> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.chainsaw</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.chainsaw.Main"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/chainsaw/Main.html" title="class in org.apache.log4j.chainsaw">org.apache.log4j.chainsaw.Main</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.config</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.config.PropertySetterException"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/config/PropertySetterException.html" title="class in org.apache.log4j.config">org.apache.log4j.config.PropertySetterException</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-1352613734254235861L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +rootCause</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> <B>rootCause</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.helpers</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.helpers.AbsoluteTimeDateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.AbsoluteTimeDateFormat</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-388856345976723342L + +<P> + +<P> +<A NAME="org.apache.log4j.helpers.DateTimeDateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/helpers/DateTimeDateFormat.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.DateTimeDateFormat</A> extends <A HREF="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>5547637772208514971L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +shortMonths</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>shortMonths</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.helpers.ISO8601DateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/helpers/ISO8601DateFormat.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.ISO8601DateFormat</A> extends <A HREF="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" title="class in org.apache.log4j.helpers">AbsoluteTimeDateFormat</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-759840745298755296L + +<P> + +<P> +<A NAME="org.apache.log4j.helpers.RelativeTimeDateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/helpers/RelativeTimeDateFormat.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.RelativeTimeDateFormat</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>7055751607085611984L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +startTime</H3> +<PRE> +long <B>startTime</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.lf5</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.lf5.Log4JLogRecord"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/Log4JLogRecord.html" title="class in org.apache.log4j.lf5">org.apache.log4j.lf5.Log4JLogRecord</A> extends <A HREF="org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> + +<P> +<A NAME="org.apache.log4j.lf5.LogLevel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">org.apache.log4j.lf5.LogLevel</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_label</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_label</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_precedence</H3> +<PRE> +int <B>_precedence</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.lf5.LogLevelFormatException"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/LogLevelFormatException.html" title="class in org.apache.log4j.lf5">org.apache.log4j.lf5.LogLevelFormatException</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> + +<P> +<A NAME="org.apache.log4j.lf5.LogRecord"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">org.apache.log4j.lf5.LogRecord</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_level</H3> +<PRE> +<A HREF="org/apache/log4j/lf5/LogLevel.html" title="class in org.apache.log4j.lf5">LogLevel</A> <B>_level</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_message</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_message</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_sequenceNumber</H3> +<PRE> +long <B>_sequenceNumber</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_millis</H3> +<PRE> +long <B>_millis</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_category</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_category</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_thread</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_thread</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_thrownStackTrace</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_thrownStackTrace</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_thrown</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> <B>_thrown</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_ndc</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_ndc</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_location</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_location</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.lf5.util</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.lf5.util.AdapterLogRecord"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/util/AdapterLogRecord.html" title="class in org.apache.log4j.lf5.util">org.apache.log4j.lf5.util.AdapterLogRecord</A> extends <A HREF="org/apache/log4j/lf5/LogRecord.html" title="class in org.apache.log4j.lf5">LogRecord</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.lf5.viewer</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.FilteredLogTableModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.FilteredLogTableModel</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">AbstractTableModel</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_filter</H3> +<PRE> +<A HREF="org/apache/log4j/lf5/LogRecordFilter.html" title="interface in org.apache.log4j.lf5">LogRecordFilter</A> <B>_filter</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_allRecords</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</A>&gt; <B>_allRecords</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_filteredRecords</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</A>&gt; <B>_filteredRecords</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_maxNumberOfLogRecords</H3> +<PRE> +int <B>_maxNumberOfLogRecords</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colNames</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>_colNames</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.LogFactor5Dialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogFactor5Dialog</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.LogFactor5ErrorDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogFactor5ErrorDialog</A> extends <A HREF="org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.LogFactor5InputDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogFactor5InputDialog</A> extends <A HREF="org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_textField</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>_textField</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.LogFactor5LoadingDialog"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogFactor5LoadingDialog</A> extends <A HREF="org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" title="class in org.apache.log4j.lf5.viewer">LogFactor5Dialog</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.LogTable"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/LogTable.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogTable</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>4867085140195148458L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_rowHeight</H3> +<PRE> +int <B>_rowHeight</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_detailTextArea</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextArea.html?is-external=true" title="class or interface in javax.swing">JTextArea</A> <B>_detailTextArea</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_numCols</H3> +<PRE> +int <B>_numCols</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_tableColumns</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableColumn.html?is-external=true" title="class or interface in javax.swing.table">TableColumn</A>[] <B>_tableColumns</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colWidths</H3> +<PRE> +int[] <B>_colWidths</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colNames</H3> +<PRE> +<A HREF="org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">LogTableColumn</A>[] <B>_colNames</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colDate</H3> +<PRE> +int <B>_colDate</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colThread</H3> +<PRE> +int <B>_colThread</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colMessageNum</H3> +<PRE> +int <B>_colMessageNum</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colLevel</H3> +<PRE> +int <B>_colLevel</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colNDC</H3> +<PRE> +int <B>_colNDC</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colCategory</H3> +<PRE> +int <B>_colCategory</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colMessage</H3> +<PRE> +int <B>_colMessage</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colLocation</H3> +<PRE> +int <B>_colLocation</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_colThrown</H3> +<PRE> +int <B>_colThrown</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_dateFormatManager</H3> +<PRE> +<A HREF="org/apache/log4j/lf5/util/DateFormatManager.html" title="class in org.apache.log4j.lf5.util">DateFormatManager</A> <B>_dateFormatManager</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.LogTableColumn"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/LogTableColumn.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogTableColumn</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-4275827753626456547L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_label</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>_label</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.LogTableColumnFormatException"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogTableColumnFormatException</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>6529165785030431653L + +<P> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.LogTableModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/LogTableModel.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogTableModel</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableModel</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>3593300685868700894L + +<P> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.LogTableRowRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" title="class in org.apache.log4j.lf5.viewer">org.apache.log4j.lf5.viewer.LogTableRowRenderer</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-3951639953706443213L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_highlightFatal</H3> +<PRE> +boolean <B>_highlightFatal</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_color</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/Color.html?is-external=true" title="class or interface in java.awt">Color</A> <B>_color</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.lf5.viewer.categoryexplorer</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeModel</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-3413887384316015901L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_renderFatal</H3> +<PRE> +boolean <B>_renderFatal</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_listener</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A> <B>_listener</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_event</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionEvent.html?is-external=true" title="class or interface in java.awt.event">ActionEvent</A> <B>_event</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>8066257446951323576L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_model</H3> +<PRE> +<A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryExplorerModel</A> <B>_model</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_rootAlreadyExpanded</H3> +<PRE> +boolean <B>_rootAlreadyExpanded</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultMutableTreeNode.html?is-external=true" title="class or interface in javax.swing.tree">DefaultMutableTreeNode</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>5958994817693177319L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_selected</H3> +<PRE> +boolean <B>_selected</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_numberOfContainedRecords</H3> +<PRE> +int <B>_numberOfContainedRecords</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_numberOfRecordsFromChildren</H3> +<PRE> +int <B>_numberOfRecordsFromChildren</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_hasFatalChildren</H3> +<PRE> +boolean <B>_hasFatalChildren</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_hasFatalRecords</H3> +<PRE> +boolean <B>_hasFatalRecords</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditorRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeEditorRenderer</A> extends <A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">CategoryNodeRenderer</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-6094804684259929574L + +<P> + +<P> +<A NAME="org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" title="class in org.apache.log4j.lf5.viewer.categoryexplorer">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNodeRenderer</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeCellRenderer.html?is-external=true" title="class or interface in javax.swing.tree">DefaultTreeCellRenderer</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-6046702673278595048L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +_checkBox</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JCheckBox.html?is-external=true" title="class or interface in javax.swing">JCheckBox</A> <B>_checkBox</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +_panel</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A> <B>_panel</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.pattern</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.pattern.CachedDateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.CachedDateFormat</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>1L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +formatter</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/text/DateFormat.html?is-external=true" title="class or interface in java.text">DateFormat</A> <B>formatter</B></PRE> +<DL> +<DD>Wrapped formatter. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +millisecondStart</H3> +<PRE> +int <B>millisecondStart</B></PRE> +<DL> +<DD>Index of initial digit of millisecond pattern or + UNRECOGNIZED_MILLISECONDS or NO_MILLISECONDS. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +slotBegin</H3> +<PRE> +long <B>slotBegin</B></PRE> +<DL> +<DD>Integral second preceding the previous convered Date. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +cache</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/StringBuffer.html?is-external=true" title="class or interface in java.lang">StringBuffer</A> <B>cache</B></PRE> +<DL> +<DD>Cache of previous conversion. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +expiration</H3> +<PRE> +int <B>expiration</B></PRE> +<DL> +<DD>Maximum validity period for the cache. + Typically 1, use cache for duplicate requests only, or + 1000, use cache for requests within the same integral second. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +previousTime</H3> +<PRE> +long <B>previousTime</B></PRE> +<DL> +<DD>Date requested in previous conversion. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +tmpDate</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>tmpDate</B></PRE> +<DL> +<DD>Scratch date object used to minimize date object creation. +<P> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.pattern.LogEvent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">org.apache.log4j.pattern.LogEvent</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-868428216207166145L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectInputStream.html?is-external=true" title="class or interface in java.io">ObjectInputStream</A>&nbsp;ois) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A>, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></CODE></DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectOutputStream.html?is-external=true" title="class or interface in java.io">ObjectOutputStream</A>&nbsp;oos) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DD> +</DL> +</DL> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +categoryName</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>categoryName</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="org/apache/log4j/pattern/LogEvent.html#getLoggerName()"><CODE>LogEvent.getLoggerName()</CODE></A> method instead.</I><DD><p>The category (logger) name. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +ndc</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ndc</B></PRE> +<DL> +<DD>The nested diagnostic context (NDC) of logging event. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +mdcCopy</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A>&lt;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">K</A>,<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">V</A>&gt; <B>mdcCopy</B></PRE> +<DL> +<DD>The mapped diagnostic context (MDC) of logging event. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +ndcLookupRequired</H3> +<PRE> +boolean <B>ndcLookupRequired</B></PRE> +<DL> +<DD>Have we tried to do an NDC lookup? If we did, there is no need + to do it again. Note that its value is always false when + serialized. Thus, a receiving SocketNode will never use it's own + (incorrect) NDC. See also writeObject method. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +mdcCopyLookupRequired</H3> +<PRE> +boolean <B>mdcCopyLookupRequired</B></PRE> +<DL> +<DD>Have we tried to do an MDC lookup? If we did, there is no need + to do it again. Note that its value is always false when + serialized. See also the getMDC and getMDCCopy methods. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +renderedMessage</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>renderedMessage</B></PRE> +<DL> +<DD>The application supplied message rendered through the log4j + objet rendering mechanism. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +threadName</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>threadName</B></PRE> +<DL> +<DD>The name of thread in which this logging event was generated. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +throwableInfo</H3> +<PRE> +<A HREF="org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> <B>throwableInfo</B></PRE> +<DL> +<DD>This + variable contains information about this event's throwable +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +timeStamp</H3> +<PRE> +long <B>timeStamp</B></PRE> +<DL> +<DD>The number of milliseconds elapsed from 1/1/1970 until logging event + was created. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +locationInfo</H3> +<PRE> +<A HREF="org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> <B>locationInfo</B></PRE> +<DL> +<DD>Location information for the caller. +<P> +<DL> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.spi</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.spi.LocationInfo"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">org.apache.log4j.spi.LocationInfo</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-1325822038990805636L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +fullInfo</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>fullInfo</B></PRE> +<DL> +<DD>All available caller information, in the format + <code>fully.qualified.classname.of.caller.methodName(Filename.java:line)</code> +<P> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.spi.LoggingEvent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/spi/LoggingEvent.html" title="class in org.apache.log4j.spi">org.apache.log4j.spi.LoggingEvent</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-868428216207166145L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectInputStream.html?is-external=true" title="class or interface in java.io">ObjectInputStream</A>&nbsp;ois) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A>, + <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></CODE></DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectOutputStream.html?is-external=true" title="class or interface in java.io">ObjectOutputStream</A>&nbsp;oos) + throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DD> +</DL> +</DL> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +categoryName</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>categoryName</B></PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>This field will be marked as private in future + releases. Please do not access it directly. Use the <A HREF="org/apache/log4j/spi/LoggingEvent.html#getLoggerName()"><CODE>LoggingEvent.getLoggerName()</CODE></A> method instead.</I><DD><p>The category (logger) name. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +ndc</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ndc</B></PRE> +<DL> +<DD>The nested diagnostic context (NDC) of logging event. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +mdcCopy</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A>&lt;<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">K</A>,<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">V</A>&gt; <B>mdcCopy</B></PRE> +<DL> +<DD>The mapped diagnostic context (MDC) of logging event. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +ndcLookupRequired</H3> +<PRE> +boolean <B>ndcLookupRequired</B></PRE> +<DL> +<DD>Have we tried to do an NDC lookup? If we did, there is no need + to do it again. Note that its value is always false when + serialized. Thus, a receiving SocketNode will never use it's own + (incorrect) NDC. See also writeObject method. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +mdcCopyLookupRequired</H3> +<PRE> +boolean <B>mdcCopyLookupRequired</B></PRE> +<DL> +<DD>Have we tried to do an MDC lookup? If we did, there is no need + to do it again. Note that its value is always false when + serialized. See also the getMDC and getMDCCopy methods. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +renderedMessage</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>renderedMessage</B></PRE> +<DL> +<DD>The application supplied message rendered through the log4j + objet rendering mechanism. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +threadName</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>threadName</B></PRE> +<DL> +<DD>The name of thread in which this logging event was generated. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +throwableInfo</H3> +<PRE> +<A HREF="org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">ThrowableInformation</A> <B>throwableInfo</B></PRE> +<DL> +<DD>This + variable contains information about this event's throwable +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +timeStamp</H3> +<PRE> +long <B>timeStamp</B></PRE> +<DL> +<DD>The number of milliseconds elapsed from 1/1/1970 until logging event + was created. +<P> +<DL> +</DL> +</DL> +<HR> +<H3> +locationInfo</H3> +<PRE> +<A HREF="org/apache/log4j/spi/LocationInfo.html" title="class in org.apache.log4j.spi">LocationInfo</A> <B>locationInfo</B></PRE> +<DL> +<DD>Location information for the caller. +<P> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.spi.ThrowableInformation"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/spi/ThrowableInformation.html" title="class in org.apache.log4j.spi">org.apache.log4j.spi.ThrowableInformation</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-4748765566864322735L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +rep</H3> +<PRE> +<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>rep</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +Copyright &#169; 1999-2010 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/stylesheet.css b/thirdparty/apache-log4j-1.2.16/site/apidocs/stylesheet.css similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/stylesheet.css rename to thirdparty/apache-log4j-1.2.16/site/apidocs/stylesheet.css diff --git a/thirdparty/apache-log4j-1.2.16/site/changes-report.html b/thirdparty/apache-log4j-1.2.16/site/changes-report.html new file mode 100644 index 00000000000..1440979b3c4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/changes-report.html @@ -0,0 +1,3715 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Apache log4j 1.2</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <strong>Changes</strong> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Apache log4j 1.2</h2> +<a name="Apache_log4j_1.2"></a><div class="section"><h3>Release History</h3> +<a name="Release_History"></a><table class="bodyTable"><tr class="a"><th>Version</th> +<th>Date</th> +<th>Description</th> +</tr> +<tr class="b"><td><a href="#a1.2.16">1.2.16</a></td> +<td>2010-04-06</td> +<td>Maintenance release</td> +</tr> +<tr class="a"><td><a href="#a1.2.15">1.2.15</a></td> +<td>2007-08-24</td> +<td>SyslogAppender enhancements, NTEventLogAppender and Maven build.</td> +</tr> +<tr class="b"><td><a href="#a1.2.14">1.2.14</a></td> +<td>2006-09-18</td> +<td>AsyncAppender rewrite, Syslog and SMTPAppender enhancements.</td> +</tr> +<tr class="a"><td><a href="#a1.2.13">1.2.13</a></td> +<td>2005-12-04</td> +<td>TRACE level missing info fixed, ConsoleAppender.follow added to make redirection following an optional behavior.</td> +</tr> +<tr class="b"><td><a href="#a1.2.12">1.2.12</a></td> +<td>2005-08-29</td> +<td>TRACE level introduced, ConsoleAppender modified to follow redirection of System.out</td> +</tr> +<tr class="a"><td><a href="#a1.2.11">1.2.11</a></td> +<td>2005-06-18</td> +<td>JMS MessageRenderer fix</td> +</tr> +<tr class="b"><td><a href="#a1.2.10">1.2.10</a></td> +<td>2005-04-28</td> +<td>Version 1.2.10 was not released following the accepted rules and process of the log4j project and Logging Services Project and was recalled and removed. Please do not use version 1.2.10, it is not an official log4j release.</td> +</tr> +<tr class="a"><td><a href="#a1.2.9">1.2.9</a></td> +<td>2004-11-01</td> +<td>Deprecation of obsolete methods</td> +</tr> +<tr class="b"><td><a href="#a1.2.8">1.2.8</a></td> +<td>2003-02-19</td> +<td>Fixes to XMLAppender, DOMConfiguration, SocketAppender and JDBCAppender.</td> +</tr> +<tr class="a"><td><a href="#a1.2.7">1.2.7</a></td> +<td>2002-10-09</td> +<td>log4j.xml now checked during default configuration.</td> +</tr> +<tr class="b"><td><a href="#a1.2.6">1.2.6</a></td> +<td>2002-07-31</td> +<td>LoggingEvent.getLoggerName() added, JMSAppender enhancements.</td> +</tr> +<tr class="a"><td><a href="#a1.2.5">1.2.5</a></td> +<td>2002-07-05</td> +<td>AsyncAppender.close now closes nested appender.</td> +</tr> +<tr class="b"><td><a href="#a1.2.4">1.2.4</a></td> +<td>2002-06-12</td> +<td>XMLLayout now handles embedded CDATA, JDBCAppender deprecated.</td> +</tr> +<tr class="a"><td><a href="#a1.2.3">1.2.3</a></td> +<td>2002-05-24</td> +<td>SyslogAppender and stack trace fixes.</td> +</tr> +<tr class="b"><td><a href="#a1.2.2">1.2.2</a></td> +<td>2002-05-22</td> +<td>NULL added as synonym for INHERITED in Configurators, Thread context loader used preferentially.</td> +</tr> +<tr class="a"><td><a href="#a1.2.1">1.2.1</a></td> +<td>2002-05-17</td> +<td>Fixed MDC problem when used with AsyncAppender</td> +</tr> +<tr class="b"><td><a href="#a1.2">1.2</a></td> +<td>2002-05-01</td> +<td>Initial release of log4j 1.2</td> +</tr> +<tr class="a"><td><a href="#a1.1.3">1.1.3</a></td> +<td>2001-06-19</td> +<td>Added missing namespace and reduced size of log4j-core.jar.</td> +</tr> +<tr class="b"><td><a href="#a1.1.2">1.1.2</a></td> +<td>2001-06-07</td> +<td>Default initialization improvements</td> +</tr> +<tr class="a"><td><a href="#a1.1.1">1.1.1</a></td> +<td>2001-05-20</td> +<td>Added custom priority support to PropertyConfigurator, SMTPAppender visibility changes.</td> +</tr> +<tr class="b"><td><a href="#a1.1">1.1</a></td> +<td>2001-05-19</td> +<td>Minor documentation changes</td> +</tr> +<tr class="a"><td><a href="#a1.1b7">1.1b7</a></td> +<td>2001-05-09</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a1.1b6">1.1b6</a></td> +<td>2001-04-26</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a1.1b5">1.1b5</a></td> +<td>2001-04-22</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a1.1b4">1.1b4</a></td> +<td>2001-04-20</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a1.1b3">1.1b3</a></td> +<td>2001-04-18</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a1.1b2">1.1b2</a></td> +<td>2001-04-18</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a1.1b1">1.1b1</a></td> +<td>2001-02-23</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a1.0.4">1.0.4</a></td> +<td>2001-01-12</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a1.0.3">1.0.3</a></td> +<td>2001-01-11</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a1.0.2">1.0.2</a></td> +<td>2001-01-11</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a1.0.1">1.0.1</a></td> +<td>2001-01-10</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a1.0">1.0</a></td> +<td>2001-01-08</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.9.1">0.9.1</a></td> +<td>2000-11-30</td> +<td>the 19th public release</td> +</tr> +<tr class="b"><td><a href="#a0.9.0">0.9.0</a></td> +<td>2000-11-20</td> +<td>the 18th public release</td> +</tr> +<tr class="a"><td><a href="#a0.8.5b">0.8.5b</a></td> +<td>2000-08-27</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.8.5a">0.8.5a</a></td> +<td>2000-08-24</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.8.5.">0.8.5.</a></td> +<td>2000-08-23</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.8.4d">0.8.4d</a></td> +<td>2000-05-11</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.8.4c">0.8.4c</a></td> +<td>2000-05-05</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.8.4b">0.8.4b</a></td> +<td>2000-05-03</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.8.4a">0.8.4a</a></td> +<td>2000-05-03</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.8.4">0.8.4</a></td> +<td>2000-05-01</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.8.3b">0.8.3b</a></td> +<td>2000-04-14</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.8.3a">0.8.3a</a></td> +<td>2000-04-14</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.8.3">0.8.3</a></td> +<td>2000-04-13</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.8.2">0.8.2</a></td> +<td>2000-03-23</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.8.1">0.8.1</a></td> +<td>2000-02-19</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.8.0">0.8.0</a></td> +<td>2000-02-09</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.7.5">0.7.5</a></td> +<td>2000-01-29</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.7.4">0.7.4</a></td> +<td>2000-01-21</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.7.3">0.7.3</a></td> +<td>2000-01-14</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.7.2">0.7.2</a></td> +<td>2000-01-04</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.7.1">0.7.1</a></td> +<td>1999-12-20</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.7.0">0.7.0</a></td> +<td>1999-12-16</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.6.2">0.6.2</a></td> +<td>1999-12-08</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.6.1">0.6.1</a></td> +<td>1999-11-16</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.6.0">0.6.0</a></td> +<td>1999-11-09</td> +<td></td> +</tr> +<tr class="b"><td><a href="#a0.5a">0.5a</a></td> +<td>1999-10-28</td> +<td></td> +</tr> +<tr class="a"><td><a href="#a0.5">0.5</a></td> +<td>1999-10-27</td> +<td></td> +</tr> +<tr class="b"><td><a href="#null"></a></td> +<td>1999-10-15</td> +<td></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.16 - 2010-04-06</h3> +<a name="a1.2.16"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>log4j 1.2.16 release preparation. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43313">43313</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Create a public identifier for log4j.dtd (&quot;-//APACHE//DTD LOG4J 1.2//EN&quot;) Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42842">42842</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>TelnetAppender misses messages when one of many clients disconnect. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44108">44108</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>TelnetAppender throws null pointers at log time when socket couldn't be opened. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44109">44109</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>ThrowableInformation.getThrowableStringRep can return null strings. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44032">44032</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>log4j.dtd defines class attribute for category element, but not for logger. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43298">43298</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SMTPAppender.setSMTPUserName and others missing @since tags. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43314">43314</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Request for compile-on-Windows help file in src package. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43618">43618</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>AsyncAppender failing on changing message objects. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43599">43599</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Subst-mechanism in DOMConfigurator broken. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43325">43325</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>DailyRollingFileAppender may lose messages during failed rollover attempts. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43374">43374</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Fix mangled source-repository.html. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43312">43312</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Minor documentation changes. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43387">43387</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Make javamail, jmx, jms dependencies optional in pom.xml. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43304">43304</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SocketHubAppender should expose actual port in use to extending classes. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43874">43874</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SocketHubAppender in the 1.2.16 does not support a scroll back buffer or application property Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44551">44551</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Give log4j threads reasonable names. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41156">41156</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>LocationInfo can report wrong caller when other class names contain logger class name as substring. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44888">44888</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>ErrorHandlerTestCase is not run and does not pass. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45426">45426</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Agent.java is sole dependency on jmxtools.jar with Java 5+. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45485">45485</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Eliminate compile dependency on non-redistributable JMS reference implementation. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44517">44517</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Exception in call to toString of message propagates to caller. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37182">37182</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Javadoc class index corrupted by JDBCAppender deprecation warning. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45299">45299</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Improve warning message when log4j is accessed after unload by Tomcat. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43867">43867</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>NullPointerException in NDC.remove after unload by Tomcat. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45335">45335</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Configuring triggering/rolling policies should be supported through properties. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36384">36384</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>More explanations when hitting WARN No appenders could be found for logger. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25747">25747</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Use Throwable.getStackTrace to obtain location when running on JDK 1.4 or later. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45039">45039</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>AsyncAppender fails on changing Throwable. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44745">44745</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Extra NPE error message when using missing appender class with DOMConfigurator. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44899">44899</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>org.apache.log4j.varia.NullAppender lacks static accessor to static instance. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44555">44555</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Javadoc for Appender.getName implies that the return value will be unique and not null. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43849">43849</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Weekly rotation problem in Europe. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40888">40888</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add OSGi packaging info. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43282">43282</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>InterruptedIOException ignored by log4j. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44157">44157</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>HierarchyDynamicMBean missing unregister MBean Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40246">40246</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Support -Dm2_repo option on Maven build for non-default Maven repository location. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45635">45635</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>2 tests for DateLayout are failing because of ill initialized DateFormat. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45636">45636</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Incorrect user mailing list URL. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45659">45659</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>NTEventLogAppender.dll for 64-bit editions for Microsoft Windows. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44386">44386</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add configuration of ThrowableRenderers and add org.apache.log4j.EnhancedThrowableRenderer. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45721">45721</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SMTPAppender does not force evaluation of message at request time Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45969">45969</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Support SSL transport in SMTPAppender Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25355">25355</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SMTPAppender should have a sendOnClose option Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45980">45980</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Support %X layout specification to output all MDC key-value pairs Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45982">45982</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add replyTo attribute to SMTPAppender Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45990">45990</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SMTPAppender does not properly encode subject or content containing non-ASCII characters. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44644">44644</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Clarify javadoc of Layout.ignoresThrowable. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46388">46388</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender.append throws exception if layout is not set. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46271">46271</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>QuietWriter.write should check for null argument. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46144">46144</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>LogFactor5 CategoryPath doesn't replace slashes with dots. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46512">46512</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>LoggerDynamicMBean needs to handle a null Appender name. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46163">46163</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>DOMConfigurator.configure(URL) fails on JRE 1.5.0_16. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45704">45704</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Document system properties used by log4j. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44357">44357</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>log4j is susceptible to exceptions in Exception.printStackTrace. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44038">44038</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Misuse of &quot;it's&quot; in Javadoc for PatternLayout. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46741">46741</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add SMTPAppender.formatBody to simplify extension. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=47142">47142</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Failure when toString() of throwable performs logging in SocketAppender, SocketHubAppender and JDBCAppender. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46404">46404</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Reading configuration files from a JAR locks the JAR file Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=47465">47465</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>PropertyConfigurator does not support configuring ErrorHandler. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38061">38061</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>log4j.ignoreTCL should apply to the getResource method in addition to the loadClass method of org.apache.log4j.helpers.Loader. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=47967">47967</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The QuietWriter class does not live up to its published contract. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46539">46539</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>More Debug output for log4j auto-configure requested. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46983">46983</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add MDC.clear(). Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=47107">47107</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>NullPointerException when calling Category.removeAllAppenders(). Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=47547">47547</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Allow overriding of flush strategy. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28647">28647</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add recommendation to use EnhancedPatternLayout to avoid synchronization issues in PatternLayout Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=47350">47350</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Source contains unnecessary imports. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45481">45481</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add LoggingEvent.removeProperty Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48159">48159</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Typo (&quot;two three goals&quot;) in log4j FAQ Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48187">48187</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Unit tests fail for system dates after 2009-12-31 Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48531">48531</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Download page does not have link to KEYS file Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48604">48604</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add parameterized logging utility classes LogMF and LogSF from extras companion. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49812">49812</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add EnhancedPatternLayout from extras companion. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48927">48927</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Links to example code broken in the JavaDocs Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48784">48784</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Unused imports and variables in test code cause gcj compile warnings. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48953">48953</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Unit tests fail on Apache Harmony and gcj due to stack trace expectations. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49002">49002</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SocketServerTestCase.test8 fails on Apache Harmony. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49003">49003</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>TestLogMF.testDebugDate fails on gcj. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49004">49004</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>TelnetAppenderTest.testIt fails on gcj. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49005">49005</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Eclipse Java Compiler and gcj do not support -source=1.2. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49006">49006</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>CachedDateFormatTest fails on Apache Harmony. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49007">49007</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add %p{-2} pattern to EnhancedPatternLayout to drop two leading elements from name. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49010">49010</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add %throwable{n} and {-n} pattern to EnhancedPatternLayout to print n or drop last n lines. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48902">48902</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.15 - 2007-08-24</h3> +<a name="a1.2.15"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>log4j 1.2.15 release preparation. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40951">40951</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Switch to NOPLoggerRepository if application reloading nulls repositorySelector. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40212">40212</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add 'application' property support to SocketAppender (from 1.3) Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43202">43202</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Log4JEntityResolver will return null if log4j.dtd can not be found on classpath. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43200">43200</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>HierarchyEventListener.removeAppenderEvent never called. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37736">37736</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>XMLLayout does not escape CDATA sections within NDC or throwables. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37560">37560</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Added test to confirm that DOMConfigurator.configureAndWatch does configure. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33502">33502</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Default initialization with XML file halts program if JAXP not available. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32527">32527</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add reset option to PropertyConfigurator and DOMConfigurator. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=17531">17531</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Error message always logged to LogLog when calling close on TelnetAppender. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14350">14350</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add configurable triggeringPolicy for SMTPAppender. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32572">32572</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>NullPointerException in MDC on Tomcat reload. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43181">43181</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Notice to use UTF-8 or UTF-16 encoding added to XML and HTMLLayout javadoc. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34874">34874</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>XML and HTMLLayout do not always escape special characters. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34875">34875</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Optionally render MDC content in XMLLayout Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43078">43078</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Typo in log4j.dtd concerning threshold. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42694">42694</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>ERFATestCase fails on some JDK's. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42611">42611</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SocketNode can leak Sockets. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42585">42585</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Migrate to Maven based build and documentation. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37930">37930</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Prepare Maven release bundles. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40604">40604</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Eclipse compiler warning cleanup. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42283">42283</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>JRockit VM and java-gcj fail unit tests. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42281">42281</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SocketAppender does not use FallbackErrorHandler Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21796">21796</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Enhance DOMConfigurator to delegate unrecognized elements to configured object. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42257">42257</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add LoggingEvent accessors. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42108">42108</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>InstanceAlreadyExistsException using MBean. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42017">42017</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Reduce first connection failure severity in SocketAppender Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29227">29227</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender does not limit packets to 1024 bytes. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42087">42087</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender: Added &quot;header&quot; property which if set to true will cause the appender + to produce the HEADER part (timestamp and hostname) of the syslog packet. + Default value is false for compatibility with previous behavior. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41040">41040</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender also now sends any header from the associated + layout when activateOptions is called or first logging event is sent and + any footer when the appender is closed. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40161">40161</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender leaks descriptors Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37282">37282</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender assumes all lines start with tab Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40502">40502</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender does not limit packet size to 1024 bytes Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42087">42087</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>NTEventLogAppender: Updated NTEventLogAppender.dll which corrects missing event messages + and which should work with earlier releases of log4j. + NTEventLogAppender.dll also now supports registration and unregistration + using regsvr32. If replacing an existing copy of NTEventLogAppender, + use &quot;regsvr32 NTDllEventLogAppender.dll&quot; or manually remove the + HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/Log4J + registry key. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41169">41169</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>NTEventLogAppender.dll performs unnecessary code page conversion using code copied from book. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39437">39437</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>PropertyConfigurator.configure(URL) does not close resource stream. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40944">40944</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>In Turkish locale level &quot;info&quot; is not equivalent to &quot;INFO&quot; Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40937">40937</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Javadoc of PatternLayout should use %n in TTCC layout examples Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41339">41339</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Stacktraces of exceptions disappear occassionally Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41219">41219</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Incorrect message when specified custom level class does not implement toLevel Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38680">38680</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Warning when configuring inner-class logger Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41487">41487</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>AsyncAppender in 1.2.14 DiscardSummary events create NullPointerExceptions in layouts Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41186">41186</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add target to generate binary and source compatibility report Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37864">37864</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>PropertyPrinter.printOptions breaking signature change in log4j 1.2.9 Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41708">41708</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>RollingFileAppender may delete files during rollover Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41735">41735</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>XMLConfiguration of loggerFactory does not work Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33708">33708</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender does not limit packet size to 1024 bytes Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42087">42087</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Update source per new ASF Header Policy. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40755">40755</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>DateLayoutTest fails if default Locale is not en_US. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41373">41373</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Stacktrace may choke on null fields. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35324">35324</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add projects.apache.org project descriptor. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41575">41575</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.14 - 2006-09-18</h3> +<a name="a1.2.14"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Monitor deadlock in AsyncAppender. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38137">38137</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>AsyncAppender: Dispatcher should run at normal prio. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28006">28006</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>AsyncAppender wait forever when buffer is full. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37904">37904</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add non-blocking option for AsyncAppender. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38982">38982</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add SyslogPort option to SyslogAppender. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39687">39687</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add cc and bcc addresses to SMTPAppender. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19125">19125</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add password authentication to SMTPAppender. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24969">24969</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>NullPointerException in org.apache.log4j.NDC.get. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40159">40159</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>org.apache.log4j.lf5.util.DateFormatManager.setTimeZone assignment error. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36787">36787</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Monthly logs not generated at midnight with DailyRollingFileAppender. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38559">38559</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>PatternLayout specifier %r is not consistent with documentation. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40145">40145</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Space after log level causes default level to be used. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37119">37119</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Bad patterns in ISO8601DateFormat and DateTimeDateFormat. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39135">39135</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender throws NullPointerException upon misconfiguration. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35743">35743</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>FallbackErrorHandler throws NullPointerException if no loggers are set. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15501">15501</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Bad documentation for WriterAppender.encoding. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38564">38564</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>NTEventLogAppender not build, tested and placed in distribution. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37866">37866</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SMTPAppender does not output newlines between stack trace lines. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38662">38662</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SMTPAppender will not run within sandbox. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30294">30294</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>MDC with SMTPAppender doesn't work. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=16922">16922</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Misspelling in HierarchyDynamicMBean. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31507">31507</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Additivity not exported by PropertyPrinter. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35123">35123</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>RollingFileAppender, if removed, can cause NullPointerExceptions. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31003">31003</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>AsyncAppender blocks on thread death. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23021">23021</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>NOTICE file added to distribution and jars. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40412">40412</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Chainsaw of log4j 1.2 does not show TRACE level. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40378">40378</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>TRACE level missing in short introduction to log4j. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40501">40501</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Update site generation to velocity 1.4 and remove dependency on logging/site project. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37960">37960</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.13 - 2005-12-04</h3> +<a name="a1.2.13"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Location info missing for TRACE level messages. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36800">36800</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Console appender now behaves as before to fix + compatibility problem with JBoss introduced in 1.2.12 release due to fix + for bug 31056. Can still be configured to detect changes in the System.out + and System.err streams as needed by setting the follow property. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37122">37122</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.12 - 2005-08-29</h3> +<a name="a1.2.12"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Removed final qualifiers on member variables + in org.apache.log4j.chainsaw.LoggingReceiver which would cause + spurious compiler errors with JDK 1.1 and 1.2 javac compilers. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36262">36262</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Added a jndi.jar property to the build.xml. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36267">36267</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Added &quot;release&quot; target to build.xml. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37268">37268</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Removed references to obsolete documentation. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36213">36213</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Added protected accessors for member variables + topicConnection, topicSession, and topicPublisher. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35965">35965</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender now checks Layout.ignoresThrowable() just + like every other appender. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34026">34026</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>DOMConfigurator would call LogLog.error to report + XML validation errors that caused no problems in the interpretation of the + configuration file. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35947">35947</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Fixed the JavaDoc links + for the XML sample files. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14551">14551</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Added getNext/setNext methods to org.apache.log4j.spi.Filter and deprecated + public &quot;next&quot; field. This mirrors the same change in the upcoming 1.3 + version and, hence, provides a migration path. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35654">35654</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Added o.a.log4j.Logger.trace(), o.a.log4j.Logger.isTraceEnabled() and + o.a.log4j.Level.TRACE Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35711">35711</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Implemented serialization for Level. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34758">34758</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>o.a.log4j.ConsoleAppender would ignore redirections + of System.out and System.err that occurred after configuration. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31056">31056</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>o.a.log4j.xml.DOMConfigurator would not properly + interpret relative path names in external entity declarations. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23705">23705</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>o.a.log4j.xml.XmlLayout would not properly escape + class names that contained '&lt;' or '&gt;'. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35691">35691</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Use of String.intern() in o.a.log4j.CategoryKey + would cause application to slow down. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35052">35052</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>o.a.log4j.FileAppender would not create log file + if parent directory did not exist. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9150">9150</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>o.a.log4j.AsyncAppender would deadlock if a + unchecked exception occurred in the attached appender causing the + dispatch thread to die. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23021">23021</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Added jdiff target to build.xml. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35516">35516</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>log4j would not build with a JDK 1.5 javac. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35831">35831</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Added log4j 1.1 compatibility method + to o.a.l.helpers.Loader. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35893">35893</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Additional null terminating character in Windows + nteventlog.cpp code. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34981">34981</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Broken links to J2SE classes in javadocs. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36332">36332</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.11 - 2005-06-18</h3> +<a name="a1.2.11"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>o.a.log4j.or.jms.MessageRenderer + would not be compiled in the build.jms target. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34491">34491</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.10 - 2005-04-28</h3> +<a name="a1.2.10"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Version 1.2.10 was not released following the accepted rules and process of + the log4j project and Logging Services Project and was recalled and removed. + Please do not use version 1.2.10, it is not an official log4j release.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.9 - 2004-11-01</h3> +<a name="a1.2.9"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Log4j version 1.2.9, is identical to version 1.2.8, except that + several key methods have been deprecated in preparation for version + 1.3.0, the next major release of log4j. These changes are intended to + enforce the rule that client code should never refer to the Category + class directly, but use the Logger class instead. Similarly, client + code should not refer to the Priority class but to the Level class + instead. + + For a more detailed discussion, refer to the document entitled + preparing for log4j 1.3 at: + + http://www.qos.ch/logging/preparingFor13.jsp</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.8 - 2003-02-19</h3> +<a name="a1.2.8"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>XMLAppender would throw a + NullPointerException if the input message was null. Many thanks to + David Vandegrift for reporting the bug and to Hendrik Brummermann for + supplying the patch. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11570">11570</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Various versions of Xerces would not parse + log4j configuration scripts expressed in XML format. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=12366">12366</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The &quot;removes&quot; buffer used in the flushBuffer() method + of JDBCAppender is now cleared, solving the memory leak. Thanks to John + Landers for reporting the bug and suggesting the fix. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14827">14827</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SocketAppender now honors ReconnectionDelay of 0. + Many thanks to Scott Schram for reporting the bug and providing the fix. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15599">15599</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.7 - 2002-10-09</h3> +<a name="a1.2.7"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Log4j now searches for the file log4j.xml as well as the file + log4j.properties during log4j initialization.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.6 - 2002-07-31</h3> +<a name="a1.2.6"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add of new options in JMSAppender and new command line arguments in + JMSSink.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add new method getLoggerName() in LoggingEvent class. The + getLoggerName is the preferred way for accessing the logger + name. The public access categoryName field should not be accessed + directly. Similarly, added the getLevel method which is now the + preferred way of accessing the event's level. The public access + level field should not be accessed directly. The javadocs now mark + the categoryName and level fields as deprecated. + Modified existing appenders to comply with these new directives.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Log4j now will check if a system property named &quot;log4j.ignoreTCL&quot; + is set. If it is set, then it will ignore the Thread Context + ClassLoader when loading classes. This solves the irritating + &quot;appender is not assignable to Appender&quot; messages observed when + log4j.jar is loaded by multiple class loaders. + The error reporting for this problem was also improved.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Calling the MDC.get method with a null + argument would throw a NullPointerException. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10528">10528</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.5 - 2002-07-05</h3> +<a name="a1.2.5"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Calling an AsyncAppender close method also closes the embedded + appender instances. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10185">10185</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.4 - 2002-06-12</h3> +<a name="a1.2.4"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The JDBCAppender is marked as slated for replacement. Do not build + critical software using it.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add LF5 documentation and examples. Further tests are required + for full integration.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>XMLLayout can now output messages which contain embedded CDATA + sections.Many thanks to Michael + A. McAngus for supplying the relevant patch.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The dispatcher thread associated with AsyncAppender is now marked + as a deamon thread. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9750">9750</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add missing NTEventLogAppender.dll Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9606">9606</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>log4j.dtd was changed so that + &lt;log4j:event&gt; is now made of logger and level attributes instead of + category and priority. Changed XMLLayout to conform to the + DTD. Chainsaw was changed to adapt to the XMLLayout. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9435">9435</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add missing LevelRangeFilter file.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.3 - 2002-05-24</h3> +<a name="a1.2.3"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SyslogAppender would incorrectly compute + the length of the datagram to send to the remote syslogd host. + Reported by Mamoru Kadota. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9285">9285</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The stack trace of exception would not be + properly printed on the Compaq tru64 Unix platform. Initially + reported by Fabrice Claes and later by Espen H. Kolstad who also + provided the fix. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=8505">8505</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.2 - 2002-05-22</h3> +<a name="a1.2.2"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Log4j configurators take the &quot;NULL&quot; string value as a synonym for + &quot;INHERITED&quot;. Both of these two strings are legal level values for + setting the level of a logger. Both values are case insensitive.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>When loading component classes, log4j will now first attempt to use + the Thread Context Loader and if that fails, it will use + Class.forName. In log4j 1.2 and 1.2.1, only Class.forName was used + and the TCL was ignored. This change is a response to bug #9305 + opened by Scott M. Stark. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9305">9305</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2.1 - 2002-05-17</h3> +<a name="a1.2.1"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>LoggingEvent.getMDCCopy() method now sets mdcCopyLookupRequired + instead of ndcLookupRequired. This bug would cause the wrong MDC + information to appear on a log server. It could only occur if the + client wrapped an AsyncAppender around a SocketAppender or if the + server used an AsyncAppender for its logging. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9155">9155</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.2 - 2002-05-01</h3> +<a name="a1.2"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>A closed TelnetAppender would continue waiting + for connections even if its ServerSocket was closed. This caused + the TelnetSocket to sit in a loop and complain about the closed + socket. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=8527">8527</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>AsyncAppender throws NullPointerException problem. The bug was actually in + AppenderSkeleton. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5444">5444</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add support for recursive variable substiuton as requested by + Eric Chastan.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SocketNode now used a BufferedInputStream as suggested by Kok Chong Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=3933">3933</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Fixed a problem with DailiyRollingAppender which would not + correctly compute the rollover period in certain timezones. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7550">7550</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Fixed documentation bug #2726 in FAQ.html. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=2726">2726</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Added a flush statement in the + WriterAppender.writeFooter method. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=2383">2383</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>In XMLLayout, escaped the method attribute. The + XMLLayout also outputs each item of a stack trace in a separate + line.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The + LoggingEvent.getMDCCopy method now clones the MDC instead of just + referencing it. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5932">5932</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The ANT build script was modified to use jar files specified in + the build.properties file instead of the CLASSPATH environment + variable. The build.properties file depends on local paths and is + supplied by the user. The build.properties.sample file is included + in the distribution. The build.sh and build.bat scripts have + been removed. This is the way many other jakarta projects build their + projects. The jar files in the dist/lib directory were also removed + since they are no longer used.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The DOMConfigurator now interprets the string after the '#' + character in the value attribute within the &lt;level&gt; element as + the fully qualified class name of a custom Level. This is consistent + with the way log4j handles &quot;level&quot; values in other places. The + class attribute is still honored.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add Oliver Burn's chainsaw tool to the core log4j + distribution. Visualisation and dynamic filtering of log events is + bound to be a very important area of activity in the future.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the org.apache.log4j.jdbc.JDBCAppender which as the name + indicates sends events to a database using the JDBC API. Thanks to + Kevin Steppe for supplying the code.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add SocketHubAppender class as contributed by Mark Womack. This + appender sends LoggingEvent objects to a set of remote a log + servers.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>In the Category class, the getChainedPriority method has been + replaced with getEffectiveLevel method.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Replaced the custom class loading based on the thread context class + loader with a simple Class.forName() call. This solves two allied + but distinct problems encountered when using Ant with JUnit + although the bug is more general. In one instance of the + problem, log4j would throw java.lang.NoClassDefFoundError for + org/apache/log4j/AppenderSkeleton where log4j.jar and related + classes were clearly available to the Ant classloader. In another + incarnation, log4j would reject a custom appender claiming that it is + not assignable to a org.apache.log4j.Appender variable. This would + occur when log4j.jar was available to both the Ant classloader and the + system classloader. + + Thanks to Dave Herman for providing detailed scenarios exposing + the issues involved. See + http://forum.java.sun.com/thread.jsp?forum=38&amp;thread=70946 + http://forum.java.sun.com/thread.jsp?forum=38&amp;thread=70946#479697 + http://marc.theaimsgroup.com/?l=ant-user&amp;m=101139178705895&amp;w=2 + for more details.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Fixed the complaints the compiler issued when using the + Logger.setLevel() method.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Incorporated the performance enhancements to ISO8601DateFormat and + AbsoluteTimeDateFormat classes submitted by Andrew Vajoczki.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Source code written for log4j 1.1.3.jar will compile fine with + log4j 1.2X. However, code compiled for log4j 1.1.3 would previously + systematically throw &quot;java.lang.NoSuchMethodError&quot; runtime exceptions + when run with log4j 1.2 - prior to beta2. This problem has been + corrected in beta2. Pheew, that was a close one.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Log4j 1.2 is now backward compatible in serialization of + LoggingEvents. For example, a 1.1.3 SocketAppedner can write to 1.2 + SocketServer. Similarly a 1.2 JMSAppender will work with 1.1.3 + JMSSink. This should ease the move to log4j 1.2, especially in + large deployments.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The src/java/org/apache/log4j/examples/ directory moved under the + top-level directory as examples/.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Fixed the ArrayIndexOutOfBoundsException that was thrown by + AsyncAppender if multiple threads were trying to log an event + containing an exception near simultaneously. Thanks to Thomas Tuft Muller + for reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Improved error reporting in DOMConfigurator. Thanks to Thomas Tuft + Muller for contributing the enhancement.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Log4j is now configurable using JMX. JMX support is not of + production quality.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add support for different encodings in WriterAppender. Thanks to + Ben Sandee for submitting the relevant patch.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Modified SMTPAppender to allow multiple email sessions. Thanks to + Jon Skeet for supplying the relevant patch.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The CategoryFactory class has been replaced by the LoggerFactory + class. The makeNewCategoryInstance method has been renamed as + makeNewLoggerInstance. This change requires subclasses of Category + classes to be modified and recompiled.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The Level class replaced the Priority class. Priority class now + extends Level to preserve backward compatibility.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The Logger class replaced the Category class. Logger class + extends Category to preserve backward compatibility. We proudly + mark this change with a single star for 100% compatibility.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The Category.assert method has been replaced by + Category.assertLog. This change was necessary because assert is a + language reserved word in JDK 1.4.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Removed deprecated methods setOptions and getOptionStrings defined + in the org.apache.log4j.spi.OptionHandler interface. This interface + is implemented by most log4j appenders and layouts. In particular, + all appenders and layouts shipped with log4j contain these + deprecated methods. They have become totally redundant after we + moved to JavaBeans style configuration in log4j 1.1.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The disable(Level) methods in Hierarchy have been removed and been + replaced by threshold methods.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add buffered IO capability to FileAppender and subclasses.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The location information (or stack information) was not correctly + transmitted by JMSAppender.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add event reporting capability to the Hierarchy class.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add new system property &quot;log4j.configuratorClass&quot;. This property + allows the user to specify the custom configurator at the default + initialization phase. This property replaces the previous + interpretation of the reference part of &quot;log4j.configuration&quot; + as the custom configurator class. This interpretation was sometimes + erroneous and caused headaches.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Introduced the Mapped Diagnostic Context or MDC class. This class + is similar to the NDC except that the diagnostic context is based + on a map instead of a stack. Moreover the MDC is automatically + inherited by child threads under JDK 1.2 and above.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a performance bug in the NDC class as observed by Dan + Milstein and independently by Ray Millard.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Removed deprecated methods disable(Priority), disableAll, + disableDebug, disableInfo and enableAll in BasicConfigurator.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add supports java.io.Reader objects in the method doConfigure(), + instead of only InputStream. Thanks to Mark Womack for submitting + the relevant patch.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected the restart bug in DailyRollingFileAppender. Thanks to + Jim Moore for supplying the relevant patch.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1.3 - 2001-06-19</h3> +<a name="a1.1.3"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a missing namespace declaration in the log4j:configuration + element in log4j.dtd. The missing declaration caused the new + generation of namespace aware parsers to barf when parsing log4j + configuration files.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Reduced the size of log4j-core.jar to 78KB.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Minor documentation changes.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1.2 - 2001-06-07</h3> +<a name="a1.1.2"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a problem with the static initializer of the Category + class which would use the wrong class loader to search for the + default configuration file. The associated search algorithm has + been also simplified. Nevertheless, the preferred method to specify + the automatic configuration file is by setting the + log4j.configuration system property.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Documentation improvements. Added a new section to the manual + explaining the default initialization procedure</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Enhancements to the org.apache.log4j.examples.appserver package.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug in the way the NTEventLogAppender printed + exceptions.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1.1 - 2001-05-20</h3> +<a name="a1.1.1"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add missing custom priority support in PropertyConfigurator.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Made a number of fields protected instead of default access in + SMTPAppender.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1 - 2001-05-19</h3> +<a name="a1.1"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>This release has the same code as 1.1b7. It differs only in a few minor + documentation changes.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1b7 - 2001-05-09</h3> +<a name="a1.1b7"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Made BasicConfigurator disable methods static as they were in log4j + 1.0.4. Thanks to Francisco Marin for reporting the bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a two related deadlock problems introduced while fixing + bug 1505. Thanks to joelr@viair.com for reporting the problem. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=1505">1505</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The configureAndWatch methods in Configurators did not close the + configuration file, preventing its editing. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=1686">1686</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>In DOMConfigurator.setParameter special character conversion now + precedes variable substitution. This change was suggested by Steven + Velez. The vast majority of users should be oblivious to it.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The TextPaneAppender is no longer maintained and has been + removed. It is still available under the contribs/ + directory. This change has been discussed in the log4j mailing + lists and no one objected to the removal of the TextPaneAppender + class.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1b6 - 2001-04-26</h3> +<a name="a1.1b6"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Aaron Greenhouse from Carnegie Mellon SCS found a series of + multi-threading related bugs in Category and AsyncAppender. See bug + ids 1505 and 1507 in our bug database for exemplary bug + reports. They are worth the detour. Fixes <a class="externalLink" href="http://issues.apache.org/bugzilla/show_bug.cgi?id=1505">1505</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>InvalidJarIndexException is only available in JDK 1.3. Referring + to this exception type caused log4j 1.1b5 to break on earlier JDKs. + We now avoid referring to it.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add PriorityRangeFilter by Simon Kitching. See the Threshold + option in AppenderSkeleton for a more convenient alternative.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1b5 - 2001-04-22</h3> +<a name="a1.1b5"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>In HTMLLayout, the Title option sets the HTML document + title (&lt;title&gt;...&lt;title&gt;).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected an important performance bug in LocationInfo. Hein Couwet + and kr@it-practice.dk have independently identified the bug. This is + yet another example of the difference made by the number of eyeballs + studying source code.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected the incorrect value returned by LocationInfo.getClassName + method when running under IBM Visual Age. Thanks to Mathias + Rupprecht for supplying the relevant patch.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug where the build.sh file in the distribution would be in + DOS CRLF format. Thanks to ma.darche@free.fr for reporting the + problem.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected InvalidJarIndexException thrown in applets while + searching for the default log4j configuration file. Thanks to + Michael Lundahl for reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add missing PropertySetterException class to log4j-core.jar. + Thanks to ma.darche@free.fr for reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1b4 - 2001-04-20</h3> +<a name="a1.1b4"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Mathias Bogaert observed that in version 1.1b3 the search algorithm + for the resource used in automatic log4j configuration was + different than in 1.0.x. Beta4 uses a more powerful mechanism which + is also compatible with 1.0.x.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Paul Glezen correctly observed that if log4j is deployed in a + client/server mode where multiple log4j clients log to a log4j + server, all hosts must be upgraded to version 1.1 in one go because + the internal LoggingEvent class used in client/server communication + changed in log4j 1.1.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1b3 - 2001-04-18</h3> +<a name="a1.1b3"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a RollingFileAppenderBeanInfo class that fakes the + maxFileSize JavaBeans property as a String type instead of a long. + This allows us to resuscitate setMaxFileSize(long) method that was + removed in 1.1b2 breaking 100% backward compatibility. This addition + restores 100% backward compatibility.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1b2 - 2001-04-18</h3> +<a name="a1.1b2"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The directory structure has changed to better suit Jakarta + conventions</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a few jar files required at build time to build/lib so that + it is now possible to compile log4j out of the box.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Whenever a priority parameter is expected in a configuration file, + one can now use a custom priority class. See OptionConverter.toPriority + method for more information. Note that the &lt;priority&gt; element in + log4j.dtd remains unaffected by this change.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the setQuietMode(boolean) method to LogLog. In quiet mode + LogLog will not output anything even in case of errors.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Log4j components are now configured as JavaBeans. The setOption and + getOptionString methods have been deprecated in OptionHandler + interface which is implemented by most log4j components.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The stack trace of a throwable passed in a logging statement is not + parsed into a stack array which is serializable. This allows cascading of + log4j servers to properly propagate throwable information.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>In XML configuration files, the &lt;configuration&gt; element has been + deprecated and was replaced by the &lt;log4j:configuration&gt; element.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The &quot;log4j.configDebug&quot; system property has been replaced with the + &quot;log4j.debug&quot; system property although it is still available. + Similarly, the &quot;configDebug&quot; attribute has been deprecated and + replaced with the &quot;debug&quot; attribute in log4j.dtd.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1b1 - 2001-02-23</h3> +<a name="a1.1b1"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Logging can now be disabled per Hierarchy. It can also be disabled + using configuration files using the &quot;disable&quot; directive. The + &quot;disableOverride&quot; directive takes precedence over the &quot;disable&quot; + directive. As a result of this change the disable family of + methods in BasicConfigurator has been deprecated and replaced by the same + family of methods in the Hierarchy class.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The FileAppender has been split into three parts: WriterAppender, + ConsoleAppender and FileAppender. ConsoleAppender takes over the + console logging functionality of FileAppender. As a result support + for stream and console printing has been deprecated in FileAppender.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The FileAppender now correctly outputs the header and footer of its + layout. This problem was reported by too many users to list here.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Appenders and Layouts now get to see the raw message object in + LoggingEvent not just its rendered form. The access modifiers of + some LoggingEvent fields were changed so that they can be accessed + in less error-prone ways. Thanks to Jim Cakalic and Anders Kristens + for their valuable advice.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add getLayout(), getErrorHandler(), and getFilter() to the + Appender interface.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add getOption(key) method to the OptionHandler interface and modified + implementations of it as appropriate.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the much awaited DailyRollingFileAppender.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The structure of the distribution changed somewhat. The log4j.jar + files can be found under dist/. The javadoc directory has been + moved to docs/api/. We are now totally dependent on ANT to perform + all the steps involved in creating a release, including + compilation, jar file creation, generation of the javadocs, and for + the creation of the distribution tar and zip files.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Removed org/apache/log4j/varia/ResilientFileAppender.java which was + bogus to begin with.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>XMLLayout will now mark some output as &lt;![CDATA[ .. ]]&gt; so that it + does not get interpreted by the XML parser. This was suggested by + Mathias Bogaert like a long list of other fixes.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug in CyclicBuffer.resize method that would not update the + next insertion point. Thanks to Ole Bulbuk for accurately reporting + the bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The LoggingEvent class now supports serialization of priorities + derived from the org.apache.log4j.Priority class.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Improved the search method for finding the &quot;log4j.properties&quot; file in + the static initializer of Category class. Thanks to Calvin Chan for + supplying a better method.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The code handling the FCQN (formerly instanceFQN) parameter was + cleaned up. There is now a well-established and simple manner for + sub-classes of Category (or wrapper classes) to define the FCQN + variable: just define a static variable, say FCQN, consisting of + the fully qualified class name of the subclass or wrapper, supply + this variable as an argument to forcedLog method if and when + the sub-class or wrapper invokes that method.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Made the instanceFCQN an instance variable instead of a class + static in Category.java. In related move, the Category constructor + now takes an additional argument setting the instanceFCQN. This + makes life less miserable for Category subclasses.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug in the OptionConverter.instantiateByClassName + method that would not return the defaultValue in case of error. Thanks + to Matthieu Verbert for identifying this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected the missing stack trace in e-mails generated by the + SMTPAppender when using certain Layouts.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Updated the &quot;Adding Conversion Characters to PatternLayout&quot; + document to reflect the latest changes to the code. Also added the + org/apache/log4j/examples/appserver directory containing the + associated example code.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the BufferSize option to the AsyncAppender.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Eliminated the SecurityExceptions thrown in Applets. Thanks Timur + Zambalayev for reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Fixed the erroneously thrown IOInterruptedException when the AsyncAppender + was closed. Thanks to Tom Palmer for accurately reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.0.4 - 2001-01-12</h3> +<a name="a1.0.4"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a serious bug in Hierarchy.java that would cause a + NullPointerException depending on the order of instantiation of + categories. Thanks to Wolfram Gewohn for reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug in the getOptionsStrings method of SMTPAppender + that omitted to mention the EvaluatorClass option. Thanks to Mark + Balster for reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.0.3 - 2001-01-11</h3> +<a name="a1.0.3"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Fixed a NullPointerException occurring in AsyncAppender after + invoking Category.shutdown. Thanks to Frank-Olaf Lohmann for + reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Modified the OptionConverter.selectAndConfigure method to take an + extra argument of type Hierarchy. This method is used internally + and should not affect most users.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the warn method to LogLog which is used internally by log4j + to report on itself.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Displaced a number of HTML files under the docs directory. The new + structure is compatible with the jakarta site and results in a + more consistent navigation experience.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Made a few improvements in the javadocs.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.0.2 - 2001-01-11</h3> +<a name="a1.0.2"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the missing build.inc file to the distribution. No code + changed.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.0.1 - 2001-01-10</h3> +<a name="a1.0.1"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>This version corrects some documentation and build script bugs; + code has not changed.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.0 - 2001-01-08</h3> +<a name="a1.0"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Package hierarchy now starts at org.apache.log4j.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the fatal() family of methods to the Category + class. Moreover, the EMERG priority has been removed from the + Priority class. This priority has been replaced by the FATAL + priority that is more widely accepted. This change will + require EMERG log statements to be replaced by FATAL log + statements. Assuming EMERG log statements are rare, this should + have a small but bearable impact on existing client code. + + Moreover, the Unix Syslog priorities ALERT, CRIT and NOTICE are no + longer recognized. Support for these priorities was minimal and + few users should suffer from these changes.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Removed the methods setRootPriority, getRootPriority as these + methods were redundant and had been previously deprecated.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Removed the DOM Level 2 dependency in DOMConfigurator. This makes + log4j XML configurable using Sun's parser or Apache's Xerces.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The static initializer of the Category class now takes the + log4j.configuration system property to search for its configuration + file. The type of the configurator used to parse the configuration + file depends on the value of the log4j.configuration system + property.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Enhanced the PropertyConfigurator and DOMConfigurator to support + customisation of independent Hierarchy instances. The + org.apache.log4j.net.SocketServer has been enhanced to take + advantage of this functionality. The old code of SocketServer has + been moved to SimpleSocketServer.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Enhanced the PropertyConfigurator to support variable substitution + for all options *values* (but not keys!).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Categories are now aware of the Hierarchy they are linked to. This + will provide a basis for several performance enhancements planned + for the future.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add support for object rendering. It is now possible to register + an object renderer for a given object type. When the given object + needs to be logged log4j will invoke the corresponding renderer to + transform the object into a String. + + As a result of this enhancement, all the String forms of all the + printing methods such as debug(String), info(String) have been + removed as they are no longer necessary. This change should be + backward compatible but requires recompilation of old client + code. Thanks to Michael Smith for noting the recompilation + requirement.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add support for user defined category factories in the + PropertyConfigurator. Thus, it is now possible to configure log4j + with a properties file and still use custom Category + sub-classes. The DOMConfigurator had already a finer grain + support.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the SMTPAppender that in case of an error or fatal event + sends an e-mail containing latest N logging events in its buffer, + where N is chosen by the user.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the method getInstance(Class) to the Category class.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug in configureAndWatch method of configurators that + would configure log4j only after an unnecessary delay.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.9.1 - 2000-11-30</h3> +<a name="a0.9.1"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a typo making NTEventLogAppender.dll register the wrong + category message file. Thanks to Peter Hayes for accurately + reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The DOMConfigurator and PropertyConfigurator can now automatically + detect modified configuration files and re-read them.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add AsyncAppender which buffers log requests and serves them + at a later time. AsyncAppender can increase logging performance + tremendously if logging operations are interspersed with long + and blocking non CPU-intensive operations, typically I/O or network + access. For CPU intensive applications, using the AsyncAppender + will actualy degrade logging performance by 10 to 25 percent.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The log4j.dtd has been modified to allow appenders to refer to + other appenders by IDREF.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The DOMConfigurator has been modified to take advantage of ID/IDREF + attributes when referring to appenders. This change requires a + DOM Level-2 API compliant parser. DOM Level-2 java bindings are + available at + http://www.w3.org/TR/1999/WD-DOM-Level-2-19990923/java-binding.html.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the configure(String filename) method to DOMConfigurator. + This method requires the presence of a JAXP compatible parser. + At this time, the only DOM2 and JAXP compatible parser seems to be + the Apache xerces parser.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the PriorityMatchFilter allowing filtering by exact priority + match. This was a common request by users.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The configuration of a category is now an atomic operation. This + ensures that log requests are not lost while configuration is in + progress. Anders Kristensen was to first to observe the potential + problems in non-atomic configurations.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.9.0 - 2000-11-20</h3> +<a name="a0.9.0"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The &quot;log4j&quot; element has been renamed to &quot;configuration&quot; in the + log4j DTD. This change requires that log4j configuration files + written in XML be modified. Since the log4j element figures only + once in the XML file, this change should take little time.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>ResourceBundles are now category instance specific and no longer + class static. Moreover, like other properties resource bundles + are inherited from the category hierarchy.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The jar files log4j.jar and log4j-full.jar now contain versioning + information in their respective manifest files.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected an inconsistency in the NTEventLogAppender which broke it.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Fixed a bug where configuration files were not parsed correctely + due to trailing spaces in option values as returned by + java.util.Properties. Trailing spaces are now removed from option + values. This bug was quite disconcerting because the + trailing spaces cannot be seen without careful examination of the + configuration file.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the XMLLayout. + + The output of the XMLLayout consists of a series of log4j:event + elements. It does not output a complete XML file. The output is designed to + be included as an external entity to form a well-formed XML file.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a new abstract class org.log4j.helpers.DateLayout. The TTCCLayout + now extends DateLayout.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a rather subtle performance bug in the buffer management code + in PatternLayout. Thanks to Vladislav Dutov and Constantine + A. Plotnikov for for insisting on the correction of this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Created a new package called org.log4j.spi. This new package + holds classes that are hidden from the casual user but are needed + to extend log4j.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add org.log4j.varia.ExternallyRolledFileAppender to handle + externally triggered file rollovers.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add support for multiple hierarchy trees.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>PatternLayout can now be subclassed to support new conversion + patterns.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Extended the DOMConfigurator and the log4j DTD to properly handle + sub-classing of Category and Priority classes. + There have been also minor adjustments to other classes to handle + sub-classing. These changes should be invisible to users. + + All categories except the root category can be sub-classed and also + assigned priorities sub-classing org.log4j.Priority. + + The root category always exists and CANNOT be subclassed. + + The ProppertyConfigurator remains unchanged. Thus, it does not + handle extensions of the Category class.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add filter support in appenders. The DOMConfigurator and the + log4j.dtd have been enhanced to support filters.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add error handling support to appenders. The DOMConfigurator and the + log4j.dtd have been enhanced to support filters.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add support for correct interpretation of location information in + IBM's Visual Age environment. Thanks to Wolf Siberski for supplying + the relevant patch.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add getAdditivity method to Category. This feature was requested + by Constantin Mitran. (mitran at ecircle.de)</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.5b - 2000-08-27</h3> +<a name="a0.8.5b"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected multiple bugs in default initialization code of + Category class. Thanks to Jeff Turner for identifying and supplying + corrective patches.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.5a - 2000-08-24</h3> +<a name="a0.8.5a"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the %n conversion character to PatternLayout so that a line + separator can be specified in a platform independent way.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>In 0.8.5 internal Priority integer values were decoupled from the + Unix Syslog values. This broke SyslogAppedder. A new function + Priority.toSyslogInt is introduced to solve this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug where the internal priority integer</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.5. - 2000-08-23</h3> +<a name="a0.8.5."></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>All log4j internal output is now prepended with the string + &quot;log4j: &quot;. This makes is easier to differentiate log4j internal + logs from messages output by other sources.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Sub-classes of Category class must now specify their fully + qualified name when constructing logging events. This allows the %C + conversion specifier in PatternLayout to work properly even with + sub-classes or wrappers of Category.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the method disableDebug to BasicConfigurator. This method + disables all print requests of debug priority regardless its + category. Similar methods disableInfo, disable, disableAll and + enableAll have also been added. Disable type methods can be + overriden by setting the log4j.disableOverride system property. + + Calling BasicConfigurator.disableInfo is equivalent to the now + deprecated flagAsShippedCode method.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Given the above changes, the system property + log4j.shippedCodeFlagOverride is no longer honored.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>It is now possible to sub-class Category. The sub-classes may + continue to adhere to the category hierarchy. This was a frequently + requested feature.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a problem with the additivity flag being ignored in + categories without appenders. This bug was discovered by Anders + Kristensen.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a method BasicConfigurator.resetConfiguration to reset the + log4j environment. This method should be used sparingly.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>At the initialization of the Category class, the file + log4j.properties will now be searched from the search path used to + load classes. If the file can be found, then it is fed to the + PropertyConfigurator.configure(java.net.URL) method.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Failing to access system properties within the static initializer + of BasicConfigurator class is no longer reported as an error but as + a debug message. Thanks to Gilles Schlienger for reporting this + problem with applets.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug which caused infinite loops when using conversion + patterns with a single element, fortunately under very rare + circumstances. This bug was first reported by Igor Potraev, the + author of log4p. It was independently reported by Joe Haberl from + IBM Global Services.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a mechanism to lazily remove references to dead threads in + the NDC class. Indeed, in previous versions calling NDC.pop within + a thread but forgetting to call to NDC.remove before exiting (that + thread) resulted in a memory leak.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a huge memory leak in SocketAppender. This leak was due + to the ObjectOutputStream indefinitely holding a reference for each + written to the stream. Thanks to Dan MacDonald for very accurately + describing this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The log and l7dlog methods in Category no longer ignore the shipped + code flag. This bug was reported by Mario Schomburg.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add missing NDC information to LoggingEvent.writeObject + method.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected handling of SocketException in SocketNode. Thanks to + Gerald Gutierez (ggutierez@emobiledata.com) for reporting this and + the previous problem.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Phased out custom shell scripts to build java documentation and jar + files in favor of Jakarta's ANT. It was becoming a nuisance to keep + the ANT build file in sync with the custom shell scripts.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.4d - 2000-05-11</h3> +<a name="a0.8.4d"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The NT EventViewer no longer complains about missing message 4096.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Minor corrections in documentation.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add missing icons GIFs into the distribution.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SocketNode now attempts to close the socket when exiting. Thanks to + Moses Hohman (mmhohman@rainbow.uchicago.edu) for noting this.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Removed the com.ibm.log4j from the javadoc directory. This seems to + confuse VAJ. Thanks to Steve Ashcroft for reporting this problem.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.4c - 2000-05-05</h3> +<a name="a0.8.4c"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>As a result of the infinite loop problem (see next item), added + over 800 new test cases to stress-test the code in CategoryFactory + class where category creation occurs.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Under certain rare circumstances the Category.getInstance method + entered an infinite loop. Thanks to Mario Schomburg from IBM Global + Services / Hannover for identifying this problem and proposing a + patch.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>DOMConfigurator and the log4j.dtd were out of sync on the type of + the priority directive. As a result, priority directives all + defaulted to DEBUG. Thanks to Peter (petervt@users.sourceforge.net) + for accurately reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Minor additions to the FAQ.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the NumberCruncher example showing how the NDC class can be + used to distinguish output from different clients.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the %x conversion specifier to the TTCC_CONVERSION_PATTERN in + the PatternLayout class. This is consistent expected output of + Trivial.java example. Thanks to Jerome (schrom@users.sourceforge.net) + for reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.4b - 2000-05-03</h3> +<a name="a0.8.4b"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The value of the additivity option would not be parsed properly by + the ProperytConfigurator if the line containing the option + contained trailing spaces.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.4a - 2000-05-03</h3> +<a name="a0.8.4a"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The localized logging methods (l7dlog) omitted priority based + evaluation and erroneously logged all requests.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.4 - 2000-05-01</h3> +<a name="a0.8.4"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The close method was added to the Appender interface allowing + appender implementations to release any resources they may have + allocated.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The package naming scheme of changed from &quot;com.ibm.log4j.*&quot; to + &quot;org.log4j.*&quot;. The new naming reflects the open source nature of + the project and is consistent with the URL http://www.log4j.org.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add internationalization support. See the newly introduced l7dlog + methods in Category class.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>In the FileAppender, the File option now admits variable + substitution. For example, if &quot;java.home&quot; system property is set + to /home/xyz and the File option is given the value + &quot;%{java.home}/test.log&quot;, then File option will be interpreted as + &quot;/home/xyz/test.log&quot;. + + Thanks to Avy Sharell (sharell@online.fr) for contributing this + feature.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>SocketAppender is now officially part of the package. It is capable + of sending logging events to a remote SocketNode. The SocketNode + logs events according to server (local) policy. For example, a + client can log events to a local file and also send them to a + remote server (a SocketNode). This server can log the event to any + number of files, to the console, to any number of TextPaneAppenders + and even re-transmit the event to another server, and so forth. + + This paradigm is common in most logging systems, e.g. Syslog and NT + Event Log. Many thanks to Andrew Harrison for showing a way to + actually implement the paradigm.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The Category.callAppenders method now accepts a LoggingEvent + instead of creating one itself. This was necessary to accommodate + events generated at a remote client.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>LoggingEvent class changed slightly to support remote logging. The + category field (a Category) has been replaced by the categoryName + field (a String).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.3b - 2000-04-14</h3> +<a name="a0.8.3b"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug in Category.removeAppender(String) which would + never remove the desired appender. Thanks to Moses Hohman for + reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.3a - 2000-04-14</h3> +<a name="a0.8.3a"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug RollingFileAppender which would throw an uncaught + exception in case output file could not be opened for + writing. Thanks to Vinay Aggarwal for signaling this problem.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.3 - 2000-04-13</h3> +<a name="a0.8.3"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The log4j.override key defined in BasicConfigurator has been + renamed to log4j.shippedCodeFlagOverride.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The getCurrentCategories method in the Category class would not + return the correct value. Thanks to Timothy Potter + (tpotter@agency.com) for reporting this problem.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Appenders now admit a priority threshold as an option. All requests + with a priority lower than the appender's threshold priority are + ignored by the appender.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Integrated Christopher Taylor's DOMConfigurator parsing XML + configuration files.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The jar file log4j-net.jar has been replaced by log4j-full.jar. It + contains DOMConfigurator.class in addition to the com.ibm.log4j.net + package.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add support for the ANT build tool. Thanks to Christopher Taylor + for supplying the build.xml file. ANT is available form + http://jakarta.apache.org.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>FileAppender's File option now accepts the values &quot;System.out&quot; or + &quot;System.err&quot;. If one these values is suppiled in a configuration + file then the output is directed to the corresponding stream. + Moreover, the default constructor of FileAppender no longer sets + System.out as an output target nor does it define a default + layout.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add caller class (C), caller file name (F), caller line number + (L), caller method name (M) conversion specifiers to the + PatternLayout class. + + The category conversion specifier now takes an optional precision + modifier allowing the user to control the number of right most + components in the category name that will be printed. + + Corrected a bug occuring when the caller file name and line number + information were unavilable due to JIT compilation. In that case, + the PatternLayout would not properly use the rest of the available + location information. + + The above enhancements and bug-fixes originate from comments by + Nelson Minar (nelson@monkey.org).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.2 - 2000-03-23</h3> +<a name="a0.8.2"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The SimpleLayout and TTCCLayout are replaced by the PatternLayout + in the log4j.jar file to keep its size small. These two layouts are + still part of the package.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The PatternLayout class is introduced. This new layout is + configurable using a conversion pattern which is parsed at + runtime. This allows the user to choose the output layout without + writing any code and only at a marginal performance cost compared + to the dedicated layouts such as SimpleLayout and TTCCLayout. The + PatternLayout also allows the user to determine minimum and maximum + field lengths. + + The PatternLayout was written by Jim Cakalic + (jim_cakalic@na.biomerieux.com).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>All internal components now use LoggingEvent instances to specifiy + logging information.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a problem with a missing variable initialization in + SyslogAppender. This caused NullPinterException to be thrown when + logging exceptions. + + Added a default constructor to SyslogAppender. The lack of this + constructor caused PropertyConfigurator to throw a + java.lang.InstantiationException when the appender type was set to + be SyslogAppender. + + Thanks to Yves Bossel (ybossel@opengets.cl) for accurately + identifying these bugs. + + Modified some other related option handling code in + SyslogAppender.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Made NDC.get public access instead of default access. Thanks to + Y. J. Chun (monac@softonnet.com) for reporting this problem.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>PropertyConfigurator now parses the additivity option for + categories.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected the value of the ADDITIVITY_PREFIX constant to match the + documented value, that is &quot;log4j.additivity&quot;.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a really bad bug where System.out would be closed when + PropertyConfigurator.configure was called. Thanks to Christopher + Taylor (cstaylor@pacbell.net) for tracking and reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The PropertyConfiguator now prints debug messages if the flag + &quot;log4j.configDebug&quot; is defined in the configuration + file. Previously, only if the system property &quot;log4j.configDebug&quot; + was set would debug messages be printed. A question by Shawn + Kircher (skircher@vninet.com) induced this change.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>In AbsoluteTimeDateFormat, DateTimeDateFormat and ISO8601DateFormat + the separator between the seconds and milliseconds has been changed + to comma from full stop, in order to be compliant with ISO8601's + preferred sign. Thanks to Jim Cakalic + (jim_cakalic@na.biomerieux.com) for pointing out this discrepancy + with the standard.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug where RollingFileAppender would not work + properly on Windows systems. Thanks to Heinz Richter + (heinz.richter@ecmwf.int) for noting this problem.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.1 - 2000-02-19</h3> +<a name="a0.8.1"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Core classes are now independent of the format of the options + file. Configurable core classes implement the OptionHandler + interface. OptionHandlers allows configurators to learn the + relevant option names. The configurator feeds option values to the + OptionHandler which configures itself. + + As a result of these changes, the Init class has been broken down + to two separate classes: the BasicConfigurator and the + PropertiesConfigurator. + + An XML configurator for 0.8.0 has been already written by + Christopher Taylor (cstaylor@pacbell.net).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add multiple appender support per category. The appenders follow + the category hierarchy, i.e. a child category inherits the + appenders of its parents.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add an assert() method to the Category class. Steven Marcus + (srnm@awaretechnologies.com) requested this addition.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Automatic stack printing is no longer supported. This was an unused + and unreliable feature which unnecessarily complicated the + code.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>log4j now emits a single warning message when no appender to write to + could be found. This is typically the case when the user forgets + to configure the log4j environment. This change was suggested by + Jim Cakalic (jim_cakalic@na.biomerieux.com).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>RollingFileAppender adds file roll over capability-implemented by + Heinz Richter (heinz.richter@ecmwf.int).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug where a java.lang.NoClassDefFoundError would be + thrown because com.ibm.log4j.helpers.SyslogTracerPrintWriter was + not included in log4j.jar. Thanks to Jim Cakalic (jim_cakalic@na.biomerieux.com) + for signaling this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.8.0 - 2000-02-09</h3> +<a name="a0.8.0"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>There has been an important API changes. The Log, NOPLog and ILog + classes have been removed. Their functionality has been migrated to + the Category class. + + In this release, instead of writing + + ILog.debug(CAT, &quot;Some message.&quot;); + + one will write + + CAT.debug(&quot;Some message.&quot;); + + Arndt Schoenewald &lt;arndt@ibm23093i821.mc.schoenewald.de&gt; observed that + one could use the Category objects directly for logging.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>It is no longer possible to instantiate Category objects directly. + Instead, one would use the factory method + Category.getInstance(String name). [***] + + There category instantiation code was moved to CateogryFactory + class. This class has package visibility and remains hidden from + the user. + + This stylistic improvement was suggested by Luke Blanshard + (luke@quiq.com).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The Init class offers methods to initialize the log4j + environment. The Init.flagAsShippedCode method replaces the NOPLog + class.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Changes in the documentation to reflect the API changes.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The NDC.cloneStack and inherit methods now tolerate null-stacks.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.7.5 - 2000-01-29</h3> +<a name="a0.7.5"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>TTCCLayout now takes a java.text.DateFormat object as a + parameter. The task of formatting the date is delegated to this + object. + + Added four classes extending the java.text.DateFormat class. These + are RelativeTimeDateFormat, AbsoluteTimeDateFormat, + DateTimeDateFormat and ISO8601DateFormat classes. + + Thanks to Arndt Schoenewald &lt;arndt@ibm23093i821.mc.schoenewald.de&gt; + for suggesting the ISO8601 date format. + + These four classes can be parametrized with a particular + TimeZone. The TTCCLayout class now accepts a new configuration file + option called &quot;TimeZone&quot;. + + These four DateFormats are less malleable than the + java.text.SimpleDateFormat but they are also much faster. + + As a consequence of these changes, the setRelativeTime, + setDatePrinting methods in TTCCLayout have been removed along with + the associated configuration file options RelativeTime, + DatePrinting and TimePrinting. + + The current code is inspired by code contributed by + Heinz Richter (heinz.richter@ecmwf.int).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The Log.emerg method has been deprecated. If you use statements of + EMERG priority, please use the Log.log form instead.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add getDepth and setMaxdepth methods to the NDC class. This makes + it easier to manage the nested context depth especially when + callees push but forget to pop.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Moved the documentation in com/ibm/log4j/package.html to + com/ibm/log4j/overview.html. Many users were failing to read the + com/ibm/log4j/package.html description due to the unfortunate + layout of the text. Hopefully more people will read the package + overview in its present location.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the com.ibm.log4j.net package for doing remote logging using + TCP sockets. This is still experimental code.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add new debug, .., emerg methods that do not require a category + parameter. They assume the &quot;root&quot; category, that is the decision to + whether print or not is made by comparing the statement's priority + with the default priority.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.7.4 - 2000-01-21</h3> +<a name="a0.7.4"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a new ILog.init method accepting an Appender and a + configuration file as parameters.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>FileAppender's setWriter and setFile methods where not instantiating + a new tracer. This caused stack traces to be lost! SyslogAppender + had a similar problem.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The FileAppender and SyslogAppender where not calling the layout's + readConfig method to set layout specific options. Thanks to Heinz + Richter (heinz.richter@ecmwf.int) for reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug in Log.log() method where the appender was always + called with Priority.DEBUG. Thanks to Oliver Boehm + (Oliver.Boehm@abaxx.de) for reporting this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.7.3 - 2000-01-14</h3> +<a name="a0.7.3"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add Syslog compatibility. One can now choose (at runtime) between + remote syslog logging or file logging. + Syslog logging performance, although not appalling, is significantly + slower than file logging.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Priority class was enriched with the previously missing priorities + NOTICE, ALERT and CRIT. The internal constants were also aligned with + the syslog counterparts.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the Log.log method to support the new priorities.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>TracerPrintWriter is now an independent class instead of being a + nested top-level class in Tracer.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>A number of writers, namely the SyslogWriter, SyslogQuietWriter, + SyslogTracerPrintWriter, were added to the helper package.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Log.force method was removed. The various Appender.doAppend + implementations take over its functionality.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>FileAppender and SyslogAppender now use QuietWriter. QuietWriter is + a FilterWriter which hides exceptions and instead emits a single + warning message to System.err.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The layout is now an initialization parameter to the appender + type. Previously, the layout and the appender where independent + parameters to the Log constructor.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Many small improvements and corrections in the documentation. + Syslog related documentation remains sparse.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>ILog.init() and ILog.init(String configFile) have been changed to + call ILog.init(,,,) with &quot;com.ibm.log4j.Log.class&quot; as the first + parameter. This makes it easier for people to get familiar with log4j.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add missing files to the make directory. These files are useful + for those wishing to use the log4j make environment. Thanks to &quot;Lee + Hall&quot; &lt;LHall@JavaFoundry.com&gt; for reporting this omission. + Until recently the make environment failed to compile RMI stubs in + a single run. This nagging problem has been corrected thanks to + help from Thomas Eirich (IBM Zurich Research Lab).</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.7.2 - 2000-01-04</h3> +<a name="a0.7.2"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Some users have been rightly complaining about the verbosity + TTCCLayout's date output. The full date output is now shortened to + &quot;dd MMM YYYY HH:mm:ss.SSS&quot; for example, &quot;06 Nov 1994 08:49:37.459&quot; + In addition, users may now choose to print only time information, + as in &quot;08:49:37.459&quot;.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The package now uses Writer instead of OutputStream as its output + target. This makes the log4j code smaller and easier to + understand at the cost of a slight performance degradation. As a + result of this change a few method names in FileAppender class were + changed.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Preliminary experiments with SyslogAppedner and SyslogLayout show + that syslog compatibility is not far away. The difficultly is + adding syslog compatibility without making radical changes to the + current log4j architecture.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug in the NOPLog.createInstance method which always + created a Log singleton even if the system property &quot;log4j.logType&quot; + was set to NOPLog. Thanks to Robert Gottofrey + (Robert.Gottofrey@wdr.com) for reporting this bug and the + associated test case.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Removed the inconsistent &quot;Layout&quot; configuration option in + Log.readConfig(). This change should be transparent to most + users.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.7.1 - 1999-12-20</h3> +<a name="a0.7.1"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The LogCreationManager class has been removed. Its functionality + has been transfered to the createInstance and getInstance methods + in the Log and NOPLog classes. The new way of creating instances is + both simpler and less error prone although just as flexible. + + As a result of these changes, the init family of methods in the + ILog class have been adjusted to the new way of creating the log + singleton.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The Appender interface has been introduced. The method of writing a + log statement into an output stream can now be varied by using a + different Appender. The new FileAppender offers the same + functionality that was previously part of the Log class.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Changed the time format used in TTCCLayout to be of the form &quot;Day, + dd MMM YYYY HH:mm:ss.SSS GMT&quot; for example, &quot;Sun, 06 Nov 1994 + 22:49:37.459 GMT&quot;. This format is almost the same as the format + specified in RFC 1123 and also the format recommended in RFC + 2616. The only difference is the additional milliseconds + information.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The layout specific options were not read from the configuration + file due to a missing instruction. Many thanks to Vikram Sridharan + (Vikram.Sridharan@alysis.com) to patiently pointing out this + omission to an unbelieving maintainer.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.7.0 - 1999-12-16</h3> +<a name="a0.7.0"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Version 0.7.0 and above will be distributed under the IBM Public + License (IPL). The IPL is an approved open source license (see + http://www.opensource.org/licenses/ for a list). It grants similar + rights to the previous ALPHAWORKS license agreement, in particular, + the right to redistribute and to modify the package.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>The Log class can now be parameterized with a Layout object. + Layouts determine the format of what is printed, where as the Log + class decides when to print and to where. + + As a result of this modularization, the CGULog and NOPCGULog + classes no longer exists. CGULog class has been replaced with the + TTCCLayout (Time Thread Context Category). This should make it + easier to create new log output formats. + + Some time in the near future, the Log class will be further broken + down to allow different strategies for writing to output streams.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Renamed com.ibm.util.log hierarchy to to com.ibm.log4j. I wanted to + do this for some time. I feel release 0.7.0 was the last + opportunity to do so. I am sorry for the the trouble caused by this + change.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>New NDC class. This class implements nested diagnostic contexts as + suggested by Neil Harrison in the article &quot;Patterns for Logging + Diagnostic Messages&quot; part of the book &quot;Pattern Languages of Program + Design 3&quot; edited by Martin et al. Nested diagnostic contexts is a + nifty feature that was missing up to now. + + The StressNDC test class seems to break JDK 1.2.2 beta on AIX. On + Linux and NT using sun's JDK 1.2.2 it seem to work OK. In any case, + tests done with StressNDC and associated perl script seem to + indicate that the NDC class is bug-free.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a date formatting bug in CGULog class where on some + environments the wrong month was printed. Thanks to Christopher + Williams (Christopher_Williams@mail.northgrum.com) for signaling + this bug. Also changed the month format from a number to a three + letter abbreviation such as &quot;Jan&quot;, &quot;Feb&quot;, ..., &quot;Dec&quot;. The new + format is unambiguous regardless of local date format.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.6.2 - 1999-12-08</h3> +<a name="a0.6.2"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Clearer documentation with still much room for improvement.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug in the Tracer class which always used the Unix line + separator instead of the system specific separator. Thanks to + Vikram Sridharan (Vikram.Sridharan@alysis.com) for singaling this + bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a runaway comment which gulped the CGULog.readConfig + method.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add the init family of methods to the ILog class to ease the + setup of a basic logging environment. Thanks to Mark Donszelmann + (Mark.Donszelmann@cern.ch) for this enhancement.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Just an hour after releasing version 0.6.1 detected and corrected a + bug where the Tracer class would correctly print Exception stack + trace but not the type of the Exception. Replaced the + distribution on www.zurich.ibm.com without changing the version + number. I hope nobody is using the intermediary (and buggy) release + of 0.6.1.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.6.1 - 1999-11-16</h3> +<a name="a0.6.1"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Better documentation with still much room for improvement.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>For consistence sake, added setDefaultPriority and + getDefaultPriority methods to the Category class and deprecated + setDefaultPriority in the Log.class.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a major bug where if two categories were homonyms the + second instance would not be properly initialized.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Increased the speed of Exception logging from about 4000 + microseconds to about 1000. It seems that for some people Exception + logging is performance critical. Improved implementation is a + variant of Nocolai's (XNH@crisplant.com) implementation.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.6.0 - 1999-11-09</h3> +<a name="a0.6.0"></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Release of log4j 0.6.0 with incomplete documentation.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a stress test program to debug the new Category class. It + turns out that the test program was as hard to get right as the + Category class. Given the favorable results of the stress test I am + quite confident that the new class is now bug free. This assumption + has been proven to be wrong. See above.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Created a new class called Category to manipulate categories + instead of plain Strings. The new class is just as easy to use. + However, the evaluation of whether to log or not to log is at least + 10 times faster. The NOP class performance remain unaffected by the + change. (You can't improve on the performance of an empty function + call.) + + Many thanks to Alex Blewitt &quot;Alex.Blewitt@ioshq.com&quot; for his + valuable comments. He was the first to observe that finding Strings + in a hash table was an expensive operation. + + This change will require some recoding on your part. See the FAQ + for more details.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Modified the force in Log and CGULog method to use a byte[] buffer + instead of a StringBuffer. The old code was clearer but the new one + is at least 25% faster.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add regression testing.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>We now enforce a policy where the OutputStream set by + setOutputStream is a user managed resource whereas the OutputStream + opened using setLogFile is the Log class' responsibility. + + The setLogFile method now closes any previous OutputStream if only + if opened through setLogFile. If the previous OutputStream was + opened by the user and set through setOutputStream the previous + OutputStream is untouched. + + Similarly, setOutputStream will close any previous OutputStream if + and only if it was opened using setLogFile.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a new method logOutputStreamExists to the Log class allowing + the programmer to check if there is already an opened stream before + trying to set a new one. A stream can be opened as a byproduct of + reading the configuration file.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Changed the behavior of the (private) Log.Append method in case of + failure to write to the OutputStream. + + Previously, in case of failure, we reverted to System.err. Now, we + emit a warning message and discard all future log messages. The + new behavior is consistent with our current unreliable logging + semantics. The change prevents an otherwise functional program + from failing because the terminal is flooded with logging messages.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Renamed the iLog to ILog to remain consistent with our class naming + scheme. The initial intention was to add ILog and deprecate + iLog. However, I am running CVS on a fat16 partition, causing + serious problems when files differ only in case.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug where the LogFileName was not remembered. Thanks to + Jens for signaling this bug.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.5a - 1999-10-28</h3> +<a name="a0.5a"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Now the programmer can choose to truncate the log file instead of + always appending to it. This functionality was first requested and + intially implemented by &quot;Jens Uwe Pipka&quot; jens.pipka@gmx.de.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>setLogFile now opens the requested file instead of having the + Append function open it later. Cleaned up some related code in the + Append function. Although nobody has requested it, there is still + no method to close the log file. This is harder to implement + reliably than it sounds.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Simplified setLogOutputStream so that it does no longer return the + previously set OutputStream.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 0.5 - 1999-10-27</h3> +<a name="a0.5"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Joe Walker (joe@eireneh.com) observed that the + LogCreationManager.getSingleton mechanism was cumbersome. There is + now a new class iLog (indirect Log) which hides the need to call + getSingleton. Performance testing on my 233Mhz Thinkpad shows that + this indirection has small performance impact on non-logged calls + in the order of 40 nanoseconds. The impact on logged calls is + negligible.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a jar file to the distribution. The jar file contains only + the files you would need to use log but not other classes needed + for testing nor examples.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Corrected a bug where CGUNOPLog was not integrated to the Makefile.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add new public methods isDebugEnabled and isInfoEnabled to allow + programmers to check whether a debug/info statement will be logged + without incurring the cost of message parameter construction. This + addition was suggested by Luke Blanshard Luke@quiq.com.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Renamed the private method evaluate to isEnabled. Also made it + final with no apparent speed gains. In addition, made the + Log.force method public.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>New syntactic sugar debug, ..., emerg, methods to log objects.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Modified the interface to deal with Throwables and not just + Exceptions. My thanks to Luke Blanshard for signaling this &quot;bug&quot;.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add more tests to the LogPerformance class. In particular, to + test the influence of indirect debug calls.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add a &quot;make&quot; mini-tutorial for those who want to modify the code.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>License updated to standard alphaWorks license allowing + modifications to source code. However, this license explicitly + requires that modifications be communicated back to alphaWorks.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release null - 1999-10-15</h3> +<a></a><table class="bodyTable"><tr class="a"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Initial availability on alphaWorks. Refer to the FAQ for the lineage of the package.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/css/maven-base.css b/thirdparty/apache-log4j-1.2.16/site/css/maven-base.css similarity index 88% rename from thirdparty/apache-log4j-extras-1.0/site/css/maven-base.css rename to thirdparty/apache-log4j-1.2.16/site/css/maven-base.css index 5fe1845a4d6..37103d277da 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/css/maven-base.css +++ b/thirdparty/apache-log4j-1.2.16/site/css/maven-base.css @@ -35,11 +35,9 @@ div.clear hr{ } .xleft, #bannerLeft img { float:left; - text-shadow: #7CFC00; } -.xright, #bannerRight img { +.xright, #bannerRight { float:right; - text-shadow: #7CFC00; } #banner { padding: 0px; @@ -101,9 +99,6 @@ div.clear hr{ #poweredBy img { display:block; margin: 20px 0 20px 17px; - border: 1px solid black; - width: 90px; - height: 30px; } #search img { margin: 0px; diff --git a/thirdparty/apache-log4j-extras-1.0/site/css/maven-theme.css b/thirdparty/apache-log4j-1.2.16/site/css/maven-theme.css similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/css/maven-theme.css rename to thirdparty/apache-log4j-1.2.16/site/css/maven-theme.css diff --git a/thirdparty/apache-log4j-extras-1.0/site/css/print.css b/thirdparty/apache-log4j-1.2.16/site/css/print.css similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/css/print.css rename to thirdparty/apache-log4j-1.2.16/site/css/print.css diff --git a/thirdparty/apache-log4j-1.2.16/site/css/site.css b/thirdparty/apache-log4j-1.2.16/site/css/site.css new file mode 100644 index 00000000000..1e70f6cbcd0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/css/site.css @@ -0,0 +1,17 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ diff --git a/thirdparty/apache-log4j-1.2.16/site/dependencies.html b/thirdparty/apache-log4j-1.2.16/site/dependencies.html new file mode 100644 index 00000000000..2b32112a45f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/dependencies.html @@ -0,0 +1,491 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Project Dependencies</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <strong>Dependencies</strong> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <a name="Project_Dependencies"></a><div class="section"><h2>Project Dependencies</h2> +<a name="compile"></a><div class="section"><h3>compile</h3> +<p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p> +<table class="bodyTable"><tr class="a"><th>GroupId</th> +<th>ArtifactId</th> +<th>Version</th> +<th>Type</th> +<th>Optional</th> +</tr> +<tr class="b"><td>javax.mail</td> +<td><a class="externalLink" href="https://glassfish.dev.java.net/javaee5/mail/">mail</a></td> +<td>1.4.1</td> +<td>jar</td> +<td>Yes</td> +</tr> +<tr class="a"><td>org.apache.geronimo.specs</td> +<td>geronimo-jms_1.1_spec</td> +<td>1.0</td> +<td>jar</td> +<td>Yes</td> +</tr> +</table> +</div> +<a name="test"></a><div class="section"><h3>test</h3> +<p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p> +<table class="bodyTable"><tr class="b"><th>GroupId</th> +<th>ArtifactId</th> +<th>Version</th> +<th>Type</th> +</tr> +<tr class="a"><td>junit</td> +<td><a class="externalLink" href="http://junit.org">junit</a></td> +<td>3.8.2</td> +<td>jar</td> +</tr> +<tr class="b"><td>oro</td> +<td>oro</td> +<td>2.0.8</td> +<td>jar</td> +</tr> +</table> +</div> +</div> +<a name="Project_Transitive_Dependencies"></a><div class="section"><h2>Project Transitive Dependencies</h2> +<p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p> +<a name="compile"></a><div class="section"><h3>compile</h3> +<p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p> +<table class="bodyTable"><tr class="a"><th>GroupId</th> +<th>ArtifactId</th> +<th>Version</th> +<th>Type</th> +</tr> +<tr class="b"><td>javax.activation</td> +<td><a class="externalLink" href="http://java.sun.com/products/javabeans/jaf/index.jsp">activation</a></td> +<td>1.1</td> +<td>jar</td> +</tr> +</table> +</div> +</div> +<a name="Project_Dependency_Graph"></a><div class="section"><h2>Project Dependency Graph</h2> +<script language="javascript" type="text/javascript"> + function toggleDependencyDetail( divId, imgId ) + { + var div = document.getElementById( divId ); + var img = document.getElementById( imgId ); + if( div.style.display == '' ) + { + div.style.display = 'none'; + img.src='./images/icon_info_sml.gif'; + } + else + { + div.style.display = ''; + img.src='./images/close.gif'; + } + } +</script> +<a name="Dependency_Tree"></a><div class="section"><h3>Dependency Tree</h3> +<ul><li>log4j:log4j:bundle:1.2.16 <img id="_821520680" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_419757363', '_821520680' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_419757363" style="display:none"><table class="bodyTable"><tr class="a"><th>Apache Log4j</th> +</tr> +<tr class="b"><td><p><b>Description: </b>Apache Log4j 1.2</p> +<p><b>URL: </b><a class="externalLink" href="http://logging.apache.org/log4j/1.2/">http://logging.apache.org/log4j/1.2/</a></p> +<p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p> +</td> +</tr> +</table> +</div><ul><li>javax.mail:mail:jar:1.4.1 (compile) <img id="_1036701638" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1376224510', '_1036701638' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1376224510" style="display:none"><table class="bodyTable"><tr class="a"><th>JavaMail API</th> +</tr> +<tr class="b"><td><p><b>Description: </b>The JavaMail API provides a platform-independent and protocol-independent framework to build mail and messaging applications.</p> +<p><b>URL: </b><a class="externalLink" href="https://glassfish.dev.java.net/javaee5/mail/">https://glassfish.dev.java.net/javaee5/mail/</a></p> +<p><b>Project License: </b><a class="externalLink" href="https://glassfish.dev.java.net/public/CDDLv1.0.html">Common Development and Distribution License (CDDL) v1.0</a></p> +</td> +</tr> +</table> +</div><ul><li>javax.activation:activation:jar:1.1 (compile) <img id="_1962149106" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_494873986', '_1962149106' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_494873986" style="display:none"><table class="bodyTable"><tr class="a"><th>JavaBeans Activation Framework (JAF)</th> +</tr> +<tr class="b"><td><p><b>Description: </b>JavaBeans Activation Framework (JAF) is a standard extension to the Java platform that lets you take advantage of standard services to: determine the type of an arbitrary piece of data; encapsulate access to it; discover the operations available on it; and instantiate the appropriate bean to perform the operation(s).</p> +<p><b>URL: </b><a class="externalLink" href="http://java.sun.com/products/javabeans/jaf/index.jsp">http://java.sun.com/products/javabeans/jaf/index.jsp</a></p> +<p><b>Project License: </b><a class="externalLink" href="https://glassfish.dev.java.net/public/CDDLv1.0.html">Common Development and Distribution License (CDDL) v1.0</a></p> +</td> +</tr> +</table> +</div></li> +</ul> +</li> +<li>oro:oro:jar:2.0.8 (test) <img id="_651829707" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1441710068', '_651829707' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1441710068" style="display:none"><table class="bodyTable"><tr class="a"><th>Unnamed - oro:oro:jar:2.0.8</th> +</tr> +<tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p> +<p><b>Project License: </b>No project license is defined for this project.</p> +</td> +</tr> +</table> +</div></li> +<li>junit:junit:jar:3.8.2 (test) <img id="_955657816" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1009185269', '_955657816' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1009185269" style="display:none"><table class="bodyTable"><tr class="a"><th>JUnit</th> +</tr> +<tr class="b"><td><p><b>Description: </b>JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.</p> +<p><b>URL: </b><a class="externalLink" href="http://junit.org">http://junit.org</a></p> +<p><b>Project License: </b><a class="externalLink" href="http://www.opensource.org/licenses/cpl1.0.txt">Common Public License Version 1.0</a></p> +</td> +</tr> +</table> +</div></li> +<li>org.apache.geronimo.specs:geronimo-jms_1.1_spec:jar:1.0 (compile) <img id="_183839605" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1507575474', '_183839605' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1507575474" style="display:none"><table class="bodyTable"><tr class="a"><th>Unnamed - org.apache.geronimo.specs:geronimo-jms_1.1_spec:jar:1.0</th> +</tr> +<tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p> +<p><b>Project License: </b>No project license is defined for this project.</p> +</td> +</tr> +</table> +</div></li> +</ul> +</li> +</ul> +</div> +</div> +<a name="Licenses"></a><div class="section"><h2>Licenses</h2> +<p><b>Unknown: </b>Unnamed - org.apache.geronimo.specs:geronimo-jms_1.1_spec:jar:1.0, Unnamed - oro:oro:jar:2.0.8</p> +<p><b>Common Public License Version 1.0: </b>JUnit</p> +<p><b>The Apache Software License, Version 2.0: </b>Apache Log4j</p> +<p><b>Common Development and Distribution License (CDDL) v1.0: </b>JavaBeans Activation Framework (JAF), JavaMail API</p> +</div> +<a name="Dependency_File_Details"></a><div class="section"><h2>Dependency File Details</h2> +<table class="bodyTable"><tbody><tr class="a"><th align="left">Filename</th> +<th align="right">Size</th> +<th align="right">Entries</th> +<th align="right">Classes</th> +<th align="right">Packages</th> +<th align="center">JDK Rev</th> +<th align="center">Debug</th> +</tr> +<tr class="b"><td align="left">activation-1.1.jar</td> +<td align="right">61.51 kB</td> +<td align="right">50</td> +<td align="right">38</td> +<td align="right">3</td> +<td align="center">1.4</td> +<td align="center">debug</td> +</tr> +<tr class="a"><td align="left">junit-3.8.2.jar</td> +<td align="right">117.81 kB</td> +<td align="right">120</td> +<td align="right">102</td> +<td align="right">6</td> +<td align="center">1.2</td> +<td align="center">debug</td> +</tr> +<tr class="b"><td align="left">oro-2.0.8.jar</td> +<td align="right">63.73 kB</td> +<td align="right">74</td> +<td align="right">62</td> +<td align="right">6</td> +<td align="center">1.2</td> +<td align="center">release</td> +</tr> +<tr class="a"><td align="left">mail-1.4.1.jar</td> +<td align="right">437.18 kB</td> +<td align="right">303</td> +<td align="right">279</td> +<td align="right">13</td> +<td align="center">1.4</td> +<td align="center">debug</td> +</tr> +<tr class="b"><td align="left">geronimo-jms_1.1_spec-1.0.jar</td> +<td align="right">27.55 kB</td> +<td align="right">67</td> +<td align="right">58</td> +<td align="right">1</td> +<td align="center">1.4</td> +<td align="center">debug</td> +</tr> +<tr class="a"><th align="left">Total</th> +<th align="right">Size</th> +<th align="right">Entries</th> +<th align="right">Classes</th> +<th align="right">Packages</th> +<th align="center">JDK Rev</th> +<th align="center">Debug</th> +</tr> +<tr class="b"><td align="right">5</td> +<td align="right">707.78 kB</td> +<td align="right">614</td> +<td align="right">539</td> +<td align="right">29</td> +<td align="center">1.4</td> +<td align="right">4</td> +</tr> +<tr class="a"><td align="right">compile: 3</td> +<td align="right">compile: 526.24 kB</td> +<td align="right">compile: 420</td> +<td align="right">compile: 375</td> +<td align="right">compile: 17</td> +<td align="center">-</td> +<td align="right">compile: 3</td> +</tr> +<tr class="b"><td align="right">test: 2</td> +<td align="right">test: 181.54 kB</td> +<td align="right">test: 194</td> +<td align="right">test: 164</td> +<td align="right">test: 12</td> +<td align="center">-</td> +<td align="right">test: 1</td> +</tr> +</tbody> +</table> +</div> +<a name="Dependency_Repository_Locations"></a><div class="section"><h2>Dependency Repository Locations</h2> +<table class="bodyTable"><tbody><tr class="a"><th align="left">Repo ID</th> +<th align="left">URL</th> +<th align="center">Release</th> +<th align="center">Snapshot</th> +</tr> +<tr class="b"><td align="left">central</td> +<td align="left"><a class="externalLink" href="http://repo1.maven.org/maven2">http://repo1.maven.org/maven2</a></td> +<td align="center">Yes</td> +<td align="center">-</td> +</tr> +</tbody> +</table> +<p>Repository locations for each of the Dependencies.</p> +<table class="bodyTable"><tbody><tr class="a"><th align="left">Artifact</th> +<th align="center">central</th> +</tr> +<tr class="b"><td align="left">javax.activation:activation:jar:1.1</td> +<td align="center"><a class="externalLink" href="http://repo1.maven.org/maven2/javax/activation/activation/1.1/activation-1.1.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td> +</tr> +<tr class="a"><td align="left">junit:junit:jar:3.8.2</td> +<td align="center"><a class="externalLink" href="http://repo1.maven.org/maven2/junit/junit/3.8.2/junit-3.8.2.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td> +</tr> +<tr class="b"><td align="left">oro:oro:jar:2.0.8</td> +<td align="center"><a class="externalLink" href="http://repo1.maven.org/maven2/oro/oro/2.0.8/oro-2.0.8.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td> +</tr> +<tr class="a"><td align="left">javax.mail:mail:jar:1.4.1</td> +<td align="center"><a class="externalLink" href="http://repo1.maven.org/maven2/javax/mail/mail/1.4.1/mail-1.4.1.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td> +</tr> +<tr class="b"><td align="left">org.apache.geronimo.specs:geronimo-jms_1.1_spec:jar:1.0</td> +<td align="center"><a class="externalLink" href="http://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0/geronimo-jms_1.1_spec-1.0.jar"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td> +</tr> +<tr class="a"><th align="left">Total</th> +<th align="center">central</th> +</tr> +<tr class="b"><td align="left">5 (compile: 3, test: 2)</td> +<td align="center">5</td> +</tr> +</tbody> +</table> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/download.html b/thirdparty/apache-log4j-1.2.16/site/download.html new file mode 100644 index 00000000000..71914a89dd3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/download.html @@ -0,0 +1,255 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Download Apache log4j 1.2</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <strong>Download</strong> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Download Apache log4j 1.2.16</h2> +<p>Apache log4j 1.2.16 is distributed under the <a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.html"> Apache License, version 2.0</a>.</p> +<p>The link in the Mirrors column should display a list of available mirrors with a default selection based on your inferred location. If you do not see that page, try a different browser. The checksum and signature are links to the originals on the main distribution server.</p> +<table class="bodyTable"><tbody><tr class="a"><td align="left"></td> +<td align="left">Mirrors</td> +<td align="left">Checksum</td> +<td align="left">Signature</td> +</tr> +<tr class="b"><td align="left">Apache log4j 1.2.16 (tar.gz)</td> +<td align="left"><a class="externalLink" href="http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.16/apache-log4j-1.2.16.tar.gz"> apache-log4j-1.2.16.tar.gz</a></td> +<td align="left"><a class="externalLink" href="http://www.apache.org/dist/logging/log4j/1.2.16/apache-log4j-1.2.16.tar.gz.md5"> apache-log4j-1.2.16.tar.gz.md5</a></td> +<td align="left"><a class="externalLink" href="http://www.apache.org/dist/logging/log4j/1.2.16/apache-log4j-1.2.16.tar.gz.asc"> apache-log4j-1.2.16.tar.gz.asc</a></td> +</tr> +<tr class="a"><td align="left">Apache log4j 1.2.16 (zip)</td> +<td align="left"><a class="externalLink" href="http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.16/apache-log4j-1.2.16.zip"> apache-log4j-1.2.16.zip</a></td> +<td align="left"><a class="externalLink" href="http://www.apache.org/dist/logging/log4j/1.2.16/apache-log4j-1.2.16.zip.md5"> apache-log4j-1.2.16.zip.md5</a></td> +<td align="left"><a class="externalLink" href="http://www.apache.org/dist/logging/log4j/1.2.16/apache-log4j-1.2.16.zip.asc"> apache-log4j-1.2.16.zip.asc</a></td> +</tr> +</tbody> +</table> +<p>It is essential that you verify the integrity of the downloaded files using the PGP or MD5 signatures. Please read <a class="externalLink" href="http://httpd.apache.org/dev/verification.html">Verifying Apache HTTP Server Releases</a> for more information on why you should verify our releases.</p> +<p>The PGP signatures can be verified using PGP or GPG. First download the <a class="externalLink" href="http://www.apache.org/dist/logging/KEYS">KEYS</a> as well as the asc signature file for the relevant distribution. Make sure you get these files from the <a class="externalLink" href="http://www.apache.org/dist/logging/">main distribution directory</a>, rather than from a mirror. Then verify the signatures using</p> +<div class="source"><pre>% gpg --import KEYS +% gpg --verify log4j-1.2.16.tar.gz.asc</pre> +</div> +<p>Apache log4j 1.2.16 is signed by Curt Arnold 70C9C3DO </p> +<p>Alternatively, you can verify the MD5 signature on the files. A unix program called md5 or md5sum is included in many unix distributions.</p> +<div class="section"><h3>Previous Releases</h3> +<p>All previous releases of Apache log4j can be found in the <a class="externalLink" href="http://archive.apache.org/dist/logging/log4j">archive repository</a>.</p> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/faq.html b/thirdparty/apache-log4j-1.2.16/site/faq.html new file mode 100644 index 00000000000..6de8f94d5da --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/faq.html @@ -0,0 +1,1117 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Frequently Asked Technical Questions</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <strong>FAQ</strong> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2><a name="top">Frequently Asked Technical Questions</a></h2> +<ol type="1"><li><a href="#a1.1">What is log4j?</a></li> +<li><a href="#a1.2">Is log4j a reliable logging system?</a></li> +<li><a href="#a1.3">What are the prerequisites for log4j?</a></li> +<li><a href="#a1.4">What are the features of log4j?</a></li> +<li><a href="#a1.5">Is there example code for using log4j?</a></li> +<li><a href="#a1.6">What documentation should I read to learn more about + log4j?</a></li> +<li><a href="#a1.7">Is log4j thread-safe?</a></li> +<li><a href="#a1.8">What does log output look like?</a></li> +<li><a href="#a1.9">Why should I use log4j when JDK 1.4 already ships with a + logging API?</a></li> +<li><a href="#a2.1">What are <em>Loggers</em>?</a></li> +<li><a href="#a2.2">How can I change log behavior at runtime?</a></li> +<li><a href="#a2.3">What is the fastest way of (not) logging?</a></li> +<li><a href="#a2.4">Are there any suggested ways for naming loggers?</a></li> +<li><a href="#a2.5">How do I get the fully-qualified name of a class in a static block?</a></li> +<li><a href="#a2.6">Can the log output format be customized? </a></li> +<li><a href="#a2.7">What are the configurable options for <code>FooBarAppender</code>?</a></li> +<li><a href="#a2.8">What is the recommended way of migrating from + java.util.logging to log4j?</a></li> +<li><a href="#a2.9">Is it possible to direct log output to + different appenders by level? </a></li> +<li><a href="#a2.10">What does the Windows NT Event Viewer complain about + missing descriptions for my event messages when I use the + <code>NTEventLogAppender</code>?</a></li> +<li><a href="#a2.11">Why can't I map my logger names to the loggers that + appear in the NT Event Log when I use the + NTEventLogAppender?</a></li> +<li><a href="#a2.12">Are there suggested approaches for logging in JSP pages?</a></li> +<li><a href="#a3.1">Can the outputs of multiple client request go to + different log files?</a></li> +<li><a href="#a3.2">Logger instances seem to be create only. Why isn't + there a method to remove logger instances?</a></li> +<li><a href="#a3.3">How do I get multiple process to log to the same file?</a></li> +<li><a href="#a3.4">How about the timesamps of events generated by multiple + processes across multiple hosts (possibly across multiple + timezones)?</a></li> +<li><a href="#a3.5">Why can't log4j find my properties file in a J2EE or WAR + application?</a></li> +<li><a href="#a3.6">Is there a way to get log4j to automatically reload a + configuration file if it changes?</a></li> +<li><a href="#a4.1">Why should I donate my extensions to log4j back to the + project?</a></li> +<li><a href="#a4.2">What should I keep in mind when contributing code?</a></li> +<li><a href="#duplicate-messages">Why am I getting multiple copies of messages in my log file?</a></li> +<li><a href="#custom-level">How do I add a custom level?</a></li> +<li><a href="#unload">Why does log4j throw a NullPointerException or + print a message about NOPLoggerRepository + when shutting down or restarting under Tomcat or during a shutdown + hook?</a></li> +<li><a href="#rfa">Why isn't my rolling file appender properly rolling files or why does + logging events get written to the old log file?</a></li> +<li><a href="#noconfig"> + Why do I see a warning about "No appenders found for logger" and + "Please configure log4j properly"? + </a></li> +<li><a href="#sysprops">What system properties are checked by log4j?</a></li> +</ol> +</div> +<dl><dt><a name="a1.1">What is log4j?</a></dt> +<dd> <p>log4j is a tool to help the programmer output log statements to a + variety of output targets. + </p> + + <p>In case of problems with an application, it is helpful to + enable logging so that the problem can be located. With log4j + it is possible to enable logging at runtime without modifying + the application binary. The log4j package is designed so that + log statements can remain in <i>shipped</i> code without + incurring a high performance cost. It follows that the speed + of logging (or rather not logging) is capital. + </p> + + <p>At the same time, log output can be so voluminous that it quickly + becomes overwhelming. One of the distinctive features of log4j is the + notion of <i>hierarchical loggers</i>. Using loggers it is + possible to selectively control which log statements are output at + arbitrary granularity. + </p> + + <p>log4j is designed with three goals in mind: + reliability, speed and flexibility. There is a tight balance + between these requirements. We believe that log4j strikes the + right balance. + </p> +<table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a1.2">Is log4j a reliable logging system?</a></dt> +<dd><p>No. log4j is not reliable. It is a best-effort + <em>fail-stop</em> logging system. + </p> + + <p>By fail-stop, we mean that log4j will not throw unexpected + exceptions at run-time potentially causing your application to + crash. <b>If for any reason, log4j throws an uncaught exception, + please send an email to the <a href="mailto:log4j-user@logging.apache.org">log4j-user@logging.apache.org</a> + mailing list</b>. Uncaught exceptions are handled as serious bugs + requiring immediate attention. + </p> + + <p>Moreover, log4j will not revert to System.out or System.err + when its designated output stream is not opened, is not writable or + becomes full. This avoids corrupting an otherwise working program by + flooding the user's terminal because logging fails. However, log4j + will output a single message to System.err indicating that logging can + not be performed. + </p><table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a1.3">What are the prerequisites for log4j?</a></dt> +<dd> + <p>Log4j 1.2.8 and earlier are compatible with JDK 1.1.x and later, later versions + of log4j 1.2 are compatible with JDK 1.2 and later. + </p> + + <p>The DOMConfigurator is based on the DOM Level 1 + API. The DOMConfigurator.configure(Element) method will work + with any XML parser that will pass it a DOM tree. + </p> + <p>The DOMConfigurator.configure(String filename) method and its + variants require a JAXP compatible XML parser, for example <a href="http://xml.apache.org/">Xerces</a> or Sun's + parser. Compiling the DOMConfigurator requires the presence of a + JAXP parser in the classpath. + </p> + + <p>The <code>org.apache.log4j.net.SMTPAppender</code> + relies on the <a href="http://java.sun.com/products/javamail/">JavaMail + API</a>. It has been tested with JavaMail API version + 1.2. The JavaMail API requires the <a href="http://java.sun.com/beans/glasgow/jaf.html">JavaBeans + Activation Framework</a> package. + </p> + + <p>The <code>org.apache.log4j.net.JMSAppender</code> + requires the presence of the JMS API as well as JNDI. + </p> + + <p>log4j test code relies on the <a href="http://www.junit.org">JUnit</a> testing framework. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a1.4">What are the features of log4j?</a></dt> +<dd> + <p>log4j is optimized for speed.</p> + + <p>log4j is based on a named logger hierarchy.</p> + + <p>log4j is fail-stop. However, altough it certainly + strives to ensure delivery, log4j does not guarantee that + each log statement will be delivered to its destination. + </p> + + <p>log4j is thread-safe.</p> + + <p>log4j is not restricted to a predefined set of + facilities.</p> + + <p>Logging behavior can be set at runtime using a + configuration file. Configuration files can be property + files or in XML format. </p> + + <p>log4j is designed to handle Java Exceptions from the + start.</p> + + <p>log4j can direct its output to a file, the console, + an <code>java.io.OutputStream</code>, + <code>java.io.Writer</code>, a remote server using TCP, a + remote Unix Syslog daemon, to a remote listener using JMS, + to the NT EventLog or even send e-mail. </p> + + <p>log4j uses 6 levels, namely TRACE, DEBUG, INFO, WARN, ERROR and + FATAL. + </p> + + <p>The format of the log output can be easily changed by + extending the <code>Layout</code> + class. </p> + + <p>The target of the log output as well as the writing + strategy can be altered by implementations of the + <code>Appender</code> interface. </p> + + <p>log4j supports multiple output appenders per logger. + </p> + + <p>log4j supports internationalization.</p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a1.5">Is there example code for using log4j?</a></dt> +<dd> + <p>See the <code>examples/</code> directory.</p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a1.6">What documentation should I read to learn more about + log4j?</a></dt> +<dd><p>Make sure to read the <a href="manual.html">short + manual</a>. It is also recommended to you read <a href="https://www.qos.ch/shop/products/log4j/log4j-Manual.jsp">The complete + log4j manual</a> which is much more detailed and up to + date. Both documents were written by Ceki Gülcü. + </p><table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a1.7">Is log4j thread-safe?</a></dt> +<dd> + <p>Yes, log4j is thread-safe. Log4j components are designed to + be used in heavily multithreaded systems.</p> + + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a1.8">What does log output look like?</a></dt> +<dd> + <p>The log output can be customized in many ways. Moreover, + one can completely override the output format by implementing + one's own Layout. + </p> + + <p>Here is an example output using <em>PatternLayout</em> with + the conversion pattern <b>"%r [%t] %-5p %c{2} %x - %m%n"</b> + </p> + + <pre class="screen_output"> +176 [main] INFO examples.Sort - Populating an array of 2 elements in reverse order. +225 [main] INFO examples.SortAlgo - Entered the sort method. +262 [main] DEBUG SortAlgo.OUTER i=1 - Outer loop. +276 [main] DEBUG SortAlgo.SWAP i=1 j=0 - Swapping intArray[0] = 1 and intArray[1] = 0 +290 [main] DEBUG SortAlgo.OUTER i=0 - Outer loop. +304 [main] INFO SortAlgo.DUMP - Dump of interger array: +317 [main] INFO SortAlgo.DUMP - Element [0] = 0 +331 [main] INFO SortAlgo.DUMP - Element [1] = 1 +343 [main] INFO examples.Sort - The next log statement should be an error message. +346 [main] ERROR SortAlgo.DUMP - 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. + </pre> + + <p>The first field is the number of milliseconds elapsed since + the start of the program. The second field is the thread + outputting the log statement. The third field is the level of + the log statement. The fourth field is the rightmost two + components of the logger making the log request. The fifth + field (just before the '-') is the <em>nested diagnostic + context</em> (NDC). Note the nested diagnostic context may be + empty as in the first two statements. The text after the '-' + is the message of the statement. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a1.9">Why should I use log4j when JDK 1.4 already ships with a + logging API?</a></dt> +<dd> + + <p> + Although both APIs are conceptually similar, the log4j API is + significantly more flexible and offers many more features, too + numerous to be listed here. You will discover that the + additional features and flexibility turn out to be + indispensable in the context of a mission-critical + application. + </p> + + <p>The open and collaborative way in which log4j is developped + ensures that it continues to preserve and even widen its + competitive edge. At some point, input from bright developers + from all over the world is bound to make a difference. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.1">What are <em>Loggers</em>?</a></dt> +<dd> + + <p>Lggers lie at the heart of log4j. Loggers define a hierarchy and give + the programmer <em>run-time</em> control on which statements are + printed or not. + </p> + + <p>Loggers are assigned levels. A log statement is printed + depending on its level <em>and</em> its logger. + </p> + + <p>Make sure to read the <a href="manual.html">log4j manual</a> + for more information. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.2">How can I change log behavior at runtime?</a></dt> +<dd> + <p>Log behavior can be set using configuration files which are parsed + at runtime. Using configuration files the programmer can define + loggers and set their levels. + </p> + + <p>The <code>PropertyConfigurator</code> defines a particular format + of a configuration file. See also the <code>examples/Sort.java</code> + example and associated configuration files. + </p> + + <p>Configuration files can be specified in XML. See + <code>log4j.dtd</code> and + <code>org.log4j.xml.DOMConfigurator</code> for more details. + </p> + + <p>See the various Layout and Appender components for specific + configuration options. + </p> + + <p>In addition to configuration files, the user may disable all + messages belonging to a set of levels. See next item. + </p> + + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.3">What is the fastest way of (not) logging?</a></dt> +<dd> + <p> For some logger <code>l</code>, writing, + </p> + + <pre class="source"> + l.debug("Entry number: " + i + " is " + String.valueOf(entry[i])); + </pre> + + <p>incurs the cost of constructing the message parameter, that is + converting both integer <code>i</code> and <code>entry[i]</code> to a + String, and concatenating intermediate strings. This, regardless of + whether the message will be logged or not. + </p> + + <p>If you are worried about speed, then write</p> + <pre class="source"> + if(l.isDebugEnabled()) { + l.debug("Entry number: " + i + " is " + String.valueOf(entry[i])); + } + </pre> + <p>or using LogMF from the extras companion write</p> + <pre class="source"> + LogMF.debug(logger, "Entry number: {0} is {1}", i, entry[i]); + </pre> + + <p>This way you will not incur the cost of parameter + construction if debugging is disabled for logger + <code>l</code>. On the other hand, if the logger is debug + enabled, you will incur the cost of evaluating whether the + logger is enabled or not, twice: once in + <code>debugEnabled</code> and once in <code>debug</code>. + This is an insignificant overhead since evaluating a logger + takes less than 1% of the time it takes to actually log a + statement. + </p> +<table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.4">Are there any suggested ways for naming loggers?</a></dt> +<dd> + <p>Yes, there are.</p> + + <p>You can name loggers by <strong>locality</strong>. It turns out + that instantiating a logger in each class, with the logger name + equal to the fully-qualified name of the class, is a useful and + straightforward approach of defining loggers. This approach has + many benefits: + </p> + + <ul> + <li>It is very simple to implement.</li> + + <li>It is very simple to explain to new developers.</li> + + <li>It automatically mirrors your application's own modular design. + </li> + <li>It can be further refined at will.</li> + + <li>Printing the logger automatically gives information on the locality + of the log statement. </li> + </ul> + + <p>However, this is not the only way for naming loggers. A + common alternative is to name loggers by <strong>functional + areas</strong>. For example, the "database" logger, "RMI" + logger, "security" logger, or the "XML" logger. + </p> + + <p>You may choose to name loggers by functionality and + subcategorize by locality, as in "DATABASE.com.foo.some.package.someClass" or + "DATABASE.com.foo.some.other.package.someOtherClass". + </p> + + <p><em>You are totally free in choosing the names of your + loggers.</em> The log4j package merely allows you to manage your + names in a hierarchy. However, it is your responsibility to define + this hierarchy. + </p> + + <p>Note by naming loggers by locality one tends to name things by + functionality, since in most cases the locality relates closely to + functionality. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.5">How do I get the fully-qualified name of a class in a static block?</a></dt> +<dd> + <p>You can easily retrieve the fully-qualified name of a class in a + static block for class X, with the statement + <code>X.class.getName()</code>. Note that <code>X</code> is the class + name and not an instance. The <code>X.class</code> statement does + <i>not</i> create a new instance of class <code>X</code>. + </p> + + <p>Here is the suggested usage template:</p> + + <pre class="source"> +package a.b.c; + +public class Foo { + final static Logger logger = Logger.getLogger(Foo.class); + ... other code + +} + </pre> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.6">Can the log output format be customized? </a></dt> +<dd> + <p>Yes, you can extend the <code>Layout</code> class to create + you own customized log format. Appenders can be parameterized + to use the layout of your choice. + </p> +<table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.7">What are the configurable options for <code>FooBarAppender</code>?</a></dt> +<dd> + <p>Log4j uses JavaBeans style configuration.</p> + + <p>Thus, any setter method in <code>FooBarAppender</code> + corresponds to a configurable option. For example, in <a href="apidocs\org\apache\log4j\RollingFileAppender.html"><code>RollingFileAppender</code></a> + the <a href="apidocs/org/apache/log4j/RollingFileAppender.html#setMaxBackupIndex(int)"><code>setMaxBackupIndex(int + maxBackups)</code></a> method corresponds to the + <code>maxBackupIndex</code> option. The first letter of the + option can be upper case, i.e. <code>MaxBackupIndex</code> + and <code>maxBackupIndex</code> are equivalent but not + <code>MAXBACKUPIndex</code> nor <code>mAXBackupIndex</code>. + </p> + + <p>Layouts options are also defined by their setter methods. The same goes + for most other log4j components. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.8">What is the recommended way of migrating from + java.util.logging to log4j?</a></dt> +<dd> + + <p>We suggest to just use global file search/replace. You should be able + to replace all the "java.util.Logger" references with + "org.apache.log4j.Logger", and you should be on your way. + </p> + + <p>If you're on a Win32 platform, we recommend <a href="http://www.textpad.com/">Textpad</a>. You can use the + CTRL+SHIFT+O to open all *.java files from a directory including all + its sub-directories, and then use the search/replace function to + replace in all files, and then CTRL+SHIFT+S to save all. Should take + about 60 seconds! :) + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.9">Is it possible to direct log output to + different appenders by level? </a></dt> +<dd> + <p>Yes it is. Setting the <b>Threshold</b> option of any appender + extending <a href="api/org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a>, + (most log4j appenders extend AppenderSkeleton) to filter out all log + events with <em>lower</em> level than the value of the threshold + option. + </p> + + <p>For example, setting the threshold of an appender to DEBUG + also allow INFO, WARN, ERROR and FATAL messages to log along + with DEBUG messages. This is usually acceptable as there is + little use for DEBUG messages without the surrounding INFO, + WARN, ERROR and FATAL messages. Similarly, setting the + threshold of an appender to ERROR will filter out DEBUG, INFO + and WARN messages but not ERROR or FATAL messages. + </p> + + <p>This policy usually best encapsulates what the user + actually wants to do, as opposed to her mind-projected + solution. + </p> + <p>See <i>examples/sort4.lcf</i> for an example threshold + configuration.</p> + + <p>If you must filter events by exact level match, then you can + attach a <a href="apidocs/org/apache/log4j/varia/LevelMatchFilter.html">LevelMatchFilter</a> + to any appender to filter out logging events by exact level match. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.10">What does the Windows NT Event Viewer complain about + missing descriptions for my event messages when I use the + <code>NTEventLogAppender</code>?</a></dt> +<dd> + <p>The NT Event Viewer relies on <i>message resource</i> DLLs + to properly view an event message. The NTEventLogAppender.dll + contains these message resources, but that DLL must be copied + to %SYSTEMROOT%\SYSTEM32 for it to work properly. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.11">Why can't I map my logger names to the loggers that + appear in the NT Event Log when I use the + NTEventLogAppender?</a></dt> +<dd> + <p>Unfotunately, the logger names are hardcoded within the + message resource DLL (see previous question about + NTEventLogAppender), so there isn't any easy way to override + those dynamically... in fact, I don't think it's possible to + do it, as you'd have to modify the DLL resources for every + application. Since most native applications don't use the + Logger column anyway... + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a2.12">Are there suggested approaches for logging in JSP pages?</a></dt> +<dd> + <p> + The suggested approach depends on your design requirements. If you or + your organization has no constraints on the use of Java in JSP pages, + simply use log4j normally in <code>&lt;% ... %&gt;</code> statements + as indicated in the Short Manual and the rest of the documentation. + </p> + <p> + However, if your design calls for a minimum amount of Java in your JSP + pages, consider using the + <a href="http://jakarta.apache.org/taglibs/doc/log-doc/intro.html">Log Taglib</a> + from the Jakarta Taglibs project. It provides logging JSP tags that invoke + log4j. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a3.1">Can the outputs of multiple client request go to + different log files?</a></dt> +<dd> + <p>Many developers are confronted with the problem of + distinguishing the log output originating from the same class + but different client requests. They come up with ingenious + mechanisms to fan out the log output to different files. In + most cases, this is not the right approach. + </p> + + <p>It is simpler to use a nested diagnostic context + (NDC). Typically, one would <em>NDC.push()</em> client + specific information, such as the client's hostname, ID or any + other distinguishing information when starting to handle the + client's request. Thereafter, log output will automatically + include the nested diagnostic context so that you can + distinguish logs from different client requests even if they + are output to the same file. + </p> + + <p>See the <code>NDC</code> and the <code>PatternLayout</code> + classes for more information. The <code>NumberCruncher</code> + example shows how the NDC can be used to distinguish the log + output from multiple clients even if they share the same log + file. + </p> + + <p>For select applications, such as virtual hosting + web-servers, the NDC solution is not sufficient. As of version + 0.9.0, log4j supports multiple hierarchy trees. Thus, it is + possible to log to different targets from the same logger + depending on the current context. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a3.2">Logger instances seem to be create only. Why isn't + there a method to remove logger instances?</a></dt> +<dd> + <p>It is quite nontrivial to define the semantics of a + "removed" logger escecially if it is still referenced by the + user. Future releases <em>may</em> include a remove method in + the Logger class.</p><table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a3.3">How do I get multiple process to log to the same file?</a></dt> +<dd> + <p>You may have each process log to a + <a href="apidocs/org/apache/log4j/net/SocketAppender.html"><code>SocketAppender</code></a>. + The receiving + <a href="apidocs/org/apache/log4j/net/SocketServer.html"><code>SocketServer</code></a> + (or + <a href="apidocs/org/apache/log4j/net/SimpleSocketServer.html"><code>SimpleSocketServer</code></a>) + can receive all the events and send them to a single + log file. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a3.4">How about the timesamps of events generated by multiple + processes across multiple hosts (possibly across multiple + timezones)?</a></dt> +<dd> + <p>The timestamp is created when the logging event is created. + That is so say, when the <code>debug</code>, + <code>info</code>, <code>warn</code>, <code>error</code> or + <code>fatal</code> method is invoked. Thus, the timestamp is + unaffected by the time at which event arrive at a remote + socket server. + </p> + + <p>Timestamps are stored in UTC format inside the + event. Consequently, when displayed or written to a log file, + timestamps appear in the same timezone as the host displaying + or creating the logfile. Note that because the clocks of + various machines may not be synchronized, there may be + timestamp inconsistencies between events generated on + different hosts. The EnhancedPatternLayout in the extras companion + supports explicit specification of the timezone using a pattern like + "%d{HH:mm}{GMT}". + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a3.5">Why can't log4j find my properties file in a J2EE or WAR + application?</a></dt> +<dd> + <p>The short answer: the log4j classes and the properties file + are not within the scope of the same classloader. + </p> + + <p>The long answer (and what to do about it): J2EE or Servlet + containers utilize Java's class loading system. Sun changed + the way classloading works with the release of Java 2. In + Java 2, classloaders are arranged in a hierarchial + parent-child relationship. When a child classloader needs to + find a class or a resource, it first delegates the request to + the parent. + </p> + + <p>Log4j only uses the default <code>Class.forName()</code> + mechanism for loading classes. Resources are handled + similarly. See the documentation for + <code>java.lang.ClassLoader</code> for more details. + </p> + + <p>So, if you're having problems, try loading the class or + resource yourself. If you can't find it, neither will + log4j. ;) + </p><table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a3.6">Is there a way to get log4j to automatically reload a + configuration file if it changes?</a></dt> +<dd> + + <p>Yes. Both the DOMConfigurator and the PropertyConfigurator support + automatic reloading through the <code>configureAndWatch</code> method. + See the API documentation for more details. + </p> + + + <p>Because the <code>configureAndWatch</code> launches a + separate wathdog thread, and because there is no way to stop + this thread in log4j 1.2, the <code>configureAndWatch</code> + method is unsafe for use in J2EE envrironments where + applications are recycled. + </p><table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a4.1">Why should I donate my extensions to log4j back to the + project?</a></dt> +<dd> + <p>Contrary to the GNU Public License (GPL) the Apache + Software License does not make any claims over your + extensions. By extensions, we mean totally new code that + invokes existing log4j classes. <em>You are free to do + whatever you wish with your proprietary log4j extensions.</em> + In particular, you may choose to never release your extensions + to the wider public. + </p> + + <p>We are very careful not to change the log4j client API so + that newer log4j releases are backward compatible with + previous versions. We are a lot less scrupulous with the + internal log4j API. Thus, if your extension is designed to + work with log4j version <code>n</code>, then when log4j + release version <code>n+1</code> comes out, you will probably + need to adapt your proprietary extensions to the new release. + </p> + + <p>Thus, you will be forced to spend precious resources in + order to keep up with log4j changes. This is commonly referred + to as the "stupid-tax." By donating the code and making it + part of the standard distribution, you save yourself the + unnecessary maintenance work. + </p> + + <p>If your extensions are useful then someone will eventually + write an extension providing the same or very similar + functionality. Your development effort will be wasted. Unless + the proprietary log4j extension is business critical, there is + little reason for not donating your extensions back to the + project. + </p><table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="a4.2">What should I keep in mind when contributing code?</a></dt> +<dd> + <ol> + + <li> + <p>Write a test case for your contribution.</p> + + <p>There is nothing more irritating than finding the bugs + in debugging (i.e. logging) code. Writing a test case + takes some effort but is crucial for a widely used library + such as log4j. Writing a test case will go a long way in + earning you the respect of fellow developers. See the + tests/ directory for exiting test cases. + </p> + </li> + + + <li> + <p>Stick to the existing indentation style even if you hate it.</p> + + <p>Alternating between indentation styles makes it hard to + understand the source code. Make it a little harder on + yourself but easier on others. + </p> + + <p>Log4j has adopted a rather conservative approach by + following the <a href="http://java.sun.com/docs/codeconv/">Code Conventions + for the JavaTM Programming Language</a>. <b>We use 2 (two) + spaces for indentation and no tabs.</b> + </p> + </li> + + <li> + <p>Please do not both modify the code and change the + indentation in a single commit.</p> + + <p>If you change the code and reformat it at the same time + and then commit, the commit notification message will be + hard to read. It will contain many diffs associated with + the reformatting in addition to logical changes. + </p> + + <p>If you must reformat and change the code, then perform + each step separately. For example, reformat the code and + commit. Following that, you can change the logic and + commit. The two steps can be performed in the reverse + order just as well. You can first change the logic and + commit and only later reformat and commit. + </p> + + </li> + <li> + <p>Make every effort to stick to the JDK 1.1 API.</p> + + <p>One of the important advantages of log4j is its + compatibility with JDK 1.1.x. + </p> + </li> + + <li> + <p>Always keep it simple, small and fast when + possible.</p> + + <p>It's all about the application not about logging.</p> + </li> + + <li> + <p>Identify yourself as a contributor at the top of the + relevant file. + </p> + </li> + <li> + <p>Take responsibility for your code.</p> + + <p>Authoring software is very much like running a marathon. It + takes time and endurance. + </p> + </li> + <li> + <p>Did we mention sticking with the indentation style?</p> + </li> + <li><p>Did we mention writing test cases?</p> + </li> + + </ol> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="duplicate-messages">Why am I getting multiple copies of messages in my log file?</a></dt> +<dd> + <p>There are several reasons this can occur: + <ul> + <li>Repeated configuration of log4j: By default, each call to + PropertyConfigurator.configure or DOMConfigurator.configure is + culmulative. If your configuration file defines a file appender, + calling PropertyConfigurator.configure three times will create + three distinct instances and connect each of them to the specified logger.</li> + <li>Attaching the same appender to multiple loggers: if an appender is + attached to the root logger and child logger, then any message + sent to the child logger will go to the appender twice (unless + additivity is set to false).</li> + </ul></p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="custom-level">How do I add a custom level?</a></dt> +<dd> + <p>It is possible, but rarely appropriate. The + request is commonly for a level named something like "audit" + that doesn't obviously fit in the progression "trace", "debug", + "info", "warn", "error" and "fatal". In that case, the request + for a level is really a request for a mechanism to specify + a different audience. The appropriate mechanism is to use a distinct + logger name (or tree) for "audit" related messages.</p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="unload">Why does log4j throw a NullPointerException or + print a message about NOPLoggerRepository + when shutting down or restarting under Tomcat or during a shutdown + hook?</a></dt> +<dd><p>Tomcat will, by default, + clear all static members when unloading classes, however + this process can trigger initialization of classes which may + then call a class that has been cleared resulting in a + NullPointerException or some undesirable behavior. + Bug <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40212">40212</a>) + describes the problem in detail and has a patch which at this writing + has not been applied to Tomcat. Glassfish had a similar problem + and accepted the patch.</p> + + <p>The following are recommended to avoid this problem: + <ol> + <li>Set the org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES + system property to false.</li> + <li>Apply the patch from bug <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40212">40212</a> + or upgrade to a version that has that patch applied.</li> + <li>Upgrade to log4j 1.2.16 or later to better defend against class loader attack + or provide a better diagnostic message when it does occur.</li> + </ol> + </p> + + <p>It is impossible for log4j to defend against all attacks on + its internal state by a class loader. There is a limit to + the defensive measures that will be incorporated.</p> + + <p>For more background, see bugs + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40212">40212</a>, + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41939">41939</a>, + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43867">43867</a>, + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40159">40159</a>, + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43181">43181</a>, + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41316">41316</a> and + <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=37956">37956</a>. + </p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="rfa">Why isn't my rolling file appender properly rolling files or why does + logging events get written to the old log file?</a></dt> +<dd>Most commonly this is due to multiple appenders attempting to + use the same file path and most likely by having multiple independent + instances of log4j read the same configuration file, however having the log file + open by another process (an editor, backup utility) can also interfere with rolling. + No provided file appender is reliable when multiple instances are writing to + the same file path and java.io provides no mechanism to coordinate writing + between JVM's.<table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="noconfig"> + Why do I see a warning about "No appenders found for logger" and + "Please configure log4j properly"? + </a></dt> +<dd> + This occurs when the default configuration files log4j.properties and + log4j.xml can not be found and the application performs no explicit configuration. + log4j uses Thread.getContextClassLoader().getResource() to locate the default + configuration files and does not directly check the file system. + Knowing the appropriate location to place log4j.properties or log4j.xml + requires understanding the search strategy of the class loader in use. + log4j does not provide a default configuration since output to the console + or to the file system may be prohibited in some environments. Also see + <a href="#a3.5">FAQ: Why can't log4j find my properties in a J2EE or WAR application?</a>. + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table><hr /> +</dd> +<dt><a name="sysprops">What system properties are checked by log4j?</a></dt> +<dd> + <dl> + <dt>log4j.debug</dt> + <dd>If true, log4j will output internal debugging messages to the console.</dd> + <dt>log4j.defaultInitOverride</dt> + <dd>If true, log4j will not perform default initialization, + that is check for log4j.properties or log4j.xml, at the first logging request.</dd> + <dt>log4j.configuration</dt> + <dd>URL for default initialization configuration file.</dd> + <dt>log4j.configurationClass</dt> + <dd>Class name for configurator to process default initialization configuration file.</dd> + <dt>log4j.ignoreTCL</dt> + <dd>If true, the thread class loader will be ignored when loading classes.</dd> + </dl> + <p>The SMTPAppender may be influenced by mail.smtp and mail.smtps system properties.</p> + <table border="0"><tr><td align="right"><a href="#top">[top]</a></td></tr></table></dd> +</dl> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/add.gif b/thirdparty/apache-log4j-1.2.16/site/images/add.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/add.gif rename to thirdparty/apache-log4j-1.2.16/site/images/add.gif diff --git a/thirdparty/apache-log4j-1.2.16/site/images/close.gif b/thirdparty/apache-log4j-1.2.16/site/images/close.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c26bbc5264fcc943ad7b5a0f1a84daece211f34 GIT binary patch literal 279 zcmZ?wbhEHb6ky<ESjxcg|Ns9FA3nT)|Ng;)2lwyazi{Eg`Sa%w95}Fl|NaddHmqO2 ze!+qT^XJc>FkwP}e}6+mLp=yE)H5&?6cps==O-j2#K*@61O)i|`#U%|*xTD17#Qg5 z>nkWI$ji$M2ng`=^D}^ygDj#2&;c6F0P+h1n~g(5frm~PL&uV$l`S$eFDwzBDbhJD v>}Bvw*Al_tWna1PC9OaGVdk23i}vRhZI{iR^*V|n<^22a#~T_O9T}_vbswrX literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/collapsed.gif b/thirdparty/apache-log4j-1.2.16/site/images/collapsed.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/collapsed.gif rename to thirdparty/apache-log4j-1.2.16/site/images/collapsed.gif diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/expanded.gif b/thirdparty/apache-log4j-1.2.16/site/images/expanded.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/expanded.gif rename to thirdparty/apache-log4j-1.2.16/site/images/expanded.gif diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/external.png b/thirdparty/apache-log4j-1.2.16/site/images/external.png similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/external.png rename to thirdparty/apache-log4j-1.2.16/site/images/external.png diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/fix.gif b/thirdparty/apache-log4j-1.2.16/site/images/fix.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/fix.gif rename to thirdparty/apache-log4j-1.2.16/site/images/fix.gif diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/icon_error_sml.gif b/thirdparty/apache-log4j-1.2.16/site/images/icon_error_sml.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/icon_error_sml.gif rename to thirdparty/apache-log4j-1.2.16/site/images/icon_error_sml.gif diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/icon_help_sml.gif b/thirdparty/apache-log4j-1.2.16/site/images/icon_help_sml.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/icon_help_sml.gif rename to thirdparty/apache-log4j-1.2.16/site/images/icon_help_sml.gif diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/icon_info_sml.gif b/thirdparty/apache-log4j-1.2.16/site/images/icon_info_sml.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/icon_info_sml.gif rename to thirdparty/apache-log4j-1.2.16/site/images/icon_info_sml.gif diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/icon_success_sml.gif b/thirdparty/apache-log4j-1.2.16/site/images/icon_success_sml.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/icon_success_sml.gif rename to thirdparty/apache-log4j-1.2.16/site/images/icon_success_sml.gif diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/icon_warning_sml.gif b/thirdparty/apache-log4j-1.2.16/site/images/icon_warning_sml.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/icon_warning_sml.gif rename to thirdparty/apache-log4j-1.2.16/site/images/icon_warning_sml.gif diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/logo.jpg b/thirdparty/apache-log4j-1.2.16/site/images/logo.jpg similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/logo.jpg rename to thirdparty/apache-log4j-1.2.16/site/images/logo.jpg diff --git a/thirdparty/apache-log4j-1.2.16/site/images/logos/build-by-maven-black.png b/thirdparty/apache-log4j-1.2.16/site/images/logos/build-by-maven-black.png new file mode 100644 index 0000000000000000000000000000000000000000..919fd0f66a7f713920dd7422035db1c9d484351d GIT binary patch literal 2294 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 Q3IG5A07*qoM6N<$f_r9Hg8%>k literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/site/images/logos/build-by-maven-white.png b/thirdparty/apache-log4j-1.2.16/site/images/logos/build-by-maven-white.png new file mode 100644 index 0000000000000000000000000000000000000000..7d44c9c2e5742bdf8649ad282f83208f1da9b982 GIT binary patch literal 2260 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 literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/site/images/logos/maven-feather.png b/thirdparty/apache-log4j-1.2.16/site/images/logos/maven-feather.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ada836e9eb4af4db810f648b013933e72c8fbe GIT binary patch literal 3330 zcmX9>c{JN;_x~o5Ac>t)`_^PEV{L6MNl>(?QcG&7ly=N-Xep}HlEki6%d`xGQff?J zZ3V5?nxMK^TW!%rlc2Oi#TE&YeBaFbd(OGfJ<mP&k9+Pt_w)HY1t(9q%OKT}0077w z^KkVO`(UwYOF_lA0qnN9*h$BEoK64$GlPE(lH7<(5(g!s2;Kw$Xe~<H^Svp4>qdI` zc>}=J0{}qD0)QP*?7suRWeWiKhXeo)6#$?b`+NA18vvk_kGT^3lRrj~)ZiX~E=7&X z2SKm_0zsnO+$cbVdd$U-?NJjv4pVQ1Nhjly1q-WLl67`_;z%v-QHPc;g_!S~IRE^{ z!-r;4Azogl1_mw!0>pbvoPqVZ9U2s5dwy6sHa1p4L7^@xJ3CvqEtc6=V;Sjo`SKw` zH=oaUc5x93g$)f2RLqLwrQCI9Ez?$q{#(_7txem8O7-r(E=u3NrnVzb>g3;N!E`D4 z$F(MEarBhUUxI^!j~_>3u~Bhx7JsSR*w|dSa6vbc*_R&srRM|ftV?XHdFb}1C$WrQ zvCqw{t=r+KeZT{28=Et|SGiR|Ew_)PCPc7HL$FRx^tIjT!gS^&HZAG+)pJ^j_L!yB z-&JbQI5tJZ0TS}9l}GV-#=yY9@UZdW!+Wo8V)3OP+M~kh8Cox&UgiEXkb|OHrtnt7 z^5^7qoPgd(mzSp^UljFw^Ea1#($jleS~zn<*Qt%~?;g8p7T$+e1_e6_0RivD9i_fn zntBj|S0D{TF>ZC0BjrC=O}^<#pa0LS&uvarfWzp2`pUd__f_%7YV~7dt=r6SgMYpk zjT&tozdBVDfMU+}3PBKu{I@a0eE%y;<26%LfpraXnsz78oRL+ASlucsJ9Ov}^-cnR z?X0S*D(PH#SsA1;IVGjHr-u@pc=<9LQ|*-QU~8*d0k5yGUszbEsHmW5uYUjj;c@h| zc=i>Ql~f4Q{2jFogTeH_k#4q)N#10=x?L3lT5fn+n;f?)a5}#)D(b9?5F`jW*8R2B zY10|kzu50Yt-pEkr?pP=J)v#j+39IETXnv??EKOqdr`^I$PR$!&#+i*wr^07q=V|W zRr`cRLkwol7wvCgY>XVWV#HBVP$e>vs8#}bhe8j(d*@G*O1g5TCFF^jnVIZQvS`z% z5v0FEpQe3XqLbN{Z+4@!!}?n1jYn$VqUAWElr$a=d)NRcr?dxiBP0c$a4eq)C6kW} zg`-#3YZthl;XEcu_;g!xn!}4v15@n5<!{K8N{d&<wD^3~E6>*WxOpB14=8A8Dk>`K z>FLRD7bsziv>lNxci1YB3`T!H<SebN4cdIr$jFGK4*3%{YPG$+UBRW_?kKOX{*227 zahwP8V8Y>V#jF&kvayv7^9-Sg&l|eQ^qB(FU%g~JDx-!K6@(Waovi+Tc$s`@s@Sv* z9p0C*!~5#c{h1>d>@N5DL);Ea=d|P<cdxDisF!{ZT)_{4xvyDWSV%-7DS*C>U4}@o zGdG0Ng%R<9V_jn-yfB3nD7kxXb8!sMIXlJ1WeD*5?60hT&XSa)+yVT<LqpNZ1%-vC z#>Vl9iP_o8v^w8_0650v?-3$V0uILqsvdAu+2y6|YCewgNhga^h4Y-lNq0Cah}ivo zpoq6EpmWSceZAoF%B5UfVPU3op{AfPhFM{FSFJMU!)c~SDTMch@trf6$~-E;5xn-d z<8`e~UPj0w%vDYVje(iQii)`c=wzHbR6^djAF^dnW5A}!CD-JMWyVHEkW;BwukLPq z9nsR%B=!TuB0vQ|DPO#J@zkle(n^?>&z)~)XSMt|Ks2+uT9af6QEqK-hanLX5&&xP z-l-<%m`WTuBR<~hh#iYkQxoQNXtTFvX)i0JF_1Iu5Wn+7^<q)@O0B59tzE#2kiR-! z&#w(wv>XJlfPFX+T%IM9_7+4B=%5Y=a!X6S`QV)~knSitusE`|vEgD?+D*SdgtN-v z@2!tnPsQ$W9OoldXg5!7EGfyuKEmbk%8!pz518D&%P>a8*ji>n+N5Y15QI!N3aw76 zk?~TlC_r^z21V(@jrIB2O=fW{*e;OxLwTOl%b7{65NYoUzv46uU?y1WK`h1$gXk#s zGM!NC1T6)2&vea(*Gjoe-Y0OseT68UKVi7GtWs>+{mTm3?9wmCl9JqVL7fcIg7PHy zS|uV8fd^!W2I;)j*_@ml#-BrjgIWH)bTI&Jf1fXAax!YjYc<O|%-$vPYTq_Et5YOb zOTI2-XYliKxDze4WP7?Geen7E7M-%nc_P<of0`~5jExU*H+klShh(eKl~OO9cc&=* ztbm^tMjRNL)YDMY1R$=yaRADfqy$s@#F)Y!$)$1+&}5JcNE8aTi8Jd389*^qAM$#g z;lH`ZGtVW1U>dmoW44Np%MhjRZR?D*fO!{1UqRj<c{>~p#EAohT=T-17$$k6AmQb( zr9h0V!aUsY=NL_BPmf|~=n=+2*+gqRK=3w1+z;yxltfUx%}G^AqM7qBoD>Zu#))>h z(O-H}7=Go_Xv&X~RNksk#{u}JDqbNyJIauD&lJ!>cpV`<W0R1O;9>%&T(-`&1Vx}= z8{BIG$r-+Li5}_#{<?uh0Xs<AlttkJg!3gVKuR|v3-+s~MMtSdFk?99`gPQU__DGx zxXlt<pHU7U$ZohUI<W<wYS?S?U-u~x)W(<L!p1?_Q4z?KJGs3+|AL{eO1#kB)df9l z7w1X6V3TS=Y>j}s%FlGk$jM1|WKp=Pv|*T=m!~I+rUjJ3F@7W!gumQD8RFwVZryr0 zG6IWssk0)%eJuVTRDtKPo&xDaOWF|RzCnozye=JYW-)oDFHKrbK}AL7sWkcH57B~D zWIZ`=QNK#g)SEJ<lwW>B!`69JGO3P=r08pDX))Bb6t@_;R!2TlYhv>Ek*cIBeDucB zNbDTV5C(L0<PUTH|JYbYmgK2?(d>1Ze7}3Kc7OC~(zLdAV~G`9N+1xB3ie(wD=k6U z@g3gU065J9XPq{lyp>keB&(ixxdnV8$%i$asL6b0O)JUdYtCpuubGB*DbEFHXlQtp zXgMTG%@{+j0dI{Adnj6-$)BcQylA>}r~l(e_1pE-*`Eac5PAGF#EWMIO6;2ECZAeo ziPF85kd7Ft6f{I>ZQIUbf5YND4#d%gJpKl~IaM@Xl!bUvZj*0lQR<R-VTJ~IS!17o z$wu8Tpc2rd1O`I;SuI1bp^VTa$nk#j^HX#Uii|XPM)V*<Cq0uvk)!B;17Ef$6%y1K zi6$5fBKFFlrwqwjd7v-;E3zj=R`pymC~?ckj6+J^q_8=$w-nv`B?c%>vUOOhugnVG zMF7OiLdS5a+otCLNQI8V^8vu3ka8NP_S>32`v3S)2n{Pe(fRVLdLST=H+AiBqCTY3 zZWI=>Zsgp=`Z%jG=8)QMYZO=@1A#!)z2kiwpnq3DhkpUGZV&>CeaB0vA>Y6+Mrd+| zrA52d@P7Qe=6m=0Lz-`5yrGM(x*9Y0sP7_5T2*v`@~JgS7L3#>yY<iJ(gZc&uwf#L zkhD0uUutl2^7lF)2sHn17VuZASVIlEH?zhbh_f1`^(FJ_>-7x_MJ+9`9JqyEa*$Q0 ziiL%hken<6A7+&3D;!0f@qP3TvIRVoufv)c8?&aw&B~1Y(02aUpDjK7B)cSkx8QDV zQMj_M+x+$UXOfa)nmweB@KP^Xm2R7$9(p;LCnufvW}*eG4R>Eak)Ei}%-KE8gsec^ zj=Hu<?vp7=d=fovMv?%mrD)P}E#oYMV~i=5ScmC-K`h=2Xbyy+MkHD6^L&=Z=Ou>X z(qyBjd`DTC3ZeF2!np?{CKA-DtE=Op^zuqOJMFU}UTntQB1KKp81%{!bT~6heKA2v zt?`kF-Zi+k^YcN<E%|;u0|VGWotbl)u7_ynxIA9o2-Fd_f`oOyWOT$jJ40z4l)r$x z98?!^>Cz>V!+^RbV}r|Gp2j0+=crL`N5t}4tX=Ugo&7+C6ua?F4oX!wQ+)83@^vkY zDLFc>n(A(&_r09T&@t7l6XQ+b#6#=gA#14-D;h1Uq<(+=C8<Qq!)m~o1V+Z=F|q|i z{kc`FiaZivYDx?@2@5#nQ)Eg?N=bIy=Aw7qnK~G&A2ND{p^yIQ*XU?ZFZzCQ0sjo7 z?`}z}VM`_zW(KmPpkc6Mt$6oAtURU0fmGOE<tPRAqzb_ADkN1+|G4-K>$D8`D^qmZ z9NOcdL`OIEho{GDl585|eQ0-*j0e<F+BA^Lh2K3R8E8@hG4@a+90B*EDQMEx+UBNG zbrMvn?#*etTmLT2UvEz05dh@iwUYpz0s*pv?_wPmlj6ny72w#>6Rr=PNtyozBAqJr literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/ls-logo.jpg b/thirdparty/apache-log4j-1.2.16/site/images/ls-logo.jpg similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/ls-logo.jpg rename to thirdparty/apache-log4j-1.2.16/site/images/ls-logo.jpg diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/newwindow.png b/thirdparty/apache-log4j-1.2.16/site/images/newwindow.png similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/newwindow.png rename to thirdparty/apache-log4j-1.2.16/site/images/newwindow.png diff --git a/thirdparty/apache-log4j-1.2.16/site/images/od.gif b/thirdparty/apache-log4j-1.2.16/site/images/od.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f2326c84d5d60c25c8795185cc8a9433a1d8549 GIT binary patch literal 5741 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 literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/remove.gif b/thirdparty/apache-log4j-1.2.16/site/images/remove.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/remove.gif rename to thirdparty/apache-log4j-1.2.16/site/images/remove.gif diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/rss.png b/thirdparty/apache-log4j-1.2.16/site/images/rss.png similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/rss.png rename to thirdparty/apache-log4j-1.2.16/site/images/rss.png diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/update.gif b/thirdparty/apache-log4j-1.2.16/site/images/update.gif similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/images/update.gif rename to thirdparty/apache-log4j-1.2.16/site/images/update.gif diff --git a/thirdparty/apache-log4j-1.2.16/site/index.html b/thirdparty/apache-log4j-1.2.16/site/index.html new file mode 100644 index 00000000000..7973f815cd6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/index.html @@ -0,0 +1,232 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - log4j 1.2</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <strong>What is log4j?</strong> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <p>Inserting log statements into your code is a low-tech method for debugging it. It may also be the only way because debuggers are not always available or applicable. This is often the case for distributed applications.</p> +<p>On the other hand, some people argue that log statements pollute source code and decrease legibility. (We believe that the contrary is true). In the Java language where a preprocessor is not available, log statements increase the size of the code and reduce its speed, even when logging is turned off. Given that a reasonably sized application may contain thousands of log statements, speed is of particular importance.</p> +<p>With log4j it is possible to enable logging at runtime without modifying the application binary. The log4j package is designed so that these statements can remain in shipped code without incurring a heavy performance cost. Logging behavior can be controlled by editing a configuration file, without touching the application binary.</p> +<p>Logging equips the developer with detailed context for application failures. On the other hand, testing provides quality assurance and confidence in the application. Logging and testing should not be confused. They are complementary. When logging is wisely used, it can prove to be an essential tool.</p> +<p>One of the distinctive features of log4j is the notion of inheritance in loggers. Using a logger hierarchy it is possible to control which log statements are output at arbitrarily fine granularity but also great ease. This helps to reduce the volume of logged output and the cost of logging.</p> +<p>The target of the log output can be a file, an OutputStream, a java.io.Writer, a remote log4j server, a remote Unix Syslog daemon, or many other output targets.</p> +<p>On an AMD Duron clocked at 800Mhz running JDK 1.3.1, it costs about 5 nanoseconds to determine if a logging statement should be logged or not. Actual logging is also quite fast, ranging from 21 microseconds using the SimpleLayout, 37 microseconds using the TTCCLayout. The performance of the PatternLayout is almost as good as the dedicated layouts, except that it is much more flexible.</p> +<p>The package is being constantly improved thanks to input from users and code contributed by authors in the community.</p> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/integration.html b/thirdparty/apache-log4j-1.2.16/site/integration.html new file mode 100644 index 00000000000..63541167144 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/integration.html @@ -0,0 +1,234 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Continuous Integration</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <strong>Continuous Integration</strong> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <a name="Overview"></a><div class="section"><h2>Overview</h2> +This project uses Continuous Integration System.</div> +<a name="Access"></a><div class="section"><h2>Access</h2> +<p>The following is a link to the continuous integration system used by the project.</p> +<div class="source"><pre><a class="externalLink" href="http://vmgump.apache.org/gump/public/logging-log4j-12/logging-log4j-12/index.html">http://vmgump.apache.org/gump/public/logging-log4j-12/logging-log4j-12/index.html</a></pre> +</div> +</div> +<a name="Notifiers"></a><div class="section"><h2>Notifiers</h2> +<p>No notifiers are defined. Please check back at a later date.</p> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/issue-tracking.html b/thirdparty/apache-log4j-1.2.16/site/issue-tracking.html new file mode 100644 index 00000000000..df1411d7e6e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/issue-tracking.html @@ -0,0 +1,231 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Issue Tracking</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <strong>Issue Tracking</strong> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <a name="Overview"></a><div class="section"><h2>Overview</h2> +This project uses <a class="externalLink" href="http://www.bugzilla.org/">Bugzilla</a>.</div> +<a name="Issue_Tracking"></a><div class="section"><h2>Issue Tracking</h2> +<p>Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.</p> +<div class="source"><pre><a class="externalLink" href="http://issues.apache.org/bugzilla/">http://issues.apache.org/bugzilla/</a></pre> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/license.html b/thirdparty/apache-log4j-1.2.16/site/license.html similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/site/license.html rename to thirdparty/apache-log4j-1.2.16/site/license.html index 10b518e8618..b8f953e2730 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/license.html +++ b/thirdparty/apache-log4j-1.2.16/site/license.html @@ -9,25 +9,26 @@ -<html> + +<html xmlns="http://www.w3.org/1999/xhtml"> <head> - <title>Extras - Project License</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Project License</title> <style type="text/css" media="all"> @import url("./css/maven-base.css"); @import url("./css/maven-theme.css"); @import url("./css/site.css"); </style> <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> + </head> <body class="composite"> <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> + <a href="../../" id="bannerLeft"> <img src="images/ls-logo.jpg" alt="" /> </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> + <a href=".." id="bannerRight"> <img src="images/logo.jpg" alt="" /> @@ -44,23 +45,21 @@ + <div class="xleft"> - Last Published: 08/25/2007 + Last Published: 2010-03-30 | - <a href="http://www.apache.org/">Apache</a> - &gt; + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; - <a href="http://logging.apache.org/">Logging Services</a> - &gt; + <a href="../../">Logging Services</a> + &gt; - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; + <a href="../">log4j</a> + &gt; - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> <div class="xright"> @@ -68,6 +67,7 @@ + </div> <div class="clear"> <hr/> @@ -82,94 +82,106 @@ - <h5>Get extras</h5> - <ul> + + <h5>Get log4j 1.2</h5> + <ul> <li class="none"> - <a href="download.html">Download</a> - </li> + <a href="download.html">Download</a> + </li> <li class="none"> - <a href="changes-report.html">Changes</a> - </li> + <a href="changes-report.html">Changes</a> + </li> <li class="none"> <strong>License</strong> </li> </ul> - <h5>About extras</h5> - <ul> + <h5>About log4j 1.2</h5> + <ul> <li class="none"> - <a href="index.html">What is it?</a> - </li> + <a href="index.html">What is log4j?</a> + </li> <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> + <a href="faq.html">FAQ</a> + </li> <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> + <a href="roadmap.html">Roadmap</a> + </li> </ul> - <h5>Community</h5> - <ul> + <h5>Community</h5> + <ul> <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> + <a href="mail-lists.html">Mailing Lists</a> + </li> <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> + <a href="issue-tracking.html">Issue Tracking</a> + </li> </ul> - <h5>Development</h5> - <ul> + <h5>Development</h5> + <ul> <li class="none"> - <a href="source-repository.html">Repository</a> - </li> + <a href="source-repository.html">Repository</a> + </li> <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> + <a href="jxr.html">Cross Reference</a> + </li> <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> + <a href="dependencies.html">Dependencies</a> + </li> <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> + <a href="integration.html">Continuous Integration</a> + </li> </ul> - <h5>Apache</h5> - <ul> + <h5>Documentation</h5> + <ul> <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> + <a href="manual.html">Introduction</a> + </li> <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> + <a href="apidocs/index.html">JavaDoc</a> + </li> <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> + <a href="publications.html">Publications</a> + </li> <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> </a> @@ -179,11 +191,17 @@ + </div> </div> <div id="bodyColumn"> <div id="contentBox"> - <div class="section"><h2>Overview</h2><p>Typically the licenses listed for the project are that of the project itself, and not of dependencies.</p></div><div class="section"><h2>Project License</h2><div class="section"><h3>Apache License, Version 2.0</h3><div class="source"><pre> + <a name="Overview"></a><div class="section"><h2>Overview</h2> +<p>Typically the licenses listed for the project are that of the project itself, and not of dependencies.</p> +</div> +<a name="Project_License"></a><div class="section"><h2>Project License</h2> +<a name="The_Apache_Software_License_Version_2.0"></a><div class="section"><h3>The Apache Software License, Version 2.0</h3> +<div class="source"><pre> Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -385,7 +403,11 @@ 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. -</pre></div></div></div> +</pre> +</div> +</div> +</div> + </div> </div> <div class="clear"> @@ -393,7 +415,7 @@ </div> <div id="footer"> <div class="xright">&#169; - 2007 + 1999-2010 Apache Software Foundation @@ -403,6 +425,7 @@ + </div> <div class="clear"> <hr/> diff --git a/thirdparty/apache-log4j-1.2.16/site/mail-lists.html b/thirdparty/apache-log4j-1.2.16/site/mail-lists.html new file mode 100644 index 00000000000..43cc08113c6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/mail-lists.html @@ -0,0 +1,263 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Project Mailing Lists</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <strong>Mailing Lists</strong> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <a name="Project_Mailing_Lists"></a><div class="section"><h2>Project Mailing Lists</h2> +<p>These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.</p> +<table class="bodyTable"><tr class="a"><th>Name</th> +<th>Subscribe</th> +<th>Unsubscribe</th> +<th>Post</th> +<th>Archive</th> +<th>Other Archives</th> +</tr> +<tr class="b"><td>log4j-user</td> +<td><a class="externalLink" href="mailto:log4j-user-subscribe@logging.apache.org">Subscribe</a></td> +<td><a class="externalLink" href="mailto:log4j-user-unsubscribe@logging.apache.org">Unsubscribe</a></td> +<td><a class="externalLink" href="mailto:log4j-user@logging.apache.org">Post</a></td> +<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/logging-log4j-user/">mail-archives.apache.org</a></td> +<td><a class="externalLink" href="http://marc.info/?l=log4j-user">marc.info</a></td> +</tr> +<tr class="a"><td>-</td> +<td>-</td> +<td>-</td> +<td>-</td> +<td>-</td> +<td><a class="externalLink" href="http://dir.gmane.org/gmane.comp.jakarta.log4j.user">dir.gmane.org</a></td> +</tr> +<tr class="b"><td>log4j-dev</td> +<td><a class="externalLink" href="mailto:log4j-dev-subscribe@logging.apache.org">Subscribe</a></td> +<td><a class="externalLink" href="mailto:log4j-dev-unsubscribe@logging.apache.org">Unsubscribe</a></td> +<td><a class="externalLink" href="mailto:log4j-dev@logging.apache.org">Post</a></td> +<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/logging-log4j-dev/">mail-archives.apache.org</a></td> +<td><a class="externalLink" href="http://marc.info/?l=log4j-dev">marc.info</a></td> +</tr> +<tr class="a"><td>-</td> +<td>-</td> +<td>-</td> +<td>-</td> +<td>-</td> +<td><a class="externalLink" href="http://dir.gmane.org/gmane.comp.jakarta.log4j.devel">dir.gmane.org</a></td> +</tr> +</table> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/manual.html b/thirdparty/apache-log4j-1.2.16/site/manual.html new file mode 100644 index 00000000000..2cc04175a0f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/manual.html @@ -0,0 +1,1274 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Short introduction to log4j</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta name="author" content="Ceki Gülcü" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <strong>Introduction</strong> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2><a name="Short_introduction_to_log4j:_Ceki_Gülcü_March_2002"></a>Short introduction to log4j: Ceki Gülcü, March 2002</h2> +<p> + Copyright © 2000-2002 The Apache Software Foundation. All + rights reserved. This software is published under the terms of + the Apache Software License version 2.0, a copy of which has + been included in the LICENSE file shipped with the log4j + distribution. This document is based on the article <a class="externalLink" href="http://www.javaworld.com/jw-11-2000/jw-1122-log4j.html">&quot;Log4j + delivers control over logging&quot;</a> published in November 2000 + edition of JavaWorld. However, the present article contains more + detailed and up to date information. The present short manual + also borrows some text from <a class="externalLink" href="https://www.qos.ch/shop/products/eclm/">&quot;<em>The + complete log4j manual</em>&quot;</a> by the same author (yours + truly).</p> +<h2>Abstract</h2><p>This document describes the log4j API, its unique features and +design rationale. Log4j is an open source project based on the work of +many authors. It allows the developer to control which log statements +are output with arbitrary granularity. It is fully configurable at +runtime using external configuration files. Best of all, log4j has a +gentle learning curve. Beware: judging from user feedback, it is also +quite addictive.</p> +<h2>Introduction</h2><p>Almost every large application includes its own logging or tracing +API. In conformance with this rule, the E.U. <a class="externalLink" href="http://www.semper.org">SEMPER</a> project decided to write its +own tracing API. This was in early 1996. After countless enhancements, +several incarnations and much work that API has evolved to become +log4j, a popular logging package for Java. The package is distributed +under the <a href="../LICENSE">Apache Software License</a>, a +fully-fledged open source license certified by the <a class="externalLink" href="http://www.opensource.org">open source</a> initiative. The +latest log4j version, including full-source code, class files and +documentation can be found at <a class="externalLink" href="http://logging.apache.org/log4j/"><b>http://logging.apache.org/log4j/</b></a>. +By the way, log4j has been ported to the C, C++, C#, Perl, Python, +Ruby, and Eiffel languages.</p> +<p>Inserting log statements into code is a low-tech method for +debugging it. It may also be the only way because debuggers are not +always available or applicable. This is usually the case for +multithreaded applications and distributed applications at large.</p> +<p>Experience indicates that logging was an important component of the +development cycle. It offers several advantages. It provides precise +<em>context</em> about a run of the application. Once inserted into +the code, the generation of logging output requires no human +intervention. Moreover, log output can be saved in persistent medium +to be studied at a later time. In addition to its use in the +development cycle, a sufficiently rich logging package can also be +viewed as an auditing tool.</p> +<p>As Brian W. Kernighan and Rob Pike put it in their truly excellent +book <i>&quot;The Practice of Programming&quot;</i><pre> + As personal choice, we tend not to use debuggers beyond getting a + stack trace or the value of a variable or two. One reason is that it + is easy to get lost in details of complicated data structures and + control flow; we find stepping through a program less productive + than thinking harder and adding output statements and self-checking + code at critical places. Clicking over statements takes longer than + scanning the output of judiciously-placed displays. It takes less + time to decide where to put print statements than to single-step to + the critical section of code, even assuming we know where that + is. More important, debugging statements stay with the program; + debugging sessions are transient. +</pre></p> +<p>Logging does have its drawbacks. It can slow down an +application. If too verbose, it can cause scrolling blindness. To +alleviate these concerns, log4j is designed to be reliable, fast and +extensible. Since logging is rarely the main focus of an application, +the log4j API strives to be simple to understand and to use.</p> +<h2>Loggers, Appenders and Layouts</h2><p>Log4j has three main components: <em>loggers</em>, +<em>appenders</em> and <em>layouts</em>. These three types of +components work together to enable developers to log messages according +to message type and level, and to control at runtime how these +messages are formatted and where they are reported.</p> +<h3>Logger hierarchy</h3><p>The first and foremost advantage of any logging API over plain +<code>System.out.println</code> resides in its ability to disable +certain log statements while allowing others to print unhindered. This +capability assumes that the logging space, that is, the space of all +possible logging statements, is categorized according to some +developer-chosen criteria. This observation had previously led us to +choose <em>category</em> as the central concept of the +package. However, since log4j version 1.2, <code>Logger</code> class +has replaced the <code>Category</code> class. For those familiar with +earlier versions of log4j, the <code>Logger</code> class can be +considered as a mere alias to the <code>Category</code> class.</p> +<p>Loggers are named entities. Logger names are case-sensitive and +they follow the hierarchical naming rule:</p> +<p><table class="bodyTable"><tr class="a"><td><dl><dt><b>Named Hierarchy</b></dt> +<dd>A logger is said to be an <em>ancestor</em> of another + logger if its name followed by a dot is a prefix of the + <em>descendant</em> logger name. A logger is said to be a + <em>parent</em> of a <em>child</em> logger if there are no + ancestors between itself and the descendant logger.</dd> +</dl> +</td> +</tr> +</table> +</p> +<p>For example, the logger named <code>&quot;com.foo&quot;</code> is a parent +of the logger named <code>&quot;com.foo.Bar&quot;</code>. Similarly, +<code>&quot;java&quot;</code> is a parent of <code>&quot;java.util&quot;</code> and an +ancestor of <code>&quot;java.util.Vector&quot;</code>. This naming scheme +should be familiar to most developers.</p> +<p>The root logger resides at the top of the logger hierarchy. It +is exceptional in two ways: + +<ol type="1"><li> it always exists,</li> +<li> it cannot be retrieved by name.</li> +</ol> +</p> +<p>Invoking the class static <a href="apidocs/org/apache/log4j/Logger.html#getRootLogger()">Logger.getRootLogger</a> +method retrieves it. All other loggers are instantiated and +retrieved with the class static <a href="apidocs/org/apache/log4j/Logger.html#getLogger()">Logger.getLogger</a> +method. This method takes the name of the desired logger as a +parameter. Some of the basic methods in the Logger class are listed +below.</p> +<p><table class="bodyTable"><tr class="b"><td><pre> + package org.apache.log4j; + + public class <b>Logger</b> { + + // Creation &amp; retrieval methods: + public static Logger getRootLogger(); + public static Logger getLogger(String name); + + // printing methods: + public void trace(Object message); + public void debug(Object message); + public void info(Object message); + public void warn(Object message); + public void error(Object message); + public void fatal(Object message); + + // generic printing method: + public void log(Level l, Object message); +} +</pre></td> +</tr> +</table> +</p> +<p>Loggers <em>may</em> be assigned levels. The set of possible +levels, that is:<br /> +<br /> +<a href="apidocs/org/apache/log4j/Level.html#TRACE">TRACE</a>,<br /> +<a href="apidocs/org/apache/log4j/Level.html#DEBUG">DEBUG</a>,<br /> +<a href="apidocs/org/apache/log4j/Level.html#INFO">INFO</a>,<br /> +<a href="apidocs/org/apache/log4j/Level.html#WARN">WARN</a>,<br /> +<a href="apidocs/org/apache/log4j/Level.html#ERROR">ERROR</a> and<br /> +<a href="apidocs/org/apache/log4j/Level.html#FATAL">FATAL</a><br /> +<br /> + + +are defined in the <code><a href="apidocs/org/apache/log4j/Level.html">org.apache.log4j.Level</a></code> +class. Although we do not encourage you to do so, you may define +your own levels by sub-classing the <code>Level</code> class. A +perhaps better approach will be explained later on.</p> +<p>If a given logger is not assigned a level, then it inherits +one from its closest ancestor with an assigned level. More +formally:</p> +<p><table class="bodyTable"><tr class="a"><td><dl><dt><b>Level Inheritance</b></dt> +<dd>The <em>inherited level</em> for a given logger +<i>C</i>, is equal to the first non-null level in the logger +hierarchy, starting at <i>C</i> and proceeding upwards in the +hierarchy towards the <code>root</code> logger.</dd> +</dl> +</td> +</tr> +</table> +</p> +<p>To ensure that all loggers can eventually inherit a level, +the root logger always has an assigned level.</p> +<p>Below are four tables with various assigned level values and the +resulting inherited levels according to the above rule.</p> +<p><table class="bodyTable"><tr class="b"><th>Logger<br /> +name</th> +<th>Assigned<br /> +level</th> +<th>Inherited<br /> +level</th> +</tr> +<tr class="a"><td>root</td> +<td>Proot</td> +<td>Proot</td> +</tr> +<tr class="b"><td>X </td> +<td>none</td> +<td>Proot</td> +</tr> +<tr class="a"><td>X.Y </td> +<td>none</td> +<td>Proot</td> +</tr> +<tr class="b"><td>X.Y.Z</td> +<td>none</td> +<td>Proot</td> +</tr> +<caption align="bottom">Example 1</caption></table> +</p> +<p>In example 1 above, only the root logger is assigned a +level. This level value, <code>Proot</code>, is inherited by the +other loggers <code>X</code>, <code>X.Y</code> and +<code>X.Y.Z</code>.</p> +<p><table class="bodyTable"><tr class="a"><th>Logger<br /> +name</th> +<th>Assigned<br /> +level</th> +<th>Inherited<br /> +level</th> +</tr> +<tr class="b"><td>root</td> +<td>Proot</td> +<td>Proot</td> +</tr> +<tr class="a"><td>X </td> +<td>Px</td> +<td>Px</td> +</tr> +<tr class="b"><td>X.Y </td> +<td>Pxy</td> +<td>Pxy</td> +</tr> +<tr class="a"><td>X.Y.Z</td> +<td>Pxyz</td> +<td>Pxyz</td> +</tr> +<caption align="bottom">Example 2</caption></table> +</p> +<p>In example 2, all loggers have an assigned level value. There +is no need for level inheritence.</p> +<p><table class="bodyTable"><tr class="b"><th>Logger<br /> +name</th> +<th>Assigned<br /> +level</th> +<th>Inherited<br /> +level</th> +</tr> +<tr class="a"><td>root</td> +<td>Proot</td> +<td>Proot</td> +</tr> +<tr class="b"><td>X </td> +<td>Px</td> +<td>Px</td> +</tr> +<tr class="a"><td>X.Y </td> +<td>none</td> +<td>Px</td> +</tr> +<tr class="b"><td>X.Y.Z</td> +<td>Pxyz</td> +<td>Pxyz</td> +</tr> +<caption align="bottom">Example 3</caption></table> +</p> +<p>In example 3, the loggers <code>root</code>, <code>X</code> and +<code>X.Y.Z</code> are assigned the levels <code>Proot</code>, +<code>Px</code> and <code>Pxyz</code> respectively. The logger +<code>X.Y</code> inherits its level value from its parent +<code>X</code>.</p> +<table class="bodyTable"><tr class="a"><th>Logger<br /> +name</th> +<th>Assigned<br /> +level</th> +<th>Inherited<br /> +level</th> +</tr> +<tr class="b"><td>root</td> +<td>Proot</td> +<td>Proot</td> +</tr> +<tr class="a"><td>X </td> +<td>Px</td> +<td>Px</td> +</tr> +<tr class="b"><td>X.Y </td> +<td>none</td> +<td>Px</td> +</tr> +<tr class="a"><td>X.Y.Z</td> +<td>none</td> +<td>Px</td> +</tr> +<caption align="bottom">Example 4</caption></table> +<p>In example 4, the loggers <code>root</code> and <code>X</code> +and are assigned the levels <code>Proot</code> and <code>Px</code> +respectively. The loggers <code>X.Y</code> and <code>X.Y.Z</code> +inherits their level value from their nearest parent <code>X</code> +having an assigned level..</p> +<p>Logging requests are made by invoking one of the printing methods +of a logger instance. These printing methods are + +<code><a href="apidocs/org/apache/log4j/Logger.html#debug(java.lang.Object)">debug</a>, + +<a href="apidocs/org/apache/log4j/Logger.html#info(java.lang.Object)">info</a>, + +<a href="apidocs/org/apache/log4j/Logger.html#warn(java.lang.Object)">warn</a>, +<a href="apidocs/org/apache/log4j//Logger.html#error(java.lang.Object)">error</a>, +<a href="apidocs/org/apache/log4j/Logger.html#fatal(java.lang.Object)">fatal</a> + and <a href="apidocs/org/apache/log4j/Logger.html#log(org.apache.log4j.Level, java.lang.Object)">log</a></code>.</p> +<p>By definition, the printing method determines the level of a +logging request. For example, if <code>c</code> is a logger +instance, then the statement <code>c.info(&quot;..&quot;)</code> is a logging +request of level INFO.</p> +<p>A logging request is said to be <em>enabled</em> if its level is +higher than or equal to the level of its logger. Otherwise, the +request is said to be <em>disabled</em>. A logger without an +assigned level will inherit one from the hierarchy. This rule is +summarized below.</p> +<p><a name="selectionRule"></a><table class="bodyTable"><tr class="b"><td><dl><dt><b>Basic Selection Rule</b></dt> +<dd>A log request of level <i>p</i> in a logger with + (either assigned or inherited, whichever is appropriate) level <i>q</i>, is enabled if <i> p &gt;= + q</i>.</dd> +</dl> +</td> +</tr> +</table> +</p> +<p>This rule is at the heart of log4j. It assumes that levels are +ordered. For the standard levels, we have <code>DEBUG &lt; INFO +&lt; WARN &lt; ERROR &lt; FATAL</code>.</p> +<p>Here is an example of this rule.</p> +<p><table class="bodyTable"><tr class="a"><td><pre> + + // get a logger instance named &quot;com.foo&quot; + Logger logger = Logger.getLogger(<strong>&quot;com.foo&quot;</strong>); + + // Now set its level. Normally you do not need to set the + // level of a logger programmatically. This is usually done + // in configuration files. + <strong>logger</strong>.setLevel(<font color="0000AA"><strong>Level.INFO</strong></font>); + + Logger barlogger = Logger.getLogger(<strong>&quot;com.foo.Bar&quot;</strong>); + + // This request is enabled, because <font color="00AA00"><strong>WARN</strong></font> &gt;= <font color="0000AA"><strong>INFO</strong></font>. + logger.<font color="00AA00"><strong>warn</strong></font>(&quot;Low fuel level.&quot;); + + // This request is disabled, because <font color="00AA00"><strong>DEBUG</strong></font> &lt; <font color="0000AA"><strong>INFO</strong></font>. + logger.<font color="00AA00"><strong>debug</strong></font>(&quot;Starting search for nearest gas station.&quot;); + + // The logger instance barlogger, named &quot;com.foo.Bar&quot;, + // will inherit its level from the logger named + // &quot;com.foo&quot; Thus, the following request is enabled + // because <font color="00AA00"><strong>INFO</strong></font> &gt;= <font color="0000AA"><strong>INFO</strong></font>. + barlogger.<font color="00AA00"><strong>info</strong></font>(&quot;Located nearest gas station.&quot;); + + // This request is disabled, because <font color="00AA00"><strong>DEBUG</strong></font> &lt; <font color="0000AA"><strong>INFO</strong></font>. + barlogger.<font color="00AA00"><strong>debug</strong></font>(&quot;Exiting gas station search&quot;); +</pre></td> +</tr> +</table> +</p> +<p>Calling the <code>getLogger</code> method with the same name will +always return a reference to the exact same logger object.</p> +<p>For example, in + +<table class="bodyTable"><tr class="b"><td><pre> + Logger x = Logger.getLogger(&quot;wombat&quot;); + Logger y = Logger.getLogger(&quot;wombat&quot;);</pre></td> +</tr> +</table> +<code>x</code> and <code>y</code> refer to <em>exactly</em> the same +logger object.</p> +<p>Thus, it is possible to configure a logger and then to retrieve +the same instance somewhere else in the code without passing around +references. In fundamental contradiction to biological parenthood, +where parents always preceed their children, log4j loggers can be +created and configured in any order. In particular, a &quot;parent&quot; +logger will find and link to its descendants even if it is +instantiated after them.</p> +<p>Configuration of the log4j environment is typically done at +application initialization. The preferred way is by reading a +configuration file. This approach will be discussed shortly.</p> +<p>Log4j makes it easy to name loggers by <em>software +component</em>. This can be accomplished by statically instantiating +a logger in each class, with the logger name equal to the fully +qualified name of the class. This is a useful and straightforward +method of defining loggers. As the log output bears the name of the +generating logger, this naming strategy makes it easy to identify +the origin of a log message. However, this is only one possible, +albeit common, strategy for naming loggers. Log4j does not restrict +the possible set of loggers. The developer is free to name the +loggers as desired.</p> +<p>Nevertheless, naming loggers after the class where they are +located seems to be the best strategy known so far.</p> +<h2>Appenders and Layouts</h2><p>The ability to selectively enable or disable logging requests based +on their logger is only part of the picture. Log4j allows logging +requests to print to multiple destinations. In log4j speak, an output +destination is called an <em>appender</em>. Currently, appenders exist +for the <a href="apidocs/org/apache/log4j/ConsoleAppender.html">console</a>, <a href="apidocs/org/apache/log4j/FileAppender.html">files</a>, GUI +components, <a href="apidocs/org/apache/log4j/net/SocketAppender.html">remote socket</a> +servers, <a href="apidocs/org/apache/log4j/net/JMSAppender.html">JMS</a>, + +<a href="apidocs/org/apache/log4j/nt/NTEventLogAppender.html"> NT +Event Loggers</a>, and remote UNIX <a href="apidocs/org/apache/log4j/net/SyslogAppender.html">Syslog</a> +daemons. It is also possible to log <a href="apidocs/org/apache/log4j/AsyncAppender.html">asynchronously</a>.</p> +<p>More than one appender can be attached to a logger.</p> +<p>The <a href="apidocs/org/apache/log4j/Logger.html#addAppender(org.apache.log4j.Appender)">addAppender</a> +method adds an appender to a given logger. + +<b>Each enabled logging +request for a given logger will be forwarded to all the appenders in +that logger as well as the appenders higher in the hierarchy.</b> In +other words, appenders are inherited additively from the logger +hierarchy. For example, if a console appender is added to the root +logger, then all enabled logging requests will at least print on the +console. If in addition a file appender is added to a logger, say +<em>C</em>, then enabled logging requests for <em>C</em> and +<em>C</em>'s children will print on a file <em>and</em> on the +console. It is possible to override this default behavior so that +appender accumulation is no longer additive by <a href="apidocs/org/apache/log4j/Logger.html#setAdditivity(boolean)">setting +the additivity flag</a> to <code>false</code>.</p> +<p>The rules governing appender additivity are summarized below.</p> +<p><a name="additivity"></a><table class="bodyTable"><tr class="a"><td><dl><dt><b>Appender Additivity</b></dt> +<dd>The output of a log statement of logger <i>C</i> will + go to all the appenders in <i>C</i> and its ancestors. This is + the meaning of the term &quot;appender additivity&quot;.<p>However, if an ancestor of logger <i>C</i>, say <i>P</i>, + has the additivity flag set to <code>false</code>, then + <i>C</i>'s output will be directed to all the appenders in + <i>C</i> and its ancestors upto and including <i>P</i> but + not the appenders in any of the ancestors of <i>P</i>.</p> +<p>Loggers have their additivity flag set to + <code>true</code> by default.</p> +</dd> +</dl> +</td> +</tr> +</table> +</p> +<p>The table below shows an example:</p> +<p><table class="bodyTable"><tr class="b"><th>Logger<br /> +Name </th> +<th>Added<br /> +Appenders</th> +<th>Additivity<br /> +Flag</th> +<th>Output Targets</th> +<th>Comment</th> +</tr> +<tr class="a"><td>root </td> +<td>A1 </td> +<td>not applicable </td> +<td>A1</td> +<td>The root logger is anonymous but can be accessed with the + Logger.getRootLogger() method. There is no default appender + attached to root.</td> +</tr> +<tr class="b"><td>x </td> +<td>A-x1, A-x2 </td> +<td>true </td> +<td>A1, A-x1, A-x2</td> +<td>Appenders of &quot;x&quot; and root.</td> +</tr> +<tr class="a"><td>x.y </td> +<td>none </td> +<td>true </td> +<td>A1, A-x1, A-x2</td> +<td>Appenders of &quot;x&quot; and root.</td> +</tr> +<tr class="b"><td>x.y.z </td> +<td>A-xyz1 </td> +<td>true </td> +<td>A1, A-x1, A-x2, A-xyz1</td> +<td>Appenders in &quot;x.y.z&quot;, &quot;x&quot; and root.</td> +</tr> +<tr class="a"><td>security </td> +<td>A-sec </td> +<td><font color="blue">false</font></td> +<td>A-sec</td> +<td>No appender accumulation since the additivity flag is set to + <code>false</code>.</td> +</tr> +<tr class="b"><td>security.access </td> +<td>none </td> +<td> true </td> +<td> A-sec </td> +<td>Only + appenders of &quot;security&quot; because the additivity flag in &quot;security&quot; is + set to <code>false</code>.</td> +</tr> +</table> +<p>More often than not, users wish to customize not only the output +destination but also the output format. This is accomplished by +associating a <em>layout</em> with an appender. The layout is +responsible for formatting the logging request according to the user's +wishes, whereas an appender takes care of sending the formatted output +to its destination.</p> + + +The <a href="apidocs/org/apache/log4j/PatternLayout.html">PatternLayout</a>, part +of the standard log4j distribution, lets the user specify the output +format according to conversion patterns similar to the C language +<code>printf</code> function.</p> +<p>For example, the PatternLayout with the conversion pattern &quot;%r [%t] +%-5p %c - %m%n&quot; will output something akin to:<br /> +<pre> +176 [main] INFO org.foo.Bar - Located nearest gas station. +</pre></p> +<p>The first field is the number of milliseconds elapsed since the +start of the program. The second field is the thread making the log +request. The third field is the level of the log statement. The +fourth field is the name of the logger associated with the log +request. The text after the '-' is the message of the statement.</p> +<p>Just as importantly, log4j will render the content of the log +message according to user specified criteria. For example, if you +frequently need to log <code>Oranges</code>, an object type used in +your current project, then you can register an +<code>OrangeRenderer</code> that will be invoked whenever an orange +needs to be logged.</p> +<p>Object rendering follows the class hierarchy. For example, assuming +oranges are fruits, if you register a <code>FruitRenderer</code>, all +fruits including oranges will be rendered by the +<code>FruitRenderer</code>, unless of course you registered an orange +specific <code>OrangeRenderer</code>.</p> +<p>Object renderers have to implement the +<a href="apidocs/org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> +interface.</p> +<h2>Configuration</h2><p>Inserting log requests into the application code requires a fair +amount of planning and effort. Observation shows that approximately 4 +percent of code is dedicated to logging. Consequently, even moderately +sized applications will have thousands of logging statements embedded +within their code. Given their number, it becomes imperative to +manage these log statements without the need to modify them manually.</p> +<p>The log4j environment is fully configurable programmatically. +However, it is far more flexible to configure log4j using +configuration files. Currently, configuration files can be written in +XML or in Java properties (key=value) format.</p> +<p>Let us give a taste of how this is done with the help of an +imaginary application <code>MyApp</code> that uses log4j.</p> +<p><table class="bodyTable"><tr class="a"><td><pre> + import com.foo.Bar; + + // Import log4j classes. + <b>import org.apache.log4j.Logger; + import org.apache.log4j.BasicConfigurator;</b> + + public class MyApp { + + // Define a static logger variable so that it references the + // Logger instance named &quot;MyApp&quot;. + <strong>static</strong> Logger logger = <strong>Logger.getLogger(MyApp.class);</strong> + + public static void main(String[] args) { + + // Set up a simple configuration that logs on the console. + <strong>BasicConfigurator.configure();</strong> + + logger.info(&quot;Entering application.&quot;); + Bar bar = new Bar(); + bar.doIt(); + logger.info(&quot;Exiting application.&quot;); + } + } +</pre></td> +</tr> +</table> +</p> +<p><code>MyApp</code> begins by importing log4j related classes. It +then defines a static logger variable with the name +<code>MyApp</code> which happens to be the fully qualified name of the +class.</p> +<p><code>MyApp</code> uses the <code>Bar</code> class defined in the +package <code>com.foo</code>.</p> +<p><table class="bodyTable"><tr class="b"><td><pre><b>package com.foo;</b> + import org.apache.log4j.Logger; + + public class Bar { + <strong>static</strong> Logger logger = <strong>Logger.getLogger(Bar.class);</strong> + + public void doIt() { + logger.debug(&quot;Did it again!&quot;); + } + } +</pre></td> +</tr> +</table> +</p> +<p>The invocation of the <a href="apidocs/org/apache/log4j/BasicConfigurator.html#configure()">BasicConfigurator.configure</a> +method creates a rather simple log4j setup. This method is hardwired +to add to the root logger a <a href="apidocs/org/apache/log4j/ConsoleAppender.html"> +ConsoleAppender</a>. The output will be formatted using a <a href="apidocs/org/apache/log4j/PatternLayout.html">PatternLayout</a> set +to the pattern &quot;%-4r [%t] %-5p %c %x - %m%n&quot;.</p> +<p>Note that by default, the root logger is assigned to +<code>Level.DEBUG</code>.</p> +<p>The output of MyApp is: +<pre> +0 [main] INFO MyApp - Entering application. +36 [main] DEBUG com.foo.Bar - Did it again! +51 [main] INFO MyApp - Exiting application. +</pre></p> +<p>The figure below depicts the object diagram of <code>MyApp</code> +after just having called the <code>BasicConfigurator.configure</code> +method.</p> +<p><center><img src="images/od.gif" /></center></p> +<p>As a side note, let me mention that in log4j child loggers link +only to their existing ancestors. In particular, the logger named +<code>com.foo.Bar</code> is linked directly to the <code>root</code> +logger, thereby circumventing the unused <code>com</code> or +<code>com.foo</code> loggers. This significantly increases +performance and reduces log4j's memory footprint.</p> +<p>The <code>MyApp</code> class configures log4j by invoking +<code>BasicConfigurator.configure</code> method. Other classes only +need to import the <code>org.apache.log4j.Logger</code> class, +retrieve the loggers they wish to use, and log away.</p> +<p>The previous example always outputs the same log information. +Fortunately, it is easy to modify <code>MyApp</code> so that the log +output can be controlled at run-time. Here is a slightly modified +version.</p> +<p><table class="bodyTable"><tr class="a"><td><pre> + import com.foo.Bar; + + import org.apache.log4j.Logger; + <b>import org.apache.log4j.PropertyConfigurator;</b> + + public class MyApp { + + static Logger logger = Logger.getLogger(MyApp.class.getName()); + + public static void main(String[] args) { + + + // BasicConfigurator replaced with PropertyConfigurator. + <strong>PropertyConfigurator.configure(args[0]);</strong> + + logger.info(&quot;Entering application.&quot;); + Bar bar = new Bar(); + bar.doIt(); + logger.info(&quot;Exiting application.&quot;); + } + } +</pre></td> +</tr> +</table> +<p>This version of <code>MyApp</code> instructs +<code>PropertyConfigurator</code> to parse a configuration file and +set up logging accordingly.</p> +<p>Here is a sample configuration file that results in identical +output as the previous <code>BasicConfigurator</code> based example.</p> +<p><table class="bodyTable"><tr class="b"><td><pre> +# Set root logger level to DEBUG and its only appender to A1. +log4j.rootLogger=DEBUG, A1 + +# A1 is set to be a ConsoleAppender. +log4j.appender.A1=org.apache.log4j.ConsoleAppender + +# A1 uses PatternLayout. +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n +</pre></td> +</tr> +</table> +</p> +<p>Suppose we are no longer interested in seeing the output of any +component belonging to the <code>com.foo</code> package. The following +configuration file shows one possible way of achieving this.</p> +<p><table class="bodyTable"><tr class="a"><td><pre> +log4j.rootLogger=DEBUG, A1 +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout + +# <strong>Print the date in ISO 8601 format</strong> +log4j.appender.A1.layout.ConversionPattern=<strong>%d</strong> [%t] %-5p %c - %m%n + +# Print only messages of level WARN or above in the package com.foo. +<strong>log4j.logger.com.foo=WARN</strong></pre></td> +</tr> +</table> +</p> +<p>The output of <code>MyApp</code> configured with this file is shown below.</p> +<pre><strong>2000-09-07 14:07:41,508</strong> [main] INFO MyApp - Entering application. +<strong>2000-09-07 14:07:41,529</strong> [main] INFO MyApp - Exiting application. +</pre><p>As the logger <code>com.foo.Bar</code> does not have an assigned +level, it inherits its level from <code>com.foo</code>, which +was set to WARN in the configuration file. The log statement from the +<code>Bar.doIt</code> method has the level DEBUG, lower than the +logger level WARN. Consequently, <code>doIt()</code> method's log +request is suppressed.</p> +<p>Here is another configuration file that uses multiple appenders.</p> +<p><table class="bodyTable"><tr class="b"><td><pre> +log4j.rootLogger=debug, <strong>stdout, R</strong> + +log4j.appender.<strong>stdout</strong>=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout + +# Pattern to output the caller's file name and line number. +log4j.appender.stdout.layout.ConversionPattern=%5p [%t] <strong>(%F:%L)</strong> - %m%n + +log4j.appender.<strong>R</strong>=org.apache.log4j.RollingFileAppender +log4j.appender.R.File=example.log + +log4j.appender.R.MaxFileSize=<strong>100KB</strong> +# Keep one backup file +log4j.appender.R.MaxBackupIndex=1 + +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n +</pre></td> +</tr> +</table> +</p> +<p>Calling the enhanced MyApp with the this configuration file will +output the following on the console.</p> +<pre> + INFO [main] <strong>(MyApp2.java:12)</strong> - Entering application. +DEBUG [main] (Bar.java:8) - Doing it again! + INFO [main] (MyApp2.java:15) - Exiting application. +</pre></p> +<p>In addition, as the root logger has been allocated a second +appender, output will also be directed to the <code>example.log</code> +file. This file will be rolled over when it reaches 100KB. When +roll-over occurs, the old version of <code>example.log</code> is +automatically moved to <code>example.log.1</code>.</p> +<p>Note that to obtain these different logging behaviors we did not +need to recompile code. We could just as easily have logged to a UNIX +Syslog daemon, redirected all <code>com.foo</code> output to an NT +Event logger, or forwarded logging events to a remote log4j server, +which would log according to local server policy, for example by +forwarding the log event to a second log4j server.</p> +<a name="defaultInit"></a><h2>Default Initialization Procedure</h2><p>The log4j library does not make any assumptions about its +environment. In particular, there are no default log4j +appenders. Under certain well-defined circumstances however, the +static inializer of the <code>Logger</code> class will attempt to +automatically configure log4j. The Java language guarantees that the +static initializer of a class is called once and only once during the +loading of a class into memory. It is important to remember that +different classloaders may load distinct copies of the same +class. These copies of the same class are considered as totally +unrelated by the JVM.</p> +<p>The default initialization is very useful in environments where the +exact entry point to the application depends on the runtime +environment. For example, the same application can be used as a +stand-alone application, as an applet, or as a servlet under the +control of a web-server.</p> +<p>The exact default initialization algorithm is defined as follows:</p> +<ol type="1"><li>Setting the <b>log4j.defaultInitOverride</b> system property to + any other value then &quot;false&quot; will cause log4j to skip the default + initialization procedure (this procedure).</li> +<li>Set the <code>resource</code> string variable to the value of + the <b>log4j.configuration</b> system property. <em>The preferred + way to specify the default initialization file is through the + <b>log4j.configuration</b> system property.</em> In case the system + property <b>log4j.configuration</b> is not defined, then set the + string variable <code>resource</code> to its default value + &quot;log4j.properties&quot;.</li> +<li>Attempt to convert the <code>resource</code> variable to a + URL.</li> +<li>If the resource variable cannot be converted to a URL, for + example due to a <code>MalformedURLException</code>, then search for + the <code>resource</code> from the classpath by calling + <code>org.apache.log4j.helpers.Loader.getResource(resource, + Logger.class)</code> which returns a URL. Note that the string + &quot;log4j.properties&quot; constitutes a malformed URL. + + See <a href="apidocs/org/apache/log4j/helpers/Loader.html#getResource(java.lang.String)">Loader.getResource(java.lang.String)</a> + for the list of searched locations.</li> +<li>If no URL could not be found, abort default + initialization. Otherwise, configure log4j from the URL. + + The <a href="apidocs/org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a> + will be used to parse the URL to configure log4j unless the URL ends + with the &quot;.xml&quot; extension, in which case the <a href="apidocs/org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a> + will be used. You can optionaly specify a custom configurator. The + value of the <b>log4j.configuratorClass</b> system property is taken + as the fully qualified class name of your custom configurator. The + custom configurator you specify <em>must</em> implement the <a href="apidocs/org/apache/log4j/spi/Configurator.html">Configurator</a> + interface.</li> +</ol> +<h2>Example Configurations</h2><h2>Default Initialization under Tomcat</h2><p>The default log4j initialization is particularly useful in +web-server environments. Under Tomcat 3.x and 4.x, you should place +the <code>log4j.properties</code> under the +<code>WEB-INF/classes</code> directory of your web-applications. Log4j +will find the properties file and initialize itself. This is easy to +do and it works.</p> +<p>You can also choose to set the system property +<b>log4j.configuration</b> before starting Tomcat. For Tomcat 3.x The +<code>TOMCAT_OPTS</code> environment variable is used to set command +line options. For Tomcat 4.0, set the <code>CATALINA_OPTS</code> +environment variable instead of <code>TOMCAT_OPTS</code>.</p> +<p><b>Example 1</b></p> +<p>The Unix shell command +<pre> + export TOMCAT_OPTS=&quot;-Dlog4j.configuration=foobar.txt&quot; +</pre> + +tells log4j to use the file <code>foobar.txt</code> as the default +configuration file. This file should be place under the +<code>WEB-INF/classes</code> directory of your web-application. The +file will be read using the <a href="apidocs/org/apache/log4j/xml/PropertyConfigurator.html">PropertyConfigurator</a>. Each +web-application will use a different default configuration file because +each file is relative to a web-application.</p> +<p><b>Example 2</b></p> +<p>The Unix shell command +<pre> + export TOMCAT_OPTS=&quot;-Dlog4j.debug -Dlog4j.configuration=foobar.xml&quot; +</pre> + +tells log4j to output log4j-internal debugging information and to use +the file <code>foobar.xml</code> as the default configuration +file. This file should be place under the <code>WEB-INF/classes</code> +directory of your web-application. Since the file ends with a +<code>.xml</code> extension, it will read using the <a href="apidocs/org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a>. Each +web-application will use a different default configuration file because +each file is relative to a web-application.</p> +<p><b>Example 3</b></p> +<p>The Windows shell command +<pre> + set TOMCAT_OPTS=-Dlog4j.configuration=foobar.lcf -Dlog4j.configuratorClass=com.foo.BarConfigurator +</pre> + +tells log4j to use the file <code>foobar.lcf</code> as the default +configuration file. This file should be place under the +<code>WEB-INF/classes</code> directory of your web-application. Due to +the definition of the <b>log4j.configuratorClass</b> system property, +the file will be read using the <code>com.foo.BarConfigurator</code> +custom configurator. Each web-application will use a different +default configuration file because each file is relative to a +web-application.</p> +<p><b>Example 4</b></p> +<p>The Windows shell command +<pre> + set TOMCAT_OPTS=-Dlog4j.configuration=file:/c:/foobar.lcf</pre> + +tells log4j to use the file <code>c:\foobar.lcf</code> as the default +configuration file. The configuration file is fully specified by the +URL <code>file:/c:/foobar.lcf</code>. Thus, the same configuration +file will be used for all web-applications.</p> +<p>Different web-applications will load the log4j classes through +their respective classloaderss. Thus, each image of the log4j +environment will act independetly and without any mutual +synchronization. For example, <code>FileAppenders</code> defined +exactly the same way in multiple web-application configurations will +all attempt to write the same file. The results are likely to be less +than satisfactory. You must make sure that log4j configurations of +different web-applications do not use the same underlying system +resource.</p> +<p><b>Initialization servlet</b></p> +<p>It is also possible to use a special servlet for log4j +initialization. Here is an example,</p> +<p><table class="bodyTable"><tr class="a"><td><pre> +package com.foo; + +import org.apache.log4j.PropertyConfigurator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.PrintWriter; +import java.io.IOException; + +public class Log4jInit extends HttpServlet { + + public + void <b>init()</b> { + String prefix = getServletContext().getRealPath(&quot;/&quot;); + String file = getInitParameter(&quot;log4j-init-file&quot;); + // if the log4j-init-file is not set, then no point in trying + if(file != null) { + PropertyConfigurator.configure(prefix+file); + } + } + + public + void doGet(HttpServletRequest req, HttpServletResponse res) { + } +} +</pre></td> +</tr> +</table> +</p> +<p>Define the following servlet in the web.xml file for your web-application.</p> +<p><table class="bodyTable"><tr class="b"><td><pre> + &lt;servlet&gt; + &lt;servlet-name&gt;log4j-init&lt;/servlet-name&gt; + &lt;servlet-class&gt;com.foo.Log4jInit&lt;/servlet-class&gt; + + &lt;init-param&gt; + &lt;param-name&gt;log4j-init-file&lt;/param-name&gt; + &lt;param-value&gt;WEB-INF/classes/log4j.lcf&lt;/param-value&gt; + &lt;/init-param&gt; + + <b>&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;</b> + &lt;/servlet&gt; +</pre></td> +</tr> +</table> +</p> +<p>Writing an initialization servlet is the most flexible way for +initializing log4j. There are no constraints on the code you can place +in the <code>init()</code> method of the servlet.</p> +<h2> Nested Diagnostic Contexts</h2><p>Most real-world systems have to deal with multiple clients +simultaneously. In a typical multithreaded implementation of such a +system, different threads will handle different clients. Logging is +especially well suited to trace and debug complex distributed +applications. A common approach to differentiate the logging output of +one client from another is to instantiate a new separate logger for +each client. This promotes the proliferation of loggers and +increases the management overhead of logging.</p> +<p>A lighter technique is to uniquely stamp each log request initiated +from the same client interaction. Neil Harrison described this method +in the book &quot;Patterns for Logging Diagnostic Messages,&quot; in <em>Pattern +Languages of Program Design 3</em>, edited by R. Martin, D. Riehle, +and F. Buschmann (Addison-Wesley, 1997).</p> +<p> To uniquely stamp each request, the +user pushes contextual information into the NDC, the abbreviation of +<em>Nested Diagnostic Context</em>. The NDC class is shown below. + +<pre> + public class NDC { + // Used when printing the diagnostic + public <strong>static</strong> String get(); + + // Remove the top of the context from the NDC. + public <strong>static</strong> String pop(); + + // Add diagnostic context for the current thread. + public <strong>static</strong> void push(String message); + + // Remove the diagnostic context for this thread. + public <strong>static</strong> void remove(); + } +</pre></p> +<p>The NDC is managed per thread as a <em>stack</em> of contextual +information. Note that all methods of the <code>org.apache.log4j.NDC</code> +class are static. Assuming that NDC printing is turned on, every time +a log request is made, the appropriate log4j component will include +the <em>entire</em> NDC stack for the current thread in the log +output. This is done without the intervention of the user, who is +responsible only for placing the correct information in the NDC by +using the <code>push</code> and <code>pop</code> methods at a few +well-defined points in the code. In contrast, the per-client logger +approach commands extensive changes in the code.</p> +<p>To illustrate this point, let us take the example of a servlet +delivering content to numerous clients. The servlet can build the NDC +at the very beginning of the request before executing other code. The +contextual information can be the client's host name and other +information inherent to the request, typically information contained +in cookies. Hence, even if the servlet is serving multiple clients +simultaneously, the logs initiated by the same code, i.e. belonging to +the same logger, can still be distinguished because each client +request will have a different NDC stack. Contrast this with the +complexity of passing a freshly instantiated logger to all code +exercised during the client's request.</p> +<p>Nevertheless, some sophisticated applications, such as virtual +hosting web servers, must log differently depending on the virtual +host context and also depending on the software component issuing the +request. Recent log4j releases support multiple hierarchy trees. This +enhancement allows each virtual host to possess its own copy of the +logger hierarchy.</p> +<a name="performance"></a><h2>Performance</h2><p>One of the often-cited arguments against logging is its +computational cost. This is a legitimate concern as even moderately +sized applications can generate thousands of log requests. Much +effort was spent measuring and tweaking logging performance. Log4j +claims to be fast and flexible: speed first, flexibility second.</p> +<p>The user should be aware of the following performance issues.</p> +<ol type="1"><li><b>Logging performance when logging is turned off.</b><br /> +When logging is turned + off entirely or just for a <a href="apidocs/org/apache/log4j/Hierarchy.html#setThreshold(java.lang.String)">set + of levels</a>, the cost of a log request consists of a method + invocation plus an integer comparison. On a 233 MHz Pentium II + machine this cost is typically in the 5 to 50 nanosecond range.<p>However, The method invocation involves the &quot;hidden&quot; cost of + parameter construction.</p> +<p>For example, for some logger <code>cat</code>, writing, + <pre> + logger.debug(&quot;Entry number: &quot; + i + &quot; is &quot; + String.valueOf(entry[i])); + </pre> + + incurs the cost of constructing the message parameter, i.e. + converting both integer <code>i</code> and <code>entry[i]</code> + to a String, and concatenating intermediate strings, + regardless of whether the message will be logged or not. + + This cost of parameter construction can be quite high and it + depends on the size of the parameters involved.</p> +<p>To avoid the parameter construction cost write: + <pre> + if(logger.isDebugEnabled() { + logger.debug(&quot;Entry number: &quot; + i + &quot; is &quot; + String.valueOf(entry[i])); + } + </pre></p> +<p>This will not incur the cost of parameter + construction if debugging is disabled. On the other hand, if + the logger is debug-enabled, it will incur twice the cost of + evaluating whether the logger is enabled or not: once + in <code>debugEnabled</code> and once in + <code>debug</code>. This is an insignificant + overhead because evaluating a logger takes about 1% + of the time it takes to actually log.</p> +<p>In log4j, logging requests are made to instances of the Logger + class. Logger is a class and not an interface. This measurably + reduces the cost of method invocation at the cost of some + flexibility.</p> +<p>Certain users resort to preprocessing or compile-time + techniques to compile out all log statements. This leads to perfect + performance efficiency with respect to logging. However, since the + resulting application binary does not contain any log statements, + logging cannot be turned on for that binary. In my opinion this is + a disproportionate price to pay in exchange for a small performance + gain.</p> +</li> +<li><b>The performance of deciding whether to log or not to log when + logging is turned on.</b><br /> +This is essentially the performance of walking the logger + hierarchy. When logging is turned on, log4j still needs to compare + the level of the log request with the level of the request + logger. However, loggers may not have an assigned + level; they can inherit them from the logger hierarchy. Thus, + before inheriting a level, the logger may need to search its + ancestors.<p>There has been a serious effort to make this hierarchy walk to +be as fast as possible. For example, child loggers link only to +their existing ancestors. In the <code>BasicConfigurator</code> +example shown earlier, the logger named <code>com.foo.Bar</code> is +linked directly to the root logger, thereby circumventing the +nonexistent <code>com</code> or <code>com.foo</code> loggers. This +significantly improves the speed of the walk, especially in &quot;sparse&quot; +hierarchies.</p> +<p>The typical cost of walking the hierarchy is typically 3 + times slower than when logging is turned off entirely.</p> +</li> +<li><b>Actually outputting log messages</b><br /> +This is the cost of formatting the log output and sending it to + its target destination. Here again, a serious effort was made to + make layouts (formatters) perform as quickly as possible. The same + is true for appenders. The typical cost of actually logging is + about 100 to 300 microseconds. + + See <a href="apidocs/org/apache/log4j/performance/Logging.html">org.apache.log4.performance.Logging</a> + for actual figures. + </li> +</ol> +<p>Although log4j has many features, its first design goal was speed. +Some log4j components have been rewritten many times to improve +performance. Nevertheless, contributors frequently come up with new +optimizations. You should be pleased to know that when configured with +the <a href="apidocs/org/apache/log4j/SimpleLayout.html">SimpleLayout</a> +performance tests have shown log4j to log as quickly as +<code>System.out.println</code>.</p> +<h2>Conclusions</h2><p>Log4j is a popular logging package written in Java. One of its +distinctive features is the notion of inheritance in loggers. Using +a logger hierarchy it is possible to control which log statements +are output at arbitrary granularity. This helps reduce the volume of +logged output and minimize the cost of logging.</p> +<p>One of the advantages of the log4j API is its manageability. Once +the log statements have been inserted into the code, they can be +controlled with configuration files. They can be selectively enabled +or disabled, and sent to different and multiple output targets in +user-chosen formats. The log4j package is designed so that log +statements can remain in shipped code without incurring a heavy +performance cost.</p> +<h2>Acknowledgments</h2> + +Many thanks to N. Asokan for reviewing the article. He is also one of +the originators of the logger concept. I am indebted to Nelson Minar +for encouraging me to write this article. He has also made many useful +suggestions and corrections to this article. Log4j is the result of a +collective effort. My special thanks go to all the authors who have +contributed to the project. Without exception, the best features in +the package have all originated in the user community. +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/project-info.html b/thirdparty/apache-log4j-1.2.16/site/project-info.html new file mode 100644 index 00000000000..e6d29c8266b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/project-info.html @@ -0,0 +1,251 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Project Information</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Project Information</h2> +<p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p> +<div class="section"><h3>Overview</h3> +<table class="bodyTable"><tr class="a"><th>Document</th> +<th>Description</th> +</tr> +<tr class="b"><td><a href="dependencies.html">Dependencies</a></td> +<td>This document lists the project's dependencies and provides information on each dependency.</td> +</tr> +<tr class="a"><td><a href="integration.html">Continuous Integration</a></td> +<td>This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.</td> +</tr> +<tr class="b"><td><a href="mail-lists.html">Mailing Lists</a></td> +<td>This document provides subscription and archive information for this project's mailing lists.</td> +</tr> +<tr class="a"><td><a href="issue-tracking.html">Issue Tracking</a></td> +<td>This is a link to the issue management system for this project. Issues (bugs, features, change requests) can be created and queried using this link.</td> +</tr> +<tr class="b"><td><a href="source-repository.html">Source Repository</a></td> +<td>This is a link to the online source repository that can be viewed via a web browser.</td> +</tr> +<tr class="a"><td><a href="license.html">Project License</a></td> +<td>This is a link to the definitions of project licenses.</td> +</tr> +</table> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/project-reports.html b/thirdparty/apache-log4j-1.2.16/site/project-reports.html new file mode 100644 index 00000000000..0d36172b119 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/project-reports.html @@ -0,0 +1,242 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Generated Reports</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Generated Reports</h2> +<p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p> +<div class="section"><h3>Overview</h3> +<table class="bodyTable"><tr class="a"><th>Document</th> +<th>Description</th> +</tr> +<tr class="b"><td><a href="xref-test/index.html">Test Source Xref</a></td> +<td>HTML based, cross-reference version of Java test source code.</td> +</tr> +<tr class="a"><td><a href="xref/index.html">Source Xref</a></td> +<td>HTML based, cross-reference version of Java source code.</td> +</tr> +<tr class="b"><td><a href="changes-report.html">Changes Report</a></td> +<td>Changes Report on Releases of the Project.</td> +</tr> +</table> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/publications.html b/thirdparty/apache-log4j-1.2.16/site/publications.html new file mode 100644 index 00000000000..73c5a19ec96 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/publications.html @@ -0,0 +1,251 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - log4j 1.2 Publications</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <strong>Publications</strong> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Books</h2> +<ul><li>Ceki Gülcü. 2004. The complete log4j manual. QoS.ch. <a class="externalLink" href="http://www.qos.ch/shop/products/eclm/">http://www.qos.ch/shop/products/eclm/</a>.</li> +<li>Samudra Gupta. 2007. Pro Apache log4j, Second Edition. APress.</li> +</ul> +</div> +<div class="section"><h2>Articles:</h2> +<ul><li>Vipan Singla. Don't Use System.out.println! Use Log4j. <a class="externalLink" href="http://www.vipan.com/htdocs/log4jhelp.html">http://www.vipan.com/htdocs/log4jhelp.html</a>.</li> +<li>Vikran Goyal. Build Flexible Logs With log4j. <a class="externalLink" href="http://www.onjava.com/pub/a/onjava/2002/08/07/log4j.html">http://www.onjava.com/pub/a/onjava/2002/08/07/log4j.html</a>.</li> +<li>Ashley J.S. Mills. Log4J. <a class="externalLink" href="http://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/log4j/log4j.html">http://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/log4j/log4j.html</a>.</li> +<li>Kevin Brown. Add logging to your Java Applications. <a class="externalLink" href="http://www.builder.com.com/article.jhtml?id=u00820020124kev01.htm"> http://www.builder.com.com/article.jhtml?id=u00820020124kev01.htm</a></li> +<li>Kevin Brown. How does the Java logging API stack up against log4j? <a class="externalLink" href="http://www.builder.com.com/article.jhtml?id=u00220020724kev01.htm"> http://www.builder.com.com/article.jhtml?id=u00220020724kev01.htm</a>.</li> +<li>Michael Canzoneri. Log4J FAQ. <a class="externalLink" href="http://www.jguru.com/faq/Log4j">http://www.jguru.com/faq/Log4j</a>.</li> +<li>Ceki Gülcü. Think Again. <a class="externalLink" href="http://www.qos.ch/logging/thinkAgain.html">http://www.qos.ch/logging/thinkAgain.html</a>.</li> +<li>Ceki Gülcü. Supporting the log4j RepositorySelector. <a class="externalLink" href="http://www.qos.ch/logging/sc.html">http://www.qos.ch/logging/sc.html</a>.</li> +<li>Ceki Gülcü. Log4j delivers control over logging. <a class="externalLink" href="http://www.javaworld.com/jw-11-2000/jw-1122-log4j.html">http://www.javaworld.com/jw-11-2000/jw-1122-log4j.html</a>.</li> +<li>Vikram Goyal. Understanding Classloaders: log4j in a J2EE Environment. <a class="externalLink" href="http://www.onjava.com/pub/a/onjava/2003/04/02/log4j_ejb.html">http://www.onjava.com/pub/a/onjava/2003/04/02/log4j_ejb.html</a>.</li> +<li>Ruth Zamorano and Rafeal Luque. Instant logging: Harness the power of log4j with Jabber. <a class="externalLink" href="http://www-106.ibm.com/developerworks/java/library/j-instlog/">http://www-106.ibm.com/developerworks/java/library/j-instlog/</a>.</li> +<li>Matthew Litkey, Jay Galvin, and Marina Sum. Developer Tip: Adding the log4j API to Applications on Sun Java System Application Server 7 <a class="externalLink" href="http://developers.sun.com/prodtech/appserver/reference/techart/log4j.html">http://developers.sun.com/prodtech/appserver/reference/techart/log4j.html</a>.</li> +<li>Sean C. Sullivan. Reporting Application Errors by Email. <a class="externalLink" href="http://www.onjava.com/pub/a/onjava/2004/09/29/smtp-logging.html">http://www.onjava.com/pub/a/onjava/2004/09/29/smtp-logging.html</a>.</li> +</ul> +</div> +<div class="section"><h2>Presentations:</h2> +<ul><li>John Munsch. Log4J In 30 Minutes Or Less. <a class="externalLink" href="http://www.johnmunsch.com/projects/Presentations/">http://www.johnmunsch.com/projects/Presentations/</a>.</li> +<li>Ceki Gülcü. Log4j, a logging package for the Java language. <a class="externalLink" href="http://www.qos.ch/ac2001/F11-10.html">http://www.qos.ch/ac2001/F11-10.html</a>.</li> +<li>Brent Twenter. Log4j. <a class="externalLink" href="http://www.ociweb.com/javasig/knowledgebase/January2001/Log4J.ppt">http://www.ociweb.com/javasig/knowledgebase/January2001/Log4J.ppt</a>. </li> +</ul> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/roadmap.html b/thirdparty/apache-log4j-1.2.16/site/roadmap.html new file mode 100644 index 00000000000..9359a066821 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/roadmap.html @@ -0,0 +1,227 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Apache log4j 1.2 Roadmap</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <strong>Roadmap</strong> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <a href="source-repository.html">Repository</a> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Apache log4j 1.2 Roadmap</h2> +<p>Apache log4j 1.2 is mature and widely deployed. Significant changes are unlikely. Bug fixes and maintenance releases are anticipated. New features may still be added either in log4j proper or more likely incorporated into <a class="externalLink" href="http://logging.apache.org/log4j/companions/extras/index.html">extras</a> or one of the other companion products.</p> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/source-repository.html b/thirdparty/apache-log4j-1.2.16/site/source-repository.html new file mode 100644 index 00000000000..2dfb73e1adb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/source-repository.html @@ -0,0 +1,259 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + + + + + + + + + + + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache log4j 1.2 - Source Repository</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="../../" id="bannerLeft"> + + <img src="images/ls-logo.jpg" alt="" /> + + </a> + <a href=".." id="bannerRight"> + + <img src="images/logo.jpg" alt="" /> + + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + + + + + + + <div class="xleft"> + Last Published: 2010-03-30 + | + <a href="http://www.apache.org/" class="externalLink">Apache</a> + &gt; + + <a href="../../">Logging Services</a> + &gt; + + <a href="../">log4j</a> + &gt; + + <a href="http://logging.apache.org:80/log4j/1.2/" class="externalLink">1.2</a> + </div> + <div class="xright"> + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + + + + + + + <h5>Get log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="download.html">Download</a> + </li> + + <li class="none"> + <a href="changes-report.html">Changes</a> + </li> + + <li class="none"> + <a href="license.html">License</a> + </li> + </ul> + <h5>About log4j 1.2</h5> + <ul> + + <li class="none"> + <a href="index.html">What is log4j?</a> + </li> + + <li class="none"> + <a href="faq.html">FAQ</a> + </li> + + <li class="none"> + <a href="roadmap.html">Roadmap</a> + </li> + </ul> + <h5>Community</h5> + <ul> + + <li class="none"> + <a href="mail-lists.html">Mailing Lists</a> + </li> + + <li class="none"> + <a href="issue-tracking.html">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + + <li class="none"> + <strong>Repository</strong> + </li> + + <li class="none"> + <a href="jxr.html">Cross Reference</a> + </li> + + <li class="none"> + <a href="dependencies.html">Dependencies</a> + </li> + + <li class="none"> + <a href="integration.html">Continuous Integration</a> + </li> + </ul> + <h5>Documentation</h5> + <ul> + + <li class="none"> + <a href="manual.html">Introduction</a> + </li> + + <li class="none"> + <a href="apidocs/index.html">JavaDoc</a> + </li> + + <li class="none"> + <a href="publications.html">Publications</a> + </li> + + <li class="none"> + <a href="http://wiki.apache.org/logging-log4j" class="externalLink">Wiki</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + + <li class="none"> + <a href="http://www.apache.org" class="externalLink">Home</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a> + </li> + + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> + </li> + + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> + </a> + + + + + + + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <a name="Overview"></a><div class="section"><h2>Overview</h2> +This project uses <a class="externalLink" href="http://subversion.tigris.org/">Subversion</a> to manage its source code. Instructions on Subversion use can be found at <a class="externalLink" href="http://svnbook.red-bean.com/">http://svnbook.red-bean.com/</a>.</div> +<a name="Web_Access"></a><div class="section"><h2>Web Access</h2> +<p>The following is a link to the online source repository.</p> +<div class="source"><pre><a class="externalLink" href="http://svn.apache.org/viewvc/logging/log4j/trunk">http://svn.apache.org/viewvc/logging/log4j/trunk</a></pre> +</div> +</div> +<a name="Anonymous_access"></a><div class="section"><h2>Anonymous access</h2> +<p>The source can be checked out anonymously from SVN with this command:</p> +<div class="source"><pre>$ svn checkout http://svn.apache.org/repos/asf/logging/log4j/trunk log4j</pre> +</div> +</div> +<a name="Developer_access"></a><div class="section"><h2>Developer access</h2> +<p>Everyone can access the Subversion repository via HTTP, but Committers must checkout the Subversion repository via HTTPS.</p> +<div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/logging/log4j/trunk log4j</pre> +</div> +<p>To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password)</p> +<div class="source"><pre>$ svn commit --username your-username -m &quot;A message&quot;</pre> +</div> +</div> +<a name="Access_from_behind_a_firewall"></a><div class="section"><h2>Access from behind a firewall</h2> +<p>For those users who are stuck behind a corporate firewall which is blocking HTTP access to the Subversion repository, you can try to access it via the developer connection:</p> +<div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/logging/log4j/trunk log4j</pre> +</div> +</div> +<a name="Access_through_a_proxy"></a><div class="section"><h2>Access through a proxy</h2> +<p>The Subversion client can go through a proxy, if you configure it to do so. First, edit your &quot;servers&quot; configuration file to indicate which proxy to use. The file's location depends on your operating system. On Linux or Unix it is located in the directory &quot;~/.subversion&quot;. On Windows it is in &quot;%APPDATA%\Subversion&quot;. (Try &quot;echo %APPDATA%&quot;, note this is a hidden directory.)</p> +<p>There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.</p> +<p>Example: Edit the 'servers' file and add something like:</p> +<div class="source"><pre>[global] +http-proxy-host = your.proxy.name +http-proxy-port = 3128 +</pre> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">&#169; + 1999-2010 + + Apache Software Foundation + + + + + + + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/allclasses-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/allclasses-frame.html new file mode 100644 index 00000000000..767d10b2aeb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/allclasses-frame.html @@ -0,0 +1,401 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>All Classes</title> + <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" /> + </head> + <body> + + <h3>All Classes</h3> + + <ul> + <li> + <a href="org/apache/log4j/or/ORTestCase.html" target="classFrame">A</a> + </li> + <li> + <a href="org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" target="classFrame">AbsoluteDateAndTimeFilter</a> + </li> + <li> + <a href="org/apache/log4j/util/AbsoluteTimeFilter.html" target="classFrame">AbsoluteTimeFilter</a> + </li> + <li> + <a href="org/apache/log4j/AsyncAppenderTestCase.html" target="classFrame">AsyncAppenderTestCase</a> + </li> + <li> + <a href="org/apache/log4j/or/ORTestCase.html" target="classFrame">B</a> + </li> + <li> + <a href="org/apache/log4j/spi/LoggingEventTest.html" target="classFrame">BadMessage</a> + </li> + <li> + <a href="org/apache/log4j/TestLogXF.html" target="classFrame">BadStringifier</a> + </li> + <li> + <a href="org/apache/log4j/AsyncAppenderTestCase.html" target="classFrame">BlockableVectorAppender</a> + </li> + <li> + <a href="org/apache/log4j/helpers/BoundedFIFOTestCase.html" target="classFrame">BoundedFIFOTestCase</a> + </li> + <li> + <a href="org/apache/log4j/StressCategory.html" target="classFrame">CT</a> + </li> + <li> + <a href="org/apache/log4j/pattern/CachedDateFormatTest.html" target="classFrame">CachedDateFormatTest</a> + </li> + <li> + <a href="org/apache/log4j/CategoryTest.html" target="classFrame">CategoryTest</a> + </li> + <li> + <a href="org/apache/log4j/util/Compare.html" target="classFrame">Compare</a> + </li> + <li> + <a href="org/apache/log4j/util/ControlFilter.html" target="classFrame">ControlFilter</a> + </li> + <li> + <a href="org/apache/log4j/CoreTestSuite.html" target="classFrame">CoreTestSuite</a> + </li> + <li> + <a href="org/apache/log4j/LoggerTestCase.html" target="classFrame">CountingAppender</a> + </li> + <li> + <a href="org/apache/log4j/LoggerTestCase.html" target="classFrame">CountingHierarchyEventListener</a> + </li> + <li> + <a href="org/apache/log4j/xml/DOMTestCase.html" target="classFrame">CustomErrorHandler</a> + </li> + <li> + <a href="org/apache/log4j/LevelTest.html" target="classFrame">CustomLevel</a> + </li> + <li> + <a href="org/apache/log4j/xml/CustomLevelTestCase.html" target="classFrame">CustomLevelTestCase</a> + </li> + <li> + <a href="org/apache/log4j/xml/DOMTestCase.html" target="classFrame">CustomLogger</a> + </li> + <li> + <a href="org/apache/log4j/xml/DOMTestCase.html" target="classFrame">CustomLoggerFactory</a> + </li> + <li> + <a href="org/apache/log4j/helpers/CyclicBufferTestCase.html" target="classFrame">CyclicBufferTestCase</a> + </li> + <li> + <a href="org/apache/log4j/xml/DOMTestCase.html" target="classFrame">DOMTestCase</a> + </li> + <li> + <a href="org/apache/log4j/DRFATestCase.html" target="classFrame">DRFATestCase</a> + </li> + <li> + <a href="org/apache/log4j/helpers/DateLayoutTest.html" target="classFrame">DateLayoutTest</a> + </li> + <li> + <a href="org/apache/log4j/DefaultThrowableRendererTest.html" target="classFrame">DefaultThrowableRendererTest</a> + </li> + <li> + <a href="org/apache/log4j/EnhancedPatternLayoutTest.html" target="classFrame">DerivedPatternLayout</a> + </li> + <li> + <a href="org/apache/log4j/varia/ERFATestCase.html" target="classFrame">ERFATestCase</a> + </li> + <li> + <a href="org/apache/log4j/spi/ThrowableInformationTest.html" target="classFrame">EmptyThrowable</a> + </li> + <li> + <a href="org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html" target="classFrame">EnhancedJunitTestRunnerFilter</a> + </li> + <li> + <a href="org/apache/log4j/util/EnhancedLineNumberFilter.html" target="classFrame">EnhancedLineNumberFilter</a> + </li> + <li> + <a href="org/apache/log4j/EnhancedMyPatternLayout.html" target="classFrame">EnhancedMyPatternLayout</a> + </li> + <li> + <a href="org/apache/log4j/EnhancedPatternLayoutTest.html" target="classFrame">EnhancedPatternLayoutTest</a> + </li> + <li> + <a href="org/apache/log4j/EnhancedPatternLayoutTestCase.html" target="classFrame">EnhancedPatternLayoutTestCase</a> + </li> + <li> + <a href="org/apache/log4j/EnhancedThrowableRendererTest.html" target="classFrame">EnhancedThrowableRendererTest</a> + </li> + <li> + <a href="org/apache/log4j/varia/ErrorHandlerTestCase.html" target="classFrame">ErrorHandlerTestCase</a> + </li> + <li> + <a href="org/apache/log4j/FileAppenderTest.html" target="classFrame">FileAppenderTest</a> + </li> + <li> + <a href="org/apache/log4j/util/Filter.html" target="classFrame">Filter</a> + </li> + <li> + <a href="org/apache/log4j/PropertyConfiguratorTest.html" target="classFrame">FilterBasedTriggeringPolicy</a> + </li> + <li> + <a href="org/apache/log4j/PropertyConfiguratorTest.html" target="classFrame">FixedWindowRollingPolicy</a> + </li> + <li> + <a href="org/apache/log4j/pattern/FormattingInfoTest.html" target="classFrame">FormattingInfoTest</a> + </li> + <li> + <a href="org/apache/log4j/AsyncAppenderTestCase.html" target="classFrame">Greeter</a> + </li> + <li> + <a href="org/apache/log4j/HTMLLayoutTest.html" target="classFrame">HTMLLayoutTest</a> + </li> + <li> + <a href="org/apache/log4j/HierarchyThresholdTestCase.html" target="classFrame">HierarchyThresholdTestCase</a> + </li> + <li> + <a href="org/apache/log4j/util/ISO8601Filter.html" target="classFrame">ISO8601Filter</a> + </li> + <li> + <a href="org/apache/log4j/util/JunitTestRunnerFilter.html" target="classFrame">JunitTestRunnerFilter</a> + </li> + <li> + <a href="org/apache/log4j/Last.html" target="classFrame">Last</a> + </li> + <li> + <a href="org/apache/log4j/net/SocketAppenderTest.html" target="classFrame">LastOnlyAppender</a> + </li> + <li> + <a href="org/apache/log4j/LayoutTest.html" target="classFrame">LayoutTest</a> + </li> + <li> + <a href="org/apache/log4j/varia/LevelMatchFilterTestCase.html" target="classFrame">LevelMatchFilterTestCase</a> + </li> + <li> + <a href="org/apache/log4j/LevelTest.html" target="classFrame">LevelTest</a> + </li> + <li> + <a href="org/apache/log4j/util/LineNumberFilter.html" target="classFrame">LineNumberFilter</a> + </li> + <li> + <a href="org/apache/log4j/spi/LocationInfoTest.html" target="classFrame">LocationInfoTest</a> + </li> + <li> + <a href="org/apache/log4j/LogCapture.html" target="classFrame">LogCapture</a> + </li> + <li> + <a href="org/apache/log4j/helpers/LogLogTest.html" target="classFrame">LogLogTest</a> + </li> + <li> + <a href="org/apache/log4j/LogManagerTest.html" target="classFrame">LogManagerTest</a> + </li> + <li> + <a href="org/apache/log4j/LoggerTestCase.html" target="classFrame">LoggerTestCase</a> + </li> + <li> + <a href="org/apache/log4j/spi/LoggingEventTest.html" target="classFrame">LoggingEventTest</a> + </li> + <li> + <a href="org/apache/log4j/util/MDCOrderFilter.html" target="classFrame">MDCOrderFilter</a> + </li> + <li> + <a href="org/apache/log4j/MinimumTestCase.html" target="classFrame">MinimumTestCase</a> + </li> + <li> + <a href="org/apache/log4j/net/SyslogAppenderTest.html" target="classFrame">MishandledException</a> + </li> + <li> + <a href="org/apache/log4j/CategoryTest.html" target="classFrame">MockCategory</a> + </li> + <li> + <a href="org/apache/log4j/helpers/DateLayoutTest.html" target="classFrame">MockLayout</a> + </li> + <li> + <a href="org/apache/log4j/xml/DOMTestCase.html" target="classFrame">MockThrowableRenderer</a> + </li> + <li> + <a href="org/apache/log4j/net/SMTPAppenderTest.html" target="classFrame">MockTriggeringEventEvaluator</a> + </li> + <li> + <a href="org/apache/log4j/MyPatternLayout.html" target="classFrame">MyPatternLayout</a> + </li> + <li> + <a href="org/apache/log4j/MyPatternParser.html" target="classFrame">MyPatternParser</a> + </li> + <li> + <a href="org/apache/log4j/nt/NTEventLogAppenderTest.html" target="classFrame">NTEventLogAppenderTest</a> + </li> + <li> + <a href="org/apache/log4j/pattern/NameAbbreviatorTest.html" target="classFrame">NameAbbreviatorTest</a> + </li> + <li> + <a href="org/apache/log4j/spi/LocationInfoTest.html" target="classFrame">NameSubstring</a> + </li> + <li> + <a href="org/apache/log4j/spi/LocationInfoTest.html" target="classFrame">NameSubstringCaller</a> + </li> + <li> + <a href="org/apache/log4j/spi/ThrowableInformationTest.html" target="classFrame">NastyThrowable</a> + </li> + <li> + <a href="org/apache/log4j/spi/ThrowableInformationTest.html" target="classFrame">NotOverriddenThrowable</a> + </li> + <li> + <a href="org/apache/log4j/AsyncAppenderTestCase.html" target="classFrame">NullPointerAppender</a> + </li> + <li> + <a href="org/apache/log4j/spi/ThrowableInformationTest.html" target="classFrame">NullThrowable</a> + </li> + <li> + <a href="org/apache/log4j/pattern/Num343PatternConverter.html" target="classFrame">Num343PatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/or/ORTestCase.html" target="classFrame">ORTestCase</a> + </li> + <li> + <a href="org/apache/log4j/helpers/OptionConverterTestCase.html" target="classFrame">OptionConverterTestCase</a> + </li> + <li> + <a href="org/apache/log4j/spi/ThrowableInformationTest.html" target="classFrame">OverriddenThrowable</a> + </li> + <li> + <a href="org/apache/log4j/PatternLayoutTest.html" target="classFrame">PatternLayoutTest</a> + </li> + <li> + <a href="org/apache/log4j/PatternLayoutTestCase.html" target="classFrame">PatternLayoutTestCase</a> + </li> + <li> + <a href="org/apache/log4j/pattern/PatternParserTest.html" target="classFrame">PatternParserTest</a> + </li> + <li> + <a href="org/apache/log4j/helpers/PatternParserTestCase.html" target="classFrame">PatternParserTestCase</a> + </li> + <li> + <a href="org/apache/log4j/PriorityTest.html" target="classFrame">PriorityTest</a> + </li> + <li> + <a href="org/apache/log4j/xml/XMLLayoutTest.html" target="classFrame">ProblemLevel</a> + </li> + <li> + <a href="org/apache/log4j/PropertyConfiguratorTest.html" target="classFrame">PropertyConfiguratorTest</a> + </li> + <li> + <a href="org/apache/log4j/RFATestCase.html" target="classFrame">RFATestCase</a> + </li> + <li> + <a href="org/apache/log4j/net/TelnetAppenderTest.html" target="classFrame">ReadThread</a> + </li> + <li> + <a href="org/apache/log4j/util/RelativeTimeFilter.html" target="classFrame">RelativeTimeFilter</a> + </li> + <li> + <a href="org/apache/log4j/PropertyConfiguratorTest.html" target="classFrame">RollingFileAppender</a> + </li> + <li> + <a href="org/apache/log4j/PropertyConfiguratorTest.html" target="classFrame">RollingPolicy</a> + </li> + <li> + <a href="org/apache/log4j/net/SMTPAppenderTest.html" target="classFrame">SMTPAppenderTest</a> + </li> + <li> + <a href="org/apache/log4j/util/SerializationTestHelper.html" target="classFrame">SerializationTestHelper</a> + </li> + <li> + <a href="org/apache/log4j/net/ShortSocketServer.html" target="classFrame">ShortSocketServer</a> + </li> + <li> + <a href="org/apache/log4j/net/SocketAppenderTest.html" target="classFrame">SocketAppenderTest</a> + </li> + <li> + <a href="org/apache/log4j/net/SocketServerTestCase.html" target="classFrame">SocketServerTestCase</a> + </li> + <li> + <a href="org/apache/log4j/StressCategory.html" target="classFrame">StressCategory</a> + </li> + <li> + <a href="org/apache/log4j/spi/ThrowableInformationTest.html" target="classFrame">StringThrowable</a> + </li> + <li> + <a href="org/apache/log4j/util/SunReflectFilter.html" target="classFrame">SunReflectFilter</a> + </li> + <li> + <a href="org/apache/log4j/net/SyslogAppenderTest.html" target="classFrame">SyslogAppenderTest</a> + </li> + <li> + <a href="org/apache/log4j/TTCCLayoutTest.html" target="classFrame">TTCCLayoutTest</a> + </li> + <li> + <a href="org/apache/log4j/net/TelnetAppenderTest.html" target="classFrame">TelnetAppenderTest</a> + </li> + <li> + <a href="org/apache/log4j/defaultInit/TestCase1.html" target="classFrame">TestCase1</a> + </li> + <li> + <a href="org/apache/log4j/defaultInit/TestCase2.html" target="classFrame">TestCase2</a> + </li> + <li> + <a href="org/apache/log4j/defaultInit/TestCase3.html" target="classFrame">TestCase3</a> + </li> + <li> + <a href="org/apache/log4j/defaultInit/TestCase4.html" target="classFrame">TestCase4</a> + </li> + <li> + <a href="org/apache/log4j/TestLogMF.html" target="classFrame">TestLogMF</a> + </li> + <li> + <a href="org/apache/log4j/TestLogSF.html" target="classFrame">TestLogSF</a> + </li> + <li> + <a href="org/apache/log4j/TestLogXF.html" target="classFrame">TestLogXF</a> + </li> + <li> + <a href="org/apache/log4j/spi/ThrowableInformationTest.html" target="classFrame">ThrowableInformationTest</a> + </li> + <li> + <a href="org/apache/log4j/util/Transformer.html" target="classFrame">Transformer</a> + </li> + <li> + <a href="org/apache/log4j/PropertyConfiguratorTest.html" target="classFrame">TriggeringPolicy</a> + </li> + <li> + <a href="org/apache/log4j/or/ORTestCase.html" target="classFrame">UTObjectRenderer</a> + </li> + <li> + <a href="org/apache/log4j/util/UnexpectedFormatException.html" target="classFrame">UnexpectedFormatException</a> + </li> + <li> + <a href="org/apache/log4j/MyPatternParser.html" target="classFrame">UserDirPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/VectorAppender.html" target="classFrame">VectorAppender</a> + </li> + <li> + <a href="org/apache/log4j/VectorErrorHandler.html" target="classFrame">VectorErrorHandler</a> + </li> + <li> + <a href="org/apache/log4j/xml/XMLLayoutTestCase.html" target="classFrame">X</a> + </li> + <li> + <a href="org/apache/log4j/customLogger/XLogger.html" target="classFrame">XFactory</a> + </li> + <li> + <a href="org/apache/log4j/xml/XLevel.html" target="classFrame">XLevel</a> + </li> + <li> + <a href="org/apache/log4j/customLogger/XLogger.html" target="classFrame">XLogger</a> + </li> + <li> + <a href="org/apache/log4j/customLogger/XLoggerTestCase.html" target="classFrame">XLoggerTestCase</a> + </li> + <li> + <a href="org/apache/log4j/xml/XMLLayoutTest.html" target="classFrame">XMLLayoutTest</a> + </li> + <li> + <a href="org/apache/log4j/xml/XMLLayoutTestCase.html" target="classFrame">XMLLayoutTestCase</a> + </li> + <li> + <a href="org/apache/log4j/util/XMLLineAttributeFilter.html" target="classFrame">XMLLineAttributeFilter</a> + </li> + <li> + <a href="org/apache/log4j/util/XMLTimestampFilter.html" target="classFrame">XMLTimestampFilter</a> + </li> + <li> + <a href="org/apache/log4j/or/ORTestCase.html" target="classFrame">Y</a> + </li> + </ul> + + </body> + </html> diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/index.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/index.html new file mode 100644 index 00000000000..b5c5d3f7ffe --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/index.html @@ -0,0 +1,24 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference</title> + </head> + <frameset cols="20%,80%"> + <frameset rows="30%,70%"> + <frame src="overview-frame.html" name="packageListFrame" /> + <frame src="allclasses-frame.html" name="packageFrame" /> + </frameset> + <frame src="overview-summary.html" name="classFrame" /> + <noframes> + <body> + <h1>Frame Alert</h1> + <p> + You don't have frames. Go <a href="overview-summary.html">here</a> + </p> + </body> + </noframes> + </frameset> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/AsyncAppenderTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/AsyncAppenderTestCase.html new file mode 100644 index 00000000000..c6302b1d043 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/AsyncAppenderTestCase.html @@ -0,0 +1,353 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AsyncAppenderTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> A superficial but general test of log4j.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">AsyncAppenderTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">AsyncAppenderTestCase</a>(String name) { +<a name="32" href="#32">32</a> <strong class="jxr_keyword">super</strong>(name); +<a name="33" href="#33">33</a> } +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="39" href="#39">39</a> LogManager.shutdown(); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_comment">// this test checks whether it is possible to write to a closed AsyncAppender</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> closeTest() <strong class="jxr_keyword">throws</strong> Exception { +<a name="44" href="#44">44</a> Logger root = Logger.getRootLogger(); +<a name="45" href="#45">45</a> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> vectorAppender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>(); +<a name="46" href="#46">46</a> AsyncAppender asyncAppender = <strong class="jxr_keyword">new</strong> AsyncAppender(); +<a name="47" href="#47">47</a> asyncAppender.setName(<span class="jxr_string">"async-CloseTest"</span>); +<a name="48" href="#48">48</a> asyncAppender.addAppender(vectorAppender); +<a name="49" href="#49">49</a> root.addAppender(asyncAppender); +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> root.debug(<span class="jxr_string">"m1"</span>); +<a name="52" href="#52">52</a> asyncAppender.close(); +<a name="53" href="#53">53</a> root.debug(<span class="jxr_string">"m2"</span>); +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> Vector v = vectorAppender.getVector(); +<a name="56" href="#56">56</a> assertEquals(v.size(), 1); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_comment">// this test checks whether appenders embedded within an AsyncAppender are also </em> +<a name="60" href="#60">60</a> <em class="jxr_comment">// closed </em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() { +<a name="62" href="#62">62</a> Logger root = Logger.getRootLogger(); +<a name="63" href="#63">63</a> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> vectorAppender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>(); +<a name="64" href="#64">64</a> AsyncAppender asyncAppender = <strong class="jxr_keyword">new</strong> AsyncAppender(); +<a name="65" href="#65">65</a> asyncAppender.setName(<span class="jxr_string">"async-test2"</span>); +<a name="66" href="#66">66</a> asyncAppender.addAppender(vectorAppender); +<a name="67" href="#67">67</a> root.addAppender(asyncAppender); +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> root.debug(<span class="jxr_string">"m1"</span>); +<a name="70" href="#70">70</a> asyncAppender.close(); +<a name="71" href="#71">71</a> root.debug(<span class="jxr_string">"m2"</span>); +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> Vector v = vectorAppender.getVector(); +<a name="74" href="#74">74</a> assertEquals(v.size(), 1); +<a name="75" href="#75">75</a> assertTrue(vectorAppender.isClosed()); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_comment">// this test checks whether appenders embedded within an AsyncAppender are also </em> +<a name="79" href="#79">79</a> <em class="jxr_comment">// closed </em> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test3() { +<a name="81" href="#81">81</a> <strong class="jxr_keyword">int</strong> LEN = 200; +<a name="82" href="#82">82</a> Logger root = Logger.getRootLogger(); +<a name="83" href="#83">83</a> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> vectorAppender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>(); +<a name="84" href="#84">84</a> AsyncAppender asyncAppender = <strong class="jxr_keyword">new</strong> AsyncAppender(); +<a name="85" href="#85">85</a> asyncAppender.setName(<span class="jxr_string">"async-test3"</span>); +<a name="86" href="#86">86</a> asyncAppender.addAppender(vectorAppender); +<a name="87" href="#87">87</a> root.addAppender(asyncAppender); +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; LEN; i++) { +<a name="90" href="#90">90</a> root.debug(<span class="jxr_string">"message"</span>+i); +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> System.out.println(<span class="jxr_string">"Done loop."</span>); +<a name="94" href="#94">94</a> System.out.flush(); +<a name="95" href="#95">95</a> asyncAppender.close(); +<a name="96" href="#96">96</a> root.debug(<span class="jxr_string">"m2"</span>); +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> Vector v = vectorAppender.getVector(); +<a name="99" href="#99">99</a> assertEquals(v.size(), LEN); +<a name="100" href="#100">100</a> assertTrue(vectorAppender.isClosed()); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">NullPointerAppender</a> <strong class="jxr_keyword">extends</strong> AppenderSkeleton { +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">NullPointerAppender</a>() { +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">/**</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> This method is called by the {@link org.apache.log4j.AppenderSkeleton#doAppend}</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> method.</em> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> */</em> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(org.apache.log4j.spi.LoggingEvent event) { +<a name="114" href="#114">114</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(); +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="121" href="#121">121</a> <strong class="jxr_keyword">return</strong> false; +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * Tests that a bad appender will switch async back to sync.</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * See bug 23021</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> * @since 1.2.12</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> * @throws Exception thrown if Thread.sleep is interrupted</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> */</em> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBadAppender() <strong class="jxr_keyword">throws</strong> Exception { +<a name="133" href="#133">133</a> Appender nullPointerAppender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">NullPointerAppender</a>(); +<a name="134" href="#134">134</a> AsyncAppender asyncAppender = <strong class="jxr_keyword">new</strong> AsyncAppender(); +<a name="135" href="#135">135</a> asyncAppender.addAppender(nullPointerAppender); +<a name="136" href="#136">136</a> asyncAppender.setBufferSize(5); +<a name="137" href="#137">137</a> asyncAppender.activateOptions(); +<a name="138" href="#138">138</a> Logger root = Logger.getRootLogger(); +<a name="139" href="#139">139</a> root.addAppender(nullPointerAppender); +<a name="140" href="#140">140</a> <strong class="jxr_keyword">try</strong> { +<a name="141" href="#141">141</a> root.info(<span class="jxr_string">"Message"</span>); +<a name="142" href="#142">142</a> Thread.sleep(10); +<a name="143" href="#143">143</a> root.info(<span class="jxr_string">"Message"</span>); +<a name="144" href="#144">144</a> fail(<span class="jxr_string">"Should have thrown exception"</span>); +<a name="145" href="#145">145</a> } <strong class="jxr_keyword">catch</strong>(NullPointerException ex) { +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">/**</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> * Tests location processing when buffer is full and locationInfo=true.</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> * See bug 41186.</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> */</em> +<a name="154" href="#154">154</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLocationInfoTrue() { +<a name="155" href="#155">155</a> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">BlockableVectorAppender</a> blockableAppender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">BlockableVectorAppender</a>(); +<a name="156" href="#156">156</a> AsyncAppender async = <strong class="jxr_keyword">new</strong> AsyncAppender(); +<a name="157" href="#157">157</a> async.addAppender(blockableAppender); +<a name="158" href="#158">158</a> async.setBufferSize(5); +<a name="159" href="#159">159</a> async.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="160" href="#160">160</a> async.setBlocking(false); +<a name="161" href="#161">161</a> async.activateOptions(); +<a name="162" href="#162">162</a> Logger rootLogger = Logger.getRootLogger(); +<a name="163" href="#163">163</a> rootLogger.addAppender(async); +<a name="164" href="#164">164</a> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">Greeter</a> greeter = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">Greeter</a>(rootLogger, 100); +<a name="165" href="#165">165</a> <strong class="jxr_keyword">synchronized</strong>(blockableAppender.getMonitor()) { +<a name="166" href="#166">166</a> greeter.run(); +<a name="167" href="#167">167</a> rootLogger.error(<span class="jxr_string">"That's all folks."</span>); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> async.close(); +<a name="170" href="#170">170</a> Vector events = blockableAppender.getVector(); +<a name="171" href="#171">171</a> LoggingEvent initialEvent = (LoggingEvent) events.get(0); +<a name="172" href="#172">172</a> LoggingEvent discardEvent = (LoggingEvent) events.get(events.size() - 1); +<a name="173" href="#173">173</a> PatternLayout layout = <strong class="jxr_keyword">new</strong> PatternLayout(); +<a name="174" href="#174">174</a> layout.setConversionPattern(<span class="jxr_string">"%C:%L %m%n"</span>); +<a name="175" href="#175">175</a> layout.activateOptions(); +<a name="176" href="#176">176</a> String initialStr = layout.format(initialEvent); +<a name="177" href="#177">177</a> assertEquals(AsyncAppenderTestCase.<strong class="jxr_keyword">class</strong>.getName(), +<a name="178" href="#178">178</a> initialStr.substring(0, AsyncAppenderTestCase.<strong class="jxr_keyword">class</strong>.getName().length())); +<a name="179" href="#179">179</a> String discardStr = layout.format(discardEvent); +<a name="180" href="#180">180</a> assertEquals(<span class="jxr_string">"?:? "</span>, discardStr.substring(0, 4)); +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">/**</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> * Tests location processing when buffer is full and locationInfo=false.</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> * See bug 41186.</em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> */</em> +<a name="188" href="#188">188</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLocationInfoFalse() { +<a name="189" href="#189">189</a> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">BlockableVectorAppender</a> blockableAppender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">BlockableVectorAppender</a>(); +<a name="190" href="#190">190</a> AsyncAppender async = <strong class="jxr_keyword">new</strong> AsyncAppender(); +<a name="191" href="#191">191</a> async.addAppender(blockableAppender); +<a name="192" href="#192">192</a> async.setBufferSize(5); +<a name="193" href="#193">193</a> async.setLocationInfo(false); +<a name="194" href="#194">194</a> async.setBlocking(false); +<a name="195" href="#195">195</a> async.activateOptions(); +<a name="196" href="#196">196</a> Logger rootLogger = Logger.getRootLogger(); +<a name="197" href="#197">197</a> rootLogger.addAppender(async); +<a name="198" href="#198">198</a> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">Greeter</a> greeter = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">Greeter</a>(rootLogger, 100); +<a name="199" href="#199">199</a> <strong class="jxr_keyword">synchronized</strong>(blockableAppender.getMonitor()) { +<a name="200" href="#200">200</a> greeter.run(); +<a name="201" href="#201">201</a> rootLogger.error(<span class="jxr_string">"That's all folks."</span>); +<a name="202" href="#202">202</a> } +<a name="203" href="#203">203</a> async.close(); +<a name="204" href="#204">204</a> Vector events = blockableAppender.getVector(); +<a name="205" href="#205">205</a> LoggingEvent initialEvent = (LoggingEvent) events.get(0); +<a name="206" href="#206">206</a> LoggingEvent discardEvent = (LoggingEvent) events.get(events.size() - 1); +<a name="207" href="#207">207</a> PatternLayout layout = <strong class="jxr_keyword">new</strong> PatternLayout(); +<a name="208" href="#208">208</a> layout.setConversionPattern(<span class="jxr_string">"%C:%L %m%n"</span>); +<a name="209" href="#209">209</a> layout.activateOptions(); +<a name="210" href="#210">210</a> String initialStr = layout.format(initialEvent); +<a name="211" href="#211">211</a> assertEquals(<span class="jxr_string">"?:? "</span>, initialStr.substring(0, 4)); +<a name="212" href="#212">212</a> String discardStr = layout.format(discardEvent); +<a name="213" href="#213">213</a> assertEquals(<span class="jxr_string">"?:? "</span>, discardStr.substring(0, 4)); +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">/**</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> * Logging request runnable.</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> */</em> +<a name="219" href="#219">219</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">Greeter</a> implements Runnable { +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment">/**</em> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> * Logger.</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> */</em> +<a name="223" href="#223">223</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Logger logger; +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment">/**</em> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment"> * Repetitions.</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> */</em> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> repetitions; +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">/**</em> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> * @param repetitions repetitions.</em> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> */</em> +<a name="235" href="#235">235</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">Greeter</a>(<strong class="jxr_keyword">final</strong> Logger logger, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> repetitions) { +<a name="236" href="#236">236</a> <strong class="jxr_keyword">if</strong> (logger == <strong class="jxr_keyword">null</strong>) { +<a name="237" href="#237">237</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"logger"</span>); +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <strong class="jxr_keyword">this</strong>.logger = logger; +<a name="241" href="#241">241</a> <strong class="jxr_keyword">this</strong>.repetitions = repetitions; +<a name="242" href="#242">242</a> } +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment">/**</em> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> */</em> +<a name="247" href="#247">247</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="248" href="#248">248</a> <strong class="jxr_keyword">try</strong> { +<a name="249" href="#249">249</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; repetitions; i++) { +<a name="250" href="#250">250</a> logger.info(<span class="jxr_string">"Hello, World"</span>); +<a name="251" href="#251">251</a> Thread.sleep(1); +<a name="252" href="#252">252</a> } +<a name="253" href="#253">253</a> } <strong class="jxr_keyword">catch</strong> (InterruptedException ex) { +<a name="254" href="#254">254</a> Thread.currentThread().interrupt(); +<a name="255" href="#255">255</a> } +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment">/**</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> * Vector appender that can be explicitly blocked.</em> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> */</em> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">BlockableVectorAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> { +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment">/**</em> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> * Monitor object used to block appender.</em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> */</em> +<a name="268" href="#268">268</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Object monitor = <strong class="jxr_keyword">new</strong> Object(); +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> <em class="jxr_javadoccomment">/**</em> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> */</em> +<a name="274" href="#274">274</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">BlockableVectorAppender</a>() { +<a name="275" href="#275">275</a> <strong class="jxr_keyword">super</strong>(); +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment">/**</em> +<a name="279" href="#279">279</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="280" href="#280">280</a> <em class="jxr_javadoccomment"> */</em> +<a name="281" href="#281">281</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(<strong class="jxr_keyword">final</strong> LoggingEvent event) { +<a name="282" href="#282">282</a> <strong class="jxr_keyword">synchronized</strong> (monitor) { +<a name="283" href="#283">283</a> <strong class="jxr_keyword">super</strong>.append(event); +<a name="284" href="#284">284</a> <em class="jxr_comment">//</em> +<a name="285" href="#285">285</a> <em class="jxr_comment">// if fatal, echo messages for testLoggingInDispatcher</em> +<a name="286" href="#286">286</a> <em class="jxr_comment">//</em> +<a name="287" href="#287">287</a> <strong class="jxr_keyword">if</strong> (event.getLevel() == Level.FATAL) { +<a name="288" href="#288">288</a> Logger logger = Logger.getLogger(event.getLoggerName()); +<a name="289" href="#289">289</a> logger.error(event.getMessage().toString()); +<a name="290" href="#290">290</a> logger.warn(event.getMessage().toString()); +<a name="291" href="#291">291</a> logger.info(event.getMessage().toString()); +<a name="292" href="#292">292</a> logger.debug(event.getMessage().toString()); +<a name="293" href="#293">293</a> } +<a name="294" href="#294">294</a> } +<a name="295" href="#295">295</a> } +<a name="296" href="#296">296</a> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment">/**</em> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment"> * Get monitor object.</em> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment"> * @return monitor.</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> */</em> +<a name="301" href="#301">301</a> <strong class="jxr_keyword">public</strong> Object getMonitor() { +<a name="302" href="#302">302</a> <strong class="jxr_keyword">return</strong> monitor; +<a name="303" href="#303">303</a> } +<a name="304" href="#304">304</a> +<a name="305" href="#305">305</a> } +<a name="306" href="#306">306</a> +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">/**</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> * Test that a mutable message object is evaluated before</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> * being placed in the async queue.</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> * See bug 43559.</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> */</em> +<a name="313" href="#313">313</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMutableMessage() { +<a name="314" href="#314">314</a> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">BlockableVectorAppender</a> blockableAppender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/AsyncAppenderTestCase.html">BlockableVectorAppender</a>(); +<a name="315" href="#315">315</a> AsyncAppender async = <strong class="jxr_keyword">new</strong> AsyncAppender(); +<a name="316" href="#316">316</a> async.addAppender(blockableAppender); +<a name="317" href="#317">317</a> async.setBufferSize(5); +<a name="318" href="#318">318</a> async.setLocationInfo(false); +<a name="319" href="#319">319</a> async.activateOptions(); +<a name="320" href="#320">320</a> Logger rootLogger = Logger.getRootLogger(); +<a name="321" href="#321">321</a> rootLogger.addAppender(async); +<a name="322" href="#322">322</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"Hello"</span>); +<a name="323" href="#323">323</a> <strong class="jxr_keyword">synchronized</strong>(blockableAppender.getMonitor()) { +<a name="324" href="#324">324</a> rootLogger.info(buf); +<a name="325" href="#325">325</a> buf.append(<span class="jxr_string">", World."</span>); +<a name="326" href="#326">326</a> } +<a name="327" href="#327">327</a> async.close(); +<a name="328" href="#328">328</a> Vector events = blockableAppender.getVector(); +<a name="329" href="#329">329</a> LoggingEvent event = (LoggingEvent) events.get(0); +<a name="330" href="#330">330</a> PatternLayout layout = <strong class="jxr_keyword">new</strong> PatternLayout(); +<a name="331" href="#331">331</a> layout.setConversionPattern(<span class="jxr_string">"%m"</span>); +<a name="332" href="#332">332</a> layout.activateOptions(); +<a name="333" href="#333">333</a> String msg = layout.format(event); +<a name="334" href="#334">334</a> assertEquals(<span class="jxr_string">"Hello"</span>, msg); +<a name="335" href="#335">335</a> } +<a name="336" href="#336">336</a> +<a name="337" href="#337">337</a> +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/CategoryTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/CategoryTest.html new file mode 100644 index 00000000000..eada95ba048 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/CategoryTest.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * Tests of Category.</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/CategoryTest.html">CategoryTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * Constructs new instance of test.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @param name test name.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/CategoryTest.html">CategoryTest</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="37" href="#37">37</a> <strong class="jxr_keyword">super</strong>(name); +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * Tests Category.forcedLog.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testForcedLog() { +<a name="44" href="#44">44</a> <a href="../../../org/apache/log4j/CategoryTest.html">MockCategory</a> category = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/CategoryTest.html">MockCategory</a>(<span class="jxr_string">"org.example.foo"</span>); +<a name="45" href="#45">45</a> category.setAdditivity(false); +<a name="46" href="#46">46</a> category.addAppender(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>()); +<a name="47" href="#47">47</a> category.info(<span class="jxr_string">"Hello, World"</span>); +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * Tests that the return type of getChainedPriority is Priority.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @throws Exception thrown if Category.getChainedPriority can not be found.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetChainedPriorityReturnType() <strong class="jxr_keyword">throws</strong> Exception { +<a name="55" href="#55">55</a> Method method = Category.<strong class="jxr_keyword">class</strong>.getMethod(<span class="jxr_string">"getChainedPriority"</span>, (Class[]) <strong class="jxr_keyword">null</strong>); +<a name="56" href="#56">56</a> assertTrue(method.getReturnType() == Priority.<strong class="jxr_keyword">class</strong>); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * Tests l7dlog(Priority, String, Throwable).</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testL7dlog() { +<a name="63" href="#63">63</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.example.foo"</span>); +<a name="64" href="#64">64</a> logger.setLevel(Level.ERROR); +<a name="65" href="#65">65</a> Priority debug = Level.DEBUG; +<a name="66" href="#66">66</a> logger.l7dlog(debug, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * Tests l7dlog(Priority, String, Object[], Throwable).</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testL7dlog4Param() { +<a name="73" href="#73">73</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.example.foo"</span>); +<a name="74" href="#74">74</a> logger.setLevel(Level.ERROR); +<a name="75" href="#75">75</a> Priority debug = Level.DEBUG; +<a name="76" href="#76">76</a> logger.l7dlog(debug, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">new</strong> Object[0], <strong class="jxr_keyword">null</strong>); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * Tests setPriority(Priority).</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> */</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetPriority() { +<a name="84" href="#84">84</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.example.foo"</span>); +<a name="85" href="#85">85</a> Priority debug = Level.DEBUG; +<a name="86" href="#86">86</a> logger.setPriority(debug); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * Derived category to check method signature of forcedLog.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> */</em> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/CategoryTest.html">MockCategory</a> <strong class="jxr_keyword">extends</strong> Logger { +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment">/**</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * Create new instance of MockCategory.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * @param name category name</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> */</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/CategoryTest.html">MockCategory</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">super</strong>(name); +<a name="99" href="#99">99</a> repository = <strong class="jxr_keyword">new</strong> Hierarchy(<strong class="jxr_keyword">this</strong>); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">/**</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * Request an info level message.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> * @param msg message</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> */</em> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> String msg) { +<a name="107" href="#107">107</a> Priority info = Level.INFO; +<a name="108" href="#108">108</a> forcedLog(MockCategory.<strong class="jxr_keyword">class</strong>.toString(), info, msg, <strong class="jxr_keyword">null</strong>); +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/CoreTestSuite.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/CoreTestSuite.html new file mode 100644 index 00000000000..b0e15e35954 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/CoreTestSuite.html @@ -0,0 +1,79 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CoreTestSuite xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEventTest; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Suite of log4j class level unit tests.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/CoreTestSuite.html">CoreTestSuite</a> { +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Constructs test suite.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @return test suite</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="34" href="#34">34</a> TestSuite s = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="35" href="#35">35</a> s.addTestSuite(LoggingEventTest.<strong class="jxr_keyword">class</strong>); +<a name="36" href="#36">36</a> s.addTestSuite(org.apache.log4j.LevelTest.<strong class="jxr_keyword">class</strong>); +<a name="37" href="#37">37</a> s.addTestSuite(org.apache.log4j.PriorityTest.<strong class="jxr_keyword">class</strong>); +<a name="38" href="#38">38</a> s.addTestSuite(org.apache.log4j.CategoryTest.<strong class="jxr_keyword">class</strong>); +<a name="39" href="#39">39</a> s.addTestSuite(org.apache.log4j.FileAppenderTest.<strong class="jxr_keyword">class</strong>); +<a name="40" href="#40">40</a> s.addTestSuite(org.apache.log4j.LogManagerTest.<strong class="jxr_keyword">class</strong>); +<a name="41" href="#41">41</a> s.addTestSuite(org.apache.log4j.helpers.LogLogTest.<strong class="jxr_keyword">class</strong>); +<a name="42" href="#42">42</a> s.addTestSuite(org.apache.log4j.LayoutTest.<strong class="jxr_keyword">class</strong>); +<a name="43" href="#43">43</a> s.addTestSuite(org.apache.log4j.helpers.DateLayoutTest.<strong class="jxr_keyword">class</strong>); +<a name="44" href="#44">44</a> s.addTestSuite(org.apache.log4j.TTCCLayoutTest.<strong class="jxr_keyword">class</strong>); +<a name="45" href="#45">45</a> s.addTestSuite(org.apache.log4j.xml.XMLLayoutTest.<strong class="jxr_keyword">class</strong>); +<a name="46" href="#46">46</a> s.addTestSuite(org.apache.log4j.HTMLLayoutTest.<strong class="jxr_keyword">class</strong>); +<a name="47" href="#47">47</a> s.addTestSuite(org.apache.log4j.PatternLayoutTest.<strong class="jxr_keyword">class</strong>); +<a name="48" href="#48">48</a> s.addTestSuite(org.apache.log4j.spi.LoggingEventTest.<strong class="jxr_keyword">class</strong>); +<a name="49" href="#49">49</a> s.addTestSuite(org.apache.log4j.spi.ThrowableInformationTest.<strong class="jxr_keyword">class</strong>); +<a name="50" href="#50">50</a> s.addTestSuite(org.apache.log4j.spi.LocationInfoTest.<strong class="jxr_keyword">class</strong>); +<a name="51" href="#51">51</a> s.addTestSuite(org.apache.log4j.PropertyConfiguratorTest.<strong class="jxr_keyword">class</strong>); +<a name="52" href="#52">52</a> s.addTestSuite(org.apache.log4j.net.SMTPAppenderTest.<strong class="jxr_keyword">class</strong>); +<a name="53" href="#53">53</a> s.addTestSuite(org.apache.log4j.net.TelnetAppenderTest.<strong class="jxr_keyword">class</strong>); +<a name="54" href="#54">54</a> s.addTestSuite(org.apache.log4j.DefaultThrowableRendererTest.<strong class="jxr_keyword">class</strong>); +<a name="55" href="#55">55</a> s.addTestSuite(org.apache.log4j.EnhancedThrowableRendererTest.<strong class="jxr_keyword">class</strong>); +<a name="56" href="#56">56</a> s.addTestSuite(org.apache.log4j.TestLogXF.<strong class="jxr_keyword">class</strong>); +<a name="57" href="#57">57</a> s.addTestSuite(org.apache.log4j.TestLogMF.<strong class="jxr_keyword">class</strong>); +<a name="58" href="#58">58</a> s.addTestSuite(org.apache.log4j.TestLogSF.<strong class="jxr_keyword">class</strong>); +<a name="59" href="#59">59</a> s.addTestSuite(org.apache.log4j.pattern.CachedDateFormatTest.<strong class="jxr_keyword">class</strong>); +<a name="60" href="#60">60</a> s.addTestSuite(org.apache.log4j.pattern.FormattingInfoTest.<strong class="jxr_keyword">class</strong>); +<a name="61" href="#61">61</a> s.addTestSuite(org.apache.log4j.pattern.NameAbbreviatorTest.<strong class="jxr_keyword">class</strong>); +<a name="62" href="#62">62</a> s.addTestSuite(org.apache.log4j.pattern.PatternParserTest.<strong class="jxr_keyword">class</strong>); +<a name="63" href="#63">63</a> <strong class="jxr_keyword">return</strong> s; +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/DRFATestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/DRFATestCase.html new file mode 100644 index 00000000000..4f7fe32fc1e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/DRFATestCase.html @@ -0,0 +1,526 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DRFATestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.FileOutputStream; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.FileInputStream; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Calendar; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> Exhaustive test of the DailyRollingFileAppender compute algorithm.</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @author Curt Arnold</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/DRFATestCase.html">DRFATestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * Create new test.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * @param name test name.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/DRFATestCase.html">DRFATestCase</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="44" href="#44">44</a> <strong class="jxr_keyword">super</strong>(name); +<a name="45" href="#45">45</a> } +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * Reset configuration after every test.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="51" href="#51">51</a> LogManager.resetConfiguration(); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * Test prediction of check period.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">void</strong> testComputeCheckPeriod() { +<a name="59" href="#59">59</a> DailyRollingFileAppender drfa = <strong class="jxr_keyword">new</strong> DailyRollingFileAppender(); +<a name="60" href="#60">60</a> drfa.setName(<span class="jxr_string">"testComputeCheckPeriod"</span>); +<a name="61" href="#61">61</a> drfa.setDatePattern(<span class="jxr_string">"yyyy-MM-dd.'log'"</span>); +<a name="62" href="#62">62</a> drfa.activateOptions(); +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> drfa.computeCheckPeriod(); +<a name="65" href="#65">65</a> assertEquals(drfa.computeCheckPeriod(), +<a name="66" href="#66">66</a> DailyRollingFileAppender.TOP_OF_DAY); +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> drfa.setDatePattern(<span class="jxr_string">"yyyy-MM-dd mm.'log'"</span>); +<a name="69" href="#69">69</a> assertEquals(drfa.computeCheckPeriod(), +<a name="70" href="#70">70</a> DailyRollingFileAppender.TOP_OF_MINUTE); +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> drfa.setDatePattern(<span class="jxr_string">"yyyy-MM-dd a.'log'"</span>); +<a name="73" href="#73">73</a> assertEquals(drfa.computeCheckPeriod(), +<a name="74" href="#74">74</a> DailyRollingFileAppender.HALF_DAY); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> drfa.setDatePattern(<span class="jxr_string">"yyyy-MM-dd HH.'log'"</span>); +<a name="77" href="#77">77</a> assertEquals(drfa.computeCheckPeriod(), +<a name="78" href="#78">78</a> DailyRollingFileAppender.TOP_OF_HOUR); +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> drfa.setDatePattern(<span class="jxr_string">"yyyy-MM.'log'"</span>); +<a name="81" href="#81">81</a> assertEquals(drfa.computeCheckPeriod(), +<a name="82" href="#82">82</a> DailyRollingFileAppender.TOP_OF_MONTH); +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> drfa.setDatePattern(<span class="jxr_string">"'log'HH'log'"</span>); +<a name="85" href="#85">85</a> assertEquals(drfa.computeCheckPeriod(), +<a name="86" href="#86">86</a> DailyRollingFileAppender.TOP_OF_HOUR); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment">/**</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * Test of RollingCalendar.</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> */</em> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">void</strong> testRC1() { +<a name="95" href="#95">95</a> RollingCalendar rc = <strong class="jxr_keyword">new</strong> RollingCalendar(); +<a name="96" href="#96">96</a> rc.setType(DailyRollingFileAppender.TOP_OF_DAY); +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> Calendar c = Calendar.getInstance(); +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em class="jxr_comment">// jan, mar, may, july, aug, oct, dec have 31 days</em> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">int</strong> [] M31 = {0,2,4,6,7,9,11}; +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; M31.length; i ++) { +<a name="104" href="#104">104</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> d = 1; d &lt;=31; d++) { +<a name="105" href="#105">105</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> h = 0; h &lt; 23; h++) { +<a name="106" href="#106">106</a> c.clear(); +<a name="107" href="#107">107</a> c.set(Calendar.YEAR, 20); +<a name="108" href="#108">108</a> c.set(Calendar.MONTH, Calendar.JANUARY + M31[i]); +<a name="109" href="#109">109</a> c.set(Calendar.DAY_OF_MONTH, d); +<a name="110" href="#110">110</a> c.set(Calendar.HOUR_OF_DAY, h); +<a name="111" href="#111">111</a> c.set(Calendar.MINUTE, 10); +<a name="112" href="#112">112</a> c.set(Calendar.SECOND, 10); +<a name="113" href="#113">113</a> c.set(Calendar.MILLISECOND, 88); +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> c.setTime(rc.getNextCheckDate(c.getTime())); +<a name="116" href="#116">116</a> <strong class="jxr_keyword">if</strong>(d == 31) { +<a name="117" href="#117">117</a> assertEquals(c.get(Calendar.MONTH),(Calendar.JANUARY+M31[i]+1)%12); +<a name="118" href="#118">118</a> assertEquals(c.get(Calendar.DAY_OF_MONTH), 1); +<a name="119" href="#119">119</a> } <strong class="jxr_keyword">else</strong> { +<a name="120" href="#120">120</a> assertEquals(c.get(Calendar.MONTH), Calendar.JANUARY+M31[i]); +<a name="121" href="#121">121</a> assertEquals(c.get(Calendar.DAY_OF_MONTH), d+1); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> assertEquals(c.get(Calendar.HOUR_OF_DAY), 0); +<a name="124" href="#124">124</a> assertEquals(c.get(Calendar.MINUTE), 0); +<a name="125" href="#125">125</a> assertEquals(c.get(Calendar.SECOND), 0); +<a name="126" href="#126">126</a> assertEquals(c.get(Calendar.MILLISECOND), 0); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">/**</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> * RollingCalendar test.</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> */</em> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">public</strong> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">void</strong> testRC2() { +<a name="137" href="#137">137</a> RollingCalendar rc = <strong class="jxr_keyword">new</strong> RollingCalendar(); +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> rc.setType(DailyRollingFileAppender.TOP_OF_HOUR); +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> Calendar c = Calendar.getInstance(); +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <em class="jxr_comment">// jan, mar, may, july, aug, oct, dec have 31 days</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">int</strong> [] M31 = {0,2,4,6,7,9,11}; +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; M31.length; i ++) { +<a name="147" href="#147">147</a> System.out.println(<span class="jxr_string">"Month = "</span>+(M31[i]+1)); +<a name="148" href="#148">148</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> d = 1; d &lt;= 31; d++) { +<a name="149" href="#149">149</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> h = 0; h &lt; 23; h++) { +<a name="150" href="#150">150</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> m = 0; m &lt;= 59; m++) { +<a name="151" href="#151">151</a> c.clear(); +<a name="152" href="#152">152</a> c.set(Calendar.YEAR, 20); +<a name="153" href="#153">153</a> c.set(Calendar.MONTH, Calendar.JANUARY + M31[i]); +<a name="154" href="#154">154</a> c.set(Calendar.DAY_OF_MONTH, d); +<a name="155" href="#155">155</a> c.set(Calendar.HOUR_OF_DAY, h); +<a name="156" href="#156">156</a> c.set(Calendar.MINUTE, m); +<a name="157" href="#157">157</a> c.set(Calendar.SECOND, 12); +<a name="158" href="#158">158</a> c.set(Calendar.MILLISECOND, 88); +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <strong class="jxr_keyword">boolean</strong> dltState0 = c.getTimeZone().inDaylightTime(c.getTime()); +<a name="161" href="#161">161</a> c.setTime(rc.getNextCheckDate(c.getTime())); +<a name="162" href="#162">162</a> <strong class="jxr_keyword">boolean</strong> dltState1 = c.getTimeZone().inDaylightTime(c.getTime()); +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> assertEquals(c.get(Calendar.MILLISECOND), 0); +<a name="165" href="#165">165</a> assertEquals(c.get(Calendar.SECOND), 0); +<a name="166" href="#166">166</a> assertEquals(c.get(Calendar.MINUTE), 0); +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">if</strong>(dltState0 == dltState1) { +<a name="169" href="#169">169</a> assertEquals(c.get(Calendar.HOUR_OF_DAY), (h+1)%24); +<a name="170" href="#170">170</a> } <strong class="jxr_keyword">else</strong> { +<a name="171" href="#171">171</a> <em class="jxr_comment">// returning to standard time</em> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">if</strong>(dltState0) { +<a name="173" href="#173">173</a> assertEquals(c.get(Calendar.HOUR_OF_DAY), h); +<a name="174" href="#174">174</a> } <strong class="jxr_keyword">else</strong> { <em class="jxr_comment">// switching to day light saving time</em> +<a name="175" href="#175">175</a> <em class="jxr_comment">//System.err.println("m="+m+", h="+h+", d="+d+", i="+i);</em> +<a name="176" href="#176">176</a> <em class="jxr_comment">//if(h==2) {</em> +<a name="177" href="#177">177</a> <em class="jxr_comment">// System.err.println(c);</em> +<a name="178" href="#178">178</a> <em class="jxr_comment">//}</em> +<a name="179" href="#179">179</a> <em class="jxr_comment">//assertEquals(c.get(Calendar.HOUR_OF_DAY), (h+2)%24);</em> +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">if</strong>(h == 23) { +<a name="184" href="#184">184</a> assertEquals(c.get(Calendar.DAY_OF_MONTH), (d+1)%32); +<a name="185" href="#185">185</a> <strong class="jxr_keyword">if</strong>(d == 31) { +<a name="186" href="#186">186</a> assertEquals(c.get(Calendar.MONTH), +<a name="187" href="#187">187</a> (Calendar.JANUARY+M31[i]+1)%12); +<a name="188" href="#188">188</a> } <strong class="jxr_keyword">else</strong> { +<a name="189" href="#189">189</a> assertEquals(c.get(Calendar.MONTH), +<a name="190" href="#190">190</a> Calendar.JANUARY+M31[i]); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> } <strong class="jxr_keyword">else</strong> { +<a name="193" href="#193">193</a> assertEquals(c.get(Calendar.DAY_OF_MONTH), d); +<a name="194" href="#194">194</a> assertEquals(c.get(Calendar.MONTH), Calendar.JANUARY+M31[i]); +<a name="195" href="#195">195</a> } +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> } +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">/**</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> * RollingCalendar test.</em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> */</em> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">public</strong> +<a name="206" href="#206">206</a> <strong class="jxr_keyword">void</strong> testRC3() { +<a name="207" href="#207">207</a> RollingCalendar rc = <strong class="jxr_keyword">new</strong> RollingCalendar(); +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> rc.setType(DailyRollingFileAppender.TOP_OF_MINUTE); +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">int</strong>[] S = {0, 1, 5, 10, 21, 30, 59}; +<a name="212" href="#212">212</a> <strong class="jxr_keyword">int</strong>[] M = {0, 1, 5, 10, 21, 30, 59}; +<a name="213" href="#213">213</a> Calendar c = Calendar.getInstance(); +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_comment">// jan, mar, may, july, aug, oct, dec have 31 days</em> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">int</strong> [] M31 = {2,9,0,4,6,7,11}; +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; M31.length; i ++) { +<a name="219" href="#219">219</a> System.out.println(<span class="jxr_string">"Month = "</span>+(M31[i]+1)); +<a name="220" href="#220">220</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> d = 1; d &lt;= 31; d++) { +<a name="221" href="#221">221</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> h = 0; h &lt; 23; h++) { +<a name="222" href="#222">222</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> m = 0; m &lt; M.length; m++) { +<a name="223" href="#223">223</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> s = 0; s &lt; S.length; s++) { +<a name="224" href="#224">224</a> c.clear(); +<a name="225" href="#225">225</a> c.set(Calendar.YEAR, 20); +<a name="226" href="#226">226</a> c.set(Calendar.MONTH, Calendar.JANUARY + M31[i]); +<a name="227" href="#227">227</a> c.set(Calendar.DAY_OF_MONTH, d); +<a name="228" href="#228">228</a> c.set(Calendar.HOUR_OF_DAY, h); +<a name="229" href="#229">229</a> c.set(Calendar.MINUTE, M[m]); +<a name="230" href="#230">230</a> c.set(Calendar.SECOND, S[s]); +<a name="231" href="#231">231</a> c.set(Calendar.MILLISECOND, 88); +<a name="232" href="#232">232</a> c.add(Calendar.MILLISECOND, 1); +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <strong class="jxr_keyword">boolean</strong> dltState0 = c.getTimeZone().inDaylightTime(c.getTime()); +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> c.setTime(rc.getNextCheckDate(c.getTime())); +<a name="237" href="#237">237</a> c.add(Calendar.MILLISECOND, 0); +<a name="238" href="#238">238</a> <strong class="jxr_keyword">boolean</strong> dltState1 = c.getTimeZone().inDaylightTime(c.getTime()); +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> assertEquals(c.get(Calendar.MILLISECOND), 0); +<a name="241" href="#241">241</a> assertEquals(c.get(Calendar.SECOND), 0); +<a name="242" href="#242">242</a> assertEquals(c.get(Calendar.MINUTE), (M[m]+1)%60); +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> <strong class="jxr_keyword">if</strong>(M[m] == 59) { +<a name="245" href="#245">245</a> <strong class="jxr_keyword">if</strong>(dltState0 == dltState1) { +<a name="246" href="#246">246</a> assertEquals(c.get(Calendar.HOUR_OF_DAY), (h+1)%24); +<a name="247" href="#247">247</a> } +<a name="248" href="#248">248</a> <strong class="jxr_keyword">if</strong>(h == 23) { +<a name="249" href="#249">249</a> assertEquals(c.get(Calendar.DAY_OF_MONTH), (d+1)%32); +<a name="250" href="#250">250</a> <strong class="jxr_keyword">if</strong>(d == 31) { +<a name="251" href="#251">251</a> assertEquals(c.get(Calendar.MONTH), +<a name="252" href="#252">252</a> (Calendar.JANUARY+M31[i]+1)%12); +<a name="253" href="#253">253</a> } <strong class="jxr_keyword">else</strong> { +<a name="254" href="#254">254</a> assertEquals(c.get(Calendar.MONTH), +<a name="255" href="#255">255</a> Calendar.JANUARY+M31[i]); +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> } <strong class="jxr_keyword">else</strong> { +<a name="258" href="#258">258</a> assertEquals(c.get(Calendar.DAY_OF_MONTH), d); +<a name="259" href="#259">259</a> } +<a name="260" href="#260">260</a> } <strong class="jxr_keyword">else</strong> { +<a name="261" href="#261">261</a> <em class="jxr_comment">// allow discrepancies only if we are switching from std to dls time</em> +<a name="262" href="#262">262</a> <strong class="jxr_keyword">if</strong>(c.get(Calendar.HOUR_OF_DAY) != h) { +<a name="263" href="#263">263</a> c.add(Calendar.HOUR_OF_DAY, +1); +<a name="264" href="#264">264</a> <strong class="jxr_keyword">boolean</strong> dltState2 = c.getTimeZone().inDaylightTime(c.getTime()); +<a name="265" href="#265">265</a> <strong class="jxr_keyword">if</strong>(dltState1 == dltState2) { +<a name="266" href="#266">266</a> fail(<span class="jxr_string">"No switch"</span>); +<a name="267" href="#267">267</a> } +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> assertEquals(c.get(Calendar.DAY_OF_MONTH), d); +<a name="270" href="#270">270</a> assertEquals(c.get(Calendar.MONTH), Calendar.JANUARY+M31[i]); +<a name="271" href="#271">271</a> } +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> } +<a name="274" href="#274">274</a> } +<a name="275" href="#275">275</a> } +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> } +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> +<a name="280" href="#280">280</a> <em class="jxr_javadoccomment">/**</em> +<a name="281" href="#281">281</a> <em class="jxr_javadoccomment"> * Common test code for 3 parameter constructor.</em> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment"> *</em> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> */</em> +<a name="285" href="#285">285</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test3Param(<strong class="jxr_keyword">final</strong> String datePattern, +<a name="286" href="#286">286</a> <strong class="jxr_keyword">final</strong> String filename) <strong class="jxr_keyword">throws</strong> IOException { +<a name="287" href="#287">287</a> Layout layout = <strong class="jxr_keyword">new</strong> SimpleLayout(); +<a name="288" href="#288">288</a> DailyRollingFileAppender appender = +<a name="289" href="#289">289</a> <strong class="jxr_keyword">new</strong> DailyRollingFileAppender(layout, filename, datePattern); +<a name="290" href="#290">290</a> assertEquals(datePattern, appender.getDatePattern()); +<a name="291" href="#291">291</a> Logger root = Logger.getRootLogger(); +<a name="292" href="#292">292</a> root.addAppender(appender); +<a name="293" href="#293">293</a> root.info(<span class="jxr_string">"Hello, World"</span>); +<a name="294" href="#294">294</a> assertTrue(<strong class="jxr_keyword">new</strong> File(filename).exists()); +<a name="295" href="#295">295</a> } +<a name="296" href="#296">296</a> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment">/**</em> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment"> * Creates an appender with an unrecognized top-of-year pattern.</em> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment"> *</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> */</em> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTopOfYear() <strong class="jxr_keyword">throws</strong> IOException { +<a name="303" href="#303">303</a> <strong class="jxr_keyword">try</strong> { +<a name="304" href="#304">304</a> test3Param(<span class="jxr_string">"'.'yyyy"</span>, <span class="jxr_string">"output/drfa_topOfYear.log"</span>); +<a name="305" href="#305">305</a> fail(<span class="jxr_string">"Expected illegal state exception."</span>); +<a name="306" href="#306">306</a> } <strong class="jxr_keyword">catch</strong>(IllegalStateException ex) { +<a name="307" href="#307">307</a> assertNotNull(ex); +<a name="308" href="#308">308</a> } +<a name="309" href="#309">309</a> } +<a name="310" href="#310">310</a> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment">/**</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> * Creates an appender with a top-of-month pattern.</em> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment"> *</em> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> */</em> +<a name="316" href="#316">316</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTopOfMonth() <strong class="jxr_keyword">throws</strong> IOException { +<a name="317" href="#317">317</a> test3Param(<span class="jxr_string">"'.'yyyy-MM"</span>, <span class="jxr_string">"output/drfa_topOfMonth.log"</span>); +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment">/**</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> * Creates an appender with a top-of-week pattern.</em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> *</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> */</em> +<a name="326" href="#326">326</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTopOfWeek() <strong class="jxr_keyword">throws</strong> IOException { +<a name="327" href="#327">327</a> test3Param(<span class="jxr_string">"'.'yyyy-w"</span>, <span class="jxr_string">"output/drfa_topOfWeek.log"</span>); +<a name="328" href="#328">328</a> } +<a name="329" href="#329">329</a> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment">/**</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> * Creates an appender with a top-of-day pattern.</em> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> *</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> */</em> +<a name="335" href="#335">335</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTopOfDay() <strong class="jxr_keyword">throws</strong> IOException { +<a name="336" href="#336">336</a> test3Param(<span class="jxr_string">"'.'yyyy-MM-dd"</span>, <span class="jxr_string">"output/drfa_topOfDay.log"</span>); +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment">/**</em> +<a name="341" href="#341">341</a> <em class="jxr_javadoccomment"> * Creates an appender with a half day pattern.</em> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> *</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment"> */</em> +<a name="345" href="#345">345</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testHalfDay() <strong class="jxr_keyword">throws</strong> IOException { +<a name="346" href="#346">346</a> test3Param(<span class="jxr_string">"'.'yyyy-MM-dd-a"</span>, <span class="jxr_string">"output/drfa_halfDay.log"</span>); +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> +<a name="349" href="#349">349</a> <em class="jxr_javadoccomment">/**</em> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment"> * Creates an appender with a top-of-hour pattern.</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> *</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> */</em> +<a name="354" href="#354">354</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTopOfHour() <strong class="jxr_keyword">throws</strong> IOException { +<a name="355" href="#355">355</a> test3Param(<span class="jxr_string">"'.'yyyy-MM-dd-HH"</span>, <span class="jxr_string">"output/drfa_topOfHour.log"</span>); +<a name="356" href="#356">356</a> } +<a name="357" href="#357">357</a> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment">/**</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> * Creates an appender with a top-of-day pattern.</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> *</em> +<a name="361" href="#361">361</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="362" href="#362">362</a> <em class="jxr_javadoccomment"> */</em> +<a name="363" href="#363">363</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTopOfMinute() <strong class="jxr_keyword">throws</strong> IOException { +<a name="364" href="#364">364</a> test3Param(<span class="jxr_string">"'.'yyyy-MM-dd-HH-mm"</span>, <span class="jxr_string">"output/drfa_topOfMinute.log"</span>); +<a name="365" href="#365">365</a> } +<a name="366" href="#366">366</a> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">/**</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> * Attempts to rollOver with no date pattern set.</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> *</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> */</em> +<a name="372" href="#372">372</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testRolloverNoPattern() <strong class="jxr_keyword">throws</strong> IOException { +<a name="373" href="#373">373</a> Layout layout = <strong class="jxr_keyword">new</strong> SimpleLayout(); +<a name="374" href="#374">374</a> DailyRollingFileAppender appender = +<a name="375" href="#375">375</a> <strong class="jxr_keyword">new</strong> DailyRollingFileAppender(layout, <span class="jxr_string">"output/drfa_nopattern.log"</span>, <strong class="jxr_keyword">null</strong>); +<a name="376" href="#376">376</a> +<a name="377" href="#377">377</a> <a href="../../../org/apache/log4j/VectorErrorHandler.html">VectorErrorHandler</a> errorHandler = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/VectorErrorHandler.html">VectorErrorHandler</a>(); +<a name="378" href="#378">378</a> appender.setErrorHandler(errorHandler); +<a name="379" href="#379">379</a> appender.rollOver(); +<a name="380" href="#380">380</a> assertEquals(1, errorHandler.size()); +<a name="381" href="#381">381</a> assertEquals(<span class="jxr_string">"Missing DatePattern option in rollOver()."</span>, +<a name="382" href="#382">382</a> errorHandler.getMessage(0)); +<a name="383" href="#383">383</a> } +<a name="384" href="#384">384</a> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment">/**</em> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> * Tests rollOver with a minute periodicity.</em> +<a name="387" href="#387">387</a> <em class="jxr_javadoccomment"> *</em> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment"> * @throws IOException</em> +<a name="389" href="#389">389</a> <em class="jxr_javadoccomment"> * @throws InterruptedException</em> +<a name="390" href="#390">390</a> <em class="jxr_javadoccomment"> */</em> +<a name="391" href="#391">391</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMinuteRollover() <strong class="jxr_keyword">throws</strong> IOException, InterruptedException { +<a name="392" href="#392">392</a> Layout layout = <strong class="jxr_keyword">new</strong> SimpleLayout(); +<a name="393" href="#393">393</a> String filename = <span class="jxr_string">"output/drfa_minuteRollover.log"</span>; +<a name="394" href="#394">394</a> String pattern = <span class="jxr_string">"'.'yyyy-MM-dd-HH-mm"</span>; +<a name="395" href="#395">395</a> +<a name="396" href="#396">396</a> DailyRollingFileAppender appender = +<a name="397" href="#397">397</a> <strong class="jxr_keyword">new</strong> DailyRollingFileAppender(layout, +<a name="398" href="#398">398</a> filename, +<a name="399" href="#399">399</a> pattern); +<a name="400" href="#400">400</a> Logger root = Logger.getRootLogger(); +<a name="401" href="#401">401</a> root.addAppender(appender); +<a name="402" href="#402">402</a> File firstFile = +<a name="403" href="#403">403</a> <strong class="jxr_keyword">new</strong> File(filename + <strong class="jxr_keyword">new</strong> SimpleDateFormat(pattern).format(<strong class="jxr_keyword">new</strong> Date())); +<a name="404" href="#404">404</a> root.info(<span class="jxr_string">"Hello, World"</span>); +<a name="405" href="#405">405</a> <em class="jxr_comment">//</em> +<a name="406" href="#406">406</a> <em class="jxr_comment">// create a file by that name so it has to be deleted</em> +<a name="407" href="#407">407</a> <em class="jxr_comment">// on rollover</em> +<a name="408" href="#408">408</a> firstFile.createNewFile(); +<a name="409" href="#409">409</a> assertTrue(firstFile.exists()); +<a name="410" href="#410">410</a> assertEquals(0, firstFile.length()); +<a name="411" href="#411">411</a> +<a name="412" href="#412">412</a> Calendar cal = Calendar.getInstance(); +<a name="413" href="#413">413</a> <strong class="jxr_keyword">long</strong> now = cal.getTime().getTime(); +<a name="414" href="#414">414</a> cal.set(Calendar.SECOND, 3); +<a name="415" href="#415">415</a> cal.set(Calendar.MILLISECOND, 0); +<a name="416" href="#416">416</a> cal.add(Calendar.MINUTE, 1); +<a name="417" href="#417">417</a> <strong class="jxr_keyword">long</strong> until = cal.getTime().getTime(); +<a name="418" href="#418">418</a> Thread.sleep(until - now); +<a name="419" href="#419">419</a> root.info(<span class="jxr_string">"Hello, World"</span>); +<a name="420" href="#420">420</a> assertTrue(firstFile.exists()); +<a name="421" href="#421">421</a> assertTrue(firstFile.length() &gt; 0); +<a name="422" href="#422">422</a> +<a name="423" href="#423">423</a> } +<a name="424" href="#424">424</a> +<a name="425" href="#425">425</a> <em class="jxr_javadoccomment">/**</em> +<a name="426" href="#426">426</a> <em class="jxr_javadoccomment"> * Naive append method to combine rollover fragments.</em> +<a name="427" href="#427">427</a> <em class="jxr_javadoccomment"> * @param combined stream to which source is appended.</em> +<a name="428" href="#428">428</a> <em class="jxr_javadoccomment"> * @param source stream containing bytes to append.</em> +<a name="429" href="#429">429</a> <em class="jxr_javadoccomment"> * @param buf byte array to use in transfer.</em> +<a name="430" href="#430">430</a> <em class="jxr_javadoccomment"> * @throws IOException if io error during operation.</em> +<a name="431" href="#431">431</a> <em class="jxr_javadoccomment"> */</em> +<a name="432" href="#432">432</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> append(<strong class="jxr_keyword">final</strong> FileOutputStream combined, +<a name="433" href="#433">433</a> <strong class="jxr_keyword">final</strong> FileInputStream source, +<a name="434" href="#434">434</a> <strong class="jxr_keyword">final</strong> byte[] buf) <strong class="jxr_keyword">throws</strong> IOException { +<a name="435" href="#435">435</a> <strong class="jxr_keyword">int</strong> count1 = source.read(buf); +<a name="436" href="#436">436</a> <strong class="jxr_keyword">if</strong> (count1 &gt; 0) { +<a name="437" href="#437">437</a> combined.write(buf, 0, count1); +<a name="438" href="#438">438</a> } +<a name="439" href="#439">439</a> source.close(); +<a name="440" href="#440">440</a> } +<a name="441" href="#441">441</a> +<a name="442" href="#442">442</a> <em class="jxr_javadoccomment">/**</em> +<a name="443" href="#443">443</a> <em class="jxr_javadoccomment"> * Tests rollOver when log file is unabled to be renamed.</em> +<a name="444" href="#444">444</a> <em class="jxr_javadoccomment"> * See bug 43374.</em> +<a name="445" href="#445">445</a> <em class="jxr_javadoccomment"> *</em> +<a name="446" href="#446">446</a> <em class="jxr_javadoccomment"> * @throws IOException if io error.</em> +<a name="447" href="#447">447</a> <em class="jxr_javadoccomment"> * @throws InterruptedException if test interrupted while waiting for the start of the next minute.</em> +<a name="448" href="#448">448</a> <em class="jxr_javadoccomment"> */</em> +<a name="449" href="#449">449</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBlockedRollover() <strong class="jxr_keyword">throws</strong> IOException, InterruptedException { +<a name="450" href="#450">450</a> Layout layout = <strong class="jxr_keyword">new</strong> SimpleLayout(); +<a name="451" href="#451">451</a> String filename = <span class="jxr_string">"output/drfa_blockedRollover.log"</span>; +<a name="452" href="#452">452</a> String pattern = <span class="jxr_string">"'.'yyyy-MM-dd-HH-mm"</span>; +<a name="453" href="#453">453</a> +<a name="454" href="#454">454</a> +<a name="455" href="#455">455</a> Date start = <strong class="jxr_keyword">new</strong> Date(); +<a name="456" href="#456">456</a> DailyRollingFileAppender appender = +<a name="457" href="#457">457</a> <strong class="jxr_keyword">new</strong> DailyRollingFileAppender(layout, +<a name="458" href="#458">458</a> filename, +<a name="459" href="#459">459</a> pattern); +<a name="460" href="#460">460</a> appender.setAppend(false); +<a name="461" href="#461">461</a> Logger root = Logger.getRootLogger(); +<a name="462" href="#462">462</a> root.addAppender(appender); +<a name="463" href="#463">463</a> <em class="jxr_comment">//</em> +<a name="464" href="#464">464</a> <em class="jxr_comment">// open next two anticipated rollover file names</em> +<a name="465" href="#465">465</a> <em class="jxr_comment">//</em> +<a name="466" href="#466">466</a> File block1 = <strong class="jxr_keyword">new</strong> File(filename + <strong class="jxr_keyword">new</strong> SimpleDateFormat(pattern).format(start)); +<a name="467" href="#467">467</a> File block2 = <strong class="jxr_keyword">new</strong> File(filename + <strong class="jxr_keyword">new</strong> SimpleDateFormat(pattern).format( +<a name="468" href="#468">468</a> <strong class="jxr_keyword">new</strong> Date(start.getTime() + 60000))); +<a name="469" href="#469">469</a> FileOutputStream os1 = <strong class="jxr_keyword">new</strong> FileOutputStream(block1); +<a name="470" href="#470">470</a> FileOutputStream os2 = <strong class="jxr_keyword">new</strong> FileOutputStream(block2); +<a name="471" href="#471">471</a> root.info(<span class="jxr_string">"Prior to rollover"</span>); +<a name="472" href="#472">472</a> <em class="jxr_comment">//</em> +<a name="473" href="#473">473</a> <em class="jxr_comment">// sleep until three seconds into next minute</em> +<a name="474" href="#474">474</a> <em class="jxr_comment">//</em> +<a name="475" href="#475">475</a> Thread.sleep(63000 - (start.getTime() % 60000)); +<a name="476" href="#476">476</a> <em class="jxr_comment">//</em> +<a name="477" href="#477">477</a> <em class="jxr_comment">// should trigger failed rollover</em> +<a name="478" href="#478">478</a> <em class="jxr_comment">//</em> +<a name="479" href="#479">479</a> root.info(<span class="jxr_string">"Rollover attempt while blocked"</span>); +<a name="480" href="#480">480</a> os1.close(); +<a name="481" href="#481">481</a> os2.close(); +<a name="482" href="#482">482</a> root.info(<span class="jxr_string">"Message after block removed"</span>); +<a name="483" href="#483">483</a> appender.close(); +<a name="484" href="#484">484</a> <em class="jxr_comment">//</em> +<a name="485" href="#485">485</a> <em class="jxr_comment">// combine base file and potential rollovers</em> +<a name="486" href="#486">486</a> <em class="jxr_comment">// since rollover may or may not have been blocked</em> +<a name="487" href="#487">487</a> <em class="jxr_comment">// depending on platform.</em> +<a name="488" href="#488">488</a> <em class="jxr_comment">//</em> +<a name="489" href="#489">489</a> String combinedFilename = <span class="jxr_string">"output/drfa_blockedRollover.combined"</span>; +<a name="490" href="#490">490</a> FileOutputStream combined = <strong class="jxr_keyword">new</strong> FileOutputStream(combinedFilename); +<a name="491" href="#491">491</a> byte[] buf = <strong class="jxr_keyword">new</strong> byte[500]; +<a name="492" href="#492">492</a> append(combined, <strong class="jxr_keyword">new</strong> FileInputStream(block1), buf); +<a name="493" href="#493">493</a> append(combined, <strong class="jxr_keyword">new</strong> FileInputStream(block2), buf); +<a name="494" href="#494">494</a> append(combined, <strong class="jxr_keyword">new</strong> FileInputStream(filename), buf); +<a name="495" href="#495">495</a> combined.close(); +<a name="496" href="#496">496</a> assertTrue(Compare.compare(combinedFilename, +<a name="497" href="#497">497</a> <span class="jxr_string">"witness/drfa_blockedRollover.log"</span>)); +<a name="498" href="#498">498</a> } +<a name="499" href="#499">499</a> +<a name="500" href="#500">500</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Check that the computed rollover period for a pattern containing a week as the finest unit is set to be</em> +<a name="501" href="#501">501</a> <em class="jxr_javadoccomment"> * a week. Due to a locale mismatch this was incorrect in non-English locales. See bug 40888.</em> +<a name="502" href="#502">502</a> <em class="jxr_javadoccomment"> *</em> +<a name="503" href="#503">503</a> <em class="jxr_javadoccomment"> */</em> +<a name="504" href="#504">504</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWeeklyRollover() { +<a name="505" href="#505">505</a> DailyRollingFileAppender drfa = <strong class="jxr_keyword">new</strong> DailyRollingFileAppender(); +<a name="506" href="#506">506</a> drfa.setDatePattern(<span class="jxr_string">"'.'yyyy-ww"</span>); +<a name="507" href="#507">507</a> <strong class="jxr_keyword">int</strong> checkPeriod = drfa.computeCheckPeriod(); +<a name="508" href="#508">508</a> assertEquals(DailyRollingFileAppender.TOP_OF_WEEK, checkPeriod); +<a name="509" href="#509">509</a> } +<a name="510" href="#510">510</a> +<a name="511" href="#511">511</a> +<a name="512" href="#512">512</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/DefaultThrowableRendererTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/DefaultThrowableRendererTest.html new file mode 100644 index 00000000000..73acca18dfc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/DefaultThrowableRendererTest.html @@ -0,0 +1,51 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DefaultThrowableRendererTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRenderer; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/DefaultThrowableRendererTest.html">DefaultThrowableRendererTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="23" href="#23">23</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/DefaultThrowableRendererTest.html">DefaultThrowableRendererTest</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="24" href="#24">24</a> <strong class="jxr_keyword">super</strong>(name); +<a name="25" href="#25">25</a> } +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultRender() { +<a name="28" href="#28">28</a> ThrowableRenderer r = <strong class="jxr_keyword">new</strong> DefaultThrowableRenderer(); +<a name="29" href="#29">29</a> Exception ex = <strong class="jxr_keyword">new</strong> Exception(); +<a name="30" href="#30">30</a> String[] strRep = r.doRender(ex); +<a name="31" href="#31">31</a> assertNotNull(strRep); +<a name="32" href="#32">32</a> assertTrue(strRep.length &gt; 0); +<a name="33" href="#33">33</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; strRep.length; i++) { +<a name="34" href="#34">34</a> assertNotNull(strRep[i]); +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedMyPatternLayout.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedMyPatternLayout.html new file mode 100644 index 00000000000..8301b18a9d1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedMyPatternLayout.html @@ -0,0 +1,67 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>EnhancedMyPatternLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.PatternParser; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> Example showing how to extend EnhancedPatternLayout to recognize additional</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> conversion characters. </em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> </em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> &lt;p&gt;In this case MyPatternLayout recognizes %# conversion pattern. It</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> outputs the value of an internal counter which is also incremented</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> at each call.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> &lt;p&gt;See &lt;a href=doc-files/MyPatternLayout.java&gt;&lt;b&gt;source&lt;/b&gt;&lt;/a&gt; code</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> for more details.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> @see MyPatternParser</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> @see org.apache.log4j.EnhancedPatternLayout</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">*/</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/EnhancedMyPatternLayout.html">EnhancedMyPatternLayout</a> <strong class="jxr_keyword">extends</strong> EnhancedPatternLayout { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> +<a name="39" href="#39">39</a> <a href="../../../org/apache/log4j/EnhancedMyPatternLayout.html">EnhancedMyPatternLayout</a>() { +<a name="40" href="#40">40</a> <strong class="jxr_keyword">this</strong>(DEFAULT_CONVERSION_PATTERN); +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> +<a name="44" href="#44">44</a> <a href="../../../org/apache/log4j/EnhancedMyPatternLayout.html">EnhancedMyPatternLayout</a>(String pattern) { +<a name="45" href="#45">45</a> <strong class="jxr_keyword">super</strong>(pattern); +<a name="46" href="#46">46</a> } +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> +<a name="49" href="#49">49</a> PatternParser createPatternParser(String pattern) { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/MyPatternParser.html">MyPatternParser</a>( +<a name="51" href="#51">51</a> pattern == <strong class="jxr_keyword">null</strong> ? DEFAULT_CONVERSION_PATTERN : pattern); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTest.html new file mode 100644 index 00000000000..a8ce7db7c77 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTest.html @@ -0,0 +1,157 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>EnhancedPatternLayoutTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Test for EnhancedPatternLayout.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTest.html">EnhancedPatternLayoutTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/LayoutTest.html">LayoutTest</a> { +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * Construct new instance of PatternLayoutTest.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> *</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @param testName test name.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTest.html">EnhancedPatternLayoutTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">super</strong>(testName, <span class="jxr_string">"text/plain"</span>, <strong class="jxr_keyword">true</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">protected</strong> Layout createLayout() { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> EnhancedPatternLayout(<span class="jxr_string">"[%t] %p %c - %m%n"</span>); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Tests format.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormat() { +<a name="48" href="#48">48</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.LayoutTest"</span>); +<a name="49" href="#49">49</a> LoggingEvent event = +<a name="50" href="#50">50</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="51" href="#51">51</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.INFO, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="52" href="#52">52</a> EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); +<a name="53" href="#53">53</a> String result = layout.format(event); +<a name="54" href="#54">54</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(100); +<a name="55" href="#55">55</a> buf.append('['); +<a name="56" href="#56">56</a> buf.append(event.getThreadName()); +<a name="57" href="#57">57</a> buf.append(<span class="jxr_string">"] "</span>); +<a name="58" href="#58">58</a> buf.append(event.getLevel().toString()); +<a name="59" href="#59">59</a> buf.append(' '); +<a name="60" href="#60">60</a> buf.append(event.getLoggerName()); +<a name="61" href="#61">61</a> buf.append(<span class="jxr_string">" - "</span>); +<a name="62" href="#62">62</a> buf.append(event.getMessage()); +<a name="63" href="#63">63</a> buf.append(System.getProperty(<span class="jxr_string">"line.separator"</span>)); +<a name="64" href="#64">64</a> assertEquals(buf.toString(), result); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment">/**</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * Tests getPatternFormat().</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> */</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetPatternFormat() { +<a name="71" href="#71">71</a> EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); +<a name="72" href="#72">72</a> assertEquals(<span class="jxr_string">"[%t] %p %c - %m%n"</span>, layout.getConversionPattern()); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">/**</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * Tests DEFAULT_CONVERSION_PATTERN constant.</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> */</em> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultConversionPattern() { +<a name="79" href="#79">79</a> assertEquals(<span class="jxr_string">"%m%n"</span>, EnhancedPatternLayout.DEFAULT_CONVERSION_PATTERN); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * Tests DEFAULT_CONVERSION_PATTERN constant.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTTCCConversionPattern() { +<a name="86" href="#86">86</a> assertEquals( +<a name="87" href="#87">87</a> <span class="jxr_string">"%r [%t] %p %c %x - %m%n"</span>, EnhancedPatternLayout.TTCC_CONVERSION_PATTERN); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment">/**</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * Tests buffer downsizing code path.</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> */</em> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormatResize() { +<a name="94" href="#94">94</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.PatternLayoutTest"</span>); +<a name="95" href="#95">95</a> NDC.clear(); +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">char</strong>[] msg = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[2000]; +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; msg.length; i++) { +<a name="100" href="#100">100</a> msg[i] = 'A'; +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> LoggingEvent event1 = +<a name="104" href="#104">104</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="105" href="#105">105</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.DEBUG, <strong class="jxr_keyword">new</strong> String(msg), <strong class="jxr_keyword">null</strong>); +<a name="106" href="#106">106</a> EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); +<a name="107" href="#107">107</a> String result = layout.format(event1); +<a name="108" href="#108">108</a> LoggingEvent event2 = +<a name="109" href="#109">109</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="110" href="#110">110</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.WARN, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="111" href="#111">111</a> result = layout.format(event2); +<a name="112" href="#112">112</a> assertEquals(<span class="jxr_string">"["</span>, result.substring(0, 1)); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> * Class to ensure that protected members are still available.</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> */</em> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTest.html">DerivedPatternLayout</a> <strong class="jxr_keyword">extends</strong> EnhancedPatternLayout { +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">/**</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> * Constructs a new instance of DerivedPatternLayout.</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTest.html">DerivedPatternLayout</a>() { +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">/**</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> * Get BUF_SIZE.</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * @return return initial buffer size in characters.</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> */</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getBufSize() { +<a name="131" href="#131">131</a> <strong class="jxr_keyword">return</strong> BUF_SIZE; +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">/**</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> * Get MAX_CAPACITY.</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> * @return maximum capacity in characters.</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> */</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getMaxCapacity() { +<a name="140" href="#140">140</a> <strong class="jxr_keyword">return</strong> MAX_CAPACITY; +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTestCase.html new file mode 100644 index 00000000000..45f68ba4335 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTestCase.html @@ -0,0 +1,603 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>EnhancedPatternLayoutTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.AbsoluteDateAndTimeFilter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.AbsoluteTimeFilter; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.ControlFilter; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Filter; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.ISO8601Filter; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.EnhancedJunitTestRunnerFilter; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.EnhancedLineNumberFilter; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.RelativeTimeFilter; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.SunReflectFilter; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Transformer; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.MDCOrderFilter; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableInformation; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> java.text.ParsePosition; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> java.io.*; +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html">EnhancedPatternLayoutTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> String TEMP = <span class="jxr_string">"output/temp"</span>; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">static</strong> String FILTERED = <span class="jxr_string">"output/filtered"</span>; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> String EXCEPTION1 = <span class="jxr_string">"java.lang.Exception: Just testing"</span>; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">static</strong> String EXCEPTION2 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*&#92;&#92;)"</span>; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">static</strong> String EXCEPTION3 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;((Native Method|Unknown Source)&#92;&#92;)"</span>; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">static</strong> String EXCEPTION4 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*Compiled Code&#92;&#92;)"</span>; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">static</strong> String PAT0 = +<a name="51" href="#51">51</a> <span class="jxr_string">"&#92;&#92;[main]&#92;&#92; (DEBUG|INFO|WARN|ERROR|FATAL) .* - Message &#92;&#92;d{1,2}"</span>; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">static</strong> String PAT1 = Filter.ISO8601_PAT + <span class="jxr_string">" "</span> + PAT0; +<a name="53" href="#53">53</a> <strong class="jxr_keyword">static</strong> String PAT2 = Filter.ABSOLUTE_DATE_AND_TIME_PAT + <span class="jxr_string">" "</span> + PAT0; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">static</strong> String PAT3 = Filter.ABSOLUTE_TIME_PAT + <span class="jxr_string">" "</span> + PAT0; +<a name="55" href="#55">55</a> <strong class="jxr_keyword">static</strong> String PAT4 = Filter.RELATIVE_TIME_PAT + <span class="jxr_string">" "</span> + PAT0; +<a name="56" href="#56">56</a> <strong class="jxr_keyword">static</strong> String PAT5 = +<a name="57" href="#57">57</a> <span class="jxr_string">"&#92;&#92;[main]&#92;&#92; (DEBUG|INFO|WARN|ERROR|FATAL) .* : Message &#92;&#92;d{1,2}"</span>; +<a name="58" href="#58">58</a> <strong class="jxr_keyword">static</strong> String PAT6 = +<a name="59" href="#59">59</a> <span class="jxr_string">"&#92;&#92;[main]&#92;&#92; (DEBUG|INFO |WARN |ERROR|FATAL) org.apache.log4j.EnhancedPatternLayoutTestCase.common&#92;&#92;(EnhancedPatternLayoutTestCase.java(:&#92;&#92;d{1,4})?&#92;&#92;): Message &#92;&#92;d{1,2}"</span>; +<a name="60" href="#60">60</a> <strong class="jxr_keyword">static</strong> String PAT11a = +<a name="61" href="#61">61</a> <span class="jxr_string">"^(DEBUG|INFO |WARN |ERROR|FATAL) &#92;&#92;[main]&#92;&#92; log4j.EnhancedPatternLayoutTest: Message &#92;&#92;d{1,2}"</span>; +<a name="62" href="#62">62</a> <strong class="jxr_keyword">static</strong> String PAT11b = +<a name="63" href="#63">63</a> <span class="jxr_string">"^(DEBUG|INFO |WARN |ERROR|FATAL) &#92;&#92;[main]&#92;&#92; root: Message &#92;&#92;d{1,2}"</span>; +<a name="64" href="#64">64</a> <strong class="jxr_keyword">static</strong> String PAT12 = +<a name="65" href="#65">65</a> <span class="jxr_string">"^&#92;&#92;[main]&#92;&#92; (DEBUG|INFO |WARN |ERROR|FATAL) "</span> +<a name="66" href="#66">66</a> + <span class="jxr_string">"org.apache.log4j.EnhancedPatternLayoutTestCase.common&#92;&#92;(EnhancedPatternLayoutTestCase.java:&#92;&#92;d{3}&#92;&#92;): "</span> +<a name="67" href="#67">67</a> + <span class="jxr_string">"Message &#92;&#92;d{1,2}"</span>; +<a name="68" href="#68">68</a> <strong class="jxr_keyword">static</strong> String PAT13 = +<a name="69" href="#69">69</a> <span class="jxr_string">"^&#92;&#92;[main]&#92;&#92; (DEBUG|INFO |WARN |ERROR|FATAL) "</span> +<a name="70" href="#70">70</a> + <span class="jxr_string">"apache.log4j.EnhancedPatternLayoutTestCase.common&#92;&#92;(EnhancedPatternLayoutTestCase.java:&#92;&#92;d{3}&#92;&#92;): "</span> +<a name="71" href="#71">71</a> + <span class="jxr_string">"Message &#92;&#92;d{1,2}"</span>; +<a name="72" href="#72">72</a> <strong class="jxr_keyword">static</strong> String PAT14 = +<a name="73" href="#73">73</a> <span class="jxr_string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL)&#92;&#92; &#92;&#92;d{1,2}&#92;&#92; *- Message &#92;&#92;d{1,2}"</span>; +<a name="74" href="#74">74</a> <strong class="jxr_keyword">static</strong> String PAT_MDC_1 = <span class="jxr_string">""</span>; +<a name="75" href="#75">75</a> Logger root; +<a name="76" href="#76">76</a> Logger logger; +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html">EnhancedPatternLayoutTestCase</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="80" href="#80">80</a> <strong class="jxr_keyword">super</strong>(name); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="84" href="#84">84</a> root = Logger.getRootLogger(); +<a name="85" href="#85">85</a> logger = Logger.getLogger(EnhancedPatternLayoutTest.<strong class="jxr_keyword">class</strong>); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="89" href="#89">89</a> root.getLoggerRepository().resetConfiguration(); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * Configures log4j from a properties file resource in class loader path.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * @param fileName resource name, only last element is significant.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * @throws IOException if resource not found or error reading resource.</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> */</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> configure(<strong class="jxr_keyword">final</strong> String fileName) <strong class="jxr_keyword">throws</strong> IOException { +<a name="98" href="#98">98</a> PropertyConfigurator.configure(fileName); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * Compares actual and expected files.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * @param actual file name for file generated by test</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> * @param expected resource name containing expected output</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> * @return true if files are the same after adjustments</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * @throws IOException if IO error during comparison.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> */</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> compare(<strong class="jxr_keyword">final</strong> String actual, +<a name="109" href="#109">109</a> <strong class="jxr_keyword">final</strong> String expected) <strong class="jxr_keyword">throws</strong> IOException { +<a name="110" href="#110">110</a> <strong class="jxr_keyword">return</strong> Compare.compare(actual, expected); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="114" href="#114">114</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout1.properties"</span>); +<a name="115" href="#115">115</a> common(); +<a name="116" href="#116">116</a> Transformer.transform( +<a name="117" href="#117">117</a> TEMP, FILTERED, +<a name="118" href="#118">118</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="119" href="#119">119</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="120" href="#120">120</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>() +<a name="121" href="#121">121</a> }); +<a name="122" href="#122">122</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.1"</span>)); +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="126" href="#126">126</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout2.properties"</span>); +<a name="127" href="#127">127</a> common(); +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="130" href="#130">130</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="131" href="#131">131</a> <strong class="jxr_keyword">new</strong> String[] { PAT1, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="132" href="#132">132</a> Transformer.transform( +<a name="133" href="#133">133</a> TEMP, FILTERED, +<a name="134" href="#134">134</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="135" href="#135">135</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> ISO8601Filter(), +<a name="136" href="#136">136</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> EnhancedJunitTestRunnerFilter() +<a name="137" href="#137">137</a> }); +<a name="138" href="#138">138</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.2"</span>)); +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test3() <strong class="jxr_keyword">throws</strong> Exception { +<a name="142" href="#142">142</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout3.properties"</span>); +<a name="143" href="#143">143</a> common(); +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="146" href="#146">146</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="147" href="#147">147</a> <strong class="jxr_keyword">new</strong> String[] { PAT1, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="148" href="#148">148</a> Transformer.transform( +<a name="149" href="#149">149</a> TEMP, FILTERED, +<a name="150" href="#150">150</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="151" href="#151">151</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> ISO8601Filter(), +<a name="152" href="#152">152</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> EnhancedJunitTestRunnerFilter() +<a name="153" href="#153">153</a> }); +<a name="154" href="#154">154</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.3"</span>)); +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <em class="jxr_comment">// Output format:</em> +<a name="158" href="#158">158</a> <em class="jxr_comment">// 06 avr. 2002 18:30:58,937 [main] DEBUG atternLayoutTest - Message 0 </em> +<a name="159" href="#159">159</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test4() <strong class="jxr_keyword">throws</strong> Exception { +<a name="160" href="#160">160</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout4.properties"</span>); +<a name="161" href="#161">161</a> common(); +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="164" href="#164">164</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="165" href="#165">165</a> <strong class="jxr_keyword">new</strong> String[] { PAT2, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="166" href="#166">166</a> Transformer.transform( +<a name="167" href="#167">167</a> TEMP, FILTERED, +<a name="168" href="#168">168</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="169" href="#169">169</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> AbsoluteDateAndTimeFilter(), +<a name="170" href="#170">170</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> EnhancedJunitTestRunnerFilter() +<a name="171" href="#171">171</a> }); +<a name="172" href="#172">172</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.4"</span>)); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test5() <strong class="jxr_keyword">throws</strong> Exception { +<a name="176" href="#176">176</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout5.properties"</span>); +<a name="177" href="#177">177</a> common(); +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="180" href="#180">180</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="181" href="#181">181</a> <strong class="jxr_keyword">new</strong> String[] { PAT2, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="182" href="#182">182</a> Transformer.transform( +<a name="183" href="#183">183</a> TEMP, FILTERED, +<a name="184" href="#184">184</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="185" href="#185">185</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> AbsoluteDateAndTimeFilter(), +<a name="186" href="#186">186</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> EnhancedJunitTestRunnerFilter() +<a name="187" href="#187">187</a> }); +<a name="188" href="#188">188</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.5"</span>)); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em class="jxr_comment">// 18:54:19,201 [main] DEBUG atternLayoutTest - Message 0</em> +<a name="192" href="#192">192</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test6() <strong class="jxr_keyword">throws</strong> Exception { +<a name="193" href="#193">193</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout6.properties"</span>); +<a name="194" href="#194">194</a> common(); +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="197" href="#197">197</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="198" href="#198">198</a> <strong class="jxr_keyword">new</strong> String[] { PAT3, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="199" href="#199">199</a> Transformer.transform( +<a name="200" href="#200">200</a> TEMP, FILTERED, +<a name="201" href="#201">201</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="202" href="#202">202</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> AbsoluteTimeFilter(), +<a name="203" href="#203">203</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> EnhancedJunitTestRunnerFilter() +<a name="204" href="#204">204</a> }); +<a name="205" href="#205">205</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.6"</span>)); +<a name="206" href="#206">206</a> } +<a name="207" href="#207">207</a> +<a name="208" href="#208">208</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test7() <strong class="jxr_keyword">throws</strong> Exception { +<a name="209" href="#209">209</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout7.properties"</span>); +<a name="210" href="#210">210</a> common(); +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="213" href="#213">213</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="214" href="#214">214</a> <strong class="jxr_keyword">new</strong> String[] { PAT3, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="215" href="#215">215</a> Transformer.transform( +<a name="216" href="#216">216</a> TEMP, FILTERED, +<a name="217" href="#217">217</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="218" href="#218">218</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> AbsoluteTimeFilter(), +<a name="219" href="#219">219</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> EnhancedJunitTestRunnerFilter() +<a name="220" href="#220">220</a> }); +<a name="221" href="#221">221</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.7"</span>)); +<a name="222" href="#222">222</a> } +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test8() <strong class="jxr_keyword">throws</strong> Exception { +<a name="225" href="#225">225</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout8.properties"</span>); +<a name="226" href="#226">226</a> common(); +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="229" href="#229">229</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="230" href="#230">230</a> <strong class="jxr_keyword">new</strong> String[] { PAT4, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="231" href="#231">231</a> Transformer.transform( +<a name="232" href="#232">232</a> TEMP, FILTERED, +<a name="233" href="#233">233</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="234" href="#234">234</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> RelativeTimeFilter(), +<a name="235" href="#235">235</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> EnhancedJunitTestRunnerFilter() +<a name="236" href="#236">236</a> }); +<a name="237" href="#237">237</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.8"</span>)); +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test9() <strong class="jxr_keyword">throws</strong> Exception { +<a name="241" href="#241">241</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout9.properties"</span>); +<a name="242" href="#242">242</a> common(); +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="245" href="#245">245</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="246" href="#246">246</a> <strong class="jxr_keyword">new</strong> String[] { PAT5, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="247" href="#247">247</a> Transformer.transform( +<a name="248" href="#248">248</a> TEMP, FILTERED, +<a name="249" href="#249">249</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="250" href="#250">250</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="251" href="#251">251</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>() +<a name="252" href="#252">252</a> }); +<a name="253" href="#253">253</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.9"</span>)); +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test10() <strong class="jxr_keyword">throws</strong> Exception { +<a name="257" href="#257">257</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout10.properties"</span>); +<a name="258" href="#258">258</a> common(); +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="261" href="#261">261</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="262" href="#262">262</a> <strong class="jxr_keyword">new</strong> String[] { PAT6, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="263" href="#263">263</a> Transformer.transform( +<a name="264" href="#264">264</a> TEMP, FILTERED, +<a name="265" href="#265">265</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="266" href="#266">266</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="267" href="#267">267</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>() +<a name="268" href="#268">268</a> }); +<a name="269" href="#269">269</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.10"</span>)); +<a name="270" href="#270">270</a> } +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test11() <strong class="jxr_keyword">throws</strong> Exception { +<a name="273" href="#273">273</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout11.properties"</span>); +<a name="274" href="#274">274</a> common(); +<a name="275" href="#275">275</a> +<a name="276" href="#276">276</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="277" href="#277">277</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="278" href="#278">278</a> <strong class="jxr_keyword">new</strong> String[] { PAT11a, PAT11b, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="279" href="#279">279</a> Transformer.transform( +<a name="280" href="#280">280</a> TEMP, FILTERED, +<a name="281" href="#281">281</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="282" href="#282">282</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="283" href="#283">283</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>() +<a name="284" href="#284">284</a> }); +<a name="285" href="#285">285</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.11"</span>)); +<a name="286" href="#286">286</a> } +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test12() <strong class="jxr_keyword">throws</strong> Exception { +<a name="289" href="#289">289</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout12.properties"</span>); +<a name="290" href="#290">290</a> common(); +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="293" href="#293">293</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="294" href="#294">294</a> <strong class="jxr_keyword">new</strong> String[] { PAT12, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="295" href="#295">295</a> Transformer.transform( +<a name="296" href="#296">296</a> TEMP, FILTERED, +<a name="297" href="#297">297</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="298" href="#298">298</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="299" href="#299">299</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>() +<a name="300" href="#300">300</a> }); +<a name="301" href="#301">301</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.12"</span>)); +<a name="302" href="#302">302</a> } +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test13() <strong class="jxr_keyword">throws</strong> Exception { +<a name="305" href="#305">305</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout13.properties"</span>); +<a name="306" href="#306">306</a> common(); +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="309" href="#309">309</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="310" href="#310">310</a> <strong class="jxr_keyword">new</strong> String[] { PAT13, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="311" href="#311">311</a> Transformer.transform( +<a name="312" href="#312">312</a> TEMP, FILTERED, +<a name="313" href="#313">313</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="314" href="#314">314</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="315" href="#315">315</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>() +<a name="316" href="#316">316</a> }); +<a name="317" href="#317">317</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.13"</span>)); +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> <em class="jxr_javadoccomment">/**</em> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment"> * Test of class abbreviation.</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> *</em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> * @throws Exception</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> */</em> +<a name="325" href="#325">325</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test14() <strong class="jxr_keyword">throws</strong> Exception { +<a name="326" href="#326">326</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout14.properties"</span>); +<a name="327" href="#327">327</a> common(); +<a name="328" href="#328">328</a> +<a name="329" href="#329">329</a> Transformer.transform( +<a name="330" href="#330">330</a> TEMP, FILTERED, +<a name="331" href="#331">331</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="332" href="#332">332</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="333" href="#333">333</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>() +<a name="334" href="#334">334</a> }); +<a name="335" href="#335">335</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.14"</span>)); +<a name="336" href="#336">336</a> } +<a name="337" href="#337">337</a> +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> clearMDC() <strong class="jxr_keyword">throws</strong> Exception { +<a name="340" href="#340">340</a> java.util.Hashtable context = MDC.getContext(); +<a name="341" href="#341">341</a> <strong class="jxr_keyword">if</strong> (context != <strong class="jxr_keyword">null</strong>) { +<a name="342" href="#342">342</a> context.clear(); +<a name="343" href="#343">343</a> } +<a name="344" href="#344">344</a> } +<a name="345" href="#345">345</a> +<a name="346" href="#346">346</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMDC1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="347" href="#347">347</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout.mdc.1.properties"</span>); +<a name="348" href="#348">348</a> clearMDC(); +<a name="349" href="#349">349</a> MDC.put(<span class="jxr_string">"key1"</span>, <span class="jxr_string">"va11"</span>); +<a name="350" href="#350">350</a> MDC.put(<span class="jxr_string">"key2"</span>, <span class="jxr_string">"va12"</span>); +<a name="351" href="#351">351</a> logger.debug(<span class="jxr_string">"Hello World"</span>); +<a name="352" href="#352">352</a> MDC.remove(<span class="jxr_string">"key1"</span>); +<a name="353" href="#353">353</a> MDC.remove(<span class="jxr_string">"key2"</span>); +<a name="354" href="#354">354</a> +<a name="355" href="#355">355</a> Transformer.transform( +<a name="356" href="#356">356</a> TEMP, FILTERED, +<a name="357" href="#357">357</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="358" href="#358">358</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="359" href="#359">359</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>(), +<a name="360" href="#360">360</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/MDCOrderFilter.html">MDCOrderFilter</a>() +<a name="361" href="#361">361</a> }); +<a name="362" href="#362">362</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.mdc.1"</span>)); +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> <em class="jxr_javadoccomment">/**</em> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment"> * Tests log4j 1.2 style extension of EnhancedPatternLayout.</em> +<a name="366" href="#366">366</a> <em class="jxr_javadoccomment"> * Was test14 in log4j 1.2.</em> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment"> * @throws Exception</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> */</em> +<a name="369" href="#369">369</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test15() <strong class="jxr_keyword">throws</strong> Exception { +<a name="370" href="#370">370</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout15.properties"</span>); +<a name="371" href="#371">371</a> common(); +<a name="372" href="#372">372</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT14, EXCEPTION1, +<a name="373" href="#373">373</a> EXCEPTION2, EXCEPTION3, EXCEPTION4}); +<a name="374" href="#374">374</a> Transformer.transform( +<a name="375" href="#375">375</a> TEMP, FILTERED, +<a name="376" href="#376">376</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="377" href="#377">377</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="378" href="#378">378</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>() +<a name="379" href="#379">379</a> }); +<a name="380" href="#380">380</a> assertTrue(compare(FILTERED, <span class="jxr_string">"witness/pattern/enhancedPatternLayout.15"</span>)); +<a name="381" href="#381">381</a> } +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment">/**</em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> * Tests explicit UTC time zone in pattern.</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> * @throws Exception</em> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment"> */</em> +<a name="386" href="#386">386</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test16() <strong class="jxr_keyword">throws</strong> Exception { +<a name="387" href="#387">387</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> start = <strong class="jxr_keyword">new</strong> Date().getTime(); +<a name="388" href="#388">388</a> configure(<span class="jxr_string">"input/pattern/enhancedPatternLayout16.properties"</span>); +<a name="389" href="#389">389</a> common(); +<a name="390" href="#390">390</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> end = <strong class="jxr_keyword">new</strong> Date().getTime(); +<a name="391" href="#391">391</a> FileReader reader = <strong class="jxr_keyword">new</strong> FileReader(<span class="jxr_string">"output/patternLayout16.log"</span>); +<a name="392" href="#392">392</a> <strong class="jxr_keyword">char</strong> chars[] = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[50]; +<a name="393" href="#393">393</a> reader.read(chars, 0, chars.length); +<a name="394" href="#394">394</a> reader.close(); +<a name="395" href="#395">395</a> SimpleDateFormat format = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"yyyy-MM-dd HH:mm:ss"</span>); +<a name="396" href="#396">396</a> format.setTimeZone(TimeZone.getTimeZone(<span class="jxr_string">"GMT+0"</span>)); +<a name="397" href="#397">397</a> String utcStr = <strong class="jxr_keyword">new</strong> String(chars, 0, 19); +<a name="398" href="#398">398</a> Date utcDate = format.parse(utcStr, <strong class="jxr_keyword">new</strong> ParsePosition(0)); +<a name="399" href="#399">399</a> assertTrue(utcDate.getTime() &gt;= start - 1000 &amp;&amp; utcDate.getTime() &lt; end + 1000); +<a name="400" href="#400">400</a> String cstStr = <strong class="jxr_keyword">new</strong> String(chars, 21, 19); +<a name="401" href="#401">401</a> format.setTimeZone(TimeZone.getTimeZone(<span class="jxr_string">"GMT-6"</span>)); +<a name="402" href="#402">402</a> Date cstDate = format.parse(cstStr, <strong class="jxr_keyword">new</strong> ParsePosition(0)); +<a name="403" href="#403">403</a> assertFalse(cstStr.equals(utcStr)); +<a name="404" href="#404">404</a> assertTrue(cstDate.getTime() &gt;= start - 1000 &amp;&amp; cstDate.getTime() &lt; end + 1000); +<a name="405" href="#405">405</a> } +<a name="406" href="#406">406</a> +<a name="407" href="#407">407</a> <strong class="jxr_keyword">void</strong> common() { +<a name="408" href="#408">408</a> <strong class="jxr_keyword">int</strong> i = -1; +<a name="409" href="#409">409</a> +<a name="410" href="#410">410</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i); +<a name="411" href="#411">411</a> root.debug(<span class="jxr_string">"Message "</span> + i); +<a name="412" href="#412">412</a> +<a name="413" href="#413">413</a> logger.info(<span class="jxr_string">"Message "</span> + ++i); +<a name="414" href="#414">414</a> root.info(<span class="jxr_string">"Message "</span> + i); +<a name="415" href="#415">415</a> +<a name="416" href="#416">416</a> logger.warn(<span class="jxr_string">"Message "</span> + ++i); +<a name="417" href="#417">417</a> root.warn(<span class="jxr_string">"Message "</span> + i); +<a name="418" href="#418">418</a> +<a name="419" href="#419">419</a> logger.error(<span class="jxr_string">"Message "</span> + ++i); +<a name="420" href="#420">420</a> root.error(<span class="jxr_string">"Message "</span> + i); +<a name="421" href="#421">421</a> +<a name="422" href="#422">422</a> logger.log(Level.FATAL, <span class="jxr_string">"Message "</span> + ++i); +<a name="423" href="#423">423</a> root.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); +<a name="424" href="#424">424</a> +<a name="425" href="#425">425</a> Exception e = <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Just testing"</span>); +<a name="426" href="#426">426</a> +<a name="427" href="#427">427</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="428" href="#428">428</a> logger.info(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="429" href="#429">429</a> logger.warn(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="430" href="#430">430</a> logger.error(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="431" href="#431">431</a> logger.log(Level.FATAL, <span class="jxr_string">"Message "</span> + ++i, e); +<a name="432" href="#432">432</a> } +<a name="433" href="#433">433</a> +<a name="434" href="#434">434</a> <em class="jxr_javadoccomment">/**</em> +<a name="435" href="#435">435</a> <em class="jxr_javadoccomment"> Test case for MDC conversion pattern. */</em> +<a name="436" href="#436">436</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMDC2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="437" href="#437">437</a> String OUTPUT_FILE = <span class="jxr_string">"output/patternLayout.mdc.2"</span>; +<a name="438" href="#438">438</a> String WITNESS_FILE = <span class="jxr_string">"witness/pattern/enhancedPatternLayout.mdc.2"</span>; +<a name="439" href="#439">439</a> +<a name="440" href="#440">440</a> String mdcMsgPattern1 = <span class="jxr_string">"%m : %X%n"</span>; +<a name="441" href="#441">441</a> String mdcMsgPattern2 = <span class="jxr_string">"%m : %X{key1}%n"</span>; +<a name="442" href="#442">442</a> String mdcMsgPattern3 = <span class="jxr_string">"%m : %X{key2}%n"</span>; +<a name="443" href="#443">443</a> String mdcMsgPattern4 = <span class="jxr_string">"%m : %X{key3}%n"</span>; +<a name="444" href="#444">444</a> String mdcMsgPattern5 = <span class="jxr_string">"%m : %X{key1},%X{key2},%X{key3}%n"</span>; +<a name="445" href="#445">445</a> +<a name="446" href="#446">446</a> <em class="jxr_comment">// set up appender</em> +<a name="447" href="#447">447</a> EnhancedPatternLayout layout = <strong class="jxr_keyword">new</strong> EnhancedPatternLayout(<span class="jxr_string">"%m%n"</span>); +<a name="448" href="#448">448</a> Appender appender = <strong class="jxr_keyword">new</strong> FileAppender(layout, OUTPUT_FILE, false); +<a name="449" href="#449">449</a> +<a name="450" href="#450">450</a> <em class="jxr_comment">// set appender on root and set level to debug</em> +<a name="451" href="#451">451</a> root.addAppender(appender); +<a name="452" href="#452">452</a> root.setLevel(Level.DEBUG); +<a name="453" href="#453">453</a> +<a name="454" href="#454">454</a> clearMDC(); +<a name="455" href="#455">455</a> <em class="jxr_comment">// output starting message</em> +<a name="456" href="#456">456</a> root.debug(<span class="jxr_string">"starting mdc pattern test"</span>); +<a name="457" href="#457">457</a> +<a name="458" href="#458">458</a> layout.setConversionPattern(mdcMsgPattern1); +<a name="459" href="#459">459</a> layout.activateOptions(); +<a name="460" href="#460">460</a> root.debug(<span class="jxr_string">"empty mdc, no key specified in pattern"</span>); +<a name="461" href="#461">461</a> +<a name="462" href="#462">462</a> layout.setConversionPattern(mdcMsgPattern2); +<a name="463" href="#463">463</a> layout.activateOptions(); +<a name="464" href="#464">464</a> root.debug(<span class="jxr_string">"empty mdc, key1 in pattern"</span>); +<a name="465" href="#465">465</a> +<a name="466" href="#466">466</a> layout.setConversionPattern(mdcMsgPattern3); +<a name="467" href="#467">467</a> layout.activateOptions(); +<a name="468" href="#468">468</a> root.debug(<span class="jxr_string">"empty mdc, key2 in pattern"</span>); +<a name="469" href="#469">469</a> +<a name="470" href="#470">470</a> layout.setConversionPattern(mdcMsgPattern4); +<a name="471" href="#471">471</a> layout.activateOptions(); +<a name="472" href="#472">472</a> root.debug(<span class="jxr_string">"empty mdc, key3 in pattern"</span>); +<a name="473" href="#473">473</a> +<a name="474" href="#474">474</a> layout.setConversionPattern(mdcMsgPattern5); +<a name="475" href="#475">475</a> layout.activateOptions(); +<a name="476" href="#476">476</a> root.debug(<span class="jxr_string">"empty mdc, key1, key2, and key3 in pattern"</span>); +<a name="477" href="#477">477</a> +<a name="478" href="#478">478</a> MDC.put(<span class="jxr_string">"key1"</span>, <span class="jxr_string">"value1"</span>); +<a name="479" href="#479">479</a> MDC.put(<span class="jxr_string">"key2"</span>, <span class="jxr_string">"value2"</span>); +<a name="480" href="#480">480</a> +<a name="481" href="#481">481</a> layout.setConversionPattern(mdcMsgPattern1); +<a name="482" href="#482">482</a> layout.activateOptions(); +<a name="483" href="#483">483</a> root.debug(<span class="jxr_string">"filled mdc, no key specified in pattern"</span>); +<a name="484" href="#484">484</a> +<a name="485" href="#485">485</a> layout.setConversionPattern(mdcMsgPattern2); +<a name="486" href="#486">486</a> layout.activateOptions(); +<a name="487" href="#487">487</a> root.debug(<span class="jxr_string">"filled mdc, key1 in pattern"</span>); +<a name="488" href="#488">488</a> +<a name="489" href="#489">489</a> layout.setConversionPattern(mdcMsgPattern3); +<a name="490" href="#490">490</a> layout.activateOptions(); +<a name="491" href="#491">491</a> root.debug(<span class="jxr_string">"filled mdc, key2 in pattern"</span>); +<a name="492" href="#492">492</a> +<a name="493" href="#493">493</a> layout.setConversionPattern(mdcMsgPattern4); +<a name="494" href="#494">494</a> layout.activateOptions(); +<a name="495" href="#495">495</a> root.debug(<span class="jxr_string">"filled mdc, key3 in pattern"</span>); +<a name="496" href="#496">496</a> +<a name="497" href="#497">497</a> layout.setConversionPattern(mdcMsgPattern5); +<a name="498" href="#498">498</a> layout.activateOptions(); +<a name="499" href="#499">499</a> root.debug(<span class="jxr_string">"filled mdc, key1, key2, and key3 in pattern"</span>); +<a name="500" href="#500">500</a> +<a name="501" href="#501">501</a> MDC.remove(<span class="jxr_string">"key1"</span>); +<a name="502" href="#502">502</a> MDC.remove(<span class="jxr_string">"key2"</span>); +<a name="503" href="#503">503</a> +<a name="504" href="#504">504</a> layout.setConversionPattern(<span class="jxr_string">"%m%n"</span>); +<a name="505" href="#505">505</a> layout.activateOptions(); +<a name="506" href="#506">506</a> root.debug(<span class="jxr_string">"finished mdc pattern test"</span>); +<a name="507" href="#507">507</a> +<a name="508" href="#508">508</a> +<a name="509" href="#509">509</a> Transformer.transform( +<a name="510" href="#510">510</a> OUTPUT_FILE, FILTERED, +<a name="511" href="#511">511</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="512" href="#512">512</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="513" href="#513">513</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>(), +<a name="514" href="#514">514</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/MDCOrderFilter.html">MDCOrderFilter</a>() +<a name="515" href="#515">515</a> }); +<a name="516" href="#516">516</a> +<a name="517" href="#517">517</a> assertTrue(compare(FILTERED, WITNESS_FILE)); +<a name="518" href="#518">518</a> } +<a name="519" href="#519">519</a> <em class="jxr_javadoccomment">/**</em> +<a name="520" href="#520">520</a> <em class="jxr_javadoccomment"> Test case for throwable conversion pattern. */</em> +<a name="521" href="#521">521</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testThrowable() <strong class="jxr_keyword">throws</strong> Exception { +<a name="522" href="#522">522</a> String OUTPUT_FILE = <span class="jxr_string">"output/patternLayout.throwable"</span>; +<a name="523" href="#523">523</a> String WITNESS_FILE = <span class="jxr_string">"witness/pattern/enhancedPatternLayout.throwable"</span>; +<a name="524" href="#524">524</a> +<a name="525" href="#525">525</a> +<a name="526" href="#526">526</a> <em class="jxr_comment">// set up appender</em> +<a name="527" href="#527">527</a> EnhancedPatternLayout layout = <strong class="jxr_keyword">new</strong> EnhancedPatternLayout(<span class="jxr_string">"%m%n"</span>); +<a name="528" href="#528">528</a> Appender appender = <strong class="jxr_keyword">new</strong> FileAppender(layout, OUTPUT_FILE, false); +<a name="529" href="#529">529</a> +<a name="530" href="#530">530</a> <em class="jxr_comment">// set appender on root and set level to debug</em> +<a name="531" href="#531">531</a> root.addAppender(appender); +<a name="532" href="#532">532</a> root.setLevel(Level.DEBUG); +<a name="533" href="#533">533</a> +<a name="534" href="#534">534</a> <em class="jxr_comment">// output starting message</em> +<a name="535" href="#535">535</a> root.debug(<span class="jxr_string">"starting throwable pattern test"</span>); +<a name="536" href="#536">536</a> Exception ex = <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Test Exception"</span>); +<a name="537" href="#537">537</a> root.debug(<span class="jxr_string">"plain pattern, no exception"</span>); +<a name="538" href="#538">538</a> root.debug(<span class="jxr_string">"plain pattern, with exception"</span>, ex); +<a name="539" href="#539">539</a> layout.setConversionPattern(<span class="jxr_string">"%m%n%throwable"</span>); +<a name="540" href="#540">540</a> layout.activateOptions(); +<a name="541" href="#541">541</a> root.debug(<span class="jxr_string">"%throwable, no exception"</span>); +<a name="542" href="#542">542</a> root.debug(<span class="jxr_string">"%throwable, with exception"</span>, ex); +<a name="543" href="#543">543</a> +<a name="544" href="#544">544</a> layout.setConversionPattern(<span class="jxr_string">"%m%n%throwable{short}"</span>); +<a name="545" href="#545">545</a> layout.activateOptions(); +<a name="546" href="#546">546</a> root.debug(<span class="jxr_string">"%throwable{short}, no exception"</span>); +<a name="547" href="#547">547</a> root.debug(<span class="jxr_string">"%throwable{short}, with exception"</span>, ex); +<a name="548" href="#548">548</a> +<a name="549" href="#549">549</a> layout.setConversionPattern(<span class="jxr_string">"%m%n%throwable{none}"</span>); +<a name="550" href="#550">550</a> layout.activateOptions(); +<a name="551" href="#551">551</a> root.debug(<span class="jxr_string">"%throwable{none}, no exception"</span>); +<a name="552" href="#552">552</a> root.debug(<span class="jxr_string">"%throwable{none}, with exception"</span>, ex); +<a name="553" href="#553">553</a> +<a name="554" href="#554">554</a> layout.setConversionPattern(<span class="jxr_string">"%m%n%throwable{0}"</span>); +<a name="555" href="#555">555</a> layout.activateOptions(); +<a name="556" href="#556">556</a> root.debug(<span class="jxr_string">"%throwable{0}, no exception"</span>); +<a name="557" href="#557">557</a> root.debug(<span class="jxr_string">"%throwable{0}, with exception"</span>, ex); +<a name="558" href="#558">558</a> +<a name="559" href="#559">559</a> layout.setConversionPattern(<span class="jxr_string">"%m%n%throwable{1}"</span>); +<a name="560" href="#560">560</a> layout.activateOptions(); +<a name="561" href="#561">561</a> root.debug(<span class="jxr_string">"%throwable{1}, no exception"</span>); +<a name="562" href="#562">562</a> root.debug(<span class="jxr_string">"%throwable{1}, with exception"</span>, ex); +<a name="563" href="#563">563</a> +<a name="564" href="#564">564</a> layout.setConversionPattern(<span class="jxr_string">"%m%n%throwable{100}"</span>); +<a name="565" href="#565">565</a> layout.activateOptions(); +<a name="566" href="#566">566</a> root.debug(<span class="jxr_string">"%throwable{100}, no exception"</span>); +<a name="567" href="#567">567</a> root.debug(<span class="jxr_string">"%throwable{100}, with exception"</span>, ex); +<a name="568" href="#568">568</a> +<a name="569" href="#569">569</a> <em class="jxr_comment">//</em> +<a name="570" href="#570">570</a> <em class="jxr_comment">// manufacture a pattern to get just the first two lines</em> +<a name="571" href="#571">571</a> <em class="jxr_comment">//</em> +<a name="572" href="#572">572</a> String[] trace = <strong class="jxr_keyword">new</strong> ThrowableInformation(ex).getThrowableStrRep(); +<a name="573" href="#573">573</a> layout.setConversionPattern(<span class="jxr_string">"%m%n%throwable{"</span> + (2 - trace.length) + <span class="jxr_string">"}"</span>); +<a name="574" href="#574">574</a> layout.activateOptions(); +<a name="575" href="#575">575</a> root.debug(<span class="jxr_string">"%throwable{-n}, no exception"</span>); +<a name="576" href="#576">576</a> root.debug(<span class="jxr_string">"%throwable{-n}, with exception"</span>, ex); +<a name="577" href="#577">577</a> +<a name="578" href="#578">578</a> +<a name="579" href="#579">579</a> Transformer.transform( +<a name="580" href="#580">580</a> OUTPUT_FILE, FILTERED, +<a name="581" href="#581">581</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="582" href="#582">582</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="583" href="#583">583</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>(), +<a name="584" href="#584">584</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/MDCOrderFilter.html">MDCOrderFilter</a>() +<a name="585" href="#585">585</a> }); +<a name="586" href="#586">586</a> +<a name="587" href="#587">587</a> assertTrue(compare(FILTERED, WITNESS_FILE)); +<a name="588" href="#588">588</a> } +<a name="589" href="#589">589</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedThrowableRendererTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedThrowableRendererTest.html new file mode 100644 index 00000000000..7d42f3e8990 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/EnhancedThrowableRendererTest.html @@ -0,0 +1,62 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>EnhancedThrowableRendererTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRenderer; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * Test for EnhancedThrowableRenderer.</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> *</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> */</em> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/EnhancedThrowableRendererTest.html">EnhancedThrowableRendererTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * Construct new instance.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @param name test name.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/EnhancedThrowableRendererTest.html">EnhancedThrowableRendererTest</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="32" href="#32">32</a> <strong class="jxr_keyword">super</strong>(name); +<a name="33" href="#33">33</a> } +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Render simple exception.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEnhancedRender() { +<a name="39" href="#39">39</a> ThrowableRenderer r = <strong class="jxr_keyword">new</strong> EnhancedThrowableRenderer(); +<a name="40" href="#40">40</a> Exception ex = <strong class="jxr_keyword">new</strong> Exception(); +<a name="41" href="#41">41</a> String[] strRep = r.doRender(ex); +<a name="42" href="#42">42</a> assertNotNull(strRep); +<a name="43" href="#43">43</a> assertTrue(strRep.length &gt; 0); +<a name="44" href="#44">44</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; strRep.length; i++) { +<a name="45" href="#45">45</a> assertNotNull(strRep[i]); +<a name="46" href="#46">46</a> } +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/FileAppenderTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/FileAppenderTest.html new file mode 100644 index 00000000000..d5c408e001a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/FileAppenderTest.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FileAppenderTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> *</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * FileAppender tests.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> *</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/FileAppenderTest.html">FileAppenderTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * Tests that any necessary directories are attempted to</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * be created if they don't exist. See bug 9150.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> *</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDirectoryCreation() { +<a name="40" href="#40">40</a> <em class="jxr_comment">//</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">// known to fail on JDK 1.1</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">if</strong> (!System.getProperty(<span class="jxr_string">"java.version"</span>).startsWith(<span class="jxr_string">"1.1."</span>)) { +<a name="43" href="#43">43</a> File newFile = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/newdir/temp.log"</span>); +<a name="44" href="#44">44</a> newFile.delete(); +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> File newDir = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/newdir"</span>); +<a name="47" href="#47">47</a> newDir.delete(); +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> org.apache.log4j.FileAppender wa = <strong class="jxr_keyword">new</strong> org.apache.log4j.FileAppender(); +<a name="50" href="#50">50</a> wa.setFile(<span class="jxr_string">"output/newdir/temp.log"</span>); +<a name="51" href="#51">51</a> wa.setLayout(<strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%m%n"</span>)); +<a name="52" href="#52">52</a> wa.activateOptions(); +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/newdir/temp.log"</span>).exists()); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * Tests that the return type of getThreshold is Priority.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * @throws Exception</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetThresholdReturnType() <strong class="jxr_keyword">throws</strong> Exception { +<a name="63" href="#63">63</a> Method method = FileAppender.<strong class="jxr_keyword">class</strong>.getMethod(<span class="jxr_string">"getThreshold"</span>, (Class[]) <strong class="jxr_keyword">null</strong>); +<a name="64" href="#64">64</a> assertTrue(method.getReturnType() == Priority.<strong class="jxr_keyword">class</strong>); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment">/**</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * Tests getThreshold and setThreshold.</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> */</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testgetSetThreshold() { +<a name="71" href="#71">71</a> FileAppender appender = <strong class="jxr_keyword">new</strong> FileAppender(); +<a name="72" href="#72">72</a> Priority debug = Level.DEBUG; +<a name="73" href="#73">73</a> assertNull(appender.getThreshold()); +<a name="74" href="#74">74</a> appender.setThreshold(debug); +<a name="75" href="#75">75</a> assertTrue(appender.getThreshold() == debug); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * Tests isAsSevereAsThreshold.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> */</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIsAsSevereAsThreshold() { +<a name="82" href="#82">82</a> FileAppender appender = <strong class="jxr_keyword">new</strong> FileAppender(); +<a name="83" href="#83">83</a> Priority debug = Level.DEBUG; +<a name="84" href="#84">84</a> assertTrue(appender.isAsSevereAsThreshold(debug)); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/HTMLLayoutTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/HTMLLayoutTest.html new file mode 100644 index 00000000000..99591915de6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/HTMLLayoutTest.html @@ -0,0 +1,256 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>HTMLLayoutTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Document; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.xml.sax.InputSource; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilder; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilderFactory; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.Reader; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.io.StringReader; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Test for HTMLLayout.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> *</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/HTMLLayoutTest.html">HTMLLayoutTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/LayoutTest.html">LayoutTest</a> { +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Construct new instance of XMLLayoutTest.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> *</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @param testName test name.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/HTMLLayoutTest.html">HTMLLayoutTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">super</strong>(testName, <span class="jxr_string">"text/html"</span>, false, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">protected</strong> Layout createLayout() { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> HTMLLayout(); +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * Parses the string as the body of an XML document and returns the document element.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * @param source source string.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * @return document element.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * @throws Exception if parser can not be constructed or source is not a valid XML document.</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> */</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">private</strong> Document parse(<strong class="jxr_keyword">final</strong> String source) <strong class="jxr_keyword">throws</strong> Exception { +<a name="60" href="#60">60</a> DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); +<a name="61" href="#61">61</a> factory.setNamespaceAware(false); +<a name="62" href="#62">62</a> factory.setCoalescing(<strong class="jxr_keyword">true</strong>); +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> DocumentBuilder builder = factory.newDocumentBuilder(); +<a name="65" href="#65">65</a> Reader reader = <strong class="jxr_keyword">new</strong> StringReader(source); +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">return</strong> builder.parse(<strong class="jxr_keyword">new</strong> InputSource(reader)); +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * Tests formatted results.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * @throws Exception if unable to create parser or output is not valid XML.</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> */</em> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormat() <strong class="jxr_keyword">throws</strong> Exception { +<a name="75" href="#75">75</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.HTMLLayoutTest"</span>); +<a name="76" href="#76">76</a> NDC.push(<span class="jxr_string">"NDC goes here"</span>); +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> LoggingEvent event = +<a name="79" href="#79">79</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="80" href="#80">80</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.INFO, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="81" href="#81">81</a> HTMLLayout layout = (HTMLLayout) createLayout(); +<a name="82" href="#82">82</a> layout.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> String result = layout.format(event); +<a name="85" href="#85">85</a> NDC.pop(); +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> String src = +<a name="88" href="#88">88</a> <span class="jxr_string">"&lt;!DOCTYPE body [ &lt;!ENTITY nbsp ' '&gt;]&gt;&lt;body&gt;"</span> + result + <span class="jxr_string">"&lt;/body&gt;"</span>; +<a name="89" href="#89">89</a> parse(src); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * Tests getHeader.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> */</em> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetHeader() { +<a name="96" href="#96">96</a> assertEquals(<span class="jxr_string">"&lt;!DOCTYPE"</span>, createLayout().getHeader().substring(0, 9)); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * Tests getHeader with locationInfo = true.</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetHeaderWithLocation() { +<a name="103" href="#103">103</a> HTMLLayout layout = (HTMLLayout) createLayout(); +<a name="104" href="#104">104</a> layout.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="105" href="#105">105</a> assertEquals(<span class="jxr_string">"&lt;!DOCTYPE"</span>, layout.getHeader().substring(0, 9)); +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">/**</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> * Tests getFooter.</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> */</em> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetFooter() { +<a name="112" href="#112">112</a> assertEquals(<span class="jxr_string">"&lt;/table&gt;"</span>, createLayout().getFooter().substring(0, 8)); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> * Tests getLocationInfo and setLocationInfo.</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> */</em> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSetLocationInfo() { +<a name="119" href="#119">119</a> HTMLLayout layout = <strong class="jxr_keyword">new</strong> HTMLLayout(); +<a name="120" href="#120">120</a> assertEquals(false, layout.getLocationInfo()); +<a name="121" href="#121">121</a> layout.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="122" href="#122">122</a> assertEquals(<strong class="jxr_keyword">true</strong>, layout.getLocationInfo()); +<a name="123" href="#123">123</a> layout.setLocationInfo(false); +<a name="124" href="#124">124</a> assertEquals(false, layout.getLocationInfo()); +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">/**</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * Tests activateOptions().</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> */</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testActivateOptions() { +<a name="131" href="#131">131</a> HTMLLayout layout = <strong class="jxr_keyword">new</strong> HTMLLayout(); +<a name="132" href="#132">132</a> layout.activateOptions(); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">/**</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> * Tests getTitle and setTitle.</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> */</em> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSetTitle() { +<a name="139" href="#139">139</a> HTMLLayout layout = <strong class="jxr_keyword">new</strong> HTMLLayout(); +<a name="140" href="#140">140</a> assertEquals(<span class="jxr_string">"Log4J Log Messages"</span>, layout.getTitle()); +<a name="141" href="#141">141</a> layout.setTitle(<strong class="jxr_keyword">null</strong>); +<a name="142" href="#142">142</a> assertNull(layout.getTitle()); +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> String newTitle = <span class="jxr_string">"A treatise on messages of log persuasion"</span>; +<a name="145" href="#145">145</a> layout.setTitle(newTitle); +<a name="146" href="#146">146</a> assertEquals(newTitle, layout.getTitle()); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">/**</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> * Tests buffer downsizing and DEBUG and WARN colorization code paths.</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormatResize() { +<a name="153" href="#153">153</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.HTMLLayoutTest"</span>); +<a name="154" href="#154">154</a> NDC.clear(); +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">char</strong>[] msg = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[2000]; +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; msg.length; i++) { +<a name="159" href="#159">159</a> msg[i] = 'A'; +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> LoggingEvent event1 = +<a name="163" href="#163">163</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="164" href="#164">164</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.DEBUG, <strong class="jxr_keyword">new</strong> String(msg), <strong class="jxr_keyword">null</strong>); +<a name="165" href="#165">165</a> HTMLLayout layout = (HTMLLayout) createLayout(); +<a name="166" href="#166">166</a> layout.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> String result = layout.format(event1); +<a name="169" href="#169">169</a> Exception ex = <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"'foo' is not a valid value."</span>); +<a name="170" href="#170">170</a> LoggingEvent event2 = +<a name="171" href="#171">171</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="172" href="#172">172</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.WARN, <span class="jxr_string">"Hello, World"</span>, ex); +<a name="173" href="#173">173</a> result = layout.format(event2); +<a name="174" href="#174">174</a> assertEquals( +<a name="175" href="#175">175</a> Layout.LINE_SEP + <span class="jxr_string">"&lt;tr&gt;"</span>, +<a name="176" href="#176">176</a> result.substring(0, Layout.LINE_SEP.length() + 4)); +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment">/**</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> * Level with arbitrary toString value.</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> */</em> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/HTMLLayoutTest.html">ProblemLevel</a> <strong class="jxr_keyword">extends</strong> Level { +<a name="184" href="#184">184</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L; +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">/**</em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> * Construct new instance.</em> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment"> * @param levelName level name, may not be null.</em> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment"> */</em> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/HTMLLayoutTest.html">ProblemLevel</a>(<strong class="jxr_keyword">final</strong> String levelName) { +<a name="191" href="#191">191</a> <strong class="jxr_keyword">super</strong>(6000, levelName, 6); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">/**</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> * Tests problematic characters in multiple fields.</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> * @throws Exception if parser can not be constructed</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> * or source is not a valid XML document.</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> */</em> +<a name="200" href="#200">200</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testProblemCharacters() <strong class="jxr_keyword">throws</strong> Exception { +<a name="201" href="#201">201</a> String problemName = <span class="jxr_string">"com.example.bar&lt;&gt;&amp;\&quot;'"</span>; +<a name="202" href="#202">202</a> Logger logger = Logger.getLogger(problemName); +<a name="203" href="#203">203</a> Level level = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HTMLLayoutTest.html">ProblemLevel</a>(problemName); +<a name="204" href="#204">204</a> Exception ex = <strong class="jxr_keyword">new</strong> IllegalArgumentException(problemName); +<a name="205" href="#205">205</a> String threadName = Thread.currentThread().getName(); +<a name="206" href="#206">206</a> Thread.currentThread().setName(problemName); +<a name="207" href="#207">207</a> NDC.push(problemName); +<a name="208" href="#208">208</a> Hashtable mdcMap = MDC.getContext(); +<a name="209" href="#209">209</a> <strong class="jxr_keyword">if</strong> (mdcMap != <strong class="jxr_keyword">null</strong>) { +<a name="210" href="#210">210</a> mdcMap.clear(); +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> MDC.put(problemName, problemName); +<a name="213" href="#213">213</a> LoggingEvent event = +<a name="214" href="#214">214</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="215" href="#215">215</a> problemName, logger, level, problemName, ex); +<a name="216" href="#216">216</a> HTMLLayout layout = (HTMLLayout) createLayout(); +<a name="217" href="#217">217</a> String result = layout.format(event); +<a name="218" href="#218">218</a> mdcMap = MDC.getContext(); +<a name="219" href="#219">219</a> <strong class="jxr_keyword">if</strong> (mdcMap != <strong class="jxr_keyword">null</strong>) { +<a name="220" href="#220">220</a> mdcMap.clear(); +<a name="221" href="#221">221</a> } +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> Thread.currentThread().setName(threadName); +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <em class="jxr_comment">//</em> +<a name="226" href="#226">226</a> <em class="jxr_comment">// do a little fixup to make output XHTML</em> +<a name="227" href="#227">227</a> <em class="jxr_comment">//</em> +<a name="228" href="#228">228</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer( +<a name="229" href="#229">229</a> <span class="jxr_string">"&lt;!DOCTYPE table [&lt;!ENTITY nbsp ' '&gt;]&gt;&lt;table&gt;"</span>); +<a name="230" href="#230">230</a> buf.append(result); +<a name="231" href="#231">231</a> buf.append(<span class="jxr_string">"&lt;/table&gt;"</span>); +<a name="232" href="#232">232</a> String doc = buf.toString(); +<a name="233" href="#233">233</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = doc.lastIndexOf(<span class="jxr_string">"&lt;br&gt;"</span>); +<a name="234" href="#234">234</a> i != -1; +<a name="235" href="#235">235</a> i = doc.lastIndexOf(<span class="jxr_string">"&lt;br&gt;"</span>, i - 1)) { +<a name="236" href="#236">236</a> buf.replace(i, i + 4, <span class="jxr_string">"&lt;br/&gt;"</span>); +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> parse(buf.toString()); +<a name="240" href="#240">240</a> } +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/HierarchyThresholdTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/HierarchyThresholdTestCase.html new file mode 100644 index 00000000000..76298d33e34 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/HierarchyThresholdTestCase.html @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>HierarchyThresholdTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.XLevel; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> Test the configuration of the hierarchy-wide threshold.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">*/</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">static</strong> String TEMP = <span class="jxr_string">"output/temp"</span>; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">static</strong> Logger logger = Logger.getLogger(HierarchyThresholdTestCase.<strong class="jxr_keyword">class</strong>); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(String name) { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">super</strong>(name); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="45" href="#45">45</a> System.out.println(<span class="jxr_string">"Tearing down test case."</span>); +<a name="46" href="#46">46</a> logger.getLoggerRepository().resetConfiguration(); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="50" href="#50">50</a> PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold1.properties"</span>); +<a name="51" href="#51">51</a> common(); +<a name="52" href="#52">52</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.1"</span>)); +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="56" href="#56">56</a> PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold2.properties"</span>); +<a name="57" href="#57">57</a> common(); +<a name="58" href="#58">58</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.2"</span>)); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test3() <strong class="jxr_keyword">throws</strong> Exception { +<a name="62" href="#62">62</a> PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold3.properties"</span>); +<a name="63" href="#63">63</a> common(); +<a name="64" href="#64">64</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.3"</span>)); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test4() <strong class="jxr_keyword">throws</strong> Exception { +<a name="68" href="#68">68</a> PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold4.properties"</span>); +<a name="69" href="#69">69</a> common(); +<a name="70" href="#70">70</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.4"</span>)); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test5() <strong class="jxr_keyword">throws</strong> Exception { +<a name="74" href="#74">74</a> PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold5.properties"</span>); +<a name="75" href="#75">75</a> common(); +<a name="76" href="#76">76</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.5"</span>)); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test6() <strong class="jxr_keyword">throws</strong> Exception { +<a name="80" href="#80">80</a> PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold6.properties"</span>); +<a name="81" href="#81">81</a> common(); +<a name="82" href="#82">82</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.6"</span>)); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test7() <strong class="jxr_keyword">throws</strong> Exception { +<a name="86" href="#86">86</a> PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold7.properties"</span>); +<a name="87" href="#87">87</a> common(); +<a name="88" href="#88">88</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.7"</span>)); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test8() <strong class="jxr_keyword">throws</strong> Exception { +<a name="92" href="#92">92</a> PropertyConfigurator.configure(<span class="jxr_string">"input/hierarchyThreshold8.properties"</span>); +<a name="93" href="#93">93</a> common(); +<a name="94" href="#94">94</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/hierarchyThreshold.8"</span>)); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">static</strong> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">void</strong> common() { +<a name="100" href="#100">100</a> String oldThreadName = Thread.currentThread().getName(); +<a name="101" href="#101">101</a> Thread.currentThread().setName(<span class="jxr_string">"main"</span>); +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> logger.log(XLevel.TRACE, <span class="jxr_string">"m0"</span>); +<a name="104" href="#104">104</a> logger.debug(<span class="jxr_string">"m1"</span>); +<a name="105" href="#105">105</a> logger.info(<span class="jxr_string">"m2"</span>); +<a name="106" href="#106">106</a> logger.warn(<span class="jxr_string">"m3"</span>); +<a name="107" href="#107">107</a> logger.error(<span class="jxr_string">"m4"</span>); +<a name="108" href="#108">108</a> logger.fatal(<span class="jxr_string">"m5"</span>); +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> Thread.currentThread().setName(oldThreadName); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="114" href="#114">114</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="115" href="#115">115</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test1"</span>)); +<a name="116" href="#116">116</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test2"</span>)); +<a name="117" href="#117">117</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test3"</span>)); +<a name="118" href="#118">118</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test4"</span>)); +<a name="119" href="#119">119</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test5"</span>)); +<a name="120" href="#120">120</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test6"</span>)); +<a name="121" href="#121">121</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test7"</span>)); +<a name="122" href="#122">122</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/HierarchyThresholdTestCase.html">HierarchyThresholdTestCase</a>(<span class="jxr_string">"test8"</span>)); +<a name="123" href="#123">123</a> <strong class="jxr_keyword">return</strong> suite; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/Last.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/Last.html new file mode 100644 index 00000000000..4a2fc9d1100 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/Last.html @@ -0,0 +1,54 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Last xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/Last.html">Last</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Last.html">Last</a>(String name) { +<a name="27" href="#27">27</a> <strong class="jxr_keyword">super</strong>(name); +<a name="28" href="#28">28</a> } +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() { +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="35" href="#35">35</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="36" href="#36">36</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Last.html">Last</a>(<span class="jxr_string">"test1"</span>)); +<a name="37" href="#37">37</a> <strong class="jxr_keyword">return</strong> suite; +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LayoutTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LayoutTest.html new file mode 100644 index 00000000000..459abdf9426 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LayoutTest.html @@ -0,0 +1,182 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LayoutTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * Tests for Layout.</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LayoutTest.html">LayoutTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Expected content type.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String contentType; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Expected value for ignoresThrowable.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> ignoresThrowable; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * Expected value for header.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String header; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * Expected value for footer.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String footer; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * Construct a new instance of LayoutTest.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @param testName test name.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/LayoutTest.html">LayoutTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="55" href="#55">55</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="56" href="#56">56</a> contentType = <span class="jxr_string">"text/plain"</span>; +<a name="57" href="#57">57</a> ignoresThrowable = <strong class="jxr_keyword">true</strong>; +<a name="58" href="#58">58</a> header = <strong class="jxr_keyword">null</strong>; +<a name="59" href="#59">59</a> footer = <strong class="jxr_keyword">null</strong>; +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * Constructor for use by derived tests.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * @param testName name of test.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * @param expectedContentType expected value for getContentType().</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * @param expectedIgnoresThrowable expected value for ignoresThrowable().</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * @param expectedHeader expected value for getHeader().</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * @param expectedFooter expected value for getFooter().</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> */</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/LayoutTest.html">LayoutTest</a>( +<a name="71" href="#71">71</a> <strong class="jxr_keyword">final</strong> String testName, <strong class="jxr_keyword">final</strong> String expectedContentType, +<a name="72" href="#72">72</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> expectedIgnoresThrowable, <strong class="jxr_keyword">final</strong> String expectedHeader, +<a name="73" href="#73">73</a> <strong class="jxr_keyword">final</strong> String expectedFooter) { +<a name="74" href="#74">74</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="75" href="#75">75</a> contentType = expectedContentType; +<a name="76" href="#76">76</a> ignoresThrowable = expectedIgnoresThrowable; +<a name="77" href="#77">77</a> header = expectedHeader; +<a name="78" href="#78">78</a> footer = expectedFooter; +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment">/**</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * Tests Layout.LINE_SEP.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> */</em> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLineSep() { +<a name="85" href="#85">85</a> assertEquals(System.getProperty(<span class="jxr_string">"line.separator"</span>), Layout.LINE_SEP); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment">/**</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> * Tests Layout.LINE_SEP.</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> */</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLineSepLen() { +<a name="92" href="#92">92</a> assertEquals(Layout.LINE_SEP.length(), Layout.LINE_SEP_LEN); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment">/**</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * Creates layout for test.</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> * @return new instance of Layout.</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> */</em> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">protected</strong> Layout createLayout() { +<a name="100" href="#100">100</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LayoutTest.html">MockLayout</a>(); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment">/**</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> * Tests getContentType.</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> */</em> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetContentType() { +<a name="107" href="#107">107</a> assertEquals(contentType, createLayout().getContentType()); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">/**</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> * Tests ignoresThrowable.</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> */</em> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIgnoresThrowable() { +<a name="114" href="#114">114</a> assertEquals(ignoresThrowable, createLayout().ignoresThrowable()); +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">/**</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> * Tests getHeader.</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> */</em> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetHeader() { +<a name="121" href="#121">121</a> assertEquals(header, createLayout().getHeader()); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> * Tests getFooter.</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> */</em> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetFooter() { +<a name="128" href="#128">128</a> assertEquals(footer, createLayout().getFooter()); +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">/**</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> * Tests format.</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> * @throws Exception derived tests, particular XMLLayoutTest, may throw exceptions.</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> */</em> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormat() <strong class="jxr_keyword">throws</strong> Exception { +<a name="136" href="#136">136</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.LayoutTest"</span>); +<a name="137" href="#137">137</a> LoggingEvent event = +<a name="138" href="#138">138</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="139" href="#139">139</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.INFO, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="140" href="#140">140</a> String result = createLayout().format(event); +<a name="141" href="#141">141</a> assertEquals(<span class="jxr_string">"Mock"</span>, result); +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">/**</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> * Concrete Layout class for tests.</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> */</em> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LayoutTest.html">MockLayout</a> <strong class="jxr_keyword">extends</strong> Layout { +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">/**</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> */</em> +<a name="151" href="#151">151</a> <strong class="jxr_keyword">public</strong> String format(<strong class="jxr_keyword">final</strong> LoggingEvent event) { +<a name="152" href="#152">152</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Mock"</span>; +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">/**</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> */</em> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">/**</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> */</em> +<a name="164" href="#164">164</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> ignoresThrowable() { +<a name="165" href="#165">165</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LevelTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LevelTest.html new file mode 100644 index 00000000000..455721dae5b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LevelTest.html @@ -0,0 +1,281 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LevelTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Locale; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Tests of Level.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> *</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @since 1.2.12</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LevelTest.html">LevelTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * Constructs new instance of test.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @param name test name.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/LevelTest.html">LevelTest</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">super</strong>(name); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Serialize Level.INFO and check against witness.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> *</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSerializeINFO() <strong class="jxr_keyword">throws</strong> Exception { +<a name="47" href="#47">47</a> <strong class="jxr_keyword">int</strong>[] skip = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[] { }; +<a name="48" href="#48">48</a> SerializationTestHelper.assertSerializationEquals( +<a name="49" href="#49">49</a> <span class="jxr_string">"witness/serialization/info.bin"</span>, Level.INFO, skip, Integer.MAX_VALUE); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * Deserialize witness and see if resolved to Level.INFO.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDeserializeINFO() <strong class="jxr_keyword">throws</strong> Exception { +<a name="57" href="#57">57</a> Object obj = +<a name="58" href="#58">58</a> SerializationTestHelper.deserializeStream( +<a name="59" href="#59">59</a> <span class="jxr_string">"witness/serialization/info.bin"</span>); +<a name="60" href="#60">60</a> assertTrue(obj instanceof Level); +<a name="61" href="#61">61</a> Level info = (Level) obj; +<a name="62" href="#62">62</a> assertEquals(<span class="jxr_string">"INFO"</span>, info.toString()); +<a name="63" href="#63">63</a> <em class="jxr_comment">//</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">// JDK 1.1 doesn't support readResolve necessary for the assertion</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">if</strong> (!System.getProperty(<span class="jxr_string">"java.version"</span>).startsWith(<span class="jxr_string">"1.1."</span>)) { +<a name="66" href="#66">66</a> assertTrue(obj == Level.INFO); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * Tests that a custom level can be serialized and deserialized</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * and is not resolved to a stock level.</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> *</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testCustomLevelSerialization() <strong class="jxr_keyword">throws</strong> Exception { +<a name="77" href="#77">77</a> <a href="../../../org/apache/log4j/LevelTest.html">CustomLevel</a> custom = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LevelTest.html">CustomLevel</a>(); +<a name="78" href="#78">78</a> Object obj = SerializationTestHelper.serializeClone(custom); +<a name="79" href="#79">79</a> assertTrue(obj instanceof <a href="../../../org/apache/log4j/LevelTest.html">CustomLevel</a>); +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <a href="../../../org/apache/log4j/LevelTest.html">CustomLevel</a> clone = (CustomLevel) obj; +<a name="82" href="#82">82</a> assertEquals(Level.INFO.level, clone.level); +<a name="83" href="#83">83</a> assertEquals(Level.INFO.levelStr, clone.levelStr); +<a name="84" href="#84">84</a> assertEquals(Level.INFO.syslogEquivalent, clone.syslogEquivalent); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * Custom level to check that custom levels are</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> * serializable, but not resolved to a plain Level.</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> */</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LevelTest.html">CustomLevel</a> <strong class="jxr_keyword">extends</strong> Level { +<a name="92" href="#92">92</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L; +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment">/**</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * Create an instance of CustomLevel.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/LevelTest.html">CustomLevel</a>() { +<a name="97" href="#97">97</a> <strong class="jxr_keyword">super</strong>( +<a name="98" href="#98">98</a> Level.INFO.level, Level.INFO.levelStr, Level.INFO.syslogEquivalent); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">/**</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * Tests Level.TRACE_INT.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> */</em> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceInt() { +<a name="106" href="#106">106</a> assertEquals(5000, Level.TRACE_INT); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">/**</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> * Tests Level.TRACE.</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTrace() { +<a name="113" href="#113">113</a> assertEquals(<span class="jxr_string">"TRACE"</span>, Level.TRACE.toString()); +<a name="114" href="#114">114</a> assertEquals(5000, Level.TRACE.toInt()); +<a name="115" href="#115">115</a> assertEquals(7, Level.TRACE.getSyslogEquivalent()); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">/**</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> * Tests Level.toLevel(Level.TRACE_INT).</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> */</em> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIntToTrace() { +<a name="122" href="#122">122</a> Level trace = Level.toLevel(5000); +<a name="123" href="#123">123</a> assertEquals(<span class="jxr_string">"TRACE"</span>, trace.toString()); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * Tests Level.toLevel("TRACE");</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> */</em> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testStringToTrace() { +<a name="130" href="#130">130</a> Level trace = Level.toLevel(<span class="jxr_string">"TRACE"</span>); +<a name="131" href="#131">131</a> assertEquals(<span class="jxr_string">"TRACE"</span>, trace.toString()); +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">/**</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> * Tests that Level extends Priority.</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> */</em> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLevelExtendsPriority() { +<a name="138" href="#138">138</a> assertTrue(Priority.<strong class="jxr_keyword">class</strong>.isAssignableFrom(Level.<strong class="jxr_keyword">class</strong>)); +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">/**</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> * Tests Level.OFF.</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> */</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOFF() { +<a name="145" href="#145">145</a> assertTrue(Level.OFF instanceof Level); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">/**</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * Tests Level.FATAL.</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> */</em> +<a name="151" href="#151">151</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFATAL() { +<a name="152" href="#152">152</a> assertTrue(Level.FATAL instanceof Level); +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">/**</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> * Tests Level.ERROR.</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> */</em> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testERROR() { +<a name="159" href="#159">159</a> assertTrue(Level.ERROR instanceof Level); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">/**</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * Tests Level.WARN.</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWARN() { +<a name="166" href="#166">166</a> assertTrue(Level.WARN instanceof Level); +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">/**</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> * Tests Level.INFO.</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> */</em> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testINFO() { +<a name="173" href="#173">173</a> assertTrue(Level.INFO instanceof Level); +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">/**</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> * Tests Level.DEBUG.</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> */</em> +<a name="179" href="#179">179</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDEBUG() { +<a name="180" href="#180">180</a> assertTrue(Level.DEBUG instanceof Level); +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">/**</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> * Tests Level.TRACE.</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> */</em> +<a name="186" href="#186">186</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTRACE() { +<a name="187" href="#187">187</a> assertTrue(Level.TRACE instanceof Level); +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">/**</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> * Tests Level.ALL.</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> */</em> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testALL() { +<a name="194" href="#194">194</a> assertTrue(Level.ALL instanceof Level); +<a name="195" href="#195">195</a> } +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">/**</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> * Tests Level.serialVersionUID.</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> */</em> +<a name="200" href="#200">200</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSerialVersionUID() { +<a name="201" href="#201">201</a> assertEquals(3491141966387921974L, Level.serialVersionUID); +<a name="202" href="#202">202</a> } +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">/**</em> +<a name="205" href="#205">205</a> <em class="jxr_javadoccomment"> * Tests Level.toLevel(Level.All_INT).</em> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> */</em> +<a name="207" href="#207">207</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIntToAll() { +<a name="208" href="#208">208</a> Level level = Level.toLevel(Level.ALL_INT); +<a name="209" href="#209">209</a> assertEquals(<span class="jxr_string">"ALL"</span>, level.toString()); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">/**</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> * Tests Level.toLevel(Level.FATAL_INT).</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> */</em> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIntToFatal() { +<a name="216" href="#216">216</a> Level level = Level.toLevel(Level.FATAL_INT); +<a name="217" href="#217">217</a> assertEquals(<span class="jxr_string">"FATAL"</span>, level.toString()); +<a name="218" href="#218">218</a> } +<a name="219" href="#219">219</a> +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">/**</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> * Tests Level.toLevel(Level.OFF_INT).</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> */</em> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIntToOff() { +<a name="225" href="#225">225</a> Level level = Level.toLevel(Level.OFF_INT); +<a name="226" href="#226">226</a> assertEquals(<span class="jxr_string">"OFF"</span>, level.toString()); +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">/**</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> * Tests Level.toLevel(17, Level.FATAL).</em> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> */</em> +<a name="232" href="#232">232</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testToLevelUnrecognizedInt() { +<a name="233" href="#233">233</a> Level level = Level.toLevel(17, Level.FATAL); +<a name="234" href="#234">234</a> assertEquals(<span class="jxr_string">"FATAL"</span>, level.toString()); +<a name="235" href="#235">235</a> } +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment">/**</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> * Tests Level.toLevel(null, Level.FATAL).</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> */</em> +<a name="240" href="#240">240</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testToLevelNull() { +<a name="241" href="#241">241</a> Level level = Level.toLevel(<strong class="jxr_keyword">null</strong>, Level.FATAL); +<a name="242" href="#242">242</a> assertEquals(<span class="jxr_string">"FATAL"</span>, level.toString()); +<a name="243" href="#243">243</a> } +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment">/**</em> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> * Test that dotless lower I + "nfo" is recognized as INFO.</em> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment"> */</em> +<a name="248" href="#248">248</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDotlessLowerI() { +<a name="249" href="#249">249</a> Level level = Level.toLevel(<span class="jxr_string">"\u0131nfo"</span>); +<a name="250" href="#250">250</a> assertEquals(<span class="jxr_string">"INFO"</span>, level.toString()); +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment">/**</em> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> * Test that dotted lower I + "nfo" is recognized as INFO</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> * even in Turkish locale.</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> */</em> +<a name="257" href="#257">257</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDottedLowerI() { +<a name="258" href="#258">258</a> Locale defaultLocale = Locale.getDefault(); +<a name="259" href="#259">259</a> Locale turkey = <strong class="jxr_keyword">new</strong> Locale(<span class="jxr_string">"tr"</span>, <span class="jxr_string">"TR"</span>); +<a name="260" href="#260">260</a> Locale.setDefault(turkey); +<a name="261" href="#261">261</a> Level level = Level.toLevel(<span class="jxr_string">"info"</span>); +<a name="262" href="#262">262</a> Locale.setDefault(defaultLocale); +<a name="263" href="#263">263</a> assertEquals(<span class="jxr_string">"INFO"</span>, level.toString()); +<a name="264" href="#264">264</a> } +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LogCapture.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LogCapture.html new file mode 100644 index 00000000000..610cf4d359b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LogCapture.html @@ -0,0 +1,96 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogCapture xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.Assert; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.VectorAppender; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Helper class to set up and capture log messages.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> { +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * Appender.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> appender; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Expected level.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Level level; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * Creates new instance of LogCapture.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> *</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(<strong class="jxr_keyword">final</strong> Level level) { +<a name="48" href="#48">48</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> Logger root = Logger.getRootLogger(); +<a name="51" href="#51">51</a> appender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>(); +<a name="52" href="#52">52</a> root.addAppender(appender); +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * Get message.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * @return rendered message, null if no logging event captured.</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> */</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">public</strong> String getMessage() { +<a name="60" href="#60">60</a> Vector vector = appender.getVector(); +<a name="61" href="#61">61</a> String msg = <strong class="jxr_keyword">null</strong>; +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">switch</strong> (vector.size()) { +<a name="64" href="#64">64</a> <strong class="jxr_keyword">case</strong> 0: +<a name="65" href="#65">65</a> <strong class="jxr_keyword">break</strong>; +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">case</strong> 1: +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> LoggingEvent event = (LoggingEvent) vector.elementAt(0); +<a name="70" href="#70">70</a> Assert.assertNotNull(event); +<a name="71" href="#71">71</a> Assert.assertEquals(level, event.getLevel()); +<a name="72" href="#72">72</a> msg = event.getRenderedMessage(); +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">break</strong>; +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">default</strong>: +<a name="77" href="#77">77</a> Assert.fail(<span class="jxr_string">"More than one request captured"</span>); +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">return</strong> msg; +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LogManagerTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LogManagerTest.html new file mode 100644 index 00000000000..4218a641e52 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LogManagerTest.html @@ -0,0 +1,89 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogManagerTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Tests for LogManager</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> **/</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LogManagerTest.html">LogManagerTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Create new instance of LogManagerTest.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @param testName test name</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/LogManagerTest.html">LogManagerTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Check value of DEFAULT_CONFIGURATION_FILE.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * @deprecated since constant is deprecated</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultConfigurationFile() { +<a name="42" href="#42">42</a> assertEquals(<span class="jxr_string">"log4j.properties"</span>, LogManager.DEFAULT_CONFIGURATION_FILE); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * Check value of DEFAULT_XML_CONFIGURATION_FILE.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultXmlConfigurationFile() { +<a name="49" href="#49">49</a> assertEquals(<span class="jxr_string">"log4j.xml"</span>, LogManager.DEFAULT_XML_CONFIGURATION_FILE); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * Check value of DEFAULT_CONFIGURATION_KEY.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * @deprecated since constant is deprecated</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultConfigurationKey() { +<a name="57" href="#57">57</a> assertEquals(<span class="jxr_string">"log4j.configuration"</span>, LogManager.DEFAULT_CONFIGURATION_KEY); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * Check value of CONFIGURATOR_CLASS_KEY.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * @deprecated since constant is deprecated</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testConfiguratorClassKey() { +<a name="65" href="#65">65</a> assertEquals(<span class="jxr_string">"log4j.configuratorClass"</span>, LogManager.CONFIGURATOR_CLASS_KEY); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * Check value of DEFAULT_INIT_OVERRIDE_KEY.</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * @deprecated since constant is deprecated</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultInitOverrideKey() { +<a name="73" href="#73">73</a> assertEquals(<span class="jxr_string">"log4j.defaultInitOverride"</span>, LogManager.DEFAULT_INIT_OVERRIDE_KEY); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LoggerTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LoggerTestCase.html new file mode 100644 index 00000000000..d063e9e6d8a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/LoggerTestCase.html @@ -0,0 +1,513 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LoggerTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.RootLogger; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.HierarchyEventListener; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Locale; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.ResourceBundle; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> Used for internal unit testing the Logger class.</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">*/</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">LoggerTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> Logger logger; +<a name="40" href="#40">40</a> Appender a1; +<a name="41" href="#41">41</a> Appender a2; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> ResourceBundle rbUS; +<a name="44" href="#44">44</a> ResourceBundle rbFR; +<a name="45" href="#45">45</a> ResourceBundle rbCH; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">// A short message.</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">static</strong> String MSG = <span class="jxr_string">"M"</span>; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">LoggerTestCase</a>(String name) { +<a name="52" href="#52">52</a> <strong class="jxr_keyword">super</strong>(name); +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">void</strong> setUp() { +<a name="57" href="#57">57</a> rbUS = ResourceBundle.getBundle(<span class="jxr_string">"L7D"</span>, <strong class="jxr_keyword">new</strong> Locale(<span class="jxr_string">"en"</span>, <span class="jxr_string">"US"</span>)); +<a name="58" href="#58">58</a> assertNotNull(rbUS); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> rbFR = ResourceBundle.getBundle(<span class="jxr_string">"L7D"</span>, <strong class="jxr_keyword">new</strong> Locale(<span class="jxr_string">"fr"</span>, <span class="jxr_string">"FR"</span>)); +<a name="61" href="#61">61</a> assertNotNull(<span class="jxr_string">"Got a null resource bundle."</span>, rbFR); +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> rbCH = ResourceBundle.getBundle(<span class="jxr_string">"L7D"</span>, <strong class="jxr_keyword">new</strong> Locale(<span class="jxr_string">"fr"</span>, <span class="jxr_string">"CH"</span>)); +<a name="64" href="#64">64</a> assertNotNull(<span class="jxr_string">"Got a null resource bundle."</span>, rbCH); +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="70" href="#70">70</a> <em class="jxr_comment">// Regular users should not use the clear method lightly!</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">//Logger.getDefaultHierarchy().clear();</em> +<a name="72" href="#72">72</a> BasicConfigurator.resetConfiguration(); +<a name="73" href="#73">73</a> a1 = <strong class="jxr_keyword">null</strong>; +<a name="74" href="#74">74</a> a2 = <strong class="jxr_keyword">null</strong>; +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment">/**</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> Add an appender and see if it can be retrieved.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> */</em> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">public</strong> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">void</strong> testAppender1() { +<a name="82" href="#82">82</a> logger = Logger.getLogger(<span class="jxr_string">"test"</span>); +<a name="83" href="#83">83</a> a1 = <strong class="jxr_keyword">new</strong> FileAppender(); +<a name="84" href="#84">84</a> a1.setName(<span class="jxr_string">"testAppender1"</span>); +<a name="85" href="#85">85</a> logger.addAppender(a1); +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> Enumeration enumeration = logger.getAllAppenders(); +<a name="88" href="#88">88</a> Appender aHat = (Appender) enumeration.nextElement(); +<a name="89" href="#89">89</a> assertEquals(a1, aHat); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> Add an appender X, Y, remove X and check if Y is the only</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> remaining appender.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">void</strong> testAppender2() { +<a name="98" href="#98">98</a> a1 = <strong class="jxr_keyword">new</strong> FileAppender(); +<a name="99" href="#99">99</a> a1.setName(<span class="jxr_string">"testAppender2.1"</span>); +<a name="100" href="#100">100</a> a2 = <strong class="jxr_keyword">new</strong> FileAppender(); +<a name="101" href="#101">101</a> a2.setName(<span class="jxr_string">"testAppender2.2"</span>); +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> logger = Logger.getLogger(<span class="jxr_string">"test"</span>); +<a name="104" href="#104">104</a> logger.addAppender(a1); +<a name="105" href="#105">105</a> logger.addAppender(a2); +<a name="106" href="#106">106</a> logger.removeAppender(<span class="jxr_string">"testAppender2.1"</span>); +<a name="107" href="#107">107</a> Enumeration enumeration = logger.getAllAppenders(); +<a name="108" href="#108">108</a> Appender aHat = (Appender) enumeration.nextElement(); +<a name="109" href="#109">109</a> assertEquals(a2, aHat); +<a name="110" href="#110">110</a> assertTrue(!enumeration.hasMoreElements()); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">/**</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> Test if logger a.b inherits its appender from a.</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> */</em> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">public</strong> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">void</strong> testAdditivity1() { +<a name="118" href="#118">118</a> Logger a = Logger.getLogger(<span class="jxr_string">"a"</span>); +<a name="119" href="#119">119</a> Logger ab = Logger.getLogger(<span class="jxr_string">"a.b"</span>); +<a name="120" href="#120">120</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> ca = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="121" href="#121">121</a> a.addAppender(ca); +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> assertEquals(ca.counter, 0); +<a name="124" href="#124">124</a> ab.debug(MSG); assertEquals(ca.counter, 1); +<a name="125" href="#125">125</a> ab.info(MSG); assertEquals(ca.counter, 2); +<a name="126" href="#126">126</a> ab.warn(MSG); assertEquals(ca.counter, 3); +<a name="127" href="#127">127</a> ab.error(MSG); assertEquals(ca.counter, 4); +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">/**</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> Test multiple additivity.</em> +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> */</em> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">public</strong> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">void</strong> testAdditivity2() { +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> Logger a = Logger.getLogger(<span class="jxr_string">"a"</span>); +<a name="140" href="#140">140</a> Logger ab = Logger.getLogger(<span class="jxr_string">"a.b"</span>); +<a name="141" href="#141">141</a> Logger abc = Logger.getLogger(<span class="jxr_string">"a.b.c"</span>); +<a name="142" href="#142">142</a> Logger x = Logger.getLogger(<span class="jxr_string">"x"</span>); +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> ca1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="145" href="#145">145</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> ca2 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> a.addAppender(ca1); +<a name="148" href="#148">148</a> abc.addAppender(ca2); +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> assertEquals(ca1.counter, 0); +<a name="151" href="#151">151</a> assertEquals(ca2.counter, 0); +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> ab.debug(MSG); +<a name="154" href="#154">154</a> assertEquals(ca1.counter, 1); +<a name="155" href="#155">155</a> assertEquals(ca2.counter, 0); +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> abc.debug(MSG); +<a name="158" href="#158">158</a> assertEquals(ca1.counter, 2); +<a name="159" href="#159">159</a> assertEquals(ca2.counter, 1); +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> x.debug(MSG); +<a name="162" href="#162">162</a> assertEquals(ca1.counter, 2); +<a name="163" href="#163">163</a> assertEquals(ca2.counter, 1); +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">/**</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> Test additivity flag.</em> +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> */</em> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">public</strong> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">void</strong> testAdditivity3() { +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> Logger root = Logger.getRootLogger(); +<a name="174" href="#174">174</a> Logger a = Logger.getLogger(<span class="jxr_string">"a"</span>); +<a name="175" href="#175">175</a> Logger ab = Logger.getLogger(<span class="jxr_string">"a.b"</span>); +<a name="176" href="#176">176</a> Logger abc = Logger.getLogger(<span class="jxr_string">"a.b.c"</span>); +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> caRoot = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="179" href="#179">179</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> caA = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="180" href="#180">180</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> caABC = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> root.addAppender(caRoot); +<a name="183" href="#183">183</a> a.addAppender(caA); +<a name="184" href="#184">184</a> abc.addAppender(caABC); +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> assertEquals(caRoot.counter, 0); +<a name="187" href="#187">187</a> assertEquals(caA.counter, 0); +<a name="188" href="#188">188</a> assertEquals(caABC.counter, 0); +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> ab.setAdditivity(false); +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> a.debug(MSG); +<a name="194" href="#194">194</a> assertEquals(caRoot.counter, 1); +<a name="195" href="#195">195</a> assertEquals(caA.counter, 1); +<a name="196" href="#196">196</a> assertEquals(caABC.counter, 0); +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> ab.debug(MSG); +<a name="199" href="#199">199</a> assertEquals(caRoot.counter, 1); +<a name="200" href="#200">200</a> assertEquals(caA.counter, 1); +<a name="201" href="#201">201</a> assertEquals(caABC.counter, 0); +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> abc.debug(MSG); +<a name="204" href="#204">204</a> assertEquals(caRoot.counter, 1); +<a name="205" href="#205">205</a> assertEquals(caA.counter, 1); +<a name="206" href="#206">206</a> assertEquals(caABC.counter, 1); +<a name="207" href="#207">207</a> +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">public</strong> +<a name="212" href="#212">212</a> <strong class="jxr_keyword">void</strong> testDisable1() { +<a name="213" href="#213">213</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> caRoot = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="214" href="#214">214</a> Logger root = Logger.getRootLogger(); +<a name="215" href="#215">215</a> root.addAppender(caRoot); +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> LoggerRepository h = LogManager.getLoggerRepository(); +<a name="218" href="#218">218</a> <em class="jxr_comment">//h.disableDebug();</em> +<a name="219" href="#219">219</a> h.setThreshold((Level) Level.INFO); +<a name="220" href="#220">220</a> assertEquals(caRoot.counter, 0); +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> root.debug(MSG); assertEquals(caRoot.counter, 0); +<a name="223" href="#223">223</a> root.info(MSG); assertEquals(caRoot.counter, 1); +<a name="224" href="#224">224</a> root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 2); +<a name="225" href="#225">225</a> root.warn(MSG); assertEquals(caRoot.counter, 3); +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> <em class="jxr_comment">//h.disableInfo();</em> +<a name="228" href="#228">228</a> h.setThreshold((Level) Level.WARN); +<a name="229" href="#229">229</a> root.debug(MSG); assertEquals(caRoot.counter, 3); +<a name="230" href="#230">230</a> root.info(MSG); assertEquals(caRoot.counter, 3); +<a name="231" href="#231">231</a> root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 4); +<a name="232" href="#232">232</a> root.error(MSG); assertEquals(caRoot.counter, 5); +<a name="233" href="#233">233</a> root.log(Level.ERROR, MSG); assertEquals(caRoot.counter, 6); +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <em class="jxr_comment">//h.disableAll();</em> +<a name="236" href="#236">236</a> h.setThreshold(Level.OFF); +<a name="237" href="#237">237</a> root.debug(MSG); assertEquals(caRoot.counter, 6); +<a name="238" href="#238">238</a> root.info(MSG); assertEquals(caRoot.counter, 6); +<a name="239" href="#239">239</a> root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 6); +<a name="240" href="#240">240</a> root.error(MSG); assertEquals(caRoot.counter, 6); +<a name="241" href="#241">241</a> root.log(Level.FATAL, MSG); assertEquals(caRoot.counter, 6); +<a name="242" href="#242">242</a> root.log(Level.FATAL, MSG); assertEquals(caRoot.counter, 6); +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> <em class="jxr_comment">//h.disable(Level.FATAL);</em> +<a name="245" href="#245">245</a> h.setThreshold(Level.OFF); +<a name="246" href="#246">246</a> root.debug(MSG); assertEquals(caRoot.counter, 6); +<a name="247" href="#247">247</a> root.info(MSG); assertEquals(caRoot.counter, 6); +<a name="248" href="#248">248</a> root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 6); +<a name="249" href="#249">249</a> root.error(MSG); assertEquals(caRoot.counter, 6); +<a name="250" href="#250">250</a> root.log(Level.ERROR, MSG); assertEquals(caRoot.counter, 6); +<a name="251" href="#251">251</a> root.log(Level.FATAL, MSG); assertEquals(caRoot.counter, 6); +<a name="252" href="#252">252</a> } +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> +<a name="255" href="#255">255</a> <strong class="jxr_keyword">public</strong> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">void</strong> testRB1() { +<a name="257" href="#257">257</a> Logger root = Logger.getRootLogger(); +<a name="258" href="#258">258</a> root.setResourceBundle(rbUS); +<a name="259" href="#259">259</a> ResourceBundle t = root.getResourceBundle(); +<a name="260" href="#260">260</a> assertSame(t, rbUS); +<a name="261" href="#261">261</a> +<a name="262" href="#262">262</a> Logger x = Logger.getLogger(<span class="jxr_string">"x"</span>); +<a name="263" href="#263">263</a> Logger x_y = Logger.getLogger(<span class="jxr_string">"x.y"</span>); +<a name="264" href="#264">264</a> Logger x_y_z = Logger.getLogger(<span class="jxr_string">"x.y.z"</span>); +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> t = x.getResourceBundle(); assertSame(t, rbUS); +<a name="267" href="#267">267</a> t = x_y.getResourceBundle(); assertSame(t, rbUS); +<a name="268" href="#268">268</a> t = x_y_z.getResourceBundle(); assertSame(t, rbUS); +<a name="269" href="#269">269</a> } +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> <strong class="jxr_keyword">public</strong> +<a name="272" href="#272">272</a> <strong class="jxr_keyword">void</strong> testRB2() { +<a name="273" href="#273">273</a> Logger root = Logger.getRootLogger(); +<a name="274" href="#274">274</a> root.setResourceBundle(rbUS); +<a name="275" href="#275">275</a> ResourceBundle t = root.getResourceBundle(); +<a name="276" href="#276">276</a> assertSame(t, rbUS); +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> Logger x = Logger.getLogger(<span class="jxr_string">"x"</span>); +<a name="279" href="#279">279</a> Logger x_y = Logger.getLogger(<span class="jxr_string">"x.y"</span>); +<a name="280" href="#280">280</a> Logger x_y_z = Logger.getLogger(<span class="jxr_string">"x.y.z"</span>); +<a name="281" href="#281">281</a> +<a name="282" href="#282">282</a> x_y.setResourceBundle(rbFR); +<a name="283" href="#283">283</a> t = x.getResourceBundle(); assertSame(t, rbUS); +<a name="284" href="#284">284</a> t = x_y.getResourceBundle(); assertSame(t, rbFR); +<a name="285" href="#285">285</a> t = x_y_z.getResourceBundle(); assertSame(t, rbFR); +<a name="286" href="#286">286</a> } +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> <strong class="jxr_keyword">public</strong> +<a name="290" href="#290">290</a> <strong class="jxr_keyword">void</strong> testRB3() { +<a name="291" href="#291">291</a> Logger root = Logger.getRootLogger(); +<a name="292" href="#292">292</a> root.setResourceBundle(rbUS); +<a name="293" href="#293">293</a> ResourceBundle t = root.getResourceBundle(); +<a name="294" href="#294">294</a> assertSame(t, rbUS); +<a name="295" href="#295">295</a> +<a name="296" href="#296">296</a> Logger x = Logger.getLogger(<span class="jxr_string">"x"</span>); +<a name="297" href="#297">297</a> Logger x_y = Logger.getLogger(<span class="jxr_string">"x.y"</span>); +<a name="298" href="#298">298</a> Logger x_y_z = Logger.getLogger(<span class="jxr_string">"x.y.z"</span>); +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> x_y.setResourceBundle(rbFR); +<a name="301" href="#301">301</a> x_y_z.setResourceBundle(rbCH); +<a name="302" href="#302">302</a> t = x.getResourceBundle(); assertSame(t, rbUS); +<a name="303" href="#303">303</a> t = x_y.getResourceBundle(); assertSame(t, rbFR); +<a name="304" href="#304">304</a> t = x_y_z.getResourceBundle(); assertSame(t, rbCH); +<a name="305" href="#305">305</a> } +<a name="306" href="#306">306</a> +<a name="307" href="#307">307</a> <strong class="jxr_keyword">public</strong> +<a name="308" href="#308">308</a> <strong class="jxr_keyword">void</strong> testExists() { +<a name="309" href="#309">309</a> Logger a = Logger.getLogger(<span class="jxr_string">"a"</span>); +<a name="310" href="#310">310</a> Logger a_b = Logger.getLogger(<span class="jxr_string">"a.b"</span>); +<a name="311" href="#311">311</a> Logger a_b_c = Logger.getLogger(<span class="jxr_string">"a.b.c"</span>); +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> Logger t; +<a name="314" href="#314">314</a> t = LogManager.exists(<span class="jxr_string">"xx"</span>); assertNull(t); +<a name="315" href="#315">315</a> t = LogManager.exists(<span class="jxr_string">"a"</span>); assertSame(a, t); +<a name="316" href="#316">316</a> t = LogManager.exists(<span class="jxr_string">"a.b"</span>); assertSame(a_b, t); +<a name="317" href="#317">317</a> t = LogManager.exists(<span class="jxr_string">"a.b.c"</span>); assertSame(a_b_c, t); +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> <strong class="jxr_keyword">public</strong> +<a name="321" href="#321">321</a> <strong class="jxr_keyword">void</strong> testHierarchy1() { +<a name="322" href="#322">322</a> Hierarchy h = <strong class="jxr_keyword">new</strong> Hierarchy(<strong class="jxr_keyword">new</strong> RootLogger((Level) Level.ERROR)); +<a name="323" href="#323">323</a> Logger a0 = h.getLogger(<span class="jxr_string">"a"</span>); +<a name="324" href="#324">324</a> assertEquals(<span class="jxr_string">"a"</span>, a0.getName()); +<a name="325" href="#325">325</a> assertNull(a0.getLevel()); +<a name="326" href="#326">326</a> assertSame(Level.ERROR, a0.getEffectiveLevel()); +<a name="327" href="#327">327</a> +<a name="328" href="#328">328</a> Logger a1 = h.getLogger(<span class="jxr_string">"a"</span>); +<a name="329" href="#329">329</a> assertSame(a0, a1); +<a name="330" href="#330">330</a> } +<a name="331" href="#331">331</a> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">/**</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> * Tests logger.trace(Object).</em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> * @since 1.2.12</em> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment"> */</em> +<a name="336" href="#336">336</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTrace() { +<a name="337" href="#337">337</a> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> appender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>(); +<a name="338" href="#338">338</a> appender.activateOptions(); +<a name="339" href="#339">339</a> Logger root = Logger.getRootLogger(); +<a name="340" href="#340">340</a> root.addAppender(appender); +<a name="341" href="#341">341</a> root.setLevel(Level.INFO); +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> Logger tracer = Logger.getLogger(<span class="jxr_string">"com.example.Tracer"</span>); +<a name="344" href="#344">344</a> tracer.setLevel(Level.TRACE); +<a name="345" href="#345">345</a> +<a name="346" href="#346">346</a> tracer.trace(<span class="jxr_string">"Message 1"</span>); +<a name="347" href="#347">347</a> root.trace(<span class="jxr_string">"Discarded Message"</span>); +<a name="348" href="#348">348</a> root.trace(<span class="jxr_string">"Discarded Message"</span>); +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> Vector msgs = appender.getVector(); +<a name="351" href="#351">351</a> assertEquals(1, msgs.size()); +<a name="352" href="#352">352</a> LoggingEvent event = (LoggingEvent) msgs.elementAt(0); +<a name="353" href="#353">353</a> assertEquals(Level.TRACE, event.getLevel()); +<a name="354" href="#354">354</a> assertEquals(<span class="jxr_string">"Message 1"</span>, event.getMessage()); +<a name="355" href="#355">355</a> } +<a name="356" href="#356">356</a> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment">/**</em> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment"> * Tests logger.trace(Object, Exception).</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> * @since 1.2.12</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> */</em> +<a name="361" href="#361">361</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceWithException() { +<a name="362" href="#362">362</a> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> appender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>(); +<a name="363" href="#363">363</a> appender.activateOptions(); +<a name="364" href="#364">364</a> Logger root = Logger.getRootLogger(); +<a name="365" href="#365">365</a> root.addAppender(appender); +<a name="366" href="#366">366</a> root.setLevel(Level.INFO); +<a name="367" href="#367">367</a> +<a name="368" href="#368">368</a> Logger tracer = Logger.getLogger(<span class="jxr_string">"com.example.Tracer"</span>); +<a name="369" href="#369">369</a> tracer.setLevel(Level.TRACE); +<a name="370" href="#370">370</a> NullPointerException ex = <strong class="jxr_keyword">new</strong> NullPointerException(); +<a name="371" href="#371">371</a> +<a name="372" href="#372">372</a> tracer.trace(<span class="jxr_string">"Message 1"</span>, ex); +<a name="373" href="#373">373</a> root.trace(<span class="jxr_string">"Discarded Message"</span>, ex); +<a name="374" href="#374">374</a> root.trace(<span class="jxr_string">"Discarded Message"</span>, ex); +<a name="375" href="#375">375</a> +<a name="376" href="#376">376</a> Vector msgs = appender.getVector(); +<a name="377" href="#377">377</a> assertEquals(1, msgs.size()); +<a name="378" href="#378">378</a> LoggingEvent event = (LoggingEvent) msgs.elementAt(0); +<a name="379" href="#379">379</a> assertEquals(Level.TRACE, event.getLevel()); +<a name="380" href="#380">380</a> assertEquals(<span class="jxr_string">"Message 1"</span>, event.getMessage()); +<a name="381" href="#381">381</a> } +<a name="382" href="#382">382</a> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment">/**</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> * Tests isTraceEnabled.</em> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment"> * @since 1.2.12</em> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> */</em> +<a name="387" href="#387">387</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIsTraceEnabled() { +<a name="388" href="#388">388</a> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> appender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>(); +<a name="389" href="#389">389</a> appender.activateOptions(); +<a name="390" href="#390">390</a> Logger root = Logger.getRootLogger(); +<a name="391" href="#391">391</a> root.addAppender(appender); +<a name="392" href="#392">392</a> root.setLevel(Level.INFO); +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> Logger tracer = Logger.getLogger(<span class="jxr_string">"com.example.Tracer"</span>); +<a name="395" href="#395">395</a> tracer.setLevel(Level.TRACE); +<a name="396" href="#396">396</a> +<a name="397" href="#397">397</a> assertTrue(tracer.isTraceEnabled()); +<a name="398" href="#398">398</a> assertFalse(root.isTraceEnabled()); +<a name="399" href="#399">399</a> } +<a name="400" href="#400">400</a> +<a name="401" href="#401">401</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingHierarchyEventListener</a> implements HierarchyEventListener { +<a name="402" href="#402">402</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> addEventCount; +<a name="403" href="#403">403</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> removeEventCount; +<a name="404" href="#404">404</a> +<a name="405" href="#405">405</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingHierarchyEventListener</a>() { +<a name="406" href="#406">406</a> addEventCount = removeEventCount = 0; +<a name="407" href="#407">407</a> } +<a name="408" href="#408">408</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addAppenderEvent(Category cat, Appender appender) { +<a name="409" href="#409">409</a> addEventCount++; +<a name="410" href="#410">410</a> } +<a name="411" href="#411">411</a> +<a name="412" href="#412">412</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeAppenderEvent(Category cat, Appender appender) { +<a name="413" href="#413">413</a> removeEventCount++; +<a name="414" href="#414">414</a> } +<a name="415" href="#415">415</a> +<a name="416" href="#416">416</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getAddEventCount() { +<a name="417" href="#417">417</a> <strong class="jxr_keyword">return</strong> addEventCount; +<a name="418" href="#418">418</a> } +<a name="419" href="#419">419</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getRemoveEventCount() { +<a name="420" href="#420">420</a> <strong class="jxr_keyword">return</strong> removeEventCount; +<a name="421" href="#421">421</a> } +<a name="422" href="#422">422</a> } +<a name="423" href="#423">423</a> +<a name="424" href="#424">424</a> +<a name="425" href="#425">425</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAppenderEvent1() { +<a name="426" href="#426">426</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingHierarchyEventListener</a> listener = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingHierarchyEventListener</a>(); +<a name="427" href="#427">427</a> LogManager.getLoggerRepository().addHierarchyEventListener(listener); +<a name="428" href="#428">428</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> appender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="429" href="#429">429</a> Logger root = Logger.getRootLogger(); +<a name="430" href="#430">430</a> root.addAppender(appender); +<a name="431" href="#431">431</a> assertEquals(1, listener.getAddEventCount()); +<a name="432" href="#432">432</a> assertEquals(0, listener.getRemoveEventCount()); +<a name="433" href="#433">433</a> root.removeAppender(appender); +<a name="434" href="#434">434</a> assertEquals(1, listener.getAddEventCount()); +<a name="435" href="#435">435</a> assertEquals(1, listener.getRemoveEventCount()); +<a name="436" href="#436">436</a> } +<a name="437" href="#437">437</a> +<a name="438" href="#438">438</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAppenderEvent2() { +<a name="439" href="#439">439</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingHierarchyEventListener</a> listener = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingHierarchyEventListener</a>(); +<a name="440" href="#440">440</a> LogManager.getLoggerRepository().addHierarchyEventListener(listener); +<a name="441" href="#441">441</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> appender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="442" href="#442">442</a> appender.setName(<span class="jxr_string">"A1"</span>); +<a name="443" href="#443">443</a> Logger root = Logger.getRootLogger(); +<a name="444" href="#444">444</a> root.addAppender(appender); +<a name="445" href="#445">445</a> assertEquals(1, listener.getAddEventCount()); +<a name="446" href="#446">446</a> assertEquals(0, listener.getRemoveEventCount()); +<a name="447" href="#447">447</a> root.removeAppender(appender.getName()); +<a name="448" href="#448">448</a> assertEquals(1, listener.getAddEventCount()); +<a name="449" href="#449">449</a> assertEquals(1, listener.getRemoveEventCount()); +<a name="450" href="#450">450</a> } +<a name="451" href="#451">451</a> +<a name="452" href="#452">452</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAppenderEvent3() { +<a name="453" href="#453">453</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingHierarchyEventListener</a> listener = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingHierarchyEventListener</a>(); +<a name="454" href="#454">454</a> LogManager.getLoggerRepository().addHierarchyEventListener(listener); +<a name="455" href="#455">455</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> appender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="456" href="#456">456</a> Logger root = Logger.getRootLogger(); +<a name="457" href="#457">457</a> root.addAppender(appender); +<a name="458" href="#458">458</a> assertEquals(1, listener.getAddEventCount()); +<a name="459" href="#459">459</a> assertEquals(0, listener.getRemoveEventCount()); +<a name="460" href="#460">460</a> root.removeAllAppenders(); +<a name="461" href="#461">461</a> assertEquals(1, listener.getAddEventCount()); +<a name="462" href="#462">462</a> assertEquals(1, listener.getRemoveEventCount()); +<a name="463" href="#463">463</a> } +<a name="464" href="#464">464</a> +<a name="465" href="#465">465</a> +<a name="466" href="#466">466</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAppenderEvent4() { +<a name="467" href="#467">467</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingHierarchyEventListener</a> listener = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingHierarchyEventListener</a>(); +<a name="468" href="#468">468</a> LogManager.getLoggerRepository().addHierarchyEventListener(listener); +<a name="469" href="#469">469</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> appender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>(); +<a name="470" href="#470">470</a> Logger root = Logger.getRootLogger(); +<a name="471" href="#471">471</a> root.addAppender(appender); +<a name="472" href="#472">472</a> assertEquals(1, listener.getAddEventCount()); +<a name="473" href="#473">473</a> assertEquals(0, listener.getRemoveEventCount()); +<a name="474" href="#474">474</a> LogManager.resetConfiguration(); +<a name="475" href="#475">475</a> assertEquals(1, listener.getAddEventCount()); +<a name="476" href="#476">476</a> assertEquals(1, listener.getRemoveEventCount()); +<a name="477" href="#477">477</a> } +<a name="478" href="#478">478</a> +<a name="479" href="#479">479</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a> <strong class="jxr_keyword">extends</strong> AppenderSkeleton { +<a name="480" href="#480">480</a> +<a name="481" href="#481">481</a> <strong class="jxr_keyword">int</strong> counter; +<a name="482" href="#482">482</a> +<a name="483" href="#483">483</a> <a href="../../../org/apache/log4j/LoggerTestCase.html">CountingAppender</a>() { +<a name="484" href="#484">484</a> counter = 0; +<a name="485" href="#485">485</a> } +<a name="486" href="#486">486</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="487" href="#487">487</a> } +<a name="488" href="#488">488</a> +<a name="489" href="#489">489</a> <strong class="jxr_keyword">public</strong> +<a name="490" href="#490">490</a> <strong class="jxr_keyword">void</strong> append(LoggingEvent event) { +<a name="491" href="#491">491</a> counter++; +<a name="492" href="#492">492</a> } +<a name="493" href="#493">493</a> +<a name="494" href="#494">494</a> <strong class="jxr_keyword">public</strong> +<a name="495" href="#495">495</a> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="496" href="#496">496</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="497" href="#497">497</a> } +<a name="498" href="#498">498</a> } +<a name="499" href="#499">499</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MDCOrderFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MDCOrderFilter.html new file mode 100644 index 00000000000..a1553377e04 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MDCOrderFilter.html @@ -0,0 +1,77 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MDCOrderFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * This class switches MDC values into the order</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * (unreasonably) expected by the witness files.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> */</em> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/MDCOrderFilter.html">MDCOrderFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Unexpected orders of keys.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * Note expected values are "va-one-one" and "va-one-two".</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] patterns = +<a name="31" href="#31">31</a> <strong class="jxr_keyword">new</strong> String[] { +<a name="32" href="#32">32</a> <span class="jxr_string">"{key2,va12}{key1,va11}"</span>, +<a name="33" href="#33">33</a> <span class="jxr_string">"{key2,value2}{key1,value1}"</span> +<a name="34" href="#34">34</a> }; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * Replacement values.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] replacements = +<a name="40" href="#40">40</a> <strong class="jxr_keyword">new</strong> String[] { +<a name="41" href="#41">41</a> <span class="jxr_string">"{key1,va11}{key2,va12}"</span>, +<a name="42" href="#42">42</a> <span class="jxr_string">"{key1,value1}{key2,value2}"</span> +<a name="43" href="#43">43</a> }; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * Switch order of MDC keys when not in expected order.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> String filter(<strong class="jxr_keyword">final</strong> String in) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">if</strong> (in == <strong class="jxr_keyword">null</strong>) { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; patterns.length; i++) { +<a name="54" href="#54">54</a> <strong class="jxr_keyword">int</strong> ipos = in.indexOf(patterns[i]); +<a name="55" href="#55">55</a> <strong class="jxr_keyword">if</strong> (ipos &gt;= 1) { +<a name="56" href="#56">56</a> <strong class="jxr_keyword">return</strong> in.substring(0, ipos) +<a name="57" href="#57">57</a> + replacements[i] +<a name="58" href="#58">58</a> + in.substring(ipos + patterns[i].length()); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> <strong class="jxr_keyword">return</strong> in; +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MinimumTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MinimumTestCase.html new file mode 100644 index 00000000000..d0376f45f47 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MinimumTestCase.html @@ -0,0 +1,219 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MinimumTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.AbsoluteTimeDateFormat; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.*; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> A superficial but general test of log4j.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/MinimumTestCase.html">MinimumTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">static</strong> String FILTERED = <span class="jxr_string">"output/filtered"</span>; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">static</strong> String EXCEPTION1 = <span class="jxr_string">"java.lang.Exception: Just testing"</span>; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">static</strong> String EXCEPTION2 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*&#92;&#92;)"</span>; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">static</strong> String EXCEPTION3 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(Native Method&#92;&#92;)"</span>; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">static</strong> String EXCEPTION4 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*Compiled Code&#92;&#92;)"</span>; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">static</strong> String EXCEPTION5 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*libgcj.*&#92;&#92;)"</span>; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">//18 fevr. 2002 20:02:41,551 [main] FATAL ERR - Message 0</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">static</strong> String TTCC_PAT = Filter.ABSOLUTE_DATE_AND_TIME_PAT+ +<a name="43" href="#43">43</a> <span class="jxr_string">" &#92;&#92;[main]&#92;&#92; (TRACE|DEBUG|INFO|WARN|ERROR|FATAL) .* - Message &#92;&#92;d{1,2}"</span>; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> String TTCC2_PAT = Filter.ABSOLUTE_DATE_AND_TIME_PAT+ +<a name="46" href="#46">46</a> <span class="jxr_string">" &#92;&#92;[main]&#92;&#92; (TRACE|DEBUG|INFO|WARN|ERROR|FATAL) .* - Messages should bear numbers 0 through 29&#92;&#92;."</span>; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_comment">//18 fvr. 2002 19:49:53,456</em> +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> Logger root; +<a name="51" href="#51">51</a> Logger logger; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/MinimumTestCase.html">MinimumTestCase</a>(String name) { +<a name="54" href="#54">54</a> <strong class="jxr_keyword">super</strong>(name); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="58" href="#58">58</a> root = Logger.getRootLogger(); +<a name="59" href="#59">59</a> root.removeAllAppenders(); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="63" href="#63">63</a> root.getLoggerRepository().resetConfiguration(); +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> simple() <strong class="jxr_keyword">throws</strong> Exception { +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> Layout layout = <strong class="jxr_keyword">new</strong> SimpleLayout(); +<a name="69" href="#69">69</a> Appender appender = <strong class="jxr_keyword">new</strong> FileAppender(layout, <span class="jxr_string">"output/simple"</span>, false); +<a name="70" href="#70">70</a> root.addAppender(appender); +<a name="71" href="#71">71</a> common(); +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> Transformer.transform( +<a name="74" href="#74">74</a> <span class="jxr_string">"output/simple"</span>, FILTERED, +<a name="75" href="#75">75</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="76" href="#76">76</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), +<a name="77" href="#77">77</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() }); +<a name="78" href="#78">78</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/simple"</span>)); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> ttcc() <strong class="jxr_keyword">throws</strong> Exception { +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> Layout layout = <strong class="jxr_keyword">new</strong> TTCCLayout(AbsoluteTimeDateFormat.DATE_AND_TIME_DATE_FORMAT); +<a name="84" href="#84">84</a> Appender appender = <strong class="jxr_keyword">new</strong> FileAppender(layout, <span class="jxr_string">"output/ttcc"</span>, false); +<a name="85" href="#85">85</a> root.addAppender(appender); +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> String oldName = Thread.currentThread().getName(); +<a name="88" href="#88">88</a> Thread.currentThread().setName(<span class="jxr_string">"main"</span>); +<a name="89" href="#89">89</a> common(); +<a name="90" href="#90">90</a> Thread.currentThread().setName(oldName); +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{TTCC_PAT, +<a name="93" href="#93">93</a> TTCC2_PAT, EXCEPTION1, EXCEPTION2, +<a name="94" href="#94">94</a> EXCEPTION3, EXCEPTION4, EXCEPTION5 }); +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> Transformer.transform( +<a name="97" href="#97">97</a> <span class="jxr_string">"output/ttcc"</span>, FILTERED, +<a name="98" href="#98">98</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="99" href="#99">99</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), +<a name="100" href="#100">100</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html">AbsoluteDateAndTimeFilter</a>(), +<a name="101" href="#101">101</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> JunitTestRunnerFilter() +<a name="102" href="#102">102</a> }); +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/ttcc"</span>)); +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">void</strong> common() { +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">int</strong> i = 0; +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_comment">// In the lines below, the category names are chosen as an aid in</em> +<a name="113" href="#113">113</a> <em class="jxr_comment">// remembering their level values. In general, the category names</em> +<a name="114" href="#114">114</a> <em class="jxr_comment">// have no bearing to level values.</em> +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> Logger ERR = Logger.getLogger(<span class="jxr_string">"ERR"</span>); +<a name="117" href="#117">117</a> ERR.setLevel(Level.ERROR); +<a name="118" href="#118">118</a> Logger INF = Logger.getLogger(<span class="jxr_string">"INF"</span>); +<a name="119" href="#119">119</a> INF.setLevel(Level.INFO); +<a name="120" href="#120">120</a> Logger INF_ERR = Logger.getLogger(<span class="jxr_string">"INF.ERR"</span>); +<a name="121" href="#121">121</a> INF_ERR.setLevel(Level.ERROR); +<a name="122" href="#122">122</a> Logger DEB = Logger.getLogger(<span class="jxr_string">"DEB"</span>); +<a name="123" href="#123">123</a> DEB.setLevel(Level.DEBUG); +<a name="124" href="#124">124</a> Logger TRC = Logger.getLogger(<span class="jxr_string">"TRC"</span>); +<a name="125" href="#125">125</a> TRC.setLevel(Level.TRACE); +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <em class="jxr_comment">// Note: categories with undefined level </em> +<a name="128" href="#128">128</a> Logger INF_UNDEF = Logger.getLogger(<span class="jxr_string">"INF.UNDEF"</span>); +<a name="129" href="#129">129</a> Logger INF_ERR_UNDEF = Logger.getLogger(<span class="jxr_string">"INF.ERR.UNDEF"</span>); +<a name="130" href="#130">130</a> Logger UNDEF = Logger.getLogger(<span class="jxr_string">"UNDEF"</span>); +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_comment">// These should all log.----------------------------</em> +<a name="134" href="#134">134</a> ERR.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); i++; <em class="jxr_comment">//0</em> +<a name="135" href="#135">135</a> ERR.error( <span class="jxr_string">"Message "</span> + i); i++; +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> INF.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); i++; <em class="jxr_comment">// 2</em> +<a name="138" href="#138">138</a> INF.error( <span class="jxr_string">"Message "</span> + i); i++; +<a name="139" href="#139">139</a> INF.warn ( <span class="jxr_string">"Message "</span> + i); i++; +<a name="140" href="#140">140</a> INF.info ( <span class="jxr_string">"Message "</span> + i); i++; +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> INF_UNDEF.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); i++; <em class="jxr_comment">//6</em> +<a name="143" href="#143">143</a> INF_UNDEF.error( <span class="jxr_string">"Message "</span> + i); i++; +<a name="144" href="#144">144</a> INF_UNDEF.warn ( <span class="jxr_string">"Message "</span> + i); i++; +<a name="145" href="#145">145</a> INF_UNDEF.info ( <span class="jxr_string">"Message "</span> + i); i++; +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> INF_ERR.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); i++; <em class="jxr_comment">// 10</em> +<a name="148" href="#148">148</a> INF_ERR.error( <span class="jxr_string">"Message "</span> + i); i++; +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> INF_ERR_UNDEF.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); i++; +<a name="151" href="#151">151</a> INF_ERR_UNDEF.error( <span class="jxr_string">"Message "</span> + i); i++; +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> DEB.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); i++; <em class="jxr_comment">//14</em> +<a name="154" href="#154">154</a> DEB.error( <span class="jxr_string">"Message "</span> + i); i++; +<a name="155" href="#155">155</a> DEB.warn ( <span class="jxr_string">"Message "</span> + i); i++; +<a name="156" href="#156">156</a> DEB.info ( <span class="jxr_string">"Message "</span> + i); i++; +<a name="157" href="#157">157</a> DEB.debug( <span class="jxr_string">"Message "</span> + i); i++; +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> TRC.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); i++; <em class="jxr_comment">//19</em> +<a name="160" href="#160">160</a> TRC.error( <span class="jxr_string">"Message "</span> + i); i++; +<a name="161" href="#161">161</a> TRC.warn ( <span class="jxr_string">"Message "</span> + i); i++; +<a name="162" href="#162">162</a> TRC.info ( <span class="jxr_string">"Message "</span> + i); i++; +<a name="163" href="#163">163</a> TRC.debug( <span class="jxr_string">"Message "</span> + i); i++; +<a name="164" href="#164">164</a> TRC.trace( <span class="jxr_string">"Message "</span> + i); i++; +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <em class="jxr_comment">// defaultLevel=DEBUG</em> +<a name="167" href="#167">167</a> UNDEF.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); i++; <em class="jxr_comment">// 25</em> +<a name="168" href="#168">168</a> UNDEF.error(<span class="jxr_string">"Message "</span> + i); i++; +<a name="169" href="#169">169</a> UNDEF.warn (<span class="jxr_string">"Message "</span> + i); i++; +<a name="170" href="#170">170</a> UNDEF.info (<span class="jxr_string">"Message "</span> + i); i++; +<a name="171" href="#171">171</a> UNDEF.debug(<span class="jxr_string">"Message "</span> + i, <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Just testing."</span>)); +<a name="172" href="#172">172</a> <strong class="jxr_keyword">int</strong> printCount = i; +<a name="173" href="#173">173</a> i++; +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_comment">// -------------------------------------------------</em> +<a name="176" href="#176">176</a> <em class="jxr_comment">// The following should not log</em> +<a name="177" href="#177">177</a> ERR.warn(<span class="jxr_string">"Message "</span> + i); i++; +<a name="178" href="#178">178</a> ERR.info(<span class="jxr_string">"Message "</span> + i); i++; +<a name="179" href="#179">179</a> ERR.debug(<span class="jxr_string">"Message "</span> + i); i++; +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> INF.debug(<span class="jxr_string">"Message "</span> + i); i++; +<a name="182" href="#182">182</a> INF_UNDEF.debug(<span class="jxr_string">"Message "</span> + i); i++; +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> INF_ERR.warn(<span class="jxr_string">"Message "</span> + i); i++; +<a name="186" href="#186">186</a> INF_ERR.info(<span class="jxr_string">"Message "</span> + i); i++; +<a name="187" href="#187">187</a> INF_ERR.debug(<span class="jxr_string">"Message "</span> + i); i++; +<a name="188" href="#188">188</a> INF_ERR_UNDEF.warn(<span class="jxr_string">"Message "</span> + i); i++; +<a name="189" href="#189">189</a> INF_ERR_UNDEF.info(<span class="jxr_string">"Message "</span> + i); i++; +<a name="190" href="#190">190</a> INF_ERR_UNDEF.debug(<span class="jxr_string">"Message "</span> + i); i++; +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> UNDEF.trace(<span class="jxr_string">"Message "</span> + i, <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Just testing."</span>)); i++; +<a name="193" href="#193">193</a> <em class="jxr_comment">// -------------------------------------------------</em> +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> INF.info(<span class="jxr_string">"Messages should bear numbers 0 through "</span>+printCount+<span class="jxr_string">"."</span>); +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="199" href="#199">199</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="200" href="#200">200</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/MinimumTestCase.html">MinimumTestCase</a>(<span class="jxr_string">"simple"</span>)); +<a name="201" href="#201">201</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/MinimumTestCase.html">MinimumTestCase</a>(<span class="jxr_string">"ttcc"</span>)); +<a name="202" href="#202">202</a> <strong class="jxr_keyword">return</strong> suite; +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> +<a name="205" href="#205">205</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MyPatternLayout.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MyPatternLayout.html new file mode 100644 index 00000000000..ddcc4e4f1cc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MyPatternLayout.html @@ -0,0 +1,76 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MyPatternLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.PatternParser; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> Example showing how to extend PatternLayout to recognize additional</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> conversion characters. </em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> </em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> &lt;p&gt;In this case MyPatternLayout recognizes %# conversion pattern. It</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> outputs the value of an internal counter which is also incremented</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> at each call.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> &lt;p&gt;See &lt;a href=doc-files/MyPatternLayout.java&gt;&lt;b&gt;source&lt;/b&gt;&lt;/a&gt; code</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> for more details.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> @see MyPatternParser</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> @see org.apache.log4j.PatternLayout</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @author Anders Kristensen </em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">*/</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/MyPatternLayout.html">MyPatternLayout</a> <strong class="jxr_keyword">extends</strong> PatternLayout { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> +<a name="39" href="#39">39</a> <a href="../../../org/apache/log4j/MyPatternLayout.html">MyPatternLayout</a>() { +<a name="40" href="#40">40</a> <strong class="jxr_keyword">this</strong>(DEFAULT_CONVERSION_PATTERN); +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> +<a name="44" href="#44">44</a> <a href="../../../org/apache/log4j/MyPatternLayout.html">MyPatternLayout</a>(String pattern) { +<a name="45" href="#45">45</a> <strong class="jxr_keyword">super</strong>(pattern); +<a name="46" href="#46">46</a> } +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> +<a name="49" href="#49">49</a> PatternParser createPatternParser(String pattern) { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/MyPatternParser.html">MyPatternParser</a>( +<a name="51" href="#51">51</a> pattern == <strong class="jxr_keyword">null</strong> ? DEFAULT_CONVERSION_PATTERN : pattern); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] args) { +<a name="56" href="#56">56</a> Layout layout = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/MyPatternLayout.html">MyPatternLayout</a>(<span class="jxr_string">"[counter=%.10#] - %m%n"</span>); +<a name="57" href="#57">57</a> Logger logger = Logger.getLogger(<span class="jxr_string">"some.cat"</span>); +<a name="58" href="#58">58</a> logger.addAppender(<strong class="jxr_keyword">new</strong> ConsoleAppender(layout, ConsoleAppender.SYSTEM_OUT)); +<a name="59" href="#59">59</a> logger.debug(<span class="jxr_string">"Hello, log"</span>); +<a name="60" href="#60">60</a> logger.info(<span class="jxr_string">"Hello again..."</span>); +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MyPatternParser.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MyPatternParser.html new file mode 100644 index 00000000000..1a08ca1beb0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/MyPatternParser.html @@ -0,0 +1,86 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MyPatternParser xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.FormattingInfo; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.PatternConverter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.PatternParser; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> Example showing how to extend PatternParser to recognize additional</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> conversion characters. The examples shows that minimum and maximum</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> width and alignment settings apply for "extension" conversion</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> characters just as they do for PatternLayout recognized characters.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> </em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> &lt;p&gt;In this case MyPatternParser recognizes %# and outputs the value</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> of an internal counter which is also incremented at each call.</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> See &lt;a href=doc-files/MyPatternParser.java&gt;&lt;b&gt;source&lt;/b&gt;&lt;/a&gt; code</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> for more details.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> </em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> @see org.apache.log4j.examples.MyPatternLayout</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> @see org.apache.log4j.helpers.PatternParser</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> @see org.apache.log4j.PatternLayout</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> @author Anders Kristensen </em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">*/</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/MyPatternParser.html">MyPatternParser</a> <strong class="jxr_keyword">extends</strong> PatternParser { +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">int</strong> counter = 0; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> +<a name="48" href="#48">48</a> <a href="../../../org/apache/log4j/MyPatternParser.html">MyPatternParser</a>(String pattern) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">super</strong>(pattern); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">void</strong> finalizeConverter(<strong class="jxr_keyword">char</strong> c) { +<a name="54" href="#54">54</a> <strong class="jxr_keyword">if</strong> (c == '#') { +<a name="55" href="#55">55</a> addConverter(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/MyPatternParser.html">UserDirPatternConverter</a>(formattingInfo)); +<a name="56" href="#56">56</a> currentLiteral.setLength(0); +<a name="57" href="#57">57</a> } <strong class="jxr_keyword">else</strong> { +<a name="58" href="#58">58</a> <strong class="jxr_keyword">super</strong>.finalizeConverter(c); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/MyPatternParser.html">UserDirPatternConverter</a> <strong class="jxr_keyword">extends</strong> PatternConverter { +<a name="63" href="#63">63</a> <a href="../../../org/apache/log4j/MyPatternParser.html">UserDirPatternConverter</a>(FormattingInfo formattingInfo) { +<a name="64" href="#64">64</a> <strong class="jxr_keyword">super</strong>(formattingInfo); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> +<a name="68" href="#68">68</a> String convert(LoggingEvent event) { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">return</strong> String.valueOf(++counter); +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PatternLayoutTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PatternLayoutTest.html new file mode 100644 index 00000000000..7d61d21139e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PatternLayoutTest.html @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PatternLayoutTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Test for PatternLayout.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PatternLayoutTest.html">PatternLayoutTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/LayoutTest.html">LayoutTest</a> { +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Construct new instance of PatternLayoutTest.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @param testName test name.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PatternLayoutTest.html">PatternLayoutTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="35" href="#35">35</a> <strong class="jxr_keyword">super</strong>(testName, <span class="jxr_string">"text/plain"</span>, <strong class="jxr_keyword">true</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">protected</strong> Layout createLayout() { +<a name="42" href="#42">42</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"[%t] %p %c - %m%n"</span>); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * Tests format.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormat() { +<a name="49" href="#49">49</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.LayoutTest"</span>); +<a name="50" href="#50">50</a> LoggingEvent event = +<a name="51" href="#51">51</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="52" href="#52">52</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.INFO, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="53" href="#53">53</a> PatternLayout layout = (PatternLayout) createLayout(); +<a name="54" href="#54">54</a> String result = layout.format(event); +<a name="55" href="#55">55</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(100); +<a name="56" href="#56">56</a> buf.append('['); +<a name="57" href="#57">57</a> buf.append(event.getThreadName()); +<a name="58" href="#58">58</a> buf.append(<span class="jxr_string">"] "</span>); +<a name="59" href="#59">59</a> buf.append(event.getLevel().toString()); +<a name="60" href="#60">60</a> buf.append(' '); +<a name="61" href="#61">61</a> buf.append(event.getLoggerName()); +<a name="62" href="#62">62</a> buf.append(<span class="jxr_string">" - "</span>); +<a name="63" href="#63">63</a> buf.append(event.getMessage()); +<a name="64" href="#64">64</a> buf.append(System.getProperty(<span class="jxr_string">"line.separator"</span>)); +<a name="65" href="#65">65</a> assertEquals(buf.toString(), result); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * Tests getPatternFormat().</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetPatternFormat() { +<a name="72" href="#72">72</a> PatternLayout layout = (PatternLayout) createLayout(); +<a name="73" href="#73">73</a> assertEquals(<span class="jxr_string">"[%t] %p %c - %m%n"</span>, layout.getConversionPattern()); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment">/**</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * Tests DEFAULT_CONVERSION_PATTERN constant.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> */</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultConversionPattern() { +<a name="80" href="#80">80</a> assertEquals(<span class="jxr_string">"%m%n"</span>, PatternLayout.DEFAULT_CONVERSION_PATTERN); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment">/**</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * Tests DEFAULT_CONVERSION_PATTERN constant.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTTCCConversionPattern() { +<a name="87" href="#87">87</a> assertEquals( +<a name="88" href="#88">88</a> <span class="jxr_string">"%r [%t] %p %c %x - %m%n"</span>, PatternLayout.TTCC_CONVERSION_PATTERN); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * Tests buffer downsizing code path.</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormatResize() { +<a name="95" href="#95">95</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.PatternLayoutTest"</span>); +<a name="96" href="#96">96</a> NDC.clear(); +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">char</strong>[] msg = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[2000]; +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; msg.length; i++) { +<a name="101" href="#101">101</a> msg[i] = 'A'; +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> LoggingEvent event1 = +<a name="105" href="#105">105</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="106" href="#106">106</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.DEBUG, <strong class="jxr_keyword">new</strong> String(msg), <strong class="jxr_keyword">null</strong>); +<a name="107" href="#107">107</a> PatternLayout layout = (PatternLayout) createLayout(); +<a name="108" href="#108">108</a> String result = layout.format(event1); +<a name="109" href="#109">109</a> LoggingEvent event2 = +<a name="110" href="#110">110</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="111" href="#111">111</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.WARN, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="112" href="#112">112</a> result = layout.format(event2); +<a name="113" href="#113">113</a> assertEquals(<span class="jxr_string">"["</span>, result.substring(0, 1)); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">/**</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> * Class to ensure that protected members are still available.</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> */</em> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTest.html">DerivedPatternLayout</a> <strong class="jxr_keyword">extends</strong> PatternLayout { +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">/**</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> * Constructs a new instance of DerivedPatternLayout.</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> */</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTest.html">DerivedPatternLayout</a>() { +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * Get BUF_SIZE.</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * @return return initial buffer size in characters.</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> */</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getBufSize() { +<a name="131" href="#131">131</a> <strong class="jxr_keyword">return</strong> BUF_SIZE; +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">/**</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> * Get MAX_CAPACITY.</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> * @return maximum capacity in characters.</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> */</em> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getMaxCapacity() { +<a name="139" href="#139">139</a> <strong class="jxr_keyword">return</strong> MAX_CAPACITY; +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PatternLayoutTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PatternLayoutTestCase.html new file mode 100644 index 00000000000..5aea8547e86 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PatternLayoutTestCase.html @@ -0,0 +1,354 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PatternLayoutTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.AbsoluteDateAndTimeFilter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.AbsoluteTimeFilter; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.ControlFilter; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Filter; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.ISO8601Filter; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.JunitTestRunnerFilter; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.LineNumberFilter; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.RelativeTimeFilter; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.SunReflectFilter; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Transformer; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PatternLayoutTestCase.html">PatternLayoutTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">static</strong> String TEMP = <span class="jxr_string">"output/temp"</span>; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">static</strong> String FILTERED = <span class="jxr_string">"output/filtered"</span>; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> Logger root; +<a name="39" href="#39">39</a> Logger logger; +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">static</strong> String EXCEPTION1 = <span class="jxr_string">"java.lang.Exception: Just testing"</span>; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">static</strong> String EXCEPTION2 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*&#92;&#92;)"</span>; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> String EXCEPTION3 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(Native Method&#92;&#92;)"</span>; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">static</strong> String EXCEPTION4 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*Compiled Code&#92;&#92;)"</span>; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> String EXCEPTION5 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*libgcj.*&#92;&#92;)"</span>; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">static</strong> String PAT0 = <span class="jxr_string">"&#92;&#92;[main]&#92;&#92; (TRACE|DEBUG|INFO |WARN |ERROR|FATAL) .* - Message &#92;&#92;d{1,2}"</span>; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">static</strong> String PAT1 = Filter.ISO8601_PAT + <span class="jxr_string">" "</span> + PAT0; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">static</strong> String PAT2 = Filter.ABSOLUTE_DATE_AND_TIME_PAT+ <span class="jxr_string">" "</span> + PAT0; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">static</strong> String PAT3 = Filter.ABSOLUTE_TIME_PAT+ <span class="jxr_string">" "</span> + PAT0; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">static</strong> String PAT4 = Filter.RELATIVE_TIME_PAT+ <span class="jxr_string">" "</span> + PAT0; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">static</strong> String PAT5 = <span class="jxr_string">"&#92;&#92;[main]&#92;&#92; (TRACE|DEBUG|INFO |WARN |ERROR|FATAL) .* : Message &#92;&#92;d{1,2}"</span>; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">static</strong> String PAT6 = <span class="jxr_string">"&#92;&#92;[main]&#92;&#92; (TRACE|DEBUG|INFO |WARN |ERROR|FATAL) org.apache.log4j.PatternLayoutTestCase.common&#92;&#92;(PatternLayoutTestCase.java(:&#92;&#92;d{1,4})?&#92;&#92;): Message &#92;&#92;d{1,2}"</span>; +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">static</strong> String PAT11a = <span class="jxr_string">"^(TRACE|DEBUG|INFO |WARN |ERROR|FATAL) &#92;&#92;[main]&#92;&#92; log4j.PatternLayoutTestCase: Message &#92;&#92;d{1,2}"</span>; +<a name="57" href="#57">57</a> <strong class="jxr_keyword">static</strong> String PAT11b = <span class="jxr_string">"^(TRACE|DEBUG|INFO |WARN |ERROR|FATAL) &#92;&#92;[main]&#92;&#92; root: Message &#92;&#92;d{1,2}"</span>; +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">static</strong> String PAT12 = <span class="jxr_string">"^&#92;&#92;[main]&#92;&#92; (TRACE|DEBUG|INFO |WARN |ERROR|FATAL) "</span>+ +<a name="60" href="#60">60</a> <span class="jxr_string">"org.apache.log4j.PatternLayoutTestCase.common&#92;&#92;(PatternLayoutTestCase.java:&#92;&#92;d{3}&#92;&#92;): "</span>+ +<a name="61" href="#61">61</a> <span class="jxr_string">"Message &#92;&#92;d{1,2}"</span>; +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">static</strong> String PAT13 = <span class="jxr_string">"^&#92;&#92;[main]&#92;&#92; (TRACE|DEBUG|INFO |WARN |ERROR|FATAL) "</span>+ +<a name="64" href="#64">64</a> <span class="jxr_string">"apache.log4j.PatternLayoutTestCase.common&#92;&#92;(PatternLayoutTestCase.java:&#92;&#92;d{3}&#92;&#92;): "</span>+ +<a name="65" href="#65">65</a> <span class="jxr_string">"Message &#92;&#92;d{1,2}"</span>; +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">static</strong> String PAT14 = <span class="jxr_string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL)&#92;&#92; &#92;&#92;d{1,2}&#92;&#92; *- Message &#92;&#92;d{1,2}"</span>; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PatternLayoutTestCase.html">PatternLayoutTestCase</a>(String name) { +<a name="70" href="#70">70</a> <strong class="jxr_keyword">super</strong>(name); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="74" href="#74">74</a> root = Logger.getRootLogger(); +<a name="75" href="#75">75</a> logger = Logger.getLogger(PatternLayoutTestCase.<strong class="jxr_keyword">class</strong>); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="79" href="#79">79</a> root.getLoggerRepository().resetConfiguration(); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="83" href="#83">83</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout1.properties"</span>); +<a name="84" href="#84">84</a> common(); +<a name="85" href="#85">85</a> Transformer.transform( +<a name="86" href="#86">86</a> TEMP, FILTERED, +<a name="87" href="#87">87</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="88" href="#88">88</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="89" href="#89">89</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="90" href="#90">90</a> }); +<a name="91" href="#91">91</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.1"</span>)); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="95" href="#95">95</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout2.properties"</span>); +<a name="96" href="#96">96</a> common(); +<a name="97" href="#97">97</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT1, EXCEPTION1, +<a name="98" href="#98">98</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="99" href="#99">99</a> Transformer.transform( +<a name="100" href="#100">100</a> TEMP, FILTERED, +<a name="101" href="#101">101</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="102" href="#102">102</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> ISO8601Filter(), +<a name="103" href="#103">103</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> JunitTestRunnerFilter() +<a name="104" href="#104">104</a> }); +<a name="105" href="#105">105</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.2"</span>)); +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test3() <strong class="jxr_keyword">throws</strong> Exception { +<a name="109" href="#109">109</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout3.properties"</span>); +<a name="110" href="#110">110</a> common(); +<a name="111" href="#111">111</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT1, EXCEPTION1, +<a name="112" href="#112">112</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="113" href="#113">113</a> Transformer.transform( +<a name="114" href="#114">114</a> TEMP, FILTERED, +<a name="115" href="#115">115</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="116" href="#116">116</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> ISO8601Filter(), +<a name="117" href="#117">117</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> JunitTestRunnerFilter() +<a name="118" href="#118">118</a> }); +<a name="119" href="#119">119</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.3"</span>)); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_comment">// Output format:</em> +<a name="123" href="#123">123</a> <em class="jxr_comment">// 06 avr. 2002 18:30:58,937 [main] DEBUG rnLayoutTestCase - Message 0 </em> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test4() <strong class="jxr_keyword">throws</strong> Exception { +<a name="125" href="#125">125</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout4.properties"</span>); +<a name="126" href="#126">126</a> common(); +<a name="127" href="#127">127</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT2, EXCEPTION1, +<a name="128" href="#128">128</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="129" href="#129">129</a> Transformer.transform( +<a name="130" href="#130">130</a> TEMP, FILTERED, +<a name="131" href="#131">131</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="132" href="#132">132</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> AbsoluteDateAndTimeFilter(), +<a name="133" href="#133">133</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> JunitTestRunnerFilter() +<a name="134" href="#134">134</a> }); +<a name="135" href="#135">135</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.4"</span>)); +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test5() <strong class="jxr_keyword">throws</strong> Exception { +<a name="139" href="#139">139</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout5.properties"</span>); +<a name="140" href="#140">140</a> common(); +<a name="141" href="#141">141</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT2, EXCEPTION1, +<a name="142" href="#142">142</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="143" href="#143">143</a> Transformer.transform( +<a name="144" href="#144">144</a> TEMP, FILTERED, +<a name="145" href="#145">145</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="146" href="#146">146</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> AbsoluteDateAndTimeFilter(), +<a name="147" href="#147">147</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> JunitTestRunnerFilter() +<a name="148" href="#148">148</a> }); +<a name="149" href="#149">149</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.5"</span>)); +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_comment">// 18:54:19,201 [main] DEBUG rnLayoutTestCase - Message 0</em> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test6() <strong class="jxr_keyword">throws</strong> Exception { +<a name="154" href="#154">154</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout6.properties"</span>); +<a name="155" href="#155">155</a> common(); +<a name="156" href="#156">156</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT3, EXCEPTION1, +<a name="157" href="#157">157</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="158" href="#158">158</a> Transformer.transform( +<a name="159" href="#159">159</a> TEMP, FILTERED, +<a name="160" href="#160">160</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="161" href="#161">161</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> AbsoluteTimeFilter(), +<a name="162" href="#162">162</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> JunitTestRunnerFilter() +<a name="163" href="#163">163</a> }); +<a name="164" href="#164">164</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.6"</span>)); +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test7() <strong class="jxr_keyword">throws</strong> Exception { +<a name="169" href="#169">169</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout7.properties"</span>); +<a name="170" href="#170">170</a> common(); +<a name="171" href="#171">171</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT3, EXCEPTION1, +<a name="172" href="#172">172</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="173" href="#173">173</a> Transformer.transform( +<a name="174" href="#174">174</a> TEMP, FILTERED, +<a name="175" href="#175">175</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="176" href="#176">176</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> AbsoluteTimeFilter(), +<a name="177" href="#177">177</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> JunitTestRunnerFilter() +<a name="178" href="#178">178</a> }); +<a name="179" href="#179">179</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.7"</span>)); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test8() <strong class="jxr_keyword">throws</strong> Exception { +<a name="183" href="#183">183</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout8.properties"</span>); +<a name="184" href="#184">184</a> common(); +<a name="185" href="#185">185</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT4, EXCEPTION1, +<a name="186" href="#186">186</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="187" href="#187">187</a> Transformer.transform( +<a name="188" href="#188">188</a> TEMP, FILTERED, +<a name="189" href="#189">189</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="190" href="#190">190</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> RelativeTimeFilter(), +<a name="191" href="#191">191</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> JunitTestRunnerFilter() +<a name="192" href="#192">192</a> }); +<a name="193" href="#193">193</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.8"</span>)); +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test9() <strong class="jxr_keyword">throws</strong> Exception { +<a name="197" href="#197">197</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout9.properties"</span>); +<a name="198" href="#198">198</a> common(); +<a name="199" href="#199">199</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT5, EXCEPTION1, +<a name="200" href="#200">200</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="201" href="#201">201</a> Transformer.transform( +<a name="202" href="#202">202</a> TEMP, FILTERED, +<a name="203" href="#203">203</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="204" href="#204">204</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="205" href="#205">205</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="206" href="#206">206</a> }); +<a name="207" href="#207">207</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.9"</span>)); +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test10() <strong class="jxr_keyword">throws</strong> Exception { +<a name="211" href="#211">211</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout10.properties"</span>); +<a name="212" href="#212">212</a> common(); +<a name="213" href="#213">213</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT6, EXCEPTION1, +<a name="214" href="#214">214</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="215" href="#215">215</a> Transformer.transform( +<a name="216" href="#216">216</a> TEMP, FILTERED, +<a name="217" href="#217">217</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="218" href="#218">218</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="219" href="#219">219</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="220" href="#220">220</a> }); +<a name="221" href="#221">221</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.10"</span>)); +<a name="222" href="#222">222</a> } +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test11() <strong class="jxr_keyword">throws</strong> Exception { +<a name="225" href="#225">225</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout11.properties"</span>); +<a name="226" href="#226">226</a> common(); +<a name="227" href="#227">227</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT11a, PAT11b, EXCEPTION1, +<a name="228" href="#228">228</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="229" href="#229">229</a> Transformer.transform( +<a name="230" href="#230">230</a> TEMP, FILTERED, +<a name="231" href="#231">231</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="232" href="#232">232</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="233" href="#233">233</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="234" href="#234">234</a> }); +<a name="235" href="#235">235</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.11"</span>)); +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test12() <strong class="jxr_keyword">throws</strong> Exception { +<a name="239" href="#239">239</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout12.properties"</span>); +<a name="240" href="#240">240</a> common(); +<a name="241" href="#241">241</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT12, EXCEPTION1, +<a name="242" href="#242">242</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="243" href="#243">243</a> Transformer.transform( +<a name="244" href="#244">244</a> TEMP, FILTERED, +<a name="245" href="#245">245</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="246" href="#246">246</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="247" href="#247">247</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="248" href="#248">248</a> }); +<a name="249" href="#249">249</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.12"</span>)); +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test13() <strong class="jxr_keyword">throws</strong> Exception { +<a name="253" href="#253">253</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout13.properties"</span>); +<a name="254" href="#254">254</a> common(); +<a name="255" href="#255">255</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT13, EXCEPTION1, +<a name="256" href="#256">256</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="257" href="#257">257</a> Transformer.transform( +<a name="258" href="#258">258</a> TEMP, FILTERED, +<a name="259" href="#259">259</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="260" href="#260">260</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="261" href="#261">261</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="262" href="#262">262</a> }); +<a name="263" href="#263">263</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.13"</span>)); +<a name="264" href="#264">264</a> } +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test14() <strong class="jxr_keyword">throws</strong> Exception { +<a name="267" href="#267">267</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout14.properties"</span>); +<a name="268" href="#268">268</a> common(); +<a name="269" href="#269">269</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT14, EXCEPTION1, +<a name="270" href="#270">270</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="271" href="#271">271</a> Transformer.transform( +<a name="272" href="#272">272</a> TEMP, FILTERED, +<a name="273" href="#273">273</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="274" href="#274">274</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="275" href="#275">275</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="276" href="#276">276</a> }); +<a name="277" href="#277">277</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/patternLayout.14"</span>)); +<a name="278" href="#278">278</a> } +<a name="279" href="#279">279</a> +<a name="280" href="#280">280</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMDC1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="281" href="#281">281</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout.mdc.1.properties"</span>); +<a name="282" href="#282">282</a> MDC.put(<span class="jxr_string">"key1"</span>, <span class="jxr_string">"va11"</span>); +<a name="283" href="#283">283</a> MDC.put(<span class="jxr_string">"key2"</span>, <span class="jxr_string">"va12"</span>); +<a name="284" href="#284">284</a> logger.debug(<span class="jxr_string">"Hello World"</span>); +<a name="285" href="#285">285</a> MDC.remove(<span class="jxr_string">"key1"</span>); +<a name="286" href="#286">286</a> MDC.remove(<span class="jxr_string">"key2"</span>); +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/patternLayout.mdc.1"</span>)); +<a name="289" href="#289">289</a> } +<a name="290" href="#290">290</a> +<a name="291" href="#291">291</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMDCClear() <strong class="jxr_keyword">throws</strong> Exception { +<a name="292" href="#292">292</a> PropertyConfigurator.configure(<span class="jxr_string">"input/patternLayout.mdc.1.properties"</span>); +<a name="293" href="#293">293</a> MDC.put(<span class="jxr_string">"key1"</span>, <span class="jxr_string">"va11"</span>); +<a name="294" href="#294">294</a> MDC.put(<span class="jxr_string">"key2"</span>, <span class="jxr_string">"va12"</span>); +<a name="295" href="#295">295</a> logger.debug(<span class="jxr_string">"Hello World"</span>); +<a name="296" href="#296">296</a> MDC.clear(); +<a name="297" href="#297">297</a> logger.debug(<span class="jxr_string">"Hello World"</span>); +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/patternLayout.mdc.clear"</span>)); +<a name="300" href="#300">300</a> } +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <strong class="jxr_keyword">void</strong> common() { +<a name="305" href="#305">305</a> String oldThreadName = Thread.currentThread().getName(); +<a name="306" href="#306">306</a> Thread.currentThread().setName(<span class="jxr_string">"main"</span>); +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <strong class="jxr_keyword">int</strong> i = -1; +<a name="309" href="#309">309</a> +<a name="310" href="#310">310</a> logger.trace(<span class="jxr_string">"Message "</span> + ++i); +<a name="311" href="#311">311</a> root.trace(<span class="jxr_string">"Message "</span> + i); +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i); +<a name="314" href="#314">314</a> root.debug(<span class="jxr_string">"Message "</span> + i); +<a name="315" href="#315">315</a> +<a name="316" href="#316">316</a> logger.info (<span class="jxr_string">"Message "</span> + ++i); +<a name="317" href="#317">317</a> root.info(<span class="jxr_string">"Message "</span> + i); +<a name="318" href="#318">318</a> +<a name="319" href="#319">319</a> logger.warn (<span class="jxr_string">"Message "</span> + ++i); +<a name="320" href="#320">320</a> root.warn(<span class="jxr_string">"Message "</span> + i); +<a name="321" href="#321">321</a> +<a name="322" href="#322">322</a> logger.error(<span class="jxr_string">"Message "</span> + ++i); +<a name="323" href="#323">323</a> root.error(<span class="jxr_string">"Message "</span> + i); +<a name="324" href="#324">324</a> +<a name="325" href="#325">325</a> logger.log(Level.FATAL, <span class="jxr_string">"Message "</span> + ++i); +<a name="326" href="#326">326</a> root.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); +<a name="327" href="#327">327</a> +<a name="328" href="#328">328</a> Exception e = <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Just testing"</span>); +<a name="329" href="#329">329</a> logger.trace(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="330" href="#330">330</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="331" href="#331">331</a> logger.info(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="332" href="#332">332</a> logger.warn(<span class="jxr_string">"Message "</span> + ++i , e); +<a name="333" href="#333">333</a> logger.error(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="334" href="#334">334</a> logger.log(Level.FATAL, <span class="jxr_string">"Message "</span> + ++i, e); +<a name="335" href="#335">335</a> +<a name="336" href="#336">336</a> Thread.currentThread().setName(oldThreadName); +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> +<a name="340" href="#340">340</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PriorityTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PriorityTest.html new file mode 100644 index 00000000000..5864ea2d2e2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PriorityTest.html @@ -0,0 +1,226 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PriorityTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Locale; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * Tests of Priority.</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PriorityTest.html">PriorityTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * Constructs new instance of test.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @param name test name.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PriorityTest.html">PriorityTest</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="37" href="#37">37</a> <strong class="jxr_keyword">super</strong>(name); +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * Tests Priority.OFF_INT.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOffInt() { +<a name="44" href="#44">44</a> assertEquals(Integer.MAX_VALUE, Priority.OFF_INT); +<a name="45" href="#45">45</a> } +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * Tests Priority.FATAL_INT.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFatalInt() { +<a name="51" href="#51">51</a> assertEquals(50000, Priority.FATAL_INT); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * Tests Priority.ERROR_INT.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testErrorInt() { +<a name="58" href="#58">58</a> assertEquals(40000, Priority.ERROR_INT); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * Tests Priority.WARN_INT.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnInt() { +<a name="65" href="#65">65</a> assertEquals(30000, Priority.WARN_INT); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * Tests Priority.INFO_INT.</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoInt() { +<a name="72" href="#72">72</a> assertEquals(20000, Priority.INFO_INT); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">/**</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * Tests Priority.DEBUG_INT.</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> */</em> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugInt() { +<a name="79" href="#79">79</a> assertEquals(10000, Priority.DEBUG_INT); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * Tests Priority.ALL_INT.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAllInt() { +<a name="86" href="#86">86</a> assertEquals(Integer.MIN_VALUE, Priority.ALL_INT); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * Tests Priority.FATAL.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> */</em> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFatal() { +<a name="94" href="#94">94</a> assertTrue(Priority.FATAL instanceof Level); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment">/**</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> * Tests Priority.ERROR.</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> */</em> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testERROR() { +<a name="102" href="#102">102</a> assertTrue(Priority.ERROR instanceof Level); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * Tests Priority.WARN.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> */</em> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWARN() { +<a name="110" href="#110">110</a> assertTrue(Priority.WARN instanceof Level); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">/**</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> * Tests Priority.INFO.</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> */</em> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testINFO() { +<a name="118" href="#118">118</a> assertTrue(Priority.INFO instanceof Level); +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">/**</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> * Tests Priority.DEBUG.</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> */</em> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDEBUG() { +<a name="126" href="#126">126</a> assertTrue(Priority.DEBUG instanceof Level); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">/**</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> * Tests Priority.equals(null).</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> */</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEqualsNull() { +<a name="134" href="#134">134</a> assertFalse(Priority.DEBUG.equals(<strong class="jxr_keyword">null</strong>)); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">/**</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> * Tests Priority.equals(Level.DEBUG).</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> */</em> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEqualsLevel() { +<a name="142" href="#142">142</a> <em class="jxr_comment">//</em> +<a name="143" href="#143">143</a> <em class="jxr_comment">// this behavior violates the equals contract.</em> +<a name="144" href="#144">144</a> <em class="jxr_comment">//</em> +<a name="145" href="#145">145</a> assertTrue(Priority.DEBUG.equals(Level.DEBUG)); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">/**</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * Tests getAllPossiblePriorities().</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetAllPossiblePriorities() { +<a name="153" href="#153">153</a> Priority[] priorities = Priority.getAllPossiblePriorities(); +<a name="154" href="#154">154</a> assertEquals(5, priorities.length); +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment">/**</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> * Tests toPriority(String).</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> */</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testToPriorityString() { +<a name="162" href="#162">162</a> assertTrue(Priority.toPriority(<span class="jxr_string">"DEBUG"</span>) == Level.DEBUG); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">/**</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> * Tests toPriority(int).</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> */</em> +<a name="169" href="#169">169</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testToPriorityInt() { +<a name="170" href="#170">170</a> assertTrue(Priority.toPriority(Priority.DEBUG_INT) == Level.DEBUG); +<a name="171" href="#171">171</a> } +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">/**</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> * Tests toPriority(String, Priority).</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> */</em> +<a name="177" href="#177">177</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testToPriorityStringPriority() { +<a name="178" href="#178">178</a> assertTrue(Priority.toPriority(<span class="jxr_string">"foo"</span>, Priority.DEBUG) == Priority.DEBUG); +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">/**</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> * Tests toPriority(int, Priority).</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> */</em> +<a name="185" href="#185">185</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testToPriorityIntPriority() { +<a name="186" href="#186">186</a> assertTrue(Priority.toPriority(17, Priority.DEBUG) == Priority.DEBUG); +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">/**</em> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> * Test that dotless lower I + "nfo" is recognized as INFO.</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> */</em> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDotlessLowerI() { +<a name="194" href="#194">194</a> Priority level = Priority.toPriority(<span class="jxr_string">"\u0131nfo"</span>); +<a name="195" href="#195">195</a> assertEquals(<span class="jxr_string">"INFO"</span>, level.toString()); +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">/**</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> * Test that dotted lower I + "nfo" is recognized as INFO</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> * even in Turkish locale.</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> */</em> +<a name="203" href="#203">203</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDottedLowerI() { +<a name="204" href="#204">204</a> Locale defaultLocale = Locale.getDefault(); +<a name="205" href="#205">205</a> Locale turkey = <strong class="jxr_keyword">new</strong> Locale(<span class="jxr_string">"tr"</span>, <span class="jxr_string">"TR"</span>); +<a name="206" href="#206">206</a> Locale.setDefault(turkey); +<a name="207" href="#207">207</a> Priority level = Priority.toPriority(<span class="jxr_string">"info"</span>); +<a name="208" href="#208">208</a> Locale.setDefault(defaultLocale); +<a name="209" href="#209">209</a> assertEquals(<span class="jxr_string">"INFO"</span>, level.toString()); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PropertyConfiguratorTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PropertyConfiguratorTest.html new file mode 100644 index 00000000000..ecff7900fe6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/PropertyConfiguratorTest.html @@ -0,0 +1,358 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PropertyConfiguratorTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.FileOutputStream; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.FileWriter; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Properties; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.zip.ZipEntry; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.zip.ZipOutputStream; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRenderer; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRendererSupport; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.varia.LevelRangeFilter; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Test property configurator.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> *</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">PropertyConfiguratorTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">PropertyConfiguratorTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * Test for bug 40944.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * Did not catch IllegalArgumentException on Properties.load</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * and close input stream.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException creating properties file.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBadUnicodeEscape() <strong class="jxr_keyword">throws</strong> IOException { +<a name="53" href="#53">53</a> String fileName = <span class="jxr_string">"output/badescape.properties"</span>; +<a name="54" href="#54">54</a> FileWriter writer = <strong class="jxr_keyword">new</strong> FileWriter(fileName); +<a name="55" href="#55">55</a> writer.write(<span class="jxr_string">"log4j.rootLogger=&#92;&#92;uXX41"</span>); +<a name="56" href="#56">56</a> writer.close(); +<a name="57" href="#57">57</a> PropertyConfigurator.configure(fileName); +<a name="58" href="#58">58</a> File file = <strong class="jxr_keyword">new</strong> File(fileName); +<a name="59" href="#59">59</a> assertTrue(file.delete()) ; +<a name="60" href="#60">60</a> assertFalse(file.exists()); +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment">/**</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * Test for bug 40944.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * configure(URL) never closed opened stream.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException creating properties file.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> */</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testURL() <strong class="jxr_keyword">throws</strong> IOException { +<a name="69" href="#69">69</a> File file = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/unclosed.properties"</span>); +<a name="70" href="#70">70</a> FileWriter writer = <strong class="jxr_keyword">new</strong> FileWriter(file); +<a name="71" href="#71">71</a> writer.write(<span class="jxr_string">"log4j.rootLogger=debug"</span>); +<a name="72" href="#72">72</a> writer.close(); +<a name="73" href="#73">73</a> URL url = file.toURL(); +<a name="74" href="#74">74</a> PropertyConfigurator.configure(url); +<a name="75" href="#75">75</a> assertTrue(file.delete()); +<a name="76" href="#76">76</a> assertFalse(file.exists()); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * Test for bug 40944.</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * configure(URL) did not catch IllegalArgumentException and</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * did not close stream.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException creating properties file.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testURLBadEscape() <strong class="jxr_keyword">throws</strong> IOException { +<a name="86" href="#86">86</a> File file = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/urlbadescape.properties"</span>); +<a name="87" href="#87">87</a> FileWriter writer = <strong class="jxr_keyword">new</strong> FileWriter(file); +<a name="88" href="#88">88</a> writer.write(<span class="jxr_string">"log4j.rootLogger=&#92;&#92;uXX41"</span>); +<a name="89" href="#89">89</a> writer.close(); +<a name="90" href="#90">90</a> URL url = file.toURL(); +<a name="91" href="#91">91</a> PropertyConfigurator.configure(url); +<a name="92" href="#92">92</a> assertTrue(file.delete()); +<a name="93" href="#93">93</a> assertFalse(file.exists()); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment">/**</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> * Test for bug 47465.</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> * configure(URL) did not close opened JarURLConnection.</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException creating properties jar.</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> */</em> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testJarURL() <strong class="jxr_keyword">throws</strong> IOException { +<a name="102" href="#102">102</a> File dir = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output"</span>); +<a name="103" href="#103">103</a> dir.mkdirs(); +<a name="104" href="#104">104</a> File file = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/properties.jar"</span>); +<a name="105" href="#105">105</a> ZipOutputStream zos = +<a name="106" href="#106">106</a> <strong class="jxr_keyword">new</strong> ZipOutputStream(<strong class="jxr_keyword">new</strong> FileOutputStream(file)); +<a name="107" href="#107">107</a> zos.putNextEntry(<strong class="jxr_keyword">new</strong> ZipEntry(LogManager.DEFAULT_CONFIGURATION_FILE)); +<a name="108" href="#108">108</a> zos.write(<span class="jxr_string">"log4j.rootLogger=debug"</span>.getBytes()); +<a name="109" href="#109">109</a> zos.closeEntry(); +<a name="110" href="#110">110</a> zos.close(); +<a name="111" href="#111">111</a> URL url = <strong class="jxr_keyword">new</strong> URL(<span class="jxr_string">"jar:"</span> + file.toURL() + <span class="jxr_string">"!/"</span> + +<a name="112" href="#112">112</a> LogManager.DEFAULT_CONFIGURATION_FILE); +<a name="113" href="#113">113</a> PropertyConfigurator.configure(url); +<a name="114" href="#114">114</a> assertTrue(file.delete()); +<a name="115" href="#115">115</a> assertFalse(file.exists()); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">/**</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> * Test processing of log4j.reset property, see bug 17531.</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> *</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testReset() { +<a name="123" href="#123">123</a> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> appender = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>(); +<a name="124" href="#124">124</a> appender.setName(<span class="jxr_string">"A1"</span>); +<a name="125" href="#125">125</a> Logger.getRootLogger().addAppender(appender); +<a name="126" href="#126">126</a> Properties props = <strong class="jxr_keyword">new</strong> Properties(); +<a name="127" href="#127">127</a> props.put(<span class="jxr_string">"log4j.reset"</span>, <span class="jxr_string">"true"</span>); +<a name="128" href="#128">128</a> PropertyConfigurator.configure(props); +<a name="129" href="#129">129</a> assertNull(Logger.getRootLogger().getAppender(<span class="jxr_string">"A1"</span>)); +<a name="130" href="#130">130</a> LogManager.resetConfiguration(); +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">/**</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> * Mock definition of org.apache.log4j.rolling.RollingPolicy</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> * from extras companion.</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> */</em> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingPolicy</a> implements OptionHandler { +<a name="139" href="#139">139</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> activated = false; +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingPolicy</a>() { +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="145" href="#145">145</a> activated = <strong class="jxr_keyword">true</strong>; +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isActivated() { +<a name="149" href="#149">149</a> <strong class="jxr_keyword">return</strong> activated; +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment">/**</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> * Mock definition of FixedWindowRollingPolicy from extras companion.</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> */</em> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">FixedWindowRollingPolicy</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingPolicy</a> { +<a name="158" href="#158">158</a> <strong class="jxr_keyword">private</strong> String activeFileName; +<a name="159" href="#159">159</a> <strong class="jxr_keyword">private</strong> String fileNamePattern; +<a name="160" href="#160">160</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> minIndex; +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">FixedWindowRollingPolicy</a>() { +<a name="163" href="#163">163</a> minIndex = -1; +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <strong class="jxr_keyword">public</strong> String getActiveFileName() { +<a name="167" href="#167">167</a> <strong class="jxr_keyword">return</strong> activeFileName; +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setActiveFileName(<strong class="jxr_keyword">final</strong> String val) { +<a name="170" href="#170">170</a> activeFileName = val; +<a name="171" href="#171">171</a> } +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">public</strong> String getFileNamePattern() { +<a name="174" href="#174">174</a> <strong class="jxr_keyword">return</strong> fileNamePattern; +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFileNamePattern(<strong class="jxr_keyword">final</strong> String val) { +<a name="177" href="#177">177</a> fileNamePattern = val; +<a name="178" href="#178">178</a> } +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getMinIndex() { +<a name="181" href="#181">181</a> <strong class="jxr_keyword">return</strong> minIndex; +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMinIndex(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> val) { +<a name="185" href="#185">185</a> minIndex = val; +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">/**</em> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> * Mock definition of TriggeringPolicy from extras companion.</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> */</em> +<a name="192" href="#192">192</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">TriggeringPolicy</a> implements OptionHandler { +<a name="193" href="#193">193</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> activated = false; +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">TriggeringPolicy</a>() { +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="199" href="#199">199</a> activated = <strong class="jxr_keyword">true</strong>; +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isActivated() { +<a name="203" href="#203">203</a> <strong class="jxr_keyword">return</strong> activated; +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> } +<a name="207" href="#207">207</a> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment">/**</em> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> * Mock definition of FilterBasedTriggeringPolicy from extras companion.</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> */</em> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">FilterBasedTriggeringPolicy</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">TriggeringPolicy</a> { +<a name="212" href="#212">212</a> <strong class="jxr_keyword">private</strong> Filter filter; +<a name="213" href="#213">213</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">FilterBasedTriggeringPolicy</a>() { +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFilter(<strong class="jxr_keyword">final</strong> Filter val) { +<a name="217" href="#217">217</a> filter = val; +<a name="218" href="#218">218</a> } +<a name="219" href="#219">219</a> +<a name="220" href="#220">220</a> <strong class="jxr_keyword">public</strong> Filter getFilter() { +<a name="221" href="#221">221</a> <strong class="jxr_keyword">return</strong> filter; +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> } +<a name="224" href="#224">224</a> } +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">/**</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> * Mock definition of org.apache.log4j.rolling.RollingFileAppender</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> * from extras companion.</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> */</em> +<a name="230" href="#230">230</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingFileAppender</a> <strong class="jxr_keyword">extends</strong> AppenderSkeleton { +<a name="231" href="#231">231</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingPolicy</a> rollingPolicy; +<a name="232" href="#232">232</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">TriggeringPolicy</a> triggeringPolicy; +<a name="233" href="#233">233</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> append; +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingFileAppender</a>() { +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingPolicy</a> getRollingPolicy() { +<a name="240" href="#240">240</a> <strong class="jxr_keyword">return</strong> rollingPolicy; +<a name="241" href="#241">241</a> } +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRollingPolicy(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingPolicy</a> policy) { +<a name="244" href="#244">244</a> rollingPolicy = policy; +<a name="245" href="#245">245</a> } +<a name="246" href="#246">246</a> +<a name="247" href="#247">247</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">TriggeringPolicy</a> getTriggeringPolicy() { +<a name="248" href="#248">248</a> <strong class="jxr_keyword">return</strong> triggeringPolicy; +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTriggeringPolicy(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">TriggeringPolicy</a> policy) { +<a name="252" href="#252">252</a> triggeringPolicy = policy; +<a name="253" href="#253">253</a> } +<a name="254" href="#254">254</a> +<a name="255" href="#255">255</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getAppend() { +<a name="256" href="#256">256</a> <strong class="jxr_keyword">return</strong> append; +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAppend(<strong class="jxr_keyword">boolean</strong> val) { +<a name="260" href="#260">260</a> append = val; +<a name="261" href="#261">261</a> } +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="264" href="#264">264</a> +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="268" href="#268">268</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="269" href="#269">269</a> } +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(<strong class="jxr_keyword">final</strong> LoggingEvent event) { +<a name="272" href="#272">272</a> +<a name="273" href="#273">273</a> } +<a name="274" href="#274">274</a> } +<a name="275" href="#275">275</a> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment">/**</em> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> * Test processing of nested objects, see bug 36384.</em> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment"> *</em> +<a name="279" href="#279">279</a> <em class="jxr_javadoccomment"> */</em> +<a name="280" href="#280">280</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNested() { +<a name="281" href="#281">281</a> PropertyConfigurator.configure(<span class="jxr_string">"input/filter1.properties"</span>); +<a name="282" href="#282">282</a> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingFileAppender</a> rfa = (RollingFileAppender) +<a name="283" href="#283">283</a> Logger.getLogger(<span class="jxr_string">"org.apache.log4j.PropertyConfiguratorTest"</span>) +<a name="284" href="#284">284</a> .getAppender(<span class="jxr_string">"ROLLING"</span>); +<a name="285" href="#285">285</a> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">FixedWindowRollingPolicy</a> rollingPolicy = (FixedWindowRollingPolicy) rfa.getRollingPolicy(); +<a name="286" href="#286">286</a> assertEquals(<span class="jxr_string">"filterBase-test1.log"</span>, rollingPolicy.getActiveFileName()); +<a name="287" href="#287">287</a> assertEquals(<span class="jxr_string">"filterBased-test1.%i"</span>, rollingPolicy.getFileNamePattern()); +<a name="288" href="#288">288</a> assertEquals(0, rollingPolicy.getMinIndex()); +<a name="289" href="#289">289</a> assertTrue(rollingPolicy.isActivated()); +<a name="290" href="#290">290</a> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">FilterBasedTriggeringPolicy</a> triggeringPolicy = +<a name="291" href="#291">291</a> (<a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">FilterBasedTriggeringPolicy</a>) rfa.getTriggeringPolicy(); +<a name="292" href="#292">292</a> LevelRangeFilter filter = (LevelRangeFilter) triggeringPolicy.getFilter(); +<a name="293" href="#293">293</a> assertTrue(Level.INFO.equals(filter.getLevelMin())); +<a name="294" href="#294">294</a> LogManager.resetConfiguration(); +<a name="295" href="#295">295</a> } +<a name="296" href="#296">296</a> +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment">/**</em> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment"> * Mock ThrowableRenderer for testThrowableRenderer. See bug 45721.</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> */</em> +<a name="301" href="#301">301</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">MockThrowableRenderer</a> implements ThrowableRenderer, OptionHandler { +<a name="302" href="#302">302</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> activated = false; +<a name="303" href="#303">303</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> showVersion = <strong class="jxr_keyword">true</strong>; +<a name="304" href="#304">304</a> +<a name="305" href="#305">305</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">MockThrowableRenderer</a>() { +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="309" href="#309">309</a> activated = <strong class="jxr_keyword">true</strong>; +<a name="310" href="#310">310</a> } +<a name="311" href="#311">311</a> +<a name="312" href="#312">312</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isActivated() { +<a name="313" href="#313">313</a> <strong class="jxr_keyword">return</strong> activated; +<a name="314" href="#314">314</a> } +<a name="315" href="#315">315</a> +<a name="316" href="#316">316</a> <strong class="jxr_keyword">public</strong> String[] doRender(<strong class="jxr_keyword">final</strong> Throwable t) { +<a name="317" href="#317">317</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> String[0]; +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setShowVersion(<strong class="jxr_keyword">boolean</strong> v) { +<a name="321" href="#321">321</a> showVersion = v; +<a name="322" href="#322">322</a> } +<a name="323" href="#323">323</a> +<a name="324" href="#324">324</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getShowVersion() { +<a name="325" href="#325">325</a> <strong class="jxr_keyword">return</strong> showVersion; +<a name="326" href="#326">326</a> } +<a name="327" href="#327">327</a> } +<a name="328" href="#328">328</a> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment">/**</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> * Test of log4j.throwableRenderer support. See bug 45721.</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> */</em> +<a name="332" href="#332">332</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testThrowableRenderer() { +<a name="333" href="#333">333</a> Properties props = <strong class="jxr_keyword">new</strong> Properties(); +<a name="334" href="#334">334</a> props.put(<span class="jxr_string">"log4j.throwableRenderer"</span>, <span class="jxr_string">"org.apache.log4j.PropertyConfiguratorTest$MockThrowableRenderer"</span>); +<a name="335" href="#335">335</a> props.put(<span class="jxr_string">"log4j.throwableRenderer.showVersion"</span>, <span class="jxr_string">"false"</span>); +<a name="336" href="#336">336</a> PropertyConfigurator.configure(props); +<a name="337" href="#337">337</a> ThrowableRendererSupport repo = (ThrowableRendererSupport) LogManager.getLoggerRepository(); +<a name="338" href="#338">338</a> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">MockThrowableRenderer</a> renderer = (MockThrowableRenderer) repo.getThrowableRenderer(); +<a name="339" href="#339">339</a> LogManager.resetConfiguration(); +<a name="340" href="#340">340</a> assertNotNull(renderer); +<a name="341" href="#341">341</a> assertEquals(<strong class="jxr_keyword">true</strong>, renderer.isActivated()); +<a name="342" href="#342">342</a> assertEquals(false, renderer.getShowVersion()); +<a name="343" href="#343">343</a> } +<a name="344" href="#344">344</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/RFATestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/RFATestCase.html new file mode 100644 index 00000000000..3473f906f00 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/RFATestCase.html @@ -0,0 +1,251 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>RFATestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.FileWriter; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Test of RollingFileAppender.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> *</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/RFATestCase.html">RFATestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/RFATestCase.html">RFATestCase</a>(String name) { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">super</strong>(name); +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="38" href="#38">38</a> LogManager.resetConfiguration(); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Test basic rolling functionality using property file configuration.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="45" href="#45">45</a> Logger logger = Logger.getLogger(RFATestCase.<strong class="jxr_keyword">class</strong>); +<a name="46" href="#46">46</a> PropertyConfigurator.configure(<span class="jxr_string">"input/RFA1.properties"</span>); +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Write exactly 10 bytes with each log</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 25; i++) { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">if</strong> (i &lt; 10) { +<a name="51" href="#51">51</a> logger.debug(<span class="jxr_string">"Hello---"</span> + i); +<a name="52" href="#52">52</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (i &lt; 100) { +<a name="53" href="#53">53</a> logger.debug(<span class="jxr_string">"Hello--"</span> + i); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-test1.log"</span>).exists()); +<a name="58" href="#58">58</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-test1.log.1"</span>).exists()); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * Test basic rolling functionality using API configuration.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="65" href="#65">65</a> Logger logger = Logger.getLogger(RFATestCase.<strong class="jxr_keyword">class</strong>); +<a name="66" href="#66">66</a> Logger root = Logger.getRootLogger(); +<a name="67" href="#67">67</a> PatternLayout layout = <strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%m\n"</span>); +<a name="68" href="#68">68</a> org.apache.log4j.RollingFileAppender rfa = +<a name="69" href="#69">69</a> <strong class="jxr_keyword">new</strong> org.apache.log4j.RollingFileAppender(); +<a name="70" href="#70">70</a> rfa.setName(<span class="jxr_string">"ROLLING"</span>); +<a name="71" href="#71">71</a> rfa.setLayout(layout); +<a name="72" href="#72">72</a> rfa.setAppend(false); +<a name="73" href="#73">73</a> rfa.setMaxBackupIndex(3); +<a name="74" href="#74">74</a> rfa.setMaximumFileSize(100); +<a name="75" href="#75">75</a> rfa.setFile(<span class="jxr_string">"output/RFA-test2.log"</span>); +<a name="76" href="#76">76</a> rfa.activateOptions(); +<a name="77" href="#77">77</a> root.addAppender(rfa); +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_comment">// Write exactly 10 bytes with each log</em> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 55; i++) { +<a name="81" href="#81">81</a> <strong class="jxr_keyword">if</strong> (i &lt; 10) { +<a name="82" href="#82">82</a> logger.debug(<span class="jxr_string">"Hello---"</span> + i); +<a name="83" href="#83">83</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (i &lt; 100) { +<a name="84" href="#84">84</a> logger.debug(<span class="jxr_string">"Hello--"</span> + i); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-test2.log"</span>).exists()); +<a name="89" href="#89">89</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-test2.log.1"</span>).exists()); +<a name="90" href="#90">90</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-test2.log.2"</span>).exists()); +<a name="91" href="#91">91</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-test2.log.3"</span>).exists()); +<a name="92" href="#92">92</a> assertFalse(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-test2.log.4"</span>).exists()); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment">/**</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * Tests 2 parameter constructor.</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> */</em> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2ParamConstructor() <strong class="jxr_keyword">throws</strong> IOException { +<a name="100" href="#100">100</a> SimpleLayout layout = <strong class="jxr_keyword">new</strong> SimpleLayout(); +<a name="101" href="#101">101</a> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingFileAppender</a> appender = +<a name="102" href="#102">102</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingFileAppender</a>(layout,<span class="jxr_string">"output/rfa_2param.log"</span>); +<a name="103" href="#103">103</a> assertEquals(1, appender.getMaxBackupIndex()); +<a name="104" href="#104">104</a> assertEquals(10*1024*1024, appender.getMaximumFileSize()); +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">/**</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * Tests 3 parameter constructor.</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException during test.</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> */</em> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test3ParamConstructor() <strong class="jxr_keyword">throws</strong> IOException { +<a name="111" href="#111">111</a> SimpleLayout layout = <strong class="jxr_keyword">new</strong> SimpleLayout(); +<a name="112" href="#112">112</a> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingFileAppender</a> appender = +<a name="113" href="#113">113</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfiguratorTest.html">RollingFileAppender</a>(layout,<span class="jxr_string">"output/rfa_3param.log"</span>, false); +<a name="114" href="#114">114</a> assertEquals(1, appender.getMaxBackupIndex()); +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">/**</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> * Test locking of .1 file.</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> */</em> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLockDotOne() <strong class="jxr_keyword">throws</strong> Exception { +<a name="121" href="#121">121</a> Logger logger = Logger.getLogger(RFATestCase.<strong class="jxr_keyword">class</strong>); +<a name="122" href="#122">122</a> Logger root = Logger.getRootLogger(); +<a name="123" href="#123">123</a> PatternLayout layout = <strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%m\n"</span>); +<a name="124" href="#124">124</a> org.apache.log4j.RollingFileAppender rfa = +<a name="125" href="#125">125</a> <strong class="jxr_keyword">new</strong> org.apache.log4j.RollingFileAppender(); +<a name="126" href="#126">126</a> rfa.setName(<span class="jxr_string">"ROLLING"</span>); +<a name="127" href="#127">127</a> rfa.setLayout(layout); +<a name="128" href="#128">128</a> rfa.setAppend(false); +<a name="129" href="#129">129</a> rfa.setMaxBackupIndex(10); +<a name="130" href="#130">130</a> rfa.setMaximumFileSize(100); +<a name="131" href="#131">131</a> rfa.setFile(<span class="jxr_string">"output/RFA-dot1.log"</span>); +<a name="132" href="#132">132</a> rfa.activateOptions(); +<a name="133" href="#133">133</a> root.addAppender(rfa); +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot1.log.2"</span>).delete(); +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> FileWriter dot1 = <strong class="jxr_keyword">new</strong> FileWriter(<span class="jxr_string">"output/RFA-dot1.log.1"</span>); +<a name="138" href="#138">138</a> dot1.write(<span class="jxr_string">"Locked file"</span>); +<a name="139" href="#139">139</a> FileWriter dot5 = <strong class="jxr_keyword">new</strong> FileWriter(<span class="jxr_string">"output/RFA-dot1.log.5"</span>); +<a name="140" href="#140">140</a> dot5.write(<span class="jxr_string">"Unlocked file"</span>); +<a name="141" href="#141">141</a> dot5.close(); +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <em class="jxr_comment">// Write exactly 10 bytes with each log</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 15; i++) { +<a name="145" href="#145">145</a> <strong class="jxr_keyword">if</strong> (i &lt; 10) { +<a name="146" href="#146">146</a> logger.debug(<span class="jxr_string">"Hello---"</span> + i); +<a name="147" href="#147">147</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (i &lt; 100) { +<a name="148" href="#148">148</a> logger.debug(<span class="jxr_string">"Hello--"</span> + i); +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> dot1.close(); +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 15; i &lt; 25; i++) { +<a name="154" href="#154">154</a> logger.debug(<span class="jxr_string">"Hello--"</span> + i); +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> rfa.close(); +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot1.log.7"</span>).exists()); +<a name="160" href="#160">160</a> <em class="jxr_comment">//</em> +<a name="161" href="#161">161</a> <em class="jxr_comment">// if .2 is the locked file then</em> +<a name="162" href="#162">162</a> <em class="jxr_comment">// renaming wasn't successful until the file was closed</em> +<a name="163" href="#163">163</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot1.log.2"</span>).length() &lt; 15) { +<a name="164" href="#164">164</a> assertEquals(50, <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot1.log"</span>).length()); +<a name="165" href="#165">165</a> assertEquals(200, <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot1.log.1"</span>).length()); +<a name="166" href="#166">166</a> } <strong class="jxr_keyword">else</strong> { +<a name="167" href="#167">167</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot1.log"</span>).exists()); +<a name="168" href="#168">168</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot1.log.1"</span>).exists()); +<a name="169" href="#169">169</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot1.log.2"</span>).exists()); +<a name="170" href="#170">170</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot1.log.3"</span>).exists()); +<a name="171" href="#171">171</a> assertFalse(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot1.log.4"</span>).exists()); +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">/**</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> * Test locking of .3 file.</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> */</em> +<a name="179" href="#179">179</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLockDotThree() <strong class="jxr_keyword">throws</strong> Exception { +<a name="180" href="#180">180</a> Logger logger = Logger.getLogger(RFATestCase.<strong class="jxr_keyword">class</strong>); +<a name="181" href="#181">181</a> Logger root = Logger.getRootLogger(); +<a name="182" href="#182">182</a> PatternLayout layout = <strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%m\n"</span>); +<a name="183" href="#183">183</a> org.apache.log4j.RollingFileAppender rfa = +<a name="184" href="#184">184</a> <strong class="jxr_keyword">new</strong> org.apache.log4j.RollingFileAppender(); +<a name="185" href="#185">185</a> rfa.setName(<span class="jxr_string">"ROLLING"</span>); +<a name="186" href="#186">186</a> rfa.setLayout(layout); +<a name="187" href="#187">187</a> rfa.setAppend(false); +<a name="188" href="#188">188</a> rfa.setMaxBackupIndex(10); +<a name="189" href="#189">189</a> rfa.setMaximumFileSize(100); +<a name="190" href="#190">190</a> rfa.setFile(<span class="jxr_string">"output/RFA-dot3.log"</span>); +<a name="191" href="#191">191</a> rfa.activateOptions(); +<a name="192" href="#192">192</a> root.addAppender(rfa); +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.1"</span>).delete(); +<a name="195" href="#195">195</a> <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.2"</span>).delete(); +<a name="196" href="#196">196</a> <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.4"</span>).delete(); +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> FileWriter dot3 = <strong class="jxr_keyword">new</strong> FileWriter(<span class="jxr_string">"output/RFA-dot3.log.3"</span>); +<a name="199" href="#199">199</a> dot3.write(<span class="jxr_string">"Locked file"</span>); +<a name="200" href="#200">200</a> FileWriter dot5 = <strong class="jxr_keyword">new</strong> FileWriter(<span class="jxr_string">"output/RFA-dot3.log.5"</span>); +<a name="201" href="#201">201</a> dot5.write(<span class="jxr_string">"Unlocked file"</span>); +<a name="202" href="#202">202</a> dot5.close(); +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <em class="jxr_comment">// Write exactly 10 bytes with each log</em> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 15; i++) { +<a name="206" href="#206">206</a> <strong class="jxr_keyword">if</strong> (i &lt; 10) { +<a name="207" href="#207">207</a> logger.debug(<span class="jxr_string">"Hello---"</span> + i); +<a name="208" href="#208">208</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (i &lt; 100) { +<a name="209" href="#209">209</a> logger.debug(<span class="jxr_string">"Hello--"</span> + i); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> dot3.close(); +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 15; i &lt; 35; i++) { +<a name="215" href="#215">215</a> logger.debug(<span class="jxr_string">"Hello--"</span> + i); +<a name="216" href="#216">216</a> } +<a name="217" href="#217">217</a> rfa.close(); +<a name="218" href="#218">218</a> +<a name="219" href="#219">219</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.8"</span>).exists()); +<a name="220" href="#220">220</a> <em class="jxr_comment">//</em> +<a name="221" href="#221">221</a> <em class="jxr_comment">// if .3 is the locked file then</em> +<a name="222" href="#222">222</a> <em class="jxr_comment">// renaming wasn't successful until file was closed</em> +<a name="223" href="#223">223</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.5"</span>).exists()) { +<a name="224" href="#224">224</a> assertEquals(50, <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log"</span>).length()); +<a name="225" href="#225">225</a> assertEquals(100, <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.1"</span>).length()); +<a name="226" href="#226">226</a> assertEquals(200, <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.2"</span>).length()); +<a name="227" href="#227">227</a> } <strong class="jxr_keyword">else</strong> { +<a name="228" href="#228">228</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log"</span>).exists()); +<a name="229" href="#229">229</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.1"</span>).exists()); +<a name="230" href="#230">230</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.2"</span>).exists()); +<a name="231" href="#231">231</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.3"</span>).exists()); +<a name="232" href="#232">232</a> assertFalse(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/RFA-dot3.log.4"</span>).exists()); +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/StressCategory.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/StressCategory.html new file mode 100644 index 00000000000..cac3bbedb08 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/StressCategory.html @@ -0,0 +1,266 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>StressCategory xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Random; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_comment">/*</em> +<a name="26" href="#26">26</a> <em class="jxr_comment"> Stress test the Logger class.</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_comment">*/</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/StressCategory.html">StressCategory</a> { +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">static</strong> Level[] level = <strong class="jxr_keyword">new</strong> Level[] {Level.DEBUG, +<a name="33" href="#33">33</a> Level.INFO, +<a name="34" href="#34">34</a> Level.WARN, +<a name="35" href="#35">35</a> Level.ERROR, +<a name="36" href="#36">36</a> Level.FATAL}; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">static</strong> Level defaultLevel = Logger.getRootLogger().getLevel(); +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> LENGTH; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">static</strong> String[] names; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">static</strong> Logger[] cat; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> <a href="../../../org/apache/log4j/StressCategory.html">CT</a>[] ct; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> Random random = <strong class="jxr_keyword">new</strong> Random(10); +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] args) { +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> LENGTH = args.length; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">if</strong>(LENGTH == 0) { +<a name="52" href="#52">52</a> System.err.println( <span class="jxr_string">"Usage: java "</span> + StressCategory.<strong class="jxr_keyword">class</strong>.getName() + +<a name="53" href="#53">53</a> <span class="jxr_string">" name1 ... nameN\n."</span>); +<a name="54" href="#54">54</a> System.exit(1); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> <strong class="jxr_keyword">if</strong>(LENGTH &gt;= 7) { +<a name="57" href="#57">57</a> System.err.println( +<a name="58" href="#58">58</a> <span class="jxr_string">"This stress test suffers from combinatorial explosion.\n"</span>+ +<a name="59" href="#59">59</a> <span class="jxr_string">"Invoking with seven arguments takes about 90 minutes even on fast machines"</span>); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> names = <strong class="jxr_keyword">new</strong> String[LENGTH]; +<a name="63" href="#63">63</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i=0; i &lt; LENGTH; i++) { +<a name="64" href="#64">64</a> names[i] = args[i]; +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> cat = <strong class="jxr_keyword">new</strong> Logger[LENGTH]; +<a name="67" href="#67">67</a> ct = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/StressCategory.html">CT</a>[LENGTH]; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> permute(0); +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_comment">// If did not exit, then passed all tests.</em> +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_comment">// Loop through all permutations of names[].</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">// On each possible permutation call createLoop</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">static</strong> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">void</strong> permute(<strong class="jxr_keyword">int</strong> n) { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">if</strong>(n == LENGTH) +<a name="80" href="#80">80</a> createLoop(0); +<a name="81" href="#81">81</a> <strong class="jxr_keyword">else</strong> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = n; i &lt; LENGTH; i++) { +<a name="83" href="#83">83</a> swap(names, n, i); +<a name="84" href="#84">84</a> permute(n+1); +<a name="85" href="#85">85</a> swap(names, n, i); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">static</strong> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">void</strong> swap(String[] names, <strong class="jxr_keyword">int</strong> i, <strong class="jxr_keyword">int</strong> j) { +<a name="91" href="#91">91</a> String t = names[i]; +<a name="92" href="#92">92</a> names[i] = names[j]; +<a name="93" href="#93">93</a> names[j] = t; +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">static</strong> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">void</strong> permutationDump() { +<a name="99" href="#99">99</a> System.out.print(<span class="jxr_string">"Current permutation is - "</span>); +<a name="100" href="#100">100</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; LENGTH; i++) { +<a name="101" href="#101">101</a> System.out.print(names[i] + <span class="jxr_string">" "</span>); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> System.out.println(); +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_comment">// Loop through all possible 3^n combinations of not instantiating, </em> +<a name="108" href="#108">108</a> <em class="jxr_comment">// instantiating and setting/not setting a level.</em> +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">static</strong> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">void</strong> createLoop(<strong class="jxr_keyword">int</strong> n) { +<a name="112" href="#112">112</a> <strong class="jxr_keyword">if</strong>(n == LENGTH) { +<a name="113" href="#113">113</a> <em class="jxr_comment">//System.out.println("..............Creating cat[]...........");</em> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; LENGTH; i++) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">if</strong>(ct[i] == <strong class="jxr_keyword">null</strong>) +<a name="116" href="#116">116</a> cat[i] = <strong class="jxr_keyword">null</strong>; +<a name="117" href="#117">117</a> <strong class="jxr_keyword">else</strong> { +<a name="118" href="#118">118</a> cat[i] = Logger.getLogger(ct[i].catstr); +<a name="119" href="#119">119</a> cat[i].setLevel(ct[i].level); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> test(); +<a name="123" href="#123">123</a> <em class="jxr_comment">// Clear hash table for next round</em> +<a name="124" href="#124">124</a> Hierarchy h = (Hierarchy) LogManager.getLoggerRepository(); +<a name="125" href="#125">125</a> h.clear(); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> <strong class="jxr_keyword">else</strong> { +<a name="128" href="#128">128</a> ct[n] = <strong class="jxr_keyword">null</strong>; +<a name="129" href="#129">129</a> createLoop(n+1); +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> ct[n] = <strong class="jxr_keyword">new</strong> CT(names[n], <strong class="jxr_keyword">null</strong>); +<a name="132" href="#132">132</a> createLoop(n+1); +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">int</strong> r = random.nextInt(); <strong class="jxr_keyword">if</strong>(r &lt; 0) r = -r; +<a name="135" href="#135">135</a> ct[n] = <strong class="jxr_keyword">new</strong> CT(names[n], level[r%5]); +<a name="136" href="#136">136</a> createLoop(n+1); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">static</strong> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">void</strong> test() { +<a name="143" href="#143">143</a> <em class="jxr_comment">//System.out.println("++++++++++++TEST called+++++++++++++");</em> +<a name="144" href="#144">144</a> <em class="jxr_comment">//permutationDump();</em> +<a name="145" href="#145">145</a> <em class="jxr_comment">//catDump();</em> +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; LENGTH; i++) { +<a name="148" href="#148">148</a> <strong class="jxr_keyword">if</strong>(!checkCorrectness(i)) { +<a name="149" href="#149">149</a> System.out.println(<span class="jxr_string">"Failed stress test."</span>); +<a name="150" href="#150">150</a> permutationDump(); +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_comment">//Hierarchy._default.fullDump();</em> +<a name="153" href="#153">153</a> ctDump(); +<a name="154" href="#154">154</a> catDump(); +<a name="155" href="#155">155</a> System.exit(1); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <strong class="jxr_keyword">static</strong> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">void</strong> ctDump() { +<a name="162" href="#162">162</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> j = 0; j &lt; LENGTH; j++) { +<a name="163" href="#163">163</a> <strong class="jxr_keyword">if</strong>(ct[j] != <strong class="jxr_keyword">null</strong>) +<a name="164" href="#164">164</a> System.out.println(<span class="jxr_string">"ct ["</span> + j + <span class="jxr_string">"] = ("</span>+ct[j].catstr+<span class="jxr_string">","</span> + +<a name="165" href="#165">165</a> ct[j].level + <span class="jxr_string">")"</span>); +<a name="166" href="#166">166</a> <strong class="jxr_keyword">else</strong> +<a name="167" href="#167">167</a> System.out.println(<span class="jxr_string">"ct ["</span> + j + <span class="jxr_string">"] = undefined"</span>); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">static</strong> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">void</strong> catDump() { +<a name="173" href="#173">173</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> j = 0; j &lt; LENGTH; j++) { +<a name="174" href="#174">174</a> <strong class="jxr_keyword">if</strong>(cat[j] != <strong class="jxr_keyword">null</strong>) +<a name="175" href="#175">175</a> System.out.println(<span class="jxr_string">"cat["</span> + j + <span class="jxr_string">"] = ("</span> + cat[j].name + <span class="jxr_string">","</span> + +<a name="176" href="#176">176</a> cat[j].getLevel() + <span class="jxr_string">")"</span>); +<a name="177" href="#177">177</a> <strong class="jxr_keyword">else</strong> +<a name="178" href="#178">178</a> System.out.println(<span class="jxr_string">"cat["</span> + j + <span class="jxr_string">"] = undefined"</span>); +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <em class="jxr_comment">// static</em> +<a name="183" href="#183">183</a> <em class="jxr_comment">//void provisionNodesDump() {</em> +<a name="184" href="#184">184</a> <em class="jxr_comment">//for (Enumeration e = CategoryFactory.ht.keys(); e.hasMoreElements() ;) {</em> +<a name="185" href="#185">185</a> <em class="jxr_comment">// CategoryKey key = (CategoryKey) e.nextElement();</em> +<a name="186" href="#186">186</a> <em class="jxr_comment">// Object c = CategoryFactory.ht.get(key);</em> +<a name="187" href="#187">187</a> <em class="jxr_comment">// if(c instanceof ProvisionNode) </em> +<a name="188" href="#188">188</a> <em class="jxr_comment">//((ProvisionNode) c).dump(key.name);</em> +<a name="189" href="#189">189</a> <em class="jxr_comment">//}</em> +<a name="190" href="#190">190</a> <em class="jxr_comment">//}</em> +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> <strong class="jxr_keyword">static</strong> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">boolean</strong> checkCorrectness(<strong class="jxr_keyword">int</strong> i) { +<a name="194" href="#194">194</a> <a href="../../../org/apache/log4j/StressCategory.html">CT</a> localCT = ct[i]; +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <em class="jxr_comment">// Can't perform test if logger is not instantiated</em> +<a name="197" href="#197">197</a> <strong class="jxr_keyword">if</strong>(localCT == <strong class="jxr_keyword">null</strong>) +<a name="198" href="#198">198</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="199" href="#199">199</a> +<a name="200" href="#200">200</a> <em class="jxr_comment">// find expected level</em> +<a name="201" href="#201">201</a> Level expected = getExpectedPrioriy(localCT); +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> Level purported = cat[i].getEffectiveLevel(); +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <strong class="jxr_keyword">if</strong>(expected != purported) { +<a name="207" href="#207">207</a> System.out.println(<span class="jxr_string">"Expected level for "</span> + localCT.catstr + <span class="jxr_string">" is "</span> + +<a name="208" href="#208">208</a> expected); +<a name="209" href="#209">209</a> System.out.println(<span class="jxr_string">"Purported level for "</span>+ cat[i].name + <span class="jxr_string">" is "</span>+purported); +<a name="210" href="#210">210</a> <strong class="jxr_keyword">return</strong> false; +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">static</strong> +<a name="217" href="#217">217</a> Level getExpectedPrioriy(<a href="../../../org/apache/log4j/StressCategory.html">CT</a> ctParam) { +<a name="218" href="#218">218</a> Level level = ctParam.level; +<a name="219" href="#219">219</a> <strong class="jxr_keyword">if</strong>(level != <strong class="jxr_keyword">null</strong>) +<a name="220" href="#220">220</a> <strong class="jxr_keyword">return</strong> level; +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> String catstr = ctParam.catstr; +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = catstr.lastIndexOf('.', catstr.length()-1); i &gt;= 0; +<a name="226" href="#226">226</a> i = catstr.lastIndexOf('.', i-1)) { +<a name="227" href="#227">227</a> String substr = catstr.substring(0, i); +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> <em class="jxr_comment">// find the level of ct corresponding to substr</em> +<a name="230" href="#230">230</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> j = 0; j &lt; LENGTH; j++) { +<a name="231" href="#231">231</a> <strong class="jxr_keyword">if</strong>(ct[j] != <strong class="jxr_keyword">null</strong> &amp;&amp; substr.equals(ct[j].catstr)) { +<a name="232" href="#232">232</a> Level p = ct[j].level; +<a name="233" href="#233">233</a> <strong class="jxr_keyword">if</strong>(p != <strong class="jxr_keyword">null</strong>) +<a name="234" href="#234">234</a> <strong class="jxr_keyword">return</strong> p; +<a name="235" href="#235">235</a> } +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> <strong class="jxr_keyword">return</strong> defaultLevel; +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/StressCategory.html">CT</a> { +<a name="244" href="#244">244</a> <strong class="jxr_keyword">public</strong> String catstr; +<a name="245" href="#245">245</a> <strong class="jxr_keyword">public</strong> Level level; +<a name="246" href="#246">246</a> +<a name="247" href="#247">247</a> <a href="../../../org/apache/log4j/StressCategory.html">CT</a>(String catstr, Level level) { +<a name="248" href="#248">248</a> <strong class="jxr_keyword">this</strong>.catstr = catstr; +<a name="249" href="#249">249</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TTCCLayoutTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TTCCLayoutTest.html new file mode 100644 index 00000000000..32bb83e68d4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TTCCLayoutTest.html @@ -0,0 +1,126 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TTCCLayoutTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.DateLayoutTest; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Test for TTCCLayout.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/TTCCLayoutTest.html">TTCCLayoutTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/helpers/DateLayoutTest.html">DateLayoutTest</a> { +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Construct new instance of TTCCLayoutTest.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @param testName test name.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/TTCCLayoutTest.html">TTCCLayoutTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="36" href="#36">36</a> <strong class="jxr_keyword">super</strong>(testName, <span class="jxr_string">"text/plain"</span>, <strong class="jxr_keyword">true</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="37" href="#37">37</a> } +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">protected</strong> Layout createLayout() { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> TTCCLayout(); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * Tests format.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormat() { +<a name="50" href="#50">50</a> NDC.clear(); +<a name="51" href="#51">51</a> NDC.push(<span class="jxr_string">"NDC goes here"</span>); +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.LayoutTest"</span>); +<a name="54" href="#54">54</a> LoggingEvent event = +<a name="55" href="#55">55</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="56" href="#56">56</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.INFO, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="57" href="#57">57</a> TTCCLayout layout = (TTCCLayout) createLayout(); +<a name="58" href="#58">58</a> String result = layout.format(event); +<a name="59" href="#59">59</a> NDC.pop(); +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(100); +<a name="62" href="#62">62</a> layout.dateFormat(buf, event); +<a name="63" href="#63">63</a> buf.append('['); +<a name="64" href="#64">64</a> buf.append(event.getThreadName()); +<a name="65" href="#65">65</a> buf.append(<span class="jxr_string">"] "</span>); +<a name="66" href="#66">66</a> buf.append(event.getLevel().toString()); +<a name="67" href="#67">67</a> buf.append(' '); +<a name="68" href="#68">68</a> buf.append(event.getLoggerName()); +<a name="69" href="#69">69</a> buf.append(' '); +<a name="70" href="#70">70</a> buf.append(<span class="jxr_string">"NDC goes here"</span>); +<a name="71" href="#71">71</a> buf.append(<span class="jxr_string">" - "</span>); +<a name="72" href="#72">72</a> buf.append(event.getMessage()); +<a name="73" href="#73">73</a> buf.append(System.getProperty(<span class="jxr_string">"line.separator"</span>)); +<a name="74" href="#74">74</a> assertEquals(buf.toString(), result); +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment">/**</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * Tests getThreadPrinting and setThreadPrinting.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> */</em> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSetThreadPrinting() { +<a name="81" href="#81">81</a> TTCCLayout layout = <strong class="jxr_keyword">new</strong> TTCCLayout(); +<a name="82" href="#82">82</a> assertEquals(<strong class="jxr_keyword">true</strong>, layout.getThreadPrinting()); +<a name="83" href="#83">83</a> layout.setThreadPrinting(false); +<a name="84" href="#84">84</a> assertEquals(false, layout.getThreadPrinting()); +<a name="85" href="#85">85</a> layout.setThreadPrinting(<strong class="jxr_keyword">true</strong>); +<a name="86" href="#86">86</a> assertEquals(<strong class="jxr_keyword">true</strong>, layout.getThreadPrinting()); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * Tests getCategoryPrefixing and setCategoryPrefixing.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> */</em> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSetCategoryPrefixing() { +<a name="93" href="#93">93</a> TTCCLayout layout = <strong class="jxr_keyword">new</strong> TTCCLayout(); +<a name="94" href="#94">94</a> assertEquals(<strong class="jxr_keyword">true</strong>, layout.getCategoryPrefixing()); +<a name="95" href="#95">95</a> layout.setCategoryPrefixing(false); +<a name="96" href="#96">96</a> assertEquals(false, layout.getCategoryPrefixing()); +<a name="97" href="#97">97</a> layout.setCategoryPrefixing(<strong class="jxr_keyword">true</strong>); +<a name="98" href="#98">98</a> assertEquals(<strong class="jxr_keyword">true</strong>, layout.getCategoryPrefixing()); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * Tests getContextPrinting and setContextPrinting.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> */</em> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSetContextPrinting() { +<a name="105" href="#105">105</a> TTCCLayout layout = <strong class="jxr_keyword">new</strong> TTCCLayout(); +<a name="106" href="#106">106</a> assertEquals(<strong class="jxr_keyword">true</strong>, layout.getContextPrinting()); +<a name="107" href="#107">107</a> layout.setContextPrinting(false); +<a name="108" href="#108">108</a> assertEquals(false, layout.getContextPrinting()); +<a name="109" href="#109">109</a> layout.setContextPrinting(<strong class="jxr_keyword">true</strong>); +<a name="110" href="#110">110</a> assertEquals(<strong class="jxr_keyword">true</strong>, layout.getContextPrinting()); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogMF.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogMF.html new file mode 100644 index 00000000000..7167a99dfad --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogMF.html @@ -0,0 +1,1305 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TestLogMF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.CharArrayWriter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.text.MessageFormat; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.text.NumberFormat; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * Unit test for LogMF.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/TestLogMF.html">TestLogMF</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * Trace level.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Level TRACE = getTraceLevel(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Gets Trace level.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Trace level was not defined prior to log4j 1.2.12.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @return trace level</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Level getTraceLevel() { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">try</strong> { +<a name="44" href="#44">44</a> <strong class="jxr_keyword">return</strong> (Level) Level.<strong class="jxr_keyword">class</strong>.getField(<span class="jxr_string">"TRACE"</span>).get(<strong class="jxr_keyword">null</strong>); +<a name="45" href="#45">45</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Level(5000, <span class="jxr_string">"TRACE"</span>, 7); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * Logger.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Logger logger = Logger.getLogger( +<a name="54" href="#54">54</a> <span class="jxr_string">"org.apache.log4j.formatter.TestLogMF"</span>); +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment">/**</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * Create the test case</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> *</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * @param testName name of the test case</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/TestLogMF.html">TestLogMF</a>(String testName) { +<a name="62" href="#62">62</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * Post test clean up.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> */</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="70" href="#70">70</a> LogManager.resetConfiguration(); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * Test class name when logging through LogMF.</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testClassName() { +<a name="77" href="#77">77</a> CharArrayWriter writer = <strong class="jxr_keyword">new</strong> CharArrayWriter(); +<a name="78" href="#78">78</a> PatternLayout layout = <strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%C"</span>); +<a name="79" href="#79">79</a> WriterAppender appender = <strong class="jxr_keyword">new</strong> WriterAppender(layout, writer); +<a name="80" href="#80">80</a> appender.activateOptions(); +<a name="81" href="#81">81</a> Logger.getRootLogger().addAppender(appender); +<a name="82" href="#82">82</a> LogMF.debug(logger, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="83" href="#83">83</a> assertEquals(TestLogMF.<strong class="jxr_keyword">class</strong>.getName(), writer.toString()); +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment">/**</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with null pattern.</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> */</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceNullPattern() { +<a name="90" href="#90">90</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="91" href="#91">91</a> logger.setLevel(TRACE); +<a name="92" href="#92">92</a> LogMF.trace(logger, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="93" href="#93">93</a> assertNull(capture.getMessage()); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment">/**</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with no-field pattern.</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> */</em> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceNoArg() { +<a name="100" href="#100">100</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="101" href="#101">101</a> logger.setLevel(TRACE); +<a name="102" href="#102">102</a> LogMF.trace(logger, <span class="jxr_string">"Hello, World"</span>, Math.PI); +<a name="103" href="#103">103</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">/**</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with malformed pattern.</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> */</em> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceBadPattern() { +<a name="110" href="#110">110</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="111" href="#111">111</a> logger.setLevel(TRACE); +<a name="112" href="#112">112</a> LogMF.trace(logger, <span class="jxr_string">"Hello, {."</span>, Math.PI); +<a name="113" href="#113">113</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">/**</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with missing argument.</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> */</em> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceMissingArg() { +<a name="120" href="#120">120</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="121" href="#121">121</a> logger.setLevel(TRACE); +<a name="122" href="#122">122</a> LogMF.trace(logger, <span class="jxr_string">"Hello, {0}World"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="123" href="#123">123</a> assertEquals(<span class="jxr_string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with single field pattern with string argument.</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> */</em> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceString() { +<a name="130" href="#130">130</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="131" href="#131">131</a> logger.setLevel(TRACE); +<a name="132" href="#132">132</a> LogMF.trace(logger, <span class="jxr_string">"Hello, {0}"</span>, <span class="jxr_string">"World"</span>); +<a name="133" href="#133">133</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">/**</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with single field pattern with null argument.</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> */</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceNull() { +<a name="140" href="#140">140</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="141" href="#141">141</a> logger.setLevel(TRACE); +<a name="142" href="#142">142</a> LogMF.trace(logger, <span class="jxr_string">"Hello, {0}"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="143" href="#143">143</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">/**</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with single field pattern with int argument.</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> */</em> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceInt() { +<a name="150" href="#150">150</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="151" href="#151">151</a> logger.setLevel(TRACE); +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="154" href="#154">154</a> LogMF.trace(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="155" href="#155">155</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">/**</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with single field pattern with byte argument.</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> */</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceByte() { +<a name="162" href="#162">162</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="163" href="#163">163</a> logger.setLevel(TRACE); +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> byte val = 42; +<a name="166" href="#166">166</a> LogMF.trace(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="167" href="#167">167</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">/**</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with single field pattern with short argument.</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> */</em> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceShort() { +<a name="174" href="#174">174</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="175" href="#175">175</a> logger.setLevel(TRACE); +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="178" href="#178">178</a> LogMF.trace(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="179" href="#179">179</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">/**</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with single field pattern with long argument.</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> */</em> +<a name="185" href="#185">185</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceLong() { +<a name="186" href="#186">186</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="187" href="#187">187</a> logger.setLevel(TRACE); +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="190" href="#190">190</a> LogMF.trace(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="191" href="#191">191</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">/**</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with single field pattern with char argument.</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> */</em> +<a name="197" href="#197">197</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceChar() { +<a name="198" href="#198">198</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="199" href="#199">199</a> logger.setLevel(TRACE); +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="202" href="#202">202</a> LogMF.trace(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="203" href="#203">203</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">/**</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with single field pattern with boolean argument.</em> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment"> */</em> +<a name="209" href="#209">209</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceBoolean() { +<a name="210" href="#210">210</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="211" href="#211">211</a> logger.setLevel(TRACE); +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="214" href="#214">214</a> LogMF.trace(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="215" href="#215">215</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="216" href="#216">216</a> } +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment">/**</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with single field pattern with float argument.</em> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> */</em> +<a name="221" href="#221">221</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceFloat() { +<a name="222" href="#222">222</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="223" href="#223">223</a> logger.setLevel(TRACE); +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <strong class="jxr_keyword">float</strong> val = 3.14f; +<a name="226" href="#226">226</a> NumberFormat format = NumberFormat.getInstance(); +<a name="227" href="#227">227</a> LogMF.trace(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="228" href="#228">228</a> assertEquals(<span class="jxr_string">"Iteration "</span>+ format.format(val), capture.getMessage()); +<a name="229" href="#229">229</a> } +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment">/**</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with single field pattern with double argument.</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> */</em> +<a name="234" href="#234">234</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceDouble() { +<a name="235" href="#235">235</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="236" href="#236">236</a> logger.setLevel(TRACE); +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> <strong class="jxr_keyword">double</strong> val = 3.14; +<a name="239" href="#239">239</a> NumberFormat format = NumberFormat.getInstance(); +<a name="240" href="#240">240</a> LogMF.trace(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="241" href="#241">241</a> assertEquals(<span class="jxr_string">"Iteration "</span>+ format.format(val), capture.getMessage()); +<a name="242" href="#242">242</a> } +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment">/**</em> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with two arguments.</em> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> */</em> +<a name="247" href="#247">247</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceTwoArg() { +<a name="248" href="#248">248</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="249" href="#249">249</a> logger.setLevel(TRACE); +<a name="250" href="#250">250</a> LogMF.trace(logger, <span class="jxr_string">"{1}, {0}."</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>); +<a name="251" href="#251">251</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="252" href="#252">252</a> } +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment">/**</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with three arguments.</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> */</em> +<a name="257" href="#257">257</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceThreeArg() { +<a name="258" href="#258">258</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="259" href="#259">259</a> logger.setLevel(TRACE); +<a name="260" href="#260">260</a> LogMF.trace(logger, <span class="jxr_string">"{1}{2} {0}."</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>); +<a name="261" href="#261">261</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment">/**</em> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with four arguments.</em> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> */</em> +<a name="267" href="#267">267</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceFourArg() { +<a name="268" href="#268">268</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="269" href="#269">269</a> logger.setLevel(TRACE); +<a name="270" href="#270">270</a> LogMF.trace(logger, <span class="jxr_string">"{1}{2} {0}{3}"</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span>); +<a name="271" href="#271">271</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment">/**</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with Object[] argument.</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> */</em> +<a name="277" href="#277">277</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceArrayArg() { +<a name="278" href="#278">278</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="279" href="#279">279</a> logger.setLevel(TRACE); +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span> }; +<a name="282" href="#282">282</a> LogMF.trace(logger, <span class="jxr_string">"{1}{2} {0}{3}"</span>, args); +<a name="283" href="#283">283</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="284" href="#284">284</a> } +<a name="285" href="#285">285</a> +<a name="286" href="#286">286</a> <em class="jxr_javadoccomment">/**</em> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> * Test LogMF.trace with null Object[] argument.</em> +<a name="288" href="#288">288</a> <em class="jxr_javadoccomment"> */</em> +<a name="289" href="#289">289</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceNullArrayArg() { +<a name="290" href="#290">290</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="291" href="#291">291</a> logger.setLevel(TRACE); +<a name="292" href="#292">292</a> +<a name="293" href="#293">293</a> Object[] args = <strong class="jxr_keyword">null</strong>; +<a name="294" href="#294">294</a> LogMF.trace(logger, <span class="jxr_string">"{1}{2} {0}{3}"</span>, args); +<a name="295" href="#295">295</a> assertEquals(<span class="jxr_string">"{1}{2} {0}{3}"</span>, capture.getMessage()); +<a name="296" href="#296">296</a> } +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment">/**</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with null pattern.</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> */</em> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugNullPattern() { +<a name="303" href="#303">303</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="304" href="#304">304</a> LogMF.debug(logger, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="305" href="#305">305</a> assertEquals(<strong class="jxr_keyword">null</strong>, capture.getMessage()); +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">/**</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with no-field pattern.</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> */</em> +<a name="311" href="#311">311</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugNoArg() { +<a name="312" href="#312">312</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="313" href="#313">313</a> LogMF.debug(logger, <span class="jxr_string">"Hello, World"</span>, Math.PI); +<a name="314" href="#314">314</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="315" href="#315">315</a> } +<a name="316" href="#316">316</a> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment">/**</em> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with malformed pattern.</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> */</em> +<a name="320" href="#320">320</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugBadPattern() { +<a name="321" href="#321">321</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="322" href="#322">322</a> LogMF.debug(logger, <span class="jxr_string">"Hello, {."</span>, Math.PI); +<a name="323" href="#323">323</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="324" href="#324">324</a> } +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">/**</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with missing argument.</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> */</em> +<a name="329" href="#329">329</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugMissingArg() { +<a name="330" href="#330">330</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="331" href="#331">331</a> LogMF.debug(logger, <span class="jxr_string">"Hello, {0}World"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="332" href="#332">332</a> assertEquals(<span class="jxr_string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="333" href="#333">333</a> } +<a name="334" href="#334">334</a> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment">/**</em> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with string argument.</em> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment"> */</em> +<a name="338" href="#338">338</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugString() { +<a name="339" href="#339">339</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="340" href="#340">340</a> LogMF.debug(logger, <span class="jxr_string">"Hello, {0}"</span>, <span class="jxr_string">"World"</span>); +<a name="341" href="#341">341</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="342" href="#342">342</a> } +<a name="343" href="#343">343</a> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment">/**</em> +<a name="345" href="#345">345</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with null argument.</em> +<a name="346" href="#346">346</a> <em class="jxr_javadoccomment"> */</em> +<a name="347" href="#347">347</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugNull() { +<a name="348" href="#348">348</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="349" href="#349">349</a> LogMF.debug(logger, <span class="jxr_string">"Hello, {0}"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="350" href="#350">350</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="351" href="#351">351</a> } +<a name="352" href="#352">352</a> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment">/**</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with int argument.</em> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment"> */</em> +<a name="356" href="#356">356</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugInt() { +<a name="357" href="#357">357</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="358" href="#358">358</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="359" href="#359">359</a> LogMF.debug(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="360" href="#360">360</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="361" href="#361">361</a> } +<a name="362" href="#362">362</a> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment">/**</em> +<a name="364" href="#364">364</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with byte argument.</em> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment"> */</em> +<a name="366" href="#366">366</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugByte() { +<a name="367" href="#367">367</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="368" href="#368">368</a> byte val = 42; +<a name="369" href="#369">369</a> LogMF.debug(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="370" href="#370">370</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="371" href="#371">371</a> } +<a name="372" href="#372">372</a> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment">/**</em> +<a name="374" href="#374">374</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with short argument.</em> +<a name="375" href="#375">375</a> <em class="jxr_javadoccomment"> */</em> +<a name="376" href="#376">376</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugShort() { +<a name="377" href="#377">377</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="378" href="#378">378</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="379" href="#379">379</a> LogMF.debug(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="380" href="#380">380</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="381" href="#381">381</a> } +<a name="382" href="#382">382</a> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment">/**</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with long argument.</em> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment"> */</em> +<a name="386" href="#386">386</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugLong() { +<a name="387" href="#387">387</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="388" href="#388">388</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="389" href="#389">389</a> LogMF.debug(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="390" href="#390">390</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="391" href="#391">391</a> } +<a name="392" href="#392">392</a> +<a name="393" href="#393">393</a> <em class="jxr_javadoccomment">/**</em> +<a name="394" href="#394">394</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with char argument.</em> +<a name="395" href="#395">395</a> <em class="jxr_javadoccomment"> */</em> +<a name="396" href="#396">396</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugChar() { +<a name="397" href="#397">397</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="398" href="#398">398</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="399" href="#399">399</a> LogMF.debug(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="400" href="#400">400</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="401" href="#401">401</a> } +<a name="402" href="#402">402</a> +<a name="403" href="#403">403</a> <em class="jxr_javadoccomment">/**</em> +<a name="404" href="#404">404</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with boolean argument.</em> +<a name="405" href="#405">405</a> <em class="jxr_javadoccomment"> */</em> +<a name="406" href="#406">406</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugBoolean() { +<a name="407" href="#407">407</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="408" href="#408">408</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="409" href="#409">409</a> LogMF.debug(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="410" href="#410">410</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="411" href="#411">411</a> } +<a name="412" href="#412">412</a> +<a name="413" href="#413">413</a> <em class="jxr_javadoccomment">/**</em> +<a name="414" href="#414">414</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with float argument.</em> +<a name="415" href="#415">415</a> <em class="jxr_javadoccomment"> */</em> +<a name="416" href="#416">416</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugFloat() { +<a name="417" href="#417">417</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="418" href="#418">418</a> LogMF.debug(logger, <span class="jxr_string">"Iteration {0}"</span>, (<strong class="jxr_keyword">float</strong>) Math.PI); +<a name="419" href="#419">419</a> +<a name="420" href="#420">420</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="421" href="#421">421</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Float(Math.PI) }); +<a name="422" href="#422">422</a> assertEquals(expected, capture.getMessage()); +<a name="423" href="#423">423</a> } +<a name="424" href="#424">424</a> +<a name="425" href="#425">425</a> <em class="jxr_javadoccomment">/**</em> +<a name="426" href="#426">426</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with double argument.</em> +<a name="427" href="#427">427</a> <em class="jxr_javadoccomment"> */</em> +<a name="428" href="#428">428</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugDouble() { +<a name="429" href="#429">429</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="430" href="#430">430</a> LogMF.debug(logger, <span class="jxr_string">"Iteration {0}"</span>, Math.PI); +<a name="431" href="#431">431</a> +<a name="432" href="#432">432</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="433" href="#433">433</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Double(Math.PI) }); +<a name="434" href="#434">434</a> assertEquals(expected, capture.getMessage()); +<a name="435" href="#435">435</a> } +<a name="436" href="#436">436</a> +<a name="437" href="#437">437</a> <em class="jxr_javadoccomment">/**</em> +<a name="438" href="#438">438</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with two arguments.</em> +<a name="439" href="#439">439</a> <em class="jxr_javadoccomment"> */</em> +<a name="440" href="#440">440</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugTwoArg() { +<a name="441" href="#441">441</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="442" href="#442">442</a> LogMF.debug(logger, <span class="jxr_string">"{1}, {0}."</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>); +<a name="443" href="#443">443</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="444" href="#444">444</a> } +<a name="445" href="#445">445</a> +<a name="446" href="#446">446</a> <em class="jxr_javadoccomment">/**</em> +<a name="447" href="#447">447</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with three arguments.</em> +<a name="448" href="#448">448</a> <em class="jxr_javadoccomment"> */</em> +<a name="449" href="#449">449</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugThreeArg() { +<a name="450" href="#450">450</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="451" href="#451">451</a> LogMF.debug(logger, <span class="jxr_string">"{1}{2} {0}."</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>); +<a name="452" href="#452">452</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="453" href="#453">453</a> } +<a name="454" href="#454">454</a> +<a name="455" href="#455">455</a> <em class="jxr_javadoccomment">/**</em> +<a name="456" href="#456">456</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with four arguments.</em> +<a name="457" href="#457">457</a> <em class="jxr_javadoccomment"> */</em> +<a name="458" href="#458">458</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugFourArg() { +<a name="459" href="#459">459</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="460" href="#460">460</a> LogMF.debug(logger, <span class="jxr_string">"{1}{2} {0}{3}"</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span>); +<a name="461" href="#461">461</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="462" href="#462">462</a> } +<a name="463" href="#463">463</a> +<a name="464" href="#464">464</a> <em class="jxr_javadoccomment">/**</em> +<a name="465" href="#465">465</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with Object[] argument.</em> +<a name="466" href="#466">466</a> <em class="jxr_javadoccomment"> */</em> +<a name="467" href="#467">467</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugArrayArg() { +<a name="468" href="#468">468</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="469" href="#469">469</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span> }; +<a name="470" href="#470">470</a> LogMF.debug(logger, <span class="jxr_string">"{1}{2} {0}{3}"</span>, args); +<a name="471" href="#471">471</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="472" href="#472">472</a> } +<a name="473" href="#473">473</a> +<a name="474" href="#474">474</a> <em class="jxr_javadoccomment">/**</em> +<a name="475" href="#475">475</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with double argument.</em> +<a name="476" href="#476">476</a> <em class="jxr_javadoccomment"> */</em> +<a name="477" href="#477">477</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugDate() { +<a name="478" href="#478">478</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="479" href="#479">479</a> Date epoch = <strong class="jxr_keyword">new</strong> Date(0); +<a name="480" href="#480">480</a> LogMF.debug(logger, <span class="jxr_string">"Iteration {0}"</span>, epoch); +<a name="481" href="#481">481</a> +<a name="482" href="#482">482</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="483" href="#483">483</a> <strong class="jxr_keyword">new</strong> Object[] { epoch }); +<a name="484" href="#484">484</a> String expected2 = <span class="jxr_string">"Iteration "</span> + DateFormat.getDateTimeInstance( +<a name="485" href="#485">485</a> DateFormat.SHORT, +<a name="486" href="#486">486</a> DateFormat.SHORT).format(epoch); +<a name="487" href="#487">487</a> String actual = capture.getMessage(); +<a name="488" href="#488">488</a> <em class="jxr_comment">//</em> +<a name="489" href="#489">489</a> <em class="jxr_comment">// gcj has been observed to output 12/31/69 6:00:00 PM</em> +<a name="490" href="#490">490</a> <em class="jxr_comment">// instead of the expected 12/31/69 6:00 PM</em> +<a name="491" href="#491">491</a> <strong class="jxr_keyword">if</strong> (System.getProperty(<span class="jxr_string">"java.vendor"</span>).indexOf(<span class="jxr_string">"Free"</span>) == -1) { +<a name="492" href="#492">492</a> assertEquals(expected, actual); +<a name="493" href="#493">493</a> } +<a name="494" href="#494">494</a> assertEquals(expected2, actual); +<a name="495" href="#495">495</a> } +<a name="496" href="#496">496</a> +<a name="497" href="#497">497</a> <em class="jxr_javadoccomment">/**</em> +<a name="498" href="#498">498</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with null Object[] argument.</em> +<a name="499" href="#499">499</a> <em class="jxr_javadoccomment"> */</em> +<a name="500" href="#500">500</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugNullArrayArg() { +<a name="501" href="#501">501</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="502" href="#502">502</a> Object[] args = <strong class="jxr_keyword">null</strong>; +<a name="503" href="#503">503</a> LogMF.debug(logger, <span class="jxr_string">"{1}{2} {0}{3}"</span>, args); +<a name="504" href="#504">504</a> assertEquals(<span class="jxr_string">"{1}{2} {0}{3}"</span>, capture.getMessage()); +<a name="505" href="#505">505</a> } +<a name="506" href="#506">506</a> +<a name="507" href="#507">507</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugPercent() { +<a name="508" href="#508">508</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="509" href="#509">509</a> LogMF.debug(logger, <span class="jxr_string">"{0, number, percent}"</span>, Math.PI); +<a name="510" href="#510">510</a> +<a name="511" href="#511">511</a> String expected = java.text.MessageFormat.format(<span class="jxr_string">"{0, number, percent}"</span>, +<a name="512" href="#512">512</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Double(Math.PI) }); +<a name="513" href="#513">513</a> assertEquals(expected, capture.getMessage()); +<a name="514" href="#514">514</a> } +<a name="515" href="#515">515</a> +<a name="516" href="#516">516</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugFullPrecisionAndPercent() { +<a name="517" href="#517">517</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="518" href="#518">518</a> LogMF.debug(logger, <span class="jxr_string">"{0}{0, number, percent}"</span>, Math.PI); +<a name="519" href="#519">519</a> +<a name="520" href="#520">520</a> String expected = java.text.MessageFormat.format(<span class="jxr_string">"{0}{0, number, percent}"</span>, +<a name="521" href="#521">521</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Double(Math.PI) }); +<a name="522" href="#522">522</a> assertEquals(expected, capture.getMessage()); +<a name="523" href="#523">523</a> } +<a name="524" href="#524">524</a> +<a name="525" href="#525">525</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugQuoted() { +<a name="526" href="#526">526</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="527" href="#527">527</a> LogMF.debug(logger, <span class="jxr_string">"'{0}'"</span>, <span class="jxr_string">"World"</span>); +<a name="528" href="#528">528</a> assertEquals(<span class="jxr_string">"{0}"</span>, capture.getMessage()); +<a name="529" href="#529">529</a> } +<a name="530" href="#530">530</a> +<a name="531" href="#531">531</a> <em class="jxr_javadoccomment">/**</em> +<a name="532" href="#532">532</a> <em class="jxr_javadoccomment"> * Test LogMF.info with null pattern.</em> +<a name="533" href="#533">533</a> <em class="jxr_javadoccomment"> */</em> +<a name="534" href="#534">534</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoNullPattern() { +<a name="535" href="#535">535</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="536" href="#536">536</a> LogMF.info(logger, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="537" href="#537">537</a> assertNull(capture.getMessage()); +<a name="538" href="#538">538</a> } +<a name="539" href="#539">539</a> +<a name="540" href="#540">540</a> <em class="jxr_javadoccomment">/**</em> +<a name="541" href="#541">541</a> <em class="jxr_javadoccomment"> * Test LogMF.info with no-field pattern.</em> +<a name="542" href="#542">542</a> <em class="jxr_javadoccomment"> */</em> +<a name="543" href="#543">543</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoNoArg() { +<a name="544" href="#544">544</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="545" href="#545">545</a> LogMF.info(logger, <span class="jxr_string">"Hello, World"</span>, Math.PI); +<a name="546" href="#546">546</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="547" href="#547">547</a> } +<a name="548" href="#548">548</a> +<a name="549" href="#549">549</a> <em class="jxr_javadoccomment">/**</em> +<a name="550" href="#550">550</a> <em class="jxr_javadoccomment"> * Test LogMF.info with malformed pattern.</em> +<a name="551" href="#551">551</a> <em class="jxr_javadoccomment"> */</em> +<a name="552" href="#552">552</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoBadPattern() { +<a name="553" href="#553">553</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="554" href="#554">554</a> LogMF.info(logger, <span class="jxr_string">"Hello, {."</span>, Math.PI); +<a name="555" href="#555">555</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="556" href="#556">556</a> } +<a name="557" href="#557">557</a> +<a name="558" href="#558">558</a> <em class="jxr_javadoccomment">/**</em> +<a name="559" href="#559">559</a> <em class="jxr_javadoccomment"> * Test LogMF.info with missing argument.</em> +<a name="560" href="#560">560</a> <em class="jxr_javadoccomment"> */</em> +<a name="561" href="#561">561</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoMissingArg() { +<a name="562" href="#562">562</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="563" href="#563">563</a> LogMF.info(logger, <span class="jxr_string">"Hello, {0}World"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="564" href="#564">564</a> assertEquals(<span class="jxr_string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="565" href="#565">565</a> } +<a name="566" href="#566">566</a> +<a name="567" href="#567">567</a> <em class="jxr_javadoccomment">/**</em> +<a name="568" href="#568">568</a> <em class="jxr_javadoccomment"> * Test LogMF.info with single field pattern with string argument.</em> +<a name="569" href="#569">569</a> <em class="jxr_javadoccomment"> */</em> +<a name="570" href="#570">570</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoString() { +<a name="571" href="#571">571</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="572" href="#572">572</a> LogMF.info(logger, <span class="jxr_string">"Hello, {0}"</span>, <span class="jxr_string">"World"</span>); +<a name="573" href="#573">573</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="574" href="#574">574</a> } +<a name="575" href="#575">575</a> +<a name="576" href="#576">576</a> <em class="jxr_javadoccomment">/**</em> +<a name="577" href="#577">577</a> <em class="jxr_javadoccomment"> * Test LogMF.info with single field pattern with null argument.</em> +<a name="578" href="#578">578</a> <em class="jxr_javadoccomment"> */</em> +<a name="579" href="#579">579</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoNull() { +<a name="580" href="#580">580</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="581" href="#581">581</a> LogMF.info(logger, <span class="jxr_string">"Hello, {0}"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="582" href="#582">582</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="583" href="#583">583</a> } +<a name="584" href="#584">584</a> +<a name="585" href="#585">585</a> <em class="jxr_javadoccomment">/**</em> +<a name="586" href="#586">586</a> <em class="jxr_javadoccomment"> * Test LogMF.info with single field pattern with int argument.</em> +<a name="587" href="#587">587</a> <em class="jxr_javadoccomment"> */</em> +<a name="588" href="#588">588</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoInt() { +<a name="589" href="#589">589</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="590" href="#590">590</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="591" href="#591">591</a> LogMF.info(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="592" href="#592">592</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="593" href="#593">593</a> } +<a name="594" href="#594">594</a> +<a name="595" href="#595">595</a> <em class="jxr_javadoccomment">/**</em> +<a name="596" href="#596">596</a> <em class="jxr_javadoccomment"> * Test LogMF.info with single field pattern with byte argument.</em> +<a name="597" href="#597">597</a> <em class="jxr_javadoccomment"> */</em> +<a name="598" href="#598">598</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoByte() { +<a name="599" href="#599">599</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="600" href="#600">600</a> byte val = 42; +<a name="601" href="#601">601</a> LogMF.info(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="602" href="#602">602</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="603" href="#603">603</a> } +<a name="604" href="#604">604</a> +<a name="605" href="#605">605</a> <em class="jxr_javadoccomment">/**</em> +<a name="606" href="#606">606</a> <em class="jxr_javadoccomment"> * Test LogMF.info with single field pattern with short argument.</em> +<a name="607" href="#607">607</a> <em class="jxr_javadoccomment"> */</em> +<a name="608" href="#608">608</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoShort() { +<a name="609" href="#609">609</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="610" href="#610">610</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="611" href="#611">611</a> LogMF.info(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="612" href="#612">612</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="613" href="#613">613</a> } +<a name="614" href="#614">614</a> +<a name="615" href="#615">615</a> <em class="jxr_javadoccomment">/**</em> +<a name="616" href="#616">616</a> <em class="jxr_javadoccomment"> * Test LogMF.info with single field pattern with long argument.</em> +<a name="617" href="#617">617</a> <em class="jxr_javadoccomment"> */</em> +<a name="618" href="#618">618</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoLong() { +<a name="619" href="#619">619</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="620" href="#620">620</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="621" href="#621">621</a> LogMF.info(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="622" href="#622">622</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="623" href="#623">623</a> } +<a name="624" href="#624">624</a> +<a name="625" href="#625">625</a> <em class="jxr_javadoccomment">/**</em> +<a name="626" href="#626">626</a> <em class="jxr_javadoccomment"> * Test LogMF.info with single field pattern with char argument.</em> +<a name="627" href="#627">627</a> <em class="jxr_javadoccomment"> */</em> +<a name="628" href="#628">628</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoChar() { +<a name="629" href="#629">629</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="630" href="#630">630</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="631" href="#631">631</a> LogMF.info(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="632" href="#632">632</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="633" href="#633">633</a> } +<a name="634" href="#634">634</a> +<a name="635" href="#635">635</a> <em class="jxr_javadoccomment">/**</em> +<a name="636" href="#636">636</a> <em class="jxr_javadoccomment"> * Test LogMF.info with single field pattern with boolean argument.</em> +<a name="637" href="#637">637</a> <em class="jxr_javadoccomment"> */</em> +<a name="638" href="#638">638</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoBoolean() { +<a name="639" href="#639">639</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="640" href="#640">640</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="641" href="#641">641</a> LogMF.info(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="642" href="#642">642</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="643" href="#643">643</a> } +<a name="644" href="#644">644</a> +<a name="645" href="#645">645</a> <em class="jxr_javadoccomment">/**</em> +<a name="646" href="#646">646</a> <em class="jxr_javadoccomment"> * Test LogMF.info with single field pattern with float argument.</em> +<a name="647" href="#647">647</a> <em class="jxr_javadoccomment"> */</em> +<a name="648" href="#648">648</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoFloat() { +<a name="649" href="#649">649</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="650" href="#650">650</a> LogMF.info(logger, <span class="jxr_string">"Iteration {0}"</span>, (<strong class="jxr_keyword">float</strong>) Math.PI); +<a name="651" href="#651">651</a> +<a name="652" href="#652">652</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="653" href="#653">653</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Float(Math.PI) }); +<a name="654" href="#654">654</a> assertEquals(expected, capture.getMessage()); +<a name="655" href="#655">655</a> } +<a name="656" href="#656">656</a> +<a name="657" href="#657">657</a> <em class="jxr_javadoccomment">/**</em> +<a name="658" href="#658">658</a> <em class="jxr_javadoccomment"> * Test LogMF.info with single field pattern with double argument.</em> +<a name="659" href="#659">659</a> <em class="jxr_javadoccomment"> */</em> +<a name="660" href="#660">660</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoDouble() { +<a name="661" href="#661">661</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="662" href="#662">662</a> LogMF.info(logger, <span class="jxr_string">"Iteration {0}"</span>, Math.PI); +<a name="663" href="#663">663</a> +<a name="664" href="#664">664</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="665" href="#665">665</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Double(Math.PI) }); +<a name="666" href="#666">666</a> assertEquals(expected, capture.getMessage()); +<a name="667" href="#667">667</a> } +<a name="668" href="#668">668</a> +<a name="669" href="#669">669</a> <em class="jxr_javadoccomment">/**</em> +<a name="670" href="#670">670</a> <em class="jxr_javadoccomment"> * Test LogMF.info with two arguments.</em> +<a name="671" href="#671">671</a> <em class="jxr_javadoccomment"> */</em> +<a name="672" href="#672">672</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoTwoArg() { +<a name="673" href="#673">673</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="674" href="#674">674</a> LogMF.info(logger, <span class="jxr_string">"{1}, {0}."</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>); +<a name="675" href="#675">675</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="676" href="#676">676</a> } +<a name="677" href="#677">677</a> +<a name="678" href="#678">678</a> <em class="jxr_javadoccomment">/**</em> +<a name="679" href="#679">679</a> <em class="jxr_javadoccomment"> * Test LogMF.info with three arguments.</em> +<a name="680" href="#680">680</a> <em class="jxr_javadoccomment"> */</em> +<a name="681" href="#681">681</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoThreeArg() { +<a name="682" href="#682">682</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="683" href="#683">683</a> LogMF.info(logger, <span class="jxr_string">"{1}{2} {0}."</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>); +<a name="684" href="#684">684</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="685" href="#685">685</a> } +<a name="686" href="#686">686</a> +<a name="687" href="#687">687</a> <em class="jxr_javadoccomment">/**</em> +<a name="688" href="#688">688</a> <em class="jxr_javadoccomment"> * Test LogMF.info with four arguments.</em> +<a name="689" href="#689">689</a> <em class="jxr_javadoccomment"> */</em> +<a name="690" href="#690">690</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoFourArg() { +<a name="691" href="#691">691</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="692" href="#692">692</a> LogMF.info(logger, <span class="jxr_string">"{1}{2} {0}{3}"</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span>); +<a name="693" href="#693">693</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="694" href="#694">694</a> } +<a name="695" href="#695">695</a> +<a name="696" href="#696">696</a> <em class="jxr_javadoccomment">/**</em> +<a name="697" href="#697">697</a> <em class="jxr_javadoccomment"> * Test LogMF.info with Object[] argument.</em> +<a name="698" href="#698">698</a> <em class="jxr_javadoccomment"> */</em> +<a name="699" href="#699">699</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoArrayArg() { +<a name="700" href="#700">700</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="701" href="#701">701</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span> }; +<a name="702" href="#702">702</a> LogMF.info(logger, <span class="jxr_string">"{1}{2} {0}{3}"</span>, args); +<a name="703" href="#703">703</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="704" href="#704">704</a> } +<a name="705" href="#705">705</a> +<a name="706" href="#706">706</a> <em class="jxr_javadoccomment">/**</em> +<a name="707" href="#707">707</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with null pattern.</em> +<a name="708" href="#708">708</a> <em class="jxr_javadoccomment"> */</em> +<a name="709" href="#709">709</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnNullPattern() { +<a name="710" href="#710">710</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="711" href="#711">711</a> LogMF.warn(logger, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="712" href="#712">712</a> assertNull(capture.getMessage()); +<a name="713" href="#713">713</a> } +<a name="714" href="#714">714</a> +<a name="715" href="#715">715</a> <em class="jxr_javadoccomment">/**</em> +<a name="716" href="#716">716</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with no-field pattern.</em> +<a name="717" href="#717">717</a> <em class="jxr_javadoccomment"> */</em> +<a name="718" href="#718">718</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnNoArg() { +<a name="719" href="#719">719</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="720" href="#720">720</a> LogMF.warn(logger, <span class="jxr_string">"Hello, World"</span>, Math.PI); +<a name="721" href="#721">721</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="722" href="#722">722</a> } +<a name="723" href="#723">723</a> +<a name="724" href="#724">724</a> <em class="jxr_javadoccomment">/**</em> +<a name="725" href="#725">725</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with malformed pattern.</em> +<a name="726" href="#726">726</a> <em class="jxr_javadoccomment"> */</em> +<a name="727" href="#727">727</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnBadPattern() { +<a name="728" href="#728">728</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="729" href="#729">729</a> LogMF.warn(logger, <span class="jxr_string">"Hello, {."</span>, Math.PI); +<a name="730" href="#730">730</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="731" href="#731">731</a> } +<a name="732" href="#732">732</a> +<a name="733" href="#733">733</a> <em class="jxr_javadoccomment">/**</em> +<a name="734" href="#734">734</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with missing argument.</em> +<a name="735" href="#735">735</a> <em class="jxr_javadoccomment"> */</em> +<a name="736" href="#736">736</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnMissingArg() { +<a name="737" href="#737">737</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="738" href="#738">738</a> LogMF.warn(logger, <span class="jxr_string">"Hello, {0}World"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="739" href="#739">739</a> assertEquals(<span class="jxr_string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="740" href="#740">740</a> } +<a name="741" href="#741">741</a> +<a name="742" href="#742">742</a> <em class="jxr_javadoccomment">/**</em> +<a name="743" href="#743">743</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with single field pattern with string argument.</em> +<a name="744" href="#744">744</a> <em class="jxr_javadoccomment"> */</em> +<a name="745" href="#745">745</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnString() { +<a name="746" href="#746">746</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="747" href="#747">747</a> LogMF.warn(logger, <span class="jxr_string">"Hello, {0}"</span>, <span class="jxr_string">"World"</span>); +<a name="748" href="#748">748</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="749" href="#749">749</a> } +<a name="750" href="#750">750</a> +<a name="751" href="#751">751</a> <em class="jxr_javadoccomment">/**</em> +<a name="752" href="#752">752</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with single field pattern with null argument.</em> +<a name="753" href="#753">753</a> <em class="jxr_javadoccomment"> */</em> +<a name="754" href="#754">754</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnNull() { +<a name="755" href="#755">755</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="756" href="#756">756</a> LogMF.warn(logger, <span class="jxr_string">"Hello, {0}"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="757" href="#757">757</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="758" href="#758">758</a> } +<a name="759" href="#759">759</a> +<a name="760" href="#760">760</a> <em class="jxr_javadoccomment">/**</em> +<a name="761" href="#761">761</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with single field pattern with int argument.</em> +<a name="762" href="#762">762</a> <em class="jxr_javadoccomment"> */</em> +<a name="763" href="#763">763</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnInt() { +<a name="764" href="#764">764</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="765" href="#765">765</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="766" href="#766">766</a> LogMF.warn(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="767" href="#767">767</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="768" href="#768">768</a> } +<a name="769" href="#769">769</a> +<a name="770" href="#770">770</a> <em class="jxr_javadoccomment">/**</em> +<a name="771" href="#771">771</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with single field pattern with byte argument.</em> +<a name="772" href="#772">772</a> <em class="jxr_javadoccomment"> */</em> +<a name="773" href="#773">773</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnByte() { +<a name="774" href="#774">774</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="775" href="#775">775</a> byte val = 42; +<a name="776" href="#776">776</a> LogMF.warn(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="777" href="#777">777</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="778" href="#778">778</a> } +<a name="779" href="#779">779</a> +<a name="780" href="#780">780</a> <em class="jxr_javadoccomment">/**</em> +<a name="781" href="#781">781</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with single field pattern with short argument.</em> +<a name="782" href="#782">782</a> <em class="jxr_javadoccomment"> */</em> +<a name="783" href="#783">783</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnShort() { +<a name="784" href="#784">784</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="785" href="#785">785</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="786" href="#786">786</a> LogMF.warn(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="787" href="#787">787</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="788" href="#788">788</a> } +<a name="789" href="#789">789</a> +<a name="790" href="#790">790</a> <em class="jxr_javadoccomment">/**</em> +<a name="791" href="#791">791</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with single field pattern with long argument.</em> +<a name="792" href="#792">792</a> <em class="jxr_javadoccomment"> */</em> +<a name="793" href="#793">793</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnLong() { +<a name="794" href="#794">794</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="795" href="#795">795</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="796" href="#796">796</a> LogMF.warn(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="797" href="#797">797</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="798" href="#798">798</a> } +<a name="799" href="#799">799</a> +<a name="800" href="#800">800</a> <em class="jxr_javadoccomment">/**</em> +<a name="801" href="#801">801</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with single field pattern with char argument.</em> +<a name="802" href="#802">802</a> <em class="jxr_javadoccomment"> */</em> +<a name="803" href="#803">803</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnChar() { +<a name="804" href="#804">804</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="805" href="#805">805</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="806" href="#806">806</a> LogMF.warn(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="807" href="#807">807</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="808" href="#808">808</a> } +<a name="809" href="#809">809</a> +<a name="810" href="#810">810</a> <em class="jxr_javadoccomment">/**</em> +<a name="811" href="#811">811</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with single field pattern with boolean argument.</em> +<a name="812" href="#812">812</a> <em class="jxr_javadoccomment"> */</em> +<a name="813" href="#813">813</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnBoolean() { +<a name="814" href="#814">814</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="815" href="#815">815</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="816" href="#816">816</a> LogMF.warn(logger, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="817" href="#817">817</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="818" href="#818">818</a> } +<a name="819" href="#819">819</a> +<a name="820" href="#820">820</a> <em class="jxr_javadoccomment">/**</em> +<a name="821" href="#821">821</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with single field pattern with float argument.</em> +<a name="822" href="#822">822</a> <em class="jxr_javadoccomment"> */</em> +<a name="823" href="#823">823</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnFloat() { +<a name="824" href="#824">824</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="825" href="#825">825</a> LogMF.warn(logger, <span class="jxr_string">"Iteration {0}"</span>, (<strong class="jxr_keyword">float</strong>) Math.PI); +<a name="826" href="#826">826</a> +<a name="827" href="#827">827</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="828" href="#828">828</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Float(Math.PI) }); +<a name="829" href="#829">829</a> assertEquals(expected, capture.getMessage()); +<a name="830" href="#830">830</a> } +<a name="831" href="#831">831</a> +<a name="832" href="#832">832</a> <em class="jxr_javadoccomment">/**</em> +<a name="833" href="#833">833</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with single field pattern with double argument.</em> +<a name="834" href="#834">834</a> <em class="jxr_javadoccomment"> */</em> +<a name="835" href="#835">835</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnDouble() { +<a name="836" href="#836">836</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="837" href="#837">837</a> LogMF.warn(logger, <span class="jxr_string">"Iteration {0}"</span>, Math.PI); +<a name="838" href="#838">838</a> +<a name="839" href="#839">839</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="840" href="#840">840</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Double(Math.PI) }); +<a name="841" href="#841">841</a> assertEquals(expected, capture.getMessage()); +<a name="842" href="#842">842</a> } +<a name="843" href="#843">843</a> +<a name="844" href="#844">844</a> <em class="jxr_javadoccomment">/**</em> +<a name="845" href="#845">845</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with two arguments.</em> +<a name="846" href="#846">846</a> <em class="jxr_javadoccomment"> */</em> +<a name="847" href="#847">847</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnTwoArg() { +<a name="848" href="#848">848</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="849" href="#849">849</a> LogMF.warn(logger, <span class="jxr_string">"{1}, {0}."</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>); +<a name="850" href="#850">850</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="851" href="#851">851</a> } +<a name="852" href="#852">852</a> +<a name="853" href="#853">853</a> <em class="jxr_javadoccomment">/**</em> +<a name="854" href="#854">854</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with three arguments.</em> +<a name="855" href="#855">855</a> <em class="jxr_javadoccomment"> */</em> +<a name="856" href="#856">856</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnThreeArg() { +<a name="857" href="#857">857</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="858" href="#858">858</a> LogMF.warn(logger, <span class="jxr_string">"{1}{2} {0}."</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>); +<a name="859" href="#859">859</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="860" href="#860">860</a> } +<a name="861" href="#861">861</a> +<a name="862" href="#862">862</a> <em class="jxr_javadoccomment">/**</em> +<a name="863" href="#863">863</a> <em class="jxr_javadoccomment"> * Test LogMF.debug with four arguments.</em> +<a name="864" href="#864">864</a> <em class="jxr_javadoccomment"> */</em> +<a name="865" href="#865">865</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnFourArg() { +<a name="866" href="#866">866</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="867" href="#867">867</a> LogMF.warn(logger, <span class="jxr_string">"{1}{2} {0}{3}"</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span>); +<a name="868" href="#868">868</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="869" href="#869">869</a> } +<a name="870" href="#870">870</a> +<a name="871" href="#871">871</a> <em class="jxr_javadoccomment">/**</em> +<a name="872" href="#872">872</a> <em class="jxr_javadoccomment"> * Test LogMF.warn with Object[] argument.</em> +<a name="873" href="#873">873</a> <em class="jxr_javadoccomment"> */</em> +<a name="874" href="#874">874</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnArrayArg() { +<a name="875" href="#875">875</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="876" href="#876">876</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span> }; +<a name="877" href="#877">877</a> LogMF.warn(logger, <span class="jxr_string">"{1}{2} {0}{3}"</span>, args); +<a name="878" href="#878">878</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="879" href="#879">879</a> } +<a name="880" href="#880">880</a> +<a name="881" href="#881">881</a> <em class="jxr_javadoccomment">/**</em> +<a name="882" href="#882">882</a> <em class="jxr_javadoccomment"> * Test LogMF.log with null pattern.</em> +<a name="883" href="#883">883</a> <em class="jxr_javadoccomment"> */</em> +<a name="884" href="#884">884</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogNullPattern() { +<a name="885" href="#885">885</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="886" href="#886">886</a> LogMF.log(logger, Level.ERROR, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="887" href="#887">887</a> assertNull(capture.getMessage()); +<a name="888" href="#888">888</a> } +<a name="889" href="#889">889</a> +<a name="890" href="#890">890</a> <em class="jxr_javadoccomment">/**</em> +<a name="891" href="#891">891</a> <em class="jxr_javadoccomment"> * Test LogMF.log with no-field pattern.</em> +<a name="892" href="#892">892</a> <em class="jxr_javadoccomment"> */</em> +<a name="893" href="#893">893</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogNoArg() { +<a name="894" href="#894">894</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="895" href="#895">895</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Hello, World"</span>, Math.PI); +<a name="896" href="#896">896</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="897" href="#897">897</a> } +<a name="898" href="#898">898</a> +<a name="899" href="#899">899</a> <em class="jxr_javadoccomment">/**</em> +<a name="900" href="#900">900</a> <em class="jxr_javadoccomment"> * Test LogMF.log with malformed pattern.</em> +<a name="901" href="#901">901</a> <em class="jxr_javadoccomment"> */</em> +<a name="902" href="#902">902</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogBadPattern() { +<a name="903" href="#903">903</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="904" href="#904">904</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Hello, {."</span>, Math.PI); +<a name="905" href="#905">905</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="906" href="#906">906</a> } +<a name="907" href="#907">907</a> +<a name="908" href="#908">908</a> <em class="jxr_javadoccomment">/**</em> +<a name="909" href="#909">909</a> <em class="jxr_javadoccomment"> * Test LogMF.log with missing argument.</em> +<a name="910" href="#910">910</a> <em class="jxr_javadoccomment"> */</em> +<a name="911" href="#911">911</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogMissingArg() { +<a name="912" href="#912">912</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="913" href="#913">913</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Hello, {0}World"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="914" href="#914">914</a> assertEquals(<span class="jxr_string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="915" href="#915">915</a> } +<a name="916" href="#916">916</a> +<a name="917" href="#917">917</a> <em class="jxr_javadoccomment">/**</em> +<a name="918" href="#918">918</a> <em class="jxr_javadoccomment"> * Test LogMF.log with single field pattern with string argument.</em> +<a name="919" href="#919">919</a> <em class="jxr_javadoccomment"> */</em> +<a name="920" href="#920">920</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogString() { +<a name="921" href="#921">921</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="922" href="#922">922</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Hello, {0}"</span>, <span class="jxr_string">"World"</span>); +<a name="923" href="#923">923</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="924" href="#924">924</a> } +<a name="925" href="#925">925</a> +<a name="926" href="#926">926</a> <em class="jxr_javadoccomment">/**</em> +<a name="927" href="#927">927</a> <em class="jxr_javadoccomment"> * Test LogMF.log with single field pattern with null argument.</em> +<a name="928" href="#928">928</a> <em class="jxr_javadoccomment"> */</em> +<a name="929" href="#929">929</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogNull() { +<a name="930" href="#930">930</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="931" href="#931">931</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Hello, {0}"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="932" href="#932">932</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="933" href="#933">933</a> } +<a name="934" href="#934">934</a> +<a name="935" href="#935">935</a> <em class="jxr_javadoccomment">/**</em> +<a name="936" href="#936">936</a> <em class="jxr_javadoccomment"> * Test LogMF.log with single field pattern with int argument.</em> +<a name="937" href="#937">937</a> <em class="jxr_javadoccomment"> */</em> +<a name="938" href="#938">938</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogInt() { +<a name="939" href="#939">939</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="940" href="#940">940</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="941" href="#941">941</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="942" href="#942">942</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="943" href="#943">943</a> } +<a name="944" href="#944">944</a> +<a name="945" href="#945">945</a> <em class="jxr_javadoccomment">/**</em> +<a name="946" href="#946">946</a> <em class="jxr_javadoccomment"> * Test LogMF.log with single field pattern with byte argument.</em> +<a name="947" href="#947">947</a> <em class="jxr_javadoccomment"> */</em> +<a name="948" href="#948">948</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogByte() { +<a name="949" href="#949">949</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="950" href="#950">950</a> byte val = 42; +<a name="951" href="#951">951</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="952" href="#952">952</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="953" href="#953">953</a> } +<a name="954" href="#954">954</a> +<a name="955" href="#955">955</a> <em class="jxr_javadoccomment">/**</em> +<a name="956" href="#956">956</a> <em class="jxr_javadoccomment"> * Test LogMF.log with single field pattern with short argument.</em> +<a name="957" href="#957">957</a> <em class="jxr_javadoccomment"> */</em> +<a name="958" href="#958">958</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogShort() { +<a name="959" href="#959">959</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="960" href="#960">960</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="961" href="#961">961</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="962" href="#962">962</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="963" href="#963">963</a> } +<a name="964" href="#964">964</a> +<a name="965" href="#965">965</a> <em class="jxr_javadoccomment">/**</em> +<a name="966" href="#966">966</a> <em class="jxr_javadoccomment"> * Test LogMF.log with single field pattern with long argument.</em> +<a name="967" href="#967">967</a> <em class="jxr_javadoccomment"> */</em> +<a name="968" href="#968">968</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogLong() { +<a name="969" href="#969">969</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="970" href="#970">970</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="971" href="#971">971</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="972" href="#972">972</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="973" href="#973">973</a> } +<a name="974" href="#974">974</a> +<a name="975" href="#975">975</a> <em class="jxr_javadoccomment">/**</em> +<a name="976" href="#976">976</a> <em class="jxr_javadoccomment"> * Test LogMF.log with single field pattern with char argument.</em> +<a name="977" href="#977">977</a> <em class="jxr_javadoccomment"> */</em> +<a name="978" href="#978">978</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogChar() { +<a name="979" href="#979">979</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="980" href="#980">980</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="981" href="#981">981</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="982" href="#982">982</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="983" href="#983">983</a> } +<a name="984" href="#984">984</a> +<a name="985" href="#985">985</a> <em class="jxr_javadoccomment">/**</em> +<a name="986" href="#986">986</a> <em class="jxr_javadoccomment"> * Test LogMF.log with single field pattern with boolean argument.</em> +<a name="987" href="#987">987</a> <em class="jxr_javadoccomment"> */</em> +<a name="988" href="#988">988</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogBoolean() { +<a name="989" href="#989">989</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="990" href="#990">990</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="991" href="#991">991</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {0}"</span>, val); +<a name="992" href="#992">992</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="993" href="#993">993</a> } +<a name="994" href="#994">994</a> +<a name="995" href="#995">995</a> <em class="jxr_javadoccomment">/**</em> +<a name="996" href="#996">996</a> <em class="jxr_javadoccomment"> * Test LogMF.log with single field pattern with float argument.</em> +<a name="997" href="#997">997</a> <em class="jxr_javadoccomment"> */</em> +<a name="998" href="#998">998</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogFloat() { +<a name="999" href="#999">999</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1000" href="#1000">1000</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {0}"</span>, (<strong class="jxr_keyword">float</strong>) Math.PI); +<a name="1001" href="#1001">1001</a> +<a name="1002" href="#1002">1002</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="1003" href="#1003">1003</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Float(Math.PI) }); +<a name="1004" href="#1004">1004</a> assertEquals(expected, capture.getMessage()); +<a name="1005" href="#1005">1005</a> } +<a name="1006" href="#1006">1006</a> +<a name="1007" href="#1007">1007</a> <em class="jxr_javadoccomment">/**</em> +<a name="1008" href="#1008">1008</a> <em class="jxr_javadoccomment"> * Test LogMF.log with single field pattern with double argument.</em> +<a name="1009" href="#1009">1009</a> <em class="jxr_javadoccomment"> */</em> +<a name="1010" href="#1010">1010</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogDouble() { +<a name="1011" href="#1011">1011</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1012" href="#1012">1012</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {0}"</span>, Math.PI); +<a name="1013" href="#1013">1013</a> +<a name="1014" href="#1014">1014</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="1015" href="#1015">1015</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Double(Math.PI) }); +<a name="1016" href="#1016">1016</a> assertEquals(expected, capture.getMessage()); +<a name="1017" href="#1017">1017</a> } +<a name="1018" href="#1018">1018</a> +<a name="1019" href="#1019">1019</a> <em class="jxr_javadoccomment">/**</em> +<a name="1020" href="#1020">1020</a> <em class="jxr_javadoccomment"> * Test LogMF.log with two arguments.</em> +<a name="1021" href="#1021">1021</a> <em class="jxr_javadoccomment"> */</em> +<a name="1022" href="#1022">1022</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogTwoArg() { +<a name="1023" href="#1023">1023</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1024" href="#1024">1024</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"{1}, {0}."</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>); +<a name="1025" href="#1025">1025</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1026" href="#1026">1026</a> } +<a name="1027" href="#1027">1027</a> +<a name="1028" href="#1028">1028</a> <em class="jxr_javadoccomment">/**</em> +<a name="1029" href="#1029">1029</a> <em class="jxr_javadoccomment"> * Test LogMF.log with three arguments.</em> +<a name="1030" href="#1030">1030</a> <em class="jxr_javadoccomment"> */</em> +<a name="1031" href="#1031">1031</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogThreeArg() { +<a name="1032" href="#1032">1032</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1033" href="#1033">1033</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"{1}{2} {0}."</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>); +<a name="1034" href="#1034">1034</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1035" href="#1035">1035</a> } +<a name="1036" href="#1036">1036</a> +<a name="1037" href="#1037">1037</a> <em class="jxr_javadoccomment">/**</em> +<a name="1038" href="#1038">1038</a> <em class="jxr_javadoccomment"> * Test LogMF.log with four arguments.</em> +<a name="1039" href="#1039">1039</a> <em class="jxr_javadoccomment"> */</em> +<a name="1040" href="#1040">1040</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogFourArg() { +<a name="1041" href="#1041">1041</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1042" href="#1042">1042</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"{1}{2} {0}{3}"</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span>); +<a name="1043" href="#1043">1043</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1044" href="#1044">1044</a> } +<a name="1045" href="#1045">1045</a> +<a name="1046" href="#1046">1046</a> <em class="jxr_javadoccomment">/**</em> +<a name="1047" href="#1047">1047</a> <em class="jxr_javadoccomment"> * Test LogMF.log with Object[] argument.</em> +<a name="1048" href="#1048">1048</a> <em class="jxr_javadoccomment"> */</em> +<a name="1049" href="#1049">1049</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogArrayArg() { +<a name="1050" href="#1050">1050</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1051" href="#1051">1051</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span> }; +<a name="1052" href="#1052">1052</a> LogMF.log(logger, Level.ERROR, <span class="jxr_string">"{1}{2} {0}{3}"</span>, args); +<a name="1053" href="#1053">1053</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1054" href="#1054">1054</a> } +<a name="1055" href="#1055">1055</a> +<a name="1056" href="#1056">1056</a> <em class="jxr_javadoccomment">/**</em> +<a name="1057" href="#1057">1057</a> <em class="jxr_javadoccomment"> * Bundle name for resource bundle tests.</em> +<a name="1058" href="#1058">1058</a> <em class="jxr_javadoccomment"> */</em> +<a name="1059" href="#1059">1059</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String BUNDLE_NAME = +<a name="1060" href="#1060">1060</a> <span class="jxr_string">"org.apache.log4j.TestLogMFPatterns"</span>; +<a name="1061" href="#1061">1061</a> +<a name="1062" href="#1062">1062</a> <em class="jxr_javadoccomment">/**</em> +<a name="1063" href="#1063">1063</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with null bundle name.</em> +<a name="1064" href="#1064">1064</a> <em class="jxr_javadoccomment"> */</em> +<a name="1065" href="#1065">1065</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbNullBundle() { +<a name="1066" href="#1066">1066</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1067" href="#1067">1067</a> LogMF.logrb(logger, Level.ERROR, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"Iteration0"</span>, Math.PI); +<a name="1068" href="#1068">1068</a> assertEquals(<span class="jxr_string">"Iteration0"</span>, capture.getMessage()); +<a name="1069" href="#1069">1069</a> } +<a name="1070" href="#1070">1070</a> +<a name="1071" href="#1071">1071</a> <em class="jxr_javadoccomment">/**</em> +<a name="1072" href="#1072">1072</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with null key.</em> +<a name="1073" href="#1073">1073</a> <em class="jxr_javadoccomment"> */</em> +<a name="1074" href="#1074">1074</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbNullKey() { +<a name="1075" href="#1075">1075</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1076" href="#1076">1076</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="1077" href="#1077">1077</a> assertNull(capture.getMessage()); +<a name="1078" href="#1078">1078</a> } +<a name="1079" href="#1079">1079</a> +<a name="1080" href="#1080">1080</a> <em class="jxr_javadoccomment">/**</em> +<a name="1081" href="#1081">1081</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with no-field pattern.</em> +<a name="1082" href="#1082">1082</a> <em class="jxr_javadoccomment"> */</em> +<a name="1083" href="#1083">1083</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbNoArg() { +<a name="1084" href="#1084">1084</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1085" href="#1085">1085</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Hello1"</span>, Math.PI); +<a name="1086" href="#1086">1086</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="1087" href="#1087">1087</a> } +<a name="1088" href="#1088">1088</a> +<a name="1089" href="#1089">1089</a> <em class="jxr_javadoccomment">/**</em> +<a name="1090" href="#1090">1090</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with malformed pattern.</em> +<a name="1091" href="#1091">1091</a> <em class="jxr_javadoccomment"> */</em> +<a name="1092" href="#1092">1092</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbBadPattern() { +<a name="1093" href="#1093">1093</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1094" href="#1094">1094</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Malformed"</span>, Math.PI); +<a name="1095" href="#1095">1095</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="1096" href="#1096">1096</a> } +<a name="1097" href="#1097">1097</a> +<a name="1098" href="#1098">1098</a> <em class="jxr_javadoccomment">/**</em> +<a name="1099" href="#1099">1099</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with missing argument.</em> +<a name="1100" href="#1100">1100</a> <em class="jxr_javadoccomment"> */</em> +<a name="1101" href="#1101">1101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbMissingArg() { +<a name="1102" href="#1102">1102</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1103" href="#1103">1103</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Hello2"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="1104" href="#1104">1104</a> assertEquals(<span class="jxr_string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="1105" href="#1105">1105</a> } +<a name="1106" href="#1106">1106</a> +<a name="1107" href="#1107">1107</a> <em class="jxr_javadoccomment">/**</em> +<a name="1108" href="#1108">1108</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with single field pattern with string argument.</em> +<a name="1109" href="#1109">1109</a> <em class="jxr_javadoccomment"> */</em> +<a name="1110" href="#1110">1110</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbString() { +<a name="1111" href="#1111">1111</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1112" href="#1112">1112</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Hello3"</span>, <span class="jxr_string">"World"</span>); +<a name="1113" href="#1113">1113</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="1114" href="#1114">1114</a> } +<a name="1115" href="#1115">1115</a> +<a name="1116" href="#1116">1116</a> <em class="jxr_javadoccomment">/**</em> +<a name="1117" href="#1117">1117</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with single field pattern with null argument.</em> +<a name="1118" href="#1118">1118</a> <em class="jxr_javadoccomment"> */</em> +<a name="1119" href="#1119">1119</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbNull() { +<a name="1120" href="#1120">1120</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1121" href="#1121">1121</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Hello3"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="1122" href="#1122">1122</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="1123" href="#1123">1123</a> } +<a name="1124" href="#1124">1124</a> +<a name="1125" href="#1125">1125</a> <em class="jxr_javadoccomment">/**</em> +<a name="1126" href="#1126">1126</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with single field pattern with int argument.</em> +<a name="1127" href="#1127">1127</a> <em class="jxr_javadoccomment"> */</em> +<a name="1128" href="#1128">1128</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbInt() { +<a name="1129" href="#1129">1129</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1130" href="#1130">1130</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="1131" href="#1131">1131</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1132" href="#1132">1132</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="1133" href="#1133">1133</a> } +<a name="1134" href="#1134">1134</a> +<a name="1135" href="#1135">1135</a> <em class="jxr_javadoccomment">/**</em> +<a name="1136" href="#1136">1136</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with single field pattern with byte argument.</em> +<a name="1137" href="#1137">1137</a> <em class="jxr_javadoccomment"> */</em> +<a name="1138" href="#1138">1138</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbByte() { +<a name="1139" href="#1139">1139</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1140" href="#1140">1140</a> byte val = 42; +<a name="1141" href="#1141">1141</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1142" href="#1142">1142</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="1143" href="#1143">1143</a> } +<a name="1144" href="#1144">1144</a> +<a name="1145" href="#1145">1145</a> <em class="jxr_javadoccomment">/**</em> +<a name="1146" href="#1146">1146</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with single field pattern with short argument.</em> +<a name="1147" href="#1147">1147</a> <em class="jxr_javadoccomment"> */</em> +<a name="1148" href="#1148">1148</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbShort() { +<a name="1149" href="#1149">1149</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1150" href="#1150">1150</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="1151" href="#1151">1151</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1152" href="#1152">1152</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="1153" href="#1153">1153</a> } +<a name="1154" href="#1154">1154</a> +<a name="1155" href="#1155">1155</a> <em class="jxr_javadoccomment">/**</em> +<a name="1156" href="#1156">1156</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with single field pattern with long argument.</em> +<a name="1157" href="#1157">1157</a> <em class="jxr_javadoccomment"> */</em> +<a name="1158" href="#1158">1158</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbLong() { +<a name="1159" href="#1159">1159</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1160" href="#1160">1160</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="1161" href="#1161">1161</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1162" href="#1162">1162</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="1163" href="#1163">1163</a> } +<a name="1164" href="#1164">1164</a> +<a name="1165" href="#1165">1165</a> <em class="jxr_javadoccomment">/**</em> +<a name="1166" href="#1166">1166</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with single field pattern with char argument.</em> +<a name="1167" href="#1167">1167</a> <em class="jxr_javadoccomment"> */</em> +<a name="1168" href="#1168">1168</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbChar() { +<a name="1169" href="#1169">1169</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1170" href="#1170">1170</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="1171" href="#1171">1171</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1172" href="#1172">1172</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="1173" href="#1173">1173</a> } +<a name="1174" href="#1174">1174</a> +<a name="1175" href="#1175">1175</a> <em class="jxr_javadoccomment">/**</em> +<a name="1176" href="#1176">1176</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with single field pattern with boolean argument.</em> +<a name="1177" href="#1177">1177</a> <em class="jxr_javadoccomment"> */</em> +<a name="1178" href="#1178">1178</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbBoolean() { +<a name="1179" href="#1179">1179</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1180" href="#1180">1180</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="1181" href="#1181">1181</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1182" href="#1182">1182</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="1183" href="#1183">1183</a> } +<a name="1184" href="#1184">1184</a> +<a name="1185" href="#1185">1185</a> <em class="jxr_javadoccomment">/**</em> +<a name="1186" href="#1186">1186</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with single field pattern with float argument.</em> +<a name="1187" href="#1187">1187</a> <em class="jxr_javadoccomment"> */</em> +<a name="1188" href="#1188">1188</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbFloat() { +<a name="1189" href="#1189">1189</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1190" href="#1190">1190</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, (<strong class="jxr_keyword">float</strong>) Math.PI); +<a name="1191" href="#1191">1191</a> +<a name="1192" href="#1192">1192</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="1193" href="#1193">1193</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Float(Math.PI) }); +<a name="1194" href="#1194">1194</a> assertEquals(expected, capture.getMessage()); +<a name="1195" href="#1195">1195</a> } +<a name="1196" href="#1196">1196</a> +<a name="1197" href="#1197">1197</a> <em class="jxr_javadoccomment">/**</em> +<a name="1198" href="#1198">1198</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with single field pattern with double argument.</em> +<a name="1199" href="#1199">1199</a> <em class="jxr_javadoccomment"> */</em> +<a name="1200" href="#1200">1200</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbDouble() { +<a name="1201" href="#1201">1201</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1202" href="#1202">1202</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, Math.PI); +<a name="1203" href="#1203">1203</a> +<a name="1204" href="#1204">1204</a> String expected = MessageFormat.format(<span class="jxr_string">"Iteration {0}"</span>, +<a name="1205" href="#1205">1205</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Double(Math.PI) }); +<a name="1206" href="#1206">1206</a> assertEquals(expected, capture.getMessage()); +<a name="1207" href="#1207">1207</a> } +<a name="1208" href="#1208">1208</a> +<a name="1209" href="#1209">1209</a> <em class="jxr_javadoccomment">/**</em> +<a name="1210" href="#1210">1210</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with two arguments.</em> +<a name="1211" href="#1211">1211</a> <em class="jxr_javadoccomment"> */</em> +<a name="1212" href="#1212">1212</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbTwoArg() { +<a name="1213" href="#1213">1213</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1214" href="#1214">1214</a> LogMF.logrb(logger, Level.ERROR, +<a name="1215" href="#1215">1215</a> BUNDLE_NAME, <span class="jxr_string">"Hello4"</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>); +<a name="1216" href="#1216">1216</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1217" href="#1217">1217</a> } +<a name="1218" href="#1218">1218</a> +<a name="1219" href="#1219">1219</a> <em class="jxr_javadoccomment">/**</em> +<a name="1220" href="#1220">1220</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with three arguments.</em> +<a name="1221" href="#1221">1221</a> <em class="jxr_javadoccomment"> */</em> +<a name="1222" href="#1222">1222</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbThreeArg() { +<a name="1223" href="#1223">1223</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1224" href="#1224">1224</a> LogMF.logrb(logger, Level.ERROR, +<a name="1225" href="#1225">1225</a> BUNDLE_NAME, <span class="jxr_string">"Hello5"</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>); +<a name="1226" href="#1226">1226</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1227" href="#1227">1227</a> } +<a name="1228" href="#1228">1228</a> +<a name="1229" href="#1229">1229</a> <em class="jxr_javadoccomment">/**</em> +<a name="1230" href="#1230">1230</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with four arguments.</em> +<a name="1231" href="#1231">1231</a> <em class="jxr_javadoccomment"> */</em> +<a name="1232" href="#1232">1232</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbFourArg() { +<a name="1233" href="#1233">1233</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1234" href="#1234">1234</a> LogMF.logrb(logger, Level.ERROR, +<a name="1235" href="#1235">1235</a> BUNDLE_NAME, <span class="jxr_string">"Hello6"</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span>); +<a name="1236" href="#1236">1236</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1237" href="#1237">1237</a> } +<a name="1238" href="#1238">1238</a> +<a name="1239" href="#1239">1239</a> <em class="jxr_javadoccomment">/**</em> +<a name="1240" href="#1240">1240</a> <em class="jxr_javadoccomment"> * Test LogMF.logrb with Object[] argument.</em> +<a name="1241" href="#1241">1241</a> <em class="jxr_javadoccomment"> */</em> +<a name="1242" href="#1242">1242</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbArrayArg() { +<a name="1243" href="#1243">1243</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1244" href="#1244">1244</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"."</span> }; +<a name="1245" href="#1245">1245</a> LogMF.logrb(logger, Level.ERROR, +<a name="1246" href="#1246">1246</a> BUNDLE_NAME, <span class="jxr_string">"Hello6"</span>, args); +<a name="1247" href="#1247">1247</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1248" href="#1248">1248</a> } +<a name="1249" href="#1249">1249</a> +<a name="1250" href="#1250">1250</a> +<a name="1251" href="#1251">1251</a> <em class="jxr_javadoccomment">/**</em> +<a name="1252" href="#1252">1252</a> <em class="jxr_javadoccomment"> * Test LogMF.info with a pattern containing {9} and one argument.</em> +<a name="1253" href="#1253">1253</a> <em class="jxr_javadoccomment"> */</em> +<a name="1254" href="#1254">1254</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfo1ParamBrace9() { +<a name="1255" href="#1255">1255</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1256" href="#1256">1256</a> LogMF.info(logger, <span class="jxr_string">"Hello, {9}{0}"</span>, <span class="jxr_string">"World"</span>); +<a name="1257" href="#1257">1257</a> assertEquals(<span class="jxr_string">"Hello, {9}World"</span>, capture.getMessage()); +<a name="1258" href="#1258">1258</a> } +<a name="1259" href="#1259">1259</a> +<a name="1260" href="#1260">1260</a> <em class="jxr_javadoccomment">/**</em> +<a name="1261" href="#1261">1261</a> <em class="jxr_javadoccomment"> * Test LogMF.info with a pattern containing {9} and two arguments.</em> +<a name="1262" href="#1262">1262</a> <em class="jxr_javadoccomment"> */</em> +<a name="1263" href="#1263">1263</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfo2ParamBrace9() { +<a name="1264" href="#1264">1264</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1265" href="#1265">1265</a> LogMF.info(logger, <span class="jxr_string">"{1}, {9}{0}"</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>); +<a name="1266" href="#1266">1266</a> assertEquals(<span class="jxr_string">"Hello, {9}World"</span>, capture.getMessage()); +<a name="1267" href="#1267">1267</a> } +<a name="1268" href="#1268">1268</a> +<a name="1269" href="#1269">1269</a> <em class="jxr_javadoccomment">/**</em> +<a name="1270" href="#1270">1270</a> <em class="jxr_javadoccomment"> * Test LogMF.info with a pattern containing {9} and two arguments.</em> +<a name="1271" href="#1271">1271</a> <em class="jxr_javadoccomment"> */</em> +<a name="1272" href="#1272">1272</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfo10ParamBrace9() { +<a name="1273" href="#1273">1273</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1274" href="#1274">1274</a> LogMF.info(logger, <span class="jxr_string">"{1}, {9}{0}"</span>, +<a name="1275" href="#1275">1275</a> <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"World"</span>, <span class="jxr_string">"Hello"</span>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, +<a name="1276" href="#1276">1276</a> <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"New "</span> }); +<a name="1277" href="#1277">1277</a> assertEquals(<span class="jxr_string">"Hello, New World"</span>, capture.getMessage()); +<a name="1278" href="#1278">1278</a> } +<a name="1279" href="#1279">1279</a> +<a name="1280" href="#1280">1280</a> <em class="jxr_javadoccomment">/**</em> +<a name="1281" href="#1281">1281</a> <em class="jxr_javadoccomment"> * Test LogMF.info with indexes just outside of 0 to 9.</em> +<a name="1282" href="#1282">1282</a> <em class="jxr_javadoccomment"> */</em> +<a name="1283" href="#1283">1283</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfo1ParamBraceSlashColon() { +<a name="1284" href="#1284">1284</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1285" href="#1285">1285</a> String pattern = <span class="jxr_string">"Hello, {/}{0}{:}"</span>; +<a name="1286" href="#1286">1286</a> LogMF.info(logger, pattern, <span class="jxr_string">"World"</span>); +<a name="1287" href="#1287">1287</a> assertEquals(pattern, capture.getMessage()); +<a name="1288" href="#1288">1288</a> } +<a name="1289" href="#1289">1289</a> +<a name="1290" href="#1290">1290</a> +<a name="1291" href="#1291">1291</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogSF.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogSF.html new file mode 100644 index 00000000000..da2a807fd62 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogSF.html @@ -0,0 +1,1205 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TestLogSF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.CharArrayWriter; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Unit test for LogSF.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/TestLogSF.html">TestLogSF</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * Trace level.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Level TRACE = getTraceLevel(); +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * Gets Trace level.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * Trace level was not defined prior to log4j 1.2.12.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * @return trace level</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Level getTraceLevel() { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">try</strong> { +<a name="40" href="#40">40</a> <strong class="jxr_keyword">return</strong> (Level) Level.<strong class="jxr_keyword">class</strong>.getField(<span class="jxr_string">"TRACE"</span>).get(<strong class="jxr_keyword">null</strong>); +<a name="41" href="#41">41</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="42" href="#42">42</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Level(5000, <span class="jxr_string">"TRACE"</span>, 7); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * Logger.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Logger logger = Logger.getLogger( +<a name="50" href="#50">50</a> <span class="jxr_string">"org.apache.log4j.formatter.TestLogSF"</span>); +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * Create the test case</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> *</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * @param testName name of the test case</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/TestLogSF.html">TestLogSF</a>(String testName) { +<a name="58" href="#58">58</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * Post test clean up.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="66" href="#66">66</a> LogManager.resetConfiguration(); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * Test class name when logging through LogSF.</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testClassName() { +<a name="73" href="#73">73</a> CharArrayWriter writer = <strong class="jxr_keyword">new</strong> CharArrayWriter(); +<a name="74" href="#74">74</a> PatternLayout layout = <strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%C"</span>); +<a name="75" href="#75">75</a> WriterAppender appender = <strong class="jxr_keyword">new</strong> WriterAppender(layout, writer); +<a name="76" href="#76">76</a> appender.activateOptions(); +<a name="77" href="#77">77</a> Logger.getRootLogger().addAppender(appender); +<a name="78" href="#78">78</a> LogSF.debug(logger, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="79" href="#79">79</a> assertEquals(TestLogSF.<strong class="jxr_keyword">class</strong>.getName(), writer.toString()); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment">/**</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with null pattern.</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> */</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceNullPattern() { +<a name="88" href="#88">88</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="89" href="#89">89</a> logger.setLevel(TRACE); +<a name="90" href="#90">90</a> LogSF.trace(logger, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="91" href="#91">91</a> assertNull(capture.getMessage()); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment">/**</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with no-field pattern.</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> */</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceNoArg() { +<a name="98" href="#98">98</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="99" href="#99">99</a> logger.setLevel(TRACE); +<a name="100" href="#100">100</a> LogSF.trace(logger, <span class="jxr_string">"Hello, World"</span>, Math.PI); +<a name="101" href="#101">101</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">/**</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with malformed pattern.</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> */</em> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceBadPattern() { +<a name="108" href="#108">108</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="109" href="#109">109</a> logger.setLevel(TRACE); +<a name="110" href="#110">110</a> LogSF.trace(logger, <span class="jxr_string">"Hello, {."</span>, Math.PI); +<a name="111" href="#111">111</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">/**</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with missing argument.</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> */</em> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceMissingArg() { +<a name="118" href="#118">118</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="119" href="#119">119</a> logger.setLevel(TRACE); +<a name="120" href="#120">120</a> LogSF.trace(logger, <span class="jxr_string">"Hello, {}World"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="121" href="#121">121</a> assertEquals(<span class="jxr_string">"Hello, {}World"</span>, capture.getMessage()); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with single field pattern with string argument.</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> */</em> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceString() { +<a name="128" href="#128">128</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="129" href="#129">129</a> logger.setLevel(TRACE); +<a name="130" href="#130">130</a> LogSF.trace(logger, <span class="jxr_string">"Hello, {}"</span>, <span class="jxr_string">"World"</span>); +<a name="131" href="#131">131</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">/**</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with single field pattern with null argument.</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> */</em> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceNull() { +<a name="138" href="#138">138</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="139" href="#139">139</a> logger.setLevel(TRACE); +<a name="140" href="#140">140</a> LogSF.trace(logger, <span class="jxr_string">"Hello, {}"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="141" href="#141">141</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">/**</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with single field pattern with int argument.</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> */</em> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceInt() { +<a name="148" href="#148">148</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="149" href="#149">149</a> logger.setLevel(TRACE); +<a name="150" href="#150">150</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="151" href="#151">151</a> LogSF.trace(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="152" href="#152">152</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">/**</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with single field pattern with byte argument.</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> */</em> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceByte() { +<a name="159" href="#159">159</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="160" href="#160">160</a> logger.setLevel(TRACE); +<a name="161" href="#161">161</a> byte val = 42; +<a name="162" href="#162">162</a> LogSF.trace(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="163" href="#163">163</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">/**</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with single field pattern with short argument.</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> */</em> +<a name="169" href="#169">169</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceShort() { +<a name="170" href="#170">170</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="171" href="#171">171</a> logger.setLevel(TRACE); +<a name="172" href="#172">172</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="173" href="#173">173</a> LogSF.trace(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="174" href="#174">174</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">/**</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with single field pattern with long argument.</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> */</em> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceLong() { +<a name="181" href="#181">181</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="182" href="#182">182</a> logger.setLevel(TRACE); +<a name="183" href="#183">183</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="184" href="#184">184</a> LogSF.trace(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="185" href="#185">185</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">/**</em> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with single field pattern with char argument.</em> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> */</em> +<a name="191" href="#191">191</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceChar() { +<a name="192" href="#192">192</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="193" href="#193">193</a> logger.setLevel(TRACE); +<a name="194" href="#194">194</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="195" href="#195">195</a> LogSF.trace(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="196" href="#196">196</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment">/**</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with single field pattern with boolean argument.</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> */</em> +<a name="202" href="#202">202</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceBoolean() { +<a name="203" href="#203">203</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="204" href="#204">204</a> logger.setLevel(TRACE); +<a name="205" href="#205">205</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="206" href="#206">206</a> LogSF.trace(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="207" href="#207">207</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment">/**</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with single field pattern with float argument.</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> */</em> +<a name="213" href="#213">213</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceFloat() { +<a name="214" href="#214">214</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="215" href="#215">215</a> logger.setLevel(TRACE); +<a name="216" href="#216">216</a> <strong class="jxr_keyword">float</strong> val = 3.14f; +<a name="217" href="#217">217</a> LogSF.trace(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="218" href="#218">218</a> assertEquals(<span class="jxr_string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">/**</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with single field pattern with double argument.</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> */</em> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceDouble() { +<a name="225" href="#225">225</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="226" href="#226">226</a> logger.setLevel(TRACE); +<a name="227" href="#227">227</a> <strong class="jxr_keyword">double</strong> val = 3.14; +<a name="228" href="#228">228</a> LogSF.trace(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="229" href="#229">229</a> assertEquals(<span class="jxr_string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="230" href="#230">230</a> } +<a name="231" href="#231">231</a> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment">/**</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with two arguments.</em> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> */</em> +<a name="235" href="#235">235</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceTwoArg() { +<a name="236" href="#236">236</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="237" href="#237">237</a> logger.setLevel(TRACE); +<a name="238" href="#238">238</a> LogSF.trace(logger, <span class="jxr_string">"{}, {}."</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">"World"</span>); +<a name="239" href="#239">239</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> } +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment">/**</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with three arguments.</em> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> */</em> +<a name="246" href="#246">246</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceThreeArg() { +<a name="247" href="#247">247</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="248" href="#248">248</a> logger.setLevel(TRACE); +<a name="249" href="#249">249</a> LogSF.trace(logger, <span class="jxr_string">"{}{} {}."</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>); +<a name="250" href="#250">250</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment">/**</em> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with Object[] argument.</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> */</em> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceFourArg() { +<a name="257" href="#257">257</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="258" href="#258">258</a> logger.setLevel(TRACE); +<a name="259" href="#259">259</a> LogSF.trace(logger, <span class="jxr_string">"{}{} {}{}"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span>); +<a name="260" href="#260">260</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="261" href="#261">261</a> } +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment">/**</em> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with Object[] argument.</em> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment"> */</em> +<a name="266" href="#266">266</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceArrayArg() { +<a name="267" href="#267">267</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="268" href="#268">268</a> logger.setLevel(TRACE); +<a name="269" href="#269">269</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span> }; +<a name="270" href="#270">270</a> LogSF.trace(logger, <span class="jxr_string">"{}{} {}{}"</span>, args); +<a name="271" href="#271">271</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment">/**</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> * Test LogSF.trace with null Object[] argument.</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> */</em> +<a name="277" href="#277">277</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTraceNullArrayArg() { +<a name="278" href="#278">278</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="279" href="#279">279</a> logger.setLevel(TRACE); +<a name="280" href="#280">280</a> Object[] args = <strong class="jxr_keyword">null</strong>; +<a name="281" href="#281">281</a> LogSF.trace(logger, <span class="jxr_string">"{}{} {}{}"</span>, args); +<a name="282" href="#282">282</a> assertEquals(<span class="jxr_string">"{}{} {}{}"</span>, capture.getMessage()); +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> +<a name="286" href="#286">286</a> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment">/**</em> +<a name="288" href="#288">288</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with null pattern.</em> +<a name="289" href="#289">289</a> <em class="jxr_javadoccomment"> */</em> +<a name="290" href="#290">290</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugNullPattern() { +<a name="291" href="#291">291</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="292" href="#292">292</a> LogSF.debug(logger, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="293" href="#293">293</a> assertNull(capture.getMessage()); +<a name="294" href="#294">294</a> } +<a name="295" href="#295">295</a> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment">/**</em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with no-field pattern.</em> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment"> */</em> +<a name="299" href="#299">299</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugNoArg() { +<a name="300" href="#300">300</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="301" href="#301">301</a> LogSF.debug(logger, <span class="jxr_string">"Hello, World"</span>, Math.PI); +<a name="302" href="#302">302</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="303" href="#303">303</a> } +<a name="304" href="#304">304</a> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment">/**</em> +<a name="306" href="#306">306</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with malformed pattern.</em> +<a name="307" href="#307">307</a> <em class="jxr_javadoccomment"> */</em> +<a name="308" href="#308">308</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugBadPattern() { +<a name="309" href="#309">309</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="310" href="#310">310</a> LogSF.debug(logger, <span class="jxr_string">"Hello, {."</span>, Math.PI); +<a name="311" href="#311">311</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="312" href="#312">312</a> } +<a name="313" href="#313">313</a> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment">/**</em> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with missing argument.</em> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> */</em> +<a name="317" href="#317">317</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugMissingArg() { +<a name="318" href="#318">318</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="319" href="#319">319</a> LogSF.debug(logger, <span class="jxr_string">"Hello, {}World"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="320" href="#320">320</a> assertEquals(<span class="jxr_string">"Hello, {}World"</span>, capture.getMessage()); +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">/**</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with single field pattern with string argument.</em> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> */</em> +<a name="326" href="#326">326</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugString() { +<a name="327" href="#327">327</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="328" href="#328">328</a> LogSF.debug(logger, <span class="jxr_string">"Hello, {}"</span>, <span class="jxr_string">"World"</span>); +<a name="329" href="#329">329</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="330" href="#330">330</a> } +<a name="331" href="#331">331</a> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">/**</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with single field pattern with null argument.</em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> */</em> +<a name="335" href="#335">335</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugNull() { +<a name="336" href="#336">336</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="337" href="#337">337</a> LogSF.debug(logger, <span class="jxr_string">"Hello, {}"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="338" href="#338">338</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="339" href="#339">339</a> } +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> <em class="jxr_javadoccomment">/**</em> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with single field pattern with int argument.</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> */</em> +<a name="344" href="#344">344</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugInt() { +<a name="345" href="#345">345</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="346" href="#346">346</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="347" href="#347">347</a> LogSF.debug(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="348" href="#348">348</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment">/**</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with single field pattern with byte argument.</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> */</em> +<a name="354" href="#354">354</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugByte() { +<a name="355" href="#355">355</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="356" href="#356">356</a> byte val = 42; +<a name="357" href="#357">357</a> LogSF.debug(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="358" href="#358">358</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="359" href="#359">359</a> } +<a name="360" href="#360">360</a> +<a name="361" href="#361">361</a> <em class="jxr_javadoccomment">/**</em> +<a name="362" href="#362">362</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with single field pattern with short argument.</em> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> */</em> +<a name="364" href="#364">364</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugShort() { +<a name="365" href="#365">365</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="366" href="#366">366</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="367" href="#367">367</a> LogSF.debug(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="368" href="#368">368</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="369" href="#369">369</a> } +<a name="370" href="#370">370</a> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment">/**</em> +<a name="372" href="#372">372</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with single field pattern with long argument.</em> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment"> */</em> +<a name="374" href="#374">374</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugLong() { +<a name="375" href="#375">375</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="376" href="#376">376</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="377" href="#377">377</a> LogSF.debug(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="378" href="#378">378</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="379" href="#379">379</a> } +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <em class="jxr_javadoccomment">/**</em> +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with single field pattern with char argument.</em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> */</em> +<a name="384" href="#384">384</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugChar() { +<a name="385" href="#385">385</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="386" href="#386">386</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="387" href="#387">387</a> LogSF.debug(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="388" href="#388">388</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="389" href="#389">389</a> } +<a name="390" href="#390">390</a> +<a name="391" href="#391">391</a> <em class="jxr_javadoccomment">/**</em> +<a name="392" href="#392">392</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with single field pattern with boolean argument.</em> +<a name="393" href="#393">393</a> <em class="jxr_javadoccomment"> */</em> +<a name="394" href="#394">394</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugBoolean() { +<a name="395" href="#395">395</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="396" href="#396">396</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="397" href="#397">397</a> LogSF.debug(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="398" href="#398">398</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="399" href="#399">399</a> } +<a name="400" href="#400">400</a> +<a name="401" href="#401">401</a> <em class="jxr_javadoccomment">/**</em> +<a name="402" href="#402">402</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with single field pattern with float argument.</em> +<a name="403" href="#403">403</a> <em class="jxr_javadoccomment"> */</em> +<a name="404" href="#404">404</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugFloat() { +<a name="405" href="#405">405</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="406" href="#406">406</a> <strong class="jxr_keyword">float</strong> val = 3.14f; +<a name="407" href="#407">407</a> LogSF.debug(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="408" href="#408">408</a> assertEquals(<span class="jxr_string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="409" href="#409">409</a> } +<a name="410" href="#410">410</a> +<a name="411" href="#411">411</a> <em class="jxr_javadoccomment">/**</em> +<a name="412" href="#412">412</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with single field pattern with double argument.</em> +<a name="413" href="#413">413</a> <em class="jxr_javadoccomment"> */</em> +<a name="414" href="#414">414</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugDouble() { +<a name="415" href="#415">415</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="416" href="#416">416</a> <strong class="jxr_keyword">double</strong> val = 3.14; +<a name="417" href="#417">417</a> LogSF.debug(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="418" href="#418">418</a> assertEquals(<span class="jxr_string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="419" href="#419">419</a> } +<a name="420" href="#420">420</a> +<a name="421" href="#421">421</a> <em class="jxr_javadoccomment">/**</em> +<a name="422" href="#422">422</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with two arguments.</em> +<a name="423" href="#423">423</a> <em class="jxr_javadoccomment"> */</em> +<a name="424" href="#424">424</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugTwoArg() { +<a name="425" href="#425">425</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="426" href="#426">426</a> LogSF.debug(logger, <span class="jxr_string">"{}, {}."</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">"World"</span>); +<a name="427" href="#427">427</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="428" href="#428">428</a> +<a name="429" href="#429">429</a> } +<a name="430" href="#430">430</a> +<a name="431" href="#431">431</a> <em class="jxr_javadoccomment">/**</em> +<a name="432" href="#432">432</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with three arguments.</em> +<a name="433" href="#433">433</a> <em class="jxr_javadoccomment"> */</em> +<a name="434" href="#434">434</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugThreeArg() { +<a name="435" href="#435">435</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="436" href="#436">436</a> LogSF.debug(logger, <span class="jxr_string">"{}{} {}."</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>); +<a name="437" href="#437">437</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="438" href="#438">438</a> } +<a name="439" href="#439">439</a> +<a name="440" href="#440">440</a> <em class="jxr_javadoccomment">/**</em> +<a name="441" href="#441">441</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with four arguments.</em> +<a name="442" href="#442">442</a> <em class="jxr_javadoccomment"> */</em> +<a name="443" href="#443">443</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugFourArg() { +<a name="444" href="#444">444</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="445" href="#445">445</a> LogSF.debug(logger, <span class="jxr_string">"{}{} {}{}"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span>); +<a name="446" href="#446">446</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="447" href="#447">447</a> } +<a name="448" href="#448">448</a> +<a name="449" href="#449">449</a> <em class="jxr_javadoccomment">/**</em> +<a name="450" href="#450">450</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with Object[] argument.</em> +<a name="451" href="#451">451</a> <em class="jxr_javadoccomment"> */</em> +<a name="452" href="#452">452</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugArrayArg() { +<a name="453" href="#453">453</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="454" href="#454">454</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span> }; +<a name="455" href="#455">455</a> LogSF.debug(logger, <span class="jxr_string">"{}{} {}{}"</span>, args); +<a name="456" href="#456">456</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="457" href="#457">457</a> } +<a name="458" href="#458">458</a> +<a name="459" href="#459">459</a> <em class="jxr_javadoccomment">/**</em> +<a name="460" href="#460">460</a> <em class="jxr_javadoccomment"> * Test LogSF.debug with null Object[] argument.</em> +<a name="461" href="#461">461</a> <em class="jxr_javadoccomment"> */</em> +<a name="462" href="#462">462</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugNullArrayArg() { +<a name="463" href="#463">463</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="464" href="#464">464</a> Object[] args = <strong class="jxr_keyword">null</strong>; +<a name="465" href="#465">465</a> LogSF.debug(logger, <span class="jxr_string">"{}{} {}{}"</span>, args); +<a name="466" href="#466">466</a> assertEquals(<span class="jxr_string">"{}{} {}{}"</span>, capture.getMessage()); +<a name="467" href="#467">467</a> } +<a name="468" href="#468">468</a> +<a name="469" href="#469">469</a> <em class="jxr_javadoccomment">/**</em> +<a name="470" href="#470">470</a> <em class="jxr_javadoccomment"> * Test LogSF.info with null pattern.</em> +<a name="471" href="#471">471</a> <em class="jxr_javadoccomment"> */</em> +<a name="472" href="#472">472</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoNullPattern() { +<a name="473" href="#473">473</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="474" href="#474">474</a> LogSF.info(logger, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="475" href="#475">475</a> assertNull(capture.getMessage()); +<a name="476" href="#476">476</a> } +<a name="477" href="#477">477</a> +<a name="478" href="#478">478</a> <em class="jxr_javadoccomment">/**</em> +<a name="479" href="#479">479</a> <em class="jxr_javadoccomment"> * Test LogSF.info with no-field pattern.</em> +<a name="480" href="#480">480</a> <em class="jxr_javadoccomment"> */</em> +<a name="481" href="#481">481</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoNoArg() { +<a name="482" href="#482">482</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="483" href="#483">483</a> LogSF.info(logger, <span class="jxr_string">"Hello, World"</span>, Math.PI); +<a name="484" href="#484">484</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="485" href="#485">485</a> } +<a name="486" href="#486">486</a> +<a name="487" href="#487">487</a> <em class="jxr_javadoccomment">/**</em> +<a name="488" href="#488">488</a> <em class="jxr_javadoccomment"> * Test LogSF.info with malformed pattern.</em> +<a name="489" href="#489">489</a> <em class="jxr_javadoccomment"> */</em> +<a name="490" href="#490">490</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoBadPattern() { +<a name="491" href="#491">491</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="492" href="#492">492</a> LogSF.info(logger, <span class="jxr_string">"Hello, {."</span>, Math.PI); +<a name="493" href="#493">493</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="494" href="#494">494</a> } +<a name="495" href="#495">495</a> +<a name="496" href="#496">496</a> <em class="jxr_javadoccomment">/**</em> +<a name="497" href="#497">497</a> <em class="jxr_javadoccomment"> * Test LogSF.info with missing argument.</em> +<a name="498" href="#498">498</a> <em class="jxr_javadoccomment"> */</em> +<a name="499" href="#499">499</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoMissingArg() { +<a name="500" href="#500">500</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="501" href="#501">501</a> LogSF.info(logger, <span class="jxr_string">"Hello, {}World"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="502" href="#502">502</a> assertEquals(<span class="jxr_string">"Hello, {}World"</span>, capture.getMessage()); +<a name="503" href="#503">503</a> } +<a name="504" href="#504">504</a> +<a name="505" href="#505">505</a> <em class="jxr_javadoccomment">/**</em> +<a name="506" href="#506">506</a> <em class="jxr_javadoccomment"> * Test LogSF.info with single field pattern with string argument.</em> +<a name="507" href="#507">507</a> <em class="jxr_javadoccomment"> */</em> +<a name="508" href="#508">508</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoString() { +<a name="509" href="#509">509</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="510" href="#510">510</a> LogSF.info(logger, <span class="jxr_string">"Hello, {}"</span>, <span class="jxr_string">"World"</span>); +<a name="511" href="#511">511</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="512" href="#512">512</a> } +<a name="513" href="#513">513</a> +<a name="514" href="#514">514</a> <em class="jxr_javadoccomment">/**</em> +<a name="515" href="#515">515</a> <em class="jxr_javadoccomment"> * Test LogSF.info with single field pattern with null argument.</em> +<a name="516" href="#516">516</a> <em class="jxr_javadoccomment"> */</em> +<a name="517" href="#517">517</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoNull() { +<a name="518" href="#518">518</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="519" href="#519">519</a> LogSF.info(logger, <span class="jxr_string">"Hello, {}"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="520" href="#520">520</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="521" href="#521">521</a> } +<a name="522" href="#522">522</a> +<a name="523" href="#523">523</a> <em class="jxr_javadoccomment">/**</em> +<a name="524" href="#524">524</a> <em class="jxr_javadoccomment"> * Test LogSF.info with single field pattern with int argument.</em> +<a name="525" href="#525">525</a> <em class="jxr_javadoccomment"> */</em> +<a name="526" href="#526">526</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoInt() { +<a name="527" href="#527">527</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="528" href="#528">528</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="529" href="#529">529</a> LogSF.info(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="530" href="#530">530</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="531" href="#531">531</a> } +<a name="532" href="#532">532</a> +<a name="533" href="#533">533</a> <em class="jxr_javadoccomment">/**</em> +<a name="534" href="#534">534</a> <em class="jxr_javadoccomment"> * Test LogSF.info with single field pattern with byte argument.</em> +<a name="535" href="#535">535</a> <em class="jxr_javadoccomment"> */</em> +<a name="536" href="#536">536</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoByte() { +<a name="537" href="#537">537</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="538" href="#538">538</a> byte val = 42; +<a name="539" href="#539">539</a> LogSF.info(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="540" href="#540">540</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="541" href="#541">541</a> } +<a name="542" href="#542">542</a> +<a name="543" href="#543">543</a> <em class="jxr_javadoccomment">/**</em> +<a name="544" href="#544">544</a> <em class="jxr_javadoccomment"> * Test LogSF.info with single field pattern with short argument.</em> +<a name="545" href="#545">545</a> <em class="jxr_javadoccomment"> */</em> +<a name="546" href="#546">546</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoShort() { +<a name="547" href="#547">547</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="548" href="#548">548</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="549" href="#549">549</a> LogSF.info(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="550" href="#550">550</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="551" href="#551">551</a> } +<a name="552" href="#552">552</a> +<a name="553" href="#553">553</a> <em class="jxr_javadoccomment">/**</em> +<a name="554" href="#554">554</a> <em class="jxr_javadoccomment"> * Test LogSF.info with single field pattern with long argument.</em> +<a name="555" href="#555">555</a> <em class="jxr_javadoccomment"> */</em> +<a name="556" href="#556">556</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoLong() { +<a name="557" href="#557">557</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="558" href="#558">558</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="559" href="#559">559</a> LogSF.info(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="560" href="#560">560</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="561" href="#561">561</a> } +<a name="562" href="#562">562</a> +<a name="563" href="#563">563</a> <em class="jxr_javadoccomment">/**</em> +<a name="564" href="#564">564</a> <em class="jxr_javadoccomment"> * Test LogSF.info with single field pattern with char argument.</em> +<a name="565" href="#565">565</a> <em class="jxr_javadoccomment"> */</em> +<a name="566" href="#566">566</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoChar() { +<a name="567" href="#567">567</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="568" href="#568">568</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="569" href="#569">569</a> LogSF.info(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="570" href="#570">570</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="571" href="#571">571</a> } +<a name="572" href="#572">572</a> +<a name="573" href="#573">573</a> <em class="jxr_javadoccomment">/**</em> +<a name="574" href="#574">574</a> <em class="jxr_javadoccomment"> * Test LogSF.info with single field pattern with boolean argument.</em> +<a name="575" href="#575">575</a> <em class="jxr_javadoccomment"> */</em> +<a name="576" href="#576">576</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoBoolean() { +<a name="577" href="#577">577</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="578" href="#578">578</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="579" href="#579">579</a> LogSF.info(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="580" href="#580">580</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="581" href="#581">581</a> } +<a name="582" href="#582">582</a> +<a name="583" href="#583">583</a> <em class="jxr_javadoccomment">/**</em> +<a name="584" href="#584">584</a> <em class="jxr_javadoccomment"> * Test LogSF.info with single field pattern with float argument.</em> +<a name="585" href="#585">585</a> <em class="jxr_javadoccomment"> */</em> +<a name="586" href="#586">586</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoFloat() { +<a name="587" href="#587">587</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="588" href="#588">588</a> <strong class="jxr_keyword">float</strong> val = 3.14f; +<a name="589" href="#589">589</a> LogSF.info(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="590" href="#590">590</a> assertEquals(<span class="jxr_string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="591" href="#591">591</a> } +<a name="592" href="#592">592</a> +<a name="593" href="#593">593</a> <em class="jxr_javadoccomment">/**</em> +<a name="594" href="#594">594</a> <em class="jxr_javadoccomment"> * Test LogSF.info with single field pattern with double argument.</em> +<a name="595" href="#595">595</a> <em class="jxr_javadoccomment"> */</em> +<a name="596" href="#596">596</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoDouble() { +<a name="597" href="#597">597</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="598" href="#598">598</a> <strong class="jxr_keyword">double</strong> val = 3.14; +<a name="599" href="#599">599</a> LogSF.info(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="600" href="#600">600</a> assertEquals(<span class="jxr_string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="601" href="#601">601</a> } +<a name="602" href="#602">602</a> +<a name="603" href="#603">603</a> <em class="jxr_javadoccomment">/**</em> +<a name="604" href="#604">604</a> <em class="jxr_javadoccomment"> * Test LogSF.info with two arguments.</em> +<a name="605" href="#605">605</a> <em class="jxr_javadoccomment"> */</em> +<a name="606" href="#606">606</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoTwoArg() { +<a name="607" href="#607">607</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="608" href="#608">608</a> LogSF.info(logger, <span class="jxr_string">"{}, {}."</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">"World"</span>); +<a name="609" href="#609">609</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="610" href="#610">610</a> +<a name="611" href="#611">611</a> } +<a name="612" href="#612">612</a> +<a name="613" href="#613">613</a> <em class="jxr_javadoccomment">/**</em> +<a name="614" href="#614">614</a> <em class="jxr_javadoccomment"> * Test LogSF.info with three arguments.</em> +<a name="615" href="#615">615</a> <em class="jxr_javadoccomment"> */</em> +<a name="616" href="#616">616</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoThreeArg() { +<a name="617" href="#617">617</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="618" href="#618">618</a> LogSF.info(logger, <span class="jxr_string">"{}{} {}."</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>); +<a name="619" href="#619">619</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="620" href="#620">620</a> } +<a name="621" href="#621">621</a> +<a name="622" href="#622">622</a> <em class="jxr_javadoccomment">/**</em> +<a name="623" href="#623">623</a> <em class="jxr_javadoccomment"> * Test LogSF.info with Object[] argument.</em> +<a name="624" href="#624">624</a> <em class="jxr_javadoccomment"> */</em> +<a name="625" href="#625">625</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInfoArrayArg() { +<a name="626" href="#626">626</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="627" href="#627">627</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span> }; +<a name="628" href="#628">628</a> LogSF.info(logger, <span class="jxr_string">"{}{} {}{}"</span>, args); +<a name="629" href="#629">629</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="630" href="#630">630</a> } +<a name="631" href="#631">631</a> +<a name="632" href="#632">632</a> <em class="jxr_javadoccomment">/**</em> +<a name="633" href="#633">633</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with null pattern.</em> +<a name="634" href="#634">634</a> <em class="jxr_javadoccomment"> */</em> +<a name="635" href="#635">635</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnNullPattern() { +<a name="636" href="#636">636</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="637" href="#637">637</a> LogSF.warn(logger, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="638" href="#638">638</a> assertNull(capture.getMessage()); +<a name="639" href="#639">639</a> } +<a name="640" href="#640">640</a> +<a name="641" href="#641">641</a> <em class="jxr_javadoccomment">/**</em> +<a name="642" href="#642">642</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with no-field pattern.</em> +<a name="643" href="#643">643</a> <em class="jxr_javadoccomment"> */</em> +<a name="644" href="#644">644</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnNoArg() { +<a name="645" href="#645">645</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="646" href="#646">646</a> LogSF.warn(logger, <span class="jxr_string">"Hello, World"</span>, Math.PI); +<a name="647" href="#647">647</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="648" href="#648">648</a> } +<a name="649" href="#649">649</a> +<a name="650" href="#650">650</a> <em class="jxr_javadoccomment">/**</em> +<a name="651" href="#651">651</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with malformed pattern.</em> +<a name="652" href="#652">652</a> <em class="jxr_javadoccomment"> */</em> +<a name="653" href="#653">653</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnBadPattern() { +<a name="654" href="#654">654</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="655" href="#655">655</a> LogSF.warn(logger, <span class="jxr_string">"Hello, {."</span>, Math.PI); +<a name="656" href="#656">656</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="657" href="#657">657</a> } +<a name="658" href="#658">658</a> +<a name="659" href="#659">659</a> <em class="jxr_javadoccomment">/**</em> +<a name="660" href="#660">660</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with missing argument.</em> +<a name="661" href="#661">661</a> <em class="jxr_javadoccomment"> */</em> +<a name="662" href="#662">662</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnMissingArg() { +<a name="663" href="#663">663</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="664" href="#664">664</a> LogSF.warn(logger, <span class="jxr_string">"Hello, {}World"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="665" href="#665">665</a> assertEquals(<span class="jxr_string">"Hello, {}World"</span>, capture.getMessage()); +<a name="666" href="#666">666</a> } +<a name="667" href="#667">667</a> +<a name="668" href="#668">668</a> <em class="jxr_javadoccomment">/**</em> +<a name="669" href="#669">669</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with single field pattern with string argument.</em> +<a name="670" href="#670">670</a> <em class="jxr_javadoccomment"> */</em> +<a name="671" href="#671">671</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnString() { +<a name="672" href="#672">672</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="673" href="#673">673</a> LogSF.warn(logger, <span class="jxr_string">"Hello, {}"</span>, <span class="jxr_string">"World"</span>); +<a name="674" href="#674">674</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="675" href="#675">675</a> } +<a name="676" href="#676">676</a> +<a name="677" href="#677">677</a> <em class="jxr_javadoccomment">/**</em> +<a name="678" href="#678">678</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with single field pattern with null argument.</em> +<a name="679" href="#679">679</a> <em class="jxr_javadoccomment"> */</em> +<a name="680" href="#680">680</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnNull() { +<a name="681" href="#681">681</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="682" href="#682">682</a> LogSF.warn(logger, <span class="jxr_string">"Hello, {}"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="683" href="#683">683</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="684" href="#684">684</a> } +<a name="685" href="#685">685</a> +<a name="686" href="#686">686</a> <em class="jxr_javadoccomment">/**</em> +<a name="687" href="#687">687</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with single field pattern with int argument.</em> +<a name="688" href="#688">688</a> <em class="jxr_javadoccomment"> */</em> +<a name="689" href="#689">689</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnInt() { +<a name="690" href="#690">690</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="691" href="#691">691</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="692" href="#692">692</a> LogSF.warn(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="693" href="#693">693</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="694" href="#694">694</a> } +<a name="695" href="#695">695</a> +<a name="696" href="#696">696</a> <em class="jxr_javadoccomment">/**</em> +<a name="697" href="#697">697</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with single field pattern with byte argument.</em> +<a name="698" href="#698">698</a> <em class="jxr_javadoccomment"> */</em> +<a name="699" href="#699">699</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnByte() { +<a name="700" href="#700">700</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="701" href="#701">701</a> byte val = 42; +<a name="702" href="#702">702</a> LogSF.warn(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="703" href="#703">703</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="704" href="#704">704</a> } +<a name="705" href="#705">705</a> +<a name="706" href="#706">706</a> <em class="jxr_javadoccomment">/**</em> +<a name="707" href="#707">707</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with single field pattern with short argument.</em> +<a name="708" href="#708">708</a> <em class="jxr_javadoccomment"> */</em> +<a name="709" href="#709">709</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnShort() { +<a name="710" href="#710">710</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="711" href="#711">711</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="712" href="#712">712</a> LogSF.warn(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="713" href="#713">713</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="714" href="#714">714</a> } +<a name="715" href="#715">715</a> +<a name="716" href="#716">716</a> <em class="jxr_javadoccomment">/**</em> +<a name="717" href="#717">717</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with single field pattern with long argument.</em> +<a name="718" href="#718">718</a> <em class="jxr_javadoccomment"> */</em> +<a name="719" href="#719">719</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnLong() { +<a name="720" href="#720">720</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="721" href="#721">721</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="722" href="#722">722</a> LogSF.warn(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="723" href="#723">723</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="724" href="#724">724</a> } +<a name="725" href="#725">725</a> +<a name="726" href="#726">726</a> <em class="jxr_javadoccomment">/**</em> +<a name="727" href="#727">727</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with single field pattern with char argument.</em> +<a name="728" href="#728">728</a> <em class="jxr_javadoccomment"> */</em> +<a name="729" href="#729">729</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnChar() { +<a name="730" href="#730">730</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="731" href="#731">731</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="732" href="#732">732</a> LogSF.warn(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="733" href="#733">733</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="734" href="#734">734</a> } +<a name="735" href="#735">735</a> +<a name="736" href="#736">736</a> <em class="jxr_javadoccomment">/**</em> +<a name="737" href="#737">737</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with single field pattern with boolean argument.</em> +<a name="738" href="#738">738</a> <em class="jxr_javadoccomment"> */</em> +<a name="739" href="#739">739</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnBoolean() { +<a name="740" href="#740">740</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="741" href="#741">741</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="742" href="#742">742</a> LogSF.warn(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="743" href="#743">743</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="744" href="#744">744</a> } +<a name="745" href="#745">745</a> +<a name="746" href="#746">746</a> <em class="jxr_javadoccomment">/**</em> +<a name="747" href="#747">747</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with single field pattern with float argument.</em> +<a name="748" href="#748">748</a> <em class="jxr_javadoccomment"> */</em> +<a name="749" href="#749">749</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnFloat() { +<a name="750" href="#750">750</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="751" href="#751">751</a> <strong class="jxr_keyword">float</strong> val = 3.14f; +<a name="752" href="#752">752</a> LogSF.warn(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="753" href="#753">753</a> assertEquals(<span class="jxr_string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="754" href="#754">754</a> } +<a name="755" href="#755">755</a> +<a name="756" href="#756">756</a> <em class="jxr_javadoccomment">/**</em> +<a name="757" href="#757">757</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with single field pattern with double argument.</em> +<a name="758" href="#758">758</a> <em class="jxr_javadoccomment"> */</em> +<a name="759" href="#759">759</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnDouble() { +<a name="760" href="#760">760</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="761" href="#761">761</a> <strong class="jxr_keyword">double</strong> val = 3.14; +<a name="762" href="#762">762</a> LogSF.warn(logger, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="763" href="#763">763</a> assertEquals(<span class="jxr_string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="764" href="#764">764</a> } +<a name="765" href="#765">765</a> +<a name="766" href="#766">766</a> <em class="jxr_javadoccomment">/**</em> +<a name="767" href="#767">767</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with two arguments.</em> +<a name="768" href="#768">768</a> <em class="jxr_javadoccomment"> */</em> +<a name="769" href="#769">769</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnTwoArg() { +<a name="770" href="#770">770</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="771" href="#771">771</a> LogSF.warn(logger, <span class="jxr_string">"{}, {}."</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">"World"</span>); +<a name="772" href="#772">772</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="773" href="#773">773</a> +<a name="774" href="#774">774</a> } +<a name="775" href="#775">775</a> +<a name="776" href="#776">776</a> <em class="jxr_javadoccomment">/**</em> +<a name="777" href="#777">777</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with three arguments.</em> +<a name="778" href="#778">778</a> <em class="jxr_javadoccomment"> */</em> +<a name="779" href="#779">779</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnThreeArg() { +<a name="780" href="#780">780</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="781" href="#781">781</a> LogSF.warn(logger, <span class="jxr_string">"{}{} {}."</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>); +<a name="782" href="#782">782</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="783" href="#783">783</a> } +<a name="784" href="#784">784</a> +<a name="785" href="#785">785</a> <em class="jxr_javadoccomment">/**</em> +<a name="786" href="#786">786</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with Object[] argument.</em> +<a name="787" href="#787">787</a> <em class="jxr_javadoccomment"> */</em> +<a name="788" href="#788">788</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnFourArg() { +<a name="789" href="#789">789</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="790" href="#790">790</a> LogSF.warn(logger, <span class="jxr_string">"{}{} {}{}"</span>, +<a name="791" href="#791">791</a> <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span> ); +<a name="792" href="#792">792</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="793" href="#793">793</a> } +<a name="794" href="#794">794</a> +<a name="795" href="#795">795</a> <em class="jxr_javadoccomment">/**</em> +<a name="796" href="#796">796</a> <em class="jxr_javadoccomment"> * Test LogSF.warn with Object[] argument.</em> +<a name="797" href="#797">797</a> <em class="jxr_javadoccomment"> */</em> +<a name="798" href="#798">798</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWarnArrayArg() { +<a name="799" href="#799">799</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="800" href="#800">800</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span> }; +<a name="801" href="#801">801</a> LogSF.warn(logger, <span class="jxr_string">"{}{} {}{}"</span>, args); +<a name="802" href="#802">802</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="803" href="#803">803</a> } +<a name="804" href="#804">804</a> +<a name="805" href="#805">805</a> +<a name="806" href="#806">806</a> <em class="jxr_javadoccomment">/**</em> +<a name="807" href="#807">807</a> <em class="jxr_javadoccomment"> * Test LogSF.log with null pattern.</em> +<a name="808" href="#808">808</a> <em class="jxr_javadoccomment"> */</em> +<a name="809" href="#809">809</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogNullPattern() { +<a name="810" href="#810">810</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="811" href="#811">811</a> LogSF.log(logger, Level.ERROR, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="812" href="#812">812</a> assertNull(capture.getMessage()); +<a name="813" href="#813">813</a> } +<a name="814" href="#814">814</a> +<a name="815" href="#815">815</a> <em class="jxr_javadoccomment">/**</em> +<a name="816" href="#816">816</a> <em class="jxr_javadoccomment"> * Test LogSF.log with no-field pattern.</em> +<a name="817" href="#817">817</a> <em class="jxr_javadoccomment"> */</em> +<a name="818" href="#818">818</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogNoArg() { +<a name="819" href="#819">819</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="820" href="#820">820</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Hello, World"</span>, Math.PI); +<a name="821" href="#821">821</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="822" href="#822">822</a> } +<a name="823" href="#823">823</a> +<a name="824" href="#824">824</a> <em class="jxr_javadoccomment">/**</em> +<a name="825" href="#825">825</a> <em class="jxr_javadoccomment"> * Test LogSF.log with malformed pattern.</em> +<a name="826" href="#826">826</a> <em class="jxr_javadoccomment"> */</em> +<a name="827" href="#827">827</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogBadPattern() { +<a name="828" href="#828">828</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="829" href="#829">829</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Hello, {."</span>, Math.PI); +<a name="830" href="#830">830</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="831" href="#831">831</a> } +<a name="832" href="#832">832</a> +<a name="833" href="#833">833</a> <em class="jxr_javadoccomment">/**</em> +<a name="834" href="#834">834</a> <em class="jxr_javadoccomment"> * Test LogSF.log with missing argument.</em> +<a name="835" href="#835">835</a> <em class="jxr_javadoccomment"> */</em> +<a name="836" href="#836">836</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogMissingArg() { +<a name="837" href="#837">837</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="838" href="#838">838</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Hello, {}World"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="839" href="#839">839</a> assertEquals(<span class="jxr_string">"Hello, {}World"</span>, capture.getMessage()); +<a name="840" href="#840">840</a> } +<a name="841" href="#841">841</a> +<a name="842" href="#842">842</a> <em class="jxr_javadoccomment">/**</em> +<a name="843" href="#843">843</a> <em class="jxr_javadoccomment"> * Test LogSF.log with single field pattern with string argument.</em> +<a name="844" href="#844">844</a> <em class="jxr_javadoccomment"> */</em> +<a name="845" href="#845">845</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogString() { +<a name="846" href="#846">846</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="847" href="#847">847</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Hello, {}"</span>, <span class="jxr_string">"World"</span>); +<a name="848" href="#848">848</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="849" href="#849">849</a> } +<a name="850" href="#850">850</a> +<a name="851" href="#851">851</a> <em class="jxr_javadoccomment">/**</em> +<a name="852" href="#852">852</a> <em class="jxr_javadoccomment"> * Test LogSF.log with single field pattern with null argument.</em> +<a name="853" href="#853">853</a> <em class="jxr_javadoccomment"> */</em> +<a name="854" href="#854">854</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogNull() { +<a name="855" href="#855">855</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="856" href="#856">856</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Hello, {}"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="857" href="#857">857</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="858" href="#858">858</a> } +<a name="859" href="#859">859</a> +<a name="860" href="#860">860</a> <em class="jxr_javadoccomment">/**</em> +<a name="861" href="#861">861</a> <em class="jxr_javadoccomment"> * Test LogSF.log with single field pattern with int argument.</em> +<a name="862" href="#862">862</a> <em class="jxr_javadoccomment"> */</em> +<a name="863" href="#863">863</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogInt() { +<a name="864" href="#864">864</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="865" href="#865">865</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="866" href="#866">866</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="867" href="#867">867</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="868" href="#868">868</a> } +<a name="869" href="#869">869</a> +<a name="870" href="#870">870</a> <em class="jxr_javadoccomment">/**</em> +<a name="871" href="#871">871</a> <em class="jxr_javadoccomment"> * Test LogSF.log with single field pattern with byte argument.</em> +<a name="872" href="#872">872</a> <em class="jxr_javadoccomment"> */</em> +<a name="873" href="#873">873</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogByte() { +<a name="874" href="#874">874</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="875" href="#875">875</a> byte val = 42; +<a name="876" href="#876">876</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="877" href="#877">877</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="878" href="#878">878</a> } +<a name="879" href="#879">879</a> +<a name="880" href="#880">880</a> <em class="jxr_javadoccomment">/**</em> +<a name="881" href="#881">881</a> <em class="jxr_javadoccomment"> * Test LogSF.log with single field pattern with short argument.</em> +<a name="882" href="#882">882</a> <em class="jxr_javadoccomment"> */</em> +<a name="883" href="#883">883</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogShort() { +<a name="884" href="#884">884</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="885" href="#885">885</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="886" href="#886">886</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="887" href="#887">887</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="888" href="#888">888</a> } +<a name="889" href="#889">889</a> +<a name="890" href="#890">890</a> <em class="jxr_javadoccomment">/**</em> +<a name="891" href="#891">891</a> <em class="jxr_javadoccomment"> * Test LogSF.log with single field pattern with long argument.</em> +<a name="892" href="#892">892</a> <em class="jxr_javadoccomment"> */</em> +<a name="893" href="#893">893</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogLong() { +<a name="894" href="#894">894</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="895" href="#895">895</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="896" href="#896">896</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="897" href="#897">897</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="898" href="#898">898</a> } +<a name="899" href="#899">899</a> +<a name="900" href="#900">900</a> <em class="jxr_javadoccomment">/**</em> +<a name="901" href="#901">901</a> <em class="jxr_javadoccomment"> * Test LogSF.log with single field pattern with char argument.</em> +<a name="902" href="#902">902</a> <em class="jxr_javadoccomment"> */</em> +<a name="903" href="#903">903</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogChar() { +<a name="904" href="#904">904</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="905" href="#905">905</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="906" href="#906">906</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="907" href="#907">907</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="908" href="#908">908</a> } +<a name="909" href="#909">909</a> +<a name="910" href="#910">910</a> <em class="jxr_javadoccomment">/**</em> +<a name="911" href="#911">911</a> <em class="jxr_javadoccomment"> * Test LogSF.log with single field pattern with boolean argument.</em> +<a name="912" href="#912">912</a> <em class="jxr_javadoccomment"> */</em> +<a name="913" href="#913">913</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogBoolean() { +<a name="914" href="#914">914</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="915" href="#915">915</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="916" href="#916">916</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {}"</span>, val); +<a name="917" href="#917">917</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="918" href="#918">918</a> } +<a name="919" href="#919">919</a> +<a name="920" href="#920">920</a> <em class="jxr_javadoccomment">/**</em> +<a name="921" href="#921">921</a> <em class="jxr_javadoccomment"> * Test LogSF.log with single field pattern with float argument.</em> +<a name="922" href="#922">922</a> <em class="jxr_javadoccomment"> */</em> +<a name="923" href="#923">923</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogFloat() { +<a name="924" href="#924">924</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="925" href="#925">925</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {}"</span>, (<strong class="jxr_keyword">float</strong>) Math.PI); +<a name="926" href="#926">926</a> +<a name="927" href="#927">927</a> String expected = <span class="jxr_string">"Iteration "</span> + String.valueOf(<strong class="jxr_keyword">new</strong> Float(Math.PI)); +<a name="928" href="#928">928</a> assertEquals(expected, capture.getMessage()); +<a name="929" href="#929">929</a> } +<a name="930" href="#930">930</a> +<a name="931" href="#931">931</a> <em class="jxr_javadoccomment">/**</em> +<a name="932" href="#932">932</a> <em class="jxr_javadoccomment"> * Test LogSF.log with single field pattern with double argument.</em> +<a name="933" href="#933">933</a> <em class="jxr_javadoccomment"> */</em> +<a name="934" href="#934">934</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogDouble() { +<a name="935" href="#935">935</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="936" href="#936">936</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"Iteration {}"</span>, Math.PI); +<a name="937" href="#937">937</a> +<a name="938" href="#938">938</a> String expected = <span class="jxr_string">"Iteration "</span> + String.valueOf(<strong class="jxr_keyword">new</strong> Double(Math.PI)); +<a name="939" href="#939">939</a> assertEquals(expected, capture.getMessage()); +<a name="940" href="#940">940</a> } +<a name="941" href="#941">941</a> +<a name="942" href="#942">942</a> <em class="jxr_javadoccomment">/**</em> +<a name="943" href="#943">943</a> <em class="jxr_javadoccomment"> * Test LogSF.log with two arguments.</em> +<a name="944" href="#944">944</a> <em class="jxr_javadoccomment"> */</em> +<a name="945" href="#945">945</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogTwoArg() { +<a name="946" href="#946">946</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="947" href="#947">947</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"{}, {}."</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">"World"</span>); +<a name="948" href="#948">948</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="949" href="#949">949</a> } +<a name="950" href="#950">950</a> +<a name="951" href="#951">951</a> <em class="jxr_javadoccomment">/**</em> +<a name="952" href="#952">952</a> <em class="jxr_javadoccomment"> * Test LogSF.log with three arguments.</em> +<a name="953" href="#953">953</a> <em class="jxr_javadoccomment"> */</em> +<a name="954" href="#954">954</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogThreeArg() { +<a name="955" href="#955">955</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="956" href="#956">956</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"{}{} {}."</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>); +<a name="957" href="#957">957</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="958" href="#958">958</a> } +<a name="959" href="#959">959</a> +<a name="960" href="#960">960</a> <em class="jxr_javadoccomment">/**</em> +<a name="961" href="#961">961</a> <em class="jxr_javadoccomment"> * Test LogSF.log with four arguments.</em> +<a name="962" href="#962">962</a> <em class="jxr_javadoccomment"> */</em> +<a name="963" href="#963">963</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogFourArg() { +<a name="964" href="#964">964</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="965" href="#965">965</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"{}{} {}{}"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span>); +<a name="966" href="#966">966</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="967" href="#967">967</a> } +<a name="968" href="#968">968</a> +<a name="969" href="#969">969</a> <em class="jxr_javadoccomment">/**</em> +<a name="970" href="#970">970</a> <em class="jxr_javadoccomment"> * Test LogSF.log with Object[] argument.</em> +<a name="971" href="#971">971</a> <em class="jxr_javadoccomment"> */</em> +<a name="972" href="#972">972</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogArrayArg() { +<a name="973" href="#973">973</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="974" href="#974">974</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span> }; +<a name="975" href="#975">975</a> LogSF.log(logger, Level.ERROR, <span class="jxr_string">"{}{} {}{}"</span>, args); +<a name="976" href="#976">976</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="977" href="#977">977</a> } +<a name="978" href="#978">978</a> +<a name="979" href="#979">979</a> <em class="jxr_javadoccomment">/**</em> +<a name="980" href="#980">980</a> <em class="jxr_javadoccomment"> * Bundle name for resource bundle tests.</em> +<a name="981" href="#981">981</a> <em class="jxr_javadoccomment"> */</em> +<a name="982" href="#982">982</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String BUNDLE_NAME = +<a name="983" href="#983">983</a> <span class="jxr_string">"org.apache.log4j.TestLogSFPatterns"</span>; +<a name="984" href="#984">984</a> +<a name="985" href="#985">985</a> <em class="jxr_javadoccomment">/**</em> +<a name="986" href="#986">986</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with null bundle name.</em> +<a name="987" href="#987">987</a> <em class="jxr_javadoccomment"> */</em> +<a name="988" href="#988">988</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbNullBundle() { +<a name="989" href="#989">989</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="990" href="#990">990</a> LogSF.logrb(logger, Level.ERROR, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"Iteration0"</span>, Math.PI); +<a name="991" href="#991">991</a> assertEquals(<span class="jxr_string">"Iteration0"</span>, capture.getMessage()); +<a name="992" href="#992">992</a> } +<a name="993" href="#993">993</a> +<a name="994" href="#994">994</a> <em class="jxr_javadoccomment">/**</em> +<a name="995" href="#995">995</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with null key.</em> +<a name="996" href="#996">996</a> <em class="jxr_javadoccomment"> */</em> +<a name="997" href="#997">997</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbNullKey() { +<a name="998" href="#998">998</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="999" href="#999">999</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <strong class="jxr_keyword">null</strong>, Math.PI); +<a name="1000" href="#1000">1000</a> assertNull(capture.getMessage()); +<a name="1001" href="#1001">1001</a> } +<a name="1002" href="#1002">1002</a> +<a name="1003" href="#1003">1003</a> <em class="jxr_javadoccomment">/**</em> +<a name="1004" href="#1004">1004</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with no-field pattern.</em> +<a name="1005" href="#1005">1005</a> <em class="jxr_javadoccomment"> */</em> +<a name="1006" href="#1006">1006</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbNoArg() { +<a name="1007" href="#1007">1007</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1008" href="#1008">1008</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Hello1"</span>, Math.PI); +<a name="1009" href="#1009">1009</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="1010" href="#1010">1010</a> } +<a name="1011" href="#1011">1011</a> +<a name="1012" href="#1012">1012</a> <em class="jxr_javadoccomment">/**</em> +<a name="1013" href="#1013">1013</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with malformed pattern.</em> +<a name="1014" href="#1014">1014</a> <em class="jxr_javadoccomment"> */</em> +<a name="1015" href="#1015">1015</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbBadPattern() { +<a name="1016" href="#1016">1016</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1017" href="#1017">1017</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Malformed"</span>, Math.PI); +<a name="1018" href="#1018">1018</a> assertEquals(<span class="jxr_string">"Hello, {."</span>, capture.getMessage()); +<a name="1019" href="#1019">1019</a> } +<a name="1020" href="#1020">1020</a> +<a name="1021" href="#1021">1021</a> <em class="jxr_javadoccomment">/**</em> +<a name="1022" href="#1022">1022</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with missing argument.</em> +<a name="1023" href="#1023">1023</a> <em class="jxr_javadoccomment"> */</em> +<a name="1024" href="#1024">1024</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbMissingArg() { +<a name="1025" href="#1025">1025</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1026" href="#1026">1026</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Hello2"</span>, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="1027" href="#1027">1027</a> assertEquals(<span class="jxr_string">"Hello, {}World"</span>, capture.getMessage()); +<a name="1028" href="#1028">1028</a> } +<a name="1029" href="#1029">1029</a> +<a name="1030" href="#1030">1030</a> <em class="jxr_javadoccomment">/**</em> +<a name="1031" href="#1031">1031</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with single field pattern with string argument.</em> +<a name="1032" href="#1032">1032</a> <em class="jxr_javadoccomment"> */</em> +<a name="1033" href="#1033">1033</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbString() { +<a name="1034" href="#1034">1034</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1035" href="#1035">1035</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Hello3"</span>, <span class="jxr_string">"World"</span>); +<a name="1036" href="#1036">1036</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, capture.getMessage()); +<a name="1037" href="#1037">1037</a> } +<a name="1038" href="#1038">1038</a> +<a name="1039" href="#1039">1039</a> <em class="jxr_javadoccomment">/**</em> +<a name="1040" href="#1040">1040</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with single field pattern with null argument.</em> +<a name="1041" href="#1041">1041</a> <em class="jxr_javadoccomment"> */</em> +<a name="1042" href="#1042">1042</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbNull() { +<a name="1043" href="#1043">1043</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1044" href="#1044">1044</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Hello3"</span>, (Object) <strong class="jxr_keyword">null</strong>); +<a name="1045" href="#1045">1045</a> assertEquals(<span class="jxr_string">"Hello, null"</span>, capture.getMessage()); +<a name="1046" href="#1046">1046</a> } +<a name="1047" href="#1047">1047</a> +<a name="1048" href="#1048">1048</a> <em class="jxr_javadoccomment">/**</em> +<a name="1049" href="#1049">1049</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with single field pattern with int argument.</em> +<a name="1050" href="#1050">1050</a> <em class="jxr_javadoccomment"> */</em> +<a name="1051" href="#1051">1051</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbInt() { +<a name="1052" href="#1052">1052</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1053" href="#1053">1053</a> <strong class="jxr_keyword">int</strong> val = 42; +<a name="1054" href="#1054">1054</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1055" href="#1055">1055</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="1056" href="#1056">1056</a> } +<a name="1057" href="#1057">1057</a> +<a name="1058" href="#1058">1058</a> <em class="jxr_javadoccomment">/**</em> +<a name="1059" href="#1059">1059</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with single field pattern with byte argument.</em> +<a name="1060" href="#1060">1060</a> <em class="jxr_javadoccomment"> */</em> +<a name="1061" href="#1061">1061</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbByte() { +<a name="1062" href="#1062">1062</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1063" href="#1063">1063</a> byte val = 42; +<a name="1064" href="#1064">1064</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1065" href="#1065">1065</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="1066" href="#1066">1066</a> } +<a name="1067" href="#1067">1067</a> +<a name="1068" href="#1068">1068</a> <em class="jxr_javadoccomment">/**</em> +<a name="1069" href="#1069">1069</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with single field pattern with short argument.</em> +<a name="1070" href="#1070">1070</a> <em class="jxr_javadoccomment"> */</em> +<a name="1071" href="#1071">1071</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbShort() { +<a name="1072" href="#1072">1072</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1073" href="#1073">1073</a> <strong class="jxr_keyword">short</strong> val = 42; +<a name="1074" href="#1074">1074</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1075" href="#1075">1075</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="1076" href="#1076">1076</a> } +<a name="1077" href="#1077">1077</a> +<a name="1078" href="#1078">1078</a> <em class="jxr_javadoccomment">/**</em> +<a name="1079" href="#1079">1079</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with single field pattern with long argument.</em> +<a name="1080" href="#1080">1080</a> <em class="jxr_javadoccomment"> */</em> +<a name="1081" href="#1081">1081</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbLong() { +<a name="1082" href="#1082">1082</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1083" href="#1083">1083</a> <strong class="jxr_keyword">long</strong> val = 42; +<a name="1084" href="#1084">1084</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1085" href="#1085">1085</a> assertEquals(<span class="jxr_string">"Iteration 42"</span>, capture.getMessage()); +<a name="1086" href="#1086">1086</a> } +<a name="1087" href="#1087">1087</a> +<a name="1088" href="#1088">1088</a> <em class="jxr_javadoccomment">/**</em> +<a name="1089" href="#1089">1089</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with single field pattern with char argument.</em> +<a name="1090" href="#1090">1090</a> <em class="jxr_javadoccomment"> */</em> +<a name="1091" href="#1091">1091</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbChar() { +<a name="1092" href="#1092">1092</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1093" href="#1093">1093</a> <strong class="jxr_keyword">char</strong> val = 'C'; +<a name="1094" href="#1094">1094</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1095" href="#1095">1095</a> assertEquals(<span class="jxr_string">"Iteration C"</span>, capture.getMessage()); +<a name="1096" href="#1096">1096</a> } +<a name="1097" href="#1097">1097</a> +<a name="1098" href="#1098">1098</a> <em class="jxr_javadoccomment">/**</em> +<a name="1099" href="#1099">1099</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with single field pattern with boolean argument.</em> +<a name="1100" href="#1100">1100</a> <em class="jxr_javadoccomment"> */</em> +<a name="1101" href="#1101">1101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbBoolean() { +<a name="1102" href="#1102">1102</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1103" href="#1103">1103</a> <strong class="jxr_keyword">boolean</strong> val = <strong class="jxr_keyword">true</strong>; +<a name="1104" href="#1104">1104</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, val); +<a name="1105" href="#1105">1105</a> assertEquals(<span class="jxr_string">"Iteration true"</span>, capture.getMessage()); +<a name="1106" href="#1106">1106</a> } +<a name="1107" href="#1107">1107</a> +<a name="1108" href="#1108">1108</a> <em class="jxr_javadoccomment">/**</em> +<a name="1109" href="#1109">1109</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with single field pattern with float argument.</em> +<a name="1110" href="#1110">1110</a> <em class="jxr_javadoccomment"> */</em> +<a name="1111" href="#1111">1111</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbFloat() { +<a name="1112" href="#1112">1112</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1113" href="#1113">1113</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, +<a name="1114" href="#1114">1114</a> <span class="jxr_string">"Iteration0"</span>, (<strong class="jxr_keyword">float</strong>) Math.PI); +<a name="1115" href="#1115">1115</a> +<a name="1116" href="#1116">1116</a> String expected = <span class="jxr_string">"Iteration "</span> + String.valueOf(<strong class="jxr_keyword">new</strong> Float(Math.PI)); +<a name="1117" href="#1117">1117</a> assertEquals(expected, capture.getMessage()); +<a name="1118" href="#1118">1118</a> } +<a name="1119" href="#1119">1119</a> +<a name="1120" href="#1120">1120</a> <em class="jxr_javadoccomment">/**</em> +<a name="1121" href="#1121">1121</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with single field pattern with double argument.</em> +<a name="1122" href="#1122">1122</a> <em class="jxr_javadoccomment"> */</em> +<a name="1123" href="#1123">1123</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbDouble() { +<a name="1124" href="#1124">1124</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1125" href="#1125">1125</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="jxr_string">"Iteration0"</span>, Math.PI); +<a name="1126" href="#1126">1126</a> +<a name="1127" href="#1127">1127</a> String expected = <span class="jxr_string">"Iteration "</span> + String.valueOf(<strong class="jxr_keyword">new</strong> Double(Math.PI)); +<a name="1128" href="#1128">1128</a> assertEquals(expected, capture.getMessage()); +<a name="1129" href="#1129">1129</a> } +<a name="1130" href="#1130">1130</a> +<a name="1131" href="#1131">1131</a> <em class="jxr_javadoccomment">/**</em> +<a name="1132" href="#1132">1132</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with two arguments.</em> +<a name="1133" href="#1133">1133</a> <em class="jxr_javadoccomment"> */</em> +<a name="1134" href="#1134">1134</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbTwoArg() { +<a name="1135" href="#1135">1135</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1136" href="#1136">1136</a> LogSF.logrb(logger, Level.ERROR, +<a name="1137" href="#1137">1137</a> BUNDLE_NAME, <span class="jxr_string">"Hello4"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">"World"</span>); +<a name="1138" href="#1138">1138</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1139" href="#1139">1139</a> } +<a name="1140" href="#1140">1140</a> +<a name="1141" href="#1141">1141</a> <em class="jxr_javadoccomment">/**</em> +<a name="1142" href="#1142">1142</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with three arguments.</em> +<a name="1143" href="#1143">1143</a> <em class="jxr_javadoccomment"> */</em> +<a name="1144" href="#1144">1144</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbThreeArg() { +<a name="1145" href="#1145">1145</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1146" href="#1146">1146</a> LogSF.logrb(logger, Level.ERROR, +<a name="1147" href="#1147">1147</a> BUNDLE_NAME, <span class="jxr_string">"Hello5"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>); +<a name="1148" href="#1148">1148</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1149" href="#1149">1149</a> } +<a name="1150" href="#1150">1150</a> +<a name="1151" href="#1151">1151</a> <em class="jxr_javadoccomment">/**</em> +<a name="1152" href="#1152">1152</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with four arguments.</em> +<a name="1153" href="#1153">1153</a> <em class="jxr_javadoccomment"> */</em> +<a name="1154" href="#1154">1154</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbFourArg() { +<a name="1155" href="#1155">1155</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1156" href="#1156">1156</a> LogSF.logrb(logger, Level.ERROR, +<a name="1157" href="#1157">1157</a> BUNDLE_NAME, <span class="jxr_string">"Hello6"</span>, <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span>); +<a name="1158" href="#1158">1158</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1159" href="#1159">1159</a> } +<a name="1160" href="#1160">1160</a> +<a name="1161" href="#1161">1161</a> <em class="jxr_javadoccomment">/**</em> +<a name="1162" href="#1162">1162</a> <em class="jxr_javadoccomment"> * Test LogSF.logrb with Object[] argument.</em> +<a name="1163" href="#1163">1163</a> <em class="jxr_javadoccomment"> */</em> +<a name="1164" href="#1164">1164</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLogrbArrayArg() { +<a name="1165" href="#1165">1165</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1166" href="#1166">1166</a> Object[] args = <strong class="jxr_keyword">new</strong> Object[] { <span class="jxr_string">"Hello"</span>, <span class="jxr_string">","</span>, <span class="jxr_string">"World"</span>, <span class="jxr_string">"."</span> }; +<a name="1167" href="#1167">1167</a> LogSF.logrb(logger, Level.ERROR, +<a name="1168" href="#1168">1168</a> BUNDLE_NAME, <span class="jxr_string">"Hello6"</span>, args); +<a name="1169" href="#1169">1169</a> assertEquals(<span class="jxr_string">"Hello, World."</span>, capture.getMessage()); +<a name="1170" href="#1170">1170</a> } +<a name="1171" href="#1171">1171</a> +<a name="1172" href="#1172">1172</a> <em class="jxr_javadoccomment">/**</em> +<a name="1173" href="#1173">1173</a> <em class="jxr_javadoccomment"> * Test &#92;&#92;{ escape sequence when only one parameter is present.</em> +<a name="1174" href="#1174">1174</a> <em class="jxr_javadoccomment"> *</em> +<a name="1175" href="#1175">1175</a> <em class="jxr_javadoccomment"> */</em> +<a name="1176" href="#1176">1176</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEscapeOneParam() { +<a name="1177" href="#1177">1177</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1178" href="#1178">1178</a> LogSF.info(logger, <span class="jxr_string">"&#92;&#92;{}&#92;&#92;{{}}, World}&#92;&#92;{"</span>,<span class="jxr_string">"Hello"</span>); +<a name="1179" href="#1179">1179</a> assertEquals(<span class="jxr_string">"{}{Hello}, World}{"</span>, capture.getMessage()); +<a name="1180" href="#1180">1180</a> } +<a name="1181" href="#1181">1181</a> +<a name="1182" href="#1182">1182</a> <em class="jxr_javadoccomment">/**</em> +<a name="1183" href="#1183">1183</a> <em class="jxr_javadoccomment"> * Test &#92;&#92;{ escape sequence when more than one parameter is present.</em> +<a name="1184" href="#1184">1184</a> <em class="jxr_javadoccomment"> *</em> +<a name="1185" href="#1185">1185</a> <em class="jxr_javadoccomment"> */</em> +<a name="1186" href="#1186">1186</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEscapeTwoParam() { +<a name="1187" href="#1187">1187</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1188" href="#1188">1188</a> LogSF.info(logger, <span class="jxr_string">"&#92;&#92;{}&#92;&#92;{{}}, {}}{}&#92;&#92;{"</span>,<span class="jxr_string">"Hello"</span>, <span class="jxr_string">"World"</span>); +<a name="1189" href="#1189">1189</a> assertEquals(<span class="jxr_string">"{}{Hello}, World}{}{"</span>, capture.getMessage()); +<a name="1190" href="#1190">1190</a> } +<a name="1191" href="#1191">1191</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogXF.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogXF.html new file mode 100644 index 00000000000..9221a94ccc9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/TestLogXF.html @@ -0,0 +1,218 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TestLogXF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * Unit test for LogXF.</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> */</em> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/TestLogXF.html">TestLogXF</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Logger.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Logger logger = Logger.getLogger( +<a name="30" href="#30">30</a> <span class="jxr_string">"org.apache.log4j.formatter.TestLogXF"</span>); +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * Create the test case</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> *</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @param testName name of the test case</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/TestLogXF.html">TestLogXF</a>(String testName) { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * Post test clean up.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="46" href="#46">46</a> LogManager.resetConfiguration(); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/TestLogXF.html">BadStringifier</a> { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/TestLogXF.html">BadStringifier</a>() {} +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../org/apache/log4j/TestLogXF.html">BadStringifier</a> INSTANCE = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/TestLogXF.html">BadStringifier</a>(); +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * Test LogXF.entering with null class and method.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEnteringNullNull() { +<a name="62" href="#62">62</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="63" href="#63">63</a> logger.setLevel(Level.DEBUG); +<a name="64" href="#64">64</a> LogXF.entering(logger, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="65" href="#65">65</a> assertEquals(<span class="jxr_string">"null.null ENTRY"</span>, capture.getMessage()); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * Test LogXF.entering with null class, method and parameter.</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEnteringNullNullNull() { +<a name="73" href="#73">73</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="74" href="#74">74</a> logger.setLevel(Level.DEBUG); +<a name="75" href="#75">75</a> LogXF.entering(logger, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, (String) <strong class="jxr_keyword">null</strong>); +<a name="76" href="#76">76</a> assertEquals(<span class="jxr_string">"null.null ENTRY null"</span>, capture.getMessage()); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * Test LogXF.entering with null class, method and parameters.</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> */</em> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEnteringNullNullNullArray() { +<a name="83" href="#83">83</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="84" href="#84">84</a> logger.setLevel(Level.DEBUG); +<a name="85" href="#85">85</a> LogXF.entering(logger, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, (Object[]) <strong class="jxr_keyword">null</strong>); +<a name="86" href="#86">86</a> assertEquals(<span class="jxr_string">"null.null ENTRY {}"</span>, capture.getMessage()); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * Test LogXF.entering with class and method.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> */</em> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEntering() { +<a name="93" href="#93">93</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="94" href="#94">94</a> logger.setLevel(Level.DEBUG); +<a name="95" href="#95">95</a> LogXF.entering(logger, <span class="jxr_string">"SomeClass"</span>, <span class="jxr_string">"someMethod"</span>); +<a name="96" href="#96">96</a> assertEquals(<span class="jxr_string">"SomeClass.someMethod ENTRY"</span>, capture.getMessage()); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * Test LogXF.entering with class, method and parameter.</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEnteringWithParam() { +<a name="103" href="#103">103</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="104" href="#104">104</a> logger.setLevel(Level.DEBUG); +<a name="105" href="#105">105</a> LogXF.entering(logger, <span class="jxr_string">"SomeClass"</span>, <span class="jxr_string">"someMethod"</span>, <span class="jxr_string">"someParam"</span>); +<a name="106" href="#106">106</a> assertEquals(<span class="jxr_string">"SomeClass.someMethod ENTRY someParam"</span>, capture.getMessage()); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">/**</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> * Test LogXF.entering with class, method and bad parameter.</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEnteringWithBadParam() { +<a name="113" href="#113">113</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="114" href="#114">114</a> logger.setLevel(Level.DEBUG); +<a name="115" href="#115">115</a> LogXF.entering(logger, <span class="jxr_string">"SomeClass"</span>, <span class="jxr_string">"someMethod"</span>, BadStringifier.INSTANCE); +<a name="116" href="#116">116</a> assertEquals(<span class="jxr_string">"SomeClass.someMethod ENTRY ?"</span>, capture.getMessage()); +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">/**</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> * Test LogXF.entering with class, method and bad parameters.</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEnteringWithBadParams() { +<a name="123" href="#123">123</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="124" href="#124">124</a> logger.setLevel(Level.DEBUG); +<a name="125" href="#125">125</a> LogXF.entering(logger, <span class="jxr_string">"SomeClass"</span>, <span class="jxr_string">"someMethod"</span>, <strong class="jxr_keyword">new</strong> Object[]{<span class="jxr_string">"param1"</span>,BadStringifier.INSTANCE}); +<a name="126" href="#126">126</a> assertEquals(<span class="jxr_string">"SomeClass.someMethod ENTRY {param1,?}"</span>, capture.getMessage()); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">/**</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> * Test LogXF.exiting with null class and method.</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> */</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testExitingNullNull() { +<a name="134" href="#134">134</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="135" href="#135">135</a> logger.setLevel(Level.DEBUG); +<a name="136" href="#136">136</a> LogXF.exiting(logger, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="137" href="#137">137</a> assertEquals(<span class="jxr_string">"null.null RETURN"</span>, capture.getMessage()); +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">/**</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> * Test LogXF.exiting with null class, method and parameter.</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> */</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testExitingNullNullNull() { +<a name="145" href="#145">145</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="146" href="#146">146</a> logger.setLevel(Level.DEBUG); +<a name="147" href="#147">147</a> LogXF.exiting(logger, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, (String) <strong class="jxr_keyword">null</strong>); +<a name="148" href="#148">148</a> assertEquals(<span class="jxr_string">"null.null RETURN null"</span>, capture.getMessage()); +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">/**</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> * Test LogXF.exiting with class and method.</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> */</em> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testExiting() { +<a name="156" href="#156">156</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="157" href="#157">157</a> logger.setLevel(Level.DEBUG); +<a name="158" href="#158">158</a> LogXF.exiting(logger, <span class="jxr_string">"SomeClass"</span>, <span class="jxr_string">"someMethod"</span>); +<a name="159" href="#159">159</a> assertEquals(<span class="jxr_string">"SomeClass.someMethod RETURN"</span>, capture.getMessage()); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">/**</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * Test LogXF.exiting with class, method and return value.</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testExitingWithValue() { +<a name="166" href="#166">166</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="167" href="#167">167</a> logger.setLevel(Level.DEBUG); +<a name="168" href="#168">168</a> LogXF.exiting(logger, <span class="jxr_string">"SomeClass"</span>, <span class="jxr_string">"someMethod"</span>, <span class="jxr_string">"someValue"</span>); +<a name="169" href="#169">169</a> assertEquals(<span class="jxr_string">"SomeClass.someMethod RETURN someValue"</span>, capture.getMessage()); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">/**</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> * Test LogXF.exiting with class, method and bad return value.</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> */</em> +<a name="175" href="#175">175</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testExitingWithBadValue() { +<a name="176" href="#176">176</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="177" href="#177">177</a> logger.setLevel(Level.DEBUG); +<a name="178" href="#178">178</a> LogXF.exiting(logger, <span class="jxr_string">"SomeClass"</span>, <span class="jxr_string">"someMethod"</span>, BadStringifier.INSTANCE); +<a name="179" href="#179">179</a> assertEquals(<span class="jxr_string">"SomeClass.someMethod RETURN ?"</span>, capture.getMessage()); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">/**</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> * Test LogXF.throwing with null class, method and throwable.</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> */</em> +<a name="186" href="#186">186</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testThrowingNullNullNull() { +<a name="187" href="#187">187</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="188" href="#188">188</a> logger.setLevel(Level.DEBUG); +<a name="189" href="#189">189</a> LogXF.throwing(logger, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="190" href="#190">190</a> assertEquals(<span class="jxr_string">"null.null THROW"</span>, capture.getMessage()); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">/**</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> * Test LogXF.exiting with class and method.</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> */</em> +<a name="197" href="#197">197</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testThrowing() { +<a name="198" href="#198">198</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="199" href="#199">199</a> logger.setLevel(Level.DEBUG); +<a name="200" href="#200">200</a> LogXF.throwing(logger, <span class="jxr_string">"SomeClass"</span>, <span class="jxr_string">"someMethod"</span>, <strong class="jxr_keyword">new</strong> IllegalArgumentException()); +<a name="201" href="#201">201</a> assertEquals(<span class="jxr_string">"SomeClass.someMethod THROW"</span>, capture.getMessage()); +<a name="202" href="#202">202</a> } +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/VectorAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/VectorAppender.html new file mode 100644 index 00000000000..a4f533dddbd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/VectorAppender.html @@ -0,0 +1,89 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>VectorAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> An appender that appends logging events to a vector.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">*/</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> <strong class="jxr_keyword">extends</strong> AppenderSkeleton { +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> Vector vector; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>() { +<a name="32" href="#32">32</a> vector = <strong class="jxr_keyword">new</strong> Vector(); +<a name="33" href="#33">33</a> } +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> Does nothing.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> This method is called by the {@link AppenderSkeleton#doAppend}</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> method.</em> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(LoggingEvent event) { +<a name="48" href="#48">48</a> <em class="jxr_comment">//System.out.println("---Vector appender called with message ["+event.getRenderedMessage()+"].");</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//System.out.flush();</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">try</strong> { +<a name="51" href="#51">51</a> Thread.sleep(100); +<a name="52" href="#52">52</a> } <strong class="jxr_keyword">catch</strong>(Exception e) { +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> vector.addElement(event); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> Vector getVector() { +<a name="58" href="#58">58</a> <strong class="jxr_keyword">return</strong> vector; +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="62" href="#62">62</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.closed) +<a name="63" href="#63">63</a> <strong class="jxr_keyword">return</strong>; +<a name="64" href="#64">64</a> <strong class="jxr_keyword">this</strong>.closed = <strong class="jxr_keyword">true</strong>; +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isClosed() { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">return</strong> closed; +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">return</strong> false; +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/VectorErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/VectorErrorHandler.html new file mode 100644 index 00000000000..4a3ecf1f79b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/VectorErrorHandler.html @@ -0,0 +1,196 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>VectorErrorHandler xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Utility class used in testing to capture errors dispatched</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * by appenders.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> *</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/VectorErrorHandler.html">VectorErrorHandler</a> implements ErrorHandler { +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * Logger.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">private</strong> Logger logger; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Appender.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">private</strong> Appender appender; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * Backup appender.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">private</strong> Appender backupAppender; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment">/**</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * Array of processed errors.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> */</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Vector errors = <strong class="jxr_keyword">new</strong> Vector(); +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * Default constructor.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/VectorErrorHandler.html">VectorErrorHandler</a>() { +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLogger(<strong class="jxr_keyword">final</strong> Logger logger) { +<a name="63" href="#63">63</a> <strong class="jxr_keyword">this</strong>.logger = logger; +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * Gets last logger specified by setLogger.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * @return logger.</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> */</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">public</strong> Logger getLogger() { +<a name="71" href="#71">71</a> <strong class="jxr_keyword">return</strong> logger; +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment">/**</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> */</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment">/**</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> */</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error( +<a name="84" href="#84">84</a> <strong class="jxr_keyword">final</strong> String message, <strong class="jxr_keyword">final</strong> Exception e, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> errorCode) { +<a name="85" href="#85">85</a> error(message, e, errorCode, <strong class="jxr_keyword">null</strong>); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment">/**</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> */</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<strong class="jxr_keyword">final</strong> String message) { +<a name="92" href="#92">92</a> error(message, <strong class="jxr_keyword">null</strong>, -1, <strong class="jxr_keyword">null</strong>); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment">/**</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> */</em> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error( +<a name="99" href="#99">99</a> <strong class="jxr_keyword">final</strong> String message, <strong class="jxr_keyword">final</strong> Exception e, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> errorCode, +<a name="100" href="#100">100</a> <strong class="jxr_keyword">final</strong> LoggingEvent event) { +<a name="101" href="#101">101</a> errors.addElement( +<a name="102" href="#102">102</a> <strong class="jxr_keyword">new</strong> Object[] { message, e, <strong class="jxr_keyword">new</strong> Integer(errorCode), event }); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * Gets message from specified error.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> *</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * @param index index.</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> * @return message, may be null.</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> */</em> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">public</strong> String getMessage(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> index) { +<a name="112" href="#112">112</a> <strong class="jxr_keyword">return</strong> (String) ((Object[]) errors.elementAt(index))[0]; +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> * Gets exception from specified error.</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> *</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> * @param index index.</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> * @return exception.</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> */</em> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">public</strong> Exception getException(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> index) { +<a name="122" href="#122">122</a> <strong class="jxr_keyword">return</strong> (Exception) ((Object[]) errors.elementAt(index))[1]; +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">/**</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> * Gets error code from specified error.</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> *</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * @param index index.</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> * @return error code, -1 if not specified.</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> */</em> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getErrorCode(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> index) { +<a name="132" href="#132">132</a> <strong class="jxr_keyword">return</strong> ((Integer) ((Object[]) errors.elementAt(index))[2]).intValue(); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">/**</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> * Gets logging event from specified error.</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> *</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> * @param index index.</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> * @return exception.</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> */</em> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">public</strong> LoggingEvent getEvent(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> index) { +<a name="142" href="#142">142</a> <strong class="jxr_keyword">return</strong> (LoggingEvent) ((Object[]) errors.elementAt(index))[3]; +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">/**</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> * Gets number of errors captured.</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> * @return number of errors captured.</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> */</em> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> size() { +<a name="150" href="#150">150</a> <strong class="jxr_keyword">return</strong> errors.size(); +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">/**</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> */</em> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAppender(<strong class="jxr_keyword">final</strong> Appender appender) { +<a name="157" href="#157">157</a> <strong class="jxr_keyword">this</strong>.appender = appender; +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">/**</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> * Get appender.</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * @return appender, may be null.</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> */</em> +<a name="164" href="#164">164</a> <strong class="jxr_keyword">public</strong> Appender getAppender() { +<a name="165" href="#165">165</a> <strong class="jxr_keyword">return</strong> appender; +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">/**</em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> */</em> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setBackupAppender(<strong class="jxr_keyword">final</strong> Appender appender) { +<a name="172" href="#172">172</a> <strong class="jxr_keyword">this</strong>.backupAppender = appender; +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">/**</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> * Get backup appender.</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> * @return backup appender, may be null.</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> */</em> +<a name="179" href="#179">179</a> <strong class="jxr_keyword">public</strong> Appender getBackupAppender() { +<a name="180" href="#180">180</a> <strong class="jxr_keyword">return</strong> backupAppender; +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/XLogger.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/XLogger.html new file mode 100644 index 00000000000..19f89f60a5a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/XLogger.html @@ -0,0 +1,165 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>XLogger xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.customLogger; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.*; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerFactory; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.XLevel; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> A simple example showing Logger sub-classing. It shows the</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> minimum steps necessary to implement one's {@link LoggerFactory}.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> Note that sub-classes follow the hierarchy even if its loggers</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> belong to different classes.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/customLogger/XLogger.html">XLogger</a> <strong class="jxr_keyword">extends</strong> Logger implements OptionHandler { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_comment">// It's usually a good idea to add a dot suffix to the fully</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">// qualified class name. This makes caller localization to work</em> +<a name="36" href="#36">36</a> <em class="jxr_comment">// properly even from classes that have almost the same fully</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">// qualified class name as XLogger, such as XLogegoryTest.</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String FQCN = XLogger.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">"."</span>; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">// It's enough to instantiate a factory once and for all.</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/customLogger/XLogger.html">XFactory</a> factory = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/customLogger/XLogger.html">XFactory</a>(); +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> String suffix = <span class="jxr_string">""</span>; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> Just calls the parent constuctor.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/customLogger/XLogger.html">XLogger</a>(String name) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">super</strong>(name); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> Nothing to activate.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> Overrides the standard debug method by appending the value of</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> suffix variable to each message. </em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">public</strong> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">void</strong> debug(String message) { +<a name="65" href="#65">65</a> <strong class="jxr_keyword">super</strong>.log(FQCN, Level.DEBUG, message + <span class="jxr_string">" "</span> + suffix, <strong class="jxr_keyword">null</strong>); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> We introduce a new printing method in order to support {@link</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> XLevel#LETHAL}. */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">void</strong> lethal(String message, Throwable t) { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(XLevel.LETHAL_INT)) +<a name="74" href="#74">74</a> <strong class="jxr_keyword">return</strong>; +<a name="75" href="#75">75</a> <strong class="jxr_keyword">if</strong>(XLevel.LETHAL.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="76" href="#76">76</a> forcedLog(FQCN, XLevel.LETHAL, message, t); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> We introduce a new printing method in order to support {@link</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> XLevel#LETHAL}. */</em> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">public</strong> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">void</strong> lethal(String message) { +<a name="84" href="#84">84</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(XLevel.LETHAL_INT)) +<a name="85" href="#85">85</a> <strong class="jxr_keyword">return</strong>; +<a name="86" href="#86">86</a> <strong class="jxr_keyword">if</strong>(XLevel.LETHAL.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="87" href="#87">87</a> forcedLog(FQCN, XLevel.LETHAL, message, <strong class="jxr_keyword">null</strong>); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">static</strong> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> +<a name="92" href="#92">92</a> Logger getLogger(String name) { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">return</strong> LogManager.getLogger(name, factory); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">static</strong> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">public</strong> +<a name="98" href="#98">98</a> Logger getLogger(Class clazz) { +<a name="99" href="#99">99</a> <strong class="jxr_keyword">return</strong> XLogger.getLogger(clazz.getName()); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">public</strong> +<a name="104" href="#104">104</a> String getSuffix() { +<a name="105" href="#105">105</a> <strong class="jxr_keyword">return</strong> suffix; +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">void</strong> setSuffix(String suffix) { +<a name="110" href="#110">110</a> <strong class="jxr_keyword">this</strong>.suffix = suffix; +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">/**</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> We introduce a new printing method that takes the TRACE level.</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> */</em> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">public</strong> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">void</strong> trace(String message, Throwable t) { +<a name="118" href="#118">118</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(XLevel.TRACE_INT)) +<a name="119" href="#119">119</a> <strong class="jxr_keyword">return</strong>; +<a name="120" href="#120">120</a> <strong class="jxr_keyword">if</strong>(XLevel.TRACE.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="121" href="#121">121</a> forcedLog(FQCN, XLevel.TRACE, message, t); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> We introduce a new printing method that takes the TRACE level.</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> */</em> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">public</strong> +<a name="128" href="#128">128</a> <strong class="jxr_keyword">void</strong> trace(String message) { +<a name="129" href="#129">129</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(XLevel.TRACE_INT)) +<a name="130" href="#130">130</a> <strong class="jxr_keyword">return</strong>; +<a name="131" href="#131">131</a> <strong class="jxr_keyword">if</strong>(XLevel.TRACE.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="132" href="#132">132</a> forcedLog(FQCN, XLevel.TRACE, message, <strong class="jxr_keyword">null</strong>); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em class="jxr_comment">// Any sub-class of Logger must also have its own implementation of </em> +<a name="138" href="#138">138</a> <em class="jxr_comment">// CategoryFactory.</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/customLogger/XLogger.html">XFactory</a> implements LoggerFactory { +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/customLogger/XLogger.html">XFactory</a>() { +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> +<a name="145" href="#145">145</a> Logger makeNewLoggerInstance(String name) { +<a name="146" href="#146">146</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/customLogger/XLogger.html">XLogger</a>(name); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/XLoggerTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/XLoggerTestCase.html new file mode 100644 index 00000000000..8d2f88bdb4e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/XLoggerTestCase.html @@ -0,0 +1,91 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>XLoggerTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.customLogger; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.DOMConfigurator; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.*; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> Tests handling of custom loggers.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> </em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">*/</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/customLogger/XLoggerTestCase.html">XLoggerTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">static</strong> String FILTERED = <span class="jxr_string">"output/filtered"</span>; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/customLogger/XLogger.html">XLogger</a> logger = (XLogger) XLogger.getLogger(XLoggerTestCase.<strong class="jxr_keyword">class</strong>); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/customLogger/XLoggerTestCase.html">XLoggerTestCase</a>(String name){ +<a name="38" href="#38">38</a> <strong class="jxr_keyword">super</strong>(name); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="42" href="#42">42</a> logger.getLoggerRepository().resetConfiguration(); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() <strong class="jxr_keyword">throws</strong> Exception { common(1); } +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() <strong class="jxr_keyword">throws</strong> Exception { common(2); } +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">void</strong> common(<strong class="jxr_keyword">int</strong> number) <strong class="jxr_keyword">throws</strong> Exception { +<a name="49" href="#49">49</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/customLogger"</span>+number+<span class="jxr_string">".xml"</span>); +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">int</strong> i = -1; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> logger.trace(<span class="jxr_string">"Message "</span> + ++i); +<a name="54" href="#54">54</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i); +<a name="55" href="#55">55</a> logger.warn (<span class="jxr_string">"Message "</span> + ++i); +<a name="56" href="#56">56</a> logger.error(<span class="jxr_string">"Message "</span> + ++i); +<a name="57" href="#57">57</a> logger.fatal(<span class="jxr_string">"Message "</span> + ++i); +<a name="58" href="#58">58</a> Exception e = <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Just testing"</span>); +<a name="59" href="#59">59</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> Transformer.transform( +<a name="62" href="#62">62</a> <span class="jxr_string">"output/temp"</span>, FILTERED, +<a name="63" href="#63">63</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="64" href="#64">64</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="65" href="#65">65</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="66" href="#66">66</a> }); +<a name="67" href="#67">67</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/customLogger."</span>+number)); +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="72" href="#72">72</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="73" href="#73">73</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/customLogger/XLoggerTestCase.html">XLoggerTestCase</a>(<span class="jxr_string">"test1"</span>)); +<a name="74" href="#74">74</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/customLogger/XLoggerTestCase.html">XLoggerTestCase</a>(<span class="jxr_string">"test2"</span>)); +<a name="75" href="#75">75</a> <strong class="jxr_keyword">return</strong> suite; +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/package-frame.html similarity index 57% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter/package-frame.html rename to thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/package-frame.html index 9f1ca14177a..70342591faf 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter/package-frame.html +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/package-frame.html @@ -1,27 +1,30 @@ - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> -<html xml:lang="en" lang="en"> - <head> - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.filter</title> - <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> - </head> - <body> - - <h3> - <a href="package-summary.html" target="classFrame">org.apache.log4j.filter</a> - </h3> - - <h3>Classes</h3> - - <ul> - <li> - <a href="SimpleFilterTest.html" target="classFrame">SimpleFilterTest</a> - </li> - <li> - <a href="TimeFilterTest.html" target="classFrame">TimeFilterTest</a> - </li> - </ul> - - </body> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.customLogger</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.customLogger</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="XLogger.html" target="classFrame">XFactory</a> + </li> + <li> + <a href="XLogger.html" target="classFrame">XLogger</a> + </li> + <li> + <a href="XLoggerTestCase.html" target="classFrame">XLoggerTestCase</a> + </li> + </ul> + + </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/package-summary.html new file mode 100644 index 00000000000..ce38cfc36eb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/customLogger/package-summary.html @@ -0,0 +1,77 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.customLogger</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.customLogger</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="XLogger.html" target="classFrame">XFactory</a> + </td> + </tr> + <tr> + <td> + <a href="XLogger.html" target="classFrame">XLogger</a> + </td> + </tr> + <tr> + <td> + <a href="XLoggerTestCase.html" target="classFrame">XLoggerTestCase</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase1.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase1.html new file mode 100644 index 00000000000..b7dc5a86366 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase1.html @@ -0,0 +1,66 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TestCase1 xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.defaultInit; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> TestCase1 <strong class="jxr_keyword">extends</strong> TestCase { +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> TestCase1(String name) { +<a name="29" href="#29">29</a> <strong class="jxr_keyword">super</strong>(name); +<a name="30" href="#30">30</a> } +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="33" href="#33">33</a> } +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="36" href="#36">36</a> LogManager.shutdown(); +<a name="37" href="#37">37</a> } +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> noneTest() { +<a name="40" href="#40">40</a> Logger root = Logger.getRootLogger(); +<a name="41" href="#41">41</a> <strong class="jxr_keyword">boolean</strong> rootIsConfigured = root.getAllAppenders().hasMoreElements(); +<a name="42" href="#42">42</a> assertTrue(!rootIsConfigured); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="46" href="#46">46</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="47" href="#47">47</a> suite.addTest(<strong class="jxr_keyword">new</strong> TestCase1(<span class="jxr_string">"noneTest"</span>)); +<a name="48" href="#48">48</a> <strong class="jxr_keyword">return</strong> suite; +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase2.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase2.html new file mode 100644 index 00000000000..8310795e6e7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase2.html @@ -0,0 +1,71 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TestCase2 xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.defaultInit; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> TestCase2 <strong class="jxr_keyword">extends</strong> TestCase { +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> TestCase2(String name) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">super</strong>(name); +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="38" href="#38">38</a> LogManager.shutdown(); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> xmlTest() { +<a name="42" href="#42">42</a> Logger root = Logger.getRootLogger(); +<a name="43" href="#43">43</a> <strong class="jxr_keyword">boolean</strong> rootIsConfigured = root.getAllAppenders().hasMoreElements(); +<a name="44" href="#44">44</a> assertTrue(rootIsConfigured); +<a name="45" href="#45">45</a> Enumeration e = root.getAllAppenders(); +<a name="46" href="#46">46</a> Appender appender = (Appender) e.nextElement(); +<a name="47" href="#47">47</a> assertEquals(appender.getName(), <span class="jxr_string">"D1"</span>); +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="51" href="#51">51</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="52" href="#52">52</a> suite.addTest(<strong class="jxr_keyword">new</strong> TestCase2(<span class="jxr_string">"xmlTest"</span>)); +<a name="53" href="#53">53</a> <strong class="jxr_keyword">return</strong> suite; +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase3.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase3.html new file mode 100644 index 00000000000..27840c5c7a1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase3.html @@ -0,0 +1,71 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TestCase3 xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.defaultInit; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> TestCase3 <strong class="jxr_keyword">extends</strong> TestCase { +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> TestCase3(String name) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">super</strong>(name); +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="38" href="#38">38</a> LogManager.shutdown(); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> propertiesTest() { +<a name="42" href="#42">42</a> Logger root = Logger.getRootLogger(); +<a name="43" href="#43">43</a> <strong class="jxr_keyword">boolean</strong> rootIsConfigured = root.getAllAppenders().hasMoreElements(); +<a name="44" href="#44">44</a> assertTrue(rootIsConfigured); +<a name="45" href="#45">45</a> Enumeration e = root.getAllAppenders(); +<a name="46" href="#46">46</a> Appender appender = (Appender) e.nextElement(); +<a name="47" href="#47">47</a> assertEquals(appender.getName(), <span class="jxr_string">"D3"</span>); +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="51" href="#51">51</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="52" href="#52">52</a> suite.addTest(<strong class="jxr_keyword">new</strong> TestCase3(<span class="jxr_string">"propertiesTest"</span>)); +<a name="53" href="#53">53</a> <strong class="jxr_keyword">return</strong> suite; +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase4.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase4.html new file mode 100644 index 00000000000..b41b6ae19f3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/TestCase4.html @@ -0,0 +1,72 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TestCase4 xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.defaultInit; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> TestCase4 <strong class="jxr_keyword">extends</strong> TestCase { +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> TestCase4(String name) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">super</strong>(name); +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="38" href="#38">38</a> LogManager.shutdown(); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> combinedTest() { +<a name="42" href="#42">42</a> Logger root = Logger.getRootLogger(); +<a name="43" href="#43">43</a> <strong class="jxr_keyword">boolean</strong> rootIsConfigured = root.getAllAppenders().hasMoreElements(); +<a name="44" href="#44">44</a> assertTrue(rootIsConfigured); +<a name="45" href="#45">45</a> Enumeration e = root.getAllAppenders(); +<a name="46" href="#46">46</a> Appender appender = (Appender) e.nextElement(); +<a name="47" href="#47">47</a> assertEquals(appender.getName(), <span class="jxr_string">"D1"</span>); +<a name="48" href="#48">48</a> assertEquals(e.hasMoreElements(), false); +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="52" href="#52">52</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="53" href="#53">53</a> suite.addTest(<strong class="jxr_keyword">new</strong> TestCase4(<span class="jxr_string">"combinedTest"</span>)); +<a name="54" href="#54">54</a> <strong class="jxr_keyword">return</strong> suite; +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/package-frame.html new file mode 100644 index 00000000000..43663660f1c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/package-frame.html @@ -0,0 +1,33 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.defaultInit</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.defaultInit</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="TestCase1.html" target="classFrame">TestCase1</a> + </li> + <li> + <a href="TestCase2.html" target="classFrame">TestCase2</a> + </li> + <li> + <a href="TestCase3.html" target="classFrame">TestCase3</a> + </li> + <li> + <a href="TestCase4.html" target="classFrame">TestCase4</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/package-summary.html new file mode 100644 index 00000000000..4af26e346f2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/defaultInit/package-summary.html @@ -0,0 +1,82 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.defaultInit</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.defaultInit</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="TestCase1.html" target="classFrame">TestCase1</a> + </td> + </tr> + <tr> + <td> + <a href="TestCase2.html" target="classFrame">TestCase2</a> + </td> + </tr> + <tr> + <td> + <a href="TestCase3.html" target="classFrame">TestCase3</a> + </td> + </tr> + <tr> + <td> + <a href="TestCase4.html" target="classFrame">TestCase4</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/BoundedFIFOTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/BoundedFIFOTestCase.html new file mode 100644 index 00000000000..88efbeb4aaf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/BoundedFIFOTestCase.html @@ -0,0 +1,264 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>BoundedFIFOTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">//</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// Log4j uses the JUnit framework for internal unit testing. JUnit</em> +<a name="20" href="#20">20</a> <em class="jxr_comment">// available from</em> +<a name="21" href="#21">21</a> <em class="jxr_comment">//</em> +<a name="22" href="#22">22</a> <em class="jxr_comment">// http://www.junit.org</em> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> Unit test the {@link BoundedFIFO}.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> @since 0.9.1 */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/BoundedFIFOTestCase.html">BoundedFIFOTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="44" href="#44">44</a> <strong class="jxr_keyword">static</strong> Logger cat = Logger.getLogger(<span class="jxr_string">"x"</span>); +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> MAX = 1000; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">static</strong> LoggingEvent[] e = <strong class="jxr_keyword">new</strong> LoggingEvent[MAX]; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; MAX; i++) { +<a name="52" href="#52">52</a> e[i] = <strong class="jxr_keyword">new</strong> LoggingEvent(<span class="jxr_string">""</span>, cat, Level.DEBUG, <span class="jxr_string">"e"</span>+i, <strong class="jxr_keyword">null</strong>); +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/helpers/BoundedFIFOTestCase.html">BoundedFIFOTestCase</a>(String name) { +<a name="58" href="#58">58</a> <strong class="jxr_keyword">super</strong>(name); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">void</strong> setUp() { +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> Pattern: +++++..-----..</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">void</strong> test1() { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> size = 1; size &lt;= 128; size *=2) { +<a name="74" href="#74">74</a> BoundedFIFO bf = <strong class="jxr_keyword">new</strong> BoundedFIFO(size); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> assertEquals(bf.getMaxSize(), size); +<a name="77" href="#77">77</a> assertNull(bf.get()); +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">int</strong> i; +<a name="80" href="#80">80</a> <strong class="jxr_keyword">int</strong> j; +<a name="81" href="#81">81</a> <strong class="jxr_keyword">int</strong> k; +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">for</strong>(i = 1; i &lt; 2*size; i++) { +<a name="84" href="#84">84</a> <strong class="jxr_keyword">for</strong>(j = 0; j &lt; i; j++) { +<a name="85" href="#85">85</a> <em class="jxr_comment">//System.out.println("Putting "+e[j]);</em> +<a name="86" href="#86">86</a> bf.put(e[j]); assertEquals(bf.length(), j &lt; size ? j+1 : size); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> <strong class="jxr_keyword">int</strong> max = size &lt; j ? size : j; +<a name="89" href="#89">89</a> j--; +<a name="90" href="#90">90</a> <strong class="jxr_keyword">for</strong>(k = 0; k &lt;= j; k++) { +<a name="91" href="#91">91</a> <em class="jxr_comment">//System.out.println("max="+max+", j="+j+", k="+k);</em> +<a name="92" href="#92">92</a> assertEquals(bf.length(), max - k &gt; 0 ? max - k : 0); +<a name="93" href="#93">93</a> Object r = bf.get(); +<a name="94" href="#94">94</a> <em class="jxr_comment">//System.out.println("Got "+r);</em> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">if</strong>(k &gt;= size) +<a name="96" href="#96">96</a> assertNull(r); +<a name="97" href="#97">97</a> <strong class="jxr_keyword">else</strong> +<a name="98" href="#98">98</a> assertEquals(r, e[k]); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> <em class="jxr_comment">//System.out.println("Passed size="+size);</em> +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">/**</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> Pattern: ++++--++--++</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> */</em> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">public</strong> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">void</strong> test2() { +<a name="111" href="#111">111</a> <strong class="jxr_keyword">int</strong> size = 3; +<a name="112" href="#112">112</a> BoundedFIFO bf = <strong class="jxr_keyword">new</strong> BoundedFIFO(size); +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> bf.put(e[0]); +<a name="115" href="#115">115</a> assertEquals(bf.get(), e[0]); +<a name="116" href="#116">116</a> assertNull(bf.get()); +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> bf.put(e[1]); assertEquals(bf.length(), 1); +<a name="119" href="#119">119</a> bf.put(e[2]); assertEquals(bf.length(), 2); +<a name="120" href="#120">120</a> bf.put(e[3]); assertEquals(bf.length(), 3); +<a name="121" href="#121">121</a> assertEquals(bf.get(), e[1]); assertEquals(bf.length(), 2); +<a name="122" href="#122">122</a> assertEquals(bf.get(), e[2]); assertEquals(bf.length(), 1); +<a name="123" href="#123">123</a> assertEquals(bf.get(), e[3]); assertEquals(bf.length(), 0); +<a name="124" href="#124">124</a> assertNull(bf.get()); assertEquals(bf.length(), 0); +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">int</strong> min(<strong class="jxr_keyword">int</strong> a, <strong class="jxr_keyword">int</strong> b) { +<a name="128" href="#128">128</a> <strong class="jxr_keyword">return</strong> a &lt; b ? a : b; +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">/**</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> Pattern ++++++++++++++++++++ (insert only);</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> */</em> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">public</strong> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">void</strong> testResize1() { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">int</strong> size = 10; +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> n = 1; n &lt; size*2; n++) { +<a name="140" href="#140">140</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size*2; i++) { +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> BoundedFIFO bf = <strong class="jxr_keyword">new</strong> BoundedFIFO(size); +<a name="143" href="#143">143</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> f = 0; f &lt; i; f++) { +<a name="144" href="#144">144</a> bf.put(e[f]); +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> bf.resize(n); +<a name="148" href="#148">148</a> <strong class="jxr_keyword">int</strong> expectedSize = min(n, min(i, size)); +<a name="149" href="#149">149</a> assertEquals(bf.length(), expectedSize); +<a name="150" href="#150">150</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> c = 0; c &lt; expectedSize; c++) { +<a name="151" href="#151">151</a> assertEquals(bf.get(), e[c]); +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">/**</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> Pattern ++...+ --...-</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> */</em> +<a name="162" href="#162">162</a> <strong class="jxr_keyword">public</strong> +<a name="163" href="#163">163</a> <strong class="jxr_keyword">void</strong> testResize2() { +<a name="164" href="#164">164</a> <strong class="jxr_keyword">int</strong> size = 10; +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> n = 1; n &lt; size*2; n++) { +<a name="167" href="#167">167</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size*2; i++) { +<a name="168" href="#168">168</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> d = 0; d &lt; min(i,size); d++) { +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> BoundedFIFO bf = <strong class="jxr_keyword">new</strong> BoundedFIFO(size); +<a name="171" href="#171">171</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> p = 0; p &lt; i; p++) { +<a name="172" href="#172">172</a> bf.put(e[p]); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> g = 0; g &lt; d; g++) { +<a name="176" href="#176">176</a> bf.get(); +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> <em class="jxr_comment">// x = the number of elems in </em> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">int</strong> x = bf.length(); +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> bf.resize(n); +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">int</strong> expectedSize = min(n, x); +<a name="185" href="#185">185</a> assertEquals(bf.length(), expectedSize); +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> c = 0; c &lt; expectedSize; c++) { +<a name="188" href="#188">188</a> assertEquals(bf.get(), e[c+d]); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> assertNull(bf.get()); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">/**</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> Pattern: i inserts, d deletes, r inserts</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> */</em> +<a name="200" href="#200">200</a> <strong class="jxr_keyword">public</strong> +<a name="201" href="#201">201</a> <strong class="jxr_keyword">void</strong> testResize3() { +<a name="202" href="#202">202</a> <strong class="jxr_keyword">int</strong> size = 10; +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> n = 1; n &lt; size*2; n++) { +<a name="205" href="#205">205</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size; i++) { +<a name="206" href="#206">206</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> d = 0; d &lt; i; d++) { +<a name="207" href="#207">207</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> r = 0; r &lt; d; r++) { +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> BoundedFIFO bf = <strong class="jxr_keyword">new</strong> BoundedFIFO(size); +<a name="210" href="#210">210</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> p0 = 0; p0 &lt; i; p0++) +<a name="211" href="#211">211</a> bf.put(e[p0]); +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> g = 0; g &lt; d; g++) +<a name="214" href="#214">214</a> bf.get(); +<a name="215" href="#215">215</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> p1 = 0; p1 &lt; r; p1++) +<a name="216" href="#216">216</a> bf.put(e[i+p1]); +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> +<a name="219" href="#219">219</a> +<a name="220" href="#220">220</a> <strong class="jxr_keyword">int</strong> x = bf.length(); +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> bf.resize(n); +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <strong class="jxr_keyword">int</strong> expectedSize = min(n, x); +<a name="226" href="#226">226</a> assertEquals(bf.length(), expectedSize); +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> c = 0; c &lt; expectedSize; c++) { +<a name="229" href="#229">229</a> assertEquals(bf.get(), e[c+d]); +<a name="230" href="#230">230</a> } +<a name="231" href="#231">231</a> <em class="jxr_comment">//assertNull(bf.get());</em> +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> } +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <strong class="jxr_keyword">public</strong> +<a name="240" href="#240">240</a> <strong class="jxr_keyword">static</strong> +<a name="241" href="#241">241</a> Test suite() { +<a name="242" href="#242">242</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="243" href="#243">243</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/BoundedFIFOTestCase.html">BoundedFIFOTestCase</a>(<span class="jxr_string">"test1"</span>)); +<a name="244" href="#244">244</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/BoundedFIFOTestCase.html">BoundedFIFOTestCase</a>(<span class="jxr_string">"test2"</span>)); +<a name="245" href="#245">245</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/BoundedFIFOTestCase.html">BoundedFIFOTestCase</a>(<span class="jxr_string">"testResize1"</span>)); +<a name="246" href="#246">246</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/BoundedFIFOTestCase.html">BoundedFIFOTestCase</a>(<span class="jxr_string">"testResize2"</span>)); +<a name="247" href="#247">247</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/BoundedFIFOTestCase.html">BoundedFIFOTestCase</a>(<span class="jxr_string">"testResize3"</span>)); +<a name="248" href="#248">248</a> <strong class="jxr_keyword">return</strong> suite; +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/CyclicBufferTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/CyclicBufferTestCase.html new file mode 100644 index 00000000000..dafd6dc57a9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/CyclicBufferTestCase.html @@ -0,0 +1,181 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CyclicBufferTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">//</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// Log4j uses the JUnit framework for internal unit testing. JUnit</em> +<a name="20" href="#20">20</a> <em class="jxr_comment">// available from</em> +<a name="21" href="#21">21</a> <em class="jxr_comment">//</em> +<a name="22" href="#22">22</a> <em class="jxr_comment">// http://www.junit.org</em> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> Unit test the {@link CyclicBuffer}.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">*/</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBufferTestCase.html">CyclicBufferTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> Logger cat = Logger.getLogger(<span class="jxr_string">"x"</span>); +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> MAX = 1000; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">static</strong> LoggingEvent[] e = <strong class="jxr_keyword">new</strong> LoggingEvent[MAX]; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; MAX; i++) { +<a name="51" href="#51">51</a> e[i] = <strong class="jxr_keyword">new</strong> LoggingEvent(<span class="jxr_string">""</span>, cat, Level.DEBUG, <span class="jxr_string">"e"</span>+i, <strong class="jxr_keyword">null</strong>); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBufferTestCase.html">CyclicBufferTestCase</a>(String name) { +<a name="57" href="#57">57</a> <strong class="jxr_keyword">super</strong>(name); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">void</strong> setUp() { +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">void</strong> test0() { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">int</strong> size = 2; +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> CyclicBuffer cb = <strong class="jxr_keyword">new</strong> CyclicBuffer(size); +<a name="72" href="#72">72</a> assertEquals(cb.getMaxSize(), size); +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> cb.add(e[0]); +<a name="75" href="#75">75</a> assertEquals(cb.length(), 1); +<a name="76" href="#76">76</a> assertEquals(cb.get(), e[0]); assertEquals(cb.length(), 0); +<a name="77" href="#77">77</a> assertNull(cb.get()); assertEquals(cb.length(), 0); +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> cb = <strong class="jxr_keyword">new</strong> CyclicBuffer(size); +<a name="81" href="#81">81</a> cb.add(e[0]); +<a name="82" href="#82">82</a> cb.add(e[1]); +<a name="83" href="#83">83</a> assertEquals(cb.length(), 2); +<a name="84" href="#84">84</a> assertEquals(cb.get(), e[0]); assertEquals(cb.length(), 1); +<a name="85" href="#85">85</a> assertEquals(cb.get(), e[1]); assertEquals(cb.length(), 0); +<a name="86" href="#86">86</a> assertNull(cb.get()); assertEquals(cb.length(), 0); +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> Test a buffer of size 1,2,4,8,..,128</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">public</strong> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">void</strong> test1() { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> bufSize = 1; bufSize &lt;= 128; bufSize *=2) +<a name="97" href="#97">97</a> doTest1(bufSize); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">void</strong> doTest1(<strong class="jxr_keyword">int</strong> size) { +<a name="101" href="#101">101</a> <em class="jxr_comment">//System.out.println("Doing test with size = "+size);</em> +<a name="102" href="#102">102</a> CyclicBuffer cb = <strong class="jxr_keyword">new</strong> CyclicBuffer(size); +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> assertEquals(cb.getMaxSize(), size); +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = -(size+10); i &lt; (size+10); i++) { +<a name="107" href="#107">107</a> assertNull(cb.get(i)); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; MAX; i++) { +<a name="111" href="#111">111</a> cb.add(e[i]); +<a name="112" href="#112">112</a> <strong class="jxr_keyword">int</strong> limit = i &lt; size-1 ? i : size-1; +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <em class="jxr_comment">//System.out.println("\nLimit is " + limit + ", i="+i);</em> +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> j = limit; j &gt;= 0; j--) { +<a name="117" href="#117">117</a> <em class="jxr_comment">//System.out.println("i= "+i+", j="+j);</em> +<a name="118" href="#118">118</a> assertEquals(cb.get(j), e[i-(limit-j)]); +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> assertNull(cb.get(-1)); +<a name="121" href="#121">121</a> assertNull(cb.get(limit+1)); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">public</strong> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">void</strong> testResize() { +<a name="127" href="#127">127</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> isize = 1; isize &lt;= 128; isize *=2) { +<a name="128" href="#128">128</a> doTestResize(isize, isize/2+1, isize/2+1); +<a name="129" href="#129">129</a> doTestResize(isize, isize/2+1, isize+10); +<a name="130" href="#130">130</a> doTestResize(isize, isize+10, isize/2+1); +<a name="131" href="#131">131</a> doTestResize(isize, isize+10, isize+10); +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">void</strong> doTestResize(<strong class="jxr_keyword">int</strong> initialSize, <strong class="jxr_keyword">int</strong> numberOfAdds, <strong class="jxr_keyword">int</strong> newSize) { +<a name="136" href="#136">136</a> <em class="jxr_comment">//System.out.println("initialSize = "+initialSize+", numberOfAdds="</em> +<a name="137" href="#137">137</a> <em class="jxr_comment">// +numberOfAdds+", newSize="+newSize);</em> +<a name="138" href="#138">138</a> CyclicBuffer cb = <strong class="jxr_keyword">new</strong> CyclicBuffer(initialSize); +<a name="139" href="#139">139</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; numberOfAdds; i++) { +<a name="140" href="#140">140</a> cb.add(e[i]); +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> cb.resize(newSize); +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">int</strong> offset = numberOfAdds - initialSize; +<a name="145" href="#145">145</a> <strong class="jxr_keyword">if</strong>(offset&lt; 0) +<a name="146" href="#146">146</a> offset = 0; +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">int</strong> len = newSize &lt; numberOfAdds ? newSize : numberOfAdds; +<a name="149" href="#149">149</a> len = len &lt; initialSize ? len : initialSize; +<a name="150" href="#150">150</a> <em class="jxr_comment">//System.out.println("Len = "+len+", offset="+offset);</em> +<a name="151" href="#151">151</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> j = 0; j &lt; len; j++) { +<a name="152" href="#152">152</a> assertEquals(cb.get(j), e[offset+j]); +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">public</strong> +<a name="159" href="#159">159</a> <strong class="jxr_keyword">static</strong> +<a name="160" href="#160">160</a> Test suite() { +<a name="161" href="#161">161</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="162" href="#162">162</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBufferTestCase.html">CyclicBufferTestCase</a>(<span class="jxr_string">"test0"</span>)); +<a name="163" href="#163">163</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBufferTestCase.html">CyclicBufferTestCase</a>(<span class="jxr_string">"test1"</span>)); +<a name="164" href="#164">164</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBufferTestCase.html">CyclicBufferTestCase</a>(<span class="jxr_string">"testResize"</span>)); +<a name="165" href="#165">165</a> <strong class="jxr_keyword">return</strong> suite; +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/DateLayoutTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/DateLayoutTest.html new file mode 100644 index 00000000000..b08599366f7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/DateLayoutTest.html @@ -0,0 +1,299 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DateLayoutTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LayoutTest; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Calendar; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Tests for DateLayout.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> *</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/DateLayoutTest.html">DateLayoutTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/LayoutTest.html">LayoutTest</a> { +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * Construct a new instance of LayoutTest.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * @param testName test name.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/helpers/DateLayoutTest.html">DateLayoutTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Constructor for use by derived tests.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @param testName name of test.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * @param expectedContentType expected value for getContentType().</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * @param expectedIgnoresThrowable expected value for ignoresThrowable().</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * @param expectedHeader expected value for getHeader().</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * @param expectedFooter expected value for getFooter().</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/helpers/DateLayoutTest.html">DateLayoutTest</a>( +<a name="53" href="#53">53</a> <strong class="jxr_keyword">final</strong> String testName, <strong class="jxr_keyword">final</strong> String expectedContentType, +<a name="54" href="#54">54</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> expectedIgnoresThrowable, <strong class="jxr_keyword">final</strong> String expectedHeader, +<a name="55" href="#55">55</a> <strong class="jxr_keyword">final</strong> String expectedFooter) { +<a name="56" href="#56">56</a> <strong class="jxr_keyword">super</strong>( +<a name="57" href="#57">57</a> testName, expectedContentType, expectedIgnoresThrowable, expectedHeader, +<a name="58" href="#58">58</a> expectedFooter); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">protected</strong> Layout createLayout() { +<a name="65" href="#65">65</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/LayoutTest.html">MockLayout</a>(); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * Tests DateLayout.NULL_DATE_FORMAT constant.</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNullDateFormat() { +<a name="72" href="#72">72</a> assertEquals(<span class="jxr_string">"NULL"</span>, DateLayout.NULL_DATE_FORMAT); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">/**</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * Tests DateLayout.RELATIVE constant.</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> */</em> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testRelativeTimeDateFormat() { +<a name="79" href="#79">79</a> assertEquals(<span class="jxr_string">"RELATIVE"</span>, DateLayout.RELATIVE_TIME_DATE_FORMAT); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * Tests DateLayout.DATE_FORMAT_OPTION constant.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * @deprecated since constant is deprecated</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDateFormatOption() { +<a name="87" href="#87">87</a> assertEquals(<span class="jxr_string">"DateFormat"</span>, DateLayout.DATE_FORMAT_OPTION); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment">/**</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * Tests DateLayout.TIMEZONE_OPTION constant.</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * @deprecated since constant is deprecated</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTimeZoneOption() { +<a name="95" href="#95">95</a> assertEquals(<span class="jxr_string">"TimeZone"</span>, DateLayout.TIMEZONE_OPTION); +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment">/**</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> * Tests getOptionStrings().</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * @deprecated since getOptionStrings is deprecated.</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> *</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> */</em> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetOptionStrings() { +<a name="104" href="#104">104</a> String[] options = ((DateLayout) createLayout()).getOptionStrings(); +<a name="105" href="#105">105</a> assertEquals(2, options.length); +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">/**</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> * Tests setting DateFormat through setOption method.</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> * @deprecated since setOption is deprecated.</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetOptionDateFormat() { +<a name="113" href="#113">113</a> DateLayout layout = (DateLayout) createLayout(); +<a name="114" href="#114">114</a> layout.setOption(<span class="jxr_string">"dAtefOrmat"</span>, <span class="jxr_string">"foobar"</span>); +<a name="115" href="#115">115</a> assertEquals(<span class="jxr_string">"FOOBAR"</span>, layout.getDateFormat()); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">/**</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> * Tests setting TimeZone through setOption method.</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> * @deprecated since setOption is deprecated.</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetOptionTimeZone() { +<a name="123" href="#123">123</a> DateLayout layout = (DateLayout) createLayout(); +<a name="124" href="#124">124</a> layout.setOption(<span class="jxr_string">"tImezOne"</span>, <span class="jxr_string">"+05:00"</span>); +<a name="125" href="#125">125</a> assertEquals(<span class="jxr_string">"+05:00"</span>, layout.getTimeZone()); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">/**</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> * Tests setDateFormat.</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> */</em> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetDateFormat() { +<a name="132" href="#132">132</a> DateLayout layout = (DateLayout) createLayout(); +<a name="133" href="#133">133</a> layout.setDateFormat(<span class="jxr_string">"ABSOLUTE"</span>); +<a name="134" href="#134">134</a> assertEquals(<span class="jxr_string">"ABSOLUTE"</span>, layout.getDateFormat()); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">/**</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> * Tests setTimeZone.</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> */</em> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetTimeZone() { +<a name="141" href="#141">141</a> DateLayout layout = (DateLayout) createLayout(); +<a name="142" href="#142">142</a> layout.setTimeZone(<span class="jxr_string">"+05:00"</span>); +<a name="143" href="#143">143</a> assertEquals(<span class="jxr_string">"+05:00"</span>, layout.getTimeZone()); +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">/**</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> * Tests 2 parameter setDateFormat with null.</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> */</em> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetDateFormatNull() { +<a name="150" href="#150">150</a> DateLayout layout = (DateLayout) createLayout(); +<a name="151" href="#151">151</a> layout.setDateFormat((String) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment">/**</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> * Tests 2 parameter setDateFormat with "NULL".</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> */</em> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetDateFormatNullString() { +<a name="158" href="#158">158</a> DateLayout layout = (DateLayout) createLayout(); +<a name="159" href="#159">159</a> layout.setDateFormat(<span class="jxr_string">"NuLL"</span>, <strong class="jxr_keyword">null</strong>); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">/**</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * Tests 2 parameter setDateFormat with "RELATIVE".</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetDateFormatRelative() { +<a name="166" href="#166">166</a> DateLayout layout = (DateLayout) createLayout(); +<a name="167" href="#167">167</a> layout.setDateFormat(<span class="jxr_string">"rElatIve"</span>, TimeZone.getDefault()); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">/**</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> * Tests 2 parameter setDateFormat with "ABSOLUTE".</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> */</em> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetDateFormatAbsolute() { +<a name="174" href="#174">174</a> DateLayout layout = (DateLayout) createLayout(); +<a name="175" href="#175">175</a> layout.setDateFormat(<span class="jxr_string">"aBsolUte"</span>, TimeZone.getDefault()); +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">/**</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * Tests 2 parameter setDateFormat with "DATETIME".</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> */</em> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetDateFormatDateTime() { +<a name="182" href="#182">182</a> DateLayout layout = (DateLayout) createLayout(); +<a name="183" href="#183">183</a> layout.setDateFormat(<span class="jxr_string">"dAte"</span>, TimeZone.getDefault()); +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">/**</em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> * Tests 2 parameter setDateFormat with "ISO8601".</em> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment"> */</em> +<a name="189" href="#189">189</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetDateFormatISO8601() { +<a name="190" href="#190">190</a> DateLayout layout = (DateLayout) createLayout(); +<a name="191" href="#191">191</a> layout.setDateFormat(<span class="jxr_string">"iSo8601"</span>, TimeZone.getDefault()); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">/**</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> * Tests 2 parameter setDateFormat with "HH:mm:ss".</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> */</em> +<a name="197" href="#197">197</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetDateFormatSimple() { +<a name="198" href="#198">198</a> DateLayout layout = (DateLayout) createLayout(); +<a name="199" href="#199">199</a> layout.setDateFormat(<span class="jxr_string">"HH:mm:ss"</span>, TimeZone.getDefault()); +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">/**</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> * Tests activateOptions.</em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> */</em> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testActivateOptions() { +<a name="206" href="#206">206</a> DateLayout layout = (DateLayout) createLayout(); +<a name="207" href="#207">207</a> layout.setDateFormat(<span class="jxr_string">"HH:mm:ss"</span>); +<a name="208" href="#208">208</a> layout.setTimeZone(<span class="jxr_string">"+05:00"</span>); +<a name="209" href="#209">209</a> layout.activateOptions(); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">/**</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> * Tests setDateFormat(DateFormat, TimeZone).</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> */</em> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetDateFormatWithFormat() { +<a name="216" href="#216">216</a> DateFormat format = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"HH:mm"</span>); +<a name="217" href="#217">217</a> DateLayout layout = (DateLayout) createLayout(); +<a name="218" href="#218">218</a> layout.setDateFormat(format, TimeZone.getDefault()); +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment">/**</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> * Tests IS08601DateFormat class.</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> * @deprecated since ISO8601DateFormat is deprecated</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> */</em> +<a name="226" href="#226">226</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testISO8601Format() { +<a name="227" href="#227">227</a> DateFormat format = <strong class="jxr_keyword">new</strong> ISO8601DateFormat(); +<a name="228" href="#228">228</a> Calendar calendar = Calendar.getInstance(); +<a name="229" href="#229">229</a> calendar.clear(); +<a name="230" href="#230">230</a> calendar.set(1970, 0, 1, 0, 0, 0); +<a name="231" href="#231">231</a> String actual = format.format(calendar.getTime()); +<a name="232" href="#232">232</a> assertEquals(<span class="jxr_string">"1970-01-01 00:00:00,000"</span>, actual); +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment">/**</em> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> * Tests DateTimeDateFormat class.</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> * @deprecated since DateTimeDateFormat is deprecated</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> */</em> +<a name="239" href="#239">239</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDateTimeFormat() { +<a name="240" href="#240">240</a> DateFormat format = <strong class="jxr_keyword">new</strong> DateTimeDateFormat(); +<a name="241" href="#241">241</a> Calendar calendar = Calendar.getInstance(); +<a name="242" href="#242">242</a> calendar.clear(); +<a name="243" href="#243">243</a> calendar.set(1970, 0, 1, 0, 0, 0); +<a name="244" href="#244">244</a> String actual = format.format(calendar.getTime()); +<a name="245" href="#245">245</a> SimpleDateFormat df = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"dd MMM yyyy HH:mm:ss,SSS"</span>); +<a name="246" href="#246">246</a> String expected = df.format(calendar.getTime()); +<a name="247" href="#247">247</a> assertEquals(expected, actual); +<a name="248" href="#248">248</a> } +<a name="249" href="#249">249</a> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment">/**</em> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> * Concrete Layout class for tests.</em> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment"> */</em> +<a name="253" href="#253">253</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/LayoutTest.html">MockLayout</a> <strong class="jxr_keyword">extends</strong> DateLayout { +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment">/**</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> * Create new instance of MockLayout.</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> */</em> +<a name="257" href="#257">257</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/LayoutTest.html">MockLayout</a>() { +<a name="258" href="#258">258</a> <em class="jxr_comment">//</em> +<a name="259" href="#259">259</a> <em class="jxr_comment">// checks that protected fields are properly initialized</em> +<a name="260" href="#260">260</a> assertNotNull(pos); +<a name="261" href="#261">261</a> assertNotNull(date); +<a name="262" href="#262">262</a> assertNull(dateFormat); +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment">/**</em> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> */</em> +<a name="268" href="#268">268</a> <strong class="jxr_keyword">public</strong> String format(<strong class="jxr_keyword">final</strong> LoggingEvent event) { +<a name="269" href="#269">269</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Mock"</span>; +<a name="270" href="#270">270</a> } +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment">/**</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> */</em> +<a name="275" href="#275">275</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment">/**</em> +<a name="279" href="#279">279</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="280" href="#280">280</a> <em class="jxr_javadoccomment"> */</em> +<a name="281" href="#281">281</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> ignoresThrowable() { +<a name="282" href="#282">282</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> } +<a name="285" href="#285">285</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/LogLogTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/LogLogTest.html new file mode 100644 index 00000000000..f083f27d282 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/LogLogTest.html @@ -0,0 +1,65 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogLogTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Tests for LogLog.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> **/</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/LogLogTest.html">LogLogTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Create new instance of LogLogTest.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @param testName test name</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/helpers/LogLogTest.html">LogLogTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Check value of DEBUG_KEY.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDebugKey() { +<a name="41" href="#41">41</a> assertEquals(<span class="jxr_string">"log4j.debug"</span>, LogLog.DEBUG_KEY); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Check value of CONFIG_DEBUG_KEY.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @deprecated since constant is deprecated</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testConfigDebugKey() { +<a name="49" href="#49">49</a> assertEquals(<span class="jxr_string">"log4j.configDebug"</span>, LogLog.CONFIG_DEBUG_KEY); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/OptionConverterTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/OptionConverterTestCase.html new file mode 100644 index 00000000000..c996b8b9cdc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/OptionConverterTestCase.html @@ -0,0 +1,185 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>OptionConverterTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Log4j uses the JUnit framework for internal unit testing. JUnit</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// is available from "http://www.junit.org".</em> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.XLevel; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.util.Properties; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> Test variable substitution code. </em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> </em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @since 1.0</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">*/</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> Properties props; +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(String name) { +<a name="42" href="#42">42</a> <strong class="jxr_keyword">super</strong>(name); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">void</strong> setUp() { +<a name="47" href="#47">47</a> props = <strong class="jxr_keyword">new</strong> Properties(); +<a name="48" href="#48">48</a> props.put(<span class="jxr_string">"TOTO"</span>, <span class="jxr_string">"wonderful"</span>); +<a name="49" href="#49">49</a> props.put(<span class="jxr_string">"key1"</span>, <span class="jxr_string">"value1"</span>); +<a name="50" href="#50">50</a> props.put(<span class="jxr_string">"key2"</span>, <span class="jxr_string">"value2"</span>); +<a name="51" href="#51">51</a> System.setProperties(props); +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="58" href="#58">58</a> props = <strong class="jxr_keyword">null</strong>; +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">void</strong> varSubstTest1() { +<a name="63" href="#63">63</a> String r; +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> r = OptionConverter.substVars(<span class="jxr_string">"hello world."</span>, <strong class="jxr_keyword">null</strong>); +<a name="66" href="#66">66</a> assertEquals(<span class="jxr_string">"hello world."</span>, r); +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> r = OptionConverter.substVars(<span class="jxr_string">"hello ${TOTO} world."</span>, <strong class="jxr_keyword">null</strong>); +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> assertEquals(<span class="jxr_string">"hello wonderful world."</span>, r); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">void</strong> varSubstTest2() { +<a name="76" href="#76">76</a> String r; +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> r = OptionConverter.substVars(<span class="jxr_string">"Test2 ${key1} mid ${key2} end."</span>, <strong class="jxr_keyword">null</strong>); +<a name="79" href="#79">79</a> assertEquals(<span class="jxr_string">"Test2 value1 mid value2 end."</span>, r); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">public</strong> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">void</strong> varSubstTest3() { +<a name="84" href="#84">84</a> String r; +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> r = OptionConverter.substVars( +<a name="87" href="#87">87</a> <span class="jxr_string">"Test3 ${unset} mid ${key1} end."</span>, <strong class="jxr_keyword">null</strong>); +<a name="88" href="#88">88</a> assertEquals(<span class="jxr_string">"Test3 mid value1 end."</span>, r); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">void</strong> varSubstTest4() { +<a name="93" href="#93">93</a> String val = <span class="jxr_string">"Test4 ${incomplete "</span>; +<a name="94" href="#94">94</a> <strong class="jxr_keyword">try</strong> { +<a name="95" href="#95">95</a> OptionConverter.substVars(val, <strong class="jxr_keyword">null</strong>); +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> <strong class="jxr_keyword">catch</strong>(IllegalArgumentException e) { +<a name="98" href="#98">98</a> String errorMsg = e.getMessage(); +<a name="99" href="#99">99</a> <em class="jxr_comment">//System.out.println('['+errorMsg+']');</em> +<a name="100" href="#100">100</a> assertEquals('&quot;'+val +<a name="101" href="#101">101</a> + <span class="jxr_string">"\&quot; has no closing brace. Opening brace at position 6."</span>, +<a name="102" href="#102">102</a> errorMsg); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">public</strong> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">void</strong> varSubstTest5() { +<a name="108" href="#108">108</a> Properties props = <strong class="jxr_keyword">new</strong> Properties(); +<a name="109" href="#109">109</a> props.put(<span class="jxr_string">"p1"</span>, <span class="jxr_string">"x1"</span>); +<a name="110" href="#110">110</a> props.put(<span class="jxr_string">"p2"</span>, <span class="jxr_string">"${p1}"</span>); +<a name="111" href="#111">111</a> String res = OptionConverter.substVars(<span class="jxr_string">"${p2}"</span>, props); +<a name="112" href="#112">112</a> System.out.println(<span class="jxr_string">"Result is ["</span>+res+<span class="jxr_string">"]."</span>); +<a name="113" href="#113">113</a> assertEquals(res, <span class="jxr_string">"x1"</span>); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">public</strong> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">void</strong> toLevelTest1() { +<a name="118" href="#118">118</a> String val = <span class="jxr_string">"INFO"</span>; +<a name="119" href="#119">119</a> Level p = OptionConverter.toLevel(val, <strong class="jxr_keyword">null</strong>); +<a name="120" href="#120">120</a> assertEquals(p, Level.INFO); +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">public</strong> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">void</strong> toLevelTest2() { +<a name="125" href="#125">125</a> String val = <span class="jxr_string">"INFO#org.apache.log4j.xml.XLevel"</span>; +<a name="126" href="#126">126</a> Level p = OptionConverter.toLevel(val, <strong class="jxr_keyword">null</strong>); +<a name="127" href="#127">127</a> assertEquals(p, Level.INFO); +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">void</strong> toLevelTest3() { +<a name="132" href="#132">132</a> String val = <span class="jxr_string">"TRACE#org.apache.log4j.xml.XLevel"</span>; +<a name="133" href="#133">133</a> Level p = OptionConverter.toLevel(val, <strong class="jxr_keyword">null</strong>); +<a name="134" href="#134">134</a> assertEquals(p, XLevel.TRACE); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">public</strong> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">void</strong> toLevelTest4() { +<a name="139" href="#139">139</a> String val = <span class="jxr_string">"TR#org.apache.log4j.xml.XLevel"</span>; +<a name="140" href="#140">140</a> Level p = OptionConverter.toLevel(val, <strong class="jxr_keyword">null</strong>); +<a name="141" href="#141">141</a> assertEquals(p, <strong class="jxr_keyword">null</strong>); +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">void</strong> toLevelTest5() { +<a name="146" href="#146">146</a> String val = <span class="jxr_string">"INFO#org.apache.log4j.xml.TOTO"</span>; +<a name="147" href="#147">147</a> Level p = OptionConverter.toLevel(val, <strong class="jxr_keyword">null</strong>); +<a name="148" href="#148">148</a> assertEquals(p, <strong class="jxr_keyword">null</strong>); +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">static</strong> +<a name="154" href="#154">154</a> Test suite() { +<a name="155" href="#155">155</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="156" href="#156">156</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(<span class="jxr_string">"varSubstTest5"</span>)); +<a name="157" href="#157">157</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(<span class="jxr_string">"varSubstTest1"</span>)); +<a name="158" href="#158">158</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(<span class="jxr_string">"varSubstTest2"</span>)); +<a name="159" href="#159">159</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(<span class="jxr_string">"varSubstTest3"</span>)); +<a name="160" href="#160">160</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(<span class="jxr_string">"varSubstTest4"</span>)); +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(<span class="jxr_string">"toLevelTest1"</span>)); +<a name="164" href="#164">164</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(<span class="jxr_string">"toLevelTest2"</span>)); +<a name="165" href="#165">165</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(<span class="jxr_string">"toLevelTest3"</span>)); +<a name="166" href="#166">166</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(<span class="jxr_string">"toLevelTest4"</span>)); +<a name="167" href="#167">167</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverterTestCase.html">OptionConverterTestCase</a>(<span class="jxr_string">"toLevelTest5"</span>)); +<a name="168" href="#168">168</a> <strong class="jxr_keyword">return</strong> suite; +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/PatternParserTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/PatternParserTestCase.html new file mode 100644 index 00000000000..3ff1531daed --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/PatternParserTestCase.html @@ -0,0 +1,150 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PatternParserTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.FileAppender; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PatternLayout; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.MDC; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> Test case for helpers/PatternParser.java. Tests the various </em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> conversion patterns supported by PatternParser. This test</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> class tests PatternParser via the PatternLayout class which</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> uses it.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParserTestCase.html">PatternParserTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">static</strong> String OUTPUT_FILE = <span class="jxr_string">"output/PatternParser"</span>; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">static</strong> String WITNESS_FILE = <span class="jxr_string">"witness/PatternParser"</span>; +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">static</strong> String msgPattern = <span class="jxr_string">"%m%n"</span>; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> Logger root; +<a name="47" href="#47">47</a> Logger logger; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/helpers/PatternParserTestCase.html">PatternParserTestCase</a>(String name) { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">super</strong>(name); +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="54" href="#54">54</a> root = Logger.getRootLogger(); +<a name="55" href="#55">55</a> root.removeAllAppenders(); +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="59" href="#59">59</a> root.getLoggerRepository().resetConfiguration(); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> Test case for MDC conversion pattern. */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> mdcPattern() <strong class="jxr_keyword">throws</strong> Exception { +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> String mdcMsgPattern1 = <span class="jxr_string">"%m : %X%n"</span>; +<a name="67" href="#67">67</a> String mdcMsgPattern2 = <span class="jxr_string">"%m : %X{key1}%n"</span>; +<a name="68" href="#68">68</a> String mdcMsgPattern3 = <span class="jxr_string">"%m : %X{key2}%n"</span>; +<a name="69" href="#69">69</a> String mdcMsgPattern4 = <span class="jxr_string">"%m : %X{key3}%n"</span>; +<a name="70" href="#70">70</a> String mdcMsgPattern5 = <span class="jxr_string">"%m : %X{key1},%X{key2},%X{key3}%n"</span>; +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_comment">// set up appender</em> +<a name="73" href="#73">73</a> PatternLayout layout = <strong class="jxr_keyword">new</strong> PatternLayout(msgPattern); +<a name="74" href="#74">74</a> Appender appender = <strong class="jxr_keyword">new</strong> FileAppender(layout, OUTPUT_FILE+<span class="jxr_string">"_mdc"</span>, false); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_comment">// set appender on root and set level to debug</em> +<a name="77" href="#77">77</a> root.addAppender(appender); +<a name="78" href="#78">78</a> root.setLevel(Level.DEBUG); +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_comment">// output starting message</em> +<a name="81" href="#81">81</a> root.debug(<span class="jxr_string">"starting mdc pattern test"</span>); +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> layout.setConversionPattern(mdcMsgPattern1); +<a name="84" href="#84">84</a> root.debug(<span class="jxr_string">"empty mdc, no key specified in pattern"</span>); +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> layout.setConversionPattern(mdcMsgPattern2); +<a name="87" href="#87">87</a> root.debug(<span class="jxr_string">"empty mdc, key1 in pattern"</span>); +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> layout.setConversionPattern(mdcMsgPattern3); +<a name="90" href="#90">90</a> root.debug(<span class="jxr_string">"empty mdc, key2 in pattern"</span>); +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> layout.setConversionPattern(mdcMsgPattern4); +<a name="93" href="#93">93</a> root.debug(<span class="jxr_string">"empty mdc, key3 in pattern"</span>); +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> layout.setConversionPattern(mdcMsgPattern5); +<a name="96" href="#96">96</a> root.debug(<span class="jxr_string">"empty mdc, key1, key2, and key3 in pattern"</span>); +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> MDC.put(<span class="jxr_string">"key1"</span>, <span class="jxr_string">"value1"</span>); +<a name="99" href="#99">99</a> MDC.put(<span class="jxr_string">"key2"</span>, <span class="jxr_string">"value2"</span>); +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> layout.setConversionPattern(mdcMsgPattern1); +<a name="102" href="#102">102</a> root.debug(<span class="jxr_string">"filled mdc, no key specified in pattern"</span>); +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> layout.setConversionPattern(mdcMsgPattern2); +<a name="105" href="#105">105</a> root.debug(<span class="jxr_string">"filled mdc, key1 in pattern"</span>); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> layout.setConversionPattern(mdcMsgPattern3); +<a name="108" href="#108">108</a> root.debug(<span class="jxr_string">"filled mdc, key2 in pattern"</span>); +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> layout.setConversionPattern(mdcMsgPattern4); +<a name="111" href="#111">111</a> root.debug(<span class="jxr_string">"filled mdc, key3 in pattern"</span>); +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> layout.setConversionPattern(mdcMsgPattern5); +<a name="114" href="#114">114</a> root.debug(<span class="jxr_string">"filled mdc, key1, key2, and key3 in pattern"</span>); +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> MDC.remove(<span class="jxr_string">"key1"</span>); +<a name="117" href="#117">117</a> MDC.remove(<span class="jxr_string">"key2"</span>); +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> layout.setConversionPattern(msgPattern); +<a name="120" href="#120">120</a> root.debug(<span class="jxr_string">"finished mdc pattern test"</span>); +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> assertTrue(Compare.compare(OUTPUT_FILE+<span class="jxr_string">"_mdc"</span>, WITNESS_FILE+<span class="jxr_string">"_mdc"</span>)); +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="126" href="#126">126</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="127" href="#127">127</a> <em class="jxr_comment">//</em> +<a name="128" href="#128">128</a> <em class="jxr_comment">// MDC requires JDK 1.2+</em> +<a name="129" href="#129">129</a> <em class="jxr_comment">//</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">if</strong> (!System.getProperty(<span class="jxr_string">"java.version"</span>).startsWith(<span class="jxr_string">"1.1."</span>)) { +<a name="131" href="#131">131</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParserTestCase.html">PatternParserTestCase</a>(<span class="jxr_string">"mdcPattern"</span>)); +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> <strong class="jxr_keyword">return</strong> suite; +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/package-frame.html new file mode 100644 index 00000000000..6f2fd565818 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/package-frame.html @@ -0,0 +1,42 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.helpers</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.helpers</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="BoundedFIFOTestCase.html" target="classFrame">BoundedFIFOTestCase</a> + </li> + <li> + <a href="CyclicBufferTestCase.html" target="classFrame">CyclicBufferTestCase</a> + </li> + <li> + <a href="DateLayoutTest.html" target="classFrame">DateLayoutTest</a> + </li> + <li> + <a href="LogLogTest.html" target="classFrame">LogLogTest</a> + </li> + <li> + <a href="DateLayoutTest.html" target="classFrame">MockLayout</a> + </li> + <li> + <a href="OptionConverterTestCase.html" target="classFrame">OptionConverterTestCase</a> + </li> + <li> + <a href="PatternParserTestCase.html" target="classFrame">PatternParserTestCase</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/package-summary.html new file mode 100644 index 00000000000..0b17d5de206 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/helpers/package-summary.html @@ -0,0 +1,97 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.helpers</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.helpers</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="BoundedFIFOTestCase.html" target="classFrame">BoundedFIFOTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="CyclicBufferTestCase.html" target="classFrame">CyclicBufferTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="DateLayoutTest.html" target="classFrame">DateLayoutTest</a> + </td> + </tr> + <tr> + <td> + <a href="LogLogTest.html" target="classFrame">LogLogTest</a> + </td> + </tr> + <tr> + <td> + <a href="DateLayoutTest.html" target="classFrame">MockLayout</a> + </td> + </tr> + <tr> + <td> + <a href="OptionConverterTestCase.html" target="classFrame">OptionConverterTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParserTestCase.html" target="classFrame">PatternParserTestCase</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SMTPAppenderTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SMTPAppenderTest.html new file mode 100644 index 00000000000..8ea88e54f3e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SMTPAppenderTest.html @@ -0,0 +1,76 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SMTPAppenderTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.TriggeringEventEvaluator; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.DOMConfigurator; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Tests for SMTPAppender.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SMTPAppenderTest.html">SMTPAppenderTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SMTPAppenderTest.html">SMTPAppenderTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * Reset configuration after every test.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="38" href="#38">38</a> LogManager.resetConfiguration(); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Trivial implementation of TriggeringEventEvaluator.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SMTPAppenderTest.html">MockTriggeringEventEvaluator</a> implements TriggeringEventEvaluator { +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTriggeringEvent(<strong class="jxr_keyword">final</strong> LoggingEvent event) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * Tests that triggeringPolicy element will set evaluator.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTrigger() { +<a name="57" href="#57">57</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/smtpAppender1.xml"</span>); +<a name="58" href="#58">58</a> SMTPAppender appender = (SMTPAppender) Logger.getRootLogger().getAppender(<span class="jxr_string">"A1"</span>); +<a name="59" href="#59">59</a> TriggeringEventEvaluator evaluator = appender.getEvaluator(); +<a name="60" href="#60">60</a> assertTrue(evaluator instanceof <a href="../../../../org/apache/log4j/net/SMTPAppenderTest.html">MockTriggeringEventEvaluator</a>); +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/ShortSocketServer.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/ShortSocketServer.html new file mode 100644 index 00000000000..dd4cfc7e3cb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/ShortSocketServer.html @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ShortSocketServer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.net.ServerSocket; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PropertyConfigurator; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.MDC; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * This SocketServer exits after certain number of connections from a</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * client. This number is determined the totalsTest parameter, that is</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * the first argument on the commmand line. The second argument,</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * prefix, determines the prefix of the configuration file to</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * use. Each run of the server will use a different properties</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * file. For the i-th run, the path to the file is</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * (prefix+i+".properties").</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> *</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * @author Ceki Gulcu */</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/ShortSocketServer.html">ShortSocketServer</a> { +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> Logger cat = Logger.getLogger(ShortSocketServer.<strong class="jxr_keyword">class</strong>); +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">static</strong> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">void</strong> main(String args[]) <strong class="jxr_keyword">throws</strong> Exception { +<a name="48" href="#48">48</a> <strong class="jxr_keyword">int</strong> totalTests = 0; +<a name="49" href="#49">49</a> String prefix = <strong class="jxr_keyword">null</strong>; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">if</strong>(args.length == 2) { +<a name="52" href="#52">52</a> totalTests = Integer.parseInt(args[0]); +<a name="53" href="#53">53</a> prefix = args[1]; +<a name="54" href="#54">54</a> } <strong class="jxr_keyword">else</strong> { +<a name="55" href="#55">55</a> usage(<span class="jxr_string">"Wrong number of arguments."</span>); +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> LogLog.debug(<span class="jxr_string">"Listening on port "</span> + SocketServerTestCase.PORT); +<a name="60" href="#60">60</a> ServerSocket serverSocket = <strong class="jxr_keyword">new</strong> ServerSocket(SocketServerTestCase.PORT); +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> MDC.put(<span class="jxr_string">"hostID"</span>, <span class="jxr_string">"shortSocketServer"</span>); +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 1; i &lt;= totalTests; i++) { +<a name="65" href="#65">65</a> PropertyConfigurator.configure(prefix+i+<span class="jxr_string">".properties"</span>); +<a name="66" href="#66">66</a> LogLog.debug(<span class="jxr_string">"Waiting to accept a new client."</span>); +<a name="67" href="#67">67</a> Socket socket = serverSocket.accept(); +<a name="68" href="#68">68</a> LogLog.debug(<span class="jxr_string">"Connected to client at "</span> + socket.getInetAddress()); +<a name="69" href="#69">69</a> LogLog.debug(<span class="jxr_string">"Starting new socket node."</span>); +<a name="70" href="#70">70</a> SocketNode sn = <strong class="jxr_keyword">new</strong> SocketNode(socket, LogManager.getLoggerRepository()); +<a name="71" href="#71">71</a> Thread t = <strong class="jxr_keyword">new</strong> Thread(sn); +<a name="72" href="#72">72</a> t.start(); +<a name="73" href="#73">73</a> t.join(); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">static</strong> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">void</strong> usage(String msg) { +<a name="80" href="#80">80</a> System.err.println(msg); +<a name="81" href="#81">81</a> System.err.println( +<a name="82" href="#82">82</a> <span class="jxr_string">"Usage: java "</span> +ShortSocketServer.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">" totalTests configFilePrefix"</span>); +<a name="83" href="#83">83</a> System.exit(1); +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SocketAppenderTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SocketAppenderTest.html new file mode 100644 index 00000000000..b4b3b44c998 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SocketAppenderTest.html @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SocketAppenderTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.DOMConfigurator; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketAppenderTest.html">SocketAppenderTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SocketAppenderTest.html">SocketAppenderTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_comment">/*<em class="jxr_comment"> JUnit's setUp and tearDown */</em></em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="37" href="#37">37</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/SocketAppenderTestConfig.xml"</span>); +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> logger = Logger.getLogger(SocketAppenderTest.<strong class="jxr_keyword">class</strong>); +<a name="40" href="#40">40</a> secondary = (LastOnlyAppender) Logger.getLogger( +<a name="41" href="#41">41</a> <span class="jxr_string">"org.apache.log4j.net.SocketAppenderTestDummy"</span>).getAppender(<span class="jxr_string">"lastOnly"</span>); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="45" href="#45">45</a> } +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">/*<em class="jxr_comment"> Tests */</em></em> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFallbackErrorHandlerWhenStarting() { +<a name="50" href="#50">50</a> String msg = <span class="jxr_string">"testFallbackErrorHandlerWhenStarting"</span>; +<a name="51" href="#51">51</a> logger.debug(msg); +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_comment">// above debug log will fail and shoul be redirected to secondary appender</em> +<a name="54" href="#54">54</a> assertEquals(<span class="jxr_string">"SocketAppender with FallbackErrorHandler"</span>, msg, secondary.getLastMessage()); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_comment">/*<em class="jxr_comment"> Fields */</em></em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Logger logger; +<a name="60" href="#60">60</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/net/SocketAppenderTest.html">LastOnlyAppender</a> secondary; +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_comment">/*<em class="jxr_comment"> Inner classes */</em></em> +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment">/**</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * Inner-class For debugging purposes only Saves last LoggerEvent</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketAppenderTest.html">LastOnlyAppender</a> <strong class="jxr_keyword">extends</strong> AppenderSkeleton { +<a name="68" href="#68">68</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> append(LoggingEvent event) { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">this</strong>.lastEvent = event; +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">return</strong> false; +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="77" href="#77">77</a> <strong class="jxr_keyword">this</strong>.closed = <strong class="jxr_keyword">true</strong>; +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment">/**</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * @return last appended LoggingEvent's message</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> */</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">public</strong> String getLastMessage() { +<a name="84" href="#84">84</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.lastEvent != <strong class="jxr_keyword">null</strong>) +<a name="85" href="#85">85</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.lastEvent.getMessage().toString(); +<a name="86" href="#86">86</a> <strong class="jxr_keyword">else</strong> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>; +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">private</strong> LoggingEvent lastEvent; +<a name="91" href="#91">91</a> }; +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SocketServerTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SocketServerTestCase.html new file mode 100644 index 00000000000..707731b6fdc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SocketServerTestCase.html @@ -0,0 +1,422 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SocketServerTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.*; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.*; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.NDC; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.XLevel; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">*/</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketServerTestCase.html">SocketServerTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">static</strong> String TEMP = <span class="jxr_string">"output/temp"</span>; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">static</strong> String FILTERED = <span class="jxr_string">"output/filtered"</span>; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">// %5p %x [%t] %c %m%n</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">// DEBUG T1 [main] org.apache.log4j.net.SocketAppenderTestCase Message 1</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">static</strong> String PAT1 = <span class="jxr_string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T1 &#92;&#92;[main]&#92;&#92; "</span> +<a name="43" href="#43">43</a> + <span class="jxr_string">".* Message &#92;&#92;d{1,2}"</span>; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_comment">// DEBUG T2 [main] ? (?:?) Message 1</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">static</strong> String PAT2 = <span class="jxr_string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T2 &#92;&#92;[main]&#92;&#92; "</span> +<a name="47" href="#47">47</a> + <span class="jxr_string">"&#92;&#92;? &#92;&#92;(&#92;&#92;?:&#92;&#92;?&#92;&#92;) Message &#92;&#92;d{1,2}"</span>; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_comment">// DEBUG T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:121) Message 1</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">static</strong> String PAT3 = <span class="jxr_string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T3 &#92;&#92;[main]&#92;&#92; "</span> +<a name="52" href="#52">52</a> + <span class="jxr_string">"org.apache.log4j.net.SocketServerTestCase "</span> +<a name="53" href="#53">53</a> + <span class="jxr_string">"&#92;&#92;(SocketServerTestCase.java:&#92;&#92;d{3}&#92;&#92;) Message &#92;&#92;d{1,2}"</span>; +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_comment">// DEBUG some T4 MDC-TEST4 [main] SocketAppenderTestCase - Message 1 </em> +<a name="57" href="#57">57</a> <em class="jxr_comment">// DEBUG some T4 MDC-TEST4 [main] SocketAppenderTestCase - Message 1 </em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">static</strong> String PAT4 = <span class="jxr_string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some T4 MDC-TEST4 &#92;&#92;[main]&#92;&#92;"</span> +<a name="59" href="#59">59</a> + <span class="jxr_string">" (root|SocketServerTestCase) - Message &#92;&#92;d{1,2}"</span>; +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">static</strong> String PAT5 = <span class="jxr_string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some5 T5 MDC-TEST5 &#92;&#92;[main]&#92;&#92;"</span> +<a name="62" href="#62">62</a> + <span class="jxr_string">" (root|SocketServerTestCase) - Message &#92;&#92;d{1,2}"</span>; +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">static</strong> String PAT6 = <span class="jxr_string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some6 T6 client-test6 MDC-TEST6"</span> +<a name="65" href="#65">65</a> + <span class="jxr_string">" &#92;&#92;[main]&#92;&#92; (root|SocketServerTestCase) - Message &#92;&#92;d{1,2}"</span>; +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">static</strong> String PAT7 = <span class="jxr_string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some7 T7 client-test7 MDC-TEST7"</span> +<a name="68" href="#68">68</a> + <span class="jxr_string">" &#92;&#92;[main]&#92;&#92; (root|SocketServerTestCase) - Message &#92;&#92;d{1,2}"</span>; +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_comment">// DEBUG some8 T8 shortSocketServer MDC-TEST7 [main] SocketServerTestCase - Message 1</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">static</strong> String PAT8 = <span class="jxr_string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some8 T8 shortSocketServer"</span> +<a name="72" href="#72">72</a> + <span class="jxr_string">" MDC-TEST8 &#92;&#92;[main]&#92;&#92; (root|SocketServerTestCase) - Message &#92;&#92;d{1,2}"</span>; +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">static</strong> String EXCEPTION1 = <span class="jxr_string">"java.lang.Exception: Just testing"</span>; +<a name="77" href="#77">77</a> <strong class="jxr_keyword">static</strong> String EXCEPTION2 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*&#92;&#92;)"</span>; +<a name="78" href="#78">78</a> <strong class="jxr_keyword">static</strong> String EXCEPTION3 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(Native Method&#92;&#92;)"</span>; +<a name="79" href="#79">79</a> <strong class="jxr_keyword">static</strong> String EXCEPTION4 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*Compiled Code&#92;&#92;)"</span>; +<a name="80" href="#80">80</a> <strong class="jxr_keyword">static</strong> String EXCEPTION5 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*libgcj.*&#92;&#92;)"</span>; +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">static</strong> Logger logger = Logger.getLogger(SocketServerTestCase.<strong class="jxr_keyword">class</strong>); +<a name="84" href="#84">84</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> PORT = 12345; +<a name="85" href="#85">85</a> <strong class="jxr_keyword">static</strong> Logger rootLogger = Logger.getRootLogger(); +<a name="86" href="#86">86</a> SocketAppender socketAppender; +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SocketServerTestCase.html">SocketServerTestCase</a>(String name) { +<a name="89" href="#89">89</a> <strong class="jxr_keyword">super</strong>(name); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="93" href="#93">93</a> System.out.println(<span class="jxr_string">"Setting up test case."</span>); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="97" href="#97">97</a> System.out.println(<span class="jxr_string">"Tearing down test case."</span>); +<a name="98" href="#98">98</a> socketAppender = <strong class="jxr_keyword">null</strong>; +<a name="99" href="#99">99</a> rootLogger.removeAllAppenders(); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">/**</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * The pattern on the server side: %5p %x [%t] %c %m%n </em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> *</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> * We are testing NDC functionality across the wire. </em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> */</em> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="108" href="#108">108</a> socketAppender = <strong class="jxr_keyword">new</strong> SocketAppender(<span class="jxr_string">"localhost"</span>, PORT); +<a name="109" href="#109">109</a> rootLogger.addAppender(socketAppender); +<a name="110" href="#110">110</a> common(<span class="jxr_string">"T1"</span>, <span class="jxr_string">"key1"</span>, <span class="jxr_string">"MDC-TEST1"</span>); +<a name="111" href="#111">111</a> delay(1); +<a name="112" href="#112">112</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT1, EXCEPTION1, +<a name="113" href="#113">113</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> Transformer.transform( +<a name="116" href="#116">116</a> TEMP, FILTERED, +<a name="117" href="#117">117</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { cf, <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="118" href="#118">118</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="119" href="#119">119</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>() }); +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/socketServer.1"</span>)); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> * The pattern on the server side: %5p %x [%t] %C (%F:%L) %m%n</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> *</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * We are testing NDC across the wire. Localization is turned off by</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * default so it is not tested here even if the conversion pattern</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> * uses localization. */</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="131" href="#131">131</a> socketAppender = <strong class="jxr_keyword">new</strong> SocketAppender(<span class="jxr_string">"localhost"</span>, PORT); +<a name="132" href="#132">132</a> rootLogger.addAppender(socketAppender); +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> common(<span class="jxr_string">"T2"</span>, <span class="jxr_string">"key2"</span>, <span class="jxr_string">"MDC-TEST2"</span>); +<a name="135" href="#135">135</a> delay(1); +<a name="136" href="#136">136</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT2, EXCEPTION1, +<a name="137" href="#137">137</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> Transformer.transform( +<a name="140" href="#140">140</a> TEMP, FILTERED, +<a name="141" href="#141">141</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { cf, <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="142" href="#142">142</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="143" href="#143">143</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>() }); +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/socketServer.2"</span>)); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">/**</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * The pattern on the server side: %5p %x [%t] %C (%F:%L) %m%n</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> * meaning that we are testing NDC and locatization functionality</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> * across the wire. */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test3() <strong class="jxr_keyword">throws</strong> Exception { +<a name="153" href="#153">153</a> socketAppender = <strong class="jxr_keyword">new</strong> SocketAppender(<span class="jxr_string">"localhost"</span>, PORT); +<a name="154" href="#154">154</a> socketAppender.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="155" href="#155">155</a> rootLogger.addAppender(socketAppender); +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> common(<span class="jxr_string">"T3"</span>, <span class="jxr_string">"key3"</span>, <span class="jxr_string">"MDC-TEST3"</span>); +<a name="158" href="#158">158</a> delay(1); +<a name="159" href="#159">159</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT3, EXCEPTION1, +<a name="160" href="#160">160</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> Transformer.transform( +<a name="163" href="#163">163</a> TEMP, FILTERED, +<a name="164" href="#164">164</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { cf, <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="165" href="#165">165</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="166" href="#166">166</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>() }); +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/socketServer.3"</span>)); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment">/**</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> * The pattern on the server side: %5p %x %X{key1}%X{key4} [%t] %c{1} - %m%n </em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> * meaning that we are testing NDC, MDC and localization functionality across </em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> * the wire. </em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> */</em> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test4() <strong class="jxr_keyword">throws</strong> Exception { +<a name="177" href="#177">177</a> socketAppender = <strong class="jxr_keyword">new</strong> SocketAppender(<span class="jxr_string">"localhost"</span>, PORT); +<a name="178" href="#178">178</a> socketAppender.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="179" href="#179">179</a> rootLogger.addAppender(socketAppender); +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> NDC.push(<span class="jxr_string">"some"</span>); +<a name="182" href="#182">182</a> common(<span class="jxr_string">"T4"</span>, <span class="jxr_string">"key4"</span>, <span class="jxr_string">"MDC-TEST4"</span>); +<a name="183" href="#183">183</a> NDC.pop(); +<a name="184" href="#184">184</a> delay(1); +<a name="185" href="#185">185</a> <em class="jxr_comment">//</em> +<a name="186" href="#186">186</a> <em class="jxr_comment">// These tests check MDC operation which</em> +<a name="187" href="#187">187</a> <em class="jxr_comment">// requires JDK 1.2 or later</em> +<a name="188" href="#188">188</a> <strong class="jxr_keyword">if</strong>(!System.getProperty(<span class="jxr_string">"java.version"</span>).startsWith(<span class="jxr_string">"1.1."</span>)) { +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT4, EXCEPTION1, +<a name="191" href="#191">191</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="192" href="#192">192</a> Transformer.transform( +<a name="193" href="#193">193</a> TEMP, FILTERED, +<a name="194" href="#194">194</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { cf, <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="195" href="#195">195</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="196" href="#196">196</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>() }); +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/socketServer.4"</span>)); +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">/**</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> * The pattern on the server side: %5p %x %X{key1}%X{key5} [%t] %c{1} - %m%n </em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> *</em> +<a name="205" href="#205">205</a> <em class="jxr_javadoccomment"> * The test case uses wraps an AsyncAppender around the</em> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> * SocketAppender. This tests was written specifically for bug</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> * report #9155.</em> +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> * Prior to the bug fix the output on the server did not contain the</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> * MDC-TEST5 string because the MDC clone operation (in getMDCCopy</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> * method) operation is performed twice, once from the main thread</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> * which is correct, and a second time from the AsyncAppender's</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> * dispatch thread which is incrorrect.</em> +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> */</em> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test5() <strong class="jxr_keyword">throws</strong> Exception { +<a name="217" href="#217">217</a> socketAppender = <strong class="jxr_keyword">new</strong> SocketAppender(<span class="jxr_string">"localhost"</span>, PORT); +<a name="218" href="#218">218</a> socketAppender.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="219" href="#219">219</a> AsyncAppender asyncAppender = <strong class="jxr_keyword">new</strong> AsyncAppender(); +<a name="220" href="#220">220</a> asyncAppender.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="221" href="#221">221</a> asyncAppender.addAppender(socketAppender); +<a name="222" href="#222">222</a> rootLogger.addAppender(asyncAppender); +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> NDC.push(<span class="jxr_string">"some5"</span>); +<a name="225" href="#225">225</a> common(<span class="jxr_string">"T5"</span>, <span class="jxr_string">"key5"</span>, <span class="jxr_string">"MDC-TEST5"</span>); +<a name="226" href="#226">226</a> NDC.pop(); +<a name="227" href="#227">227</a> delay(2); +<a name="228" href="#228">228</a> <em class="jxr_comment">//</em> +<a name="229" href="#229">229</a> <em class="jxr_comment">// These tests check MDC operation which</em> +<a name="230" href="#230">230</a> <em class="jxr_comment">// requires JDK 1.2 or later</em> +<a name="231" href="#231">231</a> <strong class="jxr_keyword">if</strong>(!System.getProperty(<span class="jxr_string">"java.version"</span>).startsWith(<span class="jxr_string">"1.1."</span>)) { +<a name="232" href="#232">232</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT5, EXCEPTION1, +<a name="233" href="#233">233</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> Transformer.transform( +<a name="236" href="#236">236</a> TEMP, FILTERED, +<a name="237" href="#237">237</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { cf, <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="238" href="#238">238</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="239" href="#239">239</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>() }); +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/socketServer.5"</span>)); +<a name="242" href="#242">242</a> } +<a name="243" href="#243">243</a> } +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment">/**</em> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> * The pattern on the server side: %5p %x %X{hostID}${key6} [%t] %c{1} - %m%n </em> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment"> *</em> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment"> * This test checks whether client-side MDC overrides the server side.</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> * It uses an AsyncAppender encapsulating a SocketAppender</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> */</em> +<a name="251" href="#251">251</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test6() <strong class="jxr_keyword">throws</strong> Exception { +<a name="252" href="#252">252</a> socketAppender = <strong class="jxr_keyword">new</strong> SocketAppender(<span class="jxr_string">"localhost"</span>, PORT); +<a name="253" href="#253">253</a> socketAppender.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="254" href="#254">254</a> AsyncAppender asyncAppender = <strong class="jxr_keyword">new</strong> AsyncAppender(); +<a name="255" href="#255">255</a> asyncAppender.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="256" href="#256">256</a> asyncAppender.addAppender(socketAppender); +<a name="257" href="#257">257</a> rootLogger.addAppender(asyncAppender); +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> NDC.push(<span class="jxr_string">"some6"</span>); +<a name="260" href="#260">260</a> MDC.put(<span class="jxr_string">"hostID"</span>, <span class="jxr_string">"client-test6"</span>); +<a name="261" href="#261">261</a> common(<span class="jxr_string">"T6"</span>, <span class="jxr_string">"key6"</span>, <span class="jxr_string">"MDC-TEST6"</span>); +<a name="262" href="#262">262</a> NDC.pop(); +<a name="263" href="#263">263</a> MDC.remove(<span class="jxr_string">"hostID"</span>); +<a name="264" href="#264">264</a> delay(2); +<a name="265" href="#265">265</a> <em class="jxr_comment">//</em> +<a name="266" href="#266">266</a> <em class="jxr_comment">// These tests check MDC operation which</em> +<a name="267" href="#267">267</a> <em class="jxr_comment">// requires JDK 1.2 or later</em> +<a name="268" href="#268">268</a> <strong class="jxr_keyword">if</strong>(!System.getProperty(<span class="jxr_string">"java.version"</span>).startsWith(<span class="jxr_string">"1.1."</span>)) { +<a name="269" href="#269">269</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT6, EXCEPTION1, +<a name="270" href="#270">270</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> Transformer.transform( +<a name="273" href="#273">273</a> TEMP, FILTERED, +<a name="274" href="#274">274</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { cf, <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="275" href="#275">275</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="276" href="#276">276</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>() }); +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/socketServer.6"</span>)); +<a name="279" href="#279">279</a> } +<a name="280" href="#280">280</a> } +<a name="281" href="#281">281</a> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment">/**</em> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment"> * The pattern on the server side: %5p %x %X{hostID}${key7} [%t] %c{1} - %m%n </em> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> *</em> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment"> * This test checks whether client-side MDC overrides the server side.</em> +<a name="286" href="#286">286</a> <em class="jxr_javadoccomment"> */</em> +<a name="287" href="#287">287</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test7() <strong class="jxr_keyword">throws</strong> Exception { +<a name="288" href="#288">288</a> socketAppender = <strong class="jxr_keyword">new</strong> SocketAppender(<span class="jxr_string">"localhost"</span>, PORT); +<a name="289" href="#289">289</a> socketAppender.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="290" href="#290">290</a> rootLogger.addAppender(socketAppender); +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> NDC.push(<span class="jxr_string">"some7"</span>); +<a name="293" href="#293">293</a> MDC.put(<span class="jxr_string">"hostID"</span>, <span class="jxr_string">"client-test7"</span>); +<a name="294" href="#294">294</a> common(<span class="jxr_string">"T7"</span>, <span class="jxr_string">"key7"</span>, <span class="jxr_string">"MDC-TEST7"</span>); +<a name="295" href="#295">295</a> NDC.pop(); +<a name="296" href="#296">296</a> MDC.remove(<span class="jxr_string">"hostID"</span>); +<a name="297" href="#297">297</a> delay(2); +<a name="298" href="#298">298</a> <em class="jxr_comment">//</em> +<a name="299" href="#299">299</a> <em class="jxr_comment">// These tests check MDC operation which</em> +<a name="300" href="#300">300</a> <em class="jxr_comment">// requires JDK 1.2 or later</em> +<a name="301" href="#301">301</a> <strong class="jxr_keyword">if</strong>(!System.getProperty(<span class="jxr_string">"java.version"</span>).startsWith(<span class="jxr_string">"1.1."</span>)) { +<a name="302" href="#302">302</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT7, EXCEPTION1, +<a name="303" href="#303">303</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="304" href="#304">304</a> +<a name="305" href="#305">305</a> Transformer.transform( +<a name="306" href="#306">306</a> TEMP, FILTERED, +<a name="307" href="#307">307</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { cf, <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="308" href="#308">308</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="309" href="#309">309</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>() }); +<a name="310" href="#310">310</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/socketServer.7"</span>)); +<a name="311" href="#311">311</a> } +<a name="312" href="#312">312</a> } +<a name="313" href="#313">313</a> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment">/**</em> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> * The pattern on the server side: %5p %x %X{hostID} ${key8} [%t] %c{1} - %m%n</em> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> *</em> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment"> * This test checks whether server side MDC works.</em> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> */</em> +<a name="319" href="#319">319</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test8() <strong class="jxr_keyword">throws</strong> Exception { +<a name="320" href="#320">320</a> socketAppender = <strong class="jxr_keyword">new</strong> SocketAppender(<span class="jxr_string">"localhost"</span>, PORT); +<a name="321" href="#321">321</a> socketAppender.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="322" href="#322">322</a> rootLogger.addAppender(socketAppender); +<a name="323" href="#323">323</a> +<a name="324" href="#324">324</a> NDC.push(<span class="jxr_string">"some8"</span>); +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> <em class="jxr_comment">//</em> +<a name="327" href="#327">327</a> <em class="jxr_comment">// The test has relied on the receiving code to</em> +<a name="328" href="#328">328</a> <em class="jxr_comment">// combine the sent MDC with the receivers MDC</em> +<a name="329" href="#329">329</a> <em class="jxr_comment">// (which contains a value for hostID).</em> +<a name="330" href="#330">330</a> <em class="jxr_comment">// The mechanism of how that happens is not clear</em> +<a name="331" href="#331">331</a> <em class="jxr_comment">// and it does not work with Apache Harmony.</em> +<a name="332" href="#332">332</a> <em class="jxr_comment">// Unclear if it is a Harmony issue.</em> +<a name="333" href="#333">333</a> <strong class="jxr_keyword">if</strong> (System.getProperty(<span class="jxr_string">"java.vendor"</span>).indexOf(<span class="jxr_string">"Apache"</span>) != -1) { +<a name="334" href="#334">334</a> MDC.put(<span class="jxr_string">"hostID"</span>, <span class="jxr_string">"shortSocketServer"</span>); +<a name="335" href="#335">335</a> } +<a name="336" href="#336">336</a> +<a name="337" href="#337">337</a> common(<span class="jxr_string">"T8"</span>, <span class="jxr_string">"key8"</span>, <span class="jxr_string">"MDC-TEST8"</span>); +<a name="338" href="#338">338</a> NDC.pop(); +<a name="339" href="#339">339</a> delay(2); +<a name="340" href="#340">340</a> <em class="jxr_comment">//</em> +<a name="341" href="#341">341</a> <em class="jxr_comment">// These tests check MDC operation which</em> +<a name="342" href="#342">342</a> <em class="jxr_comment">// requires JDK 1.2 or later</em> +<a name="343" href="#343">343</a> <strong class="jxr_keyword">if</strong>(!System.getProperty(<span class="jxr_string">"java.version"</span>).startsWith(<span class="jxr_string">"1.1."</span>)) { +<a name="344" href="#344">344</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{PAT8, EXCEPTION1, +<a name="345" href="#345">345</a> EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="346" href="#346">346</a> +<a name="347" href="#347">347</a> Transformer.transform( +<a name="348" href="#348">348</a> TEMP, FILTERED, +<a name="349" href="#349">349</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { cf, <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="350" href="#350">350</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="351" href="#351">351</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>() }); +<a name="352" href="#352">352</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/socketServer.8"</span>)); +<a name="353" href="#353">353</a> } +<a name="354" href="#354">354</a> } +<a name="355" href="#355">355</a> +<a name="356" href="#356">356</a> <strong class="jxr_keyword">static</strong> +<a name="357" href="#357">357</a> <strong class="jxr_keyword">void</strong> common(String dc, String key, Object o) { +<a name="358" href="#358">358</a> String oldThreadName = Thread.currentThread().getName(); +<a name="359" href="#359">359</a> Thread.currentThread().setName(<span class="jxr_string">"main"</span>); +<a name="360" href="#360">360</a> +<a name="361" href="#361">361</a> <strong class="jxr_keyword">int</strong> i = -1; +<a name="362" href="#362">362</a> NDC.push(dc); +<a name="363" href="#363">363</a> MDC.put(key, o); +<a name="364" href="#364">364</a> Logger root = Logger.getRootLogger(); +<a name="365" href="#365">365</a> +<a name="366" href="#366">366</a> logger.setLevel(Level.DEBUG); +<a name="367" href="#367">367</a> rootLogger.setLevel(Level.DEBUG); +<a name="368" href="#368">368</a> +<a name="369" href="#369">369</a> logger.log(XLevel.TRACE, <span class="jxr_string">"Message "</span> + ++i); +<a name="370" href="#370">370</a> +<a name="371" href="#371">371</a> logger.setLevel(Level.TRACE); +<a name="372" href="#372">372</a> rootLogger.setLevel(Level.TRACE); +<a name="373" href="#373">373</a> +<a name="374" href="#374">374</a> logger.trace(<span class="jxr_string">"Message "</span> + ++i); +<a name="375" href="#375">375</a> root.trace(<span class="jxr_string">"Message "</span> + ++i); +<a name="376" href="#376">376</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i); +<a name="377" href="#377">377</a> root.debug(<span class="jxr_string">"Message "</span> + ++i); +<a name="378" href="#378">378</a> logger.info(<span class="jxr_string">"Message "</span> + ++i); +<a name="379" href="#379">379</a> logger.warn(<span class="jxr_string">"Message "</span> + ++i); +<a name="380" href="#380">380</a> logger.log(XLevel.LETHAL, <span class="jxr_string">"Message "</span> + ++i); <em class="jxr_comment">//5</em> +<a name="381" href="#381">381</a> +<a name="382" href="#382">382</a> Exception e = <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Just testing"</span>); +<a name="383" href="#383">383</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="384" href="#384">384</a> root.error(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="385" href="#385">385</a> NDC.pop(); +<a name="386" href="#386">386</a> MDC.remove(key); +<a name="387" href="#387">387</a> +<a name="388" href="#388">388</a> Thread.currentThread().setName(oldThreadName); +<a name="389" href="#389">389</a> } +<a name="390" href="#390">390</a> +<a name="391" href="#391">391</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> delay(<strong class="jxr_keyword">int</strong> secs) { +<a name="392" href="#392">392</a> <strong class="jxr_keyword">try</strong> {Thread.sleep(secs*1000);} <strong class="jxr_keyword">catch</strong>(Exception e) {} +<a name="393" href="#393">393</a> } +<a name="394" href="#394">394</a> +<a name="395" href="#395">395</a> +<a name="396" href="#396">396</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="397" href="#397">397</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="398" href="#398">398</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketServerTestCase.html">SocketServerTestCase</a>(<span class="jxr_string">"test1"</span>)); +<a name="399" href="#399">399</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketServerTestCase.html">SocketServerTestCase</a>(<span class="jxr_string">"test2"</span>)); +<a name="400" href="#400">400</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketServerTestCase.html">SocketServerTestCase</a>(<span class="jxr_string">"test3"</span>)); +<a name="401" href="#401">401</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketServerTestCase.html">SocketServerTestCase</a>(<span class="jxr_string">"test4"</span>)); +<a name="402" href="#402">402</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketServerTestCase.html">SocketServerTestCase</a>(<span class="jxr_string">"test5"</span>)); +<a name="403" href="#403">403</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketServerTestCase.html">SocketServerTestCase</a>(<span class="jxr_string">"test6"</span>)); +<a name="404" href="#404">404</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketServerTestCase.html">SocketServerTestCase</a>(<span class="jxr_string">"test7"</span>)); +<a name="405" href="#405">405</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketServerTestCase.html">SocketServerTestCase</a>(<span class="jxr_string">"test8"</span>)); +<a name="406" href="#406">406</a> <strong class="jxr_keyword">return</strong> suite; +<a name="407" href="#407">407</a> } +<a name="408" href="#408">408</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SyslogAppenderTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SyslogAppenderTest.html new file mode 100644 index 00000000000..220acb4c6f5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/SyslogAppenderTest.html @@ -0,0 +1,608 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SyslogAppenderTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AsyncAppender; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PatternLayout; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.VectorErrorHandler; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.HTMLLayout; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> java.util.StringTokenizer; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> java.net.DatagramSocket; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> java.net.DatagramPacket; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> java.util.Locale; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> java.util.Calendar; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * Tests for SyslogAppender</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> *</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> *</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SyslogAppenderTest.html">SyslogAppenderTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * Create new instance of SyslogAppenderTest.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * @param testName test name</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SyslogAppenderTest.html">SyslogAppenderTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">super</strong>(testName); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * Resets configuration after every test.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="58" href="#58">58</a> LogManager.resetConfiguration(); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * Test default constructor.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDefaultConstructor() { +<a name="65" href="#65">65</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="66" href="#66">66</a> assertEquals(<span class="jxr_string">"user"</span>, appender.getFacility()); +<a name="67" href="#67">67</a> assertEquals(false, appender.getFacilityPrinting()); +<a name="68" href="#68">68</a> assertNull(appender.getLayout()); +<a name="69" href="#69">69</a> assertNull(appender.getSyslogHost()); +<a name="70" href="#70">70</a> assertTrue(appender.requiresLayout()); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * Test two parameter constructor.</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTwoParamConstructor() { +<a name="77" href="#77">77</a> Layout layout = <strong class="jxr_keyword">new</strong> PatternLayout(); +<a name="78" href="#78">78</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(layout, 24); +<a name="79" href="#79">79</a> assertEquals(<span class="jxr_string">"daemon"</span>, appender.getFacility()); +<a name="80" href="#80">80</a> assertEquals(false, appender.getFacilityPrinting()); +<a name="81" href="#81">81</a> assertEquals(layout, appender.getLayout()); +<a name="82" href="#82">82</a> assertNull(appender.getSyslogHost()); +<a name="83" href="#83">83</a> assertTrue(appender.requiresLayout()); +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment">/**</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * Test two parameter constructor with unexpected facility.</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> */</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTwoParamConstructorBadFacility() { +<a name="90" href="#90">90</a> Layout layout = <strong class="jxr_keyword">new</strong> PatternLayout(); +<a name="91" href="#91">91</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(layout, 25); +<a name="92" href="#92">92</a> assertEquals(<span class="jxr_string">"user"</span>, appender.getFacility()); +<a name="93" href="#93">93</a> assertEquals(false, appender.getFacilityPrinting()); +<a name="94" href="#94">94</a> assertEquals(layout, appender.getLayout()); +<a name="95" href="#95">95</a> assertNull(appender.getSyslogHost()); +<a name="96" href="#96">96</a> assertTrue(appender.requiresLayout()); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * Test three parameter constructor.</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testThreeParamConstructor() { +<a name="103" href="#103">103</a> Layout layout = <strong class="jxr_keyword">new</strong> PatternLayout(); +<a name="104" href="#104">104</a> SyslogAppender appender = +<a name="105" href="#105">105</a> <strong class="jxr_keyword">new</strong> SyslogAppender(layout, <span class="jxr_string">"syslog.example.org"</span>, 24); +<a name="106" href="#106">106</a> assertEquals(<span class="jxr_string">"daemon"</span>, appender.getFacility()); +<a name="107" href="#107">107</a> assertEquals(false, appender.getFacilityPrinting()); +<a name="108" href="#108">108</a> assertEquals(layout, appender.getLayout()); +<a name="109" href="#109">109</a> assertEquals(<span class="jxr_string">"syslog.example.org"</span>, appender.getSyslogHost()); +<a name="110" href="#110">110</a> assertTrue(appender.requiresLayout()); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">/**</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> * Test getFacilityString for expected facility codes.</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> */</em> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetFacilityString() { +<a name="117" href="#117">117</a> String expected = +<a name="118" href="#118">118</a> <span class="jxr_string">"kern user mail daemon auth syslog lpr news "</span> +<a name="119" href="#119">119</a> + <span class="jxr_string">"uucp cron authpriv ftp local0 local1 local2 local3 "</span> +<a name="120" href="#120">120</a> + <span class="jxr_string">"local4 local5 local6 local7 "</span>; +<a name="121" href="#121">121</a> StringBuffer actual = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt;= 11; i++) { +<a name="124" href="#124">124</a> actual.append(SyslogAppender.getFacilityString(i &lt;&lt; 3)); +<a name="125" href="#125">125</a> actual.append(' '); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 16; i &lt;= 23; i++) { +<a name="129" href="#129">129</a> actual.append(SyslogAppender.getFacilityString(i &lt;&lt; 3)); +<a name="130" href="#130">130</a> actual.append(' '); +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> assertEquals(expected, actual.toString()); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">/**</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> * Test getFacilityString for some unexpected facility codes.</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> */</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetFacilityStringUnexpected() { +<a name="140" href="#140">140</a> assertNull(SyslogAppender.getFacilityString(1)); +<a name="141" href="#141">141</a> assertNull(SyslogAppender.getFacilityString(12 &lt;&lt; 3)); +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">/**</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> * Test getFacility with a bogus facility name.</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> */</em> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetFacilityBogus() { +<a name="148" href="#148">148</a> assertEquals(-1, SyslogAppender.getFacility(<span class="jxr_string">"bogus"</span>)); +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">/**</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> * Test getFacility with a null facility name.</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> */</em> +<a name="154" href="#154">154</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetFacilityNull() { +<a name="155" href="#155">155</a> assertEquals(-1, SyslogAppender.getFacility(<strong class="jxr_keyword">null</strong>)); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">/**</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> * Test getFacility for expected system facility names.</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> */</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetFacilitySystemNames() { +<a name="162" href="#162">162</a> String[] names = +<a name="163" href="#163">163</a> <strong class="jxr_keyword">new</strong> String[] { +<a name="164" href="#164">164</a> <span class="jxr_string">"kErn"</span>, <span class="jxr_string">"usEr"</span>, <span class="jxr_string">"MaIL"</span>, <span class="jxr_string">"daemOn"</span>, <span class="jxr_string">"auTh"</span>, <span class="jxr_string">"syslOg"</span>, <span class="jxr_string">"lPr"</span>, <span class="jxr_string">"newS"</span>, +<a name="165" href="#165">165</a> <span class="jxr_string">"Uucp"</span>, <span class="jxr_string">"croN"</span>, <span class="jxr_string">"authprIv"</span>, <span class="jxr_string">"ftP"</span> +<a name="166" href="#166">166</a> }; +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt;= 11; i++) { +<a name="169" href="#169">169</a> assertEquals(i &lt;&lt; 3, SyslogAppender.getFacility(names[i])); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> } +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">/**</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> * Test getFacility for expected system facility names.</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> */</em> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetFacilityLocalNames() { +<a name="177" href="#177">177</a> String[] names = +<a name="178" href="#178">178</a> <strong class="jxr_keyword">new</strong> String[] { +<a name="179" href="#179">179</a> <span class="jxr_string">"lOcal0"</span>, <span class="jxr_string">"LOCAL1"</span>, <span class="jxr_string">"loCal2"</span>, <span class="jxr_string">"locAl3"</span>, <span class="jxr_string">"locaL4"</span>, <span class="jxr_string">"local5"</span>, <span class="jxr_string">"LOCal6"</span>, +<a name="180" href="#180">180</a> <span class="jxr_string">"loCAL7"</span> +<a name="181" href="#181">181</a> }; +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt;= 7; i++) { +<a name="184" href="#184">184</a> assertEquals((16 + i) &lt;&lt; 3, SyslogAppender.getFacility(names[i])); +<a name="185" href="#185">185</a> } +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">/**</em> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment"> * Test setFacilityPrinting.</em> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> */</em> +<a name="191" href="#191">191</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetFacilityPrinting() { +<a name="192" href="#192">192</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="193" href="#193">193</a> assertFalse(appender.getFacilityPrinting()); +<a name="194" href="#194">194</a> appender.setFacilityPrinting(<strong class="jxr_keyword">true</strong>); +<a name="195" href="#195">195</a> assertTrue(appender.getFacilityPrinting()); +<a name="196" href="#196">196</a> appender.setFacilityPrinting(false); +<a name="197" href="#197">197</a> assertFalse(appender.getFacilityPrinting()); +<a name="198" href="#198">198</a> } +<a name="199" href="#199">199</a> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment">/**</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> * Test of SyslogAppender constants.</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> */</em> +<a name="203" href="#203">203</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testConstants() { +<a name="204" href="#204">204</a> assertEquals(0 &lt;&lt; 3, SyslogAppender.LOG_KERN); +<a name="205" href="#205">205</a> assertEquals(1 &lt;&lt; 3, SyslogAppender.LOG_USER); +<a name="206" href="#206">206</a> assertEquals(2 &lt;&lt; 3, SyslogAppender.LOG_MAIL); +<a name="207" href="#207">207</a> assertEquals(3 &lt;&lt; 3, SyslogAppender.LOG_DAEMON); +<a name="208" href="#208">208</a> assertEquals(4 &lt;&lt; 3, SyslogAppender.LOG_AUTH); +<a name="209" href="#209">209</a> assertEquals(5 &lt;&lt; 3, SyslogAppender.LOG_SYSLOG); +<a name="210" href="#210">210</a> assertEquals(6 &lt;&lt; 3, SyslogAppender.LOG_LPR); +<a name="211" href="#211">211</a> assertEquals(7 &lt;&lt; 3, SyslogAppender.LOG_NEWS); +<a name="212" href="#212">212</a> assertEquals(8 &lt;&lt; 3, SyslogAppender.LOG_UUCP); +<a name="213" href="#213">213</a> assertEquals(9 &lt;&lt; 3, SyslogAppender.LOG_CRON); +<a name="214" href="#214">214</a> assertEquals(10 &lt;&lt; 3, SyslogAppender.LOG_AUTHPRIV); +<a name="215" href="#215">215</a> assertEquals(11 &lt;&lt; 3, SyslogAppender.LOG_FTP); +<a name="216" href="#216">216</a> assertEquals(16 &lt;&lt; 3, SyslogAppender.LOG_LOCAL0); +<a name="217" href="#217">217</a> assertEquals(17 &lt;&lt; 3, SyslogAppender.LOG_LOCAL1); +<a name="218" href="#218">218</a> assertEquals(18 &lt;&lt; 3, SyslogAppender.LOG_LOCAL2); +<a name="219" href="#219">219</a> assertEquals(19 &lt;&lt; 3, SyslogAppender.LOG_LOCAL3); +<a name="220" href="#220">220</a> assertEquals(20 &lt;&lt; 3, SyslogAppender.LOG_LOCAL4); +<a name="221" href="#221">221</a> assertEquals(21 &lt;&lt; 3, SyslogAppender.LOG_LOCAL5); +<a name="222" href="#222">222</a> assertEquals(22 &lt;&lt; 3, SyslogAppender.LOG_LOCAL6); +<a name="223" href="#223">223</a> assertEquals(23 &lt;&lt; 3, SyslogAppender.LOG_LOCAL7); +<a name="224" href="#224">224</a> } +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">/**</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> * Test setFacility with null.</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> * Should have no effect.</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> */</em> +<a name="230" href="#230">230</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetFacilityKern() { +<a name="231" href="#231">231</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="232" href="#232">232</a> appender.setFacility(<span class="jxr_string">"kern"</span>); +<a name="233" href="#233">233</a> appender.setFacility(<strong class="jxr_keyword">null</strong>); +<a name="234" href="#234">234</a> assertEquals(<span class="jxr_string">"kern"</span>, appender.getFacility()); +<a name="235" href="#235">235</a> } +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment">/**</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> * Test setFacility with null.</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> * Should have no effect.</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> */</em> +<a name="241" href="#241">241</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetFacilityNull() { +<a name="242" href="#242">242</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="243" href="#243">243</a> appender.setFacility(<span class="jxr_string">"kern"</span>); +<a name="244" href="#244">244</a> appender.setFacility(<strong class="jxr_keyword">null</strong>); +<a name="245" href="#245">245</a> assertEquals(<span class="jxr_string">"kern"</span>, appender.getFacility()); +<a name="246" href="#246">246</a> } +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment">/**</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> * Test setFacility with bogus value.</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> * Should reset to user.</em> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> */</em> +<a name="252" href="#252">252</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetFacilityBogus() { +<a name="253" href="#253">253</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="254" href="#254">254</a> appender.setFacility(<span class="jxr_string">"kern"</span>); +<a name="255" href="#255">255</a> appender.setFacility(<span class="jxr_string">"bogus"</span>); +<a name="256" href="#256">256</a> assertEquals(<span class="jxr_string">"user"</span>, appender.getFacility()); +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <em class="jxr_javadoccomment">/**</em> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment"> * Tests calling setFacility after appender has been activated.</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> */</em> +<a name="262" href="#262">262</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSetFacilityAfterActivation() { +<a name="263" href="#263">263</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="264" href="#264">264</a> appender.setName(<span class="jxr_string">"foo"</span>); +<a name="265" href="#265">265</a> appender.setThreshold(Level.INFO); +<a name="266" href="#266">266</a> appender.setSyslogHost(<span class="jxr_string">"localhost"</span>); +<a name="267" href="#267">267</a> appender.setFacility(<span class="jxr_string">"user"</span>); +<a name="268" href="#268">268</a> appender.setLayout(<strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%m%n"</span>)); +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> <a href="../../../../org/apache/log4j/VectorErrorHandler.html">VectorErrorHandler</a> errorHandler = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/VectorErrorHandler.html">VectorErrorHandler</a>(); +<a name="271" href="#271">271</a> appender.setErrorHandler(errorHandler); +<a name="272" href="#272">272</a> appender.activateOptions(); +<a name="273" href="#273">273</a> appender.setFacility(<span class="jxr_string">"kern"</span>); +<a name="274" href="#274">274</a> assertEquals(<span class="jxr_string">"kern"</span>, appender.getFacility()); +<a name="275" href="#275">275</a> } +<a name="276" href="#276">276</a> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment">/**</em> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment"> * Tests that append method drops messages below threshold.</em> +<a name="279" href="#279">279</a> <em class="jxr_javadoccomment"> * Can't reach isSevereAsThreshold call in SyslogAppender.append</em> +<a name="280" href="#280">280</a> <em class="jxr_javadoccomment"> * since it is checked in AppenderSkeleton.doAppend.</em> +<a name="281" href="#281">281</a> <em class="jxr_javadoccomment"> */</em> +<a name="282" href="#282">282</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAppendBelowThreshold() { +<a name="283" href="#283">283</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="284" href="#284">284</a> appender.setThreshold(Level.ERROR); +<a name="285" href="#285">285</a> appender.activateOptions(); +<a name="286" href="#286">286</a> +<a name="287" href="#287">287</a> Logger logger = Logger.getRootLogger(); +<a name="288" href="#288">288</a> logger.addAppender(appender); +<a name="289" href="#289">289</a> logger.info( +<a name="290" href="#290">290</a> <span class="jxr_string">"Should not be logged by SyslogAppenderTest.testAppendBelowThreshold."</span>); +<a name="291" href="#291">291</a> } +<a name="292" href="#292">292</a> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment">/**</em> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> * Tests that append method drops messages below threshold.</em> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment"> */</em> +<a name="296" href="#296">296</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAppendNoHost() { +<a name="297" href="#297">297</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="298" href="#298">298</a> appender.setName(<span class="jxr_string">"foo"</span>); +<a name="299" href="#299">299</a> appender.setThreshold(Level.INFO); +<a name="300" href="#300">300</a> +<a name="301" href="#301">301</a> <a href="../../../../org/apache/log4j/VectorErrorHandler.html">VectorErrorHandler</a> errorHandler = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/VectorErrorHandler.html">VectorErrorHandler</a>(); +<a name="302" href="#302">302</a> appender.setErrorHandler(errorHandler); +<a name="303" href="#303">303</a> appender.setLayout(<strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%m%n"</span>)); +<a name="304" href="#304">304</a> appender.activateOptions(); +<a name="305" href="#305">305</a> +<a name="306" href="#306">306</a> Logger logger = Logger.getRootLogger(); +<a name="307" href="#307">307</a> logger.addAppender(appender); +<a name="308" href="#308">308</a> logger.info( +<a name="309" href="#309">309</a> <span class="jxr_string">"Should not be logged by SyslogAppenderTest.testAppendNoHost."</span>); +<a name="310" href="#310">310</a> assertEquals(1, errorHandler.size()); +<a name="311" href="#311">311</a> +<a name="312" href="#312">312</a> <em class="jxr_comment">//</em> +<a name="313" href="#313">313</a> <em class="jxr_comment">// Appender is misspelled in implementation</em> +<a name="314" href="#314">314</a> <em class="jxr_comment">//</em> +<a name="315" href="#315">315</a> assertEquals( +<a name="316" href="#316">316</a> <span class="jxr_string">"No syslog host is set for SyslogAppedender named \&quot;foo\&quot;."</span>, +<a name="317" href="#317">317</a> errorHandler.getMessage(0)); +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> <em class="jxr_javadoccomment">/**</em> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment"> * Tests append method under normal conditions.</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> */</em> +<a name="323" href="#323">323</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAppend() { +<a name="324" href="#324">324</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="325" href="#325">325</a> appender.setName(<span class="jxr_string">"foo"</span>); +<a name="326" href="#326">326</a> appender.setThreshold(Level.INFO); +<a name="327" href="#327">327</a> appender.setSyslogHost(<span class="jxr_string">"localhost"</span>); +<a name="328" href="#328">328</a> appender.setFacility(<span class="jxr_string">"user"</span>); +<a name="329" href="#329">329</a> appender.setLayout(<strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%m%n"</span>)); +<a name="330" href="#330">330</a> +<a name="331" href="#331">331</a> <a href="../../../../org/apache/log4j/VectorErrorHandler.html">VectorErrorHandler</a> errorHandler = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/VectorErrorHandler.html">VectorErrorHandler</a>(); +<a name="332" href="#332">332</a> appender.setErrorHandler(errorHandler); +<a name="333" href="#333">333</a> appender.activateOptions(); +<a name="334" href="#334">334</a> +<a name="335" href="#335">335</a> <em class="jxr_comment">//</em> +<a name="336" href="#336">336</a> <em class="jxr_comment">// wrap SyslogAppender with an Async since appender may</em> +<a name="337" href="#337">337</a> <em class="jxr_comment">// hang if syslogd is not accepting network messages</em> +<a name="338" href="#338">338</a> <em class="jxr_comment">//</em> +<a name="339" href="#339">339</a> AsyncAppender asyncAppender = <strong class="jxr_keyword">new</strong> AsyncAppender(); +<a name="340" href="#340">340</a> asyncAppender.addAppender(appender); +<a name="341" href="#341">341</a> asyncAppender.activateOptions(); +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> Logger logger = Logger.getRootLogger(); +<a name="344" href="#344">344</a> logger.addAppender(asyncAppender); +<a name="345" href="#345">345</a> +<a name="346" href="#346">346</a> Exception e = +<a name="347" href="#347">347</a> <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Expected exception from SyslogAppenderTest.testAppend"</span>); +<a name="348" href="#348">348</a> logger.info( +<a name="349" href="#349">349</a> <span class="jxr_string">"Expected message from log4j unit test SyslogAppenderTest.testAppend."</span>, e); +<a name="350" href="#350">350</a> assertEquals(0, errorHandler.size()); +<a name="351" href="#351">351</a> } +<a name="352" href="#352">352</a> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment">/**</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> * Tests SyslogAppender with IPv6 address.</em> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment"> */</em> +<a name="356" href="#356">356</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIPv6() { +<a name="357" href="#357">357</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="358" href="#358">358</a> appender.setSyslogHost(<span class="jxr_string">"::1"</span>); +<a name="359" href="#359">359</a> } +<a name="360" href="#360">360</a> +<a name="361" href="#361">361</a> <em class="jxr_javadoccomment">/**</em> +<a name="362" href="#362">362</a> <em class="jxr_javadoccomment"> * Tests SyslogAppender with IPv6 address enclosed in square brackets.</em> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> */</em> +<a name="364" href="#364">364</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIPv6InBrackets() { +<a name="365" href="#365">365</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="366" href="#366">366</a> appender.setSyslogHost(<span class="jxr_string">"[::1]"</span>); +<a name="367" href="#367">367</a> } +<a name="368" href="#368">368</a> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment">/**</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> * Tests SyslogAppender with IPv6 address enclosed in square brackets</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> * followed by port specification.</em> +<a name="372" href="#372">372</a> <em class="jxr_javadoccomment"> */</em> +<a name="373" href="#373">373</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIPv6AndPort() { +<a name="374" href="#374">374</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="375" href="#375">375</a> appender.setSyslogHost(<span class="jxr_string">"[::1]:1514"</span>); +<a name="376" href="#376">376</a> } +<a name="377" href="#377">377</a> +<a name="378" href="#378">378</a> <em class="jxr_javadoccomment">/**</em> +<a name="379" href="#379">379</a> <em class="jxr_javadoccomment"> * Tests SyslogAppender with host name enclosed in square brackets</em> +<a name="380" href="#380">380</a> <em class="jxr_javadoccomment"> * followed by port specification.</em> +<a name="381" href="#381">381</a> <em class="jxr_javadoccomment"> */</em> +<a name="382" href="#382">382</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testHostNameAndPort() { +<a name="383" href="#383">383</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="384" href="#384">384</a> appender.setSyslogHost(<span class="jxr_string">"localhost:1514"</span>); +<a name="385" href="#385">385</a> } +<a name="386" href="#386">386</a> +<a name="387" href="#387">387</a> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment">/**</em> +<a name="389" href="#389">389</a> <em class="jxr_javadoccomment"> * Tests SyslogAppender with IPv4 address followed by port specification.</em> +<a name="390" href="#390">390</a> <em class="jxr_javadoccomment"> */</em> +<a name="391" href="#391">391</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIPv4AndPort() { +<a name="392" href="#392">392</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="393" href="#393">393</a> appender.setSyslogHost(<span class="jxr_string">"127.0.0.1:1514"</span>); +<a name="394" href="#394">394</a> } +<a name="395" href="#395">395</a> +<a name="396" href="#396">396</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String[] log(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> header, +<a name="397" href="#397">397</a> <strong class="jxr_keyword">final</strong> String msg, +<a name="398" href="#398">398</a> <strong class="jxr_keyword">final</strong> Exception ex, +<a name="399" href="#399">399</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> packets) <strong class="jxr_keyword">throws</strong> Exception { +<a name="400" href="#400">400</a> DatagramSocket ds = <strong class="jxr_keyword">new</strong> DatagramSocket(); +<a name="401" href="#401">401</a> ds.setSoTimeout(2000); +<a name="402" href="#402">402</a> +<a name="403" href="#403">403</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="404" href="#404">404</a> appender.setSyslogHost(<span class="jxr_string">"localhost:"</span> + ds.getLocalPort()); +<a name="405" href="#405">405</a> appender.setName(<span class="jxr_string">"name"</span>); +<a name="406" href="#406">406</a> appender.setHeader(header); +<a name="407" href="#407">407</a> PatternLayout pl = <strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%m"</span>); +<a name="408" href="#408">408</a> appender.setLayout(pl); +<a name="409" href="#409">409</a> appender.activateOptions(); +<a name="410" href="#410">410</a> +<a name="411" href="#411">411</a> Logger l = Logger.getRootLogger(); +<a name="412" href="#412">412</a> l.addAppender(appender); +<a name="413" href="#413">413</a> <strong class="jxr_keyword">if</strong> (ex == <strong class="jxr_keyword">null</strong>) { +<a name="414" href="#414">414</a> l.info(msg); +<a name="415" href="#415">415</a> } <strong class="jxr_keyword">else</strong> { +<a name="416" href="#416">416</a> l.error(msg, ex); +<a name="417" href="#417">417</a> } +<a name="418" href="#418">418</a> appender.close(); +<a name="419" href="#419">419</a> String[] retval = <strong class="jxr_keyword">new</strong> String[packets]; +<a name="420" href="#420">420</a> byte[] buf = <strong class="jxr_keyword">new</strong> byte[1000]; +<a name="421" href="#421">421</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; packets; i++) { +<a name="422" href="#422">422</a> DatagramPacket p = <strong class="jxr_keyword">new</strong> DatagramPacket(buf, 0, buf.length); +<a name="423" href="#423">423</a> ds.receive(p); +<a name="424" href="#424">424</a> retval[i] = <strong class="jxr_keyword">new</strong> String(p.getData(), 0, p.getLength()); +<a name="425" href="#425">425</a> } +<a name="426" href="#426">426</a> ds.close(); +<a name="427" href="#427">427</a> <strong class="jxr_keyword">return</strong> retval; +<a name="428" href="#428">428</a> } +<a name="429" href="#429">429</a> +<a name="430" href="#430">430</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testActualLogging() <strong class="jxr_keyword">throws</strong> Exception { +<a name="431" href="#431">431</a> String s = log(false, <span class="jxr_string">"greetings"</span>, <strong class="jxr_keyword">null</strong>, 1)[0]; +<a name="432" href="#432">432</a> StringTokenizer st = <strong class="jxr_keyword">new</strong> StringTokenizer(s, <span class="jxr_string">"&lt;&gt;() "</span>); +<a name="433" href="#433">433</a> assertEquals(<span class="jxr_string">"14"</span>, st.nextToken()); +<a name="434" href="#434">434</a> assertEquals(<span class="jxr_string">"greetings"</span>, st.nextToken()); +<a name="435" href="#435">435</a> } +<a name="436" href="#436">436</a> +<a name="437" href="#437">437</a> <em class="jxr_javadoccomment">/**</em> +<a name="438" href="#438">438</a> <em class="jxr_javadoccomment"> * Exception with printStackTrace that breaks earlier SyslogAppender.</em> +<a name="439" href="#439">439</a> <em class="jxr_javadoccomment"> */</em> +<a name="440" href="#440">440</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SyslogAppenderTest.html">MishandledException</a> <strong class="jxr_keyword">extends</strong> Exception { +<a name="441" href="#441">441</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L; +<a name="442" href="#442">442</a> <em class="jxr_comment">/*</em> +<a name="443" href="#443">443</a> <em class="jxr_comment"> * Create new instance.</em> +<a name="444" href="#444">444</a> <em class="jxr_comment"> */</em> +<a name="445" href="#445">445</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SyslogAppenderTest.html">MishandledException</a>() { +<a name="446" href="#446">446</a> } +<a name="447" href="#447">447</a> +<a name="448" href="#448">448</a> <em class="jxr_javadoccomment">/**</em> +<a name="449" href="#449">449</a> <em class="jxr_javadoccomment"> * Print stack trace.</em> +<a name="450" href="#450">450</a> <em class="jxr_javadoccomment"> * @param w print writer, may not be null.</em> +<a name="451" href="#451">451</a> <em class="jxr_javadoccomment"> */</em> +<a name="452" href="#452">452</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> printStackTrace(<strong class="jxr_keyword">final</strong> java.io.PrintWriter w) { +<a name="453" href="#453">453</a> w.println(<span class="jxr_string">"Mishandled stack trace follows:"</span>); +<a name="454" href="#454">454</a> w.println(<span class="jxr_string">""</span>); +<a name="455" href="#455">455</a> w.println(<span class="jxr_string">"No tab here"</span>); +<a name="456" href="#456">456</a> w.println(<span class="jxr_string">"\ttab here"</span>); +<a name="457" href="#457">457</a> w.println(<span class="jxr_string">"\t"</span>); +<a name="458" href="#458">458</a> } +<a name="459" href="#459">459</a> } +<a name="460" href="#460">460</a> +<a name="461" href="#461">461</a> <em class="jxr_javadoccomment">/**</em> +<a name="462" href="#462">462</a> <em class="jxr_javadoccomment"> * Tests fix for bug 40502.</em> +<a name="463" href="#463">463</a> <em class="jxr_javadoccomment"> * @throws Exception on IOException.</em> +<a name="464" href="#464">464</a> <em class="jxr_javadoccomment"> */</em> +<a name="465" href="#465">465</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBadTabbing() <strong class="jxr_keyword">throws</strong> Exception { +<a name="466" href="#466">466</a> String[] s = log(false, <span class="jxr_string">"greetings"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SyslogAppenderTest.html">MishandledException</a>(), 6); +<a name="467" href="#467">467</a> StringTokenizer st = <strong class="jxr_keyword">new</strong> StringTokenizer(s[0], <span class="jxr_string">"&lt;&gt;() "</span>); +<a name="468" href="#468">468</a> assertEquals(<span class="jxr_string">"11"</span>, st.nextToken()); +<a name="469" href="#469">469</a> assertEquals(<span class="jxr_string">"greetings"</span>, st.nextToken()); +<a name="470" href="#470">470</a> assertEquals(<span class="jxr_string">"&lt;11&gt;Mishandled stack trace follows:"</span>, s[1]); +<a name="471" href="#471">471</a> assertEquals(<span class="jxr_string">"&lt;11&gt;"</span>, s[2]); +<a name="472" href="#472">472</a> assertEquals(<span class="jxr_string">"&lt;11&gt;No tab here"</span>, s[3]); +<a name="473" href="#473">473</a> assertEquals(<span class="jxr_string">"&lt;11&gt;"</span> + SyslogAppender.TAB + <span class="jxr_string">"tab here"</span>, s[4]); +<a name="474" href="#474">474</a> assertEquals(<span class="jxr_string">"&lt;11&gt;"</span> + SyslogAppender.TAB, s[5]); +<a name="475" href="#475">475</a> } +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> <em class="jxr_javadoccomment">/**</em> +<a name="478" href="#478">478</a> <em class="jxr_javadoccomment"> * Tests presence of timestamp if header = true.</em> +<a name="479" href="#479">479</a> <em class="jxr_javadoccomment"> *</em> +<a name="480" href="#480">480</a> <em class="jxr_javadoccomment"> * @throws Exception if IOException.</em> +<a name="481" href="#481">481</a> <em class="jxr_javadoccomment"> */</em> +<a name="482" href="#482">482</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testHeaderLogging() <strong class="jxr_keyword">throws</strong> Exception { +<a name="483" href="#483">483</a> Date preDate = <strong class="jxr_keyword">new</strong> Date(); +<a name="484" href="#484">484</a> String s = log(<strong class="jxr_keyword">true</strong>, <span class="jxr_string">"greetings"</span>, <strong class="jxr_keyword">null</strong>, 1)[0]; +<a name="485" href="#485">485</a> Date postDate = <strong class="jxr_keyword">new</strong> Date(); +<a name="486" href="#486">486</a> assertEquals(<span class="jxr_string">"&lt;14&gt;"</span>, s.substring(0, 4)); +<a name="487" href="#487">487</a> +<a name="488" href="#488">488</a> String syslogDateStr = s.substring(4, 20); +<a name="489" href="#489">489</a> SimpleDateFormat fmt = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"MMM dd HH:mm:ss "</span>, Locale.ENGLISH); +<a name="490" href="#490">490</a> Date syslogDate = fmt.parse(syslogDateStr); +<a name="491" href="#491">491</a> Calendar cal = Calendar.getInstance(Locale.ENGLISH); +<a name="492" href="#492">492</a> cal.setTime(syslogDate); +<a name="493" href="#493">493</a> <strong class="jxr_keyword">int</strong> syslogMonth = cal.get(Calendar.MONTH); +<a name="494" href="#494">494</a> <strong class="jxr_keyword">int</strong> syslogDay = cal.get(Calendar.DATE); +<a name="495" href="#495">495</a> <strong class="jxr_keyword">if</strong> (syslogDay &lt; 10) { +<a name="496" href="#496">496</a> assertEquals(' ', syslogDateStr.charAt(4)); +<a name="497" href="#497">497</a> } +<a name="498" href="#498">498</a> cal.setTime(preDate); +<a name="499" href="#499">499</a> <strong class="jxr_keyword">int</strong> preMonth = cal.get(Calendar.MONTH); +<a name="500" href="#500">500</a> cal.set(Calendar.MILLISECOND, 0); +<a name="501" href="#501">501</a> preDate = cal.getTime(); +<a name="502" href="#502">502</a> <strong class="jxr_keyword">int</strong> syslogYear; +<a name="503" href="#503">503</a> <strong class="jxr_keyword">if</strong> (preMonth == syslogMonth) { +<a name="504" href="#504">504</a> syslogYear = cal.get(Calendar.YEAR); +<a name="505" href="#505">505</a> } <strong class="jxr_keyword">else</strong> { +<a name="506" href="#506">506</a> cal.setTime(postDate); +<a name="507" href="#507">507</a> syslogYear = cal.get(Calendar.YEAR); +<a name="508" href="#508">508</a> } +<a name="509" href="#509">509</a> cal.setTime(syslogDate); +<a name="510" href="#510">510</a> cal.set(Calendar.YEAR, syslogYear); +<a name="511" href="#511">511</a> syslogDate = cal.getTime(); +<a name="512" href="#512">512</a> assertTrue(syslogDate.compareTo(preDate) &gt;= 0); +<a name="513" href="#513">513</a> assertTrue(syslogDate.compareTo(postDate) &lt;= 0); +<a name="514" href="#514">514</a> } +<a name="515" href="#515">515</a> +<a name="516" href="#516">516</a> +<a name="517" href="#517">517</a> <em class="jxr_javadoccomment">/**</em> +<a name="518" href="#518">518</a> <em class="jxr_javadoccomment"> * Tests that any header or footer in layout is sent.</em> +<a name="519" href="#519">519</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="520" href="#520">520</a> <em class="jxr_javadoccomment"> */</em> +<a name="521" href="#521">521</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLayoutHeader() <strong class="jxr_keyword">throws</strong> Exception { +<a name="522" href="#522">522</a> DatagramSocket ds = <strong class="jxr_keyword">new</strong> DatagramSocket(); +<a name="523" href="#523">523</a> ds.setSoTimeout(2000); +<a name="524" href="#524">524</a> +<a name="525" href="#525">525</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="526" href="#526">526</a> appender.setSyslogHost(<span class="jxr_string">"localhost:"</span> + ds.getLocalPort()); +<a name="527" href="#527">527</a> appender.setName(<span class="jxr_string">"name"</span>); +<a name="528" href="#528">528</a> appender.setHeader(false); +<a name="529" href="#529">529</a> HTMLLayout pl = <strong class="jxr_keyword">new</strong> HTMLLayout(); +<a name="530" href="#530">530</a> appender.setLayout(pl); +<a name="531" href="#531">531</a> appender.activateOptions(); +<a name="532" href="#532">532</a> +<a name="533" href="#533">533</a> Logger l = Logger.getRootLogger(); +<a name="534" href="#534">534</a> l.addAppender(appender); +<a name="535" href="#535">535</a> l.info(<span class="jxr_string">"Hello, World"</span>); +<a name="536" href="#536">536</a> appender.close(); +<a name="537" href="#537">537</a> String[] s = <strong class="jxr_keyword">new</strong> String[3]; +<a name="538" href="#538">538</a> byte[] buf = <strong class="jxr_keyword">new</strong> byte[1000]; +<a name="539" href="#539">539</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; 3; i++) { +<a name="540" href="#540">540</a> DatagramPacket p = <strong class="jxr_keyword">new</strong> DatagramPacket(buf, 0, buf.length); +<a name="541" href="#541">541</a> ds.receive(p); +<a name="542" href="#542">542</a> s[i] = <strong class="jxr_keyword">new</strong> String(p.getData(), 0, p.getLength()); +<a name="543" href="#543">543</a> } +<a name="544" href="#544">544</a> ds.close(); +<a name="545" href="#545">545</a> assertEquals(<span class="jxr_string">"&lt;14&gt;&lt;!DOCTYPE"</span>, s[0].substring(0,13)); +<a name="546" href="#546">546</a> assertEquals(<span class="jxr_string">"&lt;14&gt;&lt;/table&gt;"</span>, s[2].substring(0,12)); +<a name="547" href="#547">547</a> } +<a name="548" href="#548">548</a> +<a name="549" href="#549">549</a> <em class="jxr_javadoccomment">/**</em> +<a name="550" href="#550">550</a> <em class="jxr_javadoccomment"> * Tests that syslog packets do not exceed 1024 bytes.</em> +<a name="551" href="#551">551</a> <em class="jxr_javadoccomment"> * See bug 42087.</em> +<a name="552" href="#552">552</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="553" href="#553">553</a> <em class="jxr_javadoccomment"> */</em> +<a name="554" href="#554">554</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBigPackets() <strong class="jxr_keyword">throws</strong> Exception { +<a name="555" href="#555">555</a> DatagramSocket ds = <strong class="jxr_keyword">new</strong> DatagramSocket(); +<a name="556" href="#556">556</a> ds.setSoTimeout(2000); +<a name="557" href="#557">557</a> +<a name="558" href="#558">558</a> SyslogAppender appender = <strong class="jxr_keyword">new</strong> SyslogAppender(); +<a name="559" href="#559">559</a> appender.setSyslogHost(<span class="jxr_string">"localhost:"</span> + ds.getLocalPort()); +<a name="560" href="#560">560</a> appender.setName(<span class="jxr_string">"name"</span>); +<a name="561" href="#561">561</a> appender.setHeader(false); +<a name="562" href="#562">562</a> PatternLayout pl = <strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%m"</span>); +<a name="563" href="#563">563</a> appender.setLayout(pl); +<a name="564" href="#564">564</a> appender.activateOptions(); +<a name="565" href="#565">565</a> +<a name="566" href="#566">566</a> Logger l = Logger.getRootLogger(); +<a name="567" href="#567">567</a> l.addAppender(appender); +<a name="568" href="#568">568</a> StringBuffer msgbuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="569" href="#569">569</a> <strong class="jxr_keyword">while</strong>(msgbuf.length() &lt; 8000) { +<a name="570" href="#570">570</a> msgbuf.append(<span class="jxr_string">"0123456789"</span>); +<a name="571" href="#571">571</a> } +<a name="572" href="#572">572</a> String msg = msgbuf.toString(); +<a name="573" href="#573">573</a> l.info(msg); +<a name="574" href="#574">574</a> appender.close(); +<a name="575" href="#575">575</a> String[] s = <strong class="jxr_keyword">new</strong> String[8]; +<a name="576" href="#576">576</a> byte[] buf = <strong class="jxr_keyword">new</strong> byte[1200]; +<a name="577" href="#577">577</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; 8; i++) { +<a name="578" href="#578">578</a> DatagramPacket p = <strong class="jxr_keyword">new</strong> DatagramPacket(buf, 0, buf.length); +<a name="579" href="#579">579</a> ds.receive(p); +<a name="580" href="#580">580</a> assertTrue(p.getLength() &lt;= 1024); +<a name="581" href="#581">581</a> s[i] = <strong class="jxr_keyword">new</strong> String(p.getData(), 0, p.getLength()); +<a name="582" href="#582">582</a> } +<a name="583" href="#583">583</a> ds.close(); +<a name="584" href="#584">584</a> StringBuffer rcvbuf = <strong class="jxr_keyword">new</strong> StringBuffer(s[0]); +<a name="585" href="#585">585</a> rcvbuf.delete(0, 4); +<a name="586" href="#586">586</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 1; i &lt; 8; i++) { +<a name="587" href="#587">587</a> rcvbuf.setLength(rcvbuf.length() - 3); +<a name="588" href="#588">588</a> rcvbuf.append(s[i].substring(s[i].indexOf(<span class="jxr_string">"..."</span>) + 3)); +<a name="589" href="#589">589</a> } +<a name="590" href="#590">590</a> assertEquals(msg.length(), rcvbuf.length()); +<a name="591" href="#591">591</a> assertEquals(msg, rcvbuf.toString()); +<a name="592" href="#592">592</a> } +<a name="593" href="#593">593</a> +<a name="594" href="#594">594</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/TelnetAppenderTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/TelnetAppenderTest.html new file mode 100644 index 00000000000..1f4fb3b03fc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/TelnetAppenderTest.html @@ -0,0 +1,91 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TelnetAppenderTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayOutputStream; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PatternLayout; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/TelnetAppenderTest.html">TelnetAppenderTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">int</strong> port = 54353; +<a name="32" href="#32">32</a> ByteArrayOutputStream bo = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream(); +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/TelnetAppenderTest.html">ReadThread</a> <strong class="jxr_keyword">extends</strong> Thread { +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="36" href="#36">36</a> <strong class="jxr_keyword">try</strong> { +<a name="37" href="#37">37</a> Socket s = <strong class="jxr_keyword">new</strong> Socket(<span class="jxr_string">"localhost"</span>, port); +<a name="38" href="#38">38</a> InputStream i = s.getInputStream(); +<a name="39" href="#39">39</a> <strong class="jxr_keyword">while</strong> (!Thread.interrupted()) { +<a name="40" href="#40">40</a> <strong class="jxr_keyword">int</strong> c = i.read(); +<a name="41" href="#41">41</a> <strong class="jxr_keyword">if</strong> (c == -1) +<a name="42" href="#42">42</a> <strong class="jxr_keyword">break</strong>; +<a name="43" href="#43">43</a> bo.write(c); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> s.close(); +<a name="46" href="#46">46</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="47" href="#47">47</a> e.printStackTrace(); +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIt() <strong class="jxr_keyword">throws</strong> Exception { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">int</strong> oldActive = Thread.activeCount(); +<a name="54" href="#54">54</a> TelnetAppender ta = <strong class="jxr_keyword">new</strong> TelnetAppender(); +<a name="55" href="#55">55</a> ta.setName(<span class="jxr_string">"ta"</span>); +<a name="56" href="#56">56</a> ta.setPort(port); +<a name="57" href="#57">57</a> ta.setLayout(<strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%p - %m"</span>)); +<a name="58" href="#58">58</a> ta.activateOptions(); +<a name="59" href="#59">59</a> Logger l = Logger.getLogger(<span class="jxr_string">"x"</span>); +<a name="60" href="#60">60</a> l.addAppender(ta); +<a name="61" href="#61">61</a> Thread t = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/TelnetAppenderTest.html">ReadThread</a>(); +<a name="62" href="#62">62</a> t.start(); +<a name="63" href="#63">63</a> Thread.sleep(200); +<a name="64" href="#64">64</a> l.info(<span class="jxr_string">"hi"</span>); +<a name="65" href="#65">65</a> Thread.sleep(1000); +<a name="66" href="#66">66</a> ta.close(); +<a name="67" href="#67">67</a> Thread.sleep(200); +<a name="68" href="#68">68</a> t.interrupt(); +<a name="69" href="#69">69</a> t.join(); +<a name="70" href="#70">70</a> String s = bo.toString(); +<a name="71" href="#71">71</a> assertTrue(s.endsWith(<span class="jxr_string">"INFO - hi"</span>)); +<a name="72" href="#72">72</a> <strong class="jxr_keyword">if</strong>(System.getProperty(<span class="jxr_string">"java.vendor"</span>).indexOf(<span class="jxr_string">"Free"</span>) == -1) { +<a name="73" href="#73">73</a> assertEquals(oldActive, Thread.activeCount()); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/package-frame.html new file mode 100644 index 00000000000..5e9e2384d74 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/package-frame.html @@ -0,0 +1,51 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.net</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.net</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="SocketAppenderTest.html" target="classFrame">LastOnlyAppender</a> + </li> + <li> + <a href="SyslogAppenderTest.html" target="classFrame">MishandledException</a> + </li> + <li> + <a href="SMTPAppenderTest.html" target="classFrame">MockTriggeringEventEvaluator</a> + </li> + <li> + <a href="TelnetAppenderTest.html" target="classFrame">ReadThread</a> + </li> + <li> + <a href="SMTPAppenderTest.html" target="classFrame">SMTPAppenderTest</a> + </li> + <li> + <a href="ShortSocketServer.html" target="classFrame">ShortSocketServer</a> + </li> + <li> + <a href="SocketAppenderTest.html" target="classFrame">SocketAppenderTest</a> + </li> + <li> + <a href="SocketServerTestCase.html" target="classFrame">SocketServerTestCase</a> + </li> + <li> + <a href="SyslogAppenderTest.html" target="classFrame">SyslogAppenderTest</a> + </li> + <li> + <a href="TelnetAppenderTest.html" target="classFrame">TelnetAppenderTest</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/package-summary.html new file mode 100644 index 00000000000..adfb3e8ccea --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/net/package-summary.html @@ -0,0 +1,112 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.net</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.net</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="SocketAppenderTest.html" target="classFrame">LastOnlyAppender</a> + </td> + </tr> + <tr> + <td> + <a href="SyslogAppenderTest.html" target="classFrame">MishandledException</a> + </td> + </tr> + <tr> + <td> + <a href="SMTPAppenderTest.html" target="classFrame">MockTriggeringEventEvaluator</a> + </td> + </tr> + <tr> + <td> + <a href="TelnetAppenderTest.html" target="classFrame">ReadThread</a> + </td> + </tr> + <tr> + <td> + <a href="SMTPAppenderTest.html" target="classFrame">SMTPAppenderTest</a> + </td> + </tr> + <tr> + <td> + <a href="ShortSocketServer.html" target="classFrame">ShortSocketServer</a> + </td> + </tr> + <tr> + <td> + <a href="SocketAppenderTest.html" target="classFrame">SocketAppenderTest</a> + </td> + </tr> + <tr> + <td> + <a href="SocketServerTestCase.html" target="classFrame">SocketServerTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="SyslogAppenderTest.html" target="classFrame">SyslogAppenderTest</a> + </td> + </tr> + <tr> + <td> + <a href="TelnetAppenderTest.html" target="classFrame">TelnetAppenderTest</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/NTEventLogAppenderTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/NTEventLogAppenderTest.html new file mode 100644 index 00000000000..9606262281c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/NTEventLogAppenderTest.html @@ -0,0 +1,69 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NTEventLogAppenderTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.nt; +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.BasicConfigurator; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * NTEventLogAppender tests.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> *</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/nt/NTEventLogAppenderTest.html">NTEventLogAppenderTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * Clean up configuration after each test.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="38" href="#38">38</a> LogManager.shutdown(); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Simple test of NTEventLogAppender.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSimple() { +<a name="45" href="#45">45</a> BasicConfigurator.configure(<strong class="jxr_keyword">new</strong> NTEventLogAppender()); +<a name="46" href="#46">46</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.nt.NTEventLogAppenderTest"</span>); +<a name="47" href="#47">47</a> <strong class="jxr_keyword">int</strong> i = 0; +<a name="48" href="#48">48</a> logger.debug( <span class="jxr_string">"Message "</span> + i++); +<a name="49" href="#49">49</a> logger.info( <span class="jxr_string">"Message "</span> + i++); +<a name="50" href="#50">50</a> logger.warn( <span class="jxr_string">"Message "</span> + i++); +<a name="51" href="#51">51</a> logger.error( <span class="jxr_string">"Message "</span> + i++); +<a name="52" href="#52">52</a> logger.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i++); +<a name="53" href="#53">53</a> logger.debug(<span class="jxr_string">"Message "</span> + i++, <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Just testing."</span>)); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/package-frame.html new file mode 100644 index 00000000000..138e648e2c1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/package-frame.html @@ -0,0 +1,24 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.nt</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.nt</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="NTEventLogAppenderTest.html" target="classFrame">NTEventLogAppenderTest</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/package-summary.html similarity index 77% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter/package-summary.html rename to thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/package-summary.html index 632146ee102..2603fb37dfb 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter/package-summary.html +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/nt/package-summary.html @@ -1,72 +1,67 @@ - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> -<html xml:lang="en" lang="en"> - <head> - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> - <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> - </head> - <body> - <div class="overview"> - <ul> - <li> - <a href="../../../../overview-summary.html">Overview</a> - </li> - <li class="selected">Package</li> - </ul> - </div> - <div class="framenoframe"> - <ul> - <li> - <a href="../../../../index.html" target="_top">FRAMES</a> - </li> - <li> - <a href="package-summary.html" target="_top">NO FRAMES</a> - </li> - </ul> - </div> - - <h2>Package org.apache.log4j.filter</h2> - - <table class="summary"> - <thead> - <tr> - <th>Class Summary</th> - </tr> - </thead> - <tbody> - <tr> - <td> - <a href="SimpleFilterTest.html" target="classFrame">SimpleFilterTest</a> - </td> - </tr> - <tr> - <td> - <a href="TimeFilterTest.html" target="classFrame">TimeFilterTest</a> - </td> - </tr> - </tbody> - </table> - - <div class="overview"> - <ul> - <li> - <a href="../../../../overview-summary.html">Overview</a> - </li> - <li class="selected">Package</li> - </ul> - </div> - <div class="framenoframe"> - <ul> - <li> - <a href="../../../../index.html" target="_top">FRAMES</a> - </li> - <li> - <a href="package-summary.html" target="_top">NO FRAMES</a> - </li> - </ul> - </div> - <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. - </body> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.nt</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.nt</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="NTEventLogAppenderTest.html" target="classFrame">NTEventLogAppenderTest</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/ORTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/ORTestCase.html new file mode 100644 index 00000000000..510db038156 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/ORTestCase.html @@ -0,0 +1,259 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ORTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">//</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// Log4j uses the JUnit framework for internal unit testing. JUnit</em> +<a name="20" href="#20">20</a> <em class="jxr_comment">// available from</em> +<a name="21" href="#21">21</a> <em class="jxr_comment">//</em> +<a name="22" href="#22">22</a> <em class="jxr_comment">// http://www.junit.org</em> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.or; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> java.io.Serializable; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> Unit test the {@link ObjectRenderer}.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> @since 1.0 */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a> aor; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a> bor; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a> xor; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a> yor; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a> oor; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a> nor; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a> ior; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a> cor; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a> sor; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(String name) { +<a name="56" href="#56">56</a> <strong class="jxr_keyword">super</strong>(name); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">void</strong> setUp() { +<a name="62" href="#62">62</a> aor = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a>(<span class="jxr_string">"A"</span>); +<a name="63" href="#63">63</a> bor = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a>(<span class="jxr_string">"B"</span>); +<a name="64" href="#64">64</a> xor = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a>(<span class="jxr_string">"X"</span>); +<a name="65" href="#65">65</a> yor = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a>(<span class="jxr_string">"Y"</span>); +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> oor = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a>(<span class="jxr_string">"Object"</span>); +<a name="68" href="#68">68</a> nor = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a>(<span class="jxr_string">"Number"</span>); +<a name="69" href="#69">69</a> ior = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a>(<span class="jxr_string">"Integer"</span>); +<a name="70" href="#70">70</a> cor = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a>(<span class="jxr_string">"Comparable"</span>); +<a name="71" href="#71">71</a> sor = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a>(<span class="jxr_string">"Serializable"</span>); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_comment">// Add: no renderer</em> +<a name="75" href="#75">75</a> <em class="jxr_comment">// Expect: defaultRenderer</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">void</strong> test1() { +<a name="78" href="#78">78</a> RendererMap map = <strong class="jxr_keyword">new</strong> RendererMap(); +<a name="79" href="#79">79</a> ObjectRenderer dr = map.getDefaultRenderer(); +<a name="80" href="#80">80</a> ObjectRenderer r = map.get(Integer.<strong class="jxr_keyword">class</strong>); +<a name="81" href="#81">81</a> assertEquals(r, dr); +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_comment">// Add: Integer renderer</em> +<a name="85" href="#85">85</a> <em class="jxr_comment">// Expect: Integer renderer</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">void</strong> test2() { +<a name="88" href="#88">88</a> RendererMap map = <strong class="jxr_keyword">new</strong> RendererMap(); +<a name="89" href="#89">89</a> map.put(Integer.<strong class="jxr_keyword">class</strong>, ior); +<a name="90" href="#90">90</a> ObjectRenderer r = map.get(Integer.<strong class="jxr_keyword">class</strong>); +<a name="91" href="#91">91</a> assertEquals(r, ior); +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em class="jxr_comment">// Add: Number renderer</em> +<a name="96" href="#96">96</a> <em class="jxr_comment">// Expect: Number</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">public</strong> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">void</strong> test3() { +<a name="99" href="#99">99</a> RendererMap map = <strong class="jxr_keyword">new</strong> RendererMap(); +<a name="100" href="#100">100</a> map.put(Number.<strong class="jxr_keyword">class</strong>, ior); +<a name="101" href="#101">101</a> ObjectRenderer r = map.get(Integer.<strong class="jxr_keyword">class</strong>); +<a name="102" href="#102">102</a> assertEquals(r, ior); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_comment">// Add: Object renderer</em> +<a name="106" href="#106">106</a> <em class="jxr_comment">// Result: Object</em> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">public</strong> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">void</strong> test4() { +<a name="109" href="#109">109</a> RendererMap map = <strong class="jxr_keyword">new</strong> RendererMap(); +<a name="110" href="#110">110</a> map.put(Object.<strong class="jxr_keyword">class</strong>, oor); +<a name="111" href="#111">111</a> ObjectRenderer r = map.get(Integer.<strong class="jxr_keyword">class</strong>); +<a name="112" href="#112">112</a> assertEquals(r, oor); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_comment">// Add: Object, Number, Integer</em> +<a name="116" href="#116">116</a> <em class="jxr_comment">// Expect: Integer</em> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">public</strong> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">void</strong> test5() { +<a name="119" href="#119">119</a> RendererMap map = <strong class="jxr_keyword">new</strong> RendererMap(); +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> map.put(Object.<strong class="jxr_keyword">class</strong>, oor); +<a name="122" href="#122">122</a> map.put(Number.<strong class="jxr_keyword">class</strong>, nor); +<a name="123" href="#123">123</a> map.put(Integer.<strong class="jxr_keyword">class</strong>, ior); +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> ObjectRenderer r = map.get(Integer.<strong class="jxr_keyword">class</strong>); +<a name="126" href="#126">126</a> assertEquals(r, ior); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em class="jxr_comment">// Add: Object, Number</em> +<a name="130" href="#130">130</a> <em class="jxr_comment">// Expect: Number</em> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">public</strong> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">void</strong> test6() { +<a name="133" href="#133">133</a> RendererMap map = <strong class="jxr_keyword">new</strong> RendererMap(); +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> map.put(Object.<strong class="jxr_keyword">class</strong>, oor); +<a name="136" href="#136">136</a> map.put(Number.<strong class="jxr_keyword">class</strong>, nor); +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> ObjectRenderer r = map.get(Integer.<strong class="jxr_keyword">class</strong>); +<a name="139" href="#139">139</a> assertEquals(r, nor); +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <em class="jxr_comment">// Add: Comparable</em> +<a name="143" href="#143">143</a> <em class="jxr_comment">// Expect: Comparable</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">void</strong> test7() <strong class="jxr_keyword">throws</strong> Exception { +<a name="146" href="#146">146</a> RendererMap map = <strong class="jxr_keyword">new</strong> RendererMap(); +<a name="147" href="#147">147</a> Class comparable = <strong class="jxr_keyword">null</strong>; +<a name="148" href="#148">148</a> <strong class="jxr_keyword">try</strong> { +<a name="149" href="#149">149</a> comparable = Class.forName(<span class="jxr_string">"java.lang.Comparable"</span>); +<a name="150" href="#150">150</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="151" href="#151">151</a> <em class="jxr_comment">// likely JDK 1.1</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">return</strong>; +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> map.put(comparable, cor); +<a name="155" href="#155">155</a> ObjectRenderer r = map.get(Integer.<strong class="jxr_keyword">class</strong>); +<a name="156" href="#156">156</a> assertEquals(r, cor); +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_comment">// Add: Serializable</em> +<a name="161" href="#161">161</a> <em class="jxr_comment">// Expect: Serializablee</em> +<a name="162" href="#162">162</a> <strong class="jxr_keyword">public</strong> +<a name="163" href="#163">163</a> <strong class="jxr_keyword">void</strong> test8() { +<a name="164" href="#164">164</a> RendererMap map = <strong class="jxr_keyword">new</strong> RendererMap(); +<a name="165" href="#165">165</a> map.put(Serializable.<strong class="jxr_keyword">class</strong>, sor); +<a name="166" href="#166">166</a> ObjectRenderer r = map.get(Integer.<strong class="jxr_keyword">class</strong>); +<a name="167" href="#167">167</a> assertEquals(r, sor); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <em class="jxr_comment">// Add: Y</em> +<a name="171" href="#171">171</a> <em class="jxr_comment">// Expect: Y</em> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">public</strong> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">void</strong> test9() { +<a name="174" href="#174">174</a> RendererMap map = <strong class="jxr_keyword">new</strong> RendererMap(); +<a name="175" href="#175">175</a> map.put(Y.<strong class="jxr_keyword">class</strong>, yor); +<a name="176" href="#176">176</a> ObjectRenderer r = map.get(B.<strong class="jxr_keyword">class</strong>); +<a name="177" href="#177">177</a> assertEquals(r, yor); +<a name="178" href="#178">178</a> } +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <em class="jxr_comment">// Add: X</em> +<a name="181" href="#181">181</a> <em class="jxr_comment">// Expect: X</em> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">public</strong> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">void</strong> test10() { +<a name="184" href="#184">184</a> RendererMap map = <strong class="jxr_keyword">new</strong> RendererMap(); +<a name="185" href="#185">185</a> map.put(X.<strong class="jxr_keyword">class</strong>, xor); +<a name="186" href="#186">186</a> ObjectRenderer r = map.get(B.<strong class="jxr_keyword">class</strong>); +<a name="187" href="#187">187</a> assertEquals(r, xor); +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">public</strong> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">static</strong> +<a name="195" href="#195">195</a> Test suite() { +<a name="196" href="#196">196</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="197" href="#197">197</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(<span class="jxr_string">"test1"</span>)); +<a name="198" href="#198">198</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(<span class="jxr_string">"test2"</span>)); +<a name="199" href="#199">199</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(<span class="jxr_string">"test3"</span>)); +<a name="200" href="#200">200</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(<span class="jxr_string">"test4"</span>)); +<a name="201" href="#201">201</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(<span class="jxr_string">"test5"</span>)); +<a name="202" href="#202">202</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(<span class="jxr_string">"test6"</span>)); +<a name="203" href="#203">203</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(<span class="jxr_string">"test7"</span>)); +<a name="204" href="#204">204</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(<span class="jxr_string">"test8"</span>)); +<a name="205" href="#205">205</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(<span class="jxr_string">"test9"</span>)); +<a name="206" href="#206">206</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">ORTestCase</a>(<span class="jxr_string">"test10"</span>)); +<a name="207" href="#207">207</a> <strong class="jxr_keyword">return</strong> suite; +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> } +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a> implements ObjectRenderer { +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> String name; +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> <a href="../../../../org/apache/log4j/or/ORTestCase.html">UTObjectRenderer</a>(String name) { +<a name="219" href="#219">219</a> <strong class="jxr_keyword">this</strong>.name = name; +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">public</strong> +<a name="223" href="#223">223</a> String doRender(Object o) { +<a name="224" href="#224">224</a> <strong class="jxr_keyword">return</strong> name; +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> <strong class="jxr_keyword">public</strong> +<a name="228" href="#228">228</a> String toString() { +<a name="229" href="#229">229</a> <strong class="jxr_keyword">return</strong>(<span class="jxr_string">"UTObjectRenderer: "</span>+name); +<a name="230" href="#230">230</a> } +<a name="231" href="#231">231</a> } +<a name="232" href="#232">232</a> +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">X</a> { +<a name="235" href="#235">235</a> } +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">Y</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">X</a> { +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">A</a> implements <a href="../../../../org/apache/log4j/or/ORTestCase.html">Y</a> { +<a name="242" href="#242">242</a> } +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">B</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/or/ORTestCase.html">A</a> { +<a name="245" href="#245">245</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/package-frame.html new file mode 100644 index 00000000000..e614c37ec16 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/package-frame.html @@ -0,0 +1,39 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.or</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.or</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="ORTestCase.html" target="classFrame">A</a> + </li> + <li> + <a href="ORTestCase.html" target="classFrame">B</a> + </li> + <li> + <a href="ORTestCase.html" target="classFrame">ORTestCase</a> + </li> + <li> + <a href="ORTestCase.html" target="classFrame">UTObjectRenderer</a> + </li> + <li> + <a href="ORTestCase.html" target="classFrame">X</a> + </li> + <li> + <a href="ORTestCase.html" target="classFrame">Y</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/package-summary.html new file mode 100644 index 00000000000..351dbd40ac4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/or/package-summary.html @@ -0,0 +1,92 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.or</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.or</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="ORTestCase.html" target="classFrame">A</a> + </td> + </tr> + <tr> + <td> + <a href="ORTestCase.html" target="classFrame">B</a> + </td> + </tr> + <tr> + <td> + <a href="ORTestCase.html" target="classFrame">ORTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="ORTestCase.html" target="classFrame">UTObjectRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="ORTestCase.html" target="classFrame">X</a> + </td> + </tr> + <tr> + <td> + <a href="ORTestCase.html" target="classFrame">Y</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/package-frame.html new file mode 100644 index 00000000000..b08fa0ab914 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/package-frame.html @@ -0,0 +1,177 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j</title> + <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="AsyncAppenderTestCase.html" target="classFrame">AsyncAppenderTestCase</a> + </li> + <li> + <a href="TestLogXF.html" target="classFrame">BadStringifier</a> + </li> + <li> + <a href="AsyncAppenderTestCase.html" target="classFrame">BlockableVectorAppender</a> + </li> + <li> + <a href="StressCategory.html" target="classFrame">CT</a> + </li> + <li> + <a href="CategoryTest.html" target="classFrame">CategoryTest</a> + </li> + <li> + <a href="CoreTestSuite.html" target="classFrame">CoreTestSuite</a> + </li> + <li> + <a href="LoggerTestCase.html" target="classFrame">CountingAppender</a> + </li> + <li> + <a href="LoggerTestCase.html" target="classFrame">CountingHierarchyEventListener</a> + </li> + <li> + <a href="LevelTest.html" target="classFrame">CustomLevel</a> + </li> + <li> + <a href="DRFATestCase.html" target="classFrame">DRFATestCase</a> + </li> + <li> + <a href="DefaultThrowableRendererTest.html" target="classFrame">DefaultThrowableRendererTest</a> + </li> + <li> + <a href="EnhancedPatternLayoutTest.html" target="classFrame">DerivedPatternLayout</a> + </li> + <li> + <a href="EnhancedMyPatternLayout.html" target="classFrame">EnhancedMyPatternLayout</a> + </li> + <li> + <a href="EnhancedPatternLayoutTest.html" target="classFrame">EnhancedPatternLayoutTest</a> + </li> + <li> + <a href="EnhancedPatternLayoutTestCase.html" target="classFrame">EnhancedPatternLayoutTestCase</a> + </li> + <li> + <a href="EnhancedThrowableRendererTest.html" target="classFrame">EnhancedThrowableRendererTest</a> + </li> + <li> + <a href="FileAppenderTest.html" target="classFrame">FileAppenderTest</a> + </li> + <li> + <a href="PropertyConfiguratorTest.html" target="classFrame">FilterBasedTriggeringPolicy</a> + </li> + <li> + <a href="PropertyConfiguratorTest.html" target="classFrame">FixedWindowRollingPolicy</a> + </li> + <li> + <a href="AsyncAppenderTestCase.html" target="classFrame">Greeter</a> + </li> + <li> + <a href="HTMLLayoutTest.html" target="classFrame">HTMLLayoutTest</a> + </li> + <li> + <a href="HierarchyThresholdTestCase.html" target="classFrame">HierarchyThresholdTestCase</a> + </li> + <li> + <a href="Last.html" target="classFrame">Last</a> + </li> + <li> + <a href="LayoutTest.html" target="classFrame">LayoutTest</a> + </li> + <li> + <a href="LevelTest.html" target="classFrame">LevelTest</a> + </li> + <li> + <a href="LogCapture.html" target="classFrame">LogCapture</a> + </li> + <li> + <a href="LogManagerTest.html" target="classFrame">LogManagerTest</a> + </li> + <li> + <a href="LoggerTestCase.html" target="classFrame">LoggerTestCase</a> + </li> + <li> + <a href="MinimumTestCase.html" target="classFrame">MinimumTestCase</a> + </li> + <li> + <a href="CategoryTest.html" target="classFrame">MockCategory</a> + </li> + <li> + <a href="LayoutTest.html" target="classFrame">MockLayout</a> + </li> + <li> + <a href="PropertyConfiguratorTest.html" target="classFrame">MockThrowableRenderer</a> + </li> + <li> + <a href="MyPatternLayout.html" target="classFrame">MyPatternLayout</a> + </li> + <li> + <a href="MyPatternParser.html" target="classFrame">MyPatternParser</a> + </li> + <li> + <a href="AsyncAppenderTestCase.html" target="classFrame">NullPointerAppender</a> + </li> + <li> + <a href="PatternLayoutTest.html" target="classFrame">PatternLayoutTest</a> + </li> + <li> + <a href="PatternLayoutTestCase.html" target="classFrame">PatternLayoutTestCase</a> + </li> + <li> + <a href="PriorityTest.html" target="classFrame">PriorityTest</a> + </li> + <li> + <a href="HTMLLayoutTest.html" target="classFrame">ProblemLevel</a> + </li> + <li> + <a href="PropertyConfiguratorTest.html" target="classFrame">PropertyConfiguratorTest</a> + </li> + <li> + <a href="RFATestCase.html" target="classFrame">RFATestCase</a> + </li> + <li> + <a href="PropertyConfiguratorTest.html" target="classFrame">RollingFileAppender</a> + </li> + <li> + <a href="PropertyConfiguratorTest.html" target="classFrame">RollingPolicy</a> + </li> + <li> + <a href="StressCategory.html" target="classFrame">StressCategory</a> + </li> + <li> + <a href="TTCCLayoutTest.html" target="classFrame">TTCCLayoutTest</a> + </li> + <li> + <a href="TestLogMF.html" target="classFrame">TestLogMF</a> + </li> + <li> + <a href="TestLogSF.html" target="classFrame">TestLogSF</a> + </li> + <li> + <a href="TestLogXF.html" target="classFrame">TestLogXF</a> + </li> + <li> + <a href="PropertyConfiguratorTest.html" target="classFrame">TriggeringPolicy</a> + </li> + <li> + <a href="MyPatternParser.html" target="classFrame">UserDirPatternConverter</a> + </li> + <li> + <a href="VectorAppender.html" target="classFrame">VectorAppender</a> + </li> + <li> + <a href="VectorErrorHandler.html" target="classFrame">VectorErrorHandler</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/package-summary.html new file mode 100644 index 00000000000..27e3edb3b2b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/package-summary.html @@ -0,0 +1,322 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j</title> + <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="AsyncAppenderTestCase.html" target="classFrame">AsyncAppenderTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="TestLogXF.html" target="classFrame">BadStringifier</a> + </td> + </tr> + <tr> + <td> + <a href="AsyncAppenderTestCase.html" target="classFrame">BlockableVectorAppender</a> + </td> + </tr> + <tr> + <td> + <a href="StressCategory.html" target="classFrame">CT</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryTest.html" target="classFrame">CategoryTest</a> + </td> + </tr> + <tr> + <td> + <a href="CoreTestSuite.html" target="classFrame">CoreTestSuite</a> + </td> + </tr> + <tr> + <td> + <a href="LoggerTestCase.html" target="classFrame">CountingAppender</a> + </td> + </tr> + <tr> + <td> + <a href="LoggerTestCase.html" target="classFrame">CountingHierarchyEventListener</a> + </td> + </tr> + <tr> + <td> + <a href="LevelTest.html" target="classFrame">CustomLevel</a> + </td> + </tr> + <tr> + <td> + <a href="DRFATestCase.html" target="classFrame">DRFATestCase</a> + </td> + </tr> + <tr> + <td> + <a href="DefaultThrowableRendererTest.html" target="classFrame">DefaultThrowableRendererTest</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedPatternLayoutTest.html" target="classFrame">DerivedPatternLayout</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedMyPatternLayout.html" target="classFrame">EnhancedMyPatternLayout</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedPatternLayoutTest.html" target="classFrame">EnhancedPatternLayoutTest</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedPatternLayoutTestCase.html" target="classFrame">EnhancedPatternLayoutTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedThrowableRendererTest.html" target="classFrame">EnhancedThrowableRendererTest</a> + </td> + </tr> + <tr> + <td> + <a href="FileAppenderTest.html" target="classFrame">FileAppenderTest</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfiguratorTest.html" target="classFrame">FilterBasedTriggeringPolicy</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfiguratorTest.html" target="classFrame">FixedWindowRollingPolicy</a> + </td> + </tr> + <tr> + <td> + <a href="AsyncAppenderTestCase.html" target="classFrame">Greeter</a> + </td> + </tr> + <tr> + <td> + <a href="HTMLLayoutTest.html" target="classFrame">HTMLLayoutTest</a> + </td> + </tr> + <tr> + <td> + <a href="HierarchyThresholdTestCase.html" target="classFrame">HierarchyThresholdTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="Last.html" target="classFrame">Last</a> + </td> + </tr> + <tr> + <td> + <a href="LayoutTest.html" target="classFrame">LayoutTest</a> + </td> + </tr> + <tr> + <td> + <a href="LevelTest.html" target="classFrame">LevelTest</a> + </td> + </tr> + <tr> + <td> + <a href="LogCapture.html" target="classFrame">LogCapture</a> + </td> + </tr> + <tr> + <td> + <a href="LogManagerTest.html" target="classFrame">LogManagerTest</a> + </td> + </tr> + <tr> + <td> + <a href="LoggerTestCase.html" target="classFrame">LoggerTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="MinimumTestCase.html" target="classFrame">MinimumTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryTest.html" target="classFrame">MockCategory</a> + </td> + </tr> + <tr> + <td> + <a href="LayoutTest.html" target="classFrame">MockLayout</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfiguratorTest.html" target="classFrame">MockThrowableRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="MyPatternLayout.html" target="classFrame">MyPatternLayout</a> + </td> + </tr> + <tr> + <td> + <a href="MyPatternParser.html" target="classFrame">MyPatternParser</a> + </td> + </tr> + <tr> + <td> + <a href="AsyncAppenderTestCase.html" target="classFrame">NullPointerAppender</a> + </td> + </tr> + <tr> + <td> + <a href="PatternLayoutTest.html" target="classFrame">PatternLayoutTest</a> + </td> + </tr> + <tr> + <td> + <a href="PatternLayoutTestCase.html" target="classFrame">PatternLayoutTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="PriorityTest.html" target="classFrame">PriorityTest</a> + </td> + </tr> + <tr> + <td> + <a href="HTMLLayoutTest.html" target="classFrame">ProblemLevel</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfiguratorTest.html" target="classFrame">PropertyConfiguratorTest</a> + </td> + </tr> + <tr> + <td> + <a href="RFATestCase.html" target="classFrame">RFATestCase</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfiguratorTest.html" target="classFrame">RollingFileAppender</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfiguratorTest.html" target="classFrame">RollingPolicy</a> + </td> + </tr> + <tr> + <td> + <a href="StressCategory.html" target="classFrame">StressCategory</a> + </td> + </tr> + <tr> + <td> + <a href="TTCCLayoutTest.html" target="classFrame">TTCCLayoutTest</a> + </td> + </tr> + <tr> + <td> + <a href="TestLogMF.html" target="classFrame">TestLogMF</a> + </td> + </tr> + <tr> + <td> + <a href="TestLogSF.html" target="classFrame">TestLogSF</a> + </td> + </tr> + <tr> + <td> + <a href="TestLogXF.html" target="classFrame">TestLogXF</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfiguratorTest.html" target="classFrame">TriggeringPolicy</a> + </td> + </tr> + <tr> + <td> + <a href="MyPatternParser.html" target="classFrame">UserDirPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="VectorAppender.html" target="classFrame">VectorAppender</a> + </td> + </tr> + <tr> + <td> + <a href="VectorErrorHandler.html" target="classFrame">VectorErrorHandler</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html new file mode 100644 index 00000000000..6922b49f10a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html @@ -0,0 +1,407 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CachedDateFormatTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.pattern.CachedDateFormat; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> java.util.Locale; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> java.util.Calendar; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> Unit test {@link AbsoluteTimeDateFormat}.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @author Curt Arnold</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html">CachedDateFormatTest</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * Test constructor</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @param name String test name</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html">CachedDateFormatTest</a>(String name) { +<a name="45" href="#45">45</a> <strong class="jxr_keyword">super</strong>(name); +<a name="46" href="#46">46</a> } +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> DateFormat createAbsoluteTimeDateFormat(TimeZone timeZone) { +<a name="49" href="#49">49</a> DateFormat df = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"HH:mm:ss,SSS"</span>); +<a name="50" href="#50">50</a> df.setTimeZone(timeZone); +<a name="51" href="#51">51</a> <strong class="jxr_keyword">return</strong> df; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * Timezone representing GMT.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> TimeZone GMT = TimeZone.getTimeZone(<span class="jxr_string">"GMT"</span>); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * Timezone for Chicago, Ill. USA.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> TimeZone CHICAGO = TimeZone.getTimeZone( +<a name="64" href="#64">64</a> <span class="jxr_string">"America/Chicago"</span>); +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * Test multiple calls in close intervals.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> */</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() { +<a name="70" href="#70">70</a> <em class="jxr_comment">// subsequent calls within one minute</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">// are optimized to reuse previous formatted value</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">// make a couple of nearly spaced calls</em> +<a name="73" href="#73">73</a> DateFormat gmtFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat(createAbsoluteTimeDateFormat(GMT), 1000); +<a name="74" href="#74">74</a> <strong class="jxr_keyword">long</strong> ticks = 12601L * 86400000L; +<a name="75" href="#75">75</a> Date jul1 = <strong class="jxr_keyword">new</strong> Date(ticks); +<a name="76" href="#76">76</a> assertEquals(<span class="jxr_string">"00:00:00,000"</span>, gmtFormat.format(jul1)); +<a name="77" href="#77">77</a> Date plus8ms = <strong class="jxr_keyword">new</strong> Date(ticks + 8); +<a name="78" href="#78">78</a> assertEquals(<span class="jxr_string">"00:00:00,008"</span>, gmtFormat.format(plus8ms)); +<a name="79" href="#79">79</a> Date plus17ms = <strong class="jxr_keyword">new</strong> Date(ticks + 17); +<a name="80" href="#80">80</a> assertEquals(<span class="jxr_string">"00:00:00,017"</span>, gmtFormat.format(plus17ms)); +<a name="81" href="#81">81</a> Date plus237ms = <strong class="jxr_keyword">new</strong> Date(ticks + 237); +<a name="82" href="#82">82</a> assertEquals(<span class="jxr_string">"00:00:00,237"</span>, gmtFormat.format(plus237ms)); +<a name="83" href="#83">83</a> Date plus1415ms = <strong class="jxr_keyword">new</strong> Date(ticks + 1415); +<a name="84" href="#84">84</a> assertEquals(<span class="jxr_string">"00:00:01,415"</span>, gmtFormat.format(plus1415ms)); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * Check for interaction between caches.</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> */</em> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() { +<a name="91" href="#91">91</a> Date jul2 = <strong class="jxr_keyword">new</strong> Date(12602L * 86400000L); +<a name="92" href="#92">92</a> DateFormat gmtFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat(createAbsoluteTimeDateFormat(GMT), 1000); +<a name="93" href="#93">93</a> DateFormat chicagoFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat(createAbsoluteTimeDateFormat(CHICAGO), 1000); +<a name="94" href="#94">94</a> assertEquals(<span class="jxr_string">"00:00:00,000"</span>, gmtFormat.format(jul2)); +<a name="95" href="#95">95</a> assertEquals(<span class="jxr_string">"19:00:00,000"</span>, chicagoFormat.format(jul2)); +<a name="96" href="#96">96</a> assertEquals(<span class="jxr_string">"00:00:00,000"</span>, gmtFormat.format(jul2)); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * Test multiple calls in close intervals prior to 1 Jan 1970.</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test3() { +<a name="103" href="#103">103</a> <em class="jxr_comment">// subsequent calls within one minute</em> +<a name="104" href="#104">104</a> <em class="jxr_comment">// are optimized to reuse previous formatted value</em> +<a name="105" href="#105">105</a> <em class="jxr_comment">// make a couple of nearly spaced calls</em> +<a name="106" href="#106">106</a> DateFormat gmtFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat( +<a name="107" href="#107">107</a> createAbsoluteTimeDateFormat(GMT), 1000); +<a name="108" href="#108">108</a> <em class="jxr_comment">//</em> +<a name="109" href="#109">109</a> <em class="jxr_comment">// if the first call was exactly on an integral</em> +<a name="110" href="#110">110</a> <em class="jxr_comment">// second, it would not test the round toward zero compensation</em> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">long</strong> ticks = -7L * 86400000L; +<a name="112" href="#112">112</a> Date jul1 = <strong class="jxr_keyword">new</strong> Date(ticks + 8); +<a name="113" href="#113">113</a> assertEquals(<span class="jxr_string">"00:00:00,008"</span>, gmtFormat.format(jul1)); +<a name="114" href="#114">114</a> Date plus8ms = <strong class="jxr_keyword">new</strong> Date(ticks + 16); +<a name="115" href="#115">115</a> assertEquals(<span class="jxr_string">"00:00:00,016"</span>, gmtFormat.format(plus8ms)); +<a name="116" href="#116">116</a> Date plus17ms = <strong class="jxr_keyword">new</strong> Date(ticks + 23); +<a name="117" href="#117">117</a> assertEquals(<span class="jxr_string">"00:00:00,023"</span>, gmtFormat.format(plus17ms)); +<a name="118" href="#118">118</a> Date plus237ms = <strong class="jxr_keyword">new</strong> Date(ticks + 245); +<a name="119" href="#119">119</a> assertEquals(<span class="jxr_string">"00:00:00,245"</span>, gmtFormat.format(plus237ms)); +<a name="120" href="#120">120</a> Date plus1415ms = <strong class="jxr_keyword">new</strong> Date(ticks + 1423); +<a name="121" href="#121">121</a> assertEquals(<span class="jxr_string">"00:00:01,423"</span>, gmtFormat.format(plus1415ms)); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test4() { +<a name="125" href="#125">125</a> <em class="jxr_comment">// subsequent calls within one minute are optimized to reuse previous </em> +<a name="126" href="#126">126</a> <em class="jxr_comment">// formatted value. make a couple of nearly spaced calls</em> +<a name="127" href="#127">127</a> <em class="jxr_comment">// (Note: 'Z' is JDK 1.4, using 'z' instead.)</em> +<a name="128" href="#128">128</a> SimpleDateFormat baseFormat = +<a name="129" href="#129">129</a> <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"EEE, MMM dd, HH:mm:ss.SSS z"</span>, Locale.ENGLISH); +<a name="130" href="#130">130</a> DateFormat cachedFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat(baseFormat, 1000); +<a name="131" href="#131">131</a> <em class="jxr_comment">//</em> +<a name="132" href="#132">132</a> <em class="jxr_comment">// use a date in 2000 to attempt to confuse the millisecond locator</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">long</strong> ticks = 11141L * 86400000L; +<a name="134" href="#134">134</a> Date jul1 = <strong class="jxr_keyword">new</strong> Date(ticks); +<a name="135" href="#135">135</a> assertEquals(baseFormat.format(jul1), cachedFormat.format(jul1)); +<a name="136" href="#136">136</a> Date plus8ms = <strong class="jxr_keyword">new</strong> Date(ticks + 8); +<a name="137" href="#137">137</a> baseFormat.format(plus8ms); +<a name="138" href="#138">138</a> cachedFormat.format(plus8ms); +<a name="139" href="#139">139</a> assertEquals(baseFormat.format(plus8ms), cachedFormat.format(plus8ms)); +<a name="140" href="#140">140</a> Date plus17ms = <strong class="jxr_keyword">new</strong> Date(ticks + 17); +<a name="141" href="#141">141</a> assertEquals(baseFormat.format(plus17ms), cachedFormat.format(plus17ms)); +<a name="142" href="#142">142</a> Date plus237ms = <strong class="jxr_keyword">new</strong> Date(ticks + 237); +<a name="143" href="#143">143</a> assertEquals(baseFormat.format(plus237ms), cachedFormat.format(plus237ms)); +<a name="144" href="#144">144</a> Date plus1415ms = <strong class="jxr_keyword">new</strong> Date(ticks + 1415); +<a name="145" href="#145">145</a> assertEquals(baseFormat.format(plus1415ms), cachedFormat.format(plus1415ms)); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test5() { +<a name="149" href="#149">149</a> <em class="jxr_comment">// subsequent calls within one minute</em> +<a name="150" href="#150">150</a> <em class="jxr_comment">// are optimized to reuse previous formatted value</em> +<a name="151" href="#151">151</a> <em class="jxr_comment">// make a couple of nearly spaced calls</em> +<a name="152" href="#152">152</a> <em class="jxr_comment">// (Note: 'Z' is JDK 1.4, using 'z' instead.)</em> +<a name="153" href="#153">153</a> Locale thai = <strong class="jxr_keyword">new</strong> Locale(<span class="jxr_string">"th"</span>, <span class="jxr_string">"TH"</span>); +<a name="154" href="#154">154</a> SimpleDateFormat baseFormat = +<a name="155" href="#155">155</a> <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"EEE, MMM dd, HH:mm:ss.SSS z"</span>, thai); +<a name="156" href="#156">156</a> DateFormat cachedFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat(baseFormat, 1000); +<a name="157" href="#157">157</a> <em class="jxr_comment">//</em> +<a name="158" href="#158">158</a> <em class="jxr_comment">// use a date in the year 2000 CE to attempt to confuse the millisecond locator</em> +<a name="159" href="#159">159</a> <strong class="jxr_keyword">long</strong> ticks = 11141L * 86400000L; +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> String sx; +<a name="162" href="#162">162</a> Date jul1 = <strong class="jxr_keyword">new</strong> Date(ticks); +<a name="163" href="#163">163</a> sx = cachedFormat.format(jul1); +<a name="164" href="#164">164</a> System.out.println(baseFormat.format(jul1)); +<a name="165" href="#165">165</a> System.out.println(sx); +<a name="166" href="#166">166</a> assertEquals(baseFormat.format(jul1), sx); +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> sx = cachedFormat.format(jul1); +<a name="169" href="#169">169</a> System.out.println(baseFormat.format(jul1)); +<a name="170" href="#170">170</a> System.out.println(sx); +<a name="171" href="#171">171</a> assertEquals(baseFormat.format(jul1), sx); +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> Date plus8ms = <strong class="jxr_keyword">new</strong> Date(ticks + 8); +<a name="175" href="#175">175</a> sx = cachedFormat.format(plus8ms); +<a name="176" href="#176">176</a> System.out.println(baseFormat.format(plus8ms)); +<a name="177" href="#177">177</a> System.out.println(sx); +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> assertEquals(baseFormat.format(plus8ms), sx); +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> Date plus17ms = <strong class="jxr_keyword">new</strong> Date(ticks + 17); +<a name="182" href="#182">182</a> assertEquals(baseFormat.format(plus17ms), cachedFormat.format(plus17ms)); +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> Date plus237ms = <strong class="jxr_keyword">new</strong> Date(ticks + 237); +<a name="185" href="#185">185</a> assertEquals(baseFormat.format(plus237ms), cachedFormat.format(plus237ms)); +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> Date plus1415ms = <strong class="jxr_keyword">new</strong> Date(ticks + 1415); +<a name="188" href="#188">188</a> assertEquals(baseFormat.format(plus1415ms), cachedFormat.format(plus1415ms)); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">/**</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> * Checks that getNumberFormat does not return null.</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> */</em> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test6() { +<a name="195" href="#195">195</a> assertNotNull(<strong class="jxr_keyword">new</strong> CachedDateFormat(<strong class="jxr_keyword">new</strong> SimpleDateFormat(), 1000).getNumberFormat()); +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">/**</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> * Set time zone on cached and check that it is effective.</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> */</em> +<a name="201" href="#201">201</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test8() { +<a name="202" href="#202">202</a> DateFormat baseFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"yyyy-MM-dd HH:mm:ss,SSS"</span>); +<a name="203" href="#203">203</a> baseFormat.setTimeZone(GMT); +<a name="204" href="#204">204</a> DateFormat cachedFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat(baseFormat, 1000); +<a name="205" href="#205">205</a> Date jul4 = <strong class="jxr_keyword">new</strong> Date(12603L * 86400000L); +<a name="206" href="#206">206</a> assertEquals(<span class="jxr_string">"2004-07-04 00:00:00,000"</span>, cachedFormat.format(jul4)); +<a name="207" href="#207">207</a> cachedFormat.setTimeZone(TimeZone.getTimeZone(<span class="jxr_string">"GMT-6"</span>)); +<a name="208" href="#208">208</a> assertEquals(<span class="jxr_string">"2004-07-03 18:00:00,000"</span>, cachedFormat.format(jul4)); +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">/**</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> * Test of caching when less than three millisecond digits are specified.</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> */</em> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test9() { +<a name="216" href="#216">216</a> <em class="jxr_comment">// (Note: 'Z' is JDK 1.4, using 'z' instead.)</em> +<a name="217" href="#217">217</a> DateFormat baseFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"yyyy-MMMM-dd HH:mm:ss,SS z"</span>, Locale.US); +<a name="218" href="#218">218</a> DateFormat cachedFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat(baseFormat, 1000); +<a name="219" href="#219">219</a> TimeZone cet = TimeZone.getTimeZone(<span class="jxr_string">"GMT+1"</span>); +<a name="220" href="#220">220</a> cachedFormat.setTimeZone(cet); +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> Calendar c = Calendar.getInstance(); +<a name="223" href="#223">223</a> c.set(2004, Calendar.DECEMBER, 12, 20, 0); +<a name="224" href="#224">224</a> c.set(Calendar.SECOND, 37); +<a name="225" href="#225">225</a> c.set(Calendar.MILLISECOND, 23); +<a name="226" href="#226">226</a> c.setTimeZone(cet); +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> String expected = baseFormat.format(c.getTime()); +<a name="229" href="#229">229</a> String s = cachedFormat.format(c.getTime()); +<a name="230" href="#230">230</a> assertEquals(expected, s); +<a name="231" href="#231">231</a> +<a name="232" href="#232">232</a> c.set(2005, Calendar.JANUARY, 1, 0, 0); +<a name="233" href="#233">233</a> c.set(Calendar.SECOND, 13); +<a name="234" href="#234">234</a> c.set(Calendar.MILLISECOND, 905); +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> expected = baseFormat.format(c.getTime()); +<a name="237" href="#237">237</a> s = cachedFormat.format(c.getTime()); +<a name="238" href="#238">238</a> assertEquals(expected, s); +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment">/**</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> * Test when millisecond position moves but length remains constant.</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> */</em> +<a name="245" href="#245">245</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test10() { +<a name="246" href="#246">246</a> DateFormat baseFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"MMMM SSS EEEEEE"</span>, Locale.US); +<a name="247" href="#247">247</a> DateFormat cachedFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat(baseFormat, 1000); +<a name="248" href="#248">248</a> TimeZone cet = TimeZone.getTimeZone(<span class="jxr_string">"GMT+1"</span>); +<a name="249" href="#249">249</a> cachedFormat.setTimeZone(cet); +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> Calendar c = Calendar.getInstance(); +<a name="252" href="#252">252</a> c.set(2004, Calendar.OCTOBER, 5, 20, 0); +<a name="253" href="#253">253</a> c.set(Calendar.SECOND, 37); +<a name="254" href="#254">254</a> c.set(Calendar.MILLISECOND, 23); +<a name="255" href="#255">255</a> c.setTimeZone(cet); +<a name="256" href="#256">256</a> +<a name="257" href="#257">257</a> String expected = baseFormat.format(c.getTime()); +<a name="258" href="#258">258</a> String s = cachedFormat.format(c.getTime()); +<a name="259" href="#259">259</a> assertEquals(expected, s); +<a name="260" href="#260">260</a> +<a name="261" href="#261">261</a> c.set(2004, Calendar.NOVEMBER, 1, 0, 0); +<a name="262" href="#262">262</a> c.set(Calendar.MILLISECOND, 23); +<a name="263" href="#263">263</a> expected = baseFormat.format(c.getTime()); +<a name="264" href="#264">264</a> s = cachedFormat.format(c.getTime()); +<a name="265" href="#265">265</a> assertEquals(expected, s); +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> +<a name="268" href="#268">268</a> c.set(Calendar.MILLISECOND, 984); +<a name="269" href="#269">269</a> expected = baseFormat.format(c.getTime()); +<a name="270" href="#270">270</a> s = cachedFormat.format(c.getTime()); +<a name="271" href="#271">271</a> assertEquals(expected, s); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment">/**</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> * Test that tests if caching is skipped if only "SS"</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> * is specified.</em> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> */</em> +<a name="278" href="#278">278</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test11() { +<a name="279" href="#279">279</a> <em class="jxr_comment">//</em> +<a name="280" href="#280">280</a> <em class="jxr_comment">// Earlier versions could be tricked by "SS0" patterns.</em> +<a name="281" href="#281">281</a> <em class="jxr_comment">//</em> +<a name="282" href="#282">282</a> String badPattern = <span class="jxr_string">"ss,SS0"</span>; +<a name="283" href="#283">283</a> SimpleDateFormat simpleFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(badPattern); +<a name="284" href="#284">284</a> SimpleDateFormat baseFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(badPattern); +<a name="285" href="#285">285</a> DateFormat gmtFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat(simpleFormat, 1000); +<a name="286" href="#286">286</a> gmtFormat.setTimeZone(GMT); +<a name="287" href="#287">287</a> baseFormat.setTimeZone(GMT); +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> <em class="jxr_comment">//</em> +<a name="290" href="#290">290</a> <em class="jxr_comment">// The first request has to 100 ms after an ordinal second</em> +<a name="291" href="#291">291</a> <em class="jxr_comment">// to push the literal zero out of the pattern check</em> +<a name="292" href="#292">292</a> <strong class="jxr_keyword">long</strong> ticks = 11142L * 86400000L; +<a name="293" href="#293">293</a> Date jul2 = <strong class="jxr_keyword">new</strong> Date(ticks + 120); +<a name="294" href="#294">294</a> String expected = baseFormat.format(jul2); +<a name="295" href="#295">295</a> assertEquals(expected, gmtFormat.format(jul2)); +<a name="296" href="#296">296</a> jul2.setTime(ticks + 87); +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <em class="jxr_comment">//</em> +<a name="300" href="#300">300</a> <em class="jxr_comment">// Cache gives 00,087</em> +<a name="301" href="#301">301</a> expected = baseFormat.format(jul2); +<a name="302" href="#302">302</a> assertEquals(expected, gmtFormat.format(jul2)); +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> } +<a name="305" href="#305">305</a> +<a name="306" href="#306">306</a> <em class="jxr_javadoccomment">/**</em> +<a name="307" href="#307">307</a> <em class="jxr_javadoccomment"> * Check pattern location for ISO8601</em> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment"> */</em> +<a name="309" href="#309">309</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test12() { +<a name="310" href="#310">310</a> SimpleDateFormat df = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"yyyy-MM-dd HH:mm:ss,SSS"</span>); +<a name="311" href="#311">311</a> <strong class="jxr_keyword">long</strong> ticks = 11142L * 86400000L; +<a name="312" href="#312">312</a> String formatted = df.format(<strong class="jxr_keyword">new</strong> Date(ticks)); +<a name="313" href="#313">313</a> <strong class="jxr_keyword">int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); +<a name="314" href="#314">314</a> assertEquals(20, millisecondStart); +<a name="315" href="#315">315</a> } +<a name="316" href="#316">316</a> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment">/**</em> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> * Check pattern location for DATE</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> */</em> +<a name="320" href="#320">320</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test13() { +<a name="321" href="#321">321</a> SimpleDateFormat df = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"yyyy-MM-dd"</span>); +<a name="322" href="#322">322</a> <strong class="jxr_keyword">long</strong> ticks = 11142L * 86400000L; +<a name="323" href="#323">323</a> String formatted = df.format(<strong class="jxr_keyword">new</strong> Date(ticks)); +<a name="324" href="#324">324</a> <strong class="jxr_keyword">int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); +<a name="325" href="#325">325</a> assertEquals(CachedDateFormat.NO_MILLISECONDS, millisecondStart); +<a name="326" href="#326">326</a> } +<a name="327" href="#327">327</a> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">/**</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> * Check pattern location for ABSOLUTE</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> */</em> +<a name="331" href="#331">331</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test14() { +<a name="332" href="#332">332</a> SimpleDateFormat df = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"HH:mm:ss,SSS"</span>); +<a name="333" href="#333">333</a> <strong class="jxr_keyword">long</strong> ticks = 11142L * 86400000L; +<a name="334" href="#334">334</a> String formatted = df.format(<strong class="jxr_keyword">new</strong> Date(ticks)); +<a name="335" href="#335">335</a> <strong class="jxr_keyword">int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); +<a name="336" href="#336">336</a> assertEquals(9, millisecondStart); +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment">/**</em> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment"> * Check pattern location for single S</em> +<a name="341" href="#341">341</a> <em class="jxr_javadoccomment"> */</em> +<a name="342" href="#342">342</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test15() { +<a name="343" href="#343">343</a> SimpleDateFormat df = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"HH:mm:ss,S"</span>); +<a name="344" href="#344">344</a> <strong class="jxr_keyword">long</strong> ticks = 11142L * 86400000L; +<a name="345" href="#345">345</a> String formatted = df.format(<strong class="jxr_keyword">new</strong> Date(ticks)); +<a name="346" href="#346">346</a> <strong class="jxr_keyword">int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); +<a name="347" href="#347">347</a> assertEquals(CachedDateFormat.UNRECOGNIZED_MILLISECONDS, millisecondStart); +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment">/**</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> * Check pattern location for single SS</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> */</em> +<a name="353" href="#353">353</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test16() { +<a name="354" href="#354">354</a> SimpleDateFormat df = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"HH:mm:ss,SS"</span>); +<a name="355" href="#355">355</a> <strong class="jxr_keyword">long</strong> ticks = 11142L * 86400000L; +<a name="356" href="#356">356</a> String formatted = df.format(<strong class="jxr_keyword">new</strong> Date(ticks)); +<a name="357" href="#357">357</a> <strong class="jxr_keyword">int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); +<a name="358" href="#358">358</a> assertEquals(CachedDateFormat.UNRECOGNIZED_MILLISECONDS, millisecondStart); +<a name="359" href="#359">359</a> } +<a name="360" href="#360">360</a> +<a name="361" href="#361">361</a> +<a name="362" href="#362">362</a> <em class="jxr_javadoccomment">/**</em> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> * Check caching when multiple SSS appear in pattern</em> +<a name="364" href="#364">364</a> <em class="jxr_javadoccomment"> */</em> +<a name="365" href="#365">365</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test17() { +<a name="366" href="#366">366</a> Date jul2 = <strong class="jxr_keyword">new</strong> Date(12602L * 86400000L); +<a name="367" href="#367">367</a> String badPattern = <span class="jxr_string">"HH:mm:ss,SSS HH:mm:ss,SSS"</span>; +<a name="368" href="#368">368</a> SimpleDateFormat simpleFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(badPattern); +<a name="369" href="#369">369</a> simpleFormat.setTimeZone(GMT); +<a name="370" href="#370">370</a> DateFormat cachedFormat = <strong class="jxr_keyword">new</strong> CachedDateFormat(simpleFormat, 1000); +<a name="371" href="#371">371</a> String s = cachedFormat.format(jul2); +<a name="372" href="#372">372</a> assertEquals(<span class="jxr_string">"00:00:00,000 00:00:00,000"</span>, s); +<a name="373" href="#373">373</a> jul2.setTime(jul2.getTime() + 120); +<a name="374" href="#374">374</a> assertEquals(<span class="jxr_string">"00:00:00,120 00:00:00,120"</span>, simpleFormat.format(jul2)); +<a name="375" href="#375">375</a> s = cachedFormat.format(jul2); +<a name="376" href="#376">376</a> <em class="jxr_comment">//</em> +<a name="377" href="#377">377</a> <em class="jxr_comment">// TODO: why is this returning ,120 ... , 120</em> +<a name="378" href="#378">378</a> <em class="jxr_comment">//</em> +<a name="379" href="#379">379</a> <em class="jxr_comment">//assertEquals("00:00:00,120 00:00:00,000", s) ;</em> +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <strong class="jxr_keyword">int</strong> maxValid = CachedDateFormat.getMaximumCacheValidity(badPattern); +<a name="382" href="#382">382</a> assertEquals(1, maxValid); +<a name="383" href="#383">383</a> } +<a name="384" href="#384">384</a> +<a name="385" href="#385">385</a> +<a name="386" href="#386">386</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test xsuite() { +<a name="387" href="#387">387</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="388" href="#388">388</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html">CachedDateFormatTest</a>(<span class="jxr_string">"test5"</span>)); +<a name="389" href="#389">389</a> <em class="jxr_comment">//suite.addTest(new CachedDateFormatTest("testS2"));</em> +<a name="390" href="#390">390</a> <strong class="jxr_keyword">return</strong> suite; +<a name="391" href="#391">391</a> } +<a name="392" href="#392">392</a> +<a name="393" href="#393">393</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html new file mode 100644 index 00000000000..8ebf0fb938a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FormattingInfoTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Tests for FormattingInfo.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfoTest.html">FormattingInfoTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Create a new instance.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @param name test name</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfoTest.html">FormattingInfoTest</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="36" href="#36">36</a> <strong class="jxr_keyword">super</strong>(name); +<a name="37" href="#37">37</a> } +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * Check that getDefault does not return null.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> *</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetDefault() { +<a name="44" href="#44">44</a> FormattingInfo field = FormattingInfo.getDefault(); +<a name="45" href="#45">45</a> assertNotNull(field); +<a name="46" href="#46">46</a> assertEquals(0, field.getMinLength()); +<a name="47" href="#47">47</a> assertEquals(Integer.MAX_VALUE, field.getMaxLength()); +<a name="48" href="#48">48</a> assertEquals(false, field.isLeftAligned()); +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * Check constructor</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> *</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testConstructor() { +<a name="56" href="#56">56</a> FormattingInfo field = <strong class="jxr_keyword">new</strong> FormattingInfo(<strong class="jxr_keyword">true</strong>, 3, 6); +<a name="57" href="#57">57</a> assertNotNull(field); +<a name="58" href="#58">58</a> assertEquals(3, field.getMinLength()); +<a name="59" href="#59">59</a> assertEquals(6, field.getMaxLength()); +<a name="60" href="#60">60</a> assertEquals(<strong class="jxr_keyword">true</strong>, field.isLeftAligned()); +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment">/**</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * Field exceeds maximum width</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> */</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTruncate() { +<a name="67" href="#67">67</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"foobar"</span>); +<a name="68" href="#68">68</a> FormattingInfo field = <strong class="jxr_keyword">new</strong> FormattingInfo(<strong class="jxr_keyword">true</strong>, 0, 3); +<a name="69" href="#69">69</a> field.format(2, buf); +<a name="70" href="#70">70</a> assertEquals(<span class="jxr_string">"fobar"</span>, buf.toString()); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * Add padding to left since field is not minimum width.</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPadLeft() { +<a name="77" href="#77">77</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"foobar"</span>); +<a name="78" href="#78">78</a> FormattingInfo field = <strong class="jxr_keyword">new</strong> FormattingInfo(false, 5, 10); +<a name="79" href="#79">79</a> field.format(2, buf); +<a name="80" href="#80">80</a> assertEquals(<span class="jxr_string">"fo obar"</span>, buf.toString()); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment">/**</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * Add padding to right since field is not minimum width.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPadRight() { +<a name="87" href="#87">87</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"foobar"</span>); +<a name="88" href="#88">88</a> FormattingInfo field = <strong class="jxr_keyword">new</strong> FormattingInfo(<strong class="jxr_keyword">true</strong>, 5, 10); +<a name="89" href="#89">89</a> field.format(2, buf); +<a name="90" href="#90">90</a> assertEquals(<span class="jxr_string">"foobar "</span>, buf.toString()); +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html new file mode 100644 index 00000000000..b14f3ebf417 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html @@ -0,0 +1,350 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NameAbbreviatorTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Tests for NameAbbrevator.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html">NameAbbreviatorTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * Create a new instance.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> *</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @param name test name</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html">NameAbbreviatorTest</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">super</strong>(name); +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Check that getDefaultAbbreviator does not return null.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> *</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetDefault() { +<a name="42" href="#42">42</a> NameAbbreviator abbrev = NameAbbreviator.getDefaultAbbreviator(); +<a name="43" href="#43">43</a> assertNotNull(abbrev); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * Check that "0" drops all name content.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> *</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testZero() { +<a name="51" href="#51">51</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="jxr_string">"0"</span>); +<a name="52" href="#52">52</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"DEBUG - "</span>); +<a name="53" href="#53">53</a> <strong class="jxr_keyword">int</strong> fieldStart = buf.length(); +<a name="54" href="#54">54</a> buf.append(<span class="jxr_string">"org.example.foo.bar"</span>); +<a name="55" href="#55">55</a> abbrev.abbreviate(fieldStart, buf); +<a name="56" href="#56">56</a> assertEquals(<span class="jxr_string">"DEBUG - "</span>, buf.toString()); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * Check that getAbbreviator(" ") returns default abbreviator.</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> *</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBlank() { +<a name="64" href="#64">64</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="jxr_string">" "</span>); +<a name="65" href="#65">65</a> NameAbbreviator defaultAbbrev = NameAbbreviator.getDefaultAbbreviator(); +<a name="66" href="#66">66</a> assertTrue(abbrev == defaultAbbrev); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * Check that getAbbreviator("1").abbreviate() drops all but the final name element.</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> *</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> */</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOne() { +<a name="74" href="#74">74</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="jxr_string">"1"</span>); +<a name="75" href="#75">75</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"DEBUG - "</span>); +<a name="76" href="#76">76</a> <strong class="jxr_keyword">int</strong> fieldStart = buf.length(); +<a name="77" href="#77">77</a> buf.append(<span class="jxr_string">"org.example.foo.bar"</span>); +<a name="78" href="#78">78</a> abbrev.abbreviate(fieldStart, buf); +<a name="79" href="#79">79</a> assertEquals(<span class="jxr_string">"DEBUG - bar"</span>, buf.toString()); +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> buf.setLength(0); +<a name="82" href="#82">82</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="83" href="#83">83</a> fieldStart = buf.length(); +<a name="84" href="#84">84</a> buf.append(<span class="jxr_string">"bar"</span>); +<a name="85" href="#85">85</a> abbrev.abbreviate(fieldStart, buf); +<a name="86" href="#86">86</a> assertEquals(<span class="jxr_string">"DEBUG - bar"</span>, buf.toString()); +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> buf.setLength(0); +<a name="89" href="#89">89</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="90" href="#90">90</a> fieldStart = buf.length(); +<a name="91" href="#91">91</a> abbrev.abbreviate(fieldStart, buf); +<a name="92" href="#92">92</a> assertEquals(<span class="jxr_string">"DEBUG - "</span>, buf.toString()); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment">/**</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * Check that blanks are trimmed in evaluating abbreviation pattern.</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> */</em> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBlankOne() { +<a name="99" href="#99">99</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="jxr_string">" 1 "</span>); +<a name="100" href="#100">100</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"DEBUG - "</span>); +<a name="101" href="#101">101</a> <strong class="jxr_keyword">int</strong> fieldStart = buf.length(); +<a name="102" href="#102">102</a> buf.append(<span class="jxr_string">"org.example.foo.bar"</span>); +<a name="103" href="#103">103</a> abbrev.abbreviate(fieldStart, buf); +<a name="104" href="#104">104</a> assertEquals(<span class="jxr_string">"DEBUG - bar"</span>, buf.toString()); +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> buf.setLength(0); +<a name="107" href="#107">107</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="108" href="#108">108</a> fieldStart = buf.length(); +<a name="109" href="#109">109</a> buf.append(<span class="jxr_string">"bar"</span>); +<a name="110" href="#110">110</a> abbrev.abbreviate(fieldStart, buf); +<a name="111" href="#111">111</a> assertEquals(<span class="jxr_string">"DEBUG - bar"</span>, buf.toString()); +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> buf.setLength(0); +<a name="114" href="#114">114</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="115" href="#115">115</a> fieldStart = buf.length(); +<a name="116" href="#116">116</a> abbrev.abbreviate(fieldStart, buf); +<a name="117" href="#117">117</a> assertEquals(<span class="jxr_string">"DEBUG - "</span>, buf.toString()); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">/**</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> * Check that getAbbreviator("2").abbreviate drops all but the last two elements.</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> *</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> */</em> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTwo() { +<a name="125" href="#125">125</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="jxr_string">"2"</span>); +<a name="126" href="#126">126</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"DEBUG - "</span>); +<a name="127" href="#127">127</a> <strong class="jxr_keyword">int</strong> fieldStart = buf.length(); +<a name="128" href="#128">128</a> buf.append(<span class="jxr_string">"org.example.foo.bar"</span>); +<a name="129" href="#129">129</a> abbrev.abbreviate(fieldStart, buf); +<a name="130" href="#130">130</a> assertEquals(<span class="jxr_string">"DEBUG - foo.bar"</span>, buf.toString()); +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> buf.setLength(0); +<a name="133" href="#133">133</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="134" href="#134">134</a> fieldStart = buf.length(); +<a name="135" href="#135">135</a> buf.append(<span class="jxr_string">"foo.bar"</span>); +<a name="136" href="#136">136</a> abbrev.abbreviate(fieldStart, buf); +<a name="137" href="#137">137</a> assertEquals(<span class="jxr_string">"DEBUG - foo.bar"</span>, buf.toString()); +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> buf.setLength(0); +<a name="140" href="#140">140</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="141" href="#141">141</a> fieldStart = buf.length(); +<a name="142" href="#142">142</a> buf.append(<span class="jxr_string">"bar"</span>); +<a name="143" href="#143">143</a> abbrev.abbreviate(fieldStart, buf); +<a name="144" href="#144">144</a> assertEquals(<span class="jxr_string">"DEBUG - bar"</span>, buf.toString()); +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">/**</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> * Check that getAbbreviator("1.").abbreviate abbreviates non-final elements</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * to one character.</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> *</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOneDot() { +<a name="153" href="#153">153</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="jxr_string">"1."</span>); +<a name="154" href="#154">154</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"DEBUG - "</span>); +<a name="155" href="#155">155</a> <strong class="jxr_keyword">int</strong> fieldStart = buf.length(); +<a name="156" href="#156">156</a> buf.append(<span class="jxr_string">"org.example.foo.bar"</span>); +<a name="157" href="#157">157</a> abbrev.abbreviate(fieldStart, buf); +<a name="158" href="#158">158</a> assertEquals(<span class="jxr_string">"DEBUG - o.e.f.bar"</span>, buf.toString()); +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> buf.setLength(0); +<a name="161" href="#161">161</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="162" href="#162">162</a> fieldStart = buf.length(); +<a name="163" href="#163">163</a> buf.append(<span class="jxr_string">"org.example.foo."</span>); +<a name="164" href="#164">164</a> abbrev.abbreviate(fieldStart, buf); +<a name="165" href="#165">165</a> assertEquals(<span class="jxr_string">"DEBUG - o.e.f."</span>, buf.toString()); +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> buf.setLength(0); +<a name="169" href="#169">169</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="170" href="#170">170</a> fieldStart = buf.length(); +<a name="171" href="#171">171</a> buf.append(<span class="jxr_string">"foo.bar"</span>); +<a name="172" href="#172">172</a> abbrev.abbreviate(fieldStart, buf); +<a name="173" href="#173">173</a> assertEquals(<span class="jxr_string">"DEBUG - f.bar"</span>, buf.toString()); +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> buf.setLength(0); +<a name="176" href="#176">176</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="177" href="#177">177</a> fieldStart = buf.length(); +<a name="178" href="#178">178</a> buf.append(<span class="jxr_string">"bar"</span>); +<a name="179" href="#179">179</a> abbrev.abbreviate(fieldStart, buf); +<a name="180" href="#180">180</a> assertEquals(<span class="jxr_string">"DEBUG - bar"</span>, buf.toString()); +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> buf.setLength(0); +<a name="183" href="#183">183</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="184" href="#184">184</a> fieldStart = buf.length(); +<a name="185" href="#185">185</a> abbrev.abbreviate(fieldStart, buf); +<a name="186" href="#186">186</a> assertEquals(<span class="jxr_string">"DEBUG - "</span>, buf.toString()); +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> buf.setLength(0); +<a name="189" href="#189">189</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="190" href="#190">190</a> fieldStart = buf.length(); +<a name="191" href="#191">191</a> buf.append(<span class="jxr_string">"."</span>); +<a name="192" href="#192">192</a> abbrev.abbreviate(fieldStart, buf); +<a name="193" href="#193">193</a> assertEquals(<span class="jxr_string">"DEBUG - ."</span>, buf.toString()); +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">/**</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> * Check that getAbbreviator("1~.").abbreviate abbreviates non-final elements</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> * to one character and a tilde.</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> *</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> */</em> +<a name="201" href="#201">201</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOneTildeDot() { +<a name="202" href="#202">202</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="jxr_string">"1~."</span>); +<a name="203" href="#203">203</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"DEBUG - "</span>); +<a name="204" href="#204">204</a> <strong class="jxr_keyword">int</strong> fieldStart = buf.length(); +<a name="205" href="#205">205</a> buf.append(<span class="jxr_string">"org.example.foo.bar"</span>); +<a name="206" href="#206">206</a> abbrev.abbreviate(fieldStart, buf); +<a name="207" href="#207">207</a> assertEquals(<span class="jxr_string">"DEBUG - o~.e~.f~.bar"</span>, buf.toString()); +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> buf.setLength(0); +<a name="210" href="#210">210</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="211" href="#211">211</a> fieldStart = buf.length(); +<a name="212" href="#212">212</a> buf.append(<span class="jxr_string">"org.example.foo."</span>); +<a name="213" href="#213">213</a> abbrev.abbreviate(fieldStart, buf); +<a name="214" href="#214">214</a> assertEquals(<span class="jxr_string">"DEBUG - o~.e~.f~."</span>, buf.toString()); +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> buf.setLength(0); +<a name="217" href="#217">217</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="218" href="#218">218</a> fieldStart = buf.length(); +<a name="219" href="#219">219</a> buf.append(<span class="jxr_string">"foo.bar"</span>); +<a name="220" href="#220">220</a> abbrev.abbreviate(fieldStart, buf); +<a name="221" href="#221">221</a> assertEquals(<span class="jxr_string">"DEBUG - f~.bar"</span>, buf.toString()); +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> buf.setLength(0); +<a name="224" href="#224">224</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="225" href="#225">225</a> fieldStart = buf.length(); +<a name="226" href="#226">226</a> buf.append(<span class="jxr_string">"bar"</span>); +<a name="227" href="#227">227</a> abbrev.abbreviate(fieldStart, buf); +<a name="228" href="#228">228</a> assertEquals(<span class="jxr_string">"DEBUG - bar"</span>, buf.toString()); +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> buf.setLength(0); +<a name="231" href="#231">231</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="232" href="#232">232</a> fieldStart = buf.length(); +<a name="233" href="#233">233</a> abbrev.abbreviate(fieldStart, buf); +<a name="234" href="#234">234</a> assertEquals(<span class="jxr_string">"DEBUG - "</span>, buf.toString()); +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> buf.setLength(0); +<a name="238" href="#238">238</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="239" href="#239">239</a> fieldStart = buf.length(); +<a name="240" href="#240">240</a> buf.append(<span class="jxr_string">"."</span>); +<a name="241" href="#241">241</a> abbrev.abbreviate(fieldStart, buf); +<a name="242" href="#242">242</a> assertEquals(<span class="jxr_string">"DEBUG - ."</span>, buf.toString()); +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> buf.setLength(0); +<a name="246" href="#246">246</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="247" href="#247">247</a> fieldStart = buf.length(); +<a name="248" href="#248">248</a> buf.append(<span class="jxr_string">"o.e.f.bar"</span>); +<a name="249" href="#249">249</a> abbrev.abbreviate(fieldStart, buf); +<a name="250" href="#250">250</a> assertEquals(<span class="jxr_string">"DEBUG - o.e.f.bar"</span>, buf.toString()); +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment">/**</em> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> * Check that getAbbreviator("1.*.2").abbreviate drops all but the first</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> * character from the first element, uses all of the second element and</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> * drops all but the first two characters of the rest of the non-final elements.</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> *</em> +<a name="258" href="#258">258</a> <em class="jxr_javadoccomment"> */</em> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMulti() { +<a name="260" href="#260">260</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="jxr_string">"1.*.2"</span>); +<a name="261" href="#261">261</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"DEBUG - "</span>); +<a name="262" href="#262">262</a> <strong class="jxr_keyword">int</strong> fieldStart = buf.length(); +<a name="263" href="#263">263</a> buf.append(<span class="jxr_string">"org.example.foo.bar"</span>); +<a name="264" href="#264">264</a> abbrev.abbreviate(fieldStart, buf); +<a name="265" href="#265">265</a> assertEquals(<span class="jxr_string">"DEBUG - o.example.fo.bar"</span>, buf.toString()); +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> buf.setLength(0); +<a name="268" href="#268">268</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="269" href="#269">269</a> fieldStart = buf.length(); +<a name="270" href="#270">270</a> buf.append(<span class="jxr_string">"org.example.foo."</span>); +<a name="271" href="#271">271</a> abbrev.abbreviate(fieldStart, buf); +<a name="272" href="#272">272</a> assertEquals(<span class="jxr_string">"DEBUG - o.example.fo."</span>, buf.toString()); +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> buf.setLength(0); +<a name="275" href="#275">275</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="276" href="#276">276</a> fieldStart = buf.length(); +<a name="277" href="#277">277</a> buf.append(<span class="jxr_string">"foo.bar"</span>); +<a name="278" href="#278">278</a> abbrev.abbreviate(fieldStart, buf); +<a name="279" href="#279">279</a> assertEquals(<span class="jxr_string">"DEBUG - f.bar"</span>, buf.toString()); +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> buf.setLength(0); +<a name="282" href="#282">282</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="283" href="#283">283</a> fieldStart = buf.length(); +<a name="284" href="#284">284</a> buf.append(<span class="jxr_string">"bar"</span>); +<a name="285" href="#285">285</a> abbrev.abbreviate(fieldStart, buf); +<a name="286" href="#286">286</a> assertEquals(<span class="jxr_string">"DEBUG - bar"</span>, buf.toString()); +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> buf.setLength(0); +<a name="289" href="#289">289</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="290" href="#290">290</a> fieldStart = buf.length(); +<a name="291" href="#291">291</a> abbrev.abbreviate(fieldStart, buf); +<a name="292" href="#292">292</a> assertEquals(<span class="jxr_string">"DEBUG - "</span>, buf.toString()); +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> buf.setLength(0); +<a name="295" href="#295">295</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="296" href="#296">296</a> fieldStart = buf.length(); +<a name="297" href="#297">297</a> buf.append(<span class="jxr_string">"."</span>); +<a name="298" href="#298">298</a> abbrev.abbreviate(fieldStart, buf); +<a name="299" href="#299">299</a> assertEquals(<span class="jxr_string">"DEBUG - ."</span>, buf.toString()); +<a name="300" href="#300">300</a> } +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment">/**</em> +<a name="303" href="#303">303</a> <em class="jxr_javadoccomment"> * Check that getAbbreviator("-1").abbreviate() drops first name element.</em> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> *</em> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment"> */</em> +<a name="306" href="#306">306</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMinusOne() { +<a name="307" href="#307">307</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="jxr_string">"-1"</span>); +<a name="308" href="#308">308</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"DEBUG - "</span>); +<a name="309" href="#309">309</a> <strong class="jxr_keyword">int</strong> fieldStart = buf.length(); +<a name="310" href="#310">310</a> buf.append(<span class="jxr_string">"org.example.foo.bar"</span>); +<a name="311" href="#311">311</a> abbrev.abbreviate(fieldStart, buf); +<a name="312" href="#312">312</a> assertEquals(<span class="jxr_string">"DEBUG - example.foo.bar"</span>, buf.toString()); +<a name="313" href="#313">313</a> +<a name="314" href="#314">314</a> buf.setLength(0); +<a name="315" href="#315">315</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="316" href="#316">316</a> fieldStart = buf.length(); +<a name="317" href="#317">317</a> buf.append(<span class="jxr_string">"bar"</span>); +<a name="318" href="#318">318</a> abbrev.abbreviate(fieldStart, buf); +<a name="319" href="#319">319</a> assertEquals(<span class="jxr_string">"DEBUG - bar"</span>, buf.toString()); +<a name="320" href="#320">320</a> +<a name="321" href="#321">321</a> buf.setLength(0); +<a name="322" href="#322">322</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="323" href="#323">323</a> fieldStart = buf.length(); +<a name="324" href="#324">324</a> abbrev.abbreviate(fieldStart, buf); +<a name="325" href="#325">325</a> assertEquals(<span class="jxr_string">"DEBUG - "</span>, buf.toString()); +<a name="326" href="#326">326</a> +<a name="327" href="#327">327</a> buf.setLength(0); +<a name="328" href="#328">328</a> buf.append(<span class="jxr_string">"DEBUG - "</span>); +<a name="329" href="#329">329</a> fieldStart = buf.length(); +<a name="330" href="#330">330</a> buf.append(<span class="jxr_string">"."</span>); +<a name="331" href="#331">331</a> abbrev.abbreviate(fieldStart, buf); +<a name="332" href="#332">332</a> assertEquals(<span class="jxr_string">"DEBUG - "</span>, buf.toString()); +<a name="333" href="#333">333</a> +<a name="334" href="#334">334</a> } +<a name="335" href="#335">335</a> +<a name="336" href="#336">336</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/Num343PatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/Num343PatternConverter.html new file mode 100644 index 00000000000..5e6b269103b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/Num343PatternConverter.html @@ -0,0 +1,52 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Num343PatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> Num343PatternConverter <strong class="jxr_keyword">extends</strong> LoggingEventPatternConverter { +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">private</strong> Num343PatternConverter() { +<a name="26" href="#26">26</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Num34"</span>, <span class="jxr_string">"num34"</span>); +<a name="27" href="#27">27</a> } +<a name="28" href="#28">28</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Num343PatternConverter INSTANCE = <strong class="jxr_keyword">new</strong> Num343PatternConverter(); +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> PatternConverter newInstance(<strong class="jxr_keyword">final</strong> String[] options) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(LoggingEvent event, StringBuffer toAppendTo) { +<a name="35" href="#35">35</a> toAppendTo.append(<span class="jxr_string">"343"</span>); +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/PatternParserTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/PatternParserTest.html new file mode 100644 index 00000000000..c7ebede7530 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/PatternParserTest.html @@ -0,0 +1,185 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PatternParserTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.HashMap; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> Test case for PatternParser.java. Tests the various</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> conversion patterns supported by PatternParser. This test</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> class tests PatternParser via the EnhancedPatternLayout class which</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> uses it.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/PatternParserTest.html">PatternParserTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="45" href="#45">45</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Logger logger = Logger.getLogger(<span class="jxr_string">"org.foobar"</span>); +<a name="46" href="#46">46</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> LoggingEvent event; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/PatternParserTest.html">PatternParserTest</a>(String name) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">super</strong>(name); +<a name="50" href="#50">50</a> event = <strong class="jxr_keyword">new</strong> LoggingEvent(<span class="jxr_string">"org.apache.log4j.Logger"</span>, +<a name="51" href="#51">51</a> logger, Level.INFO, <span class="jxr_string">"msg 1"</span>, <strong class="jxr_keyword">null</strong>); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String convert( +<a name="55" href="#55">55</a> String pattern, +<a name="56" href="#56">56</a> Map registry, +<a name="57" href="#57">57</a> LoggingEvent event) { +<a name="58" href="#58">58</a> List converters = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="59" href="#59">59</a> List fields = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="60" href="#60">60</a> PatternParser.parse(pattern, converters, fields, +<a name="61" href="#61">61</a> registry, +<a name="62" href="#62">62</a> PatternParser.getPatternLayoutRules()); +<a name="63" href="#63">63</a> assertEquals(converters.size(), fields.size()); +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="66" href="#66">66</a> Iterator converterIter = converters.iterator(); +<a name="67" href="#67">67</a> Iterator fieldIter = fields.iterator(); +<a name="68" href="#68">68</a> <strong class="jxr_keyword">while</strong>(converterIter.hasNext()) { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">int</strong> fieldStart = buf.length(); +<a name="70" href="#70">70</a> ((PatternConverter) converterIter.next()).format(event, buf); +<a name="71" href="#71">71</a> ((FormattingInfo) fieldIter.next()).format(fieldStart, buf); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> <strong class="jxr_keyword">return</strong> buf.toString(); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNewWord() <strong class="jxr_keyword">throws</strong> Exception { +<a name="77" href="#77">77</a> HashMap ruleRegistry = <strong class="jxr_keyword">new</strong> HashMap(5); +<a name="78" href="#78">78</a> ruleRegistry.put(<span class="jxr_string">"z343"</span>, Num343PatternConverter.<strong class="jxr_keyword">class</strong>.getName()); +<a name="79" href="#79">79</a> String result = convert(<span class="jxr_string">"%z343"</span>, ruleRegistry, event); +<a name="80" href="#80">80</a> assertEquals(<span class="jxr_string">"343"</span>, result); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_comment">/*<em class="jxr_comment"> Test whether words starting with the letter 'n' are treated differently,</em></em> +<a name="84" href="#84">84</a> <em class="jxr_comment"> * which was previously the case by mistake.</em> +<a name="85" href="#85">85</a> <em class="jxr_comment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNewWord2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="87" href="#87">87</a> HashMap ruleRegistry = <strong class="jxr_keyword">new</strong> HashMap(5); +<a name="88" href="#88">88</a> ruleRegistry.put(<span class="jxr_string">"n343"</span>, Num343PatternConverter.<strong class="jxr_keyword">class</strong>.getName()); +<a name="89" href="#89">89</a> String result = convert(<span class="jxr_string">"%n343"</span>, ruleRegistry, event); +<a name="90" href="#90">90</a> assertEquals(<span class="jxr_string">"343"</span>, result); +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBogusWord1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="94" href="#94">94</a> String result = convert(<span class="jxr_string">"%, foobar"</span>, <strong class="jxr_keyword">null</strong>, event); +<a name="95" href="#95">95</a> assertEquals(<span class="jxr_string">"%, foobar"</span>, result); +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBogusWord2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="99" href="#99">99</a> String result = convert(<span class="jxr_string">"xyz %, foobar"</span>, <strong class="jxr_keyword">null</strong>, event); +<a name="100" href="#100">100</a> assertEquals(<span class="jxr_string">"xyz %, foobar"</span>, result); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBasic1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="104" href="#104">104</a> String result = convert(<span class="jxr_string">"hello %-5level - %m%n"</span>, <strong class="jxr_keyword">null</strong>, event); +<a name="105" href="#105">105</a> assertEquals(<span class="jxr_string">"hello INFO - msg 1"</span> + Layout.LINE_SEP, result); +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBasic2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="109" href="#109">109</a> String result = convert(<span class="jxr_string">"%relative %-5level [%thread] %logger - %m%n"</span>, <strong class="jxr_keyword">null</strong>, event); +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">long</strong> expectedRelativeTime = event.timeStamp - LoggingEvent.getStartTime(); +<a name="112" href="#112">112</a> assertEquals(expectedRelativeTime + <span class="jxr_string">" INFO [main] "</span>+logger.getName()+<span class="jxr_string">" - msg 1"</span> + Layout.LINE_SEP, result); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMultiOption() <strong class="jxr_keyword">throws</strong> Exception { +<a name="116" href="#116">116</a> String result = convert(<span class="jxr_string">"%d{HH:mm:ss}{GMT} %d{HH:mm:ss} %c - %m"</span>, <strong class="jxr_keyword">null</strong>, event); +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> SimpleDateFormat dateFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"HH:mm:ss"</span>); +<a name="119" href="#119">119</a> String localTime = dateFormat.format(<strong class="jxr_keyword">new</strong> Date(event.timeStamp)); +<a name="120" href="#120">120</a> dateFormat.setTimeZone(TimeZone.getTimeZone(<span class="jxr_string">"GMT"</span>)); +<a name="121" href="#121">121</a> String utcTime = dateFormat.format(<strong class="jxr_keyword">new</strong> Date(event.timeStamp)); +<a name="122" href="#122">122</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(utcTime); +<a name="123" href="#123">123</a> buf.append(' '); +<a name="124" href="#124">124</a> buf.append(localTime); +<a name="125" href="#125">125</a> buf.append(<span class="jxr_string">" org.foobar - msg 1"</span>); +<a name="126" href="#126">126</a> assertEquals(buf.toString(), result); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBogus() <strong class="jxr_keyword">throws</strong> Exception { +<a name="130" href="#130">130</a> String result = convert(<span class="jxr_string">"%bogus"</span>, <strong class="jxr_keyword">null</strong>, event); +<a name="131" href="#131">131</a> assertEquals(<span class="jxr_string">"%bogus"</span>, result); +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMore() <strong class="jxr_keyword">throws</strong> Exception { +<a name="135" href="#135">135</a> String result = convert(<span class="jxr_string">"%more"</span>, <strong class="jxr_keyword">null</strong>, event); +<a name="136" href="#136">136</a> assertEquals(<span class="jxr_string">"msg 1ore"</span>, result); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">/**</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> * Options with missing close braces will be treated as a literal.</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> * Endless looped with earlier code.</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> *</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> */</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMalformedOption() { +<a name="145" href="#145">145</a> String result = convert(<span class="jxr_string">"foo%m{yyyy.MM.dd"</span>, <strong class="jxr_keyword">null</strong>, event); +<a name="146" href="#146">146</a> assertEquals(<span class="jxr_string">"foomsg 1{yyyy.MM.dd"</span>, result); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertFactories(Map rules) <strong class="jxr_keyword">throws</strong> Exception { +<a name="151" href="#151">151</a> assertTrue(rules.size() &gt; 0); +<a name="152" href="#152">152</a> Iterator iter = rules.values().iterator(); +<a name="153" href="#153">153</a> Class[] factorySig = <strong class="jxr_keyword">new</strong> Class[] { Class.forName(<span class="jxr_string">"[Ljava.lang.String;"</span>) }; +<a name="154" href="#154">154</a> Object[] factoryArg = <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">null</strong> }; +<a name="155" href="#155">155</a> <strong class="jxr_keyword">while</strong>(iter.hasNext()) { +<a name="156" href="#156">156</a> Class ruleClass = (Class) iter.next(); +<a name="157" href="#157">157</a> Method factory = ruleClass.getMethod(<span class="jxr_string">"newInstance"</span>, factorySig); +<a name="158" href="#158">158</a> Object converter = factory.invoke(<strong class="jxr_keyword">null</strong>, factoryArg); +<a name="159" href="#159">159</a> assertTrue(converter != <strong class="jxr_keyword">null</strong>); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPatternLayoutFactories() <strong class="jxr_keyword">throws</strong> Exception { +<a name="164" href="#164">164</a> assertFactories(PatternParser.getPatternLayoutRules()); +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFileNamePatternFactories() <strong class="jxr_keyword">throws</strong> Exception { +<a name="168" href="#168">168</a> assertFactories(PatternParser.getFileNamePatternRules()); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/package-frame.html new file mode 100644 index 00000000000..7ff50557eab --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/package-frame.html @@ -0,0 +1,36 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.pattern</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.pattern</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="CachedDateFormatTest.html" target="classFrame">CachedDateFormatTest</a> + </li> + <li> + <a href="FormattingInfoTest.html" target="classFrame">FormattingInfoTest</a> + </li> + <li> + <a href="NameAbbreviatorTest.html" target="classFrame">NameAbbreviatorTest</a> + </li> + <li> + <a href="Num343PatternConverter.html" target="classFrame">Num343PatternConverter</a> + </li> + <li> + <a href="PatternParserTest.html" target="classFrame">PatternParserTest</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/package-summary.html new file mode 100644 index 00000000000..e025013b8a7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/pattern/package-summary.html @@ -0,0 +1,87 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.pattern</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.pattern</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="CachedDateFormatTest.html" target="classFrame">CachedDateFormatTest</a> + </td> + </tr> + <tr> + <td> + <a href="FormattingInfoTest.html" target="classFrame">FormattingInfoTest</a> + </td> + </tr> + <tr> + <td> + <a href="NameAbbreviatorTest.html" target="classFrame">NameAbbreviatorTest</a> + </td> + </tr> + <tr> + <td> + <a href="Num343PatternConverter.html" target="classFrame">Num343PatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParserTest.html" target="classFrame">PatternParserTest</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/LocationInfoTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/LocationInfoTest.html new file mode 100644 index 00000000000..072493524fb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/LocationInfoTest.html @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LocationInfoTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * Tests for LocationInfo.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> */</em> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/LocationInfoTest.html">LocationInfoTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Tests four parameter constructor.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFourParamConstructor() { +<a name="30" href="#30">30</a> <strong class="jxr_keyword">final</strong> String className = LocationInfoTest.<strong class="jxr_keyword">class</strong>.getName(); +<a name="31" href="#31">31</a> <strong class="jxr_keyword">final</strong> String methodName = <span class="jxr_string">"testFourParamConstructor"</span>; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">final</strong> String fileName = <span class="jxr_string">"LocationInfoTest.java"</span>; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">final</strong> String lineNumber = <span class="jxr_string">"41"</span>; +<a name="34" href="#34">34</a> LocationInfo li = <strong class="jxr_keyword">new</strong> LocationInfo(fileName, +<a name="35" href="#35">35</a> className, methodName, lineNumber); +<a name="36" href="#36">36</a> assertEquals(className, li.getClassName()); +<a name="37" href="#37">37</a> assertEquals(methodName, li.getMethodName()); +<a name="38" href="#38">38</a> assertEquals(fileName, li.getFileName()); +<a name="39" href="#39">39</a> assertEquals(lineNumber, li.getLineNumber()); +<a name="40" href="#40">40</a> assertEquals(className + <span class="jxr_string">"."</span> + methodName +<a name="41" href="#41">41</a> + <span class="jxr_string">"("</span> + fileName + <span class="jxr_string">":"</span> + lineNumber + <span class="jxr_string">")"</span>, +<a name="42" href="#42">42</a> li.fullInfo); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * Class with name that is a substring of its caller.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/LocationInfoTest.html">NameSubstring</a> { +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * Construct a LocationInfo. Location should be immediate caller of this method.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @return location info.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> LocationInfo getInfo() { +<a name="55" href="#55">55</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> LocationInfo(<strong class="jxr_keyword">new</strong> Throwable(), NameSubstring.<strong class="jxr_keyword">class</strong>.getName()); +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * Class whose name is contains the name of the class that obtains the LocationInfo.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/LocationInfoTest.html">NameSubstringCaller</a> { +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment">/**</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * Construct a locationInfo. Location should be this location.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * @return location info.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> */</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> LocationInfo getInfo() { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">return</strong> NameSubstring.getInfo(); +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment">/**</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * Tests creation of location info when the logger class name</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * is a substring of one of the other classes in the stack trace.</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * See bug 44888.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> */</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLocationInfo() { +<a name="80" href="#80">80</a> LocationInfo li = NameSubstringCaller.getInfo(); +<a name="81" href="#81">81</a> assertEquals(NameSubstringCaller.<strong class="jxr_keyword">class</strong>.getName(), li.getClassName()); +<a name="82" href="#82">82</a> assertEquals(<span class="jxr_string">"getInfo"</span>, li.getMethodName()); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/LoggingEventTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/LoggingEventTest.html new file mode 100644 index 00000000000..e7851a86827 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/LoggingEventTest.html @@ -0,0 +1,285 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LoggingEventTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.MDC; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.NDC; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Category; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Tests LoggingEvent.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> *</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventTest.html">LoggingEventTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Create LoggingEventTest.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> *</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @param name test name.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventTest.html">LoggingEventTest</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">super</strong>(name); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * Serialize a simple logging event and check it against</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * a witness.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> */</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSerializationSimple() <strong class="jxr_keyword">throws</strong> Exception { +<a name="52" href="#52">52</a> Logger root = Logger.getRootLogger(); +<a name="53" href="#53">53</a> LoggingEvent event = +<a name="54" href="#54">54</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="55" href="#55">55</a> root.getClass().getName(), root, Level.INFO, <span class="jxr_string">"Hello, world."</span>, <strong class="jxr_keyword">null</strong>); +<a name="56" href="#56">56</a> <em class="jxr_comment">// event.prepareForDeferredProcessing();</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">int</strong>[] skip = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[] { 352, 353, 354, 355, 356 }; +<a name="59" href="#59">59</a> SerializationTestHelper.assertSerializationEquals( +<a name="60" href="#60">60</a> <span class="jxr_string">"witness/serialization/simple.bin"</span>, event, skip, 237); +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment">/**</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * Serialize a logging event with an exception and check it against</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * a witness.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> *</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> */</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSerializationWithException() <strong class="jxr_keyword">throws</strong> Exception { +<a name="70" href="#70">70</a> Logger root = Logger.getRootLogger(); +<a name="71" href="#71">71</a> Exception ex = <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Don't panic"</span>); +<a name="72" href="#72">72</a> LoggingEvent event = +<a name="73" href="#73">73</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="74" href="#74">74</a> root.getClass().getName(), root, Level.INFO, <span class="jxr_string">"Hello, world."</span>, ex); +<a name="75" href="#75">75</a> <em class="jxr_comment">// event.prepareForDeferredProcessing();</em> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">int</strong>[] skip = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[] { 352, 353, 354, 355, 356 }; +<a name="78" href="#78">78</a> SerializationTestHelper.assertSerializationEquals( +<a name="79" href="#79">79</a> <span class="jxr_string">"witness/serialization/exception.bin"</span>, event, skip, 237); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * Serialize a logging event with an exception and check it against</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * a witness.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> *</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> */</em> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSerializationWithLocation() <strong class="jxr_keyword">throws</strong> Exception { +<a name="89" href="#89">89</a> Logger root = Logger.getRootLogger(); +<a name="90" href="#90">90</a> LoggingEvent event = +<a name="91" href="#91">91</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="92" href="#92">92</a> root.getClass().getName(), root, Level.INFO, <span class="jxr_string">"Hello, world."</span>, <strong class="jxr_keyword">null</strong>); +<a name="93" href="#93">93</a> event.getLocationInformation(); +<a name="94" href="#94">94</a> <em class="jxr_comment">// event.prepareForDeferredProcessing();</em> +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">int</strong>[] skip = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[] { 352, 353, 354, 355, 356 }; +<a name="97" href="#97">97</a> SerializationTestHelper.assertSerializationEquals( +<a name="98" href="#98">98</a> <span class="jxr_string">"witness/serialization/location.bin"</span>, event, skip, 237); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * Serialize a logging event with ndc.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> *</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> */</em> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSerializationNDC() <strong class="jxr_keyword">throws</strong> Exception { +<a name="107" href="#107">107</a> Logger root = Logger.getRootLogger(); +<a name="108" href="#108">108</a> NDC.push(<span class="jxr_string">"ndc test"</span>); +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> LoggingEvent event = +<a name="111" href="#111">111</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="112" href="#112">112</a> root.getClass().getName(), root, Level.INFO, <span class="jxr_string">"Hello, world."</span>, <strong class="jxr_keyword">null</strong>); +<a name="113" href="#113">113</a> <em class="jxr_comment">// event.prepareForDeferredProcessing();</em> +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">int</strong>[] skip = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[] { 352, 353, 354, 355, 356 }; +<a name="116" href="#116">116</a> SerializationTestHelper.assertSerializationEquals( +<a name="117" href="#117">117</a> <span class="jxr_string">"witness/serialization/ndc.bin"</span>, event, skip, 237); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">/**</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> * Serialize a logging event with mdc.</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> *</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> */</em> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSerializationMDC() <strong class="jxr_keyword">throws</strong> Exception { +<a name="126" href="#126">126</a> Logger root = Logger.getRootLogger(); +<a name="127" href="#127">127</a> MDC.put(<span class="jxr_string">"mdckey"</span>, <span class="jxr_string">"mdcvalue"</span>); +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> LoggingEvent event = +<a name="130" href="#130">130</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="131" href="#131">131</a> root.getClass().getName(), root, Level.INFO, <span class="jxr_string">"Hello, world."</span>, <strong class="jxr_keyword">null</strong>); +<a name="132" href="#132">132</a> <em class="jxr_comment">// event.prepareForDeferredProcessing();</em> +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">int</strong>[] skip = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[] { 352, 353, 354, 355, 356 }; +<a name="135" href="#135">135</a> SerializationTestHelper.assertSerializationEquals( +<a name="136" href="#136">136</a> <span class="jxr_string">"witness/serialization/mdc.bin"</span>, event, skip, 237); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">/**</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> * Deserialize a simple logging event.</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> *</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> */</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDeserializationSimple() <strong class="jxr_keyword">throws</strong> Exception { +<a name="145" href="#145">145</a> Object obj = +<a name="146" href="#146">146</a> SerializationTestHelper.deserializeStream( +<a name="147" href="#147">147</a> <span class="jxr_string">"witness/serialization/simple.bin"</span>); +<a name="148" href="#148">148</a> assertTrue(obj instanceof LoggingEvent); +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> LoggingEvent event = (LoggingEvent) obj; +<a name="151" href="#151">151</a> assertEquals(<span class="jxr_string">"Hello, world."</span>, event.getMessage()); +<a name="152" href="#152">152</a> assertEquals(Level.INFO, event.getLevel()); +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">/**</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> * Deserialize a logging event with an exception.</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> *</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> */</em> +<a name="160" href="#160">160</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDeserializationWithException() <strong class="jxr_keyword">throws</strong> Exception { +<a name="161" href="#161">161</a> Object obj = +<a name="162" href="#162">162</a> SerializationTestHelper.deserializeStream( +<a name="163" href="#163">163</a> <span class="jxr_string">"witness/serialization/exception.bin"</span>); +<a name="164" href="#164">164</a> assertTrue(obj instanceof LoggingEvent); +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> LoggingEvent event = (LoggingEvent) obj; +<a name="167" href="#167">167</a> assertEquals(<span class="jxr_string">"Hello, world."</span>, event.getMessage()); +<a name="168" href="#168">168</a> assertEquals(Level.INFO, event.getLevel()); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment">/**</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> * Deserialize a logging event with an exception.</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> * @throws Exception if exception during test.</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> *</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> */</em> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDeserializationWithLocation() <strong class="jxr_keyword">throws</strong> Exception { +<a name="177" href="#177">177</a> Object obj = +<a name="178" href="#178">178</a> SerializationTestHelper.deserializeStream( +<a name="179" href="#179">179</a> <span class="jxr_string">"witness/serialization/location.bin"</span>); +<a name="180" href="#180">180</a> assertTrue(obj instanceof LoggingEvent); +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> LoggingEvent event = (LoggingEvent) obj; +<a name="183" href="#183">183</a> assertEquals(<span class="jxr_string">"Hello, world."</span>, event.getMessage()); +<a name="184" href="#184">184</a> assertEquals(Level.INFO, event.getLevel()); +<a name="185" href="#185">185</a> } +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment">/**</em> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment"> * Tests LoggingEvent.fqnOfCategoryClass.</em> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment"> */</em> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFQNOfCategoryClass() { +<a name="191" href="#191">191</a> Category root = Logger.getRootLogger(); +<a name="192" href="#192">192</a> Priority info = Level.INFO; +<a name="193" href="#193">193</a> String catName = Logger.<strong class="jxr_keyword">class</strong>.toString(); +<a name="194" href="#194">194</a> LoggingEvent event = +<a name="195" href="#195">195</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="196" href="#196">196</a> catName, root, info, <span class="jxr_string">"Hello, world."</span>, <strong class="jxr_keyword">null</strong>); +<a name="197" href="#197">197</a> assertEquals(catName, event.fqnOfCategoryClass); +<a name="198" href="#198">198</a> } +<a name="199" href="#199">199</a> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment">/**</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> * Tests LoggingEvent.level.</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> */</em> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLevel() { +<a name="205" href="#205">205</a> Category root = Logger.getRootLogger(); +<a name="206" href="#206">206</a> Priority info = Level.INFO; +<a name="207" href="#207">207</a> String catName = Logger.<strong class="jxr_keyword">class</strong>.toString(); +<a name="208" href="#208">208</a> LoggingEvent event = +<a name="209" href="#209">209</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="210" href="#210">210</a> catName, root, 0L, info, <span class="jxr_string">"Hello, world."</span>, <strong class="jxr_keyword">null</strong>); +<a name="211" href="#211">211</a> Priority error = Level.ERROR; +<a name="212" href="#212">212</a> event.level = error; +<a name="213" href="#213">213</a> assertEquals(Level.ERROR, event.level); +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">/**</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> * Tests LoggingEvent.getLocationInfo() when no FQCN is specified.</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> * See bug 41186.</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> */</em> +<a name="220" href="#220">220</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLocationInfoNoFQCN() { +<a name="221" href="#221">221</a> Category root = Logger.getRootLogger(); +<a name="222" href="#222">222</a> Priority level = Level.INFO; +<a name="223" href="#223">223</a> LoggingEvent event = +<a name="224" href="#224">224</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="225" href="#225">225</a> <strong class="jxr_keyword">null</strong>, root, 0L, level, <span class="jxr_string">"Hello, world."</span>, <strong class="jxr_keyword">null</strong>); +<a name="226" href="#226">226</a> LocationInfo info = event.getLocationInformation(); +<a name="227" href="#227">227</a> <em class="jxr_comment">//</em> +<a name="228" href="#228">228</a> <em class="jxr_comment">// log4j 1.2 returns an object, its layout doesn't check for nulls.</em> +<a name="229" href="#229">229</a> <em class="jxr_comment">// log4j 1.3 returns a null.</em> +<a name="230" href="#230">230</a> <em class="jxr_comment">//</em> +<a name="231" href="#231">231</a> assertNotNull(info); +<a name="232" href="#232">232</a> <strong class="jxr_keyword">if</strong> (info != <strong class="jxr_keyword">null</strong>) { +<a name="233" href="#233">233</a> assertEquals(<span class="jxr_string">"?"</span>, info.getLineNumber()); +<a name="234" href="#234">234</a> assertEquals(<span class="jxr_string">"?"</span>, info.getClassName()); +<a name="235" href="#235">235</a> assertEquals(<span class="jxr_string">"?"</span>, info.getFileName()); +<a name="236" href="#236">236</a> assertEquals(<span class="jxr_string">"?"</span>, info.getMethodName()); +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">/**</em> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment"> * Message object that throws a RuntimeException on toString().</em> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment"> * See bug 37182.</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> */</em> +<a name="244" href="#244">244</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventTest.html">BadMessage</a> { +<a name="245" href="#245">245</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventTest.html">BadMessage</a>() { +<a name="246" href="#246">246</a> } +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="249" href="#249">249</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(); +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment">/**</em> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> * Tests that an runtime exception or error during toString</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> * on the message parameter does not propagate to caller.</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> * See bug 37182.</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> */</em> +<a name="258" href="#258">258</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBadMessage() { +<a name="259" href="#259">259</a> Category root = Logger.getRootLogger(); +<a name="260" href="#260">260</a> Priority info = Level.INFO; +<a name="261" href="#261">261</a> String catName = Logger.<strong class="jxr_keyword">class</strong>.toString(); +<a name="262" href="#262">262</a> <a href="../../../../org/apache/log4j/spi/LoggingEventTest.html">BadMessage</a> msg = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventTest.html">BadMessage</a>(); +<a name="263" href="#263">263</a> LoggingEvent event = +<a name="264" href="#264">264</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="265" href="#265">265</a> catName, root, 0L, info, msg, <strong class="jxr_keyword">null</strong>); +<a name="266" href="#266">266</a> <em class="jxr_comment">// would result in exception in earlier versions</em> +<a name="267" href="#267">267</a> event.getRenderedMessage(); +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/ThrowableInformationTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/ThrowableInformationTest.html new file mode 100644 index 00000000000..e242cb11746 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/ThrowableInformationTest.html @@ -0,0 +1,357 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ThrowableInformationTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.PrintWriter; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Unit tests for ThrowableInformation.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">ThrowableInformationTest</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * Create ThrowableInformationTest.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> *</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @param name test name.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">ThrowableInformationTest</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">super</strong>(name); +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Custom throwable that only calls methods</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * overridden by VectorWriter in log4j 1.2.14 and earlier.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">OverriddenThrowable</a> <strong class="jxr_keyword">extends</strong> Throwable { +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L; +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">OverriddenThrowable</a>() { +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * Print stack trace.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> *</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @param s print writer.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> printStackTrace(<strong class="jxr_keyword">final</strong> PrintWriter s) { +<a name="55" href="#55">55</a> s.print((Object) <span class="jxr_string">"print(Object)"</span>); +<a name="56" href="#56">56</a> s.print(<span class="jxr_string">"print(char[])"</span>.toCharArray()); +<a name="57" href="#57">57</a> s.print(<span class="jxr_string">"print(String)"</span>); +<a name="58" href="#58">58</a> s.println((Object) <span class="jxr_string">"println(Object)"</span>); +<a name="59" href="#59">59</a> s.println(<span class="jxr_string">"println(char[])"</span>.toCharArray()); +<a name="60" href="#60">60</a> s.println(<span class="jxr_string">"println(String)"</span>); +<a name="61" href="#61">61</a> s.write(<span class="jxr_string">"write(char[])"</span>.toCharArray()); +<a name="62" href="#62">62</a> s.write(<span class="jxr_string">"write(char[], int, int)"</span>.toCharArray(), 2, 8); +<a name="63" href="#63">63</a> s.write(<span class="jxr_string">"write(String, int, int)"</span>, 2, 8); +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment">/**</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * Test capturing stack trace from a throwable that only uses the</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * PrintWriter methods overridden in log4j 1.2.14 and earlier.</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOverriddenBehavior() { +<a name="72" href="#72">72</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">OverriddenThrowable</a>()); +<a name="73" href="#73">73</a> String[] rep = ti.getThrowableStrRep(); +<a name="74" href="#74">74</a> assertEquals(4, rep.length); +<a name="75" href="#75">75</a> assertEquals(<span class="jxr_string">"print(Object)print(char[])print(String)println(Object)"</span>, rep[0]); +<a name="76" href="#76">76</a> assertEquals(<span class="jxr_string">"println(char[])"</span>, rep[1]); +<a name="77" href="#77">77</a> assertEquals(<span class="jxr_string">"println(String)"</span>, rep[2]); +<a name="78" href="#78">78</a> assertEquals(<span class="jxr_string">"write(char[])ite(charite(Stri"</span>, rep[3]); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment">/**</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * Custom throwable that calls methods</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * not overridden by VectorWriter in log4j 1.2.14 and earlier.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">NotOverriddenThrowable</a> <strong class="jxr_keyword">extends</strong> Throwable { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L; +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> */</em> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">NotOverriddenThrowable</a>() { +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment">/**</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * Print stack trace.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> *</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * @param s print writer.</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> */</em> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> printStackTrace(<strong class="jxr_keyword">final</strong> PrintWriter s) { +<a name="99" href="#99">99</a> s.print(<strong class="jxr_keyword">true</strong>); +<a name="100" href="#100">100</a> s.print('a'); +<a name="101" href="#101">101</a> s.print(1); +<a name="102" href="#102">102</a> s.print(2L); +<a name="103" href="#103">103</a> s.print(Float.MAX_VALUE); +<a name="104" href="#104">104</a> s.print(Double.MIN_VALUE); +<a name="105" href="#105">105</a> s.println(<strong class="jxr_keyword">true</strong>); +<a name="106" href="#106">106</a> s.println('a'); +<a name="107" href="#107">107</a> s.println(1); +<a name="108" href="#108">108</a> s.println(2L); +<a name="109" href="#109">109</a> s.println(Float.MAX_VALUE); +<a name="110" href="#110">110</a> s.println(Double.MIN_VALUE); +<a name="111" href="#111">111</a> s.write('C'); +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> * Test capturing stack trace from a throwable that uses the</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> * PrintWriter methods not overridden in log4j 1.2.14 and earlier.</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> */</em> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNotOverriddenBehavior() { +<a name="120" href="#120">120</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">NotOverriddenThrowable</a>()); +<a name="121" href="#121">121</a> String[] rep = ti.getThrowableStrRep(); +<a name="122" href="#122">122</a> assertEquals(7, rep.length); +<a name="123" href="#123">123</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(String.valueOf(<strong class="jxr_keyword">true</strong>)); +<a name="124" href="#124">124</a> buf.append('a'); +<a name="125" href="#125">125</a> buf.append(String.valueOf(1)); +<a name="126" href="#126">126</a> buf.append(String.valueOf(2L)); +<a name="127" href="#127">127</a> buf.append(String.valueOf(Float.MAX_VALUE)); +<a name="128" href="#128">128</a> buf.append(String.valueOf(Double.MIN_VALUE)); +<a name="129" href="#129">129</a> buf.append(String.valueOf(<strong class="jxr_keyword">true</strong>)); +<a name="130" href="#130">130</a> assertEquals(buf.toString(), rep[0]); +<a name="131" href="#131">131</a> assertEquals(<span class="jxr_string">"a"</span>, rep[1]); +<a name="132" href="#132">132</a> assertEquals(String.valueOf(1), rep[2]); +<a name="133" href="#133">133</a> assertEquals(String.valueOf(2L), rep[3]); +<a name="134" href="#134">134</a> assertEquals(String.valueOf(Float.MAX_VALUE), rep[4]); +<a name="135" href="#135">135</a> assertEquals(String.valueOf(Double.MIN_VALUE), rep[5]); +<a name="136" href="#136">136</a> assertEquals(<span class="jxr_string">"C"</span>, rep[6]); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">/**</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> * Custom throwable that calls methods of VectorWriter</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> * with null.</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> */</em> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">NullThrowable</a> <strong class="jxr_keyword">extends</strong> Throwable { +<a name="144" href="#144">144</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L; +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">/**</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> */</em> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">NullThrowable</a>() { +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">/**</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> * Print stack trace.</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> *</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> * @param s print writer.</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> */</em> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> printStackTrace(<strong class="jxr_keyword">final</strong> PrintWriter s) { +<a name="157" href="#157">157</a> s.print((Object) <strong class="jxr_keyword">null</strong>); +<a name="158" href="#158">158</a> s.print((String) <strong class="jxr_keyword">null</strong>); +<a name="159" href="#159">159</a> s.println((Object) <strong class="jxr_keyword">null</strong>); +<a name="160" href="#160">160</a> s.println((String) <strong class="jxr_keyword">null</strong>); +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">/**</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> * Test capturing stack trace from a throwable that passes</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> * null to PrintWriter methods.</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> */</em> +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNull() { +<a name="170" href="#170">170</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">NullThrowable</a>()); +<a name="171" href="#171">171</a> String[] rep = ti.getThrowableStrRep(); +<a name="172" href="#172">172</a> assertEquals(2, rep.length); +<a name="173" href="#173">173</a> String nullStr = String.valueOf((Object) <strong class="jxr_keyword">null</strong>); +<a name="174" href="#174">174</a> assertEquals(nullStr + nullStr + nullStr, rep[0]); +<a name="175" href="#175">175</a> assertEquals(nullStr, rep[1]); +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">/**</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * Custom throwable that does nothing in printStackTrace.</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> */</em> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">EmptyThrowable</a> <strong class="jxr_keyword">extends</strong> Throwable { +<a name="182" href="#182">182</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L; +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">/**</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> */</em> +<a name="186" href="#186">186</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">EmptyThrowable</a>() { +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">/**</em> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> * Print stack trace.</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> *</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> * @param s print writer.</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> */</em> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> printStackTrace(<strong class="jxr_keyword">final</strong> PrintWriter s) { +<a name="195" href="#195">195</a> } +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">/**</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> * Test capturing stack trace from a throwable that</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> * does nothing on a call to printStackTrace.</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> */</em> +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEmpty() { +<a name="204" href="#204">204</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">EmptyThrowable</a>()); +<a name="205" href="#205">205</a> String[] rep = ti.getThrowableStrRep(); +<a name="206" href="#206">206</a> assertEquals(0, rep.length); +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">/**</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> * Custom throwable that emits a specified string in printStackTrace.</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> */</em> +<a name="212" href="#212">212</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">StringThrowable</a> <strong class="jxr_keyword">extends</strong> Throwable { +<a name="213" href="#213">213</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L; +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment">/**</em> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> * Stack trace.</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> */</em> +<a name="217" href="#217">217</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String stackTrace; +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment">/**</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> * @param trace stack trace.</em> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> */</em> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">StringThrowable</a>(<strong class="jxr_keyword">final</strong> String trace) { +<a name="223" href="#223">223</a> stackTrace = trace; +<a name="224" href="#224">224</a> } +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">/**</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> * Print stack trace.</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> *</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> * @param s print writer.</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> */</em> +<a name="231" href="#231">231</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> printStackTrace(<strong class="jxr_keyword">final</strong> PrintWriter s) { +<a name="232" href="#232">232</a> s.print(stackTrace); +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment">/**</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> * Test capturing stack trace from throwable that just has a line feed.</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> */</em> +<a name="239" href="#239">239</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLineFeed() { +<a name="240" href="#240">240</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">StringThrowable</a>(<span class="jxr_string">"\n"</span>)); +<a name="241" href="#241">241</a> String[] rep = ti.getThrowableStrRep(); +<a name="242" href="#242">242</a> assertEquals(1, rep.length); +<a name="243" href="#243">243</a> assertEquals(<span class="jxr_string">""</span>, rep[0]); +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment">/**</em> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment"> * Test capturing stack trace from throwable that just has a carriage return.</em> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment"> */</em> +<a name="249" href="#249">249</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testCarriageReturn() { +<a name="250" href="#250">250</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">StringThrowable</a>(<span class="jxr_string">"\r"</span>)); +<a name="251" href="#251">251</a> String[] rep = ti.getThrowableStrRep(); +<a name="252" href="#252">252</a> assertEquals(1, rep.length); +<a name="253" href="#253">253</a> assertEquals(<span class="jxr_string">""</span>, rep[0]); +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment">/**</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> * Test parsing of line breaks.</em> +<a name="258" href="#258">258</a> <em class="jxr_javadoccomment"> */</em> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testParsing() { +<a name="260" href="#260">260</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation( +<a name="261" href="#261">261</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">StringThrowable</a>(<span class="jxr_string">"Line1\rLine2\nLine3\r\nLine4\n\rLine6"</span>)); +<a name="262" href="#262">262</a> String[] rep = ti.getThrowableStrRep(); +<a name="263" href="#263">263</a> assertEquals(6, rep.length); +<a name="264" href="#264">264</a> assertEquals(<span class="jxr_string">"Line1"</span>, rep[0]); +<a name="265" href="#265">265</a> assertEquals(<span class="jxr_string">"Line2"</span>, rep[1]); +<a name="266" href="#266">266</a> assertEquals(<span class="jxr_string">"Line3"</span>, rep[2]); +<a name="267" href="#267">267</a> assertEquals(<span class="jxr_string">"Line4"</span>, rep[3]); +<a name="268" href="#268">268</a> assertEquals(<span class="jxr_string">""</span>, rep[4]); +<a name="269" href="#269">269</a> assertEquals(<span class="jxr_string">"Line6"</span>, rep[5]); +<a name="270" href="#270">270</a> } +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment">/**</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> * Test capturing stack trace from throwable that a line feed followed by blank.</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> */</em> +<a name="275" href="#275">275</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLineFeedBlank() { +<a name="276" href="#276">276</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">StringThrowable</a>(<span class="jxr_string">"\n "</span>)); +<a name="277" href="#277">277</a> String[] rep = ti.getThrowableStrRep(); +<a name="278" href="#278">278</a> assertEquals(2, rep.length); +<a name="279" href="#279">279</a> assertEquals(<span class="jxr_string">""</span>, rep[0]); +<a name="280" href="#280">280</a> assertEquals(<span class="jxr_string">" "</span>, rep[1]); +<a name="281" href="#281">281</a> } +<a name="282" href="#282">282</a> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment">/**</em> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> * Test that getThrowable returns the throwable provided to the constructor.</em> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment"> */</em> +<a name="286" href="#286">286</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetThrowable() { +<a name="287" href="#287">287</a> Throwable t = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">StringThrowable</a>(<span class="jxr_string">"Hello, World"</span>); +<a name="288" href="#288">288</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation(t); +<a name="289" href="#289">289</a> assertSame(t, ti.getThrowable()); +<a name="290" href="#290">290</a> } +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment">/**</em> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment"> * Tests isolation of returned string representation</em> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> * from internal state of ThrowableInformation.</em> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment"> * log4j 1.2.15 and earlier did not isolate initial call.</em> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment"> * See bug 44032.</em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> */</em> +<a name="298" href="#298">298</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIsolation() { +<a name="299" href="#299">299</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation( +<a name="300" href="#300">300</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">StringThrowable</a>(<span class="jxr_string">"Hello, World"</span>)); +<a name="301" href="#301">301</a> String[] rep = ti.getThrowableStrRep(); +<a name="302" href="#302">302</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, rep[0]); +<a name="303" href="#303">303</a> rep[0] = <span class="jxr_string">"Bonjour, Monde"</span>; +<a name="304" href="#304">304</a> String[] rep2 = ti.getThrowableStrRep(); +<a name="305" href="#305">305</a> assertEquals(<span class="jxr_string">"Hello, World"</span>, rep2[0]); +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">/**</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> * Custom throwable that throws a runtime exception</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> * when printStackTrace is called.</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> */</em> +<a name="312" href="#312">312</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">NastyThrowable</a> <strong class="jxr_keyword">extends</strong> Throwable { +<a name="313" href="#313">313</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L; +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment">/**</em> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> */</em> +<a name="317" href="#317">317</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">NastyThrowable</a>() { +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> <em class="jxr_javadoccomment">/**</em> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment"> * Print stack trace.</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> *</em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> * @param s print writer.</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> */</em> +<a name="325" href="#325">325</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> printStackTrace(<strong class="jxr_keyword">final</strong> PrintWriter s) { +<a name="326" href="#326">326</a> s.print(<span class="jxr_string">"NastyException"</span>); +<a name="327" href="#327">327</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(<span class="jxr_string">"Intentional exception"</span>); +<a name="328" href="#328">328</a> } +<a name="329" href="#329">329</a> } +<a name="330" href="#330">330</a> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">/**</em> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> * Tests that a failure in printStackTrace</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> * does not percolate out of getThrowableStrRep().</em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> *</em> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment"> */</em> +<a name="336" href="#336">336</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNastyException() { +<a name="337" href="#337">337</a> ThrowableInformation ti = <strong class="jxr_keyword">new</strong> ThrowableInformation( +<a name="338" href="#338">338</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformationTest.html">NastyThrowable</a>()); +<a name="339" href="#339">339</a> String[] rep = ti.getThrowableStrRep(); +<a name="340" href="#340">340</a> assertEquals(<span class="jxr_string">"NastyException"</span>, rep[0]); +<a name="341" href="#341">341</a> } +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/package-frame.html new file mode 100644 index 00000000000..b9dc1d1b04a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/package-frame.html @@ -0,0 +1,57 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.spi</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.spi</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="LoggingEventTest.html" target="classFrame">BadMessage</a> + </li> + <li> + <a href="ThrowableInformationTest.html" target="classFrame">EmptyThrowable</a> + </li> + <li> + <a href="LocationInfoTest.html" target="classFrame">LocationInfoTest</a> + </li> + <li> + <a href="LoggingEventTest.html" target="classFrame">LoggingEventTest</a> + </li> + <li> + <a href="LocationInfoTest.html" target="classFrame">NameSubstring</a> + </li> + <li> + <a href="LocationInfoTest.html" target="classFrame">NameSubstringCaller</a> + </li> + <li> + <a href="ThrowableInformationTest.html" target="classFrame">NastyThrowable</a> + </li> + <li> + <a href="ThrowableInformationTest.html" target="classFrame">NotOverriddenThrowable</a> + </li> + <li> + <a href="ThrowableInformationTest.html" target="classFrame">NullThrowable</a> + </li> + <li> + <a href="ThrowableInformationTest.html" target="classFrame">OverriddenThrowable</a> + </li> + <li> + <a href="ThrowableInformationTest.html" target="classFrame">StringThrowable</a> + </li> + <li> + <a href="ThrowableInformationTest.html" target="classFrame">ThrowableInformationTest</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/package-summary.html new file mode 100644 index 00000000000..027590e1eac --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/spi/package-summary.html @@ -0,0 +1,122 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.spi</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.spi</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="LoggingEventTest.html" target="classFrame">BadMessage</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableInformationTest.html" target="classFrame">EmptyThrowable</a> + </td> + </tr> + <tr> + <td> + <a href="LocationInfoTest.html" target="classFrame">LocationInfoTest</a> + </td> + </tr> + <tr> + <td> + <a href="LoggingEventTest.html" target="classFrame">LoggingEventTest</a> + </td> + </tr> + <tr> + <td> + <a href="LocationInfoTest.html" target="classFrame">NameSubstring</a> + </td> + </tr> + <tr> + <td> + <a href="LocationInfoTest.html" target="classFrame">NameSubstringCaller</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableInformationTest.html" target="classFrame">NastyThrowable</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableInformationTest.html" target="classFrame">NotOverriddenThrowable</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableInformationTest.html" target="classFrame">NullThrowable</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableInformationTest.html" target="classFrame">OverriddenThrowable</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableInformationTest.html" target="classFrame">StringThrowable</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableInformationTest.html" target="classFrame">ThrowableInformationTest</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html new file mode 100644 index 00000000000..fa2142e1a97 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html @@ -0,0 +1,51 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AbsoluteDateAndTimeFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html">AbsoluteDateAndTimeFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> +<a name="28" href="#28">28</a> String filter(String in) { +<a name="29" href="#29">29</a> String pat = <span class="jxr_string">"/"</span>+Filter.ABSOLUTE_DATE_AND_TIME_PAT+<span class="jxr_string">"/"</span>; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">if</strong>(util.match(pat, in)) { +<a name="32" href="#32">32</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/"</span>+Filter.ABSOLUTE_DATE_AND_TIME_PAT+<span class="jxr_string">"//"</span>, in); +<a name="33" href="#33">33</a> } <strong class="jxr_keyword">else</strong> { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">return</strong> in; +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/AbsoluteTimeFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/AbsoluteTimeFilter.html new file mode 100644 index 00000000000..812dcf0fb1e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/AbsoluteTimeFilter.html @@ -0,0 +1,51 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AbsoluteTimeFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/AbsoluteTimeFilter.html">AbsoluteTimeFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> +<a name="28" href="#28">28</a> String filter(String in) { +<a name="29" href="#29">29</a> String pat = <span class="jxr_string">"/"</span>+Filter.ABSOLUTE_TIME_PAT+<span class="jxr_string">"/"</span>; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">if</strong>(util.match(pat, in)) { +<a name="32" href="#32">32</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/"</span>+Filter.ABSOLUTE_TIME_PAT+<span class="jxr_string">"//"</span>, in); +<a name="33" href="#33">33</a> } <strong class="jxr_keyword">else</strong> { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">return</strong> in; +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Compare.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Compare.html new file mode 100644 index 00000000000..56e2e30e8f7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Compare.html @@ -0,0 +1,74 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Compare xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.BufferedReader; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.FileNotFoundException; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.FileReader; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/Compare.html">Compare</a> { +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> B1_NULL = -1; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> B2_NULL = -2; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">static</strong> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">boolean</strong> compare(String file1, String file2) <strong class="jxr_keyword">throws</strong> FileNotFoundException, +<a name="33" href="#33">33</a> IOException { +<a name="34" href="#34">34</a> BufferedReader in1 = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> FileReader(file1)); +<a name="35" href="#35">35</a> BufferedReader in2 = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> FileReader(file2)); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> String s1; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">int</strong> lineCounter = 0; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">while</strong>((s1 = in1.readLine()) != <strong class="jxr_keyword">null</strong>) { +<a name="40" href="#40">40</a> lineCounter++; +<a name="41" href="#41">41</a> String s2 = in2.readLine(); +<a name="42" href="#42">42</a> <strong class="jxr_keyword">if</strong>(!s1.equals(s2)) { +<a name="43" href="#43">43</a> System.out.println(<span class="jxr_string">"Files ["</span>+file1+<span class="jxr_string">"] and ["</span>+file2+<span class="jxr_string">"] differ on line "</span> +<a name="44" href="#44">44</a> +lineCounter); +<a name="45" href="#45">45</a> System.out.println(<span class="jxr_string">"One reads: ["</span>+s1+<span class="jxr_string">"]."</span>); +<a name="46" href="#46">46</a> System.out.println(<span class="jxr_string">"Other reads:["</span>+s2+<span class="jxr_string">"]."</span>); +<a name="47" href="#47">47</a> <strong class="jxr_keyword">return</strong> false; +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">// the second file is longer</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">if</strong>(in2.read() != -1) { +<a name="53" href="#53">53</a> System.out.println(<span class="jxr_string">"File ["</span>+file2+<span class="jxr_string">"] longer than file ["</span>+file1+<span class="jxr_string">"]."</span>); +<a name="54" href="#54">54</a> <strong class="jxr_keyword">return</strong> false; +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/ControlFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/ControlFilter.html new file mode 100644 index 00000000000..e699df0f850 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/ControlFilter.html @@ -0,0 +1,59 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ControlFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> String[] allowedPatterns; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(String[] allowedPatterns) { +<a name="29" href="#29">29</a> <strong class="jxr_keyword">this</strong>.allowedPatterns = allowedPatterns; +<a name="30" href="#30">30</a> } +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> +<a name="33" href="#33">33</a> String filter(String in) <strong class="jxr_keyword">throws</strong> UnexpectedFormatException{ +<a name="34" href="#34">34</a> <strong class="jxr_keyword">int</strong> len = allowedPatterns.length; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; len; i++) { +<a name="36" href="#36">36</a> <em class="jxr_comment">//System.out.println("["+allowedPatterns[i]+"]");</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">if</strong>(util.match(<span class="jxr_string">"/"</span>+allowedPatterns[i]+<span class="jxr_string">"/"</span>, in)) { +<a name="38" href="#38">38</a> <em class="jxr_comment">//System.out.println("["+in+"] matched ["+allowedPatterns[i]);</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">return</strong> in; +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/UnexpectedFormatException.html">UnexpectedFormatException</a>(<span class="jxr_string">"["</span>+in+<span class="jxr_string">"]"</span>); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html new file mode 100644 index 00000000000..49671a7aefe --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html @@ -0,0 +1,80 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>EnhancedJunitTestRunnerFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="24" href="#24">24</a> <strong class="jxr_keyword">private</strong> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] PATTERNS = { +<a name="27" href="#27">27</a> <span class="jxr_string">"at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"</span>, +<a name="28" href="#28">28</a> <span class="jxr_string">"at org.apache.tools.ant"</span>, +<a name="29" href="#29">29</a> <span class="jxr_string">"at junit.textui.TestRunner"</span>, +<a name="30" href="#30">30</a> <span class="jxr_string">"at com.intellij.rt.execution.junit"</span>, +<a name="31" href="#31">31</a> <span class="jxr_string">"at java.lang.reflect.Method.invoke"</span>, +<a name="32" href="#32">32</a> <span class="jxr_string">"at org.apache.maven."</span>, +<a name="33" href="#33">33</a> <span class="jxr_string">"at org.codehaus."</span>, +<a name="34" href="#34">34</a> <span class="jxr_string">"at org.junit.internal.runners."</span>, +<a name="35" href="#35">35</a> <span class="jxr_string">"at junit.framework.JUnit4TestAdapter"</span> +<a name="36" href="#36">36</a> }; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/util/EnhancedJunitTestRunnerFilter.html">EnhancedJunitTestRunnerFilter</a>() { +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Filter out stack trace lines coming from the various JUnit TestRunners.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> String filter(String in) { +<a name="45" href="#45">45</a> <strong class="jxr_keyword">if</strong> (in == <strong class="jxr_keyword">null</strong>) { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_comment">//</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">// restore the one instance of Method.invoke that we actually want</em> +<a name="51" href="#51">51</a> <em class="jxr_comment">//</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">if</strong> (in.indexOf(<span class="jxr_string">"at junit.framework.TestCase.runTest"</span>) != -1) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"\tat java.lang.reflect.Method.invoke(X)\n\t"</span> + in.trim(); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; PATTERNS.length; i++) { +<a name="57" href="#57">57</a> <strong class="jxr_keyword">if</strong>(in.indexOf(PATTERNS[i]) != -1) { +<a name="58" href="#58">58</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> <strong class="jxr_keyword">if</strong> (util.match(<span class="jxr_string">"/&#92;&#92;sat /"</span>, in)) { +<a name="62" href="#62">62</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"\t"</span> + in.trim(); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> <strong class="jxr_keyword">return</strong> in; +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/EnhancedLineNumberFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/EnhancedLineNumberFilter.html new file mode 100644 index 00000000000..87e116ccb4c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/EnhancedLineNumberFilter.html @@ -0,0 +1,56 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>EnhancedLineNumberFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.regex.Pattern; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="24" href="#24">24</a> <strong class="jxr_keyword">private</strong> Pattern linePattern; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">private</strong> Pattern nativePattern; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/util/EnhancedLineNumberFilter.html">EnhancedLineNumberFilter</a>() { +<a name="28" href="#28">28</a> linePattern = Pattern.compile(<span class="jxr_string">"&#92;&#92;(.*:&#92;&#92;d{1,4}&#92;&#92;)"</span>); +<a name="29" href="#29">29</a> nativePattern = Pattern.compile(<span class="jxr_string">"&#92;&#92;(Native Method&#92;&#92;)"</span>); +<a name="30" href="#30">30</a> } +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> String filter(<strong class="jxr_keyword">final</strong> String in) { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">if</strong> (linePattern.matcher(in).find()) { +<a name="35" href="#35">35</a> <strong class="jxr_keyword">return</strong> linePattern.matcher(in).replaceAll(<span class="jxr_string">"(X)"</span>); +<a name="36" href="#36">36</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (nativePattern.matcher(in).find()) { +<a name="37" href="#37">37</a> <strong class="jxr_keyword">return</strong> nativePattern.matcher(in).replaceAll(<span class="jxr_string">"(X)"</span>); +<a name="38" href="#38">38</a> } <strong class="jxr_keyword">else</strong> { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">return</strong> in; +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Filter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Filter.html new file mode 100644 index 00000000000..69b4dc7001d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Filter.html @@ -0,0 +1,52 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Filter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">final</strong> String BASIC_PAT = <span class="jxr_string">"&#92;&#92;[main&#92;&#92;] (FATAL|ERROR|WARN|INFO|DEBUG)"</span>; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">final</strong> String ISO8601_PAT = <span class="jxr_string">"^&#92;&#92;d{4}-&#92;&#92;d{2}-&#92;&#92;d{2} &#92;&#92;d{2}:&#92;&#92;d{2}:&#92;&#92;d{2},&#92;&#92;d{3}"</span>; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_comment">// 06 avr. 2002 18:36:32,036</em> +<a name="26" href="#26">26</a> <em class="jxr_comment">// 18 fevr. 2002 20:05:36,222</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> String ABSOLUTE_DATE_AND_TIME_PAT = +<a name="28" href="#28">28</a> <span class="jxr_string">"^&#92;&#92;d{1,2} .{2,6}&#92;&#92;.? 2&#92;&#92;d{3} &#92;&#92;d{2}:&#92;&#92;d{2}:&#92;&#92;d{2},&#92;&#92;d{3}"</span>; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_comment">// 18:54:19,201</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> String ABSOLUTE_TIME_PAT = +<a name="32" href="#32">32</a> <span class="jxr_string">"^&#92;&#92;d{2}:&#92;&#92;d{2}:&#92;&#92;d{2},&#92;&#92;d{3}"</span>; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> String RELATIVE_TIME_PAT = <span class="jxr_string">"^&#92;&#92;d{1,10}"</span>; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> String filter(String in) <strong class="jxr_keyword">throws</strong> UnexpectedFormatException; +<a name="38" href="#38">38</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/ISO8601Filter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/ISO8601Filter.html new file mode 100644 index 00000000000..fd74d489e97 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/ISO8601Filter.html @@ -0,0 +1,50 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ISO8601Filter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> ISO8601Filter implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> +<a name="27" href="#27">27</a> String filter(String in) { +<a name="28" href="#28">28</a> String pat = <span class="jxr_string">"/"</span>+ISO8601_PAT +<span class="jxr_string">"/"</span>; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">if</strong>(util.match(pat, in)) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/"</span>+ISO8601_PAT+<span class="jxr_string">"//"</span>, in); +<a name="32" href="#32">32</a> } <strong class="jxr_keyword">else</strong> { +<a name="33" href="#33">33</a> <strong class="jxr_keyword">return</strong> in; +<a name="34" href="#34">34</a> } +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/JunitTestRunnerFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/JunitTestRunnerFilter.html new file mode 100644 index 00000000000..ff3fb00dd4e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/JunitTestRunnerFilter.html @@ -0,0 +1,76 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>JunitTestRunnerFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="24" href="#24">24</a> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Filter out stack trace lines coming from the various JUnit TestRunners.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> String filter(String in) { +<a name="30" href="#30">30</a> <strong class="jxr_keyword">if</strong> (in == <strong class="jxr_keyword">null</strong>) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">if</strong> ( +<a name="35" href="#35">35</a> util.match( +<a name="36" href="#36">36</a> <span class="jxr_string">"/at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner/"</span>, in)) { +<a name="37" href="#37">37</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="38" href="#38">38</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( +<a name="39" href="#39">39</a> util.match( +<a name="40" href="#40">40</a> <span class="jxr_string">"/at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner/"</span>, +<a name="41" href="#41">41</a> in)) { +<a name="42" href="#42">42</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="43" href="#43">43</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( +<a name="44" href="#44">44</a> util.match( +<a name="45" href="#45">45</a> <span class="jxr_string">"/at com.intellij/"</span>, +<a name="46" href="#46">46</a> in)) { +<a name="47" href="#47">47</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="48" href="#48">48</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (in.indexOf(<span class="jxr_string">"at junit."</span>) &gt;= 0 &amp;&amp; in.indexOf(<span class="jxr_string">"ui.TestRunner"</span>) &gt;= 0) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="50" href="#50">50</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (in.indexOf(<span class="jxr_string">"org.apache.maven"</span>) &gt;= 0) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="52" href="#52">52</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(in.indexOf(<span class="jxr_string">"junit.internal"</span>) &gt;= 0) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="54" href="#54">54</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(in.indexOf(<span class="jxr_string">"JUnit4TestAdapter"</span>) &gt;= 0) { +<a name="55" href="#55">55</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="56" href="#56">56</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (util.match(<span class="jxr_string">"/&#92;&#92;sat /"</span>, in)) { +<a name="57" href="#57">57</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"\t"</span> + in.trim(); +<a name="58" href="#58">58</a> } <strong class="jxr_keyword">else</strong> { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">return</strong> in; +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/LineNumberFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/LineNumberFilter.html new file mode 100644 index 00000000000..8e8eb409c40 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/LineNumberFilter.html @@ -0,0 +1,51 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LineNumberFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> +<a name="27" href="#27">27</a> String filter(String in) { +<a name="28" href="#28">28</a> <strong class="jxr_keyword">if</strong>(util.match(<span class="jxr_string">"/&#92;&#92;(.*:&#92;&#92;d{1,4}&#92;&#92;)/"</span>, in)) { +<a name="29" href="#29">29</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/:&#92;&#92;d{1,4}&#92;&#92;)/:XXX)/"</span>, in); +<a name="30" href="#30">30</a> } <strong class="jxr_keyword">else</strong> { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">if</strong>(in.indexOf(<span class="jxr_string">", Compiled Code"</span>) &gt;= 0) { +<a name="32" href="#32">32</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/, Compiled Code/:XXX/"</span>, in); +<a name="33" href="#33">33</a> } +<a name="34" href="#34">34</a> <strong class="jxr_keyword">return</strong> in; +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/RelativeTimeFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/RelativeTimeFilter.html new file mode 100644 index 00000000000..0a8a1b0eb68 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/RelativeTimeFilter.html @@ -0,0 +1,51 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>RelativeTimeFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/RelativeTimeFilter.html">RelativeTimeFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> +<a name="27" href="#27">27</a> String filter(String in) { +<a name="28" href="#28">28</a> String pat = <span class="jxr_string">"/"</span>+Filter.RELATIVE_TIME_PAT+<span class="jxr_string">"/"</span>; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">if</strong>(util.match(pat, in)) { +<a name="31" href="#31">31</a> <em class="jxr_comment">//System.out.println("Removing relative time from line ["+in+"]");</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/"</span>+Filter.RELATIVE_TIME_PAT+<span class="jxr_string">"//"</span>, in); +<a name="33" href="#33">33</a> } <strong class="jxr_keyword">else</strong> { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">return</strong> in; +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/SerializationTestHelper.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/SerializationTestHelper.html new file mode 100644 index 00000000000..4dc1d212a10 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/SerializationTestHelper.html @@ -0,0 +1,164 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SerializationTestHelper xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayInputStream; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayOutputStream; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.FileInputStream; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.FileOutputStream; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * Utiities for serialization tests.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> *</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/SerializationTestHelper.html">SerializationTestHelper</a> { +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/util/SerializationTestHelper.html">SerializationTestHelper</a>() { +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Creates a clone by serializing object and</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * deserializing byte stream.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * @param obj object to serialize and deserialize.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * @return clone</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * @throws IOException on IO error.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * @throws ClassNotFoundException if class not found.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Object serializeClone(<strong class="jxr_keyword">final</strong> Object obj) +<a name="53" href="#53">53</a> <strong class="jxr_keyword">throws</strong> IOException, ClassNotFoundException { +<a name="54" href="#54">54</a> ByteArrayOutputStream memOut = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream(); +<a name="55" href="#55">55</a> ObjectOutputStream objOut = <strong class="jxr_keyword">new</strong> ObjectOutputStream(memOut); +<a name="56" href="#56">56</a> objOut.writeObject(obj); +<a name="57" href="#57">57</a> objOut.close(); +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> ByteArrayInputStream src = <strong class="jxr_keyword">new</strong> ByteArrayInputStream(memOut.toByteArray()); +<a name="60" href="#60">60</a> ObjectInputStream objIs = <strong class="jxr_keyword">new</strong> ObjectInputStream(src); +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">return</strong> objIs.readObject(); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">/**</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * Deserializes a specified file.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * @param witness serialization file, may not be null.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * @return deserialized object.</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * @throws Exception thrown on IO or deserialization exception.</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Object deserializeStream(<strong class="jxr_keyword">final</strong> String witness) +<a name="72" href="#72">72</a> <strong class="jxr_keyword">throws</strong> Exception { +<a name="73" href="#73">73</a> FileInputStream fileIs = <strong class="jxr_keyword">new</strong> FileInputStream(witness); +<a name="74" href="#74">74</a> ObjectInputStream objIs = <strong class="jxr_keyword">new</strong> ObjectInputStream(fileIs); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">return</strong> objIs.readObject(); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * Checks the serialization of an object against an file</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * containing the expected serialization.</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> *</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * @param witness name of file containing expected serialization.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * @param obj object to be serialized.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * @param skip positions in serialized stream that should not be compared.</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * @param endCompare position to stop comparison.</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * @throws Exception thrown on IO or serialization exception.</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> */</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> assertSerializationEquals( +<a name="90" href="#90">90</a> <strong class="jxr_keyword">final</strong> String witness, <strong class="jxr_keyword">final</strong> Object obj, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] skip, +<a name="91" href="#91">91</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> endCompare) <strong class="jxr_keyword">throws</strong> Exception { +<a name="92" href="#92">92</a> ByteArrayOutputStream memOut = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream(); +<a name="93" href="#93">93</a> ObjectOutputStream objOut = <strong class="jxr_keyword">new</strong> ObjectOutputStream(memOut); +<a name="94" href="#94">94</a> objOut.writeObject(obj); +<a name="95" href="#95">95</a> objOut.close(); +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> assertStreamEquals(witness, memOut.toByteArray(), skip, endCompare); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">/**</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> * Asserts the serialized form of an object.</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * @param witness file name of expected serialization.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * @param actual byte array of actual serialization.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> * @param skip positions to skip comparison.</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> * @param endCompare position to stop comparison.</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * @throws IOException thrown on IO or serialization exception.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> */</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> assertStreamEquals( +<a name="109" href="#109">109</a> <strong class="jxr_keyword">final</strong> String witness, <strong class="jxr_keyword">final</strong> byte[] actual, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong>[] skip, +<a name="110" href="#110">110</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> endCompare) <strong class="jxr_keyword">throws</strong> IOException { +<a name="111" href="#111">111</a> File witnessFile = <strong class="jxr_keyword">new</strong> File(witness); +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">if</strong> (witnessFile.exists()) { +<a name="114" href="#114">114</a> <strong class="jxr_keyword">int</strong> skipIndex = 0; +<a name="115" href="#115">115</a> byte[] expected = <strong class="jxr_keyword">new</strong> byte[actual.length]; +<a name="116" href="#116">116</a> FileInputStream is = <strong class="jxr_keyword">new</strong> FileInputStream(witnessFile); +<a name="117" href="#117">117</a> <strong class="jxr_keyword">int</strong> bytesRead = is.read(expected); +<a name="118" href="#118">118</a> is.close(); +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">if</strong>(bytesRead &lt; endCompare) { +<a name="121" href="#121">121</a> TestCase.assertEquals(bytesRead, actual.length); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">int</strong> endScan = actual.length; +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">if</strong> (endScan &gt; endCompare) { +<a name="127" href="#127">127</a> endScan = endCompare; +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; endScan; i++) { +<a name="131" href="#131">131</a> <strong class="jxr_keyword">if</strong> ((skipIndex &lt; skip.length) &amp;&amp; (skip[skipIndex] == i)) { +<a name="132" href="#132">132</a> skipIndex++; +<a name="133" href="#133">133</a> } <strong class="jxr_keyword">else</strong> { +<a name="134" href="#134">134</a> <strong class="jxr_keyword">if</strong> (expected[i] != actual[i]) { +<a name="135" href="#135">135</a> TestCase.assertEquals( +<a name="136" href="#136">136</a> <span class="jxr_string">"Difference at offset "</span> + i, expected[i], actual[i]); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> } <strong class="jxr_keyword">else</strong> { +<a name="141" href="#141">141</a> <em class="jxr_comment">//</em> +<a name="142" href="#142">142</a> <em class="jxr_comment">// if the file doesn't exist then</em> +<a name="143" href="#143">143</a> <em class="jxr_comment">// assume that we are setting up and need to write it</em> +<a name="144" href="#144">144</a> FileOutputStream os = <strong class="jxr_keyword">new</strong> FileOutputStream(witnessFile); +<a name="145" href="#145">145</a> os.write(actual); +<a name="146" href="#146">146</a> os.close(); +<a name="147" href="#147">147</a> TestCase.fail(<span class="jxr_string">"Writing witness file "</span> + witness); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/SunReflectFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/SunReflectFilter.html new file mode 100644 index 00000000000..7c1fa826424 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/SunReflectFilter.html @@ -0,0 +1,64 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SunReflectFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * The sun.reflect.* and java.lang.reflect.* lines are not present in all JDKs.</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * </em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * @author Ceki Gulcu</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="28" href="#28">28</a> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> String filter(String in) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">if</strong>(in == <strong class="jxr_keyword">null</strong>) { +<a name="32" href="#32">32</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="33" href="#33">33</a> } +<a name="34" href="#34">34</a> <strong class="jxr_keyword">if</strong> (util.match(<span class="jxr_string">"/at sun.reflect/"</span>, in)) { +<a name="35" href="#35">35</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> <strong class="jxr_keyword">if</strong> (in.indexOf(<span class="jxr_string">"at java.lang.reflect."</span>) &gt;= 0) { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> <strong class="jxr_keyword">if</strong> (in.indexOf(<span class="jxr_string">"Compiled Code"</span>) &gt;= 0) { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">if</strong>(in.indexOf(<span class="jxr_string">"junit.framework.TestSuite"</span>) &gt;= 0) { +<a name="42" href="#42">42</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/Compiled Code/TestSuite.java:XXX/"</span>, in); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> <strong class="jxr_keyword">if</strong> (util.match(<span class="jxr_string">"/&#92;&#92;(Method.java:.*&#92;&#92;)/"</span>, in)) { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/&#92;&#92;(Method.java:.*&#92;&#92;)/(Native Method)/"</span>, in); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> <strong class="jxr_keyword">return</strong> in; +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Transformer.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Transformer.html new file mode 100644 index 00000000000..d09149ccaaa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/Transformer.html @@ -0,0 +1,81 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Transformer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.BufferedReader; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.FileOutputStream; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.FileReader; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.PrintStream; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/Transformer.html">Transformer</a> { +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">static</strong> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">void</strong> transform(String in, String out, <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] filters) <strong class="jxr_keyword">throws</strong> IOException, +<a name="31" href="#31">31</a> <a href="../../../../org/apache/log4j/util/UnexpectedFormatException.html">UnexpectedFormatException</a> { +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> String line; +<a name="34" href="#34">34</a> BufferedReader input = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> FileReader(in)); +<a name="35" href="#35">35</a> PrintStream output = <strong class="jxr_keyword">new</strong> PrintStream(<strong class="jxr_keyword">new</strong> FileOutputStream(out, false)); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_comment">// Initialization of input and output omitted</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">while</strong>((line = input.readLine()) != <strong class="jxr_keyword">null</strong>) { +<a name="39" href="#39">39</a> <em class="jxr_comment">// apply all filters</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; filters.length; i++) { +<a name="41" href="#41">41</a> line = filters[i].filter(line); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> <strong class="jxr_keyword">if</strong>(line != <strong class="jxr_keyword">null</strong>) { +<a name="44" href="#44">44</a> output.println(line); +<a name="45" href="#45">45</a> } +<a name="46" href="#46">46</a> } +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">static</strong> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">void</strong> transform(String in, String out, <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> filter) <strong class="jxr_keyword">throws</strong> IOException, +<a name="54" href="#54">54</a> <a href="../../../../org/apache/log4j/util/UnexpectedFormatException.html">UnexpectedFormatException</a> { +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> String line; +<a name="57" href="#57">57</a> BufferedReader input = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> FileReader(in)); +<a name="58" href="#58">58</a> PrintStream output = <strong class="jxr_keyword">new</strong> PrintStream(<strong class="jxr_keyword">new</strong> FileOutputStream(out)); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_comment">// Initialization of input and output omitted</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">while</strong>((line = input.readLine()) != <strong class="jxr_keyword">null</strong>) { +<a name="62" href="#62">62</a> line = filter.filter(line); +<a name="63" href="#63">63</a> output.println(line); +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/UnexpectedFormatException.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/UnexpectedFormatException.html new file mode 100644 index 00000000000..4bda8bb0677 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/UnexpectedFormatException.html @@ -0,0 +1,40 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>UnexpectedFormatException xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/UnexpectedFormatException.html">UnexpectedFormatException</a> <strong class="jxr_keyword">extends</strong> Exception { +<a name="21" href="#21">21</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1787725660780924147L; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/util/UnexpectedFormatException.html">UnexpectedFormatException</a>(String msg) { +<a name="24" href="#24">24</a> <strong class="jxr_keyword">super</strong>(msg); +<a name="25" href="#25">25</a> } +<a name="26" href="#26">26</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/XMLLineAttributeFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/XMLLineAttributeFilter.html new file mode 100644 index 00000000000..9bd2dfc1b0e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/XMLLineAttributeFilter.html @@ -0,0 +1,50 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>XMLLineAttributeFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html">XMLLineAttributeFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> +<a name="27" href="#27">27</a> String filter(String in) { +<a name="28" href="#28">28</a> <strong class="jxr_keyword">if</strong>(util.match(<span class="jxr_string">"/line=\&quot;&#92;&#92;d{1,3}\&quot;/"</span>, in)) { +<a name="29" href="#29">29</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/line=\&quot;&#92;&#92;d{1,3}\&quot;/line=\&quot;X\&quot;/"</span>, in); +<a name="30" href="#30">30</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(util.match(<span class="jxr_string">"/line=\&quot;?\&quot;/"</span>, in)) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/line=\&quot;?\&quot;/line=\&quot;X\&quot;/"</span>, in); +<a name="32" href="#32">32</a> } <strong class="jxr_keyword">else</strong> { +<a name="33" href="#33">33</a> <strong class="jxr_keyword">return</strong> in; +<a name="34" href="#34">34</a> } +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/XMLTimestampFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/XMLTimestampFilter.html new file mode 100644 index 00000000000..3faaf04fe20 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/XMLTimestampFilter.html @@ -0,0 +1,48 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>XMLTimestampFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.oro.text.perl.Perl5Util; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/util/XMLTimestampFilter.html">XMLTimestampFilter</a> implements <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a> { +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> Perl5Util util = <strong class="jxr_keyword">new</strong> Perl5Util(); +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> +<a name="27" href="#27">27</a> String filter(String in) { +<a name="28" href="#28">28</a> <strong class="jxr_keyword">if</strong>(util.match(<span class="jxr_string">"/timestamp=\&quot;&#92;&#92;d{10,13}\&quot;/"</span>, in)) { +<a name="29" href="#29">29</a> <strong class="jxr_keyword">return</strong> util.substitute(<span class="jxr_string">"s/timestamp=\&quot;&#92;&#92;d{10,13}\&quot;/timestamp=\&quot;XXX\&quot;/"</span>, in); +<a name="30" href="#30">30</a> } <strong class="jxr_keyword">else</strong> { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">return</strong> in; +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> } +<a name="34" href="#34">34</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/package-frame.html new file mode 100644 index 00000000000..7dbc0d64ff2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/package-frame.html @@ -0,0 +1,75 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.util</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.util</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="AbsoluteDateAndTimeFilter.html" target="classFrame">AbsoluteDateAndTimeFilter</a> + </li> + <li> + <a href="AbsoluteTimeFilter.html" target="classFrame">AbsoluteTimeFilter</a> + </li> + <li> + <a href="Compare.html" target="classFrame">Compare</a> + </li> + <li> + <a href="ControlFilter.html" target="classFrame">ControlFilter</a> + </li> + <li> + <a href="EnhancedJunitTestRunnerFilter.html" target="classFrame">EnhancedJunitTestRunnerFilter</a> + </li> + <li> + <a href="EnhancedLineNumberFilter.html" target="classFrame">EnhancedLineNumberFilter</a> + </li> + <li> + <a href="Filter.html" target="classFrame">Filter</a> + </li> + <li> + <a href="ISO8601Filter.html" target="classFrame">ISO8601Filter</a> + </li> + <li> + <a href="JunitTestRunnerFilter.html" target="classFrame">JunitTestRunnerFilter</a> + </li> + <li> + <a href="LineNumberFilter.html" target="classFrame">LineNumberFilter</a> + </li> + <li> + <a href="MDCOrderFilter.html" target="classFrame">MDCOrderFilter</a> + </li> + <li> + <a href="RelativeTimeFilter.html" target="classFrame">RelativeTimeFilter</a> + </li> + <li> + <a href="SerializationTestHelper.html" target="classFrame">SerializationTestHelper</a> + </li> + <li> + <a href="SunReflectFilter.html" target="classFrame">SunReflectFilter</a> + </li> + <li> + <a href="Transformer.html" target="classFrame">Transformer</a> + </li> + <li> + <a href="UnexpectedFormatException.html" target="classFrame">UnexpectedFormatException</a> + </li> + <li> + <a href="XMLLineAttributeFilter.html" target="classFrame">XMLLineAttributeFilter</a> + </li> + <li> + <a href="XMLTimestampFilter.html" target="classFrame">XMLTimestampFilter</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/package-summary.html new file mode 100644 index 00000000000..76ba16bb485 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/util/package-summary.html @@ -0,0 +1,152 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.util</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.util</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="AbsoluteDateAndTimeFilter.html" target="classFrame">AbsoluteDateAndTimeFilter</a> + </td> + </tr> + <tr> + <td> + <a href="AbsoluteTimeFilter.html" target="classFrame">AbsoluteTimeFilter</a> + </td> + </tr> + <tr> + <td> + <a href="Compare.html" target="classFrame">Compare</a> + </td> + </tr> + <tr> + <td> + <a href="ControlFilter.html" target="classFrame">ControlFilter</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedJunitTestRunnerFilter.html" target="classFrame">EnhancedJunitTestRunnerFilter</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedLineNumberFilter.html" target="classFrame">EnhancedLineNumberFilter</a> + </td> + </tr> + <tr> + <td> + <a href="Filter.html" target="classFrame">Filter</a> + </td> + </tr> + <tr> + <td> + <a href="ISO8601Filter.html" target="classFrame">ISO8601Filter</a> + </td> + </tr> + <tr> + <td> + <a href="JunitTestRunnerFilter.html" target="classFrame">JunitTestRunnerFilter</a> + </td> + </tr> + <tr> + <td> + <a href="LineNumberFilter.html" target="classFrame">LineNumberFilter</a> + </td> + </tr> + <tr> + <td> + <a href="MDCOrderFilter.html" target="classFrame">MDCOrderFilter</a> + </td> + </tr> + <tr> + <td> + <a href="RelativeTimeFilter.html" target="classFrame">RelativeTimeFilter</a> + </td> + </tr> + <tr> + <td> + <a href="SerializationTestHelper.html" target="classFrame">SerializationTestHelper</a> + </td> + </tr> + <tr> + <td> + <a href="SunReflectFilter.html" target="classFrame">SunReflectFilter</a> + </td> + </tr> + <tr> + <td> + <a href="Transformer.html" target="classFrame">Transformer</a> + </td> + </tr> + <tr> + <td> + <a href="UnexpectedFormatException.html" target="classFrame">UnexpectedFormatException</a> + </td> + </tr> + <tr> + <td> + <a href="XMLLineAttributeFilter.html" target="classFrame">XMLLineAttributeFilter</a> + </td> + </tr> + <tr> + <td> + <a href="XMLTimestampFilter.html" target="classFrame">XMLTimestampFilter</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/ERFATestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/ERFATestCase.html new file mode 100644 index 00000000000..b65199a4001 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/ERFATestCase.html @@ -0,0 +1,155 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ERFATestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PatternLayout; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.RFATestCase; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.DataInputStream; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.DataOutputStream; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Test of ExternallyRolledFileAppender.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> *</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/ERFATestCase.html">ERFATestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Create new instance of test.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @param name test name.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/varia/ERFATestCase.html">ERFATestCase</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">super</strong>(name); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * Reset configuration after test.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="50" href="#50">50</a> LogManager.resetConfiguration(); +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * Test ExternallyRolledFileAppender constructor.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testConstructor() { +<a name="57" href="#57">57</a> ExternallyRolledFileAppender appender = +<a name="58" href="#58">58</a> <strong class="jxr_keyword">new</strong> ExternallyRolledFileAppender(); +<a name="59" href="#59">59</a> assertEquals(0, appender.getPort()); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * Send a message to the ERFA.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * @param port port number.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * @param msg message, may not be null.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * @param expectedResponse expected response, may not be null.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * @throws IOException thrown on IO error.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> */</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">void</strong> sendMessage(<strong class="jxr_keyword">int</strong> port, <strong class="jxr_keyword">final</strong> String msg, <strong class="jxr_keyword">final</strong> String expectedResponse) <strong class="jxr_keyword">throws</strong> IOException { +<a name="70" href="#70">70</a> Socket socket = <strong class="jxr_keyword">new</strong> Socket((String) <strong class="jxr_keyword">null</strong>, port); +<a name="71" href="#71">71</a> DataInputStream reader = <strong class="jxr_keyword">new</strong> DataInputStream(socket.getInputStream()); +<a name="72" href="#72">72</a> DataOutputStream writer = <strong class="jxr_keyword">new</strong> DataOutputStream(socket.getOutputStream()); +<a name="73" href="#73">73</a> writer.writeUTF(msg); +<a name="74" href="#74">74</a> String response = reader.readUTF(); +<a name="75" href="#75">75</a> assertEquals(expectedResponse, response); +<a name="76" href="#76">76</a> reader.close(); +<a name="77" href="#77">77</a> writer.close(); +<a name="78" href="#78">78</a> socket.close(); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment">/**</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * Test externally triggered rollover.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * @throws IOException thrown on IO error.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testRollover() <strong class="jxr_keyword">throws</strong> IOException { +<a name="86" href="#86">86</a> ExternallyRolledFileAppender erfa = +<a name="87" href="#87">87</a> <strong class="jxr_keyword">new</strong> ExternallyRolledFileAppender(); +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">int</strong> port = 5500; +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> Logger logger = Logger.getLogger(RFATestCase.<strong class="jxr_keyword">class</strong>); +<a name="92" href="#92">92</a> Logger root = Logger.getRootLogger(); +<a name="93" href="#93">93</a> PatternLayout layout = <strong class="jxr_keyword">new</strong> PatternLayout(<span class="jxr_string">"%m\n"</span>); +<a name="94" href="#94">94</a> erfa.setLayout(layout); +<a name="95" href="#95">95</a> erfa.setAppend(false); +<a name="96" href="#96">96</a> erfa.setMaxBackupIndex(2); +<a name="97" href="#97">97</a> erfa.setPort(port); +<a name="98" href="#98">98</a> erfa.setFile(<span class="jxr_string">"output/ERFA-test2.log"</span>); +<a name="99" href="#99">99</a> <strong class="jxr_keyword">try</strong> { +<a name="100" href="#100">100</a> erfa.activateOptions(); +<a name="101" href="#101">101</a> } <strong class="jxr_keyword">catch</strong>(SecurityException ex) { +<a name="102" href="#102">102</a> <strong class="jxr_keyword">return</strong>; +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> <strong class="jxr_keyword">try</strong> { +<a name="105" href="#105">105</a> Thread.sleep(100); +<a name="106" href="#106">106</a> } <strong class="jxr_keyword">catch</strong>(InterruptedException ex) { +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> root.addAppender(erfa); +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em class="jxr_comment">// Write exactly 10 bytes with each log</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 55; i++) { +<a name="113" href="#113">113</a> <strong class="jxr_keyword">if</strong> (i &lt; 10) { +<a name="114" href="#114">114</a> logger.debug(<span class="jxr_string">"Hello---"</span> + i); +<a name="115" href="#115">115</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (i &lt; 100) { +<a name="116" href="#116">116</a> logger.debug(<span class="jxr_string">"Hello--"</span> + i); +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> <strong class="jxr_keyword">if</strong> ((i % 10) == 9) { +<a name="119" href="#119">119</a> <strong class="jxr_keyword">try</strong> { +<a name="120" href="#120">120</a> sendMessage(port, <span class="jxr_string">"RollOver"</span>, <span class="jxr_string">"OK"</span>); +<a name="121" href="#121">121</a> } <strong class="jxr_keyword">catch</strong>(SecurityException ex) { +<a name="122" href="#122">122</a> <strong class="jxr_keyword">return</strong>; +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">try</strong> { +<a name="128" href="#128">128</a> sendMessage(port, +<a name="129" href="#129">129</a> <span class="jxr_string">"That's all folks."</span>, +<a name="130" href="#130">130</a> <span class="jxr_string">"Expecting [RollOver] string."</span>); +<a name="131" href="#131">131</a> } <strong class="jxr_keyword">catch</strong>(SecurityException ex) { +<a name="132" href="#132">132</a> <strong class="jxr_keyword">return</strong>; +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/ERFA-test2.log"</span>).exists()); +<a name="137" href="#137">137</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/ERFA-test2.log.1"</span>).exists()); +<a name="138" href="#138">138</a> assertTrue(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/ERFA-test2.log.2"</span>).exists()); +<a name="139" href="#139">139</a> assertFalse(<strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/ERFA-test2.log.3"</span>).exists()); +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/ErrorHandlerTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/ErrorHandlerTestCase.html new file mode 100644 index 00000000000..7b0091bd670 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/ErrorHandlerTestCase.html @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ErrorHandlerTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Filter; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Transformer; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.JunitTestRunnerFilter; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.SunReflectFilter; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.LineNumberFilter; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.ControlFilter; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.DOMConfigurator; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PropertyConfigurator; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/ErrorHandlerTestCase.html">ErrorHandlerTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">static</strong> String TEMP = <span class="jxr_string">"output/temp"</span>; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">static</strong> String FILTERED = <span class="jxr_string">"output/filtered"</span>; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">static</strong> String EXCEPTION1 = <span class="jxr_string">"java.lang.Exception: Just testing"</span>; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">static</strong> String EXCEPTION2 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*&#92;&#92;)"</span>; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> String EXCEPTION3 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(Native Method&#92;&#92;)"</span>; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> String TEST1_PAT = +<a name="46" href="#46">46</a> <span class="jxr_string">"FALLBACK - (root|test) - Message &#92;&#92;d"</span>; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> Logger root; +<a name="50" href="#50">50</a> Logger logger; +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/varia/ErrorHandlerTestCase.html">ErrorHandlerTestCase</a>(String name) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">super</strong>(name); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="57" href="#57">57</a> root = Logger.getRootLogger(); +<a name="58" href="#58">58</a> logger = Logger.getLogger(<span class="jxr_string">"test"</span>); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="62" href="#62">62</a> root.getLoggerRepository().resetConfiguration(); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="66" href="#66">66</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/fallback1.xml"</span>); +<a name="67" href="#67">67</a> Appender primary = root.getAppender(<span class="jxr_string">"PRIMARY"</span>); +<a name="68" href="#68">68</a> ErrorHandler eh = primary.getErrorHandler(); +<a name="69" href="#69">69</a> assertNotNull(eh); +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> common(); +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{TEST1_PAT, +<a name="74" href="#74">74</a> EXCEPTION1, EXCEPTION2, EXCEPTION3}); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> Transformer.transform(TEMP, FILTERED, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] {cf, +<a name="77" href="#77">77</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), +<a name="78" href="#78">78</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="79" href="#79">79</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>()}); +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/fallback1"</span>)); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="86" href="#86">86</a> PropertyConfigurator.configure(<span class="jxr_string">"input/fallback1.properties"</span>); +<a name="87" href="#87">87</a> Appender primary = root.getAppender(<span class="jxr_string">"PRIMARY"</span>); +<a name="88" href="#88">88</a> ErrorHandler eh = primary.getErrorHandler(); +<a name="89" href="#89">89</a> assertNotNull(eh); +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> common(); +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{TEST1_PAT, +<a name="94" href="#94">94</a> EXCEPTION1, EXCEPTION2, EXCEPTION3}); +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> Transformer.transform(TEMP, FILTERED, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] {cf, +<a name="97" href="#97">97</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), +<a name="98" href="#98">98</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="99" href="#99">99</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>()}); +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/fallback1"</span>)); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">void</strong> common() { +<a name="106" href="#106">106</a> <strong class="jxr_keyword">int</strong> i = -1; +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i); +<a name="109" href="#109">109</a> root.debug(<span class="jxr_string">"Message "</span> + i); +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> logger.info (<span class="jxr_string">"Message "</span> + ++i); +<a name="112" href="#112">112</a> root.info(<span class="jxr_string">"Message "</span> + i); +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> logger.warn (<span class="jxr_string">"Message "</span> + ++i); +<a name="115" href="#115">115</a> root.warn(<span class="jxr_string">"Message "</span> + i); +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> logger.error(<span class="jxr_string">"Message "</span> + ++i); +<a name="118" href="#118">118</a> root.error(<span class="jxr_string">"Message "</span> + i); +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> logger.log(Level.FATAL, <span class="jxr_string">"Message "</span> + ++i); +<a name="121" href="#121">121</a> root.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> Exception e = <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Just testing"</span>); +<a name="124" href="#124">124</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="125" href="#125">125</a> root.debug(<span class="jxr_string">"Message "</span> + i, e); +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> logger.error(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="128" href="#128">128</a> root.error(<span class="jxr_string">"Message "</span> + i, e); +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/LevelMatchFilterTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/LevelMatchFilterTestCase.html new file mode 100644 index 00000000000..ef9948bb8f1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/LevelMatchFilterTestCase.html @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LevelMatchFilterTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.FileAppender; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.SimpleLayout; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.varia.LevelMatchFilter; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.varia.DenyAllFilter; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Transformer; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.LineNumberFilter; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> Test case for varia/LevelMatchFilter.java.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/LevelMatchFilterTestCase.html">LevelMatchFilterTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">static</strong> String ACCEPT_FILE = <span class="jxr_string">"output/LevelMatchFilter_accept"</span>; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> String ACCEPT_FILTERED = <span class="jxr_string">"output/LevelMatchFilter_accept_filtered"</span>; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">static</strong> String ACCEPT_WITNESS = <span class="jxr_string">"witness/LevelMatchFilter_accept"</span>; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">static</strong> String DENY_FILE = <span class="jxr_string">"output/LevelMatchFilter_deny"</span>; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">static</strong> String DENY_FILTERED = <span class="jxr_string">"output/LevelMatchFilter_deny_filtered"</span>; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">static</strong> String DENY_WITNESS = <span class="jxr_string">"witness/LevelMatchFilter_deny"</span>; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> Logger root; +<a name="51" href="#51">51</a> Logger logger; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/varia/LevelMatchFilterTestCase.html">LevelMatchFilterTestCase</a>(String name) { +<a name="54" href="#54">54</a> <strong class="jxr_keyword">super</strong>(name); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="58" href="#58">58</a> root = Logger.getRootLogger(); +<a name="59" href="#59">59</a> root.removeAllAppenders(); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="63" href="#63">63</a> root.getLoggerRepository().resetConfiguration(); +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> accept() <strong class="jxr_keyword">throws</strong> Exception { +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_comment">// set up appender</em> +<a name="69" href="#69">69</a> Layout layout = <strong class="jxr_keyword">new</strong> SimpleLayout(); +<a name="70" href="#70">70</a> Appender appender = <strong class="jxr_keyword">new</strong> FileAppender(layout, ACCEPT_FILE, false); +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_comment">// create LevelMatchFilter</em> +<a name="73" href="#73">73</a> LevelMatchFilter matchFilter = <strong class="jxr_keyword">new</strong> LevelMatchFilter(); +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_comment">// attach match filter to appender</em> +<a name="76" href="#76">76</a> appender.addFilter(matchFilter); +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_comment">// attach DenyAllFilter to end of filter chain to deny neutral</em> +<a name="79" href="#79">79</a> <em class="jxr_comment">// (non matching) messages</em> +<a name="80" href="#80">80</a> appender.addFilter(<strong class="jxr_keyword">new</strong> DenyAllFilter()); +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_comment">// set appender on root and set level to debug</em> +<a name="83" href="#83">83</a> root.addAppender(appender); +<a name="84" href="#84">84</a> root.setLevel(Level.TRACE); +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> Level[] levelArray = <strong class="jxr_keyword">new</strong> Level[] {Level.TRACE, Level.DEBUG, Level.INFO, Level.WARN, +<a name="87" href="#87">87</a> Level.ERROR, Level.FATAL}; +<a name="88" href="#88">88</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> x = 0; x &lt; levelArray.length; x++) { +<a name="89" href="#89">89</a> <em class="jxr_comment">// set the level to match</em> +<a name="90" href="#90">90</a> matchFilter.setLevelToMatch(levelArray[x].toString()); +<a name="91" href="#91">91</a> common(<span class="jxr_string">"pass "</span> + x + <span class="jxr_string">"; filter set to accept only "</span> +<a name="92" href="#92">92</a> + levelArray[x].toString() + <span class="jxr_string">" msgs"</span>); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> Transformer.transform(ACCEPT_FILE, ACCEPT_FILTERED, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>()); +<a name="96" href="#96">96</a> assertTrue(Compare.compare(ACCEPT_FILTERED, ACCEPT_WITNESS)); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> deny() <strong class="jxr_keyword">throws</strong> Exception { +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_comment">// set up appender</em> +<a name="102" href="#102">102</a> Layout layout = <strong class="jxr_keyword">new</strong> SimpleLayout(); +<a name="103" href="#103">103</a> Appender appender = <strong class="jxr_keyword">new</strong> FileAppender(layout, DENY_FILE, false); +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_comment">// create LevelMatchFilter, set to deny matches</em> +<a name="106" href="#106">106</a> LevelMatchFilter matchFilter = <strong class="jxr_keyword">new</strong> LevelMatchFilter(); +<a name="107" href="#107">107</a> matchFilter.setAcceptOnMatch(false); +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em class="jxr_comment">// attach match filter to appender</em> +<a name="110" href="#110">110</a> appender.addFilter(matchFilter); +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_comment">// set appender on root and set level to debug</em> +<a name="113" href="#113">113</a> root.addAppender(appender); +<a name="114" href="#114">114</a> root.setLevel(Level.TRACE); +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> Level[] levelArray = <strong class="jxr_keyword">new</strong> Level[] {Level.TRACE, Level.DEBUG, Level.INFO, Level.WARN, +<a name="117" href="#117">117</a> Level.ERROR, Level.FATAL}; +<a name="118" href="#118">118</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> x = 0; x &lt; levelArray.length; x++) { +<a name="119" href="#119">119</a> <em class="jxr_comment">// set the level to match</em> +<a name="120" href="#120">120</a> matchFilter.setLevelToMatch(levelArray[x].toString()); +<a name="121" href="#121">121</a> common(<span class="jxr_string">"pass "</span> + x + <span class="jxr_string">"; filter set to deny only "</span> + levelArray[x].toString() +<a name="122" href="#122">122</a> + <span class="jxr_string">" msgs"</span>); +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> Transformer.transform(DENY_FILE, DENY_FILTERED, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>()); +<a name="126" href="#126">126</a> assertTrue(Compare.compare(DENY_FILTERED, DENY_WITNESS)); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">void</strong> common(String msg) { +<a name="131" href="#131">131</a> Logger logger = Logger.getLogger(<span class="jxr_string">"test"</span>); +<a name="132" href="#132">132</a> logger.trace(msg); +<a name="133" href="#133">133</a> logger.debug(msg); +<a name="134" href="#134">134</a> logger.info(msg); +<a name="135" href="#135">135</a> logger.warn(msg); +<a name="136" href="#136">136</a> logger.error(msg); +<a name="137" href="#137">137</a> logger.fatal(msg); +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="141" href="#141">141</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="142" href="#142">142</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/varia/LevelMatchFilterTestCase.html">LevelMatchFilterTestCase</a>(<span class="jxr_string">"accept"</span>)); +<a name="143" href="#143">143</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/varia/LevelMatchFilterTestCase.html">LevelMatchFilterTestCase</a>(<span class="jxr_string">"deny"</span>)); +<a name="144" href="#144">144</a> <strong class="jxr_keyword">return</strong> suite; +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/package-frame.html new file mode 100644 index 00000000000..6619bacc779 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/package-frame.html @@ -0,0 +1,30 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.varia</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.varia</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="ERFATestCase.html" target="classFrame">ERFATestCase</a> + </li> + <li> + <a href="ErrorHandlerTestCase.html" target="classFrame">ErrorHandlerTestCase</a> + </li> + <li> + <a href="LevelMatchFilterTestCase.html" target="classFrame">LevelMatchFilterTestCase</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/package-summary.html new file mode 100644 index 00000000000..fd1ed5a98c5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/varia/package-summary.html @@ -0,0 +1,77 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.varia</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.varia</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="ERFATestCase.html" target="classFrame">ERFATestCase</a> + </td> + </tr> + <tr> + <td> + <a href="ErrorHandlerTestCase.html" target="classFrame">ErrorHandlerTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="LevelMatchFilterTestCase.html" target="classFrame">LevelMatchFilterTestCase</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/CustomLevelTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/CustomLevelTestCase.html new file mode 100644 index 00000000000..a06502c1135 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/CustomLevelTestCase.html @@ -0,0 +1,103 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CustomLevelTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.xml; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/CustomLevelTestCase.html">CustomLevelTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">static</strong> String TEMP = <span class="jxr_string">"output/temp"</span>; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> Logger root; +<a name="31" href="#31">31</a> Logger logger; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/xml/CustomLevelTestCase.html">CustomLevelTestCase</a>(String name) { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">super</strong>(name); +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="38" href="#38">38</a> root = Logger.getRootLogger(); +<a name="39" href="#39">39</a> logger = Logger.getLogger(CustomLevelTestCase.<strong class="jxr_keyword">class</strong>); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="43" href="#43">43</a> root.getLoggerRepository().resetConfiguration(); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="47" href="#47">47</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/customLevel1.xml"</span>); +<a name="48" href="#48">48</a> common(); +<a name="49" href="#49">49</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/customLevel.1"</span>)); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test2() <strong class="jxr_keyword">throws</strong> Exception { +<a name="53" href="#53">53</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/customLevel2.xml"</span>); +<a name="54" href="#54">54</a> common(); +<a name="55" href="#55">55</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/customLevel.2"</span>)); +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test3() <strong class="jxr_keyword">throws</strong> Exception { +<a name="59" href="#59">59</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/customLevel3.xml"</span>); +<a name="60" href="#60">60</a> common(); +<a name="61" href="#61">61</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/customLevel.3"</span>)); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test4() <strong class="jxr_keyword">throws</strong> Exception { +<a name="65" href="#65">65</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/customLevel4.xml"</span>); +<a name="66" href="#66">66</a> common(); +<a name="67" href="#67">67</a> assertTrue(Compare.compare(TEMP, <span class="jxr_string">"witness/customLevel.4"</span>)); +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">void</strong> common() { +<a name="72" href="#72">72</a> <strong class="jxr_keyword">int</strong> i = 0; +<a name="73" href="#73">73</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i); +<a name="74" href="#74">74</a> logger.info (<span class="jxr_string">"Message "</span> + ++i); +<a name="75" href="#75">75</a> logger.warn (<span class="jxr_string">"Message "</span> + ++i); +<a name="76" href="#76">76</a> logger.error(<span class="jxr_string">"Message "</span> + ++i); +<a name="77" href="#77">77</a> logger.log(XLevel.TRACE, <span class="jxr_string">"Message "</span> + ++i); +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="81" href="#81">81</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="82" href="#82">82</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/CustomLevelTestCase.html">CustomLevelTestCase</a>(<span class="jxr_string">"test1"</span>)); +<a name="83" href="#83">83</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/CustomLevelTestCase.html">CustomLevelTestCase</a>(<span class="jxr_string">"test2"</span>)); +<a name="84" href="#84">84</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/CustomLevelTestCase.html">CustomLevelTestCase</a>(<span class="jxr_string">"test3"</span>)); +<a name="85" href="#85">85</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/CustomLevelTestCase.html">CustomLevelTestCase</a>(<span class="jxr_string">"test4"</span>)); +<a name="86" href="#86">86</a> <strong class="jxr_keyword">return</strong> suite; +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/DOMTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/DOMTestCase.html new file mode 100644 index 00000000000..36381913565 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/DOMTestCase.html @@ -0,0 +1,433 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DOMTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.xml; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.FileAppender; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.VectorAppender; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerFactory; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRenderer; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRendererSupport; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.ControlFilter; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Filter; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.ISO8601Filter; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.JunitTestRunnerFilter; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.LineNumberFilter; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.SunReflectFilter; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Transformer; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> java.io.FileInputStream; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">import</strong> java.io.FileOutputStream; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">import</strong> java.util.zip.ZipEntry; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">import</strong> java.util.zip.ZipOutputStream; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">DOMTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">static</strong> String TEMP_A1 = <span class="jxr_string">"output/temp.A1"</span>; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">static</strong> String TEMP_A2 = <span class="jxr_string">"output/temp.A2"</span>; +<a name="55" href="#55">55</a> <strong class="jxr_keyword">static</strong> String FILTERED_A1 = <span class="jxr_string">"output/filtered.A1"</span>; +<a name="56" href="#56">56</a> <strong class="jxr_keyword">static</strong> String FILTERED_A2 = <span class="jxr_string">"output/filtered.A2"</span>; +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">static</strong> String EXCEPTION1 = <span class="jxr_string">"java.lang.Exception: Just testing"</span>; +<a name="60" href="#60">60</a> <strong class="jxr_keyword">static</strong> String EXCEPTION2 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*&#92;&#92;)"</span>; +<a name="61" href="#61">61</a> <strong class="jxr_keyword">static</strong> String EXCEPTION3 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(Native Method&#92;&#92;)"</span>; +<a name="62" href="#62">62</a> <strong class="jxr_keyword">static</strong> String EXCEPTION4 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*Compiled Code&#92;&#92;)"</span>; +<a name="63" href="#63">63</a> <strong class="jxr_keyword">static</strong> String EXCEPTION5 = <span class="jxr_string">"&#92;&#92;s*at .*&#92;&#92;(.*libgcj.*&#92;&#92;)"</span>; +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">static</strong> String TEST1_1A_PAT = +<a name="67" href="#67">67</a> <span class="jxr_string">"(TRACE|DEBUG|INFO |WARN |ERROR|FATAL) &#92;&#92;w*&#92;&#92;.&#92;&#92;w* - Message &#92;&#92;d"</span>; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">static</strong> String TEST1_1B_PAT = <span class="jxr_string">"(TRACE|DEBUG|INFO |WARN |ERROR|FATAL) root - Message &#92;&#92;d"</span>; +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">static</strong> String TEST1_2_PAT = <span class="jxr_string">"^&#92;&#92;d{4}-&#92;&#92;d{2}-&#92;&#92;d{2} &#92;&#92;d{2}:&#92;&#92;d{2}:&#92;&#92;d{2},&#92;&#92;d{3} "</span>+ +<a name="72" href="#72">72</a> <span class="jxr_string">"&#92;&#92;[main]&#92;&#92; (TRACE|DEBUG|INFO|WARN|ERROR|FATAL) .* - Message &#92;&#92;d"</span>; +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> Logger root; +<a name="77" href="#77">77</a> Logger logger; +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">DOMTestCase</a>(String name) { +<a name="80" href="#80">80</a> <strong class="jxr_keyword">super</strong>(name); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="84" href="#84">84</a> root = Logger.getRootLogger(); +<a name="85" href="#85">85</a> logger = Logger.getLogger(DOMTestCase.<strong class="jxr_keyword">class</strong>); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="89" href="#89">89</a> root.getLoggerRepository().resetConfiguration(); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test1() <strong class="jxr_keyword">throws</strong> Exception { +<a name="93" href="#93">93</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/DOMTestCase1.xml"</span>); +<a name="94" href="#94">94</a> common(); +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{TEST1_1A_PAT, TEST1_1B_PAT, +<a name="97" href="#97">97</a> EXCEPTION1, EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf2 = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{TEST1_2_PAT, +<a name="100" href="#100">100</a> EXCEPTION1, EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> Transformer.transform( +<a name="103" href="#103">103</a> TEMP_A1, FILTERED_A1, +<a name="104" href="#104">104</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="105" href="#105">105</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="106" href="#106">106</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="107" href="#107">107</a> }); +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> Transformer.transform( +<a name="110" href="#110">110</a> TEMP_A2, FILTERED_A2, +<a name="111" href="#111">111</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="112" href="#112">112</a> cf2, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> ISO8601Filter(), +<a name="113" href="#113">113</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> JunitTestRunnerFilter() +<a name="114" href="#114">114</a> }); +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> assertTrue(Compare.compare(FILTERED_A1, <span class="jxr_string">"witness/dom.A1.1"</span>)); +<a name="117" href="#117">117</a> assertTrue(Compare.compare(FILTERED_A2, <span class="jxr_string">"witness/dom.A2.1"</span>)); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">/**</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> * Tests processing of external entities in XML file.</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> */</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test4() <strong class="jxr_keyword">throws</strong> Exception { +<a name="124" href="#124">124</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/DOMTest4.xml"</span>); +<a name="125" href="#125">125</a> common(); +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{TEST1_1A_PAT, TEST1_1B_PAT, +<a name="128" href="#128">128</a> EXCEPTION1, EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf2 = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong class="jxr_keyword">new</strong> String[]{TEST1_2_PAT, +<a name="131" href="#131">131</a> EXCEPTION1, EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> Transformer.transform( +<a name="134" href="#134">134</a> TEMP_A1 + <span class="jxr_string">".4"</span>, FILTERED_A1 + <span class="jxr_string">".4"</span>, +<a name="135" href="#135">135</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="136" href="#136">136</a> cf1, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> SunReflectFilter(), +<a name="137" href="#137">137</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="138" href="#138">138</a> }); +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> Transformer.transform( +<a name="141" href="#141">141</a> TEMP_A2 + <span class="jxr_string">".4"</span>, FILTERED_A2 + <span class="jxr_string">".4"</span>, +<a name="142" href="#142">142</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="143" href="#143">143</a> cf2, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong class="jxr_keyword">new</strong> ISO8601Filter(), +<a name="144" href="#144">144</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong class="jxr_keyword">new</strong> JunitTestRunnerFilter() +<a name="145" href="#145">145</a> }); +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> assertTrue(Compare.compare(FILTERED_A1 + <span class="jxr_string">".4"</span>, <span class="jxr_string">"witness/dom.A1.4"</span>)); +<a name="148" href="#148">148</a> assertTrue(Compare.compare(FILTERED_A2 + <span class="jxr_string">".4"</span>, <span class="jxr_string">"witness/dom.A2.4"</span>)); +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <strong class="jxr_keyword">void</strong> common() { +<a name="152" href="#152">152</a> String oldThreadName = Thread.currentThread().getName(); +<a name="153" href="#153">153</a> Thread.currentThread().setName(<span class="jxr_string">"main"</span>); +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">int</strong> i = -1; +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> logger.trace(<span class="jxr_string">"Message "</span> + ++i); +<a name="158" href="#158">158</a> root.trace(<span class="jxr_string">"Message "</span> + i); +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i); +<a name="161" href="#161">161</a> root.debug(<span class="jxr_string">"Message "</span> + i); +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> logger.info (<span class="jxr_string">"Message "</span> + ++i); +<a name="164" href="#164">164</a> root.info(<span class="jxr_string">"Message "</span> + i); +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> logger.warn (<span class="jxr_string">"Message "</span> + ++i); +<a name="167" href="#167">167</a> root.warn(<span class="jxr_string">"Message "</span> + i); +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> logger.error(<span class="jxr_string">"Message "</span> + ++i); +<a name="170" href="#170">170</a> root.error(<span class="jxr_string">"Message "</span> + i); +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> logger.log(Level.FATAL, <span class="jxr_string">"Message "</span> + ++i); +<a name="173" href="#173">173</a> root.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> Exception e = <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Just testing"</span>); +<a name="176" href="#176">176</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="177" href="#177">177</a> root.debug(<span class="jxr_string">"Message "</span> + i, e); +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> logger.error(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="180" href="#180">180</a> root.error(<span class="jxr_string">"Message "</span> + i, e); +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> Thread.currentThread().setName(oldThreadName); +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">/**</em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> * CustomLogger implementation for testCategoryFactory1 and 2.</em> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment"> */</em> +<a name="189" href="#189">189</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLogger</a> <strong class="jxr_keyword">extends</strong> Logger { +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">/**</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> * Creates new instance.</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> * @param name logger name.</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> */</em> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLogger</a>(<strong class="jxr_keyword">final</strong> String name) { +<a name="195" href="#195">195</a> <strong class="jxr_keyword">super</strong>(name); +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment">/**</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> * Creates new instances of CustomLogger.</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> */</em> +<a name="202" href="#202">202</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLoggerFactory</a> implements LoggerFactory { +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">/**</em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> * Addivity, expected to be set false in configuration file.</em> +<a name="205" href="#205">205</a> <em class="jxr_javadoccomment"> */</em> +<a name="206" href="#206">206</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> additivity; +<a name="207" href="#207">207</a> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment">/**</em> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> * Create new instance of factory.</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> */</em> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLoggerFactory</a>() { +<a name="212" href="#212">212</a> additivity = <strong class="jxr_keyword">true</strong>; +<a name="213" href="#213">213</a> } +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">/**</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> * Create new logger.</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> * @param name logger name.</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> * @return new logger.</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> */</em> +<a name="220" href="#220">220</a> <strong class="jxr_keyword">public</strong> Logger makeNewLoggerInstance(<strong class="jxr_keyword">final</strong> String name) { +<a name="221" href="#221">221</a> Logger logger = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLogger</a>(name); +<a name="222" href="#222">222</a> assertFalse(additivity); +<a name="223" href="#223">223</a> <strong class="jxr_keyword">return</strong> logger; +<a name="224" href="#224">224</a> } +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">/**</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> * Set additivity.</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> * @param newVal new value of additivity.</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> */</em> +<a name="230" href="#230">230</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAdditivity(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> newVal) { +<a name="231" href="#231">231</a> additivity = newVal; +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment">/**</em> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> * CustomErrorHandler for testCategoryFactory2.</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> */</em> +<a name="238" href="#238">238</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomErrorHandler</a> implements ErrorHandler { +<a name="239" href="#239">239</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomErrorHandler</a>() {} +<a name="240" href="#240">240</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() {} +<a name="241" href="#241">241</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLogger(<strong class="jxr_keyword">final</strong> Logger logger) {} +<a name="242" href="#242">242</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(String message, Exception e, <strong class="jxr_keyword">int</strong> errorCode) {} +<a name="243" href="#243">243</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(String message) {} +<a name="244" href="#244">244</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(String message, Exception e, <strong class="jxr_keyword">int</strong> errorCode, LoggingEvent event) {} +<a name="245" href="#245">245</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAppender(Appender appender) {} +<a name="246" href="#246">246</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setBackupAppender(Appender appender) {} +<a name="247" href="#247">247</a> } +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment">/**</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> * Tests that loggers mentioned in logger elements</em> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> * use the specified categoryFactory. See bug 33708.</em> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment"> */</em> +<a name="253" href="#253">253</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testCategoryFactory1() { +<a name="254" href="#254">254</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/categoryfactory1.xml"</span>); +<a name="255" href="#255">255</a> <em class="jxr_comment">//</em> +<a name="256" href="#256">256</a> <em class="jxr_comment">// logger explicitly mentioned in configuration,</em> +<a name="257" href="#257">257</a> <em class="jxr_comment">// should be a CustomLogger</em> +<a name="258" href="#258">258</a> Logger logger1 = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.DOMTestCase.testCategoryFactory1.1"</span>); +<a name="259" href="#259">259</a> assertTrue(logger1 instanceof <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLogger</a>); +<a name="260" href="#260">260</a> <em class="jxr_comment">//</em> +<a name="261" href="#261">261</a> <em class="jxr_comment">// logger not explicitly mentioned in configuration,</em> +<a name="262" href="#262">262</a> <em class="jxr_comment">// should use default factory</em> +<a name="263" href="#263">263</a> Logger logger2 = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.DOMTestCase.testCategoryFactory1.2"</span>); +<a name="264" href="#264">264</a> assertFalse(logger2 instanceof <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLogger</a>); +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment">/**</em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> * Tests that loggers mentioned in logger-ref elements</em> +<a name="269" href="#269">269</a> <em class="jxr_javadoccomment"> * use the specified categoryFactory. See bug 33708.</em> +<a name="270" href="#270">270</a> <em class="jxr_javadoccomment"> */</em> +<a name="271" href="#271">271</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testCategoryFactory2() { +<a name="272" href="#272">272</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/categoryfactory2.xml"</span>); +<a name="273" href="#273">273</a> <em class="jxr_comment">//</em> +<a name="274" href="#274">274</a> <em class="jxr_comment">// logger explicitly mentioned in configuration,</em> +<a name="275" href="#275">275</a> <em class="jxr_comment">// should be a CustomLogger</em> +<a name="276" href="#276">276</a> Logger logger1 = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.DOMTestCase.testCategoryFactory2.1"</span>); +<a name="277" href="#277">277</a> assertTrue(logger1 instanceof <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLogger</a>); +<a name="278" href="#278">278</a> <em class="jxr_comment">//</em> +<a name="279" href="#279">279</a> <em class="jxr_comment">// logger not explicitly mentioned in configuration,</em> +<a name="280" href="#280">280</a> <em class="jxr_comment">// should use default factory</em> +<a name="281" href="#281">281</a> Logger logger2 = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.DOMTestCase.testCategoryFactory2.2"</span>); +<a name="282" href="#282">282</a> assertFalse(logger2 instanceof <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLogger</a>); +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment">/**</em> +<a name="286" href="#286">286</a> <em class="jxr_javadoccomment"> * Tests that loggers mentioned in logger elements</em> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> * use the specified loggerFactory. See bug 33708.</em> +<a name="288" href="#288">288</a> <em class="jxr_javadoccomment"> */</em> +<a name="289" href="#289">289</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testLoggerFactory1() { +<a name="290" href="#290">290</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/loggerfactory1.xml"</span>); +<a name="291" href="#291">291</a> <em class="jxr_comment">//</em> +<a name="292" href="#292">292</a> <em class="jxr_comment">// logger explicitly mentioned in configuration,</em> +<a name="293" href="#293">293</a> <em class="jxr_comment">// should be a CustomLogger</em> +<a name="294" href="#294">294</a> Logger logger1 = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.DOMTestCase.testLoggerFactory1.1"</span>); +<a name="295" href="#295">295</a> assertTrue(logger1 instanceof <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLogger</a>); +<a name="296" href="#296">296</a> <em class="jxr_comment">//</em> +<a name="297" href="#297">297</a> <em class="jxr_comment">// logger not explicitly mentioned in configuration,</em> +<a name="298" href="#298">298</a> <em class="jxr_comment">// should use default factory</em> +<a name="299" href="#299">299</a> Logger logger2 = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.DOMTestCase.testLoggerFactory1.2"</span>); +<a name="300" href="#300">300</a> assertFalse(logger2 instanceof <a href="../../../../org/apache/log4j/xml/DOMTestCase.html">CustomLogger</a>); +<a name="301" href="#301">301</a> } +<a name="302" href="#302">302</a> +<a name="303" href="#303">303</a> <em class="jxr_javadoccomment">/**</em> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> * Tests that reset="true" on log4j:configuration element resets</em> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment"> * repository before configuration.</em> +<a name="306" href="#306">306</a> <em class="jxr_javadoccomment"> * @throws Exception thrown on error.</em> +<a name="307" href="#307">307</a> <em class="jxr_javadoccomment"> */</em> +<a name="308" href="#308">308</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testReset() <strong class="jxr_keyword">throws</strong> Exception { +<a name="309" href="#309">309</a> <a href="../../../../org/apache/log4j/VectorAppender.html">VectorAppender</a> appender = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/VectorAppender.html">VectorAppender</a>(); +<a name="310" href="#310">310</a> appender.setName(<span class="jxr_string">"V1"</span>); +<a name="311" href="#311">311</a> Logger.getRootLogger().addAppender(appender); +<a name="312" href="#312">312</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/testReset.xml"</span>); +<a name="313" href="#313">313</a> assertNull(Logger.getRootLogger().getAppender(<span class="jxr_string">"V1"</span>)); +<a name="314" href="#314">314</a> } +<a name="315" href="#315">315</a> +<a name="316" href="#316">316</a> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment">/**</em> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> * Test checks that configureAndWatch does initial configuration, see bug 33502.</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> * @throws Exception if IO error.</em> +<a name="320" href="#320">320</a> <em class="jxr_javadoccomment"> */</em> +<a name="321" href="#321">321</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testConfigureAndWatch() <strong class="jxr_keyword">throws</strong> Exception { +<a name="322" href="#322">322</a> DOMConfigurator.configureAndWatch(<span class="jxr_string">"input/xml/DOMTestCase1.xml"</span>); +<a name="323" href="#323">323</a> assertNotNull(Logger.getRootLogger().getAppender(<span class="jxr_string">"A1"</span>)); +<a name="324" href="#324">324</a> } +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">/**</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> * This test checks that the subst method of an extending class</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> * is checked when evaluating parameters. See bug 43325.</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> *</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> */</em> +<a name="332" href="#332">332</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testOverrideSubst() { +<a name="333" href="#333">333</a> DOMConfigurator configurator = <strong class="jxr_keyword">new</strong> DOMConfigurator() { +<a name="334" href="#334">334</a> <strong class="jxr_keyword">protected</strong> String subst(<strong class="jxr_keyword">final</strong> String value) { +<a name="335" href="#335">335</a> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"output/temp.A1"</span>.equals(value)) { +<a name="336" href="#336">336</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"output/subst-test.A1"</span>; +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> <strong class="jxr_keyword">return</strong> value; +<a name="339" href="#339">339</a> } +<a name="340" href="#340">340</a> }; +<a name="341" href="#341">341</a> configurator.doConfigure(<span class="jxr_string">"input/xml/DOMTestCase1.xml"</span>, LogManager.getLoggerRepository()); +<a name="342" href="#342">342</a> FileAppender a1 = (FileAppender) Logger.getRootLogger().getAppender(<span class="jxr_string">"A1"</span>); +<a name="343" href="#343">343</a> String file = a1.getFile(); +<a name="344" href="#344">344</a> assertEquals(<span class="jxr_string">"output/subst-test.A1"</span>, file); +<a name="345" href="#345">345</a> } +<a name="346" href="#346">346</a> +<a name="347" href="#347">347</a> <em class="jxr_javadoccomment">/**</em> +<a name="348" href="#348">348</a> <em class="jxr_javadoccomment"> * Mock ThrowableRenderer for testThrowableRenderer. See bug 45721.</em> +<a name="349" href="#349">349</a> <em class="jxr_javadoccomment"> */</em> +<a name="350" href="#350">350</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/PropertyConfiguratorTest.html">MockThrowableRenderer</a> implements ThrowableRenderer, OptionHandler { +<a name="351" href="#351">351</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> activated = false; +<a name="352" href="#352">352</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> showVersion = <strong class="jxr_keyword">true</strong>; +<a name="353" href="#353">353</a> +<a name="354" href="#354">354</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/PropertyConfiguratorTest.html">MockThrowableRenderer</a>() { +<a name="355" href="#355">355</a> } +<a name="356" href="#356">356</a> +<a name="357" href="#357">357</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="358" href="#358">358</a> activated = <strong class="jxr_keyword">true</strong>; +<a name="359" href="#359">359</a> } +<a name="360" href="#360">360</a> +<a name="361" href="#361">361</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isActivated() { +<a name="362" href="#362">362</a> <strong class="jxr_keyword">return</strong> activated; +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> +<a name="365" href="#365">365</a> <strong class="jxr_keyword">public</strong> String[] doRender(<strong class="jxr_keyword">final</strong> Throwable t) { +<a name="366" href="#366">366</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> String[0]; +<a name="367" href="#367">367</a> } +<a name="368" href="#368">368</a> +<a name="369" href="#369">369</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setShowVersion(<strong class="jxr_keyword">boolean</strong> v) { +<a name="370" href="#370">370</a> showVersion = v; +<a name="371" href="#371">371</a> } +<a name="372" href="#372">372</a> +<a name="373" href="#373">373</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getShowVersion() { +<a name="374" href="#374">374</a> <strong class="jxr_keyword">return</strong> showVersion; +<a name="375" href="#375">375</a> } +<a name="376" href="#376">376</a> } +<a name="377" href="#377">377</a> +<a name="378" href="#378">378</a> <em class="jxr_javadoccomment">/**</em> +<a name="379" href="#379">379</a> <em class="jxr_javadoccomment"> * Test of log4j.throwableRenderer support. See bug 45721.</em> +<a name="380" href="#380">380</a> <em class="jxr_javadoccomment"> */</em> +<a name="381" href="#381">381</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testThrowableRenderer1() { +<a name="382" href="#382">382</a> DOMConfigurator.configure(<span class="jxr_string">"input/xml/throwableRenderer1.xml"</span>); +<a name="383" href="#383">383</a> ThrowableRendererSupport repo = (ThrowableRendererSupport) LogManager.getLoggerRepository(); +<a name="384" href="#384">384</a> <a href="../../../../org/apache/log4j/PropertyConfiguratorTest.html">MockThrowableRenderer</a> renderer = (MockThrowableRenderer) repo.getThrowableRenderer(); +<a name="385" href="#385">385</a> LogManager.resetConfiguration(); +<a name="386" href="#386">386</a> assertNotNull(renderer); +<a name="387" href="#387">387</a> assertEquals(<strong class="jxr_keyword">true</strong>, renderer.isActivated()); +<a name="388" href="#388">388</a> assertEquals(false, renderer.getShowVersion()); +<a name="389" href="#389">389</a> } +<a name="390" href="#390">390</a> +<a name="391" href="#391">391</a> <em class="jxr_javadoccomment">/**</em> +<a name="392" href="#392">392</a> <em class="jxr_javadoccomment"> * Test for bug 47465.</em> +<a name="393" href="#393">393</a> <em class="jxr_javadoccomment"> * configure(URL) did not close opened JarURLConnection.</em> +<a name="394" href="#394">394</a> <em class="jxr_javadoccomment"> * @throws IOException if IOException creating properties jar.</em> +<a name="395" href="#395">395</a> <em class="jxr_javadoccomment"> */</em> +<a name="396" href="#396">396</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testJarURL() <strong class="jxr_keyword">throws</strong> IOException { +<a name="397" href="#397">397</a> File input = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"input/xml/defaultInit.xml"</span>); +<a name="398" href="#398">398</a> System.out.println(input.getAbsolutePath()); +<a name="399" href="#399">399</a> InputStream is = <strong class="jxr_keyword">new</strong> FileInputStream(input); +<a name="400" href="#400">400</a> File dir = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output"</span>); +<a name="401" href="#401">401</a> dir.mkdirs(); +<a name="402" href="#402">402</a> File file = <strong class="jxr_keyword">new</strong> File(<span class="jxr_string">"output/xml.jar"</span>); +<a name="403" href="#403">403</a> ZipOutputStream zos = +<a name="404" href="#404">404</a> <strong class="jxr_keyword">new</strong> ZipOutputStream(<strong class="jxr_keyword">new</strong> FileOutputStream(file)); +<a name="405" href="#405">405</a> zos.putNextEntry(<strong class="jxr_keyword">new</strong> ZipEntry(<span class="jxr_string">"log4j.xml"</span>)); +<a name="406" href="#406">406</a> <strong class="jxr_keyword">int</strong> len; +<a name="407" href="#407">407</a> byte[] buf = <strong class="jxr_keyword">new</strong> byte[1024]; +<a name="408" href="#408">408</a> <strong class="jxr_keyword">while</strong> ((len = is.read(buf)) &gt; 0) { +<a name="409" href="#409">409</a> zos.write(buf, 0, len); +<a name="410" href="#410">410</a> } +<a name="411" href="#411">411</a> zos.closeEntry(); +<a name="412" href="#412">412</a> zos.close(); +<a name="413" href="#413">413</a> URL url = <strong class="jxr_keyword">new</strong> URL(<span class="jxr_string">"jar:"</span> + file.toURL() + <span class="jxr_string">"!/log4j.xml"</span>); +<a name="414" href="#414">414</a> DOMConfigurator.configure(url); +<a name="415" href="#415">415</a> assertTrue(file.delete()); +<a name="416" href="#416">416</a> assertFalse(file.exists()); +<a name="417" href="#417">417</a> } +<a name="418" href="#418">418</a> +<a name="419" href="#419">419</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XLevel.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XLevel.html new file mode 100644 index 00000000000..1fd5465f85f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XLevel.html @@ -0,0 +1,104 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>XLevel xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.xml; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> This class introduces a new level level called TRACE. TRACE has</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> lower level than DEBUG.</em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/XLevel.html">XLevel</a> <strong class="jxr_keyword">extends</strong> Level { +<a name="29" href="#29">29</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 7288304330257085144L; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TRACE_INT = Level.DEBUG_INT - 1; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> LETHAL_INT = Level.FATAL_INT + 1; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String TRACE_STR = <span class="jxr_string">"TRACE"</span>; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String LETHAL_STR = <span class="jxr_string">"LETHAL"</span>; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/xml/XLevel.html">XLevel</a> TRACE = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/XLevel.html">XLevel</a>(TRACE_INT, TRACE_STR, 7); +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/xml/XLevel.html">XLevel</a> LETHAL = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/XLevel.html">XLevel</a>(LETHAL_INT, LETHAL_STR, +<a name="41" href="#41">41</a> 0); +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">protected</strong> +<a name="45" href="#45">45</a> <a href="../../../../org/apache/log4j/xml/XLevel.html">XLevel</a>(<strong class="jxr_keyword">int</strong> level, String strLevel, <strong class="jxr_keyword">int</strong> syslogEquiv) { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">super</strong>(level, strLevel, syslogEquiv); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> Convert the string passed as argument to a level. If the</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> conversion fails, then this method returns {@link #TRACE}. </em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">static</strong> +<a name="55" href="#55">55</a> Level toLevel(String sArg) { +<a name="56" href="#56">56</a> <strong class="jxr_keyword">return</strong> (Level) toLevel(sArg, XLevel.TRACE); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">static</strong> +<a name="62" href="#62">62</a> Level toLevel(String sArg, Level defaultValue) { +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">if</strong>(sArg == <strong class="jxr_keyword">null</strong>) { +<a name="65" href="#65">65</a> <strong class="jxr_keyword">return</strong> defaultValue; +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> String stringVal = sArg.toUpperCase(); +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">if</strong>(stringVal.equals(TRACE_STR)) { +<a name="70" href="#70">70</a> <strong class="jxr_keyword">return</strong> XLevel.TRACE; +<a name="71" href="#71">71</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(stringVal.equals(LETHAL_STR)) { +<a name="72" href="#72">72</a> <strong class="jxr_keyword">return</strong> XLevel.LETHAL; +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">return</strong> Level.toLevel(sArg, (Level) defaultValue); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">static</strong> +<a name="81" href="#81">81</a> Level toLevel(<strong class="jxr_keyword">int</strong> i) <strong class="jxr_keyword">throws</strong> IllegalArgumentException { +<a name="82" href="#82">82</a> <strong class="jxr_keyword">switch</strong>(i) { +<a name="83" href="#83">83</a> <strong class="jxr_keyword">case</strong> TRACE_INT: <strong class="jxr_keyword">return</strong> XLevel.TRACE; +<a name="84" href="#84">84</a> <strong class="jxr_keyword">case</strong> LETHAL_INT: <strong class="jxr_keyword">return</strong> XLevel.LETHAL; +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> <strong class="jxr_keyword">return</strong> Level.toLevel(i); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XMLLayoutTest.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XMLLayoutTest.html new file mode 100644 index 00000000000..fc486724a6d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XMLLayoutTest.html @@ -0,0 +1,515 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>XMLLayoutTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.xml; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LayoutTest; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.NDC; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.MDC; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Document; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Element; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Node; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.NodeList; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.xml.sax.InputSource; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> java.io.Reader; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> java.io.StringReader; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilder; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilderFactory; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * Test for XMLLayout.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> *</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTest.html">XMLLayoutTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/LayoutTest.html">LayoutTest</a> { +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * Construct new instance of XMLLayoutTest.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> *</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @param testName test name.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTest.html">XMLLayoutTest</a>(<strong class="jxr_keyword">final</strong> String testName) { +<a name="55" href="#55">55</a> <strong class="jxr_keyword">super</strong>(testName, <span class="jxr_string">"text/plain"</span>, false, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * Clear MDC and NDC before test.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="62" href="#62">62</a> NDC.clear(); +<a name="63" href="#63">63</a> <strong class="jxr_keyword">if</strong> (MDC.getContext() != <strong class="jxr_keyword">null</strong>) { +<a name="64" href="#64">64</a> MDC.getContext().clear(); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * Clear MDC and NDC after test.</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="72" href="#72">72</a> setUp(); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">/**</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> */</em> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">protected</strong> Layout createLayout() { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> XMLLayout(); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * Parses the string as the body of an XML document and returns the document element.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * @param source source string.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * @return document element.</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * @throws Exception if parser can not be constructed or source is not a valid XML document.</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> */</em> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">private</strong> Element parse(<strong class="jxr_keyword">final</strong> String source) <strong class="jxr_keyword">throws</strong> Exception { +<a name="89" href="#89">89</a> DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); +<a name="90" href="#90">90</a> factory.setNamespaceAware(false); +<a name="91" href="#91">91</a> factory.setCoalescing(<strong class="jxr_keyword">true</strong>); +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> DocumentBuilder builder = factory.newDocumentBuilder(); +<a name="94" href="#94">94</a> Reader reader = <strong class="jxr_keyword">new</strong> StringReader(source); +<a name="95" href="#95">95</a> Document doc = builder.parse(<strong class="jxr_keyword">new</strong> InputSource(reader)); +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">return</strong> doc.getDocumentElement(); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">/**</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> * Checks a log4j:event element against expectations.</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * @param element element, may not be null.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * @param event event, may not be null.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> */</em> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkEventElement( +<a name="106" href="#106">106</a> <strong class="jxr_keyword">final</strong> Element element, <strong class="jxr_keyword">final</strong> LoggingEvent event) { +<a name="107" href="#107">107</a> assertEquals(<span class="jxr_string">"log4j:event"</span>, element.getTagName()); +<a name="108" href="#108">108</a> assertEquals( +<a name="109" href="#109">109</a> event.getLoggerName(), element.getAttribute(<span class="jxr_string">"logger"</span>)); +<a name="110" href="#110">110</a> assertEquals( +<a name="111" href="#111">111</a> Long.toString(event.timeStamp), element.getAttribute(<span class="jxr_string">"timestamp"</span>)); +<a name="112" href="#112">112</a> assertEquals(event.getLevel().toString(), element.getAttribute(<span class="jxr_string">"level"</span>)); +<a name="113" href="#113">113</a> assertEquals(event.getThreadName(), element.getAttribute(<span class="jxr_string">"thread"</span>)); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">/**</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> * Checks a log4j:message element against expectations.</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> * @param element element, may not be null.</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> * @param message expected message.</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> */</em> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkMessageElement( +<a name="122" href="#122">122</a> <strong class="jxr_keyword">final</strong> Element element, <strong class="jxr_keyword">final</strong> String message) { +<a name="123" href="#123">123</a> assertEquals(<span class="jxr_string">"log4j:message"</span>, element.getTagName()); +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> Node messageNode = element.getFirstChild(); +<a name="126" href="#126">126</a> assertNotNull(messageNode); +<a name="127" href="#127">127</a> assertEquals(Node.TEXT_NODE, messageNode.getNodeType()); +<a name="128" href="#128">128</a> assertEquals(message, messageNode.getNodeValue()); +<a name="129" href="#129">129</a> assertNull(messageNode.getNextSibling()); +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">/**</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> * Checks a log4j:message element against expectations.</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> * @param element element, may not be null.</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> * @param message expected message.</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> */</em> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkNDCElement(<strong class="jxr_keyword">final</strong> Element element, <strong class="jxr_keyword">final</strong> String message) { +<a name="138" href="#138">138</a> assertEquals(<span class="jxr_string">"log4j:NDC"</span>, element.getTagName()); +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> Node messageNode = element.getFirstChild(); +<a name="141" href="#141">141</a> assertNotNull(messageNode); +<a name="142" href="#142">142</a> assertEquals(Node.TEXT_NODE, messageNode.getNodeType()); +<a name="143" href="#143">143</a> assertEquals(message, messageNode.getNodeValue()); +<a name="144" href="#144">144</a> assertNull(messageNode.getNextSibling()); +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">/**</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> * Checks a log4j:throwable element against expectations.</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * @param element element, may not be null.</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> * @param ex exception, may not be null.</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkThrowableElement( +<a name="153" href="#153">153</a> <strong class="jxr_keyword">final</strong> Element element, <strong class="jxr_keyword">final</strong> Exception ex) { +<a name="154" href="#154">154</a> assertEquals(<span class="jxr_string">"log4j:throwable"</span>, element.getTagName()); +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> Node messageNode = element.getFirstChild(); +<a name="157" href="#157">157</a> assertNotNull(messageNode); +<a name="158" href="#158">158</a> assertEquals(Node.TEXT_NODE, messageNode.getNodeType()); +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> String msg = ex.toString(); +<a name="161" href="#161">161</a> assertEquals(msg, messageNode.getNodeValue().substring(0, msg.length())); +<a name="162" href="#162">162</a> assertNull(messageNode.getNextSibling()); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">/**</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> * Checks a log4j:properties element against expectations.</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> * @param element element, may not be null.</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> * @param key key.</em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> * @param value value.</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> */</em> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkPropertiesElement( +<a name="172" href="#172">172</a> <strong class="jxr_keyword">final</strong> Element element, <strong class="jxr_keyword">final</strong> String key, <strong class="jxr_keyword">final</strong> String value) { +<a name="173" href="#173">173</a> assertEquals(<span class="jxr_string">"log4j:properties"</span>, element.getTagName()); +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <strong class="jxr_keyword">int</strong> childNodeCount = 0; +<a name="176" href="#176">176</a> <strong class="jxr_keyword">for</strong>(Node child = element.getFirstChild(); +<a name="177" href="#177">177</a> child != <strong class="jxr_keyword">null</strong>; +<a name="178" href="#178">178</a> child = child.getNextSibling()) { +<a name="179" href="#179">179</a> <strong class="jxr_keyword">if</strong> (child.getNodeType() == Node.ELEMENT_NODE) { +<a name="180" href="#180">180</a> assertEquals(<span class="jxr_string">"log4j:data"</span>, child.getNodeName()); +<a name="181" href="#181">181</a> Element childElement = (Element) child; +<a name="182" href="#182">182</a> assertEquals(key, childElement.getAttribute(<span class="jxr_string">"name"</span>)); +<a name="183" href="#183">183</a> assertEquals(value, childElement.getAttribute(<span class="jxr_string">"value"</span>)); +<a name="184" href="#184">184</a> childNodeCount++; +<a name="185" href="#185">185</a> } +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> assertEquals(1, childNodeCount); +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">/**</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> * Tests formatted results.</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> * @throws Exception if parser can not be constructed or source is not a valid XML document.</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> */</em> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormat() <strong class="jxr_keyword">throws</strong> Exception { +<a name="195" href="#195">195</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.XMLLayoutTest"</span>); +<a name="196" href="#196">196</a> LoggingEvent event = +<a name="197" href="#197">197</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="198" href="#198">198</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.INFO, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="199" href="#199">199</a> XMLLayout layout = (XMLLayout) createLayout(); +<a name="200" href="#200">200</a> String result = layout.format(event); +<a name="201" href="#201">201</a> Element parsedResult = parse(result); +<a name="202" href="#202">202</a> checkEventElement(parsedResult, event); +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">int</strong> childElementCount = 0; +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <strong class="jxr_keyword">for</strong> ( +<a name="207" href="#207">207</a> Node node = parsedResult.getFirstChild(); node != <strong class="jxr_keyword">null</strong>; +<a name="208" href="#208">208</a> node = node.getNextSibling()) { +<a name="209" href="#209">209</a> <strong class="jxr_keyword">switch</strong> (node.getNodeType()) { +<a name="210" href="#210">210</a> <strong class="jxr_keyword">case</strong> Node.ELEMENT_NODE: +<a name="211" href="#211">211</a> childElementCount++; +<a name="212" href="#212">212</a> checkMessageElement((Element) node, <span class="jxr_string">"Hello, World"</span>); +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> <strong class="jxr_keyword">break</strong>; +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">case</strong> Node.COMMENT_NODE: +<a name="217" href="#217">217</a> <strong class="jxr_keyword">break</strong>; +<a name="218" href="#218">218</a> +<a name="219" href="#219">219</a> <strong class="jxr_keyword">case</strong> Node.TEXT_NODE: +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em class="jxr_comment">// should only be whitespace</em> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">break</strong>; +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">default</strong>: +<a name="225" href="#225">225</a> fail(<span class="jxr_string">"Unexpected node type"</span>); +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> <strong class="jxr_keyword">break</strong>; +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> } +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> assertEquals(1, childElementCount); +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment">/**</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> * Tests formatted results with an exception.</em> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> * @throws Exception if parser can not be constructed or source is not a valid XML document.</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> */</em> +<a name="238" href="#238">238</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormatWithException() <strong class="jxr_keyword">throws</strong> Exception { +<a name="239" href="#239">239</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.XMLLayoutTest"</span>); +<a name="240" href="#240">240</a> Exception ex = <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"'foo' is not a valid name"</span>); +<a name="241" href="#241">241</a> LoggingEvent event = +<a name="242" href="#242">242</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="243" href="#243">243</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.INFO, <span class="jxr_string">"Hello, World"</span>, ex); +<a name="244" href="#244">244</a> XMLLayout layout = (XMLLayout) createLayout(); +<a name="245" href="#245">245</a> String result = layout.format(event); +<a name="246" href="#246">246</a> Element parsedResult = parse(result); +<a name="247" href="#247">247</a> checkEventElement(parsedResult, event); +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <strong class="jxr_keyword">int</strong> childElementCount = 0; +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> <strong class="jxr_keyword">for</strong> ( +<a name="252" href="#252">252</a> Node node = parsedResult.getFirstChild(); node != <strong class="jxr_keyword">null</strong>; +<a name="253" href="#253">253</a> node = node.getNextSibling()) { +<a name="254" href="#254">254</a> <strong class="jxr_keyword">switch</strong> (node.getNodeType()) { +<a name="255" href="#255">255</a> <strong class="jxr_keyword">case</strong> Node.ELEMENT_NODE: +<a name="256" href="#256">256</a> childElementCount++; +<a name="257" href="#257">257</a> +<a name="258" href="#258">258</a> <strong class="jxr_keyword">if</strong> (childElementCount == 1) { +<a name="259" href="#259">259</a> checkMessageElement((Element) node, <span class="jxr_string">"Hello, World"</span>); +<a name="260" href="#260">260</a> } <strong class="jxr_keyword">else</strong> { +<a name="261" href="#261">261</a> checkThrowableElement((Element) node, ex); +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">break</strong>; +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> <strong class="jxr_keyword">case</strong> Node.COMMENT_NODE: +<a name="267" href="#267">267</a> <strong class="jxr_keyword">break</strong>; +<a name="268" href="#268">268</a> +<a name="269" href="#269">269</a> <strong class="jxr_keyword">case</strong> Node.TEXT_NODE: +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> <em class="jxr_comment">// should only be whitespace</em> +<a name="272" href="#272">272</a> <strong class="jxr_keyword">break</strong>; +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <strong class="jxr_keyword">default</strong>: +<a name="275" href="#275">275</a> fail(<span class="jxr_string">"Unexpected node type"</span>); +<a name="276" href="#276">276</a> +<a name="277" href="#277">277</a> <strong class="jxr_keyword">break</strong>; +<a name="278" href="#278">278</a> } +<a name="279" href="#279">279</a> } +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> assertEquals(2, childElementCount); +<a name="282" href="#282">282</a> } +<a name="283" href="#283">283</a> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment">/**</em> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment"> * Tests formatted results with an exception.</em> +<a name="286" href="#286">286</a> <em class="jxr_javadoccomment"> * @throws Exception if parser can not be constructed or source is not a valid XML document.</em> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> */</em> +<a name="288" href="#288">288</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFormatWithNDC() <strong class="jxr_keyword">throws</strong> Exception { +<a name="289" href="#289">289</a> Logger logger = Logger.getLogger(<span class="jxr_string">"org.apache.log4j.xml.XMLLayoutTest"</span>); +<a name="290" href="#290">290</a> NDC.push(<span class="jxr_string">"NDC goes here"</span>); +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> LoggingEvent event = +<a name="293" href="#293">293</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="294" href="#294">294</a> <span class="jxr_string">"org.apache.log4j.Logger"</span>, logger, Level.INFO, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="295" href="#295">295</a> XMLLayout layout = (XMLLayout) createLayout(); +<a name="296" href="#296">296</a> String result = layout.format(event); +<a name="297" href="#297">297</a> NDC.pop(); +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> Element parsedResult = parse(result); +<a name="300" href="#300">300</a> checkEventElement(parsedResult, event); +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">int</strong> childElementCount = 0; +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <strong class="jxr_keyword">for</strong> ( +<a name="305" href="#305">305</a> Node node = parsedResult.getFirstChild(); node != <strong class="jxr_keyword">null</strong>; +<a name="306" href="#306">306</a> node = node.getNextSibling()) { +<a name="307" href="#307">307</a> <strong class="jxr_keyword">switch</strong> (node.getNodeType()) { +<a name="308" href="#308">308</a> <strong class="jxr_keyword">case</strong> Node.ELEMENT_NODE: +<a name="309" href="#309">309</a> childElementCount++; +<a name="310" href="#310">310</a> +<a name="311" href="#311">311</a> <strong class="jxr_keyword">if</strong> (childElementCount == 1) { +<a name="312" href="#312">312</a> checkMessageElement((Element) node, <span class="jxr_string">"Hello, World"</span>); +<a name="313" href="#313">313</a> } <strong class="jxr_keyword">else</strong> { +<a name="314" href="#314">314</a> checkNDCElement((Element) node, <span class="jxr_string">"NDC goes here"</span>); +<a name="315" href="#315">315</a> } +<a name="316" href="#316">316</a> +<a name="317" href="#317">317</a> <strong class="jxr_keyword">break</strong>; +<a name="318" href="#318">318</a> +<a name="319" href="#319">319</a> <strong class="jxr_keyword">case</strong> Node.COMMENT_NODE: +<a name="320" href="#320">320</a> <strong class="jxr_keyword">break</strong>; +<a name="321" href="#321">321</a> +<a name="322" href="#322">322</a> <strong class="jxr_keyword">case</strong> Node.TEXT_NODE: +<a name="323" href="#323">323</a> +<a name="324" href="#324">324</a> <em class="jxr_comment">// should only be whitespace</em> +<a name="325" href="#325">325</a> <strong class="jxr_keyword">break</strong>; +<a name="326" href="#326">326</a> +<a name="327" href="#327">327</a> <strong class="jxr_keyword">default</strong>: +<a name="328" href="#328">328</a> fail(<span class="jxr_string">"Unexpected node type"</span>); +<a name="329" href="#329">329</a> +<a name="330" href="#330">330</a> <strong class="jxr_keyword">break</strong>; +<a name="331" href="#331">331</a> } +<a name="332" href="#332">332</a> } +<a name="333" href="#333">333</a> +<a name="334" href="#334">334</a> assertEquals(2, childElementCount); +<a name="335" href="#335">335</a> } +<a name="336" href="#336">336</a> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment">/**</em> +<a name="338" href="#338">338</a> <em class="jxr_javadoccomment"> * Tests getLocationInfo and setLocationInfo.</em> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment"> */</em> +<a name="340" href="#340">340</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSetLocationInfo() { +<a name="341" href="#341">341</a> XMLLayout layout = <strong class="jxr_keyword">new</strong> XMLLayout(); +<a name="342" href="#342">342</a> assertEquals(false, layout.getLocationInfo()); +<a name="343" href="#343">343</a> layout.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="344" href="#344">344</a> assertEquals(<strong class="jxr_keyword">true</strong>, layout.getLocationInfo()); +<a name="345" href="#345">345</a> layout.setLocationInfo(false); +<a name="346" href="#346">346</a> assertEquals(false, layout.getLocationInfo()); +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> +<a name="349" href="#349">349</a> <em class="jxr_javadoccomment">/**</em> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment"> * Tests activateOptions().</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> */</em> +<a name="352" href="#352">352</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testActivateOptions() { +<a name="353" href="#353">353</a> XMLLayout layout = <strong class="jxr_keyword">new</strong> XMLLayout(); +<a name="354" href="#354">354</a> layout.activateOptions(); +<a name="355" href="#355">355</a> } +<a name="356" href="#356">356</a> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment">/**</em> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment"> * Level with arbitrary toString value.</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> */</em> +<a name="360" href="#360">360</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/HTMLLayoutTest.html">ProblemLevel</a> <strong class="jxr_keyword">extends</strong> Level { +<a name="361" href="#361">361</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L; +<a name="362" href="#362">362</a> <em class="jxr_javadoccomment">/**</em> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> * Construct new instance.</em> +<a name="364" href="#364">364</a> <em class="jxr_javadoccomment"> * @param levelName level name, may not be null.</em> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment"> */</em> +<a name="366" href="#366">366</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/HTMLLayoutTest.html">ProblemLevel</a>(<strong class="jxr_keyword">final</strong> String levelName) { +<a name="367" href="#367">367</a> <strong class="jxr_keyword">super</strong>(6000, levelName, 6); +<a name="368" href="#368">368</a> } +<a name="369" href="#369">369</a> } +<a name="370" href="#370">370</a> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment">/**</em> +<a name="372" href="#372">372</a> <em class="jxr_javadoccomment"> * Tests problematic characters in multiple fields.</em> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment"> * @throws Exception if parser can not be constructed or source is not a valid XML document.</em> +<a name="374" href="#374">374</a> <em class="jxr_javadoccomment"> */</em> +<a name="375" href="#375">375</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testProblemCharacters() <strong class="jxr_keyword">throws</strong> Exception { +<a name="376" href="#376">376</a> String problemName = <span class="jxr_string">"com.example.bar&lt;&gt;&amp;\&quot;'"</span>; +<a name="377" href="#377">377</a> Logger logger = Logger.getLogger(problemName); +<a name="378" href="#378">378</a> Level level = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/HTMLLayoutTest.html">ProblemLevel</a>(problemName); +<a name="379" href="#379">379</a> Exception ex = <strong class="jxr_keyword">new</strong> IllegalArgumentException(problemName); +<a name="380" href="#380">380</a> String threadName = Thread.currentThread().getName(); +<a name="381" href="#381">381</a> Thread.currentThread().setName(problemName); +<a name="382" href="#382">382</a> NDC.push(problemName); +<a name="383" href="#383">383</a> Hashtable mdcMap = MDC.getContext(); +<a name="384" href="#384">384</a> <strong class="jxr_keyword">if</strong> (mdcMap != <strong class="jxr_keyword">null</strong>) { +<a name="385" href="#385">385</a> mdcMap.clear(); +<a name="386" href="#386">386</a> } +<a name="387" href="#387">387</a> MDC.put(problemName, problemName); +<a name="388" href="#388">388</a> LoggingEvent event = +<a name="389" href="#389">389</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="390" href="#390">390</a> problemName, logger, level, problemName, ex); +<a name="391" href="#391">391</a> XMLLayout layout = (XMLLayout) createLayout(); +<a name="392" href="#392">392</a> layout.setProperties(<strong class="jxr_keyword">true</strong>); +<a name="393" href="#393">393</a> String result = layout.format(event); +<a name="394" href="#394">394</a> mdcMap = MDC.getContext(); +<a name="395" href="#395">395</a> <strong class="jxr_keyword">if</strong> (mdcMap != <strong class="jxr_keyword">null</strong>) { +<a name="396" href="#396">396</a> mdcMap.clear(); +<a name="397" href="#397">397</a> } +<a name="398" href="#398">398</a> Thread.currentThread().setName(threadName); +<a name="399" href="#399">399</a> +<a name="400" href="#400">400</a> Element parsedResult = parse(result); +<a name="401" href="#401">401</a> checkEventElement(parsedResult, event); +<a name="402" href="#402">402</a> +<a name="403" href="#403">403</a> <strong class="jxr_keyword">int</strong> childElementCount = 0; +<a name="404" href="#404">404</a> +<a name="405" href="#405">405</a> <strong class="jxr_keyword">for</strong> ( +<a name="406" href="#406">406</a> Node node = parsedResult.getFirstChild(); node != <strong class="jxr_keyword">null</strong>; +<a name="407" href="#407">407</a> node = node.getNextSibling()) { +<a name="408" href="#408">408</a> <strong class="jxr_keyword">switch</strong> (node.getNodeType()) { +<a name="409" href="#409">409</a> <strong class="jxr_keyword">case</strong> Node.ELEMENT_NODE: +<a name="410" href="#410">410</a> childElementCount++; +<a name="411" href="#411">411</a> <strong class="jxr_keyword">switch</strong>(childElementCount) { +<a name="412" href="#412">412</a> <strong class="jxr_keyword">case</strong> 1: +<a name="413" href="#413">413</a> checkMessageElement((Element) node, problemName); +<a name="414" href="#414">414</a> <strong class="jxr_keyword">break</strong>; +<a name="415" href="#415">415</a> +<a name="416" href="#416">416</a> <strong class="jxr_keyword">case</strong> 2: +<a name="417" href="#417">417</a> checkNDCElement((Element) node, problemName); +<a name="418" href="#418">418</a> <strong class="jxr_keyword">break</strong>; +<a name="419" href="#419">419</a> +<a name="420" href="#420">420</a> <strong class="jxr_keyword">case</strong> 3: +<a name="421" href="#421">421</a> checkThrowableElement((Element) node, ex); +<a name="422" href="#422">422</a> <strong class="jxr_keyword">break</strong>; +<a name="423" href="#423">423</a> +<a name="424" href="#424">424</a> <strong class="jxr_keyword">case</strong> 4: +<a name="425" href="#425">425</a> checkPropertiesElement((Element) node, problemName, problemName); +<a name="426" href="#426">426</a> <strong class="jxr_keyword">break</strong>; +<a name="427" href="#427">427</a> +<a name="428" href="#428">428</a> <strong class="jxr_keyword">default</strong>: +<a name="429" href="#429">429</a> fail(<span class="jxr_string">"Unexpected element"</span>); +<a name="430" href="#430">430</a> <strong class="jxr_keyword">break</strong>; +<a name="431" href="#431">431</a> } +<a name="432" href="#432">432</a> +<a name="433" href="#433">433</a> <strong class="jxr_keyword">break</strong>; +<a name="434" href="#434">434</a> +<a name="435" href="#435">435</a> <strong class="jxr_keyword">case</strong> Node.COMMENT_NODE: +<a name="436" href="#436">436</a> <strong class="jxr_keyword">break</strong>; +<a name="437" href="#437">437</a> +<a name="438" href="#438">438</a> <strong class="jxr_keyword">case</strong> Node.TEXT_NODE: +<a name="439" href="#439">439</a> +<a name="440" href="#440">440</a> <em class="jxr_comment">// should only be whitespace</em> +<a name="441" href="#441">441</a> <strong class="jxr_keyword">break</strong>; +<a name="442" href="#442">442</a> +<a name="443" href="#443">443</a> <strong class="jxr_keyword">default</strong>: +<a name="444" href="#444">444</a> fail(<span class="jxr_string">"Unexpected node type"</span>); +<a name="445" href="#445">445</a> +<a name="446" href="#446">446</a> <strong class="jxr_keyword">break</strong>; +<a name="447" href="#447">447</a> } +<a name="448" href="#448">448</a> } +<a name="449" href="#449">449</a> } +<a name="450" href="#450">450</a> +<a name="451" href="#451">451</a> <em class="jxr_javadoccomment">/**</em> +<a name="452" href="#452">452</a> <em class="jxr_javadoccomment"> * Tests CDATA element within NDC content. See bug 37560.</em> +<a name="453" href="#453">453</a> <em class="jxr_javadoccomment"> */</em> +<a name="454" href="#454">454</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNDCWithCDATA() <strong class="jxr_keyword">throws</strong> Exception { +<a name="455" href="#455">455</a> Logger logger = Logger.getLogger(<span class="jxr_string">"com.example.bar"</span>); +<a name="456" href="#456">456</a> Level level = Level.INFO; +<a name="457" href="#457">457</a> String ndcMessage =<span class="jxr_string">"&lt;envelope&gt;&lt;faultstring&gt;&lt;![CDATA[The EffectiveDate]]&gt;&lt;/faultstring&gt;&lt;envelope&gt;"</span>; +<a name="458" href="#458">458</a> NDC.push(ndcMessage); +<a name="459" href="#459">459</a> LoggingEvent event = +<a name="460" href="#460">460</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="461" href="#461">461</a> <span class="jxr_string">"com.example.bar"</span>, logger, level, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">null</strong>); +<a name="462" href="#462">462</a> Layout layout = createLayout(); +<a name="463" href="#463">463</a> String result = layout.format(event); +<a name="464" href="#464">464</a> NDC.clear(); +<a name="465" href="#465">465</a> Element parsedResult = parse(result); +<a name="466" href="#466">466</a> NodeList ndcs = parsedResult.getElementsByTagName(<span class="jxr_string">"log4j:NDC"</span>); +<a name="467" href="#467">467</a> assertEquals(1, ndcs.getLength()); +<a name="468" href="#468">468</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="469" href="#469">469</a> <strong class="jxr_keyword">for</strong>(Node child = ndcs.item(0).getFirstChild(); +<a name="470" href="#470">470</a> child != <strong class="jxr_keyword">null</strong>; +<a name="471" href="#471">471</a> child = child.getNextSibling()) { +<a name="472" href="#472">472</a> buf.append(child.getNodeValue()); +<a name="473" href="#473">473</a> } +<a name="474" href="#474">474</a> assertEquals(ndcMessage, buf.toString()); +<a name="475" href="#475">475</a> } +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> <em class="jxr_javadoccomment">/**</em> +<a name="478" href="#478">478</a> <em class="jxr_javadoccomment"> * Tests CDATA element within exception. See bug 37560.</em> +<a name="479" href="#479">479</a> <em class="jxr_javadoccomment"> */</em> +<a name="480" href="#480">480</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testExceptionWithCDATA() <strong class="jxr_keyword">throws</strong> Exception { +<a name="481" href="#481">481</a> Logger logger = Logger.getLogger(<span class="jxr_string">"com.example.bar"</span>); +<a name="482" href="#482">482</a> Level level = Level.INFO; +<a name="483" href="#483">483</a> String exceptionMessage =<span class="jxr_string">"&lt;envelope&gt;&lt;faultstring&gt;&lt;![CDATA[The EffectiveDate]]&gt;&lt;/faultstring&gt;&lt;envelope&gt;"</span>; +<a name="484" href="#484">484</a> LoggingEvent event = +<a name="485" href="#485">485</a> <strong class="jxr_keyword">new</strong> LoggingEvent( +<a name="486" href="#486">486</a> <span class="jxr_string">"com.example.bar"</span>, logger, level, <span class="jxr_string">"Hello, World"</span>, <strong class="jxr_keyword">new</strong> Exception(exceptionMessage)); +<a name="487" href="#487">487</a> Layout layout = createLayout(); +<a name="488" href="#488">488</a> String result = layout.format(event); +<a name="489" href="#489">489</a> Element parsedResult = parse(result); +<a name="490" href="#490">490</a> NodeList throwables = parsedResult.getElementsByTagName(<span class="jxr_string">"log4j:throwable"</span>); +<a name="491" href="#491">491</a> assertEquals(1, throwables.getLength()); +<a name="492" href="#492">492</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="493" href="#493">493</a> <strong class="jxr_keyword">for</strong>(Node child = throwables.item(0).getFirstChild(); +<a name="494" href="#494">494</a> child != <strong class="jxr_keyword">null</strong>; +<a name="495" href="#495">495</a> child = child.getNextSibling()) { +<a name="496" href="#496">496</a> buf.append(child.getNodeValue()); +<a name="497" href="#497">497</a> } +<a name="498" href="#498">498</a> assertTrue(buf.toString().indexOf(exceptionMessage) != -1); +<a name="499" href="#499">499</a> } +<a name="500" href="#500">500</a> +<a name="501" href="#501">501</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XMLLayoutTestCase.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XMLLayoutTestCase.html new file mode 100644 index 00000000000..316fb043424 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/XMLLayoutTestCase.html @@ -0,0 +1,262 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>XMLLayoutTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.xml; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> junit.framework.Test; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> junit.framework.TestCase; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> junit.framework.TestSuite; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.FileAppender; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.MDC; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Compare; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Filter; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.JunitTestRunnerFilter; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.LineNumberFilter; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.SunReflectFilter; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.Transformer; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.XMLLineAttributeFilter; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.util.XMLTimestampFilter; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">XMLLayoutTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase { +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">static</strong> String TEMP = <span class="jxr_string">"output/temp"</span>; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">static</strong> String FILTERED = <span class="jxr_string">"output/filtered"</span>; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> Logger root; +<a name="44" href="#44">44</a> Logger logger; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">XMLLayoutTestCase</a>(String name) { +<a name="47" href="#47">47</a> <strong class="jxr_keyword">super</strong>(name); +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() { +<a name="51" href="#51">51</a> root = Logger.getRootLogger(); +<a name="52" href="#52">52</a> root.setLevel(Level.TRACE); +<a name="53" href="#53">53</a> logger = Logger.getLogger(XMLLayoutTestCase.<strong class="jxr_keyword">class</strong>); +<a name="54" href="#54">54</a> logger.setLevel(Level.TRACE); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() { +<a name="58" href="#58">58</a> root.getLoggerRepository().resetConfiguration(); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> basic() <strong class="jxr_keyword">throws</strong> Exception { +<a name="62" href="#62">62</a> XMLLayout xmlLayout = <strong class="jxr_keyword">new</strong> XMLLayout(); +<a name="63" href="#63">63</a> root.addAppender(<strong class="jxr_keyword">new</strong> FileAppender(xmlLayout, TEMP, false)); +<a name="64" href="#64">64</a> common(); +<a name="65" href="#65">65</a> Transformer.transform( +<a name="66" href="#66">66</a> TEMP, FILTERED, +<a name="67" href="#67">67</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="68" href="#68">68</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), +<a name="69" href="#69">69</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/XMLTimestampFilter.html">XMLTimestampFilter</a>(), +<a name="70" href="#70">70</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="71" href="#71">71</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>() +<a name="72" href="#72">72</a> }); +<a name="73" href="#73">73</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/xmlLayout.1"</span>)); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> locationInfo() <strong class="jxr_keyword">throws</strong> Exception { +<a name="77" href="#77">77</a> XMLLayout xmlLayout = <strong class="jxr_keyword">new</strong> XMLLayout(); +<a name="78" href="#78">78</a> xmlLayout.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="79" href="#79">79</a> root.addAppender(<strong class="jxr_keyword">new</strong> FileAppender(xmlLayout, TEMP, false)); +<a name="80" href="#80">80</a> common(); +<a name="81" href="#81">81</a> Transformer.transform( +<a name="82" href="#82">82</a> TEMP, FILTERED, +<a name="83" href="#83">83</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="84" href="#84">84</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), +<a name="85" href="#85">85</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/XMLTimestampFilter.html">XMLTimestampFilter</a>(), +<a name="86" href="#86">86</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html">XMLLineAttributeFilter</a>(), +<a name="87" href="#87">87</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="88" href="#88">88</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>() +<a name="89" href="#89">89</a> }); +<a name="90" href="#90">90</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/xmlLayout.2"</span>)); +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testCDATA() <strong class="jxr_keyword">throws</strong> Exception { +<a name="94" href="#94">94</a> XMLLayout xmlLayout = <strong class="jxr_keyword">new</strong> XMLLayout(); +<a name="95" href="#95">95</a> xmlLayout.setLocationInfo(<strong class="jxr_keyword">true</strong>); +<a name="96" href="#96">96</a> root.addAppender(<strong class="jxr_keyword">new</strong> FileAppender(xmlLayout, TEMP, false)); +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> String oldThreadName = Thread.currentThread().getName(); +<a name="99" href="#99">99</a> Thread.currentThread().setName(<span class="jxr_string">"main"</span>); +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> logger.trace(<span class="jxr_string">"Message with embedded &lt;![CDATA[&lt;hello&gt;hi&lt;/hello&gt;]]&gt;."</span>); +<a name="102" href="#102">102</a> logger.debug(<span class="jxr_string">"Message with embedded &lt;![CDATA[&lt;hello&gt;hi&lt;/hello&gt;]]&gt;."</span>); +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> Thread.currentThread().setName(oldThreadName); +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> Transformer.transform( +<a name="107" href="#107">107</a> TEMP, FILTERED, +<a name="108" href="#108">108</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="109" href="#109">109</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), +<a name="110" href="#110">110</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/XMLTimestampFilter.html">XMLTimestampFilter</a>(), +<a name="111" href="#111">111</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html">XMLLineAttributeFilter</a>(), +<a name="112" href="#112">112</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), +<a name="113" href="#113">113</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> }); +<a name="116" href="#116">116</a> Transformer.transform(TEMP, FILTERED, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] {<strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="117" href="#117">117</a> <strong class="jxr_keyword">new</strong> XMLTimestampFilter(), +<a name="118" href="#118">118</a> <strong class="jxr_keyword">new</strong> XMLLineAttributeFilter()}); +<a name="119" href="#119">119</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/xmlLayout.3"</span>)); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testNull() <strong class="jxr_keyword">throws</strong> Exception { +<a name="123" href="#123">123</a> XMLLayout xmlLayout = <strong class="jxr_keyword">new</strong> XMLLayout(); +<a name="124" href="#124">124</a> root.addAppender(<strong class="jxr_keyword">new</strong> FileAppender(xmlLayout, TEMP, false)); +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> String oldThreadName = Thread.currentThread().getName(); +<a name="127" href="#127">127</a> Thread.currentThread().setName(<span class="jxr_string">"main"</span>); +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> logger.debug(<span class="jxr_string">"hi"</span>); +<a name="130" href="#130">130</a> logger.debug(<strong class="jxr_keyword">null</strong>); +<a name="131" href="#131">131</a> Exception e = <strong class="jxr_keyword">new</strong> Exception((String) <strong class="jxr_keyword">null</strong>); +<a name="132" href="#132">132</a> logger.debug(<span class="jxr_string">"hi"</span>, e); +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> Thread.currentThread().setName(oldThreadName); +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> Transformer.transform( +<a name="137" href="#137">137</a> TEMP, FILTERED, +<a name="138" href="#138">138</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="139" href="#139">139</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/XMLTimestampFilter.html">XMLTimestampFilter</a>(), +<a name="140" href="#140">140</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="141" href="#141">141</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>()}); +<a name="142" href="#142">142</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/xmlLayout.null"</span>)); +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">/**</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> * Tests the format of the MDC portion of the layout to ensure</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> * the key-value pairs we put in turn up in the output file.</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> * @throws Exception</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> */</em> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMDC() <strong class="jxr_keyword">throws</strong> Exception { +<a name="151" href="#151">151</a> XMLLayout xmlLayout = <strong class="jxr_keyword">new</strong> XMLLayout(); +<a name="152" href="#152">152</a> xmlLayout.setProperties(<strong class="jxr_keyword">true</strong>); +<a name="153" href="#153">153</a> root.addAppender(<strong class="jxr_keyword">new</strong> FileAppender(xmlLayout, TEMP, false)); +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> Hashtable context = MDC.getContext(); +<a name="156" href="#156">156</a> <strong class="jxr_keyword">if</strong> (context != <strong class="jxr_keyword">null</strong>) { +<a name="157" href="#157">157</a> context.clear(); +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> MDC.put(<span class="jxr_string">"key1"</span>, <span class="jxr_string">"val1"</span>); +<a name="160" href="#160">160</a> MDC.put(<span class="jxr_string">"key2"</span>, <span class="jxr_string">"val2"</span>); +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> logger.debug(<span class="jxr_string">"Hello"</span>); +<a name="163" href="#163">163</a> Transformer.transform( +<a name="164" href="#164">164</a> TEMP, FILTERED, +<a name="165" href="#165">165</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="166" href="#166">166</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="167" href="#167">167</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/XMLTimestampFilter.html">XMLTimestampFilter</a>()}); +<a name="168" href="#168">168</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/xmlLayout.mdc.1"</span>)); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMDCEscaped() <strong class="jxr_keyword">throws</strong> Exception { +<a name="172" href="#172">172</a> XMLLayout xmlLayout = <strong class="jxr_keyword">new</strong> XMLLayout(); +<a name="173" href="#173">173</a> xmlLayout.setProperties(<strong class="jxr_keyword">true</strong>); +<a name="174" href="#174">174</a> root.addAppender(<strong class="jxr_keyword">new</strong> FileAppender(xmlLayout, TEMP, false)); +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> Hashtable context = MDC.getContext(); +<a name="177" href="#177">177</a> <strong class="jxr_keyword">if</strong> (context != <strong class="jxr_keyword">null</strong>) { +<a name="178" href="#178">178</a> context.clear(); +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> MDC.put(<span class="jxr_string">"blahAttribute"</span>, <span class="jxr_string">"&lt;blah value='blah'&gt;"</span>); +<a name="181" href="#181">181</a> MDC.put(<span class="jxr_string">"&lt;blahKey value='blah'/&gt;"</span>, <span class="jxr_string">"blahValue"</span>); +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> logger.debug(<span class="jxr_string">"Hello"</span>); +<a name="184" href="#184">184</a> Transformer.transform( +<a name="185" href="#185">185</a> TEMP, FILTERED, +<a name="186" href="#186">186</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/Filter.html">Filter</a>[] { <strong class="jxr_keyword">new</strong> LineNumberFilter(), +<a name="187" href="#187">187</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="188" href="#188">188</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/util/XMLTimestampFilter.html">XMLTimestampFilter</a>() }); +<a name="189" href="#189">189</a> assertTrue(Compare.compare(FILTERED, <span class="jxr_string">"witness/xmlLayout.mdc.2"</span>)); +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">void</strong> common() { +<a name="194" href="#194">194</a> String oldThreadName = Thread.currentThread().getName(); +<a name="195" href="#195">195</a> Thread.currentThread().setName(<span class="jxr_string">"main"</span>); +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <strong class="jxr_keyword">int</strong> i = -1; +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">X</a>(); +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> logger.trace(<span class="jxr_string">"Message "</span> + ++i); +<a name="202" href="#202">202</a> root.trace(<span class="jxr_string">"Message "</span> + i); +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i); +<a name="205" href="#205">205</a> root.debug(<span class="jxr_string">"Message "</span> + i); +<a name="206" href="#206">206</a> +<a name="207" href="#207">207</a> logger.info(<span class="jxr_string">"Message "</span> + ++i); +<a name="208" href="#208">208</a> root.info(<span class="jxr_string">"Message "</span> + i); +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> logger.warn (<span class="jxr_string">"Message "</span> + ++i); +<a name="211" href="#211">211</a> root.warn(<span class="jxr_string">"Message "</span> + i); +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> logger.error(<span class="jxr_string">"Message "</span> + ++i); +<a name="214" href="#214">214</a> root.error(<span class="jxr_string">"Message "</span> + i); +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> logger.log(Level.FATAL, <span class="jxr_string">"Message "</span> + ++i); +<a name="217" href="#217">217</a> root.log(Level.FATAL, <span class="jxr_string">"Message "</span> + i); +<a name="218" href="#218">218</a> +<a name="219" href="#219">219</a> Exception e = <strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Just testing"</span>); +<a name="220" href="#220">220</a> logger.debug(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="221" href="#221">221</a> root.debug(<span class="jxr_string">"Message "</span> + i, e); +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> logger.error(<span class="jxr_string">"Message "</span> + ++i, e); +<a name="224" href="#224">224</a> root.error(<span class="jxr_string">"Message "</span> + i, e); +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> Thread.currentThread().setName(oldThreadName); +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Test suite() { +<a name="231" href="#231">231</a> TestSuite suite = <strong class="jxr_keyword">new</strong> TestSuite(); +<a name="232" href="#232">232</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">XMLLayoutTestCase</a>(<span class="jxr_string">"basic"</span>)); +<a name="233" href="#233">233</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">XMLLayoutTestCase</a>(<span class="jxr_string">"locationInfo"</span>)); +<a name="234" href="#234">234</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">XMLLayoutTestCase</a>(<span class="jxr_string">"testCDATA"</span>)); +<a name="235" href="#235">235</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">XMLLayoutTestCase</a>(<span class="jxr_string">"testNull"</span>)); +<a name="236" href="#236">236</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">XMLLayoutTestCase</a>(<span class="jxr_string">"testMDC"</span>)); +<a name="237" href="#237">237</a> suite.addTest(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">XMLLayoutTestCase</a>(<span class="jxr_string">"testMDCEscaped"</span>)); +<a name="238" href="#238">238</a> <strong class="jxr_keyword">return</strong> suite; +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">X</a> { +<a name="243" href="#243">243</a> Logger logger = Logger.getLogger(X.<strong class="jxr_keyword">class</strong>); +<a name="244" href="#244">244</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/xml/XMLLayoutTestCase.html">X</a>() { +<a name="245" href="#245">245</a> logger.info(<span class="jxr_string">"in X() constructor"</span>); +<a name="246" href="#246">246</a> } +<a name="247" href="#247">247</a> } +<a name="248" href="#248">248</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/package-frame.html new file mode 100644 index 00000000000..64810781dcc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/package-frame.html @@ -0,0 +1,54 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.xml</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.xml</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="DOMTestCase.html" target="classFrame">CustomErrorHandler</a> + </li> + <li> + <a href="CustomLevelTestCase.html" target="classFrame">CustomLevelTestCase</a> + </li> + <li> + <a href="DOMTestCase.html" target="classFrame">CustomLogger</a> + </li> + <li> + <a href="DOMTestCase.html" target="classFrame">CustomLoggerFactory</a> + </li> + <li> + <a href="DOMTestCase.html" target="classFrame">DOMTestCase</a> + </li> + <li> + <a href="DOMTestCase.html" target="classFrame">MockThrowableRenderer</a> + </li> + <li> + <a href="XMLLayoutTest.html" target="classFrame">ProblemLevel</a> + </li> + <li> + <a href="XMLLayoutTestCase.html" target="classFrame">X</a> + </li> + <li> + <a href="XLevel.html" target="classFrame">XLevel</a> + </li> + <li> + <a href="XMLLayoutTest.html" target="classFrame">XMLLayoutTest</a> + </li> + <li> + <a href="XMLLayoutTestCase.html" target="classFrame">XMLLayoutTestCase</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/package-summary.html new file mode 100644 index 00000000000..1d691f4d3a6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/org/apache/log4j/xml/package-summary.html @@ -0,0 +1,117 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.xml</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.xml</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="DOMTestCase.html" target="classFrame">CustomErrorHandler</a> + </td> + </tr> + <tr> + <td> + <a href="CustomLevelTestCase.html" target="classFrame">CustomLevelTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="DOMTestCase.html" target="classFrame">CustomLogger</a> + </td> + </tr> + <tr> + <td> + <a href="DOMTestCase.html" target="classFrame">CustomLoggerFactory</a> + </td> + </tr> + <tr> + <td> + <a href="DOMTestCase.html" target="classFrame">DOMTestCase</a> + </td> + </tr> + <tr> + <td> + <a href="DOMTestCase.html" target="classFrame">MockThrowableRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="XMLLayoutTest.html" target="classFrame">ProblemLevel</a> + </td> + </tr> + <tr> + <td> + <a href="XMLLayoutTestCase.html" target="classFrame">X</a> + </td> + </tr> + <tr> + <td> + <a href="XLevel.html" target="classFrame">XLevel</a> + </td> + </tr> + <tr> + <td> + <a href="XMLLayoutTest.html" target="classFrame">XMLLayoutTest</a> + </td> + </tr> + <tr> + <td> + <a href="XMLLayoutTestCase.html" target="classFrame">XMLLayoutTestCase</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/overview-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/overview-frame.html new file mode 100644 index 00000000000..4e5e23d5f52 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/overview-frame.html @@ -0,0 +1,58 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference</title> + <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="allclasses-frame.html" target="packageFrame">All Classes</a> + </h3> + + <h3>Packages</h3> + + <ul> + <li> + <a href="org/apache/log4j/package-frame.html" target="packageFrame">org.apache.log4j</a> + </li> + <li> + <a href="org/apache/log4j/customLogger/package-frame.html" target="packageFrame">org.apache.log4j.customLogger</a> + </li> + <li> + <a href="org/apache/log4j/defaultInit/package-frame.html" target="packageFrame">org.apache.log4j.defaultInit</a> + </li> + <li> + <a href="org/apache/log4j/helpers/package-frame.html" target="packageFrame">org.apache.log4j.helpers</a> + </li> + <li> + <a href="org/apache/log4j/net/package-frame.html" target="packageFrame">org.apache.log4j.net</a> + </li> + <li> + <a href="org/apache/log4j/nt/package-frame.html" target="packageFrame">org.apache.log4j.nt</a> + </li> + <li> + <a href="org/apache/log4j/or/package-frame.html" target="packageFrame">org.apache.log4j.or</a> + </li> + <li> + <a href="org/apache/log4j/pattern/package-frame.html" target="packageFrame">org.apache.log4j.pattern</a> + </li> + <li> + <a href="org/apache/log4j/spi/package-frame.html" target="packageFrame">org.apache.log4j.spi</a> + </li> + <li> + <a href="org/apache/log4j/util/package-frame.html" target="packageFrame">org.apache.log4j.util</a> + </li> + <li> + <a href="org/apache/log4j/varia/package-frame.html" target="packageFrame">org.apache.log4j.varia</a> + </li> + <li> + <a href="org/apache/log4j/xml/package-frame.html" target="packageFrame">org.apache.log4j.xml</a> + </li> + </ul> + + </body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/overview-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref-test/overview-summary.html new file mode 100644 index 00000000000..16e9aafe454 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref-test/overview-summary.html @@ -0,0 +1,119 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference</title> + <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li class="selected">Overview</li> + <li>Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="overview-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Apache Log4j 1.2.16 Reference</h2> + + <table class="summary"> + <thead> + <tr> + <th>Packages</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="org/apache/log4j/package-summary.html">org.apache.log4j</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/customLogger/package-summary.html">org.apache.log4j.customLogger</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/defaultInit/package-summary.html">org.apache.log4j.defaultInit</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/net/package-summary.html">org.apache.log4j.net</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/or/package-summary.html">org.apache.log4j.or</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/util/package-summary.html">org.apache.log4j.util</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li class="selected">Overview</li> + <li>Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="overview-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref-test/stylesheet.css b/thirdparty/apache-log4j-1.2.16/site/xref-test/stylesheet.css new file mode 100644 index 00000000000..bebb6622847 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/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/thirdparty/apache-log4j-1.2.16/site/xref/allclasses-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/allclasses-frame.html new file mode 100644 index 00000000000..ebfaec0e71b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/allclasses-frame.html @@ -0,0 +1,731 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>All Classes</title> + <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" /> + </head> + <body> + + <h3>All Classes</h3> + + <ul> + <li> + <a href="org/apache/log4j/helpers/AbsoluteTimeDateFormat.html" target="classFrame">AbsoluteTimeDateFormat</a> + </li> + <li> + <a href="org/apache/log4j/jmx/AbstractDynamicMBean.html" target="classFrame">AbstractDynamicMBean</a> + </li> + <li> + <a href="org/apache/log4j/lf5/util/AdapterLogRecord.html" target="classFrame">AdapterLogRecord</a> + </li> + <li> + <a href="org/apache/log4j/jmx/Agent.html" target="classFrame">Agent</a> + </li> + <li> + <a href="org/apache/log4j/Appender.html" target="classFrame">Appender</a> + </li> + <li> + <a href="org/apache/log4j/spi/AppenderAttachable.html" target="classFrame">AppenderAttachable</a> + </li> + <li> + <a href="org/apache/log4j/helpers/AppenderAttachableImpl.html" target="classFrame">AppenderAttachableImpl</a> + </li> + <li> + <a href="org/apache/log4j/jmx/AppenderDynamicMBean.html" target="classFrame">AppenderDynamicMBean</a> + </li> + <li> + <a href="org/apache/log4j/lf5/AppenderFinalizer.html" target="classFrame">AppenderFinalizer</a> + </li> + <li> + <a href="org/apache/log4j/AppenderSkeleton.html" target="classFrame">AppenderSkeleton</a> + </li> + <li> + <a href="org/apache/log4j/AsyncAppender.html" target="classFrame">AsyncAppender</a> + </li> + <li> + <a href="org/apache/log4j/or/sax/AttributesRenderer.html" target="classFrame">AttributesRenderer</a> + </li> + <li> + <a href="org/apache/log4j/BasicConfigurator.html" target="classFrame">BasicConfigurator</a> + </li> + <li> + <a href="org/apache/log4j/helpers/PatternParser.html" target="classFrame">BasicPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/helpers/BoundedFIFO.html" target="classFrame">BoundedFIFO</a> + </li> + <li> + <a href="org/apache/log4j/pattern/BridgePatternConverter.html" target="classFrame">BridgePatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/pattern/BridgePatternParser.html" target="classFrame">BridgePatternParser</a> + </li> + <li> + <a href="org/apache/log4j/pattern/CachedDateFormat.html" target="classFrame">CachedDateFormat</a> + </li> + <li> + <a href="org/apache/log4j/pattern/RelativeTimePatternConverter.html" target="classFrame">CachedTimestamp</a> + </li> + <li> + <a href="org/apache/log4j/Category.html" target="classFrame">Category</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html" target="classFrame">CategoryAbstractCellEditor</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html" target="classFrame">CategoryElement</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html" target="classFrame">CategoryExplorerLogRecordFilter</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html" target="classFrame">CategoryExplorerModel</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html" target="classFrame">CategoryExplorerTree</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html" target="classFrame">CategoryImmediateEditor</a> + </li> + <li> + <a href="org/apache/log4j/CategoryKey.html" target="classFrame">CategoryKey</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html" target="classFrame">CategoryNode</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html" target="classFrame">CategoryNodeEditor</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html" target="classFrame">CategoryNodeEditorRenderer</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html" target="classFrame">CategoryNodeRenderer</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html" target="classFrame">CategoryPath</a> + </li> + <li> + <a href="org/apache/log4j/helpers/PatternParser.html" target="classFrame">CategoryPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/pattern/ClassNamePatternConverter.html" target="classFrame">ClassNamePatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html" target="classFrame">ConfigurationManager</a> + </li> + <li> + <a href="org/apache/log4j/spi/Configurator.html" target="classFrame">Configurator</a> + </li> + <li> + <a href="org/apache/log4j/net/SocketAppender.html" target="classFrame">Connector</a> + </li> + <li> + <a href="org/apache/log4j/ConsoleAppender.html" target="classFrame">ConsoleAppender</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/ControlPanel.html" target="classFrame">ControlPanel</a> + </li> + <li> + <a href="org/apache/log4j/helpers/CountingQuietWriter.html" target="classFrame">CountingQuietWriter</a> + </li> + <li> + <a href="org/apache/log4j/helpers/CyclicBuffer.html" target="classFrame">CyclicBuffer</a> + </li> + <li> + <a href="org/apache/log4j/xml/DOMConfigurator.html" target="classFrame">DOMConfigurator</a> + </li> + <li> + <a href="org/apache/log4j/DailyRollingFileAppender.html" target="classFrame">DailyRollingFileAppender</a> + </li> + <li> + <a href="org/apache/log4j/lf5/util/DateFormatManager.html" target="classFrame">DateFormatManager</a> + </li> + <li> + <a href="org/apache/log4j/helpers/DateLayout.html" target="classFrame">DateLayout</a> + </li> + <li> + <a href="org/apache/log4j/pattern/DatePatternConverter.html" target="classFrame">DatePatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/helpers/DateTimeDateFormat.html" target="classFrame">DateTimeDateFormat</a> + </li> + <li> + <a href="org/apache/log4j/DefaultCategoryFactory.html" target="classFrame">DefaultCategoryFactory</a> + </li> + <li> + <a href="org/apache/log4j/net/SMTPAppender.html" target="classFrame">DefaultEvaluator</a> + </li> + <li> + <a href="org/apache/log4j/lf5/DefaultLF5Configurator.html" target="classFrame">DefaultLF5Configurator</a> + </li> + <li> + <a href="org/apache/log4j/or/DefaultRenderer.html" target="classFrame">DefaultRenderer</a> + </li> + <li> + <a href="org/apache/log4j/spi/DefaultRepositorySelector.html" target="classFrame">DefaultRepositorySelector</a> + </li> + <li> + <a href="org/apache/log4j/DefaultThrowableRenderer.html" target="classFrame">DefaultThrowableRenderer</a> + </li> + <li> + <a href="org/apache/log4j/pattern/DatePatternConverter.html" target="classFrame">DefaultZoneDateFormat</a> + </li> + <li> + <a href="org/apache/log4j/varia/DenyAllFilter.html" target="classFrame">DenyAllFilter</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/DetailPanel.html" target="classFrame">DetailPanel</a> + </li> + <li> + <a href="org/apache/log4j/NDC.html" target="classFrame">DiagnosticContext</a> + </li> + <li> + <a href="org/apache/log4j/AsyncAppender.html" target="classFrame">DiscardSummary</a> + </li> + <li> + <a href="org/apache/log4j/Dispatcher.html" target="classFrame">Dispatcher</a> + </li> + <li> + <a href="org/apache/log4j/pattern/NameAbbreviator.html" target="classFrame">DropElementAbbreviator</a> + </li> + <li> + <a href="org/apache/log4j/EnhancedPatternLayout.html" target="classFrame">EnhancedPatternLayout</a> + </li> + <li> + <a href="org/apache/log4j/EnhancedThrowableRenderer.html" target="classFrame">EnhancedThrowableRenderer</a> + </li> + <li> + <a href="org/apache/log4j/spi/ErrorCode.html" target="classFrame">ErrorCode</a> + </li> + <li> + <a href="org/apache/log4j/spi/ErrorHandler.html" target="classFrame">ErrorHandler</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/EventDetails.html" target="classFrame">EventDetails</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/ExitAction.html" target="classFrame">ExitAction</a> + </li> + <li> + <a href="org/apache/log4j/varia/ExternallyRolledFileAppender.html" target="classFrame">ExternallyRolledFileAppender</a> + </li> + <li> + <a href="org/apache/log4j/varia/FallbackErrorHandler.html" target="classFrame">FallbackErrorHandler</a> + </li> + <li> + <a href="org/apache/log4j/FileAppender.html" target="classFrame">FileAppender</a> + </li> + <li> + <a href="org/apache/log4j/pattern/FileDatePatternConverter.html" target="classFrame">FileDatePatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/pattern/FileLocationPatternConverter.html" target="classFrame">FileLocationPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/helpers/FileWatchdog.html" target="classFrame">FileWatchdog</a> + </li> + <li> + <a href="org/apache/log4j/spi/Filter.html" target="classFrame">Filter</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/FilteredLogTableModel.html" target="classFrame">FilteredLogTableModel</a> + </li> + <li> + <a href="org/apache/log4j/pattern/FormattingInfo.html" target="classFrame">FormattingInfo</a> + </li> + <li> + <a href="org/apache/log4j/pattern/FullLocationPatternConverter.html" target="classFrame">FullLocationPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/HTMLLayout.html" target="classFrame">HTMLLayout</a> + </li> + <li> + <a href="org/apache/log4j/varia/ExternallyRolledFileAppender.html" target="classFrame">HUP</a> + </li> + <li> + <a href="org/apache/log4j/varia/ExternallyRolledFileAppender.html" target="classFrame">HUPNode</a> + </li> + <li> + <a href="org/apache/log4j/Hierarchy.html" target="classFrame">Hierarchy</a> + </li> + <li> + <a href="org/apache/log4j/jmx/HierarchyDynamicMBean.html" target="classFrame">HierarchyDynamicMBean</a> + </li> + <li> + <a href="org/apache/log4j/spi/HierarchyEventListener.html" target="classFrame">HierarchyEventListener</a> + </li> + <li> + <a href="org/apache/log4j/helpers/ISO8601DateFormat.html" target="classFrame">ISO8601DateFormat</a> + </li> + <li> + <a href="org/apache/log4j/pattern/IntegerPatternConverter.html" target="classFrame">IntegerPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/jdbc/JDBCAppender.html" target="classFrame">JDBCAppender</a> + </li> + <li> + <a href="org/apache/log4j/net/JMSAppender.html" target="classFrame">JMSAppender</a> + </li> + <li> + <a href="org/apache/log4j/net/JMSSink.html" target="classFrame">JMSSink</a> + </li> + <li> + <a href="org/apache/log4j/lf5/LF5Appender.html" target="classFrame">LF5Appender</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LF5SwingUtils.html" target="classFrame">LF5SwingUtils</a> + </li> + <li> + <a href="org/apache/log4j/Layout.html" target="classFrame">Layout</a> + </li> + <li> + <a href="org/apache/log4j/jmx/LayoutDynamicMBean.html" target="classFrame">LayoutDynamicMBean</a> + </li> + <li> + <a href="org/apache/log4j/Level.html" target="classFrame">Level</a> + </li> + <li> + <a href="org/apache/log4j/varia/LevelMatchFilter.html" target="classFrame">LevelMatchFilter</a> + </li> + <li> + <a href="org/apache/log4j/pattern/LevelPatternConverter.html" target="classFrame">LevelPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/varia/LevelRangeFilter.html" target="classFrame">LevelRangeFilter</a> + </li> + <li> + <a href="org/apache/log4j/pattern/LineLocationPatternConverter.html" target="classFrame">LineLocationPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/pattern/LineSeparatorPatternConverter.html" target="classFrame">LineSeparatorPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/pattern/LiteralPatternConverter.html" target="classFrame">LiteralPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/LoadXMLAction.html" target="classFrame">LoadXMLAction</a> + </li> + <li> + <a href="org/apache/log4j/helpers/Loader.html" target="classFrame">Loader</a> + </li> + <li> + <a href="org/apache/log4j/spi/LocationInfo.html" target="classFrame">LocationInfo</a> + </li> + <li> + <a href="org/apache/log4j/helpers/PatternParser.html" target="classFrame">LocationPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/lf5/Log4JLogRecord.html" target="classFrame">Log4JLogRecord</a> + </li> + <li> + <a href="org/apache/log4j/xml/Log4jEntityResolver.html" target="classFrame">Log4jEntityResolver</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" target="classFrame">LogBrokerMonitor</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogBrokerMonitor.html" target="classFrame">LogBrokerMonitorWindowAdaptor</a> + </li> + <li> + <a href="org/apache/log4j/pattern/LogEvent.html" target="classFrame">LogEvent</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogFactor5Dialog.html" target="classFrame">LogFactor5Dialog</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html" target="classFrame">LogFactor5ErrorDialog</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html" target="classFrame">LogFactor5InputDialog</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html" target="classFrame">LogFactor5LoadingDialog</a> + </li> + <li> + <a href="org/apache/log4j/lf5/util/LogFileParser.html" target="classFrame">LogFileParser</a> + </li> + <li> + <a href="org/apache/log4j/lf5/LogLevel.html" target="classFrame">LogLevel</a> + </li> + <li> + <a href="org/apache/log4j/lf5/LogLevelFormatException.html" target="classFrame">LogLevelFormatException</a> + </li> + <li> + <a href="org/apache/log4j/helpers/LogLog.html" target="classFrame">LogLog</a> + </li> + <li> + <a href="org/apache/log4j/LogMF.html" target="classFrame">LogMF</a> + </li> + <li> + <a href="org/apache/log4j/LogManager.html" target="classFrame">LogManager</a> + </li> + <li> + <a href="org/apache/log4j/lf5/util/LogMonitorAdapter.html" target="classFrame">LogMonitorAdapter</a> + </li> + <li> + <a href="org/apache/log4j/lf5/LogRecord.html" target="classFrame">LogRecord</a> + </li> + <li> + <a href="org/apache/log4j/lf5/LogRecordFilter.html" target="classFrame">LogRecordFilter</a> + </li> + <li> + <a href="org/apache/log4j/LogSF.html" target="classFrame">LogSF</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogTable.html" target="classFrame">LogTable</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogTableColumn.html" target="classFrame">LogTableColumn</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html" target="classFrame">LogTableColumnFormatException</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogTable.html" target="classFrame">LogTableListSelectionListener</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogTableModel.html" target="classFrame">LogTableModel</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/LogTableRowRenderer.html" target="classFrame">LogTableRowRenderer</a> + </li> + <li> + <a href="org/apache/log4j/LogXF.html" target="classFrame">LogXF</a> + </li> + <li> + <a href="org/apache/log4j/Logger.html" target="classFrame">Logger</a> + </li> + <li> + <a href="org/apache/log4j/jmx/LoggerDynamicMBean.html" target="classFrame">LoggerDynamicMBean</a> + </li> + <li> + <a href="org/apache/log4j/spi/LoggerFactory.html" target="classFrame">LoggerFactory</a> + </li> + <li> + <a href="org/apache/log4j/pattern/LoggerPatternConverter.html" target="classFrame">LoggerPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/spi/LoggerRepository.html" target="classFrame">LoggerRepository</a> + </li> + <li> + <a href="org/apache/log4j/spi/LoggingEvent.html" target="classFrame">LoggingEvent</a> + </li> + <li> + <a href="org/apache/log4j/pattern/LoggingEventPatternConverter.html" target="classFrame">LoggingEventPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/LoggingReceiver.html" target="classFrame">LoggingReceiver</a> + </li> + <li> + <a href="org/apache/log4j/MDC.html" target="classFrame">MDC</a> + </li> + <li> + <a href="org/apache/log4j/helpers/MDCKeySetExtractor.html" target="classFrame">MDCKeySetExtractor</a> + </li> + <li> + <a href="org/apache/log4j/helpers/PatternParser.html" target="classFrame">MDCPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/configure/MRUFileManager.html" target="classFrame">MRUFileManager</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/Main.html" target="classFrame">Main</a> + </li> + <li> + <a href="org/apache/log4j/pattern/NameAbbreviator.html" target="classFrame">MaxElementAbbreviator</a> + </li> + <li> + <a href="org/apache/log4j/pattern/MessagePatternConverter.html" target="classFrame">MessagePatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/or/jms/MessageRenderer.html" target="classFrame">MessageRenderer</a> + </li> + <li> + <a href="org/apache/log4j/pattern/MethodLocationPatternConverter.html" target="classFrame">MethodLocationPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/jmx/MethodUnion.html" target="classFrame">MethodUnion</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/MyTableModel.html" target="classFrame">MyTableModel</a> + </li> + <li> + <a href="org/apache/log4j/NDC.html" target="classFrame">NDC</a> + </li> + <li> + <a href="org/apache/log4j/pattern/NDCPatternConverter.html" target="classFrame">NDCPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/pattern/NameAbbreviator.html" target="classFrame">NOPAbbreviator</a> + </li> + <li> + <a href="org/apache/log4j/spi/NOPLogger.html" target="classFrame">NOPLogger</a> + </li> + <li> + <a href="org/apache/log4j/spi/NOPLoggerRepository.html" target="classFrame">NOPLoggerRepository</a> + </li> + <li> + <a href="org/apache/log4j/nt/NTEventLogAppender.html" target="classFrame">NTEventLogAppender</a> + </li> + <li> + <a href="org/apache/log4j/pattern/NameAbbreviator.html" target="classFrame">NameAbbreviator</a> + </li> + <li> + <a href="org/apache/log4j/pattern/NamePatternConverter.html" target="classFrame">NamePatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/PropertyConfigurator.html" target="classFrame">NameValue</a> + </li> + <li> + <a href="org/apache/log4j/helpers/PatternParser.html" target="classFrame">NamedPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/varia/NullAppender.html" target="classFrame">NullAppender</a> + </li> + <li> + <a href="org/apache/log4j/helpers/NullEnumeration.html" target="classFrame">NullEnumeration</a> + </li> + <li> + <a href="org/apache/log4j/spi/NullWriter.html" target="classFrame">NullWriter</a> + </li> + <li> + <a href="org/apache/log4j/or/ObjectRenderer.html" target="classFrame">ObjectRenderer</a> + </li> + <li> + <a href="org/apache/log4j/helpers/OnlyOnceErrorHandler.html" target="classFrame">OnlyOnceErrorHandler</a> + </li> + <li> + <a href="org/apache/log4j/helpers/OptionConverter.html" target="classFrame">OptionConverter</a> + </li> + <li> + <a href="org/apache/log4j/spi/OptionHandler.html" target="classFrame">OptionHandler</a> + </li> + <li> + <a href="org/apache/log4j/xml/DOMConfigurator.html" target="classFrame">ParseAction</a> + </li> + <li> + <a href="org/apache/log4j/lf5/PassingLogRecordFilter.html" target="classFrame">PassingLogRecordFilter</a> + </li> + <li> + <a href="org/apache/log4j/pattern/NameAbbreviator.html" target="classFrame">PatternAbbreviator</a> + </li> + <li> + <a href="org/apache/log4j/pattern/NameAbbreviator.html" target="classFrame">PatternAbbreviatorFragment</a> + </li> + <li> + <a href="org/apache/log4j/pattern/PatternConverter.html" target="classFrame">PatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/PatternLayout.html" target="classFrame">PatternLayout</a> + </li> + <li> + <a href="org/apache/log4j/pattern/PatternParser.html" target="classFrame">PatternParser</a> + </li> + <li> + <a href="org/apache/log4j/Priority.html" target="classFrame">Priority</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/MyTableModel.html" target="classFrame">Processor</a> + </li> + <li> + <a href="org/apache/log4j/pattern/PropertiesPatternConverter.html" target="classFrame">PropertiesPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/config/PropertyGetter.html" target="classFrame">PropertyCallback</a> + </li> + <li> + <a href="org/apache/log4j/PropertyConfigurator.html" target="classFrame">PropertyConfigurator</a> + </li> + <li> + <a href="org/apache/log4j/config/PropertyGetter.html" target="classFrame">PropertyGetter</a> + </li> + <li> + <a href="org/apache/log4j/config/PropertyPrinter.html" target="classFrame">PropertyPrinter</a> + </li> + <li> + <a href="org/apache/log4j/config/PropertySetter.html" target="classFrame">PropertySetter</a> + </li> + <li> + <a href="org/apache/log4j/config/PropertySetterException.html" target="classFrame">PropertySetterException</a> + </li> + <li> + <a href="org/apache/log4j/PropertyConfigurator.html" target="classFrame">PropertyWatchdog</a> + </li> + <li> + <a href="org/apache/log4j/ProvisionNode.html" target="classFrame">ProvisionNode</a> + </li> + <li> + <a href="org/apache/log4j/helpers/QuietWriter.html" target="classFrame">QuietWriter</a> + </li> + <li> + <a href="org/apache/log4j/pattern/PatternParser.html" target="classFrame">ReadOnlyMap</a> + </li> + <li> + <a href="org/apache/log4j/helpers/RelativeTimeDateFormat.html" target="classFrame">RelativeTimeDateFormat</a> + </li> + <li> + <a href="org/apache/log4j/pattern/RelativeTimePatternConverter.html" target="classFrame">RelativeTimePatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/varia/ReloadingPropertyConfigurator.html" target="classFrame">ReloadingPropertyConfigurator</a> + </li> + <li> + <a href="org/apache/log4j/or/RendererMap.html" target="classFrame">RendererMap</a> + </li> + <li> + <a href="org/apache/log4j/spi/RendererSupport.html" target="classFrame">RendererSupport</a> + </li> + <li> + <a href="org/apache/log4j/spi/RepositorySelector.html" target="classFrame">RepositorySelector</a> + </li> + <li> + <a href="org/apache/log4j/lf5/util/Resource.html" target="classFrame">Resource</a> + </li> + <li> + <a href="org/apache/log4j/lf5/util/ResourceUtils.html" target="classFrame">ResourceUtils</a> + </li> + <li> + <a href="org/apache/log4j/varia/Roller.html" target="classFrame">Roller</a> + </li> + <li> + <a href="org/apache/log4j/DailyRollingFileAppender.html" target="classFrame">RollingCalendar</a> + </li> + <li> + <a href="org/apache/log4j/RollingFileAppender.html" target="classFrame">RollingFileAppender</a> + </li> + <li> + <a href="org/apache/log4j/spi/RootCategory.html" target="classFrame">RootCategory</a> + </li> + <li> + <a href="org/apache/log4j/spi/RootLogger.html" target="classFrame">RootLogger</a> + </li> + <li> + <a href="org/apache/log4j/xml/SAXErrorHandler.html" target="classFrame">SAXErrorHandler</a> + </li> + <li> + <a href="org/apache/log4j/net/SMTPAppender.html" target="classFrame">SMTPAppender</a> + </li> + <li> + <a href="org/apache/log4j/pattern/SequenceNumberPatternConverter.html" target="classFrame">SequenceNumberPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/net/SocketHubAppender.html" target="classFrame">ServerMonitor</a> + </li> + <li> + <a href="org/apache/log4j/SimpleLayout.html" target="classFrame">SimpleLayout</a> + </li> + <li> + <a href="org/apache/log4j/net/SimpleSocketServer.html" target="classFrame">SimpleSocketServer</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/LoggingReceiver.html" target="classFrame">Slurper</a> + </li> + <li> + <a href="org/apache/log4j/net/SocketAppender.html" target="classFrame">SocketAppender</a> + </li> + <li> + <a href="org/apache/log4j/net/TelnetAppender.html" target="classFrame">SocketHandler</a> + </li> + <li> + <a href="org/apache/log4j/net/SocketHubAppender.html" target="classFrame">SocketHubAppender</a> + </li> + <li> + <a href="org/apache/log4j/net/SocketNode.html" target="classFrame">SocketNode</a> + </li> + <li> + <a href="org/apache/log4j/net/SocketServer.html" target="classFrame">SocketServer</a> + </li> + <li> + <a href="org/apache/log4j/PropertyConfigurator.html" target="classFrame">SortedKeyEnumeration</a> + </li> + <li> + <a href="org/apache/log4j/lf5/StartLogFactor5.html" target="classFrame">StartLogFactor5</a> + </li> + <li> + <a href="org/apache/log4j/lf5/util/StreamUtils.html" target="classFrame">StreamUtils</a> + </li> + <li> + <a href="org/apache/log4j/varia/StringMatchFilter.html" target="classFrame">StringMatchFilter</a> + </li> + <li> + <a href="org/apache/log4j/net/SyslogAppender.html" target="classFrame">SyslogAppender</a> + </li> + <li> + <a href="org/apache/log4j/helpers/SyslogQuietWriter.html" target="classFrame">SyslogQuietWriter</a> + </li> + <li> + <a href="org/apache/log4j/helpers/SyslogWriter.html" target="classFrame">SyslogWriter</a> + </li> + <li> + <a href="org/apache/log4j/ConsoleAppender.html" target="classFrame">SystemErrStream</a> + </li> + <li> + <a href="org/apache/log4j/ConsoleAppender.html" target="classFrame">SystemOutStream</a> + </li> + <li> + <a href="org/apache/log4j/TTCCLayout.html" target="classFrame">TTCCLayout</a> + </li> + <li> + <a href="org/apache/log4j/net/TelnetAppender.html" target="classFrame">TelnetAppender</a> + </li> + <li> + <a href="org/apache/log4j/or/ThreadGroupRenderer.html" target="classFrame">ThreadGroupRenderer</a> + </li> + <li> + <a href="org/apache/log4j/helpers/ThreadLocalMap.html" target="classFrame">ThreadLocalMap</a> + </li> + <li> + <a href="org/apache/log4j/pattern/ThreadPatternConverter.html" target="classFrame">ThreadPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/spi/ThrowableInformation.html" target="classFrame">ThrowableInformation</a> + </li> + <li> + <a href="org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" target="classFrame">ThrowableInformationPatternConverter</a> + </li> + <li> + <a href="org/apache/log4j/spi/ThrowableRenderer.html" target="classFrame">ThrowableRenderer</a> + </li> + <li> + <a href="org/apache/log4j/spi/ThrowableRendererSupport.html" target="classFrame">ThrowableRendererSupport</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html" target="classFrame">TrackingAdjustmentListener</a> + </li> + <li> + <a href="org/apache/log4j/helpers/Transform.html" target="classFrame">Transform</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html" target="classFrame">TreeModelAdapter</a> + </li> + <li> + <a href="org/apache/log4j/spi/TriggeringEventEvaluator.html" target="classFrame">TriggeringEventEvaluator</a> + </li> + <li> + <a href="org/apache/log4j/xml/UnrecognizedElementHandler.html" target="classFrame">UnrecognizedElementHandler</a> + </li> + <li> + <a href="org/apache/log4j/spi/VectorWriter.html" target="classFrame">VectorWriter</a> + </li> + <li> + <a href="org/apache/log4j/WriterAppender.html" target="classFrame">WriterAppender</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/XMLFileHandler.html" target="classFrame">XMLFileHandler</a> + </li> + <li> + <a href="org/apache/log4j/xml/XMLLayout.html" target="classFrame">XMLLayout</a> + </li> + <li> + <a href="org/apache/log4j/xml/DOMConfigurator.html" target="classFrame">XMLWatchdog</a> + </li> + <li> + <a href="org/apache/log4j/net/ZeroConfSupport.html" target="classFrame">ZeroConfSupport</a> + </li> + </ul> + + </body> + </html> diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/index.html b/thirdparty/apache-log4j-1.2.16/site/xref/index.html new file mode 100644 index 00000000000..b5c5d3f7ffe --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/index.html @@ -0,0 +1,24 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference</title> + </head> + <frameset cols="20%,80%"> + <frameset rows="30%,70%"> + <frame src="overview-frame.html" name="packageListFrame" /> + <frame src="allclasses-frame.html" name="packageFrame" /> + </frameset> + <frame src="overview-summary.html" name="classFrame" /> + <noframes> + <body> + <h1>Frame Alert</h1> + <p> + You don't have frames. Go <a href="overview-summary.html">here</a> + </p> + </body> + </noframes> + </frameset> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Appender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Appender.html new file mode 100644 index 00000000000..dcc5990a761 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Appender.html @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Appender xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/Appender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> Implement this interface for your own strategies for outputting log</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> statements.</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml; </em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">*/</em> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../org/apache/log4j/Appender.html">Appender</a> { +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> Add a filter to the end of the filter list.</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">void</strong> addFilter(<a href="../../../org/apache/log4j/spi/Filter.html">Filter</a> newFilter); +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> Returns the head Filter. The Filters are organized in a linked list</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> and so all Filters on this Appender are available through the result.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> </em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> @return the head Filter or null, if no Filters are present</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> @since 1.1</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> +<a name="47" href="#47">47</a> <a href="../../../org/apache/log4j/spi/Filter.html">Filter</a> getFilter(); +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> Clear the list of filters by removing all the filters in it.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> </em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">void</strong> clearFilters(); +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> Release any resources allocated within the appender such as file</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> handles, network connections, etc.</em> +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> &lt;p&gt;It is a programming error to append to a closed appender.</em> +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> @since 0.8.4</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">void</strong> close(); +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> Log in &lt;code&gt;Appender&lt;/code&gt; specific way. When appropriate,</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> Loggers will call the &lt;code&gt;doAppend&lt;/code&gt; method of appender</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> implementations in order to log. */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">void</strong> doAppend(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event); +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment">/**</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> Get the name of this appender.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> @return name, may be null.*/</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> +<a name="80" href="#80">80</a> String getName(); +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment">/**</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> Set the {@link ErrorHandler} for this appender.</em> +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> */</em> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">void</strong> setErrorHandler(<a href="../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> errorHandler); +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> Returns the {@link ErrorHandler} for this appender.</em> +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> @since 1.1</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> +<a name="97" href="#97">97</a> <a href="../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> getErrorHandler(); +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> Set the {@link Layout} for this appender.</em> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> @since 0.8.1</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> */</em> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">void</strong> setLayout(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">/**</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> Returns this appenders layout.</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> </em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> @since 1.1</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">public</strong> +<a name="113" href="#113">113</a> <a href="../../../org/apache/log4j/Layout.html">Layout</a> getLayout(); +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">/**</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> Set the name of this appender. The name is used by other</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> components to identify this appender.</em> +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> @since 0.8.1</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">void</strong> setName(String name); +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">/**</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> Configurators call this method to determine if the appender</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> requires a layout. If this method returns &lt;code&gt;true&lt;/code&gt;,</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> meaning that layout is required, then the configurator will</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> configure an layout using the configuration information at its</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> disposal. If this method returns &lt;code&gt;false&lt;/code&gt;, meaning that</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> a layout is not required, then layout configuration will be</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> skipped even if there is available layout configuration</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> information at the disposal of the configurator..</em> +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> &lt;p&gt;In the rather exceptional case, where the appender</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> implementation admits a layout but can also work without it, then</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> the appender should return &lt;code&gt;true&lt;/code&gt;.</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> </em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> @since 0.8.4 */</em> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">public</strong> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">boolean</strong> requiresLayout(); +<a name="142" href="#142">142</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/AppenderSkeleton.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/AppenderSkeleton.html new file mode 100644 index 00000000000..f85847e8f49 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/AppenderSkeleton.html @@ -0,0 +1,318 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AppenderSkeleton xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OnlyOnceErrorHandler; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * Abstract superclass of the other appenders in the package.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * </em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * This class provides the code for common functionality, such as</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * support for threshold filtering and support for general filters.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> *</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @since 0.8.1</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml; </em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> implements Appender, <a href="../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a> { +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The layout variable does not need to be set if the appender</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> implementation has its own layout. */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/Layout.html">Layout</a> layout; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Appenders are named. */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">protected</strong> String name; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> There is no level threshold filtering by default. */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/Priority.html">Priority</a> threshold; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> It is assumed and enforced that errorHandler is never null.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> errorHandler = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html">OnlyOnceErrorHandler</a>(); +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The first filter in the filter chain. Set to &lt;code&gt;null&lt;/code&gt;</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> initially. */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/spi/Filter.html">Filter</a> headFilter; +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The last filter in the filter chain. */</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/spi/Filter.html">Filter</a> tailFilter; +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> Is this appender closed? </em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> closed = false; +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> */</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a>() { +<a name="70" href="#70">70</a> <strong class="jxr_keyword">super</strong>(); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * Provided for compatibility with log4j 1.3.</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> *</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * @param isActive true if appender is ready for use upon construction.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * Not used in log4j 1.2.x.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> */</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a>(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isActive) { +<a name="82" href="#82">82</a> <strong class="jxr_keyword">super</strong>(); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> Derived appenders should override this method if option structure</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> requires it. */</em> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">public</strong> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment">/**</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> Add a filter to end of the filter list.</em> +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> */</em> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">public</strong> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">void</strong> addFilter(<a href="../../../org/apache/log4j/spi/Filter.html">Filter</a> newFilter) { +<a name="102" href="#102">102</a> <strong class="jxr_keyword">if</strong>(headFilter == <strong class="jxr_keyword">null</strong>) { +<a name="103" href="#103">103</a> headFilter = tailFilter = newFilter; +<a name="104" href="#104">104</a> } <strong class="jxr_keyword">else</strong> { +<a name="105" href="#105">105</a> tailFilter.setNext(newFilter); +<a name="106" href="#106">106</a> tailFilter = newFilter; +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">/**</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> Subclasses of &lt;code&gt;AppenderSkeleton&lt;/code&gt; should implement this</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> method to perform actual logging. See also {@link #doAppend</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> AppenderSkeleton.doAppend} method.</em> +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> */</em> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">abstract</strong> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">protected</strong> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">void</strong> append(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event); +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">/**</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> Clear the filters chain.</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> </em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> @since 0.9.0 */</em> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">public</strong> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">void</strong> clearFilters() { +<a name="128" href="#128">128</a> headFilter = tailFilter = <strong class="jxr_keyword">null</strong>; +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">/**</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> Finalize this appender by calling the derived class'</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> &lt;code&gt;close&lt;/code&gt; method.</em> +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> @since 0.8.4 */</em> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">public</strong> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">void</strong> finalize() { +<a name="138" href="#138">138</a> <em class="jxr_comment">// An appender might be closed then garbage collected. There is no</em> +<a name="139" href="#139">139</a> <em class="jxr_comment">// point in closing twice.</em> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.closed) +<a name="141" href="#141">141</a> <strong class="jxr_keyword">return</strong>; +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> LogLog.debug(<span class="jxr_string">"Finalizing appender named ["</span>+name+<span class="jxr_string">"]."</span>); +<a name="144" href="#144">144</a> close(); +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> Return the currently set {@link ErrorHandler} for this</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> Appender. </em> +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> @since 0.9.0 */</em> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">public</strong> +<a name="154" href="#154">154</a> <a href="../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> getErrorHandler() { +<a name="155" href="#155">155</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.errorHandler; +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">/**</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> Returns the head Filter.</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> </em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> @since 1.1</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> */</em> +<a name="164" href="#164">164</a> <strong class="jxr_keyword">public</strong> +<a name="165" href="#165">165</a> <a href="../../../org/apache/log4j/spi/Filter.html">Filter</a> getFilter() { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">return</strong> headFilter; +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> Return the first filter in the filter chain for this</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> Appender. The return value may be &lt;code&gt;null&lt;/code&gt; if no is</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> filter is set.</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> </em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> */</em> +<a name="175" href="#175">175</a> <strong class="jxr_keyword">public</strong> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">final</strong> +<a name="177" href="#177">177</a> <a href="../../../org/apache/log4j/spi/Filter.html">Filter</a> getFirstFilter() { +<a name="178" href="#178">178</a> <strong class="jxr_keyword">return</strong> headFilter; +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">/**</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> Returns the layout of this appender. The value may be null.</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> */</em> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">public</strong> +<a name="185" href="#185">185</a> <a href="../../../org/apache/log4j/Layout.html">Layout</a> getLayout() { +<a name="186" href="#186">186</a> <strong class="jxr_keyword">return</strong> layout; +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">/**</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> Returns the name of this appender.</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> @return name, may be null.</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> */</em> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">public</strong> +<a name="195" href="#195">195</a> <strong class="jxr_keyword">final</strong> +<a name="196" href="#196">196</a> String getName() { +<a name="197" href="#197">197</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.name; +<a name="198" href="#198">198</a> } +<a name="199" href="#199">199</a> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment">/**</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> Returns this appenders threshold level. See the {@link</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> #setThreshold} method for the meaning of this option.</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> </em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> @since 1.1 */</em> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">public</strong> +<a name="206" href="#206">206</a> <a href="../../../org/apache/log4j/Priority.html">Priority</a> getThreshold() { +<a name="207" href="#207">207</a> <strong class="jxr_keyword">return</strong> threshold; +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment">/**</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> Check whether the message level is below the appender's</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> threshold. If there is no threshold set, then the return value is</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> always &lt;code&gt;true&lt;/code&gt;.</em> +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> */</em> +<a name="217" href="#217">217</a> <strong class="jxr_keyword">public</strong> +<a name="218" href="#218">218</a> <strong class="jxr_keyword">boolean</strong> isAsSevereAsThreshold(<a href="../../../org/apache/log4j/Priority.html">Priority</a> priority) { +<a name="219" href="#219">219</a> <strong class="jxr_keyword">return</strong> ((threshold == <strong class="jxr_keyword">null</strong>) || priority.isGreaterOrEqual(threshold)); +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">/**</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> * This method performs threshold checks and invokes filters before</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> * delegating actual logging to the subclasses specific {@link</em> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment"> * AppenderSkeleton#append} method.</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> * */</em> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">public</strong> +<a name="229" href="#229">229</a> <strong class="jxr_keyword">synchronized</strong> +<a name="230" href="#230">230</a> <strong class="jxr_keyword">void</strong> doAppend(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="231" href="#231">231</a> <strong class="jxr_keyword">if</strong>(closed) { +<a name="232" href="#232">232</a> LogLog.error(<span class="jxr_string">"Attempted to append to closed appender named ["</span>+name+<span class="jxr_string">"]."</span>); +<a name="233" href="#233">233</a> <strong class="jxr_keyword">return</strong>; +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> <strong class="jxr_keyword">if</strong>(!isAsSevereAsThreshold(event.getLevel())) { +<a name="237" href="#237">237</a> <strong class="jxr_keyword">return</strong>; +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <a href="../../../org/apache/log4j/spi/Filter.html">Filter</a> f = <strong class="jxr_keyword">this</strong>.headFilter; +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> FILTER_LOOP: +<a name="243" href="#243">243</a> <strong class="jxr_keyword">while</strong>(f != <strong class="jxr_keyword">null</strong>) { +<a name="244" href="#244">244</a> <strong class="jxr_keyword">switch</strong>(f.decide(event)) { +<a name="245" href="#245">245</a> <strong class="jxr_keyword">case</strong> Filter.DENY: <strong class="jxr_keyword">return</strong>; +<a name="246" href="#246">246</a> <strong class="jxr_keyword">case</strong> Filter.ACCEPT: <strong class="jxr_keyword">break</strong> FILTER_LOOP; +<a name="247" href="#247">247</a> <strong class="jxr_keyword">case</strong> Filter.NEUTRAL: f = f.getNext(); +<a name="248" href="#248">248</a> } +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> <strong class="jxr_keyword">this</strong>.append(event); +<a name="252" href="#252">252</a> } +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> Set the {@link ErrorHandler} for this Appender.</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> */</em> +<a name="258" href="#258">258</a> <strong class="jxr_keyword">public</strong> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">synchronized</strong> +<a name="260" href="#260">260</a> <strong class="jxr_keyword">void</strong> setErrorHandler(<a href="../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> eh) { +<a name="261" href="#261">261</a> <strong class="jxr_keyword">if</strong>(eh == <strong class="jxr_keyword">null</strong>) { +<a name="262" href="#262">262</a> <em class="jxr_comment">// We do not throw exception here since the cause is probably a</em> +<a name="263" href="#263">263</a> <em class="jxr_comment">// bad config file.</em> +<a name="264" href="#264">264</a> LogLog.warn(<span class="jxr_string">"You have tried to set a null error-handler."</span>); +<a name="265" href="#265">265</a> } <strong class="jxr_keyword">else</strong> { +<a name="266" href="#266">266</a> <strong class="jxr_keyword">this</strong>.errorHandler = eh; +<a name="267" href="#267">267</a> } +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> <em class="jxr_javadoccomment">/**</em> +<a name="271" href="#271">271</a> <em class="jxr_javadoccomment"> Set the layout for this appender. Note that some appenders have</em> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> their own (fixed) layouts or do not use one. For example, the</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> {@link org.apache.log4j.net.SocketAppender} ignores the layout set</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> here. </em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> */</em> +<a name="276" href="#276">276</a> <strong class="jxr_keyword">public</strong> +<a name="277" href="#277">277</a> <strong class="jxr_keyword">void</strong> setLayout(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout) { +<a name="278" href="#278">278</a> <strong class="jxr_keyword">this</strong>.layout = layout; +<a name="279" href="#279">279</a> } +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment">/**</em> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment"> Set the name of this Appender.</em> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> */</em> +<a name="285" href="#285">285</a> <strong class="jxr_keyword">public</strong> +<a name="286" href="#286">286</a> <strong class="jxr_keyword">void</strong> setName(String name) { +<a name="287" href="#287">287</a> <strong class="jxr_keyword">this</strong>.name = name; +<a name="288" href="#288">288</a> } +<a name="289" href="#289">289</a> +<a name="290" href="#290">290</a> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment">/**</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> Set the threshold level. All log events with lower level</em> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment"> than the threshold level are ignored by the appender.</em> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> </em> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment"> &lt;p&gt;In configuration files this option is specified by setting the</em> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment"> value of the &lt;b&gt;Threshold&lt;/b&gt; option to a level</em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> string, such as "DEBUG", "INFO" and so on.</em> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment"> </em> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment"> @since 0.8.3 */</em> +<a name="300" href="#300">300</a> <strong class="jxr_keyword">public</strong> +<a name="301" href="#301">301</a> <strong class="jxr_keyword">void</strong> setThreshold(<a href="../../../org/apache/log4j/Priority.html">Priority</a> threshold) { +<a name="302" href="#302">302</a> <strong class="jxr_keyword">this</strong>.threshold = threshold; +<a name="303" href="#303">303</a> } +<a name="304" href="#304">304</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/AsyncAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/AsyncAppender.html new file mode 100644 index 00000000000..99cfa476602 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/AsyncAppender.html @@ -0,0 +1,610 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AsyncAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/AsyncAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contibutors: Aaron Greenhouse &lt;aarong@cs.cmu.edu&gt;</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// Thomas Tuft Muller &lt;ttm@online.no&gt;</em> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.text.MessageFormat; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.HashMap; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.AppenderAttachableImpl; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.AppenderAttachable; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * The AsyncAppender lets users log events asynchronously.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * &lt;p/&gt;</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * &lt;p/&gt;</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * The AsyncAppender will collect the events sent to it and then dispatch them</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * to all the appenders that are attached to it. You can attach multiple</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * appenders to an AsyncAppender.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * &lt;p/&gt;</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * &lt;p/&gt;</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * The AsyncAppender uses a separate thread to serve the events in its buffer.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * &lt;p/&gt;</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * &lt;b&gt;Important note:&lt;/b&gt; The &lt;code&gt;AsyncAppender&lt;/code&gt; can only be script</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * configured using the {@link org.apache.log4j.xml.DOMConfigurator}.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> *</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * @since 0.9.1</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/AsyncAppender.html">AsyncAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> +<a name="57" href="#57">57</a> implements <a href="../../../org/apache/log4j/spi/AppenderAttachable.html">AppenderAttachable</a> { +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * The default buffer size is set to 128 events.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_BUFFER_SIZE = 128; +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment">/**</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * Event buffer, also used as monitor to protect itself and</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * discardMap from simulatenous modifications.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List buffer = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * Map of DiscardSummary objects keyed by logger name.</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map discardMap = <strong class="jxr_keyword">new</strong> HashMap(); +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment">/**</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * Buffer size.</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> */</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> bufferSize = DEFAULT_BUFFER_SIZE; +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Nested appenders. */</em> +<a name="80" href="#80">80</a> <a href="../../../org/apache/log4j/helpers/AppenderAttachableImpl.html">AppenderAttachableImpl</a> aai; +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * Nested appenders.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/helpers/AppenderAttachableImpl.html">AppenderAttachableImpl</a> appenders; +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * Dispatcher.</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> */</em> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Thread dispatcher; +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * Should location info be included in dispatched messages.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> */</em> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> locationInfo = false; +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment">/**</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> * Does appender block when buffer is full.</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> */</em> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> blocking = <strong class="jxr_keyword">true</strong>; +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">/**</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> */</em> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/AsyncAppender.html">AsyncAppender</a>() { +<a name="106" href="#106">106</a> appenders = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/helpers/AppenderAttachableImpl.html">AppenderAttachableImpl</a>(); +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_comment">//</em> +<a name="109" href="#109">109</a> <em class="jxr_comment">// only set for compatibility</em> +<a name="110" href="#110">110</a> aai = appenders; +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> dispatcher = +<a name="113" href="#113">113</a> <strong class="jxr_keyword">new</strong> Thread(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Dispatcher.html">Dispatcher</a>(<strong class="jxr_keyword">this</strong>, buffer, discardMap, appenders)); +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_comment">// It is the user's responsibility to close appenders before</em> +<a name="116" href="#116">116</a> <em class="jxr_comment">// exiting.</em> +<a name="117" href="#117">117</a> dispatcher.setDaemon(<strong class="jxr_keyword">true</strong>); +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em class="jxr_comment">// set the dispatcher priority to lowest possible value</em> +<a name="120" href="#120">120</a> <em class="jxr_comment">// dispatcher.setPriority(Thread.MIN_PRIORITY);</em> +<a name="121" href="#121">121</a> dispatcher.setName(<span class="jxr_string">"AsyncAppender-Dispatcher-"</span> + dispatcher.getName()); +<a name="122" href="#122">122</a> dispatcher.start(); +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">/**</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> * Add appender.</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> *</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * @param newAppender appender to add, may not be null.</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> */</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addAppender(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Appender.html">Appender</a> newAppender) { +<a name="131" href="#131">131</a> <strong class="jxr_keyword">synchronized</strong> (appenders) { +<a name="132" href="#132">132</a> appenders.addAppender(newAppender); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">/**</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> */</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="140" href="#140">140</a> <em class="jxr_comment">//</em> +<a name="141" href="#141">141</a> <em class="jxr_comment">// if dispatcher thread has died then</em> +<a name="142" href="#142">142</a> <em class="jxr_comment">// append subsequent events synchronously</em> +<a name="143" href="#143">143</a> <em class="jxr_comment">// See bug 23021</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">if</strong> ((dispatcher == <strong class="jxr_keyword">null</strong>) || !dispatcher.isAlive() || (bufferSize &lt;= 0)) { +<a name="145" href="#145">145</a> <strong class="jxr_keyword">synchronized</strong> (appenders) { +<a name="146" href="#146">146</a> appenders.appendLoopOnAppenders(event); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">return</strong>; +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_comment">// Set the NDC and thread name for the calling thread as these</em> +<a name="153" href="#153">153</a> <em class="jxr_comment">// LoggingEvent fields were not set at event creation time.</em> +<a name="154" href="#154">154</a> event.getNDC(); +<a name="155" href="#155">155</a> event.getThreadName(); +<a name="156" href="#156">156</a> <em class="jxr_comment">// Get a copy of this thread's MDC.</em> +<a name="157" href="#157">157</a> event.getMDCCopy(); +<a name="158" href="#158">158</a> <strong class="jxr_keyword">if</strong> (locationInfo) { +<a name="159" href="#159">159</a> event.getLocationInformation(); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> event.getRenderedMessage(); +<a name="162" href="#162">162</a> event.getThrowableStrRep(); +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <strong class="jxr_keyword">synchronized</strong> (buffer) { +<a name="165" href="#165">165</a> <strong class="jxr_keyword">while</strong> (<strong class="jxr_keyword">true</strong>) { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">int</strong> previousSize = buffer.size(); +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">if</strong> (previousSize &lt; bufferSize) { +<a name="169" href="#169">169</a> buffer.add(event); +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em class="jxr_comment">//</em> +<a name="172" href="#172">172</a> <em class="jxr_comment">// if buffer had been empty</em> +<a name="173" href="#173">173</a> <em class="jxr_comment">// signal all threads waiting on buffer</em> +<a name="174" href="#174">174</a> <em class="jxr_comment">// to check their conditions.</em> +<a name="175" href="#175">175</a> <em class="jxr_comment">//</em> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">if</strong> (previousSize == 0) { +<a name="177" href="#177">177</a> buffer.notifyAll(); +<a name="178" href="#178">178</a> } +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">break</strong>; +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> <em class="jxr_comment">//</em> +<a name="184" href="#184">184</a> <em class="jxr_comment">// Following code is only reachable if buffer is full</em> +<a name="185" href="#185">185</a> <em class="jxr_comment">//</em> +<a name="186" href="#186">186</a> <em class="jxr_comment">//</em> +<a name="187" href="#187">187</a> <em class="jxr_comment">// if blocking and thread is not already interrupted</em> +<a name="188" href="#188">188</a> <em class="jxr_comment">// and not the dispatcher then</em> +<a name="189" href="#189">189</a> <em class="jxr_comment">// wait for a buffer notification</em> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">boolean</strong> discard = <strong class="jxr_keyword">true</strong>; +<a name="191" href="#191">191</a> <strong class="jxr_keyword">if</strong> (blocking +<a name="192" href="#192">192</a> &amp;&amp; !Thread.interrupted() +<a name="193" href="#193">193</a> &amp;&amp; Thread.currentThread() != dispatcher) { +<a name="194" href="#194">194</a> <strong class="jxr_keyword">try</strong> { +<a name="195" href="#195">195</a> buffer.wait(); +<a name="196" href="#196">196</a> discard = false; +<a name="197" href="#197">197</a> } <strong class="jxr_keyword">catch</strong> (InterruptedException e) { +<a name="198" href="#198">198</a> <em class="jxr_comment">//</em> +<a name="199" href="#199">199</a> <em class="jxr_comment">// reset interrupt status so</em> +<a name="200" href="#200">200</a> <em class="jxr_comment">// calling code can see interrupt on</em> +<a name="201" href="#201">201</a> <em class="jxr_comment">// their next wait or sleep.</em> +<a name="202" href="#202">202</a> Thread.currentThread().interrupt(); +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em class="jxr_comment">//</em> +<a name="207" href="#207">207</a> <em class="jxr_comment">// if blocking is false or thread has been interrupted</em> +<a name="208" href="#208">208</a> <em class="jxr_comment">// add event to discard map.</em> +<a name="209" href="#209">209</a> <em class="jxr_comment">//</em> +<a name="210" href="#210">210</a> <strong class="jxr_keyword">if</strong> (discard) { +<a name="211" href="#211">211</a> String loggerName = event.getLoggerName(); +<a name="212" href="#212">212</a> <a href="../../../org/apache/log4j/AsyncAppender.html">DiscardSummary</a> summary = (DiscardSummary) discardMap.get(loggerName); +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> <strong class="jxr_keyword">if</strong> (summary == <strong class="jxr_keyword">null</strong>) { +<a name="215" href="#215">215</a> summary = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/AsyncAppender.html">DiscardSummary</a>(event); +<a name="216" href="#216">216</a> discardMap.put(loggerName, summary); +<a name="217" href="#217">217</a> } <strong class="jxr_keyword">else</strong> { +<a name="218" href="#218">218</a> summary.add(event); +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <strong class="jxr_keyword">break</strong>; +<a name="222" href="#222">222</a> } +<a name="223" href="#223">223</a> } +<a name="224" href="#224">224</a> } +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment">/**</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> * Close this &lt;code&gt;AsyncAppender&lt;/code&gt; by interrupting the dispatcher</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> * thread which will process all pending events before exiting.</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> */</em> +<a name="231" href="#231">231</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment">/**</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> * Set closed flag and notify all threads to check their conditions.</em> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> * Should result in dispatcher terminating.</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> */</em> +<a name="236" href="#236">236</a> <strong class="jxr_keyword">synchronized</strong> (buffer) { +<a name="237" href="#237">237</a> closed = <strong class="jxr_keyword">true</strong>; +<a name="238" href="#238">238</a> buffer.notifyAll(); +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> <strong class="jxr_keyword">try</strong> { +<a name="242" href="#242">242</a> dispatcher.join(); +<a name="243" href="#243">243</a> } <strong class="jxr_keyword">catch</strong> (InterruptedException e) { +<a name="244" href="#244">244</a> Thread.currentThread().interrupt(); +<a name="245" href="#245">245</a> org.apache.log4j.helpers.LogLog.error( +<a name="246" href="#246">246</a> <span class="jxr_string">"Got an InterruptedException while waiting for the "</span> +<a name="247" href="#247">247</a> + <span class="jxr_string">"dispatcher to finish."</span>, e); +<a name="248" href="#248">248</a> } +<a name="249" href="#249">249</a> +<a name="250" href="#250">250</a> <em class="jxr_comment">//</em> +<a name="251" href="#251">251</a> <em class="jxr_comment">// close all attached appenders.</em> +<a name="252" href="#252">252</a> <em class="jxr_comment">//</em> +<a name="253" href="#253">253</a> <strong class="jxr_keyword">synchronized</strong> (appenders) { +<a name="254" href="#254">254</a> Enumeration iter = appenders.getAllAppenders(); +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">if</strong> (iter != <strong class="jxr_keyword">null</strong>) { +<a name="257" href="#257">257</a> <strong class="jxr_keyword">while</strong> (iter.hasMoreElements()) { +<a name="258" href="#258">258</a> Object next = iter.nextElement(); +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <strong class="jxr_keyword">if</strong> (next instanceof Appender) { +<a name="261" href="#261">261</a> ((<a href="../../../org/apache/log4j/Appender.html">Appender</a>) next).close(); +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> } +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> } +<a name="267" href="#267">267</a> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment">/**</em> +<a name="269" href="#269">269</a> <em class="jxr_javadoccomment"> * Get iterator over attached appenders.</em> +<a name="270" href="#270">270</a> <em class="jxr_javadoccomment"> * @return iterator or null if no attached appenders.</em> +<a name="271" href="#271">271</a> <em class="jxr_javadoccomment"> */</em> +<a name="272" href="#272">272</a> <strong class="jxr_keyword">public</strong> Enumeration getAllAppenders() { +<a name="273" href="#273">273</a> <strong class="jxr_keyword">synchronized</strong> (appenders) { +<a name="274" href="#274">274</a> <strong class="jxr_keyword">return</strong> appenders.getAllAppenders(); +<a name="275" href="#275">275</a> } +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment">/**</em> +<a name="279" href="#279">279</a> <em class="jxr_javadoccomment"> * Get appender by name.</em> +<a name="280" href="#280">280</a> <em class="jxr_javadoccomment"> *</em> +<a name="281" href="#281">281</a> <em class="jxr_javadoccomment"> * @param name name, may not be null.</em> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment"> * @return matching appender or null.</em> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment"> */</em> +<a name="284" href="#284">284</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Appender.html">Appender</a> getAppender(<strong class="jxr_keyword">final</strong> String name) { +<a name="285" href="#285">285</a> <strong class="jxr_keyword">synchronized</strong> (appenders) { +<a name="286" href="#286">286</a> <strong class="jxr_keyword">return</strong> appenders.getAppender(name); +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> } +<a name="289" href="#289">289</a> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment">/**</em> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment"> * Gets whether the location of the logging request call</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> * should be captured.</em> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment"> *</em> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> * @return the current value of the &lt;b&gt;LocationInfo&lt;/b&gt; option.</em> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment"> */</em> +<a name="296" href="#296">296</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getLocationInfo() { +<a name="297" href="#297">297</a> <strong class="jxr_keyword">return</strong> locationInfo; +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment">/**</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> * Determines if specified appender is attached.</em> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> * @param appender appender.</em> +<a name="303" href="#303">303</a> <em class="jxr_javadoccomment"> * @return true if attached.</em> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> */</em> +<a name="305" href="#305">305</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isAttached(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="306" href="#306">306</a> <strong class="jxr_keyword">synchronized</strong> (appenders) { +<a name="307" href="#307">307</a> <strong class="jxr_keyword">return</strong> appenders.isAttached(appender); +<a name="308" href="#308">308</a> } +<a name="309" href="#309">309</a> } +<a name="310" href="#310">310</a> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment">/**</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment"> */</em> +<a name="314" href="#314">314</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="315" href="#315">315</a> <strong class="jxr_keyword">return</strong> false; +<a name="316" href="#316">316</a> } +<a name="317" href="#317">317</a> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment">/**</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> * Removes and closes all attached appenders.</em> +<a name="320" href="#320">320</a> <em class="jxr_javadoccomment"> */</em> +<a name="321" href="#321">321</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeAllAppenders() { +<a name="322" href="#322">322</a> <strong class="jxr_keyword">synchronized</strong> (appenders) { +<a name="323" href="#323">323</a> appenders.removeAllAppenders(); +<a name="324" href="#324">324</a> } +<a name="325" href="#325">325</a> } +<a name="326" href="#326">326</a> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">/**</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> * Removes an appender.</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> * @param appender appender to remove.</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> */</em> +<a name="331" href="#331">331</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeAppender(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="332" href="#332">332</a> <strong class="jxr_keyword">synchronized</strong> (appenders) { +<a name="333" href="#333">333</a> appenders.removeAppender(appender); +<a name="334" href="#334">334</a> } +<a name="335" href="#335">335</a> } +<a name="336" href="#336">336</a> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment">/**</em> +<a name="338" href="#338">338</a> <em class="jxr_javadoccomment"> * Remove appender by name.</em> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment"> * @param name name.</em> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment"> */</em> +<a name="341" href="#341">341</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeAppender(<strong class="jxr_keyword">final</strong> String name) { +<a name="342" href="#342">342</a> <strong class="jxr_keyword">synchronized</strong> (appenders) { +<a name="343" href="#343">343</a> appenders.removeAppender(name); +<a name="344" href="#344">344</a> } +<a name="345" href="#345">345</a> } +<a name="346" href="#346">346</a> +<a name="347" href="#347">347</a> <em class="jxr_javadoccomment">/**</em> +<a name="348" href="#348">348</a> <em class="jxr_javadoccomment"> * The &lt;b&gt;LocationInfo&lt;/b&gt; option takes a boolean value. By default, it is</em> +<a name="349" href="#349">349</a> <em class="jxr_javadoccomment"> * set to false which means there will be no effort to extract the location</em> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment"> * information related to the event. As a result, the event that will be</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> * ultimately logged will likely to contain the wrong location information</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> * (if present in the log format).</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> * &lt;p/&gt;</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> * &lt;p/&gt;</em> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment"> * Location information extraction is comparatively very slow and should be</em> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> * avoided unless performance is not a concern.</em> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment"> * @param flag true if location information should be extracted.</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> */</em> +<a name="360" href="#360">360</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLocationInfo(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> flag) { +<a name="361" href="#361">361</a> locationInfo = flag; +<a name="362" href="#362">362</a> } +<a name="363" href="#363">363</a> +<a name="364" href="#364">364</a> <em class="jxr_javadoccomment">/**</em> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment"> * Sets the number of messages allowed in the event buffer</em> +<a name="366" href="#366">366</a> <em class="jxr_javadoccomment"> * before the calling thread is blocked (if blocking is true)</em> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment"> * or until messages are summarized and discarded. Changing</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> * the size will not affect messages already in the buffer.</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> *</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> * @param size buffer size, must be positive.</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> */</em> +<a name="372" href="#372">372</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setBufferSize(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> size) { +<a name="373" href="#373">373</a> <em class="jxr_comment">//</em> +<a name="374" href="#374">374</a> <em class="jxr_comment">// log4j 1.2 would throw exception if size was negative</em> +<a name="375" href="#375">375</a> <em class="jxr_comment">// and deadlock if size was zero.</em> +<a name="376" href="#376">376</a> <em class="jxr_comment">//</em> +<a name="377" href="#377">377</a> <strong class="jxr_keyword">if</strong> (size &lt; 0) { +<a name="378" href="#378">378</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> java.lang.NegativeArraySizeException(<span class="jxr_string">"size"</span>); +<a name="379" href="#379">379</a> } +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <strong class="jxr_keyword">synchronized</strong> (buffer) { +<a name="382" href="#382">382</a> <em class="jxr_comment">//</em> +<a name="383" href="#383">383</a> <em class="jxr_comment">// don't let size be zero.</em> +<a name="384" href="#384">384</a> <em class="jxr_comment">//</em> +<a name="385" href="#385">385</a> bufferSize = (size &lt; 1) ? 1 : size; +<a name="386" href="#386">386</a> buffer.notifyAll(); +<a name="387" href="#387">387</a> } +<a name="388" href="#388">388</a> } +<a name="389" href="#389">389</a> +<a name="390" href="#390">390</a> <em class="jxr_javadoccomment">/**</em> +<a name="391" href="#391">391</a> <em class="jxr_javadoccomment"> * Gets the current buffer size.</em> +<a name="392" href="#392">392</a> <em class="jxr_javadoccomment"> * @return the current value of the &lt;b&gt;BufferSize&lt;/b&gt; option.</em> +<a name="393" href="#393">393</a> <em class="jxr_javadoccomment"> */</em> +<a name="394" href="#394">394</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getBufferSize() { +<a name="395" href="#395">395</a> <strong class="jxr_keyword">return</strong> bufferSize; +<a name="396" href="#396">396</a> } +<a name="397" href="#397">397</a> +<a name="398" href="#398">398</a> <em class="jxr_javadoccomment">/**</em> +<a name="399" href="#399">399</a> <em class="jxr_javadoccomment"> * Sets whether appender should wait if there is no</em> +<a name="400" href="#400">400</a> <em class="jxr_javadoccomment"> * space available in the event buffer or immediately return.</em> +<a name="401" href="#401">401</a> <em class="jxr_javadoccomment"> *</em> +<a name="402" href="#402">402</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="403" href="#403">403</a> <em class="jxr_javadoccomment"> * @param value true if appender should wait until available space in buffer.</em> +<a name="404" href="#404">404</a> <em class="jxr_javadoccomment"> */</em> +<a name="405" href="#405">405</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setBlocking(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> value) { +<a name="406" href="#406">406</a> <strong class="jxr_keyword">synchronized</strong> (buffer) { +<a name="407" href="#407">407</a> blocking = value; +<a name="408" href="#408">408</a> buffer.notifyAll(); +<a name="409" href="#409">409</a> } +<a name="410" href="#410">410</a> } +<a name="411" href="#411">411</a> +<a name="412" href="#412">412</a> <em class="jxr_javadoccomment">/**</em> +<a name="413" href="#413">413</a> <em class="jxr_javadoccomment"> * Gets whether appender should block calling thread when buffer is full.</em> +<a name="414" href="#414">414</a> <em class="jxr_javadoccomment"> * If false, messages will be counted by logger and a summary</em> +<a name="415" href="#415">415</a> <em class="jxr_javadoccomment"> * message appended after the contents of the buffer have been appended.</em> +<a name="416" href="#416">416</a> <em class="jxr_javadoccomment"> *</em> +<a name="417" href="#417">417</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="418" href="#418">418</a> <em class="jxr_javadoccomment"> * @return true if calling thread will be blocked when buffer is full.</em> +<a name="419" href="#419">419</a> <em class="jxr_javadoccomment"> */</em> +<a name="420" href="#420">420</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getBlocking() { +<a name="421" href="#421">421</a> <strong class="jxr_keyword">return</strong> blocking; +<a name="422" href="#422">422</a> } +<a name="423" href="#423">423</a> +<a name="424" href="#424">424</a> <em class="jxr_javadoccomment">/**</em> +<a name="425" href="#425">425</a> <em class="jxr_javadoccomment"> * Summary of discarded logging events for a logger.</em> +<a name="426" href="#426">426</a> <em class="jxr_javadoccomment"> */</em> +<a name="427" href="#427">427</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/AsyncAppender.html">DiscardSummary</a> { +<a name="428" href="#428">428</a> <em class="jxr_javadoccomment">/**</em> +<a name="429" href="#429">429</a> <em class="jxr_javadoccomment"> * First event of the highest severity.</em> +<a name="430" href="#430">430</a> <em class="jxr_javadoccomment"> */</em> +<a name="431" href="#431">431</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> maxEvent; +<a name="432" href="#432">432</a> +<a name="433" href="#433">433</a> <em class="jxr_javadoccomment">/**</em> +<a name="434" href="#434">434</a> <em class="jxr_javadoccomment"> * Total count of messages discarded.</em> +<a name="435" href="#435">435</a> <em class="jxr_javadoccomment"> */</em> +<a name="436" href="#436">436</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> count; +<a name="437" href="#437">437</a> +<a name="438" href="#438">438</a> <em class="jxr_javadoccomment">/**</em> +<a name="439" href="#439">439</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="440" href="#440">440</a> <em class="jxr_javadoccomment"> *</em> +<a name="441" href="#441">441</a> <em class="jxr_javadoccomment"> * @param event event, may not be null.</em> +<a name="442" href="#442">442</a> <em class="jxr_javadoccomment"> */</em> +<a name="443" href="#443">443</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/AsyncAppender.html">DiscardSummary</a>(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="444" href="#444">444</a> maxEvent = event; +<a name="445" href="#445">445</a> count = 1; +<a name="446" href="#446">446</a> } +<a name="447" href="#447">447</a> +<a name="448" href="#448">448</a> <em class="jxr_javadoccomment">/**</em> +<a name="449" href="#449">449</a> <em class="jxr_javadoccomment"> * Add discarded event to summary.</em> +<a name="450" href="#450">450</a> <em class="jxr_javadoccomment"> *</em> +<a name="451" href="#451">451</a> <em class="jxr_javadoccomment"> * @param event event, may not be null.</em> +<a name="452" href="#452">452</a> <em class="jxr_javadoccomment"> */</em> +<a name="453" href="#453">453</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> add(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="454" href="#454">454</a> <strong class="jxr_keyword">if</strong> (event.getLevel().toInt() &gt; maxEvent.getLevel().toInt()) { +<a name="455" href="#455">455</a> maxEvent = event; +<a name="456" href="#456">456</a> } +<a name="457" href="#457">457</a> +<a name="458" href="#458">458</a> count++; +<a name="459" href="#459">459</a> } +<a name="460" href="#460">460</a> +<a name="461" href="#461">461</a> <em class="jxr_javadoccomment">/**</em> +<a name="462" href="#462">462</a> <em class="jxr_javadoccomment"> * Create event with summary information.</em> +<a name="463" href="#463">463</a> <em class="jxr_javadoccomment"> *</em> +<a name="464" href="#464">464</a> <em class="jxr_javadoccomment"> * @return new event.</em> +<a name="465" href="#465">465</a> <em class="jxr_javadoccomment"> */</em> +<a name="466" href="#466">466</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> createEvent() { +<a name="467" href="#467">467</a> String msg = +<a name="468" href="#468">468</a> MessageFormat.format( +<a name="469" href="#469">469</a> <span class="jxr_string">"Discarded {0} messages due to full event buffer including: {1}"</span>, +<a name="470" href="#470">470</a> <strong class="jxr_keyword">new</strong> Object[] { <strong class="jxr_keyword">new</strong> Integer(count), maxEvent.getMessage() }); +<a name="471" href="#471">471</a> +<a name="472" href="#472">472</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>( +<a name="473" href="#473">473</a> <span class="jxr_string">"org.apache.log4j.AsyncAppender.DONT_REPORT_LOCATION"</span>, +<a name="474" href="#474">474</a> Logger.getLogger(maxEvent.getLoggerName()), +<a name="475" href="#475">475</a> maxEvent.getLevel(), +<a name="476" href="#476">476</a> msg, +<a name="477" href="#477">477</a> <strong class="jxr_keyword">null</strong>); +<a name="478" href="#478">478</a> } +<a name="479" href="#479">479</a> } +<a name="480" href="#480">480</a> +<a name="481" href="#481">481</a> <em class="jxr_javadoccomment">/**</em> +<a name="482" href="#482">482</a> <em class="jxr_javadoccomment"> * Event dispatcher.</em> +<a name="483" href="#483">483</a> <em class="jxr_javadoccomment"> */</em> +<a name="484" href="#484">484</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/Dispatcher.html">Dispatcher</a> implements Runnable { +<a name="485" href="#485">485</a> <em class="jxr_javadoccomment">/**</em> +<a name="486" href="#486">486</a> <em class="jxr_javadoccomment"> * Parent AsyncAppender.</em> +<a name="487" href="#487">487</a> <em class="jxr_javadoccomment"> */</em> +<a name="488" href="#488">488</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/AsyncAppender.html">AsyncAppender</a> parent; +<a name="489" href="#489">489</a> +<a name="490" href="#490">490</a> <em class="jxr_javadoccomment">/**</em> +<a name="491" href="#491">491</a> <em class="jxr_javadoccomment"> * Event buffer.</em> +<a name="492" href="#492">492</a> <em class="jxr_javadoccomment"> */</em> +<a name="493" href="#493">493</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List buffer; +<a name="494" href="#494">494</a> +<a name="495" href="#495">495</a> <em class="jxr_javadoccomment">/**</em> +<a name="496" href="#496">496</a> <em class="jxr_javadoccomment"> * Map of DiscardSummary keyed by logger name.</em> +<a name="497" href="#497">497</a> <em class="jxr_javadoccomment"> */</em> +<a name="498" href="#498">498</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map discardMap; +<a name="499" href="#499">499</a> +<a name="500" href="#500">500</a> <em class="jxr_javadoccomment">/**</em> +<a name="501" href="#501">501</a> <em class="jxr_javadoccomment"> * Wrapped appenders.</em> +<a name="502" href="#502">502</a> <em class="jxr_javadoccomment"> */</em> +<a name="503" href="#503">503</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/helpers/AppenderAttachableImpl.html">AppenderAttachableImpl</a> appenders; +<a name="504" href="#504">504</a> +<a name="505" href="#505">505</a> <em class="jxr_javadoccomment">/**</em> +<a name="506" href="#506">506</a> <em class="jxr_javadoccomment"> * Create new instance of dispatcher.</em> +<a name="507" href="#507">507</a> <em class="jxr_javadoccomment"> *</em> +<a name="508" href="#508">508</a> <em class="jxr_javadoccomment"> * @param parent parent AsyncAppender, may not be null.</em> +<a name="509" href="#509">509</a> <em class="jxr_javadoccomment"> * @param buffer event buffer, may not be null.</em> +<a name="510" href="#510">510</a> <em class="jxr_javadoccomment"> * @param discardMap discard map, may not be null.</em> +<a name="511" href="#511">511</a> <em class="jxr_javadoccomment"> * @param appenders appenders, may not be null.</em> +<a name="512" href="#512">512</a> <em class="jxr_javadoccomment"> */</em> +<a name="513" href="#513">513</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Dispatcher.html">Dispatcher</a>( +<a name="514" href="#514">514</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/AsyncAppender.html">AsyncAppender</a> parent, <strong class="jxr_keyword">final</strong> List buffer, <strong class="jxr_keyword">final</strong> Map discardMap, +<a name="515" href="#515">515</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/helpers/AppenderAttachableImpl.html">AppenderAttachableImpl</a> appenders) { +<a name="516" href="#516">516</a> +<a name="517" href="#517">517</a> <strong class="jxr_keyword">this</strong>.parent = parent; +<a name="518" href="#518">518</a> <strong class="jxr_keyword">this</strong>.buffer = buffer; +<a name="519" href="#519">519</a> <strong class="jxr_keyword">this</strong>.appenders = appenders; +<a name="520" href="#520">520</a> <strong class="jxr_keyword">this</strong>.discardMap = discardMap; +<a name="521" href="#521">521</a> } +<a name="522" href="#522">522</a> +<a name="523" href="#523">523</a> <em class="jxr_javadoccomment">/**</em> +<a name="524" href="#524">524</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="525" href="#525">525</a> <em class="jxr_javadoccomment"> */</em> +<a name="526" href="#526">526</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="527" href="#527">527</a> <strong class="jxr_keyword">boolean</strong> isActive = <strong class="jxr_keyword">true</strong>; +<a name="528" href="#528">528</a> +<a name="529" href="#529">529</a> <em class="jxr_comment">//</em> +<a name="530" href="#530">530</a> <em class="jxr_comment">// if interrupted (unlikely), end thread</em> +<a name="531" href="#531">531</a> <em class="jxr_comment">//</em> +<a name="532" href="#532">532</a> <strong class="jxr_keyword">try</strong> { +<a name="533" href="#533">533</a> <em class="jxr_comment">//</em> +<a name="534" href="#534">534</a> <em class="jxr_comment">// loop until the AsyncAppender is closed.</em> +<a name="535" href="#535">535</a> <em class="jxr_comment">//</em> +<a name="536" href="#536">536</a> <strong class="jxr_keyword">while</strong> (isActive) { +<a name="537" href="#537">537</a> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>[] events = <strong class="jxr_keyword">null</strong>; +<a name="538" href="#538">538</a> +<a name="539" href="#539">539</a> <em class="jxr_comment">//</em> +<a name="540" href="#540">540</a> <em class="jxr_comment">// extract pending events while synchronized</em> +<a name="541" href="#541">541</a> <em class="jxr_comment">// on buffer</em> +<a name="542" href="#542">542</a> <em class="jxr_comment">//</em> +<a name="543" href="#543">543</a> <strong class="jxr_keyword">synchronized</strong> (buffer) { +<a name="544" href="#544">544</a> <strong class="jxr_keyword">int</strong> bufferSize = buffer.size(); +<a name="545" href="#545">545</a> isActive = !parent.closed; +<a name="546" href="#546">546</a> +<a name="547" href="#547">547</a> <strong class="jxr_keyword">while</strong> ((bufferSize == 0) &amp;&amp; isActive) { +<a name="548" href="#548">548</a> buffer.wait(); +<a name="549" href="#549">549</a> bufferSize = buffer.size(); +<a name="550" href="#550">550</a> isActive = !parent.closed; +<a name="551" href="#551">551</a> } +<a name="552" href="#552">552</a> +<a name="553" href="#553">553</a> <strong class="jxr_keyword">if</strong> (bufferSize &gt; 0) { +<a name="554" href="#554">554</a> events = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>[bufferSize + discardMap.size()]; +<a name="555" href="#555">555</a> buffer.toArray(events); +<a name="556" href="#556">556</a> +<a name="557" href="#557">557</a> <em class="jxr_comment">//</em> +<a name="558" href="#558">558</a> <em class="jxr_comment">// add events due to buffer overflow</em> +<a name="559" href="#559">559</a> <em class="jxr_comment">//</em> +<a name="560" href="#560">560</a> <strong class="jxr_keyword">int</strong> index = bufferSize; +<a name="561" href="#561">561</a> +<a name="562" href="#562">562</a> <strong class="jxr_keyword">for</strong> ( +<a name="563" href="#563">563</a> Iterator iter = discardMap.values().iterator(); +<a name="564" href="#564">564</a> iter.hasNext();) { +<a name="565" href="#565">565</a> events[index++] = ((DiscardSummary) iter.next()).createEvent(); +<a name="566" href="#566">566</a> } +<a name="567" href="#567">567</a> +<a name="568" href="#568">568</a> <em class="jxr_comment">//</em> +<a name="569" href="#569">569</a> <em class="jxr_comment">// clear buffer and discard map</em> +<a name="570" href="#570">570</a> <em class="jxr_comment">//</em> +<a name="571" href="#571">571</a> buffer.clear(); +<a name="572" href="#572">572</a> discardMap.clear(); +<a name="573" href="#573">573</a> +<a name="574" href="#574">574</a> <em class="jxr_comment">//</em> +<a name="575" href="#575">575</a> <em class="jxr_comment">// allow blocked appends to continue</em> +<a name="576" href="#576">576</a> buffer.notifyAll(); +<a name="577" href="#577">577</a> } +<a name="578" href="#578">578</a> } +<a name="579" href="#579">579</a> +<a name="580" href="#580">580</a> <em class="jxr_comment">//</em> +<a name="581" href="#581">581</a> <em class="jxr_comment">// process events after lock on buffer is released.</em> +<a name="582" href="#582">582</a> <em class="jxr_comment">//</em> +<a name="583" href="#583">583</a> <strong class="jxr_keyword">if</strong> (events != <strong class="jxr_keyword">null</strong>) { +<a name="584" href="#584">584</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; events.length; i++) { +<a name="585" href="#585">585</a> <strong class="jxr_keyword">synchronized</strong> (appenders) { +<a name="586" href="#586">586</a> appenders.appendLoopOnAppenders(events[i]); +<a name="587" href="#587">587</a> } +<a name="588" href="#588">588</a> } +<a name="589" href="#589">589</a> } +<a name="590" href="#590">590</a> } +<a name="591" href="#591">591</a> } <strong class="jxr_keyword">catch</strong> (InterruptedException ex) { +<a name="592" href="#592">592</a> Thread.currentThread().interrupt(); +<a name="593" href="#593">593</a> } +<a name="594" href="#594">594</a> } +<a name="595" href="#595">595</a> } +<a name="596" href="#596">596</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/BasicConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/BasicConfigurator.html new file mode 100644 index 00000000000..92bf2295227 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/BasicConfigurator.html @@ -0,0 +1,87 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>BasicConfigurator xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/BasicConfigurator.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contibutors: "Luke Blanshard" &lt;Luke@quiq.com&gt;</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// "Mark DONSZELMANN" &lt;Mark.Donszelmann@cern.ch&gt;</em> +<a name="20" href="#20">20</a> <em class="jxr_comment">// "Muly Oved" &lt;mulyoved@hotmail.com&gt;</em> +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> Use this class to quickly configure the package.</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> &lt;p&gt;For file based configuration see {@link</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> PropertyConfigurator}. For XML based configuration see {@link</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> org.apache.log4j.xml.DOMConfigurator DOMConfigurator}.</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> @since 0.8.1</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml; */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/BasicConfigurator.html">BasicConfigurator</a> { +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/BasicConfigurator.html">BasicConfigurator</a>() { +<a name="37" href="#37">37</a> } +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> Add a {@link ConsoleAppender} that uses {@link PatternLayout}</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> using the {@link PatternLayout#TTCC_CONVERSION_PATTERN} and</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> prints to &lt;code&gt;System.out&lt;/code&gt; to the root category. */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">void</strong> configure() { +<a name="46" href="#46">46</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> root = Logger.getRootLogger(); +<a name="47" href="#47">47</a> root.addAppender(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">ConsoleAppender</a>( +<a name="48" href="#48">48</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PatternLayout.html">PatternLayout</a>(PatternLayout.TTCC_CONVERSION_PATTERN))); +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> Add &lt;code&gt;appender&lt;/code&gt; to the root category.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> @param appender The appender to add to the root category.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">static</strong> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">void</strong> configure(<a href="../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="58" href="#58">58</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> root = Logger.getRootLogger(); +<a name="59" href="#59">59</a> root.addAppender(appender); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> Reset the default hierarchy to its defaut. It is equivalent to</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> calling</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> &lt;code&gt;Category.getDefaultHierarchy().resetConfiguration()&lt;/code&gt;.</em> +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> See {@link Hierarchy#resetConfiguration()} for more details. */</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">static</strong> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">void</strong> resetConfiguration() { +<a name="71" href="#71">71</a> LogManager.resetConfiguration(); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Category.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Category.html new file mode 100644 index 00000000000..5f944fba188 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Category.html @@ -0,0 +1,1076 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Category xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/Category.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contibutors: Alex Blewitt &lt;Alex.Blewitt@ioshq.com&gt;</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// Markus Oestreicher &lt;oes@zurich.ibm.com&gt;</em> +<a name="20" href="#20">20</a> <em class="jxr_comment">// Frank Hoering &lt;fhr@zurich.ibm.com&gt;</em> +<a name="21" href="#21">21</a> <em class="jxr_comment">// Nelson Minar &lt;nelson@media.mit.edu&gt;</em> +<a name="22" href="#22">22</a> <em class="jxr_comment">// Jim Cakalic &lt;jim_cakalic@na.biomerieux.com&gt;</em> +<a name="23" href="#23">23</a> <em class="jxr_comment">// Avy Sharell &lt;asharell@club-internet.fr&gt;</em> +<a name="24" href="#24">24</a> <em class="jxr_comment">// Ciaran Treanor &lt;ciaran@xelector.com&gt;</em> +<a name="25" href="#25">25</a> <em class="jxr_comment">// Jeff Turner &lt;jeff@socialchange.net.au&gt;</em> +<a name="26" href="#26">26</a> <em class="jxr_comment">// Michael Horwitz &lt;MHorwitz@siemens.co.za&gt;</em> +<a name="27" href="#27">27</a> <em class="jxr_comment">// Calvin Chan &lt;calvin.chan@hic.gov.au&gt;</em> +<a name="28" href="#28">28</a> <em class="jxr_comment">// Aaron Greenhouse &lt;aarong@cs.cmu.edu&gt;</em> +<a name="29" href="#29">29</a> <em class="jxr_comment">// Beat Meier &lt;bmeier@infovia.com.ar&gt;</em> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Colin Sampaleanu &lt;colinml1@exis.com&gt;</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.AppenderAttachable; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.HierarchyEventListener; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.NullEnumeration; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.AppenderAttachableImpl; +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> java.util.MissingResourceException; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> java.util.ResourceBundle; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * &lt;font color="#AA2222"&gt;&lt;b&gt;This class has been deprecated and</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * replaced by the {@link Logger} &lt;em&gt;subclass&lt;/em&gt;&lt;/b&gt;&lt;/font&gt;. It</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * will be kept around to preserve backward compatibility until mid</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * 2003.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * </em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * &lt;p&gt;&lt;code&gt;Logger&lt;/code&gt; is a subclass of Category, i.e. it extends</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * Category. In other words, a logger &lt;em&gt;is&lt;/em&gt; a category. Thus,</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * all operations that can be performed on a category can be</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * performed on a logger. Internally, whenever log4j is asked to</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * produce a Category object, it will instead produce a Logger</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * object. Log4j 1.2 will &lt;em&gt;never&lt;/em&gt; produce Category objects but</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * only &lt;code&gt;Logger&lt;/code&gt; instances. In order to preserve backward</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * compatibility, methods that previously accepted category objects</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * still continue to accept category objects.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * </em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * &lt;p&gt;For example, the following are all legal and will work as</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * expected.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * </em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> &amp;nbsp;&amp;nbsp;&amp;nbsp;// Deprecated form:</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> &amp;nbsp;&amp;nbsp;&amp;nbsp;Category cat = Category.getInstance("foo.bar")</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> </em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> &amp;nbsp;&amp;nbsp;&amp;nbsp;// Preferred form for retrieving loggers:</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> &amp;nbsp;&amp;nbsp;&amp;nbsp;Logger logger = Logger.getLogger("foo.bar")</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> </em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * &lt;p&gt;The first form is deprecated and should be avoided.</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * </em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * &lt;p&gt;&lt;b&gt;There is absolutely no need for new client code to use or</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * refer to the &lt;code&gt;Category&lt;/code&gt; class.&lt;/b&gt; Whenever possible,</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * please avoid referring to it or using it.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * </em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * &lt;p&gt;See the &lt;a href="../../../../manual.html"&gt;short manual&lt;/a&gt; for an</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * introduction on this class.</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * See the document entitled &lt;a href="<a href="http://www.qos.ch/logging/preparingFor13.html" target="alexandria_uri">http://www.qos.ch/logging/preparingFor13.html</a>"&gt;preparing</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * for log4j 1.3&lt;/a&gt; for a more detailed discussion.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> *</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * @author Anders Kristensen </em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> */</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/Category.html">Category</a> implements <a href="../../../org/apache/log4j/spi/AppenderAttachable.html">AppenderAttachable</a> { +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> The hierarchy where categories are attached to by default.</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> */</em> +<a name="94" href="#94">94</a> <em class="jxr_comment">//static</em> +<a name="95" href="#95">95</a> <em class="jxr_comment">//public</em> +<a name="96" href="#96">96</a> <em class="jxr_comment">//final Hierarchy defaultHierarchy = new Hierarchy(new</em> +<a name="97" href="#97">97</a> <em class="jxr_comment">// RootCategory(Level.DEBUG));</em> +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> The name of this category.</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">protected</strong> String name; +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">/**</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> The assigned level of this category. The</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> &lt;code&gt;level&lt;/code&gt; variable need not be assigned a value in</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> which case it is inherited form the hierarchy. */</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level; +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">/**</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> The parent of this category. All categories have at least one</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> ancestor which is the root category. */</em> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/Category.html">Category</a> parent; +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> The fully qualified name of the Category class. See also the</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> getFQCN method. */</em> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FQCN = Category.<strong class="jxr_keyword">class</strong>.getName(); +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">protected</strong> ResourceBundle resourceBundle; +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_comment">// Categories need to know what Hierarchy they are in</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository; +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <a href="../../../org/apache/log4j/helpers/AppenderAttachableImpl.html">AppenderAttachableImpl</a> aai; +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Additivity is set to true by default, that is children inherit</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> the appenders of their ancestors by default. If this variable is</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> set to &lt;code&gt;false&lt;/code&gt; then the appenders found in the</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> ancestors of this category are not used. However, the children</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> of this category will inherit its appenders, unless the children</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> have their additivity flag set to &lt;code&gt;false&lt;/code&gt; too. See</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> the user manual for more details. */</em> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> additive = <strong class="jxr_keyword">true</strong>; +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">/**</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> This constructor created a new &lt;code&gt;Category&lt;/code&gt; instance and</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> sets its name.</em> +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> &lt;p&gt;It is intended to be used by sub-classes only. You should not</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> create categories directly.</em> +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> @param name The name of the category.</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> */</em> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">protected</strong> +<a name="147" href="#147">147</a> <a href="../../../org/apache/log4j/Category.html">Category</a>(String name) { +<a name="148" href="#148">148</a> <strong class="jxr_keyword">this</strong>.name = name; +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">/**</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> Add &lt;code&gt;newAppender&lt;/code&gt; to the list of appenders of this</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> Category instance.</em> +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> &lt;p&gt;If &lt;code&gt;newAppender&lt;/code&gt; is already in the list of</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> appenders, then it won't be added again.</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> */</em> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">synchronized</strong> +<a name="159" href="#159">159</a> <strong class="jxr_keyword">public</strong> +<a name="160" href="#160">160</a> <strong class="jxr_keyword">void</strong> addAppender(<a href="../../../org/apache/log4j/Appender.html">Appender</a> newAppender) { +<a name="161" href="#161">161</a> <strong class="jxr_keyword">if</strong>(aai == <strong class="jxr_keyword">null</strong>) { +<a name="162" href="#162">162</a> aai = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/helpers/AppenderAttachableImpl.html">AppenderAttachableImpl</a>(); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> aai.addAppender(newAppender); +<a name="165" href="#165">165</a> repository.fireAddAppenderEvent(<strong class="jxr_keyword">this</strong>, newAppender); +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">/**</em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> If &lt;code&gt;assertion&lt;/code&gt; parameter is &lt;code&gt;false&lt;/code&gt;, then</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> logs &lt;code&gt;msg&lt;/code&gt; as an {@link #error(Object) error} statement.</em> +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;assert&lt;/code&gt; method has been renamed to</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> &lt;code&gt;assertLog&lt;/code&gt; because &lt;code&gt;assert&lt;/code&gt; is a language</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> reserved word in JDK 1.4.</em> +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> @param assertion</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> @param msg The message to print if &lt;code&gt;assertion&lt;/code&gt; is</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> false.</em> +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">public</strong> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">void</strong> assertLog(<strong class="jxr_keyword">boolean</strong> assertion, String msg) { +<a name="183" href="#183">183</a> <strong class="jxr_keyword">if</strong>(!assertion) +<a name="184" href="#184">184</a> <strong class="jxr_keyword">this</strong>.error(msg); +<a name="185" href="#185">185</a> } +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">/**</em> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment"> Call the appenders in the hierrachy starting at</em> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> &lt;code&gt;this&lt;/code&gt;. If no appenders could be found, emit a</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> warning.</em> +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method calls all the appenders inherited from the</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> hierarchy circumventing any evaluation of whether to log or not</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> to log the particular log request.</em> +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> @param event the event to log. */</em> +<a name="198" href="#198">198</a> <strong class="jxr_keyword">public</strong> +<a name="199" href="#199">199</a> <strong class="jxr_keyword">void</strong> callAppenders(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="200" href="#200">200</a> <strong class="jxr_keyword">int</strong> writes = 0; +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <strong class="jxr_keyword">for</strong>(<a href="../../../org/apache/log4j/Category.html">Category</a> c = <strong class="jxr_keyword">this</strong>; c != <strong class="jxr_keyword">null</strong>; c=c.parent) { +<a name="203" href="#203">203</a> <em class="jxr_comment">// Protected against simultaneous call to addAppender, removeAppender,...</em> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">synchronized</strong>(c) { +<a name="205" href="#205">205</a> <strong class="jxr_keyword">if</strong>(c.aai != <strong class="jxr_keyword">null</strong>) { +<a name="206" href="#206">206</a> writes += c.aai.appendLoopOnAppenders(event); +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> <strong class="jxr_keyword">if</strong>(!c.additive) { +<a name="209" href="#209">209</a> <strong class="jxr_keyword">break</strong>; +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> } +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> <strong class="jxr_keyword">if</strong>(writes == 0) { +<a name="215" href="#215">215</a> repository.emitNoAppenderWarning(<strong class="jxr_keyword">this</strong>); +<a name="216" href="#216">216</a> } +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment">/**</em> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> Close all attached appenders implementing the AppenderAttachable</em> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> interface.</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> @since 1.0</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> */</em> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">synchronized</strong> +<a name="225" href="#225">225</a> <strong class="jxr_keyword">void</strong> closeNestedAppenders() { +<a name="226" href="#226">226</a> Enumeration enumeration = <strong class="jxr_keyword">this</strong>.getAllAppenders(); +<a name="227" href="#227">227</a> <strong class="jxr_keyword">if</strong>(enumeration != <strong class="jxr_keyword">null</strong>) { +<a name="228" href="#228">228</a> <strong class="jxr_keyword">while</strong>(enumeration.hasMoreElements()) { +<a name="229" href="#229">229</a> Appender a = (Appender) enumeration.nextElement(); +<a name="230" href="#230">230</a> <strong class="jxr_keyword">if</strong>(a instanceof <a href="../../../org/apache/log4j/spi/AppenderAttachable.html">AppenderAttachable</a>) { +<a name="231" href="#231">231</a> a.close(); +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> } +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment">/**</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> Log a message object with the {@link Level#DEBUG DEBUG} level.</em> +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method first checks if this category is &lt;code&gt;DEBUG&lt;/code&gt;</em> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment"> enabled by comparing the level of this category with the {@link</em> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment"> Level#DEBUG DEBUG} level. If this category is</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> &lt;code&gt;DEBUG&lt;/code&gt; enabled, then it converts the message object</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> (passed as parameter) to a string by invoking the appropriate</em> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> {@link org.apache.log4j.or.ObjectRenderer}. It then proceeds to call all the</em> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> registered appenders in this category and also higher in the</em> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment"> hierarchy depending on the value of the additivity flag.</em> +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Note that passing a {@link Throwable} to this</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> method will print the name of the &lt;code&gt;Throwable&lt;/code&gt; but no</em> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> stack trace. To print a stack trace use the {@link #debug(Object,</em> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment"> Throwable)} form instead.</em> +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> @param message the message object to log. */</em> +<a name="255" href="#255">255</a> <strong class="jxr_keyword">public</strong> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">void</strong> debug(Object message) { +<a name="257" href="#257">257</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(Level.DEBUG_INT)) +<a name="258" href="#258">258</a> <strong class="jxr_keyword">return</strong>; +<a name="259" href="#259">259</a> <strong class="jxr_keyword">if</strong>(Level.DEBUG.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) { +<a name="260" href="#260">260</a> forcedLog(FQCN, Level.DEBUG, message, <strong class="jxr_keyword">null</strong>); +<a name="261" href="#261">261</a> } +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> +<a name="264" href="#264">264</a> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment">/**</em> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> Log a message object with the &lt;code&gt;DEBUG&lt;/code&gt; level including</em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as</em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> parameter.</em> +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> <em class="jxr_javadoccomment"> &lt;p&gt;See {@link #debug(Object)} form for more detailed information.</em> +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> @param message the message object to log.</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> @param t the exception to log, including its stack trace. */</em> +<a name="274" href="#274">274</a> <strong class="jxr_keyword">public</strong> +<a name="275" href="#275">275</a> <strong class="jxr_keyword">void</strong> debug(Object message, Throwable t) { +<a name="276" href="#276">276</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(Level.DEBUG_INT)) +<a name="277" href="#277">277</a> <strong class="jxr_keyword">return</strong>; +<a name="278" href="#278">278</a> <strong class="jxr_keyword">if</strong>(Level.DEBUG.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="279" href="#279">279</a> forcedLog(FQCN, Level.DEBUG, message, t); +<a name="280" href="#280">280</a> } +<a name="281" href="#281">281</a> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment">/**</em> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment"> Log a message object with the {@link Level#ERROR ERROR} Level.</em> +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method first checks if this category is &lt;code&gt;ERROR&lt;/code&gt;</em> +<a name="286" href="#286">286</a> <em class="jxr_javadoccomment"> enabled by comparing the level of this category with {@link</em> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> Level#ERROR ERROR} Level. If this category is &lt;code&gt;ERROR&lt;/code&gt;</em> +<a name="288" href="#288">288</a> <em class="jxr_javadoccomment"> enabled, then it converts the message object passed as parameter</em> +<a name="289" href="#289">289</a> <em class="jxr_javadoccomment"> to a string by invoking the appropriate {@link</em> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment"> org.apache.log4j.or.ObjectRenderer}. It proceeds to call all the</em> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment"> registered appenders in this category and also higher in the</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> hierarchy depending on the value of the additivity flag.</em> +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Note that passing a {@link Throwable} to this</em> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment"> method will print the name of the &lt;code&gt;Throwable&lt;/code&gt; but no</em> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment"> stack trace. To print a stack trace use the {@link #error(Object,</em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> Throwable)} form instead.</em> +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment"> @param message the message object to log */</em> +<a name="300" href="#300">300</a> <strong class="jxr_keyword">public</strong> +<a name="301" href="#301">301</a> <strong class="jxr_keyword">void</strong> error(Object message) { +<a name="302" href="#302">302</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(Level.ERROR_INT)) +<a name="303" href="#303">303</a> <strong class="jxr_keyword">return</strong>; +<a name="304" href="#304">304</a> <strong class="jxr_keyword">if</strong>(Level.ERROR.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="305" href="#305">305</a> forcedLog(FQCN, Level.ERROR, message, <strong class="jxr_keyword">null</strong>); +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">/**</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> Log a message object with the &lt;code&gt;ERROR&lt;/code&gt; level including</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> parameter.</em> +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment"> &lt;p&gt;See {@link #error(Object)} form for more detailed information.</em> +<a name="314" href="#314">314</a> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> @param message the message object to log.</em> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> @param t the exception to log, including its stack trace. */</em> +<a name="317" href="#317">317</a> <strong class="jxr_keyword">public</strong> +<a name="318" href="#318">318</a> <strong class="jxr_keyword">void</strong> error(Object message, Throwable t) { +<a name="319" href="#319">319</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(Level.ERROR_INT)) +<a name="320" href="#320">320</a> <strong class="jxr_keyword">return</strong>; +<a name="321" href="#321">321</a> <strong class="jxr_keyword">if</strong>(Level.ERROR.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="322" href="#322">322</a> forcedLog(FQCN, Level.ERROR, message, t); +<a name="323" href="#323">323</a> +<a name="324" href="#324">324</a> } +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">/**</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> If the named category exists (in the default hierarchy) then it</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> returns a reference to the category, otherwise it returns</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> &lt;code&gt;null&lt;/code&gt;.</em> +<a name="331" href="#331">331</a> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> @deprecated Please use {@link LogManager#exists} instead.</em> +<a name="333" href="#333">333</a> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> @since 0.8.5 */</em> +<a name="335" href="#335">335</a> <strong class="jxr_keyword">public</strong> +<a name="336" href="#336">336</a> <strong class="jxr_keyword">static</strong> +<a name="337" href="#337">337</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> exists(String name) { +<a name="338" href="#338">338</a> <strong class="jxr_keyword">return</strong> LogManager.exists(name); +<a name="339" href="#339">339</a> } +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> <em class="jxr_javadoccomment">/**</em> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> Log a message object with the {@link Level#FATAL FATAL} Level.</em> +<a name="343" href="#343">343</a> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method first checks if this category is &lt;code&gt;FATAL&lt;/code&gt;</em> +<a name="345" href="#345">345</a> <em class="jxr_javadoccomment"> enabled by comparing the level of this category with {@link</em> +<a name="346" href="#346">346</a> <em class="jxr_javadoccomment"> Level#FATAL FATAL} Level. If the category is &lt;code&gt;FATAL&lt;/code&gt;</em> +<a name="347" href="#347">347</a> <em class="jxr_javadoccomment"> enabled, then it converts the message object passed as parameter</em> +<a name="348" href="#348">348</a> <em class="jxr_javadoccomment"> to a string by invoking the appropriate</em> +<a name="349" href="#349">349</a> <em class="jxr_javadoccomment"> {@link org.apache.log4j.or.ObjectRenderer}. It</em> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment"> proceeds to call all the registered appenders in this category and</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> also higher in the hierarchy depending on the value of the</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> additivity flag.</em> +<a name="353" href="#353">353</a> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Note that passing a {@link Throwable} to this</em> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment"> method will print the name of the Throwable but no stack trace. To</em> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> print a stack trace use the {@link #fatal(Object, Throwable)} form</em> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> instead.</em> +<a name="358" href="#358">358</a> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> @param message the message object to log */</em> +<a name="360" href="#360">360</a> <strong class="jxr_keyword">public</strong> +<a name="361" href="#361">361</a> <strong class="jxr_keyword">void</strong> fatal(Object message) { +<a name="362" href="#362">362</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(Level.FATAL_INT)) +<a name="363" href="#363">363</a> <strong class="jxr_keyword">return</strong>; +<a name="364" href="#364">364</a> <strong class="jxr_keyword">if</strong>(Level.FATAL.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="365" href="#365">365</a> forcedLog(FQCN, Level.FATAL, message, <strong class="jxr_keyword">null</strong>); +<a name="366" href="#366">366</a> } +<a name="367" href="#367">367</a> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">/**</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> Log a message object with the &lt;code&gt;FATAL&lt;/code&gt; level including</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> parameter.</em> +<a name="372" href="#372">372</a> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment"> &lt;p&gt;See {@link #fatal(Object)} for more detailed information.</em> +<a name="374" href="#374">374</a> +<a name="375" href="#375">375</a> <em class="jxr_javadoccomment"> @param message the message object to log.</em> +<a name="376" href="#376">376</a> <em class="jxr_javadoccomment"> @param t the exception to log, including its stack trace. */</em> +<a name="377" href="#377">377</a> <strong class="jxr_keyword">public</strong> +<a name="378" href="#378">378</a> <strong class="jxr_keyword">void</strong> fatal(Object message, Throwable t) { +<a name="379" href="#379">379</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(Level.FATAL_INT)) +<a name="380" href="#380">380</a> <strong class="jxr_keyword">return</strong>; +<a name="381" href="#381">381</a> <strong class="jxr_keyword">if</strong>(Level.FATAL.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="382" href="#382">382</a> forcedLog(FQCN, Level.FATAL, message, t); +<a name="383" href="#383">383</a> } +<a name="384" href="#384">384</a> +<a name="385" href="#385">385</a> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment">/**</em> +<a name="387" href="#387">387</a> <em class="jxr_javadoccomment"> This method creates a new logging event and logs the event</em> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment"> without further checks. */</em> +<a name="389" href="#389">389</a> <strong class="jxr_keyword">protected</strong> +<a name="390" href="#390">390</a> <strong class="jxr_keyword">void</strong> forcedLog(String fqcn, <a href="../../../org/apache/log4j/Priority.html">Priority</a> level, Object message, Throwable t) { +<a name="391" href="#391">391</a> callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(fqcn, <strong class="jxr_keyword">this</strong>, level, message, t)); +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> +<a name="395" href="#395">395</a> <em class="jxr_javadoccomment">/**</em> +<a name="396" href="#396">396</a> <em class="jxr_javadoccomment"> Get the additivity flag for this Category instance.</em> +<a name="397" href="#397">397</a> <em class="jxr_javadoccomment"> */</em> +<a name="398" href="#398">398</a> <strong class="jxr_keyword">public</strong> +<a name="399" href="#399">399</a> <strong class="jxr_keyword">boolean</strong> getAdditivity() { +<a name="400" href="#400">400</a> <strong class="jxr_keyword">return</strong> additive; +<a name="401" href="#401">401</a> } +<a name="402" href="#402">402</a> +<a name="403" href="#403">403</a> <em class="jxr_javadoccomment">/**</em> +<a name="404" href="#404">404</a> <em class="jxr_javadoccomment"> Get the appenders contained in this category as an {@link</em> +<a name="405" href="#405">405</a> <em class="jxr_javadoccomment"> Enumeration}. If no appenders can be found, then a {@link NullEnumeration}</em> +<a name="406" href="#406">406</a> <em class="jxr_javadoccomment"> is returned.</em> +<a name="407" href="#407">407</a> +<a name="408" href="#408">408</a> <em class="jxr_javadoccomment"> @return Enumeration An enumeration of the appenders in this category. */</em> +<a name="409" href="#409">409</a> <strong class="jxr_keyword">synchronized</strong> +<a name="410" href="#410">410</a> <strong class="jxr_keyword">public</strong> +<a name="411" href="#411">411</a> Enumeration getAllAppenders() { +<a name="412" href="#412">412</a> <strong class="jxr_keyword">if</strong>(aai == <strong class="jxr_keyword">null</strong>) +<a name="413" href="#413">413</a> <strong class="jxr_keyword">return</strong> NullEnumeration.getInstance(); +<a name="414" href="#414">414</a> <strong class="jxr_keyword">else</strong> +<a name="415" href="#415">415</a> <strong class="jxr_keyword">return</strong> aai.getAllAppenders(); +<a name="416" href="#416">416</a> } +<a name="417" href="#417">417</a> +<a name="418" href="#418">418</a> <em class="jxr_javadoccomment">/**</em> +<a name="419" href="#419">419</a> <em class="jxr_javadoccomment"> Look for the appender named as &lt;code&gt;name&lt;/code&gt;.</em> +<a name="420" href="#420">420</a> +<a name="421" href="#421">421</a> <em class="jxr_javadoccomment"> &lt;p&gt;Return the appender with that name if in the list. Return</em> +<a name="422" href="#422">422</a> <em class="jxr_javadoccomment"> &lt;code&gt;null&lt;/code&gt; otherwise. */</em> +<a name="423" href="#423">423</a> <strong class="jxr_keyword">synchronized</strong> +<a name="424" href="#424">424</a> <strong class="jxr_keyword">public</strong> +<a name="425" href="#425">425</a> <a href="../../../org/apache/log4j/Appender.html">Appender</a> getAppender(String name) { +<a name="426" href="#426">426</a> <strong class="jxr_keyword">if</strong>(aai == <strong class="jxr_keyword">null</strong> || name == <strong class="jxr_keyword">null</strong>) +<a name="427" href="#427">427</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="428" href="#428">428</a> +<a name="429" href="#429">429</a> <strong class="jxr_keyword">return</strong> aai.getAppender(name); +<a name="430" href="#430">430</a> } +<a name="431" href="#431">431</a> +<a name="432" href="#432">432</a> <em class="jxr_javadoccomment">/**</em> +<a name="433" href="#433">433</a> <em class="jxr_javadoccomment"> Starting from this category, search the category hierarchy for a</em> +<a name="434" href="#434">434</a> <em class="jxr_javadoccomment"> non-null level and return it. Otherwise, return the level of the</em> +<a name="435" href="#435">435</a> <em class="jxr_javadoccomment"> root category.</em> +<a name="436" href="#436">436</a> +<a name="437" href="#437">437</a> <em class="jxr_javadoccomment"> &lt;p&gt;The Category class is designed so that this method executes as</em> +<a name="438" href="#438">438</a> <em class="jxr_javadoccomment"> quickly as possible.</em> +<a name="439" href="#439">439</a> <em class="jxr_javadoccomment"> */</em> +<a name="440" href="#440">440</a> <strong class="jxr_keyword">public</strong> +<a name="441" href="#441">441</a> <a href="../../../org/apache/log4j/Level.html">Level</a> getEffectiveLevel() { +<a name="442" href="#442">442</a> <strong class="jxr_keyword">for</strong>(<a href="../../../org/apache/log4j/Category.html">Category</a> c = <strong class="jxr_keyword">this</strong>; c != <strong class="jxr_keyword">null</strong>; c=c.parent) { +<a name="443" href="#443">443</a> <strong class="jxr_keyword">if</strong>(c.level != <strong class="jxr_keyword">null</strong>) +<a name="444" href="#444">444</a> <strong class="jxr_keyword">return</strong> c.level; +<a name="445" href="#445">445</a> } +<a name="446" href="#446">446</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; <em class="jxr_comment">// If reached will cause an NullPointerException.</em> +<a name="447" href="#447">447</a> } +<a name="448" href="#448">448</a> +<a name="449" href="#449">449</a> <em class="jxr_javadoccomment">/**</em> +<a name="450" href="#450">450</a> <em class="jxr_javadoccomment"> *</em> +<a name="451" href="#451">451</a> <em class="jxr_javadoccomment"> * @deprecated Please use the the {@link #getEffectiveLevel} method</em> +<a name="452" href="#452">452</a> <em class="jxr_javadoccomment"> * instead. </em> +<a name="453" href="#453">453</a> <em class="jxr_javadoccomment"> * */</em> +<a name="454" href="#454">454</a> <strong class="jxr_keyword">public</strong> +<a name="455" href="#455">455</a> <a href="../../../org/apache/log4j/Priority.html">Priority</a> getChainedPriority() { +<a name="456" href="#456">456</a> <strong class="jxr_keyword">for</strong>(<a href="../../../org/apache/log4j/Category.html">Category</a> c = <strong class="jxr_keyword">this</strong>; c != <strong class="jxr_keyword">null</strong>; c=c.parent) { +<a name="457" href="#457">457</a> <strong class="jxr_keyword">if</strong>(c.level != <strong class="jxr_keyword">null</strong>) +<a name="458" href="#458">458</a> <strong class="jxr_keyword">return</strong> c.level; +<a name="459" href="#459">459</a> } +<a name="460" href="#460">460</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; <em class="jxr_comment">// If reached will cause an NullPointerException.</em> +<a name="461" href="#461">461</a> } +<a name="462" href="#462">462</a> +<a name="463" href="#463">463</a> +<a name="464" href="#464">464</a> <em class="jxr_javadoccomment">/**</em> +<a name="465" href="#465">465</a> <em class="jxr_javadoccomment"> Returns all the currently defined categories in the default</em> +<a name="466" href="#466">466</a> <em class="jxr_javadoccomment"> hierarchy as an {@link java.util.Enumeration Enumeration}.</em> +<a name="467" href="#467">467</a> +<a name="468" href="#468">468</a> <em class="jxr_javadoccomment"> &lt;p&gt;The root category is &lt;em&gt;not&lt;/em&gt; included in the returned</em> +<a name="469" href="#469">469</a> <em class="jxr_javadoccomment"> {@link Enumeration}.</em> +<a name="470" href="#470">470</a> +<a name="471" href="#471">471</a> <em class="jxr_javadoccomment"> @deprecated Please use {@link LogManager#getCurrentLoggers()} instead.</em> +<a name="472" href="#472">472</a> <em class="jxr_javadoccomment"> */</em> +<a name="473" href="#473">473</a> <strong class="jxr_keyword">public</strong> +<a name="474" href="#474">474</a> <strong class="jxr_keyword">static</strong> +<a name="475" href="#475">475</a> Enumeration getCurrentCategories() { +<a name="476" href="#476">476</a> <strong class="jxr_keyword">return</strong> LogManager.getCurrentLoggers(); +<a name="477" href="#477">477</a> } +<a name="478" href="#478">478</a> +<a name="479" href="#479">479</a> +<a name="480" href="#480">480</a> <em class="jxr_javadoccomment">/**</em> +<a name="481" href="#481">481</a> <em class="jxr_javadoccomment"> Return the default Hierarchy instance.</em> +<a name="482" href="#482">482</a> +<a name="483" href="#483">483</a> <em class="jxr_javadoccomment"> @deprecated Please use {@link LogManager#getLoggerRepository()} instead.</em> +<a name="484" href="#484">484</a> +<a name="485" href="#485">485</a> <em class="jxr_javadoccomment"> @since 1.0</em> +<a name="486" href="#486">486</a> <em class="jxr_javadoccomment"> */</em> +<a name="487" href="#487">487</a> <strong class="jxr_keyword">public</strong> +<a name="488" href="#488">488</a> <strong class="jxr_keyword">static</strong> +<a name="489" href="#489">489</a> <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> getDefaultHierarchy() { +<a name="490" href="#490">490</a> <strong class="jxr_keyword">return</strong> LogManager.getLoggerRepository(); +<a name="491" href="#491">491</a> } +<a name="492" href="#492">492</a> +<a name="493" href="#493">493</a> <em class="jxr_javadoccomment">/**</em> +<a name="494" href="#494">494</a> <em class="jxr_javadoccomment"> Return the the {@link Hierarchy} where this &lt;code&gt;Category&lt;/code&gt;</em> +<a name="495" href="#495">495</a> <em class="jxr_javadoccomment"> instance is attached.</em> +<a name="496" href="#496">496</a> +<a name="497" href="#497">497</a> <em class="jxr_javadoccomment"> @deprecated Please use {@link #getLoggerRepository} instead.</em> +<a name="498" href="#498">498</a> +<a name="499" href="#499">499</a> <em class="jxr_javadoccomment"> @since 1.1 */</em> +<a name="500" href="#500">500</a> <strong class="jxr_keyword">public</strong> +<a name="501" href="#501">501</a> <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> getHierarchy() { +<a name="502" href="#502">502</a> <strong class="jxr_keyword">return</strong> repository; +<a name="503" href="#503">503</a> } +<a name="504" href="#504">504</a> +<a name="505" href="#505">505</a> <em class="jxr_javadoccomment">/**</em> +<a name="506" href="#506">506</a> <em class="jxr_javadoccomment"> Return the the {@link LoggerRepository} where this</em> +<a name="507" href="#507">507</a> <em class="jxr_javadoccomment"> &lt;code&gt;Category&lt;/code&gt; is attached.</em> +<a name="508" href="#508">508</a> +<a name="509" href="#509">509</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="510" href="#510">510</a> <strong class="jxr_keyword">public</strong> +<a name="511" href="#511">511</a> <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> getLoggerRepository() { +<a name="512" href="#512">512</a> <strong class="jxr_keyword">return</strong> repository; +<a name="513" href="#513">513</a> } +<a name="514" href="#514">514</a> +<a name="515" href="#515">515</a> +<a name="516" href="#516">516</a> <em class="jxr_javadoccomment">/**</em> +<a name="517" href="#517">517</a> <em class="jxr_javadoccomment"> * @deprecated Make sure to use {@link Logger#getLogger(String)} instead.</em> +<a name="518" href="#518">518</a> <em class="jxr_javadoccomment"> */</em> +<a name="519" href="#519">519</a> <strong class="jxr_keyword">public</strong> +<a name="520" href="#520">520</a> <strong class="jxr_keyword">static</strong> +<a name="521" href="#521">521</a> <a href="../../../org/apache/log4j/Category.html">Category</a> getInstance(String name) { +<a name="522" href="#522">522</a> <strong class="jxr_keyword">return</strong> LogManager.getLogger(name); +<a name="523" href="#523">523</a> } +<a name="524" href="#524">524</a> +<a name="525" href="#525">525</a> <em class="jxr_javadoccomment">/**</em> +<a name="526" href="#526">526</a> <em class="jxr_javadoccomment"> * @deprecated Please make sure to use {@link Logger#getLogger(Class)} instead.</em> +<a name="527" href="#527">527</a> <em class="jxr_javadoccomment"> */</em> +<a name="528" href="#528">528</a> <strong class="jxr_keyword">public</strong> +<a name="529" href="#529">529</a> <strong class="jxr_keyword">static</strong> +<a name="530" href="#530">530</a> <a href="../../../org/apache/log4j/Category.html">Category</a> getInstance(Class clazz) { +<a name="531" href="#531">531</a> <strong class="jxr_keyword">return</strong> LogManager.getLogger(clazz); +<a name="532" href="#532">532</a> } +<a name="533" href="#533">533</a> +<a name="534" href="#534">534</a> +<a name="535" href="#535">535</a> <em class="jxr_javadoccomment">/**</em> +<a name="536" href="#536">536</a> <em class="jxr_javadoccomment"> Return the category name. */</em> +<a name="537" href="#537">537</a> <strong class="jxr_keyword">public</strong> +<a name="538" href="#538">538</a> <strong class="jxr_keyword">final</strong> +<a name="539" href="#539">539</a> String getName() { +<a name="540" href="#540">540</a> <strong class="jxr_keyword">return</strong> name; +<a name="541" href="#541">541</a> } +<a name="542" href="#542">542</a> +<a name="543" href="#543">543</a> +<a name="544" href="#544">544</a> <em class="jxr_javadoccomment">/**</em> +<a name="545" href="#545">545</a> <em class="jxr_javadoccomment"> Returns the parent of this category. Note that the parent of a</em> +<a name="546" href="#546">546</a> <em class="jxr_javadoccomment"> given category may change during the lifetime of the category.</em> +<a name="547" href="#547">547</a> +<a name="548" href="#548">548</a> <em class="jxr_javadoccomment"> &lt;p&gt;The root category will return &lt;code&gt;null&lt;/code&gt;.</em> +<a name="549" href="#549">549</a> +<a name="550" href="#550">550</a> <em class="jxr_javadoccomment"> @since 1.2</em> +<a name="551" href="#551">551</a> <em class="jxr_javadoccomment"> */</em> +<a name="552" href="#552">552</a> <strong class="jxr_keyword">final</strong> +<a name="553" href="#553">553</a> <strong class="jxr_keyword">public</strong> +<a name="554" href="#554">554</a> <a href="../../../org/apache/log4j/Category.html">Category</a> getParent() { +<a name="555" href="#555">555</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.parent; +<a name="556" href="#556">556</a> } +<a name="557" href="#557">557</a> +<a name="558" href="#558">558</a> +<a name="559" href="#559">559</a> <em class="jxr_javadoccomment">/**</em> +<a name="560" href="#560">560</a> <em class="jxr_javadoccomment"> Returns the assigned {@link Level}, if any, for this Category.</em> +<a name="561" href="#561">561</a> +<a name="562" href="#562">562</a> <em class="jxr_javadoccomment"> @return Level - the assigned Level, can be &lt;code&gt;null&lt;/code&gt;.</em> +<a name="563" href="#563">563</a> <em class="jxr_javadoccomment"> */</em> +<a name="564" href="#564">564</a> <strong class="jxr_keyword">final</strong> +<a name="565" href="#565">565</a> <strong class="jxr_keyword">public</strong> +<a name="566" href="#566">566</a> <a href="../../../org/apache/log4j/Level.html">Level</a> getLevel() { +<a name="567" href="#567">567</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.level; +<a name="568" href="#568">568</a> } +<a name="569" href="#569">569</a> +<a name="570" href="#570">570</a> <em class="jxr_javadoccomment">/**</em> +<a name="571" href="#571">571</a> <em class="jxr_javadoccomment"> @deprecated Please use {@link #getLevel} instead.</em> +<a name="572" href="#572">572</a> <em class="jxr_javadoccomment"> */</em> +<a name="573" href="#573">573</a> <strong class="jxr_keyword">final</strong> +<a name="574" href="#574">574</a> <strong class="jxr_keyword">public</strong> +<a name="575" href="#575">575</a> <a href="../../../org/apache/log4j/Level.html">Level</a> getPriority() { +<a name="576" href="#576">576</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.level; +<a name="577" href="#577">577</a> } +<a name="578" href="#578">578</a> +<a name="579" href="#579">579</a> +<a name="580" href="#580">580</a> <em class="jxr_javadoccomment">/**</em> +<a name="581" href="#581">581</a> <em class="jxr_javadoccomment"> * @deprecated Please use {@link Logger#getRootLogger()} instead.</em> +<a name="582" href="#582">582</a> <em class="jxr_javadoccomment"> */</em> +<a name="583" href="#583">583</a> <strong class="jxr_keyword">final</strong> +<a name="584" href="#584">584</a> <strong class="jxr_keyword">public</strong> +<a name="585" href="#585">585</a> <strong class="jxr_keyword">static</strong> +<a name="586" href="#586">586</a> <a href="../../../org/apache/log4j/Category.html">Category</a> getRoot() { +<a name="587" href="#587">587</a> <strong class="jxr_keyword">return</strong> LogManager.getRootLogger(); +<a name="588" href="#588">588</a> } +<a name="589" href="#589">589</a> +<a name="590" href="#590">590</a> <em class="jxr_javadoccomment">/**</em> +<a name="591" href="#591">591</a> <em class="jxr_javadoccomment"> Return the &lt;em&gt;inherited&lt;/em&gt; {@link ResourceBundle} for this</em> +<a name="592" href="#592">592</a> <em class="jxr_javadoccomment"> category.</em> +<a name="593" href="#593">593</a> +<a name="594" href="#594">594</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method walks the hierarchy to find the appropriate</em> +<a name="595" href="#595">595</a> <em class="jxr_javadoccomment"> resource bundle. It will return the resource bundle attached to</em> +<a name="596" href="#596">596</a> <em class="jxr_javadoccomment"> the closest ancestor of this category, much like the way</em> +<a name="597" href="#597">597</a> <em class="jxr_javadoccomment"> priorities are searched. In case there is no bundle in the</em> +<a name="598" href="#598">598</a> <em class="jxr_javadoccomment"> hierarchy then &lt;code&gt;null&lt;/code&gt; is returned.</em> +<a name="599" href="#599">599</a> +<a name="600" href="#600">600</a> <em class="jxr_javadoccomment"> @since 0.9.0 */</em> +<a name="601" href="#601">601</a> <strong class="jxr_keyword">public</strong> +<a name="602" href="#602">602</a> ResourceBundle getResourceBundle() { +<a name="603" href="#603">603</a> <strong class="jxr_keyword">for</strong>(<a href="../../../org/apache/log4j/Category.html">Category</a> c = <strong class="jxr_keyword">this</strong>; c != <strong class="jxr_keyword">null</strong>; c=c.parent) { +<a name="604" href="#604">604</a> <strong class="jxr_keyword">if</strong>(c.resourceBundle != <strong class="jxr_keyword">null</strong>) +<a name="605" href="#605">605</a> <strong class="jxr_keyword">return</strong> c.resourceBundle; +<a name="606" href="#606">606</a> } +<a name="607" href="#607">607</a> <em class="jxr_comment">// It might be the case that there is no resource bundle</em> +<a name="608" href="#608">608</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="609" href="#609">609</a> } +<a name="610" href="#610">610</a> +<a name="611" href="#611">611</a> <em class="jxr_javadoccomment">/**</em> +<a name="612" href="#612">612</a> <em class="jxr_javadoccomment"> Returns the string resource coresponding to &lt;code&gt;key&lt;/code&gt; in</em> +<a name="613" href="#613">613</a> <em class="jxr_javadoccomment"> this category's inherited resource bundle. See also {@link</em> +<a name="614" href="#614">614</a> <em class="jxr_javadoccomment"> #getResourceBundle}.</em> +<a name="615" href="#615">615</a> +<a name="616" href="#616">616</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the resource cannot be found, then an {@link #error error}</em> +<a name="617" href="#617">617</a> <em class="jxr_javadoccomment"> message will be logged complaining about the missing resource.</em> +<a name="618" href="#618">618</a> <em class="jxr_javadoccomment"> */</em> +<a name="619" href="#619">619</a> <strong class="jxr_keyword">protected</strong> +<a name="620" href="#620">620</a> String getResourceBundleString(String key) { +<a name="621" href="#621">621</a> ResourceBundle rb = getResourceBundle(); +<a name="622" href="#622">622</a> <em class="jxr_comment">// This is one of the rare cases where we can use logging in order</em> +<a name="623" href="#623">623</a> <em class="jxr_comment">// to report errors from within log4j.</em> +<a name="624" href="#624">624</a> <strong class="jxr_keyword">if</strong>(rb == <strong class="jxr_keyword">null</strong>) { +<a name="625" href="#625">625</a> <em class="jxr_comment">//if(!hierarchy.emittedNoResourceBundleWarning) {</em> +<a name="626" href="#626">626</a> <em class="jxr_comment">//error("No resource bundle has been set for category "+name);</em> +<a name="627" href="#627">627</a> <em class="jxr_comment">//hierarchy.emittedNoResourceBundleWarning = true;</em> +<a name="628" href="#628">628</a> <em class="jxr_comment">//}</em> +<a name="629" href="#629">629</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="630" href="#630">630</a> } +<a name="631" href="#631">631</a> <strong class="jxr_keyword">else</strong> { +<a name="632" href="#632">632</a> <strong class="jxr_keyword">try</strong> { +<a name="633" href="#633">633</a> <strong class="jxr_keyword">return</strong> rb.getString(key); +<a name="634" href="#634">634</a> } +<a name="635" href="#635">635</a> <strong class="jxr_keyword">catch</strong>(MissingResourceException mre) { +<a name="636" href="#636">636</a> error(<span class="jxr_string">"No resource is associated with key \&quot;"</span>+key+<span class="jxr_string">"\&quot;."</span>); +<a name="637" href="#637">637</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="638" href="#638">638</a> } +<a name="639" href="#639">639</a> } +<a name="640" href="#640">640</a> } +<a name="641" href="#641">641</a> +<a name="642" href="#642">642</a> <em class="jxr_javadoccomment">/**</em> +<a name="643" href="#643">643</a> <em class="jxr_javadoccomment"> Log a message object with the {@link Level#INFO INFO} Level.</em> +<a name="644" href="#644">644</a> +<a name="645" href="#645">645</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method first checks if this category is &lt;code&gt;INFO&lt;/code&gt;</em> +<a name="646" href="#646">646</a> <em class="jxr_javadoccomment"> enabled by comparing the level of this category with {@link</em> +<a name="647" href="#647">647</a> <em class="jxr_javadoccomment"> Level#INFO INFO} Level. If the category is &lt;code&gt;INFO&lt;/code&gt;</em> +<a name="648" href="#648">648</a> <em class="jxr_javadoccomment"> enabled, then it converts the message object passed as parameter</em> +<a name="649" href="#649">649</a> <em class="jxr_javadoccomment"> to a string by invoking the appropriate</em> +<a name="650" href="#650">650</a> <em class="jxr_javadoccomment"> {@link org.apache.log4j.or.ObjectRenderer}. It</em> +<a name="651" href="#651">651</a> <em class="jxr_javadoccomment"> proceeds to call all the registered appenders in this category and</em> +<a name="652" href="#652">652</a> <em class="jxr_javadoccomment"> also higher in the hierarchy depending on the value of the</em> +<a name="653" href="#653">653</a> <em class="jxr_javadoccomment"> additivity flag.</em> +<a name="654" href="#654">654</a> +<a name="655" href="#655">655</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Note that passing a {@link Throwable} to this</em> +<a name="656" href="#656">656</a> <em class="jxr_javadoccomment"> method will print the name of the Throwable but no stack trace. To</em> +<a name="657" href="#657">657</a> <em class="jxr_javadoccomment"> print a stack trace use the {@link #info(Object, Throwable)} form</em> +<a name="658" href="#658">658</a> <em class="jxr_javadoccomment"> instead.</em> +<a name="659" href="#659">659</a> +<a name="660" href="#660">660</a> <em class="jxr_javadoccomment"> @param message the message object to log */</em> +<a name="661" href="#661">661</a> <strong class="jxr_keyword">public</strong> +<a name="662" href="#662">662</a> <strong class="jxr_keyword">void</strong> info(Object message) { +<a name="663" href="#663">663</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(Level.INFO_INT)) +<a name="664" href="#664">664</a> <strong class="jxr_keyword">return</strong>; +<a name="665" href="#665">665</a> <strong class="jxr_keyword">if</strong>(Level.INFO.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="666" href="#666">666</a> forcedLog(FQCN, Level.INFO, message, <strong class="jxr_keyword">null</strong>); +<a name="667" href="#667">667</a> } +<a name="668" href="#668">668</a> +<a name="669" href="#669">669</a> <em class="jxr_javadoccomment">/**</em> +<a name="670" href="#670">670</a> <em class="jxr_javadoccomment"> Log a message object with the &lt;code&gt;INFO&lt;/code&gt; level including</em> +<a name="671" href="#671">671</a> <em class="jxr_javadoccomment"> the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as</em> +<a name="672" href="#672">672</a> <em class="jxr_javadoccomment"> parameter.</em> +<a name="673" href="#673">673</a> +<a name="674" href="#674">674</a> <em class="jxr_javadoccomment"> &lt;p&gt;See {@link #info(Object)} for more detailed information.</em> +<a name="675" href="#675">675</a> +<a name="676" href="#676">676</a> <em class="jxr_javadoccomment"> @param message the message object to log.</em> +<a name="677" href="#677">677</a> <em class="jxr_javadoccomment"> @param t the exception to log, including its stack trace. */</em> +<a name="678" href="#678">678</a> <strong class="jxr_keyword">public</strong> +<a name="679" href="#679">679</a> <strong class="jxr_keyword">void</strong> info(Object message, Throwable t) { +<a name="680" href="#680">680</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(Level.INFO_INT)) +<a name="681" href="#681">681</a> <strong class="jxr_keyword">return</strong>; +<a name="682" href="#682">682</a> <strong class="jxr_keyword">if</strong>(Level.INFO.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="683" href="#683">683</a> forcedLog(FQCN, Level.INFO, message, t); +<a name="684" href="#684">684</a> } +<a name="685" href="#685">685</a> +<a name="686" href="#686">686</a> <em class="jxr_javadoccomment">/**</em> +<a name="687" href="#687">687</a> <em class="jxr_javadoccomment"> Is the appender passed as parameter attached to this category?</em> +<a name="688" href="#688">688</a> <em class="jxr_javadoccomment"> */</em> +<a name="689" href="#689">689</a> <strong class="jxr_keyword">public</strong> +<a name="690" href="#690">690</a> <strong class="jxr_keyword">boolean</strong> isAttached(<a href="../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="691" href="#691">691</a> <strong class="jxr_keyword">if</strong>(appender == <strong class="jxr_keyword">null</strong> || aai == <strong class="jxr_keyword">null</strong>) +<a name="692" href="#692">692</a> <strong class="jxr_keyword">return</strong> false; +<a name="693" href="#693">693</a> <strong class="jxr_keyword">else</strong> { +<a name="694" href="#694">694</a> <strong class="jxr_keyword">return</strong> aai.isAttached(appender); +<a name="695" href="#695">695</a> } +<a name="696" href="#696">696</a> } +<a name="697" href="#697">697</a> +<a name="698" href="#698">698</a> <em class="jxr_javadoccomment">/**</em> +<a name="699" href="#699">699</a> <em class="jxr_javadoccomment"> * Check whether this category is enabled for the &lt;code&gt;DEBUG&lt;/code&gt;</em> +<a name="700" href="#700">700</a> <em class="jxr_javadoccomment"> * Level.</em> +<a name="701" href="#701">701</a> <em class="jxr_javadoccomment"> *</em> +<a name="702" href="#702">702</a> <em class="jxr_javadoccomment"> * &lt;p&gt; This function is intended to lessen the computational cost of</em> +<a name="703" href="#703">703</a> <em class="jxr_javadoccomment"> * disabled log debug statements.</em> +<a name="704" href="#704">704</a> <em class="jxr_javadoccomment"> *</em> +<a name="705" href="#705">705</a> <em class="jxr_javadoccomment"> * &lt;p&gt; For some &lt;code&gt;cat&lt;/code&gt; Category object, when you write,</em> +<a name="706" href="#706">706</a> <em class="jxr_javadoccomment"> * &lt;pre&gt;</em> +<a name="707" href="#707">707</a> <em class="jxr_javadoccomment"> * cat.debug("This is entry number: " + i );</em> +<a name="708" href="#708">708</a> <em class="jxr_javadoccomment"> * &lt;/pre&gt;</em> +<a name="709" href="#709">709</a> <em class="jxr_javadoccomment"> *</em> +<a name="710" href="#710">710</a> <em class="jxr_javadoccomment"> * &lt;p&gt;You incur the cost constructing the message, concatenatiion in</em> +<a name="711" href="#711">711</a> <em class="jxr_javadoccomment"> * this case, regardless of whether the message is logged or not.</em> +<a name="712" href="#712">712</a> <em class="jxr_javadoccomment"> *</em> +<a name="713" href="#713">713</a> <em class="jxr_javadoccomment"> * &lt;p&gt;If you are worried about speed, then you should write</em> +<a name="714" href="#714">714</a> <em class="jxr_javadoccomment"> * &lt;pre&gt;</em> +<a name="715" href="#715">715</a> <em class="jxr_javadoccomment"> * if(cat.isDebugEnabled()) {</em> +<a name="716" href="#716">716</a> <em class="jxr_javadoccomment"> * cat.debug("This is entry number: " + i );</em> +<a name="717" href="#717">717</a> <em class="jxr_javadoccomment"> * }</em> +<a name="718" href="#718">718</a> <em class="jxr_javadoccomment"> * &lt;/pre&gt;</em> +<a name="719" href="#719">719</a> <em class="jxr_javadoccomment"> *</em> +<a name="720" href="#720">720</a> <em class="jxr_javadoccomment"> * &lt;p&gt;This way you will not incur the cost of parameter</em> +<a name="721" href="#721">721</a> <em class="jxr_javadoccomment"> * construction if debugging is disabled for &lt;code&gt;cat&lt;/code&gt;. On</em> +<a name="722" href="#722">722</a> <em class="jxr_javadoccomment"> * the other hand, if the &lt;code&gt;cat&lt;/code&gt; is debug enabled, you</em> +<a name="723" href="#723">723</a> <em class="jxr_javadoccomment"> * will incur the cost of evaluating whether the category is debug</em> +<a name="724" href="#724">724</a> <em class="jxr_javadoccomment"> * enabled twice. Once in &lt;code&gt;isDebugEnabled&lt;/code&gt; and once in</em> +<a name="725" href="#725">725</a> <em class="jxr_javadoccomment"> * the &lt;code&gt;debug&lt;/code&gt;. This is an insignificant overhead</em> +<a name="726" href="#726">726</a> <em class="jxr_javadoccomment"> * since evaluating a category takes about 1%% of the time it</em> +<a name="727" href="#727">727</a> <em class="jxr_javadoccomment"> * takes to actually log.</em> +<a name="728" href="#728">728</a> <em class="jxr_javadoccomment"> *</em> +<a name="729" href="#729">729</a> <em class="jxr_javadoccomment"> * @return boolean - &lt;code&gt;true&lt;/code&gt; if this category is debug</em> +<a name="730" href="#730">730</a> <em class="jxr_javadoccomment"> * enabled, &lt;code&gt;false&lt;/code&gt; otherwise.</em> +<a name="731" href="#731">731</a> <em class="jxr_javadoccomment"> * */</em> +<a name="732" href="#732">732</a> <strong class="jxr_keyword">public</strong> +<a name="733" href="#733">733</a> <strong class="jxr_keyword">boolean</strong> isDebugEnabled() { +<a name="734" href="#734">734</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled( Level.DEBUG_INT)) +<a name="735" href="#735">735</a> <strong class="jxr_keyword">return</strong> false; +<a name="736" href="#736">736</a> <strong class="jxr_keyword">return</strong> Level.DEBUG.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel()); +<a name="737" href="#737">737</a> } +<a name="738" href="#738">738</a> +<a name="739" href="#739">739</a> <em class="jxr_javadoccomment">/**</em> +<a name="740" href="#740">740</a> <em class="jxr_javadoccomment"> Check whether this category is enabled for a given {@link</em> +<a name="741" href="#741">741</a> <em class="jxr_javadoccomment"> Level} passed as parameter.</em> +<a name="742" href="#742">742</a> +<a name="743" href="#743">743</a> <em class="jxr_javadoccomment"> See also {@link #isDebugEnabled}.</em> +<a name="744" href="#744">744</a> +<a name="745" href="#745">745</a> <em class="jxr_javadoccomment"> @return boolean True if this category is enabled for &lt;code&gt;level&lt;/code&gt;.</em> +<a name="746" href="#746">746</a> <em class="jxr_javadoccomment"> */</em> +<a name="747" href="#747">747</a> <strong class="jxr_keyword">public</strong> +<a name="748" href="#748">748</a> <strong class="jxr_keyword">boolean</strong> isEnabledFor(<a href="../../../org/apache/log4j/Priority.html">Priority</a> level) { +<a name="749" href="#749">749</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(level.level)) +<a name="750" href="#750">750</a> <strong class="jxr_keyword">return</strong> false; +<a name="751" href="#751">751</a> <strong class="jxr_keyword">return</strong> level.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel()); +<a name="752" href="#752">752</a> } +<a name="753" href="#753">753</a> +<a name="754" href="#754">754</a> <em class="jxr_javadoccomment">/**</em> +<a name="755" href="#755">755</a> <em class="jxr_javadoccomment"> Check whether this category is enabled for the info Level.</em> +<a name="756" href="#756">756</a> <em class="jxr_javadoccomment"> See also {@link #isDebugEnabled}.</em> +<a name="757" href="#757">757</a> +<a name="758" href="#758">758</a> <em class="jxr_javadoccomment"> @return boolean - &lt;code&gt;true&lt;/code&gt; if this category is enabled</em> +<a name="759" href="#759">759</a> <em class="jxr_javadoccomment"> for level info, &lt;code&gt;false&lt;/code&gt; otherwise.</em> +<a name="760" href="#760">760</a> <em class="jxr_javadoccomment"> */</em> +<a name="761" href="#761">761</a> <strong class="jxr_keyword">public</strong> +<a name="762" href="#762">762</a> <strong class="jxr_keyword">boolean</strong> isInfoEnabled() { +<a name="763" href="#763">763</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(Level.INFO_INT)) +<a name="764" href="#764">764</a> <strong class="jxr_keyword">return</strong> false; +<a name="765" href="#765">765</a> <strong class="jxr_keyword">return</strong> Level.INFO.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel()); +<a name="766" href="#766">766</a> } +<a name="767" href="#767">767</a> +<a name="768" href="#768">768</a> +<a name="769" href="#769">769</a> <em class="jxr_javadoccomment">/**</em> +<a name="770" href="#770">770</a> <em class="jxr_javadoccomment"> Log a localized message. The user supplied parameter</em> +<a name="771" href="#771">771</a> <em class="jxr_javadoccomment"> &lt;code&gt;key&lt;/code&gt; is replaced by its localized version from the</em> +<a name="772" href="#772">772</a> <em class="jxr_javadoccomment"> resource bundle.</em> +<a name="773" href="#773">773</a> +<a name="774" href="#774">774</a> <em class="jxr_javadoccomment"> @see #setResourceBundle</em> +<a name="775" href="#775">775</a> +<a name="776" href="#776">776</a> <em class="jxr_javadoccomment"> @since 0.8.4 */</em> +<a name="777" href="#777">777</a> <strong class="jxr_keyword">public</strong> +<a name="778" href="#778">778</a> <strong class="jxr_keyword">void</strong> l7dlog(<a href="../../../org/apache/log4j/Priority.html">Priority</a> priority, String key, Throwable t) { +<a name="779" href="#779">779</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(priority.level)) { +<a name="780" href="#780">780</a> <strong class="jxr_keyword">return</strong>; +<a name="781" href="#781">781</a> } +<a name="782" href="#782">782</a> <strong class="jxr_keyword">if</strong>(priority.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) { +<a name="783" href="#783">783</a> String msg = getResourceBundleString(key); +<a name="784" href="#784">784</a> <em class="jxr_comment">// if message corresponding to 'key' could not be found in the</em> +<a name="785" href="#785">785</a> <em class="jxr_comment">// resource bundle, then default to 'key'.</em> +<a name="786" href="#786">786</a> <strong class="jxr_keyword">if</strong>(msg == <strong class="jxr_keyword">null</strong>) { +<a name="787" href="#787">787</a> msg = key; +<a name="788" href="#788">788</a> } +<a name="789" href="#789">789</a> forcedLog(FQCN, priority, msg, t); +<a name="790" href="#790">790</a> } +<a name="791" href="#791">791</a> } +<a name="792" href="#792">792</a> <em class="jxr_javadoccomment">/**</em> +<a name="793" href="#793">793</a> <em class="jxr_javadoccomment"> Log a localized and parameterized message. First, the user</em> +<a name="794" href="#794">794</a> <em class="jxr_javadoccomment"> supplied &lt;code&gt;key&lt;/code&gt; is searched in the resource</em> +<a name="795" href="#795">795</a> <em class="jxr_javadoccomment"> bundle. Next, the resulting pattern is formatted using</em> +<a name="796" href="#796">796</a> <em class="jxr_javadoccomment"> {@link java.text.MessageFormat#format(String,Object[])} method with the</em> +<a name="797" href="#797">797</a> <em class="jxr_javadoccomment"> user supplied object array &lt;code&gt;params&lt;/code&gt;.</em> +<a name="798" href="#798">798</a> +<a name="799" href="#799">799</a> <em class="jxr_javadoccomment"> @since 0.8.4</em> +<a name="800" href="#800">800</a> <em class="jxr_javadoccomment"> */</em> +<a name="801" href="#801">801</a> <strong class="jxr_keyword">public</strong> +<a name="802" href="#802">802</a> <strong class="jxr_keyword">void</strong> l7dlog(<a href="../../../org/apache/log4j/Priority.html">Priority</a> priority, String key, Object[] params, Throwable t) { +<a name="803" href="#803">803</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(priority.level)) { +<a name="804" href="#804">804</a> <strong class="jxr_keyword">return</strong>; +<a name="805" href="#805">805</a> } +<a name="806" href="#806">806</a> <strong class="jxr_keyword">if</strong>(priority.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) { +<a name="807" href="#807">807</a> String pattern = getResourceBundleString(key); +<a name="808" href="#808">808</a> String msg; +<a name="809" href="#809">809</a> <strong class="jxr_keyword">if</strong>(pattern == <strong class="jxr_keyword">null</strong>) +<a name="810" href="#810">810</a> msg = key; +<a name="811" href="#811">811</a> <strong class="jxr_keyword">else</strong> +<a name="812" href="#812">812</a> msg = java.text.MessageFormat.format(pattern, params); +<a name="813" href="#813">813</a> forcedLog(FQCN, priority, msg, t); +<a name="814" href="#814">814</a> } +<a name="815" href="#815">815</a> } +<a name="816" href="#816">816</a> +<a name="817" href="#817">817</a> <em class="jxr_javadoccomment">/**</em> +<a name="818" href="#818">818</a> <em class="jxr_javadoccomment"> This generic form is intended to be used by wrappers.</em> +<a name="819" href="#819">819</a> <em class="jxr_javadoccomment"> */</em> +<a name="820" href="#820">820</a> <strong class="jxr_keyword">public</strong> +<a name="821" href="#821">821</a> <strong class="jxr_keyword">void</strong> log(<a href="../../../org/apache/log4j/Priority.html">Priority</a> priority, Object message, Throwable t) { +<a name="822" href="#822">822</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(priority.level)) { +<a name="823" href="#823">823</a> <strong class="jxr_keyword">return</strong>; +<a name="824" href="#824">824</a> } +<a name="825" href="#825">825</a> <strong class="jxr_keyword">if</strong>(priority.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="826" href="#826">826</a> forcedLog(FQCN, priority, message, t); +<a name="827" href="#827">827</a> } +<a name="828" href="#828">828</a> +<a name="829" href="#829">829</a> <em class="jxr_javadoccomment">/**</em> +<a name="830" href="#830">830</a> <em class="jxr_javadoccomment"> This generic form is intended to be used by wrappers.</em> +<a name="831" href="#831">831</a> <em class="jxr_javadoccomment"> */</em> +<a name="832" href="#832">832</a> <strong class="jxr_keyword">public</strong> +<a name="833" href="#833">833</a> <strong class="jxr_keyword">void</strong> log(<a href="../../../org/apache/log4j/Priority.html">Priority</a> priority, Object message) { +<a name="834" href="#834">834</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(priority.level)) { +<a name="835" href="#835">835</a> <strong class="jxr_keyword">return</strong>; +<a name="836" href="#836">836</a> } +<a name="837" href="#837">837</a> <strong class="jxr_keyword">if</strong>(priority.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="838" href="#838">838</a> forcedLog(FQCN, priority, message, <strong class="jxr_keyword">null</strong>); +<a name="839" href="#839">839</a> } +<a name="840" href="#840">840</a> +<a name="841" href="#841">841</a> <em class="jxr_javadoccomment">/**</em> +<a name="842" href="#842">842</a> +<a name="843" href="#843">843</a> <em class="jxr_javadoccomment"> This is the most generic printing method. It is intended to be</em> +<a name="844" href="#844">844</a> <em class="jxr_javadoccomment"> invoked by &lt;b&gt;wrapper&lt;/b&gt; classes.</em> +<a name="845" href="#845">845</a> +<a name="846" href="#846">846</a> <em class="jxr_javadoccomment"> @param callerFQCN The wrapper class' fully qualified class name.</em> +<a name="847" href="#847">847</a> <em class="jxr_javadoccomment"> @param level The level of the logging request.</em> +<a name="848" href="#848">848</a> <em class="jxr_javadoccomment"> @param message The message of the logging request.</em> +<a name="849" href="#849">849</a> <em class="jxr_javadoccomment"> @param t The throwable of the logging request, may be null. */</em> +<a name="850" href="#850">850</a> <strong class="jxr_keyword">public</strong> +<a name="851" href="#851">851</a> <strong class="jxr_keyword">void</strong> log(String callerFQCN, <a href="../../../org/apache/log4j/Priority.html">Priority</a> level, Object message, Throwable t) { +<a name="852" href="#852">852</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(level.level)) { +<a name="853" href="#853">853</a> <strong class="jxr_keyword">return</strong>; +<a name="854" href="#854">854</a> } +<a name="855" href="#855">855</a> <strong class="jxr_keyword">if</strong>(level.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) { +<a name="856" href="#856">856</a> forcedLog(callerFQCN, level, message, t); +<a name="857" href="#857">857</a> } +<a name="858" href="#858">858</a> } +<a name="859" href="#859">859</a> +<a name="860" href="#860">860</a> <em class="jxr_javadoccomment">/**</em> +<a name="861" href="#861">861</a> <em class="jxr_javadoccomment"> * LoggerRepository forgot the fireRemoveAppenderEvent method,</em> +<a name="862" href="#862">862</a> <em class="jxr_javadoccomment"> * if using the stock Hierarchy implementation, then call its fireRemove.</em> +<a name="863" href="#863">863</a> <em class="jxr_javadoccomment"> * Custom repositories can implement HierarchyEventListener if they</em> +<a name="864" href="#864">864</a> <em class="jxr_javadoccomment"> * want remove notifications.</em> +<a name="865" href="#865">865</a> <em class="jxr_javadoccomment"> * @param appender appender, may be null.</em> +<a name="866" href="#866">866</a> <em class="jxr_javadoccomment"> */</em> +<a name="867" href="#867">867</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> fireRemoveAppenderEvent(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="868" href="#868">868</a> <strong class="jxr_keyword">if</strong> (appender != <strong class="jxr_keyword">null</strong>) { +<a name="869" href="#869">869</a> <strong class="jxr_keyword">if</strong> (repository instanceof Hierarchy) { +<a name="870" href="#870">870</a> ((<a href="../../../org/apache/log4j/Hierarchy.html">Hierarchy</a>) repository).fireRemoveAppenderEvent(<strong class="jxr_keyword">this</strong>, appender); +<a name="871" href="#871">871</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (repository instanceof HierarchyEventListener) { +<a name="872" href="#872">872</a> ((<a href="../../../org/apache/log4j/spi/HierarchyEventListener.html">HierarchyEventListener</a>) repository).removeAppenderEvent(<strong class="jxr_keyword">this</strong>, appender); +<a name="873" href="#873">873</a> } +<a name="874" href="#874">874</a> } +<a name="875" href="#875">875</a> } +<a name="876" href="#876">876</a> +<a name="877" href="#877">877</a> <em class="jxr_javadoccomment">/**</em> +<a name="878" href="#878">878</a> <em class="jxr_javadoccomment"> Remove all previously added appenders from this Category</em> +<a name="879" href="#879">879</a> <em class="jxr_javadoccomment"> instance.</em> +<a name="880" href="#880">880</a> +<a name="881" href="#881">881</a> <em class="jxr_javadoccomment"> &lt;p&gt;This is useful when re-reading configuration information.</em> +<a name="882" href="#882">882</a> <em class="jxr_javadoccomment"> */</em> +<a name="883" href="#883">883</a> <strong class="jxr_keyword">synchronized</strong> +<a name="884" href="#884">884</a> <strong class="jxr_keyword">public</strong> +<a name="885" href="#885">885</a> <strong class="jxr_keyword">void</strong> removeAllAppenders() { +<a name="886" href="#886">886</a> <strong class="jxr_keyword">if</strong>(aai != <strong class="jxr_keyword">null</strong>) { +<a name="887" href="#887">887</a> Vector appenders = <strong class="jxr_keyword">new</strong> Vector(); +<a name="888" href="#888">888</a> <strong class="jxr_keyword">for</strong> (Enumeration iter = aai.getAllAppenders(); iter != <strong class="jxr_keyword">null</strong> &amp;&amp; iter.hasMoreElements();) { +<a name="889" href="#889">889</a> appenders.add(iter.nextElement()); +<a name="890" href="#890">890</a> } +<a name="891" href="#891">891</a> aai.removeAllAppenders(); +<a name="892" href="#892">892</a> <strong class="jxr_keyword">for</strong>(Enumeration iter = appenders.elements(); iter.hasMoreElements();) { +<a name="893" href="#893">893</a> fireRemoveAppenderEvent((Appender) iter.nextElement()); +<a name="894" href="#894">894</a> } +<a name="895" href="#895">895</a> aai = <strong class="jxr_keyword">null</strong>; +<a name="896" href="#896">896</a> } +<a name="897" href="#897">897</a> } +<a name="898" href="#898">898</a> +<a name="899" href="#899">899</a> +<a name="900" href="#900">900</a> <em class="jxr_javadoccomment">/**</em> +<a name="901" href="#901">901</a> <em class="jxr_javadoccomment"> Remove the appender passed as parameter form the list of appenders.</em> +<a name="902" href="#902">902</a> +<a name="903" href="#903">903</a> <em class="jxr_javadoccomment"> @since 0.8.2</em> +<a name="904" href="#904">904</a> <em class="jxr_javadoccomment"> */</em> +<a name="905" href="#905">905</a> <strong class="jxr_keyword">synchronized</strong> +<a name="906" href="#906">906</a> <strong class="jxr_keyword">public</strong> +<a name="907" href="#907">907</a> <strong class="jxr_keyword">void</strong> removeAppender(<a href="../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="908" href="#908">908</a> <strong class="jxr_keyword">if</strong>(appender == <strong class="jxr_keyword">null</strong> || aai == <strong class="jxr_keyword">null</strong>) +<a name="909" href="#909">909</a> <strong class="jxr_keyword">return</strong>; +<a name="910" href="#910">910</a> <strong class="jxr_keyword">boolean</strong> wasAttached = aai.isAttached(appender); +<a name="911" href="#911">911</a> aai.removeAppender(appender); +<a name="912" href="#912">912</a> <strong class="jxr_keyword">if</strong> (wasAttached) { +<a name="913" href="#913">913</a> fireRemoveAppenderEvent(appender); +<a name="914" href="#914">914</a> } +<a name="915" href="#915">915</a> } +<a name="916" href="#916">916</a> +<a name="917" href="#917">917</a> <em class="jxr_javadoccomment">/**</em> +<a name="918" href="#918">918</a> <em class="jxr_javadoccomment"> Remove the appender with the name passed as parameter form the</em> +<a name="919" href="#919">919</a> <em class="jxr_javadoccomment"> list of appenders.</em> +<a name="920" href="#920">920</a> +<a name="921" href="#921">921</a> <em class="jxr_javadoccomment"> @since 0.8.2 */</em> +<a name="922" href="#922">922</a> <strong class="jxr_keyword">synchronized</strong> +<a name="923" href="#923">923</a> <strong class="jxr_keyword">public</strong> +<a name="924" href="#924">924</a> <strong class="jxr_keyword">void</strong> removeAppender(String name) { +<a name="925" href="#925">925</a> <strong class="jxr_keyword">if</strong>(name == <strong class="jxr_keyword">null</strong> || aai == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong>; +<a name="926" href="#926">926</a> <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender = aai.getAppender(name); +<a name="927" href="#927">927</a> aai.removeAppender(name); +<a name="928" href="#928">928</a> <strong class="jxr_keyword">if</strong> (appender != <strong class="jxr_keyword">null</strong>) { +<a name="929" href="#929">929</a> fireRemoveAppenderEvent(appender); +<a name="930" href="#930">930</a> } +<a name="931" href="#931">931</a> } +<a name="932" href="#932">932</a> +<a name="933" href="#933">933</a> <em class="jxr_javadoccomment">/**</em> +<a name="934" href="#934">934</a> <em class="jxr_javadoccomment"> Set the additivity flag for this Category instance.</em> +<a name="935" href="#935">935</a> <em class="jxr_javadoccomment"> @since 0.8.1</em> +<a name="936" href="#936">936</a> <em class="jxr_javadoccomment"> */</em> +<a name="937" href="#937">937</a> <strong class="jxr_keyword">public</strong> +<a name="938" href="#938">938</a> <strong class="jxr_keyword">void</strong> setAdditivity(<strong class="jxr_keyword">boolean</strong> additive) { +<a name="939" href="#939">939</a> <strong class="jxr_keyword">this</strong>.additive = additive; +<a name="940" href="#940">940</a> } +<a name="941" href="#941">941</a> +<a name="942" href="#942">942</a> <em class="jxr_javadoccomment">/**</em> +<a name="943" href="#943">943</a> <em class="jxr_javadoccomment"> Only the Hiearchy class can set the hiearchy of a</em> +<a name="944" href="#944">944</a> <em class="jxr_javadoccomment"> category. Default package access is MANDATORY here. */</em> +<a name="945" href="#945">945</a> <strong class="jxr_keyword">final</strong> +<a name="946" href="#946">946</a> <strong class="jxr_keyword">void</strong> setHierarchy(<a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) { +<a name="947" href="#947">947</a> <strong class="jxr_keyword">this</strong>.repository = repository; +<a name="948" href="#948">948</a> } +<a name="949" href="#949">949</a> +<a name="950" href="#950">950</a> <em class="jxr_javadoccomment">/**</em> +<a name="951" href="#951">951</a> <em class="jxr_javadoccomment"> Set the level of this Category. If you are passing any of</em> +<a name="952" href="#952">952</a> <em class="jxr_javadoccomment"> &lt;code&gt;Level.DEBUG&lt;/code&gt;, &lt;code&gt;Level.INFO&lt;/code&gt;,</em> +<a name="953" href="#953">953</a> <em class="jxr_javadoccomment"> &lt;code&gt;Level.WARN&lt;/code&gt;, &lt;code&gt;Level.ERROR&lt;/code&gt;,</em> +<a name="954" href="#954">954</a> <em class="jxr_javadoccomment"> &lt;code&gt;Level.FATAL&lt;/code&gt; as a parameter, you need to case them as</em> +<a name="955" href="#955">955</a> <em class="jxr_javadoccomment"> Level.</em> +<a name="956" href="#956">956</a> +<a name="957" href="#957">957</a> <em class="jxr_javadoccomment"> &lt;p&gt;As in &lt;pre&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;logger.setLevel((Level) Level.DEBUG); &lt;/pre&gt;</em> +<a name="958" href="#958">958</a> +<a name="959" href="#959">959</a> +<a name="960" href="#960">960</a> <em class="jxr_javadoccomment"> &lt;p&gt;Null values are admitted. */</em> +<a name="961" href="#961">961</a> <strong class="jxr_keyword">public</strong> +<a name="962" href="#962">962</a> <strong class="jxr_keyword">void</strong> setLevel(<a href="../../../org/apache/log4j/Level.html">Level</a> level) { +<a name="963" href="#963">963</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="964" href="#964">964</a> } +<a name="965" href="#965">965</a> +<a name="966" href="#966">966</a> +<a name="967" href="#967">967</a> <em class="jxr_javadoccomment">/**</em> +<a name="968" href="#968">968</a> <em class="jxr_javadoccomment"> Set the level of this Category.</em> +<a name="969" href="#969">969</a> +<a name="970" href="#970">970</a> <em class="jxr_javadoccomment"> &lt;p&gt;Null values are admitted.</em> +<a name="971" href="#971">971</a> +<a name="972" href="#972">972</a> <em class="jxr_javadoccomment"> @deprecated Please use {@link #setLevel} instead.</em> +<a name="973" href="#973">973</a> <em class="jxr_javadoccomment"> */</em> +<a name="974" href="#974">974</a> <strong class="jxr_keyword">public</strong> +<a name="975" href="#975">975</a> <strong class="jxr_keyword">void</strong> setPriority(<a href="../../../org/apache/log4j/Priority.html">Priority</a> priority) { +<a name="976" href="#976">976</a> <strong class="jxr_keyword">this</strong>.level = (Level) priority; +<a name="977" href="#977">977</a> } +<a name="978" href="#978">978</a> +<a name="979" href="#979">979</a> +<a name="980" href="#980">980</a> <em class="jxr_javadoccomment">/**</em> +<a name="981" href="#981">981</a> <em class="jxr_javadoccomment"> Set the resource bundle to be used with localized logging</em> +<a name="982" href="#982">982</a> <em class="jxr_javadoccomment"> methods {@link #l7dlog(Priority,String,Throwable)} and {@link</em> +<a name="983" href="#983">983</a> <em class="jxr_javadoccomment"> #l7dlog(Priority,String,Object[],Throwable)}.</em> +<a name="984" href="#984">984</a> +<a name="985" href="#985">985</a> <em class="jxr_javadoccomment"> @since 0.8.4</em> +<a name="986" href="#986">986</a> <em class="jxr_javadoccomment"> */</em> +<a name="987" href="#987">987</a> <strong class="jxr_keyword">public</strong> +<a name="988" href="#988">988</a> <strong class="jxr_keyword">void</strong> setResourceBundle(ResourceBundle bundle) { +<a name="989" href="#989">989</a> resourceBundle = bundle; +<a name="990" href="#990">990</a> } +<a name="991" href="#991">991</a> +<a name="992" href="#992">992</a> <em class="jxr_javadoccomment">/**</em> +<a name="993" href="#993">993</a> <em class="jxr_javadoccomment"> Calling this method will &lt;em&gt;safely&lt;/em&gt; close and remove all</em> +<a name="994" href="#994">994</a> <em class="jxr_javadoccomment"> appenders in all the categories including root contained in the</em> +<a name="995" href="#995">995</a> <em class="jxr_javadoccomment"> default hierachy.</em> +<a name="996" href="#996">996</a> +<a name="997" href="#997">997</a> <em class="jxr_javadoccomment"> &lt;p&gt;Some appenders such as {@link org.apache.log4j.net.SocketAppender}</em> +<a name="998" href="#998">998</a> <em class="jxr_javadoccomment"> and {@link AsyncAppender} need to be closed before the</em> +<a name="999" href="#999">999</a> <em class="jxr_javadoccomment"> application exists. Otherwise, pending logging events might be</em> +<a name="1000" href="#1000">1000</a> <em class="jxr_javadoccomment"> lost.</em> +<a name="1001" href="#1001">1001</a> +<a name="1002" href="#1002">1002</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;shutdown&lt;/code&gt; method is careful to close nested</em> +<a name="1003" href="#1003">1003</a> <em class="jxr_javadoccomment"> appenders before closing regular appenders. This is allows</em> +<a name="1004" href="#1004">1004</a> <em class="jxr_javadoccomment"> configurations where a regular appender is attached to a category</em> +<a name="1005" href="#1005">1005</a> <em class="jxr_javadoccomment"> and again to a nested appender.</em> +<a name="1006" href="#1006">1006</a> +<a name="1007" href="#1007">1007</a> <em class="jxr_javadoccomment"> @deprecated Please use {@link LogManager#shutdown()} instead.</em> +<a name="1008" href="#1008">1008</a> +<a name="1009" href="#1009">1009</a> <em class="jxr_javadoccomment"> @since 1.0</em> +<a name="1010" href="#1010">1010</a> <em class="jxr_javadoccomment"> */</em> +<a name="1011" href="#1011">1011</a> <strong class="jxr_keyword">public</strong> +<a name="1012" href="#1012">1012</a> <strong class="jxr_keyword">static</strong> +<a name="1013" href="#1013">1013</a> <strong class="jxr_keyword">void</strong> shutdown() { +<a name="1014" href="#1014">1014</a> LogManager.shutdown(); +<a name="1015" href="#1015">1015</a> } +<a name="1016" href="#1016">1016</a> +<a name="1017" href="#1017">1017</a> +<a name="1018" href="#1018">1018</a> <em class="jxr_javadoccomment">/**</em> +<a name="1019" href="#1019">1019</a> <em class="jxr_javadoccomment"> Log a message object with the {@link Level#WARN WARN} Level.</em> +<a name="1020" href="#1020">1020</a> +<a name="1021" href="#1021">1021</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method first checks if this category is &lt;code&gt;WARN&lt;/code&gt;</em> +<a name="1022" href="#1022">1022</a> <em class="jxr_javadoccomment"> enabled by comparing the level of this category with {@link</em> +<a name="1023" href="#1023">1023</a> <em class="jxr_javadoccomment"> Level#WARN WARN} Level. If the category is &lt;code&gt;WARN&lt;/code&gt;</em> +<a name="1024" href="#1024">1024</a> <em class="jxr_javadoccomment"> enabled, then it converts the message object passed as parameter</em> +<a name="1025" href="#1025">1025</a> <em class="jxr_javadoccomment"> to a string by invoking the appropriate</em> +<a name="1026" href="#1026">1026</a> <em class="jxr_javadoccomment"> {@link org.apache.log4j.or.ObjectRenderer}. It</em> +<a name="1027" href="#1027">1027</a> <em class="jxr_javadoccomment"> proceeds to call all the registered appenders in this category and</em> +<a name="1028" href="#1028">1028</a> <em class="jxr_javadoccomment"> also higher in the hieararchy depending on the value of the</em> +<a name="1029" href="#1029">1029</a> <em class="jxr_javadoccomment"> additivity flag.</em> +<a name="1030" href="#1030">1030</a> +<a name="1031" href="#1031">1031</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Note that passing a {@link Throwable} to this</em> +<a name="1032" href="#1032">1032</a> <em class="jxr_javadoccomment"> method will print the name of the Throwable but no stack trace. To</em> +<a name="1033" href="#1033">1033</a> <em class="jxr_javadoccomment"> print a stack trace use the {@link #warn(Object, Throwable)} form</em> +<a name="1034" href="#1034">1034</a> <em class="jxr_javadoccomment"> instead. &lt;p&gt;</em> +<a name="1035" href="#1035">1035</a> +<a name="1036" href="#1036">1036</a> <em class="jxr_javadoccomment"> @param message the message object to log. */</em> +<a name="1037" href="#1037">1037</a> <strong class="jxr_keyword">public</strong> +<a name="1038" href="#1038">1038</a> <strong class="jxr_keyword">void</strong> warn(Object message) { +<a name="1039" href="#1039">1039</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled( Level.WARN_INT)) +<a name="1040" href="#1040">1040</a> <strong class="jxr_keyword">return</strong>; +<a name="1041" href="#1041">1041</a> +<a name="1042" href="#1042">1042</a> <strong class="jxr_keyword">if</strong>(Level.WARN.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="1043" href="#1043">1043</a> forcedLog(FQCN, Level.WARN, message, <strong class="jxr_keyword">null</strong>); +<a name="1044" href="#1044">1044</a> } +<a name="1045" href="#1045">1045</a> +<a name="1046" href="#1046">1046</a> <em class="jxr_javadoccomment">/**</em> +<a name="1047" href="#1047">1047</a> <em class="jxr_javadoccomment"> Log a message with the &lt;code&gt;WARN&lt;/code&gt; level including the</em> +<a name="1048" href="#1048">1048</a> <em class="jxr_javadoccomment"> stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as</em> +<a name="1049" href="#1049">1049</a> <em class="jxr_javadoccomment"> parameter.</em> +<a name="1050" href="#1050">1050</a> +<a name="1051" href="#1051">1051</a> <em class="jxr_javadoccomment"> &lt;p&gt;See {@link #warn(Object)} for more detailed information.</em> +<a name="1052" href="#1052">1052</a> +<a name="1053" href="#1053">1053</a> <em class="jxr_javadoccomment"> @param message the message object to log.</em> +<a name="1054" href="#1054">1054</a> <em class="jxr_javadoccomment"> @param t the exception to log, including its stack trace. */</em> +<a name="1055" href="#1055">1055</a> <strong class="jxr_keyword">public</strong> +<a name="1056" href="#1056">1056</a> <strong class="jxr_keyword">void</strong> warn(Object message, Throwable t) { +<a name="1057" href="#1057">1057</a> <strong class="jxr_keyword">if</strong>(repository.isDisabled(Level.WARN_INT)) +<a name="1058" href="#1058">1058</a> <strong class="jxr_keyword">return</strong>; +<a name="1059" href="#1059">1059</a> <strong class="jxr_keyword">if</strong>(Level.WARN.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) +<a name="1060" href="#1060">1060</a> forcedLog(FQCN, Level.WARN, message, t); +<a name="1061" href="#1061">1061</a> } +<a name="1062" href="#1062">1062</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/CategoryKey.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/CategoryKey.html new file mode 100644 index 00000000000..52a3db603b3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/CategoryKey.html @@ -0,0 +1,66 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryKey xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/CategoryKey.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> CategoryKey is a wrapper for String that apparently accellerated</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> hash table lookup in early JVM's.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml; </em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">*/</em> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/CategoryKey.html">CategoryKey</a> { +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> String name; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">int</strong> hashCache; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <a href="../../../org/apache/log4j/CategoryKey.html">CategoryKey</a>(String name) { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">this</strong>.name = name; +<a name="32" href="#32">32</a> hashCache = name.hashCode(); +<a name="33" href="#33">33</a> } +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">final</strong> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">int</strong> hashCode() { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">return</strong> hashCache; +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">final</strong> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">boolean</strong> equals(Object rArg) { +<a name="44" href="#44">44</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong> == rArg) +<a name="45" href="#45">45</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">if</strong>(rArg != <strong class="jxr_keyword">null</strong> &amp;&amp; CategoryKey.<strong class="jxr_keyword">class</strong> == rArg.getClass()) +<a name="48" href="#48">48</a> <strong class="jxr_keyword">return</strong> name.equals(((CategoryKey)rArg ).name); +<a name="49" href="#49">49</a> <strong class="jxr_keyword">else</strong> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">return</strong> false; +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/ConsoleAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/ConsoleAppender.html new file mode 100644 index 00000000000..35249889436 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/ConsoleAppender.html @@ -0,0 +1,234 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ConsoleAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/ConsoleAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.OutputStream; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * ConsoleAppender appends log events to &lt;code&gt;System.out&lt;/code&gt; or</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * &lt;code&gt;System.err&lt;/code&gt; using a layout specified by the user. The</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * default target is &lt;code&gt;System.out&lt;/code&gt;.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> *</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml; </em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @since 1.1 */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">ConsoleAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/WriterAppender.html">WriterAppender</a> { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String SYSTEM_OUT = <span class="jxr_string">"System.out"</span>; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String SYSTEM_ERR = <span class="jxr_string">"System.err"</span>; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">protected</strong> String target = SYSTEM_OUT; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * Determines if the appender honors reassignments of System.out</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * or System.err made after configuration.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> follow = false; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * Constructs an unconfigured appender.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">ConsoleAppender</a>() { +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * Creates a configured appender.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> *</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * @param layout layout, may not be null.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">ConsoleAppender</a>(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout) { +<a name="57" href="#57">57</a> <strong class="jxr_keyword">this</strong>(layout, SYSTEM_OUT); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * Creates a configured appender.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * @param layout layout, may not be null.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * @param target target, either "System.err" or "System.out".</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">ConsoleAppender</a>(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout, String target) { +<a name="66" href="#66">66</a> setLayout(layout); +<a name="67" href="#67">67</a> setTarget(target); +<a name="68" href="#68">68</a> activateOptions(); +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment">/**</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * Sets the value of the &lt;b&gt;Target&lt;/b&gt; option. Recognized values</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> * are "System.out" and "System.err". Any other value will be</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * ignored. </em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">void</strong> setTarget(String value) { +<a name="78" href="#78">78</a> String v = value.trim(); +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">if</strong> (SYSTEM_OUT.equalsIgnoreCase(v)) { +<a name="81" href="#81">81</a> target = SYSTEM_OUT; +<a name="82" href="#82">82</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (SYSTEM_ERR.equalsIgnoreCase(v)) { +<a name="83" href="#83">83</a> target = SYSTEM_ERR; +<a name="84" href="#84">84</a> } <strong class="jxr_keyword">else</strong> { +<a name="85" href="#85">85</a> targetWarn(value); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * Returns the current value of the &lt;b&gt;Target&lt;/b&gt; property. The</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * default value of the option is "System.out".</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> *</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * See also {@link #setTarget}.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * */</em> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">public</strong> +<a name="96" href="#96">96</a> String getTarget() { +<a name="97" href="#97">97</a> <strong class="jxr_keyword">return</strong> target; +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">/**</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> * Sets whether the appender honors reassignments of System.out</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * or System.err made after configuration.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * @param newValue if true, appender will use value of System.out or</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> * System.err in force at the time when logging events are appended.</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> * @since 1.2.13</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> */</em> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setFollow(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> newValue) { +<a name="108" href="#108">108</a> follow = newValue; +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">/**</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> * Gets whether the appender honors reassignments of System.out</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> * or System.err made after configuration.</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> * @return true if appender will use value of System.out or</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> * System.err in force at the time when logging events are appended.</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> * @since 1.2.13</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> */</em> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> getFollow() { +<a name="119" href="#119">119</a> <strong class="jxr_keyword">return</strong> follow; +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">void</strong> targetWarn(String val) { +<a name="123" href="#123">123</a> LogLog.warn(<span class="jxr_string">"["</span>+val+<span class="jxr_string">"] should be System.out or System.err."</span>); +<a name="124" href="#124">124</a> LogLog.warn(<span class="jxr_string">"Using previously set target, System.out by default."</span>); +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">/**</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * Prepares the appender for use.</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> */</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="131" href="#131">131</a> <strong class="jxr_keyword">if</strong> (follow) { +<a name="132" href="#132">132</a> <strong class="jxr_keyword">if</strong> (target.equals(SYSTEM_ERR)) { +<a name="133" href="#133">133</a> setWriter(createWriter(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">SystemErrStream</a>())); +<a name="134" href="#134">134</a> } <strong class="jxr_keyword">else</strong> { +<a name="135" href="#135">135</a> setWriter(createWriter(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">SystemOutStream</a>())); +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> } <strong class="jxr_keyword">else</strong> { +<a name="138" href="#138">138</a> <strong class="jxr_keyword">if</strong> (target.equals(SYSTEM_ERR)) { +<a name="139" href="#139">139</a> setWriter(createWriter(System.err)); +<a name="140" href="#140">140</a> } <strong class="jxr_keyword">else</strong> { +<a name="141" href="#141">141</a> setWriter(createWriter(System.out)); +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">super</strong>.activateOptions(); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">/**</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> */</em> +<a name="151" href="#151">151</a> <strong class="jxr_keyword">protected</strong> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">final</strong> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">void</strong> closeWriter() { +<a name="154" href="#154">154</a> <strong class="jxr_keyword">if</strong> (follow) { +<a name="155" href="#155">155</a> <strong class="jxr_keyword">super</strong>.closeWriter(); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">/**</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> * An implementation of OutputStream that redirects to the</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * current System.err.</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> *</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">SystemErrStream</a> <strong class="jxr_keyword">extends</strong> OutputStream { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">SystemErrStream</a>() { +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> flush() { +<a name="173" href="#173">173</a> System.err.flush(); +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">final</strong> byte[] b) <strong class="jxr_keyword">throws</strong> IOException { +<a name="177" href="#177">177</a> System.err.write(b); +<a name="178" href="#178">178</a> } +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">final</strong> byte[] b, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> off, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> len) +<a name="181" href="#181">181</a> <strong class="jxr_keyword">throws</strong> IOException { +<a name="182" href="#182">182</a> System.err.write(b, off, len); +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> b) <strong class="jxr_keyword">throws</strong> IOException { +<a name="186" href="#186">186</a> System.err.write(b); +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">/**</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> * An implementation of OutputStream that redirects to the</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> * current System.out.</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> *</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> */</em> +<a name="195" href="#195">195</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">SystemOutStream</a> <strong class="jxr_keyword">extends</strong> OutputStream { +<a name="196" href="#196">196</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/ConsoleAppender.html">SystemOutStream</a>() { +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> flush() { +<a name="203" href="#203">203</a> System.out.flush(); +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">final</strong> byte[] b) <strong class="jxr_keyword">throws</strong> IOException { +<a name="207" href="#207">207</a> System.out.write(b); +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">final</strong> byte[] b, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> off, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> len) +<a name="211" href="#211">211</a> <strong class="jxr_keyword">throws</strong> IOException { +<a name="212" href="#212">212</a> System.out.write(b, off, len); +<a name="213" href="#213">213</a> } +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> b) <strong class="jxr_keyword">throws</strong> IOException { +<a name="216" href="#216">216</a> System.out.write(b); +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> } +<a name="219" href="#219">219</a> +<a name="220" href="#220">220</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DailyRollingFileAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DailyRollingFileAppender.html new file mode 100644 index 00000000000..d7d78cdc4b1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DailyRollingFileAppender.html @@ -0,0 +1,468 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DailyRollingFileAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/DailyRollingFileAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.GregorianCalendar; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Calendar; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> java.util.Locale; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> DailyRollingFileAppender extends {@link FileAppender} so that the</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> underlying file is rolled over at a user chosen frequency.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> </em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> DailyRollingFileAppender has been observed to exhibit </em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> synchronization issues and data loss. The log4j extras</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> companion includes alternatives which should be considered</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> for new deployments and which are discussed in the documentation</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> for org.apache.log4j.rolling.RollingFileAppender.</em> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> &lt;p&gt;The rolling schedule is specified by the &lt;b&gt;DatePattern&lt;/b&gt;</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> option. This pattern should follow the {@link SimpleDateFormat}</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> conventions. In particular, you &lt;em&gt;must&lt;/em&gt; escape literal text</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> within a pair of single quotes. A formatted version of the date</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> pattern is used as the suffix for the rolled file name.</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, if the &lt;b&gt;File&lt;/b&gt; option is set to</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> &lt;code&gt;/foo/bar.log&lt;/code&gt; and the &lt;b&gt;DatePattern&lt;/b&gt; set to</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> &lt;code&gt;'.'yyyy-MM-dd&lt;/code&gt;, on 2001-02-16 at midnight, the logging</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> file &lt;code&gt;/foo/bar.log&lt;/code&gt; will be copied to</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> &lt;code&gt;/foo/bar.log.2001-02-16&lt;/code&gt; and logging for 2001-02-17</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> will continue in &lt;code&gt;/foo/bar.log&lt;/code&gt; until it rolls over</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> the next day.</em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> &lt;p&gt;Is is possible to specify monthly, weekly, half-daily, daily,</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> hourly, or minutely rollover schedules.</em> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;table border="1" cellpadding="2"&gt;</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> &lt;th&gt;DatePattern&lt;/th&gt;</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> &lt;th&gt;Rollover schedule&lt;/th&gt;</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> &lt;th&gt;Example&lt;/th&gt;</em> +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> &lt;td&gt;&lt;code&gt;'.'yyyy-MM&lt;/code&gt;</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> &lt;td&gt;Rollover at the beginning of each month&lt;/td&gt;</em> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> &lt;td&gt;At midnight of May 31st, 2002 &lt;code&gt;/foo/bar.log&lt;/code&gt; will be</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> copied to &lt;code&gt;/foo/bar.log.2002-05&lt;/code&gt;. Logging for the month</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> of June will be output to &lt;code&gt;/foo/bar.log&lt;/code&gt; until it is</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> also rolled over the next month.</em> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> &lt;td&gt;&lt;code&gt;'.'yyyy-ww&lt;/code&gt;</em> +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> &lt;td&gt;Rollover at the first day of each week. The first day of the</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> week depends on the locale.&lt;/td&gt;</em> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> &lt;td&gt;Assuming the first day of the week is Sunday, on Saturday</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> midnight, June 9th 2002, the file &lt;i&gt;/foo/bar.log&lt;/i&gt; will be</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> copied to &lt;i&gt;/foo/bar.log.2002-23&lt;/i&gt;. Logging for the 24th week</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> of 2002 will be output to &lt;code&gt;/foo/bar.log&lt;/code&gt; until it is</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> rolled over the next week.</em> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> &lt;td&gt;&lt;code&gt;'.'yyyy-MM-dd&lt;/code&gt;</em> +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> &lt;td&gt;Rollover at midnight each day.&lt;/td&gt;</em> +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> &lt;td&gt;At midnight, on March 8th, 2002, &lt;code&gt;/foo/bar.log&lt;/code&gt; will</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> be copied to &lt;code&gt;/foo/bar.log.2002-03-08&lt;/code&gt;. Logging for the</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> 9th day of March will be output to &lt;code&gt;/foo/bar.log&lt;/code&gt; until</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> it is rolled over the next day.</em> +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> &lt;td&gt;&lt;code&gt;'.'yyyy-MM-dd-a&lt;/code&gt;</em> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> &lt;td&gt;Rollover at midnight and midday of each day.&lt;/td&gt;</em> +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> &lt;td&gt;At noon, on March 9th, 2002, &lt;code&gt;/foo/bar.log&lt;/code&gt; will be</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> copied to &lt;code&gt;/foo/bar.log.2002-03-09-AM&lt;/code&gt;. Logging for the</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> afternoon of the 9th will be output to &lt;code&gt;/foo/bar.log&lt;/code&gt;</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> until it is rolled over at midnight.</em> +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> &lt;td&gt;&lt;code&gt;'.'yyyy-MM-dd-HH&lt;/code&gt;</em> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> &lt;td&gt;Rollover at the top of every hour.&lt;/td&gt;</em> +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> &lt;td&gt;At approximately 11:00.000 o'clock on March 9th, 2002,</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> &lt;code&gt;/foo/bar.log&lt;/code&gt; will be copied to</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> &lt;code&gt;/foo/bar.log.2002-03-09-10&lt;/code&gt;. Logging for the 11th hour</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> of the 9th of March will be output to &lt;code&gt;/foo/bar.log&lt;/code&gt;</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> until it is rolled over at the beginning of the next hour.</em> +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> &lt;td&gt;&lt;code&gt;'.'yyyy-MM-dd-HH-mm&lt;/code&gt;</em> +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> &lt;td&gt;Rollover at the beginning of every minute.&lt;/td&gt;</em> +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> &lt;td&gt;At approximately 11:23,000, on March 9th, 2001,</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> &lt;code&gt;/foo/bar.log&lt;/code&gt; will be copied to</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> &lt;code&gt;/foo/bar.log.2001-03-09-10-22&lt;/code&gt;. Logging for the minute</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> of 11:23 (9th of March) will be output to</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> &lt;code&gt;/foo/bar.log&lt;/code&gt; until it is rolled over the next minute.</em> +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> &lt;/table&gt;</em> +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> &lt;p&gt;Do not use the colon ":" character in anywhere in the</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> &lt;b&gt;DatePattern&lt;/b&gt; option. The text before the colon is interpeted</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> as the protocol specificaion of a URL which is probably not what</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> you want.</em> +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> @author Eirik Lygre</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;*/</em> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/DailyRollingFileAppender.html">DailyRollingFileAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/FileAppender.html">FileAppender</a> { +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_comment">// The code assumes that the following constants are in a increasing</em> +<a name="146" href="#146">146</a> <em class="jxr_comment">// sequence.</em> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TOP_OF_TROUBLE=-1; +<a name="148" href="#148">148</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TOP_OF_MINUTE = 0; +<a name="149" href="#149">149</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TOP_OF_HOUR = 1; +<a name="150" href="#150">150</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> HALF_DAY = 2; +<a name="151" href="#151">151</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TOP_OF_DAY = 3; +<a name="152" href="#152">152</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TOP_OF_WEEK = 4; +<a name="153" href="#153">153</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TOP_OF_MONTH = 5; +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment">/**</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> The date pattern. By default, the pattern is set to</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> "'.'yyyy-MM-dd" meaning daily rollover.</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> */</em> +<a name="160" href="#160">160</a> <strong class="jxr_keyword">private</strong> String datePattern = <span class="jxr_string">"'.'yyyy-MM-dd"</span>; +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">/**</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> The log file will be renamed to the value of the</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> scheduledFilename variable when the next interval is entered. For</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> example, if the rollover period is one hour, the log file will be</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> renamed to the value of "scheduledFilename" at the beginning of</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> the next hour. </em> +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> The precise time when a rollover occurs depends on logging</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> activity. </em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> */</em> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">private</strong> String scheduledFilename; +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">/**</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> The next time we estimate a rollover should occur. */</em> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> nextCheck = System.currentTimeMillis () - 1; +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> Date now = <strong class="jxr_keyword">new</strong> Date(); +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> SimpleDateFormat sdf; +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <a href="../../../org/apache/log4j/DailyRollingFileAppender.html">RollingCalendar</a> rc = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/DailyRollingFileAppender.html">RollingCalendar</a>(); +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">int</strong> checkPeriod = TOP_OF_TROUBLE; +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> <em class="jxr_comment">// The gmtTimeZone is used only in computeCheckPeriod() method.</em> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> TimeZone gmtTimeZone = TimeZone.getTimeZone(<span class="jxr_string">"GMT"</span>); +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">/**</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> The default constructor does nothing. */</em> +<a name="192" href="#192">192</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/DailyRollingFileAppender.html">DailyRollingFileAppender</a>() { +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">/**</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> Instantiate a &lt;code&gt;DailyRollingFileAppender&lt;/code&gt; and open the</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> file designated by &lt;code&gt;filename&lt;/code&gt;. The opened filename will</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> become the ouput destination for this appender.</em> +<a name="199" href="#199">199</a> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> */</em> +<a name="201" href="#201">201</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/DailyRollingFileAppender.html">DailyRollingFileAppender</a> (Layout layout, String filename, +<a name="202" href="#202">202</a> String datePattern) <strong class="jxr_keyword">throws</strong> IOException { +<a name="203" href="#203">203</a> <strong class="jxr_keyword">super</strong>(layout, filename, <strong class="jxr_keyword">true</strong>); +<a name="204" href="#204">204</a> <strong class="jxr_keyword">this</strong>.datePattern = datePattern; +<a name="205" href="#205">205</a> activateOptions(); +<a name="206" href="#206">206</a> } +<a name="207" href="#207">207</a> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment">/**</em> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> The &lt;b&gt;DatePattern&lt;/b&gt; takes a string in the same format as</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> expected by {@link SimpleDateFormat}. This options determines the</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> rollover schedule.</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> */</em> +<a name="213" href="#213">213</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDatePattern(String pattern) { +<a name="214" href="#214">214</a> datePattern = pattern; +<a name="215" href="#215">215</a> } +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Returns the value of the &lt;b&gt;DatePattern&lt;/b&gt; option. */</em> +<a name="218" href="#218">218</a> <strong class="jxr_keyword">public</strong> String getDatePattern() { +<a name="219" href="#219">219</a> <strong class="jxr_keyword">return</strong> datePattern; +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="223" href="#223">223</a> <strong class="jxr_keyword">super</strong>.activateOptions(); +<a name="224" href="#224">224</a> <strong class="jxr_keyword">if</strong>(datePattern != <strong class="jxr_keyword">null</strong> &amp;&amp; fileName != <strong class="jxr_keyword">null</strong>) { +<a name="225" href="#225">225</a> now.setTime(System.currentTimeMillis()); +<a name="226" href="#226">226</a> sdf = <strong class="jxr_keyword">new</strong> SimpleDateFormat(datePattern); +<a name="227" href="#227">227</a> <strong class="jxr_keyword">int</strong> type = computeCheckPeriod(); +<a name="228" href="#228">228</a> printPeriodicity(type); +<a name="229" href="#229">229</a> rc.setType(type); +<a name="230" href="#230">230</a> File file = <strong class="jxr_keyword">new</strong> File(fileName); +<a name="231" href="#231">231</a> scheduledFilename = fileName+sdf.format(<strong class="jxr_keyword">new</strong> Date(file.lastModified())); +<a name="232" href="#232">232</a> +<a name="233" href="#233">233</a> } <strong class="jxr_keyword">else</strong> { +<a name="234" href="#234">234</a> LogLog.error(<span class="jxr_string">"Either File or DatePattern options are not set for appender ["</span> +<a name="235" href="#235">235</a> +name+<span class="jxr_string">"]."</span>); +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <strong class="jxr_keyword">void</strong> printPeriodicity(<strong class="jxr_keyword">int</strong> type) { +<a name="240" href="#240">240</a> <strong class="jxr_keyword">switch</strong>(type) { +<a name="241" href="#241">241</a> <strong class="jxr_keyword">case</strong> TOP_OF_MINUTE: +<a name="242" href="#242">242</a> LogLog.debug(<span class="jxr_string">"Appender ["</span>+name+<span class="jxr_string">"] to be rolled every minute."</span>); +<a name="243" href="#243">243</a> <strong class="jxr_keyword">break</strong>; +<a name="244" href="#244">244</a> <strong class="jxr_keyword">case</strong> TOP_OF_HOUR: +<a name="245" href="#245">245</a> LogLog.debug(<span class="jxr_string">"Appender ["</span>+name +<a name="246" href="#246">246</a> +<span class="jxr_string">"] to be rolled on top of every hour."</span>); +<a name="247" href="#247">247</a> <strong class="jxr_keyword">break</strong>; +<a name="248" href="#248">248</a> <strong class="jxr_keyword">case</strong> HALF_DAY: +<a name="249" href="#249">249</a> LogLog.debug(<span class="jxr_string">"Appender ["</span>+name +<a name="250" href="#250">250</a> +<span class="jxr_string">"] to be rolled at midday and midnight."</span>); +<a name="251" href="#251">251</a> <strong class="jxr_keyword">break</strong>; +<a name="252" href="#252">252</a> <strong class="jxr_keyword">case</strong> TOP_OF_DAY: +<a name="253" href="#253">253</a> LogLog.debug(<span class="jxr_string">"Appender ["</span>+name +<a name="254" href="#254">254</a> +<span class="jxr_string">"] to be rolled at midnight."</span>); +<a name="255" href="#255">255</a> <strong class="jxr_keyword">break</strong>; +<a name="256" href="#256">256</a> <strong class="jxr_keyword">case</strong> TOP_OF_WEEK: +<a name="257" href="#257">257</a> LogLog.debug(<span class="jxr_string">"Appender ["</span>+name +<a name="258" href="#258">258</a> +<span class="jxr_string">"] to be rolled at start of week."</span>); +<a name="259" href="#259">259</a> <strong class="jxr_keyword">break</strong>; +<a name="260" href="#260">260</a> <strong class="jxr_keyword">case</strong> TOP_OF_MONTH: +<a name="261" href="#261">261</a> LogLog.debug(<span class="jxr_string">"Appender ["</span>+name +<a name="262" href="#262">262</a> +<span class="jxr_string">"] to be rolled at start of every month."</span>); +<a name="263" href="#263">263</a> <strong class="jxr_keyword">break</strong>; +<a name="264" href="#264">264</a> <strong class="jxr_keyword">default</strong>: +<a name="265" href="#265">265</a> LogLog.warn(<span class="jxr_string">"Unknown periodicity for appender ["</span>+name+<span class="jxr_string">"]."</span>); +<a name="266" href="#266">266</a> } +<a name="267" href="#267">267</a> } +<a name="268" href="#268">268</a> +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> <em class="jxr_comment">// This method computes the roll over period by looping over the</em> +<a name="271" href="#271">271</a> <em class="jxr_comment">// periods, starting with the shortest, and stopping when the r0 is</em> +<a name="272" href="#272">272</a> <em class="jxr_comment">// different from from r1, where r0 is the epoch formatted according</em> +<a name="273" href="#273">273</a> <em class="jxr_comment">// the datePattern (supplied by the user) and r1 is the</em> +<a name="274" href="#274">274</a> <em class="jxr_comment">// epoch+nextMillis(i) formatted according to datePattern. All date</em> +<a name="275" href="#275">275</a> <em class="jxr_comment">// formatting is done in GMT and not local format because the test</em> +<a name="276" href="#276">276</a> <em class="jxr_comment">// logic is based on comparisons relative to 1970-01-01 00:00:00</em> +<a name="277" href="#277">277</a> <em class="jxr_comment">// GMT (the epoch).</em> +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">int</strong> computeCheckPeriod() { +<a name="280" href="#280">280</a> <a href="../../../org/apache/log4j/DailyRollingFileAppender.html">RollingCalendar</a> rollingCalendar = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/DailyRollingFileAppender.html">RollingCalendar</a>(gmtTimeZone, Locale.getDefault()); +<a name="281" href="#281">281</a> <em class="jxr_comment">// set sate to 1970-01-01 00:00:00 GMT</em> +<a name="282" href="#282">282</a> Date epoch = <strong class="jxr_keyword">new</strong> Date(0); +<a name="283" href="#283">283</a> <strong class="jxr_keyword">if</strong>(datePattern != <strong class="jxr_keyword">null</strong>) { +<a name="284" href="#284">284</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = TOP_OF_MINUTE; i &lt;= TOP_OF_MONTH; i++) { +<a name="285" href="#285">285</a> SimpleDateFormat simpleDateFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(datePattern); +<a name="286" href="#286">286</a> simpleDateFormat.setTimeZone(gmtTimeZone); <em class="jxr_comment">// do all date formatting in GMT</em> +<a name="287" href="#287">287</a> String r0 = simpleDateFormat.format(epoch); +<a name="288" href="#288">288</a> rollingCalendar.setType(i); +<a name="289" href="#289">289</a> Date next = <strong class="jxr_keyword">new</strong> Date(rollingCalendar.getNextCheckMillis(epoch)); +<a name="290" href="#290">290</a> String r1 = simpleDateFormat.format(next); +<a name="291" href="#291">291</a> <em class="jxr_comment">//System.out.println("Type = "+i+", r0 = "+r0+", r1 = "+r1);</em> +<a name="292" href="#292">292</a> <strong class="jxr_keyword">if</strong>(r0 != <strong class="jxr_keyword">null</strong> &amp;&amp; r1 != <strong class="jxr_keyword">null</strong> &amp;&amp; !r0.equals(r1)) { +<a name="293" href="#293">293</a> <strong class="jxr_keyword">return</strong> i; +<a name="294" href="#294">294</a> } +<a name="295" href="#295">295</a> } +<a name="296" href="#296">296</a> } +<a name="297" href="#297">297</a> <strong class="jxr_keyword">return</strong> TOP_OF_TROUBLE; <em class="jxr_comment">// Deliberately head for trouble...</em> +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment">/**</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> Rollover the current file to a new file.</em> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> */</em> +<a name="303" href="#303">303</a> <strong class="jxr_keyword">void</strong> rollOver() <strong class="jxr_keyword">throws</strong> IOException { +<a name="304" href="#304">304</a> +<a name="305" href="#305">305</a> <em class="jxr_comment">/*<em class="jxr_comment"> Compute filename, but only if datePattern is specified */</em></em> +<a name="306" href="#306">306</a> <strong class="jxr_keyword">if</strong> (datePattern == <strong class="jxr_keyword">null</strong>) { +<a name="307" href="#307">307</a> errorHandler.error(<span class="jxr_string">"Missing DatePattern option in rollOver()."</span>); +<a name="308" href="#308">308</a> <strong class="jxr_keyword">return</strong>; +<a name="309" href="#309">309</a> } +<a name="310" href="#310">310</a> +<a name="311" href="#311">311</a> String datedFilename = fileName+sdf.format(now); +<a name="312" href="#312">312</a> <em class="jxr_comment">// It is too early to roll over because we are still within the</em> +<a name="313" href="#313">313</a> <em class="jxr_comment">// bounds of the current interval. Rollover will occur once the</em> +<a name="314" href="#314">314</a> <em class="jxr_comment">// next interval is reached.</em> +<a name="315" href="#315">315</a> <strong class="jxr_keyword">if</strong> (scheduledFilename.equals(datedFilename)) { +<a name="316" href="#316">316</a> <strong class="jxr_keyword">return</strong>; +<a name="317" href="#317">317</a> } +<a name="318" href="#318">318</a> +<a name="319" href="#319">319</a> <em class="jxr_comment">// close current file, and rename it to datedFilename</em> +<a name="320" href="#320">320</a> <strong class="jxr_keyword">this</strong>.closeFile(); +<a name="321" href="#321">321</a> +<a name="322" href="#322">322</a> File target = <strong class="jxr_keyword">new</strong> File(scheduledFilename); +<a name="323" href="#323">323</a> <strong class="jxr_keyword">if</strong> (target.exists()) { +<a name="324" href="#324">324</a> target.delete(); +<a name="325" href="#325">325</a> } +<a name="326" href="#326">326</a> +<a name="327" href="#327">327</a> File file = <strong class="jxr_keyword">new</strong> File(fileName); +<a name="328" href="#328">328</a> <strong class="jxr_keyword">boolean</strong> result = file.renameTo(target); +<a name="329" href="#329">329</a> <strong class="jxr_keyword">if</strong>(result) { +<a name="330" href="#330">330</a> LogLog.debug(fileName +<span class="jxr_string">" -&gt; "</span>+ scheduledFilename); +<a name="331" href="#331">331</a> } <strong class="jxr_keyword">else</strong> { +<a name="332" href="#332">332</a> LogLog.error(<span class="jxr_string">"Failed to rename ["</span>+fileName+<span class="jxr_string">"] to ["</span>+scheduledFilename+<span class="jxr_string">"]."</span>); +<a name="333" href="#333">333</a> } +<a name="334" href="#334">334</a> +<a name="335" href="#335">335</a> <strong class="jxr_keyword">try</strong> { +<a name="336" href="#336">336</a> <em class="jxr_comment">// This will also close the file. This is OK since multiple</em> +<a name="337" href="#337">337</a> <em class="jxr_comment">// close operations are safe.</em> +<a name="338" href="#338">338</a> <strong class="jxr_keyword">this</strong>.setFile(fileName, <strong class="jxr_keyword">true</strong>, <strong class="jxr_keyword">this</strong>.bufferedIO, <strong class="jxr_keyword">this</strong>.bufferSize); +<a name="339" href="#339">339</a> } +<a name="340" href="#340">340</a> <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="341" href="#341">341</a> errorHandler.error(<span class="jxr_string">"setFile("</span>+fileName+<span class="jxr_string">", true) call failed."</span>); +<a name="342" href="#342">342</a> } +<a name="343" href="#343">343</a> scheduledFilename = datedFilename; +<a name="344" href="#344">344</a> } +<a name="345" href="#345">345</a> +<a name="346" href="#346">346</a> <em class="jxr_javadoccomment">/**</em> +<a name="347" href="#347">347</a> <em class="jxr_javadoccomment"> * This method differentiates DailyRollingFileAppender from its</em> +<a name="348" href="#348">348</a> <em class="jxr_javadoccomment"> * super class.</em> +<a name="349" href="#349">349</a> <em class="jxr_javadoccomment"> *</em> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Before actually logging, this method will check whether it is</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> * time to do a rollover. If it is, it will schedule the next</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> * rollover time and then rollover.</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> * */</em> +<a name="354" href="#354">354</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> subAppend(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="355" href="#355">355</a> <strong class="jxr_keyword">long</strong> n = System.currentTimeMillis(); +<a name="356" href="#356">356</a> <strong class="jxr_keyword">if</strong> (n &gt;= nextCheck) { +<a name="357" href="#357">357</a> now.setTime(n); +<a name="358" href="#358">358</a> nextCheck = rc.getNextCheckMillis(now); +<a name="359" href="#359">359</a> <strong class="jxr_keyword">try</strong> { +<a name="360" href="#360">360</a> rollOver(); +<a name="361" href="#361">361</a> } +<a name="362" href="#362">362</a> <strong class="jxr_keyword">catch</strong>(IOException ioe) { +<a name="363" href="#363">363</a> <strong class="jxr_keyword">if</strong> (ioe instanceof InterruptedIOException) { +<a name="364" href="#364">364</a> Thread.currentThread().interrupt(); +<a name="365" href="#365">365</a> } +<a name="366" href="#366">366</a> LogLog.error(<span class="jxr_string">"rollOver() failed."</span>, ioe); +<a name="367" href="#367">367</a> } +<a name="368" href="#368">368</a> } +<a name="369" href="#369">369</a> <strong class="jxr_keyword">super</strong>.subAppend(event); +<a name="370" href="#370">370</a> } +<a name="371" href="#371">371</a> } +<a name="372" href="#372">372</a> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment">/**</em> +<a name="374" href="#374">374</a> <em class="jxr_javadoccomment"> * RollingCalendar is a helper class to DailyRollingFileAppender.</em> +<a name="375" href="#375">375</a> <em class="jxr_javadoccomment"> * Given a periodicity type and the current time, it computes the</em> +<a name="376" href="#376">376</a> <em class="jxr_javadoccomment"> * start of the next interval. </em> +<a name="377" href="#377">377</a> <em class="jxr_javadoccomment"> * */</em> +<a name="378" href="#378">378</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/DailyRollingFileAppender.html">RollingCalendar</a> <strong class="jxr_keyword">extends</strong> GregorianCalendar { +<a name="379" href="#379">379</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -3560331770601814177L; +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <strong class="jxr_keyword">int</strong> type = DailyRollingFileAppender.TOP_OF_TROUBLE; +<a name="382" href="#382">382</a> +<a name="383" href="#383">383</a> <a href="../../../org/apache/log4j/DailyRollingFileAppender.html">RollingCalendar</a>() { +<a name="384" href="#384">384</a> <strong class="jxr_keyword">super</strong>(); +<a name="385" href="#385">385</a> } +<a name="386" href="#386">386</a> +<a name="387" href="#387">387</a> <a href="../../../org/apache/log4j/DailyRollingFileAppender.html">RollingCalendar</a>(TimeZone tz, Locale locale) { +<a name="388" href="#388">388</a> <strong class="jxr_keyword">super</strong>(tz, locale); +<a name="389" href="#389">389</a> } +<a name="390" href="#390">390</a> +<a name="391" href="#391">391</a> <strong class="jxr_keyword">void</strong> setType(<strong class="jxr_keyword">int</strong> type) { +<a name="392" href="#392">392</a> <strong class="jxr_keyword">this</strong>.type = type; +<a name="393" href="#393">393</a> } +<a name="394" href="#394">394</a> +<a name="395" href="#395">395</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getNextCheckMillis(Date now) { +<a name="396" href="#396">396</a> <strong class="jxr_keyword">return</strong> getNextCheckDate(now).getTime(); +<a name="397" href="#397">397</a> } +<a name="398" href="#398">398</a> +<a name="399" href="#399">399</a> <strong class="jxr_keyword">public</strong> Date getNextCheckDate(Date now) { +<a name="400" href="#400">400</a> <strong class="jxr_keyword">this</strong>.setTime(now); +<a name="401" href="#401">401</a> +<a name="402" href="#402">402</a> <strong class="jxr_keyword">switch</strong>(type) { +<a name="403" href="#403">403</a> <strong class="jxr_keyword">case</strong> DailyRollingFileAppender.TOP_OF_MINUTE: +<a name="404" href="#404">404</a> <strong class="jxr_keyword">this</strong>.set(Calendar.SECOND, 0); +<a name="405" href="#405">405</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MILLISECOND, 0); +<a name="406" href="#406">406</a> <strong class="jxr_keyword">this</strong>.add(Calendar.MINUTE, 1); +<a name="407" href="#407">407</a> <strong class="jxr_keyword">break</strong>; +<a name="408" href="#408">408</a> <strong class="jxr_keyword">case</strong> DailyRollingFileAppender.TOP_OF_HOUR: +<a name="409" href="#409">409</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MINUTE, 0); +<a name="410" href="#410">410</a> <strong class="jxr_keyword">this</strong>.set(Calendar.SECOND, 0); +<a name="411" href="#411">411</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MILLISECOND, 0); +<a name="412" href="#412">412</a> <strong class="jxr_keyword">this</strong>.add(Calendar.HOUR_OF_DAY, 1); +<a name="413" href="#413">413</a> <strong class="jxr_keyword">break</strong>; +<a name="414" href="#414">414</a> <strong class="jxr_keyword">case</strong> DailyRollingFileAppender.HALF_DAY: +<a name="415" href="#415">415</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MINUTE, 0); +<a name="416" href="#416">416</a> <strong class="jxr_keyword">this</strong>.set(Calendar.SECOND, 0); +<a name="417" href="#417">417</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MILLISECOND, 0); +<a name="418" href="#418">418</a> <strong class="jxr_keyword">int</strong> hour = get(Calendar.HOUR_OF_DAY); +<a name="419" href="#419">419</a> <strong class="jxr_keyword">if</strong>(hour &lt; 12) { +<a name="420" href="#420">420</a> <strong class="jxr_keyword">this</strong>.set(Calendar.HOUR_OF_DAY, 12); +<a name="421" href="#421">421</a> } <strong class="jxr_keyword">else</strong> { +<a name="422" href="#422">422</a> <strong class="jxr_keyword">this</strong>.set(Calendar.HOUR_OF_DAY, 0); +<a name="423" href="#423">423</a> <strong class="jxr_keyword">this</strong>.add(Calendar.DAY_OF_MONTH, 1); +<a name="424" href="#424">424</a> } +<a name="425" href="#425">425</a> <strong class="jxr_keyword">break</strong>; +<a name="426" href="#426">426</a> <strong class="jxr_keyword">case</strong> DailyRollingFileAppender.TOP_OF_DAY: +<a name="427" href="#427">427</a> <strong class="jxr_keyword">this</strong>.set(Calendar.HOUR_OF_DAY, 0); +<a name="428" href="#428">428</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MINUTE, 0); +<a name="429" href="#429">429</a> <strong class="jxr_keyword">this</strong>.set(Calendar.SECOND, 0); +<a name="430" href="#430">430</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MILLISECOND, 0); +<a name="431" href="#431">431</a> <strong class="jxr_keyword">this</strong>.add(Calendar.DATE, 1); +<a name="432" href="#432">432</a> <strong class="jxr_keyword">break</strong>; +<a name="433" href="#433">433</a> <strong class="jxr_keyword">case</strong> DailyRollingFileAppender.TOP_OF_WEEK: +<a name="434" href="#434">434</a> <strong class="jxr_keyword">this</strong>.set(Calendar.DAY_OF_WEEK, getFirstDayOfWeek()); +<a name="435" href="#435">435</a> <strong class="jxr_keyword">this</strong>.set(Calendar.HOUR_OF_DAY, 0); +<a name="436" href="#436">436</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MINUTE, 0); +<a name="437" href="#437">437</a> <strong class="jxr_keyword">this</strong>.set(Calendar.SECOND, 0); +<a name="438" href="#438">438</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MILLISECOND, 0); +<a name="439" href="#439">439</a> <strong class="jxr_keyword">this</strong>.add(Calendar.WEEK_OF_YEAR, 1); +<a name="440" href="#440">440</a> <strong class="jxr_keyword">break</strong>; +<a name="441" href="#441">441</a> <strong class="jxr_keyword">case</strong> DailyRollingFileAppender.TOP_OF_MONTH: +<a name="442" href="#442">442</a> <strong class="jxr_keyword">this</strong>.set(Calendar.DATE, 1); +<a name="443" href="#443">443</a> <strong class="jxr_keyword">this</strong>.set(Calendar.HOUR_OF_DAY, 0); +<a name="444" href="#444">444</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MINUTE, 0); +<a name="445" href="#445">445</a> <strong class="jxr_keyword">this</strong>.set(Calendar.SECOND, 0); +<a name="446" href="#446">446</a> <strong class="jxr_keyword">this</strong>.set(Calendar.MILLISECOND, 0); +<a name="447" href="#447">447</a> <strong class="jxr_keyword">this</strong>.add(Calendar.MONTH, 1); +<a name="448" href="#448">448</a> <strong class="jxr_keyword">break</strong>; +<a name="449" href="#449">449</a> <strong class="jxr_keyword">default</strong>: +<a name="450" href="#450">450</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"Unknown periodicity type."</span>); +<a name="451" href="#451">451</a> } +<a name="452" href="#452">452</a> <strong class="jxr_keyword">return</strong> getTime(); +<a name="453" href="#453">453</a> } +<a name="454" href="#454">454</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DefaultCategoryFactory.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DefaultCategoryFactory.html new file mode 100644 index 00000000000..9b59073f7b1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DefaultCategoryFactory.html @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DefaultCategoryFactory xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/DefaultCategoryFactory.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerFactory; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/DefaultCategoryFactory.html">DefaultCategoryFactory</a> implements <a href="../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> { +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <a href="../../../org/apache/log4j/DefaultCategoryFactory.html">DefaultCategoryFactory</a>() { +<a name="25" href="#25">25</a> } +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> +<a name="28" href="#28">28</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> makeNewLoggerInstance(String name) { +<a name="29" href="#29">29</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a>(name); +<a name="30" href="#30">30</a> } +<a name="31" href="#31">31</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DefaultThrowableRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DefaultThrowableRenderer.html new file mode 100644 index 00000000000..a06ad1c2e7b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/DefaultThrowableRenderer.html @@ -0,0 +1,97 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DefaultThrowableRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/DefaultThrowableRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRenderer; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.StringWriter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.PrintWriter; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.LineNumberReader; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.StringReader; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Default implementation of ThrowableRenderer using</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Throwable.printStackTrace.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/DefaultThrowableRenderer.html">DefaultThrowableRenderer</a> implements <a href="../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> { +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * Construct new instance.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/DefaultThrowableRenderer.html">DefaultThrowableRenderer</a>() { +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> String[] doRender(<strong class="jxr_keyword">final</strong> Throwable throwable) { +<a name="48" href="#48">48</a> <strong class="jxr_keyword">return</strong> render(throwable); +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * Render throwable using Throwable.printStackTrace.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * @param throwable throwable, may not be null.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * @return string representation.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String[] render(<strong class="jxr_keyword">final</strong> Throwable throwable) { +<a name="57" href="#57">57</a> StringWriter sw = <strong class="jxr_keyword">new</strong> StringWriter(); +<a name="58" href="#58">58</a> PrintWriter pw = <strong class="jxr_keyword">new</strong> PrintWriter(sw); +<a name="59" href="#59">59</a> <strong class="jxr_keyword">try</strong> { +<a name="60" href="#60">60</a> throwable.printStackTrace(pw); +<a name="61" href="#61">61</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException ex) { +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> pw.flush(); +<a name="64" href="#64">64</a> LineNumberReader reader = <strong class="jxr_keyword">new</strong> LineNumberReader( +<a name="65" href="#65">65</a> <strong class="jxr_keyword">new</strong> StringReader(sw.toString())); +<a name="66" href="#66">66</a> ArrayList lines = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="67" href="#67">67</a> <strong class="jxr_keyword">try</strong> { +<a name="68" href="#68">68</a> String line = reader.readLine(); +<a name="69" href="#69">69</a> <strong class="jxr_keyword">while</strong>(line != <strong class="jxr_keyword">null</strong>) { +<a name="70" href="#70">70</a> lines.add(line); +<a name="71" href="#71">71</a> line = reader.readLine(); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> } <strong class="jxr_keyword">catch</strong>(IOException ex) { +<a name="74" href="#74">74</a> <strong class="jxr_keyword">if</strong> (ex instanceof InterruptedIOException) { +<a name="75" href="#75">75</a> Thread.currentThread().interrupt(); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> lines.add(ex.toString()); +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> String[] tempRep = <strong class="jxr_keyword">new</strong> String[lines.size()]; +<a name="80" href="#80">80</a> lines.toArray(tempRep); +<a name="81" href="#81">81</a> <strong class="jxr_keyword">return</strong> tempRep; +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Dispatcher.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Dispatcher.html new file mode 100644 index 00000000000..aefd0e23779 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Dispatcher.html @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Dispatcher xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/Dispatcher.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.AppenderAttachableImpl; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Obsolete AsyncAppender dispatcher provided for compatibility only.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @deprecated Since 1.3.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/Dispatcher.html">Dispatcher</a> <strong class="jxr_keyword">extends</strong> Thread { +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">private</strong> org.apache.log4j.helpers.BoundedFIFO bf; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/helpers/AppenderAttachableImpl.html">AppenderAttachableImpl</a> aai; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> interrupted = false; +<a name="36" href="#36">36</a> <a href="../../../org/apache/log4j/AsyncAppender.html">AsyncAppender</a> container; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> *</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @param bf</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * @param container</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <a href="../../../org/apache/log4j/Dispatcher.html">Dispatcher</a>(org.apache.log4j.helpers.BoundedFIFO bf, <a href="../../../org/apache/log4j/AsyncAppender.html">AsyncAppender</a> container) { +<a name="45" href="#45">45</a> <strong class="jxr_keyword">this</strong>.bf = bf; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">this</strong>.container = container; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">this</strong>.aai = container.aai; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_comment">// It is the user's responsibility to close appenders before</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">// exiting.</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">this</strong>.setDaemon(<strong class="jxr_keyword">true</strong>); +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_comment">// set the dispatcher priority to lowest possible value</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">this</strong>.setPriority(Thread.MIN_PRIORITY); +<a name="55" href="#55">55</a> <strong class="jxr_keyword">this</strong>.setName(<span class="jxr_string">"Dispatcher-"</span> + getName()); +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_comment">// set the dispatcher priority to MIN_PRIORITY plus or minus 2</em> +<a name="58" href="#58">58</a> <em class="jxr_comment">// depending on the direction of MIN to MAX_PRIORITY.</em> +<a name="59" href="#59">59</a> <em class="jxr_comment">//+ (Thread.MAX_PRIORITY &gt; Thread.MIN_PRIORITY ? 1 : -1)*2);</em> +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">void</strong> close() { +<a name="63" href="#63">63</a> <strong class="jxr_keyword">synchronized</strong> (bf) { +<a name="64" href="#64">64</a> interrupted = <strong class="jxr_keyword">true</strong>; +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_comment">// We have a waiting dispacther if and only if bf.length is</em> +<a name="67" href="#67">67</a> <em class="jxr_comment">// zero. In that case, we need to give it a death kiss.</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">if</strong> (bf.length() == 0) { +<a name="69" href="#69">69</a> bf.notify(); +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment">/**</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * The dispatching strategy is to wait until there are events in the buffer</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * to process. After having processed an event, we release the monitor</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * (variable bf) so that new events can be placed in the buffer, instead of</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * keeping the monitor and processing the remaining events in the buffer.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> *</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * Other approaches might yield better results.</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> */</em> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="85" href="#85">85</a> <em class="jxr_comment">//Category cat = Category.getInstance(Dispatcher.class.getName());</em> +<a name="86" href="#86">86</a> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event; +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">while</strong> (<strong class="jxr_keyword">true</strong>) { +<a name="89" href="#89">89</a> <strong class="jxr_keyword">synchronized</strong> (bf) { +<a name="90" href="#90">90</a> <strong class="jxr_keyword">if</strong> (bf.length() == 0) { +<a name="91" href="#91">91</a> <em class="jxr_comment">// Exit loop if interrupted but only if the the buffer is empty.</em> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">if</strong> (interrupted) { +<a name="93" href="#93">93</a> <em class="jxr_comment">//cat.info("Exiting.");</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">break</strong>; +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">try</strong> { +<a name="98" href="#98">98</a> <em class="jxr_comment">//LogLog.debug("Waiting for new event to dispatch.");</em> +<a name="99" href="#99">99</a> bf.wait(); +<a name="100" href="#100">100</a> } <strong class="jxr_keyword">catch</strong> (InterruptedException e) { +<a name="101" href="#101">101</a> <strong class="jxr_keyword">break</strong>; +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> event = bf.get(); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">if</strong> (bf.wasFull()) { +<a name="108" href="#108">108</a> <em class="jxr_comment">//LogLog.debug("Notifying AsyncAppender about freed space.");</em> +<a name="109" href="#109">109</a> bf.notify(); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em class="jxr_comment">// synchronized</em> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">synchronized</strong> (container.aai) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">if</strong> ((aai != <strong class="jxr_keyword">null</strong>) &amp;&amp; (event != <strong class="jxr_keyword">null</strong>)) { +<a name="116" href="#116">116</a> aai.appendLoopOnAppenders(event); +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_comment">// while</em> +<a name="122" href="#122">122</a> <em class="jxr_comment">// close and remove all appenders</em> +<a name="123" href="#123">123</a> aai.removeAllAppenders(); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/EnhancedPatternLayout.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/EnhancedPatternLayout.html new file mode 100644 index 00000000000..21d691f9d47 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/EnhancedPatternLayout.html @@ -0,0 +1,573 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>EnhancedPatternLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.PatternConverter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.pattern.BridgePatternConverter; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_comment">// Contributors: Nelson Minar &lt;nelson@monkey.org&gt;</em> +<a name="27" href="#27">27</a> <em class="jxr_comment">// Anders Kristensen &lt;akristensen@dynamicsoft.com&gt;</em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * This class is an enhanced version of org.apache.log4j.PatternLayout</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * which was originally developed as part of the abandoned log4j 1.3</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * effort and has been available in the extras companion.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * This pattern layout should be used in preference to</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * org.apache.log4j.PatternLayout except when compatibility</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * where PatternLayout has been extended either through subclassing</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * or alternative pattern parsers.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> *</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> *</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * &lt;p&gt;A flexible layout configurable with pattern string. The goal of this class</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * is to {@link #format format} a {@link LoggingEvent} and return the results</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * in a {@link StringBuffer}. The format of the result depends on the</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * &lt;em&gt;conversion pattern&lt;/em&gt;.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> *</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * &lt;p&gt;The conversion pattern is closely related to the conversion</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * pattern of the printf function in C. A conversion pattern is</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * composed of literal text and format control expressions called</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * &lt;em&gt;conversion specifiers&lt;/em&gt;.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> *</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * &lt;p&gt;&lt;i&gt;Note that you are free to insert any literal text within the</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * conversion pattern.&lt;/i&gt;</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> &lt;p&gt;Each conversion specifier starts with a percent sign (%) and is</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> followed by optional &lt;em&gt;format modifiers&lt;/em&gt; and a &lt;em&gt;conversion</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> character&lt;/em&gt;. The conversion character specifies the type of</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> data, e.g. category, priority, date, thread name. The format</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> modifiers control such things as field width, padding, left and</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> right justification. The following is a simple example.</em> +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> &lt;p&gt;Let the conversion pattern be &lt;b&gt;"%-5p [%t]: %m%n"&lt;/b&gt; and assume</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> that the log4j environment was set to use a EnhancedPatternLayout. Then the</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> statements</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> Category root = Category.getRoot();</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> root.debug("Message 1");</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> root.warn("Message 2");</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> would yield the output</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> DEBUG [main]: Message 1</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> WARN [main]: Message 2</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that there is no explicit separator between text and</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> conversion specifiers. The pattern parser knows when it has reached</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> the end of a conversion specifier when it reads a conversion</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> character. In the example above the conversion specifier</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> &lt;b&gt;%-5p&lt;/b&gt; means the priority of the logging event should be left</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> justified to a width of five characters.</em> +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> The recognized conversion characters are</em> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> &lt;table border="1" CELLPADDING="8"&gt;</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> &lt;th&gt;Conversion Character&lt;/th&gt;</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> &lt;th&gt;Effect&lt;/th&gt;</em> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;c&lt;/b&gt;&lt;/td&gt;</em> +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the category of the logging event. The</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> category conversion specifier can be optionally followed by</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> NameAbbreviator pattern.</em> +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, for the category name "alpha.beta.gamma" the pattern</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> &lt;b&gt;%c{2}&lt;/b&gt; will output the last two elements ("beta.gamma"),</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> &lt;b&gt;%c{-2}&lt;/b&gt; will remove two elements leaving "gamma",</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> &lt;b&gt;%c{1.}&lt;/b&gt; will output "a.b.gamma".</em> +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;</em> +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the fully qualified class name of the caller</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> issuing the logging request. This conversion specifier</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> can be optionally followed by &lt;em&gt;precision specifier&lt;/em&gt;, that</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> is a decimal constant in brackets.</em> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the category of the logging event. The</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> category conversion specifier can be optionally followed by</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> NameAbbreviator pattern.</em> +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, for the category name "alpha.beta.gamma" the pattern</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> &lt;b&gt;%c{2}&lt;/b&gt; will output the last two elements ("beta.gamma"),</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> &lt;b&gt;%c{-2}&lt;/b&gt; will remove two elements leaving "gamma",</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> &lt;b&gt;%c{1.}&lt;/b&gt; will output "a.b.gamma".</em> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Generating the caller class information is</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> slow. Thus, its use should be avoided unless execution speed is</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> not an issue.</em> +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> &lt;tr&gt; &lt;td align=center&gt;&lt;b&gt;d&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Used to output the date of</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> the logging event. The date conversion specifier may be</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> followed by a set of braces containing a</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> date and time pattern strings {@link java.text.SimpleDateFormat},</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> &lt;em&gt;ABSOLUTE&lt;/em&gt;, &lt;em&gt;DATE&lt;/em&gt; or &lt;em&gt;ISO8601&lt;/em&gt;</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> and a set of braces containing a time zone id per </em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> {@link java.util.TimeZone#getTimeZone(String)}. </em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> For example, &lt;b&gt;%d{HH:mm:ss,SSS}&lt;/b&gt;,</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> &lt;b&gt;%d{dd&amp;nbsp;MMM&amp;nbsp;yyyy&amp;nbsp;HH:mm:ss,SSS}&lt;/b&gt;,</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> &lt;b&gt;%d{DATE}&lt;/b&gt; or &lt;b&gt;%d{HH:mm:ss}{GMT+0}&lt;/b&gt;. If no date format specifier is given then</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> ISO8601 format is assumed. </em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;</em> +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the file name where the logging request was</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> issued.</em> +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Generating caller location information is</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> extremely slow and should be avoided unless execution speed</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> is not an issue.</em> +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;l&lt;/b&gt;&lt;/td&gt;</em> +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output location information of the caller which generated</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> the logging event.</em> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> &lt;p&gt;The location information depends on the JVM implementation but</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> usually consists of the fully qualified name of the calling</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> method followed by the callers source the file name and line</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> number between parentheses.</em> +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> &lt;p&gt;The location information can be very useful. However, its</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> generation is &lt;em&gt;extremely&lt;/em&gt; slow and should be avoided</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> unless execution speed is not an issue.</em> +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;L&lt;/b&gt;&lt;/td&gt;</em> +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the line number from where the logging request</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> was issued.</em> +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Generating caller location information is</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> extremely slow and should be avoided unless execution speed</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> is not an issue.</em> +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;m&lt;/b&gt;&lt;/td&gt;</em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the application supplied message associated with</em> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment"> the logging event.&lt;/td&gt;</em> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;M&lt;/b&gt;&lt;/td&gt;</em> +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the method name where the logging request was</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> issued.</em> +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Generating caller location information is</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> extremely slow and should be avoided unless execution speed</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> is not an issue.</em> +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;</em> +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> &lt;td&gt;Outputs the platform dependent line separator character or</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> characters.</em> +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> &lt;p&gt;This conversion character offers practically the same</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> performance as using non-portable line separator strings such as</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> "\n", or "\r\n". Thus, it is the preferred way of specifying a</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> line separator.</em> +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;p&lt;/b&gt;&lt;/td&gt;</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the priority of the logging event.&lt;/td&gt;</em> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;r&lt;/b&gt;&lt;/td&gt;</em> +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the number of milliseconds elapsed since the construction </em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> of the layout until the creation of the logging event.&lt;/td&gt;</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;t&lt;/b&gt;&lt;/td&gt;</em> +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the name of the thread that generated the</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> logging event.&lt;/td&gt;</em> +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;x&lt;/b&gt;&lt;/td&gt;</em> +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the NDC (nested diagnostic context) associated</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> with the thread that generated the logging event.</em> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;X&lt;/b&gt;&lt;/td&gt;</em> +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment"> &lt;td&gt;</em> +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> &lt;p&gt;Used to output the MDC (mapped diagnostic context) associated</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> with the thread that generated the logging event. The &lt;b&gt;X&lt;/b&gt;</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> conversion character can be followed by the key for the</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> map placed between braces, as in &lt;b&gt;%X{clientNumber}&lt;/b&gt; where</em> +<a name="258" href="#258">258</a> <em class="jxr_javadoccomment"> &lt;code&gt;clientNumber&lt;/code&gt; is the key. The value in the MDC</em> +<a name="259" href="#259">259</a> <em class="jxr_javadoccomment"> corresponding to the key will be output. If no additional sub-option</em> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment"> is specified, then the entire contents of the MDC key value pair set</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> is output using a format {{key1,val1},{key2,val2}}&lt;/p&gt;</em> +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> &lt;p&gt;See {@link MDC} class for more details.</em> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment"> &lt;/p&gt;</em> +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="268" href="#268">268</a> +<a name="269" href="#269">269</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="270" href="#270">270</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;properties&lt;/b&gt;&lt;/td&gt;</em> +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> &lt;td&gt;</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> &lt;p&gt;Used to output the Properties associated</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> with the logging event. The &lt;b&gt;properties&lt;/b&gt;</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> conversion word can be followed by the key for the</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> map placed between braces, as in &lt;b&gt;%properties{application}&lt;/b&gt; where</em> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> &lt;code&gt;application&lt;/code&gt; is the key. The value in the Properties bundle</em> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment"> corresponding to the key will be output. If no additional sub-option</em> +<a name="279" href="#279">279</a> <em class="jxr_javadoccomment"> is specified, then the entire contents of the Properties key value pair set</em> +<a name="280" href="#280">280</a> <em class="jxr_javadoccomment"> is output using a format {{key1,val1},{key2,val2}}&lt;/p&gt;</em> +<a name="281" href="#281">281</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="283" href="#283">283</a> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;throwable&lt;/b&gt;&lt;/td&gt;</em> +<a name="286" href="#286">286</a> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> &lt;td&gt;</em> +<a name="288" href="#288">288</a> <em class="jxr_javadoccomment"> &lt;p&gt;Used to output the Throwable trace that has been bound to the LoggingEvent, by</em> +<a name="289" href="#289">289</a> <em class="jxr_javadoccomment"> default this will output the full trace as one would normally </em> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment"> find by a call to Throwable.printStackTrace().</em> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment"> &lt;b&gt;%throwable{short}&lt;/b&gt; or &lt;b&gt;%throwable{1}&lt;/b&gt; will output the first line of</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> stack trace. &lt;b&gt;throwable{none}&lt;/b&gt; or &lt;b&gt;throwable{0}&lt;/b&gt; will suppress</em> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment"> the stack trace. &lt;b&gt;%throwable{n}&lt;/b&gt; will output n lines of stack trace</em> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> if a positive integer or omit the last -n lines if a negative integer.</em> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment"> If no %throwable pattern is specified, the appender will take</em> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment"> responsibility to output the stack trace as it sees fit.&lt;/p&gt;</em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;%&lt;/b&gt;&lt;/td&gt;</em> +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> &lt;td&gt;The sequence %% outputs a single percent sign.</em> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="306" href="#306">306</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment"> &lt;/table&gt;</em> +<a name="309" href="#309">309</a> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> &lt;p&gt;By default the relevant information is output as is. However,</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> with the aid of format modifiers it is possible to change the</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> minimum field width, the maximum field width and justification.</em> +<a name="313" href="#313">313</a> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment"> &lt;p&gt;The optional format modifier is placed between the percent sign</em> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> and the conversion character.</em> +<a name="316" href="#316">316</a> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment"> &lt;p&gt;The first optional format modifier is the &lt;em&gt;left justification</em> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> flag&lt;/em&gt; which is just the minus (-) character. Then comes the</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> optional &lt;em&gt;minimum field width&lt;/em&gt; modifier. This is a decimal</em> +<a name="320" href="#320">320</a> <em class="jxr_javadoccomment"> constant that represents the minimum number of characters to</em> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment"> output. If the data item requires fewer characters, it is padded on</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> either the left or the right until the minimum width is</em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> reached. The default is to pad on the left (right justify) but you</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> can specify right padding with the left justification flag. The</em> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> padding character is space. If the data item is larger than the</em> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment"> minimum field width, the field is expanded to accommodate the</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> data. The value is never truncated.</em> +<a name="328" href="#328">328</a> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> &lt;p&gt;This behavior can be changed using the &lt;em&gt;maximum field</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> width&lt;/em&gt; modifier which is designated by a period followed by a</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> decimal constant. If the data item is longer than the maximum</em> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> field, then the extra characters are removed from the</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> &lt;em&gt;beginning&lt;/em&gt; of the data item and not from the end. For</em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> example, it the maximum field width is eight and the data item is</em> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment"> ten characters long, then the first two characters of the data item</em> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment"> are dropped. This behavior deviates from the printf function in C</em> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment"> where truncation is done from the end.</em> +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment"> &lt;p&gt;Below are various format modifier examples for the category</em> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment"> conversion specifier.</em> +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> &lt;TABLE BORDER=1 CELLPADDING=8&gt;</em> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment"> &lt;th&gt;Format modifier</em> +<a name="345" href="#345">345</a> <em class="jxr_javadoccomment"> &lt;th&gt;left justify</em> +<a name="346" href="#346">346</a> <em class="jxr_javadoccomment"> &lt;th&gt;minimum width</em> +<a name="347" href="#347">347</a> <em class="jxr_javadoccomment"> &lt;th&gt;maximum width</em> +<a name="348" href="#348">348</a> <em class="jxr_javadoccomment"> &lt;th&gt;comment</em> +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;%20c&lt;/td&gt;</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;false&lt;/td&gt;</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;20&lt;/td&gt;</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;none&lt;/td&gt;</em> +<a name="355" href="#355">355</a> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> &lt;td&gt;Left pad with spaces if the category name is less than 20</em> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> characters long.</em> +<a name="358" href="#358">358</a> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> &lt;tr&gt; &lt;td align=center&gt;%-20c&lt;/td&gt; &lt;td align=center&gt;true&lt;/td&gt; &lt;td</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> align=center&gt;20&lt;/td&gt; &lt;td align=center&gt;none&lt;/td&gt; &lt;td&gt;Right pad with</em> +<a name="361" href="#361">361</a> <em class="jxr_javadoccomment"> spaces if the category name is less than 20 characters long.</em> +<a name="362" href="#362">362</a> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="364" href="#364">364</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;%.30c&lt;/td&gt;</em> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;NA&lt;/td&gt;</em> +<a name="366" href="#366">366</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;none&lt;/td&gt;</em> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;30&lt;/td&gt;</em> +<a name="368" href="#368">368</a> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> &lt;td&gt;Truncate from the beginning if the category name is longer than 30</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> characters.</em> +<a name="371" href="#371">371</a> +<a name="372" href="#372">372</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;%20.30c&lt;/td&gt;</em> +<a name="374" href="#374">374</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;false&lt;/td&gt;</em> +<a name="375" href="#375">375</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;20&lt;/td&gt;</em> +<a name="376" href="#376">376</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;30&lt;/td&gt;</em> +<a name="377" href="#377">377</a> +<a name="378" href="#378">378</a> <em class="jxr_javadoccomment"> &lt;td&gt;Left pad with spaces if the category name is shorter than 20</em> +<a name="379" href="#379">379</a> <em class="jxr_javadoccomment"> characters. However, if category name is longer than 30 characters,</em> +<a name="380" href="#380">380</a> <em class="jxr_javadoccomment"> then truncate from the beginning.</em> +<a name="381" href="#381">381</a> +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;%-20.30c&lt;/td&gt;</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;true&lt;/td&gt;</em> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;20&lt;/td&gt;</em> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;30&lt;/td&gt;</em> +<a name="387" href="#387">387</a> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment"> &lt;td&gt;Right pad with spaces if the category name is shorter than 20</em> +<a name="389" href="#389">389</a> <em class="jxr_javadoccomment"> characters. However, if category name is longer than 30 characters,</em> +<a name="390" href="#390">390</a> <em class="jxr_javadoccomment"> then truncate from the beginning.</em> +<a name="391" href="#391">391</a> +<a name="392" href="#392">392</a> <em class="jxr_javadoccomment"> &lt;/table&gt;</em> +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> <em class="jxr_javadoccomment"> &lt;p&gt;Below are some examples of conversion patterns.</em> +<a name="395" href="#395">395</a> +<a name="396" href="#396">396</a> <em class="jxr_javadoccomment"> &lt;dl&gt;</em> +<a name="397" href="#397">397</a> +<a name="398" href="#398">398</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;dt&gt;&lt;b&gt;%r [%t] %-5p %c %x - %m%n&lt;/b&gt;</em> +<a name="399" href="#399">399</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;dd&gt;This is essentially the TTCC layout.</em> +<a name="400" href="#400">400</a> +<a name="401" href="#401">401</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;dt&gt;&lt;b&gt;%-6r [%15.15t] %-5p %30.30c %x - %m%n&lt;/b&gt;</em> +<a name="402" href="#402">402</a> +<a name="403" href="#403">403</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;dd&gt;Similar to the TTCC layout except that the relative time is</em> +<a name="404" href="#404">404</a> <em class="jxr_javadoccomment"> right padded if less than 6 digits, thread name is right padded if</em> +<a name="405" href="#405">405</a> <em class="jxr_javadoccomment"> less than 15 characters and truncated if longer and the category</em> +<a name="406" href="#406">406</a> <em class="jxr_javadoccomment"> name is left padded if shorter than 30 characters and truncated if</em> +<a name="407" href="#407">407</a> <em class="jxr_javadoccomment"> longer.</em> +<a name="408" href="#408">408</a> +<a name="409" href="#409">409</a> <em class="jxr_javadoccomment"> &lt;/dl&gt;</em> +<a name="410" href="#410">410</a> +<a name="411" href="#411">411</a> <em class="jxr_javadoccomment"> &lt;p&gt;The above text is largely inspired from Peter A. Darnell and</em> +<a name="412" href="#412">412</a> <em class="jxr_javadoccomment"> Philip E. Margolis' highly recommended book "C -- a Software</em> +<a name="413" href="#413">413</a> <em class="jxr_javadoccomment"> Engineering Approach", ISBN 0-387-97389-3.</em> +<a name="414" href="#414">414</a> +<a name="415" href="#415">415</a> <em class="jxr_javadoccomment"> @author &lt;a href="<a href="mailto:cakalijp@Maritz.com" target="alexandria_uri">mailto:cakalijp@Maritz.com</a>"&gt;James P. Cakalic&lt;/a&gt;</em> +<a name="416" href="#416">416</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="417" href="#417">417</a> +<a name="418" href="#418">418</a> +<a name="419" href="#419">419</a> <em class="jxr_javadoccomment"> @since 1.2.16 */</em> +<a name="420" href="#420">420</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayout.html">EnhancedPatternLayout</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/Layout.html">Layout</a> { +<a name="421" href="#421">421</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Default pattern string for log output. Currently set to the</em> +<a name="422" href="#422">422</a> <em class="jxr_javadoccomment"> string &lt;b&gt;"%m%n"&lt;/b&gt; which just prints the application supplied</em> +<a name="423" href="#423">423</a> <em class="jxr_javadoccomment"> message. */</em> +<a name="424" href="#424">424</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DEFAULT_CONVERSION_PATTERN = <span class="jxr_string">"%m%n"</span>; +<a name="425" href="#425">425</a> +<a name="426" href="#426">426</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A conversion pattern equivalent to the TTCCCLayout.</em> +<a name="427" href="#427">427</a> <em class="jxr_javadoccomment"> Current value is &lt;b&gt;%r [%t] %p %c %x - %m%n&lt;/b&gt;. */</em> +<a name="428" href="#428">428</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TTCC_CONVERSION_PATTERN = +<a name="429" href="#429">429</a> <span class="jxr_string">"%r [%t] %p %c %x - %m%n"</span>; +<a name="430" href="#430">430</a> +<a name="431" href="#431">431</a> <em class="jxr_javadoccomment">/**</em> +<a name="432" href="#432">432</a> <em class="jxr_javadoccomment"> * Initial size of internal buffer, no longer used.</em> +<a name="433" href="#433">433</a> <em class="jxr_javadoccomment"> * @deprecated since 1.3</em> +<a name="434" href="#434">434</a> <em class="jxr_javadoccomment"> */</em> +<a name="435" href="#435">435</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> BUF_SIZE = 256; +<a name="436" href="#436">436</a> +<a name="437" href="#437">437</a> <em class="jxr_javadoccomment">/**</em> +<a name="438" href="#438">438</a> <em class="jxr_javadoccomment"> * Maximum capacity of internal buffer, no longer used.</em> +<a name="439" href="#439">439</a> <em class="jxr_javadoccomment"> * @deprecated since 1.3</em> +<a name="440" href="#440">440</a> <em class="jxr_javadoccomment"> */</em> +<a name="441" href="#441">441</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MAX_CAPACITY = 1024; +<a name="442" href="#442">442</a> +<a name="443" href="#443">443</a> <em class="jxr_javadoccomment">/**</em> +<a name="444" href="#444">444</a> <em class="jxr_javadoccomment"> * Customized pattern conversion rules are stored under this key in the</em> +<a name="445" href="#445">445</a> <em class="jxr_javadoccomment"> * {@link org.apache.log4j.spi.LoggerRepository LoggerRepository} object store.</em> +<a name="446" href="#446">446</a> <em class="jxr_javadoccomment"> */</em> +<a name="447" href="#447">447</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PATTERN_RULE_REGISTRY = <span class="jxr_string">"PATTERN_RULE_REGISTRY"</span>; +<a name="448" href="#448">448</a> +<a name="449" href="#449">449</a> +<a name="450" href="#450">450</a> <em class="jxr_javadoccomment">/**</em> +<a name="451" href="#451">451</a> <em class="jxr_javadoccomment"> * Initial converter for pattern.</em> +<a name="452" href="#452">452</a> <em class="jxr_javadoccomment"> */</em> +<a name="453" href="#453">453</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> head; +<a name="454" href="#454">454</a> +<a name="455" href="#455">455</a> <em class="jxr_javadoccomment">/**</em> +<a name="456" href="#456">456</a> <em class="jxr_javadoccomment"> * Conversion pattern.</em> +<a name="457" href="#457">457</a> <em class="jxr_javadoccomment"> */</em> +<a name="458" href="#458">458</a> <strong class="jxr_keyword">private</strong> String conversionPattern; +<a name="459" href="#459">459</a> +<a name="460" href="#460">460</a> <em class="jxr_javadoccomment">/**</em> +<a name="461" href="#461">461</a> <em class="jxr_javadoccomment"> * True if any element in pattern formats information from exceptions.</em> +<a name="462" href="#462">462</a> <em class="jxr_javadoccomment"> */</em> +<a name="463" href="#463">463</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> handlesExceptions; +<a name="464" href="#464">464</a> +<a name="465" href="#465">465</a> <em class="jxr_javadoccomment">/**</em> +<a name="466" href="#466">466</a> <em class="jxr_javadoccomment"> Constructs a EnhancedPatternLayout using the DEFAULT_LAYOUT_PATTERN.</em> +<a name="467" href="#467">467</a> +<a name="468" href="#468">468</a> <em class="jxr_javadoccomment"> The default pattern just produces the application supplied message.</em> +<a name="469" href="#469">469</a> <em class="jxr_javadoccomment"> */</em> +<a name="470" href="#470">470</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayout.html">EnhancedPatternLayout</a>() { +<a name="471" href="#471">471</a> <strong class="jxr_keyword">this</strong>(DEFAULT_CONVERSION_PATTERN); +<a name="472" href="#472">472</a> } +<a name="473" href="#473">473</a> +<a name="474" href="#474">474</a> <em class="jxr_javadoccomment">/**</em> +<a name="475" href="#475">475</a> <em class="jxr_javadoccomment"> * Constructs a EnhancedPatternLayout using the supplied conversion pattern.</em> +<a name="476" href="#476">476</a> <em class="jxr_javadoccomment"> * @param pattern conversion pattern.</em> +<a name="477" href="#477">477</a> <em class="jxr_javadoccomment"> */</em> +<a name="478" href="#478">478</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayout.html">EnhancedPatternLayout</a>(<strong class="jxr_keyword">final</strong> String pattern) { +<a name="479" href="#479">479</a> <strong class="jxr_keyword">this</strong>.conversionPattern = pattern; +<a name="480" href="#480">480</a> head = createPatternParser( +<a name="481" href="#481">481</a> (pattern == <strong class="jxr_keyword">null</strong>) ? DEFAULT_CONVERSION_PATTERN : pattern).parse(); +<a name="482" href="#482">482</a> <strong class="jxr_keyword">if</strong> (head instanceof BridgePatternConverter) { +<a name="483" href="#483">483</a> handlesExceptions = !((BridgePatternConverter) head).ignoresThrowable(); +<a name="484" href="#484">484</a> } <strong class="jxr_keyword">else</strong> { +<a name="485" href="#485">485</a> handlesExceptions = false; +<a name="486" href="#486">486</a> } +<a name="487" href="#487">487</a> } +<a name="488" href="#488">488</a> +<a name="489" href="#489">489</a> <em class="jxr_javadoccomment">/**</em> +<a name="490" href="#490">490</a> <em class="jxr_javadoccomment"> * Set the &lt;b&gt;ConversionPattern&lt;/b&gt; option. This is the string which</em> +<a name="491" href="#491">491</a> <em class="jxr_javadoccomment"> * controls formatting and consists of a mix of literal content and</em> +<a name="492" href="#492">492</a> <em class="jxr_javadoccomment"> * conversion specifiers.</em> +<a name="493" href="#493">493</a> <em class="jxr_javadoccomment"> *</em> +<a name="494" href="#494">494</a> <em class="jxr_javadoccomment"> * @param conversionPattern conversion pattern.</em> +<a name="495" href="#495">495</a> <em class="jxr_javadoccomment"> */</em> +<a name="496" href="#496">496</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setConversionPattern(<strong class="jxr_keyword">final</strong> String conversionPattern) { +<a name="497" href="#497">497</a> <strong class="jxr_keyword">this</strong>.conversionPattern = +<a name="498" href="#498">498</a> OptionConverter.convertSpecialChars(conversionPattern); +<a name="499" href="#499">499</a> head = createPatternParser(<strong class="jxr_keyword">this</strong>.conversionPattern).parse(); +<a name="500" href="#500">500</a> <strong class="jxr_keyword">if</strong> (head instanceof BridgePatternConverter) { +<a name="501" href="#501">501</a> handlesExceptions = !((BridgePatternConverter) head).ignoresThrowable(); +<a name="502" href="#502">502</a> } <strong class="jxr_keyword">else</strong> { +<a name="503" href="#503">503</a> handlesExceptions = false; +<a name="504" href="#504">504</a> } +<a name="505" href="#505">505</a> } +<a name="506" href="#506">506</a> +<a name="507" href="#507">507</a> <em class="jxr_javadoccomment">/**</em> +<a name="508" href="#508">508</a> <em class="jxr_javadoccomment"> * Returns the value of the &lt;b&gt;ConversionPattern&lt;/b&gt; option.</em> +<a name="509" href="#509">509</a> <em class="jxr_javadoccomment"> * @return conversion pattern.</em> +<a name="510" href="#510">510</a> <em class="jxr_javadoccomment"> */</em> +<a name="511" href="#511">511</a> <strong class="jxr_keyword">public</strong> String getConversionPattern() { +<a name="512" href="#512">512</a> <strong class="jxr_keyword">return</strong> conversionPattern; +<a name="513" href="#513">513</a> } +<a name="514" href="#514">514</a> +<a name="515" href="#515">515</a> +<a name="516" href="#516">516</a> <em class="jxr_javadoccomment">/**</em> +<a name="517" href="#517">517</a> <em class="jxr_javadoccomment"> Returns PatternParser used to parse the conversion string. Subclasses</em> +<a name="518" href="#518">518</a> <em class="jxr_javadoccomment"> may override this to return a subclass of PatternParser which recognize</em> +<a name="519" href="#519">519</a> <em class="jxr_javadoccomment"> custom conversion characters.</em> +<a name="520" href="#520">520</a> +<a name="521" href="#521">521</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="522" href="#522">522</a> <em class="jxr_javadoccomment"> */</em> +<a name="523" href="#523">523</a> <strong class="jxr_keyword">protected</strong> org.apache.log4j.helpers.PatternParser createPatternParser(String pattern) { +<a name="524" href="#524">524</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> org.apache.log4j.pattern.BridgePatternParser(pattern); +<a name="525" href="#525">525</a> } +<a name="526" href="#526">526</a> +<a name="527" href="#527">527</a> +<a name="528" href="#528">528</a> <em class="jxr_javadoccomment">/**</em> +<a name="529" href="#529">529</a> <em class="jxr_javadoccomment"> Activates the conversion pattern. Do not forget to call this method after</em> +<a name="530" href="#530">530</a> <em class="jxr_javadoccomment"> you change the parameters of the EnhancedPatternLayout instance.</em> +<a name="531" href="#531">531</a> <em class="jxr_javadoccomment"> */</em> +<a name="532" href="#532">532</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="533" href="#533">533</a> <em class="jxr_comment">// nothing to do.</em> +<a name="534" href="#534">534</a> } +<a name="535" href="#535">535</a> +<a name="536" href="#536">536</a> +<a name="537" href="#537">537</a> <em class="jxr_javadoccomment">/**</em> +<a name="538" href="#538">538</a> <em class="jxr_javadoccomment"> * Formats a logging event to a writer.</em> +<a name="539" href="#539">539</a> <em class="jxr_javadoccomment"> * @param event logging event to be formatted.</em> +<a name="540" href="#540">540</a> <em class="jxr_javadoccomment"> */</em> +<a name="541" href="#541">541</a> <strong class="jxr_keyword">public</strong> String format(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="542" href="#542">542</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="543" href="#543">543</a> <strong class="jxr_keyword">for</strong>(<a href="../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> c = head; +<a name="544" href="#544">544</a> c != <strong class="jxr_keyword">null</strong>; +<a name="545" href="#545">545</a> c = c.next) { +<a name="546" href="#546">546</a> c.format(buf, event); +<a name="547" href="#547">547</a> } +<a name="548" href="#548">548</a> <strong class="jxr_keyword">return</strong> buf.toString(); +<a name="549" href="#549">549</a> } +<a name="550" href="#550">550</a> +<a name="551" href="#551">551</a> <em class="jxr_javadoccomment">/**</em> +<a name="552" href="#552">552</a> <em class="jxr_javadoccomment"> * Will return false if any of the conversion specifiers in the pattern</em> +<a name="553" href="#553">553</a> <em class="jxr_javadoccomment"> * handles {@link Exception Exceptions}.</em> +<a name="554" href="#554">554</a> <em class="jxr_javadoccomment"> * @return true if the pattern formats any information from exceptions.</em> +<a name="555" href="#555">555</a> <em class="jxr_javadoccomment"> */</em> +<a name="556" href="#556">556</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> ignoresThrowable() { +<a name="557" href="#557">557</a> <strong class="jxr_keyword">return</strong> !handlesExceptions; +<a name="558" href="#558">558</a> } +<a name="559" href="#559">559</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/EnhancedThrowableRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/EnhancedThrowableRenderer.html new file mode 100644 index 00000000000..e27de59d591 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/EnhancedThrowableRenderer.html @@ -0,0 +1,182 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>EnhancedThrowableRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/EnhancedThrowableRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRenderer; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.security.CodeSource; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.HashMap; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * Enhanced implementation of ThrowableRenderer. Uses Throwable.getStackTrace</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * if running on JDK 1.4 or later and delegates to DefaultThrowableRenderer.render</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * on earlier virtual machines.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/EnhancedThrowableRenderer.html">EnhancedThrowableRenderer</a> implements <a href="../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> { +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * Throwable.getStackTrace() method.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">private</strong> Method getStackTraceMethod; +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * StackTraceElement.getClassName() method.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">private</strong> Method getClassNameMethod; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * Construct new instance.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/EnhancedThrowableRenderer.html">EnhancedThrowableRenderer</a>() { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">try</strong> { +<a name="51" href="#51">51</a> Class[] noArgs = <strong class="jxr_keyword">null</strong>; +<a name="52" href="#52">52</a> getStackTraceMethod = Throwable.<strong class="jxr_keyword">class</strong>.getMethod(<span class="jxr_string">"getStackTrace"</span>, noArgs); +<a name="53" href="#53">53</a> Class ste = Class.forName(<span class="jxr_string">"java.lang.StackTraceElement"</span>); +<a name="54" href="#54">54</a> getClassNameMethod = ste.getMethod(<span class="jxr_string">"getClassName"</span>, noArgs); +<a name="55" href="#55">55</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> String[] doRender(<strong class="jxr_keyword">final</strong> Throwable throwable) { +<a name="63" href="#63">63</a> <strong class="jxr_keyword">if</strong> (getStackTraceMethod != <strong class="jxr_keyword">null</strong>) { +<a name="64" href="#64">64</a> <strong class="jxr_keyword">try</strong> { +<a name="65" href="#65">65</a> Object[] noArgs = <strong class="jxr_keyword">null</strong>; +<a name="66" href="#66">66</a> Object[] elements = (Object[]) getStackTraceMethod.invoke(throwable, noArgs); +<a name="67" href="#67">67</a> String[] lines = <strong class="jxr_keyword">new</strong> String[elements.length + 1]; +<a name="68" href="#68">68</a> lines[0] = throwable.toString(); +<a name="69" href="#69">69</a> Map classMap = <strong class="jxr_keyword">new</strong> HashMap(); +<a name="70" href="#70">70</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; elements.length; i++) { +<a name="71" href="#71">71</a> lines[i+1] = formatElement(elements[i], classMap); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> <strong class="jxr_keyword">return</strong> lines; +<a name="74" href="#74">74</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> <strong class="jxr_keyword">return</strong> DefaultThrowableRenderer.render(throwable); +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment">/**</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * Format one element from stack trace.</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * @param element element, may not be null.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * @param classMap map of class name to location.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * @return string representation of element.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">private</strong> String formatElement(<strong class="jxr_keyword">final</strong> Object element, <strong class="jxr_keyword">final</strong> Map classMap) { +<a name="87" href="#87">87</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"\tat "</span>); +<a name="88" href="#88">88</a> buf.append(element); +<a name="89" href="#89">89</a> <strong class="jxr_keyword">try</strong> { +<a name="90" href="#90">90</a> String className = getClassNameMethod.invoke(element, (Object[]) <strong class="jxr_keyword">null</strong>).toString(); +<a name="91" href="#91">91</a> Object classDetails = classMap.get(className); +<a name="92" href="#92">92</a> <strong class="jxr_keyword">if</strong> (classDetails != <strong class="jxr_keyword">null</strong>) { +<a name="93" href="#93">93</a> buf.append(classDetails); +<a name="94" href="#94">94</a> } <strong class="jxr_keyword">else</strong> { +<a name="95" href="#95">95</a> Class cls = findClass(className); +<a name="96" href="#96">96</a> <strong class="jxr_keyword">int</strong> detailStart = buf.length(); +<a name="97" href="#97">97</a> buf.append('['); +<a name="98" href="#98">98</a> <strong class="jxr_keyword">try</strong> { +<a name="99" href="#99">99</a> CodeSource source = cls.getProtectionDomain().getCodeSource(); +<a name="100" href="#100">100</a> <strong class="jxr_keyword">if</strong> (source != <strong class="jxr_keyword">null</strong>) { +<a name="101" href="#101">101</a> URL locationURL = source.getLocation(); +<a name="102" href="#102">102</a> <strong class="jxr_keyword">if</strong> (locationURL != <strong class="jxr_keyword">null</strong>) { +<a name="103" href="#103">103</a> <em class="jxr_comment">//</em> +<a name="104" href="#104">104</a> <em class="jxr_comment">// if a file: URL</em> +<a name="105" href="#105">105</a> <em class="jxr_comment">//</em> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"file"</span>.equals(locationURL.getProtocol())) { +<a name="107" href="#107">107</a> String path = locationURL.getPath(); +<a name="108" href="#108">108</a> <strong class="jxr_keyword">if</strong> (path != <strong class="jxr_keyword">null</strong>) { +<a name="109" href="#109">109</a> <em class="jxr_comment">//</em> +<a name="110" href="#110">110</a> <em class="jxr_comment">// find the last file separator character</em> +<a name="111" href="#111">111</a> <em class="jxr_comment">//</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">int</strong> lastSlash = path.lastIndexOf('/'); +<a name="113" href="#113">113</a> <strong class="jxr_keyword">int</strong> lastBack = path.lastIndexOf(File.separatorChar); +<a name="114" href="#114">114</a> <strong class="jxr_keyword">if</strong> (lastBack &gt; lastSlash) { +<a name="115" href="#115">115</a> lastSlash = lastBack; +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> <em class="jxr_comment">//</em> +<a name="118" href="#118">118</a> <em class="jxr_comment">// if no separator or ends with separator (a directory)</em> +<a name="119" href="#119">119</a> <em class="jxr_comment">// then output the URL, otherwise just the file name.</em> +<a name="120" href="#120">120</a> <em class="jxr_comment">//</em> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">if</strong> (lastSlash &lt;= 0 || lastSlash == path.length() - 1) { +<a name="122" href="#122">122</a> buf.append(locationURL); +<a name="123" href="#123">123</a> } <strong class="jxr_keyword">else</strong> { +<a name="124" href="#124">124</a> buf.append(path.substring(lastSlash + 1)); +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> } <strong class="jxr_keyword">else</strong> { +<a name="128" href="#128">128</a> buf.append(locationURL); +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> } <strong class="jxr_keyword">catch</strong>(SecurityException ex) { +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> buf.append(':'); +<a name="135" href="#135">135</a> Package pkg = cls.getPackage(); +<a name="136" href="#136">136</a> <strong class="jxr_keyword">if</strong> (pkg != <strong class="jxr_keyword">null</strong>) { +<a name="137" href="#137">137</a> String implVersion = pkg.getImplementationVersion(); +<a name="138" href="#138">138</a> <strong class="jxr_keyword">if</strong> (implVersion != <strong class="jxr_keyword">null</strong>) { +<a name="139" href="#139">139</a> buf.append(implVersion); +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> buf.append(']'); +<a name="143" href="#143">143</a> classMap.put(className, buf.substring(detailStart)); +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> <strong class="jxr_keyword">return</strong> buf.toString(); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">/**</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> * Find class given class name.</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> * @param className class name, may not be null.</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> * @return class, will not be null.</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> * @throws ClassNotFoundException thrown if class can not be found.</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> */</em> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">private</strong> Class findClass(<strong class="jxr_keyword">final</strong> String className) <strong class="jxr_keyword">throws</strong> ClassNotFoundException { +<a name="157" href="#157">157</a> <strong class="jxr_keyword">try</strong> { +<a name="158" href="#158">158</a> <strong class="jxr_keyword">return</strong> Thread.currentThread().getContextClassLoader().loadClass(className); +<a name="159" href="#159">159</a> } <strong class="jxr_keyword">catch</strong> (ClassNotFoundException e) { +<a name="160" href="#160">160</a> <strong class="jxr_keyword">try</strong> { +<a name="161" href="#161">161</a> <strong class="jxr_keyword">return</strong> Class.forName(className); +<a name="162" href="#162">162</a> } <strong class="jxr_keyword">catch</strong> (ClassNotFoundException e1) { +<a name="163" href="#163">163</a> <strong class="jxr_keyword">return</strong> getClass().getClassLoader().loadClass(className); +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/FileAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/FileAppender.html new file mode 100644 index 00000000000..8072ba9a350 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/FileAppender.html @@ -0,0 +1,362 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FileAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/FileAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.BufferedWriter; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.FileNotFoundException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.FileOutputStream; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.Writer; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.QuietWriter; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorCode; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_comment">// Contibutors: Jens Uwe Pipka &lt;jens.pipka@gmx.de&gt;</em> +<a name="33" href="#33">33</a> <em class="jxr_comment">// Ben Sandee</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * FileAppender appends log events to a file.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> *</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Support for &lt;code&gt;java.io.Writer&lt;/code&gt; and console appending</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * has been deprecated and then removed. See the replacement</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * solutions: {@link WriterAppender} and {@link ConsoleAppender}.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> *</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml; </em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/FileAppender.html">FileAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/WriterAppender.html">WriterAppender</a> { +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Controls file truncatation. The default value for this variable</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * is &lt;code&gt;true&lt;/code&gt;, meaning that by default a</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * &lt;code&gt;FileAppender&lt;/code&gt; will append to an existing file and not</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * truncate it.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> *</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * &lt;p&gt;This option is meaningful only if the FileAppender opens the</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * file.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> fileAppend = <strong class="jxr_keyword">true</strong>; +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment">/**</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> The name of the log file. */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">protected</strong> String fileName = <strong class="jxr_keyword">null</strong>; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> Do we do bufferedIO? */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> bufferedIO = false; +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment">/**</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * Determines the size of IO buffer be. Default is 8K. </em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> bufferSize = 8*1024; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> The default constructor does not do anything.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> */</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">public</strong> +<a name="74" href="#74">74</a> <a href="../../../org/apache/log4j/FileAppender.html">FileAppender</a>() { +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment">/**</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> Instantiate a &lt;code&gt;FileAppender&lt;/code&gt; and open the file</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> designated by &lt;code&gt;filename&lt;/code&gt;. The opened filename will</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> become the output destination for this appender.</em> +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the &lt;code&gt;append&lt;/code&gt; parameter is true, the file will be</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> appended to. Otherwise, the file designated by</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> &lt;code&gt;filename&lt;/code&gt; will be truncated before being opened.</em> +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the &lt;code&gt;bufferedIO&lt;/code&gt; parameter is &lt;code&gt;true&lt;/code&gt;,</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> then buffered IO will be used to write to the output file.</em> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> */</em> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">public</strong> +<a name="91" href="#91">91</a> <a href="../../../org/apache/log4j/FileAppender.html">FileAppender</a>(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout, String filename, <strong class="jxr_keyword">boolean</strong> append, <strong class="jxr_keyword">boolean</strong> bufferedIO, +<a name="92" href="#92">92</a> <strong class="jxr_keyword">int</strong> bufferSize) <strong class="jxr_keyword">throws</strong> IOException { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">this</strong>.layout = layout; +<a name="94" href="#94">94</a> <strong class="jxr_keyword">this</strong>.setFile(filename, append, bufferedIO, bufferSize); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment">/**</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> Instantiate a FileAppender and open the file designated by</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> &lt;code&gt;filename&lt;/code&gt;. The opened filename will become the output</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> destination for this appender.</em> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the &lt;code&gt;append&lt;/code&gt; parameter is true, the file will be</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> appended to. Otherwise, the file designated by</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> &lt;code&gt;filename&lt;/code&gt; will be truncated before being opened.</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> */</em> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">public</strong> +<a name="107" href="#107">107</a> <a href="../../../org/apache/log4j/FileAppender.html">FileAppender</a>(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout, String filename, <strong class="jxr_keyword">boolean</strong> append) +<a name="108" href="#108">108</a> <strong class="jxr_keyword">throws</strong> IOException { +<a name="109" href="#109">109</a> <strong class="jxr_keyword">this</strong>.layout = layout; +<a name="110" href="#110">110</a> <strong class="jxr_keyword">this</strong>.setFile(filename, append, false, bufferSize); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">/**</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> Instantiate a FileAppender and open the file designated by</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> &lt;code&gt;filename&lt;/code&gt;. The opened filename will become the output</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> destination for this appender.</em> +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> &lt;p&gt;The file will be appended to. */</em> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">public</strong> +<a name="120" href="#120">120</a> <a href="../../../org/apache/log4j/FileAppender.html">FileAppender</a>(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout, String filename) <strong class="jxr_keyword">throws</strong> IOException { +<a name="121" href="#121">121</a> <strong class="jxr_keyword">this</strong>(layout, filename, <strong class="jxr_keyword">true</strong>); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> The &lt;b&gt;File&lt;/b&gt; property takes a string value which should be the</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> name of the file to append to.</em> +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;font color="#DD0044"&gt;&lt;b&gt;Note that the special values</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> "System.out" or "System.err" are no longer honored.&lt;/b&gt;&lt;/font&gt;</em> +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note: Actual opening of the file is made when {@link</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> #activateOptions} is called, not when the options are set. */</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFile(String file) { +<a name="134" href="#134">134</a> <em class="jxr_comment">// Trim spaces from both ends. The users probably does not want</em> +<a name="135" href="#135">135</a> <em class="jxr_comment">// trailing spaces in file names.</em> +<a name="136" href="#136">136</a> String val = file.trim(); +<a name="137" href="#137">137</a> fileName = val; +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">/**</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> Returns the value of the &lt;b&gt;Append&lt;/b&gt; option.</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> */</em> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">public</strong> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">boolean</strong> getAppend() { +<a name="145" href="#145">145</a> <strong class="jxr_keyword">return</strong> fileAppend; +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Returns the value of the &lt;b&gt;File&lt;/b&gt; option. */</em> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">public</strong> +<a name="151" href="#151">151</a> String getFile() { +<a name="152" href="#152">152</a> <strong class="jxr_keyword">return</strong> fileName; +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">/**</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> If the value of &lt;b&gt;File&lt;/b&gt; is not &lt;code&gt;null&lt;/code&gt;, then {@link</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> #setFile} is called with the values of &lt;b&gt;File&lt;/b&gt; and</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> &lt;b&gt;Append&lt;/b&gt; properties.</em> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> @since 0.8.1 */</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">public</strong> +<a name="162" href="#162">162</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="163" href="#163">163</a> <strong class="jxr_keyword">if</strong>(fileName != <strong class="jxr_keyword">null</strong>) { +<a name="164" href="#164">164</a> <strong class="jxr_keyword">try</strong> { +<a name="165" href="#165">165</a> setFile(fileName, fileAppend, bufferedIO, bufferSize); +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> <strong class="jxr_keyword">catch</strong>(java.io.IOException e) { +<a name="168" href="#168">168</a> errorHandler.error(<span class="jxr_string">"setFile("</span>+fileName+<span class="jxr_string">","</span>+fileAppend+<span class="jxr_string">") call failed."</span>, +<a name="169" href="#169">169</a> e, ErrorCode.FILE_OPEN_FAILURE); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> } <strong class="jxr_keyword">else</strong> { +<a name="172" href="#172">172</a> <em class="jxr_comment">//LogLog.error("File option not set for appender ["+name+"].");</em> +<a name="173" href="#173">173</a> LogLog.warn(<span class="jxr_string">"File option not set for appender ["</span>+name+<span class="jxr_string">"]."</span>); +<a name="174" href="#174">174</a> LogLog.warn(<span class="jxr_string">"Are you using FileAppender instead of ConsoleAppender?"</span>); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">/**</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> Closes the previously opened file.</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> */</em> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">protected</strong> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">void</strong> closeFile() { +<a name="183" href="#183">183</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.qw != <strong class="jxr_keyword">null</strong>) { +<a name="184" href="#184">184</a> <strong class="jxr_keyword">try</strong> { +<a name="185" href="#185">185</a> <strong class="jxr_keyword">this</strong>.qw.close(); +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> <strong class="jxr_keyword">catch</strong>(java.io.IOException e) { +<a name="188" href="#188">188</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="189" href="#189">189</a> Thread.currentThread().interrupt(); +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> <em class="jxr_comment">// Exceptionally, it does not make sense to delegate to an</em> +<a name="192" href="#192">192</a> <em class="jxr_comment">// ErrorHandler. Since a closed appender is basically dead.</em> +<a name="193" href="#193">193</a> LogLog.error(<span class="jxr_string">"Could not close "</span> + qw, e); +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> } +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">/**</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> Get the value of the &lt;b&gt;BufferedIO&lt;/b&gt; option.</em> +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> &lt;p&gt;BufferedIO will significatnly increase performance on heavily</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> loaded systems.</em> +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> */</em> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">public</strong> +<a name="206" href="#206">206</a> <strong class="jxr_keyword">boolean</strong> getBufferedIO() { +<a name="207" href="#207">207</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.bufferedIO; +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment">/**</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> Get the size of the IO buffer.</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> */</em> +<a name="214" href="#214">214</a> <strong class="jxr_keyword">public</strong> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">int</strong> getBufferSize() { +<a name="216" href="#216">216</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.bufferSize; +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> +<a name="219" href="#219">219</a> +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">/**</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> The &lt;b&gt;Append&lt;/b&gt; option takes a boolean value. It is set to</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt; by default. If true, then &lt;code&gt;File&lt;/code&gt;</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> will be opened in append mode by {@link #setFile setFile} (see</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> above). Otherwise, {@link #setFile setFile} will open</em> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment"> &lt;code&gt;File&lt;/code&gt; in truncate mode.</em> +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note: Actual opening of the file is made when {@link</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> #activateOptions} is called, not when the options are set.</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> */</em> +<a name="231" href="#231">231</a> <strong class="jxr_keyword">public</strong> +<a name="232" href="#232">232</a> <strong class="jxr_keyword">void</strong> setAppend(<strong class="jxr_keyword">boolean</strong> flag) { +<a name="233" href="#233">233</a> fileAppend = flag; +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment">/**</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> The &lt;b&gt;BufferedIO&lt;/b&gt; option takes a boolean value. It is set to</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> &lt;code&gt;false&lt;/code&gt; by default. If true, then &lt;code&gt;File&lt;/code&gt;</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> will be opened and the resulting {@link java.io.Writer} wrapped</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> around a {@link BufferedWriter}.</em> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment"> BufferedIO will significatnly increase performance on heavily</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> loaded systems.</em> +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> */</em> +<a name="246" href="#246">246</a> <strong class="jxr_keyword">public</strong> +<a name="247" href="#247">247</a> <strong class="jxr_keyword">void</strong> setBufferedIO(<strong class="jxr_keyword">boolean</strong> bufferedIO) { +<a name="248" href="#248">248</a> <strong class="jxr_keyword">this</strong>.bufferedIO = bufferedIO; +<a name="249" href="#249">249</a> <strong class="jxr_keyword">if</strong>(bufferedIO) { +<a name="250" href="#250">250</a> immediateFlush = false; +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> } +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment">/**</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> Set the size of the IO buffer.</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> */</em> +<a name="258" href="#258">258</a> <strong class="jxr_keyword">public</strong> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">void</strong> setBufferSize(<strong class="jxr_keyword">int</strong> bufferSize) { +<a name="260" href="#260">260</a> <strong class="jxr_keyword">this</strong>.bufferSize = bufferSize; +<a name="261" href="#261">261</a> } +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment">/**</em> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment"> &lt;p&gt;Sets and &lt;i&gt;opens&lt;/i&gt; the file where the log output will</em> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment"> go. The specified file must be writable.</em> +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> &lt;p&gt;If there was already an opened file, then the previous file</em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> is closed first.</em> +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;Do not use this method directly. To configure a FileAppender</em> +<a name="271" href="#271">271</a> <em class="jxr_javadoccomment"> or one of its subclasses, set its properties one by one and then</em> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> call activateOptions.&lt;/b&gt;</em> +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> @param fileName The path to the log file.</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> @param append If true will append to fileName. Otherwise will</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> truncate fileName. */</em> +<a name="277" href="#277">277</a> <strong class="jxr_keyword">public</strong> +<a name="278" href="#278">278</a> <strong class="jxr_keyword">synchronized</strong> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">void</strong> setFile(String fileName, <strong class="jxr_keyword">boolean</strong> append, <strong class="jxr_keyword">boolean</strong> bufferedIO, <strong class="jxr_keyword">int</strong> bufferSize) +<a name="280" href="#280">280</a> <strong class="jxr_keyword">throws</strong> IOException { +<a name="281" href="#281">281</a> LogLog.debug(<span class="jxr_string">"setFile called: "</span>+fileName+<span class="jxr_string">", "</span>+append); +<a name="282" href="#282">282</a> +<a name="283" href="#283">283</a> <em class="jxr_comment">// It does not make sense to have immediate flush and bufferedIO.</em> +<a name="284" href="#284">284</a> <strong class="jxr_keyword">if</strong>(bufferedIO) { +<a name="285" href="#285">285</a> setImmediateFlush(false); +<a name="286" href="#286">286</a> } +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> reset(); +<a name="289" href="#289">289</a> FileOutputStream ostream = <strong class="jxr_keyword">null</strong>; +<a name="290" href="#290">290</a> <strong class="jxr_keyword">try</strong> { +<a name="291" href="#291">291</a> <em class="jxr_comment">//</em> +<a name="292" href="#292">292</a> <em class="jxr_comment">// attempt to create file</em> +<a name="293" href="#293">293</a> <em class="jxr_comment">//</em> +<a name="294" href="#294">294</a> ostream = <strong class="jxr_keyword">new</strong> FileOutputStream(fileName, append); +<a name="295" href="#295">295</a> } <strong class="jxr_keyword">catch</strong>(FileNotFoundException ex) { +<a name="296" href="#296">296</a> <em class="jxr_comment">//</em> +<a name="297" href="#297">297</a> <em class="jxr_comment">// if parent directory does not exist then</em> +<a name="298" href="#298">298</a> <em class="jxr_comment">// attempt to create it and try to create file</em> +<a name="299" href="#299">299</a> <em class="jxr_comment">// see bug 9150</em> +<a name="300" href="#300">300</a> <em class="jxr_comment">//</em> +<a name="301" href="#301">301</a> String parentName = <strong class="jxr_keyword">new</strong> File(fileName).getParent(); +<a name="302" href="#302">302</a> <strong class="jxr_keyword">if</strong> (parentName != <strong class="jxr_keyword">null</strong>) { +<a name="303" href="#303">303</a> File parentDir = <strong class="jxr_keyword">new</strong> File(parentName); +<a name="304" href="#304">304</a> <strong class="jxr_keyword">if</strong>(!parentDir.exists() &amp;&amp; parentDir.mkdirs()) { +<a name="305" href="#305">305</a> ostream = <strong class="jxr_keyword">new</strong> FileOutputStream(fileName, append); +<a name="306" href="#306">306</a> } <strong class="jxr_keyword">else</strong> { +<a name="307" href="#307">307</a> <strong class="jxr_keyword">throw</strong> ex; +<a name="308" href="#308">308</a> } +<a name="309" href="#309">309</a> } <strong class="jxr_keyword">else</strong> { +<a name="310" href="#310">310</a> <strong class="jxr_keyword">throw</strong> ex; +<a name="311" href="#311">311</a> } +<a name="312" href="#312">312</a> } +<a name="313" href="#313">313</a> Writer fw = createWriter(ostream); +<a name="314" href="#314">314</a> <strong class="jxr_keyword">if</strong>(bufferedIO) { +<a name="315" href="#315">315</a> fw = <strong class="jxr_keyword">new</strong> BufferedWriter(fw, bufferSize); +<a name="316" href="#316">316</a> } +<a name="317" href="#317">317</a> <strong class="jxr_keyword">this</strong>.setQWForFiles(fw); +<a name="318" href="#318">318</a> <strong class="jxr_keyword">this</strong>.fileName = fileName; +<a name="319" href="#319">319</a> <strong class="jxr_keyword">this</strong>.fileAppend = append; +<a name="320" href="#320">320</a> <strong class="jxr_keyword">this</strong>.bufferedIO = bufferedIO; +<a name="321" href="#321">321</a> <strong class="jxr_keyword">this</strong>.bufferSize = bufferSize; +<a name="322" href="#322">322</a> writeHeader(); +<a name="323" href="#323">323</a> LogLog.debug(<span class="jxr_string">"setFile ended"</span>); +<a name="324" href="#324">324</a> } +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">/**</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> Sets the quiet writer being used.</em> +<a name="329" href="#329">329</a> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> This method is overriden by {@link RollingFileAppender}.</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> */</em> +<a name="332" href="#332">332</a> <strong class="jxr_keyword">protected</strong> +<a name="333" href="#333">333</a> <strong class="jxr_keyword">void</strong> setQWForFiles(Writer writer) { +<a name="334" href="#334">334</a> <strong class="jxr_keyword">this</strong>.qw = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/helpers/QuietWriter.html">QuietWriter</a>(writer, errorHandler); +<a name="335" href="#335">335</a> } +<a name="336" href="#336">336</a> +<a name="337" href="#337">337</a> +<a name="338" href="#338">338</a> <em class="jxr_javadoccomment">/**</em> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment"> Close any previously opened file and call the parent's</em> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment"> &lt;code&gt;reset&lt;/code&gt;. */</em> +<a name="341" href="#341">341</a> <strong class="jxr_keyword">protected</strong> +<a name="342" href="#342">342</a> <strong class="jxr_keyword">void</strong> reset() { +<a name="343" href="#343">343</a> closeFile(); +<a name="344" href="#344">344</a> <strong class="jxr_keyword">this</strong>.fileName = <strong class="jxr_keyword">null</strong>; +<a name="345" href="#345">345</a> <strong class="jxr_keyword">super</strong>.reset(); +<a name="346" href="#346">346</a> } +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/HTMLLayout.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/HTMLLayout.html new file mode 100644 index 00000000000..fa6459aca48 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/HTMLLayout.html @@ -0,0 +1,281 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>HTMLLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/HTMLLayout.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LocationInfo; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.Transform; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * This layout outputs events in a HTML table.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Appenders using this layout should have their encoding</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * set to UTF-8 or UTF-16, otherwise events containing</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * non ASCII characters could result in corrupted</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * log files.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/HTMLLayout.html">HTMLLayout</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/Layout.html">Layout</a> { +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> BUF_SIZE = 256; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MAX_CAPACITY = 1024; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">static</strong> String TRACE_PREFIX = <span class="jxr_string">"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"</span>; +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_comment">// output buffer appended to when format() is invoked</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(BUF_SIZE); +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> A string constant used in naming the option for setting the the</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> location information flag. Current value of this string</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> constant is &lt;b&gt;LocationInfo&lt;/b&gt;.</em> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that all option keys are case sensitive.</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> @deprecated Options are now handled using the JavaBeans paradigm.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> This constant is not longer needed and will be removed in the</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> &lt;em&gt;near&lt;/em&gt; term.</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOCATION_INFO_OPTION = <span class="jxr_string">"LocationInfo"</span>; +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> A string constant used in naming the option for setting the the</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> HTML document title. Current value of this string</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> constant is &lt;b&gt;Title&lt;/b&gt;.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TITLE_OPTION = <span class="jxr_string">"Title"</span>; +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_comment">// Print no location info by default</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">boolean</strong> locationInfo = false; +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> String title = <span class="jxr_string">"Log4J Log Messages"</span>; +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> The &lt;b&gt;LocationInfo&lt;/b&gt; option takes a boolean value. By</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> default, it is set to false which means there will be no location</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> information output by this layout. If the the option is set to</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> true, then the file name and line number of the statement</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> at the origin of the log statement will be output.</em> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> &lt;p&gt;If you are embedding this layout within an {@link</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> org.apache.log4j.net.SMTPAppender} then make sure to set the</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> &lt;b&gt;LocationInfo&lt;/b&gt; option of that appender as well.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> */</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">public</strong> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">void</strong> setLocationInfo(<strong class="jxr_keyword">boolean</strong> flag) { +<a name="83" href="#83">83</a> locationInfo = flag; +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment">/**</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> Returns the current value of the &lt;b&gt;LocationInfo&lt;/b&gt; option.</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> */</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">public</strong> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">boolean</strong> getLocationInfo() { +<a name="91" href="#91">91</a> <strong class="jxr_keyword">return</strong> locationInfo; +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment">/**</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> The &lt;b&gt;Title&lt;/b&gt; option takes a String value. This option sets the</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> document title of the generated HTML document.</em> +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> &lt;p&gt;Defaults to 'Log4J Log Messages'.</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> */</em> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">public</strong> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">void</strong> setTitle(String title) { +<a name="102" href="#102">102</a> <strong class="jxr_keyword">this</strong>.title = title; +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> Returns the current value of the &lt;b&gt;Title&lt;/b&gt; option.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> */</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> +<a name="109" href="#109">109</a> String getTitle() { +<a name="110" href="#110">110</a> <strong class="jxr_keyword">return</strong> title; +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">/**</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> Returns the content type output by this layout, i.e "text/html".</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> */</em> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">public</strong> +<a name="117" href="#117">117</a> String getContentType() { +<a name="118" href="#118">118</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"text/html"</span>; +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">/**</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> No options to activate.</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> */</em> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">public</strong> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <strong class="jxr_keyword">public</strong> +<a name="129" href="#129">129</a> String format(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">if</strong>(sbuf.capacity() &gt; MAX_CAPACITY) { +<a name="132" href="#132">132</a> sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(BUF_SIZE); +<a name="133" href="#133">133</a> } <strong class="jxr_keyword">else</strong> { +<a name="134" href="#134">134</a> sbuf.setLength(0); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> sbuf.append(Layout.LINE_SEP + <span class="jxr_string">"&lt;tr&gt;"</span> + Layout.LINE_SEP); +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> sbuf.append(<span class="jxr_string">"&lt;td&gt;"</span>); +<a name="140" href="#140">140</a> sbuf.append(event.timeStamp - LoggingEvent.getStartTime()); +<a name="141" href="#141">141</a> sbuf.append(<span class="jxr_string">"&lt;/td&gt;"</span> + Layout.LINE_SEP); +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> String escapedThread = Transform.escapeTags(event.getThreadName()); +<a name="144" href="#144">144</a> sbuf.append(<span class="jxr_string">"&lt;td title=\&quot;"</span> + escapedThread + <span class="jxr_string">" thread\&quot;&gt;"</span>); +<a name="145" href="#145">145</a> sbuf.append(escapedThread); +<a name="146" href="#146">146</a> sbuf.append(<span class="jxr_string">"&lt;/td&gt;"</span> + Layout.LINE_SEP); +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> sbuf.append(<span class="jxr_string">"&lt;td title=\&quot;Level\&quot;&gt;"</span>); +<a name="149" href="#149">149</a> <strong class="jxr_keyword">if</strong> (event.getLevel().equals(Level.DEBUG)) { +<a name="150" href="#150">150</a> sbuf.append(<span class="jxr_string">"&lt;font color=\&quot;#339933\&quot;&gt;"</span>); +<a name="151" href="#151">151</a> sbuf.append(Transform.escapeTags(String.valueOf(event.getLevel()))); +<a name="152" href="#152">152</a> sbuf.append(<span class="jxr_string">"&lt;/font&gt;"</span>); +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(event.getLevel().isGreaterOrEqual(Level.WARN)) { +<a name="155" href="#155">155</a> sbuf.append(<span class="jxr_string">"&lt;font color=\&quot;#993300\&quot;&gt;&lt;strong&gt;"</span>); +<a name="156" href="#156">156</a> sbuf.append(Transform.escapeTags(String.valueOf(event.getLevel()))); +<a name="157" href="#157">157</a> sbuf.append(<span class="jxr_string">"&lt;/strong&gt;&lt;/font&gt;"</span>); +<a name="158" href="#158">158</a> } <strong class="jxr_keyword">else</strong> { +<a name="159" href="#159">159</a> sbuf.append(Transform.escapeTags(String.valueOf(event.getLevel()))); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> sbuf.append(<span class="jxr_string">"&lt;/td&gt;"</span> + Layout.LINE_SEP); +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> String escapedLogger = Transform.escapeTags(event.getLoggerName()); +<a name="164" href="#164">164</a> sbuf.append(<span class="jxr_string">"&lt;td title=\&quot;"</span> + escapedLogger + <span class="jxr_string">" category\&quot;&gt;"</span>); +<a name="165" href="#165">165</a> sbuf.append(escapedLogger); +<a name="166" href="#166">166</a> sbuf.append(<span class="jxr_string">"&lt;/td&gt;"</span> + Layout.LINE_SEP); +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">if</strong>(locationInfo) { +<a name="169" href="#169">169</a> <a href="../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> locInfo = event.getLocationInformation(); +<a name="170" href="#170">170</a> sbuf.append(<span class="jxr_string">"&lt;td&gt;"</span>); +<a name="171" href="#171">171</a> sbuf.append(Transform.escapeTags(locInfo.getFileName())); +<a name="172" href="#172">172</a> sbuf.append(':'); +<a name="173" href="#173">173</a> sbuf.append(locInfo.getLineNumber()); +<a name="174" href="#174">174</a> sbuf.append(<span class="jxr_string">"&lt;/td&gt;"</span> + Layout.LINE_SEP); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> sbuf.append(<span class="jxr_string">"&lt;td title=\&quot;Message\&quot;&gt;"</span>); +<a name="178" href="#178">178</a> sbuf.append(Transform.escapeTags(event.getRenderedMessage())); +<a name="179" href="#179">179</a> sbuf.append(<span class="jxr_string">"&lt;/td&gt;"</span> + Layout.LINE_SEP); +<a name="180" href="#180">180</a> sbuf.append(<span class="jxr_string">"&lt;/tr&gt;"</span> + Layout.LINE_SEP); +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">if</strong> (event.getNDC() != <strong class="jxr_keyword">null</strong>) { +<a name="183" href="#183">183</a> sbuf.append(<span class="jxr_string">"&lt;tr&gt;&lt;td bgcolor=\&quot;#EEEEEE\&quot; style=\&quot;font-size : xx-small;\&quot; colspan=\&quot;6\&quot; title=\&quot;Nested Diagnostic Context\&quot;&gt;"</span>); +<a name="184" href="#184">184</a> sbuf.append(<span class="jxr_string">"NDC: "</span> + Transform.escapeTags(event.getNDC())); +<a name="185" href="#185">185</a> sbuf.append(<span class="jxr_string">"&lt;/td&gt;&lt;/tr&gt;"</span> + Layout.LINE_SEP); +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> String[] s = event.getThrowableStrRep(); +<a name="189" href="#189">189</a> <strong class="jxr_keyword">if</strong>(s != <strong class="jxr_keyword">null</strong>) { +<a name="190" href="#190">190</a> sbuf.append(<span class="jxr_string">"&lt;tr&gt;&lt;td bgcolor=\&quot;#993300\&quot; style=\&quot;color:White; font-size : xx-small;\&quot; colspan=\&quot;6\&quot;&gt;"</span>); +<a name="191" href="#191">191</a> appendThrowableAsHTML(s, sbuf); +<a name="192" href="#192">192</a> sbuf.append(<span class="jxr_string">"&lt;/td&gt;&lt;/tr&gt;"</span> + Layout.LINE_SEP); +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <strong class="jxr_keyword">void</strong> appendThrowableAsHTML(String[] s, StringBuffer sbuf) { +<a name="199" href="#199">199</a> <strong class="jxr_keyword">if</strong>(s != <strong class="jxr_keyword">null</strong>) { +<a name="200" href="#200">200</a> <strong class="jxr_keyword">int</strong> len = s.length; +<a name="201" href="#201">201</a> <strong class="jxr_keyword">if</strong>(len == 0) +<a name="202" href="#202">202</a> <strong class="jxr_keyword">return</strong>; +<a name="203" href="#203">203</a> sbuf.append(Transform.escapeTags(s[0])); +<a name="204" href="#204">204</a> sbuf.append(Layout.LINE_SEP); +<a name="205" href="#205">205</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 1; i &lt; len; i++) { +<a name="206" href="#206">206</a> sbuf.append(TRACE_PREFIX); +<a name="207" href="#207">207</a> sbuf.append(Transform.escapeTags(s[i])); +<a name="208" href="#208">208</a> sbuf.append(Layout.LINE_SEP); +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">/**</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> Returns appropriate HTML headers.</em> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> */</em> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">public</strong> +<a name="217" href="#217">217</a> String getHeader() { +<a name="218" href="#218">218</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="219" href="#219">219</a> sbuf.append(<span class="jxr_string">"&lt;!DOCTYPE HTML PUBLIC \&quot;-//W3C//DTD HTML 4.01 Transitional//EN\&quot; \&quot;http://www.w3.org/TR/html4/loose.dtd\&quot;&gt;"</span> + Layout.LINE_SEP); +<a name="220" href="#220">220</a> sbuf.append(<span class="jxr_string">"&lt;html&gt;"</span> + Layout.LINE_SEP); +<a name="221" href="#221">221</a> sbuf.append(<span class="jxr_string">"&lt;head&gt;"</span> + Layout.LINE_SEP); +<a name="222" href="#222">222</a> sbuf.append(<span class="jxr_string">"&lt;title&gt;"</span> + title + <span class="jxr_string">"&lt;/title&gt;"</span> + Layout.LINE_SEP); +<a name="223" href="#223">223</a> sbuf.append(<span class="jxr_string">"&lt;style type=\&quot;text/css\&quot;&gt;"</span> + Layout.LINE_SEP); +<a name="224" href="#224">224</a> sbuf.append(<span class="jxr_string">"&lt;!--"</span> + Layout.LINE_SEP); +<a name="225" href="#225">225</a> sbuf.append(<span class="jxr_string">"body, table {font-family: arial,sans-serif; font-size: x-small;}"</span> + Layout.LINE_SEP); +<a name="226" href="#226">226</a> sbuf.append(<span class="jxr_string">"th {background: #336699; color: #FFFFFF; text-align: left;}"</span> + Layout.LINE_SEP); +<a name="227" href="#227">227</a> sbuf.append(<span class="jxr_string">"--&gt;"</span> + Layout.LINE_SEP); +<a name="228" href="#228">228</a> sbuf.append(<span class="jxr_string">"&lt;/style&gt;"</span> + Layout.LINE_SEP); +<a name="229" href="#229">229</a> sbuf.append(<span class="jxr_string">"&lt;/head&gt;"</span> + Layout.LINE_SEP); +<a name="230" href="#230">230</a> sbuf.append(<span class="jxr_string">"&lt;body bgcolor=\&quot;#FFFFFF\&quot; topmargin=\&quot;6\&quot; leftmargin=\&quot;6\&quot;&gt;"</span> + Layout.LINE_SEP); +<a name="231" href="#231">231</a> sbuf.append(<span class="jxr_string">"&lt;hr size=\&quot;1\&quot; noshade&gt;"</span> + Layout.LINE_SEP); +<a name="232" href="#232">232</a> sbuf.append(<span class="jxr_string">"Log session start time "</span> + <strong class="jxr_keyword">new</strong> java.util.Date() + <span class="jxr_string">"&lt;br&gt;"</span> + Layout.LINE_SEP); +<a name="233" href="#233">233</a> sbuf.append(<span class="jxr_string">"&lt;br&gt;"</span> + Layout.LINE_SEP); +<a name="234" href="#234">234</a> sbuf.append(<span class="jxr_string">"&lt;table cellspacing=\&quot;0\&quot; cellpadding=\&quot;4\&quot; border=\&quot;1\&quot; bordercolor=\&quot;#224466\&quot; width=\&quot;100%\&quot;&gt;"</span> + Layout.LINE_SEP); +<a name="235" href="#235">235</a> sbuf.append(<span class="jxr_string">"&lt;tr&gt;"</span> + Layout.LINE_SEP); +<a name="236" href="#236">236</a> sbuf.append(<span class="jxr_string">"&lt;th&gt;Time&lt;/th&gt;"</span> + Layout.LINE_SEP); +<a name="237" href="#237">237</a> sbuf.append(<span class="jxr_string">"&lt;th&gt;Thread&lt;/th&gt;"</span> + Layout.LINE_SEP); +<a name="238" href="#238">238</a> sbuf.append(<span class="jxr_string">"&lt;th&gt;Level&lt;/th&gt;"</span> + Layout.LINE_SEP); +<a name="239" href="#239">239</a> sbuf.append(<span class="jxr_string">"&lt;th&gt;Category&lt;/th&gt;"</span> + Layout.LINE_SEP); +<a name="240" href="#240">240</a> <strong class="jxr_keyword">if</strong>(locationInfo) { +<a name="241" href="#241">241</a> sbuf.append(<span class="jxr_string">"&lt;th&gt;File:Line&lt;/th&gt;"</span> + Layout.LINE_SEP); +<a name="242" href="#242">242</a> } +<a name="243" href="#243">243</a> sbuf.append(<span class="jxr_string">"&lt;th&gt;Message&lt;/th&gt;"</span> + Layout.LINE_SEP); +<a name="244" href="#244">244</a> sbuf.append(<span class="jxr_string">"&lt;/tr&gt;"</span> + Layout.LINE_SEP); +<a name="245" href="#245">245</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="246" href="#246">246</a> } +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment">/**</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> Returns the appropriate HTML footers.</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> */</em> +<a name="251" href="#251">251</a> <strong class="jxr_keyword">public</strong> +<a name="252" href="#252">252</a> String getFooter() { +<a name="253" href="#253">253</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="254" href="#254">254</a> sbuf.append(<span class="jxr_string">"&lt;/table&gt;"</span> + Layout.LINE_SEP); +<a name="255" href="#255">255</a> sbuf.append(<span class="jxr_string">"&lt;br&gt;"</span> + Layout.LINE_SEP); +<a name="256" href="#256">256</a> sbuf.append(<span class="jxr_string">"&lt;/body&gt;&lt;/html&gt;"</span>); +<a name="257" href="#257">257</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="258" href="#258">258</a> } +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment">/**</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> The HTML layout handles the throwable contained in logging</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> events. Hence, this method return &lt;code&gt;false&lt;/code&gt;. */</em> +<a name="263" href="#263">263</a> <strong class="jxr_keyword">public</strong> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">boolean</strong> ignoresThrowable() { +<a name="265" href="#265">265</a> <strong class="jxr_keyword">return</strong> false; +<a name="266" href="#266">266</a> } +<a name="267" href="#267">267</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Hierarchy.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Hierarchy.html new file mode 100644 index 00000000000..e5eda2cbd0c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Hierarchy.html @@ -0,0 +1,591 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Hierarchy xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/Hierarchy.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// WARNING This class MUST not have references to the Category or</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// WARNING RootCategory classes in its static initiliazation neither</em> +<a name="20" href="#20">20</a> <em class="jxr_comment">// WARNING directly nor indirectly.</em> +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_comment">// Contributors:</em> +<a name="23" href="#23">23</a> <em class="jxr_comment">// Luke Blanshard &lt;luke@quiq.com&gt;</em> +<a name="24" href="#24">24</a> <em class="jxr_comment">// Mario Schomburg - IBM Global Services/Germany</em> +<a name="25" href="#25">25</a> <em class="jxr_comment">// Anders Kristensen</em> +<a name="26" href="#26">26</a> <em class="jxr_comment">// Igor Poteryaev</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerFactory; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.HierarchyEventListener; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.RendererSupport; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.or.RendererMap; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.or.ObjectRenderer; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRendererSupport; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRenderer; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> This class is specialized in retrieving loggers by name and also</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> maintaining the logger hierarchy.</em> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;em&gt;The casual user does not have to deal with this class</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> directly.&lt;/em&gt;</em> +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> &lt;p&gt;The structure of the logger hierarchy is maintained by the</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> {@link #getLogger} method. The hierarchy is such that children link</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> to their parent but parents do not have any pointers to their</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> children. Moreover, loggers can be instantiated in any order, in</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> particular descendant before ancestor.</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> &lt;p&gt;In case a descendant is created before a particular ancestor,</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> then it creates a provision node for the ancestor and adds itself</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> to the provision node. Other descendants of the same ancestor add</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> themselves to the previously created provision node.</em> +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">*/</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/Hierarchy.html">Hierarchy</a> implements LoggerRepository, RendererSupport, <a href="../../../org/apache/log4j/spi/ThrowableRendererSupport.html">ThrowableRendererSupport</a> { +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> defaultFactory; +<a name="69" href="#69">69</a> <strong class="jxr_keyword">private</strong> Vector listeners; +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> Hashtable ht; +<a name="72" href="#72">72</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> root; +<a name="73" href="#73">73</a> <a href="../../../org/apache/log4j/or/RendererMap.html">RendererMap</a> rendererMap; +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">int</strong> thresholdInt; +<a name="76" href="#76">76</a> <a href="../../../org/apache/log4j/Level.html">Level</a> threshold; +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">boolean</strong> emittedNoAppenderWarning = false; +<a name="79" href="#79">79</a> <strong class="jxr_keyword">boolean</strong> emittedNoResourceBundleWarning = false; +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> throwableRenderer = <strong class="jxr_keyword">null</strong>; +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment">/**</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> Create a new logger hierarchy.</em> +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> @param root The root of the new hierarchy.</em> +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> */</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">public</strong> +<a name="90" href="#90">90</a> <a href="../../../org/apache/log4j/Hierarchy.html">Hierarchy</a>(<a href="../../../org/apache/log4j/Logger.html">Logger</a> root) { +<a name="91" href="#91">91</a> ht = <strong class="jxr_keyword">new</strong> Hashtable(); +<a name="92" href="#92">92</a> listeners = <strong class="jxr_keyword">new</strong> Vector(1); +<a name="93" href="#93">93</a> <strong class="jxr_keyword">this</strong>.root = root; +<a name="94" href="#94">94</a> <em class="jxr_comment">// Enable all level levels by default.</em> +<a name="95" href="#95">95</a> setThreshold(Level.ALL); +<a name="96" href="#96">96</a> <strong class="jxr_keyword">this</strong>.root.setHierarchy(<strong class="jxr_keyword">this</strong>); +<a name="97" href="#97">97</a> rendererMap = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/or/RendererMap.html">RendererMap</a>(); +<a name="98" href="#98">98</a> defaultFactory = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/DefaultCategoryFactory.html">DefaultCategoryFactory</a>(); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> Add an object renderer for a specific class.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> */</em> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">void</strong> addRenderer(Class classToRender, <a href="../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> or) { +<a name="106" href="#106">106</a> rendererMap.put(classToRender, or); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">public</strong> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">void</strong> addHierarchyEventListener(<a href="../../../org/apache/log4j/spi/HierarchyEventListener.html">HierarchyEventListener</a> listener) { +<a name="111" href="#111">111</a> <strong class="jxr_keyword">if</strong>(listeners.contains(listener)) { +<a name="112" href="#112">112</a> LogLog.warn(<span class="jxr_string">"Ignoring attempt to add an existent listener."</span>); +<a name="113" href="#113">113</a> } <strong class="jxr_keyword">else</strong> { +<a name="114" href="#114">114</a> listeners.addElement(listener); +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">/**</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> This call will clear all logger definitions from the internal</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> hashtable. Invoking this method will irrevocably mess up the</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> logger hierarchy.</em> +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> &lt;p&gt;You should &lt;em&gt;really&lt;/em&gt; know what you are doing before</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> invoking this method.</em> +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> @since 0.9.0 */</em> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">public</strong> +<a name="128" href="#128">128</a> <strong class="jxr_keyword">void</strong> clear() { +<a name="129" href="#129">129</a> <em class="jxr_comment">//System.out.println("\n\nAbout to clear internal hash table.");</em> +<a name="130" href="#130">130</a> ht.clear(); +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">public</strong> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">void</strong> emitNoAppenderWarning(<a href="../../../org/apache/log4j/Category.html">Category</a> cat) { +<a name="135" href="#135">135</a> <em class="jxr_comment">// No appenders in hierarchy, warn user only once.</em> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">if</strong>(!<strong class="jxr_keyword">this</strong>.emittedNoAppenderWarning) { +<a name="137" href="#137">137</a> LogLog.warn(<span class="jxr_string">"No appenders could be found for logger ("</span> + +<a name="138" href="#138">138</a> cat.getName() + <span class="jxr_string">")."</span>); +<a name="139" href="#139">139</a> LogLog.warn(<span class="jxr_string">"Please initialize the log4j system properly."</span>); +<a name="140" href="#140">140</a> LogLog.warn(<span class="jxr_string">"See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info."</span>); +<a name="141" href="#141">141</a> <strong class="jxr_keyword">this</strong>.emittedNoAppenderWarning = <strong class="jxr_keyword">true</strong>; +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">/**</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> Check if the named logger exists in the hierarchy. If so return</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> its reference, otherwise returns &lt;code&gt;null&lt;/code&gt;.</em> +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> @param name The name of the logger to search for.</em> +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> +<a name="153" href="#153">153</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> exists(String name) { +<a name="154" href="#154">154</a> Object o = ht.get(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/CategoryKey.html">CategoryKey</a>(name)); +<a name="155" href="#155">155</a> <strong class="jxr_keyword">if</strong>(o instanceof <a href="../../../org/apache/log4j/Logger.html">Logger</a>) { +<a name="156" href="#156">156</a> <strong class="jxr_keyword">return</strong> (Logger) o; +<a name="157" href="#157">157</a> } <strong class="jxr_keyword">else</strong> { +<a name="158" href="#158">158</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">/**</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> The string form of {@link #setThreshold(Level)}.</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> +<a name="166" href="#166">166</a> <strong class="jxr_keyword">void</strong> setThreshold(String levelStr) { +<a name="167" href="#167">167</a> <a href="../../../org/apache/log4j/Level.html">Level</a> l = (Level) Level.toLevel(levelStr, <strong class="jxr_keyword">null</strong>); +<a name="168" href="#168">168</a> <strong class="jxr_keyword">if</strong>(l != <strong class="jxr_keyword">null</strong>) { +<a name="169" href="#169">169</a> setThreshold(l); +<a name="170" href="#170">170</a> } <strong class="jxr_keyword">else</strong> { +<a name="171" href="#171">171</a> LogLog.warn(<span class="jxr_string">"Could not convert ["</span>+levelStr+<span class="jxr_string">"] to Level."</span>); +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">/**</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> Enable logging for logging requests with level &lt;code&gt;l&lt;/code&gt; or</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> higher. By default all levels are enabled.</em> +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> @param l The minimum level for which logging requests are sent to</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> their appenders. */</em> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">public</strong> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">void</strong> setThreshold(<a href="../../../org/apache/log4j/Level.html">Level</a> l) { +<a name="184" href="#184">184</a> <strong class="jxr_keyword">if</strong>(l != <strong class="jxr_keyword">null</strong>) { +<a name="185" href="#185">185</a> thresholdInt = l.level; +<a name="186" href="#186">186</a> threshold = l; +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">public</strong> +<a name="191" href="#191">191</a> <strong class="jxr_keyword">void</strong> fireAddAppenderEvent(<a href="../../../org/apache/log4j/Category.html">Category</a> logger, <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="192" href="#192">192</a> <strong class="jxr_keyword">if</strong>(listeners != <strong class="jxr_keyword">null</strong>) { +<a name="193" href="#193">193</a> <strong class="jxr_keyword">int</strong> size = listeners.size(); +<a name="194" href="#194">194</a> <a href="../../../org/apache/log4j/spi/HierarchyEventListener.html">HierarchyEventListener</a> listener; +<a name="195" href="#195">195</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size; i++) { +<a name="196" href="#196">196</a> listener = (HierarchyEventListener) listeners.elementAt(i); +<a name="197" href="#197">197</a> listener.addAppenderEvent(logger, appender); +<a name="198" href="#198">198</a> } +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <strong class="jxr_keyword">void</strong> fireRemoveAppenderEvent(<a href="../../../org/apache/log4j/Category.html">Category</a> logger, <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="203" href="#203">203</a> <strong class="jxr_keyword">if</strong>(listeners != <strong class="jxr_keyword">null</strong>) { +<a name="204" href="#204">204</a> <strong class="jxr_keyword">int</strong> size = listeners.size(); +<a name="205" href="#205">205</a> <a href="../../../org/apache/log4j/spi/HierarchyEventListener.html">HierarchyEventListener</a> listener; +<a name="206" href="#206">206</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size; i++) { +<a name="207" href="#207">207</a> listener = (HierarchyEventListener) listeners.elementAt(i); +<a name="208" href="#208">208</a> listener.removeAppenderEvent(logger, appender); +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">/**</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> Returns a {@link Level} representation of the &lt;code&gt;enable&lt;/code&gt;</em> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> state.</em> +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="218" href="#218">218</a> <strong class="jxr_keyword">public</strong> +<a name="219" href="#219">219</a> <a href="../../../org/apache/log4j/Level.html">Level</a> getThreshold() { +<a name="220" href="#220">220</a> <strong class="jxr_keyword">return</strong> threshold; +<a name="221" href="#221">221</a> } +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">/**</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> Returns an integer representation of the this repository's</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> threshold.</em> +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="228" href="#228">228</a> <em class="jxr_comment">//public</em> +<a name="229" href="#229">229</a> <em class="jxr_comment">//int getThresholdInt() {</em> +<a name="230" href="#230">230</a> <em class="jxr_comment">// return thresholdInt;</em> +<a name="231" href="#231">231</a> <em class="jxr_comment">//}</em> +<a name="232" href="#232">232</a> +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment">/**</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> Return a new logger instance named as the first parameter using</em> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> the default factory.</em> +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> &lt;p&gt;If a logger of that name already exists, then it will be</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> returned. Otherwise, a new logger will be instantiated and</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> then linked with its existing ancestors as well as children.</em> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment"> @param name The name of the logger to retrieve.</em> +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> */</em> +<a name="245" href="#245">245</a> <strong class="jxr_keyword">public</strong> +<a name="246" href="#246">246</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getLogger(String name) { +<a name="247" href="#247">247</a> <strong class="jxr_keyword">return</strong> getLogger(name, defaultFactory); +<a name="248" href="#248">248</a> } +<a name="249" href="#249">249</a> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment">/**</em> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> Return a new logger instance named as the first parameter using</em> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment"> &lt;code&gt;factory&lt;/code&gt;.</em> +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> &lt;p&gt;If a logger of that name already exists, then it will be</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> returned. Otherwise, a new logger will be instantiated by the</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> &lt;code&gt;factory&lt;/code&gt; parameter and linked with its existing</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> ancestors as well as children.</em> +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <em class="jxr_javadoccomment"> @param name The name of the logger to retrieve.</em> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment"> @param factory The factory that will make the new logger instance.</em> +<a name="261" href="#261">261</a> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> */</em> +<a name="263" href="#263">263</a> <strong class="jxr_keyword">public</strong> +<a name="264" href="#264">264</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getLogger(String name, <a href="../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> factory) { +<a name="265" href="#265">265</a> <em class="jxr_comment">//System.out.println("getInstance("+name+") called.");</em> +<a name="266" href="#266">266</a> <a href="../../../org/apache/log4j/CategoryKey.html">CategoryKey</a> key = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/CategoryKey.html">CategoryKey</a>(name); +<a name="267" href="#267">267</a> <em class="jxr_comment">// Synchronize to prevent write conflicts. Read conflicts (in</em> +<a name="268" href="#268">268</a> <em class="jxr_comment">// getChainedLevel method) are possible only if variable</em> +<a name="269" href="#269">269</a> <em class="jxr_comment">// assignments are non-atomic.</em> +<a name="270" href="#270">270</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger; +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <strong class="jxr_keyword">synchronized</strong>(ht) { +<a name="273" href="#273">273</a> Object o = ht.get(key); +<a name="274" href="#274">274</a> <strong class="jxr_keyword">if</strong>(o == <strong class="jxr_keyword">null</strong>) { +<a name="275" href="#275">275</a> logger = factory.makeNewLoggerInstance(name); +<a name="276" href="#276">276</a> logger.setHierarchy(<strong class="jxr_keyword">this</strong>); +<a name="277" href="#277">277</a> ht.put(key, logger); +<a name="278" href="#278">278</a> updateParents(logger); +<a name="279" href="#279">279</a> <strong class="jxr_keyword">return</strong> logger; +<a name="280" href="#280">280</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(o instanceof <a href="../../../org/apache/log4j/Logger.html">Logger</a>) { +<a name="281" href="#281">281</a> <strong class="jxr_keyword">return</strong> (Logger) o; +<a name="282" href="#282">282</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (o instanceof ProvisionNode) { +<a name="283" href="#283">283</a> <em class="jxr_comment">//System.out.println("("+name+") ht.get(this) returned ProvisionNode");</em> +<a name="284" href="#284">284</a> logger = factory.makeNewLoggerInstance(name); +<a name="285" href="#285">285</a> logger.setHierarchy(<strong class="jxr_keyword">this</strong>); +<a name="286" href="#286">286</a> ht.put(key, logger); +<a name="287" href="#287">287</a> updateChildren((ProvisionNode) o, logger); +<a name="288" href="#288">288</a> updateParents(logger); +<a name="289" href="#289">289</a> <strong class="jxr_keyword">return</strong> logger; +<a name="290" href="#290">290</a> } +<a name="291" href="#291">291</a> <strong class="jxr_keyword">else</strong> { +<a name="292" href="#292">292</a> <em class="jxr_comment">// It should be impossible to arrive here</em> +<a name="293" href="#293">293</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; <em class="jxr_comment">// but let's keep the compiler happy.</em> +<a name="294" href="#294">294</a> } +<a name="295" href="#295">295</a> } +<a name="296" href="#296">296</a> } +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment">/**</em> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment"> Returns all the currently defined categories in this hierarchy as</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> an {@link java.util.Enumeration Enumeration}.</em> +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> &lt;p&gt;The root logger is &lt;em&gt;not&lt;/em&gt; included in the returned</em> +<a name="303" href="#303">303</a> <em class="jxr_javadoccomment"> {@link Enumeration}. */</em> +<a name="304" href="#304">304</a> <strong class="jxr_keyword">public</strong> +<a name="305" href="#305">305</a> Enumeration getCurrentLoggers() { +<a name="306" href="#306">306</a> <em class="jxr_comment">// The accumlation in v is necessary because not all elements in</em> +<a name="307" href="#307">307</a> <em class="jxr_comment">// ht are Logger objects as there might be some ProvisionNodes</em> +<a name="308" href="#308">308</a> <em class="jxr_comment">// as well.</em> +<a name="309" href="#309">309</a> Vector v = <strong class="jxr_keyword">new</strong> Vector(ht.size()); +<a name="310" href="#310">310</a> +<a name="311" href="#311">311</a> Enumeration elems = ht.elements(); +<a name="312" href="#312">312</a> <strong class="jxr_keyword">while</strong>(elems.hasMoreElements()) { +<a name="313" href="#313">313</a> Object o = elems.nextElement(); +<a name="314" href="#314">314</a> <strong class="jxr_keyword">if</strong>(o instanceof <a href="../../../org/apache/log4j/Logger.html">Logger</a>) { +<a name="315" href="#315">315</a> v.addElement(o); +<a name="316" href="#316">316</a> } +<a name="317" href="#317">317</a> } +<a name="318" href="#318">318</a> <strong class="jxr_keyword">return</strong> v.elements(); +<a name="319" href="#319">319</a> } +<a name="320" href="#320">320</a> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment">/**</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> @deprecated Please use {@link #getCurrentLoggers} instead.</em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> */</em> +<a name="324" href="#324">324</a> <strong class="jxr_keyword">public</strong> +<a name="325" href="#325">325</a> Enumeration getCurrentCategories() { +<a name="326" href="#326">326</a> <strong class="jxr_keyword">return</strong> getCurrentLoggers(); +<a name="327" href="#327">327</a> } +<a name="328" href="#328">328</a> +<a name="329" href="#329">329</a> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment">/**</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> Get the renderer map for this hierarchy.</em> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> */</em> +<a name="333" href="#333">333</a> <strong class="jxr_keyword">public</strong> +<a name="334" href="#334">334</a> <a href="../../../org/apache/log4j/or/RendererMap.html">RendererMap</a> getRendererMap() { +<a name="335" href="#335">335</a> <strong class="jxr_keyword">return</strong> rendererMap; +<a name="336" href="#336">336</a> } +<a name="337" href="#337">337</a> +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment">/**</em> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment"> Get the root of this hierarchy.</em> +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> */</em> +<a name="344" href="#344">344</a> <strong class="jxr_keyword">public</strong> +<a name="345" href="#345">345</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getRootLogger() { +<a name="346" href="#346">346</a> <strong class="jxr_keyword">return</strong> root; +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> +<a name="349" href="#349">349</a> <em class="jxr_javadoccomment">/**</em> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment"> This method will return &lt;code&gt;true&lt;/code&gt; if this repository is</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> disabled for &lt;code&gt;level&lt;/code&gt; object passed as parameter and</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> &lt;code&gt;false&lt;/code&gt; otherwise. See also the {@link</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> #setThreshold(Level) threshold} emthod. */</em> +<a name="354" href="#354">354</a> <strong class="jxr_keyword">public</strong> +<a name="355" href="#355">355</a> <strong class="jxr_keyword">boolean</strong> isDisabled(<strong class="jxr_keyword">int</strong> level) { +<a name="356" href="#356">356</a> <strong class="jxr_keyword">return</strong> thresholdInt &gt; level; +<a name="357" href="#357">357</a> } +<a name="358" href="#358">358</a> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment">/**</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> @deprecated Deprecated with no replacement.</em> +<a name="361" href="#361">361</a> <em class="jxr_javadoccomment"> */</em> +<a name="362" href="#362">362</a> <strong class="jxr_keyword">public</strong> +<a name="363" href="#363">363</a> <strong class="jxr_keyword">void</strong> overrideAsNeeded(String override) { +<a name="364" href="#364">364</a> LogLog.warn(<span class="jxr_string">"The Hiearchy.overrideAsNeeded method has been deprecated."</span>); +<a name="365" href="#365">365</a> } +<a name="366" href="#366">366</a> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">/**</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> Reset all values contained in this hierarchy instance to their</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> default. This removes all appenders from all categories, sets</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> the level of all non-root categories to &lt;code&gt;null&lt;/code&gt;,</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> sets their additivity flag to &lt;code&gt;true&lt;/code&gt; and sets the level</em> +<a name="372" href="#372">372</a> <em class="jxr_javadoccomment"> of the root logger to {@link Level#DEBUG DEBUG}. Moreover,</em> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment"> message disabling is set its default "off" value.</em> +<a name="374" href="#374">374</a> +<a name="375" href="#375">375</a> <em class="jxr_javadoccomment"> &lt;p&gt;Existing categories are not removed. They are just reset.</em> +<a name="376" href="#376">376</a> +<a name="377" href="#377">377</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method should be used sparingly and with care as it will</em> +<a name="378" href="#378">378</a> <em class="jxr_javadoccomment"> block all logging until it is completed.&lt;/p&gt;</em> +<a name="379" href="#379">379</a> +<a name="380" href="#380">380</a> <em class="jxr_javadoccomment"> @since 0.8.5 */</em> +<a name="381" href="#381">381</a> <strong class="jxr_keyword">public</strong> +<a name="382" href="#382">382</a> <strong class="jxr_keyword">void</strong> resetConfiguration() { +<a name="383" href="#383">383</a> +<a name="384" href="#384">384</a> getRootLogger().setLevel((Level) Level.DEBUG); +<a name="385" href="#385">385</a> root.setResourceBundle(<strong class="jxr_keyword">null</strong>); +<a name="386" href="#386">386</a> setThreshold(Level.ALL); +<a name="387" href="#387">387</a> +<a name="388" href="#388">388</a> <em class="jxr_comment">// the synchronization is needed to prevent JDK 1.2.x hashtable</em> +<a name="389" href="#389">389</a> <em class="jxr_comment">// surprises</em> +<a name="390" href="#390">390</a> <strong class="jxr_keyword">synchronized</strong>(ht) { +<a name="391" href="#391">391</a> shutdown(); <em class="jxr_comment">// nested locks are OK</em> +<a name="392" href="#392">392</a> +<a name="393" href="#393">393</a> Enumeration cats = getCurrentLoggers(); +<a name="394" href="#394">394</a> <strong class="jxr_keyword">while</strong>(cats.hasMoreElements()) { +<a name="395" href="#395">395</a> Logger c = (Logger) cats.nextElement(); +<a name="396" href="#396">396</a> c.setLevel(<strong class="jxr_keyword">null</strong>); +<a name="397" href="#397">397</a> c.setAdditivity(<strong class="jxr_keyword">true</strong>); +<a name="398" href="#398">398</a> c.setResourceBundle(<strong class="jxr_keyword">null</strong>); +<a name="399" href="#399">399</a> } +<a name="400" href="#400">400</a> } +<a name="401" href="#401">401</a> rendererMap.clear(); +<a name="402" href="#402">402</a> throwableRenderer = <strong class="jxr_keyword">null</strong>; +<a name="403" href="#403">403</a> } +<a name="404" href="#404">404</a> +<a name="405" href="#405">405</a> <em class="jxr_javadoccomment">/**</em> +<a name="406" href="#406">406</a> <em class="jxr_javadoccomment"> Does nothing.</em> +<a name="407" href="#407">407</a> +<a name="408" href="#408">408</a> <em class="jxr_javadoccomment"> @deprecated Deprecated with no replacement.</em> +<a name="409" href="#409">409</a> <em class="jxr_javadoccomment"> */</em> +<a name="410" href="#410">410</a> <strong class="jxr_keyword">public</strong> +<a name="411" href="#411">411</a> <strong class="jxr_keyword">void</strong> setDisableOverride(String override) { +<a name="412" href="#412">412</a> LogLog.warn(<span class="jxr_string">"The Hiearchy.setDisableOverride method has been deprecated."</span>); +<a name="413" href="#413">413</a> } +<a name="414" href="#414">414</a> +<a name="415" href="#415">415</a> +<a name="416" href="#416">416</a> +<a name="417" href="#417">417</a> <em class="jxr_javadoccomment">/**</em> +<a name="418" href="#418">418</a> <em class="jxr_javadoccomment"> Used by subclasses to add a renderer to the hierarchy passed as parameter.</em> +<a name="419" href="#419">419</a> <em class="jxr_javadoccomment"> */</em> +<a name="420" href="#420">420</a> <strong class="jxr_keyword">public</strong> +<a name="421" href="#421">421</a> <strong class="jxr_keyword">void</strong> setRenderer(Class renderedClass, <a href="../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> renderer) { +<a name="422" href="#422">422</a> rendererMap.put(renderedClass, renderer); +<a name="423" href="#423">423</a> } +<a name="424" href="#424">424</a> +<a name="425" href="#425">425</a> <em class="jxr_javadoccomment">/**</em> +<a name="426" href="#426">426</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="427" href="#427">427</a> <em class="jxr_javadoccomment"> */</em> +<a name="428" href="#428">428</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setThrowableRenderer(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> renderer) { +<a name="429" href="#429">429</a> throwableRenderer = renderer; +<a name="430" href="#430">430</a> } +<a name="431" href="#431">431</a> +<a name="432" href="#432">432</a> <em class="jxr_javadoccomment">/**</em> +<a name="433" href="#433">433</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="434" href="#434">434</a> <em class="jxr_javadoccomment"> */</em> +<a name="435" href="#435">435</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> getThrowableRenderer() { +<a name="436" href="#436">436</a> <strong class="jxr_keyword">return</strong> throwableRenderer; +<a name="437" href="#437">437</a> } +<a name="438" href="#438">438</a> +<a name="439" href="#439">439</a> +<a name="440" href="#440">440</a> <em class="jxr_javadoccomment">/**</em> +<a name="441" href="#441">441</a> <em class="jxr_javadoccomment"> Shutting down a hierarchy will &lt;em&gt;safely&lt;/em&gt; close and remove</em> +<a name="442" href="#442">442</a> <em class="jxr_javadoccomment"> all appenders in all categories including the root logger.</em> +<a name="443" href="#443">443</a> +<a name="444" href="#444">444</a> <em class="jxr_javadoccomment"> &lt;p&gt;Some appenders such as {@link org.apache.log4j.net.SocketAppender}</em> +<a name="445" href="#445">445</a> <em class="jxr_javadoccomment"> and {@link AsyncAppender} need to be closed before the</em> +<a name="446" href="#446">446</a> <em class="jxr_javadoccomment"> application exists. Otherwise, pending logging events might be</em> +<a name="447" href="#447">447</a> <em class="jxr_javadoccomment"> lost.</em> +<a name="448" href="#448">448</a> +<a name="449" href="#449">449</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;shutdown&lt;/code&gt; method is careful to close nested</em> +<a name="450" href="#450">450</a> <em class="jxr_javadoccomment"> appenders before closing regular appenders. This is allows</em> +<a name="451" href="#451">451</a> <em class="jxr_javadoccomment"> configurations where a regular appender is attached to a logger</em> +<a name="452" href="#452">452</a> <em class="jxr_javadoccomment"> and again to a nested appender.</em> +<a name="453" href="#453">453</a> +<a name="454" href="#454">454</a> +<a name="455" href="#455">455</a> <em class="jxr_javadoccomment"> @since 1.0 */</em> +<a name="456" href="#456">456</a> <strong class="jxr_keyword">public</strong> +<a name="457" href="#457">457</a> <strong class="jxr_keyword">void</strong> shutdown() { +<a name="458" href="#458">458</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> root = getRootLogger(); +<a name="459" href="#459">459</a> +<a name="460" href="#460">460</a> <em class="jxr_comment">// begin by closing nested appenders</em> +<a name="461" href="#461">461</a> root.closeNestedAppenders(); +<a name="462" href="#462">462</a> +<a name="463" href="#463">463</a> <strong class="jxr_keyword">synchronized</strong>(ht) { +<a name="464" href="#464">464</a> Enumeration cats = <strong class="jxr_keyword">this</strong>.getCurrentLoggers(); +<a name="465" href="#465">465</a> <strong class="jxr_keyword">while</strong>(cats.hasMoreElements()) { +<a name="466" href="#466">466</a> Logger c = (Logger) cats.nextElement(); +<a name="467" href="#467">467</a> c.closeNestedAppenders(); +<a name="468" href="#468">468</a> } +<a name="469" href="#469">469</a> +<a name="470" href="#470">470</a> <em class="jxr_comment">// then, remove all appenders</em> +<a name="471" href="#471">471</a> root.removeAllAppenders(); +<a name="472" href="#472">472</a> cats = <strong class="jxr_keyword">this</strong>.getCurrentLoggers(); +<a name="473" href="#473">473</a> <strong class="jxr_keyword">while</strong>(cats.hasMoreElements()) { +<a name="474" href="#474">474</a> Logger c = (Logger) cats.nextElement(); +<a name="475" href="#475">475</a> c.removeAllAppenders(); +<a name="476" href="#476">476</a> } +<a name="477" href="#477">477</a> } +<a name="478" href="#478">478</a> } +<a name="479" href="#479">479</a> +<a name="480" href="#480">480</a> +<a name="481" href="#481">481</a> <em class="jxr_javadoccomment">/**</em> +<a name="482" href="#482">482</a> <em class="jxr_javadoccomment"> This method loops through all the *potential* parents of</em> +<a name="483" href="#483">483</a> <em class="jxr_javadoccomment"> 'cat'. There 3 possible cases:</em> +<a name="484" href="#484">484</a> +<a name="485" href="#485">485</a> <em class="jxr_javadoccomment"> 1) No entry for the potential parent of 'cat' exists</em> +<a name="486" href="#486">486</a> +<a name="487" href="#487">487</a> <em class="jxr_javadoccomment"> We create a ProvisionNode for this potential parent and insert</em> +<a name="488" href="#488">488</a> <em class="jxr_javadoccomment"> 'cat' in that provision node.</em> +<a name="489" href="#489">489</a> +<a name="490" href="#490">490</a> <em class="jxr_javadoccomment"> 2) There entry is of type Logger for the potential parent.</em> +<a name="491" href="#491">491</a> +<a name="492" href="#492">492</a> <em class="jxr_javadoccomment"> The entry is 'cat's nearest existing parent. We update cat's</em> +<a name="493" href="#493">493</a> <em class="jxr_javadoccomment"> parent field with this entry. We also break from the loop</em> +<a name="494" href="#494">494</a> <em class="jxr_javadoccomment"> because updating our parent's parent is our parent's</em> +<a name="495" href="#495">495</a> <em class="jxr_javadoccomment"> responsibility.</em> +<a name="496" href="#496">496</a> +<a name="497" href="#497">497</a> <em class="jxr_javadoccomment"> 3) There entry is of type ProvisionNode for this potential parent.</em> +<a name="498" href="#498">498</a> +<a name="499" href="#499">499</a> <em class="jxr_javadoccomment"> We add 'cat' to the list of children for this potential parent.</em> +<a name="500" href="#500">500</a> <em class="jxr_javadoccomment"> */</em> +<a name="501" href="#501">501</a> <strong class="jxr_keyword">final</strong> +<a name="502" href="#502">502</a> <strong class="jxr_keyword">private</strong> +<a name="503" href="#503">503</a> <strong class="jxr_keyword">void</strong> updateParents(<a href="../../../org/apache/log4j/Logger.html">Logger</a> cat) { +<a name="504" href="#504">504</a> String name = cat.name; +<a name="505" href="#505">505</a> <strong class="jxr_keyword">int</strong> length = name.length(); +<a name="506" href="#506">506</a> <strong class="jxr_keyword">boolean</strong> parentFound = false; +<a name="507" href="#507">507</a> +<a name="508" href="#508">508</a> <em class="jxr_comment">//System.out.println("UpdateParents called for " + name);</em> +<a name="509" href="#509">509</a> +<a name="510" href="#510">510</a> <em class="jxr_comment">// if name = "w.x.y.z", loop thourgh "w.x.y", "w.x" and "w", but not "w.x.y.z"</em> +<a name="511" href="#511">511</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = name.lastIndexOf('.', length-1); i &gt;= 0; +<a name="512" href="#512">512</a> i = name.lastIndexOf('.', i-1)) { +<a name="513" href="#513">513</a> String substr = name.substring(0, i); +<a name="514" href="#514">514</a> +<a name="515" href="#515">515</a> <em class="jxr_comment">//System.out.println("Updating parent : " + substr);</em> +<a name="516" href="#516">516</a> <a href="../../../org/apache/log4j/CategoryKey.html">CategoryKey</a> key = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/CategoryKey.html">CategoryKey</a>(substr); <em class="jxr_comment">// simple constructor</em> +<a name="517" href="#517">517</a> Object o = ht.get(key); +<a name="518" href="#518">518</a> <em class="jxr_comment">// Create a provision node for a future parent.</em> +<a name="519" href="#519">519</a> <strong class="jxr_keyword">if</strong>(o == <strong class="jxr_keyword">null</strong>) { +<a name="520" href="#520">520</a> <em class="jxr_comment">//System.out.println("No parent "+substr+" found. Creating ProvisionNode.");</em> +<a name="521" href="#521">521</a> ProvisionNode pn = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/ProvisionNode.html">ProvisionNode</a>(cat); +<a name="522" href="#522">522</a> ht.put(key, pn); +<a name="523" href="#523">523</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(o instanceof <a href="../../../org/apache/log4j/Category.html">Category</a>) { +<a name="524" href="#524">524</a> parentFound = <strong class="jxr_keyword">true</strong>; +<a name="525" href="#525">525</a> cat.parent = (Category) o; +<a name="526" href="#526">526</a> <em class="jxr_comment">//System.out.println("Linking " + cat.name + " -&gt; " + ((Category) o).name);</em> +<a name="527" href="#527">527</a> <strong class="jxr_keyword">break</strong>; <em class="jxr_comment">// no need to update the ancestors of the closest ancestor</em> +<a name="528" href="#528">528</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(o instanceof <a href="../../../org/apache/log4j/ProvisionNode.html">ProvisionNode</a>) { +<a name="529" href="#529">529</a> ((ProvisionNode) o).addElement(cat); +<a name="530" href="#530">530</a> } <strong class="jxr_keyword">else</strong> { +<a name="531" href="#531">531</a> Exception e = <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"unexpected object type "</span> + +<a name="532" href="#532">532</a> o.getClass() + <span class="jxr_string">" in ht."</span>); +<a name="533" href="#533">533</a> e.printStackTrace(); +<a name="534" href="#534">534</a> } +<a name="535" href="#535">535</a> } +<a name="536" href="#536">536</a> <em class="jxr_comment">// If we could not find any existing parents, then link with root.</em> +<a name="537" href="#537">537</a> <strong class="jxr_keyword">if</strong>(!parentFound) +<a name="538" href="#538">538</a> cat.parent = root; +<a name="539" href="#539">539</a> } +<a name="540" href="#540">540</a> +<a name="541" href="#541">541</a> <em class="jxr_javadoccomment">/**</em> +<a name="542" href="#542">542</a> <em class="jxr_javadoccomment"> We update the links for all the children that placed themselves</em> +<a name="543" href="#543">543</a> <em class="jxr_javadoccomment"> in the provision node 'pn'. The second argument 'cat' is a</em> +<a name="544" href="#544">544</a> <em class="jxr_javadoccomment"> reference for the newly created Logger, parent of all the</em> +<a name="545" href="#545">545</a> <em class="jxr_javadoccomment"> children in 'pn'</em> +<a name="546" href="#546">546</a> +<a name="547" href="#547">547</a> <em class="jxr_javadoccomment"> We loop on all the children 'c' in 'pn':</em> +<a name="548" href="#548">548</a> +<a name="549" href="#549">549</a> <em class="jxr_javadoccomment"> If the child 'c' has been already linked to a child of</em> +<a name="550" href="#550">550</a> <em class="jxr_javadoccomment"> 'cat' then there is no need to update 'c'.</em> +<a name="551" href="#551">551</a> +<a name="552" href="#552">552</a> <em class="jxr_javadoccomment"> Otherwise, we set cat's parent field to c's parent and set</em> +<a name="553" href="#553">553</a> <em class="jxr_javadoccomment"> c's parent field to cat.</em> +<a name="554" href="#554">554</a> +<a name="555" href="#555">555</a> <em class="jxr_javadoccomment"> */</em> +<a name="556" href="#556">556</a> <strong class="jxr_keyword">final</strong> +<a name="557" href="#557">557</a> <strong class="jxr_keyword">private</strong> +<a name="558" href="#558">558</a> <strong class="jxr_keyword">void</strong> updateChildren(<a href="../../../org/apache/log4j/ProvisionNode.html">ProvisionNode</a> pn, <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger) { +<a name="559" href="#559">559</a> <em class="jxr_comment">//System.out.println("updateChildren called for " + logger.name);</em> +<a name="560" href="#560">560</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> last = pn.size(); +<a name="561" href="#561">561</a> +<a name="562" href="#562">562</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; last; i++) { +<a name="563" href="#563">563</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> l = (Logger) pn.elementAt(i); +<a name="564" href="#564">564</a> <em class="jxr_comment">//System.out.println("Updating child " +p.name);</em> +<a name="565" href="#565">565</a> +<a name="566" href="#566">566</a> <em class="jxr_comment">// Unless this child already points to a correct (lower) parent,</em> +<a name="567" href="#567">567</a> <em class="jxr_comment">// make cat.parent point to l.parent and l.parent to cat.</em> +<a name="568" href="#568">568</a> <strong class="jxr_keyword">if</strong>(!l.parent.name.startsWith(logger.name)) { +<a name="569" href="#569">569</a> logger.parent = l.parent; +<a name="570" href="#570">570</a> l.parent = logger; +<a name="571" href="#571">571</a> } +<a name="572" href="#572">572</a> } +<a name="573" href="#573">573</a> } +<a name="574" href="#574">574</a> +<a name="575" href="#575">575</a> } +<a name="576" href="#576">576</a> +<a name="577" href="#577">577</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Layout.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Layout.html new file mode 100644 index 00000000000..a660d419f4c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Layout.html @@ -0,0 +1,103 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Layout xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/Layout.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> Extend this abstract class to create your own log layout format.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> </em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">*/</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/Layout.html">Layout</a> implements <a href="../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a> { +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_comment">// Note that the line.separator property can be looked up even by</em> +<a name="33" href="#33">33</a> <em class="jxr_comment">// applets.</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> String LINE_SEP = System.getProperty(<span class="jxr_string">"line.separator"</span>); +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> LINE_SEP_LEN = LINE_SEP.length(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> Implement this method to create your own layout format.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">abstract</strong> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> +<a name="43" href="#43">43</a> String format(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event); +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> Returns the content type output by this layout. The base class</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> returns "text/plain". </em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> +<a name="50" href="#50">50</a> String getContentType() { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"text/plain"</span>; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> Returns the header for the layout format. The base class returns</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> &lt;code&gt;null&lt;/code&gt;. */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> +<a name="58" href="#58">58</a> String getHeader() { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> Returns the footer for the layout format. The base class returns</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> &lt;code&gt;null&lt;/code&gt;. */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> +<a name="66" href="#66">66</a> String getFooter() { +<a name="67" href="#67">67</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment">/**</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> If the layout handles the throwable object contained within</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> {@link LoggingEvent}, then the layout should return</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> &lt;code&gt;false&lt;/code&gt;. Otherwise, if the layout ignores throwable</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> object, then the layout should return &lt;code&gt;true&lt;/code&gt;.</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> If ignoresThrowable is true, the appender is responsible for</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> rendering the throwable.</em> +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> &lt;p&gt;The {@link SimpleLayout}, {@link TTCCLayout}, {@link</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> PatternLayout} all return &lt;code&gt;true&lt;/code&gt;. The {@link</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> org.apache.log4j.xml.XMLLayout} returns &lt;code&gt;false&lt;/code&gt;.</em> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> @since 0.8.4 */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">abstract</strong> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">boolean</strong> ignoresThrowable(); +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Level.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Level.html new file mode 100644 index 00000000000..3977413be89 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Level.html @@ -0,0 +1,238 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Level xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/Level.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contributors: Kitching Simon &lt;Simon.Kitching@orange.ch&gt;</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// Nicholas Wolff</em> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.ObjectStreamException; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.Serializable; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> Defines the minimum set of levels recognized by the system, that is</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> &lt;code&gt;OFF&lt;/code&gt;, &lt;code&gt;FATAL&lt;/code&gt;, &lt;code&gt;ERROR&lt;/code&gt;,</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> &lt;code&gt;WARN&lt;/code&gt;, &lt;code&gt;INFO&lt;/code, &lt;code&gt;DEBUG&lt;/code&gt; and</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> &lt;code&gt;ALL&lt;/code&gt;.</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;Level&lt;/code&gt; class may be subclassed to define a larger</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> level set.</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/Priority.html">Priority</a> implements Serializable { +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * TRACE level integer value.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * @since 1.2.12</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TRACE_INT = 5000; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment">/**</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> The &lt;code&gt;OFF&lt;/code&gt; has the highest possible rank and is</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> intended to turn off logging. */</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> OFF = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Level.html">Level</a>(OFF_INT, <span class="jxr_string">"OFF"</span>, 0); +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> The &lt;code&gt;FATAL&lt;/code&gt; level designates very severe error</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> events that will presumably lead the application to abort.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> FATAL = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Level.html">Level</a>(FATAL_INT, <span class="jxr_string">"FATAL"</span>, 0); +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> The &lt;code&gt;ERROR&lt;/code&gt; level designates error events that</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> might still allow the application to continue running. */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> ERROR = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Level.html">Level</a>(ERROR_INT, <span class="jxr_string">"ERROR"</span>, 3); +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment">/**</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> The &lt;code&gt;WARN&lt;/code&gt; level designates potentially harmful situations.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> WARN = <strong class="jxr_keyword">new</strong> Level(WARN_INT, <span class="jxr_string">"WARN"</span>, 4); +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> The &lt;code&gt;INFO&lt;/code&gt; level designates informational messages</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> that highlight the progress of the application at coarse-grained</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> level. */</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> INFO = <strong class="jxr_keyword">new</strong> Level(INFO_INT, <span class="jxr_string">"INFO"</span>, 6); +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">/**</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> The &lt;code&gt;DEBUG&lt;/code&gt; Level designates fine-grained</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> informational events that are most useful to debug an</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> application. */</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> DEBUG = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Level.html">Level</a>(DEBUG_INT, <span class="jxr_string">"DEBUG"</span>, 7); +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment">/**</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * The &lt;code&gt;TRACE&lt;/code&gt; Level designates finer-grained</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * informational events than the &lt;code&gt;DEBUG&lt;/code level.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * @since 1.2.12</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> TRACE = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Level.html">Level</a>(TRACE_INT, <span class="jxr_string">"TRACE"</span>, 7); +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> The &lt;code&gt;ALL&lt;/code&gt; has the lowest possible rank and is intended to</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> turn on all logging. */</em> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> ALL = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Level.html">Level</a>(ALL_INT, <span class="jxr_string">"ALL"</span>, 7); +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment">/**</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * Serialization version id.</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> */</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 3491141966387921974L; +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> Instantiate a Level object.</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">protected</strong> +<a name="103" href="#103">103</a> <a href="../../../org/apache/log4j/Level.html">Level</a>(<strong class="jxr_keyword">int</strong> level, String levelStr, <strong class="jxr_keyword">int</strong> syslogEquivalent) { +<a name="104" href="#104">104</a> <strong class="jxr_keyword">super</strong>(level, levelStr, syslogEquivalent); +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">/**</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> Convert the string passed as argument to a level. If the</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> conversion fails, then this method returns {@link #DEBUG}. </em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">public</strong> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">static</strong> +<a name="114" href="#114">114</a> <a href="../../../org/apache/log4j/Level.html">Level</a> toLevel(String sArg) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">return</strong> (Level) toLevel(sArg, Level.DEBUG); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">/**</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> Convert an integer passed as argument to a level. If the</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> conversion fails, then this method returns {@link #DEBUG}.</em> +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> */</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">public</strong> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">static</strong> +<a name="125" href="#125">125</a> <a href="../../../org/apache/log4j/Level.html">Level</a> toLevel(<strong class="jxr_keyword">int</strong> val) { +<a name="126" href="#126">126</a> <strong class="jxr_keyword">return</strong> (Level) toLevel(val, Level.DEBUG); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">/**</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> Convert an integer passed as argument to a level. If the</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> conversion fails, then this method returns the specified default.</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> */</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">public</strong> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">static</strong> +<a name="135" href="#135">135</a> <a href="../../../org/apache/log4j/Level.html">Level</a> toLevel(<strong class="jxr_keyword">int</strong> val, <a href="../../../org/apache/log4j/Level.html">Level</a> defaultLevel) { +<a name="136" href="#136">136</a> <strong class="jxr_keyword">switch</strong>(val) { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">case</strong> ALL_INT: <strong class="jxr_keyword">return</strong> ALL; +<a name="138" href="#138">138</a> <strong class="jxr_keyword">case</strong> DEBUG_INT: <strong class="jxr_keyword">return</strong> Level.DEBUG; +<a name="139" href="#139">139</a> <strong class="jxr_keyword">case</strong> INFO_INT: <strong class="jxr_keyword">return</strong> Level.INFO; +<a name="140" href="#140">140</a> <strong class="jxr_keyword">case</strong> WARN_INT: <strong class="jxr_keyword">return</strong> Level.WARN; +<a name="141" href="#141">141</a> <strong class="jxr_keyword">case</strong> ERROR_INT: <strong class="jxr_keyword">return</strong> Level.ERROR; +<a name="142" href="#142">142</a> <strong class="jxr_keyword">case</strong> FATAL_INT: <strong class="jxr_keyword">return</strong> Level.FATAL; +<a name="143" href="#143">143</a> <strong class="jxr_keyword">case</strong> OFF_INT: <strong class="jxr_keyword">return</strong> OFF; +<a name="144" href="#144">144</a> <strong class="jxr_keyword">case</strong> TRACE_INT: <strong class="jxr_keyword">return</strong> Level.TRACE; +<a name="145" href="#145">145</a> <strong class="jxr_keyword">default</strong>: <strong class="jxr_keyword">return</strong> defaultLevel; +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">/**</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> Convert the string passed as argument to a level. If the</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> conversion fails, then this method returns the value of</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> &lt;code&gt;defaultLevel&lt;/code&gt;. </em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> */</em> +<a name="154" href="#154">154</a> <strong class="jxr_keyword">public</strong> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">static</strong> +<a name="156" href="#156">156</a> <a href="../../../org/apache/log4j/Level.html">Level</a> toLevel(String sArg, <a href="../../../org/apache/log4j/Level.html">Level</a> defaultLevel) { +<a name="157" href="#157">157</a> <strong class="jxr_keyword">if</strong>(sArg == <strong class="jxr_keyword">null</strong>) +<a name="158" href="#158">158</a> <strong class="jxr_keyword">return</strong> defaultLevel; +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> String s = sArg.toUpperCase(); +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <strong class="jxr_keyword">if</strong>(s.equals(<span class="jxr_string">"ALL"</span>)) <strong class="jxr_keyword">return</strong> Level.ALL; +<a name="163" href="#163">163</a> <strong class="jxr_keyword">if</strong>(s.equals(<span class="jxr_string">"DEBUG"</span>)) <strong class="jxr_keyword">return</strong> Level.DEBUG; +<a name="164" href="#164">164</a> <strong class="jxr_keyword">if</strong>(s.equals(<span class="jxr_string">"INFO"</span>)) <strong class="jxr_keyword">return</strong> Level.INFO; +<a name="165" href="#165">165</a> <strong class="jxr_keyword">if</strong>(s.equals(<span class="jxr_string">"WARN"</span>)) <strong class="jxr_keyword">return</strong> Level.WARN; +<a name="166" href="#166">166</a> <strong class="jxr_keyword">if</strong>(s.equals(<span class="jxr_string">"ERROR"</span>)) <strong class="jxr_keyword">return</strong> Level.ERROR; +<a name="167" href="#167">167</a> <strong class="jxr_keyword">if</strong>(s.equals(<span class="jxr_string">"FATAL"</span>)) <strong class="jxr_keyword">return</strong> Level.FATAL; +<a name="168" href="#168">168</a> <strong class="jxr_keyword">if</strong>(s.equals(<span class="jxr_string">"OFF"</span>)) <strong class="jxr_keyword">return</strong> Level.OFF; +<a name="169" href="#169">169</a> <strong class="jxr_keyword">if</strong>(s.equals(<span class="jxr_string">"TRACE"</span>)) <strong class="jxr_keyword">return</strong> Level.TRACE; +<a name="170" href="#170">170</a> <em class="jxr_comment">//</em> +<a name="171" href="#171">171</a> <em class="jxr_comment">// For Turkish i problem, see bug 40937</em> +<a name="172" href="#172">172</a> <em class="jxr_comment">//</em> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">if</strong>(s.equals(<span class="jxr_string">"\u0130NFO"</span>)) <strong class="jxr_keyword">return</strong> Level.INFO; +<a name="174" href="#174">174</a> <strong class="jxr_keyword">return</strong> defaultLevel; +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">/**</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> * Custom deserialization of Level.</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * @param s serialization stream.</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * @throws IOException if IO exception.</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> * @throws ClassNotFoundException if class not found.</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> */</em> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> readObject(<strong class="jxr_keyword">final</strong> ObjectInputStream s) <strong class="jxr_keyword">throws</strong> IOException, ClassNotFoundException { +<a name="184" href="#184">184</a> s.defaultReadObject(); +<a name="185" href="#185">185</a> level = s.readInt(); +<a name="186" href="#186">186</a> syslogEquivalent = s.readInt(); +<a name="187" href="#187">187</a> levelStr = s.readUTF(); +<a name="188" href="#188">188</a> <strong class="jxr_keyword">if</strong> (levelStr == <strong class="jxr_keyword">null</strong>) { +<a name="189" href="#189">189</a> levelStr = <span class="jxr_string">""</span>; +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">/**</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> * Serialize level.</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> * @param s serialization stream.</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> * @throws IOException if exception during serialization.</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> */</em> +<a name="198" href="#198">198</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> writeObject(<strong class="jxr_keyword">final</strong> ObjectOutputStream s) <strong class="jxr_keyword">throws</strong> IOException { +<a name="199" href="#199">199</a> s.defaultWriteObject(); +<a name="200" href="#200">200</a> s.writeInt(level); +<a name="201" href="#201">201</a> s.writeInt(syslogEquivalent); +<a name="202" href="#202">202</a> s.writeUTF(levelStr); +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> +<a name="205" href="#205">205</a> <em class="jxr_javadoccomment">/**</em> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> * Resolved deserialized level to one of the stock instances.</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> * May be overriden in classes derived from Level.</em> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment"> * @return resolved object.</em> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> * @throws ObjectStreamException if exception during resolution.</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> */</em> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">private</strong> Object readResolve() <strong class="jxr_keyword">throws</strong> ObjectStreamException { +<a name="212" href="#212">212</a> <em class="jxr_comment">//</em> +<a name="213" href="#213">213</a> <em class="jxr_comment">// if the deserizalized object is exactly an instance of Level</em> +<a name="214" href="#214">214</a> <em class="jxr_comment">//</em> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">if</strong> (getClass() == Level.<strong class="jxr_keyword">class</strong>) { +<a name="216" href="#216">216</a> <strong class="jxr_keyword">return</strong> toLevel(level); +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> <em class="jxr_comment">//</em> +<a name="219" href="#219">219</a> <em class="jxr_comment">// extension of Level can't substitute stock item</em> +<a name="220" href="#220">220</a> <em class="jxr_comment">//</em> +<a name="221" href="#221">221</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>; +<a name="222" href="#222">222</a> } +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogMF.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogMF.html new file mode 100644 index 00000000000..e6045c2dd6f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogMF.html @@ -0,0 +1,1691 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogMF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/LogMF.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.text.MessageFormat; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.text.NumberFormat; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.ResourceBundle; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Locale; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * This class provides parameterized logging services</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * using the pattern syntax of java.text.MessageFormat.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Message formatting is only performed when the </em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * request exceeds the threshold level of the logger.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * When the pattern only contains literal text and</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * default conversion patterns (that is "{0}" and similar)</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * a simple fast compatible formatter is used. </em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * If the pattern contains more complex conversion patterns,</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * formatting will be delegated to java.text.MessageFormatter</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * which can be substantially slower.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> *</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * @see org.apache.log4j.LogSF</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> *</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LogMF.html">LogMF</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/LogXF.html">LogXF</a> { +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * private constructor.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> *</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/LogMF.html">LogMF</a>() { +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * Number format.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> NumberFormat numberFormat = <strong class="jxr_keyword">null</strong>; +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * Locale at time of last number format request.</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> */</em> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Locale numberLocale = <strong class="jxr_keyword">null</strong>; +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * Date format.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> DateFormat dateFormat = <strong class="jxr_keyword">null</strong>; +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">/**</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * Locale at time of last date format request.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> */</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Locale dateLocale = <strong class="jxr_keyword">null</strong>; +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * Format number.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * @param n number to format, may not be null.</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> * @return formatted value.</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> */</em> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">synchronized</strong> String formatNumber(<strong class="jxr_keyword">final</strong> Object n) { +<a name="76" href="#76">76</a> Locale currentLocale = Locale.getDefault(); +<a name="77" href="#77">77</a> <strong class="jxr_keyword">if</strong> (currentLocale != numberLocale || numberFormat == <strong class="jxr_keyword">null</strong>) { +<a name="78" href="#78">78</a> numberLocale = currentLocale; +<a name="79" href="#79">79</a> numberFormat = NumberFormat.getInstance(currentLocale); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> <strong class="jxr_keyword">return</strong> numberFormat.format(n); +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment">/**</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * Format date.</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * @param d date, may not be null.</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * @return formatted value.</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> */</em> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">synchronized</strong> String formatDate(<strong class="jxr_keyword">final</strong> Object d) { +<a name="91" href="#91">91</a> Locale currentLocale = Locale.getDefault(); +<a name="92" href="#92">92</a> <strong class="jxr_keyword">if</strong> (currentLocale != dateLocale || dateFormat == <strong class="jxr_keyword">null</strong>) { +<a name="93" href="#93">93</a> dateLocale = currentLocale; +<a name="94" href="#94">94</a> dateFormat = DateFormat.getDateTimeInstance( +<a name="95" href="#95">95</a> DateFormat.SHORT, +<a name="96" href="#96">96</a> DateFormat.SHORT, +<a name="97" href="#97">97</a> currentLocale); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> <strong class="jxr_keyword">return</strong> dateFormat.format(d); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">/**</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * Format a single parameter like a "{0}" formatting specifier.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> *</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> * @param arg0 parameter, may be null.</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * @return string representation of arg0.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> */</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String formatObject(<strong class="jxr_keyword">final</strong> Object arg0) { +<a name="109" href="#109">109</a> <strong class="jxr_keyword">if</strong> (arg0 instanceof String) { +<a name="110" href="#110">110</a> <strong class="jxr_keyword">return</strong> arg0.toString(); +<a name="111" href="#111">111</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (arg0 instanceof Double || +<a name="112" href="#112">112</a> arg0 instanceof Float) { +<a name="113" href="#113">113</a> <strong class="jxr_keyword">return</strong> formatNumber(arg0); +<a name="114" href="#114">114</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (arg0 instanceof Date) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">return</strong> formatDate(arg0); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> <strong class="jxr_keyword">return</strong> String.valueOf(arg0); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">/**</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> * Determines if pattern contains only {n} format elements</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> * and not apostrophes.</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> *</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may not be null.</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> * @return true if pattern only contains {n} format elements.</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> */</em> +<a name="128" href="#128">128</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isSimple(<strong class="jxr_keyword">final</strong> String pattern) { +<a name="129" href="#129">129</a> <strong class="jxr_keyword">if</strong> (pattern.indexOf('\'') != -1) { +<a name="130" href="#130">130</a> <strong class="jxr_keyword">return</strong> false; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> pos = pattern.indexOf('{'); +<a name="133" href="#133">133</a> pos != -1; +<a name="134" href="#134">134</a> pos = pattern.indexOf('{', pos + 1)) { +<a name="135" href="#135">135</a> <strong class="jxr_keyword">if</strong> (pos + 2 &gt;= pattern.length() || +<a name="136" href="#136">136</a> pattern.charAt(pos+2) != '}' || +<a name="137" href="#137">137</a> pattern.charAt(pos+1) &lt; '0' || +<a name="138" href="#138">138</a> pattern.charAt(pos+1) &gt; '9') { +<a name="139" href="#139">139</a> <strong class="jxr_keyword">return</strong> false; +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">/**</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> * Formats arguments using MessageFormat.</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be malformed or null.</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * @param arguments arguments, may be null or mismatched.</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> * @return Message string or null</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String format(<strong class="jxr_keyword">final</strong> String pattern, +<a name="153" href="#153">153</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="154" href="#154">154</a> <strong class="jxr_keyword">if</strong> (pattern == <strong class="jxr_keyword">null</strong>) { +<a name="155" href="#155">155</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="156" href="#156">156</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(isSimple(pattern)) { +<a name="157" href="#157">157</a> String formatted[] = <strong class="jxr_keyword">new</strong> String[10]; +<a name="158" href="#158">158</a> <strong class="jxr_keyword">int</strong> prev = 0; +<a name="159" href="#159">159</a> String retval = <span class="jxr_string">""</span>; +<a name="160" href="#160">160</a> <strong class="jxr_keyword">int</strong> pos = pattern.indexOf('{'); +<a name="161" href="#161">161</a> <strong class="jxr_keyword">while</strong>(pos &gt;= 0) { +<a name="162" href="#162">162</a> <strong class="jxr_keyword">if</strong>(pos + 2 &lt; pattern.length() &amp;&amp; +<a name="163" href="#163">163</a> pattern.charAt(pos+2) == '}' &amp;&amp; +<a name="164" href="#164">164</a> pattern.charAt(pos+1) &gt;= '0' &amp;&amp; +<a name="165" href="#165">165</a> pattern.charAt(pos+1) &lt;= '9') { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">int</strong> index = pattern.charAt(pos+1) - '0'; +<a name="167" href="#167">167</a> retval += pattern.substring(prev, pos); +<a name="168" href="#168">168</a> <strong class="jxr_keyword">if</strong> (formatted[index] == <strong class="jxr_keyword">null</strong>) { +<a name="169" href="#169">169</a> <strong class="jxr_keyword">if</strong> (arguments == <strong class="jxr_keyword">null</strong> || index &gt;= arguments.length) { +<a name="170" href="#170">170</a> formatted[index] = pattern.substring(pos, pos+3); +<a name="171" href="#171">171</a> } <strong class="jxr_keyword">else</strong> { +<a name="172" href="#172">172</a> formatted[index] = formatObject(arguments[index]); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> retval += formatted[index]; +<a name="176" href="#176">176</a> prev = pos + 3; +<a name="177" href="#177">177</a> pos = pattern.indexOf('{', prev); +<a name="178" href="#178">178</a> } <strong class="jxr_keyword">else</strong> { +<a name="179" href="#179">179</a> pos = pattern.indexOf('{', pos + 1); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> retval += pattern.substring(prev); +<a name="183" href="#183">183</a> <strong class="jxr_keyword">return</strong> retval; +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> <strong class="jxr_keyword">try</strong> { +<a name="186" href="#186">186</a> <strong class="jxr_keyword">return</strong> MessageFormat.format(pattern, arguments); +<a name="187" href="#187">187</a> } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException ex) { +<a name="188" href="#188">188</a> <strong class="jxr_keyword">return</strong> pattern; +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment">/**</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> * Formats a single argument using MessageFormat.</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be malformed or null.</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> * @param arguments arguments, may be null or mismatched.</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> * @return Message string or null</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> */</em> +<a name="198" href="#198">198</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String format(<strong class="jxr_keyword">final</strong> String pattern, +<a name="199" href="#199">199</a> <strong class="jxr_keyword">final</strong> Object arg0) { +<a name="200" href="#200">200</a> <strong class="jxr_keyword">if</strong> (pattern == <strong class="jxr_keyword">null</strong>) { +<a name="201" href="#201">201</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="202" href="#202">202</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(isSimple(pattern)) { +<a name="203" href="#203">203</a> String formatted = <strong class="jxr_keyword">null</strong>; +<a name="204" href="#204">204</a> <strong class="jxr_keyword">int</strong> prev = 0; +<a name="205" href="#205">205</a> String retval = <span class="jxr_string">""</span>; +<a name="206" href="#206">206</a> <strong class="jxr_keyword">int</strong> pos = pattern.indexOf('{'); +<a name="207" href="#207">207</a> <strong class="jxr_keyword">while</strong>(pos &gt;= 0) { +<a name="208" href="#208">208</a> <strong class="jxr_keyword">if</strong>(pos + 2 &lt; pattern.length() &amp;&amp; +<a name="209" href="#209">209</a> pattern.charAt(pos+2) == '}' &amp;&amp; +<a name="210" href="#210">210</a> pattern.charAt(pos+1) &gt;= '0' &amp;&amp; +<a name="211" href="#211">211</a> pattern.charAt(pos+1) &lt;= '9') { +<a name="212" href="#212">212</a> <strong class="jxr_keyword">int</strong> index = pattern.charAt(pos+1) - '0'; +<a name="213" href="#213">213</a> retval += pattern.substring(prev, pos); +<a name="214" href="#214">214</a> <strong class="jxr_keyword">if</strong> (index != 0) { +<a name="215" href="#215">215</a> retval += pattern.substring(pos, pos+3); +<a name="216" href="#216">216</a> } <strong class="jxr_keyword">else</strong> { +<a name="217" href="#217">217</a> <strong class="jxr_keyword">if</strong> (formatted == <strong class="jxr_keyword">null</strong>) { +<a name="218" href="#218">218</a> formatted = formatObject(arg0); +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> retval += formatted; +<a name="221" href="#221">221</a> } +<a name="222" href="#222">222</a> prev = pos + 3; +<a name="223" href="#223">223</a> pos = pattern.indexOf('{', prev); +<a name="224" href="#224">224</a> } <strong class="jxr_keyword">else</strong> { +<a name="225" href="#225">225</a> pos = pattern.indexOf('{', pos + 1); +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> retval += pattern.substring(prev); +<a name="229" href="#229">229</a> <strong class="jxr_keyword">return</strong> retval; +<a name="230" href="#230">230</a> } +<a name="231" href="#231">231</a> <strong class="jxr_keyword">try</strong> { +<a name="232" href="#232">232</a> <strong class="jxr_keyword">return</strong> MessageFormat.format(pattern, <strong class="jxr_keyword">new</strong> Object[] { arg0 }); +<a name="233" href="#233">233</a> } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException ex) { +<a name="234" href="#234">234</a> <strong class="jxr_keyword">return</strong> pattern; +<a name="235" href="#235">235</a> } +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment">/**</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> * Formats arguments using MessageFormat using a pattern from</em> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment"> * a resource bundle.</em> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment"> * @param resourceBundleName name of resource bundle, may be null.</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> * @param key key for pattern in resource bundle, may be null.</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> * @param arguments arguments, may be null or mismatched.</em> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> * @return Message string or null</em> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> */</em> +<a name="247" href="#247">247</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String format( +<a name="248" href="#248">248</a> <strong class="jxr_keyword">final</strong> String resourceBundleName, +<a name="249" href="#249">249</a> <strong class="jxr_keyword">final</strong> String key, +<a name="250" href="#250">250</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="251" href="#251">251</a> String pattern; +<a name="252" href="#252">252</a> <strong class="jxr_keyword">if</strong> (resourceBundleName != <strong class="jxr_keyword">null</strong>) { +<a name="253" href="#253">253</a> <strong class="jxr_keyword">try</strong> { +<a name="254" href="#254">254</a> ResourceBundle bundle = +<a name="255" href="#255">255</a> ResourceBundle.getBundle(resourceBundleName); +<a name="256" href="#256">256</a> pattern = bundle.getString(key); +<a name="257" href="#257">257</a> } <strong class="jxr_keyword">catch</strong> (Exception ex) { +<a name="258" href="#258">258</a> pattern = key; +<a name="259" href="#259">259</a> } +<a name="260" href="#260">260</a> } <strong class="jxr_keyword">else</strong> { +<a name="261" href="#261">261</a> pattern = key; +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> <strong class="jxr_keyword">return</strong> format(pattern, arguments); +<a name="264" href="#264">264</a> } +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment">/**</em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> * Fully Qualified Class Name of this class.</em> +<a name="269" href="#269">269</a> <em class="jxr_javadoccomment"> */</em> +<a name="270" href="#270">270</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FQCN = LogMF.<strong class="jxr_keyword">class</strong>.getName(); +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment">/**</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> * Equivalent of Logger.forcedLog.</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> *</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> * @param msg message, may be null.</em> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment"> */</em> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> forcedLog(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="280" href="#280">280</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="281" href="#281">281</a> <strong class="jxr_keyword">final</strong> String msg) { +<a name="282" href="#282">282</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, level, msg, <strong class="jxr_keyword">null</strong>)); +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment">/**</em> +<a name="286" href="#286">286</a> <em class="jxr_javadoccomment"> * Equivalent of Logger.forcedLog.</em> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> *</em> +<a name="288" href="#288">288</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="289" href="#289">289</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment"> * @param msg message, may be null.</em> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment"> * @param t throwable.</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> */</em> +<a name="293" href="#293">293</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> forcedLog(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="294" href="#294">294</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="295" href="#295">295</a> <strong class="jxr_keyword">final</strong> String msg, +<a name="296" href="#296">296</a> <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="297" href="#297">297</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, level, msg, t)); +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment">/**</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="303" href="#303">303</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be</em> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> * formatted and substituted.</em> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment"> */</em> +<a name="306" href="#306">306</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="307" href="#307">307</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="308" href="#308">308</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="309" href="#309">309</a> forcedLog(logger, TRACE, format(pattern, arguments)); +<a name="310" href="#310">310</a> } +<a name="311" href="#311">311</a> } +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment">/**</em> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> */</em> +<a name="319" href="#319">319</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="320" href="#320">320</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="321" href="#321">321</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="322" href="#322">322</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments)); +<a name="323" href="#323">323</a> } +<a name="324" href="#324">324</a> } +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">/**</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> */</em> +<a name="332" href="#332">332</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="333" href="#333">333</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="334" href="#334">334</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="335" href="#335">335</a> forcedLog(logger, Level.INFO, format(pattern, arguments)); +<a name="336" href="#336">336</a> } +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment">/**</em> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="341" href="#341">341</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment"> */</em> +<a name="345" href="#345">345</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="346" href="#346">346</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="347" href="#347">347</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="348" href="#348">348</a> forcedLog(logger, Level.WARN, format(pattern, arguments)); +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> } +<a name="351" href="#351">351</a> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment">/**</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> * Log a parameterized message at error level.</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> */</em> +<a name="358" href="#358">358</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> error(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="359" href="#359">359</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="360" href="#360">360</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.ERROR)) { +<a name="361" href="#361">361</a> forcedLog(logger, Level.ERROR, format(pattern, arguments)); +<a name="362" href="#362">362</a> } +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment">/**</em> +<a name="366" href="#366">366</a> <em class="jxr_javadoccomment"> * Log a parameterized message at fatal level.</em> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> */</em> +<a name="371" href="#371">371</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> fatal(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="372" href="#372">372</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="373" href="#373">373</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.FATAL)) { +<a name="374" href="#374">374</a> forcedLog(logger, Level.FATAL, format(pattern, arguments)); +<a name="375" href="#375">375</a> } +<a name="376" href="#376">376</a> } +<a name="377" href="#377">377</a> +<a name="378" href="#378">378</a> <em class="jxr_javadoccomment">/**</em> +<a name="379" href="#379">379</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="380" href="#380">380</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="381" href="#381">381</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> * formatted and substituted.</em> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment"> */</em> +<a name="386" href="#386">386</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="387" href="#387">387</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="388" href="#388">388</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="389" href="#389">389</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="390" href="#390">390</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="391" href="#391">391</a> forcedLog(logger, TRACE, format(pattern, arguments), t); +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> } +<a name="394" href="#394">394</a> +<a name="395" href="#395">395</a> <em class="jxr_javadoccomment">/**</em> +<a name="396" href="#396">396</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="397" href="#397">397</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="398" href="#398">398</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="399" href="#399">399</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="400" href="#400">400</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="401" href="#401">401</a> <em class="jxr_javadoccomment"> */</em> +<a name="402" href="#402">402</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="403" href="#403">403</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="404" href="#404">404</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="405" href="#405">405</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="406" href="#406">406</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="407" href="#407">407</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments), t); +<a name="408" href="#408">408</a> } +<a name="409" href="#409">409</a> } +<a name="410" href="#410">410</a> +<a name="411" href="#411">411</a> <em class="jxr_javadoccomment">/**</em> +<a name="412" href="#412">412</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="413" href="#413">413</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="414" href="#414">414</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="415" href="#415">415</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="416" href="#416">416</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="417" href="#417">417</a> <em class="jxr_javadoccomment"> */</em> +<a name="418" href="#418">418</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="419" href="#419">419</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="420" href="#420">420</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="421" href="#421">421</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="422" href="#422">422</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="423" href="#423">423</a> forcedLog(logger, Level.INFO, format(pattern, arguments), t); +<a name="424" href="#424">424</a> } +<a name="425" href="#425">425</a> } +<a name="426" href="#426">426</a> +<a name="427" href="#427">427</a> <em class="jxr_javadoccomment">/**</em> +<a name="428" href="#428">428</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="429" href="#429">429</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="430" href="#430">430</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="431" href="#431">431</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="432" href="#432">432</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="433" href="#433">433</a> <em class="jxr_javadoccomment"> */</em> +<a name="434" href="#434">434</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="435" href="#435">435</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="436" href="#436">436</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="437" href="#437">437</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="438" href="#438">438</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="439" href="#439">439</a> forcedLog(logger, Level.WARN, format(pattern, arguments), t); +<a name="440" href="#440">440</a> } +<a name="441" href="#441">441</a> } +<a name="442" href="#442">442</a> +<a name="443" href="#443">443</a> <em class="jxr_javadoccomment">/**</em> +<a name="444" href="#444">444</a> <em class="jxr_javadoccomment"> * Log a parameterized message at error level.</em> +<a name="445" href="#445">445</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="446" href="#446">446</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="447" href="#447">447</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="448" href="#448">448</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="449" href="#449">449</a> <em class="jxr_javadoccomment"> */</em> +<a name="450" href="#450">450</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> error(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="451" href="#451">451</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="452" href="#452">452</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="453" href="#453">453</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="454" href="#454">454</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.ERROR)) { +<a name="455" href="#455">455</a> forcedLog(logger, Level.ERROR, format(pattern, arguments), t); +<a name="456" href="#456">456</a> } +<a name="457" href="#457">457</a> } +<a name="458" href="#458">458</a> +<a name="459" href="#459">459</a> <em class="jxr_javadoccomment">/**</em> +<a name="460" href="#460">460</a> <em class="jxr_javadoccomment"> * Log a parameterized message at fatal level.</em> +<a name="461" href="#461">461</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="462" href="#462">462</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="463" href="#463">463</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="464" href="#464">464</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="465" href="#465">465</a> <em class="jxr_javadoccomment"> */</em> +<a name="466" href="#466">466</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> fatal(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="467" href="#467">467</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="468" href="#468">468</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="469" href="#469">469</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="470" href="#470">470</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.FATAL)) { +<a name="471" href="#471">471</a> forcedLog(logger, Level.FATAL, format(pattern, arguments), t); +<a name="472" href="#472">472</a> } +<a name="473" href="#473">473</a> } +<a name="474" href="#474">474</a> +<a name="475" href="#475">475</a> +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> <em class="jxr_javadoccomment">/**</em> +<a name="478" href="#478">478</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="479" href="#479">479</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="480" href="#480">480</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="481" href="#481">481</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="482" href="#482">482</a> <em class="jxr_javadoccomment"> */</em> +<a name="483" href="#483">483</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="484" href="#484">484</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) { +<a name="485" href="#485">485</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="486" href="#486">486</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="487" href="#487">487</a> } +<a name="488" href="#488">488</a> } +<a name="489" href="#489">489</a> +<a name="490" href="#490">490</a> <em class="jxr_javadoccomment">/**</em> +<a name="491" href="#491">491</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="492" href="#492">492</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="493" href="#493">493</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="494" href="#494">494</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="495" href="#495">495</a> <em class="jxr_javadoccomment"> */</em> +<a name="496" href="#496">496</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="497" href="#497">497</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) { +<a name="498" href="#498">498</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="499" href="#499">499</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="500" href="#500">500</a> } +<a name="501" href="#501">501</a> } +<a name="502" href="#502">502</a> +<a name="503" href="#503">503</a> <em class="jxr_javadoccomment">/**</em> +<a name="504" href="#504">504</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="505" href="#505">505</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="506" href="#506">506</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="507" href="#507">507</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="508" href="#508">508</a> <em class="jxr_javadoccomment"> */</em> +<a name="509" href="#509">509</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="510" href="#510">510</a> <strong class="jxr_keyword">final</strong> byte argument) { +<a name="511" href="#511">511</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="512" href="#512">512</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="513" href="#513">513</a> } +<a name="514" href="#514">514</a> } +<a name="515" href="#515">515</a> +<a name="516" href="#516">516</a> <em class="jxr_javadoccomment">/**</em> +<a name="517" href="#517">517</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="518" href="#518">518</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="519" href="#519">519</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="520" href="#520">520</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="521" href="#521">521</a> <em class="jxr_javadoccomment"> */</em> +<a name="522" href="#522">522</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="523" href="#523">523</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) { +<a name="524" href="#524">524</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="525" href="#525">525</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="526" href="#526">526</a> } +<a name="527" href="#527">527</a> } +<a name="528" href="#528">528</a> +<a name="529" href="#529">529</a> <em class="jxr_javadoccomment">/**</em> +<a name="530" href="#530">530</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="531" href="#531">531</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="532" href="#532">532</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="533" href="#533">533</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="534" href="#534">534</a> <em class="jxr_javadoccomment"> */</em> +<a name="535" href="#535">535</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="536" href="#536">536</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) { +<a name="537" href="#537">537</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="538" href="#538">538</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="539" href="#539">539</a> } +<a name="540" href="#540">540</a> } +<a name="541" href="#541">541</a> +<a name="542" href="#542">542</a> <em class="jxr_javadoccomment">/**</em> +<a name="543" href="#543">543</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="544" href="#544">544</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="545" href="#545">545</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="546" href="#546">546</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="547" href="#547">547</a> <em class="jxr_javadoccomment"> */</em> +<a name="548" href="#548">548</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="549" href="#549">549</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) { +<a name="550" href="#550">550</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="551" href="#551">551</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="552" href="#552">552</a> } +<a name="553" href="#553">553</a> } +<a name="554" href="#554">554</a> +<a name="555" href="#555">555</a> <em class="jxr_javadoccomment">/**</em> +<a name="556" href="#556">556</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="557" href="#557">557</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="558" href="#558">558</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="559" href="#559">559</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="560" href="#560">560</a> <em class="jxr_javadoccomment"> */</em> +<a name="561" href="#561">561</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="562" href="#562">562</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) { +<a name="563" href="#563">563</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="564" href="#564">564</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="565" href="#565">565</a> } +<a name="566" href="#566">566</a> } +<a name="567" href="#567">567</a> +<a name="568" href="#568">568</a> <em class="jxr_javadoccomment">/**</em> +<a name="569" href="#569">569</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="570" href="#570">570</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="571" href="#571">571</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="572" href="#572">572</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="573" href="#573">573</a> <em class="jxr_javadoccomment"> */</em> +<a name="574" href="#574">574</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="575" href="#575">575</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) { +<a name="576" href="#576">576</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="577" href="#577">577</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="578" href="#578">578</a> } +<a name="579" href="#579">579</a> } +<a name="580" href="#580">580</a> +<a name="581" href="#581">581</a> <em class="jxr_javadoccomment">/**</em> +<a name="582" href="#582">582</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="583" href="#583">583</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="584" href="#584">584</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="585" href="#585">585</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="586" href="#586">586</a> <em class="jxr_javadoccomment"> */</em> +<a name="587" href="#587">587</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="588" href="#588">588</a> <strong class="jxr_keyword">final</strong> Object argument) { +<a name="589" href="#589">589</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="590" href="#590">590</a> forcedLog(logger, TRACE, format(pattern, argument)); +<a name="591" href="#591">591</a> } +<a name="592" href="#592">592</a> } +<a name="593" href="#593">593</a> +<a name="594" href="#594">594</a> <em class="jxr_javadoccomment">/**</em> +<a name="595" href="#595">595</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="596" href="#596">596</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="597" href="#597">597</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="598" href="#598">598</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="599" href="#599">599</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="600" href="#600">600</a> <em class="jxr_javadoccomment"> */</em> +<a name="601" href="#601">601</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="602" href="#602">602</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) { +<a name="603" href="#603">603</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="604" href="#604">604</a> forcedLog(logger, TRACE, +<a name="605" href="#605">605</a> format(pattern, toArray(arg0, arg1))); +<a name="606" href="#606">606</a> } +<a name="607" href="#607">607</a> } +<a name="608" href="#608">608</a> +<a name="609" href="#609">609</a> <em class="jxr_javadoccomment">/**</em> +<a name="610" href="#610">610</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="611" href="#611">611</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="612" href="#612">612</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="613" href="#613">613</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="614" href="#614">614</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="615" href="#615">615</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="616" href="#616">616</a> <em class="jxr_javadoccomment"> */</em> +<a name="617" href="#617">617</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="618" href="#618">618</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) { +<a name="619" href="#619">619</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="620" href="#620">620</a> forcedLog(logger, TRACE, +<a name="621" href="#621">621</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="622" href="#622">622</a> } +<a name="623" href="#623">623</a> } +<a name="624" href="#624">624</a> +<a name="625" href="#625">625</a> <em class="jxr_javadoccomment">/**</em> +<a name="626" href="#626">626</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="627" href="#627">627</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="628" href="#628">628</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="629" href="#629">629</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="630" href="#630">630</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="631" href="#631">631</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="632" href="#632">632</a> <em class="jxr_javadoccomment"> * @param arg3 a value to be formatted and substituted.</em> +<a name="633" href="#633">633</a> <em class="jxr_javadoccomment"> */</em> +<a name="634" href="#634">634</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="635" href="#635">635</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2, +<a name="636" href="#636">636</a> <strong class="jxr_keyword">final</strong> Object arg3) { +<a name="637" href="#637">637</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="638" href="#638">638</a> forcedLog(logger, TRACE, +<a name="639" href="#639">639</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); +<a name="640" href="#640">640</a> } +<a name="641" href="#641">641</a> } +<a name="642" href="#642">642</a> +<a name="643" href="#643">643</a> <em class="jxr_javadoccomment">/**</em> +<a name="644" href="#644">644</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="645" href="#645">645</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="646" href="#646">646</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="647" href="#647">647</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="648" href="#648">648</a> <em class="jxr_javadoccomment"> */</em> +<a name="649" href="#649">649</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="650" href="#650">650</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) { +<a name="651" href="#651">651</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="652" href="#652">652</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="653" href="#653">653</a> } +<a name="654" href="#654">654</a> } +<a name="655" href="#655">655</a> +<a name="656" href="#656">656</a> <em class="jxr_javadoccomment">/**</em> +<a name="657" href="#657">657</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="658" href="#658">658</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="659" href="#659">659</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="660" href="#660">660</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="661" href="#661">661</a> <em class="jxr_javadoccomment"> */</em> +<a name="662" href="#662">662</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="663" href="#663">663</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) { +<a name="664" href="#664">664</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="665" href="#665">665</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="666" href="#666">666</a> } +<a name="667" href="#667">667</a> } +<a name="668" href="#668">668</a> +<a name="669" href="#669">669</a> <em class="jxr_javadoccomment">/**</em> +<a name="670" href="#670">670</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="671" href="#671">671</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="672" href="#672">672</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="673" href="#673">673</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="674" href="#674">674</a> <em class="jxr_javadoccomment"> */</em> +<a name="675" href="#675">675</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="676" href="#676">676</a> <strong class="jxr_keyword">final</strong> byte argument) { +<a name="677" href="#677">677</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="678" href="#678">678</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="679" href="#679">679</a> } +<a name="680" href="#680">680</a> } +<a name="681" href="#681">681</a> +<a name="682" href="#682">682</a> <em class="jxr_javadoccomment">/**</em> +<a name="683" href="#683">683</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="684" href="#684">684</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="685" href="#685">685</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="686" href="#686">686</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="687" href="#687">687</a> <em class="jxr_javadoccomment"> */</em> +<a name="688" href="#688">688</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="689" href="#689">689</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) { +<a name="690" href="#690">690</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="691" href="#691">691</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="692" href="#692">692</a> } +<a name="693" href="#693">693</a> } +<a name="694" href="#694">694</a> +<a name="695" href="#695">695</a> <em class="jxr_javadoccomment">/**</em> +<a name="696" href="#696">696</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="697" href="#697">697</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="698" href="#698">698</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="699" href="#699">699</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="700" href="#700">700</a> <em class="jxr_javadoccomment"> */</em> +<a name="701" href="#701">701</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="702" href="#702">702</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) { +<a name="703" href="#703">703</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="704" href="#704">704</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="705" href="#705">705</a> } +<a name="706" href="#706">706</a> } +<a name="707" href="#707">707</a> +<a name="708" href="#708">708</a> <em class="jxr_javadoccomment">/**</em> +<a name="709" href="#709">709</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="710" href="#710">710</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="711" href="#711">711</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="712" href="#712">712</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="713" href="#713">713</a> <em class="jxr_javadoccomment"> */</em> +<a name="714" href="#714">714</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="715" href="#715">715</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) { +<a name="716" href="#716">716</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="717" href="#717">717</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="718" href="#718">718</a> } +<a name="719" href="#719">719</a> } +<a name="720" href="#720">720</a> +<a name="721" href="#721">721</a> <em class="jxr_javadoccomment">/**</em> +<a name="722" href="#722">722</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="723" href="#723">723</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="724" href="#724">724</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="725" href="#725">725</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="726" href="#726">726</a> <em class="jxr_javadoccomment"> */</em> +<a name="727" href="#727">727</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="728" href="#728">728</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) { +<a name="729" href="#729">729</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="730" href="#730">730</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="731" href="#731">731</a> } +<a name="732" href="#732">732</a> } +<a name="733" href="#733">733</a> +<a name="734" href="#734">734</a> <em class="jxr_javadoccomment">/**</em> +<a name="735" href="#735">735</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="736" href="#736">736</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="737" href="#737">737</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="738" href="#738">738</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="739" href="#739">739</a> <em class="jxr_javadoccomment"> */</em> +<a name="740" href="#740">740</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="741" href="#741">741</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) { +<a name="742" href="#742">742</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="743" href="#743">743</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="744" href="#744">744</a> } +<a name="745" href="#745">745</a> } +<a name="746" href="#746">746</a> +<a name="747" href="#747">747</a> <em class="jxr_javadoccomment">/**</em> +<a name="748" href="#748">748</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="749" href="#749">749</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="750" href="#750">750</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="751" href="#751">751</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="752" href="#752">752</a> <em class="jxr_javadoccomment"> */</em> +<a name="753" href="#753">753</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="754" href="#754">754</a> <strong class="jxr_keyword">final</strong> Object argument) { +<a name="755" href="#755">755</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="756" href="#756">756</a> forcedLog(logger, Level.DEBUG, format(pattern, argument)); +<a name="757" href="#757">757</a> } +<a name="758" href="#758">758</a> } +<a name="759" href="#759">759</a> +<a name="760" href="#760">760</a> <em class="jxr_javadoccomment">/**</em> +<a name="761" href="#761">761</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="762" href="#762">762</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="763" href="#763">763</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="764" href="#764">764</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="765" href="#765">765</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="766" href="#766">766</a> <em class="jxr_javadoccomment"> */</em> +<a name="767" href="#767">767</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="768" href="#768">768</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) { +<a name="769" href="#769">769</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="770" href="#770">770</a> forcedLog(logger, Level.DEBUG, +<a name="771" href="#771">771</a> format(pattern, toArray(arg0, arg1))); +<a name="772" href="#772">772</a> } +<a name="773" href="#773">773</a> } +<a name="774" href="#774">774</a> +<a name="775" href="#775">775</a> <em class="jxr_javadoccomment">/**</em> +<a name="776" href="#776">776</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="777" href="#777">777</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="778" href="#778">778</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="779" href="#779">779</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="780" href="#780">780</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="781" href="#781">781</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="782" href="#782">782</a> <em class="jxr_javadoccomment"> */</em> +<a name="783" href="#783">783</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="784" href="#784">784</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) { +<a name="785" href="#785">785</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="786" href="#786">786</a> forcedLog(logger, Level.DEBUG, +<a name="787" href="#787">787</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="788" href="#788">788</a> } +<a name="789" href="#789">789</a> } +<a name="790" href="#790">790</a> +<a name="791" href="#791">791</a> <em class="jxr_javadoccomment">/**</em> +<a name="792" href="#792">792</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="793" href="#793">793</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="794" href="#794">794</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="795" href="#795">795</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="796" href="#796">796</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="797" href="#797">797</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="798" href="#798">798</a> <em class="jxr_javadoccomment"> * @param arg3 a value to be formatted and substituted.</em> +<a name="799" href="#799">799</a> <em class="jxr_javadoccomment"> */</em> +<a name="800" href="#800">800</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="801" href="#801">801</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2, +<a name="802" href="#802">802</a> <strong class="jxr_keyword">final</strong> Object arg3) { +<a name="803" href="#803">803</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="804" href="#804">804</a> forcedLog(logger, Level.DEBUG, +<a name="805" href="#805">805</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); +<a name="806" href="#806">806</a> } +<a name="807" href="#807">807</a> } +<a name="808" href="#808">808</a> +<a name="809" href="#809">809</a> <em class="jxr_javadoccomment">/**</em> +<a name="810" href="#810">810</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="811" href="#811">811</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="812" href="#812">812</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="813" href="#813">813</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="814" href="#814">814</a> <em class="jxr_javadoccomment"> */</em> +<a name="815" href="#815">815</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="816" href="#816">816</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) { +<a name="817" href="#817">817</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="818" href="#818">818</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="819" href="#819">819</a> } +<a name="820" href="#820">820</a> } +<a name="821" href="#821">821</a> +<a name="822" href="#822">822</a> <em class="jxr_javadoccomment">/**</em> +<a name="823" href="#823">823</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="824" href="#824">824</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="825" href="#825">825</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="826" href="#826">826</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="827" href="#827">827</a> <em class="jxr_javadoccomment"> */</em> +<a name="828" href="#828">828</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="829" href="#829">829</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) { +<a name="830" href="#830">830</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="831" href="#831">831</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="832" href="#832">832</a> } +<a name="833" href="#833">833</a> } +<a name="834" href="#834">834</a> +<a name="835" href="#835">835</a> <em class="jxr_javadoccomment">/**</em> +<a name="836" href="#836">836</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="837" href="#837">837</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="838" href="#838">838</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="839" href="#839">839</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="840" href="#840">840</a> <em class="jxr_javadoccomment"> */</em> +<a name="841" href="#841">841</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="842" href="#842">842</a> <strong class="jxr_keyword">final</strong> byte argument) { +<a name="843" href="#843">843</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="844" href="#844">844</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="845" href="#845">845</a> } +<a name="846" href="#846">846</a> } +<a name="847" href="#847">847</a> +<a name="848" href="#848">848</a> <em class="jxr_javadoccomment">/**</em> +<a name="849" href="#849">849</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="850" href="#850">850</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="851" href="#851">851</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="852" href="#852">852</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="853" href="#853">853</a> <em class="jxr_javadoccomment"> */</em> +<a name="854" href="#854">854</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="855" href="#855">855</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) { +<a name="856" href="#856">856</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="857" href="#857">857</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="858" href="#858">858</a> } +<a name="859" href="#859">859</a> } +<a name="860" href="#860">860</a> +<a name="861" href="#861">861</a> <em class="jxr_javadoccomment">/**</em> +<a name="862" href="#862">862</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="863" href="#863">863</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="864" href="#864">864</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="865" href="#865">865</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="866" href="#866">866</a> <em class="jxr_javadoccomment"> */</em> +<a name="867" href="#867">867</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="868" href="#868">868</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) { +<a name="869" href="#869">869</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="870" href="#870">870</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="871" href="#871">871</a> } +<a name="872" href="#872">872</a> } +<a name="873" href="#873">873</a> +<a name="874" href="#874">874</a> <em class="jxr_javadoccomment">/**</em> +<a name="875" href="#875">875</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="876" href="#876">876</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="877" href="#877">877</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="878" href="#878">878</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="879" href="#879">879</a> <em class="jxr_javadoccomment"> */</em> +<a name="880" href="#880">880</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="881" href="#881">881</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) { +<a name="882" href="#882">882</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="883" href="#883">883</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="884" href="#884">884</a> } +<a name="885" href="#885">885</a> } +<a name="886" href="#886">886</a> +<a name="887" href="#887">887</a> <em class="jxr_javadoccomment">/**</em> +<a name="888" href="#888">888</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="889" href="#889">889</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="890" href="#890">890</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="891" href="#891">891</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="892" href="#892">892</a> <em class="jxr_javadoccomment"> */</em> +<a name="893" href="#893">893</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="894" href="#894">894</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) { +<a name="895" href="#895">895</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="896" href="#896">896</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="897" href="#897">897</a> } +<a name="898" href="#898">898</a> } +<a name="899" href="#899">899</a> +<a name="900" href="#900">900</a> <em class="jxr_javadoccomment">/**</em> +<a name="901" href="#901">901</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="902" href="#902">902</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="903" href="#903">903</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="904" href="#904">904</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="905" href="#905">905</a> <em class="jxr_javadoccomment"> */</em> +<a name="906" href="#906">906</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="907" href="#907">907</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) { +<a name="908" href="#908">908</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="909" href="#909">909</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="910" href="#910">910</a> } +<a name="911" href="#911">911</a> } +<a name="912" href="#912">912</a> +<a name="913" href="#913">913</a> <em class="jxr_javadoccomment">/**</em> +<a name="914" href="#914">914</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="915" href="#915">915</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="916" href="#916">916</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="917" href="#917">917</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="918" href="#918">918</a> <em class="jxr_javadoccomment"> */</em> +<a name="919" href="#919">919</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="920" href="#920">920</a> <strong class="jxr_keyword">final</strong> Object argument) { +<a name="921" href="#921">921</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="922" href="#922">922</a> forcedLog(logger, Level.INFO, format(pattern, argument)); +<a name="923" href="#923">923</a> } +<a name="924" href="#924">924</a> } +<a name="925" href="#925">925</a> +<a name="926" href="#926">926</a> <em class="jxr_javadoccomment">/**</em> +<a name="927" href="#927">927</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="928" href="#928">928</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="929" href="#929">929</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="930" href="#930">930</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="931" href="#931">931</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="932" href="#932">932</a> <em class="jxr_javadoccomment"> */</em> +<a name="933" href="#933">933</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="934" href="#934">934</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) { +<a name="935" href="#935">935</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="936" href="#936">936</a> forcedLog(logger, Level.INFO, format(pattern, toArray(arg0, arg1))); +<a name="937" href="#937">937</a> } +<a name="938" href="#938">938</a> } +<a name="939" href="#939">939</a> +<a name="940" href="#940">940</a> <em class="jxr_javadoccomment">/**</em> +<a name="941" href="#941">941</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="942" href="#942">942</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="943" href="#943">943</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="944" href="#944">944</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="945" href="#945">945</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="946" href="#946">946</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="947" href="#947">947</a> <em class="jxr_javadoccomment"> */</em> +<a name="948" href="#948">948</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="949" href="#949">949</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) { +<a name="950" href="#950">950</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="951" href="#951">951</a> forcedLog(logger, Level.INFO, format(pattern, +<a name="952" href="#952">952</a> toArray(arg0, arg1, arg2))); +<a name="953" href="#953">953</a> } +<a name="954" href="#954">954</a> } +<a name="955" href="#955">955</a> +<a name="956" href="#956">956</a> <em class="jxr_javadoccomment">/**</em> +<a name="957" href="#957">957</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="958" href="#958">958</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="959" href="#959">959</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="960" href="#960">960</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="961" href="#961">961</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="962" href="#962">962</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="963" href="#963">963</a> <em class="jxr_javadoccomment"> * @param arg3 a value to be formatted and substituted.</em> +<a name="964" href="#964">964</a> <em class="jxr_javadoccomment"> */</em> +<a name="965" href="#965">965</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="966" href="#966">966</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2, +<a name="967" href="#967">967</a> <strong class="jxr_keyword">final</strong> Object arg3) { +<a name="968" href="#968">968</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="969" href="#969">969</a> forcedLog(logger, Level.INFO, format(pattern, +<a name="970" href="#970">970</a> toArray(arg0, arg1, arg2, arg3))); +<a name="971" href="#971">971</a> } +<a name="972" href="#972">972</a> } +<a name="973" href="#973">973</a> +<a name="974" href="#974">974</a> <em class="jxr_javadoccomment">/**</em> +<a name="975" href="#975">975</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="976" href="#976">976</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="977" href="#977">977</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="978" href="#978">978</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="979" href="#979">979</a> <em class="jxr_javadoccomment"> */</em> +<a name="980" href="#980">980</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="981" href="#981">981</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) { +<a name="982" href="#982">982</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="983" href="#983">983</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="984" href="#984">984</a> } +<a name="985" href="#985">985</a> } +<a name="986" href="#986">986</a> +<a name="987" href="#987">987</a> <em class="jxr_javadoccomment">/**</em> +<a name="988" href="#988">988</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="989" href="#989">989</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="990" href="#990">990</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="991" href="#991">991</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="992" href="#992">992</a> <em class="jxr_javadoccomment"> */</em> +<a name="993" href="#993">993</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="994" href="#994">994</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) { +<a name="995" href="#995">995</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="996" href="#996">996</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="997" href="#997">997</a> } +<a name="998" href="#998">998</a> } +<a name="999" href="#999">999</a> +<a name="1000" href="#1000">1000</a> <em class="jxr_javadoccomment">/**</em> +<a name="1001" href="#1001">1001</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="1002" href="#1002">1002</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1003" href="#1003">1003</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1004" href="#1004">1004</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="1005" href="#1005">1005</a> <em class="jxr_javadoccomment"> */</em> +<a name="1006" href="#1006">1006</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="1007" href="#1007">1007</a> <strong class="jxr_keyword">final</strong> byte argument) { +<a name="1008" href="#1008">1008</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1009" href="#1009">1009</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1010" href="#1010">1010</a> } +<a name="1011" href="#1011">1011</a> } +<a name="1012" href="#1012">1012</a> +<a name="1013" href="#1013">1013</a> <em class="jxr_javadoccomment">/**</em> +<a name="1014" href="#1014">1014</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="1015" href="#1015">1015</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1016" href="#1016">1016</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1017" href="#1017">1017</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="1018" href="#1018">1018</a> <em class="jxr_javadoccomment"> */</em> +<a name="1019" href="#1019">1019</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="1020" href="#1020">1020</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) { +<a name="1021" href="#1021">1021</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1022" href="#1022">1022</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1023" href="#1023">1023</a> } +<a name="1024" href="#1024">1024</a> } +<a name="1025" href="#1025">1025</a> +<a name="1026" href="#1026">1026</a> <em class="jxr_javadoccomment">/**</em> +<a name="1027" href="#1027">1027</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="1028" href="#1028">1028</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1029" href="#1029">1029</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1030" href="#1030">1030</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="1031" href="#1031">1031</a> <em class="jxr_javadoccomment"> */</em> +<a name="1032" href="#1032">1032</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="1033" href="#1033">1033</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) { +<a name="1034" href="#1034">1034</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1035" href="#1035">1035</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1036" href="#1036">1036</a> } +<a name="1037" href="#1037">1037</a> } +<a name="1038" href="#1038">1038</a> +<a name="1039" href="#1039">1039</a> <em class="jxr_javadoccomment">/**</em> +<a name="1040" href="#1040">1040</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="1041" href="#1041">1041</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1042" href="#1042">1042</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1043" href="#1043">1043</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="1044" href="#1044">1044</a> <em class="jxr_javadoccomment"> */</em> +<a name="1045" href="#1045">1045</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="1046" href="#1046">1046</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) { +<a name="1047" href="#1047">1047</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1048" href="#1048">1048</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1049" href="#1049">1049</a> } +<a name="1050" href="#1050">1050</a> } +<a name="1051" href="#1051">1051</a> +<a name="1052" href="#1052">1052</a> <em class="jxr_javadoccomment">/**</em> +<a name="1053" href="#1053">1053</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="1054" href="#1054">1054</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1055" href="#1055">1055</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1056" href="#1056">1056</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="1057" href="#1057">1057</a> <em class="jxr_javadoccomment"> */</em> +<a name="1058" href="#1058">1058</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="1059" href="#1059">1059</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) { +<a name="1060" href="#1060">1060</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1061" href="#1061">1061</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1062" href="#1062">1062</a> } +<a name="1063" href="#1063">1063</a> } +<a name="1064" href="#1064">1064</a> +<a name="1065" href="#1065">1065</a> <em class="jxr_javadoccomment">/**</em> +<a name="1066" href="#1066">1066</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="1067" href="#1067">1067</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1068" href="#1068">1068</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1069" href="#1069">1069</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="1070" href="#1070">1070</a> <em class="jxr_javadoccomment"> */</em> +<a name="1071" href="#1071">1071</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="1072" href="#1072">1072</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) { +<a name="1073" href="#1073">1073</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1074" href="#1074">1074</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1075" href="#1075">1075</a> } +<a name="1076" href="#1076">1076</a> } +<a name="1077" href="#1077">1077</a> +<a name="1078" href="#1078">1078</a> <em class="jxr_javadoccomment">/**</em> +<a name="1079" href="#1079">1079</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="1080" href="#1080">1080</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1081" href="#1081">1081</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1082" href="#1082">1082</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="1083" href="#1083">1083</a> <em class="jxr_javadoccomment"> */</em> +<a name="1084" href="#1084">1084</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="1085" href="#1085">1085</a> <strong class="jxr_keyword">final</strong> Object argument) { +<a name="1086" href="#1086">1086</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1087" href="#1087">1087</a> forcedLog(logger, Level.WARN, format(pattern, argument)); +<a name="1088" href="#1088">1088</a> } +<a name="1089" href="#1089">1089</a> } +<a name="1090" href="#1090">1090</a> +<a name="1091" href="#1091">1091</a> <em class="jxr_javadoccomment">/**</em> +<a name="1092" href="#1092">1092</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="1093" href="#1093">1093</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1094" href="#1094">1094</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1095" href="#1095">1095</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="1096" href="#1096">1096</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="1097" href="#1097">1097</a> <em class="jxr_javadoccomment"> */</em> +<a name="1098" href="#1098">1098</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="1099" href="#1099">1099</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) { +<a name="1100" href="#1100">1100</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1101" href="#1101">1101</a> forcedLog(logger, Level.WARN, +<a name="1102" href="#1102">1102</a> format(pattern, toArray(arg0, arg1))); +<a name="1103" href="#1103">1103</a> } +<a name="1104" href="#1104">1104</a> } +<a name="1105" href="#1105">1105</a> +<a name="1106" href="#1106">1106</a> <em class="jxr_javadoccomment">/**</em> +<a name="1107" href="#1107">1107</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="1108" href="#1108">1108</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1109" href="#1109">1109</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1110" href="#1110">1110</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="1111" href="#1111">1111</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="1112" href="#1112">1112</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="1113" href="#1113">1113</a> <em class="jxr_javadoccomment"> */</em> +<a name="1114" href="#1114">1114</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="1115" href="#1115">1115</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) { +<a name="1116" href="#1116">1116</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1117" href="#1117">1117</a> forcedLog(logger, Level.WARN, +<a name="1118" href="#1118">1118</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="1119" href="#1119">1119</a> } +<a name="1120" href="#1120">1120</a> } +<a name="1121" href="#1121">1121</a> +<a name="1122" href="#1122">1122</a> <em class="jxr_javadoccomment">/**</em> +<a name="1123" href="#1123">1123</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="1124" href="#1124">1124</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1125" href="#1125">1125</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1126" href="#1126">1126</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="1127" href="#1127">1127</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="1128" href="#1128">1128</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="1129" href="#1129">1129</a> <em class="jxr_javadoccomment"> * @param arg3 a value to be formatted and substituted.</em> +<a name="1130" href="#1130">1130</a> <em class="jxr_javadoccomment"> */</em> +<a name="1131" href="#1131">1131</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="1132" href="#1132">1132</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2, +<a name="1133" href="#1133">1133</a> <strong class="jxr_keyword">final</strong> Object arg3) { +<a name="1134" href="#1134">1134</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1135" href="#1135">1135</a> forcedLog(logger, Level.WARN, format(pattern, +<a name="1136" href="#1136">1136</a> toArray(arg0, arg1, arg2, arg3))); +<a name="1137" href="#1137">1137</a> } +<a name="1138" href="#1138">1138</a> } +<a name="1139" href="#1139">1139</a> +<a name="1140" href="#1140">1140</a> <em class="jxr_javadoccomment">/**</em> +<a name="1141" href="#1141">1141</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1142" href="#1142">1142</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1143" href="#1143">1143</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1144" href="#1144">1144</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1145" href="#1145">1145</a> <em class="jxr_javadoccomment"> * @param parameters parameters to the log message.</em> +<a name="1146" href="#1146">1146</a> <em class="jxr_javadoccomment"> */</em> +<a name="1147" href="#1147">1147</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1148" href="#1148">1148</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1149" href="#1149">1149</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1150" href="#1150">1150</a> <strong class="jxr_keyword">final</strong> Object[] parameters) { +<a name="1151" href="#1151">1151</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1152" href="#1152">1152</a> forcedLog(logger, level, +<a name="1153" href="#1153">1153</a> format(pattern, parameters)); +<a name="1154" href="#1154">1154</a> } +<a name="1155" href="#1155">1155</a> } +<a name="1156" href="#1156">1156</a> +<a name="1157" href="#1157">1157</a> <em class="jxr_javadoccomment">/**</em> +<a name="1158" href="#1158">1158</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1159" href="#1159">1159</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1160" href="#1160">1160</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1161" href="#1161">1161</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="1162" href="#1162">1162</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1163" href="#1163">1163</a> <em class="jxr_javadoccomment"> * @param parameters parameters to the log message.</em> +<a name="1164" href="#1164">1164</a> <em class="jxr_javadoccomment"> */</em> +<a name="1165" href="#1165">1165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1166" href="#1166">1166</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1167" href="#1167">1167</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="1168" href="#1168">1168</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1169" href="#1169">1169</a> <strong class="jxr_keyword">final</strong> Object[] parameters) { +<a name="1170" href="#1170">1170</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1171" href="#1171">1171</a> forcedLog(logger, level, +<a name="1172" href="#1172">1172</a> format(pattern, parameters), t); +<a name="1173" href="#1173">1173</a> } +<a name="1174" href="#1174">1174</a> } +<a name="1175" href="#1175">1175</a> +<a name="1176" href="#1176">1176</a> <em class="jxr_javadoccomment">/**</em> +<a name="1177" href="#1177">1177</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1178" href="#1178">1178</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1179" href="#1179">1179</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1180" href="#1180">1180</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1181" href="#1181">1181</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1182" href="#1182">1182</a> <em class="jxr_javadoccomment"> */</em> +<a name="1183" href="#1183">1183</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1184" href="#1184">1184</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1185" href="#1185">1185</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1186" href="#1186">1186</a> <strong class="jxr_keyword">final</strong> Object param1) { +<a name="1187" href="#1187">1187</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1188" href="#1188">1188</a> forcedLog(logger, level, +<a name="1189" href="#1189">1189</a> format(pattern, toArray(param1))); +<a name="1190" href="#1190">1190</a> } +<a name="1191" href="#1191">1191</a> } +<a name="1192" href="#1192">1192</a> +<a name="1193" href="#1193">1193</a> <em class="jxr_javadoccomment">/**</em> +<a name="1194" href="#1194">1194</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1195" href="#1195">1195</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1196" href="#1196">1196</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1197" href="#1197">1197</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1198" href="#1198">1198</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1199" href="#1199">1199</a> <em class="jxr_javadoccomment"> */</em> +<a name="1200" href="#1200">1200</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1201" href="#1201">1201</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1202" href="#1202">1202</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1203" href="#1203">1203</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> param1) { +<a name="1204" href="#1204">1204</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1205" href="#1205">1205</a> forcedLog(logger, level, +<a name="1206" href="#1206">1206</a> format(pattern, toArray(valueOf(param1)))); +<a name="1207" href="#1207">1207</a> } +<a name="1208" href="#1208">1208</a> } +<a name="1209" href="#1209">1209</a> +<a name="1210" href="#1210">1210</a> +<a name="1211" href="#1211">1211</a> <em class="jxr_javadoccomment">/**</em> +<a name="1212" href="#1212">1212</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1213" href="#1213">1213</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1214" href="#1214">1214</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1215" href="#1215">1215</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1216" href="#1216">1216</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1217" href="#1217">1217</a> <em class="jxr_javadoccomment"> */</em> +<a name="1218" href="#1218">1218</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1219" href="#1219">1219</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1220" href="#1220">1220</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1221" href="#1221">1221</a> <strong class="jxr_keyword">final</strong> byte param1) { +<a name="1222" href="#1222">1222</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1223" href="#1223">1223</a> forcedLog(logger, level, +<a name="1224" href="#1224">1224</a> format(pattern, toArray(valueOf(param1)))); +<a name="1225" href="#1225">1225</a> } +<a name="1226" href="#1226">1226</a> } +<a name="1227" href="#1227">1227</a> +<a name="1228" href="#1228">1228</a> +<a name="1229" href="#1229">1229</a> <em class="jxr_javadoccomment">/**</em> +<a name="1230" href="#1230">1230</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1231" href="#1231">1231</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1232" href="#1232">1232</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1233" href="#1233">1233</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1234" href="#1234">1234</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1235" href="#1235">1235</a> <em class="jxr_javadoccomment"> */</em> +<a name="1236" href="#1236">1236</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1237" href="#1237">1237</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1238" href="#1238">1238</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1239" href="#1239">1239</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> param1) { +<a name="1240" href="#1240">1240</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1241" href="#1241">1241</a> forcedLog(logger, level, +<a name="1242" href="#1242">1242</a> format(pattern, toArray(valueOf(param1)))); +<a name="1243" href="#1243">1243</a> } +<a name="1244" href="#1244">1244</a> } +<a name="1245" href="#1245">1245</a> +<a name="1246" href="#1246">1246</a> <em class="jxr_javadoccomment">/**</em> +<a name="1247" href="#1247">1247</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1248" href="#1248">1248</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1249" href="#1249">1249</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1250" href="#1250">1250</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1251" href="#1251">1251</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1252" href="#1252">1252</a> <em class="jxr_javadoccomment"> */</em> +<a name="1253" href="#1253">1253</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1254" href="#1254">1254</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1255" href="#1255">1255</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1256" href="#1256">1256</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> param1) { +<a name="1257" href="#1257">1257</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1258" href="#1258">1258</a> forcedLog(logger, level, +<a name="1259" href="#1259">1259</a> format(pattern, toArray(valueOf(param1)))); +<a name="1260" href="#1260">1260</a> } +<a name="1261" href="#1261">1261</a> } +<a name="1262" href="#1262">1262</a> +<a name="1263" href="#1263">1263</a> <em class="jxr_javadoccomment">/**</em> +<a name="1264" href="#1264">1264</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1265" href="#1265">1265</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1266" href="#1266">1266</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1267" href="#1267">1267</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1268" href="#1268">1268</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1269" href="#1269">1269</a> <em class="jxr_javadoccomment"> */</em> +<a name="1270" href="#1270">1270</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1271" href="#1271">1271</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1272" href="#1272">1272</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1273" href="#1273">1273</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> param1) { +<a name="1274" href="#1274">1274</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1275" href="#1275">1275</a> forcedLog(logger, level, +<a name="1276" href="#1276">1276</a> format(pattern, toArray(valueOf(param1)))); +<a name="1277" href="#1277">1277</a> } +<a name="1278" href="#1278">1278</a> } +<a name="1279" href="#1279">1279</a> +<a name="1280" href="#1280">1280</a> +<a name="1281" href="#1281">1281</a> <em class="jxr_javadoccomment">/**</em> +<a name="1282" href="#1282">1282</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1283" href="#1283">1283</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1284" href="#1284">1284</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1285" href="#1285">1285</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1286" href="#1286">1286</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1287" href="#1287">1287</a> <em class="jxr_javadoccomment"> */</em> +<a name="1288" href="#1288">1288</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1289" href="#1289">1289</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1290" href="#1290">1290</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1291" href="#1291">1291</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> param1) { +<a name="1292" href="#1292">1292</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1293" href="#1293">1293</a> forcedLog(logger, level, +<a name="1294" href="#1294">1294</a> format(pattern, toArray(valueOf(param1)))); +<a name="1295" href="#1295">1295</a> } +<a name="1296" href="#1296">1296</a> } +<a name="1297" href="#1297">1297</a> +<a name="1298" href="#1298">1298</a> +<a name="1299" href="#1299">1299</a> <em class="jxr_javadoccomment">/**</em> +<a name="1300" href="#1300">1300</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1301" href="#1301">1301</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1302" href="#1302">1302</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1303" href="#1303">1303</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1304" href="#1304">1304</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1305" href="#1305">1305</a> <em class="jxr_javadoccomment"> */</em> +<a name="1306" href="#1306">1306</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1307" href="#1307">1307</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1308" href="#1308">1308</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1309" href="#1309">1309</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> param1) { +<a name="1310" href="#1310">1310</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1311" href="#1311">1311</a> forcedLog(logger, level, +<a name="1312" href="#1312">1312</a> format(pattern, toArray(valueOf(param1)))); +<a name="1313" href="#1313">1313</a> } +<a name="1314" href="#1314">1314</a> } +<a name="1315" href="#1315">1315</a> +<a name="1316" href="#1316">1316</a> +<a name="1317" href="#1317">1317</a> <em class="jxr_javadoccomment">/**</em> +<a name="1318" href="#1318">1318</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1319" href="#1319">1319</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1320" href="#1320">1320</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1321" href="#1321">1321</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1322" href="#1322">1322</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1323" href="#1323">1323</a> <em class="jxr_javadoccomment"> */</em> +<a name="1324" href="#1324">1324</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1325" href="#1325">1325</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1326" href="#1326">1326</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1327" href="#1327">1327</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> param1) { +<a name="1328" href="#1328">1328</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1329" href="#1329">1329</a> forcedLog(logger, level, +<a name="1330" href="#1330">1330</a> format(pattern, toArray(valueOf(param1)))); +<a name="1331" href="#1331">1331</a> } +<a name="1332" href="#1332">1332</a> } +<a name="1333" href="#1333">1333</a> +<a name="1334" href="#1334">1334</a> +<a name="1335" href="#1335">1335</a> <em class="jxr_javadoccomment">/**</em> +<a name="1336" href="#1336">1336</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1337" href="#1337">1337</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1338" href="#1338">1338</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1339" href="#1339">1339</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1340" href="#1340">1340</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="1341" href="#1341">1341</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="1342" href="#1342">1342</a> <em class="jxr_javadoccomment"> */</em> +<a name="1343" href="#1343">1343</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1344" href="#1344">1344</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1345" href="#1345">1345</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1346" href="#1346">1346</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) { +<a name="1347" href="#1347">1347</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1348" href="#1348">1348</a> forcedLog(logger, level, +<a name="1349" href="#1349">1349</a> format(pattern, toArray(arg0, arg1))); +<a name="1350" href="#1350">1350</a> } +<a name="1351" href="#1351">1351</a> } +<a name="1352" href="#1352">1352</a> +<a name="1353" href="#1353">1353</a> <em class="jxr_javadoccomment">/**</em> +<a name="1354" href="#1354">1354</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specifed level.</em> +<a name="1355" href="#1355">1355</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1356" href="#1356">1356</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1357" href="#1357">1357</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1358" href="#1358">1358</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="1359" href="#1359">1359</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="1360" href="#1360">1360</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="1361" href="#1361">1361</a> <em class="jxr_javadoccomment"> */</em> +<a name="1362" href="#1362">1362</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1363" href="#1363">1363</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1364" href="#1364">1364</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1365" href="#1365">1365</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) { +<a name="1366" href="#1366">1366</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1367" href="#1367">1367</a> forcedLog(logger, level, +<a name="1368" href="#1368">1368</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="1369" href="#1369">1369</a> } +<a name="1370" href="#1370">1370</a> } +<a name="1371" href="#1371">1371</a> +<a name="1372" href="#1372">1372</a> <em class="jxr_javadoccomment">/**</em> +<a name="1373" href="#1373">1373</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1374" href="#1374">1374</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1375" href="#1375">1375</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1376" href="#1376">1376</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1377" href="#1377">1377</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="1378" href="#1378">1378</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="1379" href="#1379">1379</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="1380" href="#1380">1380</a> <em class="jxr_javadoccomment"> * @param arg3 a value to be formatted and substituted.</em> +<a name="1381" href="#1381">1381</a> <em class="jxr_javadoccomment"> */</em> +<a name="1382" href="#1382">1382</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1383" href="#1383">1383</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1384" href="#1384">1384</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1385" href="#1385">1385</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2, +<a name="1386" href="#1386">1386</a> <strong class="jxr_keyword">final</strong> Object arg3) { +<a name="1387" href="#1387">1387</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1388" href="#1388">1388</a> forcedLog(logger, level, format(pattern, +<a name="1389" href="#1389">1389</a> toArray(arg0, arg1, arg2, arg3))); +<a name="1390" href="#1390">1390</a> } +<a name="1391" href="#1391">1391</a> } +<a name="1392" href="#1392">1392</a> +<a name="1393" href="#1393">1393</a> +<a name="1394" href="#1394">1394</a> <em class="jxr_javadoccomment">/**</em> +<a name="1395" href="#1395">1395</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1396" href="#1396">1396</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1397" href="#1397">1397</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1398" href="#1398">1398</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1399" href="#1399">1399</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1400" href="#1400">1400</a> <em class="jxr_javadoccomment"> * @param parameters parameters to the log message.</em> +<a name="1401" href="#1401">1401</a> <em class="jxr_javadoccomment"> */</em> +<a name="1402" href="#1402">1402</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1403" href="#1403">1403</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1404" href="#1404">1404</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1405" href="#1405">1405</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1406" href="#1406">1406</a> <strong class="jxr_keyword">final</strong> Object[] parameters) { +<a name="1407" href="#1407">1407</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1408" href="#1408">1408</a> forcedLog(logger, level, +<a name="1409" href="#1409">1409</a> format(bundleName, key, parameters)); +<a name="1410" href="#1410">1410</a> } +<a name="1411" href="#1411">1411</a> } +<a name="1412" href="#1412">1412</a> +<a name="1413" href="#1413">1413</a> <em class="jxr_javadoccomment">/**</em> +<a name="1414" href="#1414">1414</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1415" href="#1415">1415</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1416" href="#1416">1416</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1417" href="#1417">1417</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="1418" href="#1418">1418</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1419" href="#1419">1419</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1420" href="#1420">1420</a> <em class="jxr_javadoccomment"> * @param parameters parameters to the log message.</em> +<a name="1421" href="#1421">1421</a> <em class="jxr_javadoccomment"> */</em> +<a name="1422" href="#1422">1422</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1423" href="#1423">1423</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1424" href="#1424">1424</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="1425" href="#1425">1425</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1426" href="#1426">1426</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1427" href="#1427">1427</a> <strong class="jxr_keyword">final</strong> Object[] parameters) { +<a name="1428" href="#1428">1428</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1429" href="#1429">1429</a> forcedLog(logger, level, +<a name="1430" href="#1430">1430</a> format(bundleName, key, parameters), t); +<a name="1431" href="#1431">1431</a> } +<a name="1432" href="#1432">1432</a> } +<a name="1433" href="#1433">1433</a> +<a name="1434" href="#1434">1434</a> <em class="jxr_javadoccomment">/**</em> +<a name="1435" href="#1435">1435</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1436" href="#1436">1436</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1437" href="#1437">1437</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1438" href="#1438">1438</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1439" href="#1439">1439</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1440" href="#1440">1440</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1441" href="#1441">1441</a> <em class="jxr_javadoccomment"> */</em> +<a name="1442" href="#1442">1442</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1443" href="#1443">1443</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1444" href="#1444">1444</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1445" href="#1445">1445</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1446" href="#1446">1446</a> <strong class="jxr_keyword">final</strong> Object param1) { +<a name="1447" href="#1447">1447</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1448" href="#1448">1448</a> forcedLog(logger, level, +<a name="1449" href="#1449">1449</a> format(bundleName, key, toArray(param1))); +<a name="1450" href="#1450">1450</a> } +<a name="1451" href="#1451">1451</a> } +<a name="1452" href="#1452">1452</a> +<a name="1453" href="#1453">1453</a> <em class="jxr_javadoccomment">/**</em> +<a name="1454" href="#1454">1454</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1455" href="#1455">1455</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1456" href="#1456">1456</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1457" href="#1457">1457</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1458" href="#1458">1458</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1459" href="#1459">1459</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1460" href="#1460">1460</a> <em class="jxr_javadoccomment"> */</em> +<a name="1461" href="#1461">1461</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1462" href="#1462">1462</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1463" href="#1463">1463</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1464" href="#1464">1464</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1465" href="#1465">1465</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> param1) { +<a name="1466" href="#1466">1466</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1467" href="#1467">1467</a> forcedLog(logger, level, +<a name="1468" href="#1468">1468</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1469" href="#1469">1469</a> } +<a name="1470" href="#1470">1470</a> } +<a name="1471" href="#1471">1471</a> +<a name="1472" href="#1472">1472</a> <em class="jxr_javadoccomment">/**</em> +<a name="1473" href="#1473">1473</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1474" href="#1474">1474</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1475" href="#1475">1475</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1476" href="#1476">1476</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1477" href="#1477">1477</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1478" href="#1478">1478</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1479" href="#1479">1479</a> <em class="jxr_javadoccomment"> */</em> +<a name="1480" href="#1480">1480</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1481" href="#1481">1481</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1482" href="#1482">1482</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1483" href="#1483">1483</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1484" href="#1484">1484</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> param1) { +<a name="1485" href="#1485">1485</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1486" href="#1486">1486</a> forcedLog(logger, level, +<a name="1487" href="#1487">1487</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1488" href="#1488">1488</a> } +<a name="1489" href="#1489">1489</a> } +<a name="1490" href="#1490">1490</a> +<a name="1491" href="#1491">1491</a> <em class="jxr_javadoccomment">/**</em> +<a name="1492" href="#1492">1492</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1493" href="#1493">1493</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1494" href="#1494">1494</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1495" href="#1495">1495</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1496" href="#1496">1496</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1497" href="#1497">1497</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1498" href="#1498">1498</a> <em class="jxr_javadoccomment"> */</em> +<a name="1499" href="#1499">1499</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1500" href="#1500">1500</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1501" href="#1501">1501</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1502" href="#1502">1502</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1503" href="#1503">1503</a> <strong class="jxr_keyword">final</strong> byte param1) { +<a name="1504" href="#1504">1504</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1505" href="#1505">1505</a> forcedLog(logger, level, +<a name="1506" href="#1506">1506</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1507" href="#1507">1507</a> } +<a name="1508" href="#1508">1508</a> } +<a name="1509" href="#1509">1509</a> +<a name="1510" href="#1510">1510</a> <em class="jxr_javadoccomment">/**</em> +<a name="1511" href="#1511">1511</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1512" href="#1512">1512</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1513" href="#1513">1513</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1514" href="#1514">1514</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1515" href="#1515">1515</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1516" href="#1516">1516</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1517" href="#1517">1517</a> <em class="jxr_javadoccomment"> */</em> +<a name="1518" href="#1518">1518</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1519" href="#1519">1519</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1520" href="#1520">1520</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1521" href="#1521">1521</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1522" href="#1522">1522</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> param1) { +<a name="1523" href="#1523">1523</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1524" href="#1524">1524</a> forcedLog(logger, level, +<a name="1525" href="#1525">1525</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1526" href="#1526">1526</a> } +<a name="1527" href="#1527">1527</a> } +<a name="1528" href="#1528">1528</a> +<a name="1529" href="#1529">1529</a> <em class="jxr_javadoccomment">/**</em> +<a name="1530" href="#1530">1530</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1531" href="#1531">1531</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1532" href="#1532">1532</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1533" href="#1533">1533</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1534" href="#1534">1534</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1535" href="#1535">1535</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1536" href="#1536">1536</a> <em class="jxr_javadoccomment"> */</em> +<a name="1537" href="#1537">1537</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1538" href="#1538">1538</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1539" href="#1539">1539</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1540" href="#1540">1540</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1541" href="#1541">1541</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> param1) { +<a name="1542" href="#1542">1542</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1543" href="#1543">1543</a> forcedLog(logger, level, +<a name="1544" href="#1544">1544</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1545" href="#1545">1545</a> } +<a name="1546" href="#1546">1546</a> } +<a name="1547" href="#1547">1547</a> +<a name="1548" href="#1548">1548</a> <em class="jxr_javadoccomment">/**</em> +<a name="1549" href="#1549">1549</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1550" href="#1550">1550</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1551" href="#1551">1551</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1552" href="#1552">1552</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1553" href="#1553">1553</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1554" href="#1554">1554</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1555" href="#1555">1555</a> <em class="jxr_javadoccomment"> */</em> +<a name="1556" href="#1556">1556</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1557" href="#1557">1557</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1558" href="#1558">1558</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1559" href="#1559">1559</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1560" href="#1560">1560</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> param1) { +<a name="1561" href="#1561">1561</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1562" href="#1562">1562</a> forcedLog(logger, level, +<a name="1563" href="#1563">1563</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1564" href="#1564">1564</a> } +<a name="1565" href="#1565">1565</a> } +<a name="1566" href="#1566">1566</a> <em class="jxr_javadoccomment">/**</em> +<a name="1567" href="#1567">1567</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1568" href="#1568">1568</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1569" href="#1569">1569</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1570" href="#1570">1570</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1571" href="#1571">1571</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1572" href="#1572">1572</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1573" href="#1573">1573</a> <em class="jxr_javadoccomment"> */</em> +<a name="1574" href="#1574">1574</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1575" href="#1575">1575</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1576" href="#1576">1576</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1577" href="#1577">1577</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1578" href="#1578">1578</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> param1) { +<a name="1579" href="#1579">1579</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1580" href="#1580">1580</a> forcedLog(logger, level, +<a name="1581" href="#1581">1581</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1582" href="#1582">1582</a> } +<a name="1583" href="#1583">1583</a> } +<a name="1584" href="#1584">1584</a> +<a name="1585" href="#1585">1585</a> +<a name="1586" href="#1586">1586</a> <em class="jxr_javadoccomment">/**</em> +<a name="1587" href="#1587">1587</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1588" href="#1588">1588</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1589" href="#1589">1589</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1590" href="#1590">1590</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1591" href="#1591">1591</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1592" href="#1592">1592</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1593" href="#1593">1593</a> <em class="jxr_javadoccomment"> */</em> +<a name="1594" href="#1594">1594</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1595" href="#1595">1595</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1596" href="#1596">1596</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1597" href="#1597">1597</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1598" href="#1598">1598</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> param1) { +<a name="1599" href="#1599">1599</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1600" href="#1600">1600</a> forcedLog(logger, level, +<a name="1601" href="#1601">1601</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1602" href="#1602">1602</a> } +<a name="1603" href="#1603">1603</a> } +<a name="1604" href="#1604">1604</a> +<a name="1605" href="#1605">1605</a> <em class="jxr_javadoccomment">/**</em> +<a name="1606" href="#1606">1606</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1607" href="#1607">1607</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1608" href="#1608">1608</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1609" href="#1609">1609</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1610" href="#1610">1610</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1611" href="#1611">1611</a> <em class="jxr_javadoccomment"> * @param param0 Parameter to the log message.</em> +<a name="1612" href="#1612">1612</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1613" href="#1613">1613</a> <em class="jxr_javadoccomment"> */</em> +<a name="1614" href="#1614">1614</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1615" href="#1615">1615</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1616" href="#1616">1616</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1617" href="#1617">1617</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1618" href="#1618">1618</a> <strong class="jxr_keyword">final</strong> Object param0, +<a name="1619" href="#1619">1619</a> <strong class="jxr_keyword">final</strong> Object param1) { +<a name="1620" href="#1620">1620</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1621" href="#1621">1621</a> forcedLog(logger, level, +<a name="1622" href="#1622">1622</a> format(bundleName, key, toArray(param0, param1))); +<a name="1623" href="#1623">1623</a> } +<a name="1624" href="#1624">1624</a> } +<a name="1625" href="#1625">1625</a> +<a name="1626" href="#1626">1626</a> +<a name="1627" href="#1627">1627</a> <em class="jxr_javadoccomment">/**</em> +<a name="1628" href="#1628">1628</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1629" href="#1629">1629</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1630" href="#1630">1630</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1631" href="#1631">1631</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1632" href="#1632">1632</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1633" href="#1633">1633</a> <em class="jxr_javadoccomment"> * @param param0 Parameter to the log message.</em> +<a name="1634" href="#1634">1634</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1635" href="#1635">1635</a> <em class="jxr_javadoccomment"> * @param param2 Parameter to the log message.</em> +<a name="1636" href="#1636">1636</a> <em class="jxr_javadoccomment"> */</em> +<a name="1637" href="#1637">1637</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1638" href="#1638">1638</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1639" href="#1639">1639</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1640" href="#1640">1640</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1641" href="#1641">1641</a> <strong class="jxr_keyword">final</strong> Object param0, +<a name="1642" href="#1642">1642</a> <strong class="jxr_keyword">final</strong> Object param1, +<a name="1643" href="#1643">1643</a> <strong class="jxr_keyword">final</strong> Object param2) { +<a name="1644" href="#1644">1644</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1645" href="#1645">1645</a> forcedLog(logger, level, +<a name="1646" href="#1646">1646</a> format(bundleName, key, toArray(param0, param1, param2))); +<a name="1647" href="#1647">1647</a> } +<a name="1648" href="#1648">1648</a> } +<a name="1649" href="#1649">1649</a> +<a name="1650" href="#1650">1650</a> +<a name="1651" href="#1651">1651</a> <em class="jxr_javadoccomment">/**</em> +<a name="1652" href="#1652">1652</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1653" href="#1653">1653</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1654" href="#1654">1654</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1655" href="#1655">1655</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1656" href="#1656">1656</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1657" href="#1657">1657</a> <em class="jxr_javadoccomment"> * @param param0 Parameter to the log message.</em> +<a name="1658" href="#1658">1658</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1659" href="#1659">1659</a> <em class="jxr_javadoccomment"> * @param param2 Parameter to the log message.</em> +<a name="1660" href="#1660">1660</a> <em class="jxr_javadoccomment"> * @param param3 Parameter to the log message.</em> +<a name="1661" href="#1661">1661</a> <em class="jxr_javadoccomment"> */</em> +<a name="1662" href="#1662">1662</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1663" href="#1663">1663</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1664" href="#1664">1664</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1665" href="#1665">1665</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1666" href="#1666">1666</a> <strong class="jxr_keyword">final</strong> Object param0, +<a name="1667" href="#1667">1667</a> <strong class="jxr_keyword">final</strong> Object param1, +<a name="1668" href="#1668">1668</a> <strong class="jxr_keyword">final</strong> Object param2, +<a name="1669" href="#1669">1669</a> <strong class="jxr_keyword">final</strong> Object param3) { +<a name="1670" href="#1670">1670</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1671" href="#1671">1671</a> forcedLog(logger, level, +<a name="1672" href="#1672">1672</a> format(bundleName, key, +<a name="1673" href="#1673">1673</a> toArray(param0, param1, param2, param3))); +<a name="1674" href="#1674">1674</a> } +<a name="1675" href="#1675">1675</a> } +<a name="1676" href="#1676">1676</a> +<a name="1677" href="#1677">1677</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogManager.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogManager.html new file mode 100644 index 00000000000..5cf3ee1d105 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogManager.html @@ -0,0 +1,290 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogManager xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/LogManager.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerFactory; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.RepositorySelector; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.DefaultRepositorySelector; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.RootLogger; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.NOPLoggerRepository; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.Loader; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> java.net.MalformedURLException; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> java.io.StringWriter; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> java.io.PrintWriter; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Use the &lt;code&gt;LogManager&lt;/code&gt; class to retreive {@link Logger}</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * instances or to operate on the current {@link</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * LoggerRepository}. When the &lt;code&gt;LogManager&lt;/code&gt; class is loaded</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * into memory the default initalzation procedure is inititated. The</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * default intialization procedure&lt;/a&gt; is described in the &lt;a</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * href="../../../../manual.html#defaultInit"&gt;short log4j manual&lt;/a&gt;.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> *</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml; */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LogManager.html">LogManager</a> { +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * @deprecated This variable is for internal use only. It will</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * become package protected in future versions.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> String DEFAULT_CONFIGURATION_FILE = <span class="jxr_string">"log4j.properties"</span>; +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DEFAULT_XML_CONFIGURATION_FILE = <span class="jxr_string">"log4j.xml"</span>; +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * @deprecated This variable is for internal use only. It will</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * become private in future versions.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">public</strong> String DEFAULT_CONFIGURATION_KEY=<span class="jxr_string">"log4j.configuration"</span>; +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment">/**</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * @deprecated This variable is for internal use only. It will</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * become private in future versions.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">public</strong> String CONFIGURATOR_CLASS_KEY=<span class="jxr_string">"log4j.configuratorClass"</span>; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * @deprecated This variable is for internal use only. It will</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * become private in future versions.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> */</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DEFAULT_INIT_OVERRIDE_KEY = +<a name="74" href="#74">74</a> <span class="jxr_string">"log4j.defaultInitOverride"</span>; +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">private</strong> Object guard = <strong class="jxr_keyword">null</strong>; +<a name="78" href="#78">78</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/spi/RepositorySelector.html">RepositorySelector</a> repositorySelector; +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">static</strong> { +<a name="81" href="#81">81</a> <em class="jxr_comment">// By default we use a DefaultRepositorySelector which always returns 'h'.</em> +<a name="82" href="#82">82</a> <a href="../../../org/apache/log4j/Hierarchy.html">Hierarchy</a> h = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Hierarchy.html">Hierarchy</a>(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/RootLogger.html">RootLogger</a>((Level) Level.DEBUG)); +<a name="83" href="#83">83</a> repositorySelector = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/DefaultRepositorySelector.html">DefaultRepositorySelector</a>(h); +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Search for the properties file log4j.properties in the CLASSPATH. */</em> +<a name="86" href="#86">86</a> String override =OptionConverter.getSystemProperty(DEFAULT_INIT_OVERRIDE_KEY, +<a name="87" href="#87">87</a> <strong class="jxr_keyword">null</strong>); +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_comment">// if there is no default init override, then get the resource</em> +<a name="90" href="#90">90</a> <em class="jxr_comment">// specified by the user or the default config file.</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">if</strong>(override == <strong class="jxr_keyword">null</strong> || <span class="jxr_string">"false"</span>.equalsIgnoreCase(override)) { +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> String configurationOptionStr = OptionConverter.getSystemProperty( +<a name="94" href="#94">94</a> DEFAULT_CONFIGURATION_KEY, +<a name="95" href="#95">95</a> <strong class="jxr_keyword">null</strong>); +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> String configuratorClassName = OptionConverter.getSystemProperty( +<a name="98" href="#98">98</a> CONFIGURATOR_CLASS_KEY, +<a name="99" href="#99">99</a> <strong class="jxr_keyword">null</strong>); +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> URL url = <strong class="jxr_keyword">null</strong>; +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <em class="jxr_comment">// if the user has not specified the log4j.configuration</em> +<a name="104" href="#104">104</a> <em class="jxr_comment">// property, we search first for the file "log4j.xml" and then</em> +<a name="105" href="#105">105</a> <em class="jxr_comment">// "log4j.properties"</em> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">if</strong>(configurationOptionStr == <strong class="jxr_keyword">null</strong>) { +<a name="107" href="#107">107</a> url = Loader.getResource(DEFAULT_XML_CONFIGURATION_FILE); +<a name="108" href="#108">108</a> <strong class="jxr_keyword">if</strong>(url == <strong class="jxr_keyword">null</strong>) { +<a name="109" href="#109">109</a> url = Loader.getResource(DEFAULT_CONFIGURATION_FILE); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> } <strong class="jxr_keyword">else</strong> { +<a name="112" href="#112">112</a> <strong class="jxr_keyword">try</strong> { +<a name="113" href="#113">113</a> url = <strong class="jxr_keyword">new</strong> URL(configurationOptionStr); +<a name="114" href="#114">114</a> } <strong class="jxr_keyword">catch</strong> (MalformedURLException ex) { +<a name="115" href="#115">115</a> <em class="jxr_comment">// so, resource is not a URL:</em> +<a name="116" href="#116">116</a> <em class="jxr_comment">// attempt to get the resource from the class path</em> +<a name="117" href="#117">117</a> url = Loader.getResource(configurationOptionStr); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_comment">// If we have a non-null url, then delegate the rest of the</em> +<a name="122" href="#122">122</a> <em class="jxr_comment">// configuration to the OptionConverter.selectAndConfigure</em> +<a name="123" href="#123">123</a> <em class="jxr_comment">// method.</em> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">if</strong>(url != <strong class="jxr_keyword">null</strong>) { +<a name="125" href="#125">125</a> LogLog.debug(<span class="jxr_string">"Using URL ["</span>+url+<span class="jxr_string">"] for automatic log4j configuration."</span>); +<a name="126" href="#126">126</a> <strong class="jxr_keyword">try</strong> { +<a name="127" href="#127">127</a> OptionConverter.selectAndConfigure(url, configuratorClassName, +<a name="128" href="#128">128</a> LogManager.getLoggerRepository()); +<a name="129" href="#129">129</a> } <strong class="jxr_keyword">catch</strong> (NoClassDefFoundError e) { +<a name="130" href="#130">130</a> LogLog.warn(<span class="jxr_string">"Error during default initialization"</span>, e); +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> } <strong class="jxr_keyword">else</strong> { +<a name="133" href="#133">133</a> LogLog.debug(<span class="jxr_string">"Could not find resource: ["</span>+configurationOptionStr+<span class="jxr_string">"]."</span>); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> } <strong class="jxr_keyword">else</strong> { +<a name="136" href="#136">136</a> LogLog.debug(<span class="jxr_string">"Default initialization of overridden by "</span> + +<a name="137" href="#137">137</a> DEFAULT_INIT_OVERRIDE_KEY + <span class="jxr_string">"property."</span>); +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">/**</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> Sets &lt;code&gt;LoggerFactory&lt;/code&gt; but only if the correct</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> &lt;em&gt;guard&lt;/em&gt; is passed as parameter.</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> </em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> &lt;p&gt;Initally the guard is null. If the guard is</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> &lt;code&gt;null&lt;/code&gt;, then invoking this method sets the logger</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> factory and the guard. Following invocations will throw a {@link</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> IllegalArgumentException}, unless the previously set</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> &lt;code&gt;guard&lt;/code&gt; is passed as the second parameter.</em> +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> &lt;p&gt;This allows a high-level component to set the {@link</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> RepositorySelector} used by the &lt;code&gt;LogManager&lt;/code&gt;.</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> </em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, when tomcat starts it will be able to install its</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> own repository selector. However, if and when Tomcat is embedded</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> within JBoss, then JBoss will install its own repository selector</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> and Tomcat will use the repository selector set by its container,</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> JBoss. */</em> +<a name="159" href="#159">159</a> <strong class="jxr_keyword">static</strong> +<a name="160" href="#160">160</a> <strong class="jxr_keyword">public</strong> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">void</strong> setRepositorySelector(<a href="../../../org/apache/log4j/spi/RepositorySelector.html">RepositorySelector</a> selector, Object guard) +<a name="162" href="#162">162</a> <strong class="jxr_keyword">throws</strong> IllegalArgumentException { +<a name="163" href="#163">163</a> <strong class="jxr_keyword">if</strong>((LogManager.guard != <strong class="jxr_keyword">null</strong>) &amp;&amp; (LogManager.guard != guard)) { +<a name="164" href="#164">164</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException( +<a name="165" href="#165">165</a> <span class="jxr_string">"Attempted to reset the LoggerFactory without possessing the guard."</span>); +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">if</strong>(selector == <strong class="jxr_keyword">null</strong>) { +<a name="169" href="#169">169</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"RepositorySelector must be non-null."</span>); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> LogManager.guard = guard; +<a name="173" href="#173">173</a> LogManager.repositorySelector = selector; +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">/**</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> * This method tests if called from a method that</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * is known to result in class members being abnormally</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * set to null but is assumed to be harmless since the</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> * all classes are in the process of being unloaded.</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> *</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> * @param ex exception used to determine calling stack.</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> * @return true if calling stack is recognized as likely safe.</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> */</em> +<a name="186" href="#186">186</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> isLikelySafeScenario(<strong class="jxr_keyword">final</strong> Exception ex) { +<a name="187" href="#187">187</a> StringWriter stringWriter = <strong class="jxr_keyword">new</strong> StringWriter(); +<a name="188" href="#188">188</a> ex.printStackTrace(<strong class="jxr_keyword">new</strong> PrintWriter(stringWriter)); +<a name="189" href="#189">189</a> String msg = stringWriter.toString(); +<a name="190" href="#190">190</a> <strong class="jxr_keyword">return</strong> msg.indexOf(<span class="jxr_string">"org.apache.catalina.loader.WebappClassLoader.stop"</span>) != -1; +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">static</strong> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">public</strong> +<a name="195" href="#195">195</a> <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> getLoggerRepository() { +<a name="196" href="#196">196</a> <strong class="jxr_keyword">if</strong> (repositorySelector == <strong class="jxr_keyword">null</strong>) { +<a name="197" href="#197">197</a> repositorySelector = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/DefaultRepositorySelector.html">DefaultRepositorySelector</a>(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/NOPLoggerRepository.html">NOPLoggerRepository</a>()); +<a name="198" href="#198">198</a> guard = <strong class="jxr_keyword">null</strong>; +<a name="199" href="#199">199</a> Exception ex = <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"Class invariant violation"</span>); +<a name="200" href="#200">200</a> String msg = +<a name="201" href="#201">201</a> <span class="jxr_string">"log4j called after unloading, see http://logging.apache.org/log4j/1.2/faq.html#unload."</span>; +<a name="202" href="#202">202</a> <strong class="jxr_keyword">if</strong> (isLikelySafeScenario(ex)) { +<a name="203" href="#203">203</a> LogLog.debug(msg, ex); +<a name="204" href="#204">204</a> } <strong class="jxr_keyword">else</strong> { +<a name="205" href="#205">205</a> LogLog.error(msg, ex); +<a name="206" href="#206">206</a> } +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> <strong class="jxr_keyword">return</strong> repositorySelector.getLoggerRepository(); +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment">/**</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> Retrieve the appropriate root logger.</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> */</em> +<a name="214" href="#214">214</a> <strong class="jxr_keyword">public</strong> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">static</strong> +<a name="216" href="#216">216</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getRootLogger() { +<a name="217" href="#217">217</a> <em class="jxr_comment">// Delegate the actual manufacturing of the logger to the logger repository.</em> +<a name="218" href="#218">218</a> <strong class="jxr_keyword">return</strong> getLoggerRepository().getRootLogger(); +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">/**</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> Retrieve the appropriate {@link Logger} instance. </em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> */</em> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">public</strong> +<a name="225" href="#225">225</a> <strong class="jxr_keyword">static</strong> +<a name="226" href="#226">226</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getLogger(<strong class="jxr_keyword">final</strong> String name) { +<a name="227" href="#227">227</a> <em class="jxr_comment">// Delegate the actual manufacturing of the logger to the logger repository.</em> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">return</strong> getLoggerRepository().getLogger(name); +<a name="229" href="#229">229</a> } +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment">/**</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> Retrieve the appropriate {@link Logger} instance. </em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> */</em> +<a name="234" href="#234">234</a> <strong class="jxr_keyword">public</strong> +<a name="235" href="#235">235</a> <strong class="jxr_keyword">static</strong> +<a name="236" href="#236">236</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getLogger(<strong class="jxr_keyword">final</strong> Class clazz) { +<a name="237" href="#237">237</a> <em class="jxr_comment">// Delegate the actual manufacturing of the logger to the logger repository.</em> +<a name="238" href="#238">238</a> <strong class="jxr_keyword">return</strong> getLoggerRepository().getLogger(clazz.getName()); +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment">/**</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> Retrieve the appropriate {@link Logger} instance. </em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> */</em> +<a name="245" href="#245">245</a> <strong class="jxr_keyword">public</strong> +<a name="246" href="#246">246</a> <strong class="jxr_keyword">static</strong> +<a name="247" href="#247">247</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getLogger(<strong class="jxr_keyword">final</strong> String name, <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> factory) { +<a name="248" href="#248">248</a> <em class="jxr_comment">// Delegate the actual manufacturing of the logger to the logger repository.</em> +<a name="249" href="#249">249</a> <strong class="jxr_keyword">return</strong> getLoggerRepository().getLogger(name, factory); +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <strong class="jxr_keyword">public</strong> +<a name="253" href="#253">253</a> <strong class="jxr_keyword">static</strong> +<a name="254" href="#254">254</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> exists(<strong class="jxr_keyword">final</strong> String name) { +<a name="255" href="#255">255</a> <strong class="jxr_keyword">return</strong> getLoggerRepository().exists(name); +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> +<a name="258" href="#258">258</a> <strong class="jxr_keyword">public</strong> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">static</strong> +<a name="260" href="#260">260</a> Enumeration getCurrentLoggers() { +<a name="261" href="#261">261</a> <strong class="jxr_keyword">return</strong> getLoggerRepository().getCurrentLoggers(); +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">public</strong> +<a name="265" href="#265">265</a> <strong class="jxr_keyword">static</strong> +<a name="266" href="#266">266</a> <strong class="jxr_keyword">void</strong> shutdown() { +<a name="267" href="#267">267</a> getLoggerRepository().shutdown(); +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> <strong class="jxr_keyword">public</strong> +<a name="271" href="#271">271</a> <strong class="jxr_keyword">static</strong> +<a name="272" href="#272">272</a> <strong class="jxr_keyword">void</strong> resetConfiguration() { +<a name="273" href="#273">273</a> getLoggerRepository().resetConfiguration(); +<a name="274" href="#274">274</a> } +<a name="275" href="#275">275</a> } +<a name="276" href="#276">276</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogSF.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogSF.html new file mode 100644 index 00000000000..3503ce4e33e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogSF.html @@ -0,0 +1,1555 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogSF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/LogSF.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.ResourceBundle; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * This class provides parameterized logging services</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * using the SLF4J pattern syntax.</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * Message formatting is only performed when the </em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * request exceeds the threshold level of the logger.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> *</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LogSF.html">LogSF</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/LogXF.html">LogXF</a> { +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * private constructor.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> *</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/LogSF.html">LogSF</a>() { +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * Formats arguments using SLF4J-like formatter.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be malformed.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * @param arguments arguments.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * @return Message string</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> */</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String format(<strong class="jxr_keyword">final</strong> String pattern, +<a name="52" href="#52">52</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">if</strong> (pattern != <strong class="jxr_keyword">null</strong>) { +<a name="54" href="#54">54</a> String retval = <span class="jxr_string">""</span>; +<a name="55" href="#55">55</a> <strong class="jxr_keyword">int</strong> count = 0; +<a name="56" href="#56">56</a> <strong class="jxr_keyword">int</strong> prev = 0; +<a name="57" href="#57">57</a> <strong class="jxr_keyword">int</strong> pos = pattern.indexOf(<span class="jxr_string">"{"</span>); +<a name="58" href="#58">58</a> <strong class="jxr_keyword">while</strong>(pos &gt;= 0) { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">if</strong> (pos == 0 || pattern.charAt(pos-1) != '&#92;&#92;') { +<a name="60" href="#60">60</a> retval += pattern.substring(prev, pos); +<a name="61" href="#61">61</a> <strong class="jxr_keyword">if</strong> (pos + 1 &lt; pattern.length() &amp;&amp; pattern.charAt(pos+1) == '}') { +<a name="62" href="#62">62</a> <strong class="jxr_keyword">if</strong>(arguments != <strong class="jxr_keyword">null</strong> &amp;&amp; count &lt; arguments.length) { +<a name="63" href="#63">63</a> retval += arguments[count++]; +<a name="64" href="#64">64</a> } <strong class="jxr_keyword">else</strong> { +<a name="65" href="#65">65</a> retval += <span class="jxr_string">"{}"</span>; +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> prev = pos + 2; +<a name="68" href="#68">68</a> } <strong class="jxr_keyword">else</strong> { +<a name="69" href="#69">69</a> retval += <span class="jxr_string">"{"</span>; +<a name="70" href="#70">70</a> prev = pos + 1; +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> } <strong class="jxr_keyword">else</strong> { +<a name="73" href="#73">73</a> retval += pattern.substring(prev, pos - 1) + <span class="jxr_string">"{"</span>; +<a name="74" href="#74">74</a> prev = pos + 1; +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> pos = pattern.indexOf(<span class="jxr_string">"{"</span>, prev); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> <strong class="jxr_keyword">return</strong> retval + pattern.substring(prev); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment">/**</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * Formats arguments using MessageFormat.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be malformed.</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * @param arg0 argument, may be null or mismatched.</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * @return Message string</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> */</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String format(<strong class="jxr_keyword">final</strong> String pattern, <strong class="jxr_keyword">final</strong> Object arg0) { +<a name="90" href="#90">90</a> <strong class="jxr_keyword">if</strong> (pattern != <strong class="jxr_keyword">null</strong>) { +<a name="91" href="#91">91</a> <em class="jxr_comment">//</em> +<a name="92" href="#92">92</a> <em class="jxr_comment">// if there is an escaped brace, delegate to multi-param formatter</em> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">if</strong> (pattern.indexOf(<span class="jxr_string">"&#92;&#92;{"</span>) &gt;= 0) { +<a name="94" href="#94">94</a> <strong class="jxr_keyword">return</strong> format(pattern, <strong class="jxr_keyword">new</strong> Object[] { arg0 }); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> <strong class="jxr_keyword">int</strong> pos = pattern.indexOf(<span class="jxr_string">"{}"</span>); +<a name="97" href="#97">97</a> <strong class="jxr_keyword">if</strong> (pos &gt;= 0) { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">return</strong> pattern.substring(0, pos) + arg0 + pattern.substring(pos+2); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> <strong class="jxr_keyword">return</strong> pattern; +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">/**</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> * Formats arguments using MessageFormat using a pattern from</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * a resource bundle.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * @param resourceBundleName name of resource bundle, may be null.</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * @param key key for pattern in resource bundle, may be null.</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> * @param arguments arguments, may be null or mismatched.</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> * @return Message string or null</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String format( +<a name="113" href="#113">113</a> <strong class="jxr_keyword">final</strong> String resourceBundleName, +<a name="114" href="#114">114</a> <strong class="jxr_keyword">final</strong> String key, +<a name="115" href="#115">115</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="116" href="#116">116</a> String pattern; +<a name="117" href="#117">117</a> <strong class="jxr_keyword">if</strong> (resourceBundleName != <strong class="jxr_keyword">null</strong>) { +<a name="118" href="#118">118</a> <strong class="jxr_keyword">try</strong> { +<a name="119" href="#119">119</a> ResourceBundle bundle = +<a name="120" href="#120">120</a> ResourceBundle.getBundle(resourceBundleName); +<a name="121" href="#121">121</a> pattern = bundle.getString(key); +<a name="122" href="#122">122</a> } <strong class="jxr_keyword">catch</strong> (Exception ex) { +<a name="123" href="#123">123</a> pattern = key; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> } <strong class="jxr_keyword">else</strong> { +<a name="126" href="#126">126</a> pattern = key; +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> <strong class="jxr_keyword">return</strong> format(pattern, arguments); +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">/**</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> * Fully Qualified Class Name of this class.</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> */</em> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FQCN = LogSF.<strong class="jxr_keyword">class</strong>.getName(); +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">/**</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> * Equivalent of Logger.forcedLog.</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> *</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> * @param msg message, may be null.</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> */</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> forcedLog(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="145" href="#145">145</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="146" href="#146">146</a> <strong class="jxr_keyword">final</strong> String msg) { +<a name="147" href="#147">147</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, level, msg, <strong class="jxr_keyword">null</strong>)); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">/**</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> * Equivalent of Logger.forcedLog.</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> *</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> * @param msg message, may be null.</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> * @param t throwable.</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> */</em> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> forcedLog(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="159" href="#159">159</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="160" href="#160">160</a> <strong class="jxr_keyword">final</strong> String msg, +<a name="161" href="#161">161</a> <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="162" href="#162">162</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, level, msg, t)); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">/**</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be</em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> * formatted and substituted.</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> */</em> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="172" href="#172">172</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="173" href="#173">173</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="174" href="#174">174</a> forcedLog(logger, TRACE, format(pattern, arguments)); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">/**</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> */</em> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="185" href="#185">185</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="186" href="#186">186</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="187" href="#187">187</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments)); +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">/**</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> */</em> +<a name="197" href="#197">197</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="198" href="#198">198</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="199" href="#199">199</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="200" href="#200">200</a> forcedLog(logger, Level.INFO, format(pattern, arguments)); +<a name="201" href="#201">201</a> } +<a name="202" href="#202">202</a> } +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">/**</em> +<a name="205" href="#205">205</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> */</em> +<a name="210" href="#210">210</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="211" href="#211">211</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="212" href="#212">212</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="213" href="#213">213</a> forcedLog(logger, Level.WARN, format(pattern, arguments)); +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> } +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment">/**</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> * Log a parameterized message at error level.</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> */</em> +<a name="223" href="#223">223</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> error(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="224" href="#224">224</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="225" href="#225">225</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.ERROR)) { +<a name="226" href="#226">226</a> forcedLog(logger, Level.ERROR, format(pattern, arguments)); +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">/**</em> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> * Log a parameterized message at fatal level.</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> */</em> +<a name="236" href="#236">236</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> fatal(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="237" href="#237">237</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="238" href="#238">238</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.FATAL)) { +<a name="239" href="#239">239</a> forcedLog(logger, Level.FATAL, format(pattern, arguments)); +<a name="240" href="#240">240</a> } +<a name="241" href="#241">241</a> } +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment">/**</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> * formatted and substituted.</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> */</em> +<a name="251" href="#251">251</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="252" href="#252">252</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="253" href="#253">253</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="254" href="#254">254</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="255" href="#255">255</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="256" href="#256">256</a> forcedLog(logger, TRACE, format(pattern, arguments), t); +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> } +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment">/**</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> */</em> +<a name="267" href="#267">267</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="268" href="#268">268</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="269" href="#269">269</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="270" href="#270">270</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="271" href="#271">271</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="272" href="#272">272</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments), t); +<a name="273" href="#273">273</a> } +<a name="274" href="#274">274</a> } +<a name="275" href="#275">275</a> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment">/**</em> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="279" href="#279">279</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="280" href="#280">280</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="281" href="#281">281</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment"> */</em> +<a name="283" href="#283">283</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="284" href="#284">284</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="285" href="#285">285</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="286" href="#286">286</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="287" href="#287">287</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="288" href="#288">288</a> forcedLog(logger, Level.INFO, format(pattern, arguments), t); +<a name="289" href="#289">289</a> } +<a name="290" href="#290">290</a> } +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment">/**</em> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment"> */</em> +<a name="299" href="#299">299</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="300" href="#300">300</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="301" href="#301">301</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="302" href="#302">302</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="303" href="#303">303</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="304" href="#304">304</a> forcedLog(logger, Level.WARN, format(pattern, arguments), t); +<a name="305" href="#305">305</a> } +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">/**</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> * Log a parameterized message at error level.</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment"> */</em> +<a name="315" href="#315">315</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> error(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="316" href="#316">316</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="317" href="#317">317</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="318" href="#318">318</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="319" href="#319">319</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.ERROR)) { +<a name="320" href="#320">320</a> forcedLog(logger, Level.ERROR, format(pattern, arguments), t); +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> } +<a name="323" href="#323">323</a> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment">/**</em> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> * Log a parameterized message at fatal level.</em> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> */</em> +<a name="331" href="#331">331</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> fatal(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="332" href="#332">332</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="333" href="#333">333</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="334" href="#334">334</a> <strong class="jxr_keyword">final</strong> Object[] arguments) { +<a name="335" href="#335">335</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.FATAL)) { +<a name="336" href="#336">336</a> forcedLog(logger, Level.FATAL, format(pattern, arguments), t); +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> } +<a name="339" href="#339">339</a> +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment">/**</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="345" href="#345">345</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="346" href="#346">346</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="347" href="#347">347</a> <em class="jxr_javadoccomment"> */</em> +<a name="348" href="#348">348</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="349" href="#349">349</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) { +<a name="350" href="#350">350</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="351" href="#351">351</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="352" href="#352">352</a> } +<a name="353" href="#353">353</a> } +<a name="354" href="#354">354</a> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment">/**</em> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> */</em> +<a name="361" href="#361">361</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="362" href="#362">362</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) { +<a name="363" href="#363">363</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="364" href="#364">364</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="365" href="#365">365</a> } +<a name="366" href="#366">366</a> } +<a name="367" href="#367">367</a> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">/**</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="372" href="#372">372</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment"> */</em> +<a name="374" href="#374">374</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="375" href="#375">375</a> <strong class="jxr_keyword">final</strong> byte argument) { +<a name="376" href="#376">376</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="377" href="#377">377</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="378" href="#378">378</a> } +<a name="379" href="#379">379</a> } +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <em class="jxr_javadoccomment">/**</em> +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> */</em> +<a name="387" href="#387">387</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="388" href="#388">388</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) { +<a name="389" href="#389">389</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="390" href="#390">390</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="391" href="#391">391</a> } +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> <em class="jxr_javadoccomment">/**</em> +<a name="395" href="#395">395</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="396" href="#396">396</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="397" href="#397">397</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="398" href="#398">398</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="399" href="#399">399</a> <em class="jxr_javadoccomment"> */</em> +<a name="400" href="#400">400</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="401" href="#401">401</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) { +<a name="402" href="#402">402</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="403" href="#403">403</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="404" href="#404">404</a> } +<a name="405" href="#405">405</a> } +<a name="406" href="#406">406</a> +<a name="407" href="#407">407</a> <em class="jxr_javadoccomment">/**</em> +<a name="408" href="#408">408</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="409" href="#409">409</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="410" href="#410">410</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="411" href="#411">411</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="412" href="#412">412</a> <em class="jxr_javadoccomment"> */</em> +<a name="413" href="#413">413</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="414" href="#414">414</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) { +<a name="415" href="#415">415</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="416" href="#416">416</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="417" href="#417">417</a> } +<a name="418" href="#418">418</a> } +<a name="419" href="#419">419</a> +<a name="420" href="#420">420</a> <em class="jxr_javadoccomment">/**</em> +<a name="421" href="#421">421</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="422" href="#422">422</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="423" href="#423">423</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="424" href="#424">424</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="425" href="#425">425</a> <em class="jxr_javadoccomment"> */</em> +<a name="426" href="#426">426</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="427" href="#427">427</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) { +<a name="428" href="#428">428</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="429" href="#429">429</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="430" href="#430">430</a> } +<a name="431" href="#431">431</a> } +<a name="432" href="#432">432</a> +<a name="433" href="#433">433</a> <em class="jxr_javadoccomment">/**</em> +<a name="434" href="#434">434</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="435" href="#435">435</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="436" href="#436">436</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="437" href="#437">437</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="438" href="#438">438</a> <em class="jxr_javadoccomment"> */</em> +<a name="439" href="#439">439</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="440" href="#440">440</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) { +<a name="441" href="#441">441</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="442" href="#442">442</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="443" href="#443">443</a> } +<a name="444" href="#444">444</a> } +<a name="445" href="#445">445</a> +<a name="446" href="#446">446</a> <em class="jxr_javadoccomment">/**</em> +<a name="447" href="#447">447</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="448" href="#448">448</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="449" href="#449">449</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="450" href="#450">450</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="451" href="#451">451</a> <em class="jxr_javadoccomment"> */</em> +<a name="452" href="#452">452</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="453" href="#453">453</a> <strong class="jxr_keyword">final</strong> Object argument) { +<a name="454" href="#454">454</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="455" href="#455">455</a> forcedLog(logger, TRACE, format(pattern, argument)); +<a name="456" href="#456">456</a> } +<a name="457" href="#457">457</a> } +<a name="458" href="#458">458</a> +<a name="459" href="#459">459</a> <em class="jxr_javadoccomment">/**</em> +<a name="460" href="#460">460</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="461" href="#461">461</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="462" href="#462">462</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="463" href="#463">463</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="464" href="#464">464</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="465" href="#465">465</a> <em class="jxr_javadoccomment"> */</em> +<a name="466" href="#466">466</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="467" href="#467">467</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) { +<a name="468" href="#468">468</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="469" href="#469">469</a> forcedLog(logger, TRACE, +<a name="470" href="#470">470</a> format(pattern, toArray(arg0, arg1))); +<a name="471" href="#471">471</a> } +<a name="472" href="#472">472</a> } +<a name="473" href="#473">473</a> +<a name="474" href="#474">474</a> <em class="jxr_javadoccomment">/**</em> +<a name="475" href="#475">475</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="476" href="#476">476</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="477" href="#477">477</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="478" href="#478">478</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="479" href="#479">479</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="480" href="#480">480</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="481" href="#481">481</a> <em class="jxr_javadoccomment"> */</em> +<a name="482" href="#482">482</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="483" href="#483">483</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) { +<a name="484" href="#484">484</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="485" href="#485">485</a> forcedLog(logger, TRACE, +<a name="486" href="#486">486</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="487" href="#487">487</a> } +<a name="488" href="#488">488</a> } +<a name="489" href="#489">489</a> +<a name="490" href="#490">490</a> <em class="jxr_javadoccomment">/**</em> +<a name="491" href="#491">491</a> <em class="jxr_javadoccomment"> * Log a parameterized message at trace level.</em> +<a name="492" href="#492">492</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="493" href="#493">493</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="494" href="#494">494</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="495" href="#495">495</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="496" href="#496">496</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="497" href="#497">497</a> <em class="jxr_javadoccomment"> * @param arg3 a value to be formatted and substituted.</em> +<a name="498" href="#498">498</a> <em class="jxr_javadoccomment"> */</em> +<a name="499" href="#499">499</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> trace(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="500" href="#500">500</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2, +<a name="501" href="#501">501</a> <strong class="jxr_keyword">final</strong> Object arg3) { +<a name="502" href="#502">502</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(TRACE)) { +<a name="503" href="#503">503</a> forcedLog(logger, TRACE, +<a name="504" href="#504">504</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); +<a name="505" href="#505">505</a> } +<a name="506" href="#506">506</a> } +<a name="507" href="#507">507</a> +<a name="508" href="#508">508</a> <em class="jxr_javadoccomment">/**</em> +<a name="509" href="#509">509</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="510" href="#510">510</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="511" href="#511">511</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="512" href="#512">512</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="513" href="#513">513</a> <em class="jxr_javadoccomment"> */</em> +<a name="514" href="#514">514</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="515" href="#515">515</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) { +<a name="516" href="#516">516</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="517" href="#517">517</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="518" href="#518">518</a> } +<a name="519" href="#519">519</a> } +<a name="520" href="#520">520</a> +<a name="521" href="#521">521</a> <em class="jxr_javadoccomment">/**</em> +<a name="522" href="#522">522</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="523" href="#523">523</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="524" href="#524">524</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="525" href="#525">525</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="526" href="#526">526</a> <em class="jxr_javadoccomment"> */</em> +<a name="527" href="#527">527</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="528" href="#528">528</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) { +<a name="529" href="#529">529</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="530" href="#530">530</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="531" href="#531">531</a> } +<a name="532" href="#532">532</a> } +<a name="533" href="#533">533</a> +<a name="534" href="#534">534</a> <em class="jxr_javadoccomment">/**</em> +<a name="535" href="#535">535</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="536" href="#536">536</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="537" href="#537">537</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="538" href="#538">538</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="539" href="#539">539</a> <em class="jxr_javadoccomment"> */</em> +<a name="540" href="#540">540</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="541" href="#541">541</a> <strong class="jxr_keyword">final</strong> byte argument) { +<a name="542" href="#542">542</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="543" href="#543">543</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="544" href="#544">544</a> } +<a name="545" href="#545">545</a> } +<a name="546" href="#546">546</a> +<a name="547" href="#547">547</a> <em class="jxr_javadoccomment">/**</em> +<a name="548" href="#548">548</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="549" href="#549">549</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="550" href="#550">550</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="551" href="#551">551</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="552" href="#552">552</a> <em class="jxr_javadoccomment"> */</em> +<a name="553" href="#553">553</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="554" href="#554">554</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) { +<a name="555" href="#555">555</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="556" href="#556">556</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="557" href="#557">557</a> } +<a name="558" href="#558">558</a> } +<a name="559" href="#559">559</a> +<a name="560" href="#560">560</a> <em class="jxr_javadoccomment">/**</em> +<a name="561" href="#561">561</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="562" href="#562">562</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="563" href="#563">563</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="564" href="#564">564</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="565" href="#565">565</a> <em class="jxr_javadoccomment"> */</em> +<a name="566" href="#566">566</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="567" href="#567">567</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) { +<a name="568" href="#568">568</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="569" href="#569">569</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="570" href="#570">570</a> } +<a name="571" href="#571">571</a> } +<a name="572" href="#572">572</a> +<a name="573" href="#573">573</a> <em class="jxr_javadoccomment">/**</em> +<a name="574" href="#574">574</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="575" href="#575">575</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="576" href="#576">576</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="577" href="#577">577</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="578" href="#578">578</a> <em class="jxr_javadoccomment"> */</em> +<a name="579" href="#579">579</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="580" href="#580">580</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) { +<a name="581" href="#581">581</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="582" href="#582">582</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="583" href="#583">583</a> } +<a name="584" href="#584">584</a> } +<a name="585" href="#585">585</a> +<a name="586" href="#586">586</a> <em class="jxr_javadoccomment">/**</em> +<a name="587" href="#587">587</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="588" href="#588">588</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="589" href="#589">589</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="590" href="#590">590</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="591" href="#591">591</a> <em class="jxr_javadoccomment"> */</em> +<a name="592" href="#592">592</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="593" href="#593">593</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) { +<a name="594" href="#594">594</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="595" href="#595">595</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="596" href="#596">596</a> } +<a name="597" href="#597">597</a> } +<a name="598" href="#598">598</a> +<a name="599" href="#599">599</a> <em class="jxr_javadoccomment">/**</em> +<a name="600" href="#600">600</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="601" href="#601">601</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="602" href="#602">602</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="603" href="#603">603</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="604" href="#604">604</a> <em class="jxr_javadoccomment"> */</em> +<a name="605" href="#605">605</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="606" href="#606">606</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) { +<a name="607" href="#607">607</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="608" href="#608">608</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="609" href="#609">609</a> } +<a name="610" href="#610">610</a> } +<a name="611" href="#611">611</a> +<a name="612" href="#612">612</a> <em class="jxr_javadoccomment">/**</em> +<a name="613" href="#613">613</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="614" href="#614">614</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="615" href="#615">615</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="616" href="#616">616</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="617" href="#617">617</a> <em class="jxr_javadoccomment"> */</em> +<a name="618" href="#618">618</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="619" href="#619">619</a> <strong class="jxr_keyword">final</strong> Object argument) { +<a name="620" href="#620">620</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="621" href="#621">621</a> forcedLog(logger, Level.DEBUG, format(pattern, argument)); +<a name="622" href="#622">622</a> } +<a name="623" href="#623">623</a> } +<a name="624" href="#624">624</a> +<a name="625" href="#625">625</a> <em class="jxr_javadoccomment">/**</em> +<a name="626" href="#626">626</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="627" href="#627">627</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="628" href="#628">628</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="629" href="#629">629</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="630" href="#630">630</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="631" href="#631">631</a> <em class="jxr_javadoccomment"> */</em> +<a name="632" href="#632">632</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="633" href="#633">633</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) { +<a name="634" href="#634">634</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="635" href="#635">635</a> forcedLog(logger, Level.DEBUG, +<a name="636" href="#636">636</a> format(pattern, toArray(arg0, arg1))); +<a name="637" href="#637">637</a> } +<a name="638" href="#638">638</a> } +<a name="639" href="#639">639</a> +<a name="640" href="#640">640</a> <em class="jxr_javadoccomment">/**</em> +<a name="641" href="#641">641</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="642" href="#642">642</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="643" href="#643">643</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="644" href="#644">644</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="645" href="#645">645</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="646" href="#646">646</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="647" href="#647">647</a> <em class="jxr_javadoccomment"> */</em> +<a name="648" href="#648">648</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="649" href="#649">649</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) { +<a name="650" href="#650">650</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="651" href="#651">651</a> forcedLog(logger, Level.DEBUG, +<a name="652" href="#652">652</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="653" href="#653">653</a> } +<a name="654" href="#654">654</a> } +<a name="655" href="#655">655</a> +<a name="656" href="#656">656</a> <em class="jxr_javadoccomment">/**</em> +<a name="657" href="#657">657</a> <em class="jxr_javadoccomment"> * Log a parameterized message at debug level.</em> +<a name="658" href="#658">658</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="659" href="#659">659</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="660" href="#660">660</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="661" href="#661">661</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="662" href="#662">662</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="663" href="#663">663</a> <em class="jxr_javadoccomment"> * @param arg3 a value to be formatted and substituted.</em> +<a name="664" href="#664">664</a> <em class="jxr_javadoccomment"> */</em> +<a name="665" href="#665">665</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="666" href="#666">666</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2, +<a name="667" href="#667">667</a> <strong class="jxr_keyword">final</strong> Object arg3) { +<a name="668" href="#668">668</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="669" href="#669">669</a> forcedLog(logger, Level.DEBUG, +<a name="670" href="#670">670</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); +<a name="671" href="#671">671</a> } +<a name="672" href="#672">672</a> } +<a name="673" href="#673">673</a> +<a name="674" href="#674">674</a> <em class="jxr_javadoccomment">/**</em> +<a name="675" href="#675">675</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="676" href="#676">676</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="677" href="#677">677</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="678" href="#678">678</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="679" href="#679">679</a> <em class="jxr_javadoccomment"> */</em> +<a name="680" href="#680">680</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="681" href="#681">681</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) { +<a name="682" href="#682">682</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="683" href="#683">683</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="684" href="#684">684</a> } +<a name="685" href="#685">685</a> } +<a name="686" href="#686">686</a> +<a name="687" href="#687">687</a> <em class="jxr_javadoccomment">/**</em> +<a name="688" href="#688">688</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="689" href="#689">689</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="690" href="#690">690</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="691" href="#691">691</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="692" href="#692">692</a> <em class="jxr_javadoccomment"> */</em> +<a name="693" href="#693">693</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="694" href="#694">694</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) { +<a name="695" href="#695">695</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="696" href="#696">696</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="697" href="#697">697</a> } +<a name="698" href="#698">698</a> } +<a name="699" href="#699">699</a> +<a name="700" href="#700">700</a> <em class="jxr_javadoccomment">/**</em> +<a name="701" href="#701">701</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="702" href="#702">702</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="703" href="#703">703</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="704" href="#704">704</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="705" href="#705">705</a> <em class="jxr_javadoccomment"> */</em> +<a name="706" href="#706">706</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="707" href="#707">707</a> <strong class="jxr_keyword">final</strong> byte argument) { +<a name="708" href="#708">708</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="709" href="#709">709</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="710" href="#710">710</a> } +<a name="711" href="#711">711</a> } +<a name="712" href="#712">712</a> +<a name="713" href="#713">713</a> <em class="jxr_javadoccomment">/**</em> +<a name="714" href="#714">714</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="715" href="#715">715</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="716" href="#716">716</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="717" href="#717">717</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="718" href="#718">718</a> <em class="jxr_javadoccomment"> */</em> +<a name="719" href="#719">719</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="720" href="#720">720</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) { +<a name="721" href="#721">721</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="722" href="#722">722</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="723" href="#723">723</a> } +<a name="724" href="#724">724</a> } +<a name="725" href="#725">725</a> +<a name="726" href="#726">726</a> <em class="jxr_javadoccomment">/**</em> +<a name="727" href="#727">727</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="728" href="#728">728</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="729" href="#729">729</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="730" href="#730">730</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="731" href="#731">731</a> <em class="jxr_javadoccomment"> */</em> +<a name="732" href="#732">732</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="733" href="#733">733</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) { +<a name="734" href="#734">734</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="735" href="#735">735</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="736" href="#736">736</a> } +<a name="737" href="#737">737</a> } +<a name="738" href="#738">738</a> +<a name="739" href="#739">739</a> <em class="jxr_javadoccomment">/**</em> +<a name="740" href="#740">740</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="741" href="#741">741</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="742" href="#742">742</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="743" href="#743">743</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="744" href="#744">744</a> <em class="jxr_javadoccomment"> */</em> +<a name="745" href="#745">745</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="746" href="#746">746</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) { +<a name="747" href="#747">747</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="748" href="#748">748</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="749" href="#749">749</a> } +<a name="750" href="#750">750</a> } +<a name="751" href="#751">751</a> +<a name="752" href="#752">752</a> <em class="jxr_javadoccomment">/**</em> +<a name="753" href="#753">753</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="754" href="#754">754</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="755" href="#755">755</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="756" href="#756">756</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="757" href="#757">757</a> <em class="jxr_javadoccomment"> */</em> +<a name="758" href="#758">758</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="759" href="#759">759</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) { +<a name="760" href="#760">760</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="761" href="#761">761</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="762" href="#762">762</a> } +<a name="763" href="#763">763</a> } +<a name="764" href="#764">764</a> +<a name="765" href="#765">765</a> <em class="jxr_javadoccomment">/**</em> +<a name="766" href="#766">766</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="767" href="#767">767</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="768" href="#768">768</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="769" href="#769">769</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="770" href="#770">770</a> <em class="jxr_javadoccomment"> */</em> +<a name="771" href="#771">771</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="772" href="#772">772</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) { +<a name="773" href="#773">773</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="774" href="#774">774</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="775" href="#775">775</a> } +<a name="776" href="#776">776</a> } +<a name="777" href="#777">777</a> +<a name="778" href="#778">778</a> <em class="jxr_javadoccomment">/**</em> +<a name="779" href="#779">779</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="780" href="#780">780</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="781" href="#781">781</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="782" href="#782">782</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="783" href="#783">783</a> <em class="jxr_javadoccomment"> */</em> +<a name="784" href="#784">784</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="785" href="#785">785</a> <strong class="jxr_keyword">final</strong> Object argument) { +<a name="786" href="#786">786</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="787" href="#787">787</a> forcedLog(logger, Level.INFO, format(pattern, argument)); +<a name="788" href="#788">788</a> } +<a name="789" href="#789">789</a> } +<a name="790" href="#790">790</a> +<a name="791" href="#791">791</a> <em class="jxr_javadoccomment">/**</em> +<a name="792" href="#792">792</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="793" href="#793">793</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="794" href="#794">794</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="795" href="#795">795</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="796" href="#796">796</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="797" href="#797">797</a> <em class="jxr_javadoccomment"> */</em> +<a name="798" href="#798">798</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="799" href="#799">799</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) { +<a name="800" href="#800">800</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="801" href="#801">801</a> forcedLog(logger, Level.INFO, format(pattern, toArray(arg0, arg1))); +<a name="802" href="#802">802</a> } +<a name="803" href="#803">803</a> } +<a name="804" href="#804">804</a> +<a name="805" href="#805">805</a> <em class="jxr_javadoccomment">/**</em> +<a name="806" href="#806">806</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="807" href="#807">807</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="808" href="#808">808</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="809" href="#809">809</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="810" href="#810">810</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="811" href="#811">811</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="812" href="#812">812</a> <em class="jxr_javadoccomment"> */</em> +<a name="813" href="#813">813</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="814" href="#814">814</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) { +<a name="815" href="#815">815</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="816" href="#816">816</a> forcedLog(logger, Level.INFO, format(pattern, +<a name="817" href="#817">817</a> toArray(arg0, arg1, arg2))); +<a name="818" href="#818">818</a> } +<a name="819" href="#819">819</a> } +<a name="820" href="#820">820</a> +<a name="821" href="#821">821</a> <em class="jxr_javadoccomment">/**</em> +<a name="822" href="#822">822</a> <em class="jxr_javadoccomment"> * Log a parameterized message at info level.</em> +<a name="823" href="#823">823</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="824" href="#824">824</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="825" href="#825">825</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="826" href="#826">826</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="827" href="#827">827</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="828" href="#828">828</a> <em class="jxr_javadoccomment"> * @param arg3 a value to be formatted and substituted.</em> +<a name="829" href="#829">829</a> <em class="jxr_javadoccomment"> */</em> +<a name="830" href="#830">830</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="831" href="#831">831</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2, +<a name="832" href="#832">832</a> <strong class="jxr_keyword">final</strong> Object arg3) { +<a name="833" href="#833">833</a> <strong class="jxr_keyword">if</strong> (logger.isInfoEnabled()) { +<a name="834" href="#834">834</a> forcedLog(logger, Level.INFO, format(pattern, +<a name="835" href="#835">835</a> toArray(arg0, arg1, arg2, arg3))); +<a name="836" href="#836">836</a> } +<a name="837" href="#837">837</a> } +<a name="838" href="#838">838</a> +<a name="839" href="#839">839</a> <em class="jxr_javadoccomment">/**</em> +<a name="840" href="#840">840</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="841" href="#841">841</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="842" href="#842">842</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="843" href="#843">843</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="844" href="#844">844</a> <em class="jxr_javadoccomment"> */</em> +<a name="845" href="#845">845</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="846" href="#846">846</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> argument) { +<a name="847" href="#847">847</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="848" href="#848">848</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="849" href="#849">849</a> } +<a name="850" href="#850">850</a> } +<a name="851" href="#851">851</a> +<a name="852" href="#852">852</a> <em class="jxr_javadoccomment">/**</em> +<a name="853" href="#853">853</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="854" href="#854">854</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="855" href="#855">855</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="856" href="#856">856</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="857" href="#857">857</a> <em class="jxr_javadoccomment"> */</em> +<a name="858" href="#858">858</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="859" href="#859">859</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> argument) { +<a name="860" href="#860">860</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="861" href="#861">861</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="862" href="#862">862</a> } +<a name="863" href="#863">863</a> } +<a name="864" href="#864">864</a> +<a name="865" href="#865">865</a> <em class="jxr_javadoccomment">/**</em> +<a name="866" href="#866">866</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="867" href="#867">867</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="868" href="#868">868</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="869" href="#869">869</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="870" href="#870">870</a> <em class="jxr_javadoccomment"> */</em> +<a name="871" href="#871">871</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="872" href="#872">872</a> <strong class="jxr_keyword">final</strong> byte argument) { +<a name="873" href="#873">873</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="874" href="#874">874</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="875" href="#875">875</a> } +<a name="876" href="#876">876</a> } +<a name="877" href="#877">877</a> +<a name="878" href="#878">878</a> <em class="jxr_javadoccomment">/**</em> +<a name="879" href="#879">879</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="880" href="#880">880</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="881" href="#881">881</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="882" href="#882">882</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="883" href="#883">883</a> <em class="jxr_javadoccomment"> */</em> +<a name="884" href="#884">884</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="885" href="#885">885</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> argument) { +<a name="886" href="#886">886</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="887" href="#887">887</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="888" href="#888">888</a> } +<a name="889" href="#889">889</a> } +<a name="890" href="#890">890</a> +<a name="891" href="#891">891</a> <em class="jxr_javadoccomment">/**</em> +<a name="892" href="#892">892</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="893" href="#893">893</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="894" href="#894">894</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="895" href="#895">895</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="896" href="#896">896</a> <em class="jxr_javadoccomment"> */</em> +<a name="897" href="#897">897</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="898" href="#898">898</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> argument) { +<a name="899" href="#899">899</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="900" href="#900">900</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="901" href="#901">901</a> } +<a name="902" href="#902">902</a> } +<a name="903" href="#903">903</a> +<a name="904" href="#904">904</a> <em class="jxr_javadoccomment">/**</em> +<a name="905" href="#905">905</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="906" href="#906">906</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="907" href="#907">907</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="908" href="#908">908</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="909" href="#909">909</a> <em class="jxr_javadoccomment"> */</em> +<a name="910" href="#910">910</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="911" href="#911">911</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> argument) { +<a name="912" href="#912">912</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="913" href="#913">913</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="914" href="#914">914</a> } +<a name="915" href="#915">915</a> } +<a name="916" href="#916">916</a> +<a name="917" href="#917">917</a> <em class="jxr_javadoccomment">/**</em> +<a name="918" href="#918">918</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="919" href="#919">919</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="920" href="#920">920</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="921" href="#921">921</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="922" href="#922">922</a> <em class="jxr_javadoccomment"> */</em> +<a name="923" href="#923">923</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="924" href="#924">924</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> argument) { +<a name="925" href="#925">925</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="926" href="#926">926</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="927" href="#927">927</a> } +<a name="928" href="#928">928</a> } +<a name="929" href="#929">929</a> +<a name="930" href="#930">930</a> <em class="jxr_javadoccomment">/**</em> +<a name="931" href="#931">931</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="932" href="#932">932</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="933" href="#933">933</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="934" href="#934">934</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="935" href="#935">935</a> <em class="jxr_javadoccomment"> */</em> +<a name="936" href="#936">936</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="937" href="#937">937</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> argument) { +<a name="938" href="#938">938</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="939" href="#939">939</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="940" href="#940">940</a> } +<a name="941" href="#941">941</a> } +<a name="942" href="#942">942</a> +<a name="943" href="#943">943</a> <em class="jxr_javadoccomment">/**</em> +<a name="944" href="#944">944</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="945" href="#945">945</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="946" href="#946">946</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="947" href="#947">947</a> <em class="jxr_javadoccomment"> * @param argument a value to be formatted and substituted.</em> +<a name="948" href="#948">948</a> <em class="jxr_javadoccomment"> */</em> +<a name="949" href="#949">949</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="950" href="#950">950</a> <strong class="jxr_keyword">final</strong> Object argument) { +<a name="951" href="#951">951</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="952" href="#952">952</a> forcedLog(logger, Level.WARN, format(pattern, argument)); +<a name="953" href="#953">953</a> } +<a name="954" href="#954">954</a> } +<a name="955" href="#955">955</a> +<a name="956" href="#956">956</a> <em class="jxr_javadoccomment">/**</em> +<a name="957" href="#957">957</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="958" href="#958">958</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="959" href="#959">959</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="960" href="#960">960</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="961" href="#961">961</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="962" href="#962">962</a> <em class="jxr_javadoccomment"> */</em> +<a name="963" href="#963">963</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="964" href="#964">964</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) { +<a name="965" href="#965">965</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="966" href="#966">966</a> forcedLog(logger, Level.WARN, +<a name="967" href="#967">967</a> format(pattern, toArray(arg0, arg1))); +<a name="968" href="#968">968</a> } +<a name="969" href="#969">969</a> } +<a name="970" href="#970">970</a> +<a name="971" href="#971">971</a> <em class="jxr_javadoccomment">/**</em> +<a name="972" href="#972">972</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="973" href="#973">973</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="974" href="#974">974</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="975" href="#975">975</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="976" href="#976">976</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="977" href="#977">977</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="978" href="#978">978</a> <em class="jxr_javadoccomment"> */</em> +<a name="979" href="#979">979</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="980" href="#980">980</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) { +<a name="981" href="#981">981</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="982" href="#982">982</a> forcedLog(logger, Level.WARN, +<a name="983" href="#983">983</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="984" href="#984">984</a> } +<a name="985" href="#985">985</a> } +<a name="986" href="#986">986</a> +<a name="987" href="#987">987</a> <em class="jxr_javadoccomment">/**</em> +<a name="988" href="#988">988</a> <em class="jxr_javadoccomment"> * Log a parameterized message at warn level.</em> +<a name="989" href="#989">989</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="990" href="#990">990</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="991" href="#991">991</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="992" href="#992">992</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="993" href="#993">993</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="994" href="#994">994</a> <em class="jxr_javadoccomment"> * @param arg3 a value to be formatted and substituted.</em> +<a name="995" href="#995">995</a> <em class="jxr_javadoccomment"> */</em> +<a name="996" href="#996">996</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">final</strong> String pattern, +<a name="997" href="#997">997</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2, +<a name="998" href="#998">998</a> <strong class="jxr_keyword">final</strong> Object arg3) { +<a name="999" href="#999">999</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1000" href="#1000">1000</a> forcedLog(logger, Level.WARN, format(pattern, +<a name="1001" href="#1001">1001</a> toArray(arg0, arg1, arg2, arg3))); +<a name="1002" href="#1002">1002</a> } +<a name="1003" href="#1003">1003</a> } +<a name="1004" href="#1004">1004</a> +<a name="1005" href="#1005">1005</a> <em class="jxr_javadoccomment">/**</em> +<a name="1006" href="#1006">1006</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1007" href="#1007">1007</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1008" href="#1008">1008</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1009" href="#1009">1009</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1010" href="#1010">1010</a> <em class="jxr_javadoccomment"> * @param parameters parameters to the log message.</em> +<a name="1011" href="#1011">1011</a> <em class="jxr_javadoccomment"> */</em> +<a name="1012" href="#1012">1012</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1013" href="#1013">1013</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1014" href="#1014">1014</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1015" href="#1015">1015</a> <strong class="jxr_keyword">final</strong> Object[] parameters) { +<a name="1016" href="#1016">1016</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1017" href="#1017">1017</a> forcedLog(logger, level, +<a name="1018" href="#1018">1018</a> format(pattern, parameters)); +<a name="1019" href="#1019">1019</a> } +<a name="1020" href="#1020">1020</a> } +<a name="1021" href="#1021">1021</a> +<a name="1022" href="#1022">1022</a> <em class="jxr_javadoccomment">/**</em> +<a name="1023" href="#1023">1023</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1024" href="#1024">1024</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1025" href="#1025">1025</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1026" href="#1026">1026</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="1027" href="#1027">1027</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1028" href="#1028">1028</a> <em class="jxr_javadoccomment"> * @param parameters parameters to the log message.</em> +<a name="1029" href="#1029">1029</a> <em class="jxr_javadoccomment"> */</em> +<a name="1030" href="#1030">1030</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1031" href="#1031">1031</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1032" href="#1032">1032</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="1033" href="#1033">1033</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1034" href="#1034">1034</a> <strong class="jxr_keyword">final</strong> Object[] parameters) { +<a name="1035" href="#1035">1035</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1036" href="#1036">1036</a> forcedLog(logger, level, +<a name="1037" href="#1037">1037</a> format(pattern, parameters), t); +<a name="1038" href="#1038">1038</a> } +<a name="1039" href="#1039">1039</a> } +<a name="1040" href="#1040">1040</a> +<a name="1041" href="#1041">1041</a> <em class="jxr_javadoccomment">/**</em> +<a name="1042" href="#1042">1042</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1043" href="#1043">1043</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1044" href="#1044">1044</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1045" href="#1045">1045</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1046" href="#1046">1046</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1047" href="#1047">1047</a> <em class="jxr_javadoccomment"> */</em> +<a name="1048" href="#1048">1048</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1049" href="#1049">1049</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1050" href="#1050">1050</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1051" href="#1051">1051</a> <strong class="jxr_keyword">final</strong> Object param1) { +<a name="1052" href="#1052">1052</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1053" href="#1053">1053</a> forcedLog(logger, level, +<a name="1054" href="#1054">1054</a> format(pattern, toArray(param1))); +<a name="1055" href="#1055">1055</a> } +<a name="1056" href="#1056">1056</a> } +<a name="1057" href="#1057">1057</a> +<a name="1058" href="#1058">1058</a> <em class="jxr_javadoccomment">/**</em> +<a name="1059" href="#1059">1059</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1060" href="#1060">1060</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1061" href="#1061">1061</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1062" href="#1062">1062</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1063" href="#1063">1063</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1064" href="#1064">1064</a> <em class="jxr_javadoccomment"> */</em> +<a name="1065" href="#1065">1065</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1066" href="#1066">1066</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1067" href="#1067">1067</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1068" href="#1068">1068</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> param1) { +<a name="1069" href="#1069">1069</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1070" href="#1070">1070</a> forcedLog(logger, level, +<a name="1071" href="#1071">1071</a> format(pattern, toArray(valueOf(param1)))); +<a name="1072" href="#1072">1072</a> } +<a name="1073" href="#1073">1073</a> } +<a name="1074" href="#1074">1074</a> +<a name="1075" href="#1075">1075</a> +<a name="1076" href="#1076">1076</a> <em class="jxr_javadoccomment">/**</em> +<a name="1077" href="#1077">1077</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1078" href="#1078">1078</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1079" href="#1079">1079</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1080" href="#1080">1080</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1081" href="#1081">1081</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1082" href="#1082">1082</a> <em class="jxr_javadoccomment"> */</em> +<a name="1083" href="#1083">1083</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1084" href="#1084">1084</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1085" href="#1085">1085</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1086" href="#1086">1086</a> <strong class="jxr_keyword">final</strong> byte param1) { +<a name="1087" href="#1087">1087</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1088" href="#1088">1088</a> forcedLog(logger, level, +<a name="1089" href="#1089">1089</a> format(pattern, toArray(valueOf(param1)))); +<a name="1090" href="#1090">1090</a> } +<a name="1091" href="#1091">1091</a> } +<a name="1092" href="#1092">1092</a> +<a name="1093" href="#1093">1093</a> +<a name="1094" href="#1094">1094</a> <em class="jxr_javadoccomment">/**</em> +<a name="1095" href="#1095">1095</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1096" href="#1096">1096</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1097" href="#1097">1097</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1098" href="#1098">1098</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1099" href="#1099">1099</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1100" href="#1100">1100</a> <em class="jxr_javadoccomment"> */</em> +<a name="1101" href="#1101">1101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1102" href="#1102">1102</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1103" href="#1103">1103</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1104" href="#1104">1104</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> param1) { +<a name="1105" href="#1105">1105</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1106" href="#1106">1106</a> forcedLog(logger, level, +<a name="1107" href="#1107">1107</a> format(pattern, toArray(valueOf(param1)))); +<a name="1108" href="#1108">1108</a> } +<a name="1109" href="#1109">1109</a> } +<a name="1110" href="#1110">1110</a> +<a name="1111" href="#1111">1111</a> <em class="jxr_javadoccomment">/**</em> +<a name="1112" href="#1112">1112</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1113" href="#1113">1113</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1114" href="#1114">1114</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1115" href="#1115">1115</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1116" href="#1116">1116</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1117" href="#1117">1117</a> <em class="jxr_javadoccomment"> */</em> +<a name="1118" href="#1118">1118</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1119" href="#1119">1119</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1120" href="#1120">1120</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1121" href="#1121">1121</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> param1) { +<a name="1122" href="#1122">1122</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1123" href="#1123">1123</a> forcedLog(logger, level, +<a name="1124" href="#1124">1124</a> format(pattern, toArray(valueOf(param1)))); +<a name="1125" href="#1125">1125</a> } +<a name="1126" href="#1126">1126</a> } +<a name="1127" href="#1127">1127</a> +<a name="1128" href="#1128">1128</a> <em class="jxr_javadoccomment">/**</em> +<a name="1129" href="#1129">1129</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1130" href="#1130">1130</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1131" href="#1131">1131</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1132" href="#1132">1132</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1133" href="#1133">1133</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1134" href="#1134">1134</a> <em class="jxr_javadoccomment"> */</em> +<a name="1135" href="#1135">1135</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1136" href="#1136">1136</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1137" href="#1137">1137</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1138" href="#1138">1138</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> param1) { +<a name="1139" href="#1139">1139</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1140" href="#1140">1140</a> forcedLog(logger, level, +<a name="1141" href="#1141">1141</a> format(pattern, toArray(valueOf(param1)))); +<a name="1142" href="#1142">1142</a> } +<a name="1143" href="#1143">1143</a> } +<a name="1144" href="#1144">1144</a> +<a name="1145" href="#1145">1145</a> +<a name="1146" href="#1146">1146</a> <em class="jxr_javadoccomment">/**</em> +<a name="1147" href="#1147">1147</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1148" href="#1148">1148</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1149" href="#1149">1149</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1150" href="#1150">1150</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1151" href="#1151">1151</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1152" href="#1152">1152</a> <em class="jxr_javadoccomment"> */</em> +<a name="1153" href="#1153">1153</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1154" href="#1154">1154</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1155" href="#1155">1155</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1156" href="#1156">1156</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> param1) { +<a name="1157" href="#1157">1157</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1158" href="#1158">1158</a> forcedLog(logger, level, +<a name="1159" href="#1159">1159</a> format(pattern, toArray(valueOf(param1)))); +<a name="1160" href="#1160">1160</a> } +<a name="1161" href="#1161">1161</a> } +<a name="1162" href="#1162">1162</a> +<a name="1163" href="#1163">1163</a> +<a name="1164" href="#1164">1164</a> <em class="jxr_javadoccomment">/**</em> +<a name="1165" href="#1165">1165</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1166" href="#1166">1166</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1167" href="#1167">1167</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1168" href="#1168">1168</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1169" href="#1169">1169</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1170" href="#1170">1170</a> <em class="jxr_javadoccomment"> */</em> +<a name="1171" href="#1171">1171</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1172" href="#1172">1172</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1173" href="#1173">1173</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1174" href="#1174">1174</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> param1) { +<a name="1175" href="#1175">1175</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1176" href="#1176">1176</a> forcedLog(logger, level, +<a name="1177" href="#1177">1177</a> format(pattern, toArray(valueOf(param1)))); +<a name="1178" href="#1178">1178</a> } +<a name="1179" href="#1179">1179</a> } +<a name="1180" href="#1180">1180</a> +<a name="1181" href="#1181">1181</a> +<a name="1182" href="#1182">1182</a> <em class="jxr_javadoccomment">/**</em> +<a name="1183" href="#1183">1183</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1184" href="#1184">1184</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1185" href="#1185">1185</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1186" href="#1186">1186</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1187" href="#1187">1187</a> <em class="jxr_javadoccomment"> * @param param1 parameter to the log message.</em> +<a name="1188" href="#1188">1188</a> <em class="jxr_javadoccomment"> */</em> +<a name="1189" href="#1189">1189</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1190" href="#1190">1190</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1191" href="#1191">1191</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1192" href="#1192">1192</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> param1) { +<a name="1193" href="#1193">1193</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1194" href="#1194">1194</a> forcedLog(logger, level, +<a name="1195" href="#1195">1195</a> format(pattern, toArray(valueOf(param1)))); +<a name="1196" href="#1196">1196</a> } +<a name="1197" href="#1197">1197</a> } +<a name="1198" href="#1198">1198</a> +<a name="1199" href="#1199">1199</a> +<a name="1200" href="#1200">1200</a> <em class="jxr_javadoccomment">/**</em> +<a name="1201" href="#1201">1201</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1202" href="#1202">1202</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1203" href="#1203">1203</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1204" href="#1204">1204</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1205" href="#1205">1205</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="1206" href="#1206">1206</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="1207" href="#1207">1207</a> <em class="jxr_javadoccomment"> */</em> +<a name="1208" href="#1208">1208</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1209" href="#1209">1209</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1210" href="#1210">1210</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1211" href="#1211">1211</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1) { +<a name="1212" href="#1212">1212</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1213" href="#1213">1213</a> forcedLog(logger, level, +<a name="1214" href="#1214">1214</a> format(pattern, toArray(arg0, arg1))); +<a name="1215" href="#1215">1215</a> } +<a name="1216" href="#1216">1216</a> } +<a name="1217" href="#1217">1217</a> +<a name="1218" href="#1218">1218</a> <em class="jxr_javadoccomment">/**</em> +<a name="1219" href="#1219">1219</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specifed level.</em> +<a name="1220" href="#1220">1220</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1221" href="#1221">1221</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1222" href="#1222">1222</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1223" href="#1223">1223</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="1224" href="#1224">1224</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="1225" href="#1225">1225</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="1226" href="#1226">1226</a> <em class="jxr_javadoccomment"> */</em> +<a name="1227" href="#1227">1227</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1228" href="#1228">1228</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1229" href="#1229">1229</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1230" href="#1230">1230</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2) { +<a name="1231" href="#1231">1231</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1232" href="#1232">1232</a> forcedLog(logger, level, +<a name="1233" href="#1233">1233</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="1234" href="#1234">1234</a> } +<a name="1235" href="#1235">1235</a> } +<a name="1236" href="#1236">1236</a> +<a name="1237" href="#1237">1237</a> <em class="jxr_javadoccomment">/**</em> +<a name="1238" href="#1238">1238</a> <em class="jxr_javadoccomment"> * Log a parameterized message at specified level.</em> +<a name="1239" href="#1239">1239</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1240" href="#1240">1240</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may be null.</em> +<a name="1241" href="#1241">1241</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1242" href="#1242">1242</a> <em class="jxr_javadoccomment"> * @param arg0 a value to be formatted and substituted.</em> +<a name="1243" href="#1243">1243</a> <em class="jxr_javadoccomment"> * @param arg1 a value to be formatted and substituted.</em> +<a name="1244" href="#1244">1244</a> <em class="jxr_javadoccomment"> * @param arg2 a value to be formatted and substituted.</em> +<a name="1245" href="#1245">1245</a> <em class="jxr_javadoccomment"> * @param arg3 a value to be formatted and substituted.</em> +<a name="1246" href="#1246">1246</a> <em class="jxr_javadoccomment"> */</em> +<a name="1247" href="#1247">1247</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1248" href="#1248">1248</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1249" href="#1249">1249</a> <strong class="jxr_keyword">final</strong> String pattern, +<a name="1250" href="#1250">1250</a> <strong class="jxr_keyword">final</strong> Object arg0, <strong class="jxr_keyword">final</strong> Object arg1, <strong class="jxr_keyword">final</strong> Object arg2, +<a name="1251" href="#1251">1251</a> <strong class="jxr_keyword">final</strong> Object arg3) { +<a name="1252" href="#1252">1252</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1253" href="#1253">1253</a> forcedLog(logger, level, format(pattern, +<a name="1254" href="#1254">1254</a> toArray(arg0, arg1, arg2, arg3))); +<a name="1255" href="#1255">1255</a> } +<a name="1256" href="#1256">1256</a> } +<a name="1257" href="#1257">1257</a> +<a name="1258" href="#1258">1258</a> +<a name="1259" href="#1259">1259</a> <em class="jxr_javadoccomment">/**</em> +<a name="1260" href="#1260">1260</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1261" href="#1261">1261</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1262" href="#1262">1262</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1263" href="#1263">1263</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1264" href="#1264">1264</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1265" href="#1265">1265</a> <em class="jxr_javadoccomment"> * @param parameters parameters to the log message.</em> +<a name="1266" href="#1266">1266</a> <em class="jxr_javadoccomment"> */</em> +<a name="1267" href="#1267">1267</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1268" href="#1268">1268</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1269" href="#1269">1269</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1270" href="#1270">1270</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1271" href="#1271">1271</a> <strong class="jxr_keyword">final</strong> Object[] parameters) { +<a name="1272" href="#1272">1272</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1273" href="#1273">1273</a> forcedLog(logger, level, +<a name="1274" href="#1274">1274</a> format(bundleName, key, parameters)); +<a name="1275" href="#1275">1275</a> } +<a name="1276" href="#1276">1276</a> } +<a name="1277" href="#1277">1277</a> +<a name="1278" href="#1278">1278</a> <em class="jxr_javadoccomment">/**</em> +<a name="1279" href="#1279">1279</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1280" href="#1280">1280</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1281" href="#1281">1281</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1282" href="#1282">1282</a> <em class="jxr_javadoccomment"> * @param t throwable, may be null.</em> +<a name="1283" href="#1283">1283</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1284" href="#1284">1284</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1285" href="#1285">1285</a> <em class="jxr_javadoccomment"> * @param parameters parameters to the log message.</em> +<a name="1286" href="#1286">1286</a> <em class="jxr_javadoccomment"> */</em> +<a name="1287" href="#1287">1287</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1288" href="#1288">1288</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1289" href="#1289">1289</a> <strong class="jxr_keyword">final</strong> Throwable t, +<a name="1290" href="#1290">1290</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1291" href="#1291">1291</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1292" href="#1292">1292</a> <strong class="jxr_keyword">final</strong> Object[] parameters) { +<a name="1293" href="#1293">1293</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1294" href="#1294">1294</a> forcedLog(logger, level, +<a name="1295" href="#1295">1295</a> format(bundleName, key, parameters), t); +<a name="1296" href="#1296">1296</a> } +<a name="1297" href="#1297">1297</a> } +<a name="1298" href="#1298">1298</a> +<a name="1299" href="#1299">1299</a> <em class="jxr_javadoccomment">/**</em> +<a name="1300" href="#1300">1300</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1301" href="#1301">1301</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1302" href="#1302">1302</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1303" href="#1303">1303</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1304" href="#1304">1304</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1305" href="#1305">1305</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1306" href="#1306">1306</a> <em class="jxr_javadoccomment"> */</em> +<a name="1307" href="#1307">1307</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1308" href="#1308">1308</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1309" href="#1309">1309</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1310" href="#1310">1310</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1311" href="#1311">1311</a> <strong class="jxr_keyword">final</strong> Object param1) { +<a name="1312" href="#1312">1312</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1313" href="#1313">1313</a> forcedLog(logger, level, +<a name="1314" href="#1314">1314</a> format(bundleName, key, toArray(param1))); +<a name="1315" href="#1315">1315</a> } +<a name="1316" href="#1316">1316</a> } +<a name="1317" href="#1317">1317</a> +<a name="1318" href="#1318">1318</a> <em class="jxr_javadoccomment">/**</em> +<a name="1319" href="#1319">1319</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1320" href="#1320">1320</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1321" href="#1321">1321</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1322" href="#1322">1322</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1323" href="#1323">1323</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1324" href="#1324">1324</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1325" href="#1325">1325</a> <em class="jxr_javadoccomment"> */</em> +<a name="1326" href="#1326">1326</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1327" href="#1327">1327</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1328" href="#1328">1328</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1329" href="#1329">1329</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1330" href="#1330">1330</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> param1) { +<a name="1331" href="#1331">1331</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1332" href="#1332">1332</a> forcedLog(logger, level, +<a name="1333" href="#1333">1333</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1334" href="#1334">1334</a> } +<a name="1335" href="#1335">1335</a> } +<a name="1336" href="#1336">1336</a> +<a name="1337" href="#1337">1337</a> <em class="jxr_javadoccomment">/**</em> +<a name="1338" href="#1338">1338</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1339" href="#1339">1339</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1340" href="#1340">1340</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1341" href="#1341">1341</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1342" href="#1342">1342</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1343" href="#1343">1343</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1344" href="#1344">1344</a> <em class="jxr_javadoccomment"> */</em> +<a name="1345" href="#1345">1345</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1346" href="#1346">1346</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1347" href="#1347">1347</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1348" href="#1348">1348</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1349" href="#1349">1349</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> param1) { +<a name="1350" href="#1350">1350</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1351" href="#1351">1351</a> forcedLog(logger, level, +<a name="1352" href="#1352">1352</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1353" href="#1353">1353</a> } +<a name="1354" href="#1354">1354</a> } +<a name="1355" href="#1355">1355</a> +<a name="1356" href="#1356">1356</a> <em class="jxr_javadoccomment">/**</em> +<a name="1357" href="#1357">1357</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1358" href="#1358">1358</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1359" href="#1359">1359</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1360" href="#1360">1360</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1361" href="#1361">1361</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1362" href="#1362">1362</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1363" href="#1363">1363</a> <em class="jxr_javadoccomment"> */</em> +<a name="1364" href="#1364">1364</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1365" href="#1365">1365</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1366" href="#1366">1366</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1367" href="#1367">1367</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1368" href="#1368">1368</a> <strong class="jxr_keyword">final</strong> byte param1) { +<a name="1369" href="#1369">1369</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1370" href="#1370">1370</a> forcedLog(logger, level, +<a name="1371" href="#1371">1371</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1372" href="#1372">1372</a> } +<a name="1373" href="#1373">1373</a> } +<a name="1374" href="#1374">1374</a> +<a name="1375" href="#1375">1375</a> <em class="jxr_javadoccomment">/**</em> +<a name="1376" href="#1376">1376</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1377" href="#1377">1377</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1378" href="#1378">1378</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1379" href="#1379">1379</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1380" href="#1380">1380</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1381" href="#1381">1381</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1382" href="#1382">1382</a> <em class="jxr_javadoccomment"> */</em> +<a name="1383" href="#1383">1383</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1384" href="#1384">1384</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1385" href="#1385">1385</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1386" href="#1386">1386</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1387" href="#1387">1387</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> param1) { +<a name="1388" href="#1388">1388</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1389" href="#1389">1389</a> forcedLog(logger, level, +<a name="1390" href="#1390">1390</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1391" href="#1391">1391</a> } +<a name="1392" href="#1392">1392</a> } +<a name="1393" href="#1393">1393</a> +<a name="1394" href="#1394">1394</a> <em class="jxr_javadoccomment">/**</em> +<a name="1395" href="#1395">1395</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1396" href="#1396">1396</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1397" href="#1397">1397</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1398" href="#1398">1398</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1399" href="#1399">1399</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1400" href="#1400">1400</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1401" href="#1401">1401</a> <em class="jxr_javadoccomment"> */</em> +<a name="1402" href="#1402">1402</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1403" href="#1403">1403</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1404" href="#1404">1404</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1405" href="#1405">1405</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1406" href="#1406">1406</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> param1) { +<a name="1407" href="#1407">1407</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1408" href="#1408">1408</a> forcedLog(logger, level, +<a name="1409" href="#1409">1409</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1410" href="#1410">1410</a> } +<a name="1411" href="#1411">1411</a> } +<a name="1412" href="#1412">1412</a> +<a name="1413" href="#1413">1413</a> <em class="jxr_javadoccomment">/**</em> +<a name="1414" href="#1414">1414</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1415" href="#1415">1415</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1416" href="#1416">1416</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1417" href="#1417">1417</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1418" href="#1418">1418</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1419" href="#1419">1419</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1420" href="#1420">1420</a> <em class="jxr_javadoccomment"> */</em> +<a name="1421" href="#1421">1421</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1422" href="#1422">1422</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1423" href="#1423">1423</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1424" href="#1424">1424</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1425" href="#1425">1425</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> param1) { +<a name="1426" href="#1426">1426</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1427" href="#1427">1427</a> forcedLog(logger, level, +<a name="1428" href="#1428">1428</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1429" href="#1429">1429</a> } +<a name="1430" href="#1430">1430</a> } +<a name="1431" href="#1431">1431</a> <em class="jxr_javadoccomment">/**</em> +<a name="1432" href="#1432">1432</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1433" href="#1433">1433</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1434" href="#1434">1434</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1435" href="#1435">1435</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1436" href="#1436">1436</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1437" href="#1437">1437</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1438" href="#1438">1438</a> <em class="jxr_javadoccomment"> */</em> +<a name="1439" href="#1439">1439</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1440" href="#1440">1440</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1441" href="#1441">1441</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1442" href="#1442">1442</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1443" href="#1443">1443</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> param1) { +<a name="1444" href="#1444">1444</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1445" href="#1445">1445</a> forcedLog(logger, level, +<a name="1446" href="#1446">1446</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1447" href="#1447">1447</a> } +<a name="1448" href="#1448">1448</a> } +<a name="1449" href="#1449">1449</a> +<a name="1450" href="#1450">1450</a> +<a name="1451" href="#1451">1451</a> <em class="jxr_javadoccomment">/**</em> +<a name="1452" href="#1452">1452</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1453" href="#1453">1453</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1454" href="#1454">1454</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1455" href="#1455">1455</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1456" href="#1456">1456</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1457" href="#1457">1457</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1458" href="#1458">1458</a> <em class="jxr_javadoccomment"> */</em> +<a name="1459" href="#1459">1459</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1460" href="#1460">1460</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1461" href="#1461">1461</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1462" href="#1462">1462</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1463" href="#1463">1463</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> param1) { +<a name="1464" href="#1464">1464</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1465" href="#1465">1465</a> forcedLog(logger, level, +<a name="1466" href="#1466">1466</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1467" href="#1467">1467</a> } +<a name="1468" href="#1468">1468</a> } +<a name="1469" href="#1469">1469</a> +<a name="1470" href="#1470">1470</a> <em class="jxr_javadoccomment">/**</em> +<a name="1471" href="#1471">1471</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1472" href="#1472">1472</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1473" href="#1473">1473</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1474" href="#1474">1474</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1475" href="#1475">1475</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1476" href="#1476">1476</a> <em class="jxr_javadoccomment"> * @param param0 Parameter to the log message.</em> +<a name="1477" href="#1477">1477</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1478" href="#1478">1478</a> <em class="jxr_javadoccomment"> */</em> +<a name="1479" href="#1479">1479</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1480" href="#1480">1480</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1481" href="#1481">1481</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1482" href="#1482">1482</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1483" href="#1483">1483</a> <strong class="jxr_keyword">final</strong> Object param0, +<a name="1484" href="#1484">1484</a> <strong class="jxr_keyword">final</strong> Object param1) { +<a name="1485" href="#1485">1485</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1486" href="#1486">1486</a> forcedLog(logger, level, +<a name="1487" href="#1487">1487</a> format(bundleName, key, toArray(param0, param1))); +<a name="1488" href="#1488">1488</a> } +<a name="1489" href="#1489">1489</a> } +<a name="1490" href="#1490">1490</a> +<a name="1491" href="#1491">1491</a> +<a name="1492" href="#1492">1492</a> <em class="jxr_javadoccomment">/**</em> +<a name="1493" href="#1493">1493</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1494" href="#1494">1494</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1495" href="#1495">1495</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1496" href="#1496">1496</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1497" href="#1497">1497</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1498" href="#1498">1498</a> <em class="jxr_javadoccomment"> * @param param0 Parameter to the log message.</em> +<a name="1499" href="#1499">1499</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1500" href="#1500">1500</a> <em class="jxr_javadoccomment"> * @param param2 Parameter to the log message.</em> +<a name="1501" href="#1501">1501</a> <em class="jxr_javadoccomment"> */</em> +<a name="1502" href="#1502">1502</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1503" href="#1503">1503</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1504" href="#1504">1504</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1505" href="#1505">1505</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1506" href="#1506">1506</a> <strong class="jxr_keyword">final</strong> Object param0, +<a name="1507" href="#1507">1507</a> <strong class="jxr_keyword">final</strong> Object param1, +<a name="1508" href="#1508">1508</a> <strong class="jxr_keyword">final</strong> Object param2) { +<a name="1509" href="#1509">1509</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1510" href="#1510">1510</a> forcedLog(logger, level, +<a name="1511" href="#1511">1511</a> format(bundleName, key, toArray(param0, param1, param2))); +<a name="1512" href="#1512">1512</a> } +<a name="1513" href="#1513">1513</a> } +<a name="1514" href="#1514">1514</a> +<a name="1515" href="#1515">1515</a> +<a name="1516" href="#1516">1516</a> <em class="jxr_javadoccomment">/**</em> +<a name="1517" href="#1517">1517</a> <em class="jxr_javadoccomment"> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1518" href="#1518">1518</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="1519" href="#1519">1519</a> <em class="jxr_javadoccomment"> * @param level level, may not be null.</em> +<a name="1520" href="#1520">1520</a> <em class="jxr_javadoccomment"> * @param bundleName resource bundle name, may be null.</em> +<a name="1521" href="#1521">1521</a> <em class="jxr_javadoccomment"> * @param key key, may be null.</em> +<a name="1522" href="#1522">1522</a> <em class="jxr_javadoccomment"> * @param param0 Parameter to the log message.</em> +<a name="1523" href="#1523">1523</a> <em class="jxr_javadoccomment"> * @param param1 Parameter to the log message.</em> +<a name="1524" href="#1524">1524</a> <em class="jxr_javadoccomment"> * @param param2 Parameter to the log message.</em> +<a name="1525" href="#1525">1525</a> <em class="jxr_javadoccomment"> * @param param3 Parameter to the log message.</em> +<a name="1526" href="#1526">1526</a> <em class="jxr_javadoccomment"> */</em> +<a name="1527" href="#1527">1527</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> logrb(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="1528" href="#1528">1528</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> level, +<a name="1529" href="#1529">1529</a> <strong class="jxr_keyword">final</strong> String bundleName, +<a name="1530" href="#1530">1530</a> <strong class="jxr_keyword">final</strong> String key, +<a name="1531" href="#1531">1531</a> <strong class="jxr_keyword">final</strong> Object param0, +<a name="1532" href="#1532">1532</a> <strong class="jxr_keyword">final</strong> Object param1, +<a name="1533" href="#1533">1533</a> <strong class="jxr_keyword">final</strong> Object param2, +<a name="1534" href="#1534">1534</a> <strong class="jxr_keyword">final</strong> Object param3) { +<a name="1535" href="#1535">1535</a> <strong class="jxr_keyword">if</strong> (logger.isEnabledFor(level)) { +<a name="1536" href="#1536">1536</a> forcedLog(logger, level, +<a name="1537" href="#1537">1537</a> format(bundleName, key, +<a name="1538" href="#1538">1538</a> toArray(param0, param1, param2, param3))); +<a name="1539" href="#1539">1539</a> } +<a name="1540" href="#1540">1540</a> } +<a name="1541" href="#1541">1541</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogXF.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogXF.html new file mode 100644 index 00000000000..ff28212c26a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/LogXF.html @@ -0,0 +1,385 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogXF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/LogXF.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * This is a base class for LogMF and LogSF parameterized logging classes.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> *</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> *</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * @see org.apache.log4j.LogMF</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @see org.apache.log4j.LogSF</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/LogXF.html">LogXF</a> { +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Trace level.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Level.html">Level</a> TRACE = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Level.html">Level</a>(5000, <span class="jxr_string">"TRACE"</span>, 7); +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * Fully Qualified Class Name of this class.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FQCN = LogXF.<strong class="jxr_keyword">class</strong>.getName(); +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/LogXF.html">LogXF</a>() { +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * Returns a Boolean instance representing the specified boolean.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * Boolean.valueOf was added in JDK 1.4.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> *</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @param b a boolean value.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * @return a Boolean instance representing b.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Boolean valueOf(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> b) { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">if</strong> (b) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">return</strong> Boolean.TRUE; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> <strong class="jxr_keyword">return</strong> Boolean.FALSE; +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment">/**</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * Returns a Character instance representing the specified char.</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * Character.valueOf was added in JDK 1.5.</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> *</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * @param c a character value.</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * @return a Character instance representing c.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Character valueOf(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> c) { +<a name="64" href="#64">64</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Character(c); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment">/**</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * Returns a Byte instance representing the specified byte.</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * Byte.valueOf was added in JDK 1.5.</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> *</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * @param b a byte value.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * @return a Byte instance representing b.</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> */</em> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Byte valueOf(<strong class="jxr_keyword">final</strong> byte b) { +<a name="75" href="#75">75</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Byte(b); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * Returns a Short instance representing the specified short.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * Short.valueOf was added in JDK 1.5.</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> *</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * @param b a short value.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * @return a Byte instance representing b.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Short valueOf(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> b) { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Short(b); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * Returns an Integer instance representing the specified int.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * Integer.valueOf was added in JDK 1.5.</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> *</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * @param b an int value.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * @return an Integer instance representing b.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Integer valueOf(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> b) { +<a name="97" href="#97">97</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Integer(b); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">/**</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> * Returns a Long instance representing the specified long.</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * Long.valueOf was added in JDK 1.5.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> *</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> * @param b a long value.</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> * @return a Long instance representing b.</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> */</em> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Long valueOf(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> b) { +<a name="108" href="#108">108</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Long(b); +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">/**</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> * Returns a Float instance representing the specified float.</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> * Float.valueOf was added in JDK 1.5.</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> *</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> * @param b a float value.</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> * @return a Float instance representing b.</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> */</em> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Float valueOf(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> b) { +<a name="119" href="#119">119</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Float(b); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">/**</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> * Returns a Double instance representing the specified double.</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> * Double.valueOf was added in JDK 1.5.</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> *</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> * @param b a double value.</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * @return a Byte instance representing b.</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> */</em> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Double valueOf(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> b) { +<a name="130" href="#130">130</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Double(b); +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">/**</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> * Create new array.</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> *</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> * @param param1 parameter 1.</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> * @return new array.</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> */</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Object[] toArray(<strong class="jxr_keyword">final</strong> Object param1) { +<a name="140" href="#140">140</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Object[]{ +<a name="141" href="#141">141</a> param1 +<a name="142" href="#142">142</a> }; +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">/**</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> * Create new array.</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> *</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> * @param param1 parameter 1.</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * @param param2 parameter 2.</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> * @return new array.</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Object[] toArray(<strong class="jxr_keyword">final</strong> Object param1, +<a name="153" href="#153">153</a> <strong class="jxr_keyword">final</strong> Object param2) { +<a name="154" href="#154">154</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Object[]{ +<a name="155" href="#155">155</a> param1, param2 +<a name="156" href="#156">156</a> }; +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">/**</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> * Create new array.</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> *</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * @param param1 parameter 1.</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * @param param2 parameter 2.</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> * @param param3 parameter 3.</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> * @return new array.</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> */</em> +<a name="167" href="#167">167</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Object[] toArray(<strong class="jxr_keyword">final</strong> Object param1, +<a name="168" href="#168">168</a> <strong class="jxr_keyword">final</strong> Object param2, +<a name="169" href="#169">169</a> <strong class="jxr_keyword">final</strong> Object param3) { +<a name="170" href="#170">170</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Object[]{ +<a name="171" href="#171">171</a> param1, param2, param3 +<a name="172" href="#172">172</a> }; +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">/**</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> * Create new array.</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> *</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> * @param param1 parameter 1.</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * @param param2 parameter 2.</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * @param param3 parameter 3.</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> * @param param4 parameter 4.</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> * @return new array.</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> */</em> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Object[] toArray(<strong class="jxr_keyword">final</strong> Object param1, +<a name="185" href="#185">185</a> <strong class="jxr_keyword">final</strong> Object param2, +<a name="186" href="#186">186</a> <strong class="jxr_keyword">final</strong> Object param3, +<a name="187" href="#187">187</a> <strong class="jxr_keyword">final</strong> Object param4) { +<a name="188" href="#188">188</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Object[]{ +<a name="189" href="#189">189</a> param1, param2, param3, param4 +<a name="190" href="#190">190</a> }; +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">/**</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> * Log an entering message at DEBUG level.</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> *</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> * @param sourceClass source class, may be null.</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> * @param sourceMethod method, may be null.</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> */</em> +<a name="200" href="#200">200</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> entering(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="201" href="#201">201</a> <strong class="jxr_keyword">final</strong> String sourceClass, +<a name="202" href="#202">202</a> <strong class="jxr_keyword">final</strong> String sourceMethod) { +<a name="203" href="#203">203</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="204" href="#204">204</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, Level.DEBUG, +<a name="205" href="#205">205</a> sourceClass + <span class="jxr_string">"."</span> + sourceMethod + <span class="jxr_string">" ENTRY"</span>, <strong class="jxr_keyword">null</strong>)); +<a name="206" href="#206">206</a> } +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">/**</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> * Log an entering message with a parameter at DEBUG level.</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> *</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> * @param sourceClass source class, may be null.</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> * @param sourceMethod method, may be null.</em> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> * @param param parameter, may be null.</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> */</em> +<a name="217" href="#217">217</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> entering(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="218" href="#218">218</a> <strong class="jxr_keyword">final</strong> String sourceClass, +<a name="219" href="#219">219</a> <strong class="jxr_keyword">final</strong> String sourceMethod, +<a name="220" href="#220">220</a> <strong class="jxr_keyword">final</strong> String param) { +<a name="221" href="#221">221</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="222" href="#222">222</a> String msg = sourceClass + <span class="jxr_string">"."</span> + sourceMethod + <span class="jxr_string">" ENTRY "</span> + param; +<a name="223" href="#223">223</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, Level.DEBUG, +<a name="224" href="#224">224</a> msg, <strong class="jxr_keyword">null</strong>)); +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment">/**</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> * Log an entering message with a parameter at DEBUG level.</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> *</em> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> * @param sourceClass source class, may be null.</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> * @param sourceMethod method, may be null.</em> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> * @param param parameter, may be null.</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> */</em> +<a name="236" href="#236">236</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> entering(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="237" href="#237">237</a> <strong class="jxr_keyword">final</strong> String sourceClass, +<a name="238" href="#238">238</a> <strong class="jxr_keyword">final</strong> String sourceMethod, +<a name="239" href="#239">239</a> <strong class="jxr_keyword">final</strong> Object param) { +<a name="240" href="#240">240</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="241" href="#241">241</a> String msg = sourceClass + <span class="jxr_string">"."</span> + sourceMethod + <span class="jxr_string">" ENTRY "</span>; +<a name="242" href="#242">242</a> <strong class="jxr_keyword">if</strong> (param == <strong class="jxr_keyword">null</strong>) { +<a name="243" href="#243">243</a> msg += <span class="jxr_string">"null"</span>; +<a name="244" href="#244">244</a> } <strong class="jxr_keyword">else</strong> { +<a name="245" href="#245">245</a> <strong class="jxr_keyword">try</strong> { +<a name="246" href="#246">246</a> msg += param; +<a name="247" href="#247">247</a> } <strong class="jxr_keyword">catch</strong>(Throwable ex) { +<a name="248" href="#248">248</a> msg += <span class="jxr_string">"?"</span>; +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, Level.DEBUG, +<a name="252" href="#252">252</a> msg, <strong class="jxr_keyword">null</strong>)); +<a name="253" href="#253">253</a> } +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment">/**</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> * Log an entering message with an array of parameters at DEBUG level.</em> +<a name="258" href="#258">258</a> <em class="jxr_javadoccomment"> *</em> +<a name="259" href="#259">259</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment"> * @param sourceClass source class, may be null.</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> * @param sourceMethod method, may be null.</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> * @param params parameters, may be null.</em> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> */</em> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> entering(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="265" href="#265">265</a> <strong class="jxr_keyword">final</strong> String sourceClass, +<a name="266" href="#266">266</a> <strong class="jxr_keyword">final</strong> String sourceMethod, +<a name="267" href="#267">267</a> <strong class="jxr_keyword">final</strong> Object[] params) { +<a name="268" href="#268">268</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="269" href="#269">269</a> String msg = sourceClass + <span class="jxr_string">"."</span> + sourceMethod + <span class="jxr_string">" ENTRY "</span>; +<a name="270" href="#270">270</a> <strong class="jxr_keyword">if</strong> (params != <strong class="jxr_keyword">null</strong> &amp;&amp; params.length &gt; 0) { +<a name="271" href="#271">271</a> String delim = <span class="jxr_string">"{"</span>; +<a name="272" href="#272">272</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; params.length; i++) { +<a name="273" href="#273">273</a> <strong class="jxr_keyword">try</strong> { +<a name="274" href="#274">274</a> msg += delim + params[i]; +<a name="275" href="#275">275</a> } <strong class="jxr_keyword">catch</strong>(Throwable ex) { +<a name="276" href="#276">276</a> msg += delim + <span class="jxr_string">"?"</span>; +<a name="277" href="#277">277</a> } +<a name="278" href="#278">278</a> delim = <span class="jxr_string">","</span>; +<a name="279" href="#279">279</a> } +<a name="280" href="#280">280</a> msg += <span class="jxr_string">"}"</span>; +<a name="281" href="#281">281</a> } <strong class="jxr_keyword">else</strong> { +<a name="282" href="#282">282</a> msg += <span class="jxr_string">"{}"</span>; +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, Level.DEBUG, +<a name="285" href="#285">285</a> msg, <strong class="jxr_keyword">null</strong>)); +<a name="286" href="#286">286</a> } +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> <em class="jxr_javadoccomment">/**</em> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment"> * Log an exiting message at DEBUG level.</em> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment"> *</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment"> * @param sourceClass source class, may be null.</em> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> * @param sourceMethod method, may be null.</em> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment"> */</em> +<a name="296" href="#296">296</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> exiting(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="297" href="#297">297</a> <strong class="jxr_keyword">final</strong> String sourceClass, +<a name="298" href="#298">298</a> <strong class="jxr_keyword">final</strong> String sourceMethod) { +<a name="299" href="#299">299</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="300" href="#300">300</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, Level.DEBUG, +<a name="301" href="#301">301</a> sourceClass + <span class="jxr_string">"."</span> + sourceMethod + <span class="jxr_string">" RETURN"</span>, <strong class="jxr_keyword">null</strong>)); +<a name="302" href="#302">302</a> } +<a name="303" href="#303">303</a> } +<a name="304" href="#304">304</a> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment">/**</em> +<a name="306" href="#306">306</a> <em class="jxr_javadoccomment"> * Log an exiting message with result at DEBUG level.</em> +<a name="307" href="#307">307</a> <em class="jxr_javadoccomment"> *</em> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> * @param sourceClass source class, may be null.</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> * @param sourceMethod method, may be null.</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> * @param result result, may be null.</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> */</em> +<a name="313" href="#313">313</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> exiting( +<a name="314" href="#314">314</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="315" href="#315">315</a> <strong class="jxr_keyword">final</strong> String sourceClass, +<a name="316" href="#316">316</a> <strong class="jxr_keyword">final</strong> String sourceMethod, +<a name="317" href="#317">317</a> <strong class="jxr_keyword">final</strong> String result) { +<a name="318" href="#318">318</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="319" href="#319">319</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, Level.DEBUG, +<a name="320" href="#320">320</a> sourceClass + <span class="jxr_string">"."</span> + sourceMethod + <span class="jxr_string">" RETURN "</span> + result, <strong class="jxr_keyword">null</strong>)); +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> } +<a name="323" href="#323">323</a> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment">/**</em> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> * Log an exiting message with result at DEBUG level.</em> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment"> *</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> * @param sourceClass source class, may be null.</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> * @param sourceMethod method, may be null.</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> * @param result result, may be null.</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> */</em> +<a name="332" href="#332">332</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> exiting( +<a name="333" href="#333">333</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="334" href="#334">334</a> <strong class="jxr_keyword">final</strong> String sourceClass, +<a name="335" href="#335">335</a> <strong class="jxr_keyword">final</strong> String sourceMethod, +<a name="336" href="#336">336</a> <strong class="jxr_keyword">final</strong> Object result) { +<a name="337" href="#337">337</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="338" href="#338">338</a> String msg = sourceClass + <span class="jxr_string">"."</span> + sourceMethod + <span class="jxr_string">" RETURN "</span>; +<a name="339" href="#339">339</a> <strong class="jxr_keyword">if</strong> (result == <strong class="jxr_keyword">null</strong>) { +<a name="340" href="#340">340</a> msg += <span class="jxr_string">"null"</span>; +<a name="341" href="#341">341</a> } <strong class="jxr_keyword">else</strong> { +<a name="342" href="#342">342</a> <strong class="jxr_keyword">try</strong> { +<a name="343" href="#343">343</a> msg += result; +<a name="344" href="#344">344</a> } <strong class="jxr_keyword">catch</strong>(Throwable ex) { +<a name="345" href="#345">345</a> msg += <span class="jxr_string">"?"</span>; +<a name="346" href="#346">346</a> } +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, Level.DEBUG, +<a name="349" href="#349">349</a> msg, <strong class="jxr_keyword">null</strong>)); +<a name="350" href="#350">350</a> } +<a name="351" href="#351">351</a> } +<a name="352" href="#352">352</a> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment">/**</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> * Logs a throwing message at DEBUG level.</em> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment"> *</em> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> * @param logger logger, may not be null.</em> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> * @param sourceClass source class, may be null.</em> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment"> * @param sourceMethod method, may be null.</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> * @param thrown throwable, may be null.</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> */</em> +<a name="361" href="#361">361</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> throwing( +<a name="362" href="#362">362</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="363" href="#363">363</a> <strong class="jxr_keyword">final</strong> String sourceClass, +<a name="364" href="#364">364</a> <strong class="jxr_keyword">final</strong> String sourceMethod, +<a name="365" href="#365">365</a> <strong class="jxr_keyword">final</strong> Throwable thrown) { +<a name="366" href="#366">366</a> <strong class="jxr_keyword">if</strong> (logger.isDebugEnabled()) { +<a name="367" href="#367">367</a> logger.callAppenders(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(FQCN, logger, Level.DEBUG, +<a name="368" href="#368">368</a> sourceClass + <span class="jxr_string">"."</span> + sourceMethod + <span class="jxr_string">" THROW"</span>, thrown)); +<a name="369" href="#369">369</a> } +<a name="370" href="#370">370</a> } +<a name="371" href="#371">371</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Logger.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Logger.html new file mode 100644 index 00000000000..ae1f7d7dc05 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Logger.html @@ -0,0 +1,226 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Logger xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/Logger.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerFactory; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> This is the central class in the log4j package. Most logging</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> operations, except configuration, are done through this class.</em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> @since log4j 1.2</em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml; */</em> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/Logger.html">Logger</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/Category.html">Category</a> { +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> The fully qualified name of the Logger class. See also the</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> getFQCN method. */</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FQCN = Logger.<strong class="jxr_keyword">class</strong>.getName(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">protected</strong> +<a name="39" href="#39">39</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a>(String name) { +<a name="40" href="#40">40</a> <strong class="jxr_keyword">super</strong>(name); +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> Log a message object with the {@link Level#FINE FINE} level which</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> is just an alias for the {@link Level#DEBUG DEBUG} level.</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method first checks if this category is &lt;code&gt;DEBUG&lt;/code&gt;</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> enabled by comparing the level of this category with the {@link</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> Level#DEBUG DEBUG} level. If this category is</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> &lt;code&gt;DEBUG&lt;/code&gt; enabled, then it converts the message object</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> (passed as parameter) to a string by invoking the appropriate</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> {@link org.apache.log4j.or.ObjectRenderer}. It then proceeds to call all the</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> registered appenders in this category and also higher in the</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> hierarchy depending on the value of the additivity flag.</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Note that passing a {@link Throwable} to this</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> method will print the name of the &lt;code&gt;Throwable&lt;/code&gt; but no</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> stack trace. To print a stack trace use the {@link #debug(Object,</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> Throwable)} form instead.</em> +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> @param message the message object to log. */</em> +<a name="62" href="#62">62</a> <em class="jxr_comment">//public</em> +<a name="63" href="#63">63</a> <em class="jxr_comment">//void fine(Object message) {</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">// if(repository.isDisabled(Level.DEBUG_INT))</em> +<a name="65" href="#65">65</a> <em class="jxr_comment">// return;</em> +<a name="66" href="#66">66</a> <em class="jxr_comment">// if(Level.DEBUG.isGreaterOrEqual(this.getChainedLevel())) {</em> +<a name="67" href="#67">67</a> <em class="jxr_comment">// forcedLog(FQCN, Level.DEBUG, message, null);</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">// }</em> +<a name="69" href="#69">69</a> <em class="jxr_comment">//}</em> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment">/**</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> Log a message object with the &lt;code&gt;FINE&lt;/code&gt; level including</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> the stack trace of the {@link Throwable} &lt;code&gt;t&lt;/code&gt; passed as</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> parameter.</em> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> &lt;p&gt;See {@link #fine(Object)} form for more detailed information.</em> +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> @param message the message object to log.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> @param t the exception to log, including its stack trace. */</em> +<a name="81" href="#81">81</a> <em class="jxr_comment">//public</em> +<a name="82" href="#82">82</a> <em class="jxr_comment">//void fine(Object message, Throwable t) {</em> +<a name="83" href="#83">83</a> <em class="jxr_comment">// if(repository.isDisabled(Level.DEBUG_INT))</em> +<a name="84" href="#84">84</a> <em class="jxr_comment">// return;</em> +<a name="85" href="#85">85</a> <em class="jxr_comment">// if(Level.DEBUG.isGreaterOrEqual(this.getChainedLevel()))</em> +<a name="86" href="#86">86</a> <em class="jxr_comment">// forcedLog(FQCN, Level.FINE, message, t);</em> +<a name="87" href="#87">87</a> <em class="jxr_comment">//}</em> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * Retrieve a logger named according to the value of the</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * &lt;code&gt;name&lt;/code&gt; parameter. If the named logger already exists,</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * then the existing instance will be returned. Otherwise, a new</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * instance is created. </em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> *</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * &lt;p&gt;By default, loggers do not have a set level but inherit it</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * from their neareast ancestor with a set level. This is one of the</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> * central features of log4j.</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> *</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> * @param name The name of the logger to retrieve. </em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> */</em> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">static</strong> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> +<a name="103" href="#103">103</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getLogger(String name) { +<a name="104" href="#104">104</a> <strong class="jxr_keyword">return</strong> LogManager.getLogger(name); +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">/**</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * Shorthand for &lt;code&gt;getLogger(clazz.getName())&lt;/code&gt;.</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> *</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> * @param clazz The name of &lt;code&gt;clazz&lt;/code&gt; will be used as the</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> * name of the logger to retrieve. See {@link #getLogger(String)}</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> * for more detailed information.</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> */</em> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">static</strong> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">public</strong> +<a name="116" href="#116">116</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getLogger(Class clazz) { +<a name="117" href="#117">117</a> <strong class="jxr_keyword">return</strong> LogManager.getLogger(clazz.getName()); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">/**</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> * Return the root logger for the current logger repository.</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> * The {@link #getName Logger.getName()} method for the root logger always returns</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> * stirng value: "root". However, calling</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> * &lt;code&gt;Logger.getLogger("root")&lt;/code&gt; does not retrieve the root</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * logger but a logger just under root named "root".</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> * In other words, calling this method is the only way to retrieve the </em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> * root logger.</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> */</em> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">public</strong> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">static</strong> +<a name="134" href="#134">134</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getRootLogger() { +<a name="135" href="#135">135</a> <strong class="jxr_keyword">return</strong> LogManager.getRootLogger(); +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment">/**</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> Like {@link #getLogger(String)} except that the type of logger</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> instantiated depends on the type returned by the {@link</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> LoggerFactory#makeNewLoggerInstance} method of the</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> &lt;code&gt;factory&lt;/code&gt; parameter.</em> +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method is intended to be used by sub-classes.</em> +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> @param name The name of the logger to retrieve.</em> +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> @param factory A {@link LoggerFactory} implementation that will</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> actually create a new Instance.</em> +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> @since 0.8.5 */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">static</strong> +<a name="154" href="#154">154</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> getLogger(String name, <a href="../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> factory) { +<a name="155" href="#155">155</a> <strong class="jxr_keyword">return</strong> LogManager.getLogger(name, factory); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">/**</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> * Log a message object with the {@link org.apache.log4j.Level#TRACE TRACE} level.</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> *</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> * @param message the message object to log.</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * @see #debug(Object) for an explanation of the logic applied.</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * @since 1.2.12</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(Object message) { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">if</strong> (repository.isDisabled(Level.TRACE_INT)) { +<a name="167" href="#167">167</a> <strong class="jxr_keyword">return</strong>; +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">if</strong> (Level.TRACE.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) { +<a name="171" href="#171">171</a> forcedLog(FQCN, Level.TRACE, message, <strong class="jxr_keyword">null</strong>); +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">/**</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> * Log a message object with the &lt;code&gt;TRACE&lt;/code&gt; level including the</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> * stack trace of the {@link Throwable}&lt;code&gt;t&lt;/code&gt; passed as parameter.</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> *</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * See {@link #debug(Object)} form for more detailed information.</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> *</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> * @param message the message object to log.</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> * @param t the exception to log, including its stack trace.</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> * @since 1.2.12</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> */</em> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(Object message, Throwable t) { +<a name="188" href="#188">188</a> <strong class="jxr_keyword">if</strong> (repository.isDisabled(Level.TRACE_INT)) { +<a name="189" href="#189">189</a> <strong class="jxr_keyword">return</strong>; +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> <strong class="jxr_keyword">if</strong> (Level.TRACE.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel())) { +<a name="193" href="#193">193</a> forcedLog(FQCN, Level.TRACE, message, t); +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> } +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">/**</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> * Check whether this category is enabled for the TRACE Level.</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> * @since 1.2.12</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> *</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> * @return boolean - &lt;code&gt;true&lt;/code&gt; if this category is enabled for level</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> * TRACE, &lt;code&gt;false&lt;/code&gt; otherwise.</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> */</em> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTraceEnabled() { +<a name="205" href="#205">205</a> <strong class="jxr_keyword">if</strong> (repository.isDisabled(Level.TRACE_INT)) { +<a name="206" href="#206">206</a> <strong class="jxr_keyword">return</strong> false; +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <strong class="jxr_keyword">return</strong> Level.TRACE.isGreaterOrEqual(<strong class="jxr_keyword">this</strong>.getEffectiveLevel()); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/MDC.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/MDC.html new file mode 100644 index 00000000000..664f316f83a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/MDC.html @@ -0,0 +1,201 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MDC xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/MDC.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.Loader; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.ThreadLocalMap; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> The MDC class is similar to the {@link NDC} class except that it is</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> based on a map instead of a stack. It provides &lt;em&gt;mapped</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> diagnostic contexts&lt;/em&gt;. A &lt;em&gt;Mapped Diagnostic Context&lt;/em&gt;, or</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> MDC in short, is an instrument for distinguishing interleaved log</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> output from different sources. Log output is typically interleaved</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> when a server handles multiple clients near-simultaneously.</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;&lt;em&gt;The MDC is managed on a per thread basis&lt;/em&gt;&lt;/b&gt;. A</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> child thread automatically inherits a &lt;em&gt;copy&lt;/em&gt; of the mapped</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> diagnostic context of its parent.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> </em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> &lt;p&gt;The MDC class requires JDK 1.2 or above. Under JDK 1.1 the MDC</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> will always return empty values but otherwise will not affect or</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> harm your application.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> </em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> @since 1.2</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml; */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/MDC.html">MDC</a> { +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../org/apache/log4j/MDC.html">MDC</a> mdc = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/MDC.html">MDC</a>(); +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> HT_SIZE = 7; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">boolean</strong> java1; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> Object tlm; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">private</strong> +<a name="54" href="#54">54</a> <a href="../../../org/apache/log4j/MDC.html">MDC</a>() { +<a name="55" href="#55">55</a> java1 = Loader.isJava1(); +<a name="56" href="#56">56</a> <strong class="jxr_keyword">if</strong>(!java1) { +<a name="57" href="#57">57</a> tlm = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/helpers/ThreadLocalMap.html">ThreadLocalMap</a>(); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> Put a context value (the &lt;code&gt;o&lt;/code&gt; parameter) as identified</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> with the &lt;code&gt;key&lt;/code&gt; parameter into the current thread's</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> context map.</em> +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the current thread does not have a context map it is</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> created as a side effect.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> </em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> */</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">static</strong> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">void</strong> put(String key, Object o) { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">if</strong> (mdc != <strong class="jxr_keyword">null</strong>) { +<a name="74" href="#74">74</a> mdc.put0(key, o); +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> Get the context identified by the &lt;code&gt;key&lt;/code&gt; parameter.</em> +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method has no side effects.</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> */</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">static</strong> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">public</strong> +<a name="85" href="#85">85</a> Object get(String key) { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">if</strong> (mdc != <strong class="jxr_keyword">null</strong>) { +<a name="87" href="#87">87</a> <strong class="jxr_keyword">return</strong> mdc.get0(key); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> Remove the the context identified by the &lt;code&gt;key&lt;/code&gt;</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> parameter.</em> +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> */</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">static</strong> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">public</strong> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">void</strong> remove(String key) { +<a name="100" href="#100">100</a> <strong class="jxr_keyword">if</strong> (mdc != <strong class="jxr_keyword">null</strong>) { +<a name="101" href="#101">101</a> mdc.remove0(key); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">/**</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * Get the current thread's MDC as a hashtable. This method is</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * intended to be used internally. </em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> * */</em> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Hashtable getContext() { +<a name="111" href="#111">111</a> <strong class="jxr_keyword">if</strong> (mdc != <strong class="jxr_keyword">null</strong>) { +<a name="112" href="#112">112</a> <strong class="jxr_keyword">return</strong> mdc.getContext0(); +<a name="113" href="#113">113</a> } <strong class="jxr_keyword">else</strong> { +<a name="114" href="#114">114</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">/**</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> * Remove all values from the MDC.</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> clear() { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">if</strong> (mdc != <strong class="jxr_keyword">null</strong>) { +<a name="124" href="#124">124</a> mdc.clear0(); +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">private</strong> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">void</strong> put0(String key, Object o) { +<a name="131" href="#131">131</a> <strong class="jxr_keyword">if</strong>(java1 || tlm == <strong class="jxr_keyword">null</strong>) { +<a name="132" href="#132">132</a> <strong class="jxr_keyword">return</strong>; +<a name="133" href="#133">133</a> } <strong class="jxr_keyword">else</strong> { +<a name="134" href="#134">134</a> Hashtable ht = (Hashtable) ((ThreadLocalMap)tlm).get(); +<a name="135" href="#135">135</a> <strong class="jxr_keyword">if</strong>(ht == <strong class="jxr_keyword">null</strong>) { +<a name="136" href="#136">136</a> ht = <strong class="jxr_keyword">new</strong> Hashtable(HT_SIZE); +<a name="137" href="#137">137</a> ((<a href="../../../org/apache/log4j/helpers/ThreadLocalMap.html">ThreadLocalMap</a>)tlm).set(ht); +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> ht.put(key, o); +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">private</strong> +<a name="144" href="#144">144</a> Object get0(String key) { +<a name="145" href="#145">145</a> <strong class="jxr_keyword">if</strong>(java1 || tlm == <strong class="jxr_keyword">null</strong>) { +<a name="146" href="#146">146</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="147" href="#147">147</a> } <strong class="jxr_keyword">else</strong> { +<a name="148" href="#148">148</a> Hashtable ht = (Hashtable) ((ThreadLocalMap)tlm).get(); +<a name="149" href="#149">149</a> <strong class="jxr_keyword">if</strong>(ht != <strong class="jxr_keyword">null</strong> &amp;&amp; key != <strong class="jxr_keyword">null</strong>) { +<a name="150" href="#150">150</a> <strong class="jxr_keyword">return</strong> ht.get(key); +<a name="151" href="#151">151</a> } <strong class="jxr_keyword">else</strong> { +<a name="152" href="#152">152</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">private</strong> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">void</strong> remove0(String key) { +<a name="159" href="#159">159</a> <strong class="jxr_keyword">if</strong>(!java1 &amp;&amp; tlm != <strong class="jxr_keyword">null</strong>) { +<a name="160" href="#160">160</a> Hashtable ht = (Hashtable) ((ThreadLocalMap)tlm).get(); +<a name="161" href="#161">161</a> <strong class="jxr_keyword">if</strong>(ht != <strong class="jxr_keyword">null</strong>) { +<a name="162" href="#162">162</a> ht.remove(key); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">private</strong> +<a name="169" href="#169">169</a> Hashtable getContext0() { +<a name="170" href="#170">170</a> <strong class="jxr_keyword">if</strong>(java1 || tlm == <strong class="jxr_keyword">null</strong>) { +<a name="171" href="#171">171</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="172" href="#172">172</a> } <strong class="jxr_keyword">else</strong> { +<a name="173" href="#173">173</a> <strong class="jxr_keyword">return</strong> (Hashtable) ((ThreadLocalMap)tlm).get(); +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <strong class="jxr_keyword">private</strong> +<a name="178" href="#178">178</a> <strong class="jxr_keyword">void</strong> clear0() { +<a name="179" href="#179">179</a> <strong class="jxr_keyword">if</strong>(!java1 &amp;&amp; tlm != <strong class="jxr_keyword">null</strong>) { +<a name="180" href="#180">180</a> Hashtable ht = (Hashtable) ((ThreadLocalMap)tlm).get(); +<a name="181" href="#181">181</a> <strong class="jxr_keyword">if</strong>(ht != <strong class="jxr_keyword">null</strong>) { +<a name="182" href="#182">182</a> ht.clear(); +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> } +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/NDC.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/NDC.html new file mode 100644 index 00000000000..4fc661deb90 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/NDC.html @@ -0,0 +1,450 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NDC xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/NDC.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contributors: Dan Milstein </em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// Ray Millard</em> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Stack; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> The NDC class implements &lt;i&gt;nested diagnostic contexts&lt;/i&gt; as</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> defined by Neil Harrison in the article "Patterns for Logging</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> Diagnostic Messages" part of the book "&lt;i&gt;Pattern Languages of</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> Program Design 3&lt;/i&gt;" edited by Martin et al.</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> &lt;p&gt;A Nested Diagnostic Context, or NDC in short, is an instrument</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> to distinguish interleaved log output from different sources. Log</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> output is typically interleaved when a server handles multiple</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> clients near-simultaneously.</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> &lt;p&gt;Interleaved log output can still be meaningful if each log entry</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> from different contexts had a distinctive stamp. This is where NDCs</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> come into play.</em> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;em&gt;&lt;b&gt;Note that NDCs are managed on a per thread</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> basis&lt;/b&gt;&lt;/em&gt;. NDC operations such as {@link #push push}, {@link</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> #pop}, {@link #clear}, {@link #getDepth} and {@link #setMaxDepth}</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> affect the NDC of the &lt;em&gt;current&lt;/em&gt; thread only. NDCs of other</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> threads remain unaffected.</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, a servlet can build a per client request NDC</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> consisting the clients host name and other information contained in</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> the the request. &lt;em&gt;Cookies&lt;/em&gt; are another source of distinctive</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> information. To build an NDC one uses the {@link #push push}</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> operation. Simply put,</em> +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;ul&gt;</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> &lt;li&gt;Contexts can be nested.</em> +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;When entering a context, call &lt;code&gt;NDC.push&lt;/code&gt;. As a</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> side effect, if there is no nested diagnostic context for the</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> current thread, this method will create it.</em> +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;When leaving a context, call &lt;code&gt;NDC.pop&lt;/code&gt;.</em> +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;&lt;b&gt;When exiting a thread make sure to call {@link #remove</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> NDC.remove()}&lt;/b&gt;. </em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> &lt;/ul&gt;</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> </em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> &lt;p&gt;There is no penalty for forgetting to match each</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> &lt;code&gt;push&lt;/code&gt; operation with a corresponding &lt;code&gt;pop&lt;/code&gt;,</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> except the obvious mismatch between the real application context</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> and the context set in the NDC.</em> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> &lt;p&gt;If configured to do so, {@link PatternLayout} and {@link</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> TTCCLayout} instances automatically retrieve the nested diagnostic</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> context for the current thread without any user intervention.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> Hence, even if a servlet is serving multiple clients</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> simultaneously, the logs emanating from the same code (belonging to</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> the same category) can still be distinguished because each client</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> request will have a different NDC tag.</em> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> &lt;p&gt;Heavy duty systems should call the {@link #remove} method when</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> leaving the run method of a thread. This ensures that the memory</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> used by the thread can be freed by the Java garbage</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> collector. There is a mechanism to lazily remove references to dead</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> threads. In practice, this means that you can be a little sloppy</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> and sometimes forget to call {@link #remove} before exiting a</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> thread.</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> </em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> &lt;p&gt;A thread may inherit the nested diagnostic context of another</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> (possibly parent) thread using the {@link #inherit inherit}</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> method. A thread may obtain a copy of its NDC with the {@link</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> #cloneStack cloneStack} method and pass the reference to any other</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> thread, in particular to a child.</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> </em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> @since 0.7.0</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> </em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">*/</em> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/NDC.html">NDC</a> { +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_comment">// The synchronized keyword is not used in this class. This may seem</em> +<a name="105" href="#105">105</a> <em class="jxr_comment">// dangerous, especially since the class will be used by</em> +<a name="106" href="#106">106</a> <em class="jxr_comment">// multiple-threads. In particular, all threads share the same</em> +<a name="107" href="#107">107</a> <em class="jxr_comment">// hashtable (the "ht" variable). This is OK since java hashtables</em> +<a name="108" href="#108">108</a> <em class="jxr_comment">// are thread safe. Same goes for Stacks.</em> +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_comment">// More importantly, when inheriting diagnostic contexts the child</em> +<a name="111" href="#111">111</a> <em class="jxr_comment">// thread is handed a clone of the parent's NDC. It follows that</em> +<a name="112" href="#112">112</a> <em class="jxr_comment">// each thread has its own NDC (i.e. stack).</em> +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">static</strong> Hashtable ht = <strong class="jxr_keyword">new</strong> Hashtable(); +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> pushCounter = 0; <em class="jxr_comment">// the number of times push has been called</em> +<a name="117" href="#117">117</a> <em class="jxr_comment">// after the latest call to lazyRemove</em> +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em class="jxr_comment">// The number of times we allow push to be called before we call lazyRemove</em> +<a name="120" href="#120">120</a> <em class="jxr_comment">// 5 is a relatively small number. As such, lazyRemove is not called too</em> +<a name="121" href="#121">121</a> <em class="jxr_comment">// frequently. We thus avoid the cost of creating an Enumeration too often.</em> +<a name="122" href="#122">122</a> <em class="jxr_comment">// The higher this number, the longer is the avarage period for which all</em> +<a name="123" href="#123">123</a> <em class="jxr_comment">// logging calls in all threads are blocked.</em> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> REAP_THRESHOLD = 5; +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_comment">// No instances allowed.</em> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/NDC.html">NDC</a>() {} +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">/**</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> * Get NDC stack for current thread.</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> * @return NDC stack for current thread.</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> */</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Stack getCurrentStack() { +<a name="134" href="#134">134</a> <strong class="jxr_keyword">if</strong> (ht != <strong class="jxr_keyword">null</strong>) { +<a name="135" href="#135">135</a> <strong class="jxr_keyword">return</strong> (Stack) ht.get(Thread.currentThread()); +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">/**</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> Clear any nested diagnostic information if any. This method is</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> useful in cases where the same thread can be potentially used</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> over and over in different unrelated contexts.</em> +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method is equivalent to calling the {@link #setMaxDepth}</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> method with a zero &lt;code&gt;maxDepth&lt;/code&gt; argument.</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> </em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> @since 0.8.4c */</em> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">public</strong> +<a name="151" href="#151">151</a> <strong class="jxr_keyword">static</strong> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">void</strong> clear() { +<a name="153" href="#153">153</a> Stack stack = getCurrentStack(); +<a name="154" href="#154">154</a> <strong class="jxr_keyword">if</strong>(stack != <strong class="jxr_keyword">null</strong>) +<a name="155" href="#155">155</a> stack.setSize(0); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">/**</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> Clone the diagnostic context for the current thread.</em> +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> &lt;p&gt;Internally a diagnostic context is represented as a stack. A</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> given thread can supply the stack (i.e. diagnostic context) to a</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> child thread so that the child can inherit the parent thread's</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> diagnostic context.</em> +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> &lt;p&gt;The child thread uses the {@link #inherit inherit} method to</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> inherit the parent's diagnostic context.</em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> </em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> @return Stack A clone of the current thread's diagnostic context.</em> +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> */</em> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">public</strong> +<a name="174" href="#174">174</a> <strong class="jxr_keyword">static</strong> +<a name="175" href="#175">175</a> Stack cloneStack() { +<a name="176" href="#176">176</a> Stack stack = getCurrentStack(); +<a name="177" href="#177">177</a> <strong class="jxr_keyword">if</strong>(stack == <strong class="jxr_keyword">null</strong>) +<a name="178" href="#178">178</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="179" href="#179">179</a> <strong class="jxr_keyword">else</strong> { +<a name="180" href="#180">180</a> <strong class="jxr_keyword">return</strong> (Stack) stack.clone(); +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">/**</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> Inherit the diagnostic context of another thread.</em> +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment"> &lt;p&gt;The parent thread can obtain a reference to its diagnostic</em> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment"> context using the {@link #cloneStack} method. It should</em> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> communicate this information to its child so that it may inherit</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> the parent's diagnostic context.</em> +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> &lt;p&gt;The parent's diagnostic context is cloned before being</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> inherited. In other words, once inherited, the two diagnostic</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> contexts can be managed independently.</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> </em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> &lt;p&gt;In java, a child thread cannot obtain a reference to its</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> parent, unless it is directly handed the reference. Consequently,</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> there is no client-transparent way of inheriting diagnostic</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> contexts. Do you know any solution to this problem?</em> +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> @param stack The diagnostic context of the parent thread.</em> +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> */</em> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">public</strong> +<a name="206" href="#206">206</a> <strong class="jxr_keyword">static</strong> +<a name="207" href="#207">207</a> <strong class="jxr_keyword">void</strong> inherit(Stack stack) { +<a name="208" href="#208">208</a> <strong class="jxr_keyword">if</strong>(stack != <strong class="jxr_keyword">null</strong>) +<a name="209" href="#209">209</a> ht.put(Thread.currentThread(), stack); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">/**</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> &lt;font color="#FF4040"&gt;&lt;b&gt;Never use this method directly, use the {@link</em> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> org.apache.log4j.spi.LoggingEvent#getNDC} method instead&lt;/b&gt;&lt;/font&gt;.</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> */</em> +<a name="217" href="#217">217</a> <strong class="jxr_keyword">static</strong> +<a name="218" href="#218">218</a> <strong class="jxr_keyword">public</strong> +<a name="219" href="#219">219</a> String get() { +<a name="220" href="#220">220</a> Stack s = getCurrentStack(); +<a name="221" href="#221">221</a> <strong class="jxr_keyword">if</strong>(s != <strong class="jxr_keyword">null</strong> &amp;&amp; !s.isEmpty()) +<a name="222" href="#222">222</a> <strong class="jxr_keyword">return</strong> ((DiagnosticContext) s.peek()).fullMessage; +<a name="223" href="#223">223</a> <strong class="jxr_keyword">else</strong> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment">/**</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> * Get the current nesting depth of this diagnostic context.</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> *</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> * @see #setMaxDepth</em> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> * @since 0.7.5</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> */</em> +<a name="233" href="#233">233</a> <strong class="jxr_keyword">public</strong> +<a name="234" href="#234">234</a> <strong class="jxr_keyword">static</strong> +<a name="235" href="#235">235</a> <strong class="jxr_keyword">int</strong> getDepth() { +<a name="236" href="#236">236</a> Stack stack = getCurrentStack(); +<a name="237" href="#237">237</a> <strong class="jxr_keyword">if</strong>(stack == <strong class="jxr_keyword">null</strong>) +<a name="238" href="#238">238</a> <strong class="jxr_keyword">return</strong> 0; +<a name="239" href="#239">239</a> <strong class="jxr_keyword">else</strong> +<a name="240" href="#240">240</a> <strong class="jxr_keyword">return</strong> stack.size(); +<a name="241" href="#241">241</a> } +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <strong class="jxr_keyword">private</strong> +<a name="244" href="#244">244</a> <strong class="jxr_keyword">static</strong> +<a name="245" href="#245">245</a> <strong class="jxr_keyword">void</strong> lazyRemove() { +<a name="246" href="#246">246</a> <strong class="jxr_keyword">if</strong> (ht == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong>; +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> <em class="jxr_comment">// The synchronization on ht is necessary to prevent JDK 1.2.x from</em> +<a name="249" href="#249">249</a> <em class="jxr_comment">// throwing ConcurrentModificationExceptions at us. This sucks BIG-TIME.</em> +<a name="250" href="#250">250</a> <em class="jxr_comment">// One solution is to write our own hashtable implementation.</em> +<a name="251" href="#251">251</a> Vector v; +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <strong class="jxr_keyword">synchronized</strong>(ht) { +<a name="254" href="#254">254</a> <em class="jxr_comment">// Avoid calling clean-up too often.</em> +<a name="255" href="#255">255</a> <strong class="jxr_keyword">if</strong>(++pushCounter &lt;= REAP_THRESHOLD) { +<a name="256" href="#256">256</a> <strong class="jxr_keyword">return</strong>; <em class="jxr_comment">// We release the lock ASAP.</em> +<a name="257" href="#257">257</a> } <strong class="jxr_keyword">else</strong> { +<a name="258" href="#258">258</a> pushCounter = 0; <em class="jxr_comment">// OK let's do some work.</em> +<a name="259" href="#259">259</a> } +<a name="260" href="#260">260</a> +<a name="261" href="#261">261</a> <strong class="jxr_keyword">int</strong> misses = 0; +<a name="262" href="#262">262</a> v = <strong class="jxr_keyword">new</strong> Vector(); +<a name="263" href="#263">263</a> Enumeration enumeration = ht.keys(); +<a name="264" href="#264">264</a> <em class="jxr_comment">// We give up after 4 straigt missses. That is 4 consecutive</em> +<a name="265" href="#265">265</a> <em class="jxr_comment">// inspected threads in 'ht' that turn out to be alive.</em> +<a name="266" href="#266">266</a> <em class="jxr_comment">// The higher the proportion on dead threads in ht, the higher the</em> +<a name="267" href="#267">267</a> <em class="jxr_comment">// chances of removal.</em> +<a name="268" href="#268">268</a> <strong class="jxr_keyword">while</strong>(enumeration.hasMoreElements() &amp;&amp; (misses &lt;= 4)) { +<a name="269" href="#269">269</a> Thread t = (Thread) enumeration.nextElement(); +<a name="270" href="#270">270</a> <strong class="jxr_keyword">if</strong>(t.isAlive()) { +<a name="271" href="#271">271</a> misses++; +<a name="272" href="#272">272</a> } <strong class="jxr_keyword">else</strong> { +<a name="273" href="#273">273</a> misses = 0; +<a name="274" href="#274">274</a> v.addElement(t); +<a name="275" href="#275">275</a> } +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> } <em class="jxr_comment">// synchronized</em> +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">int</strong> size = v.size(); +<a name="280" href="#280">280</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size; i++) { +<a name="281" href="#281">281</a> Thread t = (Thread) v.elementAt(i); +<a name="282" href="#282">282</a> LogLog.debug(<span class="jxr_string">"Lazy NDC removal for thread ["</span> + t.getName() + <span class="jxr_string">"] ("</span>+ +<a name="283" href="#283">283</a> ht.size() + <span class="jxr_string">")."</span>); +<a name="284" href="#284">284</a> ht.remove(t); +<a name="285" href="#285">285</a> } +<a name="286" href="#286">286</a> } +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> <em class="jxr_javadoccomment">/**</em> +<a name="289" href="#289">289</a> <em class="jxr_javadoccomment"> Clients should call this method before leaving a diagnostic</em> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment"> context.</em> +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> &lt;p&gt;The returned value is the value that was pushed last. If no</em> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment"> context is available, then the empty string "" is returned.</em> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> </em> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment"> @return String The innermost diagnostic context.</em> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment"> </em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> */</em> +<a name="298" href="#298">298</a> <strong class="jxr_keyword">public</strong> +<a name="299" href="#299">299</a> <strong class="jxr_keyword">static</strong> +<a name="300" href="#300">300</a> String pop() { +<a name="301" href="#301">301</a> Stack stack = getCurrentStack(); +<a name="302" href="#302">302</a> <strong class="jxr_keyword">if</strong>(stack != <strong class="jxr_keyword">null</strong> &amp;&amp; !stack.isEmpty()) +<a name="303" href="#303">303</a> <strong class="jxr_keyword">return</strong> ((DiagnosticContext) stack.pop()).message; +<a name="304" href="#304">304</a> <strong class="jxr_keyword">else</strong> +<a name="305" href="#305">305</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>; +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">/**</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> Looks at the last diagnostic context at the top of this NDC</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> without removing it.</em> +<a name="311" href="#311">311</a> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> &lt;p&gt;The returned value is the value that was pushed last. If no</em> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment"> context is available, then the empty string "" is returned.</em> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment"> </em> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> @return String The innermost diagnostic context.</em> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> </em> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment"> */</em> +<a name="318" href="#318">318</a> <strong class="jxr_keyword">public</strong> +<a name="319" href="#319">319</a> <strong class="jxr_keyword">static</strong> +<a name="320" href="#320">320</a> String peek() { +<a name="321" href="#321">321</a> Stack stack = getCurrentStack(); +<a name="322" href="#322">322</a> <strong class="jxr_keyword">if</strong>(stack != <strong class="jxr_keyword">null</strong> &amp;&amp; !stack.isEmpty()) +<a name="323" href="#323">323</a> <strong class="jxr_keyword">return</strong> ((DiagnosticContext) stack.peek()).message; +<a name="324" href="#324">324</a> <strong class="jxr_keyword">else</strong> +<a name="325" href="#325">325</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>; +<a name="326" href="#326">326</a> } +<a name="327" href="#327">327</a> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">/**</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> Push new diagnostic context information for the current thread.</em> +<a name="330" href="#330">330</a> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> &lt;p&gt;The contents of the &lt;code&gt;message&lt;/code&gt; parameter is</em> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> determined solely by the client. </em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> </em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> @param message The new diagnostic context information. */</em> +<a name="335" href="#335">335</a> <strong class="jxr_keyword">public</strong> +<a name="336" href="#336">336</a> <strong class="jxr_keyword">static</strong> +<a name="337" href="#337">337</a> <strong class="jxr_keyword">void</strong> push(String message) { +<a name="338" href="#338">338</a> Stack stack = getCurrentStack(); +<a name="339" href="#339">339</a> +<a name="340" href="#340">340</a> <strong class="jxr_keyword">if</strong>(stack == <strong class="jxr_keyword">null</strong>) { +<a name="341" href="#341">341</a> <a href="../../../org/apache/log4j/NDC.html">DiagnosticContext</a> dc = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/NDC.html">DiagnosticContext</a>(message, <strong class="jxr_keyword">null</strong>); +<a name="342" href="#342">342</a> stack = <strong class="jxr_keyword">new</strong> Stack(); +<a name="343" href="#343">343</a> Thread key = Thread.currentThread(); +<a name="344" href="#344">344</a> ht.put(key, stack); +<a name="345" href="#345">345</a> stack.push(dc); +<a name="346" href="#346">346</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (stack.isEmpty()) { +<a name="347" href="#347">347</a> <a href="../../../org/apache/log4j/NDC.html">DiagnosticContext</a> dc = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/NDC.html">DiagnosticContext</a>(message, <strong class="jxr_keyword">null</strong>); +<a name="348" href="#348">348</a> stack.push(dc); +<a name="349" href="#349">349</a> } <strong class="jxr_keyword">else</strong> { +<a name="350" href="#350">350</a> <a href="../../../org/apache/log4j/NDC.html">DiagnosticContext</a> parent = (DiagnosticContext) stack.peek(); +<a name="351" href="#351">351</a> stack.push(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/NDC.html">DiagnosticContext</a>(message, parent)); +<a name="352" href="#352">352</a> } +<a name="353" href="#353">353</a> } +<a name="354" href="#354">354</a> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment">/**</em> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> Remove the diagnostic context for this thread.</em> +<a name="357" href="#357">357</a> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment"> &lt;p&gt;Each thread that created a diagnostic context by calling</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> {@link #push} should call this method before exiting. Otherwise,</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> the memory used by the &lt;b&gt;thread&lt;/b&gt; cannot be reclaimed by the</em> +<a name="361" href="#361">361</a> <em class="jxr_javadoccomment"> VM.</em> +<a name="362" href="#362">362</a> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> &lt;p&gt;As this is such an important problem in heavy duty systems and</em> +<a name="364" href="#364">364</a> <em class="jxr_javadoccomment"> because it is difficult to always guarantee that the remove</em> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment"> method is called before exiting a thread, this method has been</em> +<a name="366" href="#366">366</a> <em class="jxr_javadoccomment"> augmented to lazily remove references to dead threads. In</em> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment"> practice, this means that you can be a little sloppy and</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> occasionally forget to call {@link #remove} before exiting a</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> thread. However, you must call &lt;code&gt;remove&lt;/code&gt; sometime. If</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> you never call it, then your application is sure to run out of</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> memory.</em> +<a name="372" href="#372">372</a> <em class="jxr_javadoccomment"> </em> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment"> */</em> +<a name="374" href="#374">374</a> <strong class="jxr_keyword">static</strong> +<a name="375" href="#375">375</a> <strong class="jxr_keyword">public</strong> +<a name="376" href="#376">376</a> <strong class="jxr_keyword">void</strong> remove() { +<a name="377" href="#377">377</a> <strong class="jxr_keyword">if</strong> (ht != <strong class="jxr_keyword">null</strong>) { +<a name="378" href="#378">378</a> ht.remove(Thread.currentThread()); +<a name="379" href="#379">379</a> +<a name="380" href="#380">380</a> <em class="jxr_comment">// Lazily remove dead-thread references in ht.</em> +<a name="381" href="#381">381</a> lazyRemove(); +<a name="382" href="#382">382</a> } +<a name="383" href="#383">383</a> } +<a name="384" href="#384">384</a> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment">/**</em> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> Set maximum depth of this diagnostic context. If the current</em> +<a name="387" href="#387">387</a> <em class="jxr_javadoccomment"> depth is smaller or equal to &lt;code&gt;maxDepth&lt;/code&gt;, then no</em> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment"> action is taken.</em> +<a name="389" href="#389">389</a> +<a name="390" href="#390">390</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method is a convenient alternative to multiple {@link</em> +<a name="391" href="#391">391</a> <em class="jxr_javadoccomment"> #pop} calls. Moreover, it is often the case that at the end of</em> +<a name="392" href="#392">392</a> <em class="jxr_javadoccomment"> complex call sequences, the depth of the NDC is</em> +<a name="393" href="#393">393</a> <em class="jxr_javadoccomment"> unpredictable. The &lt;code&gt;setMaxDepth&lt;/code&gt; method circumvents</em> +<a name="394" href="#394">394</a> <em class="jxr_javadoccomment"> this problem.</em> +<a name="395" href="#395">395</a> +<a name="396" href="#396">396</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, the combination</em> +<a name="397" href="#397">397</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="398" href="#398">398</a> <em class="jxr_javadoccomment"> void foo() {</em> +<a name="399" href="#399">399</a> <em class="jxr_javadoccomment"> &amp;nbsp; int depth = NDC.getDepth();</em> +<a name="400" href="#400">400</a> +<a name="401" href="#401">401</a> <em class="jxr_javadoccomment"> &amp;nbsp; ... complex sequence of calls</em> +<a name="402" href="#402">402</a> +<a name="403" href="#403">403</a> <em class="jxr_javadoccomment"> &amp;nbsp; NDC.setMaxDepth(depth);</em> +<a name="404" href="#404">404</a> <em class="jxr_javadoccomment"> }</em> +<a name="405" href="#405">405</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="406" href="#406">406</a> +<a name="407" href="#407">407</a> <em class="jxr_javadoccomment"> ensures that between the entry and exit of foo the depth of the</em> +<a name="408" href="#408">408</a> <em class="jxr_javadoccomment"> diagnostic stack is conserved.</em> +<a name="409" href="#409">409</a> <em class="jxr_javadoccomment"> </em> +<a name="410" href="#410">410</a> <em class="jxr_javadoccomment"> @see #getDepth</em> +<a name="411" href="#411">411</a> <em class="jxr_javadoccomment"> @since 0.7.5 */</em> +<a name="412" href="#412">412</a> <strong class="jxr_keyword">static</strong> +<a name="413" href="#413">413</a> <strong class="jxr_keyword">public</strong> +<a name="414" href="#414">414</a> <strong class="jxr_keyword">void</strong> setMaxDepth(<strong class="jxr_keyword">int</strong> maxDepth) { +<a name="415" href="#415">415</a> Stack stack = getCurrentStack(); +<a name="416" href="#416">416</a> <strong class="jxr_keyword">if</strong>(stack != <strong class="jxr_keyword">null</strong> &amp;&amp; maxDepth &lt; stack.size()) +<a name="417" href="#417">417</a> stack.setSize(maxDepth); +<a name="418" href="#418">418</a> } +<a name="419" href="#419">419</a> +<a name="420" href="#420">420</a> <em class="jxr_comment">// =====================================================================</em> +<a name="421" href="#421">421</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/NDC.html">DiagnosticContext</a> { +<a name="422" href="#422">422</a> +<a name="423" href="#423">423</a> String fullMessage; +<a name="424" href="#424">424</a> String message; +<a name="425" href="#425">425</a> +<a name="426" href="#426">426</a> <a href="../../../org/apache/log4j/NDC.html">DiagnosticContext</a>(String message, <a href="../../../org/apache/log4j/NDC.html">DiagnosticContext</a> parent) { +<a name="427" href="#427">427</a> <strong class="jxr_keyword">this</strong>.message = message; +<a name="428" href="#428">428</a> <strong class="jxr_keyword">if</strong>(parent != <strong class="jxr_keyword">null</strong>) { +<a name="429" href="#429">429</a> fullMessage = parent.fullMessage + ' ' + message; +<a name="430" href="#430">430</a> } <strong class="jxr_keyword">else</strong> { +<a name="431" href="#431">431</a> fullMessage = message; +<a name="432" href="#432">432</a> } +<a name="433" href="#433">433</a> } +<a name="434" href="#434">434</a> } +<a name="435" href="#435">435</a> } +<a name="436" href="#436">436</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/PatternLayout.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/PatternLayout.html new file mode 100644 index 00000000000..d8606f08fcf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/PatternLayout.html @@ -0,0 +1,525 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PatternLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/PatternLayout.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.PatternParser; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.PatternConverter; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_comment">// Contributors: Nelson Minar &lt;nelson@monkey.org&gt;</em> +<a name="26" href="#26">26</a> <em class="jxr_comment">// Anders Kristensen &lt;akristensen@dynamicsoft.com&gt;</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> A flexible layout configurable with pattern string.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> </em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> This code is known to have synchronization and other issues</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> which are not present in org.apache.log4j.EnhancedPatternLayout.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> EnhancedPatternLayout should be used in preference to PatternLayout.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> EnhancedPatternLayout is distributed in the log4j extras companion.</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> &lt;p&gt;The goal of this class is to {@link #format format} a {@link</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> LoggingEvent} and return the results as a String. The results</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> depend on the &lt;em&gt;conversion pattern&lt;/em&gt;.</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> &lt;p&gt;The conversion pattern is closely related to the conversion</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> pattern of the printf function in C. A conversion pattern is</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> composed of literal text and format control expressions called</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> &lt;em&gt;conversion specifiers&lt;/em&gt;.</em> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;i&gt;You are free to insert any literal text within the conversion</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> pattern.&lt;/i&gt;</em> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> &lt;p&gt;Each conversion specifier starts with a percent sign (%) and is</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> followed by optional &lt;em&gt;format modifiers&lt;/em&gt; and a &lt;em&gt;conversion</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> character&lt;/em&gt;. The conversion character specifies the type of</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> data, e.g. category, priority, date, thread name. The format</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> modifiers control such things as field width, padding, left and</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> right justification. The following is a simple example.</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> &lt;p&gt;Let the conversion pattern be &lt;b&gt;"%-5p [%t]: %m%n"&lt;/b&gt; and assume</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> that the log4j environment was set to use a PatternLayout. Then the</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> statements</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> Category root = Category.getRoot();</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> root.debug("Message 1");</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> root.warn("Message 2");</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> would yield the output</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> DEBUG [main]: Message 1</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> WARN [main]: Message 2</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that there is no explicit separator between text and</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> conversion specifiers. The pattern parser knows when it has reached</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> the end of a conversion specifier when it reads a conversion</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> character. In the example above the conversion specifier</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> &lt;b&gt;%-5p&lt;/b&gt; means the priority of the logging event should be left</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> justified to a width of five characters.</em> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> The recognized conversion characters are</em> +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> &lt;table border="1" CELLPADDING="8"&gt;</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> &lt;th&gt;Conversion Character&lt;/th&gt;</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> &lt;th&gt;Effect&lt;/th&gt;</em> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;c&lt;/b&gt;&lt;/td&gt;</em> +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the category of the logging event. The</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> category conversion specifier can be optionally followed by</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> &lt;em&gt;precision specifier&lt;/em&gt;, that is a decimal constant in</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> brackets.</em> +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> &lt;p&gt;If a precision specifier is given, then only the corresponding</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> number of right most components of the category name will be</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> printed. By default the category name is printed in full.</em> +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, for the category name "a.b.c" the pattern</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> &lt;b&gt;%c{2}&lt;/b&gt; will output "b.c".</em> +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;</em> +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the fully qualified class name of the caller</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> issuing the logging request. This conversion specifier</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> can be optionally followed by &lt;em&gt;precision specifier&lt;/em&gt;, that</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> is a decimal constant in brackets.</em> +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> &lt;p&gt;If a precision specifier is given, then only the corresponding</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> number of right most components of the class name will be</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> printed. By default the class name is output in fully qualified form.</em> +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, for the class name "org.apache.xyz.SomeClass", the</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> pattern &lt;b&gt;%C{1}&lt;/b&gt; will output "SomeClass".</em> +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Generating the caller class information is</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> slow. Thus, use should be avoided unless execution speed is</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> not an issue.</em> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> &lt;tr&gt; &lt;td align=center&gt;&lt;b&gt;d&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Used to output the date of</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> the logging event. The date conversion specifier may be</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> followed by a &lt;em&gt;date format specifier&lt;/em&gt; enclosed between</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> braces. For example, &lt;b&gt;%d{HH:mm:ss,SSS}&lt;/b&gt; or</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> &lt;b&gt;%d{dd&amp;nbsp;MMM&amp;nbsp;yyyy&amp;nbsp;HH:mm:ss,SSS}&lt;/b&gt;. If no</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> date format specifier is given then ISO8601 format is</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> assumed.</em> +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> &lt;p&gt;The date format specifier admits the same syntax as the</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> time pattern string of the {@link</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> java.text.SimpleDateFormat}. Although part of the standard</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> JDK, the performance of &lt;code&gt;SimpleDateFormat&lt;/code&gt; is</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> quite poor.</em> +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> &lt;p&gt;For better results it is recommended to use the log4j date</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> formatters. These can be specified using one of the strings</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> "ABSOLUTE", "DATE" and "ISO8601" for specifying {@link</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> org.apache.log4j.helpers.AbsoluteTimeDateFormat</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> AbsoluteTimeDateFormat}, {@link</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> org.apache.log4j.helpers.DateTimeDateFormat DateTimeDateFormat}</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> and respectively {@link</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> org.apache.log4j.helpers.ISO8601DateFormat</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> ISO8601DateFormat}. For example, &lt;b&gt;%d{ISO8601}&lt;/b&gt; or</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> &lt;b&gt;%d{ABSOLUTE}&lt;/b&gt;.</em> +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> &lt;p&gt;These dedicated date formatters perform significantly</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> better than {@link java.text.SimpleDateFormat}.</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;F&lt;/b&gt;&lt;/td&gt;</em> +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the file name where the logging request was</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> issued.</em> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Generating caller location information is</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> extremely slow and should be avoided unless execution speed</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> is not an issue.</em> +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;l&lt;/b&gt;&lt;/td&gt;</em> +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output location information of the caller which generated</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> the logging event.</em> +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> &lt;p&gt;The location information depends on the JVM implementation but</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> usually consists of the fully qualified name of the calling</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> method followed by the callers source the file name and line</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> number between parentheses.</em> +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> &lt;p&gt;The location information can be very useful. However, its</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> generation is &lt;em&gt;extremely&lt;/em&gt; slow and should be avoided</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> unless execution speed is not an issue.</em> +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;L&lt;/b&gt;&lt;/td&gt;</em> +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the line number from where the logging request</em> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment"> was issued.</em> +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Generating caller location information is</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> extremely slow and should be avoided unless execution speed</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> is not an issue.</em> +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;m&lt;/b&gt;&lt;/td&gt;</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the application supplied message associated with</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> the logging event.&lt;/td&gt;</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;M&lt;/b&gt;&lt;/td&gt;</em> +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the method name where the logging request was</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> issued.</em> +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Generating caller location information is</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> extremely slow and should be avoided unless execution speed</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> is not an issue.</em> +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;</em> +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> &lt;td&gt;Outputs the platform dependent line separator character or</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> characters.</em> +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> &lt;p&gt;This conversion character offers practically the same</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> performance as using non-portable line separator strings such as</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> "\n", or "\r\n". Thus, it is the preferred way of specifying a</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> line separator.</em> +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;p&lt;/b&gt;&lt;/td&gt;</em> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the priority of the logging event.&lt;/td&gt;</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;r&lt;/b&gt;&lt;/td&gt;</em> +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the number of milliseconds elapsed from the construction </em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> of the layout until the creation of the logging event.&lt;/td&gt;</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;t&lt;/b&gt;&lt;/td&gt;</em> +<a name="245" href="#245">245</a> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the name of the thread that generated the</em> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment"> logging event.&lt;/td&gt;</em> +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;x&lt;/b&gt;&lt;/td&gt;</em> +<a name="254" href="#254">254</a> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> &lt;td&gt;Used to output the NDC (nested diagnostic context) associated</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> with the thread that generated the logging event.</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="258" href="#258">258</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;X&lt;/b&gt;&lt;/td&gt;</em> +<a name="263" href="#263">263</a> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment"> &lt;td&gt; </em> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment"> </em> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> &lt;p&gt;Used to output the MDC (mapped diagnostic context) associated</em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> with the thread that generated the logging event. The &lt;b&gt;X&lt;/b&gt;</em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> conversion character &lt;em&gt;must&lt;/em&gt; be followed by the key for the</em> +<a name="269" href="#269">269</a> <em class="jxr_javadoccomment"> map placed between braces, as in &lt;b&gt;%X{clientNumber}&lt;/b&gt; where</em> +<a name="270" href="#270">270</a> <em class="jxr_javadoccomment"> &lt;code&gt;clientNumber&lt;/code&gt; is the key. The value in the MDC</em> +<a name="271" href="#271">271</a> <em class="jxr_javadoccomment"> corresponding to the key will be output.&lt;/p&gt;</em> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> </em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> &lt;p&gt;See {@link MDC} class for more details.</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> &lt;/p&gt;</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> </em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;&lt;b&gt;%&lt;/b&gt;&lt;/td&gt;</em> +<a name="282" href="#282">282</a> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment"> &lt;td&gt;The sequence %% outputs a single percent sign.</em> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> &lt;/td&gt;</em> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="286" href="#286">286</a> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> &lt;/table&gt;</em> +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> <em class="jxr_javadoccomment"> &lt;p&gt;By default the relevant information is output as is. However,</em> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment"> with the aid of format modifiers it is possible to change the</em> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment"> minimum field width, the maximum field width and justification.</em> +<a name="292" href="#292">292</a> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment"> &lt;p&gt;The optional format modifier is placed between the percent sign</em> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> and the conversion character.</em> +<a name="295" href="#295">295</a> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment"> &lt;p&gt;The first optional format modifier is the &lt;em&gt;left justification</em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> flag&lt;/em&gt; which is just the minus (-) character. Then comes the</em> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment"> optional &lt;em&gt;minimum field width&lt;/em&gt; modifier. This is a decimal</em> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment"> constant that represents the minimum number of characters to</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> output. If the data item requires fewer characters, it is padded on</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> either the left or the right until the minimum width is</em> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> reached. The default is to pad on the left (right justify) but you</em> +<a name="303" href="#303">303</a> <em class="jxr_javadoccomment"> can specify right padding with the left justification flag. The</em> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> padding character is space. If the data item is larger than the</em> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment"> minimum field width, the field is expanded to accommodate the</em> +<a name="306" href="#306">306</a> <em class="jxr_javadoccomment"> data. The value is never truncated.</em> +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment"> &lt;p&gt;This behavior can be changed using the &lt;em&gt;maximum field</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> width&lt;/em&gt; modifier which is designated by a period followed by a</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> decimal constant. If the data item is longer than the maximum</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> field, then the extra characters are removed from the</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> &lt;em&gt;beginning&lt;/em&gt; of the data item and not from the end. For</em> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment"> example, it the maximum field width is eight and the data item is</em> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment"> ten characters long, then the first two characters of the data item</em> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> are dropped. This behavior deviates from the printf function in C</em> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> where truncation is done from the end.</em> +<a name="317" href="#317">317</a> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> &lt;p&gt;Below are various format modifier examples for the category</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> conversion specifier.</em> +<a name="320" href="#320">320</a> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> &lt;TABLE BORDER=1 CELLPADDING=8&gt;</em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> &lt;th&gt;Format modifier</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> &lt;th&gt;left justify</em> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> &lt;th&gt;minimum width</em> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment"> &lt;th&gt;maximum width</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> &lt;th&gt;comment</em> +<a name="328" href="#328">328</a> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;%20c&lt;/td&gt;</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;false&lt;/td&gt;</em> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;20&lt;/td&gt;</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;none&lt;/td&gt;</em> +<a name="334" href="#334">334</a> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment"> &lt;td&gt;Left pad with spaces if the category name is less than 20</em> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment"> characters long.</em> +<a name="337" href="#337">337</a> +<a name="338" href="#338">338</a> <em class="jxr_javadoccomment"> &lt;tr&gt; &lt;td align=center&gt;%-20c&lt;/td&gt; &lt;td align=center&gt;true&lt;/td&gt; &lt;td</em> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment"> align=center&gt;20&lt;/td&gt; &lt;td align=center&gt;none&lt;/td&gt; &lt;td&gt;Right pad with</em> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment"> spaces if the category name is less than 20 characters long.</em> +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;%.30c&lt;/td&gt;</em> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;NA&lt;/td&gt;</em> +<a name="345" href="#345">345</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;none&lt;/td&gt;</em> +<a name="346" href="#346">346</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;30&lt;/td&gt;</em> +<a name="347" href="#347">347</a> +<a name="348" href="#348">348</a> <em class="jxr_javadoccomment"> &lt;td&gt;Truncate from the beginning if the category name is longer than 30</em> +<a name="349" href="#349">349</a> <em class="jxr_javadoccomment"> characters.</em> +<a name="350" href="#350">350</a> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;%20.30c&lt;/td&gt;</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;false&lt;/td&gt;</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;20&lt;/td&gt;</em> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;30&lt;/td&gt;</em> +<a name="356" href="#356">356</a> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> &lt;td&gt;Left pad with spaces if the category name is shorter than 20</em> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment"> characters. However, if category name is longer than 30 characters,</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> then truncate from the beginning.</em> +<a name="360" href="#360">360</a> +<a name="361" href="#361">361</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="362" href="#362">362</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;%-20.30c&lt;/td&gt;</em> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;true&lt;/td&gt;</em> +<a name="364" href="#364">364</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;20&lt;/td&gt;</em> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment"> &lt;td align=center&gt;30&lt;/td&gt;</em> +<a name="366" href="#366">366</a> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment"> &lt;td&gt;Right pad with spaces if the category name is shorter than 20</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> characters. However, if category name is longer than 30 characters,</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> then truncate from the beginning.</em> +<a name="370" href="#370">370</a> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> &lt;/table&gt;</em> +<a name="372" href="#372">372</a> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment"> &lt;p&gt;Below are some examples of conversion patterns.</em> +<a name="374" href="#374">374</a> +<a name="375" href="#375">375</a> <em class="jxr_javadoccomment"> &lt;dl&gt;</em> +<a name="376" href="#376">376</a> +<a name="377" href="#377">377</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;dt&gt;&lt;b&gt;%r [%t] %-5p %c %x - %m%n&lt;/b&gt;</em> +<a name="378" href="#378">378</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;dd&gt;This is essentially the TTCC layout.</em> +<a name="379" href="#379">379</a> +<a name="380" href="#380">380</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;dt&gt;&lt;b&gt;%-6r [%15.15t] %-5p %30.30c %x - %m%n&lt;/b&gt;</em> +<a name="381" href="#381">381</a> +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;dd&gt;Similar to the TTCC layout except that the relative time is</em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> right padded if less than 6 digits, thread name is right padded if</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> less than 15 characters and truncated if longer and the category</em> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment"> name is left padded if shorter than 30 characters and truncated if</em> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> longer.</em> +<a name="387" href="#387">387</a> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment"> &lt;/dl&gt;</em> +<a name="389" href="#389">389</a> +<a name="390" href="#390">390</a> <em class="jxr_javadoccomment"> &lt;p&gt;The above text is largely inspired from Peter A. Darnell and</em> +<a name="391" href="#391">391</a> <em class="jxr_javadoccomment"> Philip E. Margolis' highly recommended book "C -- a Software</em> +<a name="392" href="#392">392</a> <em class="jxr_javadoccomment"> Engineering Approach", ISBN 0-387-97389-3.</em> +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> <em class="jxr_javadoccomment"> @author &lt;a href="<a href="mailto:cakalijp@Maritz.com" target="alexandria_uri">mailto:cakalijp@Maritz.com</a>"&gt;James P. Cakalic&lt;/a&gt;</em> +<a name="395" href="#395">395</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="396" href="#396">396</a> +<a name="397" href="#397">397</a> +<a name="398" href="#398">398</a> <em class="jxr_javadoccomment"> @since 0.8.2 */</em> +<a name="399" href="#399">399</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PatternLayout.html">PatternLayout</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/Layout.html">Layout</a> { +<a name="400" href="#400">400</a> +<a name="401" href="#401">401</a> +<a name="402" href="#402">402</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Default pattern string for log output. Currently set to the</em> +<a name="403" href="#403">403</a> <em class="jxr_javadoccomment"> string &lt;b&gt;"%m%n"&lt;/b&gt; which just prints the application supplied</em> +<a name="404" href="#404">404</a> <em class="jxr_javadoccomment"> message. */</em> +<a name="405" href="#405">405</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> String DEFAULT_CONVERSION_PATTERN =<span class="jxr_string">"%m%n"</span>; +<a name="406" href="#406">406</a> +<a name="407" href="#407">407</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A conversion pattern equivalent to the TTCCCLayout.</em> +<a name="408" href="#408">408</a> <em class="jxr_javadoccomment"> Current value is &lt;b&gt;%r [%t] %p %c %x - %m%n&lt;/b&gt;. */</em> +<a name="409" href="#409">409</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> String TTCC_CONVERSION_PATTERN +<a name="410" href="#410">410</a> = <span class="jxr_string">"%r [%t] %p %c %x - %m%n"</span>; +<a name="411" href="#411">411</a> +<a name="412" href="#412">412</a> +<a name="413" href="#413">413</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> BUF_SIZE = 256; +<a name="414" href="#414">414</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MAX_CAPACITY = 1024; +<a name="415" href="#415">415</a> +<a name="416" href="#416">416</a> +<a name="417" href="#417">417</a> <em class="jxr_comment">// output buffer appended to when format() is invoked</em> +<a name="418" href="#418">418</a> <strong class="jxr_keyword">private</strong> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(BUF_SIZE); +<a name="419" href="#419">419</a> +<a name="420" href="#420">420</a> <strong class="jxr_keyword">private</strong> String pattern; +<a name="421" href="#421">421</a> +<a name="422" href="#422">422</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> head; +<a name="423" href="#423">423</a> +<a name="424" href="#424">424</a> <em class="jxr_javadoccomment">/**</em> +<a name="425" href="#425">425</a> <em class="jxr_javadoccomment"> Constructs a PatternLayout using the DEFAULT_LAYOUT_PATTERN.</em> +<a name="426" href="#426">426</a> +<a name="427" href="#427">427</a> <em class="jxr_javadoccomment"> The default pattern just produces the application supplied message.</em> +<a name="428" href="#428">428</a> <em class="jxr_javadoccomment"> */</em> +<a name="429" href="#429">429</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PatternLayout.html">PatternLayout</a>() { +<a name="430" href="#430">430</a> <strong class="jxr_keyword">this</strong>(DEFAULT_CONVERSION_PATTERN); +<a name="431" href="#431">431</a> } +<a name="432" href="#432">432</a> +<a name="433" href="#433">433</a> <em class="jxr_javadoccomment">/**</em> +<a name="434" href="#434">434</a> <em class="jxr_javadoccomment"> Constructs a PatternLayout using the supplied conversion pattern.</em> +<a name="435" href="#435">435</a> <em class="jxr_javadoccomment"> */</em> +<a name="436" href="#436">436</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PatternLayout.html">PatternLayout</a>(String pattern) { +<a name="437" href="#437">437</a> <strong class="jxr_keyword">this</strong>.pattern = pattern; +<a name="438" href="#438">438</a> head = createPatternParser((pattern == <strong class="jxr_keyword">null</strong>) ? DEFAULT_CONVERSION_PATTERN : +<a name="439" href="#439">439</a> pattern).parse(); +<a name="440" href="#440">440</a> } +<a name="441" href="#441">441</a> +<a name="442" href="#442">442</a> <em class="jxr_javadoccomment">/**</em> +<a name="443" href="#443">443</a> <em class="jxr_javadoccomment"> Set the &lt;b&gt;ConversionPattern&lt;/b&gt; option. This is the string which</em> +<a name="444" href="#444">444</a> <em class="jxr_javadoccomment"> controls formatting and consists of a mix of literal content and</em> +<a name="445" href="#445">445</a> <em class="jxr_javadoccomment"> conversion specifiers.</em> +<a name="446" href="#446">446</a> <em class="jxr_javadoccomment"> */</em> +<a name="447" href="#447">447</a> <strong class="jxr_keyword">public</strong> +<a name="448" href="#448">448</a> <strong class="jxr_keyword">void</strong> setConversionPattern(String conversionPattern) { +<a name="449" href="#449">449</a> pattern = conversionPattern; +<a name="450" href="#450">450</a> head = createPatternParser(conversionPattern).parse(); +<a name="451" href="#451">451</a> } +<a name="452" href="#452">452</a> +<a name="453" href="#453">453</a> <em class="jxr_javadoccomment">/**</em> +<a name="454" href="#454">454</a> <em class="jxr_javadoccomment"> Returns the value of the &lt;b&gt;ConversionPattern&lt;/b&gt; option.</em> +<a name="455" href="#455">455</a> <em class="jxr_javadoccomment"> */</em> +<a name="456" href="#456">456</a> <strong class="jxr_keyword">public</strong> +<a name="457" href="#457">457</a> String getConversionPattern() { +<a name="458" href="#458">458</a> <strong class="jxr_keyword">return</strong> pattern; +<a name="459" href="#459">459</a> } +<a name="460" href="#460">460</a> +<a name="461" href="#461">461</a> <em class="jxr_javadoccomment">/**</em> +<a name="462" href="#462">462</a> <em class="jxr_javadoccomment"> Does not do anything as options become effective</em> +<a name="463" href="#463">463</a> <em class="jxr_javadoccomment"> */</em> +<a name="464" href="#464">464</a> <strong class="jxr_keyword">public</strong> +<a name="465" href="#465">465</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="466" href="#466">466</a> <em class="jxr_comment">// nothing to do.</em> +<a name="467" href="#467">467</a> } +<a name="468" href="#468">468</a> +<a name="469" href="#469">469</a> <em class="jxr_javadoccomment">/**</em> +<a name="470" href="#470">470</a> <em class="jxr_javadoccomment"> The PatternLayout does not handle the throwable contained within</em> +<a name="471" href="#471">471</a> <em class="jxr_javadoccomment"> {@link LoggingEvent LoggingEvents}. Thus, it returns</em> +<a name="472" href="#472">472</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt;.</em> +<a name="473" href="#473">473</a> +<a name="474" href="#474">474</a> <em class="jxr_javadoccomment"> @since 0.8.4 */</em> +<a name="475" href="#475">475</a> <strong class="jxr_keyword">public</strong> +<a name="476" href="#476">476</a> <strong class="jxr_keyword">boolean</strong> ignoresThrowable() { +<a name="477" href="#477">477</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="478" href="#478">478</a> } +<a name="479" href="#479">479</a> +<a name="480" href="#480">480</a> <em class="jxr_javadoccomment">/**</em> +<a name="481" href="#481">481</a> <em class="jxr_javadoccomment"> Returns PatternParser used to parse the conversion string. Subclasses</em> +<a name="482" href="#482">482</a> <em class="jxr_javadoccomment"> may override this to return a subclass of PatternParser which recognize</em> +<a name="483" href="#483">483</a> <em class="jxr_javadoccomment"> custom conversion characters.</em> +<a name="484" href="#484">484</a> +<a name="485" href="#485">485</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="486" href="#486">486</a> <em class="jxr_javadoccomment"> */</em> +<a name="487" href="#487">487</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/helpers/PatternParser.html">PatternParser</a> createPatternParser(String pattern) { +<a name="488" href="#488">488</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/helpers/PatternParser.html">PatternParser</a>(pattern); +<a name="489" href="#489">489</a> } +<a name="490" href="#490">490</a> +<a name="491" href="#491">491</a> +<a name="492" href="#492">492</a> <em class="jxr_javadoccomment">/**</em> +<a name="493" href="#493">493</a> <em class="jxr_javadoccomment"> Produces a formatted string as specified by the conversion pattern.</em> +<a name="494" href="#494">494</a> <em class="jxr_javadoccomment"> */</em> +<a name="495" href="#495">495</a> <strong class="jxr_keyword">public</strong> String format(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="496" href="#496">496</a> <em class="jxr_comment">// Reset working stringbuffer</em> +<a name="497" href="#497">497</a> <strong class="jxr_keyword">if</strong>(sbuf.capacity() &gt; MAX_CAPACITY) { +<a name="498" href="#498">498</a> sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(BUF_SIZE); +<a name="499" href="#499">499</a> } <strong class="jxr_keyword">else</strong> { +<a name="500" href="#500">500</a> sbuf.setLength(0); +<a name="501" href="#501">501</a> } +<a name="502" href="#502">502</a> +<a name="503" href="#503">503</a> <a href="../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> c = head; +<a name="504" href="#504">504</a> +<a name="505" href="#505">505</a> <strong class="jxr_keyword">while</strong>(c != <strong class="jxr_keyword">null</strong>) { +<a name="506" href="#506">506</a> c.format(sbuf, event); +<a name="507" href="#507">507</a> c = c.next; +<a name="508" href="#508">508</a> } +<a name="509" href="#509">509</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="510" href="#510">510</a> } +<a name="511" href="#511">511</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Priority.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Priority.html new file mode 100644 index 00000000000..2fe384ef920 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/Priority.html @@ -0,0 +1,207 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Priority xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/Priority.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contributors: Kitching Simon &lt;Simon.Kitching@orange.ch&gt;</em> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> &lt;font color="#AA4444"&gt;Refrain from using this class directly, use</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> the {@link Level} class instead&lt;/font&gt;.</em> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml; */</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/Priority.html">Priority</a> { +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">int</strong> level; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">transient</strong> String levelStr; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">int</strong> syslogEquivalent; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> OFF_INT = Integer.MAX_VALUE; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> FATAL_INT = 50000; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> ERROR_INT = 40000; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> WARN_INT = 30000; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> INFO_INT = 20000; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> DEBUG_INT = 10000; +<a name="39" href="#39">39</a> <em class="jxr_comment">//public final static int FINE_INT = DEBUG_INT;</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> ALL_INT = Integer.MIN_VALUE; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * @deprecated Use {@link Level#FATAL} instead.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Priority.html">Priority</a> FATAL = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Level.html">Level</a>(FATAL_INT, <span class="jxr_string">"FATAL"</span>, 0); +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * @deprecated Use {@link Level#ERROR} instead.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Priority.html">Priority</a> ERROR = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Level.html">Level</a>(ERROR_INT, <span class="jxr_string">"ERROR"</span>, 3); +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * @deprecated Use {@link Level#WARN} instead.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Priority.html">Priority</a> WARN = <strong class="jxr_keyword">new</strong> Level(WARN_INT, <span class="jxr_string">"WARN"</span>, 4); +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * @deprecated Use {@link Level#INFO} instead.</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> */</em> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Priority.html">Priority</a> INFO = <strong class="jxr_keyword">new</strong> Level(INFO_INT, <span class="jxr_string">"INFO"</span>, 6); +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * @deprecated Use {@link Level#DEBUG} instead.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/Priority.html">Priority</a> DEBUG = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Level.html">Level</a>(DEBUG_INT, <span class="jxr_string">"DEBUG"</span>, 7); +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * Default constructor for deserialization.</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/Priority.html">Priority</a>() { +<a name="72" href="#72">72</a> level = DEBUG_INT; +<a name="73" href="#73">73</a> levelStr = <span class="jxr_string">"DEBUG"</span>; +<a name="74" href="#74">74</a> syslogEquivalent = 7; +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment">/**</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> Instantiate a level object.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> */</em> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">protected</strong> +<a name="81" href="#81">81</a> <a href="../../../org/apache/log4j/Priority.html">Priority</a>(<strong class="jxr_keyword">int</strong> level, String levelStr, <strong class="jxr_keyword">int</strong> syslogEquivalent) { +<a name="82" href="#82">82</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="83" href="#83">83</a> <strong class="jxr_keyword">this</strong>.levelStr = levelStr; +<a name="84" href="#84">84</a> <strong class="jxr_keyword">this</strong>.syslogEquivalent = syslogEquivalent; +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> Two priorities are equal if their level fields are equal.</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> @since 1.2</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> */</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">boolean</strong> equals(Object o) { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">if</strong>(o instanceof <a href="../../../org/apache/log4j/Priority.html">Priority</a>) { +<a name="94" href="#94">94</a> <a href="../../../org/apache/log4j/Priority.html">Priority</a> r = (Priority) o; +<a name="95" href="#95">95</a> <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">this</strong>.level == r.level); +<a name="96" href="#96">96</a> } <strong class="jxr_keyword">else</strong> { +<a name="97" href="#97">97</a> <strong class="jxr_keyword">return</strong> false; +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> Return the syslog equivalent of this priority as an integer.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> */</em> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">final</strong> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">int</strong> getSyslogEquivalent() { +<a name="107" href="#107">107</a> <strong class="jxr_keyword">return</strong> syslogEquivalent; +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">/**</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> Returns &lt;code&gt;true&lt;/code&gt; if this level has a higher or equal</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> level than the level passed as argument, &lt;code&gt;false&lt;/code&gt;</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> otherwise. </em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> </em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> &lt;p&gt;You should think twice before overriding the default</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> implementation of &lt;code&gt;isGreaterOrEqual&lt;/code&gt; method.</em> +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> */</em> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">public</strong> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">boolean</strong> isGreaterOrEqual(<a href="../../../org/apache/log4j/Priority.html">Priority</a> r) { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">return</strong> level &gt;= r.level; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> Return all possible priorities as an array of Level objects in</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> descending order.</em> +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> @deprecated This method will be removed with no replacement.</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> */</em> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">public</strong> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">static</strong> +<a name="134" href="#134">134</a> <a href="../../../org/apache/log4j/Priority.html">Priority</a>[] getAllPossiblePriorities() { +<a name="135" href="#135">135</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/Priority.html">Priority</a>[] {Priority.FATAL, Priority.ERROR, Level.WARN, +<a name="136" href="#136">136</a> Priority.INFO, Priority.DEBUG}; +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">/**</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> Returns the string representation of this priority.</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> */</em> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">final</strong> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> +<a name="145" href="#145">145</a> String toString() { +<a name="146" href="#146">146</a> <strong class="jxr_keyword">return</strong> levelStr; +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">/**</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> Returns the integer representation of this level.</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">final</strong> +<a name="154" href="#154">154</a> <strong class="jxr_keyword">int</strong> toInt() { +<a name="155" href="#155">155</a> <strong class="jxr_keyword">return</strong> level; +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">/**</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> * @deprecated Please use the {@link Level#toLevel(String)} method instead.</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> */</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">public</strong> +<a name="162" href="#162">162</a> <strong class="jxr_keyword">static</strong> +<a name="163" href="#163">163</a> <a href="../../../org/apache/log4j/Priority.html">Priority</a> toPriority(String sArg) { +<a name="164" href="#164">164</a> <strong class="jxr_keyword">return</strong> Level.toLevel(sArg); +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">/**</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> * @deprecated Please use the {@link Level#toLevel(int)} method instead. </em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> */</em> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">public</strong> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">static</strong> +<a name="172" href="#172">172</a> <a href="../../../org/apache/log4j/Priority.html">Priority</a> toPriority(<strong class="jxr_keyword">int</strong> val) { +<a name="173" href="#173">173</a> <strong class="jxr_keyword">return</strong> toPriority(val, Priority.DEBUG); +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">/**</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> * @deprecated Please use the {@link Level#toLevel(int, Level)} method instead. </em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> */</em> +<a name="179" href="#179">179</a> <strong class="jxr_keyword">public</strong> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">static</strong> +<a name="181" href="#181">181</a> <a href="../../../org/apache/log4j/Priority.html">Priority</a> toPriority(<strong class="jxr_keyword">int</strong> val, <a href="../../../org/apache/log4j/Priority.html">Priority</a> defaultPriority) { +<a name="182" href="#182">182</a> <strong class="jxr_keyword">return</strong> Level.toLevel(val, (Level) defaultPriority); +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">/**</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> * @deprecated Please use the {@link Level#toLevel(String, Level)} method instead. </em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> */</em> +<a name="188" href="#188">188</a> <strong class="jxr_keyword">public</strong> +<a name="189" href="#189">189</a> <strong class="jxr_keyword">static</strong> +<a name="190" href="#190">190</a> <a href="../../../org/apache/log4j/Priority.html">Priority</a> toPriority(String sArg, <a href="../../../org/apache/log4j/Priority.html">Priority</a> defaultPriority) { +<a name="191" href="#191">191</a> <strong class="jxr_keyword">return</strong> Level.toLevel(sArg, (Level) defaultPriority); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/PropertyConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/PropertyConfigurator.html new file mode 100644 index 00000000000..a5e6f733527 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/PropertyConfigurator.html @@ -0,0 +1,977 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PropertyConfigurator xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/PropertyConfigurator.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <em class="jxr_comment">// Contibutors: "Luke Blanshard" &lt;Luke@quiq.com&gt;</em> +<a name="20" href="#20">20</a> <em class="jxr_comment">// "Mark DONSZELMANN" &lt;Mark.Donszelmann@cern.ch&gt;</em> +<a name="21" href="#21">21</a> <em class="jxr_comment">// Anders Kristensen &lt;akristensen@dynamicsoft.com&gt;</em> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.FileInputStream; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.net.URLConnection; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> java.util.Properties; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> java.util.StringTokenizer; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.config.PropertySetter; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.FileWatchdog; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.or.RendererMap; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Configurator; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerFactory; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.RendererSupport; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRenderer; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRendererSupport; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> Allows the configuration of log4j from an external file. See</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> &lt;b&gt;{@link #doConfigure(String, LoggerRepository)}&lt;/b&gt; for the</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> expected format.</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> &lt;p&gt;It is sometimes useful to see how log4j is reading configuration</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> files. You can enable log4j internal logging by defining the</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> &lt;b&gt;log4j.debug&lt;/b&gt; variable.</em> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> &lt;P&gt;As of log4j version 0.8.5, at class initialization time class,</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> the file &lt;b&gt;log4j.properties&lt;/b&gt; will be searched from the search</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> path used to load classes. If the file can be found, then it will</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> be fed to the {@link PropertyConfigurator#configure(java.net.URL)}</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> method.</em> +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;PropertyConfigurator&lt;/code&gt; does not handle the</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> advanced configuration features supported by the {@link</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> org.apache.log4j.xml.DOMConfigurator DOMConfigurator} such as</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> support custom {@link org.apache.log4j.spi.ErrorHandler ErrorHandlers},</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> nested appenders such as the {@link org.apache.log4j.AsyncAppender</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> AsyncAppender}, etc.</em> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> &lt;p&gt;All option &lt;em&gt;values&lt;/em&gt; admit variable substitution. The</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> syntax of variable substitution is similar to that of Unix</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> shells. The string between an opening &lt;b&gt;&amp;quot;${&amp;quot;&lt;/b&gt; and</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> closing &lt;b&gt;&amp;quot;}&amp;quot;&lt;/b&gt; is interpreted as a key. The value of</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> the substituted variable can be defined as a system property or in</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> the configuration file itself. The value of the key is first</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> searched in the system properties, and if not found there, it is</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> then searched in the configuration file being parsed. The</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> corresponding value replaces the ${variableName} sequence. For</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> example, if &lt;code&gt;java.home&lt;/code&gt; system property is set to</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> &lt;code&gt;/home/xyz&lt;/code&gt;, then every occurrence of the sequence</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> &lt;code&gt;${java.home}&lt;/code&gt; will be interpreted as</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> &lt;code&gt;/home/xyz&lt;/code&gt;.</em> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> @since 0.8.1 */</em> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a> implements <a href="../../../org/apache/log4j/spi/Configurator.html">Configurator</a> { +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment">/**</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> Used internally to keep track of configured appenders.</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> */</em> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">protected</strong> Hashtable registry = <strong class="jxr_keyword">new</strong> Hashtable(11); +<a name="99" href="#99">99</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository; +<a name="100" href="#100">100</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> loggerFactory = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/DefaultCategoryFactory.html">DefaultCategoryFactory</a>(); +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CATEGORY_PREFIX = <span class="jxr_string">"log4j.category."</span>; +<a name="103" href="#103">103</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOGGER_PREFIX = <span class="jxr_string">"log4j.logger."</span>; +<a name="104" href="#104">104</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FACTORY_PREFIX = <span class="jxr_string">"log4j.factory"</span>; +<a name="105" href="#105">105</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ADDITIVITY_PREFIX = <span class="jxr_string">"log4j.additivity."</span>; +<a name="106" href="#106">106</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT_CATEGORY_PREFIX = <span class="jxr_string">"log4j.rootCategory"</span>; +<a name="107" href="#107">107</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT_LOGGER_PREFIX = <span class="jxr_string">"log4j.rootLogger"</span>; +<a name="108" href="#108">108</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String APPENDER_PREFIX = <span class="jxr_string">"log4j.appender."</span>; +<a name="109" href="#109">109</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RENDERER_PREFIX = <span class="jxr_string">"log4j.renderer."</span>; +<a name="110" href="#110">110</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String THRESHOLD_PREFIX = <span class="jxr_string">"log4j.threshold"</span>; +<a name="111" href="#111">111</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String THROWABLE_RENDERER_PREFIX = <span class="jxr_string">"log4j.throwableRenderer"</span>; +<a name="112" href="#112">112</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOGGER_REF = <span class="jxr_string">"logger-ref"</span>; +<a name="113" href="#113">113</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT_REF = <span class="jxr_string">"root-ref"</span>; +<a name="114" href="#114">114</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String APPENDER_REF_TAG = <span class="jxr_string">"appender-ref"</span>; +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Key for specifying the {@link org.apache.log4j.spi.LoggerFactory</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> LoggerFactory}. Currently set to "&lt;code&gt;log4j.loggerFactory&lt;/code&gt;". */</em> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOGGER_FACTORY_KEY = <span class="jxr_string">"log4j.loggerFactory"</span>; +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">/**</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> * If property set to true, then hierarchy will be reset before configuration.</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> */</em> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RESET_KEY = <span class="jxr_string">"log4j.reset"</span>; +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">private</strong> String INTERNAL_ROOT_NAME = <span class="jxr_string">"root"</span>; +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">/**</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> Read configuration from a file. &lt;b&gt;The existing configuration is</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> not cleared nor reset.&lt;/b&gt; If you require a different behavior,</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> then call {@link LogManager#resetConfiguration</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> resetConfiguration} method before calling</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> &lt;code&gt;doConfigure&lt;/code&gt;.</em> +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> &lt;p&gt;The configuration file consists of statements in the format</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> &lt;code&gt;key=value&lt;/code&gt;. The syntax of different configuration</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> elements are discussed below.</em> +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> &lt;h3&gt;Repository-wide threshold&lt;/h3&gt;</em> +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> &lt;p&gt;The repository-wide threshold filters logging requests by level</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> regardless of logger. The syntax is:</em> +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> log4j.threshold=[level]</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> &lt;p&gt;The level value can consist of the string values OFF, FATAL,</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> ERROR, WARN, INFO, DEBUG, ALL or a &lt;em&gt;custom level&lt;/em&gt; value. A</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> custom level value can be specified in the form</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> level#classname. By default the repository-wide threshold is set</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> to the lowest possible value, namely the level &lt;code&gt;ALL&lt;/code&gt;.</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> &lt;/p&gt;</em> +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> &lt;h3&gt;Appender configuration&lt;/h3&gt;</em> +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> &lt;p&gt;Appender configuration syntax is:</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> # For appender named &lt;i&gt;appenderName&lt;/i&gt;, set its class.</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> # Note: The appender name can contain dots.</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName=fully.qualified.name.of.appender.class</em> +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> # Set appender specific options.</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.option1=value1</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> ...</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.optionN=valueN</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> For each named appender you can configure its {@link Layout}. The</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> syntax for configuring an appender's layout is:</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.layout.option1=value1</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> ....</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.layout.optionN=valueN</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> The syntax for adding {@link Filter}s to an appender is:</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.filter.ID=fully.qualified.name.of.filter.class</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.filter.ID.option1=value1</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> ...</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.filter.ID.optionN=valueN</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> The first line defines the class name of the filter identified by ID;</em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> subsequent lines with the same ID specify filter option - value</em> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment"> paris. Multiple filters are added to the appender in the lexicographic</em> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment"> order of IDs.</em> +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> The syntax for adding an {@link ErrorHandler} to an appender is:</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.errorhandler=fully.qualified.name.of.filter.class</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.errorhandler.root-ref={true|false}</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.errorhandler.logger-ref=loggerName</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.errorhandler.appender-ref=appenderName</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.errorhandler.option1=value1</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> ...</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> log4j.appender.appenderName.errorhandler.optionN=valueN</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> &lt;h3&gt;Configuring loggers&lt;/h3&gt;</em> +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> &lt;p&gt;The syntax for configuring the root logger is:</em> +<a name="205" href="#205">205</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> log4j.rootLogger=[level], appenderName, appenderName, ...</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> &lt;p&gt;This syntax means that an optional &lt;em&gt;level&lt;/em&gt; can be</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> supplied followed by appender names separated by commas.</em> +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> &lt;p&gt;The level value can consist of the string values OFF, FATAL,</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> ERROR, WARN, INFO, DEBUG, ALL or a &lt;em&gt;custom level&lt;/em&gt; value. A</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> custom level value can be specified in the form</em> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> &lt;code&gt;level#classname&lt;/code&gt;.</em> +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> &lt;p&gt;If a level value is specified, then the root level is set</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> to the corresponding level. If no level value is specified,</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> then the root level remains untouched.</em> +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> &lt;p&gt;The root logger can be assigned multiple appenders.</em> +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> &lt;p&gt;Each &lt;i&gt;appenderName&lt;/i&gt; (separated by commas) will be added to</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> the root logger. The named appender is defined using the</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> appender syntax defined above.</em> +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> &lt;p&gt;For non-root categories the syntax is almost the same:</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> log4j.logger.logger_name=[level|INHERITED|NULL], appenderName, appenderName, ...</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="231" href="#231">231</a> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> &lt;p&gt;The meaning of the optional level value is discussed above</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> in relation to the root logger. In addition however, the value</em> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> INHERITED can be specified meaning that the named logger should</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> inherit its level from the logger hierarchy.</em> +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> &lt;p&gt;If no level value is supplied, then the level of the</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> named logger remains untouched.</em> +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> &lt;p&gt;By default categories inherit their level from the</em> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment"> hierarchy. However, if you set the level of a logger and later</em> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment"> decide that that logger should inherit its level, then you should</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> specify INHERITED as the value for the level value. NULL is a</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> synonym for INHERITED.</em> +<a name="245" href="#245">245</a> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> &lt;p&gt;Similar to the root logger syntax, each &lt;i&gt;appenderName&lt;/i&gt;</em> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment"> (separated by commas) will be attached to the named logger.</em> +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> &lt;p&gt;See the &lt;a href="../../../../manual.html#additivity"&gt;appender</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> additivity rule&lt;/a&gt; in the user manual for the meaning of the</em> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> &lt;code&gt;additivity&lt;/code&gt; flag.</em> +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment"> &lt;h3&gt;ObjectRenderers&lt;/h3&gt;</em> +<a name="254" href="#254">254</a> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> You can customize the way message objects of a given type are</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> converted to String before being logged. This is done by</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> specifying an {@link org.apache.log4j.or.ObjectRenderer ObjectRenderer}</em> +<a name="258" href="#258">258</a> <em class="jxr_javadoccomment"> for the object type would like to customize.</em> +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment"> &lt;p&gt;The syntax is:</em> +<a name="261" href="#261">261</a> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> log4j.renderer.fully.qualified.name.of.rendered.class=fully.qualified.name.of.rendering.class</em> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> As in,</em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> log4j.renderer.my.Fruit=my.FruitRenderer</em> +<a name="269" href="#269">269</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> <em class="jxr_javadoccomment"> &lt;h3&gt;ThrowableRenderer&lt;/h3&gt;</em> +<a name="272" href="#272">272</a> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> You can customize the way an instance of Throwable is</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> converted to String before being logged. This is done by</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> specifying an {@link org.apache.log4j.spi.ThrowableRenderer ThrowableRenderer}.</em> +<a name="276" href="#276">276</a> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> &lt;p&gt;The syntax is:</em> +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="280" href="#280">280</a> <em class="jxr_javadoccomment"> log4j.throwableRenderer=fully.qualified.name.of.rendering.class</em> +<a name="281" href="#281">281</a> <em class="jxr_javadoccomment"> log4j.throwableRenderer.paramName=paramValue</em> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="283" href="#283">283</a> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> As in,</em> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="286" href="#286">286</a> <em class="jxr_javadoccomment"> log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer</em> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> <em class="jxr_javadoccomment"> &lt;h3&gt;Logger Factories&lt;/h3&gt;</em> +<a name="290" href="#290">290</a> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment"> The usage of custom logger factories is discouraged and no longer</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> documented.</em> +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> &lt;h3&gt;Resetting Hierarchy&lt;/h3&gt;</em> +<a name="295" href="#295">295</a> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment"> The hierarchy will be reset before configuration when</em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> log4j.reset=true is present in the properties file.</em> +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment"> &lt;h3&gt;Example&lt;/h3&gt;</em> +<a name="300" href="#300">300</a> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> &lt;p&gt;An example configuration is given below. Other configuration</em> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> file examples are given in the &lt;code&gt;examples&lt;/code&gt; folder.</em> +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="305" href="#305">305</a> +<a name="306" href="#306">306</a> <em class="jxr_javadoccomment"> # Set options for appender named "A1".</em> +<a name="307" href="#307">307</a> <em class="jxr_javadoccomment"> # Appender "A1" will be a SyslogAppender</em> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment"> log4j.appender.A1=org.apache.log4j.net.SyslogAppender</em> +<a name="309" href="#309">309</a> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> # The syslog daemon resides on www.abc.net</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> log4j.appender.A1.SyslogHost=www.abc.net</em> +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment"> # A1's layout is a PatternLayout, using the conversion pattern</em> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment"> # &lt;b&gt;%r %-5p %c{2} %M.%L %x - %m\n&lt;/b&gt;. Thus, the log output will</em> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> # include # the relative time since the start of the application in</em> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> # milliseconds, followed by the level of the log request,</em> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment"> # followed by the two rightmost components of the logger name,</em> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> # followed by the callers method name, followed by the line number,</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> # the nested disgnostic context and finally the message itself.</em> +<a name="320" href="#320">320</a> <em class="jxr_javadoccomment"> # Refer to the documentation of {@link PatternLayout} for further information</em> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment"> # on the syntax of the ConversionPattern key.</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> log4j.appender.A1.layout=org.apache.log4j.PatternLayout</em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %c{2} %M.%L %x - %m\n</em> +<a name="324" href="#324">324</a> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> # Set options for appender named "A2"</em> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment"> # A2 should be a RollingFileAppender, with maximum file size of 10 MB</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> # using at most one backup file. A2's layout is TTCC, using the</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> # ISO8061 date format with context printing enabled.</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> log4j.appender.A2=org.apache.log4j.RollingFileAppender</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> log4j.appender.A2.MaxFileSize=10MB</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> log4j.appender.A2.MaxBackupIndex=1</em> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> log4j.appender.A2.layout=org.apache.log4j.TTCCLayout</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> log4j.appender.A2.layout.ContextPrinting=enabled</em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> log4j.appender.A2.layout.DateFormat=ISO8601</em> +<a name="335" href="#335">335</a> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment"> # Root logger set to DEBUG using the A2 appender defined above.</em> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment"> log4j.rootLogger=DEBUG, A2</em> +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment"> # Logger definitions:</em> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment"> # The SECURITY logger inherits is level from root. However, it's output</em> +<a name="341" href="#341">341</a> <em class="jxr_javadoccomment"> # will go to A1 appender defined above. It's additivity is non-cumulative.</em> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> log4j.logger.SECURITY=INHERIT, A1</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> log4j.additivity.SECURITY=false</em> +<a name="344" href="#344">344</a> +<a name="345" href="#345">345</a> <em class="jxr_javadoccomment"> # Only warnings or above will be logged for the logger "SECURITY.access".</em> +<a name="346" href="#346">346</a> <em class="jxr_javadoccomment"> # Output will go to A1.</em> +<a name="347" href="#347">347</a> <em class="jxr_javadoccomment"> log4j.logger.SECURITY.access=WARN</em> +<a name="348" href="#348">348</a> +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment"> # The logger "class.of.the.day" inherits its level from the</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> # logger hierarchy. Output will go to the appender's of the root</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> # logger, A2 in this case.</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> log4j.logger.class.of.the.day=INHERIT</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="355" href="#355">355</a> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> &lt;p&gt;Refer to the &lt;b&gt;setOption&lt;/b&gt; method in each Appender and</em> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> Layout for class specific options.</em> +<a name="358" href="#358">358</a> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> &lt;p&gt;Use the &lt;code&gt;#&lt;/code&gt; or &lt;code&gt;!&lt;/code&gt; characters at the</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> beginning of a line for comments.</em> +<a name="361" href="#361">361</a> +<a name="362" href="#362">362</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> @param configFileName The name of the configuration file where the</em> +<a name="364" href="#364">364</a> <em class="jxr_javadoccomment"> configuration information is stored.</em> +<a name="365" href="#365">365</a> +<a name="366" href="#366">366</a> <em class="jxr_javadoccomment"> */</em> +<a name="367" href="#367">367</a> <strong class="jxr_keyword">public</strong> +<a name="368" href="#368">368</a> <strong class="jxr_keyword">void</strong> doConfigure(String configFileName, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) { +<a name="369" href="#369">369</a> Properties props = <strong class="jxr_keyword">new</strong> Properties(); +<a name="370" href="#370">370</a> FileInputStream istream = <strong class="jxr_keyword">null</strong>; +<a name="371" href="#371">371</a> <strong class="jxr_keyword">try</strong> { +<a name="372" href="#372">372</a> istream = <strong class="jxr_keyword">new</strong> FileInputStream(configFileName); +<a name="373" href="#373">373</a> props.load(istream); +<a name="374" href="#374">374</a> istream.close(); +<a name="375" href="#375">375</a> } +<a name="376" href="#376">376</a> <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="377" href="#377">377</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException || e instanceof InterruptedException) { +<a name="378" href="#378">378</a> Thread.currentThread().interrupt(); +<a name="379" href="#379">379</a> } +<a name="380" href="#380">380</a> LogLog.error(<span class="jxr_string">"Could not read configuration file ["</span>+configFileName+<span class="jxr_string">"]."</span>, e); +<a name="381" href="#381">381</a> LogLog.error(<span class="jxr_string">"Ignoring configuration file ["</span> + configFileName+<span class="jxr_string">"]."</span>); +<a name="382" href="#382">382</a> <strong class="jxr_keyword">return</strong>; +<a name="383" href="#383">383</a> } <strong class="jxr_keyword">finally</strong> { +<a name="384" href="#384">384</a> <strong class="jxr_keyword">if</strong>(istream != <strong class="jxr_keyword">null</strong>) { +<a name="385" href="#385">385</a> <strong class="jxr_keyword">try</strong> { +<a name="386" href="#386">386</a> istream.close(); +<a name="387" href="#387">387</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException ignore) { +<a name="388" href="#388">388</a> Thread.currentThread().interrupt(); +<a name="389" href="#389">389</a> } <strong class="jxr_keyword">catch</strong>(Throwable ignore) { +<a name="390" href="#390">390</a> } +<a name="391" href="#391">391</a> +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> } +<a name="394" href="#394">394</a> <em class="jxr_comment">// If we reach here, then the config file is alright.</em> +<a name="395" href="#395">395</a> doConfigure(props, hierarchy); +<a name="396" href="#396">396</a> } +<a name="397" href="#397">397</a> +<a name="398" href="#398">398</a> <em class="jxr_javadoccomment">/**</em> +<a name="399" href="#399">399</a> <em class="jxr_javadoccomment"> */</em> +<a name="400" href="#400">400</a> <strong class="jxr_keyword">static</strong> +<a name="401" href="#401">401</a> <strong class="jxr_keyword">public</strong> +<a name="402" href="#402">402</a> <strong class="jxr_keyword">void</strong> configure(String configFilename) { +<a name="403" href="#403">403</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(configFilename, +<a name="404" href="#404">404</a> LogManager.getLoggerRepository()); +<a name="405" href="#405">405</a> } +<a name="406" href="#406">406</a> +<a name="407" href="#407">407</a> <em class="jxr_javadoccomment">/**</em> +<a name="408" href="#408">408</a> <em class="jxr_javadoccomment"> Read configuration options from url &lt;code&gt;configURL&lt;/code&gt;.</em> +<a name="409" href="#409">409</a> +<a name="410" href="#410">410</a> <em class="jxr_javadoccomment"> @since 0.8.2</em> +<a name="411" href="#411">411</a> <em class="jxr_javadoccomment"> */</em> +<a name="412" href="#412">412</a> <strong class="jxr_keyword">public</strong> +<a name="413" href="#413">413</a> <strong class="jxr_keyword">static</strong> +<a name="414" href="#414">414</a> <strong class="jxr_keyword">void</strong> configure(java.net.URL configURL) { +<a name="415" href="#415">415</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(configURL, +<a name="416" href="#416">416</a> LogManager.getLoggerRepository()); +<a name="417" href="#417">417</a> } +<a name="418" href="#418">418</a> +<a name="419" href="#419">419</a> +<a name="420" href="#420">420</a> <em class="jxr_javadoccomment">/**</em> +<a name="421" href="#421">421</a> <em class="jxr_javadoccomment"> Read configuration options from &lt;code&gt;properties&lt;/code&gt;.</em> +<a name="422" href="#422">422</a> +<a name="423" href="#423">423</a> <em class="jxr_javadoccomment"> See {@link #doConfigure(String, LoggerRepository)} for the expected format.</em> +<a name="424" href="#424">424</a> <em class="jxr_javadoccomment"> */</em> +<a name="425" href="#425">425</a> <strong class="jxr_keyword">static</strong> +<a name="426" href="#426">426</a> <strong class="jxr_keyword">public</strong> +<a name="427" href="#427">427</a> <strong class="jxr_keyword">void</strong> configure(Properties properties) { +<a name="428" href="#428">428</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(properties, +<a name="429" href="#429">429</a> LogManager.getLoggerRepository()); +<a name="430" href="#430">430</a> } +<a name="431" href="#431">431</a> +<a name="432" href="#432">432</a> <em class="jxr_javadoccomment">/**</em> +<a name="433" href="#433">433</a> <em class="jxr_javadoccomment"> Like {@link #configureAndWatch(String, long)} except that the</em> +<a name="434" href="#434">434</a> <em class="jxr_javadoccomment"> default delay as defined by {@link FileWatchdog#DEFAULT_DELAY} is</em> +<a name="435" href="#435">435</a> <em class="jxr_javadoccomment"> used.</em> +<a name="436" href="#436">436</a> +<a name="437" href="#437">437</a> <em class="jxr_javadoccomment"> @param configFilename A file in key=value format.</em> +<a name="438" href="#438">438</a> +<a name="439" href="#439">439</a> <em class="jxr_javadoccomment"> */</em> +<a name="440" href="#440">440</a> <strong class="jxr_keyword">static</strong> +<a name="441" href="#441">441</a> <strong class="jxr_keyword">public</strong> +<a name="442" href="#442">442</a> <strong class="jxr_keyword">void</strong> configureAndWatch(String configFilename) { +<a name="443" href="#443">443</a> configureAndWatch(configFilename, FileWatchdog.DEFAULT_DELAY); +<a name="444" href="#444">444</a> } +<a name="445" href="#445">445</a> +<a name="446" href="#446">446</a> +<a name="447" href="#447">447</a> <em class="jxr_javadoccomment">/**</em> +<a name="448" href="#448">448</a> <em class="jxr_javadoccomment"> Read the configuration file &lt;code&gt;configFilename&lt;/code&gt; if it</em> +<a name="449" href="#449">449</a> <em class="jxr_javadoccomment"> exists. Moreover, a thread will be created that will periodically</em> +<a name="450" href="#450">450</a> <em class="jxr_javadoccomment"> check if &lt;code&gt;configFilename&lt;/code&gt; has been created or</em> +<a name="451" href="#451">451</a> <em class="jxr_javadoccomment"> modified. The period is determined by the &lt;code&gt;delay&lt;/code&gt;</em> +<a name="452" href="#452">452</a> <em class="jxr_javadoccomment"> argument. If a change or file creation is detected, then</em> +<a name="453" href="#453">453</a> <em class="jxr_javadoccomment"> &lt;code&gt;configFilename&lt;/code&gt; is read to configure log4j.</em> +<a name="454" href="#454">454</a> +<a name="455" href="#455">455</a> <em class="jxr_javadoccomment"> @param configFilename A file in key=value format.</em> +<a name="456" href="#456">456</a> <em class="jxr_javadoccomment"> @param delay The delay in milliseconds to wait between each check.</em> +<a name="457" href="#457">457</a> <em class="jxr_javadoccomment"> */</em> +<a name="458" href="#458">458</a> <strong class="jxr_keyword">static</strong> +<a name="459" href="#459">459</a> <strong class="jxr_keyword">public</strong> +<a name="460" href="#460">460</a> <strong class="jxr_keyword">void</strong> configureAndWatch(String configFilename, <strong class="jxr_keyword">long</strong> delay) { +<a name="461" href="#461">461</a> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyWatchdog</a> pdog = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyWatchdog</a>(configFilename); +<a name="462" href="#462">462</a> pdog.setDelay(delay); +<a name="463" href="#463">463</a> pdog.start(); +<a name="464" href="#464">464</a> } +<a name="465" href="#465">465</a> +<a name="466" href="#466">466</a> +<a name="467" href="#467">467</a> <em class="jxr_javadoccomment">/**</em> +<a name="468" href="#468">468</a> <em class="jxr_javadoccomment"> Read configuration options from &lt;code&gt;properties&lt;/code&gt;.</em> +<a name="469" href="#469">469</a> +<a name="470" href="#470">470</a> <em class="jxr_javadoccomment"> See {@link #doConfigure(String, LoggerRepository)} for the expected format.</em> +<a name="471" href="#471">471</a> <em class="jxr_javadoccomment"> */</em> +<a name="472" href="#472">472</a> <strong class="jxr_keyword">public</strong> +<a name="473" href="#473">473</a> <strong class="jxr_keyword">void</strong> doConfigure(Properties properties, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) { +<a name="474" href="#474">474</a> repository = hierarchy; +<a name="475" href="#475">475</a> String value = properties.getProperty(LogLog.DEBUG_KEY); +<a name="476" href="#476">476</a> <strong class="jxr_keyword">if</strong>(value == <strong class="jxr_keyword">null</strong>) { +<a name="477" href="#477">477</a> value = properties.getProperty(<span class="jxr_string">"log4j.configDebug"</span>); +<a name="478" href="#478">478</a> <strong class="jxr_keyword">if</strong>(value != <strong class="jxr_keyword">null</strong>) +<a name="479" href="#479">479</a> LogLog.warn(<span class="jxr_string">"[log4j.configDebug] is deprecated. Use [log4j.debug] instead."</span>); +<a name="480" href="#480">480</a> } +<a name="481" href="#481">481</a> +<a name="482" href="#482">482</a> <strong class="jxr_keyword">if</strong>(value != <strong class="jxr_keyword">null</strong>) { +<a name="483" href="#483">483</a> LogLog.setInternalDebugging(OptionConverter.toBoolean(value, <strong class="jxr_keyword">true</strong>)); +<a name="484" href="#484">484</a> } +<a name="485" href="#485">485</a> +<a name="486" href="#486">486</a> <em class="jxr_comment">//</em> +<a name="487" href="#487">487</a> <em class="jxr_comment">// if log4j.reset=true then</em> +<a name="488" href="#488">488</a> <em class="jxr_comment">// reset hierarchy</em> +<a name="489" href="#489">489</a> String reset = properties.getProperty(RESET_KEY); +<a name="490" href="#490">490</a> <strong class="jxr_keyword">if</strong> (reset != <strong class="jxr_keyword">null</strong> &amp;&amp; OptionConverter.toBoolean(reset, false)) { +<a name="491" href="#491">491</a> hierarchy.resetConfiguration(); +<a name="492" href="#492">492</a> } +<a name="493" href="#493">493</a> +<a name="494" href="#494">494</a> String thresholdStr = OptionConverter.findAndSubst(THRESHOLD_PREFIX, +<a name="495" href="#495">495</a> properties); +<a name="496" href="#496">496</a> <strong class="jxr_keyword">if</strong>(thresholdStr != <strong class="jxr_keyword">null</strong>) { +<a name="497" href="#497">497</a> hierarchy.setThreshold(OptionConverter.toLevel(thresholdStr, +<a name="498" href="#498">498</a> (Level) Level.ALL)); +<a name="499" href="#499">499</a> LogLog.debug(<span class="jxr_string">"Hierarchy threshold set to ["</span>+hierarchy.getThreshold()+<span class="jxr_string">"]."</span>); +<a name="500" href="#500">500</a> } +<a name="501" href="#501">501</a> +<a name="502" href="#502">502</a> configureRootCategory(properties, hierarchy); +<a name="503" href="#503">503</a> configureLoggerFactory(properties); +<a name="504" href="#504">504</a> parseCatsAndRenderers(properties, hierarchy); +<a name="505" href="#505">505</a> +<a name="506" href="#506">506</a> LogLog.debug(<span class="jxr_string">"Finished configuring."</span>); +<a name="507" href="#507">507</a> <em class="jxr_comment">// We don't want to hold references to appenders preventing their</em> +<a name="508" href="#508">508</a> <em class="jxr_comment">// garbage collection.</em> +<a name="509" href="#509">509</a> registry.clear(); +<a name="510" href="#510">510</a> } +<a name="511" href="#511">511</a> +<a name="512" href="#512">512</a> <em class="jxr_javadoccomment">/**</em> +<a name="513" href="#513">513</a> <em class="jxr_javadoccomment"> Read configuration options from url &lt;code&gt;configURL&lt;/code&gt;.</em> +<a name="514" href="#514">514</a> <em class="jxr_javadoccomment"> */</em> +<a name="515" href="#515">515</a> <strong class="jxr_keyword">public</strong> +<a name="516" href="#516">516</a> <strong class="jxr_keyword">void</strong> doConfigure(java.net.URL configURL, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) { +<a name="517" href="#517">517</a> Properties props = <strong class="jxr_keyword">new</strong> Properties(); +<a name="518" href="#518">518</a> LogLog.debug(<span class="jxr_string">"Reading configuration from URL "</span> + configURL); +<a name="519" href="#519">519</a> InputStream istream = <strong class="jxr_keyword">null</strong>; +<a name="520" href="#520">520</a> URLConnection uConn = <strong class="jxr_keyword">null</strong>; +<a name="521" href="#521">521</a> <strong class="jxr_keyword">try</strong> { +<a name="522" href="#522">522</a> uConn = configURL.openConnection(); +<a name="523" href="#523">523</a> uConn.setUseCaches(false); +<a name="524" href="#524">524</a> istream = uConn.getInputStream(); +<a name="525" href="#525">525</a> props.load(istream); +<a name="526" href="#526">526</a> } +<a name="527" href="#527">527</a> <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="528" href="#528">528</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException || e instanceof InterruptedException) { +<a name="529" href="#529">529</a> Thread.currentThread().interrupt(); +<a name="530" href="#530">530</a> } +<a name="531" href="#531">531</a> LogLog.error(<span class="jxr_string">"Could not read configuration file from URL ["</span> + configURL +<a name="532" href="#532">532</a> + <span class="jxr_string">"]."</span>, e); +<a name="533" href="#533">533</a> LogLog.error(<span class="jxr_string">"Ignoring configuration file ["</span> + configURL +<span class="jxr_string">"]."</span>); +<a name="534" href="#534">534</a> <strong class="jxr_keyword">return</strong>; +<a name="535" href="#535">535</a> } +<a name="536" href="#536">536</a> <strong class="jxr_keyword">finally</strong> { +<a name="537" href="#537">537</a> <strong class="jxr_keyword">if</strong> (istream != <strong class="jxr_keyword">null</strong>) { +<a name="538" href="#538">538</a> <strong class="jxr_keyword">try</strong> { +<a name="539" href="#539">539</a> istream.close(); +<a name="540" href="#540">540</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException ignore) { +<a name="541" href="#541">541</a> Thread.currentThread().interrupt(); +<a name="542" href="#542">542</a> } <strong class="jxr_keyword">catch</strong>(IOException ignore) { +<a name="543" href="#543">543</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException ignore) { +<a name="544" href="#544">544</a> } +<a name="545" href="#545">545</a> } +<a name="546" href="#546">546</a> } +<a name="547" href="#547">547</a> doConfigure(props, hierarchy); +<a name="548" href="#548">548</a> } +<a name="549" href="#549">549</a> +<a name="550" href="#550">550</a> +<a name="551" href="#551">551</a> <em class="jxr_comment">// --------------------------------------------------------------------------</em> +<a name="552" href="#552">552</a> <em class="jxr_comment">// Internal stuff</em> +<a name="553" href="#553">553</a> <em class="jxr_comment">// --------------------------------------------------------------------------</em> +<a name="554" href="#554">554</a> +<a name="555" href="#555">555</a> <em class="jxr_javadoccomment">/**</em> +<a name="556" href="#556">556</a> <em class="jxr_javadoccomment"> Check the provided &lt;code&gt;Properties&lt;/code&gt; object for a</em> +<a name="557" href="#557">557</a> <em class="jxr_javadoccomment"> {@link org.apache.log4j.spi.LoggerFactory LoggerFactory}</em> +<a name="558" href="#558">558</a> <em class="jxr_javadoccomment"> entry specified by {@link #LOGGER_FACTORY_KEY}. If such an entry</em> +<a name="559" href="#559">559</a> <em class="jxr_javadoccomment"> exists, an attempt is made to create an instance using the default</em> +<a name="560" href="#560">560</a> <em class="jxr_javadoccomment"> constructor. This instance is used for subsequent Category creations</em> +<a name="561" href="#561">561</a> <em class="jxr_javadoccomment"> within this configurator.</em> +<a name="562" href="#562">562</a> +<a name="563" href="#563">563</a> <em class="jxr_javadoccomment"> @see #parseCatsAndRenderers</em> +<a name="564" href="#564">564</a> <em class="jxr_javadoccomment"> */</em> +<a name="565" href="#565">565</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> configureLoggerFactory(Properties props) { +<a name="566" href="#566">566</a> String factoryClassName = OptionConverter.findAndSubst(LOGGER_FACTORY_KEY, +<a name="567" href="#567">567</a> props); +<a name="568" href="#568">568</a> <strong class="jxr_keyword">if</strong>(factoryClassName != <strong class="jxr_keyword">null</strong>) { +<a name="569" href="#569">569</a> LogLog.debug(<span class="jxr_string">"Setting category factory to ["</span>+factoryClassName+<span class="jxr_string">"]."</span>); +<a name="570" href="#570">570</a> loggerFactory = (LoggerFactory) +<a name="571" href="#571">571</a> OptionConverter.instantiateByClassName(factoryClassName, +<a name="572" href="#572">572</a> LoggerFactory.<strong class="jxr_keyword">class</strong>, +<a name="573" href="#573">573</a> loggerFactory); +<a name="574" href="#574">574</a> PropertySetter.setProperties(loggerFactory, props, FACTORY_PREFIX + <span class="jxr_string">"."</span>); +<a name="575" href="#575">575</a> } +<a name="576" href="#576">576</a> } +<a name="577" href="#577">577</a> +<a name="578" href="#578">578</a> <em class="jxr_comment">/*</em> +<a name="579" href="#579">579</a> <em class="jxr_comment"> void configureOptionHandler(OptionHandler oh, String prefix,</em> +<a name="580" href="#580">580</a> <em class="jxr_comment"> Properties props) {</em> +<a name="581" href="#581">581</a> <em class="jxr_comment"> String[] options = oh.getOptionStrings();</em> +<a name="582" href="#582">582</a> <em class="jxr_comment"> if(options == null)</em> +<a name="583" href="#583">583</a> <em class="jxr_comment"> return;</em> +<a name="584" href="#584">584</a> +<a name="585" href="#585">585</a> <em class="jxr_comment"> String value;</em> +<a name="586" href="#586">586</a> <em class="jxr_comment"> for(int i = 0; i &lt; options.length; i++) {</em> +<a name="587" href="#587">587</a> <em class="jxr_comment"> value = OptionConverter.findAndSubst(prefix + options[i], props);</em> +<a name="588" href="#588">588</a> <em class="jxr_comment"> LogLog.debug(</em> +<a name="589" href="#589">589</a> <em class="jxr_comment"> "Option " + options[i] + "=[" + (value == null? "N/A" : value)+"].");</em> +<a name="590" href="#590">590</a> <em class="jxr_comment"> // Some option handlers assume that null value are not passed to them.</em> +<a name="591" href="#591">591</a> <em class="jxr_comment"> // So don't remove this check</em> +<a name="592" href="#592">592</a> <em class="jxr_comment"> if(value != null) {</em> +<a name="593" href="#593">593</a> <em class="jxr_comment"> oh.setOption(options[i], value);</em> +<a name="594" href="#594">594</a> <em class="jxr_comment"> }</em> +<a name="595" href="#595">595</a> <em class="jxr_comment"> }</em> +<a name="596" href="#596">596</a> <em class="jxr_comment"> oh.activateOptions();</em> +<a name="597" href="#597">597</a> <em class="jxr_comment"> }</em> +<a name="598" href="#598">598</a> <em class="jxr_comment"> */</em> +<a name="599" href="#599">599</a> +<a name="600" href="#600">600</a> +<a name="601" href="#601">601</a> <strong class="jxr_keyword">void</strong> configureRootCategory(Properties props, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) { +<a name="602" href="#602">602</a> String effectiveFrefix = ROOT_LOGGER_PREFIX; +<a name="603" href="#603">603</a> String value = OptionConverter.findAndSubst(ROOT_LOGGER_PREFIX, props); +<a name="604" href="#604">604</a> +<a name="605" href="#605">605</a> <strong class="jxr_keyword">if</strong>(value == <strong class="jxr_keyword">null</strong>) { +<a name="606" href="#606">606</a> value = OptionConverter.findAndSubst(ROOT_CATEGORY_PREFIX, props); +<a name="607" href="#607">607</a> effectiveFrefix = ROOT_CATEGORY_PREFIX; +<a name="608" href="#608">608</a> } +<a name="609" href="#609">609</a> +<a name="610" href="#610">610</a> <strong class="jxr_keyword">if</strong>(value == <strong class="jxr_keyword">null</strong>) +<a name="611" href="#611">611</a> LogLog.debug(<span class="jxr_string">"Could not find root logger information. Is this OK?"</span>); +<a name="612" href="#612">612</a> <strong class="jxr_keyword">else</strong> { +<a name="613" href="#613">613</a> <a href="../../../org/apache/log4j/Logger.html">Logger</a> root = hierarchy.getRootLogger(); +<a name="614" href="#614">614</a> <strong class="jxr_keyword">synchronized</strong>(root) { +<a name="615" href="#615">615</a> parseCategory(props, root, effectiveFrefix, INTERNAL_ROOT_NAME, value); +<a name="616" href="#616">616</a> } +<a name="617" href="#617">617</a> } +<a name="618" href="#618">618</a> } +<a name="619" href="#619">619</a> +<a name="620" href="#620">620</a> +<a name="621" href="#621">621</a> <em class="jxr_javadoccomment">/**</em> +<a name="622" href="#622">622</a> <em class="jxr_javadoccomment"> Parse non-root elements, such non-root categories and renderers.</em> +<a name="623" href="#623">623</a> <em class="jxr_javadoccomment"> */</em> +<a name="624" href="#624">624</a> <strong class="jxr_keyword">protected</strong> +<a name="625" href="#625">625</a> <strong class="jxr_keyword">void</strong> parseCatsAndRenderers(Properties props, <a href="../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) { +<a name="626" href="#626">626</a> Enumeration enumeration = props.propertyNames(); +<a name="627" href="#627">627</a> <strong class="jxr_keyword">while</strong>(enumeration.hasMoreElements()) { +<a name="628" href="#628">628</a> String key = (String) enumeration.nextElement(); +<a name="629" href="#629">629</a> <strong class="jxr_keyword">if</strong>(key.startsWith(CATEGORY_PREFIX) || key.startsWith(LOGGER_PREFIX)) { +<a name="630" href="#630">630</a> String loggerName = <strong class="jxr_keyword">null</strong>; +<a name="631" href="#631">631</a> <strong class="jxr_keyword">if</strong>(key.startsWith(CATEGORY_PREFIX)) { +<a name="632" href="#632">632</a> loggerName = key.substring(CATEGORY_PREFIX.length()); +<a name="633" href="#633">633</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(key.startsWith(LOGGER_PREFIX)) { +<a name="634" href="#634">634</a> loggerName = key.substring(LOGGER_PREFIX.length()); +<a name="635" href="#635">635</a> } +<a name="636" href="#636">636</a> String value = OptionConverter.findAndSubst(key, props); +<a name="637" href="#637">637</a> Logger logger = hierarchy.getLogger(loggerName, loggerFactory); +<a name="638" href="#638">638</a> <strong class="jxr_keyword">synchronized</strong>(logger) { +<a name="639" href="#639">639</a> parseCategory(props, logger, key, loggerName, value); +<a name="640" href="#640">640</a> parseAdditivityForLogger(props, logger, loggerName); +<a name="641" href="#641">641</a> } +<a name="642" href="#642">642</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(key.startsWith(RENDERER_PREFIX)) { +<a name="643" href="#643">643</a> String renderedClass = key.substring(RENDERER_PREFIX.length()); +<a name="644" href="#644">644</a> String renderingClass = OptionConverter.findAndSubst(key, props); +<a name="645" href="#645">645</a> <strong class="jxr_keyword">if</strong>(hierarchy instanceof <a href="../../../org/apache/log4j/spi/RendererSupport.html">RendererSupport</a>) { +<a name="646" href="#646">646</a> RendererMap.addRenderer((RendererSupport) hierarchy, renderedClass, +<a name="647" href="#647">647</a> renderingClass); +<a name="648" href="#648">648</a> } +<a name="649" href="#649">649</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (key.equals(THROWABLE_RENDERER_PREFIX)) { +<a name="650" href="#650">650</a> <strong class="jxr_keyword">if</strong> (hierarchy instanceof ThrowableRendererSupport) { +<a name="651" href="#651">651</a> <a href="../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> tr = (ThrowableRenderer) +<a name="652" href="#652">652</a> OptionConverter.instantiateByKey(props, +<a name="653" href="#653">653</a> THROWABLE_RENDERER_PREFIX, +<a name="654" href="#654">654</a> org.apache.log4j.spi.ThrowableRenderer.<strong class="jxr_keyword">class</strong>, +<a name="655" href="#655">655</a> <strong class="jxr_keyword">null</strong>); +<a name="656" href="#656">656</a> <strong class="jxr_keyword">if</strong>(tr == <strong class="jxr_keyword">null</strong>) { +<a name="657" href="#657">657</a> LogLog.error( +<a name="658" href="#658">658</a> <span class="jxr_string">"Could not instantiate throwableRenderer."</span>); +<a name="659" href="#659">659</a> } <strong class="jxr_keyword">else</strong> { +<a name="660" href="#660">660</a> <a href="../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> setter = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(tr); +<a name="661" href="#661">661</a> setter.setProperties(props, THROWABLE_RENDERER_PREFIX + <span class="jxr_string">"."</span>); +<a name="662" href="#662">662</a> ((<a href="../../../org/apache/log4j/spi/ThrowableRendererSupport.html">ThrowableRendererSupport</a>) hierarchy).setThrowableRenderer(tr); +<a name="663" href="#663">663</a> +<a name="664" href="#664">664</a> } +<a name="665" href="#665">665</a> } +<a name="666" href="#666">666</a> } +<a name="667" href="#667">667</a> } +<a name="668" href="#668">668</a> } +<a name="669" href="#669">669</a> +<a name="670" href="#670">670</a> <em class="jxr_javadoccomment">/**</em> +<a name="671" href="#671">671</a> <em class="jxr_javadoccomment"> Parse the additivity option for a non-root category.</em> +<a name="672" href="#672">672</a> <em class="jxr_javadoccomment"> */</em> +<a name="673" href="#673">673</a> <strong class="jxr_keyword">void</strong> parseAdditivityForLogger(Properties props, <a href="../../../org/apache/log4j/Logger.html">Logger</a> cat, +<a name="674" href="#674">674</a> String loggerName) { +<a name="675" href="#675">675</a> String value = OptionConverter.findAndSubst(ADDITIVITY_PREFIX + loggerName, +<a name="676" href="#676">676</a> props); +<a name="677" href="#677">677</a> LogLog.debug(<span class="jxr_string">"Handling "</span>+ADDITIVITY_PREFIX + loggerName+<span class="jxr_string">"=["</span>+value+<span class="jxr_string">"]"</span>); +<a name="678" href="#678">678</a> <em class="jxr_comment">// touch additivity only if necessary</em> +<a name="679" href="#679">679</a> <strong class="jxr_keyword">if</strong>((value != <strong class="jxr_keyword">null</strong>) &amp;&amp; (!value.equals(<span class="jxr_string">""</span>))) { +<a name="680" href="#680">680</a> <strong class="jxr_keyword">boolean</strong> additivity = OptionConverter.toBoolean(value, <strong class="jxr_keyword">true</strong>); +<a name="681" href="#681">681</a> LogLog.debug(<span class="jxr_string">"Setting additivity for \&quot;"</span>+loggerName+<span class="jxr_string">"\&quot; to "</span>+ +<a name="682" href="#682">682</a> additivity); +<a name="683" href="#683">683</a> cat.setAdditivity(additivity); +<a name="684" href="#684">684</a> } +<a name="685" href="#685">685</a> } +<a name="686" href="#686">686</a> +<a name="687" href="#687">687</a> <em class="jxr_javadoccomment">/**</em> +<a name="688" href="#688">688</a> <em class="jxr_javadoccomment"> This method must work for the root category as well.</em> +<a name="689" href="#689">689</a> <em class="jxr_javadoccomment"> */</em> +<a name="690" href="#690">690</a> <strong class="jxr_keyword">void</strong> parseCategory(Properties props, <a href="../../../org/apache/log4j/Logger.html">Logger</a> logger, String optionKey, +<a name="691" href="#691">691</a> String loggerName, String value) { +<a name="692" href="#692">692</a> +<a name="693" href="#693">693</a> LogLog.debug(<span class="jxr_string">"Parsing for ["</span> +loggerName +<span class="jxr_string">"] with value=["</span> + value+<span class="jxr_string">"]."</span>); +<a name="694" href="#694">694</a> <em class="jxr_comment">// We must skip over ',' but not white space</em> +<a name="695" href="#695">695</a> StringTokenizer st = <strong class="jxr_keyword">new</strong> StringTokenizer(value, <span class="jxr_string">","</span>); +<a name="696" href="#696">696</a> +<a name="697" href="#697">697</a> <em class="jxr_comment">// If value is not in the form ", appender.." or "", then we should set</em> +<a name="698" href="#698">698</a> <em class="jxr_comment">// the level of the loggeregory.</em> +<a name="699" href="#699">699</a> +<a name="700" href="#700">700</a> <strong class="jxr_keyword">if</strong>(!(value.startsWith(<span class="jxr_string">","</span>) || value.equals(<span class="jxr_string">""</span>))) { +<a name="701" href="#701">701</a> +<a name="702" href="#702">702</a> <em class="jxr_comment">// just to be on the safe side...</em> +<a name="703" href="#703">703</a> <strong class="jxr_keyword">if</strong>(!st.hasMoreTokens()) +<a name="704" href="#704">704</a> <strong class="jxr_keyword">return</strong>; +<a name="705" href="#705">705</a> +<a name="706" href="#706">706</a> String levelStr = st.nextToken(); +<a name="707" href="#707">707</a> LogLog.debug(<span class="jxr_string">"Level token is ["</span> + levelStr + <span class="jxr_string">"]."</span>); +<a name="708" href="#708">708</a> +<a name="709" href="#709">709</a> <em class="jxr_comment">// If the level value is inherited, set category level value to</em> +<a name="710" href="#710">710</a> <em class="jxr_comment">// null. We also check that the user has not specified inherited for the</em> +<a name="711" href="#711">711</a> <em class="jxr_comment">// root category.</em> +<a name="712" href="#712">712</a> <strong class="jxr_keyword">if</strong>(INHERITED.equalsIgnoreCase(levelStr) || +<a name="713" href="#713">713</a> NULL.equalsIgnoreCase(levelStr)) { +<a name="714" href="#714">714</a> <strong class="jxr_keyword">if</strong>(loggerName.equals(INTERNAL_ROOT_NAME)) { +<a name="715" href="#715">715</a> LogLog.warn(<span class="jxr_string">"The root logger cannot be set to null."</span>); +<a name="716" href="#716">716</a> } <strong class="jxr_keyword">else</strong> { +<a name="717" href="#717">717</a> logger.setLevel(<strong class="jxr_keyword">null</strong>); +<a name="718" href="#718">718</a> } +<a name="719" href="#719">719</a> } <strong class="jxr_keyword">else</strong> { +<a name="720" href="#720">720</a> logger.setLevel(OptionConverter.toLevel(levelStr, (Level) Level.DEBUG)); +<a name="721" href="#721">721</a> } +<a name="722" href="#722">722</a> LogLog.debug(<span class="jxr_string">"Category "</span> + loggerName + <span class="jxr_string">" set to "</span> + logger.getLevel()); +<a name="723" href="#723">723</a> } +<a name="724" href="#724">724</a> +<a name="725" href="#725">725</a> <em class="jxr_comment">// Begin by removing all existing appenders.</em> +<a name="726" href="#726">726</a> logger.removeAllAppenders(); +<a name="727" href="#727">727</a> +<a name="728" href="#728">728</a> <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender; +<a name="729" href="#729">729</a> String appenderName; +<a name="730" href="#730">730</a> <strong class="jxr_keyword">while</strong>(st.hasMoreTokens()) { +<a name="731" href="#731">731</a> appenderName = st.nextToken().trim(); +<a name="732" href="#732">732</a> <strong class="jxr_keyword">if</strong>(appenderName == <strong class="jxr_keyword">null</strong> || appenderName.equals(<span class="jxr_string">","</span>)) +<a name="733" href="#733">733</a> <strong class="jxr_keyword">continue</strong>; +<a name="734" href="#734">734</a> LogLog.debug(<span class="jxr_string">"Parsing appender named \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot;."</span>); +<a name="735" href="#735">735</a> appender = parseAppender(props, appenderName); +<a name="736" href="#736">736</a> <strong class="jxr_keyword">if</strong>(appender != <strong class="jxr_keyword">null</strong>) { +<a name="737" href="#737">737</a> logger.addAppender(appender); +<a name="738" href="#738">738</a> } +<a name="739" href="#739">739</a> } +<a name="740" href="#740">740</a> } +<a name="741" href="#741">741</a> +<a name="742" href="#742">742</a> <a href="../../../org/apache/log4j/Appender.html">Appender</a> parseAppender(Properties props, String appenderName) { +<a name="743" href="#743">743</a> <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender = registryGet(appenderName); +<a name="744" href="#744">744</a> <strong class="jxr_keyword">if</strong>((appender != <strong class="jxr_keyword">null</strong>)) { +<a name="745" href="#745">745</a> LogLog.debug(<span class="jxr_string">"Appender \&quot;"</span> + appenderName + <span class="jxr_string">"\&quot; was already parsed."</span>); +<a name="746" href="#746">746</a> <strong class="jxr_keyword">return</strong> appender; +<a name="747" href="#747">747</a> } +<a name="748" href="#748">748</a> <em class="jxr_comment">// Appender was not previously initialized.</em> +<a name="749" href="#749">749</a> String prefix = APPENDER_PREFIX + appenderName; +<a name="750" href="#750">750</a> String layoutPrefix = prefix + <span class="jxr_string">".layout"</span>; +<a name="751" href="#751">751</a> +<a name="752" href="#752">752</a> appender = (Appender) OptionConverter.instantiateByKey(props, prefix, +<a name="753" href="#753">753</a> org.apache.log4j.Appender.<strong class="jxr_keyword">class</strong>, +<a name="754" href="#754">754</a> <strong class="jxr_keyword">null</strong>); +<a name="755" href="#755">755</a> <strong class="jxr_keyword">if</strong>(appender == <strong class="jxr_keyword">null</strong>) { +<a name="756" href="#756">756</a> LogLog.error( +<a name="757" href="#757">757</a> <span class="jxr_string">"Could not instantiate appender named \&quot;"</span> + appenderName+<span class="jxr_string">"\&quot;."</span>); +<a name="758" href="#758">758</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="759" href="#759">759</a> } +<a name="760" href="#760">760</a> appender.setName(appenderName); +<a name="761" href="#761">761</a> +<a name="762" href="#762">762</a> <strong class="jxr_keyword">if</strong>(appender instanceof <a href="../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a>) { +<a name="763" href="#763">763</a> <strong class="jxr_keyword">if</strong>(appender.requiresLayout()) { +<a name="764" href="#764">764</a> Layout layout = (Layout) OptionConverter.instantiateByKey(props, +<a name="765" href="#765">765</a> layoutPrefix, +<a name="766" href="#766">766</a> Layout.<strong class="jxr_keyword">class</strong>, +<a name="767" href="#767">767</a> <strong class="jxr_keyword">null</strong>); +<a name="768" href="#768">768</a> <strong class="jxr_keyword">if</strong>(layout != <strong class="jxr_keyword">null</strong>) { +<a name="769" href="#769">769</a> appender.setLayout(layout); +<a name="770" href="#770">770</a> LogLog.debug(<span class="jxr_string">"Parsing layout options for \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot;."</span>); +<a name="771" href="#771">771</a> <em class="jxr_comment">//configureOptionHandler(layout, layoutPrefix + ".", props);</em> +<a name="772" href="#772">772</a> PropertySetter.setProperties(layout, props, layoutPrefix + <span class="jxr_string">"."</span>); +<a name="773" href="#773">773</a> LogLog.debug(<span class="jxr_string">"End of parsing for \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot;."</span>); +<a name="774" href="#774">774</a> } +<a name="775" href="#775">775</a> } +<a name="776" href="#776">776</a> <strong class="jxr_keyword">final</strong> String errorHandlerPrefix = prefix + <span class="jxr_string">".errorhandler"</span>; +<a name="777" href="#777">777</a> String errorHandlerClass = OptionConverter.findAndSubst(errorHandlerPrefix, props); +<a name="778" href="#778">778</a> <strong class="jxr_keyword">if</strong> (errorHandlerClass != <strong class="jxr_keyword">null</strong>) { +<a name="779" href="#779">779</a> ErrorHandler eh = (ErrorHandler) OptionConverter.instantiateByKey(props, +<a name="780" href="#780">780</a> errorHandlerPrefix, +<a name="781" href="#781">781</a> ErrorHandler.<strong class="jxr_keyword">class</strong>, +<a name="782" href="#782">782</a> <strong class="jxr_keyword">null</strong>); +<a name="783" href="#783">783</a> <strong class="jxr_keyword">if</strong> (eh != <strong class="jxr_keyword">null</strong>) { +<a name="784" href="#784">784</a> appender.setErrorHandler(eh); +<a name="785" href="#785">785</a> LogLog.debug(<span class="jxr_string">"Parsing errorhandler options for \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot;."</span>); +<a name="786" href="#786">786</a> parseErrorHandler(eh, errorHandlerPrefix, props, repository); +<a name="787" href="#787">787</a> <strong class="jxr_keyword">final</strong> Properties edited = <strong class="jxr_keyword">new</strong> Properties(); +<a name="788" href="#788">788</a> <strong class="jxr_keyword">final</strong> String[] keys = <strong class="jxr_keyword">new</strong> String[] { +<a name="789" href="#789">789</a> errorHandlerPrefix + <span class="jxr_string">"."</span> + ROOT_REF, +<a name="790" href="#790">790</a> errorHandlerPrefix + <span class="jxr_string">"."</span> + LOGGER_REF, +<a name="791" href="#791">791</a> errorHandlerPrefix + <span class="jxr_string">"."</span> + APPENDER_REF_TAG +<a name="792" href="#792">792</a> }; +<a name="793" href="#793">793</a> <strong class="jxr_keyword">for</strong>(Iterator iter = props.entrySet().iterator();iter.hasNext();) { +<a name="794" href="#794">794</a> Map.Entry entry = (Map.Entry) iter.next(); +<a name="795" href="#795">795</a> <strong class="jxr_keyword">int</strong> i = 0; +<a name="796" href="#796">796</a> <strong class="jxr_keyword">for</strong>(; i &lt; keys.length; i++) { +<a name="797" href="#797">797</a> <strong class="jxr_keyword">if</strong>(keys[i].equals(entry.getKey())) <strong class="jxr_keyword">break</strong>; +<a name="798" href="#798">798</a> } +<a name="799" href="#799">799</a> <strong class="jxr_keyword">if</strong> (i == keys.length) { +<a name="800" href="#800">800</a> edited.put(entry.getKey(), entry.getValue()); +<a name="801" href="#801">801</a> } +<a name="802" href="#802">802</a> } +<a name="803" href="#803">803</a> PropertySetter.setProperties(eh, edited, errorHandlerPrefix + <span class="jxr_string">"."</span>); +<a name="804" href="#804">804</a> LogLog.debug(<span class="jxr_string">"End of errorhandler parsing for \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot;."</span>); +<a name="805" href="#805">805</a> } +<a name="806" href="#806">806</a> +<a name="807" href="#807">807</a> } +<a name="808" href="#808">808</a> <em class="jxr_comment">//configureOptionHandler((OptionHandler) appender, prefix + ".", props);</em> +<a name="809" href="#809">809</a> PropertySetter.setProperties(appender, props, prefix + <span class="jxr_string">"."</span>); +<a name="810" href="#810">810</a> LogLog.debug(<span class="jxr_string">"Parsed \&quot;"</span> + appenderName +<span class="jxr_string">"\&quot; options."</span>); +<a name="811" href="#811">811</a> } +<a name="812" href="#812">812</a> parseAppenderFilters(props, appenderName, appender); +<a name="813" href="#813">813</a> registryPut(appender); +<a name="814" href="#814">814</a> <strong class="jxr_keyword">return</strong> appender; +<a name="815" href="#815">815</a> } +<a name="816" href="#816">816</a> +<a name="817" href="#817">817</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> parseErrorHandler( +<a name="818" href="#818">818</a> <strong class="jxr_keyword">final</strong> ErrorHandler eh, +<a name="819" href="#819">819</a> <strong class="jxr_keyword">final</strong> String errorHandlerPrefix, +<a name="820" href="#820">820</a> <strong class="jxr_keyword">final</strong> Properties props, +<a name="821" href="#821">821</a> <strong class="jxr_keyword">final</strong> LoggerRepository hierarchy) { +<a name="822" href="#822">822</a> <strong class="jxr_keyword">boolean</strong> rootRef = OptionConverter.toBoolean( +<a name="823" href="#823">823</a> OptionConverter.findAndSubst(errorHandlerPrefix + ROOT_REF, props), false); +<a name="824" href="#824">824</a> <strong class="jxr_keyword">if</strong> (rootRef) { +<a name="825" href="#825">825</a> eh.setLogger(hierarchy.getRootLogger()); +<a name="826" href="#826">826</a> } +<a name="827" href="#827">827</a> String loggerName = OptionConverter.findAndSubst(errorHandlerPrefix + LOGGER_REF , props); +<a name="828" href="#828">828</a> <strong class="jxr_keyword">if</strong> (loggerName != <strong class="jxr_keyword">null</strong>) { +<a name="829" href="#829">829</a> Logger logger = (loggerFactory == <strong class="jxr_keyword">null</strong>) ? hierarchy.getLogger(loggerName) +<a name="830" href="#830">830</a> : hierarchy.getLogger(loggerName, loggerFactory); +<a name="831" href="#831">831</a> eh.setLogger(logger); +<a name="832" href="#832">832</a> } +<a name="833" href="#833">833</a> String appenderName = OptionConverter.findAndSubst(errorHandlerPrefix + APPENDER_REF_TAG, props); +<a name="834" href="#834">834</a> <strong class="jxr_keyword">if</strong> (appenderName != <strong class="jxr_keyword">null</strong>) { +<a name="835" href="#835">835</a> Appender backup = parseAppender(props, appenderName); +<a name="836" href="#836">836</a> <strong class="jxr_keyword">if</strong> (backup != <strong class="jxr_keyword">null</strong>) { +<a name="837" href="#837">837</a> eh.setBackupAppender(backup); +<a name="838" href="#838">838</a> } +<a name="839" href="#839">839</a> } +<a name="840" href="#840">840</a> } +<a name="841" href="#841">841</a> +<a name="842" href="#842">842</a> +<a name="843" href="#843">843</a> <strong class="jxr_keyword">void</strong> parseAppenderFilters(Properties props, String appenderName, <a href="../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="844" href="#844">844</a> <em class="jxr_comment">// extract filters and filter options from props into a hashtable mapping</em> +<a name="845" href="#845">845</a> <em class="jxr_comment">// the property name defining the filter class to a list of pre-parsed</em> +<a name="846" href="#846">846</a> <em class="jxr_comment">// name-value pairs associated to that filter</em> +<a name="847" href="#847">847</a> <strong class="jxr_keyword">final</strong> String filterPrefix = APPENDER_PREFIX + appenderName + <span class="jxr_string">".filter."</span>; +<a name="848" href="#848">848</a> <strong class="jxr_keyword">int</strong> fIdx = filterPrefix.length(); +<a name="849" href="#849">849</a> Hashtable filters = <strong class="jxr_keyword">new</strong> Hashtable(); +<a name="850" href="#850">850</a> Enumeration e = props.keys(); +<a name="851" href="#851">851</a> String name = <span class="jxr_string">""</span>; +<a name="852" href="#852">852</a> <strong class="jxr_keyword">while</strong> (e.hasMoreElements()) { +<a name="853" href="#853">853</a> String key = (String) e.nextElement(); +<a name="854" href="#854">854</a> <strong class="jxr_keyword">if</strong> (key.startsWith(filterPrefix)) { +<a name="855" href="#855">855</a> <strong class="jxr_keyword">int</strong> dotIdx = key.indexOf('.', fIdx); +<a name="856" href="#856">856</a> String filterKey = key; +<a name="857" href="#857">857</a> <strong class="jxr_keyword">if</strong> (dotIdx != -1) { +<a name="858" href="#858">858</a> filterKey = key.substring(0, dotIdx); +<a name="859" href="#859">859</a> name = key.substring(dotIdx+1); +<a name="860" href="#860">860</a> } +<a name="861" href="#861">861</a> Vector filterOpts = (Vector) filters.get(filterKey); +<a name="862" href="#862">862</a> <strong class="jxr_keyword">if</strong> (filterOpts == <strong class="jxr_keyword">null</strong>) { +<a name="863" href="#863">863</a> filterOpts = <strong class="jxr_keyword">new</strong> Vector(); +<a name="864" href="#864">864</a> filters.put(filterKey, filterOpts); +<a name="865" href="#865">865</a> } +<a name="866" href="#866">866</a> <strong class="jxr_keyword">if</strong> (dotIdx != -1) { +<a name="867" href="#867">867</a> String value = OptionConverter.findAndSubst(key, props); +<a name="868" href="#868">868</a> filterOpts.add(<strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">NameValue</a>(name, value)); +<a name="869" href="#869">869</a> } +<a name="870" href="#870">870</a> } +<a name="871" href="#871">871</a> } +<a name="872" href="#872">872</a> +<a name="873" href="#873">873</a> <em class="jxr_comment">// sort filters by IDs, insantiate filters, set filter options,</em> +<a name="874" href="#874">874</a> <em class="jxr_comment">// add filters to the appender</em> +<a name="875" href="#875">875</a> Enumeration g = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">SortedKeyEnumeration</a>(filters); +<a name="876" href="#876">876</a> <strong class="jxr_keyword">while</strong> (g.hasMoreElements()) { +<a name="877" href="#877">877</a> String key = (String) g.nextElement(); +<a name="878" href="#878">878</a> String clazz = props.getProperty(key); +<a name="879" href="#879">879</a> <strong class="jxr_keyword">if</strong> (clazz != <strong class="jxr_keyword">null</strong>) { +<a name="880" href="#880">880</a> LogLog.debug(<span class="jxr_string">"Filter key: ["</span>+key+<span class="jxr_string">"] class: ["</span>+props.getProperty(key) +<span class="jxr_string">"] props: "</span>+filters.get(key)); +<a name="881" href="#881">881</a> <a href="../../../org/apache/log4j/spi/Filter.html">Filter</a> filter = (Filter) OptionConverter.instantiateByClassName(clazz, Filter.<strong class="jxr_keyword">class</strong>, <strong class="jxr_keyword">null</strong>); +<a name="882" href="#882">882</a> <strong class="jxr_keyword">if</strong> (filter != <strong class="jxr_keyword">null</strong>) { +<a name="883" href="#883">883</a> <a href="../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(filter); +<a name="884" href="#884">884</a> Vector v = (Vector)filters.get(key); +<a name="885" href="#885">885</a> Enumeration filterProps = v.elements(); +<a name="886" href="#886">886</a> <strong class="jxr_keyword">while</strong> (filterProps.hasMoreElements()) { +<a name="887" href="#887">887</a> <a href="../../../org/apache/log4j/PropertyConfigurator.html">NameValue</a> kv = (NameValue)filterProps.nextElement(); +<a name="888" href="#888">888</a> propSetter.setProperty(kv.key, kv.value); +<a name="889" href="#889">889</a> } +<a name="890" href="#890">890</a> propSetter.activate(); +<a name="891" href="#891">891</a> LogLog.debug(<span class="jxr_string">"Adding filter of type ["</span>+filter.getClass() +<a name="892" href="#892">892</a> +<span class="jxr_string">"] to appender named ["</span>+appender.getName()+<span class="jxr_string">"]."</span>); +<a name="893" href="#893">893</a> appender.addFilter(filter); +<a name="894" href="#894">894</a> } +<a name="895" href="#895">895</a> } <strong class="jxr_keyword">else</strong> { +<a name="896" href="#896">896</a> LogLog.warn(<span class="jxr_string">"Missing class definition for filter: ["</span>+key+<span class="jxr_string">"]"</span>); +<a name="897" href="#897">897</a> } +<a name="898" href="#898">898</a> } +<a name="899" href="#899">899</a> } +<a name="900" href="#900">900</a> +<a name="901" href="#901">901</a> +<a name="902" href="#902">902</a> <strong class="jxr_keyword">void</strong> registryPut(Appender appender) { +<a name="903" href="#903">903</a> registry.put(appender.getName(), appender); +<a name="904" href="#904">904</a> } +<a name="905" href="#905">905</a> +<a name="906" href="#906">906</a> <a href="../../../org/apache/log4j/Appender.html">Appender</a> registryGet(String name) { +<a name="907" href="#907">907</a> <strong class="jxr_keyword">return</strong> (Appender) registry.get(name); +<a name="908" href="#908">908</a> } +<a name="909" href="#909">909</a> } +<a name="910" href="#910">910</a> +<a name="911" href="#911">911</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyWatchdog</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/helpers/FileWatchdog.html">FileWatchdog</a> { +<a name="912" href="#912">912</a> +<a name="913" href="#913">913</a> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyWatchdog</a>(String filename) { +<a name="914" href="#914">914</a> <strong class="jxr_keyword">super</strong>(filename); +<a name="915" href="#915">915</a> } +<a name="916" href="#916">916</a> +<a name="917" href="#917">917</a> <em class="jxr_javadoccomment">/**</em> +<a name="918" href="#918">918</a> <em class="jxr_javadoccomment"> Call {@link PropertyConfigurator#configure(String)} with the</em> +<a name="919" href="#919">919</a> <em class="jxr_javadoccomment"> &lt;code&gt;filename&lt;/code&gt; to reconfigure log4j. */</em> +<a name="920" href="#920">920</a> <strong class="jxr_keyword">public</strong> +<a name="921" href="#921">921</a> <strong class="jxr_keyword">void</strong> doOnChange() { +<a name="922" href="#922">922</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(filename, +<a name="923" href="#923">923</a> LogManager.getLoggerRepository()); +<a name="924" href="#924">924</a> } +<a name="925" href="#925">925</a> } +<a name="926" href="#926">926</a> +<a name="927" href="#927">927</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">NameValue</a> { +<a name="928" href="#928">928</a> String key, value; +<a name="929" href="#929">929</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">NameValue</a>(String key, String value) { +<a name="930" href="#930">930</a> <strong class="jxr_keyword">this</strong>.key = key; +<a name="931" href="#931">931</a> <strong class="jxr_keyword">this</strong>.value = value; +<a name="932" href="#932">932</a> } +<a name="933" href="#933">933</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="934" href="#934">934</a> <strong class="jxr_keyword">return</strong> key + <span class="jxr_string">"="</span> + value; +<a name="935" href="#935">935</a> } +<a name="936" href="#936">936</a> } +<a name="937" href="#937">937</a> +<a name="938" href="#938">938</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">SortedKeyEnumeration</a> implements Enumeration { +<a name="939" href="#939">939</a> +<a name="940" href="#940">940</a> <strong class="jxr_keyword">private</strong> Enumeration e; +<a name="941" href="#941">941</a> +<a name="942" href="#942">942</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/PropertyConfigurator.html">SortedKeyEnumeration</a>(Hashtable ht) { +<a name="943" href="#943">943</a> Enumeration f = ht.keys(); +<a name="944" href="#944">944</a> Vector keys = <strong class="jxr_keyword">new</strong> Vector(ht.size()); +<a name="945" href="#945">945</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i, last = 0; f.hasMoreElements(); ++last) { +<a name="946" href="#946">946</a> String key = (String) f.nextElement(); +<a name="947" href="#947">947</a> <strong class="jxr_keyword">for</strong> (i = 0; i &lt; last; ++i) { +<a name="948" href="#948">948</a> String s = (String) keys.get(i); +<a name="949" href="#949">949</a> <strong class="jxr_keyword">if</strong> (key.compareTo(s) &lt;= 0) <strong class="jxr_keyword">break</strong>; +<a name="950" href="#950">950</a> } +<a name="951" href="#951">951</a> keys.add(i, key); +<a name="952" href="#952">952</a> } +<a name="953" href="#953">953</a> e = keys.elements(); +<a name="954" href="#954">954</a> } +<a name="955" href="#955">955</a> +<a name="956" href="#956">956</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> hasMoreElements() { +<a name="957" href="#957">957</a> <strong class="jxr_keyword">return</strong> e.hasMoreElements(); +<a name="958" href="#958">958</a> } +<a name="959" href="#959">959</a> +<a name="960" href="#960">960</a> <strong class="jxr_keyword">public</strong> Object nextElement() { +<a name="961" href="#961">961</a> <strong class="jxr_keyword">return</strong> e.nextElement(); +<a name="962" href="#962">962</a> } +<a name="963" href="#963">963</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/ProvisionNode.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/ProvisionNode.html new file mode 100644 index 00000000000..37f7beb3b44 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/ProvisionNode.html @@ -0,0 +1,43 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ProvisionNode xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/ProvisionNode.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/ProvisionNode.html">ProvisionNode</a> <strong class="jxr_keyword">extends</strong> Vector { +<a name="23" href="#23">23</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -4479121426311014469L; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <a href="../../../org/apache/log4j/ProvisionNode.html">ProvisionNode</a>(<a href="../../../org/apache/log4j/Logger.html">Logger</a> logger) { +<a name="26" href="#26">26</a> <strong class="jxr_keyword">super</strong>(); +<a name="27" href="#27">27</a> <strong class="jxr_keyword">this</strong>.addElement(logger); +<a name="28" href="#28">28</a> } +<a name="29" href="#29">29</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/RollingFileAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/RollingFileAppender.html new file mode 100644 index 00000000000..cbdac1812c7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/RollingFileAppender.html @@ -0,0 +1,298 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>RollingFileAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/RollingFileAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.Writer; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.CountingQuietWriter; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> RollingFileAppender extends FileAppender to backup the log files when</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> they reach a certain size.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> </em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> The log4j extras companion includes alternatives which should be considered</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> for new deployments and which are discussed in the documentation</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> for org.apache.log4j.rolling.RollingFileAppender.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> </em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> @author Heinz Richter</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">*/</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/RollingFileAppender.html">RollingFileAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/FileAppender.html">FileAppender</a> { +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> The default maximum file size is 10MB.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> maxFileSize = 10*1024*1024; +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> There is one backup file by default.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> maxBackupIndex = 1; +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> nextRollover = 0; +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> The default constructor simply calls its {@link</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> FileAppender#FileAppender parents constructor}. */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> +<a name="63" href="#63">63</a> <a href="../../../org/apache/log4j/RollingFileAppender.html">RollingFileAppender</a>() { +<a name="64" href="#64">64</a> <strong class="jxr_keyword">super</strong>(); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment">/**</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> Instantiate a RollingFileAppender and open the file designated by</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> &lt;code&gt;filename&lt;/code&gt;. The opened filename will become the ouput</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> destination for this appender.</em> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the &lt;code&gt;append&lt;/code&gt; parameter is true, the file will be</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> appended to. Otherwise, the file desginated by</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> &lt;code&gt;filename&lt;/code&gt; will be truncated before being opened.</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> +<a name="77" href="#77">77</a> <a href="../../../org/apache/log4j/RollingFileAppender.html">RollingFileAppender</a>(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout, String filename, <strong class="jxr_keyword">boolean</strong> append) +<a name="78" href="#78">78</a> <strong class="jxr_keyword">throws</strong> IOException { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">super</strong>(layout, filename, append); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> Instantiate a FileAppender and open the file designated by</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> &lt;code&gt;filename&lt;/code&gt;. The opened filename will become the output</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> destination for this appender.</em> +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> &lt;p&gt;The file will be appended to. */</em> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> +<a name="89" href="#89">89</a> <a href="../../../org/apache/log4j/RollingFileAppender.html">RollingFileAppender</a>(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout, String filename) <strong class="jxr_keyword">throws</strong> IOException { +<a name="90" href="#90">90</a> <strong class="jxr_keyword">super</strong>(layout, filename); +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment">/**</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> Returns the value of the &lt;b&gt;MaxBackupIndex&lt;/b&gt; option.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">int</strong> getMaxBackupIndex() { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">return</strong> maxBackupIndex; +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> Get the maximum size that the output file is allowed to reach</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> before being rolled over to backup files.</em> +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> @since 1.1</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> */</em> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">public</strong> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">long</strong> getMaximumFileSize() { +<a name="109" href="#109">109</a> <strong class="jxr_keyword">return</strong> maxFileSize; +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">/**</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> Implements the usual roll over behaviour.</em> +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> &lt;p&gt;If &lt;code&gt;MaxBackupIndex&lt;/code&gt; is positive, then files</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> {&lt;code&gt;File.1&lt;/code&gt;, ..., &lt;code&gt;File.MaxBackupIndex -1&lt;/code&gt;}</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> are renamed to {&lt;code&gt;File.2&lt;/code&gt;, ...,</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> &lt;code&gt;File.MaxBackupIndex&lt;/code&gt;}. Moreover, &lt;code&gt;File&lt;/code&gt; is</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> renamed &lt;code&gt;File.1&lt;/code&gt; and closed. A new &lt;code&gt;File&lt;/code&gt; is</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> created to receive further log output.</em> +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> &lt;p&gt;If &lt;code&gt;MaxBackupIndex&lt;/code&gt; is equal to zero, then the</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> &lt;code&gt;File&lt;/code&gt; is truncated with no backup files created.</em> +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> */</em> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">public</strong> <em class="jxr_comment">// synchronization not necessary since doAppend is alreasy synched</em> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">void</strong> rollOver() { +<a name="128" href="#128">128</a> File target; +<a name="129" href="#129">129</a> File file; +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">if</strong> (qw != <strong class="jxr_keyword">null</strong>) { +<a name="132" href="#132">132</a> <strong class="jxr_keyword">long</strong> size = ((CountingQuietWriter) qw).getCount(); +<a name="133" href="#133">133</a> LogLog.debug(<span class="jxr_string">"rolling over count="</span> + size); +<a name="134" href="#134">134</a> <em class="jxr_comment">// if operation fails, do not roll again until</em> +<a name="135" href="#135">135</a> <em class="jxr_comment">// maxFileSize more bytes are written</em> +<a name="136" href="#136">136</a> nextRollover = size + maxFileSize; +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> LogLog.debug(<span class="jxr_string">"maxBackupIndex="</span>+maxBackupIndex); +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">boolean</strong> renameSucceeded = <strong class="jxr_keyword">true</strong>; +<a name="141" href="#141">141</a> <em class="jxr_comment">// If maxBackups &lt;= 0, then there is no file renaming to be done.</em> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">if</strong>(maxBackupIndex &gt; 0) { +<a name="143" href="#143">143</a> <em class="jxr_comment">// Delete the oldest file, to keep Windows happy.</em> +<a name="144" href="#144">144</a> file = <strong class="jxr_keyword">new</strong> File(fileName + '.' + maxBackupIndex); +<a name="145" href="#145">145</a> <strong class="jxr_keyword">if</strong> (file.exists()) +<a name="146" href="#146">146</a> renameSucceeded = file.delete(); +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_comment">// Map {(maxBackupIndex - 1), ..., 2, 1} to {maxBackupIndex, ..., 3, 2}</em> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = maxBackupIndex - 1; i &gt;= 1 &amp;&amp; renameSucceeded; i--) { +<a name="150" href="#150">150</a> file = <strong class="jxr_keyword">new</strong> File(fileName + <span class="jxr_string">"."</span> + i); +<a name="151" href="#151">151</a> <strong class="jxr_keyword">if</strong> (file.exists()) { +<a name="152" href="#152">152</a> target = <strong class="jxr_keyword">new</strong> File(fileName + '.' + (i + 1)); +<a name="153" href="#153">153</a> LogLog.debug(<span class="jxr_string">"Renaming file "</span> + file + <span class="jxr_string">" to "</span> + target); +<a name="154" href="#154">154</a> renameSucceeded = file.renameTo(target); +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">if</strong>(renameSucceeded) { +<a name="159" href="#159">159</a> <em class="jxr_comment">// Rename fileName to fileName.1</em> +<a name="160" href="#160">160</a> target = <strong class="jxr_keyword">new</strong> File(fileName + <span class="jxr_string">"."</span> + 1); +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <strong class="jxr_keyword">this</strong>.closeFile(); <em class="jxr_comment">// keep windows happy.</em> +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> file = <strong class="jxr_keyword">new</strong> File(fileName); +<a name="165" href="#165">165</a> LogLog.debug(<span class="jxr_string">"Renaming file "</span> + file + <span class="jxr_string">" to "</span> + target); +<a name="166" href="#166">166</a> renameSucceeded = file.renameTo(target); +<a name="167" href="#167">167</a> <em class="jxr_comment">//</em> +<a name="168" href="#168">168</a> <em class="jxr_comment">// if file rename failed, reopen file with append = true</em> +<a name="169" href="#169">169</a> <em class="jxr_comment">//</em> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">if</strong> (!renameSucceeded) { +<a name="171" href="#171">171</a> <strong class="jxr_keyword">try</strong> { +<a name="172" href="#172">172</a> <strong class="jxr_keyword">this</strong>.setFile(fileName, <strong class="jxr_keyword">true</strong>, bufferedIO, bufferSize); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="175" href="#175">175</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="176" href="#176">176</a> Thread.currentThread().interrupt(); +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> LogLog.error(<span class="jxr_string">"setFile("</span>+fileName+<span class="jxr_string">", true) call failed."</span>, e); +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <em class="jxr_comment">//</em> +<a name="185" href="#185">185</a> <em class="jxr_comment">// if all renames were successful, then</em> +<a name="186" href="#186">186</a> <em class="jxr_comment">//</em> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">if</strong> (renameSucceeded) { +<a name="188" href="#188">188</a> <strong class="jxr_keyword">try</strong> { +<a name="189" href="#189">189</a> <em class="jxr_comment">// This will also close the file. This is OK since multiple</em> +<a name="190" href="#190">190</a> <em class="jxr_comment">// close operations are safe.</em> +<a name="191" href="#191">191</a> <strong class="jxr_keyword">this</strong>.setFile(fileName, false, bufferedIO, bufferSize); +<a name="192" href="#192">192</a> nextRollover = 0; +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="195" href="#195">195</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="196" href="#196">196</a> Thread.currentThread().interrupt(); +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> LogLog.error(<span class="jxr_string">"setFile("</span>+fileName+<span class="jxr_string">", false) call failed."</span>, e); +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> } +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> <strong class="jxr_keyword">public</strong> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">synchronized</strong> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">void</strong> setFile(String fileName, <strong class="jxr_keyword">boolean</strong> append, <strong class="jxr_keyword">boolean</strong> bufferedIO, <strong class="jxr_keyword">int</strong> bufferSize) +<a name="206" href="#206">206</a> <strong class="jxr_keyword">throws</strong> IOException { +<a name="207" href="#207">207</a> <strong class="jxr_keyword">super</strong>.setFile(fileName, append, <strong class="jxr_keyword">this</strong>.bufferedIO, <strong class="jxr_keyword">this</strong>.bufferSize); +<a name="208" href="#208">208</a> <strong class="jxr_keyword">if</strong>(append) { +<a name="209" href="#209">209</a> File f = <strong class="jxr_keyword">new</strong> File(fileName); +<a name="210" href="#210">210</a> ((<a href="../../../org/apache/log4j/helpers/CountingQuietWriter.html">CountingQuietWriter</a>) qw).setCount(f.length()); +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> } +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">/**</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> Set the maximum number of backup files to keep around.</em> +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;b&gt;MaxBackupIndex&lt;/b&gt; option determines how many backup</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> files are kept before the oldest is erased. This option takes</em> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> a positive integer value. If set to zero, then there will be no</em> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> backup files and the log file will be truncated when it reaches</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> &lt;code&gt;MaxFileSize&lt;/code&gt;.</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> */</em> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">public</strong> +<a name="225" href="#225">225</a> <strong class="jxr_keyword">void</strong> setMaxBackupIndex(<strong class="jxr_keyword">int</strong> maxBackups) { +<a name="226" href="#226">226</a> <strong class="jxr_keyword">this</strong>.maxBackupIndex = maxBackups; +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">/**</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> Set the maximum size that the output file is allowed to reach</em> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> before being rolled over to backup files.</em> +<a name="232" href="#232">232</a> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method is equivalent to {@link #setMaxFileSize} except</em> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> that it is required for differentiating the setter taking a</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> &lt;code&gt;long&lt;/code&gt; argument from the setter taking a</em> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> &lt;code&gt;String&lt;/code&gt; argument by the JavaBeans {@link</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> java.beans.Introspector Introspector}.</em> +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> @see #setMaxFileSize(String)</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> */</em> +<a name="241" href="#241">241</a> <strong class="jxr_keyword">public</strong> +<a name="242" href="#242">242</a> <strong class="jxr_keyword">void</strong> setMaximumFileSize(<strong class="jxr_keyword">long</strong> maxFileSize) { +<a name="243" href="#243">243</a> <strong class="jxr_keyword">this</strong>.maxFileSize = maxFileSize; +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> +<a name="246" href="#246">246</a> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment">/**</em> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment"> Set the maximum size that the output file is allowed to reach</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> before being rolled over to backup files.</em> +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> &lt;p&gt;In configuration files, the &lt;b&gt;MaxFileSize&lt;/b&gt; option takes an</em> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment"> long integer in the range 0 - 2^63. You can specify the value</em> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment"> with the suffixes "KB", "MB" or "GB" so that the integer is</em> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> interpreted being expressed respectively in kilobytes, megabytes</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> or gigabytes. For example, the value "10KB" will be interpreted</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> as 10240.</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> */</em> +<a name="258" href="#258">258</a> <strong class="jxr_keyword">public</strong> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">void</strong> setMaxFileSize(String value) { +<a name="260" href="#260">260</a> maxFileSize = OptionConverter.toFileSize(value, maxFileSize + 1); +<a name="261" href="#261">261</a> } +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <strong class="jxr_keyword">protected</strong> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">void</strong> setQWForFiles(Writer writer) { +<a name="265" href="#265">265</a> <strong class="jxr_keyword">this</strong>.qw = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/helpers/CountingQuietWriter.html">CountingQuietWriter</a>(writer, errorHandler); +<a name="266" href="#266">266</a> } +<a name="267" href="#267">267</a> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment">/**</em> +<a name="269" href="#269">269</a> <em class="jxr_javadoccomment"> This method differentiates RollingFileAppender from its super</em> +<a name="270" href="#270">270</a> <em class="jxr_javadoccomment"> class.</em> +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> */</em> +<a name="274" href="#274">274</a> <strong class="jxr_keyword">protected</strong> +<a name="275" href="#275">275</a> <strong class="jxr_keyword">void</strong> subAppend(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="276" href="#276">276</a> <strong class="jxr_keyword">super</strong>.subAppend(event); +<a name="277" href="#277">277</a> <strong class="jxr_keyword">if</strong>(fileName != <strong class="jxr_keyword">null</strong> &amp;&amp; qw != <strong class="jxr_keyword">null</strong>) { +<a name="278" href="#278">278</a> <strong class="jxr_keyword">long</strong> size = ((CountingQuietWriter) qw).getCount(); +<a name="279" href="#279">279</a> <strong class="jxr_keyword">if</strong> (size &gt;= maxFileSize &amp;&amp; size &gt;= nextRollover) { +<a name="280" href="#280">280</a> rollOver(); +<a name="281" href="#281">281</a> } +<a name="282" href="#282">282</a> } +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/SimpleLayout.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/SimpleLayout.html new file mode 100644 index 00000000000..ee377782179 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/SimpleLayout.html @@ -0,0 +1,92 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SimpleLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/SimpleLayout.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> SimpleLayout consists of the level of the log statement,</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> followed by " - " and then the log message itself. For example,</em> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> DEBUG - Hello world</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> @since version 0.7.0</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> &lt;p&gt;{@link PatternLayout} offers a much more powerful alternative.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">*/</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/SimpleLayout.html">SimpleLayout</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/Layout.html">Layout</a> { +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(128); +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/SimpleLayout.html">SimpleLayout</a>() { +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="45" href="#45">45</a> } +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> Returns the log statement in a format consisting of the</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> &lt;code&gt;level&lt;/code&gt;, followed by " - " and then the</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> &lt;code&gt;message&lt;/code&gt;. For example, &lt;pre&gt; INFO - "A message"</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;category&lt;/code&gt; parameter is ignored.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> @return A byte array in SimpleLayout format.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> +<a name="58" href="#58">58</a> String format(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> sbuf.setLength(0); +<a name="61" href="#61">61</a> sbuf.append(event.getLevel().toString()); +<a name="62" href="#62">62</a> sbuf.append(<span class="jxr_string">" - "</span>); +<a name="63" href="#63">63</a> sbuf.append(event.getRenderedMessage()); +<a name="64" href="#64">64</a> sbuf.append(LINE_SEP); +<a name="65" href="#65">65</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> The SimpleLayout does not handle the throwable contained within</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> {@link LoggingEvent LoggingEvents}. Thus, it returns</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt;.</em> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> @since version 0.8.4 */</em> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">boolean</strong> ignoresThrowable() { +<a name="76" href="#76">76</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/TTCCLayout.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/TTCCLayout.html new file mode 100644 index 00000000000..4b04ce990b1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/TTCCLayout.html @@ -0,0 +1,231 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TTCCLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/TTCCLayout.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contributors: Christopher Williams</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// Mathias Bogaert</em> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.DateLayout; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> TTCC layout format consists of time, thread, category and nested</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> diagnostic context information, hence the name.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> &lt;p&gt;Each of the four fields can be individually enabled or</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> disabled. The time format depends on the &lt;code&gt;DateFormat&lt;/code&gt;</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> used.</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> &lt;p&gt;Here is an example TTCCLayout output with the</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> {@link org.apache.log4j.helpers.RelativeTimeDateFormat}.</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">176 [main] INFO org.apache.log4j.examples.Sort - Populating an array of 2 elements in reverse order.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">225 [main] INFO org.apache.log4j.examples.SortAlgo - Entered the sort method.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">262 [main] DEBUG org.apache.log4j.examples.SortAlgo.OUTER i=1 - Outer loop.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">276 [main] DEBUG org.apache.log4j.examples.SortAlgo.SWAP i=1 j=0 - Swapping intArray[0] = 1 and intArray[1] = 0</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">290 [main] DEBUG org.apache.log4j.examples.SortAlgo.OUTER i=0 - Outer loop.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">304 [main] INFO org.apache.log4j.examples.SortAlgo.DUMP - Dump of interger array:</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">317 [main] INFO org.apache.log4j.examples.SortAlgo.DUMP - Element [0] = 0</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">331 [main] INFO org.apache.log4j.examples.SortAlgo.DUMP - Element [1] = 1</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">343 [main] INFO org.apache.log4j.examples.Sort - The next log statement should be an error message.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">346 [main] ERROR org.apache.log4j.examples.SortAlgo.DUMP - Tried to dump an uninitialized array.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> at org.apache.log4j.examples.SortAlgo.dump(SortAlgo.java:58)</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> at org.apache.log4j.examples.Sort.main(Sort.java:64)</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">467 [main] INFO org.apache.log4j.examples.Sort - Exiting main method.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">&lt;/pre&gt;</em> +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> &lt;p&gt;The first field is the number of milliseconds elapsed since the</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> start of the program. The second field is the thread outputting the</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> log statement. The third field is the level, the fourth field is</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> the category to which the statement belongs.</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> &lt;p&gt;The fifth field (just before the '-') is the nested diagnostic</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> context. Note the nested diagnostic context may be empty as in the</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> first two statements. The text after the '-' is the message of the</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> statement.</em> +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; Do not use the same TTCCLayout instance from</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> within different appenders. The TTCCLayout is not thread safe when</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> used in his way. However, it is perfectly safe to use a TTCCLayout</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> instance from just one appender.</em> +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> &lt;p&gt;{@link PatternLayout} offers a much more flexible alternative.</em> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> @author &lt;A HREF="<a href="mailto:heinz.richter@ecmwf.int" target="alexandria_uri">mailto:heinz.richter@ecmwf.int</a>"&gt;Heinz Richter&lt;/a&gt;</em> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">*/</em> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/TTCCLayout.html">TTCCLayout</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/helpers/DateLayout.html">DateLayout</a> { +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_comment">// Internal representation of options</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> threadPrinting = <strong class="jxr_keyword">true</strong>; +<a name="78" href="#78">78</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> categoryPrefixing = <strong class="jxr_keyword">true</strong>; +<a name="79" href="#79">79</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> contextPrinting = <strong class="jxr_keyword">true</strong>; +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(256); +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment">/**</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> Instantiate a TTCCLayout object with {@link</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> org.apache.log4j.helpers.RelativeTimeDateFormat} as the date</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> formatter in the local time zone.</em> +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> @since 0.7.5 */</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/TTCCLayout.html">TTCCLayout</a>() { +<a name="92" href="#92">92</a> <strong class="jxr_keyword">this</strong>.setDateFormat(RELATIVE_TIME_DATE_FORMAT, <strong class="jxr_keyword">null</strong>); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment">/**</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> Instantiate a TTCCLayout object using the local time zone. The</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> DateFormat used will depend on the &lt;code&gt;dateFormatType&lt;/code&gt;.</em> +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> &lt;p&gt;This constructor just calls the {@link</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> DateLayout#setDateFormat} method.</em> +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> */</em> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/apache/log4j/TTCCLayout.html">TTCCLayout</a>(String dateFormatType) { +<a name="105" href="#105">105</a> <strong class="jxr_keyword">this</strong>.setDateFormat(dateFormatType); +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">/**</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> The &lt;b&gt;ThreadPrinting&lt;/b&gt; option specifies whether the name of the</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> current thread is part of log output or not. This is true by default.</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> */</em> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">public</strong> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">void</strong> setThreadPrinting(<strong class="jxr_keyword">boolean</strong> threadPrinting) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">this</strong>.threadPrinting = threadPrinting; +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">/**</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;ThreadPrinting&lt;/b&gt; option.</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> */</em> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">public</strong> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">boolean</strong> getThreadPrinting() { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">return</strong> threadPrinting; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> The &lt;b&gt;CategoryPrefixing&lt;/b&gt; option specifies whether {@link Category}</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> name is part of log output or not. This is true by default.</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> */</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">void</strong> setCategoryPrefixing(<strong class="jxr_keyword">boolean</strong> categoryPrefixing) { +<a name="132" href="#132">132</a> <strong class="jxr_keyword">this</strong>.categoryPrefixing = categoryPrefixing; +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">/**</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;CategoryPrefixing&lt;/b&gt; option.</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> */</em> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">public</strong> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">boolean</strong> getCategoryPrefixing() { +<a name="140" href="#140">140</a> <strong class="jxr_keyword">return</strong> categoryPrefixing; +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">/**</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> The &lt;b&gt;ContextPrinting&lt;/b&gt; option specifies log output will include</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> the nested context information belonging to the current thread.</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> This is true by default.</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> */</em> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">public</strong> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">void</strong> setContextPrinting(<strong class="jxr_keyword">boolean</strong> contextPrinting) { +<a name="150" href="#150">150</a> <strong class="jxr_keyword">this</strong>.contextPrinting = contextPrinting; +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">/**</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;ContextPrinting&lt;/b&gt; option.</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> */</em> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">public</strong> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">boolean</strong> getContextPrinting() { +<a name="158" href="#158">158</a> <strong class="jxr_keyword">return</strong> contextPrinting; +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">/**</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> In addition to the level of the statement and message, the</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> returned byte array includes time, thread, category and {@link NDC}</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> information.</em> +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> &lt;p&gt;Time, thread, category and diagnostic context are printed</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> depending on options.</em> +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> @param event The event to format</em> +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> */</em> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">public</strong> +<a name="173" href="#173">173</a> String format(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_comment">// Reset buf</em> +<a name="176" href="#176">176</a> buf.setLength(0); +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> dateFormat(buf, event); +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.threadPrinting) { +<a name="181" href="#181">181</a> buf.append('['); +<a name="182" href="#182">182</a> buf.append(event.getThreadName()); +<a name="183" href="#183">183</a> buf.append(<span class="jxr_string">"] "</span>); +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> buf.append(event.getLevel().toString()); +<a name="186" href="#186">186</a> buf.append(' '); +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.categoryPrefixing) { +<a name="189" href="#189">189</a> buf.append(event.getLoggerName()); +<a name="190" href="#190">190</a> buf.append(' '); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.contextPrinting) { +<a name="194" href="#194">194</a> String ndc = event.getNDC(); +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <strong class="jxr_keyword">if</strong>(ndc != <strong class="jxr_keyword">null</strong>) { +<a name="197" href="#197">197</a> buf.append(ndc); +<a name="198" href="#198">198</a> buf.append(' '); +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> buf.append(<span class="jxr_string">"- "</span>); +<a name="202" href="#202">202</a> buf.append(event.getRenderedMessage()); +<a name="203" href="#203">203</a> buf.append(LINE_SEP); +<a name="204" href="#204">204</a> <strong class="jxr_keyword">return</strong> buf.toString(); +<a name="205" href="#205">205</a> } +<a name="206" href="#206">206</a> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment">/**</em> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment"> The TTCCLayout does not handle the throwable contained within</em> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> {@link LoggingEvent LoggingEvents}. Thus, it returns</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt;.</em> +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> @since version 0.8.4 */</em> +<a name="213" href="#213">213</a> <strong class="jxr_keyword">public</strong> +<a name="214" href="#214">214</a> <strong class="jxr_keyword">boolean</strong> ignoresThrowable() { +<a name="215" href="#215">215</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="216" href="#216">216</a> } +<a name="217" href="#217">217</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/WriterAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/WriterAppender.html new file mode 100644 index 00000000000..fae243390bd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/WriterAppender.html @@ -0,0 +1,401 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>WriterAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../apidocs/org/apache/log4j/WriterAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.OutputStream; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.OutputStreamWriter; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.Writer; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.QuietWriter; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_comment">// Contibutors: Jens Uwe Pipka &lt;jens.pipka@gmx.de&gt;</em> +<a name="32" href="#32">32</a> <em class="jxr_comment">// Ben Sandee</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> WriterAppender appends log events to a {@link java.io.Writer} or an</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> {@link java.io.OutputStream} depending on the user's choice.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> @since 1.1 */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/apache/log4j/WriterAppender.html">WriterAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> { +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> Immediate flush means that the underlying writer or output stream</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> will be flushed at the end of each append operation unless shouldFlush()</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> is overridden. Immediate</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> flush is slower but ensures that each append request is actually</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> written. If &lt;code&gt;immediateFlush&lt;/code&gt; is set to</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> &lt;code&gt;false&lt;/code&gt;, then there is a good chance that the last few</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> logs events are not actually written to persistent media if and</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> when the application crashes.</em> +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;immediateFlush&lt;/code&gt; variable is set to</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt; by default.</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> immediateFlush = <strong class="jxr_keyword">true</strong>; +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> The encoding to use when writing. &lt;p&gt;The</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> &lt;code&gt;encoding&lt;/code&gt; variable is set to &lt;code&gt;null&lt;/null&gt; by</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> default which results in the utilization of the system's default</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> encoding. */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">protected</strong> String encoding; +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> This is the {@link QuietWriter quietWriter} where we will write</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> to.</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> */</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">protected</strong> <a href="../../../org/apache/log4j/helpers/QuietWriter.html">QuietWriter</a> qw; +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> This default constructor does nothing. */</em> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">public</strong> +<a name="76" href="#76">76</a> <a href="../../../org/apache/log4j/WriterAppender.html">WriterAppender</a>() { +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> Instantiate a WriterAppender and set the output destination to a</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> new {@link OutputStreamWriter} initialized with &lt;code&gt;os&lt;/code&gt;</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> as its {@link OutputStream}. */</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">public</strong> +<a name="84" href="#84">84</a> <a href="../../../org/apache/log4j/WriterAppender.html">WriterAppender</a>(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout, OutputStream os) { +<a name="85" href="#85">85</a> <strong class="jxr_keyword">this</strong>(layout, <strong class="jxr_keyword">new</strong> OutputStreamWriter(os)); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment">/**</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> Instantiate a WriterAppender and set the output destination to</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> &lt;code&gt;writer&lt;/code&gt;.</em> +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;writer&lt;/code&gt; must have been previously opened by</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> the user. */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">public</strong> +<a name="95" href="#95">95</a> <a href="../../../org/apache/log4j/WriterAppender.html">WriterAppender</a>(<a href="../../../org/apache/log4j/Layout.html">Layout</a> layout, Writer writer) { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">this</strong>.layout = layout; +<a name="97" href="#97">97</a> <strong class="jxr_keyword">this</strong>.setWriter(writer); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">/**</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> If the &lt;b&gt;ImmediateFlush&lt;/b&gt; option is set to</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt;, the appender will flush at the end of each</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> write. This is the default behavior. If the option is set to</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> &lt;code&gt;false&lt;/code&gt;, then the underlying stream can defer writing</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> to physical medium to a later time.</em> +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> &lt;p&gt;Avoiding the flush operation at the end of each append results in</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> a performance gain of 10 to 20 percent. However, there is safety</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> tradeoff involved in skipping flushing. Indeed, when flushing is</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> skipped, then it is likely that the last few log events will not</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> be recorded on disk when the application exits. This is a high</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> price to pay even for a 20% performance gain.</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> */</em> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">public</strong> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">void</strong> setImmediateFlush(<strong class="jxr_keyword">boolean</strong> value) { +<a name="116" href="#116">116</a> immediateFlush = value; +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">/**</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;ImmediateFlush&lt;/b&gt; option.</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">boolean</strong> getImmediateFlush() { +<a name="124" href="#124">124</a> <strong class="jxr_keyword">return</strong> immediateFlush; +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">/**</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> Does nothing.</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> */</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">/**</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> This method is called by the {@link AppenderSkeleton#doAppend}</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> method.</em> +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the output stream exists and is writable then write a log</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> statement to the output stream. Otherwise, write a single warning</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> message to &lt;code&gt;System.err&lt;/code&gt;.</em> +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> &lt;p&gt;The format of the output will depend on this appender's</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> layout.</em> +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> */</em> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">public</strong> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">void</strong> append(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em class="jxr_comment">// Reminder: the nesting of calls is:</em> +<a name="151" href="#151">151</a> <em class="jxr_comment">//</em> +<a name="152" href="#152">152</a> <em class="jxr_comment">// doAppend()</em> +<a name="153" href="#153">153</a> <em class="jxr_comment">// - check threshold</em> +<a name="154" href="#154">154</a> <em class="jxr_comment">// - filter</em> +<a name="155" href="#155">155</a> <em class="jxr_comment">// - append();</em> +<a name="156" href="#156">156</a> <em class="jxr_comment">// - checkEntryConditions();</em> +<a name="157" href="#157">157</a> <em class="jxr_comment">// - subAppend();</em> +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <strong class="jxr_keyword">if</strong>(!checkEntryConditions()) { +<a name="160" href="#160">160</a> <strong class="jxr_keyword">return</strong>; +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> subAppend(event); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">/**</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> This method determines if there is a sense in attempting to append.</em> +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> &lt;p&gt;It checks whether there is a set output target and also if</em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> there is a set layout. If these checks fail, then the boolean</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> value &lt;code&gt;false&lt;/code&gt; is returned. */</em> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">protected</strong> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">boolean</strong> checkEntryConditions() { +<a name="173" href="#173">173</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.closed) { +<a name="174" href="#174">174</a> LogLog.warn(<span class="jxr_string">"Not allowed to write to a closed appender."</span>); +<a name="175" href="#175">175</a> <strong class="jxr_keyword">return</strong> false; +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.qw == <strong class="jxr_keyword">null</strong>) { +<a name="179" href="#179">179</a> errorHandler.error(<span class="jxr_string">"No output stream or file set for the appender named ["</span>+ +<a name="180" href="#180">180</a> name+<span class="jxr_string">"]."</span>); +<a name="181" href="#181">181</a> <strong class="jxr_keyword">return</strong> false; +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.layout == <strong class="jxr_keyword">null</strong>) { +<a name="185" href="#185">185</a> errorHandler.error(<span class="jxr_string">"No layout set for the appender named ["</span>+ name+<span class="jxr_string">"]."</span>); +<a name="186" href="#186">186</a> <strong class="jxr_keyword">return</strong> false; +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment">/**</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> Close this appender instance. The underlying stream or writer is</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> also closed.</em> +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> &lt;p&gt;Closed appenders cannot be reused.</em> +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> @see #setWriter</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> @since 0.8.4 */</em> +<a name="200" href="#200">200</a> <strong class="jxr_keyword">public</strong> +<a name="201" href="#201">201</a> <strong class="jxr_keyword">synchronized</strong> +<a name="202" href="#202">202</a> <strong class="jxr_keyword">void</strong> close() { +<a name="203" href="#203">203</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.closed) +<a name="204" href="#204">204</a> <strong class="jxr_keyword">return</strong>; +<a name="205" href="#205">205</a> <strong class="jxr_keyword">this</strong>.closed = <strong class="jxr_keyword">true</strong>; +<a name="206" href="#206">206</a> writeFooter(); +<a name="207" href="#207">207</a> reset(); +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment">/**</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> * Close the underlying {@link java.io.Writer}.</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> * */</em> +<a name="213" href="#213">213</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> closeWriter() { +<a name="214" href="#214">214</a> <strong class="jxr_keyword">if</strong>(qw != <strong class="jxr_keyword">null</strong>) { +<a name="215" href="#215">215</a> <strong class="jxr_keyword">try</strong> { +<a name="216" href="#216">216</a> qw.close(); +<a name="217" href="#217">217</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="218" href="#218">218</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="219" href="#219">219</a> Thread.currentThread().interrupt(); +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> <em class="jxr_comment">// There is do need to invoke an error handler at this late</em> +<a name="222" href="#222">222</a> <em class="jxr_comment">// stage.</em> +<a name="223" href="#223">223</a> LogLog.error(<span class="jxr_string">"Could not close "</span> + qw, e); +<a name="224" href="#224">224</a> } +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment">/**</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> Returns an OutputStreamWriter when passed an OutputStream. The</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> encoding used will depend on the value of the</em> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> &lt;code&gt;encoding&lt;/code&gt; property. If the encoding value is</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> specified incorrectly the writer will be opened using the default</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> system encoding (an error message will be printed to the loglog. */</em> +<a name="234" href="#234">234</a> <strong class="jxr_keyword">protected</strong> +<a name="235" href="#235">235</a> OutputStreamWriter createWriter(OutputStream os) { +<a name="236" href="#236">236</a> OutputStreamWriter retval = <strong class="jxr_keyword">null</strong>; +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> String enc = getEncoding(); +<a name="239" href="#239">239</a> <strong class="jxr_keyword">if</strong>(enc != <strong class="jxr_keyword">null</strong>) { +<a name="240" href="#240">240</a> <strong class="jxr_keyword">try</strong> { +<a name="241" href="#241">241</a> retval = <strong class="jxr_keyword">new</strong> OutputStreamWriter(os, enc); +<a name="242" href="#242">242</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="243" href="#243">243</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="244" href="#244">244</a> Thread.currentThread().interrupt(); +<a name="245" href="#245">245</a> } +<a name="246" href="#246">246</a> LogLog.warn(<span class="jxr_string">"Error initializing output writer."</span>); +<a name="247" href="#247">247</a> LogLog.warn(<span class="jxr_string">"Unsupported encoding?"</span>); +<a name="248" href="#248">248</a> } +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> <strong class="jxr_keyword">if</strong>(retval == <strong class="jxr_keyword">null</strong>) { +<a name="251" href="#251">251</a> retval = <strong class="jxr_keyword">new</strong> OutputStreamWriter(os); +<a name="252" href="#252">252</a> } +<a name="253" href="#253">253</a> <strong class="jxr_keyword">return</strong> retval; +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">public</strong> String getEncoding() { +<a name="257" href="#257">257</a> <strong class="jxr_keyword">return</strong> encoding; +<a name="258" href="#258">258</a> } +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setEncoding(String value) { +<a name="261" href="#261">261</a> encoding = value; +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> +<a name="264" href="#264">264</a> +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment">/**</em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> Set the {@link ErrorHandler} for this WriterAppender and also the</em> +<a name="269" href="#269">269</a> <em class="jxr_javadoccomment"> underlying {@link QuietWriter} if any. */</em> +<a name="270" href="#270">270</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setErrorHandler(<a href="../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> eh) { +<a name="271" href="#271">271</a> <strong class="jxr_keyword">if</strong>(eh == <strong class="jxr_keyword">null</strong>) { +<a name="272" href="#272">272</a> LogLog.warn(<span class="jxr_string">"You have tried to set a null error-handler."</span>); +<a name="273" href="#273">273</a> } <strong class="jxr_keyword">else</strong> { +<a name="274" href="#274">274</a> <strong class="jxr_keyword">this</strong>.errorHandler = eh; +<a name="275" href="#275">275</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.qw != <strong class="jxr_keyword">null</strong>) { +<a name="276" href="#276">276</a> <strong class="jxr_keyword">this</strong>.qw.setErrorHandler(eh); +<a name="277" href="#277">277</a> } +<a name="278" href="#278">278</a> } +<a name="279" href="#279">279</a> } +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> <em class="jxr_javadoccomment">/**</em> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment"> &lt;p&gt;Sets the Writer where the log output will go. The</em> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment"> specified Writer must be opened by the user and be</em> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> writable.</em> +<a name="285" href="#285">285</a> +<a name="286" href="#286">286</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;java.io.Writer&lt;/code&gt; will be closed when the</em> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> appender instance is closed.</em> +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING:&lt;/b&gt; Logging to an unopened Writer will fail.</em> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> @param writer An already opened Writer. */</em> +<a name="293" href="#293">293</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setWriter(Writer writer) { +<a name="294" href="#294">294</a> reset(); +<a name="295" href="#295">295</a> <strong class="jxr_keyword">this</strong>.qw = <strong class="jxr_keyword">new</strong> <a href="../../../org/apache/log4j/helpers/QuietWriter.html">QuietWriter</a>(writer, errorHandler); +<a name="296" href="#296">296</a> <em class="jxr_comment">//this.tp = new TracerPrintWriter(qw);</em> +<a name="297" href="#297">297</a> writeHeader(); +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment">/**</em> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> Actual writing occurs here.</em> +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> &lt;p&gt;Most subclasses of &lt;code&gt;WriterAppender&lt;/code&gt; will need to</em> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment"> override this method.</em> +<a name="306" href="#306">306</a> +<a name="307" href="#307">307</a> <em class="jxr_javadoccomment"> @since 0.9.0 */</em> +<a name="308" href="#308">308</a> <strong class="jxr_keyword">protected</strong> +<a name="309" href="#309">309</a> <strong class="jxr_keyword">void</strong> subAppend(<a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="310" href="#310">310</a> <strong class="jxr_keyword">this</strong>.qw.write(<strong class="jxr_keyword">this</strong>.layout.format(event)); +<a name="311" href="#311">311</a> +<a name="312" href="#312">312</a> <strong class="jxr_keyword">if</strong>(layout.ignoresThrowable()) { +<a name="313" href="#313">313</a> String[] s = event.getThrowableStrRep(); +<a name="314" href="#314">314</a> <strong class="jxr_keyword">if</strong> (s != <strong class="jxr_keyword">null</strong>) { +<a name="315" href="#315">315</a> <strong class="jxr_keyword">int</strong> len = s.length; +<a name="316" href="#316">316</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; len; i++) { +<a name="317" href="#317">317</a> <strong class="jxr_keyword">this</strong>.qw.write(s[i]); +<a name="318" href="#318">318</a> <strong class="jxr_keyword">this</strong>.qw.write(Layout.LINE_SEP); +<a name="319" href="#319">319</a> } +<a name="320" href="#320">320</a> } +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> +<a name="323" href="#323">323</a> <strong class="jxr_keyword">if</strong>(shouldFlush(event)) { +<a name="324" href="#324">324</a> <strong class="jxr_keyword">this</strong>.qw.flush(); +<a name="325" href="#325">325</a> } +<a name="326" href="#326">326</a> } +<a name="327" href="#327">327</a> +<a name="328" href="#328">328</a> +<a name="329" href="#329">329</a> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment">/**</em> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment"> The WriterAppender requires a layout. Hence, this method returns</em> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt;.</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> */</em> +<a name="334" href="#334">334</a> <strong class="jxr_keyword">public</strong> +<a name="335" href="#335">335</a> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="336" href="#336">336</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment">/**</em> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment"> Clear internal references to the writer and other variables.</em> +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> Subclasses can override this method for an alternate closing</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> behavior. */</em> +<a name="344" href="#344">344</a> <strong class="jxr_keyword">protected</strong> +<a name="345" href="#345">345</a> <strong class="jxr_keyword">void</strong> reset() { +<a name="346" href="#346">346</a> closeWriter(); +<a name="347" href="#347">347</a> <strong class="jxr_keyword">this</strong>.qw = <strong class="jxr_keyword">null</strong>; +<a name="348" href="#348">348</a> <em class="jxr_comment">//this.tp = null;</em> +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> +<a name="351" href="#351">351</a> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment">/**</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> Write a footer as produced by the embedded layout's {@link</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> Layout#getFooter} method. */</em> +<a name="355" href="#355">355</a> <strong class="jxr_keyword">protected</strong> +<a name="356" href="#356">356</a> <strong class="jxr_keyword">void</strong> writeFooter() { +<a name="357" href="#357">357</a> <strong class="jxr_keyword">if</strong>(layout != <strong class="jxr_keyword">null</strong>) { +<a name="358" href="#358">358</a> String f = layout.getFooter(); +<a name="359" href="#359">359</a> <strong class="jxr_keyword">if</strong>(f != <strong class="jxr_keyword">null</strong> &amp;&amp; <strong class="jxr_keyword">this</strong>.qw != <strong class="jxr_keyword">null</strong>) { +<a name="360" href="#360">360</a> <strong class="jxr_keyword">this</strong>.qw.write(f); +<a name="361" href="#361">361</a> <strong class="jxr_keyword">this</strong>.qw.flush(); +<a name="362" href="#362">362</a> } +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> } +<a name="365" href="#365">365</a> +<a name="366" href="#366">366</a> <em class="jxr_javadoccomment">/**</em> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment"> Write a header as produced by the embedded layout's {@link</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> Layout#getHeader} method. */</em> +<a name="369" href="#369">369</a> <strong class="jxr_keyword">protected</strong> +<a name="370" href="#370">370</a> <strong class="jxr_keyword">void</strong> writeHeader() { +<a name="371" href="#371">371</a> <strong class="jxr_keyword">if</strong>(layout != <strong class="jxr_keyword">null</strong>) { +<a name="372" href="#372">372</a> String h = layout.getHeader(); +<a name="373" href="#373">373</a> <strong class="jxr_keyword">if</strong>(h != <strong class="jxr_keyword">null</strong> &amp;&amp; <strong class="jxr_keyword">this</strong>.qw != <strong class="jxr_keyword">null</strong>) +<a name="374" href="#374">374</a> <strong class="jxr_keyword">this</strong>.qw.write(h); +<a name="375" href="#375">375</a> } +<a name="376" href="#376">376</a> } +<a name="377" href="#377">377</a> +<a name="378" href="#378">378</a> <em class="jxr_javadoccomment">/**</em> +<a name="379" href="#379">379</a> <em class="jxr_javadoccomment"> * Determines whether the writer should be flushed after</em> +<a name="380" href="#380">380</a> <em class="jxr_javadoccomment"> * this event is written.</em> +<a name="381" href="#381">381</a> <em class="jxr_javadoccomment"> * </em> +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> */</em> +<a name="384" href="#384">384</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> shouldFlush(<strong class="jxr_keyword">final</strong> <a href="../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="385" href="#385">385</a> <strong class="jxr_keyword">return</strong> immediateFlush; +<a name="386" href="#386">386</a> } +<a name="387" href="#387">387</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/ControlPanel.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/ControlPanel.html new file mode 100644 index 00000000000..614926fd1e4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/ControlPanel.html @@ -0,0 +1,236 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ControlPanel xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/ControlPanel.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.GridBagConstraints; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.GridBagLayout; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionListener; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.swing.BorderFactory; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.swing.JButton; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.swing.JComboBox; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.swing.JLabel; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.swing.JPanel; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.swing.JTextField; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.swing.event.DocumentEvent; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.swing.event.DocumentListener; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Represents the controls for filtering, pausing, exiting, etc.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> *</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/ControlPanel.html">ControlPanel</a> <strong class="jxr_keyword">extends</strong> JPanel { +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> use the log messages **/</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> LOG = +<a name="43" href="#43">43</a> Logger.getLogger(ControlPanel.<strong class="jxr_keyword">class</strong>); +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * Creates a new &lt;code&gt;ControlPanel&lt;/code&gt; instance.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> *</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * @param aModel the model to control</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> */</em> +<a name="50" href="#50">50</a> <a href="../../../../org/apache/log4j/chainsaw/ControlPanel.html">ControlPanel</a>(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> aModel) { +<a name="51" href="#51">51</a> setBorder(BorderFactory.createTitledBorder(<span class="jxr_string">"Controls: "</span>)); +<a name="52" href="#52">52</a> <strong class="jxr_keyword">final</strong> GridBagLayout gridbag = <strong class="jxr_keyword">new</strong> GridBagLayout(); +<a name="53" href="#53">53</a> <strong class="jxr_keyword">final</strong> GridBagConstraints c = <strong class="jxr_keyword">new</strong> GridBagConstraints(); +<a name="54" href="#54">54</a> setLayout(gridbag); +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_comment">// Pad everything</em> +<a name="57" href="#57">57</a> c.ipadx = 5; +<a name="58" href="#58">58</a> c.ipady = 5; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_comment">// Add the 1st column of labels</em> +<a name="61" href="#61">61</a> c.gridx = 0; +<a name="62" href="#62">62</a> c.anchor = GridBagConstraints.EAST; +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> c.gridy = 0; +<a name="65" href="#65">65</a> JLabel label = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Filter Level:"</span>); +<a name="66" href="#66">66</a> gridbag.setConstraints(label, c); +<a name="67" href="#67">67</a> add(label); +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> c.gridy++; +<a name="70" href="#70">70</a> label = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Filter Thread:"</span>); +<a name="71" href="#71">71</a> gridbag.setConstraints(label, c); +<a name="72" href="#72">72</a> add(label); +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> c.gridy++; +<a name="75" href="#75">75</a> label = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Filter Logger:"</span>); +<a name="76" href="#76">76</a> gridbag.setConstraints(label, c); +<a name="77" href="#77">77</a> add(label); +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> c.gridy++; +<a name="80" href="#80">80</a> label = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Filter NDC:"</span>); +<a name="81" href="#81">81</a> gridbag.setConstraints(label, c); +<a name="82" href="#82">82</a> add(label); +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> c.gridy++; +<a name="85" href="#85">85</a> label = <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"Filter Message:"</span>); +<a name="86" href="#86">86</a> gridbag.setConstraints(label, c); +<a name="87" href="#87">87</a> add(label); +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_comment">// Add the 2nd column of filters</em> +<a name="90" href="#90">90</a> c.weightx = 1; +<a name="91" href="#91">91</a> <em class="jxr_comment">//c.weighty = 1;</em> +<a name="92" href="#92">92</a> c.gridx = 1; +<a name="93" href="#93">93</a> c.anchor = GridBagConstraints.WEST; +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> c.gridy = 0; +<a name="96" href="#96">96</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a>[] allPriorities = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a>[] {Level.FATAL, +<a name="97" href="#97">97</a> Level.ERROR, +<a name="98" href="#98">98</a> Level.WARN, +<a name="99" href="#99">99</a> Level.INFO, +<a name="100" href="#100">100</a> Level.DEBUG, +<a name="101" href="#101">101</a> Level.TRACE }; +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">final</strong> JComboBox priorities = <strong class="jxr_keyword">new</strong> JComboBox(allPriorities); +<a name="104" href="#104">104</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> lowest = allPriorities[allPriorities.length - 1]; +<a name="105" href="#105">105</a> priorities.setSelectedItem(lowest); +<a name="106" href="#106">106</a> aModel.setPriorityFilter(lowest); +<a name="107" href="#107">107</a> gridbag.setConstraints(priorities, c); +<a name="108" href="#108">108</a> add(priorities); +<a name="109" href="#109">109</a> priorities.setEditable(false); +<a name="110" href="#110">110</a> priorities.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="111" href="#111">111</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent aEvent) { +<a name="112" href="#112">112</a> aModel.setPriorityFilter( +<a name="113" href="#113">113</a> (<a href="../../../../org/apache/log4j/Priority.html">Priority</a>) priorities.getSelectedItem()); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> }); +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> c.fill = GridBagConstraints.HORIZONTAL; +<a name="119" href="#119">119</a> c.gridy++; +<a name="120" href="#120">120</a> <strong class="jxr_keyword">final</strong> JTextField threadField = <strong class="jxr_keyword">new</strong> JTextField(<span class="jxr_string">""</span>); +<a name="121" href="#121">121</a> threadField.getDocument().addDocumentListener(<strong class="jxr_keyword">new</strong> DocumentListener () { +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> insertUpdate(DocumentEvent aEvent) { +<a name="123" href="#123">123</a> aModel.setThreadFilter(threadField.getText()); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeUpdate(DocumentEvent aEvente) { +<a name="126" href="#126">126</a> aModel.setThreadFilter(threadField.getText()); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> changedUpdate(DocumentEvent aEvent) { +<a name="129" href="#129">129</a> aModel.setThreadFilter(threadField.getText()); +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> }); +<a name="132" href="#132">132</a> gridbag.setConstraints(threadField, c); +<a name="133" href="#133">133</a> add(threadField); +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> c.gridy++; +<a name="136" href="#136">136</a> <strong class="jxr_keyword">final</strong> JTextField catField = <strong class="jxr_keyword">new</strong> JTextField(<span class="jxr_string">""</span>); +<a name="137" href="#137">137</a> catField.getDocument().addDocumentListener(<strong class="jxr_keyword">new</strong> DocumentListener () { +<a name="138" href="#138">138</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> insertUpdate(DocumentEvent aEvent) { +<a name="139" href="#139">139</a> aModel.setCategoryFilter(catField.getText()); +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeUpdate(DocumentEvent aEvent) { +<a name="142" href="#142">142</a> aModel.setCategoryFilter(catField.getText()); +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> changedUpdate(DocumentEvent aEvent) { +<a name="145" href="#145">145</a> aModel.setCategoryFilter(catField.getText()); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> }); +<a name="148" href="#148">148</a> gridbag.setConstraints(catField, c); +<a name="149" href="#149">149</a> add(catField); +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> c.gridy++; +<a name="152" href="#152">152</a> <strong class="jxr_keyword">final</strong> JTextField ndcField = <strong class="jxr_keyword">new</strong> JTextField(<span class="jxr_string">""</span>); +<a name="153" href="#153">153</a> ndcField.getDocument().addDocumentListener(<strong class="jxr_keyword">new</strong> DocumentListener () { +<a name="154" href="#154">154</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> insertUpdate(DocumentEvent aEvent) { +<a name="155" href="#155">155</a> aModel.setNDCFilter(ndcField.getText()); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeUpdate(DocumentEvent aEvent) { +<a name="158" href="#158">158</a> aModel.setNDCFilter(ndcField.getText()); +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> changedUpdate(DocumentEvent aEvent) { +<a name="161" href="#161">161</a> aModel.setNDCFilter(ndcField.getText()); +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> }); +<a name="164" href="#164">164</a> gridbag.setConstraints(ndcField, c); +<a name="165" href="#165">165</a> add(ndcField); +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> c.gridy++; +<a name="168" href="#168">168</a> <strong class="jxr_keyword">final</strong> JTextField msgField = <strong class="jxr_keyword">new</strong> JTextField(<span class="jxr_string">""</span>); +<a name="169" href="#169">169</a> msgField.getDocument().addDocumentListener(<strong class="jxr_keyword">new</strong> DocumentListener () { +<a name="170" href="#170">170</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> insertUpdate(DocumentEvent aEvent) { +<a name="171" href="#171">171</a> aModel.setMessageFilter(msgField.getText()); +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeUpdate(DocumentEvent aEvent) { +<a name="174" href="#174">174</a> aModel.setMessageFilter(msgField.getText()); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> changedUpdate(DocumentEvent aEvent) { +<a name="177" href="#177">177</a> aModel.setMessageFilter(msgField.getText()); +<a name="178" href="#178">178</a> } +<a name="179" href="#179">179</a> }); +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> gridbag.setConstraints(msgField, c); +<a name="183" href="#183">183</a> add(msgField); +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <em class="jxr_comment">// Add the 3rd column of buttons</em> +<a name="186" href="#186">186</a> c.weightx = 0; +<a name="187" href="#187">187</a> c.fill = GridBagConstraints.HORIZONTAL; +<a name="188" href="#188">188</a> c.anchor = GridBagConstraints.EAST; +<a name="189" href="#189">189</a> c.gridx = 2; +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> c.gridy = 0; +<a name="192" href="#192">192</a> <strong class="jxr_keyword">final</strong> JButton exitButton = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">"Exit"</span>); +<a name="193" href="#193">193</a> exitButton.setMnemonic('x'); +<a name="194" href="#194">194</a> exitButton.addActionListener(ExitAction.INSTANCE); +<a name="195" href="#195">195</a> gridbag.setConstraints(exitButton, c); +<a name="196" href="#196">196</a> add(exitButton); +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> c.gridy++; +<a name="199" href="#199">199</a> <strong class="jxr_keyword">final</strong> JButton clearButton = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">"Clear"</span>); +<a name="200" href="#200">200</a> clearButton.setMnemonic('c'); +<a name="201" href="#201">201</a> clearButton.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="202" href="#202">202</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent aEvent) { +<a name="203" href="#203">203</a> aModel.clear(); +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> }); +<a name="206" href="#206">206</a> gridbag.setConstraints(clearButton, c); +<a name="207" href="#207">207</a> add(clearButton); +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> c.gridy++; +<a name="210" href="#210">210</a> <strong class="jxr_keyword">final</strong> JButton toggleButton = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">"Pause"</span>); +<a name="211" href="#211">211</a> toggleButton.setMnemonic('p'); +<a name="212" href="#212">212</a> toggleButton.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="213" href="#213">213</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent aEvent) { +<a name="214" href="#214">214</a> aModel.toggle(); +<a name="215" href="#215">215</a> toggleButton.setText( +<a name="216" href="#216">216</a> aModel.isPaused() ? <span class="jxr_string">"Resume"</span> : <span class="jxr_string">"Pause"</span>); +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> }); +<a name="219" href="#219">219</a> gridbag.setConstraints(toggleButton, c); +<a name="220" href="#220">220</a> add(toggleButton); +<a name="221" href="#221">221</a> } +<a name="222" href="#222">222</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/DetailPanel.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/DetailPanel.html new file mode 100644 index 00000000000..752f1ab6743 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/DetailPanel.html @@ -0,0 +1,184 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DetailPanel xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/DetailPanel.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.BorderLayout; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.text.MessageFormat; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> javax.swing.BorderFactory; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.swing.JEditorPane; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.swing.JPanel; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.swing.JScrollPane; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.swing.JTable; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.swing.ListSelectionModel; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.swing.event.ListSelectionEvent; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.swing.event.ListSelectionListener; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * A panel for showing a stack trace.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> *</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/DetailPanel.html">DetailPanel</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">extends</strong> JPanel +<a name="39" href="#39">39</a> implements ListSelectionListener +<a name="40" href="#40">40</a> { +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> used to log events **/</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> LOG = +<a name="43" href="#43">43</a> Logger.getLogger(DetailPanel.<strong class="jxr_keyword">class</strong>); +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> used to format the logging event **/</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> MessageFormat FORMATTER = <strong class="jxr_keyword">new</strong> MessageFormat( +<a name="47" href="#47">47</a> <span class="jxr_string">"&lt;b&gt;Time:&lt;/b&gt; &lt;code&gt;{0,time,medium}&lt;/code&gt;"</span> + +<a name="48" href="#48">48</a> <span class="jxr_string">"&amp;nbsp;&amp;nbsp;&lt;b&gt;Priority:&lt;/b&gt; &lt;code&gt;{1}&lt;/code&gt;"</span> + +<a name="49" href="#49">49</a> <span class="jxr_string">"&amp;nbsp;&amp;nbsp;&lt;b&gt;Thread:&lt;/b&gt; &lt;code&gt;{2}&lt;/code&gt;"</span> + +<a name="50" href="#50">50</a> <span class="jxr_string">"&amp;nbsp;&amp;nbsp;&lt;b&gt;NDC:&lt;/b&gt; &lt;code&gt;{3}&lt;/code&gt;"</span> + +<a name="51" href="#51">51</a> <span class="jxr_string">"&lt;br&gt;&lt;b&gt;Logger:&lt;/b&gt; &lt;code&gt;{4}&lt;/code&gt;"</span> + +<a name="52" href="#52">52</a> <span class="jxr_string">"&lt;br&gt;&lt;b&gt;Location:&lt;/b&gt; &lt;code&gt;{5}&lt;/code&gt;"</span> + +<a name="53" href="#53">53</a> <span class="jxr_string">"&lt;br&gt;&lt;b&gt;Message:&lt;/b&gt;"</span> + +<a name="54" href="#54">54</a> <span class="jxr_string">"&lt;pre&gt;{6}&lt;/pre&gt;"</span> + +<a name="55" href="#55">55</a> <span class="jxr_string">"&lt;b&gt;Throwable:&lt;/b&gt;"</span> + +<a name="56" href="#56">56</a> <span class="jxr_string">"&lt;pre&gt;{7}&lt;/pre&gt;"</span>); +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the model for the data to render **/</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> mModel; +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> pane for rendering detail **/</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JEditorPane mDetails; +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment">/**</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * Creates a new &lt;code&gt;DetailPanel&lt;/code&gt; instance.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> *</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * @param aTable the table to listen for selections on</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * @param aModel the model backing the table</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> */</em> +<a name="69" href="#69">69</a> <a href="../../../../org/apache/log4j/chainsaw/DetailPanel.html">DetailPanel</a>(JTable aTable, <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> aModel) { +<a name="70" href="#70">70</a> mModel = aModel; +<a name="71" href="#71">71</a> setLayout(<strong class="jxr_keyword">new</strong> BorderLayout()); +<a name="72" href="#72">72</a> setBorder(BorderFactory.createTitledBorder(<span class="jxr_string">"Details: "</span>)); +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> mDetails = <strong class="jxr_keyword">new</strong> JEditorPane(); +<a name="75" href="#75">75</a> mDetails.setEditable(false); +<a name="76" href="#76">76</a> mDetails.setContentType(<span class="jxr_string">"text/html"</span>); +<a name="77" href="#77">77</a> add(<strong class="jxr_keyword">new</strong> JScrollPane(mDetails), BorderLayout.CENTER); +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">final</strong> ListSelectionModel rowSM = aTable.getSelectionModel(); +<a name="80" href="#80">80</a> rowSM.addListSelectionListener(<strong class="jxr_keyword">this</strong>); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see ListSelectionListener **/</em> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> valueChanged(ListSelectionEvent aEvent) { +<a name="85" href="#85">85</a> <em class="jxr_comment">//Ignore extra messages.</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">if</strong> (aEvent.getValueIsAdjusting()) { +<a name="87" href="#87">87</a> <strong class="jxr_keyword">return</strong>; +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">final</strong> ListSelectionModel lsm = (ListSelectionModel) aEvent.getSource(); +<a name="91" href="#91">91</a> <strong class="jxr_keyword">if</strong> (lsm.isSelectionEmpty()) { +<a name="92" href="#92">92</a> mDetails.setText(<span class="jxr_string">"Nothing selected"</span>); +<a name="93" href="#93">93</a> } <strong class="jxr_keyword">else</strong> { +<a name="94" href="#94">94</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> selectedRow = lsm.getMinSelectionIndex(); +<a name="95" href="#95">95</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> e = mModel.getEventDetails(selectedRow); +<a name="96" href="#96">96</a> <strong class="jxr_keyword">final</strong> Object[] args = +<a name="97" href="#97">97</a> { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">new</strong> Date(e.getTimeStamp()), +<a name="99" href="#99">99</a> e.getPriority(), +<a name="100" href="#100">100</a> escape(e.getThreadName()), +<a name="101" href="#101">101</a> escape(e.getNDC()), +<a name="102" href="#102">102</a> escape(e.getCategoryName()), +<a name="103" href="#103">103</a> escape(e.getLocationDetails()), +<a name="104" href="#104">104</a> escape(e.getMessage()), +<a name="105" href="#105">105</a> escape(getThrowableStrRep(e)) +<a name="106" href="#106">106</a> }; +<a name="107" href="#107">107</a> mDetails.setText(FORMATTER.format(args)); +<a name="108" href="#108">108</a> mDetails.setCaretPosition(0); +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="113" href="#113">113</a> <em class="jxr_comment">// Private methods</em> +<a name="114" href="#114">114</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">/**</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> * Returns a string representation of a throwable.</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> *</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> * @param aEvent contains the throwable information</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> * @return a &lt;code&gt;String&lt;/code&gt; value</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String getThrowableStrRep(<a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> aEvent) { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">final</strong> String[] strs = aEvent.getThrowableStrRep(); +<a name="124" href="#124">124</a> <strong class="jxr_keyword">if</strong> (strs == <strong class="jxr_keyword">null</strong>) { +<a name="125" href="#125">125</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <strong class="jxr_keyword">final</strong> StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="129" href="#129">129</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; strs.length; i++) { +<a name="130" href="#130">130</a> sb.append(strs[i]).append(<span class="jxr_string">"\n"</span>); +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">return</strong> sb.toString(); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">/**</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> * Escape &amp;lt;, &amp;gt; &amp;amp; and &amp;quot; as their entities. It is very</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> * dumb about &amp;amp; handling.</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> * @param aStr the String to escape.</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> * @return the escaped String</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> */</em> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">private</strong> String escape(String aStr) { +<a name="143" href="#143">143</a> <strong class="jxr_keyword">if</strong> (aStr == <strong class="jxr_keyword">null</strong>) { +<a name="144" href="#144">144</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">final</strong> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="148" href="#148">148</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; aStr.length(); i++) { +<a name="149" href="#149">149</a> <strong class="jxr_keyword">char</strong> c = aStr.charAt(i); +<a name="150" href="#150">150</a> <strong class="jxr_keyword">switch</strong> (c) { +<a name="151" href="#151">151</a> <strong class="jxr_keyword">case</strong> '&lt;': +<a name="152" href="#152">152</a> buf.append(<span class="jxr_string">"&amp;lt;"</span>); +<a name="153" href="#153">153</a> <strong class="jxr_keyword">break</strong>; +<a name="154" href="#154">154</a> <strong class="jxr_keyword">case</strong> '&gt;': +<a name="155" href="#155">155</a> buf.append(<span class="jxr_string">"&amp;gt;"</span>); +<a name="156" href="#156">156</a> <strong class="jxr_keyword">break</strong>; +<a name="157" href="#157">157</a> <strong class="jxr_keyword">case</strong> '\&quot;': +<a name="158" href="#158">158</a> buf.append(<span class="jxr_string">"&amp;quot;"</span>); +<a name="159" href="#159">159</a> <strong class="jxr_keyword">break</strong>; +<a name="160" href="#160">160</a> <strong class="jxr_keyword">case</strong> '&amp;': +<a name="161" href="#161">161</a> buf.append(<span class="jxr_string">"&amp;amp;"</span>); +<a name="162" href="#162">162</a> <strong class="jxr_keyword">break</strong>; +<a name="163" href="#163">163</a> <strong class="jxr_keyword">default</strong>: +<a name="164" href="#164">164</a> buf.append(c); +<a name="165" href="#165">165</a> <strong class="jxr_keyword">break</strong>; +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> <strong class="jxr_keyword">return</strong> buf.toString(); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/EventDetails.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/EventDetails.html new file mode 100644 index 00000000000..a6bcfa7a704 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/EventDetails.html @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>EventDetails xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/EventDetails.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * Represents the details of a logging event. It is intended to overcome the</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * problem that a LoggingEvent cannot be constructed with purely fake data.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @version 1.0</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the time of the event **/</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> mTimeStamp; +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the priority of the event **/</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> mPriority; +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the category of the event **/</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String mCategoryName; +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the <a href="../../../../org/apache/log4j/NDC.html">NDC</a> for the event **/</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String mNDC; +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the thread for the event **/</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String mThreadName; +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the msg for the event **/</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String mMessage; +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the throwable details the event **/</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String[] mThrowableStrRep; +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the location details for the event **/</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String mLocationDetails; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment">/**</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * Creates a new &lt;code&gt;EventDetails&lt;/code&gt; instance.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * @param aTimeStamp a &lt;code&gt;long&lt;/code&gt; value</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * @param aPriority a &lt;code&gt;Priority&lt;/code&gt; value</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @param aCategoryName a &lt;code&gt;String&lt;/code&gt; value</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * @param aNDC a &lt;code&gt;String&lt;/code&gt; value</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * @param aThreadName a &lt;code&gt;String&lt;/code&gt; value</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * @param aMessage a &lt;code&gt;String&lt;/code&gt; value</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * @param aThrowableStrRep a &lt;code&gt;String[]&lt;/code&gt; value</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * @param aLocationDetails a &lt;code&gt;String&lt;/code&gt; value</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> */</em> +<a name="59" href="#59">59</a> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>(<strong class="jxr_keyword">long</strong> aTimeStamp, +<a name="60" href="#60">60</a> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> aPriority, +<a name="61" href="#61">61</a> String aCategoryName, +<a name="62" href="#62">62</a> String aNDC, +<a name="63" href="#63">63</a> String aThreadName, +<a name="64" href="#64">64</a> String aMessage, +<a name="65" href="#65">65</a> String[] aThrowableStrRep, +<a name="66" href="#66">66</a> String aLocationDetails) +<a name="67" href="#67">67</a> { +<a name="68" href="#68">68</a> mTimeStamp = aTimeStamp; +<a name="69" href="#69">69</a> mPriority = aPriority; +<a name="70" href="#70">70</a> mCategoryName = aCategoryName; +<a name="71" href="#71">71</a> mNDC = aNDC; +<a name="72" href="#72">72</a> mThreadName = aThreadName; +<a name="73" href="#73">73</a> mMessage = aMessage; +<a name="74" href="#74">74</a> mThrowableStrRep = aThrowableStrRep; +<a name="75" href="#75">75</a> mLocationDetails = aLocationDetails; +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * Creates a new &lt;code&gt;EventDetails&lt;/code&gt; instance.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> *</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * @param aEvent a &lt;code&gt;LoggingEvent&lt;/code&gt; value</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> */</em> +<a name="83" href="#83">83</a> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> aEvent) { +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">this</strong>(aEvent.timeStamp, +<a name="86" href="#86">86</a> aEvent.getLevel(), +<a name="87" href="#87">87</a> aEvent.getLoggerName(), +<a name="88" href="#88">88</a> aEvent.getNDC(), +<a name="89" href="#89">89</a> aEvent.getThreadName(), +<a name="90" href="#90">90</a> aEvent.getRenderedMessage(), +<a name="91" href="#91">91</a> aEvent.getThrowableStrRep(), +<a name="92" href="#92">92</a> (aEvent.getLocationInformation() == <strong class="jxr_keyword">null</strong>) +<a name="93" href="#93">93</a> ? <strong class="jxr_keyword">null</strong> : aEvent.getLocationInformation().fullInfo); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see #mTimeStamp **/</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">long</strong> getTimeStamp() { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">return</strong> mTimeStamp; +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see #mPriority **/</em> +<a name="102" href="#102">102</a> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> getPriority() { +<a name="103" href="#103">103</a> <strong class="jxr_keyword">return</strong> mPriority; +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see #mCategoryName **/</em> +<a name="107" href="#107">107</a> String getCategoryName() { +<a name="108" href="#108">108</a> <strong class="jxr_keyword">return</strong> mCategoryName; +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see #mNDC **/</em> +<a name="112" href="#112">112</a> String getNDC() { +<a name="113" href="#113">113</a> <strong class="jxr_keyword">return</strong> mNDC; +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see #mThreadName **/</em> +<a name="117" href="#117">117</a> String getThreadName() { +<a name="118" href="#118">118</a> <strong class="jxr_keyword">return</strong> mThreadName; +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see #mMessage **/</em> +<a name="122" href="#122">122</a> String getMessage() { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">return</strong> mMessage; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see #mLocationDetails **/</em> +<a name="127" href="#127">127</a> String getLocationDetails(){ +<a name="128" href="#128">128</a> <strong class="jxr_keyword">return</strong> mLocationDetails; +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see #mThrowableStrRep **/</em> +<a name="132" href="#132">132</a> String[] getThrowableStrRep() { +<a name="133" href="#133">133</a> <strong class="jxr_keyword">return</strong> mThrowableStrRep; +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/ExitAction.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/ExitAction.html new file mode 100644 index 00000000000..a9f2ab00b86 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/ExitAction.html @@ -0,0 +1,62 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ExitAction xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/ExitAction.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> javax.swing.AbstractAction; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Encapsulates the action to exit.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @version 1.0</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/ExitAction.html">ExitAction</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">extends</strong> AbstractAction +<a name="31" href="#31">31</a> { +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> use to log messages **/</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> LOG = Logger.getLogger(ExitAction.<strong class="jxr_keyword">class</strong>); +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The instance to share **/</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/ExitAction.html">ExitAction</a> INSTANCE = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/ExitAction.html">ExitAction</a>(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Stop people creating instances **/</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/chainsaw/ExitAction.html">ExitAction</a>() {} +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * Will shutdown the application.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @param aIgnore ignored</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent aIgnore) { +<a name="45" href="#45">45</a> LOG.info(<span class="jxr_string">"shutting down"</span>); +<a name="46" href="#46">46</a> System.exit(0); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/LoadXMLAction.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/LoadXMLAction.html new file mode 100644 index 00000000000..b17200c6141 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/LoadXMLAction.html @@ -0,0 +1,153 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LoadXMLAction xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/LoadXMLAction.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.StringReader; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.swing.AbstractAction; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.swing.JFileChooser; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.swing.JFrame; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.swing.JOptionPane; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.ParserConfigurationException; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.SAXParserFactory; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.xml.sax.InputSource; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.xml.sax.SAXException; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.xml.sax.XMLReader; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * Encapsulates the action to load an XML file.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> *</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * @version 1.0</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/LoadXMLAction.html">LoadXMLAction</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">extends</strong> AbstractAction +<a name="42" href="#42">42</a> { +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> use to log messages **/</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> LOG = Logger.getLogger(LoadXMLAction.<strong class="jxr_keyword">class</strong>); +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the parent frame **/</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JFrame mParent; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * the file chooser - configured to allow only the selection of a</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * single file.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> JFileChooser mChooser = <strong class="jxr_keyword">new</strong> JFileChooser(); +<a name="54" href="#54">54</a> { +<a name="55" href="#55">55</a> mChooser.setMultiSelectionEnabled(false); +<a name="56" href="#56">56</a> mChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> parser to read XML files **/</em> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> XMLReader mParser; +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the content handler **/</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/XMLFileHandler.html">XMLFileHandler</a> mHandler; +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">/**</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * Creates a new &lt;code&gt;LoadXMLAction&lt;/code&gt; instance.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> *</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * @param aParent the parent frame</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * @param aModel the model to add events to</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * @exception SAXException if an error occurs</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * @throws ParserConfigurationException if an error occurs</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> */</em> +<a name="73" href="#73">73</a> <a href="../../../../org/apache/log4j/chainsaw/LoadXMLAction.html">LoadXMLAction</a>(JFrame aParent, <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> aModel) +<a name="74" href="#74">74</a> <strong class="jxr_keyword">throws</strong> SAXException, ParserConfigurationException +<a name="75" href="#75">75</a> { +<a name="76" href="#76">76</a> mParent = aParent; +<a name="77" href="#77">77</a> mHandler = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/XMLFileHandler.html">XMLFileHandler</a>(aModel); +<a name="78" href="#78">78</a> mParser = SAXParserFactory.newInstance().newSAXParser().getXMLReader(); +<a name="79" href="#79">79</a> mParser.setContentHandler(mHandler); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * Prompts the user for a file to load events from.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * @param aIgnore an &lt;code&gt;ActionEvent&lt;/code&gt; value</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent aIgnore) { +<a name="87" href="#87">87</a> LOG.info(<span class="jxr_string">"load file called"</span>); +<a name="88" href="#88">88</a> <strong class="jxr_keyword">if</strong> (mChooser.showOpenDialog(mParent) == JFileChooser.APPROVE_OPTION) { +<a name="89" href="#89">89</a> LOG.info(<span class="jxr_string">"Need to load a file"</span>); +<a name="90" href="#90">90</a> <strong class="jxr_keyword">final</strong> File chosen = mChooser.getSelectedFile(); +<a name="91" href="#91">91</a> LOG.info(<span class="jxr_string">"loading the contents of "</span> + chosen.getAbsolutePath()); +<a name="92" href="#92">92</a> <strong class="jxr_keyword">try</strong> { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> num = loadFile(chosen.getAbsolutePath()); +<a name="94" href="#94">94</a> JOptionPane.showMessageDialog( +<a name="95" href="#95">95</a> mParent, +<a name="96" href="#96">96</a> <span class="jxr_string">"Loaded "</span> + num + <span class="jxr_string">" events."</span>, +<a name="97" href="#97">97</a> <span class="jxr_string">"CHAINSAW"</span>, +<a name="98" href="#98">98</a> JOptionPane.INFORMATION_MESSAGE); +<a name="99" href="#99">99</a> } <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="100" href="#100">100</a> LOG.warn(<span class="jxr_string">"caught an exception loading the file"</span>, e); +<a name="101" href="#101">101</a> JOptionPane.showMessageDialog( +<a name="102" href="#102">102</a> mParent, +<a name="103" href="#103">103</a> <span class="jxr_string">"Error parsing file - "</span> + e.getMessage(), +<a name="104" href="#104">104</a> <span class="jxr_string">"CHAINSAW"</span>, +<a name="105" href="#105">105</a> JOptionPane.ERROR_MESSAGE); +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">/**</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> * Loads the contents of file into the model</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> *</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> * @param aFile the file to extract events from</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> * @return the number of events loaded</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> * @throws SAXException if an error occurs</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> * @throws IOException if an error occurs</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> */</em> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> loadFile(String aFile) +<a name="119" href="#119">119</a> <strong class="jxr_keyword">throws</strong> SAXException, IOException +<a name="120" href="#120">120</a> { +<a name="121" href="#121">121</a> <strong class="jxr_keyword">synchronized</strong> (mParser) { +<a name="122" href="#122">122</a> <em class="jxr_comment">// Create a dummy document to parse the file</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">final</strong> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="124" href="#124">124</a> buf.append(<span class="jxr_string">"&lt;?xml version=\&quot;1.0\&quot; standalone=\&quot;yes\&quot;?&gt;\n"</span>); +<a name="125" href="#125">125</a> buf.append(<span class="jxr_string">"&lt;!DOCTYPE log4j:eventSet "</span>); +<a name="126" href="#126">126</a> buf.append(<span class="jxr_string">"[&lt;!ENTITY data SYSTEM \&quot;file:///"</span>); +<a name="127" href="#127">127</a> buf.append(aFile); +<a name="128" href="#128">128</a> buf.append(<span class="jxr_string">"\&quot;&gt;]&gt;\n"</span>); +<a name="129" href="#129">129</a> buf.append(<span class="jxr_string">"&lt;log4j:eventSet xmlns:log4j=\&quot;Claira\&quot;&gt;\n"</span>); +<a name="130" href="#130">130</a> buf.append(<span class="jxr_string">"&amp;data;\n"</span>); +<a name="131" href="#131">131</a> buf.append(<span class="jxr_string">"&lt;/log4j:eventSet&gt;\n"</span>); +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">final</strong> InputSource is = +<a name="134" href="#134">134</a> <strong class="jxr_keyword">new</strong> InputSource(<strong class="jxr_keyword">new</strong> StringReader(buf.toString())); +<a name="135" href="#135">135</a> mParser.parse(is); +<a name="136" href="#136">136</a> <strong class="jxr_keyword">return</strong> mHandler.getNumEvents(); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/LoggingReceiver.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/LoggingReceiver.html new file mode 100644 index 00000000000..e6e2c018e12 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/LoggingReceiver.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LoggingReceiver xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/LoggingReceiver.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.io.EOFException; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.net.ServerSocket; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.net.SocketException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * A daemon thread the processes connections from a</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * &lt;code&gt;org.apache.log4j.net.SocketAppender.html&lt;/code&gt;.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggingReceiver.html">LoggingReceiver</a> <strong class="jxr_keyword">extends</strong> Thread { +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> used to log messages **/</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> LOG = Logger.getLogger(LoggingReceiver.<strong class="jxr_keyword">class</strong>); +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Helper that actually processes a client connection. It receives events</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * and adds them to the supplied model.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> *</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggingReceiver.html">Slurper</a> implements Runnable { +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> socket connection to read events from **/</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Socket mClient; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment">/**</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * Creates a new &lt;code&gt;Slurper&lt;/code&gt; instance.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> *</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * @param aClient socket to receive events from</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <a href="../../../../org/apache/log4j/chainsaw/LoggingReceiver.html">Slurper</a>(Socket aClient) { +<a name="54" href="#54">54</a> mClient = aClient; +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> loops getting the events **/</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="59" href="#59">59</a> LOG.debug(<span class="jxr_string">"Starting to get data"</span>); +<a name="60" href="#60">60</a> <strong class="jxr_keyword">try</strong> { +<a name="61" href="#61">61</a> <strong class="jxr_keyword">final</strong> ObjectInputStream ois = +<a name="62" href="#62">62</a> <strong class="jxr_keyword">new</strong> ObjectInputStream(mClient.getInputStream()); +<a name="63" href="#63">63</a> <strong class="jxr_keyword">while</strong> (<strong class="jxr_keyword">true</strong>) { +<a name="64" href="#64">64</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event = (LoggingEvent) ois.readObject(); +<a name="65" href="#65">65</a> mModel.addEvent(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>(event)); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> } <strong class="jxr_keyword">catch</strong> (EOFException e) { +<a name="68" href="#68">68</a> LOG.info(<span class="jxr_string">"Reached EOF, closing connection"</span>); +<a name="69" href="#69">69</a> } <strong class="jxr_keyword">catch</strong> (SocketException e) { +<a name="70" href="#70">70</a> LOG.info(<span class="jxr_string">"Caught SocketException, closing connection"</span>); +<a name="71" href="#71">71</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="72" href="#72">72</a> LOG.warn(<span class="jxr_string">"Got IOException, closing connection"</span>, e); +<a name="73" href="#73">73</a> } <strong class="jxr_keyword">catch</strong> (ClassNotFoundException e) { +<a name="74" href="#74">74</a> LOG.warn(<span class="jxr_string">"Got ClassNotFoundException, closing connection"</span>, e); +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">try</strong> { +<a name="78" href="#78">78</a> mClient.close(); +<a name="79" href="#79">79</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="80" href="#80">80</a> LOG.warn(<span class="jxr_string">"Error closing connection"</span>, e); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> where to put the events **/</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> mModel; +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> server for listening for connections **/</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">private</strong> ServerSocket mSvrSock; +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * Creates a new &lt;code&gt;LoggingReceiver&lt;/code&gt; instance.</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> *</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * @param aModel model to place put received into</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * @param aPort port to listen on</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * @throws IOException if an error occurs</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> */</em> +<a name="98" href="#98">98</a> <a href="../../../../org/apache/log4j/chainsaw/LoggingReceiver.html">LoggingReceiver</a>(<a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> aModel, <strong class="jxr_keyword">int</strong> aPort) <strong class="jxr_keyword">throws</strong> IOException { +<a name="99" href="#99">99</a> setDaemon(<strong class="jxr_keyword">true</strong>); +<a name="100" href="#100">100</a> mModel = aModel; +<a name="101" href="#101">101</a> mSvrSock = <strong class="jxr_keyword">new</strong> ServerSocket(aPort); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Listens for client connections **/</em> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="106" href="#106">106</a> LOG.info(<span class="jxr_string">"Thread started"</span>); +<a name="107" href="#107">107</a> <strong class="jxr_keyword">try</strong> { +<a name="108" href="#108">108</a> <strong class="jxr_keyword">while</strong> (<strong class="jxr_keyword">true</strong>) { +<a name="109" href="#109">109</a> LOG.debug(<span class="jxr_string">"Waiting for a connection"</span>); +<a name="110" href="#110">110</a> <strong class="jxr_keyword">final</strong> Socket client = mSvrSock.accept(); +<a name="111" href="#111">111</a> LOG.debug(<span class="jxr_string">"Got a connection from "</span> + +<a name="112" href="#112">112</a> client.getInetAddress().getHostName()); +<a name="113" href="#113">113</a> <strong class="jxr_keyword">final</strong> Thread t = <strong class="jxr_keyword">new</strong> Thread(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggingReceiver.html">Slurper</a>(client)); +<a name="114" href="#114">114</a> t.setDaemon(<strong class="jxr_keyword">true</strong>); +<a name="115" href="#115">115</a> t.start(); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="118" href="#118">118</a> LOG.error(<span class="jxr_string">"Error in accepting connections, stopping."</span>, e); +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/Main.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/Main.html new file mode 100644 index 00000000000..3f0b7a4e0ef --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/Main.html @@ -0,0 +1,206 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Main xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/Main.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.BorderLayout; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.Dimension; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.event.WindowAdapter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.awt.event.WindowEvent; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Properties; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.swing.BorderFactory; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.swing.JFrame; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.swing.JMenu; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.swing.JMenuBar; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.swing.JMenuItem; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.swing.JOptionPane; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.swing.JPanel; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.swing.JScrollPane; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.swing.JSplitPane; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> javax.swing.JTable; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> javax.swing.ListSelectionModel; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PropertyConfigurator; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * The main application.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> *</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/Main.html">Main</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">extends</strong> JFrame +<a name="46" href="#46">46</a> { +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the default port number to listen on **/</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_PORT = 4445; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> name of property for port name **/</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PORT_PROP_NAME = <span class="jxr_string">"chainsaw.port"</span>; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> use to log messages **/</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> LOG = Logger.getLogger(Main.<strong class="jxr_keyword">class</strong>); +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * Creates a new &lt;code&gt;Main&lt;/code&gt; instance.</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> */</em> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/chainsaw/Main.html">Main</a>() { +<a name="61" href="#61">61</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"CHAINSAW - Log4J Log Viewer"</span>); +<a name="62" href="#62">62</a> <em class="jxr_comment">// create the all important model</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> model = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a>(); +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_comment">//Create the menu bar.</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">final</strong> JMenuBar menuBar = <strong class="jxr_keyword">new</strong> JMenuBar(); +<a name="67" href="#67">67</a> setJMenuBar(menuBar); +<a name="68" href="#68">68</a> <strong class="jxr_keyword">final</strong> JMenu menu = <strong class="jxr_keyword">new</strong> JMenu(<span class="jxr_string">"File"</span>); +<a name="69" href="#69">69</a> menuBar.add(menu); +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">try</strong> { +<a name="72" href="#72">72</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/LoadXMLAction.html">LoadXMLAction</a> lxa = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/LoadXMLAction.html">LoadXMLAction</a>(<strong class="jxr_keyword">this</strong>, model); +<a name="73" href="#73">73</a> <strong class="jxr_keyword">final</strong> JMenuItem loadMenuItem = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Load file..."</span>); +<a name="74" href="#74">74</a> menu.add(loadMenuItem); +<a name="75" href="#75">75</a> loadMenuItem.addActionListener(lxa); +<a name="76" href="#76">76</a> } <strong class="jxr_keyword">catch</strong> (NoClassDefFoundError e) { +<a name="77" href="#77">77</a> LOG.info(<span class="jxr_string">"Missing classes for XML parser"</span>, e); +<a name="78" href="#78">78</a> JOptionPane.showMessageDialog( +<a name="79" href="#79">79</a> <strong class="jxr_keyword">this</strong>, +<a name="80" href="#80">80</a> <span class="jxr_string">"XML parser not in classpath - unable to load XML events."</span>, +<a name="81" href="#81">81</a> <span class="jxr_string">"CHAINSAW"</span>, +<a name="82" href="#82">82</a> JOptionPane.ERROR_MESSAGE); +<a name="83" href="#83">83</a> } <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="84" href="#84">84</a> LOG.info(<span class="jxr_string">"Unable to create the action to load XML files"</span>, e); +<a name="85" href="#85">85</a> JOptionPane.showMessageDialog( +<a name="86" href="#86">86</a> <strong class="jxr_keyword">this</strong>, +<a name="87" href="#87">87</a> <span class="jxr_string">"Unable to create a XML parser - unable to load XML events."</span>, +<a name="88" href="#88">88</a> <span class="jxr_string">"CHAINSAW"</span>, +<a name="89" href="#89">89</a> JOptionPane.ERROR_MESSAGE); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">final</strong> JMenuItem exitMenuItem = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Exit"</span>); +<a name="93" href="#93">93</a> menu.add(exitMenuItem); +<a name="94" href="#94">94</a> exitMenuItem.addActionListener(ExitAction.INSTANCE); +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_comment">// Add control panel</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/ControlPanel.html">ControlPanel</a> cp = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/ControlPanel.html">ControlPanel</a>(model); +<a name="98" href="#98">98</a> getContentPane().add(cp, BorderLayout.NORTH); +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em class="jxr_comment">// Create the table</em> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">final</strong> JTable table = <strong class="jxr_keyword">new</strong> JTable(model); +<a name="102" href="#102">102</a> table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); +<a name="103" href="#103">103</a> <strong class="jxr_keyword">final</strong> JScrollPane scrollPane = <strong class="jxr_keyword">new</strong> JScrollPane(table); +<a name="104" href="#104">104</a> scrollPane.setBorder(BorderFactory.createTitledBorder(<span class="jxr_string">"Events: "</span>)); +<a name="105" href="#105">105</a> scrollPane.setPreferredSize(<strong class="jxr_keyword">new</strong> Dimension(900, 300)); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_comment">// Create the details</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">final</strong> JPanel details = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/DetailPanel.html">DetailPanel</a>(table, model); +<a name="109" href="#109">109</a> details.setPreferredSize(<strong class="jxr_keyword">new</strong> Dimension(900, 300)); +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em class="jxr_comment">// Add the table and stack trace into a splitter</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">final</strong> JSplitPane jsp = +<a name="113" href="#113">113</a> <strong class="jxr_keyword">new</strong> JSplitPane(JSplitPane.VERTICAL_SPLIT, scrollPane, details); +<a name="114" href="#114">114</a> getContentPane().add(jsp, BorderLayout.CENTER); +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> addWindowListener(<strong class="jxr_keyword">new</strong> WindowAdapter() { +<a name="117" href="#117">117</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> windowClosing(WindowEvent aEvent) { +<a name="118" href="#118">118</a> ExitAction.INSTANCE.actionPerformed(<strong class="jxr_keyword">null</strong>); +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> }); +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> pack(); +<a name="123" href="#123">123</a> setVisible(<strong class="jxr_keyword">true</strong>); +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> setupReceiver(model); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">/**</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> * Setup recieving messages.</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> *</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> * @param aModel a &lt;code&gt;MyTableModel&lt;/code&gt; value</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> */</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> setupReceiver(<a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> aModel) { +<a name="134" href="#134">134</a> <strong class="jxr_keyword">int</strong> port = DEFAULT_PORT; +<a name="135" href="#135">135</a> <strong class="jxr_keyword">final</strong> String strRep = System.getProperty(PORT_PROP_NAME); +<a name="136" href="#136">136</a> <strong class="jxr_keyword">if</strong> (strRep != <strong class="jxr_keyword">null</strong>) { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">try</strong> { +<a name="138" href="#138">138</a> port = Integer.parseInt(strRep); +<a name="139" href="#139">139</a> } <strong class="jxr_keyword">catch</strong> (NumberFormatException nfe) { +<a name="140" href="#140">140</a> LOG.fatal(<span class="jxr_string">"Unable to parse "</span> + PORT_PROP_NAME + +<a name="141" href="#141">141</a> <span class="jxr_string">" property with value "</span> + strRep + <span class="jxr_string">"."</span>); +<a name="142" href="#142">142</a> JOptionPane.showMessageDialog( +<a name="143" href="#143">143</a> <strong class="jxr_keyword">this</strong>, +<a name="144" href="#144">144</a> <span class="jxr_string">"Unable to parse port number from '"</span> + strRep + +<a name="145" href="#145">145</a> <span class="jxr_string">"', quitting."</span>, +<a name="146" href="#146">146</a> <span class="jxr_string">"CHAINSAW"</span>, +<a name="147" href="#147">147</a> JOptionPane.ERROR_MESSAGE); +<a name="148" href="#148">148</a> System.exit(1); +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">try</strong> { +<a name="153" href="#153">153</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggingReceiver.html">LoggingReceiver</a> lr = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/LoggingReceiver.html">LoggingReceiver</a>(aModel, port); +<a name="154" href="#154">154</a> lr.start(); +<a name="155" href="#155">155</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="156" href="#156">156</a> LOG.fatal(<span class="jxr_string">"Unable to connect to socket server, quiting"</span>, e); +<a name="157" href="#157">157</a> JOptionPane.showMessageDialog( +<a name="158" href="#158">158</a> <strong class="jxr_keyword">this</strong>, +<a name="159" href="#159">159</a> <span class="jxr_string">"Unable to create socket on port "</span> + port + <span class="jxr_string">", quitting."</span>, +<a name="160" href="#160">160</a> <span class="jxr_string">"CHAINSAW"</span>, +<a name="161" href="#161">161</a> JOptionPane.ERROR_MESSAGE); +<a name="162" href="#162">162</a> System.exit(1); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="168" href="#168">168</a> <em class="jxr_comment">// static methods</em> +<a name="169" href="#169">169</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> initialise log4j **/</em> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> initLog4J() { +<a name="174" href="#174">174</a> <strong class="jxr_keyword">final</strong> Properties props = <strong class="jxr_keyword">new</strong> Properties(); +<a name="175" href="#175">175</a> props.setProperty(<span class="jxr_string">"log4j.rootLogger"</span>, <span class="jxr_string">"DEBUG, A1"</span>); +<a name="176" href="#176">176</a> props.setProperty(<span class="jxr_string">"log4j.appender.A1"</span>, +<a name="177" href="#177">177</a> <span class="jxr_string">"org.apache.log4j.ConsoleAppender"</span>); +<a name="178" href="#178">178</a> props.setProperty(<span class="jxr_string">"log4j.appender.A1.layout"</span>, +<a name="179" href="#179">179</a> <span class="jxr_string">"org.apache.log4j.TTCCLayout"</span>); +<a name="180" href="#180">180</a> PropertyConfigurator.configure(props); +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">/**</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> * The main method.</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> *</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> * @param aArgs ignored</em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> */</em> +<a name="188" href="#188">188</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] aArgs) { +<a name="189" href="#189">189</a> initLog4J(); +<a name="190" href="#190">190</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/Main.html">Main</a>(); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/MyTableModel.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/MyTableModel.html new file mode 100644 index 00000000000..4a87fd77b0b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/MyTableModel.html @@ -0,0 +1,404 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MyTableModel xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/MyTableModel.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.Comparator; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.SortedSet; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.TreeSet; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.swing.table.AbstractTableModel; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Represents a list of &lt;code&gt;EventDetails&lt;/code&gt; objects that are sorted on</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * logging time. Methods are provided to filter the events that are visible.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> *</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">extends</strong> AbstractTableModel +<a name="39" href="#39">39</a> { +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> used to log messages **/</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> LOG = Logger.getLogger(MyTableModel.<strong class="jxr_keyword">class</strong>); +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> use the compare logging events **/</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Comparator MY_COMP = <strong class="jxr_keyword">new</strong> Comparator() +<a name="46" href="#46">46</a> { +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see Comparator **/</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compare(Object aObj1, Object aObj2) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">if</strong> ((aObj1 == <strong class="jxr_keyword">null</strong>) &amp;&amp; (aObj2 == <strong class="jxr_keyword">null</strong>)) { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">return</strong> 0; <em class="jxr_comment">// treat as equal</em> +<a name="51" href="#51">51</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aObj1 == <strong class="jxr_keyword">null</strong>) { +<a name="52" href="#52">52</a> <strong class="jxr_keyword">return</strong> -1; <em class="jxr_comment">// null less than everything</em> +<a name="53" href="#53">53</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aObj2 == <strong class="jxr_keyword">null</strong>) { +<a name="54" href="#54">54</a> <strong class="jxr_keyword">return</strong> 1; <em class="jxr_comment">// think about it. :-&gt;</em> +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_comment">// will assume only have LoggingEvent</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> le1 = (EventDetails) aObj1; +<a name="59" href="#59">59</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> le2 = (EventDetails) aObj2; +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">if</strong> (le1.getTimeStamp() &lt; le2.getTimeStamp()) { +<a name="62" href="#62">62</a> <strong class="jxr_keyword">return</strong> 1; +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> <em class="jxr_comment">// assume not two events are logged at exactly the same time</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">return</strong> -1; +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> }; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * Helper that actually processes incoming events.</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> */</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">Processor</a> +<a name="74" href="#74">74</a> implements Runnable +<a name="75" href="#75">75</a> { +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> loops getting the events **/</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="78" href="#78">78</a> <strong class="jxr_keyword">while</strong> (<strong class="jxr_keyword">true</strong>) { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">try</strong> { +<a name="80" href="#80">80</a> Thread.sleep(1000); +<a name="81" href="#81">81</a> } <strong class="jxr_keyword">catch</strong> (InterruptedException e) { +<a name="82" href="#82">82</a> <em class="jxr_comment">// ignore</em> +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">if</strong> (mPaused) { +<a name="87" href="#87">87</a> <strong class="jxr_keyword">continue</strong>; +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">boolean</strong> toHead = <strong class="jxr_keyword">true</strong>; <em class="jxr_comment">// were events added to head</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">boolean</strong> needUpdate = false; +<a name="92" href="#92">92</a> <strong class="jxr_keyword">final</strong> Iterator it = mPendingEvents.iterator(); +<a name="93" href="#93">93</a> <strong class="jxr_keyword">while</strong> (it.hasNext()) { +<a name="94" href="#94">94</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> event = (EventDetails) it.next(); +<a name="95" href="#95">95</a> mAllEvents.add(event); +<a name="96" href="#96">96</a> toHead = toHead &amp;&amp; (event == mAllEvents.first()); +<a name="97" href="#97">97</a> needUpdate = needUpdate || matchFilter(event); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> mPendingEvents.clear(); +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">if</strong> (needUpdate) { +<a name="102" href="#102">102</a> updateFilteredEvents(toHead); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> names of the columns in the table **/</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String[] COL_NAMES = { +<a name="113" href="#113">113</a> <span class="jxr_string">"Time"</span>, <span class="jxr_string">"Priority"</span>, <span class="jxr_string">"Trace"</span>, <span class="jxr_string">"Category"</span>, <span class="jxr_string">"NDC"</span>, <span class="jxr_string">"Message"</span>}; +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> definition of an empty list **/</em> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>[] EMPTY_LIST = <strong class="jxr_keyword">new</strong> EventDetails[] {}; +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> used to format dates **/</em> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> DateFormat DATE_FORMATTER = +<a name="120" href="#120">120</a> DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM); +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the lock to control access **/</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Object mLock = <strong class="jxr_keyword">new</strong> Object(); +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> set of all logged events - not filtered **/</em> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> SortedSet mAllEvents = <strong class="jxr_keyword">new</strong> TreeSet(MY_COMP); +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> events that are visible after filtering **/</em> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>[] mFilteredEvents = EMPTY_LIST; +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> list of events that are buffered for processing **/</em> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List mPendingEvents = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> indicates whether event collection is paused to the UI **/</em> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> mPaused = false; +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> filter for the thread **/</em> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">private</strong> String mThreadFilter = <span class="jxr_string">""</span>; +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> filter for the message **/</em> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">private</strong> String mMessageFilter = <span class="jxr_string">""</span>; +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> filter for the <a href="../../../../org/apache/log4j/NDC.html">NDC</a> **/</em> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">private</strong> String mNDCFilter = <span class="jxr_string">""</span>; +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> filter for the category **/</em> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">private</strong> String mCategoryFilter = <span class="jxr_string">""</span>; +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> filter for the priority **/</em> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> mPriorityFilter = Priority.DEBUG; +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">/**</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> * Creates a new &lt;code&gt;MyTableModel&lt;/code&gt; instance.</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> *</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> */</em> +<a name="149" href="#149">149</a> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a>() { +<a name="150" href="#150">150</a> <strong class="jxr_keyword">final</strong> Thread t = <strong class="jxr_keyword">new</strong> Thread(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">Processor</a>()); +<a name="151" href="#151">151</a> t.setDaemon(<strong class="jxr_keyword">true</strong>); +<a name="152" href="#152">152</a> t.start(); +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="157" href="#157">157</a> <em class="jxr_comment">// Table Methods</em> +<a name="158" href="#158">158</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see javax.swing.table.TableModel **/</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getRowCount() { +<a name="162" href="#162">162</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="163" href="#163">163</a> <strong class="jxr_keyword">return</strong> mFilteredEvents.length; +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see javax.swing.table.TableModel **/</em> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getColumnCount() { +<a name="169" href="#169">169</a> <em class="jxr_comment">// does not need to be synchronized</em> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">return</strong> COL_NAMES.length; +<a name="171" href="#171">171</a> } +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see javax.swing.table.TableModel **/</em> +<a name="174" href="#174">174</a> <strong class="jxr_keyword">public</strong> String getColumnName(<strong class="jxr_keyword">int</strong> aCol) { +<a name="175" href="#175">175</a> <em class="jxr_comment">// does not need to be synchronized</em> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">return</strong> COL_NAMES[aCol]; +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see javax.swing.table.TableModel **/</em> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">public</strong> Class getColumnClass(<strong class="jxr_keyword">int</strong> aCol) { +<a name="181" href="#181">181</a> <em class="jxr_comment">// does not need to be synchronized</em> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">return</strong> (aCol == 2) ? Boolean.<strong class="jxr_keyword">class</strong> : Object.<strong class="jxr_keyword">class</strong>; +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see javax.swing.table.TableModel **/</em> +<a name="186" href="#186">186</a> <strong class="jxr_keyword">public</strong> Object getValueAt(<strong class="jxr_keyword">int</strong> aRow, <strong class="jxr_keyword">int</strong> aCol) { +<a name="187" href="#187">187</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="188" href="#188">188</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> event = mFilteredEvents[aRow]; +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">if</strong> (aCol == 0) { +<a name="191" href="#191">191</a> <strong class="jxr_keyword">return</strong> DATE_FORMATTER.format(<strong class="jxr_keyword">new</strong> Date(event.getTimeStamp())); +<a name="192" href="#192">192</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aCol == 1) { +<a name="193" href="#193">193</a> <strong class="jxr_keyword">return</strong> event.getPriority(); +<a name="194" href="#194">194</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aCol == 2) { +<a name="195" href="#195">195</a> <strong class="jxr_keyword">return</strong> (event.getThrowableStrRep() == <strong class="jxr_keyword">null</strong>) +<a name="196" href="#196">196</a> ? Boolean.FALSE : Boolean.TRUE; +<a name="197" href="#197">197</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aCol == 3) { +<a name="198" href="#198">198</a> <strong class="jxr_keyword">return</strong> event.getCategoryName(); +<a name="199" href="#199">199</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (aCol == 4) { +<a name="200" href="#200">200</a> <strong class="jxr_keyword">return</strong> event.getNDC(); +<a name="201" href="#201">201</a> } +<a name="202" href="#202">202</a> <strong class="jxr_keyword">return</strong> event.getMessage(); +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="207" href="#207">207</a> <em class="jxr_comment">// Public Methods</em> +<a name="208" href="#208">208</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment">/**</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> * Sets the priority to filter events on. Only events of equal or higher</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> * property are now displayed.</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> *</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> * @param aPriority the priority to filter on</em> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> */</em> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPriorityFilter(<a href="../../../../org/apache/log4j/Priority.html">Priority</a> aPriority) { +<a name="217" href="#217">217</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="218" href="#218">218</a> mPriorityFilter = aPriority; +<a name="219" href="#219">219</a> updateFilteredEvents(false); +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> } +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">/**</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> * Set the filter for the thread field.</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> *</em> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment"> * @param aStr the string to match</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> */</em> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setThreadFilter(String aStr) { +<a name="229" href="#229">229</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="230" href="#230">230</a> mThreadFilter = aStr.trim(); +<a name="231" href="#231">231</a> updateFilteredEvents(false); +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment">/**</em> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> * Set the filter for the message field.</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> *</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> * @param aStr the string to match</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> */</em> +<a name="240" href="#240">240</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMessageFilter(String aStr) { +<a name="241" href="#241">241</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="242" href="#242">242</a> mMessageFilter = aStr.trim(); +<a name="243" href="#243">243</a> updateFilteredEvents(false); +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> } +<a name="246" href="#246">246</a> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment">/**</em> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment"> * Set the filter for the NDC field.</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> *</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> * @param aStr the string to match</em> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> */</em> +<a name="252" href="#252">252</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setNDCFilter(String aStr) { +<a name="253" href="#253">253</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="254" href="#254">254</a> mNDCFilter = aStr.trim(); +<a name="255" href="#255">255</a> updateFilteredEvents(false); +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <em class="jxr_javadoccomment">/**</em> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment"> * Set the filter for the category field.</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> *</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> * @param aStr the string to match</em> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> */</em> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCategoryFilter(String aStr) { +<a name="265" href="#265">265</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="266" href="#266">266</a> mCategoryFilter = aStr.trim(); +<a name="267" href="#267">267</a> updateFilteredEvents(false); +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> } +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> <em class="jxr_javadoccomment">/**</em> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> * Add an event to the list.</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> *</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> * @param aEvent a &lt;code&gt;EventDetails&lt;/code&gt; value</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> */</em> +<a name="276" href="#276">276</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addEvent(<a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> aEvent) { +<a name="277" href="#277">277</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="278" href="#278">278</a> mPendingEvents.add(aEvent); +<a name="279" href="#279">279</a> } +<a name="280" href="#280">280</a> } +<a name="281" href="#281">281</a> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment">/**</em> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment"> * Clear the list of all events.</em> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> */</em> +<a name="285" href="#285">285</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> clear() { +<a name="286" href="#286">286</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="287" href="#287">287</a> mAllEvents.clear(); +<a name="288" href="#288">288</a> mFilteredEvents = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>[0]; +<a name="289" href="#289">289</a> mPendingEvents.clear(); +<a name="290" href="#290">290</a> fireTableDataChanged(); +<a name="291" href="#291">291</a> } +<a name="292" href="#292">292</a> } +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Toggle whether collecting events **/</em> +<a name="295" href="#295">295</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> toggle() { +<a name="296" href="#296">296</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="297" href="#297">297</a> mPaused = !mPaused; +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> } +<a name="300" href="#300">300</a> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @return whether currently paused collecting events **/</em> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isPaused() { +<a name="303" href="#303">303</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="304" href="#304">304</a> <strong class="jxr_keyword">return</strong> mPaused; +<a name="305" href="#305">305</a> } +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">/**</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> * Get the throwable information at a specified row in the filtered events.</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> *</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> * @param aRow the row index of the event</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> * @return the throwable information</em> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment"> */</em> +<a name="314" href="#314">314</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> getEventDetails(<strong class="jxr_keyword">int</strong> aRow) { +<a name="315" href="#315">315</a> <strong class="jxr_keyword">synchronized</strong> (mLock) { +<a name="316" href="#316">316</a> <strong class="jxr_keyword">return</strong> mFilteredEvents[aRow]; +<a name="317" href="#317">317</a> } +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="321" href="#321">321</a> <em class="jxr_comment">// Private methods</em> +<a name="322" href="#322">322</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="323" href="#323">323</a> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment">/**</em> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> * Update the filtered events data structure.</em> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment"> * @param aInsertedToFront indicates whether events were added to front of</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> * the events. If true, then the current first event must still exist</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> * in the list after the filter is applied.</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> */</em> +<a name="330" href="#330">330</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> updateFilteredEvents(<strong class="jxr_keyword">boolean</strong> aInsertedToFront) { +<a name="331" href="#331">331</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> start = System.currentTimeMillis(); +<a name="332" href="#332">332</a> <strong class="jxr_keyword">final</strong> List filtered = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="333" href="#333">333</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> size = mAllEvents.size(); +<a name="334" href="#334">334</a> <strong class="jxr_keyword">final</strong> Iterator it = mAllEvents.iterator(); +<a name="335" href="#335">335</a> +<a name="336" href="#336">336</a> <strong class="jxr_keyword">while</strong> (it.hasNext()) { +<a name="337" href="#337">337</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> event = (EventDetails) it.next(); +<a name="338" href="#338">338</a> <strong class="jxr_keyword">if</strong> (matchFilter(event)) { +<a name="339" href="#339">339</a> filtered.add(event); +<a name="340" href="#340">340</a> } +<a name="341" href="#341">341</a> } +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> lastFirst = (mFilteredEvents.length == 0) +<a name="344" href="#344">344</a> ? <strong class="jxr_keyword">null</strong> +<a name="345" href="#345">345</a> : mFilteredEvents[0]; +<a name="346" href="#346">346</a> mFilteredEvents = (EventDetails[]) filtered.toArray(EMPTY_LIST); +<a name="347" href="#347">347</a> +<a name="348" href="#348">348</a> <strong class="jxr_keyword">if</strong> (aInsertedToFront &amp;&amp; (lastFirst != <strong class="jxr_keyword">null</strong>)) { +<a name="349" href="#349">349</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> index = filtered.indexOf(lastFirst); +<a name="350" href="#350">350</a> <strong class="jxr_keyword">if</strong> (index &lt; 1) { +<a name="351" href="#351">351</a> LOG.warn(<span class="jxr_string">"In strange state"</span>); +<a name="352" href="#352">352</a> fireTableDataChanged(); +<a name="353" href="#353">353</a> } <strong class="jxr_keyword">else</strong> { +<a name="354" href="#354">354</a> fireTableRowsInserted(0, index - 1); +<a name="355" href="#355">355</a> } +<a name="356" href="#356">356</a> } <strong class="jxr_keyword">else</strong> { +<a name="357" href="#357">357</a> fireTableDataChanged(); +<a name="358" href="#358">358</a> } +<a name="359" href="#359">359</a> +<a name="360" href="#360">360</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> end = System.currentTimeMillis(); +<a name="361" href="#361">361</a> LOG.debug(<span class="jxr_string">"Total time [ms]: "</span> + (end - start) +<a name="362" href="#362">362</a> + <span class="jxr_string">" in update, size: "</span> + size); +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment">/**</em> +<a name="366" href="#366">366</a> <em class="jxr_javadoccomment"> * Returns whether an event matches the filters.</em> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment"> *</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> * @param aEvent the event to check for a match</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> * @return whether the event matches</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> */</em> +<a name="371" href="#371">371</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> matchFilter(<a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a> aEvent) { +<a name="372" href="#372">372</a> <strong class="jxr_keyword">if</strong> (aEvent.getPriority().isGreaterOrEqual(mPriorityFilter) &amp;&amp; +<a name="373" href="#373">373</a> (aEvent.getThreadName().indexOf(mThreadFilter) &gt;= 0) &amp;&amp; +<a name="374" href="#374">374</a> (aEvent.getCategoryName().indexOf(mCategoryFilter) &gt;= 0) &amp;&amp; +<a name="375" href="#375">375</a> ((mNDCFilter.length() == 0) || +<a name="376" href="#376">376</a> ((aEvent.getNDC() != <strong class="jxr_keyword">null</strong>) &amp;&amp; +<a name="377" href="#377">377</a> (aEvent.getNDC().indexOf(mNDCFilter) &gt;= 0)))) +<a name="378" href="#378">378</a> { +<a name="379" href="#379">379</a> <strong class="jxr_keyword">final</strong> String rm = aEvent.getMessage(); +<a name="380" href="#380">380</a> <strong class="jxr_keyword">if</strong> (rm == <strong class="jxr_keyword">null</strong>) { +<a name="381" href="#381">381</a> <em class="jxr_comment">// only match if we have not filtering in place</em> +<a name="382" href="#382">382</a> <strong class="jxr_keyword">return</strong> (mMessageFilter.length() == 0); +<a name="383" href="#383">383</a> } <strong class="jxr_keyword">else</strong> { +<a name="384" href="#384">384</a> <strong class="jxr_keyword">return</strong> (rm.indexOf(mMessageFilter) &gt;= 0); +<a name="385" href="#385">385</a> } +<a name="386" href="#386">386</a> } +<a name="387" href="#387">387</a> +<a name="388" href="#388">388</a> <strong class="jxr_keyword">return</strong> false; <em class="jxr_comment">// by default not match</em> +<a name="389" href="#389">389</a> } +<a name="390" href="#390">390</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/XMLFileHandler.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/XMLFileHandler.html new file mode 100644 index 00000000000..64e848e7456 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/XMLFileHandler.html @@ -0,0 +1,184 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>XMLFileHandler xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/XMLFileHandler.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.util.StringTokenizer; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.xml.sax.Attributes; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.xml.sax.SAXException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.xml.sax.helpers.DefaultHandler; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * A content handler for document containing Log4J events logged using the</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * XMLLayout class. It will create events and add them to a supplied model.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> *</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @version 1.0</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/XMLFileHandler.html">XMLFileHandler</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">extends</strong> DefaultHandler +<a name="34" href="#34">34</a> { +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> represents the event tag **/</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAG_EVENT = <span class="jxr_string">"log4j:event"</span>; +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> represents the message tag **/</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAG_MESSAGE = <span class="jxr_string">"log4j:message"</span>; +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> represents the ndc tag **/</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAG_NDC = <span class="jxr_string">"log4j:NDC"</span>; +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> represents the throwable tag **/</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAG_THROWABLE = <span class="jxr_string">"log4j:throwable"</span>; +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> represents the location info tag **/</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAG_LOCATION_INFO = <span class="jxr_string">"log4j:locationInfo"</span>; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> where to put the events **/</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> mModel; +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the number of events in the document **/</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> mNumEvents; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the time of the event **/</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> mTimeStamp; +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the priority (level) of the event **/</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> mLevel; +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the category of the event **/</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">private</strong> String mCategoryName; +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the <a href="../../../../org/apache/log4j/NDC.html">NDC</a> for the event **/</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">private</strong> String mNDC; +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the thread for the event **/</em> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">private</strong> String mThreadName; +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the msg for the event **/</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">private</strong> String mMessage; +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the throwable details the event **/</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">private</strong> String[] mThrowableStrRep; +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the location details for the event **/</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">private</strong> String mLocationDetails; +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> buffer for collecting text **/</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> StringBuffer mBuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * Creates a new &lt;code&gt;XMLFileHandler&lt;/code&gt; instance.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> *</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> * @param aModel where to add the events</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> */</em> +<a name="75" href="#75">75</a> <a href="../../../../org/apache/log4j/chainsaw/XMLFileHandler.html">XMLFileHandler</a>(<a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> aModel) { +<a name="76" href="#76">76</a> mModel = aModel; +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see DefaultHandler **/</em> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> startDocument() +<a name="81" href="#81">81</a> <strong class="jxr_keyword">throws</strong> SAXException +<a name="82" href="#82">82</a> { +<a name="83" href="#83">83</a> mNumEvents = 0; +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see DefaultHandler **/</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> characters(<strong class="jxr_keyword">char</strong>[] aChars, <strong class="jxr_keyword">int</strong> aStart, <strong class="jxr_keyword">int</strong> aLength) { +<a name="88" href="#88">88</a> mBuf.append(String.valueOf(aChars, aStart, aLength)); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see DefaultHandler **/</em> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> endElement(String aNamespaceURI, +<a name="93" href="#93">93</a> String aLocalName, +<a name="94" href="#94">94</a> String aQName) +<a name="95" href="#95">95</a> { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">if</strong> (TAG_EVENT.equals(aQName)) { +<a name="97" href="#97">97</a> addEvent(); +<a name="98" href="#98">98</a> resetData(); +<a name="99" href="#99">99</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (TAG_NDC.equals(aQName)) { +<a name="100" href="#100">100</a> mNDC = mBuf.toString(); +<a name="101" href="#101">101</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (TAG_MESSAGE.equals(aQName)) { +<a name="102" href="#102">102</a> mMessage = mBuf.toString(); +<a name="103" href="#103">103</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (TAG_THROWABLE.equals(aQName)) { +<a name="104" href="#104">104</a> <strong class="jxr_keyword">final</strong> StringTokenizer st = +<a name="105" href="#105">105</a> <strong class="jxr_keyword">new</strong> StringTokenizer(mBuf.toString(), <span class="jxr_string">"\n\t"</span>); +<a name="106" href="#106">106</a> mThrowableStrRep = <strong class="jxr_keyword">new</strong> String[st.countTokens()]; +<a name="107" href="#107">107</a> <strong class="jxr_keyword">if</strong> (mThrowableStrRep.length &gt; 0) { +<a name="108" href="#108">108</a> mThrowableStrRep[0] = st.nextToken(); +<a name="109" href="#109">109</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 1; i &lt; mThrowableStrRep.length; i++) { +<a name="110" href="#110">110</a> mThrowableStrRep[i] = <span class="jxr_string">"\t"</span> + st.nextToken(); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see DefaultHandler **/</em> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> startElement(String aNamespaceURI, +<a name="118" href="#118">118</a> String aLocalName, +<a name="119" href="#119">119</a> String aQName, +<a name="120" href="#120">120</a> Attributes aAtts) +<a name="121" href="#121">121</a> { +<a name="122" href="#122">122</a> mBuf.setLength(0); +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">if</strong> (TAG_EVENT.equals(aQName)) { +<a name="125" href="#125">125</a> mThreadName = aAtts.getValue(<span class="jxr_string">"thread"</span>); +<a name="126" href="#126">126</a> mTimeStamp = Long.parseLong(aAtts.getValue(<span class="jxr_string">"timestamp"</span>)); +<a name="127" href="#127">127</a> mCategoryName = aAtts.getValue(<span class="jxr_string">"logger"</span>); +<a name="128" href="#128">128</a> mLevel = Level.toLevel(aAtts.getValue(<span class="jxr_string">"level"</span>)); +<a name="129" href="#129">129</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (TAG_LOCATION_INFO.equals(aQName)) { +<a name="130" href="#130">130</a> mLocationDetails = aAtts.getValue(<span class="jxr_string">"class"</span>) + <span class="jxr_string">"."</span> +<a name="131" href="#131">131</a> + aAtts.getValue(<span class="jxr_string">"method"</span>) +<a name="132" href="#132">132</a> + <span class="jxr_string">"("</span> + aAtts.getValue(<span class="jxr_string">"file"</span>) + <span class="jxr_string">":"</span> + aAtts.getValue(<span class="jxr_string">"line"</span>) +<a name="133" href="#133">133</a> + <span class="jxr_string">")"</span>; +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @return the number of events in the document **/</em> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">int</strong> getNumEvents() { +<a name="139" href="#139">139</a> <strong class="jxr_keyword">return</strong> mNumEvents; +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="143" href="#143">143</a> <em class="jxr_comment">// Private methods</em> +<a name="144" href="#144">144</a> <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em> +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Add an event to the model **/</em> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addEvent() { +<a name="148" href="#148">148</a> mModel.addEvent(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>(mTimeStamp, +<a name="149" href="#149">149</a> mLevel, +<a name="150" href="#150">150</a> mCategoryName, +<a name="151" href="#151">151</a> mNDC, +<a name="152" href="#152">152</a> mThreadName, +<a name="153" href="#153">153</a> mMessage, +<a name="154" href="#154">154</a> mThrowableStrRep, +<a name="155" href="#155">155</a> mLocationDetails)); +<a name="156" href="#156">156</a> mNumEvents++; +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Reset the data for an event **/</em> +<a name="160" href="#160">160</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> resetData() { +<a name="161" href="#161">161</a> mTimeStamp = 0; +<a name="162" href="#162">162</a> mLevel = <strong class="jxr_keyword">null</strong>; +<a name="163" href="#163">163</a> mCategoryName = <strong class="jxr_keyword">null</strong>; +<a name="164" href="#164">164</a> mNDC = <strong class="jxr_keyword">null</strong>; +<a name="165" href="#165">165</a> mThreadName = <strong class="jxr_keyword">null</strong>; +<a name="166" href="#166">166</a> mMessage = <strong class="jxr_keyword">null</strong>; +<a name="167" href="#167">167</a> mThrowableStrRep = <strong class="jxr_keyword">null</strong>; +<a name="168" href="#168">168</a> mLocationDetails = <strong class="jxr_keyword">null</strong>; +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/package-frame.html new file mode 100644 index 00000000000..cac8f36061f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/package-frame.html @@ -0,0 +1,54 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.chainsaw</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.chainsaw</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="ControlPanel.html" target="classFrame">ControlPanel</a> + </li> + <li> + <a href="DetailPanel.html" target="classFrame">DetailPanel</a> + </li> + <li> + <a href="EventDetails.html" target="classFrame">EventDetails</a> + </li> + <li> + <a href="ExitAction.html" target="classFrame">ExitAction</a> + </li> + <li> + <a href="LoadXMLAction.html" target="classFrame">LoadXMLAction</a> + </li> + <li> + <a href="LoggingReceiver.html" target="classFrame">LoggingReceiver</a> + </li> + <li> + <a href="Main.html" target="classFrame">Main</a> + </li> + <li> + <a href="MyTableModel.html" target="classFrame">MyTableModel</a> + </li> + <li> + <a href="MyTableModel.html" target="classFrame">Processor</a> + </li> + <li> + <a href="LoggingReceiver.html" target="classFrame">Slurper</a> + </li> + <li> + <a href="XMLFileHandler.html" target="classFrame">XMLFileHandler</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/package-summary.html new file mode 100644 index 00000000000..5756b2d32b7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/chainsaw/package-summary.html @@ -0,0 +1,117 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.chainsaw</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.chainsaw</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="ControlPanel.html" target="classFrame">ControlPanel</a> + </td> + </tr> + <tr> + <td> + <a href="DetailPanel.html" target="classFrame">DetailPanel</a> + </td> + </tr> + <tr> + <td> + <a href="EventDetails.html" target="classFrame">EventDetails</a> + </td> + </tr> + <tr> + <td> + <a href="ExitAction.html" target="classFrame">ExitAction</a> + </td> + </tr> + <tr> + <td> + <a href="LoadXMLAction.html" target="classFrame">LoadXMLAction</a> + </td> + </tr> + <tr> + <td> + <a href="LoggingReceiver.html" target="classFrame">LoggingReceiver</a> + </td> + </tr> + <tr> + <td> + <a href="Main.html" target="classFrame">Main</a> + </td> + </tr> + <tr> + <td> + <a href="MyTableModel.html" target="classFrame">MyTableModel</a> + </td> + </tr> + <tr> + <td> + <a href="MyTableModel.html" target="classFrame">Processor</a> + </td> + </tr> + <tr> + <td> + <a href="LoggingReceiver.html" target="classFrame">Slurper</a> + </td> + </tr> + <tr> + <td> + <a href="XMLFileHandler.html" target="classFrame">XMLFileHandler</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertyGetter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertyGetter.html new file mode 100644 index 00000000000..7d6af75aede --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertyGetter.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PropertyGetter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/config/PropertyGetter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.config; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.beans.BeanInfo; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.beans.IntrospectionException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.beans.Introspector; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.beans.PropertyDescriptor; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> Used for inferring configuration information for a log4j's component.</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/config/PropertyGetter.html">PropertyGetter</a> { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Object[] NULL_ARG = <strong class="jxr_keyword">new</strong> Object[] {}; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">protected</strong> Object obj; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">protected</strong> PropertyDescriptor[] props; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/config/PropertyGetter.html">PropertyCallback</a> { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">void</strong> foundProperty(Object obj, String prefix, String name, Object value); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> Create a new PropertyGetter for the specified Object. This is done</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> in prepartion for invoking {@link</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> #getProperties(PropertyGetter.PropertyCallback, String)} one or</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> more times.</em> +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> @param obj the object for which to set properties */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> +<a name="54" href="#54">54</a> <a href="../../../../org/apache/log4j/config/PropertyGetter.html">PropertyGetter</a>(Object obj) <strong class="jxr_keyword">throws</strong> IntrospectionException { +<a name="55" href="#55">55</a> BeanInfo bi = Introspector.getBeanInfo(obj.getClass()); +<a name="56" href="#56">56</a> props = bi.getPropertyDescriptors(); +<a name="57" href="#57">57</a> <strong class="jxr_keyword">this</strong>.obj = obj; +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">static</strong> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">void</strong> getProperties(Object obj, <a href="../../../../org/apache/log4j/config/PropertyGetter.html">PropertyCallback</a> callback, String prefix) { +<a name="63" href="#63">63</a> <strong class="jxr_keyword">try</strong> { +<a name="64" href="#64">64</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertyGetter.html">PropertyGetter</a>(obj).getProperties(callback, prefix); +<a name="65" href="#65">65</a> } <strong class="jxr_keyword">catch</strong> (IntrospectionException ex) { +<a name="66" href="#66">66</a> LogLog.error(<span class="jxr_string">"Failed to introspect object "</span> + obj, ex); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">public</strong> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">void</strong> getProperties(<a href="../../../../org/apache/log4j/config/PropertyGetter.html">PropertyCallback</a> callback, String prefix) { +<a name="72" href="#72">72</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; props.length; i++) { +<a name="73" href="#73">73</a> Method getter = props[i].getReadMethod(); +<a name="74" href="#74">74</a> <strong class="jxr_keyword">if</strong> (getter == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">continue</strong>; +<a name="75" href="#75">75</a> <strong class="jxr_keyword">if</strong> (!isHandledType(getter.getReturnType())) { +<a name="76" href="#76">76</a> <em class="jxr_comment">//System.err.println("Ignoring " + props[i].getName() +" " + getter.getReturnType());</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">continue</strong>; +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> String name = props[i].getName(); +<a name="80" href="#80">80</a> <strong class="jxr_keyword">try</strong> { +<a name="81" href="#81">81</a> Object result = getter.invoke(obj, NULL_ARG); +<a name="82" href="#82">82</a> <em class="jxr_comment">//System.err.println("PROP " + name +": " + result);</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">if</strong> (result != <strong class="jxr_keyword">null</strong>) { +<a name="84" href="#84">84</a> callback.foundProperty(obj, prefix, name, result); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> } <strong class="jxr_keyword">catch</strong> (IllegalAccessException ex) { +<a name="87" href="#87">87</a> LogLog.warn(<span class="jxr_string">"Failed to get value of property "</span> + name); +<a name="88" href="#88">88</a> } <strong class="jxr_keyword">catch</strong> (InvocationTargetException ex) { +<a name="89" href="#89">89</a> <strong class="jxr_keyword">if</strong> (ex.getTargetException() instanceof InterruptedException +<a name="90" href="#90">90</a> || ex.getTargetException() instanceof InterruptedIOException) { +<a name="91" href="#91">91</a> Thread.currentThread().interrupt(); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> LogLog.warn(<span class="jxr_string">"Failed to get value of property "</span> + name); +<a name="94" href="#94">94</a> } <strong class="jxr_keyword">catch</strong> (RuntimeException ex) { +<a name="95" href="#95">95</a> LogLog.warn(<span class="jxr_string">"Failed to get value of property "</span> + name); +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">protected</strong> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">boolean</strong> isHandledType(Class type) { +<a name="102" href="#102">102</a> <strong class="jxr_keyword">return</strong> String.<strong class="jxr_keyword">class</strong>.isAssignableFrom(type) || +<a name="103" href="#103">103</a> Integer.TYPE.isAssignableFrom(type) || +<a name="104" href="#104">104</a> Long.TYPE.isAssignableFrom(type) || +<a name="105" href="#105">105</a> Boolean.TYPE.isAssignableFrom(type) || +<a name="106" href="#106">106</a> Priority.<strong class="jxr_keyword">class</strong>.isAssignableFrom(type); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertyPrinter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertyPrinter.html new file mode 100644 index 00000000000..e2553a9b7f0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertyPrinter.html @@ -0,0 +1,182 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PropertyPrinter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/config/PropertyPrinter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.config; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Category; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.PrintWriter; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> Prints the configuration of the log4j default hierarchy</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> (which needs to be auto-initialized) as a propoperties file</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> on a {@link PrintWriter}.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> </em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/config/PropertyPrinter.html">PropertyPrinter</a> implements PropertyGetter.PropertyCallback { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> numAppenders = 0; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">protected</strong> Hashtable appenderNames = <strong class="jxr_keyword">new</strong> Hashtable(); +<a name="40" href="#40">40</a> <strong class="jxr_keyword">protected</strong> Hashtable layoutNames = <strong class="jxr_keyword">new</strong> Hashtable(); +<a name="41" href="#41">41</a> <strong class="jxr_keyword">protected</strong> PrintWriter out; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> doCapitalize; +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> +<a name="45" href="#45">45</a> <a href="../../../../org/apache/log4j/config/PropertyPrinter.html">PropertyPrinter</a>(PrintWriter out) { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">this</strong>(out, false); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> +<a name="50" href="#50">50</a> <a href="../../../../org/apache/log4j/config/PropertyPrinter.html">PropertyPrinter</a>(PrintWriter out, <strong class="jxr_keyword">boolean</strong> doCapitalize) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">this</strong>.out = out; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">this</strong>.doCapitalize = doCapitalize; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> print(out); +<a name="55" href="#55">55</a> out.flush(); +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">protected</strong> +<a name="59" href="#59">59</a> String genAppName() { +<a name="60" href="#60">60</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"A"</span> + numAppenders++; +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment">/**</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * Returns true if the specified appender name is considered to have</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * been generated, that is, if it is of the form A[0-9]+.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">protected</strong> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">boolean</strong> isGenAppName(String name) { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">if</strong> (name.length() &lt; 2 || name.charAt(0) != 'A') <strong class="jxr_keyword">return</strong> false; +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; name.length(); i++) { +<a name="72" href="#72">72</a> <strong class="jxr_keyword">if</strong> (name.charAt(i) &lt; '0' || name.charAt(i) &gt; '9') <strong class="jxr_keyword">return</strong> false; +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment">/**</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * Prints the configuration of the default log4j hierarchy as a Java</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * properties file on the specified Writer.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * </em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * &lt;p&gt;N.B. print() can be invoked only once!</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> */</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">public</strong> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">void</strong> print(PrintWriter out) { +<a name="85" href="#85">85</a> printOptions(out, Logger.getRootLogger()); +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> Enumeration cats = LogManager.getCurrentLoggers(); +<a name="88" href="#88">88</a> <strong class="jxr_keyword">while</strong> (cats.hasMoreElements()) { +<a name="89" href="#89">89</a> printOptions(out, (Logger) cats.nextElement()); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment">/**</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">protected</strong> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">void</strong> printOptions(PrintWriter out, <a href="../../../../org/apache/log4j/Category.html">Category</a> cat) { +<a name="98" href="#98">98</a> Enumeration appenders = cat.getAllAppenders(); +<a name="99" href="#99">99</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> prio = cat.getLevel(); +<a name="100" href="#100">100</a> String appenderString = (prio == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">""</span> : prio.toString()); +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">while</strong> (appenders.hasMoreElements()) { +<a name="103" href="#103">103</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> app = (Appender) appenders.nextElement(); +<a name="104" href="#104">104</a> String name; +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">if</strong> ((name = (String) appenderNames.get(app)) == <strong class="jxr_keyword">null</strong>) { +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_comment">// first assign name to the appender</em> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">if</strong> ((name = app.getName()) == <strong class="jxr_keyword">null</strong> || isGenAppName(name)) { +<a name="110" href="#110">110</a> name = genAppName(); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> appenderNames.put(app, name); +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> printOptions(out, app, <span class="jxr_string">"log4j.appender."</span>+name); +<a name="115" href="#115">115</a> <strong class="jxr_keyword">if</strong> (app.getLayout() != <strong class="jxr_keyword">null</strong>) { +<a name="116" href="#116">116</a> printOptions(out, app.getLayout(), <span class="jxr_string">"log4j.appender."</span>+name+<span class="jxr_string">".layout"</span>); +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> appenderString += <span class="jxr_string">", "</span> + name; +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> String catKey = (cat == Logger.getRootLogger()) +<a name="122" href="#122">122</a> ? <span class="jxr_string">"log4j.rootLogger"</span> +<a name="123" href="#123">123</a> : <span class="jxr_string">"log4j.logger."</span> + cat.getName(); +<a name="124" href="#124">124</a> <strong class="jxr_keyword">if</strong> (appenderString != <span class="jxr_string">""</span>) { +<a name="125" href="#125">125</a> out.println(catKey + <span class="jxr_string">"="</span> + appenderString); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> <strong class="jxr_keyword">if</strong> (!cat.getAdditivity() &amp;&amp; cat != Logger.getRootLogger()) { +<a name="128" href="#128">128</a> out.println(<span class="jxr_string">"log4j.additivity."</span> + cat.getName() + <span class="jxr_string">"=false"</span>); +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> printOptions(PrintWriter out, <a href="../../../../org/apache/log4j/Logger.html">Logger</a> cat) { +<a name="133" href="#133">133</a> printOptions(out, (Category) cat); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">protected</strong> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">void</strong> printOptions(PrintWriter out, Object obj, String fullname) { +<a name="138" href="#138">138</a> out.println(fullname + <span class="jxr_string">"="</span> + obj.getClass().getName()); +<a name="139" href="#139">139</a> PropertyGetter.getProperties(obj, <strong class="jxr_keyword">this</strong>, fullname + <span class="jxr_string">"."</span>); +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> foundProperty(Object obj, String prefix, String name, Object value) { +<a name="143" href="#143">143</a> <em class="jxr_comment">// XXX: Properties encode value.toString()</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">if</strong> (obj instanceof Appender &amp;&amp; <span class="jxr_string">"name"</span>.equals(name)) { +<a name="145" href="#145">145</a> <strong class="jxr_keyword">return</strong>; +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> <strong class="jxr_keyword">if</strong> (doCapitalize) { +<a name="148" href="#148">148</a> name = capitalize(name); +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> out.println(prefix + name + <span class="jxr_string">"="</span> + value.toString()); +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String capitalize(String name) { +<a name="154" href="#154">154</a> <strong class="jxr_keyword">if</strong> (Character.isLowerCase(name.charAt(0))) { +<a name="155" href="#155">155</a> <strong class="jxr_keyword">if</strong> (name.length() == 1 || Character.isLowerCase(name.charAt(1))) { +<a name="156" href="#156">156</a> StringBuffer newname = <strong class="jxr_keyword">new</strong> StringBuffer(name); +<a name="157" href="#157">157</a> newname.setCharAt(0, Character.toUpperCase(name.charAt(0))); +<a name="158" href="#158">158</a> <strong class="jxr_keyword">return</strong> newname.toString(); +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> <strong class="jxr_keyword">return</strong> name; +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <em class="jxr_comment">// for testing</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] args) { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertyPrinter.html">PropertyPrinter</a>(<strong class="jxr_keyword">new</strong> PrintWriter(System.out)); +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertySetter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertySetter.html new file mode 100644 index 00000000000..09b45230e16 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertySetter.html @@ -0,0 +1,324 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PropertySetter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/config/PropertySetter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contributors: Georg Lundesgaard</em> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.config; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> java.beans.BeanInfo; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> java.beans.IntrospectionException; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> java.beans.Introspector; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> java.beans.PropertyDescriptor; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> java.util.Properties; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> General purpose Object property setter. Clients repeatedly invokes</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> {@link #setProperty setProperty(name,value)} in order to invoke setters</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> on the Object specified in the constructor. This class relies on the</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> JavaBeans {@link Introspector} to analyze the given Object Class using</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> reflection.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> </em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> &lt;p&gt;Usage:</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> PropertySetter ps = new PropertySetter(anObject);</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> ps.set("name", "Joe");</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> ps.set("age", "32");</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> ps.set("isMale", "true");</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> will cause the invocations anObject.setName("Joe"), anObject.setAge(32),</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> and setMale(true) if such methods exist with those signatures.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> Otherwise an {@link IntrospectionException} are thrown.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> </em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> @since 1.1</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> { +<a name="62" href="#62">62</a> <strong class="jxr_keyword">protected</strong> Object obj; +<a name="63" href="#63">63</a> <strong class="jxr_keyword">protected</strong> PropertyDescriptor[] props; +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">/**</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> Create a new PropertySetter for the specified Object. This is done</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> in prepartion for invoking {@link #setProperty} one or more times.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> </em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> @param obj the object for which to set properties</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> +<a name="72" href="#72">72</a> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(Object obj) { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">this</strong>.obj = obj; +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment">/**</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> Uses JavaBeans {@link Introspector} to computer setters of object to be</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> configured.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> */</em> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">protected</strong> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">void</strong> introspect() { +<a name="82" href="#82">82</a> <strong class="jxr_keyword">try</strong> { +<a name="83" href="#83">83</a> BeanInfo bi = Introspector.getBeanInfo(obj.getClass()); +<a name="84" href="#84">84</a> props = bi.getPropertyDescriptors(); +<a name="85" href="#85">85</a> } <strong class="jxr_keyword">catch</strong> (IntrospectionException ex) { +<a name="86" href="#86">86</a> LogLog.error(<span class="jxr_string">"Failed to introspect "</span>+obj+<span class="jxr_string">": "</span> + ex.getMessage()); +<a name="87" href="#87">87</a> props = <strong class="jxr_keyword">new</strong> PropertyDescriptor[0]; +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> Set the properties of an object passed as a parameter in one</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> go. The &lt;code&gt;properties&lt;/code&gt; are parsed relative to a</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> &lt;code&gt;prefix&lt;/code&gt;.</em> +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> @param obj The object to configure.</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> @param properties A java.util.Properties containing keys and values.</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> @param prefix Only keys having the specified prefix will be set.</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> */</em> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">public</strong> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">static</strong> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">void</strong> setProperties(Object obj, Properties properties, String prefix) { +<a name="104" href="#104">104</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(obj).setProperties(properties, prefix); +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">/**</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> Set the properites for the object that match the</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> &lt;code&gt;prefix&lt;/code&gt; passed as parameter.</em> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> </em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> */</em> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">public</strong> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">void</strong> setProperties(Properties properties, String prefix) { +<a name="116" href="#116">116</a> <strong class="jxr_keyword">int</strong> len = prefix.length(); +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">for</strong> (Enumeration e = properties.propertyNames(); e.hasMoreElements(); ) { +<a name="119" href="#119">119</a> String key = (String) e.nextElement(); +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_comment">// handle only properties that start with the desired frefix.</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">if</strong> (key.startsWith(prefix)) { +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="jxr_comment">// ignore key if it contains dots after the prefix</em> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">if</strong> (key.indexOf('.', len + 1) &gt; 0) { +<a name="127" href="#127">127</a> <em class="jxr_comment">//System.err.println("----------Ignoring---["+key</em> +<a name="128" href="#128">128</a> <em class="jxr_comment">// +"], prefix=["+prefix+"].");</em> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">continue</strong>; +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> String value = OptionConverter.findAndSubst(key, properties); +<a name="133" href="#133">133</a> key = key.substring(len); +<a name="134" href="#134">134</a> <strong class="jxr_keyword">if</strong> ((<span class="jxr_string">"layout"</span>.equals(key) || <span class="jxr_string">"errorhandler"</span>.equals(key)) &amp;&amp; obj instanceof Appender) { +<a name="135" href="#135">135</a> <strong class="jxr_keyword">continue</strong>; +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> <em class="jxr_comment">//</em> +<a name="138" href="#138">138</a> <em class="jxr_comment">// if the property type is an OptionHandler</em> +<a name="139" href="#139">139</a> <em class="jxr_comment">// (for example, triggeringPolicy of org.apache.log4j.rolling.RollingFileAppender)</em> +<a name="140" href="#140">140</a> PropertyDescriptor prop = getPropertyDescriptor(Introspector.decapitalize(key)); +<a name="141" href="#141">141</a> <strong class="jxr_keyword">if</strong> (prop != <strong class="jxr_keyword">null</strong> +<a name="142" href="#142">142</a> &amp;&amp; OptionHandler.<strong class="jxr_keyword">class</strong>.isAssignableFrom(prop.getPropertyType()) +<a name="143" href="#143">143</a> &amp;&amp; prop.getWriteMethod() != <strong class="jxr_keyword">null</strong>) { +<a name="144" href="#144">144</a> <a href="../../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a> opt = (OptionHandler) +<a name="145" href="#145">145</a> OptionConverter.instantiateByKey(properties, prefix + key, +<a name="146" href="#146">146</a> prop.getPropertyType(), +<a name="147" href="#147">147</a> <strong class="jxr_keyword">null</strong>); +<a name="148" href="#148">148</a> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> setter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(opt); +<a name="149" href="#149">149</a> setter.setProperties(properties, prefix + key + <span class="jxr_string">"."</span>); +<a name="150" href="#150">150</a> <strong class="jxr_keyword">try</strong> { +<a name="151" href="#151">151</a> prop.getWriteMethod().invoke(<strong class="jxr_keyword">this</strong>.obj, <strong class="jxr_keyword">new</strong> Object[] { opt }); +<a name="152" href="#152">152</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException ex) { +<a name="153" href="#153">153</a> LogLog.warn(<span class="jxr_string">"Failed to set property ["</span> + key + +<a name="154" href="#154">154</a> <span class="jxr_string">"] to value \&quot;"</span> + value + <span class="jxr_string">"\&quot;. "</span>, ex); +<a name="155" href="#155">155</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException ex) { +<a name="156" href="#156">156</a> <strong class="jxr_keyword">if</strong> (ex.getTargetException() instanceof InterruptedException +<a name="157" href="#157">157</a> || ex.getTargetException() instanceof InterruptedIOException) { +<a name="158" href="#158">158</a> Thread.currentThread().interrupt(); +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> LogLog.warn(<span class="jxr_string">"Failed to set property ["</span> + key + +<a name="161" href="#161">161</a> <span class="jxr_string">"] to value \&quot;"</span> + value + <span class="jxr_string">"\&quot;. "</span>, ex); +<a name="162" href="#162">162</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException ex) { +<a name="163" href="#163">163</a> LogLog.warn(<span class="jxr_string">"Failed to set property ["</span> + key + +<a name="164" href="#164">164</a> <span class="jxr_string">"] to value \&quot;"</span> + value + <span class="jxr_string">"\&quot;. "</span>, ex); +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> <strong class="jxr_keyword">continue</strong>; +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> setProperty(key, value); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> } +<a name="172" href="#172">172</a> activate(); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">/**</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> Set a property on this PropertySetter's Object. If successful, this</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> method will invoke a setter method on the underlying Object. The</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> setter is the one for the specified property name and the value is</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> determined partly from the setter argument type and partly from the</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> value specified in the call to this method.</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> </em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the setter expects a String no conversion is necessary.</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> If it expects an int, then an attempt is made to convert 'value'</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> to an int using new Integer(value). If the setter expects a boolean,</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> the conversion is by new Boolean(value).</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> </em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> @param name name of the property</em> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment"> @param value String value of the property</em> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment"> */</em> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">public</strong> +<a name="191" href="#191">191</a> <strong class="jxr_keyword">void</strong> setProperty(String name, String value) { +<a name="192" href="#192">192</a> <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong>; +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> name = Introspector.decapitalize(name); +<a name="195" href="#195">195</a> PropertyDescriptor prop = getPropertyDescriptor(name); +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em class="jxr_comment">//LogLog.debug("---------Key: "+name+", type="+prop.getPropertyType());</em> +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> <strong class="jxr_keyword">if</strong> (prop == <strong class="jxr_keyword">null</strong>) { +<a name="200" href="#200">200</a> LogLog.warn(<span class="jxr_string">"No such property ["</span> + name + <span class="jxr_string">"] in "</span>+ +<a name="201" href="#201">201</a> obj.getClass().getName()+<span class="jxr_string">"."</span> ); +<a name="202" href="#202">202</a> } <strong class="jxr_keyword">else</strong> { +<a name="203" href="#203">203</a> <strong class="jxr_keyword">try</strong> { +<a name="204" href="#204">204</a> setProperty(prop, name, value); +<a name="205" href="#205">205</a> } <strong class="jxr_keyword">catch</strong> (PropertySetterException ex) { +<a name="206" href="#206">206</a> LogLog.warn(<span class="jxr_string">"Failed to set property ["</span> + name + +<a name="207" href="#207">207</a> <span class="jxr_string">"] to value \&quot;"</span> + value + <span class="jxr_string">"\&quot;. "</span>, ex.rootCause); +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> Set the named property given a {@link PropertyDescriptor}.</em> +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> @param prop A PropertyDescriptor describing the characteristics</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> of the property to set.</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> @param name The named of the property to set.</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> @param value The value of the property. </em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> */</em> +<a name="220" href="#220">220</a> <strong class="jxr_keyword">public</strong> +<a name="221" href="#221">221</a> <strong class="jxr_keyword">void</strong> setProperty(PropertyDescriptor prop, String name, String value) +<a name="222" href="#222">222</a> <strong class="jxr_keyword">throws</strong> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a> { +<a name="223" href="#223">223</a> Method setter = prop.getWriteMethod(); +<a name="224" href="#224">224</a> <strong class="jxr_keyword">if</strong> (setter == <strong class="jxr_keyword">null</strong>) { +<a name="225" href="#225">225</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a>(<span class="jxr_string">"No setter for property ["</span>+name+<span class="jxr_string">"]."</span>); +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> Class[] paramTypes = setter.getParameterTypes(); +<a name="228" href="#228">228</a> <strong class="jxr_keyword">if</strong> (paramTypes.length != 1) { +<a name="229" href="#229">229</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a>(<span class="jxr_string">"#params for setter != 1"</span>); +<a name="230" href="#230">230</a> } +<a name="231" href="#231">231</a> +<a name="232" href="#232">232</a> Object arg; +<a name="233" href="#233">233</a> <strong class="jxr_keyword">try</strong> { +<a name="234" href="#234">234</a> arg = convertArg(value, paramTypes[0]); +<a name="235" href="#235">235</a> } <strong class="jxr_keyword">catch</strong> (Throwable t) { +<a name="236" href="#236">236</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a>(<span class="jxr_string">"Conversion to type ["</span>+paramTypes[0]+ +<a name="237" href="#237">237</a> <span class="jxr_string">"] failed. Reason: "</span>+t); +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> <strong class="jxr_keyword">if</strong> (arg == <strong class="jxr_keyword">null</strong>) { +<a name="240" href="#240">240</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a>( +<a name="241" href="#241">241</a> <span class="jxr_string">"Conversion to type ["</span>+paramTypes[0]+<span class="jxr_string">"] failed."</span>); +<a name="242" href="#242">242</a> } +<a name="243" href="#243">243</a> LogLog.debug(<span class="jxr_string">"Setting property ["</span> + name + <span class="jxr_string">"] to ["</span> +arg+<span class="jxr_string">"]."</span>); +<a name="244" href="#244">244</a> <strong class="jxr_keyword">try</strong> { +<a name="245" href="#245">245</a> setter.invoke(obj, <strong class="jxr_keyword">new</strong> Object[] { arg }); +<a name="246" href="#246">246</a> } <strong class="jxr_keyword">catch</strong> (IllegalAccessException ex) { +<a name="247" href="#247">247</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a>(ex); +<a name="248" href="#248">248</a> } <strong class="jxr_keyword">catch</strong> (InvocationTargetException ex) { +<a name="249" href="#249">249</a> <strong class="jxr_keyword">if</strong> (ex.getTargetException() instanceof InterruptedException +<a name="250" href="#250">250</a> || ex.getTargetException() instanceof InterruptedIOException) { +<a name="251" href="#251">251</a> Thread.currentThread().interrupt(); +<a name="252" href="#252">252</a> } +<a name="253" href="#253">253</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a>(ex); +<a name="254" href="#254">254</a> } <strong class="jxr_keyword">catch</strong> (RuntimeException ex) { +<a name="255" href="#255">255</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a>(ex); +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment">/**</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> Convert &lt;code&gt;val&lt;/code&gt; a String parameter to an object of a</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> given type.</em> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> */</em> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">protected</strong> +<a name="265" href="#265">265</a> Object convertArg(String val, Class type) { +<a name="266" href="#266">266</a> <strong class="jxr_keyword">if</strong>(val == <strong class="jxr_keyword">null</strong>) +<a name="267" href="#267">267</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="268" href="#268">268</a> +<a name="269" href="#269">269</a> String v = val.trim(); +<a name="270" href="#270">270</a> <strong class="jxr_keyword">if</strong> (String.<strong class="jxr_keyword">class</strong>.isAssignableFrom(type)) { +<a name="271" href="#271">271</a> <strong class="jxr_keyword">return</strong> val; +<a name="272" href="#272">272</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (Integer.TYPE.isAssignableFrom(type)) { +<a name="273" href="#273">273</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Integer(v); +<a name="274" href="#274">274</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (Long.TYPE.isAssignableFrom(type)) { +<a name="275" href="#275">275</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Long(v); +<a name="276" href="#276">276</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (Boolean.TYPE.isAssignableFrom(type)) { +<a name="277" href="#277">277</a> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"true"</span>.equalsIgnoreCase(v)) { +<a name="278" href="#278">278</a> <strong class="jxr_keyword">return</strong> Boolean.TRUE; +<a name="279" href="#279">279</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"false"</span>.equalsIgnoreCase(v)) { +<a name="280" href="#280">280</a> <strong class="jxr_keyword">return</strong> Boolean.FALSE; +<a name="281" href="#281">281</a> } +<a name="282" href="#282">282</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (Priority.<strong class="jxr_keyword">class</strong>.isAssignableFrom(type)) { +<a name="283" href="#283">283</a> <strong class="jxr_keyword">return</strong> OptionConverter.toLevel(v, (Level) Level.DEBUG); +<a name="284" href="#284">284</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (ErrorHandler.<strong class="jxr_keyword">class</strong>.isAssignableFrom(type)) { +<a name="285" href="#285">285</a> <strong class="jxr_keyword">return</strong> OptionConverter.instantiateByClassName(v, +<a name="286" href="#286">286</a> ErrorHandler.<strong class="jxr_keyword">class</strong>, <strong class="jxr_keyword">null</strong>); +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="289" href="#289">289</a> } +<a name="290" href="#290">290</a> +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> <strong class="jxr_keyword">protected</strong> +<a name="293" href="#293">293</a> PropertyDescriptor getPropertyDescriptor(String name) { +<a name="294" href="#294">294</a> <strong class="jxr_keyword">if</strong> (props == <strong class="jxr_keyword">null</strong>) introspect(); +<a name="295" href="#295">295</a> +<a name="296" href="#296">296</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; props.length; i++) { +<a name="297" href="#297">297</a> <strong class="jxr_keyword">if</strong> (name.equals(props[i].getName())) { +<a name="298" href="#298">298</a> <strong class="jxr_keyword">return</strong> props[i]; +<a name="299" href="#299">299</a> } +<a name="300" href="#300">300</a> } +<a name="301" href="#301">301</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="302" href="#302">302</a> } +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <strong class="jxr_keyword">public</strong> +<a name="305" href="#305">305</a> <strong class="jxr_keyword">void</strong> activate() { +<a name="306" href="#306">306</a> <strong class="jxr_keyword">if</strong> (obj instanceof OptionHandler) { +<a name="307" href="#307">307</a> ((<a href="../../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a>) obj).activateOptions(); +<a name="308" href="#308">308</a> } +<a name="309" href="#309">309</a> } +<a name="310" href="#310">310</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertySetterException.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertySetterException.html new file mode 100644 index 00000000000..46a04f07ed0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/PropertySetterException.html @@ -0,0 +1,68 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PropertySetterException xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/config/PropertySetterException.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.config; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * Thrown when an error is encountered whilst attempting to set a property</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * using the {@link PropertySetter} utility class.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * </em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * @author Anders Kristensen</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * @since 1.1</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a> <strong class="jxr_keyword">extends</strong> Exception { +<a name="28" href="#28">28</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -1352613734254235861L; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">protected</strong> Throwable rootCause; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> +<a name="32" href="#32">32</a> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a>(String msg) { +<a name="33" href="#33">33</a> <strong class="jxr_keyword">super</strong>(msg); +<a name="34" href="#34">34</a> } +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> +<a name="37" href="#37">37</a> <a href="../../../../org/apache/log4j/config/PropertySetterException.html">PropertySetterException</a>(Throwable rootCause) +<a name="38" href="#38">38</a> { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">super</strong>(); +<a name="40" href="#40">40</a> <strong class="jxr_keyword">this</strong>.rootCause = rootCause; +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> Returns descriptive text on the cause of this exception.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> +<a name="47" href="#47">47</a> String getMessage() { +<a name="48" href="#48">48</a> String msg = <strong class="jxr_keyword">super</strong>.getMessage(); +<a name="49" href="#49">49</a> <strong class="jxr_keyword">if</strong> (msg == <strong class="jxr_keyword">null</strong> &amp;&amp; rootCause != <strong class="jxr_keyword">null</strong>) { +<a name="50" href="#50">50</a> msg = rootCause.getMessage(); +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> <strong class="jxr_keyword">return</strong> msg; +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/package-frame.html new file mode 100644 index 00000000000..e7e224120e5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/package-frame.html @@ -0,0 +1,36 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.config</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.config</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="PropertyGetter.html" target="classFrame">PropertyCallback</a> + </li> + <li> + <a href="PropertyGetter.html" target="classFrame">PropertyGetter</a> + </li> + <li> + <a href="PropertyPrinter.html" target="classFrame">PropertyPrinter</a> + </li> + <li> + <a href="PropertySetter.html" target="classFrame">PropertySetter</a> + </li> + <li> + <a href="PropertySetterException.html" target="classFrame">PropertySetterException</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/package-summary.html new file mode 100644 index 00000000000..1cafcf98918 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/config/package-summary.html @@ -0,0 +1,87 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.config</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.config</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="PropertyGetter.html" target="classFrame">PropertyCallback</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyGetter.html" target="classFrame">PropertyGetter</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyPrinter.html" target="classFrame">PropertyPrinter</a> + </td> + </tr> + <tr> + <td> + <a href="PropertySetter.html" target="classFrame">PropertySetter</a> + </td> + </tr> + <tr> + <td> + <a href="PropertySetterException.html" target="classFrame">PropertySetterException</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/AbsoluteTimeDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/AbsoluteTimeDateFormat.html new file mode 100644 index 00000000000..b94a3d6aa8f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/AbsoluteTimeDateFormat.html @@ -0,0 +1,159 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AbsoluteTimeDateFormat xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/AbsoluteTimeDateFormat.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.Calendar; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.text.FieldPosition; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.text.ParsePosition; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> Formats a {@link Date} in the format "HH:mm:ss,SSS" for example,</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> "15:49:37,459".</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> </em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> @author Andrew Vajoczki </em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @since 0.7.5</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">*/</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html">AbsoluteTimeDateFormat</a> <strong class="jxr_keyword">extends</strong> DateFormat { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -388856345976723342L; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> String constant used to specify {@link</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> org.apache.log4j.helpers.AbsoluteTimeDateFormat} in layouts. Current</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> value is &lt;b&gt;ABSOLUTE&lt;/b&gt;. */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> String ABS_TIME_DATE_FORMAT = <span class="jxr_string">"ABSOLUTE"</span>; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> String constant used to specify {@link</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> org.apache.log4j.helpers.DateTimeDateFormat} in layouts. Current</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> value is &lt;b&gt;DATE&lt;/b&gt;.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> */</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> String DATE_AND_TIME_DATE_FORMAT = <span class="jxr_string">"DATE"</span>; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> String constant used to specify {@link</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> org.apache.log4j.helpers.ISO8601DateFormat} in layouts. Current</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> value is &lt;b&gt;ISO8601&lt;/b&gt;.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> String ISO8601_DATE_FORMAT = <span class="jxr_string">"ISO8601"</span>; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> +<a name="61" href="#61">61</a> <a href="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html">AbsoluteTimeDateFormat</a>() { +<a name="62" href="#62">62</a> setCalendar(Calendar.getInstance()); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> +<a name="66" href="#66">66</a> <a href="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html">AbsoluteTimeDateFormat</a>(TimeZone timeZone) { +<a name="67" href="#67">67</a> setCalendar(Calendar.getInstance(timeZone)); +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">long</strong> previousTime; +<a name="71" href="#71">71</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">char</strong>[] previousTimeWithoutMillis = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[9]; <em class="jxr_comment">// "HH:mm:ss."</em> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> Appends to &lt;code&gt;sbuf&lt;/code&gt; the time in the format</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> "HH:mm:ss,SSS" for example, "15:49:37,459"</em> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> @param date the date to format</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> @param sbuf the string buffer to write to</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> @param fieldPosition remains untouched</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> */</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">public</strong> +<a name="82" href="#82">82</a> StringBuffer format(Date date, StringBuffer sbuf, +<a name="83" href="#83">83</a> FieldPosition fieldPosition) { +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">long</strong> now = date.getTime(); +<a name="86" href="#86">86</a> <strong class="jxr_keyword">int</strong> millis = (<strong class="jxr_keyword">int</strong>)(now % 1000); +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">if</strong> ((now - millis) != previousTime || previousTimeWithoutMillis[0] == 0) { +<a name="89" href="#89">89</a> <em class="jxr_comment">// We reach this point at most once per second</em> +<a name="90" href="#90">90</a> <em class="jxr_comment">// across all threads instead of each time format()</em> +<a name="91" href="#91">91</a> <em class="jxr_comment">// is called. This saves considerable CPU time.</em> +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> calendar.setTime(date); +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">int</strong> start = sbuf.length(); +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">int</strong> hour = calendar.get(Calendar.HOUR_OF_DAY); +<a name="98" href="#98">98</a> <strong class="jxr_keyword">if</strong>(hour &lt; 10) { +<a name="99" href="#99">99</a> sbuf.append('0'); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> sbuf.append(hour); +<a name="102" href="#102">102</a> sbuf.append(':'); +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">int</strong> mins = calendar.get(Calendar.MINUTE); +<a name="105" href="#105">105</a> <strong class="jxr_keyword">if</strong>(mins &lt; 10) { +<a name="106" href="#106">106</a> sbuf.append('0'); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> sbuf.append(mins); +<a name="109" href="#109">109</a> sbuf.append(':'); +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">int</strong> secs = calendar.get(Calendar.SECOND); +<a name="112" href="#112">112</a> <strong class="jxr_keyword">if</strong>(secs &lt; 10) { +<a name="113" href="#113">113</a> sbuf.append('0'); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> sbuf.append(secs); +<a name="116" href="#116">116</a> sbuf.append(','); +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_comment">// store the time string for next time to avoid recomputation</em> +<a name="119" href="#119">119</a> sbuf.getChars(start, sbuf.length(), previousTimeWithoutMillis, 0); +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> previousTime = now - millis; +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> <strong class="jxr_keyword">else</strong> { +<a name="124" href="#124">124</a> sbuf.append(previousTimeWithoutMillis); +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">if</strong>(millis &lt; 100) +<a name="130" href="#130">130</a> sbuf.append('0'); +<a name="131" href="#131">131</a> <strong class="jxr_keyword">if</strong>(millis &lt; 10) +<a name="132" href="#132">132</a> sbuf.append('0'); +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> sbuf.append(millis); +<a name="135" href="#135">135</a> <strong class="jxr_keyword">return</strong> sbuf; +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment">/**</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> This method does not do anything but return &lt;code&gt;null&lt;/code&gt;.</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> */</em> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">public</strong> +<a name="142" href="#142">142</a> Date parse(String s, ParsePosition pos) { +<a name="143" href="#143">143</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/AppenderAttachableImpl.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/AppenderAttachableImpl.html new file mode 100644 index 00000000000..c27afc15fe7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/AppenderAttachableImpl.html @@ -0,0 +1,190 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AppenderAttachableImpl xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/AppenderAttachableImpl.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.AppenderAttachable; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> A straightforward implementation of the {@link AppenderAttachable}</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> interface.</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> @since version 0.9.1 */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/AppenderAttachableImpl.html">AppenderAttachableImpl</a> implements <a href="../../../../org/apache/log4j/spi/AppenderAttachable.html">AppenderAttachable</a> { +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Array of appenders. */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">protected</strong> Vector appenderList; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> Attach an appender. If the appender is already in the list in</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> won't be added again.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">void</strong> addAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> newAppender) { +<a name="44" href="#44">44</a> <em class="jxr_comment">// Null values for newAppender parameter are strictly forbidden.</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">if</strong>(newAppender == <strong class="jxr_keyword">null</strong>) +<a name="46" href="#46">46</a> <strong class="jxr_keyword">return</strong>; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">if</strong>(appenderList == <strong class="jxr_keyword">null</strong>) { +<a name="49" href="#49">49</a> appenderList = <strong class="jxr_keyword">new</strong> Vector(1); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> <strong class="jxr_keyword">if</strong>(!appenderList.contains(newAppender)) +<a name="52" href="#52">52</a> appenderList.addElement(newAppender); +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> Call the &lt;code&gt;doAppend&lt;/code&gt; method on all attached appenders. */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">int</strong> appendLoopOnAppenders(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">int</strong> size = 0; +<a name="60" href="#60">60</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender; +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">if</strong>(appenderList != <strong class="jxr_keyword">null</strong>) { +<a name="63" href="#63">63</a> size = appenderList.size(); +<a name="64" href="#64">64</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size; i++) { +<a name="65" href="#65">65</a> appender = (Appender) appenderList.elementAt(i); +<a name="66" href="#66">66</a> appender.doAppend(event); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> <strong class="jxr_keyword">return</strong> size; +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> Get all attached appenders as an Enumeration. If there are no</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> attached appenders &lt;code&gt;null&lt;/code&gt; is returned.</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> </em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> @return Enumeration An enumeration of attached appenders.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> */</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> +<a name="80" href="#80">80</a> Enumeration getAllAppenders() { +<a name="81" href="#81">81</a> <strong class="jxr_keyword">if</strong>(appenderList == <strong class="jxr_keyword">null</strong>) +<a name="82" href="#82">82</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="83" href="#83">83</a> <strong class="jxr_keyword">else</strong> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">return</strong> appenderList.elements(); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> Look for an attached appender named as &lt;code&gt;name&lt;/code&gt;.</em> +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> &lt;p&gt;Return the appender with that name if in the list. Return null</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> otherwise. </em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> </em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">public</strong> +<a name="95" href="#95">95</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> getAppender(String name) { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">if</strong>(appenderList == <strong class="jxr_keyword">null</strong> || name == <strong class="jxr_keyword">null</strong>) +<a name="97" href="#97">97</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">int</strong> size = appenderList.size(); +<a name="100" href="#100">100</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender; +<a name="101" href="#101">101</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size; i++) { +<a name="102" href="#102">102</a> appender = (Appender) appenderList.elementAt(i); +<a name="103" href="#103">103</a> <strong class="jxr_keyword">if</strong>(name.equals(appender.getName())) +<a name="104" href="#104">104</a> <strong class="jxr_keyword">return</strong> appender; +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">/**</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> Returns &lt;code&gt;true&lt;/code&gt; if the specified appender is in the</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> list of attached appenders, &lt;code&gt;false&lt;/code&gt; otherwise.</em> +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">public</strong> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">boolean</strong> isAttached(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="117" href="#117">117</a> <strong class="jxr_keyword">if</strong>(appenderList == <strong class="jxr_keyword">null</strong> || appender == <strong class="jxr_keyword">null</strong>) +<a name="118" href="#118">118</a> <strong class="jxr_keyword">return</strong> false; +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">int</strong> size = appenderList.size(); +<a name="121" href="#121">121</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> a; +<a name="122" href="#122">122</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size; i++) { +<a name="123" href="#123">123</a> a = (Appender) appenderList.elementAt(i); +<a name="124" href="#124">124</a> <strong class="jxr_keyword">if</strong>(a == appender) +<a name="125" href="#125">125</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> <strong class="jxr_keyword">return</strong> false; +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">/**</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> * Remove and close all previously attached appenders.</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> * */</em> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">public</strong> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">void</strong> removeAllAppenders() { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">if</strong>(appenderList != <strong class="jxr_keyword">null</strong>) { +<a name="138" href="#138">138</a> <strong class="jxr_keyword">int</strong> len = appenderList.size(); +<a name="139" href="#139">139</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; len; i++) { +<a name="140" href="#140">140</a> Appender a = (Appender) appenderList.elementAt(i); +<a name="141" href="#141">141</a> a.close(); +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> appenderList.removeAllElements(); +<a name="144" href="#144">144</a> appenderList = <strong class="jxr_keyword">null</strong>; +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">/**</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> Remove the appender passed as parameter form the list of attached</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> appenders. */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">void</strong> removeAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="154" href="#154">154</a> <strong class="jxr_keyword">if</strong>(appender == <strong class="jxr_keyword">null</strong> || appenderList == <strong class="jxr_keyword">null</strong>) +<a name="155" href="#155">155</a> <strong class="jxr_keyword">return</strong>; +<a name="156" href="#156">156</a> appenderList.removeElement(appender); +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">/**</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> Remove the appender with the name passed as parameter form the</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> list of appenders. </em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> */</em> +<a name="164" href="#164">164</a> <strong class="jxr_keyword">public</strong> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">void</strong> removeAppender(String name) { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">if</strong>(name == <strong class="jxr_keyword">null</strong> || appenderList == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong>; +<a name="167" href="#167">167</a> <strong class="jxr_keyword">int</strong> size = appenderList.size(); +<a name="168" href="#168">168</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size; i++) { +<a name="169" href="#169">169</a> <strong class="jxr_keyword">if</strong>(name.equals(((Appender)appenderList.elementAt(i)).getName())) { +<a name="170" href="#170">170</a> appenderList.removeElementAt(i); +<a name="171" href="#171">171</a> <strong class="jxr_keyword">break</strong>; +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/BoundedFIFO.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/BoundedFIFO.html new file mode 100644 index 00000000000..d18e27d2b0f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/BoundedFIFO.html @@ -0,0 +1,195 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>BoundedFIFO xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/BoundedFIFO.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contributors: Mathias Bogaert</em> +<a name="19" href="#19">19</a> <em class="jxr_comment">// joelr@viair.com</em> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> &lt;code&gt;BoundedFIFO&lt;/code&gt; serves as the bounded first-in-first-out</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> buffer heavily used by the {@link org.apache.log4j.AsyncAppender}.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> </em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml; </em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @since version 0.9.1 */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/BoundedFIFO.html">BoundedFIFO</a> { +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>[] buf; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">int</strong> numElements = 0; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">int</strong> first = 0; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">int</strong> next = 0; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">int</strong> maxSize; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> Instantiate a new BoundedFIFO with a maximum size passed as argument.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> +<a name="43" href="#43">43</a> <a href="../../../../org/apache/log4j/helpers/BoundedFIFO.html">BoundedFIFO</a>(<strong class="jxr_keyword">int</strong> maxSize) { +<a name="44" href="#44">44</a> <strong class="jxr_keyword">if</strong>(maxSize &lt; 1) { +<a name="45" href="#45">45</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"The maxSize argument ("</span>+maxSize+ +<a name="46" href="#46">46</a> <span class="jxr_string">") is not a positive integer."</span>); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> <strong class="jxr_keyword">this</strong>.maxSize = maxSize; +<a name="49" href="#49">49</a> buf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>[maxSize]; +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> Get the first element in the buffer. Returns &lt;code&gt;null&lt;/code&gt; if</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> there are no elements in the buffer. */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> +<a name="56" href="#56">56</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> get() { +<a name="57" href="#57">57</a> <strong class="jxr_keyword">if</strong>(numElements == 0) +<a name="58" href="#58">58</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> r = buf[first]; +<a name="61" href="#61">61</a> buf[first] = <strong class="jxr_keyword">null</strong>; <em class="jxr_comment">// help garbage collection</em> +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">if</strong>(++first == maxSize) { +<a name="64" href="#64">64</a> first = 0; +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> numElements--; +<a name="67" href="#67">67</a> <strong class="jxr_keyword">return</strong> r; +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> Place a {@link LoggingEvent} in the buffer. If the buffer is full</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> then the event is &lt;b&gt;silently dropped&lt;/b&gt;. It is the caller's</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> responsability to make sure that the buffer has free space. */</em> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">void</strong> put(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> o) { +<a name="76" href="#76">76</a> <strong class="jxr_keyword">if</strong>(numElements != maxSize) { +<a name="77" href="#77">77</a> buf[next] = o; +<a name="78" href="#78">78</a> <strong class="jxr_keyword">if</strong>(++next == maxSize) { +<a name="79" href="#79">79</a> next = 0; +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> numElements++; +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment">/**</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> Get the maximum size of the buffer.</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> */</em> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">int</strong> getMaxSize() { +<a name="90" href="#90">90</a> <strong class="jxr_keyword">return</strong> maxSize; +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment">/**</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> Return &lt;code&gt;true&lt;/code&gt; if the buffer is full, that is, whether</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> the number of elements in the buffer equals the buffer size. */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">boolean</strong> isFull() { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">return</strong> numElements == maxSize; +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> Get the number of elements in the buffer. This number is</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> guaranteed to be in the range 0 to &lt;code&gt;maxSize&lt;/code&gt;</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> (inclusive).</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> */</em> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">public</strong> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">int</strong> length() { +<a name="108" href="#108">108</a> <strong class="jxr_keyword">return</strong> numElements; +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">int</strong> min(<strong class="jxr_keyword">int</strong> a, <strong class="jxr_keyword">int</strong> b) { +<a name="113" href="#113">113</a> <strong class="jxr_keyword">return</strong> a &lt; b ? a : b; +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">/**</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> Resize the buffer to a new size. If the new size is smaller than</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> the old size events might be lost.</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> </em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> @since 1.1</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> */</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">synchronized</strong> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">public</strong> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">void</strong> resize(<strong class="jxr_keyword">int</strong> newSize) { +<a name="126" href="#126">126</a> <strong class="jxr_keyword">if</strong>(newSize == maxSize) +<a name="127" href="#127">127</a> <strong class="jxr_keyword">return</strong>; +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>[] tmp = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>[newSize]; +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_comment">// we should not copy beyond the buf array</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">int</strong> len1 = maxSize - first; +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_comment">// we should not copy beyond the tmp array</em> +<a name="136" href="#136">136</a> len1 = min(len1, newSize); +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em class="jxr_comment">// er.. how much do we actually need to copy?</em> +<a name="139" href="#139">139</a> <em class="jxr_comment">// We should not copy more than the actual number of elements.</em> +<a name="140" href="#140">140</a> len1 = min(len1, numElements); +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <em class="jxr_comment">// Copy from buf starting a first, to tmp, starting at position 0, len1 elements.</em> +<a name="143" href="#143">143</a> System.arraycopy(buf, first, tmp, 0, len1); +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_comment">// Are there any uncopied elements and is there still space in the new array?</em> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">int</strong> len2 = 0; +<a name="147" href="#147">147</a> <strong class="jxr_keyword">if</strong>((len1 &lt; numElements) &amp;&amp; (len1 &lt; newSize)) { +<a name="148" href="#148">148</a> len2 = numElements - len1; +<a name="149" href="#149">149</a> len2 = min(len2, newSize - len1); +<a name="150" href="#150">150</a> System.arraycopy(buf, 0, tmp, len1, len2); +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">this</strong>.buf = tmp; +<a name="154" href="#154">154</a> <strong class="jxr_keyword">this</strong>.maxSize = newSize; +<a name="155" href="#155">155</a> <strong class="jxr_keyword">this</strong>.first=0; +<a name="156" href="#156">156</a> <strong class="jxr_keyword">this</strong>.numElements = len1+len2; +<a name="157" href="#157">157</a> <strong class="jxr_keyword">this</strong>.next = <strong class="jxr_keyword">this</strong>.numElements; +<a name="158" href="#158">158</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.next == <strong class="jxr_keyword">this</strong>.maxSize) <em class="jxr_comment">// this should never happen, but again, it just might.</em> +<a name="159" href="#159">159</a> <strong class="jxr_keyword">this</strong>.next = 0; +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment">/**</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> Returns &lt;code&gt;true&lt;/code&gt; if there is just one element in the</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> buffer. In other words, if there were no elements before the last</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> {@link #put} operation completed. */</em> +<a name="167" href="#167">167</a> <strong class="jxr_keyword">public</strong> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">boolean</strong> wasEmpty() { +<a name="169" href="#169">169</a> <strong class="jxr_keyword">return</strong> numElements == 1; +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">/**</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> Returns &lt;code&gt;true&lt;/code&gt; if the number of elements in the</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> buffer plus 1 equals the maximum buffer size, returns</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> &lt;code&gt;false&lt;/code&gt; otherwise. */</em> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">public</strong> +<a name="177" href="#177">177</a> <strong class="jxr_keyword">boolean</strong> wasFull() { +<a name="178" href="#178">178</a> <strong class="jxr_keyword">return</strong> (numElements+1 == maxSize); +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/CountingQuietWriter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/CountingQuietWriter.html new file mode 100644 index 00000000000..c9fecb936ad --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/CountingQuietWriter.html @@ -0,0 +1,77 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CountingQuietWriter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/CountingQuietWriter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.Writer; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorCode; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> Counts the number of bytes written.</em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> @author Heinz Richter, heinz.richter@frogdot.com</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @since 0.8.1</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/CountingQuietWriter.html">CountingQuietWriter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/QuietWriter.html">QuietWriter</a> { +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> count; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> +<a name="38" href="#38">38</a> <a href="../../../../org/apache/log4j/helpers/CountingQuietWriter.html">CountingQuietWriter</a>(Writer writer, <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> eh) { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">super</strong>(writer, eh); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">void</strong> write(String string) { +<a name="44" href="#44">44</a> <strong class="jxr_keyword">try</strong> { +<a name="45" href="#45">45</a> out.write(string); +<a name="46" href="#46">46</a> count += string.length(); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="49" href="#49">49</a> errorHandler.error(<span class="jxr_string">"Write failure."</span>, e, ErrorCode.WRITE_FAILURE); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">long</strong> getCount() { +<a name="55" href="#55">55</a> <strong class="jxr_keyword">return</strong> count; +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">void</strong> setCount(<strong class="jxr_keyword">long</strong> count) { +<a name="60" href="#60">60</a> <strong class="jxr_keyword">this</strong>.count = count; +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/CyclicBuffer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/CyclicBuffer.html new file mode 100644 index 00000000000..dc9ec5afbc3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/CyclicBuffer.html @@ -0,0 +1,173 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CyclicBuffer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/CyclicBuffer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> CyclicBuffer is used by other appenders to hold {@link LoggingEvent</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> LoggingEvents} for immediate or differed display.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> </em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> &lt;p&gt;This buffer gives read access to any element in the buffer not</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> just the first or last element.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBuffer.html">CyclicBuffer</a> { +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>[] ea; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">int</strong> first; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">int</strong> last; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">int</strong> numElems; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">int</strong> maxSize; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> Instantiate a new CyclicBuffer of at most &lt;code&gt;maxSize&lt;/code&gt; events.</em> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> The &lt;code&gt;maxSize&lt;/code&gt; argument must a positive integer.</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> @param maxSize The maximum number of elements in the buffer.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBuffer.html">CyclicBuffer</a>(<strong class="jxr_keyword">int</strong> maxSize) <strong class="jxr_keyword">throws</strong> IllegalArgumentException { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">if</strong>(maxSize &lt; 1) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"The maxSize argument ("</span>+maxSize+ +<a name="52" href="#52">52</a> <span class="jxr_string">") is not a positive integer."</span>); +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> <strong class="jxr_keyword">this</strong>.maxSize = maxSize; +<a name="55" href="#55">55</a> ea = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>[maxSize]; +<a name="56" href="#56">56</a> first = 0; +<a name="57" href="#57">57</a> last = 0; +<a name="58" href="#58">58</a> numElems = 0; +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> Add an &lt;code&gt;event&lt;/code&gt; as the last event in the buffer.</em> +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">void</strong> add(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="67" href="#67">67</a> ea[last] = event; +<a name="68" href="#68">68</a> <strong class="jxr_keyword">if</strong>(++last == maxSize) +<a name="69" href="#69">69</a> last = 0; +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">if</strong>(numElems &lt; maxSize) +<a name="72" href="#72">72</a> numElems++; +<a name="73" href="#73">73</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(++first == maxSize) +<a name="74" href="#74">74</a> first = 0; +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> Get the &lt;i&gt;i&lt;/i&gt;th oldest event currently in the buffer. If</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> &lt;em&gt;i&lt;/em&gt; is outside the range 0 to the number of elements</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> currently in the buffer, then &lt;code&gt;null&lt;/code&gt; is returned.</em> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> +<a name="86" href="#86">86</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> get(<strong class="jxr_keyword">int</strong> i) { +<a name="87" href="#87">87</a> <strong class="jxr_keyword">if</strong>(i &lt; 0 || i &gt;= numElems) +<a name="88" href="#88">88</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">return</strong> ea[(first + i) % maxSize]; +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">int</strong> getMaxSize() { +<a name="95" href="#95">95</a> <strong class="jxr_keyword">return</strong> maxSize; +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment">/**</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> Get the oldest (first) element in the buffer. The oldest element</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> is removed from the buffer.</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> +<a name="103" href="#103">103</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> get() { +<a name="104" href="#104">104</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> r = <strong class="jxr_keyword">null</strong>; +<a name="105" href="#105">105</a> <strong class="jxr_keyword">if</strong>(numElems &gt; 0) { +<a name="106" href="#106">106</a> numElems--; +<a name="107" href="#107">107</a> r = ea[first]; +<a name="108" href="#108">108</a> ea[first] = <strong class="jxr_keyword">null</strong>; +<a name="109" href="#109">109</a> <strong class="jxr_keyword">if</strong>(++first == maxSize) +<a name="110" href="#110">110</a> first = 0; +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> <strong class="jxr_keyword">return</strong> r; +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> Get the number of elements in the buffer. This number is</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> guaranteed to be in the range 0 to &lt;code&gt;maxSize&lt;/code&gt;</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> (inclusive).</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> */</em> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">public</strong> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">int</strong> length() { +<a name="122" href="#122">122</a> <strong class="jxr_keyword">return</strong> numElems; +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">/**</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> Resize the cyclic buffer to &lt;code&gt;newSize&lt;/code&gt;.</em> +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> @throws IllegalArgumentException if &lt;code&gt;newSize&lt;/code&gt; is negative.</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> */</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">void</strong> resize(<strong class="jxr_keyword">int</strong> newSize) { +<a name="132" href="#132">132</a> <strong class="jxr_keyword">if</strong>(newSize &lt; 0) { +<a name="133" href="#133">133</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Negative array size ["</span>+newSize+ +<a name="134" href="#134">134</a> <span class="jxr_string">"] not allowed."</span>); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> <strong class="jxr_keyword">if</strong>(newSize == numElems) +<a name="137" href="#137">137</a> <strong class="jxr_keyword">return</strong>; <em class="jxr_comment">// nothing to do</em> +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>[] temp = <strong class="jxr_keyword">new</strong> LoggingEvent[newSize]; +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">int</strong> loopLen = newSize &lt; numElems ? newSize : numElems; +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; loopLen; i++) { +<a name="144" href="#144">144</a> temp[i] = ea[first]; +<a name="145" href="#145">145</a> ea[first] = <strong class="jxr_keyword">null</strong>; +<a name="146" href="#146">146</a> <strong class="jxr_keyword">if</strong>(++first == numElems) +<a name="147" href="#147">147</a> first = 0; +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> ea = temp; +<a name="150" href="#150">150</a> first = 0; +<a name="151" href="#151">151</a> numElems = loopLen; +<a name="152" href="#152">152</a> maxSize = newSize; +<a name="153" href="#153">153</a> <strong class="jxr_keyword">if</strong> (loopLen == newSize) { +<a name="154" href="#154">154</a> last = 0; +<a name="155" href="#155">155</a> } <strong class="jxr_keyword">else</strong> { +<a name="156" href="#156">156</a> last = loopLen; +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/DateLayout.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/DateLayout.html new file mode 100644 index 00000000000..0e67b7150eb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/DateLayout.html @@ -0,0 +1,214 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DateLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/DateLayout.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.text.FieldPosition; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> This abstract layout takes care of all the date related options and</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> formatting work.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> </em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/DateLayout.html">DateLayout</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/Layout.html">Layout</a> { +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> String constant designating no time information. Current value of</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> this constant is &lt;b&gt;NULL&lt;/b&gt;.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> </em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> String NULL_DATE_FORMAT = <span class="jxr_string">"NULL"</span>; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> String constant designating relative time. Current value of</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> this constant is &lt;b&gt;RELATIVE&lt;/b&gt;.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> String RELATIVE_TIME_DATE_FORMAT = <span class="jxr_string">"RELATIVE"</span>; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">protected</strong> FieldPosition pos = <strong class="jxr_keyword">new</strong> FieldPosition(0); +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> @deprecated Options are now handled using the JavaBeans paradigm.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> This constant is not longer needed and will be removed in the</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> &lt;em&gt;near&lt;/em&gt; term.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> String DATE_FORMAT_OPTION = <span class="jxr_string">"DateFormat"</span>; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> @deprecated Options are now handled using the JavaBeans paradigm.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> This constant is not longer needed and will be removed in the</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> &lt;em&gt;near&lt;/em&gt; term.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> String TIMEZONE_OPTION = <span class="jxr_string">"TimeZone"</span>; +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">private</strong> String timeZoneID; +<a name="68" href="#68">68</a> <strong class="jxr_keyword">private</strong> String dateFormatOption; +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">protected</strong> DateFormat dateFormat; +<a name="71" href="#71">71</a> <strong class="jxr_keyword">protected</strong> Date date = <strong class="jxr_keyword">new</strong> Date(); +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> @deprecated Use the setter method for the option directly instead</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> of the generic &lt;code&gt;setOption&lt;/code&gt; method. </em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> */</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">public</strong> +<a name="78" href="#78">78</a> String[] getOptionStrings() { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> String[] {DATE_FORMAT_OPTION, TIMEZONE_OPTION}; +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> @deprecated Use the setter method for the option directly instead</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> of the generic &lt;code&gt;setOption&lt;/code&gt; method. </em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">void</strong> setOption(String option, String value) { +<a name="88" href="#88">88</a> <strong class="jxr_keyword">if</strong>(option.equalsIgnoreCase(DATE_FORMAT_OPTION)) { +<a name="89" href="#89">89</a> dateFormatOption = value.toUpperCase(); +<a name="90" href="#90">90</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(option.equalsIgnoreCase(TIMEZONE_OPTION)) { +<a name="91" href="#91">91</a> timeZoneID = value; +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment">/**</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> The value of the &lt;b&gt;DateFormat&lt;/b&gt; option should be either an</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> argument to the constructor of {@link SimpleDateFormat} or one of</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> the srings "NULL", "RELATIVE", "ABSOLUTE", "DATE" or "ISO8601.</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> */</em> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">public</strong> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">void</strong> setDateFormat(String dateFormat) { +<a name="103" href="#103">103</a> <strong class="jxr_keyword">if</strong> (dateFormat != <strong class="jxr_keyword">null</strong>) { +<a name="104" href="#104">104</a> dateFormatOption = dateFormat; +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> setDateFormat(dateFormatOption, TimeZone.getDefault()); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">/**</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;DateFormat&lt;/b&gt; option.</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">public</strong> +<a name="113" href="#113">113</a> String getDateFormat() { +<a name="114" href="#114">114</a> <strong class="jxr_keyword">return</strong> dateFormatOption; +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">/**</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> The &lt;b&gt;TimeZoneID&lt;/b&gt; option is a time zone ID string in the format</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> expected by the {@link TimeZone#getTimeZone} method.</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> */</em> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">public</strong> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">void</strong> setTimeZone(String timeZone) { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">this</strong>.timeZoneID = timeZone; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;TimeZone&lt;/b&gt; option.</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> */</em> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> +<a name="130" href="#130">130</a> String getTimeZone() { +<a name="131" href="#131">131</a> <strong class="jxr_keyword">return</strong> timeZoneID; +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">public</strong> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="136" href="#136">136</a> setDateFormat(dateFormatOption); +<a name="137" href="#137">137</a> <strong class="jxr_keyword">if</strong>(timeZoneID != <strong class="jxr_keyword">null</strong> &amp;&amp; dateFormat != <strong class="jxr_keyword">null</strong>) { +<a name="138" href="#138">138</a> dateFormat.setTimeZone(TimeZone.getTimeZone(timeZoneID)); +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">public</strong> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">void</strong> dateFormat(StringBuffer buf, <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="144" href="#144">144</a> <strong class="jxr_keyword">if</strong>(dateFormat != <strong class="jxr_keyword">null</strong>) { +<a name="145" href="#145">145</a> date.setTime(event.timeStamp); +<a name="146" href="#146">146</a> dateFormat.format(date, buf, <strong class="jxr_keyword">this</strong>.pos); +<a name="147" href="#147">147</a> buf.append(' '); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">/**</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> Sets the {@link DateFormat} used to format time and date in the</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> zone determined by &lt;code&gt;timeZone&lt;/code&gt;.</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> */</em> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">public</strong> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">void</strong> setDateFormat(DateFormat dateFormat, TimeZone timeZone) { +<a name="157" href="#157">157</a> <strong class="jxr_keyword">this</strong>.dateFormat = dateFormat; +<a name="158" href="#158">158</a> <strong class="jxr_keyword">this</strong>.dateFormat.setTimeZone(timeZone); +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">/**</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> Sets the DateFormat used to format date and time in the time zone</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> determined by &lt;code&gt;timeZone&lt;/code&gt; parameter. The {@link DateFormat} used</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> will depend on the &lt;code&gt;dateFormatType&lt;/code&gt;.</em> +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> &lt;p&gt;The recognized types are {@link #NULL_DATE_FORMAT}, {@link</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> #RELATIVE_TIME_DATE_FORMAT} {@link</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> AbsoluteTimeDateFormat#ABS_TIME_DATE_FORMAT}, {@link</em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> AbsoluteTimeDateFormat#DATE_AND_TIME_DATE_FORMAT} and {@link</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> AbsoluteTimeDateFormat#ISO8601_DATE_FORMAT}. If the</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> &lt;code&gt;dateFormatType&lt;/code&gt; is not one of the above, then the</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> argument is assumed to be a date pattern for {@link</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> SimpleDateFormat}.</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> */</em> +<a name="175" href="#175">175</a> <strong class="jxr_keyword">public</strong> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">void</strong> setDateFormat(String dateFormatType, TimeZone timeZone) { +<a name="177" href="#177">177</a> <strong class="jxr_keyword">if</strong>(dateFormatType == <strong class="jxr_keyword">null</strong>) { +<a name="178" href="#178">178</a> <strong class="jxr_keyword">this</strong>.dateFormat = <strong class="jxr_keyword">null</strong>; +<a name="179" href="#179">179</a> <strong class="jxr_keyword">return</strong>; +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">if</strong>(dateFormatType.equalsIgnoreCase(NULL_DATE_FORMAT)) { +<a name="183" href="#183">183</a> <strong class="jxr_keyword">this</strong>.dateFormat = <strong class="jxr_keyword">null</strong>; +<a name="184" href="#184">184</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (dateFormatType.equalsIgnoreCase(RELATIVE_TIME_DATE_FORMAT)) { +<a name="185" href="#185">185</a> <strong class="jxr_keyword">this</strong>.dateFormat = <strong class="jxr_keyword">new</strong> RelativeTimeDateFormat(); +<a name="186" href="#186">186</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(dateFormatType.equalsIgnoreCase( +<a name="187" href="#187">187</a> AbsoluteTimeDateFormat.ABS_TIME_DATE_FORMAT)) { +<a name="188" href="#188">188</a> <strong class="jxr_keyword">this</strong>.dateFormat = <strong class="jxr_keyword">new</strong> AbsoluteTimeDateFormat(timeZone); +<a name="189" href="#189">189</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(dateFormatType.equalsIgnoreCase( +<a name="190" href="#190">190</a> AbsoluteTimeDateFormat.DATE_AND_TIME_DATE_FORMAT)) { +<a name="191" href="#191">191</a> <strong class="jxr_keyword">this</strong>.dateFormat = <strong class="jxr_keyword">new</strong> DateTimeDateFormat(timeZone); +<a name="192" href="#192">192</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(dateFormatType.equalsIgnoreCase( +<a name="193" href="#193">193</a> AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT)) { +<a name="194" href="#194">194</a> <strong class="jxr_keyword">this</strong>.dateFormat = <strong class="jxr_keyword">new</strong> ISO8601DateFormat(timeZone); +<a name="195" href="#195">195</a> } <strong class="jxr_keyword">else</strong> { +<a name="196" href="#196">196</a> <strong class="jxr_keyword">this</strong>.dateFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(dateFormatType); +<a name="197" href="#197">197</a> <strong class="jxr_keyword">this</strong>.dateFormat.setTimeZone(timeZone); +<a name="198" href="#198">198</a> } +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/DateTimeDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/DateTimeDateFormat.html new file mode 100644 index 00000000000..b05b7fc7686 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/DateTimeDateFormat.html @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DateTimeDateFormat xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/DateTimeDateFormat.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Calendar; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.text.FieldPosition; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.text.ParsePosition; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.text.DateFormatSymbols; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> Formats a {@link Date} in the format "dd MMM yyyy HH:mm:ss,SSS" for example,</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> "06 Nov 1994 15:49:37,459".</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> @since 0.7.5</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">*/</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html">DateTimeDateFormat</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html">AbsoluteTimeDateFormat</a> { +<a name="35" href="#35">35</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 5547637772208514971L; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> String[] shortMonths; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> +<a name="40" href="#40">40</a> <a href="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html">DateTimeDateFormat</a>() { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">super</strong>(); +<a name="42" href="#42">42</a> shortMonths = <strong class="jxr_keyword">new</strong> DateFormatSymbols().getShortMonths(); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> +<a name="46" href="#46">46</a> <a href="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html">DateTimeDateFormat</a>(TimeZone timeZone) { +<a name="47" href="#47">47</a> <strong class="jxr_keyword">this</strong>(); +<a name="48" href="#48">48</a> setCalendar(Calendar.getInstance(timeZone)); +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> Appends to &lt;code&gt;sbuf&lt;/code&gt; the date in the format "dd MMM yyyy</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> HH:mm:ss,SSS" for example, "06 Nov 1994 08:49:37,459".</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> @param sbuf the string buffer to write to</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> +<a name="58" href="#58">58</a> StringBuffer format(Date date, StringBuffer sbuf, +<a name="59" href="#59">59</a> FieldPosition fieldPosition) { +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> calendar.setTime(date); +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">int</strong> day = calendar.get(Calendar.DAY_OF_MONTH); +<a name="64" href="#64">64</a> <strong class="jxr_keyword">if</strong>(day &lt; 10) +<a name="65" href="#65">65</a> sbuf.append('0'); +<a name="66" href="#66">66</a> sbuf.append(day); +<a name="67" href="#67">67</a> sbuf.append(' '); +<a name="68" href="#68">68</a> sbuf.append(shortMonths[calendar.get(Calendar.MONTH)]); +<a name="69" href="#69">69</a> sbuf.append(' '); +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">int</strong> year = calendar.get(Calendar.YEAR); +<a name="72" href="#72">72</a> sbuf.append(year); +<a name="73" href="#73">73</a> sbuf.append(' '); +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.format(date, sbuf, fieldPosition); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> This method does not do anything but return &lt;code&gt;null&lt;/code&gt;.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> */</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">public</strong> +<a name="82" href="#82">82</a> Date parse(java.lang.String s, ParsePosition pos) { +<a name="83" href="#83">83</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/FileWatchdog.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/FileWatchdog.html new file mode 100644 index 00000000000..3e43b76b1f3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/FileWatchdog.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FileWatchdog xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/FileWatchdog.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contributors: Mathias Bogaert</em> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> Check every now and then that a certain file has not changed. If it</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> has, then call the {@link #doOnChange} method.</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @since version 0.9.1 */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/FileWatchdog.html">FileWatchdog</a> <strong class="jxr_keyword">extends</strong> Thread { +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> The default delay between every file modification check, set to 60</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> seconds. */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> DEFAULT_DELAY = 60000; +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> The name of the file to observe for changes.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">protected</strong> String filename; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> The delay to observe between every check. By default set {@link</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> #DEFAULT_DELAY}. */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> delay = DEFAULT_DELAY; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> File file; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">long</strong> lastModif = 0; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">boolean</strong> warnedAlready = false; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">boolean</strong> interrupted = false; +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">protected</strong> +<a name="53" href="#53">53</a> <a href="../../../../org/apache/log4j/helpers/FileWatchdog.html">FileWatchdog</a>(String filename) { +<a name="54" href="#54">54</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"FileWatchdog"</span>); +<a name="55" href="#55">55</a> <strong class="jxr_keyword">this</strong>.filename = filename; +<a name="56" href="#56">56</a> file = <strong class="jxr_keyword">new</strong> File(filename); +<a name="57" href="#57">57</a> setDaemon(<strong class="jxr_keyword">true</strong>); +<a name="58" href="#58">58</a> checkAndConfigure(); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> Set the delay to observe between each check of the file changes.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">void</strong> setDelay(<strong class="jxr_keyword">long</strong> delay) { +<a name="66" href="#66">66</a> <strong class="jxr_keyword">this</strong>.delay = delay; +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">abstract</strong> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">protected</strong> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">void</strong> doOnChange(); +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">protected</strong> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">void</strong> checkAndConfigure() { +<a name="75" href="#75">75</a> <strong class="jxr_keyword">boolean</strong> fileExists; +<a name="76" href="#76">76</a> <strong class="jxr_keyword">try</strong> { +<a name="77" href="#77">77</a> fileExists = file.exists(); +<a name="78" href="#78">78</a> } <strong class="jxr_keyword">catch</strong>(SecurityException e) { +<a name="79" href="#79">79</a> LogLog.warn(<span class="jxr_string">"Was not allowed to read check file existance, file:["</span>+ +<a name="80" href="#80">80</a> filename+<span class="jxr_string">"]."</span>); +<a name="81" href="#81">81</a> interrupted = <strong class="jxr_keyword">true</strong>; <em class="jxr_comment">// there is no point in continuing</em> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">return</strong>; +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">if</strong>(fileExists) { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">long</strong> l = file.lastModified(); <em class="jxr_comment">// this can also throw a SecurityException</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">if</strong>(l &gt; lastModif) { <em class="jxr_comment">// however, if we reached this point this</em> +<a name="88" href="#88">88</a> lastModif = l; <em class="jxr_comment">// is very unlikely.</em> +<a name="89" href="#89">89</a> doOnChange(); +<a name="90" href="#90">90</a> warnedAlready = false; +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> } <strong class="jxr_keyword">else</strong> { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">if</strong>(!warnedAlready) { +<a name="94" href="#94">94</a> LogLog.debug(<span class="jxr_string">"["</span>+filename+<span class="jxr_string">"] does not exist."</span>); +<a name="95" href="#95">95</a> warnedAlready = <strong class="jxr_keyword">true</strong>; +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">public</strong> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">void</strong> run() { +<a name="102" href="#102">102</a> <strong class="jxr_keyword">while</strong>(!interrupted) { +<a name="103" href="#103">103</a> <strong class="jxr_keyword">try</strong> { +<a name="104" href="#104">104</a> Thread.sleep(delay); +<a name="105" href="#105">105</a> } <strong class="jxr_keyword">catch</strong>(InterruptedException e) { +<a name="106" href="#106">106</a> <em class="jxr_comment">// no interruption expected</em> +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> checkAndConfigure(); +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/FormattingInfo.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/FormattingInfo.html new file mode 100644 index 00000000000..8ff6c5b05a6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/FormattingInfo.html @@ -0,0 +1,59 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FormattingInfo xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/FormattingInfo.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> FormattingInfo instances contain the information obtained when parsing</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> formatting modifiers in conversion modifiers.</em> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> @author &lt;a href=<a href="mailto:jim_cakalic@na.biomerieux.com&gt;Jim" target="alexandria_uri">mailto:jim_cakalic@na.biomerieux.com&gt;Jim</a> Cakalic&lt;/a&gt;</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> @since 0.8.2 </em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">int</strong> min = -1; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">int</strong> max = 0x7FFFFFFF; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">boolean</strong> leftAlign = false; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">void</strong> reset() { +<a name="36" href="#36">36</a> min = -1; +<a name="37" href="#37">37</a> max = 0x7FFFFFFF; +<a name="38" href="#38">38</a> leftAlign = false; +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">void</strong> dump() { +<a name="42" href="#42">42</a> LogLog.debug(<span class="jxr_string">"min="</span>+min+<span class="jxr_string">", max="</span>+max+<span class="jxr_string">", leftAlign="</span>+leftAlign); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/ISO8601DateFormat.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/ISO8601DateFormat.html new file mode 100644 index 00000000000..18d39249efc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/ISO8601DateFormat.html @@ -0,0 +1,169 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ISO8601DateFormat xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/ISO8601DateFormat.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Calendar; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.text.FieldPosition; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.text.ParsePosition; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_comment">// Contributors: Arndt Schoenewald &lt;arndt@ibm23093i821.mc.schoenewald.de&gt;</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> Formats a {@link Date} in the format "yyyy-MM-dd HH:mm:ss,SSS" for example</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> "1999-11-27 15:49:37,459".</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> &lt;p&gt;Refer to the &lt;a</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> href=<a href="http://www.cl.cam.ac.uk/~mgk25/iso-time.html&gt;summary" target="alexandria_uri">http://www.cl.cam.ac.uk/~mgk25/iso-time.html&gt;summary</a> of the</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> International Standard Date and Time Notation&lt;/a&gt; for more</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> information on this format.</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> @author Andrew Vajoczki</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> @since 0.7.5</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">*/</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> ISO8601DateFormat <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html">AbsoluteTimeDateFormat</a> { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -759840745298755296L; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> +<a name="46" href="#46">46</a> ISO8601DateFormat() { +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> +<a name="50" href="#50">50</a> ISO8601DateFormat(TimeZone timeZone) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">super</strong>(timeZone); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastTime; +<a name="55" href="#55">55</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">char</strong>[] lastTimeString = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[20]; +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> Appends a date in the format "YYYY-mm-dd HH:mm:ss,SSS"</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> to &lt;code&gt;sbuf&lt;/code&gt;. For example: "1999-11-27 15:49:37,459".</em> +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> @param sbuf the &lt;code&gt;StringBuffer&lt;/code&gt; to write to</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">public</strong> +<a name="64" href="#64">64</a> StringBuffer format(Date date, StringBuffer sbuf, +<a name="65" href="#65">65</a> FieldPosition fieldPosition) { +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">long</strong> now = date.getTime(); +<a name="68" href="#68">68</a> <strong class="jxr_keyword">int</strong> millis = (<strong class="jxr_keyword">int</strong>)(now % 1000); +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">if</strong> ((now - millis) != lastTime || lastTimeString[0] == 0) { +<a name="71" href="#71">71</a> <em class="jxr_comment">// We reach this point at most once per second</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">// across all threads instead of each time format()</em> +<a name="73" href="#73">73</a> <em class="jxr_comment">// is called. This saves considerable CPU time.</em> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> calendar.setTime(date); +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">int</strong> start = sbuf.length(); +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">int</strong> year = calendar.get(Calendar.YEAR); +<a name="80" href="#80">80</a> sbuf.append(year); +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> String month; +<a name="83" href="#83">83</a> <strong class="jxr_keyword">switch</strong>(calendar.get(Calendar.MONTH)) { +<a name="84" href="#84">84</a> <strong class="jxr_keyword">case</strong> Calendar.JANUARY: month = <span class="jxr_string">"-01-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="85" href="#85">85</a> <strong class="jxr_keyword">case</strong> Calendar.FEBRUARY: month = <span class="jxr_string">"-02-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="86" href="#86">86</a> <strong class="jxr_keyword">case</strong> Calendar.MARCH: month = <span class="jxr_string">"-03-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="87" href="#87">87</a> <strong class="jxr_keyword">case</strong> Calendar.APRIL: month = <span class="jxr_string">"-04-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="88" href="#88">88</a> <strong class="jxr_keyword">case</strong> Calendar.MAY: month = <span class="jxr_string">"-05-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="89" href="#89">89</a> <strong class="jxr_keyword">case</strong> Calendar.JUNE: month = <span class="jxr_string">"-06-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="90" href="#90">90</a> <strong class="jxr_keyword">case</strong> Calendar.JULY: month = <span class="jxr_string">"-07-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="91" href="#91">91</a> <strong class="jxr_keyword">case</strong> Calendar.AUGUST: month = <span class="jxr_string">"-08-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="92" href="#92">92</a> <strong class="jxr_keyword">case</strong> Calendar.SEPTEMBER: month = <span class="jxr_string">"-09-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="93" href="#93">93</a> <strong class="jxr_keyword">case</strong> Calendar.OCTOBER: month = <span class="jxr_string">"-10-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="94" href="#94">94</a> <strong class="jxr_keyword">case</strong> Calendar.NOVEMBER: month = <span class="jxr_string">"-11-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="95" href="#95">95</a> <strong class="jxr_keyword">case</strong> Calendar.DECEMBER: month = <span class="jxr_string">"-12-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="96" href="#96">96</a> <strong class="jxr_keyword">default</strong>: month = <span class="jxr_string">"-NA-"</span>; <strong class="jxr_keyword">break</strong>; +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> sbuf.append(month); +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">int</strong> day = calendar.get(Calendar.DAY_OF_MONTH); +<a name="101" href="#101">101</a> <strong class="jxr_keyword">if</strong>(day &lt; 10) +<a name="102" href="#102">102</a> sbuf.append('0'); +<a name="103" href="#103">103</a> sbuf.append(day); +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> sbuf.append(' '); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">int</strong> hour = calendar.get(Calendar.HOUR_OF_DAY); +<a name="108" href="#108">108</a> <strong class="jxr_keyword">if</strong>(hour &lt; 10) { +<a name="109" href="#109">109</a> sbuf.append('0'); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> sbuf.append(hour); +<a name="112" href="#112">112</a> sbuf.append(':'); +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">int</strong> mins = calendar.get(Calendar.MINUTE); +<a name="115" href="#115">115</a> <strong class="jxr_keyword">if</strong>(mins &lt; 10) { +<a name="116" href="#116">116</a> sbuf.append('0'); +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> sbuf.append(mins); +<a name="119" href="#119">119</a> sbuf.append(':'); +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">int</strong> secs = calendar.get(Calendar.SECOND); +<a name="122" href="#122">122</a> <strong class="jxr_keyword">if</strong>(secs &lt; 10) { +<a name="123" href="#123">123</a> sbuf.append('0'); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> sbuf.append(secs); +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> sbuf.append(','); +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em class="jxr_comment">// store the time string for next time to avoid recomputation</em> +<a name="130" href="#130">130</a> sbuf.getChars(start, sbuf.length(), lastTimeString, 0); +<a name="131" href="#131">131</a> lastTime = now - millis; +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> <strong class="jxr_keyword">else</strong> { +<a name="134" href="#134">134</a> sbuf.append(lastTimeString); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">if</strong> (millis &lt; 100) +<a name="139" href="#139">139</a> sbuf.append('0'); +<a name="140" href="#140">140</a> <strong class="jxr_keyword">if</strong> (millis &lt; 10) +<a name="141" href="#141">141</a> sbuf.append('0'); +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> sbuf.append(millis); +<a name="144" href="#144">144</a> <strong class="jxr_keyword">return</strong> sbuf; +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">/**</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> This method does not do anything but return &lt;code&gt;null&lt;/code&gt;.</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> */</em> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">public</strong> +<a name="151" href="#151">151</a> Date parse(java.lang.String s, ParsePosition pos) { +<a name="152" href="#152">152</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/Loader.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/Loader.html new file mode 100644 index 00000000000..cfca2b0888a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/Loader.html @@ -0,0 +1,214 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Loader xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/Loader.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> Load resources (or images) from various sources.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> </em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/Loader.html">Loader</a> { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TSTR = <span class="jxr_string">"Caught Exception while in Loader.getResource. This may be innocuous."</span>; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">// We conservatively assume that we are running under Java 1.x</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> java1 = <strong class="jxr_keyword">true</strong>; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> ignoreTCL = false; +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">static</strong> { +<a name="42" href="#42">42</a> String prop = OptionConverter.getSystemProperty(<span class="jxr_string">"java.version"</span>, <strong class="jxr_keyword">null</strong>); +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">if</strong>(prop != <strong class="jxr_keyword">null</strong>) { +<a name="45" href="#45">45</a> <strong class="jxr_keyword">int</strong> i = prop.indexOf('.'); +<a name="46" href="#46">46</a> <strong class="jxr_keyword">if</strong>(i != -1) { +<a name="47" href="#47">47</a> <strong class="jxr_keyword">if</strong>(prop.charAt(i+1) != '1') +<a name="48" href="#48">48</a> java1 = false; +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> String ignoreTCLProp = OptionConverter.getSystemProperty(<span class="jxr_string">"log4j.ignoreTCL"</span>, <strong class="jxr_keyword">null</strong>); +<a name="52" href="#52">52</a> <strong class="jxr_keyword">if</strong>(ignoreTCLProp != <strong class="jxr_keyword">null</strong>) { +<a name="53" href="#53">53</a> ignoreTCL = OptionConverter.toBoolean(ignoreTCLProp, <strong class="jxr_keyword">true</strong>); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * Get a resource by delegating to getResource(String).</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * @param resource resource name</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * @param clazz class, ignored.</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * @return URL to resource or null.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * @deprecated as of 1.2.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> URL getResource(String resource, Class clazz) { +<a name="65" href="#65">65</a> <strong class="jxr_keyword">return</strong> getResource(resource); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> This method will search for &lt;code&gt;resource&lt;/code&gt; in different</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> places. The search order is as follows:</em> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> &lt;ol&gt;</em> +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;Search for &lt;code&gt;resource&lt;/code&gt; using the thread context</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> class loader under Java2. If that fails, search for</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> &lt;code&gt;resource&lt;/code&gt; using the class loader that loaded this</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> class (&lt;code&gt;Loader&lt;/code&gt;). Under JDK 1.1, only the the class</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> loader that loaded this class (&lt;code&gt;Loader&lt;/code&gt;) is used.</em> +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;Try one last time with</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> &lt;code&gt;ClassLoader.getSystemResource(resource)&lt;/code&gt;, that is is</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> using the system class loader in JDK 1.2 and virtual machine's</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> built-in class loader in JDK 1.1.</em> +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> &lt;/ol&gt;</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> */</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> URL getResource(String resource) { +<a name="88" href="#88">88</a> ClassLoader classLoader = <strong class="jxr_keyword">null</strong>; +<a name="89" href="#89">89</a> URL url = <strong class="jxr_keyword">null</strong>; +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">try</strong> { +<a name="92" href="#92">92</a> <strong class="jxr_keyword">if</strong>(!java1 &amp;&amp; !ignoreTCL) { +<a name="93" href="#93">93</a> classLoader = getTCL(); +<a name="94" href="#94">94</a> <strong class="jxr_keyword">if</strong>(classLoader != <strong class="jxr_keyword">null</strong>) { +<a name="95" href="#95">95</a> LogLog.debug(<span class="jxr_string">"Trying to find ["</span>+resource+<span class="jxr_string">"] using context classloader "</span> +<a name="96" href="#96">96</a> +classLoader+<span class="jxr_string">"."</span>); +<a name="97" href="#97">97</a> url = classLoader.getResource(resource); +<a name="98" href="#98">98</a> <strong class="jxr_keyword">if</strong>(url != <strong class="jxr_keyword">null</strong>) { +<a name="99" href="#99">99</a> <strong class="jxr_keyword">return</strong> url; +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_comment">// We could not find resource. Ler us now try with the</em> +<a name="105" href="#105">105</a> <em class="jxr_comment">// classloader that loaded this class.</em> +<a name="106" href="#106">106</a> classLoader = Loader.<strong class="jxr_keyword">class</strong>.getClassLoader(); +<a name="107" href="#107">107</a> <strong class="jxr_keyword">if</strong>(classLoader != <strong class="jxr_keyword">null</strong>) { +<a name="108" href="#108">108</a> LogLog.debug(<span class="jxr_string">"Trying to find ["</span>+resource+<span class="jxr_string">"] using "</span>+classLoader +<a name="109" href="#109">109</a> +<span class="jxr_string">" class loader."</span>); +<a name="110" href="#110">110</a> url = classLoader.getResource(resource); +<a name="111" href="#111">111</a> <strong class="jxr_keyword">if</strong>(url != <strong class="jxr_keyword">null</strong>) { +<a name="112" href="#112">112</a> <strong class="jxr_keyword">return</strong> url; +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException t) { +<a name="116" href="#116">116</a> LogLog.warn(TSTR, t); +<a name="117" href="#117">117</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException t) { +<a name="118" href="#118">118</a> <strong class="jxr_keyword">if</strong> (t.getTargetException() instanceof InterruptedException +<a name="119" href="#119">119</a> || t.getTargetException() instanceof InterruptedIOException) { +<a name="120" href="#120">120</a> Thread.currentThread().interrupt(); +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> LogLog.warn(TSTR, t); +<a name="123" href="#123">123</a> } <strong class="jxr_keyword">catch</strong>(Throwable t) { +<a name="124" href="#124">124</a> <em class="jxr_comment">//</em> +<a name="125" href="#125">125</a> <em class="jxr_comment">// can't be InterruptedException or InterruptedIOException</em> +<a name="126" href="#126">126</a> <em class="jxr_comment">// since not declared, must be error or RuntimeError.</em> +<a name="127" href="#127">127</a> LogLog.warn(TSTR, t); +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <em class="jxr_comment">// Last ditch attempt: get the resource from the class path. It</em> +<a name="131" href="#131">131</a> <em class="jxr_comment">// may be the case that clazz was loaded by the Extentsion class</em> +<a name="132" href="#132">132</a> <em class="jxr_comment">// loader which the parent of the system class loader. Hence the</em> +<a name="133" href="#133">133</a> <em class="jxr_comment">// code below.</em> +<a name="134" href="#134">134</a> LogLog.debug(<span class="jxr_string">"Trying to find ["</span>+resource+ +<a name="135" href="#135">135</a> <span class="jxr_string">"] using ClassLoader.getSystemResource()."</span>); +<a name="136" href="#136">136</a> <strong class="jxr_keyword">return</strong> ClassLoader.getSystemResource(resource); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">/**</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> Are we running under JDK 1.x? </em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> */</em> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">public</strong> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">static</strong> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">boolean</strong> isJava1() { +<a name="145" href="#145">145</a> <strong class="jxr_keyword">return</strong> java1; +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">/**</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * Get the Thread Context Loader which is a JDK 1.2 feature. If we</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> * are running under JDK 1.1 or anything else goes wrong the method</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> * returns &lt;code&gt;null&lt;code&gt;.</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> *</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> * */</em> +<a name="154" href="#154">154</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> ClassLoader getTCL() <strong class="jxr_keyword">throws</strong> IllegalAccessException, +<a name="155" href="#155">155</a> InvocationTargetException { +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <em class="jxr_comment">// Are we running on a JDK 1.2 or later system?</em> +<a name="158" href="#158">158</a> Method method = <strong class="jxr_keyword">null</strong>; +<a name="159" href="#159">159</a> <strong class="jxr_keyword">try</strong> { +<a name="160" href="#160">160</a> method = Thread.<strong class="jxr_keyword">class</strong>.getMethod(<span class="jxr_string">"getContextClassLoader"</span>, <strong class="jxr_keyword">null</strong>); +<a name="161" href="#161">161</a> } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) { +<a name="162" href="#162">162</a> <em class="jxr_comment">// We are running on JDK 1.1</em> +<a name="163" href="#163">163</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <strong class="jxr_keyword">return</strong> (ClassLoader) method.invoke(Thread.currentThread(), <strong class="jxr_keyword">null</strong>); +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment">/**</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> * If running under JDK 1.2 load the specified class using the</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> * &lt;code&gt;Thread&lt;/code&gt; &lt;code&gt;contextClassLoader&lt;/code&gt; if that</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> * fails try Class.forname. Under JDK 1.1 only Class.forName is</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> * used.</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> *</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> */</em> +<a name="178" href="#178">178</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> Class loadClass (String clazz) <strong class="jxr_keyword">throws</strong> ClassNotFoundException { +<a name="179" href="#179">179</a> <em class="jxr_comment">// Just call Class.forName(clazz) if we are running under JDK 1.1</em> +<a name="180" href="#180">180</a> <em class="jxr_comment">// or if we are instructed to ignore the TCL.</em> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">if</strong>(java1 || ignoreTCL) { +<a name="182" href="#182">182</a> <strong class="jxr_keyword">return</strong> Class.forName(clazz); +<a name="183" href="#183">183</a> } <strong class="jxr_keyword">else</strong> { +<a name="184" href="#184">184</a> <strong class="jxr_keyword">try</strong> { +<a name="185" href="#185">185</a> <strong class="jxr_keyword">return</strong> getTCL().loadClass(clazz); +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> <em class="jxr_comment">// we reached here because tcl was null or because of a</em> +<a name="188" href="#188">188</a> <em class="jxr_comment">// security exception, or because clazz could not be loaded...</em> +<a name="189" href="#189">189</a> <em class="jxr_comment">// In any case we now try one more time</em> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">catch</strong>(InvocationTargetException e) { +<a name="191" href="#191">191</a> <strong class="jxr_keyword">if</strong> (e.getTargetException() instanceof InterruptedException +<a name="192" href="#192">192</a> || e.getTargetException() instanceof InterruptedIOException) { +<a name="193" href="#193">193</a> Thread.currentThread().interrupt(); +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> } <strong class="jxr_keyword">catch</strong>(Throwable t) { +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> <strong class="jxr_keyword">return</strong> Class.forName(clazz); +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/LogLog.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/LogLog.html new file mode 100644 index 00000000000..5afce032868 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/LogLog.html @@ -0,0 +1,203 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogLog xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/LogLog.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> This class used to output log statements from within the log4j package.</em> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> &lt;p&gt;Log4j components cannot make log4j logging calls. However, it is</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> sometimes useful for the user to learn about what log4j is</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> doing. You can enable log4j internal logging by defining the</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> &lt;b&gt;log4j.configDebug&lt;/b&gt; variable.</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> &lt;p&gt;All log4j internal debug calls go to &lt;code&gt;System.out&lt;/code&gt;</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> where as internal error messages are sent to</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> &lt;code&gt;System.err&lt;/code&gt;. All internal messages are prepended with</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> the string "log4j: ".</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> </em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> @since 0.8.2</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">*/</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/LogLog.html">LogLog</a> { +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> Defining this value makes log4j print log4j-internal debug</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> statements to &lt;code&gt;System.out&lt;/code&gt;.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> </em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> &lt;p&gt; The value of this string is &lt;b&gt;log4j.debug&lt;/b&gt;.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> </em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that the search for all option names is case sensitive. */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DEBUG_KEY=<span class="jxr_string">"log4j.debug"</span>; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment">/**</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> Defining this value makes log4j components print log4j-internal</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> debug statements to &lt;code&gt;System.out&lt;/code&gt;.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> </em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> &lt;p&gt; The value of this string is &lt;b&gt;log4j.configDebug&lt;/b&gt;.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> </em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that the search for all option names is case sensitive. </em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> @deprecated Use {@link #DEBUG_KEY} instead.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CONFIG_DEBUG_KEY=<span class="jxr_string">"log4j.configDebug"</span>; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> debugEnabled = false; +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> In quietMode not even errors generate any output.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> quietMode = false; +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PREFIX = <span class="jxr_string">"log4j: "</span>; +<a name="68" href="#68">68</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ERR_PREFIX = <span class="jxr_string">"log4j:ERROR "</span>; +<a name="69" href="#69">69</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String WARN_PREFIX = <span class="jxr_string">"log4j:WARN "</span>; +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">static</strong> { +<a name="72" href="#72">72</a> String key = OptionConverter.getSystemProperty(DEBUG_KEY, <strong class="jxr_keyword">null</strong>); +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">if</strong>(key == <strong class="jxr_keyword">null</strong>) { +<a name="75" href="#75">75</a> key = OptionConverter.getSystemProperty(CONFIG_DEBUG_KEY, <strong class="jxr_keyword">null</strong>); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">if</strong>(key != <strong class="jxr_keyword">null</strong>) { +<a name="79" href="#79">79</a> debugEnabled = OptionConverter.toBoolean(key, <strong class="jxr_keyword">true</strong>); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment">/**</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> Allows to enable/disable log4j internal logging.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">static</strong> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">public</strong> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">void</strong> setInternalDebugging(<strong class="jxr_keyword">boolean</strong> enabled) { +<a name="89" href="#89">89</a> debugEnabled = enabled; +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> This method is used to output log4j internal debug</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> statements. Output goes to &lt;code&gt;System.out&lt;/code&gt;.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">static</strong> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">void</strong> debug(String msg) { +<a name="99" href="#99">99</a> <strong class="jxr_keyword">if</strong>(debugEnabled &amp;&amp; !quietMode) { +<a name="100" href="#100">100</a> System.out.println(PREFIX+msg); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">/**</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> This method is used to output log4j internal debug</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> statements. Output goes to &lt;code&gt;System.out&lt;/code&gt;.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> */</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">static</strong> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">void</strong> debug(String msg, Throwable t) { +<a name="111" href="#111">111</a> <strong class="jxr_keyword">if</strong>(debugEnabled &amp;&amp; !quietMode) { +<a name="112" href="#112">112</a> System.out.println(PREFIX+msg); +<a name="113" href="#113">113</a> <strong class="jxr_keyword">if</strong>(t != <strong class="jxr_keyword">null</strong>) +<a name="114" href="#114">114</a> t.printStackTrace(System.out); +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">/**</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> This method is used to output log4j internal error</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> statements. There is no way to disable error statements.</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> Output goes to &lt;code&gt;System.err&lt;/code&gt;.</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> */</em> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">public</strong> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">static</strong> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">void</strong> error(String msg) { +<a name="127" href="#127">127</a> <strong class="jxr_keyword">if</strong>(quietMode) +<a name="128" href="#128">128</a> <strong class="jxr_keyword">return</strong>; +<a name="129" href="#129">129</a> System.err.println(ERR_PREFIX+msg); +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">/**</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> This method is used to output log4j internal error</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> statements. There is no way to disable error statements.</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> Output goes to &lt;code&gt;System.err&lt;/code&gt;. </em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> */</em> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">public</strong> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">static</strong> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">void</strong> error(String msg, Throwable t) { +<a name="140" href="#140">140</a> <strong class="jxr_keyword">if</strong>(quietMode) +<a name="141" href="#141">141</a> <strong class="jxr_keyword">return</strong>; +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> System.err.println(ERR_PREFIX+msg); +<a name="144" href="#144">144</a> <strong class="jxr_keyword">if</strong>(t != <strong class="jxr_keyword">null</strong>) { +<a name="145" href="#145">145</a> t.printStackTrace(); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">/**</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> In quite mode no LogLog generates strictly no output, not even</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> for errors. </em> +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> @param quietMode A true for not</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> */</em> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">public</strong> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">static</strong> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">void</strong> setQuietMode(<strong class="jxr_keyword">boolean</strong> quietMode) { +<a name="158" href="#158">158</a> LogLog.quietMode = quietMode; +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">/**</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> This method is used to output log4j internal warning</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> statements. There is no way to disable warning statements.</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> Output goes to &lt;code&gt;System.err&lt;/code&gt;. */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> +<a name="166" href="#166">166</a> <strong class="jxr_keyword">static</strong> +<a name="167" href="#167">167</a> <strong class="jxr_keyword">void</strong> warn(String msg) { +<a name="168" href="#168">168</a> <strong class="jxr_keyword">if</strong>(quietMode) +<a name="169" href="#169">169</a> <strong class="jxr_keyword">return</strong>; +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> System.err.println(WARN_PREFIX+msg); +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">/**</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> This method is used to output log4j internal warnings. There is</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> no way to disable warning statements. Output goes to</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> &lt;code&gt;System.err&lt;/code&gt;. */</em> +<a name="178" href="#178">178</a> <strong class="jxr_keyword">public</strong> +<a name="179" href="#179">179</a> <strong class="jxr_keyword">static</strong> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">void</strong> warn(String msg, Throwable t) { +<a name="181" href="#181">181</a> <strong class="jxr_keyword">if</strong>(quietMode) +<a name="182" href="#182">182</a> <strong class="jxr_keyword">return</strong>; +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> System.err.println(WARN_PREFIX+msg); +<a name="185" href="#185">185</a> <strong class="jxr_keyword">if</strong>(t != <strong class="jxr_keyword">null</strong>) { +<a name="186" href="#186">186</a> t.printStackTrace(); +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html new file mode 100644 index 00000000000..38e562a134d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html @@ -0,0 +1,106 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MDCKeySetExtractor xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.pattern.LogEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Set; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayOutputStream; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayInputStream; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a> { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Method getKeySetMethod; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a> INSTANCE = +<a name="33" href="#33">33</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a>(); +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a>() { +<a name="37" href="#37">37</a> <em class="jxr_comment">//</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">// log4j 1.2.15 and later will have method to get names</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">// of all keys in MDC</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">//</em> +<a name="41" href="#41">41</a> Method getMethod = <strong class="jxr_keyword">null</strong>; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">try</strong> { +<a name="44" href="#44">44</a> getMethod = LoggingEvent.<strong class="jxr_keyword">class</strong>.getMethod( +<a name="45" href="#45">45</a> <span class="jxr_string">"getPropertyKeySet"</span>, <strong class="jxr_keyword">null</strong>); +<a name="46" href="#46">46</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="47" href="#47">47</a> getMethod = <strong class="jxr_keyword">null</strong>; +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> getKeySetMethod = getMethod; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> Set getPropertyKeySet(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) <strong class="jxr_keyword">throws</strong> Exception { +<a name="54" href="#54">54</a> <em class="jxr_comment">//</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">// MDC keys are not visible prior to log4j 1.2.15</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">//</em> +<a name="57" href="#57">57</a> Set keySet = <strong class="jxr_keyword">null</strong>; +<a name="58" href="#58">58</a> <strong class="jxr_keyword">if</strong> (getKeySetMethod != <strong class="jxr_keyword">null</strong>) { +<a name="59" href="#59">59</a> keySet = (Set) getKeySetMethod.invoke(event, <strong class="jxr_keyword">null</strong>); +<a name="60" href="#60">60</a> } <strong class="jxr_keyword">else</strong> { +<a name="61" href="#61">61</a> <em class="jxr_comment">//</em> +<a name="62" href="#62">62</a> <em class="jxr_comment">// for 1.2.14 and earlier could serialize and</em> +<a name="63" href="#63">63</a> <em class="jxr_comment">// extract MDC content</em> +<a name="64" href="#64">64</a> ByteArrayOutputStream outBytes = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream(); +<a name="65" href="#65">65</a> ObjectOutputStream os = <strong class="jxr_keyword">new</strong> ObjectOutputStream(outBytes); +<a name="66" href="#66">66</a> os.writeObject(event); +<a name="67" href="#67">67</a> os.close(); +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> byte[] raw = outBytes.toByteArray(); +<a name="70" href="#70">70</a> <em class="jxr_comment">//</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">// bytes 6 and 7 should be the length of the original classname</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">// should be the same as our substitute class name</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">final</strong> String subClassName = LogEvent.<strong class="jxr_keyword">class</strong>.getName(); +<a name="74" href="#74">74</a> <strong class="jxr_keyword">if</strong> (raw[6] == 0 || raw[7] == subClassName.length()) { +<a name="75" href="#75">75</a> <em class="jxr_comment">//</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">// manipulate stream to use our class name</em> +<a name="77" href="#77">77</a> <em class="jxr_comment">//</em> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; subClassName.length(); i++) { +<a name="79" href="#79">79</a> raw[8 + i] = (byte) subClassName.charAt(i); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> ByteArrayInputStream inBytes = <strong class="jxr_keyword">new</strong> ByteArrayInputStream(raw); +<a name="82" href="#82">82</a> ObjectInputStream is = <strong class="jxr_keyword">new</strong> ObjectInputStream(inBytes); +<a name="83" href="#83">83</a> Object cracked = is.readObject(); +<a name="84" href="#84">84</a> <strong class="jxr_keyword">if</strong> (cracked instanceof LogEvent) { +<a name="85" href="#85">85</a> keySet = ((LogEvent) cracked).getPropertyKeySet(); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> is.close(); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> <strong class="jxr_keyword">return</strong> keySet; +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/NullEnumeration.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/NullEnumeration.html new file mode 100644 index 00000000000..570721a7785 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/NullEnumeration.html @@ -0,0 +1,64 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NullEnumeration xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/NullEnumeration.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.NoSuchElementException; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> </em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> An always-empty Enumerator.</em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> @since version 1.0</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/NullEnumeration.html">NullEnumeration</a> implements Enumeration { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/helpers/NullEnumeration.html">NullEnumeration</a> instance = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/NullEnumeration.html">NullEnumeration</a>(); +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">private</strong> +<a name="34" href="#34">34</a> <a href="../../../../org/apache/log4j/helpers/NullEnumeration.html">NullEnumeration</a>() { +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/helpers/NullEnumeration.html">NullEnumeration</a> getInstance() { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">return</strong> instance; +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">boolean</strong> hasMoreElements() { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">return</strong> false; +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> +<a name="47" href="#47">47</a> Object nextElement() { +<a name="48" href="#48">48</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NoSuchElementException(); +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/OnlyOnceErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/OnlyOnceErrorHandler.html new file mode 100644 index 00000000000..0014a946c44 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/OnlyOnceErrorHandler.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>OnlyOnceErrorHandler xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/OnlyOnceErrorHandler.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> The &lt;code&gt;OnlyOnceErrorHandler&lt;/code&gt; implements log4j's default</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> error handling policy which consists of emitting a message for the</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> first error in an appender and ignoring all following errors.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> &lt;p&gt;The error message is printed on &lt;code&gt;System.err&lt;/code&gt;. </em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> &lt;p&gt;This policy aims at protecting an otherwise working application</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> from being flooded with error messages when logging fails.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> @since 0.9.0 */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/OnlyOnceErrorHandler.html">OnlyOnceErrorHandler</a> implements <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> { +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">final</strong> String WARN_PREFIX = <span class="jxr_string">"log4j warning: "</span>; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">final</strong> String ERROR_PREFIX = <span class="jxr_string">"log4j error: "</span>; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">boolean</strong> firstTime = <strong class="jxr_keyword">true</strong>; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> Does not do anything.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">void</strong> setLogger(<a href="../../../../org/apache/log4j/Logger.html">Logger</a> logger) { +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> No options to activate.</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> */</em> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">/**</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> Prints the message and the stack trace of the exception on</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> &lt;code&gt;System.err&lt;/code&gt;. */</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">void</strong> error(String message, Exception e, <strong class="jxr_keyword">int</strong> errorCode) { +<a name="70" href="#70">70</a> error(message, e, errorCode, <strong class="jxr_keyword">null</strong>); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> Prints the message and the stack trace of the exception on</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> &lt;code&gt;System.err&lt;/code&gt;.</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> */</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">public</strong> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">void</strong> error(String message, Exception e, <strong class="jxr_keyword">int</strong> errorCode, <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException || e instanceof InterruptedException) { +<a name="80" href="#80">80</a> Thread.currentThread().interrupt(); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> <strong class="jxr_keyword">if</strong>(firstTime) { +<a name="83" href="#83">83</a> LogLog.error(message, e); +<a name="84" href="#84">84</a> firstTime = false; +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> Print a the error message passed as parameter on</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> &lt;code&gt;System.err&lt;/code&gt;. </em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> */</em> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">void</strong> error(String message) { +<a name="95" href="#95">95</a> <strong class="jxr_keyword">if</strong>(firstTime) { +<a name="96" href="#96">96</a> LogLog.error(message); +<a name="97" href="#97">97</a> firstTime = false; +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> Does not do anything.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> */</em> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">void</strong> setAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">/**</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> Does not do anything.</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> */</em> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">public</strong> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">void</strong> setBackupAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/OptionConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/OptionConverter.html new file mode 100644 index 00000000000..1148516c295 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/OptionConverter.html @@ -0,0 +1,499 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>OptionConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/OptionConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Properties; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Configurator; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PropertyConfigurator; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_comment">// Contributors: Avy Sharell (sharell@online.fr)</em> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Matthieu Verbert (mve@zurich.ibm.com)</em> +<a name="31" href="#31">31</a> <em class="jxr_comment">// Colin Sampaleanu</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> A convenience class to convert property values to specific types.</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> @author Simon Kitching;</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">*/</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverter.html">OptionConverter</a> { +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">static</strong> String DELIM_START = <span class="jxr_string">"${"</span>; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">char</strong> DELIM_STOP = '}'; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> DELIM_START_LEN = 2; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> DELIM_STOP_LEN = 1; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> <a href="../../../../org/apache/log4j/helpers/OptionConverter.html">OptionConverter</a> is a static class. */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/helpers/OptionConverter.html">OptionConverter</a>() {} +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">static</strong> +<a name="52" href="#52">52</a> String[] concatanateArrays(String[] l, String[] r) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">int</strong> len = l.length + r.length; +<a name="54" href="#54">54</a> String[] a = <strong class="jxr_keyword">new</strong> String[len]; +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> System.arraycopy(l, 0, a, 0, l.length); +<a name="57" href="#57">57</a> System.arraycopy(r, 0, a, l.length, r.length); +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">return</strong> a; +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">static</strong> +<a name="64" href="#64">64</a> String convertSpecialChars(String s) { +<a name="65" href="#65">65</a> <strong class="jxr_keyword">char</strong> c; +<a name="66" href="#66">66</a> <strong class="jxr_keyword">int</strong> len = s.length(); +<a name="67" href="#67">67</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(len); +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">int</strong> i = 0; +<a name="70" href="#70">70</a> <strong class="jxr_keyword">while</strong>(i &lt; len) { +<a name="71" href="#71">71</a> c = s.charAt(i++); +<a name="72" href="#72">72</a> <strong class="jxr_keyword">if</strong> (c == '&#92;&#92;') { +<a name="73" href="#73">73</a> c = s.charAt(i++); +<a name="74" href="#74">74</a> <strong class="jxr_keyword">if</strong>(c == 'n') c = '\n'; +<a name="75" href="#75">75</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(c == 'r') c = '\r'; +<a name="76" href="#76">76</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(c == 't') c = '\t'; +<a name="77" href="#77">77</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(c == 'f') c = '\f'; +<a name="78" href="#78">78</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(c == '\b') c = '\b'; +<a name="79" href="#79">79</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(c == '\&quot;') c = '\&quot;'; +<a name="80" href="#80">80</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(c == '\'') c = '\''; +<a name="81" href="#81">81</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(c == '&#92;&#92;') c = '&#92;&#92;'; +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> sbuf.append(c); +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> Very similar to &lt;code&gt;System.getProperty&lt;/code&gt; except</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> that the {@link SecurityException} is hidden.</em> +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> @param key The key to search for.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> @param def The default value to return.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> @return the string value of the system property, or the default</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> value if there is no property with that key.</em> +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> @since 1.1 */</em> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">public</strong> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">static</strong> +<a name="101" href="#101">101</a> String getSystemProperty(String key, String def) { +<a name="102" href="#102">102</a> <strong class="jxr_keyword">try</strong> { +<a name="103" href="#103">103</a> <strong class="jxr_keyword">return</strong> System.getProperty(key, def); +<a name="104" href="#104">104</a> } <strong class="jxr_keyword">catch</strong>(Throwable e) { <em class="jxr_comment">// MS-Java throws com.ms.security.SecurityExceptionEx</em> +<a name="105" href="#105">105</a> LogLog.debug(<span class="jxr_string">"Was not allowed to read system property \&quot;"</span>+key+<span class="jxr_string">"\&quot;."</span>); +<a name="106" href="#106">106</a> <strong class="jxr_keyword">return</strong> def; +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">public</strong> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">static</strong> +<a name="113" href="#113">113</a> Object instantiateByKey(Properties props, String key, Class superClass, +<a name="114" href="#114">114</a> Object defaultValue) { +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_comment">// Get the value of the property in string form</em> +<a name="117" href="#117">117</a> String className = findAndSubst(key, props); +<a name="118" href="#118">118</a> <strong class="jxr_keyword">if</strong>(className == <strong class="jxr_keyword">null</strong>) { +<a name="119" href="#119">119</a> LogLog.error(<span class="jxr_string">"Could not find value for key "</span> + key); +<a name="120" href="#120">120</a> <strong class="jxr_keyword">return</strong> defaultValue; +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> <em class="jxr_comment">// Trim className to avoid trailing spaces that cause problems.</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">return</strong> OptionConverter.instantiateByClassName(className.trim(), superClass, +<a name="124" href="#124">124</a> defaultValue); +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">/**</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> If &lt;code&gt;value&lt;/code&gt; is "true", then &lt;code&gt;true&lt;/code&gt; is</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> returned. If &lt;code&gt;value&lt;/code&gt; is "false", then</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt; is returned. Otherwise, &lt;code&gt;default&lt;/code&gt; is</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> returned.</em> +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> &lt;p&gt;Case of value is unimportant. */</em> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">public</strong> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">static</strong> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">boolean</strong> toBoolean(String value, <strong class="jxr_keyword">boolean</strong> dEfault) { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">if</strong>(value == <strong class="jxr_keyword">null</strong>) +<a name="138" href="#138">138</a> <strong class="jxr_keyword">return</strong> dEfault; +<a name="139" href="#139">139</a> String trimmedVal = value.trim(); +<a name="140" href="#140">140</a> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"true"</span>.equalsIgnoreCase(trimmedVal)) +<a name="141" href="#141">141</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="142" href="#142">142</a> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"false"</span>.equalsIgnoreCase(trimmedVal)) +<a name="143" href="#143">143</a> <strong class="jxr_keyword">return</strong> false; +<a name="144" href="#144">144</a> <strong class="jxr_keyword">return</strong> dEfault; +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">public</strong> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">static</strong> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">int</strong> toInt(String value, <strong class="jxr_keyword">int</strong> dEfault) { +<a name="150" href="#150">150</a> <strong class="jxr_keyword">if</strong>(value != <strong class="jxr_keyword">null</strong>) { +<a name="151" href="#151">151</a> String s = value.trim(); +<a name="152" href="#152">152</a> <strong class="jxr_keyword">try</strong> { +<a name="153" href="#153">153</a> <strong class="jxr_keyword">return</strong> Integer.valueOf(s).intValue(); +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> <strong class="jxr_keyword">catch</strong> (NumberFormatException e) { +<a name="156" href="#156">156</a> LogLog.error(<span class="jxr_string">"["</span> + s + <span class="jxr_string">"] is not in proper int form."</span>); +<a name="157" href="#157">157</a> e.printStackTrace(); +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> <strong class="jxr_keyword">return</strong> dEfault; +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment">/**</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> Converts a standard or custom priority level to a Level</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> object. &lt;p&gt; If &lt;code&gt;value&lt;/code&gt; is of form</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> "level#classname", then the specified class' toLevel method</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> is called to process the specified level string; if no '#'</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> character is present, then the default {@link org.apache.log4j.Level}</em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> class is used to process the level value.</em> +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> &lt;p&gt;As a special case, if the &lt;code&gt;value&lt;/code&gt; parameter is</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> equal to the string "NULL", then the value &lt;code&gt;null&lt;/code&gt; will</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> be returned.</em> +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> &lt;p&gt; If any error occurs while converting the value to a level,</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> the &lt;code&gt;defaultValue&lt;/code&gt; parameter, which may be</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> &lt;code&gt;null&lt;/code&gt;, is returned.</em> +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> &lt;p&gt; Case of &lt;code&gt;value&lt;/code&gt; is insignificant for the level level, but is</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> significant for the class name part, if present.</em> +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> @since 1.1 */</em> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">public</strong> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">static</strong> +<a name="185" href="#185">185</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> toLevel(String value, <a href="../../../../org/apache/log4j/Level.html">Level</a> defaultValue) { +<a name="186" href="#186">186</a> <strong class="jxr_keyword">if</strong>(value == <strong class="jxr_keyword">null</strong>) +<a name="187" href="#187">187</a> <strong class="jxr_keyword">return</strong> defaultValue; +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> value = value.trim(); +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <strong class="jxr_keyword">int</strong> hashIndex = value.indexOf('#'); +<a name="192" href="#192">192</a> <strong class="jxr_keyword">if</strong> (hashIndex == -1) { +<a name="193" href="#193">193</a> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"NULL"</span>.equalsIgnoreCase(value)) { +<a name="194" href="#194">194</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="195" href="#195">195</a> } <strong class="jxr_keyword">else</strong> { +<a name="196" href="#196">196</a> <em class="jxr_comment">// no class name specified : use standard Level class</em> +<a name="197" href="#197">197</a> <strong class="jxr_keyword">return</strong>(<a href="../../../../org/apache/log4j/Level.html">Level</a>) Level.toLevel(value, defaultValue); +<a name="198" href="#198">198</a> } +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> result = defaultValue; +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> String clazz = value.substring(hashIndex+1); +<a name="204" href="#204">204</a> String levelName = value.substring(0, hashIndex); +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em class="jxr_comment">// This is degenerate case but you never know.</em> +<a name="207" href="#207">207</a> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"NULL"</span>.equalsIgnoreCase(levelName)) { +<a name="208" href="#208">208</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> LogLog.debug(<span class="jxr_string">"toLevel"</span> + <span class="jxr_string">":class=["</span> + clazz + <span class="jxr_string">"]"</span> +<a name="212" href="#212">212</a> + <span class="jxr_string">":pri=["</span> + levelName + <span class="jxr_string">"]"</span>); +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> <strong class="jxr_keyword">try</strong> { +<a name="215" href="#215">215</a> Class customLevel = Loader.loadClass(clazz); +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <em class="jxr_comment">// get a ref to the specified class' static method</em> +<a name="218" href="#218">218</a> <em class="jxr_comment">// toLevel(String, org.apache.log4j.Level)</em> +<a name="219" href="#219">219</a> Class[] paramTypes = <strong class="jxr_keyword">new</strong> Class[] { String.<strong class="jxr_keyword">class</strong>, +<a name="220" href="#220">220</a> org.apache.log4j.Level.<strong class="jxr_keyword">class</strong> +<a name="221" href="#221">221</a> }; +<a name="222" href="#222">222</a> java.lang.reflect.Method toLevelMethod = +<a name="223" href="#223">223</a> customLevel.getMethod(<span class="jxr_string">"toLevel"</span>, paramTypes); +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <em class="jxr_comment">// now call the toLevel method, passing level string + default</em> +<a name="226" href="#226">226</a> Object[] params = <strong class="jxr_keyword">new</strong> Object[] {levelName, defaultValue}; +<a name="227" href="#227">227</a> Object o = toLevelMethod.invoke(<strong class="jxr_keyword">null</strong>, params); +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> result = (Level) o; +<a name="230" href="#230">230</a> } <strong class="jxr_keyword">catch</strong>(ClassNotFoundException e) { +<a name="231" href="#231">231</a> LogLog.warn(<span class="jxr_string">"custom level class ["</span> + clazz + <span class="jxr_string">"] not found."</span>); +<a name="232" href="#232">232</a> } <strong class="jxr_keyword">catch</strong>(NoSuchMethodException e) { +<a name="233" href="#233">233</a> LogLog.warn(<span class="jxr_string">"custom level class ["</span> + clazz + <span class="jxr_string">"]"</span> +<a name="234" href="#234">234</a> + <span class="jxr_string">" does not have a class function toLevel(String, Level)"</span>, e); +<a name="235" href="#235">235</a> } <strong class="jxr_keyword">catch</strong>(java.lang.reflect.InvocationTargetException e) { +<a name="236" href="#236">236</a> <strong class="jxr_keyword">if</strong> (e.getTargetException() instanceof InterruptedException +<a name="237" href="#237">237</a> || e.getTargetException() instanceof InterruptedIOException) { +<a name="238" href="#238">238</a> Thread.currentThread().interrupt(); +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> LogLog.warn(<span class="jxr_string">"custom level class ["</span> + clazz + <span class="jxr_string">"]"</span> +<a name="241" href="#241">241</a> + <span class="jxr_string">" could not be instantiated"</span>, e); +<a name="242" href="#242">242</a> } <strong class="jxr_keyword">catch</strong>(ClassCastException e) { +<a name="243" href="#243">243</a> LogLog.warn(<span class="jxr_string">"class ["</span> + clazz +<a name="244" href="#244">244</a> + <span class="jxr_string">"] is not a subclass of org.apache.log4j.Level"</span>, e); +<a name="245" href="#245">245</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException e) { +<a name="246" href="#246">246</a> LogLog.warn(<span class="jxr_string">"class ["</span>+clazz+ +<a name="247" href="#247">247</a> <span class="jxr_string">"] cannot be instantiated due to access restrictions"</span>, e); +<a name="248" href="#248">248</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="249" href="#249">249</a> LogLog.warn(<span class="jxr_string">"class ["</span>+clazz+<span class="jxr_string">"], level ["</span>+levelName+ +<a name="250" href="#250">250</a> <span class="jxr_string">"] conversion failed."</span>, e); +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> <strong class="jxr_keyword">return</strong> result; +<a name="253" href="#253">253</a> } +<a name="254" href="#254">254</a> +<a name="255" href="#255">255</a> <strong class="jxr_keyword">public</strong> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">static</strong> +<a name="257" href="#257">257</a> <strong class="jxr_keyword">long</strong> toFileSize(String value, <strong class="jxr_keyword">long</strong> dEfault) { +<a name="258" href="#258">258</a> <strong class="jxr_keyword">if</strong>(value == <strong class="jxr_keyword">null</strong>) +<a name="259" href="#259">259</a> <strong class="jxr_keyword">return</strong> dEfault; +<a name="260" href="#260">260</a> +<a name="261" href="#261">261</a> String s = value.trim().toUpperCase(); +<a name="262" href="#262">262</a> <strong class="jxr_keyword">long</strong> multiplier = 1; +<a name="263" href="#263">263</a> <strong class="jxr_keyword">int</strong> index; +<a name="264" href="#264">264</a> +<a name="265" href="#265">265</a> <strong class="jxr_keyword">if</strong>((index = s.indexOf(<span class="jxr_string">"KB"</span>)) != -1) { +<a name="266" href="#266">266</a> multiplier = 1024; +<a name="267" href="#267">267</a> s = s.substring(0, index); +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>((index = s.indexOf(<span class="jxr_string">"MB"</span>)) != -1) { +<a name="270" href="#270">270</a> multiplier = 1024*1024; +<a name="271" href="#271">271</a> s = s.substring(0, index); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>((index = s.indexOf(<span class="jxr_string">"GB"</span>)) != -1) { +<a name="274" href="#274">274</a> multiplier = 1024*1024*1024; +<a name="275" href="#275">275</a> s = s.substring(0, index); +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> <strong class="jxr_keyword">if</strong>(s != <strong class="jxr_keyword">null</strong>) { +<a name="278" href="#278">278</a> <strong class="jxr_keyword">try</strong> { +<a name="279" href="#279">279</a> <strong class="jxr_keyword">return</strong> Long.valueOf(s).longValue() * multiplier; +<a name="280" href="#280">280</a> } +<a name="281" href="#281">281</a> <strong class="jxr_keyword">catch</strong> (NumberFormatException e) { +<a name="282" href="#282">282</a> LogLog.error(<span class="jxr_string">"["</span> + s + <span class="jxr_string">"] is not in proper int form."</span>); +<a name="283" href="#283">283</a> LogLog.error(<span class="jxr_string">"["</span> + value + <span class="jxr_string">"] not in expected format."</span>, e); +<a name="284" href="#284">284</a> } +<a name="285" href="#285">285</a> } +<a name="286" href="#286">286</a> <strong class="jxr_keyword">return</strong> dEfault; +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> <em class="jxr_javadoccomment">/**</em> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment"> Find the value corresponding to &lt;code&gt;key&lt;/code&gt; in</em> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment"> &lt;code&gt;props&lt;/code&gt;. Then perform variable substitution on the</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> found value.</em> +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> */</em> +<a name="295" href="#295">295</a> <strong class="jxr_keyword">public</strong> +<a name="296" href="#296">296</a> <strong class="jxr_keyword">static</strong> +<a name="297" href="#297">297</a> String findAndSubst(String key, Properties props) { +<a name="298" href="#298">298</a> String value = props.getProperty(key); +<a name="299" href="#299">299</a> <strong class="jxr_keyword">if</strong>(value == <strong class="jxr_keyword">null</strong>) +<a name="300" href="#300">300</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">try</strong> { +<a name="303" href="#303">303</a> <strong class="jxr_keyword">return</strong> substVars(value, props); +<a name="304" href="#304">304</a> } <strong class="jxr_keyword">catch</strong>(IllegalArgumentException e) { +<a name="305" href="#305">305</a> LogLog.error(<span class="jxr_string">"Bad option value ["</span>+value+<span class="jxr_string">"]."</span>, e); +<a name="306" href="#306">306</a> <strong class="jxr_keyword">return</strong> value; +<a name="307" href="#307">307</a> } +<a name="308" href="#308">308</a> } +<a name="309" href="#309">309</a> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment">/**</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> Instantiate an object given a class name. Check that the</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> &lt;code&gt;className&lt;/code&gt; is a subclass of</em> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment"> &lt;code&gt;superClass&lt;/code&gt;. If that test fails or the object could</em> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment"> not be instantiated, then &lt;code&gt;defaultValue&lt;/code&gt; is returned.</em> +<a name="315" href="#315">315</a> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> @param className The fully qualified class name of the object to instantiate.</em> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment"> @param superClass The class to which the new object should belong.</em> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> @param defaultValue The object to return in case of non-fulfillment</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> */</em> +<a name="320" href="#320">320</a> <strong class="jxr_keyword">public</strong> +<a name="321" href="#321">321</a> <strong class="jxr_keyword">static</strong> +<a name="322" href="#322">322</a> Object instantiateByClassName(String className, Class superClass, +<a name="323" href="#323">323</a> Object defaultValue) { +<a name="324" href="#324">324</a> <strong class="jxr_keyword">if</strong>(className != <strong class="jxr_keyword">null</strong>) { +<a name="325" href="#325">325</a> <strong class="jxr_keyword">try</strong> { +<a name="326" href="#326">326</a> Class classObj = Loader.loadClass(className); +<a name="327" href="#327">327</a> <strong class="jxr_keyword">if</strong>(!superClass.isAssignableFrom(classObj)) { +<a name="328" href="#328">328</a> LogLog.error(<span class="jxr_string">"A \&quot;"</span>+className+<span class="jxr_string">"\&quot; object is not assignable to a \&quot;"</span>+ +<a name="329" href="#329">329</a> superClass.getName() + <span class="jxr_string">"\&quot; variable."</span>); +<a name="330" href="#330">330</a> LogLog.error(<span class="jxr_string">"The class \&quot;"</span>+ superClass.getName()+<span class="jxr_string">"\&quot; was loaded by "</span>); +<a name="331" href="#331">331</a> LogLog.error(<span class="jxr_string">"["</span>+superClass.getClassLoader()+<span class="jxr_string">"] whereas object of type "</span>); +<a name="332" href="#332">332</a> LogLog.error(<span class="jxr_string">"\&quot;"</span> +classObj.getName()+<span class="jxr_string">"\&quot; was loaded by ["</span> +<a name="333" href="#333">333</a> +classObj.getClassLoader()+<span class="jxr_string">"]."</span>); +<a name="334" href="#334">334</a> <strong class="jxr_keyword">return</strong> defaultValue; +<a name="335" href="#335">335</a> } +<a name="336" href="#336">336</a> <strong class="jxr_keyword">return</strong> classObj.newInstance(); +<a name="337" href="#337">337</a> } <strong class="jxr_keyword">catch</strong> (ClassNotFoundException e) { +<a name="338" href="#338">338</a> LogLog.error(<span class="jxr_string">"Could not instantiate class ["</span> + className + <span class="jxr_string">"]."</span>, e); +<a name="339" href="#339">339</a> } <strong class="jxr_keyword">catch</strong> (IllegalAccessException e) { +<a name="340" href="#340">340</a> LogLog.error(<span class="jxr_string">"Could not instantiate class ["</span> + className + <span class="jxr_string">"]."</span>, e); +<a name="341" href="#341">341</a> } <strong class="jxr_keyword">catch</strong> (InstantiationException e) { +<a name="342" href="#342">342</a> LogLog.error(<span class="jxr_string">"Could not instantiate class ["</span> + className + <span class="jxr_string">"]."</span>, e); +<a name="343" href="#343">343</a> } <strong class="jxr_keyword">catch</strong> (RuntimeException e) { +<a name="344" href="#344">344</a> LogLog.error(<span class="jxr_string">"Could not instantiate class ["</span> + className + <span class="jxr_string">"]."</span>, e); +<a name="345" href="#345">345</a> } +<a name="346" href="#346">346</a> } +<a name="347" href="#347">347</a> <strong class="jxr_keyword">return</strong> defaultValue; +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment">/**</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> Perform variable substitution in string &lt;code&gt;val&lt;/code&gt; from the</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> values of keys found in the system propeties.</em> +<a name="354" href="#354">354</a> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment"> &lt;p&gt;The variable substitution delimeters are &lt;b&gt;${&lt;/b&gt; and &lt;b&gt;}&lt;/b&gt;.</em> +<a name="356" href="#356">356</a> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, if the System properties contains "key=value", then</em> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment"> the call</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> String s = OptionConverter.substituteVars("Value of key is ${key}.");</em> +<a name="361" href="#361">361</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="362" href="#362">362</a> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> will set the variable &lt;code&gt;s&lt;/code&gt; to "Value of key is value.".</em> +<a name="364" href="#364">364</a> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment"> &lt;p&gt;If no value could be found for the specified key, then the</em> +<a name="366" href="#366">366</a> <em class="jxr_javadoccomment"> &lt;code&gt;props&lt;/code&gt; parameter is searched, if the value could not</em> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment"> be found there, then substitution defaults to the empty string.</em> +<a name="368" href="#368">368</a> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, if system propeties contains no value for the key</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> "inexistentKey", then the call</em> +<a name="371" href="#371">371</a> +<a name="372" href="#372">372</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="373" href="#373">373</a> <em class="jxr_javadoccomment"> String s = OptionConverter.subsVars("Value of inexistentKey is [${inexistentKey}]");</em> +<a name="374" href="#374">374</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="375" href="#375">375</a> <em class="jxr_javadoccomment"> will set &lt;code&gt;s&lt;/code&gt; to "Value of inexistentKey is []"</em> +<a name="376" href="#376">376</a> +<a name="377" href="#377">377</a> <em class="jxr_javadoccomment"> &lt;p&gt;An {@link java.lang.IllegalArgumentException} is thrown if</em> +<a name="378" href="#378">378</a> <em class="jxr_javadoccomment"> &lt;code&gt;val&lt;/code&gt; contains a start delimeter "${" which is not</em> +<a name="379" href="#379">379</a> <em class="jxr_javadoccomment"> balanced by a stop delimeter "}". &lt;/p&gt;</em> +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;Author&lt;/b&gt; Avy Sharell&lt;/a&gt;&lt;/p&gt;</em> +<a name="382" href="#382">382</a> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> @param val The string on which variable substitution is performed.</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> @throws IllegalArgumentException if &lt;code&gt;val&lt;/code&gt; is malformed.</em> +<a name="385" href="#385">385</a> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> */</em> +<a name="387" href="#387">387</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> +<a name="388" href="#388">388</a> String substVars(String val, Properties props) <strong class="jxr_keyword">throws</strong> +<a name="389" href="#389">389</a> IllegalArgumentException { +<a name="390" href="#390">390</a> +<a name="391" href="#391">391</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="392" href="#392">392</a> +<a name="393" href="#393">393</a> <strong class="jxr_keyword">int</strong> i = 0; +<a name="394" href="#394">394</a> <strong class="jxr_keyword">int</strong> j, k; +<a name="395" href="#395">395</a> +<a name="396" href="#396">396</a> <strong class="jxr_keyword">while</strong>(<strong class="jxr_keyword">true</strong>) { +<a name="397" href="#397">397</a> j=val.indexOf(DELIM_START, i); +<a name="398" href="#398">398</a> <strong class="jxr_keyword">if</strong>(j == -1) { +<a name="399" href="#399">399</a> <em class="jxr_comment">// no more variables</em> +<a name="400" href="#400">400</a> <strong class="jxr_keyword">if</strong>(i==0) { <em class="jxr_comment">// this is a simple string</em> +<a name="401" href="#401">401</a> <strong class="jxr_keyword">return</strong> val; +<a name="402" href="#402">402</a> } <strong class="jxr_keyword">else</strong> { <em class="jxr_comment">// add the tail string which contails no variables and return the result.</em> +<a name="403" href="#403">403</a> sbuf.append(val.substring(i, val.length())); +<a name="404" href="#404">404</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="405" href="#405">405</a> } +<a name="406" href="#406">406</a> } <strong class="jxr_keyword">else</strong> { +<a name="407" href="#407">407</a> sbuf.append(val.substring(i, j)); +<a name="408" href="#408">408</a> k = val.indexOf(DELIM_STOP, j); +<a name="409" href="#409">409</a> <strong class="jxr_keyword">if</strong>(k == -1) { +<a name="410" href="#410">410</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException('&quot;'+val+ +<a name="411" href="#411">411</a> <span class="jxr_string">"\&quot; has no closing brace. Opening brace at position "</span> + j +<a name="412" href="#412">412</a> + '.'); +<a name="413" href="#413">413</a> } <strong class="jxr_keyword">else</strong> { +<a name="414" href="#414">414</a> j += DELIM_START_LEN; +<a name="415" href="#415">415</a> String key = val.substring(j, k); +<a name="416" href="#416">416</a> <em class="jxr_comment">// first try in System properties</em> +<a name="417" href="#417">417</a> String replacement = getSystemProperty(key, <strong class="jxr_keyword">null</strong>); +<a name="418" href="#418">418</a> <em class="jxr_comment">// then try props parameter</em> +<a name="419" href="#419">419</a> <strong class="jxr_keyword">if</strong>(replacement == <strong class="jxr_keyword">null</strong> &amp;&amp; props != <strong class="jxr_keyword">null</strong>) { +<a name="420" href="#420">420</a> replacement = props.getProperty(key); +<a name="421" href="#421">421</a> } +<a name="422" href="#422">422</a> +<a name="423" href="#423">423</a> <strong class="jxr_keyword">if</strong>(replacement != <strong class="jxr_keyword">null</strong>) { +<a name="424" href="#424">424</a> <em class="jxr_comment">// Do variable substitution on the replacement string</em> +<a name="425" href="#425">425</a> <em class="jxr_comment">// such that we can solve "Hello ${x2}" as "Hello p1" </em> +<a name="426" href="#426">426</a> <em class="jxr_comment">// the where the properties are</em> +<a name="427" href="#427">427</a> <em class="jxr_comment">// x1=p1</em> +<a name="428" href="#428">428</a> <em class="jxr_comment">// x2=${x1}</em> +<a name="429" href="#429">429</a> String recursiveReplacement = substVars(replacement, props); +<a name="430" href="#430">430</a> sbuf.append(recursiveReplacement); +<a name="431" href="#431">431</a> } +<a name="432" href="#432">432</a> i = k + DELIM_STOP_LEN; +<a name="433" href="#433">433</a> } +<a name="434" href="#434">434</a> } +<a name="435" href="#435">435</a> } +<a name="436" href="#436">436</a> } +<a name="437" href="#437">437</a> +<a name="438" href="#438">438</a> +<a name="439" href="#439">439</a> <em class="jxr_javadoccomment">/**</em> +<a name="440" href="#440">440</a> <em class="jxr_javadoccomment"> Configure log4j given a URL.</em> +<a name="441" href="#441">441</a> +<a name="442" href="#442">442</a> <em class="jxr_javadoccomment"> &lt;p&gt;The url must point to a file or resource which will be interpreted by</em> +<a name="443" href="#443">443</a> <em class="jxr_javadoccomment"> a new instance of a log4j configurator.</em> +<a name="444" href="#444">444</a> +<a name="445" href="#445">445</a> <em class="jxr_javadoccomment"> &lt;p&gt;All configurations steps are taken on the</em> +<a name="446" href="#446">446</a> <em class="jxr_javadoccomment"> &lt;code&gt;hierarchy&lt;/code&gt; passed as a parameter.</em> +<a name="447" href="#447">447</a> +<a name="448" href="#448">448</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="449" href="#449">449</a> <em class="jxr_javadoccomment"> @param url The location of the configuration file or resource.</em> +<a name="450" href="#450">450</a> <em class="jxr_javadoccomment"> @param clazz The classname, of the log4j configurator which will parse</em> +<a name="451" href="#451">451</a> <em class="jxr_javadoccomment"> the file or resource at &lt;code&gt;url&lt;/code&gt;. This must be a subclass of</em> +<a name="452" href="#452">452</a> <em class="jxr_javadoccomment"> {@link Configurator}, or null. If this value is null then a default</em> +<a name="453" href="#453">453</a> <em class="jxr_javadoccomment"> configurator of {@link PropertyConfigurator} is used, unless the</em> +<a name="454" href="#454">454</a> <em class="jxr_javadoccomment"> filename pointed to by &lt;code&gt;url&lt;/code&gt; ends in '.xml', in which case</em> +<a name="455" href="#455">455</a> <em class="jxr_javadoccomment"> {@link org.apache.log4j.xml.DOMConfigurator} is used.</em> +<a name="456" href="#456">456</a> <em class="jxr_javadoccomment"> @param hierarchy The {@link org.apache.log4j.Hierarchy} to act on.</em> +<a name="457" href="#457">457</a> +<a name="458" href="#458">458</a> <em class="jxr_javadoccomment"> @since 1.1.4 */</em> +<a name="459" href="#459">459</a> +<a name="460" href="#460">460</a> <strong class="jxr_keyword">static</strong> +<a name="461" href="#461">461</a> <strong class="jxr_keyword">public</strong> +<a name="462" href="#462">462</a> <strong class="jxr_keyword">void</strong> selectAndConfigure(URL url, String clazz, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) { +<a name="463" href="#463">463</a> <a href="../../../../org/apache/log4j/spi/Configurator.html">Configurator</a> configurator = <strong class="jxr_keyword">null</strong>; +<a name="464" href="#464">464</a> String filename = url.getFile(); +<a name="465" href="#465">465</a> +<a name="466" href="#466">466</a> <strong class="jxr_keyword">if</strong>(clazz == <strong class="jxr_keyword">null</strong> &amp;&amp; filename != <strong class="jxr_keyword">null</strong> &amp;&amp; filename.endsWith(<span class="jxr_string">".xml"</span>)) { +<a name="467" href="#467">467</a> clazz = <span class="jxr_string">"org.apache.log4j.xml.DOMConfigurator"</span>; +<a name="468" href="#468">468</a> } +<a name="469" href="#469">469</a> +<a name="470" href="#470">470</a> <strong class="jxr_keyword">if</strong>(clazz != <strong class="jxr_keyword">null</strong>) { +<a name="471" href="#471">471</a> LogLog.debug(<span class="jxr_string">"Preferred configurator class: "</span> + clazz); +<a name="472" href="#472">472</a> configurator = (Configurator) instantiateByClassName(clazz, +<a name="473" href="#473">473</a> Configurator.<strong class="jxr_keyword">class</strong>, +<a name="474" href="#474">474</a> <strong class="jxr_keyword">null</strong>); +<a name="475" href="#475">475</a> <strong class="jxr_keyword">if</strong>(configurator == <strong class="jxr_keyword">null</strong>) { +<a name="476" href="#476">476</a> LogLog.error(<span class="jxr_string">"Could not instantiate configurator ["</span>+clazz+<span class="jxr_string">"]."</span>); +<a name="477" href="#477">477</a> <strong class="jxr_keyword">return</strong>; +<a name="478" href="#478">478</a> } +<a name="479" href="#479">479</a> } <strong class="jxr_keyword">else</strong> { +<a name="480" href="#480">480</a> configurator = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>(); +<a name="481" href="#481">481</a> } +<a name="482" href="#482">482</a> +<a name="483" href="#483">483</a> configurator.doConfigure(url, hierarchy); +<a name="484" href="#484">484</a> } +<a name="485" href="#485">485</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/PatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/PatternConverter.html new file mode 100644 index 00000000000..a036061ab84 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/PatternConverter.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/PatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> &lt;p&gt;PatternConverter is an abtract class that provides the</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> formatting functionality that derived classes need.</em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> &lt;p&gt;Conversion specifiers in a conversion patterns are parsed to</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> individual PatternConverters. Each of which is responsible for</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> converting a logging event in a converter specific manner.</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> @author &lt;a href="<a href="mailto:cakalijp@Maritz.com" target="alexandria_uri">mailto:cakalijp@Maritz.com</a>"&gt;James P. Cakalic&lt;/a&gt;</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> @since 0.8.2</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> { +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> next; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">int</strong> min = -1; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">int</strong> max = 0x7FFFFFFF; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">boolean</strong> leftAlign = false; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">protected</strong> +<a name="43" href="#43">43</a> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a>() { } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">protected</strong> +<a name="46" href="#46">46</a> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a>(<a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> fi) { +<a name="47" href="#47">47</a> min = fi.min; +<a name="48" href="#48">48</a> max = fi.max; +<a name="49" href="#49">49</a> leftAlign = fi.leftAlign; +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> Derived pattern converters must override this method in order to</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> convert conversion specifiers in the correct way.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">abstract</strong> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">protected</strong> +<a name="58" href="#58">58</a> String convert(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> A template method for formatting in a converter specific way.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">public</strong> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">void</strong> format(StringBuffer sbuf, <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> e) { +<a name="65" href="#65">65</a> String s = convert(e); +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">if</strong>(s == <strong class="jxr_keyword">null</strong>) { +<a name="68" href="#68">68</a> <strong class="jxr_keyword">if</strong>(0 &lt; min) +<a name="69" href="#69">69</a> spacePad(sbuf, min); +<a name="70" href="#70">70</a> <strong class="jxr_keyword">return</strong>; +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">int</strong> len = s.length(); +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">if</strong>(len &gt; max) +<a name="76" href="#76">76</a> sbuf.append(s.substring(len-max)); +<a name="77" href="#77">77</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(len &lt; min) { +<a name="78" href="#78">78</a> <strong class="jxr_keyword">if</strong>(leftAlign) { +<a name="79" href="#79">79</a> sbuf.append(s); +<a name="80" href="#80">80</a> spacePad(sbuf, min-len); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> <strong class="jxr_keyword">else</strong> { +<a name="83" href="#83">83</a> spacePad(sbuf, min-len); +<a name="84" href="#84">84</a> sbuf.append(s); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> <strong class="jxr_keyword">else</strong> +<a name="88" href="#88">88</a> sbuf.append(s); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">static</strong> String[] SPACES = {<span class="jxr_string">" "</span>, <span class="jxr_string">" "</span>, <span class="jxr_string">" "</span>, <span class="jxr_string">" "</span>, <em class="jxr_comment">//1,2,4,8 spaces</em> +<a name="92" href="#92">92</a> <span class="jxr_string">" "</span>, <em class="jxr_comment">// 16 spaces</em> +<a name="93" href="#93">93</a> <span class="jxr_string">" "</span> }; <em class="jxr_comment">// 32 spaces</em> +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment">/**</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> Fast space padding method.</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> */</em> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">public</strong> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">void</strong> spacePad(StringBuffer sbuf, <strong class="jxr_keyword">int</strong> length) { +<a name="100" href="#100">100</a> <strong class="jxr_keyword">while</strong>(length &gt;= 32) { +<a name="101" href="#101">101</a> sbuf.append(SPACES[5]); +<a name="102" href="#102">102</a> length -= 32; +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 4; i &gt;= 0; i--) { +<a name="106" href="#106">106</a> <strong class="jxr_keyword">if</strong>((length &amp; (1&lt;&lt;i)) != 0) { +<a name="107" href="#107">107</a> sbuf.append(SPACES[i]); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/PatternParser.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/PatternParser.html new file mode 100644 index 00000000000..793d06fd212 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/PatternParser.html @@ -0,0 +1,584 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PatternParser xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/PatternParser.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LocationInfo; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Arrays; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_comment">// Contributors: Nelson Minar &lt;(nelson@monkey.org&gt;</em> +<a name="29" href="#29">29</a> <em class="jxr_comment">// Igor E. Poteryaev &lt;jah@mail.ru&gt;</em> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Reinhard Deschler &lt;reinhard.deschler@web.de&gt;</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> Most of the work of the {@link org.apache.log4j.PatternLayout} class</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> is delegated to the PatternParser class.</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> &lt;p&gt;It is this class that parses conversion patterns and creates</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> a chained list of {@link OptionConverter OptionConverters}.</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> @author &lt;a href=<a href="mailto:" target="alexandria_uri">mailto:</a>"cakalijp@Maritz.com"&gt;James P. Cakalic&lt;/a&gt;</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> @since 0.8.2</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">*/</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">PatternParser</a> { +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> ESCAPE_CHAR = '%'; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> LITERAL_STATE = 0; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> CONVERTER_STATE = 1; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DOT_STATE = 3; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MIN_STATE = 4; +<a name="53" href="#53">53</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MAX_STATE = 5; +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FULL_LOCATION_CONVERTER = 1000; +<a name="56" href="#56">56</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> METHOD_LOCATION_CONVERTER = 1001; +<a name="57" href="#57">57</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> CLASS_LOCATION_CONVERTER = 1002; +<a name="58" href="#58">58</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> LINE_LOCATION_CONVERTER = 1003; +<a name="59" href="#59">59</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FILE_LOCATION_CONVERTER = 1004; +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> RELATIVE_TIME_CONVERTER = 2000; +<a name="62" href="#62">62</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> THREAD_CONVERTER = 2001; +<a name="63" href="#63">63</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> LEVEL_CONVERTER = 2002; +<a name="64" href="#64">64</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> NDC_CONVERTER = 2003; +<a name="65" href="#65">65</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MESSAGE_CONVERTER = 2004; +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">int</strong> state; +<a name="68" href="#68">68</a> <strong class="jxr_keyword">protected</strong> StringBuffer currentLiteral = <strong class="jxr_keyword">new</strong> StringBuffer(32); +<a name="69" href="#69">69</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> patternLength; +<a name="70" href="#70">70</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> i; +<a name="71" href="#71">71</a> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> head; +<a name="72" href="#72">72</a> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> tail; +<a name="73" href="#73">73</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> formattingInfo = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a>(); +<a name="74" href="#74">74</a> <strong class="jxr_keyword">protected</strong> String pattern; +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> +<a name="77" href="#77">77</a> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">PatternParser</a>(String pattern) { +<a name="78" href="#78">78</a> <strong class="jxr_keyword">this</strong>.pattern = pattern; +<a name="79" href="#79">79</a> patternLength = pattern.length(); +<a name="80" href="#80">80</a> state = LITERAL_STATE; +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">private</strong> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">void</strong> addToList(PatternConverter pc) { +<a name="85" href="#85">85</a> <strong class="jxr_keyword">if</strong>(head == <strong class="jxr_keyword">null</strong>) { +<a name="86" href="#86">86</a> head = tail = pc; +<a name="87" href="#87">87</a> } <strong class="jxr_keyword">else</strong> { +<a name="88" href="#88">88</a> tail.next = pc; +<a name="89" href="#89">89</a> tail = pc; +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">protected</strong> +<a name="94" href="#94">94</a> String extractOption() { +<a name="95" href="#95">95</a> <strong class="jxr_keyword">if</strong>((i &lt; patternLength) &amp;&amp; (pattern.charAt(i) == '{')) { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">int</strong> end = pattern.indexOf('}', i); +<a name="97" href="#97">97</a> <strong class="jxr_keyword">if</strong> (end &gt; i) { +<a name="98" href="#98">98</a> String r = pattern.substring(i + 1, end); +<a name="99" href="#99">99</a> i = end+1; +<a name="100" href="#100">100</a> <strong class="jxr_keyword">return</strong> r; +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">/**</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> The option is expected to be in decimal and positive. In case of</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> error, zero is returned. */</em> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">protected</strong> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">int</strong> extractPrecisionOption() { +<a name="112" href="#112">112</a> String opt = extractOption(); +<a name="113" href="#113">113</a> <strong class="jxr_keyword">int</strong> r = 0; +<a name="114" href="#114">114</a> <strong class="jxr_keyword">if</strong>(opt != <strong class="jxr_keyword">null</strong>) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">try</strong> { +<a name="116" href="#116">116</a> r = Integer.parseInt(opt); +<a name="117" href="#117">117</a> <strong class="jxr_keyword">if</strong>(r &lt;= 0) { +<a name="118" href="#118">118</a> LogLog.error( +<a name="119" href="#119">119</a> <span class="jxr_string">"Precision option ("</span> + opt + <span class="jxr_string">") isn't a positive integer."</span>); +<a name="120" href="#120">120</a> r = 0; +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> <strong class="jxr_keyword">catch</strong> (NumberFormatException e) { +<a name="124" href="#124">124</a> LogLog.error(<span class="jxr_string">"Category option \&quot;"</span>+opt+<span class="jxr_string">"\&quot; not a decimal integer."</span>, e); +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> <strong class="jxr_keyword">return</strong> r; +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> +<a name="131" href="#131">131</a> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> parse() { +<a name="132" href="#132">132</a> <strong class="jxr_keyword">char</strong> c; +<a name="133" href="#133">133</a> i = 0; +<a name="134" href="#134">134</a> <strong class="jxr_keyword">while</strong>(i &lt; patternLength) { +<a name="135" href="#135">135</a> c = pattern.charAt(i++); +<a name="136" href="#136">136</a> <strong class="jxr_keyword">switch</strong>(state) { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">case</strong> LITERAL_STATE: +<a name="138" href="#138">138</a> <em class="jxr_comment">// In literal state, the last char is always a literal.</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">if</strong>(i == patternLength) { +<a name="140" href="#140">140</a> currentLiteral.append(c); +<a name="141" href="#141">141</a> <strong class="jxr_keyword">continue</strong>; +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> <strong class="jxr_keyword">if</strong>(c == ESCAPE_CHAR) { +<a name="144" href="#144">144</a> <em class="jxr_comment">// peek at the next char.</em> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">switch</strong>(pattern.charAt(i)) { +<a name="146" href="#146">146</a> <strong class="jxr_keyword">case</strong> ESCAPE_CHAR: +<a name="147" href="#147">147</a> currentLiteral.append(c); +<a name="148" href="#148">148</a> i++; <em class="jxr_comment">// move pointer</em> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">break</strong>; +<a name="150" href="#150">150</a> <strong class="jxr_keyword">case</strong> 'n': +<a name="151" href="#151">151</a> currentLiteral.append(Layout.LINE_SEP); +<a name="152" href="#152">152</a> i++; <em class="jxr_comment">// move pointer</em> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">break</strong>; +<a name="154" href="#154">154</a> <strong class="jxr_keyword">default</strong>: +<a name="155" href="#155">155</a> <strong class="jxr_keyword">if</strong>(currentLiteral.length() != 0) { +<a name="156" href="#156">156</a> addToList(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LiteralPatternConverter</a>( +<a name="157" href="#157">157</a> currentLiteral.toString())); +<a name="158" href="#158">158</a> <em class="jxr_comment">//LogLog.debug("Parsed LITERAL converter: \&quot;"</em> +<a name="159" href="#159">159</a> <em class="jxr_comment">// +currentLiteral+"\&quot;.");</em> +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> currentLiteral.setLength(0); +<a name="162" href="#162">162</a> currentLiteral.append(c); <em class="jxr_comment">// append %</em> +<a name="163" href="#163">163</a> state = CONVERTER_STATE; +<a name="164" href="#164">164</a> formattingInfo.reset(); +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> <strong class="jxr_keyword">else</strong> { +<a name="168" href="#168">168</a> currentLiteral.append(c); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> <strong class="jxr_keyword">break</strong>; +<a name="171" href="#171">171</a> <strong class="jxr_keyword">case</strong> CONVERTER_STATE: +<a name="172" href="#172">172</a> currentLiteral.append(c); +<a name="173" href="#173">173</a> <strong class="jxr_keyword">switch</strong>(c) { +<a name="174" href="#174">174</a> <strong class="jxr_keyword">case</strong> '-': +<a name="175" href="#175">175</a> formattingInfo.leftAlign = <strong class="jxr_keyword">true</strong>; +<a name="176" href="#176">176</a> <strong class="jxr_keyword">break</strong>; +<a name="177" href="#177">177</a> <strong class="jxr_keyword">case</strong> '.': +<a name="178" href="#178">178</a> state = DOT_STATE; +<a name="179" href="#179">179</a> <strong class="jxr_keyword">break</strong>; +<a name="180" href="#180">180</a> <strong class="jxr_keyword">default</strong>: +<a name="181" href="#181">181</a> <strong class="jxr_keyword">if</strong>(c &gt;= '0' &amp;&amp; c &lt;= '9') { +<a name="182" href="#182">182</a> formattingInfo.min = c - '0'; +<a name="183" href="#183">183</a> state = MIN_STATE; +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> <strong class="jxr_keyword">else</strong> +<a name="186" href="#186">186</a> finalizeConverter(c); +<a name="187" href="#187">187</a> } <em class="jxr_comment">// switch</em> +<a name="188" href="#188">188</a> <strong class="jxr_keyword">break</strong>; +<a name="189" href="#189">189</a> <strong class="jxr_keyword">case</strong> MIN_STATE: +<a name="190" href="#190">190</a> currentLiteral.append(c); +<a name="191" href="#191">191</a> <strong class="jxr_keyword">if</strong>(c &gt;= '0' &amp;&amp; c &lt;= '9') +<a name="192" href="#192">192</a> formattingInfo.min = formattingInfo.min*10 + (c - '0'); +<a name="193" href="#193">193</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(c == '.') +<a name="194" href="#194">194</a> state = DOT_STATE; +<a name="195" href="#195">195</a> <strong class="jxr_keyword">else</strong> { +<a name="196" href="#196">196</a> finalizeConverter(c); +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> <strong class="jxr_keyword">break</strong>; +<a name="199" href="#199">199</a> <strong class="jxr_keyword">case</strong> DOT_STATE: +<a name="200" href="#200">200</a> currentLiteral.append(c); +<a name="201" href="#201">201</a> <strong class="jxr_keyword">if</strong>(c &gt;= '0' &amp;&amp; c &lt;= '9') { +<a name="202" href="#202">202</a> formattingInfo.max = c - '0'; +<a name="203" href="#203">203</a> state = MAX_STATE; +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> <strong class="jxr_keyword">else</strong> { +<a name="206" href="#206">206</a> LogLog.error(<span class="jxr_string">"Error occured in position "</span>+i +<a name="207" href="#207">207</a> +<span class="jxr_string">".\n Was expecting digit, instead got char \&quot;"</span>+c+<span class="jxr_string">"\&quot;."</span>); +<a name="208" href="#208">208</a> state = LITERAL_STATE; +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> <strong class="jxr_keyword">break</strong>; +<a name="211" href="#211">211</a> <strong class="jxr_keyword">case</strong> MAX_STATE: +<a name="212" href="#212">212</a> currentLiteral.append(c); +<a name="213" href="#213">213</a> <strong class="jxr_keyword">if</strong>(c &gt;= '0' &amp;&amp; c &lt;= '9') +<a name="214" href="#214">214</a> formattingInfo.max = formattingInfo.max*10 + (c - '0'); +<a name="215" href="#215">215</a> <strong class="jxr_keyword">else</strong> { +<a name="216" href="#216">216</a> finalizeConverter(c); +<a name="217" href="#217">217</a> state = LITERAL_STATE; +<a name="218" href="#218">218</a> } +<a name="219" href="#219">219</a> <strong class="jxr_keyword">break</strong>; +<a name="220" href="#220">220</a> } <em class="jxr_comment">// switch</em> +<a name="221" href="#221">221</a> } <em class="jxr_comment">// while</em> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">if</strong>(currentLiteral.length() != 0) { +<a name="223" href="#223">223</a> addToList(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LiteralPatternConverter</a>(currentLiteral.toString())); +<a name="224" href="#224">224</a> <em class="jxr_comment">//LogLog.debug("Parsed LITERAL converter: \&quot;"+currentLiteral+"\&quot;.");</em> +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> <strong class="jxr_keyword">return</strong> head; +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> <strong class="jxr_keyword">protected</strong> +<a name="230" href="#230">230</a> <strong class="jxr_keyword">void</strong> finalizeConverter(<strong class="jxr_keyword">char</strong> c) { +<a name="231" href="#231">231</a> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> pc = <strong class="jxr_keyword">null</strong>; +<a name="232" href="#232">232</a> <strong class="jxr_keyword">switch</strong>(c) { +<a name="233" href="#233">233</a> <strong class="jxr_keyword">case</strong> 'c': +<a name="234" href="#234">234</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">CategoryPatternConverter</a>(formattingInfo, +<a name="235" href="#235">235</a> extractPrecisionOption()); +<a name="236" href="#236">236</a> <em class="jxr_comment">//LogLog.debug("CATEGORY converter.");</em> +<a name="237" href="#237">237</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="238" href="#238">238</a> currentLiteral.setLength(0); +<a name="239" href="#239">239</a> <strong class="jxr_keyword">break</strong>; +<a name="240" href="#240">240</a> <strong class="jxr_keyword">case</strong> 'C': +<a name="241" href="#241">241</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">ClassNamePatternConverter</a>(formattingInfo, +<a name="242" href="#242">242</a> extractPrecisionOption()); +<a name="243" href="#243">243</a> <em class="jxr_comment">//LogLog.debug("CLASS_NAME converter.");</em> +<a name="244" href="#244">244</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="245" href="#245">245</a> currentLiteral.setLength(0); +<a name="246" href="#246">246</a> <strong class="jxr_keyword">break</strong>; +<a name="247" href="#247">247</a> <strong class="jxr_keyword">case</strong> 'd': +<a name="248" href="#248">248</a> String dateFormatStr = AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT; +<a name="249" href="#249">249</a> DateFormat df; +<a name="250" href="#250">250</a> String dOpt = extractOption(); +<a name="251" href="#251">251</a> <strong class="jxr_keyword">if</strong>(dOpt != <strong class="jxr_keyword">null</strong>) +<a name="252" href="#252">252</a> dateFormatStr = dOpt; +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> <strong class="jxr_keyword">if</strong>(dateFormatStr.equalsIgnoreCase( +<a name="255" href="#255">255</a> AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT)) +<a name="256" href="#256">256</a> df = <strong class="jxr_keyword">new</strong> ISO8601DateFormat(); +<a name="257" href="#257">257</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(dateFormatStr.equalsIgnoreCase( +<a name="258" href="#258">258</a> AbsoluteTimeDateFormat.ABS_TIME_DATE_FORMAT)) +<a name="259" href="#259">259</a> df = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/AbsoluteTimeDateFormat.html">AbsoluteTimeDateFormat</a>(); +<a name="260" href="#260">260</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(dateFormatStr.equalsIgnoreCase( +<a name="261" href="#261">261</a> AbsoluteTimeDateFormat.DATE_AND_TIME_DATE_FORMAT)) +<a name="262" href="#262">262</a> df = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/DateTimeDateFormat.html">DateTimeDateFormat</a>(); +<a name="263" href="#263">263</a> <strong class="jxr_keyword">else</strong> { +<a name="264" href="#264">264</a> <strong class="jxr_keyword">try</strong> { +<a name="265" href="#265">265</a> df = <strong class="jxr_keyword">new</strong> SimpleDateFormat(dateFormatStr); +<a name="266" href="#266">266</a> } +<a name="267" href="#267">267</a> <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) { +<a name="268" href="#268">268</a> LogLog.error(<span class="jxr_string">"Could not instantiate SimpleDateFormat with "</span> + +<a name="269" href="#269">269</a> dateFormatStr, e); +<a name="270" href="#270">270</a> df = (DateFormat) OptionConverter.instantiateByClassName( +<a name="271" href="#271">271</a> <span class="jxr_string">"org.apache.log4j.helpers.ISO8601DateFormat"</span>, +<a name="272" href="#272">272</a> DateFormat.<strong class="jxr_keyword">class</strong>, <strong class="jxr_keyword">null</strong>); +<a name="273" href="#273">273</a> } +<a name="274" href="#274">274</a> } +<a name="275" href="#275">275</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">DatePatternConverter</a>(formattingInfo, df); +<a name="276" href="#276">276</a> <em class="jxr_comment">//LogLog.debug("DATE converter {"+dateFormatStr+"}.");</em> +<a name="277" href="#277">277</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="278" href="#278">278</a> currentLiteral.setLength(0); +<a name="279" href="#279">279</a> <strong class="jxr_keyword">break</strong>; +<a name="280" href="#280">280</a> <strong class="jxr_keyword">case</strong> 'F': +<a name="281" href="#281">281</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LocationPatternConverter</a>(formattingInfo, +<a name="282" href="#282">282</a> FILE_LOCATION_CONVERTER); +<a name="283" href="#283">283</a> <em class="jxr_comment">//LogLog.debug("File name converter.");</em> +<a name="284" href="#284">284</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="285" href="#285">285</a> currentLiteral.setLength(0); +<a name="286" href="#286">286</a> <strong class="jxr_keyword">break</strong>; +<a name="287" href="#287">287</a> <strong class="jxr_keyword">case</strong> 'l': +<a name="288" href="#288">288</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LocationPatternConverter</a>(formattingInfo, +<a name="289" href="#289">289</a> FULL_LOCATION_CONVERTER); +<a name="290" href="#290">290</a> <em class="jxr_comment">//LogLog.debug("Location converter.");</em> +<a name="291" href="#291">291</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="292" href="#292">292</a> currentLiteral.setLength(0); +<a name="293" href="#293">293</a> <strong class="jxr_keyword">break</strong>; +<a name="294" href="#294">294</a> <strong class="jxr_keyword">case</strong> 'L': +<a name="295" href="#295">295</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LocationPatternConverter</a>(formattingInfo, +<a name="296" href="#296">296</a> LINE_LOCATION_CONVERTER); +<a name="297" href="#297">297</a> <em class="jxr_comment">//LogLog.debug("LINE NUMBER converter.");</em> +<a name="298" href="#298">298</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="299" href="#299">299</a> currentLiteral.setLength(0); +<a name="300" href="#300">300</a> <strong class="jxr_keyword">break</strong>; +<a name="301" href="#301">301</a> <strong class="jxr_keyword">case</strong> 'm': +<a name="302" href="#302">302</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">BasicPatternConverter</a>(formattingInfo, MESSAGE_CONVERTER); +<a name="303" href="#303">303</a> <em class="jxr_comment">//LogLog.debug("MESSAGE converter.");</em> +<a name="304" href="#304">304</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="305" href="#305">305</a> currentLiteral.setLength(0); +<a name="306" href="#306">306</a> <strong class="jxr_keyword">break</strong>; +<a name="307" href="#307">307</a> <strong class="jxr_keyword">case</strong> 'M': +<a name="308" href="#308">308</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LocationPatternConverter</a>(formattingInfo, +<a name="309" href="#309">309</a> METHOD_LOCATION_CONVERTER); +<a name="310" href="#310">310</a> <em class="jxr_comment">//LogLog.debug("METHOD converter.");</em> +<a name="311" href="#311">311</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="312" href="#312">312</a> currentLiteral.setLength(0); +<a name="313" href="#313">313</a> <strong class="jxr_keyword">break</strong>; +<a name="314" href="#314">314</a> <strong class="jxr_keyword">case</strong> 'p': +<a name="315" href="#315">315</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">BasicPatternConverter</a>(formattingInfo, LEVEL_CONVERTER); +<a name="316" href="#316">316</a> <em class="jxr_comment">//LogLog.debug("LEVEL converter.");</em> +<a name="317" href="#317">317</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="318" href="#318">318</a> currentLiteral.setLength(0); +<a name="319" href="#319">319</a> <strong class="jxr_keyword">break</strong>; +<a name="320" href="#320">320</a> <strong class="jxr_keyword">case</strong> 'r': +<a name="321" href="#321">321</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">BasicPatternConverter</a>(formattingInfo, +<a name="322" href="#322">322</a> RELATIVE_TIME_CONVERTER); +<a name="323" href="#323">323</a> <em class="jxr_comment">//LogLog.debug("RELATIVE time converter.");</em> +<a name="324" href="#324">324</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="325" href="#325">325</a> currentLiteral.setLength(0); +<a name="326" href="#326">326</a> <strong class="jxr_keyword">break</strong>; +<a name="327" href="#327">327</a> <strong class="jxr_keyword">case</strong> 't': +<a name="328" href="#328">328</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">BasicPatternConverter</a>(formattingInfo, THREAD_CONVERTER); +<a name="329" href="#329">329</a> <em class="jxr_comment">//LogLog.debug("THREAD converter.");</em> +<a name="330" href="#330">330</a> <em class="jxr_comment">//formattingInfo.dump();</em> +<a name="331" href="#331">331</a> currentLiteral.setLength(0); +<a name="332" href="#332">332</a> <strong class="jxr_keyword">break</strong>; +<a name="333" href="#333">333</a> <em class="jxr_comment">/*<em class="jxr_comment">case 'u':</em></em> +<a name="334" href="#334">334</a> <em class="jxr_comment"> if(i &lt; patternLength) {</em> +<a name="335" href="#335">335</a> <em class="jxr_comment"> char cNext = pattern.charAt(i);</em> +<a name="336" href="#336">336</a> <em class="jxr_comment"> if(cNext &gt;= '0' &amp;&amp; cNext &lt;= '9') {</em> +<a name="337" href="#337">337</a> <em class="jxr_comment"> pc = new UserFieldPatternConverter(formattingInfo, cNext - '0');</em> +<a name="338" href="#338">338</a> <em class="jxr_comment"> LogLog.debug("USER converter ["+cNext+"].");</em> +<a name="339" href="#339">339</a> <em class="jxr_comment"> formattingInfo.dump();</em> +<a name="340" href="#340">340</a> <em class="jxr_comment"> currentLiteral.setLength(0);</em> +<a name="341" href="#341">341</a> <em class="jxr_comment"> i++;</em> +<a name="342" href="#342">342</a> <em class="jxr_comment"> }</em> +<a name="343" href="#343">343</a> <em class="jxr_comment"> else</em> +<a name="344" href="#344">344</a> <em class="jxr_comment"> LogLog.error("Unexpected char" +cNext+" at position "+i);</em> +<a name="345" href="#345">345</a> <em class="jxr_comment"> }</em> +<a name="346" href="#346">346</a> <em class="jxr_comment"> break;*/</em> +<a name="347" href="#347">347</a> <strong class="jxr_keyword">case</strong> 'x': +<a name="348" href="#348">348</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">BasicPatternConverter</a>(formattingInfo, NDC_CONVERTER); +<a name="349" href="#349">349</a> <em class="jxr_comment">//LogLog.debug("NDC converter.");</em> +<a name="350" href="#350">350</a> currentLiteral.setLength(0); +<a name="351" href="#351">351</a> <strong class="jxr_keyword">break</strong>; +<a name="352" href="#352">352</a> <strong class="jxr_keyword">case</strong> 'X': +<a name="353" href="#353">353</a> String xOpt = extractOption(); +<a name="354" href="#354">354</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">MDCPatternConverter</a>(formattingInfo, xOpt); +<a name="355" href="#355">355</a> currentLiteral.setLength(0); +<a name="356" href="#356">356</a> <strong class="jxr_keyword">break</strong>; +<a name="357" href="#357">357</a> <strong class="jxr_keyword">default</strong>: +<a name="358" href="#358">358</a> LogLog.error(<span class="jxr_string">"Unexpected char ["</span> +c+<span class="jxr_string">"] at position "</span>+i +<a name="359" href="#359">359</a> +<span class="jxr_string">" in conversion patterrn."</span>); +<a name="360" href="#360">360</a> pc = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LiteralPatternConverter</a>(currentLiteral.toString()); +<a name="361" href="#361">361</a> currentLiteral.setLength(0); +<a name="362" href="#362">362</a> } +<a name="363" href="#363">363</a> +<a name="364" href="#364">364</a> addConverter(pc); +<a name="365" href="#365">365</a> } +<a name="366" href="#366">366</a> +<a name="367" href="#367">367</a> <strong class="jxr_keyword">protected</strong> +<a name="368" href="#368">368</a> <strong class="jxr_keyword">void</strong> addConverter(<a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> pc) { +<a name="369" href="#369">369</a> currentLiteral.setLength(0); +<a name="370" href="#370">370</a> <em class="jxr_comment">// Add the pattern converter to the list.</em> +<a name="371" href="#371">371</a> addToList(pc); +<a name="372" href="#372">372</a> <em class="jxr_comment">// Next pattern is assumed to be a literal.</em> +<a name="373" href="#373">373</a> state = LITERAL_STATE; +<a name="374" href="#374">374</a> <em class="jxr_comment">// Reset formatting info</em> +<a name="375" href="#375">375</a> formattingInfo.reset(); +<a name="376" href="#376">376</a> } +<a name="377" href="#377">377</a> +<a name="378" href="#378">378</a> <em class="jxr_comment">// ---------------------------------------------------------------------</em> +<a name="379" href="#379">379</a> <em class="jxr_comment">// PatternConverters</em> +<a name="380" href="#380">380</a> <em class="jxr_comment">// ---------------------------------------------------------------------</em> +<a name="381" href="#381">381</a> +<a name="382" href="#382">382</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">BasicPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> { +<a name="383" href="#383">383</a> <strong class="jxr_keyword">int</strong> type; +<a name="384" href="#384">384</a> +<a name="385" href="#385">385</a> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">BasicPatternConverter</a>(<a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> formattingInfo, <strong class="jxr_keyword">int</strong> type) { +<a name="386" href="#386">386</a> <strong class="jxr_keyword">super</strong>(formattingInfo); +<a name="387" href="#387">387</a> <strong class="jxr_keyword">this</strong>.type = type; +<a name="388" href="#388">388</a> } +<a name="389" href="#389">389</a> +<a name="390" href="#390">390</a> <strong class="jxr_keyword">public</strong> +<a name="391" href="#391">391</a> String convert(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="392" href="#392">392</a> <strong class="jxr_keyword">switch</strong>(type) { +<a name="393" href="#393">393</a> <strong class="jxr_keyword">case</strong> RELATIVE_TIME_CONVERTER: +<a name="394" href="#394">394</a> <strong class="jxr_keyword">return</strong> (Long.toString(event.timeStamp - LoggingEvent.getStartTime())); +<a name="395" href="#395">395</a> <strong class="jxr_keyword">case</strong> THREAD_CONVERTER: +<a name="396" href="#396">396</a> <strong class="jxr_keyword">return</strong> event.getThreadName(); +<a name="397" href="#397">397</a> <strong class="jxr_keyword">case</strong> LEVEL_CONVERTER: +<a name="398" href="#398">398</a> <strong class="jxr_keyword">return</strong> event.getLevel().toString(); +<a name="399" href="#399">399</a> <strong class="jxr_keyword">case</strong> NDC_CONVERTER: +<a name="400" href="#400">400</a> <strong class="jxr_keyword">return</strong> event.getNDC(); +<a name="401" href="#401">401</a> <strong class="jxr_keyword">case</strong> MESSAGE_CONVERTER: { +<a name="402" href="#402">402</a> <strong class="jxr_keyword">return</strong> event.getRenderedMessage(); +<a name="403" href="#403">403</a> } +<a name="404" href="#404">404</a> <strong class="jxr_keyword">default</strong>: <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="405" href="#405">405</a> } +<a name="406" href="#406">406</a> } +<a name="407" href="#407">407</a> } +<a name="408" href="#408">408</a> +<a name="409" href="#409">409</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LiteralPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> { +<a name="410" href="#410">410</a> <strong class="jxr_keyword">private</strong> String literal; +<a name="411" href="#411">411</a> +<a name="412" href="#412">412</a> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LiteralPatternConverter</a>(String value) { +<a name="413" href="#413">413</a> literal = value; +<a name="414" href="#414">414</a> } +<a name="415" href="#415">415</a> +<a name="416" href="#416">416</a> <strong class="jxr_keyword">public</strong> +<a name="417" href="#417">417</a> <strong class="jxr_keyword">final</strong> +<a name="418" href="#418">418</a> <strong class="jxr_keyword">void</strong> format(StringBuffer sbuf, <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="419" href="#419">419</a> sbuf.append(literal); +<a name="420" href="#420">420</a> } +<a name="421" href="#421">421</a> +<a name="422" href="#422">422</a> <strong class="jxr_keyword">public</strong> +<a name="423" href="#423">423</a> String convert(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="424" href="#424">424</a> <strong class="jxr_keyword">return</strong> literal; +<a name="425" href="#425">425</a> } +<a name="426" href="#426">426</a> } +<a name="427" href="#427">427</a> +<a name="428" href="#428">428</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">DatePatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> { +<a name="429" href="#429">429</a> <strong class="jxr_keyword">private</strong> DateFormat df; +<a name="430" href="#430">430</a> <strong class="jxr_keyword">private</strong> Date date; +<a name="431" href="#431">431</a> +<a name="432" href="#432">432</a> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">DatePatternConverter</a>(<a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> formattingInfo, DateFormat df) { +<a name="433" href="#433">433</a> <strong class="jxr_keyword">super</strong>(formattingInfo); +<a name="434" href="#434">434</a> date = <strong class="jxr_keyword">new</strong> Date(); +<a name="435" href="#435">435</a> <strong class="jxr_keyword">this</strong>.df = df; +<a name="436" href="#436">436</a> } +<a name="437" href="#437">437</a> +<a name="438" href="#438">438</a> <strong class="jxr_keyword">public</strong> +<a name="439" href="#439">439</a> String convert(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="440" href="#440">440</a> date.setTime(event.timeStamp); +<a name="441" href="#441">441</a> String converted = <strong class="jxr_keyword">null</strong>; +<a name="442" href="#442">442</a> <strong class="jxr_keyword">try</strong> { +<a name="443" href="#443">443</a> converted = df.format(date); +<a name="444" href="#444">444</a> } +<a name="445" href="#445">445</a> <strong class="jxr_keyword">catch</strong> (Exception ex) { +<a name="446" href="#446">446</a> LogLog.error(<span class="jxr_string">"Error occured while converting date."</span>, ex); +<a name="447" href="#447">447</a> } +<a name="448" href="#448">448</a> <strong class="jxr_keyword">return</strong> converted; +<a name="449" href="#449">449</a> } +<a name="450" href="#450">450</a> } +<a name="451" href="#451">451</a> +<a name="452" href="#452">452</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">MDCPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> { +<a name="453" href="#453">453</a> <strong class="jxr_keyword">private</strong> String key; +<a name="454" href="#454">454</a> +<a name="455" href="#455">455</a> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">MDCPatternConverter</a>(<a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> formattingInfo, String key) { +<a name="456" href="#456">456</a> <strong class="jxr_keyword">super</strong>(formattingInfo); +<a name="457" href="#457">457</a> <strong class="jxr_keyword">this</strong>.key = key; +<a name="458" href="#458">458</a> } +<a name="459" href="#459">459</a> +<a name="460" href="#460">460</a> <strong class="jxr_keyword">public</strong> +<a name="461" href="#461">461</a> String convert(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="462" href="#462">462</a> <strong class="jxr_keyword">if</strong> (key == <strong class="jxr_keyword">null</strong>) { +<a name="463" href="#463">463</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"{"</span>); +<a name="464" href="#464">464</a> Map properties = event.getProperties(); +<a name="465" href="#465">465</a> <strong class="jxr_keyword">if</strong> (properties.size() &gt; 0) { +<a name="466" href="#466">466</a> Object[] keys = properties.keySet().toArray(); +<a name="467" href="#467">467</a> Arrays.sort(keys); +<a name="468" href="#468">468</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; keys.length; i++) { +<a name="469" href="#469">469</a> buf.append('{'); +<a name="470" href="#470">470</a> buf.append(keys[i]); +<a name="471" href="#471">471</a> buf.append(','); +<a name="472" href="#472">472</a> buf.append(properties.get(keys[i])); +<a name="473" href="#473">473</a> buf.append('}'); +<a name="474" href="#474">474</a> } +<a name="475" href="#475">475</a> } +<a name="476" href="#476">476</a> buf.append('}'); +<a name="477" href="#477">477</a> <strong class="jxr_keyword">return</strong> buf.toString(); +<a name="478" href="#478">478</a> } <strong class="jxr_keyword">else</strong> { +<a name="479" href="#479">479</a> Object val = event.getMDC(key); +<a name="480" href="#480">480</a> <strong class="jxr_keyword">if</strong>(val == <strong class="jxr_keyword">null</strong>) { +<a name="481" href="#481">481</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="482" href="#482">482</a> } <strong class="jxr_keyword">else</strong> { +<a name="483" href="#483">483</a> <strong class="jxr_keyword">return</strong> val.toString(); +<a name="484" href="#484">484</a> } +<a name="485" href="#485">485</a> } +<a name="486" href="#486">486</a> } +<a name="487" href="#487">487</a> } +<a name="488" href="#488">488</a> +<a name="489" href="#489">489</a> +<a name="490" href="#490">490</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LocationPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> { +<a name="491" href="#491">491</a> <strong class="jxr_keyword">int</strong> type; +<a name="492" href="#492">492</a> +<a name="493" href="#493">493</a> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LocationPatternConverter</a>(<a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> formattingInfo, <strong class="jxr_keyword">int</strong> type) { +<a name="494" href="#494">494</a> <strong class="jxr_keyword">super</strong>(formattingInfo); +<a name="495" href="#495">495</a> <strong class="jxr_keyword">this</strong>.type = type; +<a name="496" href="#496">496</a> } +<a name="497" href="#497">497</a> +<a name="498" href="#498">498</a> <strong class="jxr_keyword">public</strong> +<a name="499" href="#499">499</a> String convert(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="500" href="#500">500</a> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> locationInfo = event.getLocationInformation(); +<a name="501" href="#501">501</a> <strong class="jxr_keyword">switch</strong>(type) { +<a name="502" href="#502">502</a> <strong class="jxr_keyword">case</strong> FULL_LOCATION_CONVERTER: +<a name="503" href="#503">503</a> <strong class="jxr_keyword">return</strong> locationInfo.fullInfo; +<a name="504" href="#504">504</a> <strong class="jxr_keyword">case</strong> METHOD_LOCATION_CONVERTER: +<a name="505" href="#505">505</a> <strong class="jxr_keyword">return</strong> locationInfo.getMethodName(); +<a name="506" href="#506">506</a> <strong class="jxr_keyword">case</strong> LINE_LOCATION_CONVERTER: +<a name="507" href="#507">507</a> <strong class="jxr_keyword">return</strong> locationInfo.getLineNumber(); +<a name="508" href="#508">508</a> <strong class="jxr_keyword">case</strong> FILE_LOCATION_CONVERTER: +<a name="509" href="#509">509</a> <strong class="jxr_keyword">return</strong> locationInfo.getFileName(); +<a name="510" href="#510">510</a> <strong class="jxr_keyword">default</strong>: <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="511" href="#511">511</a> } +<a name="512" href="#512">512</a> } +<a name="513" href="#513">513</a> } +<a name="514" href="#514">514</a> +<a name="515" href="#515">515</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">NamedPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> { +<a name="516" href="#516">516</a> <strong class="jxr_keyword">int</strong> precision; +<a name="517" href="#517">517</a> +<a name="518" href="#518">518</a> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">NamedPatternConverter</a>(<a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> formattingInfo, <strong class="jxr_keyword">int</strong> precision) { +<a name="519" href="#519">519</a> <strong class="jxr_keyword">super</strong>(formattingInfo); +<a name="520" href="#520">520</a> <strong class="jxr_keyword">this</strong>.precision = precision; +<a name="521" href="#521">521</a> } +<a name="522" href="#522">522</a> +<a name="523" href="#523">523</a> <strong class="jxr_keyword">abstract</strong> +<a name="524" href="#524">524</a> String getFullyQualifiedName(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event); +<a name="525" href="#525">525</a> +<a name="526" href="#526">526</a> <strong class="jxr_keyword">public</strong> +<a name="527" href="#527">527</a> String convert(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="528" href="#528">528</a> String n = getFullyQualifiedName(event); +<a name="529" href="#529">529</a> <strong class="jxr_keyword">if</strong>(precision &lt;= 0) +<a name="530" href="#530">530</a> <strong class="jxr_keyword">return</strong> n; +<a name="531" href="#531">531</a> <strong class="jxr_keyword">else</strong> { +<a name="532" href="#532">532</a> <strong class="jxr_keyword">int</strong> len = n.length(); +<a name="533" href="#533">533</a> +<a name="534" href="#534">534</a> <em class="jxr_comment">// We substract 1 from 'len' when assigning to 'end' to avoid out of</em> +<a name="535" href="#535">535</a> <em class="jxr_comment">// bounds exception in return r.substring(end+1, len). This can happen if</em> +<a name="536" href="#536">536</a> <em class="jxr_comment">// precision is 1 and the category name ends with a dot.</em> +<a name="537" href="#537">537</a> <strong class="jxr_keyword">int</strong> end = len -1 ; +<a name="538" href="#538">538</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = precision; i &gt; 0; i--) { +<a name="539" href="#539">539</a> end = n.lastIndexOf('.', end-1); +<a name="540" href="#540">540</a> <strong class="jxr_keyword">if</strong>(end == -1) +<a name="541" href="#541">541</a> <strong class="jxr_keyword">return</strong> n; +<a name="542" href="#542">542</a> } +<a name="543" href="#543">543</a> <strong class="jxr_keyword">return</strong> n.substring(end+1, len); +<a name="544" href="#544">544</a> } +<a name="545" href="#545">545</a> } +<a name="546" href="#546">546</a> } +<a name="547" href="#547">547</a> +<a name="548" href="#548">548</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">ClassNamePatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">NamedPatternConverter</a> { +<a name="549" href="#549">549</a> +<a name="550" href="#550">550</a> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">ClassNamePatternConverter</a>(<a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> formattingInfo, <strong class="jxr_keyword">int</strong> precision) { +<a name="551" href="#551">551</a> <strong class="jxr_keyword">super</strong>(formattingInfo, precision); +<a name="552" href="#552">552</a> } +<a name="553" href="#553">553</a> +<a name="554" href="#554">554</a> String getFullyQualifiedName(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="555" href="#555">555</a> <strong class="jxr_keyword">return</strong> event.getLocationInformation().getClassName(); +<a name="556" href="#556">556</a> } +<a name="557" href="#557">557</a> } +<a name="558" href="#558">558</a> +<a name="559" href="#559">559</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">CategoryPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">NamedPatternConverter</a> { +<a name="560" href="#560">560</a> +<a name="561" href="#561">561</a> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">CategoryPatternConverter</a>(<a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> formattingInfo, <strong class="jxr_keyword">int</strong> precision) { +<a name="562" href="#562">562</a> <strong class="jxr_keyword">super</strong>(formattingInfo, precision); +<a name="563" href="#563">563</a> } +<a name="564" href="#564">564</a> +<a name="565" href="#565">565</a> String getFullyQualifiedName(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="566" href="#566">566</a> <strong class="jxr_keyword">return</strong> event.getLoggerName(); +<a name="567" href="#567">567</a> } +<a name="568" href="#568">568</a> } +<a name="569" href="#569">569</a> } +<a name="570" href="#570">570</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/QuietWriter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/QuietWriter.html new file mode 100644 index 00000000000..bae5bc8bdd6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/QuietWriter.html @@ -0,0 +1,90 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>QuietWriter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/QuietWriter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.Writer; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.FilterWriter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorCode; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> QuietWriter does not throw exceptions when things go</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> wrong. Instead, it delegates error handling to its {@link ErrorHandler}. </em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> @since 0.7.3</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">*/</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/QuietWriter.html">QuietWriter</a> <strong class="jxr_keyword">extends</strong> FilterWriter { +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> errorHandler; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> +<a name="39" href="#39">39</a> <a href="../../../../org/apache/log4j/helpers/QuietWriter.html">QuietWriter</a>(Writer writer, <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> errorHandler) { +<a name="40" href="#40">40</a> <strong class="jxr_keyword">super</strong>(writer); +<a name="41" href="#41">41</a> setErrorHandler(errorHandler); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">void</strong> write(String string) { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">if</strong> (string != <strong class="jxr_keyword">null</strong>) { +<a name="47" href="#47">47</a> <strong class="jxr_keyword">try</strong> { +<a name="48" href="#48">48</a> out.write(string); +<a name="49" href="#49">49</a> } <strong class="jxr_keyword">catch</strong>(Exception e) { +<a name="50" href="#50">50</a> errorHandler.error(<span class="jxr_string">"Failed to write ["</span>+string+<span class="jxr_string">"]."</span>, e, +<a name="51" href="#51">51</a> ErrorCode.WRITE_FAILURE); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">void</strong> flush() { +<a name="58" href="#58">58</a> <strong class="jxr_keyword">try</strong> { +<a name="59" href="#59">59</a> out.flush(); +<a name="60" href="#60">60</a> } <strong class="jxr_keyword">catch</strong>(Exception e) { +<a name="61" href="#61">61</a> errorHandler.error(<span class="jxr_string">"Failed to flush writer,"</span>, e, +<a name="62" href="#62">62</a> ErrorCode.FLUSH_FAILURE); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">void</strong> setErrorHandler(<a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> eh) { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">if</strong>(eh == <strong class="jxr_keyword">null</strong>) { +<a name="70" href="#70">70</a> <em class="jxr_comment">// This is a programming error on the part of the enclosing appender.</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Attempted to set null ErrorHandler."</span>); +<a name="72" href="#72">72</a> } <strong class="jxr_keyword">else</strong> { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">this</strong>.errorHandler = eh; +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/RelativeTimeDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/RelativeTimeDateFormat.html new file mode 100644 index 00000000000..e385ec09df4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/RelativeTimeDateFormat.html @@ -0,0 +1,79 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>RelativeTimeDateFormat xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/RelativeTimeDateFormat.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.text.FieldPosition; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.text.ParsePosition; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> Formats a {@link Date} by printing the number of milliseconds</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> elapsed since construction of the format. This is the fastest</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> printing DateFormat in the package.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> </em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> </em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> @since 0.7.5</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">*/</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html">RelativeTimeDateFormat</a> <strong class="jxr_keyword">extends</strong> DateFormat { +<a name="35" href="#35">35</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 7055751607085611984L; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> startTime; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> +<a name="41" href="#41">41</a> <a href="../../../../org/apache/log4j/helpers/RelativeTimeDateFormat.html">RelativeTimeDateFormat</a>() { +<a name="42" href="#42">42</a> <strong class="jxr_keyword">this</strong>.startTime = System.currentTimeMillis(); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> Appends to &lt;code&gt;sbuf&lt;/code&gt; the number of milliseconds elapsed</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> since the start of the application. </em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> </em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> @since 0.7.5</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> */</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> +<a name="52" href="#52">52</a> StringBuffer format(Date date, StringBuffer sbuf, +<a name="53" href="#53">53</a> FieldPosition fieldPosition) { +<a name="54" href="#54">54</a> <em class="jxr_comment">//System.err.println(":"+ date.getTime() + " - " + startTime);</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">return</strong> sbuf.append((date.getTime() - startTime)); +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> This method does not do anything but return &lt;code&gt;null&lt;/code&gt;.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> +<a name="62" href="#62">62</a> Date parse(java.lang.String s, ParsePosition pos) { +<a name="63" href="#63">63</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/SyslogQuietWriter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/SyslogQuietWriter.html new file mode 100644 index 00000000000..2e144740721 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/SyslogQuietWriter.html @@ -0,0 +1,70 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SyslogQuietWriter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/SyslogQuietWriter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.Writer; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> SyslogQuietWriter extends QuietWriter by prepending the syslog</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> level code before each printed String.</em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> @since 0.7.3</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">*/</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html">SyslogQuietWriter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/QuietWriter.html">QuietWriter</a> { +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">int</strong> syslogFacility; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">int</strong> level; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> +<a name="37" href="#37">37</a> <a href="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html">SyslogQuietWriter</a>(Writer writer, <strong class="jxr_keyword">int</strong> syslogFacility, <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> eh) { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">super</strong>(writer, eh); +<a name="39" href="#39">39</a> <strong class="jxr_keyword">this</strong>.syslogFacility = syslogFacility; +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">void</strong> setLevel(<strong class="jxr_keyword">int</strong> level) { +<a name="44" href="#44">44</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="45" href="#45">45</a> } +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">void</strong> setSyslogFacility(<strong class="jxr_keyword">int</strong> syslogFacility) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">this</strong>.syslogFacility = syslogFacility; +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">void</strong> write(String string) { +<a name="54" href="#54">54</a> <strong class="jxr_keyword">super</strong>.write(<span class="jxr_string">"&lt;"</span>+(syslogFacility | level)+<span class="jxr_string">"&gt;"</span> + string); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/SyslogWriter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/SyslogWriter.html new file mode 100644 index 00000000000..9ce1e1b541b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/SyslogWriter.html @@ -0,0 +1,159 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SyslogWriter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/SyslogWriter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.Writer; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.net.DatagramSocket; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.net.InetAddress; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.net.DatagramPacket; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.net.UnknownHostException; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.net.SocketException; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.net.MalformedURLException; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> SyslogWriter is a wrapper around the java.net.DatagramSocket class</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> so that it behaves like a java.io.Writer.</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @since 0.7.3</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">*/</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/SyslogWriter.html">SyslogWriter</a> <strong class="jxr_keyword">extends</strong> Writer { +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> SYSLOG_PORT = 514; +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * Host string from last constructed SyslogWriter.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">static</strong> String syslogHost; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">private</strong> InetAddress address; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> port; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">private</strong> DatagramSocket ds; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * Constructs a new instance of SyslogWriter.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @param syslogHost host name, may not be null. A port</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * may be specified by following the name or IPv4 literal address with</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * a colon and a decimal port number. To specify a port with an IPv6</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * address, enclose the IPv6 address in square brackets before appending</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * the colon and decimal port number.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> +<a name="59" href="#59">59</a> <a href="../../../../org/apache/log4j/helpers/SyslogWriter.html">SyslogWriter</a>(<strong class="jxr_keyword">final</strong> String syslogHost) { +<a name="60" href="#60">60</a> SyslogWriter.syslogHost = syslogHost; +<a name="61" href="#61">61</a> <strong class="jxr_keyword">if</strong> (syslogHost == <strong class="jxr_keyword">null</strong>) { +<a name="62" href="#62">62</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"syslogHost"</span>); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> String host = syslogHost; +<a name="66" href="#66">66</a> <strong class="jxr_keyword">int</strong> urlPort = -1; +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_comment">//</em> +<a name="69" href="#69">69</a> <em class="jxr_comment">// If not an unbracketed IPv6 address then</em> +<a name="70" href="#70">70</a> <em class="jxr_comment">// parse as a URL</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">//</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">if</strong> (host.indexOf(<span class="jxr_string">"["</span>) != -1 || host.indexOf(':') == host.lastIndexOf(':')) { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">try</strong> { +<a name="74" href="#74">74</a> URL url = <strong class="jxr_keyword">new</strong> URL(<span class="jxr_string">"http://"</span> + host); +<a name="75" href="#75">75</a> <strong class="jxr_keyword">if</strong> (url.getHost() != <strong class="jxr_keyword">null</strong>) { +<a name="76" href="#76">76</a> host = url.getHost(); +<a name="77" href="#77">77</a> <em class="jxr_comment">// if host is a IPv6 literal, strip off the brackets</em> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">if</strong>(host.startsWith(<span class="jxr_string">"["</span>) &amp;&amp; host.charAt(host.length() - 1) == ']') { +<a name="79" href="#79">79</a> host = host.substring(1, host.length() - 1); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> urlPort = url.getPort(); +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> } <strong class="jxr_keyword">catch</strong>(MalformedURLException e) { +<a name="84" href="#84">84</a> LogLog.error(<span class="jxr_string">"Malformed URL: will attempt to interpret as InetAddress."</span>, e); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">if</strong> (urlPort == -1) { +<a name="89" href="#89">89</a> urlPort = SYSLOG_PORT; +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> port = urlPort; +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">try</strong> { +<a name="94" href="#94">94</a> <strong class="jxr_keyword">this</strong>.address = InetAddress.getByName(host); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> <strong class="jxr_keyword">catch</strong> (UnknownHostException e) { +<a name="97" href="#97">97</a> LogLog.error(<span class="jxr_string">"Could not find "</span> + host + +<a name="98" href="#98">98</a> <span class="jxr_string">". All logging will FAIL."</span>, e); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">try</strong> { +<a name="102" href="#102">102</a> <strong class="jxr_keyword">this</strong>.ds = <strong class="jxr_keyword">new</strong> DatagramSocket(); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> <strong class="jxr_keyword">catch</strong> (SocketException e) { +<a name="105" href="#105">105</a> e.printStackTrace(); +<a name="106" href="#106">106</a> LogLog.error(<span class="jxr_string">"Could not instantiate DatagramSocket to "</span> + host + +<a name="107" href="#107">107</a> <span class="jxr_string">". All logging will FAIL."</span>, e); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">public</strong> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">char</strong>[] buf, <strong class="jxr_keyword">int</strong> off, <strong class="jxr_keyword">int</strong> len) <strong class="jxr_keyword">throws</strong> IOException { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">this</strong>.write(<strong class="jxr_keyword">new</strong> String(buf, off, len)); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">public</strong> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">final</strong> String string) <strong class="jxr_keyword">throws</strong> IOException { +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.ds != <strong class="jxr_keyword">null</strong> &amp;&amp; <strong class="jxr_keyword">this</strong>.address != <strong class="jxr_keyword">null</strong>) { +<a name="122" href="#122">122</a> byte[] bytes = string.getBytes(); +<a name="123" href="#123">123</a> <em class="jxr_comment">//</em> +<a name="124" href="#124">124</a> <em class="jxr_comment">// syslog packets must be less than 1024 bytes</em> +<a name="125" href="#125">125</a> <em class="jxr_comment">//</em> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">int</strong> bytesLength = bytes.length; +<a name="127" href="#127">127</a> <strong class="jxr_keyword">if</strong> (bytesLength &gt;= 1024) { +<a name="128" href="#128">128</a> bytesLength = 1024; +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> DatagramPacket packet = <strong class="jxr_keyword">new</strong> DatagramPacket(bytes, bytesLength, +<a name="131" href="#131">131</a> address, port); +<a name="132" href="#132">132</a> ds.send(packet); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">public</strong> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">void</strong> flush() {} +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="141" href="#141">141</a> <strong class="jxr_keyword">if</strong> (ds != <strong class="jxr_keyword">null</strong>) { +<a name="142" href="#142">142</a> ds.close(); +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/ThreadLocalMap.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/ThreadLocalMap.html new file mode 100644 index 00000000000..f03faf83ced --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/ThreadLocalMap.html @@ -0,0 +1,56 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ThreadLocalMap xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/ThreadLocalMap.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> &lt;code&gt;ThreadLocalMap&lt;/code&gt; extends {@link InheritableThreadLocal}</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> to bequeath a copy of the hashtable of the MDC of the parent</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> thread.</em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> @since 1.2</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">*/</em> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/ThreadLocalMap.html">ThreadLocalMap</a> <strong class="jxr_keyword">extends</strong> InheritableThreadLocal { +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">final</strong> +<a name="34" href="#34">34</a> Object childValue(Object parentValue) { +<a name="35" href="#35">35</a> Hashtable ht = (Hashtable) parentValue; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">if</strong>(ht != <strong class="jxr_keyword">null</strong>) { +<a name="37" href="#37">37</a> <strong class="jxr_keyword">return</strong> ht.clone(); +<a name="38" href="#38">38</a> } <strong class="jxr_keyword">else</strong> { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/Transform.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/Transform.html new file mode 100644 index 00000000000..adfff21fb1d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/Transform.html @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Transform xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/helpers/Transform.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.helpers; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> Utility class for transforming strings.</em> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> @author Michael A. McAngus </em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> */</em> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/Transform.html">Transform</a> { +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CDATA_START = <span class="jxr_string">"&lt;![CDATA["</span>; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CDATA_END = <span class="jxr_string">"]]&gt;"</span>; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CDATA_PSEUDO_END = <span class="jxr_string">"]]&amp;gt;"</span>; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CDATA_EMBEDED_END = CDATA_END + CDATA_PSEUDO_END + CDATA_START; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> CDATA_END_LEN = CDATA_END.length(); +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * This method takes a string which may contain HTML tags (ie,</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * &amp;lt;b&amp;gt;, &amp;lt;table&amp;gt;, etc) and replaces any</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * '&lt;', '&gt;' , '&amp;' or '&quot;'</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * characters with respective predefined entity references.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> *</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @param input The text to be converted.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * @return The input string with the special characters replaced.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> String escapeTags(<strong class="jxr_keyword">final</strong> String input) { +<a name="44" href="#44">44</a> <em class="jxr_comment">//Check if the string is null, zero length or devoid of special characters</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">// if so, return what was sent in.</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">if</strong>(input == <strong class="jxr_keyword">null</strong> +<a name="48" href="#48">48</a> || input.length() == 0 +<a name="49" href="#49">49</a> || (input.indexOf('&quot;') == -1 &amp;&amp; +<a name="50" href="#50">50</a> input.indexOf('&amp;') == -1 &amp;&amp; +<a name="51" href="#51">51</a> input.indexOf('&lt;') == -1 &amp;&amp; +<a name="52" href="#52">52</a> input.indexOf('&gt;') == -1)) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">return</strong> input; +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_comment">//Use a StringBuffer in lieu of String concatenation -- it is</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">//much more efficient this way.</em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(input.length() + 6); +<a name="60" href="#60">60</a> <strong class="jxr_keyword">char</strong> ch = ' '; +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">int</strong> len = input.length(); +<a name="63" href="#63">63</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i=0; i &lt; len; i++) { +<a name="64" href="#64">64</a> ch = input.charAt(i); +<a name="65" href="#65">65</a> <strong class="jxr_keyword">if</strong> (ch &gt; '&gt;') { +<a name="66" href="#66">66</a> buf.append(ch); +<a name="67" href="#67">67</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(ch == '&lt;') { +<a name="68" href="#68">68</a> buf.append(<span class="jxr_string">"&amp;lt;"</span>); +<a name="69" href="#69">69</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(ch == '&gt;') { +<a name="70" href="#70">70</a> buf.append(<span class="jxr_string">"&amp;gt;"</span>); +<a name="71" href="#71">71</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(ch == '&amp;') { +<a name="72" href="#72">72</a> buf.append(<span class="jxr_string">"&amp;amp;"</span>); +<a name="73" href="#73">73</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(ch == '&quot;') { +<a name="74" href="#74">74</a> buf.append(<span class="jxr_string">"&amp;quot;"</span>); +<a name="75" href="#75">75</a> } <strong class="jxr_keyword">else</strong> { +<a name="76" href="#76">76</a> buf.append(ch); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> <strong class="jxr_keyword">return</strong> buf.toString(); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * Ensures that embeded CDEnd strings (]]&gt;) are handled properly</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * within message, NDC and throwable tag text.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> *</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * @param buf StringBuffer holding the XML data to this point. The</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * initial CDStart (&lt;![CDATA[) and final CDEnd (]]&gt;) of the CDATA</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * section are the responsibility of the calling method.</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> * @param str The String that is inserted into an existing CDATA Section within buf. </em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * */</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> appendEscapingCDATA(<strong class="jxr_keyword">final</strong> StringBuffer buf, +<a name="92" href="#92">92</a> <strong class="jxr_keyword">final</strong> String str) { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">if</strong> (str != <strong class="jxr_keyword">null</strong>) { +<a name="94" href="#94">94</a> <strong class="jxr_keyword">int</strong> end = str.indexOf(CDATA_END); +<a name="95" href="#95">95</a> <strong class="jxr_keyword">if</strong> (end &lt; 0) { +<a name="96" href="#96">96</a> buf.append(str); +<a name="97" href="#97">97</a> } <strong class="jxr_keyword">else</strong> { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">int</strong> start = 0; +<a name="99" href="#99">99</a> <strong class="jxr_keyword">while</strong> (end &gt; -1) { +<a name="100" href="#100">100</a> buf.append(str.substring(start, end)); +<a name="101" href="#101">101</a> buf.append(CDATA_EMBEDED_END); +<a name="102" href="#102">102</a> start = end + CDATA_END_LEN; +<a name="103" href="#103">103</a> <strong class="jxr_keyword">if</strong> (start &lt; str.length()) { +<a name="104" href="#104">104</a> end = str.indexOf(CDATA_END, start); +<a name="105" href="#105">105</a> } <strong class="jxr_keyword">else</strong> { +<a name="106" href="#106">106</a> <strong class="jxr_keyword">return</strong>; +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> buf.append(str.substring(start)); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/package-frame.html new file mode 100644 index 00000000000..703f5e63e37 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/package-frame.html @@ -0,0 +1,117 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.helpers</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.helpers</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="AbsoluteTimeDateFormat.html" target="classFrame">AbsoluteTimeDateFormat</a> + </li> + <li> + <a href="AppenderAttachableImpl.html" target="classFrame">AppenderAttachableImpl</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">BasicPatternConverter</a> + </li> + <li> + <a href="BoundedFIFO.html" target="classFrame">BoundedFIFO</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">CategoryPatternConverter</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">ClassNamePatternConverter</a> + </li> + <li> + <a href="CountingQuietWriter.html" target="classFrame">CountingQuietWriter</a> + </li> + <li> + <a href="CyclicBuffer.html" target="classFrame">CyclicBuffer</a> + </li> + <li> + <a href="DateLayout.html" target="classFrame">DateLayout</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">DatePatternConverter</a> + </li> + <li> + <a href="DateTimeDateFormat.html" target="classFrame">DateTimeDateFormat</a> + </li> + <li> + <a href="FileWatchdog.html" target="classFrame">FileWatchdog</a> + </li> + <li> + <a href="FormattingInfo.html" target="classFrame">FormattingInfo</a> + </li> + <li> + <a href="ISO8601DateFormat.html" target="classFrame">ISO8601DateFormat</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">LiteralPatternConverter</a> + </li> + <li> + <a href="Loader.html" target="classFrame">Loader</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">LocationPatternConverter</a> + </li> + <li> + <a href="LogLog.html" target="classFrame">LogLog</a> + </li> + <li> + <a href="MDCKeySetExtractor.html" target="classFrame">MDCKeySetExtractor</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">MDCPatternConverter</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">NamedPatternConverter</a> + </li> + <li> + <a href="NullEnumeration.html" target="classFrame">NullEnumeration</a> + </li> + <li> + <a href="OnlyOnceErrorHandler.html" target="classFrame">OnlyOnceErrorHandler</a> + </li> + <li> + <a href="OptionConverter.html" target="classFrame">OptionConverter</a> + </li> + <li> + <a href="PatternConverter.html" target="classFrame">PatternConverter</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">PatternParser</a> + </li> + <li> + <a href="QuietWriter.html" target="classFrame">QuietWriter</a> + </li> + <li> + <a href="RelativeTimeDateFormat.html" target="classFrame">RelativeTimeDateFormat</a> + </li> + <li> + <a href="SyslogQuietWriter.html" target="classFrame">SyslogQuietWriter</a> + </li> + <li> + <a href="SyslogWriter.html" target="classFrame">SyslogWriter</a> + </li> + <li> + <a href="ThreadLocalMap.html" target="classFrame">ThreadLocalMap</a> + </li> + <li> + <a href="Transform.html" target="classFrame">Transform</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/package-summary.html new file mode 100644 index 00000000000..79b5cbb1be0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/helpers/package-summary.html @@ -0,0 +1,222 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.helpers</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.helpers</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="AbsoluteTimeDateFormat.html" target="classFrame">AbsoluteTimeDateFormat</a> + </td> + </tr> + <tr> + <td> + <a href="AppenderAttachableImpl.html" target="classFrame">AppenderAttachableImpl</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">BasicPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="BoundedFIFO.html" target="classFrame">BoundedFIFO</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">CategoryPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">ClassNamePatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="CountingQuietWriter.html" target="classFrame">CountingQuietWriter</a> + </td> + </tr> + <tr> + <td> + <a href="CyclicBuffer.html" target="classFrame">CyclicBuffer</a> + </td> + </tr> + <tr> + <td> + <a href="DateLayout.html" target="classFrame">DateLayout</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">DatePatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="DateTimeDateFormat.html" target="classFrame">DateTimeDateFormat</a> + </td> + </tr> + <tr> + <td> + <a href="FileWatchdog.html" target="classFrame">FileWatchdog</a> + </td> + </tr> + <tr> + <td> + <a href="FormattingInfo.html" target="classFrame">FormattingInfo</a> + </td> + </tr> + <tr> + <td> + <a href="ISO8601DateFormat.html" target="classFrame">ISO8601DateFormat</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">LiteralPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="Loader.html" target="classFrame">Loader</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">LocationPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="LogLog.html" target="classFrame">LogLog</a> + </td> + </tr> + <tr> + <td> + <a href="MDCKeySetExtractor.html" target="classFrame">MDCKeySetExtractor</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">MDCPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">NamedPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="NullEnumeration.html" target="classFrame">NullEnumeration</a> + </td> + </tr> + <tr> + <td> + <a href="OnlyOnceErrorHandler.html" target="classFrame">OnlyOnceErrorHandler</a> + </td> + </tr> + <tr> + <td> + <a href="OptionConverter.html" target="classFrame">OptionConverter</a> + </td> + </tr> + <tr> + <td> + <a href="PatternConverter.html" target="classFrame">PatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">PatternParser</a> + </td> + </tr> + <tr> + <td> + <a href="QuietWriter.html" target="classFrame">QuietWriter</a> + </td> + </tr> + <tr> + <td> + <a href="RelativeTimeDateFormat.html" target="classFrame">RelativeTimeDateFormat</a> + </td> + </tr> + <tr> + <td> + <a href="SyslogQuietWriter.html" target="classFrame">SyslogQuietWriter</a> + </td> + </tr> + <tr> + <td> + <a href="SyslogWriter.html" target="classFrame">SyslogWriter</a> + </td> + </tr> + <tr> + <td> + <a href="ThreadLocalMap.html" target="classFrame">ThreadLocalMap</a> + </td> + </tr> + <tr> + <td> + <a href="Transform.html" target="classFrame">Transform</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc/JDBCAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc/JDBCAppender.html new file mode 100644 index 00000000000..8a68ccefbf4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc/JDBCAppender.html @@ -0,0 +1,412 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>JDBCAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/jdbc/JDBCAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.jdbc; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.sql.Connection; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.sql.DriverManager; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.sql.SQLException; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.sql.Statement; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PatternLayout; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorCode; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> The JDBCAppender provides for sending log events to a database.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> </em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;&lt;font color="#FF2222"&gt;WARNING: This version of JDBCAppender</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> is very likely to be completely replaced in the future. Moreoever,</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> it does not log exceptions&lt;/font&gt;&lt;/b&gt;.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> &lt;p&gt;Each append call adds to an &lt;code&gt;ArrayList&lt;/code&gt; buffer. When</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> the buffer is filled each log event is placed in a sql statement</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> (configurable) and executed.</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> &lt;b&gt;BufferSize&lt;/b&gt;, &lt;b&gt;db URL&lt;/b&gt;, &lt;b&gt;User&lt;/b&gt;, &amp; &lt;b&gt;Password&lt;/b&gt; are</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> configurable options in the standard log4j ways.</em> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;setSql(String sql)&lt;/code&gt; sets the SQL statement to be</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> used for logging -- this statement is sent to a</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> &lt;code&gt;PatternLayout&lt;/code&gt; (either created automaticly by the</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> appender or added by the user). Therefore by default all the</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> conversion patterns in &lt;code&gt;PatternLayout&lt;/code&gt; can be used</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> inside of the statement. (see the test cases for examples)</em> +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> &lt;p&gt;Overriding the {@link #getLogStatement} method allows more</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> explicit control of the statement used for logging.</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> &lt;p&gt;For use as a base class:</em> +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> &lt;ul&gt;</em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> &lt;li&gt;Override &lt;code&gt;getConnection()&lt;/code&gt; to pass any connection</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> you want. Typically this is used to enable application wide</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> connection pooling.</em> +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> &lt;li&gt;Override &lt;code&gt;closeConnection(Connection con)&lt;/code&gt; -- if</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> you override getConnection make sure to implement</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> &lt;code&gt;closeConnection&lt;/code&gt; to handle the connection you</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> generated. Typically this would return the connection to the</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> pool it came from.</em> +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> &lt;li&gt;Override &lt;code&gt;getLogStatement(LoggingEvent event)&lt;/code&gt; to</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> produce specialized or dynamic statements. The default uses the</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> sql option value.</em> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> &lt;/ul&gt;</em> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> @author Kevin Steppe (&lt;A HREF="<a href="mailto:ksteppe@pacbell.net" target="alexandria_uri">mailto:ksteppe@pacbell.net</a>"&gt;ksteppe@pacbell.net&lt;/A&gt;)</em> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment">*/</em> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/jdbc/JDBCAppender.html">JDBCAppender</a> <strong class="jxr_keyword">extends</strong> org.apache.log4j.AppenderSkeleton +<a name="79" href="#79">79</a> implements org.apache.log4j.Appender { +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment">/**</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * URL of the DB for default connection handling</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> */</em> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">protected</strong> String databaseURL = <span class="jxr_string">"jdbc:odbc:myDB"</span>; +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment">/**</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * User to connect as for default connection handling</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> */</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">protected</strong> String databaseUser = <span class="jxr_string">"me"</span>; +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * User to use for default connection handling</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">protected</strong> String databasePassword = <span class="jxr_string">"mypassword"</span>; +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment">/**</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> * Connection used by default. The connection is opened the first time it</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> * is needed and then held open until the appender is closed (usually at</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> * garbage collection). This behavior is best modified by creating a</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * sub-class and overriding the &lt;code&gt;getConnection&lt;/code&gt; and</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> * &lt;code&gt;closeConnection&lt;/code&gt; methods.</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> */</em> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">protected</strong> Connection connection = <strong class="jxr_keyword">null</strong>; +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * Stores the string given to the pattern layout for conversion into a SQL</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * statement, eg: insert into LogTable (Thread, Class, Message) values</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * ("%t", "%c", "%m").</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> *</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> * Be careful of quotes in your messages!</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> *</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> * Also see PatternLayout.</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> */</em> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">protected</strong> String sqlStatement = <span class="jxr_string">""</span>; +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">/**</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> * size of LoggingEvent buffer before writting to the database.</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> * Default is 1.</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> */</em> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> bufferSize = 1; +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">/**</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> * ArrayList holding the buffer of Logging Events.</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> */</em> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">protected</strong> ArrayList buffer; +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">/**</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * Helper object for clearing out the buffer</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> */</em> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">protected</strong> ArrayList removes; +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> locationInfo = false; +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/jdbc/JDBCAppender.html">JDBCAppender</a>() { +<a name="135" href="#135">135</a> <strong class="jxr_keyword">super</strong>(); +<a name="136" href="#136">136</a> buffer = <strong class="jxr_keyword">new</strong> ArrayList(bufferSize); +<a name="137" href="#137">137</a> removes = <strong class="jxr_keyword">new</strong> ArrayList(bufferSize); +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">/**</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> * Gets whether the location of the logging request call</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> * should be captured.</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> *</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> * @return the current value of the &lt;b&gt;LocationInfo&lt;/b&gt; option.</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> */</em> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getLocationInfo() { +<a name="148" href="#148">148</a> <strong class="jxr_keyword">return</strong> locationInfo; +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">/**</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> * The &lt;b&gt;LocationInfo&lt;/b&gt; option takes a boolean value. By default, it is</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> * set to false which means there will be no effort to extract the location</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> * information related to the event. As a result, the event that will be</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> * ultimately logged will likely to contain the wrong location information</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> * (if present in the log format).</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> * &lt;p/&gt;</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> * &lt;p/&gt;</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> * Location information extraction is comparatively very slow and should be</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> * avoided unless performance is not a concern.</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * @param flag true if location information should be extracted.</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLocationInfo(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> flag) { +<a name="166" href="#166">166</a> locationInfo = flag; +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">/**</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> * Adds the event to the buffer. When full the buffer is flushed.</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> */</em> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="174" href="#174">174</a> event.getNDC(); +<a name="175" href="#175">175</a> event.getThreadName(); +<a name="176" href="#176">176</a> <em class="jxr_comment">// Get a copy of this thread's MDC.</em> +<a name="177" href="#177">177</a> event.getMDCCopy(); +<a name="178" href="#178">178</a> <strong class="jxr_keyword">if</strong> (locationInfo) { +<a name="179" href="#179">179</a> event.getLocationInformation(); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> event.getRenderedMessage(); +<a name="182" href="#182">182</a> event.getThrowableStrRep(); +<a name="183" href="#183">183</a> buffer.add(event); +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <strong class="jxr_keyword">if</strong> (buffer.size() &gt;= bufferSize) +<a name="186" href="#186">186</a> flushBuffer(); +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">/**</em> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> * By default getLogStatement sends the event to the required Layout object.</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> * The layout will format the given pattern into a workable SQL string.</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> *</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> * Overriding this provides direct access to the LoggingEvent</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> * when constructing the logging statement.</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> *</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> */</em> +<a name="197" href="#197">197</a> <strong class="jxr_keyword">protected</strong> String getLogStatement(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="198" href="#198">198</a> <strong class="jxr_keyword">return</strong> getLayout().format(event); +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment">/**</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> *</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> * Override this to provide an alertnate method of getting</em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> * connections (such as caching). One method to fix this is to open</em> +<a name="205" href="#205">205</a> <em class="jxr_javadoccomment"> * connections at the start of flushBuffer() and close them at the</em> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> * end. I use a connection pool outside of JDBCAppender which is</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> * accessed in an override of this method.</em> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment"> * */</em> +<a name="209" href="#209">209</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> execute(String sql) <strong class="jxr_keyword">throws</strong> SQLException { +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> Connection con = <strong class="jxr_keyword">null</strong>; +<a name="212" href="#212">212</a> Statement stmt = <strong class="jxr_keyword">null</strong>; +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> <strong class="jxr_keyword">try</strong> { +<a name="215" href="#215">215</a> con = getConnection(); +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> stmt = con.createStatement(); +<a name="218" href="#218">218</a> stmt.executeUpdate(sql); +<a name="219" href="#219">219</a> } <strong class="jxr_keyword">catch</strong> (SQLException e) { +<a name="220" href="#220">220</a> <strong class="jxr_keyword">if</strong> (stmt != <strong class="jxr_keyword">null</strong>) +<a name="221" href="#221">221</a> stmt.close(); +<a name="222" href="#222">222</a> <strong class="jxr_keyword">throw</strong> e; +<a name="223" href="#223">223</a> } +<a name="224" href="#224">224</a> stmt.close(); +<a name="225" href="#225">225</a> closeConnection(con); +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> <em class="jxr_comment">//System.out.println("Execute: " + sql);</em> +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment">/**</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> * Override this to return the connection to a pool, or to clean up the</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> * resource.</em> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> *</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> * The default behavior holds a single connection open until the appender</em> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> * is closed (typically when garbage collected).</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> */</em> +<a name="238" href="#238">238</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> closeConnection(Connection con) { +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment">/**</em> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment"> * Override this to link with your connection pooling system.</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> *</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> * By default this creates a single connection which is held open</em> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> * until the object is garbage collected.</em> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> */</em> +<a name="247" href="#247">247</a> <strong class="jxr_keyword">protected</strong> Connection getConnection() <strong class="jxr_keyword">throws</strong> SQLException { +<a name="248" href="#248">248</a> <strong class="jxr_keyword">if</strong> (!DriverManager.getDrivers().hasMoreElements()) +<a name="249" href="#249">249</a> setDriver(<span class="jxr_string">"sun.jdbc.odbc.JdbcOdbcDriver"</span>); +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> <strong class="jxr_keyword">if</strong> (connection == <strong class="jxr_keyword">null</strong>) { +<a name="252" href="#252">252</a> connection = DriverManager.getConnection(databaseURL, databaseUser, +<a name="253" href="#253">253</a> databasePassword); +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">return</strong> connection; +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <em class="jxr_javadoccomment">/**</em> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment"> * Closes the appender, flushing the buffer first then closing the default</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> * connection if it is open.</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> */</em> +<a name="263" href="#263">263</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() +<a name="264" href="#264">264</a> { +<a name="265" href="#265">265</a> flushBuffer(); +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <strong class="jxr_keyword">try</strong> { +<a name="268" href="#268">268</a> <strong class="jxr_keyword">if</strong> (connection != <strong class="jxr_keyword">null</strong> &amp;&amp; !connection.isClosed()) +<a name="269" href="#269">269</a> connection.close(); +<a name="270" href="#270">270</a> } <strong class="jxr_keyword">catch</strong> (SQLException e) { +<a name="271" href="#271">271</a> errorHandler.error(<span class="jxr_string">"Error closing connection"</span>, e, ErrorCode.GENERIC_FAILURE); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> <strong class="jxr_keyword">this</strong>.closed = <strong class="jxr_keyword">true</strong>; +<a name="274" href="#274">274</a> } +<a name="275" href="#275">275</a> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment">/**</em> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> * loops through the buffer of LoggingEvents, gets a</em> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment"> * sql string from getLogStatement() and sends it to execute().</em> +<a name="279" href="#279">279</a> <em class="jxr_javadoccomment"> * Errors are sent to the errorHandler.</em> +<a name="280" href="#280">280</a> <em class="jxr_javadoccomment"> *</em> +<a name="281" href="#281">281</a> <em class="jxr_javadoccomment"> * If a statement fails the LoggingEvent stays in the buffer!</em> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment"> */</em> +<a name="283" href="#283">283</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> flushBuffer() { +<a name="284" href="#284">284</a> <em class="jxr_comment">//Do the actual logging</em> +<a name="285" href="#285">285</a> removes.ensureCapacity(buffer.size()); +<a name="286" href="#286">286</a> <strong class="jxr_keyword">for</strong> (Iterator i = buffer.iterator(); i.hasNext();) { +<a name="287" href="#287">287</a> <strong class="jxr_keyword">try</strong> { +<a name="288" href="#288">288</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> logEvent = (LoggingEvent)i.next(); +<a name="289" href="#289">289</a> String sql = getLogStatement(logEvent); +<a name="290" href="#290">290</a> execute(sql); +<a name="291" href="#291">291</a> removes.add(logEvent); +<a name="292" href="#292">292</a> } +<a name="293" href="#293">293</a> <strong class="jxr_keyword">catch</strong> (SQLException e) { +<a name="294" href="#294">294</a> errorHandler.error(<span class="jxr_string">"Failed to excute sql"</span>, e, +<a name="295" href="#295">295</a> ErrorCode.FLUSH_FAILURE); +<a name="296" href="#296">296</a> } +<a name="297" href="#297">297</a> } +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <em class="jxr_comment">// remove from the buffer any events that were reported</em> +<a name="300" href="#300">300</a> buffer.removeAll(removes); +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> <em class="jxr_comment">// clear the buffer of reported events</em> +<a name="303" href="#303">303</a> removes.clear(); +<a name="304" href="#304">304</a> } +<a name="305" href="#305">305</a> +<a name="306" href="#306">306</a> +<a name="307" href="#307">307</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> closes the appender before disposal */</em> +<a name="308" href="#308">308</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> finalize() { +<a name="309" href="#309">309</a> close(); +<a name="310" href="#310">310</a> } +<a name="311" href="#311">311</a> +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment">/**</em> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment"> * JDBCAppender requires a layout.</em> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment"> * */</em> +<a name="316" href="#316">316</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="317" href="#317">317</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment">/**</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> *</em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> */</em> +<a name="324" href="#324">324</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSql(String s) { +<a name="325" href="#325">325</a> sqlStatement = s; +<a name="326" href="#326">326</a> <strong class="jxr_keyword">if</strong> (getLayout() == <strong class="jxr_keyword">null</strong>) { +<a name="327" href="#327">327</a> <strong class="jxr_keyword">this</strong>.setLayout(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/PatternLayout.html">PatternLayout</a>(s)); +<a name="328" href="#328">328</a> } +<a name="329" href="#329">329</a> <strong class="jxr_keyword">else</strong> { +<a name="330" href="#330">330</a> ((<a href="../../../../org/apache/log4j/PatternLayout.html">PatternLayout</a>)getLayout()).setConversionPattern(s); +<a name="331" href="#331">331</a> } +<a name="332" href="#332">332</a> } +<a name="333" href="#333">333</a> +<a name="334" href="#334">334</a> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment">/**</em> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment"> * Returns pre-formated statement eg: insert into LogTable (msg) values ("%m")</em> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment"> */</em> +<a name="338" href="#338">338</a> <strong class="jxr_keyword">public</strong> String getSql() { +<a name="339" href="#339">339</a> <strong class="jxr_keyword">return</strong> sqlStatement; +<a name="340" href="#340">340</a> } +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUser(String user) { +<a name="344" href="#344">344</a> databaseUser = user; +<a name="345" href="#345">345</a> } +<a name="346" href="#346">346</a> +<a name="347" href="#347">347</a> +<a name="348" href="#348">348</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setURL(String url) { +<a name="349" href="#349">349</a> databaseURL = url; +<a name="350" href="#350">350</a> } +<a name="351" href="#351">351</a> +<a name="352" href="#352">352</a> +<a name="353" href="#353">353</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPassword(String password) { +<a name="354" href="#354">354</a> databasePassword = password; +<a name="355" href="#355">355</a> } +<a name="356" href="#356">356</a> +<a name="357" href="#357">357</a> +<a name="358" href="#358">358</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setBufferSize(<strong class="jxr_keyword">int</strong> newBufferSize) { +<a name="359" href="#359">359</a> bufferSize = newBufferSize; +<a name="360" href="#360">360</a> buffer.ensureCapacity(bufferSize); +<a name="361" href="#361">361</a> removes.ensureCapacity(bufferSize); +<a name="362" href="#362">362</a> } +<a name="363" href="#363">363</a> +<a name="364" href="#364">364</a> +<a name="365" href="#365">365</a> <strong class="jxr_keyword">public</strong> String getUser() { +<a name="366" href="#366">366</a> <strong class="jxr_keyword">return</strong> databaseUser; +<a name="367" href="#367">367</a> } +<a name="368" href="#368">368</a> +<a name="369" href="#369">369</a> +<a name="370" href="#370">370</a> <strong class="jxr_keyword">public</strong> String getURL() { +<a name="371" href="#371">371</a> <strong class="jxr_keyword">return</strong> databaseURL; +<a name="372" href="#372">372</a> } +<a name="373" href="#373">373</a> +<a name="374" href="#374">374</a> +<a name="375" href="#375">375</a> <strong class="jxr_keyword">public</strong> String getPassword() { +<a name="376" href="#376">376</a> <strong class="jxr_keyword">return</strong> databasePassword; +<a name="377" href="#377">377</a> } +<a name="378" href="#378">378</a> +<a name="379" href="#379">379</a> +<a name="380" href="#380">380</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getBufferSize() { +<a name="381" href="#381">381</a> <strong class="jxr_keyword">return</strong> bufferSize; +<a name="382" href="#382">382</a> } +<a name="383" href="#383">383</a> +<a name="384" href="#384">384</a> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment">/**</em> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> * Ensures that the given driver class has been loaded for sql connection</em> +<a name="387" href="#387">387</a> <em class="jxr_javadoccomment"> * creation.</em> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment"> */</em> +<a name="389" href="#389">389</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDriver(String driverClass) { +<a name="390" href="#390">390</a> <strong class="jxr_keyword">try</strong> { +<a name="391" href="#391">391</a> Class.forName(driverClass); +<a name="392" href="#392">392</a> } <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="393" href="#393">393</a> errorHandler.error(<span class="jxr_string">"Failed to load driver"</span>, e, +<a name="394" href="#394">394</a> ErrorCode.GENERIC_FAILURE); +<a name="395" href="#395">395</a> } +<a name="396" href="#396">396</a> } +<a name="397" href="#397">397</a> } +<a name="398" href="#398">398</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc/package-frame.html similarity index 70% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras/package-frame.html rename to thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc/package-frame.html index d636da990bd..64c73f8240a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras/package-frame.html +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc/package-frame.html @@ -1,24 +1,24 @@ - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> -<html xml:lang="en" lang="en"> - <head> - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.extras</title> - <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> - </head> - <body> - - <h3> - <a href="package-summary.html" target="classFrame">org.apache.log4j.extras</a> - </h3> - - <h3>Classes</h3> - - <ul> - <li> - <a href="DOMConfigurator.html" target="classFrame">DOMConfigurator</a> - </li> - </ul> - - </body> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.jdbc</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.jdbc</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="JDBCAppender.html" target="classFrame">JDBCAppender</a> + </li> + </ul> + + </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc/package-summary.html similarity index 82% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras/package-summary.html rename to thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc/package-summary.html index 9b15127642c..f2b82615df0 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras/package-summary.html +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jdbc/package-summary.html @@ -1,67 +1,67 @@ - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> -<html xml:lang="en" lang="en"> - <head> - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> - <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> - </head> - <body> - <div class="overview"> - <ul> - <li> - <a href="../../../../overview-summary.html">Overview</a> - </li> - <li class="selected">Package</li> - </ul> - </div> - <div class="framenoframe"> - <ul> - <li> - <a href="../../../../index.html" target="_top">FRAMES</a> - </li> - <li> - <a href="package-summary.html" target="_top">NO FRAMES</a> - </li> - </ul> - </div> - - <h2>Package org.apache.log4j.extras</h2> - - <table class="summary"> - <thead> - <tr> - <th>Class Summary</th> - </tr> - </thead> - <tbody> - <tr> - <td> - <a href="DOMConfigurator.html" target="classFrame">DOMConfigurator</a> - </td> - </tr> - </tbody> - </table> - - <div class="overview"> - <ul> - <li> - <a href="../../../../overview-summary.html">Overview</a> - </li> - <li class="selected">Package</li> - </ul> - </div> - <div class="framenoframe"> - <ul> - <li> - <a href="../../../../index.html" target="_top">FRAMES</a> - </li> - <li> - <a href="package-summary.html" target="_top">NO FRAMES</a> - </li> - </ul> - </div> - <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. - </body> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.jdbc</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.jdbc</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="JDBCAppender.html" target="classFrame">JDBCAppender</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/AbstractDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/AbstractDynamicMBean.html new file mode 100644 index 00000000000..14a9b4f0608 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/AbstractDynamicMBean.html @@ -0,0 +1,201 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AbstractDynamicMBean xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/jmx/AbstractDynamicMBean.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.jmx; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.management.Attribute; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.management.AttributeList; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.management.DynamicMBean; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.management.InstanceAlreadyExistsException; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.management.InstanceNotFoundException; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.management.JMException; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanRegistration; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanRegistrationException; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanServer; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.management.NotCompliantMBeanException; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> javax.management.ObjectName; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> javax.management.RuntimeOperationsException; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html">AbstractDynamicMBean</a> implements DynamicMBean, +<a name="41" href="#41">41</a> MBeanRegistration { +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> String dClassName; +<a name="44" href="#44">44</a> MBeanServer server; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Vector mbeanList = <strong class="jxr_keyword">new</strong> Vector(); +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * Get MBean name.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * @param appender appender, may not be null.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * @return name.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">protected</strong> String getAppenderName(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender){ +<a name="54" href="#54">54</a> String name = appender.getName(); +<a name="55" href="#55">55</a> <strong class="jxr_keyword">if</strong> (name == <strong class="jxr_keyword">null</strong> || name.trim().length() == 0) { +<a name="56" href="#56">56</a> <em class="jxr_comment">// try to get some form of a name, because null is not allowed (exception), and empty string certainly isn't useful in JMX..</em> +<a name="57" href="#57">57</a> name = appender.toString(); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> <strong class="jxr_keyword">return</strong> name; +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment">/**</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * Enables the to get the values of several attributes of the Dynamic MBean.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> */</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">public</strong> +<a name="67" href="#67">67</a> AttributeList getAttributes(String[] attributeNames) { +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_comment">// Check attributeNames is not null to avoid NullPointerException later on</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">if</strong> (attributeNames == <strong class="jxr_keyword">null</strong>) { +<a name="71" href="#71">71</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="72" href="#72">72</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"attributeNames[] cannot be null"</span>), +<a name="73" href="#73">73</a> <span class="jxr_string">"Cannot invoke a getter of "</span> + dClassName); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> AttributeList resultList = <strong class="jxr_keyword">new</strong> AttributeList(); +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_comment">// if attributeNames is empty, return an empty result list</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">if</strong> (attributeNames.length == 0) +<a name="80" href="#80">80</a> <strong class="jxr_keyword">return</strong> resultList; +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_comment">// build the result attribute list</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0 ; i&lt;attributeNames.length ; i++){ +<a name="84" href="#84">84</a> <strong class="jxr_keyword">try</strong> { +<a name="85" href="#85">85</a> Object value = getAttribute((String) attributeNames[i]); +<a name="86" href="#86">86</a> resultList.add(<strong class="jxr_keyword">new</strong> Attribute(attributeNames[i],value)); +<a name="87" href="#87">87</a> } <strong class="jxr_keyword">catch</strong> (JMException e) { +<a name="88" href="#88">88</a> e.printStackTrace(); +<a name="89" href="#89">89</a> } <strong class="jxr_keyword">catch</strong> (RuntimeException e) { +<a name="90" href="#90">90</a> e.printStackTrace(); +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> <strong class="jxr_keyword">return</strong>(resultList); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment">/**</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> * Sets the values of several attributes of the Dynamic MBean, and returns the</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> * list of attributes that have been set.</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> */</em> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">public</strong> AttributeList setAttributes(AttributeList attributes) { +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_comment">// Check attributes is not null to avoid NullPointerException later on</em> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">if</strong> (attributes == <strong class="jxr_keyword">null</strong>) { +<a name="104" href="#104">104</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="105" href="#105">105</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"AttributeList attributes cannot be null"</span>), +<a name="106" href="#106">106</a> <span class="jxr_string">"Cannot invoke a setter of "</span> + dClassName); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> AttributeList resultList = <strong class="jxr_keyword">new</strong> AttributeList(); +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_comment">// if attributeNames is empty, nothing more to do</em> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">if</strong> (attributes.isEmpty()) +<a name="112" href="#112">112</a> <strong class="jxr_keyword">return</strong> resultList; +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <em class="jxr_comment">// for each attribute, try to set it and add to the result list if successfull</em> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">for</strong> (Iterator i = attributes.iterator(); i.hasNext();) { +<a name="116" href="#116">116</a> Attribute attr = (Attribute) i.next(); +<a name="117" href="#117">117</a> <strong class="jxr_keyword">try</strong> { +<a name="118" href="#118">118</a> setAttribute(attr); +<a name="119" href="#119">119</a> String name = attr.getName(); +<a name="120" href="#120">120</a> Object value = getAttribute(name); +<a name="121" href="#121">121</a> resultList.add(<strong class="jxr_keyword">new</strong> Attribute(name,value)); +<a name="122" href="#122">122</a> } <strong class="jxr_keyword">catch</strong>(JMException e) { +<a name="123" href="#123">123</a> e.printStackTrace(); +<a name="124" href="#124">124</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="125" href="#125">125</a> e.printStackTrace(); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> <strong class="jxr_keyword">return</strong>(resultList); +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">protected</strong> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">abstract</strong> +<a name="133" href="#133">133</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger(); +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">public</strong> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">void</strong> postDeregister() { +<a name="137" href="#137">137</a> getLogger().debug(<span class="jxr_string">"postDeregister is called."</span>); +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">public</strong> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">void</strong> postRegister(java.lang.Boolean registrationDone) { +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">public</strong> +<a name="147" href="#147">147</a> ObjectName preRegister(MBeanServer server, ObjectName name) { +<a name="148" href="#148">148</a> getLogger().debug(<span class="jxr_string">"preRegister called. Server="</span>+server+ <span class="jxr_string">", name="</span>+name); +<a name="149" href="#149">149</a> <strong class="jxr_keyword">this</strong>.server = server; +<a name="150" href="#150">150</a> <strong class="jxr_keyword">return</strong> name; +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">/**</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> * Registers MBean instance in the attached server. Must &lt;em&gt;NOT&lt;/em&gt;</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> * be called before registration of this instance.</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> */</em> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">protected</strong> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">void</strong> registerMBean(Object mbean, ObjectName objectName) +<a name="158" href="#158">158</a> <strong class="jxr_keyword">throws</strong> InstanceAlreadyExistsException, MBeanRegistrationException, +<a name="159" href="#159">159</a> NotCompliantMBeanException { +<a name="160" href="#160">160</a> server.registerMBean(mbean, objectName); +<a name="161" href="#161">161</a> mbeanList.add(objectName); +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">/**</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> * Performs cleanup for deregistering this MBean. Default implementation</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> * unregisters MBean instances which are registered using </em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> * {@link #registerMBean(Object mbean, ObjectName objectName)}.</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> */</em> +<a name="169" href="#169">169</a> <strong class="jxr_keyword">public</strong> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">void</strong> preDeregister() { +<a name="171" href="#171">171</a> getLogger().debug(<span class="jxr_string">"preDeregister called."</span>); +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> Enumeration iterator = mbeanList.elements(); +<a name="174" href="#174">174</a> <strong class="jxr_keyword">while</strong> (iterator.hasMoreElements()) { +<a name="175" href="#175">175</a> ObjectName name = (ObjectName) iterator.nextElement(); +<a name="176" href="#176">176</a> <strong class="jxr_keyword">try</strong> { +<a name="177" href="#177">177</a> server.unregisterMBean(name); +<a name="178" href="#178">178</a> } <strong class="jxr_keyword">catch</strong> (InstanceNotFoundException e) { +<a name="179" href="#179">179</a> getLogger().warn(<span class="jxr_string">"Missing MBean "</span> + name.getCanonicalName()); +<a name="180" href="#180">180</a> } <strong class="jxr_keyword">catch</strong> (MBeanRegistrationException e) { +<a name="181" href="#181">181</a> getLogger().warn(<span class="jxr_string">"Failed unregistering "</span> + name.getCanonicalName()); +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/Agent.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/Agent.html new file mode 100644 index 00000000000..7fe51d94380 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/Agent.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Agent xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/jmx/Agent.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.jmx; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> javax.management.JMException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanServer; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanServerFactory; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.management.ObjectName; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Manages an instance of com.sun.jdmk.comm.HtmlAdapterServer which</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * was provided for demonstration purposes in the</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * Java Management Extensions Reference Implementation 1.2.1.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * This class is provided to maintain compatibility with earlier</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * versions of log4j and use in new code is discouraged.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> *</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/jmx/Agent.html">Agent</a> { +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Diagnostic logger.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> log = Logger.getLogger(Agent.<strong class="jxr_keyword">class</strong>); +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> */</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/jmx/Agent.html">Agent</a>() { +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * Creates a new instance of com.sun.jdmk.comm.HtmlAdapterServer</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * using reflection.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> *</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * @return new instance.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Object createServer() { +<a name="62" href="#62">62</a> Object newInstance = <strong class="jxr_keyword">null</strong>; +<a name="63" href="#63">63</a> <strong class="jxr_keyword">try</strong> { +<a name="64" href="#64">64</a> newInstance = Class.forName( +<a name="65" href="#65">65</a> <span class="jxr_string">"com.sun.jdmk.comm.HtmlAdapterServer"</span>).newInstance(); +<a name="66" href="#66">66</a> } <strong class="jxr_keyword">catch</strong> (ClassNotFoundException ex) { +<a name="67" href="#67">67</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(ex.toString()); +<a name="68" href="#68">68</a> } <strong class="jxr_keyword">catch</strong> (InstantiationException ex) { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(ex.toString()); +<a name="70" href="#70">70</a> } <strong class="jxr_keyword">catch</strong> (IllegalAccessException ex) { +<a name="71" href="#71">71</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(ex.toString()); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> <strong class="jxr_keyword">return</strong> newInstance; +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment">/**</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * Invokes HtmlAdapterServer.start() using reflection.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> *</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * @param server instance of com.sun.jdmk.comm.HtmlAdapterServer.</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> */</em> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> startServer(<strong class="jxr_keyword">final</strong> Object server) { +<a name="83" href="#83">83</a> <strong class="jxr_keyword">try</strong> { +<a name="84" href="#84">84</a> server.getClass().getMethod(<span class="jxr_string">"start"</span>, <strong class="jxr_keyword">new</strong> Class[0]). +<a name="85" href="#85">85</a> invoke(server, <strong class="jxr_keyword">new</strong> Object[0]); +<a name="86" href="#86">86</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException ex) { +<a name="87" href="#87">87</a> Throwable cause = ex.getTargetException(); +<a name="88" href="#88">88</a> <strong class="jxr_keyword">if</strong> (cause instanceof RuntimeException) { +<a name="89" href="#89">89</a> <strong class="jxr_keyword">throw</strong> (RuntimeException) cause; +<a name="90" href="#90">90</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (cause != <strong class="jxr_keyword">null</strong>) { +<a name="91" href="#91">91</a> <strong class="jxr_keyword">if</strong> (cause instanceof InterruptedException +<a name="92" href="#92">92</a> || cause instanceof InterruptedIOException) { +<a name="93" href="#93">93</a> Thread.currentThread().interrupt(); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(cause.toString()); +<a name="96" href="#96">96</a> } <strong class="jxr_keyword">else</strong> { +<a name="97" href="#97">97</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> } <strong class="jxr_keyword">catch</strong>(NoSuchMethodException ex) { +<a name="100" href="#100">100</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(ex.toString()); +<a name="101" href="#101">101</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException ex) { +<a name="102" href="#102">102</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(ex.toString()); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">/**</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * Starts instance of HtmlAdapterServer.</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> */</em> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> start() { +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> MBeanServer server = MBeanServerFactory.createMBeanServer(); +<a name="114" href="#114">114</a> Object html = createServer(); +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">try</strong> { +<a name="117" href="#117">117</a> log.info(<span class="jxr_string">"Registering HtmlAdaptorServer instance."</span>); +<a name="118" href="#118">118</a> server.registerMBean(html, <strong class="jxr_keyword">new</strong> ObjectName(<span class="jxr_string">"Adaptor:name=html,port=8082"</span>)); +<a name="119" href="#119">119</a> log.info(<span class="jxr_string">"Registering HierarchyDynamicMBean instance."</span>); +<a name="120" href="#120">120</a> <a href="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html">HierarchyDynamicMBean</a> hdm = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html">HierarchyDynamicMBean</a>(); +<a name="121" href="#121">121</a> server.registerMBean(hdm, <strong class="jxr_keyword">new</strong> ObjectName(<span class="jxr_string">"log4j:hiearchy=default"</span>)); +<a name="122" href="#122">122</a> } <strong class="jxr_keyword">catch</strong>(JMException e) { +<a name="123" href="#123">123</a> log.error(<span class="jxr_string">"Problem while registering MBeans instances."</span>, e); +<a name="124" href="#124">124</a> <strong class="jxr_keyword">return</strong>; +<a name="125" href="#125">125</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="126" href="#126">126</a> log.error(<span class="jxr_string">"Problem while registering MBeans instances."</span>, e); +<a name="127" href="#127">127</a> <strong class="jxr_keyword">return</strong>; +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> startServer(html); +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/AppenderDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/AppenderDynamicMBean.html new file mode 100644 index 00000000000..c1cd17b917d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/AppenderDynamicMBean.html @@ -0,0 +1,360 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AppenderDynamicMBean xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/jmx/AppenderDynamicMBean.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.jmx; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.management.Attribute; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.management.AttributeNotFoundException; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.management.InvalidAttributeValueException; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.management.JMException; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanAttributeInfo; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanConstructorInfo; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanException; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanInfo; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanNotificationInfo; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanOperationInfo; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanParameterInfo; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanServer; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> javax.management.MalformedObjectNameException; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> javax.management.ObjectName; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> javax.management.ReflectionException; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> javax.management.RuntimeOperationsException; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">import</strong> java.beans.BeanInfo; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">import</strong> java.beans.IntrospectionException; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">import</strong> java.beans.Introspector; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">import</strong> java.beans.PropertyDescriptor; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Constructor; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="53" href="#53">53</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html">AppenderDynamicMBean</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html">AbstractDynamicMBean</a> { +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">private</strong> MBeanConstructorInfo[] dConstructors = <strong class="jxr_keyword">new</strong> MBeanConstructorInfo[1]; +<a name="58" href="#58">58</a> <strong class="jxr_keyword">private</strong> Vector dAttributes = <strong class="jxr_keyword">new</strong> Vector(); +<a name="59" href="#59">59</a> <strong class="jxr_keyword">private</strong> String dClassName = <strong class="jxr_keyword">this</strong>.getClass().getName(); +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">private</strong> Hashtable dynamicProps = <strong class="jxr_keyword">new</strong> Hashtable(5); +<a name="62" href="#62">62</a> <strong class="jxr_keyword">private</strong> MBeanOperationInfo[] dOperations = <strong class="jxr_keyword">new</strong> MBeanOperationInfo[2]; +<a name="63" href="#63">63</a> <strong class="jxr_keyword">private</strong> String dDescription = +<a name="64" href="#64">64</a> <span class="jxr_string">"This MBean acts as a management facade for log4j appenders."</span>; +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_comment">// This category instance is for logging.</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> cat = Logger.getLogger(AppenderDynamicMBean.<strong class="jxr_keyword">class</strong>); +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_comment">// We wrap this appender instance.</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender; +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> AppenderDynamicMBean(Appender appender) <strong class="jxr_keyword">throws</strong> IntrospectionException { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">this</strong>.appender = appender; +<a name="74" href="#74">74</a> buildDynamicMBeanInfo(); +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">private</strong> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">void</strong> buildDynamicMBeanInfo() <strong class="jxr_keyword">throws</strong> IntrospectionException { +<a name="79" href="#79">79</a> Constructor[] constructors = <strong class="jxr_keyword">this</strong>.getClass().getConstructors(); +<a name="80" href="#80">80</a> dConstructors[0] = <strong class="jxr_keyword">new</strong> MBeanConstructorInfo( +<a name="81" href="#81">81</a> <span class="jxr_string">"AppenderDynamicMBean(): Constructs a AppenderDynamicMBean instance"</span>, +<a name="82" href="#82">82</a> constructors[0]); +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> BeanInfo bi = Introspector.getBeanInfo(appender.getClass()); +<a name="86" href="#86">86</a> PropertyDescriptor[] pd = bi.getPropertyDescriptors(); +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">int</strong> size = pd.length; +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size; i++) { +<a name="91" href="#91">91</a> String name = pd[i].getName(); +<a name="92" href="#92">92</a> Method readMethod = pd[i].getReadMethod(); +<a name="93" href="#93">93</a> Method writeMethod = pd[i].getWriteMethod(); +<a name="94" href="#94">94</a> <strong class="jxr_keyword">if</strong>(readMethod != <strong class="jxr_keyword">null</strong>) { +<a name="95" href="#95">95</a> Class returnClass = readMethod.getReturnType(); +<a name="96" href="#96">96</a> <strong class="jxr_keyword">if</strong>(isSupportedType(returnClass)) { +<a name="97" href="#97">97</a> String returnClassName; +<a name="98" href="#98">98</a> <strong class="jxr_keyword">if</strong>(returnClass.isAssignableFrom(Priority.<strong class="jxr_keyword">class</strong>)) { +<a name="99" href="#99">99</a> returnClassName = <span class="jxr_string">"java.lang.String"</span>; +<a name="100" href="#100">100</a> } <strong class="jxr_keyword">else</strong> { +<a name="101" href="#101">101</a> returnClassName = returnClass.getName(); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> dAttributes.add(<strong class="jxr_keyword">new</strong> MBeanAttributeInfo(name, +<a name="105" href="#105">105</a> returnClassName, +<a name="106" href="#106">106</a> <span class="jxr_string">"Dynamic"</span>, +<a name="107" href="#107">107</a> <strong class="jxr_keyword">true</strong>, +<a name="108" href="#108">108</a> writeMethod != <strong class="jxr_keyword">null</strong>, +<a name="109" href="#109">109</a> false)); +<a name="110" href="#110">110</a> dynamicProps.put(name, <strong class="jxr_keyword">new</strong> MethodUnion(readMethod, writeMethod)); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> MBeanParameterInfo[] params = <strong class="jxr_keyword">new</strong> MBeanParameterInfo[0]; +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> dOperations[0] = <strong class="jxr_keyword">new</strong> MBeanOperationInfo(<span class="jxr_string">"activateOptions"</span>, +<a name="118" href="#118">118</a> <span class="jxr_string">"activateOptions(): add an appender"</span>, +<a name="119" href="#119">119</a> params, +<a name="120" href="#120">120</a> <span class="jxr_string">"void"</span>, +<a name="121" href="#121">121</a> MBeanOperationInfo.ACTION); +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> params = <strong class="jxr_keyword">new</strong> MBeanParameterInfo[1]; +<a name="124" href="#124">124</a> params[0] = <strong class="jxr_keyword">new</strong> MBeanParameterInfo(<span class="jxr_string">"layout class"</span>, <span class="jxr_string">"java.lang.String"</span>, +<a name="125" href="#125">125</a> <span class="jxr_string">"layout class"</span>); +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> dOperations[1] = <strong class="jxr_keyword">new</strong> MBeanOperationInfo(<span class="jxr_string">"setLayout"</span>, +<a name="128" href="#128">128</a> <span class="jxr_string">"setLayout(): add a layout"</span>, +<a name="129" href="#129">129</a> params, +<a name="130" href="#130">130</a> <span class="jxr_string">"void"</span>, +<a name="131" href="#131">131</a> MBeanOperationInfo.ACTION); +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">private</strong> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">boolean</strong> isSupportedType(Class clazz) { +<a name="136" href="#136">136</a> <strong class="jxr_keyword">if</strong>(clazz.isPrimitive()) { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">if</strong>(clazz == String.<strong class="jxr_keyword">class</strong>) { +<a name="141" href="#141">141</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">if</strong>(clazz.isAssignableFrom(Priority.<strong class="jxr_keyword">class</strong>)) { +<a name="146" href="#146">146</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">return</strong> false; +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">public</strong> +<a name="157" href="#157">157</a> MBeanInfo getMBeanInfo() { +<a name="158" href="#158">158</a> cat.debug(<span class="jxr_string">"getMBeanInfo called."</span>); +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> MBeanAttributeInfo[] attribs = <strong class="jxr_keyword">new</strong> MBeanAttributeInfo[dAttributes.size()]; +<a name="161" href="#161">161</a> dAttributes.toArray(attribs); +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> MBeanInfo(dClassName, +<a name="164" href="#164">164</a> dDescription, +<a name="165" href="#165">165</a> attribs, +<a name="166" href="#166">166</a> dConstructors, +<a name="167" href="#167">167</a> dOperations, +<a name="168" href="#168">168</a> <strong class="jxr_keyword">new</strong> MBeanNotificationInfo[0]); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">public</strong> +<a name="172" href="#172">172</a> Object invoke(String operationName, Object params[], String signature[]) +<a name="173" href="#173">173</a> <strong class="jxr_keyword">throws</strong> MBeanException, +<a name="174" href="#174">174</a> ReflectionException { +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">if</strong>(operationName.equals(<span class="jxr_string">"activateOptions"</span>) &amp;&amp; +<a name="177" href="#177">177</a> appender instanceof <a href="../../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a>) { +<a name="178" href="#178">178</a> <a href="../../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a> oh = (OptionHandler) appender; +<a name="179" href="#179">179</a> oh.activateOptions(); +<a name="180" href="#180">180</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Options activated."</span>; +<a name="181" href="#181">181</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (operationName.equals(<span class="jxr_string">"setLayout"</span>)) { +<a name="182" href="#182">182</a> <a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout = (Layout) OptionConverter.instantiateByClassName((String) +<a name="183" href="#183">183</a> params[0], +<a name="184" href="#184">184</a> Layout.<strong class="jxr_keyword">class</strong>, +<a name="185" href="#185">185</a> <strong class="jxr_keyword">null</strong>); +<a name="186" href="#186">186</a> appender.setLayout(layout); +<a name="187" href="#187">187</a> registerLayoutMBean(layout); +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> <strong class="jxr_keyword">void</strong> registerLayoutMBean(<a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout) { +<a name="193" href="#193">193</a> <strong class="jxr_keyword">if</strong>(layout == <strong class="jxr_keyword">null</strong>) +<a name="194" href="#194">194</a> <strong class="jxr_keyword">return</strong>; +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> String name = getAppenderName(appender)+<span class="jxr_string">",layout="</span>+layout.getClass().getName(); +<a name="197" href="#197">197</a> cat.debug(<span class="jxr_string">"Adding LayoutMBean:"</span>+name); +<a name="198" href="#198">198</a> ObjectName objectName = <strong class="jxr_keyword">null</strong>; +<a name="199" href="#199">199</a> <strong class="jxr_keyword">try</strong> { +<a name="200" href="#200">200</a> <a href="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html">LayoutDynamicMBean</a> appenderMBean = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html">LayoutDynamicMBean</a>(layout); +<a name="201" href="#201">201</a> objectName = <strong class="jxr_keyword">new</strong> ObjectName(<span class="jxr_string">"log4j:appender="</span>+name); +<a name="202" href="#202">202</a> <strong class="jxr_keyword">if</strong> (!server.isRegistered(objectName)) { +<a name="203" href="#203">203</a> registerMBean(appenderMBean, objectName); +<a name="204" href="#204">204</a> dAttributes.add(<strong class="jxr_keyword">new</strong> MBeanAttributeInfo(<span class="jxr_string">"appender="</span> + name, <span class="jxr_string">"javax.management.ObjectName"</span>, +<a name="205" href="#205">205</a> <span class="jxr_string">"The "</span> + name + <span class="jxr_string">" layout."</span>, <strong class="jxr_keyword">true</strong>, <strong class="jxr_keyword">true</strong>, false)); +<a name="206" href="#206">206</a> } +<a name="207" href="#207">207</a> +<a name="208" href="#208">208</a> } <strong class="jxr_keyword">catch</strong>(JMException e) { +<a name="209" href="#209">209</a> cat.error(<span class="jxr_string">"Could not add DynamicLayoutMBean for ["</span>+name+<span class="jxr_string">"]."</span>, e); +<a name="210" href="#210">210</a> } <strong class="jxr_keyword">catch</strong>(java.beans.IntrospectionException e) { +<a name="211" href="#211">211</a> cat.error(<span class="jxr_string">"Could not add DynamicLayoutMBean for ["</span>+name+<span class="jxr_string">"]."</span>, e); +<a name="212" href="#212">212</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="213" href="#213">213</a> cat.error(<span class="jxr_string">"Could not add DynamicLayoutMBean for ["</span>+name+<span class="jxr_string">"]."</span>, e); +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> } +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <strong class="jxr_keyword">protected</strong> +<a name="218" href="#218">218</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger() { +<a name="219" href="#219">219</a> <strong class="jxr_keyword">return</strong> cat; +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> <strong class="jxr_keyword">public</strong> +<a name="224" href="#224">224</a> Object getAttribute(String attributeName) <strong class="jxr_keyword">throws</strong> AttributeNotFoundException, +<a name="225" href="#225">225</a> MBeanException, +<a name="226" href="#226">226</a> ReflectionException { +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> <em class="jxr_comment">// Check attributeName is not null to avoid NullPointerException later on</em> +<a name="229" href="#229">229</a> <strong class="jxr_keyword">if</strong> (attributeName == <strong class="jxr_keyword">null</strong>) { +<a name="230" href="#230">230</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException(<strong class="jxr_keyword">new</strong> IllegalArgumentException( +<a name="231" href="#231">231</a> <span class="jxr_string">"Attribute name cannot be null"</span>), +<a name="232" href="#232">232</a> <span class="jxr_string">"Cannot invoke a getter of "</span> + dClassName + <span class="jxr_string">" with null attribute name"</span>); +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> cat.debug(<span class="jxr_string">"getAttribute called with ["</span>+attributeName+<span class="jxr_string">"]."</span>); +<a name="236" href="#236">236</a> <strong class="jxr_keyword">if</strong>(attributeName.startsWith(<span class="jxr_string">"appender="</span>+appender.getName()+<span class="jxr_string">",layout"</span>)) { +<a name="237" href="#237">237</a> <strong class="jxr_keyword">try</strong> { +<a name="238" href="#238">238</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ObjectName(<span class="jxr_string">"log4j:"</span>+attributeName ); +<a name="239" href="#239">239</a> } <strong class="jxr_keyword">catch</strong>(MalformedObjectNameException e) { +<a name="240" href="#240">240</a> cat.error(<span class="jxr_string">"attributeName"</span>, e); +<a name="241" href="#241">241</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="242" href="#242">242</a> cat.error(<span class="jxr_string">"attributeName"</span>, e); +<a name="243" href="#243">243</a> } +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> +<a name="246" href="#246">246</a> <a href="../../../../org/apache/log4j/jmx/MethodUnion.html">MethodUnion</a> mu = (MethodUnion) dynamicProps.get(attributeName); +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> <em class="jxr_comment">//cat.debug("----name="+attributeName+", b="+b);</em> +<a name="249" href="#249">249</a> +<a name="250" href="#250">250</a> <strong class="jxr_keyword">if</strong>(mu != <strong class="jxr_keyword">null</strong> &amp;&amp; mu.readMethod != <strong class="jxr_keyword">null</strong>) { +<a name="251" href="#251">251</a> <strong class="jxr_keyword">try</strong> { +<a name="252" href="#252">252</a> <strong class="jxr_keyword">return</strong> mu.readMethod.invoke(appender, <strong class="jxr_keyword">null</strong>); +<a name="253" href="#253">253</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException e) { +<a name="254" href="#254">254</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="255" href="#255">255</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException e) { +<a name="256" href="#256">256</a> <strong class="jxr_keyword">if</strong> (e.getTargetException() instanceof InterruptedException +<a name="257" href="#257">257</a> || e.getTargetException() instanceof InterruptedIOException) { +<a name="258" href="#258">258</a> Thread.currentThread().interrupt(); +<a name="259" href="#259">259</a> } +<a name="260" href="#260">260</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="261" href="#261">261</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="262" href="#262">262</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> } +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> +<a name="268" href="#268">268</a> <em class="jxr_comment">// If attributeName has not been recognized throw an AttributeNotFoundException</em> +<a name="269" href="#269">269</a> <strong class="jxr_keyword">throw</strong>(<strong class="jxr_keyword">new</strong> AttributeNotFoundException(<span class="jxr_string">"Cannot find "</span> + attributeName + +<a name="270" href="#270">270</a> <span class="jxr_string">" attribute in "</span> + dClassName)); +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> +<a name="275" href="#275">275</a> <strong class="jxr_keyword">public</strong> +<a name="276" href="#276">276</a> <strong class="jxr_keyword">void</strong> setAttribute(Attribute attribute) <strong class="jxr_keyword">throws</strong> AttributeNotFoundException, +<a name="277" href="#277">277</a> InvalidAttributeValueException, +<a name="278" href="#278">278</a> MBeanException, +<a name="279" href="#279">279</a> ReflectionException { +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> <em class="jxr_comment">// Check attribute is not null to avoid NullPointerException later on</em> +<a name="282" href="#282">282</a> <strong class="jxr_keyword">if</strong> (attribute == <strong class="jxr_keyword">null</strong>) { +<a name="283" href="#283">283</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="284" href="#284">284</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Attribute cannot be null"</span>), +<a name="285" href="#285">285</a> <span class="jxr_string">"Cannot invoke a setter of "</span> + dClassName + +<a name="286" href="#286">286</a> <span class="jxr_string">" with null attribute"</span>); +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> String name = attribute.getName(); +<a name="289" href="#289">289</a> Object value = attribute.getValue(); +<a name="290" href="#290">290</a> +<a name="291" href="#291">291</a> <strong class="jxr_keyword">if</strong> (name == <strong class="jxr_keyword">null</strong>) { +<a name="292" href="#292">292</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="293" href="#293">293</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Attribute name cannot be null"</span>), +<a name="294" href="#294">294</a> <span class="jxr_string">"Cannot invoke the setter of "</span>+dClassName+ +<a name="295" href="#295">295</a> <span class="jxr_string">" with null attribute name"</span>); +<a name="296" href="#296">296</a> } +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> <a href="../../../../org/apache/log4j/jmx/MethodUnion.html">MethodUnion</a> mu = (MethodUnion) dynamicProps.get(name); +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">if</strong>(mu != <strong class="jxr_keyword">null</strong> &amp;&amp; mu.writeMethod != <strong class="jxr_keyword">null</strong>) { +<a name="303" href="#303">303</a> Object[] o = <strong class="jxr_keyword">new</strong> Object[1]; +<a name="304" href="#304">304</a> +<a name="305" href="#305">305</a> Class[] params = mu.writeMethod.getParameterTypes(); +<a name="306" href="#306">306</a> <strong class="jxr_keyword">if</strong>(params[0] == org.apache.log4j.Priority.<strong class="jxr_keyword">class</strong>) { +<a name="307" href="#307">307</a> value = OptionConverter.toLevel((String) value, +<a name="308" href="#308">308</a> (<a href="../../../../org/apache/log4j/Level.html">Level</a>) getAttribute(name)); +<a name="309" href="#309">309</a> } +<a name="310" href="#310">310</a> o[0] = value; +<a name="311" href="#311">311</a> +<a name="312" href="#312">312</a> <strong class="jxr_keyword">try</strong> { +<a name="313" href="#313">313</a> mu.writeMethod.invoke(appender, o); +<a name="314" href="#314">314</a> +<a name="315" href="#315">315</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException e) { +<a name="316" href="#316">316</a> <strong class="jxr_keyword">if</strong> (e.getTargetException() instanceof InterruptedException +<a name="317" href="#317">317</a> || e.getTargetException() instanceof InterruptedIOException) { +<a name="318" href="#318">318</a> Thread.currentThread().interrupt(); +<a name="319" href="#319">319</a> } +<a name="320" href="#320">320</a> cat.error(<span class="jxr_string">"FIXME"</span>, e); +<a name="321" href="#321">321</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException e) { +<a name="322" href="#322">322</a> cat.error(<span class="jxr_string">"FIXME"</span>, e); +<a name="323" href="#323">323</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="324" href="#324">324</a> cat.error(<span class="jxr_string">"FIXME"</span>, e); +<a name="325" href="#325">325</a> } +<a name="326" href="#326">326</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(name.endsWith(<span class="jxr_string">".layout"</span>)) { +<a name="327" href="#327">327</a> +<a name="328" href="#328">328</a> } <strong class="jxr_keyword">else</strong> { +<a name="329" href="#329">329</a> <strong class="jxr_keyword">throw</strong>(<strong class="jxr_keyword">new</strong> AttributeNotFoundException(<span class="jxr_string">"Attribute "</span> + name + +<a name="330" href="#330">330</a> <span class="jxr_string">" not found in "</span> + +<a name="331" href="#331">331</a> <strong class="jxr_keyword">this</strong>.getClass().getName())); +<a name="332" href="#332">332</a> } +<a name="333" href="#333">333</a> } +<a name="334" href="#334">334</a> +<a name="335" href="#335">335</a> <strong class="jxr_keyword">public</strong> +<a name="336" href="#336">336</a> ObjectName preRegister(MBeanServer server, ObjectName name) { +<a name="337" href="#337">337</a> cat.debug(<span class="jxr_string">"preRegister called. Server="</span>+server+ <span class="jxr_string">", name="</span>+name); +<a name="338" href="#338">338</a> <strong class="jxr_keyword">this</strong>.server = server; +<a name="339" href="#339">339</a> registerLayoutMBean(appender.getLayout()); +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> <strong class="jxr_keyword">return</strong> name; +<a name="342" href="#342">342</a> } +<a name="343" href="#343">343</a> +<a name="344" href="#344">344</a> +<a name="345" href="#345">345</a> } +<a name="346" href="#346">346</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/HierarchyDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/HierarchyDynamicMBean.html new file mode 100644 index 00000000000..d077de4fa9b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/HierarchyDynamicMBean.html @@ -0,0 +1,316 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>HierarchyDynamicMBean xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/jmx/HierarchyDynamicMBean.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.jmx; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Category; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.HierarchyEventListener; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.management.Attribute; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.management.AttributeNotFoundException; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.management.InvalidAttributeValueException; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.management.JMException; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> javax.management.ListenerNotFoundException; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanAttributeInfo; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanConstructorInfo; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanException; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanInfo; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanNotificationInfo; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanOperationInfo; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanParameterInfo; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> javax.management.Notification; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> javax.management.NotificationBroadcaster; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">import</strong> javax.management.NotificationBroadcasterSupport; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">import</strong> javax.management.NotificationFilter; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">import</strong> javax.management.NotificationFilterSupport; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">import</strong> javax.management.NotificationListener; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">import</strong> javax.management.ObjectName; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">import</strong> javax.management.ReflectionException; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">import</strong> javax.management.RuntimeOperationsException; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Constructor; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html">HierarchyDynamicMBean</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html">AbstractDynamicMBean</a> +<a name="55" href="#55">55</a> implements HierarchyEventListener, +<a name="56" href="#56">56</a> NotificationBroadcaster { +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ADD_APPENDER = <span class="jxr_string">"addAppender."</span>; +<a name="59" href="#59">59</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String THRESHOLD = <span class="jxr_string">"threshold"</span>; +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">private</strong> MBeanConstructorInfo[] dConstructors = <strong class="jxr_keyword">new</strong> MBeanConstructorInfo[1]; +<a name="62" href="#62">62</a> <strong class="jxr_keyword">private</strong> MBeanOperationInfo[] dOperations = <strong class="jxr_keyword">new</strong> MBeanOperationInfo[1]; +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">private</strong> Vector vAttributes = <strong class="jxr_keyword">new</strong> Vector(); +<a name="65" href="#65">65</a> <strong class="jxr_keyword">private</strong> String dClassName = <strong class="jxr_keyword">this</strong>.getClass().getName(); +<a name="66" href="#66">66</a> <strong class="jxr_keyword">private</strong> String dDescription = +<a name="67" href="#67">67</a> <span class="jxr_string">"This MBean acts as a management facade for org.apache.log4j.Hierarchy."</span>; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">private</strong> NotificationBroadcasterSupport nbs = <strong class="jxr_keyword">new</strong> NotificationBroadcasterSupport(); +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy; +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> log = Logger.getLogger(HierarchyDynamicMBean.<strong class="jxr_keyword">class</strong>); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/jmx/HierarchyDynamicMBean.html">HierarchyDynamicMBean</a>() { +<a name="77" href="#77">77</a> hierarchy = LogManager.getLoggerRepository(); +<a name="78" href="#78">78</a> buildDynamicMBeanInfo(); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">private</strong> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">void</strong> buildDynamicMBeanInfo() { +<a name="83" href="#83">83</a> Constructor[] constructors = <strong class="jxr_keyword">this</strong>.getClass().getConstructors(); +<a name="84" href="#84">84</a> dConstructors[0] = <strong class="jxr_keyword">new</strong> MBeanConstructorInfo( +<a name="85" href="#85">85</a> <span class="jxr_string">"HierarchyDynamicMBean(): Constructs a HierarchyDynamicMBean instance"</span>, +<a name="86" href="#86">86</a> constructors[0]); +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> vAttributes.add(<strong class="jxr_keyword">new</strong> MBeanAttributeInfo(THRESHOLD, +<a name="89" href="#89">89</a> <span class="jxr_string">"java.lang.String"</span>, +<a name="90" href="#90">90</a> <span class="jxr_string">"The \&quot;threshold\&quot; state of the hiearchy."</span>, +<a name="91" href="#91">91</a> <strong class="jxr_keyword">true</strong>, +<a name="92" href="#92">92</a> <strong class="jxr_keyword">true</strong>, +<a name="93" href="#93">93</a> false)); +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> MBeanParameterInfo[] params = <strong class="jxr_keyword">new</strong> MBeanParameterInfo[1]; +<a name="96" href="#96">96</a> params[0] = <strong class="jxr_keyword">new</strong> MBeanParameterInfo(<span class="jxr_string">"name"</span>, <span class="jxr_string">"java.lang.String"</span>, +<a name="97" href="#97">97</a> <span class="jxr_string">"Create a logger MBean"</span> ); +<a name="98" href="#98">98</a> dOperations[0] = <strong class="jxr_keyword">new</strong> MBeanOperationInfo(<span class="jxr_string">"addLoggerMBean"</span>, +<a name="99" href="#99">99</a> <span class="jxr_string">"addLoggerMBean(): add a loggerMBean"</span>, +<a name="100" href="#100">100</a> params , +<a name="101" href="#101">101</a> <span class="jxr_string">"javax.management.ObjectName"</span>, +<a name="102" href="#102">102</a> MBeanOperationInfo.ACTION); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">public</strong> +<a name="107" href="#107">107</a> ObjectName addLoggerMBean(String name) { +<a name="108" href="#108">108</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> cat = LogManager.exists(name); +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">if</strong>(cat != <strong class="jxr_keyword">null</strong>) { +<a name="111" href="#111">111</a> <strong class="jxr_keyword">return</strong> addLoggerMBean(cat); +<a name="112" href="#112">112</a> } <strong class="jxr_keyword">else</strong> { +<a name="113" href="#113">113</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> ObjectName addLoggerMBean(<a href="../../../../org/apache/log4j/Logger.html">Logger</a> logger) { +<a name="118" href="#118">118</a> String name = logger.getName(); +<a name="119" href="#119">119</a> ObjectName objectName = <strong class="jxr_keyword">null</strong>; +<a name="120" href="#120">120</a> <strong class="jxr_keyword">try</strong> { +<a name="121" href="#121">121</a> <a href="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html">LoggerDynamicMBean</a> loggerMBean = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html">LoggerDynamicMBean</a>(logger); +<a name="122" href="#122">122</a> objectName = <strong class="jxr_keyword">new</strong> ObjectName(<span class="jxr_string">"log4j"</span>, <span class="jxr_string">"logger"</span>, name); +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">if</strong> (!server.isRegistered(objectName)) { +<a name="125" href="#125">125</a> registerMBean(loggerMBean, objectName); +<a name="126" href="#126">126</a> NotificationFilterSupport nfs = <strong class="jxr_keyword">new</strong> NotificationFilterSupport(); +<a name="127" href="#127">127</a> nfs.enableType(ADD_APPENDER + logger.getName()); +<a name="128" href="#128">128</a> log.debug(<span class="jxr_string">"---Adding logger ["</span> + name + <span class="jxr_string">"] as listener."</span>); +<a name="129" href="#129">129</a> nbs.addNotificationListener(loggerMBean, nfs, <strong class="jxr_keyword">null</strong>); +<a name="130" href="#130">130</a> vAttributes.add(<strong class="jxr_keyword">new</strong> MBeanAttributeInfo(<span class="jxr_string">"logger="</span> + name, <span class="jxr_string">"javax.management.ObjectName"</span>, +<a name="131" href="#131">131</a> <span class="jxr_string">"The "</span> + name + <span class="jxr_string">" logger."</span>, <strong class="jxr_keyword">true</strong>, <strong class="jxr_keyword">true</strong>, <em class="jxr_comment">// this makes the object</em> +<a name="132" href="#132">132</a> <em class="jxr_comment">// clickable</em> +<a name="133" href="#133">133</a> false)); +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> } <strong class="jxr_keyword">catch</strong>(JMException e) { +<a name="138" href="#138">138</a> log.error(<span class="jxr_string">"Could not add loggerMBean for ["</span>+name+<span class="jxr_string">"]."</span>, e); +<a name="139" href="#139">139</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="140" href="#140">140</a> log.error(<span class="jxr_string">"Could not add loggerMBean for ["</span>+name+<span class="jxr_string">"]."</span>, e); +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> <strong class="jxr_keyword">return</strong> objectName; +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">public</strong> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">void</strong> addNotificationListener(NotificationListener listener, +<a name="147" href="#147">147</a> NotificationFilter filter, +<a name="148" href="#148">148</a> java.lang.Object handback) { +<a name="149" href="#149">149</a> nbs.addNotificationListener(listener, filter, handback); +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">protected</strong> +<a name="153" href="#153">153</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger() { +<a name="154" href="#154">154</a> <strong class="jxr_keyword">return</strong> log; +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">public</strong> +<a name="158" href="#158">158</a> MBeanInfo getMBeanInfo() { +<a name="159" href="#159">159</a> <em class="jxr_comment">//cat.debug("getMBeanInfo called.");</em> +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> MBeanAttributeInfo[] attribs = <strong class="jxr_keyword">new</strong> MBeanAttributeInfo[vAttributes.size()]; +<a name="162" href="#162">162</a> vAttributes.toArray(attribs); +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> MBeanInfo(dClassName, +<a name="165" href="#165">165</a> dDescription, +<a name="166" href="#166">166</a> attribs, +<a name="167" href="#167">167</a> dConstructors, +<a name="168" href="#168">168</a> dOperations, +<a name="169" href="#169">169</a> <strong class="jxr_keyword">new</strong> MBeanNotificationInfo[0]); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">public</strong> +<a name="173" href="#173">173</a> MBeanNotificationInfo[] getNotificationInfo(){ +<a name="174" href="#174">174</a> <strong class="jxr_keyword">return</strong> nbs.getNotificationInfo(); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <strong class="jxr_keyword">public</strong> +<a name="178" href="#178">178</a> Object invoke(String operationName, +<a name="179" href="#179">179</a> Object params[], +<a name="180" href="#180">180</a> String signature[]) <strong class="jxr_keyword">throws</strong> MBeanException, +<a name="181" href="#181">181</a> ReflectionException { +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">if</strong> (operationName == <strong class="jxr_keyword">null</strong>) { +<a name="184" href="#184">184</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="185" href="#185">185</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Operation name cannot be null"</span>), +<a name="186" href="#186">186</a> <span class="jxr_string">"Cannot invoke a null operation in "</span> + dClassName); +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> <em class="jxr_comment">// Check for a recognized operation name and call the corresponding operation</em> +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">if</strong>(operationName.equals(<span class="jxr_string">"addLoggerMBean"</span>)) { +<a name="191" href="#191">191</a> <strong class="jxr_keyword">return</strong> addLoggerMBean((String)params[0]); +<a name="192" href="#192">192</a> } <strong class="jxr_keyword">else</strong> { +<a name="193" href="#193">193</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> ReflectionException( +<a name="194" href="#194">194</a> <strong class="jxr_keyword">new</strong> NoSuchMethodException(operationName), +<a name="195" href="#195">195</a> <span class="jxr_string">"Cannot find the operation "</span> + operationName + <span class="jxr_string">" in "</span> + dClassName); +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> } +<a name="199" href="#199">199</a> +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <strong class="jxr_keyword">public</strong> +<a name="202" href="#202">202</a> Object getAttribute(String attributeName) <strong class="jxr_keyword">throws</strong> AttributeNotFoundException, +<a name="203" href="#203">203</a> MBeanException, +<a name="204" href="#204">204</a> ReflectionException { +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em class="jxr_comment">// Check attributeName is not null to avoid NullPointerException later on</em> +<a name="207" href="#207">207</a> <strong class="jxr_keyword">if</strong> (attributeName == <strong class="jxr_keyword">null</strong>) { +<a name="208" href="#208">208</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException(<strong class="jxr_keyword">new</strong> IllegalArgumentException( +<a name="209" href="#209">209</a> <span class="jxr_string">"Attribute name cannot be null"</span>), +<a name="210" href="#210">210</a> <span class="jxr_string">"Cannot invoke a getter of "</span> + dClassName + <span class="jxr_string">" with null attribute name"</span>); +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> log.debug(<span class="jxr_string">"Called getAttribute with ["</span>+attributeName+<span class="jxr_string">"]."</span>); +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_comment">// Check for a recognized attributeName and call the corresponding getter</em> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">if</strong> (attributeName.equals(THRESHOLD)) { +<a name="217" href="#217">217</a> <strong class="jxr_keyword">return</strong> hierarchy.getThreshold(); +<a name="218" href="#218">218</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(attributeName.startsWith(<span class="jxr_string">"logger"</span>)) { +<a name="219" href="#219">219</a> <strong class="jxr_keyword">int</strong> k = attributeName.indexOf(<span class="jxr_string">"%3D"</span>); +<a name="220" href="#220">220</a> String val = attributeName; +<a name="221" href="#221">221</a> <strong class="jxr_keyword">if</strong>(k &gt; 0) { +<a name="222" href="#222">222</a> val = attributeName.substring(0, k)+'='+ attributeName.substring(k+3); +<a name="223" href="#223">223</a> } +<a name="224" href="#224">224</a> <strong class="jxr_keyword">try</strong> { +<a name="225" href="#225">225</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ObjectName(<span class="jxr_string">"log4j:"</span>+val); +<a name="226" href="#226">226</a> } <strong class="jxr_keyword">catch</strong>(JMException e) { +<a name="227" href="#227">227</a> log.error(<span class="jxr_string">"Could not create ObjectName"</span> + val); +<a name="228" href="#228">228</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="229" href="#229">229</a> log.error(<span class="jxr_string">"Could not create ObjectName"</span> + val); +<a name="230" href="#230">230</a> } +<a name="231" href="#231">231</a> } +<a name="232" href="#232">232</a> +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <em class="jxr_comment">// If attributeName has not been recognized throw an AttributeNotFoundException</em> +<a name="236" href="#236">236</a> <strong class="jxr_keyword">throw</strong>(<strong class="jxr_keyword">new</strong> AttributeNotFoundException(<span class="jxr_string">"Cannot find "</span> + attributeName + +<a name="237" href="#237">237</a> <span class="jxr_string">" attribute in "</span> + dClassName)); +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <strong class="jxr_keyword">public</strong> +<a name="243" href="#243">243</a> <strong class="jxr_keyword">void</strong> addAppenderEvent(<a href="../../../../org/apache/log4j/Category.html">Category</a> logger, <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="244" href="#244">244</a> log.debug(<span class="jxr_string">"addAppenderEvent called: logger="</span>+logger.getName()+ +<a name="245" href="#245">245</a> <span class="jxr_string">", appender="</span>+appender.getName()); +<a name="246" href="#246">246</a> Notification n = <strong class="jxr_keyword">new</strong> Notification(ADD_APPENDER+logger.getName(), <strong class="jxr_keyword">this</strong>, 0); +<a name="247" href="#247">247</a> n.setUserData(appender); +<a name="248" href="#248">248</a> log.debug(<span class="jxr_string">"sending notification."</span>); +<a name="249" href="#249">249</a> nbs.sendNotification(n); +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <strong class="jxr_keyword">public</strong> +<a name="253" href="#253">253</a> <strong class="jxr_keyword">void</strong> removeAppenderEvent(<a href="../../../../org/apache/log4j/Category.html">Category</a> cat, <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="254" href="#254">254</a> log.debug(<span class="jxr_string">"removeAppenderCalled: logger="</span>+cat.getName()+ +<a name="255" href="#255">255</a> <span class="jxr_string">", appender="</span>+appender.getName()); +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> +<a name="258" href="#258">258</a> <strong class="jxr_keyword">public</strong> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">void</strong> postRegister(java.lang.Boolean registrationDone) { +<a name="260" href="#260">260</a> log.debug(<span class="jxr_string">"postRegister is called."</span>); +<a name="261" href="#261">261</a> hierarchy.addHierarchyEventListener(<strong class="jxr_keyword">this</strong>); +<a name="262" href="#262">262</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> root = hierarchy.getRootLogger(); +<a name="263" href="#263">263</a> addLoggerMBean(root); +<a name="264" href="#264">264</a> } +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> <strong class="jxr_keyword">public</strong> +<a name="267" href="#267">267</a> <strong class="jxr_keyword">void</strong> removeNotificationListener(NotificationListener listener) +<a name="268" href="#268">268</a> <strong class="jxr_keyword">throws</strong> ListenerNotFoundException { +<a name="269" href="#269">269</a> nbs.removeNotificationListener(listener); +<a name="270" href="#270">270</a> } +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <strong class="jxr_keyword">public</strong> +<a name="273" href="#273">273</a> <strong class="jxr_keyword">void</strong> setAttribute(Attribute attribute) <strong class="jxr_keyword">throws</strong> AttributeNotFoundException, +<a name="274" href="#274">274</a> InvalidAttributeValueException, +<a name="275" href="#275">275</a> MBeanException, +<a name="276" href="#276">276</a> ReflectionException { +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> <em class="jxr_comment">// Check attribute is not null to avoid NullPointerException later on</em> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">if</strong> (attribute == <strong class="jxr_keyword">null</strong>) { +<a name="280" href="#280">280</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="281" href="#281">281</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Attribute cannot be null"</span>), +<a name="282" href="#282">282</a> <span class="jxr_string">"Cannot invoke a setter of "</span>+dClassName+<span class="jxr_string">" with null attribute"</span>); +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> String name = attribute.getName(); +<a name="285" href="#285">285</a> Object value = attribute.getValue(); +<a name="286" href="#286">286</a> +<a name="287" href="#287">287</a> <strong class="jxr_keyword">if</strong> (name == <strong class="jxr_keyword">null</strong>) { +<a name="288" href="#288">288</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="289" href="#289">289</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Attribute name cannot be null"</span>), +<a name="290" href="#290">290</a> <span class="jxr_string">"Cannot invoke the setter of "</span>+dClassName+ +<a name="291" href="#291">291</a> <span class="jxr_string">" with null attribute name"</span>); +<a name="292" href="#292">292</a> } +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> <strong class="jxr_keyword">if</strong>(name.equals(THRESHOLD)) { +<a name="295" href="#295">295</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> l = OptionConverter.toLevel((String) value, +<a name="296" href="#296">296</a> hierarchy.getThreshold()); +<a name="297" href="#297">297</a> hierarchy.setThreshold(l); +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> +<a name="301" href="#301">301</a> } +<a name="302" href="#302">302</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/LayoutDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/LayoutDynamicMBean.html new file mode 100644 index 00000000000..2dca2382aba --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/LayoutDynamicMBean.html @@ -0,0 +1,288 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LayoutDynamicMBean xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/jmx/LayoutDynamicMBean.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.jmx; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Constructor; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanAttributeInfo; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanConstructorInfo; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanNotificationInfo; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanInfo; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> javax.management.Attribute; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanException; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> javax.management.AttributeNotFoundException; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> javax.management.RuntimeOperationsException; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> javax.management.ReflectionException; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> javax.management.InvalidAttributeValueException; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanOperationInfo; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanParameterInfo; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">import</strong> java.beans.Introspector; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">import</strong> java.beans.BeanInfo; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">import</strong> java.beans.PropertyDescriptor; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">import</strong> java.beans.IntrospectionException; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/jmx/LayoutDynamicMBean.html">LayoutDynamicMBean</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html">AbstractDynamicMBean</a> { +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">private</strong> MBeanConstructorInfo[] dConstructors = <strong class="jxr_keyword">new</strong> MBeanConstructorInfo[1]; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">private</strong> Vector dAttributes = <strong class="jxr_keyword">new</strong> Vector(); +<a name="55" href="#55">55</a> <strong class="jxr_keyword">private</strong> String dClassName = <strong class="jxr_keyword">this</strong>.getClass().getName(); +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">private</strong> Hashtable dynamicProps = <strong class="jxr_keyword">new</strong> Hashtable(5); +<a name="58" href="#58">58</a> <strong class="jxr_keyword">private</strong> MBeanOperationInfo[] dOperations = <strong class="jxr_keyword">new</strong> MBeanOperationInfo[1]; +<a name="59" href="#59">59</a> <strong class="jxr_keyword">private</strong> String dDescription = +<a name="60" href="#60">60</a> <span class="jxr_string">"This MBean acts as a management facade for log4j layouts."</span>; +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_comment">// This category instance is for logging.</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> cat = Logger.getLogger(LayoutDynamicMBean.<strong class="jxr_keyword">class</strong>); +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_comment">// We wrap this layout instance.</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout; +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> LayoutDynamicMBean(Layout layout) <strong class="jxr_keyword">throws</strong> IntrospectionException { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">this</strong>.layout = layout; +<a name="70" href="#70">70</a> buildDynamicMBeanInfo(); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">private</strong> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">void</strong> buildDynamicMBeanInfo() <strong class="jxr_keyword">throws</strong> IntrospectionException { +<a name="75" href="#75">75</a> Constructor[] constructors = <strong class="jxr_keyword">this</strong>.getClass().getConstructors(); +<a name="76" href="#76">76</a> dConstructors[0] = <strong class="jxr_keyword">new</strong> MBeanConstructorInfo( +<a name="77" href="#77">77</a> <span class="jxr_string">"LayoutDynamicMBean(): Constructs a LayoutDynamicMBean instance"</span>, +<a name="78" href="#78">78</a> constructors[0]); +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> BeanInfo bi = Introspector.getBeanInfo(layout.getClass()); +<a name="82" href="#82">82</a> PropertyDescriptor[] pd = bi.getPropertyDescriptors(); +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">int</strong> size = pd.length; +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; size; i++) { +<a name="87" href="#87">87</a> String name = pd[i].getName(); +<a name="88" href="#88">88</a> Method readMethod = pd[i].getReadMethod(); +<a name="89" href="#89">89</a> Method writeMethod = pd[i].getWriteMethod(); +<a name="90" href="#90">90</a> <strong class="jxr_keyword">if</strong>(readMethod != <strong class="jxr_keyword">null</strong>) { +<a name="91" href="#91">91</a> Class returnClass = readMethod.getReturnType(); +<a name="92" href="#92">92</a> <strong class="jxr_keyword">if</strong>(isSupportedType(returnClass)) { +<a name="93" href="#93">93</a> String returnClassName; +<a name="94" href="#94">94</a> <strong class="jxr_keyword">if</strong>(returnClass.isAssignableFrom(Level.<strong class="jxr_keyword">class</strong>)) { +<a name="95" href="#95">95</a> returnClassName = <span class="jxr_string">"java.lang.String"</span>; +<a name="96" href="#96">96</a> } <strong class="jxr_keyword">else</strong> { +<a name="97" href="#97">97</a> returnClassName = returnClass.getName(); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> dAttributes.add(<strong class="jxr_keyword">new</strong> MBeanAttributeInfo(name, +<a name="101" href="#101">101</a> returnClassName, +<a name="102" href="#102">102</a> <span class="jxr_string">"Dynamic"</span>, +<a name="103" href="#103">103</a> <strong class="jxr_keyword">true</strong>, +<a name="104" href="#104">104</a> writeMethod != <strong class="jxr_keyword">null</strong>, +<a name="105" href="#105">105</a> false)); +<a name="106" href="#106">106</a> dynamicProps.put(name, <strong class="jxr_keyword">new</strong> MethodUnion(readMethod, writeMethod)); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> MBeanParameterInfo[] params = <strong class="jxr_keyword">new</strong> MBeanParameterInfo[0]; +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> dOperations[0] = <strong class="jxr_keyword">new</strong> MBeanOperationInfo(<span class="jxr_string">"activateOptions"</span>, +<a name="114" href="#114">114</a> <span class="jxr_string">"activateOptions(): add an layout"</span>, +<a name="115" href="#115">115</a> params, +<a name="116" href="#116">116</a> <span class="jxr_string">"void"</span>, +<a name="117" href="#117">117</a> MBeanOperationInfo.ACTION); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">private</strong> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">boolean</strong> isSupportedType(Class clazz) { +<a name="122" href="#122">122</a> <strong class="jxr_keyword">if</strong>(clazz.isPrimitive()) { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">if</strong>(clazz == String.<strong class="jxr_keyword">class</strong>) { +<a name="127" href="#127">127</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> <strong class="jxr_keyword">if</strong>(clazz.isAssignableFrom(Level.<strong class="jxr_keyword">class</strong>)) { +<a name="130" href="#130">130</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">return</strong> false; +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">public</strong> +<a name="139" href="#139">139</a> MBeanInfo getMBeanInfo() { +<a name="140" href="#140">140</a> cat.debug(<span class="jxr_string">"getMBeanInfo called."</span>); +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> MBeanAttributeInfo[] attribs = <strong class="jxr_keyword">new</strong> MBeanAttributeInfo[dAttributes.size()]; +<a name="143" href="#143">143</a> dAttributes.toArray(attribs); +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> MBeanInfo(dClassName, +<a name="146" href="#146">146</a> dDescription, +<a name="147" href="#147">147</a> attribs, +<a name="148" href="#148">148</a> dConstructors, +<a name="149" href="#149">149</a> dOperations, +<a name="150" href="#150">150</a> <strong class="jxr_keyword">new</strong> MBeanNotificationInfo[0]); +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">public</strong> +<a name="154" href="#154">154</a> Object invoke(String operationName, Object params[], String signature[]) +<a name="155" href="#155">155</a> <strong class="jxr_keyword">throws</strong> MBeanException, +<a name="156" href="#156">156</a> ReflectionException { +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">if</strong>(operationName.equals(<span class="jxr_string">"activateOptions"</span>) &amp;&amp; +<a name="159" href="#159">159</a> layout instanceof <a href="../../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a>) { +<a name="160" href="#160">160</a> <a href="../../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a> oh = (OptionHandler) layout; +<a name="161" href="#161">161</a> oh.activateOptions(); +<a name="162" href="#162">162</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Options activated."</span>; +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> <strong class="jxr_keyword">protected</strong> +<a name="168" href="#168">168</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger() { +<a name="169" href="#169">169</a> <strong class="jxr_keyword">return</strong> cat; +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">public</strong> +<a name="174" href="#174">174</a> Object getAttribute(String attributeName) <strong class="jxr_keyword">throws</strong> AttributeNotFoundException, +<a name="175" href="#175">175</a> MBeanException, +<a name="176" href="#176">176</a> ReflectionException { +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <em class="jxr_comment">// Check attributeName is not null to avoid NullPointerException later on</em> +<a name="179" href="#179">179</a> <strong class="jxr_keyword">if</strong> (attributeName == <strong class="jxr_keyword">null</strong>) { +<a name="180" href="#180">180</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException(<strong class="jxr_keyword">new</strong> IllegalArgumentException( +<a name="181" href="#181">181</a> <span class="jxr_string">"Attribute name cannot be null"</span>), +<a name="182" href="#182">182</a> <span class="jxr_string">"Cannot invoke a getter of "</span> + dClassName + <span class="jxr_string">" with null attribute name"</span>); +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> <a href="../../../../org/apache/log4j/jmx/MethodUnion.html">MethodUnion</a> mu = (MethodUnion) dynamicProps.get(attributeName); +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> cat.debug(<span class="jxr_string">"----name="</span>+attributeName+<span class="jxr_string">", mu="</span>+mu); +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">if</strong>(mu != <strong class="jxr_keyword">null</strong> &amp;&amp; mu.readMethod != <strong class="jxr_keyword">null</strong>) { +<a name="191" href="#191">191</a> <strong class="jxr_keyword">try</strong> { +<a name="192" href="#192">192</a> <strong class="jxr_keyword">return</strong> mu.readMethod.invoke(layout, <strong class="jxr_keyword">null</strong>); +<a name="193" href="#193">193</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException e) { +<a name="194" href="#194">194</a> <strong class="jxr_keyword">if</strong> (e.getTargetException() instanceof InterruptedException +<a name="195" href="#195">195</a> || e.getTargetException() instanceof InterruptedIOException) { +<a name="196" href="#196">196</a> Thread.currentThread().interrupt(); +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="199" href="#199">199</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException e) { +<a name="200" href="#200">200</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="201" href="#201">201</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="202" href="#202">202</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> +<a name="207" href="#207">207</a> +<a name="208" href="#208">208</a> <em class="jxr_comment">// If attributeName has not been recognized throw an AttributeNotFoundException</em> +<a name="209" href="#209">209</a> <strong class="jxr_keyword">throw</strong>(<strong class="jxr_keyword">new</strong> AttributeNotFoundException(<span class="jxr_string">"Cannot find "</span> + attributeName + +<a name="210" href="#210">210</a> <span class="jxr_string">" attribute in "</span> + dClassName)); +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> } +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">public</strong> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">void</strong> setAttribute(Attribute attribute) <strong class="jxr_keyword">throws</strong> AttributeNotFoundException, +<a name="217" href="#217">217</a> InvalidAttributeValueException, +<a name="218" href="#218">218</a> MBeanException, +<a name="219" href="#219">219</a> ReflectionException { +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em class="jxr_comment">// Check attribute is not null to avoid NullPointerException later on</em> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">if</strong> (attribute == <strong class="jxr_keyword">null</strong>) { +<a name="223" href="#223">223</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="224" href="#224">224</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Attribute cannot be null"</span>), +<a name="225" href="#225">225</a> <span class="jxr_string">"Cannot invoke a setter of "</span> + dClassName + +<a name="226" href="#226">226</a> <span class="jxr_string">" with null attribute"</span>); +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> String name = attribute.getName(); +<a name="229" href="#229">229</a> Object value = attribute.getValue(); +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <strong class="jxr_keyword">if</strong> (name == <strong class="jxr_keyword">null</strong>) { +<a name="232" href="#232">232</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="233" href="#233">233</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Attribute name cannot be null"</span>), +<a name="234" href="#234">234</a> <span class="jxr_string">"Cannot invoke the setter of "</span>+dClassName+ +<a name="235" href="#235">235</a> <span class="jxr_string">" with null attribute name"</span>); +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <a href="../../../../org/apache/log4j/jmx/MethodUnion.html">MethodUnion</a> mu = (MethodUnion) dynamicProps.get(name); +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <strong class="jxr_keyword">if</strong>(mu != <strong class="jxr_keyword">null</strong> &amp;&amp; mu.writeMethod != <strong class="jxr_keyword">null</strong>) { +<a name="243" href="#243">243</a> Object[] o = <strong class="jxr_keyword">new</strong> Object[1]; +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> Class[] params = mu.writeMethod.getParameterTypes(); +<a name="246" href="#246">246</a> <strong class="jxr_keyword">if</strong>(params[0] == org.apache.log4j.Priority.<strong class="jxr_keyword">class</strong>) { +<a name="247" href="#247">247</a> value = OptionConverter.toLevel((String) value, +<a name="248" href="#248">248</a> (<a href="../../../../org/apache/log4j/Level.html">Level</a>) getAttribute(name)); +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> o[0] = value; +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <strong class="jxr_keyword">try</strong> { +<a name="253" href="#253">253</a> mu.writeMethod.invoke(layout, o); +<a name="254" href="#254">254</a> +<a name="255" href="#255">255</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException e) { +<a name="256" href="#256">256</a> <strong class="jxr_keyword">if</strong> (e.getTargetException() instanceof InterruptedException +<a name="257" href="#257">257</a> || e.getTargetException() instanceof InterruptedIOException) { +<a name="258" href="#258">258</a> Thread.currentThread().interrupt(); +<a name="259" href="#259">259</a> } +<a name="260" href="#260">260</a> cat.error(<span class="jxr_string">"FIXME"</span>, e); +<a name="261" href="#261">261</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException e) { +<a name="262" href="#262">262</a> cat.error(<span class="jxr_string">"FIXME"</span>, e); +<a name="263" href="#263">263</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="264" href="#264">264</a> cat.error(<span class="jxr_string">"FIXME"</span>, e); +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> } <strong class="jxr_keyword">else</strong> { +<a name="267" href="#267">267</a> <strong class="jxr_keyword">throw</strong>(<strong class="jxr_keyword">new</strong> AttributeNotFoundException(<span class="jxr_string">"Attribute "</span> + name + +<a name="268" href="#268">268</a> <span class="jxr_string">" not found in "</span> + +<a name="269" href="#269">269</a> <strong class="jxr_keyword">this</strong>.getClass().getName())); +<a name="270" href="#270">270</a> } +<a name="271" href="#271">271</a> } +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/LoggerDynamicMBean.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/LoggerDynamicMBean.html new file mode 100644 index 00000000000..ebc414377bd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/LoggerDynamicMBean.html @@ -0,0 +1,296 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LoggerDynamicMBean xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/jmx/LoggerDynamicMBean.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.jmx; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.management.Attribute; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.management.AttributeNotFoundException; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.management.InvalidAttributeValueException; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.management.JMException; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanAttributeInfo; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanConstructorInfo; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanException; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanInfo; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanNotificationInfo; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanOperationInfo; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> javax.management.MBeanParameterInfo; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> javax.management.MalformedObjectNameException; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> javax.management.Notification; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> javax.management.NotificationListener; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> javax.management.ObjectName; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> javax.management.ReflectionException; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> javax.management.RuntimeOperationsException; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Constructor; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html">LoggerDynamicMBean</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/jmx/AbstractDynamicMBean.html">AbstractDynamicMBean</a> +<a name="47" href="#47">47</a> implements NotificationListener { +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">private</strong> MBeanConstructorInfo[] dConstructors = <strong class="jxr_keyword">new</strong> MBeanConstructorInfo[1]; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">private</strong> MBeanOperationInfo[] dOperations = <strong class="jxr_keyword">new</strong> MBeanOperationInfo[1]; +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">private</strong> Vector dAttributes = <strong class="jxr_keyword">new</strong> Vector(); +<a name="53" href="#53">53</a> <strong class="jxr_keyword">private</strong> String dClassName = <strong class="jxr_keyword">this</strong>.getClass().getName(); +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">private</strong> String dDescription = +<a name="56" href="#56">56</a> <span class="jxr_string">"This MBean acts as a management facade for a org.apache.log4j.Logger instance."</span>; +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_comment">// This Logger instance is for logging.</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> cat = Logger.getLogger(LoggerDynamicMBean.<strong class="jxr_keyword">class</strong>); +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_comment">// We wrap this Logger instance.</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> logger; +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/jmx/LoggerDynamicMBean.html">LoggerDynamicMBean</a>(<a href="../../../../org/apache/log4j/Logger.html">Logger</a> logger) { +<a name="65" href="#65">65</a> <strong class="jxr_keyword">this</strong>.logger = logger; +<a name="66" href="#66">66</a> buildDynamicMBeanInfo(); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">public</strong> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">void</strong> handleNotification(Notification notification, Object handback) { +<a name="71" href="#71">71</a> cat.debug(<span class="jxr_string">"Received notification: "</span>+notification.getType()); +<a name="72" href="#72">72</a> registerAppenderMBean((Appender) notification.getUserData() ); +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">private</strong> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">void</strong> buildDynamicMBeanInfo() { +<a name="79" href="#79">79</a> Constructor[] constructors = <strong class="jxr_keyword">this</strong>.getClass().getConstructors(); +<a name="80" href="#80">80</a> dConstructors[0] = <strong class="jxr_keyword">new</strong> MBeanConstructorInfo( +<a name="81" href="#81">81</a> <span class="jxr_string">"HierarchyDynamicMBean(): Constructs a HierarchyDynamicMBean instance"</span>, +<a name="82" href="#82">82</a> constructors[0]); +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> dAttributes.add(<strong class="jxr_keyword">new</strong> MBeanAttributeInfo(<span class="jxr_string">"name"</span>, +<a name="85" href="#85">85</a> <span class="jxr_string">"java.lang.String"</span>, +<a name="86" href="#86">86</a> <span class="jxr_string">"The name of this Logger."</span>, +<a name="87" href="#87">87</a> <strong class="jxr_keyword">true</strong>, +<a name="88" href="#88">88</a> false, +<a name="89" href="#89">89</a> false)); +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> dAttributes.add(<strong class="jxr_keyword">new</strong> MBeanAttributeInfo(<span class="jxr_string">"priority"</span>, +<a name="92" href="#92">92</a> <span class="jxr_string">"java.lang.String"</span>, +<a name="93" href="#93">93</a> <span class="jxr_string">"The priority of this logger."</span>, +<a name="94" href="#94">94</a> <strong class="jxr_keyword">true</strong>, +<a name="95" href="#95">95</a> <strong class="jxr_keyword">true</strong>, +<a name="96" href="#96">96</a> false)); +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> MBeanParameterInfo[] params = <strong class="jxr_keyword">new</strong> MBeanParameterInfo[2]; +<a name="103" href="#103">103</a> params[0] = <strong class="jxr_keyword">new</strong> MBeanParameterInfo(<span class="jxr_string">"class name"</span>, <span class="jxr_string">"java.lang.String"</span>, +<a name="104" href="#104">104</a> <span class="jxr_string">"add an appender to this logger"</span>); +<a name="105" href="#105">105</a> params[1] = <strong class="jxr_keyword">new</strong> MBeanParameterInfo(<span class="jxr_string">"appender name"</span>, <span class="jxr_string">"java.lang.String"</span>, +<a name="106" href="#106">106</a> <span class="jxr_string">"name of the appender"</span>); +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> dOperations[0] = <strong class="jxr_keyword">new</strong> MBeanOperationInfo(<span class="jxr_string">"addAppender"</span>, +<a name="109" href="#109">109</a> <span class="jxr_string">"addAppender(): add an appender"</span>, +<a name="110" href="#110">110</a> params, +<a name="111" href="#111">111</a> <span class="jxr_string">"void"</span>, +<a name="112" href="#112">112</a> MBeanOperationInfo.ACTION); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">protected</strong> +<a name="116" href="#116">116</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger() { +<a name="117" href="#117">117</a> <strong class="jxr_keyword">return</strong> logger; +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">public</strong> +<a name="122" href="#122">122</a> MBeanInfo getMBeanInfo() { +<a name="123" href="#123">123</a> <em class="jxr_comment">//cat.debug("getMBeanInfo called.");</em> +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> MBeanAttributeInfo[] attribs = <strong class="jxr_keyword">new</strong> MBeanAttributeInfo[dAttributes.size()]; +<a name="126" href="#126">126</a> dAttributes.toArray(attribs); +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> MBeanInfo mb = <strong class="jxr_keyword">new</strong> MBeanInfo(dClassName, +<a name="129" href="#129">129</a> dDescription, +<a name="130" href="#130">130</a> attribs, +<a name="131" href="#131">131</a> dConstructors, +<a name="132" href="#132">132</a> dOperations, +<a name="133" href="#133">133</a> <strong class="jxr_keyword">new</strong> MBeanNotificationInfo[0]); +<a name="134" href="#134">134</a> <em class="jxr_comment">//cat.debug("getMBeanInfo exit.");</em> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">return</strong> mb; +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">public</strong> +<a name="139" href="#139">139</a> Object invoke(String operationName, Object params[], String signature[]) +<a name="140" href="#140">140</a> <strong class="jxr_keyword">throws</strong> MBeanException, +<a name="141" href="#141">141</a> ReflectionException { +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">if</strong>(operationName.equals(<span class="jxr_string">"addAppender"</span>)) { +<a name="144" href="#144">144</a> addAppender((String) params[0], (String) params[1]); +<a name="145" href="#145">145</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Hello world."</span>; +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> +<a name="153" href="#153">153</a> Object getAttribute(String attributeName) <strong class="jxr_keyword">throws</strong> AttributeNotFoundException, +<a name="154" href="#154">154</a> MBeanException, +<a name="155" href="#155">155</a> ReflectionException { +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <em class="jxr_comment">// Check attributeName is not null to avoid NullPointerException later on</em> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">if</strong> (attributeName == <strong class="jxr_keyword">null</strong>) { +<a name="159" href="#159">159</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException(<strong class="jxr_keyword">new</strong> IllegalArgumentException( +<a name="160" href="#160">160</a> <span class="jxr_string">"Attribute name cannot be null"</span>), +<a name="161" href="#161">161</a> <span class="jxr_string">"Cannot invoke a getter of "</span> + dClassName + <span class="jxr_string">" with null attribute name"</span>); +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <em class="jxr_comment">// Check for a recognized attributeName and call the corresponding getter</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">if</strong> (attributeName.equals(<span class="jxr_string">"name"</span>)) { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">return</strong> logger.getName(); +<a name="167" href="#167">167</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(attributeName.equals(<span class="jxr_string">"priority"</span>)) { +<a name="168" href="#168">168</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> l = logger.getLevel(); +<a name="169" href="#169">169</a> <strong class="jxr_keyword">if</strong>(l == <strong class="jxr_keyword">null</strong>) { +<a name="170" href="#170">170</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="171" href="#171">171</a> } <strong class="jxr_keyword">else</strong> { +<a name="172" href="#172">172</a> <strong class="jxr_keyword">return</strong> l.toString(); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(attributeName.startsWith(<span class="jxr_string">"appender="</span>)) { +<a name="175" href="#175">175</a> <strong class="jxr_keyword">try</strong> { +<a name="176" href="#176">176</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ObjectName(<span class="jxr_string">"log4j:"</span>+attributeName ); +<a name="177" href="#177">177</a> } <strong class="jxr_keyword">catch</strong>(MalformedObjectNameException e) { +<a name="178" href="#178">178</a> cat.error(<span class="jxr_string">"Could not create ObjectName"</span> + attributeName); +<a name="179" href="#179">179</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="180" href="#180">180</a> cat.error(<span class="jxr_string">"Could not create ObjectName"</span> + attributeName); +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <em class="jxr_comment">// If attributeName has not been recognized throw an AttributeNotFoundException</em> +<a name="186" href="#186">186</a> <strong class="jxr_keyword">throw</strong>(<strong class="jxr_keyword">new</strong> AttributeNotFoundException(<span class="jxr_string">"Cannot find "</span> + attributeName + +<a name="187" href="#187">187</a> <span class="jxr_string">" attribute in "</span> + dClassName)); +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> <strong class="jxr_keyword">void</strong> addAppender(String appenderClass, String appenderName) { +<a name="193" href="#193">193</a> cat.debug(<span class="jxr_string">"addAppender called with "</span>+appenderClass+<span class="jxr_string">", "</span>+appenderName); +<a name="194" href="#194">194</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender = (Appender) +<a name="195" href="#195">195</a> OptionConverter.instantiateByClassName(appenderClass, +<a name="196" href="#196">196</a> org.apache.log4j.Appender.<strong class="jxr_keyword">class</strong>, +<a name="197" href="#197">197</a> <strong class="jxr_keyword">null</strong>); +<a name="198" href="#198">198</a> appender.setName(appenderName); +<a name="199" href="#199">199</a> logger.addAppender(appender); +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <em class="jxr_comment">//appenderMBeanRegistration();</em> +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <strong class="jxr_keyword">public</strong> +<a name="207" href="#207">207</a> <strong class="jxr_keyword">void</strong> setAttribute(Attribute attribute) <strong class="jxr_keyword">throws</strong> AttributeNotFoundException, +<a name="208" href="#208">208</a> InvalidAttributeValueException, +<a name="209" href="#209">209</a> MBeanException, +<a name="210" href="#210">210</a> ReflectionException { +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <em class="jxr_comment">// Check attribute is not null to avoid NullPointerException later on</em> +<a name="213" href="#213">213</a> <strong class="jxr_keyword">if</strong> (attribute == <strong class="jxr_keyword">null</strong>) { +<a name="214" href="#214">214</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="215" href="#215">215</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Attribute cannot be null"</span>), +<a name="216" href="#216">216</a> <span class="jxr_string">"Cannot invoke a setter of "</span> + dClassName + +<a name="217" href="#217">217</a> <span class="jxr_string">" with null attribute"</span>); +<a name="218" href="#218">218</a> } +<a name="219" href="#219">219</a> String name = attribute.getName(); +<a name="220" href="#220">220</a> Object value = attribute.getValue(); +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">if</strong> (name == <strong class="jxr_keyword">null</strong>) { +<a name="223" href="#223">223</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeOperationsException( +<a name="224" href="#224">224</a> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Attribute name cannot be null"</span>), +<a name="225" href="#225">225</a> <span class="jxr_string">"Cannot invoke the setter of "</span>+dClassName+ +<a name="226" href="#226">226</a> <span class="jxr_string">" with null attribute name"</span>); +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <strong class="jxr_keyword">if</strong>(name.equals(<span class="jxr_string">"priority"</span>)) { +<a name="231" href="#231">231</a> <strong class="jxr_keyword">if</strong> (value instanceof String) { +<a name="232" href="#232">232</a> String s = (String) value; +<a name="233" href="#233">233</a> Level p = logger.getLevel(); +<a name="234" href="#234">234</a> <strong class="jxr_keyword">if</strong>(s.equalsIgnoreCase(<span class="jxr_string">"NULL"</span>)) { +<a name="235" href="#235">235</a> p = <strong class="jxr_keyword">null</strong>; +<a name="236" href="#236">236</a> } <strong class="jxr_keyword">else</strong> { +<a name="237" href="#237">237</a> p = OptionConverter.toLevel(s, p); +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> logger.setLevel(p); +<a name="240" href="#240">240</a> } +<a name="241" href="#241">241</a> } <strong class="jxr_keyword">else</strong> { +<a name="242" href="#242">242</a> <strong class="jxr_keyword">throw</strong>(<strong class="jxr_keyword">new</strong> AttributeNotFoundException(<span class="jxr_string">"Attribute "</span> + name + +<a name="243" href="#243">243</a> <span class="jxr_string">" not found in "</span> + +<a name="244" href="#244">244</a> <strong class="jxr_keyword">this</strong>.getClass().getName())); +<a name="245" href="#245">245</a> } +<a name="246" href="#246">246</a> } +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> <strong class="jxr_keyword">void</strong> appenderMBeanRegistration() { +<a name="249" href="#249">249</a> Enumeration enumeration = logger.getAllAppenders(); +<a name="250" href="#250">250</a> <strong class="jxr_keyword">while</strong>(enumeration.hasMoreElements()) { +<a name="251" href="#251">251</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender = (Appender) enumeration.nextElement(); +<a name="252" href="#252">252</a> registerAppenderMBean(appender); +<a name="253" href="#253">253</a> } +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">void</strong> registerAppenderMBean(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="257" href="#257">257</a> String name = getAppenderName(appender); +<a name="258" href="#258">258</a> cat.debug(<span class="jxr_string">"Adding AppenderMBean for appender named "</span>+name); +<a name="259" href="#259">259</a> ObjectName objectName = <strong class="jxr_keyword">null</strong>; +<a name="260" href="#260">260</a> <strong class="jxr_keyword">try</strong> { +<a name="261" href="#261">261</a> <a href="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html">AppenderDynamicMBean</a> appenderMBean = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/jmx/AppenderDynamicMBean.html">AppenderDynamicMBean</a>(appender); +<a name="262" href="#262">262</a> objectName = <strong class="jxr_keyword">new</strong> ObjectName(<span class="jxr_string">"log4j"</span>, <span class="jxr_string">"appender"</span>, name); +<a name="263" href="#263">263</a> <strong class="jxr_keyword">if</strong> (!server.isRegistered(objectName)) { +<a name="264" href="#264">264</a> registerMBean(appenderMBean, objectName); +<a name="265" href="#265">265</a> dAttributes.add(<strong class="jxr_keyword">new</strong> MBeanAttributeInfo(<span class="jxr_string">"appender="</span> + name, <span class="jxr_string">"javax.management.ObjectName"</span>, +<a name="266" href="#266">266</a> <span class="jxr_string">"The "</span> + name + <span class="jxr_string">" appender."</span>, <strong class="jxr_keyword">true</strong>, <strong class="jxr_keyword">true</strong>, false)); +<a name="267" href="#267">267</a> } +<a name="268" href="#268">268</a> +<a name="269" href="#269">269</a> } <strong class="jxr_keyword">catch</strong>(JMException e) { +<a name="270" href="#270">270</a> cat.error(<span class="jxr_string">"Could not add appenderMBean for ["</span>+name+<span class="jxr_string">"]."</span>, e); +<a name="271" href="#271">271</a> } <strong class="jxr_keyword">catch</strong>(java.beans.IntrospectionException e) { +<a name="272" href="#272">272</a> cat.error(<span class="jxr_string">"Could not add appenderMBean for ["</span>+name+<span class="jxr_string">"]."</span>, e); +<a name="273" href="#273">273</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="274" href="#274">274</a> cat.error(<span class="jxr_string">"Could not add appenderMBean for ["</span>+name+<span class="jxr_string">"]."</span>, e); +<a name="275" href="#275">275</a> } +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> <strong class="jxr_keyword">public</strong> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">void</strong> postRegister(java.lang.Boolean registrationDone) { +<a name="280" href="#280">280</a> appenderMBeanRegistration(); +<a name="281" href="#281">281</a> } +<a name="282" href="#282">282</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/MethodUnion.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/MethodUnion.html new file mode 100644 index 00000000000..ffec84fb50b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/MethodUnion.html @@ -0,0 +1,46 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MethodUnion xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/jmx/MethodUnion.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.jmx; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/jmx/MethodUnion.html">MethodUnion</a> { +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> Method readMethod; +<a name="25" href="#25">25</a> Method writeMethod; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <a href="../../../../org/apache/log4j/jmx/MethodUnion.html">MethodUnion</a>( Method readMethod, Method writeMethod) { +<a name="28" href="#28">28</a> <strong class="jxr_keyword">this</strong>.readMethod = readMethod; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">this</strong>.writeMethod = writeMethod; +<a name="30" href="#30">30</a> } +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/package-frame.html new file mode 100644 index 00000000000..2f164120b01 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/package-frame.html @@ -0,0 +1,42 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.jmx</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.jmx</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="AbstractDynamicMBean.html" target="classFrame">AbstractDynamicMBean</a> + </li> + <li> + <a href="Agent.html" target="classFrame">Agent</a> + </li> + <li> + <a href="AppenderDynamicMBean.html" target="classFrame">AppenderDynamicMBean</a> + </li> + <li> + <a href="HierarchyDynamicMBean.html" target="classFrame">HierarchyDynamicMBean</a> + </li> + <li> + <a href="LayoutDynamicMBean.html" target="classFrame">LayoutDynamicMBean</a> + </li> + <li> + <a href="LoggerDynamicMBean.html" target="classFrame">LoggerDynamicMBean</a> + </li> + <li> + <a href="MethodUnion.html" target="classFrame">MethodUnion</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/package-summary.html new file mode 100644 index 00000000000..cb20a70987a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/jmx/package-summary.html @@ -0,0 +1,97 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.jmx</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.jmx</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="AbstractDynamicMBean.html" target="classFrame">AbstractDynamicMBean</a> + </td> + </tr> + <tr> + <td> + <a href="Agent.html" target="classFrame">Agent</a> + </td> + </tr> + <tr> + <td> + <a href="AppenderDynamicMBean.html" target="classFrame">AppenderDynamicMBean</a> + </td> + </tr> + <tr> + <td> + <a href="HierarchyDynamicMBean.html" target="classFrame">HierarchyDynamicMBean</a> + </td> + </tr> + <tr> + <td> + <a href="LayoutDynamicMBean.html" target="classFrame">LayoutDynamicMBean</a> + </td> + </tr> + <tr> + <td> + <a href="LoggerDynamicMBean.html" target="classFrame">LoggerDynamicMBean</a> + </td> + </tr> + <tr> + <td> + <a href="MethodUnion.html" target="classFrame">MethodUnion</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/AppenderFinalizer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/AppenderFinalizer.html new file mode 100644 index 00000000000..e62b285fe62 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/AppenderFinalizer.html @@ -0,0 +1,92 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AppenderFinalizer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/lf5/AppenderFinalizer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogBrokerMonitor; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * &lt;code&gt;AppenderFinalizer&lt;/code&gt; has a single method that will finalize</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * resources associated with a &lt;code&gt;LogBrokerMonitor&lt;/code&gt; in the event</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * that the &lt;code&gt;LF5Appender&lt;/code&gt; class is destroyed, and the class loader</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * is garbage collected.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Brent Sprecher</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/lf5/AppenderFinalizer.html">AppenderFinalizer</a> { +<a name="33" href="#33">33</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">// Constants:</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> _defaultMonitor = <strong class="jxr_keyword">null</strong>; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Private Variables:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Constructors:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/lf5/AppenderFinalizer.html">AppenderFinalizer</a>(<a href="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> defaultMonitor) { +<a name="52" href="#52">52</a> _defaultMonitor = defaultMonitor; +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">// Public Methods:</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="59" href="#59">59</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="60" href="#60">60</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * @throws java.lang.Throwable</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> finalize() <strong class="jxr_keyword">throws</strong> Throwable { +<a name="66" href="#66">66</a> System.out.println(<span class="jxr_string">"Disposing of the default LogBrokerMonitor instance"</span>); +<a name="67" href="#67">67</a> _defaultMonitor.dispose(); +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">// Private Methods:</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="75" href="#75">75</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/DefaultLF5Configurator.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/DefaultLF5Configurator.html new file mode 100644 index 00000000000..f52a4ca4530 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/DefaultLF5Configurator.html @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DefaultLF5Configurator xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/lf5/DefaultLF5Configurator.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PropertyConfigurator; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Configurator; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * The &lt;code&gt;DefaultLF5Configurator&lt;/code&gt; provides a default</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * configuration for the &lt;code&gt;LF5Appender&lt;/code&gt;.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> *</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Note: The preferred method for configuring a &lt;code&gt;LF5Appender&lt;/code&gt;</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * is to use the &lt;code&gt;LF5Manager&lt;/code&gt; class. This class ensures</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * that configuration does not occur multiple times, and improves system</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * performance. Reconfiguring the monitor multiple times can result in</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * unexpected behavior.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> *</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @author Brent Sprecher</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> DefaultLF5Configurator implements <a href="../../../../org/apache/log4j/spi/Configurator.html">Configurator</a> { +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Constants:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Private Variables:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">// Constructors:</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * This class should never be instantiated! It implements the &lt;code&gt;</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * Configurator&lt;/code&gt;</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * interface, but does not provide the same functionality as full</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * configurator class.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">private</strong> DefaultLF5Configurator() { +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="69" href="#69">69</a> <em class="jxr_comment">// Public Methods:</em> +<a name="70" href="#70">70</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment">/**</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * This method configures the &lt;code&gt;LF5Appender&lt;/code&gt; using a</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> * default configuration file. The default configuration file is</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * &lt;bold&gt;defaultconfig.properties&lt;/bold&gt;.</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * @throws java.io.IOException</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> */</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> configure() <strong class="jxr_keyword">throws</strong> IOException { +<a name="78" href="#78">78</a> String resource = +<a name="79" href="#79">79</a> <span class="jxr_string">"/org/apache/log4j/lf5/config/defaultconfig.properties"</span>; +<a name="80" href="#80">80</a> URL configFileResource = +<a name="81" href="#81">81</a> DefaultLF5Configurator.<strong class="jxr_keyword">class</strong>.getResource(resource); +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">if</strong> (configFileResource != <strong class="jxr_keyword">null</strong>) { +<a name="84" href="#84">84</a> PropertyConfigurator.configure(configFileResource); +<a name="85" href="#85">85</a> } <strong class="jxr_keyword">else</strong> { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(<span class="jxr_string">"Error: Unable to open the resource"</span> + +<a name="87" href="#87">87</a> resource); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * This is a dummy method that will throw an</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * &lt;code&gt;IllegalStateException&lt;/code&gt; if used.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> doConfigure(URL configURL, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) { +<a name="97" href="#97">97</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"This class should NOT be"</span> + +<a name="98" href="#98">98</a> <span class="jxr_string">" instantiated!"</span>); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="102" href="#102">102</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="103" href="#103">103</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="106" href="#106">106</a> <em class="jxr_comment">// Private Methods:</em> +<a name="107" href="#107">107</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="110" href="#110">110</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="111" href="#111">111</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LF5Appender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LF5Appender.html new file mode 100644 index 00000000000..b6aab6a9753 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LF5Appender.html @@ -0,0 +1,280 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LF5Appender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/lf5/LF5Appender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.Toolkit; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogBrokerMonitor; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LocationInfo; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * &lt;code&gt;LF5Appender&lt;/code&gt; logs events to a swing based logging</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * console. The swing console supports turning categories on and off,</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * multiple detail level views, as well as full text searching and many</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * other capabilties.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Brent Sprecher</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> LF5Appender <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> { +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Constants:</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> _logMonitor; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> _defaultLogMonitor; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/AppenderFinalizer.html">AppenderFinalizer</a> _finalizer; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Private Variables:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">// Constructors:</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * Constructs a &lt;code&gt;LF5Appender&lt;/code&gt; using the default instance of</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * the &lt;code&gt;LogBrokerMonitor&lt;/code&gt;. This constructor should &lt;bold&gt;always</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * &lt;/bold&gt; be preferred over the</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * &lt;code&gt;LF5Appender(LogBrokerMonitor monitor)&lt;/code&gt;</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * constructor, unless you need to spawn additional log monitoring</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * windows.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> LF5Appender() { +<a name="68" href="#68">68</a> <strong class="jxr_keyword">this</strong>(getDefaultInstance()); +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment">/**</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * Constructs a &lt;code&gt;LF5Appender&lt;code&gt; using an instance of</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> * a &lt;code&gt;LogBrokerMonitor&lt;code&gt; supplied by the user. This</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * constructor should only be used when you need to spawn</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * additional log monitoring windows.</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> *</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * @param monitor An instance of a &lt;code&gt;LogBrokerMonitor&lt;code&gt;</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * created by the user.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> */</em> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">public</strong> LF5Appender(<a href="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> monitor) { +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">if</strong> (monitor != <strong class="jxr_keyword">null</strong>) { +<a name="83" href="#83">83</a> _logMonitor = monitor; +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="88" href="#88">88</a> <em class="jxr_comment">// Public Methods:</em> +<a name="89" href="#89">89</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * Appends a &lt;code&gt;LoggingEvent&lt;/code&gt; record to the</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * &lt;code&gt;LF5Appender&lt;/code&gt;.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * @param event The &lt;code&gt;LoggingEvent&lt;/code&gt;</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * to be appended.</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> */</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="98" href="#98">98</a> <em class="jxr_comment">// Retrieve the information from the log4j LoggingEvent.</em> +<a name="99" href="#99">99</a> String category = event.getLoggerName(); +<a name="100" href="#100">100</a> String logMessage = event.getRenderedMessage(); +<a name="101" href="#101">101</a> String nestedDiagnosticContext = event.getNDC(); +<a name="102" href="#102">102</a> String threadDescription = event.getThreadName(); +<a name="103" href="#103">103</a> String level = event.getLevel().toString(); +<a name="104" href="#104">104</a> <strong class="jxr_keyword">long</strong> time = event.timeStamp; +<a name="105" href="#105">105</a> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> locationInfo = event.getLocationInformation(); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_comment">// Add the logging event information to a LogRecord</em> +<a name="108" href="#108">108</a> Log4JLogRecord record = <strong class="jxr_keyword">new</strong> Log4JLogRecord(); +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> record.setCategory(category); +<a name="111" href="#111">111</a> record.setMessage(logMessage); +<a name="112" href="#112">112</a> record.setLocation(locationInfo.fullInfo); +<a name="113" href="#113">113</a> record.setMillis(time); +<a name="114" href="#114">114</a> record.setThreadDescription(threadDescription); +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">if</strong> (nestedDiagnosticContext != <strong class="jxr_keyword">null</strong>) { +<a name="117" href="#117">117</a> record.setNDC(nestedDiagnosticContext); +<a name="118" href="#118">118</a> } <strong class="jxr_keyword">else</strong> { +<a name="119" href="#119">119</a> record.setNDC(<span class="jxr_string">""</span>); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">if</strong> (event.getThrowableInformation() != <strong class="jxr_keyword">null</strong>) { +<a name="123" href="#123">123</a> record.setThrownStackTrace(event.getThrowableInformation()); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">try</strong> { +<a name="127" href="#127">127</a> record.setLevel(LogLevel.valueOf(level)); +<a name="128" href="#128">128</a> } <strong class="jxr_keyword">catch</strong> (LogLevelFormatException e) { +<a name="129" href="#129">129</a> <em class="jxr_comment">// If the priority level doesn't match one of the predefined</em> +<a name="130" href="#130">130</a> <em class="jxr_comment">// log levels, then set the level to warning.</em> +<a name="131" href="#131">131</a> record.setLevel(LogLevel.WARN); +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">if</strong> (_logMonitor != <strong class="jxr_keyword">null</strong>) { +<a name="135" href="#135">135</a> _logMonitor.addMessage(record); +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">/**</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> * This method is an empty implementation of the close() method inherited</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> * from the &lt;code&gt;org.apache.log4j.Appender&lt;/code&gt; interface.</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> */</em> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">/**</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> * Returns a value that indicates whether this appender requires a</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> * &lt;code&gt;Layout&lt;/code&gt;. This method always returns false.</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * No layout is required for the &lt;code&gt;LF5Appender&lt;/code&gt;.</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> */</em> +<a name="151" href="#151">151</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="152" href="#152">152</a> <strong class="jxr_keyword">return</strong> false; +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">/**</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> * This method is used to set the property that controls whether</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> * the &lt;code&gt;LogBrokerMonitor&lt;/code&gt; is hidden or closed when a user</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> * exits</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> * the monitor. By default, the &lt;code&gt;LogBrokerMonitor&lt;/code&gt; will hide</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> * itself when the log window is exited, and the swing thread will</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> * continue to run in the background. If this property is</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * set to true, the &lt;code&gt;LogBrokerMonitor&lt;/code&gt; will call System.exit(0)</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * and will shut down swing thread and the virtual machine.</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> *</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> * @param callSystemExitOnClose A boolean value indicating whether</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> * to call System.exit(0) when closing the log window.</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> */</em> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCallSystemExitOnClose(<strong class="jxr_keyword">boolean</strong> callSystemExitOnClose) { +<a name="169" href="#169">169</a> _logMonitor.setCallSystemExitOnClose(callSystemExitOnClose); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">/**</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> * The equals method compares two LF5Appenders and determines whether</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> * they are equal. Two &lt;code&gt;Appenders&lt;/code&gt; will be considered equal</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> * if, and only if, they both contain references to the same &lt;code&gt;</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> * LogBrokerMonitor&lt;/code&gt;.</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> *</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> * @param compareTo A boolean value indicating whether</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * the two LF5Appenders are equal.</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> */</em> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals(LF5Appender compareTo) { +<a name="182" href="#182">182</a> <em class="jxr_comment">// If both reference the same LogBrokerMonitor, they are equal.</em> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">return</strong> _logMonitor == compareTo.getLogBrokerMonitor(); +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> getLogBrokerMonitor() { +<a name="187" href="#187">187</a> <strong class="jxr_keyword">return</strong> _logMonitor; +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] args) { +<a name="191" href="#191">191</a> <strong class="jxr_keyword">new</strong> LF5Appender(); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMaxNumberOfRecords(<strong class="jxr_keyword">int</strong> maxNumberOfRecords) { +<a name="195" href="#195">195</a> _defaultLogMonitor.setMaxNumberOfLogRecords(maxNumberOfRecords); +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="198" href="#198">198</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="199" href="#199">199</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment">/**</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> * @return The default instance of the &lt;code&gt;LogBrokerMonitor&lt;/code&gt;.</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> */</em> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">synchronized</strong> <a href="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> getDefaultInstance() { +<a name="205" href="#205">205</a> <strong class="jxr_keyword">if</strong> (_defaultLogMonitor == <strong class="jxr_keyword">null</strong>) { +<a name="206" href="#206">206</a> <strong class="jxr_keyword">try</strong> { +<a name="207" href="#207">207</a> _defaultLogMonitor = +<a name="208" href="#208">208</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a>(LogLevel.getLog4JLevels()); +<a name="209" href="#209">209</a> _finalizer = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/AppenderFinalizer.html">AppenderFinalizer</a>(_defaultLogMonitor); +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> _defaultLogMonitor.setFrameSize(getDefaultMonitorWidth(), +<a name="212" href="#212">212</a> getDefaultMonitorHeight()); +<a name="213" href="#213">213</a> _defaultLogMonitor.setFontSize(12); +<a name="214" href="#214">214</a> _defaultLogMonitor.show(); +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> } <strong class="jxr_keyword">catch</strong> (SecurityException e) { +<a name="217" href="#217">217</a> _defaultLogMonitor = <strong class="jxr_keyword">null</strong>; +<a name="218" href="#218">218</a> } +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <strong class="jxr_keyword">return</strong> _defaultLogMonitor; +<a name="222" href="#222">222</a> } +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment">/**</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> * @return the screen width from Toolkit.getScreenSize()</em> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment"> * if possible, otherwise returns 800</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> * @see java.awt.Toolkit</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> */</em> +<a name="229" href="#229">229</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> getScreenWidth() { +<a name="230" href="#230">230</a> <strong class="jxr_keyword">try</strong> { +<a name="231" href="#231">231</a> <strong class="jxr_keyword">return</strong> Toolkit.getDefaultToolkit().getScreenSize().width; +<a name="232" href="#232">232</a> } <strong class="jxr_keyword">catch</strong> (Throwable t) { +<a name="233" href="#233">233</a> <strong class="jxr_keyword">return</strong> 800; +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> } +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment">/**</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> * @return the screen height from Toolkit.getScreenSize()</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> * if possible, otherwise returns 600</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> * @see java.awt.Toolkit</em> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment"> */</em> +<a name="242" href="#242">242</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> getScreenHeight() { +<a name="243" href="#243">243</a> <strong class="jxr_keyword">try</strong> { +<a name="244" href="#244">244</a> <strong class="jxr_keyword">return</strong> Toolkit.getDefaultToolkit().getScreenSize().height; +<a name="245" href="#245">245</a> } <strong class="jxr_keyword">catch</strong> (Throwable t) { +<a name="246" href="#246">246</a> <strong class="jxr_keyword">return</strong> 600; +<a name="247" href="#247">247</a> } +<a name="248" href="#248">248</a> } +<a name="249" href="#249">249</a> +<a name="250" href="#250">250</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> getDefaultMonitorWidth() { +<a name="251" href="#251">251</a> <strong class="jxr_keyword">return</strong> (3 * getScreenWidth()) / 4; +<a name="252" href="#252">252</a> } +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> getDefaultMonitorHeight() { +<a name="255" href="#255">255</a> <strong class="jxr_keyword">return</strong> (3 * getScreenHeight()) / 4; +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="258" href="#258">258</a> <em class="jxr_comment">// Private Methods:</em> +<a name="259" href="#259">259</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="260" href="#260">260</a> +<a name="261" href="#261">261</a> +<a name="262" href="#262">262</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="263" href="#263">263</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="264" href="#264">264</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/Log4JLogRecord.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/Log4JLogRecord.html new file mode 100644 index 00000000000..99a937d1e55 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/Log4JLogRecord.html @@ -0,0 +1,130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Log4JLogRecord xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/lf5/Log4JLogRecord.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableInformation; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * A &lt;code&gt;Log4JLogRecord&lt;/code&gt; encapsulates</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * the details of your log4j &lt;code&gt;LoggingEvent&lt;/code&gt; in a format usable</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * by the &lt;code&gt;LogBrokerMonitor&lt;/code&gt;.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Brent Sprecher</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> Log4JLogRecord <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> { +<a name="33" href="#33">33</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">// Constants:</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> <em class="jxr_comment">// Private Variables:</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">// Constructors:</em> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * Constructs an instance of a &lt;code&gt;Log4JLogRecord&lt;/code&gt;.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> Log4JLogRecord() { +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">// Public Methods:</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * Determines which &lt;code&gt;Priority&lt;/code&gt; levels will</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * be displayed in colored font when the &lt;code&gt;LogMonitorAppender&lt;/code&gt;</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * renders this log message. By default, messages will be colored</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * red if they are of &lt;code&gt;Priority&lt;/code&gt; ERROR or FATAL.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> *</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * @return true if the log level is ERROR or FATAL.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> */</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isSevereLevel() { +<a name="67" href="#67">67</a> <strong class="jxr_keyword">boolean</strong> isSevere = false; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">if</strong> (LogLevel.ERROR.equals(getLevel()) || +<a name="70" href="#70">70</a> LogLevel.FATAL.equals(getLevel())) { +<a name="71" href="#71">71</a> isSevere = <strong class="jxr_keyword">true</strong>; +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">return</strong> isSevere; +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment">/**</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * Set stack trace information associated with this Log4JLogRecord.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * When this method is called, the stack trace in a</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * String-based format is made</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * available via the getThrownStackTrace() method.</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> *</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * @param throwableInfo An org.apache.log4j.spi.ThrowableInformation to</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * associate with this Log4JLogRecord.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * @see #getThrownStackTrace()</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> */</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setThrownStackTrace(<a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a> throwableInfo) { +<a name="88" href="#88">88</a> String[] stackTraceArray = throwableInfo.getThrowableStrRep(); +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> StringBuffer stackTrace = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="91" href="#91">91</a> String nextLine; +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; stackTraceArray.length; i++) { +<a name="94" href="#94">94</a> nextLine = stackTraceArray[i] + <span class="jxr_string">"\n"</span>; +<a name="95" href="#95">95</a> stackTrace.append(nextLine); +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> _thrownStackTrace = stackTrace.toString(); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="102" href="#102">102</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="103" href="#103">103</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="106" href="#106">106</a> <em class="jxr_comment">// Private Methods:</em> +<a name="107" href="#107">107</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="110" href="#110">110</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="111" href="#111">111</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogLevel.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogLevel.html new file mode 100644 index 00000000000..f625c8d0e6d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogLevel.html @@ -0,0 +1,292 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogLevel xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/lf5/LogLevel.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Color; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Arrays; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.HashMap; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * The LogLevel class defines a set of standard logging levels.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> *</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * The logging Level objects are ordered and are specified by ordered</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * integers. Enabling logging at a given level also enables logging at all</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * higher levels.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @author Brent Sprecher</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> implements java.io.Serializable { +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Constants:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">// log4j log levels.</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> FATAL = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"FATAL"</span>, 0); +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> ERROR = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"ERROR"</span>, 1); +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> WARN = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"WARN"</span>, 2); +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> INFO = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"INFO"</span>, 3); +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> DEBUG = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"DEBUG"</span>, 4); +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_comment">// jdk1.4 log levels NOTE: also includes INFO</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> SEVERE = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"SEVERE"</span>, 1); +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> WARNING = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"WARNING"</span>, 2); +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> CONFIG = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"CONFIG"</span>, 4); +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> FINE = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"FINE"</span>, 5); +<a name="59" href="#59">59</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> FINER = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"FINER"</span>, 6); +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> FINEST = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(<span class="jxr_string">"FINEST"</span>, 7); +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="63" href="#63">63</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">protected</strong> String _label; +<a name="66" href="#66">66</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _precedence; +<a name="67" href="#67">67</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">// Private Variables:</em> +<a name="69" href="#69">69</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>[] _log4JLevels; +<a name="71" href="#71">71</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>[] _jdk14Levels; +<a name="72" href="#72">72</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>[] _allDefaultLevels; +<a name="73" href="#73">73</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map _logLevelMap; +<a name="74" href="#74">74</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map _logLevelColorMap; +<a name="75" href="#75">75</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map _registeredLogLevelMap = <strong class="jxr_keyword">new</strong> HashMap(); +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="78" href="#78">78</a> <em class="jxr_comment">// Constructors:</em> +<a name="79" href="#79">79</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">static</strong> { +<a name="81" href="#81">81</a> _log4JLevels = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>[]{FATAL, ERROR, WARN, INFO, DEBUG}; +<a name="82" href="#82">82</a> _jdk14Levels = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>[]{SEVERE, WARNING, INFO, +<a name="83" href="#83">83</a> CONFIG, FINE, FINER, FINEST}; +<a name="84" href="#84">84</a> _allDefaultLevels = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>[]{FATAL, ERROR, WARN, INFO, DEBUG, +<a name="85" href="#85">85</a> SEVERE, WARNING, CONFIG, FINE, FINER, FINEST}; +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> _logLevelMap = <strong class="jxr_keyword">new</strong> HashMap(); +<a name="88" href="#88">88</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; _allDefaultLevels.length; i++) { +<a name="89" href="#89">89</a> _logLevelMap.put(_allDefaultLevels[i].getLabel(), _allDefaultLevels[i]); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_comment">// prepopulate map with levels and text color of black</em> +<a name="93" href="#93">93</a> _logLevelColorMap = <strong class="jxr_keyword">new</strong> HashMap(); +<a name="94" href="#94">94</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; _allDefaultLevels.length; i++) { +<a name="95" href="#95">95</a> _logLevelColorMap.put(_allDefaultLevels[i], Color.black); +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>(String label, <strong class="jxr_keyword">int</strong> precedence) { +<a name="100" href="#100">100</a> _label = label; +<a name="101" href="#101">101</a> _precedence = precedence; +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="105" href="#105">105</a> <em class="jxr_comment">// Public Methods:</em> +<a name="106" href="#106">106</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">/**</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> * Return the Label of the LogLevel.</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> */</em> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">public</strong> String getLabel() { +<a name="112" href="#112">112</a> <strong class="jxr_keyword">return</strong> _label; +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> * Returns true if the level supplied is encompassed by this level.</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> * For example, LogLevel.SEVERE encompasses no other LogLevels and</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> * LogLevel.FINE encompasses all other LogLevels. By definition,</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> * a LogLevel encompasses itself.</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> */</em> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> encompasses(<a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="122" href="#122">122</a> <strong class="jxr_keyword">if</strong> (level.getPrecedence() &lt;= getPrecedence()) { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">return</strong> false; +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">/**</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> * Convert a log level label into a LogLevel object.</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> *</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> * @param level The label of a level to be converted into a LogLevel.</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> * @return LogLevel The LogLevel with a label equal to level.</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> * @throws LogLevelFormatException Is thrown when the level can not be</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> * converted into a LogLevel.</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> */</em> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> valueOf(String level) +<a name="138" href="#138">138</a> <strong class="jxr_keyword">throws</strong> <a href="../../../../org/apache/log4j/lf5/LogLevelFormatException.html">LogLevelFormatException</a> { +<a name="139" href="#139">139</a> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> logLevel = <strong class="jxr_keyword">null</strong>; +<a name="140" href="#140">140</a> <strong class="jxr_keyword">if</strong> (level != <strong class="jxr_keyword">null</strong>) { +<a name="141" href="#141">141</a> level = level.trim().toUpperCase(); +<a name="142" href="#142">142</a> logLevel = (LogLevel) _logLevelMap.get(level); +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_comment">// Didn't match, Check for registered LogLevels</em> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">if</strong> (logLevel == <strong class="jxr_keyword">null</strong> &amp;&amp; _registeredLogLevelMap.size() &gt; 0) { +<a name="147" href="#147">147</a> logLevel = (LogLevel) _registeredLogLevelMap.get(level); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">if</strong> (logLevel == <strong class="jxr_keyword">null</strong>) { +<a name="151" href="#151">151</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="152" href="#152">152</a> buf.append(<span class="jxr_string">"Error while trying to parse ("</span> + level + <span class="jxr_string">") into"</span>); +<a name="153" href="#153">153</a> buf.append(<span class="jxr_string">" a LogLevel."</span>); +<a name="154" href="#154">154</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/LogLevelFormatException.html">LogLevelFormatException</a>(buf.toString()); +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> <strong class="jxr_keyword">return</strong> logLevel; +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">/**</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> * Registers a used defined LogLevel.</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> *</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * @param logLevel The log level to be registered. Cannot be a default LogLevel</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * @return LogLevel The replaced log level.</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> register(<a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> logLevel) { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">if</strong> (logLevel == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <em class="jxr_comment">// ensure that this is not a default log level</em> +<a name="169" href="#169">169</a> <strong class="jxr_keyword">if</strong> (_logLevelMap.get(logLevel.getLabel()) == <strong class="jxr_keyword">null</strong>) { +<a name="170" href="#170">170</a> <strong class="jxr_keyword">return</strong> (LogLevel) _registeredLogLevelMap.put(logLevel.getLabel(), logLevel); +<a name="171" href="#171">171</a> } +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> register(<a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>[] logLevels) { +<a name="177" href="#177">177</a> <strong class="jxr_keyword">if</strong> (logLevels != <strong class="jxr_keyword">null</strong>) { +<a name="178" href="#178">178</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; logLevels.length; i++) { +<a name="179" href="#179">179</a> register(logLevels[i]); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> register(List logLevels) { +<a name="185" href="#185">185</a> <strong class="jxr_keyword">if</strong> (logLevels != <strong class="jxr_keyword">null</strong>) { +<a name="186" href="#186">186</a> Iterator it = logLevels.iterator(); +<a name="187" href="#187">187</a> <strong class="jxr_keyword">while</strong> (it.hasNext()) { +<a name="188" href="#188">188</a> register((LogLevel) it.next()); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals(Object o) { +<a name="194" href="#194">194</a> <strong class="jxr_keyword">boolean</strong> equals = false; +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <strong class="jxr_keyword">if</strong> (o instanceof LogLevel) { +<a name="197" href="#197">197</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.getPrecedence() == +<a name="198" href="#198">198</a> ((<a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>) o).getPrecedence()) { +<a name="199" href="#199">199</a> equals = <strong class="jxr_keyword">true</strong>; +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> } +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">return</strong> equals; +<a name="205" href="#205">205</a> } +<a name="206" href="#206">206</a> +<a name="207" href="#207">207</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> hashCode() { +<a name="208" href="#208">208</a> <strong class="jxr_keyword">return</strong> _label.hashCode(); +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="212" href="#212">212</a> <strong class="jxr_keyword">return</strong> _label; +<a name="213" href="#213">213</a> } +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_comment">// set a text color for a specific log level</em> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLogLevelColorMap(<a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level, Color color) { +<a name="217" href="#217">217</a> <em class="jxr_comment">// remove the old entry</em> +<a name="218" href="#218">218</a> _logLevelColorMap.remove(level); +<a name="219" href="#219">219</a> <em class="jxr_comment">// add the new color entry</em> +<a name="220" href="#220">220</a> <strong class="jxr_keyword">if</strong> (color == <strong class="jxr_keyword">null</strong>) { +<a name="221" href="#221">221</a> color = Color.black; +<a name="222" href="#222">222</a> } +<a name="223" href="#223">223</a> _logLevelColorMap.put(level, color); +<a name="224" href="#224">224</a> } +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> resetLogLevelColorMap() { +<a name="227" href="#227">227</a> <em class="jxr_comment">// empty the map</em> +<a name="228" href="#228">228</a> _logLevelColorMap.clear(); +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <em class="jxr_comment">// repopulate map and reset text color black</em> +<a name="231" href="#231">231</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; _allDefaultLevels.length; i++) { +<a name="232" href="#232">232</a> _logLevelColorMap.put(_allDefaultLevels[i], Color.black); +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment">/**</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> * @return A &lt;code&gt;List&lt;/code&gt; of &lt;code&gt;LogLevel&lt;/code&gt; objects that map</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> * to log4j &lt;code&gt;Priority&lt;/code&gt; objects.</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> */</em> +<a name="240" href="#240">240</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> List getLog4JLevels() { +<a name="241" href="#241">241</a> <strong class="jxr_keyword">return</strong> Arrays.asList(_log4JLevels); +<a name="242" href="#242">242</a> } +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> List getJdk14Levels() { +<a name="245" href="#245">245</a> <strong class="jxr_keyword">return</strong> Arrays.asList(_jdk14Levels); +<a name="246" href="#246">246</a> } +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> List getAllDefaultLevels() { +<a name="249" href="#249">249</a> <strong class="jxr_keyword">return</strong> Arrays.asList(_allDefaultLevels); +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Map getLogLevelColorMap() { +<a name="253" href="#253">253</a> <strong class="jxr_keyword">return</strong> _logLevelColorMap; +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="257" href="#257">257</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="258" href="#258">258</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> getPrecedence() { +<a name="261" href="#261">261</a> <strong class="jxr_keyword">return</strong> _precedence; +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> +<a name="264" href="#264">264</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="265" href="#265">265</a> <em class="jxr_comment">// Private Methods:</em> +<a name="266" href="#266">266</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="267" href="#267">267</a> +<a name="268" href="#268">268</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="269" href="#269">269</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="270" href="#270">270</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> +<a name="275" href="#275">275</a> +<a name="276" href="#276">276</a> +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogLevelFormatException.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogLevelFormatException.html new file mode 100644 index 00000000000..e06fd356b2f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogLevelFormatException.html @@ -0,0 +1,87 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogLevelFormatException xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/lf5/LogLevelFormatException.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <em class="jxr_javadoccomment">/**</em> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment"> * Thrown to indicate that the client has attempted to convert a string</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * to one the LogLevel types, but the string does not have the appropriate</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * format.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> *</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky&lt;</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/lf5/LogLevelFormatException.html">LogLevelFormatException</a> <strong class="jxr_keyword">extends</strong> Exception { +<a name="31" href="#31">31</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="32" href="#32">32</a> <em class="jxr_comment">// Constants:</em> +<a name="33" href="#33">33</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Private Variables:</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Constructors:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/lf5/LogLevelFormatException.html">LogLevelFormatException</a>(String message) { +<a name="48" href="#48">48</a> <strong class="jxr_keyword">super</strong>(message); +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Public Methods:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="60" href="#60">60</a> <em class="jxr_comment">// Private Methods:</em> +<a name="61" href="#61">61</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="65" href="#65">65</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogRecord.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogRecord.html new file mode 100644 index 00000000000..4a628e79a02 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogRecord.html @@ -0,0 +1,409 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogRecord xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/lf5/LogRecord.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.PrintWriter; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.StringWriter; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * LogRecord. A LogRecord encapsulates the details of your desired log</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * request.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> implements java.io.Serializable { +<a name="34" href="#34">34</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">// Constants:</em> +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">long</strong> _seqCount = 0; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> _level; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">protected</strong> String _message; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> _sequenceNumber; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> _millis; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">protected</strong> String _category; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">protected</strong> String _thread; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">protected</strong> String _thrownStackTrace; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">protected</strong> Throwable _thrown; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">protected</strong> String _ndc; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">protected</strong> String _location; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">// Private Variables:</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="59" href="#59">59</a> <em class="jxr_comment">// Constructors:</em> +<a name="60" href="#60">60</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a>() { +<a name="63" href="#63">63</a> <strong class="jxr_keyword">super</strong>(); +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> _millis = System.currentTimeMillis(); +<a name="66" href="#66">66</a> _category = <span class="jxr_string">"Debug"</span>; +<a name="67" href="#67">67</a> _message = <span class="jxr_string">""</span>; +<a name="68" href="#68">68</a> _level = LogLevel.INFO; +<a name="69" href="#69">69</a> _sequenceNumber = getNextId(); +<a name="70" href="#70">70</a> _thread = Thread.currentThread().toString(); +<a name="71" href="#71">71</a> _ndc = <span class="jxr_string">""</span>; +<a name="72" href="#72">72</a> _location = <span class="jxr_string">""</span>; +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">// Public Methods:</em> +<a name="77" href="#77">77</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * Get the level of this LogRecord.</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> *</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * @return The LogLevel of this record.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * @see #setLevel(LogLevel)</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * @see LogLevel</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> getLevel() { +<a name="87" href="#87">87</a> <strong class="jxr_keyword">return</strong> (_level); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment">/**</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * Set the level of this LogRecord.</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> *</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * @param level The LogLevel for this record.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * @see #getLevel()</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * @see LogLevel</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> */</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLevel(<a href="../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="98" href="#98">98</a> _level = level; +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * Abstract method. Must be overridden to indicate what log level</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * to show in red.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> */</em> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">boolean</strong> isSevereLevel(); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">/**</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * @return true if getThrown().toString() is a non-empty string.</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> */</em> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> hasThrown() { +<a name="111" href="#111">111</a> Throwable thrown = getThrown(); +<a name="112" href="#112">112</a> <strong class="jxr_keyword">if</strong> (thrown == <strong class="jxr_keyword">null</strong>) { +<a name="113" href="#113">113</a> <strong class="jxr_keyword">return</strong> false; +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> String thrownString = thrown.toString(); +<a name="116" href="#116">116</a> <strong class="jxr_keyword">return</strong> thrownString != <strong class="jxr_keyword">null</strong> &amp;&amp; thrownString.trim().length() != 0; +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">/**</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> * @return true if isSevereLevel() or hasThrown() returns true.</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isFatal() { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">return</strong> isSevereLevel() || hasThrown(); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * Get the category asscociated with this LogRecord. For a more detailed</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * description of what a category is see setCategory().</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> *</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> * @return The category of this record.</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> * @see #setCategory(String)</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> */</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">public</strong> String getCategory() { +<a name="134" href="#134">134</a> <strong class="jxr_keyword">return</strong> (_category); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">/**</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> * Set the category associated with this LogRecord. A category represents</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> * a hierarchical dot (".") separated namespace for messages.</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> * The definition of a category is application specific, but a common convention</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> * is as follows:</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> *</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> * When logging messages</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> * for a particluar class you can use its class name:</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> * com.thoughtworks.framework.servlet.ServletServiceBroker.&lt;br&gt;&lt;br&gt;</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> * Futhermore, to log a message for a particular method in a class</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> * add the method name:</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * com.thoughtworks.framework.servlet.ServletServiceBroker.init().</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> *</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> * @param category The category for this record.</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> * @see #getCategory()</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> */</em> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCategory(String category) { +<a name="156" href="#156">156</a> _category = category; +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">/**</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> * Get the message asscociated with this LogRecord.</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> *</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * @return The message of this record.</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * @see #setMessage(String)</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> String getMessage() { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">return</strong> (_message); +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">/**</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> * Set the message associated with this LogRecord.</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> *</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> * @param message The message for this record.</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> * @see #getMessage()</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> */</em> +<a name="175" href="#175">175</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMessage(String message) { +<a name="176" href="#176">176</a> _message = message; +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">/**</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * Get the sequence number associated with this LogRecord. Sequence numbers</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> * are generally assigned when a LogRecord is constructed. Sequence numbers</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> * start at 0 and increase with each newly constructed LogRocord.</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> *</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> * @return The sequence number of this record.</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> * @see #setSequenceNumber(long)</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> */</em> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getSequenceNumber() { +<a name="188" href="#188">188</a> <strong class="jxr_keyword">return</strong> (_sequenceNumber); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">/**</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> * Set the sequence number assocsiated with this LogRecord. A sequence number</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> * will automatically be assigned to evey newly constructed LogRecord, however,</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> * this method can override the value.</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> *</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> * @param number The sequence number.</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> * @see #getSequenceNumber()</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> */</em> +<a name="199" href="#199">199</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSequenceNumber(<strong class="jxr_keyword">long</strong> number) { +<a name="200" href="#200">200</a> _sequenceNumber = number; +<a name="201" href="#201">201</a> } +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">/**</em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> * Get the event time of this record in milliseconds from 1970.</em> +<a name="205" href="#205">205</a> <em class="jxr_javadoccomment"> * When a LogRecord is constructed the event time is set but may be</em> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> * overridden by calling setMillis();</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> *</em> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment"> * @return The event time of this record in milliseconds from 1970.</em> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> * @see #setMillis(long)</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> */</em> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getMillis() { +<a name="212" href="#212">212</a> <strong class="jxr_keyword">return</strong> _millis; +<a name="213" href="#213">213</a> } +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">/**</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> * Set the event time of this record. When a LogRecord is constructed</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> * the event time is set but may be overridden by calling this method.</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> *</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> * @param millis The time in milliseconds from 1970.</em> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> * @see #getMillis()</em> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> */</em> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMillis(<strong class="jxr_keyword">long</strong> millis) { +<a name="223" href="#223">223</a> _millis = millis; +<a name="224" href="#224">224</a> } +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">/**</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> * Get the thread description asscociated with this LogRecord. When a</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> * LogRecord is constructed, the thread description is set by calling:</em> +<a name="229" href="#229">229</a> <em class="jxr_javadoccomment"> * Thread.currentThread().toString(). You may supply a thread description</em> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment"> * of your own by calling the setThreadDescription(String) method.</em> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> *</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> * @return The thread description of this record.</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> * @see #setThreadDescription(String)</em> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment"> */</em> +<a name="235" href="#235">235</a> <strong class="jxr_keyword">public</strong> String getThreadDescription() { +<a name="236" href="#236">236</a> <strong class="jxr_keyword">return</strong> (_thread); +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment">/**</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> * Set the thread description associated with this LogRecord. When a</em> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment"> * LogRecord is constructed, the thread description is set by calling:</em> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment"> * Thread.currentThread().toString(). You may supply a thread description</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> * of your own by calling this method.</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> *</em> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> * @param threadDescription The description of the thread for this record.</em> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment"> * @see #getThreadDescription()</em> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment"> */</em> +<a name="248" href="#248">248</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setThreadDescription(String threadDescription) { +<a name="249" href="#249">249</a> _thread = threadDescription; +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment">/**</em> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment"> * Get the stack trace in a String-based format for the associated Throwable</em> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> * of this LogRecord. The stack trace in a String-based format is set</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> * when the setThrown(Throwable) method is called.</em> +<a name="256" href="#256">256</a> <em class="jxr_javadoccomment"> *</em> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="258" href="#258">258</a> <em class="jxr_javadoccomment"> * Why do we need this method considering that we</em> +<a name="259" href="#259">259</a> <em class="jxr_javadoccomment"> * have the getThrown() and setThrown() methods?</em> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment"> * A Throwable object may not be serializable, however, a String representation</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> * of it is. Users of LogRecords should generally call this method over</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> * getThrown() for the reasons of serialization.</em> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment"> *</em> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment"> * @return The Stack Trace for the asscoiated Throwable of this LogRecord.</em> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> * @see #setThrown(Throwable)</em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> * @see #getThrown()</em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> */</em> +<a name="269" href="#269">269</a> <strong class="jxr_keyword">public</strong> String getThrownStackTrace() { +<a name="270" href="#270">270</a> <strong class="jxr_keyword">return</strong> (_thrownStackTrace); +<a name="271" href="#271">271</a> } +<a name="272" href="#272">272</a> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment">/**</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> * Set the ThrownStackTrace for the log record.</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> *</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> * @param trace A String to associate with this LogRecord</em> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> * @see #getThrownStackTrace()</em> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment"> */</em> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setThrownStackTrace(String trace) { +<a name="280" href="#280">280</a> _thrownStackTrace = trace; +<a name="281" href="#281">281</a> } +<a name="282" href="#282">282</a> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment">/**</em> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> * Get the Throwable associated with this LogRecord.</em> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment"> *</em> +<a name="286" href="#286">286</a> <em class="jxr_javadoccomment"> * @return The LogLevel of this record.</em> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> * @see #setThrown(Throwable)</em> +<a name="288" href="#288">288</a> <em class="jxr_javadoccomment"> * @see #getThrownStackTrace()</em> +<a name="289" href="#289">289</a> <em class="jxr_javadoccomment"> */</em> +<a name="290" href="#290">290</a> <strong class="jxr_keyword">public</strong> Throwable getThrown() { +<a name="291" href="#291">291</a> <strong class="jxr_keyword">return</strong> (_thrown); +<a name="292" href="#292">292</a> } +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment">/**</em> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment"> * Set the Throwable associated with this LogRecord. When this method</em> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment"> * is called, the stack trace in a String-based format is made</em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> * available via the getThrownStackTrace() method.</em> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment"> *</em> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment"> * @param thrown A Throwable to associate with this LogRecord.</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> * @see #getThrown()</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> * @see #getThrownStackTrace()</em> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> */</em> +<a name="303" href="#303">303</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setThrown(Throwable thrown) { +<a name="304" href="#304">304</a> <strong class="jxr_keyword">if</strong> (thrown == <strong class="jxr_keyword">null</strong>) { +<a name="305" href="#305">305</a> <strong class="jxr_keyword">return</strong>; +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> _thrown = thrown; +<a name="308" href="#308">308</a> StringWriter sw = <strong class="jxr_keyword">new</strong> StringWriter(); +<a name="309" href="#309">309</a> PrintWriter out = <strong class="jxr_keyword">new</strong> PrintWriter(sw); +<a name="310" href="#310">310</a> thrown.printStackTrace(out); +<a name="311" href="#311">311</a> out.flush(); +<a name="312" href="#312">312</a> _thrownStackTrace = sw.toString(); +<a name="313" href="#313">313</a> <strong class="jxr_keyword">try</strong> { +<a name="314" href="#314">314</a> out.close(); +<a name="315" href="#315">315</a> sw.close(); +<a name="316" href="#316">316</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="317" href="#317">317</a> <em class="jxr_comment">// Do nothing, this should not happen as it is StringWriter.</em> +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> out = <strong class="jxr_keyword">null</strong>; +<a name="320" href="#320">320</a> sw = <strong class="jxr_keyword">null</strong>; +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">/**</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> * Return a String representation of this LogRecord.</em> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> */</em> +<a name="326" href="#326">326</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="327" href="#327">327</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="328" href="#328">328</a> buf.append(<span class="jxr_string">"LogRecord: ["</span> + _level + <span class="jxr_string">", "</span> + _message + <span class="jxr_string">"]"</span>); +<a name="329" href="#329">329</a> <strong class="jxr_keyword">return</strong> (buf.toString()); +<a name="330" href="#330">330</a> } +<a name="331" href="#331">331</a> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">/**</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> * Get the NDC (nested diagnostic context) for this record.</em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> *</em> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment"> * @return The string representing the NDC.</em> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment"> */</em> +<a name="337" href="#337">337</a> <strong class="jxr_keyword">public</strong> String getNDC() { +<a name="338" href="#338">338</a> <strong class="jxr_keyword">return</strong> _ndc; +<a name="339" href="#339">339</a> } +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> <em class="jxr_javadoccomment">/**</em> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> * Set the NDC (nested diagnostic context) for this record.</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> *</em> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment"> * @param ndc A string representing the NDC.</em> +<a name="345" href="#345">345</a> <em class="jxr_javadoccomment"> */</em> +<a name="346" href="#346">346</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setNDC(String ndc) { +<a name="347" href="#347">347</a> _ndc = ndc; +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment">/**</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> * Get the location in code where this LogRecord originated.</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> *</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> * @return The string containing the location information.</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> */</em> +<a name="355" href="#355">355</a> <strong class="jxr_keyword">public</strong> String getLocation() { +<a name="356" href="#356">356</a> <strong class="jxr_keyword">return</strong> _location; +<a name="357" href="#357">357</a> } +<a name="358" href="#358">358</a> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment">/**</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> * Set the location in code where this LogRecord originated.</em> +<a name="361" href="#361">361</a> <em class="jxr_javadoccomment"> *</em> +<a name="362" href="#362">362</a> <em class="jxr_javadoccomment"> * @param location A string containing location information.</em> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> */</em> +<a name="364" href="#364">364</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLocation(String location) { +<a name="365" href="#365">365</a> _location = location; +<a name="366" href="#366">366</a> } +<a name="367" href="#367">367</a> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">/**</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> * Resets that sequence number to 0.</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> *</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> */</em> +<a name="372" href="#372">372</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> resetSequenceNumber() { +<a name="373" href="#373">373</a> _seqCount = 0; +<a name="374" href="#374">374</a> } +<a name="375" href="#375">375</a> +<a name="376" href="#376">376</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="377" href="#377">377</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="378" href="#378">378</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="379" href="#379">379</a> +<a name="380" href="#380">380</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">long</strong> getNextId() { +<a name="381" href="#381">381</a> _seqCount++; +<a name="382" href="#382">382</a> <strong class="jxr_keyword">return</strong> _seqCount; +<a name="383" href="#383">383</a> } +<a name="384" href="#384">384</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="385" href="#385">385</a> <em class="jxr_comment">// Private Methods:</em> +<a name="386" href="#386">386</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="387" href="#387">387</a> +<a name="388" href="#388">388</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="389" href="#389">389</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="390" href="#390">390</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="391" href="#391">391</a> +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> +<a name="395" href="#395">395</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogRecordFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogRecordFilter.html new file mode 100644 index 00000000000..dde7350309b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/LogRecordFilter.html @@ -0,0 +1,60 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogRecordFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/lf5/LogRecordFilter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * An interface for classes which filters LogRecords. Implementations</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * represent a rule or condition which LogRecords may pass or fail.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * @see LogRecord</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> *</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * @author Richard Wan</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a> { +<a name="31" href="#31">31</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="32" href="#32">32</a> <em class="jxr_comment">// Constants:</em> +<a name="33" href="#33">33</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> <em class="jxr_comment">// Public Methods:</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @return true if the specified LogRecord satisfies whatever condition</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * implementing class tests for.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> */</em> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> passes(<a href="../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> record); +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> } +<a name="46" href="#46">46</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/PassingLogRecordFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/PassingLogRecordFilter.html new file mode 100644 index 00000000000..ebab5895199 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/PassingLogRecordFilter.html @@ -0,0 +1,88 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PassingLogRecordFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/lf5/PassingLogRecordFilter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * An implementation of LogRecordFilter which always returns true.</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> *</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * @author Richard Wan</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> */</em> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html">PassingLogRecordFilter</a> implements <a href="../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a> { +<a name="29" href="#29">29</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Constants:</em> +<a name="31" href="#31">31</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">// Private Variables:</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> <em class="jxr_comment">// Constructors:</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">// Public Methods:</em> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * @return true;</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> passes(<a href="../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> record) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment">/**</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * Does nothing.</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> */</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> reset() { +<a name="60" href="#60">60</a> <em class="jxr_comment">// do nothing</em> +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="63" href="#63">63</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="67" href="#67">67</a> <em class="jxr_comment">// Private Methods:</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/StartLogFactor5.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/StartLogFactor5.html new file mode 100644 index 00000000000..ee676d51468 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/StartLogFactor5.html @@ -0,0 +1,95 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>StartLogFactor5 xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/lf5/StartLogFactor5.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogBrokerMonitor; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * Starts an instance of the LogFactor5 console for off-line viewing.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> *</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> StartLogFactor5 { +<a name="31" href="#31">31</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="32" href="#32">32</a> <em class="jxr_comment">// Constants:</em> +<a name="33" href="#33">33</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Private Variables:</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Constructors:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Public Methods:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * Main - starts a an instance of the LogFactor5 console and configures</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * the console settings.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] args) { +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <a href="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> monitor = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a>( +<a name="58" href="#58">58</a> LogLevel.getLog4JLevels()); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> monitor.setFrameSize(LF5Appender.getDefaultMonitorWidth(), +<a name="61" href="#61">61</a> LF5Appender.getDefaultMonitorHeight()); +<a name="62" href="#62">62</a> monitor.setFontSize(12); +<a name="63" href="#63">63</a> monitor.show(); +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="69" href="#69">69</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">// Private Methods:</em> +<a name="73" href="#73">73</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="77" href="#77">77</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/package-frame.html new file mode 100644 index 00000000000..4f2901a1239 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/package-frame.html @@ -0,0 +1,51 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.lf5</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.lf5</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="AppenderFinalizer.html" target="classFrame">AppenderFinalizer</a> + </li> + <li> + <a href="DefaultLF5Configurator.html" target="classFrame">DefaultLF5Configurator</a> + </li> + <li> + <a href="LF5Appender.html" target="classFrame">LF5Appender</a> + </li> + <li> + <a href="Log4JLogRecord.html" target="classFrame">Log4JLogRecord</a> + </li> + <li> + <a href="LogLevel.html" target="classFrame">LogLevel</a> + </li> + <li> + <a href="LogLevelFormatException.html" target="classFrame">LogLevelFormatException</a> + </li> + <li> + <a href="LogRecord.html" target="classFrame">LogRecord</a> + </li> + <li> + <a href="LogRecordFilter.html" target="classFrame">LogRecordFilter</a> + </li> + <li> + <a href="PassingLogRecordFilter.html" target="classFrame">PassingLogRecordFilter</a> + </li> + <li> + <a href="StartLogFactor5.html" target="classFrame">StartLogFactor5</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/package-summary.html new file mode 100644 index 00000000000..d82d9437958 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/package-summary.html @@ -0,0 +1,112 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.lf5</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.lf5</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="AppenderFinalizer.html" target="classFrame">AppenderFinalizer</a> + </td> + </tr> + <tr> + <td> + <a href="DefaultLF5Configurator.html" target="classFrame">DefaultLF5Configurator</a> + </td> + </tr> + <tr> + <td> + <a href="LF5Appender.html" target="classFrame">LF5Appender</a> + </td> + </tr> + <tr> + <td> + <a href="Log4JLogRecord.html" target="classFrame">Log4JLogRecord</a> + </td> + </tr> + <tr> + <td> + <a href="LogLevel.html" target="classFrame">LogLevel</a> + </td> + </tr> + <tr> + <td> + <a href="LogLevelFormatException.html" target="classFrame">LogLevelFormatException</a> + </td> + </tr> + <tr> + <td> + <a href="LogRecord.html" target="classFrame">LogRecord</a> + </td> + </tr> + <tr> + <td> + <a href="LogRecordFilter.html" target="classFrame">LogRecordFilter</a> + </td> + </tr> + <tr> + <td> + <a href="PassingLogRecordFilter.html" target="classFrame">PassingLogRecordFilter</a> + </td> + </tr> + <tr> + <td> + <a href="StartLogFactor5.html" target="classFrame">StartLogFactor5</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/AdapterLogRecord.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/AdapterLogRecord.html new file mode 100644 index 00000000000..eaca4783010 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/AdapterLogRecord.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AdapterLogRecord xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/util/AdapterLogRecord.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.util; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogLevel; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecord; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.PrintWriter; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.StringWriter; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * &lt;p&gt;A LogRecord to be used with the LogMonitorAdapter&lt;/p&gt;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html">AdapterLogRecord</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> { +<a name="34" href="#34">34</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">// Constants:</em> +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">// Private Variables:</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> severeLevel = <strong class="jxr_keyword">null</strong>; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringWriter sw = <strong class="jxr_keyword">new</strong> StringWriter(); +<a name="48" href="#48">48</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> PrintWriter pw = <strong class="jxr_keyword">new</strong> PrintWriter(sw); +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> <em class="jxr_comment">// Constructors:</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html">AdapterLogRecord</a>() { +<a name="54" href="#54">54</a> <strong class="jxr_keyword">super</strong>(); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="58" href="#58">58</a> <em class="jxr_comment">// Public Methods:</em> +<a name="59" href="#59">59</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCategory(String category) { +<a name="61" href="#61">61</a> <strong class="jxr_keyword">super</strong>.setCategory(category); +<a name="62" href="#62">62</a> <strong class="jxr_keyword">super</strong>.setLocation(getLocationInfo(category)); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isSevereLevel() { +<a name="66" href="#66">66</a> <strong class="jxr_keyword">if</strong> (severeLevel == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong> false; +<a name="67" href="#67">67</a> <strong class="jxr_keyword">return</strong> severeLevel.equals(getLevel()); +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setSevereLevel(<a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="71" href="#71">71</a> severeLevel = level; +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> getSevereLevel() { +<a name="75" href="#75">75</a> <strong class="jxr_keyword">return</strong> severeLevel; +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="79" href="#79">79</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="80" href="#80">80</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">protected</strong> String getLocationInfo(String category) { +<a name="82" href="#82">82</a> String stackTrace = stackTraceToString(<strong class="jxr_keyword">new</strong> Throwable()); +<a name="83" href="#83">83</a> String line = parseLine(stackTrace, category); +<a name="84" href="#84">84</a> <strong class="jxr_keyword">return</strong> line; +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">protected</strong> String stackTraceToString(Throwable t) { +<a name="88" href="#88">88</a> String s = <strong class="jxr_keyword">null</strong>; +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">synchronized</strong> (sw) { +<a name="91" href="#91">91</a> t.printStackTrace(pw); +<a name="92" href="#92">92</a> s = sw.toString(); +<a name="93" href="#93">93</a> sw.getBuffer().setLength(0); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">return</strong> s; +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">protected</strong> String parseLine(String trace, String category) { +<a name="100" href="#100">100</a> <strong class="jxr_keyword">int</strong> index = trace.indexOf(category); +<a name="101" href="#101">101</a> <strong class="jxr_keyword">if</strong> (index == -1) <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="102" href="#102">102</a> trace = trace.substring(index); +<a name="103" href="#103">103</a> trace = trace.substring(0, trace.indexOf(<span class="jxr_string">")"</span>) + 1); +<a name="104" href="#104">104</a> <strong class="jxr_keyword">return</strong> trace; +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="107" href="#107">107</a> <em class="jxr_comment">// Private Methods:</em> +<a name="108" href="#108">108</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="111" href="#111">111</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="112" href="#112">112</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/DateFormatManager.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/DateFormatManager.html new file mode 100644 index 00000000000..f9a30c38b14 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/DateFormatManager.html @@ -0,0 +1,257 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DateFormatManager xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/util/DateFormatManager.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.util; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.text.ParseException; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Locale; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Date format manager.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * Utility class to help manage consistent date formatting and parsing.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * It may be advantageous to have multiple DateFormatManagers per</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * application. For example, one for handling the output (formatting) of</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * dates, and another one for handling the input (parsing) of dates.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a> { +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Constants:</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Private Variables:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">private</strong> TimeZone _timeZone = <strong class="jxr_keyword">null</strong>; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">private</strong> Locale _locale = <strong class="jxr_keyword">null</strong>; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">private</strong> String _pattern = <strong class="jxr_keyword">null</strong>; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">private</strong> DateFormat _dateFormat = <strong class="jxr_keyword">null</strong>; +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">// Constructors:</em> +<a name="58" href="#58">58</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a>() { +<a name="60" href="#60">60</a> <strong class="jxr_keyword">super</strong>(); +<a name="61" href="#61">61</a> configure(); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a>(TimeZone timeZone) { +<a name="65" href="#65">65</a> <strong class="jxr_keyword">super</strong>(); +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> _timeZone = timeZone; +<a name="68" href="#68">68</a> configure(); +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a>(Locale locale) { +<a name="72" href="#72">72</a> <strong class="jxr_keyword">super</strong>(); +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> _locale = locale; +<a name="75" href="#75">75</a> configure(); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a>(String pattern) { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">super</strong>(); +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> _pattern = pattern; +<a name="82" href="#82">82</a> configure(); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a>(TimeZone timeZone, Locale locale) { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">super</strong>(); +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> _timeZone = timeZone; +<a name="89" href="#89">89</a> _locale = locale; +<a name="90" href="#90">90</a> configure(); +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a>(TimeZone timeZone, String pattern) { +<a name="94" href="#94">94</a> <strong class="jxr_keyword">super</strong>(); +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> _timeZone = timeZone; +<a name="97" href="#97">97</a> _pattern = pattern; +<a name="98" href="#98">98</a> configure(); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a>(Locale locale, String pattern) { +<a name="102" href="#102">102</a> <strong class="jxr_keyword">super</strong>(); +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> _locale = locale; +<a name="105" href="#105">105</a> _pattern = pattern; +<a name="106" href="#106">106</a> configure(); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a>(TimeZone timeZone, Locale locale, String pattern) { +<a name="110" href="#110">110</a> <strong class="jxr_keyword">super</strong>(); +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> _timeZone = timeZone; +<a name="113" href="#113">113</a> _locale = locale; +<a name="114" href="#114">114</a> _pattern = pattern; +<a name="115" href="#115">115</a> configure(); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="119" href="#119">119</a> <em class="jxr_comment">// Public Methods:</em> +<a name="120" href="#120">120</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> TimeZone getTimeZone() { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">if</strong> (_timeZone == <strong class="jxr_keyword">null</strong>) { +<a name="124" href="#124">124</a> <strong class="jxr_keyword">return</strong> TimeZone.getDefault(); +<a name="125" href="#125">125</a> } <strong class="jxr_keyword">else</strong> { +<a name="126" href="#126">126</a> <strong class="jxr_keyword">return</strong> _timeZone; +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setTimeZone(TimeZone timeZone) { +<a name="131" href="#131">131</a> _timeZone = timeZone; +<a name="132" href="#132">132</a> configure(); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> Locale getLocale() { +<a name="136" href="#136">136</a> <strong class="jxr_keyword">if</strong> (_locale == <strong class="jxr_keyword">null</strong>) { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">return</strong> Locale.getDefault(); +<a name="138" href="#138">138</a> } <strong class="jxr_keyword">else</strong> { +<a name="139" href="#139">139</a> <strong class="jxr_keyword">return</strong> _locale; +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setLocale(Locale locale) { +<a name="144" href="#144">144</a> _locale = locale; +<a name="145" href="#145">145</a> configure(); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> String getPattern() { +<a name="149" href="#149">149</a> <strong class="jxr_keyword">return</strong> _pattern; +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">/**</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> * Set the pattern. i.e. "EEEEE, MMMMM d, yyyy hh:mm aaa"</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> */</em> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setPattern(String pattern) { +<a name="156" href="#156">156</a> _pattern = pattern; +<a name="157" href="#157">157</a> configure(); +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">/**</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * This method has been deprecated in favour of getPattern().</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * @deprecated Use getPattern().</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> String getOutputFormat() { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">return</strong> _pattern; +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">/**</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> * This method has been deprecated in favour of setPattern().</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> * @deprecated Use setPattern().</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> */</em> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setOutputFormat(String pattern) { +<a name="174" href="#174">174</a> _pattern = pattern; +<a name="175" href="#175">175</a> configure(); +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> DateFormat getDateFormatInstance() { +<a name="179" href="#179">179</a> <strong class="jxr_keyword">return</strong> _dateFormat; +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setDateFormatInstance(DateFormat dateFormat) { +<a name="183" href="#183">183</a> _dateFormat = dateFormat; +<a name="184" href="#184">184</a> <em class="jxr_comment">// No reconfiguration necessary!</em> +<a name="185" href="#185">185</a> } +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">public</strong> String format(Date date) { +<a name="188" href="#188">188</a> <strong class="jxr_keyword">return</strong> getDateFormatInstance().format(date); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <strong class="jxr_keyword">public</strong> String format(Date date, String pattern) { +<a name="192" href="#192">192</a> DateFormat formatter = <strong class="jxr_keyword">null</strong>; +<a name="193" href="#193">193</a> formatter = getDateFormatInstance(); +<a name="194" href="#194">194</a> <strong class="jxr_keyword">if</strong> (formatter instanceof SimpleDateFormat) { +<a name="195" href="#195">195</a> formatter = (SimpleDateFormat) (formatter.clone()); +<a name="196" href="#196">196</a> ((SimpleDateFormat) formatter).applyPattern(pattern); +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> <strong class="jxr_keyword">return</strong> formatter.format(date); +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment">/**</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> * @throws java.text.ParseException</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> */</em> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">public</strong> Date parse(String date) <strong class="jxr_keyword">throws</strong> ParseException { +<a name="205" href="#205">205</a> <strong class="jxr_keyword">return</strong> getDateFormatInstance().parse(date); +<a name="206" href="#206">206</a> } +<a name="207" href="#207">207</a> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment">/**</em> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> * @throws java.text.ParseException</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> */</em> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">public</strong> Date parse(String date, String pattern) <strong class="jxr_keyword">throws</strong> ParseException { +<a name="212" href="#212">212</a> DateFormat formatter = <strong class="jxr_keyword">null</strong>; +<a name="213" href="#213">213</a> formatter = getDateFormatInstance(); +<a name="214" href="#214">214</a> <strong class="jxr_keyword">if</strong> (formatter instanceof SimpleDateFormat) { +<a name="215" href="#215">215</a> formatter = (SimpleDateFormat) (formatter.clone()); +<a name="216" href="#216">216</a> ((SimpleDateFormat) formatter).applyPattern(pattern); +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> <strong class="jxr_keyword">return</strong> formatter.parse(date); +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="222" href="#222">222</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="223" href="#223">223</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="226" href="#226">226</a> <em class="jxr_comment">// Private Methods:</em> +<a name="227" href="#227">227</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> configure() { +<a name="229" href="#229">229</a> _dateFormat = SimpleDateFormat.getDateTimeInstance(DateFormat.FULL, +<a name="230" href="#230">230</a> DateFormat.FULL, +<a name="231" href="#231">231</a> getLocale()); +<a name="232" href="#232">232</a> _dateFormat.setTimeZone(getTimeZone()); +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <strong class="jxr_keyword">if</strong> (_pattern != <strong class="jxr_keyword">null</strong>) { +<a name="235" href="#235">235</a> ((SimpleDateFormat) _dateFormat).applyPattern(_pattern); +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="240" href="#240">240</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="241" href="#241">241</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/LogFileParser.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/LogFileParser.html new file mode 100644 index 00000000000..9dea5ac46b3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/LogFileParser.html @@ -0,0 +1,315 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogFileParser xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/util/LogFileParser.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.util; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.io.BufferedInputStream; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.FileInputStream; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.FileNotFoundException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.text.ParseException; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.swing.SwingUtilities; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.Log4JLogRecord; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogLevel; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogLevelFormatException; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecord; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogBrokerMonitor; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogFactor5ErrorDialog; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogFactor5LoadingDialog; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * Provides utility methods for input and output streams.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> *</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogFileParser.html">LogFileParser</a> implements Runnable { +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">// Constants:</em> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RECORD_DELIMITER = <span class="jxr_string">"[slf5s.start]"</span>; +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ATTRIBUTE_DELIMITER = <span class="jxr_string">"[slf5s."</span>; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DATE_DELIMITER = ATTRIBUTE_DELIMITER + <span class="jxr_string">"DATE]"</span>; +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String THREAD_DELIMITER = ATTRIBUTE_DELIMITER + <span class="jxr_string">"THREAD]"</span>; +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CATEGORY_DELIMITER = ATTRIBUTE_DELIMITER + <span class="jxr_string">"CATEGORY]"</span>; +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOCATION_DELIMITER = ATTRIBUTE_DELIMITER + <span class="jxr_string">"LOCATION]"</span>; +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MESSAGE_DELIMITER = ATTRIBUTE_DELIMITER + <span class="jxr_string">"MESSAGE]"</span>; +<a name="59" href="#59">59</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PRIORITY_DELIMITER = ATTRIBUTE_DELIMITER + <span class="jxr_string">"PRIORITY]"</span>; +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NDC_DELIMITER = ATTRIBUTE_DELIMITER + <span class="jxr_string">"NDC]"</span>; +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="63" href="#63">63</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="67" href="#67">67</a> <em class="jxr_comment">// Private Variables:</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> SimpleDateFormat _sdf = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"dd MMM yyyy HH:mm:ss,S"</span>); +<a name="70" href="#70">70</a> <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> _monitor; +<a name="71" href="#71">71</a> LogFactor5LoadingDialog _loadDialog; +<a name="72" href="#72">72</a> <strong class="jxr_keyword">private</strong> InputStream _in = <strong class="jxr_keyword">null</strong>; +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="75" href="#75">75</a> <em class="jxr_comment">// Constructors:</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogFileParser.html">LogFileParser</a>(File file) <strong class="jxr_keyword">throws</strong> IOException, +<a name="78" href="#78">78</a> FileNotFoundException { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">this</strong>(<strong class="jxr_keyword">new</strong> FileInputStream(file)); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogFileParser.html">LogFileParser</a>(InputStream stream) <strong class="jxr_keyword">throws</strong> IOException { +<a name="83" href="#83">83</a> _in = stream; +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="86" href="#86">86</a> <em class="jxr_comment">// Public Methods:</em> +<a name="87" href="#87">87</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * Starts a new thread to parse the log file and create a LogRecord.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * See run().</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * @param monitor LogBrokerMonitor</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> parse(<a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> monitor) <strong class="jxr_keyword">throws</strong> RuntimeException { +<a name="95" href="#95">95</a> _monitor = monitor; +<a name="96" href="#96">96</a> Thread t = <strong class="jxr_keyword">new</strong> Thread(<strong class="jxr_keyword">this</strong>); +<a name="97" href="#97">97</a> t.start(); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">/**</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> * Parses the file and creates new log records and adds the record</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * to the monitor.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> */</em> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">int</strong> index = 0; +<a name="107" href="#107">107</a> <strong class="jxr_keyword">int</strong> counter = 0; +<a name="108" href="#108">108</a> <a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> temp; +<a name="109" href="#109">109</a> <strong class="jxr_keyword">boolean</strong> isLogFile = false; +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> _loadDialog = <strong class="jxr_keyword">new</strong> LogFactor5LoadingDialog( +<a name="112" href="#112">112</a> _monitor.getBaseFrame(), <span class="jxr_string">"Loading file..."</span>); +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">try</strong> { +<a name="116" href="#116">116</a> String logRecords = loadLogFile(_in); +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">while</strong> ((counter = logRecords.indexOf(RECORD_DELIMITER, index)) != -1) { +<a name="119" href="#119">119</a> temp = createLogRecord(logRecords.substring(index, counter)); +<a name="120" href="#120">120</a> isLogFile = <strong class="jxr_keyword">true</strong>; +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">if</strong> (temp != <strong class="jxr_keyword">null</strong>) { +<a name="123" href="#123">123</a> _monitor.addMessage(temp); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> index = counter + RECORD_DELIMITER.length(); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">if</strong> (index &lt; logRecords.length() &amp;&amp; isLogFile) { +<a name="130" href="#130">130</a> temp = createLogRecord(logRecords.substring(index)); +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">if</strong> (temp != <strong class="jxr_keyword">null</strong>) { +<a name="133" href="#133">133</a> _monitor.addMessage(temp); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">if</strong> (isLogFile == false) { +<a name="138" href="#138">138</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(<span class="jxr_string">"Invalid log file format"</span>); +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> SwingUtilities.invokeLater(<strong class="jxr_keyword">new</strong> Runnable() { +<a name="141" href="#141">141</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="142" href="#142">142</a> destroyDialog(); +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> }); +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> } <strong class="jxr_keyword">catch</strong> (RuntimeException e) { +<a name="147" href="#147">147</a> destroyDialog(); +<a name="148" href="#148">148</a> displayError(<span class="jxr_string">"Error - Invalid log file format.\nPlease see documentation"</span> +<a name="149" href="#149">149</a> + <span class="jxr_string">" on how to load log files."</span>); +<a name="150" href="#150">150</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="151" href="#151">151</a> destroyDialog(); +<a name="152" href="#152">152</a> displayError(<span class="jxr_string">"Error - Unable to load log file!"</span>); +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> _in = <strong class="jxr_keyword">null</strong>; +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="159" href="#159">159</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="160" href="#160">160</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> displayError(String message) { +<a name="162" href="#162">162</a> LogFactor5ErrorDialog error = <strong class="jxr_keyword">new</strong> LogFactor5ErrorDialog( +<a name="163" href="#163">163</a> _monitor.getBaseFrame(), message); +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="168" href="#168">168</a> <em class="jxr_comment">// Private Methods:</em> +<a name="169" href="#169">169</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> destroyDialog() { +<a name="171" href="#171">171</a> _loadDialog.hide(); +<a name="172" href="#172">172</a> _loadDialog.dispose(); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">/**</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> * Loads a log file from a web server into the LogFactor5 GUI.</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> */</em> +<a name="178" href="#178">178</a> <strong class="jxr_keyword">private</strong> String loadLogFile(InputStream stream) <strong class="jxr_keyword">throws</strong> IOException { +<a name="179" href="#179">179</a> BufferedInputStream br = <strong class="jxr_keyword">new</strong> BufferedInputStream(stream); +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">int</strong> count = 0; +<a name="182" href="#182">182</a> <strong class="jxr_keyword">int</strong> size = br.available(); +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> StringBuffer sb = <strong class="jxr_keyword">null</strong>; +<a name="185" href="#185">185</a> <strong class="jxr_keyword">if</strong> (size &gt; 0) { +<a name="186" href="#186">186</a> sb = <strong class="jxr_keyword">new</strong> StringBuffer(size); +<a name="187" href="#187">187</a> } <strong class="jxr_keyword">else</strong> { +<a name="188" href="#188">188</a> sb = <strong class="jxr_keyword">new</strong> StringBuffer(1024); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <strong class="jxr_keyword">while</strong> ((count = br.read()) != -1) { +<a name="192" href="#192">192</a> sb.append((<strong class="jxr_keyword">char</strong>) count); +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> br.close(); +<a name="196" href="#196">196</a> br = <strong class="jxr_keyword">null</strong>; +<a name="197" href="#197">197</a> <strong class="jxr_keyword">return</strong> sb.toString(); +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <strong class="jxr_keyword">private</strong> String parseAttribute(String name, String record) { +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> <strong class="jxr_keyword">int</strong> index = record.indexOf(name); +<a name="204" href="#204">204</a> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">if</strong> (index == -1) { +<a name="206" href="#206">206</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <strong class="jxr_keyword">return</strong> getAttribute(index, record); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> parseDate(String record) { +<a name="213" href="#213">213</a> <strong class="jxr_keyword">try</strong> { +<a name="214" href="#214">214</a> String s = parseAttribute(DATE_DELIMITER, record); +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">if</strong> (s == <strong class="jxr_keyword">null</strong>) { +<a name="217" href="#217">217</a> <strong class="jxr_keyword">return</strong> 0; +<a name="218" href="#218">218</a> } +<a name="219" href="#219">219</a> +<a name="220" href="#220">220</a> Date d = _sdf.parse(s); +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">return</strong> d.getTime(); +<a name="223" href="#223">223</a> } <strong class="jxr_keyword">catch</strong> (ParseException e) { +<a name="224" href="#224">224</a> <strong class="jxr_keyword">return</strong> 0; +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> parsePriority(String record) { +<a name="229" href="#229">229</a> String temp = parseAttribute(PRIORITY_DELIMITER, record); +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <strong class="jxr_keyword">if</strong> (temp != <strong class="jxr_keyword">null</strong>) { +<a name="232" href="#232">232</a> <strong class="jxr_keyword">try</strong> { +<a name="233" href="#233">233</a> <strong class="jxr_keyword">return</strong> LogLevel.valueOf(temp); +<a name="234" href="#234">234</a> } <strong class="jxr_keyword">catch</strong> (LogLevelFormatException e) { +<a name="235" href="#235">235</a> <strong class="jxr_keyword">return</strong> LogLevel.DEBUG; +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <strong class="jxr_keyword">return</strong> LogLevel.DEBUG; +<a name="241" href="#241">241</a> } +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <strong class="jxr_keyword">private</strong> String parseThread(String record) { +<a name="244" href="#244">244</a> <strong class="jxr_keyword">return</strong> parseAttribute(THREAD_DELIMITER, record); +<a name="245" href="#245">245</a> } +<a name="246" href="#246">246</a> +<a name="247" href="#247">247</a> <strong class="jxr_keyword">private</strong> String parseCategory(String record) { +<a name="248" href="#248">248</a> <strong class="jxr_keyword">return</strong> parseAttribute(CATEGORY_DELIMITER, record); +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> <strong class="jxr_keyword">private</strong> String parseLocation(String record) { +<a name="252" href="#252">252</a> <strong class="jxr_keyword">return</strong> parseAttribute(LOCATION_DELIMITER, record); +<a name="253" href="#253">253</a> } +<a name="254" href="#254">254</a> +<a name="255" href="#255">255</a> <strong class="jxr_keyword">private</strong> String parseMessage(String record) { +<a name="256" href="#256">256</a> <strong class="jxr_keyword">return</strong> parseAttribute(MESSAGE_DELIMITER, record); +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">private</strong> String parseNDC(String record) { +<a name="260" href="#260">260</a> <strong class="jxr_keyword">return</strong> parseAttribute(NDC_DELIMITER, record); +<a name="261" href="#261">261</a> } +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <strong class="jxr_keyword">private</strong> String parseThrowable(String record) { +<a name="264" href="#264">264</a> <strong class="jxr_keyword">return</strong> getAttribute(record.length(), record); +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> createLogRecord(String record) { +<a name="268" href="#268">268</a> <strong class="jxr_keyword">if</strong> (record == <strong class="jxr_keyword">null</strong> || record.trim().length() == 0) { +<a name="269" href="#269">269</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="270" href="#270">270</a> } +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> lr = <strong class="jxr_keyword">new</strong> Log4JLogRecord(); +<a name="273" href="#273">273</a> lr.setMillis(parseDate(record)); +<a name="274" href="#274">274</a> lr.setLevel(parsePriority(record)); +<a name="275" href="#275">275</a> lr.setCategory(parseCategory(record)); +<a name="276" href="#276">276</a> lr.setLocation(parseLocation(record)); +<a name="277" href="#277">277</a> lr.setThreadDescription(parseThread(record)); +<a name="278" href="#278">278</a> lr.setNDC(parseNDC(record)); +<a name="279" href="#279">279</a> lr.setMessage(parseMessage(record)); +<a name="280" href="#280">280</a> lr.setThrownStackTrace(parseThrowable(record)); +<a name="281" href="#281">281</a> +<a name="282" href="#282">282</a> <strong class="jxr_keyword">return</strong> lr; +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> +<a name="286" href="#286">286</a> <strong class="jxr_keyword">private</strong> String getAttribute(<strong class="jxr_keyword">int</strong> index, String record) { +<a name="287" href="#287">287</a> <strong class="jxr_keyword">int</strong> start = record.lastIndexOf(ATTRIBUTE_DELIMITER, index - 1); +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> <strong class="jxr_keyword">if</strong> (start == -1) { +<a name="290" href="#290">290</a> <strong class="jxr_keyword">return</strong> record.substring(0, index); +<a name="291" href="#291">291</a> } +<a name="292" href="#292">292</a> +<a name="293" href="#293">293</a> start = record.indexOf(<span class="jxr_string">"]"</span>, start); +<a name="294" href="#294">294</a> +<a name="295" href="#295">295</a> <strong class="jxr_keyword">return</strong> record.substring(start + 1, index).trim(); +<a name="296" href="#296">296</a> } +<a name="297" href="#297">297</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="298" href="#298">298</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="299" href="#299">299</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="300" href="#300">300</a> +<a name="301" href="#301">301</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/LogMonitorAdapter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/LogMonitorAdapter.html new file mode 100644 index 00000000000..24a32a5c3f1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/LogMonitorAdapter.html @@ -0,0 +1,303 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogMonitorAdapter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/util/LogMonitorAdapter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.util; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Toolkit; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Arrays; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogLevel; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecord; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogBrokerMonitor; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * &lt;p&gt;LogMonitorAdapter facilitates the usage of the LogMonitor&lt;/p&gt;</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> *</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html">LogMonitorAdapter</a> { +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">// Constants:</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> LOG4J_LOG_LEVELS = 0; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> JDK14_LOG_LEVELS = 1; +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">// Private Variables:</em> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> _logMonitor; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> _defaultLevel = <strong class="jxr_keyword">null</strong>; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Constructors:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html">LogMonitorAdapter</a>(List userDefinedLevels) { +<a name="55" href="#55">55</a> <strong class="jxr_keyword">super</strong>(); +<a name="56" href="#56">56</a> <em class="jxr_comment">// set the default level to be the first entry in the list</em> +<a name="57" href="#57">57</a> _defaultLevel = (LogLevel) userDefinedLevels.get(0); +<a name="58" href="#58">58</a> _logMonitor = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a>(userDefinedLevels); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> _logMonitor.setFrameSize(getDefaultMonitorWidth(), +<a name="61" href="#61">61</a> getDefaultMonitorHeight()); +<a name="62" href="#62">62</a> _logMonitor.setFontSize(12); +<a name="63" href="#63">63</a> _logMonitor.show(); +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="66" href="#66">66</a> <em class="jxr_comment">// Public Methods:</em> +<a name="67" href="#67">67</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Creates an instance of LogMonitorAdapter using the</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * log levels inticated by the parameter. Log4J and JDK1.4 both have default</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * LogLevels which are set but these levels can be overriden.&lt;p&gt;</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> *</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> * @param loglevels An integer representing either Log4J or JDK1.4 logging levels</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * @return LogMonitorAdapter</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html">LogMonitorAdapter</a> newInstance(<strong class="jxr_keyword">int</strong> loglevels) { +<a name="77" href="#77">77</a> <a href="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html">LogMonitorAdapter</a> adapter; +<a name="78" href="#78">78</a> <strong class="jxr_keyword">if</strong> (loglevels == JDK14_LOG_LEVELS) { +<a name="79" href="#79">79</a> adapter = newInstance(LogLevel.getJdk14Levels()); +<a name="80" href="#80">80</a> adapter.setDefaultLevel(LogLevel.FINEST); +<a name="81" href="#81">81</a> adapter.setSevereLevel(LogLevel.SEVERE); +<a name="82" href="#82">82</a> } <strong class="jxr_keyword">else</strong> { +<a name="83" href="#83">83</a> adapter = newInstance(LogLevel.getLog4JLevels()); +<a name="84" href="#84">84</a> adapter.setDefaultLevel(LogLevel.DEBUG); +<a name="85" href="#85">85</a> adapter.setSevereLevel(LogLevel.FATAL); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> <strong class="jxr_keyword">return</strong> adapter; +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment">/**</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Creates an instance of LogMonitorAdapter using the specified LogLevels.</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * The first LogLevel in the array is used as the default LogLevel unless</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * changed using the setDefaultLevel method.&lt;p&gt;</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> *</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * @param userDefined An array of user defined LogLevel objects.</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * @return LogMonitorAdapter</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> */</em> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html">LogMonitorAdapter</a> newInstance(<a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a>[] userDefined) { +<a name="99" href="#99">99</a> <strong class="jxr_keyword">if</strong> (userDefined == <strong class="jxr_keyword">null</strong>) { +<a name="100" href="#100">100</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> <strong class="jxr_keyword">return</strong> newInstance(Arrays.asList(userDefined)); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Creates an instance of LogMonitorAdapter using the specified LogLevels.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * The first LogLevel in the List is used as the default LogLevel unless</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * changed using the setDefaultLevel method.&lt;p&gt;</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> *</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> * @param userDefinedLevels A list of user defined LogLevel objects.</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> * @return LogMonitorAdapter</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> */</em> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html">LogMonitorAdapter</a> newInstance(List userDefinedLevels) { +<a name="114" href="#114">114</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogMonitorAdapter.html">LogMonitorAdapter</a>(userDefinedLevels); +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">/**</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Adds a LogRecord to the LogMonitor.&lt;p&gt;</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> *</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> * @param record The LogRecord object to be logged in the logging monitor.</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addMessage(<a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> record) { +<a name="123" href="#123">123</a> _logMonitor.addMessage(record); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Set the maximum number of records to be displayed in the monitor&lt;p&gt;</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> *</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> * @param maxNumberOfRecords</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> */</em> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMaxNumberOfRecords(<strong class="jxr_keyword">int</strong> maxNumberOfRecords) { +<a name="132" href="#132">132</a> _logMonitor.setMaxNumberOfLogRecords(maxNumberOfRecords); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">/**</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Set the default log level to be used when logging messages without</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> * specifying a LogLevel.&lt;p&gt;</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> *</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> * @param level</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> */</em> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDefaultLevel(<a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="142" href="#142">142</a> _defaultLevel = level; +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">/**</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Gets the default LogLevel for the Adapter.&lt;p&gt;</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> *</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> * @return LogLevel</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> */</em> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> getDefaultLevel() { +<a name="151" href="#151">151</a> <strong class="jxr_keyword">return</strong> _defaultLevel; +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment">/**</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Sets the Severe LogLevel.&lt;/p&gt;</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> *</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> * @param level</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> */</em> +<a name="159" href="#159">159</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSevereLevel(<a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="160" href="#160">160</a> AdapterLogRecord.setSevereLevel(level); +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment">/**</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Gets the current Severe LogLevel &lt;p&gt;</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> *</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> * @return LogLevel</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> */</em> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> getSevereLevel() { +<a name="169" href="#169">169</a> <strong class="jxr_keyword">return</strong> AdapterLogRecord.getSevereLevel(); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">/**</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Log a complete message to the Monitor.&lt;p&gt;</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> *</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> * @param category The category to be used</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> * @param level The log level to apply to the message</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> * @param message The message</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> * @param t The throwable content of the message</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * @param NDC The NDC really only applies to Log4J and the parameter can</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * usually be ignored.</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> */</em> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(String category, <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level, String message, +<a name="183" href="#183">183</a> Throwable t, String NDC) { +<a name="184" href="#184">184</a> <a href="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html">AdapterLogRecord</a> record = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/util/AdapterLogRecord.html">AdapterLogRecord</a>(); +<a name="185" href="#185">185</a> record.setCategory(category); +<a name="186" href="#186">186</a> record.setMessage(message); +<a name="187" href="#187">187</a> record.setNDC(NDC); +<a name="188" href="#188">188</a> record.setThrown(t); +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">if</strong> (level == <strong class="jxr_keyword">null</strong>) { +<a name="191" href="#191">191</a> record.setLevel(getDefaultLevel()); +<a name="192" href="#192">192</a> } <strong class="jxr_keyword">else</strong> { +<a name="193" href="#193">193</a> record.setLevel(level); +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> addMessage(record); +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment">/**</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Log a message to the Monitor and use the default LogLevel.&lt;p&gt;</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> *</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> * @param category The category to be used</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> * @param message The message</em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> */</em> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(String category, String message) { +<a name="206" href="#206">206</a> log(category, <strong class="jxr_keyword">null</strong>, message); +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">/**</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Log a message to the Monitor.&lt;p&gt;</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> *</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> * @param category The category to be used</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> * @param level The log level to apply to the message</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> * @param message The message</em> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> * @param NDC</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> */</em> +<a name="217" href="#217">217</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(String category, <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level, String message, String NDC) { +<a name="218" href="#218">218</a> log(category, level, message, <strong class="jxr_keyword">null</strong>, NDC); +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">/**</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Log a message to the Monitor.&lt;p&gt;</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> *</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> * @param category The category to be used</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> * @param level The log level to apply to the message</em> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment"> * @param message The message</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> * @param t The throwable content of the message</em> +<a name="228" href="#228">228</a> <em class="jxr_javadoccomment"> */</em> +<a name="229" href="#229">229</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(String category, <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level, String message, +<a name="230" href="#230">230</a> Throwable t) { +<a name="231" href="#231">231</a> log(category, level, message, t, <strong class="jxr_keyword">null</strong>); +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment">/**</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Log a message to the Monitor.&lt;p&gt;</em> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> *</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> * @param category The category to be used</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> * @param level The log level to apply to the message</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> * @param message The message</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> */</em> +<a name="241" href="#241">241</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(String category, <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level, String message) { +<a name="242" href="#242">242</a> log(category, level, message, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="243" href="#243">243</a> } +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="246" href="#246">246</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="247" href="#247">247</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment">/**</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> * @return the screen width from Toolkit.getScreenSize()</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> * if possible, otherwise returns 800</em> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> * @see java.awt.Toolkit</em> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment"> */</em> +<a name="253" href="#253">253</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> getScreenWidth() { +<a name="254" href="#254">254</a> <strong class="jxr_keyword">try</strong> { +<a name="255" href="#255">255</a> <strong class="jxr_keyword">return</strong> Toolkit.getDefaultToolkit().getScreenSize().width; +<a name="256" href="#256">256</a> } <strong class="jxr_keyword">catch</strong> (Throwable t) { +<a name="257" href="#257">257</a> <strong class="jxr_keyword">return</strong> 800; +<a name="258" href="#258">258</a> } +<a name="259" href="#259">259</a> } +<a name="260" href="#260">260</a> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment">/**</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> * @return the screen height from Toolkit.getScreenSize()</em> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> * if possible, otherwise returns 600</em> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment"> * @see java.awt.Toolkit</em> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment"> */</em> +<a name="266" href="#266">266</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> getScreenHeight() { +<a name="267" href="#267">267</a> <strong class="jxr_keyword">try</strong> { +<a name="268" href="#268">268</a> <strong class="jxr_keyword">return</strong> Toolkit.getDefaultToolkit().getScreenSize().height; +<a name="269" href="#269">269</a> } <strong class="jxr_keyword">catch</strong> (Throwable t) { +<a name="270" href="#270">270</a> <strong class="jxr_keyword">return</strong> 600; +<a name="271" href="#271">271</a> } +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> getDefaultMonitorWidth() { +<a name="275" href="#275">275</a> <strong class="jxr_keyword">return</strong> (3 * getScreenWidth()) / 4; +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> getDefaultMonitorHeight() { +<a name="279" href="#279">279</a> <strong class="jxr_keyword">return</strong> (3 * getScreenHeight()) / 4; +<a name="280" href="#280">280</a> } +<a name="281" href="#281">281</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="282" href="#282">282</a> <em class="jxr_comment">// Private Methods:</em> +<a name="283" href="#283">283</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="286" href="#286">286</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="287" href="#287">287</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="288" href="#288">288</a> } +<a name="289" href="#289">289</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/Resource.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/Resource.html new file mode 100644 index 00000000000..546f814a525 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/Resource.html @@ -0,0 +1,170 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Resource xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/util/Resource.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.util; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.InputStreamReader; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Resource encapsulates access to Resources via the Classloader.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/util/Resource.html">Resource</a> { +<a name="33" href="#33">33</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">// Constants:</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">protected</strong> String _name; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">// Private Variables:</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> <em class="jxr_comment">// Constructors:</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * Default, no argument constructor.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/Resource.html">Resource</a>() { +<a name="54" href="#54">54</a> <strong class="jxr_keyword">super</strong>(); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * Construct a Resource given a name.</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> *</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * @see #setName(String)</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/Resource.html">Resource</a>(String name) { +<a name="63" href="#63">63</a> _name = name; +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="67" href="#67">67</a> <em class="jxr_comment">// Public Methods:</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * Set the name of the resource.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> * A resource is some data (images, audio, text, etc) that can be accessed</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * by class code in a way that is independent of the location of the code.</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * The name of a resource is a "/"-separated path name that identifies</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * the resource.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> *</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * @see #getName()</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> */</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setName(String name) { +<a name="84" href="#84">84</a> _name = name; +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * Get the name of the resource. Set setName() for a description of</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> * a resource.</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> *</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * @see #setName</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> */</em> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> String getName() { +<a name="94" href="#94">94</a> <strong class="jxr_keyword">return</strong> (_name); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment">/**</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> * Get the InputStream for this Resource. Uses the classloader</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> * from this Resource.</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> *</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> * @see #getInputStreamReader</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * @see ResourceUtils</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> */</em> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> InputStream getInputStream() { +<a name="105" href="#105">105</a> InputStream in = ResourceUtils.getResourceAsStream(<strong class="jxr_keyword">this</strong>, <strong class="jxr_keyword">this</strong>); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">return</strong> (in); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">/**</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> * Get the InputStreamReader for this Resource. Uses the classloader from</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> * this Resource.</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> *</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> * @see #getInputStream</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> * @see ResourceUtils</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> */</em> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">public</strong> InputStreamReader getInputStreamReader() { +<a name="118" href="#118">118</a> InputStream in = ResourceUtils.getResourceAsStream(<strong class="jxr_keyword">this</strong>, <strong class="jxr_keyword">this</strong>); +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">if</strong> (in == <strong class="jxr_keyword">null</strong>) { +<a name="121" href="#121">121</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> InputStreamReader reader = <strong class="jxr_keyword">new</strong> InputStreamReader(in); +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">return</strong> reader; +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">/**</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> * Get the URL of the Resource. Uses the classloader from this Resource.</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> *</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> * @see ResourceUtils</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> */</em> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">public</strong> URL getURL() { +<a name="135" href="#135">135</a> <strong class="jxr_keyword">return</strong> (ResourceUtils.getResourceAsURL(<strong class="jxr_keyword">this</strong>, <strong class="jxr_keyword">this</strong>)); +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="139" href="#139">139</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="140" href="#140">140</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="143" href="#143">143</a> <em class="jxr_comment">// Private Methods:</em> +<a name="144" href="#144">144</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="147" href="#147">147</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="148" href="#148">148</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/ResourceUtils.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/ResourceUtils.html new file mode 100644 index 00000000000..f8660519feb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/ResourceUtils.html @@ -0,0 +1,147 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ResourceUtils xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/util/ResourceUtils.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.util; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * ResourceUtils. Provide a set of convenience methods for working with</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Resources.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @see org.apache.log4j.lf5.util.Resource</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/util/ResourceUtils.html">ResourceUtils</a> { +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> <em class="jxr_comment">// Constants:</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Private Variables:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Constructors:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Public Methods:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * Get the InputStream for this resource. Note: to convert an InputStream</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * into an InputReader, use: new InputStreamReader(InputStream).</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> *</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * @param object The object to grab the Classloader from.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * This parameter is quite important from a</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * visibility of resources standpoint as the</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * hierarchy of Classloaders plays a role.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> *</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * @param resource The resource to load.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> *</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * @return If the Resource was found, the InputStream, otherwise null.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> *</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * @see Resource</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * @see #getResourceAsURL(Object,Resource)</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * @see InputStream</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> InputStream getResourceAsStream(Object object, <a href="../../../../../org/apache/log4j/lf5/util/Resource.html">Resource</a> resource) { +<a name="73" href="#73">73</a> ClassLoader loader = object.getClass().getClassLoader(); +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> InputStream in = <strong class="jxr_keyword">null</strong>; +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">if</strong> (loader != <strong class="jxr_keyword">null</strong>) { +<a name="78" href="#78">78</a> in = loader.getResourceAsStream(resource.getName()); +<a name="79" href="#79">79</a> } <strong class="jxr_keyword">else</strong> { +<a name="80" href="#80">80</a> in = ClassLoader.getSystemResourceAsStream(resource.getName()); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">return</strong> in; +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment">/**</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * Get the URL for this resource.</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> *</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> * @param object The object to grab the Classloader from.</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * This parameter is quite important from a</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * visibility of resources standpoint as the</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * hierarchy of Classloaders plays a role.</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> *</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * @param resource The resource to load.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> *</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * @return If the Resource was found, the URL, otherwise null.</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> *</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> * @see Resource</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> * @see #getResourceAsStream(Object,Resource)</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> */</em> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> URL getResourceAsURL(Object object, <a href="../../../../../org/apache/log4j/lf5/util/Resource.html">Resource</a> resource) { +<a name="102" href="#102">102</a> ClassLoader loader = object.getClass().getClassLoader(); +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> URL url = <strong class="jxr_keyword">null</strong>; +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">if</strong> (loader != <strong class="jxr_keyword">null</strong>) { +<a name="107" href="#107">107</a> url = loader.getResource(resource.getName()); +<a name="108" href="#108">108</a> } <strong class="jxr_keyword">else</strong> { +<a name="109" href="#109">109</a> url = ClassLoader.getSystemResource(resource.getName()); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">return</strong> (url); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="116" href="#116">116</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="117" href="#117">117</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="120" href="#120">120</a> <em class="jxr_comment">// Private Methods:</em> +<a name="121" href="#121">121</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="124" href="#124">124</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="125" href="#125">125</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/StreamUtils.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/StreamUtils.html new file mode 100644 index 00000000000..755d7115c2e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/StreamUtils.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>StreamUtils xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/util/StreamUtils.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayOutputStream; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.OutputStream; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * Provides utility methods for input and output streams.</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Richard Wan</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/util/StreamUtils.html">StreamUtils</a> { +<a name="34" href="#34">34</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">// Constants:</em> +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Default value is 2048.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_BUFFER_SIZE = 2048; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Private Variables:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Constructors:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">// Public Methods:</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * Copies information from the input stream to the output stream using</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * a default buffer size of 2048 bytes.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * @throws java.io.IOException</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> copy(InputStream input, OutputStream output) +<a name="65" href="#65">65</a> <strong class="jxr_keyword">throws</strong> IOException { +<a name="66" href="#66">66</a> copy(input, output, DEFAULT_BUFFER_SIZE); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * Copies information from the input stream to the output stream using</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * the specified buffer size</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * @throws java.io.IOException</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> */</em> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> copy(InputStream input, +<a name="75" href="#75">75</a> OutputStream output, +<a name="76" href="#76">76</a> <strong class="jxr_keyword">int</strong> bufferSize) +<a name="77" href="#77">77</a> <strong class="jxr_keyword">throws</strong> IOException { +<a name="78" href="#78">78</a> byte[] buf = <strong class="jxr_keyword">new</strong> byte[bufferSize]; +<a name="79" href="#79">79</a> <strong class="jxr_keyword">int</strong> bytesRead = input.read(buf); +<a name="80" href="#80">80</a> <strong class="jxr_keyword">while</strong> (bytesRead != -1) { +<a name="81" href="#81">81</a> output.write(buf, 0, bytesRead); +<a name="82" href="#82">82</a> bytesRead = input.read(buf); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> output.flush(); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * Copies information between specified streams and then closes</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> * both of the streams.</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * @throws java.io.IOException</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> */</em> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> copyThenClose(InputStream input, OutputStream output) +<a name="93" href="#93">93</a> <strong class="jxr_keyword">throws</strong> IOException { +<a name="94" href="#94">94</a> copy(input, output); +<a name="95" href="#95">95</a> input.close(); +<a name="96" href="#96">96</a> output.close(); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * @return a byte[] containing the information contained in the</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> * specified InputStream.</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * @throws java.io.IOException</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> */</em> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> byte[] getBytes(InputStream input) +<a name="105" href="#105">105</a> <strong class="jxr_keyword">throws</strong> IOException { +<a name="106" href="#106">106</a> ByteArrayOutputStream result = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream(); +<a name="107" href="#107">107</a> copy(input, result); +<a name="108" href="#108">108</a> result.close(); +<a name="109" href="#109">109</a> <strong class="jxr_keyword">return</strong> result.toByteArray(); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="113" href="#113">113</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="114" href="#114">114</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="117" href="#117">117</a> <em class="jxr_comment">// Private Methods:</em> +<a name="118" href="#118">118</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="121" href="#121">121</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="122" href="#122">122</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/package-frame.html new file mode 100644 index 00000000000..8b8f2ae2fc9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/package-frame.html @@ -0,0 +1,42 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.lf5.util</title> + <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.lf5.util</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="AdapterLogRecord.html" target="classFrame">AdapterLogRecord</a> + </li> + <li> + <a href="DateFormatManager.html" target="classFrame">DateFormatManager</a> + </li> + <li> + <a href="LogFileParser.html" target="classFrame">LogFileParser</a> + </li> + <li> + <a href="LogMonitorAdapter.html" target="classFrame">LogMonitorAdapter</a> + </li> + <li> + <a href="Resource.html" target="classFrame">Resource</a> + </li> + <li> + <a href="ResourceUtils.html" target="classFrame">ResourceUtils</a> + </li> + <li> + <a href="StreamUtils.html" target="classFrame">StreamUtils</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/package-summary.html new file mode 100644 index 00000000000..b56a7189fb6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/util/package-summary.html @@ -0,0 +1,97 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.lf5.util</title> + <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.lf5.util</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="AdapterLogRecord.html" target="classFrame">AdapterLogRecord</a> + </td> + </tr> + <tr> + <td> + <a href="DateFormatManager.html" target="classFrame">DateFormatManager</a> + </td> + </tr> + <tr> + <td> + <a href="LogFileParser.html" target="classFrame">LogFileParser</a> + </td> + </tr> + <tr> + <td> + <a href="LogMonitorAdapter.html" target="classFrame">LogMonitorAdapter</a> + </td> + </tr> + <tr> + <td> + <a href="Resource.html" target="classFrame">Resource</a> + </td> + </tr> + <tr> + <td> + <a href="ResourceUtils.html" target="classFrame">ResourceUtils</a> + </td> + </tr> + <tr> + <td> + <a href="StreamUtils.html" target="classFrame">StreamUtils</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/FilteredLogTableModel.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/FilteredLogTableModel.html new file mode 100644 index 00000000000..10b72ec980c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/FilteredLogTableModel.html @@ -0,0 +1,277 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FilteredLogTableModel xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/FilteredLogTableModel.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecord; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecordFilter; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.PassingLogRecordFilter; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.swing.table.AbstractTableModel; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * A TableModel for LogRecords which includes filtering support.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Richard Wan</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @author Brent Sprecher</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html">FilteredLogTableModel</a> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">extends</strong> AbstractTableModel { +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> <em class="jxr_comment">// Constants:</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a> _filter = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/PassingLogRecordFilter.html">PassingLogRecordFilter</a>(); +<a name="50" href="#50">50</a> <strong class="jxr_keyword">protected</strong> List _allRecords = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="51" href="#51">51</a> <strong class="jxr_keyword">protected</strong> List _filteredRecords; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _maxNumberOfLogRecords = 5000; +<a name="53" href="#53">53</a> <strong class="jxr_keyword">protected</strong> String[] _colNames = {<span class="jxr_string">"Date"</span>, +<a name="54" href="#54">54</a> <span class="jxr_string">"Thread"</span>, +<a name="55" href="#55">55</a> <span class="jxr_string">"Message #"</span>, +<a name="56" href="#56">56</a> <span class="jxr_string">"Level"</span>, +<a name="57" href="#57">57</a> <span class="jxr_string">"NDC"</span>, +<a name="58" href="#58">58</a> <span class="jxr_string">"Category"</span>, +<a name="59" href="#59">59</a> <span class="jxr_string">"Message"</span>, +<a name="60" href="#60">60</a> <span class="jxr_string">"Location"</span>, +<a name="61" href="#61">61</a> <span class="jxr_string">"Thrown"</span>}; +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">// Private Variables:</em> +<a name="65" href="#65">65</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">// Constructors:</em> +<a name="69" href="#69">69</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html">FilteredLogTableModel</a>() { +<a name="72" href="#72">72</a> <strong class="jxr_keyword">super</strong>(); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">// Public Methods:</em> +<a name="77" href="#77">77</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLogRecordFilter(<a href="../../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a> filter) { +<a name="80" href="#80">80</a> _filter = filter; +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a> getLogRecordFilter() { +<a name="84" href="#84">84</a> <strong class="jxr_keyword">return</strong> _filter; +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">public</strong> String getColumnName(<strong class="jxr_keyword">int</strong> i) { +<a name="88" href="#88">88</a> <strong class="jxr_keyword">return</strong> _colNames[i]; +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getColumnCount() { +<a name="92" href="#92">92</a> <strong class="jxr_keyword">return</strong> _colNames.length; +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getRowCount() { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">return</strong> getFilteredRecords().size(); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getTotalRowCount() { +<a name="100" href="#100">100</a> <strong class="jxr_keyword">return</strong> _allRecords.size(); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">public</strong> Object getValueAt(<strong class="jxr_keyword">int</strong> row, <strong class="jxr_keyword">int</strong> col) { +<a name="104" href="#104">104</a> <a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> record = getFilteredRecord(row); +<a name="105" href="#105">105</a> <strong class="jxr_keyword">return</strong> getColumn(col, record); +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMaxNumberOfLogRecords(<strong class="jxr_keyword">int</strong> maxNumRecords) { +<a name="109" href="#109">109</a> <strong class="jxr_keyword">if</strong> (maxNumRecords &gt; 0) { +<a name="110" href="#110">110</a> _maxNumberOfLogRecords = maxNumRecords; +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">boolean</strong> addLogRecord(<a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> record) { +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> _allRecords.add(record); +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">if</strong> (_filter.passes(record) == false) { +<a name="120" href="#120">120</a> <strong class="jxr_keyword">return</strong> false; +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> getFilteredRecords().add(record); +<a name="123" href="#123">123</a> fireTableRowsInserted(getRowCount(), getRowCount()); +<a name="124" href="#124">124</a> trimRecords(); +<a name="125" href="#125">125</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">/**</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> * Forces the LogTableModel to requery its filters to determine</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> * which records to display.</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> */</em> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> refresh() { +<a name="133" href="#133">133</a> _filteredRecords = createFilteredRecordsList(); +<a name="134" href="#134">134</a> fireTableDataChanged(); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> fastRefresh() { +<a name="138" href="#138">138</a> _filteredRecords.remove(0); +<a name="139" href="#139">139</a> fireTableRowsDeleted(0, 0); +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">/**</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> * Clears all records from the LogTableModel</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> */</em> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> clear() { +<a name="147" href="#147">147</a> _allRecords.clear(); +<a name="148" href="#148">148</a> _filteredRecords.clear(); +<a name="149" href="#149">149</a> fireTableDataChanged(); +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="153" href="#153">153</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="154" href="#154">154</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">protected</strong> List getFilteredRecords() { +<a name="157" href="#157">157</a> <strong class="jxr_keyword">if</strong> (_filteredRecords == <strong class="jxr_keyword">null</strong>) { +<a name="158" href="#158">158</a> refresh(); +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> <strong class="jxr_keyword">return</strong> _filteredRecords; +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> <strong class="jxr_keyword">protected</strong> List createFilteredRecordsList() { +<a name="164" href="#164">164</a> List result = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="165" href="#165">165</a> Iterator records = _allRecords.iterator(); +<a name="166" href="#166">166</a> <a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> current; +<a name="167" href="#167">167</a> <strong class="jxr_keyword">while</strong> (records.hasNext()) { +<a name="168" href="#168">168</a> current = (LogRecord) records.next(); +<a name="169" href="#169">169</a> <strong class="jxr_keyword">if</strong> (_filter.passes(current)) { +<a name="170" href="#170">170</a> result.add(current); +<a name="171" href="#171">171</a> } +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> <strong class="jxr_keyword">return</strong> result; +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> getFilteredRecord(<strong class="jxr_keyword">int</strong> row) { +<a name="177" href="#177">177</a> List records = getFilteredRecords(); +<a name="178" href="#178">178</a> <strong class="jxr_keyword">int</strong> size = records.size(); +<a name="179" href="#179">179</a> <strong class="jxr_keyword">if</strong> (row &lt; size) { +<a name="180" href="#180">180</a> <strong class="jxr_keyword">return</strong> (LogRecord) records.get(row); +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> <em class="jxr_comment">// a minor problem has happened. JTable has asked for</em> +<a name="183" href="#183">183</a> <em class="jxr_comment">// a row outside the bounds, because the size of</em> +<a name="184" href="#184">184</a> <em class="jxr_comment">// _filteredRecords has changed while it was looping.</em> +<a name="185" href="#185">185</a> <em class="jxr_comment">// return the last row.</em> +<a name="186" href="#186">186</a> <strong class="jxr_keyword">return</strong> (LogRecord) records.get(size - 1); +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">protected</strong> Object getColumn(<strong class="jxr_keyword">int</strong> col, <a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> lr) { +<a name="191" href="#191">191</a> <strong class="jxr_keyword">if</strong> (lr == <strong class="jxr_keyword">null</strong>) { +<a name="192" href="#192">192</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"NULL Column"</span>; +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> String date = <strong class="jxr_keyword">new</strong> Date(lr.getMillis()).toString(); +<a name="195" href="#195">195</a> <strong class="jxr_keyword">switch</strong> (col) { +<a name="196" href="#196">196</a> <strong class="jxr_keyword">case</strong> 0: +<a name="197" href="#197">197</a> <strong class="jxr_keyword">return</strong> date + <span class="jxr_string">" ("</span> + lr.getMillis() + <span class="jxr_string">")"</span>; +<a name="198" href="#198">198</a> <strong class="jxr_keyword">case</strong> 1: +<a name="199" href="#199">199</a> <strong class="jxr_keyword">return</strong> lr.getThreadDescription(); +<a name="200" href="#200">200</a> <strong class="jxr_keyword">case</strong> 2: +<a name="201" href="#201">201</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Long(lr.getSequenceNumber()); +<a name="202" href="#202">202</a> <strong class="jxr_keyword">case</strong> 3: +<a name="203" href="#203">203</a> <strong class="jxr_keyword">return</strong> lr.getLevel(); +<a name="204" href="#204">204</a> <strong class="jxr_keyword">case</strong> 4: +<a name="205" href="#205">205</a> <strong class="jxr_keyword">return</strong> lr.getNDC(); +<a name="206" href="#206">206</a> <strong class="jxr_keyword">case</strong> 5: +<a name="207" href="#207">207</a> <strong class="jxr_keyword">return</strong> lr.getCategory(); +<a name="208" href="#208">208</a> <strong class="jxr_keyword">case</strong> 6: +<a name="209" href="#209">209</a> <strong class="jxr_keyword">return</strong> lr.getMessage(); +<a name="210" href="#210">210</a> <strong class="jxr_keyword">case</strong> 7: +<a name="211" href="#211">211</a> <strong class="jxr_keyword">return</strong> lr.getLocation(); +<a name="212" href="#212">212</a> <strong class="jxr_keyword">case</strong> 8: +<a name="213" href="#213">213</a> <strong class="jxr_keyword">return</strong> lr.getThrownStackTrace(); +<a name="214" href="#214">214</a> <strong class="jxr_keyword">default</strong>: +<a name="215" href="#215">215</a> String message = <span class="jxr_string">"The column number "</span> + col + <span class="jxr_string">"must be between 0 and 8"</span>; +<a name="216" href="#216">216</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(message); +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> } +<a name="219" href="#219">219</a> +<a name="220" href="#220">220</a> <em class="jxr_comment">// We don't want the amount of rows to grow without bound,</em> +<a name="221" href="#221">221</a> <em class="jxr_comment">// leading to a out-of-memory-exception. Especially not good</em> +<a name="222" href="#222">222</a> <em class="jxr_comment">// in a production environment :)</em> +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> <em class="jxr_comment">// This method &amp; clearLogRecords() are synchronized so we don't</em> +<a name="225" href="#225">225</a> <em class="jxr_comment">// delete rows that don't exist.</em> +<a name="226" href="#226">226</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> trimRecords() { +<a name="227" href="#227">227</a> <strong class="jxr_keyword">if</strong> (needsTrimming()) { +<a name="228" href="#228">228</a> trimOldestRecords(); +<a name="229" href="#229">229</a> } +<a name="230" href="#230">230</a> } +<a name="231" href="#231">231</a> +<a name="232" href="#232">232</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> needsTrimming() { +<a name="233" href="#233">233</a> <strong class="jxr_keyword">return</strong> (_allRecords.size() &gt; _maxNumberOfLogRecords); +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> trimOldestRecords() { +<a name="237" href="#237">237</a> <strong class="jxr_keyword">synchronized</strong> (_allRecords) { +<a name="238" href="#238">238</a> <strong class="jxr_keyword">int</strong> trim = numberOfRecordsToTrim(); +<a name="239" href="#239">239</a> <strong class="jxr_keyword">if</strong> (trim &gt; 1) { +<a name="240" href="#240">240</a> List oldRecords = +<a name="241" href="#241">241</a> _allRecords.subList(0, trim); +<a name="242" href="#242">242</a> oldRecords.clear(); +<a name="243" href="#243">243</a> refresh(); +<a name="244" href="#244">244</a> } <strong class="jxr_keyword">else</strong> { +<a name="245" href="#245">245</a> _allRecords.remove(0); +<a name="246" href="#246">246</a> fastRefresh(); +<a name="247" href="#247">247</a> } +<a name="248" href="#248">248</a> } +<a name="249" href="#249">249</a> +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="253" href="#253">253</a> <em class="jxr_comment">// Private Methods:</em> +<a name="254" href="#254">254</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="255" href="#255">255</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> numberOfRecordsToTrim() { +<a name="256" href="#256">256</a> <strong class="jxr_keyword">return</strong> _allRecords.size() - _maxNumberOfLogRecords; +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="260" href="#260">260</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="261" href="#261">261</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LF5SwingUtils.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LF5SwingUtils.html new file mode 100644 index 00000000000..dcf3e216917 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LF5SwingUtils.html @@ -0,0 +1,167 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LF5SwingUtils xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LF5SwingUtils.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Adjustable; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> javax.swing.JComponent; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> javax.swing.JScrollPane; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.swing.JTable; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.swing.ListSelectionModel; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.swing.SwingUtilities; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.swing.table.TableModel; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * Provides methods to accomplish common yet non-trivial tasks</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * with Swing. Obvious implementations of these methods have been</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * tried and failed.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Richard Wan</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> LF5SwingUtils { +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Constants:</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Private Variables:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Constructors:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">// Public Methods:</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * Selects a the specified row in the specified JTable and scrolls</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * the specified JScrollpane to the newly selected row. More importantly,</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * the call to repaint() delayed long enough to have the table</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * properly paint the newly selected row which may be offscre</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * @param table should belong to the specified JScrollPane</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> */</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> selectRow(<strong class="jxr_keyword">int</strong> row, JTable table, JScrollPane pane) { +<a name="67" href="#67">67</a> <strong class="jxr_keyword">if</strong> (table == <strong class="jxr_keyword">null</strong> || pane == <strong class="jxr_keyword">null</strong>) { +<a name="68" href="#68">68</a> <strong class="jxr_keyword">return</strong>; +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> <strong class="jxr_keyword">if</strong> (contains(row, table.getModel()) == false) { +<a name="71" href="#71">71</a> <strong class="jxr_keyword">return</strong>; +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> moveAdjustable(row * table.getRowHeight(), pane.getVerticalScrollBar()); +<a name="74" href="#74">74</a> selectRow(row, table.getSelectionModel()); +<a name="75" href="#75">75</a> <em class="jxr_comment">// repaint must be done later because moveAdjustable</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">// posts requests to the swing thread which must execute before</em> +<a name="77" href="#77">77</a> <em class="jxr_comment">// the repaint logic gets executed.</em> +<a name="78" href="#78">78</a> repaintLater(table); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment">/**</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * Makes the specified Adjustable track if the view area expands and</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * the specified Adjustable is located near the of the view.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> makeScrollBarTrack(Adjustable scrollBar) { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">if</strong> (scrollBar == <strong class="jxr_keyword">null</strong>) { +<a name="87" href="#87">87</a> <strong class="jxr_keyword">return</strong>; +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> scrollBar.addAdjustmentListener(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html">TrackingAdjustmentListener</a>()); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * Makes the vertical scroll bar of the specified JScrollPane</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * track if the view expands (e.g. if rows are added to an underlying</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * table).</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> */</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> makeVerticalScrollBarTrack(JScrollPane pane) { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">if</strong> (pane == <strong class="jxr_keyword">null</strong>) { +<a name="99" href="#99">99</a> <strong class="jxr_keyword">return</strong>; +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> makeScrollBarTrack(pane.getVerticalScrollBar()); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="105" href="#105">105</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="106" href="#106">106</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> contains(<strong class="jxr_keyword">int</strong> row, TableModel model) { +<a name="108" href="#108">108</a> <strong class="jxr_keyword">if</strong> (model == <strong class="jxr_keyword">null</strong>) { +<a name="109" href="#109">109</a> <strong class="jxr_keyword">return</strong> false; +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> <strong class="jxr_keyword">if</strong> (row &lt; 0) { +<a name="112" href="#112">112</a> <strong class="jxr_keyword">return</strong> false; +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> <strong class="jxr_keyword">if</strong> (row &gt;= model.getRowCount()) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">return</strong> false; +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> selectRow(<strong class="jxr_keyword">int</strong> row, ListSelectionModel model) { +<a name="121" href="#121">121</a> <strong class="jxr_keyword">if</strong> (model == <strong class="jxr_keyword">null</strong>) { +<a name="122" href="#122">122</a> <strong class="jxr_keyword">return</strong>; +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> model.setSelectionInterval(row, row); +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> moveAdjustable(<strong class="jxr_keyword">int</strong> location, Adjustable scrollBar) { +<a name="128" href="#128">128</a> <strong class="jxr_keyword">if</strong> (scrollBar == <strong class="jxr_keyword">null</strong>) { +<a name="129" href="#129">129</a> <strong class="jxr_keyword">return</strong>; +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> scrollBar.setValue(location); +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">/**</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> * Work around for JTable/viewport bug.</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> * @link <a href="http://developer.java.sun.com/developer/bugParade/bugs/4205145.html" target="alexandria_uri">http://developer.java.sun.com/developer/bugParade/bugs/4205145.html</a></em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> */</em> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> repaintLater(<strong class="jxr_keyword">final</strong> JComponent component) { +<a name="139" href="#139">139</a> SwingUtilities.invokeLater(<strong class="jxr_keyword">new</strong> Runnable() { +<a name="140" href="#140">140</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="141" href="#141">141</a> component.repaint(); +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> }); +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="146" href="#146">146</a> <em class="jxr_comment">// Private Methods:</em> +<a name="147" href="#147">147</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="150" href="#150">150</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="151" href="#151">151</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogBrokerMonitor.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogBrokerMonitor.html new file mode 100644 index 00000000000..abb9c6fe600 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogBrokerMonitor.html @@ -0,0 +1,1626 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogBrokerMonitor xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.BorderLayout; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.Color; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.Component; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.awt.Dimension; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.awt.FlowLayout; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.awt.Font; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.awt.GraphicsEnvironment; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.awt.Toolkit; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionListener; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.awt.event.WindowAdapter; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> java.awt.event.WindowEvent; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> java.net.MalformedURLException; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> java.util.HashMap; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> java.util.StringTokenizer; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">import</strong> javax.swing.BorderFactory; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">import</strong> javax.swing.ImageIcon; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">import</strong> javax.swing.JButton; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">import</strong> javax.swing.JCheckBoxMenuItem; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">import</strong> javax.swing.JColorChooser; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">import</strong> javax.swing.JComboBox; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">import</strong> javax.swing.JFileChooser; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">import</strong> javax.swing.JFrame; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">import</strong> javax.swing.JLabel; +<a name="53" href="#53">53</a> <strong class="jxr_keyword">import</strong> javax.swing.JMenu; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">import</strong> javax.swing.JMenuBar; +<a name="55" href="#55">55</a> <strong class="jxr_keyword">import</strong> javax.swing.JMenuItem; +<a name="56" href="#56">56</a> <strong class="jxr_keyword">import</strong> javax.swing.JOptionPane; +<a name="57" href="#57">57</a> <strong class="jxr_keyword">import</strong> javax.swing.JPanel; +<a name="58" href="#58">58</a> <strong class="jxr_keyword">import</strong> javax.swing.JScrollPane; +<a name="59" href="#59">59</a> <strong class="jxr_keyword">import</strong> javax.swing.JSplitPane; +<a name="60" href="#60">60</a> <strong class="jxr_keyword">import</strong> javax.swing.JTextArea; +<a name="61" href="#61">61</a> <strong class="jxr_keyword">import</strong> javax.swing.JToolBar; +<a name="62" href="#62">62</a> <strong class="jxr_keyword">import</strong> javax.swing.KeyStroke; +<a name="63" href="#63">63</a> <strong class="jxr_keyword">import</strong> javax.swing.SwingUtilities; +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogLevel; +<a name="66" href="#66">66</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecord; +<a name="67" href="#67">67</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecordFilter; +<a name="68" href="#68">68</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.util.DateFormatManager; +<a name="69" href="#69">69</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.util.LogFileParser; +<a name="70" href="#70">70</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree; +<a name="71" href="#71">71</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath; +<a name="72" href="#72">72</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.configure.ConfigurationManager; +<a name="73" href="#73">73</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.configure.MRUFileManager; +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">/**</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * LogBrokerMonitor</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> *.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * @author Richard Wan</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * @author Brent Sprecher</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> { +<a name="89" href="#89">89</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="90" href="#90">90</a> <em class="jxr_comment">// Constants:</em> +<a name="91" href="#91">91</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DETAILED_VIEW = <span class="jxr_string">"Detailed"</span>; +<a name="94" href="#94">94</a> <em class="jxr_comment">// public static final String STANDARD_VIEW = "Standard";</em> +<a name="95" href="#95">95</a> <em class="jxr_comment">// public static final String COMPACT_VIEW = "Compact";</em> +<a name="96" href="#96">96</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="97" href="#97">97</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="98" href="#98">98</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">protected</strong> JFrame _logMonitorFrame; +<a name="100" href="#100">100</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _logMonitorFrameWidth = 550; +<a name="101" href="#101">101</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _logMonitorFrameHeight = 500; +<a name="102" href="#102">102</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTable.html">LogTable</a> _table; +<a name="103" href="#103">103</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html">CategoryExplorerTree</a> _categoryExplorerTree; +<a name="104" href="#104">104</a> <strong class="jxr_keyword">protected</strong> String _searchText; +<a name="105" href="#105">105</a> <strong class="jxr_keyword">protected</strong> String _NDCTextFilter = <span class="jxr_string">""</span>; +<a name="106" href="#106">106</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> _leastSevereDisplayedLogLevel = LogLevel.DEBUG; +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">protected</strong> JScrollPane _logTableScrollPane; +<a name="109" href="#109">109</a> <strong class="jxr_keyword">protected</strong> JLabel _statusLabel; +<a name="110" href="#110">110</a> <strong class="jxr_keyword">protected</strong> Object _lock = <strong class="jxr_keyword">new</strong> Object(); +<a name="111" href="#111">111</a> <strong class="jxr_keyword">protected</strong> JComboBox _fontSizeCombo; +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _fontSize = 10; +<a name="114" href="#114">114</a> <strong class="jxr_keyword">protected</strong> String _fontName = <span class="jxr_string">"Dialog"</span>; +<a name="115" href="#115">115</a> <strong class="jxr_keyword">protected</strong> String _currentView = DETAILED_VIEW; +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _loadSystemFonts = false; +<a name="118" href="#118">118</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _trackTableScrollPane = <strong class="jxr_keyword">true</strong>; +<a name="119" href="#119">119</a> <strong class="jxr_keyword">protected</strong> Dimension _lastTableViewportSize; +<a name="120" href="#120">120</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _callSystemExitOnClose = false; +<a name="121" href="#121">121</a> <strong class="jxr_keyword">protected</strong> List _displayedLogBrokerProperties = <strong class="jxr_keyword">new</strong> Vector(); +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">protected</strong> Map _logLevelMenuItems = <strong class="jxr_keyword">new</strong> HashMap(); +<a name="124" href="#124">124</a> <strong class="jxr_keyword">protected</strong> Map _logTableColumnMenuItems = <strong class="jxr_keyword">new</strong> HashMap(); +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">protected</strong> List _levels = <strong class="jxr_keyword">null</strong>; +<a name="127" href="#127">127</a> <strong class="jxr_keyword">protected</strong> List _columns = <strong class="jxr_keyword">null</strong>; +<a name="128" href="#128">128</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _isDisposed = false; +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html">ConfigurationManager</a> _configurationManager = <strong class="jxr_keyword">null</strong>; +<a name="131" href="#131">131</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html">MRUFileManager</a> _mruFileManager = <strong class="jxr_keyword">null</strong>; +<a name="132" href="#132">132</a> <strong class="jxr_keyword">protected</strong> File _fileLocation = <strong class="jxr_keyword">null</strong>; +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="135" href="#135">135</a> <em class="jxr_comment">// Private Variables:</em> +<a name="136" href="#136">136</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="139" href="#139">139</a> <em class="jxr_comment">// Constructors:</em> +<a name="140" href="#140">140</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">/**</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> * Construct a LogBrokerMonitor.</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> */</em> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a>(List logLevels) { +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> _levels = logLevels; +<a name="148" href="#148">148</a> _columns = LogTableColumn.getLogTableColumns(); +<a name="149" href="#149">149</a> <em class="jxr_comment">// This allows us to use the LogBroker in command line tools and</em> +<a name="150" href="#150">150</a> <em class="jxr_comment">// have the option for it to shutdown.</em> +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> String callSystemExitOnClose = +<a name="153" href="#153">153</a> System.getProperty(<span class="jxr_string">"monitor.exit"</span>); +<a name="154" href="#154">154</a> <strong class="jxr_keyword">if</strong> (callSystemExitOnClose == <strong class="jxr_keyword">null</strong>) { +<a name="155" href="#155">155</a> callSystemExitOnClose = <span class="jxr_string">"false"</span>; +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> callSystemExitOnClose = callSystemExitOnClose.trim().toLowerCase(); +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <strong class="jxr_keyword">if</strong> (callSystemExitOnClose.equals(<span class="jxr_string">"true"</span>)) { +<a name="160" href="#160">160</a> _callSystemExitOnClose = <strong class="jxr_keyword">true</strong>; +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> initComponents(); +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> _logMonitorFrame.addWindowListener( +<a name="167" href="#167">167</a> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitorWindowAdaptor</a>(<strong class="jxr_keyword">this</strong>)); +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="172" href="#172">172</a> <em class="jxr_comment">// Public Methods:</em> +<a name="173" href="#173">173</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">/**</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> * Show the frame for the LogBrokerMonitor. Dispatched to the</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> * swing thread.</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> */</em> +<a name="179" href="#179">179</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> show(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> delay) { +<a name="180" href="#180">180</a> <strong class="jxr_keyword">if</strong> (_logMonitorFrame.isVisible()) { +<a name="181" href="#181">181</a> <strong class="jxr_keyword">return</strong>; +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> <em class="jxr_comment">// This request is very low priority, let other threads execute first.</em> +<a name="184" href="#184">184</a> SwingUtilities.invokeLater(<strong class="jxr_keyword">new</strong> Runnable() { +<a name="185" href="#185">185</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="186" href="#186">186</a> Thread.yield(); +<a name="187" href="#187">187</a> pause(delay); +<a name="188" href="#188">188</a> _logMonitorFrame.setVisible(<strong class="jxr_keyword">true</strong>); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> }); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> show() { +<a name="194" href="#194">194</a> show(0); +<a name="195" href="#195">195</a> } +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">/**</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> * Dispose of the frame for the LogBrokerMonitor.</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> */</em> +<a name="200" href="#200">200</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> dispose() { +<a name="201" href="#201">201</a> _logMonitorFrame.dispose(); +<a name="202" href="#202">202</a> _isDisposed = <strong class="jxr_keyword">true</strong>; +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">if</strong> (_callSystemExitOnClose == <strong class="jxr_keyword">true</strong>) { +<a name="205" href="#205">205</a> System.exit(0); +<a name="206" href="#206">206</a> } +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">/**</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> * Hide the frame for the LogBrokerMonitor.</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> */</em> +<a name="212" href="#212">212</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> hide() { +<a name="213" href="#213">213</a> _logMonitorFrame.setVisible(false); +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">/**</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> * Get the DateFormatManager for formatting dates.</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> */</em> +<a name="219" href="#219">219</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a> getDateFormatManager() { +<a name="220" href="#220">220</a> <strong class="jxr_keyword">return</strong> _table.getDateFormatManager(); +<a name="221" href="#221">221</a> } +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">/**</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> * Set the date format manager for formatting dates.</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> */</em> +<a name="226" href="#226">226</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDateFormatManager(<a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a> dfm) { +<a name="227" href="#227">227</a> _table.setDateFormatManager(dfm); +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">/**</em> +<a name="231" href="#231">231</a> <em class="jxr_javadoccomment"> * Get the value of whether or not System.exit() will be called</em> +<a name="232" href="#232">232</a> <em class="jxr_javadoccomment"> * when the LogBrokerMonitor is closed.</em> +<a name="233" href="#233">233</a> <em class="jxr_javadoccomment"> */</em> +<a name="234" href="#234">234</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getCallSystemExitOnClose() { +<a name="235" href="#235">235</a> <strong class="jxr_keyword">return</strong> _callSystemExitOnClose; +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment">/**</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> * Set the value of whether or not System.exit() will be called</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> * when the LogBrokerMonitor is closed.</em> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment"> */</em> +<a name="242" href="#242">242</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCallSystemExitOnClose(<strong class="jxr_keyword">boolean</strong> callSystemExitOnClose) { +<a name="243" href="#243">243</a> _callSystemExitOnClose = callSystemExitOnClose; +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment">/**</em> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment"> * Add a log record message to be displayed in the LogTable.</em> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment"> * This method is thread-safe as it posts requests to the SwingThread</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> * rather than processing directly.</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> */</em> +<a name="251" href="#251">251</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addMessage(<strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> lr) { +<a name="252" href="#252">252</a> <strong class="jxr_keyword">if</strong> (_isDisposed == <strong class="jxr_keyword">true</strong>) { +<a name="253" href="#253">253</a> <em class="jxr_comment">// If the frame has been disposed of, do not log any more</em> +<a name="254" href="#254">254</a> <em class="jxr_comment">// messages.</em> +<a name="255" href="#255">255</a> <strong class="jxr_keyword">return</strong>; +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> +<a name="258" href="#258">258</a> SwingUtilities.invokeLater(<strong class="jxr_keyword">new</strong> Runnable() { +<a name="259" href="#259">259</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="260" href="#260">260</a> _categoryExplorerTree.getExplorerModel().addLogRecord(lr); +<a name="261" href="#261">261</a> _table.getFilteredLogTableModel().addLogRecord(lr); <em class="jxr_comment">// update table</em> +<a name="262" href="#262">262</a> updateStatusLabel(); <em class="jxr_comment">// show updated counts</em> +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> }); +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMaxNumberOfLogRecords(<strong class="jxr_keyword">int</strong> maxNumberOfLogRecords) { +<a name="268" href="#268">268</a> _table.getFilteredLogTableModel().setMaxNumberOfLogRecords(maxNumberOfLogRecords); +<a name="269" href="#269">269</a> } +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> <strong class="jxr_keyword">public</strong> JFrame getBaseFrame() { +<a name="272" href="#272">272</a> <strong class="jxr_keyword">return</strong> _logMonitorFrame; +<a name="273" href="#273">273</a> } +<a name="274" href="#274">274</a> +<a name="275" href="#275">275</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTitle(String title) { +<a name="276" href="#276">276</a> _logMonitorFrame.setTitle(title + <span class="jxr_string">" - LogFactor5"</span>); +<a name="277" href="#277">277</a> } +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFrameSize(<strong class="jxr_keyword">int</strong> width, <strong class="jxr_keyword">int</strong> height) { +<a name="280" href="#280">280</a> Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); +<a name="281" href="#281">281</a> <strong class="jxr_keyword">if</strong> (0 &lt; width &amp;&amp; width &lt; screen.width) { +<a name="282" href="#282">282</a> _logMonitorFrameWidth = width; +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> <strong class="jxr_keyword">if</strong> (0 &lt; height &amp;&amp; height &lt; screen.height) { +<a name="285" href="#285">285</a> _logMonitorFrameHeight = height; +<a name="286" href="#286">286</a> } +<a name="287" href="#287">287</a> updateFrameSize(); +<a name="288" href="#288">288</a> } +<a name="289" href="#289">289</a> +<a name="290" href="#290">290</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFontSize(<strong class="jxr_keyword">int</strong> fontSize) { +<a name="291" href="#291">291</a> changeFontSizeCombo(_fontSizeCombo, fontSize); +<a name="292" href="#292">292</a> <em class="jxr_comment">// setFontSizeSilently(actualFontSize); - changeFontSizeCombo fires event</em> +<a name="293" href="#293">293</a> <em class="jxr_comment">// refreshDetailTextArea();</em> +<a name="294" href="#294">294</a> } +<a name="295" href="#295">295</a> +<a name="296" href="#296">296</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addDisplayedProperty(Object messageLine) { +<a name="297" href="#297">297</a> _displayedLogBrokerProperties.add(messageLine); +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> <strong class="jxr_keyword">public</strong> Map getLogLevelMenuItems() { +<a name="301" href="#301">301</a> <strong class="jxr_keyword">return</strong> _logLevelMenuItems; +<a name="302" href="#302">302</a> } +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <strong class="jxr_keyword">public</strong> Map getLogTableColumnMenuItems() { +<a name="305" href="#305">305</a> <strong class="jxr_keyword">return</strong> _logTableColumnMenuItems; +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <strong class="jxr_keyword">public</strong> JCheckBoxMenuItem getTableColumnMenuItem(<a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> column) { +<a name="309" href="#309">309</a> <strong class="jxr_keyword">return</strong> getLogTableColumnMenuItem(column); +<a name="310" href="#310">310</a> } +<a name="311" href="#311">311</a> +<a name="312" href="#312">312</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html">CategoryExplorerTree</a> getCategoryExplorerTree() { +<a name="313" href="#313">313</a> <strong class="jxr_keyword">return</strong> _categoryExplorerTree; +<a name="314" href="#314">314</a> } +<a name="315" href="#315">315</a> +<a name="316" href="#316">316</a> <em class="jxr_comment">// Added in version 1.2 - gets the value of the NDC text filter</em> +<a name="317" href="#317">317</a> <em class="jxr_comment">// This value is set back to null each time the Monitor is initialized.</em> +<a name="318" href="#318">318</a> <strong class="jxr_keyword">public</strong> String getNDCTextFilter() { +<a name="319" href="#319">319</a> <strong class="jxr_keyword">return</strong> _NDCTextFilter; +<a name="320" href="#320">320</a> } +<a name="321" href="#321">321</a> +<a name="322" href="#322">322</a> <em class="jxr_comment">// Added in version 1.2 - sets the NDC Filter based on</em> +<a name="323" href="#323">323</a> <em class="jxr_comment">// a String passed in by the user. This value is persisted</em> +<a name="324" href="#324">324</a> <em class="jxr_comment">// in the XML Configuration file.</em> +<a name="325" href="#325">325</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setNDCLogRecordFilter(String textFilter) { +<a name="326" href="#326">326</a> _table.getFilteredLogTableModel(). +<a name="327" href="#327">327</a> setLogRecordFilter(createNDCLogRecordFilter(textFilter)); +<a name="328" href="#328">328</a> } +<a name="329" href="#329">329</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="330" href="#330">330</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="331" href="#331">331</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="332" href="#332">332</a> +<a name="333" href="#333">333</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setSearchText(String text) { +<a name="334" href="#334">334</a> _searchText = text; +<a name="335" href="#335">335</a> } +<a name="336" href="#336">336</a> +<a name="337" href="#337">337</a> <em class="jxr_comment">// Added in version 1.2 - Sets the text filter for the NDC</em> +<a name="338" href="#338">338</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setNDCTextFilter(String text) { +<a name="339" href="#339">339</a> <em class="jxr_comment">// if no value is set, set it to a blank string</em> +<a name="340" href="#340">340</a> <em class="jxr_comment">// otherwise use the value provided</em> +<a name="341" href="#341">341</a> <strong class="jxr_keyword">if</strong> (text == <strong class="jxr_keyword">null</strong>) { +<a name="342" href="#342">342</a> _NDCTextFilter = <span class="jxr_string">""</span>; +<a name="343" href="#343">343</a> } <strong class="jxr_keyword">else</strong> { +<a name="344" href="#344">344</a> _NDCTextFilter = text; +<a name="345" href="#345">345</a> } +<a name="346" href="#346">346</a> } +<a name="347" href="#347">347</a> +<a name="348" href="#348">348</a> <em class="jxr_comment">// Added in version 1.2 - Uses a different filter that sorts</em> +<a name="349" href="#349">349</a> <em class="jxr_comment">// based on an NDC string passed in by the user. If the string</em> +<a name="350" href="#350">350</a> <em class="jxr_comment">// is null or is an empty string, we do nothing.</em> +<a name="351" href="#351">351</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> sortByNDC() { +<a name="352" href="#352">352</a> String text = _NDCTextFilter; +<a name="353" href="#353">353</a> <strong class="jxr_keyword">if</strong> (text == <strong class="jxr_keyword">null</strong> || text.length() == 0) { +<a name="354" href="#354">354</a> <strong class="jxr_keyword">return</strong>; +<a name="355" href="#355">355</a> } +<a name="356" href="#356">356</a> +<a name="357" href="#357">357</a> <em class="jxr_comment">// Use new NDC filter</em> +<a name="358" href="#358">358</a> _table.getFilteredLogTableModel(). +<a name="359" href="#359">359</a> setLogRecordFilter(createNDCLogRecordFilter(text)); +<a name="360" href="#360">360</a> } +<a name="361" href="#361">361</a> +<a name="362" href="#362">362</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> findSearchText() { +<a name="363" href="#363">363</a> String text = _searchText; +<a name="364" href="#364">364</a> <strong class="jxr_keyword">if</strong> (text == <strong class="jxr_keyword">null</strong> || text.length() == 0) { +<a name="365" href="#365">365</a> <strong class="jxr_keyword">return</strong>; +<a name="366" href="#366">366</a> } +<a name="367" href="#367">367</a> <strong class="jxr_keyword">int</strong> startRow = getFirstSelectedRow(); +<a name="368" href="#368">368</a> <strong class="jxr_keyword">int</strong> foundRow = findRecord( +<a name="369" href="#369">369</a> startRow, +<a name="370" href="#370">370</a> text, +<a name="371" href="#371">371</a> _table.getFilteredLogTableModel().getFilteredRecords() +<a name="372" href="#372">372</a> ); +<a name="373" href="#373">373</a> selectRow(foundRow); +<a name="374" href="#374">374</a> } +<a name="375" href="#375">375</a> +<a name="376" href="#376">376</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> getFirstSelectedRow() { +<a name="377" href="#377">377</a> <strong class="jxr_keyword">return</strong> _table.getSelectionModel().getMinSelectionIndex(); +<a name="378" href="#378">378</a> } +<a name="379" href="#379">379</a> +<a name="380" href="#380">380</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> selectRow(<strong class="jxr_keyword">int</strong> foundRow) { +<a name="381" href="#381">381</a> <strong class="jxr_keyword">if</strong> (foundRow == -1) { +<a name="382" href="#382">382</a> String message = _searchText + <span class="jxr_string">" not found."</span>; +<a name="383" href="#383">383</a> JOptionPane.showMessageDialog( +<a name="384" href="#384">384</a> _logMonitorFrame, +<a name="385" href="#385">385</a> message, +<a name="386" href="#386">386</a> <span class="jxr_string">"Text not found"</span>, +<a name="387" href="#387">387</a> JOptionPane.INFORMATION_MESSAGE +<a name="388" href="#388">388</a> ); +<a name="389" href="#389">389</a> <strong class="jxr_keyword">return</strong>; +<a name="390" href="#390">390</a> } +<a name="391" href="#391">391</a> LF5SwingUtils.selectRow(foundRow, _table, _logTableScrollPane); +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> findRecord( +<a name="395" href="#395">395</a> <strong class="jxr_keyword">int</strong> startRow, +<a name="396" href="#396">396</a> String searchText, +<a name="397" href="#397">397</a> List records +<a name="398" href="#398">398</a> ) { +<a name="399" href="#399">399</a> <strong class="jxr_keyword">if</strong> (startRow &lt; 0) { +<a name="400" href="#400">400</a> startRow = 0; <em class="jxr_comment">// start at first element if no rows are selected</em> +<a name="401" href="#401">401</a> } <strong class="jxr_keyword">else</strong> { +<a name="402" href="#402">402</a> startRow++; <em class="jxr_comment">// start after the first selected row</em> +<a name="403" href="#403">403</a> } +<a name="404" href="#404">404</a> <strong class="jxr_keyword">int</strong> len = records.size(); +<a name="405" href="#405">405</a> +<a name="406" href="#406">406</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = startRow; i &lt; len; i++) { +<a name="407" href="#407">407</a> <strong class="jxr_keyword">if</strong> (matches((LogRecord) records.get(i), searchText)) { +<a name="408" href="#408">408</a> <strong class="jxr_keyword">return</strong> i; <em class="jxr_comment">// found a record</em> +<a name="409" href="#409">409</a> } +<a name="410" href="#410">410</a> } +<a name="411" href="#411">411</a> <em class="jxr_comment">// wrap around to beginning if when we reach the end with no match</em> +<a name="412" href="#412">412</a> len = startRow; +<a name="413" href="#413">413</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; len; i++) { +<a name="414" href="#414">414</a> <strong class="jxr_keyword">if</strong> (matches((LogRecord) records.get(i), searchText)) { +<a name="415" href="#415">415</a> <strong class="jxr_keyword">return</strong> i; <em class="jxr_comment">// found a record</em> +<a name="416" href="#416">416</a> } +<a name="417" href="#417">417</a> } +<a name="418" href="#418">418</a> <em class="jxr_comment">// nothing found</em> +<a name="419" href="#419">419</a> <strong class="jxr_keyword">return</strong> -1; +<a name="420" href="#420">420</a> } +<a name="421" href="#421">421</a> +<a name="422" href="#422">422</a> <em class="jxr_javadoccomment">/**</em> +<a name="423" href="#423">423</a> <em class="jxr_javadoccomment"> * Check to see if the any records contain the search string.</em> +<a name="424" href="#424">424</a> <em class="jxr_javadoccomment"> * Searching now supports NDC messages and date.</em> +<a name="425" href="#425">425</a> <em class="jxr_javadoccomment"> */</em> +<a name="426" href="#426">426</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> matches(<a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> record, String text) { +<a name="427" href="#427">427</a> String message = record.getMessage(); +<a name="428" href="#428">428</a> String NDC = record.getNDC(); +<a name="429" href="#429">429</a> +<a name="430" href="#430">430</a> <strong class="jxr_keyword">if</strong> (message == <strong class="jxr_keyword">null</strong> &amp;&amp; NDC == <strong class="jxr_keyword">null</strong> || text == <strong class="jxr_keyword">null</strong>) { +<a name="431" href="#431">431</a> <strong class="jxr_keyword">return</strong> false; +<a name="432" href="#432">432</a> } +<a name="433" href="#433">433</a> <strong class="jxr_keyword">if</strong> (message.toLowerCase().indexOf(text.toLowerCase()) == -1 &amp;&amp; +<a name="434" href="#434">434</a> NDC.toLowerCase().indexOf(text.toLowerCase()) == -1) { +<a name="435" href="#435">435</a> <strong class="jxr_keyword">return</strong> false; +<a name="436" href="#436">436</a> } +<a name="437" href="#437">437</a> +<a name="438" href="#438">438</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="439" href="#439">439</a> } +<a name="440" href="#440">440</a> +<a name="441" href="#441">441</a> <em class="jxr_javadoccomment">/**</em> +<a name="442" href="#442">442</a> <em class="jxr_javadoccomment"> * When the fontsize of a JTextArea is changed, the word-wrapped lines</em> +<a name="443" href="#443">443</a> <em class="jxr_javadoccomment"> * may become garbled. This method clears and resets the text of the</em> +<a name="444" href="#444">444</a> <em class="jxr_javadoccomment"> * text area.</em> +<a name="445" href="#445">445</a> <em class="jxr_javadoccomment"> */</em> +<a name="446" href="#446">446</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> refresh(JTextArea textArea) { +<a name="447" href="#447">447</a> String text = textArea.getText(); +<a name="448" href="#448">448</a> textArea.setText(<span class="jxr_string">""</span>); +<a name="449" href="#449">449</a> textArea.setText(text); +<a name="450" href="#450">450</a> } +<a name="451" href="#451">451</a> +<a name="452" href="#452">452</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> refreshDetailTextArea() { +<a name="453" href="#453">453</a> refresh(_table._detailTextArea); +<a name="454" href="#454">454</a> } +<a name="455" href="#455">455</a> +<a name="456" href="#456">456</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> clearDetailTextArea() { +<a name="457" href="#457">457</a> _table._detailTextArea.setText(<span class="jxr_string">""</span>); +<a name="458" href="#458">458</a> } +<a name="459" href="#459">459</a> +<a name="460" href="#460">460</a> <em class="jxr_javadoccomment">/**</em> +<a name="461" href="#461">461</a> <em class="jxr_javadoccomment"> * Changes the font selection in the combo box and returns the</em> +<a name="462" href="#462">462</a> <em class="jxr_javadoccomment"> * size actually selected.</em> +<a name="463" href="#463">463</a> <em class="jxr_javadoccomment"> * @return -1 if unable to select an appropriate font</em> +<a name="464" href="#464">464</a> <em class="jxr_javadoccomment"> */</em> +<a name="465" href="#465">465</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> changeFontSizeCombo(JComboBox box, <strong class="jxr_keyword">int</strong> requestedSize) { +<a name="466" href="#466">466</a> <strong class="jxr_keyword">int</strong> len = box.getItemCount(); +<a name="467" href="#467">467</a> <strong class="jxr_keyword">int</strong> currentValue; +<a name="468" href="#468">468</a> Object currentObject; +<a name="469" href="#469">469</a> Object selectedObject = box.getItemAt(0); +<a name="470" href="#470">470</a> <strong class="jxr_keyword">int</strong> selectedValue = Integer.parseInt(String.valueOf(selectedObject)); +<a name="471" href="#471">471</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; len; i++) { +<a name="472" href="#472">472</a> currentObject = box.getItemAt(i); +<a name="473" href="#473">473</a> currentValue = Integer.parseInt(String.valueOf(currentObject)); +<a name="474" href="#474">474</a> <strong class="jxr_keyword">if</strong> (selectedValue &lt; currentValue &amp;&amp; currentValue &lt;= requestedSize) { +<a name="475" href="#475">475</a> selectedValue = currentValue; +<a name="476" href="#476">476</a> selectedObject = currentObject; +<a name="477" href="#477">477</a> } +<a name="478" href="#478">478</a> } +<a name="479" href="#479">479</a> box.setSelectedItem(selectedObject); +<a name="480" href="#480">480</a> <strong class="jxr_keyword">return</strong> selectedValue; +<a name="481" href="#481">481</a> } +<a name="482" href="#482">482</a> +<a name="483" href="#483">483</a> <em class="jxr_javadoccomment">/**</em> +<a name="484" href="#484">484</a> <em class="jxr_javadoccomment"> * Does not update gui or cause any events to be fired.</em> +<a name="485" href="#485">485</a> <em class="jxr_javadoccomment"> */</em> +<a name="486" href="#486">486</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setFontSizeSilently(<strong class="jxr_keyword">int</strong> fontSize) { +<a name="487" href="#487">487</a> _fontSize = fontSize; +<a name="488" href="#488">488</a> setFontSize(_table._detailTextArea, fontSize); +<a name="489" href="#489">489</a> selectRow(0); +<a name="490" href="#490">490</a> setFontSize(_table, fontSize); +<a name="491" href="#491">491</a> } +<a name="492" href="#492">492</a> +<a name="493" href="#493">493</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setFontSize(Component component, <strong class="jxr_keyword">int</strong> fontSize) { +<a name="494" href="#494">494</a> Font oldFont = component.getFont(); +<a name="495" href="#495">495</a> Font newFont = +<a name="496" href="#496">496</a> <strong class="jxr_keyword">new</strong> Font(oldFont.getFontName(), oldFont.getStyle(), fontSize); +<a name="497" href="#497">497</a> component.setFont(newFont); +<a name="498" href="#498">498</a> } +<a name="499" href="#499">499</a> +<a name="500" href="#500">500</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> updateFrameSize() { +<a name="501" href="#501">501</a> _logMonitorFrame.setSize(_logMonitorFrameWidth, _logMonitorFrameHeight); +<a name="502" href="#502">502</a> centerFrame(_logMonitorFrame); +<a name="503" href="#503">503</a> } +<a name="504" href="#504">504</a> +<a name="505" href="#505">505</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> pause(<strong class="jxr_keyword">int</strong> millis) { +<a name="506" href="#506">506</a> <strong class="jxr_keyword">try</strong> { +<a name="507" href="#507">507</a> Thread.sleep(millis); +<a name="508" href="#508">508</a> } <strong class="jxr_keyword">catch</strong> (InterruptedException e) { +<a name="509" href="#509">509</a> +<a name="510" href="#510">510</a> } +<a name="511" href="#511">511</a> } +<a name="512" href="#512">512</a> +<a name="513" href="#513">513</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> initComponents() { +<a name="514" href="#514">514</a> <em class="jxr_comment">//</em> +<a name="515" href="#515">515</a> <em class="jxr_comment">// Configure the Frame.</em> +<a name="516" href="#516">516</a> <em class="jxr_comment">//</em> +<a name="517" href="#517">517</a> _logMonitorFrame = <strong class="jxr_keyword">new</strong> JFrame(<span class="jxr_string">"LogFactor5"</span>); +<a name="518" href="#518">518</a> +<a name="519" href="#519">519</a> _logMonitorFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); +<a name="520" href="#520">520</a> +<a name="521" href="#521">521</a> String resource = +<a name="522" href="#522">522</a> <span class="jxr_string">"/org/apache/log4j/lf5/viewer/images/lf5_small_icon.gif"</span>; +<a name="523" href="#523">523</a> URL lf5IconURL = getClass().getResource(resource); +<a name="524" href="#524">524</a> +<a name="525" href="#525">525</a> <strong class="jxr_keyword">if</strong> (lf5IconURL != <strong class="jxr_keyword">null</strong>) { +<a name="526" href="#526">526</a> _logMonitorFrame.setIconImage(<strong class="jxr_keyword">new</strong> ImageIcon(lf5IconURL).getImage()); +<a name="527" href="#527">527</a> } +<a name="528" href="#528">528</a> updateFrameSize(); +<a name="529" href="#529">529</a> +<a name="530" href="#530">530</a> <em class="jxr_comment">//</em> +<a name="531" href="#531">531</a> <em class="jxr_comment">// Configure the LogTable.</em> +<a name="532" href="#532">532</a> <em class="jxr_comment">//</em> +<a name="533" href="#533">533</a> JTextArea detailTA = createDetailTextArea(); +<a name="534" href="#534">534</a> JScrollPane detailTAScrollPane = <strong class="jxr_keyword">new</strong> JScrollPane(detailTA); +<a name="535" href="#535">535</a> _table = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTable.html">LogTable</a>(detailTA); +<a name="536" href="#536">536</a> setView(_currentView, _table); +<a name="537" href="#537">537</a> _table.setFont(<strong class="jxr_keyword">new</strong> Font(_fontName, Font.PLAIN, _fontSize)); +<a name="538" href="#538">538</a> _logTableScrollPane = <strong class="jxr_keyword">new</strong> JScrollPane(_table); +<a name="539" href="#539">539</a> +<a name="540" href="#540">540</a> <strong class="jxr_keyword">if</strong> (_trackTableScrollPane) { +<a name="541" href="#541">541</a> _logTableScrollPane.getVerticalScrollBar().addAdjustmentListener( +<a name="542" href="#542">542</a> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html">TrackingAdjustmentListener</a>() +<a name="543" href="#543">543</a> ); +<a name="544" href="#544">544</a> } +<a name="545" href="#545">545</a> +<a name="546" href="#546">546</a> +<a name="547" href="#547">547</a> <em class="jxr_comment">// Configure the SplitPane between the LogTable &amp; DetailTextArea</em> +<a name="548" href="#548">548</a> <em class="jxr_comment">//</em> +<a name="549" href="#549">549</a> +<a name="550" href="#550">550</a> JSplitPane tableViewerSplitPane = <strong class="jxr_keyword">new</strong> JSplitPane(); +<a name="551" href="#551">551</a> tableViewerSplitPane.setOneTouchExpandable(<strong class="jxr_keyword">true</strong>); +<a name="552" href="#552">552</a> tableViewerSplitPane.setOrientation(JSplitPane.VERTICAL_SPLIT); +<a name="553" href="#553">553</a> tableViewerSplitPane.setLeftComponent(_logTableScrollPane); +<a name="554" href="#554">554</a> tableViewerSplitPane.setRightComponent(detailTAScrollPane); +<a name="555" href="#555">555</a> <em class="jxr_comment">// Make sure to do this last..</em> +<a name="556" href="#556">556</a> <em class="jxr_comment">//tableViewerSplitPane.setDividerLocation(1.0); Doesn't work</em> +<a name="557" href="#557">557</a> <em class="jxr_comment">//the same under 1.2.x &amp; 1.3</em> +<a name="558" href="#558">558</a> <em class="jxr_comment">// "350" is a magic number that provides the correct default</em> +<a name="559" href="#559">559</a> <em class="jxr_comment">// behaviour under 1.2.x &amp; 1.3. For example, bumping this</em> +<a name="560" href="#560">560</a> <em class="jxr_comment">// number to 400, causes the pane to be completely open in 1.2.x</em> +<a name="561" href="#561">561</a> <em class="jxr_comment">// and closed in 1.3</em> +<a name="562" href="#562">562</a> tableViewerSplitPane.setDividerLocation(350); +<a name="563" href="#563">563</a> +<a name="564" href="#564">564</a> <em class="jxr_comment">//</em> +<a name="565" href="#565">565</a> <em class="jxr_comment">// Configure the CategoryExplorer</em> +<a name="566" href="#566">566</a> <em class="jxr_comment">//</em> +<a name="567" href="#567">567</a> +<a name="568" href="#568">568</a> _categoryExplorerTree = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html">CategoryExplorerTree</a>(); +<a name="569" href="#569">569</a> +<a name="570" href="#570">570</a> _table.getFilteredLogTableModel().setLogRecordFilter(createLogRecordFilter()); +<a name="571" href="#571">571</a> +<a name="572" href="#572">572</a> JScrollPane categoryExplorerTreeScrollPane = +<a name="573" href="#573">573</a> <strong class="jxr_keyword">new</strong> JScrollPane(_categoryExplorerTree); +<a name="574" href="#574">574</a> categoryExplorerTreeScrollPane.setPreferredSize(<strong class="jxr_keyword">new</strong> Dimension(130, 400)); +<a name="575" href="#575">575</a> +<a name="576" href="#576">576</a> <em class="jxr_comment">// Load most recently used file list</em> +<a name="577" href="#577">577</a> _mruFileManager = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html">MRUFileManager</a>(); +<a name="578" href="#578">578</a> +<a name="579" href="#579">579</a> <em class="jxr_comment">//</em> +<a name="580" href="#580">580</a> <em class="jxr_comment">// Configure the SplitPane between the CategoryExplorer &amp; (LogTable/Detail)</em> +<a name="581" href="#581">581</a> <em class="jxr_comment">//</em> +<a name="582" href="#582">582</a> +<a name="583" href="#583">583</a> JSplitPane splitPane = <strong class="jxr_keyword">new</strong> JSplitPane(); +<a name="584" href="#584">584</a> splitPane.setOneTouchExpandable(<strong class="jxr_keyword">true</strong>); +<a name="585" href="#585">585</a> splitPane.setRightComponent(tableViewerSplitPane); +<a name="586" href="#586">586</a> splitPane.setLeftComponent(categoryExplorerTreeScrollPane); +<a name="587" href="#587">587</a> <em class="jxr_comment">// Do this last.</em> +<a name="588" href="#588">588</a> splitPane.setDividerLocation(130); +<a name="589" href="#589">589</a> <em class="jxr_comment">//</em> +<a name="590" href="#590">590</a> <em class="jxr_comment">// Add the MenuBar, StatusArea, CategoryExplorer|LogTable to the</em> +<a name="591" href="#591">591</a> <em class="jxr_comment">// LogMonitorFrame.</em> +<a name="592" href="#592">592</a> <em class="jxr_comment">//</em> +<a name="593" href="#593">593</a> _logMonitorFrame.getRootPane().setJMenuBar(createMenuBar()); +<a name="594" href="#594">594</a> _logMonitorFrame.getContentPane().add(splitPane, BorderLayout.CENTER); +<a name="595" href="#595">595</a> _logMonitorFrame.getContentPane().add(createToolBar(), +<a name="596" href="#596">596</a> BorderLayout.NORTH); +<a name="597" href="#597">597</a> _logMonitorFrame.getContentPane().add(createStatusArea(), +<a name="598" href="#598">598</a> BorderLayout.SOUTH); +<a name="599" href="#599">599</a> +<a name="600" href="#600">600</a> makeLogTableListenToCategoryExplorer(); +<a name="601" href="#601">601</a> addTableModelProperties(); +<a name="602" href="#602">602</a> +<a name="603" href="#603">603</a> <em class="jxr_comment">//</em> +<a name="604" href="#604">604</a> <em class="jxr_comment">// Configure ConfigurationManager</em> +<a name="605" href="#605">605</a> <em class="jxr_comment">//</em> +<a name="606" href="#606">606</a> _configurationManager = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html">ConfigurationManager</a>(<strong class="jxr_keyword">this</strong>, _table); +<a name="607" href="#607">607</a> +<a name="608" href="#608">608</a> } +<a name="609" href="#609">609</a> +<a name="610" href="#610">610</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a> createLogRecordFilter() { +<a name="611" href="#611">611</a> <a href="../../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a> result = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a>() { +<a name="612" href="#612">612</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> passes(<a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> record) { +<a name="613" href="#613">613</a> <a href="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a>(record.getCategory()); +<a name="614" href="#614">614</a> <strong class="jxr_keyword">return</strong> +<a name="615" href="#615">615</a> getMenuItem(record.getLevel()).isSelected() &amp;&amp; +<a name="616" href="#616">616</a> _categoryExplorerTree.getExplorerModel().isCategoryPathActive(path); +<a name="617" href="#617">617</a> } +<a name="618" href="#618">618</a> }; +<a name="619" href="#619">619</a> <strong class="jxr_keyword">return</strong> result; +<a name="620" href="#620">620</a> } +<a name="621" href="#621">621</a> +<a name="622" href="#622">622</a> <em class="jxr_comment">// Added in version 1.2 - Creates a new filter that sorts records based on</em> +<a name="623" href="#623">623</a> <em class="jxr_comment">// an NDC string passed in by the user.</em> +<a name="624" href="#624">624</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a> createNDCLogRecordFilter(String text) { +<a name="625" href="#625">625</a> _NDCTextFilter = text; +<a name="626" href="#626">626</a> <a href="../../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a> result = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a>() { +<a name="627" href="#627">627</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> passes(<a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> record) { +<a name="628" href="#628">628</a> String NDC = record.getNDC(); +<a name="629" href="#629">629</a> <a href="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a>(record.getCategory()); +<a name="630" href="#630">630</a> <strong class="jxr_keyword">if</strong> (NDC == <strong class="jxr_keyword">null</strong> || _NDCTextFilter == <strong class="jxr_keyword">null</strong>) { +<a name="631" href="#631">631</a> <strong class="jxr_keyword">return</strong> false; +<a name="632" href="#632">632</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (NDC.toLowerCase().indexOf(_NDCTextFilter.toLowerCase()) == -1) { +<a name="633" href="#633">633</a> <strong class="jxr_keyword">return</strong> false; +<a name="634" href="#634">634</a> } <strong class="jxr_keyword">else</strong> { +<a name="635" href="#635">635</a> <strong class="jxr_keyword">return</strong> getMenuItem(record.getLevel()).isSelected() &amp;&amp; +<a name="636" href="#636">636</a> _categoryExplorerTree.getExplorerModel().isCategoryPathActive(path); +<a name="637" href="#637">637</a> } +<a name="638" href="#638">638</a> } +<a name="639" href="#639">639</a> }; +<a name="640" href="#640">640</a> +<a name="641" href="#641">641</a> <strong class="jxr_keyword">return</strong> result; +<a name="642" href="#642">642</a> } +<a name="643" href="#643">643</a> +<a name="644" href="#644">644</a> +<a name="645" href="#645">645</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> updateStatusLabel() { +<a name="646" href="#646">646</a> _statusLabel.setText(getRecordsDisplayedMessage()); +<a name="647" href="#647">647</a> } +<a name="648" href="#648">648</a> +<a name="649" href="#649">649</a> <strong class="jxr_keyword">protected</strong> String getRecordsDisplayedMessage() { +<a name="650" href="#650">650</a> <a href="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html">FilteredLogTableModel</a> model = _table.getFilteredLogTableModel(); +<a name="651" href="#651">651</a> <strong class="jxr_keyword">return</strong> getStatusText(model.getRowCount(), model.getTotalRowCount()); +<a name="652" href="#652">652</a> } +<a name="653" href="#653">653</a> +<a name="654" href="#654">654</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addTableModelProperties() { +<a name="655" href="#655">655</a> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html">FilteredLogTableModel</a> model = _table.getFilteredLogTableModel(); +<a name="656" href="#656">656</a> +<a name="657" href="#657">657</a> addDisplayedProperty(<strong class="jxr_keyword">new</strong> Object() { +<a name="658" href="#658">658</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="659" href="#659">659</a> <strong class="jxr_keyword">return</strong> getRecordsDisplayedMessage(); +<a name="660" href="#660">660</a> } +<a name="661" href="#661">661</a> }); +<a name="662" href="#662">662</a> addDisplayedProperty(<strong class="jxr_keyword">new</strong> Object() { +<a name="663" href="#663">663</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="664" href="#664">664</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"Maximum number of displayed LogRecords: "</span> +<a name="665" href="#665">665</a> + model._maxNumberOfLogRecords; +<a name="666" href="#666">666</a> } +<a name="667" href="#667">667</a> }); +<a name="668" href="#668">668</a> } +<a name="669" href="#669">669</a> +<a name="670" href="#670">670</a> <strong class="jxr_keyword">protected</strong> String getStatusText(<strong class="jxr_keyword">int</strong> displayedRows, <strong class="jxr_keyword">int</strong> totalRows) { +<a name="671" href="#671">671</a> StringBuffer result = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="672" href="#672">672</a> result.append(<span class="jxr_string">"Displaying: "</span>); +<a name="673" href="#673">673</a> result.append(displayedRows); +<a name="674" href="#674">674</a> result.append(<span class="jxr_string">" records out of a total of: "</span>); +<a name="675" href="#675">675</a> result.append(totalRows); +<a name="676" href="#676">676</a> result.append(<span class="jxr_string">" records."</span>); +<a name="677" href="#677">677</a> <strong class="jxr_keyword">return</strong> result.toString(); +<a name="678" href="#678">678</a> } +<a name="679" href="#679">679</a> +<a name="680" href="#680">680</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> makeLogTableListenToCategoryExplorer() { +<a name="681" href="#681">681</a> ActionListener listener = <strong class="jxr_keyword">new</strong> ActionListener() { +<a name="682" href="#682">682</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="683" href="#683">683</a> _table.getFilteredLogTableModel().refresh(); +<a name="684" href="#684">684</a> updateStatusLabel(); +<a name="685" href="#685">685</a> } +<a name="686" href="#686">686</a> }; +<a name="687" href="#687">687</a> _categoryExplorerTree.getExplorerModel().addActionListener(listener); +<a name="688" href="#688">688</a> } +<a name="689" href="#689">689</a> +<a name="690" href="#690">690</a> <strong class="jxr_keyword">protected</strong> JPanel createStatusArea() { +<a name="691" href="#691">691</a> JPanel statusArea = <strong class="jxr_keyword">new</strong> JPanel(); +<a name="692" href="#692">692</a> JLabel status = +<a name="693" href="#693">693</a> <strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">"No log records to display."</span>); +<a name="694" href="#694">694</a> _statusLabel = status; +<a name="695" href="#695">695</a> status.setHorizontalAlignment(JLabel.LEFT); +<a name="696" href="#696">696</a> +<a name="697" href="#697">697</a> statusArea.setBorder(BorderFactory.createEtchedBorder()); +<a name="698" href="#698">698</a> statusArea.setLayout(<strong class="jxr_keyword">new</strong> FlowLayout(FlowLayout.LEFT, 0, 0)); +<a name="699" href="#699">699</a> statusArea.add(status); +<a name="700" href="#700">700</a> +<a name="701" href="#701">701</a> <strong class="jxr_keyword">return</strong> (statusArea); +<a name="702" href="#702">702</a> } +<a name="703" href="#703">703</a> +<a name="704" href="#704">704</a> <strong class="jxr_keyword">protected</strong> JTextArea createDetailTextArea() { +<a name="705" href="#705">705</a> JTextArea detailTA = <strong class="jxr_keyword">new</strong> JTextArea(); +<a name="706" href="#706">706</a> detailTA.setFont(<strong class="jxr_keyword">new</strong> Font(<span class="jxr_string">"Monospaced"</span>, Font.PLAIN, 14)); +<a name="707" href="#707">707</a> detailTA.setTabSize(3); +<a name="708" href="#708">708</a> detailTA.setLineWrap(<strong class="jxr_keyword">true</strong>); +<a name="709" href="#709">709</a> detailTA.setWrapStyleWord(false); +<a name="710" href="#710">710</a> <strong class="jxr_keyword">return</strong> (detailTA); +<a name="711" href="#711">711</a> } +<a name="712" href="#712">712</a> +<a name="713" href="#713">713</a> <strong class="jxr_keyword">protected</strong> JMenuBar createMenuBar() { +<a name="714" href="#714">714</a> JMenuBar menuBar = <strong class="jxr_keyword">new</strong> JMenuBar(); +<a name="715" href="#715">715</a> menuBar.add(createFileMenu()); +<a name="716" href="#716">716</a> menuBar.add(createEditMenu()); +<a name="717" href="#717">717</a> menuBar.add(createLogLevelMenu()); +<a name="718" href="#718">718</a> menuBar.add(createViewMenu()); +<a name="719" href="#719">719</a> menuBar.add(createConfigureMenu()); +<a name="720" href="#720">720</a> menuBar.add(createHelpMenu()); +<a name="721" href="#721">721</a> +<a name="722" href="#722">722</a> <strong class="jxr_keyword">return</strong> (menuBar); +<a name="723" href="#723">723</a> } +<a name="724" href="#724">724</a> +<a name="725" href="#725">725</a> <strong class="jxr_keyword">protected</strong> JMenu createLogLevelMenu() { +<a name="726" href="#726">726</a> JMenu result = <strong class="jxr_keyword">new</strong> JMenu(<span class="jxr_string">"Log Level"</span>); +<a name="727" href="#727">727</a> result.setMnemonic('l'); +<a name="728" href="#728">728</a> Iterator levels = getLogLevels(); +<a name="729" href="#729">729</a> <strong class="jxr_keyword">while</strong> (levels.hasNext()) { +<a name="730" href="#730">730</a> result.add(getMenuItem((LogLevel) levels.next())); +<a name="731" href="#731">731</a> } +<a name="732" href="#732">732</a> +<a name="733" href="#733">733</a> result.addSeparator(); +<a name="734" href="#734">734</a> result.add(createAllLogLevelsMenuItem()); +<a name="735" href="#735">735</a> result.add(createNoLogLevelsMenuItem()); +<a name="736" href="#736">736</a> result.addSeparator(); +<a name="737" href="#737">737</a> result.add(createLogLevelColorMenu()); +<a name="738" href="#738">738</a> result.add(createResetLogLevelColorMenuItem()); +<a name="739" href="#739">739</a> +<a name="740" href="#740">740</a> <strong class="jxr_keyword">return</strong> result; +<a name="741" href="#741">741</a> } +<a name="742" href="#742">742</a> +<a name="743" href="#743">743</a> <strong class="jxr_keyword">protected</strong> JMenuItem createAllLogLevelsMenuItem() { +<a name="744" href="#744">744</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Show all LogLevels"</span>); +<a name="745" href="#745">745</a> result.setMnemonic('s'); +<a name="746" href="#746">746</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="747" href="#747">747</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="748" href="#748">748</a> selectAllLogLevels(<strong class="jxr_keyword">true</strong>); +<a name="749" href="#749">749</a> _table.getFilteredLogTableModel().refresh(); +<a name="750" href="#750">750</a> updateStatusLabel(); +<a name="751" href="#751">751</a> } +<a name="752" href="#752">752</a> }); +<a name="753" href="#753">753</a> <strong class="jxr_keyword">return</strong> result; +<a name="754" href="#754">754</a> } +<a name="755" href="#755">755</a> +<a name="756" href="#756">756</a> <strong class="jxr_keyword">protected</strong> JMenuItem createNoLogLevelsMenuItem() { +<a name="757" href="#757">757</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Hide all LogLevels"</span>); +<a name="758" href="#758">758</a> result.setMnemonic('h'); +<a name="759" href="#759">759</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="760" href="#760">760</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="761" href="#761">761</a> selectAllLogLevels(false); +<a name="762" href="#762">762</a> _table.getFilteredLogTableModel().refresh(); +<a name="763" href="#763">763</a> updateStatusLabel(); +<a name="764" href="#764">764</a> } +<a name="765" href="#765">765</a> }); +<a name="766" href="#766">766</a> <strong class="jxr_keyword">return</strong> result; +<a name="767" href="#767">767</a> } +<a name="768" href="#768">768</a> +<a name="769" href="#769">769</a> <strong class="jxr_keyword">protected</strong> JMenu createLogLevelColorMenu() { +<a name="770" href="#770">770</a> JMenu colorMenu = <strong class="jxr_keyword">new</strong> JMenu(<span class="jxr_string">"Configure LogLevel Colors"</span>); +<a name="771" href="#771">771</a> colorMenu.setMnemonic('c'); +<a name="772" href="#772">772</a> Iterator levels = getLogLevels(); +<a name="773" href="#773">773</a> <strong class="jxr_keyword">while</strong> (levels.hasNext()) { +<a name="774" href="#774">774</a> colorMenu.add(createSubMenuItem((LogLevel) levels.next())); +<a name="775" href="#775">775</a> } +<a name="776" href="#776">776</a> +<a name="777" href="#777">777</a> <strong class="jxr_keyword">return</strong> colorMenu; +<a name="778" href="#778">778</a> } +<a name="779" href="#779">779</a> +<a name="780" href="#780">780</a> <strong class="jxr_keyword">protected</strong> JMenuItem createResetLogLevelColorMenuItem() { +<a name="781" href="#781">781</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Reset LogLevel Colors"</span>); +<a name="782" href="#782">782</a> result.setMnemonic('r'); +<a name="783" href="#783">783</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="784" href="#784">784</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="785" href="#785">785</a> <em class="jxr_comment">// reset the level colors in the map</em> +<a name="786" href="#786">786</a> LogLevel.resetLogLevelColorMap(); +<a name="787" href="#787">787</a> +<a name="788" href="#788">788</a> <em class="jxr_comment">// refresh the table</em> +<a name="789" href="#789">789</a> _table.getFilteredLogTableModel().refresh(); +<a name="790" href="#790">790</a> } +<a name="791" href="#791">791</a> }); +<a name="792" href="#792">792</a> <strong class="jxr_keyword">return</strong> result; +<a name="793" href="#793">793</a> } +<a name="794" href="#794">794</a> +<a name="795" href="#795">795</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> selectAllLogLevels(<strong class="jxr_keyword">boolean</strong> selected) { +<a name="796" href="#796">796</a> Iterator levels = getLogLevels(); +<a name="797" href="#797">797</a> <strong class="jxr_keyword">while</strong> (levels.hasNext()) { +<a name="798" href="#798">798</a> getMenuItem((LogLevel) levels.next()).setSelected(selected); +<a name="799" href="#799">799</a> } +<a name="800" href="#800">800</a> } +<a name="801" href="#801">801</a> +<a name="802" href="#802">802</a> <strong class="jxr_keyword">protected</strong> JCheckBoxMenuItem getMenuItem(<a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="803" href="#803">803</a> JCheckBoxMenuItem result = (JCheckBoxMenuItem) (_logLevelMenuItems.get(level)); +<a name="804" href="#804">804</a> <strong class="jxr_keyword">if</strong> (result == <strong class="jxr_keyword">null</strong>) { +<a name="805" href="#805">805</a> result = createMenuItem(level); +<a name="806" href="#806">806</a> _logLevelMenuItems.put(level, result); +<a name="807" href="#807">807</a> } +<a name="808" href="#808">808</a> <strong class="jxr_keyword">return</strong> result; +<a name="809" href="#809">809</a> } +<a name="810" href="#810">810</a> +<a name="811" href="#811">811</a> <strong class="jxr_keyword">protected</strong> JMenuItem createSubMenuItem(<a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="812" href="#812">812</a> <strong class="jxr_keyword">final</strong> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(level.toString()); +<a name="813" href="#813">813</a> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> logLevel = level; +<a name="814" href="#814">814</a> result.setMnemonic(level.toString().charAt(0)); +<a name="815" href="#815">815</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="816" href="#816">816</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="817" href="#817">817</a> showLogLevelColorChangeDialog(result, logLevel); +<a name="818" href="#818">818</a> } +<a name="819" href="#819">819</a> }); +<a name="820" href="#820">820</a> +<a name="821" href="#821">821</a> <strong class="jxr_keyword">return</strong> result; +<a name="822" href="#822">822</a> +<a name="823" href="#823">823</a> } +<a name="824" href="#824">824</a> +<a name="825" href="#825">825</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> showLogLevelColorChangeDialog(JMenuItem result, <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="826" href="#826">826</a> JMenuItem menuItem = result; +<a name="827" href="#827">827</a> Color newColor = JColorChooser.showDialog( +<a name="828" href="#828">828</a> _logMonitorFrame, +<a name="829" href="#829">829</a> <span class="jxr_string">"Choose LogLevel Color"</span>, +<a name="830" href="#830">830</a> result.getForeground()); +<a name="831" href="#831">831</a> +<a name="832" href="#832">832</a> <strong class="jxr_keyword">if</strong> (newColor != <strong class="jxr_keyword">null</strong>) { +<a name="833" href="#833">833</a> <em class="jxr_comment">// set the color for the record</em> +<a name="834" href="#834">834</a> level.setLogLevelColorMap(level, newColor); +<a name="835" href="#835">835</a> _table.getFilteredLogTableModel().refresh(); +<a name="836" href="#836">836</a> } +<a name="837" href="#837">837</a> +<a name="838" href="#838">838</a> } +<a name="839" href="#839">839</a> +<a name="840" href="#840">840</a> <strong class="jxr_keyword">protected</strong> JCheckBoxMenuItem createMenuItem(<a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="841" href="#841">841</a> JCheckBoxMenuItem result = <strong class="jxr_keyword">new</strong> JCheckBoxMenuItem(level.toString()); +<a name="842" href="#842">842</a> result.setSelected(<strong class="jxr_keyword">true</strong>); +<a name="843" href="#843">843</a> result.setMnemonic(level.toString().charAt(0)); +<a name="844" href="#844">844</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="845" href="#845">845</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="846" href="#846">846</a> _table.getFilteredLogTableModel().refresh(); +<a name="847" href="#847">847</a> updateStatusLabel(); +<a name="848" href="#848">848</a> } +<a name="849" href="#849">849</a> }); +<a name="850" href="#850">850</a> <strong class="jxr_keyword">return</strong> result; +<a name="851" href="#851">851</a> } +<a name="852" href="#852">852</a> +<a name="853" href="#853">853</a> <em class="jxr_comment">// view menu</em> +<a name="854" href="#854">854</a> <strong class="jxr_keyword">protected</strong> JMenu createViewMenu() { +<a name="855" href="#855">855</a> JMenu result = <strong class="jxr_keyword">new</strong> JMenu(<span class="jxr_string">"View"</span>); +<a name="856" href="#856">856</a> result.setMnemonic('v'); +<a name="857" href="#857">857</a> Iterator columns = getLogTableColumns(); +<a name="858" href="#858">858</a> <strong class="jxr_keyword">while</strong> (columns.hasNext()) { +<a name="859" href="#859">859</a> result.add(getLogTableColumnMenuItem((LogTableColumn) columns.next())); +<a name="860" href="#860">860</a> } +<a name="861" href="#861">861</a> +<a name="862" href="#862">862</a> result.addSeparator(); +<a name="863" href="#863">863</a> result.add(createAllLogTableColumnsMenuItem()); +<a name="864" href="#864">864</a> result.add(createNoLogTableColumnsMenuItem()); +<a name="865" href="#865">865</a> <strong class="jxr_keyword">return</strong> result; +<a name="866" href="#866">866</a> } +<a name="867" href="#867">867</a> +<a name="868" href="#868">868</a> <strong class="jxr_keyword">protected</strong> JCheckBoxMenuItem getLogTableColumnMenuItem(<a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> column) { +<a name="869" href="#869">869</a> JCheckBoxMenuItem result = (JCheckBoxMenuItem) (_logTableColumnMenuItems.get(column)); +<a name="870" href="#870">870</a> <strong class="jxr_keyword">if</strong> (result == <strong class="jxr_keyword">null</strong>) { +<a name="871" href="#871">871</a> result = createLogTableColumnMenuItem(column); +<a name="872" href="#872">872</a> _logTableColumnMenuItems.put(column, result); +<a name="873" href="#873">873</a> } +<a name="874" href="#874">874</a> <strong class="jxr_keyword">return</strong> result; +<a name="875" href="#875">875</a> } +<a name="876" href="#876">876</a> +<a name="877" href="#877">877</a> <strong class="jxr_keyword">protected</strong> JCheckBoxMenuItem createLogTableColumnMenuItem(<a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> column) { +<a name="878" href="#878">878</a> JCheckBoxMenuItem result = <strong class="jxr_keyword">new</strong> JCheckBoxMenuItem(column.toString()); +<a name="879" href="#879">879</a> +<a name="880" href="#880">880</a> result.setSelected(<strong class="jxr_keyword">true</strong>); +<a name="881" href="#881">881</a> result.setMnemonic(column.toString().charAt(0)); +<a name="882" href="#882">882</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="883" href="#883">883</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="884" href="#884">884</a> <em class="jxr_comment">// update list of columns and reset the view</em> +<a name="885" href="#885">885</a> List selectedColumns = updateView(); +<a name="886" href="#886">886</a> _table.setView(selectedColumns); +<a name="887" href="#887">887</a> } +<a name="888" href="#888">888</a> }); +<a name="889" href="#889">889</a> <strong class="jxr_keyword">return</strong> result; +<a name="890" href="#890">890</a> } +<a name="891" href="#891">891</a> +<a name="892" href="#892">892</a> <strong class="jxr_keyword">protected</strong> List updateView() { +<a name="893" href="#893">893</a> ArrayList updatedList = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="894" href="#894">894</a> Iterator columnIterator = _columns.iterator(); +<a name="895" href="#895">895</a> <strong class="jxr_keyword">while</strong> (columnIterator.hasNext()) { +<a name="896" href="#896">896</a> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> column = (LogTableColumn) columnIterator.next(); +<a name="897" href="#897">897</a> JCheckBoxMenuItem result = getLogTableColumnMenuItem(column); +<a name="898" href="#898">898</a> <em class="jxr_comment">// check and see if the checkbox is checked</em> +<a name="899" href="#899">899</a> <strong class="jxr_keyword">if</strong> (result.isSelected()) { +<a name="900" href="#900">900</a> updatedList.add(column); +<a name="901" href="#901">901</a> } +<a name="902" href="#902">902</a> } +<a name="903" href="#903">903</a> +<a name="904" href="#904">904</a> <strong class="jxr_keyword">return</strong> updatedList; +<a name="905" href="#905">905</a> } +<a name="906" href="#906">906</a> +<a name="907" href="#907">907</a> <strong class="jxr_keyword">protected</strong> JMenuItem createAllLogTableColumnsMenuItem() { +<a name="908" href="#908">908</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Show all Columns"</span>); +<a name="909" href="#909">909</a> result.setMnemonic('s'); +<a name="910" href="#910">910</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="911" href="#911">911</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="912" href="#912">912</a> selectAllLogTableColumns(<strong class="jxr_keyword">true</strong>); +<a name="913" href="#913">913</a> <em class="jxr_comment">// update list of columns and reset the view</em> +<a name="914" href="#914">914</a> List selectedColumns = updateView(); +<a name="915" href="#915">915</a> _table.setView(selectedColumns); +<a name="916" href="#916">916</a> } +<a name="917" href="#917">917</a> }); +<a name="918" href="#918">918</a> <strong class="jxr_keyword">return</strong> result; +<a name="919" href="#919">919</a> } +<a name="920" href="#920">920</a> +<a name="921" href="#921">921</a> <strong class="jxr_keyword">protected</strong> JMenuItem createNoLogTableColumnsMenuItem() { +<a name="922" href="#922">922</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Hide all Columns"</span>); +<a name="923" href="#923">923</a> result.setMnemonic('h'); +<a name="924" href="#924">924</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="925" href="#925">925</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="926" href="#926">926</a> selectAllLogTableColumns(false); +<a name="927" href="#927">927</a> <em class="jxr_comment">// update list of columns and reset the view</em> +<a name="928" href="#928">928</a> List selectedColumns = updateView(); +<a name="929" href="#929">929</a> _table.setView(selectedColumns); +<a name="930" href="#930">930</a> } +<a name="931" href="#931">931</a> }); +<a name="932" href="#932">932</a> <strong class="jxr_keyword">return</strong> result; +<a name="933" href="#933">933</a> } +<a name="934" href="#934">934</a> +<a name="935" href="#935">935</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> selectAllLogTableColumns(<strong class="jxr_keyword">boolean</strong> selected) { +<a name="936" href="#936">936</a> Iterator columns = getLogTableColumns(); +<a name="937" href="#937">937</a> <strong class="jxr_keyword">while</strong> (columns.hasNext()) { +<a name="938" href="#938">938</a> getLogTableColumnMenuItem((LogTableColumn) columns.next()).setSelected(selected); +<a name="939" href="#939">939</a> } +<a name="940" href="#940">940</a> } +<a name="941" href="#941">941</a> +<a name="942" href="#942">942</a> <strong class="jxr_keyword">protected</strong> JMenu createFileMenu() { +<a name="943" href="#943">943</a> JMenu fileMenu = <strong class="jxr_keyword">new</strong> JMenu(<span class="jxr_string">"File"</span>); +<a name="944" href="#944">944</a> fileMenu.setMnemonic('f'); +<a name="945" href="#945">945</a> JMenuItem exitMI; +<a name="946" href="#946">946</a> fileMenu.add(createOpenMI()); +<a name="947" href="#947">947</a> fileMenu.add(createOpenURLMI()); +<a name="948" href="#948">948</a> fileMenu.addSeparator(); +<a name="949" href="#949">949</a> fileMenu.add(createCloseMI()); +<a name="950" href="#950">950</a> createMRUFileListMI(fileMenu); +<a name="951" href="#951">951</a> fileMenu.addSeparator(); +<a name="952" href="#952">952</a> fileMenu.add(createExitMI()); +<a name="953" href="#953">953</a> <strong class="jxr_keyword">return</strong> fileMenu; +<a name="954" href="#954">954</a> } +<a name="955" href="#955">955</a> +<a name="956" href="#956">956</a> <em class="jxr_javadoccomment">/**</em> +<a name="957" href="#957">957</a> <em class="jxr_javadoccomment"> * Menu item added to allow log files to be opened with</em> +<a name="958" href="#958">958</a> <em class="jxr_javadoccomment"> * the LF5 GUI.</em> +<a name="959" href="#959">959</a> <em class="jxr_javadoccomment"> */</em> +<a name="960" href="#960">960</a> <strong class="jxr_keyword">protected</strong> JMenuItem createOpenMI() { +<a name="961" href="#961">961</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Open..."</span>); +<a name="962" href="#962">962</a> result.setMnemonic('o'); +<a name="963" href="#963">963</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="964" href="#964">964</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="965" href="#965">965</a> requestOpen(); +<a name="966" href="#966">966</a> } +<a name="967" href="#967">967</a> }); +<a name="968" href="#968">968</a> <strong class="jxr_keyword">return</strong> result; +<a name="969" href="#969">969</a> } +<a name="970" href="#970">970</a> +<a name="971" href="#971">971</a> <em class="jxr_javadoccomment">/**</em> +<a name="972" href="#972">972</a> <em class="jxr_javadoccomment"> * Menu item added to allow log files loaded from a URL</em> +<a name="973" href="#973">973</a> <em class="jxr_javadoccomment"> * to be opened by the LF5 GUI.</em> +<a name="974" href="#974">974</a> <em class="jxr_javadoccomment"> */</em> +<a name="975" href="#975">975</a> <strong class="jxr_keyword">protected</strong> JMenuItem createOpenURLMI() { +<a name="976" href="#976">976</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Open URL..."</span>); +<a name="977" href="#977">977</a> result.setMnemonic('u'); +<a name="978" href="#978">978</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="979" href="#979">979</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="980" href="#980">980</a> requestOpenURL(); +<a name="981" href="#981">981</a> } +<a name="982" href="#982">982</a> }); +<a name="983" href="#983">983</a> <strong class="jxr_keyword">return</strong> result; +<a name="984" href="#984">984</a> } +<a name="985" href="#985">985</a> +<a name="986" href="#986">986</a> <strong class="jxr_keyword">protected</strong> JMenuItem createCloseMI() { +<a name="987" href="#987">987</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Close"</span>); +<a name="988" href="#988">988</a> result.setMnemonic('c'); +<a name="989" href="#989">989</a> result.setAccelerator(KeyStroke.getKeyStroke(<span class="jxr_string">"control Q"</span>)); +<a name="990" href="#990">990</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="991" href="#991">991</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="992" href="#992">992</a> requestClose(); +<a name="993" href="#993">993</a> } +<a name="994" href="#994">994</a> }); +<a name="995" href="#995">995</a> <strong class="jxr_keyword">return</strong> result; +<a name="996" href="#996">996</a> } +<a name="997" href="#997">997</a> +<a name="998" href="#998">998</a> <em class="jxr_javadoccomment">/**</em> +<a name="999" href="#999">999</a> <em class="jxr_javadoccomment"> * Creates a Most Recently Used file list to be</em> +<a name="1000" href="#1000">1000</a> <em class="jxr_javadoccomment"> * displayed in the File menu</em> +<a name="1001" href="#1001">1001</a> <em class="jxr_javadoccomment"> */</em> +<a name="1002" href="#1002">1002</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> createMRUFileListMI(JMenu menu) { +<a name="1003" href="#1003">1003</a> +<a name="1004" href="#1004">1004</a> String[] files = _mruFileManager.getMRUFileList(); +<a name="1005" href="#1005">1005</a> +<a name="1006" href="#1006">1006</a> <strong class="jxr_keyword">if</strong> (files != <strong class="jxr_keyword">null</strong>) { +<a name="1007" href="#1007">1007</a> menu.addSeparator(); +<a name="1008" href="#1008">1008</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; files.length; i++) { +<a name="1009" href="#1009">1009</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem((i + 1) + <span class="jxr_string">" "</span> + files[i]); +<a name="1010" href="#1010">1010</a> result.setMnemonic(i + 1); +<a name="1011" href="#1011">1011</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1012" href="#1012">1012</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1013" href="#1013">1013</a> requestOpenMRU(e); +<a name="1014" href="#1014">1014</a> } +<a name="1015" href="#1015">1015</a> }); +<a name="1016" href="#1016">1016</a> menu.add(result); +<a name="1017" href="#1017">1017</a> } +<a name="1018" href="#1018">1018</a> } +<a name="1019" href="#1019">1019</a> } +<a name="1020" href="#1020">1020</a> +<a name="1021" href="#1021">1021</a> <strong class="jxr_keyword">protected</strong> JMenuItem createExitMI() { +<a name="1022" href="#1022">1022</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Exit"</span>); +<a name="1023" href="#1023">1023</a> result.setMnemonic('x'); +<a name="1024" href="#1024">1024</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1025" href="#1025">1025</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1026" href="#1026">1026</a> requestExit(); +<a name="1027" href="#1027">1027</a> } +<a name="1028" href="#1028">1028</a> }); +<a name="1029" href="#1029">1029</a> <strong class="jxr_keyword">return</strong> result; +<a name="1030" href="#1030">1030</a> } +<a name="1031" href="#1031">1031</a> +<a name="1032" href="#1032">1032</a> <strong class="jxr_keyword">protected</strong> JMenu createConfigureMenu() { +<a name="1033" href="#1033">1033</a> JMenu configureMenu = <strong class="jxr_keyword">new</strong> JMenu(<span class="jxr_string">"Configure"</span>); +<a name="1034" href="#1034">1034</a> configureMenu.setMnemonic('c'); +<a name="1035" href="#1035">1035</a> configureMenu.add(createConfigureSave()); +<a name="1036" href="#1036">1036</a> configureMenu.add(createConfigureReset()); +<a name="1037" href="#1037">1037</a> configureMenu.add(createConfigureMaxRecords()); +<a name="1038" href="#1038">1038</a> +<a name="1039" href="#1039">1039</a> <strong class="jxr_keyword">return</strong> configureMenu; +<a name="1040" href="#1040">1040</a> } +<a name="1041" href="#1041">1041</a> +<a name="1042" href="#1042">1042</a> <strong class="jxr_keyword">protected</strong> JMenuItem createConfigureSave() { +<a name="1043" href="#1043">1043</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Save"</span>); +<a name="1044" href="#1044">1044</a> result.setMnemonic('s'); +<a name="1045" href="#1045">1045</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1046" href="#1046">1046</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1047" href="#1047">1047</a> saveConfiguration(); +<a name="1048" href="#1048">1048</a> } +<a name="1049" href="#1049">1049</a> }); +<a name="1050" href="#1050">1050</a> +<a name="1051" href="#1051">1051</a> <strong class="jxr_keyword">return</strong> result; +<a name="1052" href="#1052">1052</a> } +<a name="1053" href="#1053">1053</a> +<a name="1054" href="#1054">1054</a> <strong class="jxr_keyword">protected</strong> JMenuItem createConfigureReset() { +<a name="1055" href="#1055">1055</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Reset"</span>); +<a name="1056" href="#1056">1056</a> result.setMnemonic('r'); +<a name="1057" href="#1057">1057</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1058" href="#1058">1058</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1059" href="#1059">1059</a> resetConfiguration(); +<a name="1060" href="#1060">1060</a> } +<a name="1061" href="#1061">1061</a> }); +<a name="1062" href="#1062">1062</a> +<a name="1063" href="#1063">1063</a> <strong class="jxr_keyword">return</strong> result; +<a name="1064" href="#1064">1064</a> } +<a name="1065" href="#1065">1065</a> +<a name="1066" href="#1066">1066</a> <strong class="jxr_keyword">protected</strong> JMenuItem createConfigureMaxRecords() { +<a name="1067" href="#1067">1067</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Set Max Number of Records"</span>); +<a name="1068" href="#1068">1068</a> result.setMnemonic('m'); +<a name="1069" href="#1069">1069</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1070" href="#1070">1070</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1071" href="#1071">1071</a> setMaxRecordConfiguration(); +<a name="1072" href="#1072">1072</a> } +<a name="1073" href="#1073">1073</a> }); +<a name="1074" href="#1074">1074</a> +<a name="1075" href="#1075">1075</a> <strong class="jxr_keyword">return</strong> result; +<a name="1076" href="#1076">1076</a> } +<a name="1077" href="#1077">1077</a> +<a name="1078" href="#1078">1078</a> +<a name="1079" href="#1079">1079</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> saveConfiguration() { +<a name="1080" href="#1080">1080</a> _configurationManager.save(); +<a name="1081" href="#1081">1081</a> } +<a name="1082" href="#1082">1082</a> +<a name="1083" href="#1083">1083</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> resetConfiguration() { +<a name="1084" href="#1084">1084</a> _configurationManager.reset(); +<a name="1085" href="#1085">1085</a> } +<a name="1086" href="#1086">1086</a> +<a name="1087" href="#1087">1087</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setMaxRecordConfiguration() { +<a name="1088" href="#1088">1088</a> LogFactor5InputDialog inputDialog = <strong class="jxr_keyword">new</strong> LogFactor5InputDialog( +<a name="1089" href="#1089">1089</a> getBaseFrame(), <span class="jxr_string">"Set Max Number of Records"</span>, <span class="jxr_string">""</span>, 10); +<a name="1090" href="#1090">1090</a> +<a name="1091" href="#1091">1091</a> String temp = inputDialog.getText(); +<a name="1092" href="#1092">1092</a> +<a name="1093" href="#1093">1093</a> <strong class="jxr_keyword">if</strong> (temp != <strong class="jxr_keyword">null</strong>) { +<a name="1094" href="#1094">1094</a> <strong class="jxr_keyword">try</strong> { +<a name="1095" href="#1095">1095</a> setMaxNumberOfLogRecords(Integer.parseInt(temp)); +<a name="1096" href="#1096">1096</a> } <strong class="jxr_keyword">catch</strong> (NumberFormatException e) { +<a name="1097" href="#1097">1097</a> LogFactor5ErrorDialog error = <strong class="jxr_keyword">new</strong> LogFactor5ErrorDialog( +<a name="1098" href="#1098">1098</a> getBaseFrame(), +<a name="1099" href="#1099">1099</a> <span class="jxr_string">"'"</span> + temp + <span class="jxr_string">"' is an invalid parameter.\nPlease try again."</span>); +<a name="1100" href="#1100">1100</a> setMaxRecordConfiguration(); +<a name="1101" href="#1101">1101</a> } +<a name="1102" href="#1102">1102</a> } +<a name="1103" href="#1103">1103</a> } +<a name="1104" href="#1104">1104</a> +<a name="1105" href="#1105">1105</a> +<a name="1106" href="#1106">1106</a> <strong class="jxr_keyword">protected</strong> JMenu createHelpMenu() { +<a name="1107" href="#1107">1107</a> JMenu helpMenu = <strong class="jxr_keyword">new</strong> JMenu(<span class="jxr_string">"Help"</span>); +<a name="1108" href="#1108">1108</a> helpMenu.setMnemonic('h'); +<a name="1109" href="#1109">1109</a> helpMenu.add(createHelpProperties()); +<a name="1110" href="#1110">1110</a> <strong class="jxr_keyword">return</strong> helpMenu; +<a name="1111" href="#1111">1111</a> } +<a name="1112" href="#1112">1112</a> +<a name="1113" href="#1113">1113</a> <strong class="jxr_keyword">protected</strong> JMenuItem createHelpProperties() { +<a name="1114" href="#1114">1114</a> <strong class="jxr_keyword">final</strong> String title = <span class="jxr_string">"LogFactor5 Properties"</span>; +<a name="1115" href="#1115">1115</a> <strong class="jxr_keyword">final</strong> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(title); +<a name="1116" href="#1116">1116</a> result.setMnemonic('l'); +<a name="1117" href="#1117">1117</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1118" href="#1118">1118</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1119" href="#1119">1119</a> showPropertiesDialog(title); +<a name="1120" href="#1120">1120</a> } +<a name="1121" href="#1121">1121</a> }); +<a name="1122" href="#1122">1122</a> <strong class="jxr_keyword">return</strong> result; +<a name="1123" href="#1123">1123</a> } +<a name="1124" href="#1124">1124</a> +<a name="1125" href="#1125">1125</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> showPropertiesDialog(String title) { +<a name="1126" href="#1126">1126</a> JOptionPane.showMessageDialog( +<a name="1127" href="#1127">1127</a> _logMonitorFrame, +<a name="1128" href="#1128">1128</a> _displayedLogBrokerProperties.toArray(), +<a name="1129" href="#1129">1129</a> title, +<a name="1130" href="#1130">1130</a> JOptionPane.PLAIN_MESSAGE +<a name="1131" href="#1131">1131</a> ); +<a name="1132" href="#1132">1132</a> } +<a name="1133" href="#1133">1133</a> +<a name="1134" href="#1134">1134</a> <strong class="jxr_keyword">protected</strong> JMenu createEditMenu() { +<a name="1135" href="#1135">1135</a> JMenu editMenu = <strong class="jxr_keyword">new</strong> JMenu(<span class="jxr_string">"Edit"</span>); +<a name="1136" href="#1136">1136</a> editMenu.setMnemonic('e'); +<a name="1137" href="#1137">1137</a> editMenu.add(createEditFindMI()); +<a name="1138" href="#1138">1138</a> editMenu.add(createEditFindNextMI()); +<a name="1139" href="#1139">1139</a> editMenu.addSeparator(); +<a name="1140" href="#1140">1140</a> editMenu.add(createEditSortNDCMI()); +<a name="1141" href="#1141">1141</a> editMenu.add(createEditRestoreAllNDCMI()); +<a name="1142" href="#1142">1142</a> <strong class="jxr_keyword">return</strong> editMenu; +<a name="1143" href="#1143">1143</a> } +<a name="1144" href="#1144">1144</a> +<a name="1145" href="#1145">1145</a> <strong class="jxr_keyword">protected</strong> JMenuItem createEditFindNextMI() { +<a name="1146" href="#1146">1146</a> JMenuItem editFindNextMI = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Find Next"</span>); +<a name="1147" href="#1147">1147</a> editFindNextMI.setMnemonic('n'); +<a name="1148" href="#1148">1148</a> editFindNextMI.setAccelerator(KeyStroke.getKeyStroke(<span class="jxr_string">"F3"</span>)); +<a name="1149" href="#1149">1149</a> editFindNextMI.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1150" href="#1150">1150</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1151" href="#1151">1151</a> findSearchText(); +<a name="1152" href="#1152">1152</a> } +<a name="1153" href="#1153">1153</a> }); +<a name="1154" href="#1154">1154</a> <strong class="jxr_keyword">return</strong> editFindNextMI; +<a name="1155" href="#1155">1155</a> } +<a name="1156" href="#1156">1156</a> +<a name="1157" href="#1157">1157</a> <strong class="jxr_keyword">protected</strong> JMenuItem createEditFindMI() { +<a name="1158" href="#1158">1158</a> JMenuItem editFindMI = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Find"</span>); +<a name="1159" href="#1159">1159</a> editFindMI.setMnemonic('f'); +<a name="1160" href="#1160">1160</a> editFindMI.setAccelerator(KeyStroke.getKeyStroke(<span class="jxr_string">"control F"</span>)); +<a name="1161" href="#1161">1161</a> +<a name="1162" href="#1162">1162</a> editFindMI.addActionListener( +<a name="1163" href="#1163">1163</a> <strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1164" href="#1164">1164</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1165" href="#1165">1165</a> String inputValue = +<a name="1166" href="#1166">1166</a> JOptionPane.showInputDialog( +<a name="1167" href="#1167">1167</a> _logMonitorFrame, +<a name="1168" href="#1168">1168</a> <span class="jxr_string">"Find text: "</span>, +<a name="1169" href="#1169">1169</a> <span class="jxr_string">"Search Record Messages"</span>, +<a name="1170" href="#1170">1170</a> JOptionPane.QUESTION_MESSAGE +<a name="1171" href="#1171">1171</a> ); +<a name="1172" href="#1172">1172</a> setSearchText(inputValue); +<a name="1173" href="#1173">1173</a> findSearchText(); +<a name="1174" href="#1174">1174</a> } +<a name="1175" href="#1175">1175</a> } +<a name="1176" href="#1176">1176</a> +<a name="1177" href="#1177">1177</a> ); +<a name="1178" href="#1178">1178</a> <strong class="jxr_keyword">return</strong> editFindMI; +<a name="1179" href="#1179">1179</a> } +<a name="1180" href="#1180">1180</a> +<a name="1181" href="#1181">1181</a> <em class="jxr_comment">// Added version 1.2 - Allows users to Sort Log Records by an</em> +<a name="1182" href="#1182">1182</a> <em class="jxr_comment">// NDC text filter. A new LogRecordFilter was created to</em> +<a name="1183" href="#1183">1183</a> <em class="jxr_comment">// sort the records.</em> +<a name="1184" href="#1184">1184</a> <strong class="jxr_keyword">protected</strong> JMenuItem createEditSortNDCMI() { +<a name="1185" href="#1185">1185</a> JMenuItem editSortNDCMI = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Sort by NDC"</span>); +<a name="1186" href="#1186">1186</a> editSortNDCMI.setMnemonic('s'); +<a name="1187" href="#1187">1187</a> editSortNDCMI.addActionListener( +<a name="1188" href="#1188">1188</a> <strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1189" href="#1189">1189</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1190" href="#1190">1190</a> String inputValue = +<a name="1191" href="#1191">1191</a> JOptionPane.showInputDialog( +<a name="1192" href="#1192">1192</a> _logMonitorFrame, +<a name="1193" href="#1193">1193</a> <span class="jxr_string">"Sort by this NDC: "</span>, +<a name="1194" href="#1194">1194</a> <span class="jxr_string">"Sort Log Records by NDC"</span>, +<a name="1195" href="#1195">1195</a> JOptionPane.QUESTION_MESSAGE +<a name="1196" href="#1196">1196</a> ); +<a name="1197" href="#1197">1197</a> setNDCTextFilter(inputValue); +<a name="1198" href="#1198">1198</a> sortByNDC(); +<a name="1199" href="#1199">1199</a> _table.getFilteredLogTableModel().refresh(); +<a name="1200" href="#1200">1200</a> updateStatusLabel(); +<a name="1201" href="#1201">1201</a> } +<a name="1202" href="#1202">1202</a> } +<a name="1203" href="#1203">1203</a> +<a name="1204" href="#1204">1204</a> ); +<a name="1205" href="#1205">1205</a> <strong class="jxr_keyword">return</strong> editSortNDCMI; +<a name="1206" href="#1206">1206</a> } +<a name="1207" href="#1207">1207</a> +<a name="1208" href="#1208">1208</a> <em class="jxr_comment">// Added in version 1.2 - Resets the LogRecordFilter back to default</em> +<a name="1209" href="#1209">1209</a> <em class="jxr_comment">// filter.</em> +<a name="1210" href="#1210">1210</a> <strong class="jxr_keyword">protected</strong> JMenuItem createEditRestoreAllNDCMI() { +<a name="1211" href="#1211">1211</a> JMenuItem editRestoreAllNDCMI = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Restore all NDCs"</span>); +<a name="1212" href="#1212">1212</a> editRestoreAllNDCMI.setMnemonic('r'); +<a name="1213" href="#1213">1213</a> editRestoreAllNDCMI.addActionListener( +<a name="1214" href="#1214">1214</a> <strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1215" href="#1215">1215</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1216" href="#1216">1216</a> _table.getFilteredLogTableModel().setLogRecordFilter(createLogRecordFilter()); +<a name="1217" href="#1217">1217</a> <em class="jxr_comment">// reset the text filter</em> +<a name="1218" href="#1218">1218</a> setNDCTextFilter(<span class="jxr_string">""</span>); +<a name="1219" href="#1219">1219</a> _table.getFilteredLogTableModel().refresh(); +<a name="1220" href="#1220">1220</a> updateStatusLabel(); +<a name="1221" href="#1221">1221</a> } +<a name="1222" href="#1222">1222</a> } +<a name="1223" href="#1223">1223</a> ); +<a name="1224" href="#1224">1224</a> <strong class="jxr_keyword">return</strong> editRestoreAllNDCMI; +<a name="1225" href="#1225">1225</a> } +<a name="1226" href="#1226">1226</a> +<a name="1227" href="#1227">1227</a> <strong class="jxr_keyword">protected</strong> JToolBar createToolBar() { +<a name="1228" href="#1228">1228</a> JToolBar tb = <strong class="jxr_keyword">new</strong> JToolBar(); +<a name="1229" href="#1229">1229</a> tb.putClientProperty(<span class="jxr_string">"JToolBar.isRollover"</span>, Boolean.TRUE); +<a name="1230" href="#1230">1230</a> JComboBox fontCombo = <strong class="jxr_keyword">new</strong> JComboBox(); +<a name="1231" href="#1231">1231</a> JComboBox fontSizeCombo = <strong class="jxr_keyword">new</strong> JComboBox(); +<a name="1232" href="#1232">1232</a> _fontSizeCombo = fontSizeCombo; +<a name="1233" href="#1233">1233</a> +<a name="1234" href="#1234">1234</a> ClassLoader cl = <strong class="jxr_keyword">this</strong>.getClass().getClassLoader(); +<a name="1235" href="#1235">1235</a> <strong class="jxr_keyword">if</strong>(cl == <strong class="jxr_keyword">null</strong>) { +<a name="1236" href="#1236">1236</a> cl = ClassLoader.getSystemClassLoader(); +<a name="1237" href="#1237">1237</a> } +<a name="1238" href="#1238">1238</a> URL newIconURL = cl.getResource(<span class="jxr_string">"org/apache/log4j/lf5/viewer/"</span> + +<a name="1239" href="#1239">1239</a> <span class="jxr_string">"images/channelexplorer_new.gif"</span>); +<a name="1240" href="#1240">1240</a> +<a name="1241" href="#1241">1241</a> ImageIcon newIcon = <strong class="jxr_keyword">null</strong>; +<a name="1242" href="#1242">1242</a> +<a name="1243" href="#1243">1243</a> <strong class="jxr_keyword">if</strong> (newIconURL != <strong class="jxr_keyword">null</strong>) { +<a name="1244" href="#1244">1244</a> newIcon = <strong class="jxr_keyword">new</strong> ImageIcon(newIconURL); +<a name="1245" href="#1245">1245</a> } +<a name="1246" href="#1246">1246</a> +<a name="1247" href="#1247">1247</a> JButton newButton = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">"Clear Log Table"</span>); +<a name="1248" href="#1248">1248</a> +<a name="1249" href="#1249">1249</a> <strong class="jxr_keyword">if</strong> (newIcon != <strong class="jxr_keyword">null</strong>) { +<a name="1250" href="#1250">1250</a> newButton.setIcon(newIcon); +<a name="1251" href="#1251">1251</a> } +<a name="1252" href="#1252">1252</a> +<a name="1253" href="#1253">1253</a> newButton.setToolTipText(<span class="jxr_string">"Clear Log Table."</span>); +<a name="1254" href="#1254">1254</a> <em class="jxr_comment">//newButton.setBorder(BorderFactory.createEtchedBorder());</em> +<a name="1255" href="#1255">1255</a> +<a name="1256" href="#1256">1256</a> newButton.addActionListener( +<a name="1257" href="#1257">1257</a> <strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1258" href="#1258">1258</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1259" href="#1259">1259</a> _table.clearLogRecords(); +<a name="1260" href="#1260">1260</a> _categoryExplorerTree.getExplorerModel().resetAllNodeCounts(); +<a name="1261" href="#1261">1261</a> updateStatusLabel(); +<a name="1262" href="#1262">1262</a> clearDetailTextArea(); +<a name="1263" href="#1263">1263</a> LogRecord.resetSequenceNumber(); +<a name="1264" href="#1264">1264</a> } +<a name="1265" href="#1265">1265</a> } +<a name="1266" href="#1266">1266</a> ); +<a name="1267" href="#1267">1267</a> +<a name="1268" href="#1268">1268</a> Toolkit tk = Toolkit.getDefaultToolkit(); +<a name="1269" href="#1269">1269</a> <em class="jxr_comment">// This will actually grab all the fonts</em> +<a name="1270" href="#1270">1270</a> +<a name="1271" href="#1271">1271</a> String[] fonts; +<a name="1272" href="#1272">1272</a> +<a name="1273" href="#1273">1273</a> <strong class="jxr_keyword">if</strong> (_loadSystemFonts) { +<a name="1274" href="#1274">1274</a> fonts = GraphicsEnvironment. +<a name="1275" href="#1275">1275</a> getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); +<a name="1276" href="#1276">1276</a> } <strong class="jxr_keyword">else</strong> { +<a name="1277" href="#1277">1277</a> fonts = tk.getFontList(); +<a name="1278" href="#1278">1278</a> } +<a name="1279" href="#1279">1279</a> +<a name="1280" href="#1280">1280</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> j = 0; j &lt; fonts.length; j++) { +<a name="1281" href="#1281">1281</a> fontCombo.addItem(fonts[j]); +<a name="1282" href="#1282">1282</a> } +<a name="1283" href="#1283">1283</a> +<a name="1284" href="#1284">1284</a> fontCombo.setSelectedItem(_fontName); +<a name="1285" href="#1285">1285</a> +<a name="1286" href="#1286">1286</a> fontCombo.addActionListener( +<a name="1287" href="#1287">1287</a> +<a name="1288" href="#1288">1288</a> <strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1289" href="#1289">1289</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1290" href="#1290">1290</a> JComboBox box = (JComboBox) e.getSource(); +<a name="1291" href="#1291">1291</a> String font = (String) box.getSelectedItem(); +<a name="1292" href="#1292">1292</a> _table.setFont(<strong class="jxr_keyword">new</strong> Font(font, Font.PLAIN, _fontSize)); +<a name="1293" href="#1293">1293</a> _fontName = font; +<a name="1294" href="#1294">1294</a> } +<a name="1295" href="#1295">1295</a> } +<a name="1296" href="#1296">1296</a> ); +<a name="1297" href="#1297">1297</a> +<a name="1298" href="#1298">1298</a> fontSizeCombo.addItem(<span class="jxr_string">"8"</span>); +<a name="1299" href="#1299">1299</a> fontSizeCombo.addItem(<span class="jxr_string">"9"</span>); +<a name="1300" href="#1300">1300</a> fontSizeCombo.addItem(<span class="jxr_string">"10"</span>); +<a name="1301" href="#1301">1301</a> fontSizeCombo.addItem(<span class="jxr_string">"12"</span>); +<a name="1302" href="#1302">1302</a> fontSizeCombo.addItem(<span class="jxr_string">"14"</span>); +<a name="1303" href="#1303">1303</a> fontSizeCombo.addItem(<span class="jxr_string">"16"</span>); +<a name="1304" href="#1304">1304</a> fontSizeCombo.addItem(<span class="jxr_string">"18"</span>); +<a name="1305" href="#1305">1305</a> fontSizeCombo.addItem(<span class="jxr_string">"24"</span>); +<a name="1306" href="#1306">1306</a> +<a name="1307" href="#1307">1307</a> fontSizeCombo.setSelectedItem(String.valueOf(_fontSize)); +<a name="1308" href="#1308">1308</a> fontSizeCombo.addActionListener( +<a name="1309" href="#1309">1309</a> <strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1310" href="#1310">1310</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1311" href="#1311">1311</a> JComboBox box = (JComboBox) e.getSource(); +<a name="1312" href="#1312">1312</a> String size = (String) box.getSelectedItem(); +<a name="1313" href="#1313">1313</a> <strong class="jxr_keyword">int</strong> s = Integer.valueOf(size).intValue(); +<a name="1314" href="#1314">1314</a> +<a name="1315" href="#1315">1315</a> setFontSizeSilently(s); +<a name="1316" href="#1316">1316</a> refreshDetailTextArea(); +<a name="1317" href="#1317">1317</a> _fontSize = s; +<a name="1318" href="#1318">1318</a> } +<a name="1319" href="#1319">1319</a> } +<a name="1320" href="#1320">1320</a> ); +<a name="1321" href="#1321">1321</a> +<a name="1322" href="#1322">1322</a> tb.add(<strong class="jxr_keyword">new</strong> JLabel(<span class="jxr_string">" Font: "</span>)); +<a name="1323" href="#1323">1323</a> tb.add(fontCombo); +<a name="1324" href="#1324">1324</a> tb.add(fontSizeCombo); +<a name="1325" href="#1325">1325</a> tb.addSeparator(); +<a name="1326" href="#1326">1326</a> tb.addSeparator(); +<a name="1327" href="#1327">1327</a> tb.add(newButton); +<a name="1328" href="#1328">1328</a> +<a name="1329" href="#1329">1329</a> newButton.setAlignmentY(0.5f); +<a name="1330" href="#1330">1330</a> newButton.setAlignmentX(0.5f); +<a name="1331" href="#1331">1331</a> +<a name="1332" href="#1332">1332</a> fontCombo.setMaximumSize(fontCombo.getPreferredSize()); +<a name="1333" href="#1333">1333</a> fontSizeCombo.setMaximumSize( +<a name="1334" href="#1334">1334</a> fontSizeCombo.getPreferredSize()); +<a name="1335" href="#1335">1335</a> +<a name="1336" href="#1336">1336</a> <strong class="jxr_keyword">return</strong> (tb); +<a name="1337" href="#1337">1337</a> } +<a name="1338" href="#1338">1338</a> +<a name="1339" href="#1339">1339</a> <em class="jxr_comment">// protected void setView(String viewString, LogTable table) {</em> +<a name="1340" href="#1340">1340</a> <em class="jxr_comment">// if (STANDARD_VIEW.equals(viewString)) {</em> +<a name="1341" href="#1341">1341</a> <em class="jxr_comment">// table.setStandardView();</em> +<a name="1342" href="#1342">1342</a> <em class="jxr_comment">// } else if (COMPACT_VIEW.equals(viewString)) {</em> +<a name="1343" href="#1343">1343</a> <em class="jxr_comment">// table.setCompactView();</em> +<a name="1344" href="#1344">1344</a> <em class="jxr_comment">// } else if (DETAILED_VIEW.equals(viewString)) {</em> +<a name="1345" href="#1345">1345</a> <em class="jxr_comment">// table.setDetailedView();</em> +<a name="1346" href="#1346">1346</a> <em class="jxr_comment">// } else {</em> +<a name="1347" href="#1347">1347</a> <em class="jxr_comment">// String message = viewString + "does not match a supported view.";</em> +<a name="1348" href="#1348">1348</a> <em class="jxr_comment">// throw new IllegalArgumentException(message);</em> +<a name="1349" href="#1349">1349</a> <em class="jxr_comment">// }</em> +<a name="1350" href="#1350">1350</a> <em class="jxr_comment">// _currentView = viewString;</em> +<a name="1351" href="#1351">1351</a> <em class="jxr_comment">// }</em> +<a name="1352" href="#1352">1352</a> +<a name="1353" href="#1353">1353</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setView(String viewString, <a href="../../../../../org/apache/log4j/lf5/viewer/LogTable.html">LogTable</a> table) { +<a name="1354" href="#1354">1354</a> <strong class="jxr_keyword">if</strong> (DETAILED_VIEW.equals(viewString)) { +<a name="1355" href="#1355">1355</a> table.setDetailedView(); +<a name="1356" href="#1356">1356</a> } <strong class="jxr_keyword">else</strong> { +<a name="1357" href="#1357">1357</a> String message = viewString + <span class="jxr_string">"does not match a supported view."</span>; +<a name="1358" href="#1358">1358</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(message); +<a name="1359" href="#1359">1359</a> } +<a name="1360" href="#1360">1360</a> _currentView = viewString; +<a name="1361" href="#1361">1361</a> } +<a name="1362" href="#1362">1362</a> +<a name="1363" href="#1363">1363</a> <strong class="jxr_keyword">protected</strong> JComboBox createLogLevelCombo() { +<a name="1364" href="#1364">1364</a> JComboBox result = <strong class="jxr_keyword">new</strong> JComboBox(); +<a name="1365" href="#1365">1365</a> Iterator levels = getLogLevels(); +<a name="1366" href="#1366">1366</a> <strong class="jxr_keyword">while</strong> (levels.hasNext()) { +<a name="1367" href="#1367">1367</a> result.addItem(levels.next()); +<a name="1368" href="#1368">1368</a> } +<a name="1369" href="#1369">1369</a> result.setSelectedItem(_leastSevereDisplayedLogLevel); +<a name="1370" href="#1370">1370</a> +<a name="1371" href="#1371">1371</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="1372" href="#1372">1372</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="1373" href="#1373">1373</a> JComboBox box = (JComboBox) e.getSource(); +<a name="1374" href="#1374">1374</a> <a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level = (LogLevel) box.getSelectedItem(); +<a name="1375" href="#1375">1375</a> setLeastSevereDisplayedLogLevel(level); +<a name="1376" href="#1376">1376</a> } +<a name="1377" href="#1377">1377</a> }); +<a name="1378" href="#1378">1378</a> result.setMaximumSize(result.getPreferredSize()); +<a name="1379" href="#1379">1379</a> <strong class="jxr_keyword">return</strong> result; +<a name="1380" href="#1380">1380</a> } +<a name="1381" href="#1381">1381</a> +<a name="1382" href="#1382">1382</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setLeastSevereDisplayedLogLevel(<a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="1383" href="#1383">1383</a> <strong class="jxr_keyword">if</strong> (level == <strong class="jxr_keyword">null</strong> || _leastSevereDisplayedLogLevel == level) { +<a name="1384" href="#1384">1384</a> <strong class="jxr_keyword">return</strong>; <em class="jxr_comment">// nothing to do</em> +<a name="1385" href="#1385">1385</a> } +<a name="1386" href="#1386">1386</a> _leastSevereDisplayedLogLevel = level; +<a name="1387" href="#1387">1387</a> _table.getFilteredLogTableModel().refresh(); +<a name="1388" href="#1388">1388</a> updateStatusLabel(); +<a name="1389" href="#1389">1389</a> } +<a name="1390" href="#1390">1390</a> +<a name="1391" href="#1391">1391</a> <em class="jxr_javadoccomment">/**</em> +<a name="1392" href="#1392">1392</a> <em class="jxr_javadoccomment"> * Ensures that the Table's ScrollPane Viewport will "track" with updates</em> +<a name="1393" href="#1393">1393</a> <em class="jxr_javadoccomment"> * to the Table. When the vertical scroll bar is at its bottom anchor</em> +<a name="1394" href="#1394">1394</a> <em class="jxr_javadoccomment"> * and tracking is enabled then viewport will stay at the bottom most</em> +<a name="1395" href="#1395">1395</a> <em class="jxr_javadoccomment"> * point of the component. The purpose of this feature is to allow</em> +<a name="1396" href="#1396">1396</a> <em class="jxr_javadoccomment"> * a developer to watch the table as messages arrive and not have to</em> +<a name="1397" href="#1397">1397</a> <em class="jxr_javadoccomment"> * scroll after each new message arrives. When the vertical scroll bar</em> +<a name="1398" href="#1398">1398</a> <em class="jxr_javadoccomment"> * is at any other location, then no tracking will happen.</em> +<a name="1399" href="#1399">1399</a> <em class="jxr_javadoccomment"> * @deprecated tracking is now done automatically.</em> +<a name="1400" href="#1400">1400</a> <em class="jxr_javadoccomment"> */</em> +<a name="1401" href="#1401">1401</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> trackTableScrollPane() { +<a name="1402" href="#1402">1402</a> <em class="jxr_comment">// do nothing</em> +<a name="1403" href="#1403">1403</a> } +<a name="1404" href="#1404">1404</a> +<a name="1405" href="#1405">1405</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> centerFrame(JFrame frame) { +<a name="1406" href="#1406">1406</a> Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); +<a name="1407" href="#1407">1407</a> Dimension comp = frame.getSize(); +<a name="1408" href="#1408">1408</a> +<a name="1409" href="#1409">1409</a> frame.setLocation(((screen.width - comp.width) / 2), +<a name="1410" href="#1410">1410</a> ((screen.height - comp.height) / 2)); +<a name="1411" href="#1411">1411</a> +<a name="1412" href="#1412">1412</a> } +<a name="1413" href="#1413">1413</a> +<a name="1414" href="#1414">1414</a> <em class="jxr_javadoccomment">/**</em> +<a name="1415" href="#1415">1415</a> <em class="jxr_javadoccomment"> * Uses a JFileChooser to select a file to opened with the</em> +<a name="1416" href="#1416">1416</a> <em class="jxr_javadoccomment"> * LF5 GUI.</em> +<a name="1417" href="#1417">1417</a> <em class="jxr_javadoccomment"> */</em> +<a name="1418" href="#1418">1418</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> requestOpen() { +<a name="1419" href="#1419">1419</a> JFileChooser chooser; +<a name="1420" href="#1420">1420</a> +<a name="1421" href="#1421">1421</a> <strong class="jxr_keyword">if</strong> (_fileLocation == <strong class="jxr_keyword">null</strong>) { +<a name="1422" href="#1422">1422</a> chooser = <strong class="jxr_keyword">new</strong> JFileChooser(); +<a name="1423" href="#1423">1423</a> } <strong class="jxr_keyword">else</strong> { +<a name="1424" href="#1424">1424</a> chooser = <strong class="jxr_keyword">new</strong> JFileChooser(_fileLocation); +<a name="1425" href="#1425">1425</a> } +<a name="1426" href="#1426">1426</a> +<a name="1427" href="#1427">1427</a> <strong class="jxr_keyword">int</strong> returnVal = chooser.showOpenDialog(_logMonitorFrame); +<a name="1428" href="#1428">1428</a> <strong class="jxr_keyword">if</strong> (returnVal == JFileChooser.APPROVE_OPTION) { +<a name="1429" href="#1429">1429</a> File f = chooser.getSelectedFile(); +<a name="1430" href="#1430">1430</a> <strong class="jxr_keyword">if</strong> (loadLogFile(f)) { +<a name="1431" href="#1431">1431</a> _fileLocation = chooser.getSelectedFile(); +<a name="1432" href="#1432">1432</a> _mruFileManager.set(f); +<a name="1433" href="#1433">1433</a> updateMRUList(); +<a name="1434" href="#1434">1434</a> } +<a name="1435" href="#1435">1435</a> } +<a name="1436" href="#1436">1436</a> } +<a name="1437" href="#1437">1437</a> +<a name="1438" href="#1438">1438</a> <em class="jxr_javadoccomment">/**</em> +<a name="1439" href="#1439">1439</a> <em class="jxr_javadoccomment"> * Uses a Dialog box to accept a URL to a file to be opened</em> +<a name="1440" href="#1440">1440</a> <em class="jxr_javadoccomment"> * with the LF5 GUI.</em> +<a name="1441" href="#1441">1441</a> <em class="jxr_javadoccomment"> */</em> +<a name="1442" href="#1442">1442</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> requestOpenURL() { +<a name="1443" href="#1443">1443</a> LogFactor5InputDialog inputDialog = <strong class="jxr_keyword">new</strong> LogFactor5InputDialog( +<a name="1444" href="#1444">1444</a> getBaseFrame(), <span class="jxr_string">"Open URL"</span>, <span class="jxr_string">"URL:"</span>); +<a name="1445" href="#1445">1445</a> String temp = inputDialog.getText(); +<a name="1446" href="#1446">1446</a> +<a name="1447" href="#1447">1447</a> <strong class="jxr_keyword">if</strong> (temp != <strong class="jxr_keyword">null</strong>) { +<a name="1448" href="#1448">1448</a> <strong class="jxr_keyword">if</strong> (temp.indexOf(<span class="jxr_string">"://"</span>) == -1) { +<a name="1449" href="#1449">1449</a> temp = <span class="jxr_string">"http://"</span> + temp; +<a name="1450" href="#1450">1450</a> } +<a name="1451" href="#1451">1451</a> +<a name="1452" href="#1452">1452</a> <strong class="jxr_keyword">try</strong> { +<a name="1453" href="#1453">1453</a> URL url = <strong class="jxr_keyword">new</strong> URL(temp); +<a name="1454" href="#1454">1454</a> <strong class="jxr_keyword">if</strong> (loadLogFile(url)) { +<a name="1455" href="#1455">1455</a> _mruFileManager.set(url); +<a name="1456" href="#1456">1456</a> updateMRUList(); +<a name="1457" href="#1457">1457</a> } +<a name="1458" href="#1458">1458</a> } <strong class="jxr_keyword">catch</strong> (MalformedURLException e) { +<a name="1459" href="#1459">1459</a> LogFactor5ErrorDialog error = <strong class="jxr_keyword">new</strong> LogFactor5ErrorDialog( +<a name="1460" href="#1460">1460</a> getBaseFrame(), <span class="jxr_string">"Error reading URL."</span>); +<a name="1461" href="#1461">1461</a> } +<a name="1462" href="#1462">1462</a> } +<a name="1463" href="#1463">1463</a> } +<a name="1464" href="#1464">1464</a> +<a name="1465" href="#1465">1465</a> <em class="jxr_javadoccomment">/**</em> +<a name="1466" href="#1466">1466</a> <em class="jxr_javadoccomment"> * Removes old file list and creates a new file list</em> +<a name="1467" href="#1467">1467</a> <em class="jxr_javadoccomment"> * with the updated MRU list.</em> +<a name="1468" href="#1468">1468</a> <em class="jxr_javadoccomment"> */</em> +<a name="1469" href="#1469">1469</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> updateMRUList() { +<a name="1470" href="#1470">1470</a> JMenu menu = _logMonitorFrame.getJMenuBar().getMenu(0); +<a name="1471" href="#1471">1471</a> menu.removeAll(); +<a name="1472" href="#1472">1472</a> menu.add(createOpenMI()); +<a name="1473" href="#1473">1473</a> menu.add(createOpenURLMI()); +<a name="1474" href="#1474">1474</a> menu.addSeparator(); +<a name="1475" href="#1475">1475</a> menu.add(createCloseMI()); +<a name="1476" href="#1476">1476</a> createMRUFileListMI(menu); +<a name="1477" href="#1477">1477</a> menu.addSeparator(); +<a name="1478" href="#1478">1478</a> menu.add(createExitMI()); +<a name="1479" href="#1479">1479</a> } +<a name="1480" href="#1480">1480</a> +<a name="1481" href="#1481">1481</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> requestClose() { +<a name="1482" href="#1482">1482</a> setCallSystemExitOnClose(false); +<a name="1483" href="#1483">1483</a> closeAfterConfirm(); +<a name="1484" href="#1484">1484</a> } +<a name="1485" href="#1485">1485</a> +<a name="1486" href="#1486">1486</a> <em class="jxr_javadoccomment">/**</em> +<a name="1487" href="#1487">1487</a> <em class="jxr_javadoccomment"> * Opens a file in the MRU list.</em> +<a name="1488" href="#1488">1488</a> <em class="jxr_javadoccomment"> */</em> +<a name="1489" href="#1489">1489</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> requestOpenMRU(ActionEvent e) { +<a name="1490" href="#1490">1490</a> String file = e.getActionCommand(); +<a name="1491" href="#1491">1491</a> StringTokenizer st = <strong class="jxr_keyword">new</strong> StringTokenizer(file); +<a name="1492" href="#1492">1492</a> String num = st.nextToken().trim(); +<a name="1493" href="#1493">1493</a> file = st.nextToken(<span class="jxr_string">"\n"</span>); +<a name="1494" href="#1494">1494</a> +<a name="1495" href="#1495">1495</a> <strong class="jxr_keyword">try</strong> { +<a name="1496" href="#1496">1496</a> <strong class="jxr_keyword">int</strong> index = Integer.parseInt(num) - 1; +<a name="1497" href="#1497">1497</a> +<a name="1498" href="#1498">1498</a> InputStream in = _mruFileManager.getInputStream(index); +<a name="1499" href="#1499">1499</a> <a href="../../../../../org/apache/log4j/lf5/util/LogFileParser.html">LogFileParser</a> lfp = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogFileParser.html">LogFileParser</a>(in); +<a name="1500" href="#1500">1500</a> lfp.parse(<strong class="jxr_keyword">this</strong>); +<a name="1501" href="#1501">1501</a> +<a name="1502" href="#1502">1502</a> _mruFileManager.moveToTop(index); +<a name="1503" href="#1503">1503</a> updateMRUList(); +<a name="1504" href="#1504">1504</a> +<a name="1505" href="#1505">1505</a> } <strong class="jxr_keyword">catch</strong> (Exception me) { +<a name="1506" href="#1506">1506</a> LogFactor5ErrorDialog error = <strong class="jxr_keyword">new</strong> LogFactor5ErrorDialog( +<a name="1507" href="#1507">1507</a> getBaseFrame(), <span class="jxr_string">"Unable to load file "</span> + file); +<a name="1508" href="#1508">1508</a> } +<a name="1509" href="#1509">1509</a> +<a name="1510" href="#1510">1510</a> } +<a name="1511" href="#1511">1511</a> +<a name="1512" href="#1512">1512</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> requestExit() { +<a name="1513" href="#1513">1513</a> _mruFileManager.save(); +<a name="1514" href="#1514">1514</a> setCallSystemExitOnClose(<strong class="jxr_keyword">true</strong>); +<a name="1515" href="#1515">1515</a> closeAfterConfirm(); +<a name="1516" href="#1516">1516</a> } +<a name="1517" href="#1517">1517</a> +<a name="1518" href="#1518">1518</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> closeAfterConfirm() { +<a name="1519" href="#1519">1519</a> StringBuffer message = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="1520" href="#1520">1520</a> +<a name="1521" href="#1521">1521</a> <strong class="jxr_keyword">if</strong> (_callSystemExitOnClose == false) { +<a name="1522" href="#1522">1522</a> message.append(<span class="jxr_string">"Are you sure you want to close the logging "</span>); +<a name="1523" href="#1523">1523</a> message.append(<span class="jxr_string">"console?\n"</span>); +<a name="1524" href="#1524">1524</a> message.append(<span class="jxr_string">"(Note: This will not shut down the Virtual Machine,\n"</span>); +<a name="1525" href="#1525">1525</a> message.append(<span class="jxr_string">"or the Swing event thread.)"</span>); +<a name="1526" href="#1526">1526</a> } <strong class="jxr_keyword">else</strong> { +<a name="1527" href="#1527">1527</a> message.append(<span class="jxr_string">"Are you sure you want to exit?\n"</span>); +<a name="1528" href="#1528">1528</a> message.append(<span class="jxr_string">"This will shut down the Virtual Machine.\n"</span>); +<a name="1529" href="#1529">1529</a> } +<a name="1530" href="#1530">1530</a> +<a name="1531" href="#1531">1531</a> String title = +<a name="1532" href="#1532">1532</a> <span class="jxr_string">"Are you sure you want to dispose of the Logging Console?"</span>; +<a name="1533" href="#1533">1533</a> +<a name="1534" href="#1534">1534</a> <strong class="jxr_keyword">if</strong> (_callSystemExitOnClose == <strong class="jxr_keyword">true</strong>) { +<a name="1535" href="#1535">1535</a> title = <span class="jxr_string">"Are you sure you want to exit?"</span>; +<a name="1536" href="#1536">1536</a> } +<a name="1537" href="#1537">1537</a> <strong class="jxr_keyword">int</strong> value = JOptionPane.showConfirmDialog( +<a name="1538" href="#1538">1538</a> _logMonitorFrame, +<a name="1539" href="#1539">1539</a> message.toString(), +<a name="1540" href="#1540">1540</a> title, +<a name="1541" href="#1541">1541</a> JOptionPane.OK_CANCEL_OPTION, +<a name="1542" href="#1542">1542</a> JOptionPane.QUESTION_MESSAGE, +<a name="1543" href="#1543">1543</a> <strong class="jxr_keyword">null</strong> +<a name="1544" href="#1544">1544</a> ); +<a name="1545" href="#1545">1545</a> +<a name="1546" href="#1546">1546</a> <strong class="jxr_keyword">if</strong> (value == JOptionPane.OK_OPTION) { +<a name="1547" href="#1547">1547</a> dispose(); +<a name="1548" href="#1548">1548</a> } +<a name="1549" href="#1549">1549</a> } +<a name="1550" href="#1550">1550</a> +<a name="1551" href="#1551">1551</a> <strong class="jxr_keyword">protected</strong> Iterator getLogLevels() { +<a name="1552" href="#1552">1552</a> <strong class="jxr_keyword">return</strong> _levels.iterator(); +<a name="1553" href="#1553">1553</a> } +<a name="1554" href="#1554">1554</a> +<a name="1555" href="#1555">1555</a> <strong class="jxr_keyword">protected</strong> Iterator getLogTableColumns() { +<a name="1556" href="#1556">1556</a> <strong class="jxr_keyword">return</strong> _columns.iterator(); +<a name="1557" href="#1557">1557</a> } +<a name="1558" href="#1558">1558</a> +<a name="1559" href="#1559">1559</a> <em class="jxr_javadoccomment">/**</em> +<a name="1560" href="#1560">1560</a> <em class="jxr_javadoccomment"> * Loads and parses a log file.</em> +<a name="1561" href="#1561">1561</a> <em class="jxr_javadoccomment"> */</em> +<a name="1562" href="#1562">1562</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> loadLogFile(File file) { +<a name="1563" href="#1563">1563</a> <strong class="jxr_keyword">boolean</strong> ok = false; +<a name="1564" href="#1564">1564</a> <strong class="jxr_keyword">try</strong> { +<a name="1565" href="#1565">1565</a> <a href="../../../../../org/apache/log4j/lf5/util/LogFileParser.html">LogFileParser</a> lfp = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogFileParser.html">LogFileParser</a>(file); +<a name="1566" href="#1566">1566</a> lfp.parse(<strong class="jxr_keyword">this</strong>); +<a name="1567" href="#1567">1567</a> ok = <strong class="jxr_keyword">true</strong>; +<a name="1568" href="#1568">1568</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="1569" href="#1569">1569</a> LogFactor5ErrorDialog error = <strong class="jxr_keyword">new</strong> LogFactor5ErrorDialog( +<a name="1570" href="#1570">1570</a> getBaseFrame(), <span class="jxr_string">"Error reading "</span> + file.getName()); +<a name="1571" href="#1571">1571</a> } +<a name="1572" href="#1572">1572</a> +<a name="1573" href="#1573">1573</a> <strong class="jxr_keyword">return</strong> ok; +<a name="1574" href="#1574">1574</a> } +<a name="1575" href="#1575">1575</a> +<a name="1576" href="#1576">1576</a> <em class="jxr_javadoccomment">/**</em> +<a name="1577" href="#1577">1577</a> <em class="jxr_javadoccomment"> * Loads a parses a log file running on a server.</em> +<a name="1578" href="#1578">1578</a> <em class="jxr_javadoccomment"> */</em> +<a name="1579" href="#1579">1579</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> loadLogFile(URL url) { +<a name="1580" href="#1580">1580</a> <strong class="jxr_keyword">boolean</strong> ok = false; +<a name="1581" href="#1581">1581</a> <strong class="jxr_keyword">try</strong> { +<a name="1582" href="#1582">1582</a> <a href="../../../../../org/apache/log4j/lf5/util/LogFileParser.html">LogFileParser</a> lfp = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/util/LogFileParser.html">LogFileParser</a>(url.openStream()); +<a name="1583" href="#1583">1583</a> lfp.parse(<strong class="jxr_keyword">this</strong>); +<a name="1584" href="#1584">1584</a> ok = <strong class="jxr_keyword">true</strong>; +<a name="1585" href="#1585">1585</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="1586" href="#1586">1586</a> LogFactor5ErrorDialog error = <strong class="jxr_keyword">new</strong> LogFactor5ErrorDialog( +<a name="1587" href="#1587">1587</a> getBaseFrame(), <span class="jxr_string">"Error reading URL:"</span> + url.getFile()); +<a name="1588" href="#1588">1588</a> } +<a name="1589" href="#1589">1589</a> <strong class="jxr_keyword">return</strong> ok; +<a name="1590" href="#1590">1590</a> } +<a name="1591" href="#1591">1591</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="1592" href="#1592">1592</a> <em class="jxr_comment">// Private Methods:</em> +<a name="1593" href="#1593">1593</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="1594" href="#1594">1594</a> +<a name="1595" href="#1595">1595</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="1596" href="#1596">1596</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="1597" href="#1597">1597</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="1598" href="#1598">1598</a> +<a name="1599" href="#1599">1599</a> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitorWindowAdaptor</a> <strong class="jxr_keyword">extends</strong> WindowAdapter { +<a name="1600" href="#1600">1600</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> _monitor; +<a name="1601" href="#1601">1601</a> +<a name="1602" href="#1602">1602</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitorWindowAdaptor</a>(<a href="../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> monitor) { +<a name="1603" href="#1603">1603</a> _monitor = monitor; +<a name="1604" href="#1604">1604</a> } +<a name="1605" href="#1605">1605</a> +<a name="1606" href="#1606">1606</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> windowClosing(WindowEvent ev) { +<a name="1607" href="#1607">1607</a> _monitor.requestClose(); +<a name="1608" href="#1608">1608</a> } +<a name="1609" href="#1609">1609</a> } +<a name="1610" href="#1610">1610</a> } +<a name="1611" href="#1611">1611</a> +<a name="1612" href="#1612">1612</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5Dialog.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5Dialog.html new file mode 100644 index 00000000000..327d7542a40 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5Dialog.html @@ -0,0 +1,165 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogFactor5Dialog xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogFactor5Dialog.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Component; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.Container; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.Dimension; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.awt.Font; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.awt.GridBagConstraints; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.awt.GridBagLayout; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.awt.Insets; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.awt.Label; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.awt.Toolkit; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.awt.Window; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.swing.JDialog; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.swing.JFrame; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * LogFactor5Dialog</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> *</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> LogFactor5Dialog <strong class="jxr_keyword">extends</strong> JDialog { +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Constants:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Font DISPLAY_FONT = <strong class="jxr_keyword">new</strong> Font(<span class="jxr_string">"Arial"</span>, Font.BOLD, 12); +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Private Variables:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">// Constructors:</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">protected</strong> LogFactor5Dialog(JFrame jframe, String message, <strong class="jxr_keyword">boolean</strong> modal) { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">super</strong>(jframe, message, modal); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="63" href="#63">63</a> <em class="jxr_comment">// Public Methods:</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> show() { +<a name="66" href="#66">66</a> pack(); +<a name="67" href="#67">67</a> minimumSizeDialog(<strong class="jxr_keyword">this</strong>, 200, 100); +<a name="68" href="#68">68</a> centerWindow(<strong class="jxr_keyword">this</strong>); +<a name="69" href="#69">69</a> <strong class="jxr_keyword">super</strong>.show(); +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="73" href="#73">73</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="74" href="#74">74</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="77" href="#77">77</a> <em class="jxr_comment">// Private Methods:</em> +<a name="78" href="#78">78</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> centerWindow(Window win) { +<a name="80" href="#80">80</a> Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize(); +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_comment">// If larger than screen, reduce window width or height</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">if</strong> (screenDim.width &lt; win.getSize().width) { +<a name="84" href="#84">84</a> win.setSize(screenDim.width, win.getSize().height); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">if</strong> (screenDim.height &lt; win.getSize().height) { +<a name="88" href="#88">88</a> win.setSize(win.getSize().width, screenDim.height); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_comment">// Center Frame, Dialogue or Window on screen</em> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">int</strong> x = (screenDim.width - win.getSize().width) / 2; +<a name="93" href="#93">93</a> <strong class="jxr_keyword">int</strong> y = (screenDim.height - win.getSize().height) / 2; +<a name="94" href="#94">94</a> win.setLocation(x, y); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> wrapStringOnPanel(String message, +<a name="98" href="#98">98</a> Container container) { +<a name="99" href="#99">99</a> GridBagConstraints c = getDefaultConstraints(); +<a name="100" href="#100">100</a> c.gridwidth = GridBagConstraints.REMAINDER; +<a name="101" href="#101">101</a> <em class="jxr_comment">// Insets() args are top, left, bottom, right</em> +<a name="102" href="#102">102</a> c.insets = <strong class="jxr_keyword">new</strong> Insets(0, 0, 0, 0); +<a name="103" href="#103">103</a> GridBagLayout gbLayout = (GridBagLayout) container.getLayout(); +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">while</strong> (message.length() &gt; 0) { +<a name="107" href="#107">107</a> <strong class="jxr_keyword">int</strong> newLineIndex = message.indexOf('\n'); +<a name="108" href="#108">108</a> String line; +<a name="109" href="#109">109</a> <strong class="jxr_keyword">if</strong> (newLineIndex &gt;= 0) { +<a name="110" href="#110">110</a> line = message.substring(0, newLineIndex); +<a name="111" href="#111">111</a> message = message.substring(newLineIndex + 1); +<a name="112" href="#112">112</a> } <strong class="jxr_keyword">else</strong> { +<a name="113" href="#113">113</a> line = message; +<a name="114" href="#114">114</a> message = <span class="jxr_string">""</span>; +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> Label label = <strong class="jxr_keyword">new</strong> Label(line); +<a name="117" href="#117">117</a> label.setFont(DISPLAY_FONT); +<a name="118" href="#118">118</a> gbLayout.setConstraints(label, c); +<a name="119" href="#119">119</a> container.add(label); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">protected</strong> GridBagConstraints getDefaultConstraints() { +<a name="124" href="#124">124</a> GridBagConstraints constraints = <strong class="jxr_keyword">new</strong> GridBagConstraints(); +<a name="125" href="#125">125</a> constraints.weightx = 1.0; +<a name="126" href="#126">126</a> constraints.weighty = 1.0; +<a name="127" href="#127">127</a> constraints.gridheight = 1; <em class="jxr_comment">// One row high</em> +<a name="128" href="#128">128</a> <em class="jxr_comment">// Insets() args are top, left, bottom, right</em> +<a name="129" href="#129">129</a> constraints.insets = <strong class="jxr_keyword">new</strong> Insets(4, 4, 4, 4); +<a name="130" href="#130">130</a> <em class="jxr_comment">// fill of NONE means do not change size</em> +<a name="131" href="#131">131</a> constraints.fill = GridBagConstraints.NONE; +<a name="132" href="#132">132</a> <em class="jxr_comment">// WEST means align left</em> +<a name="133" href="#133">133</a> constraints.anchor = GridBagConstraints.WEST; +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">return</strong> constraints; +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> minimumSizeDialog(Component component, +<a name="139" href="#139">139</a> <strong class="jxr_keyword">int</strong> minWidth, +<a name="140" href="#140">140</a> <strong class="jxr_keyword">int</strong> minHeight) { +<a name="141" href="#141">141</a> <em class="jxr_comment">// set the min width</em> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">if</strong> (component.getSize().width &lt; minWidth) +<a name="143" href="#143">143</a> component.setSize(minWidth, component.getSize().height); +<a name="144" href="#144">144</a> <em class="jxr_comment">// set the min height</em> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">if</strong> (component.getSize().height &lt; minHeight) +<a name="146" href="#146">146</a> component.setSize(component.getSize().width, minHeight); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="149" href="#149">149</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="150" href="#150">150</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="151" href="#151">151</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html new file mode 100644 index 00000000000..ef40d4ca65f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html @@ -0,0 +1,106 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogFactor5ErrorDialog xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.BorderLayout; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.FlowLayout; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.GridBagLayout; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionListener; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.swing.JButton; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.swing.JFrame; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.swing.JPanel; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * LogFactor5ErrorDialog</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> LogFactor5ErrorDialog <strong class="jxr_keyword">extends</strong> LogFactor5Dialog { +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Constants:</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Private Variables:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Constructors:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> LogFactor5ErrorDialog(JFrame jframe, String message) { +<a name="55" href="#55">55</a> <strong class="jxr_keyword">super</strong>(jframe, <span class="jxr_string">"Error"</span>, <strong class="jxr_keyword">true</strong>); +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> JButton ok = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">"Ok"</span>); +<a name="58" href="#58">58</a> ok.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="60" href="#60">60</a> hide(); +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> }); +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> JPanel bottom = <strong class="jxr_keyword">new</strong> JPanel(); +<a name="65" href="#65">65</a> bottom.setLayout(<strong class="jxr_keyword">new</strong> FlowLayout()); +<a name="66" href="#66">66</a> bottom.add(ok); +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> JPanel main = <strong class="jxr_keyword">new</strong> JPanel(); +<a name="69" href="#69">69</a> main.setLayout(<strong class="jxr_keyword">new</strong> GridBagLayout()); +<a name="70" href="#70">70</a> wrapStringOnPanel(message, main); +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> getContentPane().add(main, BorderLayout.CENTER); +<a name="73" href="#73">73</a> getContentPane().add(bottom, BorderLayout.SOUTH); +<a name="74" href="#74">74</a> show(); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="78" href="#78">78</a> <em class="jxr_comment">// Public Methods:</em> +<a name="79" href="#79">79</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="82" href="#82">82</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="83" href="#83">83</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="86" href="#86">86</a> <em class="jxr_comment">// Private Methods:</em> +<a name="87" href="#87">87</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="90" href="#90">90</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="91" href="#91">91</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="92" href="#92">92</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html new file mode 100644 index 00000000000..de9f6633292 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html @@ -0,0 +1,159 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogFactor5InputDialog xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> javax.swing.*; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.*; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionListener; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.awt.event.KeyAdapter; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.awt.event.KeyEvent; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * LogFactor5InputDialog</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> *</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * Creates a popup input dialog box so that users can enter</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * a URL to open a log file from.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> LogFactor5InputDialog <strong class="jxr_keyword">extends</strong> LogFactor5Dialog { +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Constants:</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> SIZE = 30; +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Private Variables:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">private</strong> JTextField _textField; +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Constructors:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * Configures an input dialog box using a defualt size for the text field.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * param jframe the frame where the dialog will be loaded from.</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * param title the title of the dialog box.</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * param label the label to be put in the dialog box.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> LogFactor5InputDialog(JFrame jframe, String title, String label) { +<a name="62" href="#62">62</a> <strong class="jxr_keyword">this</strong>(jframe, title, label, SIZE); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">/**</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * Configures an input dialog box.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * param jframe the frame where the dialog will be loaded from.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * param title the title of the dialog box.</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * param label the label to be put in the dialog box.</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * param size the size of the text field.</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> LogFactor5InputDialog(JFrame jframe, String title, String label, +<a name="73" href="#73">73</a> <strong class="jxr_keyword">int</strong> size) { +<a name="74" href="#74">74</a> <strong class="jxr_keyword">super</strong>(jframe, title, <strong class="jxr_keyword">true</strong>); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> JPanel bottom = <strong class="jxr_keyword">new</strong> JPanel(); +<a name="77" href="#77">77</a> bottom.setLayout(<strong class="jxr_keyword">new</strong> FlowLayout()); +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> JPanel main = <strong class="jxr_keyword">new</strong> JPanel(); +<a name="80" href="#80">80</a> main.setLayout(<strong class="jxr_keyword">new</strong> FlowLayout()); +<a name="81" href="#81">81</a> main.add(<strong class="jxr_keyword">new</strong> JLabel(label)); +<a name="82" href="#82">82</a> _textField = <strong class="jxr_keyword">new</strong> JTextField(size); +<a name="83" href="#83">83</a> main.add(_textField); +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> addKeyListener(<strong class="jxr_keyword">new</strong> KeyAdapter() { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> keyPressed(KeyEvent e) { +<a name="87" href="#87">87</a> <strong class="jxr_keyword">if</strong> (e.getKeyCode() == KeyEvent.VK_ENTER) { +<a name="88" href="#88">88</a> hide(); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> }); +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> JButton ok = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">"Ok"</span>); +<a name="94" href="#94">94</a> ok.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="95" href="#95">95</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="96" href="#96">96</a> hide(); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> }); +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> JButton cancel = <strong class="jxr_keyword">new</strong> JButton(<span class="jxr_string">"Cancel"</span>); +<a name="101" href="#101">101</a> cancel.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="103" href="#103">103</a> hide(); +<a name="104" href="#104">104</a> <em class="jxr_comment">// set the text field to blank just in case</em> +<a name="105" href="#105">105</a> <em class="jxr_comment">// a file was selected before the Cancel</em> +<a name="106" href="#106">106</a> <em class="jxr_comment">// button was pressed.</em> +<a name="107" href="#107">107</a> _textField.setText(<span class="jxr_string">""</span>); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> }); +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> bottom.add(ok); +<a name="112" href="#112">112</a> bottom.add(cancel); +<a name="113" href="#113">113</a> getContentPane().add(main, BorderLayout.CENTER); +<a name="114" href="#114">114</a> getContentPane().add(bottom, BorderLayout.SOUTH); +<a name="115" href="#115">115</a> pack(); +<a name="116" href="#116">116</a> centerWindow(<strong class="jxr_keyword">this</strong>); +<a name="117" href="#117">117</a> show(); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="121" href="#121">121</a> <em class="jxr_comment">// Public Methods:</em> +<a name="122" href="#122">122</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">public</strong> String getText() { +<a name="124" href="#124">124</a> String s = _textField.getText(); +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">if</strong> (s != <strong class="jxr_keyword">null</strong> &amp;&amp; s.trim().length() == 0) { +<a name="127" href="#127">127</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">return</strong> s; +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="135" href="#135">135</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="136" href="#136">136</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="139" href="#139">139</a> <em class="jxr_comment">// Private Methods:</em> +<a name="140" href="#140">140</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="143" href="#143">143</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="144" href="#144">144</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="145" href="#145">145</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html new file mode 100644 index 00000000000..d5e1b2dc574 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html @@ -0,0 +1,96 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogFactor5LoadingDialog xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.BorderLayout; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.FlowLayout; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.GridBagLayout; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.swing.JFrame; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.swing.JPanel; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * LogFactor5LoadingDialog</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> *</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> LogFactor5LoadingDialog <strong class="jxr_keyword">extends</strong> LogFactor5Dialog { +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">// Constants:</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">// Private Variables:</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">// Constructors:</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> LogFactor5LoadingDialog(JFrame jframe, String message) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">super</strong>(jframe, <span class="jxr_string">"LogFactor5"</span>, false); +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> JPanel bottom = <strong class="jxr_keyword">new</strong> JPanel(); +<a name="56" href="#56">56</a> bottom.setLayout(<strong class="jxr_keyword">new</strong> FlowLayout()); +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> JPanel main = <strong class="jxr_keyword">new</strong> JPanel(); +<a name="59" href="#59">59</a> main.setLayout(<strong class="jxr_keyword">new</strong> GridBagLayout()); +<a name="60" href="#60">60</a> wrapStringOnPanel(message, main); +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> getContentPane().add(main, BorderLayout.CENTER); +<a name="63" href="#63">63</a> getContentPane().add(bottom, BorderLayout.SOUTH); +<a name="64" href="#64">64</a> show(); +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">// Public Methods:</em> +<a name="69" href="#69">69</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="73" href="#73">73</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">// Private Methods:</em> +<a name="77" href="#77">77</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="80" href="#80">80</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="81" href="#81">81</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="82" href="#82">82</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTable.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTable.html new file mode 100644 index 00000000000..514cc80c7b1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTable.html @@ -0,0 +1,291 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogTable xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogTable.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Font; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.FontMetrics; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.Graphics; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.swing.JTable; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.swing.JTextArea; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.swing.ListSelectionModel; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.swing.event.ListSelectionEvent; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.swing.event.ListSelectionListener; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.swing.table.TableColumn; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.swing.table.TableColumnModel; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.util.DateFormatManager; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * LogTable.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> *</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * @author Brent Sprecher</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTable.html">LogTable</a> <strong class="jxr_keyword">extends</strong> JTable { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 4867085140195148458L; +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> <em class="jxr_comment">// Constants:</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _rowHeight = 30; +<a name="58" href="#58">58</a> <strong class="jxr_keyword">protected</strong> JTextArea _detailTextArea; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_comment">// For the columns:</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _numCols = 9; +<a name="62" href="#62">62</a> <strong class="jxr_keyword">protected</strong> TableColumn[] _tableColumns = <strong class="jxr_keyword">new</strong> TableColumn[_numCols]; +<a name="63" href="#63">63</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong>[] _colWidths = {40, 40, 40, 70, 70, 360, 440, 200, 60}; +<a name="64" href="#64">64</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>[] _colNames = LogTableColumn.getLogTableColumnArray(); +<a name="65" href="#65">65</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _colDate = 0; +<a name="66" href="#66">66</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _colThread = 1; +<a name="67" href="#67">67</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _colMessageNum = 2; +<a name="68" href="#68">68</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _colLevel = 3; +<a name="69" href="#69">69</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _colNDC = 4; +<a name="70" href="#70">70</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _colCategory = 5; +<a name="71" href="#71">71</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _colMessage = 6; +<a name="72" href="#72">72</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _colLocation = 7; +<a name="73" href="#73">73</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _colThrown = 8; +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a> _dateFormatManager = <strong class="jxr_keyword">null</strong>; +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="78" href="#78">78</a> <em class="jxr_comment">// Private Variables:</em> +<a name="79" href="#79">79</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="82" href="#82">82</a> <em class="jxr_comment">// Constructors:</em> +<a name="83" href="#83">83</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTable.html">LogTable</a>(JTextArea detailTextArea) { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">super</strong>(); +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> init(); +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> _detailTextArea = detailTextArea; +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> setModel(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html">FilteredLogTableModel</a>()); +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> Enumeration columns = getColumnModel().getColumns(); +<a name="95" href="#95">95</a> <strong class="jxr_keyword">int</strong> i = 0; +<a name="96" href="#96">96</a> <strong class="jxr_keyword">while</strong> (columns.hasMoreElements()) { +<a name="97" href="#97">97</a> TableColumn col = (TableColumn) columns.nextElement(); +<a name="98" href="#98">98</a> col.setCellRenderer(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html">LogTableRowRenderer</a>()); +<a name="99" href="#99">99</a> col.setPreferredWidth(_colWidths[i]); +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> _tableColumns[i] = col; +<a name="102" href="#102">102</a> i++; +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> ListSelectionModel rowSM = getSelectionModel(); +<a name="106" href="#106">106</a> rowSM.addListSelectionListener(<strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTable.html">LogTableListSelectionListener</a>(<strong class="jxr_keyword">this</strong>)); +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_comment">//setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);</em> +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="112" href="#112">112</a> <em class="jxr_comment">// Public Methods:</em> +<a name="113" href="#113">113</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> * Get the DateFormatManager for formatting dates.</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> */</em> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a> getDateFormatManager() { +<a name="119" href="#119">119</a> <strong class="jxr_keyword">return</strong> _dateFormatManager; +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">/**</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> * Set the date format manager for formatting dates.</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> */</em> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDateFormatManager(<a href="../../../../../org/apache/log4j/lf5/util/DateFormatManager.html">DateFormatManager</a> dfm) { +<a name="126" href="#126">126</a> _dateFormatManager = dfm; +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> clearLogRecords() { +<a name="130" href="#130">130</a> <em class="jxr_comment">//For JDK1.3</em> +<a name="131" href="#131">131</a> <em class="jxr_comment">//((DefaultTableModel)getModel()).setRowCount(0);</em> +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_comment">// For JDK1.2.x</em> +<a name="134" href="#134">134</a> getFilteredLogTableModel().clear(); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html">FilteredLogTableModel</a> getFilteredLogTableModel() { +<a name="138" href="#138">138</a> <strong class="jxr_keyword">return</strong> (FilteredLogTableModel) getModel(); +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em class="jxr_comment">// default view if a view is not set and saved</em> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDetailedView() { +<a name="143" href="#143">143</a> <em class="jxr_comment">//TODO: Defineable Views.</em> +<a name="144" href="#144">144</a> TableColumnModel model = getColumnModel(); +<a name="145" href="#145">145</a> <em class="jxr_comment">// Remove all the columns:</em> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> f = 0; f &lt; _numCols; f++) { +<a name="147" href="#147">147</a> model.removeColumn(_tableColumns[f]); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> <em class="jxr_comment">// Add them back in the correct order:</em> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; _numCols; i++) { +<a name="151" href="#151">151</a> model.addColumn(_tableColumns[i]); +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> <em class="jxr_comment">//SWING BUG:</em> +<a name="154" href="#154">154</a> sizeColumnsToFit(-1); +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setView(List columns) { +<a name="158" href="#158">158</a> TableColumnModel model = getColumnModel(); +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_comment">// Remove all the columns:</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> f = 0; f &lt; _numCols; f++) { +<a name="162" href="#162">162</a> model.removeColumn(_tableColumns[f]); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> Iterator selectedColumns = columns.iterator(); +<a name="165" href="#165">165</a> Vector columnNameAndNumber = getColumnNameAndNumber(); +<a name="166" href="#166">166</a> <strong class="jxr_keyword">while</strong> (selectedColumns.hasNext()) { +<a name="167" href="#167">167</a> <em class="jxr_comment">// add the column to the view</em> +<a name="168" href="#168">168</a> model.addColumn(_tableColumns[columnNameAndNumber.indexOf(selectedColumns.next())]); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em class="jxr_comment">//SWING BUG:</em> +<a name="172" href="#172">172</a> sizeColumnsToFit(-1); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFont(Font font) { +<a name="176" href="#176">176</a> <strong class="jxr_keyword">super</strong>.setFont(font); +<a name="177" href="#177">177</a> Graphics g = <strong class="jxr_keyword">this</strong>.getGraphics(); +<a name="178" href="#178">178</a> <strong class="jxr_keyword">if</strong> (g != <strong class="jxr_keyword">null</strong>) { +<a name="179" href="#179">179</a> FontMetrics fm = g.getFontMetrics(font); +<a name="180" href="#180">180</a> <strong class="jxr_keyword">int</strong> height = fm.getHeight(); +<a name="181" href="#181">181</a> _rowHeight = height + height / 3; +<a name="182" href="#182">182</a> setRowHeight(_rowHeight); +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="190" href="#190">190</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="191" href="#191">191</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> init() { +<a name="194" href="#194">194</a> setRowHeight(_rowHeight); +<a name="195" href="#195">195</a> setSelectionMode(ListSelectionModel.SINGLE_SELECTION); +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <em class="jxr_comment">// assign a column number to a column name</em> +<a name="199" href="#199">199</a> <strong class="jxr_keyword">protected</strong> Vector getColumnNameAndNumber() { +<a name="200" href="#200">200</a> Vector columnNameAndNumber = <strong class="jxr_keyword">new</strong> Vector(); +<a name="201" href="#201">201</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; _colNames.length; i++) { +<a name="202" href="#202">202</a> columnNameAndNumber.add(i, _colNames[i]); +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> <strong class="jxr_keyword">return</strong> columnNameAndNumber; +<a name="205" href="#205">205</a> } +<a name="206" href="#206">206</a> +<a name="207" href="#207">207</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="208" href="#208">208</a> <em class="jxr_comment">// Private Methods:</em> +<a name="209" href="#209">209</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="212" href="#212">212</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="213" href="#213">213</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTable.html">LogTableListSelectionListener</a> implements ListSelectionListener { +<a name="216" href="#216">216</a> <strong class="jxr_keyword">protected</strong> JTable _table; +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTable.html">LogTableListSelectionListener</a>(JTable table) { +<a name="219" href="#219">219</a> _table = table; +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> valueChanged(ListSelectionEvent e) { +<a name="223" href="#223">223</a> <em class="jxr_comment">//Ignore extra messages.</em> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">if</strong> (e.getValueIsAdjusting()) { +<a name="225" href="#225">225</a> <strong class="jxr_keyword">return</strong>; +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> ListSelectionModel lsm = (ListSelectionModel) e.getSource(); +<a name="229" href="#229">229</a> <strong class="jxr_keyword">if</strong> (lsm.isSelectionEmpty()) { +<a name="230" href="#230">230</a> <em class="jxr_comment">//no rows are selected</em> +<a name="231" href="#231">231</a> } <strong class="jxr_keyword">else</strong> { +<a name="232" href="#232">232</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="233" href="#233">233</a> <strong class="jxr_keyword">int</strong> selectedRow = lsm.getMinSelectionIndex(); +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; _numCols - 1; i++) { +<a name="236" href="#236">236</a> String value = <span class="jxr_string">""</span>; +<a name="237" href="#237">237</a> Object obj = _table.getModel().getValueAt(selectedRow, i); +<a name="238" href="#238">238</a> <strong class="jxr_keyword">if</strong> (obj != <strong class="jxr_keyword">null</strong>) { +<a name="239" href="#239">239</a> value = obj.toString(); +<a name="240" href="#240">240</a> } +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> buf.append(_colNames[i] + <span class="jxr_string">":"</span>); +<a name="243" href="#243">243</a> buf.append(<span class="jxr_string">"\t"</span>); +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> <strong class="jxr_keyword">if</strong> (i == _colThread || i == _colMessage || i == _colLevel) { +<a name="246" href="#246">246</a> buf.append(<span class="jxr_string">"\t"</span>); <em class="jxr_comment">// pad out the date.</em> +<a name="247" href="#247">247</a> } +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <strong class="jxr_keyword">if</strong> (i == _colDate || i == _colNDC) { +<a name="250" href="#250">250</a> buf.append(<span class="jxr_string">"\t\t"</span>); <em class="jxr_comment">// pad out the date.</em> +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <em class="jxr_comment">// if( i == _colSequence)</em> +<a name="254" href="#254">254</a> <em class="jxr_comment">// {</em> +<a name="255" href="#255">255</a> <em class="jxr_comment">// buf.append("\t\t\t"); // pad out the Sequnce.</em> +<a name="256" href="#256">256</a> <em class="jxr_comment">// }</em> +<a name="257" href="#257">257</a> +<a name="258" href="#258">258</a> buf.append(value); +<a name="259" href="#259">259</a> buf.append(<span class="jxr_string">"\n"</span>); +<a name="260" href="#260">260</a> } +<a name="261" href="#261">261</a> buf.append(_colNames[_numCols - 1] + <span class="jxr_string">":\n"</span>); +<a name="262" href="#262">262</a> Object obj = _table.getModel().getValueAt(selectedRow, _numCols - 1); +<a name="263" href="#263">263</a> <strong class="jxr_keyword">if</strong> (obj != <strong class="jxr_keyword">null</strong>) { +<a name="264" href="#264">264</a> buf.append(obj.toString()); +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> _detailTextArea.setText(buf.toString()); +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> } +<a name="270" href="#270">270</a> } +<a name="271" href="#271">271</a> } +<a name="272" href="#272">272</a> +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> +<a name="275" href="#275">275</a> +<a name="276" href="#276">276</a> +<a name="277" href="#277">277</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableColumn.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableColumn.html new file mode 100644 index 00000000000..e9909943cf2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableColumn.html @@ -0,0 +1,180 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogTableColumn xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogTableColumn.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.util.Arrays; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.HashMap; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * LogTableColumn</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> implements java.io.Serializable { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -4275827753626456547L; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">// log4j table columns.</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> DATE = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>(<span class="jxr_string">"Date"</span>); +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> THREAD = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>(<span class="jxr_string">"Thread"</span>); +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> MESSAGE_NUM = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>(<span class="jxr_string">"Message #"</span>); +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> LEVEL = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>(<span class="jxr_string">"Level"</span>); +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> NDC = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>(<span class="jxr_string">"NDC"</span>); +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> CATEGORY = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>(<span class="jxr_string">"Category"</span>); +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> MESSAGE = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>(<span class="jxr_string">"Message"</span>); +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> LOCATION = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>(<span class="jxr_string">"Location"</span>); +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> THROWN = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>(<span class="jxr_string">"Thrown"</span>); +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">protected</strong> String _label; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> <em class="jxr_comment">// Private Variables:</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>[] _log4JColumns; +<a name="57" href="#57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Map _logTableColumnMap; +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="60" href="#60">60</a> <em class="jxr_comment">// Constructors:</em> +<a name="61" href="#61">61</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">static</strong> { +<a name="63" href="#63">63</a> _log4JColumns = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>[]{DATE, THREAD, MESSAGE_NUM, LEVEL, NDC, CATEGORY, +<a name="64" href="#64">64</a> MESSAGE, LOCATION, THROWN}; +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> _logTableColumnMap = <strong class="jxr_keyword">new</strong> HashMap(); +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; _log4JColumns.length; i++) { +<a name="69" href="#69">69</a> _logTableColumnMap.put(_log4JColumns[i].getLabel(), _log4JColumns[i]); +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>(String label) { +<a name="75" href="#75">75</a> _label = label; +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="79" href="#79">79</a> <em class="jxr_comment">// Public Methods:</em> +<a name="80" href="#80">80</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * Return the Label of the LogLevel.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> String getLabel() { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">return</strong> _label; +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * Convert a column label into a LogTableColumn object.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> *</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * @param column The label of a level to be converted into a LogTableColumn.</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * @return LogTableColumn The LogTableColumn with a label equal to column.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * @throws LogTableColumnFormatException Is thrown when the column can not be</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * converted into a LogTableColumn.</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> */</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> valueOf(String column) +<a name="98" href="#98">98</a> <strong class="jxr_keyword">throws</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html">LogTableColumnFormatException</a> { +<a name="99" href="#99">99</a> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> tableColumn = <strong class="jxr_keyword">null</strong>; +<a name="100" href="#100">100</a> <strong class="jxr_keyword">if</strong> (column != <strong class="jxr_keyword">null</strong>) { +<a name="101" href="#101">101</a> column = column.trim(); +<a name="102" href="#102">102</a> tableColumn = (LogTableColumn) _logTableColumnMap.get(column); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">if</strong> (tableColumn == <strong class="jxr_keyword">null</strong>) { +<a name="106" href="#106">106</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="107" href="#107">107</a> buf.append(<span class="jxr_string">"Error while trying to parse ("</span> + column + <span class="jxr_string">") into"</span>); +<a name="108" href="#108">108</a> buf.append(<span class="jxr_string">" a LogTableColumn."</span>); +<a name="109" href="#109">109</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html">LogTableColumnFormatException</a>(buf.toString()); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> <strong class="jxr_keyword">return</strong> tableColumn; +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals(Object o) { +<a name="116" href="#116">116</a> <strong class="jxr_keyword">boolean</strong> equals = false; +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">if</strong> (o instanceof LogTableColumn) { +<a name="119" href="#119">119</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.getLabel() == +<a name="120" href="#120">120</a> ((<a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>) o).getLabel()) { +<a name="121" href="#121">121</a> equals = <strong class="jxr_keyword">true</strong>; +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">return</strong> equals; +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> hashCode() { +<a name="129" href="#129">129</a> <strong class="jxr_keyword">return</strong> _label.hashCode(); +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="133" href="#133">133</a> <strong class="jxr_keyword">return</strong> _label; +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">/**</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> * @return A &lt;code&gt;List&lt;/code&gt; of &lt;code&gt;LogTableColumn/code&gt; objects that map</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> * to log4j &lt;code&gt;Column&lt;/code&gt; objects.</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> */</em> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> List getLogTableColumns() { +<a name="141" href="#141">141</a> <strong class="jxr_keyword">return</strong> Arrays.asList(_log4JColumns); +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a>[] getLogTableColumnArray() { +<a name="145" href="#145">145</a> <strong class="jxr_keyword">return</strong> _log4JColumns; +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="149" href="#149">149</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="150" href="#150">150</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="153" href="#153">153</a> <em class="jxr_comment">// Private Methods:</em> +<a name="154" href="#154">154</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="157" href="#157">157</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="158" href="#158">158</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html new file mode 100644 index 00000000000..114a01e4231 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html @@ -0,0 +1,88 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogTableColumnFormatException xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <em class="jxr_javadoccomment">/**</em> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment"> * Thrown to indicate that the client has attempted to convert a string</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * to one the LogLevel types, but the string does not have the appropriate</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * format.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> *</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> */</em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html">LogTableColumnFormatException</a> <strong class="jxr_keyword">extends</strong> Exception { +<a name="30" href="#30">30</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 6529165785030431653L; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="33" href="#33">33</a> <em class="jxr_comment">// Constants:</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">// Private Variables:</em> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">// Constructors:</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableColumnFormatException.html">LogTableColumnFormatException</a>(String message) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">super</strong>(message); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">// Public Methods:</em> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="58" href="#58">58</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="61" href="#61">61</a> <em class="jxr_comment">// Private Methods:</em> +<a name="62" href="#62">62</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="65" href="#65">65</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="66" href="#66">66</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableModel.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableModel.html new file mode 100644 index 00000000000..3795caf34af --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableModel.html @@ -0,0 +1,91 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogTableModel xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogTableModel.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> javax.swing.table.DefaultTableModel; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * LogTableModel</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> *</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html">LogTableModel</a> <strong class="jxr_keyword">extends</strong> DefaultTableModel { +<a name="31" href="#31">31</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 3593300685868700894L; +<a name="32" href="#32">32</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="33" href="#33">33</a> <em class="jxr_comment">// Constants:</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">// Private Variables:</em> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">// Constructors:</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableModel.html">LogTableModel</a>(Object[] colNames, <strong class="jxr_keyword">int</strong> numRows) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">super</strong>(colNames, numRows); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">// Public Methods:</em> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isCellEditable(<strong class="jxr_keyword">int</strong> row, <strong class="jxr_keyword">int</strong> column) { +<a name="57" href="#57">57</a> <strong class="jxr_keyword">return</strong> (false); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="60" href="#60">60</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="61" href="#61">61</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">// Private Methods:</em> +<a name="65" href="#65">65</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="69" href="#69">69</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableRowRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableRowRenderer.html new file mode 100644 index 00000000000..4268ffa99cd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/LogTableRowRenderer.html @@ -0,0 +1,123 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogTableRowRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogTableRowRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Color; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.Component; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> javax.swing.JTable; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.swing.table.DefaultTableCellRenderer; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogLevel; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecord; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * LogTableRowRenderer</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> *</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/LogTableRowRenderer.html">LogTableRowRenderer</a> <strong class="jxr_keyword">extends</strong> DefaultTableCellRenderer { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -3951639953706443213L; +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">// Constants:</em> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _highlightFatal = <strong class="jxr_keyword">true</strong>; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">protected</strong> Color _color = <strong class="jxr_keyword">new</strong> Color(230, 230, 230); +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> <em class="jxr_comment">// Private Variables:</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">// Constructors:</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="59" href="#59">59</a> <em class="jxr_comment">// Public Methods:</em> +<a name="60" href="#60">60</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> Component getTableCellRendererComponent(JTable table, +<a name="63" href="#63">63</a> Object value, +<a name="64" href="#64">64</a> <strong class="jxr_keyword">boolean</strong> isSelected, +<a name="65" href="#65">65</a> <strong class="jxr_keyword">boolean</strong> hasFocus, +<a name="66" href="#66">66</a> <strong class="jxr_keyword">int</strong> row, +<a name="67" href="#67">67</a> <strong class="jxr_keyword">int</strong> col) { +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">if</strong> ((row % 2) == 0) { +<a name="70" href="#70">70</a> setBackground(_color); +<a name="71" href="#71">71</a> } <strong class="jxr_keyword">else</strong> { +<a name="72" href="#72">72</a> setBackground(Color.white); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <a href="../../../../../org/apache/log4j/lf5/viewer/FilteredLogTableModel.html">FilteredLogTableModel</a> model = (FilteredLogTableModel) table.getModel(); +<a name="76" href="#76">76</a> <a href="../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> record = model.getFilteredRecord(row); +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> setForeground(getLogLevelColor(record.getLevel())); +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">super</strong>.getTableCellRendererComponent(table, +<a name="81" href="#81">81</a> value, +<a name="82" href="#82">82</a> isSelected, +<a name="83" href="#83">83</a> hasFocus, +<a name="84" href="#84">84</a> row, col)); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="89" href="#89">89</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="90" href="#90">90</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">protected</strong> Color getLogLevelColor(<a href="../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level) { +<a name="92" href="#92">92</a> <strong class="jxr_keyword">return</strong> (Color) LogLevel.getLogLevelColorMap().get(level); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="96" href="#96">96</a> <em class="jxr_comment">// Private Methods:</em> +<a name="97" href="#97">97</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="100" href="#100">100</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="101" href="#101">101</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html new file mode 100644 index 00000000000..b4be1100a00 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TrackingAdjustmentListener xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Adjustable; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.event.AdjustmentEvent; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.event.AdjustmentListener; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * An AdjustmentListener which ensures that an Adjustable (e.g. a Scrollbar)</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * will "track" when the Adjustable expands.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * For example, when a vertical scroll bar is at its bottom anchor,</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * the scrollbar will remain at the bottom. When the vertical scroll bar</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * is at any other location, then no tracking will happen.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * An instance of this class should only listen to one Adjustable as</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * it retains state information about the Adjustable it listens to.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @author Richard Wan</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.html">TrackingAdjustmentListener</a> implements AdjustmentListener { +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">// Constants:</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _lastMaximum = -1; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">// Private Variables:</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">// Constructors:</em> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">// Public Methods:</em> +<a name="58" href="#58">58</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> adjustmentValueChanged(AdjustmentEvent e) { +<a name="61" href="#61">61</a> Adjustable bar = e.getAdjustable(); +<a name="62" href="#62">62</a> <strong class="jxr_keyword">int</strong> currentMaximum = bar.getMaximum(); +<a name="63" href="#63">63</a> <strong class="jxr_keyword">if</strong> (bar.getMaximum() == _lastMaximum) { +<a name="64" href="#64">64</a> <strong class="jxr_keyword">return</strong>; <em class="jxr_comment">// nothing to do, the adjustable has not expanded</em> +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> <strong class="jxr_keyword">int</strong> bottom = bar.getValue() + bar.getVisibleAmount(); +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">if</strong> (bottom + bar.getUnitIncrement() &gt;= _lastMaximum) { +<a name="69" href="#69">69</a> bar.setValue(bar.getMaximum()); <em class="jxr_comment">// use the most recent maximum</em> +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> _lastMaximum = currentMaximum; +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="75" href="#75">75</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="79" href="#79">79</a> <em class="jxr_comment">// Private Methods:</em> +<a name="80" href="#80">80</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="83" href="#83">83</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="84" href="#84">84</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html new file mode 100644 index 00000000000..51172e332a6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html @@ -0,0 +1,186 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryAbstractCellEditor xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Component; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.event.MouseEvent; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.EventObject; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.swing.JTable; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.swing.JTree; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.swing.event.CellEditorListener; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.swing.event.ChangeEvent; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.swing.event.EventListenerList; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.swing.table.TableCellEditor; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.TreeCellEditor; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * CategoryAbstractCellEditor. Base class to handle the some common</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * details of cell editing.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> *</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html">CategoryAbstractCellEditor</a> implements TableCellEditor, TreeCellEditor { +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">// Constants:</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">protected</strong> EventListenerList _listenerList = <strong class="jxr_keyword">new</strong> EventListenerList(); +<a name="50" href="#50">50</a> <strong class="jxr_keyword">protected</strong> Object _value; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">protected</strong> ChangeEvent _changeEvent = <strong class="jxr_keyword">null</strong>; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _clickCountToStart = 1; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">// Private Variables:</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="59" href="#59">59</a> <em class="jxr_comment">// Constructors:</em> +<a name="60" href="#60">60</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="63" href="#63">63</a> <em class="jxr_comment">// Public Methods:</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">public</strong> Object getCellEditorValue() { +<a name="67" href="#67">67</a> <strong class="jxr_keyword">return</strong> _value; +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCellEditorValue(Object value) { +<a name="71" href="#71">71</a> _value = value; +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setClickCountToStart(<strong class="jxr_keyword">int</strong> count) { +<a name="75" href="#75">75</a> _clickCountToStart = count; +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getClickCountToStart() { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">return</strong> _clickCountToStart; +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isCellEditable(EventObject anEvent) { +<a name="83" href="#83">83</a> <strong class="jxr_keyword">if</strong> (anEvent instanceof MouseEvent) { +<a name="84" href="#84">84</a> <strong class="jxr_keyword">if</strong> (((MouseEvent) anEvent).getClickCount() &lt; _clickCountToStart) { +<a name="85" href="#85">85</a> <strong class="jxr_keyword">return</strong> false; +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> shouldSelectCell(EventObject anEvent) { +<a name="92" href="#92">92</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.isCellEditable(anEvent)) { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">if</strong> (anEvent == <strong class="jxr_keyword">null</strong> || +<a name="94" href="#94">94</a> ((MouseEvent) anEvent).getClickCount() &gt;= _clickCountToStart) { +<a name="95" href="#95">95</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> <strong class="jxr_keyword">return</strong> false; +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> stopCellEditing() { +<a name="102" href="#102">102</a> fireEditingStopped(); +<a name="103" href="#103">103</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> cancelCellEditing() { +<a name="107" href="#107">107</a> fireEditingCanceled(); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addCellEditorListener(CellEditorListener l) { +<a name="111" href="#111">111</a> _listenerList.add(CellEditorListener.<strong class="jxr_keyword">class</strong>, l); +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeCellEditorListener(CellEditorListener l) { +<a name="115" href="#115">115</a> _listenerList.remove(CellEditorListener.<strong class="jxr_keyword">class</strong>, l); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">public</strong> Component getTreeCellEditorComponent( +<a name="119" href="#119">119</a> JTree tree, Object value, +<a name="120" href="#120">120</a> <strong class="jxr_keyword">boolean</strong> isSelected, +<a name="121" href="#121">121</a> <strong class="jxr_keyword">boolean</strong> expanded, +<a name="122" href="#122">122</a> <strong class="jxr_keyword">boolean</strong> leaf, <strong class="jxr_keyword">int</strong> row) { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">public</strong> Component getTableCellEditorComponent( +<a name="127" href="#127">127</a> JTable table, Object value, +<a name="128" href="#128">128</a> <strong class="jxr_keyword">boolean</strong> isSelected, +<a name="129" href="#129">129</a> <strong class="jxr_keyword">int</strong> row, <strong class="jxr_keyword">int</strong> column) { +<a name="130" href="#130">130</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="134" href="#134">134</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="135" href="#135">135</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> fireEditingStopped() { +<a name="137" href="#137">137</a> Object[] listeners = _listenerList.getListenerList(); +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = listeners.length - 2; i &gt;= 0; i -= 2) { +<a name="140" href="#140">140</a> <strong class="jxr_keyword">if</strong> (listeners[i] == CellEditorListener.<strong class="jxr_keyword">class</strong>) { +<a name="141" href="#141">141</a> <strong class="jxr_keyword">if</strong> (_changeEvent == <strong class="jxr_keyword">null</strong>) { +<a name="142" href="#142">142</a> _changeEvent = <strong class="jxr_keyword">new</strong> ChangeEvent(<strong class="jxr_keyword">this</strong>); +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> ((CellEditorListener) listeners[i + 1]).editingStopped(_changeEvent); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> fireEditingCanceled() { +<a name="151" href="#151">151</a> Object[] listeners = _listenerList.getListenerList(); +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = listeners.length - 2; i &gt;= 0; i -= 2) { +<a name="154" href="#154">154</a> <strong class="jxr_keyword">if</strong> (listeners[i] == CellEditorListener.<strong class="jxr_keyword">class</strong>) { +<a name="155" href="#155">155</a> <strong class="jxr_keyword">if</strong> (_changeEvent == <strong class="jxr_keyword">null</strong>) { +<a name="156" href="#156">156</a> _changeEvent = <strong class="jxr_keyword">new</strong> ChangeEvent(<strong class="jxr_keyword">this</strong>); +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> ((CellEditorListener) listeners[i + 1]).editingCanceled(_changeEvent); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="165" href="#165">165</a> <em class="jxr_comment">// Private Methods:</em> +<a name="166" href="#166">166</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="169" href="#169">169</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="170" href="#170">170</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html new file mode 100644 index 00000000000..1c75da091e3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryElement xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <em class="jxr_javadoccomment">/**</em> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment"> * CategoryElement represents a single element or part of a Category.</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> *</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> */</em> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a> { +<a name="29" href="#29">29</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Constants:</em> +<a name="31" href="#31">31</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">protected</strong> String _categoryTitle; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">// Private Variables:</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">// Constructors:</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a>() { +<a name="47" href="#47">47</a> <strong class="jxr_keyword">super</strong>(); +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a>(String title) { +<a name="51" href="#51">51</a> _categoryTitle = title; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">// Public Methods:</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> String getTitle() { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">return</strong> (_categoryTitle); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTitle(String title) { +<a name="63" href="#63">63</a> _categoryTitle = title; +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="67" href="#67">67</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">// Private Methods:</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="75" href="#75">75</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html new file mode 100644 index 00000000000..3aa83c53a86 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html @@ -0,0 +1,112 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryExplorerLogRecordFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecord; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecordFilter; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * An implementation of LogRecordFilter based on a CategoryExplorerModel</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Richard Wan</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html">CategoryExplorerLogRecordFilter</a> implements <a href="../../../../../../org/apache/log4j/lf5/LogRecordFilter.html">LogRecordFilter</a> { +<a name="33" href="#33">33</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">// Constants:</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> _model; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Private Variables:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Constructors:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.html">CategoryExplorerLogRecordFilter</a>(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> model) { +<a name="52" href="#52">52</a> _model = model; +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">// Public Methods:</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * @return true if the CategoryExplorer model specified at construction</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * is accepting the category of the specified LogRecord. Has a side-effect</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * of adding the CategoryPath of the LogRecord to the explorer model</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * if the CategoryPath is new.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> passes(<a href="../../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> record) { +<a name="66" href="#66">66</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a>(record.getCategory()); +<a name="67" href="#67">67</a> <strong class="jxr_keyword">return</strong> _model.isCategoryPathActive(path); +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * Resets the counters for the contained CategoryNodes to zero.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> */</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> reset() { +<a name="74" href="#74">74</a> resetAllNodes(); +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="78" href="#78">78</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="79" href="#79">79</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> resetAllNodes() { +<a name="82" href="#82">82</a> Enumeration nodes = _model.getRootCategoryNode().depthFirstEnumeration(); +<a name="83" href="#83">83</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> current; +<a name="84" href="#84">84</a> <strong class="jxr_keyword">while</strong> (nodes.hasMoreElements()) { +<a name="85" href="#85">85</a> current = (CategoryNode) nodes.nextElement(); +<a name="86" href="#86">86</a> current.resetNumberOfContainedRecords(); +<a name="87" href="#87">87</a> _model.nodeChanged(current); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="91" href="#91">91</a> <em class="jxr_comment">// Private Methods:</em> +<a name="92" href="#92">92</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="95" href="#95">95</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="96" href="#96">96</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html new file mode 100644 index 00000000000..4a51c685a56 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html @@ -0,0 +1,361 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryExplorerModel xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.AWTEventMulticaster; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionListener; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.swing.SwingUtilities; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.DefaultTreeModel; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.TreeNode; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.TreePath; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogRecord; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * CategoryExplorerModel</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> *</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * @author Brent Sprecher</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> <strong class="jxr_keyword">extends</strong> DefaultTreeModel { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -3413887384316015901L; +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">// Constants:</em> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _renderFatal = <strong class="jxr_keyword">true</strong>; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">protected</strong> ActionListener _listener = <strong class="jxr_keyword">null</strong>; +<a name="55" href="#55">55</a> <strong class="jxr_keyword">protected</strong> ActionEvent _event = <strong class="jxr_keyword">new</strong> ActionEvent(<strong class="jxr_keyword">this</strong>, +<a name="56" href="#56">56</a> ActionEvent.ACTION_PERFORMED, +<a name="57" href="#57">57</a> <span class="jxr_string">"Nodes Selection changed"</span>); +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="60" href="#60">60</a> <em class="jxr_comment">// Private Variables:</em> +<a name="61" href="#61">61</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">// Constructors:</em> +<a name="65" href="#65">65</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a>(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="68" href="#68">68</a> <strong class="jxr_keyword">super</strong>(node); +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">// Public Methods:</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLogRecord(<a href="../../../../../../org/apache/log4j/lf5/LogRecord.html">LogRecord</a> lr) { +<a name="75" href="#75">75</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a>(lr.getCategory()); +<a name="76" href="#76">76</a> addCategory(path); <em class="jxr_comment">// create category path if it is new</em> +<a name="77" href="#77">77</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = getCategoryNode(path); +<a name="78" href="#78">78</a> node.addRecord(); <em class="jxr_comment">// update category node</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">if</strong> (_renderFatal &amp;&amp; lr.isFatal()) { +<a name="80" href="#80">80</a> TreeNode[] nodes = getPathToRoot(node); +<a name="81" href="#81">81</a> <strong class="jxr_keyword">int</strong> len = nodes.length; +<a name="82" href="#82">82</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> parent; +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_comment">// i = 0 gives root node</em> +<a name="85" href="#85">85</a> <em class="jxr_comment">// skip node and root, loop through "parents" in between</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 1; i &lt; len - 1; i++) { +<a name="87" href="#87">87</a> parent = (CategoryNode) nodes[i]; +<a name="88" href="#88">88</a> parent.setHasFatalChildren(<strong class="jxr_keyword">true</strong>); +<a name="89" href="#89">89</a> nodeChanged(parent); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> node.setHasFatalRecords(<strong class="jxr_keyword">true</strong>); +<a name="92" href="#92">92</a> nodeChanged(node); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> getRootCategoryNode() { +<a name="97" href="#97">97</a> <strong class="jxr_keyword">return</strong> (CategoryNode) getRoot(); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> getCategoryNode(String category) { +<a name="101" href="#101">101</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a>(category); +<a name="102" href="#102">102</a> <strong class="jxr_keyword">return</strong> (getCategoryNode(path)); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * returns null if no CategoryNode exists.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> */</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> getCategoryNode(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path) { +<a name="109" href="#109">109</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> root = (CategoryNode) getRoot(); +<a name="110" href="#110">110</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> parent = root; <em class="jxr_comment">// Start condition.</em> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; path.size(); i++) { +<a name="113" href="#113">113</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a> element = path.categoryElementAt(i); +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_comment">// If the two nodes have matching titles they are considered equal.</em> +<a name="116" href="#116">116</a> Enumeration children = parent.children(); +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">boolean</strong> categoryAlreadyExists = false; +<a name="119" href="#119">119</a> <strong class="jxr_keyword">while</strong> (children.hasMoreElements()) { +<a name="120" href="#120">120</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) children.nextElement(); +<a name="121" href="#121">121</a> String title = node.getTitle().toLowerCase(); +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> String pathLC = element.getTitle().toLowerCase(); +<a name="124" href="#124">124</a> <strong class="jxr_keyword">if</strong> (title.equals(pathLC)) { +<a name="125" href="#125">125</a> categoryAlreadyExists = <strong class="jxr_keyword">true</strong>; +<a name="126" href="#126">126</a> <em class="jxr_comment">// This is now the new parent node.</em> +<a name="127" href="#127">127</a> parent = node; +<a name="128" href="#128">128</a> <strong class="jxr_keyword">break</strong>; <em class="jxr_comment">// out of the while, and back to the for().</em> +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">if</strong> (categoryAlreadyExists == false) { +<a name="133" href="#133">133</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; <em class="jxr_comment">// Didn't find the Node.</em> +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">return</strong> (parent); +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">/**</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> * @return true if all the nodes in the specified CategoryPath are</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> * selected.</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> */</em> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isCategoryPathActive(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path) { +<a name="145" href="#145">145</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> root = (CategoryNode) getRoot(); +<a name="146" href="#146">146</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> parent = root; <em class="jxr_comment">// Start condition.</em> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">boolean</strong> active = false; +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; path.size(); i++) { +<a name="150" href="#150">150</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a> element = path.categoryElementAt(i); +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_comment">// If the two nodes have matching titles they are considered equal.</em> +<a name="153" href="#153">153</a> Enumeration children = parent.children(); +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">boolean</strong> categoryAlreadyExists = false; +<a name="156" href="#156">156</a> active = false; +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <strong class="jxr_keyword">while</strong> (children.hasMoreElements()) { +<a name="159" href="#159">159</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) children.nextElement(); +<a name="160" href="#160">160</a> String title = node.getTitle().toLowerCase(); +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> String pathLC = element.getTitle().toLowerCase(); +<a name="163" href="#163">163</a> <strong class="jxr_keyword">if</strong> (title.equals(pathLC)) { +<a name="164" href="#164">164</a> categoryAlreadyExists = <strong class="jxr_keyword">true</strong>; +<a name="165" href="#165">165</a> <em class="jxr_comment">// This is now the new parent node.</em> +<a name="166" href="#166">166</a> parent = node; +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">if</strong> (parent.isSelected()) { +<a name="169" href="#169">169</a> active = <strong class="jxr_keyword">true</strong>; +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">break</strong>; <em class="jxr_comment">// out of the while, and back to the for().</em> +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">if</strong> (active == false || categoryAlreadyExists == false) { +<a name="177" href="#177">177</a> <strong class="jxr_keyword">return</strong> false; +<a name="178" href="#178">178</a> } +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">return</strong> (active); +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">/**</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Method altered by Richard Hurst such that it returns the CategoryNode</em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> * corresponding to the CategoryPath&lt;/p&gt;</em> +<a name="188" href="#188">188</a> <em class="jxr_javadoccomment"> *</em> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment"> * @param path category path.</em> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> * @return CategoryNode</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> */</em> +<a name="192" href="#192">192</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> addCategory(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> path) { +<a name="193" href="#193">193</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> root = (CategoryNode) getRoot(); +<a name="194" href="#194">194</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> parent = root; <em class="jxr_comment">// Start condition.</em> +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; path.size(); i++) { +<a name="197" href="#197">197</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a> element = path.categoryElementAt(i); +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> <em class="jxr_comment">// If the two nodes have matching titles they are considered equal.</em> +<a name="200" href="#200">200</a> Enumeration children = parent.children(); +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <strong class="jxr_keyword">boolean</strong> categoryAlreadyExists = false; +<a name="203" href="#203">203</a> <strong class="jxr_keyword">while</strong> (children.hasMoreElements()) { +<a name="204" href="#204">204</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) children.nextElement(); +<a name="205" href="#205">205</a> String title = node.getTitle().toLowerCase(); +<a name="206" href="#206">206</a> +<a name="207" href="#207">207</a> String pathLC = element.getTitle().toLowerCase(); +<a name="208" href="#208">208</a> <strong class="jxr_keyword">if</strong> (title.equals(pathLC)) { +<a name="209" href="#209">209</a> categoryAlreadyExists = <strong class="jxr_keyword">true</strong>; +<a name="210" href="#210">210</a> <em class="jxr_comment">// This is now the new parent node.</em> +<a name="211" href="#211">211</a> parent = node; +<a name="212" href="#212">212</a> <strong class="jxr_keyword">break</strong>; +<a name="213" href="#213">213</a> } +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">if</strong> (categoryAlreadyExists == false) { +<a name="217" href="#217">217</a> <em class="jxr_comment">// We need to add the node.</em> +<a name="218" href="#218">218</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> newNode = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a>(element.getTitle()); +<a name="219" href="#219">219</a> +<a name="220" href="#220">220</a> <em class="jxr_comment">//This method of adding a new node cause parent roots to be</em> +<a name="221" href="#221">221</a> <em class="jxr_comment">// collapsed.</em> +<a name="222" href="#222">222</a> <em class="jxr_comment">//parent.add( newNode );</em> +<a name="223" href="#223">223</a> <em class="jxr_comment">//reload(parent);</em> +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <em class="jxr_comment">// This doesn't force the nodes to collapse.</em> +<a name="226" href="#226">226</a> insertNodeInto(newNode, parent, parent.getChildCount()); +<a name="227" href="#227">227</a> refresh(newNode); +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> <em class="jxr_comment">// The newly added node is now the parent.</em> +<a name="230" href="#230">230</a> parent = newNode; +<a name="231" href="#231">231</a> +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <strong class="jxr_keyword">return</strong> parent; +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> update(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node, <strong class="jxr_keyword">boolean</strong> selected) { +<a name="239" href="#239">239</a> <strong class="jxr_keyword">if</strong> (node.isSelected() == selected) { +<a name="240" href="#240">240</a> <strong class="jxr_keyword">return</strong>; <em class="jxr_comment">// nothing was changed, nothing to do</em> +<a name="241" href="#241">241</a> } +<a name="242" href="#242">242</a> <em class="jxr_comment">// select parents or deselect children</em> +<a name="243" href="#243">243</a> <strong class="jxr_keyword">if</strong> (selected) { +<a name="244" href="#244">244</a> setParentSelection(node, <strong class="jxr_keyword">true</strong>); +<a name="245" href="#245">245</a> } <strong class="jxr_keyword">else</strong> { +<a name="246" href="#246">246</a> setDescendantSelection(node, false); +<a name="247" href="#247">247</a> } +<a name="248" href="#248">248</a> } +<a name="249" href="#249">249</a> +<a name="250" href="#250">250</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDescendantSelection(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node, <strong class="jxr_keyword">boolean</strong> selected) { +<a name="251" href="#251">251</a> Enumeration descendants = node.depthFirstEnumeration(); +<a name="252" href="#252">252</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> current; +<a name="253" href="#253">253</a> <strong class="jxr_keyword">while</strong> (descendants.hasMoreElements()) { +<a name="254" href="#254">254</a> current = (CategoryNode) descendants.nextElement(); +<a name="255" href="#255">255</a> <em class="jxr_comment">// does the current node need to be changed?</em> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">if</strong> (current.isSelected() != selected) { +<a name="257" href="#257">257</a> current.setSelected(selected); +<a name="258" href="#258">258</a> nodeChanged(current); +<a name="259" href="#259">259</a> } +<a name="260" href="#260">260</a> } +<a name="261" href="#261">261</a> notifyActionListeners(); +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setParentSelection(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node, <strong class="jxr_keyword">boolean</strong> selected) { +<a name="265" href="#265">265</a> TreeNode[] nodes = getPathToRoot(node); +<a name="266" href="#266">266</a> <strong class="jxr_keyword">int</strong> len = nodes.length; +<a name="267" href="#267">267</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> parent; +<a name="268" href="#268">268</a> +<a name="269" href="#269">269</a> <em class="jxr_comment">// i = 0 gives root node, i=len-1 gives this node</em> +<a name="270" href="#270">270</a> <em class="jxr_comment">// skip the root node</em> +<a name="271" href="#271">271</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 1; i &lt; len; i++) { +<a name="272" href="#272">272</a> parent = (CategoryNode) nodes[i]; +<a name="273" href="#273">273</a> <strong class="jxr_keyword">if</strong> (parent.isSelected() != selected) { +<a name="274" href="#274">274</a> parent.setSelected(selected); +<a name="275" href="#275">275</a> nodeChanged(parent); +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> } +<a name="278" href="#278">278</a> notifyActionListeners(); +<a name="279" href="#279">279</a> } +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> +<a name="282" href="#282">282</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> addActionListener(ActionListener l) { +<a name="283" href="#283">283</a> _listener = AWTEventMulticaster.add(_listener, l); +<a name="284" href="#284">284</a> } +<a name="285" href="#285">285</a> +<a name="286" href="#286">286</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> removeActionListener(ActionListener l) { +<a name="287" href="#287">287</a> _listener = AWTEventMulticaster.remove(_listener, l); +<a name="288" href="#288">288</a> } +<a name="289" href="#289">289</a> +<a name="290" href="#290">290</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> resetAllNodeCounts() { +<a name="291" href="#291">291</a> Enumeration nodes = getRootCategoryNode().depthFirstEnumeration(); +<a name="292" href="#292">292</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> current; +<a name="293" href="#293">293</a> <strong class="jxr_keyword">while</strong> (nodes.hasMoreElements()) { +<a name="294" href="#294">294</a> current = (CategoryNode) nodes.nextElement(); +<a name="295" href="#295">295</a> current.resetNumberOfContainedRecords(); +<a name="296" href="#296">296</a> nodeChanged(current); +<a name="297" href="#297">297</a> } +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment">/**</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Returns the CategoryPath to the specified CategoryNode&lt;/p&gt;</em> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> *</em> +<a name="303" href="#303">303</a> <em class="jxr_javadoccomment"> * @param node The target CategoryNode</em> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> * @return CategoryPath</em> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment"> */</em> +<a name="306" href="#306">306</a> <strong class="jxr_keyword">public</strong> TreePath getTreePathToRoot(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="307" href="#307">307</a> <strong class="jxr_keyword">if</strong> (node == <strong class="jxr_keyword">null</strong>) { +<a name="308" href="#308">308</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="309" href="#309">309</a> } +<a name="310" href="#310">310</a> <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">new</strong> TreePath(getPathToRoot(node))); +<a name="311" href="#311">311</a> } +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="314" href="#314">314</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="315" href="#315">315</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="316" href="#316">316</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> notifyActionListeners() { +<a name="317" href="#317">317</a> <strong class="jxr_keyword">if</strong> (_listener != <strong class="jxr_keyword">null</strong>) { +<a name="318" href="#318">318</a> _listener.actionPerformed(_event); +<a name="319" href="#319">319</a> } +<a name="320" href="#320">320</a> } +<a name="321" href="#321">321</a> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment">/**</em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> * Fires a nodechanged event on the SwingThread.</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> */</em> +<a name="325" href="#325">325</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> refresh(<strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="326" href="#326">326</a> SwingUtilities.invokeLater(<strong class="jxr_keyword">new</strong> Runnable() { +<a name="327" href="#327">327</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="328" href="#328">328</a> nodeChanged(node); <em class="jxr_comment">// remind the tree to render the new node</em> +<a name="329" href="#329">329</a> } +<a name="330" href="#330">330</a> }); +<a name="331" href="#331">331</a> } +<a name="332" href="#332">332</a> +<a name="333" href="#333">333</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="334" href="#334">334</a> <em class="jxr_comment">// Private Methods:</em> +<a name="335" href="#335">335</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="336" href="#336">336</a> +<a name="337" href="#337">337</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="338" href="#338">338</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="339" href="#339">339</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> } +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> +<a name="344" href="#344">344</a> +<a name="345" href="#345">345</a> +<a name="346" href="#346">346</a> +<a name="347" href="#347">347</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html new file mode 100644 index 00000000000..c8c89153002 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html @@ -0,0 +1,171 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryExplorerTree xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.event.MouseEvent; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> javax.swing.JTree; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> javax.swing.event.TreeModelEvent; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.TreePath; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * CategoryExplorerTree</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @author Brent Sprecher</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html">CategoryExplorerTree</a> <strong class="jxr_keyword">extends</strong> JTree { +<a name="37" href="#37">37</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 8066257446951323576L; +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">// Constants:</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> _model; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _rootAlreadyExpanded = false; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">// Private Variables:</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">// Constructors:</em> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment">/**</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * Construct a CategoryExplorerTree with a specific model.</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> */</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html">CategoryExplorerTree</a>(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> model) { +<a name="60" href="#60">60</a> <strong class="jxr_keyword">super</strong>(model); +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> _model = model; +<a name="63" href="#63">63</a> init(); +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * Construct a CategoryExplorerTree and create a default CategoryExplorerModel.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> */</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html">CategoryExplorerTree</a>() { +<a name="70" href="#70">70</a> <strong class="jxr_keyword">super</strong>(); +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> rootNode = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a>(<span class="jxr_string">"Categories"</span>); +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> _model = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a>(rootNode); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> setModel(_model); +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> init(); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="82" href="#82">82</a> <em class="jxr_comment">// Public Methods:</em> +<a name="83" href="#83">83</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> getExplorerModel() { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">return</strong> (_model); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">public</strong> String getToolTipText(MouseEvent e) { +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">try</strong> { +<a name="92" href="#92">92</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.getToolTipText(e); +<a name="93" href="#93">93</a> } <strong class="jxr_keyword">catch</strong> (Exception ex) { +<a name="94" href="#94">94</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>; +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="100" href="#100">100</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="101" href="#101">101</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> init() { +<a name="104" href="#104">104</a> <em class="jxr_comment">// Put visible lines on the JTree.</em> +<a name="105" href="#105">105</a> putClientProperty(<span class="jxr_string">"JTree.lineStyle"</span>, <span class="jxr_string">"Angled"</span>); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_comment">// Configure the Tree with the appropriate Renderers and Editors.</em> +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html">CategoryNodeRenderer</a> renderer = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html">CategoryNodeRenderer</a>(); +<a name="110" href="#110">110</a> setEditable(<strong class="jxr_keyword">true</strong>); +<a name="111" href="#111">111</a> setCellRenderer(renderer); +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html">CategoryNodeEditor</a> editor = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html">CategoryNodeEditor</a>(_model); +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> setCellEditor(<strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html">CategoryImmediateEditor</a>(<strong class="jxr_keyword">this</strong>, +<a name="116" href="#116">116</a> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html">CategoryNodeRenderer</a>(), +<a name="117" href="#117">117</a> editor)); +<a name="118" href="#118">118</a> setShowsRootHandles(<strong class="jxr_keyword">true</strong>); +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> setToolTipText(<span class="jxr_string">""</span>); +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> ensureRootExpansion(); +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> expandRootNode() { +<a name="127" href="#127">127</a> <strong class="jxr_keyword">if</strong> (_rootAlreadyExpanded) { +<a name="128" href="#128">128</a> <strong class="jxr_keyword">return</strong>; +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> _rootAlreadyExpanded = <strong class="jxr_keyword">true</strong>; +<a name="131" href="#131">131</a> TreePath path = <strong class="jxr_keyword">new</strong> TreePath(_model.getRootCategoryNode().getPath()); +<a name="132" href="#132">132</a> expandPath(path); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> ensureRootExpansion() { +<a name="136" href="#136">136</a> _model.addTreeModelListener(<strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html">TreeModelAdapter</a>() { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> treeNodesInserted(TreeModelEvent e) { +<a name="138" href="#138">138</a> expandRootNode(); +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> }); +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="144" href="#144">144</a> <em class="jxr_comment">// Private Methods:</em> +<a name="145" href="#145">145</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="148" href="#148">148</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="149" href="#149">149</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html new file mode 100644 index 00000000000..819ac17a0df --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html @@ -0,0 +1,162 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryImmediateEditor xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Dimension; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.Rectangle; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.event.MouseEvent; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.EventObject; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.swing.Icon; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.swing.JTree; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.DefaultTreeCellEditor; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.TreePath; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * CategoryImmediateEditor</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html">CategoryImmediateEditor</a> <strong class="jxr_keyword">extends</strong> DefaultTreeCellEditor { +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Constants:</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html">CategoryNodeRenderer</a> renderer; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">protected</strong> Icon editingIcon = <strong class="jxr_keyword">null</strong>; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">// Private Variables:</em> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> <em class="jxr_comment">// Constructors:</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.html">CategoryImmediateEditor</a>(JTree tree, +<a name="57" href="#57">57</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html">CategoryNodeRenderer</a> renderer, +<a name="58" href="#58">58</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html">CategoryNodeEditor</a> editor) { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">super</strong>(tree, renderer, editor); +<a name="60" href="#60">60</a> <strong class="jxr_keyword">this</strong>.renderer = renderer; +<a name="61" href="#61">61</a> renderer.setIcon(<strong class="jxr_keyword">null</strong>); +<a name="62" href="#62">62</a> renderer.setLeafIcon(<strong class="jxr_keyword">null</strong>); +<a name="63" href="#63">63</a> renderer.setOpenIcon(<strong class="jxr_keyword">null</strong>); +<a name="64" href="#64">64</a> renderer.setClosedIcon(<strong class="jxr_keyword">null</strong>); +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">super</strong>.editingIcon = <strong class="jxr_keyword">null</strong>; +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="70" href="#70">70</a> <em class="jxr_comment">// Public Methods:</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> shouldSelectCell(EventObject e) { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">boolean</strong> rv = false; <em class="jxr_comment">// only mouse events</em> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">if</strong> (e instanceof MouseEvent) { +<a name="76" href="#76">76</a> MouseEvent me = (MouseEvent) e; +<a name="77" href="#77">77</a> TreePath path = tree.getPathForLocation(me.getX(), +<a name="78" href="#78">78</a> me.getY()); +<a name="79" href="#79">79</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) +<a name="80" href="#80">80</a> path.getLastPathComponent(); +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> rv = node.isLeaf() <em class="jxr_comment">/*<em class="jxr_comment">|| !inCheckBoxHitRegion(me)*/</em>;</em> +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> <strong class="jxr_keyword">return</strong> rv; +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> inCheckBoxHitRegion(MouseEvent e) { +<a name="88" href="#88">88</a> TreePath path = tree.getPathForLocation(e.getX(), +<a name="89" href="#89">89</a> e.getY()); +<a name="90" href="#90">90</a> <strong class="jxr_keyword">if</strong> (path == <strong class="jxr_keyword">null</strong>) { +<a name="91" href="#91">91</a> <strong class="jxr_keyword">return</strong> false; +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) path.getLastPathComponent(); +<a name="94" href="#94">94</a> <strong class="jxr_keyword">boolean</strong> rv = false; +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">true</strong>) { +<a name="97" href="#97">97</a> <em class="jxr_comment">// offset and lastRow DefaultTreeCellEditor</em> +<a name="98" href="#98">98</a> <em class="jxr_comment">// protected members</em> +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> Rectangle bounds = tree.getRowBounds(lastRow); +<a name="101" href="#101">101</a> Dimension checkBoxOffset = +<a name="102" href="#102">102</a> renderer.getCheckBoxOffset(); +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> bounds.translate(offset + checkBoxOffset.width, +<a name="105" href="#105">105</a> checkBoxOffset.height); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> rv = bounds.contains(e.getPoint()); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="113" href="#113">113</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="114" href="#114">114</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> canEditImmediately(EventObject e) { +<a name="117" href="#117">117</a> <strong class="jxr_keyword">boolean</strong> rv = false; +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">if</strong> (e instanceof MouseEvent) { +<a name="120" href="#120">120</a> MouseEvent me = (MouseEvent) e; +<a name="121" href="#121">121</a> rv = inCheckBoxHitRegion(me); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">return</strong> rv; +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> determineOffset(JTree tree, Object value, +<a name="128" href="#128">128</a> <strong class="jxr_keyword">boolean</strong> isSelected, <strong class="jxr_keyword">boolean</strong> expanded, +<a name="129" href="#129">129</a> <strong class="jxr_keyword">boolean</strong> leaf, <strong class="jxr_keyword">int</strong> row) { +<a name="130" href="#130">130</a> <em class="jxr_comment">// Very important: means that the tree won't jump around.</em> +<a name="131" href="#131">131</a> offset = 0; +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="135" href="#135">135</a> <em class="jxr_comment">// Private Methods:</em> +<a name="136" href="#136">136</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="139" href="#139">139</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="140" href="#140">140</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html new file mode 100644 index 00000000000..c3e3a8514bd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html @@ -0,0 +1,211 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryNode xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.DefaultMutableTreeNode; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.TreeNode; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * CategoryNode</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> <strong class="jxr_keyword">extends</strong> DefaultMutableTreeNode { +<a name="33" href="#33">33</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 5958994817693177319L; +<a name="34" href="#34">34</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">// Constants:</em> +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _selected = <strong class="jxr_keyword">true</strong>; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _numberOfContainedRecords = 0; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> _numberOfRecordsFromChildren = 0; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _hasFatalChildren = false; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> _hasFatalRecords = false; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">// Private Variables:</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">// Constructors:</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> *</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a>(String title) { +<a name="59" href="#59">59</a> setUserObject(title); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="63" href="#63">63</a> <em class="jxr_comment">// Public Methods:</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> String getTitle() { +<a name="66" href="#66">66</a> <strong class="jxr_keyword">return</strong> (String) getUserObject(); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSelected(<strong class="jxr_keyword">boolean</strong> s) { +<a name="70" href="#70">70</a> <strong class="jxr_keyword">if</strong> (s != _selected) { +<a name="71" href="#71">71</a> _selected = s; +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isSelected() { +<a name="76" href="#76">76</a> <strong class="jxr_keyword">return</strong> _selected; +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> */</em> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAllDescendantsSelected() { +<a name="83" href="#83">83</a> Enumeration children = children(); +<a name="84" href="#84">84</a> <strong class="jxr_keyword">while</strong> (children.hasMoreElements()) { +<a name="85" href="#85">85</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) children.nextElement(); +<a name="86" href="#86">86</a> node.setSelected(<strong class="jxr_keyword">true</strong>); +<a name="87" href="#87">87</a> node.setAllDescendantsSelected(); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAllDescendantsDeSelected() { +<a name="95" href="#95">95</a> Enumeration children = children(); +<a name="96" href="#96">96</a> <strong class="jxr_keyword">while</strong> (children.hasMoreElements()) { +<a name="97" href="#97">97</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) children.nextElement(); +<a name="98" href="#98">98</a> node.setSelected(false); +<a name="99" href="#99">99</a> node.setAllDescendantsDeSelected(); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="104" href="#104">104</a> <strong class="jxr_keyword">return</strong> (getTitle()); +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals(Object obj) { +<a name="108" href="#108">108</a> <strong class="jxr_keyword">if</strong> (obj instanceof CategoryNode) { +<a name="109" href="#109">109</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) obj; +<a name="110" href="#110">110</a> String tit1 = getTitle().toLowerCase(); +<a name="111" href="#111">111</a> String tit2 = node.getTitle().toLowerCase(); +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">if</strong> (tit1.equals(tit2)) { +<a name="114" href="#114">114</a> <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">true</strong>); +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> <strong class="jxr_keyword">return</strong> (false); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> hashCode() { +<a name="121" href="#121">121</a> <strong class="jxr_keyword">return</strong> (getTitle().hashCode()); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addRecord() { +<a name="125" href="#125">125</a> _numberOfContainedRecords++; +<a name="126" href="#126">126</a> addRecordToParent(); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getNumberOfContainedRecords() { +<a name="130" href="#130">130</a> <strong class="jxr_keyword">return</strong> _numberOfContainedRecords; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> resetNumberOfContainedRecords() { +<a name="134" href="#134">134</a> _numberOfContainedRecords = 0; +<a name="135" href="#135">135</a> _numberOfRecordsFromChildren = 0; +<a name="136" href="#136">136</a> _hasFatalRecords = false; +<a name="137" href="#137">137</a> _hasFatalChildren = false; +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> hasFatalRecords() { +<a name="141" href="#141">141</a> <strong class="jxr_keyword">return</strong> _hasFatalRecords; +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> hasFatalChildren() { +<a name="145" href="#145">145</a> <strong class="jxr_keyword">return</strong> _hasFatalChildren; +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setHasFatalRecords(<strong class="jxr_keyword">boolean</strong> flag) { +<a name="149" href="#149">149</a> _hasFatalRecords = flag; +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setHasFatalChildren(<strong class="jxr_keyword">boolean</strong> flag) { +<a name="153" href="#153">153</a> _hasFatalChildren = flag; +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="157" href="#157">157</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="158" href="#158">158</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> getTotalNumberOfRecords() { +<a name="161" href="#161">161</a> <strong class="jxr_keyword">return</strong> getNumberOfRecordsFromChildren() + getNumberOfContainedRecords(); +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">/**</em> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment"> * Passes up the addition from child to parent</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> */</em> +<a name="167" href="#167">167</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addRecordFromChild() { +<a name="168" href="#168">168</a> _numberOfRecordsFromChildren++; +<a name="169" href="#169">169</a> addRecordToParent(); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> getNumberOfRecordsFromChildren() { +<a name="173" href="#173">173</a> <strong class="jxr_keyword">return</strong> _numberOfRecordsFromChildren; +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addRecordToParent() { +<a name="177" href="#177">177</a> TreeNode parent = getParent(); +<a name="178" href="#178">178</a> <strong class="jxr_keyword">if</strong> (parent == <strong class="jxr_keyword">null</strong>) { +<a name="179" href="#179">179</a> <strong class="jxr_keyword">return</strong>; +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> ((<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a>) parent).addRecordFromChild(); +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="184" href="#184">184</a> <em class="jxr_comment">// Private Methods:</em> +<a name="185" href="#185">185</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="188" href="#188">188</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="189" href="#189">189</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html new file mode 100644 index 00000000000..89b340829d3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html @@ -0,0 +1,305 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryNodeEditor xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Component; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.event.ActionListener; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.awt.event.MouseAdapter; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.awt.event.MouseEvent; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.swing.JCheckBox; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.swing.JMenuItem; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.swing.JOptionPane; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.swing.JPopupMenu; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.swing.JTree; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.TreePath; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * CategoryNodeEditor</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> *</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html">CategoryNodeEditor</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.html">CategoryAbstractCellEditor</a> { +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">// Constants:</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html">CategoryNodeEditorRenderer</a> _renderer; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> _lastEditedNode; +<a name="53" href="#53">53</a> <strong class="jxr_keyword">protected</strong> JCheckBox _checkBox; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> _categoryModel; +<a name="55" href="#55">55</a> <strong class="jxr_keyword">protected</strong> JTree _tree; +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="58" href="#58">58</a> <em class="jxr_comment">// Private Variables:</em> +<a name="59" href="#59">59</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="62" href="#62">62</a> <em class="jxr_comment">// Constructors:</em> +<a name="63" href="#63">63</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.html">CategoryNodeEditor</a>(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> model) { +<a name="66" href="#66">66</a> _renderer = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html">CategoryNodeEditorRenderer</a>(); +<a name="67" href="#67">67</a> _checkBox = _renderer.getCheckBox(); +<a name="68" href="#68">68</a> _categoryModel = model; +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> _checkBox.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="72" href="#72">72</a> _categoryModel.update(_lastEditedNode, _checkBox.isSelected()); +<a name="73" href="#73">73</a> stopCellEditing(); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> }); +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> _renderer.addMouseListener(<strong class="jxr_keyword">new</strong> MouseAdapter() { +<a name="78" href="#78">78</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> mousePressed(MouseEvent e) { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">if</strong> ((e.getModifiers() &amp; MouseEvent.BUTTON3_MASK) != 0) { +<a name="80" href="#80">80</a> showPopup(_lastEditedNode, e.getX(), e.getY()); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> stopCellEditing(); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> }); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="88" href="#88">88</a> <em class="jxr_comment">// Public Methods:</em> +<a name="89" href="#89">89</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> Component getTreeCellEditorComponent(JTree tree, Object value, +<a name="92" href="#92">92</a> <strong class="jxr_keyword">boolean</strong> selected, <strong class="jxr_keyword">boolean</strong> expanded, +<a name="93" href="#93">93</a> <strong class="jxr_keyword">boolean</strong> leaf, <strong class="jxr_keyword">int</strong> row) { +<a name="94" href="#94">94</a> _lastEditedNode = (CategoryNode) value; +<a name="95" href="#95">95</a> _tree = tree; +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">return</strong> _renderer.getTreeCellRendererComponent(tree, +<a name="98" href="#98">98</a> value, selected, expanded, +<a name="99" href="#99">99</a> leaf, row, <strong class="jxr_keyword">true</strong>); +<a name="100" href="#100">100</a> <em class="jxr_comment">// hasFocus ignored</em> +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">public</strong> Object getCellEditorValue() { +<a name="104" href="#104">104</a> <strong class="jxr_keyword">return</strong> _lastEditedNode.getUserObject(); +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="107" href="#107">107</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="108" href="#108">108</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">protected</strong> JMenuItem createPropertiesMenuItem(<strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="111" href="#111">111</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Properties"</span>); +<a name="112" href="#112">112</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="113" href="#113">113</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="114" href="#114">114</a> showPropertiesDialog(node); +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> }); +<a name="117" href="#117">117</a> <strong class="jxr_keyword">return</strong> result; +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> showPropertiesDialog(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="121" href="#121">121</a> JOptionPane.showMessageDialog( +<a name="122" href="#122">122</a> _tree, +<a name="123" href="#123">123</a> getDisplayedProperties(node), +<a name="124" href="#124">124</a> <span class="jxr_string">"Category Properties: "</span> + node.getTitle(), +<a name="125" href="#125">125</a> JOptionPane.PLAIN_MESSAGE +<a name="126" href="#126">126</a> ); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">protected</strong> Object getDisplayedProperties(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="130" href="#130">130</a> ArrayList result = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="131" href="#131">131</a> result.add(<span class="jxr_string">"Category: "</span> + node.getTitle()); +<a name="132" href="#132">132</a> <strong class="jxr_keyword">if</strong> (node.hasFatalRecords()) { +<a name="133" href="#133">133</a> result.add(<span class="jxr_string">"Contains at least one fatal LogRecord."</span>); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> <strong class="jxr_keyword">if</strong> (node.hasFatalChildren()) { +<a name="136" href="#136">136</a> result.add(<span class="jxr_string">"Contains descendants with a fatal LogRecord."</span>); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> result.add(<span class="jxr_string">"LogRecords in this category alone: "</span> + +<a name="139" href="#139">139</a> node.getNumberOfContainedRecords()); +<a name="140" href="#140">140</a> result.add(<span class="jxr_string">"LogRecords in descendant categories: "</span> + +<a name="141" href="#141">141</a> node.getNumberOfRecordsFromChildren()); +<a name="142" href="#142">142</a> result.add(<span class="jxr_string">"LogRecords in this category including descendants: "</span> + +<a name="143" href="#143">143</a> node.getTotalNumberOfRecords()); +<a name="144" href="#144">144</a> <strong class="jxr_keyword">return</strong> result.toArray(); +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> showPopup(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node, <strong class="jxr_keyword">int</strong> x, <strong class="jxr_keyword">int</strong> y) { +<a name="148" href="#148">148</a> JPopupMenu popup = <strong class="jxr_keyword">new</strong> JPopupMenu(); +<a name="149" href="#149">149</a> popup.setSize(150, 400); +<a name="150" href="#150">150</a> <em class="jxr_comment">//</em> +<a name="151" href="#151">151</a> <em class="jxr_comment">// Configure the Popup</em> +<a name="152" href="#152">152</a> <em class="jxr_comment">//</em> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">if</strong> (node.getParent() == <strong class="jxr_keyword">null</strong>) { +<a name="154" href="#154">154</a> popup.add(createRemoveMenuItem()); +<a name="155" href="#155">155</a> popup.addSeparator(); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> popup.add(createSelectDescendantsMenuItem(node)); +<a name="158" href="#158">158</a> popup.add(createUnselectDescendantsMenuItem(node)); +<a name="159" href="#159">159</a> popup.addSeparator(); +<a name="160" href="#160">160</a> popup.add(createExpandMenuItem(node)); +<a name="161" href="#161">161</a> popup.add(createCollapseMenuItem(node)); +<a name="162" href="#162">162</a> popup.addSeparator(); +<a name="163" href="#163">163</a> popup.add(createPropertiesMenuItem(node)); +<a name="164" href="#164">164</a> popup.show(_renderer, x, y); +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> <strong class="jxr_keyword">protected</strong> JMenuItem createSelectDescendantsMenuItem(<strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="168" href="#168">168</a> JMenuItem selectDescendants = +<a name="169" href="#169">169</a> <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Select All Descendant Categories"</span>); +<a name="170" href="#170">170</a> selectDescendants.addActionListener( +<a name="171" href="#171">171</a> <strong class="jxr_keyword">new</strong> ActionListener() { +<a name="172" href="#172">172</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="173" href="#173">173</a> _categoryModel.setDescendantSelection(node, <strong class="jxr_keyword">true</strong>); +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> ); +<a name="177" href="#177">177</a> <strong class="jxr_keyword">return</strong> selectDescendants; +<a name="178" href="#178">178</a> } +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">protected</strong> JMenuItem createUnselectDescendantsMenuItem(<strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="181" href="#181">181</a> JMenuItem unselectDescendants = +<a name="182" href="#182">182</a> <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Deselect All Descendant Categories"</span>); +<a name="183" href="#183">183</a> unselectDescendants.addActionListener( +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <strong class="jxr_keyword">new</strong> ActionListener() { +<a name="186" href="#186">186</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="187" href="#187">187</a> _categoryModel.setDescendantSelection(node, false); +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> ); +<a name="192" href="#192">192</a> <strong class="jxr_keyword">return</strong> unselectDescendants; +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <strong class="jxr_keyword">protected</strong> JMenuItem createExpandMenuItem(<strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="196" href="#196">196</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Expand All Descendant Categories"</span>); +<a name="197" href="#197">197</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="198" href="#198">198</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="199" href="#199">199</a> expandDescendants(node); +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> }); +<a name="202" href="#202">202</a> <strong class="jxr_keyword">return</strong> result; +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">protected</strong> JMenuItem createCollapseMenuItem(<strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="206" href="#206">206</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Collapse All Descendant Categories"</span>); +<a name="207" href="#207">207</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="208" href="#208">208</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="209" href="#209">209</a> collapseDescendants(node); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> }); +<a name="212" href="#212">212</a> <strong class="jxr_keyword">return</strong> result; +<a name="213" href="#213">213</a> } +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">/**</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> * This featured was moved from the LogBrokerMonitor class</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> * to the CategoryNodeExplorer so that the Category tree</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> * could be pruned from the Category Explorer popup menu.</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> * This menu option only appears when a user right clicks on</em> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> * the Category parent node.</em> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> *</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> * See removeUnusedNodes()</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> */</em> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">protected</strong> JMenuItem createRemoveMenuItem() { +<a name="225" href="#225">225</a> JMenuItem result = <strong class="jxr_keyword">new</strong> JMenuItem(<span class="jxr_string">"Remove All Empty Categories"</span>); +<a name="226" href="#226">226</a> result.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() { +<a name="227" href="#227">227</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) { +<a name="228" href="#228">228</a> <strong class="jxr_keyword">while</strong> (removeUnusedNodes() &gt; 0) ; +<a name="229" href="#229">229</a> } +<a name="230" href="#230">230</a> }); +<a name="231" href="#231">231</a> <strong class="jxr_keyword">return</strong> result; +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> expandDescendants(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="235" href="#235">235</a> Enumeration descendants = node.depthFirstEnumeration(); +<a name="236" href="#236">236</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> current; +<a name="237" href="#237">237</a> <strong class="jxr_keyword">while</strong> (descendants.hasMoreElements()) { +<a name="238" href="#238">238</a> current = (CategoryNode) descendants.nextElement(); +<a name="239" href="#239">239</a> expand(current); +<a name="240" href="#240">240</a> } +<a name="241" href="#241">241</a> } +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> collapseDescendants(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="244" href="#244">244</a> Enumeration descendants = node.depthFirstEnumeration(); +<a name="245" href="#245">245</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> current; +<a name="246" href="#246">246</a> <strong class="jxr_keyword">while</strong> (descendants.hasMoreElements()) { +<a name="247" href="#247">247</a> current = (CategoryNode) descendants.nextElement(); +<a name="248" href="#248">248</a> collapse(current); +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment">/**</em> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment"> * Removes any inactive nodes from the Category tree.</em> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> */</em> +<a name="255" href="#255">255</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> removeUnusedNodes() { +<a name="256" href="#256">256</a> <strong class="jxr_keyword">int</strong> count = 0; +<a name="257" href="#257">257</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> root = _categoryModel.getRootCategoryNode(); +<a name="258" href="#258">258</a> Enumeration enumeration = root.depthFirstEnumeration(); +<a name="259" href="#259">259</a> <strong class="jxr_keyword">while</strong> (enumeration.hasMoreElements()) { +<a name="260" href="#260">260</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) enumeration.nextElement(); +<a name="261" href="#261">261</a> <strong class="jxr_keyword">if</strong> (node.isLeaf() &amp;&amp; node.getNumberOfContainedRecords() == 0 +<a name="262" href="#262">262</a> &amp;&amp; node.getParent() != <strong class="jxr_keyword">null</strong>) { +<a name="263" href="#263">263</a> _categoryModel.removeNodeFromParent(node); +<a name="264" href="#264">264</a> count++; +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> } +<a name="267" href="#267">267</a> +<a name="268" href="#268">268</a> <strong class="jxr_keyword">return</strong> count; +<a name="269" href="#269">269</a> } +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> expand(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="272" href="#272">272</a> _tree.expandPath(getTreePath(node)); +<a name="273" href="#273">273</a> } +<a name="274" href="#274">274</a> +<a name="275" href="#275">275</a> <strong class="jxr_keyword">protected</strong> TreePath getTreePath(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="276" href="#276">276</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> TreePath(node.getPath()); +<a name="277" href="#277">277</a> } +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> collapse(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="280" href="#280">280</a> _tree.collapsePath(getTreePath(node)); +<a name="281" href="#281">281</a> } +<a name="282" href="#282">282</a> +<a name="283" href="#283">283</a> <em class="jxr_comment">//-----------------------------------------------------------------------</em> +<a name="284" href="#284">284</a> <em class="jxr_comment">// Private Methods:</em> +<a name="285" href="#285">285</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="286" href="#286">286</a> +<a name="287" href="#287">287</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="288" href="#288">288</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="289" href="#289">289</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="290" href="#290">290</a> +<a name="291" href="#291">291</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html new file mode 100644 index 00000000000..a4db26fab03 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryNodeEditorRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Component; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> javax.swing.JCheckBox; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> javax.swing.JTree; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * CategoryNodeEditorRenderer</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.html">CategoryNodeEditorRenderer</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html">CategoryNodeRenderer</a> { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -6094804684259929574L; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">// Constants:</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">// Private Variables:</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">// Constructors:</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="53" href="#53">53</a> <em class="jxr_comment">// Public Methods:</em> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> Component getTreeCellRendererComponent( +<a name="57" href="#57">57</a> JTree tree, Object value, +<a name="58" href="#58">58</a> <strong class="jxr_keyword">boolean</strong> selected, <strong class="jxr_keyword">boolean</strong> expanded, +<a name="59" href="#59">59</a> <strong class="jxr_keyword">boolean</strong> leaf, <strong class="jxr_keyword">int</strong> row, +<a name="60" href="#60">60</a> <strong class="jxr_keyword">boolean</strong> hasFocus) { +<a name="61" href="#61">61</a> Component c = <strong class="jxr_keyword">super</strong>.getTreeCellRendererComponent(tree, +<a name="62" href="#62">62</a> value, selected, expanded, +<a name="63" href="#63">63</a> leaf, row, hasFocus); +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">return</strong> c; +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> JCheckBox getCheckBox() { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">return</strong> _checkBox; +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="73" href="#73">73</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="74" href="#74">74</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="77" href="#77">77</a> <em class="jxr_comment">// Private Methods:</em> +<a name="78" href="#78">78</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="81" href="#81">81</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="82" href="#82">82</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html new file mode 100644 index 00000000000..03a659700d6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html @@ -0,0 +1,165 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryNodeRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> javax.swing.*; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.DefaultTreeCellRenderer; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.awt.*; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * CategoryNodeRenderer</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html">CategoryNodeRenderer</a> <strong class="jxr_keyword">extends</strong> DefaultTreeCellRenderer { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -6046702673278595048L; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">// Constants:</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Color FATAL_CHILDREN = <strong class="jxr_keyword">new</strong> Color(189, 113, 0); +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">protected</strong> JCheckBox _checkBox = <strong class="jxr_keyword">new</strong> JCheckBox(); +<a name="46" href="#46">46</a> <strong class="jxr_keyword">protected</strong> JPanel _panel = <strong class="jxr_keyword">new</strong> JPanel(); +<a name="47" href="#47">47</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> ImageIcon _sat = <strong class="jxr_keyword">null</strong>; +<a name="48" href="#48">48</a> <em class="jxr_comment">// protected JLabel _label = new JLabel();</em> +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> <em class="jxr_comment">// Private Variables:</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">// Constructors:</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.html">CategoryNodeRenderer</a>() { +<a name="58" href="#58">58</a> _panel.setBackground(UIManager.getColor(<span class="jxr_string">"Tree.textBackground"</span>)); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">if</strong> (_sat == <strong class="jxr_keyword">null</strong>) { +<a name="61" href="#61">61</a> <em class="jxr_comment">// Load the satellite image.</em> +<a name="62" href="#62">62</a> String resource = +<a name="63" href="#63">63</a> <span class="jxr_string">"/org/apache/log4j/lf5/viewer/images/channelexplorer_satellite.gif"</span>; +<a name="64" href="#64">64</a> URL satURL = getClass().getResource(resource); +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> _sat = <strong class="jxr_keyword">new</strong> ImageIcon(satURL); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> setOpaque(false); +<a name="70" href="#70">70</a> _checkBox.setOpaque(false); +<a name="71" href="#71">71</a> _panel.setOpaque(false); +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_comment">// The flowlayout set to LEFT is very important so that the editor</em> +<a name="74" href="#74">74</a> <em class="jxr_comment">// doesn't jump around.</em> +<a name="75" href="#75">75</a> _panel.setLayout(<strong class="jxr_keyword">new</strong> FlowLayout(FlowLayout.LEFT, 0, 0)); +<a name="76" href="#76">76</a> _panel.add(_checkBox); +<a name="77" href="#77">77</a> _panel.add(<strong class="jxr_keyword">this</strong>); +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> setOpenIcon(_sat); +<a name="80" href="#80">80</a> setClosedIcon(_sat); +<a name="81" href="#81">81</a> setLeafIcon(_sat); +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="85" href="#85">85</a> <em class="jxr_comment">// Public Methods:</em> +<a name="86" href="#86">86</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">public</strong> Component getTreeCellRendererComponent( +<a name="88" href="#88">88</a> JTree tree, Object value, +<a name="89" href="#89">89</a> <strong class="jxr_keyword">boolean</strong> selected, <strong class="jxr_keyword">boolean</strong> expanded, +<a name="90" href="#90">90</a> <strong class="jxr_keyword">boolean</strong> leaf, <strong class="jxr_keyword">int</strong> row, +<a name="91" href="#91">91</a> <strong class="jxr_keyword">boolean</strong> hasFocus) { +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node = (CategoryNode) value; +<a name="94" href="#94">94</a> <em class="jxr_comment">//FileNode node = (FileNode)value;</em> +<a name="95" href="#95">95</a> <em class="jxr_comment">//String s = tree.convertValueToText(value, selected,</em> +<a name="96" href="#96">96</a> <em class="jxr_comment">// expanded, leaf, row, hasFocus);</em> +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">super</strong>.getTreeCellRendererComponent( +<a name="99" href="#99">99</a> tree, value, selected, expanded, +<a name="100" href="#100">100</a> leaf, row, hasFocus); +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">if</strong> (row == 0) { +<a name="103" href="#103">103</a> <em class="jxr_comment">// Root row -- no check box</em> +<a name="104" href="#104">104</a> _checkBox.setVisible(false); +<a name="105" href="#105">105</a> } <strong class="jxr_keyword">else</strong> { +<a name="106" href="#106">106</a> _checkBox.setVisible(<strong class="jxr_keyword">true</strong>); +<a name="107" href="#107">107</a> _checkBox.setSelected(node.isSelected()); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> String toolTip = buildToolTip(node); +<a name="110" href="#110">110</a> _panel.setToolTipText(toolTip); +<a name="111" href="#111">111</a> <strong class="jxr_keyword">if</strong> (node.hasFatalChildren()) { +<a name="112" href="#112">112</a> <strong class="jxr_keyword">this</strong>.setForeground(FATAL_CHILDREN); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> <strong class="jxr_keyword">if</strong> (node.hasFatalRecords()) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">this</strong>.setForeground(Color.red); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">return</strong> _panel; +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">public</strong> Dimension getCheckBoxOffset() { +<a name="122" href="#122">122</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Dimension(0, 0); +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="126" href="#126">126</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="127" href="#127">127</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">protected</strong> String buildToolTip(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node) { +<a name="130" href="#130">130</a> StringBuffer result = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="131" href="#131">131</a> result.append(node.getTitle()).append(<span class="jxr_string">" contains a total of "</span>); +<a name="132" href="#132">132</a> result.append(node.getTotalNumberOfRecords()); +<a name="133" href="#133">133</a> result.append(<span class="jxr_string">" LogRecords."</span>); +<a name="134" href="#134">134</a> result.append(<span class="jxr_string">" Right-click for more info."</span>); +<a name="135" href="#135">135</a> <strong class="jxr_keyword">return</strong> result.toString(); +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="138" href="#138">138</a> <em class="jxr_comment">// Private Methods:</em> +<a name="139" href="#139">139</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="142" href="#142">142</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="143" href="#143">143</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html new file mode 100644 index 00000000000..f448ed52be2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html @@ -0,0 +1,171 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CategoryPath xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.util.LinkedList; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.StringTokenizer; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * CategoryPath is a collection of CategoryItems which represent a</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * path of categories.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Michael J. Sikorsky</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Robert Shaw</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a> { +<a name="33" href="#33">33</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">// Constants:</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="39" href="#39">39</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">protected</strong> LinkedList _categoryElements = <strong class="jxr_keyword">new</strong> LinkedList(); +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">// Private Variables:</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> <em class="jxr_comment">// Constructors:</em> +<a name="48" href="#48">48</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a>() { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">super</strong>(); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * Construct a CategoryPath. If the category is null, it defaults to "Debug".</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a>(String category) { +<a name="58" href="#58">58</a> String processedCategory = category; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">if</strong> (processedCategory == <strong class="jxr_keyword">null</strong>) { +<a name="61" href="#61">61</a> processedCategory = <span class="jxr_string">"Debug"</span>; +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> processedCategory = processedCategory.replace('/', '.'); +<a name="65" href="#65">65</a> processedCategory = processedCategory.replace('&#92;&#92;', '.'); +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> StringTokenizer st = <strong class="jxr_keyword">new</strong> StringTokenizer(processedCategory, <span class="jxr_string">"."</span>); +<a name="68" href="#68">68</a> <strong class="jxr_keyword">while</strong> (st.hasMoreTokens()) { +<a name="69" href="#69">69</a> String element = st.nextToken(); +<a name="70" href="#70">70</a> addCategoryElement(<strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a>(element)); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="75" href="#75">75</a> <em class="jxr_comment">// Public Methods:</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * returns the number of CategoryElements.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> */</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> size() { +<a name="82" href="#82">82</a> <strong class="jxr_keyword">int</strong> count = _categoryElements.size(); +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">return</strong> (count); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isEmpty() { +<a name="88" href="#88">88</a> <strong class="jxr_keyword">boolean</strong> empty = false; +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">if</strong> (_categoryElements.size() == 0) { +<a name="91" href="#91">91</a> empty = <strong class="jxr_keyword">true</strong>; +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">return</strong> (empty); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment">/**</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> * Removes all categoryElements.</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> */</em> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeAllCategoryElements() { +<a name="102" href="#102">102</a> _categoryElements.clear(); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * Adds the specified categoryElement to the end of the categoryElement set.</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> */</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addCategoryElement(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a> categoryElement) { +<a name="109" href="#109">109</a> _categoryElements.addLast(categoryElement); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">/**</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> * Returns the CategoryElement at the specified index.</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> */</em> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.html">CategoryElement</a> categoryElementAt(<strong class="jxr_keyword">int</strong> index) { +<a name="116" href="#116">116</a> <strong class="jxr_keyword">return</strong> ((CategoryElement) _categoryElements.get(index)); +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="121" href="#121">121</a> StringBuffer out = <strong class="jxr_keyword">new</strong> StringBuffer(100); +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> out.append(<span class="jxr_string">"\n"</span>); +<a name="124" href="#124">124</a> out.append(<span class="jxr_string">"===========================\n"</span>); +<a name="125" href="#125">125</a> out.append(<span class="jxr_string">"CategoryPath: \n"</span>); +<a name="126" href="#126">126</a> out.append(<span class="jxr_string">"---------------------------\n"</span>); +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> out.append(<span class="jxr_string">"\nCategoryPath:\n\t"</span>); +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.size() &gt; 0) { +<a name="131" href="#131">131</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; <strong class="jxr_keyword">this</strong>.size(); i++) { +<a name="132" href="#132">132</a> out.append(<strong class="jxr_keyword">this</strong>.categoryElementAt(i).toString()); +<a name="133" href="#133">133</a> out.append(<span class="jxr_string">"\n\t"</span>); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> } <strong class="jxr_keyword">else</strong> { +<a name="136" href="#136">136</a> out.append(<span class="jxr_string">"&lt;&lt;NONE&gt;&gt;"</span>); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> out.append(<span class="jxr_string">"\n"</span>); +<a name="140" href="#140">140</a> out.append(<span class="jxr_string">"===========================\n"</span>); +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">return</strong> (out.toString()); +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="146" href="#146">146</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="147" href="#147">147</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="150" href="#150">150</a> <em class="jxr_comment">// Private Methods:</em> +<a name="151" href="#151">151</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="154" href="#154">154</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="155" href="#155">155</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html new file mode 100644 index 00000000000..7bb8e274882 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html @@ -0,0 +1,89 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TreeModelAdapter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.categoryexplorer; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> javax.swing.event.TreeModelEvent; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> javax.swing.event.TreeModelListener; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Default implementation of TreeModelListener which does nothing.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Richard Wan</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.html">TreeModelAdapter</a> implements TreeModelListener { +<a name="32" href="#32">32</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="33" href="#33">33</a> <em class="jxr_comment">// Constants:</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="37" href="#37">37</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="38" href="#38">38</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">// Private Variables:</em> +<a name="42" href="#42">42</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">// Constructors:</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">// Public Methods:</em> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> treeNodesChanged(TreeModelEvent e) { +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> treeNodesInserted(TreeModelEvent e) { +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> treeNodesRemoved(TreeModelEvent e) { +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> treeStructureChanged(TreeModelEvent e) { +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="65" href="#65">65</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="68" href="#68">68</a> <em class="jxr_comment">// Private Methods:</em> +<a name="69" href="#69">69</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="73" href="#73">73</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/package-frame.html new file mode 100644 index 00000000000..474762f5075 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/package-frame.html @@ -0,0 +1,57 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.lf5.viewer.categoryexplorer</title> + <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.lf5.viewer.categoryexplorer</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="CategoryAbstractCellEditor.html" target="classFrame">CategoryAbstractCellEditor</a> + </li> + <li> + <a href="CategoryElement.html" target="classFrame">CategoryElement</a> + </li> + <li> + <a href="CategoryExplorerLogRecordFilter.html" target="classFrame">CategoryExplorerLogRecordFilter</a> + </li> + <li> + <a href="CategoryExplorerModel.html" target="classFrame">CategoryExplorerModel</a> + </li> + <li> + <a href="CategoryExplorerTree.html" target="classFrame">CategoryExplorerTree</a> + </li> + <li> + <a href="CategoryImmediateEditor.html" target="classFrame">CategoryImmediateEditor</a> + </li> + <li> + <a href="CategoryNode.html" target="classFrame">CategoryNode</a> + </li> + <li> + <a href="CategoryNodeEditor.html" target="classFrame">CategoryNodeEditor</a> + </li> + <li> + <a href="CategoryNodeEditorRenderer.html" target="classFrame">CategoryNodeEditorRenderer</a> + </li> + <li> + <a href="CategoryNodeRenderer.html" target="classFrame">CategoryNodeRenderer</a> + </li> + <li> + <a href="CategoryPath.html" target="classFrame">CategoryPath</a> + </li> + <li> + <a href="TreeModelAdapter.html" target="classFrame">TreeModelAdapter</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html new file mode 100644 index 00000000000..0644f96c5ec --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html @@ -0,0 +1,122 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.lf5.viewer.categoryexplorer</title> + <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.lf5.viewer.categoryexplorer</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="CategoryAbstractCellEditor.html" target="classFrame">CategoryAbstractCellEditor</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryElement.html" target="classFrame">CategoryElement</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryExplorerLogRecordFilter.html" target="classFrame">CategoryExplorerLogRecordFilter</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryExplorerModel.html" target="classFrame">CategoryExplorerModel</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryExplorerTree.html" target="classFrame">CategoryExplorerTree</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryImmediateEditor.html" target="classFrame">CategoryImmediateEditor</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryNode.html" target="classFrame">CategoryNode</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryNodeEditor.html" target="classFrame">CategoryNodeEditor</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryNodeEditorRenderer.html" target="classFrame">CategoryNodeEditorRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryNodeRenderer.html" target="classFrame">CategoryNodeRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryPath.html" target="classFrame">CategoryPath</a> + </td> + </tr> + <tr> + <td> + <a href="TreeModelAdapter.html" target="classFrame">TreeModelAdapter</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html new file mode 100644 index 00000000000..a4231ffa62d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html @@ -0,0 +1,480 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ConfigurationManager xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.configure; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.awt.Color; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.FileWriter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.PrintWriter; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.swing.JCheckBoxMenuItem; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.swing.tree.TreePath; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilder; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilderFactory; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogLevel; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.LogLevelFormatException; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogBrokerMonitor; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogTable; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogTableColumn; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.LogTableColumnFormatException; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Document; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.NamedNodeMap; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Node; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.NodeList; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * &lt;p&gt;ConfigurationManager handles the storage and retrival of the state of</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * the CategoryExplorer</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> *</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html">ConfigurationManager</a> <strong class="jxr_keyword">extends</strong> Object { +<a name="61" href="#61">61</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="62" href="#62">62</a> <em class="jxr_comment">// Constants:</em> +<a name="63" href="#63">63</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CONFIG_FILE_NAME = <span class="jxr_string">"lf5_configuration.xml"</span>; +<a name="65" href="#65">65</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NAME = <span class="jxr_string">"name"</span>; +<a name="66" href="#66">66</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PATH = <span class="jxr_string">"path"</span>; +<a name="67" href="#67">67</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String SELECTED = <span class="jxr_string">"selected"</span>; +<a name="68" href="#68">68</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EXPANDED = <span class="jxr_string">"expanded"</span>; +<a name="69" href="#69">69</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CATEGORY = <span class="jxr_string">"category"</span>; +<a name="70" href="#70">70</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FIRST_CATEGORY_NAME = <span class="jxr_string">"Categories"</span>; +<a name="71" href="#71">71</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LEVEL = <span class="jxr_string">"level"</span>; +<a name="72" href="#72">72</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String COLORLEVEL = <span class="jxr_string">"colorlevel"</span>; +<a name="73" href="#73">73</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RED = <span class="jxr_string">"red"</span>; +<a name="74" href="#74">74</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String GREEN = <span class="jxr_string">"green"</span>; +<a name="75" href="#75">75</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String BLUE = <span class="jxr_string">"blue"</span>; +<a name="76" href="#76">76</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String COLUMN = <span class="jxr_string">"column"</span>; +<a name="77" href="#77">77</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NDCTEXTFILTER = <span class="jxr_string">"searchtext"</span>; +<a name="78" href="#78">78</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="79" href="#79">79</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="80" href="#80">80</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="83" href="#83">83</a> <em class="jxr_comment">// Private Variables:</em> +<a name="84" href="#84">84</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> _monitor = <strong class="jxr_keyword">null</strong>; +<a name="86" href="#86">86</a> <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html">LogTable</a> _table = <strong class="jxr_keyword">null</strong>; +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="89" href="#89">89</a> <em class="jxr_comment">// Constructors:</em> +<a name="90" href="#90">90</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/configure/ConfigurationManager.html">ConfigurationManager</a>(<a href="../../../../../../org/apache/log4j/lf5/viewer/LogBrokerMonitor.html">LogBrokerMonitor</a> monitor, <a href="../../../../../../org/apache/log4j/lf5/viewer/LogTable.html">LogTable</a> table) { +<a name="92" href="#92">92</a> <strong class="jxr_keyword">super</strong>(); +<a name="93" href="#93">93</a> _monitor = monitor; +<a name="94" href="#94">94</a> _table = table; +<a name="95" href="#95">95</a> load(); +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="98" href="#98">98</a> <em class="jxr_comment">// Public Methods:</em> +<a name="99" href="#99">99</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> save() { +<a name="102" href="#102">102</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> model = _monitor.getCategoryExplorerTree().getExplorerModel(); +<a name="103" href="#103">103</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> root = model.getRootCategoryNode(); +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> StringBuffer xml = <strong class="jxr_keyword">new</strong> StringBuffer(2048); +<a name="106" href="#106">106</a> openXMLDocument(xml); +<a name="107" href="#107">107</a> openConfigurationXML(xml); +<a name="108" href="#108">108</a> processLogRecordFilter(_monitor.getNDCTextFilter(), xml); +<a name="109" href="#109">109</a> processLogLevels(_monitor.getLogLevelMenuItems(), xml); +<a name="110" href="#110">110</a> processLogLevelColors(_monitor.getLogLevelMenuItems(), +<a name="111" href="#111">111</a> LogLevel.getLogLevelColorMap(), xml); +<a name="112" href="#112">112</a> processLogTableColumns(LogTableColumn.getLogTableColumns(), xml); +<a name="113" href="#113">113</a> processConfigurationNode(root, xml); +<a name="114" href="#114">114</a> closeConfigurationXML(xml); +<a name="115" href="#115">115</a> store(xml.toString()); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> reset() { +<a name="119" href="#119">119</a> deleteConfigurationFile(); +<a name="120" href="#120">120</a> collapseTree(); +<a name="121" href="#121">121</a> selectAllNodes(); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String treePathToString(TreePath path) { +<a name="125" href="#125">125</a> <em class="jxr_comment">// count begins at one so as to not include the 'Categories' - root category</em> +<a name="126" href="#126">126</a> StringBuffer sb = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="127" href="#127">127</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> n = <strong class="jxr_keyword">null</strong>; +<a name="128" href="#128">128</a> Object[] objects = path.getPath(); +<a name="129" href="#129">129</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 1; i &lt; objects.length; i++) { +<a name="130" href="#130">130</a> n = (CategoryNode) objects[i]; +<a name="131" href="#131">131</a> <strong class="jxr_keyword">if</strong> (i &gt; 1) { +<a name="132" href="#132">132</a> sb.append(<span class="jxr_string">"."</span>); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> sb.append(n.getTitle()); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> <strong class="jxr_keyword">return</strong> sb.toString(); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="140" href="#140">140</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="141" href="#141">141</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> load() { +<a name="143" href="#143">143</a> File file = <strong class="jxr_keyword">new</strong> File(getFilename()); +<a name="144" href="#144">144</a> <strong class="jxr_keyword">if</strong> (file.exists()) { +<a name="145" href="#145">145</a> <strong class="jxr_keyword">try</strong> { +<a name="146" href="#146">146</a> DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory. +<a name="147" href="#147">147</a> newInstance(); +<a name="148" href="#148">148</a> DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); +<a name="149" href="#149">149</a> Document doc = docBuilder.parse(file); +<a name="150" href="#150">150</a> processRecordFilter(doc); +<a name="151" href="#151">151</a> processCategories(doc); +<a name="152" href="#152">152</a> processLogLevels(doc); +<a name="153" href="#153">153</a> processLogLevelColors(doc); +<a name="154" href="#154">154</a> processLogTableColumns(doc); +<a name="155" href="#155">155</a> } <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="156" href="#156">156</a> <em class="jxr_comment">// ignore all error and just continue as if there was no</em> +<a name="157" href="#157">157</a> <em class="jxr_comment">// configuration xml file but do report a message</em> +<a name="158" href="#158">158</a> System.err.println(<span class="jxr_string">"Unable process configuration file at "</span> + +<a name="159" href="#159">159</a> getFilename() + <span class="jxr_string">". Error Message="</span> + e.getMessage()); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em class="jxr_comment">// Added in version 1.2 - reads in the NDC text filter from the</em> +<a name="166" href="#166">166</a> <em class="jxr_comment">// xml configuration file. If the value of the filter is not null</em> +<a name="167" href="#167">167</a> <em class="jxr_comment">// or an empty string ("") then the manager will set the LogBrokerMonitor's</em> +<a name="168" href="#168">168</a> <em class="jxr_comment">// LogRecordFilter to use the NDC LogRecordFilter. Otherwise, the</em> +<a name="169" href="#169">169</a> <em class="jxr_comment">// LogBrokerMonitor will use the default LogRecordFilter.</em> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> processRecordFilter(Document doc) { +<a name="171" href="#171">171</a> NodeList nodeList = doc.getElementsByTagName(NDCTEXTFILTER); +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <em class="jxr_comment">// there is only one value stored</em> +<a name="174" href="#174">174</a> Node n = nodeList.item(0); +<a name="175" href="#175">175</a> <em class="jxr_comment">// add check for backwards compatibility as this feature was added in</em> +<a name="176" href="#176">176</a> <em class="jxr_comment">// version 1.2</em> +<a name="177" href="#177">177</a> <strong class="jxr_keyword">if</strong> (n == <strong class="jxr_keyword">null</strong>) { +<a name="178" href="#178">178</a> <strong class="jxr_keyword">return</strong>; +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> NamedNodeMap map = n.getAttributes(); +<a name="182" href="#182">182</a> String text = getValue(map, NAME); +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">if</strong> (text == <strong class="jxr_keyword">null</strong> || text.equals(<span class="jxr_string">""</span>)) { +<a name="185" href="#185">185</a> <strong class="jxr_keyword">return</strong>; +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> _monitor.setNDCLogRecordFilter(text); +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> processCategories(Document doc) { +<a name="191" href="#191">191</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html">CategoryExplorerTree</a> tree = _monitor.getCategoryExplorerTree(); +<a name="192" href="#192">192</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> model = tree.getExplorerModel(); +<a name="193" href="#193">193</a> NodeList nodeList = doc.getElementsByTagName(CATEGORY); +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <em class="jxr_comment">// determine where the starting node is</em> +<a name="196" href="#196">196</a> NamedNodeMap map = nodeList.item(0).getAttributes(); +<a name="197" href="#197">197</a> <strong class="jxr_keyword">int</strong> j = (getValue(map, NAME).equalsIgnoreCase(FIRST_CATEGORY_NAME)) ? 1 : 0; +<a name="198" href="#198">198</a> <em class="jxr_comment">// iterate backwards throught the nodeList so that expansion of the</em> +<a name="199" href="#199">199</a> <em class="jxr_comment">// list can occur</em> +<a name="200" href="#200">200</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = nodeList.getLength() - 1; i &gt;= j; i--) { +<a name="201" href="#201">201</a> Node n = nodeList.item(i); +<a name="202" href="#202">202</a> map = n.getAttributes(); +<a name="203" href="#203">203</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> chnode = model.addCategory(<strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.html">CategoryPath</a>(getValue(map, PATH))); +<a name="204" href="#204">204</a> chnode.setSelected((getValue(map, SELECTED).equalsIgnoreCase(<span class="jxr_string">"true"</span>)) ? <strong class="jxr_keyword">true</strong> : false); +<a name="205" href="#205">205</a> <strong class="jxr_keyword">if</strong> (getValue(map, EXPANDED).equalsIgnoreCase(<span class="jxr_string">"true"</span>)) ; +<a name="206" href="#206">206</a> tree.expandPath(model.getTreePathToRoot(chnode)); +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> processLogLevels(Document doc) { +<a name="212" href="#212">212</a> NodeList nodeList = doc.getElementsByTagName(LEVEL); +<a name="213" href="#213">213</a> Map menuItems = _monitor.getLogLevelMenuItems(); +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; nodeList.getLength(); i++) { +<a name="216" href="#216">216</a> Node n = nodeList.item(i); +<a name="217" href="#217">217</a> NamedNodeMap map = n.getAttributes(); +<a name="218" href="#218">218</a> String name = getValue(map, NAME); +<a name="219" href="#219">219</a> <strong class="jxr_keyword">try</strong> { +<a name="220" href="#220">220</a> JCheckBoxMenuItem item = +<a name="221" href="#221">221</a> (JCheckBoxMenuItem) menuItems.get(LogLevel.valueOf(name)); +<a name="222" href="#222">222</a> item.setSelected(getValue(map, SELECTED).equalsIgnoreCase(<span class="jxr_string">"true"</span>)); +<a name="223" href="#223">223</a> } <strong class="jxr_keyword">catch</strong> (LogLevelFormatException e) { +<a name="224" href="#224">224</a> <em class="jxr_comment">// ignore it will be on by default.</em> +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> processLogLevelColors(Document doc) { +<a name="230" href="#230">230</a> NodeList nodeList = doc.getElementsByTagName(COLORLEVEL); +<a name="231" href="#231">231</a> LogLevel.getLogLevelColorMap(); +<a name="232" href="#232">232</a> +<a name="233" href="#233">233</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; nodeList.getLength(); i++) { +<a name="234" href="#234">234</a> Node n = nodeList.item(i); +<a name="235" href="#235">235</a> <em class="jxr_comment">// check for backwards compatibility since this feature was added</em> +<a name="236" href="#236">236</a> <em class="jxr_comment">// in version 1.3</em> +<a name="237" href="#237">237</a> <strong class="jxr_keyword">if</strong> (n == <strong class="jxr_keyword">null</strong>) { +<a name="238" href="#238">238</a> <strong class="jxr_keyword">return</strong>; +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> NamedNodeMap map = n.getAttributes(); +<a name="242" href="#242">242</a> String name = getValue(map, NAME); +<a name="243" href="#243">243</a> <strong class="jxr_keyword">try</strong> { +<a name="244" href="#244">244</a> <a href="../../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level = LogLevel.valueOf(name); +<a name="245" href="#245">245</a> <strong class="jxr_keyword">int</strong> red = Integer.parseInt(getValue(map, RED)); +<a name="246" href="#246">246</a> <strong class="jxr_keyword">int</strong> green = Integer.parseInt(getValue(map, GREEN)); +<a name="247" href="#247">247</a> <strong class="jxr_keyword">int</strong> blue = Integer.parseInt(getValue(map, BLUE)); +<a name="248" href="#248">248</a> Color c = <strong class="jxr_keyword">new</strong> Color(red, green, blue); +<a name="249" href="#249">249</a> <strong class="jxr_keyword">if</strong> (level != <strong class="jxr_keyword">null</strong>) { +<a name="250" href="#250">250</a> level.setLogLevelColorMap(level, c); +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> } <strong class="jxr_keyword">catch</strong> (LogLevelFormatException e) { +<a name="254" href="#254">254</a> <em class="jxr_comment">// ignore it will be on by default.</em> +<a name="255" href="#255">255</a> } +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> processLogTableColumns(Document doc) { +<a name="260" href="#260">260</a> NodeList nodeList = doc.getElementsByTagName(COLUMN); +<a name="261" href="#261">261</a> Map menuItems = _monitor.getLogTableColumnMenuItems(); +<a name="262" href="#262">262</a> List selectedColumns = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="263" href="#263">263</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; nodeList.getLength(); i++) { +<a name="264" href="#264">264</a> Node n = nodeList.item(i); +<a name="265" href="#265">265</a> <em class="jxr_comment">// check for backwards compatibility since this feature was added</em> +<a name="266" href="#266">266</a> <em class="jxr_comment">// in version 1.3</em> +<a name="267" href="#267">267</a> <strong class="jxr_keyword">if</strong> (n == <strong class="jxr_keyword">null</strong>) { +<a name="268" href="#268">268</a> <strong class="jxr_keyword">return</strong>; +<a name="269" href="#269">269</a> } +<a name="270" href="#270">270</a> NamedNodeMap map = n.getAttributes(); +<a name="271" href="#271">271</a> String name = getValue(map, NAME); +<a name="272" href="#272">272</a> <strong class="jxr_keyword">try</strong> { +<a name="273" href="#273">273</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> column = LogTableColumn.valueOf(name); +<a name="274" href="#274">274</a> JCheckBoxMenuItem item = +<a name="275" href="#275">275</a> (JCheckBoxMenuItem) menuItems.get(column); +<a name="276" href="#276">276</a> item.setSelected(getValue(map, SELECTED).equalsIgnoreCase(<span class="jxr_string">"true"</span>)); +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> <strong class="jxr_keyword">if</strong> (item.isSelected()) { +<a name="279" href="#279">279</a> selectedColumns.add(column); +<a name="280" href="#280">280</a> } +<a name="281" href="#281">281</a> } <strong class="jxr_keyword">catch</strong> (LogTableColumnFormatException e) { +<a name="282" href="#282">282</a> <em class="jxr_comment">// ignore it will be on by default.</em> +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> <strong class="jxr_keyword">if</strong> (selectedColumns.isEmpty()) { +<a name="286" href="#286">286</a> _table.setDetailedView(); +<a name="287" href="#287">287</a> } <strong class="jxr_keyword">else</strong> { +<a name="288" href="#288">288</a> _table.setView(selectedColumns); +<a name="289" href="#289">289</a> } +<a name="290" href="#290">290</a> +<a name="291" href="#291">291</a> } +<a name="292" href="#292">292</a> } +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> <strong class="jxr_keyword">protected</strong> String getValue(NamedNodeMap map, String attr) { +<a name="295" href="#295">295</a> Node n = map.getNamedItem(attr); +<a name="296" href="#296">296</a> <strong class="jxr_keyword">return</strong> n.getNodeValue(); +<a name="297" href="#297">297</a> } +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> collapseTree() { +<a name="300" href="#300">300</a> <em class="jxr_comment">// collapse everything except the first category</em> +<a name="301" href="#301">301</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html">CategoryExplorerTree</a> tree = _monitor.getCategoryExplorerTree(); +<a name="302" href="#302">302</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = tree.getRowCount() - 1; i &gt; 0; i--) { +<a name="303" href="#303">303</a> tree.collapseRow(i); +<a name="304" href="#304">304</a> } +<a name="305" href="#305">305</a> } +<a name="306" href="#306">306</a> +<a name="307" href="#307">307</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> selectAllNodes() { +<a name="308" href="#308">308</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> model = _monitor.getCategoryExplorerTree().getExplorerModel(); +<a name="309" href="#309">309</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> root = model.getRootCategoryNode(); +<a name="310" href="#310">310</a> Enumeration all = root.breadthFirstEnumeration(); +<a name="311" href="#311">311</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> n = <strong class="jxr_keyword">null</strong>; +<a name="312" href="#312">312</a> <strong class="jxr_keyword">while</strong> (all.hasMoreElements()) { +<a name="313" href="#313">313</a> n = (CategoryNode) all.nextElement(); +<a name="314" href="#314">314</a> n.setSelected(<strong class="jxr_keyword">true</strong>); +<a name="315" href="#315">315</a> } +<a name="316" href="#316">316</a> } +<a name="317" href="#317">317</a> +<a name="318" href="#318">318</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> store(String s) { +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> <strong class="jxr_keyword">try</strong> { +<a name="321" href="#321">321</a> PrintWriter writer = <strong class="jxr_keyword">new</strong> PrintWriter(<strong class="jxr_keyword">new</strong> FileWriter(getFilename())); +<a name="322" href="#322">322</a> writer.print(s); +<a name="323" href="#323">323</a> writer.close(); +<a name="324" href="#324">324</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="325" href="#325">325</a> <em class="jxr_comment">// do something with this error.</em> +<a name="326" href="#326">326</a> e.printStackTrace(); +<a name="327" href="#327">327</a> } +<a name="328" href="#328">328</a> +<a name="329" href="#329">329</a> } +<a name="330" href="#330">330</a> +<a name="331" href="#331">331</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> deleteConfigurationFile() { +<a name="332" href="#332">332</a> <strong class="jxr_keyword">try</strong> { +<a name="333" href="#333">333</a> File f = <strong class="jxr_keyword">new</strong> File(getFilename()); +<a name="334" href="#334">334</a> <strong class="jxr_keyword">if</strong> (f.exists()) { +<a name="335" href="#335">335</a> f.delete(); +<a name="336" href="#336">336</a> } +<a name="337" href="#337">337</a> } <strong class="jxr_keyword">catch</strong> (SecurityException e) { +<a name="338" href="#338">338</a> System.err.println(<span class="jxr_string">"Cannot delete "</span> + getFilename() + +<a name="339" href="#339">339</a> <span class="jxr_string">" because a security violation occured."</span>); +<a name="340" href="#340">340</a> } +<a name="341" href="#341">341</a> } +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> <strong class="jxr_keyword">protected</strong> String getFilename() { +<a name="344" href="#344">344</a> String home = System.getProperty(<span class="jxr_string">"user.home"</span>); +<a name="345" href="#345">345</a> String sep = System.getProperty(<span class="jxr_string">"file.separator"</span>); +<a name="346" href="#346">346</a> +<a name="347" href="#347">347</a> <strong class="jxr_keyword">return</strong> home + sep + <span class="jxr_string">"lf5"</span> + sep + CONFIG_FILE_NAME; +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="351" href="#351">351</a> <em class="jxr_comment">// Private Methods:</em> +<a name="352" href="#352">352</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="353" href="#353">353</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> processConfigurationNode(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node, StringBuffer xml) { +<a name="354" href="#354">354</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.html">CategoryExplorerModel</a> model = _monitor.getCategoryExplorerTree().getExplorerModel(); +<a name="355" href="#355">355</a> +<a name="356" href="#356">356</a> Enumeration all = node.breadthFirstEnumeration(); +<a name="357" href="#357">357</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> n = <strong class="jxr_keyword">null</strong>; +<a name="358" href="#358">358</a> <strong class="jxr_keyword">while</strong> (all.hasMoreElements()) { +<a name="359" href="#359">359</a> n = (CategoryNode) all.nextElement(); +<a name="360" href="#360">360</a> exportXMLElement(n, model.getTreePathToRoot(n), xml); +<a name="361" href="#361">361</a> } +<a name="362" href="#362">362</a> +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> +<a name="365" href="#365">365</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> processLogLevels(Map logLevelMenuItems, StringBuffer xml) { +<a name="366" href="#366">366</a> xml.append(<span class="jxr_string">"\t&lt;loglevels&gt;\r\n"</span>); +<a name="367" href="#367">367</a> Iterator it = logLevelMenuItems.keySet().iterator(); +<a name="368" href="#368">368</a> <strong class="jxr_keyword">while</strong> (it.hasNext()) { +<a name="369" href="#369">369</a> <a href="../../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level = (LogLevel) it.next(); +<a name="370" href="#370">370</a> JCheckBoxMenuItem item = (JCheckBoxMenuItem) logLevelMenuItems.get(level); +<a name="371" href="#371">371</a> exportLogLevelXMLElement(level.getLabel(), item.isSelected(), xml); +<a name="372" href="#372">372</a> } +<a name="373" href="#373">373</a> +<a name="374" href="#374">374</a> xml.append(<span class="jxr_string">"\t&lt;/loglevels&gt;\r\n"</span>); +<a name="375" href="#375">375</a> } +<a name="376" href="#376">376</a> +<a name="377" href="#377">377</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> processLogLevelColors(Map logLevelMenuItems, Map logLevelColors, StringBuffer xml) { +<a name="378" href="#378">378</a> xml.append(<span class="jxr_string">"\t&lt;loglevelcolors&gt;\r\n"</span>); +<a name="379" href="#379">379</a> <em class="jxr_comment">// iterate through the list of log levels being used (log4j, jdk1.4, custom levels)</em> +<a name="380" href="#380">380</a> Iterator it = logLevelMenuItems.keySet().iterator(); +<a name="381" href="#381">381</a> <strong class="jxr_keyword">while</strong> (it.hasNext()) { +<a name="382" href="#382">382</a> <a href="../../../../../../org/apache/log4j/lf5/LogLevel.html">LogLevel</a> level = (LogLevel) it.next(); +<a name="383" href="#383">383</a> <em class="jxr_comment">// for each level, get the associated color from the log level color map</em> +<a name="384" href="#384">384</a> Color color = (Color) logLevelColors.get(level); +<a name="385" href="#385">385</a> exportLogLevelColorXMLElement(level.getLabel(), color, xml); +<a name="386" href="#386">386</a> } +<a name="387" href="#387">387</a> +<a name="388" href="#388">388</a> xml.append(<span class="jxr_string">"\t&lt;/loglevelcolors&gt;\r\n"</span>); +<a name="389" href="#389">389</a> } +<a name="390" href="#390">390</a> +<a name="391" href="#391">391</a> +<a name="392" href="#392">392</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> processLogTableColumns(List logTableColumnMenuItems, StringBuffer xml) { +<a name="393" href="#393">393</a> xml.append(<span class="jxr_string">"\t&lt;logtablecolumns&gt;\r\n"</span>); +<a name="394" href="#394">394</a> Iterator it = logTableColumnMenuItems.iterator(); +<a name="395" href="#395">395</a> <strong class="jxr_keyword">while</strong> (it.hasNext()) { +<a name="396" href="#396">396</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/LogTableColumn.html">LogTableColumn</a> column = (LogTableColumn) it.next(); +<a name="397" href="#397">397</a> JCheckBoxMenuItem item = _monitor.getTableColumnMenuItem(column); +<a name="398" href="#398">398</a> exportLogTableColumnXMLElement(column.getLabel(), item.isSelected(), xml); +<a name="399" href="#399">399</a> } +<a name="400" href="#400">400</a> +<a name="401" href="#401">401</a> xml.append(<span class="jxr_string">"\t&lt;/logtablecolumns&gt;\r\n"</span>); +<a name="402" href="#402">402</a> } +<a name="403" href="#403">403</a> +<a name="404" href="#404">404</a> <em class="jxr_comment">// Added in version 1.2 - stores the NDC text filter in the xml file</em> +<a name="405" href="#405">405</a> <em class="jxr_comment">// for future use.</em> +<a name="406" href="#406">406</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> processLogRecordFilter(String text, StringBuffer xml) { +<a name="407" href="#407">407</a> xml.append(<span class="jxr_string">"\t&lt;"</span>).append(NDCTEXTFILTER).append(<span class="jxr_string">" "</span>); +<a name="408" href="#408">408</a> xml.append(NAME).append(<span class="jxr_string">"=\&quot;"</span>).append(text).append(<span class="jxr_string">"\&quot;"</span>); +<a name="409" href="#409">409</a> xml.append(<span class="jxr_string">"/&gt;\r\n"</span>); +<a name="410" href="#410">410</a> } +<a name="411" href="#411">411</a> +<a name="412" href="#412">412</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> openXMLDocument(StringBuffer xml) { +<a name="413" href="#413">413</a> xml.append(<span class="jxr_string">"&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;UTF-8\&quot; ?&gt;\r\n"</span>); +<a name="414" href="#414">414</a> } +<a name="415" href="#415">415</a> +<a name="416" href="#416">416</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> openConfigurationXML(StringBuffer xml) { +<a name="417" href="#417">417</a> xml.append(<span class="jxr_string">"&lt;configuration&gt;\r\n"</span>); +<a name="418" href="#418">418</a> } +<a name="419" href="#419">419</a> +<a name="420" href="#420">420</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> closeConfigurationXML(StringBuffer xml) { +<a name="421" href="#421">421</a> xml.append(<span class="jxr_string">"&lt;/configuration&gt;\r\n"</span>); +<a name="422" href="#422">422</a> } +<a name="423" href="#423">423</a> +<a name="424" href="#424">424</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> exportXMLElement(<a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html">CategoryNode</a> node, TreePath path, StringBuffer xml) { +<a name="425" href="#425">425</a> <a href="../../../../../../org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.html">CategoryExplorerTree</a> tree = _monitor.getCategoryExplorerTree(); +<a name="426" href="#426">426</a> +<a name="427" href="#427">427</a> xml.append(<span class="jxr_string">"\t&lt;"</span>).append(CATEGORY).append(<span class="jxr_string">" "</span>); +<a name="428" href="#428">428</a> xml.append(NAME).append(<span class="jxr_string">"=\&quot;"</span>).append(node.getTitle()).append(<span class="jxr_string">"\&quot; "</span>); +<a name="429" href="#429">429</a> xml.append(PATH).append(<span class="jxr_string">"=\&quot;"</span>).append(treePathToString(path)).append(<span class="jxr_string">"\&quot; "</span>); +<a name="430" href="#430">430</a> xml.append(EXPANDED).append(<span class="jxr_string">"=\&quot;"</span>).append(tree.isExpanded(path)).append(<span class="jxr_string">"\&quot; "</span>); +<a name="431" href="#431">431</a> xml.append(SELECTED).append(<span class="jxr_string">"=\&quot;"</span>).append(node.isSelected()).append(<span class="jxr_string">"\&quot;/&gt;\r\n"</span>); +<a name="432" href="#432">432</a> } +<a name="433" href="#433">433</a> +<a name="434" href="#434">434</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> exportLogLevelXMLElement(String label, <strong class="jxr_keyword">boolean</strong> selected, StringBuffer xml) { +<a name="435" href="#435">435</a> xml.append(<span class="jxr_string">"\t\t&lt;"</span>).append(LEVEL).append(<span class="jxr_string">" "</span>).append(NAME); +<a name="436" href="#436">436</a> xml.append(<span class="jxr_string">"=\&quot;"</span>).append(label).append(<span class="jxr_string">"\&quot; "</span>); +<a name="437" href="#437">437</a> xml.append(SELECTED).append(<span class="jxr_string">"=\&quot;"</span>).append(selected); +<a name="438" href="#438">438</a> xml.append(<span class="jxr_string">"\&quot;/&gt;\r\n"</span>); +<a name="439" href="#439">439</a> } +<a name="440" href="#440">440</a> +<a name="441" href="#441">441</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> exportLogLevelColorXMLElement(String label, Color color, StringBuffer xml) { +<a name="442" href="#442">442</a> xml.append(<span class="jxr_string">"\t\t&lt;"</span>).append(COLORLEVEL).append(<span class="jxr_string">" "</span>).append(NAME); +<a name="443" href="#443">443</a> xml.append(<span class="jxr_string">"=\&quot;"</span>).append(label).append(<span class="jxr_string">"\&quot; "</span>); +<a name="444" href="#444">444</a> xml.append(RED).append(<span class="jxr_string">"=\&quot;"</span>).append(color.getRed()).append(<span class="jxr_string">"\&quot; "</span>); +<a name="445" href="#445">445</a> xml.append(GREEN).append(<span class="jxr_string">"=\&quot;"</span>).append(color.getGreen()).append(<span class="jxr_string">"\&quot; "</span>); +<a name="446" href="#446">446</a> xml.append(BLUE).append(<span class="jxr_string">"=\&quot;"</span>).append(color.getBlue()); +<a name="447" href="#447">447</a> xml.append(<span class="jxr_string">"\&quot;/&gt;\r\n"</span>); +<a name="448" href="#448">448</a> } +<a name="449" href="#449">449</a> +<a name="450" href="#450">450</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> exportLogTableColumnXMLElement(String label, <strong class="jxr_keyword">boolean</strong> selected, StringBuffer xml) { +<a name="451" href="#451">451</a> xml.append(<span class="jxr_string">"\t\t&lt;"</span>).append(COLUMN).append(<span class="jxr_string">" "</span>).append(NAME); +<a name="452" href="#452">452</a> xml.append(<span class="jxr_string">"=\&quot;"</span>).append(label).append(<span class="jxr_string">"\&quot; "</span>); +<a name="453" href="#453">453</a> xml.append(SELECTED).append(<span class="jxr_string">"=\&quot;"</span>).append(selected); +<a name="454" href="#454">454</a> xml.append(<span class="jxr_string">"\&quot;/&gt;\r\n"</span>); +<a name="455" href="#455">455</a> } +<a name="456" href="#456">456</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="457" href="#457">457</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces:</em> +<a name="458" href="#458">458</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="459" href="#459">459</a> +<a name="460" href="#460">460</a> } +<a name="461" href="#461">461</a> +<a name="462" href="#462">462</a> +<a name="463" href="#463">463</a> +<a name="464" href="#464">464</a> +<a name="465" href="#465">465</a> +<a name="466" href="#466">466</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/MRUFileManager.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/MRUFileManager.html new file mode 100644 index 00000000000..6ce454ac567 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/MRUFileManager.html @@ -0,0 +1,307 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MRUFileManager xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/log4j/lf5/viewer/configure/MRUFileManager.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer.configure; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.io.BufferedInputStream; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.FileInputStream; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.FileNotFoundException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.FileOutputStream; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> java.util.LinkedList; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * &lt;p&gt;MRUFileManager handles the storage and retrival the most</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * recently opened log files.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> *</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @author Brad Marlborough</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * @author Richard Hurst</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html">MRUFileManager</a> { +<a name="44" href="#44">44</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">// Constants:</em> +<a name="46" href="#46">46</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CONFIG_FILE_NAME = <span class="jxr_string">"mru_file_manager"</span>; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_MAX_SIZE = 3; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="51" href="#51">51</a> <em class="jxr_comment">// Protected Variables:</em> +<a name="52" href="#52">52</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="55" href="#55">55</a> <em class="jxr_comment">// Private Variables:</em> +<a name="56" href="#56">56</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> _maxSize = 0; +<a name="58" href="#58">58</a> <strong class="jxr_keyword">private</strong> LinkedList _mruFileList; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="61" href="#61">61</a> <em class="jxr_comment">// Constructors:</em> +<a name="62" href="#62">62</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html">MRUFileManager</a>() { +<a name="64" href="#64">64</a> load(); +<a name="65" href="#65">65</a> setMaxSize(DEFAULT_MAX_SIZE); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/log4j/lf5/viewer/configure/MRUFileManager.html">MRUFileManager</a>(<strong class="jxr_keyword">int</strong> maxSize) { +<a name="69" href="#69">69</a> load(); +<a name="70" href="#70">70</a> setMaxSize(maxSize); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="73" href="#73">73</a> <em class="jxr_comment">// Public Methods:</em> +<a name="74" href="#74">74</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment">/**</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * Saves a list of MRU files out to a file.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> */</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> save() { +<a name="80" href="#80">80</a> File file = <strong class="jxr_keyword">new</strong> File(getFilename()); +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">try</strong> { +<a name="83" href="#83">83</a> ObjectOutputStream oos = <strong class="jxr_keyword">new</strong> ObjectOutputStream(<strong class="jxr_keyword">new</strong> +<a name="84" href="#84">84</a> FileOutputStream(file)); +<a name="85" href="#85">85</a> oos.writeObject(_mruFileList); +<a name="86" href="#86">86</a> oos.flush(); +<a name="87" href="#87">87</a> oos.close(); +<a name="88" href="#88">88</a> } <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="89" href="#89">89</a> <em class="jxr_comment">// do nothing</em> +<a name="90" href="#90">90</a> e.printStackTrace(); +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment">/**</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * Gets the size of the MRU file list.</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> */</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> size() { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">return</strong> _mruFileList.size(); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * Returns a particular file name stored in a MRU file</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * list based on an index value.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> */</em> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">public</strong> Object getFile(<strong class="jxr_keyword">int</strong> index) { +<a name="106" href="#106">106</a> <strong class="jxr_keyword">if</strong> (index &lt; size()) { +<a name="107" href="#107">107</a> <strong class="jxr_keyword">return</strong> _mruFileList.get(index); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">/**</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> * Returns a input stream to the resource at the specified index</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> */</em> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">public</strong> InputStream getInputStream(<strong class="jxr_keyword">int</strong> index) <strong class="jxr_keyword">throws</strong> IOException, +<a name="117" href="#117">117</a> FileNotFoundException { +<a name="118" href="#118">118</a> <strong class="jxr_keyword">if</strong> (index &lt; size()) { +<a name="119" href="#119">119</a> Object o = getFile(index); +<a name="120" href="#120">120</a> <strong class="jxr_keyword">if</strong> (o instanceof File) { +<a name="121" href="#121">121</a> <strong class="jxr_keyword">return</strong> getInputStream((File) o); +<a name="122" href="#122">122</a> } <strong class="jxr_keyword">else</strong> { +<a name="123" href="#123">123</a> <strong class="jxr_keyword">return</strong> getInputStream((URL) o); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">/**</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> * Adds a file name to the MRU file list.</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> */</em> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> set(File file) { +<a name="133" href="#133">133</a> setMRU(file); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">/**</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> * Adds a url to the MRU file list.</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> */</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> set(URL url) { +<a name="140" href="#140">140</a> setMRU(url); +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">/**</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> * Gets the list of files stored in the MRU file list.</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> */</em> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">public</strong> String[] getMRUFileList() { +<a name="147" href="#147">147</a> <strong class="jxr_keyword">if</strong> (size() == 0) { +<a name="148" href="#148">148</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> String[] ss = <strong class="jxr_keyword">new</strong> String[size()]; +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; size(); i++) { +<a name="154" href="#154">154</a> Object o = getFile(i); +<a name="155" href="#155">155</a> <strong class="jxr_keyword">if</strong> (o instanceof File) { +<a name="156" href="#156">156</a> ss[i] = ((File) o).getAbsolutePath(); +<a name="157" href="#157">157</a> } <strong class="jxr_keyword">else</strong> <em class="jxr_comment">// must be a url</em> +<a name="158" href="#158">158</a> { +<a name="159" href="#159">159</a> ss[i] = o.toString(); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <strong class="jxr_keyword">return</strong> ss; +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">/**</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> * Moves the the index to the top of the MRU List</em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> *</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> * @param index The index to be first in the mru list</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> */</em> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> moveToTop(<strong class="jxr_keyword">int</strong> index) { +<a name="173" href="#173">173</a> _mruFileList.add(0, _mruFileList.remove(index)); +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">/**</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> * Creates the directory where the MRU file list will be written.</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> * The "lf5" directory is created in the Documents and Settings</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * directory on Windows 2000 machines and where ever the user.home</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * variable points on all other platforms.</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> */</em> +<a name="182" href="#182">182</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> createConfigurationDirectory() { +<a name="183" href="#183">183</a> String home = System.getProperty(<span class="jxr_string">"user.home"</span>); +<a name="184" href="#184">184</a> String sep = System.getProperty(<span class="jxr_string">"file.separator"</span>); +<a name="185" href="#185">185</a> File f = <strong class="jxr_keyword">new</strong> File(home + sep + <span class="jxr_string">"lf5"</span>); +<a name="186" href="#186">186</a> <strong class="jxr_keyword">if</strong> (!f.exists()) { +<a name="187" href="#187">187</a> <strong class="jxr_keyword">try</strong> { +<a name="188" href="#188">188</a> f.mkdir(); +<a name="189" href="#189">189</a> } <strong class="jxr_keyword">catch</strong> (SecurityException e) { +<a name="190" href="#190">190</a> e.printStackTrace(); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="196" href="#196">196</a> <em class="jxr_comment">// Protected Methods:</em> +<a name="197" href="#197">197</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">/**</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> * Gets an input stream for the corresponding file.</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> *</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> * @param file The file to create the input stream from.</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> * @return InputStream</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> */</em> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">protected</strong> InputStream getInputStream(File file) <strong class="jxr_keyword">throws</strong> IOException, +<a name="205" href="#205">205</a> FileNotFoundException { +<a name="206" href="#206">206</a> BufferedInputStream reader = +<a name="207" href="#207">207</a> <strong class="jxr_keyword">new</strong> BufferedInputStream(<strong class="jxr_keyword">new</strong> FileInputStream(file)); +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <strong class="jxr_keyword">return</strong> reader; +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">/**</em> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment"> * Gets an input stream for the corresponding URL.</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> *</em> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> * @param url The url to create the input stream from.</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> * @return InputStream</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> */</em> +<a name="218" href="#218">218</a> <strong class="jxr_keyword">protected</strong> InputStream getInputStream(URL url) <strong class="jxr_keyword">throws</strong> IOException { +<a name="219" href="#219">219</a> <strong class="jxr_keyword">return</strong> url.openStream(); +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment">/**</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> * Adds an object to the mru.</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> */</em> +<a name="225" href="#225">225</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setMRU(Object o) { +<a name="226" href="#226">226</a> <strong class="jxr_keyword">int</strong> index = _mruFileList.indexOf(o); +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">if</strong> (index == -1) { +<a name="229" href="#229">229</a> _mruFileList.add(0, o); +<a name="230" href="#230">230</a> setMaxSize(_maxSize); +<a name="231" href="#231">231</a> } <strong class="jxr_keyword">else</strong> { +<a name="232" href="#232">232</a> moveToTop(index); +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment">/**</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> * Loads the MRU file list in from a file and stores it in a LinkedList.</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> * If no file exists, a new LinkedList is created.</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> */</em> +<a name="240" href="#240">240</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> load() { +<a name="241" href="#241">241</a> createConfigurationDirectory(); +<a name="242" href="#242">242</a> File file = <strong class="jxr_keyword">new</strong> File(getFilename()); +<a name="243" href="#243">243</a> <strong class="jxr_keyword">if</strong> (file.exists()) { +<a name="244" href="#244">244</a> <strong class="jxr_keyword">try</strong> { +<a name="245" href="#245">245</a> ObjectInputStream ois = <strong class="jxr_keyword">new</strong> ObjectInputStream( +<a name="246" href="#246">246</a> <strong class="jxr_keyword">new</strong> FileInputStream(file)); +<a name="247" href="#247">247</a> _mruFileList = (LinkedList) ois.readObject(); +<a name="248" href="#248">248</a> ois.close(); +<a name="249" href="#249">249</a> +<a name="250" href="#250">250</a> <em class="jxr_comment">// check that only files and url are in linked list</em> +<a name="251" href="#251">251</a> Iterator it = _mruFileList.iterator(); +<a name="252" href="#252">252</a> <strong class="jxr_keyword">while</strong> (it.hasNext()) { +<a name="253" href="#253">253</a> Object o = it.next(); +<a name="254" href="#254">254</a> <strong class="jxr_keyword">if</strong> (!(o instanceof File) &amp;&amp; !(o instanceof URL)) { +<a name="255" href="#255">255</a> it.remove(); +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> } <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="259" href="#259">259</a> _mruFileList = <strong class="jxr_keyword">new</strong> LinkedList(); +<a name="260" href="#260">260</a> } +<a name="261" href="#261">261</a> } <strong class="jxr_keyword">else</strong> { +<a name="262" href="#262">262</a> _mruFileList = <strong class="jxr_keyword">new</strong> LinkedList(); +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <strong class="jxr_keyword">protected</strong> String getFilename() { +<a name="268" href="#268">268</a> String home = System.getProperty(<span class="jxr_string">"user.home"</span>); +<a name="269" href="#269">269</a> String sep = System.getProperty(<span class="jxr_string">"file.separator"</span>); +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> <strong class="jxr_keyword">return</strong> home + sep + <span class="jxr_string">"lf5"</span> + sep + CONFIG_FILE_NAME; +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment">/**</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> * Ensures that the MRU list will have a MaxSize.</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> */</em> +<a name="277" href="#277">277</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setMaxSize(<strong class="jxr_keyword">int</strong> maxSize) { +<a name="278" href="#278">278</a> <strong class="jxr_keyword">if</strong> (maxSize &lt; _mruFileList.size()) { +<a name="279" href="#279">279</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; _mruFileList.size() - maxSize; i++) { +<a name="280" href="#280">280</a> _mruFileList.removeLast(); +<a name="281" href="#281">281</a> } +<a name="282" href="#282">282</a> } +<a name="283" href="#283">283</a> +<a name="284" href="#284">284</a> _maxSize = maxSize; +<a name="285" href="#285">285</a> } +<a name="286" href="#286">286</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="287" href="#287">287</a> <em class="jxr_comment">// Private Methods:</em> +<a name="288" href="#288">288</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="289" href="#289">289</a> +<a name="290" href="#290">290</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="291" href="#291">291</a> <em class="jxr_comment">// Nested Top-Level Classes or Interfaces</em> +<a name="292" href="#292">292</a> <em class="jxr_comment">//--------------------------------------------------------------------------</em> +<a name="293" href="#293">293</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/package-frame.html new file mode 100644 index 00000000000..c673c3d825c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/package-frame.html @@ -0,0 +1,27 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.lf5.viewer.configure</title> + <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.lf5.viewer.configure</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="ConfigurationManager.html" target="classFrame">ConfigurationManager</a> + </li> + <li> + <a href="MRUFileManager.html" target="classFrame">MRUFileManager</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/package-summary.html new file mode 100644 index 00000000000..65284443751 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/configure/package-summary.html @@ -0,0 +1,72 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.lf5.viewer.configure</title> + <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.lf5.viewer.configure</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="ConfigurationManager.html" target="classFrame">ConfigurationManager</a> + </td> + </tr> + <tr> + <td> + <a href="MRUFileManager.html" target="classFrame">MRUFileManager</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/package-frame.html new file mode 100644 index 00000000000..56b085a2f47 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/package-frame.html @@ -0,0 +1,66 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.lf5.viewer</title> + <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.lf5.viewer</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="FilteredLogTableModel.html" target="classFrame">FilteredLogTableModel</a> + </li> + <li> + <a href="LF5SwingUtils.html" target="classFrame">LF5SwingUtils</a> + </li> + <li> + <a href="LogBrokerMonitor.html" target="classFrame">LogBrokerMonitor</a> + </li> + <li> + <a href="LogBrokerMonitor.html" target="classFrame">LogBrokerMonitorWindowAdaptor</a> + </li> + <li> + <a href="LogFactor5Dialog.html" target="classFrame">LogFactor5Dialog</a> + </li> + <li> + <a href="LogFactor5ErrorDialog.html" target="classFrame">LogFactor5ErrorDialog</a> + </li> + <li> + <a href="LogFactor5InputDialog.html" target="classFrame">LogFactor5InputDialog</a> + </li> + <li> + <a href="LogFactor5LoadingDialog.html" target="classFrame">LogFactor5LoadingDialog</a> + </li> + <li> + <a href="LogTable.html" target="classFrame">LogTable</a> + </li> + <li> + <a href="LogTableColumn.html" target="classFrame">LogTableColumn</a> + </li> + <li> + <a href="LogTableColumnFormatException.html" target="classFrame">LogTableColumnFormatException</a> + </li> + <li> + <a href="LogTable.html" target="classFrame">LogTableListSelectionListener</a> + </li> + <li> + <a href="LogTableModel.html" target="classFrame">LogTableModel</a> + </li> + <li> + <a href="LogTableRowRenderer.html" target="classFrame">LogTableRowRenderer</a> + </li> + <li> + <a href="TrackingAdjustmentListener.html" target="classFrame">TrackingAdjustmentListener</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/package-summary.html new file mode 100644 index 00000000000..bcc98340c1b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/lf5/viewer/package-summary.html @@ -0,0 +1,137 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.lf5.viewer</title> + <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.lf5.viewer</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="FilteredLogTableModel.html" target="classFrame">FilteredLogTableModel</a> + </td> + </tr> + <tr> + <td> + <a href="LF5SwingUtils.html" target="classFrame">LF5SwingUtils</a> + </td> + </tr> + <tr> + <td> + <a href="LogBrokerMonitor.html" target="classFrame">LogBrokerMonitor</a> + </td> + </tr> + <tr> + <td> + <a href="LogBrokerMonitor.html" target="classFrame">LogBrokerMonitorWindowAdaptor</a> + </td> + </tr> + <tr> + <td> + <a href="LogFactor5Dialog.html" target="classFrame">LogFactor5Dialog</a> + </td> + </tr> + <tr> + <td> + <a href="LogFactor5ErrorDialog.html" target="classFrame">LogFactor5ErrorDialog</a> + </td> + </tr> + <tr> + <td> + <a href="LogFactor5InputDialog.html" target="classFrame">LogFactor5InputDialog</a> + </td> + </tr> + <tr> + <td> + <a href="LogFactor5LoadingDialog.html" target="classFrame">LogFactor5LoadingDialog</a> + </td> + </tr> + <tr> + <td> + <a href="LogTable.html" target="classFrame">LogTable</a> + </td> + </tr> + <tr> + <td> + <a href="LogTableColumn.html" target="classFrame">LogTableColumn</a> + </td> + </tr> + <tr> + <td> + <a href="LogTableColumnFormatException.html" target="classFrame">LogTableColumnFormatException</a> + </td> + </tr> + <tr> + <td> + <a href="LogTable.html" target="classFrame">LogTableListSelectionListener</a> + </td> + </tr> + <tr> + <td> + <a href="LogTableModel.html" target="classFrame">LogTableModel</a> + </td> + </tr> + <tr> + <td> + <a href="LogTableRowRenderer.html" target="classFrame">LogTableRowRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="TrackingAdjustmentListener.html" target="classFrame">TrackingAdjustmentListener</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/JMSAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/JMSAppender.html new file mode 100644 index 00000000000..6ac25a8b1e8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/JMSAppender.html @@ -0,0 +1,458 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>JMSAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/JMSAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorCode; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.jms.JMSException; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.jms.ObjectMessage; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.jms.Session; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.jms.Topic; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.jms.TopicConnection; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.jms.TopicConnectionFactory; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.jms.TopicPublisher; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.jms.TopicSession; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.naming.Context; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> javax.naming.InitialContext; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> javax.naming.NameNotFoundException; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> javax.naming.NamingException; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> java.util.Properties; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * A simple appender that publishes events to a JMS Topic. The events</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * are serialized and transmitted as JMS message type {@link</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * ObjectMessage}.</em> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * &lt;p&gt;JMS {@link Topic topics} and {@link TopicConnectionFactory topic</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * connection factories} are administered objects that are retrieved</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * using JNDI messaging which in turn requires the retreival of a JNDI</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * {@link Context}.</em> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * &lt;p&gt;There are two common methods for retrieving a JNDI {@link</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * Context}. If a file resource named &lt;em&gt;jndi.properties&lt;/em&gt; is</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * available to the JNDI API, it will use the information found</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * therein to retrieve an initial JNDI context. To obtain an initial</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * context, your code will simply call:</em> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> InitialContext jndiContext = new InitialContext();</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> </em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Calling the no-argument &lt;code&gt;InitialContext()&lt;/code&gt; method</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * will also work from within Enterprise Java Beans (EJBs) because it</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * is part of the EJB contract for application servers to provide each</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * bean an environment naming context (ENC).</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> </em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * &lt;p&gt;In the second approach, several predetermined properties are set</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * and these properties are passed to the &lt;code&gt;InitialContext&lt;/code&gt;</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * contructor to connect to the naming service provider. For example,</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * to connect to JBoss naming service one would write:</em> +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">&lt;pre&gt;</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> Properties env = new Properties( );</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> env.put(Context.PROVIDER_URL, "jnp://hostname:1099");</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> InitialContext jndiContext = new InitialContext(env);</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">&lt;/pre&gt;</em> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * where &lt;em&gt;hostname&lt;/em&gt; is the host where the JBoss applicaiton</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * server is running.</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> *</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * &lt;p&gt;To connect to the the naming service of Weblogic application</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * server one would write:</em> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment">&lt;pre&gt;</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> Properties env = new Properties( );</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> env.put(Context.PROVIDER_URL, "t3://localhost:7001");</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> InitialContext jndiContext = new InitialContext(env);</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment">&lt;/pre&gt;</em> +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * &lt;p&gt;Other JMS providers will obviously require different values.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * </em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * The initial JNDI context can be obtained by calling the</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * no-argument &lt;code&gt;InitialContext()&lt;/code&gt; method in EJBs. Only</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * clients running in a separate JVM need to be concerned about the</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * &lt;em&gt;jndi.properties&lt;/em&gt; file and calling {@link</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * InitialContext#InitialContext()} or alternatively correctly</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> * setting the different properties before calling {@link</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> * InitialContext#InitialContext(java.util.Hashtable)} method.</em> +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml; */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/JMSAppender.html">JMSAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> { +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> String securityPrincipalName; +<a name="105" href="#105">105</a> String securityCredentials; +<a name="106" href="#106">106</a> String initialContextFactoryName; +<a name="107" href="#107">107</a> String urlPkgPrefixes; +<a name="108" href="#108">108</a> String providerURL; +<a name="109" href="#109">109</a> String topicBindingName; +<a name="110" href="#110">110</a> String tcfBindingName; +<a name="111" href="#111">111</a> String userName; +<a name="112" href="#112">112</a> String password; +<a name="113" href="#113">113</a> <strong class="jxr_keyword">boolean</strong> locationInfo; +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> TopicConnection topicConnection; +<a name="116" href="#116">116</a> TopicSession topicSession; +<a name="117" href="#117">117</a> TopicPublisher topicPublisher; +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">public</strong> +<a name="120" href="#120">120</a> <a href="../../../../org/apache/log4j/net/JMSAppender.html">JMSAppender</a>() { +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">/**</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> The &lt;b&gt;TopicConnectionFactoryBindingName&lt;/b&gt; option takes a</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> string value. Its value will be used to lookup the appropriate</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> &lt;code&gt;TopicConnectionFactory&lt;/code&gt; from the JNDI context.</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> */</em> +<a name="128" href="#128">128</a> <strong class="jxr_keyword">public</strong> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">void</strong> setTopicConnectionFactoryBindingName(String tcfBindingName) { +<a name="130" href="#130">130</a> <strong class="jxr_keyword">this</strong>.tcfBindingName = tcfBindingName; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">/**</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> Returns the value of the &lt;b&gt;TopicConnectionFactoryBindingName&lt;/b&gt; option.</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> */</em> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">public</strong> +<a name="137" href="#137">137</a> String getTopicConnectionFactoryBindingName() { +<a name="138" href="#138">138</a> <strong class="jxr_keyword">return</strong> tcfBindingName; +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">/**</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> The &lt;b&gt;TopicBindingName&lt;/b&gt; option takes a</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> string value. Its value will be used to lookup the appropriate</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> &lt;code&gt;Topic&lt;/code&gt; from the JNDI context.</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> */</em> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">public</strong> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">void</strong> setTopicBindingName(String topicBindingName) { +<a name="148" href="#148">148</a> <strong class="jxr_keyword">this</strong>.topicBindingName = topicBindingName; +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">/**</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> Returns the value of the &lt;b&gt;TopicBindingName&lt;/b&gt; option.</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> */</em> +<a name="154" href="#154">154</a> <strong class="jxr_keyword">public</strong> +<a name="155" href="#155">155</a> String getTopicBindingName() { +<a name="156" href="#156">156</a> <strong class="jxr_keyword">return</strong> topicBindingName; +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">/**</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;LocationInfo&lt;/b&gt; property which</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> determines whether location (stack) info is sent to the remote</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> subscriber. */</em> +<a name="164" href="#164">164</a> <strong class="jxr_keyword">public</strong> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">boolean</strong> getLocationInfo() { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">return</strong> locationInfo; +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">/**</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> * Options are activated and become effective only after calling</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> * this method.*/</em> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="173" href="#173">173</a> TopicConnectionFactory topicConnectionFactory; +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <strong class="jxr_keyword">try</strong> { +<a name="176" href="#176">176</a> Context jndi; +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> LogLog.debug(<span class="jxr_string">"Getting initial context."</span>); +<a name="179" href="#179">179</a> <strong class="jxr_keyword">if</strong>(initialContextFactoryName != <strong class="jxr_keyword">null</strong>) { +<a name="180" href="#180">180</a> Properties env = <strong class="jxr_keyword">new</strong> Properties( ); +<a name="181" href="#181">181</a> env.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactoryName); +<a name="182" href="#182">182</a> <strong class="jxr_keyword">if</strong>(providerURL != <strong class="jxr_keyword">null</strong>) { +<a name="183" href="#183">183</a> env.put(Context.PROVIDER_URL, providerURL); +<a name="184" href="#184">184</a> } <strong class="jxr_keyword">else</strong> { +<a name="185" href="#185">185</a> LogLog.warn(<span class="jxr_string">"You have set InitialContextFactoryName option but not the "</span> +<a name="186" href="#186">186</a> +<span class="jxr_string">"ProviderURL. This is likely to cause problems."</span>); +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> <strong class="jxr_keyword">if</strong>(urlPkgPrefixes != <strong class="jxr_keyword">null</strong>) { +<a name="189" href="#189">189</a> env.put(Context.URL_PKG_PREFIXES, urlPkgPrefixes); +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> <strong class="jxr_keyword">if</strong>(securityPrincipalName != <strong class="jxr_keyword">null</strong>) { +<a name="193" href="#193">193</a> env.put(Context.SECURITY_PRINCIPAL, securityPrincipalName); +<a name="194" href="#194">194</a> <strong class="jxr_keyword">if</strong>(securityCredentials != <strong class="jxr_keyword">null</strong>) { +<a name="195" href="#195">195</a> env.put(Context.SECURITY_CREDENTIALS, securityCredentials); +<a name="196" href="#196">196</a> } <strong class="jxr_keyword">else</strong> { +<a name="197" href="#197">197</a> LogLog.warn(<span class="jxr_string">"You have set SecurityPrincipalName option but not the "</span> +<a name="198" href="#198">198</a> +<span class="jxr_string">"SecurityCredentials. This is likely to cause problems."</span>); +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> jndi = <strong class="jxr_keyword">new</strong> InitialContext(env); +<a name="202" href="#202">202</a> } <strong class="jxr_keyword">else</strong> { +<a name="203" href="#203">203</a> jndi = <strong class="jxr_keyword">new</strong> InitialContext(); +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> LogLog.debug(<span class="jxr_string">"Looking up ["</span>+tcfBindingName+<span class="jxr_string">"]"</span>); +<a name="207" href="#207">207</a> topicConnectionFactory = (TopicConnectionFactory) lookup(jndi, tcfBindingName); +<a name="208" href="#208">208</a> LogLog.debug(<span class="jxr_string">"About to create TopicConnection."</span>); +<a name="209" href="#209">209</a> <strong class="jxr_keyword">if</strong>(userName != <strong class="jxr_keyword">null</strong>) { +<a name="210" href="#210">210</a> topicConnection = topicConnectionFactory.createTopicConnection(userName, +<a name="211" href="#211">211</a> password); +<a name="212" href="#212">212</a> } <strong class="jxr_keyword">else</strong> { +<a name="213" href="#213">213</a> topicConnection = topicConnectionFactory.createTopicConnection(); +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> LogLog.debug(<span class="jxr_string">"Creating TopicSession, non-transactional, "</span> +<a name="217" href="#217">217</a> +<span class="jxr_string">"in AUTO_ACKNOWLEDGE mode."</span>); +<a name="218" href="#218">218</a> topicSession = topicConnection.createTopicSession(false, +<a name="219" href="#219">219</a> Session.AUTO_ACKNOWLEDGE); +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> LogLog.debug(<span class="jxr_string">"Looking up topic name ["</span>+topicBindingName+<span class="jxr_string">"]."</span>); +<a name="222" href="#222">222</a> Topic topic = (Topic) lookup(jndi, topicBindingName); +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> LogLog.debug(<span class="jxr_string">"Creating TopicPublisher."</span>); +<a name="225" href="#225">225</a> topicPublisher = topicSession.createPublisher(topic); +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> LogLog.debug(<span class="jxr_string">"Starting TopicConnection."</span>); +<a name="228" href="#228">228</a> topicConnection.start(); +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> jndi.close(); +<a name="231" href="#231">231</a> } <strong class="jxr_keyword">catch</strong>(JMSException e) { +<a name="232" href="#232">232</a> errorHandler.error(<span class="jxr_string">"Error while activating options for appender named ["</span>+name+ +<a name="233" href="#233">233</a> <span class="jxr_string">"]."</span>, e, ErrorCode.GENERIC_FAILURE); +<a name="234" href="#234">234</a> } <strong class="jxr_keyword">catch</strong>(NamingException e) { +<a name="235" href="#235">235</a> errorHandler.error(<span class="jxr_string">"Error while activating options for appender named ["</span>+name+ +<a name="236" href="#236">236</a> <span class="jxr_string">"]."</span>, e, ErrorCode.GENERIC_FAILURE); +<a name="237" href="#237">237</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="238" href="#238">238</a> errorHandler.error(<span class="jxr_string">"Error while activating options for appender named ["</span>+name+ +<a name="239" href="#239">239</a> <span class="jxr_string">"]."</span>, e, ErrorCode.GENERIC_FAILURE); +<a name="240" href="#240">240</a> } +<a name="241" href="#241">241</a> } +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <strong class="jxr_keyword">protected</strong> Object lookup(Context ctx, String name) <strong class="jxr_keyword">throws</strong> NamingException { +<a name="244" href="#244">244</a> <strong class="jxr_keyword">try</strong> { +<a name="245" href="#245">245</a> <strong class="jxr_keyword">return</strong> ctx.lookup(name); +<a name="246" href="#246">246</a> } <strong class="jxr_keyword">catch</strong>(NameNotFoundException e) { +<a name="247" href="#247">247</a> LogLog.error(<span class="jxr_string">"Could not find name ["</span>+name+<span class="jxr_string">"]."</span>); +<a name="248" href="#248">248</a> <strong class="jxr_keyword">throw</strong> e; +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> checkEntryConditions() { +<a name="253" href="#253">253</a> String fail = <strong class="jxr_keyword">null</strong>; +<a name="254" href="#254">254</a> +<a name="255" href="#255">255</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.topicConnection == <strong class="jxr_keyword">null</strong>) { +<a name="256" href="#256">256</a> fail = <span class="jxr_string">"No TopicConnection"</span>; +<a name="257" href="#257">257</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.topicSession == <strong class="jxr_keyword">null</strong>) { +<a name="258" href="#258">258</a> fail = <span class="jxr_string">"No TopicSession"</span>; +<a name="259" href="#259">259</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.topicPublisher == <strong class="jxr_keyword">null</strong>) { +<a name="260" href="#260">260</a> fail = <span class="jxr_string">"No TopicPublisher"</span>; +<a name="261" href="#261">261</a> } +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <strong class="jxr_keyword">if</strong>(fail != <strong class="jxr_keyword">null</strong>) { +<a name="264" href="#264">264</a> errorHandler.error(fail +<span class="jxr_string">" for JMSAppender named ["</span>+name+<span class="jxr_string">"]."</span>); +<a name="265" href="#265">265</a> <strong class="jxr_keyword">return</strong> false; +<a name="266" href="#266">266</a> } <strong class="jxr_keyword">else</strong> { +<a name="267" href="#267">267</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> } +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> <em class="jxr_javadoccomment">/**</em> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> Close this JMSAppender. Closing releases all resources used by the</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> appender. A closed appender cannot be re-opened. */</em> +<a name="274" href="#274">274</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="275" href="#275">275</a> <em class="jxr_comment">// The synchronized modifier avoids concurrent append and close operations</em> +<a name="276" href="#276">276</a> +<a name="277" href="#277">277</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.closed) +<a name="278" href="#278">278</a> <strong class="jxr_keyword">return</strong>; +<a name="279" href="#279">279</a> +<a name="280" href="#280">280</a> LogLog.debug(<span class="jxr_string">"Closing appender ["</span>+name+<span class="jxr_string">"]."</span>); +<a name="281" href="#281">281</a> <strong class="jxr_keyword">this</strong>.closed = <strong class="jxr_keyword">true</strong>; +<a name="282" href="#282">282</a> +<a name="283" href="#283">283</a> <strong class="jxr_keyword">try</strong> { +<a name="284" href="#284">284</a> <strong class="jxr_keyword">if</strong>(topicSession != <strong class="jxr_keyword">null</strong>) +<a name="285" href="#285">285</a> topicSession.close(); +<a name="286" href="#286">286</a> <strong class="jxr_keyword">if</strong>(topicConnection != <strong class="jxr_keyword">null</strong>) +<a name="287" href="#287">287</a> topicConnection.close(); +<a name="288" href="#288">288</a> } <strong class="jxr_keyword">catch</strong>(JMSException e) { +<a name="289" href="#289">289</a> LogLog.error(<span class="jxr_string">"Error while closing JMSAppender ["</span>+name+<span class="jxr_string">"]."</span>, e); +<a name="290" href="#290">290</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="291" href="#291">291</a> LogLog.error(<span class="jxr_string">"Error while closing JMSAppender ["</span>+name+<span class="jxr_string">"]."</span>, e); +<a name="292" href="#292">292</a> } +<a name="293" href="#293">293</a> <em class="jxr_comment">// Help garbage collection</em> +<a name="294" href="#294">294</a> topicPublisher = <strong class="jxr_keyword">null</strong>; +<a name="295" href="#295">295</a> topicSession = <strong class="jxr_keyword">null</strong>; +<a name="296" href="#296">296</a> topicConnection = <strong class="jxr_keyword">null</strong>; +<a name="297" href="#297">297</a> } +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment">/**</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> This method called by {@link AppenderSkeleton#doAppend} method to</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> do most of the real appending work. */</em> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="303" href="#303">303</a> <strong class="jxr_keyword">if</strong>(!checkEntryConditions()) { +<a name="304" href="#304">304</a> <strong class="jxr_keyword">return</strong>; +<a name="305" href="#305">305</a> } +<a name="306" href="#306">306</a> +<a name="307" href="#307">307</a> <strong class="jxr_keyword">try</strong> { +<a name="308" href="#308">308</a> ObjectMessage msg = topicSession.createObjectMessage(); +<a name="309" href="#309">309</a> <strong class="jxr_keyword">if</strong>(locationInfo) { +<a name="310" href="#310">310</a> event.getLocationInformation(); +<a name="311" href="#311">311</a> } +<a name="312" href="#312">312</a> msg.setObject(event); +<a name="313" href="#313">313</a> topicPublisher.publish(msg); +<a name="314" href="#314">314</a> } <strong class="jxr_keyword">catch</strong>(JMSException e) { +<a name="315" href="#315">315</a> errorHandler.error(<span class="jxr_string">"Could not publish message in JMSAppender ["</span>+name+<span class="jxr_string">"]."</span>, e, +<a name="316" href="#316">316</a> ErrorCode.GENERIC_FAILURE); +<a name="317" href="#317">317</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="318" href="#318">318</a> errorHandler.error(<span class="jxr_string">"Could not publish message in JMSAppender ["</span>+name+<span class="jxr_string">"]."</span>, e, +<a name="319" href="#319">319</a> ErrorCode.GENERIC_FAILURE); +<a name="320" href="#320">320</a> } +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">/**</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> * Returns the value of the &lt;b&gt;InitialContextFactoryName&lt;/b&gt; option.</em> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> * See {@link #setInitialContextFactoryName} for more details on the</em> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment"> * meaning of this option.</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> * */</em> +<a name="328" href="#328">328</a> <strong class="jxr_keyword">public</strong> String getInitialContextFactoryName() { +<a name="329" href="#329">329</a> <strong class="jxr_keyword">return</strong> initialContextFactoryName; +<a name="330" href="#330">330</a> } +<a name="331" href="#331">331</a> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">/**</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> * Setting the &lt;b&gt;InitialContextFactoryName&lt;/b&gt; method will cause</em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> * this &lt;code&gt;JMSAppender&lt;/code&gt; instance to use the {@link</em> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment"> * InitialContext#InitialContext(Hashtable)} method instead of the</em> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment"> * no-argument constructor. If you set this option, you should also</em> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment"> * at least set the &lt;b&gt;ProviderURL&lt;/b&gt; option.</em> +<a name="338" href="#338">338</a> <em class="jxr_javadoccomment"> * </em> +<a name="339" href="#339">339</a> <em class="jxr_javadoccomment"> * &lt;p&gt;See also {@link #setProviderURL(String)}.</em> +<a name="340" href="#340">340</a> <em class="jxr_javadoccomment"> * */</em> +<a name="341" href="#341">341</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setInitialContextFactoryName(String initialContextFactoryName) { +<a name="342" href="#342">342</a> <strong class="jxr_keyword">this</strong>.initialContextFactoryName = initialContextFactoryName; +<a name="343" href="#343">343</a> } +<a name="344" href="#344">344</a> +<a name="345" href="#345">345</a> <strong class="jxr_keyword">public</strong> String getProviderURL() { +<a name="346" href="#346">346</a> <strong class="jxr_keyword">return</strong> providerURL; +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> +<a name="349" href="#349">349</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setProviderURL(String providerURL) { +<a name="350" href="#350">350</a> <strong class="jxr_keyword">this</strong>.providerURL = providerURL; +<a name="351" href="#351">351</a> } +<a name="352" href="#352">352</a> +<a name="353" href="#353">353</a> String getURLPkgPrefixes( ) { +<a name="354" href="#354">354</a> <strong class="jxr_keyword">return</strong> urlPkgPrefixes; +<a name="355" href="#355">355</a> } +<a name="356" href="#356">356</a> +<a name="357" href="#357">357</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setURLPkgPrefixes(String urlPkgPrefixes ) { +<a name="358" href="#358">358</a> <strong class="jxr_keyword">this</strong>.urlPkgPrefixes = urlPkgPrefixes; +<a name="359" href="#359">359</a> } +<a name="360" href="#360">360</a> +<a name="361" href="#361">361</a> <strong class="jxr_keyword">public</strong> String getSecurityCredentials() { +<a name="362" href="#362">362</a> <strong class="jxr_keyword">return</strong> securityCredentials; +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> +<a name="365" href="#365">365</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSecurityCredentials(String securityCredentials) { +<a name="366" href="#366">366</a> <strong class="jxr_keyword">this</strong>.securityCredentials = securityCredentials; +<a name="367" href="#367">367</a> } +<a name="368" href="#368">368</a> +<a name="369" href="#369">369</a> +<a name="370" href="#370">370</a> <strong class="jxr_keyword">public</strong> String getSecurityPrincipalName() { +<a name="371" href="#371">371</a> <strong class="jxr_keyword">return</strong> securityPrincipalName; +<a name="372" href="#372">372</a> } +<a name="373" href="#373">373</a> +<a name="374" href="#374">374</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSecurityPrincipalName(String securityPrincipalName) { +<a name="375" href="#375">375</a> <strong class="jxr_keyword">this</strong>.securityPrincipalName = securityPrincipalName; +<a name="376" href="#376">376</a> } +<a name="377" href="#377">377</a> +<a name="378" href="#378">378</a> <strong class="jxr_keyword">public</strong> String getUserName() { +<a name="379" href="#379">379</a> <strong class="jxr_keyword">return</strong> userName; +<a name="380" href="#380">380</a> } +<a name="381" href="#381">381</a> +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment">/**</em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> * The user name to use when {@link</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> * TopicConnectionFactory#createTopicConnection(String, String)</em> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment"> * creating a topic session}. If you set this option, you should</em> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> * also set the &lt;b&gt;Password&lt;/b&gt; option. See {@link</em> +<a name="387" href="#387">387</a> <em class="jxr_javadoccomment"> * #setPassword(String)}.</em> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment"> * */</em> +<a name="389" href="#389">389</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUserName(String userName) { +<a name="390" href="#390">390</a> <strong class="jxr_keyword">this</strong>.userName = userName; +<a name="391" href="#391">391</a> } +<a name="392" href="#392">392</a> +<a name="393" href="#393">393</a> <strong class="jxr_keyword">public</strong> String getPassword() { +<a name="394" href="#394">394</a> <strong class="jxr_keyword">return</strong> password; +<a name="395" href="#395">395</a> } +<a name="396" href="#396">396</a> +<a name="397" href="#397">397</a> <em class="jxr_javadoccomment">/**</em> +<a name="398" href="#398">398</a> <em class="jxr_javadoccomment"> * The paswword to use when creating a topic session. </em> +<a name="399" href="#399">399</a> <em class="jxr_javadoccomment"> */</em> +<a name="400" href="#400">400</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPassword(String password) { +<a name="401" href="#401">401</a> <strong class="jxr_keyword">this</strong>.password = password; +<a name="402" href="#402">402</a> } +<a name="403" href="#403">403</a> +<a name="404" href="#404">404</a> +<a name="405" href="#405">405</a> <em class="jxr_javadoccomment">/**</em> +<a name="406" href="#406">406</a> <em class="jxr_javadoccomment"> If true, the information sent to the remote subscriber will</em> +<a name="407" href="#407">407</a> <em class="jxr_javadoccomment"> include caller's location information. By default no location</em> +<a name="408" href="#408">408</a> <em class="jxr_javadoccomment"> information is sent to the subscriber. */</em> +<a name="409" href="#409">409</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLocationInfo(<strong class="jxr_keyword">boolean</strong> locationInfo) { +<a name="410" href="#410">410</a> <strong class="jxr_keyword">this</strong>.locationInfo = locationInfo; +<a name="411" href="#411">411</a> } +<a name="412" href="#412">412</a> +<a name="413" href="#413">413</a> <em class="jxr_javadoccomment">/**</em> +<a name="414" href="#414">414</a> <em class="jxr_javadoccomment"> * Returns the TopicConnection used for this appender. Only valid after</em> +<a name="415" href="#415">415</a> <em class="jxr_javadoccomment"> * activateOptions() method has been invoked.</em> +<a name="416" href="#416">416</a> <em class="jxr_javadoccomment"> */</em> +<a name="417" href="#417">417</a> <strong class="jxr_keyword">protected</strong> TopicConnection getTopicConnection() { +<a name="418" href="#418">418</a> <strong class="jxr_keyword">return</strong> topicConnection; +<a name="419" href="#419">419</a> } +<a name="420" href="#420">420</a> +<a name="421" href="#421">421</a> <em class="jxr_javadoccomment">/**</em> +<a name="422" href="#422">422</a> <em class="jxr_javadoccomment"> * Returns the TopicSession used for this appender. Only valid after</em> +<a name="423" href="#423">423</a> <em class="jxr_javadoccomment"> * activateOptions() method has been invoked.</em> +<a name="424" href="#424">424</a> <em class="jxr_javadoccomment"> */</em> +<a name="425" href="#425">425</a> <strong class="jxr_keyword">protected</strong> TopicSession getTopicSession() { +<a name="426" href="#426">426</a> <strong class="jxr_keyword">return</strong> topicSession; +<a name="427" href="#427">427</a> } +<a name="428" href="#428">428</a> +<a name="429" href="#429">429</a> <em class="jxr_javadoccomment">/**</em> +<a name="430" href="#430">430</a> <em class="jxr_javadoccomment"> * Returns the TopicPublisher used for this appender. Only valid after</em> +<a name="431" href="#431">431</a> <em class="jxr_javadoccomment"> * activateOptions() method has been invoked.</em> +<a name="432" href="#432">432</a> <em class="jxr_javadoccomment"> */</em> +<a name="433" href="#433">433</a> <strong class="jxr_keyword">protected</strong> TopicPublisher getTopicPublisher() { +<a name="434" href="#434">434</a> <strong class="jxr_keyword">return</strong> topicPublisher; +<a name="435" href="#435">435</a> } +<a name="436" href="#436">436</a> +<a name="437" href="#437">437</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="438" href="#438">438</a> <em class="jxr_javadoccomment"> * The JMSAppender sends serialized events and consequently does not</em> +<a name="439" href="#439">439</a> <em class="jxr_javadoccomment"> * require a layout.</em> +<a name="440" href="#440">440</a> <em class="jxr_javadoccomment"> */</em> +<a name="441" href="#441">441</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="442" href="#442">442</a> <strong class="jxr_keyword">return</strong> false; +<a name="443" href="#443">443</a> } +<a name="444" href="#444">444</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/JMSSink.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/JMSSink.html new file mode 100644 index 00000000000..bd01c59be4e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/JMSSink.html @@ -0,0 +1,167 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>JMSSink xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/JMSSink.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PropertyConfigurator; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.DOMConfigurator; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.jms.JMSException; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> javax.jms.ObjectMessage; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> javax.jms.Session; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> javax.jms.Topic; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> javax.jms.TopicConnection; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> javax.jms.TopicConnectionFactory; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> javax.jms.TopicSession; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> javax.jms.TopicSubscriber; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.naming.Context; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> javax.naming.InitialContext; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> javax.naming.NameNotFoundException; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> javax.naming.NamingException; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> java.io.BufferedReader; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> java.io.InputStreamReader; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * A simple application that consumes logging events sent by a {@link</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * JMSAppender}.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> *</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> *</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml; </em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/JMSSink.html">JMSSink</a> implements javax.jms.MessageListener { +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> logger = Logger.getLogger(JMSSink.<strong class="jxr_keyword">class</strong>); +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> main(String[] args) <strong class="jxr_keyword">throws</strong> Exception { +<a name="52" href="#52">52</a> <strong class="jxr_keyword">if</strong>(args.length != 5) { +<a name="53" href="#53">53</a> usage(<span class="jxr_string">"Wrong number of arguments."</span>); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> String tcfBindingName = args[0]; +<a name="57" href="#57">57</a> String topicBindingName = args[1]; +<a name="58" href="#58">58</a> String username = args[2]; +<a name="59" href="#59">59</a> String password = args[3]; +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> String configFile = args[4]; +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">if</strong>(configFile.endsWith(<span class="jxr_string">".xml"</span>)) { +<a name="65" href="#65">65</a> DOMConfigurator.configure(configFile); +<a name="66" href="#66">66</a> } <strong class="jxr_keyword">else</strong> { +<a name="67" href="#67">67</a> PropertyConfigurator.configure(configFile); +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/JMSSink.html">JMSSink</a>(tcfBindingName, topicBindingName, username, password); +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> BufferedReader stdin = <strong class="jxr_keyword">new</strong> BufferedReader(<strong class="jxr_keyword">new</strong> InputStreamReader(System.in)); +<a name="73" href="#73">73</a> <em class="jxr_comment">// Loop until the word "exit" is typed</em> +<a name="74" href="#74">74</a> System.out.println(<span class="jxr_string">"Type \&quot;exit\&quot; to quit JMSSink."</span>); +<a name="75" href="#75">75</a> <strong class="jxr_keyword">while</strong>(<strong class="jxr_keyword">true</strong>){ +<a name="76" href="#76">76</a> String s = stdin.readLine( ); +<a name="77" href="#77">77</a> <strong class="jxr_keyword">if</strong> (s.equalsIgnoreCase(<span class="jxr_string">"exit"</span>)) { +<a name="78" href="#78">78</a> System.out.println(<span class="jxr_string">"Exiting. Kill the application if it does not exit "</span> +<a name="79" href="#79">79</a> + <span class="jxr_string">"due to daemon threads."</span>); +<a name="80" href="#80">80</a> <strong class="jxr_keyword">return</strong>; +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/JMSSink.html">JMSSink</a>( String tcfBindingName, String topicBindingName, String username, +<a name="86" href="#86">86</a> String password) { +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">try</strong> { +<a name="89" href="#89">89</a> Context ctx = <strong class="jxr_keyword">new</strong> InitialContext(); +<a name="90" href="#90">90</a> TopicConnectionFactory topicConnectionFactory; +<a name="91" href="#91">91</a> topicConnectionFactory = (TopicConnectionFactory) lookup(ctx, +<a name="92" href="#92">92</a> tcfBindingName); +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> TopicConnection topicConnection = +<a name="95" href="#95">95</a> topicConnectionFactory.createTopicConnection(username, +<a name="96" href="#96">96</a> password); +<a name="97" href="#97">97</a> topicConnection.start(); +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> TopicSession topicSession = topicConnection.createTopicSession(false, +<a name="100" href="#100">100</a> Session.AUTO_ACKNOWLEDGE); +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> Topic topic = (Topic)ctx.lookup(topicBindingName); +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> TopicSubscriber topicSubscriber = topicSession.createSubscriber(topic); +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> topicSubscriber.setMessageListener(<strong class="jxr_keyword">this</strong>); +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> } <strong class="jxr_keyword">catch</strong>(JMSException e) { +<a name="109" href="#109">109</a> logger.error(<span class="jxr_string">"Could not read JMS message."</span>, e); +<a name="110" href="#110">110</a> } <strong class="jxr_keyword">catch</strong>(NamingException e) { +<a name="111" href="#111">111</a> logger.error(<span class="jxr_string">"Could not read JMS message."</span>, e); +<a name="112" href="#112">112</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="113" href="#113">113</a> logger.error(<span class="jxr_string">"Could not read JMS message."</span>, e); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onMessage(javax.jms.Message message) { +<a name="118" href="#118">118</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event; +<a name="119" href="#119">119</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> remoteLogger; +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <strong class="jxr_keyword">try</strong> { +<a name="122" href="#122">122</a> <strong class="jxr_keyword">if</strong>(message instanceof ObjectMessage) { +<a name="123" href="#123">123</a> ObjectMessage objectMessage = (ObjectMessage) message; +<a name="124" href="#124">124</a> event = (LoggingEvent) objectMessage.getObject(); +<a name="125" href="#125">125</a> remoteLogger = Logger.getLogger(event.getLoggerName()); +<a name="126" href="#126">126</a> remoteLogger.callAppenders(event); +<a name="127" href="#127">127</a> } <strong class="jxr_keyword">else</strong> { +<a name="128" href="#128">128</a> logger.warn(<span class="jxr_string">"Received message is of type "</span>+message.getJMSType() +<a name="129" href="#129">129</a> +<span class="jxr_string">", was expecting ObjectMessage."</span>); +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> } <strong class="jxr_keyword">catch</strong>(JMSException jmse) { +<a name="132" href="#132">132</a> logger.error(<span class="jxr_string">"Exception thrown while processing incoming message."</span>, +<a name="133" href="#133">133</a> jmse); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> Object lookup(Context ctx, String name) <strong class="jxr_keyword">throws</strong> NamingException { +<a name="139" href="#139">139</a> <strong class="jxr_keyword">try</strong> { +<a name="140" href="#140">140</a> <strong class="jxr_keyword">return</strong> ctx.lookup(name); +<a name="141" href="#141">141</a> } <strong class="jxr_keyword">catch</strong>(NameNotFoundException e) { +<a name="142" href="#142">142</a> logger.error(<span class="jxr_string">"Could not find name ["</span>+name+<span class="jxr_string">"]."</span>); +<a name="143" href="#143">143</a> <strong class="jxr_keyword">throw</strong> e; +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> usage(String msg) { +<a name="148" href="#148">148</a> System.err.println(msg); +<a name="149" href="#149">149</a> System.err.println(<span class="jxr_string">"Usage: java "</span> + JMSSink.<strong class="jxr_keyword">class</strong>.getName() +<a name="150" href="#150">150</a> + <span class="jxr_string">" TopicConnectionFactoryBindingName TopicBindingName username password configFile"</span>); +<a name="151" href="#151">151</a> System.exit(1); +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SMTPAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SMTPAppender.html new file mode 100644 index 00000000000..0fc352a9f0a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SMTPAppender.html @@ -0,0 +1,801 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SMTPAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/SMTPAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.CyclicBuffer; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorCode; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.OptionHandler; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.TriggeringEventEvaluator; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.UnrecognizedElementHandler; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Element; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> javax.mail.Authenticator; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> javax.mail.Message; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> javax.mail.MessagingException; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> javax.mail.Multipart; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> javax.mail.PasswordAuthentication; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> javax.mail.Session; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> javax.mail.Transport; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> javax.mail.internet.AddressException; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> javax.mail.internet.InternetAddress; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> javax.mail.internet.InternetHeaders; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> javax.mail.internet.MimeBodyPart; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">import</strong> javax.mail.internet.MimeMessage; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">import</strong> javax.mail.internet.MimeMultipart; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">import</strong> javax.mail.internet.MimeUtility; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayOutputStream; +<a name="48" href="#48">48</a> <strong class="jxr_keyword">import</strong> java.io.OutputStreamWriter; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">import</strong> java.io.UnsupportedEncodingException; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">import</strong> java.io.Writer; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">import</strong> java.util.Properties; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> Send an e-mail when a specific logging event occurs, typically on</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> errors or fatal errors.</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> &lt;p&gt;The number of logging events delivered in this e-mail depend on</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> the value of &lt;b&gt;BufferSize&lt;/b&gt; option. The</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> &lt;code&gt;SMTPAppender&lt;/code&gt; keeps only the last</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> &lt;code&gt;BufferSize&lt;/code&gt; logging events in its cyclic buffer. This</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> keeps memory requirements at a reasonable level while still</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> delivering useful application context.</em> +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> By default, an email message will be sent when an ERROR or higher</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> severity message is appended. The triggering criteria can be</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> modified by setting the evaluatorClass property with the name</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> of a class implementing TriggeringEventEvaluator, setting the evaluator</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> property with an instance of TriggeringEventEvaluator or</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> nesting a triggeringPolicy element where the specified</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> class implements TriggeringEventEvaluator.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> </em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> This class has implemented UnrecognizedElementHandler since 1.2.15.</em> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> Since 1.2.16, SMTP over SSL is supported by setting SMTPProtocol to "smpts".</em> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> @since 1.0 */</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SMTPAppender.html">SMTPAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> +<a name="80" href="#80">80</a> implements <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> { +<a name="81" href="#81">81</a> <strong class="jxr_keyword">private</strong> String to; +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * Comma separated list of cc recipients.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">private</strong> String cc; +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment">/**</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * Comma separated list of bcc recipients.</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> */</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">private</strong> String bcc; +<a name="90" href="#90">90</a> <strong class="jxr_keyword">private</strong> String from; +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * Comma separated list of replyTo addresses.</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">private</strong> String replyTo; +<a name="95" href="#95">95</a> <strong class="jxr_keyword">private</strong> String subject; +<a name="96" href="#96">96</a> <strong class="jxr_keyword">private</strong> String smtpHost; +<a name="97" href="#97">97</a> <strong class="jxr_keyword">private</strong> String smtpUsername; +<a name="98" href="#98">98</a> <strong class="jxr_keyword">private</strong> String smtpPassword; +<a name="99" href="#99">99</a> <strong class="jxr_keyword">private</strong> String smtpProtocol; +<a name="100" href="#100">100</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> smtpPort = -1; +<a name="101" href="#101">101</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> smtpDebug = false; +<a name="102" href="#102">102</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> bufferSize = 512; +<a name="103" href="#103">103</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> locationInfo = false; +<a name="104" href="#104">104</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> sendOnClose = false; +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBuffer.html">CyclicBuffer</a> cb = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBuffer.html">CyclicBuffer</a>(bufferSize); +<a name="107" href="#107">107</a> <strong class="jxr_keyword">protected</strong> Message msg; +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html">TriggeringEventEvaluator</a> evaluator; +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">/**</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> The default constructor will instantiate the appender with a</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> {@link TriggeringEventEvaluator} that will trigger on events with</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> level ERROR or higher.*/</em> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">public</strong> +<a name="118" href="#118">118</a> <a href="../../../../org/apache/log4j/net/SMTPAppender.html">SMTPAppender</a>() { +<a name="119" href="#119">119</a> <strong class="jxr_keyword">this</strong>(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SMTPAppender.html">DefaultEvaluator</a>()); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">/**</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> Use &lt;code&gt;evaluator&lt;/code&gt; passed as parameter as the {@link</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> TriggeringEventEvaluator} for this SMTPAppender. */</em> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">public</strong> +<a name="127" href="#127">127</a> <a href="../../../../org/apache/log4j/net/SMTPAppender.html">SMTPAppender</a>(<a href="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html">TriggeringEventEvaluator</a> evaluator) { +<a name="128" href="#128">128</a> <strong class="jxr_keyword">this</strong>.evaluator = evaluator; +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">/**</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> Activate the specified options, such as the smtp host, the</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> recipient, from, etc. */</em> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">public</strong> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="137" href="#137">137</a> Session session = createSession(); +<a name="138" href="#138">138</a> msg = <strong class="jxr_keyword">new</strong> MimeMessage(session); +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">try</strong> { +<a name="141" href="#141">141</a> addressMessage(msg); +<a name="142" href="#142">142</a> <strong class="jxr_keyword">if</strong>(subject != <strong class="jxr_keyword">null</strong>) { +<a name="143" href="#143">143</a> <strong class="jxr_keyword">try</strong> { +<a name="144" href="#144">144</a> msg.setSubject(MimeUtility.encodeText(subject, <span class="jxr_string">"UTF-8"</span>, <strong class="jxr_keyword">null</strong>)); +<a name="145" href="#145">145</a> } <strong class="jxr_keyword">catch</strong>(UnsupportedEncodingException ex) { +<a name="146" href="#146">146</a> LogLog.error(<span class="jxr_string">"Unable to encode SMTP subject"</span>, ex); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> } <strong class="jxr_keyword">catch</strong>(MessagingException e) { +<a name="150" href="#150">150</a> LogLog.error(<span class="jxr_string">"Could not activate SMTPAppender options."</span>, e ); +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">if</strong> (evaluator instanceof OptionHandler) { +<a name="154" href="#154">154</a> ((<a href="../../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a>) evaluator).activateOptions(); +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">/**</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> * Address message.</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> * @param msg message, may not be null.</em> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment"> * @throws MessagingException thrown if error addressing message. </em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> */</em> +<a name="164" href="#164">164</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addressMessage(<strong class="jxr_keyword">final</strong> Message msg) <strong class="jxr_keyword">throws</strong> MessagingException { +<a name="165" href="#165">165</a> <strong class="jxr_keyword">if</strong> (from != <strong class="jxr_keyword">null</strong>) { +<a name="166" href="#166">166</a> msg.setFrom(getAddress(from)); +<a name="167" href="#167">167</a> } <strong class="jxr_keyword">else</strong> { +<a name="168" href="#168">168</a> msg.setFrom(); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em class="jxr_comment">//Add ReplyTo addresses if defined.</em> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">if</strong> (replyTo != <strong class="jxr_keyword">null</strong> &amp;&amp; replyTo.length() &gt; 0) { +<a name="173" href="#173">173</a> msg.setReplyTo(parseAddress(replyTo)); +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">if</strong> (to != <strong class="jxr_keyword">null</strong> &amp;&amp; to.length() &gt; 0) { +<a name="177" href="#177">177</a> msg.setRecipients(Message.RecipientType.TO, parseAddress(to)); +<a name="178" href="#178">178</a> } +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <em class="jxr_comment">//Add CC receipients if defined.</em> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">if</strong> (cc != <strong class="jxr_keyword">null</strong> &amp;&amp; cc.length() &gt; 0) { +<a name="182" href="#182">182</a> msg.setRecipients(Message.RecipientType.CC, parseAddress(cc)); +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <em class="jxr_comment">//Add BCC receipients if defined.</em> +<a name="186" href="#186">186</a> <strong class="jxr_keyword">if</strong> (bcc != <strong class="jxr_keyword">null</strong> &amp;&amp; bcc.length() &gt; 0) { +<a name="187" href="#187">187</a> msg.setRecipients(Message.RecipientType.BCC, parseAddress(bcc)); +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">/**</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> * Create mail session.</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> * @return mail session, may not be null.</em> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> */</em> +<a name="196" href="#196">196</a> <strong class="jxr_keyword">protected</strong> Session createSession() { +<a name="197" href="#197">197</a> Properties props = <strong class="jxr_keyword">null</strong>; +<a name="198" href="#198">198</a> <strong class="jxr_keyword">try</strong> { +<a name="199" href="#199">199</a> props = <strong class="jxr_keyword">new</strong> Properties (System.getProperties()); +<a name="200" href="#200">200</a> } <strong class="jxr_keyword">catch</strong>(SecurityException ex) { +<a name="201" href="#201">201</a> props = <strong class="jxr_keyword">new</strong> Properties(); +<a name="202" href="#202">202</a> } +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> String prefix = <span class="jxr_string">"mail.smtp"</span>; +<a name="205" href="#205">205</a> <strong class="jxr_keyword">if</strong> (smtpProtocol != <strong class="jxr_keyword">null</strong>) { +<a name="206" href="#206">206</a> props.put(<span class="jxr_string">"mail.transport.protocol"</span>, smtpProtocol); +<a name="207" href="#207">207</a> prefix = <span class="jxr_string">"mail."</span> + smtpProtocol; +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> <strong class="jxr_keyword">if</strong> (smtpHost != <strong class="jxr_keyword">null</strong>) { +<a name="210" href="#210">210</a> props.put(prefix + <span class="jxr_string">".host"</span>, smtpHost); +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> <strong class="jxr_keyword">if</strong> (smtpPort &gt; 0) { +<a name="213" href="#213">213</a> props.put(prefix + <span class="jxr_string">".port"</span>, String.valueOf(smtpPort)); +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> Authenticator auth = <strong class="jxr_keyword">null</strong>; +<a name="217" href="#217">217</a> <strong class="jxr_keyword">if</strong>(smtpPassword != <strong class="jxr_keyword">null</strong> &amp;&amp; smtpUsername != <strong class="jxr_keyword">null</strong>) { +<a name="218" href="#218">218</a> props.put(prefix + <span class="jxr_string">".auth"</span>, <span class="jxr_string">"true"</span>); +<a name="219" href="#219">219</a> auth = <strong class="jxr_keyword">new</strong> Authenticator() { +<a name="220" href="#220">220</a> <strong class="jxr_keyword">protected</strong> PasswordAuthentication getPasswordAuthentication() { +<a name="221" href="#221">221</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> PasswordAuthentication(smtpUsername, smtpPassword); +<a name="222" href="#222">222</a> } +<a name="223" href="#223">223</a> }; +<a name="224" href="#224">224</a> } +<a name="225" href="#225">225</a> Session session = Session.getInstance(props, auth); +<a name="226" href="#226">226</a> <strong class="jxr_keyword">if</strong> (smtpProtocol != <strong class="jxr_keyword">null</strong>) { +<a name="227" href="#227">227</a> session.setProtocolForAddress(<span class="jxr_string">"rfc822"</span>, smtpProtocol); +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> <strong class="jxr_keyword">if</strong> (smtpDebug) { +<a name="230" href="#230">230</a> session.setDebug(smtpDebug); +<a name="231" href="#231">231</a> } +<a name="232" href="#232">232</a> <strong class="jxr_keyword">return</strong> session; +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment">/**</em> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> Perform SMTPAppender specific appending actions, mainly adding</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> the event to a cyclic buffer and checking if the event triggers</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> an e-mail to be sent. */</em> +<a name="239" href="#239">239</a> <strong class="jxr_keyword">public</strong> +<a name="240" href="#240">240</a> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <strong class="jxr_keyword">if</strong>(!checkEntryConditions()) { +<a name="243" href="#243">243</a> <strong class="jxr_keyword">return</strong>; +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> +<a name="246" href="#246">246</a> event.getThreadName(); +<a name="247" href="#247">247</a> event.getNDC(); +<a name="248" href="#248">248</a> event.getMDCCopy(); +<a name="249" href="#249">249</a> <strong class="jxr_keyword">if</strong>(locationInfo) { +<a name="250" href="#250">250</a> event.getLocationInformation(); +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> event.getRenderedMessage(); +<a name="253" href="#253">253</a> event.getThrowableStrRep(); +<a name="254" href="#254">254</a> cb.add(event); +<a name="255" href="#255">255</a> <strong class="jxr_keyword">if</strong>(evaluator.isTriggeringEvent(event)) { +<a name="256" href="#256">256</a> sendBuffer(); +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> } +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment">/**</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> This method determines if there is a sense in attempting to append.</em> +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> &lt;p&gt;It checks whether there is a set output target and also if</em> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment"> there is a set layout. If these checks fail, then the boolean</em> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment"> value &lt;code&gt;false&lt;/code&gt; is returned. */</em> +<a name="266" href="#266">266</a> <strong class="jxr_keyword">protected</strong> +<a name="267" href="#267">267</a> <strong class="jxr_keyword">boolean</strong> checkEntryConditions() { +<a name="268" href="#268">268</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.msg == <strong class="jxr_keyword">null</strong>) { +<a name="269" href="#269">269</a> errorHandler.error(<span class="jxr_string">"Message object not configured."</span>); +<a name="270" href="#270">270</a> <strong class="jxr_keyword">return</strong> false; +<a name="271" href="#271">271</a> } +<a name="272" href="#272">272</a> +<a name="273" href="#273">273</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.evaluator == <strong class="jxr_keyword">null</strong>) { +<a name="274" href="#274">274</a> errorHandler.error(<span class="jxr_string">"No TriggeringEventEvaluator is set for appender ["</span>+ +<a name="275" href="#275">275</a> name+<span class="jxr_string">"]."</span>); +<a name="276" href="#276">276</a> <strong class="jxr_keyword">return</strong> false; +<a name="277" href="#277">277</a> } +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> +<a name="280" href="#280">280</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.layout == <strong class="jxr_keyword">null</strong>) { +<a name="281" href="#281">281</a> errorHandler.error(<span class="jxr_string">"No layout set for appender named ["</span>+name+<span class="jxr_string">"]."</span>); +<a name="282" href="#282">282</a> <strong class="jxr_keyword">return</strong> false; +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="285" href="#285">285</a> } +<a name="286" href="#286">286</a> +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> <strong class="jxr_keyword">synchronized</strong> +<a name="289" href="#289">289</a> <strong class="jxr_keyword">public</strong> +<a name="290" href="#290">290</a> <strong class="jxr_keyword">void</strong> close() { +<a name="291" href="#291">291</a> <strong class="jxr_keyword">this</strong>.closed = <strong class="jxr_keyword">true</strong>; +<a name="292" href="#292">292</a> <strong class="jxr_keyword">if</strong> (sendOnClose &amp;&amp; cb.length() &gt; 0) { +<a name="293" href="#293">293</a> sendBuffer(); +<a name="294" href="#294">294</a> } +<a name="295" href="#295">295</a> } +<a name="296" href="#296">296</a> +<a name="297" href="#297">297</a> InternetAddress getAddress(String addressStr) { +<a name="298" href="#298">298</a> <strong class="jxr_keyword">try</strong> { +<a name="299" href="#299">299</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> InternetAddress(addressStr); +<a name="300" href="#300">300</a> } <strong class="jxr_keyword">catch</strong>(AddressException e) { +<a name="301" href="#301">301</a> errorHandler.error(<span class="jxr_string">"Could not parse address ["</span>+addressStr+<span class="jxr_string">"]."</span>, e, +<a name="302" href="#302">302</a> ErrorCode.ADDRESS_PARSE_FAILURE); +<a name="303" href="#303">303</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="304" href="#304">304</a> } +<a name="305" href="#305">305</a> } +<a name="306" href="#306">306</a> +<a name="307" href="#307">307</a> InternetAddress[] parseAddress(String addressStr) { +<a name="308" href="#308">308</a> <strong class="jxr_keyword">try</strong> { +<a name="309" href="#309">309</a> <strong class="jxr_keyword">return</strong> InternetAddress.parse(addressStr, <strong class="jxr_keyword">true</strong>); +<a name="310" href="#310">310</a> } <strong class="jxr_keyword">catch</strong>(AddressException e) { +<a name="311" href="#311">311</a> errorHandler.error(<span class="jxr_string">"Could not parse address ["</span>+addressStr+<span class="jxr_string">"]."</span>, e, +<a name="312" href="#312">312</a> ErrorCode.ADDRESS_PARSE_FAILURE); +<a name="313" href="#313">313</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="314" href="#314">314</a> } +<a name="315" href="#315">315</a> } +<a name="316" href="#316">316</a> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment">/**</em> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;To&lt;/b&gt; option.</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> */</em> +<a name="320" href="#320">320</a> <strong class="jxr_keyword">public</strong> +<a name="321" href="#321">321</a> String getTo() { +<a name="322" href="#322">322</a> <strong class="jxr_keyword">return</strong> to; +<a name="323" href="#323">323</a> } +<a name="324" href="#324">324</a> +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">/**</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> The &lt;code&gt;SMTPAppender&lt;/code&gt; requires a {@link</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> org.apache.log4j.Layout layout}. */</em> +<a name="329" href="#329">329</a> <strong class="jxr_keyword">public</strong> +<a name="330" href="#330">330</a> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="331" href="#331">331</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="332" href="#332">332</a> } +<a name="333" href="#333">333</a> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment">/**</em> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment"> * Layout body of email message.</em> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment"> * @since 1.2.16 </em> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment"> */</em> +<a name="338" href="#338">338</a> <strong class="jxr_keyword">protected</strong> String formatBody() { +<a name="339" href="#339">339</a> +<a name="340" href="#340">340</a> <em class="jxr_comment">// Note: this code already owns the monitor for this</em> +<a name="341" href="#341">341</a> <em class="jxr_comment">// appender. This frees us from needing to synchronize on 'cb'.</em> +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="344" href="#344">344</a> String t = layout.getHeader(); +<a name="345" href="#345">345</a> <strong class="jxr_keyword">if</strong>(t != <strong class="jxr_keyword">null</strong>) +<a name="346" href="#346">346</a> sbuf.append(t); +<a name="347" href="#347">347</a> <strong class="jxr_keyword">int</strong> len = cb.length(); +<a name="348" href="#348">348</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; len; i++) { +<a name="349" href="#349">349</a> <em class="jxr_comment">//sbuf.append(MimeUtility.encodeText(layout.format(cb.get())));</em> +<a name="350" href="#350">350</a> LoggingEvent event = cb.get(); +<a name="351" href="#351">351</a> sbuf.append(layout.format(event)); +<a name="352" href="#352">352</a> <strong class="jxr_keyword">if</strong>(layout.ignoresThrowable()) { +<a name="353" href="#353">353</a> String[] s = event.getThrowableStrRep(); +<a name="354" href="#354">354</a> <strong class="jxr_keyword">if</strong> (s != <strong class="jxr_keyword">null</strong>) { +<a name="355" href="#355">355</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> j = 0; j &lt; s.length; j++) { +<a name="356" href="#356">356</a> sbuf.append(s[j]); +<a name="357" href="#357">357</a> sbuf.append(Layout.LINE_SEP); +<a name="358" href="#358">358</a> } +<a name="359" href="#359">359</a> } +<a name="360" href="#360">360</a> } +<a name="361" href="#361">361</a> } +<a name="362" href="#362">362</a> t = layout.getFooter(); +<a name="363" href="#363">363</a> <strong class="jxr_keyword">if</strong>(t != <strong class="jxr_keyword">null</strong>) { +<a name="364" href="#364">364</a> sbuf.append(t); +<a name="365" href="#365">365</a> } +<a name="366" href="#366">366</a> +<a name="367" href="#367">367</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="368" href="#368">368</a> } +<a name="369" href="#369">369</a> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment">/**</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> Send the contents of the cyclic buffer as an e-mail message.</em> +<a name="372" href="#372">372</a> <em class="jxr_javadoccomment"> */</em> +<a name="373" href="#373">373</a> <strong class="jxr_keyword">protected</strong> +<a name="374" href="#374">374</a> <strong class="jxr_keyword">void</strong> sendBuffer() { +<a name="375" href="#375">375</a> +<a name="376" href="#376">376</a> <strong class="jxr_keyword">try</strong> { +<a name="377" href="#377">377</a> String s = formatBody(); +<a name="378" href="#378">378</a> <strong class="jxr_keyword">boolean</strong> allAscii = <strong class="jxr_keyword">true</strong>; +<a name="379" href="#379">379</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; s.length() &amp;&amp; allAscii; i++) { +<a name="380" href="#380">380</a> allAscii = s.charAt(i) &lt;= 0x7F; +<a name="381" href="#381">381</a> } +<a name="382" href="#382">382</a> MimeBodyPart part; +<a name="383" href="#383">383</a> <strong class="jxr_keyword">if</strong> (allAscii) { +<a name="384" href="#384">384</a> part = <strong class="jxr_keyword">new</strong> MimeBodyPart(); +<a name="385" href="#385">385</a> part.setContent(s, layout.getContentType()); +<a name="386" href="#386">386</a> } <strong class="jxr_keyword">else</strong> { +<a name="387" href="#387">387</a> <strong class="jxr_keyword">try</strong> { +<a name="388" href="#388">388</a> ByteArrayOutputStream os = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream(); +<a name="389" href="#389">389</a> Writer writer = <strong class="jxr_keyword">new</strong> OutputStreamWriter( +<a name="390" href="#390">390</a> MimeUtility.encode(os, <span class="jxr_string">"quoted-printable"</span>), <span class="jxr_string">"UTF-8"</span>); +<a name="391" href="#391">391</a> writer.write(s); +<a name="392" href="#392">392</a> writer.close(); +<a name="393" href="#393">393</a> InternetHeaders headers = <strong class="jxr_keyword">new</strong> InternetHeaders(); +<a name="394" href="#394">394</a> headers.setHeader(<span class="jxr_string">"Content-Type"</span>, layout.getContentType() + <span class="jxr_string">"; charset=UTF-8"</span>); +<a name="395" href="#395">395</a> headers.setHeader(<span class="jxr_string">"Content-Transfer-Encoding"</span>, <span class="jxr_string">"quoted-printable"</span>); +<a name="396" href="#396">396</a> part = <strong class="jxr_keyword">new</strong> MimeBodyPart(headers, os.toByteArray()); +<a name="397" href="#397">397</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="398" href="#398">398</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(s); +<a name="399" href="#399">399</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; sbuf.length(); i++) { +<a name="400" href="#400">400</a> <strong class="jxr_keyword">if</strong> (sbuf.charAt(i) &gt;= 0x80) { +<a name="401" href="#401">401</a> sbuf.setCharAt(i, '?'); +<a name="402" href="#402">402</a> } +<a name="403" href="#403">403</a> } +<a name="404" href="#404">404</a> part = <strong class="jxr_keyword">new</strong> MimeBodyPart(); +<a name="405" href="#405">405</a> part.setContent(sbuf.toString(), layout.getContentType()); +<a name="406" href="#406">406</a> } +<a name="407" href="#407">407</a> } +<a name="408" href="#408">408</a> +<a name="409" href="#409">409</a> +<a name="410" href="#410">410</a> +<a name="411" href="#411">411</a> Multipart mp = <strong class="jxr_keyword">new</strong> MimeMultipart(); +<a name="412" href="#412">412</a> mp.addBodyPart(part); +<a name="413" href="#413">413</a> msg.setContent(mp); +<a name="414" href="#414">414</a> +<a name="415" href="#415">415</a> msg.setSentDate(<strong class="jxr_keyword">new</strong> Date()); +<a name="416" href="#416">416</a> Transport.send(msg); +<a name="417" href="#417">417</a> } <strong class="jxr_keyword">catch</strong>(MessagingException e) { +<a name="418" href="#418">418</a> LogLog.error(<span class="jxr_string">"Error occured while sending e-mail notification."</span>, e); +<a name="419" href="#419">419</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="420" href="#420">420</a> LogLog.error(<span class="jxr_string">"Error occured while sending e-mail notification."</span>, e); +<a name="421" href="#421">421</a> } +<a name="422" href="#422">422</a> } +<a name="423" href="#423">423</a> +<a name="424" href="#424">424</a> +<a name="425" href="#425">425</a> +<a name="426" href="#426">426</a> <em class="jxr_javadoccomment">/**</em> +<a name="427" href="#427">427</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;EvaluatorClass&lt;/b&gt; option.</em> +<a name="428" href="#428">428</a> <em class="jxr_javadoccomment"> */</em> +<a name="429" href="#429">429</a> <strong class="jxr_keyword">public</strong> +<a name="430" href="#430">430</a> String getEvaluatorClass() { +<a name="431" href="#431">431</a> <strong class="jxr_keyword">return</strong> evaluator == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">null</strong> : evaluator.getClass().getName(); +<a name="432" href="#432">432</a> } +<a name="433" href="#433">433</a> +<a name="434" href="#434">434</a> <em class="jxr_javadoccomment">/**</em> +<a name="435" href="#435">435</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;From&lt;/b&gt; option.</em> +<a name="436" href="#436">436</a> <em class="jxr_javadoccomment"> */</em> +<a name="437" href="#437">437</a> <strong class="jxr_keyword">public</strong> +<a name="438" href="#438">438</a> String getFrom() { +<a name="439" href="#439">439</a> <strong class="jxr_keyword">return</strong> from; +<a name="440" href="#440">440</a> } +<a name="441" href="#441">441</a> +<a name="442" href="#442">442</a> <em class="jxr_javadoccomment">/**</em> +<a name="443" href="#443">443</a> <em class="jxr_javadoccomment"> Get the reply addresses.</em> +<a name="444" href="#444">444</a> <em class="jxr_javadoccomment"> @return reply addresses as comma separated string, may be null.</em> +<a name="445" href="#445">445</a> <em class="jxr_javadoccomment"> @since 1.2.16</em> +<a name="446" href="#446">446</a> <em class="jxr_javadoccomment"> */</em> +<a name="447" href="#447">447</a> <strong class="jxr_keyword">public</strong> +<a name="448" href="#448">448</a> String getReplyTo() { +<a name="449" href="#449">449</a> <strong class="jxr_keyword">return</strong> replyTo; +<a name="450" href="#450">450</a> } +<a name="451" href="#451">451</a> +<a name="452" href="#452">452</a> <em class="jxr_javadoccomment">/**</em> +<a name="453" href="#453">453</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;Subject&lt;/b&gt; option.</em> +<a name="454" href="#454">454</a> <em class="jxr_javadoccomment"> */</em> +<a name="455" href="#455">455</a> <strong class="jxr_keyword">public</strong> +<a name="456" href="#456">456</a> String getSubject() { +<a name="457" href="#457">457</a> <strong class="jxr_keyword">return</strong> subject; +<a name="458" href="#458">458</a> } +<a name="459" href="#459">459</a> +<a name="460" href="#460">460</a> <em class="jxr_javadoccomment">/**</em> +<a name="461" href="#461">461</a> <em class="jxr_javadoccomment"> The &lt;b&gt;From&lt;/b&gt; option takes a string value which should be a</em> +<a name="462" href="#462">462</a> <em class="jxr_javadoccomment"> e-mail address of the sender.</em> +<a name="463" href="#463">463</a> <em class="jxr_javadoccomment"> */</em> +<a name="464" href="#464">464</a> <strong class="jxr_keyword">public</strong> +<a name="465" href="#465">465</a> <strong class="jxr_keyword">void</strong> setFrom(String from) { +<a name="466" href="#466">466</a> <strong class="jxr_keyword">this</strong>.from = from; +<a name="467" href="#467">467</a> } +<a name="468" href="#468">468</a> +<a name="469" href="#469">469</a> <em class="jxr_javadoccomment">/**</em> +<a name="470" href="#470">470</a> <em class="jxr_javadoccomment"> Set the e-mail addresses to which replies should be directed.</em> +<a name="471" href="#471">471</a> <em class="jxr_javadoccomment"> @param addresses reply addresses as comma separated string, may be null.</em> +<a name="472" href="#472">472</a> <em class="jxr_javadoccomment"> @since 1.2.16</em> +<a name="473" href="#473">473</a> <em class="jxr_javadoccomment"> */</em> +<a name="474" href="#474">474</a> <strong class="jxr_keyword">public</strong> +<a name="475" href="#475">475</a> <strong class="jxr_keyword">void</strong> setReplyTo(<strong class="jxr_keyword">final</strong> String addresses) { +<a name="476" href="#476">476</a> <strong class="jxr_keyword">this</strong>.replyTo = addresses; +<a name="477" href="#477">477</a> } +<a name="478" href="#478">478</a> +<a name="479" href="#479">479</a> +<a name="480" href="#480">480</a> <em class="jxr_javadoccomment">/**</em> +<a name="481" href="#481">481</a> <em class="jxr_javadoccomment"> The &lt;b&gt;Subject&lt;/b&gt; option takes a string value which should be a</em> +<a name="482" href="#482">482</a> <em class="jxr_javadoccomment"> the subject of the e-mail message.</em> +<a name="483" href="#483">483</a> <em class="jxr_javadoccomment"> */</em> +<a name="484" href="#484">484</a> <strong class="jxr_keyword">public</strong> +<a name="485" href="#485">485</a> <strong class="jxr_keyword">void</strong> setSubject(String subject) { +<a name="486" href="#486">486</a> <strong class="jxr_keyword">this</strong>.subject = subject; +<a name="487" href="#487">487</a> } +<a name="488" href="#488">488</a> +<a name="489" href="#489">489</a> +<a name="490" href="#490">490</a> <em class="jxr_javadoccomment">/**</em> +<a name="491" href="#491">491</a> <em class="jxr_javadoccomment"> The &lt;b&gt;BufferSize&lt;/b&gt; option takes a positive integer</em> +<a name="492" href="#492">492</a> <em class="jxr_javadoccomment"> representing the maximum number of logging events to collect in a</em> +<a name="493" href="#493">493</a> <em class="jxr_javadoccomment"> cyclic buffer. When the &lt;code&gt;BufferSize&lt;/code&gt; is reached,</em> +<a name="494" href="#494">494</a> <em class="jxr_javadoccomment"> oldest events are deleted as new events are added to the</em> +<a name="495" href="#495">495</a> <em class="jxr_javadoccomment"> buffer. By default the size of the cyclic buffer is 512 events.</em> +<a name="496" href="#496">496</a> <em class="jxr_javadoccomment"> */</em> +<a name="497" href="#497">497</a> <strong class="jxr_keyword">public</strong> +<a name="498" href="#498">498</a> <strong class="jxr_keyword">void</strong> setBufferSize(<strong class="jxr_keyword">int</strong> bufferSize) { +<a name="499" href="#499">499</a> <strong class="jxr_keyword">this</strong>.bufferSize = bufferSize; +<a name="500" href="#500">500</a> cb.resize(bufferSize); +<a name="501" href="#501">501</a> } +<a name="502" href="#502">502</a> +<a name="503" href="#503">503</a> <em class="jxr_javadoccomment">/**</em> +<a name="504" href="#504">504</a> <em class="jxr_javadoccomment"> The &lt;b&gt;SMTPHost&lt;/b&gt; option takes a string value which should be a</em> +<a name="505" href="#505">505</a> <em class="jxr_javadoccomment"> the host name of the SMTP server that will send the e-mail message.</em> +<a name="506" href="#506">506</a> <em class="jxr_javadoccomment"> */</em> +<a name="507" href="#507">507</a> <strong class="jxr_keyword">public</strong> +<a name="508" href="#508">508</a> <strong class="jxr_keyword">void</strong> setSMTPHost(String smtpHost) { +<a name="509" href="#509">509</a> <strong class="jxr_keyword">this</strong>.smtpHost = smtpHost; +<a name="510" href="#510">510</a> } +<a name="511" href="#511">511</a> +<a name="512" href="#512">512</a> <em class="jxr_javadoccomment">/**</em> +<a name="513" href="#513">513</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;SMTPHost&lt;/b&gt; option.</em> +<a name="514" href="#514">514</a> <em class="jxr_javadoccomment"> */</em> +<a name="515" href="#515">515</a> <strong class="jxr_keyword">public</strong> +<a name="516" href="#516">516</a> String getSMTPHost() { +<a name="517" href="#517">517</a> <strong class="jxr_keyword">return</strong> smtpHost; +<a name="518" href="#518">518</a> } +<a name="519" href="#519">519</a> +<a name="520" href="#520">520</a> <em class="jxr_javadoccomment">/**</em> +<a name="521" href="#521">521</a> <em class="jxr_javadoccomment"> The &lt;b&gt;To&lt;/b&gt; option takes a string value which should be a</em> +<a name="522" href="#522">522</a> <em class="jxr_javadoccomment"> comma separated list of e-mail address of the recipients.</em> +<a name="523" href="#523">523</a> <em class="jxr_javadoccomment"> */</em> +<a name="524" href="#524">524</a> <strong class="jxr_keyword">public</strong> +<a name="525" href="#525">525</a> <strong class="jxr_keyword">void</strong> setTo(String to) { +<a name="526" href="#526">526</a> <strong class="jxr_keyword">this</strong>.to = to; +<a name="527" href="#527">527</a> } +<a name="528" href="#528">528</a> +<a name="529" href="#529">529</a> +<a name="530" href="#530">530</a> +<a name="531" href="#531">531</a> <em class="jxr_javadoccomment">/**</em> +<a name="532" href="#532">532</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;BufferSize&lt;/b&gt; option.</em> +<a name="533" href="#533">533</a> <em class="jxr_javadoccomment"> */</em> +<a name="534" href="#534">534</a> <strong class="jxr_keyword">public</strong> +<a name="535" href="#535">535</a> <strong class="jxr_keyword">int</strong> getBufferSize() { +<a name="536" href="#536">536</a> <strong class="jxr_keyword">return</strong> bufferSize; +<a name="537" href="#537">537</a> } +<a name="538" href="#538">538</a> +<a name="539" href="#539">539</a> <em class="jxr_javadoccomment">/**</em> +<a name="540" href="#540">540</a> <em class="jxr_javadoccomment"> The &lt;b&gt;EvaluatorClass&lt;/b&gt; option takes a string value</em> +<a name="541" href="#541">541</a> <em class="jxr_javadoccomment"> representing the name of the class implementing the {@link</em> +<a name="542" href="#542">542</a> <em class="jxr_javadoccomment"> TriggeringEventEvaluator} interface. A corresponding object will</em> +<a name="543" href="#543">543</a> <em class="jxr_javadoccomment"> be instantiated and assigned as the triggering event evaluator</em> +<a name="544" href="#544">544</a> <em class="jxr_javadoccomment"> for the SMTPAppender.</em> +<a name="545" href="#545">545</a> <em class="jxr_javadoccomment"> */</em> +<a name="546" href="#546">546</a> <strong class="jxr_keyword">public</strong> +<a name="547" href="#547">547</a> <strong class="jxr_keyword">void</strong> setEvaluatorClass(String value) { +<a name="548" href="#548">548</a> evaluator = (TriggeringEventEvaluator) +<a name="549" href="#549">549</a> OptionConverter.instantiateByClassName(value, +<a name="550" href="#550">550</a> TriggeringEventEvaluator.<strong class="jxr_keyword">class</strong>, +<a name="551" href="#551">551</a> evaluator); +<a name="552" href="#552">552</a> } +<a name="553" href="#553">553</a> +<a name="554" href="#554">554</a> +<a name="555" href="#555">555</a> <em class="jxr_javadoccomment">/**</em> +<a name="556" href="#556">556</a> <em class="jxr_javadoccomment"> The &lt;b&gt;LocationInfo&lt;/b&gt; option takes a boolean value. By</em> +<a name="557" href="#557">557</a> <em class="jxr_javadoccomment"> default, it is set to false which means there will be no effort</em> +<a name="558" href="#558">558</a> <em class="jxr_javadoccomment"> to extract the location information related to the event. As a</em> +<a name="559" href="#559">559</a> <em class="jxr_javadoccomment"> result, the layout that formats the events as they are sent out</em> +<a name="560" href="#560">560</a> <em class="jxr_javadoccomment"> in an e-mail is likely to place the wrong location information</em> +<a name="561" href="#561">561</a> <em class="jxr_javadoccomment"> (if present in the format).</em> +<a name="562" href="#562">562</a> +<a name="563" href="#563">563</a> <em class="jxr_javadoccomment"> &lt;p&gt;Location information extraction is comparatively very slow and</em> +<a name="564" href="#564">564</a> <em class="jxr_javadoccomment"> should be avoided unless performance is not a concern.</em> +<a name="565" href="#565">565</a> <em class="jxr_javadoccomment"> */</em> +<a name="566" href="#566">566</a> <strong class="jxr_keyword">public</strong> +<a name="567" href="#567">567</a> <strong class="jxr_keyword">void</strong> setLocationInfo(<strong class="jxr_keyword">boolean</strong> locationInfo) { +<a name="568" href="#568">568</a> <strong class="jxr_keyword">this</strong>.locationInfo = locationInfo; +<a name="569" href="#569">569</a> } +<a name="570" href="#570">570</a> +<a name="571" href="#571">571</a> <em class="jxr_javadoccomment">/**</em> +<a name="572" href="#572">572</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;LocationInfo&lt;/b&gt; option.</em> +<a name="573" href="#573">573</a> <em class="jxr_javadoccomment"> */</em> +<a name="574" href="#574">574</a> <strong class="jxr_keyword">public</strong> +<a name="575" href="#575">575</a> <strong class="jxr_keyword">boolean</strong> getLocationInfo() { +<a name="576" href="#576">576</a> <strong class="jxr_keyword">return</strong> locationInfo; +<a name="577" href="#577">577</a> } +<a name="578" href="#578">578</a> +<a name="579" href="#579">579</a> <em class="jxr_javadoccomment">/**</em> +<a name="580" href="#580">580</a> <em class="jxr_javadoccomment"> Set the cc recipient addresses.</em> +<a name="581" href="#581">581</a> <em class="jxr_javadoccomment"> @param addresses recipient addresses as comma separated string, may be null.</em> +<a name="582" href="#582">582</a> <em class="jxr_javadoccomment"> @since 1.2.14</em> +<a name="583" href="#583">583</a> <em class="jxr_javadoccomment"> */</em> +<a name="584" href="#584">584</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCc(<strong class="jxr_keyword">final</strong> String addresses) { +<a name="585" href="#585">585</a> <strong class="jxr_keyword">this</strong>.cc = addresses; +<a name="586" href="#586">586</a> } +<a name="587" href="#587">587</a> +<a name="588" href="#588">588</a> <em class="jxr_javadoccomment">/**</em> +<a name="589" href="#589">589</a> <em class="jxr_javadoccomment"> Get the cc recipient addresses.</em> +<a name="590" href="#590">590</a> <em class="jxr_javadoccomment"> @return recipient addresses as comma separated string, may be null.</em> +<a name="591" href="#591">591</a> <em class="jxr_javadoccomment"> @since 1.2.14</em> +<a name="592" href="#592">592</a> <em class="jxr_javadoccomment"> */</em> +<a name="593" href="#593">593</a> <strong class="jxr_keyword">public</strong> String getCc() { +<a name="594" href="#594">594</a> <strong class="jxr_keyword">return</strong> cc; +<a name="595" href="#595">595</a> } +<a name="596" href="#596">596</a> +<a name="597" href="#597">597</a> <em class="jxr_javadoccomment">/**</em> +<a name="598" href="#598">598</a> <em class="jxr_javadoccomment"> Set the bcc recipient addresses.</em> +<a name="599" href="#599">599</a> <em class="jxr_javadoccomment"> @param addresses recipient addresses as comma separated string, may be null.</em> +<a name="600" href="#600">600</a> <em class="jxr_javadoccomment"> @since 1.2.14</em> +<a name="601" href="#601">601</a> <em class="jxr_javadoccomment"> */</em> +<a name="602" href="#602">602</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setBcc(<strong class="jxr_keyword">final</strong> String addresses) { +<a name="603" href="#603">603</a> <strong class="jxr_keyword">this</strong>.bcc = addresses; +<a name="604" href="#604">604</a> } +<a name="605" href="#605">605</a> +<a name="606" href="#606">606</a> <em class="jxr_javadoccomment">/**</em> +<a name="607" href="#607">607</a> <em class="jxr_javadoccomment"> Get the bcc recipient addresses.</em> +<a name="608" href="#608">608</a> <em class="jxr_javadoccomment"> @return recipient addresses as comma separated string, may be null.</em> +<a name="609" href="#609">609</a> <em class="jxr_javadoccomment"> @since 1.2.14</em> +<a name="610" href="#610">610</a> <em class="jxr_javadoccomment"> */</em> +<a name="611" href="#611">611</a> <strong class="jxr_keyword">public</strong> String getBcc() { +<a name="612" href="#612">612</a> <strong class="jxr_keyword">return</strong> bcc; +<a name="613" href="#613">613</a> } +<a name="614" href="#614">614</a> +<a name="615" href="#615">615</a> <em class="jxr_javadoccomment">/**</em> +<a name="616" href="#616">616</a> <em class="jxr_javadoccomment"> * The &lt;b&gt;SmtpPassword&lt;/b&gt; option takes a string value which should be the password required to authenticate against</em> +<a name="617" href="#617">617</a> <em class="jxr_javadoccomment"> * the mail server.</em> +<a name="618" href="#618">618</a> <em class="jxr_javadoccomment"> * @param password password, may be null.</em> +<a name="619" href="#619">619</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="620" href="#620">620</a> <em class="jxr_javadoccomment"> */</em> +<a name="621" href="#621">621</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSMTPPassword(<strong class="jxr_keyword">final</strong> String password) { +<a name="622" href="#622">622</a> <strong class="jxr_keyword">this</strong>.smtpPassword = password; +<a name="623" href="#623">623</a> } +<a name="624" href="#624">624</a> +<a name="625" href="#625">625</a> <em class="jxr_javadoccomment">/**</em> +<a name="626" href="#626">626</a> <em class="jxr_javadoccomment"> * The &lt;b&gt;SmtpUsername&lt;/b&gt; option takes a string value which should be the username required to authenticate against</em> +<a name="627" href="#627">627</a> <em class="jxr_javadoccomment"> * the mail server.</em> +<a name="628" href="#628">628</a> <em class="jxr_javadoccomment"> * @param username user name, may be null.</em> +<a name="629" href="#629">629</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="630" href="#630">630</a> <em class="jxr_javadoccomment"> */</em> +<a name="631" href="#631">631</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSMTPUsername(<strong class="jxr_keyword">final</strong> String username) { +<a name="632" href="#632">632</a> <strong class="jxr_keyword">this</strong>.smtpUsername = username; +<a name="633" href="#633">633</a> } +<a name="634" href="#634">634</a> +<a name="635" href="#635">635</a> <em class="jxr_javadoccomment">/**</em> +<a name="636" href="#636">636</a> <em class="jxr_javadoccomment"> * Setting the &lt;b&gt;SmtpDebug&lt;/b&gt; option to true will cause the mail session to log its server interaction to stdout.</em> +<a name="637" href="#637">637</a> <em class="jxr_javadoccomment"> * This can be useful when debuging the appender but should not be used during production because username and</em> +<a name="638" href="#638">638</a> <em class="jxr_javadoccomment"> * password information is included in the output.</em> +<a name="639" href="#639">639</a> <em class="jxr_javadoccomment"> * @param debug debug flag.</em> +<a name="640" href="#640">640</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="641" href="#641">641</a> <em class="jxr_javadoccomment"> */</em> +<a name="642" href="#642">642</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setSMTPDebug(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> debug) { +<a name="643" href="#643">643</a> <strong class="jxr_keyword">this</strong>.smtpDebug = debug; +<a name="644" href="#644">644</a> } +<a name="645" href="#645">645</a> +<a name="646" href="#646">646</a> <em class="jxr_javadoccomment">/**</em> +<a name="647" href="#647">647</a> <em class="jxr_javadoccomment"> * Get SMTP password.</em> +<a name="648" href="#648">648</a> <em class="jxr_javadoccomment"> * @return SMTP password, may be null.</em> +<a name="649" href="#649">649</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="650" href="#650">650</a> <em class="jxr_javadoccomment"> */</em> +<a name="651" href="#651">651</a> <strong class="jxr_keyword">public</strong> String getSMTPPassword() { +<a name="652" href="#652">652</a> <strong class="jxr_keyword">return</strong> smtpPassword; +<a name="653" href="#653">653</a> } +<a name="654" href="#654">654</a> +<a name="655" href="#655">655</a> <em class="jxr_javadoccomment">/**</em> +<a name="656" href="#656">656</a> <em class="jxr_javadoccomment"> * Get SMTP user name.</em> +<a name="657" href="#657">657</a> <em class="jxr_javadoccomment"> * @return SMTP user name, may be null.</em> +<a name="658" href="#658">658</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="659" href="#659">659</a> <em class="jxr_javadoccomment"> */</em> +<a name="660" href="#660">660</a> <strong class="jxr_keyword">public</strong> String getSMTPUsername() { +<a name="661" href="#661">661</a> <strong class="jxr_keyword">return</strong> smtpUsername; +<a name="662" href="#662">662</a> } +<a name="663" href="#663">663</a> +<a name="664" href="#664">664</a> <em class="jxr_javadoccomment">/**</em> +<a name="665" href="#665">665</a> <em class="jxr_javadoccomment"> * Get SMTP debug.</em> +<a name="666" href="#666">666</a> <em class="jxr_javadoccomment"> * @return SMTP debug flag.</em> +<a name="667" href="#667">667</a> <em class="jxr_javadoccomment"> * @since 1.2.14</em> +<a name="668" href="#668">668</a> <em class="jxr_javadoccomment"> */</em> +<a name="669" href="#669">669</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getSMTPDebug() { +<a name="670" href="#670">670</a> <strong class="jxr_keyword">return</strong> smtpDebug; +<a name="671" href="#671">671</a> } +<a name="672" href="#672">672</a> +<a name="673" href="#673">673</a> <em class="jxr_javadoccomment">/**</em> +<a name="674" href="#674">674</a> <em class="jxr_javadoccomment"> * Sets triggering evaluator.</em> +<a name="675" href="#675">675</a> <em class="jxr_javadoccomment"> * @param trigger triggering event evaluator.</em> +<a name="676" href="#676">676</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="677" href="#677">677</a> <em class="jxr_javadoccomment"> */</em> +<a name="678" href="#678">678</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setEvaluator(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html">TriggeringEventEvaluator</a> trigger) { +<a name="679" href="#679">679</a> <strong class="jxr_keyword">if</strong> (trigger == <strong class="jxr_keyword">null</strong>) { +<a name="680" href="#680">680</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"trigger"</span>); +<a name="681" href="#681">681</a> } +<a name="682" href="#682">682</a> <strong class="jxr_keyword">this</strong>.evaluator = trigger; +<a name="683" href="#683">683</a> } +<a name="684" href="#684">684</a> +<a name="685" href="#685">685</a> <em class="jxr_javadoccomment">/**</em> +<a name="686" href="#686">686</a> <em class="jxr_javadoccomment"> * Get triggering evaluator.</em> +<a name="687" href="#687">687</a> <em class="jxr_javadoccomment"> * @return triggering event evaluator.</em> +<a name="688" href="#688">688</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="689" href="#689">689</a> <em class="jxr_javadoccomment"> */</em> +<a name="690" href="#690">690</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html">TriggeringEventEvaluator</a> getEvaluator() { +<a name="691" href="#691">691</a> <strong class="jxr_keyword">return</strong> evaluator; +<a name="692" href="#692">692</a> } +<a name="693" href="#693">693</a> +<a name="694" href="#694">694</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc}</em> +<a name="695" href="#695">695</a> <em class="jxr_javadoccomment"> * @since 1.2.15 </em> +<a name="696" href="#696">696</a> <em class="jxr_javadoccomment"> */</em> +<a name="697" href="#697">697</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> parseUnrecognizedElement(<strong class="jxr_keyword">final</strong> Element element, +<a name="698" href="#698">698</a> <strong class="jxr_keyword">final</strong> Properties props) <strong class="jxr_keyword">throws</strong> Exception { +<a name="699" href="#699">699</a> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"triggeringPolicy"</span>.equals(element.getNodeName())) { +<a name="700" href="#700">700</a> Object triggerPolicy = +<a name="701" href="#701">701</a> org.apache.log4j.xml.DOMConfigurator.parseElement( +<a name="702" href="#702">702</a> element, props, TriggeringEventEvaluator.<strong class="jxr_keyword">class</strong>); +<a name="703" href="#703">703</a> <strong class="jxr_keyword">if</strong> (triggerPolicy instanceof TriggeringEventEvaluator) { +<a name="704" href="#704">704</a> setEvaluator((TriggeringEventEvaluator) triggerPolicy); +<a name="705" href="#705">705</a> } +<a name="706" href="#706">706</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="707" href="#707">707</a> } +<a name="708" href="#708">708</a> +<a name="709" href="#709">709</a> <strong class="jxr_keyword">return</strong> false; +<a name="710" href="#710">710</a> } +<a name="711" href="#711">711</a> +<a name="712" href="#712">712</a> <em class="jxr_javadoccomment">/**</em> +<a name="713" href="#713">713</a> <em class="jxr_javadoccomment"> * Get transport protocol.</em> +<a name="714" href="#714">714</a> <em class="jxr_javadoccomment"> * Typically null or "smtps".</em> +<a name="715" href="#715">715</a> <em class="jxr_javadoccomment"> *</em> +<a name="716" href="#716">716</a> <em class="jxr_javadoccomment"> * @return transport protocol, may be null.</em> +<a name="717" href="#717">717</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="718" href="#718">718</a> <em class="jxr_javadoccomment"> */</em> +<a name="719" href="#719">719</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> String getSMTPProtocol() { +<a name="720" href="#720">720</a> <strong class="jxr_keyword">return</strong> smtpProtocol; +<a name="721" href="#721">721</a> } +<a name="722" href="#722">722</a> +<a name="723" href="#723">723</a> <em class="jxr_javadoccomment">/**</em> +<a name="724" href="#724">724</a> <em class="jxr_javadoccomment"> * Set transport protocol.</em> +<a name="725" href="#725">725</a> <em class="jxr_javadoccomment"> * Typically null or "smtps".</em> +<a name="726" href="#726">726</a> <em class="jxr_javadoccomment"> *</em> +<a name="727" href="#727">727</a> <em class="jxr_javadoccomment"> * @param val transport protocol, may be null.</em> +<a name="728" href="#728">728</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="729" href="#729">729</a> <em class="jxr_javadoccomment"> */</em> +<a name="730" href="#730">730</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setSMTPProtocol(<strong class="jxr_keyword">final</strong> String val) { +<a name="731" href="#731">731</a> smtpProtocol = val; +<a name="732" href="#732">732</a> } +<a name="733" href="#733">733</a> +<a name="734" href="#734">734</a> <em class="jxr_javadoccomment">/**</em> +<a name="735" href="#735">735</a> <em class="jxr_javadoccomment"> * Get port.</em> +<a name="736" href="#736">736</a> <em class="jxr_javadoccomment"> *</em> +<a name="737" href="#737">737</a> <em class="jxr_javadoccomment"> * @return port, negative values indicate use of default ports for protocol.</em> +<a name="738" href="#738">738</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="739" href="#739">739</a> <em class="jxr_javadoccomment"> */</em> +<a name="740" href="#740">740</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getSMTPPort() { +<a name="741" href="#741">741</a> <strong class="jxr_keyword">return</strong> smtpPort; +<a name="742" href="#742">742</a> } +<a name="743" href="#743">743</a> +<a name="744" href="#744">744</a> <em class="jxr_javadoccomment">/**</em> +<a name="745" href="#745">745</a> <em class="jxr_javadoccomment"> * Set port.</em> +<a name="746" href="#746">746</a> <em class="jxr_javadoccomment"> *</em> +<a name="747" href="#747">747</a> <em class="jxr_javadoccomment"> * @param val port, negative values indicate use of default ports for protocol.</em> +<a name="748" href="#748">748</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="749" href="#749">749</a> <em class="jxr_javadoccomment"> */</em> +<a name="750" href="#750">750</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setSMTPPort(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> val) { +<a name="751" href="#751">751</a> smtpPort = val; +<a name="752" href="#752">752</a> } +<a name="753" href="#753">753</a> +<a name="754" href="#754">754</a> <em class="jxr_javadoccomment">/**</em> +<a name="755" href="#755">755</a> <em class="jxr_javadoccomment"> * Get sendOnClose.</em> +<a name="756" href="#756">756</a> <em class="jxr_javadoccomment"> *</em> +<a name="757" href="#757">757</a> <em class="jxr_javadoccomment"> * @return if true all buffered logging events will be sent when the appender is closed.</em> +<a name="758" href="#758">758</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="759" href="#759">759</a> <em class="jxr_javadoccomment"> */</em> +<a name="760" href="#760">760</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> getSendOnClose() { +<a name="761" href="#761">761</a> <strong class="jxr_keyword">return</strong> sendOnClose; +<a name="762" href="#762">762</a> } +<a name="763" href="#763">763</a> +<a name="764" href="#764">764</a> <em class="jxr_javadoccomment">/**</em> +<a name="765" href="#765">765</a> <em class="jxr_javadoccomment"> * Set sendOnClose.</em> +<a name="766" href="#766">766</a> <em class="jxr_javadoccomment"> *</em> +<a name="767" href="#767">767</a> <em class="jxr_javadoccomment"> * @param val if true all buffered logging events will be sent when appender is closed.</em> +<a name="768" href="#768">768</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="769" href="#769">769</a> <em class="jxr_javadoccomment"> */</em> +<a name="770" href="#770">770</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setSendOnClose(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> val) { +<a name="771" href="#771">771</a> sendOnClose = val; +<a name="772" href="#772">772</a> } +<a name="773" href="#773">773</a> +<a name="774" href="#774">774</a> } +<a name="775" href="#775">775</a> +<a name="776" href="#776">776</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SMTPAppender.html">DefaultEvaluator</a> implements <a href="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html">TriggeringEventEvaluator</a> { +<a name="777" href="#777">777</a> <em class="jxr_javadoccomment">/**</em> +<a name="778" href="#778">778</a> <em class="jxr_javadoccomment"> Is this &lt;code&gt;event&lt;/code&gt; the e-mail triggering event?</em> +<a name="779" href="#779">779</a> +<a name="780" href="#780">780</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method returns &lt;code&gt;true&lt;/code&gt;, if the event level</em> +<a name="781" href="#781">781</a> <em class="jxr_javadoccomment"> has ERROR level or higher. Otherwise it returns</em> +<a name="782" href="#782">782</a> <em class="jxr_javadoccomment"> &lt;code&gt;false&lt;/code&gt;. */</em> +<a name="783" href="#783">783</a> <strong class="jxr_keyword">public</strong> +<a name="784" href="#784">784</a> <strong class="jxr_keyword">boolean</strong> isTriggeringEvent(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="785" href="#785">785</a> <strong class="jxr_keyword">return</strong> event.getLevel().isGreaterOrEqual(Level.ERROR); +<a name="786" href="#786">786</a> } +<a name="787" href="#787">787</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SimpleSocketServer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SimpleSocketServer.html new file mode 100644 index 00000000000..5545819c7ea --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SimpleSocketServer.html @@ -0,0 +1,111 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SimpleSocketServer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/SimpleSocketServer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.net.ServerSocket; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PropertyConfigurator; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.xml.DOMConfigurator; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * A simple {@link SocketNode} based server.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> &lt;b&gt;Usage:&lt;/b&gt; java org.apache.log4j.net.SimpleSocketServer port configFile</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> where &lt;em&gt;port&lt;/em&gt; is a part number where the server listens and</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> &lt;em&gt;configFile&lt;/em&gt; is a configuration file fed to the {@link</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> PropertyConfigurator} or to {@link DOMConfigurator} if an XML file.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> *</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> *</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @since 0.8.4 </em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SimpleSocketServer.html">SimpleSocketServer</a> { +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> cat = Logger.getLogger(SimpleSocketServer.<strong class="jxr_keyword">class</strong>); +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> port; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">static</strong> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">void</strong> main(String argv[]) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">if</strong>(argv.length == 2) { +<a name="54" href="#54">54</a> init(argv[0], argv[1]); +<a name="55" href="#55">55</a> } <strong class="jxr_keyword">else</strong> { +<a name="56" href="#56">56</a> usage(<span class="jxr_string">"Wrong number of arguments."</span>); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">try</strong> { +<a name="60" href="#60">60</a> cat.info(<span class="jxr_string">"Listening on port "</span> + port); +<a name="61" href="#61">61</a> ServerSocket serverSocket = <strong class="jxr_keyword">new</strong> ServerSocket(port); +<a name="62" href="#62">62</a> <strong class="jxr_keyword">while</strong>(<strong class="jxr_keyword">true</strong>) { +<a name="63" href="#63">63</a> cat.info(<span class="jxr_string">"Waiting to accept a new client."</span>); +<a name="64" href="#64">64</a> Socket socket = serverSocket.accept(); +<a name="65" href="#65">65</a> cat.info(<span class="jxr_string">"Connected to client at "</span> + socket.getInetAddress()); +<a name="66" href="#66">66</a> cat.info(<span class="jxr_string">"Starting new socket node."</span>); +<a name="67" href="#67">67</a> <strong class="jxr_keyword">new</strong> Thread(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketNode.html">SocketNode</a>(socket, +<a name="68" href="#68">68</a> LogManager.getLoggerRepository()),<span class="jxr_string">"SimpleSocketServer-"</span> + port).start(); +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> } <strong class="jxr_keyword">catch</strong>(Exception e) { +<a name="71" href="#71">71</a> e.printStackTrace(); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> usage(String msg) { +<a name="77" href="#77">77</a> System.err.println(msg); +<a name="78" href="#78">78</a> System.err.println( +<a name="79" href="#79">79</a> <span class="jxr_string">"Usage: java "</span> +SimpleSocketServer.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">" port configFile"</span>); +<a name="80" href="#80">80</a> System.exit(1); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> init(String portStr, String configFile) { +<a name="84" href="#84">84</a> <strong class="jxr_keyword">try</strong> { +<a name="85" href="#85">85</a> port = Integer.parseInt(portStr); +<a name="86" href="#86">86</a> } <strong class="jxr_keyword">catch</strong>(java.lang.NumberFormatException e) { +<a name="87" href="#87">87</a> e.printStackTrace(); +<a name="88" href="#88">88</a> usage(<span class="jxr_string">"Could not interpret port number ["</span>+ portStr +<span class="jxr_string">"]."</span>); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">if</strong>(configFile.endsWith(<span class="jxr_string">".xml"</span>)) { +<a name="92" href="#92">92</a> DOMConfigurator.configure(configFile); +<a name="93" href="#93">93</a> } <strong class="jxr_keyword">else</strong> { +<a name="94" href="#94">94</a> PropertyConfigurator.configure(configFile); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketAppender.html new file mode 100644 index 00000000000..67a35d19f6a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketAppender.html @@ -0,0 +1,488 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SocketAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/SocketAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contributors: Dan MacDonald &lt;dan@redknee.com&gt;</em> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.net.InetAddress; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorCode; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> Sends {@link LoggingEvent} objects to a remote a log server,</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> usually a {@link SocketNode}.</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> &lt;p&gt;The SocketAppender has the following properties:</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> &lt;ul&gt;</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;If sent to a {@link SocketNode}, remote logging is</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> non-intrusive as far as the log event is concerned. In other</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> words, the event will be logged with the same time stamp, {@link</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> org.apache.log4j.NDC}, location info as if it were logged locally by</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> the client.</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;SocketAppenders do not use a layout. They ship a</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> serialized {@link LoggingEvent} object to the server side.</em> +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;Remote logging uses the TCP protocol. Consequently, if</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> the server is reachable, then log events will eventually arrive</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> at the server.</em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;If the remote server is down, the logging requests are</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> simply dropped. However, if and when the server comes back up,</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> then event transmission is resumed transparently. This</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> transparent reconneciton is performed by a &lt;em&gt;connector&lt;/em&gt;</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> thread which periodically attempts to connect to the server.</em> +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;Logging events are automatically &lt;em&gt;buffered&lt;/em&gt; by the</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> native TCP implementation. This means that if the link to server</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> is slow but still faster than the rate of (log) event production</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> by the client, the client will not be affected by the slow</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> network connection. However, if the network connection is slower</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> then the rate of event production, then the client can only</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> progress at the network rate. In particular, if the network link</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> to the the server is down, the client will be blocked.</em> +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> &lt;p&gt;On the other hand, if the network link is up, but the server</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> is down, the client will not be blocked when making log requests</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> but the log events will be lost due to server unavailability.</em> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;Even if a &lt;code&gt;SocketAppender&lt;/code&gt; is no longer</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> attached to any category, it will not be garbage collected in</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> the presence of a connector thread. A connector thread exists</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> only if the connection to the server is down. To avoid this</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> garbage collection problem, you should {@link #close} the the</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> &lt;code&gt;SocketAppender&lt;/code&gt; explicitly. See also next item.</em> +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> &lt;p&gt;Long lived applications which create/destroy many</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> &lt;code&gt;SocketAppender&lt;/code&gt; instances should be aware of this</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> garbage collection problem. Most other applications can safely</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> ignore it.</em> +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;If the JVM hosting the &lt;code&gt;SocketAppender&lt;/code&gt; exits</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> before the &lt;code&gt;SocketAppender&lt;/code&gt; is closed either</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> explicitly or subsequent to garbage collection, then there might</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> be untransmitted data in the pipe which might be lost. This is a</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> common problem on Windows based systems.</em> +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> &lt;p&gt;To avoid lost data, it is usually sufficient to {@link</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> #close} the &lt;code&gt;SocketAppender&lt;/code&gt; either explicitly or by</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> calling the {@link org.apache.log4j.LogManager#shutdown} method</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> before exiting the application.</em> +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> &lt;/ul&gt;</em> +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> @since 0.8.4 */</em> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">SocketAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> { +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">/**</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> The default port number of remote logging server (4560).</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> @since 1.2.15</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> */</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_PORT = 4560; +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">/**</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> The default reconnection delay (30000 milliseconds or 30 seconds).</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> */</em> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_RECONNECTION_DELAY = 30000; +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> We remember host name as String in addition to the resolved</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> InetAddress so that it can be returned via getOption().</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> */</em> +<a name="119" href="#119">119</a> String remoteHost; +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">/**</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> * The MulticastDNS zone advertised by a SocketAppender</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> */</em> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ZONE = <span class="jxr_string">"_log4j_obj_tcpconnect_appender.local."</span>; +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> InetAddress address; +<a name="127" href="#127">127</a> <strong class="jxr_keyword">int</strong> port = DEFAULT_PORT; +<a name="128" href="#128">128</a> ObjectOutputStream oos; +<a name="129" href="#129">129</a> <strong class="jxr_keyword">int</strong> reconnectionDelay = DEFAULT_RECONNECTION_DELAY; +<a name="130" href="#130">130</a> <strong class="jxr_keyword">boolean</strong> locationInfo = false; +<a name="131" href="#131">131</a> <strong class="jxr_keyword">private</strong> String application; +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">Connector</a> connector; +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">int</strong> counter = 0; +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em class="jxr_comment">// reset the ObjectOutputStream every 70 calls</em> +<a name="138" href="#138">138</a> <em class="jxr_comment">//private static final int RESET_FREQUENCY = 70;</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> RESET_FREQUENCY = 1; +<a name="140" href="#140">140</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> advertiseViaMulticastDNS; +<a name="141" href="#141">141</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a> zeroConf; +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">SocketAppender</a>() { +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">/**</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> Connects to remote server at &lt;code&gt;address&lt;/code&gt; and &lt;code&gt;port&lt;/code&gt;.</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> */</em> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">SocketAppender</a>(InetAddress address, <strong class="jxr_keyword">int</strong> port) { +<a name="150" href="#150">150</a> <strong class="jxr_keyword">this</strong>.address = address; +<a name="151" href="#151">151</a> <strong class="jxr_keyword">this</strong>.remoteHost = address.getHostName(); +<a name="152" href="#152">152</a> <strong class="jxr_keyword">this</strong>.port = port; +<a name="153" href="#153">153</a> connect(address, port); +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment">/**</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> Connects to remote server at &lt;code&gt;host&lt;/code&gt; and &lt;code&gt;port&lt;/code&gt;.</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> */</em> +<a name="159" href="#159">159</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">SocketAppender</a>(String host, <strong class="jxr_keyword">int</strong> port) { +<a name="160" href="#160">160</a> <strong class="jxr_keyword">this</strong>.port = port; +<a name="161" href="#161">161</a> <strong class="jxr_keyword">this</strong>.address = getAddressByName(host); +<a name="162" href="#162">162</a> <strong class="jxr_keyword">this</strong>.remoteHost = host; +<a name="163" href="#163">163</a> connect(address, port); +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">/**</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> Connect to the specified &lt;b&gt;RemoteHost&lt;/b&gt; and &lt;b&gt;Port&lt;/b&gt;.</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> */</em> +<a name="169" href="#169">169</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="170" href="#170">170</a> <strong class="jxr_keyword">if</strong> (advertiseViaMulticastDNS) { +<a name="171" href="#171">171</a> zeroConf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a>(ZONE, port, getName()); +<a name="172" href="#172">172</a> zeroConf.advertise(); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> connect(address, port); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">/**</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> * Close this appender. </em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> *</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * &lt;p&gt;This will mark the appender as closed and call then {@link</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> * #cleanUp} method.</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> * */</em> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="184" href="#184">184</a> <strong class="jxr_keyword">if</strong>(closed) +<a name="185" href="#185">185</a> <strong class="jxr_keyword">return</strong>; +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">this</strong>.closed = <strong class="jxr_keyword">true</strong>; +<a name="188" href="#188">188</a> <strong class="jxr_keyword">if</strong> (advertiseViaMulticastDNS) { +<a name="189" href="#189">189</a> zeroConf.unadvertise(); +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> cleanUp(); +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">/**</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> * Drop the connection to the remote host and release the underlying</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> * connector thread if it has been created </em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> * */</em> +<a name="199" href="#199">199</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> cleanUp() { +<a name="200" href="#200">200</a> <strong class="jxr_keyword">if</strong>(oos != <strong class="jxr_keyword">null</strong>) { +<a name="201" href="#201">201</a> <strong class="jxr_keyword">try</strong> { +<a name="202" href="#202">202</a> oos.close(); +<a name="203" href="#203">203</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="204" href="#204">204</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="205" href="#205">205</a> Thread.currentThread().interrupt(); +<a name="206" href="#206">206</a> } +<a name="207" href="#207">207</a> LogLog.error(<span class="jxr_string">"Could not close oos."</span>, e); +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> oos = <strong class="jxr_keyword">null</strong>; +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> <strong class="jxr_keyword">if</strong>(connector != <strong class="jxr_keyword">null</strong>) { +<a name="212" href="#212">212</a> <em class="jxr_comment">//LogLog.debug("Interrupting the connector.");</em> +<a name="213" href="#213">213</a> connector.interrupted = <strong class="jxr_keyword">true</strong>; +<a name="214" href="#214">214</a> connector = <strong class="jxr_keyword">null</strong>; <em class="jxr_comment">// allow gc</em> +<a name="215" href="#215">215</a> } +<a name="216" href="#216">216</a> } +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> <strong class="jxr_keyword">void</strong> connect(InetAddress address, <strong class="jxr_keyword">int</strong> port) { +<a name="219" href="#219">219</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.address == <strong class="jxr_keyword">null</strong>) +<a name="220" href="#220">220</a> <strong class="jxr_keyword">return</strong>; +<a name="221" href="#221">221</a> <strong class="jxr_keyword">try</strong> { +<a name="222" href="#222">222</a> <em class="jxr_comment">// First, close the previous connection if any.</em> +<a name="223" href="#223">223</a> cleanUp(); +<a name="224" href="#224">224</a> oos = <strong class="jxr_keyword">new</strong> ObjectOutputStream(<strong class="jxr_keyword">new</strong> Socket(address, port).getOutputStream()); +<a name="225" href="#225">225</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="226" href="#226">226</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="227" href="#227">227</a> Thread.currentThread().interrupt(); +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> String msg = <span class="jxr_string">"Could not connect to remote log4j server at ["</span> +<a name="230" href="#230">230</a> +address.getHostName()+<span class="jxr_string">"]."</span>; +<a name="231" href="#231">231</a> <strong class="jxr_keyword">if</strong>(reconnectionDelay &gt; 0) { +<a name="232" href="#232">232</a> msg += <span class="jxr_string">" We will try again later."</span>; +<a name="233" href="#233">233</a> fireConnector(); <em class="jxr_comment">// fire the connector thread</em> +<a name="234" href="#234">234</a> } <strong class="jxr_keyword">else</strong> { +<a name="235" href="#235">235</a> msg += <span class="jxr_string">" We are not retrying."</span>; +<a name="236" href="#236">236</a> errorHandler.error(msg, e, ErrorCode.GENERIC_FAILURE); +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> LogLog.error(msg); +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> } +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="244" href="#244">244</a> <strong class="jxr_keyword">if</strong>(event == <strong class="jxr_keyword">null</strong>) +<a name="245" href="#245">245</a> <strong class="jxr_keyword">return</strong>; +<a name="246" href="#246">246</a> +<a name="247" href="#247">247</a> <strong class="jxr_keyword">if</strong>(address==<strong class="jxr_keyword">null</strong>) { +<a name="248" href="#248">248</a> errorHandler.error(<span class="jxr_string">"No remote host is set for SocketAppender named \&quot;"</span>+ +<a name="249" href="#249">249</a> <strong class="jxr_keyword">this</strong>.name+<span class="jxr_string">"\&quot;."</span>); +<a name="250" href="#250">250</a> <strong class="jxr_keyword">return</strong>; +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <strong class="jxr_keyword">if</strong>(oos != <strong class="jxr_keyword">null</strong>) { +<a name="254" href="#254">254</a> <strong class="jxr_keyword">try</strong> { +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">if</strong>(locationInfo) { +<a name="257" href="#257">257</a> event.getLocationInformation(); +<a name="258" href="#258">258</a> } +<a name="259" href="#259">259</a> <strong class="jxr_keyword">if</strong> (application != <strong class="jxr_keyword">null</strong>) { +<a name="260" href="#260">260</a> event.setProperty(<span class="jxr_string">"application"</span>, application); +<a name="261" href="#261">261</a> } +<a name="262" href="#262">262</a> event.getNDC(); +<a name="263" href="#263">263</a> event.getThreadName(); +<a name="264" href="#264">264</a> event.getMDCCopy(); +<a name="265" href="#265">265</a> event.getRenderedMessage(); +<a name="266" href="#266">266</a> event.getThrowableStrRep(); +<a name="267" href="#267">267</a> +<a name="268" href="#268">268</a> oos.writeObject(event); +<a name="269" href="#269">269</a> <em class="jxr_comment">//LogLog.debug("=========Flushing.");</em> +<a name="270" href="#270">270</a> oos.flush(); +<a name="271" href="#271">271</a> <strong class="jxr_keyword">if</strong>(++counter &gt;= RESET_FREQUENCY) { +<a name="272" href="#272">272</a> counter = 0; +<a name="273" href="#273">273</a> <em class="jxr_comment">// Failing to reset the object output stream every now and</em> +<a name="274" href="#274">274</a> <em class="jxr_comment">// then creates a serious memory leak.</em> +<a name="275" href="#275">275</a> <em class="jxr_comment">//System.err.println("Doing oos.reset()");</em> +<a name="276" href="#276">276</a> oos.reset(); +<a name="277" href="#277">277</a> } +<a name="278" href="#278">278</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="279" href="#279">279</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="280" href="#280">280</a> Thread.currentThread().interrupt(); +<a name="281" href="#281">281</a> } +<a name="282" href="#282">282</a> oos = <strong class="jxr_keyword">null</strong>; +<a name="283" href="#283">283</a> LogLog.warn(<span class="jxr_string">"Detected problem with connection: "</span>+e); +<a name="284" href="#284">284</a> <strong class="jxr_keyword">if</strong>(reconnectionDelay &gt; 0) { +<a name="285" href="#285">285</a> fireConnector(); +<a name="286" href="#286">286</a> } <strong class="jxr_keyword">else</strong> { +<a name="287" href="#287">287</a> errorHandler.error(<span class="jxr_string">"Detected problem with connection, not reconnecting."</span>, e, +<a name="288" href="#288">288</a> ErrorCode.GENERIC_FAILURE); +<a name="289" href="#289">289</a> } +<a name="290" href="#290">290</a> } +<a name="291" href="#291">291</a> } +<a name="292" href="#292">292</a> } +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAdvertiseViaMulticastDNS(<strong class="jxr_keyword">boolean</strong> advertiseViaMulticastDNS) { +<a name="295" href="#295">295</a> <strong class="jxr_keyword">this</strong>.advertiseViaMulticastDNS = advertiseViaMulticastDNS; +<a name="296" href="#296">296</a> } +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isAdvertiseViaMulticastDNS() { +<a name="299" href="#299">299</a> <strong class="jxr_keyword">return</strong> advertiseViaMulticastDNS; +<a name="300" href="#300">300</a> } +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">void</strong> fireConnector() { +<a name="303" href="#303">303</a> <strong class="jxr_keyword">if</strong>(connector == <strong class="jxr_keyword">null</strong>) { +<a name="304" href="#304">304</a> LogLog.debug(<span class="jxr_string">"Starting a new connector thread."</span>); +<a name="305" href="#305">305</a> connector = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">Connector</a>(); +<a name="306" href="#306">306</a> connector.setDaemon(<strong class="jxr_keyword">true</strong>); +<a name="307" href="#307">307</a> connector.setPriority(Thread.MIN_PRIORITY); +<a name="308" href="#308">308</a> connector.start(); +<a name="309" href="#309">309</a> } +<a name="310" href="#310">310</a> } +<a name="311" href="#311">311</a> +<a name="312" href="#312">312</a> <strong class="jxr_keyword">static</strong> +<a name="313" href="#313">313</a> InetAddress getAddressByName(String host) { +<a name="314" href="#314">314</a> <strong class="jxr_keyword">try</strong> { +<a name="315" href="#315">315</a> <strong class="jxr_keyword">return</strong> InetAddress.getByName(host); +<a name="316" href="#316">316</a> } <strong class="jxr_keyword">catch</strong>(Exception e) { +<a name="317" href="#317">317</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException || e instanceof InterruptedException) { +<a name="318" href="#318">318</a> Thread.currentThread().interrupt(); +<a name="319" href="#319">319</a> } +<a name="320" href="#320">320</a> LogLog.error(<span class="jxr_string">"Could not find address of ["</span>+host+<span class="jxr_string">"]."</span>, e); +<a name="321" href="#321">321</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="322" href="#322">322</a> } +<a name="323" href="#323">323</a> } +<a name="324" href="#324">324</a> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment">/**</em> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment"> * The SocketAppender does not use a layout. Hence, this method</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> * returns &lt;code&gt;false&lt;/code&gt;. </em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> * */</em> +<a name="329" href="#329">329</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="330" href="#330">330</a> <strong class="jxr_keyword">return</strong> false; +<a name="331" href="#331">331</a> } +<a name="332" href="#332">332</a> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment">/**</em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> * The &lt;b&gt;RemoteHost&lt;/b&gt; option takes a string value which should be</em> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment"> * the host name of the server where a {@link SocketNode} is</em> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment"> * running.</em> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment"> * */</em> +<a name="338" href="#338">338</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setRemoteHost(String host) { +<a name="339" href="#339">339</a> address = getAddressByName(host); +<a name="340" href="#340">340</a> remoteHost = host; +<a name="341" href="#341">341</a> } +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment">/**</em> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;RemoteHost&lt;/b&gt; option.</em> +<a name="345" href="#345">345</a> <em class="jxr_javadoccomment"> */</em> +<a name="346" href="#346">346</a> <strong class="jxr_keyword">public</strong> String getRemoteHost() { +<a name="347" href="#347">347</a> <strong class="jxr_keyword">return</strong> remoteHost; +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> <em class="jxr_javadoccomment">/**</em> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment"> The &lt;b&gt;Port&lt;/b&gt; option takes a positive integer representing</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> the port where the server is waiting for connections.</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> */</em> +<a name="354" href="#354">354</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPort(<strong class="jxr_keyword">int</strong> port) { +<a name="355" href="#355">355</a> <strong class="jxr_keyword">this</strong>.port = port; +<a name="356" href="#356">356</a> } +<a name="357" href="#357">357</a> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment">/**</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;Port&lt;/b&gt; option.</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> */</em> +<a name="361" href="#361">361</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getPort() { +<a name="362" href="#362">362</a> <strong class="jxr_keyword">return</strong> port; +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> +<a name="365" href="#365">365</a> <em class="jxr_javadoccomment">/**</em> +<a name="366" href="#366">366</a> <em class="jxr_javadoccomment"> The &lt;b&gt;LocationInfo&lt;/b&gt; option takes a boolean value. If true,</em> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment"> the information sent to the remote host will include location</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> information. By default no location information is sent to the server.</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> */</em> +<a name="370" href="#370">370</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLocationInfo(<strong class="jxr_keyword">boolean</strong> locationInfo) { +<a name="371" href="#371">371</a> <strong class="jxr_keyword">this</strong>.locationInfo = locationInfo; +<a name="372" href="#372">372</a> } +<a name="373" href="#373">373</a> +<a name="374" href="#374">374</a> <em class="jxr_javadoccomment">/**</em> +<a name="375" href="#375">375</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;LocationInfo&lt;/b&gt; option.</em> +<a name="376" href="#376">376</a> <em class="jxr_javadoccomment"> */</em> +<a name="377" href="#377">377</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getLocationInfo() { +<a name="378" href="#378">378</a> <strong class="jxr_keyword">return</strong> locationInfo; +<a name="379" href="#379">379</a> } +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <em class="jxr_javadoccomment">/**</em> +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment"> * The &lt;b&gt;App&lt;/b&gt; option takes a string value which should be the name of the </em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> * application getting logged.</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> * If property was already set (via system property), don't set here.</em> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> */</em> +<a name="387" href="#387">387</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setApplication(String lapp) { +<a name="388" href="#388">388</a> <strong class="jxr_keyword">this</strong>.application = lapp; +<a name="389" href="#389">389</a> } +<a name="390" href="#390">390</a> +<a name="391" href="#391">391</a> <em class="jxr_javadoccomment">/**</em> +<a name="392" href="#392">392</a> <em class="jxr_javadoccomment"> * Returns value of the &lt;b&gt;Application&lt;/b&gt; option.</em> +<a name="393" href="#393">393</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="394" href="#394">394</a> <em class="jxr_javadoccomment"> */</em> +<a name="395" href="#395">395</a> <strong class="jxr_keyword">public</strong> String getApplication() { +<a name="396" href="#396">396</a> <strong class="jxr_keyword">return</strong> application; +<a name="397" href="#397">397</a> } +<a name="398" href="#398">398</a> +<a name="399" href="#399">399</a> <em class="jxr_javadoccomment">/**</em> +<a name="400" href="#400">400</a> <em class="jxr_javadoccomment"> The &lt;b&gt;ReconnectionDelay&lt;/b&gt; option takes a positive integer</em> +<a name="401" href="#401">401</a> <em class="jxr_javadoccomment"> representing the number of milliseconds to wait between each</em> +<a name="402" href="#402">402</a> <em class="jxr_javadoccomment"> failed connection attempt to the server. The default value of</em> +<a name="403" href="#403">403</a> <em class="jxr_javadoccomment"> this option is 30000 which corresponds to 30 seconds.</em> +<a name="404" href="#404">404</a> +<a name="405" href="#405">405</a> <em class="jxr_javadoccomment"> &lt;p&gt;Setting this option to zero turns off reconnection</em> +<a name="406" href="#406">406</a> <em class="jxr_javadoccomment"> capability.</em> +<a name="407" href="#407">407</a> <em class="jxr_javadoccomment"> */</em> +<a name="408" href="#408">408</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setReconnectionDelay(<strong class="jxr_keyword">int</strong> delay) { +<a name="409" href="#409">409</a> <strong class="jxr_keyword">this</strong>.reconnectionDelay = delay; +<a name="410" href="#410">410</a> } +<a name="411" href="#411">411</a> +<a name="412" href="#412">412</a> <em class="jxr_javadoccomment">/**</em> +<a name="413" href="#413">413</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;ReconnectionDelay&lt;/b&gt; option.</em> +<a name="414" href="#414">414</a> <em class="jxr_javadoccomment"> */</em> +<a name="415" href="#415">415</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getReconnectionDelay() { +<a name="416" href="#416">416</a> <strong class="jxr_keyword">return</strong> reconnectionDelay; +<a name="417" href="#417">417</a> } +<a name="418" href="#418">418</a> +<a name="419" href="#419">419</a> <em class="jxr_javadoccomment">/**</em> +<a name="420" href="#420">420</a> <em class="jxr_javadoccomment"> The Connector will reconnect when the server becomes available</em> +<a name="421" href="#421">421</a> <em class="jxr_javadoccomment"> again. It does this by attempting to open a new connection every</em> +<a name="422" href="#422">422</a> <em class="jxr_javadoccomment"> &lt;code&gt;reconnectionDelay&lt;/code&gt; milliseconds.</em> +<a name="423" href="#423">423</a> +<a name="424" href="#424">424</a> <em class="jxr_javadoccomment"> &lt;p&gt;It stops trying whenever a connection is established. It will</em> +<a name="425" href="#425">425</a> <em class="jxr_javadoccomment"> restart to try reconnect to the server when previously open</em> +<a name="426" href="#426">426</a> <em class="jxr_javadoccomment"> connection is droppped.</em> +<a name="427" href="#427">427</a> +<a name="428" href="#428">428</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="429" href="#429">429</a> <em class="jxr_javadoccomment"> @since 0.8.4</em> +<a name="430" href="#430">430</a> <em class="jxr_javadoccomment"> */</em> +<a name="431" href="#431">431</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketAppender.html">Connector</a> <strong class="jxr_keyword">extends</strong> Thread { +<a name="432" href="#432">432</a> +<a name="433" href="#433">433</a> <strong class="jxr_keyword">boolean</strong> interrupted = false; +<a name="434" href="#434">434</a> +<a name="435" href="#435">435</a> <strong class="jxr_keyword">public</strong> +<a name="436" href="#436">436</a> <strong class="jxr_keyword">void</strong> run() { +<a name="437" href="#437">437</a> Socket socket; +<a name="438" href="#438">438</a> <strong class="jxr_keyword">while</strong>(!interrupted) { +<a name="439" href="#439">439</a> <strong class="jxr_keyword">try</strong> { +<a name="440" href="#440">440</a> sleep(reconnectionDelay); +<a name="441" href="#441">441</a> LogLog.debug(<span class="jxr_string">"Attempting connection to "</span>+address.getHostName()); +<a name="442" href="#442">442</a> socket = <strong class="jxr_keyword">new</strong> Socket(address, port); +<a name="443" href="#443">443</a> <strong class="jxr_keyword">synchronized</strong>(<strong class="jxr_keyword">this</strong>) { +<a name="444" href="#444">444</a> oos = <strong class="jxr_keyword">new</strong> ObjectOutputStream(socket.getOutputStream()); +<a name="445" href="#445">445</a> connector = <strong class="jxr_keyword">null</strong>; +<a name="446" href="#446">446</a> LogLog.debug(<span class="jxr_string">"Connection established. Exiting connector thread."</span>); +<a name="447" href="#447">447</a> <strong class="jxr_keyword">break</strong>; +<a name="448" href="#448">448</a> } +<a name="449" href="#449">449</a> } <strong class="jxr_keyword">catch</strong>(InterruptedException e) { +<a name="450" href="#450">450</a> LogLog.debug(<span class="jxr_string">"Connector interrupted. Leaving loop."</span>); +<a name="451" href="#451">451</a> <strong class="jxr_keyword">return</strong>; +<a name="452" href="#452">452</a> } <strong class="jxr_keyword">catch</strong>(java.net.ConnectException e) { +<a name="453" href="#453">453</a> LogLog.debug(<span class="jxr_string">"Remote host "</span>+address.getHostName() +<a name="454" href="#454">454</a> +<span class="jxr_string">" refused connection."</span>); +<a name="455" href="#455">455</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="456" href="#456">456</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="457" href="#457">457</a> Thread.currentThread().interrupt(); +<a name="458" href="#458">458</a> } +<a name="459" href="#459">459</a> LogLog.debug(<span class="jxr_string">"Could not connect to "</span> + address.getHostName()+ +<a name="460" href="#460">460</a> <span class="jxr_string">". Exception is "</span> + e); +<a name="461" href="#461">461</a> } +<a name="462" href="#462">462</a> } +<a name="463" href="#463">463</a> <em class="jxr_comment">//LogLog.debug("Exiting Connector.run() method.");</em> +<a name="464" href="#464">464</a> } +<a name="465" href="#465">465</a> +<a name="466" href="#466">466</a> <em class="jxr_javadoccomment">/**</em> +<a name="467" href="#467">467</a> <em class="jxr_javadoccomment"> public</em> +<a name="468" href="#468">468</a> <em class="jxr_javadoccomment"> void finalize() {</em> +<a name="469" href="#469">469</a> <em class="jxr_javadoccomment"> LogLog.debug("Connector finalize() has been called.");</em> +<a name="470" href="#470">470</a> <em class="jxr_javadoccomment"> }</em> +<a name="471" href="#471">471</a> <em class="jxr_javadoccomment"> */</em> +<a name="472" href="#472">472</a> } +<a name="473" href="#473">473</a> +<a name="474" href="#474">474</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketHubAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketHubAppender.html new file mode 100644 index 00000000000..459e0679b07 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketHubAppender.html @@ -0,0 +1,521 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SocketHubAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/SocketHubAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.net.InetAddress; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.net.ServerSocket; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.net.SocketException; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.CyclicBuffer; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> Sends {@link LoggingEvent} objects to a set of remote log servers,</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> usually a {@link SocketNode SocketNodes}.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> </em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> &lt;p&gt;Acts just like {@link SocketAppender} except that instead of</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> connecting to a given remote log server,</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> &lt;code&gt;SocketHubAppender&lt;/code&gt; accepts connections from the remote</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> log servers as clients. It can accept more than one connection.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> When a log event is received, the event is sent to the set of</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> currently connected remote log servers. Implemented this way it does</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> not require any update to the configuration file to send data to</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> another remote log server. The remote log server simply connects to</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> the host and port the &lt;code&gt;SocketHubAppender&lt;/code&gt; is running on.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> </em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;SocketHubAppender&lt;/code&gt; does not store events such</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> that the remote side will events that arrived after the</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> establishment of its connection. Once connected, events arrive in</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> order as guaranteed by the TCP protocol.</em> +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> &lt;p&gt;This implementation borrows heavily from the {@link</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> SocketAppender}.</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> &lt;p&gt;The SocketHubAppender has the following characteristics:</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> </em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> &lt;ul&gt;</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> </em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;If sent to a {@link SocketNode}, logging is non-intrusive as</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> far as the log event is concerned. In other words, the event will be</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> logged with the same time stamp, {@link org.apache.log4j.NDC},</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> location info as if it were logged locally.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> </em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;&lt;code&gt;SocketHubAppender&lt;/code&gt; does not use a layout. It</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> ships a serialized {@link LoggingEvent} object to the remote side.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> </em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;&lt;code&gt;SocketHubAppender&lt;/code&gt; relies on the TCP</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> protocol. Consequently, if the remote side is reachable, then log</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> events will eventually arrive at remote client.</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> </em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;If no remote clients are attached, the logging requests are</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> simply dropped.</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> </em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;Logging events are automatically &lt;em&gt;buffered&lt;/em&gt; by the</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> native TCP implementation. This means that if the link to remote</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> client is slow but still faster than the rate of (log) event</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> production, the application will not be affected by the slow network</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> connection. However, if the network connection is slower then the</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> rate of event production, then the local application can only</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> progress at the network rate. In particular, if the network link to</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> the the remote client is down, the application will be blocked.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> </em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> &lt;p&gt;On the other hand, if the network link is up, but the remote</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> client is down, the client will not be blocked when making log</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> requests but the log events will be lost due to client</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> unavailability. </em> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> &lt;p&gt;The single remote client case extends to multiple clients</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> connections. The rate of logging will be determined by the slowest</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> link.</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> </em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;li&gt;If the JVM hosting the &lt;code&gt;SocketHubAppender&lt;/code&gt; exits</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> before the &lt;code&gt;SocketHubAppender&lt;/code&gt; is closed either</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> explicitly or subsequent to garbage collection, then there might</em> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment"> be untransmitted data in the pipe which might be lost. This is a</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> common problem on Windows based systems.</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> </em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> &lt;p&gt;To avoid lost data, it is usually sufficient to {@link #close}</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> the &lt;code&gt;SocketHubAppender&lt;/code&gt; either explicitly or by calling</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> the {@link org.apache.log4j.LogManager#shutdown} method before</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> exiting the application.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> </em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> &lt;/ul&gt;</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> </em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> @author Mark Womack */</em> +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketHubAppender.html">SocketHubAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> { +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">/**</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> The default port number of the ServerSocket will be created on. */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_PORT = 4560; +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> port = DEFAULT_PORT; +<a name="115" href="#115">115</a> <strong class="jxr_keyword">private</strong> Vector oosList = <strong class="jxr_keyword">new</strong> Vector(); +<a name="116" href="#116">116</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/net/SocketHubAppender.html">ServerMonitor</a> serverMonitor = <strong class="jxr_keyword">null</strong>; +<a name="117" href="#117">117</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> locationInfo = false; +<a name="118" href="#118">118</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBuffer.html">CyclicBuffer</a> buffer = <strong class="jxr_keyword">null</strong>; +<a name="119" href="#119">119</a> <strong class="jxr_keyword">private</strong> String application; +<a name="120" href="#120">120</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> advertiseViaMulticastDNS; +<a name="121" href="#121">121</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a> zeroConf; +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">/**</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> * The MulticastDNS zone advertised by a SocketHubAppender</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> */</em> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ZONE = <span class="jxr_string">"_log4j_obj_tcpaccept_appender.local."</span>; +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SocketHubAppender.html">SocketHubAppender</a>() { } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">/**</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> Connects to remote server at &lt;code&gt;address&lt;/code&gt; and &lt;code&gt;port&lt;/code&gt;. */</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">public</strong> +<a name="134" href="#134">134</a> <a href="../../../../org/apache/log4j/net/SocketHubAppender.html">SocketHubAppender</a>(<strong class="jxr_keyword">int</strong> _port) { +<a name="135" href="#135">135</a> port = _port; +<a name="136" href="#136">136</a> startServer(); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">/**</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> Set up the socket server on the specified port. */</em> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">public</strong> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="143" href="#143">143</a> <strong class="jxr_keyword">if</strong> (advertiseViaMulticastDNS) { +<a name="144" href="#144">144</a> zeroConf = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a>(ZONE, port, getName()); +<a name="145" href="#145">145</a> zeroConf.advertise(); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> startServer(); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">/**</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> Close this appender. </em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> &lt;p&gt;This will mark the appender as closed and</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> call then {@link #cleanUp} method. */</em> +<a name="154" href="#154">154</a> <strong class="jxr_keyword">synchronized</strong> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">public</strong> +<a name="156" href="#156">156</a> <strong class="jxr_keyword">void</strong> close() { +<a name="157" href="#157">157</a> <strong class="jxr_keyword">if</strong>(closed) +<a name="158" href="#158">158</a> <strong class="jxr_keyword">return</strong>; +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> LogLog.debug(<span class="jxr_string">"closing SocketHubAppender "</span> + getName()); +<a name="161" href="#161">161</a> <strong class="jxr_keyword">this</strong>.closed = <strong class="jxr_keyword">true</strong>; +<a name="162" href="#162">162</a> <strong class="jxr_keyword">if</strong> (advertiseViaMulticastDNS) { +<a name="163" href="#163">163</a> zeroConf.unadvertise(); +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> cleanUp(); +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> LogLog.debug(<span class="jxr_string">"SocketHubAppender "</span> + getName() + <span class="jxr_string">" closed"</span>); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">/**</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> Release the underlying ServerMonitor thread, and drop the connections</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> to all connected remote servers. */</em> +<a name="173" href="#173">173</a> <strong class="jxr_keyword">public</strong> +<a name="174" href="#174">174</a> <strong class="jxr_keyword">void</strong> cleanUp() { +<a name="175" href="#175">175</a> <em class="jxr_comment">// stop the monitor thread</em> +<a name="176" href="#176">176</a> LogLog.debug(<span class="jxr_string">"stopping ServerSocket"</span>); +<a name="177" href="#177">177</a> serverMonitor.stopMonitor(); +<a name="178" href="#178">178</a> serverMonitor = <strong class="jxr_keyword">null</strong>; +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <em class="jxr_comment">// close all of the connections</em> +<a name="181" href="#181">181</a> LogLog.debug(<span class="jxr_string">"closing client connections"</span>); +<a name="182" href="#182">182</a> <strong class="jxr_keyword">while</strong> (oosList.size() != 0) { +<a name="183" href="#183">183</a> ObjectOutputStream oos = (ObjectOutputStream)oosList.elementAt(0); +<a name="184" href="#184">184</a> <strong class="jxr_keyword">if</strong>(oos != <strong class="jxr_keyword">null</strong>) { +<a name="185" href="#185">185</a> <strong class="jxr_keyword">try</strong> { +<a name="186" href="#186">186</a> oos.close(); +<a name="187" href="#187">187</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException e) { +<a name="188" href="#188">188</a> Thread.currentThread().interrupt(); +<a name="189" href="#189">189</a> LogLog.error(<span class="jxr_string">"could not close oos."</span>, e); +<a name="190" href="#190">190</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="191" href="#191">191</a> LogLog.error(<span class="jxr_string">"could not close oos."</span>, e); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> oosList.removeElementAt(0); +<a name="195" href="#195">195</a> } +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment">/**</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> Append an event to all of current connections. */</em> +<a name="201" href="#201">201</a> <strong class="jxr_keyword">public</strong> +<a name="202" href="#202">202</a> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="203" href="#203">203</a> <strong class="jxr_keyword">if</strong> (event != <strong class="jxr_keyword">null</strong>) { +<a name="204" href="#204">204</a> <em class="jxr_comment">// set up location info if requested</em> +<a name="205" href="#205">205</a> <strong class="jxr_keyword">if</strong> (locationInfo) { +<a name="206" href="#206">206</a> event.getLocationInformation(); +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> <strong class="jxr_keyword">if</strong> (application != <strong class="jxr_keyword">null</strong>) { +<a name="209" href="#209">209</a> event.setProperty(<span class="jxr_string">"application"</span>, application); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> event.getNDC(); +<a name="212" href="#212">212</a> event.getThreadName(); +<a name="213" href="#213">213</a> event.getMDCCopy(); +<a name="214" href="#214">214</a> event.getRenderedMessage(); +<a name="215" href="#215">215</a> event.getThrowableStrRep(); +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <strong class="jxr_keyword">if</strong> (buffer != <strong class="jxr_keyword">null</strong>) { +<a name="218" href="#218">218</a> buffer.add(event); +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <em class="jxr_comment">// if no event or no open connections, exit now</em> +<a name="223" href="#223">223</a> <strong class="jxr_keyword">if</strong> ((event == <strong class="jxr_keyword">null</strong>) || (oosList.size() == 0)) { +<a name="224" href="#224">224</a> <strong class="jxr_keyword">return</strong>; +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> <em class="jxr_comment">// loop through the current set of open connections, appending the event to each</em> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> streamCount = 0; streamCount &lt; oosList.size(); streamCount++) { +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> ObjectOutputStream oos = <strong class="jxr_keyword">null</strong>; +<a name="231" href="#231">231</a> <strong class="jxr_keyword">try</strong> { +<a name="232" href="#232">232</a> oos = (ObjectOutputStream)oosList.elementAt(streamCount); +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> <strong class="jxr_keyword">catch</strong> (ArrayIndexOutOfBoundsException e) { +<a name="235" href="#235">235</a> <em class="jxr_comment">// catch this, but just don't assign a value</em> +<a name="236" href="#236">236</a> <em class="jxr_comment">// this should not really occur as this method is</em> +<a name="237" href="#237">237</a> <em class="jxr_comment">// the only one that can remove oos's (besides cleanUp).</em> +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <em class="jxr_comment">// list size changed unexpectedly? Just exit the append.</em> +<a name="241" href="#241">241</a> <strong class="jxr_keyword">if</strong> (oos == <strong class="jxr_keyword">null</strong>) +<a name="242" href="#242">242</a> <strong class="jxr_keyword">break</strong>; +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> <strong class="jxr_keyword">try</strong> { +<a name="245" href="#245">245</a> oos.writeObject(event); +<a name="246" href="#246">246</a> oos.flush(); +<a name="247" href="#247">247</a> <em class="jxr_comment">// Failing to reset the object output stream every now and</em> +<a name="248" href="#248">248</a> <em class="jxr_comment">// then creates a serious memory leak.</em> +<a name="249" href="#249">249</a> <em class="jxr_comment">// right now we always reset. TODO - set up frequency counter per oos?</em> +<a name="250" href="#250">250</a> oos.reset(); +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="253" href="#253">253</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="254" href="#254">254</a> Thread.currentThread().interrupt(); +<a name="255" href="#255">255</a> } +<a name="256" href="#256">256</a> <em class="jxr_comment">// there was an io exception so just drop the connection</em> +<a name="257" href="#257">257</a> oosList.removeElementAt(streamCount); +<a name="258" href="#258">258</a> LogLog.debug(<span class="jxr_string">"dropped connection"</span>); +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <em class="jxr_comment">// decrement to keep the counter in place (for loop always increments)</em> +<a name="261" href="#261">261</a> streamCount--; +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> } +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment">/**</em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> The SocketHubAppender does not use a layout. Hence, this method returns</em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> &lt;code&gt;false&lt;/code&gt;. */</em> +<a name="269" href="#269">269</a> <strong class="jxr_keyword">public</strong> +<a name="270" href="#270">270</a> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="271" href="#271">271</a> <strong class="jxr_keyword">return</strong> false; +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment">/**</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> The &lt;b&gt;Port&lt;/b&gt; option takes a positive integer representing</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> the port where the server is waiting for connections. */</em> +<a name="277" href="#277">277</a> <strong class="jxr_keyword">public</strong> +<a name="278" href="#278">278</a> <strong class="jxr_keyword">void</strong> setPort(<strong class="jxr_keyword">int</strong> _port) { +<a name="279" href="#279">279</a> port = _port; +<a name="280" href="#280">280</a> } +<a name="281" href="#281">281</a> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment">/**</em> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment"> * The &lt;b&gt;App&lt;/b&gt; option takes a string value which should be the name of the application getting logged. If property was already set (via system</em> +<a name="284" href="#284">284</a> <em class="jxr_javadoccomment"> * property), don't set here.</em> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment"> */</em> +<a name="286" href="#286">286</a> <strong class="jxr_keyword">public</strong> +<a name="287" href="#287">287</a> <strong class="jxr_keyword">void</strong> setApplication(String lapp) { +<a name="288" href="#288">288</a> <strong class="jxr_keyword">this</strong>.application = lapp; +<a name="289" href="#289">289</a> } +<a name="290" href="#290">290</a> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment">/**</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> * Returns value of the &lt;b&gt;Application&lt;/b&gt; option.</em> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment"> */</em> +<a name="294" href="#294">294</a> <strong class="jxr_keyword">public</strong> +<a name="295" href="#295">295</a> String getApplication() { +<a name="296" href="#296">296</a> <strong class="jxr_keyword">return</strong> application; +<a name="297" href="#297">297</a> } +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment">/**</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;Port&lt;/b&gt; option. */</em> +<a name="301" href="#301">301</a> <strong class="jxr_keyword">public</strong> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">int</strong> getPort() { +<a name="303" href="#303">303</a> <strong class="jxr_keyword">return</strong> port; +<a name="304" href="#304">304</a> } +<a name="305" href="#305">305</a> +<a name="306" href="#306">306</a> <em class="jxr_javadoccomment">/**</em> +<a name="307" href="#307">307</a> <em class="jxr_javadoccomment"> * The &lt;b&gt;BufferSize&lt;/b&gt; option takes a positive integer representing the number of events this appender will buffer and send to newly connected</em> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment"> * clients.</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> */</em> +<a name="310" href="#310">310</a> <strong class="jxr_keyword">public</strong> +<a name="311" href="#311">311</a> <strong class="jxr_keyword">void</strong> setBufferSize(<strong class="jxr_keyword">int</strong> _bufferSize) { +<a name="312" href="#312">312</a> buffer = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/CyclicBuffer.html">CyclicBuffer</a>(_bufferSize); +<a name="313" href="#313">313</a> } +<a name="314" href="#314">314</a> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment">/**</em> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> * Returns value of the &lt;b&gt;bufferSize&lt;/b&gt; option.</em> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment"> */</em> +<a name="318" href="#318">318</a> <strong class="jxr_keyword">public</strong> +<a name="319" href="#319">319</a> <strong class="jxr_keyword">int</strong> getBufferSize() { +<a name="320" href="#320">320</a> <strong class="jxr_keyword">if</strong> (buffer == <strong class="jxr_keyword">null</strong>) { +<a name="321" href="#321">321</a> <strong class="jxr_keyword">return</strong> 0; +<a name="322" href="#322">322</a> } <strong class="jxr_keyword">else</strong> { +<a name="323" href="#323">323</a> <strong class="jxr_keyword">return</strong> buffer.getMaxSize(); +<a name="324" href="#324">324</a> } +<a name="325" href="#325">325</a> } +<a name="326" href="#326">326</a> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">/**</em> +<a name="328" href="#328">328</a> <em class="jxr_javadoccomment"> The &lt;b&gt;LocationInfo&lt;/b&gt; option takes a boolean value. If true,</em> +<a name="329" href="#329">329</a> <em class="jxr_javadoccomment"> the information sent to the remote host will include location</em> +<a name="330" href="#330">330</a> <em class="jxr_javadoccomment"> information. By default no location information is sent to the server. */</em> +<a name="331" href="#331">331</a> <strong class="jxr_keyword">public</strong> +<a name="332" href="#332">332</a> <strong class="jxr_keyword">void</strong> setLocationInfo(<strong class="jxr_keyword">boolean</strong> _locationInfo) { +<a name="333" href="#333">333</a> locationInfo = _locationInfo; +<a name="334" href="#334">334</a> } +<a name="335" href="#335">335</a> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment">/**</em> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;LocationInfo&lt;/b&gt; option. */</em> +<a name="338" href="#338">338</a> <strong class="jxr_keyword">public</strong> +<a name="339" href="#339">339</a> <strong class="jxr_keyword">boolean</strong> getLocationInfo() { +<a name="340" href="#340">340</a> <strong class="jxr_keyword">return</strong> locationInfo; +<a name="341" href="#341">341</a> } +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAdvertiseViaMulticastDNS(<strong class="jxr_keyword">boolean</strong> advertiseViaMulticastDNS) { +<a name="344" href="#344">344</a> <strong class="jxr_keyword">this</strong>.advertiseViaMulticastDNS = advertiseViaMulticastDNS; +<a name="345" href="#345">345</a> } +<a name="346" href="#346">346</a> +<a name="347" href="#347">347</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isAdvertiseViaMulticastDNS() { +<a name="348" href="#348">348</a> <strong class="jxr_keyword">return</strong> advertiseViaMulticastDNS; +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment">/**</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> Start the ServerMonitor thread. */</em> +<a name="353" href="#353">353</a> <strong class="jxr_keyword">private</strong> +<a name="354" href="#354">354</a> <strong class="jxr_keyword">void</strong> startServer() { +<a name="355" href="#355">355</a> serverMonitor = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketHubAppender.html">ServerMonitor</a>(port, oosList); +<a name="356" href="#356">356</a> } +<a name="357" href="#357">357</a> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment">/**</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> * Creates a server socket to accept connections.</em> +<a name="360" href="#360">360</a> <em class="jxr_javadoccomment"> * @param socketPort port on which the socket should listen, may be zero.</em> +<a name="361" href="#361">361</a> <em class="jxr_javadoccomment"> * @return new socket.</em> +<a name="362" href="#362">362</a> <em class="jxr_javadoccomment"> * @throws IOException IO error when opening the socket. </em> +<a name="363" href="#363">363</a> <em class="jxr_javadoccomment"> */</em> +<a name="364" href="#364">364</a> <strong class="jxr_keyword">protected</strong> ServerSocket createServerSocket(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> socketPort) <strong class="jxr_keyword">throws</strong> IOException { +<a name="365" href="#365">365</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ServerSocket(socketPort); +<a name="366" href="#366">366</a> } +<a name="367" href="#367">367</a> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment">/**</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> This class is used internally to monitor a ServerSocket</em> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment"> and register new connections in a vector passed in the</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> constructor. */</em> +<a name="372" href="#372">372</a> <strong class="jxr_keyword">private</strong> +<a name="373" href="#373">373</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketHubAppender.html">ServerMonitor</a> implements Runnable { +<a name="374" href="#374">374</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> port; +<a name="375" href="#375">375</a> <strong class="jxr_keyword">private</strong> Vector oosList; +<a name="376" href="#376">376</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> keepRunning; +<a name="377" href="#377">377</a> <strong class="jxr_keyword">private</strong> Thread monitorThread; +<a name="378" href="#378">378</a> +<a name="379" href="#379">379</a> <em class="jxr_javadoccomment">/**</em> +<a name="380" href="#380">380</a> <em class="jxr_javadoccomment"> Create a thread and start the monitor. */</em> +<a name="381" href="#381">381</a> <strong class="jxr_keyword">public</strong> +<a name="382" href="#382">382</a> <a href="../../../../org/apache/log4j/net/SocketHubAppender.html">ServerMonitor</a>(<strong class="jxr_keyword">int</strong> _port, Vector _oosList) { +<a name="383" href="#383">383</a> port = _port; +<a name="384" href="#384">384</a> oosList = _oosList; +<a name="385" href="#385">385</a> keepRunning = <strong class="jxr_keyword">true</strong>; +<a name="386" href="#386">386</a> monitorThread = <strong class="jxr_keyword">new</strong> Thread(<strong class="jxr_keyword">this</strong>); +<a name="387" href="#387">387</a> monitorThread.setDaemon(<strong class="jxr_keyword">true</strong>); +<a name="388" href="#388">388</a> monitorThread.setName(<span class="jxr_string">"SocketHubAppender-Monitor-"</span> + port); +<a name="389" href="#389">389</a> monitorThread.start(); +<a name="390" href="#390">390</a> } +<a name="391" href="#391">391</a> +<a name="392" href="#392">392</a> <em class="jxr_javadoccomment">/**</em> +<a name="393" href="#393">393</a> <em class="jxr_javadoccomment"> Stops the monitor. This method will not return until</em> +<a name="394" href="#394">394</a> <em class="jxr_javadoccomment"> the thread has finished executing. */</em> +<a name="395" href="#395">395</a> <strong class="jxr_keyword">public</strong> +<a name="396" href="#396">396</a> <strong class="jxr_keyword">synchronized</strong> +<a name="397" href="#397">397</a> <strong class="jxr_keyword">void</strong> stopMonitor() { +<a name="398" href="#398">398</a> <strong class="jxr_keyword">if</strong> (keepRunning) { +<a name="399" href="#399">399</a> LogLog.debug(<span class="jxr_string">"server monitor thread shutting down"</span>); +<a name="400" href="#400">400</a> keepRunning = false; +<a name="401" href="#401">401</a> <strong class="jxr_keyword">try</strong> { +<a name="402" href="#402">402</a> monitorThread.join(); +<a name="403" href="#403">403</a> } +<a name="404" href="#404">404</a> <strong class="jxr_keyword">catch</strong> (InterruptedException e) { +<a name="405" href="#405">405</a> Thread.currentThread().interrupt(); +<a name="406" href="#406">406</a> <em class="jxr_comment">// do nothing?</em> +<a name="407" href="#407">407</a> } +<a name="408" href="#408">408</a> +<a name="409" href="#409">409</a> <em class="jxr_comment">// release the thread</em> +<a name="410" href="#410">410</a> monitorThread = <strong class="jxr_keyword">null</strong>; +<a name="411" href="#411">411</a> LogLog.debug(<span class="jxr_string">"server monitor thread shut down"</span>); +<a name="412" href="#412">412</a> } +<a name="413" href="#413">413</a> } +<a name="414" href="#414">414</a> +<a name="415" href="#415">415</a> <strong class="jxr_keyword">private</strong> +<a name="416" href="#416">416</a> <strong class="jxr_keyword">void</strong> sendCachedEvents(ObjectOutputStream stream) <strong class="jxr_keyword">throws</strong> IOException { +<a name="417" href="#417">417</a> <strong class="jxr_keyword">if</strong> (buffer != <strong class="jxr_keyword">null</strong>) { +<a name="418" href="#418">418</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; buffer.length(); i++) { +<a name="419" href="#419">419</a> stream.writeObject(buffer.get(i)); +<a name="420" href="#420">420</a> } +<a name="421" href="#421">421</a> stream.flush(); +<a name="422" href="#422">422</a> stream.reset(); +<a name="423" href="#423">423</a> } +<a name="424" href="#424">424</a> } +<a name="425" href="#425">425</a> +<a name="426" href="#426">426</a> <em class="jxr_javadoccomment">/**</em> +<a name="427" href="#427">427</a> <em class="jxr_javadoccomment"> Method that runs, monitoring the ServerSocket and adding connections as</em> +<a name="428" href="#428">428</a> <em class="jxr_javadoccomment"> they connect to the socket. */</em> +<a name="429" href="#429">429</a> <strong class="jxr_keyword">public</strong> +<a name="430" href="#430">430</a> <strong class="jxr_keyword">void</strong> run() { +<a name="431" href="#431">431</a> ServerSocket serverSocket = <strong class="jxr_keyword">null</strong>; +<a name="432" href="#432">432</a> <strong class="jxr_keyword">try</strong> { +<a name="433" href="#433">433</a> serverSocket = createServerSocket(port); +<a name="434" href="#434">434</a> serverSocket.setSoTimeout(1000); +<a name="435" href="#435">435</a> } +<a name="436" href="#436">436</a> <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="437" href="#437">437</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException || e instanceof InterruptedException) { +<a name="438" href="#438">438</a> Thread.currentThread().interrupt(); +<a name="439" href="#439">439</a> } +<a name="440" href="#440">440</a> LogLog.error(<span class="jxr_string">"exception setting timeout, shutting down server socket."</span>, e); +<a name="441" href="#441">441</a> keepRunning = false; +<a name="442" href="#442">442</a> <strong class="jxr_keyword">return</strong>; +<a name="443" href="#443">443</a> } +<a name="444" href="#444">444</a> +<a name="445" href="#445">445</a> <strong class="jxr_keyword">try</strong> { +<a name="446" href="#446">446</a> <strong class="jxr_keyword">try</strong> { +<a name="447" href="#447">447</a> serverSocket.setSoTimeout(1000); +<a name="448" href="#448">448</a> } +<a name="449" href="#449">449</a> <strong class="jxr_keyword">catch</strong> (SocketException e) { +<a name="450" href="#450">450</a> LogLog.error(<span class="jxr_string">"exception setting timeout, shutting down server socket."</span>, e); +<a name="451" href="#451">451</a> <strong class="jxr_keyword">return</strong>; +<a name="452" href="#452">452</a> } +<a name="453" href="#453">453</a> +<a name="454" href="#454">454</a> <strong class="jxr_keyword">while</strong> (keepRunning) { +<a name="455" href="#455">455</a> Socket socket = <strong class="jxr_keyword">null</strong>; +<a name="456" href="#456">456</a> <strong class="jxr_keyword">try</strong> { +<a name="457" href="#457">457</a> socket = serverSocket.accept(); +<a name="458" href="#458">458</a> } +<a name="459" href="#459">459</a> <strong class="jxr_keyword">catch</strong> (InterruptedIOException e) { +<a name="460" href="#460">460</a> <em class="jxr_comment">// timeout occurred, so just loop</em> +<a name="461" href="#461">461</a> } +<a name="462" href="#462">462</a> <strong class="jxr_keyword">catch</strong> (SocketException e) { +<a name="463" href="#463">463</a> LogLog.error(<span class="jxr_string">"exception accepting socket, shutting down server socket."</span>, e); +<a name="464" href="#464">464</a> keepRunning = false; +<a name="465" href="#465">465</a> } +<a name="466" href="#466">466</a> <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="467" href="#467">467</a> LogLog.error(<span class="jxr_string">"exception accepting socket."</span>, e); +<a name="468" href="#468">468</a> } +<a name="469" href="#469">469</a> +<a name="470" href="#470">470</a> <em class="jxr_comment">// if there was a socket accepted</em> +<a name="471" href="#471">471</a> <strong class="jxr_keyword">if</strong> (socket != <strong class="jxr_keyword">null</strong>) { +<a name="472" href="#472">472</a> <strong class="jxr_keyword">try</strong> { +<a name="473" href="#473">473</a> InetAddress remoteAddress = socket.getInetAddress(); +<a name="474" href="#474">474</a> LogLog.debug(<span class="jxr_string">"accepting connection from "</span> + remoteAddress.getHostName() +<a name="475" href="#475">475</a> + <span class="jxr_string">" ("</span> + remoteAddress.getHostAddress() + <span class="jxr_string">")"</span>); +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> <em class="jxr_comment">// create an ObjectOutputStream</em> +<a name="478" href="#478">478</a> ObjectOutputStream oos = <strong class="jxr_keyword">new</strong> ObjectOutputStream(socket.getOutputStream()); +<a name="479" href="#479">479</a> <strong class="jxr_keyword">if</strong> (buffer != <strong class="jxr_keyword">null</strong> &amp;&amp; buffer.length() &gt; 0) { +<a name="480" href="#480">480</a> sendCachedEvents(oos); +<a name="481" href="#481">481</a> } +<a name="482" href="#482">482</a> +<a name="483" href="#483">483</a> <em class="jxr_comment">// add it to the oosList. OK since Vector is synchronized.</em> +<a name="484" href="#484">484</a> oosList.addElement(oos); +<a name="485" href="#485">485</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="486" href="#486">486</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="487" href="#487">487</a> Thread.currentThread().interrupt(); +<a name="488" href="#488">488</a> } +<a name="489" href="#489">489</a> LogLog.error(<span class="jxr_string">"exception creating output stream on socket."</span>, e); +<a name="490" href="#490">490</a> } +<a name="491" href="#491">491</a> } +<a name="492" href="#492">492</a> } +<a name="493" href="#493">493</a> } +<a name="494" href="#494">494</a> <strong class="jxr_keyword">finally</strong> { +<a name="495" href="#495">495</a> <em class="jxr_comment">// close the socket</em> +<a name="496" href="#496">496</a> <strong class="jxr_keyword">try</strong> { +<a name="497" href="#497">497</a> serverSocket.close(); +<a name="498" href="#498">498</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException e) { +<a name="499" href="#499">499</a> Thread.currentThread().interrupt(); +<a name="500" href="#500">500</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a name="501" href="#501">501</a> <em class="jxr_comment">// do nothing with it?</em> +<a name="502" href="#502">502</a> } +<a name="503" href="#503">503</a> } +<a name="504" href="#504">504</a> } +<a name="505" href="#505">505</a> } +<a name="506" href="#506">506</a> } +<a name="507" href="#507">507</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketNode.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketNode.html new file mode 100644 index 00000000000..513d78f5331 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketNode.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SocketNode xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/SocketNode.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.BufferedInputStream; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_comment">// Contributors: Moses Hohman &lt;mmhohman@rainbow.uchicago.edu&gt;</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> Read {@link LoggingEvent} objects sent from a remote client using</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> Sockets (TCP). These logging events are logged according to local</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> policy, as if they were generated locally.</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, the socket node might decide to log events to a</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> local file and also resent them to a second socket node.</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> @since 0.8.4</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">*/</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketNode.html">SocketNode</a> implements Runnable { +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> Socket socket; +<a name="47" href="#47">47</a> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy; +<a name="48" href="#48">48</a> ObjectInputStream ois; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> logger = Logger.getLogger(SocketNode.<strong class="jxr_keyword">class</strong>); +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/SocketNode.html">SocketNode</a>(Socket socket, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> hierarchy) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">this</strong>.socket = socket; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">this</strong>.hierarchy = hierarchy; +<a name="55" href="#55">55</a> <strong class="jxr_keyword">try</strong> { +<a name="56" href="#56">56</a> ois = <strong class="jxr_keyword">new</strong> ObjectInputStream( +<a name="57" href="#57">57</a> <strong class="jxr_keyword">new</strong> BufferedInputStream(socket.getInputStream())); +<a name="58" href="#58">58</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException e) { +<a name="59" href="#59">59</a> Thread.currentThread().interrupt(); +<a name="60" href="#60">60</a> logger.error(<span class="jxr_string">"Could not open ObjectInputStream to "</span>+socket, e); +<a name="61" href="#61">61</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="62" href="#62">62</a> logger.error(<span class="jxr_string">"Could not open ObjectInputStream to "</span>+socket, e); +<a name="63" href="#63">63</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="64" href="#64">64</a> logger.error(<span class="jxr_string">"Could not open ObjectInputStream to "</span>+socket, e); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_comment">//public</em> +<a name="69" href="#69">69</a> <em class="jxr_comment">//void finalize() {</em> +<a name="70" href="#70">70</a> <em class="jxr_comment">//System.err.println("-------------------------Finalize called");</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">// System.err.flush();</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">//}</em> +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="75" href="#75">75</a> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event; +<a name="76" href="#76">76</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> remoteLogger; +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">try</strong> { +<a name="79" href="#79">79</a> <strong class="jxr_keyword">if</strong> (ois != <strong class="jxr_keyword">null</strong>) { +<a name="80" href="#80">80</a> <strong class="jxr_keyword">while</strong>(<strong class="jxr_keyword">true</strong>) { +<a name="81" href="#81">81</a> <em class="jxr_comment">// read an event from the wire</em> +<a name="82" href="#82">82</a> event = (LoggingEvent) ois.readObject(); +<a name="83" href="#83">83</a> <em class="jxr_comment">// get a logger from the hierarchy. The name of the logger is taken to be the name contained in the event.</em> +<a name="84" href="#84">84</a> remoteLogger = hierarchy.getLogger(event.getLoggerName()); +<a name="85" href="#85">85</a> <em class="jxr_comment">//event.logger = remoteLogger;</em> +<a name="86" href="#86">86</a> <em class="jxr_comment">// apply the logger-level filter</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">if</strong>(event.getLevel().isGreaterOrEqual(remoteLogger.getEffectiveLevel())) { +<a name="88" href="#88">88</a> <em class="jxr_comment">// finally log the event as if was generated locally</em> +<a name="89" href="#89">89</a> remoteLogger.callAppenders(event); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> } <strong class="jxr_keyword">catch</strong>(java.io.EOFException e) { +<a name="94" href="#94">94</a> logger.info(<span class="jxr_string">"Caught java.io.EOFException closing conneciton."</span>); +<a name="95" href="#95">95</a> } <strong class="jxr_keyword">catch</strong>(java.net.SocketException e) { +<a name="96" href="#96">96</a> logger.info(<span class="jxr_string">"Caught java.net.SocketException closing conneciton."</span>); +<a name="97" href="#97">97</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException e) { +<a name="98" href="#98">98</a> Thread.currentThread().interrupt(); +<a name="99" href="#99">99</a> logger.info(<span class="jxr_string">"Caught java.io.InterruptedIOException: "</span>+e); +<a name="100" href="#100">100</a> logger.info(<span class="jxr_string">"Closing connection."</span>); +<a name="101" href="#101">101</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="102" href="#102">102</a> logger.info(<span class="jxr_string">"Caught java.io.IOException: "</span>+e); +<a name="103" href="#103">103</a> logger.info(<span class="jxr_string">"Closing connection."</span>); +<a name="104" href="#104">104</a> } <strong class="jxr_keyword">catch</strong>(Exception e) { +<a name="105" href="#105">105</a> logger.error(<span class="jxr_string">"Unexpected exception. Closing conneciton."</span>, e); +<a name="106" href="#106">106</a> } <strong class="jxr_keyword">finally</strong> { +<a name="107" href="#107">107</a> <strong class="jxr_keyword">if</strong> (ois != <strong class="jxr_keyword">null</strong>) { +<a name="108" href="#108">108</a> <strong class="jxr_keyword">try</strong> { +<a name="109" href="#109">109</a> ois.close(); +<a name="110" href="#110">110</a> } <strong class="jxr_keyword">catch</strong>(Exception e) { +<a name="111" href="#111">111</a> logger.info(<span class="jxr_string">"Could not close connection."</span>, e); +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> <strong class="jxr_keyword">if</strong> (socket != <strong class="jxr_keyword">null</strong>) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">try</strong> { +<a name="116" href="#116">116</a> socket.close(); +<a name="117" href="#117">117</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException e) { +<a name="118" href="#118">118</a> Thread.currentThread().interrupt(); +<a name="119" href="#119">119</a> } <strong class="jxr_keyword">catch</strong>(IOException ex) { +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketServer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketServer.html new file mode 100644 index 00000000000..9634976acb4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SocketServer.html @@ -0,0 +1,226 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SocketServer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/SocketServer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.net.InetAddress; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.net.ServerSocket; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Hierarchy; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PropertyConfigurator; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.RootLogger; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> A {@link SocketNode} based server that uses a different hierarchy</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> for each client.</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> &lt;b&gt;Usage:&lt;/b&gt; java org.apache.log4j.net.SocketServer port configFile configDir</em> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> where &lt;b&gt;port&lt;/b&gt; is a part number where the server listens,</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> &lt;b&gt;configFile&lt;/b&gt; is a configuration file fed to the {@link PropertyConfigurator} and</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> &lt;b&gt;configDir&lt;/b&gt; is a path to a directory containing configuration files, possibly one for each client host.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;configFile&lt;/code&gt; is used to configure the log4j</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> default hierarchy that the &lt;code&gt;SocketServer&lt;/code&gt; will use to</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> report on its actions.</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> &lt;p&gt;When a new connection is opened from a previously unknown</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> host, say &lt;code&gt;foo.bar.net&lt;/code&gt;, then the</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> &lt;code&gt;SocketServer&lt;/code&gt; will search for a configuration file</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> called &lt;code&gt;foo.bar.net.lcf&lt;/code&gt; under the directory</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> &lt;code&gt;configDir&lt;/code&gt; that was passed as the third argument. If</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> the file can be found, then a new hierarchy is instantiated and</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> configured using the configuration file</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> &lt;code&gt;foo.bar.net.lcf&lt;/code&gt;. If and when the host</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> &lt;code&gt;foo.bar.net&lt;/code&gt; opens another connection to the server,</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> then the previously configured hierarchy is used.</em> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> &lt;p&gt;In case there is no file called &lt;code&gt;foo.bar.net.lcf&lt;/code&gt;</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> under the directory &lt;code&gt;configDir&lt;/code&gt;, then the</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> &lt;em&gt;generic&lt;/em&gt; hierarchy is used. The generic hierarchy is</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> configured using a configuration file called</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> &lt;code&gt;generic.lcf&lt;/code&gt; under the &lt;code&gt;configDir&lt;/code&gt;</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> directory. If no such file exists, then the generic hierarchy will be</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> identical to the log4j default hierarchy.</em> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> &lt;p&gt;Having different client hosts log using different hierarchies</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> ensures the total independence of the clients with respect to</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> their logging settings.</em> +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> &lt;p&gt;Currently, the hierarchy that will be used for a given request</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> depends on the IP address of the client host. For example, two</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> separate applicatons running on the same host and logging to the</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> same server will share the same hierarchy. This is perfectly safe</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> except that it might not provide the right amount of independence</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> between applications. The &lt;code&gt;SocketServer&lt;/code&gt; is intended</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> as an example to be enhanced in order to implement more elaborate</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> policies.</em> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> @since 1.0 */</em> +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SocketServer.html">SocketServer</a> { +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">static</strong> String GENERIC = <span class="jxr_string">"generic"</span>; +<a name="91" href="#91">91</a> <strong class="jxr_keyword">static</strong> String CONFIG_FILE_EXT = <span class="jxr_string">".lcf"</span>; +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> cat = Logger.getLogger(SocketServer.<strong class="jxr_keyword">class</strong>); +<a name="94" href="#94">94</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/net/SocketServer.html">SocketServer</a> server; +<a name="95" href="#95">95</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> port; +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em class="jxr_comment">// key=inetAddress, value=hierarchy</em> +<a name="98" href="#98">98</a> Hashtable hierarchyMap; +<a name="99" href="#99">99</a> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> genericHierarchy; +<a name="100" href="#100">100</a> File dir; +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">static</strong> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">void</strong> main(String argv[]) { +<a name="105" href="#105">105</a> <strong class="jxr_keyword">if</strong>(argv.length == 3) +<a name="106" href="#106">106</a> init(argv[0], argv[1], argv[2]); +<a name="107" href="#107">107</a> <strong class="jxr_keyword">else</strong> +<a name="108" href="#108">108</a> usage(<span class="jxr_string">"Wrong number of arguments."</span>); +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">try</strong> { +<a name="111" href="#111">111</a> cat.info(<span class="jxr_string">"Listening on port "</span> + port); +<a name="112" href="#112">112</a> ServerSocket serverSocket = <strong class="jxr_keyword">new</strong> ServerSocket(port); +<a name="113" href="#113">113</a> <strong class="jxr_keyword">while</strong>(<strong class="jxr_keyword">true</strong>) { +<a name="114" href="#114">114</a> cat.info(<span class="jxr_string">"Waiting to accept a new client."</span>); +<a name="115" href="#115">115</a> Socket socket = serverSocket.accept(); +<a name="116" href="#116">116</a> InetAddress inetAddress = socket.getInetAddress(); +<a name="117" href="#117">117</a> cat.info(<span class="jxr_string">"Connected to client at "</span> + inetAddress); +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> LoggerRepository h = (LoggerRepository) server.hierarchyMap.get(inetAddress); +<a name="120" href="#120">120</a> <strong class="jxr_keyword">if</strong>(h == <strong class="jxr_keyword">null</strong>) { +<a name="121" href="#121">121</a> h = server.configureHierarchy(inetAddress); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> cat.info(<span class="jxr_string">"Starting new socket node."</span>); +<a name="125" href="#125">125</a> <strong class="jxr_keyword">new</strong> Thread(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketNode.html">SocketNode</a>(socket, h)).start(); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> <strong class="jxr_keyword">catch</strong>(Exception e) { +<a name="129" href="#129">129</a> e.printStackTrace(); +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">static</strong> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">void</strong> usage(String msg) { +<a name="136" href="#136">136</a> System.err.println(msg); +<a name="137" href="#137">137</a> System.err.println( +<a name="138" href="#138">138</a> <span class="jxr_string">"Usage: java "</span> +SocketServer.<strong class="jxr_keyword">class</strong>.getName() + <span class="jxr_string">" port configFile directory"</span>); +<a name="139" href="#139">139</a> System.exit(1); +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">static</strong> +<a name="143" href="#143">143</a> <strong class="jxr_keyword">void</strong> init(String portStr, String configFile, String dirStr) { +<a name="144" href="#144">144</a> <strong class="jxr_keyword">try</strong> { +<a name="145" href="#145">145</a> port = Integer.parseInt(portStr); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> <strong class="jxr_keyword">catch</strong>(java.lang.NumberFormatException e) { +<a name="148" href="#148">148</a> e.printStackTrace(); +<a name="149" href="#149">149</a> usage(<span class="jxr_string">"Could not interpret port number ["</span>+ portStr +<span class="jxr_string">"]."</span>); +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> PropertyConfigurator.configure(configFile); +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> File dir = <strong class="jxr_keyword">new</strong> File(dirStr); +<a name="155" href="#155">155</a> <strong class="jxr_keyword">if</strong>(!dir.isDirectory()) { +<a name="156" href="#156">156</a> usage(<span class="jxr_string">"["</span>+dirStr+<span class="jxr_string">"] is not a directory."</span>); +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> server = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/SocketServer.html">SocketServer</a>(dir); +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <strong class="jxr_keyword">public</strong> +<a name="163" href="#163">163</a> <a href="../../../../org/apache/log4j/net/SocketServer.html">SocketServer</a>(File directory) { +<a name="164" href="#164">164</a> <strong class="jxr_keyword">this</strong>.dir = directory; +<a name="165" href="#165">165</a> hierarchyMap = <strong class="jxr_keyword">new</strong> Hashtable(11); +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <em class="jxr_comment">// This method assumes that there is no hiearchy for inetAddress</em> +<a name="169" href="#169">169</a> <em class="jxr_comment">// yet. It will configure one and return it.</em> +<a name="170" href="#170">170</a> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> configureHierarchy(InetAddress inetAddress) { +<a name="171" href="#171">171</a> cat.info(<span class="jxr_string">"Locating configuration file for "</span>+inetAddress); +<a name="172" href="#172">172</a> <em class="jxr_comment">// We assume that the toSting method of InetAddress returns is in</em> +<a name="173" href="#173">173</a> <em class="jxr_comment">// the format hostname/d1.d2.d3.d4 e.g. torino/192.168.1.1</em> +<a name="174" href="#174">174</a> String s = inetAddress.toString(); +<a name="175" href="#175">175</a> <strong class="jxr_keyword">int</strong> i = s.indexOf(<span class="jxr_string">"/"</span>); +<a name="176" href="#176">176</a> <strong class="jxr_keyword">if</strong>(i == -1) { +<a name="177" href="#177">177</a> cat.warn(<span class="jxr_string">"Could not parse the inetAddress ["</span>+inetAddress+ +<a name="178" href="#178">178</a> <span class="jxr_string">"]. Using default hierarchy."</span>); +<a name="179" href="#179">179</a> <strong class="jxr_keyword">return</strong> genericHierarchy(); +<a name="180" href="#180">180</a> } <strong class="jxr_keyword">else</strong> { +<a name="181" href="#181">181</a> String key = s.substring(0, i); +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> File configFile = <strong class="jxr_keyword">new</strong> File(dir, key+CONFIG_FILE_EXT); +<a name="184" href="#184">184</a> <strong class="jxr_keyword">if</strong>(configFile.exists()) { +<a name="185" href="#185">185</a> Hierarchy h = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/Hierarchy.html">Hierarchy</a>(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/RootLogger.html">RootLogger</a>(Level.DEBUG)); +<a name="186" href="#186">186</a> hierarchyMap.put(inetAddress, h); +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(configFile.getAbsolutePath(), h); +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong class="jxr_keyword">return</strong> h; +<a name="191" href="#191">191</a> } <strong class="jxr_keyword">else</strong> { +<a name="192" href="#192">192</a> cat.warn(<span class="jxr_string">"Could not find config file ["</span>+configFile+<span class="jxr_string">"]."</span>); +<a name="193" href="#193">193</a> <strong class="jxr_keyword">return</strong> genericHierarchy(); +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> } +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> genericHierarchy() { +<a name="199" href="#199">199</a> <strong class="jxr_keyword">if</strong>(genericHierarchy == <strong class="jxr_keyword">null</strong>) { +<a name="200" href="#200">200</a> File f = <strong class="jxr_keyword">new</strong> File(dir, GENERIC+CONFIG_FILE_EXT); +<a name="201" href="#201">201</a> <strong class="jxr_keyword">if</strong>(f.exists()) { +<a name="202" href="#202">202</a> genericHierarchy = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/Hierarchy.html">Hierarchy</a>(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/RootLogger.html">RootLogger</a>(Level.DEBUG)); +<a name="203" href="#203">203</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>().doConfigure(f.getAbsolutePath(), genericHierarchy); +<a name="204" href="#204">204</a> } <strong class="jxr_keyword">else</strong> { +<a name="205" href="#205">205</a> cat.warn(<span class="jxr_string">"Could not find config file ["</span>+f+ +<a name="206" href="#206">206</a> <span class="jxr_string">"]. Will use the default hierarchy."</span>); +<a name="207" href="#207">207</a> genericHierarchy = LogManager.getLoggerRepository(); +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> <strong class="jxr_keyword">return</strong> genericHierarchy; +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SyslogAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SyslogAppender.html new file mode 100644 index 00000000000..b138b126e35 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/SyslogAppender.html @@ -0,0 +1,550 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SyslogAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/SyslogAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.SyslogQuietWriter; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.SyslogWriter; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Locale; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.net.InetAddress; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> java.net.UnknownHostException; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_comment">// Contributors: Yves Bossel &lt;ybossel@opengets.cl&gt;</em> +<a name="34" href="#34">34</a> <em class="jxr_comment">// Christopher Taylor &lt;cstaylor@pacbell.net&gt;</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> Use SyslogAppender to send log messages to a remote syslog daemon.</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/SyslogAppender.html">SyslogAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> { +<a name="43" href="#43">43</a> <em class="jxr_comment">// The following constants are extracted from a syslog.h file</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// copyrighted by the Regents of the University of California</em> +<a name="45" href="#45">45</a> <em class="jxr_comment">// I hope nobody at Berkley gets offended.</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Kernel messages */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_KERN = 0; +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Random user-level messages */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_USER = 1&lt;&lt;3; +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Mail system */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_MAIL = 2&lt;&lt;3; +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> System daemons */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_DAEMON = 3&lt;&lt;3; +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> security/authorization messages */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_AUTH = 4&lt;&lt;3; +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> messages generated internally by syslogd */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_SYSLOG = 5&lt;&lt;3; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> line printer subsystem */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_LPR = 6&lt;&lt;3; +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> network news subsystem */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_NEWS = 7&lt;&lt;3; +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> UUCP subsystem */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_UUCP = 8&lt;&lt;3; +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> clock daemon */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_CRON = 9&lt;&lt;3; +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> security/authorization messages (private) */</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_AUTHPRIV = 10&lt;&lt;3; +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> ftp daemon */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_FTP = 11&lt;&lt;3; +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_comment">// other codes through 15 reserved for system use</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> reserved for local use */</em> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_LOCAL0 = 16&lt;&lt;3; +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> reserved for local use */</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_LOCAL1 = 17&lt;&lt;3; +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> reserved for local use */</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_LOCAL2 = 18&lt;&lt;3; +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> reserved for local use */</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_LOCAL3 = 19&lt;&lt;3; +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> reserved for local use */</em> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_LOCAL4 = 20&lt;&lt;3; +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> reserved for local use */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_LOCAL5 = 21&lt;&lt;3; +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> reserved for local use */</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_LOCAL6 = 22&lt;&lt;3; +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> reserved for local use*/</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> LOG_LOCAL7 = 23&lt;&lt;3; +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> SYSLOG_HOST_OI = 0; +<a name="92" href="#92">92</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FACILITY_OI = 1; +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAB = <span class="jxr_string">" "</span>; +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_comment">// Have LOG_USER as default</em> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">int</strong> syslogFacility = LOG_USER; +<a name="98" href="#98">98</a> String facilityStr; +<a name="99" href="#99">99</a> <strong class="jxr_keyword">boolean</strong> facilityPrinting = false; +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_comment">//SyslogTracerPrintWriter stp;</em> +<a name="102" href="#102">102</a> <a href="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html">SyslogQuietWriter</a> sqw; +<a name="103" href="#103">103</a> String syslogHost; +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * If true, the appender will generate the HEADER (timestamp and host name)</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * part of the syslog packet.</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> */</em> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> header = false; +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">/**</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> * Date format used if header = true.</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> */</em> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> SimpleDateFormat dateFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"MMM dd HH:mm:ss "</span>, Locale.ENGLISH); +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">/**</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> * Host name used to identify messages from this appender.</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> */</em> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">private</strong> String localHostname; +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">/**</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> * Set to true after the header of the layout has been sent or if it has none.</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> */</em> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> layoutHeaderChecked = false; +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">public</strong> +<a name="128" href="#128">128</a> <a href="../../../../org/apache/log4j/net/SyslogAppender.html">SyslogAppender</a>() { +<a name="129" href="#129">129</a> <strong class="jxr_keyword">this</strong>.initSyslogFacilityStr(); +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">public</strong> +<a name="133" href="#133">133</a> <a href="../../../../org/apache/log4j/net/SyslogAppender.html">SyslogAppender</a>(<a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout, <strong class="jxr_keyword">int</strong> syslogFacility) { +<a name="134" href="#134">134</a> <strong class="jxr_keyword">this</strong>.layout = layout; +<a name="135" href="#135">135</a> <strong class="jxr_keyword">this</strong>.syslogFacility = syslogFacility; +<a name="136" href="#136">136</a> <strong class="jxr_keyword">this</strong>.initSyslogFacilityStr(); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">public</strong> +<a name="140" href="#140">140</a> <a href="../../../../org/apache/log4j/net/SyslogAppender.html">SyslogAppender</a>(<a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout, String syslogHost, <strong class="jxr_keyword">int</strong> syslogFacility) { +<a name="141" href="#141">141</a> <strong class="jxr_keyword">this</strong>(layout, syslogFacility); +<a name="142" href="#142">142</a> setSyslogHost(syslogHost); +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">/**</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> Release any resources held by this SyslogAppender.</em> +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> @since 0.8.4</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> */</em> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">synchronized</strong> +<a name="151" href="#151">151</a> <strong class="jxr_keyword">public</strong> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">void</strong> close() { +<a name="153" href="#153">153</a> closed = <strong class="jxr_keyword">true</strong>; +<a name="154" href="#154">154</a> <strong class="jxr_keyword">if</strong> (sqw != <strong class="jxr_keyword">null</strong>) { +<a name="155" href="#155">155</a> <strong class="jxr_keyword">try</strong> { +<a name="156" href="#156">156</a> <strong class="jxr_keyword">if</strong> (layoutHeaderChecked &amp;&amp; layout != <strong class="jxr_keyword">null</strong> &amp;&amp; layout.getFooter() != <strong class="jxr_keyword">null</strong>) { +<a name="157" href="#157">157</a> sendLayoutMessage(layout.getFooter()); +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> sqw.close(); +<a name="160" href="#160">160</a> sqw = <strong class="jxr_keyword">null</strong>; +<a name="161" href="#161">161</a> } <strong class="jxr_keyword">catch</strong>(java.io.InterruptedIOException e) { +<a name="162" href="#162">162</a> Thread.currentThread().interrupt(); +<a name="163" href="#163">163</a> sqw = <strong class="jxr_keyword">null</strong>; +<a name="164" href="#164">164</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="165" href="#165">165</a> sqw = <strong class="jxr_keyword">null</strong>; +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">private</strong> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">void</strong> initSyslogFacilityStr() { +<a name="172" href="#172">172</a> facilityStr = getFacilityString(<strong class="jxr_keyword">this</strong>.syslogFacility); +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> <strong class="jxr_keyword">if</strong> (facilityStr == <strong class="jxr_keyword">null</strong>) { +<a name="175" href="#175">175</a> System.err.println(<span class="jxr_string">"\&quot;"</span> + syslogFacility + +<a name="176" href="#176">176</a> <span class="jxr_string">"\&quot; is an unknown syslog facility. Defaulting to \&quot;USER\&quot;."</span>); +<a name="177" href="#177">177</a> <strong class="jxr_keyword">this</strong>.syslogFacility = LOG_USER; +<a name="178" href="#178">178</a> facilityStr = <span class="jxr_string">"user:"</span>; +<a name="179" href="#179">179</a> } <strong class="jxr_keyword">else</strong> { +<a name="180" href="#180">180</a> facilityStr += <span class="jxr_string">":"</span>; +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">/**</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> Returns the specified syslog facility as a lower-case String,</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> e.g. "kern", "user", etc.</em> +<a name="187" href="#187">187</a> <em class="jxr_javadoccomment"> */</em> +<a name="188" href="#188">188</a> <strong class="jxr_keyword">public</strong> +<a name="189" href="#189">189</a> <strong class="jxr_keyword">static</strong> +<a name="190" href="#190">190</a> String getFacilityString(<strong class="jxr_keyword">int</strong> syslogFacility) { +<a name="191" href="#191">191</a> <strong class="jxr_keyword">switch</strong>(syslogFacility) { +<a name="192" href="#192">192</a> <strong class="jxr_keyword">case</strong> LOG_KERN: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"kern"</span>; +<a name="193" href="#193">193</a> <strong class="jxr_keyword">case</strong> LOG_USER: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"user"</span>; +<a name="194" href="#194">194</a> <strong class="jxr_keyword">case</strong> LOG_MAIL: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"mail"</span>; +<a name="195" href="#195">195</a> <strong class="jxr_keyword">case</strong> LOG_DAEMON: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"daemon"</span>; +<a name="196" href="#196">196</a> <strong class="jxr_keyword">case</strong> LOG_AUTH: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"auth"</span>; +<a name="197" href="#197">197</a> <strong class="jxr_keyword">case</strong> LOG_SYSLOG: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"syslog"</span>; +<a name="198" href="#198">198</a> <strong class="jxr_keyword">case</strong> LOG_LPR: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"lpr"</span>; +<a name="199" href="#199">199</a> <strong class="jxr_keyword">case</strong> LOG_NEWS: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"news"</span>; +<a name="200" href="#200">200</a> <strong class="jxr_keyword">case</strong> LOG_UUCP: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"uucp"</span>; +<a name="201" href="#201">201</a> <strong class="jxr_keyword">case</strong> LOG_CRON: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"cron"</span>; +<a name="202" href="#202">202</a> <strong class="jxr_keyword">case</strong> LOG_AUTHPRIV: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"authpriv"</span>; +<a name="203" href="#203">203</a> <strong class="jxr_keyword">case</strong> LOG_FTP: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"ftp"</span>; +<a name="204" href="#204">204</a> <strong class="jxr_keyword">case</strong> LOG_LOCAL0: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"local0"</span>; +<a name="205" href="#205">205</a> <strong class="jxr_keyword">case</strong> LOG_LOCAL1: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"local1"</span>; +<a name="206" href="#206">206</a> <strong class="jxr_keyword">case</strong> LOG_LOCAL2: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"local2"</span>; +<a name="207" href="#207">207</a> <strong class="jxr_keyword">case</strong> LOG_LOCAL3: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"local3"</span>; +<a name="208" href="#208">208</a> <strong class="jxr_keyword">case</strong> LOG_LOCAL4: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"local4"</span>; +<a name="209" href="#209">209</a> <strong class="jxr_keyword">case</strong> LOG_LOCAL5: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"local5"</span>; +<a name="210" href="#210">210</a> <strong class="jxr_keyword">case</strong> LOG_LOCAL6: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"local6"</span>; +<a name="211" href="#211">211</a> <strong class="jxr_keyword">case</strong> LOG_LOCAL7: <strong class="jxr_keyword">return</strong> <span class="jxr_string">"local7"</span>; +<a name="212" href="#212">212</a> <strong class="jxr_keyword">default</strong>: <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="213" href="#213">213</a> } +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">/**</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> Returns the integer value corresponding to the named syslog</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> facility, or -1 if it couldn't be recognized.</em> +<a name="219" href="#219">219</a> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> @param facilityName one of the strings KERN, USER, MAIL, DAEMON,</em> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> AUTH, SYSLOG, LPR, NEWS, UUCP, CRON, AUTHPRIV, FTP, LOCAL0,</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> The matching is case-insensitive.</em> +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> @since 1.1</em> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment"> */</em> +<a name="227" href="#227">227</a> <strong class="jxr_keyword">public</strong> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">static</strong> +<a name="229" href="#229">229</a> <strong class="jxr_keyword">int</strong> getFacility(String facilityName) { +<a name="230" href="#230">230</a> <strong class="jxr_keyword">if</strong>(facilityName != <strong class="jxr_keyword">null</strong>) { +<a name="231" href="#231">231</a> facilityName = facilityName.trim(); +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"KERN"</span>.equalsIgnoreCase(facilityName)) { +<a name="234" href="#234">234</a> <strong class="jxr_keyword">return</strong> LOG_KERN; +<a name="235" href="#235">235</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"USER"</span>.equalsIgnoreCase(facilityName)) { +<a name="236" href="#236">236</a> <strong class="jxr_keyword">return</strong> LOG_USER; +<a name="237" href="#237">237</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"MAIL"</span>.equalsIgnoreCase(facilityName)) { +<a name="238" href="#238">238</a> <strong class="jxr_keyword">return</strong> LOG_MAIL; +<a name="239" href="#239">239</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"DAEMON"</span>.equalsIgnoreCase(facilityName)) { +<a name="240" href="#240">240</a> <strong class="jxr_keyword">return</strong> LOG_DAEMON; +<a name="241" href="#241">241</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"AUTH"</span>.equalsIgnoreCase(facilityName)) { +<a name="242" href="#242">242</a> <strong class="jxr_keyword">return</strong> LOG_AUTH; +<a name="243" href="#243">243</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"SYSLOG"</span>.equalsIgnoreCase(facilityName)) { +<a name="244" href="#244">244</a> <strong class="jxr_keyword">return</strong> LOG_SYSLOG; +<a name="245" href="#245">245</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"LPR"</span>.equalsIgnoreCase(facilityName)) { +<a name="246" href="#246">246</a> <strong class="jxr_keyword">return</strong> LOG_LPR; +<a name="247" href="#247">247</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"NEWS"</span>.equalsIgnoreCase(facilityName)) { +<a name="248" href="#248">248</a> <strong class="jxr_keyword">return</strong> LOG_NEWS; +<a name="249" href="#249">249</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"UUCP"</span>.equalsIgnoreCase(facilityName)) { +<a name="250" href="#250">250</a> <strong class="jxr_keyword">return</strong> LOG_UUCP; +<a name="251" href="#251">251</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"CRON"</span>.equalsIgnoreCase(facilityName)) { +<a name="252" href="#252">252</a> <strong class="jxr_keyword">return</strong> LOG_CRON; +<a name="253" href="#253">253</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"AUTHPRIV"</span>.equalsIgnoreCase(facilityName)) { +<a name="254" href="#254">254</a> <strong class="jxr_keyword">return</strong> LOG_AUTHPRIV; +<a name="255" href="#255">255</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"FTP"</span>.equalsIgnoreCase(facilityName)) { +<a name="256" href="#256">256</a> <strong class="jxr_keyword">return</strong> LOG_FTP; +<a name="257" href="#257">257</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"LOCAL0"</span>.equalsIgnoreCase(facilityName)) { +<a name="258" href="#258">258</a> <strong class="jxr_keyword">return</strong> LOG_LOCAL0; +<a name="259" href="#259">259</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"LOCAL1"</span>.equalsIgnoreCase(facilityName)) { +<a name="260" href="#260">260</a> <strong class="jxr_keyword">return</strong> LOG_LOCAL1; +<a name="261" href="#261">261</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"LOCAL2"</span>.equalsIgnoreCase(facilityName)) { +<a name="262" href="#262">262</a> <strong class="jxr_keyword">return</strong> LOG_LOCAL2; +<a name="263" href="#263">263</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"LOCAL3"</span>.equalsIgnoreCase(facilityName)) { +<a name="264" href="#264">264</a> <strong class="jxr_keyword">return</strong> LOG_LOCAL3; +<a name="265" href="#265">265</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"LOCAL4"</span>.equalsIgnoreCase(facilityName)) { +<a name="266" href="#266">266</a> <strong class="jxr_keyword">return</strong> LOG_LOCAL4; +<a name="267" href="#267">267</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"LOCAL5"</span>.equalsIgnoreCase(facilityName)) { +<a name="268" href="#268">268</a> <strong class="jxr_keyword">return</strong> LOG_LOCAL5; +<a name="269" href="#269">269</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"LOCAL6"</span>.equalsIgnoreCase(facilityName)) { +<a name="270" href="#270">270</a> <strong class="jxr_keyword">return</strong> LOG_LOCAL6; +<a name="271" href="#271">271</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"LOCAL7"</span>.equalsIgnoreCase(facilityName)) { +<a name="272" href="#272">272</a> <strong class="jxr_keyword">return</strong> LOG_LOCAL7; +<a name="273" href="#273">273</a> } <strong class="jxr_keyword">else</strong> { +<a name="274" href="#274">274</a> <strong class="jxr_keyword">return</strong> -1; +<a name="275" href="#275">275</a> } +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> splitPacket(<strong class="jxr_keyword">final</strong> String header, <strong class="jxr_keyword">final</strong> String packet) { +<a name="280" href="#280">280</a> <strong class="jxr_keyword">int</strong> byteCount = packet.getBytes().length; +<a name="281" href="#281">281</a> <em class="jxr_comment">//</em> +<a name="282" href="#282">282</a> <em class="jxr_comment">// if packet is less than RFC 3164 limit</em> +<a name="283" href="#283">283</a> <em class="jxr_comment">// of 1024 bytes, then write it</em> +<a name="284" href="#284">284</a> <em class="jxr_comment">// (must allow for up 5to 5 characters in the PRI section</em> +<a name="285" href="#285">285</a> <em class="jxr_comment">// added by SyslogQuietWriter)</em> +<a name="286" href="#286">286</a> <strong class="jxr_keyword">if</strong> (byteCount &lt;= 1019) { +<a name="287" href="#287">287</a> sqw.write(packet); +<a name="288" href="#288">288</a> } <strong class="jxr_keyword">else</strong> { +<a name="289" href="#289">289</a> <strong class="jxr_keyword">int</strong> split = header.length() + (packet.length() - header.length())/2; +<a name="290" href="#290">290</a> splitPacket(header, packet.substring(0, split) + <span class="jxr_string">"..."</span>); +<a name="291" href="#291">291</a> splitPacket(header, header + <span class="jxr_string">"..."</span> + packet.substring(split)); +<a name="292" href="#292">292</a> } +<a name="293" href="#293">293</a> } +<a name="294" href="#294">294</a> +<a name="295" href="#295">295</a> <strong class="jxr_keyword">public</strong> +<a name="296" href="#296">296</a> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> <strong class="jxr_keyword">if</strong>(!isAsSevereAsThreshold(event.getLevel())) +<a name="299" href="#299">299</a> <strong class="jxr_keyword">return</strong>; +<a name="300" href="#300">300</a> +<a name="301" href="#301">301</a> <em class="jxr_comment">// We must not attempt to append if sqw is null.</em> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">if</strong>(sqw == <strong class="jxr_keyword">null</strong>) { +<a name="303" href="#303">303</a> errorHandler.error(<span class="jxr_string">"No syslog host is set for SyslogAppedender named \&quot;"</span>+ +<a name="304" href="#304">304</a> <strong class="jxr_keyword">this</strong>.name+<span class="jxr_string">"\&quot;."</span>); +<a name="305" href="#305">305</a> <strong class="jxr_keyword">return</strong>; +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <strong class="jxr_keyword">if</strong> (!layoutHeaderChecked) { +<a name="309" href="#309">309</a> <strong class="jxr_keyword">if</strong> (layout != <strong class="jxr_keyword">null</strong> &amp;&amp; layout.getHeader() != <strong class="jxr_keyword">null</strong>) { +<a name="310" href="#310">310</a> sendLayoutMessage(layout.getHeader()); +<a name="311" href="#311">311</a> } +<a name="312" href="#312">312</a> layoutHeaderChecked = <strong class="jxr_keyword">true</strong>; +<a name="313" href="#313">313</a> } +<a name="314" href="#314">314</a> +<a name="315" href="#315">315</a> String hdr = getPacketHeader(event.timeStamp); +<a name="316" href="#316">316</a> String packet; +<a name="317" href="#317">317</a> <strong class="jxr_keyword">if</strong> (layout == <strong class="jxr_keyword">null</strong>) { +<a name="318" href="#318">318</a> packet = String.valueOf(event.getMessage()); +<a name="319" href="#319">319</a> } <strong class="jxr_keyword">else</strong> { +<a name="320" href="#320">320</a> packet = layout.format(event); +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> <strong class="jxr_keyword">if</strong>(facilityPrinting || hdr.length() &gt; 0) { +<a name="323" href="#323">323</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(hdr); +<a name="324" href="#324">324</a> <strong class="jxr_keyword">if</strong>(facilityPrinting) { +<a name="325" href="#325">325</a> buf.append(facilityStr); +<a name="326" href="#326">326</a> } +<a name="327" href="#327">327</a> buf.append(packet); +<a name="328" href="#328">328</a> packet = buf.toString(); +<a name="329" href="#329">329</a> } +<a name="330" href="#330">330</a> +<a name="331" href="#331">331</a> sqw.setLevel(event.getLevel().getSyslogEquivalent()); +<a name="332" href="#332">332</a> <em class="jxr_comment">//</em> +<a name="333" href="#333">333</a> <em class="jxr_comment">// if message has a remote likelihood of exceeding 1024 bytes</em> +<a name="334" href="#334">334</a> <em class="jxr_comment">// when encoded, consider splitting message into multiple packets</em> +<a name="335" href="#335">335</a> <strong class="jxr_keyword">if</strong> (packet.length() &gt; 256) { +<a name="336" href="#336">336</a> splitPacket(hdr, packet); +<a name="337" href="#337">337</a> } <strong class="jxr_keyword">else</strong> { +<a name="338" href="#338">338</a> sqw.write(packet); +<a name="339" href="#339">339</a> } +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> <strong class="jxr_keyword">if</strong> (layout == <strong class="jxr_keyword">null</strong> || layout.ignoresThrowable()) { +<a name="342" href="#342">342</a> String[] s = event.getThrowableStrRep(); +<a name="343" href="#343">343</a> <strong class="jxr_keyword">if</strong> (s != <strong class="jxr_keyword">null</strong>) { +<a name="344" href="#344">344</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; s.length; i++) { +<a name="345" href="#345">345</a> <strong class="jxr_keyword">if</strong> (s[i].startsWith(<span class="jxr_string">"\t"</span>)) { +<a name="346" href="#346">346</a> sqw.write(hdr+TAB+s[i].substring(1)); +<a name="347" href="#347">347</a> } <strong class="jxr_keyword">else</strong> { +<a name="348" href="#348">348</a> sqw.write(hdr+s[i]); +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> } +<a name="351" href="#351">351</a> } +<a name="352" href="#352">352</a> } +<a name="353" href="#353">353</a> } +<a name="354" href="#354">354</a> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment">/**</em> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> This method returns immediately as options are activated when they</em> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> are set.</em> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment"> */</em> +<a name="359" href="#359">359</a> <strong class="jxr_keyword">public</strong> +<a name="360" href="#360">360</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="361" href="#361">361</a> <strong class="jxr_keyword">if</strong> (header) { +<a name="362" href="#362">362</a> getLocalHostname(); +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> <strong class="jxr_keyword">if</strong> (layout != <strong class="jxr_keyword">null</strong> &amp;&amp; layout.getHeader() != <strong class="jxr_keyword">null</strong>) { +<a name="365" href="#365">365</a> sendLayoutMessage(layout.getHeader()); +<a name="366" href="#366">366</a> } +<a name="367" href="#367">367</a> layoutHeaderChecked = <strong class="jxr_keyword">true</strong>; +<a name="368" href="#368">368</a> } +<a name="369" href="#369">369</a> +<a name="370" href="#370">370</a> <em class="jxr_javadoccomment">/**</em> +<a name="371" href="#371">371</a> <em class="jxr_javadoccomment"> The SyslogAppender requires a layout. Hence, this method returns</em> +<a name="372" href="#372">372</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt;.</em> +<a name="373" href="#373">373</a> +<a name="374" href="#374">374</a> <em class="jxr_javadoccomment"> @since 0.8.4 */</em> +<a name="375" href="#375">375</a> <strong class="jxr_keyword">public</strong> +<a name="376" href="#376">376</a> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="377" href="#377">377</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="378" href="#378">378</a> } +<a name="379" href="#379">379</a> +<a name="380" href="#380">380</a> <em class="jxr_javadoccomment">/**</em> +<a name="381" href="#381">381</a> <em class="jxr_javadoccomment"> The &lt;b&gt;SyslogHost&lt;/b&gt; option is the name of the the syslog host</em> +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment"> where log output should go. A non-default port can be specified by</em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> appending a colon and port number to a host name,</em> +<a name="384" href="#384">384</a> <em class="jxr_javadoccomment"> an IPv4 address or an IPv6 address enclosed in square brackets.</em> +<a name="385" href="#385">385</a> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> &lt;b&gt;WARNING&lt;/b&gt; If the SyslogHost is not set, then this appender</em> +<a name="387" href="#387">387</a> <em class="jxr_javadoccomment"> will fail.</em> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment"> */</em> +<a name="389" href="#389">389</a> <strong class="jxr_keyword">public</strong> +<a name="390" href="#390">390</a> <strong class="jxr_keyword">void</strong> setSyslogHost(<strong class="jxr_keyword">final</strong> String syslogHost) { +<a name="391" href="#391">391</a> <strong class="jxr_keyword">this</strong>.sqw = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/SyslogQuietWriter.html">SyslogQuietWriter</a>(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/SyslogWriter.html">SyslogWriter</a>(syslogHost), +<a name="392" href="#392">392</a> syslogFacility, errorHandler); +<a name="393" href="#393">393</a> <em class="jxr_comment">//this.stp = new SyslogTracerPrintWriter(sqw);</em> +<a name="394" href="#394">394</a> <strong class="jxr_keyword">this</strong>.syslogHost = syslogHost; +<a name="395" href="#395">395</a> } +<a name="396" href="#396">396</a> +<a name="397" href="#397">397</a> <em class="jxr_javadoccomment">/**</em> +<a name="398" href="#398">398</a> <em class="jxr_javadoccomment"> Returns the value of the &lt;b&gt;SyslogHost&lt;/b&gt; option.</em> +<a name="399" href="#399">399</a> <em class="jxr_javadoccomment"> */</em> +<a name="400" href="#400">400</a> <strong class="jxr_keyword">public</strong> +<a name="401" href="#401">401</a> String getSyslogHost() { +<a name="402" href="#402">402</a> <strong class="jxr_keyword">return</strong> syslogHost; +<a name="403" href="#403">403</a> } +<a name="404" href="#404">404</a> +<a name="405" href="#405">405</a> <em class="jxr_javadoccomment">/**</em> +<a name="406" href="#406">406</a> <em class="jxr_javadoccomment"> Set the syslog facility. This is the &lt;b&gt;Facility&lt;/b&gt; option.</em> +<a name="407" href="#407">407</a> +<a name="408" href="#408">408</a> <em class="jxr_javadoccomment"> &lt;p&gt;The &lt;code&gt;facilityName&lt;/code&gt; parameter must be one of the</em> +<a name="409" href="#409">409</a> <em class="jxr_javadoccomment"> strings KERN, USER, MAIL, DAEMON, AUTH, SYSLOG, LPR, NEWS, UUCP,</em> +<a name="410" href="#410">410</a> <em class="jxr_javadoccomment"> CRON, AUTHPRIV, FTP, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4,</em> +<a name="411" href="#411">411</a> <em class="jxr_javadoccomment"> LOCAL5, LOCAL6, LOCAL7. Case is unimportant.</em> +<a name="412" href="#412">412</a> +<a name="413" href="#413">413</a> <em class="jxr_javadoccomment"> @since 0.8.1 */</em> +<a name="414" href="#414">414</a> <strong class="jxr_keyword">public</strong> +<a name="415" href="#415">415</a> <strong class="jxr_keyword">void</strong> setFacility(String facilityName) { +<a name="416" href="#416">416</a> <strong class="jxr_keyword">if</strong>(facilityName == <strong class="jxr_keyword">null</strong>) +<a name="417" href="#417">417</a> <strong class="jxr_keyword">return</strong>; +<a name="418" href="#418">418</a> +<a name="419" href="#419">419</a> syslogFacility = getFacility(facilityName); +<a name="420" href="#420">420</a> <strong class="jxr_keyword">if</strong> (syslogFacility == -1) { +<a name="421" href="#421">421</a> System.err.println(<span class="jxr_string">"["</span>+facilityName + +<a name="422" href="#422">422</a> <span class="jxr_string">"] is an unknown syslog facility. Defaulting to [USER]."</span>); +<a name="423" href="#423">423</a> syslogFacility = LOG_USER; +<a name="424" href="#424">424</a> } +<a name="425" href="#425">425</a> +<a name="426" href="#426">426</a> <strong class="jxr_keyword">this</strong>.initSyslogFacilityStr(); +<a name="427" href="#427">427</a> +<a name="428" href="#428">428</a> <em class="jxr_comment">// If there is already a sqw, make it use the new facility.</em> +<a name="429" href="#429">429</a> <strong class="jxr_keyword">if</strong>(sqw != <strong class="jxr_keyword">null</strong>) { +<a name="430" href="#430">430</a> sqw.setSyslogFacility(<strong class="jxr_keyword">this</strong>.syslogFacility); +<a name="431" href="#431">431</a> } +<a name="432" href="#432">432</a> } +<a name="433" href="#433">433</a> +<a name="434" href="#434">434</a> <em class="jxr_javadoccomment">/**</em> +<a name="435" href="#435">435</a> <em class="jxr_javadoccomment"> Returns the value of the &lt;b&gt;Facility&lt;/b&gt; option.</em> +<a name="436" href="#436">436</a> <em class="jxr_javadoccomment"> */</em> +<a name="437" href="#437">437</a> <strong class="jxr_keyword">public</strong> +<a name="438" href="#438">438</a> String getFacility() { +<a name="439" href="#439">439</a> <strong class="jxr_keyword">return</strong> getFacilityString(syslogFacility); +<a name="440" href="#440">440</a> } +<a name="441" href="#441">441</a> +<a name="442" href="#442">442</a> <em class="jxr_javadoccomment">/**</em> +<a name="443" href="#443">443</a> <em class="jxr_javadoccomment"> If the &lt;b&gt;FacilityPrinting&lt;/b&gt; option is set to true, the printed</em> +<a name="444" href="#444">444</a> <em class="jxr_javadoccomment"> message will include the facility name of the application. It is</em> +<a name="445" href="#445">445</a> <em class="jxr_javadoccomment"> &lt;em&gt;false&lt;/em&gt; by default.</em> +<a name="446" href="#446">446</a> <em class="jxr_javadoccomment"> */</em> +<a name="447" href="#447">447</a> <strong class="jxr_keyword">public</strong> +<a name="448" href="#448">448</a> <strong class="jxr_keyword">void</strong> setFacilityPrinting(<strong class="jxr_keyword">boolean</strong> on) { +<a name="449" href="#449">449</a> facilityPrinting = on; +<a name="450" href="#450">450</a> } +<a name="451" href="#451">451</a> +<a name="452" href="#452">452</a> <em class="jxr_javadoccomment">/**</em> +<a name="453" href="#453">453</a> <em class="jxr_javadoccomment"> Returns the value of the &lt;b&gt;FacilityPrinting&lt;/b&gt; option.</em> +<a name="454" href="#454">454</a> <em class="jxr_javadoccomment"> */</em> +<a name="455" href="#455">455</a> <strong class="jxr_keyword">public</strong> +<a name="456" href="#456">456</a> <strong class="jxr_keyword">boolean</strong> getFacilityPrinting() { +<a name="457" href="#457">457</a> <strong class="jxr_keyword">return</strong> facilityPrinting; +<a name="458" href="#458">458</a> } +<a name="459" href="#459">459</a> +<a name="460" href="#460">460</a> <em class="jxr_javadoccomment">/**</em> +<a name="461" href="#461">461</a> <em class="jxr_javadoccomment"> * If true, the appender will generate the HEADER part (that is, timestamp and host name)</em> +<a name="462" href="#462">462</a> <em class="jxr_javadoccomment"> * of the syslog packet. Default value is false for compatibility with existing behavior,</em> +<a name="463" href="#463">463</a> <em class="jxr_javadoccomment"> * however should be true unless there is a specific justification.</em> +<a name="464" href="#464">464</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="465" href="#465">465</a> <em class="jxr_javadoccomment"> */</em> +<a name="466" href="#466">466</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> getHeader() { +<a name="467" href="#467">467</a> <strong class="jxr_keyword">return</strong> header; +<a name="468" href="#468">468</a> } +<a name="469" href="#469">469</a> +<a name="470" href="#470">470</a> <em class="jxr_javadoccomment">/**</em> +<a name="471" href="#471">471</a> <em class="jxr_javadoccomment"> * Returns whether the appender produces the HEADER part (that is, timestamp and host name)</em> +<a name="472" href="#472">472</a> <em class="jxr_javadoccomment"> * of the syslog packet.</em> +<a name="473" href="#473">473</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="474" href="#474">474</a> <em class="jxr_javadoccomment"> */</em> +<a name="475" href="#475">475</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setHeader(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> val) { +<a name="476" href="#476">476</a> header = val; +<a name="477" href="#477">477</a> } +<a name="478" href="#478">478</a> +<a name="479" href="#479">479</a> <em class="jxr_javadoccomment">/**</em> +<a name="480" href="#480">480</a> <em class="jxr_javadoccomment"> * Get the host name used to identify this appender.</em> +<a name="481" href="#481">481</a> <em class="jxr_javadoccomment"> * @return local host name</em> +<a name="482" href="#482">482</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="483" href="#483">483</a> <em class="jxr_javadoccomment"> */</em> +<a name="484" href="#484">484</a> <strong class="jxr_keyword">private</strong> String getLocalHostname() { +<a name="485" href="#485">485</a> <strong class="jxr_keyword">if</strong> (localHostname == <strong class="jxr_keyword">null</strong>) { +<a name="486" href="#486">486</a> <strong class="jxr_keyword">try</strong> { +<a name="487" href="#487">487</a> InetAddress addr = InetAddress.getLocalHost(); +<a name="488" href="#488">488</a> localHostname = addr.getHostName(); +<a name="489" href="#489">489</a> } <strong class="jxr_keyword">catch</strong> (UnknownHostException uhe) { +<a name="490" href="#490">490</a> localHostname = <span class="jxr_string">"UNKNOWN_HOST"</span>; +<a name="491" href="#491">491</a> } +<a name="492" href="#492">492</a> } +<a name="493" href="#493">493</a> <strong class="jxr_keyword">return</strong> localHostname; +<a name="494" href="#494">494</a> } +<a name="495" href="#495">495</a> +<a name="496" href="#496">496</a> <em class="jxr_javadoccomment">/**</em> +<a name="497" href="#497">497</a> <em class="jxr_javadoccomment"> * Gets HEADER portion of packet.</em> +<a name="498" href="#498">498</a> <em class="jxr_javadoccomment"> * @param timeStamp number of milliseconds after the standard base time.</em> +<a name="499" href="#499">499</a> <em class="jxr_javadoccomment"> * @return HEADER portion of packet, will be zero-length string if header is false.</em> +<a name="500" href="#500">500</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="501" href="#501">501</a> <em class="jxr_javadoccomment"> */</em> +<a name="502" href="#502">502</a> <strong class="jxr_keyword">private</strong> String getPacketHeader(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> timeStamp) { +<a name="503" href="#503">503</a> <strong class="jxr_keyword">if</strong> (header) { +<a name="504" href="#504">504</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(dateFormat.format(<strong class="jxr_keyword">new</strong> Date(timeStamp))); +<a name="505" href="#505">505</a> <em class="jxr_comment">// RFC 3164 says leading space, not leading zero on days 1-9</em> +<a name="506" href="#506">506</a> <strong class="jxr_keyword">if</strong> (buf.charAt(4) == '0') { +<a name="507" href="#507">507</a> buf.setCharAt(4, ' '); +<a name="508" href="#508">508</a> } +<a name="509" href="#509">509</a> buf.append(getLocalHostname()); +<a name="510" href="#510">510</a> buf.append(' '); +<a name="511" href="#511">511</a> <strong class="jxr_keyword">return</strong> buf.toString(); +<a name="512" href="#512">512</a> } +<a name="513" href="#513">513</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>; +<a name="514" href="#514">514</a> } +<a name="515" href="#515">515</a> +<a name="516" href="#516">516</a> <em class="jxr_javadoccomment">/**</em> +<a name="517" href="#517">517</a> <em class="jxr_javadoccomment"> * Set header or footer of layout.</em> +<a name="518" href="#518">518</a> <em class="jxr_javadoccomment"> * @param msg message body, may not be null.</em> +<a name="519" href="#519">519</a> <em class="jxr_javadoccomment"> */</em> +<a name="520" href="#520">520</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> sendLayoutMessage(<strong class="jxr_keyword">final</strong> String msg) { +<a name="521" href="#521">521</a> <strong class="jxr_keyword">if</strong> (sqw != <strong class="jxr_keyword">null</strong>) { +<a name="522" href="#522">522</a> String packet = msg; +<a name="523" href="#523">523</a> String hdr = getPacketHeader(<strong class="jxr_keyword">new</strong> Date().getTime()); +<a name="524" href="#524">524</a> <strong class="jxr_keyword">if</strong>(facilityPrinting || hdr.length() &gt; 0) { +<a name="525" href="#525">525</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(hdr); +<a name="526" href="#526">526</a> <strong class="jxr_keyword">if</strong>(facilityPrinting) { +<a name="527" href="#527">527</a> buf.append(facilityStr); +<a name="528" href="#528">528</a> } +<a name="529" href="#529">529</a> buf.append(msg); +<a name="530" href="#530">530</a> packet = buf.toString(); +<a name="531" href="#531">531</a> } +<a name="532" href="#532">532</a> sqw.setLevel(6); +<a name="533" href="#533">533</a> sqw.write(packet); +<a name="534" href="#534">534</a> } +<a name="535" href="#535">535</a> } +<a name="536" href="#536">536</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/TelnetAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/TelnetAppender.html new file mode 100644 index 00000000000..7716efda945 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/TelnetAppender.html @@ -0,0 +1,250 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TelnetAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/TelnetAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.PrintWriter; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.net.ServerSocket; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> &lt;p&gt;The TelnetAppender is a log4j appender that specializes in</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> writing to a read-only socket. The output is provided in a</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> telnet-friendly way so that a log can be monitored over TCP/IP.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> Clients using telnet connect to the socket and receive log data.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> This is handy for remote monitoring, especially when monitoring a</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> servlet.</em> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> &lt;p&gt;Here is a list of the available configuration options:</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> &lt;table border=1&gt;</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> &lt;th&gt;Name&lt;/th&gt;</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> &lt;th&gt;Requirement&lt;/th&gt;</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> &lt;th&gt;Description&lt;/th&gt;</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> &lt;th&gt;Sample Value&lt;/th&gt;</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> &lt;/tr&gt;</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> &lt;tr&gt;</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> &lt;td&gt;Port&lt;/td&gt;</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> &lt;td&gt;optional&lt;/td&gt;</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> &lt;td&gt;This parameter determines the port to use for announcing log events. The default port is 23 (telnet).&lt;/td&gt;</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> &lt;td&gt;5875&lt;/td&gt;</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> &lt;/table&gt;</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> @author &lt;a HREF="<a href="mailto:jay@v-wave.com" target="alexandria_uri">mailto:jay@v-wave.com</a>"&gt;Jay Funnell&lt;/a&gt;</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">*/</em> +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/TelnetAppender.html">TelnetAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> { +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/net/TelnetAppender.html">SocketHandler</a> sh; +<a name="64" href="#64">64</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> port = 23; +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> This appender requires a layout to format the text to the</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> attached client(s). */</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="70" href="#70">70</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> all of the options have been set, create the socket handler and</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> wait for connections. */</em> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="76" href="#76">76</a> <strong class="jxr_keyword">try</strong> { +<a name="77" href="#77">77</a> sh = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/net/TelnetAppender.html">SocketHandler</a>(port); +<a name="78" href="#78">78</a> sh.start(); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> <strong class="jxr_keyword">catch</strong>(InterruptedIOException e) { +<a name="81" href="#81">81</a> Thread.currentThread().interrupt(); +<a name="82" href="#82">82</a> e.printStackTrace(); +<a name="83" href="#83">83</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="84" href="#84">84</a> e.printStackTrace(); +<a name="85" href="#85">85</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="86" href="#86">86</a> e.printStackTrace(); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> <strong class="jxr_keyword">super</strong>.activateOptions(); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">int</strong> getPort() { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">return</strong> port; +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> +<a name="97" href="#97">97</a> <strong class="jxr_keyword">void</strong> setPort(<strong class="jxr_keyword">int</strong> port) { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">this</strong>.port = port; +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> shuts down the appender. */</em> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="104" href="#104">104</a> <strong class="jxr_keyword">if</strong> (sh != <strong class="jxr_keyword">null</strong>) { +<a name="105" href="#105">105</a> sh.close(); +<a name="106" href="#106">106</a> <strong class="jxr_keyword">try</strong> { +<a name="107" href="#107">107</a> sh.join(); +<a name="108" href="#108">108</a> } <strong class="jxr_keyword">catch</strong>(InterruptedException ex) { +<a name="109" href="#109">109</a> Thread.currentThread().interrupt(); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Handles a log event. For this appender, that means writing the</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> message to each connected client. */</em> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="117" href="#117">117</a> <strong class="jxr_keyword">if</strong>(sh != <strong class="jxr_keyword">null</strong>) { +<a name="118" href="#118">118</a> sh.send(layout.format(event)); +<a name="119" href="#119">119</a> <strong class="jxr_keyword">if</strong>(layout.ignoresThrowable()) { +<a name="120" href="#120">120</a> String[] s = event.getThrowableStrRep(); +<a name="121" href="#121">121</a> <strong class="jxr_keyword">if</strong> (s != <strong class="jxr_keyword">null</strong>) { +<a name="122" href="#122">122</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="123" href="#123">123</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; s.length; i++) { +<a name="124" href="#124">124</a> buf.append(s[i]); +<a name="125" href="#125">125</a> buf.append(<span class="jxr_string">"\r\n"</span>); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> sh.send(buf.toString()); +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_comment">//---------------------------------------------------------- SocketHandler:</em> +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The SocketHandler class is used to accept connections from</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> clients. It is threaded so that clients can connect/disconnect</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> asynchronously. */</em> +<a name="138" href="#138">138</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/TelnetAppender.html">SocketHandler</a> <strong class="jxr_keyword">extends</strong> Thread { +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">private</strong> Vector writers = <strong class="jxr_keyword">new</strong> Vector(); +<a name="141" href="#141">141</a> <strong class="jxr_keyword">private</strong> Vector connections = <strong class="jxr_keyword">new</strong> Vector(); +<a name="142" href="#142">142</a> <strong class="jxr_keyword">private</strong> ServerSocket serverSocket; +<a name="143" href="#143">143</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> MAX_CONNECTIONS = 20; +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> finalize() { +<a name="146" href="#146">146</a> close(); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> * make sure we close all network connections when this handler is destroyed.</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> * @since 1.2.15 </em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> */</em> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="154" href="#154">154</a> <strong class="jxr_keyword">synchronized</strong>(<strong class="jxr_keyword">this</strong>) { +<a name="155" href="#155">155</a> <strong class="jxr_keyword">for</strong>(Enumeration e = connections.elements();e.hasMoreElements();) { +<a name="156" href="#156">156</a> <strong class="jxr_keyword">try</strong> { +<a name="157" href="#157">157</a> ((Socket)e.nextElement()).close(); +<a name="158" href="#158">158</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException ex) { +<a name="159" href="#159">159</a> Thread.currentThread().interrupt(); +<a name="160" href="#160">160</a> } <strong class="jxr_keyword">catch</strong>(IOException ex) { +<a name="161" href="#161">161</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException ex) { +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <strong class="jxr_keyword">try</strong> { +<a name="167" href="#167">167</a> serverSocket.close(); +<a name="168" href="#168">168</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException ex) { +<a name="169" href="#169">169</a> Thread.currentThread().interrupt(); +<a name="170" href="#170">170</a> } <strong class="jxr_keyword">catch</strong>(IOException ex) { +<a name="171" href="#171">171</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException ex) { +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> sends a message to each of the clients in telnet-friendly output. */</em> +<a name="176" href="#176">176</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> send(<strong class="jxr_keyword">final</strong> String message) { +<a name="177" href="#177">177</a> Iterator ce = connections.iterator(); +<a name="178" href="#178">178</a> <strong class="jxr_keyword">for</strong>(Iterator e = writers.iterator();e.hasNext();) { +<a name="179" href="#179">179</a> ce.next(); +<a name="180" href="#180">180</a> PrintWriter writer = (PrintWriter)e.next(); +<a name="181" href="#181">181</a> writer.print(message); +<a name="182" href="#182">182</a> <strong class="jxr_keyword">if</strong>(writer.checkError()) { +<a name="183" href="#183">183</a> ce.remove(); +<a name="184" href="#184">184</a> e.remove(); +<a name="185" href="#185">185</a> } +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment"> Continually accepts client connections. Client connections</em> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment"> are refused when MAX_CONNECTIONS is reached. </em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> */</em> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="194" href="#194">194</a> <strong class="jxr_keyword">while</strong>(!serverSocket.isClosed()) { +<a name="195" href="#195">195</a> <strong class="jxr_keyword">try</strong> { +<a name="196" href="#196">196</a> Socket newClient = serverSocket.accept(); +<a name="197" href="#197">197</a> PrintWriter pw = <strong class="jxr_keyword">new</strong> PrintWriter(newClient.getOutputStream()); +<a name="198" href="#198">198</a> <strong class="jxr_keyword">if</strong>(connections.size() &lt; MAX_CONNECTIONS) { +<a name="199" href="#199">199</a> <strong class="jxr_keyword">synchronized</strong>(<strong class="jxr_keyword">this</strong>) { +<a name="200" href="#200">200</a> connections.addElement(newClient); +<a name="201" href="#201">201</a> writers.addElement(pw); +<a name="202" href="#202">202</a> pw.print(<span class="jxr_string">"TelnetAppender v1.0 ("</span> + connections.size() +<a name="203" href="#203">203</a> + <span class="jxr_string">" active connections)\r\n\r\n"</span>); +<a name="204" href="#204">204</a> pw.flush(); +<a name="205" href="#205">205</a> } +<a name="206" href="#206">206</a> } <strong class="jxr_keyword">else</strong> { +<a name="207" href="#207">207</a> pw.print(<span class="jxr_string">"Too many connections.\r\n"</span>); +<a name="208" href="#208">208</a> pw.flush(); +<a name="209" href="#209">209</a> newClient.close(); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> } <strong class="jxr_keyword">catch</strong>(Exception e) { +<a name="212" href="#212">212</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException || e instanceof InterruptedException) { +<a name="213" href="#213">213</a> Thread.currentThread().interrupt(); +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> <strong class="jxr_keyword">if</strong> (!serverSocket.isClosed()) { +<a name="216" href="#216">216</a> LogLog.error(<span class="jxr_string">"Encountered error while in SocketHandler loop."</span>, e); +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> <strong class="jxr_keyword">break</strong>; +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <strong class="jxr_keyword">try</strong> { +<a name="223" href="#223">223</a> serverSocket.close(); +<a name="224" href="#224">224</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException ex) { +<a name="225" href="#225">225</a> Thread.currentThread().interrupt(); +<a name="226" href="#226">226</a> } <strong class="jxr_keyword">catch</strong>(IOException ex) { +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/TelnetAppender.html">SocketHandler</a>(<strong class="jxr_keyword">int</strong> port) <strong class="jxr_keyword">throws</strong> IOException { +<a name="231" href="#231">231</a> serverSocket = <strong class="jxr_keyword">new</strong> ServerSocket(port); +<a name="232" href="#232">232</a> setName(<span class="jxr_string">"TelnetAppender-"</span> + getName() + <span class="jxr_string">"-"</span> + port); +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> } +<a name="236" href="#236">236</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/ZeroConfSupport.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/ZeroConfSupport.html new file mode 100644 index 00000000000..3a6c1b9201b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/ZeroConfSupport.html @@ -0,0 +1,220 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ZeroConfSupport xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/net/ZeroConfSupport.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.net; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Constructor; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.HashMap; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a> { +<a name="29" href="#29">29</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Object jmDNS = initializeJMDNS(); +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> Object serviceInfo; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Class jmDNSClass; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Class serviceInfoClass; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a>(String zone, <strong class="jxr_keyword">int</strong> port, String name, Map properties) { +<a name="36" href="#36">36</a> <em class="jxr_comment">//if version 3 is available, use it to constuct a serviceInfo instance, otherwise support the version1 API</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">boolean</strong> isVersion3 = false; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">try</strong> { +<a name="39" href="#39">39</a> <em class="jxr_comment">//create method is in version 3, not version 1</em> +<a name="40" href="#40">40</a> jmDNSClass.getMethod(<span class="jxr_string">"create"</span>, <strong class="jxr_keyword">null</strong>); +<a name="41" href="#41">41</a> isVersion3 = <strong class="jxr_keyword">true</strong>; +<a name="42" href="#42">42</a> } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) { +<a name="43" href="#43">43</a> <em class="jxr_comment">//no-op</em> +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">if</strong> (isVersion3) { +<a name="47" href="#47">47</a> LogLog.debug(<span class="jxr_string">"using JmDNS version 3 to construct serviceInfo instance"</span>); +<a name="48" href="#48">48</a> serviceInfo = buildServiceInfoVersion3(zone, port, name, properties); +<a name="49" href="#49">49</a> } <strong class="jxr_keyword">else</strong> { +<a name="50" href="#50">50</a> LogLog.debug(<span class="jxr_string">"using JmDNS version 1.0 to construct serviceInfo instance"</span>); +<a name="51" href="#51">51</a> serviceInfo = buildServiceInfoVersion1(zone, port, name, properties); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/net/ZeroConfSupport.html">ZeroConfSupport</a>(String zone, <strong class="jxr_keyword">int</strong> port, String name) { +<a name="56" href="#56">56</a> <strong class="jxr_keyword">this</strong>(zone, port, name, <strong class="jxr_keyword">new</strong> HashMap()); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Object createJmDNSVersion1() +<a name="60" href="#60">60</a> { +<a name="61" href="#61">61</a> <strong class="jxr_keyword">try</strong> { +<a name="62" href="#62">62</a> <strong class="jxr_keyword">return</strong> jmDNSClass.newInstance(); +<a name="63" href="#63">63</a> } <strong class="jxr_keyword">catch</strong> (InstantiationException e) { +<a name="64" href="#64">64</a> LogLog.warn(<span class="jxr_string">"Unable to instantiate JMDNS"</span>, e); +<a name="65" href="#65">65</a> } <strong class="jxr_keyword">catch</strong> (IllegalAccessException e) { +<a name="66" href="#66">66</a> LogLog.warn(<span class="jxr_string">"Unable to instantiate JMDNS"</span>, e); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Object createJmDNSVersion3() +<a name="72" href="#72">72</a> { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">try</strong> { +<a name="74" href="#74">74</a> Method jmDNSCreateMethod = jmDNSClass.getMethod(<span class="jxr_string">"create"</span>, <strong class="jxr_keyword">null</strong>); +<a name="75" href="#75">75</a> <strong class="jxr_keyword">return</strong> jmDNSCreateMethod.invoke(<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="76" href="#76">76</a> } <strong class="jxr_keyword">catch</strong> (IllegalAccessException e) { +<a name="77" href="#77">77</a> LogLog.warn(<span class="jxr_string">"Unable to instantiate jmdns class"</span>, e); +<a name="78" href="#78">78</a> } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) { +<a name="79" href="#79">79</a> LogLog.warn(<span class="jxr_string">"Unable to access constructor"</span>, e); +<a name="80" href="#80">80</a> } <strong class="jxr_keyword">catch</strong> (InvocationTargetException e) { +<a name="81" href="#81">81</a> LogLog.warn(<span class="jxr_string">"Unable to call constructor"</span>, e); +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">private</strong> Object buildServiceInfoVersion1(String zone, <strong class="jxr_keyword">int</strong> port, String name, Map properties) { +<a name="87" href="#87">87</a> <em class="jxr_comment">//version 1 uses a hashtable</em> +<a name="88" href="#88">88</a> Hashtable hashtableProperties = <strong class="jxr_keyword">new</strong> Hashtable(properties); +<a name="89" href="#89">89</a> <strong class="jxr_keyword">try</strong> { +<a name="90" href="#90">90</a> Class[] args = <strong class="jxr_keyword">new</strong> Class[6]; +<a name="91" href="#91">91</a> args[0] = String.<strong class="jxr_keyword">class</strong>; +<a name="92" href="#92">92</a> args[1] = String.<strong class="jxr_keyword">class</strong>; +<a name="93" href="#93">93</a> args[2] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; +<a name="94" href="#94">94</a> args[3] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//weight (0)</em> +<a name="95" href="#95">95</a> args[4] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//priority (0)</em> +<a name="96" href="#96">96</a> args[5] = Hashtable.<strong class="jxr_keyword">class</strong>; +<a name="97" href="#97">97</a> Constructor constructor = serviceInfoClass.getConstructor(args); +<a name="98" href="#98">98</a> Object[] values = <strong class="jxr_keyword">new</strong> Object[6]; +<a name="99" href="#99">99</a> values[0] = zone; +<a name="100" href="#100">100</a> values[1] = name; +<a name="101" href="#101">101</a> values[2] = <strong class="jxr_keyword">new</strong> Integer(port); +<a name="102" href="#102">102</a> values[3] = <strong class="jxr_keyword">new</strong> Integer(0); +<a name="103" href="#103">103</a> values[4] = <strong class="jxr_keyword">new</strong> Integer(0); +<a name="104" href="#104">104</a> values[5] = hashtableProperties; +<a name="105" href="#105">105</a> Object result = constructor.newInstance(values); +<a name="106" href="#106">106</a> LogLog.debug(<span class="jxr_string">"created serviceinfo: "</span> + result); +<a name="107" href="#107">107</a> <strong class="jxr_keyword">return</strong> result; +<a name="108" href="#108">108</a> } <strong class="jxr_keyword">catch</strong> (IllegalAccessException e) { +<a name="109" href="#109">109</a> LogLog.warn(<span class="jxr_string">"Unable to construct ServiceInfo instance"</span>, e); +<a name="110" href="#110">110</a> } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) { +<a name="111" href="#111">111</a> LogLog.warn(<span class="jxr_string">"Unable to get ServiceInfo constructor"</span>, e); +<a name="112" href="#112">112</a> } <strong class="jxr_keyword">catch</strong> (InstantiationException e) { +<a name="113" href="#113">113</a> LogLog.warn(<span class="jxr_string">"Unable to construct ServiceInfo instance"</span>, e); +<a name="114" href="#114">114</a> } <strong class="jxr_keyword">catch</strong> (InvocationTargetException e) { +<a name="115" href="#115">115</a> LogLog.warn(<span class="jxr_string">"Unable to construct ServiceInfo instance"</span>, e); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">private</strong> Object buildServiceInfoVersion3(String zone, <strong class="jxr_keyword">int</strong> port, String name, Map properties) { +<a name="121" href="#121">121</a> <strong class="jxr_keyword">try</strong> { +<a name="122" href="#122">122</a> Class[] args = <strong class="jxr_keyword">new</strong> Class[6]; +<a name="123" href="#123">123</a> args[0] = String.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//zone/type</em> +<a name="124" href="#124">124</a> args[1] = String.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//display name</em> +<a name="125" href="#125">125</a> args[2] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//port</em> +<a name="126" href="#126">126</a> args[3] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//weight (0)</em> +<a name="127" href="#127">127</a> args[4] = <strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>; <em class="jxr_comment">//priority (0)</em> +<a name="128" href="#128">128</a> args[5] = Map.<strong class="jxr_keyword">class</strong>; +<a name="129" href="#129">129</a> Method serviceInfoCreateMethod = serviceInfoClass.getMethod(<span class="jxr_string">"create"</span>, args); +<a name="130" href="#130">130</a> Object[] values = <strong class="jxr_keyword">new</strong> Object[6]; +<a name="131" href="#131">131</a> values[0] = zone; +<a name="132" href="#132">132</a> values[1] = name; +<a name="133" href="#133">133</a> values[2] = <strong class="jxr_keyword">new</strong> Integer(port); +<a name="134" href="#134">134</a> values[3] = <strong class="jxr_keyword">new</strong> Integer(0); +<a name="135" href="#135">135</a> values[4] = <strong class="jxr_keyword">new</strong> Integer(0); +<a name="136" href="#136">136</a> values[5] = properties; +<a name="137" href="#137">137</a> Object result = serviceInfoCreateMethod.invoke(<strong class="jxr_keyword">null</strong>, values); +<a name="138" href="#138">138</a> LogLog.debug(<span class="jxr_string">"created serviceinfo: "</span> + result); +<a name="139" href="#139">139</a> <strong class="jxr_keyword">return</strong> result; +<a name="140" href="#140">140</a> } <strong class="jxr_keyword">catch</strong> (IllegalAccessException e) { +<a name="141" href="#141">141</a> LogLog.warn(<span class="jxr_string">"Unable to invoke create method"</span>, e); +<a name="142" href="#142">142</a> } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) { +<a name="143" href="#143">143</a> LogLog.warn(<span class="jxr_string">"Unable to find create method"</span>, e); +<a name="144" href="#144">144</a> } <strong class="jxr_keyword">catch</strong> (InvocationTargetException e) { +<a name="145" href="#145">145</a> LogLog.warn(<span class="jxr_string">"Unable to invoke create method"</span>, e); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> advertise() { +<a name="151" href="#151">151</a> <strong class="jxr_keyword">try</strong> { +<a name="152" href="#152">152</a> Method method = jmDNSClass.getMethod(<span class="jxr_string">"registerService"</span>, <strong class="jxr_keyword">new</strong> Class[]{serviceInfoClass}); +<a name="153" href="#153">153</a> method.invoke(jmDNS, <strong class="jxr_keyword">new</strong> Object[]{serviceInfo}); +<a name="154" href="#154">154</a> LogLog.debug(<span class="jxr_string">"registered serviceInfo: "</span> + serviceInfo); +<a name="155" href="#155">155</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException e) { +<a name="156" href="#156">156</a> LogLog.warn(<span class="jxr_string">"Unable to invoke registerService method"</span>, e); +<a name="157" href="#157">157</a> } <strong class="jxr_keyword">catch</strong>(NoSuchMethodException e) { +<a name="158" href="#158">158</a> LogLog.warn(<span class="jxr_string">"No registerService method"</span>, e); +<a name="159" href="#159">159</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException e) { +<a name="160" href="#160">160</a> LogLog.warn(<span class="jxr_string">"Unable to invoke registerService method"</span>, e); +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> unadvertise() { +<a name="165" href="#165">165</a> <strong class="jxr_keyword">try</strong> { +<a name="166" href="#166">166</a> Method method = jmDNSClass.getMethod(<span class="jxr_string">"unregisterService"</span>, <strong class="jxr_keyword">new</strong> Class[]{serviceInfoClass}); +<a name="167" href="#167">167</a> method.invoke(jmDNS, <strong class="jxr_keyword">new</strong> Object[]{serviceInfo}); +<a name="168" href="#168">168</a> LogLog.debug(<span class="jxr_string">"unregistered serviceInfo: "</span> + serviceInfo); +<a name="169" href="#169">169</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException e) { +<a name="170" href="#170">170</a> LogLog.warn(<span class="jxr_string">"Unable to invoke unregisterService method"</span>, e); +<a name="171" href="#171">171</a> } <strong class="jxr_keyword">catch</strong>(NoSuchMethodException e) { +<a name="172" href="#172">172</a> LogLog.warn(<span class="jxr_string">"No unregisterService method"</span>, e); +<a name="173" href="#173">173</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException e) { +<a name="174" href="#174">174</a> LogLog.warn(<span class="jxr_string">"Unable to invoke unregisterService method"</span>, e); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Object initializeJMDNS() { +<a name="179" href="#179">179</a> <strong class="jxr_keyword">try</strong> { +<a name="180" href="#180">180</a> jmDNSClass = Class.forName(<span class="jxr_string">"javax.jmdns.JmDNS"</span>); +<a name="181" href="#181">181</a> serviceInfoClass = Class.forName(<span class="jxr_string">"javax.jmdns.ServiceInfo"</span>); +<a name="182" href="#182">182</a> } <strong class="jxr_keyword">catch</strong> (ClassNotFoundException e) { +<a name="183" href="#183">183</a> LogLog.warn(<span class="jxr_string">"JmDNS or serviceInfo class not found"</span>, e); +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> <em class="jxr_comment">//if version 3 is available, use it to constuct a serviceInfo instance, otherwise support the version1 API</em> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">boolean</strong> isVersion3 = false; +<a name="188" href="#188">188</a> <strong class="jxr_keyword">try</strong> { +<a name="189" href="#189">189</a> <em class="jxr_comment">//create method is in version 3, not version 1</em> +<a name="190" href="#190">190</a> jmDNSClass.getMethod(<span class="jxr_string">"create"</span>, <strong class="jxr_keyword">null</strong>); +<a name="191" href="#191">191</a> isVersion3 = <strong class="jxr_keyword">true</strong>; +<a name="192" href="#192">192</a> } <strong class="jxr_keyword">catch</strong> (NoSuchMethodException e) { +<a name="193" href="#193">193</a> <em class="jxr_comment">//no-op</em> +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <strong class="jxr_keyword">if</strong> (isVersion3) { +<a name="197" href="#197">197</a> <strong class="jxr_keyword">return</strong> createJmDNSVersion3(); +<a name="198" href="#198">198</a> } <strong class="jxr_keyword">else</strong> { +<a name="199" href="#199">199</a> <strong class="jxr_keyword">return</strong> createJmDNSVersion1(); +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> } +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Object getJMDNSInstance() { +<a name="204" href="#204">204</a> <strong class="jxr_keyword">return</strong> jmDNS; +<a name="205" href="#205">205</a> } +<a name="206" href="#206">206</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/package-frame.html new file mode 100644 index 00000000000..cbf1bc7af81 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/package-frame.html @@ -0,0 +1,66 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.net</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.net</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="SocketAppender.html" target="classFrame">Connector</a> + </li> + <li> + <a href="SMTPAppender.html" target="classFrame">DefaultEvaluator</a> + </li> + <li> + <a href="JMSAppender.html" target="classFrame">JMSAppender</a> + </li> + <li> + <a href="JMSSink.html" target="classFrame">JMSSink</a> + </li> + <li> + <a href="SMTPAppender.html" target="classFrame">SMTPAppender</a> + </li> + <li> + <a href="SocketHubAppender.html" target="classFrame">ServerMonitor</a> + </li> + <li> + <a href="SimpleSocketServer.html" target="classFrame">SimpleSocketServer</a> + </li> + <li> + <a href="SocketAppender.html" target="classFrame">SocketAppender</a> + </li> + <li> + <a href="TelnetAppender.html" target="classFrame">SocketHandler</a> + </li> + <li> + <a href="SocketHubAppender.html" target="classFrame">SocketHubAppender</a> + </li> + <li> + <a href="SocketNode.html" target="classFrame">SocketNode</a> + </li> + <li> + <a href="SocketServer.html" target="classFrame">SocketServer</a> + </li> + <li> + <a href="SyslogAppender.html" target="classFrame">SyslogAppender</a> + </li> + <li> + <a href="TelnetAppender.html" target="classFrame">TelnetAppender</a> + </li> + <li> + <a href="ZeroConfSupport.html" target="classFrame">ZeroConfSupport</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/package-summary.html new file mode 100644 index 00000000000..4e5641e51a8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/net/package-summary.html @@ -0,0 +1,137 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.net</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.net</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="SocketAppender.html" target="classFrame">Connector</a> + </td> + </tr> + <tr> + <td> + <a href="SMTPAppender.html" target="classFrame">DefaultEvaluator</a> + </td> + </tr> + <tr> + <td> + <a href="JMSAppender.html" target="classFrame">JMSAppender</a> + </td> + </tr> + <tr> + <td> + <a href="JMSSink.html" target="classFrame">JMSSink</a> + </td> + </tr> + <tr> + <td> + <a href="SMTPAppender.html" target="classFrame">SMTPAppender</a> + </td> + </tr> + <tr> + <td> + <a href="SocketHubAppender.html" target="classFrame">ServerMonitor</a> + </td> + </tr> + <tr> + <td> + <a href="SimpleSocketServer.html" target="classFrame">SimpleSocketServer</a> + </td> + </tr> + <tr> + <td> + <a href="SocketAppender.html" target="classFrame">SocketAppender</a> + </td> + </tr> + <tr> + <td> + <a href="TelnetAppender.html" target="classFrame">SocketHandler</a> + </td> + </tr> + <tr> + <td> + <a href="SocketHubAppender.html" target="classFrame">SocketHubAppender</a> + </td> + </tr> + <tr> + <td> + <a href="SocketNode.html" target="classFrame">SocketNode</a> + </td> + </tr> + <tr> + <td> + <a href="SocketServer.html" target="classFrame">SocketServer</a> + </td> + </tr> + <tr> + <td> + <a href="SyslogAppender.html" target="classFrame">SyslogAppender</a> + </td> + </tr> + <tr> + <td> + <a href="TelnetAppender.html" target="classFrame">TelnetAppender</a> + </td> + </tr> + <tr> + <td> + <a href="ZeroConfSupport.html" target="classFrame">ZeroConfSupport</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/NTEventLogAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/NTEventLogAppender.html new file mode 100644 index 00000000000..819ef31865f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/NTEventLogAppender.html @@ -0,0 +1,196 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NTEventLogAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/nt/NTEventLogAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.nt; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.TTCCLayout; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> Append to the NT event log system.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;b&gt;WARNING&lt;/b&gt; This appender can only be installed and used on a</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> Windows system.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> &lt;p&gt;Do not forget to place NTEventLogAppender.dll,</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> NTEventLogAppender.amd64.dll, NTEventLogAppender.ia64.dll</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> or NTEventLogAppender.x86.dll as appropriate in a</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> directory that is on the PATH of the Windows system. Otherwise, you</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> will get a java.lang.UnsatisfiedLinkError.</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> @author &lt;a href="<a href="mailto:cstaylor@pacbell.net" target="alexandria_uri">mailto:cstaylor@pacbell.net</a>"&gt;Chris Taylor&lt;/a&gt;</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> @author &lt;a href="<a href="mailto:jim_cakalic@na.biomerieux.com" target="alexandria_uri">mailto:jim_cakalic@na.biomerieux.com</a>"&gt;Jim Cakalic&lt;/a&gt; */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/nt/NTEventLogAppender.html">NTEventLogAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> { +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> _handle = 0; +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">private</strong> String source = <strong class="jxr_keyword">null</strong>; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">private</strong> String server = <strong class="jxr_keyword">null</strong>; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/nt/NTEventLogAppender.html">NTEventLogAppender</a>() { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">this</strong>(<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/nt/NTEventLogAppender.html">NTEventLogAppender</a>(String source) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">this</strong>(<strong class="jxr_keyword">null</strong>, source, <strong class="jxr_keyword">null</strong>); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/nt/NTEventLogAppender.html">NTEventLogAppender</a>(String server, String source) { +<a name="57" href="#57">57</a> <strong class="jxr_keyword">this</strong>(server, source, <strong class="jxr_keyword">null</strong>); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/nt/NTEventLogAppender.html">NTEventLogAppender</a>(<a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout) { +<a name="61" href="#61">61</a> <strong class="jxr_keyword">this</strong>(<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, layout); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/nt/NTEventLogAppender.html">NTEventLogAppender</a>(String source, <a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout) { +<a name="65" href="#65">65</a> <strong class="jxr_keyword">this</strong>(<strong class="jxr_keyword">null</strong>, source, layout); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/nt/NTEventLogAppender.html">NTEventLogAppender</a>(String server, String source, <a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout) { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) { +<a name="70" href="#70">70</a> source = <span class="jxr_string">"Log4j"</span>; +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> <strong class="jxr_keyword">if</strong> (layout == <strong class="jxr_keyword">null</strong>) { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">this</strong>.layout = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/TTCCLayout.html">TTCCLayout</a>(); +<a name="74" href="#74">74</a> } <strong class="jxr_keyword">else</strong> { +<a name="75" href="#75">75</a> <strong class="jxr_keyword">this</strong>.layout = layout; +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">try</strong> { +<a name="79" href="#79">79</a> _handle = registerEventSource(server, source); +<a name="80" href="#80">80</a> } <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="81" href="#81">81</a> e.printStackTrace(); +<a name="82" href="#82">82</a> _handle = 0; +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">void</strong> close() { +<a name="88" href="#88">88</a> <em class="jxr_comment">// unregister ...</em> +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">if</strong> (source != <strong class="jxr_keyword">null</strong>) { +<a name="94" href="#94">94</a> <strong class="jxr_keyword">try</strong> { +<a name="95" href="#95">95</a> _handle = registerEventSource(server, source); +<a name="96" href="#96">96</a> } <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="97" href="#97">97</a> LogLog.error(<span class="jxr_string">"Could not register event source."</span>, e); +<a name="98" href="#98">98</a> _handle = 0; +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> sbuf.append(layout.format(event)); +<a name="109" href="#109">109</a> <strong class="jxr_keyword">if</strong>(layout.ignoresThrowable()) { +<a name="110" href="#110">110</a> String[] s = event.getThrowableStrRep(); +<a name="111" href="#111">111</a> <strong class="jxr_keyword">if</strong> (s != <strong class="jxr_keyword">null</strong>) { +<a name="112" href="#112">112</a> <strong class="jxr_keyword">int</strong> len = s.length; +<a name="113" href="#113">113</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; len; i++) { +<a name="114" href="#114">114</a> sbuf.append(s[i]); +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> <em class="jxr_comment">// Normalize the log message level into the supported categories</em> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">int</strong> nt_category = event.getLevel().toInt(); +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_comment">// Anything above FATAL or below DEBUG is labeled as INFO.</em> +<a name="122" href="#122">122</a> <em class="jxr_comment">//if (nt_category &gt; FATAL || nt_category &lt; DEBUG) {</em> +<a name="123" href="#123">123</a> <em class="jxr_comment">// nt_category = INFO;</em> +<a name="124" href="#124">124</a> <em class="jxr_comment">//}</em> +<a name="125" href="#125">125</a> reportEvent(_handle, sbuf.toString(), nt_category); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> +<a name="130" href="#130">130</a> <strong class="jxr_keyword">void</strong> finalize() { +<a name="131" href="#131">131</a> deregisterEventSource(_handle); +<a name="132" href="#132">132</a> _handle = 0; +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">/**</em> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> The &lt;b&gt;Source&lt;/b&gt; option which names the source of the event. The</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> current value of this constant is &lt;b&gt;Source&lt;/b&gt;.</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> */</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">public</strong> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">void</strong> setSource(String source) { +<a name="141" href="#141">141</a> <strong class="jxr_keyword">this</strong>.source = source.trim(); +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <strong class="jxr_keyword">public</strong> +<a name="145" href="#145">145</a> String getSource() { +<a name="146" href="#146">146</a> <strong class="jxr_keyword">return</strong> source; +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">/**</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> The &lt;code&gt;NTEventLogAppender&lt;/code&gt; requires a layout. Hence,</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> this method always returns &lt;code&gt;true&lt;/code&gt;. */</em> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">public</strong> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="154" href="#154">154</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">native</strong> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> registerEventSource(String server, String source); +<a name="158" href="#158">158</a> <strong class="jxr_keyword">native</strong> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> reportEvent(<strong class="jxr_keyword">int</strong> handle, String message, <strong class="jxr_keyword">int</strong> level); +<a name="159" href="#159">159</a> <strong class="jxr_keyword">native</strong> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> deregisterEventSource(<strong class="jxr_keyword">int</strong> handle); +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">static</strong> { +<a name="162" href="#162">162</a> String[] archs; +<a name="163" href="#163">163</a> <strong class="jxr_keyword">try</strong> { +<a name="164" href="#164">164</a> archs = <strong class="jxr_keyword">new</strong> String[] { System.getProperty(<span class="jxr_string">"os.arch"</span>)}; +<a name="165" href="#165">165</a> } <strong class="jxr_keyword">catch</strong>(SecurityException e) { +<a name="166" href="#166">166</a> archs = <strong class="jxr_keyword">new</strong> String[] { <span class="jxr_string">"amd64"</span>, <span class="jxr_string">"ia64"</span>, <span class="jxr_string">"x86"</span>}; +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> <strong class="jxr_keyword">boolean</strong> loaded = false; +<a name="169" href="#169">169</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; archs.length; i++) { +<a name="170" href="#170">170</a> <strong class="jxr_keyword">try</strong> { +<a name="171" href="#171">171</a> System.loadLibrary(<span class="jxr_string">"NTEventLogAppender."</span> + archs[i]); +<a name="172" href="#172">172</a> loaded = <strong class="jxr_keyword">true</strong>; +<a name="173" href="#173">173</a> <strong class="jxr_keyword">break</strong>; +<a name="174" href="#174">174</a> } <strong class="jxr_keyword">catch</strong>(java.lang.UnsatisfiedLinkError e) { +<a name="175" href="#175">175</a> loaded = false; +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> <strong class="jxr_keyword">if</strong> (!loaded) { +<a name="179" href="#179">179</a> System.loadLibrary(<span class="jxr_string">"NTEventLogAppender"</span>); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/package-frame.html new file mode 100644 index 00000000000..81ade9bb7c3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/package-frame.html @@ -0,0 +1,24 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.nt</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.nt</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="NTEventLogAppender.html" target="classFrame">NTEventLogAppender</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/package-summary.html new file mode 100644 index 00000000000..2212870426c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/nt/package-summary.html @@ -0,0 +1,67 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.nt</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.nt</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="NTEventLogAppender.html" target="classFrame">NTEventLogAppender</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/DefaultRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/DefaultRenderer.html new file mode 100644 index 00000000000..a4b3620958a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/DefaultRenderer.html @@ -0,0 +1,56 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DefaultRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/or/DefaultRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.or; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> The default Renderer renders objects by calling their</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> &lt;code&gt;toString&lt;/code&gt; method.</em> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> @since 1.0 */</em> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/or/DefaultRenderer.html">DefaultRenderer</a> implements <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> { +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <a href="../../../../org/apache/log4j/or/DefaultRenderer.html">DefaultRenderer</a>() { +<a name="29" href="#29">29</a> } +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> Render the object passed as parameter by calling its</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> &lt;code&gt;toString&lt;/code&gt; method. */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> +<a name="35" href="#35">35</a> String doRender(<strong class="jxr_keyword">final</strong> Object o) { +<a name="36" href="#36">36</a> <strong class="jxr_keyword">try</strong> { +<a name="37" href="#37">37</a> <strong class="jxr_keyword">return</strong> o.toString(); +<a name="38" href="#38">38</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">return</strong> ex.toString(); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/ObjectRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/ObjectRenderer.html new file mode 100644 index 00000000000..c1adb1d575b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/ObjectRenderer.html @@ -0,0 +1,46 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ObjectRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/or/ObjectRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.or; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> Implement this interface in order to render objects as strings.</em> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> @since 1.0 */</em> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> { +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> Render the object passed as parameter as a String.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> +<a name="31" href="#31">31</a> String doRender(Object o); +<a name="32" href="#32">32</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/RendererMap.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/RendererMap.html new file mode 100644 index 00000000000..a751656a813 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/RendererMap.html @@ -0,0 +1,212 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>RendererMap xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/or/RendererMap.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.or; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.RendererSupport; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.Loader; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> Map class objects to an {@link ObjectRenderer}.</em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @since version 1.0 */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/or/RendererMap.html">RendererMap</a> { +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> Hashtable map; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> defaultRenderer = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/or/DefaultRenderer.html">DefaultRenderer</a>(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> +<a name="38" href="#38">38</a> <a href="../../../../org/apache/log4j/or/RendererMap.html">RendererMap</a>() { +<a name="39" href="#39">39</a> map = <strong class="jxr_keyword">new</strong> Hashtable(); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> Add a renderer to a hierarchy passed as parameter.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">void</strong> addRenderer(<a href="../../../../org/apache/log4j/spi/RendererSupport.html">RendererSupport</a> repository, String renderedClassName, +<a name="48" href="#48">48</a> String renderingClassName) { +<a name="49" href="#49">49</a> LogLog.debug(<span class="jxr_string">"Rendering class: ["</span>+renderingClassName+<span class="jxr_string">"], Rendered class: ["</span>+ +<a name="50" href="#50">50</a> renderedClassName+<span class="jxr_string">"]."</span>); +<a name="51" href="#51">51</a> <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> renderer = (ObjectRenderer) +<a name="52" href="#52">52</a> OptionConverter.instantiateByClassName(renderingClassName, +<a name="53" href="#53">53</a> ObjectRenderer.<strong class="jxr_keyword">class</strong>, +<a name="54" href="#54">54</a> <strong class="jxr_keyword">null</strong>); +<a name="55" href="#55">55</a> <strong class="jxr_keyword">if</strong>(renderer == <strong class="jxr_keyword">null</strong>) { +<a name="56" href="#56">56</a> LogLog.error(<span class="jxr_string">"Could not instantiate renderer ["</span>+renderingClassName+<span class="jxr_string">"]."</span>); +<a name="57" href="#57">57</a> <strong class="jxr_keyword">return</strong>; +<a name="58" href="#58">58</a> } <strong class="jxr_keyword">else</strong> { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">try</strong> { +<a name="60" href="#60">60</a> Class renderedClass = Loader.loadClass(renderedClassName); +<a name="61" href="#61">61</a> repository.setRenderer(renderedClass, renderer); +<a name="62" href="#62">62</a> } <strong class="jxr_keyword">catch</strong>(ClassNotFoundException e) { +<a name="63" href="#63">63</a> LogLog.error(<span class="jxr_string">"Could not find class ["</span>+renderedClassName+<span class="jxr_string">"]."</span>, e); +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> Find the appropriate renderer for the class type of the</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> &lt;code&gt;o&lt;/code&gt; parameter. This is accomplished by calling the</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> {@link #get(Class)} method. Once a renderer is found, it is</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> applied on the object &lt;code&gt;o&lt;/code&gt; and the result is returned</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> as a {@link String}. */</em> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">public</strong> +<a name="76" href="#76">76</a> String findAndRender(Object o) { +<a name="77" href="#77">77</a> <strong class="jxr_keyword">if</strong>(o == <strong class="jxr_keyword">null</strong>) +<a name="78" href="#78">78</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="79" href="#79">79</a> <strong class="jxr_keyword">else</strong> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">return</strong> get(o.getClass()).doRender(o); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment">/**</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> Syntactic sugar method that calls {@link #get(Class)} with the</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> class of the object parameter. */</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">public</strong> +<a name="88" href="#88">88</a> <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> get(Object o) { +<a name="89" href="#89">89</a> <strong class="jxr_keyword">if</strong>(o == <strong class="jxr_keyword">null</strong>) +<a name="90" href="#90">90</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="91" href="#91">91</a> <strong class="jxr_keyword">else</strong> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">return</strong> get(o.getClass()); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment">/**</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> Search the parents of &lt;code&gt;clazz&lt;/code&gt; for a renderer. The</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> renderer closest in the hierarchy will be returned. If no</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> renderers could be found, then the default renderer is returned.</em> +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> &lt;p&gt;The search first looks for a renderer configured for</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> &lt;code&gt;clazz&lt;/code&gt;. If a renderer could not be found, then the</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> search continues by looking at all the interfaces implemented by</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> &lt;code&gt;clazz&lt;/code&gt; including the super-interfaces of each</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> interface. If a renderer cannot be found, then the search looks</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> for a renderer defined for the parent (superclass) of</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> &lt;code&gt;clazz&lt;/code&gt;. If that fails, then all the interfaces</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> implemented by the parent of &lt;code&gt;clazz&lt;/code&gt; are searched and</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> so on.</em> +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, if A0, A1, A2 are classes and X0, X1, X2, Y0, Y1</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> are interfaces where A2 extends A1 which in turn extends A0 and</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> similarly X2 extends X1 which extends X0 and Y1 extends Y0. Let</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> us also assume that A1 implements the Y0 interface and that A2</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> implements the X2 interface.</em> +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> &lt;p&gt;The table below shows the results returned by the</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> &lt;code&gt;get(A2.class)&lt;/code&gt; method depending on the renderers</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> added to the map.</em> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> &lt;p&gt;&lt;table border="1"&gt;</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> &lt;tr&gt;&lt;th&gt;Added renderers&lt;/th&gt;&lt;th&gt;Value returned by &lt;code&gt;get(A2.class)&lt;/code&gt;&lt;/th&gt;</em> +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> &lt;tr&gt;&lt;td&gt;&lt;code&gt;A0Renderer&lt;/code&gt;</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> &lt;td align="center"&gt;&lt;code&gt;A0Renderer&lt;/code&gt;</em> +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> &lt;tr&gt;&lt;td&gt;&lt;code&gt;A0Renderer, A1Renderer&lt;/code&gt;</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> &lt;td align="center"&gt;&lt;code&gt;A1Renderer&lt;/code&gt;</em> +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> &lt;tr&gt;&lt;td&gt;&lt;code&gt;X0Renderer&lt;/code&gt;</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> &lt;td align="center"&gt;&lt;code&gt;X0Renderer&lt;/code&gt;</em> +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> &lt;tr&gt;&lt;td&gt;&lt;code&gt;A1Renderer, X0Renderer&lt;/code&gt;</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> &lt;td align="center"&gt;&lt;code&gt;X0Renderer&lt;/code&gt;</em> +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment"> &lt;/table&gt;</em> +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> &lt;p&gt;This search algorithm is not the most natural, although it is</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> particularly easy to implement. Future log4j versions</em> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment"> &lt;em&gt;may&lt;/em&gt; implement a more intuitive search</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> algorithm. However, the present algorithm should be acceptable in</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> the vast majority of circumstances.</em> +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> */</em> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">public</strong> +<a name="146" href="#146">146</a> <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> get(Class clazz) { +<a name="147" href="#147">147</a> <em class="jxr_comment">//System.out.println("\nget: "+clazz);</em> +<a name="148" href="#148">148</a> <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> r = <strong class="jxr_keyword">null</strong>; +<a name="149" href="#149">149</a> <strong class="jxr_keyword">for</strong>(Class c = clazz; c != <strong class="jxr_keyword">null</strong>; c = c.getSuperclass()) { +<a name="150" href="#150">150</a> <em class="jxr_comment">//System.out.println("Searching for class: "+c);</em> +<a name="151" href="#151">151</a> r = (ObjectRenderer) map.get(c); +<a name="152" href="#152">152</a> <strong class="jxr_keyword">if</strong>(r != <strong class="jxr_keyword">null</strong>) { +<a name="153" href="#153">153</a> <strong class="jxr_keyword">return</strong> r; +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> r = searchInterfaces(c); +<a name="156" href="#156">156</a> <strong class="jxr_keyword">if</strong>(r != <strong class="jxr_keyword">null</strong>) +<a name="157" href="#157">157</a> <strong class="jxr_keyword">return</strong> r; +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> <strong class="jxr_keyword">return</strong> defaultRenderer; +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> searchInterfaces(Class c) { +<a name="163" href="#163">163</a> <em class="jxr_comment">//System.out.println("Searching interfaces of class: "+c);</em> +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> r = (ObjectRenderer) map.get(c); +<a name="166" href="#166">166</a> <strong class="jxr_keyword">if</strong>(r != <strong class="jxr_keyword">null</strong>) { +<a name="167" href="#167">167</a> <strong class="jxr_keyword">return</strong> r; +<a name="168" href="#168">168</a> } <strong class="jxr_keyword">else</strong> { +<a name="169" href="#169">169</a> Class[] ia = c.getInterfaces(); +<a name="170" href="#170">170</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; ia.length; i++) { +<a name="171" href="#171">171</a> r = searchInterfaces(ia[i]); +<a name="172" href="#172">172</a> <strong class="jxr_keyword">if</strong>(r != <strong class="jxr_keyword">null</strong>) +<a name="173" href="#173">173</a> <strong class="jxr_keyword">return</strong> r; +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <strong class="jxr_keyword">public</strong> +<a name="181" href="#181">181</a> <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> getDefaultRenderer() { +<a name="182" href="#182">182</a> <strong class="jxr_keyword">return</strong> defaultRenderer; +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> <strong class="jxr_keyword">public</strong> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">void</strong> clear() { +<a name="188" href="#188">188</a> map.clear(); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">/**</em> +<a name="192" href="#192">192</a> <em class="jxr_javadoccomment"> Register an {@link ObjectRenderer} for &lt;code&gt;clazz&lt;/code&gt;.</em> +<a name="193" href="#193">193</a> <em class="jxr_javadoccomment"> */</em> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">public</strong> +<a name="195" href="#195">195</a> <strong class="jxr_keyword">void</strong> put(Class clazz, <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> or) { +<a name="196" href="#196">196</a> map.put(clazz, or); +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/ThreadGroupRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/ThreadGroupRenderer.html new file mode 100644 index 00000000000..3d0b3e0e11b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/ThreadGroupRenderer.html @@ -0,0 +1,95 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ThreadGroupRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/or/ThreadGroupRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.or; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> Render {@link ThreadGroup} objects in a format similar to the</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> information output by the {@link ThreadGroup#list} method.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> @since 1.0 */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/or/ThreadGroupRenderer.html">ThreadGroupRenderer</a> implements <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> { +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> +<a name="31" href="#31">31</a> <a href="../../../../org/apache/log4j/or/ThreadGroupRenderer.html">ThreadGroupRenderer</a>() { +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> Render a {@link ThreadGroup} object similar to the way that the</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> {@link ThreadGroup#list} method output information. </em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> &lt;p&gt;The output of a simple program consisting of one</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> &lt;code&gt;main&lt;/code&gt; thread is:</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> java.lang.ThreadGroup[name=main, maxpri=10]</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> Thread=[main,5,false]</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> </em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> &lt;p&gt;The boolean value in thread information is the value returned</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> by {@link Thread#isDaemon}.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> </em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> +<a name="50" href="#50">50</a> String doRender(Object o) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">if</strong>(o instanceof ThreadGroup) { +<a name="52" href="#52">52</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="53" href="#53">53</a> ThreadGroup tg = (ThreadGroup) o; +<a name="54" href="#54">54</a> sbuf.append(<span class="jxr_string">"java.lang.ThreadGroup[name="</span>); +<a name="55" href="#55">55</a> sbuf.append(tg.getName()); +<a name="56" href="#56">56</a> sbuf.append(<span class="jxr_string">", maxpri="</span>); +<a name="57" href="#57">57</a> sbuf.append(tg.getMaxPriority()); +<a name="58" href="#58">58</a> sbuf.append(<span class="jxr_string">"]"</span>); +<a name="59" href="#59">59</a> Thread[] t = <strong class="jxr_keyword">new</strong> Thread[tg.activeCount()]; +<a name="60" href="#60">60</a> tg.enumerate(t); +<a name="61" href="#61">61</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; t.length; i++) { +<a name="62" href="#62">62</a> sbuf.append(Layout.LINE_SEP); +<a name="63" href="#63">63</a> sbuf.append(<span class="jxr_string">" Thread=["</span>); +<a name="64" href="#64">64</a> sbuf.append(t[i].getName()); +<a name="65" href="#65">65</a> sbuf.append(<span class="jxr_string">","</span>); +<a name="66" href="#66">66</a> sbuf.append(t[i].getPriority()); +<a name="67" href="#67">67</a> sbuf.append(<span class="jxr_string">","</span>); +<a name="68" href="#68">68</a> sbuf.append(t[i].isDaemon()); +<a name="69" href="#69">69</a> sbuf.append(<span class="jxr_string">"]"</span>); +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="72" href="#72">72</a> } <strong class="jxr_keyword">else</strong> { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">try</strong> { +<a name="74" href="#74">74</a> <em class="jxr_comment">// this is the best we can do</em> +<a name="75" href="#75">75</a> <strong class="jxr_keyword">return</strong> o.toString(); +<a name="76" href="#76">76</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="77" href="#77">77</a> <strong class="jxr_keyword">return</strong> ex.toString(); +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/MessageRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/MessageRenderer.html new file mode 100644 index 00000000000..702ca5eed8c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/MessageRenderer.html @@ -0,0 +1,114 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MessageRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/or/jms/MessageRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.or.jms; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.or.ObjectRenderer; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> javax.jms.Message; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> javax.jms.JMSException; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> javax.jms.DeliveryMode; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> Render &lt;code&gt;javax.jms.Message&lt;/code&gt; objects.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> @since 1.0 */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/or/jms/MessageRenderer.html">MessageRenderer</a> implements <a href="../../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> +<a name="35" href="#35">35</a> <a href="../../../../../org/apache/log4j/or/jms/MessageRenderer.html">MessageRenderer</a>() { +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> Render a {@link javax.jms.Message}.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> +<a name="43" href="#43">43</a> String doRender(Object o) { +<a name="44" href="#44">44</a> <strong class="jxr_keyword">if</strong>(o instanceof Message) { +<a name="45" href="#45">45</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="46" href="#46">46</a> Message m = (Message) o; +<a name="47" href="#47">47</a> <strong class="jxr_keyword">try</strong> { +<a name="48" href="#48">48</a> sbuf.append(<span class="jxr_string">"DeliveryMode="</span>); +<a name="49" href="#49">49</a> <strong class="jxr_keyword">switch</strong>(m.getJMSDeliveryMode()) { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">case</strong> DeliveryMode.NON_PERSISTENT : +<a name="51" href="#51">51</a> sbuf.append(<span class="jxr_string">"NON_PERSISTENT"</span>); +<a name="52" href="#52">52</a> <strong class="jxr_keyword">break</strong>; +<a name="53" href="#53">53</a> <strong class="jxr_keyword">case</strong> DeliveryMode.PERSISTENT : +<a name="54" href="#54">54</a> sbuf.append(<span class="jxr_string">"PERSISTENT"</span>); +<a name="55" href="#55">55</a> <strong class="jxr_keyword">break</strong>; +<a name="56" href="#56">56</a> <strong class="jxr_keyword">default</strong>: sbuf.append(<span class="jxr_string">"UNKNOWN"</span>); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> sbuf.append(<span class="jxr_string">", CorrelationID="</span>); +<a name="59" href="#59">59</a> sbuf.append(m.getJMSCorrelationID()); +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> sbuf.append(<span class="jxr_string">", Destination="</span>); +<a name="62" href="#62">62</a> sbuf.append(m.getJMSDestination()); +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> sbuf.append(<span class="jxr_string">", Expiration="</span>); +<a name="65" href="#65">65</a> sbuf.append(m.getJMSExpiration()); +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> sbuf.append(<span class="jxr_string">", MessageID="</span>); +<a name="68" href="#68">68</a> sbuf.append(m.getJMSMessageID()); +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> sbuf.append(<span class="jxr_string">", Priority="</span>); +<a name="71" href="#71">71</a> sbuf.append(m.getJMSPriority()); +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> sbuf.append(<span class="jxr_string">", Redelivered="</span>); +<a name="74" href="#74">74</a> sbuf.append(m.getJMSRedelivered()); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> sbuf.append(<span class="jxr_string">", ReplyTo="</span>); +<a name="77" href="#77">77</a> sbuf.append(m.getJMSReplyTo()); +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> sbuf.append(<span class="jxr_string">", Timestamp="</span>); +<a name="80" href="#80">80</a> sbuf.append(m.getJMSTimestamp()); +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> sbuf.append(<span class="jxr_string">", Type="</span>); +<a name="83" href="#83">83</a> sbuf.append(m.getJMSType()); +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em class="jxr_comment">//Enumeration enum = m.getPropertyNames();</em> +<a name="86" href="#86">86</a> <em class="jxr_comment">//while(enum.hasMoreElements()) {</em> +<a name="87" href="#87">87</a> <em class="jxr_comment">// String key = (String) enum.nextElement();</em> +<a name="88" href="#88">88</a> <em class="jxr_comment">// sbuf.append("; "+key+"=");</em> +<a name="89" href="#89">89</a> <em class="jxr_comment">// sbuf.append(m.getStringProperty(key));</em> +<a name="90" href="#90">90</a> <em class="jxr_comment">//}</em> +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> } <strong class="jxr_keyword">catch</strong>(JMSException e) { +<a name="93" href="#93">93</a> LogLog.error(<span class="jxr_string">"Could not parse Message."</span>, e); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="96" href="#96">96</a> } <strong class="jxr_keyword">else</strong> { +<a name="97" href="#97">97</a> <strong class="jxr_keyword">return</strong> o.toString(); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/package-frame.html new file mode 100644 index 00000000000..71917085362 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/package-frame.html @@ -0,0 +1,24 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.or.jms</title> + <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.or.jms</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="MessageRenderer.html" target="classFrame">MessageRenderer</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/package-summary.html new file mode 100644 index 00000000000..70dd8fe13a9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/jms/package-summary.html @@ -0,0 +1,67 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.or.jms</title> + <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.or.jms</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="MessageRenderer.html" target="classFrame">MessageRenderer</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/package-frame.html new file mode 100644 index 00000000000..59b53c40dbf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/package-frame.html @@ -0,0 +1,33 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.or</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.or</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="DefaultRenderer.html" target="classFrame">DefaultRenderer</a> + </li> + <li> + <a href="ObjectRenderer.html" target="classFrame">ObjectRenderer</a> + </li> + <li> + <a href="RendererMap.html" target="classFrame">RendererMap</a> + </li> + <li> + <a href="ThreadGroupRenderer.html" target="classFrame">ThreadGroupRenderer</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/package-summary.html new file mode 100644 index 00000000000..2d8214e44e4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/package-summary.html @@ -0,0 +1,82 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.or</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.or</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="DefaultRenderer.html" target="classFrame">DefaultRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="ObjectRenderer.html" target="classFrame">ObjectRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="RendererMap.html" target="classFrame">RendererMap</a> + </td> + </tr> + <tr> + <td> + <a href="ThreadGroupRenderer.html" target="classFrame">ThreadGroupRenderer</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/AttributesRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/AttributesRenderer.html new file mode 100644 index 00000000000..23c6668ad46 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/AttributesRenderer.html @@ -0,0 +1,80 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AttributesRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/or/sax/AttributesRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.or.sax; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.or.ObjectRenderer; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.xml.sax.Attributes; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> Render &lt;code&gt;org.xml.sax.Attributes&lt;/code&gt; objects.</em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/log4j/or/sax/AttributesRenderer.html">AttributesRenderer</a> implements <a href="../../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> +<a name="32" href="#32">32</a> <a href="../../../../../org/apache/log4j/or/sax/AttributesRenderer.html">AttributesRenderer</a>() { +<a name="33" href="#33">33</a> } +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> Render a {@link org.xml.sax.Attributes}.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> +<a name="40" href="#40">40</a> String doRender(Object o) { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">if</strong>(o instanceof Attributes) { +<a name="42" href="#42">42</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="43" href="#43">43</a> Attributes a = (Attributes) o; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">int</strong> len = a.getLength(); +<a name="45" href="#45">45</a> <strong class="jxr_keyword">boolean</strong> first = <strong class="jxr_keyword">true</strong>; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; len; i++) { +<a name="47" href="#47">47</a> <strong class="jxr_keyword">if</strong>(first) { +<a name="48" href="#48">48</a> first = false; +<a name="49" href="#49">49</a> } <strong class="jxr_keyword">else</strong> { +<a name="50" href="#50">50</a> sbuf.append(<span class="jxr_string">", "</span>); +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> sbuf.append(a.getQName(i)); +<a name="53" href="#53">53</a> sbuf.append('='); +<a name="54" href="#54">54</a> sbuf.append(a.getValue(i)); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="57" href="#57">57</a> } <strong class="jxr_keyword">else</strong> { +<a name="58" href="#58">58</a> <strong class="jxr_keyword">try</strong> { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">return</strong> o.toString(); +<a name="60" href="#60">60</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="61" href="#61">61</a> <strong class="jxr_keyword">return</strong> ex.toString(); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/package-frame.html new file mode 100644 index 00000000000..9fafcf746f0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/package-frame.html @@ -0,0 +1,24 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.or.sax</title> + <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.or.sax</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="AttributesRenderer.html" target="classFrame">AttributesRenderer</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/package-summary.html new file mode 100644 index 00000000000..ed0bc56e66f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/or/sax/package-summary.html @@ -0,0 +1,67 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.or.sax</title> + <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.or.sax</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="AttributesRenderer.html" target="classFrame">AttributesRenderer</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/package-frame.html new file mode 100644 index 00000000000..94784974ad2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/package-frame.html @@ -0,0 +1,144 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j</title> + <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="Appender.html" target="classFrame">Appender</a> + </li> + <li> + <a href="AppenderSkeleton.html" target="classFrame">AppenderSkeleton</a> + </li> + <li> + <a href="AsyncAppender.html" target="classFrame">AsyncAppender</a> + </li> + <li> + <a href="BasicConfigurator.html" target="classFrame">BasicConfigurator</a> + </li> + <li> + <a href="Category.html" target="classFrame">Category</a> + </li> + <li> + <a href="CategoryKey.html" target="classFrame">CategoryKey</a> + </li> + <li> + <a href="ConsoleAppender.html" target="classFrame">ConsoleAppender</a> + </li> + <li> + <a href="DailyRollingFileAppender.html" target="classFrame">DailyRollingFileAppender</a> + </li> + <li> + <a href="DefaultCategoryFactory.html" target="classFrame">DefaultCategoryFactory</a> + </li> + <li> + <a href="DefaultThrowableRenderer.html" target="classFrame">DefaultThrowableRenderer</a> + </li> + <li> + <a href="NDC.html" target="classFrame">DiagnosticContext</a> + </li> + <li> + <a href="AsyncAppender.html" target="classFrame">DiscardSummary</a> + </li> + <li> + <a href="Dispatcher.html" target="classFrame">Dispatcher</a> + </li> + <li> + <a href="EnhancedPatternLayout.html" target="classFrame">EnhancedPatternLayout</a> + </li> + <li> + <a href="EnhancedThrowableRenderer.html" target="classFrame">EnhancedThrowableRenderer</a> + </li> + <li> + <a href="FileAppender.html" target="classFrame">FileAppender</a> + </li> + <li> + <a href="HTMLLayout.html" target="classFrame">HTMLLayout</a> + </li> + <li> + <a href="Hierarchy.html" target="classFrame">Hierarchy</a> + </li> + <li> + <a href="Layout.html" target="classFrame">Layout</a> + </li> + <li> + <a href="Level.html" target="classFrame">Level</a> + </li> + <li> + <a href="LogMF.html" target="classFrame">LogMF</a> + </li> + <li> + <a href="LogManager.html" target="classFrame">LogManager</a> + </li> + <li> + <a href="LogSF.html" target="classFrame">LogSF</a> + </li> + <li> + <a href="LogXF.html" target="classFrame">LogXF</a> + </li> + <li> + <a href="Logger.html" target="classFrame">Logger</a> + </li> + <li> + <a href="MDC.html" target="classFrame">MDC</a> + </li> + <li> + <a href="NDC.html" target="classFrame">NDC</a> + </li> + <li> + <a href="PropertyConfigurator.html" target="classFrame">NameValue</a> + </li> + <li> + <a href="PatternLayout.html" target="classFrame">PatternLayout</a> + </li> + <li> + <a href="Priority.html" target="classFrame">Priority</a> + </li> + <li> + <a href="PropertyConfigurator.html" target="classFrame">PropertyConfigurator</a> + </li> + <li> + <a href="PropertyConfigurator.html" target="classFrame">PropertyWatchdog</a> + </li> + <li> + <a href="ProvisionNode.html" target="classFrame">ProvisionNode</a> + </li> + <li> + <a href="DailyRollingFileAppender.html" target="classFrame">RollingCalendar</a> + </li> + <li> + <a href="RollingFileAppender.html" target="classFrame">RollingFileAppender</a> + </li> + <li> + <a href="SimpleLayout.html" target="classFrame">SimpleLayout</a> + </li> + <li> + <a href="PropertyConfigurator.html" target="classFrame">SortedKeyEnumeration</a> + </li> + <li> + <a href="ConsoleAppender.html" target="classFrame">SystemErrStream</a> + </li> + <li> + <a href="ConsoleAppender.html" target="classFrame">SystemOutStream</a> + </li> + <li> + <a href="TTCCLayout.html" target="classFrame">TTCCLayout</a> + </li> + <li> + <a href="WriterAppender.html" target="classFrame">WriterAppender</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/package-summary.html new file mode 100644 index 00000000000..7b8c1616871 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/package-summary.html @@ -0,0 +1,267 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j</title> + <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="Appender.html" target="classFrame">Appender</a> + </td> + </tr> + <tr> + <td> + <a href="AppenderSkeleton.html" target="classFrame">AppenderSkeleton</a> + </td> + </tr> + <tr> + <td> + <a href="AsyncAppender.html" target="classFrame">AsyncAppender</a> + </td> + </tr> + <tr> + <td> + <a href="BasicConfigurator.html" target="classFrame">BasicConfigurator</a> + </td> + </tr> + <tr> + <td> + <a href="Category.html" target="classFrame">Category</a> + </td> + </tr> + <tr> + <td> + <a href="CategoryKey.html" target="classFrame">CategoryKey</a> + </td> + </tr> + <tr> + <td> + <a href="ConsoleAppender.html" target="classFrame">ConsoleAppender</a> + </td> + </tr> + <tr> + <td> + <a href="DailyRollingFileAppender.html" target="classFrame">DailyRollingFileAppender</a> + </td> + </tr> + <tr> + <td> + <a href="DefaultCategoryFactory.html" target="classFrame">DefaultCategoryFactory</a> + </td> + </tr> + <tr> + <td> + <a href="DefaultThrowableRenderer.html" target="classFrame">DefaultThrowableRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="NDC.html" target="classFrame">DiagnosticContext</a> + </td> + </tr> + <tr> + <td> + <a href="AsyncAppender.html" target="classFrame">DiscardSummary</a> + </td> + </tr> + <tr> + <td> + <a href="Dispatcher.html" target="classFrame">Dispatcher</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedPatternLayout.html" target="classFrame">EnhancedPatternLayout</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedThrowableRenderer.html" target="classFrame">EnhancedThrowableRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="FileAppender.html" target="classFrame">FileAppender</a> + </td> + </tr> + <tr> + <td> + <a href="HTMLLayout.html" target="classFrame">HTMLLayout</a> + </td> + </tr> + <tr> + <td> + <a href="Hierarchy.html" target="classFrame">Hierarchy</a> + </td> + </tr> + <tr> + <td> + <a href="Layout.html" target="classFrame">Layout</a> + </td> + </tr> + <tr> + <td> + <a href="Level.html" target="classFrame">Level</a> + </td> + </tr> + <tr> + <td> + <a href="LogMF.html" target="classFrame">LogMF</a> + </td> + </tr> + <tr> + <td> + <a href="LogManager.html" target="classFrame">LogManager</a> + </td> + </tr> + <tr> + <td> + <a href="LogSF.html" target="classFrame">LogSF</a> + </td> + </tr> + <tr> + <td> + <a href="LogXF.html" target="classFrame">LogXF</a> + </td> + </tr> + <tr> + <td> + <a href="Logger.html" target="classFrame">Logger</a> + </td> + </tr> + <tr> + <td> + <a href="MDC.html" target="classFrame">MDC</a> + </td> + </tr> + <tr> + <td> + <a href="NDC.html" target="classFrame">NDC</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfigurator.html" target="classFrame">NameValue</a> + </td> + </tr> + <tr> + <td> + <a href="PatternLayout.html" target="classFrame">PatternLayout</a> + </td> + </tr> + <tr> + <td> + <a href="Priority.html" target="classFrame">Priority</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfigurator.html" target="classFrame">PropertyConfigurator</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfigurator.html" target="classFrame">PropertyWatchdog</a> + </td> + </tr> + <tr> + <td> + <a href="ProvisionNode.html" target="classFrame">ProvisionNode</a> + </td> + </tr> + <tr> + <td> + <a href="DailyRollingFileAppender.html" target="classFrame">RollingCalendar</a> + </td> + </tr> + <tr> + <td> + <a href="RollingFileAppender.html" target="classFrame">RollingFileAppender</a> + </td> + </tr> + <tr> + <td> + <a href="SimpleLayout.html" target="classFrame">SimpleLayout</a> + </td> + </tr> + <tr> + <td> + <a href="PropertyConfigurator.html" target="classFrame">SortedKeyEnumeration</a> + </td> + </tr> + <tr> + <td> + <a href="ConsoleAppender.html" target="classFrame">SystemErrStream</a> + </td> + </tr> + <tr> + <td> + <a href="ConsoleAppender.html" target="classFrame">SystemOutStream</a> + </td> + </tr> + <tr> + <td> + <a href="TTCCLayout.html" target="classFrame">TTCCLayout</a> + </td> + </tr> + <tr> + <td> + <a href="WriterAppender.html" target="classFrame">WriterAppender</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/BridgePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/BridgePatternConverter.html new file mode 100644 index 00000000000..4d5d1ed7c00 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/BridgePatternConverter.html @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>BridgePatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/BridgePatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * contract by delegating to the log4j 1.3 pattern implementation.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> *</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/BridgePatternConverter.html">BridgePatternConverter</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">extends</strong> org.apache.log4j.helpers.PatternConverter { +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Pattern converters.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a>[] patternConverters; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * Field widths and alignment corresponding to pattern converters.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>[] patternFields; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment">/**</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * Does pattern process exceptions.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> */</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> handlesExceptions; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * Create a new instance.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * @param pattern pattern, may not be null.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/BridgePatternConverter.html">BridgePatternConverter</a>( +<a name="58" href="#58">58</a> <strong class="jxr_keyword">final</strong> String pattern) { +<a name="59" href="#59">59</a> next = <strong class="jxr_keyword">null</strong>; +<a name="60" href="#60">60</a> handlesExceptions = false; +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> List converters = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="63" href="#63">63</a> List fields = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="64" href="#64">64</a> Map converterRegistry = <strong class="jxr_keyword">null</strong>; +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> PatternParser.parse( +<a name="67" href="#67">67</a> pattern, converters, fields, converterRegistry, +<a name="68" href="#68">68</a> PatternParser.getPatternLayoutRules()); +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> patternConverters = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a>[converters.size()]; +<a name="71" href="#71">71</a> patternFields = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>[converters.size()]; +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">int</strong> i = 0; +<a name="74" href="#74">74</a> Iterator converterIter = converters.iterator(); +<a name="75" href="#75">75</a> Iterator fieldIter = fields.iterator(); +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">while</strong> (converterIter.hasNext()) { +<a name="78" href="#78">78</a> Object converter = converterIter.next(); +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">if</strong> (converter instanceof LoggingEventPatternConverter) { +<a name="81" href="#81">81</a> patternConverters[i] = (LoggingEventPatternConverter) converter; +<a name="82" href="#82">82</a> handlesExceptions |= patternConverters[i].handlesThrowable(); +<a name="83" href="#83">83</a> } <strong class="jxr_keyword">else</strong> { +<a name="84" href="#84">84</a> patternConverters[i] = +<a name="85" href="#85">85</a> <strong class="jxr_keyword">new</strong> org.apache.log4j.pattern.LiteralPatternConverter(<span class="jxr_string">""</span>); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">if</strong> (fieldIter.hasNext()) { +<a name="89" href="#89">89</a> patternFields[i] = (FormattingInfo) fieldIter.next(); +<a name="90" href="#90">90</a> } <strong class="jxr_keyword">else</strong> { +<a name="91" href="#91">91</a> patternFields[i] = FormattingInfo.getDefault(); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> i++; +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment">/**</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> */</em> +<a name="101" href="#101">101</a> <strong class="jxr_keyword">protected</strong> String convert(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="102" href="#102">102</a> <em class="jxr_comment">//</em> +<a name="103" href="#103">103</a> <em class="jxr_comment">// code should be unreachable.</em> +<a name="104" href="#104">104</a> <em class="jxr_comment">//</em> +<a name="105" href="#105">105</a> StringBuffer sbuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="106" href="#106">106</a> format(sbuf, event); +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">return</strong> sbuf.toString(); +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">/**</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> Format event to string buffer.</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> @param sbuf string buffer to receive formatted event, may not be null.</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> @param e event to format, may not be null.</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> */</em> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> StringBuffer sbuf, <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> e) { +<a name="117" href="#117">117</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; patternConverters.length; i++) { +<a name="118" href="#118">118</a> <strong class="jxr_keyword">int</strong> startField = sbuf.length(); +<a name="119" href="#119">119</a> patternConverters[i].format(e, sbuf); +<a name="120" href="#120">120</a> patternFields[i].format(startField, sbuf); +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> * Will return false if any of the conversion specifiers in the pattern</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> * handles {@link Exception Exceptions}.</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * @return true if the pattern formats any information from exceptions.</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> */</em> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> ignoresThrowable() { +<a name="130" href="#130">130</a> <strong class="jxr_keyword">return</strong> !handlesExceptions; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/BridgePatternParser.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/BridgePatternParser.html new file mode 100644 index 00000000000..8d6f27b7d25 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/BridgePatternParser.html @@ -0,0 +1,62 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>BridgePatternParser xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/BridgePatternParser.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * contract by delegating to the log4j 1.3 pattern implementation.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> *</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> *</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/BridgePatternParser.html">BridgePatternParser</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">extends</strong> org.apache.log4j.helpers.PatternParser { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * Create a new instance.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @param conversionPattern pattern, may not be null.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/BridgePatternParser.html">BridgePatternParser</a>( +<a name="37" href="#37">37</a> <strong class="jxr_keyword">final</strong> String conversionPattern) { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">super</strong>(conversionPattern); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Create new pattern converter.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * @return pattern converter.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> org.apache.log4j.helpers.PatternConverter parse() { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/BridgePatternConverter.html">BridgePatternConverter</a>(pattern); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/CachedDateFormat.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/CachedDateFormat.html new file mode 100644 index 00000000000..40d02685e81 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/CachedDateFormat.html @@ -0,0 +1,386 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>CachedDateFormat xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/CachedDateFormat.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.text.FieldPosition; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.text.NumberFormat; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.text.ParsePosition; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * CachedDateFormat optimizes the performance of a wrapped</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * DateFormat. The implementation is not thread-safe.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * If the millisecond pattern is not recognized,</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * the class will only use the cache if the</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * same value is requested.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> *</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a> <strong class="jxr_keyword">extends</strong> DateFormat { +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Serialization version.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1; +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Constant used to represent that there was no change</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * observed when changing the millisecond count.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> NO_MILLISECONDS = -2; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * Supported digit set. If the wrapped DateFormat uses</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * a different unit set, the millisecond pattern</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * will not be recognized and duplicate requests</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * will use the cache.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DIGITS = <span class="jxr_string">"0123456789"</span>; +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * Constant used to represent that there was an</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * observed change, but was an expected change.</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> */</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> UNRECOGNIZED_MILLISECONDS = -1; +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * First magic number used to detect the millisecond position.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MAGIC1 = 654; +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * Expected representation of first magic number.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> */</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAGICSTRING1 = <span class="jxr_string">"654"</span>; +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment">/**</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * Second magic number used to detect the millisecond position.</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> */</em> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MAGIC2 = 987; +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment">/**</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * Expected representation of second magic number.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> */</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAGICSTRING2 = <span class="jxr_string">"987"</span>; +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment">/**</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * Expected representation of 0 milliseconds.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> */</em> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ZERO_STRING = <span class="jxr_string">"000"</span>; +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment">/**</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * Wrapped formatter.</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> */</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> DateFormat formatter; +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * Index of initial digit of millisecond pattern or</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * UNRECOGNIZED_MILLISECONDS or NO_MILLISECONDS.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> */</em> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> millisecondStart; +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment">/**</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> * Integral second preceding the previous convered Date.</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> */</em> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> slotBegin; +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">/**</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * Cache of previous conversion.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> */</em> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">private</strong> StringBuffer cache = <strong class="jxr_keyword">new</strong> StringBuffer(50); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">/**</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * Maximum validity period for the cache.</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> * Typically 1, use cache for duplicate requests only, or</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> * 1000, use cache for requests within the same integral second.</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> expiration; +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">/**</em> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> * Date requested in previous conversion.</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> */</em> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> previousTime; +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">/**</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> * Scratch date object used to minimize date object creation.</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> */</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Date tmpDate = <strong class="jxr_keyword">new</strong> Date(0); +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em> +<a name="125" href="#125">125</a> <em class="jxr_javadoccomment"> * Creates a new CachedDateFormat object.</em> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> * @param dateFormat Date format, may not be null.</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * @param expiration maximum cached range in milliseconds.</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> * If the dateFormat is known to be incompatible with the</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> * caching algorithm, use a value of 0 to totally disable</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> * caching or 1 to only use cache for duplicate requests.</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> */</em> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a>(<strong class="jxr_keyword">final</strong> DateFormat dateFormat, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> expiration) { +<a name="133" href="#133">133</a> <strong class="jxr_keyword">if</strong> (dateFormat == <strong class="jxr_keyword">null</strong>) { +<a name="134" href="#134">134</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"dateFormat cannot be null"</span>); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">if</strong> (expiration &lt; 0) { +<a name="138" href="#138">138</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"expiration must be non-negative"</span>); +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> formatter = dateFormat; +<a name="142" href="#142">142</a> <strong class="jxr_keyword">this</strong>.expiration = expiration; +<a name="143" href="#143">143</a> millisecondStart = 0; +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_comment">//</em> +<a name="146" href="#146">146</a> <em class="jxr_comment">// set the previousTime so the cache will be invalid</em> +<a name="147" href="#147">147</a> <em class="jxr_comment">// for the next request.</em> +<a name="148" href="#148">148</a> previousTime = Long.MIN_VALUE; +<a name="149" href="#149">149</a> slotBegin = Long.MIN_VALUE; +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">/**</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> * Finds start of millisecond field in formatted time.</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> * @param time long time, must be integral number of seconds</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> * @param formatted String corresponding formatted string</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> * @param formatter DateFormat date format</em> +<a name="157" href="#157">157</a> <em class="jxr_javadoccomment"> * @return int position in string of first digit of milliseconds,</em> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment"> * -1 indicates no millisecond field, -2 indicates unrecognized</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> * field (likely RelativeTimeDateFormat)</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> */</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> findMillisecondStart( +<a name="162" href="#162">162</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> time, <strong class="jxr_keyword">final</strong> String formatted, <strong class="jxr_keyword">final</strong> DateFormat formatter) { +<a name="163" href="#163">163</a> <strong class="jxr_keyword">long</strong> slotBegin = (time / 1000) * 1000; +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">if</strong> (slotBegin &gt; time) { +<a name="166" href="#166">166</a> slotBegin -= 1000; +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <strong class="jxr_keyword">int</strong> millis = (<strong class="jxr_keyword">int</strong>) (time - slotBegin); +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <strong class="jxr_keyword">int</strong> magic = MAGIC1; +<a name="172" href="#172">172</a> String magicString = MAGICSTRING1; +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> <strong class="jxr_keyword">if</strong> (millis == MAGIC1) { +<a name="175" href="#175">175</a> magic = MAGIC2; +<a name="176" href="#176">176</a> magicString = MAGICSTRING2; +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> String plusMagic = formatter.format(<strong class="jxr_keyword">new</strong> Date(slotBegin + magic)); +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">/**</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> * If the string lengths differ then</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> * we can't use the cache except for duplicate requests.</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> */</em> +<a name="185" href="#185">185</a> <strong class="jxr_keyword">if</strong> (plusMagic.length() != formatted.length()) { +<a name="186" href="#186">186</a> <strong class="jxr_keyword">return</strong> UNRECOGNIZED_MILLISECONDS; +<a name="187" href="#187">187</a> } <strong class="jxr_keyword">else</strong> { +<a name="188" href="#188">188</a> <em class="jxr_comment">// find first difference between values</em> +<a name="189" href="#189">189</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; formatted.length(); i++) { +<a name="190" href="#190">190</a> <strong class="jxr_keyword">if</strong> (formatted.charAt(i) != plusMagic.charAt(i)) { +<a name="191" href="#191">191</a> <em class="jxr_comment">//</em> +<a name="192" href="#192">192</a> <em class="jxr_comment">// determine the expected digits for the base time</em> +<a name="193" href="#193">193</a> StringBuffer formattedMillis = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"ABC"</span>); +<a name="194" href="#194">194</a> millisecondFormat(millis, formattedMillis, 0); +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> String plusZero = formatter.format(<strong class="jxr_keyword">new</strong> Date(slotBegin)); +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <em class="jxr_comment">// If the next 3 characters match the magic</em> +<a name="199" href="#199">199</a> <em class="jxr_comment">// string and the expected string</em> +<a name="200" href="#200">200</a> <strong class="jxr_keyword">if</strong> ( +<a name="201" href="#201">201</a> (plusZero.length() == formatted.length()) +<a name="202" href="#202">202</a> &amp;&amp; magicString.regionMatches( +<a name="203" href="#203">203</a> 0, plusMagic, i, magicString.length()) +<a name="204" href="#204">204</a> &amp;&amp; formattedMillis.toString().regionMatches( +<a name="205" href="#205">205</a> 0, formatted, i, magicString.length()) +<a name="206" href="#206">206</a> &amp;&amp; ZERO_STRING.regionMatches( +<a name="207" href="#207">207</a> 0, plusZero, i, ZERO_STRING.length())) { +<a name="208" href="#208">208</a> <strong class="jxr_keyword">return</strong> i; +<a name="209" href="#209">209</a> } <strong class="jxr_keyword">else</strong> { +<a name="210" href="#210">210</a> <strong class="jxr_keyword">return</strong> UNRECOGNIZED_MILLISECONDS; +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> } +<a name="213" href="#213">213</a> } +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <strong class="jxr_keyword">return</strong> NO_MILLISECONDS; +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment">/**</em> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> * Formats a Date into a date/time string.</em> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> *</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> * @param date the date to format.</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> * @param sbuf the string buffer to write to.</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> * @param fieldPosition remains untouched.</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> * @return the formatted time string.</em> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment"> */</em> +<a name="227" href="#227">227</a> <strong class="jxr_keyword">public</strong> StringBuffer format( +<a name="228" href="#228">228</a> Date date, StringBuffer sbuf, FieldPosition fieldPosition) { +<a name="229" href="#229">229</a> format(date.getTime(), sbuf); +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <strong class="jxr_keyword">return</strong> sbuf; +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em class="jxr_javadoccomment">/**</em> +<a name="235" href="#235">235</a> <em class="jxr_javadoccomment"> * Formats a millisecond count into a date/time string.</em> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment"> *</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> * @param now Number of milliseconds after midnight 1 Jan 1970 GMT.</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> * @param buf the string buffer to write to.</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> * @return the formatted time string.</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> */</em> +<a name="241" href="#241">241</a> <strong class="jxr_keyword">public</strong> StringBuffer format(<strong class="jxr_keyword">long</strong> now, StringBuffer buf) { +<a name="242" href="#242">242</a> <em class="jxr_comment">//</em> +<a name="243" href="#243">243</a> <em class="jxr_comment">// If the current requested time is identical to the previously</em> +<a name="244" href="#244">244</a> <em class="jxr_comment">// requested time, then append the cache contents.</em> +<a name="245" href="#245">245</a> <em class="jxr_comment">//</em> +<a name="246" href="#246">246</a> <strong class="jxr_keyword">if</strong> (now == previousTime) { +<a name="247" href="#247">247</a> buf.append(cache); +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <strong class="jxr_keyword">return</strong> buf; +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <em class="jxr_comment">//</em> +<a name="253" href="#253">253</a> <em class="jxr_comment">// If millisecond pattern was not unrecognized </em> +<a name="254" href="#254">254</a> <em class="jxr_comment">// (that is if it was found or milliseconds did not appear) </em> +<a name="255" href="#255">255</a> <em class="jxr_comment">// </em> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">if</strong> (millisecondStart != UNRECOGNIZED_MILLISECONDS &amp;&amp; +<a name="257" href="#257">257</a> <em class="jxr_comment">// Check if the cache is still valid.</em> +<a name="258" href="#258">258</a> <em class="jxr_comment">// If the requested time is within the same integral second</em> +<a name="259" href="#259">259</a> <em class="jxr_comment">// as the last request and a shorter expiration was not requested.</em> +<a name="260" href="#260">260</a> (now &lt; (slotBegin + expiration)) &amp;&amp; (now &gt;= slotBegin) +<a name="261" href="#261">261</a> &amp;&amp; (now &lt; (slotBegin + 1000L))) { +<a name="262" href="#262">262</a> <em class="jxr_comment">// </em> +<a name="263" href="#263">263</a> <em class="jxr_comment">// if there was a millisecond field then update it</em> +<a name="264" href="#264">264</a> <em class="jxr_comment">//</em> +<a name="265" href="#265">265</a> <strong class="jxr_keyword">if</strong> (millisecondStart &gt;= 0) { +<a name="266" href="#266">266</a> millisecondFormat((<strong class="jxr_keyword">int</strong>) (now - slotBegin), cache, millisecondStart); +<a name="267" href="#267">267</a> } +<a name="268" href="#268">268</a> +<a name="269" href="#269">269</a> <em class="jxr_comment">//</em> +<a name="270" href="#270">270</a> <em class="jxr_comment">// update the previously requested time</em> +<a name="271" href="#271">271</a> <em class="jxr_comment">// (the slot begin should be unchanged)</em> +<a name="272" href="#272">272</a> previousTime = now; +<a name="273" href="#273">273</a> buf.append(cache); +<a name="274" href="#274">274</a> +<a name="275" href="#275">275</a> <strong class="jxr_keyword">return</strong> buf; +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> <em class="jxr_comment">//</em> +<a name="279" href="#279">279</a> <em class="jxr_comment">// could not use previous value. </em> +<a name="280" href="#280">280</a> <em class="jxr_comment">// Call underlying formatter to format date.</em> +<a name="281" href="#281">281</a> cache.setLength(0); +<a name="282" href="#282">282</a> tmpDate.setTime(now); +<a name="283" href="#283">283</a> cache.append(formatter.format(tmpDate)); +<a name="284" href="#284">284</a> buf.append(cache); +<a name="285" href="#285">285</a> previousTime = now; +<a name="286" href="#286">286</a> slotBegin = (previousTime / 1000) * 1000; +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> <strong class="jxr_keyword">if</strong> (slotBegin &gt; previousTime) { +<a name="289" href="#289">289</a> slotBegin -= 1000; +<a name="290" href="#290">290</a> } +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> <em class="jxr_comment">//</em> +<a name="293" href="#293">293</a> <em class="jxr_comment">// if the milliseconds field was previous found</em> +<a name="294" href="#294">294</a> <em class="jxr_comment">// then reevaluate in case it moved.</em> +<a name="295" href="#295">295</a> <em class="jxr_comment">//</em> +<a name="296" href="#296">296</a> <strong class="jxr_keyword">if</strong> (millisecondStart &gt;= 0) { +<a name="297" href="#297">297</a> millisecondStart = +<a name="298" href="#298">298</a> findMillisecondStart(now, cache.toString(), formatter); +<a name="299" href="#299">299</a> } +<a name="300" href="#300">300</a> +<a name="301" href="#301">301</a> <strong class="jxr_keyword">return</strong> buf; +<a name="302" href="#302">302</a> } +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment">/**</em> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment"> * Formats a count of milliseconds (0-999) into a numeric representation.</em> +<a name="306" href="#306">306</a> <em class="jxr_javadoccomment"> * @param millis Millisecond coun between 0 and 999.</em> +<a name="307" href="#307">307</a> <em class="jxr_javadoccomment"> * @param buf String buffer, may not be null.</em> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment"> * @param offset Starting position in buffer, the length of the</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> * buffer must be at least offset + 3.</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> */</em> +<a name="311" href="#311">311</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> millisecondFormat( +<a name="312" href="#312">312</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> millis, <strong class="jxr_keyword">final</strong> StringBuffer buf, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> offset) { +<a name="313" href="#313">313</a> buf.setCharAt(offset, DIGITS.charAt(millis / 100)); +<a name="314" href="#314">314</a> buf.setCharAt(offset + 1, DIGITS.charAt((millis / 10) % 10)); +<a name="315" href="#315">315</a> buf.setCharAt(offset + 2, DIGITS.charAt(millis % 10)); +<a name="316" href="#316">316</a> } +<a name="317" href="#317">317</a> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment">/**</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> * Set timezone.</em> +<a name="320" href="#320">320</a> <em class="jxr_javadoccomment"> *</em> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment"> * Setting the timezone using getCalendar().setTimeZone()</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> * will likely cause caching to misbehave.</em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> * @param timeZone TimeZone new timezone</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> */</em> +<a name="325" href="#325">325</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTimeZone(<strong class="jxr_keyword">final</strong> TimeZone timeZone) { +<a name="326" href="#326">326</a> formatter.setTimeZone(timeZone); +<a name="327" href="#327">327</a> previousTime = Long.MIN_VALUE; +<a name="328" href="#328">328</a> slotBegin = Long.MIN_VALUE; +<a name="329" href="#329">329</a> } +<a name="330" href="#330">330</a> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">/**</em> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> * This method is delegated to the formatter which most</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> * likely returns null.</em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> * @param s string representation of date.</em> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment"> * @param pos field position, unused.</em> +<a name="336" href="#336">336</a> <em class="jxr_javadoccomment"> * @return parsed date, likely null.</em> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment"> */</em> +<a name="338" href="#338">338</a> <strong class="jxr_keyword">public</strong> Date parse(String s, ParsePosition pos) { +<a name="339" href="#339">339</a> <strong class="jxr_keyword">return</strong> formatter.parse(s, pos); +<a name="340" href="#340">340</a> } +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment">/**</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> * Gets number formatter.</em> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment"> *</em> +<a name="345" href="#345">345</a> <em class="jxr_javadoccomment"> * @return NumberFormat number formatter</em> +<a name="346" href="#346">346</a> <em class="jxr_javadoccomment"> */</em> +<a name="347" href="#347">347</a> <strong class="jxr_keyword">public</strong> NumberFormat getNumberFormat() { +<a name="348" href="#348">348</a> <strong class="jxr_keyword">return</strong> formatter.getNumberFormat(); +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> +<a name="351" href="#351">351</a> <em class="jxr_javadoccomment">/**</em> +<a name="352" href="#352">352</a> <em class="jxr_javadoccomment"> * Gets maximum cache validity for the specified SimpleDateTime</em> +<a name="353" href="#353">353</a> <em class="jxr_javadoccomment"> * conversion pattern.</em> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment"> * @param pattern conversion pattern, may not be null.</em> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment"> * @return Duration in milliseconds from an integral second</em> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> * that the cache will return consistent results.</em> +<a name="357" href="#357">357</a> <em class="jxr_javadoccomment"> */</em> +<a name="358" href="#358">358</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> getMaximumCacheValidity(<strong class="jxr_keyword">final</strong> String pattern) { +<a name="359" href="#359">359</a> <em class="jxr_comment">//</em> +<a name="360" href="#360">360</a> <em class="jxr_comment">// If there are more "S" in the pattern than just one "SSS" then</em> +<a name="361" href="#361">361</a> <em class="jxr_comment">// (for example, "HH:mm:ss,SSS SSS"), then set the expiration to</em> +<a name="362" href="#362">362</a> <em class="jxr_comment">// one millisecond which should only perform duplicate request caching.</em> +<a name="363" href="#363">363</a> <em class="jxr_comment">//</em> +<a name="364" href="#364">364</a> <strong class="jxr_keyword">int</strong> firstS = pattern.indexOf('S'); +<a name="365" href="#365">365</a> +<a name="366" href="#366">366</a> <strong class="jxr_keyword">if</strong> ((firstS &gt;= 0) &amp;&amp; (firstS != pattern.lastIndexOf(<span class="jxr_string">"SSS"</span>))) { +<a name="367" href="#367">367</a> <strong class="jxr_keyword">return</strong> 1; +<a name="368" href="#368">368</a> } +<a name="369" href="#369">369</a> +<a name="370" href="#370">370</a> <strong class="jxr_keyword">return</strong> 1000; +<a name="371" href="#371">371</a> } +<a name="372" href="#372">372</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ClassNamePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ClassNamePatternConverter.html new file mode 100644 index 00000000000..568782869f1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ClassNamePatternConverter.html @@ -0,0 +1,80 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ClassNamePatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LocationInfo; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Formats the class name of the site of the logging request.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html">ClassNamePatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/NamePatternConverter.html">NamePatternConverter</a> { +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html">ClassNamePatternConverter</a>( +<a name="35" href="#35">35</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="36" href="#36">36</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Class Name"</span>, <span class="jxr_string">"class name"</span>, options); +<a name="37" href="#37">37</a> } +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * Gets an instance of ClassNamePatternConverter.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html">ClassNamePatternConverter</a> newInstance( +<a name="45" href="#45">45</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html">ClassNamePatternConverter</a>(options); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * Format a logging event.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * @param event event to format.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @param toAppendTo string buffer to which class name will be appended.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="55" href="#55">55</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> initialLength = toAppendTo.length(); +<a name="56" href="#56">56</a> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> li = event.getLocationInformation(); +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">if</strong> (li == <strong class="jxr_keyword">null</strong>) { +<a name="59" href="#59">59</a> toAppendTo.append(LocationInfo.NA); +<a name="60" href="#60">60</a> } <strong class="jxr_keyword">else</strong> { +<a name="61" href="#61">61</a> toAppendTo.append(li.getClassName()); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> abbreviate(initialLength, toAppendTo); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/DatePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/DatePatternConverter.html new file mode 100644 index 00000000000..9e0fdbba1de --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/DatePatternConverter.html @@ -0,0 +1,219 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DatePatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/DatePatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.text.DateFormat; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.text.FieldPosition; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.text.ParsePosition; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.TimeZone; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Convert and format the event's date in a StringBuffer.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> *</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">DatePatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * ABSOLUTE string literal.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ABSOLUTE_FORMAT = <span class="jxr_string">"ABSOLUTE"</span>; +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * SimpleTimePattern for ABSOLUTE.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ABSOLUTE_TIME_PATTERN = <span class="jxr_string">"HH:mm:ss,SSS"</span>; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * DATE string literal.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DATE_AND_TIME_FORMAT = <span class="jxr_string">"DATE"</span>; +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * SimpleTimePattern for DATE.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DATE_AND_TIME_PATTERN = <span class="jxr_string">"dd MMM yyyy HH:mm:ss,SSS"</span>; +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment">/**</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * ISO8601 string literal.</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> */</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ISO8601_FORMAT = <span class="jxr_string">"ISO8601"</span>; +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * SimpleTimePattern for ISO8601.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ISO8601_PATTERN = <span class="jxr_string">"yyyy-MM-dd HH:mm:ss,SSS"</span>; +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment">/**</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * Date format.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a> df; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * This class wraps a DateFormat and forces the time zone to the</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * default time zone before each format and parse request.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> */</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DefaultZoneDateFormat</a> <strong class="jxr_keyword">extends</strong> DateFormat { +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment">/**</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * Serialization version ID.</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> */</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1; +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * Wrapped instance of DateFormat.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> */</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> DateFormat dateFormat; +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment">/**</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * Construct new instance.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * @param format format, may not be null.</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> */</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DefaultZoneDateFormat</a>(<strong class="jxr_keyword">final</strong> DateFormat format) { +<a name="88" href="#88">88</a> dateFormat = format; +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">public</strong> StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { +<a name="95" href="#95">95</a> dateFormat.setTimeZone(TimeZone.getDefault()); +<a name="96" href="#96">96</a> <strong class="jxr_keyword">return</strong> dateFormat.format(date, toAppendTo, fieldPosition); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * @{inheritDoc}</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> Date parse(String source, ParsePosition pos) { +<a name="103" href="#103">103</a> dateFormat.setTimeZone(TimeZone.getDefault()); +<a name="104" href="#104">104</a> <strong class="jxr_keyword">return</strong> dateFormat.parse(source, pos); +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">/**</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">DatePatternConverter</a>(<strong class="jxr_keyword">final</strong> String[] options) { +<a name="113" href="#113">113</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Date"</span>, <span class="jxr_string">"date"</span>); +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> String patternOption; +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <strong class="jxr_keyword">if</strong> ((options == <strong class="jxr_keyword">null</strong>) || (options.length == 0)) { +<a name="118" href="#118">118</a> <em class="jxr_comment">// the branch could be optimized, but here we are making explicit</em> +<a name="119" href="#119">119</a> <em class="jxr_comment">// that null values for patternOption are allowed.</em> +<a name="120" href="#120">120</a> patternOption = <strong class="jxr_keyword">null</strong>; +<a name="121" href="#121">121</a> } <strong class="jxr_keyword">else</strong> { +<a name="122" href="#122">122</a> patternOption = options[0]; +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> String pattern; +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <strong class="jxr_keyword">if</strong> ( +<a name="128" href="#128">128</a> (patternOption == <strong class="jxr_keyword">null</strong>) +<a name="129" href="#129">129</a> || patternOption.equalsIgnoreCase(ISO8601_FORMAT)) { +<a name="130" href="#130">130</a> pattern = ISO8601_PATTERN; +<a name="131" href="#131">131</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (patternOption.equalsIgnoreCase(ABSOLUTE_FORMAT)) { +<a name="132" href="#132">132</a> pattern = ABSOLUTE_TIME_PATTERN; +<a name="133" href="#133">133</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (patternOption.equalsIgnoreCase(DATE_AND_TIME_FORMAT)) { +<a name="134" href="#134">134</a> pattern = DATE_AND_TIME_PATTERN; +<a name="135" href="#135">135</a> } <strong class="jxr_keyword">else</strong> { +<a name="136" href="#136">136</a> pattern = patternOption; +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">int</strong> maximumCacheValidity = 1000; +<a name="140" href="#140">140</a> DateFormat simpleFormat = <strong class="jxr_keyword">null</strong>; +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">try</strong> { +<a name="143" href="#143">143</a> simpleFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(pattern); +<a name="144" href="#144">144</a> maximumCacheValidity = CachedDateFormat.getMaximumCacheValidity(pattern); +<a name="145" href="#145">145</a> } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) { +<a name="146" href="#146">146</a> LogLog.warn( +<a name="147" href="#147">147</a> <span class="jxr_string">"Could not instantiate SimpleDateFormat with pattern "</span> +<a name="148" href="#148">148</a> + patternOption, e); +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em class="jxr_comment">// default to the ISO8601 format</em> +<a name="151" href="#151">151</a> simpleFormat = <strong class="jxr_keyword">new</strong> SimpleDateFormat(ISO8601_PATTERN); +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> <em class="jxr_comment">// if the option list contains a TZ option, then set it.</em> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">if</strong> ((options != <strong class="jxr_keyword">null</strong>) &amp;&amp; (options.length &gt; 1)) { +<a name="156" href="#156">156</a> TimeZone tz = TimeZone.getTimeZone((String) options[1]); +<a name="157" href="#157">157</a> simpleFormat.setTimeZone(tz); +<a name="158" href="#158">158</a> } <strong class="jxr_keyword">else</strong> { +<a name="159" href="#159">159</a> simpleFormat = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DefaultZoneDateFormat</a>(simpleFormat); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> df = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a>(simpleFormat, maximumCacheValidity); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">/**</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> * Obtains an instance of pattern converter.</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="168" href="#168">168</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment"> */</em> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">DatePatternConverter</a> newInstance( +<a name="171" href="#171">171</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="172" href="#172">172</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">DatePatternConverter</a>(options); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">/**</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> */</em> +<a name="178" href="#178">178</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer output) { +<a name="179" href="#179">179</a> <strong class="jxr_keyword">synchronized</strong>(<strong class="jxr_keyword">this</strong>) { +<a name="180" href="#180">180</a> df.format(event.timeStamp, output); +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">/**</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> */</em> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> Object obj, <strong class="jxr_keyword">final</strong> StringBuffer output) { +<a name="188" href="#188">188</a> <strong class="jxr_keyword">if</strong> (obj instanceof Date) { +<a name="189" href="#189">189</a> format((Date) obj, output); +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> <strong class="jxr_keyword">super</strong>.format(obj, output); +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment">/**</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> * Append formatted date to string buffer.</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> * @param date date</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> * @param toAppendTo buffer to which formatted date is appended.</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> */</em> +<a name="200" href="#200">200</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> Date date, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="201" href="#201">201</a> <strong class="jxr_keyword">synchronized</strong>(<strong class="jxr_keyword">this</strong>) { +<a name="202" href="#202">202</a> df.format(date.getTime(), toAppendTo); +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FileDatePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FileDatePatternConverter.html new file mode 100644 index 00000000000..14ba00bae06 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FileDatePatternConverter.html @@ -0,0 +1,64 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FileDatePatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * Formats an date by delegating to DatePatternConverter. The default</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * date pattern for a %d specifier in a file name is different than</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * the %d pattern in pattern layout.</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> *</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/FileDatePatternConverter.html">FileDatePatternConverter</a> { +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/FileDatePatternConverter.html">FileDatePatternConverter</a>() { +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * Obtains an instance of pattern converter.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> newInstance( +<a name="40" href="#40">40</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">if</strong> ((options == <strong class="jxr_keyword">null</strong>) || (options.length == 0)) { +<a name="42" href="#42">42</a> <strong class="jxr_keyword">return</strong> DatePatternConverter.newInstance( +<a name="43" href="#43">43</a> <strong class="jxr_keyword">new</strong> String[] { +<a name="44" href="#44">44</a> <span class="jxr_string">"yyyy-MM-dd"</span> +<a name="45" href="#45">45</a> }); +<a name="46" href="#46">46</a> } +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">return</strong> DatePatternConverter.newInstance(options); +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FileLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FileLocationPatternConverter.html new file mode 100644 index 00000000000..cedbb5189dc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FileLocationPatternConverter.html @@ -0,0 +1,78 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FileLocationPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LocationInfo; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Return the event's line location information in a StringBuffer.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html">FileLocationPatternConverter</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html">FileLocationPatternConverter</a> INSTANCE = +<a name="35" href="#35">35</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html">FileLocationPatternConverter</a>(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html">FileLocationPatternConverter</a>() { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"File Location"</span>, <span class="jxr_string">"file"</span>); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Obtains an instance of pattern converter.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html">FileLocationPatternConverter</a> newInstance( +<a name="50" href="#50">50</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer output) { +<a name="58" href="#58">58</a> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> locationInfo = event.getLocationInformation(); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">if</strong> (locationInfo != <strong class="jxr_keyword">null</strong>) { +<a name="61" href="#61">61</a> output.append(locationInfo.getFileName()); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FormattingInfo.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FormattingInfo.html new file mode 100644 index 00000000000..e2ce07a3c8e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FormattingInfo.html @@ -0,0 +1,148 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FormattingInfo xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/FormattingInfo.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * Modifies the output of a pattern converter for a specified minimum</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * and maximum width and alignment.</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> *</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author &lt;a href=<a href="mailto:jim_cakalic@na.biomerieux.com&gt;Jim" target="alexandria_uri">mailto:jim_cakalic@na.biomerieux.com&gt;Jim</a> Cakalic&lt;/a&gt;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> *</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> { +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * Array of spaces.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong>[] SPACES = +<a name="36" href="#36">36</a> <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[] { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Default instance.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> DEFAULT = +<a name="42" href="#42">42</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>(false, 0, Integer.MAX_VALUE); +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Minimum length.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> minLength; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * Maximum length.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> maxLength; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * Alignment.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> leftAlign; +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * Creates new instance.</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * @param leftAlign left align if true.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * @param minLength minimum length.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * @param maxLength maximum length.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( +<a name="66" href="#66">66</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> leftAlign, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> minLength, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> maxLength) { +<a name="67" href="#67">67</a> <strong class="jxr_keyword">this</strong>.leftAlign = leftAlign; +<a name="68" href="#68">68</a> <strong class="jxr_keyword">this</strong>.minLength = minLength; +<a name="69" href="#69">69</a> <strong class="jxr_keyword">this</strong>.maxLength = maxLength; +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment">/**</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> * Gets default instance.</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * @return default instance.</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> getDefault() { +<a name="77" href="#77">77</a> <strong class="jxr_keyword">return</strong> DEFAULT; +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment">/**</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * Determine if left aligned.</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * @return true if left aligned.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> */</em> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isLeftAligned() { +<a name="85" href="#85">85</a> <strong class="jxr_keyword">return</strong> leftAlign; +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment">/**</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> * Get minimum length.</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * @return minimum length.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> */</em> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getMinLength() { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">return</strong> minLength; +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment">/**</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> * Get maximum length.</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> * @return maximum length.</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> */</em> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getMaxLength() { +<a name="101" href="#101">101</a> <strong class="jxr_keyword">return</strong> maxLength; +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">/**</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> * Adjust the content of the buffer based on the specified lengths and alignment.</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> *</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * @param fieldStart start of field in buffer.</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * @param buffer buffer to be modified.</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> */</em> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> fieldStart, <strong class="jxr_keyword">final</strong> StringBuffer buffer) { +<a name="111" href="#111">111</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> rawLength = buffer.length() - fieldStart; +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">if</strong> (rawLength &gt; maxLength) { +<a name="114" href="#114">114</a> buffer.delete(fieldStart, buffer.length() - maxLength); +<a name="115" href="#115">115</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (rawLength &lt; minLength) { +<a name="116" href="#116">116</a> <strong class="jxr_keyword">if</strong> (leftAlign) { +<a name="117" href="#117">117</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> fieldEnd = buffer.length(); +<a name="118" href="#118">118</a> buffer.setLength(fieldStart + minLength); +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = fieldEnd; i &lt; buffer.length(); i++) { +<a name="121" href="#121">121</a> buffer.setCharAt(i, ' '); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> } <strong class="jxr_keyword">else</strong> { +<a name="124" href="#124">124</a> <strong class="jxr_keyword">int</strong> padLength = minLength - rawLength; +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">for</strong> (; padLength &gt; 8; padLength -= 8) { +<a name="127" href="#127">127</a> buffer.insert(fieldStart, SPACES); +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> buffer.insert(fieldStart, SPACES, 0, padLength); +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FullLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FullLocationPatternConverter.html new file mode 100644 index 00000000000..8f140a34572 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/FullLocationPatternConverter.html @@ -0,0 +1,78 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FullLocationPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LocationInfo; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Format the event's line location information.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html">FullLocationPatternConverter</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html">FullLocationPatternConverter</a> INSTANCE = +<a name="35" href="#35">35</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html">FullLocationPatternConverter</a>(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html">FullLocationPatternConverter</a>() { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Full Location"</span>, <span class="jxr_string">"fullLocation"</span>); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Obtains an instance of pattern converter.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html">FullLocationPatternConverter</a> newInstance( +<a name="50" href="#50">50</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer output) { +<a name="58" href="#58">58</a> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> locationInfo = event.getLocationInformation(); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">if</strong> (locationInfo != <strong class="jxr_keyword">null</strong>) { +<a name="61" href="#61">61</a> output.append(locationInfo.fullInfo); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/IntegerPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/IntegerPatternConverter.html new file mode 100644 index 00000000000..f0e0d5fc5e4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/IntegerPatternConverter.html @@ -0,0 +1,78 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>IntegerPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Date; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Formats an integer.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html">IntegerPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> { +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html">IntegerPatternConverter</a> INSTANCE = +<a name="33" href="#33">33</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html">IntegerPatternConverter</a>(); +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html">IntegerPatternConverter</a>() { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Integer"</span>, <span class="jxr_string">"integer"</span>); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * Obtains an instance of pattern converter.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/IntegerPatternConverter.html">IntegerPatternConverter</a> newInstance( +<a name="48" href="#48">48</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(Object obj, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="56" href="#56">56</a> <strong class="jxr_keyword">if</strong> (obj instanceof Integer) { +<a name="57" href="#57">57</a> toAppendTo.append(obj.toString()); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">if</strong> (obj instanceof Date) { +<a name="61" href="#61">61</a> toAppendTo.append(Long.toString(((Date) obj).getTime())); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LevelPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LevelPatternConverter.html new file mode 100644 index 00000000000..f134d376f15 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LevelPatternConverter.html @@ -0,0 +1,112 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LevelPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/LevelPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Return the event's level in a StringBuffer.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/LevelPatternConverter.html">LevelPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Integer severity for Level.TRACE.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TRACE_INT = 5000; +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/LevelPatternConverter.html">LevelPatternConverter</a> INSTANCE = +<a name="39" href="#39">39</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/LevelPatternConverter.html">LevelPatternConverter</a>(); +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/LevelPatternConverter.html">LevelPatternConverter</a>() { +<a name="45" href="#45">45</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Level"</span>, <span class="jxr_string">"level"</span>); +<a name="46" href="#46">46</a> } +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment">/**</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * Obtains an instance of pattern converter.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/LevelPatternConverter.html">LevelPatternConverter</a> newInstance( +<a name="54" href="#54">54</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="55" href="#55">55</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer output) { +<a name="62" href="#62">62</a> output.append(event.getLevel().toString()); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">/**</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> */</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> String getStyleClass(Object e) { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">if</strong> (e instanceof LoggingEvent) { +<a name="70" href="#70">70</a> <strong class="jxr_keyword">int</strong> lint = ((LoggingEvent) e).getLevel().toInt(); +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">switch</strong> (lint) { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">case</strong> TRACE_INT: +<a name="74" href="#74">74</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"level trace"</span>; +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">case</strong> Level.DEBUG_INT: +<a name="77" href="#77">77</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"level debug"</span>; +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">case</strong> Level.INFO_INT: +<a name="80" href="#80">80</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"level info"</span>; +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">case</strong> Level.WARN_INT: +<a name="83" href="#83">83</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"level warn"</span>; +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">case</strong> Level.ERROR_INT: +<a name="86" href="#86">86</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"level error"</span>; +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">case</strong> Level.FATAL_INT: +<a name="89" href="#89">89</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"level fatal"</span>; +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">default</strong>: +<a name="92" href="#92">92</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"level "</span> + ((LoggingEvent) e).getLevel().toString(); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"level"</span>; +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LineLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LineLocationPatternConverter.html new file mode 100644 index 00000000000..9b0482e1dab --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LineLocationPatternConverter.html @@ -0,0 +1,78 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LineLocationPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LocationInfo; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Return the event's line location information in a StringBuffer.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html">LineLocationPatternConverter</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html">LineLocationPatternConverter</a> INSTANCE = +<a name="35" href="#35">35</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html">LineLocationPatternConverter</a>(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html">LineLocationPatternConverter</a>() { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Line"</span>, <span class="jxr_string">"line"</span>); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Obtains an instance of pattern converter.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html">LineLocationPatternConverter</a> newInstance( +<a name="50" href="#50">50</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer output) { +<a name="58" href="#58">58</a> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> locationInfo = event.getLocationInformation(); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">if</strong> (locationInfo != <strong class="jxr_keyword">null</strong>) { +<a name="61" href="#61">61</a> output.append(locationInfo.getLineNumber()); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LineSeparatorPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LineSeparatorPatternConverter.html new file mode 100644 index 00000000000..e77c9333f1b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LineSeparatorPatternConverter.html @@ -0,0 +1,87 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LineSeparatorPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Formats a line separator.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html">LineSeparatorPatternConverter</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html">LineSeparatorPatternConverter</a> INSTANCE = +<a name="35" href="#35">35</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html">LineSeparatorPatternConverter</a>(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Line separator.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String lineSep; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html">LineSeparatorPatternConverter</a>() { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Line Sep"</span>, <span class="jxr_string">"lineSep"</span>); +<a name="47" href="#47">47</a> lineSep = Layout.LINE_SEP; +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * Obtains an instance of pattern converter.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html">LineSeparatorPatternConverter</a> newInstance( +<a name="56" href="#56">56</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="57" href="#57">57</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="64" href="#64">64</a> toAppendTo.append(lineSep); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment">/**</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> */</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> Object obj, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="71" href="#71">71</a> toAppendTo.append(lineSep); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LiteralPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LiteralPatternConverter.html new file mode 100644 index 00000000000..a6e571b02a6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LiteralPatternConverter.html @@ -0,0 +1,71 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LiteralPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Formats a string literal.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html">LiteralPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * String literal.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String literal; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Create a new instance.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @param literal string literal.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html">LiteralPatternConverter</a>(<strong class="jxr_keyword">final</strong> String literal) { +<a name="40" href="#40">40</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Literal"</span>, <span class="jxr_string">"literal"</span>); +<a name="41" href="#41">41</a> <strong class="jxr_keyword">this</strong>.literal = literal; +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="48" href="#48">48</a> toAppendTo.append(literal); +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> Object obj, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="55" href="#55">55</a> toAppendTo.append(literal); +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LogEvent.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LogEvent.html new file mode 100644 index 00000000000..272853bf72c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LogEvent.html @@ -0,0 +1,614 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LogEvent xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/LogEvent.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Category; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.MDC; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.NDC; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.Loader; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LocationInfo; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.RendererSupport; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableInformation; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> java.util.Collections; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> java.util.HashMap; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> java.util.Set; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_comment">// Contributors: Nelson Minar &lt;nelson@monkey.org&gt;</em> +<a name="43" href="#43">43</a> <em class="jxr_comment">// Wolf Siberski</em> +<a name="44" href="#44">44</a> <em class="jxr_comment">// Anders Kristensen &lt;akristensen@dynamicsoft.com&gt;</em> +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * This class is a copy of o.a.l.spi.LoggingEvent from</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * log4j 1.2.15 which has been renamed to keep</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * the same overall class name length to allow a</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * serialization written with a prior instance of o.a.l.spi.LoggingEvent</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * to be deserialized with this class just by mangling the class name</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * in the byte stream.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> *</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/LogEvent.html">LogEvent</a> implements java.io.Serializable { +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">long</strong> startTime = System.currentTimeMillis(); +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Fully qualified name of the calling category class. */</em> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> String fqnOfCategoryClass; +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * The category of the logging event. This field is not serialized</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * for performance reasons.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> *</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * &lt;p&gt;It is set by the LoggingEvent constructor or set by a remote</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * entity after deserialization.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * </em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * @deprecated This field will be marked as private or be completely</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * removed in future releases. Please do not use it.</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Category.html">Category</a> logger; +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * &lt;p&gt;The category (logger) name.</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * </em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * @deprecated This field will be marked as private in future</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * releases. Please do not access it directly. Use the {@link</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * #getLoggerName} method instead.</em> +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * */</em> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">public</strong> String categoryName; +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * Level of logging event. Level cannot be serializable because it</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * is a flyweight. Due to its special seralization it cannot be</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * declared final either.</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * </em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> * &lt;p&gt; This field should not be accessed directly. You shoud use the</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * {@link #getLevel} method instead.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> *</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * @deprecated This field will be marked as private in future</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * releases. Please do not access it directly. Use the {@link</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * #getLevel} method instead.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> level; +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The nested diagnostic context (NDC) of logging event. */</em> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">private</strong> String ndc; +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The mapped diagnostic context (MDC) of logging event. */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">private</strong> Hashtable mdcCopy; +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Have we tried to do an NDC lookup? If we did, there is no need</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * to do it again. Note that its value is always false when</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * serialized. Thus, a receiving SocketNode will never use it's own</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * (incorrect) NDC. See also writeObject method. */</em> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> ndcLookupRequired = <strong class="jxr_keyword">true</strong>; +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Have we tried to do an MDC lookup? If we did, there is no need</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> * to do it again. Note that its value is always false when</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> * serialized. See also the getMDC and getMDCCopy methods. */</em> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> mdcCopyLookupRequired = <strong class="jxr_keyword">true</strong>; +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The application supplied message of logging event. */</em> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">private</strong> Object message; +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The application supplied message rendered through the log4j</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> objet rendering mechanism.*/</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">private</strong> String renderedMessage; +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The name of thread in which this logging event was generated. */</em> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">private</strong> String threadName; +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> This</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> variable contains information about this event's throwable</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> */</em> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a> throwableInfo; +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The number of milliseconds elapsed from 1/1/1970 until logging event</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> was created. */</em> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> timeStamp; +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Location information for the caller. */</em> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> locationInfo; +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_comment">// Serialization</em> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -868428216207166145L; +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Integer[] PARAM_ARRAY = <strong class="jxr_keyword">new</strong> Integer[1]; +<a name="143" href="#143">143</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TO_LEVEL = <span class="jxr_string">"toLevel"</span>; +<a name="144" href="#144">144</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Class[] TO_LEVEL_PARAMS = <strong class="jxr_keyword">new</strong> Class[] {<strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>}; +<a name="145" href="#145">145</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Hashtable methodCache = <strong class="jxr_keyword">new</strong> Hashtable(3); <em class="jxr_comment">// use a tiny table</em> +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">/**</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> Instantiate a LoggingEvent from the supplied parameters.</em> +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> &lt;p&gt;Except {@link #timeStamp} all the other fields of</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> &lt;code&gt;LoggingEvent&lt;/code&gt; are filled when actually needed.</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> @param logger The logger generating this event.</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> @param level The level of this event.</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> @param message The message of this event.</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> @param throwable The throwable of this event. */</em> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/LogEvent.html">LogEvent</a>(String fqnOfCategoryClass, <a href="../../../../org/apache/log4j/Category.html">Category</a> logger, +<a name="158" href="#158">158</a> Priority level, Object message, Throwable throwable) { +<a name="159" href="#159">159</a> <strong class="jxr_keyword">this</strong>.fqnOfCategoryClass = fqnOfCategoryClass; +<a name="160" href="#160">160</a> <strong class="jxr_keyword">this</strong>.logger = logger; +<a name="161" href="#161">161</a> <strong class="jxr_keyword">this</strong>.categoryName = logger.getName(); +<a name="162" href="#162">162</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="163" href="#163">163</a> <strong class="jxr_keyword">this</strong>.message = message; +<a name="164" href="#164">164</a> <strong class="jxr_keyword">if</strong>(throwable != <strong class="jxr_keyword">null</strong>) { +<a name="165" href="#165">165</a> <strong class="jxr_keyword">this</strong>.throwableInfo = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a>(throwable); +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> timeStamp = System.currentTimeMillis(); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">/**</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> Instantiate a LoggingEvent from the supplied parameters.</em> +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> &lt;p&gt;Except {@link #timeStamp} all the other fields of</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> &lt;code&gt;LoggingEvent&lt;/code&gt; are filled when actually needed.</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> @param logger The logger generating this event.</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> @param timeStamp the timestamp of this logging event</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> @param level The level of this event.</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> @param message The message of this event.</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> @param throwable The throwable of this event. */</em> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/LogEvent.html">LogEvent</a>(String fqnOfCategoryClass, <a href="../../../../org/apache/log4j/Category.html">Category</a> logger, +<a name="182" href="#182">182</a> <strong class="jxr_keyword">long</strong> timeStamp, Priority level, Object message, +<a name="183" href="#183">183</a> Throwable throwable) { +<a name="184" href="#184">184</a> <strong class="jxr_keyword">this</strong>.fqnOfCategoryClass = fqnOfCategoryClass; +<a name="185" href="#185">185</a> <strong class="jxr_keyword">this</strong>.logger = logger; +<a name="186" href="#186">186</a> <strong class="jxr_keyword">this</strong>.categoryName = logger.getName(); +<a name="187" href="#187">187</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="188" href="#188">188</a> <strong class="jxr_keyword">this</strong>.message = message; +<a name="189" href="#189">189</a> <strong class="jxr_keyword">if</strong>(throwable != <strong class="jxr_keyword">null</strong>) { +<a name="190" href="#190">190</a> <strong class="jxr_keyword">this</strong>.throwableInfo = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a>(throwable); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">this</strong>.timeStamp = timeStamp; +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">/**</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> Create new instance.</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> @since 1.2.15</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> @param fqnOfCategoryClass Fully qualified class name</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> of Logger implementation.</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> @param logger The logger generating this event.</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> @param timeStamp the timestamp of this logging event</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> @param level The level of this event.</em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> @param message The message of this event.</em> +<a name="205" href="#205">205</a> <em class="jxr_javadoccomment"> @param threadName thread name</em> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> @param throwable The throwable of this event.</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> @param ndc Nested diagnostic context</em> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment"> @param info Location info</em> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> @param properties MDC properties</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> */</em> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/LogEvent.html">LogEvent</a>(<strong class="jxr_keyword">final</strong> String fqnOfCategoryClass, +<a name="212" href="#212">212</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> logger, +<a name="213" href="#213">213</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> timeStamp, +<a name="214" href="#214">214</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> level, +<a name="215" href="#215">215</a> <strong class="jxr_keyword">final</strong> Object message, +<a name="216" href="#216">216</a> <strong class="jxr_keyword">final</strong> String threadName, +<a name="217" href="#217">217</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a> throwable, +<a name="218" href="#218">218</a> <strong class="jxr_keyword">final</strong> String ndc, +<a name="219" href="#219">219</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> info, +<a name="220" href="#220">220</a> <strong class="jxr_keyword">final</strong> java.util.Map properties) { +<a name="221" href="#221">221</a> <strong class="jxr_keyword">super</strong>(); +<a name="222" href="#222">222</a> <strong class="jxr_keyword">this</strong>.fqnOfCategoryClass = fqnOfCategoryClass; +<a name="223" href="#223">223</a> <strong class="jxr_keyword">this</strong>.logger = logger; +<a name="224" href="#224">224</a> <strong class="jxr_keyword">if</strong> (logger != <strong class="jxr_keyword">null</strong>) { +<a name="225" href="#225">225</a> categoryName = logger.getName(); +<a name="226" href="#226">226</a> } <strong class="jxr_keyword">else</strong> { +<a name="227" href="#227">227</a> categoryName = <strong class="jxr_keyword">null</strong>; +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="230" href="#230">230</a> <strong class="jxr_keyword">this</strong>.message = message; +<a name="231" href="#231">231</a> <strong class="jxr_keyword">if</strong>(throwable != <strong class="jxr_keyword">null</strong>) { +<a name="232" href="#232">232</a> <strong class="jxr_keyword">this</strong>.throwableInfo = throwable; +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <strong class="jxr_keyword">this</strong>.timeStamp = timeStamp; +<a name="236" href="#236">236</a> <strong class="jxr_keyword">this</strong>.threadName = threadName; +<a name="237" href="#237">237</a> ndcLookupRequired = false; +<a name="238" href="#238">238</a> <strong class="jxr_keyword">this</strong>.ndc = ndc; +<a name="239" href="#239">239</a> <strong class="jxr_keyword">this</strong>.locationInfo = info; +<a name="240" href="#240">240</a> mdcCopyLookupRequired = false; +<a name="241" href="#241">241</a> <strong class="jxr_keyword">if</strong> (properties != <strong class="jxr_keyword">null</strong>) { +<a name="242" href="#242">242</a> mdcCopy = <strong class="jxr_keyword">new</strong> java.util.Hashtable(properties); +<a name="243" href="#243">243</a> } +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> +<a name="246" href="#246">246</a> <em class="jxr_javadoccomment">/**</em> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment"> Set the location information for this logging event. The collected</em> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment"> information is cached for future use.</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> */</em> +<a name="250" href="#250">250</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> getLocationInformation() { +<a name="251" href="#251">251</a> <strong class="jxr_keyword">if</strong>(locationInfo == <strong class="jxr_keyword">null</strong>) { +<a name="252" href="#252">252</a> locationInfo = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a>(<strong class="jxr_keyword">new</strong> Throwable(), fqnOfCategoryClass); +<a name="253" href="#253">253</a> } +<a name="254" href="#254">254</a> <strong class="jxr_keyword">return</strong> locationInfo; +<a name="255" href="#255">255</a> } +<a name="256" href="#256">256</a> +<a name="257" href="#257">257</a> <em class="jxr_javadoccomment">/**</em> +<a name="258" href="#258">258</a> <em class="jxr_javadoccomment"> * Return the level of this event. Use this form instead of directly</em> +<a name="259" href="#259">259</a> <em class="jxr_javadoccomment"> * accessing the &lt;code&gt;level&lt;/code&gt; field. */</em> +<a name="260" href="#260">260</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> getLevel() { +<a name="261" href="#261">261</a> <strong class="jxr_keyword">return</strong> (Level) level; +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> +<a name="264" href="#264">264</a> <em class="jxr_javadoccomment">/**</em> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment"> * Return the name of the logger. Use this form instead of directly</em> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> * accessing the &lt;code&gt;categoryName&lt;/code&gt; field. </em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> */</em> +<a name="268" href="#268">268</a> <strong class="jxr_keyword">public</strong> String getLoggerName() { +<a name="269" href="#269">269</a> <strong class="jxr_keyword">return</strong> categoryName; +<a name="270" href="#270">270</a> } +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment">/**</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> Return the message for this logging event.</em> +<a name="274" href="#274">274</a> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> &lt;p&gt;Before serialization, the returned object is the message</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> passed by the user to generate the logging event. After</em> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> serialization, the returned value equals the String form of the</em> +<a name="278" href="#278">278</a> <em class="jxr_javadoccomment"> message possibly after object rendering.</em> +<a name="279" href="#279">279</a> +<a name="280" href="#280">280</a> <em class="jxr_javadoccomment"> @since 1.1 */</em> +<a name="281" href="#281">281</a> <strong class="jxr_keyword">public</strong> +<a name="282" href="#282">282</a> Object getMessage() { +<a name="283" href="#283">283</a> <strong class="jxr_keyword">if</strong>(message != <strong class="jxr_keyword">null</strong>) { +<a name="284" href="#284">284</a> <strong class="jxr_keyword">return</strong> message; +<a name="285" href="#285">285</a> } <strong class="jxr_keyword">else</strong> { +<a name="286" href="#286">286</a> <strong class="jxr_keyword">return</strong> getRenderedMessage(); +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> } +<a name="289" href="#289">289</a> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment">/**</em> +<a name="291" href="#291">291</a> <em class="jxr_javadoccomment"> * This method returns the NDC for this event. It will return the</em> +<a name="292" href="#292">292</a> <em class="jxr_javadoccomment"> * correct content even if the event was generated in a different</em> +<a name="293" href="#293">293</a> <em class="jxr_javadoccomment"> * thread or even on a different machine. The {@link NDC#get} method</em> +<a name="294" href="#294">294</a> <em class="jxr_javadoccomment"> * should &lt;em&gt;never&lt;/em&gt; be called directly. */</em> +<a name="295" href="#295">295</a> <strong class="jxr_keyword">public</strong> +<a name="296" href="#296">296</a> String getNDC() { +<a name="297" href="#297">297</a> <strong class="jxr_keyword">if</strong>(ndcLookupRequired) { +<a name="298" href="#298">298</a> ndcLookupRequired = false; +<a name="299" href="#299">299</a> ndc = NDC.get(); +<a name="300" href="#300">300</a> } +<a name="301" href="#301">301</a> <strong class="jxr_keyword">return</strong> ndc; +<a name="302" href="#302">302</a> } +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment">/**</em> +<a name="306" href="#306">306</a> <em class="jxr_javadoccomment"> Returns the the context corresponding to the &lt;code&gt;key&lt;/code&gt;</em> +<a name="307" href="#307">307</a> <em class="jxr_javadoccomment"> parameter. If there is a local MDC copy, possibly because we are</em> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment"> in a logging server or running inside AsyncAppender, then we</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> search for the key in MDC copy, if a value is found it is</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> returned. Otherwise, if the search in MDC copy returns a null</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> result, then the current thread's &lt;code&gt;MDC&lt;/code&gt; is used.</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> </em> +<a name="313" href="#313">313</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that &lt;em&gt;both&lt;/em&gt; the local MDC copy and the current</em> +<a name="314" href="#314">314</a> <em class="jxr_javadoccomment"> thread's MDC are searched.</em> +<a name="315" href="#315">315</a> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> */</em> +<a name="317" href="#317">317</a> <strong class="jxr_keyword">public</strong> +<a name="318" href="#318">318</a> Object getMDC(String key) { +<a name="319" href="#319">319</a> Object r; +<a name="320" href="#320">320</a> <em class="jxr_comment">// Note the mdcCopy is used if it exists. Otherwise we use the MDC</em> +<a name="321" href="#321">321</a> <em class="jxr_comment">// that is associated with the thread.</em> +<a name="322" href="#322">322</a> <strong class="jxr_keyword">if</strong>(mdcCopy != <strong class="jxr_keyword">null</strong>) { +<a name="323" href="#323">323</a> r = mdcCopy.get(key); +<a name="324" href="#324">324</a> <strong class="jxr_keyword">if</strong>(r != <strong class="jxr_keyword">null</strong>) { +<a name="325" href="#325">325</a> <strong class="jxr_keyword">return</strong> r; +<a name="326" href="#326">326</a> } +<a name="327" href="#327">327</a> } +<a name="328" href="#328">328</a> <strong class="jxr_keyword">return</strong> MDC.get(key); +<a name="329" href="#329">329</a> } +<a name="330" href="#330">330</a> +<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">/**</em> +<a name="332" href="#332">332</a> <em class="jxr_javadoccomment"> Obtain a copy of this thread's MDC prior to serialization or</em> +<a name="333" href="#333">333</a> <em class="jxr_javadoccomment"> asynchronous logging. </em> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment"> */</em> +<a name="335" href="#335">335</a> <strong class="jxr_keyword">public</strong> +<a name="336" href="#336">336</a> <strong class="jxr_keyword">void</strong> getMDCCopy() { +<a name="337" href="#337">337</a> <strong class="jxr_keyword">if</strong>(mdcCopyLookupRequired) { +<a name="338" href="#338">338</a> mdcCopyLookupRequired = false; +<a name="339" href="#339">339</a> <em class="jxr_comment">// the clone call is required for asynchronous logging.</em> +<a name="340" href="#340">340</a> <em class="jxr_comment">// See also bug #5932.</em> +<a name="341" href="#341">341</a> Hashtable t = (Hashtable) MDC.getContext(); +<a name="342" href="#342">342</a> <strong class="jxr_keyword">if</strong>(t != <strong class="jxr_keyword">null</strong>) { +<a name="343" href="#343">343</a> mdcCopy = (Hashtable) t.clone(); +<a name="344" href="#344">344</a> } +<a name="345" href="#345">345</a> } +<a name="346" href="#346">346</a> } +<a name="347" href="#347">347</a> +<a name="348" href="#348">348</a> <strong class="jxr_keyword">public</strong> +<a name="349" href="#349">349</a> String getRenderedMessage() { +<a name="350" href="#350">350</a> <strong class="jxr_keyword">if</strong>(renderedMessage == <strong class="jxr_keyword">null</strong> &amp;&amp; message != <strong class="jxr_keyword">null</strong>) { +<a name="351" href="#351">351</a> <strong class="jxr_keyword">if</strong>(message instanceof String) +<a name="352" href="#352">352</a> renderedMessage = (String) message; +<a name="353" href="#353">353</a> <strong class="jxr_keyword">else</strong> { +<a name="354" href="#354">354</a> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository = logger.getLoggerRepository(); +<a name="355" href="#355">355</a> +<a name="356" href="#356">356</a> <strong class="jxr_keyword">if</strong>(repository instanceof <a href="../../../../org/apache/log4j/spi/RendererSupport.html">RendererSupport</a>) { +<a name="357" href="#357">357</a> RendererSupport rs = (RendererSupport) repository; +<a name="358" href="#358">358</a> renderedMessage= rs.getRendererMap().findAndRender(message); +<a name="359" href="#359">359</a> } <strong class="jxr_keyword">else</strong> { +<a name="360" href="#360">360</a> renderedMessage = message.toString(); +<a name="361" href="#361">361</a> } +<a name="362" href="#362">362</a> } +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> <strong class="jxr_keyword">return</strong> renderedMessage; +<a name="365" href="#365">365</a> } +<a name="366" href="#366">366</a> +<a name="367" href="#367">367</a> <em class="jxr_javadoccomment">/**</em> +<a name="368" href="#368">368</a> <em class="jxr_javadoccomment"> Returns the time when the application started, in milliseconds</em> +<a name="369" href="#369">369</a> <em class="jxr_javadoccomment"> elapsed since 01.01.1970. */</em> +<a name="370" href="#370">370</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">long</strong> getStartTime() { +<a name="371" href="#371">371</a> <strong class="jxr_keyword">return</strong> startTime; +<a name="372" href="#372">372</a> } +<a name="373" href="#373">373</a> +<a name="374" href="#374">374</a> <strong class="jxr_keyword">public</strong> +<a name="375" href="#375">375</a> String getThreadName() { +<a name="376" href="#376">376</a> <strong class="jxr_keyword">if</strong>(threadName == <strong class="jxr_keyword">null</strong>) +<a name="377" href="#377">377</a> threadName = (Thread.currentThread()).getName(); +<a name="378" href="#378">378</a> <strong class="jxr_keyword">return</strong> threadName; +<a name="379" href="#379">379</a> } +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <em class="jxr_javadoccomment">/**</em> +<a name="382" href="#382">382</a> <em class="jxr_javadoccomment"> Returns the throwable information contained within this</em> +<a name="383" href="#383">383</a> <em class="jxr_javadoccomment"> event. May be &lt;code&gt;null&lt;/code&gt; if there is no such information.</em> +<a name="384" href="#384">384</a> +<a name="385" href="#385">385</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that the {@link Throwable} object contained within a</em> +<a name="386" href="#386">386</a> <em class="jxr_javadoccomment"> {@link ThrowableInformation} does not survive serialization.</em> +<a name="387" href="#387">387</a> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment"> @since 1.1 */</em> +<a name="389" href="#389">389</a> <strong class="jxr_keyword">public</strong> +<a name="390" href="#390">390</a> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a> getThrowableInformation() { +<a name="391" href="#391">391</a> <strong class="jxr_keyword">return</strong> throwableInfo; +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> <em class="jxr_javadoccomment">/**</em> +<a name="395" href="#395">395</a> <em class="jxr_javadoccomment"> Return this event's throwable's string[] representaion.</em> +<a name="396" href="#396">396</a> <em class="jxr_javadoccomment"> */</em> +<a name="397" href="#397">397</a> <strong class="jxr_keyword">public</strong> +<a name="398" href="#398">398</a> String[] getThrowableStrRep() { +<a name="399" href="#399">399</a> +<a name="400" href="#400">400</a> <strong class="jxr_keyword">if</strong>(throwableInfo == <strong class="jxr_keyword">null</strong>) +<a name="401" href="#401">401</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="402" href="#402">402</a> <strong class="jxr_keyword">else</strong> +<a name="403" href="#403">403</a> <strong class="jxr_keyword">return</strong> throwableInfo.getThrowableStrRep(); +<a name="404" href="#404">404</a> } +<a name="405" href="#405">405</a> +<a name="406" href="#406">406</a> +<a name="407" href="#407">407</a> <strong class="jxr_keyword">private</strong> +<a name="408" href="#408">408</a> <strong class="jxr_keyword">void</strong> readLevel(ObjectInputStream ois) +<a name="409" href="#409">409</a> <strong class="jxr_keyword">throws</strong> java.io.IOException, ClassNotFoundException { +<a name="410" href="#410">410</a> +<a name="411" href="#411">411</a> <strong class="jxr_keyword">int</strong> p = ois.readInt(); +<a name="412" href="#412">412</a> <strong class="jxr_keyword">try</strong> { +<a name="413" href="#413">413</a> String className = (String) ois.readObject(); +<a name="414" href="#414">414</a> <strong class="jxr_keyword">if</strong>(className == <strong class="jxr_keyword">null</strong>) { +<a name="415" href="#415">415</a> level = Level.toLevel(p); +<a name="416" href="#416">416</a> } <strong class="jxr_keyword">else</strong> { +<a name="417" href="#417">417</a> Method m = (Method) methodCache.get(className); +<a name="418" href="#418">418</a> <strong class="jxr_keyword">if</strong>(m == <strong class="jxr_keyword">null</strong>) { +<a name="419" href="#419">419</a> Class clazz = Loader.loadClass(className); +<a name="420" href="#420">420</a> <em class="jxr_comment">// Note that we use Class.getDeclaredMethod instead of</em> +<a name="421" href="#421">421</a> <em class="jxr_comment">// Class.getMethod. This assumes that the Level subclass</em> +<a name="422" href="#422">422</a> <em class="jxr_comment">// implements the toLevel(int) method which is a</em> +<a name="423" href="#423">423</a> <em class="jxr_comment">// requirement. Actually, it does not make sense for Level</em> +<a name="424" href="#424">424</a> <em class="jxr_comment">// subclasses NOT to implement this method. Also note that</em> +<a name="425" href="#425">425</a> <em class="jxr_comment">// only Level can be subclassed and not Priority.</em> +<a name="426" href="#426">426</a> m = clazz.getDeclaredMethod(TO_LEVEL, TO_LEVEL_PARAMS); +<a name="427" href="#427">427</a> methodCache.put(className, m); +<a name="428" href="#428">428</a> } +<a name="429" href="#429">429</a> PARAM_ARRAY[0] = <strong class="jxr_keyword">new</strong> Integer(p); +<a name="430" href="#430">430</a> level = (Level) m.invoke(<strong class="jxr_keyword">null</strong>, PARAM_ARRAY); +<a name="431" href="#431">431</a> } +<a name="432" href="#432">432</a> } <strong class="jxr_keyword">catch</strong>(Exception e) { +<a name="433" href="#433">433</a> LogLog.warn(<span class="jxr_string">"Level deserialization failed, reverting to default."</span>, e); +<a name="434" href="#434">434</a> level = Level.toLevel(p); +<a name="435" href="#435">435</a> } +<a name="436" href="#436">436</a> } +<a name="437" href="#437">437</a> +<a name="438" href="#438">438</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> readObject(ObjectInputStream ois) +<a name="439" href="#439">439</a> <strong class="jxr_keyword">throws</strong> java.io.IOException, ClassNotFoundException { +<a name="440" href="#440">440</a> ois.defaultReadObject(); +<a name="441" href="#441">441</a> readLevel(ois); +<a name="442" href="#442">442</a> +<a name="443" href="#443">443</a> <em class="jxr_comment">// Make sure that no location info is available to Layouts</em> +<a name="444" href="#444">444</a> <strong class="jxr_keyword">if</strong>(locationInfo == <strong class="jxr_keyword">null</strong>) +<a name="445" href="#445">445</a> locationInfo = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a>(<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="446" href="#446">446</a> } +<a name="447" href="#447">447</a> +<a name="448" href="#448">448</a> <strong class="jxr_keyword">private</strong> +<a name="449" href="#449">449</a> <strong class="jxr_keyword">void</strong> writeObject(ObjectOutputStream oos) <strong class="jxr_keyword">throws</strong> java.io.IOException { +<a name="450" href="#450">450</a> <em class="jxr_comment">// Aside from returning the current thread name the wgetThreadName</em> +<a name="451" href="#451">451</a> <em class="jxr_comment">// method sets the threadName variable.</em> +<a name="452" href="#452">452</a> <strong class="jxr_keyword">this</strong>.getThreadName(); +<a name="453" href="#453">453</a> +<a name="454" href="#454">454</a> <em class="jxr_comment">// This sets the renders the message in case it wasn't up to now.</em> +<a name="455" href="#455">455</a> <strong class="jxr_keyword">this</strong>.getRenderedMessage(); +<a name="456" href="#456">456</a> +<a name="457" href="#457">457</a> <em class="jxr_comment">// This call has a side effect of setting this.ndc and</em> +<a name="458" href="#458">458</a> <em class="jxr_comment">// setting ndcLookupRequired to false if not already false.</em> +<a name="459" href="#459">459</a> <strong class="jxr_keyword">this</strong>.getNDC(); +<a name="460" href="#460">460</a> +<a name="461" href="#461">461</a> <em class="jxr_comment">// This call has a side effect of setting this.mdcCopy and</em> +<a name="462" href="#462">462</a> <em class="jxr_comment">// setting mdcLookupRequired to false if not already false.</em> +<a name="463" href="#463">463</a> <strong class="jxr_keyword">this</strong>.getMDCCopy(); +<a name="464" href="#464">464</a> +<a name="465" href="#465">465</a> <em class="jxr_comment">// This sets the throwable sting representation of the event throwable.</em> +<a name="466" href="#466">466</a> <strong class="jxr_keyword">this</strong>.getThrowableStrRep(); +<a name="467" href="#467">467</a> +<a name="468" href="#468">468</a> oos.defaultWriteObject(); +<a name="469" href="#469">469</a> +<a name="470" href="#470">470</a> <em class="jxr_comment">// serialize this event's level</em> +<a name="471" href="#471">471</a> writeLevel(oos); +<a name="472" href="#472">472</a> } +<a name="473" href="#473">473</a> +<a name="474" href="#474">474</a> <strong class="jxr_keyword">private</strong> +<a name="475" href="#475">475</a> <strong class="jxr_keyword">void</strong> writeLevel(ObjectOutputStream oos) <strong class="jxr_keyword">throws</strong> java.io.IOException { +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> oos.writeInt(level.toInt()); +<a name="478" href="#478">478</a> +<a name="479" href="#479">479</a> Class clazz = level.getClass(); +<a name="480" href="#480">480</a> <strong class="jxr_keyword">if</strong>(clazz == Level.<strong class="jxr_keyword">class</strong>) { +<a name="481" href="#481">481</a> oos.writeObject(<strong class="jxr_keyword">null</strong>); +<a name="482" href="#482">482</a> } <strong class="jxr_keyword">else</strong> { +<a name="483" href="#483">483</a> <em class="jxr_comment">// writing directly the Class object would be nicer, except that</em> +<a name="484" href="#484">484</a> <em class="jxr_comment">// serialized a Class object can not be read back by JDK</em> +<a name="485" href="#485">485</a> <em class="jxr_comment">// 1.1.x. We have to resort to this hack instead.</em> +<a name="486" href="#486">486</a> oos.writeObject(clazz.getName()); +<a name="487" href="#487">487</a> } +<a name="488" href="#488">488</a> } +<a name="489" href="#489">489</a> +<a name="490" href="#490">490</a> <em class="jxr_javadoccomment">/**</em> +<a name="491" href="#491">491</a> <em class="jxr_javadoccomment"> * Set value for MDC property.</em> +<a name="492" href="#492">492</a> <em class="jxr_javadoccomment"> * This adds the specified MDC property to the event.</em> +<a name="493" href="#493">493</a> <em class="jxr_javadoccomment"> * Access to the MDC is not synchronized, so this</em> +<a name="494" href="#494">494</a> <em class="jxr_javadoccomment"> * method should only be called when it is known that</em> +<a name="495" href="#495">495</a> <em class="jxr_javadoccomment"> * no other threads are accessing the MDC.</em> +<a name="496" href="#496">496</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="497" href="#497">497</a> <em class="jxr_javadoccomment"> * @param propName</em> +<a name="498" href="#498">498</a> <em class="jxr_javadoccomment"> * @param propValue</em> +<a name="499" href="#499">499</a> <em class="jxr_javadoccomment"> */</em> +<a name="500" href="#500">500</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setProperty(<strong class="jxr_keyword">final</strong> String propName, +<a name="501" href="#501">501</a> <strong class="jxr_keyword">final</strong> String propValue) { +<a name="502" href="#502">502</a> <strong class="jxr_keyword">if</strong> (mdcCopy == <strong class="jxr_keyword">null</strong>) { +<a name="503" href="#503">503</a> getMDCCopy(); +<a name="504" href="#504">504</a> } +<a name="505" href="#505">505</a> <strong class="jxr_keyword">if</strong> (mdcCopy == <strong class="jxr_keyword">null</strong>) { +<a name="506" href="#506">506</a> mdcCopy = <strong class="jxr_keyword">new</strong> Hashtable(); +<a name="507" href="#507">507</a> } +<a name="508" href="#508">508</a> mdcCopy.put(propName, propValue); +<a name="509" href="#509">509</a> } +<a name="510" href="#510">510</a> +<a name="511" href="#511">511</a> <em class="jxr_javadoccomment">/**</em> +<a name="512" href="#512">512</a> <em class="jxr_javadoccomment"> * Return a property for this event. The return value can be null.</em> +<a name="513" href="#513">513</a> <em class="jxr_javadoccomment"> *</em> +<a name="514" href="#514">514</a> <em class="jxr_javadoccomment"> * Equivalent to getMDC(String) in log4j 1.2. Provided</em> +<a name="515" href="#515">515</a> <em class="jxr_javadoccomment"> * for compatibility with log4j 1.3.</em> +<a name="516" href="#516">516</a> <em class="jxr_javadoccomment"> *</em> +<a name="517" href="#517">517</a> <em class="jxr_javadoccomment"> * @param key property name</em> +<a name="518" href="#518">518</a> <em class="jxr_javadoccomment"> * @return property value or null if property not set</em> +<a name="519" href="#519">519</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="520" href="#520">520</a> <em class="jxr_javadoccomment"> */</em> +<a name="521" href="#521">521</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> String getProperty(<strong class="jxr_keyword">final</strong> String key) { +<a name="522" href="#522">522</a> Object value = getMDC(key); +<a name="523" href="#523">523</a> String retval = <strong class="jxr_keyword">null</strong>; +<a name="524" href="#524">524</a> <strong class="jxr_keyword">if</strong> (value != <strong class="jxr_keyword">null</strong>) { +<a name="525" href="#525">525</a> retval = value.toString(); +<a name="526" href="#526">526</a> } +<a name="527" href="#527">527</a> <strong class="jxr_keyword">return</strong> retval; +<a name="528" href="#528">528</a> } +<a name="529" href="#529">529</a> +<a name="530" href="#530">530</a> <em class="jxr_javadoccomment">/**</em> +<a name="531" href="#531">531</a> <em class="jxr_javadoccomment"> * Check for the existence of location information without creating it</em> +<a name="532" href="#532">532</a> <em class="jxr_javadoccomment"> * (a byproduct of calling getLocationInformation).</em> +<a name="533" href="#533">533</a> <em class="jxr_javadoccomment"> * @return true if location information has been extracted.</em> +<a name="534" href="#534">534</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="535" href="#535">535</a> <em class="jxr_javadoccomment"> */</em> +<a name="536" href="#536">536</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> locationInformationExists() { +<a name="537" href="#537">537</a> <strong class="jxr_keyword">return</strong> (locationInfo != <strong class="jxr_keyword">null</strong>); +<a name="538" href="#538">538</a> } +<a name="539" href="#539">539</a> +<a name="540" href="#540">540</a> <em class="jxr_javadoccomment">/**</em> +<a name="541" href="#541">541</a> <em class="jxr_javadoccomment"> * Getter for the event's time stamp. The time stamp is calculated starting</em> +<a name="542" href="#542">542</a> <em class="jxr_javadoccomment"> * from 1970-01-01 GMT.</em> +<a name="543" href="#543">543</a> <em class="jxr_javadoccomment"> * @return timestamp</em> +<a name="544" href="#544">544</a> <em class="jxr_javadoccomment"> *</em> +<a name="545" href="#545">545</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="546" href="#546">546</a> <em class="jxr_javadoccomment"> */</em> +<a name="547" href="#547">547</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getTimeStamp() { +<a name="548" href="#548">548</a> <strong class="jxr_keyword">return</strong> timeStamp; +<a name="549" href="#549">549</a> } +<a name="550" href="#550">550</a> +<a name="551" href="#551">551</a> <em class="jxr_javadoccomment">/**</em> +<a name="552" href="#552">552</a> <em class="jxr_javadoccomment"> * Returns the set of the key values in the properties</em> +<a name="553" href="#553">553</a> <em class="jxr_javadoccomment"> * for the event.</em> +<a name="554" href="#554">554</a> <em class="jxr_javadoccomment"> *</em> +<a name="555" href="#555">555</a> <em class="jxr_javadoccomment"> * The returned set is unmodifiable by the caller.</em> +<a name="556" href="#556">556</a> <em class="jxr_javadoccomment"> *</em> +<a name="557" href="#557">557</a> <em class="jxr_javadoccomment"> * Provided for compatibility with log4j 1.3</em> +<a name="558" href="#558">558</a> <em class="jxr_javadoccomment"> *</em> +<a name="559" href="#559">559</a> <em class="jxr_javadoccomment"> * @return Set an unmodifiable set of the property keys.</em> +<a name="560" href="#560">560</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="561" href="#561">561</a> <em class="jxr_javadoccomment"> */</em> +<a name="562" href="#562">562</a> <strong class="jxr_keyword">public</strong> Set getPropertyKeySet() { +<a name="563" href="#563">563</a> <strong class="jxr_keyword">return</strong> getProperties().keySet(); +<a name="564" href="#564">564</a> } +<a name="565" href="#565">565</a> +<a name="566" href="#566">566</a> <em class="jxr_javadoccomment">/**</em> +<a name="567" href="#567">567</a> <em class="jxr_javadoccomment"> * Returns the set of properties</em> +<a name="568" href="#568">568</a> <em class="jxr_javadoccomment"> * for the event.</em> +<a name="569" href="#569">569</a> <em class="jxr_javadoccomment"> *</em> +<a name="570" href="#570">570</a> <em class="jxr_javadoccomment"> * The returned set is unmodifiable by the caller.</em> +<a name="571" href="#571">571</a> <em class="jxr_javadoccomment"> *</em> +<a name="572" href="#572">572</a> <em class="jxr_javadoccomment"> * Provided for compatibility with log4j 1.3</em> +<a name="573" href="#573">573</a> <em class="jxr_javadoccomment"> *</em> +<a name="574" href="#574">574</a> <em class="jxr_javadoccomment"> * @return Set an unmodifiable map of the properties.</em> +<a name="575" href="#575">575</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="576" href="#576">576</a> <em class="jxr_javadoccomment"> */</em> +<a name="577" href="#577">577</a> <strong class="jxr_keyword">public</strong> Map getProperties() { +<a name="578" href="#578">578</a> getMDCCopy(); +<a name="579" href="#579">579</a> Map properties; +<a name="580" href="#580">580</a> <strong class="jxr_keyword">if</strong> (mdcCopy == <strong class="jxr_keyword">null</strong>) { +<a name="581" href="#581">581</a> properties = <strong class="jxr_keyword">new</strong> HashMap(); +<a name="582" href="#582">582</a> } <strong class="jxr_keyword">else</strong> { +<a name="583" href="#583">583</a> properties = mdcCopy; +<a name="584" href="#584">584</a> } +<a name="585" href="#585">585</a> <strong class="jxr_keyword">return</strong> Collections.unmodifiableMap(properties); +<a name="586" href="#586">586</a> } +<a name="587" href="#587">587</a> +<a name="588" href="#588">588</a> <em class="jxr_javadoccomment">/**</em> +<a name="589" href="#589">589</a> <em class="jxr_javadoccomment"> * Get the fully qualified name of the calling logger sub-class/wrapper.</em> +<a name="590" href="#590">590</a> <em class="jxr_javadoccomment"> * Provided for compatibility with log4j 1.3</em> +<a name="591" href="#591">591</a> <em class="jxr_javadoccomment"> * @return fully qualified class name, may be null.</em> +<a name="592" href="#592">592</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="593" href="#593">593</a> <em class="jxr_javadoccomment"> */</em> +<a name="594" href="#594">594</a> <strong class="jxr_keyword">public</strong> String getFQNOfLoggerClass() { +<a name="595" href="#595">595</a> <strong class="jxr_keyword">return</strong> fqnOfCategoryClass; +<a name="596" href="#596">596</a> } +<a name="597" href="#597">597</a> +<a name="598" href="#598">598</a> +<a name="599" href="#599">599</a> +<a name="600" href="#600">600</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LoggerPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LoggerPatternConverter.html new file mode 100644 index 00000000000..1d5083068bb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LoggerPatternConverter.html @@ -0,0 +1,80 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LoggerPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Formats a logger name.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html">LoggerPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/NamePatternConverter.html">NamePatternConverter</a> { +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html">LoggerPatternConverter</a> INSTANCE = +<a name="34" href="#34">34</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html">LoggerPatternConverter</a>(<strong class="jxr_keyword">null</strong>); +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html">LoggerPatternConverter</a>(<strong class="jxr_keyword">final</strong> String[] options) { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Logger"</span>, <span class="jxr_string">"logger"</span>, options); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Obtains an instance of pattern converter.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html">LoggerPatternConverter</a> newInstance( +<a name="50" href="#50">50</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">if</strong> ((options == <strong class="jxr_keyword">null</strong>) || (options.length == 0)) { +<a name="52" href="#52">52</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/LoggerPatternConverter.html">LoggerPatternConverter</a>(options); +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="62" href="#62">62</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> initialLength = toAppendTo.length(); +<a name="63" href="#63">63</a> toAppendTo.append(event.getLoggerName()); +<a name="64" href="#64">64</a> abbreviate(initialLength, toAppendTo); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LoggingEventPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LoggingEventPatternConverter.html new file mode 100644 index 00000000000..e08666de382 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/LoggingEventPatternConverter.html @@ -0,0 +1,84 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LoggingEventPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * LoggingEventPatternConverter is a base class for pattern converters</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * that can format information from instances of LoggingEvent.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> *</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> { +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Constructs an instance of LoggingEventPatternConverter.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @param name name of converter.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @param style CSS style for output.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a>( +<a name="37" href="#37">37</a> <strong class="jxr_keyword">final</strong> String name, <strong class="jxr_keyword">final</strong> String style) { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">super</strong>(name, style); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Formats an event into a string buffer.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * @param event event to format, may not be null.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * @param toAppendTo string buffer to which the formatted event will be appended. May not be null.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> format( +<a name="47" href="#47">47</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo); +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> Object obj, <strong class="jxr_keyword">final</strong> StringBuffer output) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">if</strong> (obj instanceof LoggingEvent) { +<a name="54" href="#54">54</a> format((LoggingEvent) obj, output); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * Normally pattern converters are not meant to handle Exceptions although</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * few pattern converters might.</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> *</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * By examining the return values for this method, the containing layout will</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * determine whether it handles throwables or not.</em> +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * @return true if this PatternConverter handles throwables</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> handlesThrowable() { +<a name="68" href="#68">68</a> <strong class="jxr_keyword">return</strong> false; +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/MessagePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/MessagePatternConverter.html new file mode 100644 index 00000000000..1fcf99c2c89 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/MessagePatternConverter.html @@ -0,0 +1,72 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MessagePatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/MessagePatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Return the event's rendered message in a StringBuffer.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/MessagePatternConverter.html">MessagePatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/MessagePatternConverter.html">MessagePatternConverter</a> INSTANCE = +<a name="33" href="#33">33</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/MessagePatternConverter.html">MessagePatternConverter</a>(); +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/MessagePatternConverter.html">MessagePatternConverter</a>() { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Message"</span>, <span class="jxr_string">"message"</span>); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * Obtains an instance of pattern converter.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * @return instance of pattern converter.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/MessagePatternConverter.html">MessagePatternConverter</a> newInstance( +<a name="48" href="#48">48</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="56" href="#56">56</a> toAppendTo.append(event.getRenderedMessage()); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/MethodLocationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/MethodLocationPatternConverter.html new file mode 100644 index 00000000000..ffb6207c039 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/MethodLocationPatternConverter.html @@ -0,0 +1,78 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>MethodLocationPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LocationInfo; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Return the event's line location information in a StringBuffer.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html">MethodLocationPatternConverter</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html">MethodLocationPatternConverter</a> INSTANCE = +<a name="35" href="#35">35</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html">MethodLocationPatternConverter</a>(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html">MethodLocationPatternConverter</a>() { +<a name="41" href="#41">41</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Method"</span>, <span class="jxr_string">"method"</span>); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Obtains an instance of MethodLocationPatternConverter.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * @return instance of MethodLocationPatternConverter.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html">MethodLocationPatternConverter</a> newInstance( +<a name="50" href="#50">50</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="51" href="#51">51</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="58" href="#58">58</a> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> locationInfo = event.getLocationInformation(); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">if</strong> (locationInfo != <strong class="jxr_keyword">null</strong>) { +<a name="61" href="#61">61</a> toAppendTo.append(locationInfo.getMethodName()); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NDCPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NDCPatternConverter.html new file mode 100644 index 00000000000..5b971953fe3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NDCPatternConverter.html @@ -0,0 +1,72 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NDCPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/NDCPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Return the event's NDC in a StringBuffer.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/NDCPatternConverter.html">NDCPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/NDCPatternConverter.html">NDCPatternConverter</a> INSTANCE = +<a name="33" href="#33">33</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/NDCPatternConverter.html">NDCPatternConverter</a>(); +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/NDCPatternConverter.html">NDCPatternConverter</a>() { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"NDC"</span>, <span class="jxr_string">"ndc"</span>); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * Obtains an instance of NDCPatternConverter.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * @return instance of NDCPatternConverter.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/NDCPatternConverter.html">NDCPatternConverter</a> newInstance( +<a name="48" href="#48">48</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="56" href="#56">56</a> toAppendTo.append(event.getNDC()); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NameAbbreviator.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NameAbbreviator.html new file mode 100644 index 00000000000..4d4c0c9cd60 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NameAbbreviator.html @@ -0,0 +1,364 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NameAbbreviator xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/NameAbbreviator.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * NameAbbreviator generates abbreviated logger and class names.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Default (no abbreviation) abbreviator.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> DEFAULT = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NOPAbbreviator</a>(); +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment">/**</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * Gets an abbreviator.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> *</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * For example, "%logger{2}" will output only 2 elements of the logger name,</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * %logger{-2} will drop 2 elements from the logger name,</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * "%logger{1.}" will output only the first character of the non-final elements in the name,</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * "%logger{1~.2~} will output the first character of the first element, two characters of</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * the second and subsequent elements and will use a tilde to indicate abbreviated characters.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> *</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * @param pattern abbreviation pattern.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * @return abbreviator, will not be null.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> getAbbreviator(<strong class="jxr_keyword">final</strong> String pattern) { +<a name="47" href="#47">47</a> <strong class="jxr_keyword">if</strong> (pattern.length() &gt; 0) { +<a name="48" href="#48">48</a> <em class="jxr_comment">// if pattern is just spaces and numbers then</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">// use MaxElementAbbreviator</em> +<a name="50" href="#50">50</a> String trimmed = pattern.trim(); +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">if</strong> (trimmed.length() == 0) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">return</strong> DEFAULT; +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">int</strong> i = 0; +<a name="57" href="#57">57</a> <strong class="jxr_keyword">if</strong> (trimmed.length() &gt; 0) { +<a name="58" href="#58">58</a> <strong class="jxr_keyword">if</strong> (trimmed.charAt(0) == '-') { +<a name="59" href="#59">59</a> i++; +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> <strong class="jxr_keyword">for</strong> (; +<a name="62" href="#62">62</a> (i &lt; trimmed.length()) &amp;&amp; +<a name="63" href="#63">63</a> (trimmed.charAt(i) &gt;= '0') &amp;&amp; +<a name="64" href="#64">64</a> (trimmed.charAt(i) &lt;= '9'); +<a name="65" href="#65">65</a> i++) { +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_comment">//</em> +<a name="71" href="#71">71</a> <em class="jxr_comment">// if all blanks and digits</em> +<a name="72" href="#72">72</a> <em class="jxr_comment">//</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">if</strong> (i == trimmed.length()) { +<a name="74" href="#74">74</a> <strong class="jxr_keyword">int</strong> elements = Integer.parseInt(trimmed); +<a name="75" href="#75">75</a> <strong class="jxr_keyword">if</strong> (elements &gt;= 0) { +<a name="76" href="#76">76</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">MaxElementAbbreviator</a>(elements); +<a name="77" href="#77">77</a> } <strong class="jxr_keyword">else</strong> { +<a name="78" href="#78">78</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">DropElementAbbreviator</a>(-elements); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> ArrayList fragments = <strong class="jxr_keyword">new</strong> ArrayList(5); +<a name="83" href="#83">83</a> <strong class="jxr_keyword">char</strong> ellipsis; +<a name="84" href="#84">84</a> <strong class="jxr_keyword">int</strong> charCount; +<a name="85" href="#85">85</a> <strong class="jxr_keyword">int</strong> pos = 0; +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">while</strong> ((pos &lt; trimmed.length()) &amp;&amp; (pos &gt;= 0)) { +<a name="88" href="#88">88</a> <strong class="jxr_keyword">int</strong> ellipsisPos = pos; +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">if</strong> (trimmed.charAt(pos) == '*') { +<a name="91" href="#91">91</a> charCount = Integer.MAX_VALUE; +<a name="92" href="#92">92</a> ellipsisPos++; +<a name="93" href="#93">93</a> } <strong class="jxr_keyword">else</strong> { +<a name="94" href="#94">94</a> <strong class="jxr_keyword">if</strong> ((trimmed.charAt(pos) &gt;= '0') &amp;&amp; (trimmed.charAt(pos) &lt;= '9')) { +<a name="95" href="#95">95</a> charCount = trimmed.charAt(pos) - '0'; +<a name="96" href="#96">96</a> ellipsisPos++; +<a name="97" href="#97">97</a> } <strong class="jxr_keyword">else</strong> { +<a name="98" href="#98">98</a> charCount = 0; +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> ellipsis = '\0'; +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">if</strong> (ellipsisPos &lt; trimmed.length()) { +<a name="105" href="#105">105</a> ellipsis = trimmed.charAt(ellipsisPos); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">if</strong> (ellipsis == '.') { +<a name="108" href="#108">108</a> ellipsis = '\0'; +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> fragments.add(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">PatternAbbreviatorFragment</a>(charCount, ellipsis)); +<a name="113" href="#113">113</a> pos = trimmed.indexOf(<span class="jxr_string">"."</span>, pos); +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">if</strong> (pos == -1) { +<a name="116" href="#116">116</a> <strong class="jxr_keyword">break</strong>; +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> pos++; +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">PatternAbbreviator</a>(fragments); +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="jxr_comment">//</em> +<a name="126" href="#126">126</a> <em class="jxr_comment">// no matching abbreviation, return defaultAbbreviator</em> +<a name="127" href="#127">127</a> <em class="jxr_comment">//</em> +<a name="128" href="#128">128</a> <strong class="jxr_keyword">return</strong> DEFAULT; +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">/**</em> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> * Gets default abbreviator.</em> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment"> *</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> * @return default abbreviator.</em> +<a name="135" href="#135">135</a> <em class="jxr_javadoccomment"> */</em> +<a name="136" href="#136">136</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> getDefaultAbbreviator() { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">return</strong> DEFAULT; +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">/**</em> +<a name="141" href="#141">141</a> <em class="jxr_javadoccomment"> * Abbreviates a name in a StringBuffer.</em> +<a name="142" href="#142">142</a> <em class="jxr_javadoccomment"> *</em> +<a name="143" href="#143">143</a> <em class="jxr_javadoccomment"> * @param nameStart starting position of name in buf.</em> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment"> * @param buf buffer, may not be null.</em> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment"> */</em> +<a name="146" href="#146">146</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> abbreviate(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> nameStart, <strong class="jxr_keyword">final</strong> StringBuffer buf); +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">/**</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> * Abbreviator that simply appends full name to buffer.</em> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> */</em> +<a name="151" href="#151">151</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NOPAbbreviator</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">/**</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> * Constructor.</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> */</em> +<a name="155" href="#155">155</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NOPAbbreviator</a>() { +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">/**</em> +<a name="159" href="#159">159</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment"> */</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> abbreviate(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> nameStart, <strong class="jxr_keyword">final</strong> StringBuffer buf) { +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">/**</em> +<a name="166" href="#166">166</a> <em class="jxr_javadoccomment"> * Abbreviator that drops starting path elements.</em> +<a name="167" href="#167">167</a> <em class="jxr_javadoccomment"> */</em> +<a name="168" href="#168">168</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">MaxElementAbbreviator</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">/**</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> * Maximum number of path elements to output.</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> */</em> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> count; +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">/**</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> * @param count maximum number of path elements to output.</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> */</em> +<a name="178" href="#178">178</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">MaxElementAbbreviator</a>(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> count) { +<a name="179" href="#179">179</a> <strong class="jxr_keyword">this</strong>.count = count; +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">/**</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> * Abbreviate name.</em> +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment"> * @param buf buffer to append abbreviation.</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> * @param nameStart start of name to abbreviate.</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> */</em> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> abbreviate(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> nameStart, <strong class="jxr_keyword">final</strong> StringBuffer buf) { +<a name="188" href="#188">188</a> <em class="jxr_comment">// We substract 1 from 'len' when assigning to 'end' to avoid out of</em> +<a name="189" href="#189">189</a> <em class="jxr_comment">// bounds exception in return r.substring(end+1, len). This can happen if</em> +<a name="190" href="#190">190</a> <em class="jxr_comment">// precision is 1 and the category name ends with a dot.</em> +<a name="191" href="#191">191</a> <strong class="jxr_keyword">int</strong> end = buf.length() - 1; +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> String bufString = buf.toString(); +<a name="194" href="#194">194</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = count; i &gt; 0; i--) { +<a name="195" href="#195">195</a> end = bufString.lastIndexOf(<span class="jxr_string">"."</span>, end - 1); +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <strong class="jxr_keyword">if</strong> ((end == -1) || (end &lt; nameStart)) { +<a name="198" href="#198">198</a> <strong class="jxr_keyword">return</strong>; +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> buf.delete(nameStart, end + 1); +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">/**</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> * Abbreviator that drops starting path elements.</em> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment"> */</em> +<a name="209" href="#209">209</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">DropElementAbbreviator</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment">/**</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> * Maximum number of path elements to output.</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> */</em> +<a name="213" href="#213">213</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> count; +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">/**</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> * @param count maximum number of path elements to output.</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> */</em> +<a name="219" href="#219">219</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">DropElementAbbreviator</a>(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> count) { +<a name="220" href="#220">220</a> <strong class="jxr_keyword">this</strong>.count = count; +<a name="221" href="#221">221</a> } +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">/**</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> * Abbreviate name.</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> * @param buf buffer to append abbreviation.</em> +<a name="226" href="#226">226</a> <em class="jxr_javadoccomment"> * @param nameStart start of name to abbreviate.</em> +<a name="227" href="#227">227</a> <em class="jxr_javadoccomment"> */</em> +<a name="228" href="#228">228</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> abbreviate(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> nameStart, <strong class="jxr_keyword">final</strong> StringBuffer buf) { +<a name="229" href="#229">229</a> <strong class="jxr_keyword">int</strong> i = count; +<a name="230" href="#230">230</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> pos = buf.indexOf(<span class="jxr_string">"."</span>, nameStart); +<a name="231" href="#231">231</a> pos != -1; +<a name="232" href="#232">232</a> pos = buf.indexOf(<span class="jxr_string">"."</span>, pos + 1)) { +<a name="233" href="#233">233</a> <strong class="jxr_keyword">if</strong>(--i == 0) { +<a name="234" href="#234">234</a> buf.delete(nameStart, pos + 1); +<a name="235" href="#235">235</a> <strong class="jxr_keyword">break</strong>; +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment">/**</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> * Fragment of an pattern abbreviator.</em> +<a name="244" href="#244">244</a> <em class="jxr_javadoccomment"> *</em> +<a name="245" href="#245">245</a> <em class="jxr_javadoccomment"> */</em> +<a name="246" href="#246">246</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">PatternAbbreviatorFragment</a> { +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment">/**</em> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment"> * Count of initial characters of element to output.</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> */</em> +<a name="250" href="#250">250</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> charCount; +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment">/**</em> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment"> * Character used to represent dropped characters.</em> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> * '\0' indicates no representation of dropped characters.</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> */</em> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> ellipsis; +<a name="257" href="#257">257</a> +<a name="258" href="#258">258</a> <em class="jxr_javadoccomment">/**</em> +<a name="259" href="#259">259</a> <em class="jxr_javadoccomment"> * Creates a PatternAbbreviatorFragment.</em> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment"> * @param charCount number of initial characters to preserve.</em> +<a name="261" href="#261">261</a> <em class="jxr_javadoccomment"> * @param ellipsis character to represent elimination of characters,</em> +<a name="262" href="#262">262</a> <em class="jxr_javadoccomment"> * '\0' if no ellipsis is desired.</em> +<a name="263" href="#263">263</a> <em class="jxr_javadoccomment"> */</em> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">PatternAbbreviatorFragment</a>( +<a name="265" href="#265">265</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> charCount, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> ellipsis) { +<a name="266" href="#266">266</a> <strong class="jxr_keyword">this</strong>.charCount = charCount; +<a name="267" href="#267">267</a> <strong class="jxr_keyword">this</strong>.ellipsis = ellipsis; +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> <em class="jxr_javadoccomment">/**</em> +<a name="271" href="#271">271</a> <em class="jxr_javadoccomment"> * Abbreviate element of name.</em> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> * @param buf buffer to receive element.</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> * @param startPos starting index of name element.</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> * @return starting index of next element.</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> */</em> +<a name="276" href="#276">276</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> abbreviate(<strong class="jxr_keyword">final</strong> StringBuffer buf, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> startPos) { +<a name="277" href="#277">277</a> <strong class="jxr_keyword">int</strong> nextDot = buf.toString().indexOf(<span class="jxr_string">"."</span>, startPos); +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">if</strong> (nextDot != -1) { +<a name="280" href="#280">280</a> <strong class="jxr_keyword">if</strong> ((nextDot - startPos) &gt; charCount) { +<a name="281" href="#281">281</a> buf.delete(startPos + charCount, nextDot); +<a name="282" href="#282">282</a> nextDot = startPos + charCount; +<a name="283" href="#283">283</a> +<a name="284" href="#284">284</a> <strong class="jxr_keyword">if</strong> (ellipsis != '\0') { +<a name="285" href="#285">285</a> buf.insert(nextDot, ellipsis); +<a name="286" href="#286">286</a> nextDot++; +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> } +<a name="289" href="#289">289</a> +<a name="290" href="#290">290</a> nextDot++; +<a name="291" href="#291">291</a> } +<a name="292" href="#292">292</a> +<a name="293" href="#293">293</a> <strong class="jxr_keyword">return</strong> nextDot; +<a name="294" href="#294">294</a> } +<a name="295" href="#295">295</a> } +<a name="296" href="#296">296</a> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment">/**</em> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment"> * Pattern abbreviator.</em> +<a name="299" href="#299">299</a> <em class="jxr_javadoccomment"> *</em> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment"> *</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> */</em> +<a name="302" href="#302">302</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">PatternAbbreviator</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { +<a name="303" href="#303">303</a> <em class="jxr_javadoccomment">/**</em> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> * Element abbreviation patterns.</em> +<a name="305" href="#305">305</a> <em class="jxr_javadoccomment"> */</em> +<a name="306" href="#306">306</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">PatternAbbreviatorFragment</a>[] fragments; +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">/**</em> +<a name="309" href="#309">309</a> <em class="jxr_javadoccomment"> * Create PatternAbbreviator.</em> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment"> *</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> * @param fragments element abbreviation patterns.</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> */</em> +<a name="313" href="#313">313</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">PatternAbbreviator</a>(List fragments) { +<a name="314" href="#314">314</a> <strong class="jxr_keyword">if</strong> (fragments.size() == 0) { +<a name="315" href="#315">315</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException( +<a name="316" href="#316">316</a> <span class="jxr_string">"fragments must have at least one element"</span>); +<a name="317" href="#317">317</a> } +<a name="318" href="#318">318</a> +<a name="319" href="#319">319</a> <strong class="jxr_keyword">this</strong>.fragments = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">PatternAbbreviatorFragment</a>[fragments.size()]; +<a name="320" href="#320">320</a> fragments.toArray(<strong class="jxr_keyword">this</strong>.fragments); +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">/**</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> * Abbreviate name.</em> +<a name="325" href="#325">325</a> <em class="jxr_javadoccomment"> * @param buf buffer that abbreviated name is appended.</em> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment"> * @param nameStart start of name.</em> +<a name="327" href="#327">327</a> <em class="jxr_javadoccomment"> */</em> +<a name="328" href="#328">328</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> abbreviate(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> nameStart, <strong class="jxr_keyword">final</strong> StringBuffer buf) { +<a name="329" href="#329">329</a> <em class="jxr_comment">//</em> +<a name="330" href="#330">330</a> <em class="jxr_comment">// all non-terminal patterns are executed once</em> +<a name="331" href="#331">331</a> <em class="jxr_comment">//</em> +<a name="332" href="#332">332</a> <strong class="jxr_keyword">int</strong> pos = nameStart; +<a name="333" href="#333">333</a> +<a name="334" href="#334">334</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; (i &lt; (fragments.length - 1)) &amp;&amp; (pos &lt; buf.length()); +<a name="335" href="#335">335</a> i++) { +<a name="336" href="#336">336</a> pos = fragments[i].abbreviate(buf, pos); +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <em class="jxr_comment">//</em> +<a name="340" href="#340">340</a> <em class="jxr_comment">// last pattern in executed repeatedly</em> +<a name="341" href="#341">341</a> <em class="jxr_comment">//</em> +<a name="342" href="#342">342</a> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">PatternAbbreviatorFragment</a> terminalFragment = +<a name="343" href="#343">343</a> fragments[fragments.length - 1]; +<a name="344" href="#344">344</a> +<a name="345" href="#345">345</a> <strong class="jxr_keyword">while</strong> ((pos &lt; buf.length()) &amp;&amp; (pos &gt;= 0)) { +<a name="346" href="#346">346</a> pos = terminalFragment.abbreviate(buf, pos); +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NamePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NamePatternConverter.html new file mode 100644 index 00000000000..3fedb4a8bd5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/NamePatternConverter.html @@ -0,0 +1,75 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NamePatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/NamePatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> *</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * Base class for other pattern converters which can return only parts of their name.</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> *</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> *</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/NamePatternConverter.html">NamePatternConverter</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * Abbreviator.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> abbreviator; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * Constructor.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * @param name name of converter.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * @param style style name for associated output.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * @param options options, may be null, first element will be interpreted as an abbreviation pattern.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/pattern/NamePatternConverter.html">NamePatternConverter</a>( +<a name="43" href="#43">43</a> <strong class="jxr_keyword">final</strong> String name, <strong class="jxr_keyword">final</strong> String style, <strong class="jxr_keyword">final</strong> String[] options) { +<a name="44" href="#44">44</a> <strong class="jxr_keyword">super</strong>(name, style); +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">if</strong> ((options != <strong class="jxr_keyword">null</strong>) &amp;&amp; (options.length &gt; 0)) { +<a name="47" href="#47">47</a> abbreviator = NameAbbreviator.getAbbreviator(options[0]); +<a name="48" href="#48">48</a> } <strong class="jxr_keyword">else</strong> { +<a name="49" href="#49">49</a> abbreviator = NameAbbreviator.getDefaultAbbreviator(); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * Abbreviate name in string buffer.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * @param nameStart starting position of name to abbreviate.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * @param buf string buffer containing name.</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> abbreviate(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> nameStart, <strong class="jxr_keyword">final</strong> StringBuffer buf) { +<a name="59" href="#59">59</a> abbreviator.abbreviate(nameStart, buf); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PatternConverter.html new file mode 100644 index 00000000000..2ea5e30b702 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PatternConverter.html @@ -0,0 +1,101 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/PatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> &lt;p&gt;PatternConverter is an abstract class that provides the</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> formatting functionality that derived classes need.</em> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> &lt;p&gt;Conversion specifiers in a conversion patterns are parsed to</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> individual PatternConverters. Each of which is responsible for</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> converting an object in a converter specific manner.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @author &lt;a href="<a href="mailto:cakalijp@Maritz.com" target="alexandria_uri">mailto:cakalijp@Maritz.com</a>"&gt;James P. Cakalic&lt;/a&gt;</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> @author Chris Nokes</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> @author Curt Arnold</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> { +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment">/**</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * Converter name.</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String name; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * Converter style name.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String style; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * Create a new pattern converter.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * @param name name for pattern converter.</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * @param style CSS style for formatted output.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a>(<strong class="jxr_keyword">final</strong> String name, <strong class="jxr_keyword">final</strong> String style) { +<a name="53" href="#53">53</a> <strong class="jxr_keyword">this</strong>.name = name; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">this</strong>.style = style; +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * Formats an object into a string buffer.</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * @param obj event to format, may not be null.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * @param toAppendTo string buffer to which the formatted event will be appended. May not be null.</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> Object obj, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo); +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment">/**</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * This method returns the name of the conversion pattern.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> *</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * The name can be useful to certain Layouts such as HTMLLayout.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> *</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * @return the name of the conversion pattern</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> String getName() { +<a name="72" href="#72">72</a> <strong class="jxr_keyword">return</strong> name; +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">/**</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * This method returns the CSS style class that should be applied to</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * the LoggingEvent passed as parameter, which can be null.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> *</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * This information is currently used only by HTMLLayout.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> *</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * @param e null values are accepted</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * @return the name of the conversion pattern</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> */</em> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">public</strong> String getStyleClass(Object e) { +<a name="85" href="#85">85</a> <strong class="jxr_keyword">return</strong> style; +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PatternParser.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PatternParser.html new file mode 100644 index 00000000000..380f89bf734 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PatternParser.html @@ -0,0 +1,697 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PatternParser xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/PatternParser.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.Loader; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Collection; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.HashMap; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.List; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.util.Set; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_comment">// Contributors: Nelson Minar &lt;(nelson@monkey.org&gt;</em> +<a name="32" href="#32">32</a> <em class="jxr_comment">// Igor E. Poteryaev &lt;jah@mail.ru&gt;</em> +<a name="33" href="#33">33</a> <em class="jxr_comment">// Reinhard Deschler &lt;reinhard.deschler@web.de&gt;</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Most of the work of the {@link org.apache.log4j.EnhancedPatternLayout} class</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * is delegated to the PatternParser class.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * &lt;p&gt;It is this class that parses conversion patterns and creates</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * a chained list of {@link PatternConverter PatternConverters}.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> *</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> * @author James P. Cakalic</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * @author Anders Kristensen</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * @author Paul Smith</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * @author Curt Arnold</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> *</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">*/</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">PatternParser</a> { +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * Escape character for format specifier.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> ESCAPE_CHAR = '%'; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * Literal state.</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> LITERAL_STATE = 0; +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * In converter name state.</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> CONVERTER_STATE = 1; +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment">/**</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * Dot state.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DOT_STATE = 3; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment">/**</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * Min state.</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MIN_STATE = 4; +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment">/**</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * Max state.</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> */</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MAX_STATE = 5; +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment">/**</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * Standard format specifiers for EnhancedPatternLayout.</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> */</em> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Map PATTERN_LAYOUT_RULES; +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment">/**</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * Standard format specifiers for rolling file appenders.</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> */</em> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Map FILENAME_PATTERN_RULES; +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">static</strong> { +<a name="90" href="#90">90</a> <em class="jxr_comment">// We set the global rules in the static initializer of PatternParser class</em> +<a name="91" href="#91">91</a> Map rules = <strong class="jxr_keyword">new</strong> HashMap(17); +<a name="92" href="#92">92</a> rules.put(<span class="jxr_string">"c"</span>, LoggerPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="93" href="#93">93</a> rules.put(<span class="jxr_string">"logger"</span>, LoggerPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> rules.put(<span class="jxr_string">"C"</span>, ClassNamePatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="96" href="#96">96</a> rules.put(<span class="jxr_string">"class"</span>, ClassNamePatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> rules.put(<span class="jxr_string">"d"</span>, DatePatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="99" href="#99">99</a> rules.put(<span class="jxr_string">"date"</span>, DatePatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> rules.put(<span class="jxr_string">"F"</span>, FileLocationPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="102" href="#102">102</a> rules.put(<span class="jxr_string">"file"</span>, FileLocationPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> rules.put(<span class="jxr_string">"l"</span>, FullLocationPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> rules.put(<span class="jxr_string">"L"</span>, LineLocationPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="107" href="#107">107</a> rules.put(<span class="jxr_string">"line"</span>, LineLocationPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> rules.put(<span class="jxr_string">"m"</span>, MessagePatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="110" href="#110">110</a> rules.put(<span class="jxr_string">"message"</span>, MessagePatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> rules.put(<span class="jxr_string">"n"</span>, LineSeparatorPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> rules.put(<span class="jxr_string">"M"</span>, MethodLocationPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="115" href="#115">115</a> rules.put(<span class="jxr_string">"method"</span>, MethodLocationPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> rules.put(<span class="jxr_string">"p"</span>, LevelPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="118" href="#118">118</a> rules.put(<span class="jxr_string">"level"</span>, LevelPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> rules.put(<span class="jxr_string">"r"</span>, RelativeTimePatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="121" href="#121">121</a> rules.put(<span class="jxr_string">"relative"</span>, RelativeTimePatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> rules.put(<span class="jxr_string">"t"</span>, ThreadPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="124" href="#124">124</a> rules.put(<span class="jxr_string">"thread"</span>, ThreadPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> rules.put(<span class="jxr_string">"x"</span>, NDCPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="127" href="#127">127</a> rules.put(<span class="jxr_string">"ndc"</span>, NDCPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> rules.put(<span class="jxr_string">"X"</span>, PropertiesPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="130" href="#130">130</a> rules.put(<span class="jxr_string">"properties"</span>, PropertiesPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> rules.put(<span class="jxr_string">"sn"</span>, SequenceNumberPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="133" href="#133">133</a> rules.put(<span class="jxr_string">"sequenceNumber"</span>, SequenceNumberPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> rules.put(<span class="jxr_string">"throwable"</span>, ThrowableInformationPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="136" href="#136">136</a> PATTERN_LAYOUT_RULES = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/PatternParser.html">ReadOnlyMap</a>(rules); +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> Map fnameRules = <strong class="jxr_keyword">new</strong> HashMap(4); +<a name="139" href="#139">139</a> fnameRules.put(<span class="jxr_string">"d"</span>, FileDatePatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="140" href="#140">140</a> fnameRules.put(<span class="jxr_string">"date"</span>, FileDatePatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="141" href="#141">141</a> fnameRules.put(<span class="jxr_string">"i"</span>, IntegerPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="142" href="#142">142</a> fnameRules.put(<span class="jxr_string">"index"</span>, IntegerPatternConverter.<strong class="jxr_keyword">class</strong>); +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> FILENAME_PATTERN_RULES = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/PatternParser.html">ReadOnlyMap</a>(fnameRules); +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">/**</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="149" href="#149">149</a> <em class="jxr_javadoccomment"> */</em> +<a name="150" href="#150">150</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">PatternParser</a>() { +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">/**</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> * Get standard format specifiers for EnhancedPatternLayout.</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> * @return read-only map of format converter classes keyed by format specifier strings.</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> */</em> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Map getPatternLayoutRules() { +<a name="158" href="#158">158</a> <strong class="jxr_keyword">return</strong> PATTERN_LAYOUT_RULES; +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">/**</em> +<a name="162" href="#162">162</a> <em class="jxr_javadoccomment"> * Get standard format specifiers for rolling file appender file specification.</em> +<a name="163" href="#163">163</a> <em class="jxr_javadoccomment"> * @return read-only map of format converter classes keyed by format specifier strings.</em> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment"> */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Map getFileNamePatternRules() { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">return</strong> FILENAME_PATTERN_RULES; +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Extract the converter identifier found at position i.</em> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment"> *</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> * After this function returns, the variable i will point to the</em> +<a name="172" href="#172">172</a> <em class="jxr_javadoccomment"> * first char after the end of the converter identifier.</em> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> *</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> * If i points to a char which is not a character acceptable at the</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> * start of a unicode identifier, the value null is returned.</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> *</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> * @param lastChar last processed character.</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> * @param pattern format string.</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * @param i current index into pattern format.</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * @param convBuf buffer to receive conversion specifier.</em> +<a name="181" href="#181">181</a> <em class="jxr_javadoccomment"> * @param currentLiteral literal to be output in case format specifier in unrecognized.</em> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment"> * @return position in pattern after converter.</em> +<a name="183" href="#183">183</a> <em class="jxr_javadoccomment"> */</em> +<a name="184" href="#184">184</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> extractConverter( +<a name="185" href="#185">185</a> <strong class="jxr_keyword">char</strong> lastChar, <strong class="jxr_keyword">final</strong> String pattern, <strong class="jxr_keyword">int</strong> i, <strong class="jxr_keyword">final</strong> StringBuffer convBuf, +<a name="186" href="#186">186</a> <strong class="jxr_keyword">final</strong> StringBuffer currentLiteral) { +<a name="187" href="#187">187</a> convBuf.setLength(0); +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> <em class="jxr_comment">// When this method is called, lastChar points to the first character of the</em> +<a name="190" href="#190">190</a> <em class="jxr_comment">// conversion word. For example:</em> +<a name="191" href="#191">191</a> <em class="jxr_comment">// For "%hello" lastChar = 'h'</em> +<a name="192" href="#192">192</a> <em class="jxr_comment">// For "%-5hello" lastChar = 'h'</em> +<a name="193" href="#193">193</a> <em class="jxr_comment">//System.out.println("lastchar is "+lastChar);</em> +<a name="194" href="#194">194</a> <strong class="jxr_keyword">if</strong> (!Character.isUnicodeIdentifierStart(lastChar)) { +<a name="195" href="#195">195</a> <strong class="jxr_keyword">return</strong> i; +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> convBuf.append(lastChar); +<a name="199" href="#199">199</a> +<a name="200" href="#200">200</a> <strong class="jxr_keyword">while</strong> ( +<a name="201" href="#201">201</a> (i &lt; pattern.length()) +<a name="202" href="#202">202</a> &amp;&amp; Character.isUnicodeIdentifierPart(pattern.charAt(i))) { +<a name="203" href="#203">203</a> convBuf.append(pattern.charAt(i)); +<a name="204" href="#204">204</a> currentLiteral.append(pattern.charAt(i)); +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em class="jxr_comment">//System.out.println("conv buffer is now ["+convBuf+"].");</em> +<a name="207" href="#207">207</a> i++; +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> <strong class="jxr_keyword">return</strong> i; +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">/**</em> +<a name="214" href="#214">214</a> <em class="jxr_javadoccomment"> * Extract options.</em> +<a name="215" href="#215">215</a> <em class="jxr_javadoccomment"> * @param pattern conversion pattern.</em> +<a name="216" href="#216">216</a> <em class="jxr_javadoccomment"> * @param i start of options.</em> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment"> * @param options array to receive extracted options</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> * @return position in pattern after options.</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> */</em> +<a name="220" href="#220">220</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> extractOptions(String pattern, <strong class="jxr_keyword">int</strong> i, List options) { +<a name="221" href="#221">221</a> <strong class="jxr_keyword">while</strong> ((i &lt; pattern.length()) &amp;&amp; (pattern.charAt(i) == '{')) { +<a name="222" href="#222">222</a> <strong class="jxr_keyword">int</strong> end = pattern.indexOf('}', i); +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> <strong class="jxr_keyword">if</strong> (end == -1) { +<a name="225" href="#225">225</a> <strong class="jxr_keyword">break</strong>; +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> String r = pattern.substring(i + 1, end); +<a name="229" href="#229">229</a> options.add(r); +<a name="230" href="#230">230</a> i = end + 1; +<a name="231" href="#231">231</a> } +<a name="232" href="#232">232</a> +<a name="233" href="#233">233</a> <strong class="jxr_keyword">return</strong> i; +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> <em class="jxr_javadoccomment">/**</em> +<a name="237" href="#237">237</a> <em class="jxr_javadoccomment"> * Parse a format specifier.</em> +<a name="238" href="#238">238</a> <em class="jxr_javadoccomment"> * @param pattern pattern to parse.</em> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment"> * @param patternConverters list to receive pattern converters.</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> * @param formattingInfos list to receive field specifiers corresponding to pattern converters.</em> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment"> * @param converterRegistry map of user-supported pattern converters keyed by format specifier, may be null.</em> +<a name="242" href="#242">242</a> <em class="jxr_javadoccomment"> * @param rules map of stock pattern converters keyed by format specifier.</em> +<a name="243" href="#243">243</a> <em class="jxr_javadoccomment"> */</em> +<a name="244" href="#244">244</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> parse( +<a name="245" href="#245">245</a> <strong class="jxr_keyword">final</strong> String pattern, <strong class="jxr_keyword">final</strong> List patternConverters, +<a name="246" href="#246">246</a> <strong class="jxr_keyword">final</strong> List formattingInfos, <strong class="jxr_keyword">final</strong> Map converterRegistry, <strong class="jxr_keyword">final</strong> Map rules) { +<a name="247" href="#247">247</a> <strong class="jxr_keyword">if</strong> (pattern == <strong class="jxr_keyword">null</strong>) { +<a name="248" href="#248">248</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"pattern"</span>); +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> StringBuffer currentLiteral = <strong class="jxr_keyword">new</strong> StringBuffer(32); +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <strong class="jxr_keyword">int</strong> patternLength = pattern.length(); +<a name="254" href="#254">254</a> <strong class="jxr_keyword">int</strong> state = LITERAL_STATE; +<a name="255" href="#255">255</a> <strong class="jxr_keyword">char</strong> c; +<a name="256" href="#256">256</a> <strong class="jxr_keyword">int</strong> i = 0; +<a name="257" href="#257">257</a> <a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> formattingInfo = FormattingInfo.getDefault(); +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <strong class="jxr_keyword">while</strong> (i &lt; patternLength) { +<a name="260" href="#260">260</a> c = pattern.charAt(i++); +<a name="261" href="#261">261</a> +<a name="262" href="#262">262</a> <strong class="jxr_keyword">switch</strong> (state) { +<a name="263" href="#263">263</a> <strong class="jxr_keyword">case</strong> LITERAL_STATE: +<a name="264" href="#264">264</a> +<a name="265" href="#265">265</a> <em class="jxr_comment">// In literal state, the last char is always a literal.</em> +<a name="266" href="#266">266</a> <strong class="jxr_keyword">if</strong> (i == patternLength) { +<a name="267" href="#267">267</a> currentLiteral.append(c); +<a name="268" href="#268">268</a> +<a name="269" href="#269">269</a> <strong class="jxr_keyword">continue</strong>; +<a name="270" href="#270">270</a> } +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <strong class="jxr_keyword">if</strong> (c == ESCAPE_CHAR) { +<a name="273" href="#273">273</a> <em class="jxr_comment">// peek at the next char.</em> +<a name="274" href="#274">274</a> <strong class="jxr_keyword">switch</strong> (pattern.charAt(i)) { +<a name="275" href="#275">275</a> <strong class="jxr_keyword">case</strong> ESCAPE_CHAR: +<a name="276" href="#276">276</a> currentLiteral.append(c); +<a name="277" href="#277">277</a> i++; <em class="jxr_comment">// move pointer</em> +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> <strong class="jxr_keyword">break</strong>; +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> <strong class="jxr_keyword">default</strong>: +<a name="282" href="#282">282</a> +<a name="283" href="#283">283</a> <strong class="jxr_keyword">if</strong> (currentLiteral.length() != 0) { +<a name="284" href="#284">284</a> patternConverters.add( +<a name="285" href="#285">285</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LiteralPatternConverter</a>(currentLiteral.toString())); +<a name="286" href="#286">286</a> formattingInfos.add(FormattingInfo.getDefault()); +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> currentLiteral.setLength(0); +<a name="290" href="#290">290</a> currentLiteral.append(c); <em class="jxr_comment">// append %</em> +<a name="291" href="#291">291</a> state = CONVERTER_STATE; +<a name="292" href="#292">292</a> formattingInfo = FormattingInfo.getDefault(); +<a name="293" href="#293">293</a> } +<a name="294" href="#294">294</a> } <strong class="jxr_keyword">else</strong> { +<a name="295" href="#295">295</a> currentLiteral.append(c); +<a name="296" href="#296">296</a> } +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> <strong class="jxr_keyword">break</strong>; +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> <strong class="jxr_keyword">case</strong> CONVERTER_STATE: +<a name="301" href="#301">301</a> currentLiteral.append(c); +<a name="302" href="#302">302</a> +<a name="303" href="#303">303</a> <strong class="jxr_keyword">switch</strong> (c) { +<a name="304" href="#304">304</a> <strong class="jxr_keyword">case</strong> '-': +<a name="305" href="#305">305</a> formattingInfo = +<a name="306" href="#306">306</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a>( +<a name="307" href="#307">307</a> <strong class="jxr_keyword">true</strong>, formattingInfo.getMinLength(), +<a name="308" href="#308">308</a> formattingInfo.getMaxLength()); +<a name="309" href="#309">309</a> +<a name="310" href="#310">310</a> <strong class="jxr_keyword">break</strong>; +<a name="311" href="#311">311</a> +<a name="312" href="#312">312</a> <strong class="jxr_keyword">case</strong> '.': +<a name="313" href="#313">313</a> state = DOT_STATE; +<a name="314" href="#314">314</a> +<a name="315" href="#315">315</a> <strong class="jxr_keyword">break</strong>; +<a name="316" href="#316">316</a> +<a name="317" href="#317">317</a> <strong class="jxr_keyword">default</strong>: +<a name="318" href="#318">318</a> +<a name="319" href="#319">319</a> <strong class="jxr_keyword">if</strong> ((c &gt;= '0') &amp;&amp; (c &lt;= '9')) { +<a name="320" href="#320">320</a> formattingInfo = +<a name="321" href="#321">321</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a>( +<a name="322" href="#322">322</a> formattingInfo.isLeftAligned(), c - '0', +<a name="323" href="#323">323</a> formattingInfo.getMaxLength()); +<a name="324" href="#324">324</a> state = MIN_STATE; +<a name="325" href="#325">325</a> } <strong class="jxr_keyword">else</strong> { +<a name="326" href="#326">326</a> i = finalizeConverter( +<a name="327" href="#327">327</a> c, pattern, i, currentLiteral, formattingInfo, +<a name="328" href="#328">328</a> converterRegistry, rules, patternConverters, formattingInfos); +<a name="329" href="#329">329</a> +<a name="330" href="#330">330</a> <em class="jxr_comment">// Next pattern is assumed to be a literal.</em> +<a name="331" href="#331">331</a> state = LITERAL_STATE; +<a name="332" href="#332">332</a> formattingInfo = FormattingInfo.getDefault(); +<a name="333" href="#333">333</a> currentLiteral.setLength(0); +<a name="334" href="#334">334</a> } +<a name="335" href="#335">335</a> } <em class="jxr_comment">// switch</em> +<a name="336" href="#336">336</a> +<a name="337" href="#337">337</a> <strong class="jxr_keyword">break</strong>; +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <strong class="jxr_keyword">case</strong> MIN_STATE: +<a name="340" href="#340">340</a> currentLiteral.append(c); +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> <strong class="jxr_keyword">if</strong> ((c &gt;= '0') &amp;&amp; (c &lt;= '9')) { +<a name="343" href="#343">343</a> formattingInfo = +<a name="344" href="#344">344</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a>( +<a name="345" href="#345">345</a> formattingInfo.isLeftAligned(), +<a name="346" href="#346">346</a> (formattingInfo.getMinLength() * 10) + (c - '0'), +<a name="347" href="#347">347</a> formattingInfo.getMaxLength()); +<a name="348" href="#348">348</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (c == '.') { +<a name="349" href="#349">349</a> state = DOT_STATE; +<a name="350" href="#350">350</a> } <strong class="jxr_keyword">else</strong> { +<a name="351" href="#351">351</a> i = finalizeConverter( +<a name="352" href="#352">352</a> c, pattern, i, currentLiteral, formattingInfo, +<a name="353" href="#353">353</a> converterRegistry, rules, patternConverters, formattingInfos); +<a name="354" href="#354">354</a> state = LITERAL_STATE; +<a name="355" href="#355">355</a> formattingInfo = FormattingInfo.getDefault(); +<a name="356" href="#356">356</a> currentLiteral.setLength(0); +<a name="357" href="#357">357</a> } +<a name="358" href="#358">358</a> +<a name="359" href="#359">359</a> <strong class="jxr_keyword">break</strong>; +<a name="360" href="#360">360</a> +<a name="361" href="#361">361</a> <strong class="jxr_keyword">case</strong> DOT_STATE: +<a name="362" href="#362">362</a> currentLiteral.append(c); +<a name="363" href="#363">363</a> +<a name="364" href="#364">364</a> <strong class="jxr_keyword">if</strong> ((c &gt;= '0') &amp;&amp; (c &lt;= '9')) { +<a name="365" href="#365">365</a> formattingInfo = +<a name="366" href="#366">366</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a>( +<a name="367" href="#367">367</a> formattingInfo.isLeftAligned(), formattingInfo.getMinLength(), +<a name="368" href="#368">368</a> c - '0'); +<a name="369" href="#369">369</a> state = MAX_STATE; +<a name="370" href="#370">370</a> } <strong class="jxr_keyword">else</strong> { +<a name="371" href="#371">371</a> LogLog.error( +<a name="372" href="#372">372</a> <span class="jxr_string">"Error occured in position "</span> + i +<a name="373" href="#373">373</a> + <span class="jxr_string">".\n Was expecting digit, instead got char \&quot;"</span> + c + <span class="jxr_string">"\&quot;."</span>); +<a name="374" href="#374">374</a> +<a name="375" href="#375">375</a> state = LITERAL_STATE; +<a name="376" href="#376">376</a> } +<a name="377" href="#377">377</a> +<a name="378" href="#378">378</a> <strong class="jxr_keyword">break</strong>; +<a name="379" href="#379">379</a> +<a name="380" href="#380">380</a> <strong class="jxr_keyword">case</strong> MAX_STATE: +<a name="381" href="#381">381</a> currentLiteral.append(c); +<a name="382" href="#382">382</a> +<a name="383" href="#383">383</a> <strong class="jxr_keyword">if</strong> ((c &gt;= '0') &amp;&amp; (c &lt;= '9')) { +<a name="384" href="#384">384</a> formattingInfo = +<a name="385" href="#385">385</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a>( +<a name="386" href="#386">386</a> formattingInfo.isLeftAligned(), formattingInfo.getMinLength(), +<a name="387" href="#387">387</a> (formattingInfo.getMaxLength() * 10) + (c - '0')); +<a name="388" href="#388">388</a> } <strong class="jxr_keyword">else</strong> { +<a name="389" href="#389">389</a> i = finalizeConverter( +<a name="390" href="#390">390</a> c, pattern, i, currentLiteral, formattingInfo, +<a name="391" href="#391">391</a> converterRegistry, rules, patternConverters, formattingInfos); +<a name="392" href="#392">392</a> state = LITERAL_STATE; +<a name="393" href="#393">393</a> formattingInfo = FormattingInfo.getDefault(); +<a name="394" href="#394">394</a> currentLiteral.setLength(0); +<a name="395" href="#395">395</a> } +<a name="396" href="#396">396</a> +<a name="397" href="#397">397</a> <strong class="jxr_keyword">break</strong>; +<a name="398" href="#398">398</a> } <em class="jxr_comment">// switch</em> +<a name="399" href="#399">399</a> } +<a name="400" href="#400">400</a> +<a name="401" href="#401">401</a> <em class="jxr_comment">// while</em> +<a name="402" href="#402">402</a> <strong class="jxr_keyword">if</strong> (currentLiteral.length() != 0) { +<a name="403" href="#403">403</a> patternConverters.add( +<a name="404" href="#404">404</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LiteralPatternConverter</a>(currentLiteral.toString())); +<a name="405" href="#405">405</a> formattingInfos.add(FormattingInfo.getDefault()); +<a name="406" href="#406">406</a> } +<a name="407" href="#407">407</a> } +<a name="408" href="#408">408</a> +<a name="409" href="#409">409</a> <em class="jxr_javadoccomment">/**</em> +<a name="410" href="#410">410</a> <em class="jxr_javadoccomment"> * Creates a new PatternConverter.</em> +<a name="411" href="#411">411</a> <em class="jxr_javadoccomment"> *</em> +<a name="412" href="#412">412</a> <em class="jxr_javadoccomment"> *</em> +<a name="413" href="#413">413</a> <em class="jxr_javadoccomment"> * @param converterId converterId.</em> +<a name="414" href="#414">414</a> <em class="jxr_javadoccomment"> * @param currentLiteral literal to be used if converter is unrecognized or following converter</em> +<a name="415" href="#415">415</a> <em class="jxr_javadoccomment"> * if converterId contains extra characters.</em> +<a name="416" href="#416">416</a> <em class="jxr_javadoccomment"> * @param converterRegistry map of user-supported pattern converters keyed by format specifier, may be null.</em> +<a name="417" href="#417">417</a> <em class="jxr_javadoccomment"> * @param rules map of stock pattern converters keyed by format specifier.</em> +<a name="418" href="#418">418</a> <em class="jxr_javadoccomment"> * @param options converter options.</em> +<a name="419" href="#419">419</a> <em class="jxr_javadoccomment"> * @return converter or null.</em> +<a name="420" href="#420">420</a> <em class="jxr_javadoccomment"> */</em> +<a name="421" href="#421">421</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> createConverter( +<a name="422" href="#422">422</a> <strong class="jxr_keyword">final</strong> String converterId, <strong class="jxr_keyword">final</strong> StringBuffer currentLiteral, +<a name="423" href="#423">423</a> <strong class="jxr_keyword">final</strong> Map converterRegistry, <strong class="jxr_keyword">final</strong> Map rules, <strong class="jxr_keyword">final</strong> List options) { +<a name="424" href="#424">424</a> String converterName = converterId; +<a name="425" href="#425">425</a> Object converterObj = <strong class="jxr_keyword">null</strong>; +<a name="426" href="#426">426</a> +<a name="427" href="#427">427</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = converterId.length(); (i &gt; 0) &amp;&amp; (converterObj == <strong class="jxr_keyword">null</strong>); +<a name="428" href="#428">428</a> i--) { +<a name="429" href="#429">429</a> converterName = converterName.substring(0, i); +<a name="430" href="#430">430</a> +<a name="431" href="#431">431</a> <strong class="jxr_keyword">if</strong> (converterRegistry != <strong class="jxr_keyword">null</strong>) { +<a name="432" href="#432">432</a> converterObj = converterRegistry.get(converterName); +<a name="433" href="#433">433</a> } +<a name="434" href="#434">434</a> +<a name="435" href="#435">435</a> <strong class="jxr_keyword">if</strong> ((converterObj == <strong class="jxr_keyword">null</strong>) &amp;&amp; (rules != <strong class="jxr_keyword">null</strong>)) { +<a name="436" href="#436">436</a> converterObj = rules.get(converterName); +<a name="437" href="#437">437</a> } +<a name="438" href="#438">438</a> } +<a name="439" href="#439">439</a> +<a name="440" href="#440">440</a> <strong class="jxr_keyword">if</strong> (converterObj == <strong class="jxr_keyword">null</strong>) { +<a name="441" href="#441">441</a> LogLog.error(<span class="jxr_string">"Unrecognized format specifier ["</span> + converterId + <span class="jxr_string">"]"</span>); +<a name="442" href="#442">442</a> +<a name="443" href="#443">443</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="444" href="#444">444</a> } +<a name="445" href="#445">445</a> +<a name="446" href="#446">446</a> Class converterClass = <strong class="jxr_keyword">null</strong>; +<a name="447" href="#447">447</a> +<a name="448" href="#448">448</a> <strong class="jxr_keyword">if</strong> (converterObj instanceof Class) { +<a name="449" href="#449">449</a> converterClass = (Class) converterObj; +<a name="450" href="#450">450</a> } <strong class="jxr_keyword">else</strong> { +<a name="451" href="#451">451</a> <strong class="jxr_keyword">if</strong> (converterObj instanceof String) { +<a name="452" href="#452">452</a> <strong class="jxr_keyword">try</strong> { +<a name="453" href="#453">453</a> converterClass = Loader.loadClass((String) converterObj); +<a name="454" href="#454">454</a> } <strong class="jxr_keyword">catch</strong> (ClassNotFoundException ex) { +<a name="455" href="#455">455</a> LogLog.warn( +<a name="456" href="#456">456</a> <span class="jxr_string">"Class for conversion pattern %"</span> + converterName + <span class="jxr_string">" not found"</span>, +<a name="457" href="#457">457</a> ex); +<a name="458" href="#458">458</a> +<a name="459" href="#459">459</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="460" href="#460">460</a> } +<a name="461" href="#461">461</a> } <strong class="jxr_keyword">else</strong> { +<a name="462" href="#462">462</a> LogLog.warn( +<a name="463" href="#463">463</a> <span class="jxr_string">"Bad map entry for conversion pattern %"</span> + converterName + <span class="jxr_string">"."</span>); +<a name="464" href="#464">464</a> +<a name="465" href="#465">465</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="466" href="#466">466</a> } +<a name="467" href="#467">467</a> } +<a name="468" href="#468">468</a> +<a name="469" href="#469">469</a> <strong class="jxr_keyword">try</strong> { +<a name="470" href="#470">470</a> Method factory = +<a name="471" href="#471">471</a> converterClass.getMethod( +<a name="472" href="#472">472</a> <span class="jxr_string">"newInstance"</span>, +<a name="473" href="#473">473</a> <strong class="jxr_keyword">new</strong> Class[] { +<a name="474" href="#474">474</a> Class.forName(<span class="jxr_string">"[Ljava.lang.String;"</span>) +<a name="475" href="#475">475</a> }); +<a name="476" href="#476">476</a> String[] optionsArray = <strong class="jxr_keyword">new</strong> String[options.size()]; +<a name="477" href="#477">477</a> optionsArray = (String[]) options.toArray(optionsArray); +<a name="478" href="#478">478</a> +<a name="479" href="#479">479</a> Object newObj = +<a name="480" href="#480">480</a> factory.invoke(<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">new</strong> Object[] { optionsArray }); +<a name="481" href="#481">481</a> +<a name="482" href="#482">482</a> <strong class="jxr_keyword">if</strong> (newObj instanceof PatternConverter) { +<a name="483" href="#483">483</a> currentLiteral.delete( +<a name="484" href="#484">484</a> 0, +<a name="485" href="#485">485</a> currentLiteral.length() +<a name="486" href="#486">486</a> - (converterId.length() - converterName.length())); +<a name="487" href="#487">487</a> +<a name="488" href="#488">488</a> <strong class="jxr_keyword">return</strong> (PatternConverter) newObj; +<a name="489" href="#489">489</a> } <strong class="jxr_keyword">else</strong> { +<a name="490" href="#490">490</a> LogLog.warn( +<a name="491" href="#491">491</a> <span class="jxr_string">"Class "</span> + converterClass.getName() +<a name="492" href="#492">492</a> + <span class="jxr_string">" does not extend PatternConverter."</span>); +<a name="493" href="#493">493</a> } +<a name="494" href="#494">494</a> } <strong class="jxr_keyword">catch</strong> (Exception ex) { +<a name="495" href="#495">495</a> LogLog.error(<span class="jxr_string">"Error creating converter for "</span> + converterId, ex); +<a name="496" href="#496">496</a> +<a name="497" href="#497">497</a> <strong class="jxr_keyword">try</strong> { +<a name="498" href="#498">498</a> <em class="jxr_comment">//</em> +<a name="499" href="#499">499</a> <em class="jxr_comment">// try default constructor</em> +<a name="500" href="#500">500</a> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> pc = (PatternConverter) converterClass.newInstance(); +<a name="501" href="#501">501</a> currentLiteral.delete( +<a name="502" href="#502">502</a> 0, +<a name="503" href="#503">503</a> currentLiteral.length() +<a name="504" href="#504">504</a> - (converterId.length() - converterName.length())); +<a name="505" href="#505">505</a> +<a name="506" href="#506">506</a> <strong class="jxr_keyword">return</strong> pc; +<a name="507" href="#507">507</a> } <strong class="jxr_keyword">catch</strong> (Exception ex2) { +<a name="508" href="#508">508</a> LogLog.error(<span class="jxr_string">"Error creating converter for "</span> + converterId, ex2); +<a name="509" href="#509">509</a> } +<a name="510" href="#510">510</a> } +<a name="511" href="#511">511</a> +<a name="512" href="#512">512</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="513" href="#513">513</a> } +<a name="514" href="#514">514</a> +<a name="515" href="#515">515</a> <em class="jxr_javadoccomment">/**</em> +<a name="516" href="#516">516</a> <em class="jxr_javadoccomment"> * Processes a format specifier sequence.</em> +<a name="517" href="#517">517</a> <em class="jxr_javadoccomment"> *</em> +<a name="518" href="#518">518</a> <em class="jxr_javadoccomment"> * @param c initial character of format specifier.</em> +<a name="519" href="#519">519</a> <em class="jxr_javadoccomment"> * @param pattern conversion pattern</em> +<a name="520" href="#520">520</a> <em class="jxr_javadoccomment"> * @param i current position in conversion pattern.</em> +<a name="521" href="#521">521</a> <em class="jxr_javadoccomment"> * @param currentLiteral current literal.</em> +<a name="522" href="#522">522</a> <em class="jxr_javadoccomment"> * @param formattingInfo current field specifier.</em> +<a name="523" href="#523">523</a> <em class="jxr_javadoccomment"> * @param converterRegistry map of user-provided pattern converters keyed by format specifier, may be null.</em> +<a name="524" href="#524">524</a> <em class="jxr_javadoccomment"> * @param rules map of stock pattern converters keyed by format specifier.</em> +<a name="525" href="#525">525</a> <em class="jxr_javadoccomment"> * @param patternConverters list to receive parsed pattern converter.</em> +<a name="526" href="#526">526</a> <em class="jxr_javadoccomment"> * @param formattingInfos list to receive corresponding field specifier.</em> +<a name="527" href="#527">527</a> <em class="jxr_javadoccomment"> * @return position after format specifier sequence.</em> +<a name="528" href="#528">528</a> <em class="jxr_javadoccomment"> */</em> +<a name="529" href="#529">529</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> finalizeConverter( +<a name="530" href="#530">530</a> <strong class="jxr_keyword">char</strong> c, String pattern, <strong class="jxr_keyword">int</strong> i, +<a name="531" href="#531">531</a> <strong class="jxr_keyword">final</strong> StringBuffer currentLiteral, <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/helpers/FormattingInfo.html">FormattingInfo</a> formattingInfo, +<a name="532" href="#532">532</a> <strong class="jxr_keyword">final</strong> Map converterRegistry, <strong class="jxr_keyword">final</strong> Map rules, <strong class="jxr_keyword">final</strong> List patternConverters, +<a name="533" href="#533">533</a> <strong class="jxr_keyword">final</strong> List formattingInfos) { +<a name="534" href="#534">534</a> StringBuffer convBuf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="535" href="#535">535</a> i = extractConverter(c, pattern, i, convBuf, currentLiteral); +<a name="536" href="#536">536</a> +<a name="537" href="#537">537</a> String converterId = convBuf.toString(); +<a name="538" href="#538">538</a> +<a name="539" href="#539">539</a> List options = <strong class="jxr_keyword">new</strong> ArrayList(); +<a name="540" href="#540">540</a> i = extractOptions(pattern, i, options); +<a name="541" href="#541">541</a> +<a name="542" href="#542">542</a> <a href="../../../../org/apache/log4j/helpers/PatternConverter.html">PatternConverter</a> pc = +<a name="543" href="#543">543</a> createConverter( +<a name="544" href="#544">544</a> converterId, currentLiteral, converterRegistry, rules, options); +<a name="545" href="#545">545</a> +<a name="546" href="#546">546</a> <strong class="jxr_keyword">if</strong> (pc == <strong class="jxr_keyword">null</strong>) { +<a name="547" href="#547">547</a> StringBuffer msg; +<a name="548" href="#548">548</a> +<a name="549" href="#549">549</a> <strong class="jxr_keyword">if</strong> ((converterId == <strong class="jxr_keyword">null</strong>) || (converterId.length() == 0)) { +<a name="550" href="#550">550</a> msg = +<a name="551" href="#551">551</a> <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"Empty conversion specifier starting at position "</span>); +<a name="552" href="#552">552</a> } <strong class="jxr_keyword">else</strong> { +<a name="553" href="#553">553</a> msg = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"Unrecognized conversion specifier ["</span>); +<a name="554" href="#554">554</a> msg.append(converterId); +<a name="555" href="#555">555</a> msg.append(<span class="jxr_string">"] starting at position "</span>); +<a name="556" href="#556">556</a> } +<a name="557" href="#557">557</a> +<a name="558" href="#558">558</a> msg.append(Integer.toString(i)); +<a name="559" href="#559">559</a> msg.append(<span class="jxr_string">" in conversion pattern."</span>); +<a name="560" href="#560">560</a> +<a name="561" href="#561">561</a> LogLog.error(msg.toString()); +<a name="562" href="#562">562</a> +<a name="563" href="#563">563</a> patternConverters.add( +<a name="564" href="#564">564</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LiteralPatternConverter</a>(currentLiteral.toString())); +<a name="565" href="#565">565</a> formattingInfos.add(FormattingInfo.getDefault()); +<a name="566" href="#566">566</a> } <strong class="jxr_keyword">else</strong> { +<a name="567" href="#567">567</a> patternConverters.add(pc); +<a name="568" href="#568">568</a> formattingInfos.add(formattingInfo); +<a name="569" href="#569">569</a> +<a name="570" href="#570">570</a> <strong class="jxr_keyword">if</strong> (currentLiteral.length() &gt; 0) { +<a name="571" href="#571">571</a> patternConverters.add( +<a name="572" href="#572">572</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/helpers/PatternParser.html">LiteralPatternConverter</a>(currentLiteral.toString())); +<a name="573" href="#573">573</a> formattingInfos.add(FormattingInfo.getDefault()); +<a name="574" href="#574">574</a> } +<a name="575" href="#575">575</a> } +<a name="576" href="#576">576</a> +<a name="577" href="#577">577</a> currentLiteral.setLength(0); +<a name="578" href="#578">578</a> +<a name="579" href="#579">579</a> <strong class="jxr_keyword">return</strong> i; +<a name="580" href="#580">580</a> } +<a name="581" href="#581">581</a> +<a name="582" href="#582">582</a> <em class="jxr_javadoccomment">/**</em> +<a name="583" href="#583">583</a> <em class="jxr_javadoccomment"> * The class wraps another Map but throws exceptions on any attempt to modify the map.</em> +<a name="584" href="#584">584</a> <em class="jxr_javadoccomment"> */</em> +<a name="585" href="#585">585</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/PatternParser.html">ReadOnlyMap</a> implements Map { +<a name="586" href="#586">586</a> <em class="jxr_javadoccomment">/**</em> +<a name="587" href="#587">587</a> <em class="jxr_javadoccomment"> * Wrapped map.</em> +<a name="588" href="#588">588</a> <em class="jxr_javadoccomment"> */</em> +<a name="589" href="#589">589</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map map; +<a name="590" href="#590">590</a> +<a name="591" href="#591">591</a> <em class="jxr_javadoccomment">/**</em> +<a name="592" href="#592">592</a> <em class="jxr_javadoccomment"> * Constructor</em> +<a name="593" href="#593">593</a> <em class="jxr_javadoccomment"> * @param src source map.</em> +<a name="594" href="#594">594</a> <em class="jxr_javadoccomment"> */</em> +<a name="595" href="#595">595</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/PatternParser.html">ReadOnlyMap</a>(Map src) { +<a name="596" href="#596">596</a> map = src; +<a name="597" href="#597">597</a> } +<a name="598" href="#598">598</a> +<a name="599" href="#599">599</a> <em class="jxr_javadoccomment">/**</em> +<a name="600" href="#600">600</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="601" href="#601">601</a> <em class="jxr_javadoccomment"> */</em> +<a name="602" href="#602">602</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> clear() { +<a name="603" href="#603">603</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException(); +<a name="604" href="#604">604</a> } +<a name="605" href="#605">605</a> +<a name="606" href="#606">606</a> <em class="jxr_javadoccomment">/**</em> +<a name="607" href="#607">607</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="608" href="#608">608</a> <em class="jxr_javadoccomment"> */</em> +<a name="609" href="#609">609</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> containsKey(Object key) { +<a name="610" href="#610">610</a> <strong class="jxr_keyword">return</strong> map.containsKey(key); +<a name="611" href="#611">611</a> } +<a name="612" href="#612">612</a> +<a name="613" href="#613">613</a> <em class="jxr_javadoccomment">/**</em> +<a name="614" href="#614">614</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="615" href="#615">615</a> <em class="jxr_javadoccomment"> */</em> +<a name="616" href="#616">616</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> containsValue(Object value) { +<a name="617" href="#617">617</a> <strong class="jxr_keyword">return</strong> map.containsValue(value); +<a name="618" href="#618">618</a> } +<a name="619" href="#619">619</a> +<a name="620" href="#620">620</a> <em class="jxr_javadoccomment">/**</em> +<a name="621" href="#621">621</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="622" href="#622">622</a> <em class="jxr_javadoccomment"> */</em> +<a name="623" href="#623">623</a> <strong class="jxr_keyword">public</strong> Set entrySet() { +<a name="624" href="#624">624</a> <strong class="jxr_keyword">return</strong> map.entrySet(); +<a name="625" href="#625">625</a> } +<a name="626" href="#626">626</a> +<a name="627" href="#627">627</a> <em class="jxr_javadoccomment">/**</em> +<a name="628" href="#628">628</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="629" href="#629">629</a> <em class="jxr_javadoccomment"> */</em> +<a name="630" href="#630">630</a> <strong class="jxr_keyword">public</strong> Object get(Object key) { +<a name="631" href="#631">631</a> <strong class="jxr_keyword">return</strong> map.get(key); +<a name="632" href="#632">632</a> } +<a name="633" href="#633">633</a> +<a name="634" href="#634">634</a> <em class="jxr_javadoccomment">/**</em> +<a name="635" href="#635">635</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="636" href="#636">636</a> <em class="jxr_javadoccomment"> */</em> +<a name="637" href="#637">637</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isEmpty() { +<a name="638" href="#638">638</a> <strong class="jxr_keyword">return</strong> map.isEmpty(); +<a name="639" href="#639">639</a> } +<a name="640" href="#640">640</a> +<a name="641" href="#641">641</a> <em class="jxr_javadoccomment">/**</em> +<a name="642" href="#642">642</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="643" href="#643">643</a> <em class="jxr_javadoccomment"> */</em> +<a name="644" href="#644">644</a> <strong class="jxr_keyword">public</strong> Set keySet() { +<a name="645" href="#645">645</a> <strong class="jxr_keyword">return</strong> map.keySet(); +<a name="646" href="#646">646</a> } +<a name="647" href="#647">647</a> +<a name="648" href="#648">648</a> <em class="jxr_javadoccomment">/**</em> +<a name="649" href="#649">649</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="650" href="#650">650</a> <em class="jxr_javadoccomment"> */</em> +<a name="651" href="#651">651</a> <strong class="jxr_keyword">public</strong> Object put(Object key, Object value) { +<a name="652" href="#652">652</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException(); +<a name="653" href="#653">653</a> } +<a name="654" href="#654">654</a> +<a name="655" href="#655">655</a> <em class="jxr_javadoccomment">/**</em> +<a name="656" href="#656">656</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="657" href="#657">657</a> <em class="jxr_javadoccomment"> */</em> +<a name="658" href="#658">658</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putAll(Map t) { +<a name="659" href="#659">659</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException(); +<a name="660" href="#660">660</a> } +<a name="661" href="#661">661</a> +<a name="662" href="#662">662</a> <em class="jxr_javadoccomment">/**</em> +<a name="663" href="#663">663</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="664" href="#664">664</a> <em class="jxr_javadoccomment"> */</em> +<a name="665" href="#665">665</a> <strong class="jxr_keyword">public</strong> Object remove(Object key) { +<a name="666" href="#666">666</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException(); +<a name="667" href="#667">667</a> } +<a name="668" href="#668">668</a> +<a name="669" href="#669">669</a> <em class="jxr_javadoccomment">/**</em> +<a name="670" href="#670">670</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="671" href="#671">671</a> <em class="jxr_javadoccomment"> */</em> +<a name="672" href="#672">672</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> size() { +<a name="673" href="#673">673</a> <strong class="jxr_keyword">return</strong> map.size(); +<a name="674" href="#674">674</a> } +<a name="675" href="#675">675</a> +<a name="676" href="#676">676</a> <em class="jxr_javadoccomment">/**</em> +<a name="677" href="#677">677</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="678" href="#678">678</a> <em class="jxr_javadoccomment"> */</em> +<a name="679" href="#679">679</a> <strong class="jxr_keyword">public</strong> Collection values() { +<a name="680" href="#680">680</a> <strong class="jxr_keyword">return</strong> map.values(); +<a name="681" href="#681">681</a> } +<a name="682" href="#682">682</a> } +<a name="683" href="#683">683</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html new file mode 100644 index 00000000000..412a5a31bf1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>PropertiesPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.util.Iterator; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.util.Set; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.*; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * Able to handle the contents of the LoggingEvent's Property bundle and either</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * output the entire contents of the properties in a similar format to the</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * java.util.Hashtable.toString(), or to output the value of a specific key</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * within the property bundle</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * when this pattern converter has the option set.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> *</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @author Paul Smith</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> */</em> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * Name of property to output.</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String option; +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a>( +<a name="49" href="#49">49</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">super</strong>( +<a name="51" href="#51">51</a> ((options != <strong class="jxr_keyword">null</strong>) &amp;&amp; (options.length &gt; 0)) +<a name="52" href="#52">52</a> ? (<span class="jxr_string">"Property{"</span> + options[0] + <span class="jxr_string">"}"</span>) : <span class="jxr_string">"Properties"</span>, <span class="jxr_string">"property"</span>); +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">if</strong> ((options != <strong class="jxr_keyword">null</strong>) &amp;&amp; (options.length &gt; 0)) { +<a name="55" href="#55">55</a> option = options[0]; +<a name="56" href="#56">56</a> } <strong class="jxr_keyword">else</strong> { +<a name="57" href="#57">57</a> option = <strong class="jxr_keyword">null</strong>; +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * Obtains an instance of PropertiesPatternConverter.</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * @param options options, may be null or first element contains name of property to format.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * @return instance of PropertiesPatternConverter.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> */</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a> newInstance( +<a name="67" href="#67">67</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="68" href="#68">68</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a>(options); +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment">/**</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> */</em> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="75" href="#75">75</a> <em class="jxr_comment">// if there is no additional options, we output every single</em> +<a name="76" href="#76">76</a> <em class="jxr_comment">// Key/Value pair for the MDC in a similar format to Hashtable.toString()</em> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">if</strong> (option == <strong class="jxr_keyword">null</strong>) { +<a name="78" href="#78">78</a> toAppendTo.append(<span class="jxr_string">"{"</span>); +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">try</strong> { +<a name="81" href="#81">81</a> Set keySet = MDCKeySetExtractor.INSTANCE.getPropertyKeySet(event); +<a name="82" href="#82">82</a> <strong class="jxr_keyword">if</strong> (keySet != <strong class="jxr_keyword">null</strong>) { +<a name="83" href="#83">83</a> <strong class="jxr_keyword">for</strong> (Iterator i = keySet.iterator(); i.hasNext();) { +<a name="84" href="#84">84</a> Object item = i.next(); +<a name="85" href="#85">85</a> Object val = event.getMDC(item.toString()); +<a name="86" href="#86">86</a> toAppendTo.append(<span class="jxr_string">"{"</span>).append(item).append(<span class="jxr_string">","</span>).append(val).append( +<a name="87" href="#87">87</a> <span class="jxr_string">"}"</span>); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> } <strong class="jxr_keyword">catch</strong>(Exception ex) { +<a name="91" href="#91">91</a> LogLog.error(<span class="jxr_string">"Unexpected exception while extracting MDC keys"</span>, ex); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> toAppendTo.append(<span class="jxr_string">"}"</span>); +<a name="95" href="#95">95</a> } <strong class="jxr_keyword">else</strong> { +<a name="96" href="#96">96</a> <em class="jxr_comment">// otherwise they just want a single key output</em> +<a name="97" href="#97">97</a> Object val = event.getMDC(option); +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">if</strong> (val != <strong class="jxr_keyword">null</strong>) { +<a name="100" href="#100">100</a> toAppendTo.append(val); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/RelativeTimePatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/RelativeTimePatternConverter.html new file mode 100644 index 00000000000..ea45a8716f2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/RelativeTimePatternConverter.html @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>RelativeTimePatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Return the relative time in milliseconds since loading of the LoggingEvent</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * class.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html">RelativeTimePatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Cached formatted timestamp.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html">CachedTimestamp</a> lastTimestamp = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html">CachedTimestamp</a>(0, <span class="jxr_string">""</span>); +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html">RelativeTimePatternConverter</a>() { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Time"</span>, <span class="jxr_string">"time"</span>); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * Obtains an instance of RelativeTimePatternConverter.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * @param options options, currently ignored, may be null.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * @return instance of RelativeTimePatternConverter.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html">RelativeTimePatternConverter</a> newInstance( +<a name="48" href="#48">48</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html">RelativeTimePatternConverter</a>(); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="56" href="#56">56</a> <strong class="jxr_keyword">long</strong> timestamp = event.timeStamp; +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">if</strong> (!lastTimestamp.format(timestamp, toAppendTo)) { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">final</strong> String formatted = +<a name="60" href="#60">60</a> Long.toString(timestamp - LoggingEvent.getStartTime()); +<a name="61" href="#61">61</a> toAppendTo.append(formatted); +<a name="62" href="#62">62</a> lastTimestamp = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html">CachedTimestamp</a>(timestamp, formatted); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * Cached timestamp and formatted value.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> */</em> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html">CachedTimestamp</a> { +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * Cached timestamp.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> */</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> timestamp; +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">/**</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * Cached formatted timestamp.</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> */</em> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String formatted; +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment">/**</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * Creates a new instance.</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * @param timestamp timestamp.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * @param formatted formatted timestamp.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html">CachedTimestamp</a>(<strong class="jxr_keyword">long</strong> timestamp, <strong class="jxr_keyword">final</strong> String formatted) { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">this</strong>.timestamp = timestamp; +<a name="87" href="#87">87</a> <strong class="jxr_keyword">this</strong>.formatted = formatted; +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment">/**</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> * Appends the cached formatted timestamp to the buffer if timestamps match.</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * @param newTimestamp requested timestamp.</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * @param toAppendTo buffer to append formatted timestamp.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * @return true if requested timestamp matched cached timestamp.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> format(<strong class="jxr_keyword">long</strong> newTimestamp, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="97" href="#97">97</a> <strong class="jxr_keyword">if</strong> (newTimestamp == timestamp) { +<a name="98" href="#98">98</a> toAppendTo.append(formatted); +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">return</strong> false; +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/SequenceNumberPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/SequenceNumberPatternConverter.html new file mode 100644 index 00000000000..c8344ea556d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/SequenceNumberPatternConverter.html @@ -0,0 +1,73 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SequenceNumberPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Formats the event sequence number.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html">SequenceNumberPatternConverter</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html">SequenceNumberPatternConverter</a> INSTANCE = +<a name="34" href="#34">34</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html">SequenceNumberPatternConverter</a>(); +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html">SequenceNumberPatternConverter</a>() { +<a name="40" href="#40">40</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Sequence Number"</span>, <span class="jxr_string">"sn"</span>); +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * Obtains an instance of SequencePatternConverter.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * @param options options, currently ignored, may be null.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * @return instance of SequencePatternConverter.</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> */</em> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html">SequenceNumberPatternConverter</a> newInstance( +<a name="49" href="#49">49</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="50" href="#50">50</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment">/**</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="57" href="#57">57</a> toAppendTo.append(<span class="jxr_string">"0"</span>); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ThreadPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ThreadPatternConverter.html new file mode 100644 index 00000000000..e5250d1e2f2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ThreadPatternConverter.html @@ -0,0 +1,72 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ThreadPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * Formats the event thread name.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html">ThreadPatternConverter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment">/**</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * Singleton.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html">ThreadPatternConverter</a> INSTANCE = +<a name="33" href="#33">33</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html">ThreadPatternConverter</a>(); +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html">ThreadPatternConverter</a>() { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Thread"</span>, <span class="jxr_string">"thread"</span>); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * Obtains an instance of ThreadPatternConverter.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * @param options options, currently ignored, may be null.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * @return instance of ThreadPatternConverter.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/ThreadPatternConverter.html">ThreadPatternConverter</a> newInstance( +<a name="48" href="#48">48</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">return</strong> INSTANCE; +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="56" href="#56">56</a> toAppendTo.append(event.getThreadName()); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html new file mode 100644 index 00000000000..a74c2446da6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ThrowableInformationPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableInformation; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * Outputs the ThrowableInformation portion of the LoggingEvent.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * By default, outputs the full stack trace. %throwable{none}</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * or %throwable{0} suppresses the stack trace. %throwable{short}</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * or %throwable{1} outputs just the first line. %throwable{n}</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * will output n lines for a positive integer or drop the last</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * -n lines for a negative integer.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @author Paul Smith</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> *</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * Maximum lines of stack trace to output.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> maxLines = Integer.MAX_VALUE; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * Private constructor.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * @param options options, may be null.</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> */</em> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a>( +<a name="48" href="#48">48</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"Throwable"</span>, <span class="jxr_string">"throwable"</span>); +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">if</strong> ((options != <strong class="jxr_keyword">null</strong>) &amp;&amp; (options.length &gt; 0)) { +<a name="52" href="#52">52</a> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"none"</span>.equals(options[0])) { +<a name="53" href="#53">53</a> maxLines = 0; +<a name="54" href="#54">54</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(<span class="jxr_string">"short"</span>.equals(options[0])) { +<a name="55" href="#55">55</a> maxLines = 1; +<a name="56" href="#56">56</a> } <strong class="jxr_keyword">else</strong> { +<a name="57" href="#57">57</a> <strong class="jxr_keyword">try</strong> { +<a name="58" href="#58">58</a> maxLines = Integer.parseInt(options[0]); +<a name="59" href="#59">59</a> } <strong class="jxr_keyword">catch</strong>(NumberFormatException ex) { +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">/**</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * Gets an instance of the class.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * @param options pattern options, may be null. If first element is "short",</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * only the first line of the throwable will be formatted.</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * @return instance of class.</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> */</em> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a> newInstance( +<a name="72" href="#72">72</a> <strong class="jxr_keyword">final</strong> String[] options) { +<a name="73" href="#73">73</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a>(options); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment">/**</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> */</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event, <strong class="jxr_keyword">final</strong> StringBuffer toAppendTo) { +<a name="80" href="#80">80</a> <strong class="jxr_keyword">if</strong> (maxLines != 0) { +<a name="81" href="#81">81</a> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a> information = event.getThrowableInformation(); +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong class="jxr_keyword">if</strong> (information != <strong class="jxr_keyword">null</strong>) { +<a name="84" href="#84">84</a> String[] stringRep = information.getThrowableStrRep(); +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">int</strong> length = stringRep.length; +<a name="87" href="#87">87</a> <strong class="jxr_keyword">if</strong> (maxLines &lt; 0) { +<a name="88" href="#88">88</a> length += maxLines; +<a name="89" href="#89">89</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (length &gt; maxLines) { +<a name="90" href="#90">90</a> length = maxLines; +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; length; i++) { +<a name="94" href="#94">94</a> String string = stringRep[i]; +<a name="95" href="#95">95</a> toAppendTo.append(string).append(<span class="jxr_string">"\n"</span>); +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * This converter obviously handles throwables.</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> * @return true.</em> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> */</em> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> handlesThrowable() { +<a name="106" href="#106">106</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/package-frame.html new file mode 100644 index 00000000000..98d0a096775 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/package-frame.html @@ -0,0 +1,132 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.pattern</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.pattern</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="BridgePatternConverter.html" target="classFrame">BridgePatternConverter</a> + </li> + <li> + <a href="BridgePatternParser.html" target="classFrame">BridgePatternParser</a> + </li> + <li> + <a href="CachedDateFormat.html" target="classFrame">CachedDateFormat</a> + </li> + <li> + <a href="RelativeTimePatternConverter.html" target="classFrame">CachedTimestamp</a> + </li> + <li> + <a href="ClassNamePatternConverter.html" target="classFrame">ClassNamePatternConverter</a> + </li> + <li> + <a href="DatePatternConverter.html" target="classFrame">DatePatternConverter</a> + </li> + <li> + <a href="DatePatternConverter.html" target="classFrame">DefaultZoneDateFormat</a> + </li> + <li> + <a href="NameAbbreviator.html" target="classFrame">DropElementAbbreviator</a> + </li> + <li> + <a href="FileDatePatternConverter.html" target="classFrame">FileDatePatternConverter</a> + </li> + <li> + <a href="FileLocationPatternConverter.html" target="classFrame">FileLocationPatternConverter</a> + </li> + <li> + <a href="FormattingInfo.html" target="classFrame">FormattingInfo</a> + </li> + <li> + <a href="FullLocationPatternConverter.html" target="classFrame">FullLocationPatternConverter</a> + </li> + <li> + <a href="IntegerPatternConverter.html" target="classFrame">IntegerPatternConverter</a> + </li> + <li> + <a href="LevelPatternConverter.html" target="classFrame">LevelPatternConverter</a> + </li> + <li> + <a href="LineLocationPatternConverter.html" target="classFrame">LineLocationPatternConverter</a> + </li> + <li> + <a href="LineSeparatorPatternConverter.html" target="classFrame">LineSeparatorPatternConverter</a> + </li> + <li> + <a href="LiteralPatternConverter.html" target="classFrame">LiteralPatternConverter</a> + </li> + <li> + <a href="LogEvent.html" target="classFrame">LogEvent</a> + </li> + <li> + <a href="LoggerPatternConverter.html" target="classFrame">LoggerPatternConverter</a> + </li> + <li> + <a href="LoggingEventPatternConverter.html" target="classFrame">LoggingEventPatternConverter</a> + </li> + <li> + <a href="NameAbbreviator.html" target="classFrame">MaxElementAbbreviator</a> + </li> + <li> + <a href="MessagePatternConverter.html" target="classFrame">MessagePatternConverter</a> + </li> + <li> + <a href="MethodLocationPatternConverter.html" target="classFrame">MethodLocationPatternConverter</a> + </li> + <li> + <a href="NDCPatternConverter.html" target="classFrame">NDCPatternConverter</a> + </li> + <li> + <a href="NameAbbreviator.html" target="classFrame">NOPAbbreviator</a> + </li> + <li> + <a href="NameAbbreviator.html" target="classFrame">NameAbbreviator</a> + </li> + <li> + <a href="NamePatternConverter.html" target="classFrame">NamePatternConverter</a> + </li> + <li> + <a href="NameAbbreviator.html" target="classFrame">PatternAbbreviator</a> + </li> + <li> + <a href="NameAbbreviator.html" target="classFrame">PatternAbbreviatorFragment</a> + </li> + <li> + <a href="PatternConverter.html" target="classFrame">PatternConverter</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">PatternParser</a> + </li> + <li> + <a href="PropertiesPatternConverter.html" target="classFrame">PropertiesPatternConverter</a> + </li> + <li> + <a href="PatternParser.html" target="classFrame">ReadOnlyMap</a> + </li> + <li> + <a href="RelativeTimePatternConverter.html" target="classFrame">RelativeTimePatternConverter</a> + </li> + <li> + <a href="SequenceNumberPatternConverter.html" target="classFrame">SequenceNumberPatternConverter</a> + </li> + <li> + <a href="ThreadPatternConverter.html" target="classFrame">ThreadPatternConverter</a> + </li> + <li> + <a href="ThrowableInformationPatternConverter.html" target="classFrame">ThrowableInformationPatternConverter</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/package-summary.html new file mode 100644 index 00000000000..09b4feff106 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/pattern/package-summary.html @@ -0,0 +1,247 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.pattern</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.pattern</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="BridgePatternConverter.html" target="classFrame">BridgePatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="BridgePatternParser.html" target="classFrame">BridgePatternParser</a> + </td> + </tr> + <tr> + <td> + <a href="CachedDateFormat.html" target="classFrame">CachedDateFormat</a> + </td> + </tr> + <tr> + <td> + <a href="RelativeTimePatternConverter.html" target="classFrame">CachedTimestamp</a> + </td> + </tr> + <tr> + <td> + <a href="ClassNamePatternConverter.html" target="classFrame">ClassNamePatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="DatePatternConverter.html" target="classFrame">DatePatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="DatePatternConverter.html" target="classFrame">DefaultZoneDateFormat</a> + </td> + </tr> + <tr> + <td> + <a href="NameAbbreviator.html" target="classFrame">DropElementAbbreviator</a> + </td> + </tr> + <tr> + <td> + <a href="FileDatePatternConverter.html" target="classFrame">FileDatePatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="FileLocationPatternConverter.html" target="classFrame">FileLocationPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="FormattingInfo.html" target="classFrame">FormattingInfo</a> + </td> + </tr> + <tr> + <td> + <a href="FullLocationPatternConverter.html" target="classFrame">FullLocationPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="IntegerPatternConverter.html" target="classFrame">IntegerPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="LevelPatternConverter.html" target="classFrame">LevelPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="LineLocationPatternConverter.html" target="classFrame">LineLocationPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="LineSeparatorPatternConverter.html" target="classFrame">LineSeparatorPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="LiteralPatternConverter.html" target="classFrame">LiteralPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="LogEvent.html" target="classFrame">LogEvent</a> + </td> + </tr> + <tr> + <td> + <a href="LoggerPatternConverter.html" target="classFrame">LoggerPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="LoggingEventPatternConverter.html" target="classFrame">LoggingEventPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="NameAbbreviator.html" target="classFrame">MaxElementAbbreviator</a> + </td> + </tr> + <tr> + <td> + <a href="MessagePatternConverter.html" target="classFrame">MessagePatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="MethodLocationPatternConverter.html" target="classFrame">MethodLocationPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="NDCPatternConverter.html" target="classFrame">NDCPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="NameAbbreviator.html" target="classFrame">NOPAbbreviator</a> + </td> + </tr> + <tr> + <td> + <a href="NameAbbreviator.html" target="classFrame">NameAbbreviator</a> + </td> + </tr> + <tr> + <td> + <a href="NamePatternConverter.html" target="classFrame">NamePatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="NameAbbreviator.html" target="classFrame">PatternAbbreviator</a> + </td> + </tr> + <tr> + <td> + <a href="NameAbbreviator.html" target="classFrame">PatternAbbreviatorFragment</a> + </td> + </tr> + <tr> + <td> + <a href="PatternConverter.html" target="classFrame">PatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">PatternParser</a> + </td> + </tr> + <tr> + <td> + <a href="PropertiesPatternConverter.html" target="classFrame">PropertiesPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="PatternParser.html" target="classFrame">ReadOnlyMap</a> + </td> + </tr> + <tr> + <td> + <a href="RelativeTimePatternConverter.html" target="classFrame">RelativeTimePatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="SequenceNumberPatternConverter.html" target="classFrame">SequenceNumberPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="ThreadPatternConverter.html" target="classFrame">ThreadPatternConverter</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableInformationPatternConverter.html" target="classFrame">ThrowableInformationPatternConverter</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/AppenderAttachable.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/AppenderAttachable.html new file mode 100644 index 00000000000..1c4eca85255 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/AppenderAttachable.html @@ -0,0 +1,89 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>AppenderAttachable xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/AppenderAttachable.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> Interface for attaching appenders to objects.</em> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> @since 0.9.1 */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/AppenderAttachable.html">AppenderAttachable</a> { +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> Add an appender.</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">void</strong> addAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> newAppender); +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> Get all previously added appenders as an Enumeration. */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> +<a name="39" href="#39">39</a> Enumeration getAllAppenders(); +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> Get an appender by name.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> +<a name="45" href="#45">45</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> getAppender(String name); +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment">/**</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> Returns &lt;code&gt;true&lt;/code&gt; if the specified appender is in list of</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> attached attached, &lt;code&gt;false&lt;/code&gt; otherwise.</em> +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">boolean</strong> isAttached(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender); +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment">/**</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> Remove all previously added appenders.</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> */</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">void</strong> removeAllAppenders(); +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> Remove the appender passed as parameter from the list of appenders.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">void</strong> removeAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender); +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> Remove the appender with the name passed as parameter from the</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> list of appenders. </em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">void</strong> +<a name="73" href="#73">73</a> removeAppender(String name); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/Configurator.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/Configurator.html new file mode 100644 index 00000000000..84133c4140b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/Configurator.html @@ -0,0 +1,68 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Configurator xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/Configurator.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> Implemented by classes capable of configuring log4j using a URL.</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> </em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> @since 1.0</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/Configurator.html">Configurator</a> { +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> Special level value signifying inherited behaviour. The current</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> value of this string constant is &lt;b&gt;inherited&lt;/b&gt;. {@link #NULL}</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> is a synonym. */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String INHERITED = <span class="jxr_string">"inherited"</span>; +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> Special level signifying inherited behaviour, same as {@link</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> #INHERITED}. The current value of this string constant is</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> &lt;b&gt;null&lt;/b&gt;. */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NULL = <span class="jxr_string">"null"</span>; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> Interpret a resource pointed by a URL and set up log4j accordingly.</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> The configuration is done relative to the &lt;code&gt;hierarchy&lt;/code&gt;</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> parameter.</em> +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> @param url The URL to parse</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> @param repository The hierarchy to operation upon.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">void</strong> doConfigure(URL url, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository); +<a name="54" href="#54">54</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/DefaultRepositorySelector.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/DefaultRepositorySelector.html new file mode 100644 index 00000000000..108c4a3be45 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/DefaultRepositorySelector.html @@ -0,0 +1,51 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DefaultRepositorySelector xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/DefaultRepositorySelector.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html">DefaultRepositorySelector</a> implements <a href="../../../../org/apache/log4j/spi/RepositorySelector.html">RepositorySelector</a> { +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> +<a name="28" href="#28">28</a> <a href="../../../../org/apache/log4j/spi/DefaultRepositorySelector.html">DefaultRepositorySelector</a>(<a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) { +<a name="29" href="#29">29</a> <strong class="jxr_keyword">this</strong>.repository = repository; +<a name="30" href="#30">30</a> } +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> +<a name="33" href="#33">33</a> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> getLoggerRepository() { +<a name="34" href="#34">34</a> <strong class="jxr_keyword">return</strong> repository; +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ErrorCode.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ErrorCode.html new file mode 100644 index 00000000000..ce19dfeb7cc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ErrorCode.html @@ -0,0 +1,50 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ErrorCode xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/ErrorCode.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> This interface defines commonly encoutered error codes.</em> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> @since 0.9.0</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> */</em> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/ErrorCode.html">ErrorCode</a> { +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> GENERIC_FAILURE = 0; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> WRITE_FAILURE = 1; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLUSH_FAILURE = 2; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> CLOSE_FAILURE = 3; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FILE_OPEN_FAILURE = 4; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MISSING_LAYOUT = 5; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> ADDRESS_PARSE_FAILURE = 6; +<a name="36" href="#36">36</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ErrorHandler.html new file mode 100644 index 00000000000..ee674cce255 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ErrorHandler.html @@ -0,0 +1,106 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ErrorHandler xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/ErrorHandler.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> Appenders may delegate their error handling to</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> &lt;code&gt;ErrorHandlers&lt;/code&gt;.</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> &lt;p&gt;Error handling is a particularly tedious to get right because by</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> definition errors are hard to predict and to reproduce. </em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> &lt;p&gt;Please take the time to contact the author in case you discover</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> that errors are not properly handled. You are most welcome to</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> suggest new error handling policies or criticize existing policies.</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> </em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">*/</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a> { +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> Add a reference to a logger to which the failing appender might</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> be attached to. The failing appender will be searched and</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> replaced only in the loggers you add through this method.</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> @param logger One of the loggers that will be searched for the failing</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> appender in view of replacement.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> </em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="51" href="#51">51</a> <strong class="jxr_keyword">void</strong> setLogger(<a href="../../../../org/apache/log4j/Logger.html">Logger</a> logger); +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> Equivalent to the {@link #error(String, Exception, int,</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> LoggingEvent event)} with the the event parameteter set to</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> &lt;code&gt;null&lt;/code&gt;.</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> </em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> */</em> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">void</strong> error(String message, Exception e, <strong class="jxr_keyword">int</strong> errorCode); +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> This method is normally used to just print the error message</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> passed as a parameter. </em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> */</em> +<a name="66" href="#66">66</a> <strong class="jxr_keyword">void</strong> error(String message); +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment">/**</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> This method is invoked to handle the error.</em> +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> @param message The message assoicated with the error.</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> @param e The Exption that was thrown when the error occured.</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> @param errorCode The error code associated with the error. </em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> @param event The logging event that the failing appender is asked</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> to log.</em> +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">void</strong> error(String message, Exception e, <strong class="jxr_keyword">int</strong> errorCode, <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event); +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment">/**</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> Set the appender for which errors are handled. This method is</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> usually called when the error handler is configured.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> </em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">void</strong> setAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender); +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> Set the appender to falkback upon in case of failure.</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> </em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">void</strong> setBackupAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender); +<a name="92" href="#92">92</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/Filter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/Filter.html new file mode 100644 index 00000000000..8482114e3a7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/Filter.html @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Filter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/Filter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> Users should extend this class to implement customized logging</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> event filtering. Note that {@link org.apache.log4j.Category} and {@link</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> org.apache.log4j.AppenderSkeleton}, the parent class of all standard</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> appenders, have built-in filtering rules. It is suggested that you</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> first use and understand the built-in rules before rushing to write</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> your own custom filters.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> &lt;p&gt;This abstract class assumes and also imposes that filters be</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> organized in a linear chain. The {@link #decide</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> decide(LoggingEvent)} method of each filter is called sequentially,</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> in the order of their addition to the chain.</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> &lt;p&gt;The {@link #decide decide(LoggingEvent)} method must return one</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> of the integer constants {@link #DENY}, {@link #NEUTRAL} or {@link</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> #ACCEPT}.</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the value {@link #DENY} is returned, then the log event is</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> dropped immediately without consulting with the remaining</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> filters. </em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the value {@link #NEUTRAL} is returned, then the next filter</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> in the chain is consulted. If there are no more filters in the</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> chain, then the log event is logged. Thus, in the presence of no</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> filters, the default behaviour is to log all logging events.</em> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the value {@link #ACCEPT} is returned, then the log</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> event is logged without consulting the remaining filters. </em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> &lt;p&gt;The philosophy of log4j filters is largely inspired from the</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> Linux ipchains. </em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that filtering is only supported by the {@link</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> org.apache.log4j.xml.DOMConfigurator DOMConfigurator}. The {@link</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> org.apache.log4j.PropertyConfigurator PropertyConfigurator} does not</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> support filters.</em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> @since 0.9.0 */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> implements <a href="../../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a> { +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment">/**</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> Points to the next filter in the filter chain.</em> +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> @deprecated As of 1.2.12, use {@link #getNext} and {@link #setNext} instead</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> */</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> next; +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> The log event must be dropped immediately without consulting</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> with the remaining filters, if any, in the chain. */</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DENY = -1; +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">/**</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> This filter is neutral with respect to the log event. The</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> remaining filters, if any, should be consulted for a final decision.</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> */</em> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> NEUTRAL = 0; +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment">/**</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> The log event must be logged immediately without consulting with</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> the remaining filters, if any, in the chain. */</em> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> ACCEPT = 1; +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment">/**</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> Usually filters options become active when set. We provide a</em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> default do-nothing implementation for convenience.</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> */</em> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">public</strong> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the decision is &lt;code&gt;DENY&lt;/code&gt;, then the event will be</em> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment"> dropped. If the decision is &lt;code&gt;NEUTRAL&lt;/code&gt;, then the next</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> filter, if any, will be invoked. If the decision is ACCEPT then</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> the event will be logged without consulting with other filters in</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> the chain.</em> +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> @param event The LoggingEvent to decide upon.</em> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> @return decision The decision of the filter. */</em> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">abstract</strong> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">public</strong> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">int</strong> decide(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event); +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">/**</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> * Set the next filter pointer.</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> */</em> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setNext(<a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> next) { +<a name="114" href="#114">114</a> <strong class="jxr_keyword">this</strong>.next = next; +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">/**</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> * Return the pointer to the next filter;</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> */</em> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> getNext() { +<a name="121" href="#121">121</a> <strong class="jxr_keyword">return</strong> next; +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/HierarchyEventListener.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/HierarchyEventListener.html new file mode 100644 index 00000000000..a6ae384a63e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/HierarchyEventListener.html @@ -0,0 +1,59 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>HierarchyEventListener xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/HierarchyEventListener.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Category; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> Listen to events occuring within a {@link</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> org.apache.log4j.Hierarchy Hierarchy}.</em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> @since 1.2</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> </em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/HierarchyEventListener.html">HierarchyEventListener</a> { +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_comment">//public</em> +<a name="35" href="#35">35</a> <em class="jxr_comment">//void categoryCreationEvent(Category cat);</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">void</strong> addAppenderEvent(<a href="../../../../org/apache/log4j/Category.html">Category</a> cat, <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender); +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">public</strong> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">void</strong> removeAppenderEvent(<a href="../../../../org/apache/log4j/Category.html">Category</a> cat, <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender); +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LocationInfo.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LocationInfo.html new file mode 100644 index 00000000000..7395961837d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LocationInfo.html @@ -0,0 +1,405 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LocationInfo xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/LocationInfo.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contributors: Mathias Rupprecht &lt;mmathias.rupprecht@fja.com&gt;</em> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.PrintWriter; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.StringWriter; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> The internal representation of caller location information.</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> @since 0.8.3</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">*/</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> implements java.io.Serializable { +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> Caller's line number.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">transient</strong> String lineNumber; +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> Caller's file name.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">transient</strong> String fileName; +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> Caller's fully qualified class name.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">transient</strong> String className; +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> Caller's method name.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">transient</strong> String methodName; +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> All available caller information, in the format</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> &lt;code&gt;fully.qualified.classname.of.caller.methodName(Filename.java:line)&lt;/code&gt;</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> String fullInfo; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> StringWriter sw = <strong class="jxr_keyword">new</strong> StringWriter(); +<a name="61" href="#61">61</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> PrintWriter pw = <strong class="jxr_keyword">new</strong> PrintWriter(sw); +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Method getStackTraceMethod; +<a name="64" href="#64">64</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Method getClassNameMethod; +<a name="65" href="#65">65</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Method getMethodNameMethod; +<a name="66" href="#66">66</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Method getFileNameMethod; +<a name="67" href="#67">67</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> Method getLineNumberMethod; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> When location information is not available the constant</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> &lt;code&gt;NA&lt;/code&gt; is returned. Current value of this string</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> constant is &lt;b&gt;?&lt;/b&gt;. */</em> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> String NA = <span class="jxr_string">"?"</span>; +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -1325822038990805636L; +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * NA_LOCATION_INFO is provided for compatibility with log4j 1.3.</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> */</em> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> NA_LOCATION_INFO = +<a name="83" href="#83">83</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a>(NA, NA, NA, NA); +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em class="jxr_comment">// Check if we are running in IBM's visual age.</em> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> inVisualAge = false; +<a name="89" href="#89">89</a> <strong class="jxr_keyword">static</strong> { +<a name="90" href="#90">90</a> <strong class="jxr_keyword">try</strong> { +<a name="91" href="#91">91</a> inVisualAge = Class.forName(<span class="jxr_string">"com.ibm.uvm.tools.DebugSupport"</span>) != <strong class="jxr_keyword">null</strong>; +<a name="92" href="#92">92</a> LogLog.debug(<span class="jxr_string">"Detected IBM VisualAge environment."</span>); +<a name="93" href="#93">93</a> } <strong class="jxr_keyword">catch</strong>(Throwable e) { +<a name="94" href="#94">94</a> <em class="jxr_comment">// nothing to do</em> +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> <strong class="jxr_keyword">try</strong> { +<a name="97" href="#97">97</a> Class[] noArgs = <strong class="jxr_keyword">null</strong>; +<a name="98" href="#98">98</a> getStackTraceMethod = Throwable.<strong class="jxr_keyword">class</strong>.getMethod(<span class="jxr_string">"getStackTrace"</span>, noArgs); +<a name="99" href="#99">99</a> Class stackTraceElementClass = Class.forName(<span class="jxr_string">"java.lang.StackTraceElement"</span>); +<a name="100" href="#100">100</a> getClassNameMethod = stackTraceElementClass.getMethod(<span class="jxr_string">"getClassName"</span>, noArgs); +<a name="101" href="#101">101</a> getMethodNameMethod = stackTraceElementClass.getMethod(<span class="jxr_string">"getMethodName"</span>, noArgs); +<a name="102" href="#102">102</a> getFileNameMethod = stackTraceElementClass.getMethod(<span class="jxr_string">"getFileName"</span>, noArgs); +<a name="103" href="#103">103</a> getLineNumberMethod = stackTraceElementClass.getMethod(<span class="jxr_string">"getLineNumber"</span>, noArgs); +<a name="104" href="#104">104</a> } <strong class="jxr_keyword">catch</strong>(ClassNotFoundException ex) { +<a name="105" href="#105">105</a> LogLog.debug(<span class="jxr_string">"LocationInfo will use pre-JDK 1.4 methods to determine location."</span>); +<a name="106" href="#106">106</a> } <strong class="jxr_keyword">catch</strong>(NoSuchMethodException ex) { +<a name="107" href="#107">107</a> LogLog.debug(<span class="jxr_string">"LocationInfo will use pre-JDK 1.4 methods to determine location."</span>); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">/**</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> Instantiate location information based on a Throwable. We</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> expect the Throwable &lt;code&gt;t&lt;/code&gt;, to be in the format</em> +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="116" href="#116">116</a> <em class="jxr_javadoccomment"> java.lang.Throwable</em> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment"> ...</em> +<a name="118" href="#118">118</a> <em class="jxr_javadoccomment"> at org.apache.log4j.PatternLayout.format(PatternLayout.java:413)</em> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment"> at org.apache.log4j.FileAppender.doAppend(FileAppender.java:183)</em> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment"> at org.apache.log4j.Category.callAppenders(Category.java:131)</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> at org.apache.log4j.Category.log(Category.java:512)</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> at callers.fully.qualified.className.methodName(FileName.java:74)</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> ...</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment"> &lt;p&gt;However, we can also deal with JIT compilers that "lose" the</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> location information, especially between the parentheses.</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> @param t throwable used to determine location, may be null.</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> @param fqnOfCallingClass class name of first class considered part of</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> the logging framework. Location will be site that calls a method on this class.</em> +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em class="jxr_javadoccomment"> */</em> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a>(Throwable t, String fqnOfCallingClass) { +<a name="134" href="#134">134</a> <strong class="jxr_keyword">if</strong>(t == <strong class="jxr_keyword">null</strong> || fqnOfCallingClass == <strong class="jxr_keyword">null</strong>) +<a name="135" href="#135">135</a> <strong class="jxr_keyword">return</strong>; +<a name="136" href="#136">136</a> <strong class="jxr_keyword">if</strong> (getLineNumberMethod != <strong class="jxr_keyword">null</strong>) { +<a name="137" href="#137">137</a> <strong class="jxr_keyword">try</strong> { +<a name="138" href="#138">138</a> Object[] noArgs = <strong class="jxr_keyword">null</strong>; +<a name="139" href="#139">139</a> Object[] elements = (Object[]) getStackTraceMethod.invoke(t, noArgs); +<a name="140" href="#140">140</a> String prevClass = NA; +<a name="141" href="#141">141</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = elements.length - 1; i &gt;= 0; i--) { +<a name="142" href="#142">142</a> String thisClass = (String) getClassNameMethod.invoke(elements[i], noArgs); +<a name="143" href="#143">143</a> <strong class="jxr_keyword">if</strong>(fqnOfCallingClass.equals(thisClass)) { +<a name="144" href="#144">144</a> <strong class="jxr_keyword">int</strong> caller = i + 1; +<a name="145" href="#145">145</a> <strong class="jxr_keyword">if</strong> (caller &lt; elements.length) { +<a name="146" href="#146">146</a> className = prevClass; +<a name="147" href="#147">147</a> methodName = (String) getMethodNameMethod.invoke(elements[caller], noArgs); +<a name="148" href="#148">148</a> fileName = (String) getFileNameMethod.invoke(elements[caller], noArgs); +<a name="149" href="#149">149</a> <strong class="jxr_keyword">if</strong> (fileName == <strong class="jxr_keyword">null</strong>) { +<a name="150" href="#150">150</a> fileName = NA; +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> <strong class="jxr_keyword">int</strong> line = ((Integer) getLineNumberMethod.invoke(elements[caller], noArgs)).intValue(); +<a name="153" href="#153">153</a> <strong class="jxr_keyword">if</strong> (line &lt; 0) { +<a name="154" href="#154">154</a> lineNumber = NA; +<a name="155" href="#155">155</a> } <strong class="jxr_keyword">else</strong> { +<a name="156" href="#156">156</a> lineNumber = String.valueOf(line); +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="159" href="#159">159</a> buf.append(className); +<a name="160" href="#160">160</a> buf.append(<span class="jxr_string">"."</span>); +<a name="161" href="#161">161</a> buf.append(methodName); +<a name="162" href="#162">162</a> buf.append(<span class="jxr_string">"("</span>); +<a name="163" href="#163">163</a> buf.append(fileName); +<a name="164" href="#164">164</a> buf.append(<span class="jxr_string">":"</span>); +<a name="165" href="#165">165</a> buf.append(lineNumber); +<a name="166" href="#166">166</a> buf.append(<span class="jxr_string">")"</span>); +<a name="167" href="#167">167</a> <strong class="jxr_keyword">this</strong>.fullInfo = buf.toString(); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> <strong class="jxr_keyword">return</strong>; +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> prevClass = thisClass; +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> <strong class="jxr_keyword">return</strong>; +<a name="174" href="#174">174</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException ex) { +<a name="175" href="#175">175</a> LogLog.debug(<span class="jxr_string">"LocationInfo failed using JDK 1.4 methods"</span>, ex); +<a name="176" href="#176">176</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException ex) { +<a name="177" href="#177">177</a> <strong class="jxr_keyword">if</strong> (ex.getTargetException() instanceof InterruptedException +<a name="178" href="#178">178</a> || ex.getTargetException() instanceof InterruptedIOException) { +<a name="179" href="#179">179</a> Thread.currentThread().interrupt(); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> LogLog.debug(<span class="jxr_string">"LocationInfo failed using JDK 1.4 methods"</span>, ex); +<a name="182" href="#182">182</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException ex) { +<a name="183" href="#183">183</a> LogLog.debug(<span class="jxr_string">"LocationInfo failed using JDK 1.4 methods"</span>, ex); +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> } +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> String s; +<a name="188" href="#188">188</a> <em class="jxr_comment">// Protect against multiple access to sw.</em> +<a name="189" href="#189">189</a> <strong class="jxr_keyword">synchronized</strong>(sw) { +<a name="190" href="#190">190</a> t.printStackTrace(pw); +<a name="191" href="#191">191</a> s = sw.toString(); +<a name="192" href="#192">192</a> sw.getBuffer().setLength(0); +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> <em class="jxr_comment">//System.out.println("s is ["+s+"].");</em> +<a name="195" href="#195">195</a> <strong class="jxr_keyword">int</strong> ibegin, iend; +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em class="jxr_comment">// Given the current structure of the package, the line</em> +<a name="198" href="#198">198</a> <em class="jxr_comment">// containing "org.apache.log4j.Category." should be printed just</em> +<a name="199" href="#199">199</a> <em class="jxr_comment">// before the caller.</em> +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <em class="jxr_comment">// This method of searching may not be fastest but it's safer</em> +<a name="202" href="#202">202</a> <em class="jxr_comment">// than counting the stack depth which is not guaranteed to be</em> +<a name="203" href="#203">203</a> <em class="jxr_comment">// constant across JVM implementations.</em> +<a name="204" href="#204">204</a> ibegin = s.lastIndexOf(fqnOfCallingClass); +<a name="205" href="#205">205</a> <strong class="jxr_keyword">if</strong>(ibegin == -1) +<a name="206" href="#206">206</a> <strong class="jxr_keyword">return</strong>; +<a name="207" href="#207">207</a> +<a name="208" href="#208">208</a> <em class="jxr_comment">//</em> +<a name="209" href="#209">209</a> <em class="jxr_comment">// if the next character after the class name exists</em> +<a name="210" href="#210">210</a> <em class="jxr_comment">// but is not a period, see if the classname is</em> +<a name="211" href="#211">211</a> <em class="jxr_comment">// followed by a period earlier in the trace.</em> +<a name="212" href="#212">212</a> <em class="jxr_comment">// Minimizes mistakeningly matching on a class whose</em> +<a name="213" href="#213">213</a> <em class="jxr_comment">// name is a substring of the desired class.</em> +<a name="214" href="#214">214</a> <em class="jxr_comment">// See bug 44888.</em> +<a name="215" href="#215">215</a> <strong class="jxr_keyword">if</strong> (ibegin + fqnOfCallingClass.length() &lt; s.length() &amp;&amp; +<a name="216" href="#216">216</a> s.charAt(ibegin + fqnOfCallingClass.length()) != '.') { +<a name="217" href="#217">217</a> <strong class="jxr_keyword">int</strong> i = s.lastIndexOf(fqnOfCallingClass + <span class="jxr_string">"."</span>); +<a name="218" href="#218">218</a> <strong class="jxr_keyword">if</strong> (i != -1) { +<a name="219" href="#219">219</a> ibegin = i; +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> } +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> ibegin = s.indexOf(Layout.LINE_SEP, ibegin); +<a name="225" href="#225">225</a> <strong class="jxr_keyword">if</strong>(ibegin == -1) +<a name="226" href="#226">226</a> <strong class="jxr_keyword">return</strong>; +<a name="227" href="#227">227</a> ibegin+= Layout.LINE_SEP_LEN; +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> <em class="jxr_comment">// determine end of line</em> +<a name="230" href="#230">230</a> iend = s.indexOf(Layout.LINE_SEP, ibegin); +<a name="231" href="#231">231</a> <strong class="jxr_keyword">if</strong>(iend == -1) +<a name="232" href="#232">232</a> <strong class="jxr_keyword">return</strong>; +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em class="jxr_comment">// VA has a different stack trace format which doesn't</em> +<a name="235" href="#235">235</a> <em class="jxr_comment">// need to skip the inital 'at'</em> +<a name="236" href="#236">236</a> <strong class="jxr_keyword">if</strong>(!inVisualAge) { +<a name="237" href="#237">237</a> <em class="jxr_comment">// back up to first blank character</em> +<a name="238" href="#238">238</a> ibegin = s.lastIndexOf(<span class="jxr_string">"at "</span>, iend); +<a name="239" href="#239">239</a> <strong class="jxr_keyword">if</strong>(ibegin == -1) +<a name="240" href="#240">240</a> <strong class="jxr_keyword">return</strong>; +<a name="241" href="#241">241</a> <em class="jxr_comment">// Add 3 to skip "at ";</em> +<a name="242" href="#242">242</a> ibegin += 3; +<a name="243" href="#243">243</a> } +<a name="244" href="#244">244</a> <em class="jxr_comment">// everything between is the requested stack item</em> +<a name="245" href="#245">245</a> <strong class="jxr_keyword">this</strong>.fullInfo = s.substring(ibegin, iend); +<a name="246" href="#246">246</a> } +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment">/**</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> * Appends a location fragment to a buffer to build the </em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> * full location info.</em> +<a name="251" href="#251">251</a> <em class="jxr_javadoccomment"> * @param buf StringBuffer to receive content.</em> +<a name="252" href="#252">252</a> <em class="jxr_javadoccomment"> * @param fragment fragment of location (class, method, file, line),</em> +<a name="253" href="#253">253</a> <em class="jxr_javadoccomment"> * if null the value of NA will be appended.</em> +<a name="254" href="#254">254</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="255" href="#255">255</a> <em class="jxr_javadoccomment"> */</em> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> appendFragment(<strong class="jxr_keyword">final</strong> StringBuffer buf, +<a name="257" href="#257">257</a> <strong class="jxr_keyword">final</strong> String fragment) { +<a name="258" href="#258">258</a> <strong class="jxr_keyword">if</strong> (fragment == <strong class="jxr_keyword">null</strong>) { +<a name="259" href="#259">259</a> buf.append(NA); +<a name="260" href="#260">260</a> } <strong class="jxr_keyword">else</strong> { +<a name="261" href="#261">261</a> buf.append(fragment); +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment">/**</em> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> * @param file source file name</em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> * @param classname class name</em> +<a name="269" href="#269">269</a> <em class="jxr_javadoccomment"> * @param method method</em> +<a name="270" href="#270">270</a> <em class="jxr_javadoccomment"> * @param line source line number</em> +<a name="271" href="#271">271</a> <em class="jxr_javadoccomment"> *</em> +<a name="272" href="#272">272</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment"> */</em> +<a name="274" href="#274">274</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a>( +<a name="275" href="#275">275</a> <strong class="jxr_keyword">final</strong> String file, +<a name="276" href="#276">276</a> <strong class="jxr_keyword">final</strong> String classname, +<a name="277" href="#277">277</a> <strong class="jxr_keyword">final</strong> String method, +<a name="278" href="#278">278</a> <strong class="jxr_keyword">final</strong> String line) { +<a name="279" href="#279">279</a> <strong class="jxr_keyword">this</strong>.fileName = file; +<a name="280" href="#280">280</a> <strong class="jxr_keyword">this</strong>.className = classname; +<a name="281" href="#281">281</a> <strong class="jxr_keyword">this</strong>.methodName = method; +<a name="282" href="#282">282</a> <strong class="jxr_keyword">this</strong>.lineNumber = line; +<a name="283" href="#283">283</a> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(); +<a name="284" href="#284">284</a> appendFragment(buf, classname); +<a name="285" href="#285">285</a> buf.append(<span class="jxr_string">"."</span>); +<a name="286" href="#286">286</a> appendFragment(buf, method); +<a name="287" href="#287">287</a> buf.append(<span class="jxr_string">"("</span>); +<a name="288" href="#288">288</a> appendFragment(buf, file); +<a name="289" href="#289">289</a> buf.append(<span class="jxr_string">":"</span>); +<a name="290" href="#290">290</a> appendFragment(buf, line); +<a name="291" href="#291">291</a> buf.append(<span class="jxr_string">")"</span>); +<a name="292" href="#292">292</a> <strong class="jxr_keyword">this</strong>.fullInfo = buf.toString(); +<a name="293" href="#293">293</a> } +<a name="294" href="#294">294</a> +<a name="295" href="#295">295</a> <em class="jxr_javadoccomment">/**</em> +<a name="296" href="#296">296</a> <em class="jxr_javadoccomment"> Return the fully qualified class name of the caller making the</em> +<a name="297" href="#297">297</a> <em class="jxr_javadoccomment"> logging request.</em> +<a name="298" href="#298">298</a> <em class="jxr_javadoccomment"> */</em> +<a name="299" href="#299">299</a> <strong class="jxr_keyword">public</strong> +<a name="300" href="#300">300</a> String getClassName() { +<a name="301" href="#301">301</a> <strong class="jxr_keyword">if</strong>(fullInfo == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong> NA; +<a name="302" href="#302">302</a> <strong class="jxr_keyword">if</strong>(className == <strong class="jxr_keyword">null</strong>) { +<a name="303" href="#303">303</a> <em class="jxr_comment">// Starting the search from '(' is safer because there is</em> +<a name="304" href="#304">304</a> <em class="jxr_comment">// potentially a dot between the parentheses.</em> +<a name="305" href="#305">305</a> <strong class="jxr_keyword">int</strong> iend = fullInfo.lastIndexOf('('); +<a name="306" href="#306">306</a> <strong class="jxr_keyword">if</strong>(iend == -1) +<a name="307" href="#307">307</a> className = NA; +<a name="308" href="#308">308</a> <strong class="jxr_keyword">else</strong> { +<a name="309" href="#309">309</a> iend =fullInfo.lastIndexOf('.', iend); +<a name="310" href="#310">310</a> +<a name="311" href="#311">311</a> <em class="jxr_comment">// This is because a stack trace in VisualAge looks like:</em> +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> <em class="jxr_comment">//java.lang.RuntimeException</em> +<a name="314" href="#314">314</a> <em class="jxr_comment">// java.lang.Throwable()</em> +<a name="315" href="#315">315</a> <em class="jxr_comment">// java.lang.Exception()</em> +<a name="316" href="#316">316</a> <em class="jxr_comment">// java.lang.RuntimeException()</em> +<a name="317" href="#317">317</a> <em class="jxr_comment">// void test.test.B.print()</em> +<a name="318" href="#318">318</a> <em class="jxr_comment">// void test.test.A.printIndirect()</em> +<a name="319" href="#319">319</a> <em class="jxr_comment">// void test.test.Run.main(java.lang.String [])</em> +<a name="320" href="#320">320</a> <strong class="jxr_keyword">int</strong> ibegin = 0; +<a name="321" href="#321">321</a> <strong class="jxr_keyword">if</strong> (inVisualAge) { +<a name="322" href="#322">322</a> ibegin = fullInfo.lastIndexOf(' ', iend)+1; +<a name="323" href="#323">323</a> } +<a name="324" href="#324">324</a> +<a name="325" href="#325">325</a> <strong class="jxr_keyword">if</strong>(iend == -1) +<a name="326" href="#326">326</a> className = NA; +<a name="327" href="#327">327</a> <strong class="jxr_keyword">else</strong> +<a name="328" href="#328">328</a> className = <strong class="jxr_keyword">this</strong>.fullInfo.substring(ibegin, iend); +<a name="329" href="#329">329</a> } +<a name="330" href="#330">330</a> } +<a name="331" href="#331">331</a> <strong class="jxr_keyword">return</strong> className; +<a name="332" href="#332">332</a> } +<a name="333" href="#333">333</a> +<a name="334" href="#334">334</a> <em class="jxr_javadoccomment">/**</em> +<a name="335" href="#335">335</a> <em class="jxr_javadoccomment"> Return the file name of the caller.</em> +<a name="336" href="#336">336</a> +<a name="337" href="#337">337</a> <em class="jxr_javadoccomment"> &lt;p&gt;This information is not always available.</em> +<a name="338" href="#338">338</a> <em class="jxr_javadoccomment"> */</em> +<a name="339" href="#339">339</a> <strong class="jxr_keyword">public</strong> +<a name="340" href="#340">340</a> String getFileName() { +<a name="341" href="#341">341</a> <strong class="jxr_keyword">if</strong>(fullInfo == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong> NA; +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> <strong class="jxr_keyword">if</strong>(fileName == <strong class="jxr_keyword">null</strong>) { +<a name="344" href="#344">344</a> <strong class="jxr_keyword">int</strong> iend = fullInfo.lastIndexOf(':'); +<a name="345" href="#345">345</a> <strong class="jxr_keyword">if</strong>(iend == -1) +<a name="346" href="#346">346</a> fileName = NA; +<a name="347" href="#347">347</a> <strong class="jxr_keyword">else</strong> { +<a name="348" href="#348">348</a> <strong class="jxr_keyword">int</strong> ibegin = fullInfo.lastIndexOf('(', iend - 1); +<a name="349" href="#349">349</a> fileName = <strong class="jxr_keyword">this</strong>.fullInfo.substring(ibegin + 1, iend); +<a name="350" href="#350">350</a> } +<a name="351" href="#351">351</a> } +<a name="352" href="#352">352</a> <strong class="jxr_keyword">return</strong> fileName; +<a name="353" href="#353">353</a> } +<a name="354" href="#354">354</a> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment">/**</em> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> Returns the line number of the caller.</em> +<a name="357" href="#357">357</a> +<a name="358" href="#358">358</a> <em class="jxr_javadoccomment"> &lt;p&gt;This information is not always available.</em> +<a name="359" href="#359">359</a> <em class="jxr_javadoccomment"> */</em> +<a name="360" href="#360">360</a> <strong class="jxr_keyword">public</strong> +<a name="361" href="#361">361</a> String getLineNumber() { +<a name="362" href="#362">362</a> <strong class="jxr_keyword">if</strong>(fullInfo == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong> NA; +<a name="363" href="#363">363</a> +<a name="364" href="#364">364</a> <strong class="jxr_keyword">if</strong>(lineNumber == <strong class="jxr_keyword">null</strong>) { +<a name="365" href="#365">365</a> <strong class="jxr_keyword">int</strong> iend = fullInfo.lastIndexOf(')'); +<a name="366" href="#366">366</a> <strong class="jxr_keyword">int</strong> ibegin = fullInfo.lastIndexOf(':', iend -1); +<a name="367" href="#367">367</a> <strong class="jxr_keyword">if</strong>(ibegin == -1) +<a name="368" href="#368">368</a> lineNumber = NA; +<a name="369" href="#369">369</a> <strong class="jxr_keyword">else</strong> +<a name="370" href="#370">370</a> lineNumber = <strong class="jxr_keyword">this</strong>.fullInfo.substring(ibegin + 1, iend); +<a name="371" href="#371">371</a> } +<a name="372" href="#372">372</a> <strong class="jxr_keyword">return</strong> lineNumber; +<a name="373" href="#373">373</a> } +<a name="374" href="#374">374</a> +<a name="375" href="#375">375</a> <em class="jxr_javadoccomment">/**</em> +<a name="376" href="#376">376</a> <em class="jxr_javadoccomment"> Returns the method name of the caller.</em> +<a name="377" href="#377">377</a> <em class="jxr_javadoccomment"> */</em> +<a name="378" href="#378">378</a> <strong class="jxr_keyword">public</strong> +<a name="379" href="#379">379</a> String getMethodName() { +<a name="380" href="#380">380</a> <strong class="jxr_keyword">if</strong>(fullInfo == <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">return</strong> NA; +<a name="381" href="#381">381</a> <strong class="jxr_keyword">if</strong>(methodName == <strong class="jxr_keyword">null</strong>) { +<a name="382" href="#382">382</a> <strong class="jxr_keyword">int</strong> iend = fullInfo.lastIndexOf('('); +<a name="383" href="#383">383</a> <strong class="jxr_keyword">int</strong> ibegin = fullInfo.lastIndexOf('.', iend); +<a name="384" href="#384">384</a> <strong class="jxr_keyword">if</strong>(ibegin == -1) +<a name="385" href="#385">385</a> methodName = NA; +<a name="386" href="#386">386</a> <strong class="jxr_keyword">else</strong> +<a name="387" href="#387">387</a> methodName = <strong class="jxr_keyword">this</strong>.fullInfo.substring(ibegin + 1, iend); +<a name="388" href="#388">388</a> } +<a name="389" href="#389">389</a> <strong class="jxr_keyword">return</strong> methodName; +<a name="390" href="#390">390</a> } +<a name="391" href="#391">391</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggerFactory.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggerFactory.html new file mode 100644 index 00000000000..03d6d92a942 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggerFactory.html @@ -0,0 +1,52 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LoggerFactory xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/LoggerFactory.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> </em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> Implement this interface to create new instances of Logger or</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> a sub-class of Logger.</em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> &lt;p&gt;See &lt;code&gt;examples/subclass/MyLogger.java&lt;/code&gt; for an example.</em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @since version 0.8.5</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> </em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> */</em> +<a name="33" href="#33">33</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> { +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> +<a name="36" href="#36">36</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> makeNewLoggerInstance(String name); +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggerRepository.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggerRepository.html new file mode 100644 index 00000000000..3c54410ed8b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggerRepository.html @@ -0,0 +1,124 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LoggerRepository xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/LoggerRepository.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Category; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> A &lt;code&gt;LoggerRepository&lt;/code&gt; is used to create and retrieve</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> &lt;code&gt;Loggers&lt;/code&gt;. The relation between loggers in a repository</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> depends on the repository but typically loggers are arranged in a</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> named hierarchy.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> &lt;p&gt;In addition to the creational methods, a</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> &lt;code&gt;LoggerRepository&lt;/code&gt; can be queried for existing loggers,</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> can act as a point of registry for events related to loggers.</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> { +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> Add a {@link HierarchyEventListener} event to the repository.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">void</strong> addHierarchyEventListener(<a href="../../../../org/apache/log4j/spi/HierarchyEventListener.html">HierarchyEventListener</a> listener); +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> Returns whether this repository is disabled for a given</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> level. The answer depends on the repository threshold and the</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> &lt;code&gt;level&lt;/code&gt; parameter. See also {@link #setThreshold}</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> method. */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">boolean</strong> isDisabled(<strong class="jxr_keyword">int</strong> level); +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> Set the repository-wide threshold. All logging requests below the</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> threshold are immediately dropped. By default, the threshold is</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> set to &lt;code&gt;Level.ALL&lt;/code&gt; which has the lowest possible rank. */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">void</strong> setThreshold(<a href="../../../../org/apache/log4j/Level.html">Level</a> level); +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> Another form of {@link #setThreshold(Level)} accepting a string</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> parameter instead of a &lt;code&gt;Level&lt;/code&gt;. */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">void</strong> setThreshold(String val); +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">void</strong> emitNoAppenderWarning(<a href="../../../../org/apache/log4j/Category.html">Category</a> cat); +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment">/**</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> Get the repository-wide threshold. See {@link</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> #setThreshold(Level)} for an explanation. */</em> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">public</strong> +<a name="74" href="#74">74</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> getThreshold(); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> +<a name="77" href="#77">77</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger(String name); +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">public</strong> +<a name="80" href="#80">80</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger(String name, <a href="../../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> factory); +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">public</strong> +<a name="83" href="#83">83</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getRootLogger(); +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">abstract</strong> +<a name="87" href="#87">87</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> exists(String name); +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">public</strong> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">abstract</strong> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">void</strong> shutdown(); +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> +<a name="94" href="#94">94</a> Enumeration getCurrentLoggers(); +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em class="jxr_javadoccomment">/**</em> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment"> Deprecated. Please use {@link #getCurrentLoggers} instead. */</em> +<a name="98" href="#98">98</a> <strong class="jxr_keyword">public</strong> +<a name="99" href="#99">99</a> Enumeration getCurrentCategories(); +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">abstract</strong> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">void</strong> fireAddAppenderEvent(<a href="../../../../org/apache/log4j/Category.html">Category</a> logger, <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender); +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <strong class="jxr_keyword">public</strong> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">abstract</strong> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">void</strong> resetConfiguration(); +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggingEvent.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggingEvent.html new file mode 100644 index 00000000000..9b06de48d0c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/LoggingEvent.html @@ -0,0 +1,653 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LoggingEvent xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/LoggingEvent.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Collections; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.HashMap; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Map; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> java.util.Set; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Category; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.MDC; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.NDC; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.Loader; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_comment">// Contributors: Nelson Minar &lt;nelson@monkey.org&gt;</em> +<a name="40" href="#40">40</a> <em class="jxr_comment">// Wolf Siberski</em> +<a name="41" href="#41">41</a> <em class="jxr_comment">// Anders Kristensen &lt;akristensen@dynamicsoft.com&gt;</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment">/**</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> The internal representation of logging events. When an affirmative</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> decision is made to log then a &lt;code&gt;LoggingEvent&lt;/code&gt; instance</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> is created. This instance is passed around to the different log4j</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> components.</em> +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> &lt;p&gt;This class is of concern to those wishing to extend log4j.</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> @author James P. Cakalic</em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> @since 0.8.2 */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> implements java.io.Serializable { +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">long</strong> startTime = System.currentTimeMillis(); +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Fully qualified name of the calling category class. */</em> +<a name="60" href="#60">60</a> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> String fqnOfCategoryClass; +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * The category of the logging event. This field is not serialized</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * for performance reasons.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> *</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * &lt;p&gt;It is set by the LoggingEvent constructor or set by a remote</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * entity after deserialization.</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * </em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * @deprecated This field will be marked as private or be completely</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * removed in future releases. Please do not use it.</em> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Category.html">Category</a> logger; +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * &lt;p&gt;The category (logger) name.</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> * </em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * @deprecated This field will be marked as private in future</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * releases. Please do not access it directly. Use the {@link</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * #getLoggerName} method instead.</em> +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * */</em> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">public</strong> String categoryName; +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * Level of logging event. Level cannot be serializable because it</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * is a flyweight. Due to its special seralization it cannot be</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * declared final either.</em> +<a name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * </em> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> * &lt;p&gt; This field should not be accessed directly. You shoud use the</em> +<a name="90" href="#90">90</a> <em class="jxr_javadoccomment"> * {@link #getLevel} method instead.</em> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment"> *</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> * @deprecated This field will be marked as private in future</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * releases. Please do not access it directly. Use the {@link</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> * #getLevel} method instead.</em> +<a name="95" href="#95">95</a> <em class="jxr_javadoccomment"> * */</em> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> level; +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The nested diagnostic context (NDC) of logging event. */</em> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">private</strong> String ndc; +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The mapped diagnostic context (MDC) of logging event. */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">private</strong> Hashtable mdcCopy; +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Have we tried to do an NDC lookup? If we did, there is no need</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * to do it again. Note that its value is always false when</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * serialized. Thus, a receiving SocketNode will never use it's own</em> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> * (incorrect) NDC. See also writeObject method. */</em> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> ndcLookupRequired = <strong class="jxr_keyword">true</strong>; +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Have we tried to do an MDC lookup? If we did, there is no need</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> * to do it again. Note that its value is always false when</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> * serialized. See also the getMDC and getMDCCopy methods. */</em> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> mdcCopyLookupRequired = <strong class="jxr_keyword">true</strong>; +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The application supplied message of logging event. */</em> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">private</strong> Object message; +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The application supplied message rendered through the log4j</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> objet rendering mechanism.*/</em> +<a name="122" href="#122">122</a> <strong class="jxr_keyword">private</strong> String renderedMessage; +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The name of thread in which this logging event was generated. */</em> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">private</strong> String threadName; +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> This</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> variable contains information about this event's throwable</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> */</em> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a> throwableInfo; +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The number of milliseconds elapsed from 1/1/1970 until logging event</em> +<a name="134" href="#134">134</a> <em class="jxr_javadoccomment"> was created. */</em> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> timeStamp; +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Location information for the caller. */</em> +<a name="137" href="#137">137</a> <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> locationInfo; +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <em class="jxr_comment">// Serialization</em> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -868428216207166145L; +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Integer[] PARAM_ARRAY = <strong class="jxr_keyword">new</strong> Integer[1]; +<a name="143" href="#143">143</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TO_LEVEL = <span class="jxr_string">"toLevel"</span>; +<a name="144" href="#144">144</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Class[] TO_LEVEL_PARAMS = <strong class="jxr_keyword">new</strong> Class[] {<strong class="jxr_keyword">int</strong>.<strong class="jxr_keyword">class</strong>}; +<a name="145" href="#145">145</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Hashtable methodCache = <strong class="jxr_keyword">new</strong> Hashtable(3); <em class="jxr_comment">// use a tiny table</em> +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">/**</em> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment"> Instantiate a LoggingEvent from the supplied parameters.</em> +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em class="jxr_javadoccomment"> &lt;p&gt;Except {@link #timeStamp} all the other fields of</em> +<a name="151" href="#151">151</a> <em class="jxr_javadoccomment"> &lt;code&gt;LoggingEvent&lt;/code&gt; are filled when actually needed.</em> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="153" href="#153">153</a> <em class="jxr_javadoccomment"> @param logger The logger generating this event.</em> +<a name="154" href="#154">154</a> <em class="jxr_javadoccomment"> @param level The level of this event.</em> +<a name="155" href="#155">155</a> <em class="jxr_javadoccomment"> @param message The message of this event.</em> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment"> @param throwable The throwable of this event. */</em> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(String fqnOfCategoryClass, <a href="../../../../org/apache/log4j/Category.html">Category</a> logger, +<a name="158" href="#158">158</a> Priority level, Object message, Throwable throwable) { +<a name="159" href="#159">159</a> <strong class="jxr_keyword">this</strong>.fqnOfCategoryClass = fqnOfCategoryClass; +<a name="160" href="#160">160</a> <strong class="jxr_keyword">this</strong>.logger = logger; +<a name="161" href="#161">161</a> <strong class="jxr_keyword">this</strong>.categoryName = logger.getName(); +<a name="162" href="#162">162</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="163" href="#163">163</a> <strong class="jxr_keyword">this</strong>.message = message; +<a name="164" href="#164">164</a> <strong class="jxr_keyword">if</strong>(throwable != <strong class="jxr_keyword">null</strong>) { +<a name="165" href="#165">165</a> <strong class="jxr_keyword">this</strong>.throwableInfo = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a>(throwable, logger); +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> timeStamp = System.currentTimeMillis(); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">/**</em> +<a name="171" href="#171">171</a> <em class="jxr_javadoccomment"> Instantiate a LoggingEvent from the supplied parameters.</em> +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment"> &lt;p&gt;Except {@link #timeStamp} all the other fields of</em> +<a name="174" href="#174">174</a> <em class="jxr_javadoccomment"> &lt;code&gt;LoggingEvent&lt;/code&gt; are filled when actually needed.</em> +<a name="175" href="#175">175</a> <em class="jxr_javadoccomment"> &lt;p&gt;</em> +<a name="176" href="#176">176</a> <em class="jxr_javadoccomment"> @param logger The logger generating this event.</em> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment"> @param timeStamp the timestamp of this logging event</em> +<a name="178" href="#178">178</a> <em class="jxr_javadoccomment"> @param level The level of this event.</em> +<a name="179" href="#179">179</a> <em class="jxr_javadoccomment"> @param message The message of this event.</em> +<a name="180" href="#180">180</a> <em class="jxr_javadoccomment"> @param throwable The throwable of this event. */</em> +<a name="181" href="#181">181</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(String fqnOfCategoryClass, <a href="../../../../org/apache/log4j/Category.html">Category</a> logger, +<a name="182" href="#182">182</a> <strong class="jxr_keyword">long</strong> timeStamp, Priority level, Object message, +<a name="183" href="#183">183</a> Throwable throwable) { +<a name="184" href="#184">184</a> <strong class="jxr_keyword">this</strong>.fqnOfCategoryClass = fqnOfCategoryClass; +<a name="185" href="#185">185</a> <strong class="jxr_keyword">this</strong>.logger = logger; +<a name="186" href="#186">186</a> <strong class="jxr_keyword">this</strong>.categoryName = logger.getName(); +<a name="187" href="#187">187</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="188" href="#188">188</a> <strong class="jxr_keyword">this</strong>.message = message; +<a name="189" href="#189">189</a> <strong class="jxr_keyword">if</strong>(throwable != <strong class="jxr_keyword">null</strong>) { +<a name="190" href="#190">190</a> <strong class="jxr_keyword">this</strong>.throwableInfo = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a>(throwable, logger); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <strong class="jxr_keyword">this</strong>.timeStamp = timeStamp; +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment">/**</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> Create new instance.</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> @since 1.2.15</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> @param fqnOfCategoryClass Fully qualified class name</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> of Logger implementation.</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> @param logger The logger generating this event.</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> @param timeStamp the timestamp of this logging event</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> @param level The level of this event.</em> +<a name="204" href="#204">204</a> <em class="jxr_javadoccomment"> @param message The message of this event.</em> +<a name="205" href="#205">205</a> <em class="jxr_javadoccomment"> @param threadName thread name</em> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment"> @param throwable The throwable of this event.</em> +<a name="207" href="#207">207</a> <em class="jxr_javadoccomment"> @param ndc Nested diagnostic context</em> +<a name="208" href="#208">208</a> <em class="jxr_javadoccomment"> @param info Location info</em> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment"> @param properties MDC properties</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> */</em> +<a name="211" href="#211">211</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a>(<strong class="jxr_keyword">final</strong> String fqnOfCategoryClass, +<a name="212" href="#212">212</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Category.html">Category</a> logger, +<a name="213" href="#213">213</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> timeStamp, +<a name="214" href="#214">214</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> level, +<a name="215" href="#215">215</a> <strong class="jxr_keyword">final</strong> Object message, +<a name="216" href="#216">216</a> <strong class="jxr_keyword">final</strong> String threadName, +<a name="217" href="#217">217</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a> throwable, +<a name="218" href="#218">218</a> <strong class="jxr_keyword">final</strong> String ndc, +<a name="219" href="#219">219</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> info, +<a name="220" href="#220">220</a> <strong class="jxr_keyword">final</strong> java.util.Map properties) { +<a name="221" href="#221">221</a> <strong class="jxr_keyword">super</strong>(); +<a name="222" href="#222">222</a> <strong class="jxr_keyword">this</strong>.fqnOfCategoryClass = fqnOfCategoryClass; +<a name="223" href="#223">223</a> <strong class="jxr_keyword">this</strong>.logger = logger; +<a name="224" href="#224">224</a> <strong class="jxr_keyword">if</strong> (logger != <strong class="jxr_keyword">null</strong>) { +<a name="225" href="#225">225</a> categoryName = logger.getName(); +<a name="226" href="#226">226</a> } <strong class="jxr_keyword">else</strong> { +<a name="227" href="#227">227</a> categoryName = <strong class="jxr_keyword">null</strong>; +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="230" href="#230">230</a> <strong class="jxr_keyword">this</strong>.message = message; +<a name="231" href="#231">231</a> <strong class="jxr_keyword">if</strong>(throwable != <strong class="jxr_keyword">null</strong>) { +<a name="232" href="#232">232</a> <strong class="jxr_keyword">this</strong>.throwableInfo = throwable; +<a name="233" href="#233">233</a> } +<a name="234" href="#234">234</a> +<a name="235" href="#235">235</a> <strong class="jxr_keyword">this</strong>.timeStamp = timeStamp; +<a name="236" href="#236">236</a> <strong class="jxr_keyword">this</strong>.threadName = threadName; +<a name="237" href="#237">237</a> ndcLookupRequired = false; +<a name="238" href="#238">238</a> <strong class="jxr_keyword">this</strong>.ndc = ndc; +<a name="239" href="#239">239</a> <strong class="jxr_keyword">this</strong>.locationInfo = info; +<a name="240" href="#240">240</a> mdcCopyLookupRequired = false; +<a name="241" href="#241">241</a> <strong class="jxr_keyword">if</strong> (properties != <strong class="jxr_keyword">null</strong>) { +<a name="242" href="#242">242</a> mdcCopy = <strong class="jxr_keyword">new</strong> java.util.Hashtable(properties); +<a name="243" href="#243">243</a> } +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> +<a name="246" href="#246">246</a> +<a name="247" href="#247">247</a> <em class="jxr_javadoccomment">/**</em> +<a name="248" href="#248">248</a> <em class="jxr_javadoccomment"> Set the location information for this logging event. The collected</em> +<a name="249" href="#249">249</a> <em class="jxr_javadoccomment"> information is cached for future use.</em> +<a name="250" href="#250">250</a> <em class="jxr_javadoccomment"> */</em> +<a name="251" href="#251">251</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> getLocationInformation() { +<a name="252" href="#252">252</a> <strong class="jxr_keyword">if</strong>(locationInfo == <strong class="jxr_keyword">null</strong>) { +<a name="253" href="#253">253</a> locationInfo = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a>(<strong class="jxr_keyword">new</strong> Throwable(), fqnOfCategoryClass); +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> <strong class="jxr_keyword">return</strong> locationInfo; +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> +<a name="258" href="#258">258</a> <em class="jxr_javadoccomment">/**</em> +<a name="259" href="#259">259</a> <em class="jxr_javadoccomment"> * Return the level of this event. Use this form instead of directly</em> +<a name="260" href="#260">260</a> <em class="jxr_javadoccomment"> * accessing the &lt;code&gt;level&lt;/code&gt; field. */</em> +<a name="261" href="#261">261</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> getLevel() { +<a name="262" href="#262">262</a> <strong class="jxr_keyword">return</strong> (Level) level; +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> +<a name="265" href="#265">265</a> <em class="jxr_javadoccomment">/**</em> +<a name="266" href="#266">266</a> <em class="jxr_javadoccomment"> * Return the name of the logger. Use this form instead of directly</em> +<a name="267" href="#267">267</a> <em class="jxr_javadoccomment"> * accessing the &lt;code&gt;categoryName&lt;/code&gt; field. </em> +<a name="268" href="#268">268</a> <em class="jxr_javadoccomment"> */</em> +<a name="269" href="#269">269</a> <strong class="jxr_keyword">public</strong> String getLoggerName() { +<a name="270" href="#270">270</a> <strong class="jxr_keyword">return</strong> categoryName; +<a name="271" href="#271">271</a> } +<a name="272" href="#272">272</a> +<a name="273" href="#273">273</a> <em class="jxr_javadoccomment">/**</em> +<a name="274" href="#274">274</a> <em class="jxr_javadoccomment"> * Gets the logger of the event.</em> +<a name="275" href="#275">275</a> <em class="jxr_javadoccomment"> * Use should be restricted to cloning events.</em> +<a name="276" href="#276">276</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="277" href="#277">277</a> <em class="jxr_javadoccomment"> */</em> +<a name="278" href="#278">278</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Category.html">Category</a> getLogger() { +<a name="279" href="#279">279</a> <strong class="jxr_keyword">return</strong> logger; +<a name="280" href="#280">280</a> } +<a name="281" href="#281">281</a> +<a name="282" href="#282">282</a> <em class="jxr_javadoccomment">/**</em> +<a name="283" href="#283">283</a> <em class="jxr_javadoccomment"> Return the message for this logging event.</em> +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> <em class="jxr_javadoccomment"> &lt;p&gt;Before serialization, the returned object is the message</em> +<a name="286" href="#286">286</a> <em class="jxr_javadoccomment"> passed by the user to generate the logging event. After</em> +<a name="287" href="#287">287</a> <em class="jxr_javadoccomment"> serialization, the returned value equals the String form of the</em> +<a name="288" href="#288">288</a> <em class="jxr_javadoccomment"> message possibly after object rendering.</em> +<a name="289" href="#289">289</a> +<a name="290" href="#290">290</a> <em class="jxr_javadoccomment"> @since 1.1 */</em> +<a name="291" href="#291">291</a> <strong class="jxr_keyword">public</strong> +<a name="292" href="#292">292</a> Object getMessage() { +<a name="293" href="#293">293</a> <strong class="jxr_keyword">if</strong>(message != <strong class="jxr_keyword">null</strong>) { +<a name="294" href="#294">294</a> <strong class="jxr_keyword">return</strong> message; +<a name="295" href="#295">295</a> } <strong class="jxr_keyword">else</strong> { +<a name="296" href="#296">296</a> <strong class="jxr_keyword">return</strong> getRenderedMessage(); +<a name="297" href="#297">297</a> } +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> <em class="jxr_javadoccomment">/**</em> +<a name="301" href="#301">301</a> <em class="jxr_javadoccomment"> * This method returns the NDC for this event. It will return the</em> +<a name="302" href="#302">302</a> <em class="jxr_javadoccomment"> * correct content even if the event was generated in a different</em> +<a name="303" href="#303">303</a> <em class="jxr_javadoccomment"> * thread or even on a different machine. The {@link NDC#get} method</em> +<a name="304" href="#304">304</a> <em class="jxr_javadoccomment"> * should &lt;em&gt;never&lt;/em&gt; be called directly. */</em> +<a name="305" href="#305">305</a> <strong class="jxr_keyword">public</strong> +<a name="306" href="#306">306</a> String getNDC() { +<a name="307" href="#307">307</a> <strong class="jxr_keyword">if</strong>(ndcLookupRequired) { +<a name="308" href="#308">308</a> ndcLookupRequired = false; +<a name="309" href="#309">309</a> ndc = NDC.get(); +<a name="310" href="#310">310</a> } +<a name="311" href="#311">311</a> <strong class="jxr_keyword">return</strong> ndc; +<a name="312" href="#312">312</a> } +<a name="313" href="#313">313</a> +<a name="314" href="#314">314</a> +<a name="315" href="#315">315</a> <em class="jxr_javadoccomment">/**</em> +<a name="316" href="#316">316</a> <em class="jxr_javadoccomment"> Returns the the context corresponding to the &lt;code&gt;key&lt;/code&gt;</em> +<a name="317" href="#317">317</a> <em class="jxr_javadoccomment"> parameter. If there is a local MDC copy, possibly because we are</em> +<a name="318" href="#318">318</a> <em class="jxr_javadoccomment"> in a logging server or running inside AsyncAppender, then we</em> +<a name="319" href="#319">319</a> <em class="jxr_javadoccomment"> search for the key in MDC copy, if a value is found it is</em> +<a name="320" href="#320">320</a> <em class="jxr_javadoccomment"> returned. Otherwise, if the search in MDC copy returns a null</em> +<a name="321" href="#321">321</a> <em class="jxr_javadoccomment"> result, then the current thread's &lt;code&gt;MDC&lt;/code&gt; is used.</em> +<a name="322" href="#322">322</a> <em class="jxr_javadoccomment"> </em> +<a name="323" href="#323">323</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that &lt;em&gt;both&lt;/em&gt; the local MDC copy and the current</em> +<a name="324" href="#324">324</a> <em class="jxr_javadoccomment"> thread's MDC are searched.</em> +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> <em class="jxr_javadoccomment"> */</em> +<a name="327" href="#327">327</a> <strong class="jxr_keyword">public</strong> +<a name="328" href="#328">328</a> Object getMDC(String key) { +<a name="329" href="#329">329</a> Object r; +<a name="330" href="#330">330</a> <em class="jxr_comment">// Note the mdcCopy is used if it exists. Otherwise we use the MDC</em> +<a name="331" href="#331">331</a> <em class="jxr_comment">// that is associated with the thread.</em> +<a name="332" href="#332">332</a> <strong class="jxr_keyword">if</strong>(mdcCopy != <strong class="jxr_keyword">null</strong>) { +<a name="333" href="#333">333</a> r = mdcCopy.get(key); +<a name="334" href="#334">334</a> <strong class="jxr_keyword">if</strong>(r != <strong class="jxr_keyword">null</strong>) { +<a name="335" href="#335">335</a> <strong class="jxr_keyword">return</strong> r; +<a name="336" href="#336">336</a> } +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> <strong class="jxr_keyword">return</strong> MDC.get(key); +<a name="339" href="#339">339</a> } +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> <em class="jxr_javadoccomment">/**</em> +<a name="342" href="#342">342</a> <em class="jxr_javadoccomment"> Obtain a copy of this thread's MDC prior to serialization or</em> +<a name="343" href="#343">343</a> <em class="jxr_javadoccomment"> asynchronous logging. </em> +<a name="344" href="#344">344</a> <em class="jxr_javadoccomment"> */</em> +<a name="345" href="#345">345</a> <strong class="jxr_keyword">public</strong> +<a name="346" href="#346">346</a> <strong class="jxr_keyword">void</strong> getMDCCopy() { +<a name="347" href="#347">347</a> <strong class="jxr_keyword">if</strong>(mdcCopyLookupRequired) { +<a name="348" href="#348">348</a> mdcCopyLookupRequired = false; +<a name="349" href="#349">349</a> <em class="jxr_comment">// the clone call is required for asynchronous logging.</em> +<a name="350" href="#350">350</a> <em class="jxr_comment">// See also bug #5932.</em> +<a name="351" href="#351">351</a> Hashtable t = (Hashtable) MDC.getContext(); +<a name="352" href="#352">352</a> <strong class="jxr_keyword">if</strong>(t != <strong class="jxr_keyword">null</strong>) { +<a name="353" href="#353">353</a> mdcCopy = (Hashtable) t.clone(); +<a name="354" href="#354">354</a> } +<a name="355" href="#355">355</a> } +<a name="356" href="#356">356</a> } +<a name="357" href="#357">357</a> +<a name="358" href="#358">358</a> <strong class="jxr_keyword">public</strong> +<a name="359" href="#359">359</a> String getRenderedMessage() { +<a name="360" href="#360">360</a> <strong class="jxr_keyword">if</strong>(renderedMessage == <strong class="jxr_keyword">null</strong> &amp;&amp; message != <strong class="jxr_keyword">null</strong>) { +<a name="361" href="#361">361</a> <strong class="jxr_keyword">if</strong>(message instanceof String) +<a name="362" href="#362">362</a> renderedMessage = (String) message; +<a name="363" href="#363">363</a> <strong class="jxr_keyword">else</strong> { +<a name="364" href="#364">364</a> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository = logger.getLoggerRepository(); +<a name="365" href="#365">365</a> +<a name="366" href="#366">366</a> <strong class="jxr_keyword">if</strong>(repository instanceof <a href="../../../../org/apache/log4j/spi/RendererSupport.html">RendererSupport</a>) { +<a name="367" href="#367">367</a> RendererSupport rs = (RendererSupport) repository; +<a name="368" href="#368">368</a> renderedMessage= rs.getRendererMap().findAndRender(message); +<a name="369" href="#369">369</a> } <strong class="jxr_keyword">else</strong> { +<a name="370" href="#370">370</a> renderedMessage = message.toString(); +<a name="371" href="#371">371</a> } +<a name="372" href="#372">372</a> } +<a name="373" href="#373">373</a> } +<a name="374" href="#374">374</a> <strong class="jxr_keyword">return</strong> renderedMessage; +<a name="375" href="#375">375</a> } +<a name="376" href="#376">376</a> +<a name="377" href="#377">377</a> <em class="jxr_javadoccomment">/**</em> +<a name="378" href="#378">378</a> <em class="jxr_javadoccomment"> Returns the time when the application started, in milliseconds</em> +<a name="379" href="#379">379</a> <em class="jxr_javadoccomment"> elapsed since 01.01.1970. */</em> +<a name="380" href="#380">380</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">long</strong> getStartTime() { +<a name="381" href="#381">381</a> <strong class="jxr_keyword">return</strong> startTime; +<a name="382" href="#382">382</a> } +<a name="383" href="#383">383</a> +<a name="384" href="#384">384</a> <strong class="jxr_keyword">public</strong> +<a name="385" href="#385">385</a> String getThreadName() { +<a name="386" href="#386">386</a> <strong class="jxr_keyword">if</strong>(threadName == <strong class="jxr_keyword">null</strong>) +<a name="387" href="#387">387</a> threadName = (Thread.currentThread()).getName(); +<a name="388" href="#388">388</a> <strong class="jxr_keyword">return</strong> threadName; +<a name="389" href="#389">389</a> } +<a name="390" href="#390">390</a> +<a name="391" href="#391">391</a> <em class="jxr_javadoccomment">/**</em> +<a name="392" href="#392">392</a> <em class="jxr_javadoccomment"> Returns the throwable information contained within this</em> +<a name="393" href="#393">393</a> <em class="jxr_javadoccomment"> event. May be &lt;code&gt;null&lt;/code&gt; if there is no such information.</em> +<a name="394" href="#394">394</a> +<a name="395" href="#395">395</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that the {@link Throwable} object contained within a</em> +<a name="396" href="#396">396</a> <em class="jxr_javadoccomment"> {@link ThrowableInformation} does not survive serialization.</em> +<a name="397" href="#397">397</a> +<a name="398" href="#398">398</a> <em class="jxr_javadoccomment"> @since 1.1 */</em> +<a name="399" href="#399">399</a> <strong class="jxr_keyword">public</strong> +<a name="400" href="#400">400</a> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a> getThrowableInformation() { +<a name="401" href="#401">401</a> <strong class="jxr_keyword">return</strong> throwableInfo; +<a name="402" href="#402">402</a> } +<a name="403" href="#403">403</a> +<a name="404" href="#404">404</a> <em class="jxr_javadoccomment">/**</em> +<a name="405" href="#405">405</a> <em class="jxr_javadoccomment"> Return this event's throwable's string[] representaion.</em> +<a name="406" href="#406">406</a> <em class="jxr_javadoccomment"> */</em> +<a name="407" href="#407">407</a> <strong class="jxr_keyword">public</strong> +<a name="408" href="#408">408</a> String[] getThrowableStrRep() { +<a name="409" href="#409">409</a> +<a name="410" href="#410">410</a> <strong class="jxr_keyword">if</strong>(throwableInfo == <strong class="jxr_keyword">null</strong>) +<a name="411" href="#411">411</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="412" href="#412">412</a> <strong class="jxr_keyword">else</strong> +<a name="413" href="#413">413</a> <strong class="jxr_keyword">return</strong> throwableInfo.getThrowableStrRep(); +<a name="414" href="#414">414</a> } +<a name="415" href="#415">415</a> +<a name="416" href="#416">416</a> +<a name="417" href="#417">417</a> <strong class="jxr_keyword">private</strong> +<a name="418" href="#418">418</a> <strong class="jxr_keyword">void</strong> readLevel(ObjectInputStream ois) +<a name="419" href="#419">419</a> <strong class="jxr_keyword">throws</strong> java.io.IOException, ClassNotFoundException { +<a name="420" href="#420">420</a> +<a name="421" href="#421">421</a> <strong class="jxr_keyword">int</strong> p = ois.readInt(); +<a name="422" href="#422">422</a> <strong class="jxr_keyword">try</strong> { +<a name="423" href="#423">423</a> String className = (String) ois.readObject(); +<a name="424" href="#424">424</a> <strong class="jxr_keyword">if</strong>(className == <strong class="jxr_keyword">null</strong>) { +<a name="425" href="#425">425</a> level = Level.toLevel(p); +<a name="426" href="#426">426</a> } <strong class="jxr_keyword">else</strong> { +<a name="427" href="#427">427</a> Method m = (Method) methodCache.get(className); +<a name="428" href="#428">428</a> <strong class="jxr_keyword">if</strong>(m == <strong class="jxr_keyword">null</strong>) { +<a name="429" href="#429">429</a> Class clazz = Loader.loadClass(className); +<a name="430" href="#430">430</a> <em class="jxr_comment">// Note that we use Class.getDeclaredMethod instead of</em> +<a name="431" href="#431">431</a> <em class="jxr_comment">// Class.getMethod. This assumes that the Level subclass</em> +<a name="432" href="#432">432</a> <em class="jxr_comment">// implements the toLevel(int) method which is a</em> +<a name="433" href="#433">433</a> <em class="jxr_comment">// requirement. Actually, it does not make sense for Level</em> +<a name="434" href="#434">434</a> <em class="jxr_comment">// subclasses NOT to implement this method. Also note that</em> +<a name="435" href="#435">435</a> <em class="jxr_comment">// only Level can be subclassed and not Priority.</em> +<a name="436" href="#436">436</a> m = clazz.getDeclaredMethod(TO_LEVEL, TO_LEVEL_PARAMS); +<a name="437" href="#437">437</a> methodCache.put(className, m); +<a name="438" href="#438">438</a> } +<a name="439" href="#439">439</a> PARAM_ARRAY[0] = <strong class="jxr_keyword">new</strong> Integer(p); +<a name="440" href="#440">440</a> level = (Level) m.invoke(<strong class="jxr_keyword">null</strong>, PARAM_ARRAY); +<a name="441" href="#441">441</a> } +<a name="442" href="#442">442</a> } <strong class="jxr_keyword">catch</strong>(InvocationTargetException e) { +<a name="443" href="#443">443</a> <strong class="jxr_keyword">if</strong> (e.getTargetException() instanceof InterruptedException +<a name="444" href="#444">444</a> || e.getTargetException() instanceof InterruptedIOException) { +<a name="445" href="#445">445</a> Thread.currentThread().interrupt(); +<a name="446" href="#446">446</a> } +<a name="447" href="#447">447</a> LogLog.warn(<span class="jxr_string">"Level deserialization failed, reverting to default."</span>, e); +<a name="448" href="#448">448</a> level = Level.toLevel(p); +<a name="449" href="#449">449</a> } <strong class="jxr_keyword">catch</strong>(NoSuchMethodException e) { +<a name="450" href="#450">450</a> LogLog.warn(<span class="jxr_string">"Level deserialization failed, reverting to default."</span>, e); +<a name="451" href="#451">451</a> level = Level.toLevel(p); +<a name="452" href="#452">452</a> } <strong class="jxr_keyword">catch</strong>(IllegalAccessException e) { +<a name="453" href="#453">453</a> LogLog.warn(<span class="jxr_string">"Level deserialization failed, reverting to default."</span>, e); +<a name="454" href="#454">454</a> level = Level.toLevel(p); +<a name="455" href="#455">455</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="456" href="#456">456</a> LogLog.warn(<span class="jxr_string">"Level deserialization failed, reverting to default."</span>, e); +<a name="457" href="#457">457</a> level = Level.toLevel(p); +<a name="458" href="#458">458</a> } +<a name="459" href="#459">459</a> } +<a name="460" href="#460">460</a> +<a name="461" href="#461">461</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> readObject(ObjectInputStream ois) +<a name="462" href="#462">462</a> <strong class="jxr_keyword">throws</strong> java.io.IOException, ClassNotFoundException { +<a name="463" href="#463">463</a> ois.defaultReadObject(); +<a name="464" href="#464">464</a> readLevel(ois); +<a name="465" href="#465">465</a> +<a name="466" href="#466">466</a> <em class="jxr_comment">// Make sure that no location info is available to Layouts</em> +<a name="467" href="#467">467</a> <strong class="jxr_keyword">if</strong>(locationInfo == <strong class="jxr_keyword">null</strong>) +<a name="468" href="#468">468</a> locationInfo = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a>(<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>); +<a name="469" href="#469">469</a> } +<a name="470" href="#470">470</a> +<a name="471" href="#471">471</a> <strong class="jxr_keyword">private</strong> +<a name="472" href="#472">472</a> <strong class="jxr_keyword">void</strong> writeObject(ObjectOutputStream oos) <strong class="jxr_keyword">throws</strong> java.io.IOException { +<a name="473" href="#473">473</a> <em class="jxr_comment">// Aside from returning the current thread name the wgetThreadName</em> +<a name="474" href="#474">474</a> <em class="jxr_comment">// method sets the threadName variable.</em> +<a name="475" href="#475">475</a> <strong class="jxr_keyword">this</strong>.getThreadName(); +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> <em class="jxr_comment">// This sets the renders the message in case it wasn't up to now.</em> +<a name="478" href="#478">478</a> <strong class="jxr_keyword">this</strong>.getRenderedMessage(); +<a name="479" href="#479">479</a> +<a name="480" href="#480">480</a> <em class="jxr_comment">// This call has a side effect of setting this.ndc and</em> +<a name="481" href="#481">481</a> <em class="jxr_comment">// setting ndcLookupRequired to false if not already false.</em> +<a name="482" href="#482">482</a> <strong class="jxr_keyword">this</strong>.getNDC(); +<a name="483" href="#483">483</a> +<a name="484" href="#484">484</a> <em class="jxr_comment">// This call has a side effect of setting this.mdcCopy and</em> +<a name="485" href="#485">485</a> <em class="jxr_comment">// setting mdcLookupRequired to false if not already false.</em> +<a name="486" href="#486">486</a> <strong class="jxr_keyword">this</strong>.getMDCCopy(); +<a name="487" href="#487">487</a> +<a name="488" href="#488">488</a> <em class="jxr_comment">// This sets the throwable sting representation of the event throwable.</em> +<a name="489" href="#489">489</a> <strong class="jxr_keyword">this</strong>.getThrowableStrRep(); +<a name="490" href="#490">490</a> +<a name="491" href="#491">491</a> oos.defaultWriteObject(); +<a name="492" href="#492">492</a> +<a name="493" href="#493">493</a> <em class="jxr_comment">// serialize this event's level</em> +<a name="494" href="#494">494</a> writeLevel(oos); +<a name="495" href="#495">495</a> } +<a name="496" href="#496">496</a> +<a name="497" href="#497">497</a> <strong class="jxr_keyword">private</strong> +<a name="498" href="#498">498</a> <strong class="jxr_keyword">void</strong> writeLevel(ObjectOutputStream oos) <strong class="jxr_keyword">throws</strong> java.io.IOException { +<a name="499" href="#499">499</a> +<a name="500" href="#500">500</a> oos.writeInt(level.toInt()); +<a name="501" href="#501">501</a> +<a name="502" href="#502">502</a> Class clazz = level.getClass(); +<a name="503" href="#503">503</a> <strong class="jxr_keyword">if</strong>(clazz == Level.<strong class="jxr_keyword">class</strong>) { +<a name="504" href="#504">504</a> oos.writeObject(<strong class="jxr_keyword">null</strong>); +<a name="505" href="#505">505</a> } <strong class="jxr_keyword">else</strong> { +<a name="506" href="#506">506</a> <em class="jxr_comment">// writing directly the Class object would be nicer, except that</em> +<a name="507" href="#507">507</a> <em class="jxr_comment">// serialized a Class object can not be read back by JDK</em> +<a name="508" href="#508">508</a> <em class="jxr_comment">// 1.1.x. We have to resort to this hack instead.</em> +<a name="509" href="#509">509</a> oos.writeObject(clazz.getName()); +<a name="510" href="#510">510</a> } +<a name="511" href="#511">511</a> } +<a name="512" href="#512">512</a> +<a name="513" href="#513">513</a> <em class="jxr_javadoccomment">/**</em> +<a name="514" href="#514">514</a> <em class="jxr_javadoccomment"> * Set value for MDC property.</em> +<a name="515" href="#515">515</a> <em class="jxr_javadoccomment"> * This adds the specified MDC property to the event.</em> +<a name="516" href="#516">516</a> <em class="jxr_javadoccomment"> * Access to the MDC is not synchronized, so this</em> +<a name="517" href="#517">517</a> <em class="jxr_javadoccomment"> * method should only be called when it is known that</em> +<a name="518" href="#518">518</a> <em class="jxr_javadoccomment"> * no other threads are accessing the MDC.</em> +<a name="519" href="#519">519</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="520" href="#520">520</a> <em class="jxr_javadoccomment"> * @param propName</em> +<a name="521" href="#521">521</a> <em class="jxr_javadoccomment"> * @param propValue</em> +<a name="522" href="#522">522</a> <em class="jxr_javadoccomment"> */</em> +<a name="523" href="#523">523</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setProperty(<strong class="jxr_keyword">final</strong> String propName, +<a name="524" href="#524">524</a> <strong class="jxr_keyword">final</strong> String propValue) { +<a name="525" href="#525">525</a> <strong class="jxr_keyword">if</strong> (mdcCopy == <strong class="jxr_keyword">null</strong>) { +<a name="526" href="#526">526</a> getMDCCopy(); +<a name="527" href="#527">527</a> } +<a name="528" href="#528">528</a> <strong class="jxr_keyword">if</strong> (mdcCopy == <strong class="jxr_keyword">null</strong>) { +<a name="529" href="#529">529</a> mdcCopy = <strong class="jxr_keyword">new</strong> Hashtable(); +<a name="530" href="#530">530</a> } +<a name="531" href="#531">531</a> mdcCopy.put(propName, propValue); +<a name="532" href="#532">532</a> } +<a name="533" href="#533">533</a> +<a name="534" href="#534">534</a> <em class="jxr_javadoccomment">/**</em> +<a name="535" href="#535">535</a> <em class="jxr_javadoccomment"> * Return a property for this event. The return value can be null.</em> +<a name="536" href="#536">536</a> <em class="jxr_javadoccomment"> *</em> +<a name="537" href="#537">537</a> <em class="jxr_javadoccomment"> * Equivalent to getMDC(String) in log4j 1.2. Provided</em> +<a name="538" href="#538">538</a> <em class="jxr_javadoccomment"> * for compatibility with log4j 1.3.</em> +<a name="539" href="#539">539</a> <em class="jxr_javadoccomment"> *</em> +<a name="540" href="#540">540</a> <em class="jxr_javadoccomment"> * @param key property name</em> +<a name="541" href="#541">541</a> <em class="jxr_javadoccomment"> * @return property value or null if property not set</em> +<a name="542" href="#542">542</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="543" href="#543">543</a> <em class="jxr_javadoccomment"> */</em> +<a name="544" href="#544">544</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> String getProperty(<strong class="jxr_keyword">final</strong> String key) { +<a name="545" href="#545">545</a> Object value = getMDC(key); +<a name="546" href="#546">546</a> String retval = <strong class="jxr_keyword">null</strong>; +<a name="547" href="#547">547</a> <strong class="jxr_keyword">if</strong> (value != <strong class="jxr_keyword">null</strong>) { +<a name="548" href="#548">548</a> retval = value.toString(); +<a name="549" href="#549">549</a> } +<a name="550" href="#550">550</a> <strong class="jxr_keyword">return</strong> retval; +<a name="551" href="#551">551</a> } +<a name="552" href="#552">552</a> +<a name="553" href="#553">553</a> <em class="jxr_javadoccomment">/**</em> +<a name="554" href="#554">554</a> <em class="jxr_javadoccomment"> * Check for the existence of location information without creating it</em> +<a name="555" href="#555">555</a> <em class="jxr_javadoccomment"> * (a byproduct of calling getLocationInformation).</em> +<a name="556" href="#556">556</a> <em class="jxr_javadoccomment"> * @return true if location information has been extracted.</em> +<a name="557" href="#557">557</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="558" href="#558">558</a> <em class="jxr_javadoccomment"> */</em> +<a name="559" href="#559">559</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> locationInformationExists() { +<a name="560" href="#560">560</a> <strong class="jxr_keyword">return</strong> (locationInfo != <strong class="jxr_keyword">null</strong>); +<a name="561" href="#561">561</a> } +<a name="562" href="#562">562</a> +<a name="563" href="#563">563</a> <em class="jxr_javadoccomment">/**</em> +<a name="564" href="#564">564</a> <em class="jxr_javadoccomment"> * Getter for the event's time stamp. The time stamp is calculated starting</em> +<a name="565" href="#565">565</a> <em class="jxr_javadoccomment"> * from 1970-01-01 GMT.</em> +<a name="566" href="#566">566</a> <em class="jxr_javadoccomment"> * @return timestamp</em> +<a name="567" href="#567">567</a> <em class="jxr_javadoccomment"> *</em> +<a name="568" href="#568">568</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="569" href="#569">569</a> <em class="jxr_javadoccomment"> */</em> +<a name="570" href="#570">570</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getTimeStamp() { +<a name="571" href="#571">571</a> <strong class="jxr_keyword">return</strong> timeStamp; +<a name="572" href="#572">572</a> } +<a name="573" href="#573">573</a> +<a name="574" href="#574">574</a> <em class="jxr_javadoccomment">/**</em> +<a name="575" href="#575">575</a> <em class="jxr_javadoccomment"> * Returns the set of the key values in the properties</em> +<a name="576" href="#576">576</a> <em class="jxr_javadoccomment"> * for the event.</em> +<a name="577" href="#577">577</a> <em class="jxr_javadoccomment"> *</em> +<a name="578" href="#578">578</a> <em class="jxr_javadoccomment"> * The returned set is unmodifiable by the caller.</em> +<a name="579" href="#579">579</a> <em class="jxr_javadoccomment"> *</em> +<a name="580" href="#580">580</a> <em class="jxr_javadoccomment"> * Provided for compatibility with log4j 1.3</em> +<a name="581" href="#581">581</a> <em class="jxr_javadoccomment"> *</em> +<a name="582" href="#582">582</a> <em class="jxr_javadoccomment"> * @return Set an unmodifiable set of the property keys.</em> +<a name="583" href="#583">583</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="584" href="#584">584</a> <em class="jxr_javadoccomment"> */</em> +<a name="585" href="#585">585</a> <strong class="jxr_keyword">public</strong> Set getPropertyKeySet() { +<a name="586" href="#586">586</a> <strong class="jxr_keyword">return</strong> getProperties().keySet(); +<a name="587" href="#587">587</a> } +<a name="588" href="#588">588</a> +<a name="589" href="#589">589</a> <em class="jxr_javadoccomment">/**</em> +<a name="590" href="#590">590</a> <em class="jxr_javadoccomment"> * Returns the set of properties</em> +<a name="591" href="#591">591</a> <em class="jxr_javadoccomment"> * for the event.</em> +<a name="592" href="#592">592</a> <em class="jxr_javadoccomment"> *</em> +<a name="593" href="#593">593</a> <em class="jxr_javadoccomment"> * The returned set is unmodifiable by the caller.</em> +<a name="594" href="#594">594</a> <em class="jxr_javadoccomment"> *</em> +<a name="595" href="#595">595</a> <em class="jxr_javadoccomment"> * Provided for compatibility with log4j 1.3</em> +<a name="596" href="#596">596</a> <em class="jxr_javadoccomment"> *</em> +<a name="597" href="#597">597</a> <em class="jxr_javadoccomment"> * @return Set an unmodifiable map of the properties.</em> +<a name="598" href="#598">598</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="599" href="#599">599</a> <em class="jxr_javadoccomment"> */</em> +<a name="600" href="#600">600</a> <strong class="jxr_keyword">public</strong> Map getProperties() { +<a name="601" href="#601">601</a> getMDCCopy(); +<a name="602" href="#602">602</a> Map properties; +<a name="603" href="#603">603</a> <strong class="jxr_keyword">if</strong> (mdcCopy == <strong class="jxr_keyword">null</strong>) { +<a name="604" href="#604">604</a> properties = <strong class="jxr_keyword">new</strong> HashMap(); +<a name="605" href="#605">605</a> } <strong class="jxr_keyword">else</strong> { +<a name="606" href="#606">606</a> properties = mdcCopy; +<a name="607" href="#607">607</a> } +<a name="608" href="#608">608</a> <strong class="jxr_keyword">return</strong> Collections.unmodifiableMap(properties); +<a name="609" href="#609">609</a> } +<a name="610" href="#610">610</a> +<a name="611" href="#611">611</a> <em class="jxr_javadoccomment">/**</em> +<a name="612" href="#612">612</a> <em class="jxr_javadoccomment"> * Get the fully qualified name of the calling logger sub-class/wrapper.</em> +<a name="613" href="#613">613</a> <em class="jxr_javadoccomment"> * Provided for compatibility with log4j 1.3</em> +<a name="614" href="#614">614</a> <em class="jxr_javadoccomment"> * @return fully qualified class name, may be null.</em> +<a name="615" href="#615">615</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="616" href="#616">616</a> <em class="jxr_javadoccomment"> */</em> +<a name="617" href="#617">617</a> <strong class="jxr_keyword">public</strong> String getFQNOfLoggerClass() { +<a name="618" href="#618">618</a> <strong class="jxr_keyword">return</strong> fqnOfCategoryClass; +<a name="619" href="#619">619</a> } +<a name="620" href="#620">620</a> +<a name="621" href="#621">621</a> +<a name="622" href="#622">622</a> <em class="jxr_javadoccomment">/**</em> +<a name="623" href="#623">623</a> <em class="jxr_javadoccomment"> * This removes the specified MDC property from the event.</em> +<a name="624" href="#624">624</a> <em class="jxr_javadoccomment"> * Access to the MDC is not synchronized, so this</em> +<a name="625" href="#625">625</a> <em class="jxr_javadoccomment"> * method should only be called when it is known that</em> +<a name="626" href="#626">626</a> <em class="jxr_javadoccomment"> * no other threads are accessing the MDC.</em> +<a name="627" href="#627">627</a> <em class="jxr_javadoccomment"> * @param propName the property name to remove</em> +<a name="628" href="#628">628</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="629" href="#629">629</a> <em class="jxr_javadoccomment"> */</em> +<a name="630" href="#630">630</a> <strong class="jxr_keyword">public</strong> Object removeProperty(String propName) { +<a name="631" href="#631">631</a> <strong class="jxr_keyword">if</strong> (mdcCopy == <strong class="jxr_keyword">null</strong>) { +<a name="632" href="#632">632</a> getMDCCopy(); +<a name="633" href="#633">633</a> } +<a name="634" href="#634">634</a> <strong class="jxr_keyword">if</strong> (mdcCopy == <strong class="jxr_keyword">null</strong>) { +<a name="635" href="#635">635</a> mdcCopy = <strong class="jxr_keyword">new</strong> Hashtable(); +<a name="636" href="#636">636</a> } +<a name="637" href="#637">637</a> <strong class="jxr_keyword">return</strong> mdcCopy.remove(propName); +<a name="638" href="#638">638</a> } +<a name="639" href="#639">639</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NOPLogger.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NOPLogger.html new file mode 100644 index 00000000000..46438bfc3fb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NOPLogger.html @@ -0,0 +1,226 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NOPLogger xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/NOPLogger.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Priority; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.ResourceBundle; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * No-operation implementation of Logger used by NOPLoggerRepository.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/NOPLogger.html">NOPLogger</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> { +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * Create instance of Logger.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @param repo repository, may not be null.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * @param name name, may not be null, use "root" for root logger.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/NOPLogger.html">NOPLogger</a>(<a href="../../../../org/apache/log4j/spi/NOPLoggerRepository.html">NOPLoggerRepository</a> repo, <strong class="jxr_keyword">final</strong> String name) { +<a name="39" href="#39">39</a> <strong class="jxr_keyword">super</strong>(name); +<a name="40" href="#40">40</a> <strong class="jxr_keyword">this</strong>.repository = repo; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">this</strong>.level = Level.OFF; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">this</strong>.parent = <strong class="jxr_keyword">this</strong>; +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addAppender(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> newAppender) { +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> assertLog(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> assertion, <strong class="jxr_keyword">final</strong> String msg) { +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> callAppenders(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">void</strong> closeNestedAppenders() { +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> Object message) { +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> debug(<strong class="jxr_keyword">final</strong> Object message, <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<strong class="jxr_keyword">final</strong> Object message) { +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<strong class="jxr_keyword">final</strong> Object message, <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<strong class="jxr_keyword">final</strong> Object message) { +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fatal(<strong class="jxr_keyword">final</strong> Object message, <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">public</strong> Enumeration getAllAppenders() { +<a name="91" href="#91">91</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Vector().elements(); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> getAppender(<strong class="jxr_keyword">final</strong> String name) { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="100" href="#100">100</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> getEffectiveLevel() { +<a name="101" href="#101">101</a> <strong class="jxr_keyword">return</strong> Level.OFF; +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="105" href="#105">105</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> getChainedPriority() { +<a name="106" href="#106">106</a> <strong class="jxr_keyword">return</strong> getEffectiveLevel(); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="110" href="#110">110</a> <strong class="jxr_keyword">public</strong> ResourceBundle getResourceBundle() { +<a name="111" href="#111">111</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> Object message) { +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<strong class="jxr_keyword">final</strong> Object message, <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isAttached(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="125" href="#125">125</a> <strong class="jxr_keyword">return</strong> false; +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isDebugEnabled() { +<a name="130" href="#130">130</a> <strong class="jxr_keyword">return</strong> false; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="134" href="#134">134</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isEnabledFor(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> level) { +<a name="135" href="#135">135</a> <strong class="jxr_keyword">return</strong> false; +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isInfoEnabled() { +<a name="140" href="#140">140</a> <strong class="jxr_keyword">return</strong> false; +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="145" href="#145">145</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> l7dlog(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> priority, <strong class="jxr_keyword">final</strong> String key, <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="149" href="#149">149</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> l7dlog(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> priority, <strong class="jxr_keyword">final</strong> String key, <strong class="jxr_keyword">final</strong> Object[] params, <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="153" href="#153">153</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> priority, <strong class="jxr_keyword">final</strong> Object message, <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="157" href="#157">157</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> priority, <strong class="jxr_keyword">final</strong> Object message) { +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="161" href="#161">161</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> log(<strong class="jxr_keyword">final</strong> String callerFQCN, <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> level, <strong class="jxr_keyword">final</strong> Object message, <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeAllAppenders() { +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="171" href="#171">171</a> } +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="174" href="#174">174</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeAppender(<strong class="jxr_keyword">final</strong> String name) { +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="178" href="#178">178</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLevel(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> level) { +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setPriority(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Priority.html">Priority</a> priority) { +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setResourceBundle(<strong class="jxr_keyword">final</strong> ResourceBundle bundle) { +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="191" href="#191">191</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> Object message) { +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="195" href="#195">195</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> warn(<strong class="jxr_keyword">final</strong> Object message, <strong class="jxr_keyword">final</strong> Throwable t) { +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="199" href="#199">199</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(Object message) { +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="203" href="#203">203</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> trace(Object message, Throwable t) { +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> {@inheritDoc} */</em> +<a name="207" href="#207">207</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTraceEnabled() { +<a name="208" href="#208">208</a> <strong class="jxr_keyword">return</strong> false; +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NOPLoggerRepository.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NOPLoggerRepository.html new file mode 100644 index 00000000000..ac1fb619c81 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NOPLoggerRepository.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NOPLoggerRepository xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/NOPLoggerRepository.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Category; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.util.Enumeration; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * No-operation implementation of LoggerRepository which is used when</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * LogManager.repositorySelector is erroneously nulled during class reloading.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/NOPLoggerRepository.html">NOPLoggerRepository</a> implements <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> { +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment">/**</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addHierarchyEventListener(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/HierarchyEventListener.html">HierarchyEventListener</a> listener) { +<a name="37" href="#37">37</a> } +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment">/**</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isDisabled(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> level) { +<a name="43" href="#43">43</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>; +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment">/**</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setThreshold(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> level) { +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setThreshold(<strong class="jxr_keyword">final</strong> String val) { +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> emitNoAppenderWarning(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Category.html">Category</a> cat) { +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment">/**</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> getThreshold() { +<a name="68" href="#68">68</a> <strong class="jxr_keyword">return</strong> Level.OFF; +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em class="jxr_javadoccomment">/**</em> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> */</em> +<a name="74" href="#74">74</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger(<strong class="jxr_keyword">final</strong> String name) { +<a name="75" href="#75">75</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/NOPLogger.html">NOPLogger</a>(<strong class="jxr_keyword">this</strong>, name); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment">/**</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> */</em> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getLogger(<strong class="jxr_keyword">final</strong> String name, <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> factory) { +<a name="82" href="#82">82</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/NOPLogger.html">NOPLogger</a>(<strong class="jxr_keyword">this</strong>, name); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment">/**</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> */</em> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> getRootLogger() { +<a name="89" href="#89">89</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/NOPLogger.html">NOPLogger</a>(<strong class="jxr_keyword">this</strong>, <span class="jxr_string">"root"</span>); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> */</em> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> exists(<strong class="jxr_keyword">final</strong> String name) { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> */</em> +<a name="102" href="#102">102</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> shutdown() { +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> */</em> +<a name="108" href="#108">108</a> <strong class="jxr_keyword">public</strong> Enumeration getCurrentLoggers() { +<a name="109" href="#109">109</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> Vector().elements(); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">/**</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> */</em> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">public</strong> Enumeration getCurrentCategories() { +<a name="116" href="#116">116</a> <strong class="jxr_keyword">return</strong> getCurrentLoggers(); +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">/**</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> */</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireAddAppenderEvent(Category logger, Appender appender) { +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">/**</em> +<a name="127" href="#127">127</a> <em class="jxr_javadoccomment"> * {@inheritDoc}</em> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment"> */</em> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> resetConfiguration() { +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NullWriter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NullWriter.html new file mode 100644 index 00000000000..12c1614d676 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/NullWriter.html @@ -0,0 +1,53 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NullWriter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/NullWriter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="18" href="#18">18</a> <strong class="jxr_keyword">import</strong> java.io.Writer; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * NullWriter is an obsolete class provided only for</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * binary compatibility with earlier versions of log4j and should not be used.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> *</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> */</em> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/NullWriter.html">NullWriter</a> <strong class="jxr_keyword">extends</strong> Writer { +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="29" href="#29">29</a> <em class="jxr_comment">// blank</em> +<a name="30" href="#30">30</a> } +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> flush() { +<a name="33" href="#33">33</a> <em class="jxr_comment">// blank</em> +<a name="34" href="#34">34</a> } +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">char</strong>[] cbuf, <strong class="jxr_keyword">int</strong> off, <strong class="jxr_keyword">int</strong> len) { +<a name="37" href="#37">37</a> <em class="jxr_comment">// blank</em> +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/OptionHandler.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/OptionHandler.html new file mode 100644 index 00000000000..e45017f8c8f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/OptionHandler.html @@ -0,0 +1,76 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>OptionHandler xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/OptionHandler.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment">/**</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> A string based interface to configure package components.</em> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> @since 0.8.1</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/OptionHandler.html">OptionHandler</a> { +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> Activate the options that were previously set with calls to option</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> setters.</em> +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> &lt;p&gt;This allows to defer activiation of the options until all</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> options have been set. This is required for components which have</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> related options that remain ambigous until all are set.</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example, the FileAppender has the {@link</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> org.apache.log4j.FileAppender#setFile File} and {@link</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> org.apache.log4j.FileAppender#setAppend Append} options both of</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> which are ambigous until the other is also set. */</em> +<a name="42" href="#42">42</a> <strong class="jxr_keyword">void</strong> activateOptions(); +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment">/**</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> Return list of strings that the OptionHandler instance recognizes.</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> @deprecated We now use JavaBeans style getters/setters.</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <em class="jxr_comment">// String[] getOptionStrings();</em> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> Set &lt;code&gt;option&lt;/code&gt; to &lt;code&gt;value&lt;/code&gt;.</em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> &lt;p&gt;The handling of each option depends on the OptionHandler</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> instance. Some options may become active immediately whereas</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> other may be activated only when {@link #activateOptions} is</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> called.</em> +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> @deprecated We now use JavaBeans style getters/setters.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <em class="jxr_comment">//void setOption(String option, String value);</em> +<a name="62" href="#62">62</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RendererSupport.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RendererSupport.html new file mode 100644 index 00000000000..e7939be44ea --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RendererSupport.html @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>RendererSupport xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/RendererSupport.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.or.ObjectRenderer; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.or.RendererMap; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/RendererSupport.html">RendererSupport</a> { +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">public</strong> +<a name="28" href="#28">28</a> <a href="../../../../org/apache/log4j/or/RendererMap.html">RendererMap</a> getRendererMap(); +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">public</strong> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">void</strong> setRenderer(Class renderedClass, <a href="../../../../org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> renderer); +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RepositorySelector.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RepositorySelector.html new file mode 100644 index 00000000000..c4af440cece --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RepositorySelector.html @@ -0,0 +1,63 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>RepositorySelector xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/RepositorySelector.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> The &lt;code&gt;LogManager&lt;/code&gt; uses one (and only one)</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> &lt;code&gt;RepositorySelector&lt;/code&gt; implementation to select the</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> {@link LoggerRepository} for a particular application context.</em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> &lt;p&gt;It is the responsability of the &lt;code&gt;RepositorySelector&lt;/code&gt;</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> implementation to track the application context. Log4j makes no</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> assumptions about the application context or on its management.</em> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> &lt;p&gt;See also {@link org.apache.log4j.LogManager LogManager}.</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> @since 1.2</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/RepositorySelector.html">RepositorySelector</a> { +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> Returns a {@link LoggerRepository} depending on the</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> context. Implementors must make sure that a valid (non-null)</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> LoggerRepository is returned.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> +<a name="47" href="#47">47</a> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> getLoggerRepository(); +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RootCategory.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RootCategory.html new file mode 100644 index 00000000000..3e45622fe0f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RootCategory.html @@ -0,0 +1,90 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>RootCategory xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/RootCategory.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_comment">// Contibutors: Mathias Bogaert</em> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * @deprecated Replaced by {@link RootLogger}. </em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> */</em> +<a name="29" href="#29">29</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/RootCategory.html">RootCategory</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment">/**</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> The root category names itself as "root". However, the root</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> category cannot be retrieved by name. </em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">public</strong> +<a name="36" href="#36">36</a> <a href="../../../../org/apache/log4j/spi/RootCategory.html">RootCategory</a>(<a href="../../../../org/apache/log4j/Level.html">Level</a> level) { +<a name="37" href="#37">37</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"root"</span>); +<a name="38" href="#38">38</a> setLevel(level); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> Return the assigned level value without walking the category</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> hierarchy.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">final</strong> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> +<a name="48" href="#48">48</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> getChainedLevel() { +<a name="49" href="#49">49</a> <strong class="jxr_keyword">return</strong> level; +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> Setting a null value to the level of the root category may have catastrophic</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> results. We prevent this here.</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> @since 0.8.3 */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">final</strong> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">void</strong> setLevel(<a href="../../../../org/apache/log4j/Level.html">Level</a> level) { +<a name="60" href="#60">60</a> <strong class="jxr_keyword">if</strong>(level == <strong class="jxr_keyword">null</strong>) { +<a name="61" href="#61">61</a> LogLog.error(<span class="jxr_string">"You have tried to set a null level to root."</span>, +<a name="62" href="#62">62</a> <strong class="jxr_keyword">new</strong> Throwable()); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> <strong class="jxr_keyword">else</strong> { +<a name="65" href="#65">65</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">final</strong> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">public</strong> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">void</strong> setPriority(<a href="../../../../org/apache/log4j/Level.html">Level</a> level) { +<a name="72" href="#72">72</a> setLevel(level); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RootLogger.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RootLogger.html new file mode 100644 index 00000000000..3e853cdf5e0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/RootLogger.html @@ -0,0 +1,85 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>RootLogger xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/RootLogger.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_comment">// Contibutors: Mathias Bogaert</em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> RootLogger sits at the top of the logger hierachy. It is a</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> regular logger except that it provides several guarantees.</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> &lt;p&gt;First, it cannot be assigned a &lt;code&gt;null&lt;/code&gt;</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> level. Second, since root logger cannot have a parent, the</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> {@link #getChainedLevel} method always returns the value of the</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> level field without walking the hierarchy.</em> +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/RootLogger.html">RootLogger</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> { +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> The root logger names itself as "root". However, the root</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> logger cannot be retrieved by name.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/RootLogger.html">RootLogger</a>(<a href="../../../../org/apache/log4j/Level.html">Level</a> level) { +<a name="45" href="#45">45</a> <strong class="jxr_keyword">super</strong>(<span class="jxr_string">"root"</span>); +<a name="46" href="#46">46</a> setLevel(level); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> Return the assigned level value without walking the logger</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> hierarchy.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> */</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> getChainedLevel() { +<a name="54" href="#54">54</a> <strong class="jxr_keyword">return</strong> level; +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> Setting a null value to the level of the root logger may have catastrophic</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> results. We prevent this here.</em> +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> @since 0.8.3 */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> setLevel(<a href="../../../../org/apache/log4j/Level.html">Level</a> level) { +<a name="63" href="#63">63</a> <strong class="jxr_keyword">if</strong> (level == <strong class="jxr_keyword">null</strong>) { +<a name="64" href="#64">64</a> LogLog.error( +<a name="65" href="#65">65</a> <span class="jxr_string">"You have tried to set a null level to root."</span>, <strong class="jxr_keyword">new</strong> Throwable()); +<a name="66" href="#66">66</a> } <strong class="jxr_keyword">else</strong> { +<a name="67" href="#67">67</a> <strong class="jxr_keyword">this</strong>.level = level; +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableInformation.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableInformation.html new file mode 100644 index 00000000000..d6ad56ddbd0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableInformation.html @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ThrowableInformation xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/ThrowableInformation.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Category; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.DefaultThrowableRenderer; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * ThrowableInformation is log4j's internal representation of</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * throwables. It essentially consists of a string array, called</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * 'rep', where the first element, that is rep[0], represents the</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * string representation of the throwable (i.e. the value you get</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * when you do throwable.toString()) and subsequent elements</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * correspond the stack trace with the top most entry of the stack</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * corresponding to the second entry of the 'rep' array that is</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * rep[1].</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> *</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> *</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a> implements java.io.Serializable { +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = -4748765566864322735L; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">transient</strong> Throwable throwable; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">transient</strong> <a href="../../../../org/apache/log4j/Category.html">Category</a> category; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">private</strong> String[] rep; +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> +<a name="45" href="#45">45</a> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a>(Throwable throwable) { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">this</strong>.throwable = throwable; +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment">/**</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * Create a new instance.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * @param throwable throwable, may not be null.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * @param category category used to obtain ThrowableRenderer, may be null.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a>(Throwable throwable, <a href="../../../../org/apache/log4j/Category.html">Category</a> category) { +<a name="56" href="#56">56</a> <strong class="jxr_keyword">this</strong>.throwable = throwable; +<a name="57" href="#57">57</a> <strong class="jxr_keyword">this</strong>.category = category; +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * Create new instance.</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * @param r String representation of throwable.</em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> */</em> +<a name="65" href="#65">65</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/spi/ThrowableInformation.html">ThrowableInformation</a>(<strong class="jxr_keyword">final</strong> String[] r) { +<a name="66" href="#66">66</a> <strong class="jxr_keyword">if</strong> (r != <strong class="jxr_keyword">null</strong>) { +<a name="67" href="#67">67</a> rep = (String[]) r.clone(); +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> +<a name="73" href="#73">73</a> Throwable getThrowable() { +<a name="74" href="#74">74</a> <strong class="jxr_keyword">return</strong> throwable; +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> String[] getThrowableStrRep() { +<a name="78" href="#78">78</a> <strong class="jxr_keyword">if</strong>(rep == <strong class="jxr_keyword">null</strong>) { +<a name="79" href="#79">79</a> <a href="../../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> renderer = <strong class="jxr_keyword">null</strong>; +<a name="80" href="#80">80</a> <strong class="jxr_keyword">if</strong> (category != <strong class="jxr_keyword">null</strong>) { +<a name="81" href="#81">81</a> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repo = category.getLoggerRepository(); +<a name="82" href="#82">82</a> <strong class="jxr_keyword">if</strong> (repo instanceof ThrowableRendererSupport) { +<a name="83" href="#83">83</a> renderer = ((ThrowableRendererSupport) repo).getThrowableRenderer(); +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> <strong class="jxr_keyword">if</strong> (renderer == <strong class="jxr_keyword">null</strong>) { +<a name="87" href="#87">87</a> rep = DefaultThrowableRenderer.render(throwable); +<a name="88" href="#88">88</a> } <strong class="jxr_keyword">else</strong> { +<a name="89" href="#89">89</a> rep = renderer.doRender(throwable); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> <strong class="jxr_keyword">return</strong> (String[]) rep.clone(); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableRenderer.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableRenderer.html new file mode 100644 index 00000000000..097b2cc3888 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableRenderer.html @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ThrowableRenderer xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/ThrowableRenderer.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <em class="jxr_javadoccomment">/**</em> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment"> * Implemented by classes that render instances of</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * java.lang.Throwable (exceptions and errors)</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> * into a string representation.</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> *</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> */</em> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> { +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * Render Throwable.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @param t throwable, may not be null.</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * @return String representation.</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> */</em> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> String[] doRender(Throwable t); +<a name="33" href="#33">33</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableRendererSupport.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableRendererSupport.html new file mode 100644 index 00000000000..755ed0951ac --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/ThrowableRendererSupport.html @@ -0,0 +1,51 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ThrowableRendererSupport xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/ThrowableRendererSupport.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <em class="jxr_javadoccomment">/**</em> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment"> * Implemented by logger repositories that support configurable</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> * rendering of Throwables.</em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> *</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * @since 1.2.16</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> */</em> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/ThrowableRendererSupport.html">ThrowableRendererSupport</a> { +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment">/**</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * Get throwable renderer.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * @return throwable renderer, may be null.</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> */</em> +<a name="30" href="#30">30</a> <a href="../../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> getThrowableRenderer(); +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * Set throwable renderer.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * @param renderer renderer, may be null.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">void</strong> setThrowableRenderer(<a href="../../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> renderer); +<a name="37" href="#37">37</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/TriggeringEventEvaluator.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/TriggeringEventEvaluator.html new file mode 100644 index 00000000000..d7e4ad4d331 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/TriggeringEventEvaluator.html @@ -0,0 +1,54 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>TriggeringEventEvaluator xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/TriggeringEventEvaluator.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <em class="jxr_javadoccomment">/**</em> +<a name="21" href="#21">21</a> <em class="jxr_javadoccomment"> </em> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment"> Implementions of this interface allow certain appenders to decide</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> when to perform an appender specific action.</em> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> &lt;p&gt;For example the {@link org.apache.log4j.net.SMTPAppender} sends</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> an email when the {@link #isTriggeringEvent} method returns</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt; and adds the event to an internal buffer when the</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> returned result is &lt;code&gt;false&lt;/code&gt;.</em> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> @since version 1.0</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> </em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/spi/TriggeringEventEvaluator.html">TriggeringEventEvaluator</a> { +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment">/**</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> Is this the triggering event?</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isTriggeringEvent(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event); +<a name="40" href="#40">40</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/VectorWriter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/VectorWriter.html new file mode 100644 index 00000000000..88676518695 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/VectorWriter.html @@ -0,0 +1,108 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>VectorWriter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/spi/VectorWriter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.spi; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> java.io.PrintWriter; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * VectorWriter is an obsolete class provided only for</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * binary compatibility with earlier versions of log4j and should not be used.</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> *</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/spi/VectorWriter.html">VectorWriter</a> <strong class="jxr_keyword">extends</strong> PrintWriter { +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">private</strong> Vector v; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * @deprecated</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> */</em> +<a name="35" href="#35">35</a> <a href="../../../../org/apache/log4j/spi/VectorWriter.html">VectorWriter</a>() { +<a name="36" href="#36">36</a> <strong class="jxr_keyword">super</strong>(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/spi/NullWriter.html">NullWriter</a>()); +<a name="37" href="#37">37</a> v = <strong class="jxr_keyword">new</strong> Vector(); +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> print(Object o) { +<a name="41" href="#41">41</a> v.addElement(String.valueOf(o)); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> print(<strong class="jxr_keyword">char</strong>[] chars) { +<a name="45" href="#45">45</a> v.addElement(<strong class="jxr_keyword">new</strong> String(chars)); +<a name="46" href="#46">46</a> } +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> print(String s) { +<a name="49" href="#49">49</a> v.addElement(s); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> println(Object o) { +<a name="53" href="#53">53</a> v.addElement(String.valueOf(o)); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_comment">// JDK 1.1.x apprenly uses this form of println while in</em> +<a name="57" href="#57">57</a> <em class="jxr_comment">// printStackTrace()</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">void</strong> println(<strong class="jxr_keyword">char</strong>[] chars) { +<a name="60" href="#60">60</a> v.addElement(<strong class="jxr_keyword">new</strong> String(chars)); +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">public</strong> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">void</strong> println(String s) { +<a name="65" href="#65">65</a> v.addElement(s); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">char</strong>[] chars) { +<a name="69" href="#69">69</a> v.addElement(<strong class="jxr_keyword">new</strong> String(chars)); +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">char</strong>[] chars, <strong class="jxr_keyword">int</strong> off, <strong class="jxr_keyword">int</strong> len) { +<a name="73" href="#73">73</a> v.addElement(<strong class="jxr_keyword">new</strong> String(chars, off, len)); +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(String s, <strong class="jxr_keyword">int</strong> off, <strong class="jxr_keyword">int</strong> len) { +<a name="77" href="#77">77</a> v.addElement(s.substring(off, off+len)); +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(String s) { +<a name="81" href="#81">81</a> v.addElement(s); +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">public</strong> String[] toStringArray() { +<a name="85" href="#85">85</a> <strong class="jxr_keyword">int</strong> len = v.size(); +<a name="86" href="#86">86</a> String[] sa = <strong class="jxr_keyword">new</strong> String[len]; +<a name="87" href="#87">87</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; len; i++) { +<a name="88" href="#88">88</a> sa[i] = (String) v.elementAt(i); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> <strong class="jxr_keyword">return</strong> sa; +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/package-frame.html new file mode 100644 index 00000000000..4dba51a5b63 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/package-frame.html @@ -0,0 +1,93 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.spi</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.spi</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="AppenderAttachable.html" target="classFrame">AppenderAttachable</a> + </li> + <li> + <a href="Configurator.html" target="classFrame">Configurator</a> + </li> + <li> + <a href="DefaultRepositorySelector.html" target="classFrame">DefaultRepositorySelector</a> + </li> + <li> + <a href="ErrorCode.html" target="classFrame">ErrorCode</a> + </li> + <li> + <a href="ErrorHandler.html" target="classFrame">ErrorHandler</a> + </li> + <li> + <a href="Filter.html" target="classFrame">Filter</a> + </li> + <li> + <a href="HierarchyEventListener.html" target="classFrame">HierarchyEventListener</a> + </li> + <li> + <a href="LocationInfo.html" target="classFrame">LocationInfo</a> + </li> + <li> + <a href="LoggerFactory.html" target="classFrame">LoggerFactory</a> + </li> + <li> + <a href="LoggerRepository.html" target="classFrame">LoggerRepository</a> + </li> + <li> + <a href="LoggingEvent.html" target="classFrame">LoggingEvent</a> + </li> + <li> + <a href="NOPLogger.html" target="classFrame">NOPLogger</a> + </li> + <li> + <a href="NOPLoggerRepository.html" target="classFrame">NOPLoggerRepository</a> + </li> + <li> + <a href="NullWriter.html" target="classFrame">NullWriter</a> + </li> + <li> + <a href="OptionHandler.html" target="classFrame">OptionHandler</a> + </li> + <li> + <a href="RendererSupport.html" target="classFrame">RendererSupport</a> + </li> + <li> + <a href="RepositorySelector.html" target="classFrame">RepositorySelector</a> + </li> + <li> + <a href="RootCategory.html" target="classFrame">RootCategory</a> + </li> + <li> + <a href="RootLogger.html" target="classFrame">RootLogger</a> + </li> + <li> + <a href="ThrowableInformation.html" target="classFrame">ThrowableInformation</a> + </li> + <li> + <a href="ThrowableRenderer.html" target="classFrame">ThrowableRenderer</a> + </li> + <li> + <a href="ThrowableRendererSupport.html" target="classFrame">ThrowableRendererSupport</a> + </li> + <li> + <a href="TriggeringEventEvaluator.html" target="classFrame">TriggeringEventEvaluator</a> + </li> + <li> + <a href="VectorWriter.html" target="classFrame">VectorWriter</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/package-summary.html new file mode 100644 index 00000000000..928d29b041d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/spi/package-summary.html @@ -0,0 +1,182 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.spi</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.spi</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="AppenderAttachable.html" target="classFrame">AppenderAttachable</a> + </td> + </tr> + <tr> + <td> + <a href="Configurator.html" target="classFrame">Configurator</a> + </td> + </tr> + <tr> + <td> + <a href="DefaultRepositorySelector.html" target="classFrame">DefaultRepositorySelector</a> + </td> + </tr> + <tr> + <td> + <a href="ErrorCode.html" target="classFrame">ErrorCode</a> + </td> + </tr> + <tr> + <td> + <a href="ErrorHandler.html" target="classFrame">ErrorHandler</a> + </td> + </tr> + <tr> + <td> + <a href="Filter.html" target="classFrame">Filter</a> + </td> + </tr> + <tr> + <td> + <a href="HierarchyEventListener.html" target="classFrame">HierarchyEventListener</a> + </td> + </tr> + <tr> + <td> + <a href="LocationInfo.html" target="classFrame">LocationInfo</a> + </td> + </tr> + <tr> + <td> + <a href="LoggerFactory.html" target="classFrame">LoggerFactory</a> + </td> + </tr> + <tr> + <td> + <a href="LoggerRepository.html" target="classFrame">LoggerRepository</a> + </td> + </tr> + <tr> + <td> + <a href="LoggingEvent.html" target="classFrame">LoggingEvent</a> + </td> + </tr> + <tr> + <td> + <a href="NOPLogger.html" target="classFrame">NOPLogger</a> + </td> + </tr> + <tr> + <td> + <a href="NOPLoggerRepository.html" target="classFrame">NOPLoggerRepository</a> + </td> + </tr> + <tr> + <td> + <a href="NullWriter.html" target="classFrame">NullWriter</a> + </td> + </tr> + <tr> + <td> + <a href="OptionHandler.html" target="classFrame">OptionHandler</a> + </td> + </tr> + <tr> + <td> + <a href="RendererSupport.html" target="classFrame">RendererSupport</a> + </td> + </tr> + <tr> + <td> + <a href="RepositorySelector.html" target="classFrame">RepositorySelector</a> + </td> + </tr> + <tr> + <td> + <a href="RootCategory.html" target="classFrame">RootCategory</a> + </td> + </tr> + <tr> + <td> + <a href="RootLogger.html" target="classFrame">RootLogger</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableInformation.html" target="classFrame">ThrowableInformation</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableRenderer.html" target="classFrame">ThrowableRenderer</a> + </td> + </tr> + <tr> + <td> + <a href="ThrowableRendererSupport.html" target="classFrame">ThrowableRendererSupport</a> + </td> + </tr> + <tr> + <td> + <a href="TriggeringEventEvaluator.html" target="classFrame">TriggeringEventEvaluator</a> + </td> + </tr> + <tr> + <td> + <a href="VectorWriter.html" target="classFrame">VectorWriter</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/DenyAllFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/DenyAllFilter.html new file mode 100644 index 00000000000..4e1308b2571 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/DenyAllFilter.html @@ -0,0 +1,86 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DenyAllFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/varia/DenyAllFilter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> This filter drops all logging events. </em> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> &lt;p&gt;You can add this filter to the end of a filter chain to</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> switch from the default "accept all unless instructed otherwise"</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> filtering behaviour to a "deny all unless instructed otherwise"</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> behaviour.</em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> @since 0.9.0 */</em> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/DenyAllFilter.html">DenyAllFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> { +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment">/**</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> Returns &lt;code&gt;null&lt;/code&gt; as there are no options.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> </em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> @deprecated We now use JavaBeans introspection to configure</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> components. Options strings are no longer needed.</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> */</em> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">public</strong> +<a name="45" href="#45">45</a> String[] getOptionStrings() { +<a name="46" href="#46">46</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> No options to set.</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> </em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> @deprecated Use the setter method for the option directly instead</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> of the generic &lt;code&gt;setOption&lt;/code&gt; method. </em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">public</strong> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">void</strong> setOption(String key, String value) { +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment">/**</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> Always returns the integer constant {@link Filter#DENY}</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> regardless of the {@link LoggingEvent} parameter.</em> +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> @param event The LoggingEvent to filter.</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> @return Always returns {@link Filter#DENY}.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">int</strong> decide(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">return</strong> Filter.DENY; +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/ExternallyRolledFileAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/ExternallyRolledFileAppender.html new file mode 100644 index 00000000000..8b6e52a086e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/ExternallyRolledFileAppender.html @@ -0,0 +1,203 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ExternallyRolledFileAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/varia/ExternallyRolledFileAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.io.DataInputStream; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> java.io.DataOutputStream; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.net.ServerSocket; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.RollingFileAppender; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> This appender listens on a socket on the port specified by the</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> &lt;b&gt;Port&lt;/b&gt; property for a "RollOver" message. When such a message</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> is received, the underlying log file is rolled over and an</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> acknowledgment message is sent back to the process initiating the</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> roll over.</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> &lt;p&gt;This method of triggering roll over has the advantage of being</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> operating system independent, fast and reliable.</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> &lt;p&gt;A simple application {@link Roller} is provided to initiate the</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> roll over.</em> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> &lt;p&gt;Note that the initiator is not authenticated. Anyone can trigger</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> a rollover. In production environments, it is recommended that you</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> add some form of protection to prevent undesired rollovers.</em> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> @since version 0.9.0 */</em> +<a name="50" href="#50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">ExternallyRolledFileAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/RollingFileAppender.html">RollingFileAppender</a> { +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">/**</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> The string constant sent to initiate a roll over. Current value of</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> this string constant is &lt;b&gt;RollOver&lt;/b&gt;.</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> */</em> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">public</strong> String ROLL_OVER = <span class="jxr_string">"RollOver"</span>; +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment">/**</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> The string constant sent to acknowledge a roll over. Current value of</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> this string constant is &lt;b&gt;OK&lt;/b&gt;.</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> */</em> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">public</strong> String OK = <span class="jxr_string">"OK"</span>; +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">int</strong> port = 0; +<a name="65" href="#65">65</a> <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">HUP</a> hup; +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment">/**</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> The default constructor does nothing but calls its super-class</em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> constructor. */</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">public</strong> +<a name="71" href="#71">71</a> <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">ExternallyRolledFileAppender</a>() { +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment">/**</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> The &lt;b&gt;Port&lt;/b&gt; [roperty is used for setting the port for</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> listening to external roll over messages.</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> */</em> +<a name="78" href="#78">78</a> <strong class="jxr_keyword">public</strong> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">void</strong> setPort(<strong class="jxr_keyword">int</strong> port) { +<a name="80" href="#80">80</a> <strong class="jxr_keyword">this</strong>.port = port; +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment">/**</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> Returns value of the &lt;b&gt;Port&lt;/b&gt; option.</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> */</em> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">public</strong> +<a name="87" href="#87">87</a> <strong class="jxr_keyword">int</strong> getPort() { +<a name="88" href="#88">88</a> <strong class="jxr_keyword">return</strong> port; +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em class="jxr_javadoccomment">/**</em> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment"> Start listening on the port specified by a preceding call to</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> {@link #setPort}. */</em> +<a name="94" href="#94">94</a> <strong class="jxr_keyword">public</strong> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">super</strong>.activateOptions(); +<a name="97" href="#97">97</a> <strong class="jxr_keyword">if</strong>(port != 0) { +<a name="98" href="#98">98</a> <strong class="jxr_keyword">if</strong>(hup != <strong class="jxr_keyword">null</strong>) { +<a name="99" href="#99">99</a> hup.interrupt(); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> hup = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">HUP</a>(<strong class="jxr_keyword">this</strong>, port); +<a name="102" href="#102">102</a> hup.setDaemon(<strong class="jxr_keyword">true</strong>); +<a name="103" href="#103">103</a> hup.start(); +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">HUP</a> <strong class="jxr_keyword">extends</strong> Thread { +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">int</strong> port; +<a name="112" href="#112">112</a> <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">ExternallyRolledFileAppender</a> er; +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">HUP</a>(<a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">ExternallyRolledFileAppender</a> er, <strong class="jxr_keyword">int</strong> port) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">this</strong>.er = er; +<a name="116" href="#116">116</a> <strong class="jxr_keyword">this</strong>.port = port; +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <strong class="jxr_keyword">public</strong> +<a name="120" href="#120">120</a> <strong class="jxr_keyword">void</strong> run() { +<a name="121" href="#121">121</a> <strong class="jxr_keyword">while</strong>(!isInterrupted()) { +<a name="122" href="#122">122</a> <strong class="jxr_keyword">try</strong> { +<a name="123" href="#123">123</a> ServerSocket serverSocket = <strong class="jxr_keyword">new</strong> ServerSocket(port); +<a name="124" href="#124">124</a> <strong class="jxr_keyword">while</strong>(<strong class="jxr_keyword">true</strong>) { +<a name="125" href="#125">125</a> Socket socket = serverSocket.accept(); +<a name="126" href="#126">126</a> LogLog.debug(<span class="jxr_string">"Connected to client at "</span> + socket.getInetAddress()); +<a name="127" href="#127">127</a> <strong class="jxr_keyword">new</strong> Thread(<strong class="jxr_keyword">new</strong> HUPNode(socket, er), <span class="jxr_string">"ExternallyRolledFileAppender-HUP"</span>).start(); +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException e) { +<a name="130" href="#130">130</a> Thread.currentThread().interrupt(); +<a name="131" href="#131">131</a> e.printStackTrace(); +<a name="132" href="#132">132</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="133" href="#133">133</a> e.printStackTrace(); +<a name="134" href="#134">134</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="135" href="#135">135</a> e.printStackTrace(); +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">HUPNode</a> implements Runnable { +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> Socket socket; +<a name="144" href="#144">144</a> DataInputStream dis; +<a name="145" href="#145">145</a> DataOutputStream dos; +<a name="146" href="#146">146</a> <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">ExternallyRolledFileAppender</a> er; +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">public</strong> +<a name="149" href="#149">149</a> <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">HUPNode</a>(Socket socket, <a href="../../../../org/apache/log4j/varia/ExternallyRolledFileAppender.html">ExternallyRolledFileAppender</a> er) { +<a name="150" href="#150">150</a> <strong class="jxr_keyword">this</strong>.socket = socket; +<a name="151" href="#151">151</a> <strong class="jxr_keyword">this</strong>.er = er; +<a name="152" href="#152">152</a> <strong class="jxr_keyword">try</strong> { +<a name="153" href="#153">153</a> dis = <strong class="jxr_keyword">new</strong> DataInputStream(socket.getInputStream()); +<a name="154" href="#154">154</a> dos = <strong class="jxr_keyword">new</strong> DataOutputStream(socket.getOutputStream()); +<a name="155" href="#155">155</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException e) { +<a name="156" href="#156">156</a> Thread.currentThread().interrupt(); +<a name="157" href="#157">157</a> e.printStackTrace(); +<a name="158" href="#158">158</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="159" href="#159">159</a> e.printStackTrace(); +<a name="160" href="#160">160</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="161" href="#161">161</a> e.printStackTrace(); +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() { +<a name="166" href="#166">166</a> <strong class="jxr_keyword">try</strong> { +<a name="167" href="#167">167</a> String line = dis.readUTF(); +<a name="168" href="#168">168</a> LogLog.debug(<span class="jxr_string">"Got external roll over signal."</span>); +<a name="169" href="#169">169</a> <strong class="jxr_keyword">if</strong>(ExternallyRolledFileAppender.ROLL_OVER.equals(line)) { +<a name="170" href="#170">170</a> <strong class="jxr_keyword">synchronized</strong>(er) { +<a name="171" href="#171">171</a> er.rollOver(); +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> dos.writeUTF(ExternallyRolledFileAppender.OK); +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> <strong class="jxr_keyword">else</strong> { +<a name="176" href="#176">176</a> dos.writeUTF(<span class="jxr_string">"Expecting [RollOver] string."</span>); +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> dos.close(); +<a name="179" href="#179">179</a> } <strong class="jxr_keyword">catch</strong>(InterruptedIOException e) { +<a name="180" href="#180">180</a> Thread.currentThread().interrupt(); +<a name="181" href="#181">181</a> LogLog.error(<span class="jxr_string">"Unexpected exception. Exiting HUPNode."</span>, e); +<a name="182" href="#182">182</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="183" href="#183">183</a> LogLog.error(<span class="jxr_string">"Unexpected exception. Exiting HUPNode."</span>, e); +<a name="184" href="#184">184</a> } <strong class="jxr_keyword">catch</strong>(RuntimeException e) { +<a name="185" href="#185">185</a> LogLog.error(<span class="jxr_string">"Unexpected exception. Exiting HUPNode."</span>, e); +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/FallbackErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/FallbackErrorHandler.html new file mode 100644 index 00000000000..cc2218c16db --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/FallbackErrorHandler.html @@ -0,0 +1,152 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>FallbackErrorHandler xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/varia/FallbackErrorHandler.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.util.Vector; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> *</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * The &lt;code&gt;FallbackErrorHandler&lt;/code&gt; implements the ErrorHandler</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * interface such that a secondary appender may be specified. This</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * secondary appender takes over if the primary appender fails for</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * whatever reason.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> *</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * &lt;p&gt;The error message is printed on &lt;code&gt;System.err&lt;/code&gt;, and</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * logged in the new secondary appender.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> *</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;c&amp;uuml;</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/FallbackErrorHandler.html">FallbackErrorHandler</a> implements <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> { +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> backup; +<a name="44" href="#44">44</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> primary; +<a name="45" href="#45">45</a> Vector loggers; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/varia/FallbackErrorHandler.html">FallbackErrorHandler</a>() { +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> &lt;em&gt;Adds&lt;/em&gt; the logger passed as parameter to the list of</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> loggers that we need to search for in case of appender failure.</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> */</em> +<a name="55" href="#55">55</a> <strong class="jxr_keyword">public</strong> +<a name="56" href="#56">56</a> <strong class="jxr_keyword">void</strong> setLogger(<a href="../../../../org/apache/log4j/Logger.html">Logger</a> logger) { +<a name="57" href="#57">57</a> LogLog.debug(<span class="jxr_string">"FB: Adding logger ["</span> + logger.getName() + <span class="jxr_string">"]."</span>); +<a name="58" href="#58">58</a> <strong class="jxr_keyword">if</strong>(loggers == <strong class="jxr_keyword">null</strong>) { +<a name="59" href="#59">59</a> loggers = <strong class="jxr_keyword">new</strong> Vector(); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> loggers.addElement(logger); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment">/**</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> No options to activate.</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> */</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> +<a name="69" href="#69">69</a> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> Prints the message and the stack trace of the exception on</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> &lt;code&gt;System.err&lt;/code&gt;. */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> +<a name="77" href="#77">77</a> <strong class="jxr_keyword">void</strong> error(String message, Exception e, <strong class="jxr_keyword">int</strong> errorCode) { +<a name="78" href="#78">78</a> error(message, e, errorCode, <strong class="jxr_keyword">null</strong>); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment">/**</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> Prints the message and the stack trace of the exception on</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> &lt;code&gt;System.err&lt;/code&gt;.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> */</em> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">void</strong> error(String message, Exception e, <strong class="jxr_keyword">int</strong> errorCode, <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="87" href="#87">87</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedIOException) { +<a name="88" href="#88">88</a> Thread.currentThread().interrupt(); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> LogLog.debug(<span class="jxr_string">"FB: The following error reported: "</span> + message, e); +<a name="91" href="#91">91</a> LogLog.debug(<span class="jxr_string">"FB: INITIATING FALLBACK PROCEDURE."</span>); +<a name="92" href="#92">92</a> <strong class="jxr_keyword">if</strong> (loggers != <strong class="jxr_keyword">null</strong>) { +<a name="93" href="#93">93</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; loggers.size(); i++) { +<a name="94" href="#94">94</a> Logger l = (Logger) loggers.elementAt(i); +<a name="95" href="#95">95</a> LogLog.debug(<span class="jxr_string">"FB: Searching for ["</span>+primary.getName()+<span class="jxr_string">"] in logger ["</span> +<a name="96" href="#96">96</a> +l.getName() + <span class="jxr_string">"]."</span>); +<a name="97" href="#97">97</a> LogLog.debug(<span class="jxr_string">"FB: Replacing ["</span>+primary.getName()+<span class="jxr_string">"] by ["</span> +<a name="98" href="#98">98</a> + backup.getName() + <span class="jxr_string">"] in logger ["</span>+ l.getName() +<span class="jxr_string">"]."</span>); +<a name="99" href="#99">99</a> l.removeAppender(primary); +<a name="100" href="#100">100</a> LogLog.debug(<span class="jxr_string">"FB: Adding appender ["</span>+backup.getName()+<span class="jxr_string">"] to logger "</span> +<a name="101" href="#101">101</a> + l.getName()); +<a name="102" href="#102">102</a> l.addAppender(backup); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">/**</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> Print a the error message passed as parameter on</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> &lt;code&gt;System.err&lt;/code&gt;. </em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> */</em> +<a name="112" href="#112">112</a> <strong class="jxr_keyword">public</strong> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">void</strong> error(String message) { +<a name="114" href="#114">114</a> <em class="jxr_comment">//if(firstTime) {</em> +<a name="115" href="#115">115</a> <em class="jxr_comment">//LogLog.error(message);</em> +<a name="116" href="#116">116</a> <em class="jxr_comment">//firstTime = false;</em> +<a name="117" href="#117">117</a> <em class="jxr_comment">//}</em> +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">/**</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> The appender to which this error handler is attached.</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> */</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">public</strong> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">void</strong> setAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> primary) { +<a name="125" href="#125">125</a> LogLog.debug(<span class="jxr_string">"FB: Setting primary appender to ["</span> + primary.getName() + <span class="jxr_string">"]."</span>); +<a name="126" href="#126">126</a> <strong class="jxr_keyword">this</strong>.primary = primary; +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">/**</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> Set the backup appender.</em> +<a name="131" href="#131">131</a> <em class="jxr_javadoccomment"> */</em> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">public</strong> +<a name="133" href="#133">133</a> <strong class="jxr_keyword">void</strong> setBackupAppender(<a href="../../../../org/apache/log4j/Appender.html">Appender</a> backup) { +<a name="134" href="#134">134</a> LogLog.debug(<span class="jxr_string">"FB: Setting backup appender to ["</span> + backup.getName() + <span class="jxr_string">"]."</span>); +<a name="135" href="#135">135</a> <strong class="jxr_keyword">this</strong>.backup = backup; +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/LevelMatchFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/LevelMatchFilter.html new file mode 100644 index 00000000000..4562e3fff8b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/LevelMatchFilter.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LevelMatchFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/varia/LevelMatchFilter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment">/**</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> This is a very simple filter based on level matching.</em> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> &lt;p&gt;The filter admits two options &lt;b&gt;LevelToMatch&lt;/b&gt; and</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> &lt;b&gt;AcceptOnMatch&lt;/b&gt;. If there is an exact match between the value</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> of the &lt;b&gt;LevelToMatch&lt;/b&gt; option and the level of the {@link</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> LoggingEvent}, then the {@link #decide} method returns {@link</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> Filter#ACCEPT} in case the &lt;b&gt;AcceptOnMatch&lt;/b&gt; option value is set</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> to &lt;code&gt;true&lt;/code&gt;, if it is &lt;code&gt;false&lt;/code&gt; then {@link</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> Filter#DENY} is returned. If there is no match, {@link</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> Filter#NEUTRAL} is returned.</em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> @since 1.2 */</em> +<a name="40" href="#40">40</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/LevelMatchFilter.html">LevelMatchFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> { +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> Do we return ACCEPT when a match occurs. Default is</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> &lt;code&gt;true&lt;/code&gt;. */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">boolean</strong> acceptOnMatch = <strong class="jxr_keyword">true</strong>; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> */</em> +<a name="49" href="#49">49</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> levelToMatch; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">void</strong> setLevelToMatch(String level) { +<a name="54" href="#54">54</a> levelToMatch = OptionConverter.toLevel(level, <strong class="jxr_keyword">null</strong>); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> +<a name="58" href="#58">58</a> String getLevelToMatch() { +<a name="59" href="#59">59</a> <strong class="jxr_keyword">return</strong> levelToMatch == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">null</strong> : levelToMatch.toString(); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong class="jxr_keyword">public</strong> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">void</strong> setAcceptOnMatch(<strong class="jxr_keyword">boolean</strong> acceptOnMatch) { +<a name="64" href="#64">64</a> <strong class="jxr_keyword">this</strong>.acceptOnMatch = acceptOnMatch; +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">boolean</strong> getAcceptOnMatch() { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">return</strong> acceptOnMatch; +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> Return the decision of this filter.</em> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> Returns {@link Filter#NEUTRAL} if the &lt;b&gt;LevelToMatch&lt;/b&gt; option</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment"> is not set or if there is not match. Otherwise, if there is a</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> match, then the returned decision is {@link Filter#ACCEPT} if the</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> &lt;b&gt;AcceptOnMatch&lt;/b&gt; property is set to &lt;code&gt;true&lt;/code&gt;. The</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> returned decision is {@link Filter#DENY} if the</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> &lt;b&gt;AcceptOnMatch&lt;/b&gt; property is set to false.</em> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> */</em> +<a name="84" href="#84">84</a> <strong class="jxr_keyword">public</strong> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">int</strong> decide(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="86" href="#86">86</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.levelToMatch == <strong class="jxr_keyword">null</strong>) { +<a name="87" href="#87">87</a> <strong class="jxr_keyword">return</strong> Filter.NEUTRAL; +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">boolean</strong> matchOccured = false; +<a name="91" href="#91">91</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.levelToMatch.equals(event.getLevel())) { +<a name="92" href="#92">92</a> matchOccured = <strong class="jxr_keyword">true</strong>; +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">if</strong>(matchOccured) { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.acceptOnMatch) +<a name="97" href="#97">97</a> <strong class="jxr_keyword">return</strong> Filter.ACCEPT; +<a name="98" href="#98">98</a> <strong class="jxr_keyword">else</strong> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">return</strong> Filter.DENY; +<a name="100" href="#100">100</a> } <strong class="jxr_keyword">else</strong> { +<a name="101" href="#101">101</a> <strong class="jxr_keyword">return</strong> Filter.NEUTRAL; +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/LevelRangeFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/LevelRangeFilter.html new file mode 100644 index 00000000000..32186e2e7f2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/LevelRangeFilter.html @@ -0,0 +1,158 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>LevelRangeFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/varia/LevelRangeFilter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> This is a very simple filter based on level matching, which can be</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> used to reject messages with priorities outside a certain range.</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> </em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> &lt;p&gt;The filter admits three options &lt;b&gt;LevelMin&lt;/b&gt;, &lt;b&gt;LevelMax&lt;/b&gt;</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> and &lt;b&gt;AcceptOnMatch&lt;/b&gt;.</em> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> &lt;p&gt;If the level of the {@link LoggingEvent} is not between Min and Max</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> (inclusive), then {@link Filter#DENY} is returned.</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> </em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> &lt;p&gt; If the Logging event level is within the specified range, then if</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> &lt;b&gt;AcceptOnMatch&lt;/b&gt; is true, {@link Filter#ACCEPT} is returned, and if</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> &lt;b&gt;AcceptOnMatch&lt;/b&gt; is false, {@link Filter#NEUTRAL} is returned.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> </em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> &lt;p&gt;If &lt;code&gt;LevelMin&lt;/code&gt;w is not defined, then there is no</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> minimum acceptable level (ie a level is never rejected for</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> being too "low"/unimportant). If &lt;code&gt;LevelMax&lt;/code&gt; is not</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> defined, then there is no maximum acceptable level (ie a</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> level is never rejected for beeing too "high"/important).</em> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> &lt;p&gt;Refer to the {@link</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> org.apache.log4j.AppenderSkeleton#setThreshold setThreshold} method</em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> available to &lt;code&gt;all&lt;/code&gt; appenders extending {@link</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> org.apache.log4j.AppenderSkeleton} for a more convenient way to</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> filter out events by level.</em> +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> @author Simon Kitching</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> @author based on code by Ceki G&amp;uuml;lc&amp;uuml; </em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment">*/</em> +<a name="53" href="#53">53</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/LevelRangeFilter.html">LevelRangeFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> { +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment">/**</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> Do we return ACCEPT when a match occurs. Default is</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> &lt;code&gt;false&lt;/code&gt;, so that later filters get run by default */</em> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">boolean</strong> acceptOnMatch = false; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> levelMin; +<a name="61" href="#61">61</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> levelMax; +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment">/**</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> Return the decision of this filter.</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> */</em> +<a name="67" href="#67">67</a> <strong class="jxr_keyword">public</strong> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">int</strong> decide(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="69" href="#69">69</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.levelMin != <strong class="jxr_keyword">null</strong>) { +<a name="70" href="#70">70</a> <strong class="jxr_keyword">if</strong> (event.getLevel().isGreaterOrEqual(levelMin) == false) { +<a name="71" href="#71">71</a> <em class="jxr_comment">// level of event is less than minimum</em> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">return</strong> Filter.DENY; +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">this</strong>.levelMax != <strong class="jxr_keyword">null</strong>) { +<a name="77" href="#77">77</a> <strong class="jxr_keyword">if</strong> (event.getLevel().toInt() &gt; levelMax.toInt()) { +<a name="78" href="#78">78</a> <em class="jxr_comment">// level of event is greater than maximum</em> +<a name="79" href="#79">79</a> <em class="jxr_comment">// Alas, there is no Level.isGreater method. and using</em> +<a name="80" href="#80">80</a> <em class="jxr_comment">// a combo of isGreaterOrEqual &amp;&amp; !Equal seems worse than</em> +<a name="81" href="#81">81</a> <em class="jxr_comment">// checking the int values of the level objects..</em> +<a name="82" href="#82">82</a> <strong class="jxr_keyword">return</strong> Filter.DENY; +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <strong class="jxr_keyword">if</strong> (acceptOnMatch) { +<a name="87" href="#87">87</a> <em class="jxr_comment">// this filter set up to bypass later filters and always return</em> +<a name="88" href="#88">88</a> <em class="jxr_comment">// accept if level in range</em> +<a name="89" href="#89">89</a> <strong class="jxr_keyword">return</strong> Filter.ACCEPT; +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> <strong class="jxr_keyword">else</strong> { +<a name="92" href="#92">92</a> <em class="jxr_comment">// event is ok for this filter; allow later filters to have a look..</em> +<a name="93" href="#93">93</a> <strong class="jxr_keyword">return</strong> Filter.NEUTRAL; +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em class="jxr_javadoccomment">/**</em> +<a name="98" href="#98">98</a> <em class="jxr_javadoccomment"> Get the value of the &lt;code&gt;LevelMax&lt;/code&gt; option. */</em> +<a name="99" href="#99">99</a> <strong class="jxr_keyword">public</strong> +<a name="100" href="#100">100</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> getLevelMax() { +<a name="101" href="#101">101</a> <strong class="jxr_keyword">return</strong> levelMax; +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">/**</em> +<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> Get the value of the &lt;code&gt;LevelMin&lt;/code&gt; option. */</em> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">public</strong> +<a name="108" href="#108">108</a> <a href="../../../../org/apache/log4j/Level.html">Level</a> getLevelMin() { +<a name="109" href="#109">109</a> <strong class="jxr_keyword">return</strong> levelMin; +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">/**</em> +<a name="113" href="#113">113</a> <em class="jxr_javadoccomment"> Get the value of the &lt;code&gt;AcceptOnMatch&lt;/code&gt; option.</em> +<a name="114" href="#114">114</a> <em class="jxr_javadoccomment"> */</em> +<a name="115" href="#115">115</a> <strong class="jxr_keyword">public</strong> +<a name="116" href="#116">116</a> <strong class="jxr_keyword">boolean</strong> getAcceptOnMatch() { +<a name="117" href="#117">117</a> <strong class="jxr_keyword">return</strong> acceptOnMatch; +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">/**</em> +<a name="121" href="#121">121</a> <em class="jxr_javadoccomment"> Set the &lt;code&gt;LevelMax&lt;/code&gt; option.</em> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment"> */</em> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">public</strong> +<a name="124" href="#124">124</a> <strong class="jxr_keyword">void</strong> setLevelMax(<a href="../../../../org/apache/log4j/Level.html">Level</a> levelMax) { +<a name="125" href="#125">125</a> <strong class="jxr_keyword">this</strong>.levelMax = levelMax; +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">/**</em> +<a name="129" href="#129">129</a> <em class="jxr_javadoccomment"> Set the &lt;code&gt;LevelMin&lt;/code&gt; option.</em> +<a name="130" href="#130">130</a> <em class="jxr_javadoccomment"> */</em> +<a name="131" href="#131">131</a> <strong class="jxr_keyword">public</strong> +<a name="132" href="#132">132</a> <strong class="jxr_keyword">void</strong> setLevelMin(<a href="../../../../org/apache/log4j/Level.html">Level</a> levelMin) { +<a name="133" href="#133">133</a> <strong class="jxr_keyword">this</strong>.levelMin = levelMin; +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">/**</em> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment"> Set the &lt;code&gt;AcceptOnMatch&lt;/code&gt; option.</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> */</em> +<a name="139" href="#139">139</a> <strong class="jxr_keyword">public</strong> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">void</strong> setAcceptOnMatch(<strong class="jxr_keyword">boolean</strong> acceptOnMatch) { +<a name="141" href="#141">141</a> <strong class="jxr_keyword">this</strong>.acceptOnMatch = acceptOnMatch; +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/NullAppender.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/NullAppender.html new file mode 100644 index 00000000000..dec32599af1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/NullAppender.html @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>NullAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/varia/NullAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment">/**</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * A NullAppender merely exists, it never outputs a message to any</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * device. </em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uml;</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> */</em> +<a name="28" href="#28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/NullAppender.html">NullAppender</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a> { +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/varia/NullAppender.html">NullAppender</a> instance = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/varia/NullAppender.html">NullAppender</a>(); +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/varia/NullAppender.html">NullAppender</a>() { +<a name="33" href="#33">33</a> } +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * There are no options to acticate.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment">/**</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> * Whenever you can, use this method to retreive an instance instead</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * of instantiating a new one with &lt;code&gt;new&lt;/code&gt;.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * @deprecated Use getNullAppender instead. getInstance should have been static.</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * */</em> +<a name="46" href="#46">46</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/varia/NullAppender.html">NullAppender</a> getInstance() { +<a name="47" href="#47">47</a> <strong class="jxr_keyword">return</strong> instance; +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment">/**</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * Whenever you can, use this method to retreive an instance instead</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * of instantiating a new one with &lt;code&gt;new&lt;/code&gt;.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * */</em> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/varia/NullAppender.html">NullAppender</a> getNullAppender() { +<a name="55" href="#55">55</a> <strong class="jxr_keyword">return</strong> instance; +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() { +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment">/**</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * Does not do anything. </em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * */</em> +<a name="64" href="#64">64</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> doAppend(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment">/**</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * Does not do anything. </em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * */</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> append(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment">/**</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> * NullAppenders do not need a layout. </em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * */</em> +<a name="76" href="#76">76</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() { +<a name="77" href="#77">77</a> <strong class="jxr_keyword">return</strong> false; +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/ReloadingPropertyConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/ReloadingPropertyConfigurator.html new file mode 100644 index 00000000000..f9d8b5fc917 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/ReloadingPropertyConfigurator.html @@ -0,0 +1,52 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>ReloadingPropertyConfigurator xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/varia/ReloadingPropertyConfigurator.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.PropertyConfigurator; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Configurator; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html">ReloadingPropertyConfigurator</a> implements <a href="../../../../org/apache/log4j/spi/Configurator.html">Configurator</a> { +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <a href="../../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a> delegate = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a>(); +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/varia/ReloadingPropertyConfigurator.html">ReloadingPropertyConfigurator</a>() { +<a name="32" href="#32">32</a> } +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> +<a name="35" href="#35">35</a> <strong class="jxr_keyword">void</strong> doConfigure(URL url, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) { +<a name="36" href="#36">36</a> } +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/Roller.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/Roller.html new file mode 100644 index 00000000000..b354bd5a519 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/Roller.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Roller xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/varia/Roller.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.BasicConfigurator; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.DataInputStream; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.DataOutputStream; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> java.net.Socket; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment">/**</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> A simple application to send roll over messages to a potentially</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> remote {@link ExternallyRolledFileAppender}. </em> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> &lt;p&gt;It takes two arguments, the &lt;code&gt;host_name&lt;/code&gt; and</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> &lt;code&gt;port_number&lt;/code&gt; where the</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> &lt;code&gt;ExternallyRolledFileAppender&lt;/code&gt; is listening.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> </em> +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> @since version 0.9.0 */</em> +<a name="39" href="#39">39</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/Roller.html">Roller</a> { +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> cat = Logger.getLogger(Roller.<strong class="jxr_keyword">class</strong>); +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <strong class="jxr_keyword">static</strong> String host; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> port; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_comment">// Static class.</em> +<a name="48" href="#48">48</a> <a href="../../../../org/apache/log4j/varia/Roller.html">Roller</a>() { +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment">/**</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> Send a "RollOver" message to</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> &lt;code&gt;ExternallyRolledFileAppender&lt;/code&gt; on &lt;code&gt;host&lt;/code&gt;</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> and &lt;code&gt;port&lt;/code&gt;.</em> +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> */</em> +<a name="57" href="#57">57</a> <strong class="jxr_keyword">public</strong> +<a name="58" href="#58">58</a> <strong class="jxr_keyword">static</strong> +<a name="59" href="#59">59</a> <strong class="jxr_keyword">void</strong> main(String argv[]) { +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> BasicConfigurator.configure(); +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <strong class="jxr_keyword">if</strong>(argv.length == 2) +<a name="64" href="#64">64</a> init(argv[0], argv[1]); +<a name="65" href="#65">65</a> <strong class="jxr_keyword">else</strong> +<a name="66" href="#66">66</a> usage(<span class="jxr_string">"Wrong number of arguments."</span>); +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> roll(); +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">static</strong> +<a name="72" href="#72">72</a> <strong class="jxr_keyword">void</strong> usage(String msg) { +<a name="73" href="#73">73</a> System.err.println(msg); +<a name="74" href="#74">74</a> System.err.println( <span class="jxr_string">"Usage: java "</span> + Roller.<strong class="jxr_keyword">class</strong>.getName() + +<a name="75" href="#75">75</a> <span class="jxr_string">"host_name port_number"</span>); +<a name="76" href="#76">76</a> System.exit(1); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong class="jxr_keyword">static</strong> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">void</strong> init(String hostArg, String portArg) { +<a name="81" href="#81">81</a> host = hostArg; +<a name="82" href="#82">82</a> <strong class="jxr_keyword">try</strong> { +<a name="83" href="#83">83</a> port = Integer.parseInt(portArg); +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> <strong class="jxr_keyword">catch</strong>(java.lang.NumberFormatException e) { +<a name="86" href="#86">86</a> usage(<span class="jxr_string">"Second argument "</span>+portArg+<span class="jxr_string">" is not a valid integer."</span>); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">static</strong> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">void</strong> roll() { +<a name="92" href="#92">92</a> <strong class="jxr_keyword">try</strong> { +<a name="93" href="#93">93</a> Socket socket = <strong class="jxr_keyword">new</strong> Socket(host, port); +<a name="94" href="#94">94</a> DataOutputStream dos = <strong class="jxr_keyword">new</strong> DataOutputStream(socket.getOutputStream()); +<a name="95" href="#95">95</a> DataInputStream dis = <strong class="jxr_keyword">new</strong> DataInputStream(socket.getInputStream()); +<a name="96" href="#96">96</a> dos.writeUTF(ExternallyRolledFileAppender.ROLL_OVER); +<a name="97" href="#97">97</a> String rc = dis.readUTF(); +<a name="98" href="#98">98</a> <strong class="jxr_keyword">if</strong>(ExternallyRolledFileAppender.OK.equals(rc)) { +<a name="99" href="#99">99</a> cat.info(<span class="jxr_string">"Roll over signal acknowledged by remote appender."</span>); +<a name="100" href="#100">100</a> } <strong class="jxr_keyword">else</strong> { +<a name="101" href="#101">101</a> cat.warn(<span class="jxr_string">"Unexpected return code "</span>+rc+<span class="jxr_string">" from remote entity."</span>); +<a name="102" href="#102">102</a> System.exit(2); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> } <strong class="jxr_keyword">catch</strong>(IOException e) { +<a name="105" href="#105">105</a> cat.error(<span class="jxr_string">"Could not send roll signal on host "</span>+host+<span class="jxr_string">" port "</span>+port+<span class="jxr_string">" ."</span>, +<a name="106" href="#106">106</a> e); +<a name="107" href="#107">107</a> System.exit(2); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> System.exit(0); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/StringMatchFilter.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/StringMatchFilter.html new file mode 100644 index 00000000000..bdf0da5090d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/StringMatchFilter.html @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>StringMatchFilter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/varia/StringMatchFilter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.varia; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment">/**</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * This is a very simple filter based on string matching.</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> *</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * &lt;p&gt;The filter admits two options &lt;b&gt;StringToMatch&lt;/b&gt; and</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * &lt;b&gt;AcceptOnMatch&lt;/b&gt;. If there is a match between the value of the</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * StringToMatch option and the message of the {@link org.apache.log4j.spi.LoggingEvent},</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * then the {@link #decide(LoggingEvent)} method returns {@link org.apache.log4j.spi.Filter#ACCEPT} if</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * the &lt;b&gt;AcceptOnMatch&lt;/b&gt; option value is true, if it is false then</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * {@link org.apache.log4j.spi.Filter#DENY} is returned. If there is no match, {@link</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * org.apache.log4j.spi.Filter#NEUTRAL} is returned.</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> *</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * @since 0.9.0 </em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> */</em> +<a name="38" href="#38">38</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/varia/StringMatchFilter.html">StringMatchFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> { +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment">/**</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> @deprecated Options are now handled using the JavaBeans paradigm.</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> This constant is not longer needed and will be removed in the</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> &lt;em&gt;near&lt;/em&gt; term.</em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> */</em> +<a name="45" href="#45">45</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String STRING_TO_MATCH_OPTION = <span class="jxr_string">"StringToMatch"</span>; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment">/**</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> @deprecated Options are now handled using the JavaBeans paradigm.</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> This constant is not longer needed and will be removed in the</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> &lt;em&gt;near&lt;/em&gt; term.</em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> */</em> +<a name="52" href="#52">52</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ACCEPT_ON_MATCH_OPTION = <span class="jxr_string">"AcceptOnMatch"</span>; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <strong class="jxr_keyword">boolean</strong> acceptOnMatch = <strong class="jxr_keyword">true</strong>; +<a name="55" href="#55">55</a> String stringToMatch; +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment">/**</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> @deprecated We now use JavaBeans introspection to configure</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> components. Options strings are no longer needed.</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> */</em> +<a name="61" href="#61">61</a> <strong class="jxr_keyword">public</strong> +<a name="62" href="#62">62</a> String[] getOptionStrings() { +<a name="63" href="#63">63</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> String[] {STRING_TO_MATCH_OPTION, ACCEPT_ON_MATCH_OPTION}; +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> @deprecated Use the setter method for the option directly instead</em> +<a name="68" href="#68">68</a> <em class="jxr_javadoccomment"> of the generic &lt;code&gt;setOption&lt;/code&gt; method. </em> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> */</em> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">public</strong> +<a name="71" href="#71">71</a> <strong class="jxr_keyword">void</strong> setOption(String key, String value) { +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">if</strong>(key.equalsIgnoreCase(STRING_TO_MATCH_OPTION)) { +<a name="74" href="#74">74</a> stringToMatch = value; +<a name="75" href="#75">75</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (key.equalsIgnoreCase(ACCEPT_ON_MATCH_OPTION)) { +<a name="76" href="#76">76</a> acceptOnMatch = OptionConverter.toBoolean(value, acceptOnMatch); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong class="jxr_keyword">public</strong> +<a name="81" href="#81">81</a> <strong class="jxr_keyword">void</strong> setStringToMatch(String s) { +<a name="82" href="#82">82</a> stringToMatch = s; +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong class="jxr_keyword">public</strong> +<a name="86" href="#86">86</a> String getStringToMatch() { +<a name="87" href="#87">87</a> <strong class="jxr_keyword">return</strong> stringToMatch; +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">public</strong> +<a name="91" href="#91">91</a> <strong class="jxr_keyword">void</strong> setAcceptOnMatch(<strong class="jxr_keyword">boolean</strong> acceptOnMatch) { +<a name="92" href="#92">92</a> <strong class="jxr_keyword">this</strong>.acceptOnMatch = acceptOnMatch; +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">public</strong> +<a name="96" href="#96">96</a> <strong class="jxr_keyword">boolean</strong> getAcceptOnMatch() { +<a name="97" href="#97">97</a> <strong class="jxr_keyword">return</strong> acceptOnMatch; +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">/**</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> Returns {@link Filter#NEUTRAL} is there is no string match.</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> */</em> +<a name="103" href="#103">103</a> <strong class="jxr_keyword">public</strong> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">int</strong> decide(<a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="105" href="#105">105</a> String msg = event.getRenderedMessage(); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <strong class="jxr_keyword">if</strong>(msg == <strong class="jxr_keyword">null</strong> || stringToMatch == <strong class="jxr_keyword">null</strong>) +<a name="108" href="#108">108</a> <strong class="jxr_keyword">return</strong> Filter.NEUTRAL; +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <strong class="jxr_keyword">if</strong>( msg.indexOf(stringToMatch) == -1 ) { +<a name="112" href="#112">112</a> <strong class="jxr_keyword">return</strong> Filter.NEUTRAL; +<a name="113" href="#113">113</a> } <strong class="jxr_keyword">else</strong> { <em class="jxr_comment">// we've got a match</em> +<a name="114" href="#114">114</a> <strong class="jxr_keyword">if</strong>(acceptOnMatch) { +<a name="115" href="#115">115</a> <strong class="jxr_keyword">return</strong> Filter.ACCEPT; +<a name="116" href="#116">116</a> } <strong class="jxr_keyword">else</strong> { +<a name="117" href="#117">117</a> <strong class="jxr_keyword">return</strong> Filter.DENY; +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/package-frame.html new file mode 100644 index 00000000000..4b594d27851 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/package-frame.html @@ -0,0 +1,54 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.varia</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.varia</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="DenyAllFilter.html" target="classFrame">DenyAllFilter</a> + </li> + <li> + <a href="ExternallyRolledFileAppender.html" target="classFrame">ExternallyRolledFileAppender</a> + </li> + <li> + <a href="FallbackErrorHandler.html" target="classFrame">FallbackErrorHandler</a> + </li> + <li> + <a href="ExternallyRolledFileAppender.html" target="classFrame">HUP</a> + </li> + <li> + <a href="ExternallyRolledFileAppender.html" target="classFrame">HUPNode</a> + </li> + <li> + <a href="LevelMatchFilter.html" target="classFrame">LevelMatchFilter</a> + </li> + <li> + <a href="LevelRangeFilter.html" target="classFrame">LevelRangeFilter</a> + </li> + <li> + <a href="NullAppender.html" target="classFrame">NullAppender</a> + </li> + <li> + <a href="ReloadingPropertyConfigurator.html" target="classFrame">ReloadingPropertyConfigurator</a> + </li> + <li> + <a href="Roller.html" target="classFrame">Roller</a> + </li> + <li> + <a href="StringMatchFilter.html" target="classFrame">StringMatchFilter</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/package-summary.html new file mode 100644 index 00000000000..6e9992e63f8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/varia/package-summary.html @@ -0,0 +1,117 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.varia</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.varia</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="DenyAllFilter.html" target="classFrame">DenyAllFilter</a> + </td> + </tr> + <tr> + <td> + <a href="ExternallyRolledFileAppender.html" target="classFrame">ExternallyRolledFileAppender</a> + </td> + </tr> + <tr> + <td> + <a href="FallbackErrorHandler.html" target="classFrame">FallbackErrorHandler</a> + </td> + </tr> + <tr> + <td> + <a href="ExternallyRolledFileAppender.html" target="classFrame">HUP</a> + </td> + </tr> + <tr> + <td> + <a href="ExternallyRolledFileAppender.html" target="classFrame">HUPNode</a> + </td> + </tr> + <tr> + <td> + <a href="LevelMatchFilter.html" target="classFrame">LevelMatchFilter</a> + </td> + </tr> + <tr> + <td> + <a href="LevelRangeFilter.html" target="classFrame">LevelRangeFilter</a> + </td> + </tr> + <tr> + <td> + <a href="NullAppender.html" target="classFrame">NullAppender</a> + </td> + </tr> + <tr> + <td> + <a href="ReloadingPropertyConfigurator.html" target="classFrame">ReloadingPropertyConfigurator</a> + </td> + </tr> + <tr> + <td> + <a href="Roller.html" target="classFrame">Roller</a> + </td> + </tr> + <tr> + <td> + <a href="StringMatchFilter.html" target="classFrame">StringMatchFilter</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/DOMConfigurator.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/DOMConfigurator.html new file mode 100644 index 00000000000..19e0a090f83 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/DOMConfigurator.html @@ -0,0 +1,1137 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>DOMConfigurator xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/xml/DOMConfigurator.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.xml; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Level; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.LogManager; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.config.PropertySetter; +<a name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.FileWatchdog; +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.Loader; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="30" href="#30">30</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.or.RendererMap; +<a name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.AppenderAttachable; +<a name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Configurator; +<a name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.Filter; +<a name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerFactory; +<a name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.RendererSupport; +<a name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRenderer; +<a name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.ThrowableRendererSupport; +<a name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Document; +<a name="41" href="#41">41</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Element; +<a name="42" href="#42">42</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.NamedNodeMap; +<a name="43" href="#43">43</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Node; +<a name="44" href="#44">44</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.NodeList; +<a name="45" href="#45">45</a> <strong class="jxr_keyword">import</strong> org.xml.sax.InputSource; +<a name="46" href="#46">46</a> <strong class="jxr_keyword">import</strong> org.xml.sax.SAXException; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilder; +<a name="49" href="#49">49</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilderFactory; +<a name="50" href="#50">50</a> <strong class="jxr_keyword">import</strong> javax.xml.parsers.FactoryConfigurationError; +<a name="51" href="#51">51</a> <strong class="jxr_keyword">import</strong> java.io.File; +<a name="52" href="#52">52</a> <strong class="jxr_keyword">import</strong> java.io.IOException; +<a name="53" href="#53">53</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="54" href="#54">54</a> <strong class="jxr_keyword">import</strong> java.io.InterruptedIOException; +<a name="55" href="#55">55</a> <strong class="jxr_keyword">import</strong> java.io.Reader; +<a name="56" href="#56">56</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.Method; +<a name="57" href="#57">57</a> <strong class="jxr_keyword">import</strong> java.lang.reflect.InvocationTargetException; +<a name="58" href="#58">58</a> <strong class="jxr_keyword">import</strong> java.net.URL; +<a name="59" href="#59">59</a> <strong class="jxr_keyword">import</strong> java.net.URLConnection; +<a name="60" href="#60">60</a> <strong class="jxr_keyword">import</strong> java.util.Hashtable; +<a name="61" href="#61">61</a> <strong class="jxr_keyword">import</strong> java.util.Properties; +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em class="jxr_comment">// Contributors: Mark Womack</em> +<a name="64" href="#64">64</a> <em class="jxr_comment">// Arun Katkere </em> +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment">/**</em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> Use this class to initialize the log4j environment using a DOM tree.</em> +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="jxr_javadoccomment"> &lt;p&gt;The DTD is specified in &lt;a</em> +<a name="70" href="#70">70</a> <em class="jxr_javadoccomment"> href="doc-files/log4j.dtd"&gt;&lt;b&gt;log4j.dtd&lt;/b&gt;&lt;/a&gt;.</em> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em class="jxr_javadoccomment"> &lt;p&gt;Sometimes it is useful to see how log4j is reading configuration</em> +<a name="73" href="#73">73</a> <em class="jxr_javadoccomment"> files. You can enable log4j internal logging by defining the</em> +<a name="74" href="#74">74</a> <em class="jxr_javadoccomment"> &lt;b&gt;log4j.debug&lt;/b&gt; variable on the java command</em> +<a name="75" href="#75">75</a> <em class="jxr_javadoccomment"> line. Alternatively, set the &lt;code&gt;debug&lt;/code&gt; attribute in the</em> +<a name="76" href="#76">76</a> <em class="jxr_javadoccomment"> &lt;code&gt;log4j:configuration&lt;/code&gt; element. As in</em> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment">&lt;pre&gt;</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> &amp;lt;log4j:configuration &lt;b&gt;debug="true"&lt;/b&gt; xmlns:log4j="<a href="http://jakarta.apache.org/log4j/" target="alexandria_uri">http://jakarta.apache.org/log4j/</a>"&gt;</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> ...</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> &amp;lt;/log4j:configuration&gt;</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment">&lt;/pre&gt;</em> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> &lt;p&gt;There are sample XML files included in the package.</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> </em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> @author Christopher Taylor</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> @author Anders Kristensen</em> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em class="jxr_javadoccomment"> @since 0.8.3 */</em> +<a name="90" href="#90">90</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a> implements <a href="../../../../org/apache/log4j/spi/Configurator.html">Configurator</a> { +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CONFIGURATION_TAG = <span class="jxr_string">"log4j:configuration"</span>; +<a name="93" href="#93">93</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String OLD_CONFIGURATION_TAG = <span class="jxr_string">"configuration"</span>; +<a name="94" href="#94">94</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RENDERER_TAG = <span class="jxr_string">"renderer"</span>; +<a name="95" href="#95">95</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String THROWABLE_RENDERER_TAG = <span class="jxr_string">"throwableRenderer"</span>; +<a name="96" href="#96">96</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String APPENDER_TAG = <span class="jxr_string">"appender"</span>; +<a name="97" href="#97">97</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String APPENDER_REF_TAG = <span class="jxr_string">"appender-ref"</span>; +<a name="98" href="#98">98</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PARAM_TAG = <span class="jxr_string">"param"</span>; +<a name="99" href="#99">99</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LAYOUT_TAG = <span class="jxr_string">"layout"</span>; +<a name="100" href="#100">100</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CATEGORY = <span class="jxr_string">"category"</span>; +<a name="101" href="#101">101</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOGGER = <span class="jxr_string">"logger"</span>; +<a name="102" href="#102">102</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOGGER_REF = <span class="jxr_string">"logger-ref"</span>; +<a name="103" href="#103">103</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CATEGORY_FACTORY_TAG = <span class="jxr_string">"categoryFactory"</span>; +<a name="104" href="#104">104</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOGGER_FACTORY_TAG = <span class="jxr_string">"loggerFactory"</span>; +<a name="105" href="#105">105</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String NAME_ATTR = <span class="jxr_string">"name"</span>; +<a name="106" href="#106">106</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CLASS_ATTR = <span class="jxr_string">"class"</span>; +<a name="107" href="#107">107</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String VALUE_ATTR = <span class="jxr_string">"value"</span>; +<a name="108" href="#108">108</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT_TAG = <span class="jxr_string">"root"</span>; +<a name="109" href="#109">109</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT_REF = <span class="jxr_string">"root-ref"</span>; +<a name="110" href="#110">110</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LEVEL_TAG = <span class="jxr_string">"level"</span>; +<a name="111" href="#111">111</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PRIORITY_TAG = <span class="jxr_string">"priority"</span>; +<a name="112" href="#112">112</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FILTER_TAG = <span class="jxr_string">"filter"</span>; +<a name="113" href="#113">113</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ERROR_HANDLER_TAG = <span class="jxr_string">"errorHandler"</span>; +<a name="114" href="#114">114</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REF_ATTR = <span class="jxr_string">"ref"</span>; +<a name="115" href="#115">115</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ADDITIVITY_ATTR = <span class="jxr_string">"additivity"</span>; +<a name="116" href="#116">116</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String THRESHOLD_ATTR = <span class="jxr_string">"threshold"</span>; +<a name="117" href="#117">117</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CONFIG_DEBUG_ATTR = <span class="jxr_string">"configDebug"</span>; +<a name="118" href="#118">118</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String INTERNAL_DEBUG_ATTR = <span class="jxr_string">"debug"</span>; +<a name="119" href="#119">119</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RESET_ATTR = <span class="jxr_string">"reset"</span>; +<a name="120" href="#120">120</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RENDERING_CLASS_ATTR = <span class="jxr_string">"renderingClass"</span>; +<a name="121" href="#121">121</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RENDERED_CLASS_ATTR = <span class="jxr_string">"renderedClass"</span>; +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMPTY_STR = <span class="jxr_string">""</span>; +<a name="124" href="#124">124</a> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Class[] ONE_STRING_PARAM = <strong class="jxr_keyword">new</strong> Class[] {String.<strong class="jxr_keyword">class</strong>}; +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> String dbfKey = <span class="jxr_string">"javax.xml.parsers.DocumentBuilderFactory"</span>; +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em class="jxr_comment">// key: appenderName, value: appender</em> +<a name="130" href="#130">130</a> Hashtable appenderBag; +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> Properties props; +<a name="133" href="#133">133</a> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository; +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/spi/LoggerFactory.html">LoggerFactory</a> catFactory = <strong class="jxr_keyword">null</strong>; +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">/**</em> +<a name="138" href="#138">138</a> <em class="jxr_javadoccomment"> No argument constructor.</em> +<a name="139" href="#139">139</a> <em class="jxr_javadoccomment"> */</em> +<a name="140" href="#140">140</a> <strong class="jxr_keyword">public</strong> +<a name="141" href="#141">141</a> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a> () { +<a name="142" href="#142">142</a> appenderBag = <strong class="jxr_keyword">new</strong> Hashtable(); +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">/**</em> +<a name="146" href="#146">146</a> <em class="jxr_javadoccomment"> Used internally to parse appenders by IDREF name.</em> +<a name="147" href="#147">147</a> <em class="jxr_javadoccomment"> */</em> +<a name="148" href="#148">148</a> <strong class="jxr_keyword">protected</strong> +<a name="149" href="#149">149</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> findAppenderByName(Document doc, String appenderName) { +<a name="150" href="#150">150</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender = (Appender) appenderBag.get(appenderName); +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <strong class="jxr_keyword">if</strong>(appender != <strong class="jxr_keyword">null</strong>) { +<a name="153" href="#153">153</a> <strong class="jxr_keyword">return</strong> appender; +<a name="154" href="#154">154</a> } <strong class="jxr_keyword">else</strong> { +<a name="155" href="#155">155</a> <em class="jxr_comment">// Doesn't work on DOM Level 1 :</em> +<a name="156" href="#156">156</a> <em class="jxr_comment">// Element element = doc.getElementById(appenderName);</em> +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em class="jxr_comment">// Endre's hack:</em> +<a name="159" href="#159">159</a> Element element = <strong class="jxr_keyword">null</strong>; +<a name="160" href="#160">160</a> NodeList list = doc.getElementsByTagName(<span class="jxr_string">"appender"</span>); +<a name="161" href="#161">161</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> t=0; t &lt; list.getLength(); t++) { +<a name="162" href="#162">162</a> Node node = list.item(t); +<a name="163" href="#163">163</a> NamedNodeMap map= node.getAttributes(); +<a name="164" href="#164">164</a> Node attrNode = map.getNamedItem(<span class="jxr_string">"name"</span>); +<a name="165" href="#165">165</a> <strong class="jxr_keyword">if</strong> (appenderName.equals(attrNode.getNodeValue())) { +<a name="166" href="#166">166</a> element = (Element) node; +<a name="167" href="#167">167</a> <strong class="jxr_keyword">break</strong>; +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> <em class="jxr_comment">// Hack finished.</em> +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <strong class="jxr_keyword">if</strong>(element == <strong class="jxr_keyword">null</strong>) { +<a name="173" href="#173">173</a> LogLog.error(<span class="jxr_string">"No appender named ["</span>+appenderName+<span class="jxr_string">"] could be found."</span>); +<a name="174" href="#174">174</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="175" href="#175">175</a> } <strong class="jxr_keyword">else</strong> { +<a name="176" href="#176">176</a> appender = parseAppender(element); +<a name="177" href="#177">177</a> <strong class="jxr_keyword">if</strong> (appender != <strong class="jxr_keyword">null</strong>) { +<a name="178" href="#178">178</a> appenderBag.put(appenderName, appender); +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> <strong class="jxr_keyword">return</strong> appender; +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">/**</em> +<a name="185" href="#185">185</a> <em class="jxr_javadoccomment"> Used internally to parse appenders by IDREF element.</em> +<a name="186" href="#186">186</a> <em class="jxr_javadoccomment"> */</em> +<a name="187" href="#187">187</a> <strong class="jxr_keyword">protected</strong> +<a name="188" href="#188">188</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> findAppenderByReference(Element appenderRef) { +<a name="189" href="#189">189</a> String appenderName = subst(appenderRef.getAttribute(REF_ATTR)); +<a name="190" href="#190">190</a> Document doc = appenderRef.getOwnerDocument(); +<a name="191" href="#191">191</a> <strong class="jxr_keyword">return</strong> findAppenderByName(doc, appenderName); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em class="jxr_javadoccomment">/**</em> +<a name="195" href="#195">195</a> <em class="jxr_javadoccomment"> * Delegates unrecognized content to created instance if</em> +<a name="196" href="#196">196</a> <em class="jxr_javadoccomment"> * it supports UnrecognizedElementParser.</em> +<a name="197" href="#197">197</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="198" href="#198">198</a> <em class="jxr_javadoccomment"> * @param instance instance, may be null.</em> +<a name="199" href="#199">199</a> <em class="jxr_javadoccomment"> * @param element element, may not be null.</em> +<a name="200" href="#200">200</a> <em class="jxr_javadoccomment"> * @param props properties</em> +<a name="201" href="#201">201</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if configuration of owner object</em> +<a name="202" href="#202">202</a> <em class="jxr_javadoccomment"> * should be abandoned.</em> +<a name="203" href="#203">203</a> <em class="jxr_javadoccomment"> */</em> +<a name="204" href="#204">204</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> parseUnrecognizedElement(<strong class="jxr_keyword">final</strong> Object instance, +<a name="205" href="#205">205</a> <strong class="jxr_keyword">final</strong> Element element, +<a name="206" href="#206">206</a> <strong class="jxr_keyword">final</strong> Properties props) <strong class="jxr_keyword">throws</strong> Exception { +<a name="207" href="#207">207</a> <strong class="jxr_keyword">boolean</strong> recognized = false; +<a name="208" href="#208">208</a> <strong class="jxr_keyword">if</strong> (instance instanceof UnrecognizedElementHandler) { +<a name="209" href="#209">209</a> recognized = ((UnrecognizedElementHandler) instance).parseUnrecognizedElement( +<a name="210" href="#210">210</a> element, props); +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> <strong class="jxr_keyword">if</strong> (!recognized) { +<a name="213" href="#213">213</a> LogLog.warn(<span class="jxr_string">"Unrecognized element "</span> + element.getNodeName()); +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> } +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <em class="jxr_javadoccomment">/**</em> +<a name="218" href="#218">218</a> <em class="jxr_javadoccomment"> * Delegates unrecognized content to created instance if</em> +<a name="219" href="#219">219</a> <em class="jxr_javadoccomment"> * it supports UnrecognizedElementParser and catches and</em> +<a name="220" href="#220">220</a> <em class="jxr_javadoccomment"> * logs any exception.</em> +<a name="221" href="#221">221</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="222" href="#222">222</a> <em class="jxr_javadoccomment"> * @param instance instance, may be null.</em> +<a name="223" href="#223">223</a> <em class="jxr_javadoccomment"> * @param element element, may not be null.</em> +<a name="224" href="#224">224</a> <em class="jxr_javadoccomment"> * @param props properties</em> +<a name="225" href="#225">225</a> <em class="jxr_javadoccomment"> */</em> +<a name="226" href="#226">226</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> quietParseUnrecognizedElement(<strong class="jxr_keyword">final</strong> Object instance, +<a name="227" href="#227">227</a> <strong class="jxr_keyword">final</strong> Element element, +<a name="228" href="#228">228</a> <strong class="jxr_keyword">final</strong> Properties props) { +<a name="229" href="#229">229</a> <strong class="jxr_keyword">try</strong> { +<a name="230" href="#230">230</a> parseUnrecognizedElement(instance, element, props); +<a name="231" href="#231">231</a> } <strong class="jxr_keyword">catch</strong> (Exception ex) { +<a name="232" href="#232">232</a> <strong class="jxr_keyword">if</strong> (ex instanceof InterruptedException || ex instanceof InterruptedIOException) { +<a name="233" href="#233">233</a> Thread.currentThread().interrupt(); +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> LogLog.error(<span class="jxr_string">"Error in extension content: "</span>, ex); +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <em class="jxr_javadoccomment">/**</em> +<a name="240" href="#240">240</a> <em class="jxr_javadoccomment"> Used internally to parse an appender element.</em> +<a name="241" href="#241">241</a> <em class="jxr_javadoccomment"> */</em> +<a name="242" href="#242">242</a> <strong class="jxr_keyword">protected</strong> +<a name="243" href="#243">243</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> parseAppender (Element appenderElement) { +<a name="244" href="#244">244</a> String className = subst(appenderElement.getAttribute(CLASS_ATTR)); +<a name="245" href="#245">245</a> LogLog.debug(<span class="jxr_string">"Class name: ["</span> + className+']'); +<a name="246" href="#246">246</a> <strong class="jxr_keyword">try</strong> { +<a name="247" href="#247">247</a> Object instance = Loader.loadClass(className).newInstance(); +<a name="248" href="#248">248</a> <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender = (Appender)instance; +<a name="249" href="#249">249</a> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(appender); +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> appender.setName(subst(appenderElement.getAttribute(NAME_ATTR))); +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> NodeList children = appenderElement.getChildNodes(); +<a name="254" href="#254">254</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> length = children.getLength(); +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> loop = 0; loop &lt; length; loop++) { +<a name="257" href="#257">257</a> Node currentNode = children.item(loop); +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <em class="jxr_comment">/*<em class="jxr_comment"> We're only interested in Elements */</em></em> +<a name="260" href="#260">260</a> <strong class="jxr_keyword">if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="261" href="#261">261</a> Element currentElement = (Element)currentNode; +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <em class="jxr_comment">// Parse appender parameters </em> +<a name="264" href="#264">264</a> <strong class="jxr_keyword">if</strong> (currentElement.getTagName().equals(PARAM_TAG)) { +<a name="265" href="#265">265</a> setParameter(currentElement, propSetter); +<a name="266" href="#266">266</a> } +<a name="267" href="#267">267</a> <em class="jxr_comment">// Set appender layout</em> +<a name="268" href="#268">268</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (currentElement.getTagName().equals(LAYOUT_TAG)) { +<a name="269" href="#269">269</a> appender.setLayout(parseLayout(currentElement)); +<a name="270" href="#270">270</a> } +<a name="271" href="#271">271</a> <em class="jxr_comment">// Add filters</em> +<a name="272" href="#272">272</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (currentElement.getTagName().equals(FILTER_TAG)) { +<a name="273" href="#273">273</a> parseFilters(currentElement, appender); +<a name="274" href="#274">274</a> } +<a name="275" href="#275">275</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (currentElement.getTagName().equals(ERROR_HANDLER_TAG)) { +<a name="276" href="#276">276</a> parseErrorHandler(currentElement, appender); +<a name="277" href="#277">277</a> } +<a name="278" href="#278">278</a> <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (currentElement.getTagName().equals(APPENDER_REF_TAG)) { +<a name="279" href="#279">279</a> String refName = subst(currentElement.getAttribute(REF_ATTR)); +<a name="280" href="#280">280</a> <strong class="jxr_keyword">if</strong>(appender instanceof AppenderAttachable) { +<a name="281" href="#281">281</a> AppenderAttachable aa = (AppenderAttachable) appender; +<a name="282" href="#282">282</a> LogLog.debug(<span class="jxr_string">"Attaching appender named ["</span>+ refName+ +<a name="283" href="#283">283</a> <span class="jxr_string">"] to appender named ["</span>+ appender.getName()+<span class="jxr_string">"]."</span>); +<a name="284" href="#284">284</a> aa.addAppender(findAppenderByReference(currentElement)); +<a name="285" href="#285">285</a> } <strong class="jxr_keyword">else</strong> { +<a name="286" href="#286">286</a> LogLog.error(<span class="jxr_string">"Requesting attachment of appender named ["</span>+ +<a name="287" href="#287">287</a> refName+ <span class="jxr_string">"] to appender named ["</span>+ appender.getName()+ +<a name="288" href="#288">288</a> <span class="jxr_string">"] which does not implement org.apache.log4j.spi.AppenderAttachable."</span>); +<a name="289" href="#289">289</a> } +<a name="290" href="#290">290</a> } <strong class="jxr_keyword">else</strong> { +<a name="291" href="#291">291</a> parseUnrecognizedElement(instance, currentElement, props); +<a name="292" href="#292">292</a> } +<a name="293" href="#293">293</a> } +<a name="294" href="#294">294</a> } +<a name="295" href="#295">295</a> propSetter.activate(); +<a name="296" href="#296">296</a> <strong class="jxr_keyword">return</strong> appender; +<a name="297" href="#297">297</a> } +<a name="298" href="#298">298</a> <em class="jxr_comment">/*<em class="jxr_comment"> Yes, it's ugly. But all of these exceptions point to the same</em></em> +<a name="299" href="#299">299</a> <em class="jxr_comment"> problem: we can't create an Appender */</em> +<a name="300" href="#300">300</a> <strong class="jxr_keyword">catch</strong> (Exception oops) { +<a name="301" href="#301">301</a> <strong class="jxr_keyword">if</strong> (oops instanceof InterruptedException || oops instanceof InterruptedIOException) { +<a name="302" href="#302">302</a> Thread.currentThread().interrupt(); +<a name="303" href="#303">303</a> } +<a name="304" href="#304">304</a> LogLog.error(<span class="jxr_string">"Could not create an Appender. Reported error follows."</span>, +<a name="305" href="#305">305</a> oops); +<a name="306" href="#306">306</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="307" href="#307">307</a> } +<a name="308" href="#308">308</a> } +<a name="309" href="#309">309</a> +<a name="310" href="#310">310</a> <em class="jxr_javadoccomment">/**</em> +<a name="311" href="#311">311</a> <em class="jxr_javadoccomment"> Used internally to parse an {@link ErrorHandler} element.</em> +<a name="312" href="#312">312</a> <em class="jxr_javadoccomment"> */</em> +<a name="313" href="#313">313</a> <strong class="jxr_keyword">protected</strong> +<a name="314" href="#314">314</a> <strong class="jxr_keyword">void</strong> parseErrorHandler(Element element, <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="315" href="#315">315</a> <a href="../../../../org/apache/log4j/spi/ErrorHandler.html">ErrorHandler</a> eh = (ErrorHandler) OptionConverter.instantiateByClassName( +<a name="316" href="#316">316</a> subst(element.getAttribute(CLASS_ATTR)), +<a name="317" href="#317">317</a> org.apache.log4j.spi.ErrorHandler.<strong class="jxr_keyword">class</strong>, +<a name="318" href="#318">318</a> <strong class="jxr_keyword">null</strong>); +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> <strong class="jxr_keyword">if</strong>(eh != <strong class="jxr_keyword">null</strong>) { +<a name="321" href="#321">321</a> eh.setAppender(appender); +<a name="322" href="#322">322</a> +<a name="323" href="#323">323</a> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(eh); +<a name="324" href="#324">324</a> NodeList children = element.getChildNodes(); +<a name="325" href="#325">325</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> length = children.getLength(); +<a name="326" href="#326">326</a> +<a name="327" href="#327">327</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> loop = 0; loop &lt; length; loop++) { +<a name="328" href="#328">328</a> Node currentNode = children.item(loop); +<a name="329" href="#329">329</a> <strong class="jxr_keyword">if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="330" href="#330">330</a> Element currentElement = (Element) currentNode; +<a name="331" href="#331">331</a> String tagName = currentElement.getTagName(); +<a name="332" href="#332">332</a> <strong class="jxr_keyword">if</strong>(tagName.equals(PARAM_TAG)) { +<a name="333" href="#333">333</a> setParameter(currentElement, propSetter); +<a name="334" href="#334">334</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(tagName.equals(APPENDER_REF_TAG)) { +<a name="335" href="#335">335</a> eh.setBackupAppender(findAppenderByReference(currentElement)); +<a name="336" href="#336">336</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(tagName.equals(LOGGER_REF)) { +<a name="337" href="#337">337</a> String loggerName = currentElement.getAttribute(REF_ATTR); +<a name="338" href="#338">338</a> Logger logger = (catFactory == <strong class="jxr_keyword">null</strong>) ? repository.getLogger(loggerName) +<a name="339" href="#339">339</a> : repository.getLogger(loggerName, catFactory); +<a name="340" href="#340">340</a> eh.setLogger(logger); +<a name="341" href="#341">341</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(tagName.equals(ROOT_REF)) { +<a name="342" href="#342">342</a> Logger root = repository.getRootLogger(); +<a name="343" href="#343">343</a> eh.setLogger(root); +<a name="344" href="#344">344</a> } <strong class="jxr_keyword">else</strong> { +<a name="345" href="#345">345</a> quietParseUnrecognizedElement(eh, currentElement, props); +<a name="346" href="#346">346</a> } +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> propSetter.activate(); +<a name="350" href="#350">350</a> appender.setErrorHandler(eh); +<a name="351" href="#351">351</a> } +<a name="352" href="#352">352</a> } +<a name="353" href="#353">353</a> +<a name="354" href="#354">354</a> <em class="jxr_javadoccomment">/**</em> +<a name="355" href="#355">355</a> <em class="jxr_javadoccomment"> Used internally to parse a filter element.</em> +<a name="356" href="#356">356</a> <em class="jxr_javadoccomment"> */</em> +<a name="357" href="#357">357</a> <strong class="jxr_keyword">protected</strong> +<a name="358" href="#358">358</a> <strong class="jxr_keyword">void</strong> parseFilters(Element element, <a href="../../../../org/apache/log4j/Appender.html">Appender</a> appender) { +<a name="359" href="#359">359</a> String clazz = subst(element.getAttribute(CLASS_ATTR)); +<a name="360" href="#360">360</a> <a href="../../../../org/apache/log4j/spi/Filter.html">Filter</a> filter = (Filter) OptionConverter.instantiateByClassName(clazz, +<a name="361" href="#361">361</a> Filter.<strong class="jxr_keyword">class</strong>, <strong class="jxr_keyword">null</strong>); +<a name="362" href="#362">362</a> +<a name="363" href="#363">363</a> <strong class="jxr_keyword">if</strong>(filter != <strong class="jxr_keyword">null</strong>) { +<a name="364" href="#364">364</a> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(filter); +<a name="365" href="#365">365</a> NodeList children = element.getChildNodes(); +<a name="366" href="#366">366</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> length = children.getLength(); +<a name="367" href="#367">367</a> +<a name="368" href="#368">368</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> loop = 0; loop &lt; length; loop++) { +<a name="369" href="#369">369</a> Node currentNode = children.item(loop); +<a name="370" href="#370">370</a> <strong class="jxr_keyword">if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="371" href="#371">371</a> Element currentElement = (Element) currentNode; +<a name="372" href="#372">372</a> String tagName = currentElement.getTagName(); +<a name="373" href="#373">373</a> <strong class="jxr_keyword">if</strong>(tagName.equals(PARAM_TAG)) { +<a name="374" href="#374">374</a> setParameter(currentElement, propSetter); +<a name="375" href="#375">375</a> } <strong class="jxr_keyword">else</strong> { +<a name="376" href="#376">376</a> quietParseUnrecognizedElement(filter, currentElement, props); +<a name="377" href="#377">377</a> } +<a name="378" href="#378">378</a> } +<a name="379" href="#379">379</a> } +<a name="380" href="#380">380</a> propSetter.activate(); +<a name="381" href="#381">381</a> LogLog.debug(<span class="jxr_string">"Adding filter of type ["</span>+filter.getClass() +<a name="382" href="#382">382</a> +<span class="jxr_string">"] to appender named ["</span>+appender.getName()+<span class="jxr_string">"]."</span>); +<a name="383" href="#383">383</a> appender.addFilter(filter); +<a name="384" href="#384">384</a> } +<a name="385" href="#385">385</a> } +<a name="386" href="#386">386</a> +<a name="387" href="#387">387</a> <em class="jxr_javadoccomment">/**</em> +<a name="388" href="#388">388</a> <em class="jxr_javadoccomment"> Used internally to parse an category element.</em> +<a name="389" href="#389">389</a> <em class="jxr_javadoccomment"> */</em> +<a name="390" href="#390">390</a> <strong class="jxr_keyword">protected</strong> +<a name="391" href="#391">391</a> <strong class="jxr_keyword">void</strong> parseCategory (Element loggerElement) { +<a name="392" href="#392">392</a> <em class="jxr_comment">// Create a new org.apache.log4j.Category object from the &lt;category&gt; element.</em> +<a name="393" href="#393">393</a> String catName = subst(loggerElement.getAttribute(NAME_ATTR)); +<a name="394" href="#394">394</a> +<a name="395" href="#395">395</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> cat; +<a name="396" href="#396">396</a> +<a name="397" href="#397">397</a> String className = subst(loggerElement.getAttribute(CLASS_ATTR)); +<a name="398" href="#398">398</a> +<a name="399" href="#399">399</a> +<a name="400" href="#400">400</a> <strong class="jxr_keyword">if</strong>(EMPTY_STR.equals(className)) { +<a name="401" href="#401">401</a> LogLog.debug(<span class="jxr_string">"Retreiving an instance of org.apache.log4j.Logger."</span>); +<a name="402" href="#402">402</a> cat = (catFactory == <strong class="jxr_keyword">null</strong>) ? repository.getLogger(catName) : repository.getLogger(catName, catFactory); +<a name="403" href="#403">403</a> } +<a name="404" href="#404">404</a> <strong class="jxr_keyword">else</strong> { +<a name="405" href="#405">405</a> LogLog.debug(<span class="jxr_string">"Desired logger sub-class: ["</span>+className+']'); +<a name="406" href="#406">406</a> <strong class="jxr_keyword">try</strong> { +<a name="407" href="#407">407</a> Class clazz = Loader.loadClass(className); +<a name="408" href="#408">408</a> Method getInstanceMethod = clazz.getMethod(<span class="jxr_string">"getLogger"</span>, +<a name="409" href="#409">409</a> ONE_STRING_PARAM); +<a name="410" href="#410">410</a> cat = (Logger) getInstanceMethod.invoke(<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">new</strong> Object[] {catName}); +<a name="411" href="#411">411</a> } <strong class="jxr_keyword">catch</strong> (InvocationTargetException oops) { +<a name="412" href="#412">412</a> <strong class="jxr_keyword">if</strong> (oops.getTargetException() instanceof InterruptedException +<a name="413" href="#413">413</a> || oops.getTargetException() instanceof InterruptedIOException) { +<a name="414" href="#414">414</a> Thread.currentThread().interrupt(); +<a name="415" href="#415">415</a> } +<a name="416" href="#416">416</a> LogLog.error(<span class="jxr_string">"Could not retrieve category ["</span>+catName+ +<a name="417" href="#417">417</a> <span class="jxr_string">"]. Reported error follows."</span>, oops); +<a name="418" href="#418">418</a> <strong class="jxr_keyword">return</strong>; +<a name="419" href="#419">419</a> } <strong class="jxr_keyword">catch</strong> (Exception oops) { +<a name="420" href="#420">420</a> LogLog.error(<span class="jxr_string">"Could not retrieve category ["</span>+catName+ +<a name="421" href="#421">421</a> <span class="jxr_string">"]. Reported error follows."</span>, oops); +<a name="422" href="#422">422</a> <strong class="jxr_keyword">return</strong>; +<a name="423" href="#423">423</a> } +<a name="424" href="#424">424</a> } +<a name="425" href="#425">425</a> +<a name="426" href="#426">426</a> <em class="jxr_comment">// Setting up a category needs to be an atomic operation, in order</em> +<a name="427" href="#427">427</a> <em class="jxr_comment">// to protect potential log operations while category</em> +<a name="428" href="#428">428</a> <em class="jxr_comment">// configuration is in progress.</em> +<a name="429" href="#429">429</a> <strong class="jxr_keyword">synchronized</strong>(cat) { +<a name="430" href="#430">430</a> <strong class="jxr_keyword">boolean</strong> additivity = OptionConverter.toBoolean( +<a name="431" href="#431">431</a> subst(loggerElement.getAttribute(ADDITIVITY_ATTR)), +<a name="432" href="#432">432</a> <strong class="jxr_keyword">true</strong>); +<a name="433" href="#433">433</a> +<a name="434" href="#434">434</a> LogLog.debug(<span class="jxr_string">"Setting ["</span>+cat.getName()+<span class="jxr_string">"] additivity to ["</span>+additivity+<span class="jxr_string">"]."</span>); +<a name="435" href="#435">435</a> cat.setAdditivity(additivity); +<a name="436" href="#436">436</a> parseChildrenOfLoggerElement(loggerElement, cat, false); +<a name="437" href="#437">437</a> } +<a name="438" href="#438">438</a> } +<a name="439" href="#439">439</a> +<a name="440" href="#440">440</a> +<a name="441" href="#441">441</a> <em class="jxr_javadoccomment">/**</em> +<a name="442" href="#442">442</a> <em class="jxr_javadoccomment"> Used internally to parse the category factory element.</em> +<a name="443" href="#443">443</a> <em class="jxr_javadoccomment"> */</em> +<a name="444" href="#444">444</a> <strong class="jxr_keyword">protected</strong> +<a name="445" href="#445">445</a> <strong class="jxr_keyword">void</strong> parseCategoryFactory(Element factoryElement) { +<a name="446" href="#446">446</a> String className = subst(factoryElement.getAttribute(CLASS_ATTR)); +<a name="447" href="#447">447</a> +<a name="448" href="#448">448</a> <strong class="jxr_keyword">if</strong>(EMPTY_STR.equals(className)) { +<a name="449" href="#449">449</a> LogLog.error(<span class="jxr_string">"Category Factory tag "</span> + CLASS_ATTR + <span class="jxr_string">" attribute not found."</span>); +<a name="450" href="#450">450</a> LogLog.debug(<span class="jxr_string">"No Category Factory configured."</span>); +<a name="451" href="#451">451</a> } +<a name="452" href="#452">452</a> <strong class="jxr_keyword">else</strong> { +<a name="453" href="#453">453</a> LogLog.debug(<span class="jxr_string">"Desired category factory: ["</span>+className+']'); +<a name="454" href="#454">454</a> Object factory = OptionConverter.instantiateByClassName(className, +<a name="455" href="#455">455</a> LoggerFactory.<strong class="jxr_keyword">class</strong>, +<a name="456" href="#456">456</a> <strong class="jxr_keyword">null</strong>); +<a name="457" href="#457">457</a> <strong class="jxr_keyword">if</strong> (factory instanceof LoggerFactory) { +<a name="458" href="#458">458</a> catFactory = (LoggerFactory) factory; +<a name="459" href="#459">459</a> } <strong class="jxr_keyword">else</strong> { +<a name="460" href="#460">460</a> LogLog.error(<span class="jxr_string">"Category Factory class "</span> + className + <span class="jxr_string">" does not implement org.apache.log4j.LoggerFactory"</span>); +<a name="461" href="#461">461</a> } +<a name="462" href="#462">462</a> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(factory); +<a name="463" href="#463">463</a> +<a name="464" href="#464">464</a> Element currentElement = <strong class="jxr_keyword">null</strong>; +<a name="465" href="#465">465</a> Node currentNode = <strong class="jxr_keyword">null</strong>; +<a name="466" href="#466">466</a> NodeList children = factoryElement.getChildNodes(); +<a name="467" href="#467">467</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> length = children.getLength(); +<a name="468" href="#468">468</a> +<a name="469" href="#469">469</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> loop=0; loop &lt; length; loop++) { +<a name="470" href="#470">470</a> currentNode = children.item(loop); +<a name="471" href="#471">471</a> <strong class="jxr_keyword">if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="472" href="#472">472</a> currentElement = (Element)currentNode; +<a name="473" href="#473">473</a> <strong class="jxr_keyword">if</strong> (currentElement.getTagName().equals(PARAM_TAG)) { +<a name="474" href="#474">474</a> setParameter(currentElement, propSetter); +<a name="475" href="#475">475</a> } <strong class="jxr_keyword">else</strong> { +<a name="476" href="#476">476</a> quietParseUnrecognizedElement(factory, currentElement, props); +<a name="477" href="#477">477</a> } +<a name="478" href="#478">478</a> } +<a name="479" href="#479">479</a> } +<a name="480" href="#480">480</a> } +<a name="481" href="#481">481</a> } +<a name="482" href="#482">482</a> +<a name="483" href="#483">483</a> +<a name="484" href="#484">484</a> <em class="jxr_javadoccomment">/**</em> +<a name="485" href="#485">485</a> <em class="jxr_javadoccomment"> Used internally to parse the roor category element.</em> +<a name="486" href="#486">486</a> <em class="jxr_javadoccomment"> */</em> +<a name="487" href="#487">487</a> <strong class="jxr_keyword">protected</strong> +<a name="488" href="#488">488</a> <strong class="jxr_keyword">void</strong> parseRoot (Element rootElement) { +<a name="489" href="#489">489</a> <a href="../../../../org/apache/log4j/Logger.html">Logger</a> root = repository.getRootLogger(); +<a name="490" href="#490">490</a> <em class="jxr_comment">// category configuration needs to be atomic</em> +<a name="491" href="#491">491</a> <strong class="jxr_keyword">synchronized</strong>(root) { +<a name="492" href="#492">492</a> parseChildrenOfLoggerElement(rootElement, root, <strong class="jxr_keyword">true</strong>); +<a name="493" href="#493">493</a> } +<a name="494" href="#494">494</a> } +<a name="495" href="#495">495</a> +<a name="496" href="#496">496</a> +<a name="497" href="#497">497</a> <em class="jxr_javadoccomment">/**</em> +<a name="498" href="#498">498</a> <em class="jxr_javadoccomment"> Used internally to parse the children of a category element.</em> +<a name="499" href="#499">499</a> <em class="jxr_javadoccomment"> */</em> +<a name="500" href="#500">500</a> <strong class="jxr_keyword">protected</strong> +<a name="501" href="#501">501</a> <strong class="jxr_keyword">void</strong> parseChildrenOfLoggerElement(Element catElement, +<a name="502" href="#502">502</a> Logger cat, <strong class="jxr_keyword">boolean</strong> isRoot) { +<a name="503" href="#503">503</a> +<a name="504" href="#504">504</a> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(cat); +<a name="505" href="#505">505</a> +<a name="506" href="#506">506</a> <em class="jxr_comment">// Remove all existing appenders from cat. They will be</em> +<a name="507" href="#507">507</a> <em class="jxr_comment">// reconstructed if need be.</em> +<a name="508" href="#508">508</a> cat.removeAllAppenders(); +<a name="509" href="#509">509</a> +<a name="510" href="#510">510</a> +<a name="511" href="#511">511</a> NodeList children = catElement.getChildNodes(); +<a name="512" href="#512">512</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> length = children.getLength(); +<a name="513" href="#513">513</a> +<a name="514" href="#514">514</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> loop = 0; loop &lt; length; loop++) { +<a name="515" href="#515">515</a> Node currentNode = children.item(loop); +<a name="516" href="#516">516</a> +<a name="517" href="#517">517</a> <strong class="jxr_keyword">if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="518" href="#518">518</a> Element currentElement = (Element) currentNode; +<a name="519" href="#519">519</a> String tagName = currentElement.getTagName(); +<a name="520" href="#520">520</a> +<a name="521" href="#521">521</a> <strong class="jxr_keyword">if</strong> (tagName.equals(APPENDER_REF_TAG)) { +<a name="522" href="#522">522</a> Element appenderRef = (Element) currentNode; +<a name="523" href="#523">523</a> Appender appender = findAppenderByReference(appenderRef); +<a name="524" href="#524">524</a> String refName = subst(appenderRef.getAttribute(REF_ATTR)); +<a name="525" href="#525">525</a> <strong class="jxr_keyword">if</strong>(appender != <strong class="jxr_keyword">null</strong>) +<a name="526" href="#526">526</a> LogLog.debug(<span class="jxr_string">"Adding appender named ["</span>+ refName+ +<a name="527" href="#527">527</a> <span class="jxr_string">"] to category ["</span>+cat.getName()+<span class="jxr_string">"]."</span>); +<a name="528" href="#528">528</a> <strong class="jxr_keyword">else</strong> +<a name="529" href="#529">529</a> LogLog.debug(<span class="jxr_string">"Appender named ["</span>+ refName + <span class="jxr_string">"] not found."</span>); +<a name="530" href="#530">530</a> +<a name="531" href="#531">531</a> cat.addAppender(appender); +<a name="532" href="#532">532</a> +<a name="533" href="#533">533</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(tagName.equals(LEVEL_TAG)) { +<a name="534" href="#534">534</a> parseLevel(currentElement, cat, isRoot); +<a name="535" href="#535">535</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(tagName.equals(PRIORITY_TAG)) { +<a name="536" href="#536">536</a> parseLevel(currentElement, cat, isRoot); +<a name="537" href="#537">537</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(tagName.equals(PARAM_TAG)) { +<a name="538" href="#538">538</a> setParameter(currentElement, propSetter); +<a name="539" href="#539">539</a> } <strong class="jxr_keyword">else</strong> { +<a name="540" href="#540">540</a> quietParseUnrecognizedElement(cat, currentElement, props); +<a name="541" href="#541">541</a> } +<a name="542" href="#542">542</a> } +<a name="543" href="#543">543</a> } +<a name="544" href="#544">544</a> propSetter.activate(); +<a name="545" href="#545">545</a> } +<a name="546" href="#546">546</a> +<a name="547" href="#547">547</a> <em class="jxr_javadoccomment">/**</em> +<a name="548" href="#548">548</a> <em class="jxr_javadoccomment"> Used internally to parse a layout element.</em> +<a name="549" href="#549">549</a> <em class="jxr_javadoccomment"> */</em> +<a name="550" href="#550">550</a> <strong class="jxr_keyword">protected</strong> +<a name="551" href="#551">551</a> <a href="../../../../org/apache/log4j/Layout.html">Layout</a> parseLayout (Element layout_element) { +<a name="552" href="#552">552</a> String className = subst(layout_element.getAttribute(CLASS_ATTR)); +<a name="553" href="#553">553</a> LogLog.debug(<span class="jxr_string">"Parsing layout of class: \&quot;"</span>+className+<span class="jxr_string">"\&quot;"</span>); +<a name="554" href="#554">554</a> <strong class="jxr_keyword">try</strong> { +<a name="555" href="#555">555</a> Object instance = Loader.loadClass(className).newInstance(); +<a name="556" href="#556">556</a> <a href="../../../../org/apache/log4j/Layout.html">Layout</a> layout = (Layout)instance; +<a name="557" href="#557">557</a> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(layout); +<a name="558" href="#558">558</a> +<a name="559" href="#559">559</a> NodeList params = layout_element.getChildNodes(); +<a name="560" href="#560">560</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> length = params.getLength(); +<a name="561" href="#561">561</a> +<a name="562" href="#562">562</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> loop = 0; loop &lt; length; loop++) { +<a name="563" href="#563">563</a> Node currentNode = (Node)params.item(loop); +<a name="564" href="#564">564</a> <strong class="jxr_keyword">if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="565" href="#565">565</a> Element currentElement = (Element) currentNode; +<a name="566" href="#566">566</a> String tagName = currentElement.getTagName(); +<a name="567" href="#567">567</a> <strong class="jxr_keyword">if</strong>(tagName.equals(PARAM_TAG)) { +<a name="568" href="#568">568</a> setParameter(currentElement, propSetter); +<a name="569" href="#569">569</a> } <strong class="jxr_keyword">else</strong> { +<a name="570" href="#570">570</a> parseUnrecognizedElement(instance, currentElement, props); +<a name="571" href="#571">571</a> } +<a name="572" href="#572">572</a> } +<a name="573" href="#573">573</a> } +<a name="574" href="#574">574</a> +<a name="575" href="#575">575</a> propSetter.activate(); +<a name="576" href="#576">576</a> <strong class="jxr_keyword">return</strong> layout; +<a name="577" href="#577">577</a> } +<a name="578" href="#578">578</a> <strong class="jxr_keyword">catch</strong> (Exception oops) { +<a name="579" href="#579">579</a> <strong class="jxr_keyword">if</strong> (oops instanceof InterruptedException || oops instanceof InterruptedIOException) { +<a name="580" href="#580">580</a> Thread.currentThread().interrupt(); +<a name="581" href="#581">581</a> } +<a name="582" href="#582">582</a> LogLog.error(<span class="jxr_string">"Could not create the Layout. Reported error follows."</span>, +<a name="583" href="#583">583</a> oops); +<a name="584" href="#584">584</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="585" href="#585">585</a> } +<a name="586" href="#586">586</a> } +<a name="587" href="#587">587</a> +<a name="588" href="#588">588</a> <strong class="jxr_keyword">protected</strong> +<a name="589" href="#589">589</a> <strong class="jxr_keyword">void</strong> parseRenderer(Element element) { +<a name="590" href="#590">590</a> String renderingClass = subst(element.getAttribute(RENDERING_CLASS_ATTR)); +<a name="591" href="#591">591</a> String renderedClass = subst(element.getAttribute(RENDERED_CLASS_ATTR)); +<a name="592" href="#592">592</a> <strong class="jxr_keyword">if</strong>(repository instanceof <a href="../../../../org/apache/log4j/spi/RendererSupport.html">RendererSupport</a>) { +<a name="593" href="#593">593</a> RendererMap.addRenderer((RendererSupport) repository, renderedClass, +<a name="594" href="#594">594</a> renderingClass); +<a name="595" href="#595">595</a> } +<a name="596" href="#596">596</a> } +<a name="597" href="#597">597</a> +<a name="598" href="#598">598</a> <em class="jxr_javadoccomment">/**</em> +<a name="599" href="#599">599</a> <em class="jxr_javadoccomment"> * Parses throwable renderer.</em> +<a name="600" href="#600">600</a> <em class="jxr_javadoccomment"> * @param element throwableRenderer element.</em> +<a name="601" href="#601">601</a> <em class="jxr_javadoccomment"> * @return configured throwable renderer.</em> +<a name="602" href="#602">602</a> <em class="jxr_javadoccomment"> * @since 1.2.16.</em> +<a name="603" href="#603">603</a> <em class="jxr_javadoccomment"> */</em> +<a name="604" href="#604">604</a> <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> parseThrowableRenderer(<strong class="jxr_keyword">final</strong> Element element) { +<a name="605" href="#605">605</a> String className = subst(element.getAttribute(CLASS_ATTR)); +<a name="606" href="#606">606</a> LogLog.debug(<span class="jxr_string">"Parsing throwableRenderer of class: \&quot;"</span>+className+<span class="jxr_string">"\&quot;"</span>); +<a name="607" href="#607">607</a> <strong class="jxr_keyword">try</strong> { +<a name="608" href="#608">608</a> Object instance = Loader.loadClass(className).newInstance(); +<a name="609" href="#609">609</a> <a href="../../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> tr = (ThrowableRenderer)instance; +<a name="610" href="#610">610</a> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(tr); +<a name="611" href="#611">611</a> +<a name="612" href="#612">612</a> NodeList params = element.getChildNodes(); +<a name="613" href="#613">613</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> length = params.getLength(); +<a name="614" href="#614">614</a> +<a name="615" href="#615">615</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> loop = 0; loop &lt; length; loop++) { +<a name="616" href="#616">616</a> Node currentNode = (Node)params.item(loop); +<a name="617" href="#617">617</a> <strong class="jxr_keyword">if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="618" href="#618">618</a> Element currentElement = (Element) currentNode; +<a name="619" href="#619">619</a> String tagName = currentElement.getTagName(); +<a name="620" href="#620">620</a> <strong class="jxr_keyword">if</strong>(tagName.equals(PARAM_TAG)) { +<a name="621" href="#621">621</a> setParameter(currentElement, propSetter); +<a name="622" href="#622">622</a> } <strong class="jxr_keyword">else</strong> { +<a name="623" href="#623">623</a> parseUnrecognizedElement(instance, currentElement, props); +<a name="624" href="#624">624</a> } +<a name="625" href="#625">625</a> } +<a name="626" href="#626">626</a> } +<a name="627" href="#627">627</a> +<a name="628" href="#628">628</a> propSetter.activate(); +<a name="629" href="#629">629</a> <strong class="jxr_keyword">return</strong> tr; +<a name="630" href="#630">630</a> } +<a name="631" href="#631">631</a> <strong class="jxr_keyword">catch</strong> (Exception oops) { +<a name="632" href="#632">632</a> <strong class="jxr_keyword">if</strong> (oops instanceof InterruptedException || oops instanceof InterruptedIOException) { +<a name="633" href="#633">633</a> Thread.currentThread().interrupt(); +<a name="634" href="#634">634</a> } +<a name="635" href="#635">635</a> LogLog.error(<span class="jxr_string">"Could not create the ThrowableRenderer. Reported error follows."</span>, +<a name="636" href="#636">636</a> oops); +<a name="637" href="#637">637</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="638" href="#638">638</a> } +<a name="639" href="#639">639</a> } +<a name="640" href="#640">640</a> +<a name="641" href="#641">641</a> <em class="jxr_javadoccomment">/**</em> +<a name="642" href="#642">642</a> <em class="jxr_javadoccomment"> Used internally to parse a level element.</em> +<a name="643" href="#643">643</a> <em class="jxr_javadoccomment"> */</em> +<a name="644" href="#644">644</a> <strong class="jxr_keyword">protected</strong> +<a name="645" href="#645">645</a> <strong class="jxr_keyword">void</strong> parseLevel(Element element, <a href="../../../../org/apache/log4j/Logger.html">Logger</a> logger, <strong class="jxr_keyword">boolean</strong> isRoot) { +<a name="646" href="#646">646</a> String catName = logger.getName(); +<a name="647" href="#647">647</a> <strong class="jxr_keyword">if</strong>(isRoot) { +<a name="648" href="#648">648</a> catName = <span class="jxr_string">"root"</span>; +<a name="649" href="#649">649</a> } +<a name="650" href="#650">650</a> +<a name="651" href="#651">651</a> String priStr = subst(element.getAttribute(VALUE_ATTR)); +<a name="652" href="#652">652</a> LogLog.debug(<span class="jxr_string">"Level value for "</span>+catName+<span class="jxr_string">" is ["</span>+priStr+<span class="jxr_string">"]."</span>); +<a name="653" href="#653">653</a> +<a name="654" href="#654">654</a> <strong class="jxr_keyword">if</strong>(INHERITED.equalsIgnoreCase(priStr) || NULL.equalsIgnoreCase(priStr)) { +<a name="655" href="#655">655</a> <strong class="jxr_keyword">if</strong>(isRoot) { +<a name="656" href="#656">656</a> LogLog.error(<span class="jxr_string">"Root level cannot be inherited. Ignoring directive."</span>); +<a name="657" href="#657">657</a> } <strong class="jxr_keyword">else</strong> { +<a name="658" href="#658">658</a> logger.setLevel(<strong class="jxr_keyword">null</strong>); +<a name="659" href="#659">659</a> } +<a name="660" href="#660">660</a> } <strong class="jxr_keyword">else</strong> { +<a name="661" href="#661">661</a> String className = subst(element.getAttribute(CLASS_ATTR)); +<a name="662" href="#662">662</a> <strong class="jxr_keyword">if</strong>(EMPTY_STR.equals(className)) { +<a name="663" href="#663">663</a> logger.setLevel(OptionConverter.toLevel(priStr, Level.DEBUG)); +<a name="664" href="#664">664</a> } <strong class="jxr_keyword">else</strong> { +<a name="665" href="#665">665</a> LogLog.debug(<span class="jxr_string">"Desired Level sub-class: ["</span>+className+']'); +<a name="666" href="#666">666</a> <strong class="jxr_keyword">try</strong> { +<a name="667" href="#667">667</a> Class clazz = Loader.loadClass(className); +<a name="668" href="#668">668</a> Method toLevelMethod = clazz.getMethod(<span class="jxr_string">"toLevel"</span>, +<a name="669" href="#669">669</a> ONE_STRING_PARAM); +<a name="670" href="#670">670</a> Level pri = (Level) toLevelMethod.invoke(<strong class="jxr_keyword">null</strong>, +<a name="671" href="#671">671</a> <strong class="jxr_keyword">new</strong> Object[] {priStr}); +<a name="672" href="#672">672</a> logger.setLevel(pri); +<a name="673" href="#673">673</a> } <strong class="jxr_keyword">catch</strong> (Exception oops) { +<a name="674" href="#674">674</a> <strong class="jxr_keyword">if</strong> (oops instanceof InterruptedException || oops instanceof InterruptedIOException) { +<a name="675" href="#675">675</a> Thread.currentThread().interrupt(); +<a name="676" href="#676">676</a> } +<a name="677" href="#677">677</a> LogLog.error(<span class="jxr_string">"Could not create level ["</span>+priStr+ +<a name="678" href="#678">678</a> <span class="jxr_string">"]. Reported error follows."</span>, oops); +<a name="679" href="#679">679</a> <strong class="jxr_keyword">return</strong>; +<a name="680" href="#680">680</a> } +<a name="681" href="#681">681</a> } +<a name="682" href="#682">682</a> } +<a name="683" href="#683">683</a> LogLog.debug(catName + <span class="jxr_string">" level set to "</span> + logger.getLevel()); +<a name="684" href="#684">684</a> } +<a name="685" href="#685">685</a> +<a name="686" href="#686">686</a> <strong class="jxr_keyword">protected</strong> +<a name="687" href="#687">687</a> <strong class="jxr_keyword">void</strong> setParameter(Element elem, <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter) { +<a name="688" href="#688">688</a> String name = subst(elem.getAttribute(NAME_ATTR)); +<a name="689" href="#689">689</a> String value = (elem.getAttribute(VALUE_ATTR)); +<a name="690" href="#690">690</a> value = subst(OptionConverter.convertSpecialChars(value)); +<a name="691" href="#691">691</a> propSetter.setProperty(name, value); +<a name="692" href="#692">692</a> } +<a name="693" href="#693">693</a> +<a name="694" href="#694">694</a> +<a name="695" href="#695">695</a> <em class="jxr_javadoccomment">/**</em> +<a name="696" href="#696">696</a> <em class="jxr_javadoccomment"> Configure log4j using a &lt;code&gt;configuration&lt;/code&gt; element as</em> +<a name="697" href="#697">697</a> <em class="jxr_javadoccomment"> defined in the log4j.dtd. </em> +<a name="698" href="#698">698</a> +<a name="699" href="#699">699</a> <em class="jxr_javadoccomment"> */</em> +<a name="700" href="#700">700</a> <strong class="jxr_keyword">static</strong> +<a name="701" href="#701">701</a> <strong class="jxr_keyword">public</strong> +<a name="702" href="#702">702</a> <strong class="jxr_keyword">void</strong> configure (Element element) { +<a name="703" href="#703">703</a> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a> configurator = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a>(); +<a name="704" href="#704">704</a> configurator.doConfigure(element, LogManager.getLoggerRepository()); +<a name="705" href="#705">705</a> } +<a name="706" href="#706">706</a> +<a name="707" href="#707">707</a> <em class="jxr_javadoccomment">/**</em> +<a name="708" href="#708">708</a> <em class="jxr_javadoccomment"> Like {@link #configureAndWatch(String, long)} except that the</em> +<a name="709" href="#709">709</a> <em class="jxr_javadoccomment"> default delay as defined by {@link FileWatchdog#DEFAULT_DELAY} is</em> +<a name="710" href="#710">710</a> <em class="jxr_javadoccomment"> used. </em> +<a name="711" href="#711">711</a> +<a name="712" href="#712">712</a> <em class="jxr_javadoccomment"> @param configFilename A log4j configuration file in XML format.</em> +<a name="713" href="#713">713</a> +<a name="714" href="#714">714</a> <em class="jxr_javadoccomment"> */</em> +<a name="715" href="#715">715</a> <strong class="jxr_keyword">static</strong> +<a name="716" href="#716">716</a> <strong class="jxr_keyword">public</strong> +<a name="717" href="#717">717</a> <strong class="jxr_keyword">void</strong> configureAndWatch(String configFilename) { +<a name="718" href="#718">718</a> configureAndWatch(configFilename, FileWatchdog.DEFAULT_DELAY); +<a name="719" href="#719">719</a> } +<a name="720" href="#720">720</a> +<a name="721" href="#721">721</a> <em class="jxr_javadoccomment">/**</em> +<a name="722" href="#722">722</a> <em class="jxr_javadoccomment"> Read the configuration file &lt;code&gt;configFilename&lt;/code&gt; if it</em> +<a name="723" href="#723">723</a> <em class="jxr_javadoccomment"> exists. Moreover, a thread will be created that will periodically</em> +<a name="724" href="#724">724</a> <em class="jxr_javadoccomment"> check if &lt;code&gt;configFilename&lt;/code&gt; has been created or</em> +<a name="725" href="#725">725</a> <em class="jxr_javadoccomment"> modified. The period is determined by the &lt;code&gt;delay&lt;/code&gt;</em> +<a name="726" href="#726">726</a> <em class="jxr_javadoccomment"> argument. If a change or file creation is detected, then</em> +<a name="727" href="#727">727</a> <em class="jxr_javadoccomment"> &lt;code&gt;configFilename&lt;/code&gt; is read to configure log4j. </em> +<a name="728" href="#728">728</a> +<a name="729" href="#729">729</a> <em class="jxr_javadoccomment"> @param configFilename A log4j configuration file in XML format.</em> +<a name="730" href="#730">730</a> <em class="jxr_javadoccomment"> @param delay The delay in milliseconds to wait between each check.</em> +<a name="731" href="#731">731</a> <em class="jxr_javadoccomment"> */</em> +<a name="732" href="#732">732</a> <strong class="jxr_keyword">static</strong> +<a name="733" href="#733">733</a> <strong class="jxr_keyword">public</strong> +<a name="734" href="#734">734</a> <strong class="jxr_keyword">void</strong> configureAndWatch(String configFilename, <strong class="jxr_keyword">long</strong> delay) { +<a name="735" href="#735">735</a> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">XMLWatchdog</a> xdog = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">XMLWatchdog</a>(configFilename); +<a name="736" href="#736">736</a> xdog.setDelay(delay); +<a name="737" href="#737">737</a> xdog.start(); +<a name="738" href="#738">738</a> } +<a name="739" href="#739">739</a> +<a name="740" href="#740">740</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a> { +<a name="741" href="#741">741</a> Document parse(<strong class="jxr_keyword">final</strong> DocumentBuilder parser) <strong class="jxr_keyword">throws</strong> SAXException, IOException; +<a name="742" href="#742">742</a> } +<a name="743" href="#743">743</a> +<a name="744" href="#744">744</a> +<a name="745" href="#745">745</a> <strong class="jxr_keyword">public</strong> +<a name="746" href="#746">746</a> <strong class="jxr_keyword">void</strong> doConfigure(<strong class="jxr_keyword">final</strong> String filename, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) { +<a name="747" href="#747">747</a> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a> action = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a>() { +<a name="748" href="#748">748</a> <strong class="jxr_keyword">public</strong> Document parse(<strong class="jxr_keyword">final</strong> DocumentBuilder parser) <strong class="jxr_keyword">throws</strong> SAXException, IOException { +<a name="749" href="#749">749</a> <strong class="jxr_keyword">return</strong> parser.parse(<strong class="jxr_keyword">new</strong> File(filename)); +<a name="750" href="#750">750</a> } +<a name="751" href="#751">751</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="752" href="#752">752</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"file ["</span> + filename + <span class="jxr_string">"]"</span>; +<a name="753" href="#753">753</a> } +<a name="754" href="#754">754</a> }; +<a name="755" href="#755">755</a> doConfigure(action, repository); +<a name="756" href="#756">756</a> } +<a name="757" href="#757">757</a> +<a name="758" href="#758">758</a> +<a name="759" href="#759">759</a> <strong class="jxr_keyword">public</strong> +<a name="760" href="#760">760</a> <strong class="jxr_keyword">void</strong> doConfigure(<strong class="jxr_keyword">final</strong> URL url, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) { +<a name="761" href="#761">761</a> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a> action = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a>() { +<a name="762" href="#762">762</a> <strong class="jxr_keyword">public</strong> Document parse(<strong class="jxr_keyword">final</strong> DocumentBuilder parser) <strong class="jxr_keyword">throws</strong> SAXException, IOException { +<a name="763" href="#763">763</a> URLConnection uConn = url.openConnection(); +<a name="764" href="#764">764</a> uConn.setUseCaches(false); +<a name="765" href="#765">765</a> InputSource src = <strong class="jxr_keyword">new</strong> InputSource(uConn.getInputStream()); +<a name="766" href="#766">766</a> src.setSystemId(url.toString()); +<a name="767" href="#767">767</a> <strong class="jxr_keyword">return</strong> parser.parse(src); +<a name="768" href="#768">768</a> } +<a name="769" href="#769">769</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="770" href="#770">770</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"url ["</span> + url.toString() + <span class="jxr_string">"]"</span>; +<a name="771" href="#771">771</a> } +<a name="772" href="#772">772</a> }; +<a name="773" href="#773">773</a> doConfigure(action, repository); +<a name="774" href="#774">774</a> } +<a name="775" href="#775">775</a> +<a name="776" href="#776">776</a> <em class="jxr_javadoccomment">/**</em> +<a name="777" href="#777">777</a> <em class="jxr_javadoccomment"> Configure log4j by reading in a log4j.dtd compliant XML</em> +<a name="778" href="#778">778</a> <em class="jxr_javadoccomment"> configuration file.</em> +<a name="779" href="#779">779</a> +<a name="780" href="#780">780</a> <em class="jxr_javadoccomment"> */</em> +<a name="781" href="#781">781</a> <strong class="jxr_keyword">public</strong> +<a name="782" href="#782">782</a> <strong class="jxr_keyword">void</strong> doConfigure(<strong class="jxr_keyword">final</strong> InputStream inputStream, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) +<a name="783" href="#783">783</a> <strong class="jxr_keyword">throws</strong> FactoryConfigurationError { +<a name="784" href="#784">784</a> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a> action = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a>() { +<a name="785" href="#785">785</a> <strong class="jxr_keyword">public</strong> Document parse(<strong class="jxr_keyword">final</strong> DocumentBuilder parser) <strong class="jxr_keyword">throws</strong> SAXException, IOException { +<a name="786" href="#786">786</a> InputSource inputSource = <strong class="jxr_keyword">new</strong> InputSource(inputStream); +<a name="787" href="#787">787</a> inputSource.setSystemId(<span class="jxr_string">"dummy://log4j.dtd"</span>); +<a name="788" href="#788">788</a> <strong class="jxr_keyword">return</strong> parser.parse(inputSource); +<a name="789" href="#789">789</a> } +<a name="790" href="#790">790</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="791" href="#791">791</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"input stream ["</span> + inputStream.toString() + <span class="jxr_string">"]"</span>; +<a name="792" href="#792">792</a> } +<a name="793" href="#793">793</a> }; +<a name="794" href="#794">794</a> doConfigure(action, repository); +<a name="795" href="#795">795</a> } +<a name="796" href="#796">796</a> +<a name="797" href="#797">797</a> <em class="jxr_javadoccomment">/**</em> +<a name="798" href="#798">798</a> <em class="jxr_javadoccomment"> Configure log4j by reading in a log4j.dtd compliant XML</em> +<a name="799" href="#799">799</a> <em class="jxr_javadoccomment"> configuration file.</em> +<a name="800" href="#800">800</a> +<a name="801" href="#801">801</a> <em class="jxr_javadoccomment"> */</em> +<a name="802" href="#802">802</a> <strong class="jxr_keyword">public</strong> +<a name="803" href="#803">803</a> <strong class="jxr_keyword">void</strong> doConfigure(<strong class="jxr_keyword">final</strong> Reader reader, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) +<a name="804" href="#804">804</a> <strong class="jxr_keyword">throws</strong> FactoryConfigurationError { +<a name="805" href="#805">805</a> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a> action = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a>() { +<a name="806" href="#806">806</a> <strong class="jxr_keyword">public</strong> Document parse(<strong class="jxr_keyword">final</strong> DocumentBuilder parser) <strong class="jxr_keyword">throws</strong> SAXException, IOException { +<a name="807" href="#807">807</a> InputSource inputSource = <strong class="jxr_keyword">new</strong> InputSource(reader); +<a name="808" href="#808">808</a> inputSource.setSystemId(<span class="jxr_string">"dummy://log4j.dtd"</span>); +<a name="809" href="#809">809</a> <strong class="jxr_keyword">return</strong> parser.parse(inputSource); +<a name="810" href="#810">810</a> } +<a name="811" href="#811">811</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="812" href="#812">812</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"reader ["</span> + reader.toString() + <span class="jxr_string">"]"</span>; +<a name="813" href="#813">813</a> } +<a name="814" href="#814">814</a> }; +<a name="815" href="#815">815</a> doConfigure(action, repository); +<a name="816" href="#816">816</a> } +<a name="817" href="#817">817</a> +<a name="818" href="#818">818</a> <em class="jxr_javadoccomment">/**</em> +<a name="819" href="#819">819</a> <em class="jxr_javadoccomment"> Configure log4j by reading in a log4j.dtd compliant XML</em> +<a name="820" href="#820">820</a> <em class="jxr_javadoccomment"> configuration file.</em> +<a name="821" href="#821">821</a> +<a name="822" href="#822">822</a> <em class="jxr_javadoccomment"> */</em> +<a name="823" href="#823">823</a> <strong class="jxr_keyword">protected</strong> +<a name="824" href="#824">824</a> <strong class="jxr_keyword">void</strong> doConfigure(<strong class="jxr_keyword">final</strong> InputSource inputSource, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) +<a name="825" href="#825">825</a> <strong class="jxr_keyword">throws</strong> FactoryConfigurationError { +<a name="826" href="#826">826</a> <strong class="jxr_keyword">if</strong> (inputSource.getSystemId() == <strong class="jxr_keyword">null</strong>) { +<a name="827" href="#827">827</a> inputSource.setSystemId(<span class="jxr_string">"dummy://log4j.dtd"</span>); +<a name="828" href="#828">828</a> } +<a name="829" href="#829">829</a> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a> action = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a>() { +<a name="830" href="#830">830</a> <strong class="jxr_keyword">public</strong> Document parse(<strong class="jxr_keyword">final</strong> DocumentBuilder parser) <strong class="jxr_keyword">throws</strong> SAXException, IOException { +<a name="831" href="#831">831</a> <strong class="jxr_keyword">return</strong> parser.parse(inputSource); +<a name="832" href="#832">832</a> } +<a name="833" href="#833">833</a> <strong class="jxr_keyword">public</strong> String toString() { +<a name="834" href="#834">834</a> <strong class="jxr_keyword">return</strong> <span class="jxr_string">"input source ["</span> + inputSource.toString() + <span class="jxr_string">"]"</span>; +<a name="835" href="#835">835</a> } +<a name="836" href="#836">836</a> }; +<a name="837" href="#837">837</a> doConfigure(action, repository); +<a name="838" href="#838">838</a> } +<a name="839" href="#839">839</a> +<a name="840" href="#840">840</a> +<a name="841" href="#841">841</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> doConfigure(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">ParseAction</a> action, <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) +<a name="842" href="#842">842</a> <strong class="jxr_keyword">throws</strong> FactoryConfigurationError { +<a name="843" href="#843">843</a> DocumentBuilderFactory dbf = <strong class="jxr_keyword">null</strong>; +<a name="844" href="#844">844</a> <strong class="jxr_keyword">this</strong>.repository = repository; +<a name="845" href="#845">845</a> <strong class="jxr_keyword">try</strong> { +<a name="846" href="#846">846</a> LogLog.debug(<span class="jxr_string">"System property is :"</span>+ +<a name="847" href="#847">847</a> OptionConverter.getSystemProperty(dbfKey, +<a name="848" href="#848">848</a> <strong class="jxr_keyword">null</strong>)); +<a name="849" href="#849">849</a> dbf = DocumentBuilderFactory.newInstance(); +<a name="850" href="#850">850</a> LogLog.debug(<span class="jxr_string">"Standard DocumentBuilderFactory search succeded."</span>); +<a name="851" href="#851">851</a> LogLog.debug(<span class="jxr_string">"DocumentBuilderFactory is: "</span>+dbf.getClass().getName()); +<a name="852" href="#852">852</a> } <strong class="jxr_keyword">catch</strong>(FactoryConfigurationError fce) { +<a name="853" href="#853">853</a> Exception e = fce.getException(); +<a name="854" href="#854">854</a> LogLog.debug(<span class="jxr_string">"Could not instantiate a DocumentBuilderFactory."</span>, e); +<a name="855" href="#855">855</a> <strong class="jxr_keyword">throw</strong> fce; +<a name="856" href="#856">856</a> } +<a name="857" href="#857">857</a> +<a name="858" href="#858">858</a> <strong class="jxr_keyword">try</strong> { +<a name="859" href="#859">859</a> dbf.setValidating(<strong class="jxr_keyword">true</strong>); +<a name="860" href="#860">860</a> +<a name="861" href="#861">861</a> DocumentBuilder docBuilder = dbf.newDocumentBuilder(); +<a name="862" href="#862">862</a> +<a name="863" href="#863">863</a> docBuilder.setErrorHandler(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/SAXErrorHandler.html">SAXErrorHandler</a>()); +<a name="864" href="#864">864</a> docBuilder.setEntityResolver(<strong class="jxr_keyword">new</strong> Log4jEntityResolver()); +<a name="865" href="#865">865</a> +<a name="866" href="#866">866</a> Document doc = action.parse(docBuilder); +<a name="867" href="#867">867</a> parse(doc.getDocumentElement()); +<a name="868" href="#868">868</a> } <strong class="jxr_keyword">catch</strong> (Exception e) { +<a name="869" href="#869">869</a> <strong class="jxr_keyword">if</strong> (e instanceof InterruptedException || e instanceof InterruptedIOException) { +<a name="870" href="#870">870</a> Thread.currentThread().interrupt(); +<a name="871" href="#871">871</a> } +<a name="872" href="#872">872</a> <em class="jxr_comment">// I know this is miserable...</em> +<a name="873" href="#873">873</a> LogLog.error(<span class="jxr_string">"Could not parse "</span>+ action.toString() + <span class="jxr_string">"."</span>, e); +<a name="874" href="#874">874</a> } +<a name="875" href="#875">875</a> } +<a name="876" href="#876">876</a> +<a name="877" href="#877">877</a> <em class="jxr_javadoccomment">/**</em> +<a name="878" href="#878">878</a> <em class="jxr_javadoccomment"> Configure by taking in an DOM element. </em> +<a name="879" href="#879">879</a> <em class="jxr_javadoccomment"> */</em> +<a name="880" href="#880">880</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> doConfigure(Element element, <a href="../../../../org/apache/log4j/spi/LoggerRepository.html">LoggerRepository</a> repository) { +<a name="881" href="#881">881</a> <strong class="jxr_keyword">this</strong>.repository = repository; +<a name="882" href="#882">882</a> parse(element); +<a name="883" href="#883">883</a> } +<a name="884" href="#884">884</a> +<a name="885" href="#885">885</a> +<a name="886" href="#886">886</a> <em class="jxr_javadoccomment">/**</em> +<a name="887" href="#887">887</a> <em class="jxr_javadoccomment"> A static version of {@link #doConfigure(String, LoggerRepository)}. */</em> +<a name="888" href="#888">888</a> <strong class="jxr_keyword">static</strong> +<a name="889" href="#889">889</a> <strong class="jxr_keyword">public</strong> +<a name="890" href="#890">890</a> <strong class="jxr_keyword">void</strong> configure(String filename) <strong class="jxr_keyword">throws</strong> FactoryConfigurationError { +<a name="891" href="#891">891</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a>().doConfigure(filename, +<a name="892" href="#892">892</a> LogManager.getLoggerRepository()); +<a name="893" href="#893">893</a> } +<a name="894" href="#894">894</a> +<a name="895" href="#895">895</a> <em class="jxr_javadoccomment">/**</em> +<a name="896" href="#896">896</a> <em class="jxr_javadoccomment"> A static version of {@link #doConfigure(URL, LoggerRepository)}.</em> +<a name="897" href="#897">897</a> <em class="jxr_javadoccomment"> */</em> +<a name="898" href="#898">898</a> <strong class="jxr_keyword">static</strong> +<a name="899" href="#899">899</a> <strong class="jxr_keyword">public</strong> +<a name="900" href="#900">900</a> <strong class="jxr_keyword">void</strong> configure(URL url) <strong class="jxr_keyword">throws</strong> FactoryConfigurationError { +<a name="901" href="#901">901</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a>().doConfigure(url, LogManager.getLoggerRepository()); +<a name="902" href="#902">902</a> } +<a name="903" href="#903">903</a> +<a name="904" href="#904">904</a> <em class="jxr_javadoccomment">/**</em> +<a name="905" href="#905">905</a> <em class="jxr_javadoccomment"> Used internally to configure the log4j framework by parsing a DOM</em> +<a name="906" href="#906">906</a> <em class="jxr_javadoccomment"> tree of XML elements based on &lt;a</em> +<a name="907" href="#907">907</a> <em class="jxr_javadoccomment"> href="doc-files/log4j.dtd"&gt;log4j.dtd&lt;/a&gt;.</em> +<a name="908" href="#908">908</a> <em class="jxr_javadoccomment"> </em> +<a name="909" href="#909">909</a> <em class="jxr_javadoccomment"> */</em> +<a name="910" href="#910">910</a> <strong class="jxr_keyword">protected</strong> +<a name="911" href="#911">911</a> <strong class="jxr_keyword">void</strong> parse(Element element) { +<a name="912" href="#912">912</a> +<a name="913" href="#913">913</a> String rootElementName = element.getTagName(); +<a name="914" href="#914">914</a> +<a name="915" href="#915">915</a> <strong class="jxr_keyword">if</strong> (!rootElementName.equals(CONFIGURATION_TAG)) { +<a name="916" href="#916">916</a> <strong class="jxr_keyword">if</strong>(rootElementName.equals(OLD_CONFIGURATION_TAG)) { +<a name="917" href="#917">917</a> LogLog.warn(<span class="jxr_string">"The &lt;"</span>+OLD_CONFIGURATION_TAG+ +<a name="918" href="#918">918</a> <span class="jxr_string">"&gt; element has been deprecated."</span>); +<a name="919" href="#919">919</a> LogLog.warn(<span class="jxr_string">"Use the &lt;"</span>+CONFIGURATION_TAG+<span class="jxr_string">"&gt; element instead."</span>); +<a name="920" href="#920">920</a> } <strong class="jxr_keyword">else</strong> { +<a name="921" href="#921">921</a> LogLog.error(<span class="jxr_string">"DOM element is - not a &lt;"</span>+CONFIGURATION_TAG+<span class="jxr_string">"&gt; element."</span>); +<a name="922" href="#922">922</a> <strong class="jxr_keyword">return</strong>; +<a name="923" href="#923">923</a> } +<a name="924" href="#924">924</a> } +<a name="925" href="#925">925</a> +<a name="926" href="#926">926</a> +<a name="927" href="#927">927</a> String debugAttrib = subst(element.getAttribute(INTERNAL_DEBUG_ATTR)); +<a name="928" href="#928">928</a> +<a name="929" href="#929">929</a> LogLog.debug(<span class="jxr_string">"debug attribute= \&quot;"</span> + debugAttrib +<span class="jxr_string">"\&quot;."</span>); +<a name="930" href="#930">930</a> <em class="jxr_comment">// if the log4j.dtd is not specified in the XML file, then the</em> +<a name="931" href="#931">931</a> <em class="jxr_comment">// "debug" attribute is returned as the empty string.</em> +<a name="932" href="#932">932</a> <strong class="jxr_keyword">if</strong>(!debugAttrib.equals(<span class="jxr_string">""</span>) &amp;&amp; !debugAttrib.equals(<span class="jxr_string">"null"</span>)) { +<a name="933" href="#933">933</a> LogLog.setInternalDebugging(OptionConverter.toBoolean(debugAttrib, <strong class="jxr_keyword">true</strong>)); +<a name="934" href="#934">934</a> } <strong class="jxr_keyword">else</strong> { +<a name="935" href="#935">935</a> LogLog.debug(<span class="jxr_string">"Ignoring "</span> + INTERNAL_DEBUG_ATTR + <span class="jxr_string">" attribute."</span>); +<a name="936" href="#936">936</a> } +<a name="937" href="#937">937</a> +<a name="938" href="#938">938</a> <em class="jxr_comment">//</em> +<a name="939" href="#939">939</a> <em class="jxr_comment">// reset repository before configuration if reset="true"</em> +<a name="940" href="#940">940</a> <em class="jxr_comment">// on configuration element.</em> +<a name="941" href="#941">941</a> <em class="jxr_comment">//</em> +<a name="942" href="#942">942</a> String resetAttrib = subst(element.getAttribute(RESET_ATTR)); +<a name="943" href="#943">943</a> LogLog.debug(<span class="jxr_string">"reset attribute= \&quot;"</span> + resetAttrib +<span class="jxr_string">"\&quot;."</span>); +<a name="944" href="#944">944</a> <strong class="jxr_keyword">if</strong>(!(<span class="jxr_string">""</span>.equals(resetAttrib))) { +<a name="945" href="#945">945</a> <strong class="jxr_keyword">if</strong> (OptionConverter.toBoolean(resetAttrib, false)) { +<a name="946" href="#946">946</a> repository.resetConfiguration(); +<a name="947" href="#947">947</a> } +<a name="948" href="#948">948</a> } +<a name="949" href="#949">949</a> +<a name="950" href="#950">950</a> +<a name="951" href="#951">951</a> +<a name="952" href="#952">952</a> String confDebug = subst(element.getAttribute(CONFIG_DEBUG_ATTR)); +<a name="953" href="#953">953</a> <strong class="jxr_keyword">if</strong>(!confDebug.equals(<span class="jxr_string">""</span>) &amp;&amp; !confDebug.equals(<span class="jxr_string">"null"</span>)) { +<a name="954" href="#954">954</a> LogLog.warn(<span class="jxr_string">"The \&quot;"</span>+CONFIG_DEBUG_ATTR+<span class="jxr_string">"\&quot; attribute is deprecated."</span>); +<a name="955" href="#955">955</a> LogLog.warn(<span class="jxr_string">"Use the \&quot;"</span>+INTERNAL_DEBUG_ATTR+<span class="jxr_string">"\&quot; attribute instead."</span>); +<a name="956" href="#956">956</a> LogLog.setInternalDebugging(OptionConverter.toBoolean(confDebug, <strong class="jxr_keyword">true</strong>)); +<a name="957" href="#957">957</a> } +<a name="958" href="#958">958</a> +<a name="959" href="#959">959</a> String thresholdStr = subst(element.getAttribute(THRESHOLD_ATTR)); +<a name="960" href="#960">960</a> LogLog.debug(<span class="jxr_string">"Threshold =\&quot;"</span> + thresholdStr +<span class="jxr_string">"\&quot;."</span>); +<a name="961" href="#961">961</a> <strong class="jxr_keyword">if</strong>(!<span class="jxr_string">""</span>.equals(thresholdStr) &amp;&amp; !<span class="jxr_string">"null"</span>.equals(thresholdStr)) { +<a name="962" href="#962">962</a> repository.setThreshold(thresholdStr); +<a name="963" href="#963">963</a> } +<a name="964" href="#964">964</a> +<a name="965" href="#965">965</a> <em class="jxr_comment">//Hashtable appenderBag = new Hashtable(11);</em> +<a name="966" href="#966">966</a> +<a name="967" href="#967">967</a> <em class="jxr_comment">/*<em class="jxr_comment"> Building Appender objects, placing them in a local namespace</em></em> +<a name="968" href="#968">968</a> <em class="jxr_comment"> for future reference */</em> +<a name="969" href="#969">969</a> +<a name="970" href="#970">970</a> <em class="jxr_comment">// First configure each category factory under the root element.</em> +<a name="971" href="#971">971</a> <em class="jxr_comment">// Category factories need to be configured before any of</em> +<a name="972" href="#972">972</a> <em class="jxr_comment">// categories they support.</em> +<a name="973" href="#973">973</a> <em class="jxr_comment">//</em> +<a name="974" href="#974">974</a> String tagName = <strong class="jxr_keyword">null</strong>; +<a name="975" href="#975">975</a> Element currentElement = <strong class="jxr_keyword">null</strong>; +<a name="976" href="#976">976</a> Node currentNode = <strong class="jxr_keyword">null</strong>; +<a name="977" href="#977">977</a> NodeList children = element.getChildNodes(); +<a name="978" href="#978">978</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> length = children.getLength(); +<a name="979" href="#979">979</a> +<a name="980" href="#980">980</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> loop = 0; loop &lt; length; loop++) { +<a name="981" href="#981">981</a> currentNode = children.item(loop); +<a name="982" href="#982">982</a> <strong class="jxr_keyword">if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="983" href="#983">983</a> currentElement = (Element) currentNode; +<a name="984" href="#984">984</a> tagName = currentElement.getTagName(); +<a name="985" href="#985">985</a> +<a name="986" href="#986">986</a> <strong class="jxr_keyword">if</strong> (tagName.equals(CATEGORY_FACTORY_TAG) || tagName.equals(LOGGER_FACTORY_TAG)) { +<a name="987" href="#987">987</a> parseCategoryFactory(currentElement); +<a name="988" href="#988">988</a> } +<a name="989" href="#989">989</a> } +<a name="990" href="#990">990</a> } +<a name="991" href="#991">991</a> +<a name="992" href="#992">992</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> loop = 0; loop &lt; length; loop++) { +<a name="993" href="#993">993</a> currentNode = children.item(loop); +<a name="994" href="#994">994</a> <strong class="jxr_keyword">if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="995" href="#995">995</a> currentElement = (Element) currentNode; +<a name="996" href="#996">996</a> tagName = currentElement.getTagName(); +<a name="997" href="#997">997</a> +<a name="998" href="#998">998</a> <strong class="jxr_keyword">if</strong> (tagName.equals(CATEGORY) || tagName.equals(LOGGER)) { +<a name="999" href="#999">999</a> parseCategory(currentElement); +<a name="1000" href="#1000">1000</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (tagName.equals(ROOT_TAG)) { +<a name="1001" href="#1001">1001</a> parseRoot(currentElement); +<a name="1002" href="#1002">1002</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(tagName.equals(RENDERER_TAG)) { +<a name="1003" href="#1003">1003</a> parseRenderer(currentElement); +<a name="1004" href="#1004">1004</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong>(tagName.equals(THROWABLE_RENDERER_TAG)) { +<a name="1005" href="#1005">1005</a> <strong class="jxr_keyword">if</strong> (repository instanceof ThrowableRendererSupport) { +<a name="1006" href="#1006">1006</a> <a href="../../../../org/apache/log4j/spi/ThrowableRenderer.html">ThrowableRenderer</a> tr = parseThrowableRenderer(currentElement); +<a name="1007" href="#1007">1007</a> <strong class="jxr_keyword">if</strong> (tr != <strong class="jxr_keyword">null</strong>) { +<a name="1008" href="#1008">1008</a> ((<a href="../../../../org/apache/log4j/spi/ThrowableRendererSupport.html">ThrowableRendererSupport</a>) repository).setThrowableRenderer(tr); +<a name="1009" href="#1009">1009</a> } +<a name="1010" href="#1010">1010</a> } +<a name="1011" href="#1011">1011</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (!(tagName.equals(APPENDER_TAG) +<a name="1012" href="#1012">1012</a> || tagName.equals(CATEGORY_FACTORY_TAG) +<a name="1013" href="#1013">1013</a> || tagName.equals(LOGGER_FACTORY_TAG))) { +<a name="1014" href="#1014">1014</a> quietParseUnrecognizedElement(repository, currentElement, props); +<a name="1015" href="#1015">1015</a> } +<a name="1016" href="#1016">1016</a> } +<a name="1017" href="#1017">1017</a> } +<a name="1018" href="#1018">1018</a> } +<a name="1019" href="#1019">1019</a> +<a name="1020" href="#1020">1020</a> +<a name="1021" href="#1021">1021</a> <strong class="jxr_keyword">protected</strong> +<a name="1022" href="#1022">1022</a> String subst(<strong class="jxr_keyword">final</strong> String value) { +<a name="1023" href="#1023">1023</a> <strong class="jxr_keyword">return</strong> subst(value, props); +<a name="1024" href="#1024">1024</a> } +<a name="1025" href="#1025">1025</a> +<a name="1026" href="#1026">1026</a> <em class="jxr_javadoccomment">/**</em> +<a name="1027" href="#1027">1027</a> <em class="jxr_javadoccomment"> * Substitutes property value for any references in expression.</em> +<a name="1028" href="#1028">1028</a> <em class="jxr_javadoccomment"> *</em> +<a name="1029" href="#1029">1029</a> <em class="jxr_javadoccomment"> * @param value value from configuration file, may contain</em> +<a name="1030" href="#1030">1030</a> <em class="jxr_javadoccomment"> * literal text, property references or both</em> +<a name="1031" href="#1031">1031</a> <em class="jxr_javadoccomment"> * @param props properties.</em> +<a name="1032" href="#1032">1032</a> <em class="jxr_javadoccomment"> * @return evaluated expression, may still contain expressions</em> +<a name="1033" href="#1033">1033</a> <em class="jxr_javadoccomment"> * if unable to expand.</em> +<a name="1034" href="#1034">1034</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="1035" href="#1035">1035</a> <em class="jxr_javadoccomment"> */</em> +<a name="1036" href="#1036">1036</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String subst(<strong class="jxr_keyword">final</strong> String value, <strong class="jxr_keyword">final</strong> Properties props) { +<a name="1037" href="#1037">1037</a> <strong class="jxr_keyword">try</strong> { +<a name="1038" href="#1038">1038</a> <strong class="jxr_keyword">return</strong> OptionConverter.substVars(value, props); +<a name="1039" href="#1039">1039</a> } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) { +<a name="1040" href="#1040">1040</a> LogLog.warn(<span class="jxr_string">"Could not perform variable substitution."</span>, e); +<a name="1041" href="#1041">1041</a> <strong class="jxr_keyword">return</strong> value; +<a name="1042" href="#1042">1042</a> } +<a name="1043" href="#1043">1043</a> } +<a name="1044" href="#1044">1044</a> +<a name="1045" href="#1045">1045</a> +<a name="1046" href="#1046">1046</a> <em class="jxr_javadoccomment">/**</em> +<a name="1047" href="#1047">1047</a> <em class="jxr_javadoccomment"> * Sets a parameter based from configuration file content.</em> +<a name="1048" href="#1048">1048</a> <em class="jxr_javadoccomment"> *</em> +<a name="1049" href="#1049">1049</a> <em class="jxr_javadoccomment"> * @param elem param element, may not be null.</em> +<a name="1050" href="#1050">1050</a> <em class="jxr_javadoccomment"> * @param propSetter property setter, may not be null.</em> +<a name="1051" href="#1051">1051</a> <em class="jxr_javadoccomment"> * @param props properties</em> +<a name="1052" href="#1052">1052</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="1053" href="#1053">1053</a> <em class="jxr_javadoccomment"> */</em> +<a name="1054" href="#1054">1054</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setParameter(<strong class="jxr_keyword">final</strong> Element elem, +<a name="1055" href="#1055">1055</a> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter, +<a name="1056" href="#1056">1056</a> <strong class="jxr_keyword">final</strong> Properties props) { +<a name="1057" href="#1057">1057</a> String name = subst(elem.getAttribute(<span class="jxr_string">"name"</span>), props); +<a name="1058" href="#1058">1058</a> String value = (elem.getAttribute(<span class="jxr_string">"value"</span>)); +<a name="1059" href="#1059">1059</a> value = subst(OptionConverter.convertSpecialChars(value), props); +<a name="1060" href="#1060">1060</a> propSetter.setProperty(name, value); +<a name="1061" href="#1061">1061</a> } +<a name="1062" href="#1062">1062</a> +<a name="1063" href="#1063">1063</a> <em class="jxr_javadoccomment">/**</em> +<a name="1064" href="#1064">1064</a> <em class="jxr_javadoccomment"> * Creates an object and processes any nested param elements</em> +<a name="1065" href="#1065">1065</a> <em class="jxr_javadoccomment"> * but does not call activateOptions. If the class also supports</em> +<a name="1066" href="#1066">1066</a> <em class="jxr_javadoccomment"> * UnrecognizedElementParser, the parseUnrecognizedElement method</em> +<a name="1067" href="#1067">1067</a> <em class="jxr_javadoccomment"> * will be call for any child elements other than param.</em> +<a name="1068" href="#1068">1068</a> <em class="jxr_javadoccomment"> *</em> +<a name="1069" href="#1069">1069</a> <em class="jxr_javadoccomment"> * @param element element, may not be null.</em> +<a name="1070" href="#1070">1070</a> <em class="jxr_javadoccomment"> * @param props properties</em> +<a name="1071" href="#1071">1071</a> <em class="jxr_javadoccomment"> * @param expectedClass interface or class expected to be implemented</em> +<a name="1072" href="#1072">1072</a> <em class="jxr_javadoccomment"> * by created class</em> +<a name="1073" href="#1073">1073</a> <em class="jxr_javadoccomment"> * @return created class or null.</em> +<a name="1074" href="#1074">1074</a> <em class="jxr_javadoccomment"> * @throws Exception thrown if the contain object should be abandoned.</em> +<a name="1075" href="#1075">1075</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="1076" href="#1076">1076</a> <em class="jxr_javadoccomment"> */</em> +<a name="1077" href="#1077">1077</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Object parseElement(<strong class="jxr_keyword">final</strong> Element element, +<a name="1078" href="#1078">1078</a> <strong class="jxr_keyword">final</strong> Properties props, +<a name="1079" href="#1079">1079</a> <strong class="jxr_keyword">final</strong> Class expectedClass) <strong class="jxr_keyword">throws</strong> Exception { +<a name="1080" href="#1080">1080</a> String clazz = subst(element.getAttribute(<span class="jxr_string">"class"</span>), props); +<a name="1081" href="#1081">1081</a> Object instance = OptionConverter.instantiateByClassName(clazz, +<a name="1082" href="#1082">1082</a> expectedClass, <strong class="jxr_keyword">null</strong>); +<a name="1083" href="#1083">1083</a> +<a name="1084" href="#1084">1084</a> <strong class="jxr_keyword">if</strong> (instance != <strong class="jxr_keyword">null</strong>) { +<a name="1085" href="#1085">1085</a> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a> propSetter = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/config/PropertySetter.html">PropertySetter</a>(instance); +<a name="1086" href="#1086">1086</a> NodeList children = element.getChildNodes(); +<a name="1087" href="#1087">1087</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> length = children.getLength(); +<a name="1088" href="#1088">1088</a> +<a name="1089" href="#1089">1089</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> loop = 0; loop &lt; length; loop++) { +<a name="1090" href="#1090">1090</a> Node currentNode = children.item(loop); +<a name="1091" href="#1091">1091</a> <strong class="jxr_keyword">if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="1092" href="#1092">1092</a> Element currentElement = (Element) currentNode; +<a name="1093" href="#1093">1093</a> String tagName = currentElement.getTagName(); +<a name="1094" href="#1094">1094</a> <strong class="jxr_keyword">if</strong> (tagName.equals(<span class="jxr_string">"param"</span>)) { +<a name="1095" href="#1095">1095</a> setParameter(currentElement, propSetter, props); +<a name="1096" href="#1096">1096</a> } <strong class="jxr_keyword">else</strong> { +<a name="1097" href="#1097">1097</a> parseUnrecognizedElement(instance, currentElement, props); +<a name="1098" href="#1098">1098</a> } +<a name="1099" href="#1099">1099</a> } +<a name="1100" href="#1100">1100</a> } +<a name="1101" href="#1101">1101</a> <strong class="jxr_keyword">return</strong> instance; +<a name="1102" href="#1102">1102</a> } +<a name="1103" href="#1103">1103</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="1104" href="#1104">1104</a> } +<a name="1105" href="#1105">1105</a> +<a name="1106" href="#1106">1106</a> } +<a name="1107" href="#1107">1107</a> +<a name="1108" href="#1108">1108</a> +<a name="1109" href="#1109">1109</a> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">XMLWatchdog</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/helpers/FileWatchdog.html">FileWatchdog</a> { +<a name="1110" href="#1110">1110</a> +<a name="1111" href="#1111">1111</a> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">XMLWatchdog</a>(String filename) { +<a name="1112" href="#1112">1112</a> <strong class="jxr_keyword">super</strong>(filename); +<a name="1113" href="#1113">1113</a> } +<a name="1114" href="#1114">1114</a> +<a name="1115" href="#1115">1115</a> <em class="jxr_javadoccomment">/**</em> +<a name="1116" href="#1116">1116</a> <em class="jxr_javadoccomment"> Call {@link DOMConfigurator#configure(String)} with the</em> +<a name="1117" href="#1117">1117</a> <em class="jxr_javadoccomment"> &lt;code&gt;filename&lt;/code&gt; to reconfigure log4j. */</em> +<a name="1118" href="#1118">1118</a> <strong class="jxr_keyword">public</strong> +<a name="1119" href="#1119">1119</a> <strong class="jxr_keyword">void</strong> doOnChange() { +<a name="1120" href="#1120">1120</a> <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a>().doConfigure(filename, +<a name="1121" href="#1121">1121</a> LogManager.getLoggerRepository()); +<a name="1122" href="#1122">1122</a> } +<a name="1123" href="#1123">1123</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/Log4jEntityResolver.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/Log4jEntityResolver.html new file mode 100644 index 00000000000..3a6108f0f67 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/Log4jEntityResolver.html @@ -0,0 +1,65 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>Log4jEntityResolver xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/xml/Log4jEntityResolver.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.xml; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.xml.sax.EntityResolver; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.xml.sax.InputSource; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> java.io.InputStream; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayInputStream; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment">/**</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> * An {@link EntityResolver} specifically designed to return</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * &lt;code&gt;log4j.dtd&lt;/code&gt; which is embedded within the log4j jar</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> * file. </em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> *</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * @author Paul Austin</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * */</em> +<a name="34" href="#34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> Log4jEntityResolver implements EntityResolver { +<a name="35" href="#35">35</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PUBLIC_ID = <span class="jxr_string">"-//APACHE//DTD LOG4J 1.2//EN"</span>; +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">public</strong> InputSource resolveEntity (String publicId, String systemId) { +<a name="38" href="#38">38</a> <strong class="jxr_keyword">if</strong> (systemId.endsWith(<span class="jxr_string">"log4j.dtd"</span>) || PUBLIC_ID.equals(publicId)) { +<a name="39" href="#39">39</a> Class clazz = getClass(); +<a name="40" href="#40">40</a> InputStream in = clazz.getResourceAsStream(<span class="jxr_string">"/org/apache/log4j/xml/log4j.dtd"</span>); +<a name="41" href="#41">41</a> <strong class="jxr_keyword">if</strong> (in == <strong class="jxr_keyword">null</strong>) { +<a name="42" href="#42">42</a> LogLog.warn(<span class="jxr_string">"Could not find [log4j.dtd] using ["</span> + clazz.getClassLoader() +<a name="43" href="#43">43</a> + <span class="jxr_string">"] class loader, parsed without DTD."</span>); +<a name="44" href="#44">44</a> in = <strong class="jxr_keyword">new</strong> ByteArrayInputStream(<strong class="jxr_keyword">new</strong> byte[0]); +<a name="45" href="#45">45</a> } +<a name="46" href="#46">46</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> InputSource(in); +<a name="47" href="#47">47</a> } <strong class="jxr_keyword">else</strong> { +<a name="48" href="#48">48</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/SAXErrorHandler.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/SAXErrorHandler.html new file mode 100644 index 00000000000..dffb3db2ee0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/SAXErrorHandler.html @@ -0,0 +1,60 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>SAXErrorHandler xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/xml/SAXErrorHandler.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.xml; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.xml.sax.ErrorHandler; +<a name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.xml.sax.SAXParseException; +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.LogLog; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/SAXErrorHandler.html">SAXErrorHandler</a> implements ErrorHandler { +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong class="jxr_keyword">public</strong> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">void</strong> error(<strong class="jxr_keyword">final</strong> SAXParseException ex) { +<a name="28" href="#28">28</a> emitMessage(<span class="jxr_string">"Continuable parsing error "</span>, ex); +<a name="29" href="#29">29</a> } +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> +<a name="32" href="#32">32</a> <strong class="jxr_keyword">void</strong> fatalError(<strong class="jxr_keyword">final</strong> SAXParseException ex) { +<a name="33" href="#33">33</a> emitMessage(<span class="jxr_string">"Fatal parsing error "</span>, ex); +<a name="34" href="#34">34</a> } +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <strong class="jxr_keyword">public</strong> +<a name="37" href="#37">37</a> <strong class="jxr_keyword">void</strong> warning(<strong class="jxr_keyword">final</strong> SAXParseException ex) { +<a name="38" href="#38">38</a> emitMessage(<span class="jxr_string">"Parsing warning "</span>, ex); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> emitMessage(<strong class="jxr_keyword">final</strong> String msg, <strong class="jxr_keyword">final</strong> SAXParseException ex) { +<a name="42" href="#42">42</a> LogLog.warn(msg +ex.getLineNumber()+<span class="jxr_string">" and column "</span> +<a name="43" href="#43">43</a> +ex.getColumnNumber()); +<a name="44" href="#44">44</a> LogLog.warn(ex.getMessage(), ex.getException()); +<a name="45" href="#45">45</a> } +<a name="46" href="#46">46</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/UnrecognizedElementHandler.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/UnrecognizedElementHandler.html new file mode 100644 index 00000000000..832f2b61428 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/UnrecognizedElementHandler.html @@ -0,0 +1,56 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>UnrecognizedElementHandler xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> *</em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> *</em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.xml; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.w3c.dom.Element; +<a name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> java.util.Properties; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em class="jxr_javadoccomment">/**</em> +<a name="23" href="#23">23</a> <em class="jxr_javadoccomment"> * When implemented by an object configured by DOMConfigurator,</em> +<a name="24" href="#24">24</a> <em class="jxr_javadoccomment"> * the handle method will be called when an unrecognized child</em> +<a name="25" href="#25">25</a> <em class="jxr_javadoccomment"> * element is encountered. Unrecognized child elements of</em> +<a name="26" href="#26">26</a> <em class="jxr_javadoccomment"> * the log4j:configuration element will be dispatched to</em> +<a name="27" href="#27">27</a> <em class="jxr_javadoccomment"> * the logger repository if it supports this interface.</em> +<a name="28" href="#28">28</a> <em class="jxr_javadoccomment"> *</em> +<a name="29" href="#29">29</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment"> */</em> +<a name="31" href="#31">31</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> { +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment">/**</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * Called to inform a configured object when</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * an unrecognized child element is encountered.</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * @param element element, may not be null.</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * @param props properties in force, may be null.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> * @return true if configured object recognized the element</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * @throws Exception throw an exception to prevent activation</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * of the configured object.</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> */</em> +<a name="41" href="#41">41</a> <strong class="jxr_keyword">boolean</strong> parseUnrecognizedElement(Element element, Properties props) <strong class="jxr_keyword">throws</strong> Exception; +<a name="42" href="#42">42</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/XMLLayout.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/XMLLayout.html new file mode 100644 index 00000000000..53991445d9d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/XMLLayout.html @@ -0,0 +1,230 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> +<title>XMLLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/xml/XMLLayout.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="jxr_comment">/*</em> +<a name="2" href="#2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="jxr_comment"> * </em> +<a name="9" href="#9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="jxr_comment"> * </em> +<a name="11" href="#11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="jxr_comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <em class="jxr_comment">// Contributors: Mathias Bogaert</em> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong class="jxr_keyword">package</strong> org.apache.log4j.xml; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.Layout; +<a name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.helpers.Transform; +<a name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LocationInfo; +<a name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> java.util.Set; +<a name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> java.util.Arrays; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em class="jxr_javadoccomment">/**</em> +<a name="31" href="#31">31</a> <em class="jxr_javadoccomment"> * The output of the XMLLayout consists of a series of log4j:event</em> +<a name="32" href="#32">32</a> <em class="jxr_javadoccomment"> * elements as defined in the &lt;a</em> +<a name="33" href="#33">33</a> <em class="jxr_javadoccomment"> * href="log4j.dtd"&gt;log4j.dtd&lt;/a&gt;. It does not output a</em> +<a name="34" href="#34">34</a> <em class="jxr_javadoccomment"> * complete well-formed XML file. The output is designed to be</em> +<a name="35" href="#35">35</a> <em class="jxr_javadoccomment"> * included as an &lt;em&gt;external entity&lt;/em&gt; in a separate file to form</em> +<a name="36" href="#36">36</a> <em class="jxr_javadoccomment"> * a correct XML file.</em> +<a name="37" href="#37">37</a> <em class="jxr_javadoccomment"> *</em> +<a name="38" href="#38">38</a> <em class="jxr_javadoccomment"> * &lt;p&gt;For example, if &lt;code&gt;abc&lt;/code&gt; is the name of the file where</em> +<a name="39" href="#39">39</a> <em class="jxr_javadoccomment"> * the XMLLayout ouput goes, then a well-formed XML file would be:</em> +<a name="40" href="#40">40</a> <em class="jxr_javadoccomment"> *</em> +<a name="41" href="#41">41</a> <em class="jxr_javadoccomment"> &lt;pre&gt;</em> +<a name="42" href="#42">42</a> <em class="jxr_javadoccomment"> &amp;lt;?xml version="1.0" ?&amp;gt;</em> +<a name="43" href="#43">43</a> <em class="jxr_javadoccomment"> </em> +<a name="44" href="#44">44</a> <em class="jxr_javadoccomment"> &amp;lt;!DOCTYPE log4j:eventSet PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd" [&amp;lt;!ENTITY data SYSTEM "abc"&amp;gt;]&amp;gt;</em> +<a name="45" href="#45">45</a> <em class="jxr_javadoccomment"> </em> +<a name="46" href="#46">46</a> <em class="jxr_javadoccomment"> &amp;lt;log4j:eventSet version="1.2" xmlns:log4j="<a href="http://jakarta.apache.org/log4j/" target="alexandria_uri">http://jakarta.apache.org/log4j/</a>"&amp;gt;</em> +<a name="47" href="#47">47</a> <em class="jxr_javadoccomment"> &amp;nbsp;&amp;nbsp;&amp;data;</em> +<a name="48" href="#48">48</a> <em class="jxr_javadoccomment"> &amp;lt;/log4j:eventSet&amp;gt;</em> +<a name="49" href="#49">49</a> <em class="jxr_javadoccomment"> &lt;/pre&gt;</em> +<a name="50" href="#50">50</a> <em class="jxr_javadoccomment"> </em> +<a name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * &lt;p&gt;This approach enforces the independence of the XMLLayout and the</em> +<a name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * appender where it is embedded.</em> +<a name="53" href="#53">53</a> <em class="jxr_javadoccomment"> *</em> +<a name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * &lt;p&gt;The &lt;code&gt;version&lt;/code&gt; attribute helps components to correctly</em> +<a name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * intrepret output generated by XMLLayout. The value of this</em> +<a name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * attribute should be "1.1" for output generated by log4j versions</em> +<a name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * prior to log4j 1.2 (final release) and "1.2" for relase 1.2 and</em> +<a name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * later.</em> +<a name="59" href="#59">59</a> <em class="jxr_javadoccomment"> *</em> +<a name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * Appenders using this layout should have their encoding</em> +<a name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * set to UTF-8 or UTF-16, otherwise events containing</em> +<a name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * non ASCII characters could result in corrupted</em> +<a name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * log files. </em> +<a name="64" href="#64">64</a> <em class="jxr_javadoccomment"> *</em> +<a name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * @since 0.9.0 </em> +<a name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * */</em> +<a name="68" href="#68">68</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/xml/XMLLayout.html">XMLLayout</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/log4j/Layout.html">Layout</a> { +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_SIZE = 256; +<a name="71" href="#71">71</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> UPPER_LIMIT = 2048; +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <strong class="jxr_keyword">private</strong> StringBuffer buf = <strong class="jxr_keyword">new</strong> StringBuffer(DEFAULT_SIZE); +<a name="74" href="#74">74</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> locationInfo = false; +<a name="75" href="#75">75</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> properties = false; +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em class="jxr_javadoccomment">/**</em> +<a name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * The &lt;b&gt;LocationInfo&lt;/b&gt; option takes a boolean value. By default,</em> +<a name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * it is set to false which means there will be no location</em> +<a name="80" href="#80">80</a> <em class="jxr_javadoccomment"> * information output by this layout. If the the option is set to</em> +<a name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * true, then the file name and line number of the statement at the</em> +<a name="82" href="#82">82</a> <em class="jxr_javadoccomment"> * origin of the log statement will be output.</em> +<a name="83" href="#83">83</a> <em class="jxr_javadoccomment"> *</em> +<a name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * &lt;p&gt;If you are embedding this layout within an {@link</em> +<a name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * org.apache.log4j.net.SMTPAppender} then make sure to set the</em> +<a name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * &lt;b&gt;LocationInfo&lt;/b&gt; option of that appender as well.</em> +<a name="87" href="#87">87</a> <em class="jxr_javadoccomment"> * */</em> +<a name="88" href="#88">88</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLocationInfo(<strong class="jxr_keyword">boolean</strong> flag) { +<a name="89" href="#89">89</a> locationInfo = flag; +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em class="jxr_javadoccomment">/**</em> +<a name="93" href="#93">93</a> <em class="jxr_javadoccomment"> Returns the current value of the &lt;b&gt;LocationInfo&lt;/b&gt; option.</em> +<a name="94" href="#94">94</a> <em class="jxr_javadoccomment"> */</em> +<a name="95" href="#95">95</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getLocationInfo() { +<a name="96" href="#96">96</a> <strong class="jxr_keyword">return</strong> locationInfo; +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em class="jxr_javadoccomment">/**</em> +<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * Sets whether MDC key-value pairs should be output, default false.</em> +<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> * @param flag new value.</em> +<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> */</em> +<a name="104" href="#104">104</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setProperties(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> flag) { +<a name="105" href="#105">105</a> properties = flag; +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">/**</em> +<a name="109" href="#109">109</a> <em class="jxr_javadoccomment"> * Gets whether MDC key-value pairs should be output.</em> +<a name="110" href="#110">110</a> <em class="jxr_javadoccomment"> * @return true if MDC key-value pairs are output.</em> +<a name="111" href="#111">111</a> <em class="jxr_javadoccomment"> * @since 1.2.15</em> +<a name="112" href="#112">112</a> <em class="jxr_javadoccomment"> */</em> +<a name="113" href="#113">113</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getProperties() { +<a name="114" href="#114">114</a> <strong class="jxr_keyword">return</strong> properties; +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> No options to activate. */</em> +<a name="118" href="#118">118</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> activateOptions() { +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">/**</em> +<a name="123" href="#123">123</a> <em class="jxr_javadoccomment"> * Formats a {@link org.apache.log4j.spi.LoggingEvent} in conformance with the log4j.dtd.</em> +<a name="124" href="#124">124</a> <em class="jxr_javadoccomment"> * */</em> +<a name="125" href="#125">125</a> <strong class="jxr_keyword">public</strong> String format(<strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEvent.html">LoggingEvent</a> event) { +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <em class="jxr_comment">// Reset working buffer. If the buffer is too large, then we need a new</em> +<a name="128" href="#128">128</a> <em class="jxr_comment">// one in order to avoid the penalty of creating a large array.</em> +<a name="129" href="#129">129</a> <strong class="jxr_keyword">if</strong>(buf.capacity() &gt; UPPER_LIMIT) { +<a name="130" href="#130">130</a> buf = <strong class="jxr_keyword">new</strong> StringBuffer(DEFAULT_SIZE); +<a name="131" href="#131">131</a> } <strong class="jxr_keyword">else</strong> { +<a name="132" href="#132">132</a> buf.setLength(0); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="jxr_comment">// We yield to the \r\n heresy.</em> +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> buf.append(<span class="jxr_string">"&lt;log4j:event logger=\&quot;"</span>); +<a name="138" href="#138">138</a> buf.append(Transform.escapeTags(event.getLoggerName())); +<a name="139" href="#139">139</a> buf.append(<span class="jxr_string">"\&quot; timestamp=\&quot;"</span>); +<a name="140" href="#140">140</a> buf.append(event.timeStamp); +<a name="141" href="#141">141</a> buf.append(<span class="jxr_string">"\&quot; level=\&quot;"</span>); +<a name="142" href="#142">142</a> buf.append(Transform.escapeTags(String.valueOf(event.getLevel()))); +<a name="143" href="#143">143</a> buf.append(<span class="jxr_string">"\&quot; thread=\&quot;"</span>); +<a name="144" href="#144">144</a> buf.append(Transform.escapeTags(event.getThreadName())); +<a name="145" href="#145">145</a> buf.append(<span class="jxr_string">"\&quot;&gt;\r\n"</span>); +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> buf.append(<span class="jxr_string">"&lt;log4j:message&gt;&lt;![CDATA["</span>); +<a name="148" href="#148">148</a> <em class="jxr_comment">// Append the rendered message. Also make sure to escape any</em> +<a name="149" href="#149">149</a> <em class="jxr_comment">// existing CDATA sections.</em> +<a name="150" href="#150">150</a> Transform.appendEscapingCDATA(buf, event.getRenderedMessage()); +<a name="151" href="#151">151</a> buf.append(<span class="jxr_string">"]]&gt;&lt;/log4j:message&gt;\r\n"</span>); +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> String ndc = event.getNDC(); +<a name="154" href="#154">154</a> <strong class="jxr_keyword">if</strong>(ndc != <strong class="jxr_keyword">null</strong>) { +<a name="155" href="#155">155</a> buf.append(<span class="jxr_string">"&lt;log4j:NDC&gt;&lt;![CDATA["</span>); +<a name="156" href="#156">156</a> Transform.appendEscapingCDATA(buf, ndc); +<a name="157" href="#157">157</a> buf.append(<span class="jxr_string">"]]&gt;&lt;/log4j:NDC&gt;\r\n"</span>); +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> String[] s = event.getThrowableStrRep(); +<a name="161" href="#161">161</a> <strong class="jxr_keyword">if</strong>(s != <strong class="jxr_keyword">null</strong>) { +<a name="162" href="#162">162</a> buf.append(<span class="jxr_string">"&lt;log4j:throwable&gt;&lt;![CDATA["</span>); +<a name="163" href="#163">163</a> <strong class="jxr_keyword">for</strong>(<strong class="jxr_keyword">int</strong> i = 0; i &lt; s.length; i++) { +<a name="164" href="#164">164</a> Transform.appendEscapingCDATA(buf, s[i]); +<a name="165" href="#165">165</a> buf.append(<span class="jxr_string">"\r\n"</span>); +<a name="166" href="#166">166</a> } +<a name="167" href="#167">167</a> buf.append(<span class="jxr_string">"]]&gt;&lt;/log4j:throwable&gt;\r\n"</span>); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <strong class="jxr_keyword">if</strong>(locationInfo) { +<a name="171" href="#171">171</a> <a href="../../../../org/apache/log4j/spi/LocationInfo.html">LocationInfo</a> locationInfo = event.getLocationInformation(); +<a name="172" href="#172">172</a> buf.append(<span class="jxr_string">"&lt;log4j:locationInfo class=\&quot;"</span>); +<a name="173" href="#173">173</a> buf.append(Transform.escapeTags(locationInfo.getClassName())); +<a name="174" href="#174">174</a> buf.append(<span class="jxr_string">"\&quot; method=\&quot;"</span>); +<a name="175" href="#175">175</a> buf.append(Transform.escapeTags(locationInfo.getMethodName())); +<a name="176" href="#176">176</a> buf.append(<span class="jxr_string">"\&quot; file=\&quot;"</span>); +<a name="177" href="#177">177</a> buf.append(Transform.escapeTags(locationInfo.getFileName())); +<a name="178" href="#178">178</a> buf.append(<span class="jxr_string">"\&quot; line=\&quot;"</span>); +<a name="179" href="#179">179</a> buf.append(locationInfo.getLineNumber()); +<a name="180" href="#180">180</a> buf.append(<span class="jxr_string">"\&quot;/&gt;\r\n"</span>); +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> <strong class="jxr_keyword">if</strong> (properties) { +<a name="184" href="#184">184</a> Set keySet = event.getPropertyKeySet(); +<a name="185" href="#185">185</a> <strong class="jxr_keyword">if</strong> (keySet.size() &gt; 0) { +<a name="186" href="#186">186</a> buf.append(<span class="jxr_string">"&lt;log4j:properties&gt;\r\n"</span>); +<a name="187" href="#187">187</a> Object[] keys = keySet.toArray(); +<a name="188" href="#188">188</a> Arrays.sort(keys); +<a name="189" href="#189">189</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; keys.length; i++) { +<a name="190" href="#190">190</a> String key = keys[i].toString(); +<a name="191" href="#191">191</a> Object val = event.getMDC(key); +<a name="192" href="#192">192</a> <strong class="jxr_keyword">if</strong> (val != <strong class="jxr_keyword">null</strong>) { +<a name="193" href="#193">193</a> buf.append(<span class="jxr_string">"&lt;log4j:data name=\&quot;"</span>); +<a name="194" href="#194">194</a> buf.append(Transform.escapeTags(key)); +<a name="195" href="#195">195</a> buf.append(<span class="jxr_string">"\&quot; value=\&quot;"</span>); +<a name="196" href="#196">196</a> buf.append(Transform.escapeTags(String.valueOf(val))); +<a name="197" href="#197">197</a> buf.append(<span class="jxr_string">"\&quot;/&gt;\r\n"</span>); +<a name="198" href="#198">198</a> } +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> buf.append(<span class="jxr_string">"&lt;/log4j:properties&gt;\r\n"</span>); +<a name="201" href="#201">201</a> } +<a name="202" href="#202">202</a> } +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> buf.append(<span class="jxr_string">"&lt;/log4j:event&gt;\r\n\r\n"</span>); +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <strong class="jxr_keyword">return</strong> buf.toString(); +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">/**</em> +<a name="210" href="#210">210</a> <em class="jxr_javadoccomment"> The XMLLayout prints and does not ignore exceptions. Hence the</em> +<a name="211" href="#211">211</a> <em class="jxr_javadoccomment"> return value &lt;code&gt;false&lt;/code&gt;.</em> +<a name="212" href="#212">212</a> <em class="jxr_javadoccomment"> */</em> +<a name="213" href="#213">213</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> ignoresThrowable() { +<a name="214" href="#214">214</a> <strong class="jxr_keyword">return</strong> false; +<a name="215" href="#215">215</a> } +<a name="216" href="#216">216</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/package-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/package-frame.html new file mode 100644 index 00000000000..0e37ef63e05 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/package-frame.html @@ -0,0 +1,42 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.xml</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.xml</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="DOMConfigurator.html" target="classFrame">DOMConfigurator</a> + </li> + <li> + <a href="Log4jEntityResolver.html" target="classFrame">Log4jEntityResolver</a> + </li> + <li> + <a href="DOMConfigurator.html" target="classFrame">ParseAction</a> + </li> + <li> + <a href="SAXErrorHandler.html" target="classFrame">SAXErrorHandler</a> + </li> + <li> + <a href="UnrecognizedElementHandler.html" target="classFrame">UnrecognizedElementHandler</a> + </li> + <li> + <a href="XMLLayout.html" target="classFrame">XMLLayout</a> + </li> + <li> + <a href="DOMConfigurator.html" target="classFrame">XMLWatchdog</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/package-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/package-summary.html new file mode 100644 index 00000000000..976a5c91794 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/org/apache/log4j/xml/package-summary.html @@ -0,0 +1,97 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference Package org.apache.log4j.xml</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.xml</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="DOMConfigurator.html" target="classFrame">DOMConfigurator</a> + </td> + </tr> + <tr> + <td> + <a href="Log4jEntityResolver.html" target="classFrame">Log4jEntityResolver</a> + </td> + </tr> + <tr> + <td> + <a href="DOMConfigurator.html" target="classFrame">ParseAction</a> + </td> + </tr> + <tr> + <td> + <a href="SAXErrorHandler.html" target="classFrame">SAXErrorHandler</a> + </td> + </tr> + <tr> + <td> + <a href="UnrecognizedElementHandler.html" target="classFrame">UnrecognizedElementHandler</a> + </td> + </tr> + <tr> + <td> + <a href="XMLLayout.html" target="classFrame">XMLLayout</a> + </td> + </tr> + <tr> + <td> + <a href="DOMConfigurator.html" target="classFrame">XMLWatchdog</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/overview-frame.html b/thirdparty/apache-log4j-1.2.16/site/xref/overview-frame.html new file mode 100644 index 00000000000..b6d09a052df --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/overview-frame.html @@ -0,0 +1,82 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference</title> + <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="allclasses-frame.html" target="packageFrame">All Classes</a> + </h3> + + <h3>Packages</h3> + + <ul> + <li> + <a href="org/apache/log4j/package-frame.html" target="packageFrame">org.apache.log4j</a> + </li> + <li> + <a href="org/apache/log4j/chainsaw/package-frame.html" target="packageFrame">org.apache.log4j.chainsaw</a> + </li> + <li> + <a href="org/apache/log4j/config/package-frame.html" target="packageFrame">org.apache.log4j.config</a> + </li> + <li> + <a href="org/apache/log4j/helpers/package-frame.html" target="packageFrame">org.apache.log4j.helpers</a> + </li> + <li> + <a href="org/apache/log4j/jdbc/package-frame.html" target="packageFrame">org.apache.log4j.jdbc</a> + </li> + <li> + <a href="org/apache/log4j/jmx/package-frame.html" target="packageFrame">org.apache.log4j.jmx</a> + </li> + <li> + <a href="org/apache/log4j/lf5/package-frame.html" target="packageFrame">org.apache.log4j.lf5</a> + </li> + <li> + <a href="org/apache/log4j/lf5/util/package-frame.html" target="packageFrame">org.apache.log4j.lf5.util</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/package-frame.html" target="packageFrame">org.apache.log4j.lf5.viewer</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/package-frame.html" target="packageFrame">org.apache.log4j.lf5.viewer.categoryexplorer</a> + </li> + <li> + <a href="org/apache/log4j/lf5/viewer/configure/package-frame.html" target="packageFrame">org.apache.log4j.lf5.viewer.configure</a> + </li> + <li> + <a href="org/apache/log4j/net/package-frame.html" target="packageFrame">org.apache.log4j.net</a> + </li> + <li> + <a href="org/apache/log4j/nt/package-frame.html" target="packageFrame">org.apache.log4j.nt</a> + </li> + <li> + <a href="org/apache/log4j/or/package-frame.html" target="packageFrame">org.apache.log4j.or</a> + </li> + <li> + <a href="org/apache/log4j/or/jms/package-frame.html" target="packageFrame">org.apache.log4j.or.jms</a> + </li> + <li> + <a href="org/apache/log4j/or/sax/package-frame.html" target="packageFrame">org.apache.log4j.or.sax</a> + </li> + <li> + <a href="org/apache/log4j/pattern/package-frame.html" target="packageFrame">org.apache.log4j.pattern</a> + </li> + <li> + <a href="org/apache/log4j/spi/package-frame.html" target="packageFrame">org.apache.log4j.spi</a> + </li> + <li> + <a href="org/apache/log4j/varia/package-frame.html" target="packageFrame">org.apache.log4j.varia</a> + </li> + <li> + <a href="org/apache/log4j/xml/package-frame.html" target="packageFrame">org.apache.log4j.xml</a> + </li> + </ul> + + </body> +</html> + diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/overview-summary.html b/thirdparty/apache-log4j-1.2.16/site/xref/overview-summary.html new file mode 100644 index 00000000000..c9f0e90cf00 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/site/xref/overview-summary.html @@ -0,0 +1,159 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Log4j 1.2.16 Reference</title> + <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li class="selected">Overview</li> + <li>Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="overview-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Apache Log4j 1.2.16 Reference</h2> + + <table class="summary"> + <thead> + <tr> + <th>Packages</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="org/apache/log4j/package-summary.html">org.apache.log4j</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/chainsaw/package-summary.html">org.apache.log4j.chainsaw</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/config/package-summary.html">org.apache.log4j.config</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/jdbc/package-summary.html">org.apache.log4j.jdbc</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/jmx/package-summary.html">org.apache.log4j.jmx</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/lf5/package-summary.html">org.apache.log4j.lf5</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/lf5/util/package-summary.html">org.apache.log4j.lf5.util</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/lf5/viewer/package-summary.html">org.apache.log4j.lf5.viewer</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/lf5/viewer/categoryexplorer/package-summary.html">org.apache.log4j.lf5.viewer.categoryexplorer</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/lf5/viewer/configure/package-summary.html">org.apache.log4j.lf5.viewer.configure</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/net/package-summary.html">org.apache.log4j.net</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/or/package-summary.html">org.apache.log4j.or</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/or/jms/package-summary.html">org.apache.log4j.or.jms</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/or/sax/package-summary.html">org.apache.log4j.or.sax</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</a> + </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li class="selected">Overview</li> + <li>Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="overview-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <hr /> + Copyright &copy; 1999-2010 Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/site/xref/stylesheet.css b/thirdparty/apache-log4j-1.2.16/site/xref/stylesheet.css new file mode 100644 index 00000000000..bebb6622847 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/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/thirdparty/apache-log4j-1.2.16/src/assembly/bin.xml b/thirdparty/apache-log4j-1.2.16/src/assembly/bin.xml new file mode 100644 index 00000000000..e0d085f516c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/assembly/bin.xml @@ -0,0 +1,68 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<assembly> + <id>bin</id> + <formats> + <format>zip</format> + <format>tar.gz</format> + </formats> + <baseDirectory>apache-log4j-${project.version}</baseDirectory> + <includeSiteDirectory>true</includeSiteDirectory> + <fileSets> + <fileSet> + <includes> + <include>*.txt</include> + <include>*.sample</include> + <include>*.xml</include> + <include>INSTALL</include> + <include>KEYS</include> + <include>LICENSE</include> + <include>NOTICE</include> + <include>contribs/**</include> + <include>examples/**</include> + <include>src/assembly/**</include> + <include>src/changes/**</include> + <include>src/main/**</include> + <include>src/ntdll/*</include> + <include>src/performance/**</include> + <include>src/site/**</include> + <include>tests/README</include> + <include>tests/*.xml</include> + <include>tests/*.sample</include> + <include>tests/*.bat</include> + <include>tests/input/**</include> + <include>tests/resources/**</include> + <include>tests/src/**</include> + <include>tests/witness/**</include> + </includes> + </fileSet> + </fileSets> + <files> + <file> + <source>target/log4j-${project.version}.jar</source> + </file> + <file> + <source>target/NTEventLogAppender.dll</source> + <fileMode>0755</fileMode> + </file> + <file> + <source>NTEventLogAppender.amd64.dll</source> + <fileMode>0755</fileMode> + </file> + </files> +</assembly> diff --git a/thirdparty/apache-log4j-1.2.16/src/changes/changes.xml b/thirdparty/apache-log4j-1.2.16/src/changes/changes.xml new file mode 100644 index 00000000000..178e6e331ad --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/changes/changes.xml @@ -0,0 +1,1861 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<document> + <properties> + <title>Apache log4j 1.2</title> + </properties> + <body> + + <release version="1.2.16" date="2010-04-06" description="Maintenance release"> + <action issue="43313">log4j 1.2.16 release preparation.</action> + <action action="add" issue="42842">Create a public identifier for log4j.dtd ("-//APACHE//DTD LOG4J 1.2//EN")</action> + <action action="fix" issue="44108">TelnetAppender misses messages when one of many clients disconnect.</action> + <action action="fix" issue="44109">TelnetAppender throws null pointers at log time when socket couldn't be opened.</action> + <action action="fix" issue="44032">ThrowableInformation.getThrowableStringRep can return null strings.</action> + <action action="fix" issue="43298">log4j.dtd defines class attribute for category element, but not for logger.</action> + <action action="fix" issue="43314">SMTPAppender.setSMTPUserName and others missing @since tags.</action> + <action action="fix" issue="43618">Request for compile-on-Windows help file in src package.</action> + <action action="fix" issue="43599">AsyncAppender failing on changing message objects.</action> + <action action="fix" issue="43325">Subst-mechanism in DOMConfigurator broken.</action> + <action action="fix" issue="43374">DailyRollingFileAppender may lose messages during failed rollover attempts.</action> + <action action="fix" issue="43312">Fix mangled source-repository.html.</action> + <action action="fix" issue="43387">Minor documentation changes.</action> + <action action="fix" issue="43304">Make javamail, jmx, jms dependencies optional in pom.xml.</action> + <action action="add" issue="43874">SocketHubAppender should expose actual port in use to extending classes.</action> + <action action="add" issue="44551">SocketHubAppender in the 1.2.16 does not support a scroll back buffer or application property</action> + <action action="add" issue="41156">Give log4j threads reasonable names.</action> + <action action="fix" issue="44888">LocationInfo can report wrong caller when other class names contain logger class name as substring.</action> + <action action="fix" issue="45426">ErrorHandlerTestCase is not run and does not pass.</action> + <action action="fix" issue="45485">Agent.java is sole dependency on jmxtools.jar with Java 5+.</action> + <action action="fix" issue="44517">Eliminate compile dependency on non-redistributable JMS reference implementation.</action> + <action action="fix" issue="37182">Exception in call to toString of message propagates to caller.</action> + <action action="fix" issue="45299">Javadoc class index corrupted by JDBCAppender deprecation warning.</action> + <action action="fix" issue="43867">Improve warning message when log4j is accessed after unload by Tomcat.</action> + <action action="fix" issue="45335">NullPointerException in NDC.remove after unload by Tomcat.</action> + <action action="fix" issue="36384">Configuring triggering/rolling policies should be supported through properties.</action> + <action action="fix" issue="25747">More explanations when hitting WARN No appenders could be found for logger.</action> + <action action="fix" issue="45039">Use Throwable.getStackTrace to obtain location when running on JDK 1.4 or later.</action> + <action action="fix" issue="44745">AsyncAppender fails on changing Throwable.</action> + <action action="fix" issue="44899">Extra NPE error message when using missing appender class with DOMConfigurator.</action> + <action action="fix" issue="44555">org.apache.log4j.varia.NullAppender lacks static accessor to static instance.</action> + <action action="fix" issue="43849">Javadoc for Appender.getName implies that the return value will be unique and not null.</action> + <action action="fix" issue="40888">Weekly rotation problem in Europe.</action> + <action action="fix" issue="43282">Add OSGi packaging info.</action> + <action action="fix" issue="44157">InterruptedIOException ignored by log4j.</action> + <action action="fix" issue="40246">HierarchyDynamicMBean missing unregister MBean</action> + <action action="fix" issue="45635">Support -Dm2_repo option on Maven build for non-default Maven repository location.</action> + <action action="fix" issue="45636">2 tests for DateLayout are failing because of ill initialized DateFormat.</action> + <action action="fix" issue="45659">Incorrect user mailing list URL.</action> + <action action="add" issue="44386">NTEventLogAppender.dll for 64-bit editions for Microsoft Windows.</action> + <action action="add" issue="45721">Add configuration of ThrowableRenderers and add org.apache.log4j.EnhancedThrowableRenderer.</action> + <action action="fix" issue="45969">SMTPAppender does not force evaluation of message at request time</action> + <action action="add" issue="25355">Support SSL transport in SMTPAppender</action> + <action action="add" issue="45980">SMTPAppender should have a sendOnClose option</action> + <action action="fix" issue="45982">Support %X layout specification to output all MDC key-value pairs</action> + <action action="add" issue="45990">Add replyTo attribute to SMTPAppender</action> + <action action="fix" issue="44644">SMTPAppender does not properly encode subject or content containing non-ASCII characters.</action> + <action action="fix" issue="46388">Clarify javadoc of Layout.ignoresThrowable.</action> + <action action="fix" issue="46271">SyslogAppender.append throws exception if layout is not set.</action> + <action action="fix" issue="46144">QuietWriter.write should check for null argument.</action> + <action action="fix" issue="46512">LogFactor5 CategoryPath doesn't replace slashes with dots.</action> + <action action="fix" issue="46163">LoggerDynamicMBean needs to handle a null Appender name.</action> + <action action="fix" issue="45704">DOMConfigurator.configure(URL) fails on JRE 1.5.0_16.</action> + <action action="add" issue="44357">Document system properties used by log4j.</action> + <action action="fix" issue="44038">log4j is susceptible to exceptions in Exception.printStackTrace.</action> + <action action="fix" issue="46741">Misuse of "it's" in Javadoc for PatternLayout.</action> + <action action="add" issue="47142">Add SMTPAppender.formatBody to simplify extension.</action> + <action action="fix" issue="46404">Failure when toString() of throwable performs logging in SocketAppender, SocketHubAppender and JDBCAppender.</action> + <action action="fix" issue="47465">Reading configuration files from a JAR locks the JAR file</action> + <action action="add" issue="38061">PropertyConfigurator does not support configuring ErrorHandler.</action> + <action action="fix" issue="47967">log4j.ignoreTCL should apply to the getResource method in addition to the loadClass method of org.apache.log4j.helpers.Loader.</action> + <action action="fix" issue="46539">The QuietWriter class does not live up to its published contract.</action> + <action action="add" issue="46983">More Debug output for log4j auto-configure requested.</action> + <action action="add" issue="47107">Add MDC.clear().</action> + <action action="fix" issue="47547">NullPointerException when calling Category.removeAllAppenders().</action> + <action action="add" issue="28647">Allow overriding of flush strategy.</action> + <action action="fix" issue="47350">Add recommendation to use EnhancedPatternLayout to avoid synchronization issues in PatternLayout</action> + <action action="fix" issue="45481">Source contains unnecessary imports.</action> + <action action="add" issue="48159">Add LoggingEvent.removeProperty</action> + <action action="add" issue="48187">Typo ("two three goals") in log4j FAQ</action> + <action action="fix" issue="48531">Unit tests fail for system dates after 2009-12-31</action> + <action action="fix" issue="48604">Download page does not have link to KEYS file</action> + <action action="add" issue="49812">Add parameterized logging utility classes LogMF and LogSF from extras companion.</action> + <action action="add" issue="48927">Add EnhancedPatternLayout from extras companion.</action> + <action action="fix" issue="48784">Links to example code broken in the JavaDocs</action> + <action action="fix" issue="48953">Unused imports and variables in test code cause gcj compile warnings.</action> + <action action="fix" issue="49002">Unit tests fail on Apache Harmony and gcj due to stack trace expectations.</action> + <action action="fix" issue="49003">SocketServerTestCase.test8 fails on Apache Harmony.</action> + <action action="fix" issue="49004">TestLogMF.testDebugDate fails on gcj.</action> + <action action="fix" issue="49005">TelnetAppenderTest.testIt fails on gcj.</action> + <action action="fix" issue="49006">Eclipse Java Compiler and gcj do not support -source=1.2.</action> + <action action="fix" issue="49007">CachedDateFormatTest fails on Apache Harmony.</action> + <action action="add" issue="49010">Add %p{-2} pattern to EnhancedPatternLayout to drop two leading elements from name.</action> + <action action="add" issue="48902">Add %throwable{n} and {-n} pattern to EnhancedPatternLayout to print n or drop last n lines.</action> + </release> + + + <release version="1.2.15" date="2007-08-24" description="SyslogAppender enhancements, NTEventLogAppender and Maven build."> + <action issue="40951">log4j 1.2.15 release preparation.</action> + <action action="add" issue="40212">Switch to NOPLoggerRepository if application reloading nulls repositorySelector.</action> + <action action="add" issue="43202">Add 'application' property support to SocketAppender (from 1.3)</action> + <action action="fix" issue="43200">Log4JEntityResolver will return null if log4j.dtd can not be found on classpath.</action> + <action action="fix" issue="37736">HierarchyEventListener.removeAppenderEvent never called.</action> + <action action="fix" issue="37560">XMLLayout does not escape CDATA sections within NDC or throwables.</action> + <action action="add" issue="33502">Added test to confirm that DOMConfigurator.configureAndWatch does configure.</action> + <action action="fix" issue="32527">Default initialization with XML file halts program if JAXP not available.</action> + <action action="add" issue="17531">Add reset option to PropertyConfigurator and DOMConfigurator.</action> + <action action="fix" issue="14350">Error message always logged to LogLog when calling close on TelnetAppender.</action> + <action action="add" issue="32572">Add configurable triggeringPolicy for SMTPAppender.</action> + <action action="fix" issue="43181">NullPointerException in MDC on Tomcat reload.</action> + <action action="fix" issue="34874">Notice to use UTF-8 or UTF-16 encoding added to XML and HTMLLayout javadoc.</action> + <action action="fix" issue="34875">XML and HTMLLayout do not always escape special characters.</action> + <action action="add" issue="43078">Optionally render MDC content in XMLLayout</action> + <action action="fix" issue="42694">Typo in log4j.dtd concerning threshold.</action> + <action action="fix" issue="42611">ERFATestCase fails on some JDK's.</action> + <action action="fix" issue="42585">SocketNode can leak Sockets.</action> + <action action="fix" issue="37930">Migrate to Maven based build and documentation.</action> + <action action="fix" issue="40604">Prepare Maven release bundles.</action> + <action action="fix" issue="42283">Eclipse compiler warning cleanup.</action> + <action action="fix" issue="42281">JRockit VM and java-gcj fail unit tests.</action> + <action action="fix" issue="21796">SocketAppender does not use FallbackErrorHandler</action> + <action action="add" issue="42257">Enhance DOMConfigurator to delegate unrecognized elements to configured object.</action> + <action action="add" issue="42108">Add LoggingEvent accessors.</action> + <action action="fix" issue="42017">InstanceAlreadyExistsException using MBean.</action> + <action action="fix" issue="29227">Reduce first connection failure severity in SocketAppender</action> + <action action="fix" issue="42087">SyslogAppender does not limit packets to 1024 bytes.</action> + <action action="fix" issue="41040">SyslogAppender: Added "header" property which if set to true will cause the appender + to produce the HEADER part (timestamp and hostname) of the syslog packet. + Default value is false for compatibility with previous behavior.</action> + <action action="fix" issue="40161">SyslogAppender also now sends any header from the associated + layout when activateOptions is called or first logging event is sent and + any footer when the appender is closed.</action> + <action action="fix" issue="37282">SyslogAppender leaks descriptors</action> + <action action="fix" issue="40502">SyslogAppender assumes all lines start with tab</action> + <action action="fix" issue="42087">SyslogAppender does not limit packet size to 1024 bytes</action> + + <action action="fix" issue="41169">NTEventLogAppender: Updated NTEventLogAppender.dll which corrects missing event messages + and which should work with earlier releases of log4j. + NTEventLogAppender.dll also now supports registration and unregistration + using regsvr32. If replacing an existing copy of NTEventLogAppender, + use "regsvr32 NTDllEventLogAppender.dll" or manually remove the + HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/Log4J + registry key.</action> + <action action="fix" issue="39437">NTEventLogAppender.dll performs unnecessary code page conversion using code copied from book.</action> + <action action="fix" issue="40944">PropertyConfigurator.configure(URL) does not close resource stream.</action> + <action action="fix" issue="40937">In Turkish locale level "info" is not equivalent to "INFO"</action> + <action action="fix" issue="41339">Javadoc of PatternLayout should use %n in TTCC layout examples</action> + <action action="fix" issue="41219">Stacktraces of exceptions disappear occassionally</action> + <action action="fix" issue="38680">Incorrect message when specified custom level class does not implement toLevel</action> + <action action="fix" issue="41487">Warning when configuring inner-class logger</action> + <action action="fix" issue="41186">AsyncAppender in 1.2.14 DiscardSummary events create NullPointerExceptions in layouts</action> + <action action="fix" issue="37864">Add target to generate binary and source compatibility report</action> + <action action="fix" issue="41708">PropertyPrinter.printOptions breaking signature change in log4j 1.2.9</action> + <action action="fix" issue="41735">RollingFileAppender may delete files during rollover</action> + <action action="fix" issue="33708">XMLConfiguration of loggerFactory does not work</action> + <action action="fix" issue="42087">SyslogAppender does not limit packet size to 1024 bytes</action> + <action action="fix" issue="40755">Update source per new ASF Header Policy.</action> + <action action="fix" issue="41373">DateLayoutTest fails if default Locale is not en_US.</action> + <action action="fix" issue="35324">Stacktrace may choke on null fields.</action> + <action action="add" issue="41575">Add projects.apache.org project descriptor.</action> +</release> + + <release version="1.2.14" date="2006-09-18" description="AsyncAppender rewrite, Syslog and SMTPAppender enhancements."> + <action action="fix" issue="38137">Monitor deadlock in AsyncAppender.</action> + <action action="fix" issue="28006">AsyncAppender: Dispatcher should run at normal prio.</action> + <action action="fix" issue="37904">AsyncAppender wait forever when buffer is full.</action> + <action action="add" issue="38982">Add non-blocking option for AsyncAppender.</action> + <action action="add" issue="39687">Add SyslogPort option to SyslogAppender.</action> + <action action="add" issue="19125">Add cc and bcc addresses to SMTPAppender.</action> + <action action="add" issue="24969">Add password authentication to SMTPAppender.</action> + <action action="fix" issue="40159"> NullPointerException in org.apache.log4j.NDC.get.</action> + <action action="fix" issue="36787"> org.apache.log4j.lf5.util.DateFormatManager.setTimeZone assignment error.</action> + <action action="fix" issue="38559"> Monthly logs not generated at midnight with DailyRollingFileAppender.</action> + <action action="fix" issue="40145"> PatternLayout specifier %r is not consistent with documentation.</action> + <action action="fix" issue="37119"> Space after log level causes default level to be used.</action> + <action action="fix" issue="39135"> Bad patterns in ISO8601DateFormat and DateTimeDateFormat.</action> + <action action="fix" issue="35743"> SyslogAppender throws NullPointerException upon misconfiguration.</action> + <action action="fix" issue="15501"> FallbackErrorHandler throws NullPointerException if no loggers are set.</action> + <action action="fix" issue="38564"> Bad documentation for WriterAppender.encoding.</action> + <action action="fix" issue="37866"> NTEventLogAppender not build, tested and placed in distribution.</action> + <action action="fix" issue="38662"> SMTPAppender does not output newlines between stack trace lines.</action> + <action action="fix" issue="30294"> SMTPAppender will not run within sandbox.</action> + <action action="fix" issue="16922"> MDC with SMTPAppender doesn't work.</action> + <action action="fix" issue="31507"> Misspelling in HierarchyDynamicMBean.</action> + <action action="fix" issue="35123"> Additivity not exported by PropertyPrinter.</action> + <action action="fix" issue="31003"> RollingFileAppender, if removed, can cause NullPointerExceptions.</action> + <action action="fix" issue="23021"> AsyncAppender blocks on thread death.</action> + <action action="fix" issue="40412"> NOTICE file added to distribution and jars.</action> + <action action="fix" issue="40378"> Chainsaw of log4j 1.2 does not show TRACE level.</action> + <action action="fix" issue="40501"> TRACE level missing in short introduction to log4j.</action> + <action action="fix" issue="37960"> Update site generation to velocity 1.4 and remove dependency on logging/site project.</action> + </release> + + <release version="1.2.13" date="2005-12-04" description="TRACE level missing info fixed, ConsoleAppender.follow added to make redirection following an optional behavior."> + <action action="fix" issue="36800">Location info missing for TRACE level messages.</action> + <action action="fix" issue="37122">Console appender now behaves as before to fix + compatibility problem with JBoss introduced in 1.2.12 release due to fix + for bug 31056. Can still be configured to detect changes in the System.out + and System.err streams as needed by setting the follow property.</action> + </release> + + <release version="1.2.12" date="2005-08-29" description="TRACE level introduced, ConsoleAppender modified to follow redirection of System.out"> + <action action="fix" issue="36262">Removed final qualifiers on member variables + in org.apache.log4j.chainsaw.LoggingReceiver which would cause + spurious compiler errors with JDK 1.1 and 1.2 javac compilers.</action> + + <action action="fix" issue="36267">Added a jndi.jar property to the build.xml.</action> + + <action action="fix" issue="37268">Added "release" target to build.xml.</action> + + <action action="fix" issue="36213">Removed references to obsolete documentation.</action> + + <action action="fix" issue="35965">Added protected accessors for member variables + topicConnection, topicSession, and topicPublisher.</action> + + <action action="fix" issue="34026">SyslogAppender now checks Layout.ignoresThrowable() just + like every other appender.</action> + + <action action="fix" issue="35947">DOMConfigurator would call LogLog.error to report + XML validation errors that caused no problems in the interpretation of the + configuration file.</action> + + <action action="fix" issue="14551">Fixed the JavaDoc links + for the XML sample files.</action> + + <action action="fix" issue="35654">Added getNext/setNext methods to org.apache.log4j.spi.Filter and deprecated + public "next" field. This mirrors the same change in the upcoming 1.3 + version and, hence, provides a migration path.</action> + + <action action="fix" issue="35711">Added o.a.log4j.Logger.trace(), o.a.log4j.Logger.isTraceEnabled() and + o.a.log4j.Level.TRACE</action> + + <action action="fix" issue="34758">Implemented serialization for Level.</action> + + <action action="fix" issue="31056">o.a.log4j.ConsoleAppender would ignore redirections + of System.out and System.err that occurred after configuration.</action> + + <action action="fix" issue="23705">o.a.log4j.xml.DOMConfigurator would not properly + interpret relative path names in external entity declarations.</action> + + <action action="fix" issue="35691">o.a.log4j.xml.XmlLayout would not properly escape + class names that contained '&lt;' or '&gt;'.</action> + + <action action="fix" issue="35052">Use of String.intern() in o.a.log4j.CategoryKey + would cause application to slow down.</action> + + <action action="fix" issue="9150">o.a.log4j.FileAppender would not create log file + if parent directory did not exist.</action> + + <action action="fix" issue="23021">o.a.log4j.AsyncAppender would deadlock if a + unchecked exception occurred in the attached appender causing the + dispatch thread to die.</action> + + <action action="fix" issue="35516">Added jdiff target to build.xml.</action> + + <action action="fix" issue="35831">log4j would not build with a JDK 1.5 javac.</action> + + <action action="fix" issue="35893">Added log4j 1.1 compatibility method + to o.a.l.helpers.Loader.</action> + + <action action="fix" issue="34981">Additional null terminating character in Windows + nteventlog.cpp code.</action> + + <action action="fix" issue="36332">Broken links to J2SE classes in javadocs.</action> + + </release> + + <release version="1.2.11" date="2005-06-18" description="JMS MessageRenderer fix"> + <action action="fix" issue="34491">o.a.log4j.or.jms.MessageRenderer + would not be compiled in the build.jms target.</action> + </release> + + <release version="1.2.10" date="2005-04-28" description="Version 1.2.10 was not released following the accepted rules and process of + the log4j project and Logging Services Project and was recalled and removed. + Please do not use version 1.2.10, it is not an official log4j release."> + <action>Version 1.2.10 was not released following the accepted rules and process of + the log4j project and Logging Services Project and was recalled and removed. + Please do not use version 1.2.10, it is not an official log4j release.</action> + </release> + + <release version="1.2.9" date="2004-11-01" description="Deprecation of obsolete methods"> + <action> Log4j version 1.2.9, is identical to version 1.2.8, except that + several key methods have been deprecated in preparation for version + 1.3.0, the next major release of log4j. These changes are intended to + enforce the rule that client code should never refer to the Category + class directly, but use the Logger class instead. Similarly, client + code should not refer to the Priority class but to the Level class + instead. + + For a more detailed discussion, refer to the document entitled + preparing for log4j 1.3 at: + + http://www.qos.ch/logging/preparingFor13.jsp +</action> + </release> + + + <release version="1.2.8" date="2003-02-19" description="Fixes to XMLAppender, DOMConfiguration, SocketAppender and JDBCAppender."> + <action action="fix" issue="11570">XMLAppender would throw a + NullPointerException if the input message was null. Many thanks to + David Vandegrift for reporting the bug and to Hendrik Brummermann for + supplying the patch.</action> + + <action action="fix" issue="12366">Various versions of Xerces would not parse + log4j configuration scripts expressed in XML format.</action> + + <action action="fix" issue="14827">The "removes" buffer used in the flushBuffer() method + of JDBCAppender is now cleared, solving the memory leak. Thanks to John + Landers for reporting the bug and suggesting the fix.</action> + + <action action="fix" issue="15599">SocketAppender now honors ReconnectionDelay of 0. + Many thanks to Scott Schram for reporting the bug and providing the fix.</action> + </release> + + <release version="1.2.7" date="2002-10-09" description="log4j.xml now checked during default configuration."> + <action>Log4j now searches for the file log4j.xml as well as the file + log4j.properties during log4j initialization.</action> + </release> + + + <release version="1.2.6" date="2002-07-31" description="LoggingEvent.getLoggerName() added, JMSAppender enhancements."> + <action action="add">Add of new options in JMSAppender and new command line arguments in + JMSSink.</action> + + <action action="add">Add new method getLoggerName() in LoggingEvent class. The + getLoggerName is the preferred way for accessing the logger + name. The public access categoryName field should not be accessed + directly. Similarly, added the getLevel method which is now the + preferred way of accessing the event's level. The public access + level field should not be accessed directly. The javadocs now mark + the categoryName and level fields as deprecated. + Modified existing appenders to comply with these new directives.</action> + + <action action="fix">Log4j now will check if a system property named "log4j.ignoreTCL" + is set. If it is set, then it will ignore the Thread Context + ClassLoader when loading classes. This solves the irritating + "appender is not assignable to Appender" messages observed when + log4j.jar is loaded by multiple class loaders. + The error reporting for this problem was also improved.</action> + + <action action="fix" issue="10528">Calling the MDC.get method with a null + argument would throw a NullPointerException.</action> + </release> + + <release version="1.2.5" date="2002-07-05" description="AsyncAppender.close now closes nested appender."> + <action action="fix" issue="10185">Calling an AsyncAppender close method also closes the embedded + appender instances.</action> + </release> + + <release version="1.2.4" date="2002-06-12" description="XMLLayout now handles embedded CDATA, JDBCAppender deprecated."> + <action>The JDBCAppender is marked as slated for replacement. Do not build + critical software using it.</action> + + <action action="add">Add LF5 documentation and examples. Further tests are required + for full integration.</action> + + <action action="fix">XMLLayout can now output messages which contain embedded CDATA + sections.Many thanks to Michael + A. McAngus for supplying the relevant patch.</action> + + <action action="fix" issue="9750">The dispatcher thread associated with AsyncAppender is now marked + as a deamon thread.</action> + + <action action="add" issue="9606">Add missing NTEventLogAppender.dll</action> + + <action action="fix" issue="9435">log4j.dtd was changed so that + &lt;log4j:event&gt; is now made of logger and level attributes instead of + category and priority. Changed XMLLayout to conform to the + DTD. Chainsaw was changed to adapt to the XMLLayout.</action> + + <action action="add">Add missing LevelRangeFilter file.</action> + </release> + + <release version="1.2.3" date="2002-05-24" description="SyslogAppender and stack trace fixes."> + <action action="fix" issue="9285">SyslogAppender would incorrectly compute + the length of the datagram to send to the remote syslogd host. + Reported by Mamoru Kadota.</action> + + <action action="fix" issue="8505">The stack trace of exception would not be + properly printed on the Compaq tru64 Unix platform. Initially + reported by Fabrice Claes and later by Espen H. Kolstad who also + provided the fix.</action> + </release> + + <release version="1.2.2" date="2002-05-22" + description="NULL added as synonym for INHERITED in Configurators, Thread context loader used preferentially."> +<action>Log4j configurators take the "NULL" string value as a synonym for + "INHERITED". Both of these two strings are legal level values for + setting the level of a logger. Both values are case insensitive.</action> + +<action issue="9305">When loading component classes, log4j will now first attempt to use + the Thread Context Loader and if that fails, it will use + Class.forName. In log4j 1.2 and 1.2.1, only Class.forName was used + and the TCL was ignored. This change is a response to bug #9305 + opened by Scott M. Stark.</action> + </release> + + <release version="1.2.1" date="2002-05-17" + description="Fixed MDC problem when used with AsyncAppender"> + <action issue="9155" action="fix"> + LoggingEvent.getMDCCopy() method now sets mdcCopyLookupRequired + instead of ndcLookupRequired. This bug would cause the wrong MDC + information to appear on a log server. It could only occur if the + client wrapped an AsyncAppender around a SocketAppender or if the + server used an AsyncAppender for its logging.</action> + </release> + + <release version="1.2" date="2002-05-01" description="Initial release of log4j 1.2"> + + <action action="fix" issue="8527">A closed TelnetAppender would continue waiting + for connections even if its ServerSocket was closed. This caused + the TelnetSocket to sit in a loop and complain about the closed + socket.</action> + + <action action="fix" issue="5444">AsyncAppender throws NullPointerException problem. The bug was actually in + AppenderSkeleton.</action> + + <action action="add">Add support for recursive variable substiuton as requested by + Eric Chastan.</action> + + <action action="fix" issue="3933">SocketNode now used a BufferedInputStream as suggested by Kok Chong</action> + + <action action="fix" issue="7550">Fixed a problem with DailiyRollingAppender which would not + correctly compute the rollover period in certain timezones.</action> + + <action action="fix" issue="2726">Fixed documentation bug #2726 in FAQ.html.</action> + + <action action="fix" issue="2383">Added a flush statement in the + WriterAppender.writeFooter method.</action> + + <action action="fix">In XMLLayout, escaped the method attribute. The + XMLLayout also outputs each item of a stack trace in a separate + line.</action> + + <action action="fix" issue="5932">The + LoggingEvent.getMDCCopy method now clones the MDC instead of just + referencing it.</action> + + <action>The ANT build script was modified to use jar files specified in + the build.properties file instead of the CLASSPATH environment + variable. The build.properties file depends on local paths and is + supplied by the user. The build.properties.sample file is included + in the distribution. The build.sh and build.bat scripts have + been removed. This is the way many other jakarta projects build their + projects. The jar files in the dist/lib directory were also removed + since they are no longer used.</action> + + <action>The DOMConfigurator now interprets the string after the '#' + character in the value attribute within the &lt;level&gt; element as + the fully qualified class name of a custom Level. This is consistent + with the way log4j handles "level" values in other places. The + class attribute is still honored.</action> + + <action action="add">Add Oliver Burn's chainsaw tool to the core log4j + distribution. Visualisation and dynamic filtering of log events is + bound to be a very important area of activity in the future.</action> + + <action action="add">Add the org.apache.log4j.jdbc.JDBCAppender which as the name + indicates sends events to a database using the JDBC API. Thanks to + Kevin Steppe for supplying the code.</action> + + <action action="add">Add SocketHubAppender class as contributed by Mark Womack. This + appender sends LoggingEvent objects to a set of remote a log + servers.</action> + + <action>In the Category class, the getChainedPriority method has been + replaced with getEffectiveLevel method.</action> + + <action>Replaced the custom class loading based on the thread context class + loader with a simple Class.forName() call. This solves two allied + but distinct problems encountered when using Ant with JUnit + although the bug is more general. In one instance of the + problem, log4j would throw java.lang.NoClassDefFoundError for + org/apache/log4j/AppenderSkeleton where log4j.jar and related + classes were clearly available to the Ant classloader. In another + incarnation, log4j would reject a custom appender claiming that it is + not assignable to a org.apache.log4j.Appender variable. This would + occur when log4j.jar was available to both the Ant classloader and the + system classloader. + + Thanks to Dave Herman for providing detailed scenarios exposing + the issues involved. See + http://forum.java.sun.com/thread.jsp?forum=38&amp;thread=70946 + http://forum.java.sun.com/thread.jsp?forum=38&amp;thread=70946#479697 + http://marc.theaimsgroup.com/?l=ant-user&amp;m=101139178705895&amp;w=2 + for more details.</action> + + <action>Fixed the complaints the compiler issued when using the + Logger.setLevel() method.</action> + + <action>Incorporated the performance enhancements to ISO8601DateFormat and + AbsoluteTimeDateFormat classes submitted by Andrew Vajoczki.</action> + + <action>Source code written for log4j 1.1.3.jar will compile fine with + log4j 1.2X. However, code compiled for log4j 1.1.3 would previously + systematically throw "java.lang.NoSuchMethodError" runtime exceptions + when run with log4j 1.2 - prior to beta2. This problem has been + corrected in beta2. Pheew, that was a close one.</action> + + <action>Log4j 1.2 is now backward compatible in serialization of + LoggingEvents. For example, a 1.1.3 SocketAppedner can write to 1.2 + SocketServer. Similarly a 1.2 JMSAppender will work with 1.1.3 + JMSSink. This should ease the move to log4j 1.2, especially in + large deployments.</action> + + <action>The src/java/org/apache/log4j/examples/ directory moved under the + top-level directory as examples/.</action> + + <action>Fixed the ArrayIndexOutOfBoundsException that was thrown by + AsyncAppender if multiple threads were trying to log an event + containing an exception near simultaneously. Thanks to Thomas Tuft Muller + for reporting this bug.</action> + + <action>Improved error reporting in DOMConfigurator. Thanks to Thomas Tuft + Muller for contributing the enhancement.</action> + + <action>Log4j is now configurable using JMX. JMX support is not of + production quality.</action> + + <action action="add">Add support for different encodings in WriterAppender. Thanks to + Ben Sandee for submitting the relevant patch.</action> + + <action>Modified SMTPAppender to allow multiple email sessions. Thanks to + Jon Skeet for supplying the relevant patch.</action> + + <action>The CategoryFactory class has been replaced by the LoggerFactory + class. The makeNewCategoryInstance method has been renamed as + makeNewLoggerInstance. This change requires subclasses of Category + classes to be modified and recompiled.</action> + + <action>The Level class replaced the Priority class. Priority class now + extends Level to preserve backward compatibility.</action> + + <action>The Logger class replaced the Category class. Logger class + extends Category to preserve backward compatibility. We proudly + mark this change with a single star for 100% compatibility.</action> + + <action>The Category.assert method has been replaced by + Category.assertLog. This change was necessary because assert is a + language reserved word in JDK 1.4.</action> + + <action>Removed deprecated methods setOptions and getOptionStrings defined + in the org.apache.log4j.spi.OptionHandler interface. This interface + is implemented by most log4j appenders and layouts. In particular, + all appenders and layouts shipped with log4j contain these + deprecated methods. They have become totally redundant after we + moved to JavaBeans style configuration in log4j 1.1.</action> + + <action>The disable(Level) methods in Hierarchy have been removed and been + replaced by threshold methods.</action> + + <action action="add">Add buffered IO capability to FileAppender and subclasses.</action> + + <action>The location information (or stack information) was not correctly + transmitted by JMSAppender.</action> + + <action action="add">Add event reporting capability to the Hierarchy class.</action> + + <action action="add">Add new system property "log4j.configuratorClass". This property + allows the user to specify the custom configurator at the default + initialization phase. This property replaces the previous + interpretation of the reference part of "log4j.configuration" + as the custom configurator class. This interpretation was sometimes + erroneous and caused headaches.</action> + + <action>Introduced the Mapped Diagnostic Context or MDC class. This class + is similar to the NDC except that the diagnostic context is based + on a map instead of a stack. Moreover the MDC is automatically + inherited by child threads under JDK 1.2 and above.</action> + + <action>Corrected a performance bug in the NDC class as observed by Dan + Milstein and independently by Ray Millard.</action> + + <action>Removed deprecated methods disable(Priority), disableAll, + disableDebug, disableInfo and enableAll in BasicConfigurator.</action> + + <action action="add">Add supports java.io.Reader objects in the method doConfigure(), + instead of only InputStream. Thanks to Mark Womack for submitting + the relevant patch.</action> + + <action>Corrected the restart bug in DailyRollingFileAppender. Thanks to + Jim Moore for supplying the relevant patch.</action> +</release> + + <release version="1.1.3" date="2001-06-19" description="Added missing namespace and reduced size of log4j-core.jar."> + + <action action="add">Add a missing namespace declaration in the log4j:configuration + element in log4j.dtd. The missing declaration caused the new + generation of namespace aware parsers to barf when parsing log4j + configuration files.</action> + + <action>Reduced the size of log4j-core.jar to 78KB.</action> + + <action>Minor documentation changes.</action> + + </release> + + <release version="1.1.2" date="2001-06-07" description="Default initialization improvements"> + <action>Corrected a problem with the static initializer of the Category + class which would use the wrong class loader to search for the + default configuration file. The associated search algorithm has + been also simplified. Nevertheless, the preferred method to specify + the automatic configuration file is by setting the + log4j.configuration system property.</action> + + <action>Documentation improvements. Added a new section to the manual + explaining the default initialization procedure</action> + + <action>Enhancements to the org.apache.log4j.examples.appserver package.</action> + + <action>Corrected a bug in the way the NTEventLogAppender printed + exceptions.</action> + </release> + + <release version="1.1.1" date="2001-05-20" description="Added custom priority support to PropertyConfigurator, SMTPAppender visibility changes."> + <action action="add">Add missing custom priority support in PropertyConfigurator.</action> + +<action>Made a number of fields protected instead of default access in + SMTPAppender.</action> + </release> + + <release version="1.1" date="2001-05-19" description="Minor documentation changes"> + + <action>This release has the same code as 1.1b7. It differs only in a few minor + documentation changes.</action> + </release> + + <release version="1.1b7" date="2001-05-09"> +<action>Made BasicConfigurator disable methods static as they were in log4j + 1.0.4. Thanks to Francisco Marin for reporting the bug.</action> + + <action issue="1505">Corrected a two related deadlock problems introduced while fixing + bug 1505. Thanks to joelr@viair.com for reporting the problem.</action> + + <action issue="1686">The configureAndWatch methods in Configurators did not close the + configuration file, preventing its editing.</action> + +<action>In DOMConfigurator.setParameter special character conversion now + precedes variable substitution. This change was suggested by Steven + Velez. The vast majority of users should be oblivious to it.</action> + +<action>The TextPaneAppender is no longer maintained and has been + removed. It is still available under the contribs/ + directory. This change has been discussed in the log4j mailing + lists and no one objected to the removal of the TextPaneAppender + class.</action> + </release> + + <release version="1.1b6" date="2001-04-26"> +<action issue="1505">Aaron Greenhouse from Carnegie Mellon SCS found a series of + multi-threading related bugs in Category and AsyncAppender. See bug + ids 1505 and 1507 in our bug database for exemplary bug + reports. They are worth the detour.</action> + + <action>InvalidJarIndexException is only available in JDK 1.3. Referring + to this exception type caused log4j 1.1b5 to break on earlier JDKs. + We now avoid referring to it.</action> + + <action action="add">Add PriorityRangeFilter by Simon Kitching. See the Threshold + option in AppenderSkeleton for a more convenient alternative.</action> + </release> + + <release version="1.1b5" date="2001-04-22"> +<action>In HTMLLayout, the Title option sets the HTML document + title (&lt;title&gt;...&lt;title&gt;).</action> + +<action>Corrected an important performance bug in LocationInfo. Hein Couwet + and kr@it-practice.dk have independently identified the bug. This is + yet another example of the difference made by the number of eyeballs + studying source code.</action> + + <action>Corrected the incorrect value returned by LocationInfo.getClassName + method when running under IBM Visual Age. Thanks to Mathias + Rupprecht for supplying the relevant patch.</action> + + <action>Corrected a bug where the build.sh file in the distribution would be in + DOS CRLF format. Thanks to ma.darche@free.fr for reporting the + problem.</action> + + <action>Corrected InvalidJarIndexException thrown in applets while + searching for the default log4j configuration file. Thanks to + Michael Lundahl for reporting this bug.</action> + + <action action="add">Add missing PropertySetterException class to log4j-core.jar. + Thanks to ma.darche@free.fr for reporting this bug.</action> + </release> + + <release version="1.1b4" date="2001-04-20"> +<action>Mathias Bogaert observed that in version 1.1b3 the search algorithm + for the resource used in automatic log4j configuration was + different than in 1.0.x. Beta4 uses a more powerful mechanism which + is also compatible with 1.0.x.</action> + + <action>Paul Glezen correctly observed that if log4j is deployed in a + client/server mode where multiple log4j clients log to a log4j + server, all hosts must be upgraded to version 1.1 in one go because + the internal LoggingEvent class used in client/server communication + changed in log4j 1.1.</action> + </release> + + <release version="1.1b3" date="2001-04-18"> + <action action="add">Add a RollingFileAppenderBeanInfo class that fakes the + maxFileSize JavaBeans property as a String type instead of a long. + This allows us to resuscitate setMaxFileSize(long) method that was + removed in 1.1b2 breaking 100% backward compatibility. This addition + restores 100% backward compatibility.</action> + </release> + + <release version="1.1b2" date="2001-04-18"> + + <action>The directory structure has changed to better suit Jakarta + conventions</action> + + <action action="add">Add a few jar files required at build time to build/lib so that + it is now possible to compile log4j out of the box.</action> + + <action>Whenever a priority parameter is expected in a configuration file, + one can now use a custom priority class. See OptionConverter.toPriority + method for more information. Note that the &lt;priority> element in + log4j.dtd remains unaffected by this change.</action> + + <action action="add">Add the setQuietMode(boolean) method to LogLog. In quiet mode + LogLog will not output anything even in case of errors.</action> + + <action>Log4j components are now configured as JavaBeans. The setOption and + getOptionString methods have been deprecated in OptionHandler + interface which is implemented by most log4j components.</action> + + <action>The stack trace of a throwable passed in a logging statement is not + parsed into a stack array which is serializable. This allows cascading of + log4j servers to properly propagate throwable information.</action> + + <action>In XML configuration files, the &lt;configuration&gt; element has been + deprecated and was replaced by the &lt;log4j:configuration&gt; element.</action> + + <action>The "log4j.configDebug" system property has been replaced with the + "log4j.debug" system property although it is still available. + Similarly, the "configDebug" attribute has been deprecated and + replaced with the "debug" attribute in log4j.dtd.</action> + +</release> + + <release version="1.1b1" date="2001-02-23"> + <action>Logging can now be disabled per Hierarchy. It can also be disabled + using configuration files using the "disable" directive. The + "disableOverride" directive takes precedence over the "disable" + directive. As a result of this change the disable family of + methods in BasicConfigurator has been deprecated and replaced by the same + family of methods in the Hierarchy class.</action> + + <action>The FileAppender has been split into three parts: WriterAppender, + ConsoleAppender and FileAppender. ConsoleAppender takes over the + console logging functionality of FileAppender. As a result support + for stream and console printing has been deprecated in FileAppender.</action> + + <action>The FileAppender now correctly outputs the header and footer of its + layout. This problem was reported by too many users to list here.</action> + + <action>Appenders and Layouts now get to see the raw message object in + LoggingEvent not just its rendered form. The access modifiers of + some LoggingEvent fields were changed so that they can be accessed + in less error-prone ways. Thanks to Jim Cakalic and Anders Kristens + for their valuable advice.</action> + + <action action="add">Add getLayout(), getErrorHandler(), and getFilter() to the + Appender interface.</action> + + <action action="add">Add getOption(key) method to the OptionHandler interface and modified + implementations of it as appropriate.</action> + + <action action="add">Add the much awaited DailyRollingFileAppender.</action> + + <action>The structure of the distribution changed somewhat. The log4j.jar + files can be found under dist/. The javadoc directory has been + moved to docs/api/. We are now totally dependent on ANT to perform + all the steps involved in creating a release, including + compilation, jar file creation, generation of the javadocs, and for + the creation of the distribution tar and zip files.</action> + + <action>Removed org/apache/log4j/varia/ResilientFileAppender.java which was + bogus to begin with.</action> + + <action>XMLLayout will now mark some output as &lt;![CDATA[ .. ]]&gt; so that it + does not get interpreted by the XML parser. This was suggested by + Mathias Bogaert like a long list of other fixes.</action> + +<action>Corrected a bug in CyclicBuffer.resize method that would not update the + next insertion point. Thanks to Ole Bulbuk for accurately reporting + the bug.</action> + +<action>The LoggingEvent class now supports serialization of priorities + derived from the org.apache.log4j.Priority class.</action> + +<action>Improved the search method for finding the "log4j.properties" file in + the static initializer of Category class. Thanks to Calvin Chan for + supplying a better method.</action> + +<action>The code handling the FCQN (formerly instanceFQN) parameter was + cleaned up. There is now a well-established and simple manner for + sub-classes of Category (or wrapper classes) to define the FCQN + variable: just define a static variable, say FCQN, consisting of + the fully qualified class name of the subclass or wrapper, supply + this variable as an argument to forcedLog method if and when + the sub-class or wrapper invokes that method.</action> + +<action>Made the instanceFCQN an instance variable instead of a class + static in Category.java. In related move, the Category constructor + now takes an additional argument setting the instanceFCQN. This + makes life less miserable for Category subclasses.</action> + +<action>Corrected a bug in the OptionConverter.instantiateByClassName + method that would not return the defaultValue in case of error. Thanks + to Matthieu Verbert for identifying this bug.</action> + +<action>Corrected the missing stack trace in e-mails generated by the + SMTPAppender when using certain Layouts.</action> + +<action>Updated the "Adding Conversion Characters to PatternLayout" + document to reflect the latest changes to the code. Also added the + org/apache/log4j/examples/appserver directory containing the + associated example code.</action> + + <action action="add">Add the BufferSize option to the AsyncAppender.</action> + +<action>Eliminated the SecurityExceptions thrown in Applets. Thanks Timur + Zambalayev for reporting this bug.</action> + +<action>Fixed the erroneously thrown IOInterruptedException when the AsyncAppender + was closed. Thanks to Tom Palmer for accurately reporting this bug.</action> + + </release> + +<release version="1.0.4" date="2001-01-12"> + +<action>Corrected a serious bug in Hierarchy.java that would cause a + NullPointerException depending on the order of instantiation of + categories. Thanks to Wolfram Gewohn for reporting this bug.</action> + +<action>Corrected a bug in the getOptionsStrings method of SMTPAppender + that omitted to mention the EvaluatorClass option. Thanks to Mark + Balster for reporting this bug.</action> + +</release> +<release version="1.0.3" date="2001-01-11"> + +<action>Fixed a NullPointerException occurring in AsyncAppender after + invoking Category.shutdown. Thanks to Frank-Olaf Lohmann for + reporting this bug.</action> + +<action>Modified the OptionConverter.selectAndConfigure method to take an + extra argument of type Hierarchy. This method is used internally + and should not affect most users.</action> + + <action action="add">Add the warn method to LogLog which is used internally by log4j + to report on itself.</action> + +<action>Displaced a number of HTML files under the docs directory. The new + structure is compatible with the jakarta site and results in a + more consistent navigation experience.</action> + +<action>Made a few improvements in the javadocs.</action> + +</release> + +<release version="1.0.2" date="2001-01-11"> + <action action="add">Add the missing build.inc file to the distribution. No code + changed.</action> +</release> + + +<release version="1.0.1" date="2001-01-10"> + +<action>This version corrects some documentation and build script bugs; + code has not changed.</action> +</release> + +<release version="1.0" date="2001-01-08"> + +<action>Package hierarchy now starts at org.apache.log4j.</action> + + <action action="add">Add the fatal() family of methods to the Category + class. Moreover, the EMERG priority has been removed from the + Priority class. This priority has been replaced by the FATAL + priority that is more widely accepted. This change will + require EMERG log statements to be replaced by FATAL log + statements. Assuming EMERG log statements are rare, this should + have a small but bearable impact on existing client code. + + Moreover, the Unix Syslog priorities ALERT, CRIT and NOTICE are no + longer recognized. Support for these priorities was minimal and + few users should suffer from these changes.</action> + +<action>Removed the methods setRootPriority, getRootPriority as these + methods were redundant and had been previously deprecated.</action> + +<action>Removed the DOM Level 2 dependency in DOMConfigurator. This makes + log4j XML configurable using Sun's parser or Apache's Xerces.</action> + +<action>The static initializer of the Category class now takes the + log4j.configuration system property to search for its configuration + file. The type of the configurator used to parse the configuration + file depends on the value of the log4j.configuration system + property.</action> + +<action>Enhanced the PropertyConfigurator and DOMConfigurator to support + customisation of independent Hierarchy instances. The + org.apache.log4j.net.SocketServer has been enhanced to take + advantage of this functionality. The old code of SocketServer has + been moved to SimpleSocketServer.</action> + +<action>Enhanced the PropertyConfigurator to support variable substitution + for all options *values* (but not keys!).</action> + +<action>Categories are now aware of the Hierarchy they are linked to. This + will provide a basis for several performance enhancements planned + for the future.</action> + + <action action="add">Add support for object rendering. It is now possible to register + an object renderer for a given object type. When the given object + needs to be logged log4j will invoke the corresponding renderer to + transform the object into a String. + + As a result of this enhancement, all the String forms of all the + printing methods such as debug(String), info(String) have been + removed as they are no longer necessary. This change should be + backward compatible but requires recompilation of old client + code. Thanks to Michael Smith for noting the recompilation + requirement.</action> + + <action action="add">Add support for user defined category factories in the + PropertyConfigurator. Thus, it is now possible to configure log4j + with a properties file and still use custom Category + sub-classes. The DOMConfigurator had already a finer grain + support.</action> + + <action action="add">Add the SMTPAppender that in case of an error or fatal event + sends an e-mail containing latest N logging events in its buffer, + where N is chosen by the user.</action> + + <action action="add">Add the method getInstance(Class) to the Category class.</action> + +<action>Corrected a bug in configureAndWatch method of configurators that + would configure log4j only after an unnecessary delay.</action> +</release> + +<release version="0.9.1" date="2000-11-30" description="the 19th public release"> + +<action>Corrected a typo making NTEventLogAppender.dll register the wrong + category message file. Thanks to Peter Hayes for accurately + reporting this bug.</action> + +<action>The DOMConfigurator and PropertyConfigurator can now automatically + detect modified configuration files and re-read them.</action> + + <action action="add">Add AsyncAppender which buffers log requests and serves them + at a later time. AsyncAppender can increase logging performance + tremendously if logging operations are interspersed with long + and blocking non CPU-intensive operations, typically I/O or network + access. For CPU intensive applications, using the AsyncAppender + will actualy degrade logging performance by 10 to 25 percent.</action> + +<action>The log4j.dtd has been modified to allow appenders to refer to + other appenders by IDREF.</action> + +<action>The DOMConfigurator has been modified to take advantage of ID/IDREF + attributes when referring to appenders. This change requires a + DOM Level-2 API compliant parser. DOM Level-2 java bindings are + available at + http://www.w3.org/TR/1999/WD-DOM-Level-2-19990923/java-binding.html.</action> + + <action action="add">Add the configure(String filename) method to DOMConfigurator. + This method requires the presence of a JAXP compatible parser. + At this time, the only DOM2 and JAXP compatible parser seems to be + the Apache xerces parser.</action> + + <action action="add">Add the PriorityMatchFilter allowing filtering by exact priority + match. This was a common request by users.</action> + +<action>The configuration of a category is now an atomic operation. This + ensures that log requests are not lost while configuration is in + progress. Anders Kristensen was to first to observe the potential + problems in non-atomic configurations.</action> +</release> + +<release version="0.9.0" date="2000-11-20" description="the 18th public release"> + +<action>The "log4j" element has been renamed to "configuration" in the + log4j DTD. This change requires that log4j configuration files + written in XML be modified. Since the log4j element figures only + once in the XML file, this change should take little time.</action> + +<action>ResourceBundles are now category instance specific and no longer + class static. Moreover, like other properties resource bundles + are inherited from the category hierarchy.</action> + +<action>The jar files log4j.jar and log4j-full.jar now contain versioning + information in their respective manifest files.</action> + +<action>Corrected an inconsistency in the NTEventLogAppender which broke it.</action> + +<action>Fixed a bug where configuration files were not parsed correctely + due to trailing spaces in option values as returned by + java.util.Properties. Trailing spaces are now removed from option + values. This bug was quite disconcerting because the + trailing spaces cannot be seen without careful examination of the + configuration file.</action> + + <action action="add">Add the XMLLayout. + + The output of the XMLLayout consists of a series of log4j:event + elements. It does not output a complete XML file. The output is designed to + be included as an external entity to form a well-formed XML file.</action> + + <action action="add">Add a new abstract class org.log4j.helpers.DateLayout. The TTCCLayout + now extends DateLayout.</action> + +<action>Corrected a rather subtle performance bug in the buffer management code + in PatternLayout. Thanks to Vladislav Dutov and Constantine + A. Plotnikov for for insisting on the correction of this bug.</action> + +<action>Created a new package called org.log4j.spi. This new package + holds classes that are hidden from the casual user but are needed + to extend log4j.</action> + + <action action="add">Add org.log4j.varia.ExternallyRolledFileAppender to handle + externally triggered file rollovers.</action> + + <action action="add">Add support for multiple hierarchy trees.</action> + +<action>PatternLayout can now be subclassed to support new conversion + patterns.</action> + +<action>Extended the DOMConfigurator and the log4j DTD to properly handle + sub-classing of Category and Priority classes. + There have been also minor adjustments to other classes to handle + sub-classing. These changes should be invisible to users. + + All categories except the root category can be sub-classed and also + assigned priorities sub-classing org.log4j.Priority. + + The root category always exists and CANNOT be subclassed. + + The ProppertyConfigurator remains unchanged. Thus, it does not + handle extensions of the Category class.</action> + + <action action="add">Add filter support in appenders. The DOMConfigurator and the + log4j.dtd have been enhanced to support filters.</action> + + <action action="add">Add error handling support to appenders. The DOMConfigurator and the + log4j.dtd have been enhanced to support filters.</action> + + <action action="add">Add support for correct interpretation of location information in + IBM's Visual Age environment. Thanks to Wolf Siberski for supplying + the relevant patch.</action> + + <action action="add">Add getAdditivity method to Category. This feature was requested + by Constantin Mitran. (mitran at ecircle.de)</action> +</release> + +<release version="0.8.5b" date="2000-08-27"> + +<action>Corrected multiple bugs in default initialization code of + Category class. Thanks to Jeff Turner for identifying and supplying + corrective patches.</action> +</release> + +<release version="0.8.5a" date="2000-08-24"> + + <action action="add">Add the %n conversion character to PatternLayout so that a line + separator can be specified in a platform independent way.</action> + +<action>In 0.8.5 internal Priority integer values were decoupled from the + Unix Syslog values. This broke SyslogAppedder. A new function + Priority.toSyslogInt is introduced to solve this bug.</action> + +<action>Corrected a bug where the internal priority integer</action> +</release> + +<release version="0.8.5." date="2000-08-23"> + +<action>All log4j internal output is now prepended with the string + "log4j: ". This makes is easier to differentiate log4j internal + logs from messages output by other sources.</action> + +<action>Sub-classes of Category class must now specify their fully + qualified name when constructing logging events. This allows the %C + conversion specifier in PatternLayout to work properly even with + sub-classes or wrappers of Category.</action> + + <action action="add">Add the method disableDebug to BasicConfigurator. This method + disables all print requests of debug priority regardless its + category. Similar methods disableInfo, disable, disableAll and + enableAll have also been added. Disable type methods can be + overriden by setting the log4j.disableOverride system property. + + Calling BasicConfigurator.disableInfo is equivalent to the now + deprecated flagAsShippedCode method.</action> + +<action>Given the above changes, the system property + log4j.shippedCodeFlagOverride is no longer honored.</action> + +<action>It is now possible to sub-class Category. The sub-classes may + continue to adhere to the category hierarchy. This was a frequently + requested feature.</action> + +<action>Corrected a problem with the additivity flag being ignored in + categories without appenders. This bug was discovered by Anders + Kristensen.</action> + + <action action="add">Add a method BasicConfigurator.resetConfiguration to reset the + log4j environment. This method should be used sparingly.</action> + +<action>At the initialization of the Category class, the file + log4j.properties will now be searched from the search path used to + load classes. If the file can be found, then it is fed to the + PropertyConfigurator.configure(java.net.URL) method.</action> + +<action>Failing to access system properties within the static initializer + of BasicConfigurator class is no longer reported as an error but as + a debug message. Thanks to Gilles Schlienger for reporting this + problem with applets.</action> + +<action>Corrected a bug which caused infinite loops when using conversion + patterns with a single element, fortunately under very rare + circumstances. This bug was first reported by Igor Potraev, the + author of log4p. It was independently reported by Joe Haberl from + IBM Global Services.</action> + + <action action="add">Add a mechanism to lazily remove references to dead threads in + the NDC class. Indeed, in previous versions calling NDC.pop within + a thread but forgetting to call to NDC.remove before exiting (that + thread) resulted in a memory leak.</action> + +<action>Corrected a huge memory leak in SocketAppender. This leak was due + to the ObjectOutputStream indefinitely holding a reference for each + written to the stream. Thanks to Dan MacDonald for very accurately + describing this bug.</action> + +<action>The log and l7dlog methods in Category no longer ignore the shipped + code flag. This bug was reported by Mario Schomburg.</action> + + <action action="add">Add missing NDC information to LoggingEvent.writeObject + method.</action> + +<action>Corrected handling of SocketException in SocketNode. Thanks to + Gerald Gutierez (ggutierez@emobiledata.com) for reporting this and + the previous problem.</action> + +<action>Phased out custom shell scripts to build java documentation and jar + files in favor of Jakarta's ANT. It was becoming a nuisance to keep + the ANT build file in sync with the custom shell scripts.</action> + +</release> + + +<release version="0.8.4d" date="2000-05-11"> + +<action>The NT EventViewer no longer complains about missing message 4096.</action> + +<action>Minor corrections in documentation.</action> + + <action action="add">Add missing icons GIFs into the distribution.</action> + +<action>SocketNode now attempts to close the socket when exiting. Thanks to + Moses Hohman (mmhohman@rainbow.uchicago.edu) for noting this.</action> + +<action>Removed the com.ibm.log4j from the javadoc directory. This seems to + confuse VAJ. Thanks to Steve Ashcroft for reporting this problem.</action> +</release> + +<release version="0.8.4c" date="2000-05-05"> + +<action>As a result of the infinite loop problem (see next item), added + over 800 new test cases to stress-test the code in CategoryFactory + class where category creation occurs.</action> + +<action>Under certain rare circumstances the Category.getInstance method + entered an infinite loop. Thanks to Mario Schomburg from IBM Global + Services / Hannover for identifying this problem and proposing a + patch.</action> + +<action>DOMConfigurator and the log4j.dtd were out of sync on the type of + the priority directive. As a result, priority directives all + defaulted to DEBUG. Thanks to Peter (petervt@users.sourceforge.net) + for accurately reporting this bug.</action> + +<action>Minor additions to the FAQ.</action> + + <action action="add">Add the NumberCruncher example showing how the NDC class can be + used to distinguish output from different clients.</action> + + <action action="add">Add the %x conversion specifier to the TTCC_CONVERSION_PATTERN in + the PatternLayout class. This is consistent expected output of + Trivial.java example. Thanks to Jerome (schrom@users.sourceforge.net) + for reporting this bug.</action> + +</release> + + <release version="0.8.4b" date="2000-05-03"> + +<action>The value of the additivity option would not be parsed properly by + the ProperytConfigurator if the line containing the option + contained trailing spaces.</action> +</release> + +<release version="0.8.4a" date="2000-05-03"> + +<action>The localized logging methods (l7dlog) omitted priority based + evaluation and erroneously logged all requests. </action> + +</release> + + <release version="0.8.4" date="2000-05-01"> + +<action>The close method was added to the Appender interface allowing + appender implementations to release any resources they may have + allocated.</action> + +<action>The package naming scheme of changed from "com.ibm.log4j.*" to + "org.log4j.*". The new naming reflects the open source nature of + the project and is consistent with the URL http://www.log4j.org.</action> + + <action action="add">Add internationalization support. See the newly introduced l7dlog + methods in Category class.</action> + +<action>In the FileAppender, the File option now admits variable + substitution. For example, if "java.home" system property is set + to /home/xyz and the File option is given the value + "%{java.home}/test.log", then File option will be interpreted as + "/home/xyz/test.log". + + Thanks to Avy Sharell (sharell@online.fr) for contributing this + feature.</action> + +<action>SocketAppender is now officially part of the package. It is capable + of sending logging events to a remote SocketNode. The SocketNode + logs events according to server (local) policy. For example, a + client can log events to a local file and also send them to a + remote server (a SocketNode). This server can log the event to any + number of files, to the console, to any number of TextPaneAppenders + and even re-transmit the event to another server, and so forth. + + This paradigm is common in most logging systems, e.g. Syslog and NT + Event Log. Many thanks to Andrew Harrison for showing a way to + actually implement the paradigm.</action> + +<action>The Category.callAppenders method now accepts a LoggingEvent + instead of creating one itself. This was necessary to accommodate + events generated at a remote client.</action> + +<action>LoggingEvent class changed slightly to support remote logging. The + category field (a Category) has been replaced by the categoryName + field (a String).</action> +</release> + +<release version="0.8.3b" date="2000-04-14"> + +<action>Corrected a bug in Category.removeAppender(String) which would + never remove the desired appender. Thanks to Moses Hohman for + reporting this bug.</action> +</release> + + <release version="0.8.3a" date="2000-04-14"> + +<action>Corrected a bug RollingFileAppender which would throw an uncaught + exception in case output file could not be opened for + writing. Thanks to Vinay Aggarwal for signaling this problem.</action> + </release> + +<release version="0.8.3" date="2000-04-13"> + +<action>The log4j.override key defined in BasicConfigurator has been + renamed to log4j.shippedCodeFlagOverride.</action> + +<action>The getCurrentCategories method in the Category class would not + return the correct value. Thanks to Timothy Potter + (tpotter@agency.com) for reporting this problem.</action> + +<action>Appenders now admit a priority threshold as an option. All requests + with a priority lower than the appender's threshold priority are + ignored by the appender.</action> + +<action>Integrated Christopher Taylor's DOMConfigurator parsing XML + configuration files.</action> + +<action>The jar file log4j-net.jar has been replaced by log4j-full.jar. It + contains DOMConfigurator.class in addition to the com.ibm.log4j.net + package.</action> + + <action action="add">Add support for the ANT build tool. Thanks to Christopher Taylor + for supplying the build.xml file. ANT is available form + http://jakarta.apache.org.</action> + +<action>FileAppender's File option now accepts the values "System.out" or + "System.err". If one these values is suppiled in a configuration + file then the output is directed to the corresponding stream. + Moreover, the default constructor of FileAppender no longer sets + System.out as an output target nor does it define a default + layout.</action> + + <action action="add">Add caller class (C), caller file name (F), caller line number + (L), caller method name (M) conversion specifiers to the + PatternLayout class. + + The category conversion specifier now takes an optional precision + modifier allowing the user to control the number of right most + components in the category name that will be printed. + + Corrected a bug occuring when the caller file name and line number + information were unavilable due to JIT compilation. In that case, + the PatternLayout would not properly use the rest of the available + location information. + + The above enhancements and bug-fixes originate from comments by + Nelson Minar (nelson@monkey.org).</action> +</release> + +<release version="0.8.2" date="2000-03-23"> + +<action>The SimpleLayout and TTCCLayout are replaced by the PatternLayout + in the log4j.jar file to keep its size small. These two layouts are + still part of the package.</action> + +<action>The PatternLayout class is introduced. This new layout is + configurable using a conversion pattern which is parsed at + runtime. This allows the user to choose the output layout without + writing any code and only at a marginal performance cost compared + to the dedicated layouts such as SimpleLayout and TTCCLayout. The + PatternLayout also allows the user to determine minimum and maximum + field lengths. + + The PatternLayout was written by Jim Cakalic + (jim_cakalic@na.biomerieux.com).</action> + +<action>All internal components now use LoggingEvent instances to specifiy + logging information.</action> + +<action>Corrected a problem with a missing variable initialization in + SyslogAppender. This caused NullPinterException to be thrown when + logging exceptions. + + Added a default constructor to SyslogAppender. The lack of this + constructor caused PropertyConfigurator to throw a + java.lang.InstantiationException when the appender type was set to + be SyslogAppender. + + Thanks to Yves Bossel (ybossel@opengets.cl) for accurately + identifying these bugs. + + Modified some other related option handling code in + SyslogAppender.</action> + +<action>Made NDC.get public access instead of default access. Thanks to + Y. J. Chun (monac@softonnet.com) for reporting this problem.</action> + +<action>PropertyConfigurator now parses the additivity option for + categories.</action> + +<action>Corrected the value of the ADDITIVITY_PREFIX constant to match the + documented value, that is "log4j.additivity".</action> + +<action>Corrected a really bad bug where System.out would be closed when + PropertyConfigurator.configure was called. Thanks to Christopher + Taylor (cstaylor@pacbell.net) for tracking and reporting this bug.</action> + +<action>The PropertyConfiguator now prints debug messages if the flag + "log4j.configDebug" is defined in the configuration + file. Previously, only if the system property "log4j.configDebug" + was set would debug messages be printed. A question by Shawn + Kircher (skircher@vninet.com) induced this change.</action> + +<action>In AbsoluteTimeDateFormat, DateTimeDateFormat and ISO8601DateFormat + the separator between the seconds and milliseconds has been changed + to comma from full stop, in order to be compliant with ISO8601's + preferred sign. Thanks to Jim Cakalic + (jim_cakalic@na.biomerieux.com) for pointing out this discrepancy + with the standard.</action> + +<action>Corrected a bug where RollingFileAppender would not work + properly on Windows systems. Thanks to Heinz Richter + (heinz.richter@ecmwf.int) for noting this problem.</action> +</release> + +<release version="0.8.1" date="2000-02-19"> + +<action>Core classes are now independent of the format of the options + file. Configurable core classes implement the OptionHandler + interface. OptionHandlers allows configurators to learn the + relevant option names. The configurator feeds option values to the + OptionHandler which configures itself. + + As a result of these changes, the Init class has been broken down + to two separate classes: the BasicConfigurator and the + PropertiesConfigurator. + + An XML configurator for 0.8.0 has been already written by + Christopher Taylor (cstaylor@pacbell.net).</action> + + <action action="add">Add multiple appender support per category. The appenders follow + the category hierarchy, i.e. a child category inherits the + appenders of its parents.</action> + + <action action="add">Add an assert() method to the Category class. Steven Marcus + (srnm@awaretechnologies.com) requested this addition.</action> + +<action>Automatic stack printing is no longer supported. This was an unused + and unreliable feature which unnecessarily complicated the + code.</action> + +<action>log4j now emits a single warning message when no appender to write to + could be found. This is typically the case when the user forgets + to configure the log4j environment. This change was suggested by + Jim Cakalic (jim_cakalic@na.biomerieux.com).</action> + +<action>RollingFileAppender adds file roll over capability-implemented by + Heinz Richter (heinz.richter@ecmwf.int).</action> + +<action>Corrected a bug where a java.lang.NoClassDefFoundError would be + thrown because com.ibm.log4j.helpers.SyslogTracerPrintWriter was + not included in log4j.jar. Thanks to Jim Cakalic (jim_cakalic@na.biomerieux.com) + for signaling this bug.</action> + +</release> + +<release version="0.8.0" date="2000-02-09"> + +<action>There has been an important API changes. The Log, NOPLog and ILog + classes have been removed. Their functionality has been migrated to + the Category class. + + In this release, instead of writing + + ILog.debug(CAT, "Some message."); + + one will write + + CAT.debug("Some message."); + + Arndt Schoenewald &lt;arndt@ibm23093i821.mc.schoenewald.de&gt; observed that + one could use the Category objects directly for logging.</action> + +<action>It is no longer possible to instantiate Category objects directly. + Instead, one would use the factory method + Category.getInstance(String name). [***] + + There category instantiation code was moved to CateogryFactory + class. This class has package visibility and remains hidden from + the user. + + This stylistic improvement was suggested by Luke Blanshard + (luke@quiq.com).</action> + +<action>The Init class offers methods to initialize the log4j + environment. The Init.flagAsShippedCode method replaces the NOPLog + class.</action> + +<action>Changes in the documentation to reflect the API changes.</action> + +<action>The NDC.cloneStack and inherit methods now tolerate null-stacks.</action> + +</release> + +<release version="0.7.5" date="2000-01-29"> + +<action>TTCCLayout now takes a java.text.DateFormat object as a + parameter. The task of formatting the date is delegated to this + object. + + Added four classes extending the java.text.DateFormat class. These + are RelativeTimeDateFormat, AbsoluteTimeDateFormat, + DateTimeDateFormat and ISO8601DateFormat classes. + + Thanks to Arndt Schoenewald &lt;arndt@ibm23093i821.mc.schoenewald.de&gt; + for suggesting the ISO8601 date format. + + These four classes can be parametrized with a particular + TimeZone. The TTCCLayout class now accepts a new configuration file + option called "TimeZone". + + These four DateFormats are less malleable than the + java.text.SimpleDateFormat but they are also much faster. + + As a consequence of these changes, the setRelativeTime, + setDatePrinting methods in TTCCLayout have been removed along with + the associated configuration file options RelativeTime, + DatePrinting and TimePrinting. + + The current code is inspired by code contributed by + Heinz Richter (heinz.richter@ecmwf.int).</action> + +<action>The Log.emerg method has been deprecated. If you use statements of + EMERG priority, please use the Log.log form instead.</action> + + <action action="add">Add getDepth and setMaxdepth methods to the NDC class. This makes + it easier to manage the nested context depth especially when + callees push but forget to pop.</action> + +<action>Moved the documentation in com/ibm/log4j/package.html to + com/ibm/log4j/overview.html. Many users were failing to read the + com/ibm/log4j/package.html description due to the unfortunate + layout of the text. Hopefully more people will read the package + overview in its present location.</action> + + <action action="add">Add the com.ibm.log4j.net package for doing remote logging using + TCP sockets. This is still experimental code.</action> + + <action action="add">Add new debug, .., emerg methods that do not require a category + parameter. They assume the "root" category, that is the decision to + whether print or not is made by comparing the statement's priority + with the default priority. </action> +</release> + +<release version="0.7.4" date="2000-01-21"> + + <action action="add">Add a new ILog.init method accepting an Appender and a + configuration file as parameters.</action> + +<action>FileAppender's setWriter and setFile methods where not instantiating + a new tracer. This caused stack traces to be lost! SyslogAppender + had a similar problem.</action> + +<action>The FileAppender and SyslogAppender where not calling the layout's + readConfig method to set layout specific options. Thanks to Heinz + Richter (heinz.richter@ecmwf.int) for reporting this bug.</action> + +<action>Corrected a bug in Log.log() method where the appender was always + called with Priority.DEBUG. Thanks to Oliver Boehm + (Oliver.Boehm@abaxx.de) for reporting this bug.</action> + </release> + +<release version="0.7.3" date="2000-01-14"> + + <action action="add">Add Syslog compatibility. One can now choose (at runtime) between + remote syslog logging or file logging. + Syslog logging performance, although not appalling, is significantly + slower than file logging.</action> + +<action>Priority class was enriched with the previously missing priorities + NOTICE, ALERT and CRIT. The internal constants were also aligned with + the syslog counterparts.</action> + + <action action="add">Add the Log.log method to support the new priorities.</action> + +<action>TracerPrintWriter is now an independent class instead of being a + nested top-level class in Tracer.</action> + +<action>A number of writers, namely the SyslogWriter, SyslogQuietWriter, + SyslogTracerPrintWriter, were added to the helper package.</action> + +<action>Log.force method was removed. The various Appender.doAppend + implementations take over its functionality.</action> + +<action>FileAppender and SyslogAppender now use QuietWriter. QuietWriter is + a FilterWriter which hides exceptions and instead emits a single + warning message to System.err.</action> + +<action>The layout is now an initialization parameter to the appender + type. Previously, the layout and the appender where independent + parameters to the Log constructor.</action> + +<action>Many small improvements and corrections in the documentation. + Syslog related documentation remains sparse.</action> + +<action>ILog.init() and ILog.init(String configFile) have been changed to + call ILog.init(,,,) with "com.ibm.log4j.Log.class" as the first + parameter. This makes it easier for people to get familiar with log4j.</action> + + <action action="add">Add missing files to the make directory. These files are useful + for those wishing to use the log4j make environment. Thanks to "Lee + Hall" &lt;LHall@JavaFoundry.com&gt; for reporting this omission. + Until recently the make environment failed to compile RMI stubs in + a single run. This nagging problem has been corrected thanks to + help from Thomas Eirich (IBM Zurich Research Lab).</action> + </release> + +<release version="0.7.2" date="2000-01-04"> + +<action>Some users have been rightly complaining about the verbosity + TTCCLayout's date output. The full date output is now shortened to + "dd MMM YYYY HH:mm:ss.SSS" for example, "06 Nov 1994 08:49:37.459" + In addition, users may now choose to print only time information, + as in "08:49:37.459".</action> + +<action>The package now uses Writer instead of OutputStream as its output + target. This makes the log4j code smaller and easier to + understand at the cost of a slight performance degradation. As a + result of this change a few method names in FileAppender class were + changed.</action> + +<action>Preliminary experiments with SyslogAppedner and SyslogLayout show + that syslog compatibility is not far away. The difficultly is + adding syslog compatibility without making radical changes to the + current log4j architecture.</action> + +<action>Corrected a bug in the NOPLog.createInstance method which always + created a Log singleton even if the system property "log4j.logType" + was set to NOPLog. Thanks to Robert Gottofrey + (Robert.Gottofrey@wdr.com) for reporting this bug and the + associated test case.</action> + +<action>Removed the inconsistent "Layout" configuration option in + Log.readConfig(). This change should be transparent to most + users.</action> +</release> + +<release version="0.7.1" date="1999-12-20"> + +<action>The LogCreationManager class has been removed. Its functionality + has been transfered to the createInstance and getInstance methods + in the Log and NOPLog classes. The new way of creating instances is + both simpler and less error prone although just as flexible. + + As a result of these changes, the init family of methods in the + ILog class have been adjusted to the new way of creating the log + singleton.</action> + +<action>The Appender interface has been introduced. The method of writing a + log statement into an output stream can now be varied by using a + different Appender. The new FileAppender offers the same + functionality that was previously part of the Log class.</action> + +<action>Changed the time format used in TTCCLayout to be of the form "Day, + dd MMM YYYY HH:mm:ss.SSS GMT" for example, "Sun, 06 Nov 1994 + 22:49:37.459 GMT". This format is almost the same as the format + specified in RFC 1123 and also the format recommended in RFC + 2616. The only difference is the additional milliseconds + information.</action> + +<action>The layout specific options were not read from the configuration + file due to a missing instruction. Many thanks to Vikram Sridharan + (Vikram.Sridharan@alysis.com) to patiently pointing out this + omission to an unbelieving maintainer.</action> +</release> + +<release version="0.7.0" date="1999-12-16"> + +<action>Version 0.7.0 and above will be distributed under the IBM Public + License (IPL). The IPL is an approved open source license (see + http://www.opensource.org/licenses/ for a list). It grants similar + rights to the previous ALPHAWORKS license agreement, in particular, + the right to redistribute and to modify the package.</action> + +<action>The Log class can now be parameterized with a Layout object. + Layouts determine the format of what is printed, where as the Log + class decides when to print and to where. + + As a result of this modularization, the CGULog and NOPCGULog + classes no longer exists. CGULog class has been replaced with the + TTCCLayout (Time Thread Context Category). This should make it + easier to create new log output formats. + + Some time in the near future, the Log class will be further broken + down to allow different strategies for writing to output streams.</action> + +<action>Renamed com.ibm.util.log hierarchy to to com.ibm.log4j. I wanted to + do this for some time. I feel release 0.7.0 was the last + opportunity to do so. I am sorry for the the trouble caused by this + change.</action> + +<action>New NDC class. This class implements nested diagnostic contexts as + suggested by Neil Harrison in the article "Patterns for Logging + Diagnostic Messages" part of the book "Pattern Languages of Program + Design 3" edited by Martin et al. Nested diagnostic contexts is a + nifty feature that was missing up to now. + + The StressNDC test class seems to break JDK 1.2.2 beta on AIX. On + Linux and NT using sun's JDK 1.2.2 it seem to work OK. In any case, + tests done with StressNDC and associated perl script seem to + indicate that the NDC class is bug-free.</action> + +<action>Corrected a date formatting bug in CGULog class where on some + environments the wrong month was printed. Thanks to Christopher + Williams (Christopher_Williams@mail.northgrum.com) for signaling + this bug. Also changed the month format from a number to a three + letter abbreviation such as "Jan", "Feb", ..., "Dec". The new + format is unambiguous regardless of local date format.</action> +</release> + +<release version="0.6.2" date="1999-12-08"> + +<action>Clearer documentation with still much room for improvement.</action> + +<action>Corrected a bug in the Tracer class which always used the Unix line + separator instead of the system specific separator. Thanks to + Vikram Sridharan (Vikram.Sridharan@alysis.com) for singaling this + bug.</action> + +<action>Corrected a runaway comment which gulped the CGULog.readConfig + method.</action> + + <action action="add">Add the init family of methods to the ILog class to ease the + setup of a basic logging environment. Thanks to Mark Donszelmann + (Mark.Donszelmann@cern.ch) for this enhancement.</action> + +<action>Just an hour after releasing version 0.6.1 detected and corrected a + bug where the Tracer class would correctly print Exception stack + trace but not the type of the Exception. Replaced the + distribution on www.zurich.ibm.com without changing the version + number. I hope nobody is using the intermediary (and buggy) release + of 0.6.1.</action> + +</release> + +<release version="0.6.1" date="1999-11-16"> +<action>Better documentation with still much room for improvement.</action> + +<action>For consistence sake, added setDefaultPriority and + getDefaultPriority methods to the Category class and deprecated + setDefaultPriority in the Log.class.</action> + +<action>Corrected a major bug where if two categories were homonyms the + second instance would not be properly initialized.</action> + +<action>Increased the speed of Exception logging from about 4000 + microseconds to about 1000. It seems that for some people Exception + logging is performance critical. Improved implementation is a + variant of Nocolai's (XNH@crisplant.com) implementation.</action> +</release> + +<release version="0.6.0" date="1999-11-09"> + +<action>Release of log4j 0.6.0 with incomplete documentation.</action> + + <action action="add">Add a stress test program to debug the new Category class. It + turns out that the test program was as hard to get right as the + Category class. Given the favorable results of the stress test I am + quite confident that the new class is now bug free. This assumption + has been proven to be wrong. See above.</action> + +<action>Created a new class called Category to manipulate categories + instead of plain Strings. The new class is just as easy to use. + However, the evaluation of whether to log or not to log is at least + 10 times faster. The NOP class performance remain unaffected by the + change. (You can't improve on the performance of an empty function + call.) + + Many thanks to Alex Blewitt "Alex.Blewitt@ioshq.com" for his + valuable comments. He was the first to observe that finding Strings + in a hash table was an expensive operation. + + This change will require some recoding on your part. See the FAQ + for more details.</action> + +<action>Modified the force in Log and CGULog method to use a byte[] buffer + instead of a StringBuffer. The old code was clearer but the new one + is at least 25% faster.</action> + + <action action="add">Add regression testing.</action> + +<action>We now enforce a policy where the OutputStream set by + setOutputStream is a user managed resource whereas the OutputStream + opened using setLogFile is the Log class' responsibility. + + The setLogFile method now closes any previous OutputStream if only + if opened through setLogFile. If the previous OutputStream was + opened by the user and set through setOutputStream the previous + OutputStream is untouched. + + Similarly, setOutputStream will close any previous OutputStream if + and only if it was opened using setLogFile. +</action> + + <action action="add">Add a new method logOutputStreamExists to the Log class allowing + the programmer to check if there is already an opened stream before + trying to set a new one. A stream can be opened as a byproduct of + reading the configuration file.</action> + +<action>Changed the behavior of the (private) Log.Append method in case of + failure to write to the OutputStream. + + Previously, in case of failure, we reverted to System.err. Now, we + emit a warning message and discard all future log messages. The + new behavior is consistent with our current unreliable logging + semantics. The change prevents an otherwise functional program + from failing because the terminal is flooded with logging messages.</action> + +<action>Renamed the iLog to ILog to remain consistent with our class naming + scheme. The initial intention was to add ILog and deprecate + iLog. However, I am running CVS on a fat16 partition, causing + serious problems when files differ only in case.</action> + +<action>Corrected a bug where the LogFileName was not remembered. Thanks to + Jens for signaling this bug.</action> +</release> + +<release version="0.5a" date="1999-10-28"> +<action>Now the programmer can choose to truncate the log file instead of + always appending to it. This functionality was first requested and + intially implemented by "Jens Uwe Pipka" jens.pipka@gmx.de.</action> + +<action>setLogFile now opens the requested file instead of having the + Append function open it later. Cleaned up some related code in the + Append function. Although nobody has requested it, there is still + no method to close the log file. This is harder to implement + reliably than it sounds.</action> + +<action>Simplified setLogOutputStream so that it does no longer return the + previously set OutputStream.</action> + +</release> + +<release version="0.5" date="1999-10-27"> + +<action>Joe Walker (joe@eireneh.com) observed that the + LogCreationManager.getSingleton mechanism was cumbersome. There is + now a new class iLog (indirect Log) which hides the need to call + getSingleton. Performance testing on my 233Mhz Thinkpad shows that + this indirection has small performance impact on non-logged calls + in the order of 40 nanoseconds. The impact on logged calls is + negligible.</action> + + <action action="add">Add a jar file to the distribution. The jar file contains only + the files you would need to use log but not other classes needed + for testing nor examples.</action> + +<action>Corrected a bug where CGUNOPLog was not integrated to the Makefile.</action> + + <action action="add">Add new public methods isDebugEnabled and isInfoEnabled to allow + programmers to check whether a debug/info statement will be logged + without incurring the cost of message parameter construction. This + addition was suggested by Luke Blanshard Luke@quiq.com.</action> + +<action>Renamed the private method evaluate to isEnabled. Also made it + final with no apparent speed gains. In addition, made the + Log.force method public.</action> + +<action>New syntactic sugar debug, ..., emerg, methods to log objects.</action> + +<action>Modified the interface to deal with Throwables and not just + Exceptions. My thanks to Luke Blanshard for signaling this "bug".</action> + + <action action="add">Add more tests to the LogPerformance class. In particular, to + test the influence of indirect debug calls.</action> + + <action action="add">Add a "make" mini-tutorial for those who want to modify the code.</action> + +<action>License updated to standard alphaWorks license allowing + modifications to source code. However, this license explicitly + requires that modifications be communicated back to alphaWorks.</action> + +</release> + +<release date="1999-10-15"> +<action>Initial availability on alphaWorks. Refer to the FAQ for the lineage of the package.</action> +</release> + </body> +</document> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Appender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Appender.java new file mode 100644 index 00000000000..42ca4b8725c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Appender.java @@ -0,0 +1,142 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.LoggingEvent; + +/** + Implement this interface for your own strategies for outputting log + statements. + + @author Ceki G&uuml;lc&uuml; +*/ +public interface Appender { + + /** + Add a filter to the end of the filter list. + + @since 0.9.0 + */ + void addFilter(Filter newFilter); + + /** + Returns the head Filter. The Filters are organized in a linked list + and so all Filters on this Appender are available through the result. + + @return the head Filter or null, if no Filters are present + @since 1.1 + */ + public + Filter getFilter(); + + /** + Clear the list of filters by removing all the filters in it. + + @since 0.9.0 + */ + public + void clearFilters(); + + /** + Release any resources allocated within the appender such as file + handles, network connections, etc. + + <p>It is a programming error to append to a closed appender. + + @since 0.8.4 + */ + public + void close(); + + /** + Log in <code>Appender</code> specific way. When appropriate, + Loggers will call the <code>doAppend</code> method of appender + implementations in order to log. */ + public + void doAppend(LoggingEvent event); + + + /** + Get the name of this appender. + @return name, may be null.*/ + public + String getName(); + + + /** + Set the {@link ErrorHandler} for this appender. + + @since 0.9.0 + */ + public + void setErrorHandler(ErrorHandler errorHandler); + + /** + Returns the {@link ErrorHandler} for this appender. + + @since 1.1 + */ + public + ErrorHandler getErrorHandler(); + + /** + Set the {@link Layout} for this appender. + + @since 0.8.1 + */ + public + void setLayout(Layout layout); + + /** + Returns this appenders layout. + + @since 1.1 + */ + public + Layout getLayout(); + + + /** + Set the name of this appender. The name is used by other + components to identify this appender. + + @since 0.8.1 + */ + public + void setName(String name); + + /** + Configurators call this method to determine if the appender + requires a layout. If this method returns <code>true</code>, + meaning that layout is required, then the configurator will + configure an layout using the configuration information at its + disposal. If this method returns <code>false</code>, 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.. + + <p>In the rather exceptional case, where the appender + implementation admits a layout but can also work without it, then + the appender should return <code>true</code>. + + @since 0.8.4 */ + public + boolean requiresLayout(); +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/AppenderSkeleton.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/AppenderSkeleton.java new file mode 100644 index 00000000000..d4d2a5afa75 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/AppenderSkeleton.java @@ -0,0 +1,304 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.OptionHandler; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.helpers.OnlyOnceErrorHandler; +import org.apache.log4j.helpers.LogLog; + + +/** + * Abstract superclass of the other appenders in the package. + * + * This class provides the code for common functionality, such as + * support for threshold filtering and support for general filters. + * + * @since 0.8.1 + * @author Ceki G&uuml;lc&uuml; + * */ +public abstract class AppenderSkeleton implements Appender, OptionHandler { + + /** The layout variable does not need to be set if the appender + implementation has its own layout. */ + protected Layout layout; + + /** Appenders are named. */ + protected String name; + + /** + There is no level threshold filtering by default. */ + protected Priority threshold; + + /** + It is assumed and enforced that errorHandler is never null. + */ + protected ErrorHandler errorHandler = new OnlyOnceErrorHandler(); + + /** The first filter in the filter chain. Set to <code>null</code> + initially. */ + protected Filter headFilter; + /** The last filter in the filter chain. */ + protected Filter tailFilter; + + /** + Is this appender closed? + */ + protected boolean closed = false; + + /** + * Create new instance. + */ + public AppenderSkeleton() { + super(); + } + + /** + * Create new instance. + * Provided for compatibility with log4j 1.3. + * + * @param isActive true if appender is ready for use upon construction. + * Not used in log4j 1.2.x. + * @since 1.2.15 + */ + protected AppenderSkeleton(final boolean isActive) { + super(); + } + + + + /** + Derived appenders should override this method if option structure + requires it. */ + public + void activateOptions() { + } + + + /** + Add a filter to end of the filter list. + + @since 0.9.0 + */ + public + void addFilter(Filter newFilter) { + if(headFilter == null) { + headFilter = tailFilter = newFilter; + } else { + tailFilter.setNext(newFilter); + tailFilter = newFilter; + } + } + + /** + Subclasses of <code>AppenderSkeleton</code> should implement this + method to perform actual logging. See also {@link #doAppend + AppenderSkeleton.doAppend} method. + + @since 0.9.0 + */ + abstract + protected + void append(LoggingEvent event); + + + /** + Clear the filters chain. + + @since 0.9.0 */ + public + void clearFilters() { + headFilter = tailFilter = null; + } + + /** + Finalize this appender by calling the derived class' + <code>close</code> method. + + @since 0.8.4 */ + public + void finalize() { + // An appender might be closed then garbage collected. There is no + // point in closing twice. + if(this.closed) + return; + + LogLog.debug("Finalizing appender named ["+name+"]."); + close(); + } + + + /** + Return the currently set {@link ErrorHandler} for this + Appender. + + @since 0.9.0 */ + public + ErrorHandler getErrorHandler() { + return this.errorHandler; + } + + + /** + Returns the head Filter. + + @since 1.1 + */ + public + Filter getFilter() { + return headFilter; + } + + /** + Return the first filter in the filter chain for this + Appender. The return value may be <code>null</code> if no is + filter is set. + + */ + public + final + Filter getFirstFilter() { + return headFilter; + } + + /** + Returns the layout of this appender. The value may be null. + */ + public + Layout getLayout() { + return layout; + } + + + /** + Returns the name of this appender. + @return name, may be null. + */ + public + final + String getName() { + return this.name; + } + + /** + Returns this appenders threshold level. See the {@link + #setThreshold} method for the meaning of this option. + + @since 1.1 */ + public + Priority getThreshold() { + return threshold; + } + + + /** + Check whether the message level is below the appender's + threshold. If there is no threshold set, then the return value is + always <code>true</code>. + + */ + public + boolean isAsSevereAsThreshold(Priority priority) { + return ((threshold == null) || priority.isGreaterOrEqual(threshold)); + } + + + /** + * This method performs threshold checks and invokes filters before + * delegating actual logging to the subclasses specific {@link + * AppenderSkeleton#append} method. + * */ + public + synchronized + void doAppend(LoggingEvent event) { + if(closed) { + LogLog.error("Attempted to append to closed appender named ["+name+"]."); + return; + } + + if(!isAsSevereAsThreshold(event.getLevel())) { + return; + } + + Filter f = this.headFilter; + + FILTER_LOOP: + while(f != null) { + switch(f.decide(event)) { + case Filter.DENY: return; + case Filter.ACCEPT: break FILTER_LOOP; + case Filter.NEUTRAL: f = f.getNext(); + } + } + + this.append(event); + } + + /** + Set the {@link ErrorHandler} for this Appender. + @since 0.9.0 + */ + public + synchronized + void setErrorHandler(ErrorHandler eh) { + if(eh == null) { + // We do not throw exception here since the cause is probably a + // bad config file. + LogLog.warn("You have tried to set a null error-handler."); + } else { + this.errorHandler = eh; + } + } + + /** + Set the layout for this appender. Note that some appenders have + their own (fixed) layouts or do not use one. For example, the + {@link org.apache.log4j.net.SocketAppender} ignores the layout set + here. + */ + public + void setLayout(Layout layout) { + this.layout = layout; + } + + + /** + Set the name of this Appender. + */ + public + void setName(String name) { + this.name = name; + } + + + /** + Set the threshold level. All log events with lower level + than the threshold level are ignored by the appender. + + <p>In configuration files this option is specified by setting the + value of the <b>Threshold</b> option to a level + string, such as "DEBUG", "INFO" and so on. + + @since 0.8.3 */ + public + void setThreshold(Priority threshold) { + this.threshold = threshold; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/AsyncAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/AsyncAppender.java new file mode 100644 index 00000000000..214ffa7b9b1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/AsyncAppender.java @@ -0,0 +1,596 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contibutors: Aaron Greenhouse <aarong@cs.cmu.edu> +// Thomas Tuft Muller <ttm@online.no> +package org.apache.log4j; + +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.apache.log4j.helpers.AppenderAttachableImpl; +import org.apache.log4j.spi.AppenderAttachable; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * The AsyncAppender lets users log events asynchronously. + * <p/> + * <p/> + * The AsyncAppender will collect the events sent to it and then dispatch them + * to all the appenders that are attached to it. You can attach multiple + * appenders to an AsyncAppender. + * </p> + * <p/> + * <p/> + * The AsyncAppender uses a separate thread to serve the events in its buffer. + * </p> + * <p/> + * <b>Important note:</b> The <code>AsyncAppender</code> can only be script + * configured using the {@link org.apache.log4j.xml.DOMConfigurator}. + * </p> + * + * @author Ceki G&uuml;lc&uuml; + * @author Curt Arnold + * @since 0.9.1 + */ +public class AsyncAppender extends AppenderSkeleton + implements AppenderAttachable { + /** + * The default buffer size is set to 128 events. + */ + public static final int DEFAULT_BUFFER_SIZE = 128; + + /** + * Event buffer, also used as monitor to protect itself and + * discardMap from simulatenous modifications. + */ + private final List buffer = new ArrayList(); + + /** + * Map of DiscardSummary objects keyed by logger name. + */ + private final Map discardMap = new HashMap(); + + /** + * Buffer size. + */ + private int bufferSize = DEFAULT_BUFFER_SIZE; + + /** Nested appenders. */ + AppenderAttachableImpl aai; + + /** + * Nested appenders. + */ + private final AppenderAttachableImpl appenders; + + /** + * Dispatcher. + */ + private final Thread dispatcher; + + /** + * Should location info be included in dispatched messages. + */ + private boolean locationInfo = false; + + /** + * Does appender block when buffer is full. + */ + private boolean blocking = true; + + /** + * Create new instance. + */ + public AsyncAppender() { + appenders = new AppenderAttachableImpl(); + + // + // only set for compatibility + aai = appenders; + + dispatcher = + new Thread(new Dispatcher(this, buffer, discardMap, appenders)); + + // It is the user's responsibility to close appenders before + // exiting. + dispatcher.setDaemon(true); + + // set the dispatcher priority to lowest possible value + // dispatcher.setPriority(Thread.MIN_PRIORITY); + dispatcher.setName("AsyncAppender-Dispatcher-" + dispatcher.getName()); + dispatcher.start(); + } + + /** + * Add appender. + * + * @param newAppender appender to add, may not be null. + */ + public void addAppender(final Appender newAppender) { + synchronized (appenders) { + appenders.addAppender(newAppender); + } + } + + /** + * {@inheritDoc} + */ + public void append(final LoggingEvent event) { + // + // if dispatcher thread has died then + // append subsequent events synchronously + // See bug 23021 + if ((dispatcher == null) || !dispatcher.isAlive() || (bufferSize <= 0)) { + synchronized (appenders) { + appenders.appendLoopOnAppenders(event); + } + + return; + } + + // Set the NDC and thread name for the calling thread as these + // LoggingEvent fields were not set at event creation time. + event.getNDC(); + event.getThreadName(); + // Get a copy of this thread's MDC. + event.getMDCCopy(); + if (locationInfo) { + event.getLocationInformation(); + } + event.getRenderedMessage(); + event.getThrowableStrRep(); + + synchronized (buffer) { + while (true) { + int previousSize = buffer.size(); + + if (previousSize < bufferSize) { + buffer.add(event); + + // + // if buffer had been empty + // signal all threads waiting on buffer + // to check their conditions. + // + if (previousSize == 0) { + buffer.notifyAll(); + } + + break; + } + + // + // Following code is only reachable if buffer is full + // + // + // if blocking and thread is not already interrupted + // and not the dispatcher then + // wait for a buffer notification + boolean discard = true; + if (blocking + && !Thread.interrupted() + && Thread.currentThread() != dispatcher) { + try { + buffer.wait(); + discard = false; + } catch (InterruptedException e) { + // + // reset interrupt status so + // calling code can see interrupt on + // their next wait or sleep. + Thread.currentThread().interrupt(); + } + } + + // + // if blocking is false or thread has been interrupted + // add event to discard map. + // + if (discard) { + String loggerName = event.getLoggerName(); + DiscardSummary summary = (DiscardSummary) discardMap.get(loggerName); + + if (summary == null) { + summary = new DiscardSummary(event); + discardMap.put(loggerName, summary); + } else { + summary.add(event); + } + + break; + } + } + } + } + + /** + * Close this <code>AsyncAppender</code> by interrupting the dispatcher + * thread which will process all pending events before exiting. + */ + public void close() { + /** + * Set closed flag and notify all threads to check their conditions. + * Should result in dispatcher terminating. + */ + synchronized (buffer) { + closed = true; + buffer.notifyAll(); + } + + try { + dispatcher.join(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + org.apache.log4j.helpers.LogLog.error( + "Got an InterruptedException while waiting for the " + + "dispatcher to finish.", e); + } + + // + // close all attached appenders. + // + synchronized (appenders) { + Enumeration iter = appenders.getAllAppenders(); + + if (iter != null) { + while (iter.hasMoreElements()) { + Object next = iter.nextElement(); + + if (next instanceof Appender) { + ((Appender) next).close(); + } + } + } + } + } + + /** + * Get iterator over attached appenders. + * @return iterator or null if no attached appenders. + */ + public Enumeration getAllAppenders() { + synchronized (appenders) { + return appenders.getAllAppenders(); + } + } + + /** + * Get appender by name. + * + * @param name name, may not be null. + * @return matching appender or null. + */ + public Appender getAppender(final String name) { + synchronized (appenders) { + return appenders.getAppender(name); + } + } + + /** + * Gets whether the location of the logging request call + * should be captured. + * + * @return the current value of the <b>LocationInfo</b> option. + */ + public boolean getLocationInfo() { + return locationInfo; + } + + /** + * Determines if specified appender is attached. + * @param appender appender. + * @return true if attached. + */ + public boolean isAttached(final Appender appender) { + synchronized (appenders) { + return appenders.isAttached(appender); + } + } + + /** + * {@inheritDoc} + */ + public boolean requiresLayout() { + return false; + } + + /** + * Removes and closes all attached appenders. + */ + public void removeAllAppenders() { + synchronized (appenders) { + appenders.removeAllAppenders(); + } + } + + /** + * Removes an appender. + * @param appender appender to remove. + */ + public void removeAppender(final Appender appender) { + synchronized (appenders) { + appenders.removeAppender(appender); + } + } + + /** + * Remove appender by name. + * @param name name. + */ + public void removeAppender(final String name) { + synchronized (appenders) { + appenders.removeAppender(name); + } + } + + /** + * The <b>LocationInfo</b> option takes a boolean value. By default, it is + * set to false which means there will be no effort to extract the location + * information related to the event. As a result, the event that will be + * ultimately logged will likely to contain the wrong location information + * (if present in the log format). + * <p/> + * <p/> + * Location information extraction is comparatively very slow and should be + * avoided unless performance is not a concern. + * </p> + * @param flag true if location information should be extracted. + */ + public void setLocationInfo(final boolean flag) { + locationInfo = flag; + } + + /** + * Sets the number of messages allowed in the event buffer + * before the calling thread is blocked (if blocking is true) + * or until messages are summarized and discarded. Changing + * the size will not affect messages already in the buffer. + * + * @param size buffer size, must be positive. + */ + public void setBufferSize(final int size) { + // + // log4j 1.2 would throw exception if size was negative + // and deadlock if size was zero. + // + if (size < 0) { + throw new java.lang.NegativeArraySizeException("size"); + } + + synchronized (buffer) { + // + // don't let size be zero. + // + bufferSize = (size < 1) ? 1 : size; + buffer.notifyAll(); + } + } + + /** + * Gets the current buffer size. + * @return the current value of the <b>BufferSize</b> option. + */ + public int getBufferSize() { + return bufferSize; + } + + /** + * Sets whether appender should wait if there is no + * space available in the event buffer or immediately return. + * + * @since 1.2.14 + * @param value true if appender should wait until available space in buffer. + */ + public void setBlocking(final boolean value) { + synchronized (buffer) { + blocking = value; + buffer.notifyAll(); + } + } + + /** + * Gets whether appender should block calling thread when buffer is full. + * If false, messages will be counted by logger and a summary + * message appended after the contents of the buffer have been appended. + * + * @since 1.2.14 + * @return true if calling thread will be blocked when buffer is full. + */ + public boolean getBlocking() { + return blocking; + } + + /** + * Summary of discarded logging events for a logger. + */ + private static final class DiscardSummary { + /** + * First event of the highest severity. + */ + private LoggingEvent maxEvent; + + /** + * Total count of messages discarded. + */ + private int count; + + /** + * Create new instance. + * + * @param event event, may not be null. + */ + public DiscardSummary(final LoggingEvent event) { + maxEvent = event; + count = 1; + } + + /** + * Add discarded event to summary. + * + * @param event event, may not be null. + */ + public void add(final LoggingEvent event) { + if (event.getLevel().toInt() > maxEvent.getLevel().toInt()) { + maxEvent = event; + } + + count++; + } + + /** + * Create event with summary information. + * + * @return new event. + */ + public LoggingEvent createEvent() { + String msg = + MessageFormat.format( + "Discarded {0} messages due to full event buffer including: {1}", + new Object[] { new Integer(count), maxEvent.getMessage() }); + + return new LoggingEvent( + "org.apache.log4j.AsyncAppender.DONT_REPORT_LOCATION", + Logger.getLogger(maxEvent.getLoggerName()), + maxEvent.getLevel(), + msg, + null); + } + } + + /** + * Event dispatcher. + */ + private static class Dispatcher implements Runnable { + /** + * Parent AsyncAppender. + */ + private final AsyncAppender parent; + + /** + * Event buffer. + */ + private final List buffer; + + /** + * Map of DiscardSummary keyed by logger name. + */ + private final Map discardMap; + + /** + * Wrapped appenders. + */ + private final AppenderAttachableImpl appenders; + + /** + * Create new instance of dispatcher. + * + * @param parent parent AsyncAppender, may not be null. + * @param buffer event buffer, may not be null. + * @param discardMap discard map, may not be null. + * @param appenders appenders, may not be null. + */ + public Dispatcher( + final AsyncAppender parent, final List buffer, final Map discardMap, + final AppenderAttachableImpl appenders) { + + this.parent = parent; + this.buffer = buffer; + this.appenders = appenders; + this.discardMap = discardMap; + } + + /** + * {@inheritDoc} + */ + public void run() { + boolean isActive = true; + + // + // if interrupted (unlikely), end thread + // + try { + // + // loop until the AsyncAppender is closed. + // + while (isActive) { + LoggingEvent[] events = null; + + // + // extract pending events while synchronized + // on buffer + // + synchronized (buffer) { + int bufferSize = buffer.size(); + isActive = !parent.closed; + + while ((bufferSize == 0) && isActive) { + buffer.wait(); + bufferSize = buffer.size(); + isActive = !parent.closed; + } + + if (bufferSize > 0) { + events = new LoggingEvent[bufferSize + discardMap.size()]; + buffer.toArray(events); + + // + // add events due to buffer overflow + // + int index = bufferSize; + + for ( + Iterator iter = discardMap.values().iterator(); + iter.hasNext();) { + events[index++] = ((DiscardSummary) iter.next()).createEvent(); + } + + // + // clear buffer and discard map + // + buffer.clear(); + discardMap.clear(); + + // + // allow blocked appends to continue + buffer.notifyAll(); + } + } + + // + // process events after lock on buffer is released. + // + if (events != null) { + for (int i = 0; i < events.length; i++) { + synchronized (appenders) { + appenders.appendLoopOnAppenders(events[i]); + } + } + } + } + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/BasicConfigurator.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/BasicConfigurator.java new file mode 100644 index 00000000000..2d859cf4366 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/BasicConfigurator.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contibutors: "Luke Blanshard" <Luke@quiq.com> +// "Mark DONSZELMANN" <Mark.Donszelmann@cern.ch> +// "Muly Oved" <mulyoved@hotmail.com> + +package org.apache.log4j; + + +/** + Use this class to quickly configure the package. + + <p>For file based configuration see {@link + PropertyConfigurator}. For XML based configuration see {@link + org.apache.log4j.xml.DOMConfigurator DOMConfigurator}. + + @since 0.8.1 + @author Ceki G&uuml;lc&uuml; */ +public class BasicConfigurator { + + protected BasicConfigurator() { + } + + /** + Add a {@link ConsoleAppender} that uses {@link PatternLayout} + using the {@link PatternLayout#TTCC_CONVERSION_PATTERN} and + prints to <code>System.out</code> to the root category. */ + static + public + void configure() { + Logger root = Logger.getRootLogger(); + root.addAppender(new ConsoleAppender( + new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN))); + } + + /** + Add <code>appender</code> to the root category. + @param appender The appender to add to the root category. + */ + static + public + void configure(Appender appender) { + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + } + + /** + Reset the default hierarchy to its defaut. It is equivalent to + calling + <code>Category.getDefaultHierarchy().resetConfiguration()</code>. + + See {@link Hierarchy#resetConfiguration()} for more details. */ + public + static + void resetConfiguration() { + LogManager.resetConfiguration(); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Category.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Category.java new file mode 100644 index 00000000000..e0cb56108cf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Category.java @@ -0,0 +1,1062 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contibutors: Alex Blewitt <Alex.Blewitt@ioshq.com> +// Markus Oestreicher <oes@zurich.ibm.com> +// Frank Hoering <fhr@zurich.ibm.com> +// Nelson Minar <nelson@media.mit.edu> +// Jim Cakalic <jim_cakalic@na.biomerieux.com> +// Avy Sharell <asharell@club-internet.fr> +// Ciaran Treanor <ciaran@xelector.com> +// Jeff Turner <jeff@socialchange.net.au> +// Michael Horwitz <MHorwitz@siemens.co.za> +// Calvin Chan <calvin.chan@hic.gov.au> +// Aaron Greenhouse <aarong@cs.cmu.edu> +// Beat Meier <bmeier@infovia.com.ar> +// Colin Sampaleanu <colinml1@exis.com> + +package org.apache.log4j; + +import org.apache.log4j.spi.AppenderAttachable; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.spi.HierarchyEventListener; +import org.apache.log4j.helpers.NullEnumeration; +import org.apache.log4j.helpers.AppenderAttachableImpl; + +import java.util.Enumeration; +import java.util.MissingResourceException; +import java.util.ResourceBundle; +import java.util.Vector; + + +/** + * <font color="#AA2222"><b>This class has been deprecated and + * replaced by the {@link Logger} <em>subclass</em></b></font>. It + * will be kept around to preserve backward compatibility until mid + * 2003. + * + * <p><code>Logger</code> is a subclass of Category, i.e. it extends + * Category. In other words, a logger <em>is</em> a category. Thus, + * all operations that can be performed on a category can be + * performed on a logger. Internally, whenever log4j is asked to + * produce a Category object, it will instead produce a Logger + * object. Log4j 1.2 will <em>never</em> produce Category objects but + * only <code>Logger</code> instances. In order to preserve backward + * compatibility, methods that previously accepted category objects + * still continue to accept category objects. + * + * <p>For example, the following are all legal and will work as + * expected. + * + <pre> + &nbsp;&nbsp;&nbsp;// Deprecated form: + &nbsp;&nbsp;&nbsp;Category cat = Category.getInstance("foo.bar") + + &nbsp;&nbsp;&nbsp;// Preferred form for retrieving loggers: + &nbsp;&nbsp;&nbsp;Logger logger = Logger.getLogger("foo.bar") + </pre> + + * <p>The first form is deprecated and should be avoided. + * + * <p><b>There is absolutely no need for new client code to use or + * refer to the <code>Category</code> class.</b> Whenever possible, + * please avoid referring to it or using it. + * + * <p>See the <a href="../../../../manual.html">short manual</a> for an + * introduction on this class. + * <p> + * See the document entitled <a href="http://www.qos.ch/logging/preparingFor13.html">preparing + * for log4j 1.3</a> for a more detailed discussion. + * + * @author Ceki G&uuml;lc&uuml; + * @author Anders Kristensen + */ +public class Category implements AppenderAttachable { + + /** + The hierarchy where categories are attached to by default. + */ + //static + //public + //final Hierarchy defaultHierarchy = new Hierarchy(new + // RootCategory(Level.DEBUG)); + + /** + The name of this category. + */ + protected String name; + + /** + The assigned level of this category. The + <code>level</code> variable need not be assigned a value in + which case it is inherited form the hierarchy. */ + volatile protected Level level; + + /** + The parent of this category. All categories have at least one + ancestor which is the root category. */ + volatile protected Category parent; + + /** + The fully qualified name of the Category class. See also the + getFQCN method. */ + private static final String FQCN = Category.class.getName(); + + protected ResourceBundle resourceBundle; + + // Categories need to know what Hierarchy they are in + protected LoggerRepository repository; + + + AppenderAttachableImpl aai; + + /** Additivity is set to true by default, that is children inherit + the appenders of their ancestors by default. If this variable is + set to <code>false</code> then the appenders found in the + ancestors of this category are not used. However, the children + of this category will inherit its appenders, unless the children + have their additivity flag set to <code>false</code> too. See + the user manual for more details. */ + protected boolean additive = true; + + /** + This constructor created a new <code>Category</code> instance and + sets its name. + + <p>It is intended to be used by sub-classes only. You should not + create categories directly. + + @param name The name of the category. + */ + protected + Category(String name) { + this.name = name; + } + + /** + Add <code>newAppender</code> to the list of appenders of this + Category instance. + + <p>If <code>newAppender</code> is already in the list of + appenders, then it won't be added again. + */ + synchronized + public + void addAppender(Appender newAppender) { + if(aai == null) { + aai = new AppenderAttachableImpl(); + } + aai.addAppender(newAppender); + repository.fireAddAppenderEvent(this, newAppender); + } + + /** + If <code>assertion</code> parameter is <code>false</code>, then + logs <code>msg</code> as an {@link #error(Object) error} statement. + + <p>The <code>assert</code> method has been renamed to + <code>assertLog</code> because <code>assert</code> is a language + reserved word in JDK 1.4. + + @param assertion + @param msg The message to print if <code>assertion</code> is + false. + + @since 1.2 */ + public + void assertLog(boolean assertion, String msg) { + if(!assertion) + this.error(msg); + } + + + /** + Call the appenders in the hierrachy starting at + <code>this</code>. If no appenders could be found, emit a + warning. + + <p>This method calls all the appenders inherited from the + hierarchy circumventing any evaluation of whether to log or not + to log the particular log request. + + @param event the event to log. */ + public + void callAppenders(LoggingEvent event) { + int writes = 0; + + for(Category c = this; c != null; c=c.parent) { + // Protected against simultaneous call to addAppender, removeAppender,... + synchronized(c) { + if(c.aai != null) { + writes += c.aai.appendLoopOnAppenders(event); + } + if(!c.additive) { + break; + } + } + } + + if(writes == 0) { + repository.emitNoAppenderWarning(this); + } + } + + /** + Close all attached appenders implementing the AppenderAttachable + interface. + @since 1.0 + */ + synchronized + void closeNestedAppenders() { + Enumeration enumeration = this.getAllAppenders(); + if(enumeration != null) { + while(enumeration.hasMoreElements()) { + Appender a = (Appender) enumeration.nextElement(); + if(a instanceof AppenderAttachable) { + a.close(); + } + } + } + } + + /** + Log a message object with the {@link Level#DEBUG DEBUG} level. + + <p>This method first checks if this category is <code>DEBUG</code> + enabled by comparing the level of this category with the {@link + Level#DEBUG DEBUG} level. If this category is + <code>DEBUG</code> enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + {@link org.apache.log4j.or.ObjectRenderer}. It then proceeds to call all the + registered appenders in this category and also higher in the + hierarchy depending on the value of the additivity flag. + + <p><b>WARNING</b> Note that passing a {@link Throwable} to this + method will print the name of the <code>Throwable</code> but no + stack trace. To print a stack trace use the {@link #debug(Object, + Throwable)} form instead. + + @param message the message object to log. */ + public + void debug(Object message) { + if(repository.isDisabled(Level.DEBUG_INT)) + return; + if(Level.DEBUG.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.DEBUG, message, null); + } + } + + + /** + Log a message object with the <code>DEBUG</code> level including + the stack trace of the {@link Throwable} <code>t</code> passed as + parameter. + + <p>See {@link #debug(Object)} form for more detailed information. + + @param message the message object to log. + @param t the exception to log, including its stack trace. */ + public + void debug(Object message, Throwable t) { + if(repository.isDisabled(Level.DEBUG_INT)) + return; + if(Level.DEBUG.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, Level.DEBUG, message, t); + } + + /** + Log a message object with the {@link Level#ERROR ERROR} Level. + + <p>This method first checks if this category is <code>ERROR</code> + enabled by comparing the level of this category with {@link + Level#ERROR ERROR} Level. If this category is <code>ERROR</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate {@link + org.apache.log4j.or.ObjectRenderer}. It proceeds to call all the + registered appenders in this category and also higher in the + hierarchy depending on the value of the additivity flag. + + <p><b>WARNING</b> Note that passing a {@link Throwable} to this + method will print the name of the <code>Throwable</code> but no + stack trace. To print a stack trace use the {@link #error(Object, + Throwable)} form instead. + + @param message the message object to log */ + public + void error(Object message) { + if(repository.isDisabled(Level.ERROR_INT)) + return; + if(Level.ERROR.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, Level.ERROR, message, null); + } + + /** + Log a message object with the <code>ERROR</code> level including + the stack trace of the {@link Throwable} <code>t</code> passed as + parameter. + + <p>See {@link #error(Object)} form for more detailed information. + + @param message the message object to log. + @param t the exception to log, including its stack trace. */ + public + void error(Object message, Throwable t) { + if(repository.isDisabled(Level.ERROR_INT)) + return; + if(Level.ERROR.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, Level.ERROR, message, t); + + } + + + /** + If the named category exists (in the default hierarchy) then it + returns a reference to the category, otherwise it returns + <code>null</code>. + + @deprecated Please use {@link LogManager#exists} instead. + + @since 0.8.5 */ + public + static + Logger exists(String name) { + return LogManager.exists(name); + } + + /** + Log a message object with the {@link Level#FATAL FATAL} Level. + + <p>This method first checks if this category is <code>FATAL</code> + enabled by comparing the level of this category with {@link + Level#FATAL FATAL} Level. If the category is <code>FATAL</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate + {@link org.apache.log4j.or.ObjectRenderer}. It + proceeds to call all the registered appenders in this category and + also higher in the hierarchy depending on the value of the + additivity flag. + + <p><b>WARNING</b> Note that passing a {@link Throwable} to this + method will print the name of the Throwable but no stack trace. To + print a stack trace use the {@link #fatal(Object, Throwable)} form + instead. + + @param message the message object to log */ + public + void fatal(Object message) { + if(repository.isDisabled(Level.FATAL_INT)) + return; + if(Level.FATAL.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, Level.FATAL, message, null); + } + + /** + Log a message object with the <code>FATAL</code> level including + the stack trace of the {@link Throwable} <code>t</code> passed as + parameter. + + <p>See {@link #fatal(Object)} for more detailed information. + + @param message the message object to log. + @param t the exception to log, including its stack trace. */ + public + void fatal(Object message, Throwable t) { + if(repository.isDisabled(Level.FATAL_INT)) + return; + if(Level.FATAL.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, Level.FATAL, message, t); + } + + + /** + This method creates a new logging event and logs the event + without further checks. */ + protected + void forcedLog(String fqcn, Priority level, Object message, Throwable t) { + callAppenders(new LoggingEvent(fqcn, this, level, message, t)); + } + + + /** + Get the additivity flag for this Category instance. + */ + public + boolean getAdditivity() { + return additive; + } + + /** + Get the appenders contained in this category as an {@link + Enumeration}. If no appenders can be found, then a {@link NullEnumeration} + is returned. + + @return Enumeration An enumeration of the appenders in this category. */ + synchronized + public + Enumeration getAllAppenders() { + if(aai == null) + return NullEnumeration.getInstance(); + else + return aai.getAllAppenders(); + } + + /** + Look for the appender named as <code>name</code>. + + <p>Return the appender with that name if in the list. Return + <code>null</code> otherwise. */ + synchronized + public + Appender getAppender(String name) { + if(aai == null || name == null) + return null; + + return aai.getAppender(name); + } + + /** + Starting from this category, search the category hierarchy for a + non-null level and return it. Otherwise, return the level of the + root category. + + <p>The Category class is designed so that this method executes as + quickly as possible. + */ + public + Level getEffectiveLevel() { + for(Category c = this; c != null; c=c.parent) { + if(c.level != null) + return c.level; + } + return null; // If reached will cause an NullPointerException. + } + + /** + * + * @deprecated Please use the the {@link #getEffectiveLevel} method + * instead. + * */ + public + Priority getChainedPriority() { + for(Category c = this; c != null; c=c.parent) { + if(c.level != null) + return c.level; + } + return null; // If reached will cause an NullPointerException. + } + + + /** + Returns all the currently defined categories in the default + hierarchy as an {@link java.util.Enumeration Enumeration}. + + <p>The root category is <em>not</em> included in the returned + {@link Enumeration}. + + @deprecated Please use {@link LogManager#getCurrentLoggers()} instead. + */ + public + static + Enumeration getCurrentCategories() { + return LogManager.getCurrentLoggers(); + } + + + /** + Return the default Hierarchy instance. + + @deprecated Please use {@link LogManager#getLoggerRepository()} instead. + + @since 1.0 + */ + public + static + LoggerRepository getDefaultHierarchy() { + return LogManager.getLoggerRepository(); + } + + /** + Return the the {@link Hierarchy} where this <code>Category</code> + instance is attached. + + @deprecated Please use {@link #getLoggerRepository} instead. + + @since 1.1 */ + public + LoggerRepository getHierarchy() { + return repository; + } + + /** + Return the the {@link LoggerRepository} where this + <code>Category</code> is attached. + + @since 1.2 */ + public + LoggerRepository getLoggerRepository() { + return repository; + } + + + /** + * @deprecated Make sure to use {@link Logger#getLogger(String)} instead. + */ + public + static + Category getInstance(String name) { + return LogManager.getLogger(name); + } + + /** + * @deprecated Please make sure to use {@link Logger#getLogger(Class)} instead. + */ + public + static + Category getInstance(Class clazz) { + return LogManager.getLogger(clazz); + } + + + /** + Return the category name. */ + public + final + String getName() { + return name; + } + + + /** + Returns the parent of this category. Note that the parent of a + given category may change during the lifetime of the category. + + <p>The root category will return <code>null</code>. + + @since 1.2 + */ + final + public + Category getParent() { + return this.parent; + } + + + /** + Returns the assigned {@link Level}, if any, for this Category. + + @return Level - the assigned Level, can be <code>null</code>. + */ + final + public + Level getLevel() { + return this.level; + } + + /** + @deprecated Please use {@link #getLevel} instead. + */ + final + public + Level getPriority() { + return this.level; + } + + + /** + * @deprecated Please use {@link Logger#getRootLogger()} instead. + */ + final + public + static + Category getRoot() { + return LogManager.getRootLogger(); + } + + /** + Return the <em>inherited</em> {@link ResourceBundle} for this + category. + + <p>This method walks the hierarchy to find the appropriate + resource bundle. It will return the resource bundle attached to + the closest ancestor of this category, much like the way + priorities are searched. In case there is no bundle in the + hierarchy then <code>null</code> is returned. + + @since 0.9.0 */ + public + ResourceBundle getResourceBundle() { + for(Category c = this; c != null; c=c.parent) { + if(c.resourceBundle != null) + return c.resourceBundle; + } + // It might be the case that there is no resource bundle + return null; + } + + /** + Returns the string resource coresponding to <code>key</code> in + this category's inherited resource bundle. See also {@link + #getResourceBundle}. + + <p>If the resource cannot be found, then an {@link #error error} + message will be logged complaining about the missing resource. + */ + protected + String getResourceBundleString(String key) { + ResourceBundle rb = getResourceBundle(); + // This is one of the rare cases where we can use logging in order + // to report errors from within log4j. + if(rb == null) { + //if(!hierarchy.emittedNoResourceBundleWarning) { + //error("No resource bundle has been set for category "+name); + //hierarchy.emittedNoResourceBundleWarning = true; + //} + return null; + } + else { + try { + return rb.getString(key); + } + catch(MissingResourceException mre) { + error("No resource is associated with key \""+key+"\"."); + return null; + } + } + } + + /** + Log a message object with the {@link Level#INFO INFO} Level. + + <p>This method first checks if this category is <code>INFO</code> + enabled by comparing the level of this category with {@link + Level#INFO INFO} Level. If the category is <code>INFO</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate + {@link org.apache.log4j.or.ObjectRenderer}. It + proceeds to call all the registered appenders in this category and + also higher in the hierarchy depending on the value of the + additivity flag. + + <p><b>WARNING</b> Note that passing a {@link Throwable} to this + method will print the name of the Throwable but no stack trace. To + print a stack trace use the {@link #info(Object, Throwable)} form + instead. + + @param message the message object to log */ + public + void info(Object message) { + if(repository.isDisabled(Level.INFO_INT)) + return; + if(Level.INFO.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, Level.INFO, message, null); + } + + /** + Log a message object with the <code>INFO</code> level including + the stack trace of the {@link Throwable} <code>t</code> passed as + parameter. + + <p>See {@link #info(Object)} for more detailed information. + + @param message the message object to log. + @param t the exception to log, including its stack trace. */ + public + void info(Object message, Throwable t) { + if(repository.isDisabled(Level.INFO_INT)) + return; + if(Level.INFO.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, Level.INFO, message, t); + } + + /** + Is the appender passed as parameter attached to this category? + */ + public + boolean isAttached(Appender appender) { + if(appender == null || aai == null) + return false; + else { + return aai.isAttached(appender); + } + } + + /** + * Check whether this category is enabled for the <code>DEBUG</code> + * Level. + * + * <p> This function is intended to lessen the computational cost of + * disabled log debug statements. + * + * <p> For some <code>cat</code> Category object, when you write, + * <pre> + * cat.debug("This is entry number: " + i ); + * </pre> + * + * <p>You incur the cost constructing the message, concatenatiion in + * this case, regardless of whether the message is logged or not. + * + * <p>If you are worried about speed, then you should write + * <pre> + * if(cat.isDebugEnabled()) { + * cat.debug("This is entry number: " + i ); + * } + * </pre> + * + * <p>This way you will not incur the cost of parameter + * construction if debugging is disabled for <code>cat</code>. On + * the other hand, if the <code>cat</code> is debug enabled, you + * will incur the cost of evaluating whether the category is debug + * enabled twice. Once in <code>isDebugEnabled</code> and once in + * the <code>debug</code>. This is an insignificant overhead + * since evaluating a category takes about 1%% of the time it + * takes to actually log. + * + * @return boolean - <code>true</code> if this category is debug + * enabled, <code>false</code> otherwise. + * */ + public + boolean isDebugEnabled() { + if(repository.isDisabled( Level.DEBUG_INT)) + return false; + return Level.DEBUG.isGreaterOrEqual(this.getEffectiveLevel()); + } + + /** + Check whether this category is enabled for a given {@link + Level} passed as parameter. + + See also {@link #isDebugEnabled}. + + @return boolean True if this category is enabled for <code>level</code>. + */ + public + boolean isEnabledFor(Priority level) { + if(repository.isDisabled(level.level)) + return false; + return level.isGreaterOrEqual(this.getEffectiveLevel()); + } + + /** + Check whether this category is enabled for the info Level. + See also {@link #isDebugEnabled}. + + @return boolean - <code>true</code> if this category is enabled + for level info, <code>false</code> otherwise. + */ + public + boolean isInfoEnabled() { + if(repository.isDisabled(Level.INFO_INT)) + return false; + return Level.INFO.isGreaterOrEqual(this.getEffectiveLevel()); + } + + + /** + Log a localized message. The user supplied parameter + <code>key</code> is replaced by its localized version from the + resource bundle. + + @see #setResourceBundle + + @since 0.8.4 */ + public + void l7dlog(Priority priority, String key, Throwable t) { + if(repository.isDisabled(priority.level)) { + return; + } + if(priority.isGreaterOrEqual(this.getEffectiveLevel())) { + String msg = getResourceBundleString(key); + // if message corresponding to 'key' could not be found in the + // resource bundle, then default to 'key'. + if(msg == null) { + msg = key; + } + forcedLog(FQCN, priority, msg, t); + } + } + /** + Log a localized and parameterized message. First, the user + supplied <code>key</code> is searched in the resource + bundle. Next, the resulting pattern is formatted using + {@link java.text.MessageFormat#format(String,Object[])} method with the + user supplied object array <code>params</code>. + + @since 0.8.4 + */ + public + void l7dlog(Priority priority, String key, Object[] params, Throwable t) { + if(repository.isDisabled(priority.level)) { + return; + } + if(priority.isGreaterOrEqual(this.getEffectiveLevel())) { + String pattern = getResourceBundleString(key); + String msg; + if(pattern == null) + msg = key; + else + msg = java.text.MessageFormat.format(pattern, params); + forcedLog(FQCN, priority, msg, t); + } + } + + /** + This generic form is intended to be used by wrappers. + */ + public + void log(Priority priority, Object message, Throwable t) { + if(repository.isDisabled(priority.level)) { + return; + } + if(priority.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, priority, message, t); + } + + /** + This generic form is intended to be used by wrappers. + */ + public + void log(Priority priority, Object message) { + if(repository.isDisabled(priority.level)) { + return; + } + if(priority.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, priority, message, null); + } + + /** + + This is the most generic printing method. It is intended to be + invoked by <b>wrapper</b> classes. + + @param callerFQCN The wrapper class' fully qualified class name. + @param level The level of the logging request. + @param message The message of the logging request. + @param t The throwable of the logging request, may be null. */ + public + void log(String callerFQCN, Priority level, Object message, Throwable t) { + if(repository.isDisabled(level.level)) { + return; + } + if(level.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(callerFQCN, level, message, t); + } + } + + /** + * LoggerRepository forgot the fireRemoveAppenderEvent method, + * if using the stock Hierarchy implementation, then call its fireRemove. + * Custom repositories can implement HierarchyEventListener if they + * want remove notifications. + * @param appender appender, may be null. + */ + private void fireRemoveAppenderEvent(final Appender appender) { + if (appender != null) { + if (repository instanceof Hierarchy) { + ((Hierarchy) repository).fireRemoveAppenderEvent(this, appender); + } else if (repository instanceof HierarchyEventListener) { + ((HierarchyEventListener) repository).removeAppenderEvent(this, appender); + } + } + } + + /** + Remove all previously added appenders from this Category + instance. + + <p>This is useful when re-reading configuration information. + */ + synchronized + public + void removeAllAppenders() { + if(aai != null) { + Vector appenders = new Vector(); + for (Enumeration iter = aai.getAllAppenders(); iter != null && iter.hasMoreElements();) { + appenders.add(iter.nextElement()); + } + aai.removeAllAppenders(); + for(Enumeration iter = appenders.elements(); iter.hasMoreElements();) { + fireRemoveAppenderEvent((Appender) iter.nextElement()); + } + aai = null; + } + } + + + /** + Remove the appender passed as parameter form the list of appenders. + + @since 0.8.2 + */ + synchronized + public + void removeAppender(Appender appender) { + if(appender == null || aai == null) + return; + boolean wasAttached = aai.isAttached(appender); + aai.removeAppender(appender); + if (wasAttached) { + fireRemoveAppenderEvent(appender); + } + } + + /** + Remove the appender with the name passed as parameter form the + list of appenders. + + @since 0.8.2 */ + synchronized + public + void removeAppender(String name) { + if(name == null || aai == null) return; + Appender appender = aai.getAppender(name); + aai.removeAppender(name); + if (appender != null) { + fireRemoveAppenderEvent(appender); + } + } + + /** + Set the additivity flag for this Category instance. + @since 0.8.1 + */ + public + void setAdditivity(boolean additive) { + this.additive = additive; + } + + /** + Only the Hiearchy class can set the hiearchy of a + category. Default package access is MANDATORY here. */ + final + void setHierarchy(LoggerRepository repository) { + this.repository = repository; + } + + /** + Set the level of this Category. If you are passing any of + <code>Level.DEBUG</code>, <code>Level.INFO</code>, + <code>Level.WARN</code>, <code>Level.ERROR</code>, + <code>Level.FATAL</code> as a parameter, you need to case them as + Level. + + <p>As in <pre> &nbsp;&nbsp;&nbsp;logger.setLevel((Level) Level.DEBUG); </pre> + + + <p>Null values are admitted. */ + public + void setLevel(Level level) { + this.level = level; + } + + + /** + Set the level of this Category. + + <p>Null values are admitted. + + @deprecated Please use {@link #setLevel} instead. + */ + public + void setPriority(Priority priority) { + this.level = (Level) priority; + } + + + /** + Set the resource bundle to be used with localized logging + methods {@link #l7dlog(Priority,String,Throwable)} and {@link + #l7dlog(Priority,String,Object[],Throwable)}. + + @since 0.8.4 + */ + public + void setResourceBundle(ResourceBundle bundle) { + resourceBundle = bundle; + } + + /** + Calling this method will <em>safely</em> close and remove all + appenders in all the categories including root contained in the + default hierachy. + + <p>Some appenders such as {@link org.apache.log4j.net.SocketAppender} + and {@link AsyncAppender} need to be closed before the + application exists. Otherwise, pending logging events might be + lost. + + <p>The <code>shutdown</code> method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a category + and again to a nested appender. + + @deprecated Please use {@link LogManager#shutdown()} instead. + + @since 1.0 + */ + public + static + void shutdown() { + LogManager.shutdown(); + } + + + /** + Log a message object with the {@link Level#WARN WARN} Level. + + <p>This method first checks if this category is <code>WARN</code> + enabled by comparing the level of this category with {@link + Level#WARN WARN} Level. If the category is <code>WARN</code> + enabled, then it converts the message object passed as parameter + to a string by invoking the appropriate + {@link org.apache.log4j.or.ObjectRenderer}. It + proceeds to call all the registered appenders in this category and + also higher in the hieararchy depending on the value of the + additivity flag. + + <p><b>WARNING</b> Note that passing a {@link Throwable} to this + method will print the name of the Throwable but no stack trace. To + print a stack trace use the {@link #warn(Object, Throwable)} form + instead. <p> + + @param message the message object to log. */ + public + void warn(Object message) { + if(repository.isDisabled( Level.WARN_INT)) + return; + + if(Level.WARN.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, Level.WARN, message, null); + } + + /** + Log a message with the <code>WARN</code> level including the + stack trace of the {@link Throwable} <code>t</code> passed as + parameter. + + <p>See {@link #warn(Object)} for more detailed information. + + @param message the message object to log. + @param t the exception to log, including its stack trace. */ + public + void warn(Object message, Throwable t) { + if(repository.isDisabled(Level.WARN_INT)) + return; + if(Level.WARN.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, Level.WARN, message, t); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/CategoryKey.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/CategoryKey.java new file mode 100644 index 00000000000..fe0fff79704 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/CategoryKey.java @@ -0,0 +1,52 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +/** + CategoryKey is a wrapper for String that apparently accellerated + hash table lookup in early JVM's. + @author Ceki G&uuml;lc&uuml; +*/ +class CategoryKey { + + String name; + int hashCache; + + CategoryKey(String name) { + this.name = name; + hashCache = name.hashCode(); + } + + final + public + int hashCode() { + return hashCache; + } + + final + public + boolean equals(Object rArg) { + if(this == rArg) + return true; + + if(rArg != null && CategoryKey.class == rArg.getClass()) + return name.equals(((CategoryKey)rArg ).name); + else + return false; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/ConsoleAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/ConsoleAppender.java new file mode 100644 index 00000000000..b44fd5fddc6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/ConsoleAppender.java @@ -0,0 +1,220 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import java.io.IOException; +import java.io.OutputStream; +import org.apache.log4j.helpers.LogLog; + +/** + * ConsoleAppender appends log events to <code>System.out</code> or + * <code>System.err</code> using a layout specified by the user. The + * default target is <code>System.out</code>. + * + * @author Ceki G&uuml;lc&uuml; + * @author Curt Arnold + * @since 1.1 */ +public class ConsoleAppender extends WriterAppender { + + public static final String SYSTEM_OUT = "System.out"; + public static final String SYSTEM_ERR = "System.err"; + + protected String target = SYSTEM_OUT; + + /** + * Determines if the appender honors reassignments of System.out + * or System.err made after configuration. + */ + private boolean follow = false; + + /** + * Constructs an unconfigured appender. + */ + public ConsoleAppender() { + } + + /** + * Creates a configured appender. + * + * @param layout layout, may not be null. + */ + public ConsoleAppender(Layout layout) { + this(layout, SYSTEM_OUT); + } + + /** + * Creates a configured appender. + * @param layout layout, may not be null. + * @param target target, either "System.err" or "System.out". + */ + public ConsoleAppender(Layout layout, String target) { + setLayout(layout); + setTarget(target); + activateOptions(); + } + + /** + * Sets the value of the <b>Target</b> option. Recognized values + * are "System.out" and "System.err". Any other value will be + * ignored. + * */ + public + void setTarget(String value) { + String v = value.trim(); + + if (SYSTEM_OUT.equalsIgnoreCase(v)) { + target = SYSTEM_OUT; + } else if (SYSTEM_ERR.equalsIgnoreCase(v)) { + target = SYSTEM_ERR; + } else { + targetWarn(value); + } + } + + /** + * Returns the current value of the <b>Target</b> property. The + * default value of the option is "System.out". + * + * See also {@link #setTarget}. + * */ + public + String getTarget() { + return target; + } + + /** + * Sets whether the appender honors reassignments of System.out + * or System.err made after configuration. + * @param newValue if true, appender will use value of System.out or + * System.err in force at the time when logging events are appended. + * @since 1.2.13 + */ + public final void setFollow(final boolean newValue) { + follow = newValue; + } + + /** + * Gets whether the appender honors reassignments of System.out + * or System.err made after configuration. + * @return true if appender will use value of System.out or + * System.err in force at the time when logging events are appended. + * @since 1.2.13 + */ + public final boolean getFollow() { + return follow; + } + + void targetWarn(String val) { + LogLog.warn("["+val+"] should be System.out or System.err."); + LogLog.warn("Using previously set target, System.out by default."); + } + + /** + * Prepares the appender for use. + */ + public void activateOptions() { + if (follow) { + if (target.equals(SYSTEM_ERR)) { + setWriter(createWriter(new SystemErrStream())); + } else { + setWriter(createWriter(new SystemOutStream())); + } + } else { + if (target.equals(SYSTEM_ERR)) { + setWriter(createWriter(System.err)); + } else { + setWriter(createWriter(System.out)); + } + } + + super.activateOptions(); + } + + /** + * {@inheritDoc} + */ + protected + final + void closeWriter() { + if (follow) { + super.closeWriter(); + } + } + + + /** + * An implementation of OutputStream that redirects to the + * current System.err. + * + */ + private static class SystemErrStream extends OutputStream { + public SystemErrStream() { + } + + public void close() { + } + + public void flush() { + System.err.flush(); + } + + public void write(final byte[] b) throws IOException { + System.err.write(b); + } + + public void write(final byte[] b, final int off, final int len) + throws IOException { + System.err.write(b, off, len); + } + + public void write(final int b) throws IOException { + System.err.write(b); + } + } + + /** + * An implementation of OutputStream that redirects to the + * current System.out. + * + */ + private static class SystemOutStream extends OutputStream { + public SystemOutStream() { + } + + public void close() { + } + + public void flush() { + System.out.flush(); + } + + public void write(final byte[] b) throws IOException { + System.out.write(b); + } + + public void write(final byte[] b, final int off, final int len) + throws IOException { + System.out.write(b, off, len); + } + + public void write(final int b) throws IOException { + System.out.write(b); + } + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DailyRollingFileAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DailyRollingFileAppender.java new file mode 100644 index 00000000000..79a3b5c6b66 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DailyRollingFileAppender.java @@ -0,0 +1,454 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +package org.apache.log4j; + +import java.io.IOException; +import java.io.File; +import java.io.InterruptedIOException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.Calendar; +import java.util.TimeZone; +import java.util.Locale; + +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.spi.LoggingEvent; + +/** + DailyRollingFileAppender extends {@link FileAppender} so that the + underlying file is rolled over at a user chosen frequency. + + DailyRollingFileAppender has been observed to exhibit + synchronization issues and data loss. The log4j extras + companion includes alternatives which should be considered + for new deployments and which are discussed in the documentation + for org.apache.log4j.rolling.RollingFileAppender. + + <p>The rolling schedule is specified by the <b>DatePattern</b> + option. This pattern should follow the {@link SimpleDateFormat} + conventions. In particular, you <em>must</em> escape literal text + within a pair of single quotes. A formatted version of the date + pattern is used as the suffix for the rolled file name. + + <p>For example, if the <b>File</b> option is set to + <code>/foo/bar.log</code> and the <b>DatePattern</b> set to + <code>'.'yyyy-MM-dd</code>, on 2001-02-16 at midnight, the logging + file <code>/foo/bar.log</code> will be copied to + <code>/foo/bar.log.2001-02-16</code> and logging for 2001-02-17 + will continue in <code>/foo/bar.log</code> until it rolls over + the next day. + + <p>Is is possible to specify monthly, weekly, half-daily, daily, + hourly, or minutely rollover schedules. + + <p><table border="1" cellpadding="2"> + <tr> + <th>DatePattern</th> + <th>Rollover schedule</th> + <th>Example</th> + + <tr> + <td><code>'.'yyyy-MM</code> + <td>Rollover at the beginning of each month</td> + + <td>At midnight of May 31st, 2002 <code>/foo/bar.log</code> will be + copied to <code>/foo/bar.log.2002-05</code>. Logging for the month + of June will be output to <code>/foo/bar.log</code> until it is + also rolled over the next month. + + <tr> + <td><code>'.'yyyy-ww</code> + + <td>Rollover at the first day of each week. The first day of the + week depends on the locale.</td> + + <td>Assuming the first day of the week is Sunday, on Saturday + midnight, June 9th 2002, the file <i>/foo/bar.log</i> will be + copied to <i>/foo/bar.log.2002-23</i>. Logging for the 24th week + of 2002 will be output to <code>/foo/bar.log</code> until it is + rolled over the next week. + + <tr> + <td><code>'.'yyyy-MM-dd</code> + + <td>Rollover at midnight each day.</td> + + <td>At midnight, on March 8th, 2002, <code>/foo/bar.log</code> will + be copied to <code>/foo/bar.log.2002-03-08</code>. Logging for the + 9th day of March will be output to <code>/foo/bar.log</code> until + it is rolled over the next day. + + <tr> + <td><code>'.'yyyy-MM-dd-a</code> + + <td>Rollover at midnight and midday of each day.</td> + + <td>At noon, on March 9th, 2002, <code>/foo/bar.log</code> will be + copied to <code>/foo/bar.log.2002-03-09-AM</code>. Logging for the + afternoon of the 9th will be output to <code>/foo/bar.log</code> + until it is rolled over at midnight. + + <tr> + <td><code>'.'yyyy-MM-dd-HH</code> + + <td>Rollover at the top of every hour.</td> + + <td>At approximately 11:00.000 o'clock on March 9th, 2002, + <code>/foo/bar.log</code> will be copied to + <code>/foo/bar.log.2002-03-09-10</code>. Logging for the 11th hour + of the 9th of March will be output to <code>/foo/bar.log</code> + until it is rolled over at the beginning of the next hour. + + + <tr> + <td><code>'.'yyyy-MM-dd-HH-mm</code> + + <td>Rollover at the beginning of every minute.</td> + + <td>At approximately 11:23,000, on March 9th, 2001, + <code>/foo/bar.log</code> will be copied to + <code>/foo/bar.log.2001-03-09-10-22</code>. Logging for the minute + of 11:23 (9th of March) will be output to + <code>/foo/bar.log</code> until it is rolled over the next minute. + + </table> + + <p>Do not use the colon ":" character in anywhere in the + <b>DatePattern</b> option. The text before the colon is interpeted + as the protocol specificaion of a URL which is probably not what + you want. + + + @author Eirik Lygre + @author Ceki G&uuml;lc&uuml;*/ +public class DailyRollingFileAppender extends FileAppender { + + + // The code assumes that the following constants are in a increasing + // sequence. + static final int TOP_OF_TROUBLE=-1; + static final int TOP_OF_MINUTE = 0; + static final int TOP_OF_HOUR = 1; + static final int HALF_DAY = 2; + static final int TOP_OF_DAY = 3; + static final int TOP_OF_WEEK = 4; + static final int TOP_OF_MONTH = 5; + + + /** + The date pattern. By default, the pattern is set to + "'.'yyyy-MM-dd" meaning daily rollover. + */ + private String datePattern = "'.'yyyy-MM-dd"; + + /** + The log file will be renamed to the value of the + scheduledFilename variable when the next interval is entered. For + example, if the rollover period is one hour, the log file will be + renamed to the value of "scheduledFilename" at the beginning of + the next hour. + + The precise time when a rollover occurs depends on logging + activity. + */ + private String scheduledFilename; + + /** + The next time we estimate a rollover should occur. */ + private long nextCheck = System.currentTimeMillis () - 1; + + Date now = new Date(); + + SimpleDateFormat sdf; + + RollingCalendar rc = new RollingCalendar(); + + int checkPeriod = TOP_OF_TROUBLE; + + // The gmtTimeZone is used only in computeCheckPeriod() method. + static final TimeZone gmtTimeZone = TimeZone.getTimeZone("GMT"); + + + /** + The default constructor does nothing. */ + public DailyRollingFileAppender() { + } + + /** + Instantiate a <code>DailyRollingFileAppender</code> and open the + file designated by <code>filename</code>. The opened filename will + become the ouput destination for this appender. + + */ + public DailyRollingFileAppender (Layout layout, String filename, + String datePattern) throws IOException { + super(layout, filename, true); + this.datePattern = datePattern; + activateOptions(); + } + + /** + The <b>DatePattern</b> takes a string in the same format as + expected by {@link SimpleDateFormat}. This options determines the + rollover schedule. + */ + public void setDatePattern(String pattern) { + datePattern = pattern; + } + + /** Returns the value of the <b>DatePattern</b> option. */ + public String getDatePattern() { + return datePattern; + } + + public void activateOptions() { + super.activateOptions(); + if(datePattern != null && fileName != null) { + now.setTime(System.currentTimeMillis()); + sdf = new SimpleDateFormat(datePattern); + int type = computeCheckPeriod(); + printPeriodicity(type); + rc.setType(type); + File file = new File(fileName); + scheduledFilename = fileName+sdf.format(new Date(file.lastModified())); + + } else { + LogLog.error("Either File or DatePattern options are not set for appender [" + +name+"]."); + } + } + + void printPeriodicity(int type) { + switch(type) { + case TOP_OF_MINUTE: + LogLog.debug("Appender ["+name+"] to be rolled every minute."); + break; + case TOP_OF_HOUR: + LogLog.debug("Appender ["+name + +"] to be rolled on top of every hour."); + break; + case HALF_DAY: + LogLog.debug("Appender ["+name + +"] to be rolled at midday and midnight."); + break; + case TOP_OF_DAY: + LogLog.debug("Appender ["+name + +"] to be rolled at midnight."); + break; + case TOP_OF_WEEK: + LogLog.debug("Appender ["+name + +"] to be rolled at start of week."); + break; + case TOP_OF_MONTH: + LogLog.debug("Appender ["+name + +"] to be rolled at start of every month."); + break; + default: + LogLog.warn("Unknown periodicity for appender ["+name+"]."); + } + } + + + // This method computes the roll over period by looping over the + // periods, starting with the shortest, and stopping when the r0 is + // different from from r1, where r0 is the epoch formatted according + // the datePattern (supplied by the user) and r1 is the + // epoch+nextMillis(i) formatted according to datePattern. All date + // formatting is done in GMT and not local format because the test + // logic is based on comparisons relative to 1970-01-01 00:00:00 + // GMT (the epoch). + + int computeCheckPeriod() { + RollingCalendar rollingCalendar = new RollingCalendar(gmtTimeZone, Locale.getDefault()); + // set sate to 1970-01-01 00:00:00 GMT + Date epoch = new Date(0); + if(datePattern != null) { + for(int i = TOP_OF_MINUTE; i <= TOP_OF_MONTH; i++) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datePattern); + simpleDateFormat.setTimeZone(gmtTimeZone); // do all date formatting in GMT + String r0 = simpleDateFormat.format(epoch); + rollingCalendar.setType(i); + Date next = new Date(rollingCalendar.getNextCheckMillis(epoch)); + String r1 = simpleDateFormat.format(next); + //System.out.println("Type = "+i+", r0 = "+r0+", r1 = "+r1); + if(r0 != null && r1 != null && !r0.equals(r1)) { + return i; + } + } + } + return TOP_OF_TROUBLE; // Deliberately head for trouble... + } + + /** + Rollover the current file to a new file. + */ + void rollOver() throws IOException { + + /* Compute filename, but only if datePattern is specified */ + if (datePattern == null) { + errorHandler.error("Missing DatePattern option in rollOver()."); + return; + } + + String datedFilename = fileName+sdf.format(now); + // It is too early to roll over because we are still within the + // bounds of the current interval. Rollover will occur once the + // next interval is reached. + if (scheduledFilename.equals(datedFilename)) { + return; + } + + // close current file, and rename it to datedFilename + this.closeFile(); + + File target = new File(scheduledFilename); + if (target.exists()) { + target.delete(); + } + + File file = new File(fileName); + boolean result = file.renameTo(target); + if(result) { + LogLog.debug(fileName +" -> "+ scheduledFilename); + } else { + LogLog.error("Failed to rename ["+fileName+"] to ["+scheduledFilename+"]."); + } + + try { + // This will also close the file. This is OK since multiple + // close operations are safe. + this.setFile(fileName, true, this.bufferedIO, this.bufferSize); + } + catch(IOException e) { + errorHandler.error("setFile("+fileName+", true) call failed."); + } + scheduledFilename = datedFilename; + } + + /** + * This method differentiates DailyRollingFileAppender from its + * super class. + * + * <p>Before actually logging, this method will check whether it is + * time to do a rollover. If it is, it will schedule the next + * rollover time and then rollover. + * */ + protected void subAppend(LoggingEvent event) { + long n = System.currentTimeMillis(); + if (n >= nextCheck) { + now.setTime(n); + nextCheck = rc.getNextCheckMillis(now); + try { + rollOver(); + } + catch(IOException ioe) { + if (ioe instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("rollOver() failed.", ioe); + } + } + super.subAppend(event); + } +} + +/** + * RollingCalendar is a helper class to DailyRollingFileAppender. + * Given a periodicity type and the current time, it computes the + * start of the next interval. + * */ +class RollingCalendar extends GregorianCalendar { + private static final long serialVersionUID = -3560331770601814177L; + + int type = DailyRollingFileAppender.TOP_OF_TROUBLE; + + RollingCalendar() { + super(); + } + + RollingCalendar(TimeZone tz, Locale locale) { + super(tz, locale); + } + + void setType(int type) { + this.type = type; + } + + public long getNextCheckMillis(Date now) { + return getNextCheckDate(now).getTime(); + } + + public Date getNextCheckDate(Date now) { + this.setTime(now); + + switch(type) { + case DailyRollingFileAppender.TOP_OF_MINUTE: + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + this.add(Calendar.MINUTE, 1); + break; + case DailyRollingFileAppender.TOP_OF_HOUR: + this.set(Calendar.MINUTE, 0); + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + this.add(Calendar.HOUR_OF_DAY, 1); + break; + case DailyRollingFileAppender.HALF_DAY: + this.set(Calendar.MINUTE, 0); + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + int hour = get(Calendar.HOUR_OF_DAY); + if(hour < 12) { + this.set(Calendar.HOUR_OF_DAY, 12); + } else { + this.set(Calendar.HOUR_OF_DAY, 0); + this.add(Calendar.DAY_OF_MONTH, 1); + } + break; + case DailyRollingFileAppender.TOP_OF_DAY: + this.set(Calendar.HOUR_OF_DAY, 0); + this.set(Calendar.MINUTE, 0); + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + this.add(Calendar.DATE, 1); + break; + case DailyRollingFileAppender.TOP_OF_WEEK: + this.set(Calendar.DAY_OF_WEEK, getFirstDayOfWeek()); + this.set(Calendar.HOUR_OF_DAY, 0); + this.set(Calendar.MINUTE, 0); + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + this.add(Calendar.WEEK_OF_YEAR, 1); + break; + case DailyRollingFileAppender.TOP_OF_MONTH: + this.set(Calendar.DATE, 1); + this.set(Calendar.HOUR_OF_DAY, 0); + this.set(Calendar.MINUTE, 0); + this.set(Calendar.SECOND, 0); + this.set(Calendar.MILLISECOND, 0); + this.add(Calendar.MONTH, 1); + break; + default: + throw new IllegalStateException("Unknown periodicity type."); + } + return getTime(); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DefaultCategoryFactory.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DefaultCategoryFactory.java new file mode 100644 index 00000000000..c7bb0c46680 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DefaultCategoryFactory.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.LoggerFactory; + +class DefaultCategoryFactory implements LoggerFactory { + + DefaultCategoryFactory() { + } + + public + Logger makeNewLoggerInstance(String name) { + return new Logger(name); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DefaultThrowableRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DefaultThrowableRenderer.java new file mode 100644 index 00000000000..29bfe061b5d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/DefaultThrowableRenderer.java @@ -0,0 +1,83 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import org.apache.log4j.spi.ThrowableRenderer; + +import java.io.StringWriter; +import java.io.PrintWriter; +import java.io.LineNumberReader; +import java.io.StringReader; +import java.io.IOException; +import java.io.InterruptedIOException; +import java.util.ArrayList; + +/** + * Default implementation of ThrowableRenderer using + * Throwable.printStackTrace. + * + * @since 1.2.16 + */ +public final class DefaultThrowableRenderer implements ThrowableRenderer { + /** + * Construct new instance. + */ + public DefaultThrowableRenderer() { + + } + + + /** + * {@inheritDoc} + */ + public String[] doRender(final Throwable throwable) { + return render(throwable); + } + + /** + * Render throwable using Throwable.printStackTrace. + * @param throwable throwable, may not be null. + * @return string representation. + */ + public static String[] render(final Throwable throwable) { + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + try { + throwable.printStackTrace(pw); + } catch(RuntimeException ex) { + } + pw.flush(); + LineNumberReader reader = new LineNumberReader( + new StringReader(sw.toString())); + ArrayList lines = new ArrayList(); + try { + String line = reader.readLine(); + while(line != null) { + lines.add(line); + line = reader.readLine(); + } + } catch(IOException ex) { + if (ex instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + lines.add(ex.toString()); + } + String[] tempRep = new String[lines.size()]; + lines.toArray(tempRep); + return tempRep; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Dispatcher.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Dispatcher.java new file mode 100644 index 00000000000..e879ff0abf2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Dispatcher.java @@ -0,0 +1,125 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.helpers.AppenderAttachableImpl; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Obsolete AsyncAppender dispatcher provided for compatibility only. + * + * @deprecated Since 1.3. + */ +class Dispatcher extends Thread { + /** + * @deprecated + */ + private org.apache.log4j.helpers.BoundedFIFO bf; + private AppenderAttachableImpl aai; + private boolean interrupted = false; + AsyncAppender container; + + /** + * + * @param bf + * @param container + * @deprecated + */ + Dispatcher(org.apache.log4j.helpers.BoundedFIFO bf, AsyncAppender container) { + this.bf = bf; + this.container = container; + this.aai = container.aai; + + // It is the user's responsibility to close appenders before + // exiting. + this.setDaemon(true); + + // set the dispatcher priority to lowest possible value + this.setPriority(Thread.MIN_PRIORITY); + this.setName("Dispatcher-" + getName()); + + // set the dispatcher priority to MIN_PRIORITY plus or minus 2 + // depending on the direction of MIN to MAX_PRIORITY. + //+ (Thread.MAX_PRIORITY > Thread.MIN_PRIORITY ? 1 : -1)*2); + } + + void close() { + synchronized (bf) { + interrupted = true; + + // We have a waiting dispacther if and only if bf.length is + // zero. In that case, we need to give it a death kiss. + if (bf.length() == 0) { + bf.notify(); + } + } + } + + /** + * The dispatching strategy is to wait until there are events in the buffer + * to process. After having processed an event, we release the monitor + * (variable bf) so that new events can be placed in the buffer, instead of + * keeping the monitor and processing the remaining events in the buffer. + * + * <p> + * Other approaches might yield better results. + * </p> + */ + public void run() { + //Category cat = Category.getInstance(Dispatcher.class.getName()); + LoggingEvent event; + + while (true) { + synchronized (bf) { + if (bf.length() == 0) { + // Exit loop if interrupted but only if the the buffer is empty. + if (interrupted) { + //cat.info("Exiting."); + break; + } + + try { + //LogLog.debug("Waiting for new event to dispatch."); + bf.wait(); + } catch (InterruptedException e) { + break; + } + } + + event = bf.get(); + + if (bf.wasFull()) { + //LogLog.debug("Notifying AsyncAppender about freed space."); + bf.notify(); + } + } + + // synchronized + synchronized (container.aai) { + if ((aai != null) && (event != null)) { + aai.appendLoopOnAppenders(event); + } + } + } + + // while + // close and remove all appenders + aai.removeAllAppenders(); + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/EnhancedPatternLayout.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/EnhancedPatternLayout.java similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/EnhancedPatternLayout.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/EnhancedPatternLayout.java index d2551529e57..926053a8c70 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/EnhancedPatternLayout.java +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/EnhancedPatternLayout.java @@ -27,6 +27,15 @@ import org.apache.log4j.spi.LoggingEvent; // Anders Kristensen <akristensen@dynamicsoft.com> /** + * This class is an enhanced version of org.apache.log4j.PatternLayout + * which was originally developed as part of the abandoned log4j 1.3 + * effort and has been available in the extras companion. + * This pattern layout should be used in preference to + * org.apache.log4j.PatternLayout except when compatibility + * where PatternLayout has been extended either through subclassing + * or alternative pattern parsers. + * + * * <p>A flexible layout configurable with pattern string. The goal of this class * is to {@link #format format} a {@link LoggingEvent} and return the results * in a {@link StringBuffer}. The format of the result depends on the @@ -82,15 +91,12 @@ import org.apache.log4j.spi.LoggingEvent; <td>Used to output the category of the logging event. The category conversion specifier can be optionally followed by - <em>precision specifier</em>, that is a decimal constant in - brackets. + NameAbbreviator pattern. - <p>If a precision specifier is given, then only the corresponding - number of right most components of the category name will be - printed. By default the category name is printed in full. - - <p>For example, for the category name "a.b.c" the pattern - <b>%c{2}</b> will output "b.c". + <p>For example, for the category name "alpha.beta.gamma" the pattern + <b>%c{2}</b> will output the last two elements ("beta.gamma"), + <b>%c{-2}</b> will remove two elements leaving "gamma", + <b>%c{1.}</b> will output "a.b.gamma". </td> </tr> @@ -103,15 +109,17 @@ import org.apache.log4j.spi.LoggingEvent; can be optionally followed by <em>precision specifier</em>, that is a decimal constant in brackets. - <p>If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. + <td>Used to output the category of the logging event. The + category conversion specifier can be optionally followed by + NameAbbreviator pattern. - <p>For example, for the class name "org.apache.xyz.SomeClass", the - pattern <b>%C{1}</b> will output "SomeClass". + <p>For example, for the category name "alpha.beta.gamma" the pattern + <b>%c{2}</b> will output the last two elements ("beta.gamma"), + <b>%c{-2}</b> will remove two elements leaving "gamma", + <b>%c{1.}</b> will output "a.b.gamma". <p><b>WARNING</b> Generating the caller class information is - slow. Thus, it's use should be avoided unless execution speed is + slow. Thus, its use should be avoided unless execution speed is not an issue. </td> @@ -138,7 +146,7 @@ import org.apache.log4j.spi.LoggingEvent; issued. <p><b>WARNING</b> Generating caller location information is - extremely slow. Its use should be avoided unless execution speed + extremely slow and should be avoided unless execution speed is not an issue. </tr> @@ -154,8 +162,8 @@ import org.apache.log4j.spi.LoggingEvent; method followed by the callers source the file name and line number between parentheses. - <p>The location information can be very useful. However, it's - generation is <em>extremely</em> slow. It's use should be avoided + <p>The location information can be very useful. However, its + generation is <em>extremely</em> slow and should be avoided unless execution speed is not an issue. </td> @@ -168,7 +176,7 @@ import org.apache.log4j.spi.LoggingEvent; was issued. <p><b>WARNING</b> Generating caller location information is - extremely slow. It's use should be avoided unless execution speed + extremely slow and should be avoided unless execution speed is not an issue. </tr> @@ -187,7 +195,7 @@ import org.apache.log4j.spi.LoggingEvent; issued. <p><b>WARNING</b> Generating caller location information is - extremely slow. It's use should be avoided unless execution speed + extremely slow and should be avoided unless execution speed is not an issue. </tr> @@ -278,9 +286,14 @@ import org.apache.log4j.spi.LoggingEvent; <td> <p>Used to output the Throwable trace that has been bound to the LoggingEvent, by - default this will output the full trace as one would normally find by a call to Throwable.printStackTrace(). - The throwable conversion word can be followed by an option in the form <b>%throwable{short}</b> - which will only output the first line of the ThrowableInformation.</p> + default this will output the full trace as one would normally + find by a call to Throwable.printStackTrace(). + <b>%throwable{short}</b> or <b>%throwable{1}</b> will output the first line of + stack trace. <b>throwable{none}</b> or <b>throwable{0}</b> will suppress + the stack trace. <b>%throwable{n}</b> will output n lines of stack trace + if a positive integer or omit the last -n lines if a negative integer. + If no %throwable pattern is specified, the appender will take + responsibility to output the stack trace as it sees fit.</p> </td> </tr> @@ -403,7 +416,7 @@ import org.apache.log4j.spi.LoggingEvent; @author Ceki G&uuml;lc&uuml; - @since 0.8.2 */ + @since 1.2.16 */ public class EnhancedPatternLayout extends Layout { /** Default pattern string for log output. Currently set to the string <b>"%m%n"</b> which just prints the application supplied diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/EnhancedThrowableRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/EnhancedThrowableRenderer.java new file mode 100644 index 00000000000..c5b8d7b00a8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/EnhancedThrowableRenderer.java @@ -0,0 +1,168 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import org.apache.log4j.spi.ThrowableRenderer; + +import java.io.File; +import java.lang.reflect.Method; +import java.net.URL; +import java.security.CodeSource; +import java.util.HashMap; +import java.util.Map; + +/** + * Enhanced implementation of ThrowableRenderer. Uses Throwable.getStackTrace + * if running on JDK 1.4 or later and delegates to DefaultThrowableRenderer.render + * on earlier virtual machines. + * + * @since 1.2.16 + */ +public final class EnhancedThrowableRenderer implements ThrowableRenderer { + /** + * Throwable.getStackTrace() method. + */ + private Method getStackTraceMethod; + /** + * StackTraceElement.getClassName() method. + */ + private Method getClassNameMethod; + + + /** + * Construct new instance. + */ + public EnhancedThrowableRenderer() { + try { + Class[] noArgs = null; + getStackTraceMethod = Throwable.class.getMethod("getStackTrace", noArgs); + Class ste = Class.forName("java.lang.StackTraceElement"); + getClassNameMethod = ste.getMethod("getClassName", noArgs); + } catch(Exception ex) { + } + } + + /** + * {@inheritDoc} + */ + public String[] doRender(final Throwable throwable) { + if (getStackTraceMethod != null) { + try { + Object[] noArgs = null; + Object[] elements = (Object[]) getStackTraceMethod.invoke(throwable, noArgs); + String[] lines = new String[elements.length + 1]; + lines[0] = throwable.toString(); + Map classMap = new HashMap(); + for(int i = 0; i < elements.length; i++) { + lines[i+1] = formatElement(elements[i], classMap); + } + return lines; + } catch(Exception ex) { + } + } + return DefaultThrowableRenderer.render(throwable); + } + + /** + * Format one element from stack trace. + * @param element element, may not be null. + * @param classMap map of class name to location. + * @return string representation of element. + */ + private String formatElement(final Object element, final Map classMap) { + StringBuffer buf = new StringBuffer("\tat "); + buf.append(element); + try { + String className = getClassNameMethod.invoke(element, (Object[]) null).toString(); + Object classDetails = classMap.get(className); + if (classDetails != null) { + buf.append(classDetails); + } else { + Class cls = findClass(className); + int detailStart = buf.length(); + buf.append('['); + try { + CodeSource source = cls.getProtectionDomain().getCodeSource(); + if (source != null) { + URL locationURL = source.getLocation(); + if (locationURL != null) { + // + // if a file: URL + // + if ("file".equals(locationURL.getProtocol())) { + String path = locationURL.getPath(); + if (path != null) { + // + // find the last file separator character + // + int lastSlash = path.lastIndexOf('/'); + int lastBack = path.lastIndexOf(File.separatorChar); + if (lastBack > lastSlash) { + lastSlash = lastBack; + } + // + // if no separator or ends with separator (a directory) + // then output the URL, otherwise just the file name. + // + if (lastSlash <= 0 || lastSlash == path.length() - 1) { + buf.append(locationURL); + } else { + buf.append(path.substring(lastSlash + 1)); + } + } + } else { + buf.append(locationURL); + } + } + } + } catch(SecurityException ex) { + } + buf.append(':'); + Package pkg = cls.getPackage(); + if (pkg != null) { + String implVersion = pkg.getImplementationVersion(); + if (implVersion != null) { + buf.append(implVersion); + } + } + buf.append(']'); + classMap.put(className, buf.substring(detailStart)); + } + } catch(Exception ex) { + } + return buf.toString(); + } + + /** + * Find class given class name. + * @param className class name, may not be null. + * @return class, will not be null. + * @throws ClassNotFoundException thrown if class can not be found. + */ + private Class findClass(final String className) throws ClassNotFoundException { + try { + return Thread.currentThread().getContextClassLoader().loadClass(className); + } catch (ClassNotFoundException e) { + try { + return Class.forName(className); + } catch (ClassNotFoundException e1) { + return getClass().getClassLoader().loadClass(className); + } + } + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/FileAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/FileAppender.java new file mode 100644 index 00000000000..0728695f5b5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/FileAppender.java @@ -0,0 +1,348 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InterruptedIOException; +import java.io.Writer; + +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.helpers.QuietWriter; +import org.apache.log4j.spi.ErrorCode; + +// Contibutors: Jens Uwe Pipka <jens.pipka@gmx.de> +// Ben Sandee + +/** + * FileAppender appends log events to a file. + * + * <p>Support for <code>java.io.Writer</code> and console appending + * has been deprecated and then removed. See the replacement + * solutions: {@link WriterAppender} and {@link ConsoleAppender}. + * + * @author Ceki G&uuml;lc&uuml; + * */ +public class FileAppender extends WriterAppender { + + /** Controls file truncatation. The default value for this variable + * is <code>true</code>, meaning that by default a + * <code>FileAppender</code> will append to an existing file and not + * truncate it. + * + * <p>This option is meaningful only if the FileAppender opens the + * file. + */ + protected boolean fileAppend = true; + + /** + The name of the log file. */ + protected String fileName = null; + + /** + Do we do bufferedIO? */ + protected boolean bufferedIO = false; + + /** + * Determines the size of IO buffer be. Default is 8K. + */ + protected int bufferSize = 8*1024; + + + /** + The default constructor does not do anything. + */ + public + FileAppender() { + } + + /** + Instantiate a <code>FileAppender</code> and open the file + designated by <code>filename</code>. The opened filename will + become the output destination for this appender. + + <p>If the <code>append</code> parameter is true, the file will be + appended to. Otherwise, the file designated by + <code>filename</code> will be truncated before being opened. + + <p>If the <code>bufferedIO</code> parameter is <code>true</code>, + then buffered IO will be used to write to the output file. + + */ + public + FileAppender(Layout layout, String filename, boolean append, boolean bufferedIO, + int bufferSize) throws IOException { + this.layout = layout; + this.setFile(filename, append, bufferedIO, bufferSize); + } + + /** + Instantiate a FileAppender and open the file designated by + <code>filename</code>. The opened filename will become the output + destination for this appender. + + <p>If the <code>append</code> parameter is true, the file will be + appended to. Otherwise, the file designated by + <code>filename</code> will be truncated before being opened. + */ + public + FileAppender(Layout layout, String filename, boolean append) + throws IOException { + this.layout = layout; + this.setFile(filename, append, false, bufferSize); + } + + /** + Instantiate a FileAppender and open the file designated by + <code>filename</code>. The opened filename will become the output + destination for this appender. + + <p>The file will be appended to. */ + public + FileAppender(Layout layout, String filename) throws IOException { + this(layout, filename, true); + } + + /** + The <b>File</b> property takes a string value which should be the + name of the file to append to. + + <p><font color="#DD0044"><b>Note that the special values + "System.out" or "System.err" are no longer honored.</b></font> + + <p>Note: Actual opening of the file is made when {@link + #activateOptions} is called, not when the options are set. */ + public void setFile(String file) { + // Trim spaces from both ends. The users probably does not want + // trailing spaces in file names. + String val = file.trim(); + fileName = val; + } + + /** + Returns the value of the <b>Append</b> option. + */ + public + boolean getAppend() { + return fileAppend; + } + + + /** Returns the value of the <b>File</b> option. */ + public + String getFile() { + return fileName; + } + + /** + If the value of <b>File</b> is not <code>null</code>, then {@link + #setFile} is called with the values of <b>File</b> and + <b>Append</b> properties. + + @since 0.8.1 */ + public + void activateOptions() { + if(fileName != null) { + try { + setFile(fileName, fileAppend, bufferedIO, bufferSize); + } + catch(java.io.IOException e) { + errorHandler.error("setFile("+fileName+","+fileAppend+") call failed.", + e, ErrorCode.FILE_OPEN_FAILURE); + } + } else { + //LogLog.error("File option not set for appender ["+name+"]."); + LogLog.warn("File option not set for appender ["+name+"]."); + LogLog.warn("Are you using FileAppender instead of ConsoleAppender?"); + } + } + + /** + Closes the previously opened file. + */ + protected + void closeFile() { + if(this.qw != null) { + try { + this.qw.close(); + } + catch(java.io.IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + // Exceptionally, it does not make sense to delegate to an + // ErrorHandler. Since a closed appender is basically dead. + LogLog.error("Could not close " + qw, e); + } + } + } + + /** + Get the value of the <b>BufferedIO</b> option. + + <p>BufferedIO will significatnly increase performance on heavily + loaded systems. + + */ + public + boolean getBufferedIO() { + return this.bufferedIO; + } + + + /** + Get the size of the IO buffer. + */ + public + int getBufferSize() { + return this.bufferSize; + } + + + + /** + The <b>Append</b> option takes a boolean value. It is set to + <code>true</code> by default. If true, then <code>File</code> + will be opened in append mode by {@link #setFile setFile} (see + above). Otherwise, {@link #setFile setFile} will open + <code>File</code> in truncate mode. + + <p>Note: Actual opening of the file is made when {@link + #activateOptions} is called, not when the options are set. + */ + public + void setAppend(boolean flag) { + fileAppend = flag; + } + + /** + The <b>BufferedIO</b> option takes a boolean value. It is set to + <code>false</code> by default. If true, then <code>File</code> + will be opened and the resulting {@link java.io.Writer} wrapped + around a {@link BufferedWriter}. + + BufferedIO will significatnly increase performance on heavily + loaded systems. + + */ + public + void setBufferedIO(boolean bufferedIO) { + this.bufferedIO = bufferedIO; + if(bufferedIO) { + immediateFlush = false; + } + } + + + /** + Set the size of the IO buffer. + */ + public + void setBufferSize(int bufferSize) { + this.bufferSize = bufferSize; + } + + /** + <p>Sets and <i>opens</i> the file where the log output will + go. The specified file must be writable. + + <p>If there was already an opened file, then the previous file + is closed first. + + <p><b>Do not use this method directly. To configure a FileAppender + or one of its subclasses, set its properties one by one and then + call activateOptions.</b> + + @param fileName The path to the log file. + @param append If true will append to fileName. Otherwise will + truncate fileName. */ + public + synchronized + void setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize) + throws IOException { + LogLog.debug("setFile called: "+fileName+", "+append); + + // It does not make sense to have immediate flush and bufferedIO. + if(bufferedIO) { + setImmediateFlush(false); + } + + reset(); + FileOutputStream ostream = null; + try { + // + // attempt to create file + // + ostream = new FileOutputStream(fileName, append); + } catch(FileNotFoundException ex) { + // + // if parent directory does not exist then + // attempt to create it and try to create file + // see bug 9150 + // + String parentName = new File(fileName).getParent(); + if (parentName != null) { + File parentDir = new File(parentName); + if(!parentDir.exists() && parentDir.mkdirs()) { + ostream = new FileOutputStream(fileName, append); + } else { + throw ex; + } + } else { + throw ex; + } + } + Writer fw = createWriter(ostream); + if(bufferedIO) { + fw = new BufferedWriter(fw, bufferSize); + } + this.setQWForFiles(fw); + this.fileName = fileName; + this.fileAppend = append; + this.bufferedIO = bufferedIO; + this.bufferSize = bufferSize; + writeHeader(); + LogLog.debug("setFile ended"); + } + + + /** + Sets the quiet writer being used. + + This method is overriden by {@link RollingFileAppender}. + */ + protected + void setQWForFiles(Writer writer) { + this.qw = new QuietWriter(writer, errorHandler); + } + + + /** + Close any previously opened file and call the parent's + <code>reset</code>. */ + protected + void reset() { + closeFile(); + this.fileName = null; + super.reset(); + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/HTMLLayout.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/HTMLLayout.java new file mode 100644 index 00000000000..f7020cf25d8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/HTMLLayout.java @@ -0,0 +1,267 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.helpers.Transform; + +/** + * This layout outputs events in a HTML table. + * + * Appenders using this layout should have their encoding + * set to UTF-8 or UTF-16, otherwise events containing + * non ASCII characters could result in corrupted + * log files. + * + * @author Ceki G&uuml;lc&uuml; + */ +public class HTMLLayout extends Layout { + + protected final int BUF_SIZE = 256; + protected final int MAX_CAPACITY = 1024; + + static String TRACE_PREFIX = "<br>&nbsp;&nbsp;&nbsp;&nbsp;"; + + // output buffer appended to when format() is invoked + private StringBuffer sbuf = new StringBuffer(BUF_SIZE); + + /** + A string constant used in naming the option for setting the the + location information flag. Current value of this string + constant is <b>LocationInfo</b>. + + <p>Note that all option keys are case sensitive. + + @deprecated Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term. + + */ + public static final String LOCATION_INFO_OPTION = "LocationInfo"; + + /** + A string constant used in naming the option for setting the the + HTML document title. Current value of this string + constant is <b>Title</b>. + */ + public static final String TITLE_OPTION = "Title"; + + // Print no location info by default + boolean locationInfo = false; + + String title = "Log4J Log Messages"; + + /** + The <b>LocationInfo</b> option takes a boolean value. By + default, it is set to false which means there will be no location + information output by this layout. If the the option is set to + true, then the file name and line number of the statement + at the origin of the log statement will be output. + + <p>If you are embedding this layout within an {@link + org.apache.log4j.net.SMTPAppender} then make sure to set the + <b>LocationInfo</b> option of that appender as well. + */ + public + void setLocationInfo(boolean flag) { + locationInfo = flag; + } + + /** + Returns the current value of the <b>LocationInfo</b> option. + */ + public + boolean getLocationInfo() { + return locationInfo; + } + + /** + The <b>Title</b> option takes a String value. This option sets the + document title of the generated HTML document. + + <p>Defaults to 'Log4J Log Messages'. + */ + public + void setTitle(String title) { + this.title = title; + } + + /** + Returns the current value of the <b>Title</b> option. + */ + public + String getTitle() { + return title; + } + + /** + Returns the content type output by this layout, i.e "text/html". + */ + public + String getContentType() { + return "text/html"; + } + + /** + No options to activate. + */ + public + void activateOptions() { + } + + public + String format(LoggingEvent event) { + + if(sbuf.capacity() > MAX_CAPACITY) { + sbuf = new StringBuffer(BUF_SIZE); + } else { + sbuf.setLength(0); + } + + sbuf.append(Layout.LINE_SEP + "<tr>" + Layout.LINE_SEP); + + sbuf.append("<td>"); + sbuf.append(event.timeStamp - LoggingEvent.getStartTime()); + sbuf.append("</td>" + Layout.LINE_SEP); + + String escapedThread = Transform.escapeTags(event.getThreadName()); + sbuf.append("<td title=\"" + escapedThread + " thread\">"); + sbuf.append(escapedThread); + sbuf.append("</td>" + Layout.LINE_SEP); + + sbuf.append("<td title=\"Level\">"); + if (event.getLevel().equals(Level.DEBUG)) { + sbuf.append("<font color=\"#339933\">"); + sbuf.append(Transform.escapeTags(String.valueOf(event.getLevel()))); + sbuf.append("</font>"); + } + else if(event.getLevel().isGreaterOrEqual(Level.WARN)) { + sbuf.append("<font color=\"#993300\"><strong>"); + sbuf.append(Transform.escapeTags(String.valueOf(event.getLevel()))); + sbuf.append("</strong></font>"); + } else { + sbuf.append(Transform.escapeTags(String.valueOf(event.getLevel()))); + } + sbuf.append("</td>" + Layout.LINE_SEP); + + String escapedLogger = Transform.escapeTags(event.getLoggerName()); + sbuf.append("<td title=\"" + escapedLogger + " category\">"); + sbuf.append(escapedLogger); + sbuf.append("</td>" + Layout.LINE_SEP); + + if(locationInfo) { + LocationInfo locInfo = event.getLocationInformation(); + sbuf.append("<td>"); + sbuf.append(Transform.escapeTags(locInfo.getFileName())); + sbuf.append(':'); + sbuf.append(locInfo.getLineNumber()); + sbuf.append("</td>" + Layout.LINE_SEP); + } + + sbuf.append("<td title=\"Message\">"); + sbuf.append(Transform.escapeTags(event.getRenderedMessage())); + sbuf.append("</td>" + Layout.LINE_SEP); + sbuf.append("</tr>" + Layout.LINE_SEP); + + if (event.getNDC() != null) { + sbuf.append("<tr><td bgcolor=\"#EEEEEE\" style=\"font-size : xx-small;\" colspan=\"6\" title=\"Nested Diagnostic Context\">"); + sbuf.append("NDC: " + Transform.escapeTags(event.getNDC())); + sbuf.append("</td></tr>" + Layout.LINE_SEP); + } + + String[] s = event.getThrowableStrRep(); + if(s != null) { + sbuf.append("<tr><td bgcolor=\"#993300\" style=\"color:White; font-size : xx-small;\" colspan=\"6\">"); + appendThrowableAsHTML(s, sbuf); + sbuf.append("</td></tr>" + Layout.LINE_SEP); + } + + return sbuf.toString(); + } + + void appendThrowableAsHTML(String[] s, StringBuffer sbuf) { + if(s != null) { + int len = s.length; + if(len == 0) + return; + sbuf.append(Transform.escapeTags(s[0])); + sbuf.append(Layout.LINE_SEP); + for(int i = 1; i < len; i++) { + sbuf.append(TRACE_PREFIX); + sbuf.append(Transform.escapeTags(s[i])); + sbuf.append(Layout.LINE_SEP); + } + } + } + + /** + Returns appropriate HTML headers. + */ + public + String getHeader() { + StringBuffer sbuf = new StringBuffer(); + sbuf.append("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" + Layout.LINE_SEP); + sbuf.append("<html>" + Layout.LINE_SEP); + sbuf.append("<head>" + Layout.LINE_SEP); + sbuf.append("<title>" + title + "</title>" + Layout.LINE_SEP); + sbuf.append("<style type=\"text/css\">" + Layout.LINE_SEP); + sbuf.append("<!--" + Layout.LINE_SEP); + sbuf.append("body, table {font-family: arial,sans-serif; font-size: x-small;}" + Layout.LINE_SEP); + sbuf.append("th {background: #336699; color: #FFFFFF; text-align: left;}" + Layout.LINE_SEP); + sbuf.append("-->" + Layout.LINE_SEP); + sbuf.append("</style>" + Layout.LINE_SEP); + sbuf.append("</head>" + Layout.LINE_SEP); + sbuf.append("<body bgcolor=\"#FFFFFF\" topmargin=\"6\" leftmargin=\"6\">" + Layout.LINE_SEP); + sbuf.append("<hr size=\"1\" noshade>" + Layout.LINE_SEP); + sbuf.append("Log session start time " + new java.util.Date() + "<br>" + Layout.LINE_SEP); + sbuf.append("<br>" + Layout.LINE_SEP); + sbuf.append("<table cellspacing=\"0\" cellpadding=\"4\" border=\"1\" bordercolor=\"#224466\" width=\"100%\">" + Layout.LINE_SEP); + sbuf.append("<tr>" + Layout.LINE_SEP); + sbuf.append("<th>Time</th>" + Layout.LINE_SEP); + sbuf.append("<th>Thread</th>" + Layout.LINE_SEP); + sbuf.append("<th>Level</th>" + Layout.LINE_SEP); + sbuf.append("<th>Category</th>" + Layout.LINE_SEP); + if(locationInfo) { + sbuf.append("<th>File:Line</th>" + Layout.LINE_SEP); + } + sbuf.append("<th>Message</th>" + Layout.LINE_SEP); + sbuf.append("</tr>" + Layout.LINE_SEP); + return sbuf.toString(); + } + + /** + Returns the appropriate HTML footers. + */ + public + String getFooter() { + StringBuffer sbuf = new StringBuffer(); + sbuf.append("</table>" + Layout.LINE_SEP); + sbuf.append("<br>" + Layout.LINE_SEP); + sbuf.append("</body></html>"); + return sbuf.toString(); + } + + /** + The HTML layout handles the throwable contained in logging + events. Hence, this method return <code>false</code>. */ + public + boolean ignoresThrowable() { + return false; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Hierarchy.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Hierarchy.java new file mode 100644 index 00000000000..5b712e0b821 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Hierarchy.java @@ -0,0 +1,577 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// WARNING This class MUST not have references to the Category or +// WARNING RootCategory classes in its static initiliazation neither +// WARNING directly nor indirectly. + +// Contributors: +// Luke Blanshard <luke@quiq.com> +// Mario Schomburg - IBM Global Services/Germany +// Anders Kristensen +// Igor Poteryaev + +package org.apache.log4j; + + +import java.util.Hashtable; +import java.util.Enumeration; +import java.util.Vector; + +import org.apache.log4j.spi.LoggerFactory; +import org.apache.log4j.spi.HierarchyEventListener; +import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.spi.RendererSupport; +import org.apache.log4j.or.RendererMap; +import org.apache.log4j.or.ObjectRenderer; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.spi.ThrowableRendererSupport; +import org.apache.log4j.spi.ThrowableRenderer; + +/** + This class is specialized in retrieving loggers by name and also + maintaining the logger hierarchy. + + <p><em>The casual user does not have to deal with this class + directly.</em> + + <p>The structure of the logger hierarchy is maintained by the + {@link #getLogger} method. The hierarchy is such that children link + to their parent but parents do not have any pointers to their + children. Moreover, loggers can be instantiated in any order, in + particular descendant before ancestor. + + <p>In case a descendant is created before a particular ancestor, + then it creates a provision node for the ancestor and adds itself + to the provision node. Other descendants of the same ancestor add + themselves to the previously created provision node. + + @author Ceki G&uuml;lc&uuml; + +*/ +public class Hierarchy implements LoggerRepository, RendererSupport, ThrowableRendererSupport { + + private LoggerFactory defaultFactory; + private Vector listeners; + + Hashtable ht; + Logger root; + RendererMap rendererMap; + + int thresholdInt; + Level threshold; + + boolean emittedNoAppenderWarning = false; + boolean emittedNoResourceBundleWarning = false; + + private ThrowableRenderer throwableRenderer = null; + + /** + Create a new logger hierarchy. + + @param root The root of the new hierarchy. + + */ + public + Hierarchy(Logger root) { + ht = new Hashtable(); + listeners = new Vector(1); + this.root = root; + // Enable all level levels by default. + setThreshold(Level.ALL); + this.root.setHierarchy(this); + rendererMap = new RendererMap(); + defaultFactory = new DefaultCategoryFactory(); + } + + /** + Add an object renderer for a specific class. + */ + public + void addRenderer(Class classToRender, ObjectRenderer or) { + rendererMap.put(classToRender, or); + } + + public + void addHierarchyEventListener(HierarchyEventListener listener) { + if(listeners.contains(listener)) { + LogLog.warn("Ignoring attempt to add an existent listener."); + } else { + listeners.addElement(listener); + } + } + + /** + This call will clear all logger definitions from the internal + hashtable. Invoking this method will irrevocably mess up the + logger hierarchy. + + <p>You should <em>really</em> know what you are doing before + invoking this method. + + @since 0.9.0 */ + public + void clear() { + //System.out.println("\n\nAbout to clear internal hash table."); + ht.clear(); + } + + public + void emitNoAppenderWarning(Category cat) { + // No appenders in hierarchy, warn user only once. + if(!this.emittedNoAppenderWarning) { + LogLog.warn("No appenders could be found for logger (" + + cat.getName() + ")."); + LogLog.warn("Please initialize the log4j system properly."); + LogLog.warn("See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info."); + this.emittedNoAppenderWarning = true; + } + } + + /** + Check if the named logger exists in the hierarchy. If so return + its reference, otherwise returns <code>null</code>. + + @param name The name of the logger to search for. + + */ + public + Logger exists(String name) { + Object o = ht.get(new CategoryKey(name)); + if(o instanceof Logger) { + return (Logger) o; + } else { + return null; + } + } + + /** + The string form of {@link #setThreshold(Level)}. + */ + public + void setThreshold(String levelStr) { + Level l = (Level) Level.toLevel(levelStr, null); + if(l != null) { + setThreshold(l); + } else { + LogLog.warn("Could not convert ["+levelStr+"] to Level."); + } + } + + + /** + Enable logging for logging requests with level <code>l</code> or + higher. By default all levels are enabled. + + @param l The minimum level for which logging requests are sent to + their appenders. */ + public + void setThreshold(Level l) { + if(l != null) { + thresholdInt = l.level; + threshold = l; + } + } + + public + void fireAddAppenderEvent(Category logger, Appender appender) { + if(listeners != null) { + int size = listeners.size(); + HierarchyEventListener listener; + for(int i = 0; i < size; i++) { + listener = (HierarchyEventListener) listeners.elementAt(i); + listener.addAppenderEvent(logger, appender); + } + } + } + + void fireRemoveAppenderEvent(Category logger, Appender appender) { + if(listeners != null) { + int size = listeners.size(); + HierarchyEventListener listener; + for(int i = 0; i < size; i++) { + listener = (HierarchyEventListener) listeners.elementAt(i); + listener.removeAppenderEvent(logger, appender); + } + } + } + + /** + Returns a {@link Level} representation of the <code>enable</code> + state. + + @since 1.2 */ + public + Level getThreshold() { + return threshold; + } + + /** + Returns an integer representation of the this repository's + threshold. + + @since 1.2 */ + //public + //int getThresholdInt() { + // return thresholdInt; + //} + + + /** + Return a new logger instance named as the first parameter using + the default factory. + + <p>If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated and + then linked with its existing ancestors as well as children. + + @param name The name of the logger to retrieve. + + */ + public + Logger getLogger(String name) { + return getLogger(name, defaultFactory); + } + + /** + Return a new logger instance named as the first parameter using + <code>factory</code>. + + <p>If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated by the + <code>factory</code> parameter and linked with its existing + ancestors as well as children. + + @param name The name of the logger to retrieve. + @param factory The factory that will make the new logger instance. + + */ + public + Logger getLogger(String name, LoggerFactory factory) { + //System.out.println("getInstance("+name+") called."); + CategoryKey key = new CategoryKey(name); + // Synchronize to prevent write conflicts. Read conflicts (in + // getChainedLevel method) are possible only if variable + // assignments are non-atomic. + Logger logger; + + synchronized(ht) { + Object o = ht.get(key); + if(o == null) { + logger = factory.makeNewLoggerInstance(name); + logger.setHierarchy(this); + ht.put(key, logger); + updateParents(logger); + return logger; + } else if(o instanceof Logger) { + return (Logger) o; + } else if (o instanceof ProvisionNode) { + //System.out.println("("+name+") ht.get(this) returned ProvisionNode"); + logger = factory.makeNewLoggerInstance(name); + logger.setHierarchy(this); + ht.put(key, logger); + updateChildren((ProvisionNode) o, logger); + updateParents(logger); + return logger; + } + else { + // It should be impossible to arrive here + return null; // but let's keep the compiler happy. + } + } + } + + /** + Returns all the currently defined categories in this hierarchy as + an {@link java.util.Enumeration Enumeration}. + + <p>The root logger is <em>not</em> included in the returned + {@link Enumeration}. */ + public + Enumeration getCurrentLoggers() { + // The accumlation in v is necessary because not all elements in + // ht are Logger objects as there might be some ProvisionNodes + // as well. + Vector v = new Vector(ht.size()); + + Enumeration elems = ht.elements(); + while(elems.hasMoreElements()) { + Object o = elems.nextElement(); + if(o instanceof Logger) { + v.addElement(o); + } + } + return v.elements(); + } + + /** + @deprecated Please use {@link #getCurrentLoggers} instead. + */ + public + Enumeration getCurrentCategories() { + return getCurrentLoggers(); + } + + + /** + Get the renderer map for this hierarchy. + */ + public + RendererMap getRendererMap() { + return rendererMap; + } + + + /** + Get the root of this hierarchy. + + @since 0.9.0 + */ + public + Logger getRootLogger() { + return root; + } + + /** + This method will return <code>true</code> if this repository is + disabled for <code>level</code> object passed as parameter and + <code>false</code> otherwise. See also the {@link + #setThreshold(Level) threshold} emthod. */ + public + boolean isDisabled(int level) { + return thresholdInt > level; + } + + /** + @deprecated Deprecated with no replacement. + */ + public + void overrideAsNeeded(String override) { + LogLog.warn("The Hiearchy.overrideAsNeeded method has been deprecated."); + } + + /** + Reset all values contained in this hierarchy instance to their + default. This removes all appenders from all categories, sets + the level of all non-root categories to <code>null</code>, + sets their additivity flag to <code>true</code> and sets the level + of the root logger to {@link Level#DEBUG DEBUG}. Moreover, + message disabling is set its default "off" value. + + <p>Existing categories are not removed. They are just reset. + + <p>This method should be used sparingly and with care as it will + block all logging until it is completed.</p> + + @since 0.8.5 */ + public + void resetConfiguration() { + + getRootLogger().setLevel((Level) Level.DEBUG); + root.setResourceBundle(null); + setThreshold(Level.ALL); + + // the synchronization is needed to prevent JDK 1.2.x hashtable + // surprises + synchronized(ht) { + shutdown(); // nested locks are OK + + Enumeration cats = getCurrentLoggers(); + while(cats.hasMoreElements()) { + Logger c = (Logger) cats.nextElement(); + c.setLevel(null); + c.setAdditivity(true); + c.setResourceBundle(null); + } + } + rendererMap.clear(); + throwableRenderer = null; + } + + /** + Does nothing. + + @deprecated Deprecated with no replacement. + */ + public + void setDisableOverride(String override) { + LogLog.warn("The Hiearchy.setDisableOverride method has been deprecated."); + } + + + + /** + Used by subclasses to add a renderer to the hierarchy passed as parameter. + */ + public + void setRenderer(Class renderedClass, ObjectRenderer renderer) { + rendererMap.put(renderedClass, renderer); + } + + /** + * {@inheritDoc} + */ + public void setThrowableRenderer(final ThrowableRenderer renderer) { + throwableRenderer = renderer; + } + + /** + * {@inheritDoc} + */ + public ThrowableRenderer getThrowableRenderer() { + return throwableRenderer; + } + + + /** + Shutting down a hierarchy will <em>safely</em> close and remove + all appenders in all categories including the root logger. + + <p>Some appenders such as {@link org.apache.log4j.net.SocketAppender} + and {@link AsyncAppender} need to be closed before the + application exists. Otherwise, pending logging events might be + lost. + + <p>The <code>shutdown</code> method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. + + + @since 1.0 */ + public + void shutdown() { + Logger root = getRootLogger(); + + // begin by closing nested appenders + root.closeNestedAppenders(); + + synchronized(ht) { + Enumeration cats = this.getCurrentLoggers(); + while(cats.hasMoreElements()) { + Logger c = (Logger) cats.nextElement(); + c.closeNestedAppenders(); + } + + // then, remove all appenders + root.removeAllAppenders(); + cats = this.getCurrentLoggers(); + while(cats.hasMoreElements()) { + Logger c = (Logger) cats.nextElement(); + c.removeAllAppenders(); + } + } + } + + + /** + This method loops through all the *potential* parents of + 'cat'. There 3 possible cases: + + 1) No entry for the potential parent of 'cat' exists + + We create a ProvisionNode for this potential parent and insert + 'cat' in that provision node. + + 2) There entry is of type Logger for the potential parent. + + The entry is 'cat's nearest existing parent. We update cat's + parent field with this entry. We also break from the loop + because updating our parent's parent is our parent's + responsibility. + + 3) There entry is of type ProvisionNode for this potential parent. + + We add 'cat' to the list of children for this potential parent. + */ + final + private + void updateParents(Logger cat) { + String name = cat.name; + int length = name.length(); + boolean parentFound = false; + + //System.out.println("UpdateParents called for " + name); + + // if name = "w.x.y.z", loop thourgh "w.x.y", "w.x" and "w", but not "w.x.y.z" + for(int i = name.lastIndexOf('.', length-1); i >= 0; + i = name.lastIndexOf('.', i-1)) { + String substr = name.substring(0, i); + + //System.out.println("Updating parent : " + substr); + CategoryKey key = new CategoryKey(substr); // simple constructor + Object o = ht.get(key); + // Create a provision node for a future parent. + if(o == null) { + //System.out.println("No parent "+substr+" found. Creating ProvisionNode."); + ProvisionNode pn = new ProvisionNode(cat); + ht.put(key, pn); + } else if(o instanceof Category) { + parentFound = true; + cat.parent = (Category) o; + //System.out.println("Linking " + cat.name + " -> " + ((Category) o).name); + break; // no need to update the ancestors of the closest ancestor + } else if(o instanceof ProvisionNode) { + ((ProvisionNode) o).addElement(cat); + } else { + Exception e = new IllegalStateException("unexpected object type " + + o.getClass() + " in ht."); + e.printStackTrace(); + } + } + // If we could not find any existing parents, then link with root. + if(!parentFound) + cat.parent = root; + } + + /** + We update the links for all the children that placed themselves + in the provision node 'pn'. The second argument 'cat' is a + reference for the newly created Logger, parent of all the + children in 'pn' + + We loop on all the children 'c' in 'pn': + + If the child 'c' has been already linked to a child of + 'cat' then there is no need to update 'c'. + + Otherwise, we set cat's parent field to c's parent and set + c's parent field to cat. + + */ + final + private + void updateChildren(ProvisionNode pn, Logger logger) { + //System.out.println("updateChildren called for " + logger.name); + final int last = pn.size(); + + for(int i = 0; i < last; i++) { + Logger l = (Logger) pn.elementAt(i); + //System.out.println("Updating child " +p.name); + + // Unless this child already points to a correct (lower) parent, + // make cat.parent point to l.parent and l.parent to cat. + if(!l.parent.name.startsWith(logger.name)) { + logger.parent = l.parent; + l.parent = logger; + } + } + } + +} + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Layout.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Layout.java new file mode 100644 index 00000000000..63015aa0f3b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Layout.java @@ -0,0 +1,89 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.OptionHandler; +import org.apache.log4j.spi.LoggingEvent; + +/** + Extend this abstract class to create your own log layout format. + + @author Ceki G&uuml;lc&uuml; + +*/ + +public abstract class Layout implements OptionHandler { + + // Note that the line.separator property can be looked up even by + // applets. + public final static String LINE_SEP = System.getProperty("line.separator"); + public final static int LINE_SEP_LEN = LINE_SEP.length(); + + + /** + Implement this method to create your own layout format. + */ + abstract + public + String format(LoggingEvent event); + + /** + Returns the content type output by this layout. The base class + returns "text/plain". + */ + public + String getContentType() { + return "text/plain"; + } + + /** + Returns the header for the layout format. The base class returns + <code>null</code>. */ + public + String getHeader() { + return null; + } + + /** + Returns the footer for the layout format. The base class returns + <code>null</code>. */ + public + String getFooter() { + return null; + } + + + + /** + If the layout handles the throwable object contained within + {@link LoggingEvent}, then the layout should return + <code>false</code>. Otherwise, if the layout ignores throwable + object, then the layout should return <code>true</code>. + If ignoresThrowable is true, the appender is responsible for + rendering the throwable. + + <p>The {@link SimpleLayout}, {@link TTCCLayout}, {@link + PatternLayout} all return <code>true</code>. The {@link + org.apache.log4j.xml.XMLLayout} returns <code>false</code>. + + @since 0.8.4 */ + abstract + public + boolean ignoresThrowable(); + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Level.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Level.java new file mode 100644 index 00000000000..502886242a6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Level.java @@ -0,0 +1,224 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contributors: Kitching Simon <Simon.Kitching@orange.ch> +// Nicholas Wolff + +package org.apache.log4j; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.ObjectStreamException; +import java.io.Serializable; + +/** + Defines the minimum set of levels recognized by the system, that is + <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>, + <code>WARN</code>, <code>INFO</code, <code>DEBUG</code> and + <code>ALL</code>. + + <p>The <code>Level</code> class may be subclassed to define a larger + level set. + + @author Ceki G&uuml;lc&uuml; + + */ +public class Level extends Priority implements Serializable { + + /** + * TRACE level integer value. + * @since 1.2.12 + */ + public static final int TRACE_INT = 5000; + + /** + The <code>OFF</code> has the highest possible rank and is + intended to turn off logging. */ + final static public Level OFF = new Level(OFF_INT, "OFF", 0); + + /** + The <code>FATAL</code> level designates very severe error + events that will presumably lead the application to abort. + */ + final static public Level FATAL = new Level(FATAL_INT, "FATAL", 0); + + /** + The <code>ERROR</code> level designates error events that + might still allow the application to continue running. */ + final static public Level ERROR = new Level(ERROR_INT, "ERROR", 3); + + /** + The <code>WARN</code> level designates potentially harmful situations. + */ + final static public Level WARN = new Level(WARN_INT, "WARN", 4); + + /** + The <code>INFO</code> level designates informational messages + that highlight the progress of the application at coarse-grained + level. */ + final static public Level INFO = new Level(INFO_INT, "INFO", 6); + + /** + The <code>DEBUG</code> Level designates fine-grained + informational events that are most useful to debug an + application. */ + final static public Level DEBUG = new Level(DEBUG_INT, "DEBUG", 7); + + /** + * The <code>TRACE</code> Level designates finer-grained + * informational events than the <code>DEBUG</code level. + * @since 1.2.12 + */ + public static final Level TRACE = new Level(TRACE_INT, "TRACE", 7); + + + /** + The <code>ALL</code> has the lowest possible rank and is intended to + turn on all logging. */ + final static public Level ALL = new Level(ALL_INT, "ALL", 7); + + /** + * Serialization version id. + */ + static final long serialVersionUID = 3491141966387921974L; + + /** + Instantiate a Level object. + */ + protected + Level(int level, String levelStr, int syslogEquivalent) { + super(level, levelStr, syslogEquivalent); + } + + + /** + Convert the string passed as argument to a level. If the + conversion fails, then this method returns {@link #DEBUG}. + */ + public + static + Level toLevel(String sArg) { + return (Level) toLevel(sArg, Level.DEBUG); + } + + /** + Convert an integer passed as argument to a level. If the + conversion fails, then this method returns {@link #DEBUG}. + + */ + public + static + Level toLevel(int val) { + return (Level) toLevel(val, Level.DEBUG); + } + + /** + Convert an integer passed as argument to a level. If the + conversion fails, then this method returns the specified default. + */ + public + static + Level toLevel(int val, Level defaultLevel) { + switch(val) { + case ALL_INT: return ALL; + case DEBUG_INT: return Level.DEBUG; + case INFO_INT: return Level.INFO; + case WARN_INT: return Level.WARN; + case ERROR_INT: return Level.ERROR; + case FATAL_INT: return Level.FATAL; + case OFF_INT: return OFF; + case TRACE_INT: return Level.TRACE; + default: return defaultLevel; + } + } + + /** + Convert the string passed as argument to a level. If the + conversion fails, then this method returns the value of + <code>defaultLevel</code>. + */ + public + static + Level toLevel(String sArg, Level defaultLevel) { + if(sArg == null) + return defaultLevel; + + String s = sArg.toUpperCase(); + + if(s.equals("ALL")) return Level.ALL; + if(s.equals("DEBUG")) return Level.DEBUG; + if(s.equals("INFO")) return Level.INFO; + if(s.equals("WARN")) return Level.WARN; + if(s.equals("ERROR")) return Level.ERROR; + if(s.equals("FATAL")) return Level.FATAL; + if(s.equals("OFF")) return Level.OFF; + if(s.equals("TRACE")) return Level.TRACE; + // + // For Turkish i problem, see bug 40937 + // + if(s.equals("\u0130NFO")) return Level.INFO; + return defaultLevel; + } + + /** + * Custom deserialization of Level. + * @param s serialization stream. + * @throws IOException if IO exception. + * @throws ClassNotFoundException if class not found. + */ + private void readObject(final ObjectInputStream s) throws IOException, ClassNotFoundException { + s.defaultReadObject(); + level = s.readInt(); + syslogEquivalent = s.readInt(); + levelStr = s.readUTF(); + if (levelStr == null) { + levelStr = ""; + } + } + + /** + * Serialize level. + * @param s serialization stream. + * @throws IOException if exception during serialization. + */ + private void writeObject(final ObjectOutputStream s) throws IOException { + s.defaultWriteObject(); + s.writeInt(level); + s.writeInt(syslogEquivalent); + s.writeUTF(levelStr); + } + + /** + * Resolved deserialized level to one of the stock instances. + * May be overriden in classes derived from Level. + * @return resolved object. + * @throws ObjectStreamException if exception during resolution. + */ + private Object readResolve() throws ObjectStreamException { + // + // if the deserizalized object is exactly an instance of Level + // + if (getClass() == Level.class) { + return toLevel(level); + } + // + // extension of Level can't substitute stock item + // + return this; + } + +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/LogMF.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogMF.java old mode 100644 new mode 100755 similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/LogMF.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogMF.java index e7edf633a03..2df99fc1509 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/LogMF.java +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogMF.java @@ -23,18 +23,26 @@ import java.text.MessageFormat; import java.text.NumberFormat; import java.util.Date; import java.util.ResourceBundle; +import java.util.Locale; /** - * This class provides static methods to - * format log messages using java.text.MessageFormat. + * This class provides parameterized logging services + * using the pattern syntax of java.text.MessageFormat. + * Message formatting is only performed when the + * request exceeds the threshold level of the logger. + * When the pattern only contains literal text and + * default conversion patterns (that is "{0}" and similar) + * a simple fast compatible formatter is used. + * If the pattern contains more complex conversion patterns, + * formatting will be delegated to java.text.MessageFormatter + * which can be substantially slower. + * + * @see org.apache.log4j.LogSF + * @since 1.2.16 * */ -public final class LogMF { - /** - * Trace level. - */ - private static final Level TRACE = new Level(5000, "TRACE", 7); +public final class LogMF extends LogXF { /** * private constructor. * @@ -42,203 +50,97 @@ public final class LogMF { private LogMF() { } + /** + * Number format. + */ + private static NumberFormat numberFormat = null; + /** + * Locale at time of last number format request. + */ + private static Locale numberLocale = null; + /** + * Date format. + */ + private static DateFormat dateFormat = null; + /** + * Locale at time of last date format request. + */ + private static Locale dateLocale = null; /** - * Returns a Boolean instance representing the specified boolean. - * Boolean.valueOf was added in JDK 1.4. - * @param b a boolean value. - * @return a Boolean instance representing b. + * Format number. + * @param n number to format, may not be null. + * @return formatted value. */ - private static Boolean valueOf(final boolean b) { - if (b) { - return Boolean.TRUE; + private static synchronized String formatNumber(final Object n) { + Locale currentLocale = Locale.getDefault(); + if (currentLocale != numberLocale || numberFormat == null) { + numberLocale = currentLocale; + numberFormat = NumberFormat.getInstance(currentLocale); } - return Boolean.FALSE; - } - - /** - * Returns a Character instance representing the specified char. - * Character.valueOf was added in JDK 1.5. - * @param c a character value. - * @return a Character instance representing c. - */ - private static Character valueOf(final char c) { - return new Character(c); - } - - /** - * Returns a Byte instance representing the specified byte. - * Byte.valueOf was added in JDK 1.5. - * @param b a byte value. - * @return a Byte instance representing b. - */ - private static Byte valueOf(final byte b) { - return new Byte(b); - } - - /** - * Returns a Short instance representing the specified short. - * Short.valueOf was added in JDK 1.5. - * @param b a short value. - * @return a Byte instance representing b. - */ - private static Short valueOf(final short b) { - return new Short(b); - } - - /** - * Returns an Integer instance representing the specified int. - * Integer.valueOf was added in JDK 1.5. - * @param b an int value. - * @return an Integer instance representing b. - */ - private static Integer valueOf(final int b) { - return new Integer(b); - } - - /** - * Returns a Long instance representing the specified long. - * Long.valueOf was added in JDK 1.5. - * @param b a long value. - * @return a Long instance representing b. - */ - private static Long valueOf(final long b) { - return new Long(b); - } - - /** - * Returns a Float instance representing the specified float. - * Float.valueOf was added in JDK 1.5. - * @param b a float value. - * @return a Float instance representing b. - */ - private static Float valueOf(final float b) { - return new Float(b); - } - - /** - * Returns a Double instance representing the specified double. - * Double.valueOf was added in JDK 1.5. - * @param b a double value. - * @return a Byte instance representing b. - */ - private static Double valueOf(final double b) { - return new Double(b); + return numberFormat.format(n); } - /** - * Create new array. - * @param param1 parameter 1. - * @return new array. + * Format date. + * @param d date, may not be null. + * @return formatted value. */ - private static Object[] toArray(final Object param1) { - return new Object[] { - param1 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2) { - return new Object[] { - param1, param2 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @param param3 parameter 3. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2, - final Object param3) { - return new Object[] { - param1, param2, param3 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @param param3 parameter 3. - * @param param4 parameter 4. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2, - final Object param3, - final Object param4) { - return new Object[] { - param1, param2, param3, param4 - }; - } - - /** - * Formats arguments using a minimal subset - * of MessageFormat syntax. - * @param pattern pattern, may not be null. - * @param arg0 argument, may be null. - * @return Message string or null if pattern - * is not supported. - */ - private static String subsetFormat(final String pattern, - final Object arg0) { - if (pattern != null) { - // - // find position of first brace - // if none then format is a literal - int bracePos = pattern.indexOf("{"); - - // - // if the first format is {0} - // and there are no other format specifiers - // and no quotes then substitute for {0} - if (bracePos != -1) { - if ((pattern.indexOf("{0}", bracePos) == bracePos) - && (pattern.indexOf("{", bracePos + 1) == -1) - && (pattern.indexOf("'") == -1)) { - String replacement; - - if (arg0 instanceof String) { - replacement = arg0.toString(); - } else if (arg0 instanceof Number) { - replacement = NumberFormat.getInstance().format(arg0); - } else if (arg0 instanceof Date) { - replacement = DateFormat.getDateTimeInstance( + private static synchronized String formatDate(final Object d) { + Locale currentLocale = Locale.getDefault(); + if (currentLocale != dateLocale || dateFormat == null) { + dateLocale = currentLocale; + dateFormat = DateFormat.getDateTimeInstance( DateFormat.SHORT, - DateFormat.SHORT).format(arg0); - } else { - replacement = String.valueOf(arg0); - } + DateFormat.SHORT, + currentLocale); + } + return dateFormat.format(d); + } - final StringBuffer buf = new StringBuffer(pattern); - buf.replace(bracePos, - bracePos + "{0}".length(), replacement); + /** + * Format a single parameter like a "{0}" formatting specifier. + * + * @param arg0 parameter, may be null. + * @return string representation of arg0. + */ + private static String formatObject(final Object arg0) { + if (arg0 instanceof String) { + return arg0.toString(); + } else if (arg0 instanceof Double || + arg0 instanceof Float) { + return formatNumber(arg0); + } else if (arg0 instanceof Date) { + return formatDate(arg0); + } + return String.valueOf(arg0); + } - return buf.toString(); - } - } else { - // - // pattern is a literal with no braces - // and not quotes, return pattern. - if (pattern.indexOf("'") == -1) { - return pattern; - } + + /** + * Determines if pattern contains only {n} format elements + * and not apostrophes. + * + * @param pattern pattern, may not be null. + * @return true if pattern only contains {n} format elements. + */ + private static boolean isSimple(final String pattern) { + if (pattern.indexOf('\'') != -1) { + return false; + } + for(int pos = pattern.indexOf('{'); + pos != -1; + pos = pattern.indexOf('{', pos + 1)) { + if (pos + 2 >= pattern.length() || + pattern.charAt(pos+2) != '}' || + pattern.charAt(pos+1) < '0' || + pattern.charAt(pos+1) > '9') { + return false; } } + return true; - return null; } /** @@ -251,6 +153,34 @@ public final class LogMF { final Object[] arguments) { if (pattern == null) { return null; + } else if(isSimple(pattern)) { + String formatted[] = new String[10]; + int prev = 0; + String retval = ""; + int pos = pattern.indexOf('{'); + while(pos >= 0) { + if(pos + 2 < pattern.length() && + pattern.charAt(pos+2) == '}' && + pattern.charAt(pos+1) >= '0' && + pattern.charAt(pos+1) <= '9') { + int index = pattern.charAt(pos+1) - '0'; + retval += pattern.substring(prev, pos); + if (formatted[index] == null) { + if (arguments == null || index >= arguments.length) { + formatted[index] = pattern.substring(pos, pos+3); + } else { + formatted[index] = formatObject(arguments[index]); + } + } + retval += formatted[index]; + prev = pos + 3; + pos = pattern.indexOf('{', prev); + } else { + pos = pattern.indexOf('{', pos + 1); + } + } + retval += pattern.substring(prev); + return retval; } try { return MessageFormat.format(pattern, arguments); @@ -260,21 +190,52 @@ public final class LogMF { } /** - * Formats arguments using MessageFormat. - * @param pattern pattern, may be malformed. - * @param arg0 argument, may be null or mismatched. - * @return Message string + * Formats a single argument using MessageFormat. + * @param pattern pattern, may be malformed or null. + * @param arguments arguments, may be null or mismatched. + * @return Message string or null */ - private static String format(final String pattern, final Object arg0) { - String msg = subsetFormat(pattern, arg0); - - if (msg == null) { - msg = format(pattern, toArray(arg0)); + private static String format(final String pattern, + final Object arg0) { + if (pattern == null) { + return null; + } else if(isSimple(pattern)) { + String formatted = null; + int prev = 0; + String retval = ""; + int pos = pattern.indexOf('{'); + while(pos >= 0) { + if(pos + 2 < pattern.length() && + pattern.charAt(pos+2) == '}' && + pattern.charAt(pos+1) >= '0' && + pattern.charAt(pos+1) <= '9') { + int index = pattern.charAt(pos+1) - '0'; + retval += pattern.substring(prev, pos); + if (index != 0) { + retval += pattern.substring(pos, pos+3); + } else { + if (formatted == null) { + formatted = formatObject(arg0); + } + retval += formatted; + } + prev = pos + 3; + pos = pattern.indexOf('{', prev); + } else { + pos = pattern.indexOf('{', pos + 1); + } + } + retval += pattern.substring(prev); + return retval; + } + try { + return MessageFormat.format(pattern, new Object[] { arg0 }); + } catch (IllegalArgumentException ex) { + return pattern; } - - return msg; } + /** * Formats arguments using MessageFormat using a pattern from * a resource bundle. @@ -1712,4 +1673,5 @@ public final class LogMF { toArray(param0, param1, param2, param3))); } } + } diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogManager.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogManager.java new file mode 100644 index 00000000000..5b9659c29cf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogManager.java @@ -0,0 +1,276 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.spi.LoggerFactory; +import org.apache.log4j.spi.RepositorySelector; +import org.apache.log4j.spi.DefaultRepositorySelector; +import org.apache.log4j.spi.RootLogger; +import org.apache.log4j.spi.NOPLoggerRepository; +import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.helpers.LogLog; + +import java.net.URL; +import java.net.MalformedURLException; + + +import java.util.Enumeration; +import java.io.StringWriter; +import java.io.PrintWriter; + +/** + * Use the <code>LogManager</code> class to retreive {@link Logger} + * instances or to operate on the current {@link + * LoggerRepository}. When the <code>LogManager</code> class is loaded + * into memory the default initalzation procedure is inititated. The + * default intialization procedure</a> is described in the <a + * href="../../../../manual.html#defaultInit">short log4j manual</a>. + * + * @author Ceki G&uuml;lc&uuml; */ +public class LogManager { + + /** + * @deprecated This variable is for internal use only. It will + * become package protected in future versions. + * */ + static public final String DEFAULT_CONFIGURATION_FILE = "log4j.properties"; + + static final String DEFAULT_XML_CONFIGURATION_FILE = "log4j.xml"; + + /** + * @deprecated This variable is for internal use only. It will + * become private in future versions. + * */ + static final public String DEFAULT_CONFIGURATION_KEY="log4j.configuration"; + + /** + * @deprecated This variable is for internal use only. It will + * become private in future versions. + * */ + static final public String CONFIGURATOR_CLASS_KEY="log4j.configuratorClass"; + + /** + * @deprecated This variable is for internal use only. It will + * become private in future versions. + */ + public static final String DEFAULT_INIT_OVERRIDE_KEY = + "log4j.defaultInitOverride"; + + + static private Object guard = null; + static private RepositorySelector repositorySelector; + + static { + // By default we use a DefaultRepositorySelector which always returns 'h'. + Hierarchy h = new Hierarchy(new RootLogger((Level) Level.DEBUG)); + repositorySelector = new DefaultRepositorySelector(h); + + /** Search for the properties file log4j.properties in the CLASSPATH. */ + String override =OptionConverter.getSystemProperty(DEFAULT_INIT_OVERRIDE_KEY, + null); + + // if there is no default init override, then get the resource + // specified by the user or the default config file. + if(override == null || "false".equalsIgnoreCase(override)) { + + String configurationOptionStr = OptionConverter.getSystemProperty( + DEFAULT_CONFIGURATION_KEY, + null); + + String configuratorClassName = OptionConverter.getSystemProperty( + CONFIGURATOR_CLASS_KEY, + null); + + URL url = null; + + // if the user has not specified the log4j.configuration + // property, we search first for the file "log4j.xml" and then + // "log4j.properties" + if(configurationOptionStr == null) { + url = Loader.getResource(DEFAULT_XML_CONFIGURATION_FILE); + if(url == null) { + url = Loader.getResource(DEFAULT_CONFIGURATION_FILE); + } + } else { + try { + url = new URL(configurationOptionStr); + } catch (MalformedURLException ex) { + // so, resource is not a URL: + // attempt to get the resource from the class path + url = Loader.getResource(configurationOptionStr); + } + } + + // If we have a non-null url, then delegate the rest of the + // configuration to the OptionConverter.selectAndConfigure + // method. + if(url != null) { + LogLog.debug("Using URL ["+url+"] for automatic log4j configuration."); + try { + OptionConverter.selectAndConfigure(url, configuratorClassName, + LogManager.getLoggerRepository()); + } catch (NoClassDefFoundError e) { + LogLog.warn("Error during default initialization", e); + } + } else { + LogLog.debug("Could not find resource: ["+configurationOptionStr+"]."); + } + } else { + LogLog.debug("Default initialization of overridden by " + + DEFAULT_INIT_OVERRIDE_KEY + "property."); + } + } + + /** + Sets <code>LoggerFactory</code> but only if the correct + <em>guard</em> is passed as parameter. + + <p>Initally the guard is null. If the guard is + <code>null</code>, then invoking this method sets the logger + factory and the guard. Following invocations will throw a {@link + IllegalArgumentException}, unless the previously set + <code>guard</code> is passed as the second parameter. + + <p>This allows a high-level component to set the {@link + RepositorySelector} used by the <code>LogManager</code>. + + <p>For example, when tomcat starts it will be able to install its + own repository selector. However, if and when Tomcat is embedded + within JBoss, then JBoss will install its own repository selector + and Tomcat will use the repository selector set by its container, + JBoss. */ + static + public + void setRepositorySelector(RepositorySelector selector, Object guard) + throws IllegalArgumentException { + if((LogManager.guard != null) && (LogManager.guard != guard)) { + throw new IllegalArgumentException( + "Attempted to reset the LoggerFactory without possessing the guard."); + } + + if(selector == null) { + throw new IllegalArgumentException("RepositorySelector must be non-null."); + } + + LogManager.guard = guard; + LogManager.repositorySelector = selector; + } + + + /** + * This method tests if called from a method that + * is known to result in class members being abnormally + * set to null but is assumed to be harmless since the + * all classes are in the process of being unloaded. + * + * @param ex exception used to determine calling stack. + * @return true if calling stack is recognized as likely safe. + */ + private static boolean isLikelySafeScenario(final Exception ex) { + StringWriter stringWriter = new StringWriter(); + ex.printStackTrace(new PrintWriter(stringWriter)); + String msg = stringWriter.toString(); + return msg.indexOf("org.apache.catalina.loader.WebappClassLoader.stop") != -1; + } + + static + public + LoggerRepository getLoggerRepository() { + if (repositorySelector == null) { + repositorySelector = new DefaultRepositorySelector(new NOPLoggerRepository()); + guard = null; + Exception ex = new IllegalStateException("Class invariant violation"); + String msg = + "log4j called after unloading, see http://logging.apache.org/log4j/1.2/faq.html#unload."; + if (isLikelySafeScenario(ex)) { + LogLog.debug(msg, ex); + } else { + LogLog.error(msg, ex); + } + } + return repositorySelector.getLoggerRepository(); + } + + /** + Retrieve the appropriate root logger. + */ + public + static + Logger getRootLogger() { + // Delegate the actual manufacturing of the logger to the logger repository. + return getLoggerRepository().getRootLogger(); + } + + /** + Retrieve the appropriate {@link Logger} instance. + */ + public + static + Logger getLogger(final String name) { + // Delegate the actual manufacturing of the logger to the logger repository. + return getLoggerRepository().getLogger(name); + } + + /** + Retrieve the appropriate {@link Logger} instance. + */ + public + static + Logger getLogger(final Class clazz) { + // Delegate the actual manufacturing of the logger to the logger repository. + return getLoggerRepository().getLogger(clazz.getName()); + } + + + /** + Retrieve the appropriate {@link Logger} instance. + */ + public + static + Logger getLogger(final String name, final LoggerFactory factory) { + // Delegate the actual manufacturing of the logger to the logger repository. + return getLoggerRepository().getLogger(name, factory); + } + + public + static + Logger exists(final String name) { + return getLoggerRepository().exists(name); + } + + public + static + Enumeration getCurrentLoggers() { + return getLoggerRepository().getCurrentLoggers(); + } + + public + static + void shutdown() { + getLoggerRepository().shutdown(); + } + + public + static + void resetConfiguration() { + getLoggerRepository().resetConfiguration(); + } +} + diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/LogSF.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogSF.java old mode 100644 new mode 100755 similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/LogSF.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogSF.java index bde2289d2bc..8302e205e74 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/LogSF.java +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogSF.java @@ -22,16 +22,16 @@ import java.util.ResourceBundle; /** - * This class provides static methods to - * format log messages using a log4j 1.3 or SLF4J - * style formatter. + * This class provides parameterized logging services + * using the SLF4J pattern syntax. + * <p> + * Message formatting is only performed when the + * request exceeds the threshold level of the logger. + * + * @since 1.2.16 * */ -public final class LogSF { - /** - * Trace level. - */ - private static final Level TRACE = new Level(5000, "TRACE", 7); +public final class LogSF extends LogXF { /** * private constructor. * @@ -41,147 +41,6 @@ public final class LogSF { - /** - * Returns a Boolean instance representing the specified boolean. - * Boolean.valueOf was added in JDK 1.4. - * @param b a boolean value. - * @return a Boolean instance representing b. - */ - private static Boolean valueOf(final boolean b) { - if (b) { - return Boolean.TRUE; - } - return Boolean.FALSE; - } - - /** - * Returns a Character instance representing the specified char. - * Character.valueOf was added in JDK 1.5. - * @param c a character value. - * @return a Character instance representing c. - */ - private static Character valueOf(final char c) { - return new Character(c); - } - - /** - * Returns a Byte instance representing the specified byte. - * Byte.valueOf was added in JDK 1.5. - * @param b a byte value. - * @return a Byte instance representing b. - */ - private static Byte valueOf(final byte b) { - return new Byte(b); - } - - /** - * Returns a Short instance representing the specified short. - * Short.valueOf was added in JDK 1.5. - * @param b a short value. - * @return a Byte instance representing b. - */ - private static Short valueOf(final short b) { - return new Short(b); - } - - /** - * Returns an Integer instance representing the specified int. - * Integer.valueOf was added in JDK 1.5. - * @param b an int value. - * @return an Integer instance representing b. - */ - private static Integer valueOf(final int b) { - return new Integer(b); - } - - /** - * Returns a Long instance representing the specified long. - * Long.valueOf was added in JDK 1.5. - * @param b a long value. - * @return a Long instance representing b. - */ - private static Long valueOf(final long b) { - return new Long(b); - } - - /** - * Returns a Float instance representing the specified float. - * Float.valueOf was added in JDK 1.5. - * @param b a float value. - * @return a Float instance representing b. - */ - private static Float valueOf(final float b) { - return new Float(b); - } - - /** - * Returns a Double instance representing the specified double. - * Double.valueOf was added in JDK 1.5. - * @param b a double value. - * @return a Byte instance representing b. - */ - private static Double valueOf(final double b) { - return new Double(b); - } - - - - /** - * Create new array. - * @param param1 parameter 1. - * @return new array. - */ - private static Object[] toArray(final Object param1) { - return new Object[] { - param1 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2) { - return new Object[] { - param1, param2 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @param param3 parameter 3. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2, - final Object param3) { - return new Object[] { - param1, param2, param3 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @param param3 parameter 3. - * @param param4 parameter 4. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2, - final Object param3, - final Object param4) { - return new Object[] { - param1, param2, param3, param4 - }; - } - /** * Formats arguments using SLF4J-like formatter. @@ -191,22 +50,34 @@ public final class LogSF { */ private static String format(final String pattern, final Object[] arguments) { - if (arguments == null || pattern == null) { - return pattern; - } - StringBuffer buf = new StringBuffer(pattern); - int index = 0; - int pos = buf.indexOf("{"); - while (pos >= 0 && pos < buf.length() - 1 && index < arguments.length) { - if (buf.charAt(pos + 1) == '}') { - String subst = String.valueOf(arguments[index++]); - buf.replace(pos, pos + 2, subst); - pos += subst.length(); - } else { - pos = buf.indexOf("{", pos + 1); + if (pattern != null) { + String retval = ""; + int count = 0; + int prev = 0; + int pos = pattern.indexOf("{"); + while(pos >= 0) { + if (pos == 0 || pattern.charAt(pos-1) != '\\') { + retval += pattern.substring(prev, pos); + if (pos + 1 < pattern.length() && pattern.charAt(pos+1) == '}') { + if(arguments != null && count < arguments.length) { + retval += arguments[count++]; + } else { + retval += "{}"; + } + prev = pos + 2; + } else { + retval += "{"; + prev = pos + 1; + } + } else { + retval += pattern.substring(prev, pos - 1) + "{"; + prev = pos + 1; + } + pos = pattern.indexOf("{", prev); } + return retval + pattern.substring(prev); } - return buf.toString(); + return null; } /** @@ -216,7 +87,18 @@ public final class LogSF { * @return Message string */ private static String format(final String pattern, final Object arg0) { - return format(pattern, toArray(arg0)); + if (pattern != null) { + // + // if there is an escaped brace, delegate to multi-param formatter + if (pattern.indexOf("\\{") >= 0) { + return format(pattern, new Object[] { arg0 }); + } + int pos = pattern.indexOf("{}"); + if (pos >= 0) { + return pattern.substring(0, pos) + arg0 + pattern.substring(pos+2); + } + } + return pattern; } /** diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogXF.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogXF.java new file mode 100644 index 00000000000..de2b94b7e4d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/LogXF.java @@ -0,0 +1,371 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import org.apache.log4j.spi.LoggingEvent; + +/** + * This is a base class for LogMF and LogSF parameterized logging classes. + * + * + * @see org.apache.log4j.LogMF + * @see org.apache.log4j.LogSF + * @since 1.2.16 + */ +public abstract class LogXF { + /** + * Trace level. + */ + protected static final Level TRACE = new Level(5000, "TRACE", 7); + /** + * Fully Qualified Class Name of this class. + */ + private static final String FQCN = LogXF.class.getName(); + + protected LogXF() { + } + + /** + * Returns a Boolean instance representing the specified boolean. + * Boolean.valueOf was added in JDK 1.4. + * + * @param b a boolean value. + * @return a Boolean instance representing b. + */ + protected static Boolean valueOf(final boolean b) { + if (b) { + return Boolean.TRUE; + } + return Boolean.FALSE; + } + + /** + * Returns a Character instance representing the specified char. + * Character.valueOf was added in JDK 1.5. + * + * @param c a character value. + * @return a Character instance representing c. + */ + protected static Character valueOf(final char c) { + return new Character(c); + } + + /** + * Returns a Byte instance representing the specified byte. + * Byte.valueOf was added in JDK 1.5. + * + * @param b a byte value. + * @return a Byte instance representing b. + */ + protected static Byte valueOf(final byte b) { + return new Byte(b); + } + + /** + * Returns a Short instance representing the specified short. + * Short.valueOf was added in JDK 1.5. + * + * @param b a short value. + * @return a Byte instance representing b. + */ + protected static Short valueOf(final short b) { + return new Short(b); + } + + /** + * Returns an Integer instance representing the specified int. + * Integer.valueOf was added in JDK 1.5. + * + * @param b an int value. + * @return an Integer instance representing b. + */ + protected static Integer valueOf(final int b) { + return new Integer(b); + } + + /** + * Returns a Long instance representing the specified long. + * Long.valueOf was added in JDK 1.5. + * + * @param b a long value. + * @return a Long instance representing b. + */ + protected static Long valueOf(final long b) { + return new Long(b); + } + + /** + * Returns a Float instance representing the specified float. + * Float.valueOf was added in JDK 1.5. + * + * @param b a float value. + * @return a Float instance representing b. + */ + protected static Float valueOf(final float b) { + return new Float(b); + } + + /** + * Returns a Double instance representing the specified double. + * Double.valueOf was added in JDK 1.5. + * + * @param b a double value. + * @return a Byte instance representing b. + */ + protected static Double valueOf(final double b) { + return new Double(b); + } + + /** + * Create new array. + * + * @param param1 parameter 1. + * @return new array. + */ + protected static Object[] toArray(final Object param1) { + return new Object[]{ + param1 + }; + } + + /** + * Create new array. + * + * @param param1 parameter 1. + * @param param2 parameter 2. + * @return new array. + */ + protected static Object[] toArray(final Object param1, + final Object param2) { + return new Object[]{ + param1, param2 + }; + } + + /** + * Create new array. + * + * @param param1 parameter 1. + * @param param2 parameter 2. + * @param param3 parameter 3. + * @return new array. + */ + protected static Object[] toArray(final Object param1, + final Object param2, + final Object param3) { + return new Object[]{ + param1, param2, param3 + }; + } + + /** + * Create new array. + * + * @param param1 parameter 1. + * @param param2 parameter 2. + * @param param3 parameter 3. + * @param param4 parameter 4. + * @return new array. + */ + protected static Object[] toArray(final Object param1, + final Object param2, + final Object param3, + final Object param4) { + return new Object[]{ + param1, param2, param3, param4 + }; + } + + /** + * Log an entering message at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + */ + public static void entering(final Logger logger, + final String sourceClass, + final String sourceMethod) { + if (logger.isDebugEnabled()) { + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + sourceClass + "." + sourceMethod + " ENTRY", null)); + } + } + + /** + * Log an entering message with a parameter at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param param parameter, may be null. + */ + public static void entering(final Logger logger, + final String sourceClass, + final String sourceMethod, + final String param) { + if (logger.isDebugEnabled()) { + String msg = sourceClass + "." + sourceMethod + " ENTRY " + param; + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + msg, null)); + } + } + + /** + * Log an entering message with a parameter at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param param parameter, may be null. + */ + public static void entering(final Logger logger, + final String sourceClass, + final String sourceMethod, + final Object param) { + if (logger.isDebugEnabled()) { + String msg = sourceClass + "." + sourceMethod + " ENTRY "; + if (param == null) { + msg += "null"; + } else { + try { + msg += param; + } catch(Throwable ex) { + msg += "?"; + } + } + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + msg, null)); + } + } + + /** + * Log an entering message with an array of parameters at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param params parameters, may be null. + */ + public static void entering(final Logger logger, + final String sourceClass, + final String sourceMethod, + final Object[] params) { + if (logger.isDebugEnabled()) { + String msg = sourceClass + "." + sourceMethod + " ENTRY "; + if (params != null && params.length > 0) { + String delim = "{"; + for (int i = 0; i < params.length; i++) { + try { + msg += delim + params[i]; + } catch(Throwable ex) { + msg += delim + "?"; + } + delim = ","; + } + msg += "}"; + } else { + msg += "{}"; + } + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + msg, null)); + } + } + + /** + * Log an exiting message at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + */ + public static void exiting(final Logger logger, + final String sourceClass, + final String sourceMethod) { + if (logger.isDebugEnabled()) { + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + sourceClass + "." + sourceMethod + " RETURN", null)); + } + } + + /** + * Log an exiting message with result at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param result result, may be null. + */ + public static void exiting( + final Logger logger, + final String sourceClass, + final String sourceMethod, + final String result) { + if (logger.isDebugEnabled()) { + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + sourceClass + "." + sourceMethod + " RETURN " + result, null)); + } + } + + /** + * Log an exiting message with result at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param result result, may be null. + */ + public static void exiting( + final Logger logger, + final String sourceClass, + final String sourceMethod, + final Object result) { + if (logger.isDebugEnabled()) { + String msg = sourceClass + "." + sourceMethod + " RETURN "; + if (result == null) { + msg += "null"; + } else { + try { + msg += result; + } catch(Throwable ex) { + msg += "?"; + } + } + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + msg, null)); + } + } + + /** + * Logs a throwing message at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param thrown throwable, may be null. + */ + public static void throwing( + final Logger logger, + final String sourceClass, + final String sourceMethod, + final Throwable thrown) { + if (logger.isDebugEnabled()) { + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + sourceClass + "." + sourceMethod + " THROW", thrown)); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Logger.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Logger.java new file mode 100644 index 00000000000..957145f7abb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Logger.java @@ -0,0 +1,212 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.LoggerFactory; + + +/** + This is the central class in the log4j package. Most logging + operations, except configuration, are done through this class. + + @since log4j 1.2 + + @author Ceki G&uuml;lc&uuml; */ +public class Logger extends Category { + + /** + The fully qualified name of the Logger class. See also the + getFQCN method. */ + private static final String FQCN = Logger.class.getName(); + + + protected + Logger(String name) { + super(name); + } + + /** + Log a message object with the {@link Level#FINE FINE} level which + is just an alias for the {@link Level#DEBUG DEBUG} level. + + <p>This method first checks if this category is <code>DEBUG</code> + enabled by comparing the level of this category with the {@link + Level#DEBUG DEBUG} level. If this category is + <code>DEBUG</code> enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + {@link org.apache.log4j.or.ObjectRenderer}. It then proceeds to call all the + registered appenders in this category and also higher in the + hierarchy depending on the value of the additivity flag. + + <p><b>WARNING</b> Note that passing a {@link Throwable} to this + method will print the name of the <code>Throwable</code> but no + stack trace. To print a stack trace use the {@link #debug(Object, + Throwable)} form instead. + + @param message the message object to log. */ + //public + //void fine(Object message) { + // if(repository.isDisabled(Level.DEBUG_INT)) + // return; + // if(Level.DEBUG.isGreaterOrEqual(this.getChainedLevel())) { + // forcedLog(FQCN, Level.DEBUG, message, null); + // } + //} + + + /** + Log a message object with the <code>FINE</code> level including + the stack trace of the {@link Throwable} <code>t</code> passed as + parameter. + + <p>See {@link #fine(Object)} form for more detailed information. + + @param message the message object to log. + @param t the exception to log, including its stack trace. */ + //public + //void fine(Object message, Throwable t) { + // if(repository.isDisabled(Level.DEBUG_INT)) + // return; + // if(Level.DEBUG.isGreaterOrEqual(this.getChainedLevel())) + // forcedLog(FQCN, Level.FINE, message, t); + //} + + /** + * Retrieve a logger named according to the value of the + * <code>name</code> parameter. If the named logger already exists, + * then the existing instance will be returned. Otherwise, a new + * instance is created. + * + * <p>By default, loggers do not have a set level but inherit it + * from their neareast ancestor with a set level. This is one of the + * central features of log4j. + * + * @param name The name of the logger to retrieve. + */ + static + public + Logger getLogger(String name) { + return LogManager.getLogger(name); + } + + /** + * Shorthand for <code>getLogger(clazz.getName())</code>. + * + * @param clazz The name of <code>clazz</code> will be used as the + * name of the logger to retrieve. See {@link #getLogger(String)} + * for more detailed information. + */ + static + public + Logger getLogger(Class clazz) { + return LogManager.getLogger(clazz.getName()); + } + + + /** + * Return the root logger for the current logger repository. + * <p> + * The {@link #getName Logger.getName()} method for the root logger always returns + * stirng value: "root". However, calling + * <code>Logger.getLogger("root")</code> does not retrieve the root + * logger but a logger just under root named "root". + * <p> + * In other words, calling this method is the only way to retrieve the + * root logger. + */ + public + static + Logger getRootLogger() { + return LogManager.getRootLogger(); + } + + /** + Like {@link #getLogger(String)} except that the type of logger + instantiated depends on the type returned by the {@link + LoggerFactory#makeNewLoggerInstance} method of the + <code>factory</code> parameter. + + <p>This method is intended to be used by sub-classes. + + @param name The name of the logger to retrieve. + + @param factory A {@link LoggerFactory} implementation that will + actually create a new Instance. + + @since 0.8.5 */ + public + static + Logger getLogger(String name, LoggerFactory factory) { + return LogManager.getLogger(name, factory); + } + + /** + * Log a message object with the {@link org.apache.log4j.Level#TRACE TRACE} level. + * + * @param message the message object to log. + * @see #debug(Object) for an explanation of the logic applied. + * @since 1.2.12 + */ + public void trace(Object message) { + if (repository.isDisabled(Level.TRACE_INT)) { + return; + } + + if (Level.TRACE.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.TRACE, message, null); + } + } + + /** + * Log a message object with the <code>TRACE</code> level including the + * stack trace of the {@link Throwable}<code>t</code> passed as parameter. + * + * <p> + * See {@link #debug(Object)} form for more detailed information. + * </p> + * + * @param message the message object to log. + * @param t the exception to log, including its stack trace. + * @since 1.2.12 + */ + public void trace(Object message, Throwable t) { + if (repository.isDisabled(Level.TRACE_INT)) { + return; + } + + if (Level.TRACE.isGreaterOrEqual(this.getEffectiveLevel())) { + forcedLog(FQCN, Level.TRACE, message, t); + } + } + + /** + * Check whether this category is enabled for the TRACE Level. + * @since 1.2.12 + * + * @return boolean - <code>true</code> if this category is enabled for level + * TRACE, <code>false</code> otherwise. + */ + public boolean isTraceEnabled() { + if (repository.isDisabled(Level.TRACE_INT)) { + return false; + } + + return Level.TRACE.isGreaterOrEqual(this.getEffectiveLevel()); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/MDC.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/MDC.java new file mode 100644 index 00000000000..5d861afe6b4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/MDC.java @@ -0,0 +1,187 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import java.util.Hashtable; +import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.ThreadLocalMap; + +/** + The MDC class is similar to the {@link NDC} class except that it is + based on a map instead of a stack. It provides <em>mapped + diagnostic contexts</em>. A <em>Mapped Diagnostic Context</em>, or + MDC in short, is an instrument for distinguishing interleaved log + output from different sources. Log output is typically interleaved + when a server handles multiple clients near-simultaneously. + + <p><b><em>The MDC is managed on a per thread basis</em></b>. A + child thread automatically inherits a <em>copy</em> of the mapped + diagnostic context of its parent. + + <p>The MDC class requires JDK 1.2 or above. Under JDK 1.1 the MDC + will always return empty values but otherwise will not affect or + harm your application. + + @since 1.2 + + @author Ceki G&uuml;lc&uuml; */ +public class MDC { + + final static MDC mdc = new MDC(); + + static final int HT_SIZE = 7; + + boolean java1; + + Object tlm; + + private + MDC() { + java1 = Loader.isJava1(); + if(!java1) { + tlm = new ThreadLocalMap(); + } + } + + /** + Put a context value (the <code>o</code> parameter) as identified + with the <code>key</code> parameter into the current thread's + context map. + + <p>If the current thread does not have a context map it is + created as a side effect. + + */ + static + public + void put(String key, Object o) { + if (mdc != null) { + mdc.put0(key, o); + } + } + + /** + Get the context identified by the <code>key</code> parameter. + + <p>This method has no side effects. + */ + static + public + Object get(String key) { + if (mdc != null) { + return mdc.get0(key); + } + return null; + } + + /** + Remove the the context identified by the <code>key</code> + parameter. + + */ + static + public + void remove(String key) { + if (mdc != null) { + mdc.remove0(key); + } + } + + + /** + * Get the current thread's MDC as a hashtable. This method is + * intended to be used internally. + * */ + public static Hashtable getContext() { + if (mdc != null) { + return mdc.getContext0(); + } else { + return null; + } + } + + /** + * Remove all values from the MDC. + * @since 1.2.16 + */ + public static void clear() { + if (mdc != null) { + mdc.clear0(); + } + } + + + private + void put0(String key, Object o) { + if(java1 || tlm == null) { + return; + } else { + Hashtable ht = (Hashtable) ((ThreadLocalMap)tlm).get(); + if(ht == null) { + ht = new Hashtable(HT_SIZE); + ((ThreadLocalMap)tlm).set(ht); + } + ht.put(key, o); + } + } + + private + Object get0(String key) { + if(java1 || tlm == null) { + return null; + } else { + Hashtable ht = (Hashtable) ((ThreadLocalMap)tlm).get(); + if(ht != null && key != null) { + return ht.get(key); + } else { + return null; + } + } + } + + private + void remove0(String key) { + if(!java1 && tlm != null) { + Hashtable ht = (Hashtable) ((ThreadLocalMap)tlm).get(); + if(ht != null) { + ht.remove(key); + } + } + } + + + private + Hashtable getContext0() { + if(java1 || tlm == null) { + return null; + } else { + return (Hashtable) ((ThreadLocalMap)tlm).get(); + } + } + + private + void clear0() { + if(!java1 && tlm != null) { + Hashtable ht = (Hashtable) ((ThreadLocalMap)tlm).get(); + if(ht != null) { + ht.clear(); + } + } + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/NDC.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/NDC.java new file mode 100644 index 00000000000..d374225473f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/NDC.java @@ -0,0 +1,436 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contributors: Dan Milstein +// Ray Millard + +package org.apache.log4j; + +import java.util.Hashtable; +import java.util.Stack; +import java.util.Enumeration; +import java.util.Vector; + +import org.apache.log4j.helpers.LogLog; + +/** + The NDC class implements <i>nested diagnostic contexts</i> as + defined by Neil Harrison in the article "Patterns for Logging + Diagnostic Messages" part of the book "<i>Pattern Languages of + Program Design 3</i>" edited by Martin et al. + + <p>A Nested Diagnostic Context, or NDC in short, is an instrument + to distinguish interleaved log output from different sources. Log + output is typically interleaved when a server handles multiple + clients near-simultaneously. + + <p>Interleaved log output can still be meaningful if each log entry + from different contexts had a distinctive stamp. This is where NDCs + come into play. + + <p><em><b>Note that NDCs are managed on a per thread + basis</b></em>. NDC operations such as {@link #push push}, {@link + #pop}, {@link #clear}, {@link #getDepth} and {@link #setMaxDepth} + affect the NDC of the <em>current</em> thread only. NDCs of other + threads remain unaffected. + + <p>For example, a servlet can build a per client request NDC + consisting the clients host name and other information contained in + the the request. <em>Cookies</em> are another source of distinctive + information. To build an NDC one uses the {@link #push push} + operation. Simply put, + + <p><ul> + <li>Contexts can be nested. + + <p><li>When entering a context, call <code>NDC.push</code>. As a + side effect, if there is no nested diagnostic context for the + current thread, this method will create it. + + <p><li>When leaving a context, call <code>NDC.pop</code>. + + <p><li><b>When exiting a thread make sure to call {@link #remove + NDC.remove()}</b>. + </ul> + + <p>There is no penalty for forgetting to match each + <code>push</code> operation with a corresponding <code>pop</code>, + except the obvious mismatch between the real application context + and the context set in the NDC. + + <p>If configured to do so, {@link PatternLayout} and {@link + TTCCLayout} instances automatically retrieve the nested diagnostic + context for the current thread without any user intervention. + Hence, even if a servlet is serving multiple clients + simultaneously, the logs emanating from the same code (belonging to + the same category) can still be distinguished because each client + request will have a different NDC tag. + + <p>Heavy duty systems should call the {@link #remove} method when + leaving the run method of a thread. This ensures that the memory + used by the thread can be freed by the Java garbage + collector. There is a mechanism to lazily remove references to dead + threads. In practice, this means that you can be a little sloppy + and sometimes forget to call {@link #remove} before exiting a + thread. + + <p>A thread may inherit the nested diagnostic context of another + (possibly parent) thread using the {@link #inherit inherit} + method. A thread may obtain a copy of its NDC with the {@link + #cloneStack cloneStack} method and pass the reference to any other + thread, in particular to a child. + + @author Ceki G&uuml;lc&uuml; + @since 0.7.0 + +*/ + +public class NDC { + + // The synchronized keyword is not used in this class. This may seem + // dangerous, especially since the class will be used by + // multiple-threads. In particular, all threads share the same + // hashtable (the "ht" variable). This is OK since java hashtables + // are thread safe. Same goes for Stacks. + + // More importantly, when inheriting diagnostic contexts the child + // thread is handed a clone of the parent's NDC. It follows that + // each thread has its own NDC (i.e. stack). + + static Hashtable ht = new Hashtable(); + + static int pushCounter = 0; // the number of times push has been called + // after the latest call to lazyRemove + + // The number of times we allow push to be called before we call lazyRemove + // 5 is a relatively small number. As such, lazyRemove is not called too + // frequently. We thus avoid the cost of creating an Enumeration too often. + // The higher this number, the longer is the avarage period for which all + // logging calls in all threads are blocked. + static final int REAP_THRESHOLD = 5; + + // No instances allowed. + private NDC() {} + + /** + * Get NDC stack for current thread. + * @return NDC stack for current thread. + */ + private static Stack getCurrentStack() { + if (ht != null) { + return (Stack) ht.get(Thread.currentThread()); + } + return null; + } + + + /** + Clear any nested diagnostic information if any. This method is + useful in cases where the same thread can be potentially used + over and over in different unrelated contexts. + + <p>This method is equivalent to calling the {@link #setMaxDepth} + method with a zero <code>maxDepth</code> argument. + + @since 0.8.4c */ + public + static + void clear() { + Stack stack = getCurrentStack(); + if(stack != null) + stack.setSize(0); + } + + + /** + Clone the diagnostic context for the current thread. + + <p>Internally a diagnostic context is represented as a stack. A + given thread can supply the stack (i.e. diagnostic context) to a + child thread so that the child can inherit the parent thread's + diagnostic context. + + <p>The child thread uses the {@link #inherit inherit} method to + inherit the parent's diagnostic context. + + @return Stack A clone of the current thread's diagnostic context. + + */ + public + static + Stack cloneStack() { + Stack stack = getCurrentStack(); + if(stack == null) + return null; + else { + return (Stack) stack.clone(); + } + } + + + /** + Inherit the diagnostic context of another thread. + + <p>The parent thread can obtain a reference to its diagnostic + context using the {@link #cloneStack} method. It should + communicate this information to its child so that it may inherit + the parent's diagnostic context. + + <p>The parent's diagnostic context is cloned before being + inherited. In other words, once inherited, the two diagnostic + contexts can be managed independently. + + <p>In java, a child thread cannot obtain a reference to its + parent, unless it is directly handed the reference. Consequently, + there is no client-transparent way of inheriting diagnostic + contexts. Do you know any solution to this problem? + + @param stack The diagnostic context of the parent thread. + + */ + public + static + void inherit(Stack stack) { + if(stack != null) + ht.put(Thread.currentThread(), stack); + } + + + /** + <font color="#FF4040"><b>Never use this method directly, use the {@link + org.apache.log4j.spi.LoggingEvent#getNDC} method instead</b></font>. + */ + static + public + String get() { + Stack s = getCurrentStack(); + if(s != null && !s.isEmpty()) + return ((DiagnosticContext) s.peek()).fullMessage; + else + return null; + } + + /** + * Get the current nesting depth of this diagnostic context. + * + * @see #setMaxDepth + * @since 0.7.5 + */ + public + static + int getDepth() { + Stack stack = getCurrentStack(); + if(stack == null) + return 0; + else + return stack.size(); + } + + private + static + void lazyRemove() { + if (ht == null) return; + + // The synchronization on ht is necessary to prevent JDK 1.2.x from + // throwing ConcurrentModificationExceptions at us. This sucks BIG-TIME. + // One solution is to write our own hashtable implementation. + Vector v; + + synchronized(ht) { + // Avoid calling clean-up too often. + if(++pushCounter <= REAP_THRESHOLD) { + return; // We release the lock ASAP. + } else { + pushCounter = 0; // OK let's do some work. + } + + int misses = 0; + v = new Vector(); + Enumeration enumeration = ht.keys(); + // We give up after 4 straigt missses. That is 4 consecutive + // inspected threads in 'ht' that turn out to be alive. + // The higher the proportion on dead threads in ht, the higher the + // chances of removal. + while(enumeration.hasMoreElements() && (misses <= 4)) { + Thread t = (Thread) enumeration.nextElement(); + if(t.isAlive()) { + misses++; + } else { + misses = 0; + v.addElement(t); + } + } + } // synchronized + + int size = v.size(); + for(int i = 0; i < size; i++) { + Thread t = (Thread) v.elementAt(i); + LogLog.debug("Lazy NDC removal for thread [" + t.getName() + "] ("+ + ht.size() + ")."); + ht.remove(t); + } + } + + /** + Clients should call this method before leaving a diagnostic + context. + + <p>The returned value is the value that was pushed last. If no + context is available, then the empty string "" is returned. + + @return String The innermost diagnostic context. + + */ + public + static + String pop() { + Stack stack = getCurrentStack(); + if(stack != null && !stack.isEmpty()) + return ((DiagnosticContext) stack.pop()).message; + else + return ""; + } + + /** + Looks at the last diagnostic context at the top of this NDC + without removing it. + + <p>The returned value is the value that was pushed last. If no + context is available, then the empty string "" is returned. + + @return String The innermost diagnostic context. + + */ + public + static + String peek() { + Stack stack = getCurrentStack(); + if(stack != null && !stack.isEmpty()) + return ((DiagnosticContext) stack.peek()).message; + else + return ""; + } + + /** + Push new diagnostic context information for the current thread. + + <p>The contents of the <code>message</code> parameter is + determined solely by the client. + + @param message The new diagnostic context information. */ + public + static + void push(String message) { + Stack stack = getCurrentStack(); + + if(stack == null) { + DiagnosticContext dc = new DiagnosticContext(message, null); + stack = new Stack(); + Thread key = Thread.currentThread(); + ht.put(key, stack); + stack.push(dc); + } else if (stack.isEmpty()) { + DiagnosticContext dc = new DiagnosticContext(message, null); + stack.push(dc); + } else { + DiagnosticContext parent = (DiagnosticContext) stack.peek(); + stack.push(new DiagnosticContext(message, parent)); + } + } + + /** + Remove the diagnostic context for this thread. + + <p>Each thread that created a diagnostic context by calling + {@link #push} should call this method before exiting. Otherwise, + the memory used by the <b>thread</b> cannot be reclaimed by the + VM. + + <p>As this is such an important problem in heavy duty systems and + because it is difficult to always guarantee that the remove + method is called before exiting a thread, this method has been + augmented to lazily remove references to dead threads. In + practice, this means that you can be a little sloppy and + occasionally forget to call {@link #remove} before exiting a + thread. However, you must call <code>remove</code> sometime. If + you never call it, then your application is sure to run out of + memory. + + */ + static + public + void remove() { + if (ht != null) { + ht.remove(Thread.currentThread()); + + // Lazily remove dead-thread references in ht. + lazyRemove(); + } + } + + /** + Set maximum depth of this diagnostic context. If the current + depth is smaller or equal to <code>maxDepth</code>, then no + action is taken. + + <p>This method is a convenient alternative to multiple {@link + #pop} calls. Moreover, it is often the case that at the end of + complex call sequences, the depth of the NDC is + unpredictable. The <code>setMaxDepth</code> method circumvents + this problem. + + <p>For example, the combination + <pre> + void foo() { + &nbsp; int depth = NDC.getDepth(); + + &nbsp; ... complex sequence of calls + + &nbsp; NDC.setMaxDepth(depth); + } + </pre> + + ensures that between the entry and exit of foo the depth of the + diagnostic stack is conserved. + + @see #getDepth + @since 0.7.5 */ + static + public + void setMaxDepth(int maxDepth) { + Stack stack = getCurrentStack(); + if(stack != null && maxDepth < stack.size()) + stack.setSize(maxDepth); + } + + // ===================================================================== + private static class DiagnosticContext { + + String fullMessage; + String message; + + DiagnosticContext(String message, DiagnosticContext parent) { + this.message = message; + if(parent != null) { + fullMessage = parent.fullMessage + ' ' + message; + } else { + fullMessage = message; + } + } + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/PatternLayout.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/PatternLayout.java new file mode 100644 index 00000000000..d668a75581d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/PatternLayout.java @@ -0,0 +1,511 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.helpers.PatternParser; +import org.apache.log4j.helpers.PatternConverter; + + +// Contributors: Nelson Minar <nelson@monkey.org> +// Anders Kristensen <akristensen@dynamicsoft.com> + +/** + + A flexible layout configurable with pattern string. + + This code is known to have synchronization and other issues + which are not present in org.apache.log4j.EnhancedPatternLayout. + EnhancedPatternLayout should be used in preference to PatternLayout. + EnhancedPatternLayout is distributed in the log4j extras companion. + + <p>The goal of this class is to {@link #format format} a {@link + LoggingEvent} and return the results as a String. The results + depend on the <em>conversion pattern</em>. + + <p>The conversion pattern is closely related to the conversion + pattern of the printf function in C. A conversion pattern is + composed of literal text and format control expressions called + <em>conversion specifiers</em>. + + <p><i>You are free to insert any literal text within the conversion + pattern.</i> + + <p>Each conversion specifier starts with a percent sign (%) and is + followed by optional <em>format modifiers</em> and a <em>conversion + character</em>. The conversion character specifies the type of + data, e.g. category, priority, date, thread name. The format + modifiers control such things as field width, padding, left and + right justification. The following is a simple example. + + <p>Let the conversion pattern be <b>"%-5p [%t]: %m%n"</b> and assume + that the log4j environment was set to use a PatternLayout. Then the + statements + <pre> + Category root = Category.getRoot(); + root.debug("Message 1"); + root.warn("Message 2"); + </pre> + would yield the output + <pre> + DEBUG [main]: Message 1 + WARN [main]: Message 2 + </pre> + + <p>Note that there is no explicit separator between text and + conversion specifiers. The pattern parser knows when it has reached + the end of a conversion specifier when it reads a conversion + character. In the example above the conversion specifier + <b>%-5p</b> means the priority of the logging event should be left + justified to a width of five characters. + + The recognized conversion characters are + + <p> + <table border="1" CELLPADDING="8"> + <th>Conversion Character</th> + <th>Effect</th> + + <tr> + <td align=center><b>c</b></td> + + <td>Used to output the category of the logging event. The + category conversion specifier can be optionally followed by + <em>precision specifier</em>, that is a decimal constant in + brackets. + + <p>If a precision specifier is given, then only the corresponding + number of right most components of the category name will be + printed. By default the category name is printed in full. + + <p>For example, for the category name "a.b.c" the pattern + <b>%c{2}</b> will output "b.c". + + </td> + </tr> + + <tr> + <td align=center><b>C</b></td> + + <td>Used to output the fully qualified class name of the caller + issuing the logging request. This conversion specifier + can be optionally followed by <em>precision specifier</em>, that + is a decimal constant in brackets. + + <p>If a precision specifier is given, then only the corresponding + number of right most components of the class name will be + printed. By default the class name is output in fully qualified form. + + <p>For example, for the class name "org.apache.xyz.SomeClass", the + pattern <b>%C{1}</b> will output "SomeClass". + + <p><b>WARNING</b> Generating the caller class information is + slow. Thus, use should be avoided unless execution speed is + not an issue. + + </td> + </tr> + + <tr> <td align=center><b>d</b></td> <td>Used to output the date of + the logging event. The date conversion specifier may be + followed by a <em>date format specifier</em> enclosed between + braces. For example, <b>%d{HH:mm:ss,SSS}</b> or + <b>%d{dd&nbsp;MMM&nbsp;yyyy&nbsp;HH:mm:ss,SSS}</b>. If no + date format specifier is given then ISO8601 format is + assumed. + + <p>The date format specifier admits the same syntax as the + time pattern string of the {@link + java.text.SimpleDateFormat}. Although part of the standard + JDK, the performance of <code>SimpleDateFormat</code> is + quite poor. + + <p>For better results it is recommended to use the log4j date + formatters. These can be specified using one of the strings + "ABSOLUTE", "DATE" and "ISO8601" for specifying {@link + org.apache.log4j.helpers.AbsoluteTimeDateFormat + AbsoluteTimeDateFormat}, {@link + org.apache.log4j.helpers.DateTimeDateFormat DateTimeDateFormat} + and respectively {@link + org.apache.log4j.helpers.ISO8601DateFormat + ISO8601DateFormat}. For example, <b>%d{ISO8601}</b> or + <b>%d{ABSOLUTE}</b>. + + <p>These dedicated date formatters perform significantly + better than {@link java.text.SimpleDateFormat}. + </td> + </tr> + + <tr> + <td align=center><b>F</b></td> + + <td>Used to output the file name where the logging request was + issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + <tr> + <td align=center><b>l</b></td> + + <td>Used to output location information of the caller which generated + the logging event. + + <p>The location information depends on the JVM implementation but + usually consists of the fully qualified name of the calling + method followed by the callers source the file name and line + number between parentheses. + + <p>The location information can be very useful. However, its + generation is <em>extremely</em> slow and should be avoided + unless execution speed is not an issue. + + </td> + </tr> + + <tr> + <td align=center><b>L</b></td> + + <td>Used to output the line number from where the logging request + was issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + + <tr> + <td align=center><b>m</b></td> + <td>Used to output the application supplied message associated with + the logging event.</td> + </tr> + + <tr> + <td align=center><b>M</b></td> + + <td>Used to output the method name where the logging request was + issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + <tr> + <td align=center><b>n</b></td> + + <td>Outputs the platform dependent line separator character or + characters. + + <p>This conversion character offers practically the same + performance as using non-portable line separator strings such as + "\n", or "\r\n". Thus, it is the preferred way of specifying a + line separator. + + + </tr> + + <tr> + <td align=center><b>p</b></td> + <td>Used to output the priority of the logging event.</td> + </tr> + + <tr> + + <td align=center><b>r</b></td> + + <td>Used to output the number of milliseconds elapsed from the construction + of the layout until the creation of the logging event.</td> + </tr> + + + <tr> + <td align=center><b>t</b></td> + + <td>Used to output the name of the thread that generated the + logging event.</td> + + </tr> + + <tr> + + <td align=center><b>x</b></td> + + <td>Used to output the NDC (nested diagnostic context) associated + with the thread that generated the logging event. + </td> + </tr> + + + <tr> + <td align=center><b>X</b></td> + + <td> + + <p>Used to output the MDC (mapped diagnostic context) associated + with the thread that generated the logging event. The <b>X</b> + conversion character <em>must</em> be followed by the key for the + map placed between braces, as in <b>%X{clientNumber}</b> where + <code>clientNumber</code> is the key. The value in the MDC + corresponding to the key will be output.</p> + + <p>See {@link MDC} class for more details. + </p> + + </td> + </tr> + + <tr> + + <td align=center><b>%</b></td> + + <td>The sequence %% outputs a single percent sign. + </td> + </tr> + + </table> + + <p>By default the relevant information is output as is. However, + with the aid of format modifiers it is possible to change the + minimum field width, the maximum field width and justification. + + <p>The optional format modifier is placed between the percent sign + and the conversion character. + + <p>The first optional format modifier is the <em>left justification + flag</em> which is just the minus (-) character. Then comes the + optional <em>minimum field width</em> modifier. This is a decimal + constant that represents the minimum number of characters to + output. If the data item requires fewer characters, it is padded on + either the left or the right until the minimum width is + reached. The default is to pad on the left (right justify) but you + can specify right padding with the left justification flag. The + padding character is space. If the data item is larger than the + minimum field width, the field is expanded to accommodate the + data. The value is never truncated. + + <p>This behavior can be changed using the <em>maximum field + width</em> modifier which is designated by a period followed by a + decimal constant. If the data item is longer than the maximum + field, then the extra characters are removed from the + <em>beginning</em> of the data item and not from the end. For + example, it the maximum field width is eight and the data item is + ten characters long, then the first two characters of the data item + are dropped. This behavior deviates from the printf function in C + where truncation is done from the end. + + <p>Below are various format modifier examples for the category + conversion specifier. + + <p> + <TABLE BORDER=1 CELLPADDING=8> + <th>Format modifier + <th>left justify + <th>minimum width + <th>maximum width + <th>comment + + <tr> + <td align=center>%20c</td> + <td align=center>false</td> + <td align=center>20</td> + <td align=center>none</td> + + <td>Left pad with spaces if the category name is less than 20 + characters long. + + <tr> <td align=center>%-20c</td> <td align=center>true</td> <td + align=center>20</td> <td align=center>none</td> <td>Right pad with + spaces if the category name is less than 20 characters long. + + <tr> + <td align=center>%.30c</td> + <td align=center>NA</td> + <td align=center>none</td> + <td align=center>30</td> + + <td>Truncate from the beginning if the category name is longer than 30 + characters. + + <tr> + <td align=center>%20.30c</td> + <td align=center>false</td> + <td align=center>20</td> + <td align=center>30</td> + + <td>Left pad with spaces if the category name is shorter than 20 + characters. However, if category name is longer than 30 characters, + then truncate from the beginning. + + <tr> + <td align=center>%-20.30c</td> + <td align=center>true</td> + <td align=center>20</td> + <td align=center>30</td> + + <td>Right pad with spaces if the category name is shorter than 20 + characters. However, if category name is longer than 30 characters, + then truncate from the beginning. + + </table> + + <p>Below are some examples of conversion patterns. + + <dl> + + <p><dt><b>%r [%t] %-5p %c %x - %m%n</b> + <p><dd>This is essentially the TTCC layout. + + <p><dt><b>%-6r [%15.15t] %-5p %30.30c %x - %m%n</b> + + <p><dd>Similar to the TTCC layout except that the relative time is + right padded if less than 6 digits, thread name is right padded if + less than 15 characters and truncated if longer and the category + name is left padded if shorter than 30 characters and truncated if + longer. + + </dl> + + <p>The above text is largely inspired from Peter A. Darnell and + Philip E. Margolis' highly recommended book "C -- a Software + Engineering Approach", ISBN 0-387-97389-3. + + @author <a href="mailto:cakalijp@Maritz.com">James P. Cakalic</a> + @author Ceki G&uuml;lc&uuml; + + + @since 0.8.2 */ +public class PatternLayout extends Layout { + + + /** Default pattern string for log output. Currently set to the + string <b>"%m%n"</b> which just prints the application supplied + message. */ + public final static String DEFAULT_CONVERSION_PATTERN ="%m%n"; + + /** A conversion pattern equivalent to the TTCCCLayout. + Current value is <b>%r [%t] %p %c %x - %m%n</b>. */ + public final static String TTCC_CONVERSION_PATTERN + = "%r [%t] %p %c %x - %m%n"; + + + protected final int BUF_SIZE = 256; + protected final int MAX_CAPACITY = 1024; + + + // output buffer appended to when format() is invoked + private StringBuffer sbuf = new StringBuffer(BUF_SIZE); + + private String pattern; + + private PatternConverter head; + + /** + Constructs a PatternLayout using the DEFAULT_LAYOUT_PATTERN. + + The default pattern just produces the application supplied message. + */ + public PatternLayout() { + this(DEFAULT_CONVERSION_PATTERN); + } + + /** + Constructs a PatternLayout using the supplied conversion pattern. + */ + public PatternLayout(String pattern) { + this.pattern = pattern; + head = createPatternParser((pattern == null) ? DEFAULT_CONVERSION_PATTERN : + pattern).parse(); + } + + /** + Set the <b>ConversionPattern</b> option. This is the string which + controls formatting and consists of a mix of literal content and + conversion specifiers. + */ + public + void setConversionPattern(String conversionPattern) { + pattern = conversionPattern; + head = createPatternParser(conversionPattern).parse(); + } + + /** + Returns the value of the <b>ConversionPattern</b> option. + */ + public + String getConversionPattern() { + return pattern; + } + + /** + Does not do anything as options become effective + */ + public + void activateOptions() { + // nothing to do. + } + + /** + The PatternLayout does not handle the throwable contained within + {@link LoggingEvent LoggingEvents}. Thus, it returns + <code>true</code>. + + @since 0.8.4 */ + public + boolean ignoresThrowable() { + return true; + } + + /** + Returns PatternParser used to parse the conversion string. Subclasses + may override this to return a subclass of PatternParser which recognize + custom conversion characters. + + @since 0.9.0 + */ + protected PatternParser createPatternParser(String pattern) { + return new PatternParser(pattern); + } + + + /** + Produces a formatted string as specified by the conversion pattern. + */ + public String format(LoggingEvent event) { + // Reset working stringbuffer + if(sbuf.capacity() > MAX_CAPACITY) { + sbuf = new StringBuffer(BUF_SIZE); + } else { + sbuf.setLength(0); + } + + PatternConverter c = head; + + while(c != null) { + c.format(sbuf, event); + c = c.next; + } + return sbuf.toString(); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Priority.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Priority.java new file mode 100644 index 00000000000..53e94b4d4e1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/Priority.java @@ -0,0 +1,193 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contributors: Kitching Simon <Simon.Kitching@orange.ch> + +package org.apache.log4j; + +/** + <font color="#AA4444">Refrain from using this class directly, use + the {@link Level} class instead</font>. + + @author Ceki G&uuml;lc&uuml; */ +public class Priority { + + transient int level; + transient String levelStr; + transient int syslogEquivalent; + + public final static int OFF_INT = Integer.MAX_VALUE; + public final static int FATAL_INT = 50000; + public final static int ERROR_INT = 40000; + public final static int WARN_INT = 30000; + public final static int INFO_INT = 20000; + public final static int DEBUG_INT = 10000; + //public final static int FINE_INT = DEBUG_INT; + public final static int ALL_INT = Integer.MIN_VALUE; + + /** + * @deprecated Use {@link Level#FATAL} instead. + */ + final static public Priority FATAL = new Level(FATAL_INT, "FATAL", 0); + + /** + * @deprecated Use {@link Level#ERROR} instead. + */ + final static public Priority ERROR = new Level(ERROR_INT, "ERROR", 3); + + /** + * @deprecated Use {@link Level#WARN} instead. + */ + final static public Priority WARN = new Level(WARN_INT, "WARN", 4); + + /** + * @deprecated Use {@link Level#INFO} instead. + */ + final static public Priority INFO = new Level(INFO_INT, "INFO", 6); + + /** + * @deprecated Use {@link Level#DEBUG} instead. + */ + final static public Priority DEBUG = new Level(DEBUG_INT, "DEBUG", 7); + + + /** + * Default constructor for deserialization. + */ + protected Priority() { + level = DEBUG_INT; + levelStr = "DEBUG"; + syslogEquivalent = 7; + } + + /** + Instantiate a level object. + */ + protected + Priority(int level, String levelStr, int syslogEquivalent) { + this.level = level; + this.levelStr = levelStr; + this.syslogEquivalent = syslogEquivalent; + } + + /** + Two priorities are equal if their level fields are equal. + @since 1.2 + */ + public + boolean equals(Object o) { + if(o instanceof Priority) { + Priority r = (Priority) o; + return (this.level == r.level); + } else { + return false; + } + } + + /** + Return the syslog equivalent of this priority as an integer. + */ + public + final + int getSyslogEquivalent() { + return syslogEquivalent; + } + + + + /** + Returns <code>true</code> if this level has a higher or equal + level than the level passed as argument, <code>false</code> + otherwise. + + <p>You should think twice before overriding the default + implementation of <code>isGreaterOrEqual</code> method. + + */ + public + boolean isGreaterOrEqual(Priority r) { + return level >= r.level; + } + + /** + Return all possible priorities as an array of Level objects in + descending order. + + @deprecated This method will be removed with no replacement. + */ + public + static + Priority[] getAllPossiblePriorities() { + return new Priority[] {Priority.FATAL, Priority.ERROR, Level.WARN, + Priority.INFO, Priority.DEBUG}; + } + + + /** + Returns the string representation of this priority. + */ + final + public + String toString() { + return levelStr; + } + + /** + Returns the integer representation of this level. + */ + public + final + int toInt() { + return level; + } + + /** + * @deprecated Please use the {@link Level#toLevel(String)} method instead. + */ + public + static + Priority toPriority(String sArg) { + return Level.toLevel(sArg); + } + + /** + * @deprecated Please use the {@link Level#toLevel(int)} method instead. + */ + public + static + Priority toPriority(int val) { + return toPriority(val, Priority.DEBUG); + } + + /** + * @deprecated Please use the {@link Level#toLevel(int, Level)} method instead. + */ + public + static + Priority toPriority(int val, Priority defaultPriority) { + return Level.toLevel(val, (Level) defaultPriority); + } + + /** + * @deprecated Please use the {@link Level#toLevel(String, Level)} method instead. + */ + public + static + Priority toPriority(String sArg, Priority defaultPriority) { + return Level.toLevel(sArg, (Level) defaultPriority); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/PropertyConfigurator.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/PropertyConfigurator.java new file mode 100644 index 00000000000..56723441fd3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/PropertyConfigurator.java @@ -0,0 +1,963 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +// Contibutors: "Luke Blanshard" <Luke@quiq.com> +// "Mark DONSZELMANN" <Mark.Donszelmann@cern.ch> +// Anders Kristensen <akristensen@dynamicsoft.com> + +package org.apache.log4j; + +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InterruptedIOException; +import java.net.URLConnection; +import java.util.Enumeration; +import java.util.Hashtable; +import java.util.Properties; +import java.util.StringTokenizer; +import java.util.Vector; +import java.util.Iterator; +import java.util.Map; + +import org.apache.log4j.config.PropertySetter; +import org.apache.log4j.helpers.FileWatchdog; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.or.RendererMap; +import org.apache.log4j.spi.Configurator; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggerFactory; +import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.spi.OptionHandler; +import org.apache.log4j.spi.RendererSupport; +import org.apache.log4j.spi.ThrowableRenderer; +import org.apache.log4j.spi.ThrowableRendererSupport; +import org.apache.log4j.spi.ErrorHandler; + +/** + Allows the configuration of log4j from an external file. See + <b>{@link #doConfigure(String, LoggerRepository)}</b> for the + expected format. + + <p>It is sometimes useful to see how log4j is reading configuration + files. You can enable log4j internal logging by defining the + <b>log4j.debug</b> variable. + + <P>As of log4j version 0.8.5, at class initialization time class, + the file <b>log4j.properties</b> will be searched from the search + path used to load classes. If the file can be found, then it will + be fed to the {@link PropertyConfigurator#configure(java.net.URL)} + method. + + <p>The <code>PropertyConfigurator</code> does not handle the + advanced configuration features supported by the {@link + org.apache.log4j.xml.DOMConfigurator DOMConfigurator} such as + support custom {@link org.apache.log4j.spi.ErrorHandler ErrorHandlers}, + nested appenders such as the {@link org.apache.log4j.AsyncAppender + AsyncAppender}, etc. + + <p>All option <em>values</em> admit variable substitution. The + syntax of variable substitution is similar to that of Unix + shells. The string between an opening <b>&quot;${&quot;</b> and + closing <b>&quot;}&quot;</b> is interpreted as a key. The value of + the substituted variable can be defined as a system property or in + the configuration file itself. The value of the key is first + searched in the system properties, and if not found there, it is + then searched in the configuration file being parsed. The + corresponding value replaces the ${variableName} sequence. For + example, if <code>java.home</code> system property is set to + <code>/home/xyz</code>, then every occurrence of the sequence + <code>${java.home}</code> will be interpreted as + <code>/home/xyz</code>. + + + @author Ceki G&uuml;lc&uuml; + @author Anders Kristensen + @since 0.8.1 */ +public class PropertyConfigurator implements Configurator { + + /** + Used internally to keep track of configured appenders. + */ + protected Hashtable registry = new Hashtable(11); + private LoggerRepository repository; + protected LoggerFactory loggerFactory = new DefaultCategoryFactory(); + + static final String CATEGORY_PREFIX = "log4j.category."; + static final String LOGGER_PREFIX = "log4j.logger."; + static final String FACTORY_PREFIX = "log4j.factory"; + static final String ADDITIVITY_PREFIX = "log4j.additivity."; + static final String ROOT_CATEGORY_PREFIX = "log4j.rootCategory"; + static final String ROOT_LOGGER_PREFIX = "log4j.rootLogger"; + static final String APPENDER_PREFIX = "log4j.appender."; + static final String RENDERER_PREFIX = "log4j.renderer."; + static final String THRESHOLD_PREFIX = "log4j.threshold"; + private static final String THROWABLE_RENDERER_PREFIX = "log4j.throwableRenderer"; + private static final String LOGGER_REF = "logger-ref"; + private static final String ROOT_REF = "root-ref"; + private static final String APPENDER_REF_TAG = "appender-ref"; + + + /** Key for specifying the {@link org.apache.log4j.spi.LoggerFactory + LoggerFactory}. Currently set to "<code>log4j.loggerFactory</code>". */ + public static final String LOGGER_FACTORY_KEY = "log4j.loggerFactory"; + + /** + * If property set to true, then hierarchy will be reset before configuration. + */ + private static final String RESET_KEY = "log4j.reset"; + + static final private String INTERNAL_ROOT_NAME = "root"; + + /** + Read configuration from a file. <b>The existing configuration is + not cleared nor reset.</b> If you require a different behavior, + then call {@link LogManager#resetConfiguration + resetConfiguration} method before calling + <code>doConfigure</code>. + + <p>The configuration file consists of statements in the format + <code>key=value</code>. The syntax of different configuration + elements are discussed below. + + <h3>Repository-wide threshold</h3> + + <p>The repository-wide threshold filters logging requests by level + regardless of logger. The syntax is: + + <pre> + log4j.threshold=[level] + </pre> + + <p>The level value can consist of the string values OFF, FATAL, + ERROR, WARN, INFO, DEBUG, ALL or a <em>custom level</em> value. A + custom level value can be specified in the form + level#classname. By default the repository-wide threshold is set + to the lowest possible value, namely the level <code>ALL</code>. + </p> + + + <h3>Appender configuration</h3> + + <p>Appender configuration syntax is: + <pre> + # For appender named <i>appenderName</i>, set its class. + # Note: The appender name can contain dots. + log4j.appender.appenderName=fully.qualified.name.of.appender.class + + # Set appender specific options. + log4j.appender.appenderName.option1=value1 + ... + log4j.appender.appenderName.optionN=valueN + </pre> + + For each named appender you can configure its {@link Layout}. The + syntax for configuring an appender's layout is: + <pre> + log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class + log4j.appender.appenderName.layout.option1=value1 + .... + log4j.appender.appenderName.layout.optionN=valueN + </pre> + + The syntax for adding {@link Filter}s to an appender is: + <pre> + log4j.appender.appenderName.filter.ID=fully.qualified.name.of.filter.class + log4j.appender.appenderName.filter.ID.option1=value1 + ... + log4j.appender.appenderName.filter.ID.optionN=valueN + </pre> + The first line defines the class name of the filter identified by ID; + subsequent lines with the same ID specify filter option - value + paris. Multiple filters are added to the appender in the lexicographic + order of IDs. + + The syntax for adding an {@link ErrorHandler} to an appender is: + <pre> + log4j.appender.appenderName.errorhandler=fully.qualified.name.of.filter.class + log4j.appender.appenderName.errorhandler.root-ref={true|false} + log4j.appender.appenderName.errorhandler.logger-ref=loggerName + log4j.appender.appenderName.errorhandler.appender-ref=appenderName + log4j.appender.appenderName.errorhandler.option1=value1 + ... + log4j.appender.appenderName.errorhandler.optionN=valueN + </pre> + + <h3>Configuring loggers</h3> + + <p>The syntax for configuring the root logger is: + <pre> + log4j.rootLogger=[level], appenderName, appenderName, ... + </pre> + + <p>This syntax means that an optional <em>level</em> can be + supplied followed by appender names separated by commas. + + <p>The level value can consist of the string values OFF, FATAL, + ERROR, WARN, INFO, DEBUG, ALL or a <em>custom level</em> value. A + custom level value can be specified in the form + <code>level#classname</code>. + + <p>If a level value is specified, then the root level is set + to the corresponding level. If no level value is specified, + then the root level remains untouched. + + <p>The root logger can be assigned multiple appenders. + + <p>Each <i>appenderName</i> (separated by commas) will be added to + the root logger. The named appender is defined using the + appender syntax defined above. + + <p>For non-root categories the syntax is almost the same: + <pre> + log4j.logger.logger_name=[level|INHERITED|NULL], appenderName, appenderName, ... + </pre> + + <p>The meaning of the optional level value is discussed above + in relation to the root logger. In addition however, the value + INHERITED can be specified meaning that the named logger should + inherit its level from the logger hierarchy. + + <p>If no level value is supplied, then the level of the + named logger remains untouched. + + <p>By default categories inherit their level from the + hierarchy. However, if you set the level of a logger and later + decide that that logger should inherit its level, then you should + specify INHERITED as the value for the level value. NULL is a + synonym for INHERITED. + + <p>Similar to the root logger syntax, each <i>appenderName</i> + (separated by commas) will be attached to the named logger. + + <p>See the <a href="../../../../manual.html#additivity">appender + additivity rule</a> in the user manual for the meaning of the + <code>additivity</code> flag. + + <h3>ObjectRenderers</h3> + + You can customize the way message objects of a given type are + converted to String before being logged. This is done by + specifying an {@link org.apache.log4j.or.ObjectRenderer ObjectRenderer} + for the object type would like to customize. + + <p>The syntax is: + + <pre> + log4j.renderer.fully.qualified.name.of.rendered.class=fully.qualified.name.of.rendering.class + </pre> + + As in, + <pre> + log4j.renderer.my.Fruit=my.FruitRenderer + </pre> + + <h3>ThrowableRenderer</h3> + + You can customize the way an instance of Throwable is + converted to String before being logged. This is done by + specifying an {@link org.apache.log4j.spi.ThrowableRenderer ThrowableRenderer}. + + <p>The syntax is: + + <pre> + log4j.throwableRenderer=fully.qualified.name.of.rendering.class + log4j.throwableRenderer.paramName=paramValue + </pre> + + As in, + <pre> + log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer + </pre> + + <h3>Logger Factories</h3> + + The usage of custom logger factories is discouraged and no longer + documented. + + <h3>Resetting Hierarchy</h3> + + The hierarchy will be reset before configuration when + log4j.reset=true is present in the properties file. + + <h3>Example</h3> + + <p>An example configuration is given below. Other configuration + file examples are given in the <code>examples</code> folder. + + <pre> + + # Set options for appender named "A1". + # Appender "A1" will be a SyslogAppender + log4j.appender.A1=org.apache.log4j.net.SyslogAppender + + # The syslog daemon resides on www.abc.net + log4j.appender.A1.SyslogHost=www.abc.net + + # A1's layout is a PatternLayout, using the conversion pattern + # <b>%r %-5p %c{2} %M.%L %x - %m\n</b>. Thus, the log output will + # include # the relative time since the start of the application in + # milliseconds, followed by the level of the log request, + # followed by the two rightmost components of the logger name, + # followed by the callers method name, followed by the line number, + # the nested disgnostic context and finally the message itself. + # Refer to the documentation of {@link PatternLayout} for further information + # on the syntax of the ConversionPattern key. + log4j.appender.A1.layout=org.apache.log4j.PatternLayout + log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %c{2} %M.%L %x - %m\n + + # Set options for appender named "A2" + # A2 should be a RollingFileAppender, with maximum file size of 10 MB + # using at most one backup file. A2's layout is TTCC, using the + # ISO8061 date format with context printing enabled. + log4j.appender.A2=org.apache.log4j.RollingFileAppender + log4j.appender.A2.MaxFileSize=10MB + log4j.appender.A2.MaxBackupIndex=1 + log4j.appender.A2.layout=org.apache.log4j.TTCCLayout + log4j.appender.A2.layout.ContextPrinting=enabled + log4j.appender.A2.layout.DateFormat=ISO8601 + + # Root logger set to DEBUG using the A2 appender defined above. + log4j.rootLogger=DEBUG, A2 + + # Logger definitions: + # The SECURITY logger inherits is level from root. However, it's output + # will go to A1 appender defined above. It's additivity is non-cumulative. + log4j.logger.SECURITY=INHERIT, A1 + log4j.additivity.SECURITY=false + + # Only warnings or above will be logged for the logger "SECURITY.access". + # Output will go to A1. + log4j.logger.SECURITY.access=WARN + + + # The logger "class.of.the.day" inherits its level from the + # logger hierarchy. Output will go to the appender's of the root + # logger, A2 in this case. + log4j.logger.class.of.the.day=INHERIT + </pre> + + <p>Refer to the <b>setOption</b> method in each Appender and + Layout for class specific options. + + <p>Use the <code>#</code> or <code>!</code> characters at the + beginning of a line for comments. + + <p> + @param configFileName The name of the configuration file where the + configuration information is stored. + + */ + public + void doConfigure(String configFileName, LoggerRepository hierarchy) { + Properties props = new Properties(); + FileInputStream istream = null; + try { + istream = new FileInputStream(configFileName); + props.load(istream); + istream.close(); + } + catch (Exception e) { + if (e instanceof InterruptedIOException || e instanceof InterruptedException) { + Thread.currentThread().interrupt(); + } + LogLog.error("Could not read configuration file ["+configFileName+"].", e); + LogLog.error("Ignoring configuration file [" + configFileName+"]."); + return; + } finally { + if(istream != null) { + try { + istream.close(); + } catch(InterruptedIOException ignore) { + Thread.currentThread().interrupt(); + } catch(Throwable ignore) { + } + + } + } + // If we reach here, then the config file is alright. + doConfigure(props, hierarchy); + } + + /** + */ + static + public + void configure(String configFilename) { + new PropertyConfigurator().doConfigure(configFilename, + LogManager.getLoggerRepository()); + } + + /** + Read configuration options from url <code>configURL</code>. + + @since 0.8.2 + */ + public + static + void configure(java.net.URL configURL) { + new PropertyConfigurator().doConfigure(configURL, + LogManager.getLoggerRepository()); + } + + + /** + Read configuration options from <code>properties</code>. + + See {@link #doConfigure(String, LoggerRepository)} for the expected format. + */ + static + public + void configure(Properties properties) { + new PropertyConfigurator().doConfigure(properties, + LogManager.getLoggerRepository()); + } + + /** + Like {@link #configureAndWatch(String, long)} except that the + default delay as defined by {@link FileWatchdog#DEFAULT_DELAY} is + used. + + @param configFilename A file in key=value format. + + */ + static + public + void configureAndWatch(String configFilename) { + configureAndWatch(configFilename, FileWatchdog.DEFAULT_DELAY); + } + + + /** + Read the configuration file <code>configFilename</code> if it + exists. Moreover, a thread will be created that will periodically + check if <code>configFilename</code> has been created or + modified. The period is determined by the <code>delay</code> + argument. If a change or file creation is detected, then + <code>configFilename</code> is read to configure log4j. + + @param configFilename A file in key=value format. + @param delay The delay in milliseconds to wait between each check. + */ + static + public + void configureAndWatch(String configFilename, long delay) { + PropertyWatchdog pdog = new PropertyWatchdog(configFilename); + pdog.setDelay(delay); + pdog.start(); + } + + + /** + Read configuration options from <code>properties</code>. + + See {@link #doConfigure(String, LoggerRepository)} for the expected format. + */ + public + void doConfigure(Properties properties, LoggerRepository hierarchy) { + repository = hierarchy; + String value = properties.getProperty(LogLog.DEBUG_KEY); + if(value == null) { + value = properties.getProperty("log4j.configDebug"); + if(value != null) + LogLog.warn("[log4j.configDebug] is deprecated. Use [log4j.debug] instead."); + } + + if(value != null) { + LogLog.setInternalDebugging(OptionConverter.toBoolean(value, true)); + } + + // + // if log4j.reset=true then + // reset hierarchy + String reset = properties.getProperty(RESET_KEY); + if (reset != null && OptionConverter.toBoolean(reset, false)) { + hierarchy.resetConfiguration(); + } + + String thresholdStr = OptionConverter.findAndSubst(THRESHOLD_PREFIX, + properties); + if(thresholdStr != null) { + hierarchy.setThreshold(OptionConverter.toLevel(thresholdStr, + (Level) Level.ALL)); + LogLog.debug("Hierarchy threshold set to ["+hierarchy.getThreshold()+"]."); + } + + configureRootCategory(properties, hierarchy); + configureLoggerFactory(properties); + parseCatsAndRenderers(properties, hierarchy); + + LogLog.debug("Finished configuring."); + // We don't want to hold references to appenders preventing their + // garbage collection. + registry.clear(); + } + + /** + Read configuration options from url <code>configURL</code>. + */ + public + void doConfigure(java.net.URL configURL, LoggerRepository hierarchy) { + Properties props = new Properties(); + LogLog.debug("Reading configuration from URL " + configURL); + InputStream istream = null; + URLConnection uConn = null; + try { + uConn = configURL.openConnection(); + uConn.setUseCaches(false); + istream = uConn.getInputStream(); + props.load(istream); + } + catch (Exception e) { + if (e instanceof InterruptedIOException || e instanceof InterruptedException) { + Thread.currentThread().interrupt(); + } + LogLog.error("Could not read configuration file from URL [" + configURL + + "].", e); + LogLog.error("Ignoring configuration file [" + configURL +"]."); + return; + } + finally { + if (istream != null) { + try { + istream.close(); + } catch(InterruptedIOException ignore) { + Thread.currentThread().interrupt(); + } catch(IOException ignore) { + } catch(RuntimeException ignore) { + } + } + } + doConfigure(props, hierarchy); + } + + + // -------------------------------------------------------------------------- + // Internal stuff + // -------------------------------------------------------------------------- + + /** + Check the provided <code>Properties</code> object for a + {@link org.apache.log4j.spi.LoggerFactory LoggerFactory} + entry specified by {@link #LOGGER_FACTORY_KEY}. If such an entry + exists, an attempt is made to create an instance using the default + constructor. This instance is used for subsequent Category creations + within this configurator. + + @see #parseCatsAndRenderers + */ + protected void configureLoggerFactory(Properties props) { + String factoryClassName = OptionConverter.findAndSubst(LOGGER_FACTORY_KEY, + props); + if(factoryClassName != null) { + LogLog.debug("Setting category factory to ["+factoryClassName+"]."); + loggerFactory = (LoggerFactory) + OptionConverter.instantiateByClassName(factoryClassName, + LoggerFactory.class, + loggerFactory); + PropertySetter.setProperties(loggerFactory, props, FACTORY_PREFIX + "."); + } + } + + /* + void configureOptionHandler(OptionHandler oh, String prefix, + Properties props) { + String[] options = oh.getOptionStrings(); + if(options == null) + return; + + String value; + for(int i = 0; i < options.length; i++) { + value = OptionConverter.findAndSubst(prefix + options[i], props); + LogLog.debug( + "Option " + options[i] + "=[" + (value == null? "N/A" : value)+"]."); + // Some option handlers assume that null value are not passed to them. + // So don't remove this check + if(value != null) { + oh.setOption(options[i], value); + } + } + oh.activateOptions(); + } + */ + + + void configureRootCategory(Properties props, LoggerRepository hierarchy) { + String effectiveFrefix = ROOT_LOGGER_PREFIX; + String value = OptionConverter.findAndSubst(ROOT_LOGGER_PREFIX, props); + + if(value == null) { + value = OptionConverter.findAndSubst(ROOT_CATEGORY_PREFIX, props); + effectiveFrefix = ROOT_CATEGORY_PREFIX; + } + + if(value == null) + LogLog.debug("Could not find root logger information. Is this OK?"); + else { + Logger root = hierarchy.getRootLogger(); + synchronized(root) { + parseCategory(props, root, effectiveFrefix, INTERNAL_ROOT_NAME, value); + } + } + } + + + /** + Parse non-root elements, such non-root categories and renderers. + */ + protected + void parseCatsAndRenderers(Properties props, LoggerRepository hierarchy) { + Enumeration enumeration = props.propertyNames(); + while(enumeration.hasMoreElements()) { + String key = (String) enumeration.nextElement(); + if(key.startsWith(CATEGORY_PREFIX) || key.startsWith(LOGGER_PREFIX)) { + String loggerName = null; + if(key.startsWith(CATEGORY_PREFIX)) { + loggerName = key.substring(CATEGORY_PREFIX.length()); + } else if(key.startsWith(LOGGER_PREFIX)) { + loggerName = key.substring(LOGGER_PREFIX.length()); + } + String value = OptionConverter.findAndSubst(key, props); + Logger logger = hierarchy.getLogger(loggerName, loggerFactory); + synchronized(logger) { + parseCategory(props, logger, key, loggerName, value); + parseAdditivityForLogger(props, logger, loggerName); + } + } else if(key.startsWith(RENDERER_PREFIX)) { + String renderedClass = key.substring(RENDERER_PREFIX.length()); + String renderingClass = OptionConverter.findAndSubst(key, props); + if(hierarchy instanceof RendererSupport) { + RendererMap.addRenderer((RendererSupport) hierarchy, renderedClass, + renderingClass); + } + } else if (key.equals(THROWABLE_RENDERER_PREFIX)) { + if (hierarchy instanceof ThrowableRendererSupport) { + ThrowableRenderer tr = (ThrowableRenderer) + OptionConverter.instantiateByKey(props, + THROWABLE_RENDERER_PREFIX, + org.apache.log4j.spi.ThrowableRenderer.class, + null); + if(tr == null) { + LogLog.error( + "Could not instantiate throwableRenderer."); + } else { + PropertySetter setter = new PropertySetter(tr); + setter.setProperties(props, THROWABLE_RENDERER_PREFIX + "."); + ((ThrowableRendererSupport) hierarchy).setThrowableRenderer(tr); + + } + } + } + } + } + + /** + Parse the additivity option for a non-root category. + */ + void parseAdditivityForLogger(Properties props, Logger cat, + String loggerName) { + String value = OptionConverter.findAndSubst(ADDITIVITY_PREFIX + loggerName, + props); + LogLog.debug("Handling "+ADDITIVITY_PREFIX + loggerName+"=["+value+"]"); + // touch additivity only if necessary + if((value != null) && (!value.equals(""))) { + boolean additivity = OptionConverter.toBoolean(value, true); + LogLog.debug("Setting additivity for \""+loggerName+"\" to "+ + additivity); + cat.setAdditivity(additivity); + } + } + + /** + This method must work for the root category as well. + */ + void parseCategory(Properties props, Logger logger, String optionKey, + String loggerName, String value) { + + LogLog.debug("Parsing for [" +loggerName +"] with value=[" + value+"]."); + // We must skip over ',' but not white space + StringTokenizer st = new StringTokenizer(value, ","); + + // If value is not in the form ", appender.." or "", then we should set + // the level of the loggeregory. + + if(!(value.startsWith(",") || value.equals(""))) { + + // just to be on the safe side... + if(!st.hasMoreTokens()) + return; + + String levelStr = st.nextToken(); + LogLog.debug("Level token is [" + levelStr + "]."); + + // If the level value is inherited, set category level value to + // null. We also check that the user has not specified inherited for the + // root category. + if(INHERITED.equalsIgnoreCase(levelStr) || + NULL.equalsIgnoreCase(levelStr)) { + if(loggerName.equals(INTERNAL_ROOT_NAME)) { + LogLog.warn("The root logger cannot be set to null."); + } else { + logger.setLevel(null); + } + } else { + logger.setLevel(OptionConverter.toLevel(levelStr, (Level) Level.DEBUG)); + } + LogLog.debug("Category " + loggerName + " set to " + logger.getLevel()); + } + + // Begin by removing all existing appenders. + logger.removeAllAppenders(); + + Appender appender; + String appenderName; + while(st.hasMoreTokens()) { + appenderName = st.nextToken().trim(); + if(appenderName == null || appenderName.equals(",")) + continue; + LogLog.debug("Parsing appender named \"" + appenderName +"\"."); + appender = parseAppender(props, appenderName); + if(appender != null) { + logger.addAppender(appender); + } + } + } + + Appender parseAppender(Properties props, String appenderName) { + Appender appender = registryGet(appenderName); + if((appender != null)) { + LogLog.debug("Appender \"" + appenderName + "\" was already parsed."); + return appender; + } + // Appender was not previously initialized. + String prefix = APPENDER_PREFIX + appenderName; + String layoutPrefix = prefix + ".layout"; + + appender = (Appender) OptionConverter.instantiateByKey(props, prefix, + org.apache.log4j.Appender.class, + null); + if(appender == null) { + LogLog.error( + "Could not instantiate appender named \"" + appenderName+"\"."); + return null; + } + appender.setName(appenderName); + + if(appender instanceof OptionHandler) { + if(appender.requiresLayout()) { + Layout layout = (Layout) OptionConverter.instantiateByKey(props, + layoutPrefix, + Layout.class, + null); + if(layout != null) { + appender.setLayout(layout); + LogLog.debug("Parsing layout options for \"" + appenderName +"\"."); + //configureOptionHandler(layout, layoutPrefix + ".", props); + PropertySetter.setProperties(layout, props, layoutPrefix + "."); + LogLog.debug("End of parsing for \"" + appenderName +"\"."); + } + } + final String errorHandlerPrefix = prefix + ".errorhandler"; + String errorHandlerClass = OptionConverter.findAndSubst(errorHandlerPrefix, props); + if (errorHandlerClass != null) { + ErrorHandler eh = (ErrorHandler) OptionConverter.instantiateByKey(props, + errorHandlerPrefix, + ErrorHandler.class, + null); + if (eh != null) { + appender.setErrorHandler(eh); + LogLog.debug("Parsing errorhandler options for \"" + appenderName +"\"."); + parseErrorHandler(eh, errorHandlerPrefix, props, repository); + final Properties edited = new Properties(); + final String[] keys = new String[] { + errorHandlerPrefix + "." + ROOT_REF, + errorHandlerPrefix + "." + LOGGER_REF, + errorHandlerPrefix + "." + APPENDER_REF_TAG + }; + for(Iterator iter = props.entrySet().iterator();iter.hasNext();) { + Map.Entry entry = (Map.Entry) iter.next(); + int i = 0; + for(; i < keys.length; i++) { + if(keys[i].equals(entry.getKey())) break; + } + if (i == keys.length) { + edited.put(entry.getKey(), entry.getValue()); + } + } + PropertySetter.setProperties(eh, edited, errorHandlerPrefix + "."); + LogLog.debug("End of errorhandler parsing for \"" + appenderName +"\"."); + } + + } + //configureOptionHandler((OptionHandler) appender, prefix + ".", props); + PropertySetter.setProperties(appender, props, prefix + "."); + LogLog.debug("Parsed \"" + appenderName +"\" options."); + } + parseAppenderFilters(props, appenderName, appender); + registryPut(appender); + return appender; + } + + private void parseErrorHandler( + final ErrorHandler eh, + final String errorHandlerPrefix, + final Properties props, + final LoggerRepository hierarchy) { + boolean rootRef = OptionConverter.toBoolean( + OptionConverter.findAndSubst(errorHandlerPrefix + ROOT_REF, props), false); + if (rootRef) { + eh.setLogger(hierarchy.getRootLogger()); + } + String loggerName = OptionConverter.findAndSubst(errorHandlerPrefix + LOGGER_REF , props); + if (loggerName != null) { + Logger logger = (loggerFactory == null) ? hierarchy.getLogger(loggerName) + : hierarchy.getLogger(loggerName, loggerFactory); + eh.setLogger(logger); + } + String appenderName = OptionConverter.findAndSubst(errorHandlerPrefix + APPENDER_REF_TAG, props); + if (appenderName != null) { + Appender backup = parseAppender(props, appenderName); + if (backup != null) { + eh.setBackupAppender(backup); + } + } + } + + + void parseAppenderFilters(Properties props, String appenderName, Appender appender) { + // extract filters and filter options from props into a hashtable mapping + // the property name defining the filter class to a list of pre-parsed + // name-value pairs associated to that filter + final String filterPrefix = APPENDER_PREFIX + appenderName + ".filter."; + int fIdx = filterPrefix.length(); + Hashtable filters = new Hashtable(); + Enumeration e = props.keys(); + String name = ""; + while (e.hasMoreElements()) { + String key = (String) e.nextElement(); + if (key.startsWith(filterPrefix)) { + int dotIdx = key.indexOf('.', fIdx); + String filterKey = key; + if (dotIdx != -1) { + filterKey = key.substring(0, dotIdx); + name = key.substring(dotIdx+1); + } + Vector filterOpts = (Vector) filters.get(filterKey); + if (filterOpts == null) { + filterOpts = new Vector(); + filters.put(filterKey, filterOpts); + } + if (dotIdx != -1) { + String value = OptionConverter.findAndSubst(key, props); + filterOpts.add(new NameValue(name, value)); + } + } + } + + // sort filters by IDs, insantiate filters, set filter options, + // add filters to the appender + Enumeration g = new SortedKeyEnumeration(filters); + while (g.hasMoreElements()) { + String key = (String) g.nextElement(); + String clazz = props.getProperty(key); + if (clazz != null) { + LogLog.debug("Filter key: ["+key+"] class: ["+props.getProperty(key) +"] props: "+filters.get(key)); + Filter filter = (Filter) OptionConverter.instantiateByClassName(clazz, Filter.class, null); + if (filter != null) { + PropertySetter propSetter = new PropertySetter(filter); + Vector v = (Vector)filters.get(key); + Enumeration filterProps = v.elements(); + while (filterProps.hasMoreElements()) { + NameValue kv = (NameValue)filterProps.nextElement(); + propSetter.setProperty(kv.key, kv.value); + } + propSetter.activate(); + LogLog.debug("Adding filter of type ["+filter.getClass() + +"] to appender named ["+appender.getName()+"]."); + appender.addFilter(filter); + } + } else { + LogLog.warn("Missing class definition for filter: ["+key+"]"); + } + } + } + + + void registryPut(Appender appender) { + registry.put(appender.getName(), appender); + } + + Appender registryGet(String name) { + return (Appender) registry.get(name); + } +} + +class PropertyWatchdog extends FileWatchdog { + + PropertyWatchdog(String filename) { + super(filename); + } + + /** + Call {@link PropertyConfigurator#configure(String)} with the + <code>filename</code> to reconfigure log4j. */ + public + void doOnChange() { + new PropertyConfigurator().doConfigure(filename, + LogManager.getLoggerRepository()); + } +} + +class NameValue { + String key, value; + public NameValue(String key, String value) { + this.key = key; + this.value = value; + } + public String toString() { + return key + "=" + value; + } +} + +class SortedKeyEnumeration implements Enumeration { + + private Enumeration e; + + public SortedKeyEnumeration(Hashtable ht) { + Enumeration f = ht.keys(); + Vector keys = new Vector(ht.size()); + for (int i, last = 0; f.hasMoreElements(); ++last) { + String key = (String) f.nextElement(); + for (i = 0; i < last; ++i) { + String s = (String) keys.get(i); + if (key.compareTo(s) <= 0) break; + } + keys.add(i, key); + } + e = keys.elements(); + } + + public boolean hasMoreElements() { + return e.hasMoreElements(); + } + + public Object nextElement() { + return e.nextElement(); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/ProvisionNode.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/ProvisionNode.java new file mode 100644 index 00000000000..f1126822a16 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/ProvisionNode.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import java.util.Vector; + +class ProvisionNode extends Vector { + private static final long serialVersionUID = -4479121426311014469L; + + ProvisionNode(Logger logger) { + super(); + this.addElement(logger); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/RollingFileAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/RollingFileAppender.java new file mode 100644 index 00000000000..8a7c656c030 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/RollingFileAppender.java @@ -0,0 +1,284 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +package org.apache.log4j; + +import java.io.IOException; +import java.io.Writer; +import java.io.File; +import java.io.InterruptedIOException; + +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.helpers.CountingQuietWriter; +import org.apache.log4j.spi.LoggingEvent; + +/** + RollingFileAppender extends FileAppender to backup the log files when + they reach a certain size. + + The log4j extras companion includes alternatives which should be considered + for new deployments and which are discussed in the documentation + for org.apache.log4j.rolling.RollingFileAppender. + + + @author Heinz Richter + @author Ceki G&uuml;lc&uuml; + +*/ +public class RollingFileAppender extends FileAppender { + + /** + The default maximum file size is 10MB. + */ + protected long maxFileSize = 10*1024*1024; + + /** + There is one backup file by default. + */ + protected int maxBackupIndex = 1; + + private long nextRollover = 0; + + /** + The default constructor simply calls its {@link + FileAppender#FileAppender parents constructor}. */ + public + RollingFileAppender() { + super(); + } + + /** + Instantiate a RollingFileAppender and open the file designated by + <code>filename</code>. The opened filename will become the ouput + destination for this appender. + + <p>If the <code>append</code> parameter is true, the file will be + appended to. Otherwise, the file desginated by + <code>filename</code> will be truncated before being opened. + */ + public + RollingFileAppender(Layout layout, String filename, boolean append) + throws IOException { + super(layout, filename, append); + } + + /** + Instantiate a FileAppender and open the file designated by + <code>filename</code>. The opened filename will become the output + destination for this appender. + + <p>The file will be appended to. */ + public + RollingFileAppender(Layout layout, String filename) throws IOException { + super(layout, filename); + } + + /** + Returns the value of the <b>MaxBackupIndex</b> option. + */ + public + int getMaxBackupIndex() { + return maxBackupIndex; + } + + /** + Get the maximum size that the output file is allowed to reach + before being rolled over to backup files. + + @since 1.1 + */ + public + long getMaximumFileSize() { + return maxFileSize; + } + + /** + Implements the usual roll over behaviour. + + <p>If <code>MaxBackupIndex</code> is positive, then files + {<code>File.1</code>, ..., <code>File.MaxBackupIndex -1</code>} + are renamed to {<code>File.2</code>, ..., + <code>File.MaxBackupIndex</code>}. Moreover, <code>File</code> is + renamed <code>File.1</code> and closed. A new <code>File</code> is + created to receive further log output. + + <p>If <code>MaxBackupIndex</code> is equal to zero, then the + <code>File</code> is truncated with no backup files created. + + */ + public // synchronization not necessary since doAppend is alreasy synched + void rollOver() { + File target; + File file; + + if (qw != null) { + long size = ((CountingQuietWriter) qw).getCount(); + LogLog.debug("rolling over count=" + size); + // if operation fails, do not roll again until + // maxFileSize more bytes are written + nextRollover = size + maxFileSize; + } + LogLog.debug("maxBackupIndex="+maxBackupIndex); + + boolean renameSucceeded = true; + // If maxBackups <= 0, then there is no file renaming to be done. + if(maxBackupIndex > 0) { + // Delete the oldest file, to keep Windows happy. + file = new File(fileName + '.' + maxBackupIndex); + if (file.exists()) + renameSucceeded = file.delete(); + + // Map {(maxBackupIndex - 1), ..., 2, 1} to {maxBackupIndex, ..., 3, 2} + for (int i = maxBackupIndex - 1; i >= 1 && renameSucceeded; i--) { + file = new File(fileName + "." + i); + if (file.exists()) { + target = new File(fileName + '.' + (i + 1)); + LogLog.debug("Renaming file " + file + " to " + target); + renameSucceeded = file.renameTo(target); + } + } + + if(renameSucceeded) { + // Rename fileName to fileName.1 + target = new File(fileName + "." + 1); + + this.closeFile(); // keep windows happy. + + file = new File(fileName); + LogLog.debug("Renaming file " + file + " to " + target); + renameSucceeded = file.renameTo(target); + // + // if file rename failed, reopen file with append = true + // + if (!renameSucceeded) { + try { + this.setFile(fileName, true, bufferedIO, bufferSize); + } + catch(IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("setFile("+fileName+", true) call failed.", e); + } + } + } + } + + // + // if all renames were successful, then + // + if (renameSucceeded) { + try { + // This will also close the file. This is OK since multiple + // close operations are safe. + this.setFile(fileName, false, bufferedIO, bufferSize); + nextRollover = 0; + } + catch(IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("setFile("+fileName+", false) call failed.", e); + } + } + } + + public + synchronized + void setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize) + throws IOException { + super.setFile(fileName, append, this.bufferedIO, this.bufferSize); + if(append) { + File f = new File(fileName); + ((CountingQuietWriter) qw).setCount(f.length()); + } + } + + + /** + Set the maximum number of backup files to keep around. + + <p>The <b>MaxBackupIndex</b> option determines how many backup + files are kept before the oldest is erased. This option takes + a positive integer value. If set to zero, then there will be no + backup files and the log file will be truncated when it reaches + <code>MaxFileSize</code>. + */ + public + void setMaxBackupIndex(int maxBackups) { + this.maxBackupIndex = maxBackups; + } + + /** + Set the maximum size that the output file is allowed to reach + before being rolled over to backup files. + + <p>This method is equivalent to {@link #setMaxFileSize} except + that it is required for differentiating the setter taking a + <code>long</code> argument from the setter taking a + <code>String</code> argument by the JavaBeans {@link + java.beans.Introspector Introspector}. + + @see #setMaxFileSize(String) + */ + public + void setMaximumFileSize(long maxFileSize) { + this.maxFileSize = maxFileSize; + } + + + /** + Set the maximum size that the output file is allowed to reach + before being rolled over to backup files. + + <p>In configuration files, the <b>MaxFileSize</b> option takes an + long integer in the range 0 - 2^63. You can specify the value + with the suffixes "KB", "MB" or "GB" so that the integer is + interpreted being expressed respectively in kilobytes, megabytes + or gigabytes. For example, the value "10KB" will be interpreted + as 10240. + */ + public + void setMaxFileSize(String value) { + maxFileSize = OptionConverter.toFileSize(value, maxFileSize + 1); + } + + protected + void setQWForFiles(Writer writer) { + this.qw = new CountingQuietWriter(writer, errorHandler); + } + + /** + This method differentiates RollingFileAppender from its super + class. + + @since 0.9.0 + */ + protected + void subAppend(LoggingEvent event) { + super.subAppend(event); + if(fileName != null && qw != null) { + long size = ((CountingQuietWriter) qw).getCount(); + if (size >= maxFileSize && size >= nextRollover) { + rollOver(); + } + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/SimpleLayout.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/SimpleLayout.java new file mode 100644 index 00000000000..5699661ba66 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/SimpleLayout.java @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.LoggingEvent; + +/** + SimpleLayout consists of the level of the log statement, + followed by " - " and then the log message itself. For example, + + <pre> + DEBUG - Hello world + </pre> + + <p> + @author Ceki G&uuml;lc&uuml; + @since version 0.7.0 + + <p>{@link PatternLayout} offers a much more powerful alternative. +*/ +public class SimpleLayout extends Layout { + + StringBuffer sbuf = new StringBuffer(128); + + public SimpleLayout() { + } + + public + void activateOptions() { + } + + /** + Returns the log statement in a format consisting of the + <code>level</code>, followed by " - " and then the + <code>message</code>. For example, <pre> INFO - "A message" + </pre> + + <p>The <code>category</code> parameter is ignored. + <p> + @return A byte array in SimpleLayout format. + */ + public + String format(LoggingEvent event) { + + sbuf.setLength(0); + sbuf.append(event.getLevel().toString()); + sbuf.append(" - "); + sbuf.append(event.getRenderedMessage()); + sbuf.append(LINE_SEP); + return sbuf.toString(); + } + +/** + The SimpleLayout does not handle the throwable contained within + {@link LoggingEvent LoggingEvents}. Thus, it returns + <code>true</code>. + + @since version 0.8.4 */ + public + boolean ignoresThrowable() { + return true; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/TTCCLayout.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/TTCCLayout.java new file mode 100644 index 00000000000..3b0e98f9673 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/TTCCLayout.java @@ -0,0 +1,217 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contributors: Christopher Williams +// Mathias Bogaert + +package org.apache.log4j; + +import org.apache.log4j.helpers.DateLayout; +import org.apache.log4j.spi.LoggingEvent; + +/** + TTCC layout format consists of time, thread, category and nested + diagnostic context information, hence the name. + + <p>Each of the four fields can be individually enabled or + disabled. The time format depends on the <code>DateFormat</code> + used. + + <p>Here is an example TTCCLayout output with the + {@link org.apache.log4j.helpers.RelativeTimeDateFormat}. + + <pre> +176 [main] INFO org.apache.log4j.examples.Sort - Populating an array of 2 elements in reverse order. +225 [main] INFO org.apache.log4j.examples.SortAlgo - Entered the sort method. +262 [main] DEBUG org.apache.log4j.examples.SortAlgo.OUTER i=1 - Outer loop. +276 [main] DEBUG org.apache.log4j.examples.SortAlgo.SWAP i=1 j=0 - Swapping intArray[0] = 1 and intArray[1] = 0 +290 [main] DEBUG org.apache.log4j.examples.SortAlgo.OUTER i=0 - Outer loop. +304 [main] INFO org.apache.log4j.examples.SortAlgo.DUMP - Dump of interger array: +317 [main] INFO org.apache.log4j.examples.SortAlgo.DUMP - Element [0] = 0 +331 [main] INFO org.apache.log4j.examples.SortAlgo.DUMP - Element [1] = 1 +343 [main] INFO org.apache.log4j.examples.Sort - The next log statement should be an error message. +346 [main] ERROR org.apache.log4j.examples.SortAlgo.DUMP - Tried to dump an uninitialized array. + at org.apache.log4j.examples.SortAlgo.dump(SortAlgo.java:58) + at org.apache.log4j.examples.Sort.main(Sort.java:64) +467 [main] INFO org.apache.log4j.examples.Sort - Exiting main method. +</pre> + + <p>The first field is the number of milliseconds elapsed since the + start of the program. The second field is the thread outputting the + log statement. The third field is the level, the fourth field is + the category to which the statement belongs. + + <p>The fifth field (just before the '-') is the nested diagnostic + context. Note the nested diagnostic context may be empty as in the + first two statements. The text after the '-' is the message of the + statement. + + <p><b>WARNING</b> Do not use the same TTCCLayout instance from + within different appenders. The TTCCLayout is not thread safe when + used in his way. However, it is perfectly safe to use a TTCCLayout + instance from just one appender. + + <p>{@link PatternLayout} offers a much more flexible alternative. + + @author Ceki G&uuml;lc&uuml; + @author <A HREF="mailto:heinz.richter@ecmwf.int">Heinz Richter</a> + +*/ +public class TTCCLayout extends DateLayout { + + // Internal representation of options + private boolean threadPrinting = true; + private boolean categoryPrefixing = true; + private boolean contextPrinting = true; + + + protected final StringBuffer buf = new StringBuffer(256); + + + /** + Instantiate a TTCCLayout object with {@link + org.apache.log4j.helpers.RelativeTimeDateFormat} as the date + formatter in the local time zone. + + @since 0.7.5 */ + public TTCCLayout() { + this.setDateFormat(RELATIVE_TIME_DATE_FORMAT, null); + } + + + /** + Instantiate a TTCCLayout object using the local time zone. The + DateFormat used will depend on the <code>dateFormatType</code>. + + <p>This constructor just calls the {@link + DateLayout#setDateFormat} method. + + */ + public TTCCLayout(String dateFormatType) { + this.setDateFormat(dateFormatType); + } + + + /** + The <b>ThreadPrinting</b> option specifies whether the name of the + current thread is part of log output or not. This is true by default. + */ + public + void setThreadPrinting(boolean threadPrinting) { + this.threadPrinting = threadPrinting; + } + + /** + Returns value of the <b>ThreadPrinting</b> option. + */ + public + boolean getThreadPrinting() { + return threadPrinting; + } + + /** + The <b>CategoryPrefixing</b> option specifies whether {@link Category} + name is part of log output or not. This is true by default. + */ + public + void setCategoryPrefixing(boolean categoryPrefixing) { + this.categoryPrefixing = categoryPrefixing; + } + + /** + Returns value of the <b>CategoryPrefixing</b> option. + */ + public + boolean getCategoryPrefixing() { + return categoryPrefixing; + } + + /** + The <b>ContextPrinting</b> option specifies log output will include + the nested context information belonging to the current thread. + This is true by default. + */ + public + void setContextPrinting(boolean contextPrinting) { + this.contextPrinting = contextPrinting; + } + + /** + Returns value of the <b>ContextPrinting</b> option. + */ + public + boolean getContextPrinting() { + return contextPrinting; + } + + /** + In addition to the level of the statement and message, the + returned byte array includes time, thread, category and {@link NDC} + information. + + <p>Time, thread, category and diagnostic context are printed + depending on options. + + @param event The event to format + + */ + public + String format(LoggingEvent event) { + + // Reset buf + buf.setLength(0); + + dateFormat(buf, event); + + if(this.threadPrinting) { + buf.append('['); + buf.append(event.getThreadName()); + buf.append("] "); + } + buf.append(event.getLevel().toString()); + buf.append(' '); + + if(this.categoryPrefixing) { + buf.append(event.getLoggerName()); + buf.append(' '); + } + + if(this.contextPrinting) { + String ndc = event.getNDC(); + + if(ndc != null) { + buf.append(ndc); + buf.append(' '); + } + } + buf.append("- "); + buf.append(event.getRenderedMessage()); + buf.append(LINE_SEP); + return buf.toString(); + } + + /** + The TTCCLayout does not handle the throwable contained within + {@link LoggingEvent LoggingEvents}. Thus, it returns + <code>true</code>. + + @since version 0.8.4 */ + public + boolean ignoresThrowable() { + return true; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/WriterAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/WriterAppender.java new file mode 100644 index 00000000000..981c02dd4f3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/WriterAppender.java @@ -0,0 +1,387 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import java.io.IOException; +import java.io.InterruptedIOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.helpers.QuietWriter; +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.LoggingEvent; + +// Contibutors: Jens Uwe Pipka <jens.pipka@gmx.de> +// Ben Sandee + +/** + WriterAppender appends log events to a {@link java.io.Writer} or an + {@link java.io.OutputStream} depending on the user's choice. + + @author Ceki G&uuml;lc&uuml; + @since 1.1 */ +public class WriterAppender extends AppenderSkeleton { + + + /** + Immediate flush means that the underlying writer or output stream + will be flushed at the end of each append operation unless shouldFlush() + is overridden. Immediate + flush is slower but ensures that each append request is actually + written. If <code>immediateFlush</code> is set to + <code>false</code>, then there is a good chance that the last few + logs events are not actually written to persistent media if and + when the application crashes. + + <p>The <code>immediateFlush</code> variable is set to + <code>true</code> by default. + + */ + protected boolean immediateFlush = true; + + /** + The encoding to use when writing. <p>The + <code>encoding</code> variable is set to <code>null</null> by + default which results in the utilization of the system's default + encoding. */ + protected String encoding; + + /** + This is the {@link QuietWriter quietWriter} where we will write + to. + */ + protected QuietWriter qw; + + + /** + This default constructor does nothing. */ + public + WriterAppender() { + } + + /** + Instantiate a WriterAppender and set the output destination to a + new {@link OutputStreamWriter} initialized with <code>os</code> + as its {@link OutputStream}. */ + public + WriterAppender(Layout layout, OutputStream os) { + this(layout, new OutputStreamWriter(os)); + } + + /** + Instantiate a WriterAppender and set the output destination to + <code>writer</code>. + + <p>The <code>writer</code> must have been previously opened by + the user. */ + public + WriterAppender(Layout layout, Writer writer) { + this.layout = layout; + this.setWriter(writer); + } + + /** + If the <b>ImmediateFlush</b> option is set to + <code>true</code>, the appender will flush at the end of each + write. This is the default behavior. If the option is set to + <code>false</code>, then the underlying stream can defer writing + to physical medium to a later time. + + <p>Avoiding the flush operation at the end of each append results in + a performance gain of 10 to 20 percent. However, there is safety + tradeoff involved in skipping flushing. Indeed, when flushing is + skipped, then it is likely that the last few log events will not + be recorded on disk when the application exits. This is a high + price to pay even for a 20% performance gain. + */ + public + void setImmediateFlush(boolean value) { + immediateFlush = value; + } + + /** + Returns value of the <b>ImmediateFlush</b> option. + */ + public + boolean getImmediateFlush() { + return immediateFlush; + } + + /** + Does nothing. + */ + public + void activateOptions() { + } + + + /** + This method is called by the {@link AppenderSkeleton#doAppend} + method. + + <p>If the output stream exists and is writable then write a log + statement to the output stream. Otherwise, write a single warning + message to <code>System.err</code>. + + <p>The format of the output will depend on this appender's + layout. + + */ + public + void append(LoggingEvent event) { + + // Reminder: the nesting of calls is: + // + // doAppend() + // - check threshold + // - filter + // - append(); + // - checkEntryConditions(); + // - subAppend(); + + if(!checkEntryConditions()) { + return; + } + subAppend(event); + } + + /** + This method determines if there is a sense in attempting to append. + + <p>It checks whether there is a set output target and also if + there is a set layout. If these checks fail, then the boolean + value <code>false</code> is returned. */ + protected + boolean checkEntryConditions() { + if(this.closed) { + LogLog.warn("Not allowed to write to a closed appender."); + return false; + } + + if(this.qw == null) { + errorHandler.error("No output stream or file set for the appender named ["+ + name+"]."); + return false; + } + + if(this.layout == null) { + errorHandler.error("No layout set for the appender named ["+ name+"]."); + return false; + } + return true; + } + + + /** + Close this appender instance. The underlying stream or writer is + also closed. + + <p>Closed appenders cannot be reused. + + @see #setWriter + @since 0.8.4 */ + public + synchronized + void close() { + if(this.closed) + return; + this.closed = true; + writeFooter(); + reset(); + } + + /** + * Close the underlying {@link java.io.Writer}. + * */ + protected void closeWriter() { + if(qw != null) { + try { + qw.close(); + } catch(IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + // There is do need to invoke an error handler at this late + // stage. + LogLog.error("Could not close " + qw, e); + } + } + } + + /** + Returns an OutputStreamWriter when passed an OutputStream. The + encoding used will depend on the value of the + <code>encoding</code> property. If the encoding value is + specified incorrectly the writer will be opened using the default + system encoding (an error message will be printed to the loglog. */ + protected + OutputStreamWriter createWriter(OutputStream os) { + OutputStreamWriter retval = null; + + String enc = getEncoding(); + if(enc != null) { + try { + retval = new OutputStreamWriter(os, enc); + } catch(IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.warn("Error initializing output writer."); + LogLog.warn("Unsupported encoding?"); + } + } + if(retval == null) { + retval = new OutputStreamWriter(os); + } + return retval; + } + + public String getEncoding() { + return encoding; + } + + public void setEncoding(String value) { + encoding = value; + } + + + + + /** + Set the {@link ErrorHandler} for this WriterAppender and also the + underlying {@link QuietWriter} if any. */ + public synchronized void setErrorHandler(ErrorHandler eh) { + if(eh == null) { + LogLog.warn("You have tried to set a null error-handler."); + } else { + this.errorHandler = eh; + if(this.qw != null) { + this.qw.setErrorHandler(eh); + } + } + } + + /** + <p>Sets the Writer where the log output will go. The + specified Writer must be opened by the user and be + writable. + + <p>The <code>java.io.Writer</code> will be closed when the + appender instance is closed. + + + <p><b>WARNING:</b> Logging to an unopened Writer will fail. + <p> + @param writer An already opened Writer. */ + public synchronized void setWriter(Writer writer) { + reset(); + this.qw = new QuietWriter(writer, errorHandler); + //this.tp = new TracerPrintWriter(qw); + writeHeader(); + } + + + /** + Actual writing occurs here. + + <p>Most subclasses of <code>WriterAppender</code> will need to + override this method. + + @since 0.9.0 */ + protected + void subAppend(LoggingEvent event) { + this.qw.write(this.layout.format(event)); + + if(layout.ignoresThrowable()) { + String[] s = event.getThrowableStrRep(); + if (s != null) { + int len = s.length; + for(int i = 0; i < len; i++) { + this.qw.write(s[i]); + this.qw.write(Layout.LINE_SEP); + } + } + } + + if(shouldFlush(event)) { + this.qw.flush(); + } + } + + + + /** + The WriterAppender requires a layout. Hence, this method returns + <code>true</code>. + */ + public + boolean requiresLayout() { + return true; + } + + /** + Clear internal references to the writer and other variables. + + Subclasses can override this method for an alternate closing + behavior. */ + protected + void reset() { + closeWriter(); + this.qw = null; + //this.tp = null; + } + + + /** + Write a footer as produced by the embedded layout's {@link + Layout#getFooter} method. */ + protected + void writeFooter() { + if(layout != null) { + String f = layout.getFooter(); + if(f != null && this.qw != null) { + this.qw.write(f); + this.qw.flush(); + } + } + } + + /** + Write a header as produced by the embedded layout's {@link + Layout#getHeader} method. */ + protected + void writeHeader() { + if(layout != null) { + String h = layout.getHeader(); + if(h != null && this.qw != null) + this.qw.write(h); + } + } + + /** + * Determines whether the writer should be flushed after + * this event is written. + * + * @since 1.2.16 + */ + protected boolean shouldFlush(final LoggingEvent event) { + return immediateFlush; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/ControlPanel.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/ControlPanel.java new file mode 100644 index 00000000000..53b0b1b5fac --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/ControlPanel.java @@ -0,0 +1,222 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.chainsaw; + +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import org.apache.log4j.Logger; +import org.apache.log4j.Priority; +import org.apache.log4j.Level; + +/** + * Represents the controls for filtering, pausing, exiting, etc. + * + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + */ +class ControlPanel extends JPanel { + /** use the log messages **/ + private static final Logger LOG = + Logger.getLogger(ControlPanel.class); + + /** + * Creates a new <code>ControlPanel</code> instance. + * + * @param aModel the model to control + */ + ControlPanel(final MyTableModel aModel) { + setBorder(BorderFactory.createTitledBorder("Controls: ")); + final GridBagLayout gridbag = new GridBagLayout(); + final GridBagConstraints c = new GridBagConstraints(); + setLayout(gridbag); + + // Pad everything + c.ipadx = 5; + c.ipady = 5; + + // Add the 1st column of labels + c.gridx = 0; + c.anchor = GridBagConstraints.EAST; + + c.gridy = 0; + JLabel label = new JLabel("Filter Level:"); + gridbag.setConstraints(label, c); + add(label); + + c.gridy++; + label = new JLabel("Filter Thread:"); + gridbag.setConstraints(label, c); + add(label); + + c.gridy++; + label = new JLabel("Filter Logger:"); + gridbag.setConstraints(label, c); + add(label); + + c.gridy++; + label = new JLabel("Filter NDC:"); + gridbag.setConstraints(label, c); + add(label); + + c.gridy++; + label = new JLabel("Filter Message:"); + gridbag.setConstraints(label, c); + add(label); + + // Add the 2nd column of filters + c.weightx = 1; + //c.weighty = 1; + c.gridx = 1; + c.anchor = GridBagConstraints.WEST; + + c.gridy = 0; + final Level[] allPriorities = new Level[] {Level.FATAL, + Level.ERROR, + Level.WARN, + Level.INFO, + Level.DEBUG, + Level.TRACE }; + + final JComboBox priorities = new JComboBox(allPriorities); + final Level lowest = allPriorities[allPriorities.length - 1]; + priorities.setSelectedItem(lowest); + aModel.setPriorityFilter(lowest); + gridbag.setConstraints(priorities, c); + add(priorities); + priorities.setEditable(false); + priorities.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent aEvent) { + aModel.setPriorityFilter( + (Priority) priorities.getSelectedItem()); + } + }); + + + c.fill = GridBagConstraints.HORIZONTAL; + c.gridy++; + final JTextField threadField = new JTextField(""); + threadField.getDocument().addDocumentListener(new DocumentListener () { + public void insertUpdate(DocumentEvent aEvent) { + aModel.setThreadFilter(threadField.getText()); + } + public void removeUpdate(DocumentEvent aEvente) { + aModel.setThreadFilter(threadField.getText()); + } + public void changedUpdate(DocumentEvent aEvent) { + aModel.setThreadFilter(threadField.getText()); + } + }); + gridbag.setConstraints(threadField, c); + add(threadField); + + c.gridy++; + final JTextField catField = new JTextField(""); + catField.getDocument().addDocumentListener(new DocumentListener () { + public void insertUpdate(DocumentEvent aEvent) { + aModel.setCategoryFilter(catField.getText()); + } + public void removeUpdate(DocumentEvent aEvent) { + aModel.setCategoryFilter(catField.getText()); + } + public void changedUpdate(DocumentEvent aEvent) { + aModel.setCategoryFilter(catField.getText()); + } + }); + gridbag.setConstraints(catField, c); + add(catField); + + c.gridy++; + final JTextField ndcField = new JTextField(""); + ndcField.getDocument().addDocumentListener(new DocumentListener () { + public void insertUpdate(DocumentEvent aEvent) { + aModel.setNDCFilter(ndcField.getText()); + } + public void removeUpdate(DocumentEvent aEvent) { + aModel.setNDCFilter(ndcField.getText()); + } + public void changedUpdate(DocumentEvent aEvent) { + aModel.setNDCFilter(ndcField.getText()); + } + }); + gridbag.setConstraints(ndcField, c); + add(ndcField); + + c.gridy++; + final JTextField msgField = new JTextField(""); + msgField.getDocument().addDocumentListener(new DocumentListener () { + public void insertUpdate(DocumentEvent aEvent) { + aModel.setMessageFilter(msgField.getText()); + } + public void removeUpdate(DocumentEvent aEvent) { + aModel.setMessageFilter(msgField.getText()); + } + public void changedUpdate(DocumentEvent aEvent) { + aModel.setMessageFilter(msgField.getText()); + } + }); + + + gridbag.setConstraints(msgField, c); + add(msgField); + + // Add the 3rd column of buttons + c.weightx = 0; + c.fill = GridBagConstraints.HORIZONTAL; + c.anchor = GridBagConstraints.EAST; + c.gridx = 2; + + c.gridy = 0; + final JButton exitButton = new JButton("Exit"); + exitButton.setMnemonic('x'); + exitButton.addActionListener(ExitAction.INSTANCE); + gridbag.setConstraints(exitButton, c); + add(exitButton); + + c.gridy++; + final JButton clearButton = new JButton("Clear"); + clearButton.setMnemonic('c'); + clearButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent aEvent) { + aModel.clear(); + } + }); + gridbag.setConstraints(clearButton, c); + add(clearButton); + + c.gridy++; + final JButton toggleButton = new JButton("Pause"); + toggleButton.setMnemonic('p'); + toggleButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent aEvent) { + aModel.toggle(); + toggleButton.setText( + aModel.isPaused() ? "Resume" : "Pause"); + } + }); + gridbag.setConstraints(toggleButton, c); + add(toggleButton); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/DetailPanel.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/DetailPanel.java new file mode 100644 index 00000000000..1f5dfe2c83d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/DetailPanel.java @@ -0,0 +1,170 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.chainsaw; + +import java.awt.BorderLayout; +import java.text.MessageFormat; +import java.util.Date; +import javax.swing.BorderFactory; +import javax.swing.JEditorPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.ListSelectionModel; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import org.apache.log4j.Logger; + +/** + * A panel for showing a stack trace. + * + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + */ +class DetailPanel + extends JPanel + implements ListSelectionListener +{ + /** used to log events **/ + private static final Logger LOG = + Logger.getLogger(DetailPanel.class); + + /** used to format the logging event **/ + private static final MessageFormat FORMATTER = new MessageFormat( + "<b>Time:</b> <code>{0,time,medium}</code>" + + "&nbsp;&nbsp;<b>Priority:</b> <code>{1}</code>" + + "&nbsp;&nbsp;<b>Thread:</b> <code>{2}</code>" + + "&nbsp;&nbsp;<b>NDC:</b> <code>{3}</code>" + + "<br><b>Logger:</b> <code>{4}</code>" + + "<br><b>Location:</b> <code>{5}</code>" + + "<br><b>Message:</b>" + + "<pre>{6}</pre>" + + "<b>Throwable:</b>" + + "<pre>{7}</pre>"); + + /** the model for the data to render **/ + private final MyTableModel mModel; + /** pane for rendering detail **/ + private final JEditorPane mDetails; + + /** + * Creates a new <code>DetailPanel</code> instance. + * + * @param aTable the table to listen for selections on + * @param aModel the model backing the table + */ + DetailPanel(JTable aTable, final MyTableModel aModel) { + mModel = aModel; + setLayout(new BorderLayout()); + setBorder(BorderFactory.createTitledBorder("Details: ")); + + mDetails = new JEditorPane(); + mDetails.setEditable(false); + mDetails.setContentType("text/html"); + add(new JScrollPane(mDetails), BorderLayout.CENTER); + + final ListSelectionModel rowSM = aTable.getSelectionModel(); + rowSM.addListSelectionListener(this); + } + + /** @see ListSelectionListener **/ + public void valueChanged(ListSelectionEvent aEvent) { + //Ignore extra messages. + if (aEvent.getValueIsAdjusting()) { + return; + } + + final ListSelectionModel lsm = (ListSelectionModel) aEvent.getSource(); + if (lsm.isSelectionEmpty()) { + mDetails.setText("Nothing selected"); + } else { + final int selectedRow = lsm.getMinSelectionIndex(); + final EventDetails e = mModel.getEventDetails(selectedRow); + final Object[] args = + { + new Date(e.getTimeStamp()), + e.getPriority(), + escape(e.getThreadName()), + escape(e.getNDC()), + escape(e.getCategoryName()), + escape(e.getLocationDetails()), + escape(e.getMessage()), + escape(getThrowableStrRep(e)) + }; + mDetails.setText(FORMATTER.format(args)); + mDetails.setCaretPosition(0); + } + } + + //////////////////////////////////////////////////////////////////////////// + // Private methods + //////////////////////////////////////////////////////////////////////////// + + /** + * Returns a string representation of a throwable. + * + * @param aEvent contains the throwable information + * @return a <code>String</code> value + */ + private static String getThrowableStrRep(EventDetails aEvent) { + final String[] strs = aEvent.getThrowableStrRep(); + if (strs == null) { + return null; + } + + final StringBuffer sb = new StringBuffer(); + for (int i = 0; i < strs.length; i++) { + sb.append(strs[i]).append("\n"); + } + + return sb.toString(); + } + + /** + * Escape &lt;, &gt; &amp; and &quot; as their entities. It is very + * dumb about &amp; handling. + * @param aStr the String to escape. + * @return the escaped String + */ + private String escape(String aStr) { + if (aStr == null) { + return null; + } + + final StringBuffer buf = new StringBuffer(); + for (int i = 0; i < aStr.length(); i++) { + char c = aStr.charAt(i); + switch (c) { + case '<': + buf.append("&lt;"); + break; + case '>': + buf.append("&gt;"); + break; + case '\"': + buf.append("&quot;"); + break; + case '&': + buf.append("&amp;"); + break; + default: + buf.append(c); + break; + } + } + return buf.toString(); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/EventDetails.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/EventDetails.java new file mode 100644 index 00000000000..4b3ad94a6a7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/EventDetails.java @@ -0,0 +1,135 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.chainsaw; + +import org.apache.log4j.Priority; +import org.apache.log4j.spi.LoggingEvent; + +/** + * Represents the details of a logging event. It is intended to overcome the + * problem that a LoggingEvent cannot be constructed with purely fake data. + * + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + * @version 1.0 + */ +class EventDetails { + + /** the time of the event **/ + private final long mTimeStamp; + /** the priority of the event **/ + private final Priority mPriority; + /** the category of the event **/ + private final String mCategoryName; + /** the NDC for the event **/ + private final String mNDC; + /** the thread for the event **/ + private final String mThreadName; + /** the msg for the event **/ + private final String mMessage; + /** the throwable details the event **/ + private final String[] mThrowableStrRep; + /** the location details for the event **/ + private final String mLocationDetails; + + /** + * Creates a new <code>EventDetails</code> instance. + * @param aTimeStamp a <code>long</code> value + * @param aPriority a <code>Priority</code> value + * @param aCategoryName a <code>String</code> value + * @param aNDC a <code>String</code> value + * @param aThreadName a <code>String</code> value + * @param aMessage a <code>String</code> value + * @param aThrowableStrRep a <code>String[]</code> value + * @param aLocationDetails a <code>String</code> value + */ + EventDetails(long aTimeStamp, + Priority aPriority, + String aCategoryName, + String aNDC, + String aThreadName, + String aMessage, + String[] aThrowableStrRep, + String aLocationDetails) + { + mTimeStamp = aTimeStamp; + mPriority = aPriority; + mCategoryName = aCategoryName; + mNDC = aNDC; + mThreadName = aThreadName; + mMessage = aMessage; + mThrowableStrRep = aThrowableStrRep; + mLocationDetails = aLocationDetails; + } + + /** + * Creates a new <code>EventDetails</code> instance. + * + * @param aEvent a <code>LoggingEvent</code> value + */ + EventDetails(LoggingEvent aEvent) { + + this(aEvent.timeStamp, + aEvent.getLevel(), + aEvent.getLoggerName(), + aEvent.getNDC(), + aEvent.getThreadName(), + aEvent.getRenderedMessage(), + aEvent.getThrowableStrRep(), + (aEvent.getLocationInformation() == null) + ? null : aEvent.getLocationInformation().fullInfo); + } + + /** @see #mTimeStamp **/ + long getTimeStamp() { + return mTimeStamp; + } + + /** @see #mPriority **/ + Priority getPriority() { + return mPriority; + } + + /** @see #mCategoryName **/ + String getCategoryName() { + return mCategoryName; + } + + /** @see #mNDC **/ + String getNDC() { + return mNDC; + } + + /** @see #mThreadName **/ + String getThreadName() { + return mThreadName; + } + + /** @see #mMessage **/ + String getMessage() { + return mMessage; + } + + /** @see #mLocationDetails **/ + String getLocationDetails(){ + return mLocationDetails; + } + + /** @see #mThrowableStrRep **/ + String[] getThrowableStrRep() { + return mThrowableStrRep; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/ExitAction.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/ExitAction.java new file mode 100644 index 00000000000..55a100e29f8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/ExitAction.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.chainsaw; + +import java.awt.event.ActionEvent; +import javax.swing.AbstractAction; +import org.apache.log4j.Logger; + +/** + * Encapsulates the action to exit. + * + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + * @version 1.0 + */ +class ExitAction + extends AbstractAction +{ + /** use to log messages **/ + private static final Logger LOG = Logger.getLogger(ExitAction.class); + /** The instance to share **/ + public static final ExitAction INSTANCE = new ExitAction(); + + /** Stop people creating instances **/ + private ExitAction() {} + + /** + * Will shutdown the application. + * @param aIgnore ignored + */ + public void actionPerformed(ActionEvent aIgnore) { + LOG.info("shutting down"); + System.exit(0); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/LoadXMLAction.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/LoadXMLAction.java new file mode 100644 index 00000000000..33e5d13cf2b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/LoadXMLAction.java @@ -0,0 +1,139 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.chainsaw; + +import java.awt.event.ActionEvent; +import java.io.File; +import java.io.IOException; +import java.io.StringReader; +import javax.swing.AbstractAction; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JOptionPane; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParserFactory; +import org.apache.log4j.Logger; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; + +/** + * Encapsulates the action to load an XML file. + * + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + * @version 1.0 + */ +class LoadXMLAction + extends AbstractAction +{ + /** use to log messages **/ + private static final Logger LOG = Logger.getLogger(LoadXMLAction.class); + + /** the parent frame **/ + private final JFrame mParent; + + /** + * the file chooser - configured to allow only the selection of a + * single file. + */ + private final JFileChooser mChooser = new JFileChooser(); + { + mChooser.setMultiSelectionEnabled(false); + mChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); + } + + /** parser to read XML files **/ + private final XMLReader mParser; + /** the content handler **/ + private final XMLFileHandler mHandler; + + + /** + * Creates a new <code>LoadXMLAction</code> instance. + * + * @param aParent the parent frame + * @param aModel the model to add events to + * @exception SAXException if an error occurs + * @throws ParserConfigurationException if an error occurs + */ + LoadXMLAction(JFrame aParent, MyTableModel aModel) + throws SAXException, ParserConfigurationException + { + mParent = aParent; + mHandler = new XMLFileHandler(aModel); + mParser = SAXParserFactory.newInstance().newSAXParser().getXMLReader(); + mParser.setContentHandler(mHandler); + } + + /** + * Prompts the user for a file to load events from. + * @param aIgnore an <code>ActionEvent</code> value + */ + public void actionPerformed(ActionEvent aIgnore) { + LOG.info("load file called"); + if (mChooser.showOpenDialog(mParent) == JFileChooser.APPROVE_OPTION) { + LOG.info("Need to load a file"); + final File chosen = mChooser.getSelectedFile(); + LOG.info("loading the contents of " + chosen.getAbsolutePath()); + try { + final int num = loadFile(chosen.getAbsolutePath()); + JOptionPane.showMessageDialog( + mParent, + "Loaded " + num + " events.", + "CHAINSAW", + JOptionPane.INFORMATION_MESSAGE); + } catch (Exception e) { + LOG.warn("caught an exception loading the file", e); + JOptionPane.showMessageDialog( + mParent, + "Error parsing file - " + e.getMessage(), + "CHAINSAW", + JOptionPane.ERROR_MESSAGE); + } + } + } + + /** + * Loads the contents of file into the model + * + * @param aFile the file to extract events from + * @return the number of events loaded + * @throws SAXException if an error occurs + * @throws IOException if an error occurs + */ + private int loadFile(String aFile) + throws SAXException, IOException + { + synchronized (mParser) { + // Create a dummy document to parse the file + final StringBuffer buf = new StringBuffer(); + buf.append("<?xml version=\"1.0\" standalone=\"yes\"?>\n"); + buf.append("<!DOCTYPE log4j:eventSet "); + buf.append("[<!ENTITY data SYSTEM \"file:///"); + buf.append(aFile); + buf.append("\">]>\n"); + buf.append("<log4j:eventSet xmlns:log4j=\"Claira\">\n"); + buf.append("&data;\n"); + buf.append("</log4j:eventSet>\n"); + + final InputSource is = + new InputSource(new StringReader(buf.toString())); + mParser.parse(is); + return mHandler.getNumEvents(); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/LoggingReceiver.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/LoggingReceiver.java new file mode 100644 index 00000000000..ca087adcc0d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/LoggingReceiver.java @@ -0,0 +1,121 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.chainsaw; + +import java.io.EOFException; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.net.ServerSocket; +import java.net.Socket; +import java.net.SocketException; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; + +/** + * A daemon thread the processes connections from a + * <code>org.apache.log4j.net.SocketAppender.html</code>. + * + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + */ +class LoggingReceiver extends Thread { + /** used to log messages **/ + private static final Logger LOG = Logger.getLogger(LoggingReceiver.class); + + /** + * Helper that actually processes a client connection. It receives events + * and adds them to the supplied model. + * + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + */ + private class Slurper implements Runnable { + /** socket connection to read events from **/ + private final Socket mClient; + + /** + * Creates a new <code>Slurper</code> instance. + * + * @param aClient socket to receive events from + */ + Slurper(Socket aClient) { + mClient = aClient; + } + + /** loops getting the events **/ + public void run() { + LOG.debug("Starting to get data"); + try { + final ObjectInputStream ois = + new ObjectInputStream(mClient.getInputStream()); + while (true) { + final LoggingEvent event = (LoggingEvent) ois.readObject(); + mModel.addEvent(new EventDetails(event)); + } + } catch (EOFException e) { + LOG.info("Reached EOF, closing connection"); + } catch (SocketException e) { + LOG.info("Caught SocketException, closing connection"); + } catch (IOException e) { + LOG.warn("Got IOException, closing connection", e); + } catch (ClassNotFoundException e) { + LOG.warn("Got ClassNotFoundException, closing connection", e); + } + + try { + mClient.close(); + } catch (IOException e) { + LOG.warn("Error closing connection", e); + } + } + } + + /** where to put the events **/ + private MyTableModel mModel; + + /** server for listening for connections **/ + private ServerSocket mSvrSock; + + /** + * Creates a new <code>LoggingReceiver</code> instance. + * + * @param aModel model to place put received into + * @param aPort port to listen on + * @throws IOException if an error occurs + */ + LoggingReceiver(MyTableModel aModel, int aPort) throws IOException { + setDaemon(true); + mModel = aModel; + mSvrSock = new ServerSocket(aPort); + } + + /** Listens for client connections **/ + public void run() { + LOG.info("Thread started"); + try { + while (true) { + LOG.debug("Waiting for a connection"); + final Socket client = mSvrSock.accept(); + LOG.debug("Got a connection from " + + client.getInetAddress().getHostName()); + final Thread t = new Thread(new Slurper(client)); + t.setDaemon(true); + t.start(); + } + } catch (IOException e) { + LOG.error("Error in accepting connections, stopping.", e); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/Main.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/Main.java new file mode 100644 index 00000000000..c0c9aad71a5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/Main.java @@ -0,0 +1,192 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.chainsaw; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.IOException; +import java.util.Properties; +import javax.swing.BorderFactory; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JSplitPane; +import javax.swing.JTable; +import javax.swing.ListSelectionModel; +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; + +/** + * The main application. + * + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + */ +public class Main + extends JFrame +{ + /** the default port number to listen on **/ + private static final int DEFAULT_PORT = 4445; + + /** name of property for port name **/ + public static final String PORT_PROP_NAME = "chainsaw.port"; + + /** use to log messages **/ + private static final Logger LOG = Logger.getLogger(Main.class); + + + /** + * Creates a new <code>Main</code> instance. + */ + private Main() { + super("CHAINSAW - Log4J Log Viewer"); + // create the all important model + final MyTableModel model = new MyTableModel(); + + //Create the menu bar. + final JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + final JMenu menu = new JMenu("File"); + menuBar.add(menu); + + try { + final LoadXMLAction lxa = new LoadXMLAction(this, model); + final JMenuItem loadMenuItem = new JMenuItem("Load file..."); + menu.add(loadMenuItem); + loadMenuItem.addActionListener(lxa); + } catch (NoClassDefFoundError e) { + LOG.info("Missing classes for XML parser", e); + JOptionPane.showMessageDialog( + this, + "XML parser not in classpath - unable to load XML events.", + "CHAINSAW", + JOptionPane.ERROR_MESSAGE); + } catch (Exception e) { + LOG.info("Unable to create the action to load XML files", e); + JOptionPane.showMessageDialog( + this, + "Unable to create a XML parser - unable to load XML events.", + "CHAINSAW", + JOptionPane.ERROR_MESSAGE); + } + + final JMenuItem exitMenuItem = new JMenuItem("Exit"); + menu.add(exitMenuItem); + exitMenuItem.addActionListener(ExitAction.INSTANCE); + + // Add control panel + final ControlPanel cp = new ControlPanel(model); + getContentPane().add(cp, BorderLayout.NORTH); + + // Create the table + final JTable table = new JTable(model); + table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + final JScrollPane scrollPane = new JScrollPane(table); + scrollPane.setBorder(BorderFactory.createTitledBorder("Events: ")); + scrollPane.setPreferredSize(new Dimension(900, 300)); + + // Create the details + final JPanel details = new DetailPanel(table, model); + details.setPreferredSize(new Dimension(900, 300)); + + // Add the table and stack trace into a splitter + final JSplitPane jsp = + new JSplitPane(JSplitPane.VERTICAL_SPLIT, scrollPane, details); + getContentPane().add(jsp, BorderLayout.CENTER); + + addWindowListener(new WindowAdapter() { + public void windowClosing(WindowEvent aEvent) { + ExitAction.INSTANCE.actionPerformed(null); + } + }); + + pack(); + setVisible(true); + + setupReceiver(model); + } + + /** + * Setup recieving messages. + * + * @param aModel a <code>MyTableModel</code> value + */ + private void setupReceiver(MyTableModel aModel) { + int port = DEFAULT_PORT; + final String strRep = System.getProperty(PORT_PROP_NAME); + if (strRep != null) { + try { + port = Integer.parseInt(strRep); + } catch (NumberFormatException nfe) { + LOG.fatal("Unable to parse " + PORT_PROP_NAME + + " property with value " + strRep + "."); + JOptionPane.showMessageDialog( + this, + "Unable to parse port number from '" + strRep + + "', quitting.", + "CHAINSAW", + JOptionPane.ERROR_MESSAGE); + System.exit(1); + } + } + + try { + final LoggingReceiver lr = new LoggingReceiver(aModel, port); + lr.start(); + } catch (IOException e) { + LOG.fatal("Unable to connect to socket server, quiting", e); + JOptionPane.showMessageDialog( + this, + "Unable to create socket on port " + port + ", quitting.", + "CHAINSAW", + JOptionPane.ERROR_MESSAGE); + System.exit(1); + } + } + + + //////////////////////////////////////////////////////////////////////////// + // static methods + //////////////////////////////////////////////////////////////////////////// + + + /** initialise log4j **/ + private static void initLog4J() { + final Properties props = new Properties(); + props.setProperty("log4j.rootLogger", "DEBUG, A1"); + props.setProperty("log4j.appender.A1", + "org.apache.log4j.ConsoleAppender"); + props.setProperty("log4j.appender.A1.layout", + "org.apache.log4j.TTCCLayout"); + PropertyConfigurator.configure(props); + } + + /** + * The main method. + * + * @param aArgs ignored + */ + public static void main(String[] aArgs) { + initLog4J(); + new Main(); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/MyTableModel.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/MyTableModel.java new file mode 100644 index 00000000000..0d43272c9a7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/MyTableModel.java @@ -0,0 +1,390 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.chainsaw; + +import java.text.DateFormat; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.SortedSet; +import java.util.TreeSet; +import javax.swing.table.AbstractTableModel; +import org.apache.log4j.Priority; +import org.apache.log4j.Logger; + +/** + * Represents a list of <code>EventDetails</code> objects that are sorted on + * logging time. Methods are provided to filter the events that are visible. + * + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + */ +class MyTableModel + extends AbstractTableModel +{ + + /** used to log messages **/ + private static final Logger LOG = Logger.getLogger(MyTableModel.class); + + /** use the compare logging events **/ + private static final Comparator MY_COMP = new Comparator() + { + /** @see Comparator **/ + public int compare(Object aObj1, Object aObj2) { + if ((aObj1 == null) && (aObj2 == null)) { + return 0; // treat as equal + } else if (aObj1 == null) { + return -1; // null less than everything + } else if (aObj2 == null) { + return 1; // think about it. :-> + } + + // will assume only have LoggingEvent + final EventDetails le1 = (EventDetails) aObj1; + final EventDetails le2 = (EventDetails) aObj2; + + if (le1.getTimeStamp() < le2.getTimeStamp()) { + return 1; + } + // assume not two events are logged at exactly the same time + return -1; + } + }; + + /** + * Helper that actually processes incoming events. + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + */ + private class Processor + implements Runnable + { + /** loops getting the events **/ + public void run() { + while (true) { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // ignore + } + + synchronized (mLock) { + if (mPaused) { + continue; + } + + boolean toHead = true; // were events added to head + boolean needUpdate = false; + final Iterator it = mPendingEvents.iterator(); + while (it.hasNext()) { + final EventDetails event = (EventDetails) it.next(); + mAllEvents.add(event); + toHead = toHead && (event == mAllEvents.first()); + needUpdate = needUpdate || matchFilter(event); + } + mPendingEvents.clear(); + + if (needUpdate) { + updateFilteredEvents(toHead); + } + } + } + + } + } + + + /** names of the columns in the table **/ + private static final String[] COL_NAMES = { + "Time", "Priority", "Trace", "Category", "NDC", "Message"}; + + /** definition of an empty list **/ + private static final EventDetails[] EMPTY_LIST = new EventDetails[] {}; + + /** used to format dates **/ + private static final DateFormat DATE_FORMATTER = + DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM); + + /** the lock to control access **/ + private final Object mLock = new Object(); + /** set of all logged events - not filtered **/ + private final SortedSet mAllEvents = new TreeSet(MY_COMP); + /** events that are visible after filtering **/ + private EventDetails[] mFilteredEvents = EMPTY_LIST; + /** list of events that are buffered for processing **/ + private final List mPendingEvents = new ArrayList(); + /** indicates whether event collection is paused to the UI **/ + private boolean mPaused = false; + + /** filter for the thread **/ + private String mThreadFilter = ""; + /** filter for the message **/ + private String mMessageFilter = ""; + /** filter for the NDC **/ + private String mNDCFilter = ""; + /** filter for the category **/ + private String mCategoryFilter = ""; + /** filter for the priority **/ + private Priority mPriorityFilter = Priority.DEBUG; + + + /** + * Creates a new <code>MyTableModel</code> instance. + * + */ + MyTableModel() { + final Thread t = new Thread(new Processor()); + t.setDaemon(true); + t.start(); + } + + + //////////////////////////////////////////////////////////////////////////// + // Table Methods + //////////////////////////////////////////////////////////////////////////// + + /** @see javax.swing.table.TableModel **/ + public int getRowCount() { + synchronized (mLock) { + return mFilteredEvents.length; + } + } + + /** @see javax.swing.table.TableModel **/ + public int getColumnCount() { + // does not need to be synchronized + return COL_NAMES.length; + } + + /** @see javax.swing.table.TableModel **/ + public String getColumnName(int aCol) { + // does not need to be synchronized + return COL_NAMES[aCol]; + } + + /** @see javax.swing.table.TableModel **/ + public Class getColumnClass(int aCol) { + // does not need to be synchronized + return (aCol == 2) ? Boolean.class : Object.class; + } + + /** @see javax.swing.table.TableModel **/ + public Object getValueAt(int aRow, int aCol) { + synchronized (mLock) { + final EventDetails event = mFilteredEvents[aRow]; + + if (aCol == 0) { + return DATE_FORMATTER.format(new Date(event.getTimeStamp())); + } else if (aCol == 1) { + return event.getPriority(); + } else if (aCol == 2) { + return (event.getThrowableStrRep() == null) + ? Boolean.FALSE : Boolean.TRUE; + } else if (aCol == 3) { + return event.getCategoryName(); + } else if (aCol == 4) { + return event.getNDC(); + } + return event.getMessage(); + } + } + + //////////////////////////////////////////////////////////////////////////// + // Public Methods + //////////////////////////////////////////////////////////////////////////// + + /** + * Sets the priority to filter events on. Only events of equal or higher + * property are now displayed. + * + * @param aPriority the priority to filter on + */ + public void setPriorityFilter(Priority aPriority) { + synchronized (mLock) { + mPriorityFilter = aPriority; + updateFilteredEvents(false); + } + } + + /** + * Set the filter for the thread field. + * + * @param aStr the string to match + */ + public void setThreadFilter(String aStr) { + synchronized (mLock) { + mThreadFilter = aStr.trim(); + updateFilteredEvents(false); + } + } + + /** + * Set the filter for the message field. + * + * @param aStr the string to match + */ + public void setMessageFilter(String aStr) { + synchronized (mLock) { + mMessageFilter = aStr.trim(); + updateFilteredEvents(false); + } + } + + /** + * Set the filter for the NDC field. + * + * @param aStr the string to match + */ + public void setNDCFilter(String aStr) { + synchronized (mLock) { + mNDCFilter = aStr.trim(); + updateFilteredEvents(false); + } + } + + /** + * Set the filter for the category field. + * + * @param aStr the string to match + */ + public void setCategoryFilter(String aStr) { + synchronized (mLock) { + mCategoryFilter = aStr.trim(); + updateFilteredEvents(false); + } + } + + /** + * Add an event to the list. + * + * @param aEvent a <code>EventDetails</code> value + */ + public void addEvent(EventDetails aEvent) { + synchronized (mLock) { + mPendingEvents.add(aEvent); + } + } + + /** + * Clear the list of all events. + */ + public void clear() { + synchronized (mLock) { + mAllEvents.clear(); + mFilteredEvents = new EventDetails[0]; + mPendingEvents.clear(); + fireTableDataChanged(); + } + } + + /** Toggle whether collecting events **/ + public void toggle() { + synchronized (mLock) { + mPaused = !mPaused; + } + } + + /** @return whether currently paused collecting events **/ + public boolean isPaused() { + synchronized (mLock) { + return mPaused; + } + } + + /** + * Get the throwable information at a specified row in the filtered events. + * + * @param aRow the row index of the event + * @return the throwable information + */ + public EventDetails getEventDetails(int aRow) { + synchronized (mLock) { + return mFilteredEvents[aRow]; + } + } + + //////////////////////////////////////////////////////////////////////////// + // Private methods + //////////////////////////////////////////////////////////////////////////// + + /** + * Update the filtered events data structure. + * @param aInsertedToFront indicates whether events were added to front of + * the events. If true, then the current first event must still exist + * in the list after the filter is applied. + */ + private void updateFilteredEvents(boolean aInsertedToFront) { + final long start = System.currentTimeMillis(); + final List filtered = new ArrayList(); + final int size = mAllEvents.size(); + final Iterator it = mAllEvents.iterator(); + + while (it.hasNext()) { + final EventDetails event = (EventDetails) it.next(); + if (matchFilter(event)) { + filtered.add(event); + } + } + + final EventDetails lastFirst = (mFilteredEvents.length == 0) + ? null + : mFilteredEvents[0]; + mFilteredEvents = (EventDetails[]) filtered.toArray(EMPTY_LIST); + + if (aInsertedToFront && (lastFirst != null)) { + final int index = filtered.indexOf(lastFirst); + if (index < 1) { + LOG.warn("In strange state"); + fireTableDataChanged(); + } else { + fireTableRowsInserted(0, index - 1); + } + } else { + fireTableDataChanged(); + } + + final long end = System.currentTimeMillis(); + LOG.debug("Total time [ms]: " + (end - start) + + " in update, size: " + size); + } + + /** + * Returns whether an event matches the filters. + * + * @param aEvent the event to check for a match + * @return whether the event matches + */ + private boolean matchFilter(EventDetails aEvent) { + if (aEvent.getPriority().isGreaterOrEqual(mPriorityFilter) && + (aEvent.getThreadName().indexOf(mThreadFilter) >= 0) && + (aEvent.getCategoryName().indexOf(mCategoryFilter) >= 0) && + ((mNDCFilter.length() == 0) || + ((aEvent.getNDC() != null) && + (aEvent.getNDC().indexOf(mNDCFilter) >= 0)))) + { + final String rm = aEvent.getMessage(); + if (rm == null) { + // only match if we have not filtering in place + return (mMessageFilter.length() == 0); + } else { + return (rm.indexOf(mMessageFilter) >= 0); + } + } + + return false; // by default not match + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/XMLFileHandler.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/XMLFileHandler.java new file mode 100644 index 00000000000..2f9af5125ef --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/XMLFileHandler.java @@ -0,0 +1,170 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.chainsaw; + +import java.util.StringTokenizer; +import org.apache.log4j.Level; +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +/** + * A content handler for document containing Log4J events logged using the + * XMLLayout class. It will create events and add them to a supplied model. + * + * @author <a href="mailto:oliver@puppycrawl.com">Oliver Burn</a> + * @version 1.0 + */ +class XMLFileHandler + extends DefaultHandler +{ + /** represents the event tag **/ + private static final String TAG_EVENT = "log4j:event"; + /** represents the message tag **/ + private static final String TAG_MESSAGE = "log4j:message"; + /** represents the ndc tag **/ + private static final String TAG_NDC = "log4j:NDC"; + /** represents the throwable tag **/ + private static final String TAG_THROWABLE = "log4j:throwable"; + /** represents the location info tag **/ + private static final String TAG_LOCATION_INFO = "log4j:locationInfo"; + + /** where to put the events **/ + private final MyTableModel mModel; + /** the number of events in the document **/ + private int mNumEvents; + + /** the time of the event **/ + private long mTimeStamp; + /** the priority (level) of the event **/ + private Level mLevel; + /** the category of the event **/ + private String mCategoryName; + /** the NDC for the event **/ + private String mNDC; + /** the thread for the event **/ + private String mThreadName; + /** the msg for the event **/ + private String mMessage; + /** the throwable details the event **/ + private String[] mThrowableStrRep; + /** the location details for the event **/ + private String mLocationDetails; + /** buffer for collecting text **/ + private final StringBuffer mBuf = new StringBuffer(); + + /** + * Creates a new <code>XMLFileHandler</code> instance. + * + * @param aModel where to add the events + */ + XMLFileHandler(MyTableModel aModel) { + mModel = aModel; + } + + /** @see DefaultHandler **/ + public void startDocument() + throws SAXException + { + mNumEvents = 0; + } + + /** @see DefaultHandler **/ + public void characters(char[] aChars, int aStart, int aLength) { + mBuf.append(String.valueOf(aChars, aStart, aLength)); + } + + /** @see DefaultHandler **/ + public void endElement(String aNamespaceURI, + String aLocalName, + String aQName) + { + if (TAG_EVENT.equals(aQName)) { + addEvent(); + resetData(); + } else if (TAG_NDC.equals(aQName)) { + mNDC = mBuf.toString(); + } else if (TAG_MESSAGE.equals(aQName)) { + mMessage = mBuf.toString(); + } else if (TAG_THROWABLE.equals(aQName)) { + final StringTokenizer st = + new StringTokenizer(mBuf.toString(), "\n\t"); + mThrowableStrRep = new String[st.countTokens()]; + if (mThrowableStrRep.length > 0) { + mThrowableStrRep[0] = st.nextToken(); + for (int i = 1; i < mThrowableStrRep.length; i++) { + mThrowableStrRep[i] = "\t" + st.nextToken(); + } + } + } + } + + /** @see DefaultHandler **/ + public void startElement(String aNamespaceURI, + String aLocalName, + String aQName, + Attributes aAtts) + { + mBuf.setLength(0); + + if (TAG_EVENT.equals(aQName)) { + mThreadName = aAtts.getValue("thread"); + mTimeStamp = Long.parseLong(aAtts.getValue("timestamp")); + mCategoryName = aAtts.getValue("logger"); + mLevel = Level.toLevel(aAtts.getValue("level")); + } else if (TAG_LOCATION_INFO.equals(aQName)) { + mLocationDetails = aAtts.getValue("class") + "." + + aAtts.getValue("method") + + "(" + aAtts.getValue("file") + ":" + aAtts.getValue("line") + + ")"; + } + } + + /** @return the number of events in the document **/ + int getNumEvents() { + return mNumEvents; + } + + //////////////////////////////////////////////////////////////////////////// + // Private methods + //////////////////////////////////////////////////////////////////////////// + + /** Add an event to the model **/ + private void addEvent() { + mModel.addEvent(new EventDetails(mTimeStamp, + mLevel, + mCategoryName, + mNDC, + mThreadName, + mMessage, + mThrowableStrRep, + mLocationDetails)); + mNumEvents++; + } + + /** Reset the data for an event **/ + private void resetData() { + mTimeStamp = 0; + mLevel = null; + mCategoryName = null; + mNDC = null; + mThreadName = null; + mMessage = null; + mThrowableStrRep = null; + mLocationDetails = null; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/doc-files/screen_01.png b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/doc-files/screen_01.png new file mode 100644 index 0000000000000000000000000000000000000000..1a9c26dbc21aef199b25682a08bc0b3996269bce GIT binary patch literal 23150 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 K#x%#oIs6}uwm7x` literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/package.html new file mode 100644 index 00000000000..5b014800eac --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/chainsaw/package.html @@ -0,0 +1,118 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<HTML> + <HEAD> + <TITLE>Chainsaw Tool</TITLE> + </head> + + <BODY> + + <P>Chainsaw is a GUI log viewer and filter for the log4j +package. By default it listens for <a +href="../spi/LoggingEvent.html">LoggingEvent</A> objects sent using +the <A href="../net/SocketAppender.html">SocketAppender</A> and +displays them in a table. The events can be filtered based on:</P> + + <UL> + <LI>Level </li> + + <LI>Thread name</li> + + <LI>Logger</li> + <LI>Message</li> + + <LI>NDC</LI> + </UL> + + <P>All the details for each event can be displayed by selecting + the event in the table.</P> + + <P>Chainsaw also supports loading a events logged to a file using + the <A href="../xml/XMLLayout.html">XMLLayout</A> format. This + is great for analysing log files, and means you do not need to + keep Chainsaw running continously. It is easy to add support + for loading events from other sources like JDBC.</P> + + <P>A picture is worth a thousand words: </P> + + <P align=center><A + href="doc-files/screen_01.png"><IMG + height="50%" alt="Screen shot of chainsaw" + src="doc-files/screen_01.png" + width="50%"></A>.</P> + + <P>Finally, why is it called chainsaw? + Because it cuts your log (file) down to size. :-) + </P> + + + <H2>Requirements</H2> + + <P>Chainsaw is based on the Swing API which requires JDK 1.2 or later.</P> + + + <H2>Running chainsaw</H2> + + <H3>Setup</H3> + <P>You need to include the <code>log4j.jar</code> in the classpath. + + <H3>Usage</H3> + + <P>The command line usage is:</P> + + <PRE> java -D&lt;property&gt;=&lt;value&gt; org.apache.log4j.chainsaw.Main </PRE> + + <P>The default behaviour of chainsaw can be changed by setting system properties + using the <CODE>-D&lt;property&gt;=&lt;value&gt;</CODE> arguments to java. The + following table describes what properties can be set:</P> + + <TABLE cellSpacing=0 cellPadding=2 border=1> + + <TR> + <TD vAlign=top><B>Property</B></TD> + <TD vAlign=top><B>Description</B></TD></TR> + <TR> + <TD vAlign=top>chainsaw.port</TD> + <TD vAlign=top>Indicates which port to listen for connections on. Defaults + to <SPAN class=default>"4445"</SPAN>. + </TD> + </TR> + </TBODY> + </TABLE> + + <H2>Configuring Log4J</H2> + + <P>You will need to configure log4j to send logging events to + Chainsaw. Here is a sample <CODE>log4j.properties</CODE> file + for sending logging events to Chainsaw.</P> + +<PRE> +log4j.rootLogger=DEBUG, CHAINSAW_CLIENT + +log4j.appender.CHAINSAW_CLIENT=org.apache.log4j.net.SocketAppender +log4j.appender.CHAINSAW_CLIENT.RemoteHost=localhost +log4j.appender.CHAINSAW_CLIENT.Port=4445 +log4j.appender.CHAINSAW_CLIENT.LocationInfo=true +</PRE> + + + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertyGetter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertyGetter.java new file mode 100644 index 00000000000..5233699f3ea --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertyGetter.java @@ -0,0 +1,108 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.config; + +import org.apache.log4j.Priority; +import org.apache.log4j.helpers.LogLog; + +import java.beans.BeanInfo; +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; +import java.io.InterruptedIOException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + + +/** + Used for inferring configuration information for a log4j's component. + + @author Anders Kristensen + */ +public class PropertyGetter { + protected static final Object[] NULL_ARG = new Object[] {}; + protected Object obj; + protected PropertyDescriptor[] props; + + public interface PropertyCallback { + void foundProperty(Object obj, String prefix, String name, Object value); + } + + /** + Create a new PropertyGetter for the specified Object. This is done + in prepartion for invoking {@link + #getProperties(PropertyGetter.PropertyCallback, String)} one or + more times. + + @param obj the object for which to set properties */ + public + PropertyGetter(Object obj) throws IntrospectionException { + BeanInfo bi = Introspector.getBeanInfo(obj.getClass()); + props = bi.getPropertyDescriptors(); + this.obj = obj; + } + + public + static + void getProperties(Object obj, PropertyCallback callback, String prefix) { + try { + new PropertyGetter(obj).getProperties(callback, prefix); + } catch (IntrospectionException ex) { + LogLog.error("Failed to introspect object " + obj, ex); + } + } + + public + void getProperties(PropertyCallback callback, String prefix) { + for (int i = 0; i < props.length; i++) { + Method getter = props[i].getReadMethod(); + if (getter == null) continue; + if (!isHandledType(getter.getReturnType())) { + //System.err.println("Ignoring " + props[i].getName() +" " + getter.getReturnType()); + continue; + } + String name = props[i].getName(); + try { + Object result = getter.invoke(obj, NULL_ARG); + //System.err.println("PROP " + name +": " + result); + if (result != null) { + callback.foundProperty(obj, prefix, name, result); + } + } catch (IllegalAccessException ex) { + LogLog.warn("Failed to get value of property " + name); + } catch (InvocationTargetException ex) { + if (ex.getTargetException() instanceof InterruptedException + || ex.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.warn("Failed to get value of property " + name); + } catch (RuntimeException ex) { + LogLog.warn("Failed to get value of property " + name); + } + } + } + + protected + boolean isHandledType(Class type) { + return String.class.isAssignableFrom(type) || + Integer.TYPE.isAssignableFrom(type) || + Long.TYPE.isAssignableFrom(type) || + Boolean.TYPE.isAssignableFrom(type) || + Priority.class.isAssignableFrom(type); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertyPrinter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertyPrinter.java new file mode 100644 index 00000000000..517079f84d9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertyPrinter.java @@ -0,0 +1,168 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.config; + +import org.apache.log4j.Appender; +import org.apache.log4j.Category; +import org.apache.log4j.Level; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; + +import java.io.PrintWriter; +import java.util.Enumeration; +import java.util.Hashtable; + +/** + Prints the configuration of the log4j default hierarchy + (which needs to be auto-initialized) as a propoperties file + on a {@link PrintWriter}. + + @author Anders Kristensen + */ +public class PropertyPrinter implements PropertyGetter.PropertyCallback { + protected int numAppenders = 0; + protected Hashtable appenderNames = new Hashtable(); + protected Hashtable layoutNames = new Hashtable(); + protected PrintWriter out; + protected boolean doCapitalize; + + public + PropertyPrinter(PrintWriter out) { + this(out, false); + } + + public + PropertyPrinter(PrintWriter out, boolean doCapitalize) { + this.out = out; + this.doCapitalize = doCapitalize; + + print(out); + out.flush(); + } + + protected + String genAppName() { + return "A" + numAppenders++; + } + + /** + * Returns true if the specified appender name is considered to have + * been generated, that is, if it is of the form A[0-9]+. + */ + protected + boolean isGenAppName(String name) { + if (name.length() < 2 || name.charAt(0) != 'A') return false; + + for (int i = 0; i < name.length(); i++) { + if (name.charAt(i) < '0' || name.charAt(i) > '9') return false; + } + return true; + } + + /** + * Prints the configuration of the default log4j hierarchy as a Java + * properties file on the specified Writer. + * + * <p>N.B. print() can be invoked only once! + */ + public + void print(PrintWriter out) { + printOptions(out, Logger.getRootLogger()); + + Enumeration cats = LogManager.getCurrentLoggers(); + while (cats.hasMoreElements()) { + printOptions(out, (Logger) cats.nextElement()); + } + } + + /** + * @since 1.2.15 + */ + protected + void printOptions(PrintWriter out, Category cat) { + Enumeration appenders = cat.getAllAppenders(); + Level prio = cat.getLevel(); + String appenderString = (prio == null ? "" : prio.toString()); + + while (appenders.hasMoreElements()) { + Appender app = (Appender) appenders.nextElement(); + String name; + + if ((name = (String) appenderNames.get(app)) == null) { + + // first assign name to the appender + if ((name = app.getName()) == null || isGenAppName(name)) { + name = genAppName(); + } + appenderNames.put(app, name); + + printOptions(out, app, "log4j.appender."+name); + if (app.getLayout() != null) { + printOptions(out, app.getLayout(), "log4j.appender."+name+".layout"); + } + } + appenderString += ", " + name; + } + String catKey = (cat == Logger.getRootLogger()) + ? "log4j.rootLogger" + : "log4j.logger." + cat.getName(); + if (appenderString != "") { + out.println(catKey + "=" + appenderString); + } + if (!cat.getAdditivity() && cat != Logger.getRootLogger()) { + out.println("log4j.additivity." + cat.getName() + "=false"); + } + } + + protected void printOptions(PrintWriter out, Logger cat) { + printOptions(out, (Category) cat); + } + + protected + void printOptions(PrintWriter out, Object obj, String fullname) { + out.println(fullname + "=" + obj.getClass().getName()); + PropertyGetter.getProperties(obj, this, fullname + "."); + } + + public void foundProperty(Object obj, String prefix, String name, Object value) { + // XXX: Properties encode value.toString() + if (obj instanceof Appender && "name".equals(name)) { + return; + } + if (doCapitalize) { + name = capitalize(name); + } + out.println(prefix + name + "=" + value.toString()); + } + + public static String capitalize(String name) { + if (Character.isLowerCase(name.charAt(0))) { + if (name.length() == 1 || Character.isLowerCase(name.charAt(1))) { + StringBuffer newname = new StringBuffer(name); + newname.setCharAt(0, Character.toUpperCase(name.charAt(0))); + return newname.toString(); + } + } + return name; + } + + // for testing + public static void main(String[] args) { + new PropertyPrinter(new PrintWriter(System.out)); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertySetter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertySetter.java new file mode 100644 index 00000000000..61d36ef2198 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertySetter.java @@ -0,0 +1,310 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contributors: Georg Lundesgaard + +package org.apache.log4j.config; + +import org.apache.log4j.Appender; +import org.apache.log4j.Level; +import org.apache.log4j.Priority; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.spi.OptionHandler; +import org.apache.log4j.spi.ErrorHandler; + +import java.beans.BeanInfo; +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; +import java.io.InterruptedIOException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Enumeration; +import java.util.Properties; + +/** + General purpose Object property setter. Clients repeatedly invokes + {@link #setProperty setProperty(name,value)} in order to invoke setters + on the Object specified in the constructor. This class relies on the + JavaBeans {@link Introspector} to analyze the given Object Class using + reflection. + + <p>Usage: + <pre> + PropertySetter ps = new PropertySetter(anObject); + ps.set("name", "Joe"); + ps.set("age", "32"); + ps.set("isMale", "true"); + </pre> + will cause the invocations anObject.setName("Joe"), anObject.setAge(32), + and setMale(true) if such methods exist with those signatures. + Otherwise an {@link IntrospectionException} are thrown. + + @author Anders Kristensen + @since 1.1 + */ +public class PropertySetter { + protected Object obj; + protected PropertyDescriptor[] props; + + /** + Create a new PropertySetter for the specified Object. This is done + in prepartion for invoking {@link #setProperty} one or more times. + + @param obj the object for which to set properties + */ + public + PropertySetter(Object obj) { + this.obj = obj; + } + + /** + Uses JavaBeans {@link Introspector} to computer setters of object to be + configured. + */ + protected + void introspect() { + try { + BeanInfo bi = Introspector.getBeanInfo(obj.getClass()); + props = bi.getPropertyDescriptors(); + } catch (IntrospectionException ex) { + LogLog.error("Failed to introspect "+obj+": " + ex.getMessage()); + props = new PropertyDescriptor[0]; + } + } + + + /** + Set the properties of an object passed as a parameter in one + go. The <code>properties</code> are parsed relative to a + <code>prefix</code>. + + @param obj The object to configure. + @param properties A java.util.Properties containing keys and values. + @param prefix Only keys having the specified prefix will be set. + */ + public + static + void setProperties(Object obj, Properties properties, String prefix) { + new PropertySetter(obj).setProperties(properties, prefix); + } + + + /** + Set the properites for the object that match the + <code>prefix</code> passed as parameter. + + + */ + public + void setProperties(Properties properties, String prefix) { + int len = prefix.length(); + + for (Enumeration e = properties.propertyNames(); e.hasMoreElements(); ) { + String key = (String) e.nextElement(); + + // handle only properties that start with the desired frefix. + if (key.startsWith(prefix)) { + + + // ignore key if it contains dots after the prefix + if (key.indexOf('.', len + 1) > 0) { + //System.err.println("----------Ignoring---["+key + // +"], prefix=["+prefix+"]."); + continue; + } + + String value = OptionConverter.findAndSubst(key, properties); + key = key.substring(len); + if (("layout".equals(key) || "errorhandler".equals(key)) && obj instanceof Appender) { + continue; + } + // + // if the property type is an OptionHandler + // (for example, triggeringPolicy of org.apache.log4j.rolling.RollingFileAppender) + PropertyDescriptor prop = getPropertyDescriptor(Introspector.decapitalize(key)); + if (prop != null + && OptionHandler.class.isAssignableFrom(prop.getPropertyType()) + && prop.getWriteMethod() != null) { + OptionHandler opt = (OptionHandler) + OptionConverter.instantiateByKey(properties, prefix + key, + prop.getPropertyType(), + null); + PropertySetter setter = new PropertySetter(opt); + setter.setProperties(properties, prefix + key + "."); + try { + prop.getWriteMethod().invoke(this.obj, new Object[] { opt }); + } catch(IllegalAccessException ex) { + LogLog.warn("Failed to set property [" + key + + "] to value \"" + value + "\". ", ex); + } catch(InvocationTargetException ex) { + if (ex.getTargetException() instanceof InterruptedException + || ex.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.warn("Failed to set property [" + key + + "] to value \"" + value + "\". ", ex); + } catch(RuntimeException ex) { + LogLog.warn("Failed to set property [" + key + + "] to value \"" + value + "\". ", ex); + } + continue; + } + + setProperty(key, value); + } + } + activate(); + } + + /** + Set a property on this PropertySetter's Object. If successful, this + method will invoke a setter method on the underlying Object. The + setter is the one for the specified property name and the value is + determined partly from the setter argument type and partly from the + value specified in the call to this method. + + <p>If the setter expects a String no conversion is necessary. + If it expects an int, then an attempt is made to convert 'value' + to an int using new Integer(value). If the setter expects a boolean, + the conversion is by new Boolean(value). + + @param name name of the property + @param value String value of the property + */ + public + void setProperty(String name, String value) { + if (value == null) return; + + name = Introspector.decapitalize(name); + PropertyDescriptor prop = getPropertyDescriptor(name); + + //LogLog.debug("---------Key: "+name+", type="+prop.getPropertyType()); + + if (prop == null) { + LogLog.warn("No such property [" + name + "] in "+ + obj.getClass().getName()+"." ); + } else { + try { + setProperty(prop, name, value); + } catch (PropertySetterException ex) { + LogLog.warn("Failed to set property [" + name + + "] to value \"" + value + "\". ", ex.rootCause); + } + } + } + + /** + Set the named property given a {@link PropertyDescriptor}. + + @param prop A PropertyDescriptor describing the characteristics + of the property to set. + @param name The named of the property to set. + @param value The value of the property. + */ + public + void setProperty(PropertyDescriptor prop, String name, String value) + throws PropertySetterException { + Method setter = prop.getWriteMethod(); + if (setter == null) { + throw new PropertySetterException("No setter for property ["+name+"]."); + } + Class[] paramTypes = setter.getParameterTypes(); + if (paramTypes.length != 1) { + throw new PropertySetterException("#params for setter != 1"); + } + + Object arg; + try { + arg = convertArg(value, paramTypes[0]); + } catch (Throwable t) { + throw new PropertySetterException("Conversion to type ["+paramTypes[0]+ + "] failed. Reason: "+t); + } + if (arg == null) { + throw new PropertySetterException( + "Conversion to type ["+paramTypes[0]+"] failed."); + } + LogLog.debug("Setting property [" + name + "] to [" +arg+"]."); + try { + setter.invoke(obj, new Object[] { arg }); + } catch (IllegalAccessException ex) { + throw new PropertySetterException(ex); + } catch (InvocationTargetException ex) { + if (ex.getTargetException() instanceof InterruptedException + || ex.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + throw new PropertySetterException(ex); + } catch (RuntimeException ex) { + throw new PropertySetterException(ex); + } + } + + + /** + Convert <code>val</code> a String parameter to an object of a + given type. + */ + protected + Object convertArg(String val, Class type) { + if(val == null) + return null; + + String v = val.trim(); + if (String.class.isAssignableFrom(type)) { + return val; + } else if (Integer.TYPE.isAssignableFrom(type)) { + return new Integer(v); + } else if (Long.TYPE.isAssignableFrom(type)) { + return new Long(v); + } else if (Boolean.TYPE.isAssignableFrom(type)) { + if ("true".equalsIgnoreCase(v)) { + return Boolean.TRUE; + } else if ("false".equalsIgnoreCase(v)) { + return Boolean.FALSE; + } + } else if (Priority.class.isAssignableFrom(type)) { + return OptionConverter.toLevel(v, (Level) Level.DEBUG); + } else if (ErrorHandler.class.isAssignableFrom(type)) { + return OptionConverter.instantiateByClassName(v, + ErrorHandler.class, null); + } + return null; + } + + + protected + PropertyDescriptor getPropertyDescriptor(String name) { + if (props == null) introspect(); + + for (int i = 0; i < props.length; i++) { + if (name.equals(props[i].getName())) { + return props[i]; + } + } + return null; + } + + public + void activate() { + if (obj instanceof OptionHandler) { + ((OptionHandler) obj).activateOptions(); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertySetterException.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertySetterException.java new file mode 100644 index 00000000000..c6314cca41d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/PropertySetterException.java @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.config; + +/** + * Thrown when an error is encountered whilst attempting to set a property + * using the {@link PropertySetter} utility class. + * + * @author Anders Kristensen + * @since 1.1 + */ +public class PropertySetterException extends Exception { + private static final long serialVersionUID = -1352613734254235861L; + protected Throwable rootCause; + + public + PropertySetterException(String msg) { + super(msg); + } + + public + PropertySetterException(Throwable rootCause) + { + super(); + this.rootCause = rootCause; + } + + /** + Returns descriptive text on the cause of this exception. + */ + public + String getMessage() { + String msg = super.getMessage(); + if (msg == null && rootCause != null) { + msg = rootCause.getMessage(); + } + return msg; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/package.html new file mode 100644 index 00000000000..973dce4ffe3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/config/package.html @@ -0,0 +1,23 @@ +<html> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<body> +Package used in getting/setting component properties. +</body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/AbsoluteTimeDateFormat.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/AbsoluteTimeDateFormat.java new file mode 100644 index 00000000000..737ee85fa49 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/AbsoluteTimeDateFormat.java @@ -0,0 +1,145 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import java.util.Date; +import java.util.Calendar; +import java.util.TimeZone; +import java.text.FieldPosition; +import java.text.ParsePosition; +import java.text.DateFormat; + + +/** + Formats a {@link Date} in the format "HH:mm:ss,SSS" for example, + "15:49:37,459". + + @author Ceki G&uuml;lc&uuml; + @author Andrew Vajoczki + + @since 0.7.5 +*/ +public class AbsoluteTimeDateFormat extends DateFormat { + private static final long serialVersionUID = -388856345976723342L; + + /** + String constant used to specify {@link + org.apache.log4j.helpers.AbsoluteTimeDateFormat} in layouts. Current + value is <b>ABSOLUTE</b>. */ + public final static String ABS_TIME_DATE_FORMAT = "ABSOLUTE"; + + /** + String constant used to specify {@link + org.apache.log4j.helpers.DateTimeDateFormat} in layouts. Current + value is <b>DATE</b>. + */ + public final static String DATE_AND_TIME_DATE_FORMAT = "DATE"; + + /** + String constant used to specify {@link + org.apache.log4j.helpers.ISO8601DateFormat} in layouts. Current + value is <b>ISO8601</b>. + */ + public final static String ISO8601_DATE_FORMAT = "ISO8601"; + + public + AbsoluteTimeDateFormat() { + setCalendar(Calendar.getInstance()); + } + + public + AbsoluteTimeDateFormat(TimeZone timeZone) { + setCalendar(Calendar.getInstance(timeZone)); + } + + private static long previousTime; + private static char[] previousTimeWithoutMillis = new char[9]; // "HH:mm:ss." + + /** + Appends to <code>sbuf</code> the time in the format + "HH:mm:ss,SSS" for example, "15:49:37,459" + + @param date the date to format + @param sbuf the string buffer to write to + @param fieldPosition remains untouched + */ + public + StringBuffer format(Date date, StringBuffer sbuf, + FieldPosition fieldPosition) { + + long now = date.getTime(); + int millis = (int)(now % 1000); + + if ((now - millis) != previousTime || previousTimeWithoutMillis[0] == 0) { + // We reach this point at most once per second + // across all threads instead of each time format() + // is called. This saves considerable CPU time. + + calendar.setTime(date); + + int start = sbuf.length(); + + int hour = calendar.get(Calendar.HOUR_OF_DAY); + if(hour < 10) { + sbuf.append('0'); + } + sbuf.append(hour); + sbuf.append(':'); + + int mins = calendar.get(Calendar.MINUTE); + if(mins < 10) { + sbuf.append('0'); + } + sbuf.append(mins); + sbuf.append(':'); + + int secs = calendar.get(Calendar.SECOND); + if(secs < 10) { + sbuf.append('0'); + } + sbuf.append(secs); + sbuf.append(','); + + // store the time string for next time to avoid recomputation + sbuf.getChars(start, sbuf.length(), previousTimeWithoutMillis, 0); + + previousTime = now - millis; + } + else { + sbuf.append(previousTimeWithoutMillis); + } + + + + if(millis < 100) + sbuf.append('0'); + if(millis < 10) + sbuf.append('0'); + + sbuf.append(millis); + return sbuf; + } + + /** + This method does not do anything but return <code>null</code>. + */ + public + Date parse(String s, ParsePosition pos) { + return null; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java new file mode 100644 index 00000000000..0e8cd38283e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java @@ -0,0 +1,176 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import org.apache.log4j.spi.AppenderAttachable; +import org.apache.log4j.spi.LoggingEvent; + +import org.apache.log4j.Appender; +import java.util.Vector; +import java.util.Enumeration; + +/** + A straightforward implementation of the {@link AppenderAttachable} + interface. + + @author Ceki G&uuml;lc&uuml; + @since version 0.9.1 */ +public class AppenderAttachableImpl implements AppenderAttachable { + + /** Array of appenders. */ + protected Vector appenderList; + + /** + Attach an appender. If the appender is already in the list in + won't be added again. + */ + public + void addAppender(Appender newAppender) { + // Null values for newAppender parameter are strictly forbidden. + if(newAppender == null) + return; + + if(appenderList == null) { + appenderList = new Vector(1); + } + if(!appenderList.contains(newAppender)) + appenderList.addElement(newAppender); + } + + /** + Call the <code>doAppend</code> method on all attached appenders. */ + public + int appendLoopOnAppenders(LoggingEvent event) { + int size = 0; + Appender appender; + + if(appenderList != null) { + size = appenderList.size(); + for(int i = 0; i < size; i++) { + appender = (Appender) appenderList.elementAt(i); + appender.doAppend(event); + } + } + return size; + } + + + /** + Get all attached appenders as an Enumeration. If there are no + attached appenders <code>null</code> is returned. + + @return Enumeration An enumeration of attached appenders. + */ + public + Enumeration getAllAppenders() { + if(appenderList == null) + return null; + else + return appenderList.elements(); + } + + /** + Look for an attached appender named as <code>name</code>. + + <p>Return the appender with that name if in the list. Return null + otherwise. + + */ + public + Appender getAppender(String name) { + if(appenderList == null || name == null) + return null; + + int size = appenderList.size(); + Appender appender; + for(int i = 0; i < size; i++) { + appender = (Appender) appenderList.elementAt(i); + if(name.equals(appender.getName())) + return appender; + } + return null; + } + + + /** + Returns <code>true</code> if the specified appender is in the + list of attached appenders, <code>false</code> otherwise. + + @since 1.2 */ + public + boolean isAttached(Appender appender) { + if(appenderList == null || appender == null) + return false; + + int size = appenderList.size(); + Appender a; + for(int i = 0; i < size; i++) { + a = (Appender) appenderList.elementAt(i); + if(a == appender) + return true; + } + return false; + } + + + + /** + * Remove and close all previously attached appenders. + * */ + public + void removeAllAppenders() { + if(appenderList != null) { + int len = appenderList.size(); + for(int i = 0; i < len; i++) { + Appender a = (Appender) appenderList.elementAt(i); + a.close(); + } + appenderList.removeAllElements(); + appenderList = null; + } + } + + + /** + Remove the appender passed as parameter form the list of attached + appenders. */ + public + void removeAppender(Appender appender) { + if(appender == null || appenderList == null) + return; + appenderList.removeElement(appender); + } + + + /** + Remove the appender with the name passed as parameter form the + list of appenders. + */ + public + void removeAppender(String name) { + if(name == null || appenderList == null) return; + int size = appenderList.size(); + for(int i = 0; i < size; i++) { + if(name.equals(((Appender)appenderList.elementAt(i)).getName())) { + appenderList.removeElementAt(i); + break; + } + } + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/BoundedFIFO.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/BoundedFIFO.java new file mode 100644 index 00000000000..e5ce96ce028 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/BoundedFIFO.java @@ -0,0 +1,181 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contributors: Mathias Bogaert +// joelr@viair.com + +package org.apache.log4j.helpers; + +import org.apache.log4j.spi.LoggingEvent; + +/** + <code>BoundedFIFO</code> serves as the bounded first-in-first-out + buffer heavily used by the {@link org.apache.log4j.AsyncAppender}. + + @author Ceki G&uuml;lc&uuml; + @since version 0.9.1 */ +public class BoundedFIFO { + + LoggingEvent[] buf; + int numElements = 0; + int first = 0; + int next = 0; + int maxSize; + + /** + Instantiate a new BoundedFIFO with a maximum size passed as argument. + */ + public + BoundedFIFO(int maxSize) { + if(maxSize < 1) { + throw new IllegalArgumentException("The maxSize argument ("+maxSize+ + ") is not a positive integer."); + } + this.maxSize = maxSize; + buf = new LoggingEvent[maxSize]; + } + + /** + Get the first element in the buffer. Returns <code>null</code> if + there are no elements in the buffer. */ + public + LoggingEvent get() { + if(numElements == 0) + return null; + + LoggingEvent r = buf[first]; + buf[first] = null; // help garbage collection + + if(++first == maxSize) { + first = 0; + } + numElements--; + return r; + } + + /** + Place a {@link LoggingEvent} in the buffer. If the buffer is full + then the event is <b>silently dropped</b>. It is the caller's + responsability to make sure that the buffer has free space. */ + public + void put(LoggingEvent o) { + if(numElements != maxSize) { + buf[next] = o; + if(++next == maxSize) { + next = 0; + } + numElements++; + } + } + + /** + Get the maximum size of the buffer. + */ + public + int getMaxSize() { + return maxSize; + } + + /** + Return <code>true</code> if the buffer is full, that is, whether + the number of elements in the buffer equals the buffer size. */ + public + boolean isFull() { + return numElements == maxSize; + } + + /** + Get the number of elements in the buffer. This number is + guaranteed to be in the range 0 to <code>maxSize</code> + (inclusive). + */ + public + int length() { + return numElements; + } + + + int min(int a, int b) { + return a < b ? a : b; + } + + + /** + Resize the buffer to a new size. If the new size is smaller than + the old size events might be lost. + + @since 1.1 + */ + synchronized + public + void resize(int newSize) { + if(newSize == maxSize) + return; + + + LoggingEvent[] tmp = new LoggingEvent[newSize]; + + // we should not copy beyond the buf array + int len1 = maxSize - first; + + // we should not copy beyond the tmp array + len1 = min(len1, newSize); + + // er.. how much do we actually need to copy? + // We should not copy more than the actual number of elements. + len1 = min(len1, numElements); + + // Copy from buf starting a first, to tmp, starting at position 0, len1 elements. + System.arraycopy(buf, first, tmp, 0, len1); + + // Are there any uncopied elements and is there still space in the new array? + int len2 = 0; + if((len1 < numElements) && (len1 < newSize)) { + len2 = numElements - len1; + len2 = min(len2, newSize - len1); + System.arraycopy(buf, 0, tmp, len1, len2); + } + + this.buf = tmp; + this.maxSize = newSize; + this.first=0; + this.numElements = len1+len2; + this.next = this.numElements; + if(this.next == this.maxSize) // this should never happen, but again, it just might. + this.next = 0; + } + + + /** + Returns <code>true</code> if there is just one element in the + buffer. In other words, if there were no elements before the last + {@link #put} operation completed. */ + public + boolean wasEmpty() { + return numElements == 1; + } + + /** + Returns <code>true</code> if the number of elements in the + buffer plus 1 equals the maximum buffer size, returns + <code>false</code> otherwise. */ + public + boolean wasFull() { + return (numElements+1 == maxSize); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/CountingQuietWriter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/CountingQuietWriter.java new file mode 100644 index 00000000000..55199e47a39 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/CountingQuietWriter.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import java.io.Writer; +import java.io.IOException; + +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.ErrorCode; + +/** + Counts the number of bytes written. + + @author Heinz Richter, heinz.richter@frogdot.com + @since 0.8.1 + + */ +public class CountingQuietWriter extends QuietWriter { + + protected long count; + + public + CountingQuietWriter(Writer writer, ErrorHandler eh) { + super(writer, eh); + } + + public + void write(String string) { + try { + out.write(string); + count += string.length(); + } + catch(IOException e) { + errorHandler.error("Write failure.", e, ErrorCode.WRITE_FAILURE); + } + } + + public + long getCount() { + return count; + } + + public + void setCount(long count) { + this.count = count; + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/CyclicBuffer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/CyclicBuffer.java new file mode 100644 index 00000000000..9077847dc91 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/CyclicBuffer.java @@ -0,0 +1,159 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import org.apache.log4j.spi.LoggingEvent; + +/** + + CyclicBuffer is used by other appenders to hold {@link LoggingEvent + LoggingEvents} for immediate or differed display. + + <p>This buffer gives read access to any element in the buffer not + just the first or last element. + + @author Ceki G&uuml;lc&uuml; + @since 0.9.0 + + */ +public class CyclicBuffer { + + LoggingEvent[] ea; + int first; + int last; + int numElems; + int maxSize; + + /** + Instantiate a new CyclicBuffer of at most <code>maxSize</code> events. + + The <code>maxSize</code> argument must a positive integer. + + @param maxSize The maximum number of elements in the buffer. + */ + public CyclicBuffer(int maxSize) throws IllegalArgumentException { + if(maxSize < 1) { + throw new IllegalArgumentException("The maxSize argument ("+maxSize+ + ") is not a positive integer."); + } + this.maxSize = maxSize; + ea = new LoggingEvent[maxSize]; + first = 0; + last = 0; + numElems = 0; + } + + /** + Add an <code>event</code> as the last event in the buffer. + + */ + public + void add(LoggingEvent event) { + ea[last] = event; + if(++last == maxSize) + last = 0; + + if(numElems < maxSize) + numElems++; + else if(++first == maxSize) + first = 0; + } + + + /** + Get the <i>i</i>th oldest event currently in the buffer. If + <em>i</em> is outside the range 0 to the number of elements + currently in the buffer, then <code>null</code> is returned. + + + */ + public + LoggingEvent get(int i) { + if(i < 0 || i >= numElems) + return null; + + return ea[(first + i) % maxSize]; + } + + public + int getMaxSize() { + return maxSize; + } + + /** + Get the oldest (first) element in the buffer. The oldest element + is removed from the buffer. + */ + public + LoggingEvent get() { + LoggingEvent r = null; + if(numElems > 0) { + numElems--; + r = ea[first]; + ea[first] = null; + if(++first == maxSize) + first = 0; + } + return r; + } + + /** + Get the number of elements in the buffer. This number is + guaranteed to be in the range 0 to <code>maxSize</code> + (inclusive). + */ + public + int length() { + return numElems; + } + + /** + Resize the cyclic buffer to <code>newSize</code>. + + @throws IllegalArgumentException if <code>newSize</code> is negative. + */ + public + void resize(int newSize) { + if(newSize < 0) { + throw new IllegalArgumentException("Negative array size ["+newSize+ + "] not allowed."); + } + if(newSize == numElems) + return; // nothing to do + + LoggingEvent[] temp = new LoggingEvent[newSize]; + + int loopLen = newSize < numElems ? newSize : numElems; + + for(int i = 0; i < loopLen; i++) { + temp[i] = ea[first]; + ea[first] = null; + if(++first == numElems) + first = 0; + } + ea = temp; + first = 0; + numElems = loopLen; + maxSize = newSize; + if (loopLen == newSize) { + last = 0; + } else { + last = loopLen; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/DateLayout.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/DateLayout.java new file mode 100644 index 00000000000..383ef38c5af --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/DateLayout.java @@ -0,0 +1,200 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import org.apache.log4j.Layout; +import org.apache.log4j.spi.LoggingEvent; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.TimeZone; +import java.text.FieldPosition; + + +/** + This abstract layout takes care of all the date related options and + formatting work. + + + @author Ceki G&uuml;lc&uuml; + */ +abstract public class DateLayout extends Layout { + + /** + String constant designating no time information. Current value of + this constant is <b>NULL</b>. + + */ + public final static String NULL_DATE_FORMAT = "NULL"; + + /** + String constant designating relative time. Current value of + this constant is <b>RELATIVE</b>. + */ + public final static String RELATIVE_TIME_DATE_FORMAT = "RELATIVE"; + + protected FieldPosition pos = new FieldPosition(0); + + /** + @deprecated Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term. + */ + final static public String DATE_FORMAT_OPTION = "DateFormat"; + + /** + @deprecated Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term. + */ + final static public String TIMEZONE_OPTION = "TimeZone"; + + private String timeZoneID; + private String dateFormatOption; + + protected DateFormat dateFormat; + protected Date date = new Date(); + + /** + @deprecated Use the setter method for the option directly instead + of the generic <code>setOption</code> method. + */ + public + String[] getOptionStrings() { + return new String[] {DATE_FORMAT_OPTION, TIMEZONE_OPTION}; + } + + /** + @deprecated Use the setter method for the option directly instead + of the generic <code>setOption</code> method. + */ + public + void setOption(String option, String value) { + if(option.equalsIgnoreCase(DATE_FORMAT_OPTION)) { + dateFormatOption = value.toUpperCase(); + } else if(option.equalsIgnoreCase(TIMEZONE_OPTION)) { + timeZoneID = value; + } + } + + + /** + The value of the <b>DateFormat</b> option should be either an + argument to the constructor of {@link SimpleDateFormat} or one of + the srings "NULL", "RELATIVE", "ABSOLUTE", "DATE" or "ISO8601. + */ + public + void setDateFormat(String dateFormat) { + if (dateFormat != null) { + dateFormatOption = dateFormat; + } + setDateFormat(dateFormatOption, TimeZone.getDefault()); + } + + /** + Returns value of the <b>DateFormat</b> option. + */ + public + String getDateFormat() { + return dateFormatOption; + } + + /** + The <b>TimeZoneID</b> option is a time zone ID string in the format + expected by the {@link TimeZone#getTimeZone} method. + */ + public + void setTimeZone(String timeZone) { + this.timeZoneID = timeZone; + } + + /** + Returns value of the <b>TimeZone</b> option. + */ + public + String getTimeZone() { + return timeZoneID; + } + + public + void activateOptions() { + setDateFormat(dateFormatOption); + if(timeZoneID != null && dateFormat != null) { + dateFormat.setTimeZone(TimeZone.getTimeZone(timeZoneID)); + } + } + + public + void dateFormat(StringBuffer buf, LoggingEvent event) { + if(dateFormat != null) { + date.setTime(event.timeStamp); + dateFormat.format(date, buf, this.pos); + buf.append(' '); + } + } + + /** + Sets the {@link DateFormat} used to format time and date in the + zone determined by <code>timeZone</code>. + */ + public + void setDateFormat(DateFormat dateFormat, TimeZone timeZone) { + this.dateFormat = dateFormat; + this.dateFormat.setTimeZone(timeZone); + } + + /** + Sets the DateFormat used to format date and time in the time zone + determined by <code>timeZone</code> parameter. The {@link DateFormat} used + will depend on the <code>dateFormatType</code>. + + <p>The recognized types are {@link #NULL_DATE_FORMAT}, {@link + #RELATIVE_TIME_DATE_FORMAT} {@link + AbsoluteTimeDateFormat#ABS_TIME_DATE_FORMAT}, {@link + AbsoluteTimeDateFormat#DATE_AND_TIME_DATE_FORMAT} and {@link + AbsoluteTimeDateFormat#ISO8601_DATE_FORMAT}. If the + <code>dateFormatType</code> is not one of the above, then the + argument is assumed to be a date pattern for {@link + SimpleDateFormat}. + */ + public + void setDateFormat(String dateFormatType, TimeZone timeZone) { + if(dateFormatType == null) { + this.dateFormat = null; + return; + } + + if(dateFormatType.equalsIgnoreCase(NULL_DATE_FORMAT)) { + this.dateFormat = null; + } else if (dateFormatType.equalsIgnoreCase(RELATIVE_TIME_DATE_FORMAT)) { + this.dateFormat = new RelativeTimeDateFormat(); + } else if(dateFormatType.equalsIgnoreCase( + AbsoluteTimeDateFormat.ABS_TIME_DATE_FORMAT)) { + this.dateFormat = new AbsoluteTimeDateFormat(timeZone); + } else if(dateFormatType.equalsIgnoreCase( + AbsoluteTimeDateFormat.DATE_AND_TIME_DATE_FORMAT)) { + this.dateFormat = new DateTimeDateFormat(timeZone); + } else if(dateFormatType.equalsIgnoreCase( + AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT)) { + this.dateFormat = new ISO8601DateFormat(timeZone); + } else { + this.dateFormat = new SimpleDateFormat(dateFormatType); + this.dateFormat.setTimeZone(timeZone); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/DateTimeDateFormat.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/DateTimeDateFormat.java new file mode 100644 index 00000000000..559f731952b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/DateTimeDateFormat.java @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import java.util.Calendar; +import java.util.TimeZone; +import java.util.Date; +import java.text.FieldPosition; +import java.text.ParsePosition; +import java.text.DateFormatSymbols; + +/** + Formats a {@link Date} in the format "dd MMM yyyy HH:mm:ss,SSS" for example, + "06 Nov 1994 15:49:37,459". + + @author Ceki G&uuml;lc&uuml; + @since 0.7.5 +*/ +public class DateTimeDateFormat extends AbsoluteTimeDateFormat { + private static final long serialVersionUID = 5547637772208514971L; + + String[] shortMonths; + + public + DateTimeDateFormat() { + super(); + shortMonths = new DateFormatSymbols().getShortMonths(); + } + + public + DateTimeDateFormat(TimeZone timeZone) { + this(); + setCalendar(Calendar.getInstance(timeZone)); + } + + /** + Appends to <code>sbuf</code> the date in the format "dd MMM yyyy + HH:mm:ss,SSS" for example, "06 Nov 1994 08:49:37,459". + + @param sbuf the string buffer to write to + */ + public + StringBuffer format(Date date, StringBuffer sbuf, + FieldPosition fieldPosition) { + + calendar.setTime(date); + + int day = calendar.get(Calendar.DAY_OF_MONTH); + if(day < 10) + sbuf.append('0'); + sbuf.append(day); + sbuf.append(' '); + sbuf.append(shortMonths[calendar.get(Calendar.MONTH)]); + sbuf.append(' '); + + int year = calendar.get(Calendar.YEAR); + sbuf.append(year); + sbuf.append(' '); + + return super.format(date, sbuf, fieldPosition); + } + + /** + This method does not do anything but return <code>null</code>. + */ + public + Date parse(java.lang.String s, ParsePosition pos) { + return null; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/FileWatchdog.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/FileWatchdog.java new file mode 100644 index 00000000000..b78a4af16cd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/FileWatchdog.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contributors: Mathias Bogaert + +package org.apache.log4j.helpers; + +import java.io.File; + +/** + Check every now and then that a certain file has not changed. If it + has, then call the {@link #doOnChange} method. + + + @author Ceki G&uuml;lc&uuml; + @since version 0.9.1 */ +public abstract class FileWatchdog extends Thread { + + /** + The default delay between every file modification check, set to 60 + seconds. */ + static final public long DEFAULT_DELAY = 60000; + /** + The name of the file to observe for changes. + */ + protected String filename; + + /** + The delay to observe between every check. By default set {@link + #DEFAULT_DELAY}. */ + protected long delay = DEFAULT_DELAY; + + File file; + long lastModif = 0; + boolean warnedAlready = false; + boolean interrupted = false; + + protected + FileWatchdog(String filename) { + super("FileWatchdog"); + this.filename = filename; + file = new File(filename); + setDaemon(true); + checkAndConfigure(); + } + + /** + Set the delay to observe between each check of the file changes. + */ + public + void setDelay(long delay) { + this.delay = delay; + } + + abstract + protected + void doOnChange(); + + protected + void checkAndConfigure() { + boolean fileExists; + try { + fileExists = file.exists(); + } catch(SecurityException e) { + LogLog.warn("Was not allowed to read check file existance, file:["+ + filename+"]."); + interrupted = true; // there is no point in continuing + return; + } + + if(fileExists) { + long l = file.lastModified(); // this can also throw a SecurityException + if(l > lastModif) { // however, if we reached this point this + lastModif = l; // is very unlikely. + doOnChange(); + warnedAlready = false; + } + } else { + if(!warnedAlready) { + LogLog.debug("["+filename+"] does not exist."); + warnedAlready = true; + } + } + } + + public + void run() { + while(!interrupted) { + try { + Thread.sleep(delay); + } catch(InterruptedException e) { + // no interruption expected + } + checkAndConfigure(); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/FormattingInfo.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/FormattingInfo.java new file mode 100644 index 00000000000..e158243235a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/FormattingInfo.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + + +/** + FormattingInfo instances contain the information obtained when parsing + formatting modifiers in conversion modifiers. + + @author <a href=mailto:jim_cakalic@na.biomerieux.com>Jim Cakalic</a> + @author Ceki G&uuml;lc&uuml; + + @since 0.8.2 + */ +public class FormattingInfo { + int min = -1; + int max = 0x7FFFFFFF; + boolean leftAlign = false; + + void reset() { + min = -1; + max = 0x7FFFFFFF; + leftAlign = false; + } + + void dump() { + LogLog.debug("min="+min+", max="+max+", leftAlign="+leftAlign); + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/ISO8601DateFormat.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/ISO8601DateFormat.java new file mode 100644 index 00000000000..47b17d9e78d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/ISO8601DateFormat.java @@ -0,0 +1,155 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import java.util.Calendar; +import java.util.TimeZone; +import java.util.Date; +import java.text.FieldPosition; +import java.text.ParsePosition; + +// Contributors: Arndt Schoenewald <arndt@ibm23093i821.mc.schoenewald.de> + +/** + Formats a {@link Date} in the format "yyyy-MM-dd HH:mm:ss,SSS" for example + "1999-11-27 15:49:37,459". + + <p>Refer to the <a + href=http://www.cl.cam.ac.uk/~mgk25/iso-time.html>summary of the + International Standard Date and Time Notation</a> for more + information on this format. + + @author Ceki G&uuml;lc&uuml; + @author Andrew Vajoczki + + @since 0.7.5 +*/ +public class ISO8601DateFormat extends AbsoluteTimeDateFormat { + private static final long serialVersionUID = -759840745298755296L; + + public + ISO8601DateFormat() { + } + + public + ISO8601DateFormat(TimeZone timeZone) { + super(timeZone); + } + + static private long lastTime; + static private char[] lastTimeString = new char[20]; + + /** + Appends a date in the format "YYYY-mm-dd HH:mm:ss,SSS" + to <code>sbuf</code>. For example: "1999-11-27 15:49:37,459". + + @param sbuf the <code>StringBuffer</code> to write to + */ + public + StringBuffer format(Date date, StringBuffer sbuf, + FieldPosition fieldPosition) { + + long now = date.getTime(); + int millis = (int)(now % 1000); + + if ((now - millis) != lastTime || lastTimeString[0] == 0) { + // We reach this point at most once per second + // across all threads instead of each time format() + // is called. This saves considerable CPU time. + + calendar.setTime(date); + + int start = sbuf.length(); + + int year = calendar.get(Calendar.YEAR); + sbuf.append(year); + + String month; + switch(calendar.get(Calendar.MONTH)) { + case Calendar.JANUARY: month = "-01-"; break; + case Calendar.FEBRUARY: month = "-02-"; break; + case Calendar.MARCH: month = "-03-"; break; + case Calendar.APRIL: month = "-04-"; break; + case Calendar.MAY: month = "-05-"; break; + case Calendar.JUNE: month = "-06-"; break; + case Calendar.JULY: month = "-07-"; break; + case Calendar.AUGUST: month = "-08-"; break; + case Calendar.SEPTEMBER: month = "-09-"; break; + case Calendar.OCTOBER: month = "-10-"; break; + case Calendar.NOVEMBER: month = "-11-"; break; + case Calendar.DECEMBER: month = "-12-"; break; + default: month = "-NA-"; break; + } + sbuf.append(month); + + int day = calendar.get(Calendar.DAY_OF_MONTH); + if(day < 10) + sbuf.append('0'); + sbuf.append(day); + + sbuf.append(' '); + + int hour = calendar.get(Calendar.HOUR_OF_DAY); + if(hour < 10) { + sbuf.append('0'); + } + sbuf.append(hour); + sbuf.append(':'); + + int mins = calendar.get(Calendar.MINUTE); + if(mins < 10) { + sbuf.append('0'); + } + sbuf.append(mins); + sbuf.append(':'); + + int secs = calendar.get(Calendar.SECOND); + if(secs < 10) { + sbuf.append('0'); + } + sbuf.append(secs); + + sbuf.append(','); + + // store the time string for next time to avoid recomputation + sbuf.getChars(start, sbuf.length(), lastTimeString, 0); + lastTime = now - millis; + } + else { + sbuf.append(lastTimeString); + } + + + if (millis < 100) + sbuf.append('0'); + if (millis < 10) + sbuf.append('0'); + + sbuf.append(millis); + return sbuf; + } + + /** + This method does not do anything but return <code>null</code>. + */ + public + Date parse(java.lang.String s, ParsePosition pos) { + return null; + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/Loader.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/Loader.java new file mode 100644 index 00000000000..207bfdf90ec --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/Loader.java @@ -0,0 +1,200 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import java.net.URL; +import java.lang.reflect.Method; +import java.lang.reflect.InvocationTargetException; +import java.io.InterruptedIOException; + + +/** + Load resources (or images) from various sources. + + @author Ceki G&uuml;lc&uuml; + */ + +public class Loader { + + static final String TSTR = "Caught Exception while in Loader.getResource. This may be innocuous."; + + // We conservatively assume that we are running under Java 1.x + static private boolean java1 = true; + + static private boolean ignoreTCL = false; + + static { + String prop = OptionConverter.getSystemProperty("java.version", null); + + if(prop != null) { + int i = prop.indexOf('.'); + if(i != -1) { + if(prop.charAt(i+1) != '1') + java1 = false; + } + } + String ignoreTCLProp = OptionConverter.getSystemProperty("log4j.ignoreTCL", null); + if(ignoreTCLProp != null) { + ignoreTCL = OptionConverter.toBoolean(ignoreTCLProp, true); + } + } + + /** + * Get a resource by delegating to getResource(String). + * @param resource resource name + * @param clazz class, ignored. + * @return URL to resource or null. + * @deprecated as of 1.2. + */ + public static URL getResource(String resource, Class clazz) { + return getResource(resource); + } + + /** + This method will search for <code>resource</code> in different + places. The search order is as follows: + + <ol> + + <p><li>Search for <code>resource</code> using the thread context + class loader under Java2. If that fails, search for + <code>resource</code> using the class loader that loaded this + class (<code>Loader</code>). Under JDK 1.1, only the the class + loader that loaded this class (<code>Loader</code>) is used. + + <p><li>Try one last time with + <code>ClassLoader.getSystemResource(resource)</code>, that is is + using the system class loader in JDK 1.2 and virtual machine's + built-in class loader in JDK 1.1. + + </ol> + */ + static public URL getResource(String resource) { + ClassLoader classLoader = null; + URL url = null; + + try { + if(!java1 && !ignoreTCL) { + classLoader = getTCL(); + if(classLoader != null) { + LogLog.debug("Trying to find ["+resource+"] using context classloader " + +classLoader+"."); + url = classLoader.getResource(resource); + if(url != null) { + return url; + } + } + } + + // We could not find resource. Ler us now try with the + // classloader that loaded this class. + classLoader = Loader.class.getClassLoader(); + if(classLoader != null) { + LogLog.debug("Trying to find ["+resource+"] using "+classLoader + +" class loader."); + url = classLoader.getResource(resource); + if(url != null) { + return url; + } + } + } catch(IllegalAccessException t) { + LogLog.warn(TSTR, t); + } catch(InvocationTargetException t) { + if (t.getTargetException() instanceof InterruptedException + || t.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.warn(TSTR, t); + } catch(Throwable t) { + // + // can't be InterruptedException or InterruptedIOException + // since not declared, must be error or RuntimeError. + LogLog.warn(TSTR, t); + } + + // Last ditch attempt: get the resource from the class path. It + // may be the case that clazz was loaded by the Extentsion class + // loader which the parent of the system class loader. Hence the + // code below. + LogLog.debug("Trying to find ["+resource+ + "] using ClassLoader.getSystemResource()."); + return ClassLoader.getSystemResource(resource); + } + + /** + Are we running under JDK 1.x? + */ + public + static + boolean isJava1() { + return java1; + } + + /** + * Get the Thread Context Loader which is a JDK 1.2 feature. If we + * are running under JDK 1.1 or anything else goes wrong the method + * returns <code>null<code>. + * + * */ + private static ClassLoader getTCL() throws IllegalAccessException, + InvocationTargetException { + + // Are we running on a JDK 1.2 or later system? + Method method = null; + try { + method = Thread.class.getMethod("getContextClassLoader", null); + } catch (NoSuchMethodException e) { + // We are running on JDK 1.1 + return null; + } + + return (ClassLoader) method.invoke(Thread.currentThread(), null); + } + + + + /** + * If running under JDK 1.2 load the specified class using the + * <code>Thread</code> <code>contextClassLoader</code> if that + * fails try Class.forname. Under JDK 1.1 only Class.forName is + * used. + * + */ + static public Class loadClass (String clazz) throws ClassNotFoundException { + // Just call Class.forName(clazz) if we are running under JDK 1.1 + // or if we are instructed to ignore the TCL. + if(java1 || ignoreTCL) { + return Class.forName(clazz); + } else { + try { + return getTCL().loadClass(clazz); + } + // we reached here because tcl was null or because of a + // security exception, or because clazz could not be loaded... + // In any case we now try one more time + catch(InvocationTargetException e) { + if (e.getTargetException() instanceof InterruptedException + || e.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + } catch(Throwable t) { + } + } + return Class.forName(clazz); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/LogLog.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/LogLog.java new file mode 100644 index 00000000000..a7bd588ff10 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/LogLog.java @@ -0,0 +1,189 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +/** + This class used to output log statements from within the log4j package. + + <p>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 + <b>log4j.configDebug</b> variable. + + <p>All log4j internal debug calls go to <code>System.out</code> + where as internal error messages are sent to + <code>System.err</code>. All internal messages are prepended with + the string "log4j: ". + + @since 0.8.2 + @author Ceki G&uuml;lc&uuml; +*/ +public class LogLog { + + /** + Defining this value makes log4j print log4j-internal debug + statements to <code>System.out</code>. + + <p> The value of this string is <b>log4j.debug</b>. + + <p>Note that the search for all option names is case sensitive. */ + public static final String DEBUG_KEY="log4j.debug"; + + + /** + Defining this value makes log4j components print log4j-internal + debug statements to <code>System.out</code>. + + <p> The value of this string is <b>log4j.configDebug</b>. + + <p>Note that the search for all option names is case sensitive. + + @deprecated Use {@link #DEBUG_KEY} instead. + */ + public static final String CONFIG_DEBUG_KEY="log4j.configDebug"; + + protected static boolean debugEnabled = false; + + /** + In quietMode not even errors generate any output. + */ + private static boolean quietMode = false; + + private static final String PREFIX = "log4j: "; + private static final String ERR_PREFIX = "log4j:ERROR "; + private static final String WARN_PREFIX = "log4j:WARN "; + + static { + String key = OptionConverter.getSystemProperty(DEBUG_KEY, null); + + if(key == null) { + key = OptionConverter.getSystemProperty(CONFIG_DEBUG_KEY, null); + } + + if(key != null) { + debugEnabled = OptionConverter.toBoolean(key, true); + } + } + + /** + Allows to enable/disable log4j internal logging. + */ + static + public + void setInternalDebugging(boolean enabled) { + debugEnabled = enabled; + } + + /** + This method is used to output log4j internal debug + statements. Output goes to <code>System.out</code>. + */ + public + static + void debug(String msg) { + if(debugEnabled && !quietMode) { + System.out.println(PREFIX+msg); + } + } + + /** + This method is used to output log4j internal debug + statements. Output goes to <code>System.out</code>. + */ + public + static + void debug(String msg, Throwable t) { + if(debugEnabled && !quietMode) { + System.out.println(PREFIX+msg); + if(t != null) + t.printStackTrace(System.out); + } + } + + + /** + This method is used to output log4j internal error + statements. There is no way to disable error statements. + Output goes to <code>System.err</code>. + */ + public + static + void error(String msg) { + if(quietMode) + return; + System.err.println(ERR_PREFIX+msg); + } + + /** + This method is used to output log4j internal error + statements. There is no way to disable error statements. + Output goes to <code>System.err</code>. + */ + public + static + void error(String msg, Throwable t) { + if(quietMode) + return; + + System.err.println(ERR_PREFIX+msg); + if(t != null) { + t.printStackTrace(); + } + } + + /** + In quite mode no LogLog generates strictly no output, not even + for errors. + + @param quietMode A true for not + */ + public + static + void setQuietMode(boolean quietMode) { + LogLog.quietMode = quietMode; + } + + /** + This method is used to output log4j internal warning + statements. There is no way to disable warning statements. + Output goes to <code>System.err</code>. */ + public + static + void warn(String msg) { + if(quietMode) + return; + + System.err.println(WARN_PREFIX+msg); + } + + /** + This method is used to output log4j internal warnings. There is + no way to disable warning statements. Output goes to + <code>System.err</code>. */ + public + static + void warn(String msg, Throwable t) { + if(quietMode) + return; + + System.err.println(WARN_PREFIX+msg); + if(t != null) { + t.printStackTrace(); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java similarity index 98% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java index 115129c7eb0..2d2a53905ae 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java @@ -20,7 +20,6 @@ import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.pattern.LogEvent; import java.lang.reflect.Method; -import java.lang.reflect.InvocationTargetException; import java.util.Set; import java.io.ByteArrayOutputStream; import java.io.ObjectOutputStream; diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/NullEnumeration.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/NullEnumeration.java new file mode 100644 index 00000000000..0f4310ddfaa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/NullEnumeration.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import java.util.Enumeration; +import java.util.NoSuchElementException; + +/** + + An always-empty Enumerator. + + @author Anders Kristensen + @since version 1.0 + */ +public class NullEnumeration implements Enumeration { + private static final NullEnumeration instance = new NullEnumeration(); + + private + NullEnumeration() { + } + + public static NullEnumeration getInstance() { + return instance; + } + + public + boolean hasMoreElements() { + return false; + } + + public + Object nextElement() { + throw new NoSuchElementException(); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/OnlyOnceErrorHandler.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/OnlyOnceErrorHandler.java new file mode 100644 index 00000000000..950778d011b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/OnlyOnceErrorHandler.java @@ -0,0 +1,114 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.Logger; +import org.apache.log4j.Appender; + +import java.io.InterruptedIOException; + +/** + + The <code>OnlyOnceErrorHandler</code> implements log4j's default + error handling policy which consists of emitting a message for the + first error in an appender and ignoring all following errors. + + <p>The error message is printed on <code>System.err</code>. + + <p>This policy aims at protecting an otherwise working application + from being flooded with error messages when logging fails. + + @author Ceki G&uuml;lc&uuml; + @since 0.9.0 */ +public class OnlyOnceErrorHandler implements ErrorHandler { + + + final String WARN_PREFIX = "log4j warning: "; + final String ERROR_PREFIX = "log4j error: "; + + boolean firstTime = true; + + + /** + Does not do anything. + */ + public + void setLogger(Logger logger) { + } + + + /** + No options to activate. + */ + public + void activateOptions() { + } + + + /** + Prints the message and the stack trace of the exception on + <code>System.err</code>. */ + public + void error(String message, Exception e, int errorCode) { + error(message, e, errorCode, null); + } + + /** + Prints the message and the stack trace of the exception on + <code>System.err</code>. + */ + public + void error(String message, Exception e, int errorCode, LoggingEvent event) { + if (e instanceof InterruptedIOException || e instanceof InterruptedException) { + Thread.currentThread().interrupt(); + } + if(firstTime) { + LogLog.error(message, e); + firstTime = false; + } + } + + + /** + Print a the error message passed as parameter on + <code>System.err</code>. + */ + public + void error(String message) { + if(firstTime) { + LogLog.error(message); + firstTime = false; + } + } + + /** + Does not do anything. + */ + public + void setAppender(Appender appender) { + } + + /** + Does not do anything. + */ + public + void setBackupAppender(Appender appender) { + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/OptionConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/OptionConverter.java new file mode 100644 index 00000000000..929177401a8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/OptionConverter.java @@ -0,0 +1,485 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import java.util.Properties; +import java.net.URL; +import java.io.InterruptedIOException; + +import org.apache.log4j.Level; +import org.apache.log4j.spi.Configurator; +import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.PropertyConfigurator; + +// Contributors: Avy Sharell (sharell@online.fr) +// Matthieu Verbert (mve@zurich.ibm.com) +// Colin Sampaleanu + +/** + A convenience class to convert property values to specific types. + + @author Ceki G&uuml;lc&uuml; + @author Simon Kitching; + @author Anders Kristensen +*/ +public class OptionConverter { + + static String DELIM_START = "${"; + static char DELIM_STOP = '}'; + static int DELIM_START_LEN = 2; + static int DELIM_STOP_LEN = 1; + + /** OptionConverter is a static class. */ + private OptionConverter() {} + + public + static + String[] concatanateArrays(String[] l, String[] r) { + int len = l.length + r.length; + String[] a = new String[len]; + + System.arraycopy(l, 0, a, 0, l.length); + System.arraycopy(r, 0, a, l.length, r.length); + + return a; + } + + public + static + String convertSpecialChars(String s) { + char c; + int len = s.length(); + StringBuffer sbuf = new StringBuffer(len); + + int i = 0; + while(i < len) { + c = s.charAt(i++); + if (c == '\\') { + c = s.charAt(i++); + if(c == 'n') c = '\n'; + else if(c == 'r') c = '\r'; + else if(c == 't') c = '\t'; + else if(c == 'f') c = '\f'; + else if(c == '\b') c = '\b'; + else if(c == '\"') c = '\"'; + else if(c == '\'') c = '\''; + else if(c == '\\') c = '\\'; + } + sbuf.append(c); + } + return sbuf.toString(); + } + + + /** + Very similar to <code>System.getProperty</code> except + that the {@link SecurityException} is hidden. + + @param key The key to search for. + @param def The default value to return. + @return the string value of the system property, or the default + value if there is no property with that key. + + @since 1.1 */ + public + static + String getSystemProperty(String key, String def) { + try { + return System.getProperty(key, def); + } catch(Throwable e) { // MS-Java throws com.ms.security.SecurityExceptionEx + LogLog.debug("Was not allowed to read system property \""+key+"\"."); + return def; + } + } + + + public + static + Object instantiateByKey(Properties props, String key, Class superClass, + Object defaultValue) { + + // Get the value of the property in string form + String className = findAndSubst(key, props); + if(className == null) { + LogLog.error("Could not find value for key " + key); + return defaultValue; + } + // Trim className to avoid trailing spaces that cause problems. + return OptionConverter.instantiateByClassName(className.trim(), superClass, + defaultValue); + } + + /** + If <code>value</code> is "true", then <code>true</code> is + returned. If <code>value</code> is "false", then + <code>true</code> is returned. Otherwise, <code>default</code> is + returned. + + <p>Case of value is unimportant. */ + public + static + boolean toBoolean(String value, boolean dEfault) { + if(value == null) + return dEfault; + String trimmedVal = value.trim(); + if("true".equalsIgnoreCase(trimmedVal)) + return true; + if("false".equalsIgnoreCase(trimmedVal)) + return false; + return dEfault; + } + + public + static + int toInt(String value, int dEfault) { + if(value != null) { + String s = value.trim(); + try { + return Integer.valueOf(s).intValue(); + } + catch (NumberFormatException e) { + LogLog.error("[" + s + "] is not in proper int form."); + e.printStackTrace(); + } + } + return dEfault; + } + + /** + Converts a standard or custom priority level to a Level + object. <p> If <code>value</code> is of form + "level#classname", then the specified class' toLevel method + is called to process the specified level string; if no '#' + character is present, then the default {@link org.apache.log4j.Level} + class is used to process the level value. + + <p>As a special case, if the <code>value</code> parameter is + equal to the string "NULL", then the value <code>null</code> will + be returned. + + <p> If any error occurs while converting the value to a level, + the <code>defaultValue</code> parameter, which may be + <code>null</code>, is returned. + + <p> Case of <code>value</code> is insignificant for the level level, but is + significant for the class name part, if present. + + @since 1.1 */ + public + static + Level toLevel(String value, Level defaultValue) { + if(value == null) + return defaultValue; + + value = value.trim(); + + int hashIndex = value.indexOf('#'); + if (hashIndex == -1) { + if("NULL".equalsIgnoreCase(value)) { + return null; + } else { + // no class name specified : use standard Level class + return(Level) Level.toLevel(value, defaultValue); + } + } + + Level result = defaultValue; + + String clazz = value.substring(hashIndex+1); + String levelName = value.substring(0, hashIndex); + + // This is degenerate case but you never know. + if("NULL".equalsIgnoreCase(levelName)) { + return null; + } + + LogLog.debug("toLevel" + ":class=[" + clazz + "]" + + ":pri=[" + levelName + "]"); + + try { + Class customLevel = Loader.loadClass(clazz); + + // get a ref to the specified class' static method + // toLevel(String, org.apache.log4j.Level) + Class[] paramTypes = new Class[] { String.class, + org.apache.log4j.Level.class + }; + java.lang.reflect.Method toLevelMethod = + customLevel.getMethod("toLevel", paramTypes); + + // now call the toLevel method, passing level string + default + Object[] params = new Object[] {levelName, defaultValue}; + Object o = toLevelMethod.invoke(null, params); + + result = (Level) o; + } catch(ClassNotFoundException e) { + LogLog.warn("custom level class [" + clazz + "] not found."); + } catch(NoSuchMethodException e) { + LogLog.warn("custom level class [" + clazz + "]" + + " does not have a class function toLevel(String, Level)", e); + } catch(java.lang.reflect.InvocationTargetException e) { + if (e.getTargetException() instanceof InterruptedException + || e.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.warn("custom level class [" + clazz + "]" + + " could not be instantiated", e); + } catch(ClassCastException e) { + LogLog.warn("class [" + clazz + + "] is not a subclass of org.apache.log4j.Level", e); + } catch(IllegalAccessException e) { + LogLog.warn("class ["+clazz+ + "] cannot be instantiated due to access restrictions", e); + } catch(RuntimeException e) { + LogLog.warn("class ["+clazz+"], level ["+levelName+ + "] conversion failed.", e); + } + return result; + } + + public + static + long toFileSize(String value, long dEfault) { + if(value == null) + return dEfault; + + String s = value.trim().toUpperCase(); + long multiplier = 1; + int index; + + if((index = s.indexOf("KB")) != -1) { + multiplier = 1024; + s = s.substring(0, index); + } + else if((index = s.indexOf("MB")) != -1) { + multiplier = 1024*1024; + s = s.substring(0, index); + } + else if((index = s.indexOf("GB")) != -1) { + multiplier = 1024*1024*1024; + s = s.substring(0, index); + } + if(s != null) { + try { + return Long.valueOf(s).longValue() * multiplier; + } + catch (NumberFormatException e) { + LogLog.error("[" + s + "] is not in proper int form."); + LogLog.error("[" + value + "] not in expected format.", e); + } + } + return dEfault; + } + + /** + Find the value corresponding to <code>key</code> in + <code>props</code>. Then perform variable substitution on the + found value. + + */ + public + static + String findAndSubst(String key, Properties props) { + String value = props.getProperty(key); + if(value == null) + return null; + + try { + return substVars(value, props); + } catch(IllegalArgumentException e) { + LogLog.error("Bad option value ["+value+"].", e); + return value; + } + } + + /** + Instantiate an object given a class name. Check that the + <code>className</code> is a subclass of + <code>superClass</code>. If that test fails or the object could + not be instantiated, then <code>defaultValue</code> is returned. + + @param className The fully qualified class name of the object to instantiate. + @param superClass The class to which the new object should belong. + @param defaultValue The object to return in case of non-fulfillment + */ + public + static + Object instantiateByClassName(String className, Class superClass, + Object defaultValue) { + if(className != null) { + try { + Class classObj = Loader.loadClass(className); + if(!superClass.isAssignableFrom(classObj)) { + LogLog.error("A \""+className+"\" object is not assignable to a \""+ + superClass.getName() + "\" variable."); + LogLog.error("The class \""+ superClass.getName()+"\" was loaded by "); + LogLog.error("["+superClass.getClassLoader()+"] whereas object of type "); + LogLog.error("\"" +classObj.getName()+"\" was loaded by [" + +classObj.getClassLoader()+"]."); + return defaultValue; + } + return classObj.newInstance(); + } catch (ClassNotFoundException e) { + LogLog.error("Could not instantiate class [" + className + "].", e); + } catch (IllegalAccessException e) { + LogLog.error("Could not instantiate class [" + className + "].", e); + } catch (InstantiationException e) { + LogLog.error("Could not instantiate class [" + className + "].", e); + } catch (RuntimeException e) { + LogLog.error("Could not instantiate class [" + className + "].", e); + } + } + return defaultValue; + } + + + /** + Perform variable substitution in string <code>val</code> from the + values of keys found in the system propeties. + + <p>The variable substitution delimeters are <b>${</b> and <b>}</b>. + + <p>For example, if the System properties contains "key=value", then + the call + <pre> + String s = OptionConverter.substituteVars("Value of key is ${key}."); + </pre> + + will set the variable <code>s</code> to "Value of key is value.". + + <p>If no value could be found for the specified key, then the + <code>props</code> parameter is searched, if the value could not + be found there, then substitution defaults to the empty string. + + <p>For example, if system propeties contains no value for the key + "inexistentKey", then the call + + <pre> + String s = OptionConverter.subsVars("Value of inexistentKey is [${inexistentKey}]"); + </pre> + will set <code>s</code> to "Value of inexistentKey is []" + + <p>An {@link java.lang.IllegalArgumentException} is thrown if + <code>val</code> contains a start delimeter "${" which is not + balanced by a stop delimeter "}". </p> + + <p><b>Author</b> Avy Sharell</a></p> + + @param val The string on which variable substitution is performed. + @throws IllegalArgumentException if <code>val</code> is malformed. + + */ + public static + String substVars(String val, Properties props) throws + IllegalArgumentException { + + StringBuffer sbuf = new StringBuffer(); + + int i = 0; + int j, k; + + while(true) { + j=val.indexOf(DELIM_START, i); + if(j == -1) { + // no more variables + if(i==0) { // this is a simple string + return val; + } else { // add the tail string which contails no variables and return the result. + sbuf.append(val.substring(i, val.length())); + return sbuf.toString(); + } + } else { + sbuf.append(val.substring(i, j)); + k = val.indexOf(DELIM_STOP, j); + if(k == -1) { + throw new IllegalArgumentException('"'+val+ + "\" has no closing brace. Opening brace at position " + j + + '.'); + } else { + j += DELIM_START_LEN; + String key = val.substring(j, k); + // first try in System properties + String replacement = getSystemProperty(key, null); + // then try props parameter + if(replacement == null && props != null) { + replacement = props.getProperty(key); + } + + if(replacement != null) { + // Do variable substitution on the replacement string + // such that we can solve "Hello ${x2}" as "Hello p1" + // the where the properties are + // x1=p1 + // x2=${x1} + String recursiveReplacement = substVars(replacement, props); + sbuf.append(recursiveReplacement); + } + i = k + DELIM_STOP_LEN; + } + } + } + } + + + /** + Configure log4j given a URL. + + <p>The url must point to a file or resource which will be interpreted by + a new instance of a log4j configurator. + + <p>All configurations steps are taken on the + <code>hierarchy</code> passed as a parameter. + + <p> + @param url The location of the configuration file or resource. + @param clazz The classname, of the log4j configurator which will parse + the file or resource at <code>url</code>. This must be a subclass of + {@link Configurator}, or null. If this value is null then a default + configurator of {@link PropertyConfigurator} is used, unless the + filename pointed to by <code>url</code> ends in '.xml', in which case + {@link org.apache.log4j.xml.DOMConfigurator} is used. + @param hierarchy The {@link org.apache.log4j.Hierarchy} to act on. + + @since 1.1.4 */ + + static + public + void selectAndConfigure(URL url, String clazz, LoggerRepository hierarchy) { + Configurator configurator = null; + String filename = url.getFile(); + + if(clazz == null && filename != null && filename.endsWith(".xml")) { + clazz = "org.apache.log4j.xml.DOMConfigurator"; + } + + if(clazz != null) { + LogLog.debug("Preferred configurator class: " + clazz); + configurator = (Configurator) instantiateByClassName(clazz, + Configurator.class, + null); + if(configurator == null) { + LogLog.error("Could not instantiate configurator ["+clazz+"]."); + return; + } + } else { + configurator = new PropertyConfigurator(); + } + + configurator.doConfigure(url, hierarchy); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/PatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/PatternConverter.java new file mode 100644 index 00000000000..2b46db7fee6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/PatternConverter.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import org.apache.log4j.spi.LoggingEvent; + +/** + + <p>PatternConverter is an abtract class that provides the + formatting functionality that derived classes need. + + <p>Conversion specifiers in a conversion patterns are parsed to + individual PatternConverters. Each of which is responsible for + converting a logging event in a converter specific manner. + + @author <a href="mailto:cakalijp@Maritz.com">James P. Cakalic</a> + @author Ceki G&uuml;lc&uuml; + + @since 0.8.2 + */ +public abstract class PatternConverter { + public PatternConverter next; + int min = -1; + int max = 0x7FFFFFFF; + boolean leftAlign = false; + + protected + PatternConverter() { } + + protected + PatternConverter(FormattingInfo fi) { + min = fi.min; + max = fi.max; + leftAlign = fi.leftAlign; + } + + /** + Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way. + */ + abstract + protected + String convert(LoggingEvent event); + + /** + A template method for formatting in a converter specific way. + */ + public + void format(StringBuffer sbuf, LoggingEvent e) { + String s = convert(e); + + if(s == null) { + if(0 < min) + spacePad(sbuf, min); + return; + } + + int len = s.length(); + + if(len > max) + sbuf.append(s.substring(len-max)); + else if(len < min) { + if(leftAlign) { + sbuf.append(s); + spacePad(sbuf, min-len); + } + else { + spacePad(sbuf, min-len); + sbuf.append(s); + } + } + else + sbuf.append(s); + } + + static String[] SPACES = {" ", " ", " ", " ", //1,2,4,8 spaces + " ", // 16 spaces + " " }; // 32 spaces + + /** + Fast space padding method. + */ + 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/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/PatternParser.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/PatternParser.java new file mode 100644 index 00000000000..0d3ead67ed8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/PatternParser.java @@ -0,0 +1,570 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.helpers; + +import org.apache.log4j.Layout; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.LocationInfo; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Map; +import java.util.Arrays; + +// Contributors: Nelson Minar <(nelson@monkey.org> +// Igor E. Poteryaev <jah@mail.ru> +// Reinhard Deschler <reinhard.deschler@web.de> + +/** + Most of the work of the {@link org.apache.log4j.PatternLayout} class + is delegated to the PatternParser class. + + <p>It is this class that parses conversion patterns and creates + a chained list of {@link OptionConverter OptionConverters}. + + @author <a href=mailto:"cakalijp@Maritz.com">James P. Cakalic</a> + @author Ceki G&uuml;lc&uuml; + @author Anders Kristensen + + @since 0.8.2 +*/ +public class PatternParser { + + private static final char ESCAPE_CHAR = '%'; + + private static final int LITERAL_STATE = 0; + private static final int CONVERTER_STATE = 1; + private static final int DOT_STATE = 3; + private static final int MIN_STATE = 4; + private static final int MAX_STATE = 5; + + static final int FULL_LOCATION_CONVERTER = 1000; + static final int METHOD_LOCATION_CONVERTER = 1001; + static final int CLASS_LOCATION_CONVERTER = 1002; + static final int LINE_LOCATION_CONVERTER = 1003; + static final int FILE_LOCATION_CONVERTER = 1004; + + static final int RELATIVE_TIME_CONVERTER = 2000; + static final int THREAD_CONVERTER = 2001; + static final int LEVEL_CONVERTER = 2002; + static final int NDC_CONVERTER = 2003; + static final int MESSAGE_CONVERTER = 2004; + + int state; + protected StringBuffer currentLiteral = new StringBuffer(32); + protected int patternLength; + protected int i; + PatternConverter head; + PatternConverter tail; + protected FormattingInfo formattingInfo = new FormattingInfo(); + protected String pattern; + + public + PatternParser(String pattern) { + this.pattern = pattern; + patternLength = pattern.length(); + state = LITERAL_STATE; + } + + private + void addToList(PatternConverter pc) { + if(head == null) { + head = tail = pc; + } else { + tail.next = pc; + tail = pc; + } + } + + protected + String extractOption() { + if((i < patternLength) && (pattern.charAt(i) == '{')) { + int end = pattern.indexOf('}', i); + if (end > i) { + String r = pattern.substring(i + 1, end); + i = end+1; + return r; + } + } + return null; + } + + + /** + The option is expected to be in decimal and positive. In case of + error, zero is returned. */ + protected + int extractPrecisionOption() { + String opt = extractOption(); + int r = 0; + if(opt != null) { + try { + r = Integer.parseInt(opt); + if(r <= 0) { + LogLog.error( + "Precision option (" + opt + ") isn't a positive integer."); + r = 0; + } + } + catch (NumberFormatException e) { + LogLog.error("Category option \""+opt+"\" not a decimal integer.", e); + } + } + return r; + } + + public + PatternConverter parse() { + char c; + i = 0; + while(i < patternLength) { + c = pattern.charAt(i++); + switch(state) { + case LITERAL_STATE: + // In literal state, the last char is always a literal. + if(i == patternLength) { + currentLiteral.append(c); + continue; + } + if(c == ESCAPE_CHAR) { + // peek at the next char. + switch(pattern.charAt(i)) { + case ESCAPE_CHAR: + currentLiteral.append(c); + i++; // move pointer + break; + case 'n': + currentLiteral.append(Layout.LINE_SEP); + i++; // move pointer + break; + default: + if(currentLiteral.length() != 0) { + addToList(new LiteralPatternConverter( + currentLiteral.toString())); + //LogLog.debug("Parsed LITERAL converter: \"" + // +currentLiteral+"\"."); + } + currentLiteral.setLength(0); + currentLiteral.append(c); // append % + state = CONVERTER_STATE; + formattingInfo.reset(); + } + } + else { + currentLiteral.append(c); + } + break; + case CONVERTER_STATE: + currentLiteral.append(c); + switch(c) { + case '-': + formattingInfo.leftAlign = true; + break; + case '.': + state = DOT_STATE; + break; + default: + if(c >= '0' && c <= '9') { + formattingInfo.min = c - '0'; + state = MIN_STATE; + } + else + finalizeConverter(c); + } // switch + break; + case MIN_STATE: + currentLiteral.append(c); + if(c >= '0' && c <= '9') + formattingInfo.min = formattingInfo.min*10 + (c - '0'); + else if(c == '.') + state = DOT_STATE; + else { + finalizeConverter(c); + } + break; + case DOT_STATE: + currentLiteral.append(c); + if(c >= '0' && c <= '9') { + formattingInfo.max = c - '0'; + state = MAX_STATE; + } + else { + LogLog.error("Error occured in position "+i + +".\n Was expecting digit, instead got char \""+c+"\"."); + state = LITERAL_STATE; + } + break; + case MAX_STATE: + currentLiteral.append(c); + if(c >= '0' && c <= '9') + formattingInfo.max = formattingInfo.max*10 + (c - '0'); + else { + finalizeConverter(c); + state = LITERAL_STATE; + } + break; + } // switch + } // while + if(currentLiteral.length() != 0) { + addToList(new LiteralPatternConverter(currentLiteral.toString())); + //LogLog.debug("Parsed LITERAL converter: \""+currentLiteral+"\"."); + } + return head; + } + + protected + void finalizeConverter(char c) { + PatternConverter pc = null; + switch(c) { + case 'c': + pc = new CategoryPatternConverter(formattingInfo, + extractPrecisionOption()); + //LogLog.debug("CATEGORY converter."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + case 'C': + pc = new ClassNamePatternConverter(formattingInfo, + extractPrecisionOption()); + //LogLog.debug("CLASS_NAME converter."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + case 'd': + String dateFormatStr = AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT; + DateFormat df; + String dOpt = extractOption(); + if(dOpt != null) + dateFormatStr = dOpt; + + if(dateFormatStr.equalsIgnoreCase( + AbsoluteTimeDateFormat.ISO8601_DATE_FORMAT)) + df = new ISO8601DateFormat(); + else if(dateFormatStr.equalsIgnoreCase( + AbsoluteTimeDateFormat.ABS_TIME_DATE_FORMAT)) + df = new AbsoluteTimeDateFormat(); + else if(dateFormatStr.equalsIgnoreCase( + AbsoluteTimeDateFormat.DATE_AND_TIME_DATE_FORMAT)) + df = new DateTimeDateFormat(); + else { + try { + df = new SimpleDateFormat(dateFormatStr); + } + catch (IllegalArgumentException e) { + LogLog.error("Could not instantiate SimpleDateFormat with " + + dateFormatStr, e); + df = (DateFormat) OptionConverter.instantiateByClassName( + "org.apache.log4j.helpers.ISO8601DateFormat", + DateFormat.class, null); + } + } + pc = new DatePatternConverter(formattingInfo, df); + //LogLog.debug("DATE converter {"+dateFormatStr+"}."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + case 'F': + pc = new LocationPatternConverter(formattingInfo, + FILE_LOCATION_CONVERTER); + //LogLog.debug("File name converter."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + case 'l': + pc = new LocationPatternConverter(formattingInfo, + FULL_LOCATION_CONVERTER); + //LogLog.debug("Location converter."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + case 'L': + pc = new LocationPatternConverter(formattingInfo, + LINE_LOCATION_CONVERTER); + //LogLog.debug("LINE NUMBER converter."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + case 'm': + pc = new BasicPatternConverter(formattingInfo, MESSAGE_CONVERTER); + //LogLog.debug("MESSAGE converter."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + case 'M': + pc = new LocationPatternConverter(formattingInfo, + METHOD_LOCATION_CONVERTER); + //LogLog.debug("METHOD converter."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + case 'p': + pc = new BasicPatternConverter(formattingInfo, LEVEL_CONVERTER); + //LogLog.debug("LEVEL converter."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + case 'r': + pc = new BasicPatternConverter(formattingInfo, + RELATIVE_TIME_CONVERTER); + //LogLog.debug("RELATIVE time converter."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + case 't': + pc = new BasicPatternConverter(formattingInfo, THREAD_CONVERTER); + //LogLog.debug("THREAD converter."); + //formattingInfo.dump(); + currentLiteral.setLength(0); + break; + /*case 'u': + if(i < patternLength) { + char cNext = pattern.charAt(i); + if(cNext >= '0' && cNext <= '9') { + pc = new UserFieldPatternConverter(formattingInfo, cNext - '0'); + LogLog.debug("USER converter ["+cNext+"]."); + formattingInfo.dump(); + currentLiteral.setLength(0); + i++; + } + else + LogLog.error("Unexpected char" +cNext+" at position "+i); + } + break;*/ + case 'x': + pc = new BasicPatternConverter(formattingInfo, NDC_CONVERTER); + //LogLog.debug("NDC converter."); + currentLiteral.setLength(0); + break; + case 'X': + String xOpt = extractOption(); + pc = new MDCPatternConverter(formattingInfo, xOpt); + currentLiteral.setLength(0); + break; + default: + LogLog.error("Unexpected char [" +c+"] at position "+i + +" in conversion patterrn."); + pc = new LiteralPatternConverter(currentLiteral.toString()); + currentLiteral.setLength(0); + } + + addConverter(pc); + } + + protected + void addConverter(PatternConverter pc) { + currentLiteral.setLength(0); + // Add the pattern converter to the list. + addToList(pc); + // Next pattern is assumed to be a literal. + state = LITERAL_STATE; + // Reset formatting info + formattingInfo.reset(); + } + + // --------------------------------------------------------------------- + // PatternConverters + // --------------------------------------------------------------------- + + private static class BasicPatternConverter extends PatternConverter { + int type; + + BasicPatternConverter(FormattingInfo formattingInfo, int type) { + super(formattingInfo); + this.type = type; + } + + public + String convert(LoggingEvent event) { + switch(type) { + case RELATIVE_TIME_CONVERTER: + return (Long.toString(event.timeStamp - LoggingEvent.getStartTime())); + case THREAD_CONVERTER: + return event.getThreadName(); + case LEVEL_CONVERTER: + return event.getLevel().toString(); + case NDC_CONVERTER: + return event.getNDC(); + case MESSAGE_CONVERTER: { + return event.getRenderedMessage(); + } + default: return null; + } + } + } + + private static class LiteralPatternConverter extends PatternConverter { + private String literal; + + LiteralPatternConverter(String value) { + literal = value; + } + + public + final + void format(StringBuffer sbuf, LoggingEvent event) { + sbuf.append(literal); + } + + public + String convert(LoggingEvent event) { + return literal; + } + } + + private static class DatePatternConverter extends PatternConverter { + private DateFormat df; + private Date date; + + DatePatternConverter(FormattingInfo formattingInfo, DateFormat df) { + super(formattingInfo); + date = new Date(); + this.df = df; + } + + public + String convert(LoggingEvent event) { + date.setTime(event.timeStamp); + String converted = null; + try { + converted = df.format(date); + } + catch (Exception ex) { + LogLog.error("Error occured while converting date.", ex); + } + return converted; + } + } + + private static class MDCPatternConverter extends PatternConverter { + private String key; + + MDCPatternConverter(FormattingInfo formattingInfo, String key) { + super(formattingInfo); + this.key = key; + } + + public + String convert(LoggingEvent event) { + if (key == null) { + StringBuffer buf = new StringBuffer("{"); + Map properties = event.getProperties(); + if (properties.size() > 0) { + Object[] keys = properties.keySet().toArray(); + Arrays.sort(keys); + for (int i = 0; i < keys.length; i++) { + buf.append('{'); + buf.append(keys[i]); + buf.append(','); + buf.append(properties.get(keys[i])); + buf.append('}'); + } + } + buf.append('}'); + return buf.toString(); + } else { + Object val = event.getMDC(key); + if(val == null) { + return null; + } else { + return val.toString(); + } + } + } + } + + + private class LocationPatternConverter extends PatternConverter { + int type; + + LocationPatternConverter(FormattingInfo formattingInfo, int type) { + super(formattingInfo); + this.type = type; + } + + public + String convert(LoggingEvent event) { + LocationInfo locationInfo = event.getLocationInformation(); + switch(type) { + case FULL_LOCATION_CONVERTER: + return locationInfo.fullInfo; + case METHOD_LOCATION_CONVERTER: + return locationInfo.getMethodName(); + case LINE_LOCATION_CONVERTER: + return locationInfo.getLineNumber(); + case FILE_LOCATION_CONVERTER: + return locationInfo.getFileName(); + default: return null; + } + } + } + + private static abstract class NamedPatternConverter extends PatternConverter { + int precision; + + NamedPatternConverter(FormattingInfo formattingInfo, int precision) { + super(formattingInfo); + this.precision = precision; + } + + abstract + String getFullyQualifiedName(LoggingEvent event); + + public + String convert(LoggingEvent event) { + String n = getFullyQualifiedName(event); + if(precision <= 0) + return n; + else { + int len = n.length(); + + // We substract 1 from 'len' when assigning to 'end' to avoid out of + // bounds exception in return r.substring(end+1, len). This can happen if + // precision is 1 and the category name ends with a dot. + int end = len -1 ; + for(int i = precision; i > 0; i--) { + end = n.lastIndexOf('.', end-1); + if(end == -1) + return n; + } + return n.substring(end+1, len); + } + } + } + + private class ClassNamePatternConverter extends NamedPatternConverter { + + ClassNamePatternConverter(FormattingInfo formattingInfo, int precision) { + super(formattingInfo, precision); + } + + String getFullyQualifiedName(LoggingEvent event) { + return event.getLocationInformation().getClassName(); + } + } + + private class CategoryPatternConverter extends NamedPatternConverter { + + CategoryPatternConverter(FormattingInfo formattingInfo, int precision) { + super(formattingInfo, precision); + } + + String getFullyQualifiedName(LoggingEvent event) { + return event.getLoggerName(); + } + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/QuietWriter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/QuietWriter.java new file mode 100644 index 00000000000..778f091b679 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/QuietWriter.java @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import java.io.Writer; +import java.io.FilterWriter; +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.ErrorCode; + + +/** + QuietWriter does not throw exceptions when things go + wrong. Instead, it delegates error handling to its {@link ErrorHandler}. + + @author Ceki G&uuml;lc&uuml; + + @since 0.7.3 +*/ +public class QuietWriter extends FilterWriter { + + protected ErrorHandler errorHandler; + + public + QuietWriter(Writer writer, ErrorHandler errorHandler) { + super(writer); + setErrorHandler(errorHandler); + } + + public + void write(String string) { + if (string != null) { + try { + out.write(string); + } catch(Exception e) { + errorHandler.error("Failed to write ["+string+"].", e, + ErrorCode.WRITE_FAILURE); + } + } + } + + public + void flush() { + try { + out.flush(); + } catch(Exception e) { + errorHandler.error("Failed to flush writer,", e, + ErrorCode.FLUSH_FAILURE); + } + } + + + public + void setErrorHandler(ErrorHandler eh) { + if(eh == null) { + // This is a programming error on the part of the enclosing appender. + throw new IllegalArgumentException("Attempted to set null ErrorHandler."); + } else { + this.errorHandler = eh; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/RelativeTimeDateFormat.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/RelativeTimeDateFormat.java new file mode 100644 index 00000000000..ab81a34cf59 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/RelativeTimeDateFormat.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import java.util.Date; +import java.text.FieldPosition; +import java.text.ParsePosition; +import java.text.DateFormat; + +/** + Formats a {@link Date} by printing the number of milliseconds + elapsed since construction of the format. This is the fastest + printing DateFormat in the package. + + @author Ceki G&uuml;lc&uuml; + + @since 0.7.5 +*/ +public class RelativeTimeDateFormat extends DateFormat { + private static final long serialVersionUID = 7055751607085611984L; + + + protected final long startTime; + + public + RelativeTimeDateFormat() { + this.startTime = System.currentTimeMillis(); + } + + /** + Appends to <code>sbuf</code> the number of milliseconds elapsed + since the start of the application. + + @since 0.7.5 + */ + public + StringBuffer format(Date date, StringBuffer sbuf, + FieldPosition fieldPosition) { + //System.err.println(":"+ date.getTime() + " - " + startTime); + return sbuf.append((date.getTime() - startTime)); + } + + /** + This method does not do anything but return <code>null</code>. + */ + public + Date parse(java.lang.String s, ParsePosition pos) { + return null; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/SyslogQuietWriter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/SyslogQuietWriter.java new file mode 100644 index 00000000000..62e933e40d3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/SyslogQuietWriter.java @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + + + +import java.io.Writer; +import org.apache.log4j.spi.ErrorHandler; + +/** + SyslogQuietWriter extends QuietWriter by prepending the syslog + level code before each printed String. + + @since 0.7.3 +*/ +public class SyslogQuietWriter extends QuietWriter { + + int syslogFacility; + int level; + + public + SyslogQuietWriter(Writer writer, int syslogFacility, ErrorHandler eh) { + super(writer, eh); + this.syslogFacility = syslogFacility; + } + + public + void setLevel(int level) { + this.level = level; + } + + public + void setSyslogFacility(int syslogFacility) { + this.syslogFacility = syslogFacility; + } + + public + void write(String string) { + super.write("<"+(syslogFacility | level)+">" + string); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/SyslogWriter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/SyslogWriter.java new file mode 100644 index 00000000000..d6ce4bf6dec --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/SyslogWriter.java @@ -0,0 +1,145 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + + +import java.io.Writer; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.DatagramPacket; +import java.net.UnknownHostException; +import java.net.SocketException; +import java.io.IOException; +import java.net.URL; +import java.net.MalformedURLException; + +/** + SyslogWriter is a wrapper around the java.net.DatagramSocket class + so that it behaves like a java.io.Writer. + + @since 0.7.3 +*/ +public class SyslogWriter extends Writer { + + final int SYSLOG_PORT = 514; + /** + * Host string from last constructed SyslogWriter. + * @deprecated + */ + static String syslogHost; + + private InetAddress address; + private final int port; + private DatagramSocket ds; + + /** + * Constructs a new instance of SyslogWriter. + * @param syslogHost host name, may not be null. A port + * may be specified by following the name or IPv4 literal address with + * a colon and a decimal port number. To specify a port with an IPv6 + * address, enclose the IPv6 address in square brackets before appending + * the colon and decimal port number. + */ + public + SyslogWriter(final String syslogHost) { + SyslogWriter.syslogHost = syslogHost; + if (syslogHost == null) { + throw new NullPointerException("syslogHost"); + } + + String host = syslogHost; + int urlPort = -1; + + // + // If not an unbracketed IPv6 address then + // parse as a URL + // + if (host.indexOf("[") != -1 || host.indexOf(':') == host.lastIndexOf(':')) { + try { + URL url = new URL("http://" + host); + if (url.getHost() != null) { + host = url.getHost(); + // if host is a IPv6 literal, strip off the brackets + if(host.startsWith("[") && host.charAt(host.length() - 1) == ']') { + host = host.substring(1, host.length() - 1); + } + urlPort = url.getPort(); + } + } catch(MalformedURLException e) { + LogLog.error("Malformed URL: will attempt to interpret as InetAddress.", e); + } + } + + if (urlPort == -1) { + urlPort = SYSLOG_PORT; + } + port = urlPort; + + try { + this.address = InetAddress.getByName(host); + } + catch (UnknownHostException e) { + LogLog.error("Could not find " + host + + ". All logging will FAIL.", e); + } + + try { + this.ds = new DatagramSocket(); + } + catch (SocketException e) { + e.printStackTrace(); + LogLog.error("Could not instantiate DatagramSocket to " + host + + ". All logging will FAIL.", e); + } + + } + + + public + void write(char[] buf, int off, int len) throws IOException { + this.write(new String(buf, off, len)); + } + + public + void write(final String string) throws IOException { + + if(this.ds != null && this.address != null) { + byte[] bytes = string.getBytes(); + // + // syslog packets must be less than 1024 bytes + // + int bytesLength = bytes.length; + if (bytesLength >= 1024) { + bytesLength = 1024; + } + DatagramPacket packet = new DatagramPacket(bytes, bytesLength, + address, port); + ds.send(packet); + } + + } + + public + void flush() {} + + public void close() { + if (ds != null) { + ds.close(); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/ThreadLocalMap.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/ThreadLocalMap.java new file mode 100644 index 00000000000..da60c86ff42 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/ThreadLocalMap.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import java.util.Hashtable; + +/** + <code>ThreadLocalMap</code> extends {@link InheritableThreadLocal} + to bequeath a copy of the hashtable of the MDC of the parent + thread. + + @author Ceki G&uuml;lc&uuml; + @since 1.2 +*/ +final public class ThreadLocalMap extends InheritableThreadLocal { + + public + final + Object childValue(Object parentValue) { + Hashtable ht = (Hashtable) parentValue; + if(ht != null) { + return ht.clone(); + } else { + return null; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/Transform.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/Transform.java new file mode 100644 index 00000000000..7626e71fb98 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/Transform.java @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +/** + Utility class for transforming strings. + + @author Ceki G&uuml;lc&uuml; + @author Michael A. McAngus + */ +public class Transform { + + private static final String CDATA_START = "<![CDATA["; + private static final String CDATA_END = "]]>"; + private static final String CDATA_PSEUDO_END = "]]&gt;"; + private static final String CDATA_EMBEDED_END = CDATA_END + CDATA_PSEUDO_END + CDATA_START; + private static final int CDATA_END_LEN = CDATA_END.length(); + + /** + * This method takes a string which may contain HTML tags (ie, + * &lt;b&gt;, &lt;table&gt;, etc) and replaces any + * '<', '>' , '&' or '"' + * characters with respective predefined entity references. + * + * @param input The text to be converted. + * @return The input string with the special characters replaced. + * */ + static public String escapeTags(final String input) { + //Check if the string is null, zero length or devoid of special characters + // if so, return what was sent in. + + if(input == null + || input.length() == 0 + || (input.indexOf('"') == -1 && + input.indexOf('&') == -1 && + input.indexOf('<') == -1 && + input.indexOf('>') == -1)) { + return input; + } + + //Use a StringBuffer in lieu of String concatenation -- it is + //much more efficient this way. + + StringBuffer buf = new StringBuffer(input.length() + 6); + char ch = ' '; + + int len = input.length(); + for(int i=0; i < len; i++) { + ch = input.charAt(i); + if (ch > '>') { + buf.append(ch); + } else if(ch == '<') { + buf.append("&lt;"); + } else if(ch == '>') { + buf.append("&gt;"); + } else if(ch == '&') { + buf.append("&amp;"); + } else if(ch == '"') { + buf.append("&quot;"); + } else { + buf.append(ch); + } + } + return buf.toString(); + } + + /** + * Ensures that embeded CDEnd strings (]]>) are handled properly + * within message, NDC and throwable tag text. + * + * @param buf StringBuffer holding the XML data to this point. The + * initial CDStart (<![CDATA[) and final CDEnd (]]>) of the CDATA + * section are the responsibility of the calling method. + * @param str The String that is inserted into an existing CDATA Section within buf. + * */ + static public void appendEscapingCDATA(final StringBuffer buf, + final String str) { + if (str != null) { + int end = str.indexOf(CDATA_END); + if (end < 0) { + buf.append(str); + } else { + int start = 0; + while (end > -1) { + buf.append(str.substring(start, end)); + buf.append(CDATA_EMBEDED_END); + start = end + CDATA_END_LEN; + if (start < str.length()) { + end = str.indexOf(CDATA_END, start); + } else { + return; + } + } + buf.append(str.substring(start)); + } + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/package.html new file mode 100644 index 00000000000..ab75bf37843 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/helpers/package.html @@ -0,0 +1,33 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> <head> +<title></title> +</head> + +<body> + +<p>This package is used internally. + + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Sat Jul 3 15:12:58 MDT 1999 +<!-- hhmts end --> +</body> </html> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jdbc/JDBCAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jdbc/JDBCAppender.java new file mode 100644 index 00000000000..f18974a8acf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jdbc/JDBCAppender.java @@ -0,0 +1,398 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.jdbc; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.Iterator; + +import org.apache.log4j.PatternLayout; +import org.apache.log4j.spi.ErrorCode; +import org.apache.log4j.spi.LoggingEvent; + + +/** + The JDBCAppender provides for sending log events to a database. + + <p><b><font color="#FF2222">WARNING: This version of JDBCAppender + is very likely to be completely replaced in the future. Moreoever, + it does not log exceptions</font></b>. + + <p>Each append call adds to an <code>ArrayList</code> buffer. When + the buffer is filled each log event is placed in a sql statement + (configurable) and executed. + + <b>BufferSize</b>, <b>db URL</b>, <b>User</b>, & <b>Password</b> are + configurable options in the standard log4j ways. + + <p>The <code>setSql(String sql)</code> sets the SQL statement to be + used for logging -- this statement is sent to a + <code>PatternLayout</code> (either created automaticly by the + appender or added by the user). Therefore by default all the + conversion patterns in <code>PatternLayout</code> can be used + inside of the statement. (see the test cases for examples) + + <p>Overriding the {@link #getLogStatement} method allows more + explicit control of the statement used for logging. + + <p>For use as a base class: + + <ul> + + <li>Override <code>getConnection()</code> to pass any connection + you want. Typically this is used to enable application wide + connection pooling. + + <li>Override <code>closeConnection(Connection con)</code> -- if + you override getConnection make sure to implement + <code>closeConnection</code> to handle the connection you + generated. Typically this would return the connection to the + pool it came from. + + <li>Override <code>getLogStatement(LoggingEvent event)</code> to + produce specialized or dynamic statements. The default uses the + sql option value. + + </ul> + + @author Kevin Steppe (<A HREF="mailto:ksteppe@pacbell.net">ksteppe@pacbell.net</A>) + +*/ +public class JDBCAppender extends org.apache.log4j.AppenderSkeleton + implements org.apache.log4j.Appender { + + /** + * URL of the DB for default connection handling + */ + protected String databaseURL = "jdbc:odbc:myDB"; + + /** + * User to connect as for default connection handling + */ + protected String databaseUser = "me"; + + /** + * User to use for default connection handling + */ + protected String databasePassword = "mypassword"; + + /** + * Connection used by default. The connection is opened the first time it + * is needed and then held open until the appender is closed (usually at + * garbage collection). This behavior is best modified by creating a + * sub-class and overriding the <code>getConnection</code> and + * <code>closeConnection</code> methods. + */ + protected Connection connection = null; + + /** + * Stores the string given to the pattern layout for conversion into a SQL + * statement, eg: insert into LogTable (Thread, Class, Message) values + * ("%t", "%c", "%m"). + * + * Be careful of quotes in your messages! + * + * Also see PatternLayout. + */ + protected String sqlStatement = ""; + + /** + * size of LoggingEvent buffer before writting to the database. + * Default is 1. + */ + protected int bufferSize = 1; + + /** + * ArrayList holding the buffer of Logging Events. + */ + protected ArrayList buffer; + + /** + * Helper object for clearing out the buffer + */ + protected ArrayList removes; + + private boolean locationInfo = false; + + public JDBCAppender() { + super(); + buffer = new ArrayList(bufferSize); + removes = new ArrayList(bufferSize); + } + + /** + * Gets whether the location of the logging request call + * should be captured. + * + * @since 1.2.16 + * @return the current value of the <b>LocationInfo</b> option. + */ + public boolean getLocationInfo() { + return locationInfo; + } + + /** + * The <b>LocationInfo</b> option takes a boolean value. By default, it is + * set to false which means there will be no effort to extract the location + * information related to the event. As a result, the event that will be + * ultimately logged will likely to contain the wrong location information + * (if present in the log format). + * <p/> + * <p/> + * Location information extraction is comparatively very slow and should be + * avoided unless performance is not a concern. + * </p> + * @since 1.2.16 + * @param flag true if location information should be extracted. + */ + public void setLocationInfo(final boolean flag) { + locationInfo = flag; + } + + + /** + * Adds the event to the buffer. When full the buffer is flushed. + */ + public void append(LoggingEvent event) { + event.getNDC(); + event.getThreadName(); + // Get a copy of this thread's MDC. + event.getMDCCopy(); + if (locationInfo) { + event.getLocationInformation(); + } + event.getRenderedMessage(); + event.getThrowableStrRep(); + buffer.add(event); + + if (buffer.size() >= bufferSize) + flushBuffer(); + } + + /** + * By default getLogStatement sends the event to the required Layout object. + * The layout will format the given pattern into a workable SQL string. + * + * Overriding this provides direct access to the LoggingEvent + * when constructing the logging statement. + * + */ + protected String getLogStatement(LoggingEvent event) { + return getLayout().format(event); + } + + /** + * + * Override this to provide an alertnate method of getting + * connections (such as caching). One method to fix this is to open + * connections at the start of flushBuffer() and close them at the + * end. I use a connection pool outside of JDBCAppender which is + * accessed in an override of this method. + * */ + protected void execute(String sql) throws SQLException { + + Connection con = null; + Statement stmt = null; + + try { + con = getConnection(); + + stmt = con.createStatement(); + stmt.executeUpdate(sql); + } catch (SQLException e) { + if (stmt != null) + stmt.close(); + throw e; + } + stmt.close(); + closeConnection(con); + + //System.out.println("Execute: " + sql); + } + + + /** + * Override this to return the connection to a pool, or to clean up the + * resource. + * + * The default behavior holds a single connection open until the appender + * is closed (typically when garbage collected). + */ + protected void closeConnection(Connection con) { + } + + /** + * Override this to link with your connection pooling system. + * + * By default this creates a single connection which is held open + * until the object is garbage collected. + */ + protected Connection getConnection() throws SQLException { + if (!DriverManager.getDrivers().hasMoreElements()) + setDriver("sun.jdbc.odbc.JdbcOdbcDriver"); + + if (connection == null) { + connection = DriverManager.getConnection(databaseURL, databaseUser, + databasePassword); + } + + return connection; + } + + /** + * Closes the appender, flushing the buffer first then closing the default + * connection if it is open. + */ + public void close() + { + flushBuffer(); + + try { + if (connection != null && !connection.isClosed()) + connection.close(); + } catch (SQLException e) { + errorHandler.error("Error closing connection", e, ErrorCode.GENERIC_FAILURE); + } + this.closed = true; + } + + /** + * loops through the buffer of LoggingEvents, gets a + * sql string from getLogStatement() and sends it to execute(). + * Errors are sent to the errorHandler. + * + * If a statement fails the LoggingEvent stays in the buffer! + */ + public void flushBuffer() { + //Do the actual logging + removes.ensureCapacity(buffer.size()); + for (Iterator i = buffer.iterator(); i.hasNext();) { + try { + LoggingEvent logEvent = (LoggingEvent)i.next(); + String sql = getLogStatement(logEvent); + execute(sql); + removes.add(logEvent); + } + catch (SQLException e) { + errorHandler.error("Failed to excute sql", e, + ErrorCode.FLUSH_FAILURE); + } + } + + // remove from the buffer any events that were reported + buffer.removeAll(removes); + + // clear the buffer of reported events + removes.clear(); + } + + + /** closes the appender before disposal */ + public void finalize() { + close(); + } + + + /** + * JDBCAppender requires a layout. + * */ + public boolean requiresLayout() { + return true; + } + + + /** + * + */ + public void setSql(String s) { + sqlStatement = s; + if (getLayout() == null) { + this.setLayout(new PatternLayout(s)); + } + else { + ((PatternLayout)getLayout()).setConversionPattern(s); + } + } + + + /** + * Returns pre-formated statement eg: insert into LogTable (msg) values ("%m") + */ + public String getSql() { + return sqlStatement; + } + + + public void setUser(String user) { + databaseUser = user; + } + + + public void setURL(String url) { + databaseURL = url; + } + + + public void setPassword(String password) { + databasePassword = password; + } + + + public void setBufferSize(int newBufferSize) { + bufferSize = newBufferSize; + buffer.ensureCapacity(bufferSize); + removes.ensureCapacity(bufferSize); + } + + + public String getUser() { + return databaseUser; + } + + + public String getURL() { + return databaseURL; + } + + + public String getPassword() { + return databasePassword; + } + + + public int getBufferSize() { + return bufferSize; + } + + + /** + * Ensures that the given driver class has been loaded for sql connection + * creation. + */ + public void setDriver(String driverClass) { + try { + Class.forName(driverClass); + } catch (Exception e) { + errorHandler.error("Failed to load driver", e, + ErrorCode.GENERIC_FAILURE); + } + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jdbc/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jdbc/package.html new file mode 100644 index 00000000000..e57e3a5d6d5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jdbc/package.html @@ -0,0 +1,23 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> + + <body> + The JDBCAppender provides for sending log events to a database. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/AbstractDynamicMBean.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/AbstractDynamicMBean.java new file mode 100644 index 00000000000..a5a657430df --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/AbstractDynamicMBean.java @@ -0,0 +1,187 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.jmx; + +import java.util.Enumeration; +import java.util.Iterator; +import java.util.Vector; + +import javax.management.Attribute; +import javax.management.AttributeList; +import javax.management.DynamicMBean; +import javax.management.InstanceAlreadyExistsException; +import javax.management.InstanceNotFoundException; +import javax.management.JMException; +import javax.management.MBeanRegistration; +import javax.management.MBeanRegistrationException; +import javax.management.MBeanServer; +import javax.management.NotCompliantMBeanException; +import javax.management.ObjectName; +import javax.management.RuntimeOperationsException; + +import org.apache.log4j.Logger; +import org.apache.log4j.Appender; + +public abstract class AbstractDynamicMBean implements DynamicMBean, + MBeanRegistration { + + String dClassName; + MBeanServer server; + private final Vector mbeanList = new Vector(); + + /** + * Get MBean name. + * @param appender appender, may not be null. + * @return name. + * @since 1.2.16 + */ + static protected String getAppenderName(final Appender appender){ + String name = appender.getName(); + if (name == null || name.trim().length() == 0) { + // try to get some form of a name, because null is not allowed (exception), and empty string certainly isn't useful in JMX.. + name = appender.toString(); + } + return name; + } + + + /** + * Enables the to get the values of several attributes of the Dynamic MBean. + */ + public + AttributeList getAttributes(String[] attributeNames) { + + // Check attributeNames is not null to avoid NullPointerException later on + if (attributeNames == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("attributeNames[] cannot be null"), + "Cannot invoke a getter of " + dClassName); + } + + AttributeList resultList = new AttributeList(); + + // if attributeNames is empty, return an empty result list + if (attributeNames.length == 0) + return resultList; + + // build the result attribute list + for (int i=0 ; i<attributeNames.length ; i++){ + try { + Object value = getAttribute((String) attributeNames[i]); + resultList.add(new Attribute(attributeNames[i],value)); + } catch (JMException e) { + e.printStackTrace(); + } catch (RuntimeException e) { + e.printStackTrace(); + } + } + return(resultList); + } + + /** + * Sets the values of several attributes of the Dynamic MBean, and returns the + * list of attributes that have been set. + */ + public AttributeList setAttributes(AttributeList attributes) { + + // Check attributes is not null to avoid NullPointerException later on + if (attributes == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("AttributeList attributes cannot be null"), + "Cannot invoke a setter of " + dClassName); + } + AttributeList resultList = new AttributeList(); + + // if attributeNames is empty, nothing more to do + if (attributes.isEmpty()) + return resultList; + + // for each attribute, try to set it and add to the result list if successfull + for (Iterator i = attributes.iterator(); i.hasNext();) { + Attribute attr = (Attribute) i.next(); + try { + setAttribute(attr); + String name = attr.getName(); + Object value = getAttribute(name); + resultList.add(new Attribute(name,value)); + } catch(JMException e) { + e.printStackTrace(); + } catch(RuntimeException e) { + e.printStackTrace(); + } + } + return(resultList); + } + + protected + abstract + Logger getLogger(); + + public + void postDeregister() { + getLogger().debug("postDeregister is called."); + } + + public + void postRegister(java.lang.Boolean registrationDone) { + } + + + + public + ObjectName preRegister(MBeanServer server, ObjectName name) { + getLogger().debug("preRegister called. Server="+server+ ", name="+name); + this.server = server; + return name; + } + /** + * Registers MBean instance in the attached server. Must <em>NOT</em> + * be called before registration of this instance. + */ + protected + void registerMBean(Object mbean, ObjectName objectName) + throws InstanceAlreadyExistsException, MBeanRegistrationException, + NotCompliantMBeanException { + server.registerMBean(mbean, objectName); + mbeanList.add(objectName); + } + + /** + * Performs cleanup for deregistering this MBean. Default implementation + * unregisters MBean instances which are registered using + * {@link #registerMBean(Object mbean, ObjectName objectName)}. + */ + public + void preDeregister() { + getLogger().debug("preDeregister called."); + + Enumeration iterator = mbeanList.elements(); + while (iterator.hasMoreElements()) { + ObjectName name = (ObjectName) iterator.nextElement(); + try { + server.unregisterMBean(name); + } catch (InstanceNotFoundException e) { + getLogger().warn("Missing MBean " + name.getCanonicalName()); + } catch (MBeanRegistrationException e) { + getLogger().warn("Failed unregistering " + name.getCanonicalName()); + } + } + } + + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/Agent.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/Agent.java new file mode 100644 index 00000000000..9bf3c1a8984 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/Agent.java @@ -0,0 +1,131 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.jmx; + +import org.apache.log4j.Logger; + +import javax.management.JMException; +import javax.management.MBeanServer; +import javax.management.MBeanServerFactory; +import javax.management.ObjectName; +import java.lang.reflect.InvocationTargetException; +import java.io.InterruptedIOException; + + +/** + * Manages an instance of com.sun.jdmk.comm.HtmlAdapterServer which + * was provided for demonstration purposes in the + * Java Management Extensions Reference Implementation 1.2.1. + * This class is provided to maintain compatibility with earlier + * versions of log4j and use in new code is discouraged. + * + * @deprecated + */ +public class Agent { + + /** + * Diagnostic logger. + * @deprecated + */ + static Logger log = Logger.getLogger(Agent.class); + + /** + * Create new instance. + * @deprecated + */ + public Agent() { + } + + /** + * Creates a new instance of com.sun.jdmk.comm.HtmlAdapterServer + * using reflection. + * + * @since 1.2.16 + * @return new instance. + */ + private static Object createServer() { + Object newInstance = null; + try { + newInstance = Class.forName( + "com.sun.jdmk.comm.HtmlAdapterServer").newInstance(); + } catch (ClassNotFoundException ex) { + throw new RuntimeException(ex.toString()); + } catch (InstantiationException ex) { + throw new RuntimeException(ex.toString()); + } catch (IllegalAccessException ex) { + throw new RuntimeException(ex.toString()); + } + return newInstance; + } + + /** + * Invokes HtmlAdapterServer.start() using reflection. + * + * @since 1.2.16 + * @param server instance of com.sun.jdmk.comm.HtmlAdapterServer. + */ + private static void startServer(final Object server) { + try { + server.getClass().getMethod("start", new Class[0]). + invoke(server, new Object[0]); + } catch(InvocationTargetException ex) { + Throwable cause = ex.getTargetException(); + if (cause instanceof RuntimeException) { + throw (RuntimeException) cause; + } else if (cause != null) { + if (cause instanceof InterruptedException + || cause instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + throw new RuntimeException(cause.toString()); + } else { + throw new RuntimeException(); + } + } catch(NoSuchMethodException ex) { + throw new RuntimeException(ex.toString()); + } catch(IllegalAccessException ex) { + throw new RuntimeException(ex.toString()); + } + } + + + /** + * Starts instance of HtmlAdapterServer. + * @deprecated + */ + public void start() { + + MBeanServer server = MBeanServerFactory.createMBeanServer(); + Object html = createServer(); + + try { + log.info("Registering HtmlAdaptorServer instance."); + server.registerMBean(html, new ObjectName("Adaptor:name=html,port=8082")); + log.info("Registering HierarchyDynamicMBean instance."); + HierarchyDynamicMBean hdm = new HierarchyDynamicMBean(); + server.registerMBean(hdm, new ObjectName("log4j:hiearchy=default")); + } catch(JMException e) { + log.error("Problem while registering MBeans instances.", e); + return; + } catch(RuntimeException e) { + log.error("Problem while registering MBeans instances.", e); + return; + } + startServer(html); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/AppenderDynamicMBean.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/AppenderDynamicMBean.java new file mode 100644 index 00000000000..525411b6609 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/AppenderDynamicMBean.java @@ -0,0 +1,346 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.jmx; + +import org.apache.log4j.Appender; +import org.apache.log4j.Layout; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.Priority; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.spi.OptionHandler; + +import javax.management.Attribute; +import javax.management.AttributeNotFoundException; +import javax.management.InvalidAttributeValueException; +import javax.management.JMException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanException; +import javax.management.MBeanInfo; +import javax.management.MBeanNotificationInfo; +import javax.management.MBeanOperationInfo; +import javax.management.MBeanParameterInfo; +import javax.management.MBeanServer; +import javax.management.MalformedObjectNameException; +import javax.management.ObjectName; +import javax.management.ReflectionException; +import javax.management.RuntimeOperationsException; +import java.beans.BeanInfo; +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Hashtable; +import java.util.Vector; +import java.io.InterruptedIOException; + +public class AppenderDynamicMBean extends AbstractDynamicMBean { + + private MBeanConstructorInfo[] dConstructors = new MBeanConstructorInfo[1]; + private Vector dAttributes = new Vector(); + private String dClassName = this.getClass().getName(); + + private Hashtable dynamicProps = new Hashtable(5); + private MBeanOperationInfo[] dOperations = new MBeanOperationInfo[2]; + private String dDescription = + "This MBean acts as a management facade for log4j appenders."; + + // This category instance is for logging. + private static Logger cat = Logger.getLogger(AppenderDynamicMBean.class); + + // We wrap this appender instance. + private Appender appender; + + public AppenderDynamicMBean(Appender appender) throws IntrospectionException { + this.appender = appender; + buildDynamicMBeanInfo(); + } + + private + void buildDynamicMBeanInfo() throws IntrospectionException { + Constructor[] constructors = this.getClass().getConstructors(); + dConstructors[0] = new MBeanConstructorInfo( + "AppenderDynamicMBean(): Constructs a AppenderDynamicMBean instance", + constructors[0]); + + + BeanInfo bi = Introspector.getBeanInfo(appender.getClass()); + PropertyDescriptor[] pd = bi.getPropertyDescriptors(); + + int size = pd.length; + + for(int i = 0; i < size; i++) { + String name = pd[i].getName(); + Method readMethod = pd[i].getReadMethod(); + Method writeMethod = pd[i].getWriteMethod(); + if(readMethod != null) { + Class returnClass = readMethod.getReturnType(); + if(isSupportedType(returnClass)) { + String returnClassName; + if(returnClass.isAssignableFrom(Priority.class)) { + returnClassName = "java.lang.String"; + } else { + returnClassName = returnClass.getName(); + } + + dAttributes.add(new MBeanAttributeInfo(name, + returnClassName, + "Dynamic", + true, + writeMethod != null, + false)); + dynamicProps.put(name, new MethodUnion(readMethod, writeMethod)); + } + } + } + + MBeanParameterInfo[] params = new MBeanParameterInfo[0]; + + dOperations[0] = new MBeanOperationInfo("activateOptions", + "activateOptions(): add an appender", + params, + "void", + MBeanOperationInfo.ACTION); + + params = new MBeanParameterInfo[1]; + params[0] = new MBeanParameterInfo("layout class", "java.lang.String", + "layout class"); + + dOperations[1] = new MBeanOperationInfo("setLayout", + "setLayout(): add a layout", + params, + "void", + MBeanOperationInfo.ACTION); + } + + private + boolean isSupportedType(Class clazz) { + if(clazz.isPrimitive()) { + return true; + } + + if(clazz == String.class) { + return true; + } + + + if(clazz.isAssignableFrom(Priority.class)) { + return true; + } + + return false; + + + } + + + + public + MBeanInfo getMBeanInfo() { + cat.debug("getMBeanInfo called."); + + MBeanAttributeInfo[] attribs = new MBeanAttributeInfo[dAttributes.size()]; + dAttributes.toArray(attribs); + + return new MBeanInfo(dClassName, + dDescription, + attribs, + dConstructors, + dOperations, + new MBeanNotificationInfo[0]); + } + + public + Object invoke(String operationName, Object params[], String signature[]) + throws MBeanException, + ReflectionException { + + if(operationName.equals("activateOptions") && + appender instanceof OptionHandler) { + OptionHandler oh = (OptionHandler) appender; + oh.activateOptions(); + return "Options activated."; + } else if (operationName.equals("setLayout")) { + Layout layout = (Layout) OptionConverter.instantiateByClassName((String) + params[0], + Layout.class, + null); + appender.setLayout(layout); + registerLayoutMBean(layout); + } + return null; + } + + void registerLayoutMBean(Layout layout) { + if(layout == null) + return; + + String name = getAppenderName(appender)+",layout="+layout.getClass().getName(); + cat.debug("Adding LayoutMBean:"+name); + ObjectName objectName = null; + try { + LayoutDynamicMBean appenderMBean = new LayoutDynamicMBean(layout); + objectName = new ObjectName("log4j:appender="+name); + if (!server.isRegistered(objectName)) { + registerMBean(appenderMBean, objectName); + dAttributes.add(new MBeanAttributeInfo("appender=" + name, "javax.management.ObjectName", + "The " + name + " layout.", true, true, false)); + } + + } catch(JMException e) { + cat.error("Could not add DynamicLayoutMBean for ["+name+"].", e); + } catch(java.beans.IntrospectionException e) { + cat.error("Could not add DynamicLayoutMBean for ["+name+"].", e); + } catch(RuntimeException e) { + cat.error("Could not add DynamicLayoutMBean for ["+name+"].", e); + } + } + + protected + Logger getLogger() { + return cat; + } + + + public + Object getAttribute(String attributeName) throws AttributeNotFoundException, + MBeanException, + ReflectionException { + + // Check attributeName is not null to avoid NullPointerException later on + if (attributeName == null) { + throw new RuntimeOperationsException(new IllegalArgumentException( + "Attribute name cannot be null"), + "Cannot invoke a getter of " + dClassName + " with null attribute name"); + } + + cat.debug("getAttribute called with ["+attributeName+"]."); + if(attributeName.startsWith("appender="+appender.getName()+",layout")) { + try { + return new ObjectName("log4j:"+attributeName ); + } catch(MalformedObjectNameException e) { + cat.error("attributeName", e); + } catch(RuntimeException e) { + cat.error("attributeName", e); + } + } + + MethodUnion mu = (MethodUnion) dynamicProps.get(attributeName); + + //cat.debug("----name="+attributeName+", b="+b); + + if(mu != null && mu.readMethod != null) { + try { + return mu.readMethod.invoke(appender, null); + } catch(IllegalAccessException e) { + return null; + } catch(InvocationTargetException e) { + if (e.getTargetException() instanceof InterruptedException + || e.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + return null; + } catch(RuntimeException e) { + return null; + } + } + + + + // If attributeName has not been recognized throw an AttributeNotFoundException + throw(new AttributeNotFoundException("Cannot find " + attributeName + + " attribute in " + dClassName)); + + } + + + public + void setAttribute(Attribute attribute) throws AttributeNotFoundException, + InvalidAttributeValueException, + MBeanException, + ReflectionException { + + // Check attribute is not null to avoid NullPointerException later on + if (attribute == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("Attribute cannot be null"), + "Cannot invoke a setter of " + dClassName + + " with null attribute"); + } + String name = attribute.getName(); + Object value = attribute.getValue(); + + if (name == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("Attribute name cannot be null"), + "Cannot invoke the setter of "+dClassName+ + " with null attribute name"); + } + + + + MethodUnion mu = (MethodUnion) dynamicProps.get(name); + + if(mu != null && mu.writeMethod != null) { + Object[] o = new Object[1]; + + Class[] params = mu.writeMethod.getParameterTypes(); + if(params[0] == org.apache.log4j.Priority.class) { + value = OptionConverter.toLevel((String) value, + (Level) getAttribute(name)); + } + o[0] = value; + + try { + mu.writeMethod.invoke(appender, o); + + } catch(InvocationTargetException e) { + if (e.getTargetException() instanceof InterruptedException + || e.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + cat.error("FIXME", e); + } catch(IllegalAccessException e) { + cat.error("FIXME", e); + } catch(RuntimeException e) { + cat.error("FIXME", e); + } + } else if(name.endsWith(".layout")) { + + } else { + throw(new AttributeNotFoundException("Attribute " + name + + " not found in " + + this.getClass().getName())); + } + } + + public + ObjectName preRegister(MBeanServer server, ObjectName name) { + cat.debug("preRegister called. Server="+server+ ", name="+name); + this.server = server; + registerLayoutMBean(appender.getLayout()); + + return name; + } + + +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/HierarchyDynamicMBean.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/HierarchyDynamicMBean.java new file mode 100644 index 00000000000..5449c99f3ce --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/HierarchyDynamicMBean.java @@ -0,0 +1,302 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.jmx; + + +import org.apache.log4j.Appender; +import org.apache.log4j.Category; +import org.apache.log4j.Level; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.spi.HierarchyEventListener; +import org.apache.log4j.spi.LoggerRepository; + +import javax.management.Attribute; +import javax.management.AttributeNotFoundException; +import javax.management.InvalidAttributeValueException; +import javax.management.JMException; +import javax.management.ListenerNotFoundException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanException; +import javax.management.MBeanInfo; +import javax.management.MBeanNotificationInfo; +import javax.management.MBeanOperationInfo; +import javax.management.MBeanParameterInfo; +import javax.management.Notification; +import javax.management.NotificationBroadcaster; +import javax.management.NotificationBroadcasterSupport; +import javax.management.NotificationFilter; +import javax.management.NotificationFilterSupport; +import javax.management.NotificationListener; +import javax.management.ObjectName; +import javax.management.ReflectionException; +import javax.management.RuntimeOperationsException; +import java.lang.reflect.Constructor; +import java.util.Vector; + +public class HierarchyDynamicMBean extends AbstractDynamicMBean + implements HierarchyEventListener, + NotificationBroadcaster { + + static final String ADD_APPENDER = "addAppender."; + static final String THRESHOLD = "threshold"; + + private MBeanConstructorInfo[] dConstructors = new MBeanConstructorInfo[1]; + private MBeanOperationInfo[] dOperations = new MBeanOperationInfo[1]; + + private Vector vAttributes = new Vector(); + private String dClassName = this.getClass().getName(); + private String dDescription = + "This MBean acts as a management facade for org.apache.log4j.Hierarchy."; + + private NotificationBroadcasterSupport nbs = new NotificationBroadcasterSupport(); + + + private LoggerRepository hierarchy; + + private static Logger log = Logger.getLogger(HierarchyDynamicMBean.class); + + public HierarchyDynamicMBean() { + hierarchy = LogManager.getLoggerRepository(); + buildDynamicMBeanInfo(); + } + + private + void buildDynamicMBeanInfo() { + Constructor[] constructors = this.getClass().getConstructors(); + dConstructors[0] = new MBeanConstructorInfo( + "HierarchyDynamicMBean(): Constructs a HierarchyDynamicMBean instance", + constructors[0]); + + vAttributes.add(new MBeanAttributeInfo(THRESHOLD, + "java.lang.String", + "The \"threshold\" state of the hiearchy.", + true, + true, + false)); + + MBeanParameterInfo[] params = new MBeanParameterInfo[1]; + params[0] = new MBeanParameterInfo("name", "java.lang.String", + "Create a logger MBean" ); + dOperations[0] = new MBeanOperationInfo("addLoggerMBean", + "addLoggerMBean(): add a loggerMBean", + params , + "javax.management.ObjectName", + MBeanOperationInfo.ACTION); + } + + + public + ObjectName addLoggerMBean(String name) { + Logger cat = LogManager.exists(name); + + if(cat != null) { + return addLoggerMBean(cat); + } else { + return null; + } + } + + ObjectName addLoggerMBean(Logger logger) { + String name = logger.getName(); + ObjectName objectName = null; + try { + LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger); + objectName = new ObjectName("log4j", "logger", name); + + if (!server.isRegistered(objectName)) { + registerMBean(loggerMBean, objectName); + NotificationFilterSupport nfs = new NotificationFilterSupport(); + nfs.enableType(ADD_APPENDER + logger.getName()); + log.debug("---Adding logger [" + name + "] as listener."); + nbs.addNotificationListener(loggerMBean, nfs, null); + vAttributes.add(new MBeanAttributeInfo("logger=" + name, "javax.management.ObjectName", + "The " + name + " logger.", true, true, // this makes the object + // clickable + false)); + + } + + } catch(JMException e) { + log.error("Could not add loggerMBean for ["+name+"].", e); + } catch(RuntimeException e) { + log.error("Could not add loggerMBean for ["+name+"].", e); + } + return objectName; + } + + public + void addNotificationListener(NotificationListener listener, + NotificationFilter filter, + java.lang.Object handback) { + nbs.addNotificationListener(listener, filter, handback); + } + + protected + Logger getLogger() { + return log; + } + + public + MBeanInfo getMBeanInfo() { + //cat.debug("getMBeanInfo called."); + + MBeanAttributeInfo[] attribs = new MBeanAttributeInfo[vAttributes.size()]; + vAttributes.toArray(attribs); + + return new MBeanInfo(dClassName, + dDescription, + attribs, + dConstructors, + dOperations, + new MBeanNotificationInfo[0]); + } + + public + MBeanNotificationInfo[] getNotificationInfo(){ + return nbs.getNotificationInfo(); + } + + public + Object invoke(String operationName, + Object params[], + String signature[]) throws MBeanException, + ReflectionException { + + if (operationName == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("Operation name cannot be null"), + "Cannot invoke a null operation in " + dClassName); + } + // Check for a recognized operation name and call the corresponding operation + + if(operationName.equals("addLoggerMBean")) { + return addLoggerMBean((String)params[0]); + } else { + throw new ReflectionException( + new NoSuchMethodException(operationName), + "Cannot find the operation " + operationName + " in " + dClassName); + } + + } + + + public + Object getAttribute(String attributeName) throws AttributeNotFoundException, + MBeanException, + ReflectionException { + + // Check attributeName is not null to avoid NullPointerException later on + if (attributeName == null) { + throw new RuntimeOperationsException(new IllegalArgumentException( + "Attribute name cannot be null"), + "Cannot invoke a getter of " + dClassName + " with null attribute name"); + } + + log.debug("Called getAttribute with ["+attributeName+"]."); + + // Check for a recognized attributeName and call the corresponding getter + if (attributeName.equals(THRESHOLD)) { + return hierarchy.getThreshold(); + } else if(attributeName.startsWith("logger")) { + int k = attributeName.indexOf("%3D"); + String val = attributeName; + if(k > 0) { + val = attributeName.substring(0, k)+'='+ attributeName.substring(k+3); + } + try { + return new ObjectName("log4j:"+val); + } catch(JMException e) { + log.error("Could not create ObjectName" + val); + } catch(RuntimeException e) { + log.error("Could not create ObjectName" + val); + } + } + + + + // If attributeName has not been recognized throw an AttributeNotFoundException + throw(new AttributeNotFoundException("Cannot find " + attributeName + + " attribute in " + dClassName)); + + } + + + public + void addAppenderEvent(Category logger, Appender appender) { + log.debug("addAppenderEvent called: logger="+logger.getName()+ + ", appender="+appender.getName()); + Notification n = new Notification(ADD_APPENDER+logger.getName(), this, 0); + n.setUserData(appender); + log.debug("sending notification."); + nbs.sendNotification(n); + } + + public + void removeAppenderEvent(Category cat, Appender appender) { + log.debug("removeAppenderCalled: logger="+cat.getName()+ + ", appender="+appender.getName()); + } + + public + void postRegister(java.lang.Boolean registrationDone) { + log.debug("postRegister is called."); + hierarchy.addHierarchyEventListener(this); + Logger root = hierarchy.getRootLogger(); + addLoggerMBean(root); + } + + public + void removeNotificationListener(NotificationListener listener) + throws ListenerNotFoundException { + nbs.removeNotificationListener(listener); + } + + public + void setAttribute(Attribute attribute) throws AttributeNotFoundException, + InvalidAttributeValueException, + MBeanException, + ReflectionException { + + // Check attribute is not null to avoid NullPointerException later on + if (attribute == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("Attribute cannot be null"), + "Cannot invoke a setter of "+dClassName+" with null attribute"); + } + String name = attribute.getName(); + Object value = attribute.getValue(); + + if (name == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("Attribute name cannot be null"), + "Cannot invoke the setter of "+dClassName+ + " with null attribute name"); + } + + if(name.equals(THRESHOLD)) { + Level l = OptionConverter.toLevel((String) value, + hierarchy.getThreshold()); + hierarchy.setThreshold(l); + } + + + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/LayoutDynamicMBean.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/LayoutDynamicMBean.java new file mode 100644 index 00000000000..4be6b63641a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/LayoutDynamicMBean.java @@ -0,0 +1,274 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.jmx; + +import java.lang.reflect.Constructor; +import org.apache.log4j.Logger; +import org.apache.log4j.Level; +import org.apache.log4j.Layout; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.spi.OptionHandler; + +import java.util.Vector; +import java.util.Hashtable; +import java.lang.reflect.Method; +import java.lang.reflect.InvocationTargetException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanNotificationInfo; +import javax.management.MBeanInfo; +import javax.management.Attribute; + +import javax.management.MBeanException; +import javax.management.AttributeNotFoundException; +import javax.management.RuntimeOperationsException; +import javax.management.ReflectionException; +import javax.management.InvalidAttributeValueException; +import javax.management.MBeanOperationInfo; +import javax.management.MBeanParameterInfo; + +import java.beans.Introspector; +import java.beans.BeanInfo; +import java.beans.PropertyDescriptor; +import java.beans.IntrospectionException; +import java.io.InterruptedIOException; + +public class LayoutDynamicMBean extends AbstractDynamicMBean { + + private MBeanConstructorInfo[] dConstructors = new MBeanConstructorInfo[1]; + private Vector dAttributes = new Vector(); + private String dClassName = this.getClass().getName(); + + private Hashtable dynamicProps = new Hashtable(5); + private MBeanOperationInfo[] dOperations = new MBeanOperationInfo[1]; + private String dDescription = + "This MBean acts as a management facade for log4j layouts."; + + // This category instance is for logging. + private static Logger cat = Logger.getLogger(LayoutDynamicMBean.class); + + // We wrap this layout instance. + private Layout layout; + + public LayoutDynamicMBean(Layout layout) throws IntrospectionException { + this.layout = layout; + buildDynamicMBeanInfo(); + } + + private + void buildDynamicMBeanInfo() throws IntrospectionException { + Constructor[] constructors = this.getClass().getConstructors(); + dConstructors[0] = new MBeanConstructorInfo( + "LayoutDynamicMBean(): Constructs a LayoutDynamicMBean instance", + constructors[0]); + + + BeanInfo bi = Introspector.getBeanInfo(layout.getClass()); + PropertyDescriptor[] pd = bi.getPropertyDescriptors(); + + int size = pd.length; + + for(int i = 0; i < size; i++) { + String name = pd[i].getName(); + Method readMethod = pd[i].getReadMethod(); + Method writeMethod = pd[i].getWriteMethod(); + if(readMethod != null) { + Class returnClass = readMethod.getReturnType(); + if(isSupportedType(returnClass)) { + String returnClassName; + if(returnClass.isAssignableFrom(Level.class)) { + returnClassName = "java.lang.String"; + } else { + returnClassName = returnClass.getName(); + } + + dAttributes.add(new MBeanAttributeInfo(name, + returnClassName, + "Dynamic", + true, + writeMethod != null, + false)); + dynamicProps.put(name, new MethodUnion(readMethod, writeMethod)); + } + } + } + + MBeanParameterInfo[] params = new MBeanParameterInfo[0]; + + dOperations[0] = new MBeanOperationInfo("activateOptions", + "activateOptions(): add an layout", + params, + "void", + MBeanOperationInfo.ACTION); + } + + private + boolean isSupportedType(Class clazz) { + if(clazz.isPrimitive()) { + return true; + } + + if(clazz == String.class) { + return true; + } + if(clazz.isAssignableFrom(Level.class)) { + return true; + } + + return false; + } + + + + public + MBeanInfo getMBeanInfo() { + cat.debug("getMBeanInfo called."); + + MBeanAttributeInfo[] attribs = new MBeanAttributeInfo[dAttributes.size()]; + dAttributes.toArray(attribs); + + return new MBeanInfo(dClassName, + dDescription, + attribs, + dConstructors, + dOperations, + new MBeanNotificationInfo[0]); + } + + public + Object invoke(String operationName, Object params[], String signature[]) + throws MBeanException, + ReflectionException { + + if(operationName.equals("activateOptions") && + layout instanceof OptionHandler) { + OptionHandler oh = (OptionHandler) layout; + oh.activateOptions(); + return "Options activated."; + } + return null; + } + + protected + Logger getLogger() { + return cat; + } + + + public + Object getAttribute(String attributeName) throws AttributeNotFoundException, + MBeanException, + ReflectionException { + + // Check attributeName is not null to avoid NullPointerException later on + if (attributeName == null) { + throw new RuntimeOperationsException(new IllegalArgumentException( + "Attribute name cannot be null"), + "Cannot invoke a getter of " + dClassName + " with null attribute name"); + } + + + MethodUnion mu = (MethodUnion) dynamicProps.get(attributeName); + + cat.debug("----name="+attributeName+", mu="+mu); + + if(mu != null && mu.readMethod != null) { + try { + return mu.readMethod.invoke(layout, null); + } catch(InvocationTargetException e) { + if (e.getTargetException() instanceof InterruptedException + || e.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + return null; + } catch(IllegalAccessException e) { + return null; + } catch(RuntimeException e) { + return null; + } + } + + + + // If attributeName has not been recognized throw an AttributeNotFoundException + throw(new AttributeNotFoundException("Cannot find " + attributeName + + " attribute in " + dClassName)); + + } + + + public + void setAttribute(Attribute attribute) throws AttributeNotFoundException, + InvalidAttributeValueException, + MBeanException, + ReflectionException { + + // Check attribute is not null to avoid NullPointerException later on + if (attribute == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("Attribute cannot be null"), + "Cannot invoke a setter of " + dClassName + + " with null attribute"); + } + String name = attribute.getName(); + Object value = attribute.getValue(); + + if (name == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("Attribute name cannot be null"), + "Cannot invoke the setter of "+dClassName+ + " with null attribute name"); + } + + + + MethodUnion mu = (MethodUnion) dynamicProps.get(name); + + if(mu != null && mu.writeMethod != null) { + Object[] o = new Object[1]; + + Class[] params = mu.writeMethod.getParameterTypes(); + if(params[0] == org.apache.log4j.Priority.class) { + value = OptionConverter.toLevel((String) value, + (Level) getAttribute(name)); + } + o[0] = value; + + try { + mu.writeMethod.invoke(layout, o); + + } catch(InvocationTargetException e) { + if (e.getTargetException() instanceof InterruptedException + || e.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + cat.error("FIXME", e); + } catch(IllegalAccessException e) { + cat.error("FIXME", e); + } catch(RuntimeException e) { + cat.error("FIXME", e); + } + } else { + throw(new AttributeNotFoundException("Attribute " + name + + " not found in " + + this.getClass().getName())); + } + } +} + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/LoggerDynamicMBean.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/LoggerDynamicMBean.java new file mode 100644 index 00000000000..b22631922da --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/LoggerDynamicMBean.java @@ -0,0 +1,282 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.jmx; + +import org.apache.log4j.Appender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.OptionConverter; + +import javax.management.Attribute; +import javax.management.AttributeNotFoundException; +import javax.management.InvalidAttributeValueException; +import javax.management.JMException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanException; +import javax.management.MBeanInfo; +import javax.management.MBeanNotificationInfo; +import javax.management.MBeanOperationInfo; +import javax.management.MBeanParameterInfo; +import javax.management.MalformedObjectNameException; +import javax.management.Notification; +import javax.management.NotificationListener; +import javax.management.ObjectName; +import javax.management.ReflectionException; +import javax.management.RuntimeOperationsException; +import java.lang.reflect.Constructor; +import java.util.Enumeration; +import java.util.Vector; + +public class LoggerDynamicMBean extends AbstractDynamicMBean + implements NotificationListener { + + private MBeanConstructorInfo[] dConstructors = new MBeanConstructorInfo[1]; + private MBeanOperationInfo[] dOperations = new MBeanOperationInfo[1]; + + private Vector dAttributes = new Vector(); + private String dClassName = this.getClass().getName(); + + private String dDescription = + "This MBean acts as a management facade for a org.apache.log4j.Logger instance."; + + // This Logger instance is for logging. + private static Logger cat = Logger.getLogger(LoggerDynamicMBean.class); + + // We wrap this Logger instance. + private Logger logger; + + public LoggerDynamicMBean(Logger logger) { + this.logger = logger; + buildDynamicMBeanInfo(); + } + + public + void handleNotification(Notification notification, Object handback) { + cat.debug("Received notification: "+notification.getType()); + registerAppenderMBean((Appender) notification.getUserData() ); + + + } + + private + void buildDynamicMBeanInfo() { + Constructor[] constructors = this.getClass().getConstructors(); + dConstructors[0] = new MBeanConstructorInfo( + "HierarchyDynamicMBean(): Constructs a HierarchyDynamicMBean instance", + constructors[0]); + + dAttributes.add(new MBeanAttributeInfo("name", + "java.lang.String", + "The name of this Logger.", + true, + false, + false)); + + dAttributes.add(new MBeanAttributeInfo("priority", + "java.lang.String", + "The priority of this logger.", + true, + true, + false)); + + + + + + MBeanParameterInfo[] params = new MBeanParameterInfo[2]; + params[0] = new MBeanParameterInfo("class name", "java.lang.String", + "add an appender to this logger"); + params[1] = new MBeanParameterInfo("appender name", "java.lang.String", + "name of the appender"); + + dOperations[0] = new MBeanOperationInfo("addAppender", + "addAppender(): add an appender", + params, + "void", + MBeanOperationInfo.ACTION); + } + + protected + Logger getLogger() { + return logger; + } + + + public + MBeanInfo getMBeanInfo() { + //cat.debug("getMBeanInfo called."); + + MBeanAttributeInfo[] attribs = new MBeanAttributeInfo[dAttributes.size()]; + dAttributes.toArray(attribs); + + MBeanInfo mb = new MBeanInfo(dClassName, + dDescription, + attribs, + dConstructors, + dOperations, + new MBeanNotificationInfo[0]); + //cat.debug("getMBeanInfo exit."); + return mb; + } + + public + Object invoke(String operationName, Object params[], String signature[]) + throws MBeanException, + ReflectionException { + + if(operationName.equals("addAppender")) { + addAppender((String) params[0], (String) params[1]); + return "Hello world."; + } + + return null; + } + + + public + Object getAttribute(String attributeName) throws AttributeNotFoundException, + MBeanException, + ReflectionException { + + // Check attributeName is not null to avoid NullPointerException later on + if (attributeName == null) { + throw new RuntimeOperationsException(new IllegalArgumentException( + "Attribute name cannot be null"), + "Cannot invoke a getter of " + dClassName + " with null attribute name"); + } + + // Check for a recognized attributeName and call the corresponding getter + if (attributeName.equals("name")) { + return logger.getName(); + } else if(attributeName.equals("priority")) { + Level l = logger.getLevel(); + if(l == null) { + return null; + } else { + return l.toString(); + } + } else if(attributeName.startsWith("appender=")) { + try { + return new ObjectName("log4j:"+attributeName ); + } catch(MalformedObjectNameException e) { + cat.error("Could not create ObjectName" + attributeName); + } catch(RuntimeException e) { + cat.error("Could not create ObjectName" + attributeName); + } + } + + + // If attributeName has not been recognized throw an AttributeNotFoundException + throw(new AttributeNotFoundException("Cannot find " + attributeName + + " attribute in " + dClassName)); + + } + + + void addAppender(String appenderClass, String appenderName) { + cat.debug("addAppender called with "+appenderClass+", "+appenderName); + Appender appender = (Appender) + OptionConverter.instantiateByClassName(appenderClass, + org.apache.log4j.Appender.class, + null); + appender.setName(appenderName); + logger.addAppender(appender); + + //appenderMBeanRegistration(); + + } + + + public + void setAttribute(Attribute attribute) throws AttributeNotFoundException, + InvalidAttributeValueException, + MBeanException, + ReflectionException { + + // Check attribute is not null to avoid NullPointerException later on + if (attribute == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("Attribute cannot be null"), + "Cannot invoke a setter of " + dClassName + + " with null attribute"); + } + String name = attribute.getName(); + Object value = attribute.getValue(); + + if (name == null) { + throw new RuntimeOperationsException( + new IllegalArgumentException("Attribute name cannot be null"), + "Cannot invoke the setter of "+dClassName+ + " with null attribute name"); + } + + + if(name.equals("priority")) { + if (value instanceof String) { + String s = (String) value; + Level p = logger.getLevel(); + if(s.equalsIgnoreCase("NULL")) { + p = null; + } else { + p = OptionConverter.toLevel(s, p); + } + logger.setLevel(p); + } + } else { + throw(new AttributeNotFoundException("Attribute " + name + + " not found in " + + this.getClass().getName())); + } + } + + void appenderMBeanRegistration() { + Enumeration enumeration = logger.getAllAppenders(); + while(enumeration.hasMoreElements()) { + Appender appender = (Appender) enumeration.nextElement(); + registerAppenderMBean(appender); + } + } + + void registerAppenderMBean(Appender appender) { + String name = getAppenderName(appender); + cat.debug("Adding AppenderMBean for appender named "+name); + ObjectName objectName = null; + try { + AppenderDynamicMBean appenderMBean = new AppenderDynamicMBean(appender); + objectName = new ObjectName("log4j", "appender", name); + if (!server.isRegistered(objectName)) { + registerMBean(appenderMBean, objectName); + dAttributes.add(new MBeanAttributeInfo("appender=" + name, "javax.management.ObjectName", + "The " + name + " appender.", true, true, false)); + } + + } catch(JMException e) { + cat.error("Could not add appenderMBean for ["+name+"].", e); + } catch(java.beans.IntrospectionException e) { + cat.error("Could not add appenderMBean for ["+name+"].", e); + } catch(RuntimeException e) { + cat.error("Could not add appenderMBean for ["+name+"].", e); + } + } + + public + void postRegister(java.lang.Boolean registrationDone) { + appenderMBeanRegistration(); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/MethodUnion.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/MethodUnion.java new file mode 100644 index 00000000000..e9f2fb2c523 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/MethodUnion.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.jmx; + +import java.lang.reflect.Method; + +class MethodUnion { + + Method readMethod; + Method writeMethod; + + MethodUnion( Method readMethod, Method writeMethod) { + this.readMethod = readMethod; + this.writeMethod = writeMethod; + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/package.html new file mode 100644 index 00000000000..6d1583a9fc6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/jmx/package.html @@ -0,0 +1,24 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> + + <body> + This package lets you manage log4j settings using JMX. It is + unfortunately not of production quality. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/AppenderFinalizer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/AppenderFinalizer.java new file mode 100644 index 00000000000..a2a7019208f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/AppenderFinalizer.java @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5; + +import org.apache.log4j.lf5.viewer.LogBrokerMonitor; + +/** + * <code>AppenderFinalizer</code> has a single method that will finalize + * resources associated with a <code>LogBrokerMonitor</code> in the event + * that the <code>LF5Appender</code> class is destroyed, and the class loader + * is garbage collected. + * + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class AppenderFinalizer { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + protected LogBrokerMonitor _defaultMonitor = null; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public AppenderFinalizer(LogBrokerMonitor defaultMonitor) { + _defaultMonitor = defaultMonitor; + } + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + /** + * @throws java.lang.Throwable + */ + protected void finalize() throws Throwable { + System.out.println("Disposing of the default LogBrokerMonitor instance"); + _defaultMonitor.dispose(); + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/DefaultLF5Configurator.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/DefaultLF5Configurator.java new file mode 100644 index 00000000000..31d7f5bfc57 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/DefaultLF5Configurator.java @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.lf5; + +import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.spi.Configurator; +import org.apache.log4j.spi.LoggerRepository; + +import java.io.IOException; +import java.net.URL; + +/** + * The <code>DefaultLF5Configurator</code> provides a default + * configuration for the <code>LF5Appender</code>. + * + * Note: The preferred method for configuring a <code>LF5Appender</code> + * is to use the <code>LF5Manager</code> class. This class ensures + * that configuration does not occur multiple times, and improves system + * performance. Reconfiguring the monitor multiple times can result in + * unexpected behavior. + * + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class DefaultLF5Configurator implements Configurator { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + /** + * This class should never be instantiated! It implements the <code> + * Configurator</code> + * interface, but does not provide the same functionality as full + * configurator class. + */ + private DefaultLF5Configurator() { + + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + /** + * This method configures the <code>LF5Appender</code> using a + * default configuration file. The default configuration file is + * <bold>defaultconfig.properties</bold>. + * @throws java.io.IOException + */ + public static void configure() throws IOException { + String resource = + "/org/apache/log4j/lf5/config/defaultconfig.properties"; + URL configFileResource = + DefaultLF5Configurator.class.getResource(resource); + + if (configFileResource != null) { + PropertyConfigurator.configure(configFileResource); + } else { + throw new IOException("Error: Unable to open the resource" + + resource); + } + + } + + /** + * This is a dummy method that will throw an + * <code>IllegalStateException</code> if used. + */ + public void doConfigure(URL configURL, LoggerRepository repository) { + throw new IllegalStateException("This class should NOT be" + + " instantiated!"); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LF5Appender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LF5Appender.java new file mode 100644 index 00000000000..e98e9bd0158 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LF5Appender.java @@ -0,0 +1,266 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.lf5; + +import java.awt.Toolkit; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.lf5.viewer.LogBrokerMonitor; +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.spi.LoggingEvent; + +/** + * <code>LF5Appender</code> logs events to a swing based logging + * console. The swing console supports turning categories on and off, + * multiple detail level views, as well as full text searching and many + * other capabilties. + * + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class LF5Appender extends AppenderSkeleton { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + protected LogBrokerMonitor _logMonitor; + protected static LogBrokerMonitor _defaultLogMonitor; + protected static AppenderFinalizer _finalizer; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + /** + * Constructs a <code>LF5Appender</code> using the default instance of + * the <code>LogBrokerMonitor</code>. This constructor should <bold>always + * </bold> be preferred over the + * <code>LF5Appender(LogBrokerMonitor monitor)</code> + * constructor, unless you need to spawn additional log monitoring + * windows. + */ + public LF5Appender() { + this(getDefaultInstance()); + } + + /** + * Constructs a <code>LF5Appender<code> using an instance of + * a <code>LogBrokerMonitor<code> supplied by the user. This + * constructor should only be used when you need to spawn + * additional log monitoring windows. + * + * @param monitor An instance of a <code>LogBrokerMonitor<code> + * created by the user. + */ + public LF5Appender(LogBrokerMonitor monitor) { + + if (monitor != null) { + _logMonitor = monitor; + } + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Appends a <code>LoggingEvent</code> record to the + * <code>LF5Appender</code>. + * @param event The <code>LoggingEvent</code> + * to be appended. + */ + public void append(LoggingEvent event) { + // Retrieve the information from the log4j LoggingEvent. + String category = event.getLoggerName(); + String logMessage = event.getRenderedMessage(); + String nestedDiagnosticContext = event.getNDC(); + String threadDescription = event.getThreadName(); + String level = event.getLevel().toString(); + long time = event.timeStamp; + LocationInfo locationInfo = event.getLocationInformation(); + + // Add the logging event information to a LogRecord + Log4JLogRecord record = new Log4JLogRecord(); + + record.setCategory(category); + record.setMessage(logMessage); + record.setLocation(locationInfo.fullInfo); + record.setMillis(time); + record.setThreadDescription(threadDescription); + + if (nestedDiagnosticContext != null) { + record.setNDC(nestedDiagnosticContext); + } else { + record.setNDC(""); + } + + if (event.getThrowableInformation() != null) { + record.setThrownStackTrace(event.getThrowableInformation()); + } + + try { + record.setLevel(LogLevel.valueOf(level)); + } catch (LogLevelFormatException e) { + // If the priority level doesn't match one of the predefined + // log levels, then set the level to warning. + record.setLevel(LogLevel.WARN); + } + + if (_logMonitor != null) { + _logMonitor.addMessage(record); + } + } + + /** + * This method is an empty implementation of the close() method inherited + * from the <code>org.apache.log4j.Appender</code> interface. + */ + public void close() { + } + + /** + * Returns a value that indicates whether this appender requires a + * <code>Layout</code>. This method always returns false. + * No layout is required for the <code>LF5Appender</code>. + */ + public boolean requiresLayout() { + return false; + } + + /** + * This method is used to set the property that controls whether + * the <code>LogBrokerMonitor</code> is hidden or closed when a user + * exits + * the monitor. By default, the <code>LogBrokerMonitor</code> will hide + * itself when the log window is exited, and the swing thread will + * continue to run in the background. If this property is + * set to true, the <code>LogBrokerMonitor</code> will call System.exit(0) + * and will shut down swing thread and the virtual machine. + * + * @param callSystemExitOnClose A boolean value indicating whether + * to call System.exit(0) when closing the log window. + */ + public void setCallSystemExitOnClose(boolean callSystemExitOnClose) { + _logMonitor.setCallSystemExitOnClose(callSystemExitOnClose); + } + + /** + * The equals method compares two LF5Appenders and determines whether + * they are equal. Two <code>Appenders</code> will be considered equal + * if, and only if, they both contain references to the same <code> + * LogBrokerMonitor</code>. + * + * @param compareTo A boolean value indicating whether + * the two LF5Appenders are equal. + */ + public boolean equals(LF5Appender compareTo) { + // If both reference the same LogBrokerMonitor, they are equal. + return _logMonitor == compareTo.getLogBrokerMonitor(); + } + + public LogBrokerMonitor getLogBrokerMonitor() { + return _logMonitor; + } + + public static void main(String[] args) { + new LF5Appender(); + } + + public void setMaxNumberOfRecords(int maxNumberOfRecords) { + _defaultLogMonitor.setMaxNumberOfLogRecords(maxNumberOfRecords); + } + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + /** + * @return The default instance of the <code>LogBrokerMonitor</code>. + */ + protected static synchronized LogBrokerMonitor getDefaultInstance() { + if (_defaultLogMonitor == null) { + try { + _defaultLogMonitor = + new LogBrokerMonitor(LogLevel.getLog4JLevels()); + _finalizer = new AppenderFinalizer(_defaultLogMonitor); + + _defaultLogMonitor.setFrameSize(getDefaultMonitorWidth(), + getDefaultMonitorHeight()); + _defaultLogMonitor.setFontSize(12); + _defaultLogMonitor.show(); + + } catch (SecurityException e) { + _defaultLogMonitor = null; + } + } + + return _defaultLogMonitor; + } + + /** + * @return the screen width from Toolkit.getScreenSize() + * if possible, otherwise returns 800 + * @see java.awt.Toolkit + */ + protected static int getScreenWidth() { + try { + return Toolkit.getDefaultToolkit().getScreenSize().width; + } catch (Throwable t) { + return 800; + } + } + + /** + * @return the screen height from Toolkit.getScreenSize() + * if possible, otherwise returns 600 + * @see java.awt.Toolkit + */ + protected static int getScreenHeight() { + try { + return Toolkit.getDefaultToolkit().getScreenSize().height; + } catch (Throwable t) { + return 600; + } + } + + protected static int getDefaultMonitorWidth() { + return (3 * getScreenWidth()) / 4; + } + + protected static int getDefaultMonitorHeight() { + return (3 * getScreenHeight()) / 4; + } + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/Log4JLogRecord.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/Log4JLogRecord.java new file mode 100644 index 00000000000..4393eb586d3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/Log4JLogRecord.java @@ -0,0 +1,116 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.lf5; + +import org.apache.log4j.spi.ThrowableInformation; + +/** + * A <code>Log4JLogRecord</code> encapsulates + * the details of your log4j <code>LoggingEvent</code> in a format usable + * by the <code>LogBrokerMonitor</code>. + * + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class Log4JLogRecord extends LogRecord { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + /** + * Constructs an instance of a <code>Log4JLogRecord</code>. + */ + public Log4JLogRecord() { + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + /** + * Determines which <code>Priority</code> levels will + * be displayed in colored font when the <code>LogMonitorAppender</code> + * renders this log message. By default, messages will be colored + * red if they are of <code>Priority</code> ERROR or FATAL. + * + * @return true if the log level is ERROR or FATAL. + */ + public boolean isSevereLevel() { + boolean isSevere = false; + + if (LogLevel.ERROR.equals(getLevel()) || + LogLevel.FATAL.equals(getLevel())) { + isSevere = true; + } + + return isSevere; + } + + /** + * Set stack trace information associated with this Log4JLogRecord. + * When this method is called, the stack trace in a + * String-based format is made + * available via the getThrownStackTrace() method. + * + * @param throwableInfo An org.apache.log4j.spi.ThrowableInformation to + * associate with this Log4JLogRecord. + * @see #getThrownStackTrace() + */ + public void setThrownStackTrace(ThrowableInformation throwableInfo) { + String[] stackTraceArray = throwableInfo.getThrowableStrRep(); + + StringBuffer stackTrace = new StringBuffer(); + String nextLine; + + for (int i = 0; i < stackTraceArray.length; i++) { + nextLine = stackTraceArray[i] + "\n"; + stackTrace.append(nextLine); + } + + _thrownStackTrace = stackTrace.toString(); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogLevel.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogLevel.java new file mode 100644 index 00000000000..080ed687955 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogLevel.java @@ -0,0 +1,278 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5; + +import java.awt.Color; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +/** + * The LogLevel class defines a set of standard logging levels. + * + * The logging Level objects are ordered and are specified by ordered + * integers. Enabling logging at a given level also enables logging at all + * higher levels. + * + * @author Michael J. Sikorsky + * @author Robert Shaw + * @author Brent Sprecher + * @author Richard Hurst + * @author Brad Marlborough + */ + +// Contributed by ThoughtWorks Inc. + +public class LogLevel implements java.io.Serializable { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + // log4j log levels. + public final static LogLevel FATAL = new LogLevel("FATAL", 0); + public final static LogLevel ERROR = new LogLevel("ERROR", 1); + public final static LogLevel WARN = new LogLevel("WARN", 2); + public final static LogLevel INFO = new LogLevel("INFO", 3); + public final static LogLevel DEBUG = new LogLevel("DEBUG", 4); + + // jdk1.4 log levels NOTE: also includes INFO + public final static LogLevel SEVERE = new LogLevel("SEVERE", 1); + public final static LogLevel WARNING = new LogLevel("WARNING", 2); + public final static LogLevel CONFIG = new LogLevel("CONFIG", 4); + public final static LogLevel FINE = new LogLevel("FINE", 5); + public final static LogLevel FINER = new LogLevel("FINER", 6); + public final static LogLevel FINEST = new LogLevel("FINEST", 7); + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected String _label; + protected int _precedence; + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private static LogLevel[] _log4JLevels; + private static LogLevel[] _jdk14Levels; + private static LogLevel[] _allDefaultLevels; + private static Map _logLevelMap; + private static Map _logLevelColorMap; + private static Map _registeredLogLevelMap = new HashMap(); + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + static { + _log4JLevels = new LogLevel[]{FATAL, ERROR, WARN, INFO, DEBUG}; + _jdk14Levels = new LogLevel[]{SEVERE, WARNING, INFO, + CONFIG, FINE, FINER, FINEST}; + _allDefaultLevels = new LogLevel[]{FATAL, ERROR, WARN, INFO, DEBUG, + SEVERE, WARNING, CONFIG, FINE, FINER, FINEST}; + + _logLevelMap = new HashMap(); + for (int i = 0; i < _allDefaultLevels.length; i++) { + _logLevelMap.put(_allDefaultLevels[i].getLabel(), _allDefaultLevels[i]); + } + + // prepopulate map with levels and text color of black + _logLevelColorMap = new HashMap(); + for (int i = 0; i < _allDefaultLevels.length; i++) { + _logLevelColorMap.put(_allDefaultLevels[i], Color.black); + } + } + + public LogLevel(String label, int precedence) { + _label = label; + _precedence = precedence; + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Return the Label of the LogLevel. + */ + public String getLabel() { + return _label; + } + + /** + * Returns true if the level supplied is encompassed by this level. + * For example, LogLevel.SEVERE encompasses no other LogLevels and + * LogLevel.FINE encompasses all other LogLevels. By definition, + * a LogLevel encompasses itself. + */ + public boolean encompasses(LogLevel level) { + if (level.getPrecedence() <= getPrecedence()) { + return true; + } + + return false; + } + + /** + * Convert a log level label into a LogLevel object. + * + * @param level The label of a level to be converted into a LogLevel. + * @return LogLevel The LogLevel with a label equal to level. + * @throws LogLevelFormatException Is thrown when the level can not be + * converted into a LogLevel. + */ + public static LogLevel valueOf(String level) + throws LogLevelFormatException { + LogLevel logLevel = null; + if (level != null) { + level = level.trim().toUpperCase(); + logLevel = (LogLevel) _logLevelMap.get(level); + } + + // Didn't match, Check for registered LogLevels + if (logLevel == null && _registeredLogLevelMap.size() > 0) { + logLevel = (LogLevel) _registeredLogLevelMap.get(level); + } + + if (logLevel == null) { + StringBuffer buf = new StringBuffer(); + buf.append("Error while trying to parse (" + level + ") into"); + buf.append(" a LogLevel."); + throw new LogLevelFormatException(buf.toString()); + } + return logLevel; + } + + /** + * Registers a used defined LogLevel. + * + * @param logLevel The log level to be registered. Cannot be a default LogLevel + * @return LogLevel The replaced log level. + */ + public static LogLevel register(LogLevel logLevel) { + if (logLevel == null) return null; + + // ensure that this is not a default log level + if (_logLevelMap.get(logLevel.getLabel()) == null) { + return (LogLevel) _registeredLogLevelMap.put(logLevel.getLabel(), logLevel); + } + + return null; + } + + public static void register(LogLevel[] logLevels) { + if (logLevels != null) { + for (int i = 0; i < logLevels.length; i++) { + register(logLevels[i]); + } + } + } + + public static void register(List logLevels) { + if (logLevels != null) { + Iterator it = logLevels.iterator(); + while (it.hasNext()) { + register((LogLevel) it.next()); + } + } + } + + public boolean equals(Object o) { + boolean equals = false; + + if (o instanceof LogLevel) { + if (this.getPrecedence() == + ((LogLevel) o).getPrecedence()) { + equals = true; + } + + } + + return equals; + } + + public int hashCode() { + return _label.hashCode(); + } + + public String toString() { + return _label; + } + + // set a text color for a specific log level + public void setLogLevelColorMap(LogLevel level, Color color) { + // remove the old entry + _logLevelColorMap.remove(level); + // add the new color entry + if (color == null) { + color = Color.black; + } + _logLevelColorMap.put(level, color); + } + + public static void resetLogLevelColorMap() { + // empty the map + _logLevelColorMap.clear(); + + // repopulate map and reset text color black + for (int i = 0; i < _allDefaultLevels.length; i++) { + _logLevelColorMap.put(_allDefaultLevels[i], Color.black); + } + } + + /** + * @return A <code>List</code> of <code>LogLevel</code> objects that map + * to log4j <code>Priority</code> objects. + */ + public static List getLog4JLevels() { + return Arrays.asList(_log4JLevels); + } + + public static List getJdk14Levels() { + return Arrays.asList(_jdk14Levels); + } + + public static List getAllDefaultLevels() { + return Arrays.asList(_allDefaultLevels); + } + + public static Map getLogLevelColorMap() { + return _logLevelColorMap; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected int getPrecedence() { + return _precedence; + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogLevelFormatException.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogLevelFormatException.java new file mode 100644 index 00000000000..1109e238363 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogLevelFormatException.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5; + +/** + * Thrown to indicate that the client has attempted to convert a string + * to one the LogLevel types, but the string does not have the appropriate + * format. + * + * @author Michael J. Sikorsky< + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class LogLevelFormatException extends Exception { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public LogLevelFormatException(String message) { + super(message); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogRecord.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogRecord.java new file mode 100644 index 00000000000..4f4097f20a1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogRecord.java @@ -0,0 +1,395 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5; + +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringWriter; + +/** + * LogRecord. A LogRecord encapsulates the details of your desired log + * request. + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public abstract class LogRecord implements java.io.Serializable { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected static long _seqCount = 0; + + protected LogLevel _level; + protected String _message; + protected long _sequenceNumber; + protected long _millis; + protected String _category; + protected String _thread; + protected String _thrownStackTrace; + protected Throwable _thrown; + protected String _ndc; + protected String _location; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public LogRecord() { + super(); + + _millis = System.currentTimeMillis(); + _category = "Debug"; + _message = ""; + _level = LogLevel.INFO; + _sequenceNumber = getNextId(); + _thread = Thread.currentThread().toString(); + _ndc = ""; + _location = ""; + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Get the level of this LogRecord. + * + * @return The LogLevel of this record. + * @see #setLevel(LogLevel) + * @see LogLevel + */ + public LogLevel getLevel() { + return (_level); + } + + /** + * Set the level of this LogRecord. + * + * @param level The LogLevel for this record. + * @see #getLevel() + * @see LogLevel + */ + public void setLevel(LogLevel level) { + _level = level; + } + + /** + * Abstract method. Must be overridden to indicate what log level + * to show in red. + */ + public abstract boolean isSevereLevel(); + + /** + * @return true if getThrown().toString() is a non-empty string. + */ + public boolean hasThrown() { + Throwable thrown = getThrown(); + if (thrown == null) { + return false; + } + String thrownString = thrown.toString(); + return thrownString != null && thrownString.trim().length() != 0; + } + + /** + * @return true if isSevereLevel() or hasThrown() returns true. + */ + public boolean isFatal() { + return isSevereLevel() || hasThrown(); + } + + /** + * Get the category asscociated with this LogRecord. For a more detailed + * description of what a category is see setCategory(). + * + * @return The category of this record. + * @see #setCategory(String) + */ + public String getCategory() { + return (_category); + } + + /** + * Set the category associated with this LogRecord. A category represents + * a hierarchical dot (".") separated namespace for messages. + * The definition of a category is application specific, but a common convention + * is as follows: + * + * <p> + * When logging messages + * for a particluar class you can use its class name: + * com.thoughtworks.framework.servlet.ServletServiceBroker.<br><br> + * Futhermore, to log a message for a particular method in a class + * add the method name: + * com.thoughtworks.framework.servlet.ServletServiceBroker.init(). + * </p> + * + * @param category The category for this record. + * @see #getCategory() + */ + public void setCategory(String category) { + _category = category; + } + + /** + * Get the message asscociated with this LogRecord. + * + * @return The message of this record. + * @see #setMessage(String) + */ + public String getMessage() { + return (_message); + } + + /** + * Set the message associated with this LogRecord. + * + * @param message The message for this record. + * @see #getMessage() + */ + public void setMessage(String message) { + _message = message; + } + + /** + * Get the sequence number associated with this LogRecord. Sequence numbers + * are generally assigned when a LogRecord is constructed. Sequence numbers + * start at 0 and increase with each newly constructed LogRocord. + * + * @return The sequence number of this record. + * @see #setSequenceNumber(long) + */ + public long getSequenceNumber() { + return (_sequenceNumber); + } + + /** + * Set the sequence number assocsiated with this LogRecord. A sequence number + * will automatically be assigned to evey newly constructed LogRecord, however, + * this method can override the value. + * + * @param number The sequence number. + * @see #getSequenceNumber() + */ + public void setSequenceNumber(long number) { + _sequenceNumber = number; + } + + /** + * Get the event time of this record in milliseconds from 1970. + * When a LogRecord is constructed the event time is set but may be + * overridden by calling setMillis(); + * + * @return The event time of this record in milliseconds from 1970. + * @see #setMillis(long) + */ + public long getMillis() { + return _millis; + } + + /** + * Set the event time of this record. When a LogRecord is constructed + * the event time is set but may be overridden by calling this method. + * + * @param millis The time in milliseconds from 1970. + * @see #getMillis() + */ + public void setMillis(long millis) { + _millis = millis; + } + + /** + * Get the thread description asscociated with this LogRecord. When a + * LogRecord is constructed, the thread description is set by calling: + * Thread.currentThread().toString(). You may supply a thread description + * of your own by calling the setThreadDescription(String) method. + * + * @return The thread description of this record. + * @see #setThreadDescription(String) + */ + public String getThreadDescription() { + return (_thread); + } + + /** + * Set the thread description associated with this LogRecord. When a + * LogRecord is constructed, the thread description is set by calling: + * Thread.currentThread().toString(). You may supply a thread description + * of your own by calling this method. + * + * @param threadDescription The description of the thread for this record. + * @see #getThreadDescription() + */ + public void setThreadDescription(String threadDescription) { + _thread = threadDescription; + } + + /** + * Get the stack trace in a String-based format for the associated Throwable + * of this LogRecord. The stack trace in a String-based format is set + * when the setThrown(Throwable) method is called. + * + * <p> + * Why do we need this method considering that we + * have the getThrown() and setThrown() methods? + * A Throwable object may not be serializable, however, a String representation + * of it is. Users of LogRecords should generally call this method over + * getThrown() for the reasons of serialization. + * </p> + * + * @return The Stack Trace for the asscoiated Throwable of this LogRecord. + * @see #setThrown(Throwable) + * @see #getThrown() + */ + public String getThrownStackTrace() { + return (_thrownStackTrace); + } + + /** + * Set the ThrownStackTrace for the log record. + * + * @param trace A String to associate with this LogRecord + * @see #getThrownStackTrace() + */ + public void setThrownStackTrace(String trace) { + _thrownStackTrace = trace; + } + + /** + * Get the Throwable associated with this LogRecord. + * + * @return The LogLevel of this record. + * @see #setThrown(Throwable) + * @see #getThrownStackTrace() + */ + public Throwable getThrown() { + return (_thrown); + } + + /** + * Set the Throwable associated with this LogRecord. When this method + * is called, the stack trace in a String-based format is made + * available via the getThrownStackTrace() method. + * + * @param thrown A Throwable to associate with this LogRecord. + * @see #getThrown() + * @see #getThrownStackTrace() + */ + public void setThrown(Throwable thrown) { + if (thrown == null) { + return; + } + _thrown = thrown; + StringWriter sw = new StringWriter(); + PrintWriter out = new PrintWriter(sw); + thrown.printStackTrace(out); + out.flush(); + _thrownStackTrace = sw.toString(); + try { + out.close(); + sw.close(); + } catch (IOException e) { + // Do nothing, this should not happen as it is StringWriter. + } + out = null; + sw = null; + } + + /** + * Return a String representation of this LogRecord. + */ + public String toString() { + StringBuffer buf = new StringBuffer(); + buf.append("LogRecord: [" + _level + ", " + _message + "]"); + return (buf.toString()); + } + + /** + * Get the NDC (nested diagnostic context) for this record. + * + * @return The string representing the NDC. + */ + public String getNDC() { + return _ndc; + } + + /** + * Set the NDC (nested diagnostic context) for this record. + * + * @param ndc A string representing the NDC. + */ + public void setNDC(String ndc) { + _ndc = ndc; + } + + /** + * Get the location in code where this LogRecord originated. + * + * @return The string containing the location information. + */ + public String getLocation() { + return _location; + } + + /** + * Set the location in code where this LogRecord originated. + * + * @param location A string containing location information. + */ + public void setLocation(String location) { + _location = location; + } + + /** + * Resets that sequence number to 0. + * + */ + public static synchronized void resetSequenceNumber() { + _seqCount = 0; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected static synchronized long getNextId() { + _seqCount++; + return _seqCount; + } + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogRecordFilter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogRecordFilter.java new file mode 100644 index 00000000000..25a3e53c2e8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/LogRecordFilter.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5; + + +/** + * An interface for classes which filters LogRecords. Implementations + * represent a rule or condition which LogRecords may pass or fail. + * @see LogRecord + * + * @author Richard Wan + */ + +// Contributed by ThoughtWorks Inc. + +public interface LogRecordFilter { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * @return true if the specified LogRecord satisfies whatever condition + * implementing class tests for. + */ + public boolean passes(LogRecord record); + +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/PassingLogRecordFilter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/PassingLogRecordFilter.java new file mode 100644 index 00000000000..178f6cb67c4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/PassingLogRecordFilter.java @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5; + + +/** + * An implementation of LogRecordFilter which always returns true. + * + * @author Richard Wan + */ + +// Contributed by ThoughtWorks Inc. + +public class PassingLogRecordFilter implements LogRecordFilter { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * @return true; + */ + public boolean passes(LogRecord record) { + return true; + } + + /** + * Does nothing. + */ + public void reset() { + // do nothing + } + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/StartLogFactor5.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/StartLogFactor5.java new file mode 100644 index 00000000000..1ea28c3c725 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/StartLogFactor5.java @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5; + +import org.apache.log4j.lf5.viewer.LogBrokerMonitor; + +/** + * Starts an instance of the LogFactor5 console for off-line viewing. + * + * @author Brad Marlborough + * @author Richard Hurst + */ + +// Contributed by ThoughtWorks Inc. + +public class StartLogFactor5 { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Main - starts a an instance of the LogFactor5 console and configures + * the console settings. + */ + public final static void main(String[] args) { + + LogBrokerMonitor monitor = new LogBrokerMonitor( + LogLevel.getLog4JLevels()); + + monitor.setFrameSize(LF5Appender.getDefaultMonitorWidth(), + LF5Appender.getDefaultMonitorHeight()); + monitor.setFontSize(12); + monitor.show(); + + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- + +} + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/AdapterLogRecord.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/AdapterLogRecord.java new file mode 100644 index 00000000000..2e4ee6f02fe --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/AdapterLogRecord.java @@ -0,0 +1,114 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.util; + +import org.apache.log4j.lf5.LogLevel; +import org.apache.log4j.lf5.LogRecord; + +import java.io.PrintWriter; +import java.io.StringWriter; + +/** + * <p>A LogRecord to be used with the LogMonitorAdapter</p> + * + * @author Richard Hurst + */ + +// Contributed by ThoughtWorks Inc. + +public class AdapterLogRecord extends LogRecord { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private static LogLevel severeLevel = null; + + private static StringWriter sw = new StringWriter(); + private static PrintWriter pw = new PrintWriter(sw); + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + public AdapterLogRecord() { + super(); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + public void setCategory(String category) { + super.setCategory(category); + super.setLocation(getLocationInfo(category)); + } + + public boolean isSevereLevel() { + if (severeLevel == null) return false; + return severeLevel.equals(getLevel()); + } + + public static void setSevereLevel(LogLevel level) { + severeLevel = level; + } + + public static LogLevel getSevereLevel() { + return severeLevel; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + protected String getLocationInfo(String category) { + String stackTrace = stackTraceToString(new Throwable()); + String line = parseLine(stackTrace, category); + return line; + } + + protected String stackTraceToString(Throwable t) { + String s = null; + + synchronized (sw) { + t.printStackTrace(pw); + s = sw.toString(); + sw.getBuffer().setLength(0); + } + + return s; + } + + protected String parseLine(String trace, String category) { + int index = trace.indexOf(category); + if (index == -1) return null; + trace = trace.substring(index); + trace = trace.substring(0, trace.indexOf(")") + 1); + return trace; + } + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/DateFormatManager.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/DateFormatManager.java new file mode 100644 index 00000000000..6bed9cc862e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/DateFormatManager.java @@ -0,0 +1,243 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.util; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; + +/** + * Date format manager. + * Utility class to help manage consistent date formatting and parsing. + * It may be advantageous to have multiple DateFormatManagers per + * application. For example, one for handling the output (formatting) of + * dates, and another one for handling the input (parsing) of dates. + * + * @author Robert Shaw + * @author Michael J. Sikorsky + */ + +// Contributed by ThoughtWorks Inc. +public class DateFormatManager { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private TimeZone _timeZone = null; + private Locale _locale = null; + + private String _pattern = null; + private DateFormat _dateFormat = null; + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + public DateFormatManager() { + super(); + configure(); + } + + public DateFormatManager(TimeZone timeZone) { + super(); + + _timeZone = timeZone; + configure(); + } + + public DateFormatManager(Locale locale) { + super(); + + _locale = locale; + configure(); + } + + public DateFormatManager(String pattern) { + super(); + + _pattern = pattern; + configure(); + } + + public DateFormatManager(TimeZone timeZone, Locale locale) { + super(); + + _timeZone = timeZone; + _locale = locale; + configure(); + } + + public DateFormatManager(TimeZone timeZone, String pattern) { + super(); + + _timeZone = timeZone; + _pattern = pattern; + configure(); + } + + public DateFormatManager(Locale locale, String pattern) { + super(); + + _locale = locale; + _pattern = pattern; + configure(); + } + + public DateFormatManager(TimeZone timeZone, Locale locale, String pattern) { + super(); + + _timeZone = timeZone; + _locale = locale; + _pattern = pattern; + configure(); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public synchronized TimeZone getTimeZone() { + if (_timeZone == null) { + return TimeZone.getDefault(); + } else { + return _timeZone; + } + } + + public synchronized void setTimeZone(TimeZone timeZone) { + _timeZone = timeZone; + configure(); + } + + public synchronized Locale getLocale() { + if (_locale == null) { + return Locale.getDefault(); + } else { + return _locale; + } + } + + public synchronized void setLocale(Locale locale) { + _locale = locale; + configure(); + } + + public synchronized String getPattern() { + return _pattern; + } + + /** + * Set the pattern. i.e. "EEEEE, MMMMM d, yyyy hh:mm aaa" + */ + public synchronized void setPattern(String pattern) { + _pattern = pattern; + configure(); + } + + + /** + * This method has been deprecated in favour of getPattern(). + * @deprecated Use getPattern(). + */ + public synchronized String getOutputFormat() { + return _pattern; + } + + /** + * This method has been deprecated in favour of setPattern(). + * @deprecated Use setPattern(). + */ + public synchronized void setOutputFormat(String pattern) { + _pattern = pattern; + configure(); + } + + public synchronized DateFormat getDateFormatInstance() { + return _dateFormat; + } + + public synchronized void setDateFormatInstance(DateFormat dateFormat) { + _dateFormat = dateFormat; + // No reconfiguration necessary! + } + + public String format(Date date) { + return getDateFormatInstance().format(date); + } + + public String format(Date date, String pattern) { + DateFormat formatter = null; + formatter = getDateFormatInstance(); + if (formatter instanceof SimpleDateFormat) { + formatter = (SimpleDateFormat) (formatter.clone()); + ((SimpleDateFormat) formatter).applyPattern(pattern); + } + return formatter.format(date); + } + + /** + * @throws java.text.ParseException + */ + public Date parse(String date) throws ParseException { + return getDateFormatInstance().parse(date); + } + + /** + * @throws java.text.ParseException + */ + public Date parse(String date, String pattern) throws ParseException { + DateFormat formatter = null; + formatter = getDateFormatInstance(); + if (formatter instanceof SimpleDateFormat) { + formatter = (SimpleDateFormat) (formatter.clone()); + ((SimpleDateFormat) formatter).applyPattern(pattern); + } + return formatter.parse(date); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + private synchronized void configure() { + _dateFormat = SimpleDateFormat.getDateTimeInstance(DateFormat.FULL, + DateFormat.FULL, + getLocale()); + _dateFormat.setTimeZone(getTimeZone()); + + if (_pattern != null) { + ((SimpleDateFormat) _dateFormat).applyPattern(_pattern); + } + } + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/LogFileParser.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/LogFileParser.java new file mode 100644 index 00000000000..656d4b6a6a6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/LogFileParser.java @@ -0,0 +1,301 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.util; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +import javax.swing.SwingUtilities; + +import org.apache.log4j.lf5.Log4JLogRecord; +import org.apache.log4j.lf5.LogLevel; +import org.apache.log4j.lf5.LogLevelFormatException; +import org.apache.log4j.lf5.LogRecord; +import org.apache.log4j.lf5.viewer.LogBrokerMonitor; +import org.apache.log4j.lf5.viewer.LogFactor5ErrorDialog; +import org.apache.log4j.lf5.viewer.LogFactor5LoadingDialog; + +/** + * Provides utility methods for input and output streams. + * + * @author Brad Marlborough + * @author Richard Hurst + */ + +// Contributed by ThoughtWorks Inc. + +public class LogFileParser implements Runnable { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + public static final String RECORD_DELIMITER = "[slf5s.start]"; + public static final String ATTRIBUTE_DELIMITER = "[slf5s."; + public static final String DATE_DELIMITER = ATTRIBUTE_DELIMITER + "DATE]"; + public static final String THREAD_DELIMITER = ATTRIBUTE_DELIMITER + "THREAD]"; + public static final String CATEGORY_DELIMITER = ATTRIBUTE_DELIMITER + "CATEGORY]"; + public static final String LOCATION_DELIMITER = ATTRIBUTE_DELIMITER + "LOCATION]"; + public static final String MESSAGE_DELIMITER = ATTRIBUTE_DELIMITER + "MESSAGE]"; + public static final String PRIORITY_DELIMITER = ATTRIBUTE_DELIMITER + "PRIORITY]"; + public static final String NDC_DELIMITER = ATTRIBUTE_DELIMITER + "NDC]"; + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private static SimpleDateFormat _sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss,S"); + private LogBrokerMonitor _monitor; + LogFactor5LoadingDialog _loadDialog; + private InputStream _in = null; + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + public LogFileParser(File file) throws IOException, + FileNotFoundException { + this(new FileInputStream(file)); + } + + public LogFileParser(InputStream stream) throws IOException { + _in = stream; + } + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Starts a new thread to parse the log file and create a LogRecord. + * See run(). + * @param monitor LogBrokerMonitor + */ + public void parse(LogBrokerMonitor monitor) throws RuntimeException { + _monitor = monitor; + Thread t = new Thread(this); + t.start(); + } + + /** + * Parses the file and creates new log records and adds the record + * to the monitor. + */ + public void run() { + + int index = 0; + int counter = 0; + LogRecord temp; + boolean isLogFile = false; + + _loadDialog = new LogFactor5LoadingDialog( + _monitor.getBaseFrame(), "Loading file..."); + + + try { + String logRecords = loadLogFile(_in); + + while ((counter = logRecords.indexOf(RECORD_DELIMITER, index)) != -1) { + temp = createLogRecord(logRecords.substring(index, counter)); + isLogFile = true; + + if (temp != null) { + _monitor.addMessage(temp); + } + + index = counter + RECORD_DELIMITER.length(); + } + + if (index < logRecords.length() && isLogFile) { + temp = createLogRecord(logRecords.substring(index)); + + if (temp != null) { + _monitor.addMessage(temp); + } + } + + if (isLogFile == false) { + throw new RuntimeException("Invalid log file format"); + } + SwingUtilities.invokeLater(new Runnable() { + public void run() { + destroyDialog(); + } + }); + + } catch (RuntimeException e) { + destroyDialog(); + displayError("Error - Invalid log file format.\nPlease see documentation" + + " on how to load log files."); + } catch (IOException e) { + destroyDialog(); + displayError("Error - Unable to load log file!"); + } + + _in = null; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + protected void displayError(String message) { + LogFactor5ErrorDialog error = new LogFactor5ErrorDialog( + _monitor.getBaseFrame(), message); + + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + private void destroyDialog() { + _loadDialog.hide(); + _loadDialog.dispose(); + } + + /** + * Loads a log file from a web server into the LogFactor5 GUI. + */ + private String loadLogFile(InputStream stream) throws IOException { + BufferedInputStream br = new BufferedInputStream(stream); + + int count = 0; + int size = br.available(); + + StringBuffer sb = null; + if (size > 0) { + sb = new StringBuffer(size); + } else { + sb = new StringBuffer(1024); + } + + while ((count = br.read()) != -1) { + sb.append((char) count); + } + + br.close(); + br = null; + return sb.toString(); + + } + + private String parseAttribute(String name, String record) { + + int index = record.indexOf(name); + + if (index == -1) { + return null; + } + + return getAttribute(index, record); + } + + private long parseDate(String record) { + try { + String s = parseAttribute(DATE_DELIMITER, record); + + if (s == null) { + return 0; + } + + Date d = _sdf.parse(s); + + return d.getTime(); + } catch (ParseException e) { + return 0; + } + } + + private LogLevel parsePriority(String record) { + String temp = parseAttribute(PRIORITY_DELIMITER, record); + + if (temp != null) { + try { + return LogLevel.valueOf(temp); + } catch (LogLevelFormatException e) { + return LogLevel.DEBUG; + } + + } + + return LogLevel.DEBUG; + } + + private String parseThread(String record) { + return parseAttribute(THREAD_DELIMITER, record); + } + + private String parseCategory(String record) { + return parseAttribute(CATEGORY_DELIMITER, record); + } + + private String parseLocation(String record) { + return parseAttribute(LOCATION_DELIMITER, record); + } + + private String parseMessage(String record) { + return parseAttribute(MESSAGE_DELIMITER, record); + } + + private String parseNDC(String record) { + return parseAttribute(NDC_DELIMITER, record); + } + + private String parseThrowable(String record) { + return getAttribute(record.length(), record); + } + + private LogRecord createLogRecord(String record) { + if (record == null || record.trim().length() == 0) { + return null; + } + + LogRecord lr = new Log4JLogRecord(); + lr.setMillis(parseDate(record)); + lr.setLevel(parsePriority(record)); + lr.setCategory(parseCategory(record)); + lr.setLocation(parseLocation(record)); + lr.setThreadDescription(parseThread(record)); + lr.setNDC(parseNDC(record)); + lr.setMessage(parseMessage(record)); + lr.setThrownStackTrace(parseThrowable(record)); + + return lr; + } + + + private String getAttribute(int index, String record) { + int start = record.lastIndexOf(ATTRIBUTE_DELIMITER, index - 1); + + if (start == -1) { + return record.substring(0, index); + } + + start = record.indexOf("]", start); + + return record.substring(start + 1, index).trim(); + } + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/LogMonitorAdapter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/LogMonitorAdapter.java new file mode 100644 index 00000000000..6ba927cb5fa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/LogMonitorAdapter.java @@ -0,0 +1,289 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.util; + +import java.awt.Toolkit; +import java.util.Arrays; +import java.util.List; + +import org.apache.log4j.lf5.LogLevel; +import org.apache.log4j.lf5.LogRecord; +import org.apache.log4j.lf5.viewer.LogBrokerMonitor; + +/** + * <p>LogMonitorAdapter facilitates the usage of the LogMonitor</p> + * + * @author Richard Hurst + */ + +// Contributed by ThoughtWorks Inc. + +public class LogMonitorAdapter { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + public static final int LOG4J_LOG_LEVELS = 0; + public static final int JDK14_LOG_LEVELS = 1; + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private LogBrokerMonitor _logMonitor; + private LogLevel _defaultLevel = null; + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + private LogMonitorAdapter(List userDefinedLevels) { + super(); + // set the default level to be the first entry in the list + _defaultLevel = (LogLevel) userDefinedLevels.get(0); + _logMonitor = new LogBrokerMonitor(userDefinedLevels); + + _logMonitor.setFrameSize(getDefaultMonitorWidth(), + getDefaultMonitorHeight()); + _logMonitor.setFontSize(12); + _logMonitor.show(); + } + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + /** + * <p>Creates an instance of LogMonitorAdapter using the + * log levels inticated by the parameter. Log4J and JDK1.4 both have default + * LogLevels which are set but these levels can be overriden.<p> + * + * @param loglevels An integer representing either Log4J or JDK1.4 logging levels + * @return LogMonitorAdapter + */ + public static LogMonitorAdapter newInstance(int loglevels) { + LogMonitorAdapter adapter; + if (loglevels == JDK14_LOG_LEVELS) { + adapter = newInstance(LogLevel.getJdk14Levels()); + adapter.setDefaultLevel(LogLevel.FINEST); + adapter.setSevereLevel(LogLevel.SEVERE); + } else { + adapter = newInstance(LogLevel.getLog4JLevels()); + adapter.setDefaultLevel(LogLevel.DEBUG); + adapter.setSevereLevel(LogLevel.FATAL); + } + return adapter; + } + + /** + * <p>Creates an instance of LogMonitorAdapter using the specified LogLevels. + * The first LogLevel in the array is used as the default LogLevel unless + * changed using the setDefaultLevel method.<p> + * + * @param userDefined An array of user defined LogLevel objects. + * @return LogMonitorAdapter + */ + public static LogMonitorAdapter newInstance(LogLevel[] userDefined) { + if (userDefined == null) { + return null; + } + return newInstance(Arrays.asList(userDefined)); + } + + /** + * <p>Creates an instance of LogMonitorAdapter using the specified LogLevels. + * The first LogLevel in the List is used as the default LogLevel unless + * changed using the setDefaultLevel method.<p> + * + * @param userDefinedLevels A list of user defined LogLevel objects. + * @return LogMonitorAdapter + */ + public static LogMonitorAdapter newInstance(List userDefinedLevels) { + return new LogMonitorAdapter(userDefinedLevels); + } + + /** + * <p>Adds a LogRecord to the LogMonitor.<p> + * + * @param record The LogRecord object to be logged in the logging monitor. + */ + public void addMessage(LogRecord record) { + _logMonitor.addMessage(record); + } + + /** + * <p>Set the maximum number of records to be displayed in the monitor<p> + * + * @param maxNumberOfRecords + */ + public void setMaxNumberOfRecords(int maxNumberOfRecords) { + _logMonitor.setMaxNumberOfLogRecords(maxNumberOfRecords); + } + + /** + * <p>Set the default log level to be used when logging messages without + * specifying a LogLevel.<p> + * + * @param level + */ + public void setDefaultLevel(LogLevel level) { + _defaultLevel = level; + } + + /** + * <p>Gets the default LogLevel for the Adapter.<p> + * + * @return LogLevel + */ + public LogLevel getDefaultLevel() { + return _defaultLevel; + } + + /** + * <p>Sets the Severe LogLevel.</p> + * + * @param level + */ + public void setSevereLevel(LogLevel level) { + AdapterLogRecord.setSevereLevel(level); + } + + /** + * <p>Gets the current Severe LogLevel <p> + * + * @return LogLevel + */ + public LogLevel getSevereLevel() { + return AdapterLogRecord.getSevereLevel(); + } + + /** + * <p>Log a complete message to the Monitor.<p> + * + * @param category The category to be used + * @param level The log level to apply to the message + * @param message The message + * @param t The throwable content of the message + * @param NDC The NDC really only applies to Log4J and the parameter can + * usually be ignored. + */ + public void log(String category, LogLevel level, String message, + Throwable t, String NDC) { + AdapterLogRecord record = new AdapterLogRecord(); + record.setCategory(category); + record.setMessage(message); + record.setNDC(NDC); + record.setThrown(t); + + if (level == null) { + record.setLevel(getDefaultLevel()); + } else { + record.setLevel(level); + } + + addMessage(record); + } + + /** + * <p>Log a message to the Monitor and use the default LogLevel.<p> + * + * @param category The category to be used + * @param message The message + */ + public void log(String category, String message) { + log(category, null, message); + } + + /** + * <p>Log a message to the Monitor.<p> + * + * @param category The category to be used + * @param level The log level to apply to the message + * @param message The message + * @param NDC + */ + public void log(String category, LogLevel level, String message, String NDC) { + log(category, level, message, null, NDC); + } + + /** + * <p>Log a message to the Monitor.<p> + * + * @param category The category to be used + * @param level The log level to apply to the message + * @param message The message + * @param t The throwable content of the message + */ + public void log(String category, LogLevel level, String message, + Throwable t) { + log(category, level, message, t, null); + } + + /** + * <p>Log a message to the Monitor.<p> + * + * @param category The category to be used + * @param level The log level to apply to the message + * @param message The message + */ + public void log(String category, LogLevel level, String message) { + log(category, level, message, null, null); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + /** + * @return the screen width from Toolkit.getScreenSize() + * if possible, otherwise returns 800 + * @see java.awt.Toolkit + */ + protected static int getScreenWidth() { + try { + return Toolkit.getDefaultToolkit().getScreenSize().width; + } catch (Throwable t) { + return 800; + } + } + + /** + * @return the screen height from Toolkit.getScreenSize() + * if possible, otherwise returns 600 + * @see java.awt.Toolkit + */ + protected static int getScreenHeight() { + try { + return Toolkit.getDefaultToolkit().getScreenSize().height; + } catch (Throwable t) { + return 600; + } + } + + protected static int getDefaultMonitorWidth() { + return (3 * getScreenWidth()) / 4; + } + + protected static int getDefaultMonitorHeight() { + return (3 * getScreenHeight()) / 4; + } + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/Resource.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/Resource.java new file mode 100644 index 00000000000..66293cfcabf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/Resource.java @@ -0,0 +1,156 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.util; + +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; + +/** + * Resource encapsulates access to Resources via the Classloader. + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class Resource { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected String _name; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + /** + * Default, no argument constructor. + */ + public Resource() { + super(); + } + + /** + * Construct a Resource given a name. + * + * @see #setName(String) + */ + public Resource(String name) { + _name = name; + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Set the name of the resource. + * <p> + * A resource is some data (images, audio, text, etc) that can be accessed + * by class code in a way that is independent of the location of the code. + * </p> + * <p> + * The name of a resource is a "/"-separated path name that identifies + * the resource. + * </p> + * + * @see #getName() + */ + public void setName(String name) { + _name = name; + } + + /** + * Get the name of the resource. Set setName() for a description of + * a resource. + * + * @see #setName + */ + public String getName() { + return (_name); + } + + /** + * Get the InputStream for this Resource. Uses the classloader + * from this Resource. + * + * @see #getInputStreamReader + * @see ResourceUtils + */ + public InputStream getInputStream() { + InputStream in = ResourceUtils.getResourceAsStream(this, this); + + return (in); + } + + /** + * Get the InputStreamReader for this Resource. Uses the classloader from + * this Resource. + * + * @see #getInputStream + * @see ResourceUtils + */ + public InputStreamReader getInputStreamReader() { + InputStream in = ResourceUtils.getResourceAsStream(this, this); + + if (in == null) { + return null; + } + + InputStreamReader reader = new InputStreamReader(in); + + return reader; + } + + /** + * Get the URL of the Resource. Uses the classloader from this Resource. + * + * @see ResourceUtils + */ + public URL getURL() { + return (ResourceUtils.getResourceAsURL(this, this)); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/ResourceUtils.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/ResourceUtils.java new file mode 100644 index 00000000000..5f022b67298 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/ResourceUtils.java @@ -0,0 +1,133 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.util; + +import java.io.InputStream; +import java.net.URL; + +/** + * ResourceUtils. Provide a set of convenience methods for working with + * Resources. + * + * @see org.apache.log4j.lf5.util.Resource + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class ResourceUtils { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Get the InputStream for this resource. Note: to convert an InputStream + * into an InputReader, use: new InputStreamReader(InputStream). + * + * @param object The object to grab the Classloader from. + * This parameter is quite important from a + * visibility of resources standpoint as the + * hierarchy of Classloaders plays a role. + * + * @param resource The resource to load. + * + * @return If the Resource was found, the InputStream, otherwise null. + * + * @see Resource + * @see #getResourceAsURL(Object,Resource) + * @see InputStream + */ + public static InputStream getResourceAsStream(Object object, Resource resource) { + ClassLoader loader = object.getClass().getClassLoader(); + + InputStream in = null; + + if (loader != null) { + in = loader.getResourceAsStream(resource.getName()); + } else { + in = ClassLoader.getSystemResourceAsStream(resource.getName()); + } + + return in; + } + + /** + * Get the URL for this resource. + * + * @param object The object to grab the Classloader from. + * This parameter is quite important from a + * visibility of resources standpoint as the + * hierarchy of Classloaders plays a role. + * + * @param resource The resource to load. + * + * @return If the Resource was found, the URL, otherwise null. + * + * @see Resource + * @see #getResourceAsStream(Object,Resource) + */ + public static URL getResourceAsURL(Object object, Resource resource) { + ClassLoader loader = object.getClass().getClassLoader(); + + URL url = null; + + if (loader != null) { + url = loader.getResource(resource.getName()); + } else { + url = ClassLoader.getSystemResource(resource.getName()); + } + + return (url); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/StreamUtils.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/StreamUtils.java new file mode 100644 index 00000000000..183f9aad925 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/util/StreamUtils.java @@ -0,0 +1,124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.lf5.util; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * Provides utility methods for input and output streams. + * + * @author Richard Wan + */ + +// Contributed by ThoughtWorks Inc. + +public abstract class StreamUtils { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + /** + * Default value is 2048. + */ + public static final int DEFAULT_BUFFER_SIZE = 2048; + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Copies information from the input stream to the output stream using + * a default buffer size of 2048 bytes. + * @throws java.io.IOException + */ + public static void copy(InputStream input, OutputStream output) + throws IOException { + copy(input, output, DEFAULT_BUFFER_SIZE); + } + + /** + * Copies information from the input stream to the output stream using + * the specified buffer size + * @throws java.io.IOException + */ + public static void copy(InputStream input, + OutputStream output, + int bufferSize) + throws IOException { + byte[] buf = new byte[bufferSize]; + int bytesRead = input.read(buf); + while (bytesRead != -1) { + output.write(buf, 0, bytesRead); + bytesRead = input.read(buf); + } + output.flush(); + } + + /** + * Copies information between specified streams and then closes + * both of the streams. + * @throws java.io.IOException + */ + public static void copyThenClose(InputStream input, OutputStream output) + throws IOException { + copy(input, output); + input.close(); + output.close(); + } + + /** + * @return a byte[] containing the information contained in the + * specified InputStream. + * @throws java.io.IOException + */ + public static byte[] getBytes(InputStream input) + throws IOException { + ByteArrayOutputStream result = new ByteArrayOutputStream(); + copy(input, result); + result.close(); + return result.toByteArray(); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/FilteredLogTableModel.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/FilteredLogTableModel.java new file mode 100644 index 00000000000..2c68180975e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/FilteredLogTableModel.java @@ -0,0 +1,263 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import org.apache.log4j.lf5.LogRecord; +import org.apache.log4j.lf5.LogRecordFilter; +import org.apache.log4j.lf5.PassingLogRecordFilter; + +import javax.swing.table.AbstractTableModel; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.List; + + +/** + * A TableModel for LogRecords which includes filtering support. + * + * @author Richard Wan + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class FilteredLogTableModel + extends AbstractTableModel { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + protected LogRecordFilter _filter = new PassingLogRecordFilter(); + protected List _allRecords = new ArrayList(); + protected List _filteredRecords; + protected int _maxNumberOfLogRecords = 5000; + protected String[] _colNames = {"Date", + "Thread", + "Message #", + "Level", + "NDC", + "Category", + "Message", + "Location", + "Thrown"}; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public FilteredLogTableModel() { + super(); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public void setLogRecordFilter(LogRecordFilter filter) { + _filter = filter; + } + + public LogRecordFilter getLogRecordFilter() { + return _filter; + } + + public String getColumnName(int i) { + return _colNames[i]; + } + + public int getColumnCount() { + return _colNames.length; + } + + public int getRowCount() { + return getFilteredRecords().size(); + } + + public int getTotalRowCount() { + return _allRecords.size(); + } + + public Object getValueAt(int row, int col) { + LogRecord record = getFilteredRecord(row); + return getColumn(col, record); + } + + public void setMaxNumberOfLogRecords(int maxNumRecords) { + if (maxNumRecords > 0) { + _maxNumberOfLogRecords = maxNumRecords; + } + + } + + public synchronized boolean addLogRecord(LogRecord record) { + + _allRecords.add(record); + + if (_filter.passes(record) == false) { + return false; + } + getFilteredRecords().add(record); + fireTableRowsInserted(getRowCount(), getRowCount()); + trimRecords(); + return true; + } + + /** + * Forces the LogTableModel to requery its filters to determine + * which records to display. + */ + public synchronized void refresh() { + _filteredRecords = createFilteredRecordsList(); + fireTableDataChanged(); + } + + public synchronized void fastRefresh() { + _filteredRecords.remove(0); + fireTableRowsDeleted(0, 0); + } + + + /** + * Clears all records from the LogTableModel + */ + public synchronized void clear() { + _allRecords.clear(); + _filteredRecords.clear(); + fireTableDataChanged(); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected List getFilteredRecords() { + if (_filteredRecords == null) { + refresh(); + } + return _filteredRecords; + } + + protected List createFilteredRecordsList() { + List result = new ArrayList(); + Iterator records = _allRecords.iterator(); + LogRecord current; + while (records.hasNext()) { + current = (LogRecord) records.next(); + if (_filter.passes(current)) { + result.add(current); + } + } + return result; + } + + protected LogRecord getFilteredRecord(int row) { + List records = getFilteredRecords(); + int size = records.size(); + if (row < size) { + return (LogRecord) records.get(row); + } + // a minor problem has happened. JTable has asked for + // a row outside the bounds, because the size of + // _filteredRecords has changed while it was looping. + // return the last row. + return (LogRecord) records.get(size - 1); + + } + + protected Object getColumn(int col, LogRecord lr) { + if (lr == null) { + return "NULL Column"; + } + String date = new Date(lr.getMillis()).toString(); + switch (col) { + case 0: + return date + " (" + lr.getMillis() + ")"; + case 1: + return lr.getThreadDescription(); + case 2: + return new Long(lr.getSequenceNumber()); + case 3: + return lr.getLevel(); + case 4: + return lr.getNDC(); + case 5: + return lr.getCategory(); + case 6: + return lr.getMessage(); + case 7: + return lr.getLocation(); + case 8: + return lr.getThrownStackTrace(); + default: + String message = "The column number " + col + "must be between 0 and 8"; + throw new IllegalArgumentException(message); + } + } + + // We don't want the amount of rows to grow without bound, + // leading to a out-of-memory-exception. Especially not good + // in a production environment :) + + // This method & clearLogRecords() are synchronized so we don't + // delete rows that don't exist. + protected void trimRecords() { + if (needsTrimming()) { + trimOldestRecords(); + } + } + + protected boolean needsTrimming() { + return (_allRecords.size() > _maxNumberOfLogRecords); + } + + protected void trimOldestRecords() { + synchronized (_allRecords) { + int trim = numberOfRecordsToTrim(); + if (trim > 1) { + List oldRecords = + _allRecords.subList(0, trim); + oldRecords.clear(); + refresh(); + } else { + _allRecords.remove(0); + fastRefresh(); + } + } + + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + private int numberOfRecordsToTrim() { + return _allRecords.size() - _maxNumberOfLogRecords; + } + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LF5SwingUtils.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LF5SwingUtils.java new file mode 100644 index 00000000000..ef29447ba72 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LF5SwingUtils.java @@ -0,0 +1,153 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import java.awt.Adjustable; + +import javax.swing.JComponent; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.ListSelectionModel; +import javax.swing.SwingUtilities; +import javax.swing.table.TableModel; + +/** + * Provides methods to accomplish common yet non-trivial tasks + * with Swing. Obvious implementations of these methods have been + * tried and failed. + * + * @author Richard Wan + */ + +// Contributed by ThoughtWorks Inc. + +public class LF5SwingUtils { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Selects a the specified row in the specified JTable and scrolls + * the specified JScrollpane to the newly selected row. More importantly, + * the call to repaint() delayed long enough to have the table + * properly paint the newly selected row which may be offscre + * @param table should belong to the specified JScrollPane + */ + public static void selectRow(int row, JTable table, JScrollPane pane) { + if (table == null || pane == null) { + return; + } + if (contains(row, table.getModel()) == false) { + return; + } + moveAdjustable(row * table.getRowHeight(), pane.getVerticalScrollBar()); + selectRow(row, table.getSelectionModel()); + // repaint must be done later because moveAdjustable + // posts requests to the swing thread which must execute before + // the repaint logic gets executed. + repaintLater(table); + } + + /** + * Makes the specified Adjustable track if the view area expands and + * the specified Adjustable is located near the of the view. + */ + public static void makeScrollBarTrack(Adjustable scrollBar) { + if (scrollBar == null) { + return; + } + scrollBar.addAdjustmentListener(new TrackingAdjustmentListener()); + } + + /** + * Makes the vertical scroll bar of the specified JScrollPane + * track if the view expands (e.g. if rows are added to an underlying + * table). + */ + public static void makeVerticalScrollBarTrack(JScrollPane pane) { + if (pane == null) { + return; + } + makeScrollBarTrack(pane.getVerticalScrollBar()); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + protected static boolean contains(int row, TableModel model) { + if (model == null) { + return false; + } + if (row < 0) { + return false; + } + if (row >= model.getRowCount()) { + return false; + } + return true; + } + + protected static void selectRow(int row, ListSelectionModel model) { + if (model == null) { + return; + } + model.setSelectionInterval(row, row); + } + + protected static void moveAdjustable(int location, Adjustable scrollBar) { + if (scrollBar == null) { + return; + } + scrollBar.setValue(location); + } + + /** + * Work around for JTable/viewport bug. + * @link http://developer.java.sun.com/developer/bugParade/bugs/4205145.html + */ + protected static void repaintLater(final JComponent component) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + component.repaint(); + } + }); + } + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogBrokerMonitor.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogBrokerMonitor.java new file mode 100644 index 00000000000..934ba17b55d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogBrokerMonitor.java @@ -0,0 +1,1612 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Font; +import java.awt.GraphicsEnvironment; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.StringTokenizer; +import java.util.Vector; + +import javax.swing.BorderFactory; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JColorChooser; +import javax.swing.JComboBox; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JSplitPane; +import javax.swing.JTextArea; +import javax.swing.JToolBar; +import javax.swing.KeyStroke; +import javax.swing.SwingUtilities; + +import org.apache.log4j.lf5.LogLevel; +import org.apache.log4j.lf5.LogRecord; +import org.apache.log4j.lf5.LogRecordFilter; +import org.apache.log4j.lf5.util.DateFormatManager; +import org.apache.log4j.lf5.util.LogFileParser; +import org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree; +import org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath; +import org.apache.log4j.lf5.viewer.configure.ConfigurationManager; +import org.apache.log4j.lf5.viewer.configure.MRUFileManager; + +/** + * LogBrokerMonitor + *. + * @author Michael J. Sikorsky + * @author Robert Shaw + * @author Brad Marlborough + * @author Richard Wan + * @author Brent Sprecher + * @author Richard Hurst + */ + +// Contributed by ThoughtWorks Inc. + +public class LogBrokerMonitor { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + public static final String DETAILED_VIEW = "Detailed"; +// public static final String STANDARD_VIEW = "Standard"; +// public static final String COMPACT_VIEW = "Compact"; + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected JFrame _logMonitorFrame; + protected int _logMonitorFrameWidth = 550; + protected int _logMonitorFrameHeight = 500; + protected LogTable _table; + protected CategoryExplorerTree _categoryExplorerTree; + protected String _searchText; + protected String _NDCTextFilter = ""; + protected LogLevel _leastSevereDisplayedLogLevel = LogLevel.DEBUG; + + protected JScrollPane _logTableScrollPane; + protected JLabel _statusLabel; + protected Object _lock = new Object(); + protected JComboBox _fontSizeCombo; + + protected int _fontSize = 10; + protected String _fontName = "Dialog"; + protected String _currentView = DETAILED_VIEW; + + protected boolean _loadSystemFonts = false; + protected boolean _trackTableScrollPane = true; + protected Dimension _lastTableViewportSize; + protected boolean _callSystemExitOnClose = false; + protected List _displayedLogBrokerProperties = new Vector(); + + protected Map _logLevelMenuItems = new HashMap(); + protected Map _logTableColumnMenuItems = new HashMap(); + + protected List _levels = null; + protected List _columns = null; + protected boolean _isDisposed = false; + + protected ConfigurationManager _configurationManager = null; + protected MRUFileManager _mruFileManager = null; + protected File _fileLocation = null; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + /** + * Construct a LogBrokerMonitor. + */ + public LogBrokerMonitor(List logLevels) { + + _levels = logLevels; + _columns = LogTableColumn.getLogTableColumns(); + // This allows us to use the LogBroker in command line tools and + // have the option for it to shutdown. + + String callSystemExitOnClose = + System.getProperty("monitor.exit"); + if (callSystemExitOnClose == null) { + callSystemExitOnClose = "false"; + } + callSystemExitOnClose = callSystemExitOnClose.trim().toLowerCase(); + + if (callSystemExitOnClose.equals("true")) { + _callSystemExitOnClose = true; + } + + initComponents(); + + + _logMonitorFrame.addWindowListener( + new LogBrokerMonitorWindowAdaptor(this)); + + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Show the frame for the LogBrokerMonitor. Dispatched to the + * swing thread. + */ + public void show(final int delay) { + if (_logMonitorFrame.isVisible()) { + return; + } + // This request is very low priority, let other threads execute first. + SwingUtilities.invokeLater(new Runnable() { + public void run() { + Thread.yield(); + pause(delay); + _logMonitorFrame.setVisible(true); + } + }); + } + + public void show() { + show(0); + } + + /** + * Dispose of the frame for the LogBrokerMonitor. + */ + public void dispose() { + _logMonitorFrame.dispose(); + _isDisposed = true; + + if (_callSystemExitOnClose == true) { + System.exit(0); + } + } + + /** + * Hide the frame for the LogBrokerMonitor. + */ + public void hide() { + _logMonitorFrame.setVisible(false); + } + + /** + * Get the DateFormatManager for formatting dates. + */ + public DateFormatManager getDateFormatManager() { + return _table.getDateFormatManager(); + } + + /** + * Set the date format manager for formatting dates. + */ + public void setDateFormatManager(DateFormatManager dfm) { + _table.setDateFormatManager(dfm); + } + + /** + * Get the value of whether or not System.exit() will be called + * when the LogBrokerMonitor is closed. + */ + public boolean getCallSystemExitOnClose() { + return _callSystemExitOnClose; + } + + /** + * Set the value of whether or not System.exit() will be called + * when the LogBrokerMonitor is closed. + */ + public void setCallSystemExitOnClose(boolean callSystemExitOnClose) { + _callSystemExitOnClose = callSystemExitOnClose; + } + + /** + * Add a log record message to be displayed in the LogTable. + * This method is thread-safe as it posts requests to the SwingThread + * rather than processing directly. + */ + public void addMessage(final LogRecord lr) { + if (_isDisposed == true) { + // If the frame has been disposed of, do not log any more + // messages. + return; + } + + SwingUtilities.invokeLater(new Runnable() { + public void run() { + _categoryExplorerTree.getExplorerModel().addLogRecord(lr); + _table.getFilteredLogTableModel().addLogRecord(lr); // update table + updateStatusLabel(); // show updated counts + } + }); + } + + public void setMaxNumberOfLogRecords(int maxNumberOfLogRecords) { + _table.getFilteredLogTableModel().setMaxNumberOfLogRecords(maxNumberOfLogRecords); + } + + public JFrame getBaseFrame() { + return _logMonitorFrame; + } + + public void setTitle(String title) { + _logMonitorFrame.setTitle(title + " - LogFactor5"); + } + + public void setFrameSize(int width, int height) { + Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); + if (0 < width && width < screen.width) { + _logMonitorFrameWidth = width; + } + if (0 < height && height < screen.height) { + _logMonitorFrameHeight = height; + } + updateFrameSize(); + } + + public void setFontSize(int fontSize) { + changeFontSizeCombo(_fontSizeCombo, fontSize); + // setFontSizeSilently(actualFontSize); - changeFontSizeCombo fires event + // refreshDetailTextArea(); + } + + public void addDisplayedProperty(Object messageLine) { + _displayedLogBrokerProperties.add(messageLine); + } + + public Map getLogLevelMenuItems() { + return _logLevelMenuItems; + } + + public Map getLogTableColumnMenuItems() { + return _logTableColumnMenuItems; + } + + public JCheckBoxMenuItem getTableColumnMenuItem(LogTableColumn column) { + return getLogTableColumnMenuItem(column); + } + + public CategoryExplorerTree getCategoryExplorerTree() { + return _categoryExplorerTree; + } + + // Added in version 1.2 - gets the value of the NDC text filter + // This value is set back to null each time the Monitor is initialized. + public String getNDCTextFilter() { + return _NDCTextFilter; + } + + // Added in version 1.2 - sets the NDC Filter based on + // a String passed in by the user. This value is persisted + // in the XML Configuration file. + public void setNDCLogRecordFilter(String textFilter) { + _table.getFilteredLogTableModel(). + setLogRecordFilter(createNDCLogRecordFilter(textFilter)); + } + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected void setSearchText(String text) { + _searchText = text; + } + + // Added in version 1.2 - Sets the text filter for the NDC + protected void setNDCTextFilter(String text) { + // if no value is set, set it to a blank string + // otherwise use the value provided + if (text == null) { + _NDCTextFilter = ""; + } else { + _NDCTextFilter = text; + } + } + + // Added in version 1.2 - Uses a different filter that sorts + // based on an NDC string passed in by the user. If the string + // is null or is an empty string, we do nothing. + protected void sortByNDC() { + String text = _NDCTextFilter; + if (text == null || text.length() == 0) { + return; + } + + // Use new NDC filter + _table.getFilteredLogTableModel(). + setLogRecordFilter(createNDCLogRecordFilter(text)); + } + + protected void findSearchText() { + String text = _searchText; + if (text == null || text.length() == 0) { + return; + } + int startRow = getFirstSelectedRow(); + int foundRow = findRecord( + startRow, + text, + _table.getFilteredLogTableModel().getFilteredRecords() + ); + selectRow(foundRow); + } + + protected int getFirstSelectedRow() { + return _table.getSelectionModel().getMinSelectionIndex(); + } + + protected void selectRow(int foundRow) { + if (foundRow == -1) { + String message = _searchText + " not found."; + JOptionPane.showMessageDialog( + _logMonitorFrame, + message, + "Text not found", + JOptionPane.INFORMATION_MESSAGE + ); + return; + } + LF5SwingUtils.selectRow(foundRow, _table, _logTableScrollPane); + } + + protected int findRecord( + int startRow, + String searchText, + List records + ) { + if (startRow < 0) { + startRow = 0; // start at first element if no rows are selected + } else { + startRow++; // start after the first selected row + } + int len = records.size(); + + for (int i = startRow; i < len; i++) { + if (matches((LogRecord) records.get(i), searchText)) { + return i; // found a record + } + } + // wrap around to beginning if when we reach the end with no match + len = startRow; + for (int i = 0; i < len; i++) { + if (matches((LogRecord) records.get(i), searchText)) { + return i; // found a record + } + } + // nothing found + return -1; + } + + /** + * Check to see if the any records contain the search string. + * Searching now supports NDC messages and date. + */ + protected boolean matches(LogRecord record, String text) { + String message = record.getMessage(); + String NDC = record.getNDC(); + + if (message == null && NDC == null || text == null) { + return false; + } + if (message.toLowerCase().indexOf(text.toLowerCase()) == -1 && + NDC.toLowerCase().indexOf(text.toLowerCase()) == -1) { + return false; + } + + return true; + } + + /** + * When the fontsize of a JTextArea is changed, the word-wrapped lines + * may become garbled. This method clears and resets the text of the + * text area. + */ + protected void refresh(JTextArea textArea) { + String text = textArea.getText(); + textArea.setText(""); + textArea.setText(text); + } + + protected void refreshDetailTextArea() { + refresh(_table._detailTextArea); + } + + protected void clearDetailTextArea() { + _table._detailTextArea.setText(""); + } + + /** + * Changes the font selection in the combo box and returns the + * size actually selected. + * @return -1 if unable to select an appropriate font + */ + protected int changeFontSizeCombo(JComboBox box, int requestedSize) { + int len = box.getItemCount(); + int currentValue; + Object currentObject; + Object selectedObject = box.getItemAt(0); + int selectedValue = Integer.parseInt(String.valueOf(selectedObject)); + for (int i = 0; i < len; i++) { + currentObject = box.getItemAt(i); + currentValue = Integer.parseInt(String.valueOf(currentObject)); + if (selectedValue < currentValue && currentValue <= requestedSize) { + selectedValue = currentValue; + selectedObject = currentObject; + } + } + box.setSelectedItem(selectedObject); + return selectedValue; + } + + /** + * Does not update gui or cause any events to be fired. + */ + protected void setFontSizeSilently(int fontSize) { + _fontSize = fontSize; + setFontSize(_table._detailTextArea, fontSize); + selectRow(0); + setFontSize(_table, fontSize); + } + + protected void setFontSize(Component component, int fontSize) { + Font oldFont = component.getFont(); + Font newFont = + new Font(oldFont.getFontName(), oldFont.getStyle(), fontSize); + component.setFont(newFont); + } + + protected void updateFrameSize() { + _logMonitorFrame.setSize(_logMonitorFrameWidth, _logMonitorFrameHeight); + centerFrame(_logMonitorFrame); + } + + protected void pause(int millis) { + try { + Thread.sleep(millis); + } catch (InterruptedException e) { + + } + } + + protected void initComponents() { + // + // Configure the Frame. + // + _logMonitorFrame = new JFrame("LogFactor5"); + + _logMonitorFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); + + String resource = + "/org/apache/log4j/lf5/viewer/images/lf5_small_icon.gif"; + URL lf5IconURL = getClass().getResource(resource); + + if (lf5IconURL != null) { + _logMonitorFrame.setIconImage(new ImageIcon(lf5IconURL).getImage()); + } + updateFrameSize(); + + // + // Configure the LogTable. + // + JTextArea detailTA = createDetailTextArea(); + JScrollPane detailTAScrollPane = new JScrollPane(detailTA); + _table = new LogTable(detailTA); + setView(_currentView, _table); + _table.setFont(new Font(_fontName, Font.PLAIN, _fontSize)); + _logTableScrollPane = new JScrollPane(_table); + + if (_trackTableScrollPane) { + _logTableScrollPane.getVerticalScrollBar().addAdjustmentListener( + new TrackingAdjustmentListener() + ); + } + + + // Configure the SplitPane between the LogTable & DetailTextArea + // + + JSplitPane tableViewerSplitPane = new JSplitPane(); + tableViewerSplitPane.setOneTouchExpandable(true); + tableViewerSplitPane.setOrientation(JSplitPane.VERTICAL_SPLIT); + tableViewerSplitPane.setLeftComponent(_logTableScrollPane); + tableViewerSplitPane.setRightComponent(detailTAScrollPane); + // Make sure to do this last.. + //tableViewerSplitPane.setDividerLocation(1.0); Doesn't work + //the same under 1.2.x & 1.3 + // "350" is a magic number that provides the correct default + // behaviour under 1.2.x & 1.3. For example, bumping this + // number to 400, causes the pane to be completely open in 1.2.x + // and closed in 1.3 + tableViewerSplitPane.setDividerLocation(350); + + // + // Configure the CategoryExplorer + // + + _categoryExplorerTree = new CategoryExplorerTree(); + + _table.getFilteredLogTableModel().setLogRecordFilter(createLogRecordFilter()); + + JScrollPane categoryExplorerTreeScrollPane = + new JScrollPane(_categoryExplorerTree); + categoryExplorerTreeScrollPane.setPreferredSize(new Dimension(130, 400)); + + // Load most recently used file list + _mruFileManager = new MRUFileManager(); + + // + // Configure the SplitPane between the CategoryExplorer & (LogTable/Detail) + // + + JSplitPane splitPane = new JSplitPane(); + splitPane.setOneTouchExpandable(true); + splitPane.setRightComponent(tableViewerSplitPane); + splitPane.setLeftComponent(categoryExplorerTreeScrollPane); + // Do this last. + splitPane.setDividerLocation(130); + // + // Add the MenuBar, StatusArea, CategoryExplorer|LogTable to the + // LogMonitorFrame. + // + _logMonitorFrame.getRootPane().setJMenuBar(createMenuBar()); + _logMonitorFrame.getContentPane().add(splitPane, BorderLayout.CENTER); + _logMonitorFrame.getContentPane().add(createToolBar(), + BorderLayout.NORTH); + _logMonitorFrame.getContentPane().add(createStatusArea(), + BorderLayout.SOUTH); + + makeLogTableListenToCategoryExplorer(); + addTableModelProperties(); + + // + // Configure ConfigurationManager + // + _configurationManager = new ConfigurationManager(this, _table); + + } + + protected LogRecordFilter createLogRecordFilter() { + LogRecordFilter result = new LogRecordFilter() { + public boolean passes(LogRecord record) { + CategoryPath path = new CategoryPath(record.getCategory()); + return + getMenuItem(record.getLevel()).isSelected() && + _categoryExplorerTree.getExplorerModel().isCategoryPathActive(path); + } + }; + return result; + } + + // Added in version 1.2 - Creates a new filter that sorts records based on + // an NDC string passed in by the user. + protected LogRecordFilter createNDCLogRecordFilter(String text) { + _NDCTextFilter = text; + LogRecordFilter result = new LogRecordFilter() { + public boolean passes(LogRecord record) { + String NDC = record.getNDC(); + CategoryPath path = new CategoryPath(record.getCategory()); + if (NDC == null || _NDCTextFilter == null) { + return false; + } else if (NDC.toLowerCase().indexOf(_NDCTextFilter.toLowerCase()) == -1) { + return false; + } else { + return getMenuItem(record.getLevel()).isSelected() && + _categoryExplorerTree.getExplorerModel().isCategoryPathActive(path); + } + } + }; + + return result; + } + + + protected void updateStatusLabel() { + _statusLabel.setText(getRecordsDisplayedMessage()); + } + + protected String getRecordsDisplayedMessage() { + FilteredLogTableModel model = _table.getFilteredLogTableModel(); + return getStatusText(model.getRowCount(), model.getTotalRowCount()); + } + + protected void addTableModelProperties() { + final FilteredLogTableModel model = _table.getFilteredLogTableModel(); + + addDisplayedProperty(new Object() { + public String toString() { + return getRecordsDisplayedMessage(); + } + }); + addDisplayedProperty(new Object() { + public String toString() { + return "Maximum number of displayed LogRecords: " + + model._maxNumberOfLogRecords; + } + }); + } + + protected String getStatusText(int displayedRows, int totalRows) { + StringBuffer result = new StringBuffer(); + result.append("Displaying: "); + result.append(displayedRows); + result.append(" records out of a total of: "); + result.append(totalRows); + result.append(" records."); + return result.toString(); + } + + protected void makeLogTableListenToCategoryExplorer() { + ActionListener listener = new ActionListener() { + public void actionPerformed(ActionEvent e) { + _table.getFilteredLogTableModel().refresh(); + updateStatusLabel(); + } + }; + _categoryExplorerTree.getExplorerModel().addActionListener(listener); + } + + protected JPanel createStatusArea() { + JPanel statusArea = new JPanel(); + JLabel status = + new JLabel("No log records to display."); + _statusLabel = status; + status.setHorizontalAlignment(JLabel.LEFT); + + statusArea.setBorder(BorderFactory.createEtchedBorder()); + statusArea.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); + statusArea.add(status); + + return (statusArea); + } + + protected JTextArea createDetailTextArea() { + JTextArea detailTA = new JTextArea(); + detailTA.setFont(new Font("Monospaced", Font.PLAIN, 14)); + detailTA.setTabSize(3); + detailTA.setLineWrap(true); + detailTA.setWrapStyleWord(false); + return (detailTA); + } + + protected JMenuBar createMenuBar() { + JMenuBar menuBar = new JMenuBar(); + menuBar.add(createFileMenu()); + menuBar.add(createEditMenu()); + menuBar.add(createLogLevelMenu()); + menuBar.add(createViewMenu()); + menuBar.add(createConfigureMenu()); + menuBar.add(createHelpMenu()); + + return (menuBar); + } + + protected JMenu createLogLevelMenu() { + JMenu result = new JMenu("Log Level"); + result.setMnemonic('l'); + Iterator levels = getLogLevels(); + while (levels.hasNext()) { + result.add(getMenuItem((LogLevel) levels.next())); + } + + result.addSeparator(); + result.add(createAllLogLevelsMenuItem()); + result.add(createNoLogLevelsMenuItem()); + result.addSeparator(); + result.add(createLogLevelColorMenu()); + result.add(createResetLogLevelColorMenuItem()); + + return result; + } + + protected JMenuItem createAllLogLevelsMenuItem() { + JMenuItem result = new JMenuItem("Show all LogLevels"); + result.setMnemonic('s'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + selectAllLogLevels(true); + _table.getFilteredLogTableModel().refresh(); + updateStatusLabel(); + } + }); + return result; + } + + protected JMenuItem createNoLogLevelsMenuItem() { + JMenuItem result = new JMenuItem("Hide all LogLevels"); + result.setMnemonic('h'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + selectAllLogLevels(false); + _table.getFilteredLogTableModel().refresh(); + updateStatusLabel(); + } + }); + return result; + } + + protected JMenu createLogLevelColorMenu() { + JMenu colorMenu = new JMenu("Configure LogLevel Colors"); + colorMenu.setMnemonic('c'); + Iterator levels = getLogLevels(); + while (levels.hasNext()) { + colorMenu.add(createSubMenuItem((LogLevel) levels.next())); + } + + return colorMenu; + } + + protected JMenuItem createResetLogLevelColorMenuItem() { + JMenuItem result = new JMenuItem("Reset LogLevel Colors"); + result.setMnemonic('r'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + // reset the level colors in the map + LogLevel.resetLogLevelColorMap(); + + // refresh the table + _table.getFilteredLogTableModel().refresh(); + } + }); + return result; + } + + protected void selectAllLogLevels(boolean selected) { + Iterator levels = getLogLevels(); + while (levels.hasNext()) { + getMenuItem((LogLevel) levels.next()).setSelected(selected); + } + } + + protected JCheckBoxMenuItem getMenuItem(LogLevel level) { + JCheckBoxMenuItem result = (JCheckBoxMenuItem) (_logLevelMenuItems.get(level)); + if (result == null) { + result = createMenuItem(level); + _logLevelMenuItems.put(level, result); + } + return result; + } + + protected JMenuItem createSubMenuItem(LogLevel level) { + final JMenuItem result = new JMenuItem(level.toString()); + final LogLevel logLevel = level; + result.setMnemonic(level.toString().charAt(0)); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + showLogLevelColorChangeDialog(result, logLevel); + } + }); + + return result; + + } + + protected void showLogLevelColorChangeDialog(JMenuItem result, LogLevel level) { + JMenuItem menuItem = result; + Color newColor = JColorChooser.showDialog( + _logMonitorFrame, + "Choose LogLevel Color", + result.getForeground()); + + if (newColor != null) { + // set the color for the record + level.setLogLevelColorMap(level, newColor); + _table.getFilteredLogTableModel().refresh(); + } + + } + + protected JCheckBoxMenuItem createMenuItem(LogLevel level) { + JCheckBoxMenuItem result = new JCheckBoxMenuItem(level.toString()); + result.setSelected(true); + result.setMnemonic(level.toString().charAt(0)); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + _table.getFilteredLogTableModel().refresh(); + updateStatusLabel(); + } + }); + return result; + } + + // view menu + protected JMenu createViewMenu() { + JMenu result = new JMenu("View"); + result.setMnemonic('v'); + Iterator columns = getLogTableColumns(); + while (columns.hasNext()) { + result.add(getLogTableColumnMenuItem((LogTableColumn) columns.next())); + } + + result.addSeparator(); + result.add(createAllLogTableColumnsMenuItem()); + result.add(createNoLogTableColumnsMenuItem()); + return result; + } + + protected JCheckBoxMenuItem getLogTableColumnMenuItem(LogTableColumn column) { + JCheckBoxMenuItem result = (JCheckBoxMenuItem) (_logTableColumnMenuItems.get(column)); + if (result == null) { + result = createLogTableColumnMenuItem(column); + _logTableColumnMenuItems.put(column, result); + } + return result; + } + + protected JCheckBoxMenuItem createLogTableColumnMenuItem(LogTableColumn column) { + JCheckBoxMenuItem result = new JCheckBoxMenuItem(column.toString()); + + result.setSelected(true); + result.setMnemonic(column.toString().charAt(0)); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + // update list of columns and reset the view + List selectedColumns = updateView(); + _table.setView(selectedColumns); + } + }); + return result; + } + + protected List updateView() { + ArrayList updatedList = new ArrayList(); + Iterator columnIterator = _columns.iterator(); + while (columnIterator.hasNext()) { + LogTableColumn column = (LogTableColumn) columnIterator.next(); + JCheckBoxMenuItem result = getLogTableColumnMenuItem(column); + // check and see if the checkbox is checked + if (result.isSelected()) { + updatedList.add(column); + } + } + + return updatedList; + } + + protected JMenuItem createAllLogTableColumnsMenuItem() { + JMenuItem result = new JMenuItem("Show all Columns"); + result.setMnemonic('s'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + selectAllLogTableColumns(true); + // update list of columns and reset the view + List selectedColumns = updateView(); + _table.setView(selectedColumns); + } + }); + return result; + } + + protected JMenuItem createNoLogTableColumnsMenuItem() { + JMenuItem result = new JMenuItem("Hide all Columns"); + result.setMnemonic('h'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + selectAllLogTableColumns(false); + // update list of columns and reset the view + List selectedColumns = updateView(); + _table.setView(selectedColumns); + } + }); + return result; + } + + protected void selectAllLogTableColumns(boolean selected) { + Iterator columns = getLogTableColumns(); + while (columns.hasNext()) { + getLogTableColumnMenuItem((LogTableColumn) columns.next()).setSelected(selected); + } + } + + protected JMenu createFileMenu() { + JMenu fileMenu = new JMenu("File"); + fileMenu.setMnemonic('f'); + JMenuItem exitMI; + fileMenu.add(createOpenMI()); + fileMenu.add(createOpenURLMI()); + fileMenu.addSeparator(); + fileMenu.add(createCloseMI()); + createMRUFileListMI(fileMenu); + fileMenu.addSeparator(); + fileMenu.add(createExitMI()); + return fileMenu; + } + + /** + * Menu item added to allow log files to be opened with + * the LF5 GUI. + */ + protected JMenuItem createOpenMI() { + JMenuItem result = new JMenuItem("Open..."); + result.setMnemonic('o'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + requestOpen(); + } + }); + return result; + } + + /** + * Menu item added to allow log files loaded from a URL + * to be opened by the LF5 GUI. + */ + protected JMenuItem createOpenURLMI() { + JMenuItem result = new JMenuItem("Open URL..."); + result.setMnemonic('u'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + requestOpenURL(); + } + }); + return result; + } + + protected JMenuItem createCloseMI() { + JMenuItem result = new JMenuItem("Close"); + result.setMnemonic('c'); + result.setAccelerator(KeyStroke.getKeyStroke("control Q")); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + requestClose(); + } + }); + return result; + } + + /** + * Creates a Most Recently Used file list to be + * displayed in the File menu + */ + protected void createMRUFileListMI(JMenu menu) { + + String[] files = _mruFileManager.getMRUFileList(); + + if (files != null) { + menu.addSeparator(); + for (int i = 0; i < files.length; i++) { + JMenuItem result = new JMenuItem((i + 1) + " " + files[i]); + result.setMnemonic(i + 1); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + requestOpenMRU(e); + } + }); + menu.add(result); + } + } + } + + protected JMenuItem createExitMI() { + JMenuItem result = new JMenuItem("Exit"); + result.setMnemonic('x'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + requestExit(); + } + }); + return result; + } + + protected JMenu createConfigureMenu() { + JMenu configureMenu = new JMenu("Configure"); + configureMenu.setMnemonic('c'); + configureMenu.add(createConfigureSave()); + configureMenu.add(createConfigureReset()); + configureMenu.add(createConfigureMaxRecords()); + + return configureMenu; + } + + protected JMenuItem createConfigureSave() { + JMenuItem result = new JMenuItem("Save"); + result.setMnemonic('s'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + saveConfiguration(); + } + }); + + return result; + } + + protected JMenuItem createConfigureReset() { + JMenuItem result = new JMenuItem("Reset"); + result.setMnemonic('r'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + resetConfiguration(); + } + }); + + return result; + } + + protected JMenuItem createConfigureMaxRecords() { + JMenuItem result = new JMenuItem("Set Max Number of Records"); + result.setMnemonic('m'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + setMaxRecordConfiguration(); + } + }); + + return result; + } + + + protected void saveConfiguration() { + _configurationManager.save(); + } + + protected void resetConfiguration() { + _configurationManager.reset(); + } + + protected void setMaxRecordConfiguration() { + LogFactor5InputDialog inputDialog = new LogFactor5InputDialog( + getBaseFrame(), "Set Max Number of Records", "", 10); + + String temp = inputDialog.getText(); + + if (temp != null) { + try { + setMaxNumberOfLogRecords(Integer.parseInt(temp)); + } catch (NumberFormatException e) { + LogFactor5ErrorDialog error = new LogFactor5ErrorDialog( + getBaseFrame(), + "'" + temp + "' is an invalid parameter.\nPlease try again."); + setMaxRecordConfiguration(); + } + } + } + + + protected JMenu createHelpMenu() { + JMenu helpMenu = new JMenu("Help"); + helpMenu.setMnemonic('h'); + helpMenu.add(createHelpProperties()); + return helpMenu; + } + + protected JMenuItem createHelpProperties() { + final String title = "LogFactor5 Properties"; + final JMenuItem result = new JMenuItem(title); + result.setMnemonic('l'); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + showPropertiesDialog(title); + } + }); + return result; + } + + protected void showPropertiesDialog(String title) { + JOptionPane.showMessageDialog( + _logMonitorFrame, + _displayedLogBrokerProperties.toArray(), + title, + JOptionPane.PLAIN_MESSAGE + ); + } + + protected JMenu createEditMenu() { + JMenu editMenu = new JMenu("Edit"); + editMenu.setMnemonic('e'); + editMenu.add(createEditFindMI()); + editMenu.add(createEditFindNextMI()); + editMenu.addSeparator(); + editMenu.add(createEditSortNDCMI()); + editMenu.add(createEditRestoreAllNDCMI()); + return editMenu; + } + + protected JMenuItem createEditFindNextMI() { + JMenuItem editFindNextMI = new JMenuItem("Find Next"); + editFindNextMI.setMnemonic('n'); + editFindNextMI.setAccelerator(KeyStroke.getKeyStroke("F3")); + editFindNextMI.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + findSearchText(); + } + }); + return editFindNextMI; + } + + protected JMenuItem createEditFindMI() { + JMenuItem editFindMI = new JMenuItem("Find"); + editFindMI.setMnemonic('f'); + editFindMI.setAccelerator(KeyStroke.getKeyStroke("control F")); + + editFindMI.addActionListener( + new ActionListener() { + public void actionPerformed(ActionEvent e) { + String inputValue = + JOptionPane.showInputDialog( + _logMonitorFrame, + "Find text: ", + "Search Record Messages", + JOptionPane.QUESTION_MESSAGE + ); + setSearchText(inputValue); + findSearchText(); + } + } + + ); + return editFindMI; + } + + // Added version 1.2 - Allows users to Sort Log Records by an + // NDC text filter. A new LogRecordFilter was created to + // sort the records. + protected JMenuItem createEditSortNDCMI() { + JMenuItem editSortNDCMI = new JMenuItem("Sort by NDC"); + editSortNDCMI.setMnemonic('s'); + editSortNDCMI.addActionListener( + new ActionListener() { + public void actionPerformed(ActionEvent e) { + String inputValue = + JOptionPane.showInputDialog( + _logMonitorFrame, + "Sort by this NDC: ", + "Sort Log Records by NDC", + JOptionPane.QUESTION_MESSAGE + ); + setNDCTextFilter(inputValue); + sortByNDC(); + _table.getFilteredLogTableModel().refresh(); + updateStatusLabel(); + } + } + + ); + return editSortNDCMI; + } + + // Added in version 1.2 - Resets the LogRecordFilter back to default + // filter. + protected JMenuItem createEditRestoreAllNDCMI() { + JMenuItem editRestoreAllNDCMI = new JMenuItem("Restore all NDCs"); + editRestoreAllNDCMI.setMnemonic('r'); + editRestoreAllNDCMI.addActionListener( + new ActionListener() { + public void actionPerformed(ActionEvent e) { + _table.getFilteredLogTableModel().setLogRecordFilter(createLogRecordFilter()); + // reset the text filter + setNDCTextFilter(""); + _table.getFilteredLogTableModel().refresh(); + updateStatusLabel(); + } + } + ); + return editRestoreAllNDCMI; + } + + protected JToolBar createToolBar() { + JToolBar tb = new JToolBar(); + tb.putClientProperty("JToolBar.isRollover", Boolean.TRUE); + JComboBox fontCombo = new JComboBox(); + JComboBox fontSizeCombo = new JComboBox(); + _fontSizeCombo = fontSizeCombo; + + ClassLoader cl = this.getClass().getClassLoader(); + if(cl == null) { + cl = ClassLoader.getSystemClassLoader(); + } + URL newIconURL = cl.getResource("org/apache/log4j/lf5/viewer/" + + "images/channelexplorer_new.gif"); + + ImageIcon newIcon = null; + + if (newIconURL != null) { + newIcon = new ImageIcon(newIconURL); + } + + JButton newButton = new JButton("Clear Log Table"); + + if (newIcon != null) { + newButton.setIcon(newIcon); + } + + newButton.setToolTipText("Clear Log Table."); + //newButton.setBorder(BorderFactory.createEtchedBorder()); + + newButton.addActionListener( + new ActionListener() { + public void actionPerformed(ActionEvent e) { + _table.clearLogRecords(); + _categoryExplorerTree.getExplorerModel().resetAllNodeCounts(); + updateStatusLabel(); + clearDetailTextArea(); + LogRecord.resetSequenceNumber(); + } + } + ); + + Toolkit tk = Toolkit.getDefaultToolkit(); + // This will actually grab all the fonts + + String[] fonts; + + if (_loadSystemFonts) { + fonts = GraphicsEnvironment. + getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); + } else { + fonts = tk.getFontList(); + } + + for (int j = 0; j < fonts.length; j++) { + fontCombo.addItem(fonts[j]); + } + + fontCombo.setSelectedItem(_fontName); + + fontCombo.addActionListener( + + new ActionListener() { + public void actionPerformed(ActionEvent e) { + JComboBox box = (JComboBox) e.getSource(); + String font = (String) box.getSelectedItem(); + _table.setFont(new Font(font, Font.PLAIN, _fontSize)); + _fontName = font; + } + } + ); + + fontSizeCombo.addItem("8"); + fontSizeCombo.addItem("9"); + fontSizeCombo.addItem("10"); + fontSizeCombo.addItem("12"); + fontSizeCombo.addItem("14"); + fontSizeCombo.addItem("16"); + fontSizeCombo.addItem("18"); + fontSizeCombo.addItem("24"); + + fontSizeCombo.setSelectedItem(String.valueOf(_fontSize)); + fontSizeCombo.addActionListener( + new ActionListener() { + public void actionPerformed(ActionEvent e) { + JComboBox box = (JComboBox) e.getSource(); + String size = (String) box.getSelectedItem(); + int s = Integer.valueOf(size).intValue(); + + setFontSizeSilently(s); + refreshDetailTextArea(); + _fontSize = s; + } + } + ); + + tb.add(new JLabel(" Font: ")); + tb.add(fontCombo); + tb.add(fontSizeCombo); + tb.addSeparator(); + tb.addSeparator(); + tb.add(newButton); + + newButton.setAlignmentY(0.5f); + newButton.setAlignmentX(0.5f); + + fontCombo.setMaximumSize(fontCombo.getPreferredSize()); + fontSizeCombo.setMaximumSize( + fontSizeCombo.getPreferredSize()); + + return (tb); + } + +// protected void setView(String viewString, LogTable table) { +// if (STANDARD_VIEW.equals(viewString)) { +// table.setStandardView(); +// } else if (COMPACT_VIEW.equals(viewString)) { +// table.setCompactView(); +// } else if (DETAILED_VIEW.equals(viewString)) { +// table.setDetailedView(); +// } else { +// String message = viewString + "does not match a supported view."; +// throw new IllegalArgumentException(message); +// } +// _currentView = viewString; +// } + + protected void setView(String viewString, LogTable table) { + if (DETAILED_VIEW.equals(viewString)) { + table.setDetailedView(); + } else { + String message = viewString + "does not match a supported view."; + throw new IllegalArgumentException(message); + } + _currentView = viewString; + } + + protected JComboBox createLogLevelCombo() { + JComboBox result = new JComboBox(); + Iterator levels = getLogLevels(); + while (levels.hasNext()) { + result.addItem(levels.next()); + } + result.setSelectedItem(_leastSevereDisplayedLogLevel); + + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + JComboBox box = (JComboBox) e.getSource(); + LogLevel level = (LogLevel) box.getSelectedItem(); + setLeastSevereDisplayedLogLevel(level); + } + }); + result.setMaximumSize(result.getPreferredSize()); + return result; + } + + protected void setLeastSevereDisplayedLogLevel(LogLevel level) { + if (level == null || _leastSevereDisplayedLogLevel == level) { + return; // nothing to do + } + _leastSevereDisplayedLogLevel = level; + _table.getFilteredLogTableModel().refresh(); + updateStatusLabel(); + } + + /** + * Ensures that the Table's ScrollPane Viewport will "track" with updates + * to the Table. When the vertical scroll bar is at its bottom anchor + * and tracking is enabled then viewport will stay at the bottom most + * point of the component. The purpose of this feature is to allow + * a developer to watch the table as messages arrive and not have to + * scroll after each new message arrives. When the vertical scroll bar + * is at any other location, then no tracking will happen. + * @deprecated tracking is now done automatically. + */ + protected void trackTableScrollPane() { + // do nothing + } + + protected void centerFrame(JFrame frame) { + Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); + Dimension comp = frame.getSize(); + + frame.setLocation(((screen.width - comp.width) / 2), + ((screen.height - comp.height) / 2)); + + } + + /** + * Uses a JFileChooser to select a file to opened with the + * LF5 GUI. + */ + protected void requestOpen() { + JFileChooser chooser; + + if (_fileLocation == null) { + chooser = new JFileChooser(); + } else { + chooser = new JFileChooser(_fileLocation); + } + + int returnVal = chooser.showOpenDialog(_logMonitorFrame); + if (returnVal == JFileChooser.APPROVE_OPTION) { + File f = chooser.getSelectedFile(); + if (loadLogFile(f)) { + _fileLocation = chooser.getSelectedFile(); + _mruFileManager.set(f); + updateMRUList(); + } + } + } + + /** + * Uses a Dialog box to accept a URL to a file to be opened + * with the LF5 GUI. + */ + protected void requestOpenURL() { + LogFactor5InputDialog inputDialog = new LogFactor5InputDialog( + getBaseFrame(), "Open URL", "URL:"); + String temp = inputDialog.getText(); + + if (temp != null) { + if (temp.indexOf("://") == -1) { + temp = "http://" + temp; + } + + try { + URL url = new URL(temp); + if (loadLogFile(url)) { + _mruFileManager.set(url); + updateMRUList(); + } + } catch (MalformedURLException e) { + LogFactor5ErrorDialog error = new LogFactor5ErrorDialog( + getBaseFrame(), "Error reading URL."); + } + } + } + + /** + * Removes old file list and creates a new file list + * with the updated MRU list. + */ + protected void updateMRUList() { + JMenu menu = _logMonitorFrame.getJMenuBar().getMenu(0); + menu.removeAll(); + menu.add(createOpenMI()); + menu.add(createOpenURLMI()); + menu.addSeparator(); + menu.add(createCloseMI()); + createMRUFileListMI(menu); + menu.addSeparator(); + menu.add(createExitMI()); + } + + protected void requestClose() { + setCallSystemExitOnClose(false); + closeAfterConfirm(); + } + + /** + * Opens a file in the MRU list. + */ + protected void requestOpenMRU(ActionEvent e) { + String file = e.getActionCommand(); + StringTokenizer st = new StringTokenizer(file); + String num = st.nextToken().trim(); + file = st.nextToken("\n"); + + try { + int index = Integer.parseInt(num) - 1; + + InputStream in = _mruFileManager.getInputStream(index); + LogFileParser lfp = new LogFileParser(in); + lfp.parse(this); + + _mruFileManager.moveToTop(index); + updateMRUList(); + + } catch (Exception me) { + LogFactor5ErrorDialog error = new LogFactor5ErrorDialog( + getBaseFrame(), "Unable to load file " + file); + } + + } + + protected void requestExit() { + _mruFileManager.save(); + setCallSystemExitOnClose(true); + closeAfterConfirm(); + } + + protected void closeAfterConfirm() { + StringBuffer message = new StringBuffer(); + + if (_callSystemExitOnClose == false) { + message.append("Are you sure you want to close the logging "); + message.append("console?\n"); + message.append("(Note: This will not shut down the Virtual Machine,\n"); + message.append("or the Swing event thread.)"); + } else { + message.append("Are you sure you want to exit?\n"); + message.append("This will shut down the Virtual Machine.\n"); + } + + String title = + "Are you sure you want to dispose of the Logging Console?"; + + if (_callSystemExitOnClose == true) { + title = "Are you sure you want to exit?"; + } + int value = JOptionPane.showConfirmDialog( + _logMonitorFrame, + message.toString(), + title, + JOptionPane.OK_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, + null + ); + + if (value == JOptionPane.OK_OPTION) { + dispose(); + } + } + + protected Iterator getLogLevels() { + return _levels.iterator(); + } + + protected Iterator getLogTableColumns() { + return _columns.iterator(); + } + + /** + * Loads and parses a log file. + */ + protected boolean loadLogFile(File file) { + boolean ok = false; + try { + LogFileParser lfp = new LogFileParser(file); + lfp.parse(this); + ok = true; + } catch (IOException e) { + LogFactor5ErrorDialog error = new LogFactor5ErrorDialog( + getBaseFrame(), "Error reading " + file.getName()); + } + + return ok; + } + + /** + * Loads a parses a log file running on a server. + */ + protected boolean loadLogFile(URL url) { + boolean ok = false; + try { + LogFileParser lfp = new LogFileParser(url.openStream()); + lfp.parse(this); + ok = true; + } catch (IOException e) { + LogFactor5ErrorDialog error = new LogFactor5ErrorDialog( + getBaseFrame(), "Error reading URL:" + url.getFile()); + } + return ok; + } + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + + class LogBrokerMonitorWindowAdaptor extends WindowAdapter { + protected LogBrokerMonitor _monitor; + + public LogBrokerMonitorWindowAdaptor(LogBrokerMonitor monitor) { + _monitor = monitor; + } + + public void windowClosing(WindowEvent ev) { + _monitor.requestClose(); + } + } +} + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5Dialog.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5Dialog.java new file mode 100644 index 00000000000..763d8702693 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5Dialog.java @@ -0,0 +1,151 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import java.awt.Component; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Insets; +import java.awt.Label; +import java.awt.Toolkit; +import java.awt.Window; + +import javax.swing.JDialog; +import javax.swing.JFrame; + +/** + * LogFactor5Dialog + * + * @author Richard Hurst + * @author Brad Marlborough + */ + +// Contributed by ThoughtWorks Inc. + +public abstract class LogFactor5Dialog extends JDialog { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + protected static final Font DISPLAY_FONT = new Font("Arial", Font.BOLD, 12); + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + protected LogFactor5Dialog(JFrame jframe, String message, boolean modal) { + super(jframe, message, modal); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + public void show() { + pack(); + minimumSizeDialog(this, 200, 100); + centerWindow(this); + super.show(); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + protected void centerWindow(Window win) { + Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize(); + + // If larger than screen, reduce window width or height + if (screenDim.width < win.getSize().width) { + win.setSize(screenDim.width, win.getSize().height); + } + + if (screenDim.height < win.getSize().height) { + win.setSize(win.getSize().width, screenDim.height); + } + + // Center Frame, Dialogue or Window on screen + int x = (screenDim.width - win.getSize().width) / 2; + int y = (screenDim.height - win.getSize().height) / 2; + win.setLocation(x, y); + } + + protected void wrapStringOnPanel(String message, + Container container) { + GridBagConstraints c = getDefaultConstraints(); + c.gridwidth = GridBagConstraints.REMAINDER; + // Insets() args are top, left, bottom, right + c.insets = new Insets(0, 0, 0, 0); + GridBagLayout gbLayout = (GridBagLayout) container.getLayout(); + + + while (message.length() > 0) { + int newLineIndex = message.indexOf('\n'); + String line; + if (newLineIndex >= 0) { + line = message.substring(0, newLineIndex); + message = message.substring(newLineIndex + 1); + } else { + line = message; + message = ""; + } + Label label = new Label(line); + label.setFont(DISPLAY_FONT); + gbLayout.setConstraints(label, c); + container.add(label); + } + } + + protected GridBagConstraints getDefaultConstraints() { + GridBagConstraints constraints = new GridBagConstraints(); + constraints.weightx = 1.0; + constraints.weighty = 1.0; + constraints.gridheight = 1; // One row high + // Insets() args are top, left, bottom, right + constraints.insets = new Insets(4, 4, 4, 4); + // fill of NONE means do not change size + constraints.fill = GridBagConstraints.NONE; + // WEST means align left + constraints.anchor = GridBagConstraints.WEST; + + return constraints; + } + + protected void minimumSizeDialog(Component component, + int minWidth, + int minHeight) { + // set the min width + if (component.getSize().width < minWidth) + component.setSize(minWidth, component.getSize().height); + // set the min height + if (component.getSize().height < minHeight) + component.setSize(component.getSize().width, minHeight); + } + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.java new file mode 100644 index 00000000000..64b2e215975 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5ErrorDialog.java @@ -0,0 +1,92 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import java.awt.BorderLayout; +import java.awt.FlowLayout; +import java.awt.GridBagLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; + +/** + * LogFactor5ErrorDialog + * + * @author Richard Hurst + * @author Brad Marlborough + */ + +// Contributed by ThoughtWorks Inc. + +public class LogFactor5ErrorDialog extends LogFactor5Dialog { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + public LogFactor5ErrorDialog(JFrame jframe, String message) { + super(jframe, "Error", true); + + JButton ok = new JButton("Ok"); + ok.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + hide(); + } + }); + + JPanel bottom = new JPanel(); + bottom.setLayout(new FlowLayout()); + bottom.add(ok); + + JPanel main = new JPanel(); + main.setLayout(new GridBagLayout()); + wrapStringOnPanel(message, main); + + getContentPane().add(main, BorderLayout.CENTER); + getContentPane().add(bottom, BorderLayout.SOUTH); + show(); + + } + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.java new file mode 100644 index 00000000000..890e6dbfea8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5InputDialog.java @@ -0,0 +1,145 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; + +/** + * LogFactor5InputDialog + * + * Creates a popup input dialog box so that users can enter + * a URL to open a log file from. + * + * @author Richard Hurst + * @author Brad Marlborough + */ + +// Contributed by ThoughtWorks Inc. + +public class LogFactor5InputDialog extends LogFactor5Dialog { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + public static final int SIZE = 30; + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private JTextField _textField; + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + /** + * Configures an input dialog box using a defualt size for the text field. + * param jframe the frame where the dialog will be loaded from. + * param title the title of the dialog box. + * param label the label to be put in the dialog box. + */ + public LogFactor5InputDialog(JFrame jframe, String title, String label) { + this(jframe, title, label, SIZE); + } + + /** + * Configures an input dialog box. + * param jframe the frame where the dialog will be loaded from. + * param title the title of the dialog box. + * param label the label to be put in the dialog box. + * param size the size of the text field. + */ + public LogFactor5InputDialog(JFrame jframe, String title, String label, + int size) { + super(jframe, title, true); + + JPanel bottom = new JPanel(); + bottom.setLayout(new FlowLayout()); + + JPanel main = new JPanel(); + main.setLayout(new FlowLayout()); + main.add(new JLabel(label)); + _textField = new JTextField(size); + main.add(_textField); + + addKeyListener(new KeyAdapter() { + public void keyPressed(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + hide(); + } + } + }); + + JButton ok = new JButton("Ok"); + ok.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + hide(); + } + }); + + JButton cancel = new JButton("Cancel"); + cancel.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + hide(); + // set the text field to blank just in case + // a file was selected before the Cancel + // button was pressed. + _textField.setText(""); + } + }); + + bottom.add(ok); + bottom.add(cancel); + getContentPane().add(main, BorderLayout.CENTER); + getContentPane().add(bottom, BorderLayout.SOUTH); + pack(); + centerWindow(this); + show(); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + public String getText() { + String s = _textField.getText(); + + if (s != null && s.trim().length() == 0) { + return null; + } + + return s; + + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.java new file mode 100644 index 00000000000..3e5a62b0191 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogFactor5LoadingDialog.java @@ -0,0 +1,82 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import java.awt.BorderLayout; +import java.awt.FlowLayout; +import java.awt.GridBagLayout; + +import javax.swing.JFrame; +import javax.swing.JPanel; + +/** + * LogFactor5LoadingDialog + * + * @author Richard Hurst + * @author Brad Marlborough + */ + +// Contributed by ThoughtWorks Inc. + +public class LogFactor5LoadingDialog extends LogFactor5Dialog { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public LogFactor5LoadingDialog(JFrame jframe, String message) { + super(jframe, "LogFactor5", false); + + JPanel bottom = new JPanel(); + bottom.setLayout(new FlowLayout()); + + JPanel main = new JPanel(); + main.setLayout(new GridBagLayout()); + wrapStringOnPanel(message, main); + + getContentPane().add(main, BorderLayout.CENTER); + getContentPane().add(bottom, BorderLayout.SOUTH); + show(); + + } + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTable.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTable.java new file mode 100644 index 00000000000..6bea10d15a0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTable.java @@ -0,0 +1,277 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.List; +import java.util.Vector; + +import javax.swing.JTable; +import javax.swing.JTextArea; +import javax.swing.ListSelectionModel; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import javax.swing.table.TableColumn; +import javax.swing.table.TableColumnModel; + +import org.apache.log4j.lf5.util.DateFormatManager; + +/** + * LogTable. + * + * @author Michael J. Sikorsky + * @author Robert Shaw + * @author Brad Marlborough + * @author Brent Sprecher + */ + +// Contributed by ThoughtWorks Inc. + +public class LogTable extends JTable { + private static final long serialVersionUID = 4867085140195148458L; + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected int _rowHeight = 30; + protected JTextArea _detailTextArea; + + // For the columns: + protected int _numCols = 9; + protected TableColumn[] _tableColumns = new TableColumn[_numCols]; + protected int[] _colWidths = {40, 40, 40, 70, 70, 360, 440, 200, 60}; + protected LogTableColumn[] _colNames = LogTableColumn.getLogTableColumnArray(); + protected int _colDate = 0; + protected int _colThread = 1; + protected int _colMessageNum = 2; + protected int _colLevel = 3; + protected int _colNDC = 4; + protected int _colCategory = 5; + protected int _colMessage = 6; + protected int _colLocation = 7; + protected int _colThrown = 8; + + protected DateFormatManager _dateFormatManager = null; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public LogTable(JTextArea detailTextArea) { + super(); + + init(); + + _detailTextArea = detailTextArea; + + setModel(new FilteredLogTableModel()); + + Enumeration columns = getColumnModel().getColumns(); + int i = 0; + while (columns.hasMoreElements()) { + TableColumn col = (TableColumn) columns.nextElement(); + col.setCellRenderer(new LogTableRowRenderer()); + col.setPreferredWidth(_colWidths[i]); + + _tableColumns[i] = col; + i++; + } + + ListSelectionModel rowSM = getSelectionModel(); + rowSM.addListSelectionListener(new LogTableListSelectionListener(this)); + + //setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Get the DateFormatManager for formatting dates. + */ + public DateFormatManager getDateFormatManager() { + return _dateFormatManager; + } + + /** + * Set the date format manager for formatting dates. + */ + public void setDateFormatManager(DateFormatManager dfm) { + _dateFormatManager = dfm; + } + + public synchronized void clearLogRecords() { + //For JDK1.3 + //((DefaultTableModel)getModel()).setRowCount(0); + + // For JDK1.2.x + getFilteredLogTableModel().clear(); + } + + public FilteredLogTableModel getFilteredLogTableModel() { + return (FilteredLogTableModel) getModel(); + } + + // default view if a view is not set and saved + public void setDetailedView() { + //TODO: Defineable Views. + TableColumnModel model = getColumnModel(); + // Remove all the columns: + for (int f = 0; f < _numCols; f++) { + model.removeColumn(_tableColumns[f]); + } + // Add them back in the correct order: + for (int i = 0; i < _numCols; i++) { + model.addColumn(_tableColumns[i]); + } + //SWING BUG: + sizeColumnsToFit(-1); + } + + public void setView(List columns) { + TableColumnModel model = getColumnModel(); + + // Remove all the columns: + for (int f = 0; f < _numCols; f++) { + model.removeColumn(_tableColumns[f]); + } + Iterator selectedColumns = columns.iterator(); + Vector columnNameAndNumber = getColumnNameAndNumber(); + while (selectedColumns.hasNext()) { + // add the column to the view + model.addColumn(_tableColumns[columnNameAndNumber.indexOf(selectedColumns.next())]); + } + + //SWING BUG: + sizeColumnsToFit(-1); + } + + public void setFont(Font font) { + super.setFont(font); + Graphics g = this.getGraphics(); + if (g != null) { + FontMetrics fm = g.getFontMetrics(font); + int height = fm.getHeight(); + _rowHeight = height + height / 3; + setRowHeight(_rowHeight); + } + + + } + + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected void init() { + setRowHeight(_rowHeight); + setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + } + + // assign a column number to a column name + protected Vector getColumnNameAndNumber() { + Vector columnNameAndNumber = new Vector(); + for (int i = 0; i < _colNames.length; i++) { + columnNameAndNumber.add(i, _colNames[i]); + } + return columnNameAndNumber; + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + + class LogTableListSelectionListener implements ListSelectionListener { + protected JTable _table; + + public LogTableListSelectionListener(JTable table) { + _table = table; + } + + public void valueChanged(ListSelectionEvent e) { + //Ignore extra messages. + if (e.getValueIsAdjusting()) { + return; + } + + ListSelectionModel lsm = (ListSelectionModel) e.getSource(); + if (lsm.isSelectionEmpty()) { + //no rows are selected + } else { + StringBuffer buf = new StringBuffer(); + int selectedRow = lsm.getMinSelectionIndex(); + + for (int i = 0; i < _numCols - 1; i++) { + String value = ""; + Object obj = _table.getModel().getValueAt(selectedRow, i); + if (obj != null) { + value = obj.toString(); + } + + buf.append(_colNames[i] + ":"); + buf.append("\t"); + + if (i == _colThread || i == _colMessage || i == _colLevel) { + buf.append("\t"); // pad out the date. + } + + if (i == _colDate || i == _colNDC) { + buf.append("\t\t"); // pad out the date. + } + +// if( i == _colSequence) +// { +// buf.append("\t\t\t"); // pad out the Sequnce. +// } + + buf.append(value); + buf.append("\n"); + } + buf.append(_colNames[_numCols - 1] + ":\n"); + Object obj = _table.getModel().getValueAt(selectedRow, _numCols - 1); + if (obj != null) { + buf.append(obj.toString()); + } + + _detailTextArea.setText(buf.toString()); + } + } + } +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableColumn.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableColumn.java new file mode 100644 index 00000000000..c86c6bbefe6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableColumn.java @@ -0,0 +1,166 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * LogTableColumn + * + * @author Michael J. Sikorsky + * @author Brad Marlborough + */ + +// Contributed by ThoughtWorks Inc. + +public class LogTableColumn implements java.io.Serializable { + private static final long serialVersionUID = -4275827753626456547L; + + // log4j table columns. + public final static LogTableColumn DATE = new LogTableColumn("Date"); + public final static LogTableColumn THREAD = new LogTableColumn("Thread"); + public final static LogTableColumn MESSAGE_NUM = new LogTableColumn("Message #"); + public final static LogTableColumn LEVEL = new LogTableColumn("Level"); + public final static LogTableColumn NDC = new LogTableColumn("NDC"); + public final static LogTableColumn CATEGORY = new LogTableColumn("Category"); + public final static LogTableColumn MESSAGE = new LogTableColumn("Message"); + public final static LogTableColumn LOCATION = new LogTableColumn("Location"); + public final static LogTableColumn THROWN = new LogTableColumn("Thrown"); + + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected String _label; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private static LogTableColumn[] _log4JColumns; + private static Map _logTableColumnMap; + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + static { + _log4JColumns = new LogTableColumn[]{DATE, THREAD, MESSAGE_NUM, LEVEL, NDC, CATEGORY, + MESSAGE, LOCATION, THROWN}; + + _logTableColumnMap = new HashMap(); + + for (int i = 0; i < _log4JColumns.length; i++) { + _logTableColumnMap.put(_log4JColumns[i].getLabel(), _log4JColumns[i]); + } + } + + + public LogTableColumn(String label) { + _label = label; + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Return the Label of the LogLevel. + */ + public String getLabel() { + return _label; + } + + /** + * Convert a column label into a LogTableColumn object. + * + * @param column The label of a level to be converted into a LogTableColumn. + * @return LogTableColumn The LogTableColumn with a label equal to column. + * @throws LogTableColumnFormatException Is thrown when the column can not be + * converted into a LogTableColumn. + */ + public static LogTableColumn valueOf(String column) + throws LogTableColumnFormatException { + LogTableColumn tableColumn = null; + if (column != null) { + column = column.trim(); + tableColumn = (LogTableColumn) _logTableColumnMap.get(column); + } + + if (tableColumn == null) { + StringBuffer buf = new StringBuffer(); + buf.append("Error while trying to parse (" + column + ") into"); + buf.append(" a LogTableColumn."); + throw new LogTableColumnFormatException(buf.toString()); + } + return tableColumn; + } + + + public boolean equals(Object o) { + boolean equals = false; + + if (o instanceof LogTableColumn) { + if (this.getLabel() == + ((LogTableColumn) o).getLabel()) { + equals = true; + } + } + + return equals; + } + + public int hashCode() { + return _label.hashCode(); + } + + public String toString() { + return _label; + } + + /** + * @return A <code>List</code> of <code>LogTableColumn/code> objects that map + * to log4j <code>Column</code> objects. + */ + public static List getLogTableColumns() { + return Arrays.asList(_log4JColumns); + } + + public static LogTableColumn[] getLogTableColumnArray() { + return _log4JColumns; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.java new file mode 100644 index 00000000000..b161fe7bcb6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableColumnFormatException.java @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +/** + * Thrown to indicate that the client has attempted to convert a string + * to one the LogLevel types, but the string does not have the appropriate + * format. + * + * @author Michael J. Sikorsky + */ + +// Contributed by ThoughtWorks Inc. + +public class LogTableColumnFormatException extends Exception { + private static final long serialVersionUID = 6529165785030431653L; + + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public LogTableColumnFormatException(String message) { + super(message); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableModel.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableModel.java new file mode 100644 index 00000000000..3b60000bfc4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableModel.java @@ -0,0 +1,77 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import javax.swing.table.DefaultTableModel; + +/** + * LogTableModel + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class LogTableModel extends DefaultTableModel { + private static final long serialVersionUID = 3593300685868700894L; + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public LogTableModel(Object[] colNames, int numRows) { + super(colNames, numRows); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public boolean isCellEditable(int row, int column) { + return (false); + } + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableRowRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableRowRenderer.java new file mode 100644 index 00000000000..3d1e397cd53 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/LogTableRowRenderer.java @@ -0,0 +1,109 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import java.awt.Color; +import java.awt.Component; + +import javax.swing.JTable; +import javax.swing.table.DefaultTableCellRenderer; + +import org.apache.log4j.lf5.LogLevel; +import org.apache.log4j.lf5.LogRecord; + +/** + * LogTableRowRenderer + * + * @author Michael J. Sikorsky + * @author Robert Shaw + * @author Brad Marlborough + */ + +// Contributed by ThoughtWorks Inc. + +public class LogTableRowRenderer extends DefaultTableCellRenderer { + private static final long serialVersionUID = -3951639953706443213L; + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected boolean _highlightFatal = true; + protected Color _color = new Color(230, 230, 230); + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public Component getTableCellRendererComponent(JTable table, + Object value, + boolean isSelected, + boolean hasFocus, + int row, + int col) { + + if ((row % 2) == 0) { + setBackground(_color); + } else { + setBackground(Color.white); + } + + FilteredLogTableModel model = (FilteredLogTableModel) table.getModel(); + LogRecord record = model.getFilteredRecord(row); + + setForeground(getLogLevelColor(record.getLevel())); + + return (super.getTableCellRendererComponent(table, + value, + isSelected, + hasFocus, + row, col)); + } + + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + protected Color getLogLevelColor(LogLevel level) { + return (Color) LogLevel.getLogLevelColorMap().get(level); + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.java new file mode 100644 index 00000000000..4aa959c999e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/TrackingAdjustmentListener.java @@ -0,0 +1,86 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer; + +import java.awt.Adjustable; +import java.awt.event.AdjustmentEvent; +import java.awt.event.AdjustmentListener; + +/** + * An AdjustmentListener which ensures that an Adjustable (e.g. a Scrollbar) + * will "track" when the Adjustable expands. + * For example, when a vertical scroll bar is at its bottom anchor, + * the scrollbar will remain at the bottom. When the vertical scroll bar + * is at any other location, then no tracking will happen. + * An instance of this class should only listen to one Adjustable as + * it retains state information about the Adjustable it listens to. + * + * @author Richard Wan + */ + +// Contributed by ThoughtWorks Inc. + +public class TrackingAdjustmentListener implements AdjustmentListener { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + protected int _lastMaximum = -1; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public void adjustmentValueChanged(AdjustmentEvent e) { + Adjustable bar = e.getAdjustable(); + int currentMaximum = bar.getMaximum(); + if (bar.getMaximum() == _lastMaximum) { + return; // nothing to do, the adjustable has not expanded + } + int bottom = bar.getValue() + bar.getVisibleAmount(); + + if (bottom + bar.getUnitIncrement() >= _lastMaximum) { + bar.setValue(bar.getMaximum()); // use the most recent maximum + } + _lastMaximum = currentMaximum; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.java new file mode 100644 index 00000000000..e5bbaa640e4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryAbstractCellEditor.java @@ -0,0 +1,172 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import java.awt.Component; +import java.awt.event.MouseEvent; +import java.util.EventObject; + +import javax.swing.JTable; +import javax.swing.JTree; +import javax.swing.event.CellEditorListener; +import javax.swing.event.ChangeEvent; +import javax.swing.event.EventListenerList; +import javax.swing.table.TableCellEditor; +import javax.swing.tree.TreeCellEditor; + +/** + * CategoryAbstractCellEditor. Base class to handle the some common + * details of cell editing. + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryAbstractCellEditor implements TableCellEditor, TreeCellEditor { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected EventListenerList _listenerList = new EventListenerList(); + protected Object _value; + protected ChangeEvent _changeEvent = null; + protected int _clickCountToStart = 1; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public Object getCellEditorValue() { + return _value; + } + + public void setCellEditorValue(Object value) { + _value = value; + } + + public void setClickCountToStart(int count) { + _clickCountToStart = count; + } + + public int getClickCountToStart() { + return _clickCountToStart; + } + + public boolean isCellEditable(EventObject anEvent) { + if (anEvent instanceof MouseEvent) { + if (((MouseEvent) anEvent).getClickCount() < _clickCountToStart) { + return false; + } + } + return true; + } + + public boolean shouldSelectCell(EventObject anEvent) { + if (this.isCellEditable(anEvent)) { + if (anEvent == null || + ((MouseEvent) anEvent).getClickCount() >= _clickCountToStart) { + return true; + } + } + return false; + } + + public boolean stopCellEditing() { + fireEditingStopped(); + return true; + } + + public void cancelCellEditing() { + fireEditingCanceled(); + } + + public void addCellEditorListener(CellEditorListener l) { + _listenerList.add(CellEditorListener.class, l); + } + + public void removeCellEditorListener(CellEditorListener l) { + _listenerList.remove(CellEditorListener.class, l); + } + + public Component getTreeCellEditorComponent( + JTree tree, Object value, + boolean isSelected, + boolean expanded, + boolean leaf, int row) { + return null; + } + + public Component getTableCellEditorComponent( + JTable table, Object value, + boolean isSelected, + int row, int column) { + return null; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + protected void fireEditingStopped() { + Object[] listeners = _listenerList.getListenerList(); + + for (int i = listeners.length - 2; i >= 0; i -= 2) { + if (listeners[i] == CellEditorListener.class) { + if (_changeEvent == null) { + _changeEvent = new ChangeEvent(this); + } + + ((CellEditorListener) listeners[i + 1]).editingStopped(_changeEvent); + } + } + } + + protected void fireEditingCanceled() { + Object[] listeners = _listenerList.getListenerList(); + + for (int i = listeners.length - 2; i >= 0; i -= 2) { + if (listeners[i] == CellEditorListener.class) { + if (_changeEvent == null) { + _changeEvent = new ChangeEvent(this); + } + + ((CellEditorListener) listeners[i + 1]).editingCanceled(_changeEvent); + } + } + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.java new file mode 100644 index 00000000000..1391fd574a5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryElement.java @@ -0,0 +1,84 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +/** + * CategoryElement represents a single element or part of a Category. + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryElement { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected String _categoryTitle; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public CategoryElement() { + super(); + } + + public CategoryElement(String title) { + _categoryTitle = title; + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public String getTitle() { + return (_categoryTitle); + } + + public void setTitle(String title) { + _categoryTitle = title; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.java new file mode 100644 index 00000000000..63f91aef2df --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerLogRecordFilter.java @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import org.apache.log4j.lf5.LogRecord; +import org.apache.log4j.lf5.LogRecordFilter; + +import java.util.Enumeration; + +/** + * An implementation of LogRecordFilter based on a CategoryExplorerModel + * + * @author Richard Wan + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryExplorerLogRecordFilter implements LogRecordFilter { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + protected CategoryExplorerModel _model; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public CategoryExplorerLogRecordFilter(CategoryExplorerModel model) { + _model = model; + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * @return true if the CategoryExplorer model specified at construction + * is accepting the category of the specified LogRecord. Has a side-effect + * of adding the CategoryPath of the LogRecord to the explorer model + * if the CategoryPath is new. + */ + public boolean passes(LogRecord record) { + CategoryPath path = new CategoryPath(record.getCategory()); + return _model.isCategoryPathActive(path); + } + + /** + * Resets the counters for the contained CategoryNodes to zero. + */ + public void reset() { + resetAllNodes(); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected void resetAllNodes() { + Enumeration nodes = _model.getRootCategoryNode().depthFirstEnumeration(); + CategoryNode current; + while (nodes.hasMoreElements()) { + current = (CategoryNode) nodes.nextElement(); + current.resetNumberOfContainedRecords(); + _model.nodeChanged(current); + } + } + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.java new file mode 100644 index 00000000000..c70b55c8847 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerModel.java @@ -0,0 +1,347 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import java.awt.AWTEventMulticaster; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Enumeration; + +import javax.swing.SwingUtilities; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreeNode; +import javax.swing.tree.TreePath; + +import org.apache.log4j.lf5.LogRecord; + +/** + * CategoryExplorerModel + * + * @author Michael J. Sikorsky + * @author Robert Shaw + * @author Brent Sprecher + * @author Richard Hurst + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryExplorerModel extends DefaultTreeModel { + private static final long serialVersionUID = -3413887384316015901L; + + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + protected boolean _renderFatal = true; + protected ActionListener _listener = null; + protected ActionEvent _event = new ActionEvent(this, + ActionEvent.ACTION_PERFORMED, + "Nodes Selection changed"); + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public CategoryExplorerModel(CategoryNode node) { + super(node); + } + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public void addLogRecord(LogRecord lr) { + CategoryPath path = new CategoryPath(lr.getCategory()); + addCategory(path); // create category path if it is new + CategoryNode node = getCategoryNode(path); + node.addRecord(); // update category node + if (_renderFatal && lr.isFatal()) { + TreeNode[] nodes = getPathToRoot(node); + int len = nodes.length; + CategoryNode parent; + + // i = 0 gives root node + // skip node and root, loop through "parents" in between + for (int i = 1; i < len - 1; i++) { + parent = (CategoryNode) nodes[i]; + parent.setHasFatalChildren(true); + nodeChanged(parent); + } + node.setHasFatalRecords(true); + nodeChanged(node); + } + } + + public CategoryNode getRootCategoryNode() { + return (CategoryNode) getRoot(); + } + + public CategoryNode getCategoryNode(String category) { + CategoryPath path = new CategoryPath(category); + return (getCategoryNode(path)); + } + + /** + * returns null if no CategoryNode exists. + */ + public CategoryNode getCategoryNode(CategoryPath path) { + CategoryNode root = (CategoryNode) getRoot(); + CategoryNode parent = root; // Start condition. + + for (int i = 0; i < path.size(); i++) { + CategoryElement element = path.categoryElementAt(i); + + // If the two nodes have matching titles they are considered equal. + Enumeration children = parent.children(); + + boolean categoryAlreadyExists = false; + while (children.hasMoreElements()) { + CategoryNode node = (CategoryNode) children.nextElement(); + String title = node.getTitle().toLowerCase(); + + String pathLC = element.getTitle().toLowerCase(); + if (title.equals(pathLC)) { + categoryAlreadyExists = true; + // This is now the new parent node. + parent = node; + break; // out of the while, and back to the for(). + } + } + + if (categoryAlreadyExists == false) { + return null; // Didn't find the Node. + } + } + + return (parent); + } + + /** + * @return true if all the nodes in the specified CategoryPath are + * selected. + */ + public boolean isCategoryPathActive(CategoryPath path) { + CategoryNode root = (CategoryNode) getRoot(); + CategoryNode parent = root; // Start condition. + boolean active = false; + + for (int i = 0; i < path.size(); i++) { + CategoryElement element = path.categoryElementAt(i); + + // If the two nodes have matching titles they are considered equal. + Enumeration children = parent.children(); + + boolean categoryAlreadyExists = false; + active = false; + + while (children.hasMoreElements()) { + CategoryNode node = (CategoryNode) children.nextElement(); + String title = node.getTitle().toLowerCase(); + + String pathLC = element.getTitle().toLowerCase(); + if (title.equals(pathLC)) { + categoryAlreadyExists = true; + // This is now the new parent node. + parent = node; + + if (parent.isSelected()) { + active = true; + } + + break; // out of the while, and back to the for(). + } + } + + if (active == false || categoryAlreadyExists == false) { + return false; + } + } + + return (active); + } + + + /** + * <p>Method altered by Richard Hurst such that it returns the CategoryNode + * corresponding to the CategoryPath</p> + * + * @param path category path. + * @return CategoryNode + */ + public CategoryNode addCategory(CategoryPath path) { + CategoryNode root = (CategoryNode) getRoot(); + CategoryNode parent = root; // Start condition. + + for (int i = 0; i < path.size(); i++) { + CategoryElement element = path.categoryElementAt(i); + + // If the two nodes have matching titles they are considered equal. + Enumeration children = parent.children(); + + boolean categoryAlreadyExists = false; + while (children.hasMoreElements()) { + CategoryNode node = (CategoryNode) children.nextElement(); + String title = node.getTitle().toLowerCase(); + + String pathLC = element.getTitle().toLowerCase(); + if (title.equals(pathLC)) { + categoryAlreadyExists = true; + // This is now the new parent node. + parent = node; + break; + } + } + + if (categoryAlreadyExists == false) { + // We need to add the node. + CategoryNode newNode = new CategoryNode(element.getTitle()); + + //This method of adding a new node cause parent roots to be + // collapsed. + //parent.add( newNode ); + //reload(parent); + + // This doesn't force the nodes to collapse. + insertNodeInto(newNode, parent, parent.getChildCount()); + refresh(newNode); + + // The newly added node is now the parent. + parent = newNode; + + } + } + + return parent; + } + + public void update(CategoryNode node, boolean selected) { + if (node.isSelected() == selected) { + return; // nothing was changed, nothing to do + } + // select parents or deselect children + if (selected) { + setParentSelection(node, true); + } else { + setDescendantSelection(node, false); + } + } + + public void setDescendantSelection(CategoryNode node, boolean selected) { + Enumeration descendants = node.depthFirstEnumeration(); + CategoryNode current; + while (descendants.hasMoreElements()) { + current = (CategoryNode) descendants.nextElement(); + // does the current node need to be changed? + if (current.isSelected() != selected) { + current.setSelected(selected); + nodeChanged(current); + } + } + notifyActionListeners(); + } + + public void setParentSelection(CategoryNode node, boolean selected) { + TreeNode[] nodes = getPathToRoot(node); + int len = nodes.length; + CategoryNode parent; + + // i = 0 gives root node, i=len-1 gives this node + // skip the root node + for (int i = 1; i < len; i++) { + parent = (CategoryNode) nodes[i]; + if (parent.isSelected() != selected) { + parent.setSelected(selected); + nodeChanged(parent); + } + } + notifyActionListeners(); + } + + + public synchronized void addActionListener(ActionListener l) { + _listener = AWTEventMulticaster.add(_listener, l); + } + + public synchronized void removeActionListener(ActionListener l) { + _listener = AWTEventMulticaster.remove(_listener, l); + } + + public void resetAllNodeCounts() { + Enumeration nodes = getRootCategoryNode().depthFirstEnumeration(); + CategoryNode current; + while (nodes.hasMoreElements()) { + current = (CategoryNode) nodes.nextElement(); + current.resetNumberOfContainedRecords(); + nodeChanged(current); + } + } + + /** + * <p>Returns the CategoryPath to the specified CategoryNode</p> + * + * @param node The target CategoryNode + * @return CategoryPath + */ + public TreePath getTreePathToRoot(CategoryNode node) { + if (node == null) { + return null; + } + return (new TreePath(getPathToRoot(node))); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + protected void notifyActionListeners() { + if (_listener != null) { + _listener.actionPerformed(_event); + } + } + + /** + * Fires a nodechanged event on the SwingThread. + */ + protected void refresh(final CategoryNode node) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + nodeChanged(node); // remind the tree to render the new node + } + }); + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.java new file mode 100644 index 00000000000..a8e97f5f04b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryExplorerTree.java @@ -0,0 +1,157 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import java.awt.event.MouseEvent; + +import javax.swing.JTree; +import javax.swing.event.TreeModelEvent; +import javax.swing.tree.TreePath; + +/** + * CategoryExplorerTree + * + * @author Michael J. Sikorsky + * @author Robert Shaw + * @author Brent Sprecher + * @author Brad Marlborough + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryExplorerTree extends JTree { + private static final long serialVersionUID = 8066257446951323576L; + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected CategoryExplorerModel _model; + protected boolean _rootAlreadyExpanded = false; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + /** + * Construct a CategoryExplorerTree with a specific model. + */ + public CategoryExplorerTree(CategoryExplorerModel model) { + super(model); + + _model = model; + init(); + } + + /** + * Construct a CategoryExplorerTree and create a default CategoryExplorerModel. + */ + public CategoryExplorerTree() { + super(); + + CategoryNode rootNode = new CategoryNode("Categories"); + + _model = new CategoryExplorerModel(rootNode); + + setModel(_model); + + init(); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public CategoryExplorerModel getExplorerModel() { + return (_model); + } + + public String getToolTipText(MouseEvent e) { + + try { + return super.getToolTipText(e); + } catch (Exception ex) { + return ""; + } + + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected void init() { + // Put visible lines on the JTree. + putClientProperty("JTree.lineStyle", "Angled"); + + // Configure the Tree with the appropriate Renderers and Editors. + + CategoryNodeRenderer renderer = new CategoryNodeRenderer(); + setEditable(true); + setCellRenderer(renderer); + + CategoryNodeEditor editor = new CategoryNodeEditor(_model); + + setCellEditor(new CategoryImmediateEditor(this, + new CategoryNodeRenderer(), + editor)); + setShowsRootHandles(true); + + setToolTipText(""); + + ensureRootExpansion(); + + } + + protected void expandRootNode() { + if (_rootAlreadyExpanded) { + return; + } + _rootAlreadyExpanded = true; + TreePath path = new TreePath(_model.getRootCategoryNode().getPath()); + expandPath(path); + } + + protected void ensureRootExpansion() { + _model.addTreeModelListener(new TreeModelAdapter() { + public void treeNodesInserted(TreeModelEvent e) { + expandRootNode(); + } + }); + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.java new file mode 100644 index 00000000000..4c7374b88c7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryImmediateEditor.java @@ -0,0 +1,148 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import java.awt.Dimension; +import java.awt.Rectangle; +import java.awt.event.MouseEvent; +import java.util.EventObject; + +import javax.swing.Icon; +import javax.swing.JTree; +import javax.swing.tree.DefaultTreeCellEditor; +import javax.swing.tree.TreePath; + +/** + * CategoryImmediateEditor + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryImmediateEditor extends DefaultTreeCellEditor { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + private CategoryNodeRenderer renderer; + protected Icon editingIcon = null; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + public CategoryImmediateEditor(JTree tree, + CategoryNodeRenderer renderer, + CategoryNodeEditor editor) { + super(tree, renderer, editor); + this.renderer = renderer; + renderer.setIcon(null); + renderer.setLeafIcon(null); + renderer.setOpenIcon(null); + renderer.setClosedIcon(null); + + super.editingIcon = null; + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + public boolean shouldSelectCell(EventObject e) { + boolean rv = false; // only mouse events + + if (e instanceof MouseEvent) { + MouseEvent me = (MouseEvent) e; + TreePath path = tree.getPathForLocation(me.getX(), + me.getY()); + CategoryNode node = (CategoryNode) + path.getLastPathComponent(); + + rv = node.isLeaf() /*|| !inCheckBoxHitRegion(me)*/; + } + return rv; + } + + public boolean inCheckBoxHitRegion(MouseEvent e) { + TreePath path = tree.getPathForLocation(e.getX(), + e.getY()); + if (path == null) { + return false; + } + CategoryNode node = (CategoryNode) path.getLastPathComponent(); + boolean rv = false; + + if (true) { + // offset and lastRow DefaultTreeCellEditor + // protected members + + Rectangle bounds = tree.getRowBounds(lastRow); + Dimension checkBoxOffset = + renderer.getCheckBoxOffset(); + + bounds.translate(offset + checkBoxOffset.width, + checkBoxOffset.height); + + rv = bounds.contains(e.getPoint()); + } + return true; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected boolean canEditImmediately(EventObject e) { + boolean rv = false; + + if (e instanceof MouseEvent) { + MouseEvent me = (MouseEvent) e; + rv = inCheckBoxHitRegion(me); + } + + return rv; + } + + protected void determineOffset(JTree tree, Object value, + boolean isSelected, boolean expanded, + boolean leaf, int row) { + // Very important: means that the tree won't jump around. + offset = 0; + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.java new file mode 100644 index 00000000000..95bdc4280bc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.java @@ -0,0 +1,197 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.TreeNode; +import java.util.Enumeration; + +/** + * CategoryNode + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryNode extends DefaultMutableTreeNode { + private static final long serialVersionUID = 5958994817693177319L; + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected boolean _selected = true; + protected int _numberOfContainedRecords = 0; + protected int _numberOfRecordsFromChildren = 0; + protected boolean _hasFatalChildren = false; + protected boolean _hasFatalRecords = false; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + /** + * + */ + public CategoryNode(String title) { + setUserObject(title); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + public String getTitle() { + return (String) getUserObject(); + } + + public void setSelected(boolean s) { + if (s != _selected) { + _selected = s; + } + } + + public boolean isSelected() { + return _selected; + } + + /** + * @deprecated + */ + public void setAllDescendantsSelected() { + Enumeration children = children(); + while (children.hasMoreElements()) { + CategoryNode node = (CategoryNode) children.nextElement(); + node.setSelected(true); + node.setAllDescendantsSelected(); + } + } + + /** + * @deprecated + */ + public void setAllDescendantsDeSelected() { + Enumeration children = children(); + while (children.hasMoreElements()) { + CategoryNode node = (CategoryNode) children.nextElement(); + node.setSelected(false); + node.setAllDescendantsDeSelected(); + } + } + + public String toString() { + return (getTitle()); + } + + public boolean equals(Object obj) { + if (obj instanceof CategoryNode) { + CategoryNode node = (CategoryNode) obj; + String tit1 = getTitle().toLowerCase(); + String tit2 = node.getTitle().toLowerCase(); + + if (tit1.equals(tit2)) { + return (true); + } + } + return (false); + } + + public int hashCode() { + return (getTitle().hashCode()); + } + + public void addRecord() { + _numberOfContainedRecords++; + addRecordToParent(); + } + + public int getNumberOfContainedRecords() { + return _numberOfContainedRecords; + } + + public void resetNumberOfContainedRecords() { + _numberOfContainedRecords = 0; + _numberOfRecordsFromChildren = 0; + _hasFatalRecords = false; + _hasFatalChildren = false; + } + + public boolean hasFatalRecords() { + return _hasFatalRecords; + } + + public boolean hasFatalChildren() { + return _hasFatalChildren; + } + + public void setHasFatalRecords(boolean flag) { + _hasFatalRecords = flag; + } + + public void setHasFatalChildren(boolean flag) { + _hasFatalChildren = flag; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected int getTotalNumberOfRecords() { + return getNumberOfRecordsFromChildren() + getNumberOfContainedRecords(); + } + + /** + * Passes up the addition from child to parent + */ + protected void addRecordFromChild() { + _numberOfRecordsFromChildren++; + addRecordToParent(); + } + + protected int getNumberOfRecordsFromChildren() { + return _numberOfRecordsFromChildren; + } + + protected void addRecordToParent() { + TreeNode parent = getParent(); + if (parent == null) { + return; + } + ((CategoryNode) parent).addRecordFromChild(); + } + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.java new file mode 100644 index 00000000000..b653cd71a99 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.java @@ -0,0 +1,291 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import java.awt.Component; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.ArrayList; +import java.util.Enumeration; + +import javax.swing.JCheckBox; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPopupMenu; +import javax.swing.JTree; +import javax.swing.tree.TreePath; + +/** + * CategoryNodeEditor + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryNodeEditor extends CategoryAbstractCellEditor { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected CategoryNodeEditorRenderer _renderer; + protected CategoryNode _lastEditedNode; + protected JCheckBox _checkBox; + protected CategoryExplorerModel _categoryModel; + protected JTree _tree; + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public CategoryNodeEditor(CategoryExplorerModel model) { + _renderer = new CategoryNodeEditorRenderer(); + _checkBox = _renderer.getCheckBox(); + _categoryModel = model; + + _checkBox.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + _categoryModel.update(_lastEditedNode, _checkBox.isSelected()); + stopCellEditing(); + } + }); + + _renderer.addMouseListener(new MouseAdapter() { + public void mousePressed(MouseEvent e) { + if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0) { + showPopup(_lastEditedNode, e.getX(), e.getY()); + } + stopCellEditing(); + } + }); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public Component getTreeCellEditorComponent(JTree tree, Object value, + boolean selected, boolean expanded, + boolean leaf, int row) { + _lastEditedNode = (CategoryNode) value; + _tree = tree; + + return _renderer.getTreeCellRendererComponent(tree, + value, selected, expanded, + leaf, row, true); + // hasFocus ignored + } + + public Object getCellEditorValue() { + return _lastEditedNode.getUserObject(); + } + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected JMenuItem createPropertiesMenuItem(final CategoryNode node) { + JMenuItem result = new JMenuItem("Properties"); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + showPropertiesDialog(node); + } + }); + return result; + } + + protected void showPropertiesDialog(CategoryNode node) { + JOptionPane.showMessageDialog( + _tree, + getDisplayedProperties(node), + "Category Properties: " + node.getTitle(), + JOptionPane.PLAIN_MESSAGE + ); + } + + protected Object getDisplayedProperties(CategoryNode node) { + ArrayList result = new ArrayList(); + result.add("Category: " + node.getTitle()); + if (node.hasFatalRecords()) { + result.add("Contains at least one fatal LogRecord."); + } + if (node.hasFatalChildren()) { + result.add("Contains descendants with a fatal LogRecord."); + } + result.add("LogRecords in this category alone: " + + node.getNumberOfContainedRecords()); + result.add("LogRecords in descendant categories: " + + node.getNumberOfRecordsFromChildren()); + result.add("LogRecords in this category including descendants: " + + node.getTotalNumberOfRecords()); + return result.toArray(); + } + + protected void showPopup(CategoryNode node, int x, int y) { + JPopupMenu popup = new JPopupMenu(); + popup.setSize(150, 400); + // + // Configure the Popup + // + if (node.getParent() == null) { + popup.add(createRemoveMenuItem()); + popup.addSeparator(); + } + popup.add(createSelectDescendantsMenuItem(node)); + popup.add(createUnselectDescendantsMenuItem(node)); + popup.addSeparator(); + popup.add(createExpandMenuItem(node)); + popup.add(createCollapseMenuItem(node)); + popup.addSeparator(); + popup.add(createPropertiesMenuItem(node)); + popup.show(_renderer, x, y); + } + + protected JMenuItem createSelectDescendantsMenuItem(final CategoryNode node) { + JMenuItem selectDescendants = + new JMenuItem("Select All Descendant Categories"); + selectDescendants.addActionListener( + new ActionListener() { + public void actionPerformed(ActionEvent e) { + _categoryModel.setDescendantSelection(node, true); + } + } + ); + return selectDescendants; + } + + protected JMenuItem createUnselectDescendantsMenuItem(final CategoryNode node) { + JMenuItem unselectDescendants = + new JMenuItem("Deselect All Descendant Categories"); + unselectDescendants.addActionListener( + + new ActionListener() { + public void actionPerformed(ActionEvent e) { + _categoryModel.setDescendantSelection(node, false); + } + } + + ); + return unselectDescendants; + } + + protected JMenuItem createExpandMenuItem(final CategoryNode node) { + JMenuItem result = new JMenuItem("Expand All Descendant Categories"); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + expandDescendants(node); + } + }); + return result; + } + + protected JMenuItem createCollapseMenuItem(final CategoryNode node) { + JMenuItem result = new JMenuItem("Collapse All Descendant Categories"); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + collapseDescendants(node); + } + }); + return result; + } + + /** + * This featured was moved from the LogBrokerMonitor class + * to the CategoryNodeExplorer so that the Category tree + * could be pruned from the Category Explorer popup menu. + * This menu option only appears when a user right clicks on + * the Category parent node. + * + * See removeUnusedNodes() + */ + protected JMenuItem createRemoveMenuItem() { + JMenuItem result = new JMenuItem("Remove All Empty Categories"); + result.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + while (removeUnusedNodes() > 0) ; + } + }); + return result; + } + + protected void expandDescendants(CategoryNode node) { + Enumeration descendants = node.depthFirstEnumeration(); + CategoryNode current; + while (descendants.hasMoreElements()) { + current = (CategoryNode) descendants.nextElement(); + expand(current); + } + } + + protected void collapseDescendants(CategoryNode node) { + Enumeration descendants = node.depthFirstEnumeration(); + CategoryNode current; + while (descendants.hasMoreElements()) { + current = (CategoryNode) descendants.nextElement(); + collapse(current); + } + } + + /** + * Removes any inactive nodes from the Category tree. + */ + protected int removeUnusedNodes() { + int count = 0; + CategoryNode root = _categoryModel.getRootCategoryNode(); + Enumeration enumeration = root.depthFirstEnumeration(); + while (enumeration.hasMoreElements()) { + CategoryNode node = (CategoryNode) enumeration.nextElement(); + if (node.isLeaf() && node.getNumberOfContainedRecords() == 0 + && node.getParent() != null) { + _categoryModel.removeNodeFromParent(node); + count++; + } + } + + return count; + } + + protected void expand(CategoryNode node) { + _tree.expandPath(getTreePath(node)); + } + + protected TreePath getTreePath(CategoryNode node) { + return new TreePath(node.getPath()); + } + + protected void collapse(CategoryNode node) { + _tree.collapsePath(getTreePath(node)); + } + + //----------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.java new file mode 100644 index 00000000000..57be9fce908 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditorRenderer.java @@ -0,0 +1,84 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import java.awt.Component; + +import javax.swing.JCheckBox; +import javax.swing.JTree; + +/** + * CategoryNodeEditorRenderer + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryNodeEditorRenderer extends CategoryNodeRenderer { + private static final long serialVersionUID = -6094804684259929574L; + + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public Component getTreeCellRendererComponent( + JTree tree, Object value, + boolean selected, boolean expanded, + boolean leaf, int row, + boolean hasFocus) { + Component c = super.getTreeCellRendererComponent(tree, + value, selected, expanded, + leaf, row, hasFocus); + + return c; + } + + public JCheckBox getCheckBox() { + return _checkBox; + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.java new file mode 100644 index 00000000000..4eb461dd43f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeRenderer.java @@ -0,0 +1,151 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import javax.swing.*; +import javax.swing.tree.DefaultTreeCellRenderer; +import java.awt.*; +import java.net.URL; + +/** + * CategoryNodeRenderer + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryNodeRenderer extends DefaultTreeCellRenderer { + private static final long serialVersionUID = -6046702673278595048L; + + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + public static final Color FATAL_CHILDREN = new Color(189, 113, 0); + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected JCheckBox _checkBox = new JCheckBox(); + protected JPanel _panel = new JPanel(); + protected static ImageIcon _sat = null; +// protected JLabel _label = new JLabel(); + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + public CategoryNodeRenderer() { + _panel.setBackground(UIManager.getColor("Tree.textBackground")); + + if (_sat == null) { + // Load the satellite image. + String resource = + "/org/apache/log4j/lf5/viewer/images/channelexplorer_satellite.gif"; + URL satURL = getClass().getResource(resource); + + _sat = new ImageIcon(satURL); + } + + setOpaque(false); + _checkBox.setOpaque(false); + _panel.setOpaque(false); + + // The flowlayout set to LEFT is very important so that the editor + // doesn't jump around. + _panel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); + _panel.add(_checkBox); + _panel.add(this); + + setOpenIcon(_sat); + setClosedIcon(_sat); + setLeafIcon(_sat); + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + public Component getTreeCellRendererComponent( + JTree tree, Object value, + boolean selected, boolean expanded, + boolean leaf, int row, + boolean hasFocus) { + + CategoryNode node = (CategoryNode) value; + //FileNode node = (FileNode)value; + //String s = tree.convertValueToText(value, selected, + // expanded, leaf, row, hasFocus); + + super.getTreeCellRendererComponent( + tree, value, selected, expanded, + leaf, row, hasFocus); + + if (row == 0) { + // Root row -- no check box + _checkBox.setVisible(false); + } else { + _checkBox.setVisible(true); + _checkBox.setSelected(node.isSelected()); + } + String toolTip = buildToolTip(node); + _panel.setToolTipText(toolTip); + if (node.hasFatalChildren()) { + this.setForeground(FATAL_CHILDREN); + } + if (node.hasFatalRecords()) { + this.setForeground(Color.red); + } + + return _panel; + } + + public Dimension getCheckBoxOffset() { + return new Dimension(0, 0); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + protected String buildToolTip(CategoryNode node) { + StringBuffer result = new StringBuffer(); + result.append(node.getTitle()).append(" contains a total of "); + result.append(node.getTotalNumberOfRecords()); + result.append(" LogRecords."); + result.append(" Right-click for more info."); + return result.toString(); + } + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.java new file mode 100644 index 00000000000..8cc3da16325 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryPath.java @@ -0,0 +1,157 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import java.util.LinkedList; +import java.util.StringTokenizer; + +/** + * CategoryPath is a collection of CategoryItems which represent a + * path of categories. + * + * @author Michael J. Sikorsky + * @author Robert Shaw + */ + +// Contributed by ThoughtWorks Inc. + +public class CategoryPath { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + protected LinkedList _categoryElements = new LinkedList(); + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + public CategoryPath() { + super(); + } + + /** + * Construct a CategoryPath. If the category is null, it defaults to "Debug". + */ + public CategoryPath(String category) { + String processedCategory = category; + + if (processedCategory == null) { + processedCategory = "Debug"; + } + + processedCategory = processedCategory.replace('/', '.'); + processedCategory = processedCategory.replace('\\', '.'); + + StringTokenizer st = new StringTokenizer(processedCategory, "."); + while (st.hasMoreTokens()) { + String element = st.nextToken(); + addCategoryElement(new CategoryElement(element)); + } + } + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * returns the number of CategoryElements. + */ + public int size() { + int count = _categoryElements.size(); + + return (count); + } + + public boolean isEmpty() { + boolean empty = false; + + if (_categoryElements.size() == 0) { + empty = true; + } + + return (empty); + } + + + /** + * Removes all categoryElements. + */ + public void removeAllCategoryElements() { + _categoryElements.clear(); + } + + /** + * Adds the specified categoryElement to the end of the categoryElement set. + */ + public void addCategoryElement(CategoryElement categoryElement) { + _categoryElements.addLast(categoryElement); + } + + /** + * Returns the CategoryElement at the specified index. + */ + public CategoryElement categoryElementAt(int index) { + return ((CategoryElement) _categoryElements.get(index)); + } + + + public String toString() { + StringBuffer out = new StringBuffer(100); + + out.append("\n"); + out.append("===========================\n"); + out.append("CategoryPath: \n"); + out.append("---------------------------\n"); + + out.append("\nCategoryPath:\n\t"); + + if (this.size() > 0) { + for (int i = 0; i < this.size(); i++) { + out.append(this.categoryElementAt(i).toString()); + out.append("\n\t"); + } + } else { + out.append("<<NONE>>"); + } + + out.append("\n"); + out.append("===========================\n"); + + return (out.toString()); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.java new file mode 100644 index 00000000000..7323dcc08e5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/categoryexplorer/TreeModelAdapter.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.lf5.viewer.categoryexplorer; + +import javax.swing.event.TreeModelEvent; +import javax.swing.event.TreeModelListener; + +/** + * Default implementation of TreeModelListener which does nothing. + * + * @author Richard Wan + */ + +// Contributed by ThoughtWorks Inc. + +public class TreeModelAdapter implements TreeModelListener { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + public void treeNodesChanged(TreeModelEvent e) { + } + + public void treeNodesInserted(TreeModelEvent e) { + } + + public void treeNodesRemoved(TreeModelEvent e) { + } + + public void treeStructureChanged(TreeModelEvent e) { + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.java new file mode 100644 index 00000000000..a94ffab5fa4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.java @@ -0,0 +1,466 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.configure; + +import java.awt.Color; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.swing.JCheckBoxMenuItem; +import javax.swing.tree.TreePath; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.apache.log4j.lf5.LogLevel; +import org.apache.log4j.lf5.LogLevelFormatException; +import org.apache.log4j.lf5.viewer.LogBrokerMonitor; +import org.apache.log4j.lf5.viewer.LogTable; +import org.apache.log4j.lf5.viewer.LogTableColumn; +import org.apache.log4j.lf5.viewer.LogTableColumnFormatException; +import org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerModel; +import org.apache.log4j.lf5.viewer.categoryexplorer.CategoryExplorerTree; +import org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode; +import org.apache.log4j.lf5.viewer.categoryexplorer.CategoryPath; +import org.w3c.dom.Document; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +/** + * <p>ConfigurationManager handles the storage and retrival of the state of + * the CategoryExplorer + * + * @author Richard Hurst + * @author Brad Marlborough + */ + +// Contributed by ThoughtWorks Inc. + +public class ConfigurationManager extends Object { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + private static final String CONFIG_FILE_NAME = "lf5_configuration.xml"; + private static final String NAME = "name"; + private static final String PATH = "path"; + private static final String SELECTED = "selected"; + private static final String EXPANDED = "expanded"; + private static final String CATEGORY = "category"; + private static final String FIRST_CATEGORY_NAME = "Categories"; + private static final String LEVEL = "level"; + private static final String COLORLEVEL = "colorlevel"; + private static final String RED = "red"; + private static final String GREEN = "green"; + private static final String BLUE = "blue"; + private static final String COLUMN = "column"; + private static final String NDCTEXTFILTER = "searchtext"; + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private LogBrokerMonitor _monitor = null; + private LogTable _table = null; + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + public ConfigurationManager(LogBrokerMonitor monitor, LogTable table) { + super(); + _monitor = monitor; + _table = table; + load(); + } + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + public void save() { + CategoryExplorerModel model = _monitor.getCategoryExplorerTree().getExplorerModel(); + CategoryNode root = model.getRootCategoryNode(); + + StringBuffer xml = new StringBuffer(2048); + openXMLDocument(xml); + openConfigurationXML(xml); + processLogRecordFilter(_monitor.getNDCTextFilter(), xml); + processLogLevels(_monitor.getLogLevelMenuItems(), xml); + processLogLevelColors(_monitor.getLogLevelMenuItems(), + LogLevel.getLogLevelColorMap(), xml); + processLogTableColumns(LogTableColumn.getLogTableColumns(), xml); + processConfigurationNode(root, xml); + closeConfigurationXML(xml); + store(xml.toString()); + } + + public void reset() { + deleteConfigurationFile(); + collapseTree(); + selectAllNodes(); + } + + public static String treePathToString(TreePath path) { + // count begins at one so as to not include the 'Categories' - root category + StringBuffer sb = new StringBuffer(); + CategoryNode n = null; + Object[] objects = path.getPath(); + for (int i = 1; i < objects.length; i++) { + n = (CategoryNode) objects[i]; + if (i > 1) { + sb.append("."); + } + sb.append(n.getTitle()); + } + return sb.toString(); + } + + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + protected void load() { + File file = new File(getFilename()); + if (file.exists()) { + try { + DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory. + newInstance(); + DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); + Document doc = docBuilder.parse(file); + processRecordFilter(doc); + processCategories(doc); + processLogLevels(doc); + processLogLevelColors(doc); + processLogTableColumns(doc); + } catch (Exception e) { + // ignore all error and just continue as if there was no + // configuration xml file but do report a message + System.err.println("Unable process configuration file at " + + getFilename() + ". Error Message=" + e.getMessage()); + } + } + + } + + // Added in version 1.2 - reads in the NDC text filter from the + // xml configuration file. If the value of the filter is not null + // or an empty string ("") then the manager will set the LogBrokerMonitor's + // LogRecordFilter to use the NDC LogRecordFilter. Otherwise, the + // LogBrokerMonitor will use the default LogRecordFilter. + protected void processRecordFilter(Document doc) { + NodeList nodeList = doc.getElementsByTagName(NDCTEXTFILTER); + + // there is only one value stored + Node n = nodeList.item(0); + // add check for backwards compatibility as this feature was added in + // version 1.2 + if (n == null) { + return; + } + + NamedNodeMap map = n.getAttributes(); + String text = getValue(map, NAME); + + if (text == null || text.equals("")) { + return; + } + _monitor.setNDCLogRecordFilter(text); + } + + protected void processCategories(Document doc) { + CategoryExplorerTree tree = _monitor.getCategoryExplorerTree(); + CategoryExplorerModel model = tree.getExplorerModel(); + NodeList nodeList = doc.getElementsByTagName(CATEGORY); + + // determine where the starting node is + NamedNodeMap map = nodeList.item(0).getAttributes(); + int j = (getValue(map, NAME).equalsIgnoreCase(FIRST_CATEGORY_NAME)) ? 1 : 0; + // iterate backwards throught the nodeList so that expansion of the + // list can occur + for (int i = nodeList.getLength() - 1; i >= j; i--) { + Node n = nodeList.item(i); + map = n.getAttributes(); + CategoryNode chnode = model.addCategory(new CategoryPath(getValue(map, PATH))); + chnode.setSelected((getValue(map, SELECTED).equalsIgnoreCase("true")) ? true : false); + if (getValue(map, EXPANDED).equalsIgnoreCase("true")) ; + tree.expandPath(model.getTreePathToRoot(chnode)); + } + + } + + protected void processLogLevels(Document doc) { + NodeList nodeList = doc.getElementsByTagName(LEVEL); + Map menuItems = _monitor.getLogLevelMenuItems(); + + for (int i = 0; i < nodeList.getLength(); i++) { + Node n = nodeList.item(i); + NamedNodeMap map = n.getAttributes(); + String name = getValue(map, NAME); + try { + JCheckBoxMenuItem item = + (JCheckBoxMenuItem) menuItems.get(LogLevel.valueOf(name)); + item.setSelected(getValue(map, SELECTED).equalsIgnoreCase("true")); + } catch (LogLevelFormatException e) { + // ignore it will be on by default. + } + } + } + + protected void processLogLevelColors(Document doc) { + NodeList nodeList = doc.getElementsByTagName(COLORLEVEL); + LogLevel.getLogLevelColorMap(); + + for (int i = 0; i < nodeList.getLength(); i++) { + Node n = nodeList.item(i); + // check for backwards compatibility since this feature was added + // in version 1.3 + if (n == null) { + return; + } + + NamedNodeMap map = n.getAttributes(); + String name = getValue(map, NAME); + try { + LogLevel level = LogLevel.valueOf(name); + int red = Integer.parseInt(getValue(map, RED)); + int green = Integer.parseInt(getValue(map, GREEN)); + int blue = Integer.parseInt(getValue(map, BLUE)); + Color c = new Color(red, green, blue); + if (level != null) { + level.setLogLevelColorMap(level, c); + } + + } catch (LogLevelFormatException e) { + // ignore it will be on by default. + } + } + } + + protected void processLogTableColumns(Document doc) { + NodeList nodeList = doc.getElementsByTagName(COLUMN); + Map menuItems = _monitor.getLogTableColumnMenuItems(); + List selectedColumns = new ArrayList(); + for (int i = 0; i < nodeList.getLength(); i++) { + Node n = nodeList.item(i); + // check for backwards compatibility since this feature was added + // in version 1.3 + if (n == null) { + return; + } + NamedNodeMap map = n.getAttributes(); + String name = getValue(map, NAME); + try { + LogTableColumn column = LogTableColumn.valueOf(name); + JCheckBoxMenuItem item = + (JCheckBoxMenuItem) menuItems.get(column); + item.setSelected(getValue(map, SELECTED).equalsIgnoreCase("true")); + + if (item.isSelected()) { + selectedColumns.add(column); + } + } catch (LogTableColumnFormatException e) { + // ignore it will be on by default. + } + + if (selectedColumns.isEmpty()) { + _table.setDetailedView(); + } else { + _table.setView(selectedColumns); + } + + } + } + + protected String getValue(NamedNodeMap map, String attr) { + Node n = map.getNamedItem(attr); + return n.getNodeValue(); + } + + protected void collapseTree() { + // collapse everything except the first category + CategoryExplorerTree tree = _monitor.getCategoryExplorerTree(); + for (int i = tree.getRowCount() - 1; i > 0; i--) { + tree.collapseRow(i); + } + } + + protected void selectAllNodes() { + CategoryExplorerModel model = _monitor.getCategoryExplorerTree().getExplorerModel(); + CategoryNode root = model.getRootCategoryNode(); + Enumeration all = root.breadthFirstEnumeration(); + CategoryNode n = null; + while (all.hasMoreElements()) { + n = (CategoryNode) all.nextElement(); + n.setSelected(true); + } + } + + protected void store(String s) { + + try { + PrintWriter writer = new PrintWriter(new FileWriter(getFilename())); + writer.print(s); + writer.close(); + } catch (IOException e) { + // do something with this error. + e.printStackTrace(); + } + + } + + protected void deleteConfigurationFile() { + try { + File f = new File(getFilename()); + if (f.exists()) { + f.delete(); + } + } catch (SecurityException e) { + System.err.println("Cannot delete " + getFilename() + + " because a security violation occured."); + } + } + + protected String getFilename() { + String home = System.getProperty("user.home"); + String sep = System.getProperty("file.separator"); + + return home + sep + "lf5" + sep + CONFIG_FILE_NAME; + } + + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + private void processConfigurationNode(CategoryNode node, StringBuffer xml) { + CategoryExplorerModel model = _monitor.getCategoryExplorerTree().getExplorerModel(); + + Enumeration all = node.breadthFirstEnumeration(); + CategoryNode n = null; + while (all.hasMoreElements()) { + n = (CategoryNode) all.nextElement(); + exportXMLElement(n, model.getTreePathToRoot(n), xml); + } + + } + + private void processLogLevels(Map logLevelMenuItems, StringBuffer xml) { + xml.append("\t<loglevels>\r\n"); + Iterator it = logLevelMenuItems.keySet().iterator(); + while (it.hasNext()) { + LogLevel level = (LogLevel) it.next(); + JCheckBoxMenuItem item = (JCheckBoxMenuItem) logLevelMenuItems.get(level); + exportLogLevelXMLElement(level.getLabel(), item.isSelected(), xml); + } + + xml.append("\t</loglevels>\r\n"); + } + + private void processLogLevelColors(Map logLevelMenuItems, Map logLevelColors, StringBuffer xml) { + xml.append("\t<loglevelcolors>\r\n"); + // iterate through the list of log levels being used (log4j, jdk1.4, custom levels) + Iterator it = logLevelMenuItems.keySet().iterator(); + while (it.hasNext()) { + LogLevel level = (LogLevel) it.next(); + // for each level, get the associated color from the log level color map + Color color = (Color) logLevelColors.get(level); + exportLogLevelColorXMLElement(level.getLabel(), color, xml); + } + + xml.append("\t</loglevelcolors>\r\n"); + } + + + private void processLogTableColumns(List logTableColumnMenuItems, StringBuffer xml) { + xml.append("\t<logtablecolumns>\r\n"); + Iterator it = logTableColumnMenuItems.iterator(); + while (it.hasNext()) { + LogTableColumn column = (LogTableColumn) it.next(); + JCheckBoxMenuItem item = _monitor.getTableColumnMenuItem(column); + exportLogTableColumnXMLElement(column.getLabel(), item.isSelected(), xml); + } + + xml.append("\t</logtablecolumns>\r\n"); + } + + // Added in version 1.2 - stores the NDC text filter in the xml file + // for future use. + private void processLogRecordFilter(String text, StringBuffer xml) { + xml.append("\t<").append(NDCTEXTFILTER).append(" "); + xml.append(NAME).append("=\"").append(text).append("\""); + xml.append("/>\r\n"); + } + + private void openXMLDocument(StringBuffer xml) { + xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n"); + } + + private void openConfigurationXML(StringBuffer xml) { + xml.append("<configuration>\r\n"); + } + + private void closeConfigurationXML(StringBuffer xml) { + xml.append("</configuration>\r\n"); + } + + private void exportXMLElement(CategoryNode node, TreePath path, StringBuffer xml) { + CategoryExplorerTree tree = _monitor.getCategoryExplorerTree(); + + xml.append("\t<").append(CATEGORY).append(" "); + xml.append(NAME).append("=\"").append(node.getTitle()).append("\" "); + xml.append(PATH).append("=\"").append(treePathToString(path)).append("\" "); + xml.append(EXPANDED).append("=\"").append(tree.isExpanded(path)).append("\" "); + xml.append(SELECTED).append("=\"").append(node.isSelected()).append("\"/>\r\n"); + } + + private void exportLogLevelXMLElement(String label, boolean selected, StringBuffer xml) { + xml.append("\t\t<").append(LEVEL).append(" ").append(NAME); + xml.append("=\"").append(label).append("\" "); + xml.append(SELECTED).append("=\"").append(selected); + xml.append("\"/>\r\n"); + } + + private void exportLogLevelColorXMLElement(String label, Color color, StringBuffer xml) { + xml.append("\t\t<").append(COLORLEVEL).append(" ").append(NAME); + xml.append("=\"").append(label).append("\" "); + xml.append(RED).append("=\"").append(color.getRed()).append("\" "); + xml.append(GREEN).append("=\"").append(color.getGreen()).append("\" "); + xml.append(BLUE).append("=\"").append(color.getBlue()); + xml.append("\"/>\r\n"); + } + + private void exportLogTableColumnXMLElement(String label, boolean selected, StringBuffer xml) { + xml.append("\t\t<").append(COLUMN).append(" ").append(NAME); + xml.append("=\"").append(label).append("\" "); + xml.append(SELECTED).append("=\"").append(selected); + xml.append("\"/>\r\n"); + } + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces: + //-------------------------------------------------------------------------- + +} + + + + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/configure/MRUFileManager.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/configure/MRUFileManager.java new file mode 100644 index 00000000000..6ff275d4b85 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/lf5/viewer/configure/MRUFileManager.java @@ -0,0 +1,293 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.lf5.viewer.configure; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.net.URL; +import java.util.Iterator; +import java.util.LinkedList; + + +/** + * <p>MRUFileManager handles the storage and retrival the most + * recently opened log files. + * + * @author Brad Marlborough + * @author Richard Hurst + */ + +// Contributed by ThoughtWorks Inc. + +public class MRUFileManager { + //-------------------------------------------------------------------------- + // Constants: + //-------------------------------------------------------------------------- + private static final String CONFIG_FILE_NAME = "mru_file_manager"; + private static final int DEFAULT_MAX_SIZE = 3; + + //-------------------------------------------------------------------------- + // Protected Variables: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Private Variables: + //-------------------------------------------------------------------------- + private int _maxSize = 0; + private LinkedList _mruFileList; + + //-------------------------------------------------------------------------- + // Constructors: + //-------------------------------------------------------------------------- + public MRUFileManager() { + load(); + setMaxSize(DEFAULT_MAX_SIZE); + } + + public MRUFileManager(int maxSize) { + load(); + setMaxSize(maxSize); + } + //-------------------------------------------------------------------------- + // Public Methods: + //-------------------------------------------------------------------------- + + /** + * Saves a list of MRU files out to a file. + */ + public void save() { + File file = new File(getFilename()); + + try { + ObjectOutputStream oos = new ObjectOutputStream(new + FileOutputStream(file)); + oos.writeObject(_mruFileList); + oos.flush(); + oos.close(); + } catch (Exception e) { + // do nothing + e.printStackTrace(); + } + } + + /** + * Gets the size of the MRU file list. + */ + public int size() { + return _mruFileList.size(); + } + + /** + * Returns a particular file name stored in a MRU file + * list based on an index value. + */ + public Object getFile(int index) { + if (index < size()) { + return _mruFileList.get(index); + } + + return null; + } + + /** + * Returns a input stream to the resource at the specified index + */ + public InputStream getInputStream(int index) throws IOException, + FileNotFoundException { + if (index < size()) { + Object o = getFile(index); + if (o instanceof File) { + return getInputStream((File) o); + } else { + return getInputStream((URL) o); + } + } + return null; + } + + /** + * Adds a file name to the MRU file list. + */ + public void set(File file) { + setMRU(file); + } + + /** + * Adds a url to the MRU file list. + */ + public void set(URL url) { + setMRU(url); + } + + /** + * Gets the list of files stored in the MRU file list. + */ + public String[] getMRUFileList() { + if (size() == 0) { + return null; + } + + String[] ss = new String[size()]; + + for (int i = 0; i < size(); i++) { + Object o = getFile(i); + if (o instanceof File) { + ss[i] = ((File) o).getAbsolutePath(); + } else // must be a url + { + ss[i] = o.toString(); + } + + } + + return ss; + } + + /** + * Moves the the index to the top of the MRU List + * + * @param index The index to be first in the mru list + */ + public void moveToTop(int index) { + _mruFileList.add(0, _mruFileList.remove(index)); + } + + /** + * Creates the directory where the MRU file list will be written. + * The "lf5" directory is created in the Documents and Settings + * directory on Windows 2000 machines and where ever the user.home + * variable points on all other platforms. + */ + public static void createConfigurationDirectory() { + String home = System.getProperty("user.home"); + String sep = System.getProperty("file.separator"); + File f = new File(home + sep + "lf5"); + if (!f.exists()) { + try { + f.mkdir(); + } catch (SecurityException e) { + e.printStackTrace(); + } + } + + } + //-------------------------------------------------------------------------- + // Protected Methods: + //-------------------------------------------------------------------------- + /** + * Gets an input stream for the corresponding file. + * + * @param file The file to create the input stream from. + * @return InputStream + */ + protected InputStream getInputStream(File file) throws IOException, + FileNotFoundException { + BufferedInputStream reader = + new BufferedInputStream(new FileInputStream(file)); + + return reader; + } + + /** + * Gets an input stream for the corresponding URL. + * + * @param url The url to create the input stream from. + * @return InputStream + */ + protected InputStream getInputStream(URL url) throws IOException { + return url.openStream(); + } + + /** + * Adds an object to the mru. + */ + protected void setMRU(Object o) { + int index = _mruFileList.indexOf(o); + + if (index == -1) { + _mruFileList.add(0, o); + setMaxSize(_maxSize); + } else { + moveToTop(index); + } + } + + /** + * Loads the MRU file list in from a file and stores it in a LinkedList. + * If no file exists, a new LinkedList is created. + */ + protected void load() { + createConfigurationDirectory(); + File file = new File(getFilename()); + if (file.exists()) { + try { + ObjectInputStream ois = new ObjectInputStream( + new FileInputStream(file)); + _mruFileList = (LinkedList) ois.readObject(); + ois.close(); + + // check that only files and url are in linked list + Iterator it = _mruFileList.iterator(); + while (it.hasNext()) { + Object o = it.next(); + if (!(o instanceof File) && !(o instanceof URL)) { + it.remove(); + } + } + } catch (Exception e) { + _mruFileList = new LinkedList(); + } + } else { + _mruFileList = new LinkedList(); + } + + } + + protected String getFilename() { + String home = System.getProperty("user.home"); + String sep = System.getProperty("file.separator"); + + return home + sep + "lf5" + sep + CONFIG_FILE_NAME; + } + + /** + * Ensures that the MRU list will have a MaxSize. + */ + protected void setMaxSize(int maxSize) { + if (maxSize < _mruFileList.size()) { + for (int i = 0; i < _mruFileList.size() - maxSize; i++) { + _mruFileList.removeLast(); + } + } + + _maxSize = maxSize; + } + //-------------------------------------------------------------------------- + // Private Methods: + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + // Nested Top-Level Classes or Interfaces + //-------------------------------------------------------------------------- +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/JMSAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/JMSAppender.java new file mode 100644 index 00000000000..60bd5d0beb5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/JMSAppender.java @@ -0,0 +1,444 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.spi.ErrorCode; +import org.apache.log4j.spi.LoggingEvent; + +import javax.jms.JMSException; +import javax.jms.ObjectMessage; +import javax.jms.Session; +import javax.jms.Topic; +import javax.jms.TopicConnection; +import javax.jms.TopicConnectionFactory; +import javax.jms.TopicPublisher; +import javax.jms.TopicSession; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NameNotFoundException; +import javax.naming.NamingException; +import java.util.Properties; + +/** + * A simple appender that publishes events to a JMS Topic. The events + * are serialized and transmitted as JMS message type {@link + * ObjectMessage}. + + * <p>JMS {@link Topic topics} and {@link TopicConnectionFactory topic + * connection factories} are administered objects that are retrieved + * using JNDI messaging which in turn requires the retreival of a JNDI + * {@link Context}. + + * <p>There are two common methods for retrieving a JNDI {@link + * Context}. If a file resource named <em>jndi.properties</em> is + * available to the JNDI API, it will use the information found + * therein to retrieve an initial JNDI context. To obtain an initial + * context, your code will simply call: + + <pre> + InitialContext jndiContext = new InitialContext(); + </pre> + + * <p>Calling the no-argument <code>InitialContext()</code> method + * will also work from within Enterprise Java Beans (EJBs) because it + * is part of the EJB contract for application servers to provide each + * bean an environment naming context (ENC). + + * <p>In the second approach, several predetermined properties are set + * and these properties are passed to the <code>InitialContext</code> + * contructor to connect to the naming service provider. For example, + * to connect to JBoss naming service one would write: + +<pre> + Properties env = new Properties( ); + env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); + env.put(Context.PROVIDER_URL, "jnp://hostname:1099"); + env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); + InitialContext jndiContext = new InitialContext(env); +</pre> + + * where <em>hostname</em> is the host where the JBoss applicaiton + * server is running. + * + * <p>To connect to the the naming service of Weblogic application + * server one would write: + +<pre> + Properties env = new Properties( ); + env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); + env.put(Context.PROVIDER_URL, "t3://localhost:7001"); + InitialContext jndiContext = new InitialContext(env); +</pre> + + * <p>Other JMS providers will obviously require different values. + * + * The initial JNDI context can be obtained by calling the + * no-argument <code>InitialContext()</code> method in EJBs. Only + * clients running in a separate JVM need to be concerned about the + * <em>jndi.properties</em> file and calling {@link + * InitialContext#InitialContext()} or alternatively correctly + * setting the different properties before calling {@link + * InitialContext#InitialContext(java.util.Hashtable)} method. + + + @author Ceki G&uuml;lc&uuml; */ +public class JMSAppender extends AppenderSkeleton { + + String securityPrincipalName; + String securityCredentials; + String initialContextFactoryName; + String urlPkgPrefixes; + String providerURL; + String topicBindingName; + String tcfBindingName; + String userName; + String password; + boolean locationInfo; + + TopicConnection topicConnection; + TopicSession topicSession; + TopicPublisher topicPublisher; + + public + JMSAppender() { + } + + /** + The <b>TopicConnectionFactoryBindingName</b> option takes a + string value. Its value will be used to lookup the appropriate + <code>TopicConnectionFactory</code> from the JNDI context. + */ + public + void setTopicConnectionFactoryBindingName(String tcfBindingName) { + this.tcfBindingName = tcfBindingName; + } + + /** + Returns the value of the <b>TopicConnectionFactoryBindingName</b> option. + */ + public + String getTopicConnectionFactoryBindingName() { + return tcfBindingName; + } + + /** + The <b>TopicBindingName</b> option takes a + string value. Its value will be used to lookup the appropriate + <code>Topic</code> from the JNDI context. + */ + public + void setTopicBindingName(String topicBindingName) { + this.topicBindingName = topicBindingName; + } + + /** + Returns the value of the <b>TopicBindingName</b> option. + */ + public + String getTopicBindingName() { + return topicBindingName; + } + + + /** + Returns value of the <b>LocationInfo</b> property which + determines whether location (stack) info is sent to the remote + subscriber. */ + public + boolean getLocationInfo() { + return locationInfo; + } + + /** + * Options are activated and become effective only after calling + * this method.*/ + public void activateOptions() { + TopicConnectionFactory topicConnectionFactory; + + try { + Context jndi; + + LogLog.debug("Getting initial context."); + if(initialContextFactoryName != null) { + Properties env = new Properties( ); + env.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactoryName); + if(providerURL != null) { + env.put(Context.PROVIDER_URL, providerURL); + } else { + LogLog.warn("You have set InitialContextFactoryName option but not the " + +"ProviderURL. This is likely to cause problems."); + } + if(urlPkgPrefixes != null) { + env.put(Context.URL_PKG_PREFIXES, urlPkgPrefixes); + } + + if(securityPrincipalName != null) { + env.put(Context.SECURITY_PRINCIPAL, securityPrincipalName); + if(securityCredentials != null) { + env.put(Context.SECURITY_CREDENTIALS, securityCredentials); + } else { + LogLog.warn("You have set SecurityPrincipalName option but not the " + +"SecurityCredentials. This is likely to cause problems."); + } + } + jndi = new InitialContext(env); + } else { + jndi = new InitialContext(); + } + + LogLog.debug("Looking up ["+tcfBindingName+"]"); + topicConnectionFactory = (TopicConnectionFactory) lookup(jndi, tcfBindingName); + LogLog.debug("About to create TopicConnection."); + if(userName != null) { + topicConnection = topicConnectionFactory.createTopicConnection(userName, + password); + } else { + topicConnection = topicConnectionFactory.createTopicConnection(); + } + + LogLog.debug("Creating TopicSession, non-transactional, " + +"in AUTO_ACKNOWLEDGE mode."); + topicSession = topicConnection.createTopicSession(false, + Session.AUTO_ACKNOWLEDGE); + + LogLog.debug("Looking up topic name ["+topicBindingName+"]."); + Topic topic = (Topic) lookup(jndi, topicBindingName); + + LogLog.debug("Creating TopicPublisher."); + topicPublisher = topicSession.createPublisher(topic); + + LogLog.debug("Starting TopicConnection."); + topicConnection.start(); + + jndi.close(); + } catch(JMSException e) { + errorHandler.error("Error while activating options for appender named ["+name+ + "].", e, ErrorCode.GENERIC_FAILURE); + } catch(NamingException e) { + errorHandler.error("Error while activating options for appender named ["+name+ + "].", e, ErrorCode.GENERIC_FAILURE); + } catch(RuntimeException e) { + errorHandler.error("Error while activating options for appender named ["+name+ + "].", e, ErrorCode.GENERIC_FAILURE); + } + } + + protected Object lookup(Context ctx, String name) throws NamingException { + try { + return ctx.lookup(name); + } catch(NameNotFoundException e) { + LogLog.error("Could not find name ["+name+"]."); + throw e; + } + } + + protected boolean checkEntryConditions() { + String fail = null; + + if(this.topicConnection == null) { + fail = "No TopicConnection"; + } else if(this.topicSession == null) { + fail = "No TopicSession"; + } else if(this.topicPublisher == null) { + fail = "No TopicPublisher"; + } + + if(fail != null) { + errorHandler.error(fail +" for JMSAppender named ["+name+"]."); + return false; + } else { + return true; + } + } + + /** + Close this JMSAppender. Closing releases all resources used by the + appender. A closed appender cannot be re-opened. */ + public synchronized void close() { + // The synchronized modifier avoids concurrent append and close operations + + if(this.closed) + return; + + LogLog.debug("Closing appender ["+name+"]."); + this.closed = true; + + try { + if(topicSession != null) + topicSession.close(); + if(topicConnection != null) + topicConnection.close(); + } catch(JMSException e) { + LogLog.error("Error while closing JMSAppender ["+name+"].", e); + } catch(RuntimeException e) { + LogLog.error("Error while closing JMSAppender ["+name+"].", e); + } + // Help garbage collection + topicPublisher = null; + topicSession = null; + topicConnection = null; + } + + /** + This method called by {@link AppenderSkeleton#doAppend} method to + do most of the real appending work. */ + public void append(LoggingEvent event) { + if(!checkEntryConditions()) { + return; + } + + try { + ObjectMessage msg = topicSession.createObjectMessage(); + if(locationInfo) { + event.getLocationInformation(); + } + msg.setObject(event); + topicPublisher.publish(msg); + } catch(JMSException e) { + errorHandler.error("Could not publish message in JMSAppender ["+name+"].", e, + ErrorCode.GENERIC_FAILURE); + } catch(RuntimeException e) { + errorHandler.error("Could not publish message in JMSAppender ["+name+"].", e, + ErrorCode.GENERIC_FAILURE); + } + } + + /** + * Returns the value of the <b>InitialContextFactoryName</b> option. + * See {@link #setInitialContextFactoryName} for more details on the + * meaning of this option. + * */ + public String getInitialContextFactoryName() { + return initialContextFactoryName; + } + + /** + * Setting the <b>InitialContextFactoryName</b> method will cause + * this <code>JMSAppender</code> instance to use the {@link + * InitialContext#InitialContext(Hashtable)} method instead of the + * no-argument constructor. If you set this option, you should also + * at least set the <b>ProviderURL</b> option. + * + * <p>See also {@link #setProviderURL(String)}. + * */ + public void setInitialContextFactoryName(String initialContextFactoryName) { + this.initialContextFactoryName = initialContextFactoryName; + } + + public String getProviderURL() { + return providerURL; + } + + public void setProviderURL(String providerURL) { + this.providerURL = providerURL; + } + + String getURLPkgPrefixes( ) { + return urlPkgPrefixes; + } + + public void setURLPkgPrefixes(String urlPkgPrefixes ) { + this.urlPkgPrefixes = urlPkgPrefixes; + } + + public String getSecurityCredentials() { + return securityCredentials; + } + + public void setSecurityCredentials(String securityCredentials) { + this.securityCredentials = securityCredentials; + } + + + public String getSecurityPrincipalName() { + return securityPrincipalName; + } + + public void setSecurityPrincipalName(String securityPrincipalName) { + this.securityPrincipalName = securityPrincipalName; + } + + public String getUserName() { + return userName; + } + + /** + * The user name to use when {@link + * TopicConnectionFactory#createTopicConnection(String, String) + * creating a topic session}. If you set this option, you should + * also set the <b>Password</b> option. See {@link + * #setPassword(String)}. + * */ + public void setUserName(String userName) { + this.userName = userName; + } + + public String getPassword() { + return password; + } + + /** + * The paswword to use when creating a topic session. + */ + public void setPassword(String password) { + this.password = password; + } + + + /** + If true, the information sent to the remote subscriber will + include caller's location information. By default no location + information is sent to the subscriber. */ + public void setLocationInfo(boolean locationInfo) { + this.locationInfo = locationInfo; + } + + /** + * Returns the TopicConnection used for this appender. Only valid after + * activateOptions() method has been invoked. + */ + protected TopicConnection getTopicConnection() { + return topicConnection; + } + + /** + * Returns the TopicSession used for this appender. Only valid after + * activateOptions() method has been invoked. + */ + protected TopicSession getTopicSession() { + return topicSession; + } + + /** + * Returns the TopicPublisher used for this appender. Only valid after + * activateOptions() method has been invoked. + */ + protected TopicPublisher getTopicPublisher() { + return topicPublisher; + } + + /** + * The JMSAppender sends serialized events and consequently does not + * require a layout. + */ + public boolean requiresLayout() { + return false; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/JMSSink.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/JMSSink.java new file mode 100644 index 00000000000..6a02831e1ae --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/JMSSink.java @@ -0,0 +1,153 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.xml.DOMConfigurator; + +import javax.jms.JMSException; +import javax.jms.ObjectMessage; +import javax.jms.Session; +import javax.jms.Topic; +import javax.jms.TopicConnection; +import javax.jms.TopicConnectionFactory; +import javax.jms.TopicSession; +import javax.jms.TopicSubscriber; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NameNotFoundException; +import javax.naming.NamingException; +import java.io.BufferedReader; +import java.io.InputStreamReader; + +/** + * A simple application that consumes logging events sent by a {@link + * JMSAppender}. + * + * + * @author Ceki G&uuml;lc&uuml; + * */ +public class JMSSink implements javax.jms.MessageListener { + + static Logger logger = Logger.getLogger(JMSSink.class); + + static public void main(String[] args) throws Exception { + if(args.length != 5) { + usage("Wrong number of arguments."); + } + + String tcfBindingName = args[0]; + String topicBindingName = args[1]; + String username = args[2]; + String password = args[3]; + + + String configFile = args[4]; + + if(configFile.endsWith(".xml")) { + DOMConfigurator.configure(configFile); + } else { + PropertyConfigurator.configure(configFile); + } + + new JMSSink(tcfBindingName, topicBindingName, username, password); + + BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); + // Loop until the word "exit" is typed + System.out.println("Type \"exit\" to quit JMSSink."); + while(true){ + String s = stdin.readLine( ); + if (s.equalsIgnoreCase("exit")) { + System.out.println("Exiting. Kill the application if it does not exit " + + "due to daemon threads."); + return; + } + } + } + + public JMSSink( String tcfBindingName, String topicBindingName, String username, + String password) { + + try { + Context ctx = new InitialContext(); + TopicConnectionFactory topicConnectionFactory; + topicConnectionFactory = (TopicConnectionFactory) lookup(ctx, + tcfBindingName); + + TopicConnection topicConnection = + topicConnectionFactory.createTopicConnection(username, + password); + topicConnection.start(); + + TopicSession topicSession = topicConnection.createTopicSession(false, + Session.AUTO_ACKNOWLEDGE); + + Topic topic = (Topic)ctx.lookup(topicBindingName); + + TopicSubscriber topicSubscriber = topicSession.createSubscriber(topic); + + topicSubscriber.setMessageListener(this); + + } catch(JMSException e) { + logger.error("Could not read JMS message.", e); + } catch(NamingException e) { + logger.error("Could not read JMS message.", e); + } catch(RuntimeException e) { + logger.error("Could not read JMS message.", e); + } + } + + public void onMessage(javax.jms.Message message) { + LoggingEvent event; + Logger remoteLogger; + + try { + if(message instanceof ObjectMessage) { + ObjectMessage objectMessage = (ObjectMessage) message; + event = (LoggingEvent) objectMessage.getObject(); + remoteLogger = Logger.getLogger(event.getLoggerName()); + remoteLogger.callAppenders(event); + } else { + logger.warn("Received message is of type "+message.getJMSType() + +", was expecting ObjectMessage."); + } + } catch(JMSException jmse) { + logger.error("Exception thrown while processing incoming message.", + jmse); + } + } + + + protected static Object lookup(Context ctx, String name) throws NamingException { + try { + return ctx.lookup(name); + } catch(NameNotFoundException e) { + logger.error("Could not find name ["+name+"]."); + throw e; + } + } + + static void usage(String msg) { + System.err.println(msg); + System.err.println("Usage: java " + JMSSink.class.getName() + + " TopicConnectionFactoryBindingName TopicBindingName username password configFile"); + System.exit(1); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SMTPAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SMTPAppender.java new file mode 100644 index 00000000000..73504747380 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SMTPAppender.java @@ -0,0 +1,787 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.Layout; +import org.apache.log4j.Level; +import org.apache.log4j.helpers.CyclicBuffer; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.spi.ErrorCode; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.OptionHandler; +import org.apache.log4j.spi.TriggeringEventEvaluator; +import org.apache.log4j.xml.UnrecognizedElementHandler; +import org.w3c.dom.Element; + +import javax.mail.Authenticator; +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.Multipart; +import javax.mail.PasswordAuthentication; +import javax.mail.Session; +import javax.mail.Transport; +import javax.mail.internet.AddressException; +import javax.mail.internet.InternetAddress; +import javax.mail.internet.InternetHeaders; +import javax.mail.internet.MimeBodyPart; +import javax.mail.internet.MimeMessage; +import javax.mail.internet.MimeMultipart; +import javax.mail.internet.MimeUtility; +import java.io.ByteArrayOutputStream; +import java.io.OutputStreamWriter; +import java.io.UnsupportedEncodingException; +import java.io.Writer; +import java.util.Date; +import java.util.Properties; + +/** + Send an e-mail when a specific logging event occurs, typically on + errors or fatal errors. + + <p>The number of logging events delivered in this e-mail depend on + the value of <b>BufferSize</b> option. The + <code>SMTPAppender</code> keeps only the last + <code>BufferSize</code> logging events in its cyclic buffer. This + keeps memory requirements at a reasonable level while still + delivering useful application context. + + By default, an email message will be sent when an ERROR or higher + severity message is appended. The triggering criteria can be + modified by setting the evaluatorClass property with the name + of a class implementing TriggeringEventEvaluator, setting the evaluator + property with an instance of TriggeringEventEvaluator or + nesting a triggeringPolicy element where the specified + class implements TriggeringEventEvaluator. + + This class has implemented UnrecognizedElementHandler since 1.2.15. + + Since 1.2.16, SMTP over SSL is supported by setting SMTPProtocol to "smpts". + + @author Ceki G&uuml;lc&uuml; + @since 1.0 */ +public class SMTPAppender extends AppenderSkeleton + implements UnrecognizedElementHandler { + private String to; + /** + * Comma separated list of cc recipients. + */ + private String cc; + /** + * Comma separated list of bcc recipients. + */ + private String bcc; + private String from; + /** + * Comma separated list of replyTo addresses. + */ + private String replyTo; + private String subject; + private String smtpHost; + private String smtpUsername; + private String smtpPassword; + private String smtpProtocol; + private int smtpPort = -1; + private boolean smtpDebug = false; + private int bufferSize = 512; + private boolean locationInfo = false; + private boolean sendOnClose = false; + + protected CyclicBuffer cb = new CyclicBuffer(bufferSize); + protected Message msg; + + protected TriggeringEventEvaluator evaluator; + + + + /** + The default constructor will instantiate the appender with a + {@link TriggeringEventEvaluator} that will trigger on events with + level ERROR or higher.*/ + public + SMTPAppender() { + this(new DefaultEvaluator()); + } + + + /** + Use <code>evaluator</code> passed as parameter as the {@link + TriggeringEventEvaluator} for this SMTPAppender. */ + public + SMTPAppender(TriggeringEventEvaluator evaluator) { + this.evaluator = evaluator; + } + + + /** + Activate the specified options, such as the smtp host, the + recipient, from, etc. */ + public + void activateOptions() { + Session session = createSession(); + msg = new MimeMessage(session); + + try { + addressMessage(msg); + if(subject != null) { + try { + msg.setSubject(MimeUtility.encodeText(subject, "UTF-8", null)); + } catch(UnsupportedEncodingException ex) { + LogLog.error("Unable to encode SMTP subject", ex); + } + } + } catch(MessagingException e) { + LogLog.error("Could not activate SMTPAppender options.", e ); + } + + if (evaluator instanceof OptionHandler) { + ((OptionHandler) evaluator).activateOptions(); + } + } + + /** + * Address message. + * @param msg message, may not be null. + * @throws MessagingException thrown if error addressing message. + * @since 1.2.14 + */ + protected void addressMessage(final Message msg) throws MessagingException { + if (from != null) { + msg.setFrom(getAddress(from)); + } else { + msg.setFrom(); + } + + //Add ReplyTo addresses if defined. + if (replyTo != null && replyTo.length() > 0) { + msg.setReplyTo(parseAddress(replyTo)); + } + + if (to != null && to.length() > 0) { + msg.setRecipients(Message.RecipientType.TO, parseAddress(to)); + } + + //Add CC receipients if defined. + if (cc != null && cc.length() > 0) { + msg.setRecipients(Message.RecipientType.CC, parseAddress(cc)); + } + + //Add BCC receipients if defined. + if (bcc != null && bcc.length() > 0) { + msg.setRecipients(Message.RecipientType.BCC, parseAddress(bcc)); + } + } + + /** + * Create mail session. + * @return mail session, may not be null. + * @since 1.2.14 + */ + protected Session createSession() { + Properties props = null; + try { + props = new Properties (System.getProperties()); + } catch(SecurityException ex) { + props = new Properties(); + } + + String prefix = "mail.smtp"; + if (smtpProtocol != null) { + props.put("mail.transport.protocol", smtpProtocol); + prefix = "mail." + smtpProtocol; + } + if (smtpHost != null) { + props.put(prefix + ".host", smtpHost); + } + if (smtpPort > 0) { + props.put(prefix + ".port", String.valueOf(smtpPort)); + } + + Authenticator auth = null; + if(smtpPassword != null && smtpUsername != null) { + props.put(prefix + ".auth", "true"); + auth = new Authenticator() { + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(smtpUsername, smtpPassword); + } + }; + } + Session session = Session.getInstance(props, auth); + if (smtpProtocol != null) { + session.setProtocolForAddress("rfc822", smtpProtocol); + } + if (smtpDebug) { + session.setDebug(smtpDebug); + } + return session; + } + + /** + Perform SMTPAppender specific appending actions, mainly adding + the event to a cyclic buffer and checking if the event triggers + an e-mail to be sent. */ + public + void append(LoggingEvent event) { + + if(!checkEntryConditions()) { + return; + } + + event.getThreadName(); + event.getNDC(); + event.getMDCCopy(); + if(locationInfo) { + event.getLocationInformation(); + } + event.getRenderedMessage(); + event.getThrowableStrRep(); + cb.add(event); + if(evaluator.isTriggeringEvent(event)) { + sendBuffer(); + } + } + + /** + This method determines if there is a sense in attempting to append. + + <p>It checks whether there is a set output target and also if + there is a set layout. If these checks fail, then the boolean + value <code>false</code> is returned. */ + protected + boolean checkEntryConditions() { + if(this.msg == null) { + errorHandler.error("Message object not configured."); + return false; + } + + if(this.evaluator == null) { + errorHandler.error("No TriggeringEventEvaluator is set for appender ["+ + name+"]."); + return false; + } + + + if(this.layout == null) { + errorHandler.error("No layout set for appender named ["+name+"]."); + return false; + } + return true; + } + + + synchronized + public + void close() { + this.closed = true; + if (sendOnClose && cb.length() > 0) { + sendBuffer(); + } + } + + InternetAddress getAddress(String addressStr) { + try { + return new InternetAddress(addressStr); + } catch(AddressException e) { + errorHandler.error("Could not parse address ["+addressStr+"].", e, + ErrorCode.ADDRESS_PARSE_FAILURE); + return null; + } + } + + InternetAddress[] parseAddress(String addressStr) { + try { + return InternetAddress.parse(addressStr, true); + } catch(AddressException e) { + errorHandler.error("Could not parse address ["+addressStr+"].", e, + ErrorCode.ADDRESS_PARSE_FAILURE); + return null; + } + } + + /** + Returns value of the <b>To</b> option. + */ + public + String getTo() { + return to; + } + + + /** + The <code>SMTPAppender</code> requires a {@link + org.apache.log4j.Layout layout}. */ + public + boolean requiresLayout() { + return true; + } + + /** + * Layout body of email message. + * @since 1.2.16 + */ + protected String formatBody() { + + // Note: this code already owns the monitor for this + // appender. This frees us from needing to synchronize on 'cb'. + + StringBuffer sbuf = new StringBuffer(); + String t = layout.getHeader(); + if(t != null) + sbuf.append(t); + int len = cb.length(); + for(int i = 0; i < len; i++) { + //sbuf.append(MimeUtility.encodeText(layout.format(cb.get()))); + LoggingEvent event = cb.get(); + sbuf.append(layout.format(event)); + if(layout.ignoresThrowable()) { + String[] s = event.getThrowableStrRep(); + if (s != null) { + for(int j = 0; j < s.length; j++) { + sbuf.append(s[j]); + sbuf.append(Layout.LINE_SEP); + } + } + } + } + t = layout.getFooter(); + if(t != null) { + sbuf.append(t); + } + + return sbuf.toString(); + } + + /** + Send the contents of the cyclic buffer as an e-mail message. + */ + protected + void sendBuffer() { + + try { + String s = formatBody(); + boolean allAscii = true; + for(int i = 0; i < s.length() && allAscii; i++) { + allAscii = s.charAt(i) <= 0x7F; + } + MimeBodyPart part; + if (allAscii) { + part = new MimeBodyPart(); + part.setContent(s, layout.getContentType()); + } else { + try { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + Writer writer = new OutputStreamWriter( + MimeUtility.encode(os, "quoted-printable"), "UTF-8"); + writer.write(s); + writer.close(); + InternetHeaders headers = new InternetHeaders(); + headers.setHeader("Content-Type", layout.getContentType() + "; charset=UTF-8"); + headers.setHeader("Content-Transfer-Encoding", "quoted-printable"); + part = new MimeBodyPart(headers, os.toByteArray()); + } catch(Exception ex) { + StringBuffer sbuf = new StringBuffer(s); + for (int i = 0; i < sbuf.length(); i++) { + if (sbuf.charAt(i) >= 0x80) { + sbuf.setCharAt(i, '?'); + } + } + part = new MimeBodyPart(); + part.setContent(sbuf.toString(), layout.getContentType()); + } + } + + + + Multipart mp = new MimeMultipart(); + mp.addBodyPart(part); + msg.setContent(mp); + + msg.setSentDate(new Date()); + Transport.send(msg); + } catch(MessagingException e) { + LogLog.error("Error occured while sending e-mail notification.", e); + } catch(RuntimeException e) { + LogLog.error("Error occured while sending e-mail notification.", e); + } + } + + + + /** + Returns value of the <b>EvaluatorClass</b> option. + */ + public + String getEvaluatorClass() { + return evaluator == null ? null : evaluator.getClass().getName(); + } + + /** + Returns value of the <b>From</b> option. + */ + public + String getFrom() { + return from; + } + + /** + Get the reply addresses. + @return reply addresses as comma separated string, may be null. + @since 1.2.16 + */ + public + String getReplyTo() { + return replyTo; + } + + /** + Returns value of the <b>Subject</b> option. + */ + public + String getSubject() { + return subject; + } + + /** + The <b>From</b> option takes a string value which should be a + e-mail address of the sender. + */ + public + void setFrom(String from) { + this.from = from; + } + + /** + Set the e-mail addresses to which replies should be directed. + @param addresses reply addresses as comma separated string, may be null. + @since 1.2.16 + */ + public + void setReplyTo(final String addresses) { + this.replyTo = addresses; + } + + + /** + The <b>Subject</b> option takes a string value which should be a + the subject of the e-mail message. + */ + public + void setSubject(String subject) { + this.subject = subject; + } + + + /** + The <b>BufferSize</b> option takes a positive integer + representing the maximum number of logging events to collect in a + cyclic buffer. When the <code>BufferSize</code> is reached, + oldest events are deleted as new events are added to the + buffer. By default the size of the cyclic buffer is 512 events. + */ + public + void setBufferSize(int bufferSize) { + this.bufferSize = bufferSize; + cb.resize(bufferSize); + } + + /** + The <b>SMTPHost</b> option takes a string value which should be a + the host name of the SMTP server that will send the e-mail message. + */ + public + void setSMTPHost(String smtpHost) { + this.smtpHost = smtpHost; + } + + /** + Returns value of the <b>SMTPHost</b> option. + */ + public + String getSMTPHost() { + return smtpHost; + } + + /** + The <b>To</b> option takes a string value which should be a + comma separated list of e-mail address of the recipients. + */ + public + void setTo(String to) { + this.to = to; + } + + + + /** + Returns value of the <b>BufferSize</b> option. + */ + public + int getBufferSize() { + return bufferSize; + } + + /** + The <b>EvaluatorClass</b> option takes a string value + representing the name of the class implementing the {@link + TriggeringEventEvaluator} interface. A corresponding object will + be instantiated and assigned as the triggering event evaluator + for the SMTPAppender. + */ + public + void setEvaluatorClass(String value) { + evaluator = (TriggeringEventEvaluator) + OptionConverter.instantiateByClassName(value, + TriggeringEventEvaluator.class, + evaluator); + } + + + /** + The <b>LocationInfo</b> option takes a boolean value. By + default, it is set to false which means there will be no effort + to extract the location information related to the event. As a + result, the layout that formats the events as they are sent out + in an e-mail is likely to place the wrong location information + (if present in the format). + + <p>Location information extraction is comparatively very slow and + should be avoided unless performance is not a concern. + */ + public + void setLocationInfo(boolean locationInfo) { + this.locationInfo = locationInfo; + } + + /** + Returns value of the <b>LocationInfo</b> option. + */ + public + boolean getLocationInfo() { + return locationInfo; + } + + /** + Set the cc recipient addresses. + @param addresses recipient addresses as comma separated string, may be null. + @since 1.2.14 + */ + public void setCc(final String addresses) { + this.cc = addresses; + } + + /** + Get the cc recipient addresses. + @return recipient addresses as comma separated string, may be null. + @since 1.2.14 + */ + public String getCc() { + return cc; + } + + /** + Set the bcc recipient addresses. + @param addresses recipient addresses as comma separated string, may be null. + @since 1.2.14 + */ + public void setBcc(final String addresses) { + this.bcc = addresses; + } + + /** + Get the bcc recipient addresses. + @return recipient addresses as comma separated string, may be null. + @since 1.2.14 + */ + public String getBcc() { + return bcc; + } + + /** + * The <b>SmtpPassword</b> option takes a string value which should be the password required to authenticate against + * the mail server. + * @param password password, may be null. + * @since 1.2.14 + */ + public void setSMTPPassword(final String password) { + this.smtpPassword = password; + } + + /** + * The <b>SmtpUsername</b> option takes a string value which should be the username required to authenticate against + * the mail server. + * @param username user name, may be null. + * @since 1.2.14 + */ + public void setSMTPUsername(final String username) { + this.smtpUsername = username; + } + + /** + * Setting the <b>SmtpDebug</b> option to true will cause the mail session to log its server interaction to stdout. + * This can be useful when debuging the appender but should not be used during production because username and + * password information is included in the output. + * @param debug debug flag. + * @since 1.2.14 + */ + public void setSMTPDebug(final boolean debug) { + this.smtpDebug = debug; + } + + /** + * Get SMTP password. + * @return SMTP password, may be null. + * @since 1.2.14 + */ + public String getSMTPPassword() { + return smtpPassword; + } + + /** + * Get SMTP user name. + * @return SMTP user name, may be null. + * @since 1.2.14 + */ + public String getSMTPUsername() { + return smtpUsername; + } + + /** + * Get SMTP debug. + * @return SMTP debug flag. + * @since 1.2.14 + */ + public boolean getSMTPDebug() { + return smtpDebug; + } + + /** + * Sets triggering evaluator. + * @param trigger triggering event evaluator. + * @since 1.2.15 + */ + public final void setEvaluator(final TriggeringEventEvaluator trigger) { + if (trigger == null) { + throw new NullPointerException("trigger"); + } + this.evaluator = trigger; + } + + /** + * Get triggering evaluator. + * @return triggering event evaluator. + * @since 1.2.15 + */ + public final TriggeringEventEvaluator getEvaluator() { + return evaluator; + } + + /** {@inheritDoc} + * @since 1.2.15 + */ + public boolean parseUnrecognizedElement(final Element element, + final Properties props) throws Exception { + if ("triggeringPolicy".equals(element.getNodeName())) { + Object triggerPolicy = + org.apache.log4j.xml.DOMConfigurator.parseElement( + element, props, TriggeringEventEvaluator.class); + if (triggerPolicy instanceof TriggeringEventEvaluator) { + setEvaluator((TriggeringEventEvaluator) triggerPolicy); + } + return true; + } + + return false; + } + + /** + * Get transport protocol. + * Typically null or "smtps". + * + * @return transport protocol, may be null. + * @since 1.2.16 + */ + public final String getSMTPProtocol() { + return smtpProtocol; + } + + /** + * Set transport protocol. + * Typically null or "smtps". + * + * @param val transport protocol, may be null. + * @since 1.2.16 + */ + public final void setSMTPProtocol(final String val) { + smtpProtocol = val; + } + + /** + * Get port. + * + * @return port, negative values indicate use of default ports for protocol. + * @since 1.2.16 + */ + public final int getSMTPPort() { + return smtpPort; + } + + /** + * Set port. + * + * @param val port, negative values indicate use of default ports for protocol. + * @since 1.2.16 + */ + public final void setSMTPPort(final int val) { + smtpPort = val; + } + + /** + * Get sendOnClose. + * + * @return if true all buffered logging events will be sent when the appender is closed. + * @since 1.2.16 + */ + public final boolean getSendOnClose() { + return sendOnClose; + } + + /** + * Set sendOnClose. + * + * @param val if true all buffered logging events will be sent when appender is closed. + * @since 1.2.16 + */ + public final void setSendOnClose(final boolean val) { + sendOnClose = val; + } + +} + +class DefaultEvaluator implements TriggeringEventEvaluator { + /** + Is this <code>event</code> the e-mail triggering event? + + <p>This method returns <code>true</code>, if the event level + has ERROR level or higher. Otherwise it returns + <code>false</code>. */ + public + boolean isTriggeringEvent(LoggingEvent event) { + return event.getLevel().isGreaterOrEqual(Level.ERROR); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SimpleSocketServer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SimpleSocketServer.java new file mode 100644 index 00000000000..c15aa3cca23 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SimpleSocketServer.java @@ -0,0 +1,97 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import java.net.ServerSocket; +import java.net.Socket; + +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.xml.DOMConfigurator; + + +/** + * A simple {@link SocketNode} based server. + * + <pre> + <b>Usage:</b> java org.apache.log4j.net.SimpleSocketServer port configFile + + where <em>port</em> is a part number where the server listens and + <em>configFile</em> is a configuration file fed to the {@link + PropertyConfigurator} or to {@link DOMConfigurator} if an XML file. + </pre> + * + * @author Ceki G&uuml;lc&uuml; + * + * @since 0.8.4 + * */ +public class SimpleSocketServer { + + static Logger cat = Logger.getLogger(SimpleSocketServer.class); + + static int port; + + public + static + void main(String argv[]) { + if(argv.length == 2) { + init(argv[0], argv[1]); + } else { + usage("Wrong number of arguments."); + } + + try { + cat.info("Listening on port " + port); + ServerSocket serverSocket = new ServerSocket(port); + while(true) { + cat.info("Waiting to accept a new client."); + Socket socket = serverSocket.accept(); + cat.info("Connected to client at " + socket.getInetAddress()); + cat.info("Starting new socket node."); + new Thread(new SocketNode(socket, + LogManager.getLoggerRepository()),"SimpleSocketServer-" + port).start(); + } + } catch(Exception e) { + e.printStackTrace(); + } + } + + + static void usage(String msg) { + System.err.println(msg); + System.err.println( + "Usage: java " +SimpleSocketServer.class.getName() + " port configFile"); + System.exit(1); + } + + static void init(String portStr, String configFile) { + try { + port = Integer.parseInt(portStr); + } catch(java.lang.NumberFormatException e) { + e.printStackTrace(); + usage("Could not interpret port number ["+ portStr +"]."); + } + + if(configFile.endsWith(".xml")) { + DOMConfigurator.configure(configFile); + } else { + PropertyConfigurator.configure(configFile); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketAppender.java new file mode 100644 index 00000000000..855b057931f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketAppender.java @@ -0,0 +1,474 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contributors: Dan MacDonald <dan@redknee.com> + +package org.apache.log4j.net; + +import java.io.IOException; +import java.io.ObjectOutputStream; +import java.io.InterruptedIOException; +import java.net.InetAddress; +import java.net.Socket; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.spi.ErrorCode; +import org.apache.log4j.spi.LoggingEvent; + +/** + Sends {@link LoggingEvent} objects to a remote a log server, + usually a {@link SocketNode}. + + <p>The SocketAppender has the following properties: + + <ul> + + <p><li>If sent to a {@link SocketNode}, remote logging is + non-intrusive as far as the log event is concerned. In other + words, the event will be logged with the same time stamp, {@link + org.apache.log4j.NDC}, location info as if it were logged locally by + the client. + + <p><li>SocketAppenders do not use a layout. They ship a + serialized {@link LoggingEvent} object to the server side. + + <p><li>Remote logging uses the TCP protocol. Consequently, if + the server is reachable, then log events will eventually arrive + at the server. + + <p><li>If the remote server is down, the logging requests are + simply dropped. However, if and when the server comes back up, + then event transmission is resumed transparently. This + transparent reconneciton is performed by a <em>connector</em> + thread which periodically attempts to connect to the server. + + <p><li>Logging events are automatically <em>buffered</em> by the + native TCP implementation. This means that if the link to server + is slow but still faster than the rate of (log) event production + by the client, the client will not be affected by the slow + network connection. However, if the network connection is slower + then the rate of event production, then the client can only + progress at the network rate. In particular, if the network link + to the the server is down, the client will be blocked. + + <p>On the other hand, if the network link is up, but the server + is down, the client will not be blocked when making log requests + but the log events will be lost due to server unavailability. + + <p><li>Even if a <code>SocketAppender</code> is no longer + attached to any category, it will not be garbage collected in + the presence of a connector thread. A connector thread exists + only if the connection to the server is down. To avoid this + garbage collection problem, you should {@link #close} the the + <code>SocketAppender</code> explicitly. See also next item. + + <p>Long lived applications which create/destroy many + <code>SocketAppender</code> instances should be aware of this + garbage collection problem. Most other applications can safely + ignore it. + + <p><li>If the JVM hosting the <code>SocketAppender</code> exits + before the <code>SocketAppender</code> is closed either + explicitly or subsequent to garbage collection, then there might + be untransmitted data in the pipe which might be lost. This is a + common problem on Windows based systems. + + <p>To avoid lost data, it is usually sufficient to {@link + #close} the <code>SocketAppender</code> either explicitly or by + calling the {@link org.apache.log4j.LogManager#shutdown} method + before exiting the application. + + + </ul> + + @author Ceki G&uuml;lc&uuml; + @since 0.8.4 */ + +public class SocketAppender extends AppenderSkeleton { + + /** + The default port number of remote logging server (4560). + @since 1.2.15 + */ + static public final int DEFAULT_PORT = 4560; + + /** + The default reconnection delay (30000 milliseconds or 30 seconds). + */ + static final int DEFAULT_RECONNECTION_DELAY = 30000; + + /** + We remember host name as String in addition to the resolved + InetAddress so that it can be returned via getOption(). + */ + String remoteHost; + + /** + * The MulticastDNS zone advertised by a SocketAppender + */ + public static final String ZONE = "_log4j_obj_tcpconnect_appender.local."; + + InetAddress address; + int port = DEFAULT_PORT; + ObjectOutputStream oos; + int reconnectionDelay = DEFAULT_RECONNECTION_DELAY; + boolean locationInfo = false; + private String application; + + private Connector connector; + + int counter = 0; + + // reset the ObjectOutputStream every 70 calls + //private static final int RESET_FREQUENCY = 70; + private static final int RESET_FREQUENCY = 1; + private boolean advertiseViaMulticastDNS; + private ZeroConfSupport zeroConf; + + public SocketAppender() { + } + + /** + Connects to remote server at <code>address</code> and <code>port</code>. + */ + public SocketAppender(InetAddress address, int port) { + this.address = address; + this.remoteHost = address.getHostName(); + this.port = port; + connect(address, port); + } + + /** + Connects to remote server at <code>host</code> and <code>port</code>. + */ + public SocketAppender(String host, int port) { + this.port = port; + this.address = getAddressByName(host); + this.remoteHost = host; + connect(address, port); + } + + /** + Connect to the specified <b>RemoteHost</b> and <b>Port</b>. + */ + public void activateOptions() { + if (advertiseViaMulticastDNS) { + zeroConf = new ZeroConfSupport(ZONE, port, getName()); + zeroConf.advertise(); + } + connect(address, port); + } + + /** + * Close this appender. + * + * <p>This will mark the appender as closed and call then {@link + * #cleanUp} method. + * */ + synchronized public void close() { + if(closed) + return; + + this.closed = true; + if (advertiseViaMulticastDNS) { + zeroConf.unadvertise(); + } + + cleanUp(); + } + + /** + * Drop the connection to the remote host and release the underlying + * connector thread if it has been created + * */ + public void cleanUp() { + if(oos != null) { + try { + oos.close(); + } catch(IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("Could not close oos.", e); + } + oos = null; + } + if(connector != null) { + //LogLog.debug("Interrupting the connector."); + connector.interrupted = true; + connector = null; // allow gc + } + } + + void connect(InetAddress address, int port) { + if(this.address == null) + return; + try { + // First, close the previous connection if any. + cleanUp(); + oos = new ObjectOutputStream(new Socket(address, port).getOutputStream()); + } catch(IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + String msg = "Could not connect to remote log4j server at [" + +address.getHostName()+"]."; + if(reconnectionDelay > 0) { + msg += " We will try again later."; + fireConnector(); // fire the connector thread + } else { + msg += " We are not retrying."; + errorHandler.error(msg, e, ErrorCode.GENERIC_FAILURE); + } + LogLog.error(msg); + } + } + + + public void append(LoggingEvent event) { + if(event == null) + return; + + if(address==null) { + errorHandler.error("No remote host is set for SocketAppender named \""+ + this.name+"\"."); + return; + } + + if(oos != null) { + try { + + if(locationInfo) { + event.getLocationInformation(); + } + if (application != null) { + event.setProperty("application", application); + } + event.getNDC(); + event.getThreadName(); + event.getMDCCopy(); + event.getRenderedMessage(); + event.getThrowableStrRep(); + + oos.writeObject(event); + //LogLog.debug("=========Flushing."); + oos.flush(); + if(++counter >= RESET_FREQUENCY) { + counter = 0; + // Failing to reset the object output stream every now and + // then creates a serious memory leak. + //System.err.println("Doing oos.reset()"); + oos.reset(); + } + } catch(IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + oos = null; + LogLog.warn("Detected problem with connection: "+e); + if(reconnectionDelay > 0) { + fireConnector(); + } else { + errorHandler.error("Detected problem with connection, not reconnecting.", e, + ErrorCode.GENERIC_FAILURE); + } + } + } + } + + public void setAdvertiseViaMulticastDNS(boolean advertiseViaMulticastDNS) { + this.advertiseViaMulticastDNS = advertiseViaMulticastDNS; + } + + public boolean isAdvertiseViaMulticastDNS() { + return advertiseViaMulticastDNS; + } + + void fireConnector() { + if(connector == null) { + LogLog.debug("Starting a new connector thread."); + connector = new Connector(); + connector.setDaemon(true); + connector.setPriority(Thread.MIN_PRIORITY); + connector.start(); + } + } + + static + InetAddress getAddressByName(String host) { + try { + return InetAddress.getByName(host); + } catch(Exception e) { + if (e instanceof InterruptedIOException || e instanceof InterruptedException) { + Thread.currentThread().interrupt(); + } + LogLog.error("Could not find address of ["+host+"].", e); + return null; + } + } + + /** + * The SocketAppender does not use a layout. Hence, this method + * returns <code>false</code>. + * */ + public boolean requiresLayout() { + return false; + } + + /** + * The <b>RemoteHost</b> option takes a string value which should be + * the host name of the server where a {@link SocketNode} is + * running. + * */ + public void setRemoteHost(String host) { + address = getAddressByName(host); + remoteHost = host; + } + + /** + Returns value of the <b>RemoteHost</b> option. + */ + public String getRemoteHost() { + return remoteHost; + } + + /** + The <b>Port</b> option takes a positive integer representing + the port where the server is waiting for connections. + */ + public void setPort(int port) { + this.port = port; + } + + /** + Returns value of the <b>Port</b> option. + */ + public int getPort() { + return port; + } + + /** + The <b>LocationInfo</b> option takes a boolean value. If true, + the information sent to the remote host will include location + information. By default no location information is sent to the server. + */ + public void setLocationInfo(boolean locationInfo) { + this.locationInfo = locationInfo; + } + + /** + Returns value of the <b>LocationInfo</b> option. + */ + public boolean getLocationInfo() { + return locationInfo; + } + + /** + * The <b>App</b> option takes a string value which should be the name of the + * application getting logged. + * If property was already set (via system property), don't set here. + * @since 1.2.15 + */ + public void setApplication(String lapp) { + this.application = lapp; + } + + /** + * Returns value of the <b>Application</b> option. + * @since 1.2.15 + */ + public String getApplication() { + return application; + } + + /** + The <b>ReconnectionDelay</b> option takes a positive integer + representing the number of milliseconds to wait between each + failed connection attempt to the server. The default value of + this option is 30000 which corresponds to 30 seconds. + + <p>Setting this option to zero turns off reconnection + capability. + */ + public void setReconnectionDelay(int delay) { + this.reconnectionDelay = delay; + } + + /** + Returns value of the <b>ReconnectionDelay</b> option. + */ + public int getReconnectionDelay() { + return reconnectionDelay; + } + + /** + The Connector will reconnect when the server becomes available + again. It does this by attempting to open a new connection every + <code>reconnectionDelay</code> milliseconds. + + <p>It stops trying whenever a connection is established. It will + restart to try reconnect to the server when previously open + connection is droppped. + + @author Ceki G&uuml;lc&uuml; + @since 0.8.4 + */ + class Connector extends Thread { + + boolean interrupted = false; + + public + void run() { + Socket socket; + while(!interrupted) { + try { + sleep(reconnectionDelay); + LogLog.debug("Attempting connection to "+address.getHostName()); + socket = new Socket(address, port); + synchronized(this) { + oos = new ObjectOutputStream(socket.getOutputStream()); + connector = null; + LogLog.debug("Connection established. Exiting connector thread."); + break; + } + } catch(InterruptedException e) { + LogLog.debug("Connector interrupted. Leaving loop."); + return; + } catch(java.net.ConnectException e) { + LogLog.debug("Remote host "+address.getHostName() + +" refused connection."); + } catch(IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.debug("Could not connect to " + address.getHostName()+ + ". Exception is " + e); + } + } + //LogLog.debug("Exiting Connector.run() method."); + } + + /** + public + void finalize() { + LogLog.debug("Connector finalize() has been called."); + } + */ + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketHubAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketHubAppender.java new file mode 100644 index 00000000000..665c58ad124 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketHubAppender.java @@ -0,0 +1,507 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import java.io.IOException; +import java.io.InterruptedIOException; +import java.io.ObjectOutputStream; +import java.net.InetAddress; +import java.net.ServerSocket; +import java.net.Socket; +import java.net.SocketException; +import java.util.Vector; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.helpers.CyclicBuffer; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.spi.LoggingEvent; + +/** + Sends {@link LoggingEvent} objects to a set of remote log servers, + usually a {@link SocketNode SocketNodes}. + + <p>Acts just like {@link SocketAppender} except that instead of + connecting to a given remote log server, + <code>SocketHubAppender</code> accepts connections from the remote + log servers as clients. It can accept more than one connection. + When a log event is received, the event is sent to the set of + currently connected remote log servers. Implemented this way it does + not require any update to the configuration file to send data to + another remote log server. The remote log server simply connects to + the host and port the <code>SocketHubAppender</code> is running on. + + <p>The <code>SocketHubAppender</code> does not store events such + that the remote side will events that arrived after the + establishment of its connection. Once connected, events arrive in + order as guaranteed by the TCP protocol. + + <p>This implementation borrows heavily from the {@link + SocketAppender}. + + <p>The SocketHubAppender has the following characteristics: + + <ul> + + <p><li>If sent to a {@link SocketNode}, logging is non-intrusive as + far as the log event is concerned. In other words, the event will be + logged with the same time stamp, {@link org.apache.log4j.NDC}, + location info as if it were logged locally. + + <p><li><code>SocketHubAppender</code> does not use a layout. It + ships a serialized {@link LoggingEvent} object to the remote side. + + <p><li><code>SocketHubAppender</code> relies on the TCP + protocol. Consequently, if the remote side is reachable, then log + events will eventually arrive at remote client. + + <p><li>If no remote clients are attached, the logging requests are + simply dropped. + + <p><li>Logging events are automatically <em>buffered</em> by the + native TCP implementation. This means that if the link to remote + client is slow but still faster than the rate of (log) event + production, the application will not be affected by the slow network + connection. However, if the network connection is slower then the + rate of event production, then the local application can only + progress at the network rate. In particular, if the network link to + the the remote client is down, the application will be blocked. + + <p>On the other hand, if the network link is up, but the remote + client is down, the client will not be blocked when making log + requests but the log events will be lost due to client + unavailability. + + <p>The single remote client case extends to multiple clients + connections. The rate of logging will be determined by the slowest + link. + + <p><li>If the JVM hosting the <code>SocketHubAppender</code> exits + before the <code>SocketHubAppender</code> is closed either + explicitly or subsequent to garbage collection, then there might + be untransmitted data in the pipe which might be lost. This is a + common problem on Windows based systems. + + <p>To avoid lost data, it is usually sufficient to {@link #close} + the <code>SocketHubAppender</code> either explicitly or by calling + the {@link org.apache.log4j.LogManager#shutdown} method before + exiting the application. + + </ul> + + @author Mark Womack */ + +public class SocketHubAppender extends AppenderSkeleton { + + /** + The default port number of the ServerSocket will be created on. */ + static final int DEFAULT_PORT = 4560; + + private int port = DEFAULT_PORT; + private Vector oosList = new Vector(); + private ServerMonitor serverMonitor = null; + private boolean locationInfo = false; + private CyclicBuffer buffer = null; + private String application; + private boolean advertiseViaMulticastDNS; + private ZeroConfSupport zeroConf; + + /** + * The MulticastDNS zone advertised by a SocketHubAppender + */ + public static final String ZONE = "_log4j_obj_tcpaccept_appender.local."; + + + public SocketHubAppender() { } + + /** + Connects to remote server at <code>address</code> and <code>port</code>. */ + public + SocketHubAppender(int _port) { + port = _port; + startServer(); + } + + /** + Set up the socket server on the specified port. */ + public + void activateOptions() { + if (advertiseViaMulticastDNS) { + zeroConf = new ZeroConfSupport(ZONE, port, getName()); + zeroConf.advertise(); + } + startServer(); + } + + /** + Close this appender. + <p>This will mark the appender as closed and + call then {@link #cleanUp} method. */ + synchronized + public + void close() { + if(closed) + return; + + LogLog.debug("closing SocketHubAppender " + getName()); + this.closed = true; + if (advertiseViaMulticastDNS) { + zeroConf.unadvertise(); + } + cleanUp(); + + LogLog.debug("SocketHubAppender " + getName() + " closed"); + } + + /** + Release the underlying ServerMonitor thread, and drop the connections + to all connected remote servers. */ + public + void cleanUp() { + // stop the monitor thread + LogLog.debug("stopping ServerSocket"); + serverMonitor.stopMonitor(); + serverMonitor = null; + + // close all of the connections + LogLog.debug("closing client connections"); + while (oosList.size() != 0) { + ObjectOutputStream oos = (ObjectOutputStream)oosList.elementAt(0); + if(oos != null) { + try { + oos.close(); + } catch(InterruptedIOException e) { + Thread.currentThread().interrupt(); + LogLog.error("could not close oos.", e); + } catch(IOException e) { + LogLog.error("could not close oos.", e); + } + + oosList.removeElementAt(0); + } + } + } + + /** + Append an event to all of current connections. */ + public + void append(LoggingEvent event) { + if (event != null) { + // set up location info if requested + if (locationInfo) { + event.getLocationInformation(); + } + if (application != null) { + event.setProperty("application", application); + } + event.getNDC(); + event.getThreadName(); + event.getMDCCopy(); + event.getRenderedMessage(); + event.getThrowableStrRep(); + + if (buffer != null) { + buffer.add(event); + } + } + + // if no event or no open connections, exit now + if ((event == null) || (oosList.size() == 0)) { + return; + } + + // loop through the current set of open connections, appending the event to each + for (int streamCount = 0; streamCount < oosList.size(); streamCount++) { + + ObjectOutputStream oos = null; + try { + oos = (ObjectOutputStream)oosList.elementAt(streamCount); + } + catch (ArrayIndexOutOfBoundsException e) { + // catch this, but just don't assign a value + // this should not really occur as this method is + // the only one that can remove oos's (besides cleanUp). + } + + // list size changed unexpectedly? Just exit the append. + if (oos == null) + break; + + try { + oos.writeObject(event); + oos.flush(); + // Failing to reset the object output stream every now and + // then creates a serious memory leak. + // right now we always reset. TODO - set up frequency counter per oos? + oos.reset(); + } + catch(IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + // there was an io exception so just drop the connection + oosList.removeElementAt(streamCount); + LogLog.debug("dropped connection"); + + // decrement to keep the counter in place (for loop always increments) + streamCount--; + } + } + } + + /** + The SocketHubAppender does not use a layout. Hence, this method returns + <code>false</code>. */ + public + boolean requiresLayout() { + return false; + } + + /** + The <b>Port</b> option takes a positive integer representing + the port where the server is waiting for connections. */ + public + void setPort(int _port) { + port = _port; + } + + /** + * The <b>App</b> option takes a string value which should be the name of the application getting logged. If property was already set (via system + * property), don't set here. + */ + public + void setApplication(String lapp) { + this.application = lapp; + } + + /** + * Returns value of the <b>Application</b> option. + */ + public + String getApplication() { + return application; + } + + /** + Returns value of the <b>Port</b> option. */ + public + int getPort() { + return port; + } + + /** + * The <b>BufferSize</b> option takes a positive integer representing the number of events this appender will buffer and send to newly connected + * clients. + */ + public + void setBufferSize(int _bufferSize) { + buffer = new CyclicBuffer(_bufferSize); + } + + /** + * Returns value of the <b>bufferSize</b> option. + */ + public + int getBufferSize() { + if (buffer == null) { + return 0; + } else { + return buffer.getMaxSize(); + } + } + + /** + The <b>LocationInfo</b> option takes a boolean value. If true, + the information sent to the remote host will include location + information. By default no location information is sent to the server. */ + public + void setLocationInfo(boolean _locationInfo) { + locationInfo = _locationInfo; + } + + /** + Returns value of the <b>LocationInfo</b> option. */ + public + boolean getLocationInfo() { + return locationInfo; + } + + public void setAdvertiseViaMulticastDNS(boolean advertiseViaMulticastDNS) { + this.advertiseViaMulticastDNS = advertiseViaMulticastDNS; + } + + public boolean isAdvertiseViaMulticastDNS() { + return advertiseViaMulticastDNS; + } + + /** + Start the ServerMonitor thread. */ + private + void startServer() { + serverMonitor = new ServerMonitor(port, oosList); + } + + /** + * Creates a server socket to accept connections. + * @param socketPort port on which the socket should listen, may be zero. + * @return new socket. + * @throws IOException IO error when opening the socket. + */ + protected ServerSocket createServerSocket(final int socketPort) throws IOException { + return new ServerSocket(socketPort); + } + + /** + This class is used internally to monitor a ServerSocket + and register new connections in a vector passed in the + constructor. */ + private + class ServerMonitor implements Runnable { + private int port; + private Vector oosList; + private boolean keepRunning; + private Thread monitorThread; + + /** + Create a thread and start the monitor. */ + public + ServerMonitor(int _port, Vector _oosList) { + port = _port; + oosList = _oosList; + keepRunning = true; + monitorThread = new Thread(this); + monitorThread.setDaemon(true); + monitorThread.setName("SocketHubAppender-Monitor-" + port); + monitorThread.start(); + } + + /** + Stops the monitor. This method will not return until + the thread has finished executing. */ + public + synchronized + void stopMonitor() { + if (keepRunning) { + LogLog.debug("server monitor thread shutting down"); + keepRunning = false; + try { + monitorThread.join(); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + // do nothing? + } + + // release the thread + monitorThread = null; + LogLog.debug("server monitor thread shut down"); + } + } + + private + void sendCachedEvents(ObjectOutputStream stream) throws IOException { + if (buffer != null) { + for (int i = 0; i < buffer.length(); i++) { + stream.writeObject(buffer.get(i)); + } + stream.flush(); + stream.reset(); + } + } + + /** + Method that runs, monitoring the ServerSocket and adding connections as + they connect to the socket. */ + public + void run() { + ServerSocket serverSocket = null; + try { + serverSocket = createServerSocket(port); + serverSocket.setSoTimeout(1000); + } + catch (Exception e) { + if (e instanceof InterruptedIOException || e instanceof InterruptedException) { + Thread.currentThread().interrupt(); + } + LogLog.error("exception setting timeout, shutting down server socket.", e); + keepRunning = false; + return; + } + + try { + try { + serverSocket.setSoTimeout(1000); + } + catch (SocketException e) { + LogLog.error("exception setting timeout, shutting down server socket.", e); + return; + } + + while (keepRunning) { + Socket socket = null; + try { + socket = serverSocket.accept(); + } + catch (InterruptedIOException e) { + // timeout occurred, so just loop + } + catch (SocketException e) { + LogLog.error("exception accepting socket, shutting down server socket.", e); + keepRunning = false; + } + catch (IOException e) { + LogLog.error("exception accepting socket.", e); + } + + // if there was a socket accepted + if (socket != null) { + try { + InetAddress remoteAddress = socket.getInetAddress(); + LogLog.debug("accepting connection from " + remoteAddress.getHostName() + + " (" + remoteAddress.getHostAddress() + ")"); + + // create an ObjectOutputStream + ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()); + if (buffer != null && buffer.length() > 0) { + sendCachedEvents(oos); + } + + // add it to the oosList. OK since Vector is synchronized. + oosList.addElement(oos); + } catch (IOException e) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("exception creating output stream on socket.", e); + } + } + } + } + finally { + // close the socket + try { + serverSocket.close(); + } catch(InterruptedIOException e) { + Thread.currentThread().interrupt(); + } catch (IOException e) { + // do nothing with it? + } + } + } + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketNode.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketNode.java new file mode 100644 index 00000000000..e977f1333a8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketNode.java @@ -0,0 +1,124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import java.io.BufferedInputStream; +import java.io.IOException; +import java.io.InterruptedIOException; +import java.io.ObjectInputStream; +import java.net.Socket; + +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.spi.LoggingEvent; + +// Contributors: Moses Hohman <mmhohman@rainbow.uchicago.edu> + +/** + Read {@link LoggingEvent} objects sent from a remote client using + Sockets (TCP). These logging events are logged according to local + policy, as if they were generated locally. + + <p>For example, the socket node might decide to log events to a + local file and also resent them to a second socket node. + + @author Ceki G&uuml;lc&uuml; + + @since 0.8.4 +*/ +public class SocketNode implements Runnable { + + Socket socket; + LoggerRepository hierarchy; + ObjectInputStream ois; + + static Logger logger = Logger.getLogger(SocketNode.class); + + public SocketNode(Socket socket, LoggerRepository hierarchy) { + this.socket = socket; + this.hierarchy = hierarchy; + try { + ois = new ObjectInputStream( + new BufferedInputStream(socket.getInputStream())); + } catch(InterruptedIOException e) { + Thread.currentThread().interrupt(); + logger.error("Could not open ObjectInputStream to "+socket, e); + } catch(IOException e) { + logger.error("Could not open ObjectInputStream to "+socket, e); + } catch(RuntimeException e) { + logger.error("Could not open ObjectInputStream to "+socket, e); + } + } + + //public + //void finalize() { + //System.err.println("-------------------------Finalize called"); + // System.err.flush(); + //} + + public void run() { + LoggingEvent event; + Logger remoteLogger; + + try { + if (ois != null) { + while(true) { + // read an event from the wire + event = (LoggingEvent) ois.readObject(); + // get a logger from the hierarchy. The name of the logger is taken to be the name contained in the event. + remoteLogger = hierarchy.getLogger(event.getLoggerName()); + //event.logger = remoteLogger; + // apply the logger-level filter + if(event.getLevel().isGreaterOrEqual(remoteLogger.getEffectiveLevel())) { + // finally log the event as if was generated locally + remoteLogger.callAppenders(event); + } + } + } + } catch(java.io.EOFException e) { + logger.info("Caught java.io.EOFException closing conneciton."); + } catch(java.net.SocketException e) { + logger.info("Caught java.net.SocketException closing conneciton."); + } catch(InterruptedIOException e) { + Thread.currentThread().interrupt(); + logger.info("Caught java.io.InterruptedIOException: "+e); + logger.info("Closing connection."); + } catch(IOException e) { + logger.info("Caught java.io.IOException: "+e); + logger.info("Closing connection."); + } catch(Exception e) { + logger.error("Unexpected exception. Closing conneciton.", e); + } finally { + if (ois != null) { + try { + ois.close(); + } catch(Exception e) { + logger.info("Could not close connection.", e); + } + } + if (socket != null) { + try { + socket.close(); + } catch(InterruptedIOException e) { + Thread.currentThread().interrupt(); + } catch(IOException ex) { + } + } + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketServer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketServer.java new file mode 100644 index 00000000000..8ea3cb79a10 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SocketServer.java @@ -0,0 +1,212 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import java.io.File; +import java.net.InetAddress; +import java.net.ServerSocket; +import java.net.Socket; +import java.util.Hashtable; + +import org.apache.log4j.Hierarchy; +import org.apache.log4j.Level; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.spi.RootLogger; + + +/** + A {@link SocketNode} based server that uses a different hierarchy + for each client. + + <pre> + <b>Usage:</b> java org.apache.log4j.net.SocketServer port configFile configDir + + where <b>port</b> is a part number where the server listens, + <b>configFile</b> is a configuration file fed to the {@link PropertyConfigurator} and + <b>configDir</b> is a path to a directory containing configuration files, possibly one for each client host. + </pre> + + <p>The <code>configFile</code> is used to configure the log4j + default hierarchy that the <code>SocketServer</code> will use to + report on its actions. + + <p>When a new connection is opened from a previously unknown + host, say <code>foo.bar.net</code>, then the + <code>SocketServer</code> will search for a configuration file + called <code>foo.bar.net.lcf</code> under the directory + <code>configDir</code> that was passed as the third argument. If + the file can be found, then a new hierarchy is instantiated and + configured using the configuration file + <code>foo.bar.net.lcf</code>. If and when the host + <code>foo.bar.net</code> opens another connection to the server, + then the previously configured hierarchy is used. + + <p>In case there is no file called <code>foo.bar.net.lcf</code> + under the directory <code>configDir</code>, then the + <em>generic</em> hierarchy is used. The generic hierarchy is + configured using a configuration file called + <code>generic.lcf</code> under the <code>configDir</code> + directory. If no such file exists, then the generic hierarchy will be + identical to the log4j default hierarchy. + + <p>Having different client hosts log using different hierarchies + ensures the total independence of the clients with respect to + their logging settings. + + <p>Currently, the hierarchy that will be used for a given request + depends on the IP address of the client host. For example, two + separate applicatons running on the same host and logging to the + same server will share the same hierarchy. This is perfectly safe + except that it might not provide the right amount of independence + between applications. The <code>SocketServer</code> is intended + as an example to be enhanced in order to implement more elaborate + policies. + + + @author Ceki G&uuml;lc&uuml; + + @since 1.0 */ + +public class SocketServer { + + static String GENERIC = "generic"; + static String CONFIG_FILE_EXT = ".lcf"; + + static Logger cat = Logger.getLogger(SocketServer.class); + static SocketServer server; + static int port; + + // key=inetAddress, value=hierarchy + Hashtable hierarchyMap; + LoggerRepository genericHierarchy; + File dir; + + public + static + void main(String argv[]) { + if(argv.length == 3) + init(argv[0], argv[1], argv[2]); + else + usage("Wrong number of arguments."); + + try { + cat.info("Listening on port " + port); + ServerSocket serverSocket = new ServerSocket(port); + while(true) { + cat.info("Waiting to accept a new client."); + Socket socket = serverSocket.accept(); + InetAddress inetAddress = socket.getInetAddress(); + cat.info("Connected to client at " + inetAddress); + + LoggerRepository h = (LoggerRepository) server.hierarchyMap.get(inetAddress); + if(h == null) { + h = server.configureHierarchy(inetAddress); + } + + cat.info("Starting new socket node."); + new Thread(new SocketNode(socket, h)).start(); + } + } + catch(Exception e) { + e.printStackTrace(); + } + } + + + static + void usage(String msg) { + System.err.println(msg); + System.err.println( + "Usage: java " +SocketServer.class.getName() + " port configFile directory"); + System.exit(1); + } + + static + void init(String portStr, String configFile, String dirStr) { + try { + port = Integer.parseInt(portStr); + } + catch(java.lang.NumberFormatException e) { + e.printStackTrace(); + usage("Could not interpret port number ["+ portStr +"]."); + } + + PropertyConfigurator.configure(configFile); + + File dir = new File(dirStr); + if(!dir.isDirectory()) { + usage("["+dirStr+"] is not a directory."); + } + server = new SocketServer(dir); + } + + + public + SocketServer(File directory) { + this.dir = directory; + hierarchyMap = new Hashtable(11); + } + + // This method assumes that there is no hiearchy for inetAddress + // yet. It will configure one and return it. + LoggerRepository configureHierarchy(InetAddress inetAddress) { + cat.info("Locating configuration file for "+inetAddress); + // We assume that the toSting method of InetAddress returns is in + // the format hostname/d1.d2.d3.d4 e.g. torino/192.168.1.1 + String s = inetAddress.toString(); + int i = s.indexOf("/"); + if(i == -1) { + cat.warn("Could not parse the inetAddress ["+inetAddress+ + "]. Using default hierarchy."); + return genericHierarchy(); + } else { + String key = s.substring(0, i); + + File configFile = new File(dir, key+CONFIG_FILE_EXT); + if(configFile.exists()) { + Hierarchy h = new Hierarchy(new RootLogger(Level.DEBUG)); + hierarchyMap.put(inetAddress, h); + + new PropertyConfigurator().doConfigure(configFile.getAbsolutePath(), h); + + return h; + } else { + cat.warn("Could not find config file ["+configFile+"]."); + return genericHierarchy(); + } + } + } + + LoggerRepository genericHierarchy() { + if(genericHierarchy == null) { + File f = new File(dir, GENERIC+CONFIG_FILE_EXT); + if(f.exists()) { + genericHierarchy = new Hierarchy(new RootLogger(Level.DEBUG)); + new PropertyConfigurator().doConfigure(f.getAbsolutePath(), genericHierarchy); + } else { + cat.warn("Could not find config file ["+f+ + "]. Will use the default hierarchy."); + genericHierarchy = LogManager.getLoggerRepository(); + } + } + return genericHierarchy; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SyslogAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SyslogAppender.java new file mode 100644 index 00000000000..6ab7eddfd0e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/SyslogAppender.java @@ -0,0 +1,536 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.Layout; +import org.apache.log4j.helpers.SyslogQuietWriter; +import org.apache.log4j.helpers.SyslogWriter; +import org.apache.log4j.spi.LoggingEvent; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.io.IOException; + +// Contributors: Yves Bossel <ybossel@opengets.cl> +// Christopher Taylor <cstaylor@pacbell.net> + +/** + Use SyslogAppender to send log messages to a remote syslog daemon. + + @author Ceki G&uuml;lc&uuml; + @author Anders Kristensen + */ +public class SyslogAppender extends AppenderSkeleton { + // The following constants are extracted from a syslog.h file + // copyrighted by the Regents of the University of California + // I hope nobody at Berkley gets offended. + + /** Kernel messages */ + final static public int LOG_KERN = 0; + /** Random user-level messages */ + final static public int LOG_USER = 1<<3; + /** Mail system */ + final static public int LOG_MAIL = 2<<3; + /** System daemons */ + final static public int LOG_DAEMON = 3<<3; + /** security/authorization messages */ + final static public int LOG_AUTH = 4<<3; + /** messages generated internally by syslogd */ + final static public int LOG_SYSLOG = 5<<3; + + /** line printer subsystem */ + final static public int LOG_LPR = 6<<3; + /** network news subsystem */ + final static public int LOG_NEWS = 7<<3; + /** UUCP subsystem */ + final static public int LOG_UUCP = 8<<3; + /** clock daemon */ + final static public int LOG_CRON = 9<<3; + /** security/authorization messages (private) */ + final static public int LOG_AUTHPRIV = 10<<3; + /** ftp daemon */ + final static public int LOG_FTP = 11<<3; + + // other codes through 15 reserved for system use + /** reserved for local use */ + final static public int LOG_LOCAL0 = 16<<3; + /** reserved for local use */ + final static public int LOG_LOCAL1 = 17<<3; + /** reserved for local use */ + final static public int LOG_LOCAL2 = 18<<3; + /** reserved for local use */ + final static public int LOG_LOCAL3 = 19<<3; + /** reserved for local use */ + final static public int LOG_LOCAL4 = 20<<3; + /** reserved for local use */ + final static public int LOG_LOCAL5 = 21<<3; + /** reserved for local use */ + final static public int LOG_LOCAL6 = 22<<3; + /** reserved for local use*/ + final static public int LOG_LOCAL7 = 23<<3; + + protected static final int SYSLOG_HOST_OI = 0; + protected static final int FACILITY_OI = 1; + + static final String TAB = " "; + + // Have LOG_USER as default + int syslogFacility = LOG_USER; + String facilityStr; + boolean facilityPrinting = false; + + //SyslogTracerPrintWriter stp; + SyslogQuietWriter sqw; + String syslogHost; + + /** + * If true, the appender will generate the HEADER (timestamp and host name) + * part of the syslog packet. + * @since 1.2.15 + */ + private boolean header = false; + /** + * Date format used if header = true. + * @since 1.2.15 + */ + private final SimpleDateFormat dateFormat = new SimpleDateFormat("MMM dd HH:mm:ss ", Locale.ENGLISH); + /** + * Host name used to identify messages from this appender. + * @since 1.2.15 + */ + private String localHostname; + + /** + * Set to true after the header of the layout has been sent or if it has none. + */ + private boolean layoutHeaderChecked = false; + + public + SyslogAppender() { + this.initSyslogFacilityStr(); + } + + public + SyslogAppender(Layout layout, int syslogFacility) { + this.layout = layout; + this.syslogFacility = syslogFacility; + this.initSyslogFacilityStr(); + } + + public + SyslogAppender(Layout layout, String syslogHost, int syslogFacility) { + this(layout, syslogFacility); + setSyslogHost(syslogHost); + } + + /** + Release any resources held by this SyslogAppender. + + @since 0.8.4 + */ + synchronized + public + void close() { + closed = true; + if (sqw != null) { + try { + if (layoutHeaderChecked && layout != null && layout.getFooter() != null) { + sendLayoutMessage(layout.getFooter()); + } + sqw.close(); + sqw = null; + } catch(java.io.InterruptedIOException e) { + Thread.currentThread().interrupt(); + sqw = null; + } catch(IOException e) { + sqw = null; + } + } + } + + private + void initSyslogFacilityStr() { + facilityStr = getFacilityString(this.syslogFacility); + + if (facilityStr == null) { + System.err.println("\"" + syslogFacility + + "\" is an unknown syslog facility. Defaulting to \"USER\"."); + this.syslogFacility = LOG_USER; + facilityStr = "user:"; + } else { + facilityStr += ":"; + } + } + + /** + Returns the specified syslog facility as a lower-case String, + e.g. "kern", "user", etc. + */ + public + static + String getFacilityString(int syslogFacility) { + switch(syslogFacility) { + case LOG_KERN: return "kern"; + case LOG_USER: return "user"; + case LOG_MAIL: return "mail"; + case LOG_DAEMON: return "daemon"; + case LOG_AUTH: return "auth"; + case LOG_SYSLOG: return "syslog"; + case LOG_LPR: return "lpr"; + case LOG_NEWS: return "news"; + case LOG_UUCP: return "uucp"; + case LOG_CRON: return "cron"; + case LOG_AUTHPRIV: return "authpriv"; + case LOG_FTP: return "ftp"; + case LOG_LOCAL0: return "local0"; + case LOG_LOCAL1: return "local1"; + case LOG_LOCAL2: return "local2"; + case LOG_LOCAL3: return "local3"; + case LOG_LOCAL4: return "local4"; + case LOG_LOCAL5: return "local5"; + case LOG_LOCAL6: return "local6"; + case LOG_LOCAL7: return "local7"; + default: return null; + } + } + + /** + Returns the integer value corresponding to the named syslog + facility, or -1 if it couldn't be recognized. + + @param facilityName one of the strings KERN, USER, MAIL, DAEMON, + AUTH, SYSLOG, LPR, NEWS, UUCP, CRON, AUTHPRIV, FTP, LOCAL0, + LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. + The matching is case-insensitive. + + @since 1.1 + */ + public + static + int getFacility(String facilityName) { + if(facilityName != null) { + facilityName = facilityName.trim(); + } + if("KERN".equalsIgnoreCase(facilityName)) { + return LOG_KERN; + } else if("USER".equalsIgnoreCase(facilityName)) { + return LOG_USER; + } else if("MAIL".equalsIgnoreCase(facilityName)) { + return LOG_MAIL; + } else if("DAEMON".equalsIgnoreCase(facilityName)) { + return LOG_DAEMON; + } else if("AUTH".equalsIgnoreCase(facilityName)) { + return LOG_AUTH; + } else if("SYSLOG".equalsIgnoreCase(facilityName)) { + return LOG_SYSLOG; + } else if("LPR".equalsIgnoreCase(facilityName)) { + return LOG_LPR; + } else if("NEWS".equalsIgnoreCase(facilityName)) { + return LOG_NEWS; + } else if("UUCP".equalsIgnoreCase(facilityName)) { + return LOG_UUCP; + } else if("CRON".equalsIgnoreCase(facilityName)) { + return LOG_CRON; + } else if("AUTHPRIV".equalsIgnoreCase(facilityName)) { + return LOG_AUTHPRIV; + } else if("FTP".equalsIgnoreCase(facilityName)) { + return LOG_FTP; + } else if("LOCAL0".equalsIgnoreCase(facilityName)) { + return LOG_LOCAL0; + } else if("LOCAL1".equalsIgnoreCase(facilityName)) { + return LOG_LOCAL1; + } else if("LOCAL2".equalsIgnoreCase(facilityName)) { + return LOG_LOCAL2; + } else if("LOCAL3".equalsIgnoreCase(facilityName)) { + return LOG_LOCAL3; + } else if("LOCAL4".equalsIgnoreCase(facilityName)) { + return LOG_LOCAL4; + } else if("LOCAL5".equalsIgnoreCase(facilityName)) { + return LOG_LOCAL5; + } else if("LOCAL6".equalsIgnoreCase(facilityName)) { + return LOG_LOCAL6; + } else if("LOCAL7".equalsIgnoreCase(facilityName)) { + return LOG_LOCAL7; + } else { + return -1; + } + } + + + private void splitPacket(final String header, final String packet) { + int byteCount = packet.getBytes().length; + // + // if packet is less than RFC 3164 limit + // of 1024 bytes, then write it + // (must allow for up 5to 5 characters in the PRI section + // added by SyslogQuietWriter) + if (byteCount <= 1019) { + sqw.write(packet); + } else { + int split = header.length() + (packet.length() - header.length())/2; + splitPacket(header, packet.substring(0, split) + "..."); + splitPacket(header, header + "..." + packet.substring(split)); + } + } + + public + void append(LoggingEvent event) { + + if(!isAsSevereAsThreshold(event.getLevel())) + return; + + // We must not attempt to append if sqw is null. + if(sqw == null) { + errorHandler.error("No syslog host is set for SyslogAppedender named \""+ + this.name+"\"."); + return; + } + + if (!layoutHeaderChecked) { + if (layout != null && layout.getHeader() != null) { + sendLayoutMessage(layout.getHeader()); + } + layoutHeaderChecked = true; + } + + String hdr = getPacketHeader(event.timeStamp); + String packet; + if (layout == null) { + packet = String.valueOf(event.getMessage()); + } else { + packet = layout.format(event); + } + if(facilityPrinting || hdr.length() > 0) { + StringBuffer buf = new StringBuffer(hdr); + if(facilityPrinting) { + buf.append(facilityStr); + } + buf.append(packet); + packet = buf.toString(); + } + + sqw.setLevel(event.getLevel().getSyslogEquivalent()); + // + // if message has a remote likelihood of exceeding 1024 bytes + // when encoded, consider splitting message into multiple packets + if (packet.length() > 256) { + splitPacket(hdr, packet); + } else { + sqw.write(packet); + } + + if (layout == null || layout.ignoresThrowable()) { + String[] s = event.getThrowableStrRep(); + if (s != null) { + for(int i = 0; i < s.length; i++) { + if (s[i].startsWith("\t")) { + sqw.write(hdr+TAB+s[i].substring(1)); + } else { + sqw.write(hdr+s[i]); + } + } + } + } + } + + /** + This method returns immediately as options are activated when they + are set. + */ + public + void activateOptions() { + if (header) { + getLocalHostname(); + } + if (layout != null && layout.getHeader() != null) { + sendLayoutMessage(layout.getHeader()); + } + layoutHeaderChecked = true; + } + + /** + The SyslogAppender requires a layout. Hence, this method returns + <code>true</code>. + + @since 0.8.4 */ + public + boolean requiresLayout() { + return true; + } + + /** + The <b>SyslogHost</b> option is the name of the the syslog host + where log output should go. A non-default port can be specified by + appending a colon and port number to a host name, + an IPv4 address or an IPv6 address enclosed in square brackets. + + <b>WARNING</b> If the SyslogHost is not set, then this appender + will fail. + */ + public + void setSyslogHost(final String syslogHost) { + this.sqw = new SyslogQuietWriter(new SyslogWriter(syslogHost), + syslogFacility, errorHandler); + //this.stp = new SyslogTracerPrintWriter(sqw); + this.syslogHost = syslogHost; + } + + /** + Returns the value of the <b>SyslogHost</b> option. + */ + public + String getSyslogHost() { + return syslogHost; + } + + /** + Set the syslog facility. This is the <b>Facility</b> option. + + <p>The <code>facilityName</code> parameter must be one of the + strings KERN, USER, MAIL, DAEMON, AUTH, SYSLOG, LPR, NEWS, UUCP, + CRON, AUTHPRIV, FTP, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, + LOCAL5, LOCAL6, LOCAL7. Case is unimportant. + + @since 0.8.1 */ + public + void setFacility(String facilityName) { + if(facilityName == null) + return; + + syslogFacility = getFacility(facilityName); + if (syslogFacility == -1) { + System.err.println("["+facilityName + + "] is an unknown syslog facility. Defaulting to [USER]."); + syslogFacility = LOG_USER; + } + + this.initSyslogFacilityStr(); + + // If there is already a sqw, make it use the new facility. + if(sqw != null) { + sqw.setSyslogFacility(this.syslogFacility); + } + } + + /** + Returns the value of the <b>Facility</b> option. + */ + public + String getFacility() { + return getFacilityString(syslogFacility); + } + + /** + If the <b>FacilityPrinting</b> option is set to true, the printed + message will include the facility name of the application. It is + <em>false</em> by default. + */ + public + void setFacilityPrinting(boolean on) { + facilityPrinting = on; + } + + /** + Returns the value of the <b>FacilityPrinting</b> option. + */ + public + boolean getFacilityPrinting() { + return facilityPrinting; + } + + /** + * If true, the appender will generate the HEADER part (that is, timestamp and host name) + * of the syslog packet. Default value is false for compatibility with existing behavior, + * however should be true unless there is a specific justification. + * @since 1.2.15 + */ + public final boolean getHeader() { + return header; + } + + /** + * Returns whether the appender produces the HEADER part (that is, timestamp and host name) + * of the syslog packet. + * @since 1.2.15 + */ + public final void setHeader(final boolean val) { + header = val; + } + + /** + * Get the host name used to identify this appender. + * @return local host name + * @since 1.2.15 + */ + private String getLocalHostname() { + if (localHostname == null) { + try { + InetAddress addr = InetAddress.getLocalHost(); + localHostname = addr.getHostName(); + } catch (UnknownHostException uhe) { + localHostname = "UNKNOWN_HOST"; + } + } + return localHostname; + } + + /** + * Gets HEADER portion of packet. + * @param timeStamp number of milliseconds after the standard base time. + * @return HEADER portion of packet, will be zero-length string if header is false. + * @since 1.2.15 + */ + private String getPacketHeader(final long timeStamp) { + if (header) { + StringBuffer buf = new StringBuffer(dateFormat.format(new Date(timeStamp))); + // RFC 3164 says leading space, not leading zero on days 1-9 + if (buf.charAt(4) == '0') { + buf.setCharAt(4, ' '); + } + buf.append(getLocalHostname()); + buf.append(' '); + return buf.toString(); + } + return ""; + } + + /** + * Set header or footer of layout. + * @param msg message body, may not be null. + */ + private void sendLayoutMessage(final String msg) { + if (sqw != null) { + String packet = msg; + String hdr = getPacketHeader(new Date().getTime()); + if(facilityPrinting || hdr.length() > 0) { + StringBuffer buf = new StringBuffer(hdr); + if(facilityPrinting) { + buf.append(facilityStr); + } + buf.append(msg); + packet = buf.toString(); + } + sqw.setLevel(6); + sqw.write(packet); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/TelnetAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/TelnetAppender.java new file mode 100644 index 00000000000..23847b551c1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/TelnetAppender.java @@ -0,0 +1,236 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.spi.LoggingEvent; + +import java.io.IOException; +import java.io.PrintWriter; +import java.io.InterruptedIOException; +import java.net.ServerSocket; +import java.net.Socket; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.Vector; + +/** + <p>The TelnetAppender is a log4j appender that specializes in + writing to a read-only socket. The output is provided in a + telnet-friendly way so that a log can be monitored over TCP/IP. + Clients using telnet connect to the socket and receive log data. + This is handy for remote monitoring, especially when monitoring a + servlet. + + <p>Here is a list of the available configuration options: + + <table border=1> + <tr> + <th>Name</th> + <th>Requirement</th> + <th>Description</th> + <th>Sample Value</th> + </tr> + + <tr> + <td>Port</td> + <td>optional</td> + <td>This parameter determines the port to use for announcing log events. The default port is 23 (telnet).</td> + <td>5875</td> + </table> + + @author <a HREF="mailto:jay@v-wave.com">Jay Funnell</a> +*/ + +public class TelnetAppender extends AppenderSkeleton { + + private SocketHandler sh; + private int port = 23; + + /** + This appender requires a layout to format the text to the + attached client(s). */ + public boolean requiresLayout() { + return true; + } + + /** all of the options have been set, create the socket handler and + wait for connections. */ + public void activateOptions() { + try { + sh = new SocketHandler(port); + sh.start(); + } + catch(InterruptedIOException e) { + Thread.currentThread().interrupt(); + e.printStackTrace(); + } catch(IOException e) { + e.printStackTrace(); + } catch(RuntimeException e) { + e.printStackTrace(); + } + super.activateOptions(); + } + + public + int getPort() { + return port; + } + + public + void setPort(int port) { + this.port = port; + } + + + /** shuts down the appender. */ + public void close() { + if (sh != null) { + sh.close(); + try { + sh.join(); + } catch(InterruptedException ex) { + Thread.currentThread().interrupt(); + } + } + } + + /** Handles a log event. For this appender, that means writing the + message to each connected client. */ + protected void append(LoggingEvent event) { + if(sh != null) { + sh.send(layout.format(event)); + if(layout.ignoresThrowable()) { + String[] s = event.getThrowableStrRep(); + if (s != null) { + StringBuffer buf = new StringBuffer(); + for(int i = 0; i < s.length; i++) { + buf.append(s[i]); + buf.append("\r\n"); + } + sh.send(buf.toString()); + } + } + } + } + + //---------------------------------------------------------- SocketHandler: + + /** The SocketHandler class is used to accept connections from + clients. It is threaded so that clients can connect/disconnect + asynchronously. */ + protected class SocketHandler extends Thread { + + private Vector writers = new Vector(); + private Vector connections = new Vector(); + private ServerSocket serverSocket; + private int MAX_CONNECTIONS = 20; + + public void finalize() { + close(); + } + + /** + * make sure we close all network connections when this handler is destroyed. + * @since 1.2.15 + */ + public void close() { + synchronized(this) { + for(Enumeration e = connections.elements();e.hasMoreElements();) { + try { + ((Socket)e.nextElement()).close(); + } catch(InterruptedIOException ex) { + Thread.currentThread().interrupt(); + } catch(IOException ex) { + } catch(RuntimeException ex) { + } + } + } + + try { + serverSocket.close(); + } catch(InterruptedIOException ex) { + Thread.currentThread().interrupt(); + } catch(IOException ex) { + } catch(RuntimeException ex) { + } + } + + /** sends a message to each of the clients in telnet-friendly output. */ + public synchronized void send(final String message) { + Iterator ce = connections.iterator(); + for(Iterator e = writers.iterator();e.hasNext();) { + ce.next(); + PrintWriter writer = (PrintWriter)e.next(); + writer.print(message); + if(writer.checkError()) { + ce.remove(); + e.remove(); + } + } + } + + /** + Continually accepts client connections. Client connections + are refused when MAX_CONNECTIONS is reached. + */ + public void run() { + while(!serverSocket.isClosed()) { + try { + Socket newClient = serverSocket.accept(); + PrintWriter pw = new PrintWriter(newClient.getOutputStream()); + if(connections.size() < MAX_CONNECTIONS) { + synchronized(this) { + connections.addElement(newClient); + writers.addElement(pw); + pw.print("TelnetAppender v1.0 (" + connections.size() + + " active connections)\r\n\r\n"); + pw.flush(); + } + } else { + pw.print("Too many connections.\r\n"); + pw.flush(); + newClient.close(); + } + } catch(Exception e) { + if (e instanceof InterruptedIOException || e instanceof InterruptedException) { + Thread.currentThread().interrupt(); + } + if (!serverSocket.isClosed()) { + LogLog.error("Encountered error while in SocketHandler loop.", e); + } + break; + } + } + + try { + serverSocket.close(); + } catch(InterruptedIOException ex) { + Thread.currentThread().interrupt(); + } catch(IOException ex) { + } + } + + public SocketHandler(int port) throws IOException { + serverSocket = new ServerSocket(port); + setName("TelnetAppender-" + getName() + "-" + port); + } + + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/ZeroConfSupport.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/ZeroConfSupport.java new file mode 100644 index 00000000000..32ac971cbd8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/ZeroConfSupport.java @@ -0,0 +1,206 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.net; + +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; + +import org.apache.log4j.helpers.LogLog; + +public class ZeroConfSupport { + private static Object jmDNS = initializeJMDNS(); + + Object serviceInfo; + private static Class jmDNSClass; + private static Class serviceInfoClass; + + public ZeroConfSupport(String zone, int port, String name, Map properties) { + //if version 3 is available, use it to constuct a serviceInfo instance, otherwise support the version1 API + boolean isVersion3 = false; + try { + //create method is in version 3, not version 1 + jmDNSClass.getMethod("create", null); + isVersion3 = true; + } catch (NoSuchMethodException e) { + //no-op + } + + if (isVersion3) { + LogLog.debug("using JmDNS version 3 to construct serviceInfo instance"); + serviceInfo = buildServiceInfoVersion3(zone, port, name, properties); + } else { + LogLog.debug("using JmDNS version 1.0 to construct serviceInfo instance"); + serviceInfo = buildServiceInfoVersion1(zone, port, name, properties); + } + } + + public ZeroConfSupport(String zone, int port, String name) { + this(zone, port, name, new HashMap()); + } + + private static Object createJmDNSVersion1() + { + try { + return jmDNSClass.newInstance(); + } catch (InstantiationException e) { + LogLog.warn("Unable to instantiate JMDNS", e); + } catch (IllegalAccessException e) { + LogLog.warn("Unable to instantiate JMDNS", e); + } + return null; + } + + private static Object createJmDNSVersion3() + { + try { + Method jmDNSCreateMethod = jmDNSClass.getMethod("create", null); + return jmDNSCreateMethod.invoke(null, null); + } catch (IllegalAccessException e) { + LogLog.warn("Unable to instantiate jmdns class", e); + } catch (NoSuchMethodException e) { + LogLog.warn("Unable to access constructor", e); + } catch (InvocationTargetException e) { + LogLog.warn("Unable to call constructor", e); + } + return null; + } + + private Object buildServiceInfoVersion1(String zone, int port, String name, Map properties) { + //version 1 uses a hashtable + Hashtable hashtableProperties = new Hashtable(properties); + try { + Class[] args = new Class[6]; + args[0] = String.class; + args[1] = String.class; + args[2] = int.class; + args[3] = int.class; //weight (0) + args[4] = int.class; //priority (0) + args[5] = Hashtable.class; + Constructor constructor = serviceInfoClass.getConstructor(args); + Object[] values = new Object[6]; + values[0] = zone; + values[1] = name; + values[2] = new Integer(port); + values[3] = new Integer(0); + values[4] = new Integer(0); + values[5] = hashtableProperties; + Object result = constructor.newInstance(values); + LogLog.debug("created serviceinfo: " + result); + return result; + } catch (IllegalAccessException e) { + LogLog.warn("Unable to construct ServiceInfo instance", e); + } catch (NoSuchMethodException e) { + LogLog.warn("Unable to get ServiceInfo constructor", e); + } catch (InstantiationException e) { + LogLog.warn("Unable to construct ServiceInfo instance", e); + } catch (InvocationTargetException e) { + LogLog.warn("Unable to construct ServiceInfo instance", e); + } + return null; + } + + private Object buildServiceInfoVersion3(String zone, int port, String name, Map properties) { + try { + Class[] args = new Class[6]; + args[0] = String.class; //zone/type + args[1] = String.class; //display name + args[2] = int.class; //port + args[3] = int.class; //weight (0) + args[4] = int.class; //priority (0) + args[5] = Map.class; + Method serviceInfoCreateMethod = serviceInfoClass.getMethod("create", args); + Object[] values = new Object[6]; + values[0] = zone; + values[1] = name; + values[2] = new Integer(port); + values[3] = new Integer(0); + values[4] = new Integer(0); + values[5] = properties; + Object result = serviceInfoCreateMethod.invoke(null, values); + LogLog.debug("created serviceinfo: " + result); + return result; + } catch (IllegalAccessException e) { + LogLog.warn("Unable to invoke create method", e); + } catch (NoSuchMethodException e) { + LogLog.warn("Unable to find create method", e); + } catch (InvocationTargetException e) { + LogLog.warn("Unable to invoke create method", e); + } + return null; + } + + public void advertise() { + try { + Method method = jmDNSClass.getMethod("registerService", new Class[]{serviceInfoClass}); + method.invoke(jmDNS, new Object[]{serviceInfo}); + LogLog.debug("registered serviceInfo: " + serviceInfo); + } catch(IllegalAccessException e) { + LogLog.warn("Unable to invoke registerService method", e); + } catch(NoSuchMethodException e) { + LogLog.warn("No registerService method", e); + } catch(InvocationTargetException e) { + LogLog.warn("Unable to invoke registerService method", e); + } + } + + public void unadvertise() { + try { + Method method = jmDNSClass.getMethod("unregisterService", new Class[]{serviceInfoClass}); + method.invoke(jmDNS, new Object[]{serviceInfo}); + LogLog.debug("unregistered serviceInfo: " + serviceInfo); + } catch(IllegalAccessException e) { + LogLog.warn("Unable to invoke unregisterService method", e); + } catch(NoSuchMethodException e) { + LogLog.warn("No unregisterService method", e); + } catch(InvocationTargetException e) { + LogLog.warn("Unable to invoke unregisterService method", e); + } + } + + private static Object initializeJMDNS() { + try { + jmDNSClass = Class.forName("javax.jmdns.JmDNS"); + serviceInfoClass = Class.forName("javax.jmdns.ServiceInfo"); + } catch (ClassNotFoundException e) { + LogLog.warn("JmDNS or serviceInfo class not found", e); + } + + //if version 3 is available, use it to constuct a serviceInfo instance, otherwise support the version1 API + boolean isVersion3 = false; + try { + //create method is in version 3, not version 1 + jmDNSClass.getMethod("create", null); + isVersion3 = true; + } catch (NoSuchMethodException e) { + //no-op + } + + if (isVersion3) { + return createJmDNSVersion3(); + } else { + return createJmDNSVersion1(); + } + } + + public static Object getJMDNSInstance() { + return jmDNS; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/package.html new file mode 100644 index 00000000000..1d2e96556cb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/net/package.html @@ -0,0 +1,30 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> <head> +<title></title> +</head> +<body> +<p>Package for remote logging. + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Tue Mar 21 20:28:14 MET 2000 +<!-- hhmts end --> +</body> </html> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/nt/NTEventLogAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/nt/NTEventLogAppender.java new file mode 100644 index 00000000000..9f80addfcba --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/nt/NTEventLogAppender.java @@ -0,0 +1,182 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.nt; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.Layout; +import org.apache.log4j.TTCCLayout; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.spi.LoggingEvent; + + +/** + Append to the NT event log system. + + <p><b>WARNING</b> This appender can only be installed and used on a + Windows system. + + <p>Do not forget to place NTEventLogAppender.dll, + NTEventLogAppender.amd64.dll, NTEventLogAppender.ia64.dll + or NTEventLogAppender.x86.dll as appropriate in a + directory that is on the PATH of the Windows system. Otherwise, you + will get a java.lang.UnsatisfiedLinkError. + + @author <a href="mailto:cstaylor@pacbell.net">Chris Taylor</a> + @author <a href="mailto:jim_cakalic@na.biomerieux.com">Jim Cakalic</a> */ +public class NTEventLogAppender extends AppenderSkeleton { + private int _handle = 0; + + private String source = null; + private String server = null; + + + public NTEventLogAppender() { + this(null, null, null); + } + + public NTEventLogAppender(String source) { + this(null, source, null); + } + + public NTEventLogAppender(String server, String source) { + this(server, source, null); + } + + public NTEventLogAppender(Layout layout) { + this(null, null, layout); + } + + public NTEventLogAppender(String source, Layout layout) { + this(null, source, layout); + } + + public NTEventLogAppender(String server, String source, Layout layout) { + if (source == null) { + source = "Log4j"; + } + if (layout == null) { + this.layout = new TTCCLayout(); + } else { + this.layout = layout; + } + + try { + _handle = registerEventSource(server, source); + } catch (Exception e) { + e.printStackTrace(); + _handle = 0; + } + } + + public + void close() { + // unregister ... + } + + public + void activateOptions() { + if (source != null) { + try { + _handle = registerEventSource(server, source); + } catch (Exception e) { + LogLog.error("Could not register event source.", e); + _handle = 0; + } + } + } + + + public void append(LoggingEvent event) { + + StringBuffer sbuf = new StringBuffer(); + + sbuf.append(layout.format(event)); + if(layout.ignoresThrowable()) { + String[] s = event.getThrowableStrRep(); + if (s != null) { + int len = s.length; + for(int i = 0; i < len; i++) { + sbuf.append(s[i]); + } + } + } + // Normalize the log message level into the supported categories + int nt_category = event.getLevel().toInt(); + + // Anything above FATAL or below DEBUG is labeled as INFO. + //if (nt_category > FATAL || nt_category < DEBUG) { + // nt_category = INFO; + //} + reportEvent(_handle, sbuf.toString(), nt_category); + } + + + public + void finalize() { + deregisterEventSource(_handle); + _handle = 0; + } + + /** + The <b>Source</b> option which names the source of the event. The + current value of this constant is <b>Source</b>. + */ + public + void setSource(String source) { + this.source = source.trim(); + } + + public + String getSource() { + return source; + } + +/** + The <code>NTEventLogAppender</code> requires a layout. Hence, + this method always returns <code>true</code>. */ + public + boolean requiresLayout() { + return true; + } + + native private int registerEventSource(String server, String source); + native private void reportEvent(int handle, String message, int level); + native private void deregisterEventSource(int handle); + + static { + String[] archs; + try { + archs = new String[] { System.getProperty("os.arch")}; + } catch(SecurityException e) { + archs = new String[] { "amd64", "ia64", "x86"}; + } + boolean loaded = false; + for(int i = 0; i < archs.length; i++) { + try { + System.loadLibrary("NTEventLogAppender." + archs[i]); + loaded = true; + break; + } catch(java.lang.UnsatisfiedLinkError e) { + loaded = false; + } + } + if (!loaded) { + System.loadLibrary("NTEventLogAppender"); + } +} +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/nt/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/nt/package.html new file mode 100644 index 00000000000..a50567c301f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/nt/package.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> <head> +<title></title> +</head> + +<body> + +<p>Package for NT event logging. + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Sat Apr 29 14:30:12 MDT 2000 +<!-- hhmts end --> +</body> </html> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/DefaultRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/DefaultRenderer.java new file mode 100644 index 00000000000..7fe4ac6c9f5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/DefaultRenderer.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.or; + +/** + The default Renderer renders objects by calling their + <code>toString</code> method. + + @author Ceki G&uuml;lc&uuml; + @since 1.0 */ +class DefaultRenderer implements ObjectRenderer { + + DefaultRenderer() { + } + + /** + Render the object passed as parameter by calling its + <code>toString</code> method. */ + public + String doRender(final Object o) { + try { + return o.toString(); + } catch(Exception ex) { + return ex.toString(); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/ObjectRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/ObjectRenderer.java new file mode 100644 index 00000000000..8ad99439e83 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/ObjectRenderer.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.or; + +/** + Implement this interface in order to render objects as strings. + + @author Ceki G&uuml;lc&uuml; + @since 1.0 */ +public interface ObjectRenderer { + + /** + Render the object passed as parameter as a String. + */ + public + String doRender(Object o); +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/RendererMap.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/RendererMap.java new file mode 100644 index 00000000000..f60bd5a9677 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/RendererMap.java @@ -0,0 +1,198 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.or; + +import org.apache.log4j.spi.RendererSupport; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.OptionConverter; +import java.util.Hashtable; + +/** + Map class objects to an {@link ObjectRenderer}. + + @author Ceki G&uuml;lc&uuml; + @since version 1.0 */ +public class RendererMap { + + Hashtable map; + + static ObjectRenderer defaultRenderer = new DefaultRenderer(); + + public + RendererMap() { + map = new Hashtable(); + } + + /** + Add a renderer to a hierarchy passed as parameter. + */ + static + public + void addRenderer(RendererSupport repository, String renderedClassName, + String renderingClassName) { + LogLog.debug("Rendering class: ["+renderingClassName+"], Rendered class: ["+ + renderedClassName+"]."); + ObjectRenderer renderer = (ObjectRenderer) + OptionConverter.instantiateByClassName(renderingClassName, + ObjectRenderer.class, + null); + if(renderer == null) { + LogLog.error("Could not instantiate renderer ["+renderingClassName+"]."); + return; + } else { + try { + Class renderedClass = Loader.loadClass(renderedClassName); + repository.setRenderer(renderedClass, renderer); + } catch(ClassNotFoundException e) { + LogLog.error("Could not find class ["+renderedClassName+"].", e); + } + } + } + + + /** + Find the appropriate renderer for the class type of the + <code>o</code> parameter. This is accomplished by calling the + {@link #get(Class)} method. Once a renderer is found, it is + applied on the object <code>o</code> and the result is returned + as a {@link String}. */ + public + String findAndRender(Object o) { + if(o == null) + return null; + else + return get(o.getClass()).doRender(o); + } + + + /** + Syntactic sugar method that calls {@link #get(Class)} with the + class of the object parameter. */ + public + ObjectRenderer get(Object o) { + if(o == null) + return null; + else + return get(o.getClass()); + } + + + /** + Search the parents of <code>clazz</code> for a renderer. The + renderer closest in the hierarchy will be returned. If no + renderers could be found, then the default renderer is returned. + + <p>The search first looks for a renderer configured for + <code>clazz</code>. If a renderer could not be found, then the + search continues by looking at all the interfaces implemented by + <code>clazz</code> including the super-interfaces of each + interface. If a renderer cannot be found, then the search looks + for a renderer defined for the parent (superclass) of + <code>clazz</code>. If that fails, then all the interfaces + implemented by the parent of <code>clazz</code> are searched and + so on. + + <p>For example, if A0, A1, A2 are classes and X0, X1, X2, Y0, Y1 + are interfaces where A2 extends A1 which in turn extends A0 and + similarly X2 extends X1 which extends X0 and Y1 extends Y0. Let + us also assume that A1 implements the Y0 interface and that A2 + implements the X2 interface. + + <p>The table below shows the results returned by the + <code>get(A2.class)</code> method depending on the renderers + added to the map. + + <p><table border="1"> + <tr><th>Added renderers</th><th>Value returned by <code>get(A2.class)</code></th> + + <tr><td><code>A0Renderer</code> + <td align="center"><code>A0Renderer</code> + + <tr><td><code>A0Renderer, A1Renderer</code> + <td align="center"><code>A1Renderer</code> + + <tr><td><code>X0Renderer</code> + <td align="center"><code>X0Renderer</code> + + <tr><td><code>A1Renderer, X0Renderer</code> + <td align="center"><code>X0Renderer</code> + + </table> + + <p>This search algorithm is not the most natural, although it is + particularly easy to implement. Future log4j versions + <em>may</em> implement a more intuitive search + algorithm. However, the present algorithm should be acceptable in + the vast majority of circumstances. + + */ + public + ObjectRenderer get(Class clazz) { + //System.out.println("\nget: "+clazz); + ObjectRenderer r = null; + for(Class c = clazz; c != null; c = c.getSuperclass()) { + //System.out.println("Searching for class: "+c); + r = (ObjectRenderer) map.get(c); + if(r != null) { + return r; + } + r = searchInterfaces(c); + if(r != null) + return r; + } + return defaultRenderer; + } + + ObjectRenderer searchInterfaces(Class c) { + //System.out.println("Searching interfaces of class: "+c); + + ObjectRenderer r = (ObjectRenderer) map.get(c); + if(r != null) { + return r; + } else { + Class[] ia = c.getInterfaces(); + for(int i = 0; i < ia.length; i++) { + r = searchInterfaces(ia[i]); + if(r != null) + return r; + } + } + return null; + } + + + public + ObjectRenderer getDefaultRenderer() { + return defaultRenderer; + } + + + public + void clear() { + map.clear(); + } + + /** + Register an {@link ObjectRenderer} for <code>clazz</code>. + */ + public + void put(Class clazz, ObjectRenderer or) { + map.put(clazz, or); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/ThreadGroupRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/ThreadGroupRenderer.java new file mode 100644 index 00000000000..026ff4f8156 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/ThreadGroupRenderer.java @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.or; + +import org.apache.log4j.Layout; + + +/** + Render {@link ThreadGroup} objects in a format similar to the + information output by the {@link ThreadGroup#list} method. + @author Ceki G&uuml;lc&uuml; + @since 1.0 */ +public class ThreadGroupRenderer implements ObjectRenderer { + + public + ThreadGroupRenderer() { + } + + /** + Render a {@link ThreadGroup} object similar to the way that the + {@link ThreadGroup#list} method output information. + + <p>The output of a simple program consisting of one + <code>main</code> thread is: + <pre> + java.lang.ThreadGroup[name=main, maxpri=10] + Thread=[main,5,false] + </pre> + + <p>The boolean value in thread information is the value returned + by {@link Thread#isDaemon}. + + */ + public + String doRender(Object o) { + if(o instanceof ThreadGroup) { + StringBuffer sbuf = new StringBuffer(); + ThreadGroup tg = (ThreadGroup) o; + sbuf.append("java.lang.ThreadGroup[name="); + sbuf.append(tg.getName()); + sbuf.append(", maxpri="); + sbuf.append(tg.getMaxPriority()); + sbuf.append("]"); + Thread[] t = new Thread[tg.activeCount()]; + tg.enumerate(t); + for(int i = 0; i < t.length; i++) { + sbuf.append(Layout.LINE_SEP); + sbuf.append(" Thread=["); + sbuf.append(t[i].getName()); + sbuf.append(","); + sbuf.append(t[i].getPriority()); + sbuf.append(","); + sbuf.append(t[i].isDaemon()); + sbuf.append("]"); + } + return sbuf.toString(); + } else { + try { + // this is the best we can do + return o.toString(); + } catch(Exception ex) { + return ex.toString(); + } + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/jms/MessageRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/jms/MessageRenderer.java new file mode 100644 index 00000000000..e3140cbba5b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/jms/MessageRenderer.java @@ -0,0 +1,100 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.or.jms; + +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.or.ObjectRenderer; + +import javax.jms.Message; +import javax.jms.JMSException; +import javax.jms.DeliveryMode; + +/** + Render <code>javax.jms.Message</code> objects. + + @author Ceki G&uuml;lc&uuml; + @since 1.0 */ +public class MessageRenderer implements ObjectRenderer { + + public + MessageRenderer() { + } + + + /** + Render a {@link javax.jms.Message}. + */ + public + String doRender(Object o) { + if(o instanceof Message) { + StringBuffer sbuf = new StringBuffer(); + Message m = (Message) o; + try { + sbuf.append("DeliveryMode="); + switch(m.getJMSDeliveryMode()) { + case DeliveryMode.NON_PERSISTENT : + sbuf.append("NON_PERSISTENT"); + break; + case DeliveryMode.PERSISTENT : + sbuf.append("PERSISTENT"); + break; + default: sbuf.append("UNKNOWN"); + } + sbuf.append(", CorrelationID="); + sbuf.append(m.getJMSCorrelationID()); + + sbuf.append(", Destination="); + sbuf.append(m.getJMSDestination()); + + sbuf.append(", Expiration="); + sbuf.append(m.getJMSExpiration()); + + sbuf.append(", MessageID="); + sbuf.append(m.getJMSMessageID()); + + sbuf.append(", Priority="); + sbuf.append(m.getJMSPriority()); + + sbuf.append(", Redelivered="); + sbuf.append(m.getJMSRedelivered()); + + sbuf.append(", ReplyTo="); + sbuf.append(m.getJMSReplyTo()); + + sbuf.append(", Timestamp="); + sbuf.append(m.getJMSTimestamp()); + + sbuf.append(", Type="); + sbuf.append(m.getJMSType()); + + //Enumeration enum = m.getPropertyNames(); + //while(enum.hasMoreElements()) { + // String key = (String) enum.nextElement(); + // sbuf.append("; "+key+"="); + // sbuf.append(m.getStringProperty(key)); + //} + + } catch(JMSException e) { + LogLog.error("Could not parse Message.", e); + } + return sbuf.toString(); + } else { + return o.toString(); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/jms/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/jms/package.html new file mode 100644 index 00000000000..d4db1c84422 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/jms/package.html @@ -0,0 +1,24 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> + + <body> + This package contains the MessageRenderer which renders objects of + type <code>javax.jms.Message</code>. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/package.html new file mode 100644 index 00000000000..17fd176c0ba --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/package.html @@ -0,0 +1,30 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> + <head> +<title>org.apache.log4j.or package</title> +</head> + +<body> + +<p>ObjectRenders are resposible for rendering messages depending on +their class type. + +<hr> +</body> </html> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/sax/AttributesRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/sax/AttributesRenderer.java new file mode 100644 index 00000000000..b5d088c2c3e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/sax/AttributesRenderer.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.or.sax; + +import org.apache.log4j.or.ObjectRenderer; + +import org.xml.sax.Attributes; + +/** + Render <code>org.xml.sax.Attributes</code> objects. + + @author Ceki G&uuml;lc&uuml; + @since 1.2 */ +public class AttributesRenderer implements ObjectRenderer { + + public + AttributesRenderer() { + } + + + /** + Render a {@link org.xml.sax.Attributes}. + */ + public + String doRender(Object o) { + if(o instanceof Attributes) { + StringBuffer sbuf = new StringBuffer(); + Attributes a = (Attributes) o; + int len = a.getLength(); + boolean first = true; + for(int i = 0; i < len; i++) { + if(first) { + first = false; + } else { + sbuf.append(", "); + } + sbuf.append(a.getQName(i)); + sbuf.append('='); + sbuf.append(a.getValue(i)); + } + return sbuf.toString(); + } else { + try { + return o.toString(); + } catch(Exception ex) { + return ex.toString(); + } + } + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/sax/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/sax/package.html new file mode 100644 index 00000000000..a597141d5e3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/or/sax/package.html @@ -0,0 +1,24 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> + + <body> + This package contains the AttributesRenderer which renders object of + class <code>org.xml.sax.Attributes</code>. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/package.html new file mode 100644 index 00000000000..3cf6e3e705d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/package.html @@ -0,0 +1,28 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> <head> +<title></title> +</head> + +<body> + +<p>The main log4j package. + +<hr> +</body> </html> diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java similarity index 99% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java index 74cb37a5b4d..9a468aa4c07 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java @@ -34,6 +34,10 @@ import java.util.TimeZone; * */ public final class CachedDateFormat extends DateFormat { + /** + * Serialization version. + */ + private static final long serialVersionUID = 1; /** * Constant used to represent that there was no change * observed when changing the millisecond count. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java similarity index 77% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java index 010dca19e60..7162fe7e323 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java @@ -21,6 +21,9 @@ import org.apache.log4j.helpers.LogLog; import org.apache.log4j.spi.LoggingEvent; import java.text.SimpleDateFormat; +import java.text.DateFormat; +import java.text.FieldPosition; +import java.text.ParsePosition; import java.util.Date; import java.util.TimeZone; @@ -63,6 +66,45 @@ public final class DatePatternConverter extends LoggingEventPatternConverter { */ private final CachedDateFormat df; + /** + * This class wraps a DateFormat and forces the time zone to the + * default time zone before each format and parse request. + */ + private static class DefaultZoneDateFormat extends DateFormat { + /** + * Serialization version ID. + */ + private static final long serialVersionUID = 1; + /** + * Wrapped instance of DateFormat. + */ + private final DateFormat dateFormat; + + /** + * Construct new instance. + * @param format format, may not be null. + */ + public DefaultZoneDateFormat(final DateFormat format) { + dateFormat = format; + } + + /** + * @{inheritDoc} + */ + public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { + dateFormat.setTimeZone(TimeZone.getDefault()); + return dateFormat.format(date, toAppendTo, fieldPosition); + } + + /** + * @{inheritDoc} + */ + public Date parse(String source, ParsePosition pos) { + dateFormat.setTimeZone(TimeZone.getDefault()); + return dateFormat.parse(source, pos); + } + } + /** * Private constructor. * @param options options, may be null. @@ -95,7 +137,7 @@ public final class DatePatternConverter extends LoggingEventPatternConverter { } int maximumCacheValidity = 1000; - SimpleDateFormat simpleFormat = null; + DateFormat simpleFormat = null; try { simpleFormat = new SimpleDateFormat(pattern); @@ -113,6 +155,8 @@ public final class DatePatternConverter extends LoggingEventPatternConverter { if ((options != null) && (options.length > 1)) { TimeZone tz = TimeZone.getTimeZone((String) options[1]); simpleFormat.setTimeZone(tz); + } else { + simpleFormat = new DefaultZoneDateFormat(simpleFormat); } df = new CachedDateFormat(simpleFormat, maximumCacheValidity); diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/FormattingInfo.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/FormattingInfo.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/FormattingInfo.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/FormattingInfo.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LiteralPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LiteralPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LiteralPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LiteralPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LogEvent.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LogEvent.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LogEvent.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LogEvent.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LoggingEventPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LoggingEventPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/LoggingEventPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/LoggingEventPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java new file mode 100644 index 00000000000..b7e89a0cdd2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java @@ -0,0 +1,350 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import java.util.ArrayList; +import java.util.List; + + +/** + * NameAbbreviator generates abbreviated logger and class names. + * + */ +public abstract class NameAbbreviator { + /** + * Default (no abbreviation) abbreviator. + */ + private static final NameAbbreviator DEFAULT = new NOPAbbreviator(); + + /** + * Gets an abbreviator. + * + * For example, "%logger{2}" will output only 2 elements of the logger name, + * %logger{-2} will drop 2 elements from the logger name, + * "%logger{1.}" will output only the first character of the non-final elements in the name, + * "%logger{1~.2~} will output the first character of the first element, two characters of + * the second and subsequent elements and will use a tilde to indicate abbreviated characters. + * + * @param pattern abbreviation pattern. + * @return abbreviator, will not be null. + */ + public static NameAbbreviator getAbbreviator(final String pattern) { + if (pattern.length() > 0) { + // if pattern is just spaces and numbers then + // use MaxElementAbbreviator + String trimmed = pattern.trim(); + + if (trimmed.length() == 0) { + return DEFAULT; + } + + int i = 0; + if (trimmed.length() > 0) { + if (trimmed.charAt(0) == '-') { + i++; + } + for (; + (i < trimmed.length()) && + (trimmed.charAt(i) >= '0') && + (trimmed.charAt(i) <= '9'); + i++) { + } + } + + + // + // if all blanks and digits + // + if (i == trimmed.length()) { + int elements = Integer.parseInt(trimmed); + if (elements >= 0) { + return new MaxElementAbbreviator(elements); + } else { + return new DropElementAbbreviator(-elements); + } + } + + ArrayList fragments = new ArrayList(5); + char ellipsis; + int charCount; + int pos = 0; + + while ((pos < trimmed.length()) && (pos >= 0)) { + int ellipsisPos = pos; + + if (trimmed.charAt(pos) == '*') { + charCount = Integer.MAX_VALUE; + ellipsisPos++; + } else { + if ((trimmed.charAt(pos) >= '0') && (trimmed.charAt(pos) <= '9')) { + charCount = trimmed.charAt(pos) - '0'; + ellipsisPos++; + } else { + charCount = 0; + } + } + + ellipsis = '\0'; + + if (ellipsisPos < trimmed.length()) { + ellipsis = trimmed.charAt(ellipsisPos); + + if (ellipsis == '.') { + ellipsis = '\0'; + } + } + + fragments.add(new PatternAbbreviatorFragment(charCount, ellipsis)); + pos = trimmed.indexOf(".", pos); + + if (pos == -1) { + break; + } + + pos++; + } + + return new PatternAbbreviator(fragments); + } + + // + // no matching abbreviation, return defaultAbbreviator + // + return DEFAULT; + } + + /** + * Gets default abbreviator. + * + * @return default abbreviator. + */ + public static NameAbbreviator getDefaultAbbreviator() { + return DEFAULT; + } + + /** + * Abbreviates a name in a StringBuffer. + * + * @param nameStart starting position of name in buf. + * @param buf buffer, may not be null. + */ + public abstract void abbreviate(final int nameStart, final StringBuffer buf); + + /** + * Abbreviator that simply appends full name to buffer. + */ + private static class NOPAbbreviator extends NameAbbreviator { + /** + * Constructor. + */ + public NOPAbbreviator() { + } + + /** + * {@inheritDoc} + */ + public void abbreviate(final int nameStart, final StringBuffer buf) { + } + } + + /** + * Abbreviator that drops starting path elements. + */ + private static class MaxElementAbbreviator extends NameAbbreviator { + /** + * Maximum number of path elements to output. + */ + private final int count; + + /** + * Create new instance. + * @param count maximum number of path elements to output. + */ + public MaxElementAbbreviator(final int count) { + this.count = count; + } + + /** + * Abbreviate name. + * @param buf buffer to append abbreviation. + * @param nameStart start of name to abbreviate. + */ + public void abbreviate(final int nameStart, final StringBuffer buf) { + // We substract 1 from 'len' when assigning to 'end' to avoid out of + // bounds exception in return r.substring(end+1, len). This can happen if + // precision is 1 and the category name ends with a dot. + int end = buf.length() - 1; + + String bufString = buf.toString(); + for (int i = count; i > 0; i--) { + end = bufString.lastIndexOf(".", end - 1); + + if ((end == -1) || (end < nameStart)) { + return; + } + } + + buf.delete(nameStart, end + 1); + } + } + + /** + * Abbreviator that drops starting path elements. + */ + private static class DropElementAbbreviator extends NameAbbreviator { + /** + * Maximum number of path elements to output. + */ + private final int count; + + /** + * Create new instance. + * @param count maximum number of path elements to output. + */ + public DropElementAbbreviator(final int count) { + this.count = count; + } + + /** + * Abbreviate name. + * @param buf buffer to append abbreviation. + * @param nameStart start of name to abbreviate. + */ + public void abbreviate(final int nameStart, final StringBuffer buf) { + int i = count; + for(int pos = buf.indexOf(".", nameStart); + pos != -1; + pos = buf.indexOf(".", pos + 1)) { + if(--i == 0) { + buf.delete(nameStart, pos + 1); + break; + } + } + } + } + + + /** + * Fragment of an pattern abbreviator. + * + */ + private static class PatternAbbreviatorFragment { + /** + * Count of initial characters of element to output. + */ + private final int charCount; + + /** + * Character used to represent dropped characters. + * '\0' indicates no representation of dropped characters. + */ + private final char ellipsis; + + /** + * Creates a PatternAbbreviatorFragment. + * @param charCount number of initial characters to preserve. + * @param ellipsis character to represent elimination of characters, + * '\0' if no ellipsis is desired. + */ + public PatternAbbreviatorFragment( + final int charCount, final char ellipsis) { + this.charCount = charCount; + this.ellipsis = ellipsis; + } + + /** + * Abbreviate element of name. + * @param buf buffer to receive element. + * @param startPos starting index of name element. + * @return starting index of next element. + */ + public int abbreviate(final StringBuffer buf, final int startPos) { + int nextDot = buf.toString().indexOf(".", startPos); + + if (nextDot != -1) { + if ((nextDot - startPos) > charCount) { + buf.delete(startPos + charCount, nextDot); + nextDot = startPos + charCount; + + if (ellipsis != '\0') { + buf.insert(nextDot, ellipsis); + nextDot++; + } + } + + nextDot++; + } + + return nextDot; + } + } + + /** + * Pattern abbreviator. + * + * + */ + private static class PatternAbbreviator extends NameAbbreviator { + /** + * Element abbreviation patterns. + */ + private final PatternAbbreviatorFragment[] fragments; + + /** + * Create PatternAbbreviator. + * + * @param fragments element abbreviation patterns. + */ + public PatternAbbreviator(List fragments) { + if (fragments.size() == 0) { + throw new IllegalArgumentException( + "fragments must have at least one element"); + } + + this.fragments = new PatternAbbreviatorFragment[fragments.size()]; + fragments.toArray(this.fragments); + } + + /** + * Abbreviate name. + * @param buf buffer that abbreviated name is appended. + * @param nameStart start of name. + */ + public void abbreviate(final int nameStart, final StringBuffer buf) { + // + // all non-terminal patterns are executed once + // + int pos = nameStart; + + for (int i = 0; (i < (fragments.length - 1)) && (pos < buf.length()); + i++) { + pos = fragments[i].abbreviate(buf, pos); + } + + // + // last pattern in executed repeatedly + // + PatternAbbreviatorFragment terminalFragment = + fragments[fragments.length - 1]; + + while ((pos < buf.length()) && (pos >= 0)) { + pos = terminalFragment.abbreviate(buf, pos); + } + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/NamePatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/NamePatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/NamePatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/NamePatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/PatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/PatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/PatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/PatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/PatternParser.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/PatternParser.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/PatternParser.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/PatternParser.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java index e2f228edb20..a55cf97eddc 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java @@ -19,11 +19,6 @@ package org.apache.log4j.pattern; import org.apache.log4j.spi.LoggingEvent; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.lang.reflect.*; import java.util.Iterator; import java.util.Set; import org.apache.log4j.helpers.*; diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java similarity index 62% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java index 256274209ee..bf9c4b44577 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java @@ -22,18 +22,23 @@ import org.apache.log4j.spi.ThrowableInformation; /** - * Outputs the ThrowableInformation portion of the LoggingiEvent as a full stacktrace - * unless this converter's option is 'short', where it just outputs the first line of the trace. + * Outputs the ThrowableInformation portion of the LoggingEvent. + * By default, outputs the full stack trace. %throwable{none} + * or %throwable{0} suppresses the stack trace. %throwable{short} + * or %throwable{1} outputs just the first line. %throwable{n} + * will output n lines for a positive integer or drop the last + * -n lines for a negative integer. * * @author Paul Smith * */ public class ThrowableInformationPatternConverter extends LoggingEventPatternConverter { + /** - * If "short", only first line of throwable report will be formatted. + * Maximum lines of stack trace to output. */ - private final String option; + private int maxLines = Integer.MAX_VALUE; /** * Private constructor. @@ -44,9 +49,16 @@ public class ThrowableInformationPatternConverter super("Throwable", "throwable"); if ((options != null) && (options.length > 0)) { - option = options[0]; - } else { - option = null; + if("none".equals(options[0])) { + maxLines = 0; + } else if("short".equals(options[0])) { + maxLines = 1; + } else { + try { + maxLines = Integer.parseInt(options[0]); + } catch(NumberFormatException ex) { + } + } } } @@ -65,26 +77,23 @@ public class ThrowableInformationPatternConverter * {@inheritDoc} */ public void format(final LoggingEvent event, final StringBuffer toAppendTo) { - ThrowableInformation information = event.getThrowableInformation(); + if (maxLines != 0) { + ThrowableInformation information = event.getThrowableInformation(); - if (information != null) { - String[] stringRep = information.getThrowableStrRep(); + if (information != null) { + String[] stringRep = information.getThrowableStrRep(); - int length = 0; + int length = stringRep.length; + if (maxLines < 0) { + length += maxLines; + } else if (length > maxLines) { + length = maxLines; + } - if (option == null) { - length = stringRep.length; - } else if (option.equals("full")) { - length = stringRep.length; - } else if (option.equals("short")) { - length = 1; - } else { - length = stringRep.length; - } - - for (int i = 0; i < length; i++) { - String string = stringRep[i]; - toAppendTo.append(string).append("\n"); + for (int i = 0; i < length; i++) { + String string = stringRep[i]; + toAppendTo.append(string).append("\n"); + } } } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/package.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/package.html rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/pattern/package.html diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/AppenderAttachable.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/AppenderAttachable.java new file mode 100644 index 00000000000..89d7ef4209e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/AppenderAttachable.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import org.apache.log4j.Appender; +import java.util.Enumeration; + +/** + Interface for attaching appenders to objects. + + @author Ceki G&uuml;lc&uuml; + @since 0.9.1 */ +public interface AppenderAttachable { + + /** + Add an appender. + */ + public + void addAppender(Appender newAppender); + + /** + Get all previously added appenders as an Enumeration. */ + public + Enumeration getAllAppenders(); + + /** + Get an appender by name. + */ + public + Appender getAppender(String name); + + + /** + Returns <code>true</code> if the specified appender is in list of + attached attached, <code>false</code> otherwise. + + @since 1.2 */ + public + boolean isAttached(Appender appender); + + /** + Remove all previously added appenders. + */ + void removeAllAppenders(); + + + /** + Remove the appender passed as parameter from the list of appenders. + */ + void removeAppender(Appender appender); + + + /** + Remove the appender with the name passed as parameter from the + list of appenders. + */ + void + removeAppender(String name); +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/Configurator.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/Configurator.java new file mode 100644 index 00000000000..14fdd73ab0d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/Configurator.java @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import java.net.URL; + +/** + Implemented by classes capable of configuring log4j using a URL. + + @since 1.0 + @author Anders Kristensen + */ +public interface Configurator { + + /** + Special level value signifying inherited behaviour. The current + value of this string constant is <b>inherited</b>. {@link #NULL} + is a synonym. */ + public static final String INHERITED = "inherited"; + + /** + Special level signifying inherited behaviour, same as {@link + #INHERITED}. The current value of this string constant is + <b>null</b>. */ + public static final String NULL = "null"; + + + + /** + Interpret a resource pointed by a URL and set up log4j accordingly. + + The configuration is done relative to the <code>hierarchy</code> + parameter. + + @param url The URL to parse + @param repository The hierarchy to operation upon. + */ + void doConfigure(URL url, LoggerRepository repository); +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/DefaultRepositorySelector.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/DefaultRepositorySelector.java new file mode 100644 index 00000000000..4b307524e4c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/DefaultRepositorySelector.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +package org.apache.log4j.spi; + + +public class DefaultRepositorySelector implements RepositorySelector { + + final LoggerRepository repository; + + public + DefaultRepositorySelector(LoggerRepository repository) { + this.repository = repository; + } + + public + LoggerRepository getLoggerRepository() { + return repository; + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ErrorCode.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ErrorCode.java new file mode 100644 index 00000000000..b0e57f1fe7d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ErrorCode.java @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + + +/** + This interface defines commonly encoutered error codes. + + @author Ceki G&uuml;lc&uuml; + @since 0.9.0 + */ +public interface ErrorCode { + + public final int GENERIC_FAILURE = 0; + public final int WRITE_FAILURE = 1; + public final int FLUSH_FAILURE = 2; + public final int CLOSE_FAILURE = 3; + public final int FILE_OPEN_FAILURE = 4; + public final int MISSING_LAYOUT = 5; + public final int ADDRESS_PARSE_FAILURE = 6; +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ErrorHandler.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ErrorHandler.java new file mode 100644 index 00000000000..d629a2dbd26 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ErrorHandler.java @@ -0,0 +1,92 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import org.apache.log4j.Appender; +import org.apache.log4j.Logger; + + +/** + Appenders may delegate their error handling to + <code>ErrorHandlers</code>. + + <p>Error handling is a particularly tedious to get right because by + definition errors are hard to predict and to reproduce. + + + <p>Please take the time to contact the author in case you discover + that errors are not properly handled. You are most welcome to + suggest new error handling policies or criticize existing policies. + + + @author Ceki G&uuml;lc&uuml; + +*/ +public interface ErrorHandler extends OptionHandler { + + /** + Add a reference to a logger to which the failing appender might + be attached to. The failing appender will be searched and + replaced only in the loggers you add through this method. + + @param logger One of the loggers that will be searched for the failing + appender in view of replacement. + + @since 1.2 */ + void setLogger(Logger logger); + + + /** + Equivalent to the {@link #error(String, Exception, int, + LoggingEvent event)} with the the event parameteter set to + <code>null</code>. + + */ + void error(String message, Exception e, int errorCode); + + /** + This method is normally used to just print the error message + passed as a parameter. + */ + void error(String message); + + /** + This method is invoked to handle the error. + + @param message The message assoicated with the error. + @param e The Exption that was thrown when the error occured. + @param errorCode The error code associated with the error. + @param event The logging event that the failing appender is asked + to log. + + @since 1.2 */ + void error(String message, Exception e, int errorCode, LoggingEvent event); + + /** + Set the appender for which errors are handled. This method is + usually called when the error handler is configured. + + @since 1.2 */ + void setAppender(Appender appender); + + /** + Set the appender to falkback upon in case of failure. + + @since 1.2 */ + void setBackupAppender(Appender appender); +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/Filter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/Filter.java new file mode 100644 index 00000000000..7bddbe828c1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/Filter.java @@ -0,0 +1,124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + + + +/** + Users should extend this class to implement customized logging + event filtering. Note that {@link org.apache.log4j.Category} and {@link + org.apache.log4j.AppenderSkeleton}, the parent class of all standard + appenders, have built-in filtering rules. It is suggested that you + first use and understand the built-in rules before rushing to write + your own custom filters. + + <p>This abstract class assumes and also imposes that filters be + organized in a linear chain. The {@link #decide + decide(LoggingEvent)} method of each filter is called sequentially, + in the order of their addition to the chain. + + <p>The {@link #decide decide(LoggingEvent)} method must return one + of the integer constants {@link #DENY}, {@link #NEUTRAL} or {@link + #ACCEPT}. + + <p>If the value {@link #DENY} is returned, then the log event is + dropped immediately without consulting with the remaining + filters. + + <p>If the value {@link #NEUTRAL} is returned, then the next filter + in the chain is consulted. If there are no more filters in the + chain, then the log event is logged. Thus, in the presence of no + filters, the default behaviour is to log all logging events. + + <p>If the value {@link #ACCEPT} is returned, then the log + event is logged without consulting the remaining filters. + + <p>The philosophy of log4j filters is largely inspired from the + Linux ipchains. + + <p>Note that filtering is only supported by the {@link + org.apache.log4j.xml.DOMConfigurator DOMConfigurator}. The {@link + org.apache.log4j.PropertyConfigurator PropertyConfigurator} does not + support filters. + + @author Ceki G&uuml;lc&uuml; + @since 0.9.0 */ +public abstract class Filter implements OptionHandler { + + /** + Points to the next filter in the filter chain. + + @deprecated As of 1.2.12, use {@link #getNext} and {@link #setNext} instead + */ + public Filter next; + + /** + The log event must be dropped immediately without consulting + with the remaining filters, if any, in the chain. */ + public static final int DENY = -1; + + /** + This filter is neutral with respect to the log event. The + remaining filters, if any, should be consulted for a final decision. + */ + public static final int NEUTRAL = 0; + + /** + The log event must be logged immediately without consulting with + the remaining filters, if any, in the chain. */ + public static final int ACCEPT = 1; + + + /** + Usually filters options become active when set. We provide a + default do-nothing implementation for convenience. + */ + public + void activateOptions() { + } + + + + /** + <p>If the decision is <code>DENY</code>, then the event will be + dropped. If the decision is <code>NEUTRAL</code>, then the next + filter, if any, will be invoked. If the decision is ACCEPT then + the event will be logged without consulting with other filters in + the chain. + + @param event The LoggingEvent to decide upon. + @return decision The decision of the filter. */ + abstract + public + int decide(LoggingEvent event); + + /** + * Set the next filter pointer. + */ + public void setNext(Filter next) { + this.next = next; + } + + /** + * Return the pointer to the next filter; + */ + public Filter getNext() { + return next; + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/HierarchyEventListener.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/HierarchyEventListener.java new file mode 100644 index 00000000000..77a0efda1df --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/HierarchyEventListener.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import org.apache.log4j.Appender; +import org.apache.log4j.Category; + +/** + Listen to events occuring within a {@link + org.apache.log4j.Hierarchy Hierarchy}. + + @author Ceki G&uuml;lc&uuml; + @since 1.2 + + */ +public interface HierarchyEventListener { + + + //public + //void categoryCreationEvent(Category cat); + + + public + void addAppenderEvent(Category cat, Appender appender); + + public + void removeAppenderEvent(Category cat, Appender appender); + + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LocationInfo.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LocationInfo.java new file mode 100644 index 00000000000..55ee5c30898 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LocationInfo.java @@ -0,0 +1,391 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contributors: Mathias Rupprecht <mmathias.rupprecht@fja.com> + +package org.apache.log4j.spi; + +import org.apache.log4j.Layout; +import org.apache.log4j.helpers.LogLog; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.io.InterruptedIOException; +import java.lang.reflect.Method; +import java.lang.reflect.InvocationTargetException; + +/** + The internal representation of caller location information. + + @since 0.8.3 +*/ +public class LocationInfo implements java.io.Serializable { + + /** + Caller's line number. + */ + transient String lineNumber; + /** + Caller's file name. + */ + transient String fileName; + /** + Caller's fully qualified class name. + */ + transient String className; + /** + Caller's method name. + */ + transient String methodName; + /** + All available caller information, in the format + <code>fully.qualified.classname.of.caller.methodName(Filename.java:line)</code> + */ + public String fullInfo; + + private static StringWriter sw = new StringWriter(); + private static PrintWriter pw = new PrintWriter(sw); + + private static Method getStackTraceMethod; + private static Method getClassNameMethod; + private static Method getMethodNameMethod; + private static Method getFileNameMethod; + private static Method getLineNumberMethod; + + + /** + When location information is not available the constant + <code>NA</code> is returned. Current value of this string + constant is <b>?</b>. */ + public final static String NA = "?"; + + static final long serialVersionUID = -1325822038990805636L; + + /** + * NA_LOCATION_INFO is provided for compatibility with log4j 1.3. + * @since 1.2.15 + */ + public static final LocationInfo NA_LOCATION_INFO = + new LocationInfo(NA, NA, NA, NA); + + + + // Check if we are running in IBM's visual age. + static boolean inVisualAge = false; + static { + try { + inVisualAge = Class.forName("com.ibm.uvm.tools.DebugSupport") != null; + LogLog.debug("Detected IBM VisualAge environment."); + } catch(Throwable e) { + // nothing to do + } + try { + Class[] noArgs = null; + getStackTraceMethod = Throwable.class.getMethod("getStackTrace", noArgs); + Class stackTraceElementClass = Class.forName("java.lang.StackTraceElement"); + getClassNameMethod = stackTraceElementClass.getMethod("getClassName", noArgs); + getMethodNameMethod = stackTraceElementClass.getMethod("getMethodName", noArgs); + getFileNameMethod = stackTraceElementClass.getMethod("getFileName", noArgs); + getLineNumberMethod = stackTraceElementClass.getMethod("getLineNumber", noArgs); + } catch(ClassNotFoundException ex) { + LogLog.debug("LocationInfo will use pre-JDK 1.4 methods to determine location."); + } catch(NoSuchMethodException ex) { + LogLog.debug("LocationInfo will use pre-JDK 1.4 methods to determine location."); + } + } + + /** + Instantiate location information based on a Throwable. We + expect the Throwable <code>t</code>, to be in the format + + <pre> + java.lang.Throwable + ... + at org.apache.log4j.PatternLayout.format(PatternLayout.java:413) + at org.apache.log4j.FileAppender.doAppend(FileAppender.java:183) + at org.apache.log4j.Category.callAppenders(Category.java:131) + at org.apache.log4j.Category.log(Category.java:512) + at callers.fully.qualified.className.methodName(FileName.java:74) + ... + </pre> + + <p>However, we can also deal with JIT compilers that "lose" the + location information, especially between the parentheses. + @param t throwable used to determine location, may be null. + @param fqnOfCallingClass class name of first class considered part of + the logging framework. Location will be site that calls a method on this class. + + */ + public LocationInfo(Throwable t, String fqnOfCallingClass) { + if(t == null || fqnOfCallingClass == null) + return; + if (getLineNumberMethod != null) { + try { + Object[] noArgs = null; + Object[] elements = (Object[]) getStackTraceMethod.invoke(t, noArgs); + String prevClass = NA; + for(int i = elements.length - 1; i >= 0; i--) { + String thisClass = (String) getClassNameMethod.invoke(elements[i], noArgs); + if(fqnOfCallingClass.equals(thisClass)) { + int caller = i + 1; + if (caller < elements.length) { + className = prevClass; + methodName = (String) getMethodNameMethod.invoke(elements[caller], noArgs); + fileName = (String) getFileNameMethod.invoke(elements[caller], noArgs); + if (fileName == null) { + fileName = NA; + } + int line = ((Integer) getLineNumberMethod.invoke(elements[caller], noArgs)).intValue(); + if (line < 0) { + lineNumber = NA; + } else { + lineNumber = String.valueOf(line); + } + StringBuffer buf = new StringBuffer(); + buf.append(className); + buf.append("."); + buf.append(methodName); + buf.append("("); + buf.append(fileName); + buf.append(":"); + buf.append(lineNumber); + buf.append(")"); + this.fullInfo = buf.toString(); + } + return; + } + prevClass = thisClass; + } + return; + } catch(IllegalAccessException ex) { + LogLog.debug("LocationInfo failed using JDK 1.4 methods", ex); + } catch(InvocationTargetException ex) { + if (ex.getTargetException() instanceof InterruptedException + || ex.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.debug("LocationInfo failed using JDK 1.4 methods", ex); + } catch(RuntimeException ex) { + LogLog.debug("LocationInfo failed using JDK 1.4 methods", ex); + } + } + + String s; + // Protect against multiple access to sw. + synchronized(sw) { + t.printStackTrace(pw); + s = sw.toString(); + sw.getBuffer().setLength(0); + } + //System.out.println("s is ["+s+"]."); + int ibegin, iend; + + // Given the current structure of the package, the line + // containing "org.apache.log4j.Category." should be printed just + // before the caller. + + // This method of searching may not be fastest but it's safer + // than counting the stack depth which is not guaranteed to be + // constant across JVM implementations. + ibegin = s.lastIndexOf(fqnOfCallingClass); + if(ibegin == -1) + return; + + // + // if the next character after the class name exists + // but is not a period, see if the classname is + // followed by a period earlier in the trace. + // Minimizes mistakeningly matching on a class whose + // name is a substring of the desired class. + // See bug 44888. + if (ibegin + fqnOfCallingClass.length() < s.length() && + s.charAt(ibegin + fqnOfCallingClass.length()) != '.') { + int i = s.lastIndexOf(fqnOfCallingClass + "."); + if (i != -1) { + ibegin = i; + } + } + + + ibegin = s.indexOf(Layout.LINE_SEP, ibegin); + if(ibegin == -1) + return; + ibegin+= Layout.LINE_SEP_LEN; + + // determine end of line + iend = s.indexOf(Layout.LINE_SEP, ibegin); + if(iend == -1) + return; + + // VA has a different stack trace format which doesn't + // need to skip the inital 'at' + if(!inVisualAge) { + // back up to first blank character + ibegin = s.lastIndexOf("at ", iend); + if(ibegin == -1) + return; + // Add 3 to skip "at "; + ibegin += 3; + } + // everything between is the requested stack item + this.fullInfo = s.substring(ibegin, iend); + } + + /** + * Appends a location fragment to a buffer to build the + * full location info. + * @param buf StringBuffer to receive content. + * @param fragment fragment of location (class, method, file, line), + * if null the value of NA will be appended. + * @since 1.2.15 + */ + private static final void appendFragment(final StringBuffer buf, + final String fragment) { + if (fragment == null) { + buf.append(NA); + } else { + buf.append(fragment); + } + } + + /** + * Create new instance. + * @param file source file name + * @param classname class name + * @param method method + * @param line source line number + * + * @since 1.2.15 + */ + public LocationInfo( + final String file, + final String classname, + final String method, + final String line) { + this.fileName = file; + this.className = classname; + this.methodName = method; + this.lineNumber = line; + StringBuffer buf = new StringBuffer(); + appendFragment(buf, classname); + buf.append("."); + appendFragment(buf, method); + buf.append("("); + appendFragment(buf, file); + buf.append(":"); + appendFragment(buf, line); + buf.append(")"); + this.fullInfo = buf.toString(); + } + + /** + Return the fully qualified class name of the caller making the + logging request. + */ + public + String getClassName() { + if(fullInfo == null) return NA; + if(className == null) { + // Starting the search from '(' is safer because there is + // potentially a dot between the parentheses. + int iend = fullInfo.lastIndexOf('('); + if(iend == -1) + className = NA; + else { + iend =fullInfo.lastIndexOf('.', iend); + + // This is because a stack trace in VisualAge looks like: + + //java.lang.RuntimeException + // java.lang.Throwable() + // java.lang.Exception() + // java.lang.RuntimeException() + // void test.test.B.print() + // void test.test.A.printIndirect() + // void test.test.Run.main(java.lang.String []) + int ibegin = 0; + if (inVisualAge) { + ibegin = fullInfo.lastIndexOf(' ', iend)+1; + } + + if(iend == -1) + className = NA; + else + className = this.fullInfo.substring(ibegin, iend); + } + } + return className; + } + + /** + Return the file name of the caller. + + <p>This information is not always available. + */ + public + String getFileName() { + if(fullInfo == null) return NA; + + if(fileName == null) { + int iend = fullInfo.lastIndexOf(':'); + if(iend == -1) + fileName = NA; + else { + int ibegin = fullInfo.lastIndexOf('(', iend - 1); + fileName = this.fullInfo.substring(ibegin + 1, iend); + } + } + return fileName; + } + + /** + Returns the line number of the caller. + + <p>This information is not always available. + */ + public + String getLineNumber() { + if(fullInfo == null) return NA; + + if(lineNumber == null) { + int iend = fullInfo.lastIndexOf(')'); + int ibegin = fullInfo.lastIndexOf(':', iend -1); + if(ibegin == -1) + lineNumber = NA; + else + lineNumber = this.fullInfo.substring(ibegin + 1, iend); + } + return lineNumber; + } + + /** + Returns the method name of the caller. + */ + public + String getMethodName() { + if(fullInfo == null) return NA; + if(methodName == null) { + int iend = fullInfo.lastIndexOf('('); + int ibegin = fullInfo.lastIndexOf('.', iend); + if(ibegin == -1) + methodName = NA; + else + methodName = this.fullInfo.substring(ibegin + 1, iend); + } + return methodName; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggerFactory.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggerFactory.java new file mode 100644 index 00000000000..568c41fe19d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggerFactory.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import org.apache.log4j.Logger; + +/** + + Implement this interface to create new instances of Logger or + a sub-class of Logger. + + <p>See <code>examples/subclass/MyLogger.java</code> for an example. + + @author Ceki G&uuml;lc&uuml; + @since version 0.8.5 + + */ +public interface LoggerFactory { + + public + Logger makeNewLoggerInstance(String name); + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggerRepository.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggerRepository.java new file mode 100644 index 00000000000..9ca156b86ad --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggerRepository.java @@ -0,0 +1,110 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import java.util.Enumeration; + +import org.apache.log4j.Appender; +import org.apache.log4j.Category; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; + +/** + A <code>LoggerRepository</code> is used to create and retrieve + <code>Loggers</code>. The relation between loggers in a repository + depends on the repository but typically loggers are arranged in a + named hierarchy. + + <p>In addition to the creational methods, a + <code>LoggerRepository</code> can be queried for existing loggers, + can act as a point of registry for events related to loggers. + + @author Ceki G&uuml;lc&uuml; + @since 1.2 */ +public interface LoggerRepository { + + /** + Add a {@link HierarchyEventListener} event to the repository. + */ + public + void addHierarchyEventListener(HierarchyEventListener listener); + + /** + Returns whether this repository is disabled for a given + level. The answer depends on the repository threshold and the + <code>level</code> parameter. See also {@link #setThreshold} + method. */ + boolean isDisabled(int level); + + /** + Set the repository-wide threshold. All logging requests below the + threshold are immediately dropped. By default, the threshold is + set to <code>Level.ALL</code> which has the lowest possible rank. */ + public + void setThreshold(Level level); + + /** + Another form of {@link #setThreshold(Level)} accepting a string + parameter instead of a <code>Level</code>. */ + public + void setThreshold(String val); + + public + void emitNoAppenderWarning(Category cat); + + /** + Get the repository-wide threshold. See {@link + #setThreshold(Level)} for an explanation. */ + public + Level getThreshold(); + + public + Logger getLogger(String name); + + public + Logger getLogger(String name, LoggerFactory factory); + + public + Logger getRootLogger(); + + public + abstract + Logger exists(String name); + + public + abstract + void shutdown(); + + public + Enumeration getCurrentLoggers(); + + /** + Deprecated. Please use {@link #getCurrentLoggers} instead. */ + public + Enumeration getCurrentCategories(); + + + public + abstract + void fireAddAppenderEvent(Category logger, Appender appender); + + public + abstract + void resetConfiguration(); + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggingEvent.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggingEvent.java new file mode 100644 index 00000000000..2bacb50a05e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/LoggingEvent.java @@ -0,0 +1,639 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import java.io.InterruptedIOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Collections; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; +import java.util.Set; + +import org.apache.log4j.Category; +import org.apache.log4j.Level; +import org.apache.log4j.MDC; +import org.apache.log4j.NDC; +import org.apache.log4j.Priority; +import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.LogLog; + +// Contributors: Nelson Minar <nelson@monkey.org> +// Wolf Siberski +// Anders Kristensen <akristensen@dynamicsoft.com> + +/** + The internal representation of logging events. When an affirmative + decision is made to log then a <code>LoggingEvent</code> instance + is created. This instance is passed around to the different log4j + components. + + <p>This class is of concern to those wishing to extend log4j. + + @author Ceki G&uuml;lc&uuml; + @author James P. Cakalic + + @since 0.8.2 */ +public class LoggingEvent implements java.io.Serializable { + + private static long startTime = System.currentTimeMillis(); + + /** Fully qualified name of the calling category class. */ + transient public final String fqnOfCategoryClass; + + /** + * The category of the logging event. This field is not serialized + * for performance reasons. + * + * <p>It is set by the LoggingEvent constructor or set by a remote + * entity after deserialization. + * + * @deprecated This field will be marked as private or be completely + * removed in future releases. Please do not use it. + * */ + transient private Category logger; + + /** + * <p>The category (logger) name. + * + * @deprecated This field will be marked as private in future + * releases. Please do not access it directly. Use the {@link + * #getLoggerName} method instead. + + * */ + final public String categoryName; + + /** + * Level of logging event. Level cannot be serializable because it + * is a flyweight. Due to its special seralization it cannot be + * declared final either. + * + * <p> This field should not be accessed directly. You shoud use the + * {@link #getLevel} method instead. + * + * @deprecated This field will be marked as private in future + * releases. Please do not access it directly. Use the {@link + * #getLevel} method instead. + * */ + transient public Priority level; + + /** The nested diagnostic context (NDC) of logging event. */ + private String ndc; + + /** The mapped diagnostic context (MDC) of logging event. */ + private Hashtable mdcCopy; + + + /** Have we tried to do an NDC lookup? If we did, there is no need + * to do it again. Note that its value is always false when + * serialized. Thus, a receiving SocketNode will never use it's own + * (incorrect) NDC. See also writeObject method. */ + private boolean ndcLookupRequired = true; + + + /** Have we tried to do an MDC lookup? If we did, there is no need + * to do it again. Note that its value is always false when + * serialized. See also the getMDC and getMDCCopy methods. */ + private boolean mdcCopyLookupRequired = true; + + /** The application supplied message of logging event. */ + transient private Object message; + + /** The application supplied message rendered through the log4j + objet rendering mechanism.*/ + private String renderedMessage; + + /** The name of thread in which this logging event was generated. */ + private String threadName; + + + /** This + variable contains information about this event's throwable + */ + private ThrowableInformation throwableInfo; + + /** The number of milliseconds elapsed from 1/1/1970 until logging event + was created. */ + public final long timeStamp; + /** Location information for the caller. */ + private LocationInfo locationInfo; + + // Serialization + static final long serialVersionUID = -868428216207166145L; + + static final Integer[] PARAM_ARRAY = new Integer[1]; + static final String TO_LEVEL = "toLevel"; + static final Class[] TO_LEVEL_PARAMS = new Class[] {int.class}; + static final Hashtable methodCache = new Hashtable(3); // use a tiny table + + /** + Instantiate a LoggingEvent from the supplied parameters. + + <p>Except {@link #timeStamp} all the other fields of + <code>LoggingEvent</code> are filled when actually needed. + <p> + @param logger The logger generating this event. + @param level The level of this event. + @param message The message of this event. + @param throwable The throwable of this event. */ + public LoggingEvent(String fqnOfCategoryClass, Category logger, + Priority level, Object message, Throwable throwable) { + this.fqnOfCategoryClass = fqnOfCategoryClass; + this.logger = logger; + this.categoryName = logger.getName(); + this.level = level; + this.message = message; + if(throwable != null) { + this.throwableInfo = new ThrowableInformation(throwable, logger); + } + timeStamp = System.currentTimeMillis(); + } + + /** + Instantiate a LoggingEvent from the supplied parameters. + + <p>Except {@link #timeStamp} all the other fields of + <code>LoggingEvent</code> are filled when actually needed. + <p> + @param logger The logger generating this event. + @param timeStamp the timestamp of this logging event + @param level The level of this event. + @param message The message of this event. + @param throwable The throwable of this event. */ + public LoggingEvent(String fqnOfCategoryClass, Category logger, + long timeStamp, Priority level, Object message, + Throwable throwable) { + this.fqnOfCategoryClass = fqnOfCategoryClass; + this.logger = logger; + this.categoryName = logger.getName(); + this.level = level; + this.message = message; + if(throwable != null) { + this.throwableInfo = new ThrowableInformation(throwable, logger); + } + + this.timeStamp = timeStamp; + } + + /** + Create new instance. + @since 1.2.15 + @param fqnOfCategoryClass Fully qualified class name + of Logger implementation. + @param logger The logger generating this event. + @param timeStamp the timestamp of this logging event + @param level The level of this event. + @param message The message of this event. + @param threadName thread name + @param throwable The throwable of this event. + @param ndc Nested diagnostic context + @param info Location info + @param properties MDC properties + */ + public LoggingEvent(final String fqnOfCategoryClass, + final Category logger, + final long timeStamp, + final Level level, + final Object message, + final String threadName, + final ThrowableInformation throwable, + final String ndc, + final LocationInfo info, + final java.util.Map properties) { + super(); + this.fqnOfCategoryClass = fqnOfCategoryClass; + this.logger = logger; + if (logger != null) { + categoryName = logger.getName(); + } else { + categoryName = null; + } + this.level = level; + this.message = message; + if(throwable != null) { + this.throwableInfo = throwable; + } + + this.timeStamp = timeStamp; + this.threadName = threadName; + ndcLookupRequired = false; + this.ndc = ndc; + this.locationInfo = info; + mdcCopyLookupRequired = false; + if (properties != null) { + mdcCopy = new java.util.Hashtable(properties); + } + } + + + /** + Set the location information for this logging event. The collected + information is cached for future use. + */ + public LocationInfo getLocationInformation() { + if(locationInfo == null) { + locationInfo = new LocationInfo(new Throwable(), fqnOfCategoryClass); + } + return locationInfo; + } + + /** + * Return the level of this event. Use this form instead of directly + * accessing the <code>level</code> field. */ + public Level getLevel() { + return (Level) level; + } + + /** + * Return the name of the logger. Use this form instead of directly + * accessing the <code>categoryName</code> field. + */ + public String getLoggerName() { + return categoryName; + } + + /** + * Gets the logger of the event. + * Use should be restricted to cloning events. + * @since 1.2.15 + */ + public Category getLogger() { + return logger; + } + + /** + Return the message for this logging event. + + <p>Before serialization, the returned object is the message + passed by the user to generate the logging event. After + serialization, the returned value equals the String form of the + message possibly after object rendering. + + @since 1.1 */ + public + Object getMessage() { + if(message != null) { + return message; + } else { + return getRenderedMessage(); + } + } + + /** + * This method returns the NDC for this event. It will return the + * correct content even if the event was generated in a different + * thread or even on a different machine. The {@link NDC#get} method + * should <em>never</em> be called directly. */ + public + String getNDC() { + if(ndcLookupRequired) { + ndcLookupRequired = false; + ndc = NDC.get(); + } + return ndc; + } + + + /** + Returns the the context corresponding to the <code>key</code> + parameter. If there is a local MDC copy, possibly because we are + in a logging server or running inside AsyncAppender, then we + search for the key in MDC copy, if a value is found it is + returned. Otherwise, if the search in MDC copy returns a null + result, then the current thread's <code>MDC</code> is used. + + <p>Note that <em>both</em> the local MDC copy and the current + thread's MDC are searched. + + */ + public + Object getMDC(String key) { + Object r; + // Note the mdcCopy is used if it exists. Otherwise we use the MDC + // that is associated with the thread. + if(mdcCopy != null) { + r = mdcCopy.get(key); + if(r != null) { + return r; + } + } + return MDC.get(key); + } + + /** + Obtain a copy of this thread's MDC prior to serialization or + asynchronous logging. + */ + public + void getMDCCopy() { + if(mdcCopyLookupRequired) { + mdcCopyLookupRequired = false; + // the clone call is required for asynchronous logging. + // See also bug #5932. + Hashtable t = (Hashtable) MDC.getContext(); + if(t != null) { + mdcCopy = (Hashtable) t.clone(); + } + } + } + + public + String getRenderedMessage() { + if(renderedMessage == null && message != null) { + if(message instanceof String) + renderedMessage = (String) message; + else { + LoggerRepository repository = logger.getLoggerRepository(); + + if(repository instanceof RendererSupport) { + RendererSupport rs = (RendererSupport) repository; + renderedMessage= rs.getRendererMap().findAndRender(message); + } else { + renderedMessage = message.toString(); + } + } + } + return renderedMessage; + } + + /** + Returns the time when the application started, in milliseconds + elapsed since 01.01.1970. */ + public static long getStartTime() { + return startTime; + } + + public + String getThreadName() { + if(threadName == null) + threadName = (Thread.currentThread()).getName(); + return threadName; + } + + /** + Returns the throwable information contained within this + event. May be <code>null</code> if there is no such information. + + <p>Note that the {@link Throwable} object contained within a + {@link ThrowableInformation} does not survive serialization. + + @since 1.1 */ + public + ThrowableInformation getThrowableInformation() { + return throwableInfo; + } + + /** + Return this event's throwable's string[] representaion. + */ + public + String[] getThrowableStrRep() { + + if(throwableInfo == null) + return null; + else + return throwableInfo.getThrowableStrRep(); + } + + + private + void readLevel(ObjectInputStream ois) + throws java.io.IOException, ClassNotFoundException { + + int p = ois.readInt(); + try { + String className = (String) ois.readObject(); + if(className == null) { + level = Level.toLevel(p); + } else { + Method m = (Method) methodCache.get(className); + if(m == null) { + Class clazz = Loader.loadClass(className); + // Note that we use Class.getDeclaredMethod instead of + // Class.getMethod. This assumes that the Level subclass + // implements the toLevel(int) method which is a + // requirement. Actually, it does not make sense for Level + // subclasses NOT to implement this method. Also note that + // only Level can be subclassed and not Priority. + m = clazz.getDeclaredMethod(TO_LEVEL, TO_LEVEL_PARAMS); + methodCache.put(className, m); + } + PARAM_ARRAY[0] = new Integer(p); + level = (Level) m.invoke(null, PARAM_ARRAY); + } + } catch(InvocationTargetException e) { + if (e.getTargetException() instanceof InterruptedException + || e.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.warn("Level deserialization failed, reverting to default.", e); + level = Level.toLevel(p); + } catch(NoSuchMethodException e) { + LogLog.warn("Level deserialization failed, reverting to default.", e); + level = Level.toLevel(p); + } catch(IllegalAccessException e) { + LogLog.warn("Level deserialization failed, reverting to default.", e); + level = Level.toLevel(p); + } catch(RuntimeException e) { + LogLog.warn("Level deserialization failed, reverting to default.", e); + level = Level.toLevel(p); + } + } + + private void readObject(ObjectInputStream ois) + throws java.io.IOException, ClassNotFoundException { + ois.defaultReadObject(); + readLevel(ois); + + // Make sure that no location info is available to Layouts + if(locationInfo == null) + locationInfo = new LocationInfo(null, null); + } + + private + void writeObject(ObjectOutputStream oos) throws java.io.IOException { + // Aside from returning the current thread name the wgetThreadName + // method sets the threadName variable. + this.getThreadName(); + + // This sets the renders the message in case it wasn't up to now. + this.getRenderedMessage(); + + // This call has a side effect of setting this.ndc and + // setting ndcLookupRequired to false if not already false. + this.getNDC(); + + // This call has a side effect of setting this.mdcCopy and + // setting mdcLookupRequired to false if not already false. + this.getMDCCopy(); + + // This sets the throwable sting representation of the event throwable. + this.getThrowableStrRep(); + + oos.defaultWriteObject(); + + // serialize this event's level + writeLevel(oos); + } + + private + void writeLevel(ObjectOutputStream oos) throws java.io.IOException { + + oos.writeInt(level.toInt()); + + Class clazz = level.getClass(); + if(clazz == Level.class) { + oos.writeObject(null); + } else { + // writing directly the Class object would be nicer, except that + // serialized a Class object can not be read back by JDK + // 1.1.x. We have to resort to this hack instead. + oos.writeObject(clazz.getName()); + } + } + + /** + * Set value for MDC property. + * This adds the specified MDC property to the event. + * Access to the MDC is not synchronized, so this + * method should only be called when it is known that + * no other threads are accessing the MDC. + * @since 1.2.15 + * @param propName + * @param propValue + */ + public final void setProperty(final String propName, + final String propValue) { + if (mdcCopy == null) { + getMDCCopy(); + } + if (mdcCopy == null) { + mdcCopy = new Hashtable(); + } + mdcCopy.put(propName, propValue); + } + + /** + * Return a property for this event. The return value can be null. + * + * Equivalent to getMDC(String) in log4j 1.2. Provided + * for compatibility with log4j 1.3. + * + * @param key property name + * @return property value or null if property not set + * @since 1.2.15 + */ + public final String getProperty(final String key) { + Object value = getMDC(key); + String retval = null; + if (value != null) { + retval = value.toString(); + } + return retval; + } + + /** + * Check for the existence of location information without creating it + * (a byproduct of calling getLocationInformation). + * @return true if location information has been extracted. + * @since 1.2.15 + */ + public final boolean locationInformationExists() { + return (locationInfo != null); + } + + /** + * Getter for the event's time stamp. The time stamp is calculated starting + * from 1970-01-01 GMT. + * @return timestamp + * + * @since 1.2.15 + */ + public final long getTimeStamp() { + return timeStamp; + } + + /** + * Returns the set of the key values in the properties + * for the event. + * + * The returned set is unmodifiable by the caller. + * + * Provided for compatibility with log4j 1.3 + * + * @return Set an unmodifiable set of the property keys. + * @since 1.2.15 + */ + public Set getPropertyKeySet() { + return getProperties().keySet(); + } + + /** + * Returns the set of properties + * for the event. + * + * The returned set is unmodifiable by the caller. + * + * Provided for compatibility with log4j 1.3 + * + * @return Set an unmodifiable map of the properties. + * @since 1.2.15 + */ + public Map getProperties() { + getMDCCopy(); + Map properties; + if (mdcCopy == null) { + properties = new HashMap(); + } else { + properties = mdcCopy; + } + return Collections.unmodifiableMap(properties); + } + + /** + * Get the fully qualified name of the calling logger sub-class/wrapper. + * Provided for compatibility with log4j 1.3 + * @return fully qualified class name, may be null. + * @since 1.2.15 + */ + public String getFQNOfLoggerClass() { + return fqnOfCategoryClass; + } + + + /** + * This removes the specified MDC property from the event. + * Access to the MDC is not synchronized, so this + * method should only be called when it is known that + * no other threads are accessing the MDC. + * @param propName the property name to remove + * @since 1.2.16 + */ + public Object removeProperty(String propName) { + if (mdcCopy == null) { + getMDCCopy(); + } + if (mdcCopy == null) { + mdcCopy = new Hashtable(); + } + return mdcCopy.remove(propName); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NOPLogger.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NOPLogger.java new file mode 100644 index 00000000000..38b15140d39 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NOPLogger.java @@ -0,0 +1,212 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.spi; + +import org.apache.log4j.Appender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.Priority; + +import java.util.Enumeration; +import java.util.ResourceBundle; +import java.util.Vector; + +/** + * No-operation implementation of Logger used by NOPLoggerRepository. + * @since 1.2.15 + */ +public final class NOPLogger extends Logger { + /** + * Create instance of Logger. + * @param repo repository, may not be null. + * @param name name, may not be null, use "root" for root logger. + */ + public NOPLogger(NOPLoggerRepository repo, final String name) { + super(name); + this.repository = repo; + this.level = Level.OFF; + this.parent = this; + } + + /** {@inheritDoc} */ + public void addAppender(final Appender newAppender) { + } + + /** {@inheritDoc} */ + public void assertLog(final boolean assertion, final String msg) { + } + + + /** {@inheritDoc} */ + public void callAppenders(final LoggingEvent event) { + } + + /** {@inheritDoc} */ + void closeNestedAppenders() { + } + + /** {@inheritDoc} */ + public void debug(final Object message) { + } + + + /** {@inheritDoc} */ + public void debug(final Object message, final Throwable t) { + } + + /** {@inheritDoc} */ + public void error(final Object message) { + } + + /** {@inheritDoc} */ + public void error(final Object message, final Throwable t) { + } + + + /** {@inheritDoc} */ + public void fatal(final Object message) { + } + + /** {@inheritDoc} */ + public void fatal(final Object message, final Throwable t) { + } + + + /** {@inheritDoc} */ + public Enumeration getAllAppenders() { + return new Vector().elements(); + } + + /** {@inheritDoc} */ + public Appender getAppender(final String name) { + return null; + } + + /** {@inheritDoc} */ + public Level getEffectiveLevel() { + return Level.OFF; + } + + /** {@inheritDoc} */ + public Priority getChainedPriority() { + return getEffectiveLevel(); + } + + /** {@inheritDoc} */ + public ResourceBundle getResourceBundle() { + return null; + } + + + /** {@inheritDoc} */ + public void info(final Object message) { + } + + /** {@inheritDoc} */ + public void info(final Object message, final Throwable t) { + } + + /** {@inheritDoc} */ + public boolean isAttached(Appender appender) { + return false; + } + + /** {@inheritDoc} */ + public boolean isDebugEnabled() { + return false; + } + + /** {@inheritDoc} */ + public boolean isEnabledFor(final Priority level) { + return false; + } + + /** {@inheritDoc} */ + public boolean isInfoEnabled() { + return false; + } + + + /** {@inheritDoc} */ + public void l7dlog(final Priority priority, final String key, final Throwable t) { + } + + /** {@inheritDoc} */ + public void l7dlog(final Priority priority, final String key, final Object[] params, final Throwable t) { + } + + /** {@inheritDoc} */ + public void log(final Priority priority, final Object message, final Throwable t) { + } + + /** {@inheritDoc} */ + public void log(final Priority priority, final Object message) { + } + + /** {@inheritDoc} */ + public void log(final String callerFQCN, final Priority level, final Object message, final Throwable t) { + } + + /** {@inheritDoc} */ + public void removeAllAppenders() { + } + + + /** {@inheritDoc} */ + public void removeAppender(Appender appender) { + } + + /** {@inheritDoc} */ + public void removeAppender(final String name) { + } + + /** {@inheritDoc} */ + public void setLevel(final Level level) { + } + + + /** {@inheritDoc} */ + public void setPriority(final Priority priority) { + } + + /** {@inheritDoc} */ + public void setResourceBundle(final ResourceBundle bundle) { + } + + /** {@inheritDoc} */ + public void warn(final Object message) { + } + + /** {@inheritDoc} */ + public void warn(final Object message, final Throwable t) { + } + + /** {@inheritDoc} */ + public void trace(Object message) { + } + + /** {@inheritDoc} */ + public void trace(Object message, Throwable t) { + } + + /** {@inheritDoc} */ + public boolean isTraceEnabled() { + return false; + } + + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NOPLoggerRepository.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NOPLoggerRepository.java new file mode 100644 index 00000000000..bdb6ed9cd80 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NOPLoggerRepository.java @@ -0,0 +1,131 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.spi; + +import org.apache.log4j.Level; +import org.apache.log4j.Category; +import org.apache.log4j.Logger; +import org.apache.log4j.Appender; + +import java.util.Enumeration; +import java.util.Vector; + +/** + * No-operation implementation of LoggerRepository which is used when + * LogManager.repositorySelector is erroneously nulled during class reloading. + * @since 1.2.15 + */ +public final class NOPLoggerRepository implements LoggerRepository { + /** + * {@inheritDoc} + */ + public void addHierarchyEventListener(final HierarchyEventListener listener) { + } + + /** + * {@inheritDoc} + */ + public boolean isDisabled(final int level) { + return true; + } + + /** + * {@inheritDoc} + */ + public void setThreshold(final Level level) { + } + + /** + * {@inheritDoc} + */ + public void setThreshold(final String val) { + } + + /** + * {@inheritDoc} + */ + public void emitNoAppenderWarning(final Category cat) { + } + + /** + * {@inheritDoc} + */ + public Level getThreshold() { + return Level.OFF; + } + + /** + * {@inheritDoc} + */ + public Logger getLogger(final String name) { + return new NOPLogger(this, name); + } + + /** + * {@inheritDoc} + */ + public Logger getLogger(final String name, final LoggerFactory factory) { + return new NOPLogger(this, name); + } + + /** + * {@inheritDoc} + */ + public Logger getRootLogger() { + return new NOPLogger(this, "root"); + } + + /** + * {@inheritDoc} + */ + public Logger exists(final String name) { + return null; + } + + /** + * {@inheritDoc} + */ + public void shutdown() { + } + + /** + * {@inheritDoc} + */ + public Enumeration getCurrentLoggers() { + return new Vector().elements(); + } + + /** + * {@inheritDoc} + */ + public Enumeration getCurrentCategories() { + return getCurrentLoggers(); + } + + + /** + * {@inheritDoc} + */ + public void fireAddAppenderEvent(Category logger, Appender appender) { + } + + /** + * {@inheritDoc} + */ + public void resetConfiguration() { + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NullWriter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NullWriter.java new file mode 100644 index 00000000000..a5789108939 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/NullWriter.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.spi; +import java.io.Writer; + +/** + * NullWriter is an obsolete class provided only for + * binary compatibility with earlier versions of log4j and should not be used. + * + * @deprecated + */ +class NullWriter extends Writer { + + public void close() { + // blank + } + + public void flush() { + // blank + } + + public void write(char[] cbuf, int off, int len) { + // blank + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/OptionHandler.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/OptionHandler.java new file mode 100644 index 00000000000..2c902268252 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/OptionHandler.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + + +/** + A string based interface to configure package components. + + @author Ceki G&uuml;lc&uuml; + @author Anders Kristensen + @since 0.8.1 + */ +public interface OptionHandler { + + /** + Activate the options that were previously set with calls to option + setters. + + <p>This allows to defer activiation of the options until all + options have been set. This is required for components which have + related options that remain ambigous until all are set. + + <p>For example, the FileAppender has the {@link + org.apache.log4j.FileAppender#setFile File} and {@link + org.apache.log4j.FileAppender#setAppend Append} options both of + which are ambigous until the other is also set. */ + void activateOptions(); + + /** + Return list of strings that the OptionHandler instance recognizes. + + @deprecated We now use JavaBeans style getters/setters. + */ + // String[] getOptionStrings(); + + /** + Set <code>option</code> to <code>value</code>. + + <p>The handling of each option depends on the OptionHandler + instance. Some options may become active immediately whereas + other may be activated only when {@link #activateOptions} is + called. + + @deprecated We now use JavaBeans style getters/setters. + */ + //void setOption(String option, String value); +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RendererSupport.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RendererSupport.java new file mode 100644 index 00000000000..9d69faa7310 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RendererSupport.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.log4j.spi; + +import org.apache.log4j.or.ObjectRenderer; +import org.apache.log4j.or.RendererMap; + + +public interface RendererSupport { + + public + RendererMap getRendererMap(); + + public + void setRenderer(Class renderedClass, ObjectRenderer renderer); + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RepositorySelector.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RepositorySelector.java new file mode 100644 index 00000000000..9a70d6203ca --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RepositorySelector.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + + +package org.apache.log4j.spi; + + +/** + + The <code>LogManager</code> uses one (and only one) + <code>RepositorySelector</code> implementation to select the + {@link LoggerRepository} for a particular application context. + + <p>It is the responsability of the <code>RepositorySelector</code> + implementation to track the application context. Log4j makes no + assumptions about the application context or on its management. + + <p>See also {@link org.apache.log4j.LogManager LogManager}. + + @author Ceki G&uuml;lc&uuml; + @since 1.2 + + */ +public interface RepositorySelector { + + /** + Returns a {@link LoggerRepository} depending on the + context. Implementors must make sure that a valid (non-null) + LoggerRepository is returned. + */ + public + LoggerRepository getLoggerRepository(); +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RootCategory.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RootCategory.java new file mode 100644 index 00000000000..995479129cf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RootCategory.java @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.LogLog; + +// Contibutors: Mathias Bogaert + +/** + * @deprecated Replaced by {@link RootLogger}. + */ +final public class RootCategory extends Logger { + + /** + The root category names itself as "root". However, the root + category cannot be retrieved by name. + */ + public + RootCategory(Level level) { + super("root"); + setLevel(level); + } + + + /** + Return the assigned level value without walking the category + hierarchy. + */ + final + public + Level getChainedLevel() { + return level; + } + + /** + Setting a null value to the level of the root category may have catastrophic + results. We prevent this here. + + @since 0.8.3 */ + final + public + void setLevel(Level level) { + if(level == null) { + LogLog.error("You have tried to set a null level to root.", + new Throwable()); + } + else { + this.level = level; + } + } + + final + public + void setPriority(Level level) { + setLevel(level); + } + + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RootLogger.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RootLogger.java new file mode 100644 index 00000000000..a9ffd742289 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/RootLogger.java @@ -0,0 +1,71 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.LogLog; + + +// Contibutors: Mathias Bogaert + +/** + RootLogger sits at the top of the logger hierachy. It is a + regular logger except that it provides several guarantees. + + <p>First, it cannot be assigned a <code>null</code> + level. Second, since root logger cannot have a parent, the + {@link #getChainedLevel} method always returns the value of the + level field without walking the hierarchy. + + @author Ceki G&uuml;lc&uuml; + + */ +public final class RootLogger extends Logger { + /** + The root logger names itself as "root". However, the root + logger cannot be retrieved by name. + */ + public RootLogger(Level level) { + super("root"); + setLevel(level); + } + + /** + Return the assigned level value without walking the logger + hierarchy. + */ + public final Level getChainedLevel() { + return level; + } + + /** + Setting a null value to the level of the root logger may have catastrophic + results. We prevent this here. + + @since 0.8.3 */ + public final void setLevel(Level level) { + if (level == null) { + LogLog.error( + "You have tried to set a null level to root.", new Throwable()); + } else { + this.level = level; + } + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableInformation.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableInformation.java new file mode 100644 index 00000000000..033f18ba349 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableInformation.java @@ -0,0 +1,96 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import org.apache.log4j.Category; +import org.apache.log4j.DefaultThrowableRenderer; + +/** + * ThrowableInformation is log4j's internal representation of + * throwables. It essentially consists of a string array, called + * 'rep', where the first element, that is rep[0], represents the + * string representation of the throwable (i.e. the value you get + * when you do throwable.toString()) and subsequent elements + * correspond the stack trace with the top most entry of the stack + * corresponding to the second entry of the 'rep' array that is + * rep[1]. + * + * @author Ceki G&uuml;lc&uuml; + * + * */ +public class ThrowableInformation implements java.io.Serializable { + + static final long serialVersionUID = -4748765566864322735L; + + private transient Throwable throwable; + private transient Category category; + private String[] rep; + + public + ThrowableInformation(Throwable throwable) { + this.throwable = throwable; + } + + /** + * Create a new instance. + * @param throwable throwable, may not be null. + * @param category category used to obtain ThrowableRenderer, may be null. + * @since 1.2.16 + */ + public ThrowableInformation(Throwable throwable, Category category) { + this.throwable = throwable; + this.category = category; + } + + /** + * Create new instance. + * @since 1.2.15 + * @param r String representation of throwable. + */ + public ThrowableInformation(final String[] r) { + if (r != null) { + rep = (String[]) r.clone(); + } + } + + + public + Throwable getThrowable() { + return throwable; + } + + public synchronized String[] getThrowableStrRep() { + if(rep == null) { + ThrowableRenderer renderer = null; + if (category != null) { + LoggerRepository repo = category.getLoggerRepository(); + if (repo instanceof ThrowableRendererSupport) { + renderer = ((ThrowableRendererSupport) repo).getThrowableRenderer(); + } + } + if (renderer == null) { + rep = DefaultThrowableRenderer.render(throwable); + } else { + rep = renderer.doRender(throwable); + } + } + return (String[]) rep.clone(); + } +} + + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableRenderer.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableRenderer.java new file mode 100644 index 00000000000..1b83db279ad --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableRenderer.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.spi; + +/** + * Implemented by classes that render instances of + * java.lang.Throwable (exceptions and errors) + * into a string representation. + * + * @since 1.2.16 + */ +public interface ThrowableRenderer { + /** + * Render Throwable. + * @param t throwable, may not be null. + * @return String representation. + */ + public String[] doRender(Throwable t); +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableRendererSupport.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableRendererSupport.java new file mode 100644 index 00000000000..08f02a03e78 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/ThrowableRendererSupport.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.spi; + +/** + * Implemented by logger repositories that support configurable + * rendering of Throwables. + * + * @since 1.2.16 + */ +public interface ThrowableRendererSupport { + /** + * Get throwable renderer. + * @return throwable renderer, may be null. + */ + ThrowableRenderer getThrowableRenderer(); + + /** + * Set throwable renderer. + * @param renderer renderer, may be null. + */ + void setThrowableRenderer(ThrowableRenderer renderer); +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/TriggeringEventEvaluator.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/TriggeringEventEvaluator.java new file mode 100644 index 00000000000..67f4fcd01d4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/TriggeringEventEvaluator.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +/** + + Implementions of this interface allow certain appenders to decide + when to perform an appender specific action. + + <p>For example the {@link org.apache.log4j.net.SMTPAppender} sends + an email when the {@link #isTriggeringEvent} method returns + <code>true</code> and adds the event to an internal buffer when the + returned result is <code>false</code>. + + @author Ceki G&uuml;lc&uuml; + @since version 1.0 + + */ +public interface TriggeringEventEvaluator { + + /** + Is this the triggering event? + */ + public boolean isTriggeringEvent(LoggingEvent event); +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/VectorWriter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/VectorWriter.java new file mode 100644 index 00000000000..3e288605acf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/VectorWriter.java @@ -0,0 +1,94 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.spi; + +import java.io.PrintWriter; +import java.util.Vector; + +/** + * VectorWriter is an obsolete class provided only for + * binary compatibility with earlier versions of log4j and should not be used. + * + * @deprecated + */ +class VectorWriter extends PrintWriter { + + private Vector v; + + /** + * @deprecated + */ + VectorWriter() { + super(new NullWriter()); + v = new Vector(); + } + + public void print(Object o) { + v.addElement(String.valueOf(o)); + } + + public void print(char[] chars) { + v.addElement(new String(chars)); + } + + public void print(String s) { + v.addElement(s); + } + + public void println(Object o) { + v.addElement(String.valueOf(o)); + } + + // JDK 1.1.x apprenly uses this form of println while in + // printStackTrace() + public + void println(char[] chars) { + v.addElement(new String(chars)); + } + + public + void println(String s) { + v.addElement(s); + } + + public void write(char[] chars) { + v.addElement(new String(chars)); + } + + public void write(char[] chars, int off, int len) { + v.addElement(new String(chars, off, len)); + } + + public void write(String s, int off, int len) { + v.addElement(s.substring(off, off+len)); + } + + public void write(String s) { + v.addElement(s); + } + + public String[] toStringArray() { + int len = v.size(); + String[] sa = new String[len]; + for(int i = 0; i < len; i++) { + sa[i] = (String) v.elementAt(i); + } + return sa; + } + +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/package.html new file mode 100644 index 00000000000..12058335208 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/spi/package.html @@ -0,0 +1,29 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> +<head> +</head> + +<body> + +Contains part of the System Programming Interface (SPI) needed to +extend log4j. + + +</body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/DenyAllFilter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/DenyAllFilter.java new file mode 100644 index 00000000000..6c9e949396e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/DenyAllFilter.java @@ -0,0 +1,72 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; + + +/** + This filter drops all logging events. + + <p>You can add this filter to the end of a filter chain to + switch from the default "accept all unless instructed otherwise" + filtering behaviour to a "deny all unless instructed otherwise" + behaviour. + + + @author Ceki G&uuml;lc&uuml; + + @since 0.9.0 */ +public class DenyAllFilter extends Filter { + + /** + Returns <code>null</code> as there are no options. + + @deprecated We now use JavaBeans introspection to configure + components. Options strings are no longer needed. + */ + public + String[] getOptionStrings() { + return null; + } + + + /** + No options to set. + + @deprecated Use the setter method for the option directly instead + of the generic <code>setOption</code> method. + */ + public + void setOption(String key, String value) { + } + + /** + Always returns the integer constant {@link Filter#DENY} + regardless of the {@link LoggingEvent} parameter. + + @param event The LoggingEvent to filter. + @return Always returns {@link Filter#DENY}. + */ + public + int decide(LoggingEvent event) { + return Filter.DENY; + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/ExternallyRolledFileAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/ExternallyRolledFileAppender.java new file mode 100644 index 00000000000..26e7d842bc7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/ExternallyRolledFileAppender.java @@ -0,0 +1,189 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InterruptedIOException; +import java.net.ServerSocket; +import java.net.Socket; + +import org.apache.log4j.RollingFileAppender; +import org.apache.log4j.helpers.LogLog; + +/** + This appender listens on a socket on the port specified by the + <b>Port</b> property for a "RollOver" message. When such a message + is received, the underlying log file is rolled over and an + acknowledgment message is sent back to the process initiating the + roll over. + + <p>This method of triggering roll over has the advantage of being + operating system independent, fast and reliable. + + <p>A simple application {@link Roller} is provided to initiate the + roll over. + + <p>Note that the initiator is not authenticated. Anyone can trigger + a rollover. In production environments, it is recommended that you + add some form of protection to prevent undesired rollovers. + + + @author Ceki G&uuml;lc&uuml; + @since version 0.9.0 */ +public class ExternallyRolledFileAppender extends RollingFileAppender { + + /** + The string constant sent to initiate a roll over. Current value of + this string constant is <b>RollOver</b>. + */ + static final public String ROLL_OVER = "RollOver"; + + /** + The string constant sent to acknowledge a roll over. Current value of + this string constant is <b>OK</b>. + */ + static final public String OK = "OK"; + + int port = 0; + HUP hup; + + /** + The default constructor does nothing but calls its super-class + constructor. */ + public + ExternallyRolledFileAppender() { + } + + /** + The <b>Port</b> [roperty is used for setting the port for + listening to external roll over messages. + */ + public + void setPort(int port) { + this.port = port; + } + + /** + Returns value of the <b>Port</b> option. + */ + public + int getPort() { + return port; + } + + /** + Start listening on the port specified by a preceding call to + {@link #setPort}. */ + public + void activateOptions() { + super.activateOptions(); + if(port != 0) { + if(hup != null) { + hup.interrupt(); + } + hup = new HUP(this, port); + hup.setDaemon(true); + hup.start(); + } + } +} + + +class HUP extends Thread { + + int port; + ExternallyRolledFileAppender er; + + HUP(ExternallyRolledFileAppender er, int port) { + this.er = er; + this.port = port; + } + + public + void run() { + while(!isInterrupted()) { + try { + ServerSocket serverSocket = new ServerSocket(port); + while(true) { + Socket socket = serverSocket.accept(); + LogLog.debug("Connected to client at " + socket.getInetAddress()); + new Thread(new HUPNode(socket, er), "ExternallyRolledFileAppender-HUP").start(); + } + } catch(InterruptedIOException e) { + Thread.currentThread().interrupt(); + e.printStackTrace(); + } catch(IOException e) { + e.printStackTrace(); + } catch(RuntimeException e) { + e.printStackTrace(); + } + } + } +} + +class HUPNode implements Runnable { + + Socket socket; + DataInputStream dis; + DataOutputStream dos; + ExternallyRolledFileAppender er; + + public + HUPNode(Socket socket, ExternallyRolledFileAppender er) { + this.socket = socket; + this.er = er; + try { + dis = new DataInputStream(socket.getInputStream()); + dos = new DataOutputStream(socket.getOutputStream()); + } catch(InterruptedIOException e) { + Thread.currentThread().interrupt(); + e.printStackTrace(); + } catch(IOException e) { + e.printStackTrace(); + } catch(RuntimeException e) { + e.printStackTrace(); + } + } + + public void run() { + try { + String line = dis.readUTF(); + LogLog.debug("Got external roll over signal."); + if(ExternallyRolledFileAppender.ROLL_OVER.equals(line)) { + synchronized(er) { + er.rollOver(); + } + dos.writeUTF(ExternallyRolledFileAppender.OK); + } + else { + dos.writeUTF("Expecting [RollOver] string."); + } + dos.close(); + } catch(InterruptedIOException e) { + Thread.currentThread().interrupt(); + LogLog.error("Unexpected exception. Exiting HUPNode.", e); + } catch(IOException e) { + LogLog.error("Unexpected exception. Exiting HUPNode.", e); + } catch(RuntimeException e) { + LogLog.error("Unexpected exception. Exiting HUPNode.", e); + } + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/FallbackErrorHandler.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/FallbackErrorHandler.java new file mode 100644 index 00000000000..7cbc87de4c4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/FallbackErrorHandler.java @@ -0,0 +1,138 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.Appender; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.LogLog; +import java.util.Vector; +import java.io.InterruptedIOException; + +/** + * + * The <code>FallbackErrorHandler</code> implements the ErrorHandler + * interface such that a secondary appender may be specified. This + * secondary appender takes over if the primary appender fails for + * whatever reason. + * + * <p>The error message is printed on <code>System.err</code>, and + * logged in the new secondary appender. + * + * @author Ceki G&uuml;c&uuml; + * */ +public class FallbackErrorHandler implements ErrorHandler { + + + Appender backup; + Appender primary; + Vector loggers; + + public FallbackErrorHandler() { + } + + + /** + <em>Adds</em> the logger passed as parameter to the list of + loggers that we need to search for in case of appender failure. + */ + public + void setLogger(Logger logger) { + LogLog.debug("FB: Adding logger [" + logger.getName() + "]."); + if(loggers == null) { + loggers = new Vector(); + } + loggers.addElement(logger); + } + + + /** + No options to activate. + */ + public + void activateOptions() { + } + + + /** + Prints the message and the stack trace of the exception on + <code>System.err</code>. */ + public + void error(String message, Exception e, int errorCode) { + error(message, e, errorCode, null); + } + + /** + Prints the message and the stack trace of the exception on + <code>System.err</code>. + */ + public + void error(String message, Exception e, int errorCode, LoggingEvent event) { + if (e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.debug("FB: The following error reported: " + message, e); + LogLog.debug("FB: INITIATING FALLBACK PROCEDURE."); + if (loggers != null) { + for(int i = 0; i < loggers.size(); i++) { + Logger l = (Logger) loggers.elementAt(i); + LogLog.debug("FB: Searching for ["+primary.getName()+"] in logger [" + +l.getName() + "]."); + LogLog.debug("FB: Replacing ["+primary.getName()+"] by [" + + backup.getName() + "] in logger ["+ l.getName() +"]."); + l.removeAppender(primary); + LogLog.debug("FB: Adding appender ["+backup.getName()+"] to logger " + + l.getName()); + l.addAppender(backup); + } + } + } + + + /** + Print a the error message passed as parameter on + <code>System.err</code>. + */ + public + void error(String message) { + //if(firstTime) { + //LogLog.error(message); + //firstTime = false; + //} + } + + /** + The appender to which this error handler is attached. + */ + public + void setAppender(Appender primary) { + LogLog.debug("FB: Setting primary appender to [" + primary.getName() + "]."); + this.primary = primary; + } + + /** + Set the backup appender. + */ + public + void setBackupAppender(Appender backup) { + LogLog.debug("FB: Setting backup appender to [" + backup.getName() + "]."); + this.backup = backup; + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/LevelMatchFilter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/LevelMatchFilter.java new file mode 100644 index 00000000000..832ca29f2c0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/LevelMatchFilter.java @@ -0,0 +1,104 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import org.apache.log4j.Level; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.helpers.OptionConverter; + +/** + This is a very simple filter based on level matching. + + <p>The filter admits two options <b>LevelToMatch</b> and + <b>AcceptOnMatch</b>. If there is an exact match between the value + of the <b>LevelToMatch</b> option and the level of the {@link + LoggingEvent}, then the {@link #decide} method returns {@link + Filter#ACCEPT} in case the <b>AcceptOnMatch</b> option value is set + to <code>true</code>, if it is <code>false</code> then {@link + Filter#DENY} is returned. If there is no match, {@link + Filter#NEUTRAL} is returned. + + @author Ceki G&uuml;lc&uuml; + + @since 1.2 */ +public class LevelMatchFilter extends Filter { + + /** + Do we return ACCEPT when a match occurs. Default is + <code>true</code>. */ + boolean acceptOnMatch = true; + + /** + */ + Level levelToMatch; + + + public + void setLevelToMatch(String level) { + levelToMatch = OptionConverter.toLevel(level, null); + } + + public + String getLevelToMatch() { + return levelToMatch == null ? null : levelToMatch.toString(); + } + + public + void setAcceptOnMatch(boolean acceptOnMatch) { + this.acceptOnMatch = acceptOnMatch; + } + + public + boolean getAcceptOnMatch() { + return acceptOnMatch; + } + + + /** + Return the decision of this filter. + + Returns {@link Filter#NEUTRAL} if the <b>LevelToMatch</b> option + is not set or if there is not match. Otherwise, if there is a + match, then the returned decision is {@link Filter#ACCEPT} if the + <b>AcceptOnMatch</b> property is set to <code>true</code>. The + returned decision is {@link Filter#DENY} if the + <b>AcceptOnMatch</b> property is set to false. + + */ + public + int decide(LoggingEvent event) { + if(this.levelToMatch == null) { + return Filter.NEUTRAL; + } + + boolean matchOccured = false; + if(this.levelToMatch.equals(event.getLevel())) { + matchOccured = true; + } + + if(matchOccured) { + if(this.acceptOnMatch) + return Filter.ACCEPT; + else + return Filter.DENY; + } else { + return Filter.NEUTRAL; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/LevelRangeFilter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/LevelRangeFilter.java new file mode 100644 index 00000000000..9dfacb1be5c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/LevelRangeFilter.java @@ -0,0 +1,144 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import org.apache.log4j.Level; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; + +/** + This is a very simple filter based on level matching, which can be + used to reject messages with priorities outside a certain range. + + <p>The filter admits three options <b>LevelMin</b>, <b>LevelMax</b> + and <b>AcceptOnMatch</b>. + + <p>If the level of the {@link LoggingEvent} is not between Min and Max + (inclusive), then {@link Filter#DENY} is returned. + + <p> If the Logging event level is within the specified range, then if + <b>AcceptOnMatch</b> is true, {@link Filter#ACCEPT} is returned, and if + <b>AcceptOnMatch</b> is false, {@link Filter#NEUTRAL} is returned. + + <p>If <code>LevelMin</code>w is not defined, then there is no + minimum acceptable level (ie a level is never rejected for + being too "low"/unimportant). If <code>LevelMax</code> is not + defined, then there is no maximum acceptable level (ie a + level is never rejected for beeing too "high"/important). + + <p>Refer to the {@link + org.apache.log4j.AppenderSkeleton#setThreshold setThreshold} method + available to <code>all</code> appenders extending {@link + org.apache.log4j.AppenderSkeleton} for a more convenient way to + filter out events by level. + + @author Simon Kitching + @author based on code by Ceki G&uuml;lc&uuml; +*/ +public class LevelRangeFilter extends Filter { + + /** + Do we return ACCEPT when a match occurs. Default is + <code>false</code>, so that later filters get run by default */ + boolean acceptOnMatch = false; + + Level levelMin; + Level levelMax; + + + /** + Return the decision of this filter. + */ + public + int decide(LoggingEvent event) { + if(this.levelMin != null) { + if (event.getLevel().isGreaterOrEqual(levelMin) == false) { + // level of event is less than minimum + return Filter.DENY; + } + } + + if(this.levelMax != null) { + if (event.getLevel().toInt() > levelMax.toInt()) { + // level of event is greater than maximum + // Alas, there is no Level.isGreater method. and using + // a combo of isGreaterOrEqual && !Equal seems worse than + // checking the int values of the level objects.. + return Filter.DENY; + } + } + + if (acceptOnMatch) { + // this filter set up to bypass later filters and always return + // accept if level in range + return Filter.ACCEPT; + } + else { + // event is ok for this filter; allow later filters to have a look.. + return Filter.NEUTRAL; + } + } + + /** + Get the value of the <code>LevelMax</code> option. */ + public + Level getLevelMax() { + return levelMax; + } + + + /** + Get the value of the <code>LevelMin</code> option. */ + public + Level getLevelMin() { + return levelMin; + } + + /** + Get the value of the <code>AcceptOnMatch</code> option. + */ + public + boolean getAcceptOnMatch() { + return acceptOnMatch; + } + + /** + Set the <code>LevelMax</code> option. + */ + public + void setLevelMax(Level levelMax) { + this.levelMax = levelMax; + } + + /** + Set the <code>LevelMin</code> option. + */ + public + void setLevelMin(Level levelMin) { + this.levelMin = levelMin; + } + + /** + Set the <code>AcceptOnMatch</code> option. + */ + public + void setAcceptOnMatch(boolean acceptOnMatch) { + this.acceptOnMatch = acceptOnMatch; + } +} + diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/NullAppender.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/NullAppender.java new file mode 100644 index 00000000000..778b0241486 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/NullAppender.java @@ -0,0 +1,79 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.spi.LoggingEvent; + +/** + * A NullAppender merely exists, it never outputs a message to any + * device. + * @author Ceki G&uuml;lc&uml; + */ +public class NullAppender extends AppenderSkeleton { + + private static NullAppender instance = new NullAppender(); + + public NullAppender() { + } + + /** + * There are no options to acticate. + * */ + public void activateOptions() { + } + + /** + * Whenever you can, use this method to retreive an instance instead + * of instantiating a new one with <code>new</code>. + * @deprecated Use getNullAppender instead. getInstance should have been static. + * */ + public NullAppender getInstance() { + return instance; + } + + /** + * Whenever you can, use this method to retreive an instance instead + * of instantiating a new one with <code>new</code>. + * */ + public static NullAppender getNullAppender() { + return instance; + } + + public void close() { + } + + /** + * Does not do anything. + * */ + public void doAppend(LoggingEvent event) { + } + + /** + * Does not do anything. + * */ + protected void append(LoggingEvent event) { + } + + /** + * NullAppenders do not need a layout. + * */ + public boolean requiresLayout() { + return false; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/ReloadingPropertyConfigurator.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/ReloadingPropertyConfigurator.java new file mode 100644 index 00000000000..b29e84761bb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/ReloadingPropertyConfigurator.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.spi.Configurator; +import java.net.URL; +import org.apache.log4j.spi.LoggerRepository; + +public class ReloadingPropertyConfigurator implements Configurator { + + + PropertyConfigurator delegate = new PropertyConfigurator(); + + + public ReloadingPropertyConfigurator() { + } + + public + void doConfigure(URL url, LoggerRepository repository) { + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/Roller.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/Roller.java new file mode 100644 index 00000000000..7ef3aee6104 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/Roller.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import org.apache.log4j.Logger; +import org.apache.log4j.BasicConfigurator; + +import java.io.IOException; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.net.Socket; + +/** + A simple application to send roll over messages to a potentially + remote {@link ExternallyRolledFileAppender}. + + <p>It takes two arguments, the <code>host_name</code> and + <code>port_number</code> where the + <code>ExternallyRolledFileAppender</code> is listening. + + + @author Ceki G&uuml;lc&uuml; + @since version 0.9.0 */ +public class Roller { + + static Logger cat = Logger.getLogger(Roller.class); + + + static String host; + static int port; + + // Static class. + Roller() { + } + + /** + Send a "RollOver" message to + <code>ExternallyRolledFileAppender</code> on <code>host</code> + and <code>port</code>. + + */ + public + static + void main(String argv[]) { + + BasicConfigurator.configure(); + + if(argv.length == 2) + init(argv[0], argv[1]); + else + usage("Wrong number of arguments."); + + roll(); + } + + static + void usage(String msg) { + System.err.println(msg); + System.err.println( "Usage: java " + Roller.class.getName() + + "host_name port_number"); + System.exit(1); + } + + static + void init(String hostArg, String portArg) { + host = hostArg; + try { + port = Integer.parseInt(portArg); + } + catch(java.lang.NumberFormatException e) { + usage("Second argument "+portArg+" is not a valid integer."); + } + } + + static + void roll() { + try { + Socket socket = new Socket(host, port); + DataOutputStream dos = new DataOutputStream(socket.getOutputStream()); + DataInputStream dis = new DataInputStream(socket.getInputStream()); + dos.writeUTF(ExternallyRolledFileAppender.ROLL_OVER); + String rc = dis.readUTF(); + if(ExternallyRolledFileAppender.OK.equals(rc)) { + cat.info("Roll over signal acknowledged by remote appender."); + } else { + cat.warn("Unexpected return code "+rc+" from remote entity."); + System.exit(2); + } + } catch(IOException e) { + cat.error("Could not send roll signal on host "+host+" port "+port+" .", + e); + System.exit(2); + } + System.exit(0); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/StringMatchFilter.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/StringMatchFilter.java new file mode 100644 index 00000000000..6ee7ec473b7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/StringMatchFilter.java @@ -0,0 +1,121 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.helpers.OptionConverter; + +/** + * This is a very simple filter based on string matching. + * + * <p>The filter admits two options <b>StringToMatch</b> and + * <b>AcceptOnMatch</b>. If there is a match between the value of the + * StringToMatch option and the message of the {@link org.apache.log4j.spi.LoggingEvent}, + * then the {@link #decide(LoggingEvent)} method returns {@link org.apache.log4j.spi.Filter#ACCEPT} if + * the <b>AcceptOnMatch</b> option value is true, if it is false then + * {@link org.apache.log4j.spi.Filter#DENY} is returned. If there is no match, {@link + * org.apache.log4j.spi.Filter#NEUTRAL} is returned. + * + * @author Ceki G&uuml;lc&uuml; + * @since 0.9.0 + */ +public class StringMatchFilter extends Filter { + + /** + @deprecated Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term. + */ + public static final String STRING_TO_MATCH_OPTION = "StringToMatch"; + + /** + @deprecated Options are now handled using the JavaBeans paradigm. + This constant is not longer needed and will be removed in the + <em>near</em> term. + */ + public static final String ACCEPT_ON_MATCH_OPTION = "AcceptOnMatch"; + + boolean acceptOnMatch = true; + String stringToMatch; + + /** + @deprecated We now use JavaBeans introspection to configure + components. Options strings are no longer needed. + */ + public + String[] getOptionStrings() { + return new String[] {STRING_TO_MATCH_OPTION, ACCEPT_ON_MATCH_OPTION}; + } + + /** + @deprecated Use the setter method for the option directly instead + of the generic <code>setOption</code> method. + */ + public + void setOption(String key, String value) { + + if(key.equalsIgnoreCase(STRING_TO_MATCH_OPTION)) { + stringToMatch = value; + } else if (key.equalsIgnoreCase(ACCEPT_ON_MATCH_OPTION)) { + acceptOnMatch = OptionConverter.toBoolean(value, acceptOnMatch); + } + } + + public + void setStringToMatch(String s) { + stringToMatch = s; + } + + public + String getStringToMatch() { + return stringToMatch; + } + + public + void setAcceptOnMatch(boolean acceptOnMatch) { + this.acceptOnMatch = acceptOnMatch; + } + + public + boolean getAcceptOnMatch() { + return acceptOnMatch; + } + + /** + Returns {@link Filter#NEUTRAL} is there is no string match. + */ + public + int decide(LoggingEvent event) { + String msg = event.getRenderedMessage(); + + if(msg == null || stringToMatch == null) + return Filter.NEUTRAL; + + + if( msg.indexOf(stringToMatch) == -1 ) { + return Filter.NEUTRAL; + } else { // we've got a match + if(acceptOnMatch) { + return Filter.ACCEPT; + } else { + return Filter.DENY; + } + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/package.html new file mode 100644 index 00000000000..3495db241d8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/varia/package.html @@ -0,0 +1,30 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> <head> +<title></title> +</head> +<body> +<p>Contains various appenders, filters and other odds and ends. + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Tue Mar 21 20:28:14 MET 2000 +<!-- hhmts end --> +</body> </html> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/DOMConfigurator.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/DOMConfigurator.java new file mode 100644 index 00000000000..de2963d53d0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/DOMConfigurator.java @@ -0,0 +1,1123 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml; + +import org.apache.log4j.Appender; +import org.apache.log4j.Layout; +import org.apache.log4j.Level; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.config.PropertySetter; +import org.apache.log4j.helpers.FileWatchdog; +import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.or.RendererMap; +import org.apache.log4j.spi.AppenderAttachable; +import org.apache.log4j.spi.Configurator; +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggerFactory; +import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.spi.RendererSupport; +import org.apache.log4j.spi.ThrowableRenderer; +import org.apache.log4j.spi.ThrowableRendererSupport; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.FactoryConfigurationError; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InterruptedIOException; +import java.io.Reader; +import java.lang.reflect.Method; +import java.lang.reflect.InvocationTargetException; +import java.net.URL; +import java.net.URLConnection; +import java.util.Hashtable; +import java.util.Properties; + +// Contributors: Mark Womack +// Arun Katkere + +/** + Use this class to initialize the log4j environment using a DOM tree. + + <p>The DTD is specified in <a + href="doc-files/log4j.dtd"><b>log4j.dtd</b></a>. + + <p>Sometimes it is useful to see how log4j is reading configuration + files. You can enable log4j internal logging by defining the + <b>log4j.debug</b> variable on the java command + line. Alternatively, set the <code>debug</code> attribute in the + <code>log4j:configuration</code> element. As in +<pre> + &lt;log4j:configuration <b>debug="true"</b> xmlns:log4j="http://jakarta.apache.org/log4j/"> + ... + &lt;/log4j:configuration> +</pre> + + <p>There are sample XML files included in the package. + + @author Christopher Taylor + @author Ceki G&uuml;lc&uuml; + @author Anders Kristensen + + @since 0.8.3 */ +public class DOMConfigurator implements Configurator { + + static final String CONFIGURATION_TAG = "log4j:configuration"; + static final String OLD_CONFIGURATION_TAG = "configuration"; + static final String RENDERER_TAG = "renderer"; + private static final String THROWABLE_RENDERER_TAG = "throwableRenderer"; + static final String APPENDER_TAG = "appender"; + static final String APPENDER_REF_TAG = "appender-ref"; + static final String PARAM_TAG = "param"; + static final String LAYOUT_TAG = "layout"; + static final String CATEGORY = "category"; + static final String LOGGER = "logger"; + static final String LOGGER_REF = "logger-ref"; + static final String CATEGORY_FACTORY_TAG = "categoryFactory"; + static final String LOGGER_FACTORY_TAG = "loggerFactory"; + static final String NAME_ATTR = "name"; + static final String CLASS_ATTR = "class"; + static final String VALUE_ATTR = "value"; + static final String ROOT_TAG = "root"; + static final String ROOT_REF = "root-ref"; + static final String LEVEL_TAG = "level"; + static final String PRIORITY_TAG = "priority"; + static final String FILTER_TAG = "filter"; + static final String ERROR_HANDLER_TAG = "errorHandler"; + static final String REF_ATTR = "ref"; + static final String ADDITIVITY_ATTR = "additivity"; + static final String THRESHOLD_ATTR = "threshold"; + static final String CONFIG_DEBUG_ATTR = "configDebug"; + static final String INTERNAL_DEBUG_ATTR = "debug"; + private static final String RESET_ATTR = "reset"; + static final String RENDERING_CLASS_ATTR = "renderingClass"; + static final String RENDERED_CLASS_ATTR = "renderedClass"; + + static final String EMPTY_STR = ""; + static final Class[] ONE_STRING_PARAM = new Class[] {String.class}; + + final static String dbfKey = "javax.xml.parsers.DocumentBuilderFactory"; + + + // key: appenderName, value: appender + Hashtable appenderBag; + + Properties props; + LoggerRepository repository; + + protected LoggerFactory catFactory = null; + + /** + No argument constructor. + */ + public + DOMConfigurator () { + appenderBag = new Hashtable(); + } + + /** + Used internally to parse appenders by IDREF name. + */ + protected + Appender findAppenderByName(Document doc, String appenderName) { + Appender appender = (Appender) appenderBag.get(appenderName); + + if(appender != null) { + return appender; + } else { + // Doesn't work on DOM Level 1 : + // Element element = doc.getElementById(appenderName); + + // Endre's hack: + Element element = null; + NodeList list = doc.getElementsByTagName("appender"); + for (int t=0; t < list.getLength(); t++) { + Node node = list.item(t); + NamedNodeMap map= node.getAttributes(); + Node attrNode = map.getNamedItem("name"); + if (appenderName.equals(attrNode.getNodeValue())) { + element = (Element) node; + break; + } + } + // Hack finished. + + if(element == null) { + LogLog.error("No appender named ["+appenderName+"] could be found."); + return null; + } else { + appender = parseAppender(element); + if (appender != null) { + appenderBag.put(appenderName, appender); + } + return appender; + } + } + } + /** + Used internally to parse appenders by IDREF element. + */ + protected + Appender findAppenderByReference(Element appenderRef) { + String appenderName = subst(appenderRef.getAttribute(REF_ATTR)); + Document doc = appenderRef.getOwnerDocument(); + return findAppenderByName(doc, appenderName); + } + + /** + * Delegates unrecognized content to created instance if + * it supports UnrecognizedElementParser. + * @since 1.2.15 + * @param instance instance, may be null. + * @param element element, may not be null. + * @param props properties + * @throws IOException thrown if configuration of owner object + * should be abandoned. + */ + private static void parseUnrecognizedElement(final Object instance, + final Element element, + final Properties props) throws Exception { + boolean recognized = false; + if (instance instanceof UnrecognizedElementHandler) { + recognized = ((UnrecognizedElementHandler) instance).parseUnrecognizedElement( + element, props); + } + if (!recognized) { + LogLog.warn("Unrecognized element " + element.getNodeName()); + } + } + + /** + * Delegates unrecognized content to created instance if + * it supports UnrecognizedElementParser and catches and + * logs any exception. + * @since 1.2.15 + * @param instance instance, may be null. + * @param element element, may not be null. + * @param props properties + */ + private static void quietParseUnrecognizedElement(final Object instance, + final Element element, + final Properties props) { + try { + parseUnrecognizedElement(instance, element, props); + } catch (Exception ex) { + if (ex instanceof InterruptedException || ex instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("Error in extension content: ", ex); + } + } + + /** + Used internally to parse an appender element. + */ + protected + Appender parseAppender (Element appenderElement) { + String className = subst(appenderElement.getAttribute(CLASS_ATTR)); + LogLog.debug("Class name: [" + className+']'); + try { + Object instance = Loader.loadClass(className).newInstance(); + Appender appender = (Appender)instance; + PropertySetter propSetter = new PropertySetter(appender); + + appender.setName(subst(appenderElement.getAttribute(NAME_ATTR))); + + NodeList children = appenderElement.getChildNodes(); + final int length = children.getLength(); + + for (int loop = 0; loop < length; loop++) { + Node currentNode = children.item(loop); + + /* We're only interested in Elements */ + if (currentNode.getNodeType() == Node.ELEMENT_NODE) { + Element currentElement = (Element)currentNode; + + // Parse appender parameters + if (currentElement.getTagName().equals(PARAM_TAG)) { + setParameter(currentElement, propSetter); + } + // Set appender layout + else if (currentElement.getTagName().equals(LAYOUT_TAG)) { + appender.setLayout(parseLayout(currentElement)); + } + // Add filters + else if (currentElement.getTagName().equals(FILTER_TAG)) { + parseFilters(currentElement, appender); + } + else if (currentElement.getTagName().equals(ERROR_HANDLER_TAG)) { + parseErrorHandler(currentElement, appender); + } + else if (currentElement.getTagName().equals(APPENDER_REF_TAG)) { + String refName = subst(currentElement.getAttribute(REF_ATTR)); + if(appender instanceof AppenderAttachable) { + AppenderAttachable aa = (AppenderAttachable) appender; + LogLog.debug("Attaching appender named ["+ refName+ + "] to appender named ["+ appender.getName()+"]."); + aa.addAppender(findAppenderByReference(currentElement)); + } else { + LogLog.error("Requesting attachment of appender named ["+ + refName+ "] to appender named ["+ appender.getName()+ + "] which does not implement org.apache.log4j.spi.AppenderAttachable."); + } + } else { + parseUnrecognizedElement(instance, currentElement, props); + } + } + } + propSetter.activate(); + return appender; + } + /* Yes, it's ugly. But all of these exceptions point to the same + problem: we can't create an Appender */ + catch (Exception oops) { + if (oops instanceof InterruptedException || oops instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("Could not create an Appender. Reported error follows.", + oops); + return null; + } + } + + /** + Used internally to parse an {@link ErrorHandler} element. + */ + protected + void parseErrorHandler(Element element, Appender appender) { + ErrorHandler eh = (ErrorHandler) OptionConverter.instantiateByClassName( + subst(element.getAttribute(CLASS_ATTR)), + org.apache.log4j.spi.ErrorHandler.class, + null); + + if(eh != null) { + eh.setAppender(appender); + + PropertySetter propSetter = new PropertySetter(eh); + NodeList children = element.getChildNodes(); + final int length = children.getLength(); + + for (int loop = 0; loop < length; loop++) { + Node currentNode = children.item(loop); + if (currentNode.getNodeType() == Node.ELEMENT_NODE) { + Element currentElement = (Element) currentNode; + String tagName = currentElement.getTagName(); + if(tagName.equals(PARAM_TAG)) { + setParameter(currentElement, propSetter); + } else if(tagName.equals(APPENDER_REF_TAG)) { + eh.setBackupAppender(findAppenderByReference(currentElement)); + } else if(tagName.equals(LOGGER_REF)) { + String loggerName = currentElement.getAttribute(REF_ATTR); + Logger logger = (catFactory == null) ? repository.getLogger(loggerName) + : repository.getLogger(loggerName, catFactory); + eh.setLogger(logger); + } else if(tagName.equals(ROOT_REF)) { + Logger root = repository.getRootLogger(); + eh.setLogger(root); + } else { + quietParseUnrecognizedElement(eh, currentElement, props); + } + } + } + propSetter.activate(); + appender.setErrorHandler(eh); + } + } + + /** + Used internally to parse a filter element. + */ + protected + void parseFilters(Element element, Appender appender) { + String clazz = subst(element.getAttribute(CLASS_ATTR)); + Filter filter = (Filter) OptionConverter.instantiateByClassName(clazz, + Filter.class, null); + + if(filter != null) { + PropertySetter propSetter = new PropertySetter(filter); + NodeList children = element.getChildNodes(); + final int length = children.getLength(); + + for (int loop = 0; loop < length; loop++) { + Node currentNode = children.item(loop); + if (currentNode.getNodeType() == Node.ELEMENT_NODE) { + Element currentElement = (Element) currentNode; + String tagName = currentElement.getTagName(); + if(tagName.equals(PARAM_TAG)) { + setParameter(currentElement, propSetter); + } else { + quietParseUnrecognizedElement(filter, currentElement, props); + } + } + } + propSetter.activate(); + LogLog.debug("Adding filter of type ["+filter.getClass() + +"] to appender named ["+appender.getName()+"]."); + appender.addFilter(filter); + } + } + + /** + Used internally to parse an category element. + */ + protected + void parseCategory (Element loggerElement) { + // Create a new org.apache.log4j.Category object from the <category> element. + String catName = subst(loggerElement.getAttribute(NAME_ATTR)); + + Logger cat; + + String className = subst(loggerElement.getAttribute(CLASS_ATTR)); + + + if(EMPTY_STR.equals(className)) { + LogLog.debug("Retreiving an instance of org.apache.log4j.Logger."); + cat = (catFactory == null) ? repository.getLogger(catName) : repository.getLogger(catName, catFactory); + } + else { + LogLog.debug("Desired logger sub-class: ["+className+']'); + try { + Class clazz = Loader.loadClass(className); + Method getInstanceMethod = clazz.getMethod("getLogger", + ONE_STRING_PARAM); + cat = (Logger) getInstanceMethod.invoke(null, new Object[] {catName}); + } catch (InvocationTargetException oops) { + if (oops.getTargetException() instanceof InterruptedException + || oops.getTargetException() instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("Could not retrieve category ["+catName+ + "]. Reported error follows.", oops); + return; + } catch (Exception oops) { + LogLog.error("Could not retrieve category ["+catName+ + "]. Reported error follows.", oops); + return; + } + } + + // Setting up a category needs to be an atomic operation, in order + // to protect potential log operations while category + // configuration is in progress. + synchronized(cat) { + boolean additivity = OptionConverter.toBoolean( + subst(loggerElement.getAttribute(ADDITIVITY_ATTR)), + true); + + LogLog.debug("Setting ["+cat.getName()+"] additivity to ["+additivity+"]."); + cat.setAdditivity(additivity); + parseChildrenOfLoggerElement(loggerElement, cat, false); + } + } + + + /** + Used internally to parse the category factory element. + */ + protected + void parseCategoryFactory(Element factoryElement) { + String className = subst(factoryElement.getAttribute(CLASS_ATTR)); + + if(EMPTY_STR.equals(className)) { + LogLog.error("Category Factory tag " + CLASS_ATTR + " attribute not found."); + LogLog.debug("No Category Factory configured."); + } + else { + LogLog.debug("Desired category factory: ["+className+']'); + Object factory = OptionConverter.instantiateByClassName(className, + LoggerFactory.class, + null); + if (factory instanceof LoggerFactory) { + catFactory = (LoggerFactory) factory; + } else { + LogLog.error("Category Factory class " + className + " does not implement org.apache.log4j.LoggerFactory"); + } + PropertySetter propSetter = new PropertySetter(factory); + + Element currentElement = null; + Node currentNode = null; + NodeList children = factoryElement.getChildNodes(); + final int length = children.getLength(); + + for (int loop=0; loop < length; loop++) { + currentNode = children.item(loop); + if (currentNode.getNodeType() == Node.ELEMENT_NODE) { + currentElement = (Element)currentNode; + if (currentElement.getTagName().equals(PARAM_TAG)) { + setParameter(currentElement, propSetter); + } else { + quietParseUnrecognizedElement(factory, currentElement, props); + } + } + } + } + } + + + /** + Used internally to parse the roor category element. + */ + protected + void parseRoot (Element rootElement) { + Logger root = repository.getRootLogger(); + // category configuration needs to be atomic + synchronized(root) { + parseChildrenOfLoggerElement(rootElement, root, true); + } + } + + + /** + Used internally to parse the children of a category element. + */ + protected + void parseChildrenOfLoggerElement(Element catElement, + Logger cat, boolean isRoot) { + + PropertySetter propSetter = new PropertySetter(cat); + + // Remove all existing appenders from cat. They will be + // reconstructed if need be. + cat.removeAllAppenders(); + + + NodeList children = catElement.getChildNodes(); + final int length = children.getLength(); + + for (int loop = 0; loop < length; loop++) { + Node currentNode = children.item(loop); + + if (currentNode.getNodeType() == Node.ELEMENT_NODE) { + Element currentElement = (Element) currentNode; + String tagName = currentElement.getTagName(); + + if (tagName.equals(APPENDER_REF_TAG)) { + Element appenderRef = (Element) currentNode; + Appender appender = findAppenderByReference(appenderRef); + String refName = subst(appenderRef.getAttribute(REF_ATTR)); + if(appender != null) + LogLog.debug("Adding appender named ["+ refName+ + "] to category ["+cat.getName()+"]."); + else + LogLog.debug("Appender named ["+ refName + "] not found."); + + cat.addAppender(appender); + + } else if(tagName.equals(LEVEL_TAG)) { + parseLevel(currentElement, cat, isRoot); + } else if(tagName.equals(PRIORITY_TAG)) { + parseLevel(currentElement, cat, isRoot); + } else if(tagName.equals(PARAM_TAG)) { + setParameter(currentElement, propSetter); + } else { + quietParseUnrecognizedElement(cat, currentElement, props); + } + } + } + propSetter.activate(); + } + + /** + Used internally to parse a layout element. + */ + protected + Layout parseLayout (Element layout_element) { + String className = subst(layout_element.getAttribute(CLASS_ATTR)); + LogLog.debug("Parsing layout of class: \""+className+"\""); + try { + Object instance = Loader.loadClass(className).newInstance(); + Layout layout = (Layout)instance; + PropertySetter propSetter = new PropertySetter(layout); + + NodeList params = layout_element.getChildNodes(); + final int length = params.getLength(); + + for (int loop = 0; loop < length; loop++) { + Node currentNode = (Node)params.item(loop); + if (currentNode.getNodeType() == Node.ELEMENT_NODE) { + Element currentElement = (Element) currentNode; + String tagName = currentElement.getTagName(); + if(tagName.equals(PARAM_TAG)) { + setParameter(currentElement, propSetter); + } else { + parseUnrecognizedElement(instance, currentElement, props); + } + } + } + + propSetter.activate(); + return layout; + } + catch (Exception oops) { + if (oops instanceof InterruptedException || oops instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("Could not create the Layout. Reported error follows.", + oops); + return null; + } + } + + protected + void parseRenderer(Element element) { + String renderingClass = subst(element.getAttribute(RENDERING_CLASS_ATTR)); + String renderedClass = subst(element.getAttribute(RENDERED_CLASS_ATTR)); + if(repository instanceof RendererSupport) { + RendererMap.addRenderer((RendererSupport) repository, renderedClass, + renderingClass); + } + } + + /** + * Parses throwable renderer. + * @param element throwableRenderer element. + * @return configured throwable renderer. + * @since 1.2.16. + */ + protected ThrowableRenderer parseThrowableRenderer(final Element element) { + String className = subst(element.getAttribute(CLASS_ATTR)); + LogLog.debug("Parsing throwableRenderer of class: \""+className+"\""); + try { + Object instance = Loader.loadClass(className).newInstance(); + ThrowableRenderer tr = (ThrowableRenderer)instance; + PropertySetter propSetter = new PropertySetter(tr); + + NodeList params = element.getChildNodes(); + final int length = params.getLength(); + + for (int loop = 0; loop < length; loop++) { + Node currentNode = (Node)params.item(loop); + if (currentNode.getNodeType() == Node.ELEMENT_NODE) { + Element currentElement = (Element) currentNode; + String tagName = currentElement.getTagName(); + if(tagName.equals(PARAM_TAG)) { + setParameter(currentElement, propSetter); + } else { + parseUnrecognizedElement(instance, currentElement, props); + } + } + } + + propSetter.activate(); + return tr; + } + catch (Exception oops) { + if (oops instanceof InterruptedException || oops instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("Could not create the ThrowableRenderer. Reported error follows.", + oops); + return null; + } + } + + /** + Used internally to parse a level element. + */ + protected + void parseLevel(Element element, Logger logger, boolean isRoot) { + String catName = logger.getName(); + if(isRoot) { + catName = "root"; + } + + String priStr = subst(element.getAttribute(VALUE_ATTR)); + LogLog.debug("Level value for "+catName+" is ["+priStr+"]."); + + if(INHERITED.equalsIgnoreCase(priStr) || NULL.equalsIgnoreCase(priStr)) { + if(isRoot) { + LogLog.error("Root level cannot be inherited. Ignoring directive."); + } else { + logger.setLevel(null); + } + } else { + String className = subst(element.getAttribute(CLASS_ATTR)); + if(EMPTY_STR.equals(className)) { + logger.setLevel(OptionConverter.toLevel(priStr, Level.DEBUG)); + } else { + LogLog.debug("Desired Level sub-class: ["+className+']'); + try { + Class clazz = Loader.loadClass(className); + Method toLevelMethod = clazz.getMethod("toLevel", + ONE_STRING_PARAM); + Level pri = (Level) toLevelMethod.invoke(null, + new Object[] {priStr}); + logger.setLevel(pri); + } catch (Exception oops) { + if (oops instanceof InterruptedException || oops instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + LogLog.error("Could not create level ["+priStr+ + "]. Reported error follows.", oops); + return; + } + } + } + LogLog.debug(catName + " level set to " + logger.getLevel()); + } + + protected + void setParameter(Element elem, PropertySetter propSetter) { + String name = subst(elem.getAttribute(NAME_ATTR)); + String value = (elem.getAttribute(VALUE_ATTR)); + value = subst(OptionConverter.convertSpecialChars(value)); + propSetter.setProperty(name, value); + } + + + /** + Configure log4j using a <code>configuration</code> element as + defined in the log4j.dtd. + + */ + static + public + void configure (Element element) { + DOMConfigurator configurator = new DOMConfigurator(); + configurator.doConfigure(element, LogManager.getLoggerRepository()); + } + + /** + Like {@link #configureAndWatch(String, long)} except that the + default delay as defined by {@link FileWatchdog#DEFAULT_DELAY} is + used. + + @param configFilename A log4j configuration file in XML format. + + */ + static + public + void configureAndWatch(String configFilename) { + configureAndWatch(configFilename, FileWatchdog.DEFAULT_DELAY); + } + + /** + Read the configuration file <code>configFilename</code> if it + exists. Moreover, a thread will be created that will periodically + check if <code>configFilename</code> has been created or + modified. The period is determined by the <code>delay</code> + argument. If a change or file creation is detected, then + <code>configFilename</code> is read to configure log4j. + + @param configFilename A log4j configuration file in XML format. + @param delay The delay in milliseconds to wait between each check. + */ + static + public + void configureAndWatch(String configFilename, long delay) { + XMLWatchdog xdog = new XMLWatchdog(configFilename); + xdog.setDelay(delay); + xdog.start(); + } + + private interface ParseAction { + Document parse(final DocumentBuilder parser) throws SAXException, IOException; + } + + + public + void doConfigure(final String filename, LoggerRepository repository) { + ParseAction action = new ParseAction() { + public Document parse(final DocumentBuilder parser) throws SAXException, IOException { + return parser.parse(new File(filename)); + } + public String toString() { + return "file [" + filename + "]"; + } + }; + doConfigure(action, repository); + } + + + public + void doConfigure(final URL url, LoggerRepository repository) { + ParseAction action = new ParseAction() { + public Document parse(final DocumentBuilder parser) throws SAXException, IOException { + URLConnection uConn = url.openConnection(); + uConn.setUseCaches(false); + InputSource src = new InputSource(uConn.getInputStream()); + src.setSystemId(url.toString()); + return parser.parse(src); + } + public String toString() { + return "url [" + url.toString() + "]"; + } + }; + doConfigure(action, repository); + } + + /** + Configure log4j by reading in a log4j.dtd compliant XML + configuration file. + + */ + public + void doConfigure(final InputStream inputStream, LoggerRepository repository) + throws FactoryConfigurationError { + ParseAction action = new ParseAction() { + public Document parse(final DocumentBuilder parser) throws SAXException, IOException { + InputSource inputSource = new InputSource(inputStream); + inputSource.setSystemId("dummy://log4j.dtd"); + return parser.parse(inputSource); + } + public String toString() { + return "input stream [" + inputStream.toString() + "]"; + } + }; + doConfigure(action, repository); + } + + /** + Configure log4j by reading in a log4j.dtd compliant XML + configuration file. + + */ + public + void doConfigure(final Reader reader, LoggerRepository repository) + throws FactoryConfigurationError { + ParseAction action = new ParseAction() { + public Document parse(final DocumentBuilder parser) throws SAXException, IOException { + InputSource inputSource = new InputSource(reader); + inputSource.setSystemId("dummy://log4j.dtd"); + return parser.parse(inputSource); + } + public String toString() { + return "reader [" + reader.toString() + "]"; + } + }; + doConfigure(action, repository); + } + + /** + Configure log4j by reading in a log4j.dtd compliant XML + configuration file. + + */ + protected + void doConfigure(final InputSource inputSource, LoggerRepository repository) + throws FactoryConfigurationError { + if (inputSource.getSystemId() == null) { + inputSource.setSystemId("dummy://log4j.dtd"); + } + ParseAction action = new ParseAction() { + public Document parse(final DocumentBuilder parser) throws SAXException, IOException { + return parser.parse(inputSource); + } + public String toString() { + return "input source [" + inputSource.toString() + "]"; + } + }; + doConfigure(action, repository); + } + + + private final void doConfigure(final ParseAction action, final LoggerRepository repository) + throws FactoryConfigurationError { + DocumentBuilderFactory dbf = null; + this.repository = repository; + try { + LogLog.debug("System property is :"+ + OptionConverter.getSystemProperty(dbfKey, + null)); + dbf = DocumentBuilderFactory.newInstance(); + LogLog.debug("Standard DocumentBuilderFactory search succeded."); + LogLog.debug("DocumentBuilderFactory is: "+dbf.getClass().getName()); + } catch(FactoryConfigurationError fce) { + Exception e = fce.getException(); + LogLog.debug("Could not instantiate a DocumentBuilderFactory.", e); + throw fce; + } + + try { + dbf.setValidating(true); + + DocumentBuilder docBuilder = dbf.newDocumentBuilder(); + + docBuilder.setErrorHandler(new SAXErrorHandler()); + docBuilder.setEntityResolver(new Log4jEntityResolver()); + + Document doc = action.parse(docBuilder); + parse(doc.getDocumentElement()); + } catch (Exception e) { + if (e instanceof InterruptedException || e instanceof InterruptedIOException) { + Thread.currentThread().interrupt(); + } + // I know this is miserable... + LogLog.error("Could not parse "+ action.toString() + ".", e); + } + } + + /** + Configure by taking in an DOM element. + */ + public void doConfigure(Element element, LoggerRepository repository) { + this.repository = repository; + parse(element); + } + + + /** + A static version of {@link #doConfigure(String, LoggerRepository)}. */ + static + public + void configure(String filename) throws FactoryConfigurationError { + new DOMConfigurator().doConfigure(filename, + LogManager.getLoggerRepository()); + } + + /** + A static version of {@link #doConfigure(URL, LoggerRepository)}. + */ + static + public + void configure(URL url) throws FactoryConfigurationError { + new DOMConfigurator().doConfigure(url, LogManager.getLoggerRepository()); + } + + /** + Used internally to configure the log4j framework by parsing a DOM + tree of XML elements based on <a + href="doc-files/log4j.dtd">log4j.dtd</a>. + + */ + protected + void parse(Element element) { + + String rootElementName = element.getTagName(); + + if (!rootElementName.equals(CONFIGURATION_TAG)) { + if(rootElementName.equals(OLD_CONFIGURATION_TAG)) { + LogLog.warn("The <"+OLD_CONFIGURATION_TAG+ + "> element has been deprecated."); + LogLog.warn("Use the <"+CONFIGURATION_TAG+"> element instead."); + } else { + LogLog.error("DOM element is - not a <"+CONFIGURATION_TAG+"> element."); + return; + } + } + + + String debugAttrib = subst(element.getAttribute(INTERNAL_DEBUG_ATTR)); + + LogLog.debug("debug attribute= \"" + debugAttrib +"\"."); + // if the log4j.dtd is not specified in the XML file, then the + // "debug" attribute is returned as the empty string. + if(!debugAttrib.equals("") && !debugAttrib.equals("null")) { + LogLog.setInternalDebugging(OptionConverter.toBoolean(debugAttrib, true)); + } else { + LogLog.debug("Ignoring " + INTERNAL_DEBUG_ATTR + " attribute."); + } + + // + // reset repository before configuration if reset="true" + // on configuration element. + // + String resetAttrib = subst(element.getAttribute(RESET_ATTR)); + LogLog.debug("reset attribute= \"" + resetAttrib +"\"."); + if(!("".equals(resetAttrib))) { + if (OptionConverter.toBoolean(resetAttrib, false)) { + repository.resetConfiguration(); + } + } + + + + String confDebug = subst(element.getAttribute(CONFIG_DEBUG_ATTR)); + if(!confDebug.equals("") && !confDebug.equals("null")) { + LogLog.warn("The \""+CONFIG_DEBUG_ATTR+"\" attribute is deprecated."); + LogLog.warn("Use the \""+INTERNAL_DEBUG_ATTR+"\" attribute instead."); + LogLog.setInternalDebugging(OptionConverter.toBoolean(confDebug, true)); + } + + String thresholdStr = subst(element.getAttribute(THRESHOLD_ATTR)); + LogLog.debug("Threshold =\"" + thresholdStr +"\"."); + if(!"".equals(thresholdStr) && !"null".equals(thresholdStr)) { + repository.setThreshold(thresholdStr); + } + + //Hashtable appenderBag = new Hashtable(11); + + /* Building Appender objects, placing them in a local namespace + for future reference */ + + // First configure each category factory under the root element. + // Category factories need to be configured before any of + // categories they support. + // + String tagName = null; + Element currentElement = null; + Node currentNode = null; + NodeList children = element.getChildNodes(); + final int length = children.getLength(); + + for (int loop = 0; loop < length; loop++) { + currentNode = children.item(loop); + if (currentNode.getNodeType() == Node.ELEMENT_NODE) { + currentElement = (Element) currentNode; + tagName = currentElement.getTagName(); + + if (tagName.equals(CATEGORY_FACTORY_TAG) || tagName.equals(LOGGER_FACTORY_TAG)) { + parseCategoryFactory(currentElement); + } + } + } + + for (int loop = 0; loop < length; loop++) { + currentNode = children.item(loop); + if (currentNode.getNodeType() == Node.ELEMENT_NODE) { + currentElement = (Element) currentNode; + tagName = currentElement.getTagName(); + + if (tagName.equals(CATEGORY) || tagName.equals(LOGGER)) { + parseCategory(currentElement); + } else if (tagName.equals(ROOT_TAG)) { + parseRoot(currentElement); + } else if(tagName.equals(RENDERER_TAG)) { + parseRenderer(currentElement); + } else if(tagName.equals(THROWABLE_RENDERER_TAG)) { + if (repository instanceof ThrowableRendererSupport) { + ThrowableRenderer tr = parseThrowableRenderer(currentElement); + if (tr != null) { + ((ThrowableRendererSupport) repository).setThrowableRenderer(tr); + } + } + } else if (!(tagName.equals(APPENDER_TAG) + || tagName.equals(CATEGORY_FACTORY_TAG) + || tagName.equals(LOGGER_FACTORY_TAG))) { + quietParseUnrecognizedElement(repository, currentElement, props); + } + } + } + } + + + protected + String subst(final String value) { + return subst(value, props); + } + + /** + * Substitutes property value for any references in expression. + * + * @param value value from configuration file, may contain + * literal text, property references or both + * @param props properties. + * @return evaluated expression, may still contain expressions + * if unable to expand. + * @since 1.2.15 + */ + public static String subst(final String value, final Properties props) { + try { + return OptionConverter.substVars(value, props); + } catch (IllegalArgumentException e) { + LogLog.warn("Could not perform variable substitution.", e); + return value; + } + } + + + /** + * Sets a parameter based from configuration file content. + * + * @param elem param element, may not be null. + * @param propSetter property setter, may not be null. + * @param props properties + * @since 1.2.15 + */ + public static void setParameter(final Element elem, + final PropertySetter propSetter, + final Properties props) { + String name = subst(elem.getAttribute("name"), props); + String value = (elem.getAttribute("value")); + value = subst(OptionConverter.convertSpecialChars(value), props); + propSetter.setProperty(name, value); + } + + /** + * Creates an object and processes any nested param elements + * but does not call activateOptions. If the class also supports + * UnrecognizedElementParser, the parseUnrecognizedElement method + * will be call for any child elements other than param. + * + * @param element element, may not be null. + * @param props properties + * @param expectedClass interface or class expected to be implemented + * by created class + * @return created class or null. + * @throws Exception thrown if the contain object should be abandoned. + * @since 1.2.15 + */ + public static Object parseElement(final Element element, + final Properties props, + final Class expectedClass) throws Exception { + String clazz = subst(element.getAttribute("class"), props); + Object instance = OptionConverter.instantiateByClassName(clazz, + expectedClass, null); + + if (instance != null) { + PropertySetter propSetter = new PropertySetter(instance); + NodeList children = element.getChildNodes(); + final int length = children.getLength(); + + for (int loop = 0; loop < length; loop++) { + Node currentNode = children.item(loop); + if (currentNode.getNodeType() == Node.ELEMENT_NODE) { + Element currentElement = (Element) currentNode; + String tagName = currentElement.getTagName(); + if (tagName.equals("param")) { + setParameter(currentElement, propSetter, props); + } else { + parseUnrecognizedElement(instance, currentElement, props); + } + } + } + return instance; + } + return null; + } + +} + + +class XMLWatchdog extends FileWatchdog { + + XMLWatchdog(String filename) { + super(filename); + } + + /** + Call {@link DOMConfigurator#configure(String)} with the + <code>filename</code> to reconfigure log4j. */ + public + void doOnChange() { + new DOMConfigurator().doConfigure(filename, + LogManager.getLoggerRepository()); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/Log4jEntityResolver.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/Log4jEntityResolver.java new file mode 100644 index 00000000000..94125a606d4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/Log4jEntityResolver.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml; + +import org.apache.log4j.helpers.LogLog; +import org.xml.sax.EntityResolver; +import org.xml.sax.InputSource; + +import java.io.InputStream; +import java.io.ByteArrayInputStream; + +/** + * An {@link EntityResolver} specifically designed to return + * <code>log4j.dtd</code> which is embedded within the log4j jar + * file. + * + * @author Paul Austin + * */ +public class Log4jEntityResolver implements EntityResolver { + private static final String PUBLIC_ID = "-//APACHE//DTD LOG4J 1.2//EN"; + + public InputSource resolveEntity (String publicId, String systemId) { + if (systemId.endsWith("log4j.dtd") || PUBLIC_ID.equals(publicId)) { + Class clazz = getClass(); + InputStream in = clazz.getResourceAsStream("/org/apache/log4j/xml/log4j.dtd"); + if (in == null) { + LogLog.warn("Could not find [log4j.dtd] using [" + clazz.getClassLoader() + + "] class loader, parsed without DTD."); + in = new ByteArrayInputStream(new byte[0]); + } + return new InputSource(in); + } else { + return null; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/SAXErrorHandler.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/SAXErrorHandler.java new file mode 100644 index 00000000000..43e851bb6c8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/SAXErrorHandler.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml; + +import org.xml.sax.ErrorHandler; +import org.xml.sax.SAXParseException; +import org.apache.log4j.helpers.LogLog; + +public class SAXErrorHandler implements ErrorHandler { + + public + void error(final SAXParseException ex) { + emitMessage("Continuable parsing error ", ex); + } + + public + void fatalError(final SAXParseException ex) { + emitMessage("Fatal parsing error ", ex); + } + + public + void warning(final SAXParseException ex) { + emitMessage("Parsing warning ", ex); + } + + private static void emitMessage(final String msg, final SAXParseException ex) { + LogLog.warn(msg +ex.getLineNumber()+" and column " + +ex.getColumnNumber()); + LogLog.warn(ex.getMessage(), ex.getException()); + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/xml/UnrecognizedElementHandler.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/UnrecognizedElementHandler.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/xml/UnrecognizedElementHandler.java rename to thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/UnrecognizedElementHandler.java diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/XMLLayout.java b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/XMLLayout.java new file mode 100644 index 00000000000..2062a80013c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/XMLLayout.java @@ -0,0 +1,216 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Contributors: Mathias Bogaert + +package org.apache.log4j.xml; + +import org.apache.log4j.Layout; +import org.apache.log4j.helpers.Transform; +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.spi.LoggingEvent; + +import java.util.Set; +import java.util.Arrays; + +/** + * The output of the XMLLayout consists of a series of log4j:event + * elements as defined in the <a + * href="log4j.dtd">log4j.dtd</a>. It does not output a + * complete well-formed XML file. The output is designed to be + * included as an <em>external entity</em> in a separate file to form + * a correct XML file. + * + * <p>For example, if <code>abc</code> is the name of the file where + * the XMLLayout ouput goes, then a well-formed XML file would be: + * + <pre> + &lt;?xml version="1.0" ?&gt; + + &lt;!DOCTYPE log4j:eventSet PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd" [&lt;!ENTITY data SYSTEM "abc"&gt;]&gt; + + &lt;log4j:eventSet version="1.2" xmlns:log4j="http://jakarta.apache.org/log4j/"&gt; + &nbsp;&nbsp;&data; + &lt;/log4j:eventSet&gt; + </pre> + + * <p>This approach enforces the independence of the XMLLayout and the + * appender where it is embedded. + * + * <p>The <code>version</code> attribute helps components to correctly + * intrepret output generated by XMLLayout. The value of this + * attribute should be "1.1" for output generated by log4j versions + * prior to log4j 1.2 (final release) and "1.2" for relase 1.2 and + * later. + * + * Appenders using this layout should have their encoding + * set to UTF-8 or UTF-16, otherwise events containing + * non ASCII characters could result in corrupted + * log files. + * + * @author Ceki G&uuml;lc&uuml; + * @since 0.9.0 + * */ +public class XMLLayout extends Layout { + + private final int DEFAULT_SIZE = 256; + private final int UPPER_LIMIT = 2048; + + private StringBuffer buf = new StringBuffer(DEFAULT_SIZE); + private boolean locationInfo = false; + private boolean properties = false; + + /** + * The <b>LocationInfo</b> option takes a boolean value. By default, + * it is set to false which means there will be no location + * information output by this layout. If the the option is set to + * true, then the file name and line number of the statement at the + * origin of the log statement will be output. + * + * <p>If you are embedding this layout within an {@link + * org.apache.log4j.net.SMTPAppender} then make sure to set the + * <b>LocationInfo</b> option of that appender as well. + * */ + public void setLocationInfo(boolean flag) { + locationInfo = flag; + } + + /** + Returns the current value of the <b>LocationInfo</b> option. + */ + public boolean getLocationInfo() { + return locationInfo; + } + + /** + * Sets whether MDC key-value pairs should be output, default false. + * @param flag new value. + * @since 1.2.15 + */ + public void setProperties(final boolean flag) { + properties = flag; + } + + /** + * Gets whether MDC key-value pairs should be output. + * @return true if MDC key-value pairs are output. + * @since 1.2.15 + */ + public boolean getProperties() { + return properties; + } + + /** No options to activate. */ + public void activateOptions() { + } + + + /** + * Formats a {@link org.apache.log4j.spi.LoggingEvent} in conformance with the log4j.dtd. + * */ + public String format(final LoggingEvent event) { + + // Reset working buffer. If the buffer is too large, then we need a new + // one in order to avoid the penalty of creating a large array. + if(buf.capacity() > UPPER_LIMIT) { + buf = new StringBuffer(DEFAULT_SIZE); + } else { + buf.setLength(0); + } + + // We yield to the \r\n heresy. + + buf.append("<log4j:event logger=\""); + buf.append(Transform.escapeTags(event.getLoggerName())); + buf.append("\" timestamp=\""); + buf.append(event.timeStamp); + buf.append("\" level=\""); + buf.append(Transform.escapeTags(String.valueOf(event.getLevel()))); + buf.append("\" thread=\""); + buf.append(Transform.escapeTags(event.getThreadName())); + buf.append("\">\r\n"); + + buf.append("<log4j:message><![CDATA["); + // Append the rendered message. Also make sure to escape any + // existing CDATA sections. + Transform.appendEscapingCDATA(buf, event.getRenderedMessage()); + buf.append("]]></log4j:message>\r\n"); + + String ndc = event.getNDC(); + if(ndc != null) { + buf.append("<log4j:NDC><![CDATA["); + Transform.appendEscapingCDATA(buf, ndc); + buf.append("]]></log4j:NDC>\r\n"); + } + + String[] s = event.getThrowableStrRep(); + if(s != null) { + buf.append("<log4j:throwable><![CDATA["); + for(int i = 0; i < s.length; i++) { + Transform.appendEscapingCDATA(buf, s[i]); + buf.append("\r\n"); + } + buf.append("]]></log4j:throwable>\r\n"); + } + + if(locationInfo) { + LocationInfo locationInfo = event.getLocationInformation(); + buf.append("<log4j:locationInfo class=\""); + buf.append(Transform.escapeTags(locationInfo.getClassName())); + buf.append("\" method=\""); + buf.append(Transform.escapeTags(locationInfo.getMethodName())); + buf.append("\" file=\""); + buf.append(Transform.escapeTags(locationInfo.getFileName())); + buf.append("\" line=\""); + buf.append(locationInfo.getLineNumber()); + buf.append("\"/>\r\n"); + } + + if (properties) { + Set keySet = event.getPropertyKeySet(); + if (keySet.size() > 0) { + buf.append("<log4j:properties>\r\n"); + Object[] keys = keySet.toArray(); + Arrays.sort(keys); + for (int i = 0; i < keys.length; i++) { + String key = keys[i].toString(); + Object val = event.getMDC(key); + if (val != null) { + buf.append("<log4j:data name=\""); + buf.append(Transform.escapeTags(key)); + buf.append("\" value=\""); + buf.append(Transform.escapeTags(String.valueOf(val))); + buf.append("\"/>\r\n"); + } + } + buf.append("</log4j:properties>\r\n"); + } + } + + buf.append("</log4j:event>\r\n\r\n"); + + return buf.toString(); + } + + /** + The XMLLayout prints and does not ignore exceptions. Hence the + return value <code>false</code>. + */ + public boolean ignoresThrowable() { + return false; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/package.html b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/package.html new file mode 100644 index 00000000000..8a9ed6e22bb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/java/org/apache/log4j/xml/package.html @@ -0,0 +1,33 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> <head> +<title></title> +</head> + +<body> + +<p>XML based components. + + +<hr> +<address></address> +<!-- hhmts start --> +Last modified: Mon Mar 27 21:17:13 MDT 2000 +<!-- hhmts end --> +</body> </html> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/doc-files/log4j.dtd b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/doc-files/log4j.dtd new file mode 100644 index 00000000000..1aabd96c3be --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/doc-files/log4j.dtd @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Authors: Chris Taylor, Ceki Gulcu. --> + +<!-- Version: 1.2 --> + +<!-- A configuration element consists of optional renderer +elements,appender elements, categories and an optional root +element. --> + +<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?, + (categoryFactory|loggerFactory)?)> + +<!-- The "threshold" attribute takes a level value below which --> +<!-- all logging statements are disabled. --> + +<!-- Setting the "debug" enable the printing of internal log4j logging --> +<!-- statements. --> + +<!-- By default, debug attribute is "null", meaning that we not do touch --> +<!-- internal log4j logging settings. The "null" value for the threshold --> +<!-- attribute can be misleading. The threshold field of a repository --> +<!-- cannot be set to null. The "null" value for the threshold attribute --> +<!-- simply means don't touch the threshold field, the threshold field --> +<!-- keeps its old value. --> + +<!ATTLIST log4j:configuration + xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/" + threshold (all|trace|debug|info|warn|error|fatal|off|null) "null" + debug (true|false|null) "null" + reset (true|false) "false" +> + +<!-- renderer elements allow the user to customize the conversion of --> +<!-- message objects to String. --> + +<!ELEMENT renderer EMPTY> +<!ATTLIST renderer + renderedClass CDATA #REQUIRED + renderingClass CDATA #REQUIRED +> + +<!-- Appenders must have a name and a class. --> +<!-- Appenders may contain an error handler, a layout, optional parameters --> +<!-- and filters. They may also reference (or include) other appenders. --> +<!ELEMENT appender (errorHandler?, param*, + rollingPolicy?, triggeringPolicy?, connectionSource?, + layout?, filter*, appender-ref*)> +<!ATTLIST appender + name CDATA #REQUIRED + class CDATA #REQUIRED +> + +<!ELEMENT layout (param*)> +<!ATTLIST layout + class CDATA #REQUIRED +> + +<!ELEMENT filter (param*)> +<!ATTLIST filter + class CDATA #REQUIRED +> + +<!-- ErrorHandlers can be of any class. They can admit any number of --> +<!-- parameters. --> + +<!ELEMENT errorHandler (param*, root-ref?, logger-ref*, appender-ref?)> +<!ATTLIST errorHandler + class CDATA #REQUIRED +> + +<!ELEMENT root-ref EMPTY> + +<!ELEMENT logger-ref EMPTY> +<!ATTLIST logger-ref + ref CDATA #REQUIRED +> + +<!ELEMENT param EMPTY> +<!ATTLIST param + name CDATA #REQUIRED + value CDATA #REQUIRED +> + + +<!-- The priority class is org.apache.log4j.Level by default --> +<!ELEMENT priority (param*)> +<!ATTLIST priority + class CDATA #IMPLIED + value CDATA #REQUIRED +> + +<!-- The level class is org.apache.log4j.Level by default --> +<!ELEMENT level (param*)> +<!ATTLIST level + class CDATA #IMPLIED + value CDATA #REQUIRED +> + + +<!-- If no level element is specified, then the configurator MUST not --> +<!-- touch the level of the named category. --> +<!ELEMENT category (param*,(priority|level)?,appender-ref*)> +<!ATTLIST category + class CDATA #IMPLIED + name CDATA #REQUIRED + additivity (true|false) "true" +> + +<!-- If no level element is specified, then the configurator MUST not --> +<!-- touch the level of the named logger. --> +<!ELEMENT logger (level?,appender-ref*)> +<!ATTLIST logger + name CDATA #REQUIRED + additivity (true|false) "true" +> + + +<!ELEMENT categoryFactory (param*)> +<!ATTLIST categoryFactory + class CDATA #REQUIRED> + +<!ELEMENT loggerFactory (param*)> +<!ATTLIST loggerFactory + class CDATA #REQUIRED> + +<!ELEMENT appender-ref EMPTY> +<!ATTLIST appender-ref + ref CDATA #REQUIRED +> + +<!-- plugins must have a name and class and can have optional parameters --> +<!ELEMENT plugin (param*, connectionSource?)> +<!ATTLIST plugin + name CDATA #REQUIRED + class CDATA #REQUIRED +> + +<!ELEMENT connectionSource (dataSource?, param*)> +<!ATTLIST connectionSource + class CDATA #REQUIRED +> + +<!ELEMENT dataSource (param*)> +<!ATTLIST dataSource + class CDATA #REQUIRED +> + +<!ELEMENT triggeringPolicy ((param|filter)*)> +<!ATTLIST triggeringPolicy + name CDATA #IMPLIED + class CDATA #REQUIRED +> + +<!ELEMENT rollingPolicy (param*)> +<!ATTLIST rollingPolicy + name CDATA #IMPLIED + class CDATA #REQUIRED +> + + +<!-- If no priority element is specified, then the configurator MUST not --> +<!-- touch the priority of root. --> +<!-- The root category always exists and cannot be subclassed. --> +<!ELEMENT root (param*, (priority|level)?, appender-ref*)> + + +<!-- ==================================================================== --> +<!-- A logging event --> +<!-- ==================================================================== --> +<!ELEMENT log4j:eventSet (log4j:event*)> +<!ATTLIST log4j:eventSet + xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/" + version (1.1|1.2) "1.2" + includesLocationInfo (true|false) "true" +> + + + +<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, + log4j:locationInfo?, log4j:properties?) > + +<!-- The timestamp format is application dependent. --> +<!ATTLIST log4j:event + logger CDATA #REQUIRED + level CDATA #REQUIRED + thread CDATA #REQUIRED + timestamp CDATA #REQUIRED + time CDATA #IMPLIED +> + +<!ELEMENT log4j:message (#PCDATA)> +<!ELEMENT log4j:NDC (#PCDATA)> + +<!ELEMENT log4j:throwable (#PCDATA)> + +<!ELEMENT log4j:locationInfo EMPTY> +<!ATTLIST log4j:locationInfo + class CDATA #REQUIRED + method CDATA #REQUIRED + file CDATA #REQUIRED + line CDATA #REQUIRED +> + +<!ELEMENT log4j:properties (log4j:data*)> + +<!ELEMENT log4j:data EMPTY> +<!ATTLIST log4j:data + name CDATA #REQUIRED + value CDATA #REQUIRED +> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/XMLSample.java b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/XMLSample.java new file mode 100644 index 00000000000..94ef78d198a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/XMLSample.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml.examples; + +import org.apache.log4j.xml.DOMConfigurator; +import org.apache.log4j.Logger; + +/** + + This <a href="doc-files/XMLSample.java">example code</a> shows how to + read an XML based configuration file using a DOM parser. + + <p>Sample XML files <a href="doc-files/sample1.xml">sample1.xml</a> + and <a href="doc-files/sample2.xml">sample2.xml</a> are provided. + + + <p>Note that the log4j.dtd is not in the local directory. + It is found by the class loader. + + @author Ceki G&uuml;lc&uuml; + +*/ +public class XMLSample { + + static Logger cat = Logger.getLogger(XMLSample.class); + + public + static + void main(String argv[]) { + + if(argv.length == 1) + init(argv[0]); + else + Usage("Wrong number of arguments."); + sample(); + } + + static + void Usage(String msg) { + System.err.println(msg); + System.err.println( "Usage: java " + XMLSample.class.getName() + + "configFile"); + System.exit(1); + } + + static + void init(String configFile) { + DOMConfigurator.configure(configFile); + } + + static + void sample() { + int i = -1; + cat.debug("Message " + ++i); + cat.warn ("Message " + ++i); + cat.error("Message " + ++i); + Exception e = new Exception("Just testing"); + cat.debug("Message " + ++i, e); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/XMLSample.java b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/XMLSample.java new file mode 100644 index 00000000000..8ea09f2844c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/XMLSample.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml.examples; + +import org.apache.log4j.xml.DOMConfigurator; +import org.apache.log4j.Logger; + +/** + + This <a href="XMLSample.java">example code</a> shows how to + read an XML based configuration file using a DOM parser. + + <p>Sample XML files <a href="sample1.xml">sample1.xml</a> + and <a href="sample2.xml">sample2.xml</a> are provided. + + + <p>Note that the log4j.dtd is not in the local directory. + It is found by the class loader. + + @author Ceki G&uuml;lc&uuml; + +*/ +public class XMLSample { + + static Logger cat = Logger.getLogger(XMLSample.class); + + public + static + void main(String argv[]) { + + if(argv.length == 1) + init(argv[0]); + else + Usage("Wrong number of arguments."); + sample(); + } + + static + void Usage(String msg) { + System.err.println(msg); + System.err.println( "Usage: java " + XMLSample.class.getName() + + "configFile"); + System.exit(1); + } + + static + void init(String configFile) { + DOMConfigurator.configure(configFile); + } + + static + void sample() { + int i = -1; + cat.debug("Message " + ++i); + cat.warn ("Message " + ++i); + cat.error("Message " + ++i); + Exception e = new Exception("Just testing"); + cat.debug("Message " + ++i, e); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample1.xml b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample1.xml new file mode 100644 index 00000000000..bddc001d1e5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample1.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + <category name="org.apache.log4j.xml"> + <priority value="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="STDOUT" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample2.xml b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample2.xml new file mode 100644 index 00000000000..65cdcb13cd7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample2.xml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + + <appender name="A1" class="org.apache.log4j.FileAppender"> + <param name="File" value="A1.log" /> + <param name="Append" value="false" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%t %-5p %c{2} - %m%n"/> + </layout> + </appender> + + <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + <category name="org.apache.log4j.xml"> + <priority value="debug" /> + <appender-ref ref="A1" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="STDOUT" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample3.xml b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample3.xml new file mode 100644 index 00000000000..cddee2b648a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample3.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + <appender name="A1" class="org.apache.log4j.net.SocketAppender"> + <param name="RemoteHost" value="localhost"/> + <param name="Port" value="5000"/> + <param name="LocationInfo" value="true"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%t %-5p %c{2} - %m%n"/> + </layout> + </appender> + <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + <category name="org.apache.log4j.xml"> + <priority value="debug"/> + <appender-ref ref="A1"/> + </category> + <root> + <priority value="debug"/> + <appender-ref ref="STDOUT"/> + </root> +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample4.xml b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample4.xml new file mode 100644 index 00000000000..9cef69a8de3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample4.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" + configDebug="true"> + + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP"/> + </appender> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + <root> + <priority value="debug"/> + <appender-ref ref="ASYNC"/> + </root> +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample5.xml b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample5.xml new file mode 100644 index 00000000000..b1caacf003e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/javadoc/org/apache/log4j/xml/examples/doc-files/sample5.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" + configDebug="true"> + + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP"/> + <appender-ref ref="CONSOLE"/> + </appender> + + <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> + </layout> + </appender> + + + + <root> + <priority value="debug"/> + <appender-ref ref="ASYNC"/> + </root> +</log4j:configuration> diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/resources/META-INF/LICENSE b/thirdparty/apache-log4j-1.2.16/src/main/resources/META-INF/LICENSE similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/resources/META-INF/LICENSE rename to thirdparty/apache-log4j-1.2.16/src/main/resources/META-INF/LICENSE diff --git a/thirdparty/apache-log4j-1.2.16/src/main/resources/META-INF/NOTICE b/thirdparty/apache-log4j-1.2.16/src/main/resources/META-INF/NOTICE new file mode 100644 index 00000000000..03757323600 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/resources/META-INF/NOTICE @@ -0,0 +1,5 @@ +Apache log4j +Copyright 2007 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/config/defaultconfig.properties b/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/config/defaultconfig.properties new file mode 100644 index 00000000000..5c066d940d6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/config/defaultconfig.properties @@ -0,0 +1,31 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# For the general syntax of property based configuration files see the +# documenation of org.apache.log4j.PropertyConfigurator. + +# The root category uses the appender called A1. Since no priority is +# specified, the root category assumes the default priority for root +# which is DEBUG in log4j. The root category is the only category that +# has a default priority. All other categories need not be assigned a +# priority in which case they inherit their priority from the +# hierarchy. + +log4j.rootCategory=, A1 + +# A1 is set to be a LogMonitorAppender which outputs to a swing +# logging console. + +log4j.appender.A1=org.apache.log4j.lf5.LF5Appender diff --git a/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/viewer/images/channelexplorer_new.gif b/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/viewer/images/channelexplorer_new.gif new file mode 100644 index 0000000000000000000000000000000000000000..1cc488d4524a8f74b5586883fe8d6ab2c91bcb05 GIT binary patch literal 778 zcmV+l1NHnzNk%w1VHf}y0OtPy00030|Np?iz|PC?%*pQ8)cM-i{K?1b$HnQ+%<#?2 z@65{X+u8lv*!<Ym`n<Z~!ocRgz2n8h>Cesc&dl=2#_Pw$>c+(B&CBr2%J0j`?#jsR z)zkRX(e~Nb{Mgp}*VX#AwcNbB;<~xuxwzlN!|TGq=)Jt-#l-8tzvarw@X5&U$j9x( z!|Be=^TovJ(a`qH%kas_?8wLK)ztaY(e}{K^v%rh%E|54)%n`l{n*$0*Vg*l+5Fem z`JSH0sHoDz!}71M*|M_St*zC#xZ$_A;IgvXv9Z{%uhz7*+q1LUzP{$TxZk(8-N3-- zzrW_bzU92U<HN)1!oumjz2m&R;l{@7!oujo!|2e^_0P}r)6@5wo5i1?%A}>wpP<R5 zrqHUZ)uyM=v9jE)uGp=v)~c)1sjAYnwcfC?*srkHy1V1Ky5gCe#H6OsprXsDs?@Ks z+o`M6wYT5$^76B@vkeUm000000000000000000000000000000A^8LW00062EC2ui z02lxm000O7fC7SpgoTEOh>3`I0E~`}kcxr;0d<v^mW_3icXe-WaX)2WX_R$$l9XL@ zU_xPZM0Y^}l!~2VUUFkbW>HJBw2G8)WI#npOiCysvYm;YLuhSlP$5?*6B5mdlxJ*e zPfjcmTQ4*Vi~);vQb;CED=AtQJ_|Yt&WDsoR3s`8FlO+;z~IJ*T8BE77!d<YhXXql zFi-#jK|Vv2tWe0pWrK$V3^L>xq%L6{7ZNyVXfS{QAppVxT*yJ7M}h`81i%#FY-gcP zATr!DAfv`4oxwI0q9pOgjtW{{CN(+Hfdv~?bf%*eX=wlj1zNaxFhx+Nq?LZ!dF1FQ zOrM4nFk#Xu;M69#k_O!^sWh*lz5)UP03rTQLvL_-a%pF1bRaS?Ffbruc_34DZXiu* zV{&hEd2@7SZF4LjNp52<AVF+wAW~^(XmoQRQe|^xa&~28E)5DwOhzC_QXp1kav(7- IFbxU-JNS2|ng9R* literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/viewer/images/channelexplorer_satellite.gif b/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/viewer/images/channelexplorer_satellite.gif new file mode 100644 index 0000000000000000000000000000000000000000..f706cd94bd9cfbe80a001928fdf8479be0879dd5 GIT binary patch literal 256 zcmZ?wbhEHb6krfwIKsg2|NsB*-@kwO@ZrUa7x(VnyL$ENnKNgO9zD8m-@Ywdwya&d zcG<FJGiT16FkwP%ZEbOJaavkhWMpJeP>`3Gm$S38rlzKpl+-^)CI%cp@h1zb2!l9- z4oDtkCj)D(f<j-4rCERRj5HRWE~SpP#IQ~el|w?NjgyuH3UI1TI(%SCh6`7tJF}s& zpg^CO3nPb0j+&cdQe^2-RkxJiD+(BGnK&1%2$A9EO7^Unz+osL#$PGS!&#@w&ce>c l($C5ks>IB}&CkKZ!@=pQ%E!UQ&An)eK$_0VRjU*ktN}GOQ8oYo literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/viewer/images/lf5_small_icon.gif b/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/lf5/viewer/images/lf5_small_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..c17300c52acc47c336b7c1e8b8593ad38c3222c2 GIT binary patch literal 1249 zcmZ?wbhEHbRA5kG_|5<VtHYJ-wFU0qzrTO~{@U80Ws9O-J?j_aVSTa0sxDgLQmfU= zI|U974h;<r_4V~zmjvEApL46#^h2MuwwA=1(=Gr1|6exE!_QCi({4X@Hs&Myvd^43 z6BlQBC}026+bJ!{nm0EGxj8F8@3flS=lS+=QG}_OvI2ivTAHbe+>f7=J{^hpwb&uj zT_GSK;LLo-8NP~ZY7GShIA7k#dH??X&AHZ<W%jb-TwmX{U8&H2|FU}K%$cR`a&~5t zcV-z|YYBW>ZL?)_=DSH&j~{gY+Uj`gLcy<J3#U(w=xp`>wAo{QmX4-4=h2B4AK&(b zSc&@i8Mpb!ep+DH8L6Tq%n@fVDZs(};(6uw`x#%~R_H45M1|?j$W(h-qW^2P_0JzY z|NqaFm*KauQhd3}AuY}L&W-9IFU2GE#!q$x*xRe~^YedtH~Z6Ki@TR|jSZw;-mCew z+w;?fj8D&-eXPXSFN=NAVX{6&)5k=3Tb)jOnf0$ZHq+uX0{yi<Ot*i()am6E+mlDL z{xLFvBVm*nm=I9>$-*MS@Si~kWIZTPFmU{5VC0bT*s$PWGl#HNjD_2R4i28QGdnIk zayzIKBKG5<@uG7gjRrdet}JlmmX_sFXo$>6I@lp7XBWm9P|z<bE4W2RCc?E}K+$p< zgMifpCqZ*pjW;?ONk>>zIk@r)9=pA~)MV3gp)u%!@0_-9UagB>Aqst#Eb<W%r?=(a zZVXnru+sU0_lzxhpEs#$JXJr)%X*cs!ePgT#6v9k8%{W1a7*B3ImBghxLsk^@rkP5 zD{TUfB}=h5b&Ks?+~}yKBeLr1>uZh&<pV_)N%&fu^lsJTI5aKCfS3IQ3u}quj!E0O zxlK5<I&1})^BJ;?x$hi`QRr;qmC3k&?k;2FR(_6O`y}ixbUkle9l81GgtP^7O|v<Y z3VY)I-a7b}{a)nb<^;~q=XYLr73Vs!yqS@aDWFxt;l~0-N0k=~4hx<SJ;)-+X_0tA zKCZ$sF~Vri2Q~p#sVm3Wd{+p#6mowpaAWg462QtJ#aF__V3hN~RoGeK;3CIFhk~PA zk_{go@c-p4IoM+~;ldGdw-teojQ$G}Q`tQxG%|}7v|KpU9C^io#W8$^N&r`}jKET< dtTjIyxqOcZGRhr2smRvM`E2EL2S!E)YXBF6ay0+| literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/xml/log4j.dtd b/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/xml/log4j.dtd new file mode 100644 index 00000000000..f8e433a50e6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/main/resources/org/apache/log4j/xml/log4j.dtd @@ -0,0 +1,237 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Authors: Chris Taylor, Ceki Gulcu. --> + +<!-- Version: 1.2 --> + +<!-- A configuration element consists of optional renderer +elements,appender elements, categories and an optional root +element. --> + +<!ELEMENT log4j:configuration (renderer*, throwableRenderer?, + appender*,plugin*, (category|logger)*,root?, + (categoryFactory|loggerFactory)?)> + +<!-- The "threshold" attribute takes a level value below which --> +<!-- all logging statements are disabled. --> + +<!-- Setting the "debug" enable the printing of internal log4j logging --> +<!-- statements. --> + +<!-- By default, debug attribute is "null", meaning that we not do touch --> +<!-- internal log4j logging settings. The "null" value for the threshold --> +<!-- attribute can be misleading. The threshold field of a repository --> +<!-- cannot be set to null. The "null" value for the threshold attribute --> +<!-- simply means don't touch the threshold field, the threshold field --> +<!-- keeps its old value. --> + +<!ATTLIST log4j:configuration + xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/" + threshold (all|trace|debug|info|warn|error|fatal|off|null) "null" + debug (true|false|null) "null" + reset (true|false) "false" +> + +<!-- renderer elements allow the user to customize the conversion of --> +<!-- message objects to String. --> + +<!ELEMENT renderer EMPTY> +<!ATTLIST renderer + renderedClass CDATA #REQUIRED + renderingClass CDATA #REQUIRED +> + +<!-- throwableRenderer allows the user to customize the conversion + of exceptions to a string representation. --> +<!ELEMENT throwableRenderer (param*)> +<!ATTLIST throwableRenderer + class CDATA #REQUIRED +> + + +<!-- Appenders must have a name and a class. --> +<!-- Appenders may contain an error handler, a layout, optional parameters --> +<!-- and filters. They may also reference (or include) other appenders. --> +<!ELEMENT appender (errorHandler?, param*, + rollingPolicy?, triggeringPolicy?, connectionSource?, + layout?, filter*, appender-ref*)> +<!ATTLIST appender + name CDATA #REQUIRED + class CDATA #REQUIRED +> + +<!ELEMENT layout (param*)> +<!ATTLIST layout + class CDATA #REQUIRED +> + +<!ELEMENT filter (param*)> +<!ATTLIST filter + class CDATA #REQUIRED +> + +<!-- ErrorHandlers can be of any class. They can admit any number of --> +<!-- parameters. --> + +<!ELEMENT errorHandler (param*, root-ref?, logger-ref*, appender-ref?)> +<!ATTLIST errorHandler + class CDATA #REQUIRED +> + +<!ELEMENT root-ref EMPTY> + +<!ELEMENT logger-ref EMPTY> +<!ATTLIST logger-ref + ref CDATA #REQUIRED +> + +<!ELEMENT param EMPTY> +<!ATTLIST param + name CDATA #REQUIRED + value CDATA #REQUIRED +> + + +<!-- The priority class is org.apache.log4j.Level by default --> +<!ELEMENT priority (param*)> +<!ATTLIST priority + class CDATA #IMPLIED + value CDATA #REQUIRED +> + +<!-- The level class is org.apache.log4j.Level by default --> +<!ELEMENT level (param*)> +<!ATTLIST level + class CDATA #IMPLIED + value CDATA #REQUIRED +> + + +<!-- If no level element is specified, then the configurator MUST not --> +<!-- touch the level of the named category. --> +<!ELEMENT category (param*,(priority|level)?,appender-ref*)> +<!ATTLIST category + class CDATA #IMPLIED + name CDATA #REQUIRED + additivity (true|false) "true" +> + +<!-- If no level element is specified, then the configurator MUST not --> +<!-- touch the level of the named logger. --> +<!ELEMENT logger (param*,level?,appender-ref*)> +<!ATTLIST logger + class CDATA #IMPLIED + name CDATA #REQUIRED + additivity (true|false) "true" +> + + +<!ELEMENT categoryFactory (param*)> +<!ATTLIST categoryFactory + class CDATA #REQUIRED> + +<!ELEMENT loggerFactory (param*)> +<!ATTLIST loggerFactory + class CDATA #REQUIRED> + +<!ELEMENT appender-ref EMPTY> +<!ATTLIST appender-ref + ref CDATA #REQUIRED +> + +<!-- plugins must have a name and class and can have optional parameters --> +<!ELEMENT plugin (param*, connectionSource?)> +<!ATTLIST plugin + name CDATA #REQUIRED + class CDATA #REQUIRED +> + +<!ELEMENT connectionSource (dataSource?, param*)> +<!ATTLIST connectionSource + class CDATA #REQUIRED +> + +<!ELEMENT dataSource (param*)> +<!ATTLIST dataSource + class CDATA #REQUIRED +> + +<!ELEMENT triggeringPolicy ((param|filter)*)> +<!ATTLIST triggeringPolicy + name CDATA #IMPLIED + class CDATA #REQUIRED +> + +<!ELEMENT rollingPolicy (param*)> +<!ATTLIST rollingPolicy + name CDATA #IMPLIED + class CDATA #REQUIRED +> + + +<!-- If no priority element is specified, then the configurator MUST not --> +<!-- touch the priority of root. --> +<!-- The root category always exists and cannot be subclassed. --> +<!ELEMENT root (param*, (priority|level)?, appender-ref*)> + + +<!-- ==================================================================== --> +<!-- A logging event --> +<!-- ==================================================================== --> +<!ELEMENT log4j:eventSet (log4j:event*)> +<!ATTLIST log4j:eventSet + xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/" + version (1.1|1.2) "1.2" + includesLocationInfo (true|false) "true" +> + + + +<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, + log4j:locationInfo?, log4j:properties?) > + +<!-- The timestamp format is application dependent. --> +<!ATTLIST log4j:event + logger CDATA #REQUIRED + level CDATA #REQUIRED + thread CDATA #REQUIRED + timestamp CDATA #REQUIRED + time CDATA #IMPLIED +> + +<!ELEMENT log4j:message (#PCDATA)> +<!ELEMENT log4j:NDC (#PCDATA)> + +<!ELEMENT log4j:throwable (#PCDATA)> + +<!ELEMENT log4j:locationInfo EMPTY> +<!ATTLIST log4j:locationInfo + class CDATA #REQUIRED + method CDATA #REQUIRED + file CDATA #REQUIRED + line CDATA #REQUIRED +> + +<!ELEMENT log4j:properties (log4j:data*)> + +<!ELEMENT log4j:data EMPTY> +<!ATTLIST log4j:data + name CDATA #REQUIRED + value CDATA #REQUIRED +> diff --git a/thirdparty/apache-log4j-1.2.16/src/ntdll/EventLogCategories.mc b/thirdparty/apache-log4j-1.2.16/src/ntdll/EventLogCategories.mc new file mode 100644 index 00000000000..f0179000552 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/ntdll/EventLogCategories.mc @@ -0,0 +1,46 @@ +; +; Licensed to the Apache Software Foundation (ASF) under one +; or more contributor license agreements. See the NOTICE file +; distributed with this work for additional information +; regarding copyright ownership. The ASF licenses this file +; to you under the Apache License, Version 2.0 (the +; "License"); you may not use this file except in compliance +; with the License. You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, +; software distributed under the License is distributed on an +; "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +; KIND, either express or implied. See the License for the +; specific language governing permissions and limitations +; under the License. +; +MessageId=1 +Language=English +Trace +. +MessageId=2 +Language=English +Debug +. +MessageId=3 +Language=English +Info +. +MessageId=4 +Language=English +Warn +. +MessageId=5 +Language=English +Error +. +MessageId=6 +Language=English +Fatal +. +MessageId=0x1000 +Language=English +%1 +. diff --git a/thirdparty/apache-log4j-1.2.16/src/ntdll/MSG00001.bin b/thirdparty/apache-log4j-1.2.16/src/ntdll/MSG00001.bin new file mode 100644 index 0000000000000000000000000000000000000000..b6a1996851a63eee39104e2df6a7ff67757e5294 GIT binary patch literal 164 zcmZQ#U|?VbVm2U_0b&LL2%Z9@M1V3O3`Goy49N_s47?0nP%#%EFNvX)AstD~lOc~G ujUgW@0?``|)L8@+hv<ZexdKIsfa;2n^tu7nl>l)LR7?P9uPTEfTps`-bPY@Z literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/src/ntdll/NTEventLogAppender.def b/thirdparty/apache-log4j-1.2.16/src/ntdll/NTEventLogAppender.def new file mode 100644 index 00000000000..1cbcee84c86 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/ntdll/NTEventLogAppender.def @@ -0,0 +1,22 @@ +; +; Licensed to the Apache Software Foundation (ASF) under one or more +; contributor license agreements. See the NOTICE file distributed with +; this work for additional information regarding copyright ownership. +; The ASF licenses this file to You under the Apache License, Version 2.0 +; (the "License"); you may not use this file except in compliance with +; the License. You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. +; + +LIBRARY "NTEventLogAppender" + +EXPORTS + DllRegisterServer PRIVATE + DllUnregisterServer PRIVATE diff --git a/thirdparty/apache-log4j-1.2.16/src/ntdll/NTEventLogAppender.rc b/thirdparty/apache-log4j-1.2.16/src/ntdll/NTEventLogAppender.rc new file mode 100755 index 00000000000..8808456be12 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/ntdll/NTEventLogAppender.rc @@ -0,0 +1,126 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// +// +// Message file include +// +LANGUAGE 0x9,0x1 +1 11 MSG00001.bin +// Microsoft Visual C++ generated resource script. +// +#include "windows.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +//#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1, 2, 16, 1 + PRODUCTVERSION 1, 2, 16, 1 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Apache Software Foundation" + VALUE "FileDescription", "Platform methods for NTEventLogAppender" + VALUE "FileVersion", "1, 2, 16, 1" + VALUE "InternalName", "NTEventLogAppender" + VALUE "LegalCopyright", "Licensed to the Apache Software Foundation (ASF) under one or more\ncontributor license agreements. See the NOTICE file distributed with\nthis work for additional information regarding copyright ownership.\nThe ASF licenses this file to You under the Apache License, Version 2.0\n(the ""License""); you may not use this file except in compliance with\nthe License. You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an ""AS IS"" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + VALUE "OriginalFilename", "NTEventLogAppender.dll" + VALUE "ProductName", "Apache log4j" + VALUE "ProductVersion", "1, 2, 16, 1" + VALUE "OLESelfRegister", "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/thirdparty/apache-log4j-1.2.16/src/ntdll/build.xml b/thirdparty/apache-log4j-1.2.16/src/ntdll/build.xml new file mode 100755 index 00000000000..c5f53a6431e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/ntdll/build.xml @@ -0,0 +1,180 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- +Usage notes: + +To build NTEventLogAppender.dll using MinGW, place mingw\bin on path for Windows or install mingw +package on other platforms. Build will execute gcc and windres on Windows and +i586-mingw32msvc-gcc and i586-mingw32msvc-windres on other platforms. + +To build NTEventLogAppender.dll using Microsoft tools, run the appropriate vcvars for the +target platform and specify msbuild as the target on the ant command line. + +--> + + +<project name="ntdll" default="build" basedir="."> + <property name="target.dir" value="target"/> + <property name="object.dir" value="target/obj"/> + <property name="src.dir" location="${basedir}"/> + <property name="failonerror" value="false"/> + <property name="failifexecutionfails" value="${failonerror}"/> + <property name="jni.include.dir" location="${java.home}/../include"/> + <property environment="env"/> + <condition property="jni.win32.include.dir" value="${jni.include.dir}/win32"> + <available file="${jni.include.dir}/win32"/> + </condition> + <property name="jni.win32.include.dir" value="${env.JNI_WIN32_INCLUDE_DIR}"/> + <available property="jni_md.h_available" file="${jni.win32.include.dir}/jni_md.h"/> + + <target name="clean" description="Deletes generated files"> + <delete dir="${target.dir}"/> + </target> + + <!-- + Regenerates resource files from EventLogCategories.mc. Avoids + need for Microsoft Platform SDK unless you are modifying EventLogCategories.mc + --> + <target name="mc" description="Update EventLogCategories.rc from .mc"> + <exec executable="mc"> + <arg value="-h"/> + <arg file="${basedir}"/> + <arg value="-r"/> + <arg file="${basedir}"/> + <arg file="EventLogCategories.mc"/> + </exec> + </target> + + + + <target name="windres"> + <condition property="mingw-prefix" value=""> + <os family="windows"/> + </condition> + <property name="mingw-prefix" value="i586-mingw32msvc-"/> + <mkdir dir="${object.dir}"/> + <exec executable="${mingw-prefix}windres" + dir="${src.dir}" + resultproperty="windres_status" + failonerror="${failonerror}" + failifexecutionfails="${failifexecutionfails}"> + <arg value="-o"/> + <arg file="${object.dir}/NTEventLogAppender.o"/> + <arg file="${src.dir}/NTEventLogAppender.rc"/> + </exec> + <condition property="windres_success"> + <equals arg1="${windres_status}" arg2="0"/> + </condition> + <condition property="do_compile"> + <and> + <isset property="windres_success"/> + <isset property="jni_md.h_available"/> + </and> + </condition> + </target> + + <target name="compile" depends="windres" if="do_compile"> + <fail unless="classes.dir">-Dclasses.dir=/path/to/log4j/classes must be specified</fail> + <javah class="org.apache.log4j.nt.NTEventLogAppender,org.apache.log4j.Priority" + destdir="${object.dir}" + classpath="${classes.dir}"/> + + <exec executable="${mingw-prefix}gcc"> + <arg value="-Wall"/> + <arg value="-D_JNI_IMPLEMENTATION_"/> + <arg value="-Wl,--kill-at"/> + <arg value="-fno-rtti"/> + <arg value="-fno-exceptions"/> + <arg value="-s"/> + <arg value="-I${jni.win32.include.dir}"/> + <arg value="-I${jni.include.dir}"/> + <arg value="-I${object.dir}"/> + <arg value="-shared"/> + <arg file="${src.dir}/nteventlog.cpp"/> + <arg file="${object.dir}/NTEventLogAppender.o"/> + <arg value="-o"/> + <arg file="${target.dir}/NTEventLogAppender.dll"/> + </exec> + </target> + + <target name="windres-echo" depends="windres" unless="windres_success"> + <echo>${mingw-prefix}windres could not be found or failed, NTEventLogAppender.dll build skipped.</echo> + </target> + + <target name="jni_md.h-echo" unless="jni_md.h_available"> + <echo>${jni.win32.include.dir}/jni_md.h not found, NTEventLogAppender.dll build skipped.</echo> + </target> + + <target name="build" depends="compile, windres-echo, jni_md.h-echo" description="Build with MinGW gcc"> + </target> + + <target name="rc"> + <exec executable="rc" + dir="${src.dir}" + resultproperty="rc_status" + failonerror="${failonerror}" + failifexecutionfails="${failifexecutionfails}"> + <arg file="${src.dir}/NTEventLogAppender.rc"/> + </exec> + <condition property="rc_success"> + <equals arg1="${rc_status}" arg2="0"/> + </condition> + <condition property="do_cl"> + <and> + <isset property="rc_success"/> + <isset property="jni_md.h_available"/> + </and> + </condition> + </target> + + <target name="cl" depends="rc" if="do_cl"> + <fail unless="classes.dir">-Dclasses.dir=/path/to/log4j/classes must be specified</fail> + <mkdir dir="${object.dir}"/> + <javah class="org.apache.log4j.nt.NTEventLogAppender,org.apache.log4j.Priority" + destdir="${object.dir}" + classpath="${classes.dir}"/> + + <property name="object.location" location="${object.dir}"/> + <exec executable="cl" dir="${target.dir}"> + <arg value="/MT"/> + <arg value="/D_JNI_IMPLEMENTATION_"/> + <arg value="/O2"/> + <arg value="/GR-"/> + <arg value="/LD"/> + <arg value="/I${jni.win32.include.dir}"/> + <arg value="/I${jni.include.dir}"/> + <arg value="/I${object.location}"/> + <arg value="/I${src.dir}"/> + <arg file="${src.dir}/nteventlog.cpp"/> + <arg file="${src.dir}/NTEventLogAppender.res"/> + <arg file="${src.dir}/NTEventLogAppender.def"/> + <arg value="advapi32.lib"/> + <arg value="/FeNTEventLogAppender.dll"/> + </exec> + </target> + + <target name="rc-echo" depends="rc" unless="rc_success"> + <echo>rc could not be found or failed, NTEventLogAppender.dll build skipped.</echo> + </target> + + + <target name="msbuild" depends="cl, rc-echo, jni_md.h-echo" description="Build using Microsoft tools"> + </target> + +</project> diff --git a/thirdparty/apache-log4j-1.2.16/src/ntdll/nteventlog.cpp b/thirdparty/apache-log4j-1.2.16/src/ntdll/nteventlog.cpp new file mode 100644 index 00000000000..2c5c38f8975 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/ntdll/nteventlog.cpp @@ -0,0 +1,352 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NtEventLogAppender_h +#define NtEventLogAppender_h + +#ifdef __GNUC__ +typedef long long __int64; +#endif + +#include "org_apache_log4j_Priority.h" +#include "org_apache_log4j_nt_NTEventLogAppender.h" +#include <windows.h> +#include <jni.h> + + +HINSTANCE gModule = 0; + +class EventSourceMap { +#if _WIN64 + enum { MAX_SOURCES = 256 }; + HANDLE* sources; +public: + EventSourceMap() { + sources = (HANDLE*) calloc(MAX_SOURCES, sizeof(*sources)); + } + + ~EventSourceMap() { + free(sources); + } + + jint createKey(HANDLE handle) { + if (handle != 0) { + // + // find first available null entry (excluding sources[0]) + // + for(int i = 1; i < MAX_SOURCES; i++) { + if (InterlockedCompareExchangePointer(sources + i, handle, 0) == 0) { + return i; + } + } + } + return 0; + } + + HANDLE getHandle(jint key) { + if (key >= 1 && key < MAX_SOURCES) { + return sources[key]; + } + return 0; + } + + HANDLE releaseHandle(jint key) { + if (key >= 1 && key < MAX_SOURCES) { + return InterlockedExchangePointer(sources + key, 0); + } + return 0; + } +#else +public: + EventSourceMap() { + } + + jint createKey(HANDLE handle) { + return (jint) handle; + } + + HANDLE getHandle(jint key) { + return (HANDLE) key; + } + + HANDLE releaseHandle(jint key) { + return (HANDLE) key; + } +#endif +} gEventSources; + +/* + * Convert log4j Priority to an EventLog category. Each category is + * backed by a message resource so that proper category names will + * be displayed in the NT Event Viewer. + */ +WORD getCategory(jint priority) { + WORD category = 1; + if (priority >= org_apache_log4j_Priority_DEBUG_INT) { + category = 2; + if (priority >= org_apache_log4j_Priority_INFO_INT) { + category = 3; + if (priority >= org_apache_log4j_Priority_WARN_INT) { + category = 4; + if (priority >= org_apache_log4j_Priority_ERROR_INT) { + category = 5; + if (priority >= org_apache_log4j_Priority_FATAL_INT) { + category = 6; + } + } + } + } + } + return category; +} + +/* + * Convert log4j Priority to an EventLog type. The log4j package + * supports 8 defined priorites, but the NT EventLog only knows + * 3 event types of interest to us: ERROR, WARNING, and INFO. + */ +WORD getType(jint priority) { + WORD type = EVENTLOG_SUCCESS; + if (priority >= org_apache_log4j_Priority_INFO_INT) { + type = EVENTLOG_INFORMATION_TYPE; + if (priority >= org_apache_log4j_Priority_WARN_INT) { + type = EVENTLOG_WARNING_TYPE; + if (priority >= org_apache_log4j_Priority_ERROR_INT) { + type = EVENTLOG_ERROR_TYPE; + } + } + } + return type; +} + +HKEY regGetKey(wchar_t *subkey, DWORD *disposition) { + HKEY hkey = 0; + RegCreateKeyExW(HKEY_LOCAL_MACHINE, subkey, 0, NULL, + REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, + &hkey, disposition); + return hkey; +} + +void regSetString(HKEY hkey, wchar_t *name, wchar_t *value) { + RegSetValueExW(hkey, name, 0, REG_EXPAND_SZ, + (LPBYTE)value, (wcslen(value) + 1) * sizeof(wchar_t)); +} + +void regSetDword(HKEY hkey, wchar_t *name, DWORD value) { + RegSetValueExW(hkey, name, 0, REG_DWORD, (LPBYTE)&value, sizeof(DWORD)); +} + +/* + * Add this source with appropriate configuration keys to the registry. + */ +void addRegistryInfo(wchar_t *source) { + const wchar_t *prefix = L"SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\"; + DWORD disposition; + HKEY hkey = 0; + wchar_t subkey[256]; + + wcscpy(subkey, prefix); + wcscat(subkey, source); + hkey = regGetKey(subkey, &disposition); + if (disposition == REG_CREATED_NEW_KEY) { + HMODULE hmodule = gModule; + if (hmodule == NULL) { + hmodule = GetModuleHandleW(L"NTEventLogAppender.dll"); + } + if (hmodule != NULL) { + wchar_t modpath[_MAX_PATH]; + DWORD modlen = GetModuleFileNameW(hmodule, modpath, _MAX_PATH - 1); + if (modlen > 0) { + modpath[modlen] = 0; + regSetString(hkey, L"EventMessageFile", modpath); + regSetString(hkey, L"CategoryMessageFile", modpath); + } + } + regSetDword(hkey, L"TypesSupported", (DWORD)7); + regSetDword(hkey, L"CategoryCount", (DWORD) 6); + } + RegCloseKey(hkey); + return; +} + +/* + * Class: org.apache.log4j.nt.NTEventLogAppender + * Method: registerEventSource + * Signature: (Ljava/lang/String;Ljava/lang/String;)I + */ +JNIEXPORT jint JNICALL Java_org_apache_log4j_nt_NTEventLogAppender_registerEventSource( + JNIEnv *env, jobject java_this, jstring server, jstring source) { + + jchar *nserver = 0; + jchar *nsource = 0; + + if (server != 0) { + jsize serverLen = env->GetStringLength(server); + nserver = (jchar*) malloc((serverLen +1) * sizeof(jchar)); + env->GetStringRegion(server, 0, serverLen, nserver); + nserver[serverLen] = 0; + } + if (source != 0) { + jsize sourceLen = env->GetStringLength(source); + nsource = (jchar*) malloc((sourceLen +1) * sizeof(jchar)); + env->GetStringRegion(source, 0, sourceLen, nsource); + nsource[sourceLen] = 0; + } + addRegistryInfo((wchar_t*) nsource); + jint handle = gEventSources.createKey(RegisterEventSourceW( + (const wchar_t*) nserver, (const wchar_t*) nsource)); + free(nserver); + free(nsource); + return handle; +} + +/* + * Class: org_apache_log4j_nt_NTEventLogAppender + * Method: reportEvent + * Signature: (ILjava/lang/String;I)V + */ +JNIEXPORT void JNICALL Java_org_apache_log4j_nt_NTEventLogAppender_reportEvent( + JNIEnv *env, jobject java_this, jint jhandle, jstring jstr, jint priority) { + jboolean localHandle = JNI_FALSE; + HANDLE handle = gEventSources.getHandle(jhandle); + if (handle == 0) { + // Client didn't give us a handle so make a local one. + handle = RegisterEventSourceW(NULL, L"Log4j"); + localHandle = JNI_TRUE; + } + + // convert Java String to character array + jsize msgLen = env->GetStringLength(jstr); + jchar* msg = (jchar*) malloc((msgLen + 1) * sizeof(jchar)); + env->GetStringRegion(jstr, 0, msgLen, msg); + msg[msgLen] = 0; + + // This is the only message supported by the package. It is backed by + // a message resource which consists of just '%1' which is replaced + // by the string we just created. + const DWORD messageID = 0x1000; + ReportEventW(handle, getType(priority), + getCategory(priority), + messageID, NULL, 1, 0, (const wchar_t**) &msg, NULL); + + free((void *)msg); + if (localHandle == JNI_TRUE) { + // Created the handle here so free it here too. + DeregisterEventSource(handle); + } + return; +} + +/* + * Class: org_apache_log4j_nt_NTEventLogAppender + * Method: deregisterEventSource + * Signature: (I)V + */ +JNIEXPORT void JNICALL Java_org_apache_log4j_nt_NTEventLogAppender_deregisterEventSource( +JNIEnv *env, +jobject java_this, +jint handle) +{ + + DeregisterEventSource(gEventSources.releaseHandle(handle)); +} + + +// +// Entry point which registers default event source (Log4j) +// when invoked using regsvr32 tool. +// +// +extern "C" { +__declspec(dllexport) HRESULT __stdcall DllRegisterServer(void) { + HRESULT hr = E_FAIL; + HMODULE hmodule = gModule; + if (hmodule == NULL) { + hmodule = GetModuleHandleW(L"NTEventLogAppender.dll"); + } + if (hmodule != NULL) { + wchar_t modpath[_MAX_PATH]; + DWORD modlen = GetModuleFileNameW(hmodule, modpath, _MAX_PATH - 1); + if (modlen > 0) { + modpath[modlen] = 0; + const wchar_t key[] = L"SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\Log4j"; + DWORD disposition; + HKEY hkey = 0; + + LONG stat = RegCreateKeyExW(HKEY_LOCAL_MACHINE, key, 0, NULL, + REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, + &hkey, &disposition); + if (stat == ERROR_SUCCESS) { + stat = RegSetValueExW(hkey, L"EventMessageFile", 0, REG_EXPAND_SZ, + (LPBYTE) modpath, (wcslen(modpath) + 1) * sizeof(wchar_t)); + if(stat == ERROR_SUCCESS) { + stat = RegSetValueExW(hkey, L"CategoryMessageFile", 0, REG_EXPAND_SZ, + (LPBYTE) modpath, (wcslen(modpath) + 1) * sizeof(wchar_t)); + } + if(stat == ERROR_SUCCESS) { + DWORD value = 7; + stat = RegSetValueExW(hkey, L"TypesSupported", 0, REG_DWORD, (LPBYTE)&value, sizeof(DWORD)); + } + if(stat == ERROR_SUCCESS) { + DWORD value = 6; + stat = RegSetValueExW(hkey, L"CategoryCount", 0, REG_DWORD, (LPBYTE)&value, sizeof(DWORD)); + } + LONG closeStat = RegCloseKey(hkey); + if (stat == ERROR_SUCCESS && closeStat == ERROR_SUCCESS) { + hr = S_OK; + } + } + } + } + return hr; +} + + +// +// Entry point which unregisters default event source (Log4j) +// when invoked using regsvr32 tool with /u option. +// +// +__declspec(dllexport) HRESULT __stdcall DllUnregisterServer(void) { + LONG stat = RegDeleteKeyW(HKEY_LOCAL_MACHINE, + L"SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\Log4j"); + return (stat == ERROR_SUCCESS || stat == ERROR_FILE_NOT_FOUND) ? S_OK : E_FAIL; +} + +BOOL APIENTRY DllMain( HMODULE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved + ) +{ + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: + gModule = hModule; + break; + case DLL_PROCESS_DETACH: + gModule = 0; + break; + + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + break; + } + return TRUE; +} + +} +#endif diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/ListVsVector.java b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/ListVsVector.java new file mode 100644 index 00000000000..7f9c8a44861 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/ListVsVector.java @@ -0,0 +1,99 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.performance; + + +import java.util.Vector; + +/** + + Compares the performance of looping through a list versus a Vector. + + Chain looping is *20* times faster than vector access on JDK 1.1.7B on NT + +*/ +public class ListVsVector { + + static int RUN_LENGTH = 1000000; + static Vector v = new Vector(); + static Chain head; + static String tmp; + + static + public + void main(String[] args) { + + v.addElement("aaa"); + v.addElement("bbb"); + v.addElement("ccc"); + v.addElement("ddd"); + v.addElement("eee"); + + Chain c = new Chain("aaa"); + head = c; + c.next = new Chain("bbb"); c = c.next; + c.next = new Chain("ccc"); c = c.next; + c.next = new Chain("ddd"); c = c.next; + c.next = new Chain("eee"); + double t; + t = loopChain(); + System.out.println("Looping thourgh the chain took " + t); + + t = loopVector(); + System.out.println("Looping thourgh the vector took " + t); + + } + + static + double loopChain() { + long before = System.currentTimeMillis(); + Chain c; + for(int i = 0; i < RUN_LENGTH; i++) { + c = head; + while(c != null) { + tmp = c.s; + c = c.next; + } + } + return (System.currentTimeMillis() - before)*1000.0/RUN_LENGTH; + } + + static + double loopVector() { + long before = System.currentTimeMillis(); + int size = v.size(); + for(int i = 0; i < RUN_LENGTH; i++) { + for(int j = 0; j < size; j++) + tmp = (String) v.elementAt(j); + } + return (System.currentTimeMillis() - before)*1000.0/RUN_LENGTH; + } + + static class Chain { + public String s; + public Chain next; + + Chain(String s) { + this.s = s; + } + + void setNext(Chain c) { + next = c; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NOPWriter.java b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NOPWriter.java new file mode 100644 index 00000000000..14e932bbf8f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NOPWriter.java @@ -0,0 +1,55 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.performance; + +import java.io.Writer; +import java.io.IOException; + +/** + * <p>Extends {@link Writer} with methods that return immediately + * without doing anything. This class is used to measure the cost of + * constructing a log message but not actually writing to any device. + * </p> + + * <p><b> <font color="#FF2222">The + * <code>org.apache.log4j.performance.NOPWriter</code> class is + * intended for internal use only.</font> Consequently, it is not + * included in the <em>log4j.jar</em> file.</b> </p> + * + * @author Ceki G&uuml;lc&uuml; + * */ +public class NOPWriter extends Writer { + + public void write(char[] cbuf) throws IOException {} + + public void write(char[] cbuf, int off, int len) throws IOException {} + + + public void write(int b) throws IOException {} + + public void write(String s) throws IOException {} + + public void write(String s, int off, int len) throws IOException {} + + public void flush() throws IOException { + } + + public void close() throws IOException { + System.err.println("Close called."); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NewVsSetLen.java b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NewVsSetLen.java new file mode 100644 index 00000000000..3275bdb1a93 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NewVsSetLen.java @@ -0,0 +1,227 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.performance; + +/** + + This program compares the cost of creating a new StringBuffer and + converting it to a String versus keeping the same StringBuffer, + setting its size to zero and then converting it to String. + + <p>The table below gives some figures. + +<p> <table border="1" cellpadding="4"> + <tr BGCOLOR="#33CCFF"> + <th BGCOLOR="#CCCCCC" rowspan="2">Total Message length + <th colspan="2" align="center">0 + <th colspan="2" align="center">1 + <th colspan="2" align="center">2 + <th colspan="2" align="center">4 + <th colspan="2" align="center">8 + </tr> + + <tr BGCOLOR="#3366FF"> + <td>New Buffer</td> <td>setLength</td> + <td>New Buffer</td> <td>setLength</td> + <td>New Buffer</td> <td>setLength</td> + <td>New Buffer</td> <td>setLength</td> + <td>New Buffer</td> <td>setLength</td> + </tr> + + <tr align="right"> + <td BGCOLOR="#CCCCCC">256 + <td>33 <td>22 + <td>34 <td>22 + <td>34 <td>22 + <td>34 <td>22 + <td>33 <td>23 + </tr> + + <tr align="right"> + <td BGCOLOR="#CCCCCC">1024 + <td>58 <td>41 + <td>59 <td>45 + <td>59 <td>48 + <td>59 <td>51 + <td>60 <td>44 + </tr> + + <tr align="right"> + <td BGCOLOR="#CCCCCC">4096 + <td>146 <td>132 + <td>138 <td>132 + <td>144 <td>126 + <td>142 <td>132 + <td>136 <td>132 + </tr> + + <tr align="right"> + <td BGCOLOR="#CCCCCC">16384 + <td>617 <td>593 + <td>593 <td>609 + <td>601 <td>617 + <td>601 <td>632 + <td>593 <td>632 + </tr> + + <tr align="right"> + <td BGCOLOR="#CCCCCC">65536 + <td>3218 <td>3281 + <td>3093 <td>3125 + <td>3125 <td>3156 + <td>3125 <td>3281 + <td>3062 <td>3562 + </tr> + + <tr align="right"> + <td BGCOLOR="#CCCCCC">262144 + <td>14750 <td>15125 + <td>14000 <td>15500 + <td>14000 <td>16125 + <td>14000 <td>18000 + <td>14000 <td>21375 + </tr> + + <tr align="right"> + <td BGCOLOR="#CCCCCC">1048576 + <td>87500 <td>80000 + <td>60500 <td>82000 + <td>57000 <td>93000 + <td>57500 <td>118500 + <td>57500 <td>168500 + </tr> + + <caption ALIGN="BOTTOM">Performance comparisons of new buffer + creation versus setLength(0) approach for various message sizes and + secondary loop lengths. + </caption> + </table> + + <p>The tests copy a message to a destination string buffer and then + copy a 256 character buffer to another buffer the number of times + as specified by the secondary loop length. + + + <p>The <code>setLength(0)</code> method is usually faster. However, + after copying a large string it becomes slow even when copying + small strings. + + + <p>This is due to a peculiarity in the <code>copy</code> method in + StringBuffer class which creates a character array of the same + length as the old buffer even if the vast majority of those + characters are unused. + + <p>The tests were performed on Linux using IBM's JDK 1.1.8. + + <p>The test script is a crude model of what might happen in + reality. If you remain unconvinced of its results, then please send + your alternative measurement scenario. + + + + +*/ +public class NewVsSetLen { + + static String s; + + static int BIGBUF_LEN = 1048576; + static int SBUF_LEN = 256; + static int RUN_LENGTH = BIGBUF_LEN/4; + + static char[] sbuf = new char[SBUF_LEN]; + static char[] bigbuf = new char[BIGBUF_LEN]; + + { + for(int i = 0; i < SBUF_LEN; i++) { + sbuf[i] = (char) (i); + } + + for(int i = 0; i < BIGBUF_LEN; i++) { + bigbuf[i] = (char) (i); + } + } + + + static + public + void main(String[] args) { + + int t; + + for(int len = SBUF_LEN; len <= BIGBUF_LEN; len*=4, RUN_LENGTH /= 4) { + System.out.println("<td>"+len+"\n"); + for(int second = 0; second < 16;) { + System.out.println("SECOND loop="+second +", RUN_LENGTH=" + +RUN_LENGTH+", len="+len); + t = (int)newBuffer(len, second); + + System.out.print("<td>" + t); + t = (int)setLen(len, second); + System.out.println(" <td>" + t + " \n"); + if(second == 0) { + second = 1; + } else { + second *= 2; + } + } + } + + } + + static + double newBuffer(int size, int second) { + long before = System.currentTimeMillis(); + + for(int i = 0; i < RUN_LENGTH; i++) { + StringBuffer buf = new StringBuffer(SBUF_LEN); + buf.append(sbuf, 0, sbuf.length); + buf.append(bigbuf, 0, size); + s = buf.toString(); + } + + for(int x = 0; x < second; x++) { + StringBuffer buf = new StringBuffer(SBUF_LEN); + buf.append(sbuf, 0, SBUF_LEN); + s = buf.toString(); + } + return (System.currentTimeMillis() - before)*1000.0/RUN_LENGTH; + } + + static + double setLen(int size, int second) { + long before = System.currentTimeMillis(); + + StringBuffer buf = new StringBuffer(SBUF_LEN); + + for(int i = 0; i < RUN_LENGTH; i++) { + buf.append(sbuf, 0, sbuf.length); + buf.append(bigbuf, 0, size); + s = buf.toString(); + buf.setLength(0); + } + + for(int x = 0; x < second; x++) { + buf.append(sbuf, 0, SBUF_LEN); + s = buf.toString(); + buf.setLength(0); + } + return (System.currentTimeMillis() - before)*1000.0/RUN_LENGTH; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NullAppender.java b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NullAppender.java new file mode 100644 index 00000000000..32c057ad3b9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/NullAppender.java @@ -0,0 +1,68 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.performance; + +import org.apache.log4j.Layout; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.AppenderSkeleton; + +/** + * A bogus appender which calls the format method of its layout object + * but does not write the result anywhere. + * + * <p><b> <font color="#FF2222">The + * <code>org.apache.log4j.performance.NullAppender</code> class is + * intended for internal use only.</font> Consequently, it is not + * included in the <em>log4j.jar</em> file.</b> </p> + * */ +public class NullAppender extends AppenderSkeleton { + + public static String s; + public String t; + + public + NullAppender() {} + + public + NullAppender(Layout layout) { + this.layout = layout; + } + + public + void close() {} + + public + void doAppend(LoggingEvent event) { + if(layout != null) { + t = layout.format(event); + s = t; + } + } + + public + void append(LoggingEvent event) { + } + + /** + This is a bogus appender but it still uses a layout. + */ + public + boolean requiresLayout() { + return true; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/SystemTime.java b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/SystemTime.java new file mode 100644 index 00000000000..f5ef4d12b52 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/SystemTime.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.performance; + +/** + Measures the time required to make a System.currentTimeMillis() and + Thread.currentThread().getName() calls. + + <p>On an 233Mhz NT machine (JDK 1.1.7B) the + System.currentTimeMillis() call takes under half a microsecond to + complete whereas the Thread.currentThread().getName() call takes + about 4 micro-seconds. + +*/ +public class SystemTime { + + static int RUN_LENGTH = 1000000; + + static + public + void main(String[] args) { + double t = systemCurrentTimeLoop(); + System.out.println("Average System.currentTimeMillis() call took " + t); + + t = currentThreadNameloop(); + System.out.println("Average Thread.currentThread().getName() call took " + + t); + + } + + static + double systemCurrentTimeLoop() { + long before = System.currentTimeMillis(); + for(int i = 0; i < RUN_LENGTH; i++) { + System.currentTimeMillis(); + } + return (System.currentTimeMillis() - before)*1000.0/RUN_LENGTH; + } + + static + double currentThreadNameloop() { + long before = System.currentTimeMillis(); + for(int i = 0; i < RUN_LENGTH; i++) { + Thread.currentThread().getName(); + } + return (System.currentTimeMillis() - before)*1000.0/RUN_LENGTH; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/FALKNIS.logging b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/FALKNIS.logging new file mode 100644 index 00000000000..6838421fe32 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/FALKNIS.logging @@ -0,0 +1,133 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +All tests done with java version "1.2.2" +Classic VM (J2RE 1.2.2 IBM build cadev-19991008 (JIT enabled: jitc)) +-------------- Wed Dec 8 20:55:19 MET 1999 --------------- +Logging to a real file. +Results: 516 525 - average 520 (basic) +Results: 657 655 - average 656 (cgu) + +Logging to a null (nop) output stream. +Results: 63 61 - average 62 (basic) +Results: 155 144 - average 149 (cgu) + +Logging with stack info to a regular file. +Results: 2991 2999 - average 2995 (basic) +Results: 5174 5260 - average 5217 (cgu) + +Logging with stack info to a null (nop) output stream. +Results: 779 780 - average 779 (basic) +Results: 2716 2876 - average 2796 (cgu) + +Result with the DateFormat line in CGULog.java: +static private final java.text.DateFormat __DATETIME_FORMAT = new + java.text.SimpleDateFormat("[HH:mm:ss:SSS z] dd.MM.yy"); +-------------- Wed Dec 8 20:59:25 MET 1999 --------------- +Logging to a real file. +Results: 517 526 - average 521 (basic) +Results: 720 656 - average 688 (cgu) + +Logging to a null (nop) output stream. +Results: 61 63 - average 62 (basic) +Results: 173 171 - average 172 (cgu) + +Logging with stack info to a regular file. +Results: 3034 3048 - average 3041 (basic) +Results: 5125 4603 - average 4864 (cgu) + +Logging with stack info to a null (nop) output stream. +Results: 793 929 - average 861 (basic) +-------------- Mon Jan 3 17:17:53 MET 2000 --------------- +Logging to Writer instead of OutputStrem + +Logging to a real file. +Results: 453 433 432 440 433 436 438 437 437 471 - average 441 (simple) +Results: 611 588 587 619 595 585 596 590 639 600 - average 601 (ttcc) + +Logging to a null (nop) output stream. +Results: 34 29 29 27 29 28 30 27 29 28 - average 29 (simple) +Results: 87 112 89 87 86 87 86 87 86 86 - average 89 (ttcc) + +Logging with stack info to a regular file. +Results: 1806 1786 1808 1807 1816 1862 1818 1808 1825 - average 1816 (simple) +Results: 2391 2196 2170 2229 2206 2191 2183 2181 2244 - average 2221 (ttcc) + +Logging with stack info to a null (nop) output stream. +Results: 763 767 806 772 769 758 756 756 768 - average 768 (simple) +Results: 1046 1067 1095 1042 1037 1034 1058 1082 1057 - average 1058 (ttcc) +-------------- Thu Jan 13 15:08:27 MET 2000 --------------- +Using 0.7.3 style appender.doAppend method + +Logging to a real file. +Results: 436 484 438 443 449 448 440 444 - average 447 (simple) +Results: 665 616 598 596 604 588 603 593 - average 607 (ttcc) + +Logging to a null (nop) output stream. +Results: 24 24 24 23 24 24 27 24 - average 24 (simple) +Results: 81 83 81 81 82 80 80 81 - average 81 (ttcc) + +Logging with stack info to a regular file. +Results: 1434 1392 1578 1430 1413 1409 1410 1409 - average 1434 (simple) +Results: 1769 1801 1886 1783 1790 1754 1763 1771 - average 1789 (ttcc) + +Logging with stack info to a null (nop) output stream. +Results: 726 710 721 695 707 699 707 710 - average 709 (simple) +Results: 961 963 966 933 932 930 932 945 - average 945 (ttcc) +-------------- Fri Jan 21 19:05:34 MET 2000 --------------- +0.7.4 performance, JDK 1.2.2 GA + +Logging to a real file. +Results: 436 432 479 451 457 454 436 434 - average 447 simple +Results: 597 632 585 589 587 593 586 593 - average 595 ttcc/RelTime +Results: 729 745 744 738 782 748 730 765 - average 747 ttcc/AbsTime +Results: 765 832 767 772 763 762 778 770 - average 776 ttcc/Date + +Logging to a NOPWriter. +Results: 17 18 18 17 17 18 18 17 - average 17 simple +Results: 71 80 68 68 68 69 71 68 - average 70 ttcc/RelTime +Results: 165 166 166 168 167 163 164 167 - average 165 ttcc/AbsTime +Results: 176 179 175 178 179 180 175 176 - average 177 ttcc/Date + +Logging with stack info to a regular file. +Results: 1403 1408 1399 1405 1406 1390 1399 1515 - average 1415 simple +Results: 1697 1811 1676 1591 1631 1599 1616 1613 - average 1654 ttcc/RelTime + +Logging with stack info to a NOPWriter. +Results: 599 597 604 595 605 596 597 616 - average 601 simple +Results: 780 764 767 775 765 758 752 765 - average 765 ttcc/RelTime +-------------- Fri Jan 21 19:29:31 MET 2000 --------------- +static Date object + +Logging to a real file. +Results: 467 437 442 442 433 453 438 435 - average 443 simple +Results: 580 583 588 621 586 579 592 585 - average 589 ttcc/RelTime +Results: 737 773 731 734 732 740 762 734 - average 742 ttcc/AbsTime +Results: 755 755 760 805 757 752 770 766 - average 765 ttcc/Date + +Logging to a NOPWriter. +Results: 11 11 12 12 11 11 11 11 - average 11 simple +Results: 51 53 51 52 51 52 51 51 - average 51 ttcc/RelTime +Results: 97 95 95 95 97 98 98 96 - average 96 ttcc/AbsTime +Results: 113 112 113 113 113 110 114 115 - average 112 ttcc/Date + +Logging with stack info to a regular file. +Results: 1391 1426 1410 1403 1454 1471 1475 1470 - average 1437 simple +Results: 1620 1627 1631 1615 1601 1606 1598 1802 - average 1637 ttcc/RelTime + +Logging with stack info to a NOPWriter. +Results: 598 629 609 605 595 602 599 608 - average 605 simple +Results: 759 765 743 757 758 747 773 756 - average 757 ttcc/RelTime diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/GIL.logging b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/GIL.logging new file mode 100644 index 00000000000..e282a5f0277 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/GIL.logging @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +GIL is a AMD Duron running at 800 MHz running W2000 and Sun's JDK 1.3. + +NullAppender: + + 4 SimpleLayout + 4 PatternLayout "%p - %m%n" + 4 PatternLayout "%-5p - %m%n" + 10 TTCCLayout/RELATIVE + 10 PatternLayout "%r [%t] %-5p %c{2} %x - %m%n" + 10 PatternLayout "%r [%t] %-5p %.10c %x - %m%n" + 10 PatternLayout "%r [%t] %-5p %.20c %x - %m%n" + 9 PatternLayout "%r [%t] %-5p %c - %m%n" + 25 TTCCLayout/ISO8601 + 28 PatternLayout "%d{ISO8601} [%t] %-5p %c %x - %m%n" + 58 PatternLayout "%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n" + 1309 PatternLayout "%l - %m%n" + 1379 PatternLayout "%C.%M.%L - %m%n" + +FileAppender: + + 26 SimpleLayout + 28 PatternLayout "%p - %m%n" + 47 TTCC/RELATIVE + 46 PatternLayout "%r [%t] %-5p %c %x - %m%n" + 70 TTCCLayout/ISO8601 + 75 PatternLayout "%d{ISO8601} [%t] %-5p %c %x - %m%n" + 99 PatternLayout "%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n" + 1524 PatternLayout "%l - %m%n" + +FileAppender: (ImmediateFlush=false) + + 20 SimpleLayout + 21 PatternLayout "%p - %m%n" + 38 TTCC/RELATIVE + 38 PatternLayout "%r [%t] %-5p %c %x - %m%n" + 62 TTCCLayout/ISO8601 + 67 PatternLayout "%d{ISO8601} [%t] %-5p %c %x - %m%n" + 86 PatternLayout "%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n" + +Notice the small but noticable performance gain when forgoing +immediate flush. diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/NAPOLI.logging b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/NAPOLI.logging new file mode 100644 index 00000000000..418c459e680 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/NAPOLI.logging @@ -0,0 +1,223 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +All tests are done using Suns's 1.1.7U JDK on NT +-------------- Sometime in 1999 --------------- +Using OutputStream. +Results: - average 79 (simple) +Results: - average 164 (ttcc) + +Logging to a null (nop) output stream. +Results: - average 56 (simple) +Results: - average 131 (ttcc) + +Logging with stack info to a regular file. +Results: - average 1064 (simple) +Results: - average 1355 (ttcc) + +Logging with stack info to a null (nop) output stream. +Results: - average 1002 (simple) +Results: - average 1272 (ttcc) +-------------- Mon Jan 3 17:30:21 2000 --------------- +Using Writer instead of OutputStream. +Results: 111 98 97 101 106 107 117 100 146 116 - average 109 (simple) +Results: 200 175 175 169 206 214 185 172 173 196 - average 186 (ttcc) + +Logging to a null (nop) output stream. +Results: 23 23 25 28 24 23 23 23 23 23 - average 23 (simple) +Results: 67 66 64 65 75 65 66 64 65 64 - average 66 (ttcc) + +Logging with stack info to a regular file. +Results: 981 986 1051 1021 1016 986 976 991 976 1021 - average 1000 (simple) +Results: 1136 1136 1126 1131 1136 1151 1131 1126 1136 1137 - average 1134 + +Logging with stack info to a null (nop) output stream. +Results: 791 786 821 781 776 791 776 776 781 781 - average 786 (simple) +Results: 911 901 901 896 906 943 906 966 901 906 - average 913 (ttcc) +-------------- Thu Jan 13 18:31:46 2000 --------------- +Using v0.7.3 FileAppender.doAppend +Results: 105 95 91 93 92 94 96 96 - average 95 (simple) +Results: 172 200 165 174 182 168 165 165 - average 173 (ttcc) + +Logging to a null (nop) output stream. +Results: 22 22 26 22 22 21 24 22 - average 22 (simple) +Results: 65 64 66 64 64 64 65 65 - average 64 (ttcc) + +Logging with stack info to a regular file. +Results: 831 921 836 841 836 831 831 841 - average 846 (simple) +Results: 1051 981 981 976 981 991 981 1026 - average 996 (ttcc) + +Logging with stack info to a null (nop) output stream. +Results: 726 721 716 721 716 721 716 791 - average 728 (simple) +Results: 841 841 841 841 841 841 841 841 - average 841 (ttcc) +-------------- Fri Jan 14 15:12:11 2000 --------------- +Using v0.7.3 FileAppender.doAppend and the FilterWriter based architecture + +Logging to a real file. +Results: 96 94 96 95 99 96 92 94 - average 95 (simple) +Results: 178 168 167 205 168 174 172 173 - average 175 (ttcc) + +Logging to a null (nop) output stream. +Results: 28 22 21 22 25 21 22 24 - average 23 (simple) +Results: 67 73 65 64 64 64 64 64 - average 65 (ttcc) + +Logging with stack info to a regular file. +Results: 961 831 846 831 841 831 836 866 - average 855 (simple) +Results: 981 976 1001 971 1242 981 1051 981 - average 1023 (ttcc) + +Logging with stack info to a null (nop) output stream. +Results: 726 716 716 716 716 716 741 731 - average 722 (simple) +Results: 846 841 841 841 841 866 841 841 - average 844 (ttcc) + +Note: only stack printing performance is affected. +-------------- Fri Jan 21 20:42:03 2000 --------------- +release 0.7.4 +Logging to a real file. +Results: 90 94 92 90 92 91 88 92 - average 91 simple +Results: 172 161 162 166 165 165 179 164 - average 166 ttcc/RelTime +Results: 206 207 211 212 221 214 225 206 - average 212 ttcc/AbsTime +Results: 228 236 239 234 233 231 229 240 - average 233 ttcc/Date + +Logging to a NOPWriter. +Results: 21 21 20 20 20 20 20 20 - average 20 simple +Results: 60 60 60 60 60 60 60 60 - average 60 ttcc/RelTime +Results: 96 96 96 96 96 96 96 96 - average 96 ttcc/AbsTime +Results: 111 111 112 111 112 108 111 112 - average 111 ttcc/Date + +Logging with stack info to a regular file. +Results: 1091 1106 1092 1096 1096 1086 1106 1091 - average 1095 simple +Results: 1256 1242 1257 1251 1246 1267 1251 1256 - average 1253 ttcc/RelTime + +Logging with stack info to a NOPWriter. +Results: 866 871 856 856 846 851 846 846 - average 854 simple +Results: 996 986 991 986 996 996 991 986 - average 991 ttcc/RelTime + +-------------- Fri Jan 21 20:26:43 2000 --------------- +0.7.4 + static Date +Logging to a real file. +Results: 93 97 92 91 100 91 95 95 - average 94 simple +Results: 170 177 179 195 214 176 188 167 - average 183 ttcc/RelTime +Results: 215 214 218 212 211 215 217 224 - average 215 ttcc/AbsTime +Results: 296 274 234 235 230 237 232 231 - average 246 ttcc/Date + +Logging to a NOPWriter. +Results: 21 21 20 20 22 20 20 20 - average 20 simple +Results: 60 60 60 60 60 60 60 60 - average 60 ttcc/RelTime +Results: 94 93 94 93 93 94 93 93 - average 93 ttcc/AbsTime +Results: 106 105 106 106 106 106 106 105 - average 105 ttcc/Date + +Logging with stack info to a regular file. +Results: 1096 1091 1096 1087 1106 1091 1101 1091 - average 1094 simple +Results: 1211 1216 1212 1217 1211 1221 1216 1217 - average 1215 ttcc/RelTime + +Logging with stack info to a NOPWriter. +Results: 866 866 861 851 846 856 851 856 - average 856 simple +Results: 956 981 966 966 956 961 961 961 - average 963 ttcc/RelTime + +The static date version is faster by at least 3 microsecs. +-------------- Sat Jan 22 16:54:35 2000 --------------- +static Date in DateFormat and static StringBuffer in TTCCLayout +Logging to a real file. +Results: 92 90 92 93 93 91 89 97 - average 92 simple +Results: 159 161 167 160 159 161 164 159 - average 161 ttcc/RelTime +Results: 206 205 205 203 213 207 224 204 - average 208 ttcc/AbsTime +Results: 220 232 229 231 236 228 231 231 - average 229 ttcc/Date + +Logging to a NOPWriter. +Results: 21 21 20 20 20 20 20 20 - average 20 simple +Results: 55 55 55 55 55 55 55 55 - average 55 ttcc/RelTime +Results: 88 88 87 89 88 92 90 87 - average 88 ttcc/AbsTime +Results: 101 102 101 101 102 102 106 106 - average 102 ttcc/Date + +Logging with stack info to a regular file. +Results: 1101 1096 1111 1106 1112 1097 1101 1101 - average 1103 simple +Results: 1217 1212 1221 1271 1227 1217 1226 1216 - average 1225 ttcc/RelTime + +Logging with stack info to a NOPWriter. +Results: 876 866 866 846 856 851 851 851 - average 857 simple +Results: 961 961 961 956 961 961 951 961 - average 959 ttcc/RelTime +------------------------------------------------------- +227 using sockets and byte buffers +-------------- Sat Jan 29 14:34:19 2000 --------------- +Using DateFormat extensions in TTCCLayout. + +Logging to a real file. +Results: 177 170 173 171 185 188 176 176 - average 177 ttcc/RelTime +Results: 206 200 202 203 207 208 201 202 - average 203 ttcc/AbsTime +Results: 234 240 245 236 238 236 246 269 - average 243 ttcc/DateTime + +Logging to a NOPWriter. +Results: 57 57 57 57 - average 57 ttcc/RelTime +Results: 86 84 85 85 - average 85 ttcc/AbsTime +Results: 113 112 112 112 - average 112 ttcc/DateTime + +Logging with stack info to a regular file. +Results: 1111 1116 1116 1157 - average 1125 simple +Results: 1592 1592 1597 1597 - average 1594 ttcc/RelTime + +Logging with stack info to a NOPWriter. +Results: 866 886 876 866 - average 873 simple +Results: 1312 1312 1302 1302 - average 1307 ttcc/RelTime + +A noticable slowdown in RelTime printing, but sull faster than 0.7.4. +-------------- Thu Feb 3 21:04:35 2000 --------------- +Release 0.7.5 +Logging to a real file. +Results: 91 92 95 100 120 91 95 92 - average 97 simple +Results: 178 176 192 183 176 179 174 181 - average 179 ttcc/RelTime +Results: 211 201 203 203 206 220 210 216 - average 208 ttcc/AbsTime +Results: 238 237 245 233 239 237 239 241 - average 238 ttcc/DateTime + +Logging to a NOPWriter. +Results: 21 21 21 20 - average 20 simple +Results: 58 58 58 58 - average 58 ttcc/RelTime +Results: 87 87 86 86 - average 86 ttcc/AbsTime +Results: 114 113 114 114 - average 113 ttcc/DateTime + +Logging with stack info to a regular file. +Results: 1121 1121 1111 1126 - average 1119 simple +Results: 1622 1617 1597 1622 - average 1614 ttcc/RelTime + +Logging with stack info to a NOPWriter. +Results: 886 881 876 866 - average 877 simple +Results: 1317 1317 1316 1317 - average 1316 ttcc/RelTime + +-------------- Tue Mar 21 16:57:01 2000 --------------- +Release 0.8.2 code + +Results: 30 30 31 31 - average 30 NullAppender/SimpleLayout +Results: 32 32 32 32 - average 32 NullAppender/PatternLayout "%p - %m\n" +Results: 31 31 31 31 - average 31 NullAppender/PatternLayout "%-5p - %m\n" +Results: 65 65 65 65 - average 65 NullAppender/TTCCLayout/RELATIVE +Results: 64 65 64 64 - average 64 NullAppender/PatternLayout "%r [%t] %-5p %c %x - %m\n" +Results: 64 64 64 64 - average 64 NullAppender/PatternLayout "%r [%t] %-5p %.10c %x - %m\n" +Results: 64 65 64 64 - average 64 NullAppender/PatternLayout "%r [%t] %-5p %.20c %x - %m\n" +Results: 58 58 60 58 - average 58 NullAppender/PatternLayout "%r [%t] %-5p %c - %m\n" +Results: 122 124 121 122 - average 122 NullAppender/TTCCLayout/ISO8601 +Results: 152 152 152 152 - average 152 NullAppender/PatternLayout "%d{ISO8601} [%t] %-5p %c %x - %m\n" +Results: 405 405 404 405 - average 404 NullAppender/PatternLayout "%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m\n" +Results: 111 112 113 110 110 111 114 120 - average 112 FileAppender/SimpleLayout +Results: 127 124 125 129 140 121 121 123 - average 126 FileAppender/PatternLayout "%p - %m\n" +Results: 196 195 186 183 186 190 182 189 - average 188 FileAppender/TTCC/RELATIVE +Results: 188 184 186 195 195 214 193 191 - average 193 FileAppender/PatternLayout "%r [%t] %-5p %c %x - %m\n" +Results: 257 265 300 252 - average 268 FileAppender/TTCCLayout/ISO8601 +Results: 289 332 320 338 308 290 288 290 - average 306 FileAppender/PatternLayout "%d{ISO8601} [%t] %-5p %c %x - %m\n" +Results: 574 577 580 572 573 577 576 589 - average 577 FileAppender/PatternLayout "%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] + %-5p %c %x - %m\n" + +Notice the good performance of PatternLayout compared to dedicated +SimpleLayout and TTCCLayout except when SimpleDateFormat is used. + diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/TORINO.logging b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/TORINO.logging new file mode 100644 index 00000000000..67f32b2364a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/history/TORINO.logging @@ -0,0 +1,217 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +-------------- Fri Nov 5 23:52:59 CET 1999 --------------- +Append based logging +Each ttcc log operation took about 342.3 microsec. +Each simple log operation took about 181.9 microsec. +-------------- Sat Nov 6 13:35:44 CET 1999 --------------- +Configuration file: +LogFile=test +FileAppend=false +DefaultPriority=INFO +RelativeTime=true +ecCategoriesFile=logging.cat + +Defined Categories: +A0123456789=INFO + +Results: 173 172 168 172 170 171 178 170 169 171 - average 171 (simple) +Results: 337 332 347 333 335 335 342 333 335 336 - average 336 (ttcc) +Results: 141 147 145 145 143 144 143 139 145 149 - average 144 (simple) +Results: 294 291 292 279 294 292 292 293 292 304 - average 292 (ttcc) + +APPENDING to construct the log message +Second result logs to NOPOutputStream +-------------- Sat Nov 6 18:08:05 CET 1999 --------------- +Without the cost of evaluating - Buffer optimized + +Results: 82 84 85 82 88 83 84 85 83 82 - average 83 (simple) +Results: 271 273 275 259 271 270 272 272 275 273 - average 271 (ttcc) +Results: 54 53 58 70 55 56 55 54 57 55 - average 56 (simple) +Results: 240 236 234 236 233 239 238 236 234 235 - average 236 (ttcc) + +Conclusion cost of evaluation about 20 micros +-------------- Sat Nov 6 13:47:41 CET 1999 --------------- +Results: 100 100 103 100 102 102 100 100 103 100 - average 101 (simple) +Results: 300 298 300 300 310 294 307 299 299 304 - average 301 (ttcc) +Results: 80 79 78 80 78 79 78 79 77 78 - average 78 (simple) +Results: 259 266 263 267 265 264 263 266 265 269 - average 264 (ttcc) + +buffering to construct the log message +Second result logs to NOPOutputStream + +Conclusion buffering saves ~70 microsecs, or about 70% savings. +-------------- Sat Nov 6 18:19:57 CET 1999 --------------- +Removed " [" and " ]" from theadStr + + +Results: 266 273 264 260 268 266 263 264 265 266 - average 265 (ttcc) +Results: 242 242 237 245 242 239 239 245 227 235 - average 239 (ttcc) +-------------- Sat Nov 6 18:27:09 CET 1999 --------------- +Results: 266 273 265 265 266 268 265 267 268 266 - average 266 (ttcc) +Results: 231 221 225 245 234 227 240 225 225 227 - average 230 (ttcc) + +Optimized " [" + thread.getName() + " ]" +-------------- Thu Nov 11 00:55:20 CET 1999 --------------- +Results: 100 84 84 83 85 85 84 84 84 81 - average 85 (simple) +Results: 206 206 204 209 216 204 199 204 212 206 - average 206 (ttcc) +Results: 56 55 56 56 56 55 56 56 56 56 - average 55 (simple) +Results: 179 190 171 184 186 186 185 185 184 170 - average 182 (ttcc) + +Using Category class. +-------------- Fri Nov 12 22:02:16 CET 1999 --------------- +Starting tests, this make take a few seconds.... + +StackInfoThreshold=INFO + +Results: 3890 3815 3842 3777 3845 +-------------- Fri Nov 12 22:07:01 CET 1999 --------------- +StackInfoThreshold=INFO + +Results: 3779 3979 3938 3989 3929 3757 3791 3986 3792 3772 - average 3871 (ttcc) +Results: 3892 3749 3734 3709 3744 3758 3810 3859 3805 3742 - average 3780 (ttcc) + +-------------- Fri Nov 12 22:27:24 CET 1999 --------------- +StackInfoThreshold=INFO + +Results: 3178 3201 3175 3183 3363 3205 3397 3206 3213 3212 - average 3233 (ttcc) +Results: 3204 3232 3105 3183 3127 3236 3221 3124 3138 3182 - average 3175 (ttcc) + +Avoiding try and catch. + +Conclusion the try and catch costs a whopping 600 millis or about 1/5 +of total time. +-------------- Mon Nov 15 22:14:54 CET 1999 --------------- +StackInfoThreshold=INFO + +Results: 1497 1463 1514 1445 1472 1498 1476 1471 1508 1503 - average 1484 (ttcc) +Results: 1403 1483 1494 1399 1453 1463 1444 1430 1436 1406 - average 1441 (ttcc) + +New code based on internal TracerPrintStream class. +-------------- Mon Nov 15 22:53:34 CET 1999 --------------- +Results: 84 86 86 85 90 86 86 86 85 85 - average 85 (simple) +Results: 219 211 203 205 206 202 203 203 215 204 - average 207 (ttcc) +Results: 58 58 66 58 56 60 64 59 58 57 - average 59 (simple) +Results: 174 188 177 170 173 185 171 172 171 175 - average 175 (ttcc) + +Results: 733 742 745 743 766 744 748 754 750 756 - average 748 (bas) +Results: 1462 1481 1475 1515 1462 1479 1517 1497 1479 1555 - average 1492 (ttcc) +Results: 624 628 622 616 618 612 618 605 606 618 - average 616 (bas) +Results: 1353 1371 1374 1338 1374 1318 1360 1336 1329 1342 - average 1349 (ttcc) + +-------------- Mon Dec 13 21:49:49 CET 1999 --------------- +No Layout indirection in Log. NDC in TTCCLog. + +Results: 82 84 86 83 87 87 88 84 84 81 - average 84 (simple) +Results: 225 221 211 221 220 220 221 221 216 211 - average 218 (ttcc) +Results: 60 58 60 54 60 56 55 59 55 56 - average 57 (simple) +Results: 185 183 189 190 190 188 187 189 187 192 - average 188 (ttcc) + +Results: 725 723 737 733 731 738 756 728 755 738 - average 736 (simple) +Results: 1166 1156 1170 1177 1184 1157 1172 1185 1177 1190 - average 1173 (ttcc) +Results: 607 606 604 616 602 583 602 603 603 605 - average 603 (simple) +Results: 1050 1021 1014 1023 1050 1019 1038 1034 1025 1012 - average 1028 (ttcc) + +-------------- Mon Dec 13 23:30:18 CET 1999 --------------- +Layout indirection in Log. NDC in TTCCLayout +Results: 85 87 86 91 89 86 89 87 84 88 - average 87 (simple) +Results: 214 221 214 212 219 213 224 222 210 210 - average 215 (ttcc) +Results: 66 71 70 70 82 70 66 65 64 68 - average 69 (simple) +Results: 192 193 194 182 195 186 184 193 191 199 - average 190 (ttcc) + +Results: 758 761 743 755 750 778 748 758 737 756 - average 754 (simple) +Results: 1139 1169 1112 1129 1161 1146 1121 1145 1140 1134 - average 1139 (ttcc) +Results: 667 684 699 699 717 700 681 693 680 692 - average 691 (simple) +Results: 1115 1119 1103 1127 1106 1116 1100 1121 1096 1131 - average 1113 (ttcc) +-------------- Tue Dec 28 20:35:17 CET 1999 --------------- +v 0.7.1 using Suns JDK 1.2.2 +Results: 54 55 55 54 55 55 56 54 55 55 - average 54 (simple) +Results: 123 123 125 122 128 122 122 123 124 123 - average 123 (ttcc) + +Results: 41 41 42 42 41 41 42 41 56 41 - average 42 (simple) +Results: 102 102 102 102 102 102 102 101 103 102 - average 102 (ttcc) + +Results: 496 494 491 491 503 505 497 491 495 496 - average 495 (simple) +Results: 609 601 613 607 638 606 610 608 610 607 - average 610 (ttcc) + +Results: 449 451 452 476 450 450 444 455 446 447 - average 452 (simple) +Results: 563 548 555 555 556 545 557 551 545 559 - average 553 (ttcc) + +-------------- Tue Dec 28 23:44:36 CET 1999 --------------- +Writer based log4j + +Results: 65 65 65 64 64 65 66 67 65 65 - average 65 (simple) +Results: 122 121 121 121 121 122 122 122 122 121 - average 121 (ttcc) + +Results: 18 18 18 18 18 18 18 18 18 18 - average 18 (simple) +Results: 60 72 59 59 60 60 60 60 60 60 - average 61 (ttcc) + +Results: 521 523 518 524 529 526 533 530 524 528 - average 525 (simple) +Results: 619 629 621 622 626 622 625 624 616 624 - average 622 (ttcc) + +Results: 412 405 400 404 417 402 409 399 416 402 - average 406 (simple) +Results: 496 492 480 488 482 488 487 492 489 488 - average 488 (ttcc) +-------------- Wed Jan 12 00:05:48 CET 2000 --------------- +0.7.2 code +Starting tests, this make take a few seconds.... + +Logging to a real file. +Results: 64 63 65 64 63 63 64 64 - average 63 (simple) +Results: 124 123 122 125 123 126 122 122 - average 123 (ttcc) + +Logging to a null (nop) output stream. +Results: 17 18 17 18 17 18 17 17 - average 17 (simple) +Results: 60 60 59 59 61 60 60 60 - average 59 (ttcc) + +Logging with stack info to a regular file. +Results: 533 526 535 533 533 534 535 528 - average 532 (simple) +Results: 633 630 633 628 639 619 638 630 - average 631 (ttcc) + +Logging with stack info to a null (nop) output stream. +Results: 407 406 413 402 404 412 426 415 - average 410 (simple) +Results: 491 499 494 495 487 504 497 493 - average 495 (ttcc) + +-------------- Sun Jul 9 21:55:09 CEST 2000 --------------- +IBM JDK 1.1.8, log4j 0.8.5 with NDC + +NullAppender: + +12 SimpleLayout +21 PatternLayout "%p - %m\n" +22 PatternLayout "%-5p - %m\n" +39 TTCCLayout/RELATIVE +39 PatternLayout "%r [%t] %-5p %c{2} %x - %m\n" +37 PatternLayout "%r [%t] %-5p %.10c %x - %m\n" +37 PatternLayout "%r [%t] %-5p %.20c %x - %m\n" +32 PatternLayout "%r [%t] %-5p %c - %m\n" +62 TTCCLayout/ISO8601 +69 PatternLayout "%d{ISO8601} [%t] %-5p %c %x - %m\n" +222 PatternLayout "%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m\n" +1172 PatternLayout "%l - %m\n" +1313 PatternLayout "%C.%M.%L - %m\n" + +FileAppender: + +44 SimpleLayout +56 PatternLayout "%p - %m\n" +87 TTCC/RELATIVE +95 PatternLayout "%r [%t] %-5p %c %x - %m\n" +126 TTCCLayout/ISO8601 +147 PatternLayout "%d{ISO8601} [%t] %-5p %c %x - %m\n" +288 PatternLayout "%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m\n" +447 PatternLayout "%l - %m\n" + diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/logging b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/logging new file mode 100644 index 00000000000..2eb51bdc3b0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/logging @@ -0,0 +1,389 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Test the performance of logging + +# Set the variable REMOTE_HOST to the appropriate value for the +# to perform SocketAppender measurements. + + +LCF=logging.lcf +TARGET_FILE=test +DELAY=1000 +PORT=12345 + +# The results are somehow RUN_LENGTH dependent. Keep RUN_LENGTH the +# same to be able to compare results +LONGRUN=100000 +SHORTRUN=5000 + +#LONGRUN=1 +#SHORTRUN=2 + + +declare -i start=$1 + +#D=-Dlog4j.configDebug +# ------------------------------------------------------------- +function multiRun() { + lcf=$1 + loopLength=$2 + msg=$3 + runLength=$4 + + echo -n "Results: " + + declare -i total + declare -i i + i=0 + total=0 + + while [ $i -lt $loopLength ] + do + i=$i+1 + x=$(java $D org.apache.log4j.performance.Logging $lcf $runLength $5) + if [ $x -lt 100 ]; then + echo -n " " + fi + echo -n "$x " + total=$total+$x + done + + while [ $i -lt 8 ] + do + i=$i+1 + echo -n " " + done + + average=$[ $total / $loopLength ] + echo "- average $average $msg" + +} +# ============================================= +# Echo to $LCF +# ============================================= +function lecho { + echo $* >> $LCF +} +# ============================================= + + +echo "--------------" $(date) "---------------" + + +echo echo "Starting performance measures. This make take a few minutes...." + +declare -i TEST + +echo; echo "NullAppender:"; echo + +TEST=1 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 4 "SimpleLayout" $LONGRUN +fi + +TEST=2 +if [ $TEST -ge $start ]; then + format="%p - %m%n" + multiRun xml/logging$TEST.xml 4 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=3 +if [ $TEST -ge $start ]; then + format="%-5p - %m%n" + multiRun xml/logging$TEST.xml 4 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=4 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 4 "TTCCLayout/RELATIVE" $LONGRUN +fi + +TEST=5 +if [ $TEST -ge $start ]; then + format="%r [%t] %-5p %c{2} %x - %m%n" + multiRun xml/logging$TEST.xml 4 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=6 +if [ $TEST -ge $start ]; then + format="%r [%t] %-5p %.10c %x - %m%n" + multiRun xml/logging$TEST.xml 4 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=7 +if [ $TEST -ge $start ]; then + format="%r [%t] %-5p %.20c %x - %m%n" + multiRun xml/logging$TEST.xml 4 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=8 +if [ $TEST -ge $start ]; then + format="%r [%t] %-5p %c - %m%n" + multiRun xml/logging$TEST.xml 4 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=9 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 4 "TTCCLayout/ISO8601" $LONGRUN +fi + +TEST=10 +if [ $TEST -ge $start ]; then + format="%d{ISO8601} [%t] %-5p %c %x - %m%n" + multiRun xml/logging$TEST.xml 4 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=11 +if [ $TEST -ge $start ]; then + format="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n" + multiRun xml/logging$TEST.xml 4 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=12 +if [ $TEST -ge $start ]; then + format="%l - %m%n" + multiRun xml/logging$TEST.xml 4 "PatternLayout \"$format\"" $SHORTRUN +fi + +TEST=13 +if [ $TEST -ge $start ]; then + format="%C.%M.%L - %m%n" + multiRun xml/logging$TEST.xml 4 "PatternLayout \"$format\"" $SHORTRUN +fi + +echo +echo "FileAppender: " +echo + + +TEST=100 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "SimpleLayout" $LONGRUN +fi + +TEST=101 +if [ $TEST -ge $start ]; then + format="%p - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=102 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "TTCC/RELATIVE" $LONGRUN +fi + +TEST=103 +if [ $TEST -ge $start ]; then + format="%r [%t] %-5p %c - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=104 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "TTCCLayout/ISO8601" $LONGRUN +fi + + +TEST=105 +if [ $TEST -ge $start ]; then + format="%d{ISO8601} [%t] %-5p %c %x - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=106 +if [ $TEST -ge $start ]; then + format="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +echo ================== 107 =============================== +TEST=107 +if [ $TEST -ge $start ]; then + format="%l - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $SHORTRUN +fi + +echo ------------------------------------- +echo "FileAppender: ImmediateFlush=false" +echo ------------------------------------- + +TEST=200 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "SimpleLayout" $LONGRUN +fi + +TEST=201 +if [ $TEST -ge $start ]; then + format="%p - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=202 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "TTCC/RELATIVE" $LONGRUN +fi + +TEST=203 +if [ $TEST -ge $start ]; then + format="%r [%t] %-5p %c - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=204 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "TTCCLayout/ISO8601" $LONGRUN +fi + +TEST=205 +if [ $TEST -ge $start ]; then + format="%d{ISO8601} [%t] %-5p %c %x - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=206 +if [ $TEST -ge $start ]; then + format="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=207 +if [ $TEST -ge $start ]; then + format="%l - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $SHORTRUN +fi + +echo ------------------------------------- +echo "FileAppender: BufferedIO=true" +echo ------------------------------------- + +TEST=220 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "SimpleLayout" $LONGRUN +fi + +TEST=221 +if [ $TEST -ge $start ]; then + format="%p - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=222 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "TTCC/RELATIVE" $LONGRUN +fi + +TEST=223 +if [ $TEST -ge $start ]; then + format="%r [%t] %-5p %c - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=224 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "TTCCLayout/ISO8601" $LONGRUN +fi + +TEST=225 +if [ $TEST -ge $start ]; then + format="%d{ISO8601} [%t] %-5p %c %x - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=226 +if [ $TEST -ge $start ]; then + format="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=227 +if [ $TEST -ge $start ]; then + format="%l - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $SHORTRUN +fi + + +echo ================================== +echo Async appender +echo ================================== + +TEST=300 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "SimpleLayout" $LONGRUN +fi + +TEST=301 +if [ $TEST -ge $start ]; then + format="%p - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=302 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "TTCCLayout/RELATIVE" $LONGRUN +fi + +TEST=303 +if [ $TEST -ge $start ]; then + format="%r [%t] %-5p %c - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=304 +if [ $TEST -ge $start ]; then + multiRun xml/logging$TEST.xml 8 "TTCCLayout/ISO8601" $LONGRUN +fi + + +TEST=305 +if [ $TEST -ge $start ]; then + format="%d{ISO8601} [%t] %-5p %c %x - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=306 +if [ $TEST -ge $start ]; then + format="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $LONGRUN +fi + +TEST=307 +if [ $TEST -ge $start ]; then + format="%l - %m%n" + multiRun xml/logging$TEST.xml 8 "PatternLayout \"$format\"" $SHORTRUN +fi + + +# =============================================================== +# Remote logging +# =============================================================== +TEST=1000 +#RL=1000 +RL=10000 +if [ $TEST -ge $start ]; then + java org.apache.log4j.performance.Logging xml/logging$TEST.xml $RL 100 100 + #multiRun 4 "SocketAppender" $SHORTRUN $DELAY +fi + + +TEST=1001 +#RL=1000 +RL=30000 +if [ $TEST -ge $start ]; then + java org.apache.log4j.performance.Logging xml/logging$TEST.xml $RL + #multiRun 4 "SocketAppender" $SHORTRUN $DELAY +fi + + diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/package.html b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/package.html new file mode 100644 index 00000000000..4e49a94bad8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/package.html @@ -0,0 +1,36 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> <head> +<title></title> +</head> + + <body> + + <p>Package to measure the performance of the different log4j + components. + </p> + + <p><b> <font color="#FF2222">The + <code>org.apache.log4j.performance</code> package is intended + for internal use only.</font> Consequently, the classes in this + package are not included in the <em>log4j.jar</em> file.</b> + </p> + + </body> +</html> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging1.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging1.xml new file mode 100644 index 00000000000..630c5b9eb40 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging1.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.SimpleLayout +--> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.SimpleLayout"/> + </appender> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging10.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging10.xml new file mode 100644 index 00000000000..1477f8cd98b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging10.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.PatternLayout +log4j.appender.NULL.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c %x - %m%n +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d{ISO8601} [%t] %-5p %c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging100.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging100.xml new file mode 100644 index 00000000000..42111a37373 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging100.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="test"/> + <param name="Append" value="false"/> + + <layout class="org.apache.log4j.SimpleLayout"> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging1000.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging1000.xml new file mode 100644 index 00000000000..349babe8c95 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging1000.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.net.SocketAppender"> + <param name="RemoteHost" value="localhost"/> + <param name="Port" value="12345"/> + <param name="ReconnectionDelay" value="1000"/> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging101.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging101.xml new file mode 100644 index 00000000000..fcf49618e75 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging101.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%p - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging102.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging102.xml new file mode 100644 index 00000000000..7670db1261c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging102.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" value="RELATIVE"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging103.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging103.xml new file mode 100644 index 00000000000..3af8adfc844 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging103.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%r [%t] %-5p %c - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="TEMP" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging104.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging104.xml new file mode 100644 index 00000000000..5148ab37223 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging104.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" + value="ISO8601"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging105.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging105.xml new file mode 100644 index 00000000000..b63e49f17ba --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging105.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d{ISO8601} [%t] %-5p %c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging106.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging106.xml new file mode 100644 index 00000000000..9ad3a03b120 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging106.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging107.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging107.xml new file mode 100644 index 00000000000..248ab4539d6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging107.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%l - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging11.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging11.xml new file mode 100644 index 00000000000..d196ac7018d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging11.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.PatternLayout +log4j.appender.NULL.layout.ConversionPattern="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging12.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging12.xml new file mode 100644 index 00000000000..8997c5fcc89 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging12.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.PatternLayout +log4j.appender.NULL.layout.ConversionPattern=%l - %m%n +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%l - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging13.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging13.xml new file mode 100644 index 00000000000..3eba7c5a32d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging13.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.PatternLayout +log4j.appender.NULL.layout.ConversionPattern=%C.%M.%L - %m%n +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%C.%M.%L - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging2.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging2.xml new file mode 100644 index 00000000000..159943d2b2c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging2.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.PatternLayout +log4j.appender.NULL.layout.ConversionPattern=%p - %m%n +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%p - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging200.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging200.xml new file mode 100644 index 00000000000..690548d6ef9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging200.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="test"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.SimpleLayout"> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging201.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging201.xml new file mode 100644 index 00000000000..906511807ed --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging201.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%p - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging202.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging202.xml new file mode 100644 index 00000000000..2190be04960 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging202.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" value="RELATIVE"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging203.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging203.xml new file mode 100644 index 00000000000..ed7d0711e9e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging203.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%r [%t] %-5p %c - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging204.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging204.xml new file mode 100644 index 00000000000..b475c12bbf0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging204.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" + value="ISO8601"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging205.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging205.xml new file mode 100644 index 00000000000..5f896e05e4c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging205.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d{ISO8601} [%t] %-5p %c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging206.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging206.xml new file mode 100644 index 00000000000..d23dff1653c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging206.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging207.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging207.xml new file mode 100644 index 00000000000..87dddafb156 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging207.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%l - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging220.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging220.xml new file mode 100644 index 00000000000..2024e73d805 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging220.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="test"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <param name="BufferedIO" value="true"/> + <layout class="org.apache.log4j.SimpleLayout"> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging221.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging221.xml new file mode 100644 index 00000000000..cbaf4665422 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging221.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <param name="BufferedIO" value="true"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%p - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging222.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging222.xml new file mode 100644 index 00000000000..3fd2d3733e2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging222.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <param name="BufferedIO" value="true"/> + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" value="RELATIVE"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging223.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging223.xml new file mode 100644 index 00000000000..58f867de63f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging223.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <param name="BufferedIO" value="true"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%r [%t] %-5p %c - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging224.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging224.xml new file mode 100644 index 00000000000..8886e46473e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging224.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <param name="BufferedIO" value="true"/> + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" + value="ISO8601"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging225.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging225.xml new file mode 100644 index 00000000000..78788c509a7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging225.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <param name="BufferedIO" value="true"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d{ISO8601} [%t] %-5p %c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging226.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging226.xml new file mode 100644 index 00000000000..f8fb1fc87e2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging226.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <param name="BufferedIO" value="true"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging227.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging227.xml new file mode 100644 index 00000000000..b36a1573018 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging227.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="NULL" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <param name="BufferedIO" value="true"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%l - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging3.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging3.xml new file mode 100644 index 00000000000..0f2dc4625e5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging3.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.PatternLayout +log4j.appender.NULL.layout.ConversionPattern=%-5p - %m%n +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%-5p - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging300.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging300.xml new file mode 100644 index 00000000000..d833f09ecf0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging300.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP" /> + </appender> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="test"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.SimpleLayout"> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="ASYNC" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging301.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging301.xml new file mode 100644 index 00000000000..f9bf7588d84 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging301.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP" /> + </appender> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%p - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="ASYNC" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging302.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging302.xml new file mode 100644 index 00000000000..0be18382f13 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging302.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP" /> + </appender> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" value="RELATIVE"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="ASYNC" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging303.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging303.xml new file mode 100644 index 00000000000..8a724a2f7e9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging303.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP" /> + </appender> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%r [%t] %-5p %c - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="ASYNC" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging304.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging304.xml new file mode 100644 index 00000000000..472d4571c6b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging304.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP" /> + </appender> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" + value="ISO8601"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="ASYNC" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging305.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging305.xml new file mode 100644 index 00000000000..436803b536f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging305.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP" /> + </appender> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d{ISO8601} [%t] %-5p %c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="ASYNC" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging306.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging306.xml new file mode 100644 index 00000000000..115ba896a0d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging306.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP" /> + </appender> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="ASYNC" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging307.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging307.xml new file mode 100644 index 00000000000..045b99b43a4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging307.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> + <appender-ref ref="TEMP" /> + </appender> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="File" value="temp"/> + <param name="Append" value="false"/> + <param name="ImmediateFlush" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%l - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="ASYNC" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging4.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging4.xml new file mode 100644 index 00000000000..ff19b73632d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging4.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" value="RELATIVE"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging5.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging5.xml new file mode 100644 index 00000000000..61065dcc88f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging5.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.PatternLayout +log4j.appender.NULL.layout.ConversionPattern=%r [%t] %-5p %c{2} %x - %m%n +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%r [%t] %-5p %c{2} %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging6.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging6.xml new file mode 100644 index 00000000000..57810a8edf3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging6.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.PatternLayout +log4j.appender.NULL.layout.ConversionPattern=%r [%t] %-5p %.10c %x - %m%n +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%r [%t] %-5p %.10c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging7.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging7.xml new file mode 100644 index 00000000000..2104f2b44b4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging7.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.PatternLayout +log4j.appender.NULL.layout.ConversionPattern=%r [%t] %-5p %.20c %x - %m%n +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%r [%t] %-5p %.20c %x - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging8.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging8.xml new file mode 100644 index 00000000000..8a8c7b28ae5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging8.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.PatternLayout +log4j.appender.NULL.layout.ConversionPattern=%r [%t] %-5p %c - %m%n +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%r [%t] %-5p %c - %m%n"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging9.xml b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging9.xml new file mode 100644 index 00000000000..26b25609f07 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/performance/java/org/apache/log4j/performance/xml/logging9.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- PropertyConfigurator equivalent: +log4j.rootCategory=, NULL +log4j.category.A0123456789=INFO +log4j.appender.NULL=org.apache.log4j.performance.NullAppender +log4j.appender.NULL.layout=org.apache.log4j.TTCCLayout +log4j.appender.NULL.layout.DateFormat=RELATIVE +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="NULL" class="org.apache.log4j.performance.NullAppender"> + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" value="ISO8601"/> + </layout> + </appender> + + <category name="A0123456789"> + <priority value ="info" /> + </category> + + <root> + <priority value ="debug" /> + <appender-ref ref="NULL" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/src/site/apt/download.apt b/thirdparty/apache-log4j-1.2.16/src/site/apt/download.apt new file mode 100644 index 00000000000..86a3f8e5301 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/site/apt/download.apt @@ -0,0 +1,60 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one or more +~~ contributor license agreements. See the NOTICE file distributed with +~~ this work for additional information regarding copyright ownership. +~~ The ASF licenses this file to You under the Apache License, Version 2.0 +~~ (the "License"); you may not use this file except in compliance with +~~ the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, software +~~ distributed under the License is distributed on an "AS IS" BASIS, +~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +~~ See the License for the specific language governing permissions and +~~ limitations under the License. + ------ +Download Apache log4j 1.2 + ------ + ------ + ------ + +Download Apache log4j 1.2.16 + + Apache log4j 1.2.16 is distributed under the {{{http://www.apache.org/licenses/LICENSE-2.0.html} Apache License, version 2.0}}. + + The link in the Mirrors column should display a list of available mirrors with a + default selection based on your inferred location. If you do not see that page, + try a different browser. The checksum and signature are links to + the originals on the main distribution server. + +*-------------------------+---------+----------+-----------+ +| | Mirrors | Checksum | Signature | +*-------------------------+---------+----------+-----------+ +| Apache log4j 1.2.16 (tar.gz) | {{{http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.16/apache-log4j-1.2.16.tar.gz} apache-log4j-1.2.16.tar.gz}} | {{{http://www.apache.org/dist/logging/log4j/1.2.16/apache-log4j-1.2.16.tar.gz.md5} apache-log4j-1.2.16.tar.gz.md5}} | {{{http://www.apache.org/dist/logging/log4j/1.2.16/apache-log4j-1.2.16.tar.gz.asc} apache-log4j-1.2.16.tar.gz.asc}} | +*-------------------------+---------+----------+-----------+ +| Apache log4j 1.2.16 (zip) | {{{http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.16/apache-log4j-1.2.16.zip} apache-log4j-1.2.16.zip}} | {{{http://www.apache.org/dist/logging/log4j/1.2.16/apache-log4j-1.2.16.zip.md5} apache-log4j-1.2.16.zip.md5}} | {{{http://www.apache.org/dist/logging/log4j/1.2.16/apache-log4j-1.2.16.zip.asc} apache-log4j-1.2.16.zip.asc}} | +*-------------------------+---------+----------+-----------+ + + It is essential that you verify the integrity of the downloaded files using the PGP or MD5 signatures. + Please read {{{http://httpd.apache.org/dev/verification.html}Verifying Apache HTTP Server Releases}} for more + information on why you should verify our releases. + + The PGP signatures can be verified using PGP or GPG. First download the {{{http://www.apache.org/dist/logging/KEYS}KEYS}} + as well as the asc signature file for the relevant distribution. Make sure you get these files from the + {{{http://www.apache.org/dist/logging/}main distribution directory}}, rather than from a mirror. Then verify the signatures using + +--- +% gpg --import KEYS +% gpg --verify log4j-1.2.16.tar.gz.asc +--- + + Apache log4j 1.2.16 is signed by Curt Arnold 70C9C3DO + + Alternatively, you can verify the MD5 signature on the files. A unix program called md5 or md5sum is included + in many unix distributions. + + + +* Previous Releases + + All previous releases of Apache log4j can be found in the {{{http://archive.apache.org/dist/logging/log4j}archive repository}}. diff --git a/thirdparty/apache-log4j-1.2.16/src/site/apt/index.apt b/thirdparty/apache-log4j-1.2.16/src/site/apt/index.apt new file mode 100644 index 00000000000..173026c7ef4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/site/apt/index.apt @@ -0,0 +1,70 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one or more +~~ contributor license agreements. See the NOTICE file distributed with +~~ this work for additional information regarding copyright ownership. +~~ The ASF licenses this file to You under the Apache License, Version 2.0 +~~ (the "License"); you may not use this file except in compliance with +~~ the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, software +~~ distributed under the License is distributed on an "AS IS" BASIS, +~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +~~ See the License for the specific language governing permissions and +~~ limitations under the License. + ------ + log4j 1.2 + ------ + ------ + ------ + + Inserting log statements into your code is a low-tech method + for debugging it. It may also be the only way because + debuggers are not always available or applicable. This is + often the case for distributed applications. + + On the other hand, some people argue that log statements + pollute source code and decrease legibility. (We believe that + the contrary is true). In the Java language where a + preprocessor is not available, log statements increase the + size of the code and reduce its speed, even when logging is + turned off. Given that a reasonably sized application may + contain thousands of log statements, speed is of particular + importance. + + + With log4j it is possible to enable logging at runtime + without modifying the application binary. The log4j package is + designed so that these statements can remain in shipped code + without incurring a heavy performance cost. Logging behavior + can be controlled by editing a configuration file, without + touching the application binary. + + Logging equips the developer with detailed context for + application failures. On the other hand, testing provides + quality assurance and confidence in the application. Logging + and testing should not be confused. They are + complementary. When logging is wisely used, it can prove to be + an essential tool. + + One of the distinctive features of log4j is the notion of + inheritance in loggers. Using a logger + hierarchy it is possible to control which log + statements are output at arbitrarily fine granularity but also + great ease. This helps to reduce the volume of logged output and + the cost of logging. + + The target of the log output can be a file, an + OutputStream, a java.io.Writer, a + remote log4j server, a remote Unix Syslog daemon, or many other output targets. + + On an AMD Duron clocked at 800Mhz running JDK 1.3.1, it costs + about 5 nanoseconds to determine if a logging statement should + be logged or not. Actual logging is also quite fast, ranging + from 21 microseconds using the SimpleLayout, 37 + microseconds using the TTCCLayout. The performance of the + PatternLayout is almost as good as the dedicated layouts, + except that it is much more flexible. + + The package is being constantly improved thanks to input from + users and code contributed by authors in the community. diff --git a/thirdparty/apache-log4j-1.2.16/src/site/apt/publications.apt b/thirdparty/apache-log4j-1.2.16/src/site/apt/publications.apt new file mode 100644 index 00000000000..2a7b7989f67 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/site/apt/publications.apt @@ -0,0 +1,81 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one or more +~~ contributor license agreements. See the NOTICE file distributed with +~~ this work for additional information regarding copyright ownership. +~~ The ASF licenses this file to You under the Apache License, Version 2.0 +~~ (the "License"); you may not use this file except in compliance with +~~ the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, software +~~ distributed under the License is distributed on an "AS IS" BASIS, +~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +~~ See the License for the specific language governing permissions and +~~ limitations under the License. + ------ + log4j 1.2 Publications + ------ + ------ + ------ + + +Books + + * Ceki G\xFClc\xFC. 2004. The complete log4j manual. QoS.ch. {{{http://www.qos.ch/shop/products/eclm/}http://www.qos.ch/shop/products/eclm/}}. + + * Samudra Gupta. 2007. Pro Apache log4j, Second Edition. APress. + +Articles: + + * Vipan Singla. Don't Use System.out.println! Use Log4j. + {{{http://www.vipan.com/htdocs/log4jhelp.html}http://www.vipan.com/htdocs/log4jhelp.html}}. + + * Vikran Goyal. Build Flexible Logs With log4j. + {{{http://www.onjava.com/pub/a/onjava/2002/08/07/log4j.html}http://www.onjava.com/pub/a/onjava/2002/08/07/log4j.html}}. + + * Ashley J.S. Mills. Log4J. + {{{http://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/log4j/log4j.html}http://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/log4j/log4j.html}}. + + * Kevin Brown. Add logging to your Java Applications. + {{{http://www.builder.com.com/article.jhtml?id=u00820020124kev01.htm} + http://www.builder.com.com/article.jhtml?id=u00820020124kev01.htm}} + + * Kevin Brown. How does the Java logging API stack up against log4j? + {{{http://www.builder.com.com/article.jhtml?id=u00220020724kev01.htm} + http://www.builder.com.com/article.jhtml?id=u00220020724kev01.htm}}. + + * Michael Canzoneri. Log4J FAQ. {{{http://www.jguru.com/faq/Log4j}http://www.jguru.com/faq/Log4j}}. + + * Ceki G\xFClc\xFC. Think Again. + {{{http://www.qos.ch/logging/thinkAgain.html}http://www.qos.ch/logging/thinkAgain.html}}. + + * Ceki G\xFClc\xFC. Supporting the log4j RepositorySelector. + {{{http://www.qos.ch/logging/sc.html}http://www.qos.ch/logging/sc.html}}. + + * Ceki G\xFClc\xFC. Log4j delivers control over logging. + {{{http://www.javaworld.com/jw-11-2000/jw-1122-log4j.html}http://www.javaworld.com/jw-11-2000/jw-1122-log4j.html}}. + + * Vikram Goyal. Understanding Classloaders: log4j in a J2EE Environment. + {{{http://www.onjava.com/pub/a/onjava/2003/04/02/log4j_ejb.html}http://www.onjava.com/pub/a/onjava/2003/04/02/log4j_ejb.html}}. + + * Ruth Zamorano and Rafeal Luque. Instant logging: Harness the power of log4j with Jabber. + {{{http://www-106.ibm.com/developerworks/java/library/j-instlog/}http://www-106.ibm.com/developerworks/java/library/j-instlog/}}. + + * Matthew Litkey, Jay Galvin, and Marina Sum. + Developer Tip: Adding the log4j API to Applications on Sun Java System Application Server 7 + {{{http://developers.sun.com/prodtech/appserver/reference/techart/log4j.html}http://developers.sun.com/prodtech/appserver/reference/techart/log4j.html}}. + + * Sean C. Sullivan. Reporting Application Errors by Email. + {{{http://www.onjava.com/pub/a/onjava/2004/09/29/smtp-logging.html}http://www.onjava.com/pub/a/onjava/2004/09/29/smtp-logging.html}}. + + +Presentations: + + * John Munsch. Log4J In 30 Minutes Or Less. + {{{http://www.johnmunsch.com/projects/Presentations/}http://www.johnmunsch.com/projects/Presentations/}}. + + * Ceki G\xFClc\xFC. Log4j, a logging package for the Java language. + {{{http://www.qos.ch/ac2001/F11-10.html}http://www.qos.ch/ac2001/F11-10.html}}. + + * Brent Twenter. Log4j. {{{http://www.ociweb.com/javasig/knowledgebase/January2001/Log4J.ppt}http://www.ociweb.com/javasig/knowledgebase/January2001/Log4J.ppt}}. + \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/src/site/apt/index.apt b/thirdparty/apache-log4j-1.2.16/src/site/apt/roadmap.apt similarity index 66% rename from thirdparty/apache-log4j-extras-1.0/src/site/apt/index.apt rename to thirdparty/apache-log4j-1.2.16/src/site/apt/roadmap.apt index f3b40caf61c..afc6b380999 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/site/apt/index.apt +++ b/thirdparty/apache-log4j-1.2.16/src/site/apt/roadmap.apt @@ -13,17 +13,19 @@ ~~ See the License for the specific language governing permissions and ~~ limitations under the License. ------ - Apache Extras Companion for log4j 1.2 + Apache log4j 1.2 Roadmap ------ ------ ------ - This companion provides additional appenders, filters, formatters and other - components for log4j 1.2. These components have been built against log4j 1.2.9, - but will work with any later 1.2 release and are likely to work with 1.2.8 - and some earlier releases. - - Many of these components were original developed in the discontinued log4j 1.3 - development effort. - - \ No newline at end of file +Apache log4j 1.2 Roadmap + + Apache log4j 1.2 is mature and widely deployed. Significant + changes are unlikely. Bug fixes and maintenance releases are anticipated. + New features may still be added + either in log4j proper or more likely incorporated into + {{{http://logging.apache.org/log4j/companions/extras/index.html}extras}} + or one of the other companion products. + + + diff --git a/thirdparty/apache-log4j-1.2.16/src/site/fml/faq.fml b/thirdparty/apache-log4j-1.2.16/src/site/fml/faq.fml new file mode 100644 index 00000000000..3e716f91aaf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/site/fml/faq.fml @@ -0,0 +1,875 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<faqs title="Frequently Asked Technical Questions"> + <part id="faq"> + + <faq id="1.1"> + <question>What is log4j?</question> + <answer> <p>log4j is a tool to help the programmer output log statements to a + variety of output targets. + </p> + + <p>In case of problems with an application, it is helpful to + enable logging so that the problem can be located. With log4j + it is possible to enable logging at runtime without modifying + the application binary. The log4j package is designed so that + log statements can remain in <i>shipped</i> code without + incurring a high performance cost. It follows that the speed + of logging (or rather not logging) is capital. + </p> + + <p>At the same time, log output can be so voluminous that it quickly + becomes overwhelming. One of the distinctive features of log4j is the + notion of <i>hierarchical loggers</i>. Using loggers it is + possible to selectively control which log statements are output at + arbitrary granularity. + </p> + + <p>log4j is designed with three goals in mind: + reliability, speed and flexibility. There is a tight balance + between these requirements. We believe that log4j strikes the + right balance. + </p> +</answer> + </faq> + + + <faq id="1.2"><question>Is log4j a reliable logging system?</question> + <answer><p>No. log4j is not reliable. It is a best-effort + <em>fail-stop</em> logging system. + </p> + + <p>By fail-stop, we mean that log4j will not throw unexpected + exceptions at run-time potentially causing your application to + crash. <b>If for any reason, log4j throws an uncaught exception, + please send an email to the <a href="mailto:log4j-user@logging.apache.org">log4j-user@logging.apache.org</a> + mailing list</b>. Uncaught exceptions are handled as serious bugs + requiring immediate attention. + </p> + + <p>Moreover, log4j will not revert to System.out or System.err + when its designated output stream is not opened, is not writable or + becomes full. This avoids corrupting an otherwise working program by + flooding the user's terminal because logging fails. However, log4j + will output a single message to System.err indicating that logging can + not be performed. + </p></answer></faq> + + <faq id="1.3"><question>What are the prerequisites for log4j?</question> + <answer> + <p>Log4j 1.2.8 and earlier are compatible with JDK 1.1.x and later, later versions + of log4j 1.2 are compatible with JDK 1.2 and later. + </p> + + <p>The DOMConfigurator is based on the DOM Level 1 + API. The DOMConfigurator.configure(Element) method will work + with any XML parser that will pass it a DOM tree. + </p> + <p>The DOMConfigurator.configure(String filename) method and its + variants require a JAXP compatible XML parser, for example <a href="http://xml.apache.org/">Xerces</a> or Sun's + parser. Compiling the DOMConfigurator requires the presence of a + JAXP parser in the classpath. + </p> + + <p>The <code>org.apache.log4j.net.SMTPAppender</code> + relies on the <a href="http://java.sun.com/products/javamail/">JavaMail + API</a>. It has been tested with JavaMail API version + 1.2. The JavaMail API requires the <a href="http://java.sun.com/beans/glasgow/jaf.html">JavaBeans + Activation Framework</a> package. + </p> + + <p>The <code>org.apache.log4j.net.JMSAppender</code> + requires the presence of the JMS API as well as JNDI. + </p> + + <p>log4j test code relies on the <a href="http://www.junit.org">JUnit</a> testing framework. + </p> + </answer></faq> + + <faq id="1.4"><question>What are the features of log4j?</question> + <answer> + <p>log4j is optimized for speed.</p> + + <p>log4j is based on a named logger hierarchy.</p> + + <p>log4j is fail-stop. However, altough it certainly + strives to ensure delivery, log4j does not guarantee that + each log statement will be delivered to its destination. + </p> + + <p>log4j is thread-safe.</p> + + <p>log4j is not restricted to a predefined set of + facilities.</p> + + <p>Logging behavior can be set at runtime using a + configuration file. Configuration files can be property + files or in XML format. </p> + + <p>log4j is designed to handle Java Exceptions from the + start.</p> + + <p>log4j can direct its output to a file, the console, + an <code>java.io.OutputStream</code>, + <code>java.io.Writer</code>, a remote server using TCP, a + remote Unix Syslog daemon, to a remote listener using JMS, + to the NT EventLog or even send e-mail. </p> + + <p>log4j uses 6 levels, namely TRACE, DEBUG, INFO, WARN, ERROR and + FATAL. + </p> + + <p>The format of the log output can be easily changed by + extending the <code>Layout</code> + class. </p> + + <p>The target of the log output as well as the writing + strategy can be altered by implementations of the + <code>Appender</code> interface. </p> + + <p>log4j supports multiple output appenders per logger. + </p> + + <p>log4j supports internationalization.</p> + </answer></faq> + + <faq id="1.5"><question>Is there example code for using log4j?</question> + <answer> + <p>See the <code>examples/</code> directory.</p> + </answer> + </faq> + + <faq id="1.6"> + <question>What documentation should I read to learn more about + log4j?</question> + <answer><p>Make sure to read the <a href="manual.html">short + manual</a>. It is also recommended to you read <a href="https://www.qos.ch/shop/products/log4j/log4j-Manual.jsp">The complete + log4j manual</a> which is much more detailed and up to + date. Both documents were written by Ceki G&#xfc;lc&#xfc;. + </p></answer> + </faq> + + <faq id="1.7"><question>Is log4j thread-safe?</question> + <answer> + <p>Yes, log4j is thread-safe. Log4j components are designed to + be used in heavily multithreaded systems.</p> + + </answer></faq> + + <faq id="1.8"><question>What does log output look like?</question> + <answer> + <p>The log output can be customized in many ways. Moreover, + one can completely override the output format by implementing + one's own Layout. + </p> + + <p>Here is an example output using <em>PatternLayout</em> with + the conversion pattern <b>"%r [%t] %-5p %c{2} %x - %m%n"</b> + </p> + + <pre class="screen_output"> +176 [main] INFO examples.Sort - Populating an array of 2 elements in reverse order. +225 [main] INFO examples.SortAlgo - Entered the sort method. +262 [main] DEBUG SortAlgo.OUTER i=1 - Outer loop. +276 [main] DEBUG SortAlgo.SWAP i=1 j=0 - Swapping intArray[0] = 1 and intArray[1] = 0 +290 [main] DEBUG SortAlgo.OUTER i=0 - Outer loop. +304 [main] INFO SortAlgo.DUMP - Dump of interger array: +317 [main] INFO SortAlgo.DUMP - Element [0] = 0 +331 [main] INFO SortAlgo.DUMP - Element [1] = 1 +343 [main] INFO examples.Sort - The next log statement should be an error message. +346 [main] ERROR SortAlgo.DUMP - 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. + </pre> + + <p>The first field is the number of milliseconds elapsed since + the start of the program. The second field is the thread + outputting the log statement. The third field is the level of + the log statement. The fourth field is the rightmost two + components of the logger making the log request. The fifth + field (just before the '-') is the <em>nested diagnostic + context</em> (NDC). Note the nested diagnostic context may be + empty as in the first two statements. The text after the '-' + is the message of the statement. + </p> + </answer></faq> + + <faq id="1.9"><question>Why should I use log4j when JDK 1.4 already ships with a + logging API?</question> + <answer> + + <p> + Although both APIs are conceptually similar, the log4j API is + significantly more flexible and offers many more features, too + numerous to be listed here. You will discover that the + additional features and flexibility turn out to be + indispensable in the context of a mission-critical + application. + </p> + + <p>The open and collaborative way in which log4j is developped + ensures that it continues to preserve and even widen its + competitive edge. At some point, input from bright developers + from all over the world is bound to make a difference. + </p> + </answer> + </faq> + + + <faq id="2.1"><question>What are <em>Loggers</em>?</question> + <answer> + + <p>Lggers lie at the heart of log4j. Loggers define a hierarchy and give + the programmer <em>run-time</em> control on which statements are + printed or not. + </p> + + <p>Loggers are assigned levels. A log statement is printed + depending on its level <em>and</em> its logger. + </p> + + <p>Make sure to read the <a href="manual.html">log4j manual</a> + for more information. + </p> + </answer></faq> + +<faq id="2.2"><question>How can I change log behavior at runtime?</question> + <answer> + <p>Log behavior can be set using configuration files which are parsed + at runtime. Using configuration files the programmer can define + loggers and set their levels. + </p> + + <p>The <code>PropertyConfigurator</code> defines a particular format + of a configuration file. See also the <code>examples/Sort.java</code> + example and associated configuration files. + </p> + + <p>Configuration files can be specified in XML. See + <code>log4j.dtd</code> and + <code>org.log4j.xml.DOMConfigurator</code> for more details. + </p> + + <p>See the various Layout and Appender components for specific + configuration options. + </p> + + <p>In addition to configuration files, the user may disable all + messages belonging to a set of levels. See next item. + </p> + + </answer></faq> + + <faq id="2.3"><question>What is the fastest way of (not) logging?</question> + <answer> + <p> For some logger <code>l</code>, writing, + </p> + + <pre class="source"> + l.debug("Entry number: " + i + " is " + String.valueOf(entry[i])); + </pre> + + <p>incurs the cost of constructing the message parameter, that is + converting both integer <code>i</code> and <code>entry[i]</code> to a + String, and concatenating intermediate strings. This, regardless of + whether the message will be logged or not. + </p> + + <p>If you are worried about speed, then write</p> + <pre class="source"> + if(l.isDebugEnabled()) { + l.debug("Entry number: " + i + " is " + String.valueOf(entry[i])); + } + </pre> + <p>or using LogMF from the extras companion write</p> + <pre class="source"> + LogMF.debug(logger, "Entry number: {0} is {1}", i, entry[i]); + </pre> + + <p>This way you will not incur the cost of parameter + construction if debugging is disabled for logger + <code>l</code>. On the other hand, if the logger is debug + enabled, you will incur the cost of evaluating whether the + logger is enabled or not, twice: once in + <code>debugEnabled</code> and once in <code>debug</code>. + This is an insignificant overhead since evaluating a logger + takes less than 1% of the time it takes to actually log a + statement. + </p> +</answer></faq> + + <faq id="2.4"><question>Are there any suggested ways for naming loggers?</question> + <answer> + <p>Yes, there are.</p> + + <p>You can name loggers by <strong>locality</strong>. It turns out + that instantiating a logger in each class, with the logger name + equal to the fully-qualified name of the class, is a useful and + straightforward approach of defining loggers. This approach has + many benefits: + </p> + + <ul> + <li>It is very simple to implement.</li> + + <li>It is very simple to explain to new developers.</li> + + <li>It automatically mirrors your application's own modular design. + </li> + <li>It can be further refined at will.</li> + + <li>Printing the logger automatically gives information on the locality + of the log statement. </li> + </ul> + + <p>However, this is not the only way for naming loggers. A + common alternative is to name loggers by <strong>functional + areas</strong>. For example, the "database" logger, "RMI" + logger, "security" logger, or the "XML" logger. + </p> + + <p>You may choose to name loggers by functionality and + subcategorize by locality, as in "DATABASE.com.foo.some.package.someClass" or + "DATABASE.com.foo.some.other.package.someOtherClass". + </p> + + <p><em>You are totally free in choosing the names of your + loggers.</em> The log4j package merely allows you to manage your + names in a hierarchy. However, it is your responsibility to define + this hierarchy. + </p> + + <p>Note by naming loggers by locality one tends to name things by + functionality, since in most cases the locality relates closely to + functionality. + </p> + </answer></faq> + + <faq id="2.5"><question>How do I get the fully-qualified name of a class in a static block?</question> + <answer> + <p>You can easily retrieve the fully-qualified name of a class in a + static block for class X, with the statement + <code>X.class.getName()</code>. Note that <code>X</code> is the class + name and not an instance. The <code>X.class</code> statement does + <i>not</i> create a new instance of class <code>X</code>. + </p> + + <p>Here is the suggested usage template:</p> + + <pre class="source"> +package a.b.c; + +public class Foo { + final static Logger logger = Logger.getLogger(Foo.class); + ... other code + +} + </pre> + </answer></faq> + + <faq id="2.6"><question>Can the log output format be customized? </question> + <answer> + <p>Yes, you can extend the <code>Layout</code> class to create + you own customized log format. Appenders can be parameterized + to use the layout of your choice. + </p> +</answer></faq> + + <faq id="2.7"><question>What are the configurable options for <code>FooBarAppender</code>?</question> + <answer> + <p>Log4j uses JavaBeans style configuration.</p> + + <p>Thus, any setter method in <code>FooBarAppender</code> + corresponds to a configurable option. For example, in <a href="apidocs\org\apache\log4j\RollingFileAppender.html"><code>RollingFileAppender</code></a> + the <a href="apidocs/org/apache/log4j/RollingFileAppender.html#setMaxBackupIndex(int)"><code>setMaxBackupIndex(int + maxBackups)</code></a> method corresponds to the + <code>maxBackupIndex</code> option. The first letter of the + option can be upper case, i.e. <code>MaxBackupIndex</code> + and <code>maxBackupIndex</code> are equivalent but not + <code>MAXBACKUPIndex</code> nor <code>mAXBackupIndex</code>. + </p> + + <p>Layouts options are also defined by their setter methods. The same goes + for most other log4j components. + </p> + </answer></faq> + + <faq id="2.8"><question>What is the recommended way of migrating from + java.util.logging to log4j?</question> + <answer> + + <p>We suggest to just use global file search/replace. You should be able + to replace all the "java.util.Logger" references with + "org.apache.log4j.Logger", and you should be on your way. + </p> + + <p>If you're on a Win32 platform, we recommend <a href="http://www.textpad.com/">Textpad</a>. You can use the + CTRL+SHIFT+O to open all *.java files from a directory including all + its sub-directories, and then use the search/replace function to + replace in all files, and then CTRL+SHIFT+S to save all. Should take + about 60 seconds! :) + </p> + </answer></faq> + + <faq id="2.9"><question>Is it possible to direct log output to + different appenders by level? </question><answer> + <p>Yes it is. Setting the <b>Threshold</b> option of any appender + extending <a href="api/org/apache/log4j/AppenderSkeleton.html">AppenderSkeleton</a>, + (most log4j appenders extend AppenderSkeleton) to filter out all log + events with <em>lower</em> level than the value of the threshold + option. + </p> + + <p>For example, setting the threshold of an appender to DEBUG + also allow INFO, WARN, ERROR and FATAL messages to log along + with DEBUG messages. This is usually acceptable as there is + little use for DEBUG messages without the surrounding INFO, + WARN, ERROR and FATAL messages. Similarly, setting the + threshold of an appender to ERROR will filter out DEBUG, INFO + and WARN messages but not ERROR or FATAL messages. + </p> + + <p>This policy usually best encapsulates what the user + actually wants to do, as opposed to her mind-projected + solution. + </p> + <p>See <i>examples/sort4.lcf</i> for an example threshold + configuration.</p> + + <p>If you must filter events by exact level match, then you can + attach a <a href="apidocs/org/apache/log4j/varia/LevelMatchFilter.html">LevelMatchFilter</a> + to any appender to filter out logging events by exact level match. + </p> + </answer></faq> + + + <faq id="2.10"><question>What does the Windows NT Event Viewer complain about + missing descriptions for my event messages when I use the + <code>NTEventLogAppender</code>?</question> + + <answer> + <p>The NT Event Viewer relies on <i>message resource</i> DLLs + to properly view an event message. The NTEventLogAppender.dll + contains these message resources, but that DLL must be copied + to %SYSTEMROOT%\SYSTEM32 for it to work properly. + </p> + </answer></faq> + + <faq id="2.11"><question>Why can't I map my logger names to the loggers that + appear in the NT Event Log when I use the + NTEventLogAppender?</question> + + <answer> + <p>Unfotunately, the logger names are hardcoded within the + message resource DLL (see previous question about + NTEventLogAppender), so there isn't any easy way to override + those dynamically... in fact, I don't think it's possible to + do it, as you'd have to modify the DLL resources for every + application. Since most native applications don't use the + Logger column anyway... + </p> + </answer></faq> + + <faq id="2.12"><question>Are there suggested approaches for logging in JSP pages?</question> + <answer> + <p> + The suggested approach depends on your design requirements. If you or + your organization has no constraints on the use of Java in JSP pages, + simply use log4j normally in <code>&lt;% ... %&gt;</code> statements + as indicated in the Short Manual and the rest of the documentation. + </p> + <p> + However, if your design calls for a minimum amount of Java in your JSP + pages, consider using the + <a href="http://jakarta.apache.org/taglibs/doc/log-doc/intro.html">Log Taglib</a> + from the Jakarta Taglibs project. It provides logging JSP tags that invoke + log4j. + </p> + </answer> + </faq> + + <faq id="3.1"><question>Can the outputs of multiple client request go to + different log files?</question> + <answer> + <p>Many developers are confronted with the problem of + distinguishing the log output originating from the same class + but different client requests. They come up with ingenious + mechanisms to fan out the log output to different files. In + most cases, this is not the right approach. + </p> + + <p>It is simpler to use a nested diagnostic context + (NDC). Typically, one would <em>NDC.push()</em> client + specific information, such as the client's hostname, ID or any + other distinguishing information when starting to handle the + client's request. Thereafter, log output will automatically + include the nested diagnostic context so that you can + distinguish logs from different client requests even if they + are output to the same file. + </p> + + <p>See the <code>NDC</code> and the <code>PatternLayout</code> + classes for more information. The <code>NumberCruncher</code> + example shows how the NDC can be used to distinguish the log + output from multiple clients even if they share the same log + file. + </p> + + <p>For select applications, such as virtual hosting + web-servers, the NDC solution is not sufficient. As of version + 0.9.0, log4j supports multiple hierarchy trees. Thus, it is + possible to log to different targets from the same logger + depending on the current context. + </p> + </answer></faq> + + + <faq id="3.2"><question>Logger instances seem to be create only. Why isn't + there a method to remove logger instances?</question> + <answer> + <p>It is quite nontrivial to define the semantics of a + "removed" logger escecially if it is still referenced by the + user. Future releases <em>may</em> include a remove method in + the Logger class.</p></answer></faq> + + <faq id="3.3"><question>How do I get multiple process to log to the same file?</question> + <answer> + <p>You may have each process log to a + <a href="apidocs/org/apache/log4j/net/SocketAppender.html"><code>SocketAppender</code></a>. + The receiving + <a href="apidocs/org/apache/log4j/net/SocketServer.html"><code>SocketServer</code></a> + (or + <a href="apidocs/org/apache/log4j/net/SimpleSocketServer.html"><code>SimpleSocketServer</code></a>) + can receive all the events and send them to a single + log file. + </p> + </answer></faq> + + <faq id="3.4"><question>How about the timesamps of events generated by multiple + processes across multiple hosts (possibly across multiple + timezones)?</question> + <answer> + <p>The timestamp is created when the logging event is created. + That is so say, when the <code>debug</code>, + <code>info</code>, <code>warn</code>, <code>error</code> or + <code>fatal</code> method is invoked. Thus, the timestamp is + unaffected by the time at which event arrive at a remote + socket server. + </p> + + <p>Timestamps are stored in UTC format inside the + event. Consequently, when displayed or written to a log file, + timestamps appear in the same timezone as the host displaying + or creating the logfile. Note that because the clocks of + various machines may not be synchronized, there may be + timestamp inconsistencies between events generated on + different hosts. The EnhancedPatternLayout in the extras companion + supports explicit specification of the timezone using a pattern like + "%d{HH:mm}{GMT}". + </p> + </answer></faq> + + <faq id="3.5"><question>Why can't log4j find my properties file in a J2EE or WAR + application?</question><answer> + <p>The short answer: the log4j classes and the properties file + are not within the scope of the same classloader. + </p> + + <p>The long answer (and what to do about it): J2EE or Servlet + containers utilize Java's class loading system. Sun changed + the way classloading works with the release of Java 2. In + Java 2, classloaders are arranged in a hierarchial + parent-child relationship. When a child classloader needs to + find a class or a resource, it first delegates the request to + the parent. + </p> + + <p>Log4j only uses the default <code>Class.forName()</code> + mechanism for loading classes. Resources are handled + similarly. See the documentation for + <code>java.lang.ClassLoader</code> for more details. + </p> + + <p>So, if you're having problems, try loading the class or + resource yourself. If you can't find it, neither will + log4j. ;) + </p></answer></faq> + + + <faq id="3.6"><question>Is there a way to get log4j to automatically reload a + configuration file if it changes?</question><answer> + + <p>Yes. Both the DOMConfigurator and the PropertyConfigurator support + automatic reloading through the <code>configureAndWatch</code> method. + See the API documentation for more details. + </p> + + + <p>Because the <code>configureAndWatch</code> launches a + separate wathdog thread, and because there is no way to stop + this thread in log4j 1.2, the <code>configureAndWatch</code> + method is unsafe for use in J2EE envrironments where + applications are recycled. + </p></answer></faq> + + + <faq id="4.1"><question>Why should I donate my extensions to log4j back to the + project?</question><answer> + <p>Contrary to the GNU Public License (GPL) the Apache + Software License does not make any claims over your + extensions. By extensions, we mean totally new code that + invokes existing log4j classes. <em>You are free to do + whatever you wish with your proprietary log4j extensions.</em> + In particular, you may choose to never release your extensions + to the wider public. + </p> + + <p>We are very careful not to change the log4j client API so + that newer log4j releases are backward compatible with + previous versions. We are a lot less scrupulous with the + internal log4j API. Thus, if your extension is designed to + work with log4j version <code>n</code>, then when log4j + release version <code>n+1</code> comes out, you will probably + need to adapt your proprietary extensions to the new release. + </p> + + <p>Thus, you will be forced to spend precious resources in + order to keep up with log4j changes. This is commonly referred + to as the "stupid-tax." By donating the code and making it + part of the standard distribution, you save yourself the + unnecessary maintenance work. + </p> + + <p>If your extensions are useful then someone will eventually + write an extension providing the same or very similar + functionality. Your development effort will be wasted. Unless + the proprietary log4j extension is business critical, there is + little reason for not donating your extensions back to the + project. + </p></answer></faq> + + <faq id="4.2"><question>What should I keep in mind when contributing code?</question> + <answer> + <ol> + + <li> + <p>Write a test case for your contribution.</p> + + <p>There is nothing more irritating than finding the bugs + in debugging (i.e. logging) code. Writing a test case + takes some effort but is crucial for a widely used library + such as log4j. Writing a test case will go a long way in + earning you the respect of fellow developers. See the + tests/ directory for exiting test cases. + </p> + </li> + + + <li> + <p>Stick to the existing indentation style even if you hate it.</p> + + <p>Alternating between indentation styles makes it hard to + understand the source code. Make it a little harder on + yourself but easier on others. + </p> + + <p>Log4j has adopted a rather conservative approach by + following the <a href="http://java.sun.com/docs/codeconv/">Code Conventions + for the JavaTM Programming Language</a>. <b>We use 2 (two) + spaces for indentation and no tabs.</b> + </p> + </li> + + <li> + <p>Please do not both modify the code and change the + indentation in a single commit.</p> + + <p>If you change the code and reformat it at the same time + and then commit, the commit notification message will be + hard to read. It will contain many diffs associated with + the reformatting in addition to logical changes. + </p> + + <p>If you must reformat and change the code, then perform + each step separately. For example, reformat the code and + commit. Following that, you can change the logic and + commit. The two steps can be performed in the reverse + order just as well. You can first change the logic and + commit and only later reformat and commit. + </p> + + </li> + <li> + <p>Make every effort to stick to the JDK 1.1 API.</p> + + <p>One of the important advantages of log4j is its + compatibility with JDK 1.1.x. + </p> + </li> + + <li> + <p>Always keep it simple, small and fast when + possible.</p> + + <p>It's all about the application not about logging.</p> + </li> + + <li> + <p>Identify yourself as a contributor at the top of the + relevant file. + </p> + </li> + <li> + <p>Take responsibility for your code.</p> + + <p>Authoring software is very much like running a marathon. It + takes time and endurance. + </p> + </li> + <li> + <p>Did we mention sticking with the indentation style? </p> + </li> + <li><p>Did we mention writing test cases? </p> + </li> + + </ol> + </answer></faq> + + + <faq id="duplicate-messages"> + <question>Why am I getting multiple copies of messages in my log file?</question> + <answer> + <p>There are several reasons this can occur: + <ul> + <li>Repeated configuration of log4j: By default, each call to + PropertyConfigurator.configure or DOMConfigurator.configure is + culmulative. If your configuration file defines a file appender, + calling PropertyConfigurator.configure three times will create + three distinct instances and connect each of them to the specified logger.</li> + <li>Attaching the same appender to multiple loggers: if an appender is + attached to the root logger and child logger, then any message + sent to the child logger will go to the appender twice (unless + additivity is set to false).</li> + </ul></p> + </answer> + </faq> + <faq id="custom-level"> + <question>How do I add a custom level?</question> + <answer> + <p>It is possible, but rarely appropriate. The + request is commonly for a level named something like "audit" + that doesn't obviously fit in the progression "trace", "debug", + "info", "warn", "error" and "fatal". In that case, the request + for a level is really a request for a mechanism to specify + a different audience. The appropriate mechanism is to use a distinct + logger name (or tree) for "audit" related messages.</p> + </answer> + </faq> + + <faq id="unload"> + <question>Why does log4j throw a NullPointerException or + print a message about NOPLoggerRepository + when shutting down or restarting under Tomcat or during a shutdown + hook?</question> + <answer><p>Tomcat will, by default, + clear all static members when unloading classes, however + this process can trigger initialization of classes which may + then call a class that has been cleared resulting in a + NullPointerException or some undesirable behavior. + Bug <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40212">40212</a>) + describes the problem in detail and has a patch which at this writing + has not been applied to Tomcat. Glassfish had a similar problem + and accepted the patch.</p> + + <p>The following are recommended to avoid this problem: + <ol> + <li>Set the org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES + system property to false.</li> + <li>Apply the patch from bug <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40212">40212</a> + or upgrade to a version that has that patch applied.</li> + <li>Upgrade to log4j 1.2.16 or later to better defend against class loader attack + or provide a better diagnostic message when it does occur.</li> + </ol> + </p> + + <p>It is impossible for log4j to defend against all attacks on + its internal state by a class loader. There is a limit to + the defensive measures that will be incorporated.</p> + + <p>For more background, see bugs + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40212">40212</a>, + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41939">41939</a>, + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43867">43867</a>, + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40159">40159</a>, + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43181">43181</a>, + <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41316">41316</a> and + <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=37956">37956</a>. + </p> + </answer> + </faq> + <faq id="rfa"> + <question>Why isn't my rolling file appender properly rolling files or why does + logging events get written to the old log file?</question> + <answer>Most commonly this is due to multiple appenders attempting to + use the same file path and most likely by having multiple independent + instances of log4j read the same configuration file, however having the log file + open by another process (an editor, backup utility) can also interfere with rolling. + No provided file appender is reliable when multiple instances are writing to + the same file path and java.io provides no mechanism to coordinate writing + between JVM's.</answer> + </faq> + <faq id="noconfig"> + <question> + Why do I see a warning about "No appenders found for logger" and + "Please configure log4j properly"? + </question> + <answer> + This occurs when the default configuration files log4j.properties and + log4j.xml can not be found and the application performs no explicit configuration. + log4j uses Thread.getContextClassLoader().getResource() to locate the default + configuration files and does not directly check the file system. + Knowing the appropriate location to place log4j.properties or log4j.xml + requires understanding the search strategy of the class loader in use. + log4j does not provide a default configuration since output to the console + or to the file system may be prohibited in some environments. Also see + <a href="#a3.5">FAQ: Why can't log4j find my properties in a J2EE or WAR application?</a>. + </answer> + </faq> + <faq id="sysprops"> + <question>What system properties are checked by log4j?</question> + <answer> + <dl> + <dt>log4j.debug</dt> + <dd>If true, log4j will output internal debugging messages to the console.</dd> + <dt>log4j.defaultInitOverride</dt> + <dd>If true, log4j will not perform default initialization, + that is check for log4j.properties or log4j.xml, at the first logging request.</dd> + <dt>log4j.configuration</dt> + <dd>URL for default initialization configuration file.</dd> + <dt>log4j.configurationClass</dt> + <dd>Class name for configurator to process default initialization configuration file.</dd> + <dt>log4j.ignoreTCL</dt> + <dd>If true, the thread class loader will be ignored when loading classes.</dd> + </dl> + <p>The SMTPAppender may be influenced by mail.smtp and mail.smtps system properties.</p> + </answer> + </faq> + </part> +</faqs> diff --git a/thirdparty/apache-log4j-1.2.16/src/site/resources/css/site.css b/thirdparty/apache-log4j-1.2.16/src/site/resources/css/site.css new file mode 100644 index 00000000000..1e70f6cbcd0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/site/resources/css/site.css @@ -0,0 +1,17 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ diff --git a/thirdparty/apache-log4j-extras-1.0/src/site/resources/images/logo.jpg b/thirdparty/apache-log4j-1.2.16/src/site/resources/images/logo.jpg similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/site/resources/images/logo.jpg rename to thirdparty/apache-log4j-1.2.16/src/site/resources/images/logo.jpg diff --git a/thirdparty/apache-log4j-extras-1.0/src/site/resources/images/ls-logo.jpg b/thirdparty/apache-log4j-1.2.16/src/site/resources/images/ls-logo.jpg old mode 100644 new mode 100755 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/site/resources/images/ls-logo.jpg rename to thirdparty/apache-log4j-1.2.16/src/site/resources/images/ls-logo.jpg diff --git a/thirdparty/apache-log4j-1.2.16/src/site/resources/images/od.gif b/thirdparty/apache-log4j-1.2.16/src/site/resources/images/od.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f2326c84d5d60c25c8795185cc8a9433a1d8549 GIT binary patch literal 5741 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 literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/src/site/site.xml b/thirdparty/apache-log4j-1.2.16/src/site/site.xml new file mode 100644 index 00000000000..69a565a5b3d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/site/site.xml @@ -0,0 +1,76 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<project name="Apache log4j 1.2"> + <bannerLeft> + <name>Apache Logging Services Project</name> + <src>images/ls-logo.jpg</src> + <href>http://logging.apache.org/</href> + </bannerLeft> + <bannerRight> + <name>Apache log4j</name> + <src>images/logo.jpg</src> + <href>http://logging.apache.org/log4j</href> + </bannerRight> + <body> + <breadcrumbs> + <item name="Apache" href="http://www.apache.org/"/> + <item name="Logging Services" href="http://logging.apache.org/"/> + <item name="log4j" href="http://logging.apache.org/log4j/"/> + <item name="1.2" href="http://logging.apache.org:80/log4j/1.2/"/> + </breadcrumbs> + + <menu name="Get log4j 1.2"> + <item name="Download" href="/download.html"/> + <item name="Changes" href="/changes-report.html"/> + <item name="License" href="/license.html"/> + </menu> + + <menu name="About log4j 1.2"> + <item name="What is log4j?" href="/index.html"/> + <item name="FAQ" href="/faq.html"/> + <item name="Roadmap" href="/roadmap.html"/> + </menu> + + <menu name="Community"> + <item name="Mailing Lists" href="/mail-lists.html"/> + <item name="Issue Tracking" href="/issue-tracking.html"/> + </menu> + + <menu name="Development"> + <item name="Repository" href="/source-repository.html"/> + <item name="Cross Reference" href="/jxr.html"/> + <item name="Dependencies" href="/dependencies.html"/> + <item name="Continuous Integration" href="/integration.html"/> + </menu> + + <menu name="Documentation"> + <item name="Introduction" href="/manual.html"/> + <item name="JavaDoc" href="/apidocs/index.html"/> + <item name="Publications" href="/publications.html"/> + <item name="Wiki" href="http://wiki.apache.org/logging-log4j"/> + </menu> + + <menu name="Apache"> + <item name="Home" href="http://www.apache.org"/> + <item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html"/> + <item name="Thanks" href="http://www.apache.org/foundation/thanks.html"/> + <item name="Conferences" href="http://www.apachecon.com"/> + </menu> + + </body> +</project> diff --git a/thirdparty/apache-log4j-1.2.16/src/site/xdoc/manual.xml b/thirdparty/apache-log4j-1.2.16/src/site/xdoc/manual.xml new file mode 100644 index 00000000000..75a50ba6e07 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/src/site/xdoc/manual.xml @@ -0,0 +1,1239 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<document> + + <properties> + <author email="not@disclosed">Ceki G&#xfc;lc&#xfc;</author> + <title>Short introduction to log4j</title> + </properties> + <body> +<section name="Short introduction to log4j: Ceki G&#xfc;lc&#xfc;, March 2002"> + <p> + Copyright &#xa9; 2000-2002 The Apache Software Foundation. All + rights reserved. This software is published under the terms of + the Apache Software License version 2.0, a copy of which has + been included in the LICENSE file shipped with the log4j + distribution. This document is based on the article <a + href="http://www.javaworld.com/jw-11-2000/jw-1122-log4j.html">"Log4j + delivers control over logging"</a> published in November 2000 + edition of JavaWorld. However, the present article contains more + detailed and up to date information. The present short manual + also borrows some text from <a + href="https://www.qos.ch/shop/products/eclm/">"<em>The + complete log4j manual</em>"</a> by the same author (yours + truly).</p> + +<h2>Abstract</h2> + +<p>This document describes the log4j API, its unique features and +design rationale. Log4j is an open source project based on the work of +many authors. It allows the developer to control which log statements +are output with arbitrary granularity. It is fully configurable at +runtime using external configuration files. Best of all, log4j has a +gentle learning curve. Beware: judging from user feedback, it is also +quite addictive.</p> + +<h2>Introduction</h2> + +<p>Almost every large application includes its own logging or tracing +API. In conformance with this rule, the E.U. <a +href="http://www.semper.org">SEMPER</a> project decided to write its +own tracing API. This was in early 1996. After countless enhancements, +several incarnations and much work that API has evolved to become +log4j, a popular logging package for Java. The package is distributed +under the <a href="../LICENSE">Apache Software License</a>, a +fully-fledged open source license certified by the <a +href="http://www.opensource.org">open source</a> initiative. The +latest log4j version, including full-source code, class files and +documentation can be found at <a +href="http://logging.apache.org/log4j/"><b>http://logging.apache.org/log4j/</b></a>. +By the way, log4j has been ported to the C, C++, C#, Perl, Python, +Ruby, and Eiffel languages.</p> + +<p>Inserting log statements into code is a low-tech method for +debugging it. It may also be the only way because debuggers are not +always available or applicable. This is usually the case for +multithreaded applications and distributed applications at large.</p> + +<p>Experience indicates that logging was an important component of the +development cycle. It offers several advantages. It provides precise +<em>context</em> about a run of the application. Once inserted into +the code, the generation of logging output requires no human +intervention. Moreover, log output can be saved in persistent medium +to be studied at a later time. In addition to its use in the +development cycle, a sufficiently rich logging package can also be +viewed as an auditing tool.</p> + +<p>As Brian W. Kernighan and Rob Pike put it in their truly excellent +book <i>"The Practice of Programming"</i> +<pre> + As personal choice, we tend not to use debuggers beyond getting a + stack trace or the value of a variable or two. One reason is that it + is easy to get lost in details of complicated data structures and + control flow; we find stepping through a program less productive + than thinking harder and adding output statements and self-checking + code at critical places. Clicking over statements takes longer than + scanning the output of judiciously-placed displays. It takes less + time to decide where to put print statements than to single-step to + the critical section of code, even assuming we know where that + is. More important, debugging statements stay with the program; + debugging sessions are transient. +</pre></p> + +<p>Logging does have its drawbacks. It can slow down an +application. If too verbose, it can cause scrolling blindness. To +alleviate these concerns, log4j is designed to be reliable, fast and +extensible. Since logging is rarely the main focus of an application, +the log4j API strives to be simple to understand and to use.</p> + +<h2>Loggers, Appenders and Layouts</h2> + +<p>Log4j has three main components: <em>loggers</em>, +<em>appenders</em> and <em>layouts</em>. These three types of +components work together to enable developers to log messages according +to message type and level, and to control at runtime how these +messages are formatted and where they are reported.</p> + +<h3>Logger hierarchy</h3> + +<p>The first and foremost advantage of any logging API over plain +<code>System.out.println</code> resides in its ability to disable +certain log statements while allowing others to print unhindered. This +capability assumes that the logging space, that is, the space of all +possible logging statements, is categorized according to some +developer-chosen criteria. This observation had previously led us to +choose <em>category</em> as the central concept of the +package. However, since log4j version 1.2, <code>Logger</code> class +has replaced the <code>Category</code> class. For those familiar with +earlier versions of log4j, the <code>Logger</code> class can be +considered as a mere alias to the <code>Category</code> class.</p> + +<p>Loggers are named entities. Logger names are case-sensitive and +they follow the hierarchical naming rule:</p> + +<p> +<table bgcolor="#EEEE99"> + <tr> + <td> + <dl> + <dt><b>Named Hierarchy</b></dt> + + <dd>A logger is said to be an <em>ancestor</em> of another + logger if its name followed by a dot is a prefix of the + <em>descendant</em> logger name. A logger is said to be a + <em>parent</em> of a <em>child</em> logger if there are no + ancestors between itself and the descendant logger.</dd> + + + </dl> +</td></tr></table></p> + + +<p>For example, the logger named <code>"com.foo"</code> is a parent +of the logger named <code>"com.foo.Bar"</code>. Similarly, +<code>"java"</code> is a parent of <code>"java.util"</code> and an +ancestor of <code>"java.util.Vector"</code>. This naming scheme +should be familiar to most developers.</p> + +<p>The root logger resides at the top of the logger hierarchy. It +is exceptional in two ways: + +<ol> +<li> it always exists,</li> +<li> it cannot be retrieved by name.</li> +</ol></p> +<p>Invoking the class static <a +href="apidocs/org/apache/log4j/Logger.html#getRootLogger()">Logger.getRootLogger</a> +method retrieves it. All other loggers are instantiated and +retrieved with the class static <a +href="apidocs/org/apache/log4j/Logger.html#getLogger()">Logger.getLogger</a> +method. This method takes the name of the desired logger as a +parameter. Some of the basic methods in the Logger class are listed +below.</p> + +<p><table> +<tr bgcolor="CCCCCC"> +<td> +<pre> + package org.apache.log4j; + + public class <b>Logger</b> { + + // Creation &amp; retrieval methods: + public static Logger getRootLogger(); + public static Logger getLogger(String name); + + // printing methods: + public void trace(Object message); + public void debug(Object message); + public void info(Object message); + public void warn(Object message); + public void error(Object message); + public void fatal(Object message); + + // generic printing method: + public void log(Level l, Object message); +} +</pre> +</td> +</tr> +</table></p> + +<p>Loggers <em>may</em> be assigned levels. The set of possible +levels, that is:<br/><br/> + +<a href="apidocs/org/apache/log4j/Level.html#TRACE">TRACE</a>,<br/> +<a href="apidocs/org/apache/log4j/Level.html#DEBUG">DEBUG</a>,<br/> +<a href="apidocs/org/apache/log4j/Level.html#INFO">INFO</a>,<br/> +<a href="apidocs/org/apache/log4j/Level.html#WARN">WARN</a>,<br/> +<a href="apidocs/org/apache/log4j/Level.html#ERROR">ERROR</a> and<br/> +<a href="apidocs/org/apache/log4j/Level.html#FATAL">FATAL</a><br/> +<br/> + +are defined in the <code><a +href="apidocs/org/apache/log4j/Level.html">org.apache.log4j.Level</a></code> +class. Although we do not encourage you to do so, you may define +your own levels by sub-classing the <code>Level</code> class. A +perhaps better approach will be explained later on.</p> + +<p>If a given logger is not assigned a level, then it inherits +one from its closest ancestor with an assigned level. More +formally:</p> + + +<p> +<table bgcolor="#EEEE99"> + <tr> + <td> + <dl> + <dt><b>Level Inheritance</b></dt> + + <dd><p>The <em>inherited level</em> for a given logger +<i>C</i>, is equal to the first non-null level in the logger +hierarchy, starting at <i>C</i> and proceeding upwards in the +hierarchy towards the <code>root</code> logger.</p></dd> + + </dl> + </td> + </tr> +</table></p> + +<p>To ensure that all loggers can eventually inherit a level, +the root logger always has an assigned level.</p> + +<p>Below are four tables with various assigned level values and the +resulting inherited levels according to the above rule.</p> + +<p> +<table border="1" > + <tr><th>Logger<br/>name</th><th>Assigned<br/>level</th> + <th>Inherited<br/>level</th></tr> + <tr align="left"><td>root</td> <td>Proot</td> <td>Proot</td></tr> + <tr align="left"><td>X </td> <td>none</td> <td>Proot</td></tr> + <tr align="left"><td>X.Y </td> <td>none</td> <td>Proot</td></tr> + <tr align="left"><td>X.Y.Z</td> <td>none</td> <td>Proot</td></tr> + <caption align="bottom">Example 1</caption> +</table></p> + +<p>In example 1 above, only the root logger is assigned a +level. This level value, <code>Proot</code>, is inherited by the +other loggers <code>X</code>, <code>X.Y</code> and +<code>X.Y.Z</code>.</p> + + +<p> +<table border="1"> + <tr><th>Logger<br/>name</th><th>Assigned<br/>level</th> + <th>Inherited<br/>level</th></tr> + <tr align="left"><td>root</td> <td>Proot</td> <td>Proot</td></tr> + <tr align="left"><td>X </td> <td>Px</td> <td>Px</td></tr> + <tr align="left"><td>X.Y </td> <td>Pxy</td> <td>Pxy</td></tr> + <tr align="left"><td>X.Y.Z</td> <td>Pxyz</td> <td>Pxyz</td></tr> + <caption align="bottom">Example 2</caption> + </table></p> + +<p>In example 2, all loggers have an assigned level value. There +is no need for level inheritence.</p> + +<p><table border="1"> + <tr><th>Logger<br/>name</th><th>Assigned<br/>level</th> + <th>Inherited<br/>level</th></tr> + <tr align="left"><td>root</td> <td>Proot</td> <td>Proot</td></tr> + <tr align="left"><td>X </td> <td>Px</td> <td>Px</td></tr> + <tr align="left"><td>X.Y </td> <td>none</td> <td>Px</td></tr> + <tr align="left"><td>X.Y.Z</td> <td>Pxyz</td> <td>Pxyz</td></tr> + <caption align="bottom">Example 3</caption> +</table></p> + +<p>In example 3, the loggers <code>root</code>, <code>X</code> and +<code>X.Y.Z</code> are assigned the levels <code>Proot</code>, +<code>Px</code> and <code>Pxyz</code> respectively. The logger +<code>X.Y</code> inherits its level value from its parent +<code>X</code>.</p> + +<table border="1"> + <tr><th>Logger<br/>name</th><th>Assigned<br/>level</th> + <th>Inherited<br/>level</th></tr> + <tr align="left"><td>root</td> <td>Proot</td> <td>Proot</td></tr> + <tr align="left"><td>X </td> <td>Px</td> <td>Px</td></tr> + <tr align="left"><td>X.Y </td> <td>none</td> <td>Px</td></tr> + <tr align="left"><td>X.Y.Z</td> <td>none</td> <td>Px</td></tr> + <caption align="bottom">Example 4</caption> +</table> + +<p>In example 4, the loggers <code>root</code> and <code>X</code> +and are assigned the levels <code>Proot</code> and <code>Px</code> +respectively. The loggers <code>X.Y</code> and <code>X.Y.Z</code> +inherits their level value from their nearest parent <code>X</code> +having an assigned level..</p> + + +<p>Logging requests are made by invoking one of the printing methods +of a logger instance. These printing methods are + +<code> +<a href="apidocs/org/apache/log4j/Logger.html#debug(java.lang.Object)">debug</a>, + +<a href="apidocs/org/apache/log4j/Logger.html#info(java.lang.Object)">info</a>, + +<a href="apidocs/org/apache/log4j/Logger.html#warn(java.lang.Object)">warn</a>, +<a href="apidocs/org/apache/log4j//Logger.html#error(java.lang.Object)">error</a>, +<a href="apidocs/org/apache/log4j/Logger.html#fatal(java.lang.Object)">fatal</a> + and <a href="apidocs/org/apache/log4j/Logger.html#log(org.apache.log4j.Level, java.lang.Object)">log</a></code>.</p> + + +<p>By definition, the printing method determines the level of a +logging request. For example, if <code>c</code> is a logger +instance, then the statement <code>c.info("..")</code> is a logging +request of level INFO.</p> + +<p>A logging request is said to be <em>enabled</em> if its level is +higher than or equal to the level of its logger. Otherwise, the +request is said to be <em>disabled</em>. A logger without an +assigned level will inherit one from the hierarchy. This rule is +summarized below.</p> + + +<p> +<a name="selectionRule"/><table bgcolor="#EEEE99"> + <tr> + <td> + <dl> + <dt><b>Basic Selection Rule</b></dt> + + <dd><p>A log request of level <i>p</i> in a logger with + (either assigned or inherited, whichever is appropriate) level <i>q</i>, is enabled if <i> p &gt;= + q</i>.</p></dd> + </dl> +</td></tr></table></p> + +<p>This rule is at the heart of log4j. It assumes that levels are +ordered. For the standard levels, we have <code>DEBUG &lt; INFO +&lt; WARN &lt; ERROR &lt; FATAL</code>.</p> + +<p>Here is an example of this rule.</p> + +<p><table bgcolor="CCCCCC"> +<tr><td> +<pre> + + // get a logger instance named "com.foo" + Logger logger = Logger.getLogger(<strong>"com.foo"</strong>); + + // Now set its level. Normally you do not need to set the + // level of a logger programmatically. This is usually done + // in configuration files. + <strong>logger</strong>.setLevel(<font + color="0000AA"><strong>Level.INFO</strong></font>); + + Logger barlogger = Logger.getLogger(<strong>"com.foo.Bar"</strong>); + + // This request is enabled, because <font color="00AA00"><strong>WARN</strong></font> &gt;= <font color="0000AA"><strong>INFO</strong></font>. + logger.<font color="00AA00"><strong>warn</strong></font>("Low fuel level."); + + // This request is disabled, because <font color="00AA00"><strong>DEBUG</strong></font> &lt; <font color="0000AA"><strong>INFO</strong></font>. + logger.<font color="00AA00"><strong>debug</strong></font>("Starting search for nearest gas station."); + + // The logger instance barlogger, named "com.foo.Bar", + // will inherit its level from the logger named + // "com.foo" Thus, the following request is enabled + // because <font color="00AA00"><strong>INFO</strong></font> &gt;= <font color="0000AA"><strong>INFO</strong></font>. + barlogger.<font color="00AA00"><strong>info</strong></font>("Located nearest gas station."); + + // This request is disabled, because <font color="00AA00"><strong>DEBUG</strong></font> &lt; <font color="0000AA"><strong>INFO</strong></font>. + barlogger.<font color="00AA00"><strong>debug</strong></font>("Exiting gas station search"); +</pre> +</td></tr> +</table></p> + +<p>Calling the <code>getLogger</code> method with the same name will +always return a reference to the exact same logger object.</p> + +<p>For example, in + +<table bgcolor="CCCCCC"> +<tr><td> +<pre> + Logger x = Logger.getLogger("wombat"); + Logger y = Logger.getLogger("wombat");</pre> +</td></tr> +</table> +<code>x</code> and <code>y</code> refer to <em>exactly</em> the same +logger object.</p> + +<p>Thus, it is possible to configure a logger and then to retrieve +the same instance somewhere else in the code without passing around +references. In fundamental contradiction to biological parenthood, +where parents always preceed their children, log4j loggers can be +created and configured in any order. In particular, a "parent" +logger will find and link to its descendants even if it is +instantiated after them.</p> + +<p>Configuration of the log4j environment is typically done at +application initialization. The preferred way is by reading a +configuration file. This approach will be discussed shortly.</p> + +<p>Log4j makes it easy to name loggers by <em>software +component</em>. This can be accomplished by statically instantiating +a logger in each class, with the logger name equal to the fully +qualified name of the class. This is a useful and straightforward +method of defining loggers. As the log output bears the name of the +generating logger, this naming strategy makes it easy to identify +the origin of a log message. However, this is only one possible, +albeit common, strategy for naming loggers. Log4j does not restrict +the possible set of loggers. The developer is free to name the +loggers as desired.</p> + +<p>Nevertheless, naming loggers after the class where they are +located seems to be the best strategy known so far.</p> + +<h2>Appenders and Layouts</h2> + +<p>The ability to selectively enable or disable logging requests based +on their logger is only part of the picture. Log4j allows logging +requests to print to multiple destinations. In log4j speak, an output +destination is called an <em>appender</em>. Currently, appenders exist +for the <a href="apidocs/org/apache/log4j/ConsoleAppender.html">console</a>, <a +href="apidocs/org/apache/log4j/FileAppender.html">files</a>, GUI +components, <a +href="apidocs/org/apache/log4j/net/SocketAppender.html">remote socket</a> +servers, <a +href="apidocs/org/apache/log4j/net/JMSAppender.html">JMS</a>, + +<a href="apidocs/org/apache/log4j/nt/NTEventLogAppender.html"> NT +Event Loggers</a>, and remote UNIX <a +href="apidocs/org/apache/log4j/net/SyslogAppender.html">Syslog</a> +daemons. It is also possible to log <a href="apidocs/org/apache/log4j/AsyncAppender.html">asynchronously</a>.</p> + +<p>More than one appender can be attached to a logger.</p> + +<p>The <a +href="apidocs/org/apache/log4j/Logger.html#addAppender(org.apache.log4j.Appender)">addAppender</a> +method adds an appender to a given logger. + +<b>Each enabled logging +request for a given logger will be forwarded to all the appenders in +that logger as well as the appenders higher in the hierarchy.</b> In +other words, appenders are inherited additively from the logger +hierarchy. For example, if a console appender is added to the root +logger, then all enabled logging requests will at least print on the +console. If in addition a file appender is added to a logger, say +<em>C</em>, then enabled logging requests for <em>C</em> and +<em>C</em>'s children will print on a file <em>and</em> on the +console. It is possible to override this default behavior so that +appender accumulation is no longer additive by <a +href="apidocs/org/apache/log4j/Logger.html#setAdditivity(boolean)">setting +the additivity flag</a> to <code>false</code>.</p> + +<p>The rules governing appender additivity are summarized below.</p> + +<p> +<a name="additivity"/><table bgcolor="#EEEE99"> + <tr> + <td> + <dl> + <dt><b>Appender Additivity</b></dt> + + <dd><p>The output of a log statement of logger <i>C</i> will + go to all the appenders in <i>C</i> and its ancestors. This is + the meaning of the term "appender additivity".</p> + + <p>However, if an ancestor of logger <i>C</i>, say <i>P</i>, + has the additivity flag set to <code>false</code>, then + <i>C</i>'s output will be directed to all the appenders in + <i>C</i> and its ancestors upto and including <i>P</i> but + not the appenders in any of the ancestors of <i>P</i>.</p> + + <p>Loggers have their additivity flag set to + <code>true</code> by default.</p></dd> + </dl></td></tr> +</table></p> + + +<p>The table below shows an example:</p> + +<p><table align="center" border="3" cellpadding="10"> + <tr rowspan="2"> + <th>Logger<br/>Name </th><th>Added<br/>Appenders</th> <th>Additivity<br/>Flag</th> <th>Output Targets</th> <th>Comment</th> + </tr> +<tr><td>root </td><td>A1 </td><td>not applicable </td><td>A1</td> + + <td>The root logger is anonymous but can be accessed with the + Logger.getRootLogger() method. There is no default appender + attached to root.</td></tr> + +<tr><td>x </td><td>A-x1, A-x2 </td><td>true </td><td>A1, A-x1, A-x2</td> + <td>Appenders of "x" and root.</td></tr> + +<tr><td>x.y </td><td>none </td><td>true </td><td>A1, A-x1, A-x2</td> + <td>Appenders of "x" and root.</td></tr> + +<tr><td>x.y.z </td><td>A-xyz1 </td><td>true </td><td>A1, A-x1, A-x2, A-xyz1</td> + <td>Appenders in "x.y.z", "x" and root.</td></tr> + +<tr><td>security </td><td>A-sec </td><td><font color="blue">false</font></td> + <td>A-sec</td> + + <td>No appender accumulation since the additivity flag is set to + <code>false</code>.</td></tr> + +<tr><td>security.access </td><td>none </td><td> true </td><td> A-sec </td><td>Only + appenders of "security" because the additivity flag in "security" is + set to <code>false</code>.</td></tr> + +</table> + + +<p>More often than not, users wish to customize not only the output +destination but also the output format. This is accomplished by +associating a <em>layout</em> with an appender. The layout is +responsible for formatting the logging request according to the user's +wishes, whereas an appender takes care of sending the formatted output +to its destination.</p> + +The <a +href="apidocs/org/apache/log4j/PatternLayout.html">PatternLayout</a>, part +of the standard log4j distribution, lets the user specify the output +format according to conversion patterns similar to the C language +<code>printf</code> function.</p> + +<p>For example, the PatternLayout with the conversion pattern "%r [%t] +%-5p %c - %m%n" will output something akin to:<br/> + +<pre> +176 [main] INFO org.foo.Bar - Located nearest gas station. +</pre></p> + +<p>The first field is the number of milliseconds elapsed since the +start of the program. The second field is the thread making the log +request. The third field is the level of the log statement. The +fourth field is the name of the logger associated with the log +request. The text after the '-' is the message of the statement.</p> + +<p>Just as importantly, log4j will render the content of the log +message according to user specified criteria. For example, if you +frequently need to log <code>Oranges</code>, an object type used in +your current project, then you can register an +<code>OrangeRenderer</code> that will be invoked whenever an orange +needs to be logged.</p> + +<p>Object rendering follows the class hierarchy. For example, assuming +oranges are fruits, if you register a <code>FruitRenderer</code>, all +fruits including oranges will be rendered by the +<code>FruitRenderer</code>, unless of course you registered an orange +specific <code>OrangeRenderer</code>.</p> + +<p>Object renderers have to implement the +<a href="apidocs/org/apache/log4j/or/ObjectRenderer.html">ObjectRenderer</a> +interface.</p> + + +<h2>Configuration</h2> + +<p>Inserting log requests into the application code requires a fair +amount of planning and effort. Observation shows that approximately 4 +percent of code is dedicated to logging. Consequently, even moderately +sized applications will have thousands of logging statements embedded +within their code. Given their number, it becomes imperative to +manage these log statements without the need to modify them manually.</p> + +<p>The log4j environment is fully configurable programmatically. +However, it is far more flexible to configure log4j using +configuration files. Currently, configuration files can be written in +XML or in Java properties (key=value) format.</p> + +<p>Let us give a taste of how this is done with the help of an +imaginary application <code>MyApp</code> that uses log4j.</p> + +<p><table bgcolor="CCCCCC"><tr><td> +<pre> + import com.foo.Bar; + + // Import log4j classes. + <b>import org.apache.log4j.Logger; + import org.apache.log4j.BasicConfigurator;</b> + + public class MyApp { + + // Define a static logger variable so that it references the + // Logger instance named "MyApp". + <strong>static</strong> Logger logger = <strong>Logger.getLogger(MyApp.class);</strong> + + public static void main(String[] args) { + + // Set up a simple configuration that logs on the console. + <strong>BasicConfigurator.configure();</strong> + + logger.info("Entering application."); + Bar bar = new Bar(); + bar.doIt(); + logger.info("Exiting application."); + } + } +</pre> +</td></tr> +</table></p> + +<p><code>MyApp</code> begins by importing log4j related classes. It +then defines a static logger variable with the name +<code>MyApp</code> which happens to be the fully qualified name of the +class.</p> + +<p><code>MyApp</code> uses the <code>Bar</code> class defined in the +package <code>com.foo</code>.</p> + +<p><table bgcolor="CCCCCC"><tr><td> +<pre> + <b>package com.foo;</b> + import org.apache.log4j.Logger; + + public class Bar { + <strong>static</strong> Logger logger = <strong>Logger.getLogger(Bar.class);</strong> + + public void doIt() { + logger.debug("Did it again!"); + } + } +</pre> +</td></tr> +</table></p> + +<p>The invocation of the <a +href="apidocs/org/apache/log4j/BasicConfigurator.html#configure()">BasicConfigurator.configure</a> +method creates a rather simple log4j setup. This method is hardwired +to add to the root logger a <a +href="apidocs/org/apache/log4j/ConsoleAppender.html"> +ConsoleAppender</a>. The output will be formatted using a <a +href="apidocs/org/apache/log4j/PatternLayout.html">PatternLayout</a> set +to the pattern "%-4r [%t] %-5p %c %x - %m%n".</p> + +<p>Note that by default, the root logger is assigned to +<code>Level.DEBUG</code>.</p> + +<p>The output of MyApp is: +<pre> +0 [main] INFO MyApp - Entering application. +36 [main] DEBUG com.foo.Bar - Did it again! +51 [main] INFO MyApp - Exiting application. +</pre></p> + +<p>The figure below depicts the object diagram of <code>MyApp</code> +after just having called the <code>BasicConfigurator.configure</code> +method.</p> + +<p> +<center> +<img src="images/od.gif" align="center" /> +</center></p> + +<p>As a side note, let me mention that in log4j child loggers link +only to their existing ancestors. In particular, the logger named +<code>com.foo.Bar</code> is linked directly to the <code>root</code> +logger, thereby circumventing the unused <code>com</code> or +<code>com.foo</code> loggers. This significantly increases +performance and reduces log4j's memory footprint.</p> + + +<p>The <code>MyApp</code> class configures log4j by invoking +<code>BasicConfigurator.configure</code> method. Other classes only +need to import the <code>org.apache.log4j.Logger</code> class, +retrieve the loggers they wish to use, and log away.</p> + +<p>The previous example always outputs the same log information. +Fortunately, it is easy to modify <code>MyApp</code> so that the log +output can be controlled at run-time. Here is a slightly modified +version.</p> + +<p><table bgcolor="CCCCCC"><tr><td> +<pre> + import com.foo.Bar; + + import org.apache.log4j.Logger; + <b>import org.apache.log4j.PropertyConfigurator;</b> + + public class MyApp { + + static Logger logger = Logger.getLogger(MyApp.class.getName()); + + public static void main(String[] args) { + + + // BasicConfigurator replaced with PropertyConfigurator. + <strong>PropertyConfigurator.configure(args[0]);</strong> + + logger.info("Entering application."); + Bar bar = new Bar(); + bar.doIt(); + logger.info("Exiting application."); + } + } +</pre> +</td></tr> +</table> + +<p>This version of <code>MyApp</code> instructs +<code>PropertyConfigurator</code> to parse a configuration file and +set up logging accordingly.</p> + +<p>Here is a sample configuration file that results in identical +output as the previous <code>BasicConfigurator</code> based example.</p> + +<p><table bgcolor="CCAAAA"><tr><td> +<pre> +# Set root logger level to DEBUG and its only appender to A1. +log4j.rootLogger=DEBUG, A1 + +# A1 is set to be a ConsoleAppender. +log4j.appender.A1=org.apache.log4j.ConsoleAppender + +# A1 uses PatternLayout. +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n +</pre> +</td></tr></table></p> +<!-- <p>Please note that if you copy and paste the examples, then result is +likely to include trailing spaces on some lines. These trailing spaces +are not trimmed out but interpreted by the PropertyConfigurator. By +the time you read this article the problem should be corrected. +--> + +<p>Suppose we are no longer interested in seeing the output of any +component belonging to the <code>com.foo</code> package. The following +configuration file shows one possible way of achieving this.</p> + +<p><table bgcolor="CCAAAA"><tr><td> +<pre> +log4j.rootLogger=DEBUG, A1 +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout + +# <strong>Print the date in ISO 8601 format</strong> +log4j.appender.A1.layout.ConversionPattern=<strong>%d</strong> [%t] %-5p %c - %m%n + +# Print only messages of level WARN or above in the package com.foo. +<strong>log4j.logger.com.foo=WARN</strong> +</pre> +</td></tr></table></p> + +<p>The output of <code>MyApp</code> configured with this file is shown below.</p> + +<pre> +<strong>2000-09-07 14:07:41,508</strong> [main] INFO MyApp - Entering application. +<strong>2000-09-07 14:07:41,529</strong> [main] INFO MyApp - Exiting application. +</pre> + +<p>As the logger <code>com.foo.Bar</code> does not have an assigned +level, it inherits its level from <code>com.foo</code>, which +was set to WARN in the configuration file. The log statement from the +<code>Bar.doIt</code> method has the level DEBUG, lower than the +logger level WARN. Consequently, <code>doIt()</code> method's log +request is suppressed.</p> + +<p>Here is another configuration file that uses multiple appenders.</p> + +<p><table bgcolor="CCAAAA"><tr><td> +<pre> +log4j.rootLogger=debug, <strong>stdout, R</strong> + +log4j.appender.<strong>stdout</strong>=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout + +# Pattern to output the caller's file name and line number. +log4j.appender.stdout.layout.ConversionPattern=%5p [%t] <strong>(%F:%L)</strong> - %m%n + +log4j.appender.<strong>R</strong>=org.apache.log4j.RollingFileAppender +log4j.appender.R.File=example.log + +log4j.appender.R.MaxFileSize=<strong>100KB</strong> +# Keep one backup file +log4j.appender.R.MaxBackupIndex=1 + +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n +</pre> +</td></tr></table></p> + +<p>Calling the enhanced MyApp with the this configuration file will +output the following on the console.</p> + +<pre> + INFO [main] <strong>(MyApp2.java:12)</strong> - Entering application. +DEBUG [main] (Bar.java:8) - Doing it again! + INFO [main] (MyApp2.java:15) - Exiting application. +</pre></p> + +<p>In addition, as the root logger has been allocated a second +appender, output will also be directed to the <code>example.log</code> +file. This file will be rolled over when it reaches 100KB. When +roll-over occurs, the old version of <code>example.log</code> is +automatically moved to <code>example.log.1</code>.</p> + +<p>Note that to obtain these different logging behaviors we did not +need to recompile code. We could just as easily have logged to a UNIX +Syslog daemon, redirected all <code>com.foo</code> output to an NT +Event logger, or forwarded logging events to a remote log4j server, +which would log according to local server policy, for example by +forwarding the log event to a second log4j server.</p> + +<a name="defaultInit"/><h2>Default Initialization Procedure</h2> + +<p>The log4j library does not make any assumptions about its +environment. In particular, there are no default log4j +appenders. Under certain well-defined circumstances however, the +static inializer of the <code>Logger</code> class will attempt to +automatically configure log4j. The Java language guarantees that the +static initializer of a class is called once and only once during the +loading of a class into memory. It is important to remember that +different classloaders may load distinct copies of the same +class. These copies of the same class are considered as totally +unrelated by the JVM.</p> + +<p>The default initialization is very useful in environments where the +exact entry point to the application depends on the runtime +environment. For example, the same application can be used as a +stand-alone application, as an applet, or as a servlet under the +control of a web-server.</p> + +<p>The exact default initialization algorithm is defined as follows:</p> + +<ol> + + <li>Setting the <b>log4j.defaultInitOverride</b> system property to + any other value then "false" will cause log4j to skip the default + initialization procedure (this procedure).</li> + + <li>Set the <code>resource</code> string variable to the value of + the <b>log4j.configuration</b> system property. <em>The preferred + way to specify the default initialization file is through the + <b>log4j.configuration</b> system property.</em> In case the system + property <b>log4j.configuration</b> is not defined, then set the + string variable <code>resource</code> to its default value + "log4j.properties".</li> + + <li>Attempt to convert the <code>resource</code> variable to a + URL.</li> + + <li>If the resource variable cannot be converted to a URL, for + example due to a <code>MalformedURLException</code>, then search for + the <code>resource</code> from the classpath by calling + <code>org.apache.log4j.helpers.Loader.getResource(resource, + Logger.class)</code> which returns a URL. Note that the string + "log4j.properties" constitutes a malformed URL. + + <p>See <a + href="apidocs/org/apache/log4j/helpers/Loader.html#getResource(java.lang.String)">Loader.getResource(java.lang.String)</a> + for the list of searched locations.</p></li> + + <li>If no URL could not be found, abort default + initialization. Otherwise, configure log4j from the URL. + + <p>The <a + href="apidocs/org/apache/log4j/PropertyConfigurator.html">PropertyConfigurator</a> + will be used to parse the URL to configure log4j unless the URL ends + with the ".xml" extension, in which case the <a + href="apidocs/org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a> + will be used. You can optionaly specify a custom configurator. The + value of the <b>log4j.configuratorClass</b> system property is taken + as the fully qualified class name of your custom configurator. The + custom configurator you specify <em>must</em> implement the <a + href="apidocs/org/apache/log4j/spi/Configurator.html">Configurator</a> + interface.</p></li> + +</ol> + +<h2>Example Configurations</h2> + + + +<h2>Default Initialization under Tomcat</h2> + +<p>The default log4j initialization is particularly useful in +web-server environments. Under Tomcat 3.x and 4.x, you should place +the <code>log4j.properties</code> under the +<code>WEB-INF/classes</code> directory of your web-applications. Log4j +will find the properties file and initialize itself. This is easy to +do and it works.</p> + +<p>You can also choose to set the system property +<b>log4j.configuration</b> before starting Tomcat. For Tomcat 3.x The +<code>TOMCAT_OPTS</code> environment variable is used to set command +line options. For Tomcat 4.0, set the <code>CATALINA_OPTS</code> +environment variable instead of <code>TOMCAT_OPTS</code>.</p> + +<p><b>Example 1</b></p> + +<p>The Unix shell command +<pre> + export TOMCAT_OPTS="-Dlog4j.configuration=foobar.txt" +</pre> + +tells log4j to use the file <code>foobar.txt</code> as the default +configuration file. This file should be place under the +<code>WEB-INF/classes</code> directory of your web-application. The +file will be read using the <a +href="apidocs/org/apache/log4j/xml/PropertyConfigurator.html">PropertyConfigurator</a>. Each +web-application will use a different default configuration file because +each file is relative to a web-application.</p> + + +<p><b>Example 2</b></p> + +<p>The Unix shell command +<pre> + export TOMCAT_OPTS="-Dlog4j.debug -Dlog4j.configuration=foobar.xml" +</pre> + +tells log4j to output log4j-internal debugging information and to use +the file <code>foobar.xml</code> as the default configuration +file. This file should be place under the <code>WEB-INF/classes</code> +directory of your web-application. Since the file ends with a +<code>.xml</code> extension, it will read using the <a +href="apidocs/org/apache/log4j/xml/DOMConfigurator.html">DOMConfigurator</a>. Each +web-application will use a different default configuration file because +each file is relative to a web-application.</p> + +<p><b>Example 3</b></p> + +<p>The Windows shell command +<pre> + set TOMCAT_OPTS=-Dlog4j.configuration=foobar.lcf -Dlog4j.configuratorClass=com.foo.BarConfigurator +</pre> + +tells log4j to use the file <code>foobar.lcf</code> as the default +configuration file. This file should be place under the +<code>WEB-INF/classes</code> directory of your web-application. Due to +the definition of the <b>log4j.configuratorClass</b> system property, +the file will be read using the <code>com.foo.BarConfigurator</code> +custom configurator. Each web-application will use a different +default configuration file because each file is relative to a +web-application.</p> + +<p><b>Example 4</b></p> + +<p>The Windows shell command +<pre> + set TOMCAT_OPTS=-Dlog4j.configuration=file:/c:/foobar.lcf</pre> + +tells log4j to use the file <code>c:\foobar.lcf</code> as the default +configuration file. The configuration file is fully specified by the +URL <code>file:/c:/foobar.lcf</code>. Thus, the same configuration +file will be used for all web-applications.</p> + + +<p>Different web-applications will load the log4j classes through +their respective classloaderss. Thus, each image of the log4j +environment will act independetly and without any mutual +synchronization. For example, <code>FileAppenders</code> defined +exactly the same way in multiple web-application configurations will +all attempt to write the same file. The results are likely to be less +than satisfactory. You must make sure that log4j configurations of +different web-applications do not use the same underlying system +resource.</p> + + +<p><b>Initialization servlet</b></p> + +<p>It is also possible to use a special servlet for log4j +initialization. Here is an example,</p> + +<p><table bgcolor="CCCCCC"><tr><td> +<pre> +package com.foo; + +import org.apache.log4j.PropertyConfigurator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.PrintWriter; +import java.io.IOException; + +public class Log4jInit extends HttpServlet { + + public + void <b>init()</b> { + String prefix = getServletContext().getRealPath("/"); + String file = getInitParameter("log4j-init-file"); + // if the log4j-init-file is not set, then no point in trying + if(file != null) { + PropertyConfigurator.configure(prefix+file); + } + } + + public + void doGet(HttpServletRequest req, HttpServletResponse res) { + } +} +</pre> +</td></tr></table></p> + +<p>Define the following servlet in the web.xml file for your web-application.</p> + +<p><table bgcolor="CCAAAA"><tr><td> +<pre> + &lt;servlet&gt; + &lt;servlet-name&gt;log4j-init&lt;/servlet-name&gt; + &lt;servlet-class&gt;com.foo.Log4jInit&lt;/servlet-class&gt; + + &lt;init-param&gt; + &lt;param-name&gt;log4j-init-file&lt;/param-name&gt; + &lt;param-value&gt;WEB-INF/classes/log4j.lcf&lt;/param-value&gt; + &lt;/init-param&gt; + + <b>&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;</b> + &lt;/servlet&gt; +</pre> +</td></tr></table></p> + +<p>Writing an initialization servlet is the most flexible way for +initializing log4j. There are no constraints on the code you can place +in the <code>init()</code> method of the servlet.</p> + + + +<h2> Nested Diagnostic Contexts</h2> + +<p>Most real-world systems have to deal with multiple clients +simultaneously. In a typical multithreaded implementation of such a +system, different threads will handle different clients. Logging is +especially well suited to trace and debug complex distributed +applications. A common approach to differentiate the logging output of +one client from another is to instantiate a new separate logger for +each client. This promotes the proliferation of loggers and +increases the management overhead of logging.</p> + +<p>A lighter technique is to uniquely stamp each log request initiated +from the same client interaction. Neil Harrison described this method +in the book "Patterns for Logging Diagnostic Messages," in <em>Pattern +Languages of Program Design 3</em>, edited by R. Martin, D. Riehle, +and F. Buschmann (Addison-Wesley, 1997).</p> + + + +<p> To uniquely stamp each request, the +user pushes contextual information into the NDC, the abbreviation of +<em>Nested Diagnostic Context</em>. The NDC class is shown below. + +<pre> + public class NDC { + // Used when printing the diagnostic + public <strong>static</strong> String get(); + + // Remove the top of the context from the NDC. + public <strong>static</strong> String pop(); + + // Add diagnostic context for the current thread. + public <strong>static</strong> void push(String message); + + // Remove the diagnostic context for this thread. + public <strong>static</strong> void remove(); + } +</pre></p> + +<p>The NDC is managed per thread as a <em>stack</em> of contextual +information. Note that all methods of the <code>org.apache.log4j.NDC</code> +class are static. Assuming that NDC printing is turned on, every time +a log request is made, the appropriate log4j component will include +the <em>entire</em> NDC stack for the current thread in the log +output. This is done without the intervention of the user, who is +responsible only for placing the correct information in the NDC by +using the <code>push</code> and <code>pop</code> methods at a few +well-defined points in the code. In contrast, the per-client logger +approach commands extensive changes in the code.</p> + +<p>To illustrate this point, let us take the example of a servlet +delivering content to numerous clients. The servlet can build the NDC +at the very beginning of the request before executing other code. The +contextual information can be the client's host name and other +information inherent to the request, typically information contained +in cookies. Hence, even if the servlet is serving multiple clients +simultaneously, the logs initiated by the same code, i.e. belonging to +the same logger, can still be distinguished because each client +request will have a different NDC stack. Contrast this with the +complexity of passing a freshly instantiated logger to all code +exercised during the client's request.</p> + +<p>Nevertheless, some sophisticated applications, such as virtual +hosting web servers, must log differently depending on the virtual +host context and also depending on the software component issuing the +request. Recent log4j releases support multiple hierarchy trees. This +enhancement allows each virtual host to possess its own copy of the +logger hierarchy.</p> + + +<a name="performance"/><h2>Performance</h2> + +<p>One of the often-cited arguments against logging is its +computational cost. This is a legitimate concern as even moderately +sized applications can generate thousands of log requests. Much +effort was spent measuring and tweaking logging performance. Log4j +claims to be fast and flexible: speed first, flexibility second.</p> + +<p>The user should be aware of the following performance issues.</p> + +<ol> + <li><b>Logging performance when logging is turned off.</b><br/> + + <p>When logging is turned + off entirely or just for a <a + href="apidocs/org/apache/log4j/Hierarchy.html#setThreshold(java.lang.String)">set + of levels</a>, the cost of a log request consists of a method + invocation plus an integer comparison. On a 233 MHz Pentium II + machine this cost is typically in the 5 to 50 nanosecond range.</p> + + <p>However, The method invocation involves the "hidden" cost of + parameter construction.</p> + + <p>For example, for some logger <code>cat</code>, writing, + <pre> + logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i])); + </pre> + + incurs the cost of constructing the message parameter, i.e. + converting both integer <code>i</code> and <code>entry[i]</code> + to a String, and concatenating intermediate strings, + regardless of whether the message will be logged or not. + + This cost of parameter construction can be quite high and it + depends on the size of the parameters involved.</p> + + + <p>To avoid the parameter construction cost write: + <pre> + if(logger.isDebugEnabled() { + logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i])); + } + </pre></p> + + <p>This will not incur the cost of parameter + construction if debugging is disabled. On the other hand, if + the logger is debug-enabled, it will incur twice the cost of + evaluating whether the logger is enabled or not: once + in <code>debugEnabled</code> and once in + <code>debug</code>. This is an insignificant + overhead because evaluating a logger takes about 1% + of the time it takes to actually log.</p> + + <p>In log4j, logging requests are made to instances of the Logger + class. Logger is a class and not an interface. This measurably + reduces the cost of method invocation at the cost of some + flexibility.</p> + + + <p>Certain users resort to preprocessing or compile-time + techniques to compile out all log statements. This leads to perfect + performance efficiency with respect to logging. However, since the + resulting application binary does not contain any log statements, + logging cannot be turned on for that binary. In my opinion this is + a disproportionate price to pay in exchange for a small performance + gain.</p></li> + + <li><b>The performance of deciding whether to log or not to log when + logging is turned on.</b><br/> + + <p>This is essentially the performance of walking the logger + hierarchy. When logging is turned on, log4j still needs to compare + the level of the log request with the level of the request + logger. However, loggers may not have an assigned + level; they can inherit them from the logger hierarchy. Thus, + before inheriting a level, the logger may need to search its + ancestors.</p> + + <p>There has been a serious effort to make this hierarchy walk to +be as fast as possible. For example, child loggers link only to +their existing ancestors. In the <code>BasicConfigurator</code> +example shown earlier, the logger named <code>com.foo.Bar</code> is +linked directly to the root logger, thereby circumventing the +nonexistent <code>com</code> or <code>com.foo</code> loggers. This +significantly improves the speed of the walk, especially in "sparse" +hierarchies.</p> + + <p>The typical cost of walking the hierarchy is typically 3 + times slower than when logging is turned off entirely.</p></li> + + <li><b>Actually outputting log messages</b><br/> + + <p>This is the cost of formatting the log output and sending it to + its target destination. Here again, a serious effort was made to + make layouts (formatters) perform as quickly as possible. The same + is true for appenders. The typical cost of actually logging is + about 100 to 300 microseconds.</p> + + See <a + href="apidocs/org/apache/log4j/performance/Logging.html">org.apache.log4.performance.Logging</a> + for actual figures. + </li> + +</ol> + +<p>Although log4j has many features, its first design goal was speed. +Some log4j components have been rewritten many times to improve +performance. Nevertheless, contributors frequently come up with new +optimizations. You should be pleased to know that when configured with +the <a +href="apidocs/org/apache/log4j/SimpleLayout.html">SimpleLayout</a> +performance tests have shown log4j to log as quickly as +<code>System.out.println</code>.</p> + +<h2>Conclusions</h2> + +<p>Log4j is a popular logging package written in Java. One of its +distinctive features is the notion of inheritance in loggers. Using +a logger hierarchy it is possible to control which log statements +are output at arbitrary granularity. This helps reduce the volume of +logged output and minimize the cost of logging.</p> + +<p>One of the advantages of the log4j API is its manageability. Once +the log statements have been inserted into the code, they can be +controlled with configuration files. They can be selectively enabled +or disabled, and sent to different and multiple output targets in +user-chosen formats. The log4j package is designed so that log +statements can remain in shipped code without incurring a heavy +performance cost.</p> + +<h2>Acknowledgments</h2> + +Many thanks to N. Asokan for reviewing the article. He is also one of +the originators of the logger concept. I am indebted to Nelson Minar +for encouraging me to write this article. He has also made many useful +suggestions and corrections to this article. Log4j is the result of a +collective effort. My special thanks go to all the authors who have +contributed to the project. Without exception, the best features in +the package have all originated in the user community. +</section> +</body> +</document> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/README b/thirdparty/apache-log4j-1.2.16/tests/README new file mode 100644 index 00000000000..fcca3958ba5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/README @@ -0,0 +1,53 @@ + +This directory contains a series of log4j test cases. + +Prerequisites +============= + +Jakarta-ant is used to compile and run the tests. Jakarta-ant version +1.4.0 was used to compile and run the tests. The optional +jakarta-ant-1.4-optional.jar file is required to be in the +$ANT_HOME/lib directory where ANT_HOME envrironment variable point to +the directory where you installed jakarta-ant. + +The tests cases as well running ant require a JAXP compatible +parser. Such a parser is placed on the classpath by the shell or batch +script that invokes ant, namely $ANT_HOME/bin/ant on UNIX and +%ANT_HOME%/bin/ant.bat on Windows. + +The test cases are based on Junit version 3.7+. + +IMPORTANT: You need to place junit.jar in your CLASSPATH environment +variable. + +The test cases perform some regular expression based filtering. This +requires jakarta-oro. Version-2.0.5 was used when writing the +tests. You need to have jakarta.oro.jar property (found in the +build.properties file) to point to jakarta-oro.jar. See the file +build.properties.sample for an example of a build.properties file. + +Assuming jakarta-ant is installed properly, depending on your platform +type $ANT_HOME/bin/ant or %ANT_HOME%/bin/ant.bat to see the available +commands. + +------------------------------------------------------------------------ +NOTE: The compilation and execution of tests must be performed from + within the tests/ directory, that is from the directory where + this README file is located. +------------------------------------------------------------------------ + +Writing a new test case +======================= + +Our test cases are based on junit and you should be familiar with +junit in order to write new a test case. + +Some of the existing test are actually regression tests. They compare +the output of a test with the output of a previous run, a.k.a a +witness, which is purported to be correct. Since the ouput of some +tests vary on time and line numbers, before comparing the output with +a witness, we transform the output by unifying the result, for example +by removing date and time information. + +To automatically run your test case with the rest of the log4j test +cases, you need to modify tests/build.xml. diff --git a/thirdparty/apache-log4j-1.2.16/tests/build.properties.sample b/thirdparty/apache-log4j-1.2.16/tests/build.properties.sample new file mode 100644 index 00000000000..5f0f1b879d5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/build.properties.sample @@ -0,0 +1,48 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# by default assume that all necessary dependencies +# are relative to the user's home directory +# +lib.home.dir=/java + +# The jaxp interface and a jaxp parser are required +# to build the DOMConfigurator. +# +# modern equivalents are xml-commons-apis.jar +# and xercesImpl.jar +jaxp.home=${lib.home.dir}/crimson-1.1.3 +jaxp.jaxp.jar=${jaxp.home}/crimson.jar +jaxp.parser.jar=${jaxp.home}/crimson.jar + +jakarta.oro.jar=${lib.home.dir}/jakarta-oro-2.0.8/jakarta-oro-2.0.8.jar +clover.jar=${lib.home.dir}/clover-1.3.8/lib/clover.jar +deprecation=on + +# junit must be on the classpath or specified with -lib +# only needs to be set here for JDK 1.1. +junit.jar=${lib.home.dir}/junit3.8.1/junit.jar + +# +# Jalopy source code reformatter +# +# +jalopy-ant.dir=${lib.home.dir}/jalopy-ant-0.6.2 + +# +# Checkstyle coding convention checker +# +checkstyle.jar=${lib.home.dir}/checkstyle-4.0-beta2/checkstyle-all-4.0-beta2.jar diff --git a/thirdparty/apache-log4j-1.2.16/tests/build.xml b/thirdparty/apache-log4j-1.2.16/tests/build.xml new file mode 100644 index 00000000000..148fdbc9d51 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/build.xml @@ -0,0 +1,557 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- This file is an ANT build script. ANT is a Java based build tool. --> +<!-- It is availale from http://ant.apache.org/ --> + + +<!-- ================================================================= --> +<!-- NOTE: all directories are relative to jakarta-log4j/tests --> +<!-- ================================================================= --> +<project name="log4j" default="usage" basedir="." > + + <property file="build.properties"/> + + <!-- if a Maven build has been attempted, + the Maven repository can provide all the dependencies. --> + <property name="m2_repo" location="${user.home}/.m2/repository"/> + <property name="oro.version" value="2.0.8"/> + <property name="jakarta.oro.jar" location="${m2_repo}/oro/oro/${oro.version}/oro-${oro.version}.jar"/> + <property name="checkstyle.version" value="4.1"/> + <property name="checkstyle.jar" location="${m2_repo}/checkstyle/checkstyle/${checkstyle.version}/checkstyle-${checkstyle.version}.jar"/> + <property name="javamail.jar" location="${m2_repo}/javax/mail/mail/1.4/mail-1.4.jar"/> + <property name="activation.jar" location="${m2_repo}/javax/activation/activation/1.1/activation-1.1.jar"/> + <property name="junit.version" value="3.8.1"/> + <property name="junit.jar" location="${m2_repo}/junit/junit/${junit.version}/junit-${junit.version}.jar"/> + + + <!-- Read the system environment variables and stores them in properties, --> + <!-- prefixed with "env". --> + <property environment="env"/> + + <!-- The base directory relative to which most targets are built --> + <property name="base" value="."/> + + <!-- The directory where source files are stored. --> + <property name="project.source.home" value="../src/main/java/"/> + <property name="project.classes.home" value="../dist/classes/"/> + + <property name="tests.source.home" value="./src/java/"/> + <property name="excludes" value=""/> + + <property name="javac.source" value="1.1"/> + <property name="javac.target" value="1.1"/> + + <path id="tests.classpath"> + <pathelement location="${log4j.jar}"/> + <pathelement location="${project.source.home}"/> + <pathelement location="${project.classes.home}"/> + <pathelement location="${tests.source.home}"/> + <pathelement location="./classes"/> + <pathelement location="./resources"/> + <pathelement location="${jakarta.oro.jar}"/> + <pathelement location="${jaxp.jaxp.jar}"/> + <pathelement location="${jaxp.parser.jar}"/> + <pathelement location="${clover.jar}"/> + <pathelement location="${junit.jar}"/> + <pathelement location="${javamail.jar}"/> + <pathelement location="${activation.jar}"/> + <pathelement path="${java.class.path}"/> + </path> + + <!-- ================================================================= --> + <!-- TARGETS --> + <!-- ================================================================= --> + + + + <!-- ================================================================= --> + <!-- Default target --> + <!-- ================================================================= --> + + <target name="usage"> + <echo> + + These are the targets supported by this ANT build scpript: + + build - compile all project files, if a certain library is missing, + then the compilation of its dependents are skipped. + + regression - Run regression tests which check large parts of log4j. + + runAll - run all available tests + + Specify the log4j.jar property to test an arbitrary jar, + otherwise the parent log4j will be built and tested. + </echo> + </target> + + <target name="prepare"> + <!-- if target directory available, use it + otherwise assume it is a distribution and jar is in root --> + <available property="project.lib.home" value="../target" file="../target"/> + <property name="project.lib.home" value=".."/> + <mkdir dir="./classes" /> + <mkdir dir="./output" /> + <condition property="is-windows" value="true"> + <os family="windows"/> + </condition> + </target> + + <!-- Clean the parent project --> + <!-- ================================================================= --> + <target name="parentClean" unless="log4j.jar"> + <ant dir=".." target="clean" inheritRefs="true"/> + </target> + + + + <!-- ================================================================= --> + <!-- Build the parent project --> + <!-- ================================================================= --> + <target name="parentBuild" unless="log4j.jar"> + <ant dir=".." target="build.core" inheritRefs="true"/> + <ant dir=".." target="build.xml" inheritRefs="true"/> + </target> + + + <!-- ================================================================= --> + <!-- Compile test cases and related source files. --> + <!-- ================================================================= --> + <target name="build" depends="parentBuild, prepare"> + <property name="haltonfailure" value="yes"/> + <javac srcdir="${tests.source.home}" + destdir="./classes" + deprecation="${deprecation}" + target="${javac.target}" + source="${javac.source}" + debug="on" + excludes="${excludes}"> + <classpath refid="tests.classpath"/> + </javac> + </target> + + <!-- ================================================================= --> + <!-- Remove all generated files such as compiled class files and test --> + <!-- case output. --> + <!-- ================================================================= --> + <target name="clean"> + <delete dir="./classes/" /> + <delete dir="./output/" /> + </target> + + <!-- ================================================================= --> + <!-- Run all tests --> + <!-- ================================================================= --> + <target name="runAll" depends="regression, longUnit"/> + + <!-- ================================================================= --> + <!-- Tests multiple parts of log4j. These tests are much more fragile --> + <!-- unit tests. Regression tests compare output with a previously --> + <!-- created witness file. --> + <!-- ================================================================= --> + <target name="regression" depends="Core, Minimum, Logger, DOM, CustomLevel, + CustomLogger,PatternLayout, + HierarchyThreshold, DefaultInit, SocketServer, + XMLLayout, AsyncAppender, + OptionConverter, BoundedFIFO, + CyclicBuffer, OR, + LevelMatchFilter, PatternParser, + ErrorHandler"/> + + <!-- ================================================================= --> + <!-- Longer unit tests --> + <!-- ================================================================= --> + <target name="longUnit" depends=""/> + + <!-- ================================================================= --> + <!-- ============== Regression and Unit Tests follow ================= --> + <!-- ================================================================= --> + <target name="Core" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.CoreTestSuite" /> + </junit> + </target> + + + <target name="Minimum" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.MinimumTestCase" /> + </junit> + </target> + + <target name="Logger" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.LoggerTestCase" /> + </junit> + </target> + + <target name="PatternLayout" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.PatternLayoutTestCase" /> + </junit> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.EnhancedPatternLayoutTestCase" /> + </junit> + </target> + + <target name="HierarchyThreshold" depends="build"> + <delete file="output/temp"/> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.HierarchyThresholdTestCase" /> + </junit> + </target> + + <target name="DOM" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.xml.DOMTestCase" /> + </junit> + </target> + + <target name="CustomLevel" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false" /> + <test name="org.apache.log4j.xml.CustomLevelTestCase" /> + </junit> + </target> + + <target name="CustomLogger" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false" /> + <test name="org.apache.log4j.customLogger.XLoggerTestCase" /> + </junit> + </target> + + <target name="DefaultInit" depends="build"> + <!-- Delete possible cruft from previous runs. --> + <delete file="${basedir}/classes/log4j.xml"/> + <delete file="${basedir}/classes/log4j.properties"/> + + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test fork="true" name="org.apache.log4j.defaultInit.TestCase1" /> + </junit> + + <copy file="${basedir}/input/xml/defaultInit.xml" tofile="${basedir}/classes/log4j.xml"/> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test fork="true" name="org.apache.log4j.defaultInit.TestCase2" /> + </junit> + <delete file="${basedir}/classes/log4j.xml"/> + + <!-- test handling of log4j.defaultInitOverride system property --> + <copy file="${basedir}/input/xml/defaultInit.xml" tofile="${basedir}/classes/log4j.xml"/> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <jvmarg value="-Dlog4j.defaultInitOverride=true"/> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test fork="true" name="org.apache.log4j.defaultInit.TestCase1" /> + </junit> + <delete file="${basedir}/classes/log4j.xml"/> + + <!-- test default initialization from log4j.xml --> + <copy file="${basedir}/input/defaultInit3.properties" tofile="${basedir}/classes/log4j.properties"/> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test fork="true" name="org.apache.log4j.defaultInit.TestCase3" /> + </junit> + <delete file="${basedir}/classes/log4j.properties"/> + + <!-- test default initialization from log4j.properties --> + <copy file="${basedir}/input/xml/defaultInit.xml" tofile="${basedir}/classes/log4j.xml"/> + <copy file="${basedir}/input/defaultInit3.properties" tofile="${basedir}/classes/log4j.properties"/> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test fork="true" name="org.apache.log4j.defaultInit.TestCase4" /> + </junit> + <delete file="${basedir}/classes/log4j.xml"/> + <delete file="${basedir}/classes/log4j.properties"/> + </target> + + <target name="SocketServer" depends="build"> + <parallel> + <java classname="org.apache.log4j.net.ShortSocketServer" + fork="yes" dir="${basedir}"> + <arg value="8"/> + <arg value="input/socketServer"/> + <classpath refid="tests.classpath"/> + </java> + <sequential> + <sleep seconds="2"/> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <sysproperty key="testNumber" value="1"/> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false" /> + <test name="org.apache.log4j.net.SocketServerTestCase" /> + </junit> + </sequential> + </parallel> + </target> + + <target name="XMLLayout" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false" /> + <test name="org.apache.log4j.xml.XMLLayoutTestCase" /> + </junit> + </target> + + <target name="AsyncAppender" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false" /> + <test name="org.apache.log4j.AsyncAppenderTestCase" /> + </junit> + </target> + + <target name="LevelMatchFilter" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.varia.LevelMatchFilterTestCase" /> + </junit> + </target> + + <target name="ErrorHandler" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false" /> + <test name="org.apache.log4j.varia.ErrorHandlerTestCase" /> + </junit> + </target> + + <target name="OptionConverter" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.helpers.OptionConverterTestCase" /> + </junit> + </target> + + <target name="BoundedFIFO" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.helpers.BoundedFIFOTestCase" /> + </junit> + </target> + + <target name="CyclicBuffer" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.helpers.CyclicBufferTestCase" /> + </junit> + </target> + + <target name="PatternParser" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.helpers.PatternParserTestCase" /> + </junit> + </target> + + + <target name="OR" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.or.ORTestCase" /> + </junit> + </target> + + <target name="DRFA" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.DRFATestCase" /> + </junit> + </target> + + <target name="RFA" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.RFATestCase" /> + </junit> + </target> + + <target name="ERFA" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.varia.ERFATestCase" /> + </junit> + </target> + + <target name="Syslog" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.net.SyslogAppenderTest" /> + </junit> + </target> + + <target name="NTEventLogAppender" depends="build" if="is-windows"> + <junit printsummary="yes" + fork="yes" + haltonfailure="${haltonfailure}" + dir="${project.lib.home}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.nt.NTEventLogAppenderTest" /> + </junit> + </target> + + <target name="Socket" depends="build"> + <junit printsummary="yes" fork="yes" + haltonfailure="${haltonfailure}" dir="${basedir}"> + <classpath refid="tests.classpath"/> + <formatter type="plain" usefile="false"/> + <test name="org.apache.log4j.net.SocketAppenderTest" /> + </junit> + </target> + + + <!-- ================================================================= --> + <!-- ========================= Very long Tests ======================= --> + <!-- ================================================================= --> + + <!-- none yet, but StressCategory is a good candidate... --> + + <!-- ============================================================= --> + <!-- Coverage analysis --> + <!-- ============================================================= --> + <target name="with.clover"> + <!-- some tests fail when running clover + setting this property will cause testing to continue --> + <property name="haltonfailure" value="no"/> + <available resource="clovertasks" property="clover-present"/> + + <fail unless="clover-present"> + clover.jar must be in the classpath and should also be + placed in the lib directory. A version of clover + (http://www.cenqua.com/clover) for use with ASF projects + is available from the committers/donated-licenses/clover module + in the SVN repository. + </fail> + + <taskdef resource="clovertasks"/> + <clover-setup initString="log4j.db"/> + </target> + + <target name="coverageReport" depends="parentClean, clean, with.clover, runAll"> + <mkdir dir="coverage"/> + <taskdef resource="clovertasks"/> + <clover-report> + <current title="log4j coverage" outfile="coverage"> + <format type="html"/> + </current> + </clover-report> + </target> + + + <!-- ================================================================= --> + <!-- This target reformats the source with Jalopy. --> + <!-- ================================================================= --> + + <target name="jalopy" depends="prepare" description="Reformat source code using Jalopy"> + <fail unless="jalopy.files"> +Specify files to reformat with -Djalopy.files=PATTERN. +</fail> + <taskdef name="jalopy" + classname="de.hunsicker.jalopy.plugin.ant.AntPlugin"> + <classpath> + <fileset dir="${jalopy-ant.dir}/lib"> + <include name="*.jar" /> + </fileset> + </classpath> + </taskdef> + <jalopy backup="no" + convention="log4j-coding-convention.xml" + classpathref="tests.classpath"> + <fileset dir="${tests.source.home}" includes="${jalopy.files}"/> + </jalopy> + + </target> + + <!-- ================================================================= --> + <!-- This target checks code conventions with checkstyle. --> + <!-- ================================================================= --> + + <target name="checkstyle" depends="prepare" description="Check source code using checkstyle"> + <property name="checkstyle.files" value="**/*.java"/> + <taskdef resource="checkstyletask.properties" + classpath="${checkstyle.jar}"/> + <checkstyle config="sun_checks.xml"> + <fileset dir="${tests.source.home}" includes="${checkstyle.files}"/> + </checkstyle> + </target> + + +</project> + diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/RFA1.properties b/thirdparty/apache-log4j-1.2.16/tests/input/RFA1.properties new file mode 100644 index 00000000000..35a30d6a99f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/RFA1.properties @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootLogger=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.RollingFileAppender +log4j.appender.testAppender.file=output/RFA-test1.log +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%m\n +log4j.appender.testAppender.maxFileSize=100 + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/defaultInit3.properties b/thirdparty/apache-log4j-1.2.16/tests/input/defaultInit3.properties new file mode 100644 index 00000000000..3c2e43376d4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/defaultInit3.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=DEBUG, D3 +log4j.appender.D3=org.apache.log4j.FileAppender +log4j.appender.D3.File=output/temp +log4j.appender.D3.Append=false +log4j.appender.D3.layout=org.apache.log4j.PatternLayout +log4j.appender.D3.layout.ConversionPattern=%d [%t] %-5p %.16c - %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/fallback1.properties b/thirdparty/apache-log4j-1.2.16/tests/input/fallback1.properties new file mode 100644 index 00000000000..bf520ae4078 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/fallback1.properties @@ -0,0 +1,32 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.debug=true +log4j.appender.PRIMARY=org.apache.log4j.FileAppender +log4j.appender.PRIMARY.errorhandler=org.apache.log4j.varia.FallbackErrorHandler +log4j.appender.PRIMARY.errorhandler.root-ref=true +log4j.appender.PRIMARY.errorhandler.appender-ref=FALLBACK +log4j.appender.PRIMARY.file=/xyz/:x.log +log4j.appender.PRIMARY.append=false +log4j.appender.PRIMARY.layout=org.apache.log4j.PatternLayout +log4j.appender.PRIMARY.layout.conversionPattern=%-5p %c{2} - %m%n + +log4j.appender.FALLBACK=org.apache.log4j.FileAppender +log4j.appender.FALLBACK.File=output/temp +log4j.appender.FALLBACK.Append=false +log4j.appender.FALLBACK.layout=org.apache.log4j.PatternLayout +log4j.appender.FALLBACK.layout.ConversionPattern=FALLBACK - %c - %m%n + +log4j.rootLogger=DEBUG, PRIMARY diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/filter1.properties b/thirdparty/apache-log4j-1.2.16/tests/input/filter1.properties new file mode 100644 index 00000000000..0bd6b56fd1b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/filter1.properties @@ -0,0 +1,32 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.appender.ROLLING=org.apache.log4j.PropertyConfiguratorTest$RollingFileAppender +log4j.appender.ROLLING.append=false +log4j.appender.ROLLING.rollingPolicy=org.apache.log4j.PropertyConfiguratorTest$FixedWindowRollingPolicy +log4j.appender.ROLLING.rollingPolicy.activeFileName=filterBase-test1.log +log4j.appender.ROLLING.rollingPolicy.fileNamePattern=filterBased-test1.%i +log4j.appender.ROLLING.rollingPolicy.minIndex=0 +log4j.appender.ROLLING.triggeringPolicy=org.apache.log4j.PropertyConfiguratorTest$FilterBasedTriggeringPolicy +log4j.appender.ROLLING.triggeringPolicy.filter=org.apache.log4j.varia.LevelRangeFilter +log4j.appender.ROLLING.triggeringPolicy.filter.levelMin=info +log4j.appender.ROLLING.layout=org.apache.log4j.PatternLayout +log4j.appender.ROLLING.layout.ConversionPattern=%m%n +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%m%n +log4j.logger.org.apache.log4j.PropertyConfiguratorTest=debug, ROLLING +log4j.additivity.org.apache.log4j.rolling.FilterBasedRollingTest=false +log4j.roolLogger=info, CONSOLE diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold1.properties b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold1.properties new file mode 100644 index 00000000000..81a529ecda3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold1.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.threshold=OFF +log4j.rootLogger=,A +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.File=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%p [%t] %c{2} = %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold2.properties b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold2.properties new file mode 100644 index 00000000000..b79aa7f603b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold2.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.threshold=FATAL +log4j.rootLogger=,A +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.File=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%p [%t] %c{2} = %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold3.properties b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold3.properties new file mode 100644 index 00000000000..aae8b4435fb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold3.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.threshold=ERROR +log4j.rootLogger=,A +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.File=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%p [%t] %c{2} = %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold4.properties b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold4.properties new file mode 100644 index 00000000000..ba54f13321e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold4.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.threshold=WARN +log4j.rootLogger=,A +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.File=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%p [%t] %c{2} = %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold5.properties b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold5.properties new file mode 100644 index 00000000000..f4ef8587f12 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold5.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.threshold=INFO +log4j.rootLogger=,A +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.File=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%p [%t] %c{2} = %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold6.properties b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold6.properties new file mode 100644 index 00000000000..3cc6122a216 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold6.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.threshold=DEBUG +log4j.rootLogger=,A +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.File=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%p [%t] %c{2} = %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold7.properties b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold7.properties new file mode 100644 index 00000000000..3ffcdfb0032 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold7.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.threshold=TRACE#org.apache.log4j.xml.XLevel +log4j.rootLogger=ALL,A +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.File=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%p [%t] %c{2} = %m%n diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold8.properties b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold8.properties new file mode 100644 index 00000000000..a21eed92760 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/hierarchyThreshold8.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.threshold=ALL +log4j.rootLogger=ALL,A +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.File=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%p [%t] %c{2} = %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout.mdc.1.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout.mdc.1.properties new file mode 100644 index 00000000000..dc6055ab080 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout.mdc.1.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%-5p - %m %X%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout1.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout1.properties new file mode 100644 index 00000000000..7d73b799516 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout1.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootLogger=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.file=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%-5p - %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout10.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout10.properties new file mode 100644 index 00000000000..cf62885b1a2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout10.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append= false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=[%t] %-5p %l: %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout11.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout11.properties new file mode 100644 index 00000000000..02b77986643 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout11.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%-5p [%t] %c{2}: %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout12.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout12.properties new file mode 100644 index 00000000000..3c2677952a7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout12.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=[%t] %-5p %C.%M(%F:%L): %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout13.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout13.properties new file mode 100644 index 00000000000..f7cadbe5dd4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout13.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=[%t] %-5p %C{3}.%M(%F:%L): %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout14.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout14.properties new file mode 100644 index 00000000000..cbb8b694dbc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout14.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%-5p [%t] %c{1.}: %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout15.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout15.properties new file mode 100644 index 00000000000..fc98586dde6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout15.properties @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedMyPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%5p %-4# - %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO + diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout16.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout16.properties new file mode 100644 index 00000000000..b4ad3a2a3d3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout16.properties @@ -0,0 +1,27 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/patternLayout16.log +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}{GMT}Z %d{yyyy-MM-dd HH:mm:ss}{GMT-6}-0600 - %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO + diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout2.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout2.properties new file mode 100644 index 00000000000..5858647d4e8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout2.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append= false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %.16c - %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout3.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout3.properties new file mode 100644 index 00000000000..72b3ab176e3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout3.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %.16c - %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout4.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout4.properties new file mode 100644 index 00000000000..0438cc9409c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout4.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{DATE} [%t] %-5p %.16c - %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout5.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout5.properties new file mode 100644 index 00000000000..24f30e4eca9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout5.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} [%t] %-5p %.16c - %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout6.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout6.properties new file mode 100644 index 00000000000..8284edd3de6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout6.properties @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{ABSOLUTE} [%t] %-5p %.16c - %m%n + + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout7.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout7.properties new file mode 100644 index 00000000000..eed2a343851 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout7.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%t] %-5p %.16c - %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout8.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout8.properties new file mode 100644 index 00000000000..22a8eaf7183 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout8.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%r [%t] %-5p %.16c - %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout9.properties b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout9.properties new file mode 100644 index 00000000000..705d62c0f37 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/pattern/enhancedPatternLayout9.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=[%t] %-5p %.16c : %m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout.mdc.1.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout.mdc.1.properties new file mode 100644 index 00000000000..d3a5439b2e6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout.mdc.1.properties @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootCategory=DEBUG, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%-5p - %m %X%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout1.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout1.properties new file mode 100644 index 00000000000..634c19542e1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout1.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%-5p - %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout10.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout10.properties new file mode 100644 index 00000000000..117969d39ff --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout10.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File= output/temp +log4j.appender.testAppender.Append= false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=[%t] %-5p %l: %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout11.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout11.properties new file mode 100644 index 00000000000..a94325a9981 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout11.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%-5p [%t] %c{2}: %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout12.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout12.properties new file mode 100644 index 00000000000..bc0f3f0f052 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout12.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=[%t] %-5p %C.%M(%F:%L): %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout13.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout13.properties new file mode 100644 index 00000000000..b965dfb36cc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout13.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File= output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=[%t] %-5p %C{3}.%M(%F:%L): %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout14.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout14.properties new file mode 100644 index 00000000000..f0cf51fb9b7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout14.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File= output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.MyPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%5p %-4# - %m%n diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout2.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout2.properties new file mode 100644 index 00000000000..951ca9513a7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout2.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append= false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %.16c - %m%n diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout3.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout3.properties new file mode 100644 index 00000000000..e9846c79f97 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout3.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %.16c - %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout4.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout4.properties new file mode 100644 index 00000000000..6a2e4421460 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout4.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{DATE} [%t] %-5p %.16c - %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout5.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout5.properties new file mode 100644 index 00000000000..1acfaf83205 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout5.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} [%t] %-5p %.16c - %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout6.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout6.properties new file mode 100644 index 00000000000..2eb6dabc4dc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout6.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{ABSOLUTE} [%t] %-5p %.16c - %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout7.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout7.properties new file mode 100644 index 00000000000..921d5520b89 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout7.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%t] %-5p %.16c - %m%n diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout8.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout8.properties new file mode 100644 index 00000000000..bf56fab098b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout8.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%r [%t] %-5p %.16c - %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout9.properties b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout9.properties new file mode 100644 index 00000000000..aa468785f52 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/patternLayout9.properties @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=output/temp +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.testAppender.layout.ConversionPattern=[%t] %-5p %.16c : %m%n \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/socketServer1.properties b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer1.properties new file mode 100644 index 00000000000..573524b6f9c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer1.properties @@ -0,0 +1,23 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootLogger=TRACE, A +log4j.logger.org.apache.log4j.test.ShortSocketServer=WARN +log4j.logger.org.apache.log4j.net.SocketNode=WARN +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.file=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%5p %x [%t] %c %m%n + diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/socketServer2.properties b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer2.properties new file mode 100644 index 00000000000..aafd7afba57 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer2.properties @@ -0,0 +1,23 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootLogger=TRACE, A +log4j.logger.org.apache.log4j.test.ShortSocketServer=WARN +log4j.logger.org.apache.log4j.net.SocketNode=WARN +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.file=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%5p %x [%t] %C (%F:%L) %m%n + diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/socketServer3.properties b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer3.properties new file mode 100644 index 00000000000..7ddb85c6f10 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer3.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootLogger=TRACE, A +log4j.Logger.org.apache.log4j.test.ShortSocketServer=WARN +log4j.Logger.org.apache.log4j.net.SocketNode=WARN +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.file=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%5p %x [%t] %C (%F:%L) %m%n diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/socketServer4.properties b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer4.properties new file mode 100644 index 00000000000..c00fd65b27d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer4.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootLogger=TRACE, A +log4j.Logger.org.apache.log4j.test.ShortSocketServer=WARN +log4j.Logger.org.apache.log4j.net.SocketNode=WARN +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.file=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%5p %x %X{key1}%X{key4} [%t] %c{1} - %m%n diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/socketServer5.properties b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer5.properties new file mode 100644 index 00000000000..d2d03ce8b6c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer5.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootLogger=TRACE, A +log4j.Logger.org.apache.log4j.test.ShortSocketServer=WARN +log4j.Logger.org.apache.log4j.net.SocketNode=WARN +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.file=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%5p %x %X{key1}%X{key5} [%t] %c{1} - %m%n diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/socketServer6.properties b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer6.properties new file mode 100644 index 00000000000..19a817c40c9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer6.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootLogger=TRACE, A +log4j.Logger.org.apache.log4j.test.ShortSocketServer=WARN +log4j.Logger.org.apache.log4j.net.SocketNode=WARN +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.file=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%5p %x %X{hostID} %X{key6} [%t] %c{1} - %m%n diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/socketServer7.properties b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer7.properties new file mode 100644 index 00000000000..742eceb4798 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer7.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootLogger=TRACE, A +log4j.Logger.org.apache.log4j.test.ShortSocketServer=WARN +log4j.Logger.org.apache.log4j.net.SocketNode=WARN +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.file=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%5p %x %X{hostID} %X{key7} [%t] %c{1} - %m%n diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/socketServer8.properties b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer8.properties new file mode 100644 index 00000000000..fa31a08422c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/socketServer8.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +log4j.rootLogger=TRACE, A +log4j.Logger.org.apache.log4j.test.ShortSocketServer=WARN +log4j.Logger.org.apache.log4j.net.SocketNode=WARN +log4j.appender.A=org.apache.log4j.FileAppender +log4j.appender.A.file=output/temp +log4j.appender.A.Append=false +log4j.appender.A.layout=org.apache.log4j.PatternLayout +log4j.appender.A.layout.ConversionPattern=%5p %x %X{hostID} %X{key8} [%t] %c{1} - %m%n diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4.xml new file mode 100644 index 00000000000..91aab08c41e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" [ +<!ENTITY a1 SYSTEM 'DOMTest4_A1.xml'> +<!ENTITY a2 SYSTEM 'DOMTest4_A2.xml'> +]> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + &a1; + &a2; + + <!-- Prevent internal log4j DEBUG messages from polluting the output. --> + <logger name="org.apache.log4j.joran"><level value="INFO" /></logger> + <logger name="org.apache.log4j.joran.action.PriorityAction"><level value="ERROR" /></logger> + <logger name="org.apache.log4j.config"><level value="INFO" /></logger> + <logger name="org.apache.log4j.FileAppender"><level value="INFO" /></logger> + <logger name="org.apache.log4j.xml.DOMConfigurator"><level value="INFO" /></logger> + + <logger name="org.apache.log4j.xml"> + <level value="trace" /> + <appender-ref ref="A1" /> + </logger> + + <root> + <priority value ="trace" /> + <appender-ref ref="A1" /> + <appender-ref ref="A2" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4_A1.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4_A1.xml new file mode 100644 index 00000000000..9b945e60aab --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4_A1.xml @@ -0,0 +1,25 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + <appender name="A1" class="org.apache.log4j.FileAppender"> + + <param name="File" value="output/temp.A1.4" /> + <param name="Append" value="false" /> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%-5p %c{2} - %m%n"/> + </layout> + </appender> diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4_A2.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4_A2.xml new file mode 100644 index 00000000000..e5e26c02485 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTest4_A2.xml @@ -0,0 +1,23 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + <appender name="A2" class="org.apache.log4j.FileAppender"> + <param name="File" value="output/temp.A2.4" /> + <param name="Append" value="false" /> + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" value="ISO8601" /> + </layout> + </appender> diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTestCase1.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTestCase1.xml new file mode 100644 index 00000000000..fcd1a7ca59a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/DOMTestCase1.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + <appender name="A1" class="org.apache.log4j.FileAppender"> + + <param name="File" value="output/temp.A1" /> + <param name="Append" value="false" /> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%-5p %c{2} - %m%n"/> + </layout> + </appender> + + <appender name="A2" class="org.apache.log4j.FileAppender"> + <param name="File" value="output/temp.A2" /> + <param name="Append" value="false" /> + <layout class="org.apache.log4j.TTCCLayout"> + <param name="DateFormat" value="ISO8601" /> + </layout> + </appender> + + <logger name="org.apache.log4j.xml"> + <level value="trace" /> + <appender-ref ref="A1" /> + </logger> + + <root> + <priority value ="trace" /> + <appender-ref ref="A1" /> + <appender-ref ref="A2" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/SocketAppenderTestConfig.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/SocketAppenderTestConfig.xml new file mode 100644 index 00000000000..2930b7b2589 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/SocketAppenderTestConfig.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> + +<log4j:configuration debug="true" +xmlns:log4j='http://jakarta.apache.org/log4j/'> + + + <!-- primary appender --> + <appender name="remote" class="org.apache.log4j.net.SocketAppender"> + + <!-- fallback on error --> + <errorHandler +class="org.apache.log4j.varia.FallbackErrorHandler"> + <logger-ref ref="org.apache.log4j.net.SocketAppenderTest"/> + <appender-ref ref="lastOnly"/> + </errorHandler> + + <param name="RemoteHost" value="localhost"/> + <param name="Port" value="8189"/> + <param name="ReconnectionDelay" value="0"/> + </appender> + + + <!-- secondary appender --> + <appender name="lastOnly" +class="org.apache.log4j.net.SocketAppenderTest$LastOnlyAppender"></appender> + + + <!-- logger --> + <logger name="SocketAppenderTest"> + <appender-ref ref="remote"/> + </logger> + + + <!-- logger + dummy, so i can have early access to lastOnly appender instance + --> + <logger name="org.apache.log4j.net.SocketAppenderTestDummy"> + <appender-ref ref="lastOnly"/> + </logger> + + +</log4j:configuration> + diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/categoryfactory1.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/categoryfactory1.xml new file mode 100644 index 00000000000..369e7c94743 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/categoryfactory1.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%m%n"/> + </layout> + </appender> + + <logger name="org.apache.log4j.xml.DOMTestCase.testCategoryFactory1.1"> + <appender-ref ref="CONSOLE" /> + </logger> + + <categoryFactory class="org.apache.log4j.xml.DOMTestCase$CustomLoggerFactory"> + <param name="additivity" value="false"/> + </categoryFactory> + +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/categoryfactory2.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/categoryfactory2.xml new file mode 100644 index 00000000000..146e5f24296 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/categoryfactory2.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> + <errorHandler class="org.apache.log4j.xml.DOMTestCase$CustomErrorHandler"> + <logger-ref ref="org.apache.log4j.xml.DOMTestCase.testCategoryFactory2.1"/> + </errorHandler> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%m%n"/> + </layout> + </appender> + + <root> + <appender-ref ref="CONSOLE" /> + </root> + + <categoryFactory class="org.apache.log4j.xml.DOMTestCase$CustomLoggerFactory"> + <param name="additivity" value="false"/> + </categoryFactory> + +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel1.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel1.xml new file mode 100644 index 00000000000..5c798d2229c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel1.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="Append" value="false" /> + <param name="File" value="output/temp" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%-5p %c{2} - %m\n"/> + </layout> + </appender> + + <root> + <level value="TRACE" class="org.apache.log4j.xml.XLevel"/> + <appender-ref ref="TEMP" /> + </root> +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel2.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel2.xml new file mode 100644 index 00000000000..fdc0be1274e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel2.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' + debug="false"> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="Append" value="false" /> + <param name="File" value="output/temp" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%-5p %c{2} - %m\n"/> + </layout> + + <filter class="org.apache.log4j.varia.LevelMatchFilter"> + <param name="LevelToMatch" value="TRACE#org.apache.log4j.xml.XLevel" /> + <param name="AcceptOnMatch" value="true" /> + </filter> + </appender> + + <root> + <level value="TRACE" class="org.apache.log4j.xml.XLevel"/> + <appender-ref ref="TEMP" /> + </root> + +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel3.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel3.xml new file mode 100644 index 00000000000..8e4b6268566 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel3.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' + debug="false"> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="Append" value="false" /> + <param name="File" value="output/temp" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%-5p %c{2} - %m\n"/> + </layout> + + <filter class="org.apache.log4j.varia.LevelMatchFilter"> + <param name="LevelToMatch" value="TRACE#org.apache.log4j.xml.XLevel" /> + <param name="AcceptOnMatch" value="true" /> + </filter> + + <filter class="org.apache.log4j.varia.DenyAllFilter"/> + + </appender> + + <root> + <level value="TRACE" class="org.apache.log4j.xml.XLevel"/> + <appender-ref ref="TEMP" /> + </root> + +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel4.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel4.xml new file mode 100644 index 00000000000..0ae0b753357 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLevel4.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration debug="true" + xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="Append" value="false" /> + <param name="File" value="output/temp" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%-5p %c{2} - %m\n"/> + </layout> + </appender> + + <root> + <level value="TRACE#org.apache.log4j.xml.XLevel"/> + <appender-ref ref="TEMP" /> + </root> +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger1.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger1.xml new file mode 100644 index 00000000000..3a09151f888 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger1.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' + debug="false"> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="Append" value="false" /> + <param name="File" value="output/temp" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%-5p %c{2} - %m%n"/> + </layout> + </appender> + + <root> + <level value ="TRACE" class="org.apache.log4j.xml.XLevel"/> + <appender-ref ref="TEMP" /> + </root> +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger2.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger2.xml new file mode 100644 index 00000000000..3a33f5c44eb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger2.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' + debug="true"> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="Append" value="false" /> + <param name="File" value="output/temp" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%-5p %c{2} - %m%n"/> + </layout> + + <filter class="org.apache.log4j.varia.LevelMatchFilter"> + <param name="LevelToMatch" + value="TRACE#org.apache.log4j.xml.XLevel" /> + <param name="AcceptOnMatch" value="true" /> + </filter> + + <filter class="org.apache.log4j.varia.DenyAllFilter"/> + </appender> + + <root> + <level value ="TRACE" class="org.apache.log4j.xml.XLevel"/> + <appender-ref ref="TEMP" /> + </root> +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger3.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger3.xml new file mode 100644 index 00000000000..000a1b9ce21 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/customLogger3.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' + debug="true"> + + <appender name="TEMP" class="org.apache.log4j.FileAppender"> + <param name="Append" value="false" /> + <param name="File" value="output/temp" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" + value="%-5p %c{2} - %m\n"/> + </layout> + </appender> + + <root> + <level value ="TRACE" class="org.apache.log4j.xml.XLevel"/> + <appender-ref ref="TEMP" /> + </root> +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/defaultInit.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/defaultInit.xml new file mode 100644 index 00000000000..71bfbeac5c2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/defaultInit.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/"> + + <appender name="D1" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%-5p %c{2} - %m%n"/> + </layout> + </appender> + + <root> + <priority value ="OFF" /> + <appender-ref ref="D1" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/fallback1.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/fallback1.xml new file mode 100644 index 00000000000..54dc080fa81 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/fallback1.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/"> + + + <appender name="PRIMARY" class="org.apache.log4j.FileAppender"> + <errorHandler class="org.apache.log4j.varia.FallbackErrorHandler"> + <root-ref/> + <appender-ref ref="FALLBACK" /> + </errorHandler> + + <param name="File" value="/xyz/:x.log" /> + <param name="Append" value="false" /> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%-5p %c{2} - %m%n"/> + </layout> + </appender> + + <appender name="FALLBACK" class="org.apache.log4j.FileAppender"> + <param name="File" value="output/temp" /> + <param name="Append" value="false" /> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="FALLBACK - %c - %m%n"/> + </layout> + </appender> + + + <root> + <priority value ="debug" /> + <appender-ref ref="PRIMARY" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/loggerfactory1.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/loggerfactory1.xml new file mode 100644 index 00000000000..c2514a7631a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/loggerfactory1.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%m%n"/> + </layout> + </appender> + + <logger name="org.apache.log4j.xml.DOMTestCase.testLoggerFactory1.1"> + <appender-ref ref="CONSOLE" /> + </logger> + + <loggerFactory class="org.apache.log4j.xml.DOMTestCase$CustomLoggerFactory"> + <param name="additivity" value="false"/> + </loggerFactory> + +</log4j:configuration> \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/smtpAppender1.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/smtpAppender1.xml new file mode 100644 index 00000000000..c1aebdf1ca9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/smtpAppender1.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + <appender name="A1" class="org.apache.log4j.net.SMTPAppender"> + + <param name="from" value="log4j@example.org" /> + <param name="to" value="somebody@example.org" /> + <param name="subject" value="Test message" /> + <param name="SMTPHost" value="localhost"/> + <triggeringPolicy class="org.apache.log4j.net.SMTPAppenderTest$MockTriggeringEventEvaluator"/> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%-5p %c{2} - %m%n"/> + </layout> + </appender> + + <root> + <priority value ="trace" /> + <appender-ref ref="A1" /> + </root> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/testReset.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/testReset.xml new file mode 100644 index 00000000000..185209e64b2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/testReset.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" reset="true"> + <appender name="A1" class="org.apache.log4j.VectorAppender"/> + <logger name="org.apache.log4j.xml"> + <level value="trace" /> + <appender-ref ref="A1" /> + </logger> + +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/tests/input/xml/throwableRenderer1.xml b/thirdparty/apache-log4j-1.2.16/tests/input/xml/throwableRenderer1.xml new file mode 100644 index 00000000000..2496870e0a2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/input/xml/throwableRenderer1.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <throwableRenderer class="org.apache.log4j.xml.DOMTestCase$MockThrowableRenderer"> + <param name="showVersion" value="false"/> + </throwableRenderer> +</log4j:configuration> diff --git a/thirdparty/apache-log4j-1.2.16/tests/log4j-coding-convention.xml b/thirdparty/apache-log4j-1.2.16/tests/log4j-coding-convention.xml new file mode 100644 index 00000000000..602c04638b9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/log4j-coding-convention.xml @@ -0,0 +1,225 @@ +<?xml version="1.0" encoding="UTF-8"?> +<jalopy> + <general> + <compliance> + <version>14</version> + </compliance> + <style> + <description>Log4j Java Coding Convention</description> + <name>Apache Jakarta Log4j</name> + </style> + </general> + <internal> + <version>6</version> + </internal> + <printer> + <alignment> + <methodCallChain>true</methodCallChain> + <parameterMethodDeclaration>false</parameterMethodDeclaration> + <ternaryOperator>true</ternaryOperator> + <variableAssignment>false</variableAssignment> + <variableIdentifier>false</variableIdentifier> + </alignment> + <blanklines> + <after> + <header>1</header> + </after> + <before> + <header>0</header> + </before> + </blanklines> + <braces> + <empty> + <cuddle>false</cuddle> + <insertStatement>false</insertStatement> + </empty> + <insert> + <dowhile>false</dowhile> + <for>false</for> + <ifelse>true</ifelse> + <while>false</while> + </insert> + <remove> + <block>true</block> + <dowhile>false</dowhile> + <for>false</for> + <ifelse>false</ifelse> + <while>false</while> + </remove> + <treatDifferent> + <methodClass>false</methodClass> + <methodClassIfWrapped>false</methodClassIfWrapped> + </treatDifferent> + </braces> + <comments> + <format> + <multiline>false</multiline> + </format> + <javadoc> + <check> + <innerclass>false</innerclass> + <tags>false</tags> + <throwsTags>false</throwsTags> + </check> + <fieldsShort>false</fieldsShort> + <generate> + <class>0</class> + <constructor>0</constructor> + <field>0</field> + <method>0</method> + </generate> + <parseComments>false</parseComments> + <tags> + <in-line /> + <standard /> + </tags> + </javadoc> + <remove> + <javadoc>false</javadoc> + <multiline>false</multiline> + <singleline>false</singleline> + </remove> + </comments> + <footer> + <text /> + </footer> + <header> + <keys>* Copyright|The Apache Software License, Version 1.1| * Copyright (C) The Apache Software Foundation. All rights reserved.</keys> + <smartMode>0</smartMode> + <text>/*| * 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.| */</text> + <use>true</use> + </header> + <history> + <method>timestamp</method> + <policy>disabled</policy> + </history> + <imports> + <policy>disabled</policy> + </imports> + <indentation> + <caseFromSwitch>false</caseFromSwitch> + <continuation> + <block>true</block> + <operator>false</operator> + </continuation> + <firstColumnComments>true</firstColumnComments> + <label>false</label> + <policy> + <deep>false</deep> + </policy> + <sizes> + <braceCuddled>1</braceCuddled> + <braceLeft>1</braceLeft> + <braceRight>0</braceRight> + <braceRightAfter>1</braceRightAfter> + <continuation>2</continuation> + <deep>55</deep> + <extends>-1</extends> + <general>2</general> + <implements>-1</implements> + <leading>0</leading> + <tabs>8</tabs> + <throws>-1</throws> + <trailingComment>1</trailingComment> + </sizes> + <tabs> + <enable>false</enable> + <onlyLeading>false</onlyLeading> + </tabs> + </indentation> + <sorting> + <declaration> + <order>static|field|initializer|constructor|method|interface|class</order> + </declaration> + <modifier> + <enable>true</enable> + <order>public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp</order> + </modifier> + </sorting> + <whitespace> + <after> + <comma>true</comma> + <semicolon>true</semicolon> + <typeCast>true</typeCast> + </after> + <before> + <braces>true</braces> + <brackets>false</brackets> + <bracketsTypes>false</bracketsTypes> + <caseColon>false</caseColon> + <operator> + <not>false</not> + </operator> + <parentheses> + <methodCall>false</methodCall> + <methodDeclaration>false</methodDeclaration> + <statement>true</statement> + </parentheses> + </before> + <padding> + <braces>true</braces> + <brackets>false</brackets> + <operator> + <assignment>true</assignment> + <bitwise>true</bitwise> + <logical>true</logical> + <mathematical>true</mathematical> + <relational>true</relational> + <shift>true</shift> + </operator> + <parenthesis>false</parenthesis> + <typeCast>false</typeCast> + </padding> + </whitespace> + <wrapping> + <always> + <after> + <arrayElement>0</arrayElement> + <braceRight>false</braceRight> + <extendsTypes>false</extendsTypes> + <implementsTypes>false</implementsTypes> + <label>true</label> + <methodCallChained>false</methodCallChained> + <ternaryOperator> + <first>false</first> + <second>false</second> + </ternaryOperator> + <throwsTypes>false</throwsTypes> + </after> + <before> + <braceLeft>false</braceLeft> + <extends>false</extends> + <implements>false</implements> + <throws>false</throws> + </before> + <parameter> + <methodCall>false</methodCall> + <methodCallNested>false</methodCallNested> + <methodDeclaration>false</methodDeclaration> + </parameter> + </always> + <general> + <beforeOperator>true</beforeOperator> + <enable>true</enable> + <lineLength>79</lineLength> + </general> + <ondemand> + <after> + <assignment>true</assignment> + <leftParenthesis>true</leftParenthesis> + <parameter>false</parameter> + <types> + <extends>false</extends> + <implements>false</implements> + <throws>false</throws> + </types> + </after> + <before> + <rightParenthesis>false</rightParenthesis> + </before> + <groupingParentheses>false</groupingParentheses> + </ondemand> + </wrapping> + </printer> +</jalopy> + diff --git a/thirdparty/apache-log4j-1.2.16/tests/resources/L7D_en_US.properties b/thirdparty/apache-log4j-1.2.16/tests/resources/L7D_en_US.properties new file mode 100644 index 00000000000..c3c2802d525 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/resources/L7D_en_US.properties @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +test=This is the English, US test. +hello_world=Hello world. +msg1=This is test number {0} with string argument {1}. diff --git a/thirdparty/apache-log4j-1.2.16/tests/resources/L7D_fr.properties b/thirdparty/apache-log4j-1.2.16/tests/resources/L7D_fr.properties new file mode 100644 index 00000000000..25b878aebc6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/resources/L7D_fr.properties @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +test=Ceci est le test en francais pour la France. +hello_world=Bonjour la France. +msg1=Ceci est le test numero {0} contenant l''argument {1}. diff --git a/thirdparty/apache-log4j-1.2.16/tests/resources/L7D_fr_CH.properties b/thirdparty/apache-log4j-1.2.16/tests/resources/L7D_fr_CH.properties new file mode 100644 index 00000000000..ba9b1ffbfc6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/resources/L7D_fr_CH.properties @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +test=Ceci est le test en francais pour la p'tite Suisse. +hello world=Salut le monde. diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/TestLogSFPatterns.properties b/thirdparty/apache-log4j-1.2.16/tests/resources/TestLogSFPatterns.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/TestLogSFPatterns.properties rename to thirdparty/apache-log4j-1.2.16/tests/resources/TestLogSFPatterns.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/TestLogMFPatterns.properties b/thirdparty/apache-log4j-1.2.16/tests/resources/org/apache/log4j/TestLogMFPatterns.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/TestLogMFPatterns.properties rename to thirdparty/apache-log4j-1.2.16/tests/resources/org/apache/log4j/TestLogMFPatterns.properties diff --git a/thirdparty/apache-log4j-1.2.16/tests/resources/org/apache/log4j/TestLogSFPatterns.properties b/thirdparty/apache-log4j-1.2.16/tests/resources/org/apache/log4j/TestLogSFPatterns.properties new file mode 100644 index 00000000000..e771863a534 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/resources/org/apache/log4j/TestLogSFPatterns.properties @@ -0,0 +1,24 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +Iteration0=Iteration {} +Hello1=Hello, World +Malformed=Hello, {. +Hello2=Hello, {}World +Hello3=Hello, {} +Hello4={}, {}. +Hello5={}{} {}. +Hello6={}{} {}{} diff --git a/thirdparty/apache-log4j-1.2.16/tests/run-tests.bat b/thirdparty/apache-log4j-1.2.16/tests/run-tests.bat new file mode 100755 index 00000000000..11d463dab6b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/run-tests.bat @@ -0,0 +1,111 @@ +rem Licensed to the Apache Software Foundation (ASF) under one or more +rem contributor license agreements. See the NOTICE file distributed with +rem this work for additional information regarding copyright ownership. +rem The ASF licenses this file to You under the Apache License, Version 2.0 +rem (the "License"); you may not use this file except in compliance with +rem the License. You may obtain a copy of the License at +rem +rem http://www.apache.org/licenses/LICENSE-2.0 +rem +rem Unless required by applicable law or agreed to in writing, software +rem distributed under the License is distributed on an "AS IS" BASIS, +rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +rem See the License for the specific language governing permissions and +rem limitations under the License. +rem Batch file for running tests on JDK 1.1 +rem +SET CLASSPATH=\java\junit3.8.1\junit.jar;\java\crimson-1.1.3\crimson.jar;\java\jakarta-oro-2.0.8\jakarta-oro-2.0.8.jar;target\classes;..\..\target\classes;resources;%log4j.jar% +mkdir target +mkdir target\classes +cd src\java +javac -d ..\..\target\classes org\apache\log4j\util\SerializationTestHelper.java +javac -d ..\..\target\classes org\apache\log4j\spi\LoggingEventTest.java +javac -d ..\..\target\classes org\apache\log4j\LevelTest.java +javac -d ..\..\target\classes org\apache\log4j\FileAppenderTest.java +javac -d ..\..\target\classes org\apache\log4j\PriorityTest.java +javac -d ..\..\target\classes org\apache\log4j\CategoryTest.java +javac -d ..\..\target\classes org\apache\log4j\LogManagerTest.java +javac -d ..\..\target\classes org\apache\log4j\helpers\LogLogTest.java +javac -d ..\..\target\classes org\apache\log4j\LayoutTest.java +javac -d ..\..\target\classes org\apache\log4j\helpers\DateLayoutTest.java +javac -d ..\..\target\classes org\apache\log4j\TTCCLayoutTest.java +javac -d ..\..\target\classes org\apache\log4j\xml\XMLLayoutTest.java +javac -d ..\..\target\classes org\apache\log4j\HTMLLayoutTest.java +javac -d ..\..\target\classes org\apache\log4j\PatternLayoutTest.java +javac -d ..\..\target\classes org\apache\log4j\spi\ThrowableInformationTest.java +javac -d ..\..\target\classes org\apache\log4j\spi\LocationInfoTest.java +javac -d ..\..\target\classes org\apache\log4j\PropertyConfiguratorTest.java +javac -d ..\..\target\classes org\apache\log4j\CoreTestSuite.java +javac -d ..\..\target\classes org\apache\log4j\util\UnexpectedFormatException.java +javac -d ..\..\target\classes org\apache\log4j\util\Filter.java +javac -d ..\..\target\classes org\apache\log4j\util\Compare.java +javac -d ..\..\target\classes org\apache\log4j\util\ControlFilter.java +javac -d ..\..\target\classes org\apache\log4j\util\Transformer.java +javac -d ..\..\target\classes org\apache\log4j\util\LineNumberFilter.java +javac -d ..\..\target\classes org\apache\log4j\util\AbsoluteDateAndTimeFilter.java +javac -d ..\..\target\classes org\apache\log4j\MinimumTestCase.java +javac -d ..\..\target\classes org\apache\log4j\VectorAppender.java +javac -d ..\..\target\classes org\apache\log4j\LoggerTestCase.java +javac -d ..\..\target\classes org\apache\log4j\util\ISO8601Filter.java +javac -d ..\..\target\classes org\apache\log4j\util\SunReflectFilter.java +javac -d ..\..\target\classes org\apache\log4j\util\JunitTestRunnerFilter.java +javac -d ..\..\target\classes org\apache\log4j\xml\DOMTestCase.java +javac -d ..\..\target\classes org\apache\log4j\xml\XLevel.java +javac -d ..\..\target\classes org\apache\log4j\xml\CustomLevelTestCase.java +javac -d ..\..\target\classes org\apache\log4j\customLogger\XLogger.java +javac -d ..\..\target\classes org\apache\log4j\customLogger\XLoggerTestCase.java +javac -d ..\..\target\classes org\apache\log4j\defaultInit\TestCase1.java +javac -d ..\..\target\classes org\apache\log4j\defaultInit\TestCase3.java +javac -d ..\..\target\classes org\apache\log4j\defaultInit\TestCase4.java +javac -d ..\..\target\classes org\apache\log4j\util\XMLTimestampFilter.java +javac -d ..\..\target\classes org\apache\log4j\util\XMLLineAttributeFilter.java +javac -d ..\..\target\classes org\apache\log4j\xml\XMLLayoutTestCase.java +javac -d ..\..\target\classes org\apache\log4j\AsyncAppenderTestCase.java +javac -d ..\..\target\classes org\apache\log4j\helpers\OptionConverterTestCase.java +javac -d ..\..\target\classes org\apache\log4j\helpers\BoundedFIFOTestCase.java +javac -d ..\..\target\classes org\apache\log4j\helpers\CyclicBufferTestCase.java +javac -d ..\..\target\classes org\apache\log4j\or\ORTestCase.java +javac -d ..\..\target\classes org\apache\log4j\varia\LevelMatchFilterTestCase.java +javac -d ..\..\target\classes org\apache\log4j\helpers\PatternParserTestCase.java +javac -d ..\..\target\classes org\apache\log4j\util\AbsoluteTimeFilter.java +javac -d ..\..\target\classes org\apache\log4j\util\RelativeTimeFilter.java +javac -d ..\..\target\classes org\apache\log4j\PatternLayoutTestCase.java +javac -d ..\..\target\classes org\apache\log4j\MyPatternParser.java +javac -d ..\..\target\classes org\apache\log4j\MyPatternLayout.java +javac -d ..\..\target\classes org\apache\log4j\VectorErrorHandler.java +javac -d ..\..\target\classes org\apache\log4j\DRFATestCase.java +cd ..\.. +mkdir output +java junit.textui.TestRunner org.apache.log4j.CoreTestSuite +java junit.textui.TestRunner org.apache.log4j.MinimumTestCase +java junit.textui.TestRunner org.apache.log4j.LoggerTestCase +java junit.textui.TestRunner org.apache.log4j.xml.DOMTestCase +java junit.textui.TestRunner org.apache.log4j.xml.CustomLevelTestCase +java junit.textui.TestRunner org.apache.log4j.customLogger.XLoggerTestCase +del target\classes\log4j.xml +del target\classes\log4j.properties +java junit.textui.TestRunner org.apache.log4j.defaultInit.TestCase1 +copy input\xml\defaultInit.xml target\classes\log4j.xml +java junit.textui.TestRunner org.apache.log4j.defaultInit.TestCase2 +del target\classes\log4j.xml +copy input\xml\defaultInit.xml target\classes\log4j.xml +java -Dlog4j.defaultInitOverride=true junit.textui.TestRunner org.apache.log4j.defaultInit.TestCase1 +del target\classes\log4j.xml +copy input\defaultInit3.properties target\classes\log4j.properties +java junit.textui.TestRunner org.apache.log4j.defaultInit.TestCase3 +del target\classes\log4j.properties +copy input\xml\defaultInit.xml target\classes\log4j.xml +copy input\defaultInit3.properties target\classes\log4j.properties +java junit.textui.TestRunner org.apache.log4j.defaultInit.TestCase4 +del target\classes\log4j.xml +del target\classes\log4j.properties +java junit.textui.TestRunner org.apache.log4j.xml.XMLLayoutTestCase +java junit.textui.TestRunner org.apache.log4j.AsyncAppenderTestCase +java junit.textui.TestRunner org.apache.log4j.helpers.OptionConverterTestCase +java junit.textui.TestRunner org.apache.log4j.helpers.BoundedFIFOTestCase +java junit.textui.TestRunner org.apache.log4j.helpers.CyclicBufferTestCase +java junit.textui.TestRunner org.apache.log4j.or.ORTestCase +java junit.textui.TestRunner org.apache.log4j.varia.LevelMatchFilterTestCase +java junit.textui.TestRunner org.apache.log4j.helpers.PatternParserTestCase +java junit.textui.TestRunner org.apache.log4j.PatternLayoutTestCase +java junit.textui.TestRunner org.apache.log4j.DRFATestCase diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/AsyncAppenderTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/AsyncAppenderTestCase.java new file mode 100644 index 00000000000..32544e86e31 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/AsyncAppenderTestCase.java @@ -0,0 +1,339 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; + +import java.util.Vector; + +import org.apache.log4j.spi.LoggingEvent; + +/** + A superficial but general test of log4j. + */ +public class AsyncAppenderTestCase extends TestCase { + + public AsyncAppenderTestCase(String name) { + super(name); + } + + public void setUp() { + } + + public void tearDown() { + LogManager.shutdown(); + } + + // this test checks whether it is possible to write to a closed AsyncAppender + public void closeTest() throws Exception { + Logger root = Logger.getRootLogger(); + VectorAppender vectorAppender = new VectorAppender(); + AsyncAppender asyncAppender = new AsyncAppender(); + asyncAppender.setName("async-CloseTest"); + asyncAppender.addAppender(vectorAppender); + root.addAppender(asyncAppender); + + root.debug("m1"); + asyncAppender.close(); + root.debug("m2"); + + Vector v = vectorAppender.getVector(); + assertEquals(v.size(), 1); + } + + // this test checks whether appenders embedded within an AsyncAppender are also + // closed + public void test2() { + Logger root = Logger.getRootLogger(); + VectorAppender vectorAppender = new VectorAppender(); + AsyncAppender asyncAppender = new AsyncAppender(); + asyncAppender.setName("async-test2"); + asyncAppender.addAppender(vectorAppender); + root.addAppender(asyncAppender); + + root.debug("m1"); + asyncAppender.close(); + root.debug("m2"); + + Vector v = vectorAppender.getVector(); + assertEquals(v.size(), 1); + assertTrue(vectorAppender.isClosed()); + } + + // this test checks whether appenders embedded within an AsyncAppender are also + // closed + public void test3() { + int LEN = 200; + Logger root = Logger.getRootLogger(); + VectorAppender vectorAppender = new VectorAppender(); + AsyncAppender asyncAppender = new AsyncAppender(); + asyncAppender.setName("async-test3"); + asyncAppender.addAppender(vectorAppender); + root.addAppender(asyncAppender); + + for(int i = 0; i < LEN; i++) { + root.debug("message"+i); + } + + System.out.println("Done loop."); + System.out.flush(); + asyncAppender.close(); + root.debug("m2"); + + Vector v = vectorAppender.getVector(); + assertEquals(v.size(), LEN); + assertTrue(vectorAppender.isClosed()); + } + + private static class NullPointerAppender extends AppenderSkeleton { + public NullPointerAppender() { + } + + + /** + This method is called by the {@link org.apache.log4j.AppenderSkeleton#doAppend} + method. + + */ + public void append(org.apache.log4j.spi.LoggingEvent event) { + throw new NullPointerException(); + } + + public void close() { + } + + public boolean requiresLayout() { + return false; + } + } + + + /** + * Tests that a bad appender will switch async back to sync. + * See bug 23021 + * @since 1.2.12 + * @throws Exception thrown if Thread.sleep is interrupted + */ + public void testBadAppender() throws Exception { + Appender nullPointerAppender = new NullPointerAppender(); + AsyncAppender asyncAppender = new AsyncAppender(); + asyncAppender.addAppender(nullPointerAppender); + asyncAppender.setBufferSize(5); + asyncAppender.activateOptions(); + Logger root = Logger.getRootLogger(); + root.addAppender(nullPointerAppender); + try { + root.info("Message"); + Thread.sleep(10); + root.info("Message"); + fail("Should have thrown exception"); + } catch(NullPointerException ex) { + + } + } + + /** + * Tests location processing when buffer is full and locationInfo=true. + * See bug 41186. + */ + public void testLocationInfoTrue() { + BlockableVectorAppender blockableAppender = new BlockableVectorAppender(); + AsyncAppender async = new AsyncAppender(); + async.addAppender(blockableAppender); + async.setBufferSize(5); + async.setLocationInfo(true); + async.setBlocking(false); + async.activateOptions(); + Logger rootLogger = Logger.getRootLogger(); + rootLogger.addAppender(async); + Greeter greeter = new Greeter(rootLogger, 100); + synchronized(blockableAppender.getMonitor()) { + greeter.run(); + rootLogger.error("That's all folks."); + } + async.close(); + Vector events = blockableAppender.getVector(); + LoggingEvent initialEvent = (LoggingEvent) events.get(0); + LoggingEvent discardEvent = (LoggingEvent) events.get(events.size() - 1); + PatternLayout layout = new PatternLayout(); + layout.setConversionPattern("%C:%L %m%n"); + layout.activateOptions(); + String initialStr = layout.format(initialEvent); + assertEquals(AsyncAppenderTestCase.class.getName(), + initialStr.substring(0, AsyncAppenderTestCase.class.getName().length())); + String discardStr = layout.format(discardEvent); + assertEquals("?:? ", discardStr.substring(0, 4)); + } + + + /** + * Tests location processing when buffer is full and locationInfo=false. + * See bug 41186. + */ + public void testLocationInfoFalse() { + BlockableVectorAppender blockableAppender = new BlockableVectorAppender(); + AsyncAppender async = new AsyncAppender(); + async.addAppender(blockableAppender); + async.setBufferSize(5); + async.setLocationInfo(false); + async.setBlocking(false); + async.activateOptions(); + Logger rootLogger = Logger.getRootLogger(); + rootLogger.addAppender(async); + Greeter greeter = new Greeter(rootLogger, 100); + synchronized(blockableAppender.getMonitor()) { + greeter.run(); + rootLogger.error("That's all folks."); + } + async.close(); + Vector events = blockableAppender.getVector(); + LoggingEvent initialEvent = (LoggingEvent) events.get(0); + LoggingEvent discardEvent = (LoggingEvent) events.get(events.size() - 1); + PatternLayout layout = new PatternLayout(); + layout.setConversionPattern("%C:%L %m%n"); + layout.activateOptions(); + String initialStr = layout.format(initialEvent); + assertEquals("?:? ", initialStr.substring(0, 4)); + String discardStr = layout.format(discardEvent); + assertEquals("?:? ", discardStr.substring(0, 4)); + } + + /** + * Logging request runnable. + */ + private static final class Greeter implements Runnable { + /** + * Logger. + */ + private final Logger logger; + + /** + * Repetitions. + */ + private final int repetitions; + + /** + * Create new instance. + * @param logger logger, may not be null. + * @param repetitions repetitions. + */ + public Greeter(final Logger logger, final int repetitions) { + if (logger == null) { + throw new IllegalArgumentException("logger"); + } + + this.logger = logger; + this.repetitions = repetitions; + } + + /** + * {@inheritDoc} + */ + public void run() { + try { + for (int i = 0; i < repetitions; i++) { + logger.info("Hello, World"); + Thread.sleep(1); + } + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + } + } + + + + /** + * Vector appender that can be explicitly blocked. + */ + private static final class BlockableVectorAppender extends VectorAppender { + /** + * Monitor object used to block appender. + */ + private final Object monitor = new Object(); + + + /** + * Create new instance. + */ + public BlockableVectorAppender() { + super(); + } + + /** + * {@inheritDoc} + */ + public void append(final LoggingEvent event) { + synchronized (monitor) { + super.append(event); + // + // if fatal, echo messages for testLoggingInDispatcher + // + if (event.getLevel() == Level.FATAL) { + Logger logger = Logger.getLogger(event.getLoggerName()); + logger.error(event.getMessage().toString()); + logger.warn(event.getMessage().toString()); + logger.info(event.getMessage().toString()); + logger.debug(event.getMessage().toString()); + } + } + } + + /** + * Get monitor object. + * @return monitor. + */ + public Object getMonitor() { + return monitor; + } + + } + + + /** + * Test that a mutable message object is evaluated before + * being placed in the async queue. + * See bug 43559. + */ + public void testMutableMessage() { + BlockableVectorAppender blockableAppender = new BlockableVectorAppender(); + AsyncAppender async = new AsyncAppender(); + async.addAppender(blockableAppender); + async.setBufferSize(5); + async.setLocationInfo(false); + async.activateOptions(); + Logger rootLogger = Logger.getRootLogger(); + rootLogger.addAppender(async); + StringBuffer buf = new StringBuffer("Hello"); + synchronized(blockableAppender.getMonitor()) { + rootLogger.info(buf); + buf.append(", World."); + } + async.close(); + Vector events = blockableAppender.getVector(); + LoggingEvent event = (LoggingEvent) events.get(0); + PatternLayout layout = new PatternLayout(); + layout.setConversionPattern("%m"); + layout.activateOptions(); + String msg = layout.format(event); + assertEquals("Hello", msg); + } + + + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/CategoryTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/CategoryTest.java new file mode 100644 index 00000000000..cd65e2703ce --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/CategoryTest.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; + +import java.lang.reflect.Method; + + +/** + * Tests of Category. + * + * @author Curt Arnold + * @since 1.2.14 + */ +public class CategoryTest extends TestCase { + /** + * Constructs new instance of test. + * @param name test name. + */ + public CategoryTest(final String name) { + super(name); + } + + /** + * Tests Category.forcedLog. + */ + public void testForcedLog() { + MockCategory category = new MockCategory("org.example.foo"); + category.setAdditivity(false); + category.addAppender(new VectorAppender()); + category.info("Hello, World"); + } + + /** + * Tests that the return type of getChainedPriority is Priority. + * @throws Exception thrown if Category.getChainedPriority can not be found. + */ + public void testGetChainedPriorityReturnType() throws Exception { + Method method = Category.class.getMethod("getChainedPriority", (Class[]) null); + assertTrue(method.getReturnType() == Priority.class); + } + + /** + * Tests l7dlog(Priority, String, Throwable). + */ + public void testL7dlog() { + Logger logger = Logger.getLogger("org.example.foo"); + logger.setLevel(Level.ERROR); + Priority debug = Level.DEBUG; + logger.l7dlog(debug, "Hello, World", null); + } + + /** + * Tests l7dlog(Priority, String, Object[], Throwable). + */ + public void testL7dlog4Param() { + Logger logger = Logger.getLogger("org.example.foo"); + logger.setLevel(Level.ERROR); + Priority debug = Level.DEBUG; + logger.l7dlog(debug, "Hello, World", new Object[0], null); + } + + /** + * Tests setPriority(Priority). + * @deprecated + */ + public void testSetPriority() { + Logger logger = Logger.getLogger("org.example.foo"); + Priority debug = Level.DEBUG; + logger.setPriority(debug); + } + + /** + * Derived category to check method signature of forcedLog. + */ + private static class MockCategory extends Logger { + /** + * Create new instance of MockCategory. + * @param name category name + */ + public MockCategory(final String name) { + super(name); + repository = new Hierarchy(this); + } + + /** + * Request an info level message. + * @param msg message + */ + public void info(final String msg) { + Priority info = Level.INFO; + forcedLog(MockCategory.class.toString(), info, msg, null); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/CoreTestSuite.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/CoreTestSuite.java new file mode 100644 index 00000000000..9262df3d8a5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/CoreTestSuite.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import junit.framework.Test; +import junit.framework.TestSuite; +import org.apache.log4j.spi.LoggingEventTest; + + +/** + * Suite of log4j class level unit tests. + * + */ +public class CoreTestSuite { + /** + * Constructs test suite. + * @return test suite + */ + public static Test suite() { + TestSuite s = new TestSuite(); + s.addTestSuite(LoggingEventTest.class); + s.addTestSuite(org.apache.log4j.LevelTest.class); + s.addTestSuite(org.apache.log4j.PriorityTest.class); + s.addTestSuite(org.apache.log4j.CategoryTest.class); + s.addTestSuite(org.apache.log4j.FileAppenderTest.class); + s.addTestSuite(org.apache.log4j.LogManagerTest.class); + s.addTestSuite(org.apache.log4j.helpers.LogLogTest.class); + s.addTestSuite(org.apache.log4j.LayoutTest.class); + s.addTestSuite(org.apache.log4j.helpers.DateLayoutTest.class); + s.addTestSuite(org.apache.log4j.TTCCLayoutTest.class); + s.addTestSuite(org.apache.log4j.xml.XMLLayoutTest.class); + s.addTestSuite(org.apache.log4j.HTMLLayoutTest.class); + s.addTestSuite(org.apache.log4j.PatternLayoutTest.class); + s.addTestSuite(org.apache.log4j.spi.LoggingEventTest.class); + s.addTestSuite(org.apache.log4j.spi.ThrowableInformationTest.class); + s.addTestSuite(org.apache.log4j.spi.LocationInfoTest.class); + s.addTestSuite(org.apache.log4j.PropertyConfiguratorTest.class); + s.addTestSuite(org.apache.log4j.net.SMTPAppenderTest.class); + s.addTestSuite(org.apache.log4j.net.TelnetAppenderTest.class); + s.addTestSuite(org.apache.log4j.DefaultThrowableRendererTest.class); + s.addTestSuite(org.apache.log4j.EnhancedThrowableRendererTest.class); + s.addTestSuite(org.apache.log4j.TestLogXF.class); + s.addTestSuite(org.apache.log4j.TestLogMF.class); + s.addTestSuite(org.apache.log4j.TestLogSF.class); + s.addTestSuite(org.apache.log4j.pattern.CachedDateFormatTest.class); + s.addTestSuite(org.apache.log4j.pattern.FormattingInfoTest.class); + s.addTestSuite(org.apache.log4j.pattern.NameAbbreviatorTest.class); + s.addTestSuite(org.apache.log4j.pattern.PatternParserTest.class); + return s; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/DRFATestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/DRFATestCase.java new file mode 100644 index 00000000000..8d0417422f9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/DRFATestCase.java @@ -0,0 +1,512 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.FileInputStream; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import org.apache.log4j.util.Compare; + +/** + Exhaustive test of the DailyRollingFileAppender compute algorithm. + + @author Ceki G&uuml;lc&uuml; + @author Curt Arnold + */ +public class DRFATestCase extends TestCase { + + /** + * Create new test. + * @param name test name. + */ + public DRFATestCase(final String name) { + super(name); + } + + /** + * Reset configuration after every test. + */ + public void tearDown() { + LogManager.resetConfiguration(); + } + + /** + * Test prediction of check period. + */ + public + void testComputeCheckPeriod() { + DailyRollingFileAppender drfa = new DailyRollingFileAppender(); + drfa.setName("testComputeCheckPeriod"); + drfa.setDatePattern("yyyy-MM-dd.'log'"); + drfa.activateOptions(); + + drfa.computeCheckPeriod(); + assertEquals(drfa.computeCheckPeriod(), + DailyRollingFileAppender.TOP_OF_DAY); + + drfa.setDatePattern("yyyy-MM-dd mm.'log'"); + assertEquals(drfa.computeCheckPeriod(), + DailyRollingFileAppender.TOP_OF_MINUTE); + + drfa.setDatePattern("yyyy-MM-dd a.'log'"); + assertEquals(drfa.computeCheckPeriod(), + DailyRollingFileAppender.HALF_DAY); + + drfa.setDatePattern("yyyy-MM-dd HH.'log'"); + assertEquals(drfa.computeCheckPeriod(), + DailyRollingFileAppender.TOP_OF_HOUR); + + drfa.setDatePattern("yyyy-MM.'log'"); + assertEquals(drfa.computeCheckPeriod(), + DailyRollingFileAppender.TOP_OF_MONTH); + + drfa.setDatePattern("'log'HH'log'"); + assertEquals(drfa.computeCheckPeriod(), + DailyRollingFileAppender.TOP_OF_HOUR); + } + + + /** + * Test of RollingCalendar. + */ + public + void testRC1() { + RollingCalendar rc = new RollingCalendar(); + rc.setType(DailyRollingFileAppender.TOP_OF_DAY); + + Calendar c = Calendar.getInstance(); + + // jan, mar, may, july, aug, oct, dec have 31 days + int [] M31 = {0,2,4,6,7,9,11}; + + for(int i = 0; i < M31.length; i ++) { + for(int d = 1; d <=31; d++) { + for(int h = 0; h < 23; h++) { + c.clear(); + c.set(Calendar.YEAR, 20); + c.set(Calendar.MONTH, Calendar.JANUARY + M31[i]); + c.set(Calendar.DAY_OF_MONTH, d); + c.set(Calendar.HOUR_OF_DAY, h); + c.set(Calendar.MINUTE, 10); + c.set(Calendar.SECOND, 10); + c.set(Calendar.MILLISECOND, 88); + + c.setTime(rc.getNextCheckDate(c.getTime())); + if(d == 31) { + assertEquals(c.get(Calendar.MONTH),(Calendar.JANUARY+M31[i]+1)%12); + assertEquals(c.get(Calendar.DAY_OF_MONTH), 1); + } else { + assertEquals(c.get(Calendar.MONTH), Calendar.JANUARY+M31[i]); + assertEquals(c.get(Calendar.DAY_OF_MONTH), d+1); + } + assertEquals(c.get(Calendar.HOUR_OF_DAY), 0); + assertEquals(c.get(Calendar.MINUTE), 0); + assertEquals(c.get(Calendar.SECOND), 0); + assertEquals(c.get(Calendar.MILLISECOND), 0); + } + } + } + } + + /** + * RollingCalendar test. + */ + public + void testRC2() { + RollingCalendar rc = new RollingCalendar(); + + rc.setType(DailyRollingFileAppender.TOP_OF_HOUR); + + Calendar c = Calendar.getInstance(); + + // jan, mar, may, july, aug, oct, dec have 31 days + int [] M31 = {0,2,4,6,7,9,11}; + + for(int i = 0; i < M31.length; i ++) { + System.out.println("Month = "+(M31[i]+1)); + for(int d = 1; d <= 31; d++) { + for(int h = 0; h < 23; h++) { + for(int m = 0; m <= 59; m++) { + c.clear(); + c.set(Calendar.YEAR, 20); + c.set(Calendar.MONTH, Calendar.JANUARY + M31[i]); + c.set(Calendar.DAY_OF_MONTH, d); + c.set(Calendar.HOUR_OF_DAY, h); + c.set(Calendar.MINUTE, m); + c.set(Calendar.SECOND, 12); + c.set(Calendar.MILLISECOND, 88); + + boolean dltState0 = c.getTimeZone().inDaylightTime(c.getTime()); + c.setTime(rc.getNextCheckDate(c.getTime())); + boolean dltState1 = c.getTimeZone().inDaylightTime(c.getTime()); + + assertEquals(c.get(Calendar.MILLISECOND), 0); + assertEquals(c.get(Calendar.SECOND), 0); + assertEquals(c.get(Calendar.MINUTE), 0); + + if(dltState0 == dltState1) { + assertEquals(c.get(Calendar.HOUR_OF_DAY), (h+1)%24); + } else { + // returning to standard time + if(dltState0) { + assertEquals(c.get(Calendar.HOUR_OF_DAY), h); + } else { // switching to day light saving time + //System.err.println("m="+m+", h="+h+", d="+d+", i="+i); + //if(h==2) { + // System.err.println(c); + //} + //assertEquals(c.get(Calendar.HOUR_OF_DAY), (h+2)%24); + } + } + + if(h == 23) { + assertEquals(c.get(Calendar.DAY_OF_MONTH), (d+1)%32); + if(d == 31) { + assertEquals(c.get(Calendar.MONTH), + (Calendar.JANUARY+M31[i]+1)%12); + } else { + assertEquals(c.get(Calendar.MONTH), + Calendar.JANUARY+M31[i]); + } + } else { + assertEquals(c.get(Calendar.DAY_OF_MONTH), d); + assertEquals(c.get(Calendar.MONTH), Calendar.JANUARY+M31[i]); + } + } + } + } + } + } + + /** + * RollingCalendar test. + */ + public + void testRC3() { + RollingCalendar rc = new RollingCalendar(); + + rc.setType(DailyRollingFileAppender.TOP_OF_MINUTE); + + int[] S = {0, 1, 5, 10, 21, 30, 59}; + int[] M = {0, 1, 5, 10, 21, 30, 59}; + Calendar c = Calendar.getInstance(); + + // jan, mar, may, july, aug, oct, dec have 31 days + int [] M31 = {2,9,0,4,6,7,11}; + + for(int i = 0; i < M31.length; i ++) { + System.out.println("Month = "+(M31[i]+1)); + for(int d = 1; d <= 31; d++) { + for(int h = 0; h < 23; h++) { + for(int m = 0; m < M.length; m++) { + for(int s = 0; s < S.length; s++) { + c.clear(); + c.set(Calendar.YEAR, 20); + c.set(Calendar.MONTH, Calendar.JANUARY + M31[i]); + c.set(Calendar.DAY_OF_MONTH, d); + c.set(Calendar.HOUR_OF_DAY, h); + c.set(Calendar.MINUTE, M[m]); + c.set(Calendar.SECOND, S[s]); + c.set(Calendar.MILLISECOND, 88); + c.add(Calendar.MILLISECOND, 1); + + boolean dltState0 = c.getTimeZone().inDaylightTime(c.getTime()); + + c.setTime(rc.getNextCheckDate(c.getTime())); + c.add(Calendar.MILLISECOND, 0); + boolean dltState1 = c.getTimeZone().inDaylightTime(c.getTime()); + + assertEquals(c.get(Calendar.MILLISECOND), 0); + assertEquals(c.get(Calendar.SECOND), 0); + assertEquals(c.get(Calendar.MINUTE), (M[m]+1)%60); + + if(M[m] == 59) { + if(dltState0 == dltState1) { + assertEquals(c.get(Calendar.HOUR_OF_DAY), (h+1)%24); + } + if(h == 23) { + assertEquals(c.get(Calendar.DAY_OF_MONTH), (d+1)%32); + if(d == 31) { + assertEquals(c.get(Calendar.MONTH), + (Calendar.JANUARY+M31[i]+1)%12); + } else { + assertEquals(c.get(Calendar.MONTH), + Calendar.JANUARY+M31[i]); + } + } else { + assertEquals(c.get(Calendar.DAY_OF_MONTH), d); + } + } else { + // allow discrepancies only if we are switching from std to dls time + if(c.get(Calendar.HOUR_OF_DAY) != h) { + c.add(Calendar.HOUR_OF_DAY, +1); + boolean dltState2 = c.getTimeZone().inDaylightTime(c.getTime()); + if(dltState1 == dltState2) { + fail("No switch"); + } + } + assertEquals(c.get(Calendar.DAY_OF_MONTH), d); + assertEquals(c.get(Calendar.MONTH), Calendar.JANUARY+M31[i]); + } + } + } + } + } + } + } + + + /** + * Common test code for 3 parameter constructor. + * + * @throws IOException if IOException during test. + */ + public void test3Param(final String datePattern, + final String filename) throws IOException { + Layout layout = new SimpleLayout(); + DailyRollingFileAppender appender = + new DailyRollingFileAppender(layout, filename, datePattern); + assertEquals(datePattern, appender.getDatePattern()); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + root.info("Hello, World"); + assertTrue(new File(filename).exists()); + } + + /** + * Creates an appender with an unrecognized top-of-year pattern. + * + * @throws IOException if IOException during test. + */ + public void testTopOfYear() throws IOException { + try { + test3Param("'.'yyyy", "output/drfa_topOfYear.log"); + fail("Expected illegal state exception."); + } catch(IllegalStateException ex) { + assertNotNull(ex); + } + } + + /** + * Creates an appender with a top-of-month pattern. + * + * @throws IOException if IOException during test. + */ + public void testTopOfMonth() throws IOException { + test3Param("'.'yyyy-MM", "output/drfa_topOfMonth.log"); + } + + + /** + * Creates an appender with a top-of-week pattern. + * + * @throws IOException if IOException during test. + */ + public void testTopOfWeek() throws IOException { + test3Param("'.'yyyy-w", "output/drfa_topOfWeek.log"); + } + + /** + * Creates an appender with a top-of-day pattern. + * + * @throws IOException if IOException during test. + */ + public void testTopOfDay() throws IOException { + test3Param("'.'yyyy-MM-dd", "output/drfa_topOfDay.log"); + } + + + /** + * Creates an appender with a half day pattern. + * + * @throws IOException if IOException during test. + */ + public void testHalfDay() throws IOException { + test3Param("'.'yyyy-MM-dd-a", "output/drfa_halfDay.log"); + } + + /** + * Creates an appender with a top-of-hour pattern. + * + * @throws IOException if IOException during test. + */ + public void testTopOfHour() throws IOException { + test3Param("'.'yyyy-MM-dd-HH", "output/drfa_topOfHour.log"); + } + + /** + * Creates an appender with a top-of-day pattern. + * + * @throws IOException if IOException during test. + */ + public void testTopOfMinute() throws IOException { + test3Param("'.'yyyy-MM-dd-HH-mm", "output/drfa_topOfMinute.log"); + } + + /** + * Attempts to rollOver with no date pattern set. + * + * @throws IOException if IOException during test. + */ + public void testRolloverNoPattern() throws IOException { + Layout layout = new SimpleLayout(); + DailyRollingFileAppender appender = + new DailyRollingFileAppender(layout, "output/drfa_nopattern.log", null); + + VectorErrorHandler errorHandler = new VectorErrorHandler(); + appender.setErrorHandler(errorHandler); + appender.rollOver(); + assertEquals(1, errorHandler.size()); + assertEquals("Missing DatePattern option in rollOver().", + errorHandler.getMessage(0)); + } + + /** + * Tests rollOver with a minute periodicity. + * + * @throws IOException + * @throws InterruptedException + */ + public void testMinuteRollover() throws IOException, InterruptedException { + Layout layout = new SimpleLayout(); + String filename = "output/drfa_minuteRollover.log"; + String pattern = "'.'yyyy-MM-dd-HH-mm"; + + DailyRollingFileAppender appender = + new DailyRollingFileAppender(layout, + filename, + pattern); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + File firstFile = + new File(filename + new SimpleDateFormat(pattern).format(new Date())); + root.info("Hello, World"); + // + // create a file by that name so it has to be deleted + // on rollover + firstFile.createNewFile(); + assertTrue(firstFile.exists()); + assertEquals(0, firstFile.length()); + + Calendar cal = Calendar.getInstance(); + long now = cal.getTime().getTime(); + cal.set(Calendar.SECOND, 3); + cal.set(Calendar.MILLISECOND, 0); + cal.add(Calendar.MINUTE, 1); + long until = cal.getTime().getTime(); + Thread.sleep(until - now); + root.info("Hello, World"); + assertTrue(firstFile.exists()); + assertTrue(firstFile.length() > 0); + + } + + /** + * Naive append method to combine rollover fragments. + * @param combined stream to which source is appended. + * @param source stream containing bytes to append. + * @param buf byte array to use in transfer. + * @throws IOException if io error during operation. + */ + private static void append(final FileOutputStream combined, + final FileInputStream source, + final byte[] buf) throws IOException { + int count1 = source.read(buf); + if (count1 > 0) { + combined.write(buf, 0, count1); + } + source.close(); + } + + /** + * Tests rollOver when log file is unabled to be renamed. + * See bug 43374. + * + * @throws IOException if io error. + * @throws InterruptedException if test interrupted while waiting for the start of the next minute. + */ + public void testBlockedRollover() throws IOException, InterruptedException { + Layout layout = new SimpleLayout(); + String filename = "output/drfa_blockedRollover.log"; + String pattern = "'.'yyyy-MM-dd-HH-mm"; + + + Date start = new Date(); + DailyRollingFileAppender appender = + new DailyRollingFileAppender(layout, + filename, + pattern); + appender.setAppend(false); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + // + // open next two anticipated rollover file names + // + File block1 = new File(filename + new SimpleDateFormat(pattern).format(start)); + File block2 = new File(filename + new SimpleDateFormat(pattern).format( + new Date(start.getTime() + 60000))); + FileOutputStream os1 = new FileOutputStream(block1); + FileOutputStream os2 = new FileOutputStream(block2); + root.info("Prior to rollover"); + // + // sleep until three seconds into next minute + // + Thread.sleep(63000 - (start.getTime() % 60000)); + // + // should trigger failed rollover + // + root.info("Rollover attempt while blocked"); + os1.close(); + os2.close(); + root.info("Message after block removed"); + appender.close(); + // + // combine base file and potential rollovers + // since rollover may or may not have been blocked + // depending on platform. + // + String combinedFilename = "output/drfa_blockedRollover.combined"; + FileOutputStream combined = new FileOutputStream(combinedFilename); + byte[] buf = new byte[500]; + append(combined, new FileInputStream(block1), buf); + append(combined, new FileInputStream(block2), buf); + append(combined, new FileInputStream(filename), buf); + combined.close(); + assertTrue(Compare.compare(combinedFilename, + "witness/drfa_blockedRollover.log")); + } + + /** Check that the computed rollover period for a pattern containing a week as the finest unit is set to be + * a week. Due to a locale mismatch this was incorrect in non-English locales. See bug 40888. + * + */ + public void testWeeklyRollover() { + DailyRollingFileAppender drfa = new DailyRollingFileAppender(); + drfa.setDatePattern("'.'yyyy-ww"); + int checkPeriod = drfa.computeCheckPeriod(); + assertEquals(DailyRollingFileAppender.TOP_OF_WEEK, checkPeriod); + } + + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/DefaultThrowableRendererTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/DefaultThrowableRendererTest.java new file mode 100644 index 00000000000..5b574770dc6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/DefaultThrowableRendererTest.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import junit.framework.TestCase; +import org.apache.log4j.spi.ThrowableRenderer; + +public class DefaultThrowableRendererTest extends TestCase { + public DefaultThrowableRendererTest(final String name) { + super(name); + } + + public void testDefaultRender() { + ThrowableRenderer r = new DefaultThrowableRenderer(); + Exception ex = new Exception(); + String[] strRep = r.doRender(ex); + assertNotNull(strRep); + assertTrue(strRep.length > 0); + for(int i = 0; i < strRep.length; i++) { + assertNotNull(strRep[i]); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/MyPatternLayout.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedMyPatternLayout.java similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/MyPatternLayout.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedMyPatternLayout.java index d16c0a984dd..4ec375ceb51 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/MyPatternLayout.java +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedMyPatternLayout.java @@ -34,14 +34,14 @@ import org.apache.log4j.helpers.PatternParser; @see org.apache.log4j.EnhancedPatternLayout @author Anders Kristensen */ -public class MyPatternLayout extends EnhancedPatternLayout { +public class EnhancedMyPatternLayout extends EnhancedPatternLayout { public - MyPatternLayout() { + EnhancedMyPatternLayout() { this(DEFAULT_CONVERSION_PATTERN); } public - MyPatternLayout(String pattern) { + EnhancedMyPatternLayout(String pattern) { super(pattern); } diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedPatternLayoutTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedPatternLayoutTest.java new file mode 100644 index 00000000000..39d5767652b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedPatternLayoutTest.java @@ -0,0 +1,143 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Test for EnhancedPatternLayout. + * + */ +public class EnhancedPatternLayoutTest extends LayoutTest { + /** + * Construct new instance of PatternLayoutTest. + * + * @param testName test name. + */ + public EnhancedPatternLayoutTest(final String testName) { + super(testName, "text/plain", true, null, null); + } + + /** + * @{inheritDoc} + */ + protected Layout createLayout() { + return new EnhancedPatternLayout("[%t] %p %c - %m%n"); + } + + /** + * Tests format. + */ + public void testFormat() { + Logger logger = Logger.getLogger("org.apache.log4j.LayoutTest"); + LoggingEvent event = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.INFO, "Hello, World", null); + EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); + String result = layout.format(event); + StringBuffer buf = new StringBuffer(100); + buf.append('['); + buf.append(event.getThreadName()); + buf.append("] "); + buf.append(event.getLevel().toString()); + buf.append(' '); + buf.append(event.getLoggerName()); + buf.append(" - "); + buf.append(event.getMessage()); + buf.append(System.getProperty("line.separator")); + assertEquals(buf.toString(), result); + } + + /** + * Tests getPatternFormat(). + */ + public void testGetPatternFormat() { + EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); + assertEquals("[%t] %p %c - %m%n", layout.getConversionPattern()); + } + + /** + * Tests DEFAULT_CONVERSION_PATTERN constant. + */ + public void testDefaultConversionPattern() { + assertEquals("%m%n", EnhancedPatternLayout.DEFAULT_CONVERSION_PATTERN); + } + + /** + * Tests DEFAULT_CONVERSION_PATTERN constant. + */ + public void testTTCCConversionPattern() { + assertEquals( + "%r [%t] %p %c %x - %m%n", EnhancedPatternLayout.TTCC_CONVERSION_PATTERN); + } + + /** + * Tests buffer downsizing code path. + */ + public void testFormatResize() { + Logger logger = Logger.getLogger("org.apache.log4j.xml.PatternLayoutTest"); + NDC.clear(); + + char[] msg = new char[2000]; + + for (int i = 0; i < msg.length; i++) { + msg[i] = 'A'; + } + + LoggingEvent event1 = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.DEBUG, new String(msg), null); + EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); + String result = layout.format(event1); + LoggingEvent event2 = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.WARN, "Hello, World", null); + result = layout.format(event2); + assertEquals("[", result.substring(0, 1)); + } + + /** + * Class to ensure that protected members are still available. + */ + public static final class DerivedPatternLayout extends EnhancedPatternLayout { + /** + * Constructs a new instance of DerivedPatternLayout. + */ + public DerivedPatternLayout() { + } + + /** + * Get BUF_SIZE. + * @return return initial buffer size in characters. + * @deprecated + */ + public int getBufSize() { + return BUF_SIZE; + } + + /** + * Get MAX_CAPACITY. + * @return maximum capacity in characters. + * @deprecated + */ + public int getMaxCapacity() { + return MAX_CAPACITY; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedPatternLayoutTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedPatternLayoutTestCase.java new file mode 100644 index 00000000000..5ef7a6fd2aa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedPatternLayoutTestCase.java @@ -0,0 +1,589 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; +import org.apache.log4j.util.AbsoluteDateAndTimeFilter; +import org.apache.log4j.util.AbsoluteTimeFilter; +import org.apache.log4j.util.Compare; +import org.apache.log4j.util.ControlFilter; +import org.apache.log4j.util.Filter; +import org.apache.log4j.util.ISO8601Filter; +import org.apache.log4j.util.EnhancedJunitTestRunnerFilter; +import org.apache.log4j.util.EnhancedLineNumberFilter; +import org.apache.log4j.util.RelativeTimeFilter; +import org.apache.log4j.util.SunReflectFilter; +import org.apache.log4j.util.Transformer; +import org.apache.log4j.util.MDCOrderFilter; +import org.apache.log4j.spi.ThrowableInformation; + +import java.text.ParsePosition; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.TimeZone; +import java.io.*; + + +public class EnhancedPatternLayoutTestCase extends TestCase { + static String TEMP = "output/temp"; + static String FILTERED = "output/filtered"; + static String EXCEPTION1 = "java.lang.Exception: Just testing"; + static String EXCEPTION2 = "\\s*at .*\\(.*\\)"; + static String EXCEPTION3 = "\\s*at .*\\((Native Method|Unknown Source)\\)"; + static String EXCEPTION4 = "\\s*at .*\\(.*Compiled Code\\)"; + + static String PAT0 = + "\\[main]\\ (DEBUG|INFO|WARN|ERROR|FATAL) .* - Message \\d{1,2}"; + static String PAT1 = Filter.ISO8601_PAT + " " + PAT0; + static String PAT2 = Filter.ABSOLUTE_DATE_AND_TIME_PAT + " " + PAT0; + static String PAT3 = Filter.ABSOLUTE_TIME_PAT + " " + PAT0; + static String PAT4 = Filter.RELATIVE_TIME_PAT + " " + PAT0; + static String PAT5 = + "\\[main]\\ (DEBUG|INFO|WARN|ERROR|FATAL) .* : Message \\d{1,2}"; + static String PAT6 = + "\\[main]\\ (DEBUG|INFO |WARN |ERROR|FATAL) org.apache.log4j.EnhancedPatternLayoutTestCase.common\\(EnhancedPatternLayoutTestCase.java(:\\d{1,4})?\\): Message \\d{1,2}"; + static String PAT11a = + "^(DEBUG|INFO |WARN |ERROR|FATAL) \\[main]\\ log4j.EnhancedPatternLayoutTest: Message \\d{1,2}"; + static String PAT11b = + "^(DEBUG|INFO |WARN |ERROR|FATAL) \\[main]\\ root: Message \\d{1,2}"; + static String PAT12 = + "^\\[main]\\ (DEBUG|INFO |WARN |ERROR|FATAL) " + + "org.apache.log4j.EnhancedPatternLayoutTestCase.common\\(EnhancedPatternLayoutTestCase.java:\\d{3}\\): " + + "Message \\d{1,2}"; + static String PAT13 = + "^\\[main]\\ (DEBUG|INFO |WARN |ERROR|FATAL) " + + "apache.log4j.EnhancedPatternLayoutTestCase.common\\(EnhancedPatternLayoutTestCase.java:\\d{3}\\): " + + "Message \\d{1,2}"; + static String PAT14 = + "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL)\\ \\d{1,2}\\ *- Message \\d{1,2}"; + static String PAT_MDC_1 = ""; + Logger root; + Logger logger; + + + public EnhancedPatternLayoutTestCase(final String name) { + super(name); + } + + public void setUp() { + root = Logger.getRootLogger(); + logger = Logger.getLogger(EnhancedPatternLayoutTest.class); + } + + public void tearDown() { + root.getLoggerRepository().resetConfiguration(); + } + + /** + * Configures log4j from a properties file resource in class loader path. + * @param fileName resource name, only last element is significant. + * @throws IOException if resource not found or error reading resource. + */ + private static void configure(final String fileName) throws IOException { + PropertyConfigurator.configure(fileName); + } + + /** + * Compares actual and expected files. + * @param actual file name for file generated by test + * @param expected resource name containing expected output + * @return true if files are the same after adjustments + * @throws IOException if IO error during comparison. + */ + private static boolean compare(final String actual, + final String expected) throws IOException { + return Compare.compare(actual, expected); + } + + public void test1() throws Exception { + configure("input/pattern/enhancedPatternLayout1.properties"); + common(); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.1")); + } + + public void test2() throws Exception { + configure("input/pattern/enhancedPatternLayout2.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT1, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new ISO8601Filter(), + new SunReflectFilter(), new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.2")); + } + + public void test3() throws Exception { + configure("input/pattern/enhancedPatternLayout3.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT1, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new ISO8601Filter(), + new SunReflectFilter(), new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.3")); + } + + // Output format: + // 06 avr. 2002 18:30:58,937 [main] DEBUG atternLayoutTest - Message 0 + public void test4() throws Exception { + configure("input/pattern/enhancedPatternLayout4.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT2, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new AbsoluteDateAndTimeFilter(), + new SunReflectFilter(), new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.4")); + } + + public void test5() throws Exception { + configure("input/pattern/enhancedPatternLayout5.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT2, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new AbsoluteDateAndTimeFilter(), + new SunReflectFilter(), new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.5")); + } + + // 18:54:19,201 [main] DEBUG atternLayoutTest - Message 0 + public void test6() throws Exception { + configure("input/pattern/enhancedPatternLayout6.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT3, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new AbsoluteTimeFilter(), + new SunReflectFilter(), new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.6")); + } + + public void test7() throws Exception { + configure("input/pattern/enhancedPatternLayout7.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT3, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new AbsoluteTimeFilter(), + new SunReflectFilter(), new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.7")); + } + + public void test8() throws Exception { + configure("input/pattern/enhancedPatternLayout8.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT4, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new RelativeTimeFilter(), + new SunReflectFilter(), new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.8")); + } + + public void test9() throws Exception { + configure("input/pattern/enhancedPatternLayout9.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT5, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.9")); + } + + public void test10() throws Exception { + configure("input/pattern/enhancedPatternLayout10.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT6, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.10")); + } + + public void test11() throws Exception { + configure("input/pattern/enhancedPatternLayout11.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT11a, PAT11b, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.11")); + } + + public void test12() throws Exception { + configure("input/pattern/enhancedPatternLayout12.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT12, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.12")); + } + + public void test13() throws Exception { + configure("input/pattern/enhancedPatternLayout13.properties"); + common(); + + ControlFilter cf1 = + new ControlFilter( + new String[] { PAT13, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.13")); + } + + /** + * Test of class abbreviation. + * + * @throws Exception + */ + public void test14() throws Exception { + configure("input/pattern/enhancedPatternLayout14.properties"); + common(); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.14")); + } + + + private static void clearMDC() throws Exception { + java.util.Hashtable context = MDC.getContext(); + if (context != null) { + context.clear(); + } + } + + public void testMDC1() throws Exception { + configure("input/pattern/enhancedPatternLayout.mdc.1.properties"); + clearMDC(); + MDC.put("key1", "va11"); + MDC.put("key2", "va12"); + logger.debug("Hello World"); + MDC.remove("key1"); + MDC.remove("key2"); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter(), + new MDCOrderFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.mdc.1")); + } + /** + * Tests log4j 1.2 style extension of EnhancedPatternLayout. + * Was test14 in log4j 1.2. + * @throws Exception + */ + public void test15() throws Exception { + configure("input/pattern/enhancedPatternLayout15.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT14, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter() + }); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.15")); + } + /** + * Tests explicit UTC time zone in pattern. + * @throws Exception + */ + public void test16() throws Exception { + final long start = new Date().getTime(); + configure("input/pattern/enhancedPatternLayout16.properties"); + common(); + final long end = new Date().getTime(); + FileReader reader = new FileReader("output/patternLayout16.log"); + char chars[] = new char[50]; + reader.read(chars, 0, chars.length); + reader.close(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + format.setTimeZone(TimeZone.getTimeZone("GMT+0")); + String utcStr = new String(chars, 0, 19); + Date utcDate = format.parse(utcStr, new ParsePosition(0)); + assertTrue(utcDate.getTime() >= start - 1000 && utcDate.getTime() < end + 1000); + String cstStr = new String(chars, 21, 19); + format.setTimeZone(TimeZone.getTimeZone("GMT-6")); + Date cstDate = format.parse(cstStr, new ParsePosition(0)); + assertFalse(cstStr.equals(utcStr)); + assertTrue(cstDate.getTime() >= start - 1000 && cstDate.getTime() < end + 1000); + } + + void common() { + int i = -1; + + logger.debug("Message " + ++i); + root.debug("Message " + i); + + logger.info("Message " + ++i); + root.info("Message " + i); + + logger.warn("Message " + ++i); + root.warn("Message " + i); + + logger.error("Message " + ++i); + root.error("Message " + i); + + logger.log(Level.FATAL, "Message " + ++i); + root.log(Level.FATAL, "Message " + i); + + Exception e = new Exception("Just testing"); + + logger.debug("Message " + ++i, e); + logger.info("Message " + ++i, e); + logger.warn("Message " + ++i, e); + logger.error("Message " + ++i, e); + logger.log(Level.FATAL, "Message " + ++i, e); + } + + /** + Test case for MDC conversion pattern. */ + public void testMDC2() throws Exception { + String OUTPUT_FILE = "output/patternLayout.mdc.2"; + String WITNESS_FILE = "witness/pattern/enhancedPatternLayout.mdc.2"; + + String mdcMsgPattern1 = "%m : %X%n"; + String mdcMsgPattern2 = "%m : %X{key1}%n"; + String mdcMsgPattern3 = "%m : %X{key2}%n"; + String mdcMsgPattern4 = "%m : %X{key3}%n"; + String mdcMsgPattern5 = "%m : %X{key1},%X{key2},%X{key3}%n"; + + // set up appender + EnhancedPatternLayout layout = new EnhancedPatternLayout("%m%n"); + Appender appender = new FileAppender(layout, OUTPUT_FILE, false); + + // set appender on root and set level to debug + root.addAppender(appender); + root.setLevel(Level.DEBUG); + + clearMDC(); + // output starting message + root.debug("starting mdc pattern test"); + + layout.setConversionPattern(mdcMsgPattern1); + layout.activateOptions(); + root.debug("empty mdc, no key specified in pattern"); + + layout.setConversionPattern(mdcMsgPattern2); + layout.activateOptions(); + root.debug("empty mdc, key1 in pattern"); + + layout.setConversionPattern(mdcMsgPattern3); + layout.activateOptions(); + root.debug("empty mdc, key2 in pattern"); + + layout.setConversionPattern(mdcMsgPattern4); + layout.activateOptions(); + root.debug("empty mdc, key3 in pattern"); + + layout.setConversionPattern(mdcMsgPattern5); + layout.activateOptions(); + root.debug("empty mdc, key1, key2, and key3 in pattern"); + + MDC.put("key1", "value1"); + MDC.put("key2", "value2"); + + layout.setConversionPattern(mdcMsgPattern1); + layout.activateOptions(); + root.debug("filled mdc, no key specified in pattern"); + + layout.setConversionPattern(mdcMsgPattern2); + layout.activateOptions(); + root.debug("filled mdc, key1 in pattern"); + + layout.setConversionPattern(mdcMsgPattern3); + layout.activateOptions(); + root.debug("filled mdc, key2 in pattern"); + + layout.setConversionPattern(mdcMsgPattern4); + layout.activateOptions(); + root.debug("filled mdc, key3 in pattern"); + + layout.setConversionPattern(mdcMsgPattern5); + layout.activateOptions(); + root.debug("filled mdc, key1, key2, and key3 in pattern"); + + MDC.remove("key1"); + MDC.remove("key2"); + + layout.setConversionPattern("%m%n"); + layout.activateOptions(); + root.debug("finished mdc pattern test"); + + + Transformer.transform( + OUTPUT_FILE, FILTERED, + new Filter[] { + new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter(), + new MDCOrderFilter() + }); + + assertTrue(compare(FILTERED, WITNESS_FILE)); + } + /** + Test case for throwable conversion pattern. */ + public void testThrowable() throws Exception { + String OUTPUT_FILE = "output/patternLayout.throwable"; + String WITNESS_FILE = "witness/pattern/enhancedPatternLayout.throwable"; + + + // set up appender + EnhancedPatternLayout layout = new EnhancedPatternLayout("%m%n"); + Appender appender = new FileAppender(layout, OUTPUT_FILE, false); + + // set appender on root and set level to debug + root.addAppender(appender); + root.setLevel(Level.DEBUG); + + // output starting message + root.debug("starting throwable pattern test"); + Exception ex = new Exception("Test Exception"); + root.debug("plain pattern, no exception"); + root.debug("plain pattern, with exception", ex); + layout.setConversionPattern("%m%n%throwable"); + layout.activateOptions(); + root.debug("%throwable, no exception"); + root.debug("%throwable, with exception", ex); + + layout.setConversionPattern("%m%n%throwable{short}"); + layout.activateOptions(); + root.debug("%throwable{short}, no exception"); + root.debug("%throwable{short}, with exception", ex); + + layout.setConversionPattern("%m%n%throwable{none}"); + layout.activateOptions(); + root.debug("%throwable{none}, no exception"); + root.debug("%throwable{none}, with exception", ex); + + layout.setConversionPattern("%m%n%throwable{0}"); + layout.activateOptions(); + root.debug("%throwable{0}, no exception"); + root.debug("%throwable{0}, with exception", ex); + + layout.setConversionPattern("%m%n%throwable{1}"); + layout.activateOptions(); + root.debug("%throwable{1}, no exception"); + root.debug("%throwable{1}, with exception", ex); + + layout.setConversionPattern("%m%n%throwable{100}"); + layout.activateOptions(); + root.debug("%throwable{100}, no exception"); + root.debug("%throwable{100}, with exception", ex); + + // + // manufacture a pattern to get just the first two lines + // + String[] trace = new ThrowableInformation(ex).getThrowableStrRep(); + layout.setConversionPattern("%m%n%throwable{" + (2 - trace.length) + "}"); + layout.activateOptions(); + root.debug("%throwable{-n}, no exception"); + root.debug("%throwable{-n}, with exception", ex); + + + Transformer.transform( + OUTPUT_FILE, FILTERED, + new Filter[] { + new EnhancedLineNumberFilter(), new SunReflectFilter(), + new EnhancedJunitTestRunnerFilter(), + new MDCOrderFilter() + }); + + assertTrue(compare(FILTERED, WITNESS_FILE)); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedThrowableRendererTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedThrowableRendererTest.java new file mode 100644 index 00000000000..0f7ed21f79e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/EnhancedThrowableRendererTest.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import junit.framework.TestCase; +import org.apache.log4j.spi.ThrowableRenderer; + +/** + * Test for EnhancedThrowableRenderer. + * + */ +public class EnhancedThrowableRendererTest extends TestCase { + /** + * Construct new instance. + * @param name test name. + */ + public EnhancedThrowableRendererTest(final String name) { + super(name); + } + + /** + * Render simple exception. + */ + public void testEnhancedRender() { + ThrowableRenderer r = new EnhancedThrowableRenderer(); + Exception ex = new Exception(); + String[] strRep = r.doRender(ex); + assertNotNull(strRep); + assertTrue(strRep.length > 0); + for(int i = 0; i < strRep.length; i++) { + assertNotNull(strRep[i]); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/FileAppenderTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/FileAppenderTest.java new file mode 100644 index 00000000000..40fc89529c6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/FileAppenderTest.java @@ -0,0 +1,86 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; + +import java.io.File; + +import java.lang.reflect.Method; + + +/** + * + * FileAppender tests. + * + * @author Curt Arnold + */ +public class FileAppenderTest extends TestCase { + /** + * Tests that any necessary directories are attempted to + * be created if they don't exist. See bug 9150. + * + */ + public void testDirectoryCreation() { + // + // known to fail on JDK 1.1 + if (!System.getProperty("java.version").startsWith("1.1.")) { + File newFile = new File("output/newdir/temp.log"); + newFile.delete(); + + File newDir = new File("output/newdir"); + newDir.delete(); + + org.apache.log4j.FileAppender wa = new org.apache.log4j.FileAppender(); + wa.setFile("output/newdir/temp.log"); + wa.setLayout(new PatternLayout("%m%n")); + wa.activateOptions(); + + assertTrue(new File("output/newdir/temp.log").exists()); + } + } + + /** + * Tests that the return type of getThreshold is Priority. + * @throws Exception + */ + public void testGetThresholdReturnType() throws Exception { + Method method = FileAppender.class.getMethod("getThreshold", (Class[]) null); + assertTrue(method.getReturnType() == Priority.class); + } + + /** + * Tests getThreshold and setThreshold. + */ + public void testgetSetThreshold() { + FileAppender appender = new FileAppender(); + Priority debug = Level.DEBUG; + assertNull(appender.getThreshold()); + appender.setThreshold(debug); + assertTrue(appender.getThreshold() == debug); + } + + /** + * Tests isAsSevereAsThreshold. + */ + public void testIsAsSevereAsThreshold() { + FileAppender appender = new FileAppender(); + Priority debug = Level.DEBUG; + assertTrue(appender.isAsSevereAsThreshold(debug)); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/HTMLLayoutTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/HTMLLayoutTest.java new file mode 100644 index 00000000000..7837a2cc090 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/HTMLLayoutTest.java @@ -0,0 +1,242 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.LoggingEvent; +import org.w3c.dom.Document; +import org.xml.sax.InputSource; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import java.io.Reader; +import java.io.StringReader; +import java.util.Hashtable; + + +/** + * Test for HTMLLayout. + * + * @author Curt Arnold + */ +public class HTMLLayoutTest extends LayoutTest { + /** + * Construct new instance of XMLLayoutTest. + * + * @param testName test name. + */ + public HTMLLayoutTest(final String testName) { + super(testName, "text/html", false, null, null); + } + + /** + * @{inheritDoc} + */ + protected Layout createLayout() { + return new HTMLLayout(); + } + + /** + * Parses the string as the body of an XML document and returns the document element. + * @param source source string. + * @return document element. + * @throws Exception if parser can not be constructed or source is not a valid XML document. + */ + private Document parse(final String source) throws Exception { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(false); + factory.setCoalescing(true); + + DocumentBuilder builder = factory.newDocumentBuilder(); + Reader reader = new StringReader(source); + + return builder.parse(new InputSource(reader)); + } + + /** + * Tests formatted results. + * @throws Exception if unable to create parser or output is not valid XML. + */ + public void testFormat() throws Exception { + Logger logger = Logger.getLogger("org.apache.log4j.xml.HTMLLayoutTest"); + NDC.push("NDC goes here"); + + LoggingEvent event = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.INFO, "Hello, World", null); + HTMLLayout layout = (HTMLLayout) createLayout(); + layout.setLocationInfo(true); + + String result = layout.format(event); + NDC.pop(); + + String src = + "<!DOCTYPE body [ <!ENTITY nbsp ' '>]><body>" + result + "</body>"; + parse(src); + } + + /** + * Tests getHeader. + */ + public void testGetHeader() { + assertEquals("<!DOCTYPE", createLayout().getHeader().substring(0, 9)); + } + + /** + * Tests getHeader with locationInfo = true. + */ + public void testGetHeaderWithLocation() { + HTMLLayout layout = (HTMLLayout) createLayout(); + layout.setLocationInfo(true); + assertEquals("<!DOCTYPE", layout.getHeader().substring(0, 9)); + } + + /** + * Tests getFooter. + */ + public void testGetFooter() { + assertEquals("</table>", createLayout().getFooter().substring(0, 8)); + } + + /** + * Tests getLocationInfo and setLocationInfo. + */ + public void testGetSetLocationInfo() { + HTMLLayout layout = new HTMLLayout(); + assertEquals(false, layout.getLocationInfo()); + layout.setLocationInfo(true); + assertEquals(true, layout.getLocationInfo()); + layout.setLocationInfo(false); + assertEquals(false, layout.getLocationInfo()); + } + + /** + * Tests activateOptions(). + */ + public void testActivateOptions() { + HTMLLayout layout = new HTMLLayout(); + layout.activateOptions(); + } + + /** + * Tests getTitle and setTitle. + */ + public void testGetSetTitle() { + HTMLLayout layout = new HTMLLayout(); + assertEquals("Log4J Log Messages", layout.getTitle()); + layout.setTitle(null); + assertNull(layout.getTitle()); + + String newTitle = "A treatise on messages of log persuasion"; + layout.setTitle(newTitle); + assertEquals(newTitle, layout.getTitle()); + } + + /** + * Tests buffer downsizing and DEBUG and WARN colorization code paths. + */ + public void testFormatResize() { + Logger logger = Logger.getLogger("org.apache.log4j.xml.HTMLLayoutTest"); + NDC.clear(); + + char[] msg = new char[2000]; + + for (int i = 0; i < msg.length; i++) { + msg[i] = 'A'; + } + + LoggingEvent event1 = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.DEBUG, new String(msg), null); + HTMLLayout layout = (HTMLLayout) createLayout(); + layout.setLocationInfo(true); + + String result = layout.format(event1); + Exception ex = new IllegalArgumentException("'foo' is not a valid value."); + LoggingEvent event2 = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.WARN, "Hello, World", ex); + result = layout.format(event2); + assertEquals( + Layout.LINE_SEP + "<tr>", + result.substring(0, Layout.LINE_SEP.length() + 4)); + } + + + /** + * Level with arbitrary toString value. + */ + private static final class ProblemLevel extends Level { + private static final long serialVersionUID = 1L; + + /** + * Construct new instance. + * @param levelName level name, may not be null. + */ + public ProblemLevel(final String levelName) { + super(6000, levelName, 6); + } + } + + /** + * Tests problematic characters in multiple fields. + * @throws Exception if parser can not be constructed + * or source is not a valid XML document. + */ + public void testProblemCharacters() throws Exception { + String problemName = "com.example.bar<>&\"'"; + Logger logger = Logger.getLogger(problemName); + Level level = new ProblemLevel(problemName); + Exception ex = new IllegalArgumentException(problemName); + String threadName = Thread.currentThread().getName(); + Thread.currentThread().setName(problemName); + NDC.push(problemName); + Hashtable mdcMap = MDC.getContext(); + if (mdcMap != null) { + mdcMap.clear(); + } + MDC.put(problemName, problemName); + LoggingEvent event = + new LoggingEvent( + problemName, logger, level, problemName, ex); + HTMLLayout layout = (HTMLLayout) createLayout(); + String result = layout.format(event); + mdcMap = MDC.getContext(); + if (mdcMap != null) { + mdcMap.clear(); + } + + Thread.currentThread().setName(threadName); + + // + // do a little fixup to make output XHTML + // + StringBuffer buf = new StringBuffer( + "<!DOCTYPE table [<!ENTITY nbsp ' '>]><table>"); + buf.append(result); + buf.append("</table>"); + String doc = buf.toString(); + for(int i = doc.lastIndexOf("<br>"); + i != -1; + i = doc.lastIndexOf("<br>", i - 1)) { + buf.replace(i, i + 4, "<br/>"); + } + + parse(buf.toString()); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/HierarchyThresholdTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/HierarchyThresholdTestCase.java new file mode 100644 index 00000000000..3e885bde4f9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/HierarchyThresholdTestCase.java @@ -0,0 +1,125 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; + +import org.apache.log4j.util.Compare; +import org.apache.log4j.xml.XLevel; + +/** + Test the configuration of the hierarchy-wide threshold. + + @author Ceki G&uuml;lc&uuml; +*/ +public class HierarchyThresholdTestCase extends TestCase { + + static String TEMP = "output/temp"; + static Logger logger = Logger.getLogger(HierarchyThresholdTestCase.class); + + public HierarchyThresholdTestCase(String name) { + super(name); + } + + public void setUp() { + } + + public void tearDown() { + System.out.println("Tearing down test case."); + logger.getLoggerRepository().resetConfiguration(); + } + + public void test1() throws Exception { + PropertyConfigurator.configure("input/hierarchyThreshold1.properties"); + common(); + assertTrue(Compare.compare(TEMP, "witness/hierarchyThreshold.1")); + } + + public void test2() throws Exception { + PropertyConfigurator.configure("input/hierarchyThreshold2.properties"); + common(); + assertTrue(Compare.compare(TEMP, "witness/hierarchyThreshold.2")); + } + + public void test3() throws Exception { + PropertyConfigurator.configure("input/hierarchyThreshold3.properties"); + common(); + assertTrue(Compare.compare(TEMP, "witness/hierarchyThreshold.3")); + } + + public void test4() throws Exception { + PropertyConfigurator.configure("input/hierarchyThreshold4.properties"); + common(); + assertTrue(Compare.compare(TEMP, "witness/hierarchyThreshold.4")); + } + + public void test5() throws Exception { + PropertyConfigurator.configure("input/hierarchyThreshold5.properties"); + common(); + assertTrue(Compare.compare(TEMP, "witness/hierarchyThreshold.5")); + } + + public void test6() throws Exception { + PropertyConfigurator.configure("input/hierarchyThreshold6.properties"); + common(); + assertTrue(Compare.compare(TEMP, "witness/hierarchyThreshold.6")); + } + + public void test7() throws Exception { + PropertyConfigurator.configure("input/hierarchyThreshold7.properties"); + common(); + assertTrue(Compare.compare(TEMP, "witness/hierarchyThreshold.7")); + } + + public void test8() throws Exception { + PropertyConfigurator.configure("input/hierarchyThreshold8.properties"); + common(); + assertTrue(Compare.compare(TEMP, "witness/hierarchyThreshold.8")); + } + + + static + void common() { + String oldThreadName = Thread.currentThread().getName(); + Thread.currentThread().setName("main"); + + logger.log(XLevel.TRACE, "m0"); + logger.debug("m1"); + logger.info("m2"); + logger.warn("m3"); + logger.error("m4"); + logger.fatal("m5"); + + Thread.currentThread().setName(oldThreadName); + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new HierarchyThresholdTestCase("test1")); + suite.addTest(new HierarchyThresholdTestCase("test2")); + suite.addTest(new HierarchyThresholdTestCase("test3")); + suite.addTest(new HierarchyThresholdTestCase("test4")); + suite.addTest(new HierarchyThresholdTestCase("test5")); + suite.addTest(new HierarchyThresholdTestCase("test6")); + suite.addTest(new HierarchyThresholdTestCase("test7")); + suite.addTest(new HierarchyThresholdTestCase("test8")); + return suite; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/Last.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/Last.java new file mode 100644 index 00000000000..4286ab8ebe9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/Last.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; + +public class Last extends TestCase { + + public Last(String name) { + super(name); + } + + + public void test1() { + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new Last("test1")); + return suite; + } + +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/LayoutTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LayoutTest.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/LayoutTest.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LayoutTest.java diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LevelTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LevelTest.java new file mode 100644 index 00000000000..8ed550c17d7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LevelTest.java @@ -0,0 +1,267 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; + +import org.apache.log4j.util.SerializationTestHelper; +import java.util.Locale; + + +/** + * Tests of Level. + * + * @author Curt Arnold + * @since 1.2.12 + */ +public class LevelTest extends TestCase { + /** + * Constructs new instance of test. + * @param name test name. + */ + public LevelTest(final String name) { + super(name); + } + + /** + * Serialize Level.INFO and check against witness. + * @throws Exception if exception during test. + * + */ + public void testSerializeINFO() throws Exception { + int[] skip = new int[] { }; + SerializationTestHelper.assertSerializationEquals( + "witness/serialization/info.bin", Level.INFO, skip, Integer.MAX_VALUE); + } + + /** + * Deserialize witness and see if resolved to Level.INFO. + * @throws Exception if exception during test. + */ + public void testDeserializeINFO() throws Exception { + Object obj = + SerializationTestHelper.deserializeStream( + "witness/serialization/info.bin"); + assertTrue(obj instanceof Level); + Level info = (Level) obj; + assertEquals("INFO", info.toString()); + // + // JDK 1.1 doesn't support readResolve necessary for the assertion + if (!System.getProperty("java.version").startsWith("1.1.")) { + assertTrue(obj == Level.INFO); + } + } + + /** + * Tests that a custom level can be serialized and deserialized + * and is not resolved to a stock level. + * + * @throws Exception if exception during test. + */ + public void testCustomLevelSerialization() throws Exception { + CustomLevel custom = new CustomLevel(); + Object obj = SerializationTestHelper.serializeClone(custom); + assertTrue(obj instanceof CustomLevel); + + CustomLevel clone = (CustomLevel) obj; + assertEquals(Level.INFO.level, clone.level); + assertEquals(Level.INFO.levelStr, clone.levelStr); + assertEquals(Level.INFO.syslogEquivalent, clone.syslogEquivalent); + } + + /** + * Custom level to check that custom levels are + * serializable, but not resolved to a plain Level. + */ + private static class CustomLevel extends Level { + private static final long serialVersionUID = 1L; + /** + * Create an instance of CustomLevel. + */ + public CustomLevel() { + super( + Level.INFO.level, Level.INFO.levelStr, Level.INFO.syslogEquivalent); + } + } + + /** + * Tests Level.TRACE_INT. + */ + public void testTraceInt() { + assertEquals(5000, Level.TRACE_INT); + } + + /** + * Tests Level.TRACE. + */ + public void testTrace() { + assertEquals("TRACE", Level.TRACE.toString()); + assertEquals(5000, Level.TRACE.toInt()); + assertEquals(7, Level.TRACE.getSyslogEquivalent()); + } + + /** + * Tests Level.toLevel(Level.TRACE_INT). + */ + public void testIntToTrace() { + Level trace = Level.toLevel(5000); + assertEquals("TRACE", trace.toString()); + } + + /** + * Tests Level.toLevel("TRACE"); + */ + public void testStringToTrace() { + Level trace = Level.toLevel("TRACE"); + assertEquals("TRACE", trace.toString()); + } + + /** + * Tests that Level extends Priority. + */ + public void testLevelExtendsPriority() { + assertTrue(Priority.class.isAssignableFrom(Level.class)); + } + + /** + * Tests Level.OFF. + */ + public void testOFF() { + assertTrue(Level.OFF instanceof Level); + } + + /** + * Tests Level.FATAL. + */ + public void testFATAL() { + assertTrue(Level.FATAL instanceof Level); + } + + /** + * Tests Level.ERROR. + */ + public void testERROR() { + assertTrue(Level.ERROR instanceof Level); + } + + /** + * Tests Level.WARN. + */ + public void testWARN() { + assertTrue(Level.WARN instanceof Level); + } + + /** + * Tests Level.INFO. + */ + public void testINFO() { + assertTrue(Level.INFO instanceof Level); + } + + /** + * Tests Level.DEBUG. + */ + public void testDEBUG() { + assertTrue(Level.DEBUG instanceof Level); + } + + /** + * Tests Level.TRACE. + */ + public void testTRACE() { + assertTrue(Level.TRACE instanceof Level); + } + + /** + * Tests Level.ALL. + */ + public void testALL() { + assertTrue(Level.ALL instanceof Level); + } + + /** + * Tests Level.serialVersionUID. + */ + public void testSerialVersionUID() { + assertEquals(3491141966387921974L, Level.serialVersionUID); + } + + /** + * Tests Level.toLevel(Level.All_INT). + */ + public void testIntToAll() { + Level level = Level.toLevel(Level.ALL_INT); + assertEquals("ALL", level.toString()); + } + + /** + * Tests Level.toLevel(Level.FATAL_INT). + */ + public void testIntToFatal() { + Level level = Level.toLevel(Level.FATAL_INT); + assertEquals("FATAL", level.toString()); + } + + + /** + * Tests Level.toLevel(Level.OFF_INT). + */ + public void testIntToOff() { + Level level = Level.toLevel(Level.OFF_INT); + assertEquals("OFF", level.toString()); + } + + /** + * Tests Level.toLevel(17, Level.FATAL). + */ + public void testToLevelUnrecognizedInt() { + Level level = Level.toLevel(17, Level.FATAL); + assertEquals("FATAL", level.toString()); + } + + /** + * Tests Level.toLevel(null, Level.FATAL). + */ + public void testToLevelNull() { + Level level = Level.toLevel(null, Level.FATAL); + assertEquals("FATAL", level.toString()); + } + + /** + * Test that dotless lower I + "nfo" is recognized as INFO. + */ + public void testDotlessLowerI() { + Level level = Level.toLevel("\u0131nfo"); + assertEquals("INFO", level.toString()); + } + + /** + * Test that dotted lower I + "nfo" is recognized as INFO + * even in Turkish locale. + */ + public void testDottedLowerI() { + Locale defaultLocale = Locale.getDefault(); + Locale turkey = new Locale("tr", "TR"); + Locale.setDefault(turkey); + Level level = Level.toLevel("info"); + Locale.setDefault(defaultLocale); + assertEquals("INFO", level.toString()); + } + + +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/LogCapture.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LogCapture.java old mode 100644 new mode 100755 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/LogCapture.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LogCapture.java diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LogManagerTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LogManagerTest.java new file mode 100644 index 00000000000..0319fda7123 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LogManagerTest.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; + + +/** + * Tests for LogManager + * + * @author Curt Arnold + **/ +public class LogManagerTest extends TestCase { + /** + * Create new instance of LogManagerTest. + * @param testName test name + */ + public LogManagerTest(final String testName) { + super(testName); + } + + /** + * Check value of DEFAULT_CONFIGURATION_FILE. + * @deprecated since constant is deprecated + */ + public void testDefaultConfigurationFile() { + assertEquals("log4j.properties", LogManager.DEFAULT_CONFIGURATION_FILE); + } + + /** + * Check value of DEFAULT_XML_CONFIGURATION_FILE. + */ + public void testDefaultXmlConfigurationFile() { + assertEquals("log4j.xml", LogManager.DEFAULT_XML_CONFIGURATION_FILE); + } + + /** + * Check value of DEFAULT_CONFIGURATION_KEY. + * @deprecated since constant is deprecated + */ + public void testDefaultConfigurationKey() { + assertEquals("log4j.configuration", LogManager.DEFAULT_CONFIGURATION_KEY); + } + + /** + * Check value of CONFIGURATOR_CLASS_KEY. + * @deprecated since constant is deprecated + */ + public void testConfiguratorClassKey() { + assertEquals("log4j.configuratorClass", LogManager.CONFIGURATOR_CLASS_KEY); + } + + /** + * Check value of DEFAULT_INIT_OVERRIDE_KEY. + * @deprecated since constant is deprecated + */ + public void testDefaultInitOverrideKey() { + assertEquals("log4j.defaultInitOverride", LogManager.DEFAULT_INIT_OVERRIDE_KEY); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LoggerTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LoggerTestCase.java new file mode 100644 index 00000000000..ece83e2cb4c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/LoggerTestCase.java @@ -0,0 +1,499 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.RootLogger; +import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.spi.HierarchyEventListener; + +import java.util.Enumeration; +import java.util.Locale; +import java.util.ResourceBundle; +import java.util.Vector; + +/** + Used for internal unit testing the Logger class. + + @author Ceki G&uuml;lc&uuml; + +*/ +public class LoggerTestCase extends TestCase { + + Logger logger; + Appender a1; + Appender a2; + + ResourceBundle rbUS; + ResourceBundle rbFR; + ResourceBundle rbCH; + + // A short message. + static String MSG = "M"; + + + public LoggerTestCase(String name) { + super(name); + } + + public + void setUp() { + rbUS = ResourceBundle.getBundle("L7D", new Locale("en", "US")); + assertNotNull(rbUS); + + rbFR = ResourceBundle.getBundle("L7D", new Locale("fr", "FR")); + assertNotNull("Got a null resource bundle.", rbFR); + + rbCH = ResourceBundle.getBundle("L7D", new Locale("fr", "CH")); + assertNotNull("Got a null resource bundle.", rbCH); + + } + + public + void tearDown() { + // Regular users should not use the clear method lightly! + //Logger.getDefaultHierarchy().clear(); + BasicConfigurator.resetConfiguration(); + a1 = null; + a2 = null; + } + + /** + Add an appender and see if it can be retrieved. + */ + public + void testAppender1() { + logger = Logger.getLogger("test"); + a1 = new FileAppender(); + a1.setName("testAppender1"); + logger.addAppender(a1); + + Enumeration enumeration = logger.getAllAppenders(); + Appender aHat = (Appender) enumeration.nextElement(); + assertEquals(a1, aHat); + } + + /** + Add an appender X, Y, remove X and check if Y is the only + remaining appender. + */ + public + void testAppender2() { + a1 = new FileAppender(); + a1.setName("testAppender2.1"); + a2 = new FileAppender(); + a2.setName("testAppender2.2"); + + logger = Logger.getLogger("test"); + logger.addAppender(a1); + logger.addAppender(a2); + logger.removeAppender("testAppender2.1"); + Enumeration enumeration = logger.getAllAppenders(); + Appender aHat = (Appender) enumeration.nextElement(); + assertEquals(a2, aHat); + assertTrue(!enumeration.hasMoreElements()); + } + + /** + Test if logger a.b inherits its appender from a. + */ + public + void testAdditivity1() { + Logger a = Logger.getLogger("a"); + Logger ab = Logger.getLogger("a.b"); + CountingAppender ca = new CountingAppender(); + a.addAppender(ca); + + assertEquals(ca.counter, 0); + ab.debug(MSG); assertEquals(ca.counter, 1); + ab.info(MSG); assertEquals(ca.counter, 2); + ab.warn(MSG); assertEquals(ca.counter, 3); + ab.error(MSG); assertEquals(ca.counter, 4); + + + } + + /** + Test multiple additivity. + + */ + public + void testAdditivity2() { + + Logger a = Logger.getLogger("a"); + Logger ab = Logger.getLogger("a.b"); + Logger abc = Logger.getLogger("a.b.c"); + Logger x = Logger.getLogger("x"); + + CountingAppender ca1 = new CountingAppender(); + CountingAppender ca2 = new CountingAppender(); + + a.addAppender(ca1); + abc.addAppender(ca2); + + assertEquals(ca1.counter, 0); + assertEquals(ca2.counter, 0); + + ab.debug(MSG); + assertEquals(ca1.counter, 1); + assertEquals(ca2.counter, 0); + + abc.debug(MSG); + assertEquals(ca1.counter, 2); + assertEquals(ca2.counter, 1); + + x.debug(MSG); + assertEquals(ca1.counter, 2); + assertEquals(ca2.counter, 1); + } + + /** + Test additivity flag. + + */ + public + void testAdditivity3() { + + Logger root = Logger.getRootLogger(); + Logger a = Logger.getLogger("a"); + Logger ab = Logger.getLogger("a.b"); + Logger abc = Logger.getLogger("a.b.c"); + + CountingAppender caRoot = new CountingAppender(); + CountingAppender caA = new CountingAppender(); + CountingAppender caABC = new CountingAppender(); + + root.addAppender(caRoot); + a.addAppender(caA); + abc.addAppender(caABC); + + assertEquals(caRoot.counter, 0); + assertEquals(caA.counter, 0); + assertEquals(caABC.counter, 0); + + ab.setAdditivity(false); + + + a.debug(MSG); + assertEquals(caRoot.counter, 1); + assertEquals(caA.counter, 1); + assertEquals(caABC.counter, 0); + + ab.debug(MSG); + assertEquals(caRoot.counter, 1); + assertEquals(caA.counter, 1); + assertEquals(caABC.counter, 0); + + abc.debug(MSG); + assertEquals(caRoot.counter, 1); + assertEquals(caA.counter, 1); + assertEquals(caABC.counter, 1); + + } + + + public + void testDisable1() { + CountingAppender caRoot = new CountingAppender(); + Logger root = Logger.getRootLogger(); + root.addAppender(caRoot); + + LoggerRepository h = LogManager.getLoggerRepository(); + //h.disableDebug(); + h.setThreshold((Level) Level.INFO); + assertEquals(caRoot.counter, 0); + + root.debug(MSG); assertEquals(caRoot.counter, 0); + root.info(MSG); assertEquals(caRoot.counter, 1); + root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 2); + root.warn(MSG); assertEquals(caRoot.counter, 3); + + //h.disableInfo(); + h.setThreshold((Level) Level.WARN); + root.debug(MSG); assertEquals(caRoot.counter, 3); + root.info(MSG); assertEquals(caRoot.counter, 3); + root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 4); + root.error(MSG); assertEquals(caRoot.counter, 5); + root.log(Level.ERROR, MSG); assertEquals(caRoot.counter, 6); + + //h.disableAll(); + h.setThreshold(Level.OFF); + root.debug(MSG); assertEquals(caRoot.counter, 6); + root.info(MSG); assertEquals(caRoot.counter, 6); + root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 6); + root.error(MSG); assertEquals(caRoot.counter, 6); + root.log(Level.FATAL, MSG); assertEquals(caRoot.counter, 6); + root.log(Level.FATAL, MSG); assertEquals(caRoot.counter, 6); + + //h.disable(Level.FATAL); + h.setThreshold(Level.OFF); + root.debug(MSG); assertEquals(caRoot.counter, 6); + root.info(MSG); assertEquals(caRoot.counter, 6); + root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 6); + root.error(MSG); assertEquals(caRoot.counter, 6); + root.log(Level.ERROR, MSG); assertEquals(caRoot.counter, 6); + root.log(Level.FATAL, MSG); assertEquals(caRoot.counter, 6); + } + + + public + void testRB1() { + Logger root = Logger.getRootLogger(); + root.setResourceBundle(rbUS); + ResourceBundle t = root.getResourceBundle(); + assertSame(t, rbUS); + + Logger x = Logger.getLogger("x"); + Logger x_y = Logger.getLogger("x.y"); + Logger x_y_z = Logger.getLogger("x.y.z"); + + t = x.getResourceBundle(); assertSame(t, rbUS); + t = x_y.getResourceBundle(); assertSame(t, rbUS); + t = x_y_z.getResourceBundle(); assertSame(t, rbUS); + } + + public + void testRB2() { + Logger root = Logger.getRootLogger(); + root.setResourceBundle(rbUS); + ResourceBundle t = root.getResourceBundle(); + assertSame(t, rbUS); + + Logger x = Logger.getLogger("x"); + Logger x_y = Logger.getLogger("x.y"); + Logger x_y_z = Logger.getLogger("x.y.z"); + + x_y.setResourceBundle(rbFR); + t = x.getResourceBundle(); assertSame(t, rbUS); + t = x_y.getResourceBundle(); assertSame(t, rbFR); + t = x_y_z.getResourceBundle(); assertSame(t, rbFR); + } + + + public + void testRB3() { + Logger root = Logger.getRootLogger(); + root.setResourceBundle(rbUS); + ResourceBundle t = root.getResourceBundle(); + assertSame(t, rbUS); + + Logger x = Logger.getLogger("x"); + Logger x_y = Logger.getLogger("x.y"); + Logger x_y_z = Logger.getLogger("x.y.z"); + + x_y.setResourceBundle(rbFR); + x_y_z.setResourceBundle(rbCH); + t = x.getResourceBundle(); assertSame(t, rbUS); + t = x_y.getResourceBundle(); assertSame(t, rbFR); + t = x_y_z.getResourceBundle(); assertSame(t, rbCH); + } + + public + void testExists() { + Logger a = Logger.getLogger("a"); + Logger a_b = Logger.getLogger("a.b"); + Logger a_b_c = Logger.getLogger("a.b.c"); + + Logger t; + t = LogManager.exists("xx"); assertNull(t); + t = LogManager.exists("a"); assertSame(a, t); + t = LogManager.exists("a.b"); assertSame(a_b, t); + t = LogManager.exists("a.b.c"); assertSame(a_b_c, t); + } + + public + void testHierarchy1() { + Hierarchy h = new Hierarchy(new RootLogger((Level) Level.ERROR)); + Logger a0 = h.getLogger("a"); + assertEquals("a", a0.getName()); + assertNull(a0.getLevel()); + assertSame(Level.ERROR, a0.getEffectiveLevel()); + + Logger a1 = h.getLogger("a"); + assertSame(a0, a1); + } + + /** + * Tests logger.trace(Object). + * @since 1.2.12 + */ + public void testTrace() { + VectorAppender appender = new VectorAppender(); + appender.activateOptions(); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + root.setLevel(Level.INFO); + + Logger tracer = Logger.getLogger("com.example.Tracer"); + tracer.setLevel(Level.TRACE); + + tracer.trace("Message 1"); + root.trace("Discarded Message"); + root.trace("Discarded Message"); + + Vector msgs = appender.getVector(); + assertEquals(1, msgs.size()); + LoggingEvent event = (LoggingEvent) msgs.elementAt(0); + assertEquals(Level.TRACE, event.getLevel()); + assertEquals("Message 1", event.getMessage()); + } + + /** + * Tests logger.trace(Object, Exception). + * @since 1.2.12 + */ + public void testTraceWithException() { + VectorAppender appender = new VectorAppender(); + appender.activateOptions(); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + root.setLevel(Level.INFO); + + Logger tracer = Logger.getLogger("com.example.Tracer"); + tracer.setLevel(Level.TRACE); + NullPointerException ex = new NullPointerException(); + + tracer.trace("Message 1", ex); + root.trace("Discarded Message", ex); + root.trace("Discarded Message", ex); + + Vector msgs = appender.getVector(); + assertEquals(1, msgs.size()); + LoggingEvent event = (LoggingEvent) msgs.elementAt(0); + assertEquals(Level.TRACE, event.getLevel()); + assertEquals("Message 1", event.getMessage()); + } + + /** + * Tests isTraceEnabled. + * @since 1.2.12 + */ + public void testIsTraceEnabled() { + VectorAppender appender = new VectorAppender(); + appender.activateOptions(); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + root.setLevel(Level.INFO); + + Logger tracer = Logger.getLogger("com.example.Tracer"); + tracer.setLevel(Level.TRACE); + + assertTrue(tracer.isTraceEnabled()); + assertFalse(root.isTraceEnabled()); + } + + private static final class CountingHierarchyEventListener implements HierarchyEventListener { + private int addEventCount; + private int removeEventCount; + + public CountingHierarchyEventListener() { + addEventCount = removeEventCount = 0; + } + public void addAppenderEvent(Category cat, Appender appender) { + addEventCount++; + } + + public void removeAppenderEvent(Category cat, Appender appender) { + removeEventCount++; + } + + public int getAddEventCount() { + return addEventCount; + } + public int getRemoveEventCount() { + return removeEventCount; + } + } + + + public void testAppenderEvent1() { + CountingHierarchyEventListener listener = new CountingHierarchyEventListener(); + LogManager.getLoggerRepository().addHierarchyEventListener(listener); + CountingAppender appender = new CountingAppender(); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + assertEquals(1, listener.getAddEventCount()); + assertEquals(0, listener.getRemoveEventCount()); + root.removeAppender(appender); + assertEquals(1, listener.getAddEventCount()); + assertEquals(1, listener.getRemoveEventCount()); + } + + public void testAppenderEvent2() { + CountingHierarchyEventListener listener = new CountingHierarchyEventListener(); + LogManager.getLoggerRepository().addHierarchyEventListener(listener); + CountingAppender appender = new CountingAppender(); + appender.setName("A1"); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + assertEquals(1, listener.getAddEventCount()); + assertEquals(0, listener.getRemoveEventCount()); + root.removeAppender(appender.getName()); + assertEquals(1, listener.getAddEventCount()); + assertEquals(1, listener.getRemoveEventCount()); + } + + public void testAppenderEvent3() { + CountingHierarchyEventListener listener = new CountingHierarchyEventListener(); + LogManager.getLoggerRepository().addHierarchyEventListener(listener); + CountingAppender appender = new CountingAppender(); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + assertEquals(1, listener.getAddEventCount()); + assertEquals(0, listener.getRemoveEventCount()); + root.removeAllAppenders(); + assertEquals(1, listener.getAddEventCount()); + assertEquals(1, listener.getRemoveEventCount()); + } + + + public void testAppenderEvent4() { + CountingHierarchyEventListener listener = new CountingHierarchyEventListener(); + LogManager.getLoggerRepository().addHierarchyEventListener(listener); + CountingAppender appender = new CountingAppender(); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + assertEquals(1, listener.getAddEventCount()); + assertEquals(0, listener.getRemoveEventCount()); + LogManager.resetConfiguration(); + assertEquals(1, listener.getAddEventCount()); + assertEquals(1, listener.getRemoveEventCount()); + } + + static private class CountingAppender extends AppenderSkeleton { + + int counter; + + CountingAppender() { + counter = 0; + } + public void close() { + } + + public + void append(LoggingEvent event) { + counter++; + } + + public + boolean requiresLayout() { + return true; + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/MDCOrderFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MDCOrderFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/MDCOrderFilter.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MDCOrderFilter.java diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MinimumTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MinimumTestCase.java new file mode 100644 index 00000000000..50d1503f7ba --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MinimumTestCase.java @@ -0,0 +1,205 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; + +import org.apache.log4j.helpers.AbsoluteTimeDateFormat; +import org.apache.log4j.util.*; + +/** + A superficial but general test of log4j. + */ +public class MinimumTestCase extends TestCase { + + static String FILTERED = "output/filtered"; + + static String EXCEPTION1 = "java.lang.Exception: Just testing"; + static String EXCEPTION2 = "\\s*at .*\\(.*\\)"; + static String EXCEPTION3 = "\\s*at .*\\(Native Method\\)"; + static String EXCEPTION4 = "\\s*at .*\\(.*Compiled Code\\)"; + static String EXCEPTION5 = "\\s*at .*\\(.*libgcj.*\\)"; + + //18 fevr. 2002 20:02:41,551 [main] FATAL ERR - Message 0 + + static String TTCC_PAT = Filter.ABSOLUTE_DATE_AND_TIME_PAT+ + " \\[main]\\ (TRACE|DEBUG|INFO|WARN|ERROR|FATAL) .* - Message \\d{1,2}"; + + static String TTCC2_PAT = Filter.ABSOLUTE_DATE_AND_TIME_PAT+ + " \\[main]\\ (TRACE|DEBUG|INFO|WARN|ERROR|FATAL) .* - Messages should bear numbers 0 through 29\\."; + + //18 fvr. 2002 19:49:53,456 + + Logger root; + Logger logger; + + public MinimumTestCase(String name) { + super(name); + } + + public void setUp() { + root = Logger.getRootLogger(); + root.removeAllAppenders(); + } + + public void tearDown() { + root.getLoggerRepository().resetConfiguration(); + } + + public void simple() throws Exception { + + Layout layout = new SimpleLayout(); + Appender appender = new FileAppender(layout, "output/simple", false); + root.addAppender(appender); + common(); + + Transformer.transform( + "output/simple", FILTERED, + new Filter[] { new LineNumberFilter(), + new SunReflectFilter(), + new JunitTestRunnerFilter() }); + assertTrue(Compare.compare(FILTERED, "witness/simple")); + } + + public void ttcc() throws Exception { + + Layout layout = new TTCCLayout(AbsoluteTimeDateFormat.DATE_AND_TIME_DATE_FORMAT); + Appender appender = new FileAppender(layout, "output/ttcc", false); + root.addAppender(appender); + + String oldName = Thread.currentThread().getName(); + Thread.currentThread().setName("main"); + common(); + Thread.currentThread().setName(oldName); + + ControlFilter cf1 = new ControlFilter(new String[]{TTCC_PAT, + TTCC2_PAT, EXCEPTION1, EXCEPTION2, + EXCEPTION3, EXCEPTION4, EXCEPTION5 }); + + Transformer.transform( + "output/ttcc", FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), + new AbsoluteDateAndTimeFilter(), + new SunReflectFilter(), new JunitTestRunnerFilter() + }); + + assertTrue(Compare.compare(FILTERED, "witness/ttcc")); + } + + + void common() { + + int i = 0; + + // In the lines below, the category names are chosen as an aid in + // remembering their level values. In general, the category names + // have no bearing to level values. + + Logger ERR = Logger.getLogger("ERR"); + ERR.setLevel(Level.ERROR); + Logger INF = Logger.getLogger("INF"); + INF.setLevel(Level.INFO); + Logger INF_ERR = Logger.getLogger("INF.ERR"); + INF_ERR.setLevel(Level.ERROR); + Logger DEB = Logger.getLogger("DEB"); + DEB.setLevel(Level.DEBUG); + Logger TRC = Logger.getLogger("TRC"); + TRC.setLevel(Level.TRACE); + + // Note: categories with undefined level + Logger INF_UNDEF = Logger.getLogger("INF.UNDEF"); + Logger INF_ERR_UNDEF = Logger.getLogger("INF.ERR.UNDEF"); + Logger UNDEF = Logger.getLogger("UNDEF"); + + + // These should all log.---------------------------- + ERR.log(Level.FATAL, "Message " + i); i++; //0 + ERR.error( "Message " + i); i++; + + INF.log(Level.FATAL, "Message " + i); i++; // 2 + INF.error( "Message " + i); i++; + INF.warn ( "Message " + i); i++; + INF.info ( "Message " + i); i++; + + INF_UNDEF.log(Level.FATAL, "Message " + i); i++; //6 + INF_UNDEF.error( "Message " + i); i++; + INF_UNDEF.warn ( "Message " + i); i++; + INF_UNDEF.info ( "Message " + i); i++; + + INF_ERR.log(Level.FATAL, "Message " + i); i++; // 10 + INF_ERR.error( "Message " + i); i++; + + INF_ERR_UNDEF.log(Level.FATAL, "Message " + i); i++; + INF_ERR_UNDEF.error( "Message " + i); i++; + + DEB.log(Level.FATAL, "Message " + i); i++; //14 + DEB.error( "Message " + i); i++; + DEB.warn ( "Message " + i); i++; + DEB.info ( "Message " + i); i++; + DEB.debug( "Message " + i); i++; + + TRC.log(Level.FATAL, "Message " + i); i++; //19 + TRC.error( "Message " + i); i++; + TRC.warn ( "Message " + i); i++; + TRC.info ( "Message " + i); i++; + TRC.debug( "Message " + i); i++; + TRC.trace( "Message " + i); i++; + + // defaultLevel=DEBUG + UNDEF.log(Level.FATAL, "Message " + i); i++; // 25 + UNDEF.error("Message " + i); i++; + UNDEF.warn ("Message " + i); i++; + UNDEF.info ("Message " + i); i++; + UNDEF.debug("Message " + i, new Exception("Just testing.")); + int printCount = i; + i++; + + // ------------------------------------------------- + // The following should not log + ERR.warn("Message " + i); i++; + ERR.info("Message " + i); i++; + ERR.debug("Message " + i); i++; + + INF.debug("Message " + i); i++; + INF_UNDEF.debug("Message " + i); i++; + + + INF_ERR.warn("Message " + i); i++; + INF_ERR.info("Message " + i); i++; + INF_ERR.debug("Message " + i); i++; + INF_ERR_UNDEF.warn("Message " + i); i++; + INF_ERR_UNDEF.info("Message " + i); i++; + INF_ERR_UNDEF.debug("Message " + i); i++; + + UNDEF.trace("Message " + i, new Exception("Just testing.")); i++; + // ------------------------------------------------- + + INF.info("Messages should bear numbers 0 through "+printCount+"."); + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new MinimumTestCase("simple")); + suite.addTest(new MinimumTestCase("ttcc")); + return suite; + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MyPatternLayout.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MyPatternLayout.java new file mode 100644 index 00000000000..d7cc8ff0caa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MyPatternLayout.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; +import org.apache.log4j.helpers.PatternParser; + +/** + + Example showing how to extend PatternLayout to recognize additional + conversion characters. + + <p>In this case MyPatternLayout recognizes %# conversion pattern. It + outputs the value of an internal counter which is also incremented + at each call. + + <p>See <a href=doc-files/MyPatternLayout.java><b>source</b></a> code + for more details. + + @see MyPatternParser + @see org.apache.log4j.PatternLayout + @author Anders Kristensen +*/ +public class MyPatternLayout extends PatternLayout { + public + MyPatternLayout() { + this(DEFAULT_CONVERSION_PATTERN); + } + + public + MyPatternLayout(String pattern) { + super(pattern); + } + + public + PatternParser createPatternParser(String pattern) { + return new MyPatternParser( + pattern == null ? DEFAULT_CONVERSION_PATTERN : pattern); + } + + public + static void main(String[] args) { + Layout layout = new MyPatternLayout("[counter=%.10#] - %m%n"); + Logger logger = Logger.getLogger("some.cat"); + logger.addAppender(new ConsoleAppender(layout, ConsoleAppender.SYSTEM_OUT)); + logger.debug("Hello, log"); + logger.info("Hello again..."); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MyPatternParser.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MyPatternParser.java new file mode 100644 index 00000000000..25379fca382 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/MyPatternParser.java @@ -0,0 +1,72 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.helpers.FormattingInfo; +import org.apache.log4j.helpers.PatternConverter; +import org.apache.log4j.helpers.PatternParser; +import org.apache.log4j.spi.LoggingEvent; + +/** + Example showing how to extend PatternParser to recognize additional + conversion characters. The examples shows that minimum and maximum + width and alignment settings apply for "extension" conversion + characters just as they do for PatternLayout recognized characters. + + <p>In this case MyPatternParser recognizes %# and outputs the value + of an internal counter which is also incremented at each call. + + See <a href=doc-files/MyPatternParser.java><b>source</b></a> code + for more details. + + @see org.apache.log4j.examples.MyPatternLayout + @see org.apache.log4j.helpers.PatternParser + @see org.apache.log4j.PatternLayout + + @author Anders Kristensen +*/ +public class MyPatternParser extends PatternParser { + + int counter = 0; + + public + MyPatternParser(String pattern) { + super(pattern); + } + + public + void finalizeConverter(char c) { + if (c == '#') { + addConverter(new UserDirPatternConverter(formattingInfo)); + currentLiteral.setLength(0); + } else { + super.finalizeConverter(c); + } + } + + private class UserDirPatternConverter extends PatternConverter { + UserDirPatternConverter(FormattingInfo formattingInfo) { + super(formattingInfo); + } + + public + String convert(LoggingEvent event) { + return String.valueOf(++counter); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/PatternLayoutTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PatternLayoutTest.java similarity index 85% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/PatternLayoutTest.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PatternLayoutTest.java index fff2275916d..0421d2ec536 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/PatternLayoutTest.java +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PatternLayoutTest.java @@ -21,7 +21,7 @@ import org.apache.log4j.spi.LoggingEvent; /** - * Test for EnhancedPatternLayout. + * Test for PatternLayout. * * @author Curt Arnold */ @@ -39,7 +39,7 @@ public class PatternLayoutTest extends LayoutTest { * @{inheritDoc} */ protected Layout createLayout() { - return new EnhancedPatternLayout("[%t] %p %c - %m%n"); + return new PatternLayout("[%t] %p %c - %m%n"); } /** @@ -50,7 +50,7 @@ public class PatternLayoutTest extends LayoutTest { LoggingEvent event = new LoggingEvent( "org.apache.log4j.Logger", logger, Level.INFO, "Hello, World", null); - EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); + PatternLayout layout = (PatternLayout) createLayout(); String result = layout.format(event); StringBuffer buf = new StringBuffer(100); buf.append('['); @@ -69,7 +69,7 @@ public class PatternLayoutTest extends LayoutTest { * Tests getPatternFormat(). */ public void testGetPatternFormat() { - EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); + PatternLayout layout = (PatternLayout) createLayout(); assertEquals("[%t] %p %c - %m%n", layout.getConversionPattern()); } @@ -77,7 +77,7 @@ public class PatternLayoutTest extends LayoutTest { * Tests DEFAULT_CONVERSION_PATTERN constant. */ public void testDefaultConversionPattern() { - assertEquals("%m%n", EnhancedPatternLayout.DEFAULT_CONVERSION_PATTERN); + assertEquals("%m%n", PatternLayout.DEFAULT_CONVERSION_PATTERN); } /** @@ -85,7 +85,7 @@ public class PatternLayoutTest extends LayoutTest { */ public void testTTCCConversionPattern() { assertEquals( - "%r [%t] %p %c %x - %m%n", EnhancedPatternLayout.TTCC_CONVERSION_PATTERN); + "%r [%t] %p %c %x - %m%n", PatternLayout.TTCC_CONVERSION_PATTERN); } /** @@ -104,7 +104,7 @@ public class PatternLayoutTest extends LayoutTest { LoggingEvent event1 = new LoggingEvent( "org.apache.log4j.Logger", logger, Level.DEBUG, new String(msg), null); - EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); + PatternLayout layout = (PatternLayout) createLayout(); String result = layout.format(event1); LoggingEvent event2 = new LoggingEvent( @@ -116,7 +116,7 @@ public class PatternLayoutTest extends LayoutTest { /** * Class to ensure that protected members are still available. */ - private static final class DerivedPatternLayout extends EnhancedPatternLayout { + public static final class DerivedPatternLayout extends PatternLayout { /** * Constructs a new instance of DerivedPatternLayout. */ @@ -126,7 +126,6 @@ public class PatternLayoutTest extends LayoutTest { /** * Get BUF_SIZE. * @return return initial buffer size in characters. - * @deprecated */ public int getBufSize() { return BUF_SIZE; @@ -135,7 +134,6 @@ public class PatternLayoutTest extends LayoutTest { /** * Get MAX_CAPACITY. * @return maximum capacity in characters. - * @deprecated */ public int getMaxCapacity() { return MAX_CAPACITY; diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PatternLayoutTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PatternLayoutTestCase.java new file mode 100644 index 00000000000..95785230971 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PatternLayoutTestCase.java @@ -0,0 +1,340 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; +import org.apache.log4j.util.AbsoluteDateAndTimeFilter; +import org.apache.log4j.util.AbsoluteTimeFilter; +import org.apache.log4j.util.Compare; +import org.apache.log4j.util.ControlFilter; +import org.apache.log4j.util.Filter; +import org.apache.log4j.util.ISO8601Filter; +import org.apache.log4j.util.JunitTestRunnerFilter; +import org.apache.log4j.util.LineNumberFilter; +import org.apache.log4j.util.RelativeTimeFilter; +import org.apache.log4j.util.SunReflectFilter; +import org.apache.log4j.util.Transformer; + +public class PatternLayoutTestCase extends TestCase { + + static String TEMP = "output/temp"; + static String FILTERED = "output/filtered"; + + Logger root; + Logger logger; + + static String EXCEPTION1 = "java.lang.Exception: Just testing"; + static String EXCEPTION2 = "\\s*at .*\\(.*\\)"; + static String EXCEPTION3 = "\\s*at .*\\(Native Method\\)"; + static String EXCEPTION4 = "\\s*at .*\\(.*Compiled Code\\)"; + static String EXCEPTION5 = "\\s*at .*\\(.*libgcj.*\\)"; + + static String PAT0 = "\\[main]\\ (TRACE|DEBUG|INFO |WARN |ERROR|FATAL) .* - Message \\d{1,2}"; + static String PAT1 = Filter.ISO8601_PAT + " " + PAT0; + static String PAT2 = Filter.ABSOLUTE_DATE_AND_TIME_PAT+ " " + PAT0; + static String PAT3 = Filter.ABSOLUTE_TIME_PAT+ " " + PAT0; + static String PAT4 = Filter.RELATIVE_TIME_PAT+ " " + PAT0; + + static String PAT5 = "\\[main]\\ (TRACE|DEBUG|INFO |WARN |ERROR|FATAL) .* : Message \\d{1,2}"; + static String PAT6 = "\\[main]\\ (TRACE|DEBUG|INFO |WARN |ERROR|FATAL) org.apache.log4j.PatternLayoutTestCase.common\\(PatternLayoutTestCase.java(:\\d{1,4})?\\): Message \\d{1,2}"; + + static String PAT11a = "^(TRACE|DEBUG|INFO |WARN |ERROR|FATAL) \\[main]\\ log4j.PatternLayoutTestCase: Message \\d{1,2}"; + static String PAT11b = "^(TRACE|DEBUG|INFO |WARN |ERROR|FATAL) \\[main]\\ root: Message \\d{1,2}"; + + static String PAT12 = "^\\[main]\\ (TRACE|DEBUG|INFO |WARN |ERROR|FATAL) "+ + "org.apache.log4j.PatternLayoutTestCase.common\\(PatternLayoutTestCase.java:\\d{3}\\): "+ + "Message \\d{1,2}"; + + static String PAT13 = "^\\[main]\\ (TRACE|DEBUG|INFO |WARN |ERROR|FATAL) "+ + "apache.log4j.PatternLayoutTestCase.common\\(PatternLayoutTestCase.java:\\d{3}\\): "+ + "Message \\d{1,2}"; + + static String PAT14 = "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL)\\ \\d{1,2}\\ *- Message \\d{1,2}"; + + public PatternLayoutTestCase(String name) { + super(name); + } + + public void setUp() { + root = Logger.getRootLogger(); + logger = Logger.getLogger(PatternLayoutTestCase.class); + } + + public void tearDown() { + root.getLoggerRepository().resetConfiguration(); + } + + public void test1() throws Exception { + PropertyConfigurator.configure("input/patternLayout1.properties"); + common(); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.1")); + } + + public void test2() throws Exception { + PropertyConfigurator.configure("input/patternLayout2.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT1, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new ISO8601Filter(), + new SunReflectFilter(), new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.2")); + } + + public void test3() throws Exception { + PropertyConfigurator.configure("input/patternLayout3.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT1, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new ISO8601Filter(), + new SunReflectFilter(), new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.3")); + } + + // Output format: + // 06 avr. 2002 18:30:58,937 [main] DEBUG rnLayoutTestCase - Message 0 + public void test4() throws Exception { + PropertyConfigurator.configure("input/patternLayout4.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT2, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new AbsoluteDateAndTimeFilter(), + new SunReflectFilter(), new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.4")); + } + + public void test5() throws Exception { + PropertyConfigurator.configure("input/patternLayout5.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT2, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new AbsoluteDateAndTimeFilter(), + new SunReflectFilter(), new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.5")); + } + + // 18:54:19,201 [main] DEBUG rnLayoutTestCase - Message 0 + public void test6() throws Exception { + PropertyConfigurator.configure("input/patternLayout6.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT3, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new AbsoluteTimeFilter(), + new SunReflectFilter(), new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.6")); + } + + + public void test7() throws Exception { + PropertyConfigurator.configure("input/patternLayout7.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT3, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new AbsoluteTimeFilter(), + new SunReflectFilter(), new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.7")); + } + + public void test8() throws Exception { + PropertyConfigurator.configure("input/patternLayout8.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT4, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new RelativeTimeFilter(), + new SunReflectFilter(), new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.8")); + } + + public void test9() throws Exception { + PropertyConfigurator.configure("input/patternLayout9.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT5, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.9")); + } + + public void test10() throws Exception { + PropertyConfigurator.configure("input/patternLayout10.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT6, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.10")); + } + + public void test11() throws Exception { + PropertyConfigurator.configure("input/patternLayout11.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT11a, PAT11b, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.11")); + } + + public void test12() throws Exception { + PropertyConfigurator.configure("input/patternLayout12.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT12, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.12")); + } + + public void test13() throws Exception { + PropertyConfigurator.configure("input/patternLayout13.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT13, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.13")); + } + + public void test14() throws Exception { + PropertyConfigurator.configure("input/patternLayout14.properties"); + common(); + ControlFilter cf1 = new ControlFilter(new String[]{PAT14, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + cf1, new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/patternLayout.14")); + } + + public void testMDC1() throws Exception { + PropertyConfigurator.configure("input/patternLayout.mdc.1.properties"); + MDC.put("key1", "va11"); + MDC.put("key2", "va12"); + logger.debug("Hello World"); + MDC.remove("key1"); + MDC.remove("key2"); + + assertTrue(Compare.compare(TEMP, "witness/patternLayout.mdc.1")); + } + + public void testMDCClear() throws Exception { + PropertyConfigurator.configure("input/patternLayout.mdc.1.properties"); + MDC.put("key1", "va11"); + MDC.put("key2", "va12"); + logger.debug("Hello World"); + MDC.clear(); + logger.debug("Hello World"); + + assertTrue(Compare.compare(TEMP, "witness/patternLayout.mdc.clear")); + } + + + + void common() { + String oldThreadName = Thread.currentThread().getName(); + Thread.currentThread().setName("main"); + + int i = -1; + + logger.trace("Message " + ++i); + root.trace("Message " + i); + + logger.debug("Message " + ++i); + root.debug("Message " + i); + + logger.info ("Message " + ++i); + root.info("Message " + i); + + logger.warn ("Message " + ++i); + root.warn("Message " + i); + + logger.error("Message " + ++i); + root.error("Message " + i); + + logger.log(Level.FATAL, "Message " + ++i); + root.log(Level.FATAL, "Message " + i); + + Exception e = new Exception("Just testing"); + logger.trace("Message " + ++i, e); + logger.debug("Message " + ++i, e); + logger.info("Message " + ++i, e); + logger.warn("Message " + ++i , e); + logger.error("Message " + ++i, e); + logger.log(Level.FATAL, "Message " + ++i, e); + + Thread.currentThread().setName(oldThreadName); + } + + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PriorityTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PriorityTest.java new file mode 100644 index 00000000000..68c748202a3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PriorityTest.java @@ -0,0 +1,212 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; + +import java.util.Locale; + + +/** + * Tests of Priority. + * + * @author Curt Arnold + * @since 1.2.14 + */ +public class PriorityTest extends TestCase { + /** + * Constructs new instance of test. + * @param name test name. + */ + public PriorityTest(final String name) { + super(name); + } + + /** + * Tests Priority.OFF_INT. + */ + public void testOffInt() { + assertEquals(Integer.MAX_VALUE, Priority.OFF_INT); + } + + /** + * Tests Priority.FATAL_INT. + */ + public void testFatalInt() { + assertEquals(50000, Priority.FATAL_INT); + } + + /** + * Tests Priority.ERROR_INT. + */ + public void testErrorInt() { + assertEquals(40000, Priority.ERROR_INT); + } + + /** + * Tests Priority.WARN_INT. + */ + public void testWarnInt() { + assertEquals(30000, Priority.WARN_INT); + } + + /** + * Tests Priority.INFO_INT. + */ + public void testInfoInt() { + assertEquals(20000, Priority.INFO_INT); + } + + /** + * Tests Priority.DEBUG_INT. + */ + public void testDebugInt() { + assertEquals(10000, Priority.DEBUG_INT); + } + + /** + * Tests Priority.ALL_INT. + */ + public void testAllInt() { + assertEquals(Integer.MIN_VALUE, Priority.ALL_INT); + } + + /** + * Tests Priority.FATAL. + * @deprecated + */ + public void testFatal() { + assertTrue(Priority.FATAL instanceof Level); + } + + /** + * Tests Priority.ERROR. + * @deprecated + */ + public void testERROR() { + assertTrue(Priority.ERROR instanceof Level); + } + + /** + * Tests Priority.WARN. + * @deprecated + */ + public void testWARN() { + assertTrue(Priority.WARN instanceof Level); + } + + /** + * Tests Priority.INFO. + * @deprecated + */ + public void testINFO() { + assertTrue(Priority.INFO instanceof Level); + } + + /** + * Tests Priority.DEBUG. + * @deprecated + */ + public void testDEBUG() { + assertTrue(Priority.DEBUG instanceof Level); + } + + /** + * Tests Priority.equals(null). + * @deprecated + */ + public void testEqualsNull() { + assertFalse(Priority.DEBUG.equals(null)); + } + + /** + * Tests Priority.equals(Level.DEBUG). + * @deprecated + */ + public void testEqualsLevel() { + // + // this behavior violates the equals contract. + // + assertTrue(Priority.DEBUG.equals(Level.DEBUG)); + } + + /** + * Tests getAllPossiblePriorities(). + * @deprecated + */ + public void testGetAllPossiblePriorities() { + Priority[] priorities = Priority.getAllPossiblePriorities(); + assertEquals(5, priorities.length); + } + + /** + * Tests toPriority(String). + * @deprecated + */ + public void testToPriorityString() { + assertTrue(Priority.toPriority("DEBUG") == Level.DEBUG); + } + + /** + * Tests toPriority(int). + * @deprecated + */ + public void testToPriorityInt() { + assertTrue(Priority.toPriority(Priority.DEBUG_INT) == Level.DEBUG); + } + + /** + * Tests toPriority(String, Priority). + * @deprecated + */ + public void testToPriorityStringPriority() { + assertTrue(Priority.toPriority("foo", Priority.DEBUG) == Priority.DEBUG); + } + + /** + * Tests toPriority(int, Priority). + * @deprecated + */ + public void testToPriorityIntPriority() { + assertTrue(Priority.toPriority(17, Priority.DEBUG) == Priority.DEBUG); + } + + /** + * Test that dotless lower I + "nfo" is recognized as INFO. + * @deprecated + */ + public void testDotlessLowerI() { + Priority level = Priority.toPriority("\u0131nfo"); + assertEquals("INFO", level.toString()); + } + + /** + * Test that dotted lower I + "nfo" is recognized as INFO + * even in Turkish locale. + * @deprecated + */ + public void testDottedLowerI() { + Locale defaultLocale = Locale.getDefault(); + Locale turkey = new Locale("tr", "TR"); + Locale.setDefault(turkey); + Priority level = Priority.toPriority("info"); + Locale.setDefault(defaultLocale); + assertEquals("INFO", level.toString()); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PropertyConfiguratorTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PropertyConfiguratorTest.java new file mode 100644 index 00000000000..6131b3b6948 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/PropertyConfiguratorTest.java @@ -0,0 +1,344 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import junit.framework.TestCase; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.net.URL; +import java.util.Properties; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +import org.apache.log4j.spi.OptionHandler; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.ThrowableRenderer; +import org.apache.log4j.spi.ThrowableRendererSupport; +import org.apache.log4j.varia.LevelRangeFilter; + +/** + * Test property configurator. + * + */ +public class PropertyConfiguratorTest extends TestCase { + public PropertyConfiguratorTest(final String testName) { + super(testName); + } + + /** + * Test for bug 40944. + * Did not catch IllegalArgumentException on Properties.load + * and close input stream. + * @throws IOException if IOException creating properties file. + */ + public void testBadUnicodeEscape() throws IOException { + String fileName = "output/badescape.properties"; + FileWriter writer = new FileWriter(fileName); + writer.write("log4j.rootLogger=\\uXX41"); + writer.close(); + PropertyConfigurator.configure(fileName); + File file = new File(fileName); + assertTrue(file.delete()) ; + assertFalse(file.exists()); + } + + /** + * Test for bug 40944. + * configure(URL) never closed opened stream. + * @throws IOException if IOException creating properties file. + */ + public void testURL() throws IOException { + File file = new File("output/unclosed.properties"); + FileWriter writer = new FileWriter(file); + writer.write("log4j.rootLogger=debug"); + writer.close(); + URL url = file.toURL(); + PropertyConfigurator.configure(url); + assertTrue(file.delete()); + assertFalse(file.exists()); + } + + /** + * Test for bug 40944. + * configure(URL) did not catch IllegalArgumentException and + * did not close stream. + * @throws IOException if IOException creating properties file. + */ + public void testURLBadEscape() throws IOException { + File file = new File("output/urlbadescape.properties"); + FileWriter writer = new FileWriter(file); + writer.write("log4j.rootLogger=\\uXX41"); + writer.close(); + URL url = file.toURL(); + PropertyConfigurator.configure(url); + assertTrue(file.delete()); + assertFalse(file.exists()); + } + + /** + * Test for bug 47465. + * configure(URL) did not close opened JarURLConnection. + * @throws IOException if IOException creating properties jar. + */ + public void testJarURL() throws IOException { + File dir = new File("output"); + dir.mkdirs(); + File file = new File("output/properties.jar"); + ZipOutputStream zos = + new ZipOutputStream(new FileOutputStream(file)); + zos.putNextEntry(new ZipEntry(LogManager.DEFAULT_CONFIGURATION_FILE)); + zos.write("log4j.rootLogger=debug".getBytes()); + zos.closeEntry(); + zos.close(); + URL url = new URL("jar:" + file.toURL() + "!/" + + LogManager.DEFAULT_CONFIGURATION_FILE); + PropertyConfigurator.configure(url); + assertTrue(file.delete()); + assertFalse(file.exists()); + } + + /** + * Test processing of log4j.reset property, see bug 17531. + * + */ + public void testReset() { + VectorAppender appender = new VectorAppender(); + appender.setName("A1"); + Logger.getRootLogger().addAppender(appender); + Properties props = new Properties(); + props.put("log4j.reset", "true"); + PropertyConfigurator.configure(props); + assertNull(Logger.getRootLogger().getAppender("A1")); + LogManager.resetConfiguration(); + } + + + /** + * Mock definition of org.apache.log4j.rolling.RollingPolicy + * from extras companion. + */ + public static class RollingPolicy implements OptionHandler { + private boolean activated = false; + + public RollingPolicy() { + + } + public void activateOptions() { + activated = true; + } + + public final boolean isActivated() { + return activated; + } + + } + + /** + * Mock definition of FixedWindowRollingPolicy from extras companion. + */ + public static final class FixedWindowRollingPolicy extends RollingPolicy { + private String activeFileName; + private String fileNamePattern; + private int minIndex; + + public FixedWindowRollingPolicy() { + minIndex = -1; + } + + public String getActiveFileName() { + return activeFileName; + } + public void setActiveFileName(final String val) { + activeFileName = val; + } + + public String getFileNamePattern() { + return fileNamePattern; + } + public void setFileNamePattern(final String val) { + fileNamePattern = val; + } + + public int getMinIndex() { + return minIndex; + } + + public void setMinIndex(final int val) { + minIndex = val; + } + } + + /** + * Mock definition of TriggeringPolicy from extras companion. + */ + public static class TriggeringPolicy implements OptionHandler { + private boolean activated = false; + + public TriggeringPolicy() { + + } + public void activateOptions() { + activated = true; + } + + public final boolean isActivated() { + return activated; + } + + } + + /** + * Mock definition of FilterBasedTriggeringPolicy from extras companion. + */ + public static final class FilterBasedTriggeringPolicy extends TriggeringPolicy { + private Filter filter; + public FilterBasedTriggeringPolicy() { + } + + public void setFilter(final Filter val) { + filter = val; + } + + public Filter getFilter() { + return filter; + + } + } + + /** + * Mock definition of org.apache.log4j.rolling.RollingFileAppender + * from extras companion. + */ + public static final class RollingFileAppender extends AppenderSkeleton { + private RollingPolicy rollingPolicy; + private TriggeringPolicy triggeringPolicy; + private boolean append; + + public RollingFileAppender() { + + } + + public RollingPolicy getRollingPolicy() { + return rollingPolicy; + } + + public void setRollingPolicy(final RollingPolicy policy) { + rollingPolicy = policy; + } + + public TriggeringPolicy getTriggeringPolicy() { + return triggeringPolicy; + } + + public void setTriggeringPolicy(final TriggeringPolicy policy) { + triggeringPolicy = policy; + } + + public boolean getAppend() { + return append; + } + + public void setAppend(boolean val) { + append = val; + } + + public void close() { + + } + + public boolean requiresLayout() { + return true; + } + + public void append(final LoggingEvent event) { + + } + } + + /** + * Test processing of nested objects, see bug 36384. + * + */ + public void testNested() { + PropertyConfigurator.configure("input/filter1.properties"); + RollingFileAppender rfa = (RollingFileAppender) + Logger.getLogger("org.apache.log4j.PropertyConfiguratorTest") + .getAppender("ROLLING"); + FixedWindowRollingPolicy rollingPolicy = (FixedWindowRollingPolicy) rfa.getRollingPolicy(); + assertEquals("filterBase-test1.log", rollingPolicy.getActiveFileName()); + assertEquals("filterBased-test1.%i", rollingPolicy.getFileNamePattern()); + assertEquals(0, rollingPolicy.getMinIndex()); + assertTrue(rollingPolicy.isActivated()); + FilterBasedTriggeringPolicy triggeringPolicy = + (FilterBasedTriggeringPolicy) rfa.getTriggeringPolicy(); + LevelRangeFilter filter = (LevelRangeFilter) triggeringPolicy.getFilter(); + assertTrue(Level.INFO.equals(filter.getLevelMin())); + LogManager.resetConfiguration(); + } + + + /** + * Mock ThrowableRenderer for testThrowableRenderer. See bug 45721. + */ + public static class MockThrowableRenderer implements ThrowableRenderer, OptionHandler { + private boolean activated = false; + private boolean showVersion = true; + + public MockThrowableRenderer() { + } + + public void activateOptions() { + activated = true; + } + + public boolean isActivated() { + return activated; + } + + public String[] doRender(final Throwable t) { + return new String[0]; + } + + public void setShowVersion(boolean v) { + showVersion = v; + } + + public boolean getShowVersion() { + return showVersion; + } + } + + /** + * Test of log4j.throwableRenderer support. See bug 45721. + */ + public void testThrowableRenderer() { + Properties props = new Properties(); + props.put("log4j.throwableRenderer", "org.apache.log4j.PropertyConfiguratorTest$MockThrowableRenderer"); + props.put("log4j.throwableRenderer.showVersion", "false"); + PropertyConfigurator.configure(props); + ThrowableRendererSupport repo = (ThrowableRendererSupport) LogManager.getLoggerRepository(); + MockThrowableRenderer renderer = (MockThrowableRenderer) repo.getThrowableRenderer(); + LogManager.resetConfiguration(); + assertNotNull(renderer); + assertEquals(true, renderer.isActivated()); + assertEquals(false, renderer.getShowVersion()); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/RFATestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/RFATestCase.java new file mode 100644 index 00000000000..0d11fc200d9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/RFATestCase.java @@ -0,0 +1,237 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + +/** + * Test of RollingFileAppender. + * + * @author Curt Arnold + */ +public class RFATestCase extends TestCase { + + public RFATestCase(String name) { + super(name); + } + + public void tearDown() { + LogManager.resetConfiguration(); + } + + /** + * Test basic rolling functionality using property file configuration. + */ + public void test1() throws Exception { + Logger logger = Logger.getLogger(RFATestCase.class); + PropertyConfigurator.configure("input/RFA1.properties"); + + // Write exactly 10 bytes with each log + for (int i = 0; i < 25; i++) { + if (i < 10) { + logger.debug("Hello---" + i); + } else if (i < 100) { + logger.debug("Hello--" + i); + } + } + + assertTrue(new File("output/RFA-test1.log").exists()); + assertTrue(new File("output/RFA-test1.log.1").exists()); + } + + /** + * Test basic rolling functionality using API configuration. + */ + public void test2() throws Exception { + Logger logger = Logger.getLogger(RFATestCase.class); + Logger root = Logger.getRootLogger(); + PatternLayout layout = new PatternLayout("%m\n"); + org.apache.log4j.RollingFileAppender rfa = + new org.apache.log4j.RollingFileAppender(); + rfa.setName("ROLLING"); + rfa.setLayout(layout); + rfa.setAppend(false); + rfa.setMaxBackupIndex(3); + rfa.setMaximumFileSize(100); + rfa.setFile("output/RFA-test2.log"); + rfa.activateOptions(); + root.addAppender(rfa); + + // Write exactly 10 bytes with each log + for (int i = 0; i < 55; i++) { + if (i < 10) { + logger.debug("Hello---" + i); + } else if (i < 100) { + logger.debug("Hello--" + i); + } + } + + assertTrue(new File("output/RFA-test2.log").exists()); + assertTrue(new File("output/RFA-test2.log.1").exists()); + assertTrue(new File("output/RFA-test2.log.2").exists()); + assertTrue(new File("output/RFA-test2.log.3").exists()); + assertFalse(new File("output/RFA-test2.log.4").exists()); + } + + /** + * Tests 2 parameter constructor. + * @throws IOException if IOException during test. + */ + public void test2ParamConstructor() throws IOException { + SimpleLayout layout = new SimpleLayout(); + RollingFileAppender appender = + new RollingFileAppender(layout,"output/rfa_2param.log"); + assertEquals(1, appender.getMaxBackupIndex()); + assertEquals(10*1024*1024, appender.getMaximumFileSize()); + } + /** + * Tests 3 parameter constructor. + * @throws IOException if IOException during test. + */ + public void test3ParamConstructor() throws IOException { + SimpleLayout layout = new SimpleLayout(); + RollingFileAppender appender = + new RollingFileAppender(layout,"output/rfa_3param.log", false); + assertEquals(1, appender.getMaxBackupIndex()); + } + + /** + * Test locking of .1 file. + */ + public void testLockDotOne() throws Exception { + Logger logger = Logger.getLogger(RFATestCase.class); + Logger root = Logger.getRootLogger(); + PatternLayout layout = new PatternLayout("%m\n"); + org.apache.log4j.RollingFileAppender rfa = + new org.apache.log4j.RollingFileAppender(); + rfa.setName("ROLLING"); + rfa.setLayout(layout); + rfa.setAppend(false); + rfa.setMaxBackupIndex(10); + rfa.setMaximumFileSize(100); + rfa.setFile("output/RFA-dot1.log"); + rfa.activateOptions(); + root.addAppender(rfa); + + new File("output/RFA-dot1.log.2").delete(); + + FileWriter dot1 = new FileWriter("output/RFA-dot1.log.1"); + dot1.write("Locked file"); + FileWriter dot5 = new FileWriter("output/RFA-dot1.log.5"); + dot5.write("Unlocked file"); + dot5.close(); + + // Write exactly 10 bytes with each log + for (int i = 0; i < 15; i++) { + if (i < 10) { + logger.debug("Hello---" + i); + } else if (i < 100) { + logger.debug("Hello--" + i); + } + } + dot1.close(); + + for (int i = 15; i < 25; i++) { + logger.debug("Hello--" + i); + } + rfa.close(); + + + assertTrue(new File("output/RFA-dot1.log.7").exists()); + // + // if .2 is the locked file then + // renaming wasn't successful until the file was closed + if (new File("output/RFA-dot1.log.2").length() < 15) { + assertEquals(50, new File("output/RFA-dot1.log").length()); + assertEquals(200, new File("output/RFA-dot1.log.1").length()); + } else { + assertTrue(new File("output/RFA-dot1.log").exists()); + assertTrue(new File("output/RFA-dot1.log.1").exists()); + assertTrue(new File("output/RFA-dot1.log.2").exists()); + assertTrue(new File("output/RFA-dot1.log.3").exists()); + assertFalse(new File("output/RFA-dot1.log.4").exists()); + } + } + + + /** + * Test locking of .3 file. + */ + public void testLockDotThree() throws Exception { + Logger logger = Logger.getLogger(RFATestCase.class); + Logger root = Logger.getRootLogger(); + PatternLayout layout = new PatternLayout("%m\n"); + org.apache.log4j.RollingFileAppender rfa = + new org.apache.log4j.RollingFileAppender(); + rfa.setName("ROLLING"); + rfa.setLayout(layout); + rfa.setAppend(false); + rfa.setMaxBackupIndex(10); + rfa.setMaximumFileSize(100); + rfa.setFile("output/RFA-dot3.log"); + rfa.activateOptions(); + root.addAppender(rfa); + + new File("output/RFA-dot3.log.1").delete(); + new File("output/RFA-dot3.log.2").delete(); + new File("output/RFA-dot3.log.4").delete(); + + FileWriter dot3 = new FileWriter("output/RFA-dot3.log.3"); + dot3.write("Locked file"); + FileWriter dot5 = new FileWriter("output/RFA-dot3.log.5"); + dot5.write("Unlocked file"); + dot5.close(); + + // Write exactly 10 bytes with each log + for (int i = 0; i < 15; i++) { + if (i < 10) { + logger.debug("Hello---" + i); + } else if (i < 100) { + logger.debug("Hello--" + i); + } + } + dot3.close(); + + for (int i = 15; i < 35; i++) { + logger.debug("Hello--" + i); + } + rfa.close(); + + assertTrue(new File("output/RFA-dot3.log.8").exists()); + // + // if .3 is the locked file then + // renaming wasn't successful until file was closed + if (new File("output/RFA-dot3.log.5").exists()) { + assertEquals(50, new File("output/RFA-dot3.log").length()); + assertEquals(100, new File("output/RFA-dot3.log.1").length()); + assertEquals(200, new File("output/RFA-dot3.log.2").length()); + } else { + assertTrue(new File("output/RFA-dot3.log").exists()); + assertTrue(new File("output/RFA-dot3.log.1").exists()); + assertTrue(new File("output/RFA-dot3.log.2").exists()); + assertTrue(new File("output/RFA-dot3.log.3").exists()); + assertFalse(new File("output/RFA-dot3.log.4").exists()); + } + } + + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/StressCategory.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/StressCategory.java new file mode 100644 index 00000000000..551a9228851 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/StressCategory.java @@ -0,0 +1,252 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import java.util.Random; + +/* + Stress test the Logger class. + +*/ + +class StressCategory { + + static Level[] level = new Level[] {Level.DEBUG, + Level.INFO, + Level.WARN, + Level.ERROR, + Level.FATAL}; + + static Level defaultLevel = Logger.getRootLogger().getLevel(); + + static int LENGTH; + static String[] names; + static Logger[] cat; + static CT[] ct; + + static Random random = new Random(10); + + public static void main(String[] args) { + + LENGTH = args.length; + + if(LENGTH == 0) { + System.err.println( "Usage: java " + StressCategory.class.getName() + + " name1 ... nameN\n."); + System.exit(1); + } + if(LENGTH >= 7) { + System.err.println( + "This stress test suffers from combinatorial explosion.\n"+ + "Invoking with seven arguments takes about 90 minutes even on fast machines"); + } + + names = new String[LENGTH]; + for(int i=0; i < LENGTH; i++) { + names[i] = args[i]; + } + cat = new Logger[LENGTH]; + ct = new CT[LENGTH]; + + + permute(0); + + // If did not exit, then passed all tests. + } + + // Loop through all permutations of names[]. + // On each possible permutation call createLoop + static + void permute(int n) { + if(n == LENGTH) + createLoop(0); + else + for(int i = n; i < LENGTH; i++) { + swap(names, n, i); + permute(n+1); + swap(names, n, i); + } + } + + static + void swap(String[] names, int i, int j) { + String t = names[i]; + names[i] = names[j]; + names[j] = t; + } + + public + static + void permutationDump() { + System.out.print("Current permutation is - "); + for(int i = 0; i < LENGTH; i++) { + System.out.print(names[i] + " "); + } + System.out.println(); + } + + + // Loop through all possible 3^n combinations of not instantiating, + // instantiating and setting/not setting a level. + + static + void createLoop(int n) { + if(n == LENGTH) { + //System.out.println("..............Creating cat[]..........."); + for(int i = 0; i < LENGTH; i++) { + if(ct[i] == null) + cat[i] = null; + else { + cat[i] = Logger.getLogger(ct[i].catstr); + cat[i].setLevel(ct[i].level); + } + } + test(); + // Clear hash table for next round + Hierarchy h = (Hierarchy) LogManager.getLoggerRepository(); + h.clear(); + } + else { + ct[n] = null; + createLoop(n+1); + + ct[n] = new CT(names[n], null); + createLoop(n+1); + + int r = random.nextInt(); if(r < 0) r = -r; + ct[n] = new CT(names[n], level[r%5]); + createLoop(n+1); + } + } + + + static + void test() { + //System.out.println("++++++++++++TEST called+++++++++++++"); + //permutationDump(); + //catDump(); + + for(int i = 0; i < LENGTH; i++) { + if(!checkCorrectness(i)) { + System.out.println("Failed stress test."); + permutationDump(); + + //Hierarchy._default.fullDump(); + ctDump(); + catDump(); + System.exit(1); + } + } + } + + static + void ctDump() { + for(int j = 0; j < LENGTH; j++) { + if(ct[j] != null) + System.out.println("ct [" + j + "] = ("+ct[j].catstr+"," + + ct[j].level + ")"); + else + System.out.println("ct [" + j + "] = undefined"); + } + } + + static + void catDump() { + for(int j = 0; j < LENGTH; j++) { + if(cat[j] != null) + System.out.println("cat[" + j + "] = (" + cat[j].name + "," + + cat[j].getLevel() + ")"); + else + System.out.println("cat[" + j + "] = undefined"); + } + } + + // static + //void provisionNodesDump() { + //for (Enumeration e = CategoryFactory.ht.keys(); e.hasMoreElements() ;) { + // CategoryKey key = (CategoryKey) e.nextElement(); + // Object c = CategoryFactory.ht.get(key); + // if(c instanceof ProvisionNode) + //((ProvisionNode) c).dump(key.name); + //} + //} + + static + boolean checkCorrectness(int i) { + CT localCT = ct[i]; + + // Can't perform test if logger is not instantiated + if(localCT == null) + return true; + + // find expected level + Level expected = getExpectedPrioriy(localCT); + + + Level purported = cat[i].getEffectiveLevel(); + + if(expected != purported) { + System.out.println("Expected level for " + localCT.catstr + " is " + + expected); + System.out.println("Purported level for "+ cat[i].name + " is "+purported); + return false; + } + return true; + + } + + static + Level getExpectedPrioriy(CT ctParam) { + Level level = ctParam.level; + if(level != null) + return level; + + + String catstr = ctParam.catstr; + + for(int i = catstr.lastIndexOf('.', catstr.length()-1); i >= 0; + i = catstr.lastIndexOf('.', i-1)) { + String substr = catstr.substring(0, i); + + // find the level of ct corresponding to substr + for(int j = 0; j < LENGTH; j++) { + if(ct[j] != null && substr.equals(ct[j].catstr)) { + Level p = ct[j].level; + if(p != null) + return p; + } + } + } + return defaultLevel; + } + + + + static class CT { + public String catstr; + public Level level; + + CT(String catstr, Level level) { + this.catstr = catstr; + this.level = level; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TTCCLayoutTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TTCCLayoutTest.java new file mode 100644 index 00000000000..35f6d1ec061 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TTCCLayoutTest.java @@ -0,0 +1,112 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.helpers.DateLayoutTest; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Test for TTCCLayout. + * + * @author Curt Arnold + */ +public class TTCCLayoutTest extends DateLayoutTest { + /** + * Construct new instance of TTCCLayoutTest. + * + * @param testName test name. + */ + public TTCCLayoutTest(final String testName) { + super(testName, "text/plain", true, null, null); + } + + /** + * @{inheritDoc} + */ + protected Layout createLayout() { + return new TTCCLayout(); + } + + /** + * Tests format. + */ + public void testFormat() { + NDC.clear(); + NDC.push("NDC goes here"); + + Logger logger = Logger.getLogger("org.apache.log4j.LayoutTest"); + LoggingEvent event = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.INFO, "Hello, World", null); + TTCCLayout layout = (TTCCLayout) createLayout(); + String result = layout.format(event); + NDC.pop(); + + StringBuffer buf = new StringBuffer(100); + layout.dateFormat(buf, event); + buf.append('['); + buf.append(event.getThreadName()); + buf.append("] "); + buf.append(event.getLevel().toString()); + buf.append(' '); + buf.append(event.getLoggerName()); + buf.append(' '); + buf.append("NDC goes here"); + buf.append(" - "); + buf.append(event.getMessage()); + buf.append(System.getProperty("line.separator")); + assertEquals(buf.toString(), result); + } + + /** + * Tests getThreadPrinting and setThreadPrinting. + */ + public void testGetSetThreadPrinting() { + TTCCLayout layout = new TTCCLayout(); + assertEquals(true, layout.getThreadPrinting()); + layout.setThreadPrinting(false); + assertEquals(false, layout.getThreadPrinting()); + layout.setThreadPrinting(true); + assertEquals(true, layout.getThreadPrinting()); + } + + /** + * Tests getCategoryPrefixing and setCategoryPrefixing. + */ + public void testGetSetCategoryPrefixing() { + TTCCLayout layout = new TTCCLayout(); + assertEquals(true, layout.getCategoryPrefixing()); + layout.setCategoryPrefixing(false); + assertEquals(false, layout.getCategoryPrefixing()); + layout.setCategoryPrefixing(true); + assertEquals(true, layout.getCategoryPrefixing()); + } + + /** + * Tests getContextPrinting and setContextPrinting. + */ + public void testGetSetContextPrinting() { + TTCCLayout layout = new TTCCLayout(); + assertEquals(true, layout.getContextPrinting()); + layout.setContextPrinting(false); + assertEquals(false, layout.getContextPrinting()); + layout.setContextPrinting(true); + assertEquals(true, layout.getContextPrinting()); + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/TestLogMF.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TestLogMF.java old mode 100644 new mode 100755 similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/TestLogMF.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TestLogMF.java index e97a807851d..9adff211c08 --- a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/TestLogMF.java +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TestLogMF.java @@ -20,7 +20,9 @@ import junit.framework.TestCase; import java.io.CharArrayWriter; import java.text.MessageFormat; +import java.text.NumberFormat; import java.util.Date; +import java.text.DateFormat; /** @@ -221,8 +223,9 @@ public class TestLogMF extends TestCase { logger.setLevel(TRACE); float val = 3.14f; + NumberFormat format = NumberFormat.getInstance(); LogMF.trace(logger, "Iteration {0}", val); - assertEquals("Iteration 3.14", capture.getMessage()); + assertEquals("Iteration "+ format.format(val), capture.getMessage()); } /** @@ -233,8 +236,9 @@ public class TestLogMF extends TestCase { logger.setLevel(TRACE); double val = 3.14; + NumberFormat format = NumberFormat.getInstance(); LogMF.trace(logger, "Iteration {0}", val); - assertEquals("Iteration 3.14", capture.getMessage()); + assertEquals("Iteration "+ format.format(val), capture.getMessage()); } /** @@ -477,7 +481,17 @@ public class TestLogMF extends TestCase { String expected = MessageFormat.format("Iteration {0}", new Object[] { epoch }); - assertEquals(expected, capture.getMessage()); + String expected2 = "Iteration " + DateFormat.getDateTimeInstance( + DateFormat.SHORT, + DateFormat.SHORT).format(epoch); + String actual = capture.getMessage(); + // + // gcj has been observed to output 12/31/69 6:00:00 PM + // instead of the expected 12/31/69 6:00 PM + if (System.getProperty("java.vendor").indexOf("Free") == -1) { + assertEquals(expected, actual); + } + assertEquals(expected2, actual); } /** @@ -1233,4 +1247,45 @@ public class TestLogMF extends TestCase { assertEquals("Hello, World.", capture.getMessage()); } + + /** + * Test LogMF.info with a pattern containing {9} and one argument. + */ + public void testInfo1ParamBrace9() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "Hello, {9}{0}", "World"); + assertEquals("Hello, {9}World", capture.getMessage()); + } + + /** + * Test LogMF.info with a pattern containing {9} and two arguments. + */ + public void testInfo2ParamBrace9() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "{1}, {9}{0}", "World", "Hello"); + assertEquals("Hello, {9}World", capture.getMessage()); + } + + /** + * Test LogMF.info with a pattern containing {9} and two arguments. + */ + public void testInfo10ParamBrace9() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "{1}, {9}{0}", + new Object[] { "World", "Hello", null, null, null, + null, null, null, null, "New " }); + assertEquals("Hello, New World", capture.getMessage()); + } + + /** + * Test LogMF.info with indexes just outside of 0 to 9. + */ + public void testInfo1ParamBraceSlashColon() { + LogCapture capture = new LogCapture(Level.INFO); + String pattern = "Hello, {/}{0}{:}"; + LogMF.info(logger, pattern, "World"); + assertEquals(pattern, capture.getMessage()); + } + + } diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/TestLogSF.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TestLogSF.java old mode 100644 new mode 100755 similarity index 98% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/TestLogSF.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TestLogSF.java index 21c372fd4fa..330cd9b5df7 --- a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/TestLogSF.java +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TestLogSF.java @@ -19,8 +19,6 @@ package org.apache.log4j; import junit.framework.TestCase; import java.io.CharArrayWriter; -import java.text.MessageFormat; -import java.util.Date; /** @@ -1171,4 +1169,23 @@ public class TestLogSF extends TestCase { assertEquals("Hello, World.", capture.getMessage()); } + /** + * Test \\{ escape sequence when only one parameter is present. + * + */ + public void testEscapeOneParam() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "\\{}\\{{}}, World}\\{","Hello"); + assertEquals("{}{Hello}, World}{", capture.getMessage()); + } + + /** + * Test \\{ escape sequence when more than one parameter is present. + * + */ + public void testEscapeTwoParam() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "\\{}\\{{}}, {}}{}\\{","Hello", "World"); + assertEquals("{}{Hello}, World}{}{", capture.getMessage()); + } } diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TestLogXF.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TestLogXF.java new file mode 100644 index 00000000000..fd12483bef3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/TestLogXF.java @@ -0,0 +1,204 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import junit.framework.TestCase; + + +/** + * Unit test for LogXF. + */ +public class TestLogXF extends TestCase { + /** + * Logger. + */ + private final Logger logger = Logger.getLogger( + "org.apache.log4j.formatter.TestLogXF"); + + /** + * Create the test case + * + * @param testName name of the test case + */ + public TestLogXF(String testName) { + super(testName); + } + + + /** + * Post test clean up. + */ + public void tearDown() { + LogManager.resetConfiguration(); + } + + private static class BadStringifier { + private BadStringifier() {} + public static BadStringifier INSTANCE = new BadStringifier(); + public String toString() { + throw new NullPointerException(); + } + } + + + /** + * Test LogXF.entering with null class and method. + */ + public void testEnteringNullNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, null, null); + assertEquals("null.null ENTRY", capture.getMessage()); + } + + + /** + * Test LogXF.entering with null class, method and parameter. + */ + public void testEnteringNullNullNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, null, null, (String) null); + assertEquals("null.null ENTRY null", capture.getMessage()); + } + + /** + * Test LogXF.entering with null class, method and parameters. + */ + public void testEnteringNullNullNullArray() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, null, null, (Object[]) null); + assertEquals("null.null ENTRY {}", capture.getMessage()); + } + + /** + * Test LogXF.entering with class and method. + */ + public void testEntering() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, "SomeClass", "someMethod"); + assertEquals("SomeClass.someMethod ENTRY", capture.getMessage()); + } + + /** + * Test LogXF.entering with class, method and parameter. + */ + public void testEnteringWithParam() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, "SomeClass", "someMethod", "someParam"); + assertEquals("SomeClass.someMethod ENTRY someParam", capture.getMessage()); + } + + /** + * Test LogXF.entering with class, method and bad parameter. + */ + public void testEnteringWithBadParam() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, "SomeClass", "someMethod", BadStringifier.INSTANCE); + assertEquals("SomeClass.someMethod ENTRY ?", capture.getMessage()); + } + + /** + * Test LogXF.entering with class, method and bad parameters. + */ + public void testEnteringWithBadParams() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, "SomeClass", "someMethod", new Object[]{"param1",BadStringifier.INSTANCE}); + assertEquals("SomeClass.someMethod ENTRY {param1,?}", capture.getMessage()); + } + + + /** + * Test LogXF.exiting with null class and method. + */ + public void testExitingNullNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.exiting(logger, null, null); + assertEquals("null.null RETURN", capture.getMessage()); + } + + + /** + * Test LogXF.exiting with null class, method and parameter. + */ + public void testExitingNullNullNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.exiting(logger, null, null, (String) null); + assertEquals("null.null RETURN null", capture.getMessage()); + } + + + /** + * Test LogXF.exiting with class and method. + */ + public void testExiting() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.exiting(logger, "SomeClass", "someMethod"); + assertEquals("SomeClass.someMethod RETURN", capture.getMessage()); + } + + /** + * Test LogXF.exiting with class, method and return value. + */ + public void testExitingWithValue() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.exiting(logger, "SomeClass", "someMethod", "someValue"); + assertEquals("SomeClass.someMethod RETURN someValue", capture.getMessage()); + } + + /** + * Test LogXF.exiting with class, method and bad return value. + */ + public void testExitingWithBadValue() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.exiting(logger, "SomeClass", "someMethod", BadStringifier.INSTANCE); + assertEquals("SomeClass.someMethod RETURN ?", capture.getMessage()); + } + + + /** + * Test LogXF.throwing with null class, method and throwable. + */ + public void testThrowingNullNullNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.throwing(logger, null, null, null); + assertEquals("null.null THROW", capture.getMessage()); + } + + + /** + * Test LogXF.exiting with class and method. + */ + public void testThrowing() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.throwing(logger, "SomeClass", "someMethod", new IllegalArgumentException()); + assertEquals("SomeClass.someMethod THROW", capture.getMessage()); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/VectorAppender.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/VectorAppender.java new file mode 100644 index 00000000000..f47574207dc --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/VectorAppender.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import java.util.Vector; +import org.apache.log4j.spi.LoggingEvent; + +/** + An appender that appends logging events to a vector. + @author Ceki G&uuml;lc&uuml; +*/ +public class VectorAppender extends AppenderSkeleton { + + public Vector vector; + + public VectorAppender() { + vector = new Vector(); + } + + /** + Does nothing. + */ + public void activateOptions() { + } + + + /** + This method is called by the {@link AppenderSkeleton#doAppend} + method. + + */ + public void append(LoggingEvent event) { + //System.out.println("---Vector appender called with message ["+event.getRenderedMessage()+"]."); + //System.out.flush(); + try { + Thread.sleep(100); + } catch(Exception e) { + } + vector.addElement(event); + } + + public Vector getVector() { + return vector; + } + + public synchronized void close() { + if(this.closed) + return; + this.closed = true; + } + + + public boolean isClosed() { + return closed; + } + + public boolean requiresLayout() { + return false; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/VectorErrorHandler.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/VectorErrorHandler.java new file mode 100644 index 00000000000..a08726c2f0a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/VectorErrorHandler.java @@ -0,0 +1,182 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.LoggingEvent; + +import java.util.Vector; + + +/** + * Utility class used in testing to capture errors dispatched + * by appenders. + * + * @author Curt Arnold + */ +public final class VectorErrorHandler implements ErrorHandler { + /** + * Logger. + */ + private Logger logger; + + /** + * Appender. + */ + private Appender appender; + + /** + * Backup appender. + */ + private Appender backupAppender; + + /** + * Array of processed errors. + */ + private final Vector errors = new Vector(); + + /** + * Default constructor. + */ + public VectorErrorHandler() { + } + + /** + * {@inheritDoc} + */ + public void setLogger(final Logger logger) { + this.logger = logger; + } + + /** + * Gets last logger specified by setLogger. + * @return logger. + */ + public Logger getLogger() { + return logger; + } + + /** + * {@inheritDoc} + */ + public void activateOptions() { + } + + /** + * {@inheritDoc} + */ + public void error( + final String message, final Exception e, final int errorCode) { + error(message, e, errorCode, null); + } + + /** + * {@inheritDoc} + */ + public void error(final String message) { + error(message, null, -1, null); + } + + /** + * {@inheritDoc} + */ + public void error( + final String message, final Exception e, final int errorCode, + final LoggingEvent event) { + errors.addElement( + new Object[] { message, e, new Integer(errorCode), event }); + } + + /** + * Gets message from specified error. + * + * @param index index. + * @return message, may be null. + */ + public String getMessage(final int index) { + return (String) ((Object[]) errors.elementAt(index))[0]; + } + + /** + * Gets exception from specified error. + * + * @param index index. + * @return exception. + */ + public Exception getException(final int index) { + return (Exception) ((Object[]) errors.elementAt(index))[1]; + } + + /** + * Gets error code from specified error. + * + * @param index index. + * @return error code, -1 if not specified. + */ + public int getErrorCode(final int index) { + return ((Integer) ((Object[]) errors.elementAt(index))[2]).intValue(); + } + + /** + * Gets logging event from specified error. + * + * @param index index. + * @return exception. + */ + public LoggingEvent getEvent(final int index) { + return (LoggingEvent) ((Object[]) errors.elementAt(index))[3]; + } + + /** + * Gets number of errors captured. + * @return number of errors captured. + */ + public int size() { + return errors.size(); + } + + /** + * {@inheritDoc} + */ + public void setAppender(final Appender appender) { + this.appender = appender; + } + + /** + * Get appender. + * @return appender, may be null. + */ + public Appender getAppender() { + return appender; + } + + /** + * {@inheritDoc} + */ + public void setBackupAppender(final Appender appender) { + this.backupAppender = appender; + } + + /** + * Get backup appender. + * @return backup appender, may be null. + */ + public Appender getBackupAppender() { + return backupAppender; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/customLogger/XLogger.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/customLogger/XLogger.java new file mode 100644 index 00000000000..91015a3e672 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/customLogger/XLogger.java @@ -0,0 +1,151 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.customLogger; + + +import org.apache.log4j.*; +import org.apache.log4j.spi.OptionHandler; +import org.apache.log4j.spi.LoggerFactory; +import org.apache.log4j.xml.XLevel; + +/** + A simple example showing Logger sub-classing. It shows the + minimum steps necessary to implement one's {@link LoggerFactory}. + Note that sub-classes follow the hierarchy even if its loggers + belong to different classes. + */ +public class XLogger extends Logger implements OptionHandler { + + // It's usually a good idea to add a dot suffix to the fully + // qualified class name. This makes caller localization to work + // properly even from classes that have almost the same fully + // qualified class name as XLogger, such as XLogegoryTest. + private static String FQCN = XLogger.class.getName() + "."; + + // It's enough to instantiate a factory once and for all. + private static XFactory factory = new XFactory(); + + String suffix = ""; + + /** + Just calls the parent constuctor. + */ + protected XLogger(String name) { + super(name); + } + + /** + Nothing to activate. + */ + public + void activateOptions() { + } + + /** + Overrides the standard debug method by appending the value of + suffix variable to each message. + */ + public + void debug(String message) { + super.log(FQCN, Level.DEBUG, message + " " + suffix, null); + } + + /** + We introduce a new printing method in order to support {@link + XLevel#LETHAL}. */ + public + void lethal(String message, Throwable t) { + if(repository.isDisabled(XLevel.LETHAL_INT)) + return; + if(XLevel.LETHAL.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, XLevel.LETHAL, message, t); + } + + /** + We introduce a new printing method in order to support {@link + XLevel#LETHAL}. */ + public + void lethal(String message) { + if(repository.isDisabled(XLevel.LETHAL_INT)) + return; + if(XLevel.LETHAL.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, XLevel.LETHAL, message, null); + } + + static + public + Logger getLogger(String name) { + return LogManager.getLogger(name, factory); + } + + static + public + Logger getLogger(Class clazz) { + return XLogger.getLogger(clazz.getName()); + } + + + public + String getSuffix() { + return suffix; + } + + public + void setSuffix(String suffix) { + this.suffix = suffix; + } + + /** + We introduce a new printing method that takes the TRACE level. + */ + public + void trace(String message, Throwable t) { + if(repository.isDisabled(XLevel.TRACE_INT)) + return; + if(XLevel.TRACE.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, XLevel.TRACE, message, t); + } + + /** + We introduce a new printing method that takes the TRACE level. + */ + public + void trace(String message) { + if(repository.isDisabled(XLevel.TRACE_INT)) + return; + if(XLevel.TRACE.isGreaterOrEqual(this.getEffectiveLevel())) + forcedLog(FQCN, XLevel.TRACE, message, null); + } + + + + // Any sub-class of Logger must also have its own implementation of + // CategoryFactory. + public static class XFactory implements LoggerFactory { + + public XFactory() { + } + + public + Logger makeNewLoggerInstance(String name) { + return new XLogger(name); + } + } +} + + diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/customLogger/XLoggerTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/customLogger/XLoggerTestCase.java new file mode 100644 index 00000000000..ac05b765caa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/customLogger/XLoggerTestCase.java @@ -0,0 +1,77 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.customLogger; + +import org.apache.log4j.xml.DOMConfigurator; +import org.apache.log4j.util.*; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; + +/** + Tests handling of custom loggers. + + @author Ceki G&uuml;lc&uuml; +*/ +public class XLoggerTestCase extends TestCase { + + static String FILTERED = "output/filtered"; + static XLogger logger = (XLogger) XLogger.getLogger(XLoggerTestCase.class); + + public XLoggerTestCase(String name){ + super(name); + } + + public void tearDown() { + logger.getLoggerRepository().resetConfiguration(); + } + + public void test1() throws Exception { common(1); } + public void test2() throws Exception { common(2); } + + void common(int number) throws Exception { + DOMConfigurator.configure("input/xml/customLogger"+number+".xml"); + + int i = -1; + + logger.trace("Message " + ++i); + logger.debug("Message " + ++i); + logger.warn ("Message " + ++i); + logger.error("Message " + ++i); + logger.fatal("Message " + ++i); + Exception e = new Exception("Just testing"); + logger.debug("Message " + ++i, e); + + Transformer.transform( + "output/temp", FILTERED, + new Filter[] { + new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/customLogger."+number)); + + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new XLoggerTestCase("test1")); + suite.addTest(new XLoggerTestCase("test2")); + return suite; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase1.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase1.java new file mode 100644 index 00000000000..9a6549fbc5d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase1.java @@ -0,0 +1,52 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.defaultInit; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; +import org.apache.log4j.Logger; +import org.apache.log4j.LogManager; + +public class TestCase1 extends TestCase { + + public TestCase1(String name) { + super(name); + } + + public void setUp() { + } + + public void tearDown() { + LogManager.shutdown(); + } + + public void noneTest() { + Logger root = Logger.getRootLogger(); + boolean rootIsConfigured = root.getAllAppenders().hasMoreElements(); + assertTrue(!rootIsConfigured); + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new TestCase1("noneTest")); + return suite; + } + +} + diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase2.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase2.java new file mode 100644 index 00000000000..c5552b81179 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase2.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.defaultInit; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; +import java.util.Enumeration; +import org.apache.log4j.Appender; +import org.apache.log4j.Logger; +import org.apache.log4j.LogManager; + +public class TestCase2 extends TestCase { + + public TestCase2(String name) { + super(name); + } + + public void setUp() { + } + + public void tearDown() { + LogManager.shutdown(); + } + + public void xmlTest() { + Logger root = Logger.getRootLogger(); + boolean rootIsConfigured = root.getAllAppenders().hasMoreElements(); + assertTrue(rootIsConfigured); + Enumeration e = root.getAllAppenders(); + Appender appender = (Appender) e.nextElement(); + assertEquals(appender.getName(), "D1"); + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new TestCase2("xmlTest")); + return suite; + } + +} + diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase3.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase3.java new file mode 100644 index 00000000000..661a02633a6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase3.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.defaultInit; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; +import java.util.Enumeration; +import org.apache.log4j.Appender; +import org.apache.log4j.Logger; +import org.apache.log4j.LogManager; + +public class TestCase3 extends TestCase { + + public TestCase3(String name) { + super(name); + } + + public void setUp() { + } + + public void tearDown() { + LogManager.shutdown(); + } + + public void propertiesTest() { + Logger root = Logger.getRootLogger(); + boolean rootIsConfigured = root.getAllAppenders().hasMoreElements(); + assertTrue(rootIsConfigured); + Enumeration e = root.getAllAppenders(); + Appender appender = (Appender) e.nextElement(); + assertEquals(appender.getName(), "D3"); + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new TestCase3("propertiesTest")); + return suite; + } + +} + diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase4.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase4.java new file mode 100644 index 00000000000..aeed8a13cab --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/defaultInit/TestCase4.java @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.defaultInit; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; +import java.util.Enumeration; +import org.apache.log4j.Appender; +import org.apache.log4j.Logger; +import org.apache.log4j.LogManager; + +public class TestCase4 extends TestCase { + + public TestCase4(String name) { + super(name); + } + + public void setUp() { + } + + public void tearDown() { + LogManager.shutdown(); + } + + public void combinedTest() { + Logger root = Logger.getRootLogger(); + boolean rootIsConfigured = root.getAllAppenders().hasMoreElements(); + assertTrue(rootIsConfigured); + Enumeration e = root.getAllAppenders(); + Appender appender = (Appender) e.nextElement(); + assertEquals(appender.getName(), "D1"); + assertEquals(e.hasMoreElements(), false); + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new TestCase4("combinedTest")); + return suite; + } + +} + diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/BoundedFIFOTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/BoundedFIFOTestCase.java new file mode 100644 index 00000000000..dc697efe195 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/BoundedFIFOTestCase.java @@ -0,0 +1,250 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// +// Log4j uses the JUnit framework for internal unit testing. JUnit +// available from +// +// http://www.junit.org + + +package org.apache.log4j.helpers; + +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.Logger; +import org.apache.log4j.Level; + + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; + + + + +/** + Unit test the {@link BoundedFIFO}. + @author Ceki G&uuml;lc&uuml; + @since 0.9.1 */ +public class BoundedFIFOTestCase extends TestCase { + static Logger cat = Logger.getLogger("x"); + + static int MAX = 1000; + + static LoggingEvent[] e = new LoggingEvent[MAX]; + + { + for (int i = 0; i < MAX; i++) { + e[i] = new LoggingEvent("", cat, Level.DEBUG, "e"+i, null); + } + } + + + public BoundedFIFOTestCase(String name) { + super(name); + } + + + public + void setUp() { + + } + + + /** + Pattern: +++++..-----.. + */ + public + void test1() { + for(int size = 1; size <= 128; size *=2) { + BoundedFIFO bf = new BoundedFIFO(size); + + assertEquals(bf.getMaxSize(), size); + assertNull(bf.get()); + + int i; + int j; + int k; + + for(i = 1; i < 2*size; i++) { + for(j = 0; j < i; j++) { + //System.out.println("Putting "+e[j]); + bf.put(e[j]); assertEquals(bf.length(), j < size ? j+1 : size); + } + int max = size < j ? size : j; + j--; + for(k = 0; k <= j; k++) { + //System.out.println("max="+max+", j="+j+", k="+k); + assertEquals(bf.length(), max - k > 0 ? max - k : 0); + Object r = bf.get(); + //System.out.println("Got "+r); + if(k >= size) + assertNull(r); + else + assertEquals(r, e[k]); + } + } + //System.out.println("Passed size="+size); + } + } + + + /** + Pattern: ++++--++--++ + */ + public + void test2() { + int size = 3; + BoundedFIFO bf = new BoundedFIFO(size); + + bf.put(e[0]); + assertEquals(bf.get(), e[0]); + assertNull(bf.get()); + + bf.put(e[1]); assertEquals(bf.length(), 1); + bf.put(e[2]); assertEquals(bf.length(), 2); + bf.put(e[3]); assertEquals(bf.length(), 3); + assertEquals(bf.get(), e[1]); assertEquals(bf.length(), 2); + assertEquals(bf.get(), e[2]); assertEquals(bf.length(), 1); + assertEquals(bf.get(), e[3]); assertEquals(bf.length(), 0); + assertNull(bf.get()); assertEquals(bf.length(), 0); + } + + int min(int a, int b) { + return a < b ? a : b; + } + + + /** + Pattern ++++++++++++++++++++ (insert only); + */ + public + void testResize1() { + int size = 10; + + for(int n = 1; n < size*2; n++) { + for(int i = 0; i < size*2; i++) { + + BoundedFIFO bf = new BoundedFIFO(size); + for(int f = 0; f < i; f++) { + bf.put(e[f]); + } + + bf.resize(n); + int expectedSize = min(n, min(i, size)); + assertEquals(bf.length(), expectedSize); + for(int c = 0; c < expectedSize; c++) { + assertEquals(bf.get(), e[c]); + } + } + } + } + + + + /** + Pattern ++...+ --...- + */ + public + void testResize2() { + int size = 10; + + for(int n = 1; n < size*2; n++) { + for(int i = 0; i < size*2; i++) { + for(int d = 0; d < min(i,size); d++) { + + BoundedFIFO bf = new BoundedFIFO(size); + for(int p = 0; p < i; p++) { + bf.put(e[p]); + } + + for(int g = 0; g < d; g++) { + bf.get(); + } + + // x = the number of elems in + int x = bf.length(); + + bf.resize(n); + + int expectedSize = min(n, x); + assertEquals(bf.length(), expectedSize); + + for(int c = 0; c < expectedSize; c++) { + assertEquals(bf.get(), e[c+d]); + } + assertNull(bf.get()); + } + } + } + } + + + /** + Pattern: i inserts, d deletes, r inserts + */ + public + void testResize3() { + int size = 10; + + for(int n = 1; n < size*2; n++) { + for(int i = 0; i < size; i++) { + for(int d = 0; d < i; d++) { + for(int r = 0; r < d; r++) { + + BoundedFIFO bf = new BoundedFIFO(size); + for(int p0 = 0; p0 < i; p0++) + bf.put(e[p0]); + + for(int g = 0; g < d; g++) + bf.get(); + for(int p1 = 0; p1 < r; p1++) + bf.put(e[i+p1]); + + + + int x = bf.length(); + + bf.resize(n); + + + int expectedSize = min(n, x); + assertEquals(bf.length(), expectedSize); + + for(int c = 0; c < expectedSize; c++) { + assertEquals(bf.get(), e[c+d]); + } + //assertNull(bf.get()); + } + } + } + } + } + + + public + static + Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new BoundedFIFOTestCase("test1")); + suite.addTest(new BoundedFIFOTestCase("test2")); + suite.addTest(new BoundedFIFOTestCase("testResize1")); + suite.addTest(new BoundedFIFOTestCase("testResize2")); + suite.addTest(new BoundedFIFOTestCase("testResize3")); + return suite; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/CyclicBufferTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/CyclicBufferTestCase.java new file mode 100644 index 00000000000..90dd487728f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/CyclicBufferTestCase.java @@ -0,0 +1,167 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// +// Log4j uses the JUnit framework for internal unit testing. JUnit +// available from +// +// http://www.junit.org + + +package org.apache.log4j.helpers; + +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.Logger; +import org.apache.log4j.Level; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; + +/** + Unit test the {@link CyclicBuffer}. + + @author Ceki G&uuml;lc&uuml; + +*/ +public class CyclicBufferTestCase extends TestCase { + + static Logger cat = Logger.getLogger("x"); + + static int MAX = 1000; + + static LoggingEvent[] e = new LoggingEvent[MAX]; + + { + for (int i = 0; i < MAX; i++) { + e[i] = new LoggingEvent("", cat, Level.DEBUG, "e"+i, null); + } + } + + + public CyclicBufferTestCase(String name) { + super(name); + } + + + public + void setUp() { + + } + + + public + void test0() { + int size = 2; + + CyclicBuffer cb = new CyclicBuffer(size); + assertEquals(cb.getMaxSize(), size); + + cb.add(e[0]); + assertEquals(cb.length(), 1); + assertEquals(cb.get(), e[0]); assertEquals(cb.length(), 0); + assertNull(cb.get()); assertEquals(cb.length(), 0); + + + cb = new CyclicBuffer(size); + cb.add(e[0]); + cb.add(e[1]); + assertEquals(cb.length(), 2); + assertEquals(cb.get(), e[0]); assertEquals(cb.length(), 1); + assertEquals(cb.get(), e[1]); assertEquals(cb.length(), 0); + assertNull(cb.get()); assertEquals(cb.length(), 0); + + + } + + /** + Test a buffer of size 1,2,4,8,..,128 + */ + public + void test1() { + for(int bufSize = 1; bufSize <= 128; bufSize *=2) + doTest1(bufSize); + } + + void doTest1(int size) { + //System.out.println("Doing test with size = "+size); + CyclicBuffer cb = new CyclicBuffer(size); + + assertEquals(cb.getMaxSize(), size); + + for(int i = -(size+10); i < (size+10); i++) { + assertNull(cb.get(i)); + } + + for(int i = 0; i < MAX; i++) { + cb.add(e[i]); + int limit = i < size-1 ? i : size-1; + + //System.out.println("\nLimit is " + limit + ", i="+i); + + for(int j = limit; j >= 0; j--) { + //System.out.println("i= "+i+", j="+j); + assertEquals(cb.get(j), e[i-(limit-j)]); + } + assertNull(cb.get(-1)); + assertNull(cb.get(limit+1)); + } + } + + public + void testResize() { + for(int isize = 1; isize <= 128; isize *=2) { + doTestResize(isize, isize/2+1, isize/2+1); + doTestResize(isize, isize/2+1, isize+10); + doTestResize(isize, isize+10, isize/2+1); + doTestResize(isize, isize+10, isize+10); + } + } + + void doTestResize(int initialSize, int numberOfAdds, int newSize) { + //System.out.println("initialSize = "+initialSize+", numberOfAdds=" + // +numberOfAdds+", newSize="+newSize); + CyclicBuffer cb = new CyclicBuffer(initialSize); + for(int i = 0; i < numberOfAdds; i++) { + cb.add(e[i]); + } + cb.resize(newSize); + + int offset = numberOfAdds - initialSize; + if(offset< 0) + offset = 0; + + int len = newSize < numberOfAdds ? newSize : numberOfAdds; + len = len < initialSize ? len : initialSize; + //System.out.println("Len = "+len+", offset="+offset); + for(int j = 0; j < len; j++) { + assertEquals(cb.get(j), e[offset+j]); + } + + } + + + public + static + Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new CyclicBufferTestCase("test0")); + suite.addTest(new CyclicBufferTestCase("test1")); + suite.addTest(new CyclicBufferTestCase("testResize")); + return suite; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/DateLayoutTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/DateLayoutTest.java new file mode 100644 index 00000000000..2b4056fc117 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/DateLayoutTest.java @@ -0,0 +1,285 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import org.apache.log4j.Layout; +import org.apache.log4j.LayoutTest; +import org.apache.log4j.spi.LoggingEvent; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; + +import java.util.TimeZone; +import java.util.Calendar; + + +/** + * Tests for DateLayout. + * + */ +public class DateLayoutTest extends LayoutTest { + /** + * Construct a new instance of LayoutTest. + * @param testName test name. + */ + public DateLayoutTest(final String testName) { + super(testName); + } + + /** + * Constructor for use by derived tests. + * @param testName name of test. + * @param expectedContentType expected value for getContentType(). + * @param expectedIgnoresThrowable expected value for ignoresThrowable(). + * @param expectedHeader expected value for getHeader(). + * @param expectedFooter expected value for getFooter(). + */ + protected DateLayoutTest( + final String testName, final String expectedContentType, + final boolean expectedIgnoresThrowable, final String expectedHeader, + final String expectedFooter) { + super( + testName, expectedContentType, expectedIgnoresThrowable, expectedHeader, + expectedFooter); + } + + /** + * @{inheritDoc} + */ + protected Layout createLayout() { + return new MockLayout(); + } + + /** + * Tests DateLayout.NULL_DATE_FORMAT constant. + */ + public void testNullDateFormat() { + assertEquals("NULL", DateLayout.NULL_DATE_FORMAT); + } + + /** + * Tests DateLayout.RELATIVE constant. + */ + public void testRelativeTimeDateFormat() { + assertEquals("RELATIVE", DateLayout.RELATIVE_TIME_DATE_FORMAT); + } + + /** + * Tests DateLayout.DATE_FORMAT_OPTION constant. + * @deprecated since constant is deprecated + */ + public void testDateFormatOption() { + assertEquals("DateFormat", DateLayout.DATE_FORMAT_OPTION); + } + + /** + * Tests DateLayout.TIMEZONE_OPTION constant. + * @deprecated since constant is deprecated + */ + public void testTimeZoneOption() { + assertEquals("TimeZone", DateLayout.TIMEZONE_OPTION); + } + + /** + * Tests getOptionStrings(). + * @deprecated since getOptionStrings is deprecated. + * + */ + public void testGetOptionStrings() { + String[] options = ((DateLayout) createLayout()).getOptionStrings(); + assertEquals(2, options.length); + } + + /** + * Tests setting DateFormat through setOption method. + * @deprecated since setOption is deprecated. + */ + public void testSetOptionDateFormat() { + DateLayout layout = (DateLayout) createLayout(); + layout.setOption("dAtefOrmat", "foobar"); + assertEquals("FOOBAR", layout.getDateFormat()); + } + + /** + * Tests setting TimeZone through setOption method. + * @deprecated since setOption is deprecated. + */ + public void testSetOptionTimeZone() { + DateLayout layout = (DateLayout) createLayout(); + layout.setOption("tImezOne", "+05:00"); + assertEquals("+05:00", layout.getTimeZone()); + } + + /** + * Tests setDateFormat. + */ + public void testSetDateFormat() { + DateLayout layout = (DateLayout) createLayout(); + layout.setDateFormat("ABSOLUTE"); + assertEquals("ABSOLUTE", layout.getDateFormat()); + } + + /** + * Tests setTimeZone. + */ + public void testSetTimeZone() { + DateLayout layout = (DateLayout) createLayout(); + layout.setTimeZone("+05:00"); + assertEquals("+05:00", layout.getTimeZone()); + } + + /** + * Tests 2 parameter setDateFormat with null. + */ + public void testSetDateFormatNull() { + DateLayout layout = (DateLayout) createLayout(); + layout.setDateFormat((String) null, null); + } + + /** + * Tests 2 parameter setDateFormat with "NULL". + */ + public void testSetDateFormatNullString() { + DateLayout layout = (DateLayout) createLayout(); + layout.setDateFormat("NuLL", null); + } + + /** + * Tests 2 parameter setDateFormat with "RELATIVE". + */ + public void testSetDateFormatRelative() { + DateLayout layout = (DateLayout) createLayout(); + layout.setDateFormat("rElatIve", TimeZone.getDefault()); + } + + /** + * Tests 2 parameter setDateFormat with "ABSOLUTE". + */ + public void testSetDateFormatAbsolute() { + DateLayout layout = (DateLayout) createLayout(); + layout.setDateFormat("aBsolUte", TimeZone.getDefault()); + } + + /** + * Tests 2 parameter setDateFormat with "DATETIME". + */ + public void testSetDateFormatDateTime() { + DateLayout layout = (DateLayout) createLayout(); + layout.setDateFormat("dAte", TimeZone.getDefault()); + } + + /** + * Tests 2 parameter setDateFormat with "ISO8601". + */ + public void testSetDateFormatISO8601() { + DateLayout layout = (DateLayout) createLayout(); + layout.setDateFormat("iSo8601", TimeZone.getDefault()); + } + + /** + * Tests 2 parameter setDateFormat with "HH:mm:ss". + */ + public void testSetDateFormatSimple() { + DateLayout layout = (DateLayout) createLayout(); + layout.setDateFormat("HH:mm:ss", TimeZone.getDefault()); + } + + /** + * Tests activateOptions. + */ + public void testActivateOptions() { + DateLayout layout = (DateLayout) createLayout(); + layout.setDateFormat("HH:mm:ss"); + layout.setTimeZone("+05:00"); + layout.activateOptions(); + } + + /** + * Tests setDateFormat(DateFormat, TimeZone). + */ + public void testSetDateFormatWithFormat() { + DateFormat format = new SimpleDateFormat("HH:mm"); + DateLayout layout = (DateLayout) createLayout(); + layout.setDateFormat(format, TimeZone.getDefault()); + } + + + /** + * Tests IS08601DateFormat class. + * @deprecated since ISO8601DateFormat is deprecated + */ + public void testISO8601Format() { + DateFormat format = new ISO8601DateFormat(); + Calendar calendar = Calendar.getInstance(); + calendar.clear(); + calendar.set(1970, 0, 1, 0, 0, 0); + String actual = format.format(calendar.getTime()); + assertEquals("1970-01-01 00:00:00,000", actual); + } + + /** + * Tests DateTimeDateFormat class. + * @deprecated since DateTimeDateFormat is deprecated + */ + public void testDateTimeFormat() { + DateFormat format = new DateTimeDateFormat(); + Calendar calendar = Calendar.getInstance(); + calendar.clear(); + calendar.set(1970, 0, 1, 0, 0, 0); + String actual = format.format(calendar.getTime()); + SimpleDateFormat df = new SimpleDateFormat("dd MMM yyyy HH:mm:ss,SSS"); + String expected = df.format(calendar.getTime()); + assertEquals(expected, actual); + } + + /** + * Concrete Layout class for tests. + */ + private static final class MockLayout extends DateLayout { + /** + * Create new instance of MockLayout. + */ + public MockLayout() { + // + // checks that protected fields are properly initialized + assertNotNull(pos); + assertNotNull(date); + assertNull(dateFormat); + } + + /** + * @{inheritDoc} + */ + public String format(final LoggingEvent event) { + return "Mock"; + } + + /** + * @{inheritDoc} + */ + public void activateOptions() { + } + + /** + * @{inheritDoc} + */ + public boolean ignoresThrowable() { + return true; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/LogLogTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/LogLogTest.java new file mode 100644 index 00000000000..3eab58fc3be --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/LogLogTest.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import junit.framework.TestCase; + + +/** + * Tests for LogLog. + * + * @author Curt Arnold + **/ +public class LogLogTest extends TestCase { + /** + * Create new instance of LogLogTest. + * @param testName test name + */ + public LogLogTest(final String testName) { + super(testName); + } + + /** + * Check value of DEBUG_KEY. + */ + public void testDebugKey() { + assertEquals("log4j.debug", LogLog.DEBUG_KEY); + } + + /** + * Check value of CONFIG_DEBUG_KEY. + * @deprecated since constant is deprecated + */ + public void testConfigDebugKey() { + assertEquals("log4j.configDebug", LogLog.CONFIG_DEBUG_KEY); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/OptionConverterTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/OptionConverterTestCase.java new file mode 100644 index 00000000000..251601420b2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/OptionConverterTestCase.java @@ -0,0 +1,171 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Log4j uses the JUnit framework for internal unit testing. JUnit +// is available from "http://www.junit.org". + +package org.apache.log4j.helpers; + +import org.apache.log4j.Level; +import org.apache.log4j.xml.XLevel; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; +import java.util.Properties; + +/** + Test variable substitution code. + @author Ceki G&uuml;lc&uuml; + + @since 1.0 +*/ +public class OptionConverterTestCase extends TestCase { + + Properties props; + + public OptionConverterTestCase(String name) { + super(name); + } + + public + void setUp() { + props = new Properties(); + props.put("TOTO", "wonderful"); + props.put("key1", "value1"); + props.put("key2", "value2"); + System.setProperties(props); + + + } + + public + void tearDown() { + props = null; + } + + public + void varSubstTest1() { + String r; + + r = OptionConverter.substVars("hello world.", null); + assertEquals("hello world.", r); + + r = OptionConverter.substVars("hello ${TOTO} world.", null); + + assertEquals("hello wonderful world.", r); + } + + + public + void varSubstTest2() { + String r; + + r = OptionConverter.substVars("Test2 ${key1} mid ${key2} end.", null); + assertEquals("Test2 value1 mid value2 end.", r); + } + + public + void varSubstTest3() { + String r; + + r = OptionConverter.substVars( + "Test3 ${unset} mid ${key1} end.", null); + assertEquals("Test3 mid value1 end.", r); + } + + public + void varSubstTest4() { + String val = "Test4 ${incomplete "; + try { + OptionConverter.substVars(val, null); + } + catch(IllegalArgumentException e) { + String errorMsg = e.getMessage(); + //System.out.println('['+errorMsg+']'); + assertEquals('"'+val + + "\" has no closing brace. Opening brace at position 6.", + errorMsg); + } + } + + public + void varSubstTest5() { + Properties props = new Properties(); + props.put("p1", "x1"); + props.put("p2", "${p1}"); + String res = OptionConverter.substVars("${p2}", props); + System.out.println("Result is ["+res+"]."); + assertEquals(res, "x1"); + } + + public + void toLevelTest1() { + String val = "INFO"; + Level p = OptionConverter.toLevel(val, null); + assertEquals(p, Level.INFO); + } + + public + void toLevelTest2() { + String val = "INFO#org.apache.log4j.xml.XLevel"; + Level p = OptionConverter.toLevel(val, null); + assertEquals(p, Level.INFO); + } + + public + void toLevelTest3() { + String val = "TRACE#org.apache.log4j.xml.XLevel"; + Level p = OptionConverter.toLevel(val, null); + assertEquals(p, XLevel.TRACE); + } + + public + void toLevelTest4() { + String val = "TR#org.apache.log4j.xml.XLevel"; + Level p = OptionConverter.toLevel(val, null); + assertEquals(p, null); + } + + public + void toLevelTest5() { + String val = "INFO#org.apache.log4j.xml.TOTO"; + Level p = OptionConverter.toLevel(val, null); + assertEquals(p, null); + } + + + public + static + Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new OptionConverterTestCase("varSubstTest5")); + suite.addTest(new OptionConverterTestCase("varSubstTest1")); + suite.addTest(new OptionConverterTestCase("varSubstTest2")); + suite.addTest(new OptionConverterTestCase("varSubstTest3")); + suite.addTest(new OptionConverterTestCase("varSubstTest4")); + + + suite.addTest(new OptionConverterTestCase("toLevelTest1")); + suite.addTest(new OptionConverterTestCase("toLevelTest2")); + suite.addTest(new OptionConverterTestCase("toLevelTest3")); + suite.addTest(new OptionConverterTestCase("toLevelTest4")); + suite.addTest(new OptionConverterTestCase("toLevelTest5")); + return suite; + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/PatternParserTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/PatternParserTestCase.java new file mode 100644 index 00000000000..872e15faa01 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/helpers/PatternParserTestCase.java @@ -0,0 +1,136 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.helpers; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; + +import org.apache.log4j.Logger; +import org.apache.log4j.Level; +import org.apache.log4j.Appender; +import org.apache.log4j.FileAppender; +import org.apache.log4j.PatternLayout; +import org.apache.log4j.MDC; + +import org.apache.log4j.util.Compare; + +/** + Test case for helpers/PatternParser.java. Tests the various + conversion patterns supported by PatternParser. This test + class tests PatternParser via the PatternLayout class which + uses it. + */ +public class PatternParserTestCase extends TestCase { + + static String OUTPUT_FILE = "output/PatternParser"; + static String WITNESS_FILE = "witness/PatternParser"; + + static String msgPattern = "%m%n"; + + Logger root; + Logger logger; + + public PatternParserTestCase(String name) { + super(name); + } + + public void setUp() { + root = Logger.getRootLogger(); + root.removeAllAppenders(); + } + + public void tearDown() { + root.getLoggerRepository().resetConfiguration(); + } + + /** + Test case for MDC conversion pattern. */ + public void mdcPattern() throws Exception { + + String mdcMsgPattern1 = "%m : %X%n"; + String mdcMsgPattern2 = "%m : %X{key1}%n"; + String mdcMsgPattern3 = "%m : %X{key2}%n"; + String mdcMsgPattern4 = "%m : %X{key3}%n"; + String mdcMsgPattern5 = "%m : %X{key1},%X{key2},%X{key3}%n"; + + // set up appender + PatternLayout layout = new PatternLayout(msgPattern); + Appender appender = new FileAppender(layout, OUTPUT_FILE+"_mdc", false); + + // set appender on root and set level to debug + root.addAppender(appender); + root.setLevel(Level.DEBUG); + + // output starting message + root.debug("starting mdc pattern test"); + + layout.setConversionPattern(mdcMsgPattern1); + root.debug("empty mdc, no key specified in pattern"); + + layout.setConversionPattern(mdcMsgPattern2); + root.debug("empty mdc, key1 in pattern"); + + layout.setConversionPattern(mdcMsgPattern3); + root.debug("empty mdc, key2 in pattern"); + + layout.setConversionPattern(mdcMsgPattern4); + root.debug("empty mdc, key3 in pattern"); + + layout.setConversionPattern(mdcMsgPattern5); + root.debug("empty mdc, key1, key2, and key3 in pattern"); + + MDC.put("key1", "value1"); + MDC.put("key2", "value2"); + + layout.setConversionPattern(mdcMsgPattern1); + root.debug("filled mdc, no key specified in pattern"); + + layout.setConversionPattern(mdcMsgPattern2); + root.debug("filled mdc, key1 in pattern"); + + layout.setConversionPattern(mdcMsgPattern3); + root.debug("filled mdc, key2 in pattern"); + + layout.setConversionPattern(mdcMsgPattern4); + root.debug("filled mdc, key3 in pattern"); + + layout.setConversionPattern(mdcMsgPattern5); + root.debug("filled mdc, key1, key2, and key3 in pattern"); + + MDC.remove("key1"); + MDC.remove("key2"); + + layout.setConversionPattern(msgPattern); + root.debug("finished mdc pattern test"); + + assertTrue(Compare.compare(OUTPUT_FILE+"_mdc", WITNESS_FILE+"_mdc")); + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + // + // MDC requires JDK 1.2+ + // + if (!System.getProperty("java.version").startsWith("1.1.")) { + suite.addTest(new PatternParserTestCase("mdcPattern")); + } + return suite; + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SMTPAppenderTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SMTPAppenderTest.java new file mode 100644 index 00000000000..583a5bd85d1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SMTPAppenderTest.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.net; + +import junit.framework.TestCase; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.TriggeringEventEvaluator; +import org.apache.log4j.xml.DOMConfigurator; + +/** + * Tests for SMTPAppender. + */ +public class SMTPAppenderTest extends TestCase { + public SMTPAppenderTest(final String testName) { + super(testName); + } + + /** + * Reset configuration after every test. + */ + public void tearDown() { + LogManager.resetConfiguration(); + } + + /** + * Trivial implementation of TriggeringEventEvaluator. + */ + public static final class MockTriggeringEventEvaluator implements TriggeringEventEvaluator { + /** + * {@inheritDoc} + */ + public boolean isTriggeringEvent(final LoggingEvent event) { + return true; + } + } + + /** + * Tests that triggeringPolicy element will set evaluator. + */ + public void testTrigger() { + DOMConfigurator.configure("input/xml/smtpAppender1.xml"); + SMTPAppender appender = (SMTPAppender) Logger.getRootLogger().getAppender("A1"); + TriggeringEventEvaluator evaluator = appender.getEvaluator(); + assertTrue(evaluator instanceof MockTriggeringEventEvaluator); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/ShortSocketServer.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/ShortSocketServer.java new file mode 100644 index 00000000000..78eee869057 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/ShortSocketServer.java @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.log4j.net; + +import java.net.Socket; +import java.net.ServerSocket; + +import org.apache.log4j.Logger; +import org.apache.log4j.LogManager; +import org.apache.log4j.PropertyConfigurator; +import org.apache.log4j.MDC; +import org.apache.log4j.helpers.LogLog; + +/** + * This SocketServer exits after certain number of connections from a + * client. This number is determined the totalsTest parameter, that is + * the first argument on the commmand line. The second argument, + * prefix, determines the prefix of the configuration file to + * use. Each run of the server will use a different properties + * file. For the i-th run, the path to the file is + * (prefix+i+".properties"). + * + * @author Ceki Gulcu */ + +public class ShortSocketServer { + + static Logger cat = Logger.getLogger(ShortSocketServer.class); + + public + static + void main(String args[]) throws Exception { + int totalTests = 0; + String prefix = null; + + if(args.length == 2) { + totalTests = Integer.parseInt(args[0]); + prefix = args[1]; + } else { + usage("Wrong number of arguments."); + } + + + LogLog.debug("Listening on port " + SocketServerTestCase.PORT); + ServerSocket serverSocket = new ServerSocket(SocketServerTestCase.PORT); + + MDC.put("hostID", "shortSocketServer"); + + for(int i = 1; i <= totalTests; i++) { + PropertyConfigurator.configure(prefix+i+".properties"); + LogLog.debug("Waiting to accept a new client."); + Socket socket = serverSocket.accept(); + LogLog.debug("Connected to client at " + socket.getInetAddress()); + LogLog.debug("Starting new socket node."); + SocketNode sn = new SocketNode(socket, LogManager.getLoggerRepository()); + Thread t = new Thread(sn); + t.start(); + t.join(); + } + } + + + static + void usage(String msg) { + System.err.println(msg); + System.err.println( + "Usage: java " +ShortSocketServer.class.getName() + " totalTests configFilePrefix"); + System.exit(1); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SocketAppenderTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SocketAppenderTest.java new file mode 100644 index 00000000000..8a18d0ac835 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SocketAppenderTest.java @@ -0,0 +1,93 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.net; + +import junit.framework.TestCase; +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.xml.DOMConfigurator; + +public class SocketAppenderTest extends TestCase { + + /** + * Create new instance. + */ + public SocketAppenderTest(final String testName) { + super(testName); + } + + /* JUnit's setUp and tearDown */ + + protected void setUp() { + DOMConfigurator.configure("input/xml/SocketAppenderTestConfig.xml"); + + logger = Logger.getLogger(SocketAppenderTest.class); + secondary = (LastOnlyAppender) Logger.getLogger( + "org.apache.log4j.net.SocketAppenderTestDummy").getAppender("lastOnly"); + } + + protected void tearDown() { + } + + /* Tests */ + + public void testFallbackErrorHandlerWhenStarting() { + String msg = "testFallbackErrorHandlerWhenStarting"; + logger.debug(msg); + + // above debug log will fail and shoul be redirected to secondary appender + assertEquals("SocketAppender with FallbackErrorHandler", msg, secondary.getLastMessage()); + } + + /* Fields */ + + private static Logger logger; + private static LastOnlyAppender secondary; + + /* Inner classes */ + + /** + * Inner-class For debugging purposes only Saves last LoggerEvent + */ + static public class LastOnlyAppender extends AppenderSkeleton { + protected void append(LoggingEvent event) { + this.lastEvent = event; + } + + public boolean requiresLayout() { + return false; + } + + public void close() { + this.closed = true; + } + + /** + * @return last appended LoggingEvent's message + */ + public String getLastMessage() { + if (this.lastEvent != null) + return this.lastEvent.getMessage().toString(); + else + return ""; + } + + private LoggingEvent lastEvent; + }; + +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SocketServerTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SocketServerTestCase.java new file mode 100644 index 00000000000..59194076a3e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SocketServerTestCase.java @@ -0,0 +1,408 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; + +import org.apache.log4j.*; +import org.apache.log4j.util.*; + + +import org.apache.log4j.Logger; +import org.apache.log4j.NDC; +import org.apache.log4j.xml.XLevel; + +/** + @author Ceki G&uuml;lc&uuml; +*/ +public class SocketServerTestCase extends TestCase { + + static String TEMP = "output/temp"; + static String FILTERED = "output/filtered"; + + // %5p %x [%t] %c %m%n + // DEBUG T1 [main] org.apache.log4j.net.SocketAppenderTestCase Message 1 + static String PAT1 = "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T1 \\[main]\\ " + + ".* Message \\d{1,2}"; + + // DEBUG T2 [main] ? (?:?) Message 1 + static String PAT2 = "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T2 \\[main]\\ " + + "\\? \\(\\?:\\?\\) Message \\d{1,2}"; + + + // DEBUG T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:121) Message 1 + static String PAT3 = "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T3 \\[main]\\ " + + "org.apache.log4j.net.SocketServerTestCase " + + "\\(SocketServerTestCase.java:\\d{3}\\) Message \\d{1,2}"; + + + // DEBUG some T4 MDC-TEST4 [main] SocketAppenderTestCase - Message 1 + // DEBUG some T4 MDC-TEST4 [main] SocketAppenderTestCase - Message 1 + static String PAT4 = "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some T4 MDC-TEST4 \\[main]\\" + + " (root|SocketServerTestCase) - Message \\d{1,2}"; + + static String PAT5 = "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some5 T5 MDC-TEST5 \\[main]\\" + + " (root|SocketServerTestCase) - Message \\d{1,2}"; + + static String PAT6 = "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some6 T6 client-test6 MDC-TEST6" + + " \\[main]\\ (root|SocketServerTestCase) - Message \\d{1,2}"; + + static String PAT7 = "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some7 T7 client-test7 MDC-TEST7" + + " \\[main]\\ (root|SocketServerTestCase) - Message \\d{1,2}"; + + // DEBUG some8 T8 shortSocketServer MDC-TEST7 [main] SocketServerTestCase - Message 1 + static String PAT8 = "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some8 T8 shortSocketServer" + + " MDC-TEST8 \\[main]\\ (root|SocketServerTestCase) - Message \\d{1,2}"; + + + + static String EXCEPTION1 = "java.lang.Exception: Just testing"; + static String EXCEPTION2 = "\\s*at .*\\(.*\\)"; + static String EXCEPTION3 = "\\s*at .*\\(Native Method\\)"; + static String EXCEPTION4 = "\\s*at .*\\(.*Compiled Code\\)"; + static String EXCEPTION5 = "\\s*at .*\\(.*libgcj.*\\)"; + + + static Logger logger = Logger.getLogger(SocketServerTestCase.class); + static public final int PORT = 12345; + static Logger rootLogger = Logger.getRootLogger(); + SocketAppender socketAppender; + + public SocketServerTestCase(String name) { + super(name); + } + + public void setUp() { + System.out.println("Setting up test case."); + } + + public void tearDown() { + System.out.println("Tearing down test case."); + socketAppender = null; + rootLogger.removeAllAppenders(); + } + + /** + * The pattern on the server side: %5p %x [%t] %c %m%n + * + * We are testing NDC functionality across the wire. + */ + public void test1() throws Exception { + socketAppender = new SocketAppender("localhost", PORT); + rootLogger.addAppender(socketAppender); + common("T1", "key1", "MDC-TEST1"); + delay(1); + ControlFilter cf = new ControlFilter(new String[]{PAT1, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { cf, new LineNumberFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter() }); + + assertTrue(Compare.compare(FILTERED, "witness/socketServer.1")); + } + + /** + * The pattern on the server side: %5p %x [%t] %C (%F:%L) %m%n + * + * We are testing NDC across the wire. Localization is turned off by + * default so it is not tested here even if the conversion pattern + * uses localization. */ + public void test2() throws Exception { + socketAppender = new SocketAppender("localhost", PORT); + rootLogger.addAppender(socketAppender); + + common("T2", "key2", "MDC-TEST2"); + delay(1); + ControlFilter cf = new ControlFilter(new String[]{PAT2, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { cf, new LineNumberFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter() }); + + assertTrue(Compare.compare(FILTERED, "witness/socketServer.2")); + } + + /** + * The pattern on the server side: %5p %x [%t] %C (%F:%L) %m%n + * meaning that we are testing NDC and locatization functionality + * across the wire. */ + public void test3() throws Exception { + socketAppender = new SocketAppender("localhost", PORT); + socketAppender.setLocationInfo(true); + rootLogger.addAppender(socketAppender); + + common("T3", "key3", "MDC-TEST3"); + delay(1); + ControlFilter cf = new ControlFilter(new String[]{PAT3, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { cf, new LineNumberFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter() }); + + assertTrue(Compare.compare(FILTERED, "witness/socketServer.3")); + } + + /** + * The pattern on the server side: %5p %x %X{key1}%X{key4} [%t] %c{1} - %m%n + * meaning that we are testing NDC, MDC and localization functionality across + * the wire. + */ + public void test4() throws Exception { + socketAppender = new SocketAppender("localhost", PORT); + socketAppender.setLocationInfo(true); + rootLogger.addAppender(socketAppender); + + NDC.push("some"); + common("T4", "key4", "MDC-TEST4"); + NDC.pop(); + delay(1); + // + // These tests check MDC operation which + // requires JDK 1.2 or later + if(!System.getProperty("java.version").startsWith("1.1.")) { + + ControlFilter cf = new ControlFilter(new String[]{PAT4, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { cf, new LineNumberFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter() }); + + assertTrue(Compare.compare(FILTERED, "witness/socketServer.4")); + } + } + + /** + * The pattern on the server side: %5p %x %X{key1}%X{key5} [%t] %c{1} - %m%n + * + * The test case uses wraps an AsyncAppender around the + * SocketAppender. This tests was written specifically for bug + * report #9155. + + * Prior to the bug fix the output on the server did not contain the + * MDC-TEST5 string because the MDC clone operation (in getMDCCopy + * method) operation is performed twice, once from the main thread + * which is correct, and a second time from the AsyncAppender's + * dispatch thread which is incrorrect. + + */ + public void test5() throws Exception { + socketAppender = new SocketAppender("localhost", PORT); + socketAppender.setLocationInfo(true); + AsyncAppender asyncAppender = new AsyncAppender(); + asyncAppender.setLocationInfo(true); + asyncAppender.addAppender(socketAppender); + rootLogger.addAppender(asyncAppender); + + NDC.push("some5"); + common("T5", "key5", "MDC-TEST5"); + NDC.pop(); + delay(2); + // + // These tests check MDC operation which + // requires JDK 1.2 or later + if(!System.getProperty("java.version").startsWith("1.1.")) { + ControlFilter cf = new ControlFilter(new String[]{PAT5, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { cf, new LineNumberFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter() }); + + assertTrue(Compare.compare(FILTERED, "witness/socketServer.5")); + } + } + + /** + * The pattern on the server side: %5p %x %X{hostID}${key6} [%t] %c{1} - %m%n + * + * This test checks whether client-side MDC overrides the server side. + * It uses an AsyncAppender encapsulating a SocketAppender + */ + public void test6() throws Exception { + socketAppender = new SocketAppender("localhost", PORT); + socketAppender.setLocationInfo(true); + AsyncAppender asyncAppender = new AsyncAppender(); + asyncAppender.setLocationInfo(true); + asyncAppender.addAppender(socketAppender); + rootLogger.addAppender(asyncAppender); + + NDC.push("some6"); + MDC.put("hostID", "client-test6"); + common("T6", "key6", "MDC-TEST6"); + NDC.pop(); + MDC.remove("hostID"); + delay(2); + // + // These tests check MDC operation which + // requires JDK 1.2 or later + if(!System.getProperty("java.version").startsWith("1.1.")) { + ControlFilter cf = new ControlFilter(new String[]{PAT6, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { cf, new LineNumberFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter() }); + + assertTrue(Compare.compare(FILTERED, "witness/socketServer.6")); + } + } + + /** + * The pattern on the server side: %5p %x %X{hostID}${key7} [%t] %c{1} - %m%n + * + * This test checks whether client-side MDC overrides the server side. + */ + public void test7() throws Exception { + socketAppender = new SocketAppender("localhost", PORT); + socketAppender.setLocationInfo(true); + rootLogger.addAppender(socketAppender); + + NDC.push("some7"); + MDC.put("hostID", "client-test7"); + common("T7", "key7", "MDC-TEST7"); + NDC.pop(); + MDC.remove("hostID"); + delay(2); + // + // These tests check MDC operation which + // requires JDK 1.2 or later + if(!System.getProperty("java.version").startsWith("1.1.")) { + ControlFilter cf = new ControlFilter(new String[]{PAT7, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { cf, new LineNumberFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter() }); + assertTrue(Compare.compare(FILTERED, "witness/socketServer.7")); + } + } + + /** + * The pattern on the server side: %5p %x %X{hostID} ${key8} [%t] %c{1} - %m%n + * + * This test checks whether server side MDC works. + */ + public void test8() throws Exception { + socketAppender = new SocketAppender("localhost", PORT); + socketAppender.setLocationInfo(true); + rootLogger.addAppender(socketAppender); + + NDC.push("some8"); + + // + // The test has relied on the receiving code to + // combine the sent MDC with the receivers MDC + // (which contains a value for hostID). + // The mechanism of how that happens is not clear + // and it does not work with Apache Harmony. + // Unclear if it is a Harmony issue. + if (System.getProperty("java.vendor").indexOf("Apache") != -1) { + MDC.put("hostID", "shortSocketServer"); + } + + common("T8", "key8", "MDC-TEST8"); + NDC.pop(); + delay(2); + // + // These tests check MDC operation which + // requires JDK 1.2 or later + if(!System.getProperty("java.version").startsWith("1.1.")) { + ControlFilter cf = new ControlFilter(new String[]{PAT8, EXCEPTION1, + EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { cf, new LineNumberFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter() }); + assertTrue(Compare.compare(FILTERED, "witness/socketServer.8")); + } + } + + static + void common(String dc, String key, Object o) { + String oldThreadName = Thread.currentThread().getName(); + Thread.currentThread().setName("main"); + + int i = -1; + NDC.push(dc); + MDC.put(key, o); + Logger root = Logger.getRootLogger(); + + logger.setLevel(Level.DEBUG); + rootLogger.setLevel(Level.DEBUG); + + logger.log(XLevel.TRACE, "Message " + ++i); + + logger.setLevel(Level.TRACE); + rootLogger.setLevel(Level.TRACE); + + logger.trace("Message " + ++i); + root.trace("Message " + ++i); + logger.debug("Message " + ++i); + root.debug("Message " + ++i); + logger.info("Message " + ++i); + logger.warn("Message " + ++i); + logger.log(XLevel.LETHAL, "Message " + ++i); //5 + + Exception e = new Exception("Just testing"); + logger.debug("Message " + ++i, e); + root.error("Message " + ++i, e); + NDC.pop(); + MDC.remove(key); + + Thread.currentThread().setName(oldThreadName); + } + + public void delay(int secs) { + try {Thread.sleep(secs*1000);} catch(Exception e) {} + } + + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new SocketServerTestCase("test1")); + suite.addTest(new SocketServerTestCase("test2")); + suite.addTest(new SocketServerTestCase("test3")); + suite.addTest(new SocketServerTestCase("test4")); + suite.addTest(new SocketServerTestCase("test5")); + suite.addTest(new SocketServerTestCase("test6")); + suite.addTest(new SocketServerTestCase("test7")); + suite.addTest(new SocketServerTestCase("test8")); + return suite; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SyslogAppenderTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SyslogAppenderTest.java new file mode 100644 index 00000000000..b9471c211bf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/SyslogAppenderTest.java @@ -0,0 +1,594 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.net; + +import junit.framework.TestCase; + +import org.apache.log4j.AsyncAppender; +import org.apache.log4j.Layout; +import org.apache.log4j.Level; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.PatternLayout; +import org.apache.log4j.VectorErrorHandler; +import org.apache.log4j.HTMLLayout; + +import java.util.StringTokenizer; +import java.net.DatagramSocket; +import java.net.DatagramPacket; +import java.text.SimpleDateFormat; +import java.util.Locale; +import java.util.Date; +import java.util.Calendar; + + +/** + * Tests for SyslogAppender + * + * + * */ +public class SyslogAppenderTest extends TestCase { + /** + * Create new instance of SyslogAppenderTest. + * @param testName test name + */ + public SyslogAppenderTest(final String testName) { + super(testName); + } + + /** + * Resets configuration after every test. + */ + public void tearDown() { + LogManager.resetConfiguration(); + } + + /** + * Test default constructor. + */ + public void testDefaultConstructor() { + SyslogAppender appender = new SyslogAppender(); + assertEquals("user", appender.getFacility()); + assertEquals(false, appender.getFacilityPrinting()); + assertNull(appender.getLayout()); + assertNull(appender.getSyslogHost()); + assertTrue(appender.requiresLayout()); + } + + /** + * Test two parameter constructor. + */ + public void testTwoParamConstructor() { + Layout layout = new PatternLayout(); + SyslogAppender appender = new SyslogAppender(layout, 24); + assertEquals("daemon", appender.getFacility()); + assertEquals(false, appender.getFacilityPrinting()); + assertEquals(layout, appender.getLayout()); + assertNull(appender.getSyslogHost()); + assertTrue(appender.requiresLayout()); + } + + /** + * Test two parameter constructor with unexpected facility. + */ + public void testTwoParamConstructorBadFacility() { + Layout layout = new PatternLayout(); + SyslogAppender appender = new SyslogAppender(layout, 25); + assertEquals("user", appender.getFacility()); + assertEquals(false, appender.getFacilityPrinting()); + assertEquals(layout, appender.getLayout()); + assertNull(appender.getSyslogHost()); + assertTrue(appender.requiresLayout()); + } + + /** + * Test three parameter constructor. + */ + public void testThreeParamConstructor() { + Layout layout = new PatternLayout(); + SyslogAppender appender = + new SyslogAppender(layout, "syslog.example.org", 24); + assertEquals("daemon", appender.getFacility()); + assertEquals(false, appender.getFacilityPrinting()); + assertEquals(layout, appender.getLayout()); + assertEquals("syslog.example.org", appender.getSyslogHost()); + assertTrue(appender.requiresLayout()); + } + + /** + * Test getFacilityString for expected facility codes. + */ + public void testGetFacilityString() { + String expected = + "kern user mail daemon auth syslog lpr news " + + "uucp cron authpriv ftp local0 local1 local2 local3 " + + "local4 local5 local6 local7 "; + StringBuffer actual = new StringBuffer(); + + for (int i = 0; i <= 11; i++) { + actual.append(SyslogAppender.getFacilityString(i << 3)); + actual.append(' '); + } + + for (int i = 16; i <= 23; i++) { + actual.append(SyslogAppender.getFacilityString(i << 3)); + actual.append(' '); + } + + assertEquals(expected, actual.toString()); + } + + /** + * Test getFacilityString for some unexpected facility codes. + */ + public void testGetFacilityStringUnexpected() { + assertNull(SyslogAppender.getFacilityString(1)); + assertNull(SyslogAppender.getFacilityString(12 << 3)); + } + + /** + * Test getFacility with a bogus facility name. + */ + public void testGetFacilityBogus() { + assertEquals(-1, SyslogAppender.getFacility("bogus")); + } + + /** + * Test getFacility with a null facility name. + */ + public void testGetFacilityNull() { + assertEquals(-1, SyslogAppender.getFacility(null)); + } + + /** + * Test getFacility for expected system facility names. + */ + public void testGetFacilitySystemNames() { + String[] names = + new String[] { + "kErn", "usEr", "MaIL", "daemOn", "auTh", "syslOg", "lPr", "newS", + "Uucp", "croN", "authprIv", "ftP" + }; + + for (int i = 0; i <= 11; i++) { + assertEquals(i << 3, SyslogAppender.getFacility(names[i])); + } + } + + /** + * Test getFacility for expected system facility names. + */ + public void testGetFacilityLocalNames() { + String[] names = + new String[] { + "lOcal0", "LOCAL1", "loCal2", "locAl3", "locaL4", "local5", "LOCal6", + "loCAL7" + }; + + for (int i = 0; i <= 7; i++) { + assertEquals((16 + i) << 3, SyslogAppender.getFacility(names[i])); + } + } + + /** + * Test setFacilityPrinting. + */ + public void testSetFacilityPrinting() { + SyslogAppender appender = new SyslogAppender(); + assertFalse(appender.getFacilityPrinting()); + appender.setFacilityPrinting(true); + assertTrue(appender.getFacilityPrinting()); + appender.setFacilityPrinting(false); + assertFalse(appender.getFacilityPrinting()); + } + + /** + * Test of SyslogAppender constants. + */ + public void testConstants() { + assertEquals(0 << 3, SyslogAppender.LOG_KERN); + assertEquals(1 << 3, SyslogAppender.LOG_USER); + assertEquals(2 << 3, SyslogAppender.LOG_MAIL); + assertEquals(3 << 3, SyslogAppender.LOG_DAEMON); + assertEquals(4 << 3, SyslogAppender.LOG_AUTH); + assertEquals(5 << 3, SyslogAppender.LOG_SYSLOG); + assertEquals(6 << 3, SyslogAppender.LOG_LPR); + assertEquals(7 << 3, SyslogAppender.LOG_NEWS); + assertEquals(8 << 3, SyslogAppender.LOG_UUCP); + assertEquals(9 << 3, SyslogAppender.LOG_CRON); + assertEquals(10 << 3, SyslogAppender.LOG_AUTHPRIV); + assertEquals(11 << 3, SyslogAppender.LOG_FTP); + assertEquals(16 << 3, SyslogAppender.LOG_LOCAL0); + assertEquals(17 << 3, SyslogAppender.LOG_LOCAL1); + assertEquals(18 << 3, SyslogAppender.LOG_LOCAL2); + assertEquals(19 << 3, SyslogAppender.LOG_LOCAL3); + assertEquals(20 << 3, SyslogAppender.LOG_LOCAL4); + assertEquals(21 << 3, SyslogAppender.LOG_LOCAL5); + assertEquals(22 << 3, SyslogAppender.LOG_LOCAL6); + assertEquals(23 << 3, SyslogAppender.LOG_LOCAL7); + } + + /** + * Test setFacility with null. + * Should have no effect. + */ + public void testSetFacilityKern() { + SyslogAppender appender = new SyslogAppender(); + appender.setFacility("kern"); + appender.setFacility(null); + assertEquals("kern", appender.getFacility()); + } + + /** + * Test setFacility with null. + * Should have no effect. + */ + public void testSetFacilityNull() { + SyslogAppender appender = new SyslogAppender(); + appender.setFacility("kern"); + appender.setFacility(null); + assertEquals("kern", appender.getFacility()); + } + + /** + * Test setFacility with bogus value. + * Should reset to user. + */ + public void testSetFacilityBogus() { + SyslogAppender appender = new SyslogAppender(); + appender.setFacility("kern"); + appender.setFacility("bogus"); + assertEquals("user", appender.getFacility()); + } + + /** + * Tests calling setFacility after appender has been activated. + */ + public void testSetFacilityAfterActivation() { + SyslogAppender appender = new SyslogAppender(); + appender.setName("foo"); + appender.setThreshold(Level.INFO); + appender.setSyslogHost("localhost"); + appender.setFacility("user"); + appender.setLayout(new PatternLayout("%m%n")); + + VectorErrorHandler errorHandler = new VectorErrorHandler(); + appender.setErrorHandler(errorHandler); + appender.activateOptions(); + appender.setFacility("kern"); + assertEquals("kern", appender.getFacility()); + } + + /** + * Tests that append method drops messages below threshold. + * Can't reach isSevereAsThreshold call in SyslogAppender.append + * since it is checked in AppenderSkeleton.doAppend. + */ + public void testAppendBelowThreshold() { + SyslogAppender appender = new SyslogAppender(); + appender.setThreshold(Level.ERROR); + appender.activateOptions(); + + Logger logger = Logger.getRootLogger(); + logger.addAppender(appender); + logger.info( + "Should not be logged by SyslogAppenderTest.testAppendBelowThreshold."); + } + + /** + * Tests that append method drops messages below threshold. + */ + public void testAppendNoHost() { + SyslogAppender appender = new SyslogAppender(); + appender.setName("foo"); + appender.setThreshold(Level.INFO); + + VectorErrorHandler errorHandler = new VectorErrorHandler(); + appender.setErrorHandler(errorHandler); + appender.setLayout(new PatternLayout("%m%n")); + appender.activateOptions(); + + Logger logger = Logger.getRootLogger(); + logger.addAppender(appender); + logger.info( + "Should not be logged by SyslogAppenderTest.testAppendNoHost."); + assertEquals(1, errorHandler.size()); + + // + // Appender is misspelled in implementation + // + assertEquals( + "No syslog host is set for SyslogAppedender named \"foo\".", + errorHandler.getMessage(0)); + } + + /** + * Tests append method under normal conditions. + */ + public void testAppend() { + SyslogAppender appender = new SyslogAppender(); + appender.setName("foo"); + appender.setThreshold(Level.INFO); + appender.setSyslogHost("localhost"); + appender.setFacility("user"); + appender.setLayout(new PatternLayout("%m%n")); + + VectorErrorHandler errorHandler = new VectorErrorHandler(); + appender.setErrorHandler(errorHandler); + appender.activateOptions(); + + // + // wrap SyslogAppender with an Async since appender may + // hang if syslogd is not accepting network messages + // + AsyncAppender asyncAppender = new AsyncAppender(); + asyncAppender.addAppender(appender); + asyncAppender.activateOptions(); + + Logger logger = Logger.getRootLogger(); + logger.addAppender(asyncAppender); + + Exception e = + new Exception("Expected exception from SyslogAppenderTest.testAppend"); + logger.info( + "Expected message from log4j unit test SyslogAppenderTest.testAppend.", e); + assertEquals(0, errorHandler.size()); + } + + /** + * Tests SyslogAppender with IPv6 address. + */ + public void testIPv6() { + SyslogAppender appender = new SyslogAppender(); + appender.setSyslogHost("::1"); + } + + /** + * Tests SyslogAppender with IPv6 address enclosed in square brackets. + */ + public void testIPv6InBrackets() { + SyslogAppender appender = new SyslogAppender(); + appender.setSyslogHost("[::1]"); + } + + /** + * Tests SyslogAppender with IPv6 address enclosed in square brackets + * followed by port specification. + */ + public void testIPv6AndPort() { + SyslogAppender appender = new SyslogAppender(); + appender.setSyslogHost("[::1]:1514"); + } + + /** + * Tests SyslogAppender with host name enclosed in square brackets + * followed by port specification. + */ + public void testHostNameAndPort() { + SyslogAppender appender = new SyslogAppender(); + appender.setSyslogHost("localhost:1514"); + } + + + /** + * Tests SyslogAppender with IPv4 address followed by port specification. + */ + public void testIPv4AndPort() { + SyslogAppender appender = new SyslogAppender(); + appender.setSyslogHost("127.0.0.1:1514"); + } + + private static String[] log(final boolean header, + final String msg, + final Exception ex, + final int packets) throws Exception { + DatagramSocket ds = new DatagramSocket(); + ds.setSoTimeout(2000); + + SyslogAppender appender = new SyslogAppender(); + appender.setSyslogHost("localhost:" + ds.getLocalPort()); + appender.setName("name"); + appender.setHeader(header); + PatternLayout pl = new PatternLayout("%m"); + appender.setLayout(pl); + appender.activateOptions(); + + Logger l = Logger.getRootLogger(); + l.addAppender(appender); + if (ex == null) { + l.info(msg); + } else { + l.error(msg, ex); + } + appender.close(); + String[] retval = new String[packets]; + byte[] buf = new byte[1000]; + for(int i = 0; i < packets; i++) { + DatagramPacket p = new DatagramPacket(buf, 0, buf.length); + ds.receive(p); + retval[i] = new String(p.getData(), 0, p.getLength()); + } + ds.close(); + return retval; + } + + public void testActualLogging() throws Exception { + String s = log(false, "greetings", null, 1)[0]; + StringTokenizer st = new StringTokenizer(s, "<>() "); + assertEquals("14", st.nextToken()); + assertEquals("greetings", st.nextToken()); + } + + /** + * Exception with printStackTrace that breaks earlier SyslogAppender. + */ + private static class MishandledException extends Exception { + private static final long serialVersionUID = 1L; + /* + * Create new instance. + */ + public MishandledException() { + } + + /** + * Print stack trace. + * @param w print writer, may not be null. + */ + public void printStackTrace(final java.io.PrintWriter w) { + w.println("Mishandled stack trace follows:"); + w.println(""); + w.println("No tab here"); + w.println("\ttab here"); + w.println("\t"); + } + } + + /** + * Tests fix for bug 40502. + * @throws Exception on IOException. + */ + public void testBadTabbing() throws Exception { + String[] s = log(false, "greetings", new MishandledException(), 6); + StringTokenizer st = new StringTokenizer(s[0], "<>() "); + assertEquals("11", st.nextToken()); + assertEquals("greetings", st.nextToken()); + assertEquals("<11>Mishandled stack trace follows:", s[1]); + assertEquals("<11>", s[2]); + assertEquals("<11>No tab here", s[3]); + assertEquals("<11>" + SyslogAppender.TAB + "tab here", s[4]); + assertEquals("<11>" + SyslogAppender.TAB, s[5]); + } + + /** + * Tests presence of timestamp if header = true. + * + * @throws Exception if IOException. + */ + public void testHeaderLogging() throws Exception { + Date preDate = new Date(); + String s = log(true, "greetings", null, 1)[0]; + Date postDate = new Date(); + assertEquals("<14>", s.substring(0, 4)); + + String syslogDateStr = s.substring(4, 20); + SimpleDateFormat fmt = new SimpleDateFormat("MMM dd HH:mm:ss ", Locale.ENGLISH); + Date syslogDate = fmt.parse(syslogDateStr); + Calendar cal = Calendar.getInstance(Locale.ENGLISH); + cal.setTime(syslogDate); + int syslogMonth = cal.get(Calendar.MONTH); + int syslogDay = cal.get(Calendar.DATE); + if (syslogDay < 10) { + assertEquals(' ', syslogDateStr.charAt(4)); + } + cal.setTime(preDate); + int preMonth = cal.get(Calendar.MONTH); + cal.set(Calendar.MILLISECOND, 0); + preDate = cal.getTime(); + int syslogYear; + if (preMonth == syslogMonth) { + syslogYear = cal.get(Calendar.YEAR); + } else { + cal.setTime(postDate); + syslogYear = cal.get(Calendar.YEAR); + } + cal.setTime(syslogDate); + cal.set(Calendar.YEAR, syslogYear); + syslogDate = cal.getTime(); + assertTrue(syslogDate.compareTo(preDate) >= 0); + assertTrue(syslogDate.compareTo(postDate) <= 0); + } + + + /** + * Tests that any header or footer in layout is sent. + * @throws Exception if exception during test. + */ + public void testLayoutHeader() throws Exception { + DatagramSocket ds = new DatagramSocket(); + ds.setSoTimeout(2000); + + SyslogAppender appender = new SyslogAppender(); + appender.setSyslogHost("localhost:" + ds.getLocalPort()); + appender.setName("name"); + appender.setHeader(false); + HTMLLayout pl = new HTMLLayout(); + appender.setLayout(pl); + appender.activateOptions(); + + Logger l = Logger.getRootLogger(); + l.addAppender(appender); + l.info("Hello, World"); + appender.close(); + String[] s = new String[3]; + byte[] buf = new byte[1000]; + for(int i = 0; i < 3; i++) { + DatagramPacket p = new DatagramPacket(buf, 0, buf.length); + ds.receive(p); + s[i] = new String(p.getData(), 0, p.getLength()); + } + ds.close(); + assertEquals("<14><!DOCTYPE", s[0].substring(0,13)); + assertEquals("<14></table>", s[2].substring(0,12)); + } + + /** + * Tests that syslog packets do not exceed 1024 bytes. + * See bug 42087. + * @throws Exception if exception during test. + */ + public void testBigPackets() throws Exception { + DatagramSocket ds = new DatagramSocket(); + ds.setSoTimeout(2000); + + SyslogAppender appender = new SyslogAppender(); + appender.setSyslogHost("localhost:" + ds.getLocalPort()); + appender.setName("name"); + appender.setHeader(false); + PatternLayout pl = new PatternLayout("%m"); + appender.setLayout(pl); + appender.activateOptions(); + + Logger l = Logger.getRootLogger(); + l.addAppender(appender); + StringBuffer msgbuf = new StringBuffer(); + while(msgbuf.length() < 8000) { + msgbuf.append("0123456789"); + } + String msg = msgbuf.toString(); + l.info(msg); + appender.close(); + String[] s = new String[8]; + byte[] buf = new byte[1200]; + for(int i = 0; i < 8; i++) { + DatagramPacket p = new DatagramPacket(buf, 0, buf.length); + ds.receive(p); + assertTrue(p.getLength() <= 1024); + s[i] = new String(p.getData(), 0, p.getLength()); + } + ds.close(); + StringBuffer rcvbuf = new StringBuffer(s[0]); + rcvbuf.delete(0, 4); + for(int i = 1; i < 8; i++) { + rcvbuf.setLength(rcvbuf.length() - 3); + rcvbuf.append(s[i].substring(s[i].indexOf("...") + 3)); + } + assertEquals(msg.length(), rcvbuf.length()); + assertEquals(msg, rcvbuf.toString()); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/TelnetAppenderTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/TelnetAppenderTest.java new file mode 100644 index 00000000000..dfad443c778 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/net/TelnetAppenderTest.java @@ -0,0 +1,77 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.net; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.Socket; + +import org.apache.log4j.Logger; +import org.apache.log4j.PatternLayout; + +import junit.framework.TestCase; + +public class TelnetAppenderTest extends TestCase { + + int port = 54353; + ByteArrayOutputStream bo = new ByteArrayOutputStream(); + + public class ReadThread extends Thread { + public void run() { + try { + Socket s = new Socket("localhost", port); + InputStream i = s.getInputStream(); + while (!Thread.interrupted()) { + int c = i.read(); + if (c == -1) + break; + bo.write(c); + } + s.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + public void testIt() throws Exception { + int oldActive = Thread.activeCount(); + TelnetAppender ta = new TelnetAppender(); + ta.setName("ta"); + ta.setPort(port); + ta.setLayout(new PatternLayout("%p - %m")); + ta.activateOptions(); + Logger l = Logger.getLogger("x"); + l.addAppender(ta); + Thread t = new ReadThread(); + t.start(); + Thread.sleep(200); + l.info("hi"); + Thread.sleep(1000); + ta.close(); + Thread.sleep(200); + t.interrupt(); + t.join(); + String s = bo.toString(); + assertTrue(s.endsWith("INFO - hi")); + if(System.getProperty("java.vendor").indexOf("Free") == -1) { + assertEquals(oldActive, Thread.activeCount()); + } + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/nt/NTEventLogAppenderTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/nt/NTEventLogAppenderTest.java new file mode 100755 index 00000000000..bba8de0602d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/nt/NTEventLogAppenderTest.java @@ -0,0 +1,55 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.nt; +import junit.framework.TestCase; +import org.apache.log4j.Logger; +import org.apache.log4j.LogManager; +import org.apache.log4j.Level; +import org.apache.log4j.BasicConfigurator; + + +/** + * + * NTEventLogAppender tests. + * + * @author Curt Arnold + */ +public class NTEventLogAppenderTest extends TestCase { + + /** + * Clean up configuration after each test. + */ + public void tearDown() { + LogManager.shutdown(); + } + + /** + * Simple test of NTEventLogAppender. + */ + public void testSimple() { + BasicConfigurator.configure(new NTEventLogAppender()); + Logger logger = Logger.getLogger("org.apache.log4j.nt.NTEventLogAppenderTest"); + int i = 0; + logger.debug( "Message " + i++); + logger.info( "Message " + i++); + logger.warn( "Message " + i++); + logger.error( "Message " + i++); + logger.log(Level.FATAL, "Message " + i++); + logger.debug("Message " + i++, new Exception("Just testing.")); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/or/ORTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/or/ORTestCase.java new file mode 100644 index 00000000000..b7287d856c8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/or/ORTestCase.java @@ -0,0 +1,245 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// +// Log4j uses the JUnit framework for internal unit testing. JUnit +// available from +// +// http://www.junit.org + + +package org.apache.log4j.or; + + + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; + +import java.io.Serializable; + + +/** + Unit test the {@link ObjectRenderer}. + @author Ceki G&uuml;lc&uuml; + @since 1.0 */ +public class ORTestCase extends TestCase { + + static UTObjectRenderer aor; + static UTObjectRenderer bor; + static UTObjectRenderer xor; + static UTObjectRenderer yor; + + static UTObjectRenderer oor; + static UTObjectRenderer nor; + static UTObjectRenderer ior; + static UTObjectRenderer cor; + static UTObjectRenderer sor; + + + + public ORTestCase(String name) { + super(name); + } + + + public + void setUp() { + aor = new UTObjectRenderer("A"); + bor = new UTObjectRenderer("B"); + xor = new UTObjectRenderer("X"); + yor = new UTObjectRenderer("Y"); + + oor = new UTObjectRenderer("Object"); + nor = new UTObjectRenderer("Number"); + ior = new UTObjectRenderer("Integer"); + cor = new UTObjectRenderer("Comparable"); + sor = new UTObjectRenderer("Serializable"); + } + + // Add: no renderer + // Expect: defaultRenderer + public + void test1() { + RendererMap map = new RendererMap(); + ObjectRenderer dr = map.getDefaultRenderer(); + ObjectRenderer r = map.get(Integer.class); + assertEquals(r, dr); + } + + // Add: Integer renderer + // Expect: Integer renderer + public + void test2() { + RendererMap map = new RendererMap(); + map.put(Integer.class, ior); + ObjectRenderer r = map.get(Integer.class); + assertEquals(r, ior); + + } + + // Add: Number renderer + // Expect: Number + public + void test3() { + RendererMap map = new RendererMap(); + map.put(Number.class, ior); + ObjectRenderer r = map.get(Integer.class); + assertEquals(r, ior); + } + + // Add: Object renderer + // Result: Object + public + void test4() { + RendererMap map = new RendererMap(); + map.put(Object.class, oor); + ObjectRenderer r = map.get(Integer.class); + assertEquals(r, oor); + } + + // Add: Object, Number, Integer + // Expect: Integer + public + void test5() { + RendererMap map = new RendererMap(); + + map.put(Object.class, oor); + map.put(Number.class, nor); + map.put(Integer.class, ior); + + ObjectRenderer r = map.get(Integer.class); + assertEquals(r, ior); + } + + // Add: Object, Number + // Expect: Number + public + void test6() { + RendererMap map = new RendererMap(); + + map.put(Object.class, oor); + map.put(Number.class, nor); + + ObjectRenderer r = map.get(Integer.class); + assertEquals(r, nor); + } + + // Add: Comparable + // Expect: Comparable + public + void test7() throws Exception { + RendererMap map = new RendererMap(); + Class comparable = null; + try { + comparable = Class.forName("java.lang.Comparable"); + } catch(Exception ex) { + // likely JDK 1.1 + return; + } + map.put(comparable, cor); + ObjectRenderer r = map.get(Integer.class); + assertEquals(r, cor); + } + + + // Add: Serializable + // Expect: Serializablee + public + void test8() { + RendererMap map = new RendererMap(); + map.put(Serializable.class, sor); + ObjectRenderer r = map.get(Integer.class); + assertEquals(r, sor); + } + + // Add: Y + // Expect: Y + public + void test9() { + RendererMap map = new RendererMap(); + map.put(Y.class, yor); + ObjectRenderer r = map.get(B.class); + assertEquals(r, yor); + } + + // Add: X + // Expect: X + public + void test10() { + RendererMap map = new RendererMap(); + map.put(X.class, xor); + ObjectRenderer r = map.get(B.class); + assertEquals(r, xor); + } + + + + + public + static + Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new ORTestCase("test1")); + suite.addTest(new ORTestCase("test2")); + suite.addTest(new ORTestCase("test3")); + suite.addTest(new ORTestCase("test4")); + suite.addTest(new ORTestCase("test5")); + suite.addTest(new ORTestCase("test6")); + suite.addTest(new ORTestCase("test7")); + suite.addTest(new ORTestCase("test8")); + suite.addTest(new ORTestCase("test9")); + suite.addTest(new ORTestCase("test10")); + return suite; + } + + + +} + +class UTObjectRenderer implements ObjectRenderer { + + String name; + + UTObjectRenderer(String name) { + this.name = name; + } + + public + String doRender(Object o) { + return name; + } + + public + String toString() { + return("UTObjectRenderer: "+name); + } +} + + +interface X { +} + +interface Y extends X { +} + + +class A implements Y { +} + +class B extends A { +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/CachedDateFormatTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/CachedDateFormatTest.java similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/CachedDateFormatTest.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/CachedDateFormatTest.java index 1751ac62d92..2ad4cdfb675 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/CachedDateFormatTest.java +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/CachedDateFormatTest.java @@ -51,21 +51,6 @@ public final class CachedDateFormatTest return df; } - /** - * Asserts that formatting the provided date results - * in the expected string. - * - * @param date Date date - * @param timeZone TimeZone timezone for conversion - * @param expected String expected string - */ - private final void assertFormattedTime(Date date, - TimeZone timeZone, - String expected) { - DateFormat formatter = createAbsoluteTimeDateFormat(timeZone); - String actual = formatter.format(date); - assertEquals(expected, actual); - } /** * Timezone representing GMT. @@ -149,8 +134,8 @@ public final class CachedDateFormatTest Date jul1 = new Date(ticks); assertEquals(baseFormat.format(jul1), cachedFormat.format(jul1)); Date plus8ms = new Date(ticks + 8); - String base = baseFormat.format(plus8ms); - String cached = cachedFormat.format(plus8ms); + baseFormat.format(plus8ms); + cachedFormat.format(plus8ms); assertEquals(baseFormat.format(plus8ms), cachedFormat.format(plus8ms)); Date plus17ms = new Date(ticks + 17); assertEquals(baseFormat.format(plus17ms), cachedFormat.format(plus17ms)); @@ -240,15 +225,17 @@ public final class CachedDateFormatTest c.set(Calendar.MILLISECOND, 23); c.setTimeZone(cet); + String expected = baseFormat.format(c.getTime()); String s = cachedFormat.format(c.getTime()); - assertEquals("2004-December-12 20:00:37,23 GMT+01:00", s); + assertEquals(expected, s); c.set(2005, Calendar.JANUARY, 1, 0, 0); c.set(Calendar.SECOND, 13); c.set(Calendar.MILLISECOND, 905); + expected = baseFormat.format(c.getTime()); s = cachedFormat.format(c.getTime()); - assertEquals("2005-January-01 00:00:13,905 GMT+01:00", s); + assertEquals(expected, s); } @@ -267,18 +254,21 @@ public final class CachedDateFormatTest c.set(Calendar.MILLISECOND, 23); c.setTimeZone(cet); + String expected = baseFormat.format(c.getTime()); String s = cachedFormat.format(c.getTime()); - assertEquals("October 023 Tuesday", s); + assertEquals(expected, s); c.set(2004, Calendar.NOVEMBER, 1, 0, 0); c.set(Calendar.MILLISECOND, 23); + expected = baseFormat.format(c.getTime()); s = cachedFormat.format(c.getTime()); - assertEquals("November 023 Monday", s); + assertEquals(expected, s); c.set(Calendar.MILLISECOND, 984); + expected = baseFormat.format(c.getTime()); s = cachedFormat.format(c.getTime()); - assertEquals("November 984 Monday", s); + assertEquals(expected, s); } /** @@ -291,21 +281,25 @@ public final class CachedDateFormatTest // String badPattern = "ss,SS0"; SimpleDateFormat simpleFormat = new SimpleDateFormat(badPattern); + SimpleDateFormat baseFormat = new SimpleDateFormat(badPattern); DateFormat gmtFormat = new CachedDateFormat(simpleFormat, 1000); gmtFormat.setTimeZone(GMT); + baseFormat.setTimeZone(GMT); // // The first request has to 100 ms after an ordinal second // to push the literal zero out of the pattern check long ticks = 11142L * 86400000L; Date jul2 = new Date(ticks + 120); - assertEquals("00,1200", gmtFormat.format(jul2)); + String expected = baseFormat.format(jul2); + assertEquals(expected, gmtFormat.format(jul2)); jul2.setTime(ticks + 87); // // Cache gives 00,087 - assertEquals("00,870", gmtFormat.format(jul2)); + expected = baseFormat.format(jul2); + assertEquals(expected, gmtFormat.format(jul2)); } diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/FormattingInfoTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/FormattingInfoTest.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/FormattingInfoTest.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/FormattingInfoTest.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/NameAbbreviatorTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/NameAbbreviatorTest.java similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/NameAbbreviatorTest.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/NameAbbreviatorTest.java index 7fff970a94d..7ced8f53edf 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/NameAbbreviatorTest.java +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/NameAbbreviatorTest.java @@ -23,8 +23,6 @@ import junit.framework.TestCase; /** * Tests for NameAbbrevator. * - * @author Curt Arnold - * */ public class NameAbbreviatorTest extends TestCase { /** @@ -300,4 +298,39 @@ public class NameAbbreviatorTest extends TestCase { abbrev.abbreviate(fieldStart, buf); assertEquals("DEBUG - .", buf.toString()); } + + /** + * Check that getAbbreviator("-1").abbreviate() drops first name element. + * + */ + public void testMinusOne() { + NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("-1"); + StringBuffer buf = new StringBuffer("DEBUG - "); + int fieldStart = buf.length(); + buf.append("org.example.foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - example.foo.bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - ", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("."); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - ", buf.toString()); + + } + } diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/Num343PatternConverter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java rename to thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/Num343PatternConverter.java diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/PatternParserTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/PatternParserTest.java new file mode 100644 index 00000000000..10f56cfba90 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/pattern/PatternParserTest.java @@ -0,0 +1,171 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TimeZone; + +import junit.framework.TestCase; + +import org.apache.log4j.Layout; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; + + +/** + Test case for PatternParser.java. Tests the various + conversion patterns supported by PatternParser. This test + class tests PatternParser via the EnhancedPatternLayout class which + uses it. + */ +public class PatternParserTest extends TestCase { + private final Logger logger = Logger.getLogger("org.foobar"); + private final LoggingEvent event; + + public PatternParserTest(String name) { + super(name); + event = new LoggingEvent("org.apache.log4j.Logger", + logger, Level.INFO, "msg 1", null); + } + + private static String convert( + String pattern, + Map registry, + LoggingEvent event) { + List converters = new ArrayList(); + List fields = new ArrayList(); + PatternParser.parse(pattern, converters, fields, + registry, + PatternParser.getPatternLayoutRules()); + assertEquals(converters.size(), fields.size()); + + StringBuffer buf = new StringBuffer(); + Iterator converterIter = converters.iterator(); + Iterator fieldIter = fields.iterator(); + while(converterIter.hasNext()) { + int fieldStart = buf.length(); + ((PatternConverter) converterIter.next()).format(event, buf); + ((FormattingInfo) fieldIter.next()).format(fieldStart, buf); + } + return buf.toString(); + } + + public void testNewWord() throws Exception { + HashMap ruleRegistry = new HashMap(5); + ruleRegistry.put("z343", Num343PatternConverter.class.getName()); + String result = convert("%z343", ruleRegistry, event); + assertEquals("343", result); + } + + /* Test whether words starting with the letter 'n' are treated differently, + * which was previously the case by mistake. + */ + public void testNewWord2() throws Exception { + HashMap ruleRegistry = new HashMap(5); + ruleRegistry.put("n343", Num343PatternConverter.class.getName()); + String result = convert("%n343", ruleRegistry, event); + assertEquals("343", result); + } + + public void testBogusWord1() throws Exception { + String result = convert("%, foobar", null, event); + assertEquals("%, foobar", result); + } + + public void testBogusWord2() throws Exception { + String result = convert("xyz %, foobar", null, event); + assertEquals("xyz %, foobar", result); + } + + public void testBasic1() throws Exception { + String result = convert("hello %-5level - %m%n", null, event); + assertEquals("hello INFO - msg 1" + Layout.LINE_SEP, result); + } + + public void testBasic2() throws Exception { + String result = convert("%relative %-5level [%thread] %logger - %m%n", null, event); + + long expectedRelativeTime = event.timeStamp - LoggingEvent.getStartTime(); + assertEquals(expectedRelativeTime + " INFO [main] "+logger.getName()+" - msg 1" + Layout.LINE_SEP, result); + } + + public void testMultiOption() throws Exception { + String result = convert("%d{HH:mm:ss}{GMT} %d{HH:mm:ss} %c - %m", null, event); + + SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); + String localTime = dateFormat.format(new Date(event.timeStamp)); + dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); + String utcTime = dateFormat.format(new Date(event.timeStamp)); + StringBuffer buf = new StringBuffer(utcTime); + buf.append(' '); + buf.append(localTime); + buf.append(" org.foobar - msg 1"); + assertEquals(buf.toString(), result); + } + + public void testBogus() throws Exception { + String result = convert("%bogus", null, event); + assertEquals("%bogus", result); + } + + public void testMore() throws Exception { + String result = convert("%more", null, event); + assertEquals("msg 1ore", result); + } + + /** + * Options with missing close braces will be treated as a literal. + * Endless looped with earlier code. + * + */ + public void testMalformedOption() { + String result = convert("foo%m{yyyy.MM.dd", null, event); + assertEquals("foomsg 1{yyyy.MM.dd", result); + } + + + private void assertFactories(Map rules) throws Exception { + assertTrue(rules.size() > 0); + Iterator iter = rules.values().iterator(); + Class[] factorySig = new Class[] { Class.forName("[Ljava.lang.String;") }; + Object[] factoryArg = new Object[] { null }; + while(iter.hasNext()) { + Class ruleClass = (Class) iter.next(); + Method factory = ruleClass.getMethod("newInstance", factorySig); + Object converter = factory.invoke(null, factoryArg); + assertTrue(converter != null); + } + } + + public void testPatternLayoutFactories() throws Exception { + assertFactories(PatternParser.getPatternLayoutRules()); + } + + public void testFileNamePatternFactories() throws Exception { + assertFactories(PatternParser.getFileNamePatternRules()); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/LocationInfoTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/LocationInfoTest.java new file mode 100644 index 00000000000..01148760365 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/LocationInfoTest.java @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.spi; + +import junit.framework.TestCase; + +/** + * Tests for LocationInfo. + */ +public class LocationInfoTest extends TestCase { + + /** + * Tests four parameter constructor. + */ + public void testFourParamConstructor() { + final String className = LocationInfoTest.class.getName(); + final String methodName = "testFourParamConstructor"; + final String fileName = "LocationInfoTest.java"; + final String lineNumber = "41"; + LocationInfo li = new LocationInfo(fileName, + className, methodName, lineNumber); + assertEquals(className, li.getClassName()); + assertEquals(methodName, li.getMethodName()); + assertEquals(fileName, li.getFileName()); + assertEquals(lineNumber, li.getLineNumber()); + assertEquals(className + "." + methodName + + "(" + fileName + ":" + lineNumber + ")", + li.fullInfo); + } + + + /** + * Class with name that is a substring of its caller. + */ + private static class NameSubstring { + /** + * Construct a LocationInfo. Location should be immediate caller of this method. + * @return location info. + */ + public static LocationInfo getInfo() { + return new LocationInfo(new Throwable(), NameSubstring.class.getName()); + + } + } + + /** + * Class whose name is contains the name of the class that obtains the LocationInfo. + */ + private static class NameSubstringCaller { + /** + * Construct a locationInfo. Location should be this location. + * @return location info. + */ + public static LocationInfo getInfo() { + return NameSubstring.getInfo(); + } + + } + + /** + * Tests creation of location info when the logger class name + * is a substring of one of the other classes in the stack trace. + * See bug 44888. + */ + public void testLocationInfo() { + LocationInfo li = NameSubstringCaller.getInfo(); + assertEquals(NameSubstringCaller.class.getName(), li.getClassName()); + assertEquals("getInfo", li.getMethodName()); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/LoggingEventTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/LoggingEventTest.java new file mode 100644 index 00000000000..9dbec3a5209 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/LoggingEventTest.java @@ -0,0 +1,271 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.spi; + +import junit.framework.TestCase; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.MDC; +import org.apache.log4j.NDC; +import org.apache.log4j.util.SerializationTestHelper; +import org.apache.log4j.Priority; +import org.apache.log4j.Category; + + +/** + * Tests LoggingEvent. + * + * @author Curt Arnold + */ +public class LoggingEventTest extends TestCase { + /** + * Create LoggingEventTest. + * + * @param name test name. + */ + public LoggingEventTest(final String name) { + super(name); + } + + /** + * Serialize a simple logging event and check it against + * a witness. + * @throws Exception if exception during test. + */ + public void testSerializationSimple() throws Exception { + Logger root = Logger.getRootLogger(); + LoggingEvent event = + new LoggingEvent( + root.getClass().getName(), root, Level.INFO, "Hello, world.", null); +// event.prepareForDeferredProcessing(); + + int[] skip = new int[] { 352, 353, 354, 355, 356 }; + SerializationTestHelper.assertSerializationEquals( + "witness/serialization/simple.bin", event, skip, 237); + } + + /** + * Serialize a logging event with an exception and check it against + * a witness. + * @throws Exception if exception during test. + * + */ + public void testSerializationWithException() throws Exception { + Logger root = Logger.getRootLogger(); + Exception ex = new Exception("Don't panic"); + LoggingEvent event = + new LoggingEvent( + root.getClass().getName(), root, Level.INFO, "Hello, world.", ex); +// event.prepareForDeferredProcessing(); + + int[] skip = new int[] { 352, 353, 354, 355, 356 }; + SerializationTestHelper.assertSerializationEquals( + "witness/serialization/exception.bin", event, skip, 237); + } + + /** + * Serialize a logging event with an exception and check it against + * a witness. + * @throws Exception if exception during test. + * + */ + public void testSerializationWithLocation() throws Exception { + Logger root = Logger.getRootLogger(); + LoggingEvent event = + new LoggingEvent( + root.getClass().getName(), root, Level.INFO, "Hello, world.", null); + event.getLocationInformation(); +// event.prepareForDeferredProcessing(); + + int[] skip = new int[] { 352, 353, 354, 355, 356 }; + SerializationTestHelper.assertSerializationEquals( + "witness/serialization/location.bin", event, skip, 237); + } + + /** + * Serialize a logging event with ndc. + * @throws Exception if exception during test. + * + */ + public void testSerializationNDC() throws Exception { + Logger root = Logger.getRootLogger(); + NDC.push("ndc test"); + + LoggingEvent event = + new LoggingEvent( + root.getClass().getName(), root, Level.INFO, "Hello, world.", null); +// event.prepareForDeferredProcessing(); + + int[] skip = new int[] { 352, 353, 354, 355, 356 }; + SerializationTestHelper.assertSerializationEquals( + "witness/serialization/ndc.bin", event, skip, 237); + } + + /** + * Serialize a logging event with mdc. + * @throws Exception if exception during test. + * + */ + public void testSerializationMDC() throws Exception { + Logger root = Logger.getRootLogger(); + MDC.put("mdckey", "mdcvalue"); + + LoggingEvent event = + new LoggingEvent( + root.getClass().getName(), root, Level.INFO, "Hello, world.", null); +// event.prepareForDeferredProcessing(); + + int[] skip = new int[] { 352, 353, 354, 355, 356 }; + SerializationTestHelper.assertSerializationEquals( + "witness/serialization/mdc.bin", event, skip, 237); + } + + /** + * Deserialize a simple logging event. + * @throws Exception if exception during test. + * + */ + public void testDeserializationSimple() throws Exception { + Object obj = + SerializationTestHelper.deserializeStream( + "witness/serialization/simple.bin"); + assertTrue(obj instanceof LoggingEvent); + + LoggingEvent event = (LoggingEvent) obj; + assertEquals("Hello, world.", event.getMessage()); + assertEquals(Level.INFO, event.getLevel()); + } + + /** + * Deserialize a logging event with an exception. + * @throws Exception if exception during test. + * + */ + public void testDeserializationWithException() throws Exception { + Object obj = + SerializationTestHelper.deserializeStream( + "witness/serialization/exception.bin"); + assertTrue(obj instanceof LoggingEvent); + + LoggingEvent event = (LoggingEvent) obj; + assertEquals("Hello, world.", event.getMessage()); + assertEquals(Level.INFO, event.getLevel()); + } + + /** + * Deserialize a logging event with an exception. + * @throws Exception if exception during test. + * + */ + public void testDeserializationWithLocation() throws Exception { + Object obj = + SerializationTestHelper.deserializeStream( + "witness/serialization/location.bin"); + assertTrue(obj instanceof LoggingEvent); + + LoggingEvent event = (LoggingEvent) obj; + assertEquals("Hello, world.", event.getMessage()); + assertEquals(Level.INFO, event.getLevel()); + } + + /** + * Tests LoggingEvent.fqnOfCategoryClass. + */ + public void testFQNOfCategoryClass() { + Category root = Logger.getRootLogger(); + Priority info = Level.INFO; + String catName = Logger.class.toString(); + LoggingEvent event = + new LoggingEvent( + catName, root, info, "Hello, world.", null); + assertEquals(catName, event.fqnOfCategoryClass); + } + + /** + * Tests LoggingEvent.level. + * @deprecated + */ + public void testLevel() { + Category root = Logger.getRootLogger(); + Priority info = Level.INFO; + String catName = Logger.class.toString(); + LoggingEvent event = + new LoggingEvent( + catName, root, 0L, info, "Hello, world.", null); + Priority error = Level.ERROR; + event.level = error; + assertEquals(Level.ERROR, event.level); + } + + /** + * Tests LoggingEvent.getLocationInfo() when no FQCN is specified. + * See bug 41186. + */ + public void testLocationInfoNoFQCN() { + Category root = Logger.getRootLogger(); + Priority level = Level.INFO; + LoggingEvent event = + new LoggingEvent( + null, root, 0L, level, "Hello, world.", null); + LocationInfo info = event.getLocationInformation(); + // + // log4j 1.2 returns an object, its layout doesn't check for nulls. + // log4j 1.3 returns a null. + // + assertNotNull(info); + if (info != null) { + assertEquals("?", info.getLineNumber()); + assertEquals("?", info.getClassName()); + assertEquals("?", info.getFileName()); + assertEquals("?", info.getMethodName()); + } + } + + /** + * Message object that throws a RuntimeException on toString(). + * See bug 37182. + */ + private static class BadMessage { + public BadMessage() { + } + + public String toString() { + throw new RuntimeException(); + } + } + + /** + * Tests that an runtime exception or error during toString + * on the message parameter does not propagate to caller. + * See bug 37182. + */ + public void testBadMessage() { + Category root = Logger.getRootLogger(); + Priority info = Level.INFO; + String catName = Logger.class.toString(); + BadMessage msg = new BadMessage(); + LoggingEvent event = + new LoggingEvent( + catName, root, 0L, info, msg, null); + // would result in exception in earlier versions + event.getRenderedMessage(); + } + + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/ThrowableInformationTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/ThrowableInformationTest.java new file mode 100644 index 00000000000..e2ad1cb3783 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/spi/ThrowableInformationTest.java @@ -0,0 +1,343 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.spi; + +import junit.framework.TestCase; + +import java.io.PrintWriter; + + +/** + * Unit tests for ThrowableInformation. + */ +public class ThrowableInformationTest extends TestCase { + /** + * Create ThrowableInformationTest. + * + * @param name test name. + */ + public ThrowableInformationTest(final String name) { + super(name); + } + + /** + * Custom throwable that only calls methods + * overridden by VectorWriter in log4j 1.2.14 and earlier. + */ + private static final class OverriddenThrowable extends Throwable { + private static final long serialVersionUID = 1L; + /** + * Create new instance. + */ + public OverriddenThrowable() { + } + + /** + * Print stack trace. + * + * @param s print writer. + */ + public void printStackTrace(final PrintWriter s) { + s.print((Object) "print(Object)"); + s.print("print(char[])".toCharArray()); + s.print("print(String)"); + s.println((Object) "println(Object)"); + s.println("println(char[])".toCharArray()); + s.println("println(String)"); + s.write("write(char[])".toCharArray()); + s.write("write(char[], int, int)".toCharArray(), 2, 8); + s.write("write(String, int, int)", 2, 8); + } + } + + /** + * Test capturing stack trace from a throwable that only uses the + * PrintWriter methods overridden in log4j 1.2.14 and earlier. + */ + public void testOverriddenBehavior() { + ThrowableInformation ti = new ThrowableInformation(new OverriddenThrowable()); + String[] rep = ti.getThrowableStrRep(); + assertEquals(4, rep.length); + assertEquals("print(Object)print(char[])print(String)println(Object)", rep[0]); + assertEquals("println(char[])", rep[1]); + assertEquals("println(String)", rep[2]); + assertEquals("write(char[])ite(charite(Stri", rep[3]); + } + + /** + * Custom throwable that calls methods + * not overridden by VectorWriter in log4j 1.2.14 and earlier. + */ + private static final class NotOverriddenThrowable extends Throwable { + private static final long serialVersionUID = 1L; + /** + * Create new instance. + */ + public NotOverriddenThrowable() { + } + + /** + * Print stack trace. + * + * @param s print writer. + */ + public void printStackTrace(final PrintWriter s) { + s.print(true); + s.print('a'); + s.print(1); + s.print(2L); + s.print(Float.MAX_VALUE); + s.print(Double.MIN_VALUE); + s.println(true); + s.println('a'); + s.println(1); + s.println(2L); + s.println(Float.MAX_VALUE); + s.println(Double.MIN_VALUE); + s.write('C'); + } + } + + /** + * Test capturing stack trace from a throwable that uses the + * PrintWriter methods not overridden in log4j 1.2.14 and earlier. + */ + public void testNotOverriddenBehavior() { + ThrowableInformation ti = new ThrowableInformation(new NotOverriddenThrowable()); + String[] rep = ti.getThrowableStrRep(); + assertEquals(7, rep.length); + StringBuffer buf = new StringBuffer(String.valueOf(true)); + buf.append('a'); + buf.append(String.valueOf(1)); + buf.append(String.valueOf(2L)); + buf.append(String.valueOf(Float.MAX_VALUE)); + buf.append(String.valueOf(Double.MIN_VALUE)); + buf.append(String.valueOf(true)); + assertEquals(buf.toString(), rep[0]); + assertEquals("a", rep[1]); + assertEquals(String.valueOf(1), rep[2]); + assertEquals(String.valueOf(2L), rep[3]); + assertEquals(String.valueOf(Float.MAX_VALUE), rep[4]); + assertEquals(String.valueOf(Double.MIN_VALUE), rep[5]); + assertEquals("C", rep[6]); + } + + /** + * Custom throwable that calls methods of VectorWriter + * with null. + */ + private static final class NullThrowable extends Throwable { + private static final long serialVersionUID = 1L; + /** + * Create new instance. + */ + public NullThrowable() { + } + + /** + * Print stack trace. + * + * @param s print writer. + */ + public void printStackTrace(final PrintWriter s) { + s.print((Object) null); + s.print((String) null); + s.println((Object) null); + s.println((String) null); + } + } + + /** + * Test capturing stack trace from a throwable that passes + * null to PrintWriter methods. + */ + + public void testNull() { + ThrowableInformation ti = new ThrowableInformation(new NullThrowable()); + String[] rep = ti.getThrowableStrRep(); + assertEquals(2, rep.length); + String nullStr = String.valueOf((Object) null); + assertEquals(nullStr + nullStr + nullStr, rep[0]); + assertEquals(nullStr, rep[1]); + } + + /** + * Custom throwable that does nothing in printStackTrace. + */ + private static final class EmptyThrowable extends Throwable { + private static final long serialVersionUID = 1L; + /** + * Create new instance. + */ + public EmptyThrowable() { + } + + /** + * Print stack trace. + * + * @param s print writer. + */ + public void printStackTrace(final PrintWriter s) { + } + } + + /** + * Test capturing stack trace from a throwable that + * does nothing on a call to printStackTrace. + */ + + public void testEmpty() { + ThrowableInformation ti = new ThrowableInformation(new EmptyThrowable()); + String[] rep = ti.getThrowableStrRep(); + assertEquals(0, rep.length); + } + + /** + * Custom throwable that emits a specified string in printStackTrace. + */ + private static final class StringThrowable extends Throwable { + private static final long serialVersionUID = 1L; + /** + * Stack trace. + */ + private final String stackTrace; + /** + * Create new instance. + * @param trace stack trace. + */ + public StringThrowable(final String trace) { + stackTrace = trace; + } + + /** + * Print stack trace. + * + * @param s print writer. + */ + public void printStackTrace(final PrintWriter s) { + s.print(stackTrace); + } + } + + /** + * Test capturing stack trace from throwable that just has a line feed. + */ + public void testLineFeed() { + ThrowableInformation ti = new ThrowableInformation(new StringThrowable("\n")); + String[] rep = ti.getThrowableStrRep(); + assertEquals(1, rep.length); + assertEquals("", rep[0]); + } + + /** + * Test capturing stack trace from throwable that just has a carriage return. + */ + public void testCarriageReturn() { + ThrowableInformation ti = new ThrowableInformation(new StringThrowable("\r")); + String[] rep = ti.getThrowableStrRep(); + assertEquals(1, rep.length); + assertEquals("", rep[0]); + } + + /** + * Test parsing of line breaks. + */ + public void testParsing() { + ThrowableInformation ti = new ThrowableInformation( + new StringThrowable("Line1\rLine2\nLine3\r\nLine4\n\rLine6")); + String[] rep = ti.getThrowableStrRep(); + assertEquals(6, rep.length); + assertEquals("Line1", rep[0]); + assertEquals("Line2", rep[1]); + assertEquals("Line3", rep[2]); + assertEquals("Line4", rep[3]); + assertEquals("", rep[4]); + assertEquals("Line6", rep[5]); + } + + /** + * Test capturing stack trace from throwable that a line feed followed by blank. + */ + public void testLineFeedBlank() { + ThrowableInformation ti = new ThrowableInformation(new StringThrowable("\n ")); + String[] rep = ti.getThrowableStrRep(); + assertEquals(2, rep.length); + assertEquals("", rep[0]); + assertEquals(" ", rep[1]); + } + + /** + * Test that getThrowable returns the throwable provided to the constructor. + */ + public void testGetThrowable() { + Throwable t = new StringThrowable("Hello, World"); + ThrowableInformation ti = new ThrowableInformation(t); + assertSame(t, ti.getThrowable()); + } + + /** + * Tests isolation of returned string representation + * from internal state of ThrowableInformation. + * log4j 1.2.15 and earlier did not isolate initial call. + * See bug 44032. + */ + public void testIsolation() { + ThrowableInformation ti = new ThrowableInformation( + new StringThrowable("Hello, World")); + String[] rep = ti.getThrowableStrRep(); + assertEquals("Hello, World", rep[0]); + rep[0] = "Bonjour, Monde"; + String[] rep2 = ti.getThrowableStrRep(); + assertEquals("Hello, World", rep2[0]); + } + + /** + * Custom throwable that throws a runtime exception + * when printStackTrace is called. + */ + private static final class NastyThrowable extends Throwable { + private static final long serialVersionUID = 1L; + /** + * Create new instance. + */ + public NastyThrowable() { + } + + /** + * Print stack trace. + * + * @param s print writer. + */ + public void printStackTrace(final PrintWriter s) { + s.print("NastyException"); + throw new RuntimeException("Intentional exception"); + } + } + + /** + * Tests that a failure in printStackTrace + * does not percolate out of getThrowableStrRep(). + * + */ + public void testNastyException() { + ThrowableInformation ti = new ThrowableInformation( + new NastyThrowable()); + String[] rep = ti.getThrowableStrRep(); + assertEquals("NastyException", rep[0]); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/stressCategory b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/stressCategory new file mode 100644 index 00000000000..ce58c008e88 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/stressCategory @@ -0,0 +1,913 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ==================================================== +function stressTest { + java org.apache.log4j.StressCategory $* + if [ "$?" = "0" ] + then + echo "Passed category stress test $index." + index=$index+1 + else + echo "Failed stress test with arguments [$*]" + exit + fi +} +# ==================================================== + +declare -i index +index=1 + +stressTest a b +stressTest a a.b +# +stressTest a b c +stressTest a b a.c +stressTest a b b.c +stressTest a a.b c +stressTest a a.b a.c +stressTest a a.b a.b.c +# +stressTest a b c d +stressTest a b c a.d +stressTest a b c b.d +stressTest a b c c.d +stressTest a b a.c d +stressTest a b a.c a.d +stressTest a b a.c b.d +stressTest a b a.c a.c.d +stressTest a b b.c d +stressTest a b b.c a.d +stressTest a b b.c b.d +stressTest a b b.c b.c.d +stressTest a a.b c d +stressTest a a.b c a.d +stressTest a a.b c a.b.d +stressTest a a.b c c.d +stressTest a a.b a.c d +stressTest a a.b a.c a.d +stressTest a a.b a.c a.b.d +stressTest a a.b a.c a.c.d +stressTest a a.b a.b.c d +stressTest a a.b a.b.c a.d +stressTest a a.b a.b.c a.b.d +stressTest a a.b a.b.c a.b.c.d +# +stressTest a b c d e +stressTest a b c d a.e +stressTest a b c d b.e +stressTest a b c d c.e +stressTest a b c d d.e +stressTest a b c a.d e +stressTest a b c a.d a.e +stressTest a b c a.d b.e +stressTest a b c a.d c.e +stressTest a b c a.d a.d.e +stressTest a b c b.d e +stressTest a b c b.d a.e +stressTest a b c b.d b.e +stressTest a b c b.d c.e +stressTest a b c b.d b.d.e +stressTest a b c c.d e +stressTest a b c c.d a.e +stressTest a b c c.d b.e +stressTest a b c c.d c.e +stressTest a b c c.d c.d.e +stressTest a b a.c d e +stressTest a b a.c d a.e +stressTest a b a.c d b.e +stressTest a b a.c d a.c.e +stressTest a b a.c d d.e +stressTest a b a.c a.d e +stressTest a b a.c a.d a.e +stressTest a b a.c a.d b.e +stressTest a b a.c a.d a.c.e +stressTest a b a.c a.d a.d.e +stressTest a b a.c b.d e +stressTest a b a.c b.d a.e +stressTest a b a.c b.d b.e +stressTest a b a.c b.d a.c.e +stressTest a b a.c b.d b.d.e +stressTest a b a.c a.c.d e +stressTest a b a.c a.c.d a.e +stressTest a b a.c a.c.d b.e +stressTest a b a.c a.c.d a.c.e +stressTest a b a.c a.c.d a.c.d.e +stressTest a b b.c d e +stressTest a b b.c d a.e +stressTest a b b.c d b.e +stressTest a b b.c d b.c.e +stressTest a b b.c d d.e +stressTest a b b.c a.d e +stressTest a b b.c a.d a.e +stressTest a b b.c a.d b.e +stressTest a b b.c a.d b.c.e +stressTest a b b.c a.d a.d.e +stressTest a b b.c b.d e +stressTest a b b.c b.d a.e +stressTest a b b.c b.d b.e +stressTest a b b.c b.d b.c.e +stressTest a b b.c b.d b.d.e +stressTest a b b.c b.c.d e +stressTest a b b.c b.c.d a.e +stressTest a b b.c b.c.d b.e +stressTest a b b.c b.c.d b.c.e +stressTest a b b.c b.c.d b.c.d.e +stressTest a a.b c d e +stressTest a a.b c d a.e +stressTest a a.b c d a.b.e +stressTest a a.b c d c.e +stressTest a a.b c d d.e +stressTest a a.b c a.d e +stressTest a a.b c a.d a.e +stressTest a a.b c a.d a.b.e +stressTest a a.b c a.d c.e +stressTest a a.b c a.d a.d.e +stressTest a a.b c a.b.d e +stressTest a a.b c a.b.d a.e +stressTest a a.b c a.b.d a.b.e +stressTest a a.b c a.b.d c.e +stressTest a a.b c a.b.d a.b.d.e +stressTest a a.b c c.d e +stressTest a a.b c c.d a.e +stressTest a a.b c c.d a.b.e +stressTest a a.b c c.d c.e +stressTest a a.b c c.d c.d.e +stressTest a a.b a.c d e +stressTest a a.b a.c d a.e +stressTest a a.b a.c d a.b.e +stressTest a a.b a.c d a.c.e +stressTest a a.b a.c d d.e +stressTest a a.b a.c a.d e +stressTest a a.b a.c a.d a.e +stressTest a a.b a.c a.d a.b.e +stressTest a a.b a.c a.d a.c.e +stressTest a a.b a.c a.d a.d.e +stressTest a a.b a.c a.b.d e +stressTest a a.b a.c a.b.d a.e +stressTest a a.b a.c a.b.d a.b.e +stressTest a a.b a.c a.b.d a.c.e +stressTest a a.b a.c a.b.d a.b.d.e +stressTest a a.b a.c a.c.d e +stressTest a a.b a.c a.c.d a.e +stressTest a a.b a.c a.c.d a.b.e +stressTest a a.b a.c a.c.d a.c.e +stressTest a a.b a.c a.c.d a.c.d.e +stressTest a a.b a.b.c d e +stressTest a a.b a.b.c d a.e +stressTest a a.b a.b.c d a.b.e +stressTest a a.b a.b.c d a.b.c.e +stressTest a a.b a.b.c d d.e +stressTest a a.b a.b.c a.d e +stressTest a a.b a.b.c a.d a.e +stressTest a a.b a.b.c a.d a.b.e +stressTest a a.b a.b.c a.d a.b.c.e +stressTest a a.b a.b.c a.d a.d.e +stressTest a a.b a.b.c a.b.d e +stressTest a a.b a.b.c a.b.d a.e +stressTest a a.b a.b.c a.b.d a.b.e +stressTest a a.b a.b.c a.b.d a.b.c.e +stressTest a a.b a.b.c a.b.d a.b.d.e +stressTest a a.b a.b.c a.b.c.d e +stressTest a a.b a.b.c a.b.c.d a.e +stressTest a a.b a.b.c a.b.c.d a.b.e +stressTest a a.b a.b.c a.b.c.d a.b.c.e +stressTest a a.b a.b.c a.b.c.d a.b.c.d.e +# +stressTest a b c d e f +stressTest a b c d e a.f +stressTest a b c d e b.f +stressTest a b c d e c.f +stressTest a b c d e d.f +stressTest a b c d e e.f +stressTest a b c d a.e f +stressTest a b c d a.e a.f +stressTest a b c d a.e b.f +stressTest a b c d a.e c.f +stressTest a b c d a.e d.f +stressTest a b c d a.e a.e.f +stressTest a b c d b.e f +stressTest a b c d b.e a.f +stressTest a b c d b.e b.f +stressTest a b c d b.e c.f +stressTest a b c d b.e d.f +stressTest a b c d b.e b.e.f +stressTest a b c d c.e f +stressTest a b c d c.e a.f +stressTest a b c d c.e b.f +stressTest a b c d c.e c.f +stressTest a b c d c.e d.f +stressTest a b c d c.e c.e.f +stressTest a b c d d.e f +stressTest a b c d d.e a.f +stressTest a b c d d.e b.f +stressTest a b c d d.e c.f +stressTest a b c d d.e d.f +stressTest a b c d d.e d.e.f +stressTest a b c a.d e f +stressTest a b c a.d e a.f +stressTest a b c a.d e b.f +stressTest a b c a.d e c.f +stressTest a b c a.d e a.d.f +stressTest a b c a.d e e.f +stressTest a b c a.d a.e f +stressTest a b c a.d a.e a.f +stressTest a b c a.d a.e b.f +stressTest a b c a.d a.e c.f +stressTest a b c a.d a.e a.d.f +stressTest a b c a.d a.e a.e.f +stressTest a b c a.d b.e f +stressTest a b c a.d b.e a.f +stressTest a b c a.d b.e b.f +stressTest a b c a.d b.e c.f +stressTest a b c a.d b.e a.d.f +stressTest a b c a.d b.e b.e.f +stressTest a b c a.d c.e f +stressTest a b c a.d c.e a.f +stressTest a b c a.d c.e b.f +stressTest a b c a.d c.e c.f +stressTest a b c a.d c.e a.d.f +stressTest a b c a.d c.e c.e.f +stressTest a b c a.d a.d.e f +stressTest a b c a.d a.d.e a.f +stressTest a b c a.d a.d.e b.f +stressTest a b c a.d a.d.e c.f +stressTest a b c a.d a.d.e a.d.f +stressTest a b c a.d a.d.e a.d.e.f +stressTest a b c b.d e f +stressTest a b c b.d e a.f +stressTest a b c b.d e b.f +stressTest a b c b.d e c.f +stressTest a b c b.d e b.d.f +stressTest a b c b.d e e.f +stressTest a b c b.d a.e f +stressTest a b c b.d a.e a.f +stressTest a b c b.d a.e b.f +stressTest a b c b.d a.e c.f +stressTest a b c b.d a.e b.d.f +stressTest a b c b.d a.e a.e.f +stressTest a b c b.d b.e f +stressTest a b c b.d b.e a.f +stressTest a b c b.d b.e b.f +stressTest a b c b.d b.e c.f +stressTest a b c b.d b.e b.d.f +stressTest a b c b.d b.e b.e.f +stressTest a b c b.d c.e f +stressTest a b c b.d c.e a.f +stressTest a b c b.d c.e b.f +stressTest a b c b.d c.e c.f +stressTest a b c b.d c.e b.d.f +stressTest a b c b.d c.e c.e.f +stressTest a b c b.d b.d.e f +stressTest a b c b.d b.d.e a.f +stressTest a b c b.d b.d.e b.f +stressTest a b c b.d b.d.e c.f +stressTest a b c b.d b.d.e b.d.f +stressTest a b c b.d b.d.e b.d.e.f +stressTest a b c c.d e f +stressTest a b c c.d e a.f +stressTest a b c c.d e b.f +stressTest a b c c.d e c.f +stressTest a b c c.d e c.d.f +stressTest a b c c.d e e.f +stressTest a b c c.d a.e f +stressTest a b c c.d a.e a.f +stressTest a b c c.d a.e b.f +stressTest a b c c.d a.e c.f +stressTest a b c c.d a.e c.d.f +stressTest a b c c.d a.e a.e.f +stressTest a b c c.d b.e f +stressTest a b c c.d b.e a.f +stressTest a b c c.d b.e b.f +stressTest a b c c.d b.e c.f +stressTest a b c c.d b.e c.d.f +stressTest a b c c.d b.e b.e.f +stressTest a b c c.d c.e f +stressTest a b c c.d c.e a.f +stressTest a b c c.d c.e b.f +stressTest a b c c.d c.e c.f +stressTest a b c c.d c.e c.d.f +stressTest a b c c.d c.e c.e.f +stressTest a b c c.d c.d.e f +stressTest a b c c.d c.d.e a.f +stressTest a b c c.d c.d.e b.f +stressTest a b c c.d c.d.e c.f +stressTest a b c c.d c.d.e c.d.f +stressTest a b c c.d c.d.e c.d.e.f +stressTest a b a.c d e f +stressTest a b a.c d e a.f +stressTest a b a.c d e b.f +stressTest a b a.c d e a.c.f +stressTest a b a.c d e d.f +stressTest a b a.c d e e.f +stressTest a b a.c d a.e f +stressTest a b a.c d a.e a.f +stressTest a b a.c d a.e b.f +stressTest a b a.c d a.e a.c.f +stressTest a b a.c d a.e d.f +stressTest a b a.c d a.e a.e.f +stressTest a b a.c d b.e f +stressTest a b a.c d b.e a.f +stressTest a b a.c d b.e b.f +stressTest a b a.c d b.e a.c.f +stressTest a b a.c d b.e d.f +stressTest a b a.c d b.e b.e.f +stressTest a b a.c d a.c.e f +stressTest a b a.c d a.c.e a.f +stressTest a b a.c d a.c.e b.f +stressTest a b a.c d a.c.e a.c.f +stressTest a b a.c d a.c.e d.f +stressTest a b a.c d a.c.e a.c.e.f +stressTest a b a.c d d.e f +stressTest a b a.c d d.e a.f +stressTest a b a.c d d.e b.f +stressTest a b a.c d d.e a.c.f +stressTest a b a.c d d.e d.f +stressTest a b a.c d d.e d.e.f +stressTest a b a.c a.d e f +stressTest a b a.c a.d e a.f +stressTest a b a.c a.d e b.f +stressTest a b a.c a.d e a.c.f +stressTest a b a.c a.d e a.d.f +stressTest a b a.c a.d e e.f +stressTest a b a.c a.d a.e f +stressTest a b a.c a.d a.e a.f +stressTest a b a.c a.d a.e b.f +stressTest a b a.c a.d a.e a.c.f +stressTest a b a.c a.d a.e a.d.f +stressTest a b a.c a.d a.e a.e.f +stressTest a b a.c a.d b.e f +stressTest a b a.c a.d b.e a.f +stressTest a b a.c a.d b.e b.f +stressTest a b a.c a.d b.e a.c.f +stressTest a b a.c a.d b.e a.d.f +stressTest a b a.c a.d b.e b.e.f +stressTest a b a.c a.d a.c.e f +stressTest a b a.c a.d a.c.e a.f +stressTest a b a.c a.d a.c.e b.f +stressTest a b a.c a.d a.c.e a.c.f +stressTest a b a.c a.d a.c.e a.d.f +stressTest a b a.c a.d a.c.e a.c.e.f +stressTest a b a.c a.d a.d.e f +stressTest a b a.c a.d a.d.e a.f +stressTest a b a.c a.d a.d.e b.f +stressTest a b a.c a.d a.d.e a.c.f +stressTest a b a.c a.d a.d.e a.d.f +stressTest a b a.c a.d a.d.e a.d.e.f +stressTest a b a.c b.d e f +stressTest a b a.c b.d e a.f +stressTest a b a.c b.d e b.f +stressTest a b a.c b.d e a.c.f +stressTest a b a.c b.d e b.d.f +stressTest a b a.c b.d e e.f +stressTest a b a.c b.d a.e f +stressTest a b a.c b.d a.e a.f +stressTest a b a.c b.d a.e b.f +stressTest a b a.c b.d a.e a.c.f +stressTest a b a.c b.d a.e b.d.f +stressTest a b a.c b.d a.e a.e.f +stressTest a b a.c b.d b.e f +stressTest a b a.c b.d b.e a.f +stressTest a b a.c b.d b.e b.f +stressTest a b a.c b.d b.e a.c.f +stressTest a b a.c b.d b.e b.d.f +stressTest a b a.c b.d b.e b.e.f +stressTest a b a.c b.d a.c.e f +stressTest a b a.c b.d a.c.e a.f +stressTest a b a.c b.d a.c.e b.f +stressTest a b a.c b.d a.c.e a.c.f +stressTest a b a.c b.d a.c.e b.d.f +stressTest a b a.c b.d a.c.e a.c.e.f +stressTest a b a.c b.d b.d.e f +stressTest a b a.c b.d b.d.e a.f +stressTest a b a.c b.d b.d.e b.f +stressTest a b a.c b.d b.d.e a.c.f +stressTest a b a.c b.d b.d.e b.d.f +stressTest a b a.c b.d b.d.e b.d.e.f +stressTest a b a.c a.c.d e f +stressTest a b a.c a.c.d e a.f +stressTest a b a.c a.c.d e b.f +stressTest a b a.c a.c.d e a.c.f +stressTest a b a.c a.c.d e a.c.d.f +stressTest a b a.c a.c.d e e.f +stressTest a b a.c a.c.d a.e f +stressTest a b a.c a.c.d a.e a.f +stressTest a b a.c a.c.d a.e b.f +stressTest a b a.c a.c.d a.e a.c.f +stressTest a b a.c a.c.d a.e a.c.d.f +stressTest a b a.c a.c.d a.e a.e.f +stressTest a b a.c a.c.d b.e f +stressTest a b a.c a.c.d b.e a.f +stressTest a b a.c a.c.d b.e b.f +stressTest a b a.c a.c.d b.e a.c.f +stressTest a b a.c a.c.d b.e a.c.d.f +stressTest a b a.c a.c.d b.e b.e.f +stressTest a b a.c a.c.d a.c.e f +stressTest a b a.c a.c.d a.c.e a.f +stressTest a b a.c a.c.d a.c.e b.f +stressTest a b a.c a.c.d a.c.e a.c.f +stressTest a b a.c a.c.d a.c.e a.c.d.f +stressTest a b a.c a.c.d a.c.e a.c.e.f +stressTest a b a.c a.c.d a.c.d.e f +stressTest a b a.c a.c.d a.c.d.e a.f +stressTest a b a.c a.c.d a.c.d.e b.f +stressTest a b a.c a.c.d a.c.d.e a.c.f +stressTest a b a.c a.c.d a.c.d.e a.c.d.f +stressTest a b a.c a.c.d a.c.d.e a.c.d.e.f +stressTest a b b.c d e f +stressTest a b b.c d e a.f +stressTest a b b.c d e b.f +stressTest a b b.c d e b.c.f +stressTest a b b.c d e d.f +stressTest a b b.c d e e.f +stressTest a b b.c d a.e f +stressTest a b b.c d a.e a.f +stressTest a b b.c d a.e b.f +stressTest a b b.c d a.e b.c.f +stressTest a b b.c d a.e d.f +stressTest a b b.c d a.e a.e.f +stressTest a b b.c d b.e f +stressTest a b b.c d b.e a.f +stressTest a b b.c d b.e b.f +stressTest a b b.c d b.e b.c.f +stressTest a b b.c d b.e d.f +stressTest a b b.c d b.e b.e.f +stressTest a b b.c d b.c.e f +stressTest a b b.c d b.c.e a.f +stressTest a b b.c d b.c.e b.f +stressTest a b b.c d b.c.e b.c.f +stressTest a b b.c d b.c.e d.f +stressTest a b b.c d b.c.e b.c.e.f +stressTest a b b.c d d.e f +stressTest a b b.c d d.e a.f +stressTest a b b.c d d.e b.f +stressTest a b b.c d d.e b.c.f +stressTest a b b.c d d.e d.f +stressTest a b b.c d d.e d.e.f +stressTest a b b.c a.d e f +stressTest a b b.c a.d e a.f +stressTest a b b.c a.d e b.f +stressTest a b b.c a.d e b.c.f +stressTest a b b.c a.d e a.d.f +stressTest a b b.c a.d e e.f +stressTest a b b.c a.d a.e f +stressTest a b b.c a.d a.e a.f +stressTest a b b.c a.d a.e b.f +stressTest a b b.c a.d a.e b.c.f +stressTest a b b.c a.d a.e a.d.f +stressTest a b b.c a.d a.e a.e.f +stressTest a b b.c a.d b.e f +stressTest a b b.c a.d b.e a.f +stressTest a b b.c a.d b.e b.f +stressTest a b b.c a.d b.e b.c.f +stressTest a b b.c a.d b.e a.d.f +stressTest a b b.c a.d b.e b.e.f +stressTest a b b.c a.d b.c.e f +stressTest a b b.c a.d b.c.e a.f +stressTest a b b.c a.d b.c.e b.f +stressTest a b b.c a.d b.c.e b.c.f +stressTest a b b.c a.d b.c.e a.d.f +stressTest a b b.c a.d b.c.e b.c.e.f +stressTest a b b.c a.d a.d.e f +stressTest a b b.c a.d a.d.e a.f +stressTest a b b.c a.d a.d.e b.f +stressTest a b b.c a.d a.d.e b.c.f +stressTest a b b.c a.d a.d.e a.d.f +stressTest a b b.c a.d a.d.e a.d.e.f +stressTest a b b.c b.d e f +stressTest a b b.c b.d e a.f +stressTest a b b.c b.d e b.f +stressTest a b b.c b.d e b.c.f +stressTest a b b.c b.d e b.d.f +stressTest a b b.c b.d e e.f +stressTest a b b.c b.d a.e f +stressTest a b b.c b.d a.e a.f +stressTest a b b.c b.d a.e b.f +stressTest a b b.c b.d a.e b.c.f +stressTest a b b.c b.d a.e b.d.f +stressTest a b b.c b.d a.e a.e.f +stressTest a b b.c b.d b.e f +stressTest a b b.c b.d b.e a.f +stressTest a b b.c b.d b.e b.f +stressTest a b b.c b.d b.e b.c.f +stressTest a b b.c b.d b.e b.d.f +stressTest a b b.c b.d b.e b.e.f +stressTest a b b.c b.d b.c.e f +stressTest a b b.c b.d b.c.e a.f +stressTest a b b.c b.d b.c.e b.f +stressTest a b b.c b.d b.c.e b.c.f +stressTest a b b.c b.d b.c.e b.d.f +stressTest a b b.c b.d b.c.e b.c.e.f +stressTest a b b.c b.d b.d.e f +stressTest a b b.c b.d b.d.e a.f +stressTest a b b.c b.d b.d.e b.f +stressTest a b b.c b.d b.d.e b.c.f +stressTest a b b.c b.d b.d.e b.d.f +stressTest a b b.c b.d b.d.e b.d.e.f +stressTest a b b.c b.c.d e f +stressTest a b b.c b.c.d e a.f +stressTest a b b.c b.c.d e b.f +stressTest a b b.c b.c.d e b.c.f +stressTest a b b.c b.c.d e b.c.d.f +stressTest a b b.c b.c.d e e.f +stressTest a b b.c b.c.d a.e f +stressTest a b b.c b.c.d a.e a.f +stressTest a b b.c b.c.d a.e b.f +stressTest a b b.c b.c.d a.e b.c.f +stressTest a b b.c b.c.d a.e b.c.d.f +stressTest a b b.c b.c.d a.e a.e.f +stressTest a b b.c b.c.d b.e f +stressTest a b b.c b.c.d b.e a.f +stressTest a b b.c b.c.d b.e b.f +stressTest a b b.c b.c.d b.e b.c.f +stressTest a b b.c b.c.d b.e b.c.d.f +stressTest a b b.c b.c.d b.e b.e.f +stressTest a b b.c b.c.d b.c.e f +stressTest a b b.c b.c.d b.c.e a.f +stressTest a b b.c b.c.d b.c.e b.f +stressTest a b b.c b.c.d b.c.e b.c.f +stressTest a b b.c b.c.d b.c.e b.c.d.f +stressTest a b b.c b.c.d b.c.e b.c.e.f +stressTest a b b.c b.c.d b.c.d.e f +stressTest a b b.c b.c.d b.c.d.e a.f +stressTest a b b.c b.c.d b.c.d.e b.f +stressTest a b b.c b.c.d b.c.d.e b.c.f +stressTest a b b.c b.c.d b.c.d.e b.c.d.f +stressTest a b b.c b.c.d b.c.d.e b.c.d.e.f +stressTest a a.b c d e f +stressTest a a.b c d e a.f +stressTest a a.b c d e a.b.f +stressTest a a.b c d e c.f +stressTest a a.b c d e d.f +stressTest a a.b c d e e.f +stressTest a a.b c d a.e f +stressTest a a.b c d a.e a.f +stressTest a a.b c d a.e a.b.f +stressTest a a.b c d a.e c.f +stressTest a a.b c d a.e d.f +stressTest a a.b c d a.e a.e.f +stressTest a a.b c d a.b.e f +stressTest a a.b c d a.b.e a.f +stressTest a a.b c d a.b.e a.b.f +stressTest a a.b c d a.b.e c.f +stressTest a a.b c d a.b.e d.f +stressTest a a.b c d a.b.e a.b.e.f +stressTest a a.b c d c.e f +stressTest a a.b c d c.e a.f +stressTest a a.b c d c.e a.b.f +stressTest a a.b c d c.e c.f +stressTest a a.b c d c.e d.f +stressTest a a.b c d c.e c.e.f +stressTest a a.b c d d.e f +stressTest a a.b c d d.e a.f +stressTest a a.b c d d.e a.b.f +stressTest a a.b c d d.e c.f +stressTest a a.b c d d.e d.f +stressTest a a.b c d d.e d.e.f +stressTest a a.b c a.d e f +stressTest a a.b c a.d e a.f +stressTest a a.b c a.d e a.b.f +stressTest a a.b c a.d e c.f +stressTest a a.b c a.d e a.d.f +stressTest a a.b c a.d e e.f +stressTest a a.b c a.d a.e f +stressTest a a.b c a.d a.e a.f +stressTest a a.b c a.d a.e a.b.f +stressTest a a.b c a.d a.e c.f +stressTest a a.b c a.d a.e a.d.f +stressTest a a.b c a.d a.e a.e.f +stressTest a a.b c a.d a.b.e f +stressTest a a.b c a.d a.b.e a.f +stressTest a a.b c a.d a.b.e a.b.f +stressTest a a.b c a.d a.b.e c.f +stressTest a a.b c a.d a.b.e a.d.f +stressTest a a.b c a.d a.b.e a.b.e.f +stressTest a a.b c a.d c.e f +stressTest a a.b c a.d c.e a.f +stressTest a a.b c a.d c.e a.b.f +stressTest a a.b c a.d c.e c.f +stressTest a a.b c a.d c.e a.d.f +stressTest a a.b c a.d c.e c.e.f +stressTest a a.b c a.d a.d.e f +stressTest a a.b c a.d a.d.e a.f +stressTest a a.b c a.d a.d.e a.b.f +stressTest a a.b c a.d a.d.e c.f +stressTest a a.b c a.d a.d.e a.d.f +stressTest a a.b c a.d a.d.e a.d.e.f +stressTest a a.b c a.b.d e f +stressTest a a.b c a.b.d e a.f +stressTest a a.b c a.b.d e a.b.f +stressTest a a.b c a.b.d e c.f +stressTest a a.b c a.b.d e a.b.d.f +stressTest a a.b c a.b.d e e.f +stressTest a a.b c a.b.d a.e f +stressTest a a.b c a.b.d a.e a.f +stressTest a a.b c a.b.d a.e a.b.f +stressTest a a.b c a.b.d a.e c.f +stressTest a a.b c a.b.d a.e a.b.d.f +stressTest a a.b c a.b.d a.e a.e.f +stressTest a a.b c a.b.d a.b.e f +stressTest a a.b c a.b.d a.b.e a.f +stressTest a a.b c a.b.d a.b.e a.b.f +stressTest a a.b c a.b.d a.b.e c.f +stressTest a a.b c a.b.d a.b.e a.b.d.f +stressTest a a.b c a.b.d a.b.e a.b.e.f +stressTest a a.b c a.b.d c.e f +stressTest a a.b c a.b.d c.e a.f +stressTest a a.b c a.b.d c.e a.b.f +stressTest a a.b c a.b.d c.e c.f +stressTest a a.b c a.b.d c.e a.b.d.f +stressTest a a.b c a.b.d c.e c.e.f +stressTest a a.b c a.b.d a.b.d.e f +stressTest a a.b c a.b.d a.b.d.e a.f +stressTest a a.b c a.b.d a.b.d.e a.b.f +stressTest a a.b c a.b.d a.b.d.e c.f +stressTest a a.b c a.b.d a.b.d.e a.b.d.f +stressTest a a.b c a.b.d a.b.d.e a.b.d.e.f +stressTest a a.b c c.d e f +stressTest a a.b c c.d e a.f +stressTest a a.b c c.d e a.b.f +stressTest a a.b c c.d e c.f +stressTest a a.b c c.d e c.d.f +stressTest a a.b c c.d e e.f +stressTest a a.b c c.d a.e f +stressTest a a.b c c.d a.e a.f +stressTest a a.b c c.d a.e a.b.f +stressTest a a.b c c.d a.e c.f +stressTest a a.b c c.d a.e c.d.f +stressTest a a.b c c.d a.e a.e.f +stressTest a a.b c c.d a.b.e f +stressTest a a.b c c.d a.b.e a.f +stressTest a a.b c c.d a.b.e a.b.f +stressTest a a.b c c.d a.b.e c.f +stressTest a a.b c c.d a.b.e c.d.f +stressTest a a.b c c.d a.b.e a.b.e.f +stressTest a a.b c c.d c.e f +stressTest a a.b c c.d c.e a.f +stressTest a a.b c c.d c.e a.b.f +stressTest a a.b c c.d c.e c.f +stressTest a a.b c c.d c.e c.d.f +stressTest a a.b c c.d c.e c.e.f +stressTest a a.b c c.d c.d.e f +stressTest a a.b c c.d c.d.e a.f +stressTest a a.b c c.d c.d.e a.b.f +stressTest a a.b c c.d c.d.e c.f +stressTest a a.b c c.d c.d.e c.d.f +stressTest a a.b c c.d c.d.e c.d.e.f +stressTest a a.b a.c d e f +stressTest a a.b a.c d e a.f +stressTest a a.b a.c d e a.b.f +stressTest a a.b a.c d e a.c.f +stressTest a a.b a.c d e d.f +stressTest a a.b a.c d e e.f +stressTest a a.b a.c d a.e f +stressTest a a.b a.c d a.e a.f +stressTest a a.b a.c d a.e a.b.f +stressTest a a.b a.c d a.e a.c.f +stressTest a a.b a.c d a.e d.f +stressTest a a.b a.c d a.e a.e.f +stressTest a a.b a.c d a.b.e f +stressTest a a.b a.c d a.b.e a.f +stressTest a a.b a.c d a.b.e a.b.f +stressTest a a.b a.c d a.b.e a.c.f +stressTest a a.b a.c d a.b.e d.f +stressTest a a.b a.c d a.b.e a.b.e.f +stressTest a a.b a.c d a.c.e f +stressTest a a.b a.c d a.c.e a.f +stressTest a a.b a.c d a.c.e a.b.f +stressTest a a.b a.c d a.c.e a.c.f +stressTest a a.b a.c d a.c.e d.f +stressTest a a.b a.c d a.c.e a.c.e.f +stressTest a a.b a.c d d.e f +stressTest a a.b a.c d d.e a.f +stressTest a a.b a.c d d.e a.b.f +stressTest a a.b a.c d d.e a.c.f +stressTest a a.b a.c d d.e d.f +stressTest a a.b a.c d d.e d.e.f +stressTest a a.b a.c a.d e f +stressTest a a.b a.c a.d e a.f +stressTest a a.b a.c a.d e a.b.f +stressTest a a.b a.c a.d e a.c.f +stressTest a a.b a.c a.d e a.d.f +stressTest a a.b a.c a.d e e.f +stressTest a a.b a.c a.d a.e f +stressTest a a.b a.c a.d a.e a.f +stressTest a a.b a.c a.d a.e a.b.f +stressTest a a.b a.c a.d a.e a.c.f +stressTest a a.b a.c a.d a.e a.d.f +stressTest a a.b a.c a.d a.e a.e.f +stressTest a a.b a.c a.d a.b.e f +stressTest a a.b a.c a.d a.b.e a.f +stressTest a a.b a.c a.d a.b.e a.b.f +stressTest a a.b a.c a.d a.b.e a.c.f +stressTest a a.b a.c a.d a.b.e a.d.f +stressTest a a.b a.c a.d a.b.e a.b.e.f +stressTest a a.b a.c a.d a.c.e f +stressTest a a.b a.c a.d a.c.e a.f +stressTest a a.b a.c a.d a.c.e a.b.f +stressTest a a.b a.c a.d a.c.e a.c.f +stressTest a a.b a.c a.d a.c.e a.d.f +stressTest a a.b a.c a.d a.c.e a.c.e.f +stressTest a a.b a.c a.d a.d.e f +stressTest a a.b a.c a.d a.d.e a.f +stressTest a a.b a.c a.d a.d.e a.b.f +stressTest a a.b a.c a.d a.d.e a.c.f +stressTest a a.b a.c a.d a.d.e a.d.f +stressTest a a.b a.c a.d a.d.e a.d.e.f +stressTest a a.b a.c a.b.d e f +stressTest a a.b a.c a.b.d e a.f +stressTest a a.b a.c a.b.d e a.b.f +stressTest a a.b a.c a.b.d e a.c.f +stressTest a a.b a.c a.b.d e a.b.d.f +stressTest a a.b a.c a.b.d e e.f +stressTest a a.b a.c a.b.d a.e f +stressTest a a.b a.c a.b.d a.e a.f +stressTest a a.b a.c a.b.d a.e a.b.f +stressTest a a.b a.c a.b.d a.e a.c.f +stressTest a a.b a.c a.b.d a.e a.b.d.f +stressTest a a.b a.c a.b.d a.e a.e.f +stressTest a a.b a.c a.b.d a.b.e f +stressTest a a.b a.c a.b.d a.b.e a.f +stressTest a a.b a.c a.b.d a.b.e a.b.f +stressTest a a.b a.c a.b.d a.b.e a.c.f +stressTest a a.b a.c a.b.d a.b.e a.b.d.f +stressTest a a.b a.c a.b.d a.b.e a.b.e.f +stressTest a a.b a.c a.b.d a.c.e f +stressTest a a.b a.c a.b.d a.c.e a.f +stressTest a a.b a.c a.b.d a.c.e a.b.f +stressTest a a.b a.c a.b.d a.c.e a.c.f +stressTest a a.b a.c a.b.d a.c.e a.b.d.f +stressTest a a.b a.c a.b.d a.c.e a.c.e.f +stressTest a a.b a.c a.b.d a.b.d.e f +stressTest a a.b a.c a.b.d a.b.d.e a.f +stressTest a a.b a.c a.b.d a.b.d.e a.b.f +stressTest a a.b a.c a.b.d a.b.d.e a.c.f +stressTest a a.b a.c a.b.d a.b.d.e a.b.d.f +stressTest a a.b a.c a.b.d a.b.d.e a.b.d.e.f +stressTest a a.b a.c a.c.d e f +stressTest a a.b a.c a.c.d e a.f +stressTest a a.b a.c a.c.d e a.b.f +stressTest a a.b a.c a.c.d e a.c.f +stressTest a a.b a.c a.c.d e a.c.d.f +stressTest a a.b a.c a.c.d e e.f +stressTest a a.b a.c a.c.d a.e f +stressTest a a.b a.c a.c.d a.e a.f +stressTest a a.b a.c a.c.d a.e a.b.f +stressTest a a.b a.c a.c.d a.e a.c.f +stressTest a a.b a.c a.c.d a.e a.c.d.f +stressTest a a.b a.c a.c.d a.e a.e.f +stressTest a a.b a.c a.c.d a.b.e f +stressTest a a.b a.c a.c.d a.b.e a.f +stressTest a a.b a.c a.c.d a.b.e a.b.f +stressTest a a.b a.c a.c.d a.b.e a.c.f +stressTest a a.b a.c a.c.d a.b.e a.c.d.f +stressTest a a.b a.c a.c.d a.b.e a.b.e.f +stressTest a a.b a.c a.c.d a.c.e f +stressTest a a.b a.c a.c.d a.c.e a.f +stressTest a a.b a.c a.c.d a.c.e a.b.f +stressTest a a.b a.c a.c.d a.c.e a.c.f +stressTest a a.b a.c a.c.d a.c.e a.c.d.f +stressTest a a.b a.c a.c.d a.c.e a.c.e.f +stressTest a a.b a.c a.c.d a.c.d.e f +stressTest a a.b a.c a.c.d a.c.d.e a.f +stressTest a a.b a.c a.c.d a.c.d.e a.b.f +stressTest a a.b a.c a.c.d a.c.d.e a.c.f +stressTest a a.b a.c a.c.d a.c.d.e a.c.d.f +stressTest a a.b a.c a.c.d a.c.d.e a.c.d.e.f +stressTest a a.b a.b.c d e f +stressTest a a.b a.b.c d e a.f +stressTest a a.b a.b.c d e a.b.f +stressTest a a.b a.b.c d e a.b.c.f +stressTest a a.b a.b.c d e d.f +stressTest a a.b a.b.c d e e.f +stressTest a a.b a.b.c d a.e f +stressTest a a.b a.b.c d a.e a.f +stressTest a a.b a.b.c d a.e a.b.f +stressTest a a.b a.b.c d a.e a.b.c.f +stressTest a a.b a.b.c d a.e d.f +stressTest a a.b a.b.c d a.e a.e.f +stressTest a a.b a.b.c d a.b.e f +stressTest a a.b a.b.c d a.b.e a.f +stressTest a a.b a.b.c d a.b.e a.b.f +stressTest a a.b a.b.c d a.b.e a.b.c.f +stressTest a a.b a.b.c d a.b.e d.f +stressTest a a.b a.b.c d a.b.e a.b.e.f +stressTest a a.b a.b.c d a.b.c.e f +stressTest a a.b a.b.c d a.b.c.e a.f +stressTest a a.b a.b.c d a.b.c.e a.b.f +stressTest a a.b a.b.c d a.b.c.e a.b.c.f +stressTest a a.b a.b.c d a.b.c.e d.f +stressTest a a.b a.b.c d a.b.c.e a.b.c.e.f +stressTest a a.b a.b.c d d.e f +stressTest a a.b a.b.c d d.e a.f +stressTest a a.b a.b.c d d.e a.b.f +stressTest a a.b a.b.c d d.e a.b.c.f +stressTest a a.b a.b.c d d.e d.f +stressTest a a.b a.b.c d d.e d.e.f +stressTest a a.b a.b.c a.d e f +stressTest a a.b a.b.c a.d e a.f +stressTest a a.b a.b.c a.d e a.b.f +stressTest a a.b a.b.c a.d e a.b.c.f +stressTest a a.b a.b.c a.d e a.d.f +stressTest a a.b a.b.c a.d e e.f +stressTest a a.b a.b.c a.d a.e f +stressTest a a.b a.b.c a.d a.e a.f +stressTest a a.b a.b.c a.d a.e a.b.f +stressTest a a.b a.b.c a.d a.e a.b.c.f +stressTest a a.b a.b.c a.d a.e a.d.f +stressTest a a.b a.b.c a.d a.e a.e.f +stressTest a a.b a.b.c a.d a.b.e f +stressTest a a.b a.b.c a.d a.b.e a.f +stressTest a a.b a.b.c a.d a.b.e a.b.f +stressTest a a.b a.b.c a.d a.b.e a.b.c.f +stressTest a a.b a.b.c a.d a.b.e a.d.f +stressTest a a.b a.b.c a.d a.b.e a.b.e.f +stressTest a a.b a.b.c a.d a.b.c.e f +stressTest a a.b a.b.c a.d a.b.c.e a.f +stressTest a a.b a.b.c a.d a.b.c.e a.b.f +stressTest a a.b a.b.c a.d a.b.c.e a.b.c.f +stressTest a a.b a.b.c a.d a.b.c.e a.d.f +stressTest a a.b a.b.c a.d a.b.c.e a.b.c.e.f +stressTest a a.b a.b.c a.d a.d.e f +stressTest a a.b a.b.c a.d a.d.e a.f +stressTest a a.b a.b.c a.d a.d.e a.b.f +stressTest a a.b a.b.c a.d a.d.e a.b.c.f +stressTest a a.b a.b.c a.d a.d.e a.d.f +stressTest a a.b a.b.c a.d a.d.e a.d.e.f +stressTest a a.b a.b.c a.b.d e f +stressTest a a.b a.b.c a.b.d e a.f +stressTest a a.b a.b.c a.b.d e a.b.f +stressTest a a.b a.b.c a.b.d e a.b.c.f +stressTest a a.b a.b.c a.b.d e a.b.d.f +stressTest a a.b a.b.c a.b.d e e.f +stressTest a a.b a.b.c a.b.d a.e f +stressTest a a.b a.b.c a.b.d a.e a.f +stressTest a a.b a.b.c a.b.d a.e a.b.f +stressTest a a.b a.b.c a.b.d a.e a.b.c.f +stressTest a a.b a.b.c a.b.d a.e a.b.d.f +stressTest a a.b a.b.c a.b.d a.e a.e.f +stressTest a a.b a.b.c a.b.d a.b.e f +stressTest a a.b a.b.c a.b.d a.b.e a.f +stressTest a a.b a.b.c a.b.d a.b.e a.b.f +stressTest a a.b a.b.c a.b.d a.b.e a.b.c.f +stressTest a a.b a.b.c a.b.d a.b.e a.b.d.f +stressTest a a.b a.b.c a.b.d a.b.e a.b.e.f +stressTest a a.b a.b.c a.b.d a.b.c.e f +stressTest a a.b a.b.c a.b.d a.b.c.e a.f +stressTest a a.b a.b.c a.b.d a.b.c.e a.b.f +stressTest a a.b a.b.c a.b.d a.b.c.e a.b.c.f +stressTest a a.b a.b.c a.b.d a.b.c.e a.b.d.f +stressTest a a.b a.b.c a.b.d a.b.c.e a.b.c.e.f +stressTest a a.b a.b.c a.b.d a.b.d.e f +stressTest a a.b a.b.c a.b.d a.b.d.e a.f +stressTest a a.b a.b.c a.b.d a.b.d.e a.b.f +stressTest a a.b a.b.c a.b.d a.b.d.e a.b.c.f +stressTest a a.b a.b.c a.b.d a.b.d.e a.b.d.f +stressTest a a.b a.b.c a.b.d a.b.d.e a.b.d.e.f +stressTest a a.b a.b.c a.b.c.d e f +stressTest a a.b a.b.c a.b.c.d e a.f +stressTest a a.b a.b.c a.b.c.d e a.b.f +stressTest a a.b a.b.c a.b.c.d e a.b.c.f +stressTest a a.b a.b.c a.b.c.d e a.b.c.d.f +stressTest a a.b a.b.c a.b.c.d e e.f +stressTest a a.b a.b.c a.b.c.d a.e f +stressTest a a.b a.b.c a.b.c.d a.e a.f +stressTest a a.b a.b.c a.b.c.d a.e a.b.f +stressTest a a.b a.b.c a.b.c.d a.e a.b.c.f +stressTest a a.b a.b.c a.b.c.d a.e a.b.c.d.f +stressTest a a.b a.b.c a.b.c.d a.e a.e.f +stressTest a a.b a.b.c a.b.c.d a.b.e f +stressTest a a.b a.b.c a.b.c.d a.b.e a.f +stressTest a a.b a.b.c a.b.c.d a.b.e a.b.f +stressTest a a.b a.b.c a.b.c.d a.b.e a.b.c.f +stressTest a a.b a.b.c a.b.c.d a.b.e a.b.c.d.f +stressTest a a.b a.b.c a.b.c.d a.b.e a.b.e.f +stressTest a a.b a.b.c a.b.c.d a.b.c.e f +stressTest a a.b a.b.c a.b.c.d a.b.c.e a.f +stressTest a a.b a.b.c a.b.c.d a.b.c.e a.b.f +stressTest a a.b a.b.c a.b.c.d a.b.c.e a.b.c.f +stressTest a a.b a.b.c a.b.c.d a.b.c.e a.b.c.d.f +stressTest a a.b a.b.c a.b.c.d a.b.c.e a.b.c.e.f +stressTest a a.b a.b.c a.b.c.d a.b.c.d.e f +stressTest a a.b a.b.c a.b.c.d a.b.c.d.e a.f +stressTest a a.b a.b.c a.b.c.d a.b.c.d.e a.b.f +stressTest a a.b a.b.c a.b.c.d a.b.c.d.e a.b.c.f +stressTest a a.b a.b.c a.b.c.d a.b.c.d.e a.b.c.d.f +stressTest a a.b a.b.c a.b.c.d a.b.c.d.e a.b.c.d.e.f + +# +stressTest a a.b a.b.c1 a.b.c1.d1 a.b.c1.d2 a.b.c1.d3 a.b.c2 +stressTest a a.b a.b.c a.b.c.d a.b.c.d.e a.b.c.d.e.f a.b.c.d.e.f.g + + diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/stressCategory.pl b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/stressCategory.pl new file mode 100644 index 00000000000..98bd67781bd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/stressCategory.pl @@ -0,0 +1,71 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This perl script all combinations of tree structures based on the "args" +# array. + +# For example, if args = ("a", "b", "c"), it will output: +# +# stressTest a b c +# stressTest a b a.c +# stressTest a b b.c +# stressTest a a.b c +# stressTest a a.b a.c +# stressTest a a.b a.b.c + +$prefix = "stressTest"; + +@tree = (""); + +@args = ("a", "b"); +permute(0, @tree); + +@args = ("a", "b", "c"); +permute(0, @tree); + +@args = ("a", "b", "c", "d"); +permute(0, @tree); + +@args = ("a", "b", "c", "d", "e"); +permute(0, @tree); + +@args = ("a", "b", "c", "d", "e", "f"); +permute(0, @tree); + + +sub permute() { + my ($i, @t) = @_; + #print "Tree is @t\n"; + #print "i is $i \n"; + + if($i == $#args + 1) { + print "$prefix @t\n"; + return; + } + + foreach $j (@t) { + #print "J is $j \n"; + #print "args[$i]=$args[$i]\n"; + if($j eq "") { + $next = "$args[$i]"; + } + else { + $next = "$j.$args[$i]"; + } + + permute($i+1, (@t, $next)); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/AbsoluteDateAndTimeFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/AbsoluteDateAndTimeFilter.java new file mode 100644 index 00000000000..ae4a6757843 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/AbsoluteDateAndTimeFilter.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + + +import org.apache.oro.text.perl.Perl5Util; + +public class AbsoluteDateAndTimeFilter implements Filter { + + Perl5Util util = new Perl5Util(); + + public + String filter(String in) { + String pat = "/"+Filter.ABSOLUTE_DATE_AND_TIME_PAT+"/"; + + if(util.match(pat, in)) { + return util.substitute("s/"+Filter.ABSOLUTE_DATE_AND_TIME_PAT+"//", in); + } else { + return in; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/AbsoluteTimeFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/AbsoluteTimeFilter.java new file mode 100644 index 00000000000..770868a84bf --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/AbsoluteTimeFilter.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + + +import org.apache.oro.text.perl.Perl5Util; + +public class AbsoluteTimeFilter implements Filter { + + Perl5Util util = new Perl5Util(); + + public + String filter(String in) { + String pat = "/"+Filter.ABSOLUTE_TIME_PAT+"/"; + + if(util.match(pat, in)) { + return util.substitute("s/"+Filter.ABSOLUTE_TIME_PAT+"//", in); + } else { + return in; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Compare.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Compare.java new file mode 100644 index 00000000000..9b4146660b8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Compare.java @@ -0,0 +1,60 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; + +public class Compare { + + static final int B1_NULL = -1; + static final int B2_NULL = -2; + + static + public + boolean compare(String file1, String file2) throws FileNotFoundException, + IOException { + BufferedReader in1 = new BufferedReader(new FileReader(file1)); + BufferedReader in2 = new BufferedReader(new FileReader(file2)); + + String s1; + int lineCounter = 0; + while((s1 = in1.readLine()) != null) { + lineCounter++; + String s2 = in2.readLine(); + if(!s1.equals(s2)) { + System.out.println("Files ["+file1+"] and ["+file2+"] differ on line " + +lineCounter); + System.out.println("One reads: ["+s1+"]."); + System.out.println("Other reads:["+s2+"]."); + return false; + } + } + + // the second file is longer + if(in2.read() != -1) { + System.out.println("File ["+file2+"] longer than file ["+file1+"]."); + return false; + } + + return true; + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/ControlFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/ControlFilter.java new file mode 100644 index 00000000000..821d1043789 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/ControlFilter.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import org.apache.oro.text.perl.Perl5Util; + +public class ControlFilter implements Filter { + + Perl5Util util = new Perl5Util(); + + String[] allowedPatterns; + + public ControlFilter(String[] allowedPatterns) { + this.allowedPatterns = allowedPatterns; + } + + public + String filter(String in) throws UnexpectedFormatException{ + int len = allowedPatterns.length; + for(int i = 0; i < len; i++) { + //System.out.println("["+allowedPatterns[i]+"]"); + if(util.match("/"+allowedPatterns[i]+"/", in)) { + //System.out.println("["+in+"] matched ["+allowedPatterns[i]); + return in; + } + } + + throw new UnexpectedFormatException("["+in+"]"); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/EnhancedJunitTestRunnerFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/EnhancedJunitTestRunnerFilter.java new file mode 100644 index 00000000000..af85c3f5d31 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/EnhancedJunitTestRunnerFilter.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import org.apache.oro.text.perl.Perl5Util; + + +public class EnhancedJunitTestRunnerFilter implements Filter { + private Perl5Util util = new Perl5Util(); + + private static final String[] PATTERNS = { + "at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner", + "at org.apache.tools.ant", + "at junit.textui.TestRunner", + "at com.intellij.rt.execution.junit", + "at java.lang.reflect.Method.invoke", + "at org.apache.maven.", + "at org.codehaus.", + "at org.junit.internal.runners.", + "at junit.framework.JUnit4TestAdapter" + }; + + public EnhancedJunitTestRunnerFilter() { + } + + /** + * Filter out stack trace lines coming from the various JUnit TestRunners. + */ + public String filter(String in) { + if (in == null) { + return null; + } + + // + // restore the one instance of Method.invoke that we actually want + // + if (in.indexOf("at junit.framework.TestCase.runTest") != -1) { + return "\tat java.lang.reflect.Method.invoke(X)\n\t" + in.trim(); + } + + for (int i = 0; i < PATTERNS.length; i++) { + if(in.indexOf(PATTERNS[i]) != -1) { + return null; + } + } + if (util.match("/\\sat /", in)) { + return "\t" + in.trim(); + } + return in; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/EnhancedLineNumberFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/EnhancedLineNumberFilter.java new file mode 100644 index 00000000000..0b919538b29 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/EnhancedLineNumberFilter.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import java.util.regex.Pattern; + + +public class EnhancedLineNumberFilter implements Filter { + private Pattern linePattern; + private Pattern nativePattern; + + public EnhancedLineNumberFilter() { + linePattern = Pattern.compile("\\(.*:\\d{1,4}\\)"); + nativePattern = Pattern.compile("\\(Native Method\\)"); + } + + public String filter(final String in) { + + if (linePattern.matcher(in).find()) { + return linePattern.matcher(in).replaceAll("(X)"); + } else if (nativePattern.matcher(in).find()) { + return nativePattern.matcher(in).replaceAll("(X)"); + } else { + return in; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Filter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Filter.java new file mode 100644 index 00000000000..76be7d26903 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Filter.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +public interface Filter { + + final String BASIC_PAT = "\\[main\\] (FATAL|ERROR|WARN|INFO|DEBUG)"; + final String ISO8601_PAT = "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2},\\d{3}"; + + // 06 avr. 2002 18:36:32,036 + // 18 fevr. 2002 20:05:36,222 + static public final String ABSOLUTE_DATE_AND_TIME_PAT = + "^\\d{1,2} .{2,6}\\.? 2\\d{3} \\d{2}:\\d{2}:\\d{2},\\d{3}"; + + // 18:54:19,201 + static public final String ABSOLUTE_TIME_PAT = + "^\\d{2}:\\d{2}:\\d{2},\\d{3}"; + + static public final String RELATIVE_TIME_PAT = "^\\d{1,10}"; + + + String filter(String in) throws UnexpectedFormatException; +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/ISO8601Filter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/ISO8601Filter.java new file mode 100644 index 00000000000..50479f65fa7 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/ISO8601Filter.java @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import org.apache.oro.text.perl.Perl5Util; + +public class ISO8601Filter implements Filter { + + Perl5Util util = new Perl5Util(); + + public + String filter(String in) { + String pat = "/"+ISO8601_PAT +"/"; + + if(util.match(pat, in)) { + return util.substitute("s/"+ISO8601_PAT+"//", in); + } else { + return in; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/JunitTestRunnerFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/JunitTestRunnerFilter.java new file mode 100644 index 00000000000..809c54d9fc2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/JunitTestRunnerFilter.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import org.apache.oro.text.perl.Perl5Util; + + +public class JunitTestRunnerFilter implements Filter { + Perl5Util util = new Perl5Util(); + + /** + * Filter out stack trace lines coming from the various JUnit TestRunners. + */ + public String filter(String in) { + if (in == null) { + return null; + } + + if ( + util.match( + "/at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner/", in)) { + return null; + } else if ( + util.match( + "/at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner/", + in)) { + return null; + } else if ( + util.match( + "/at com.intellij/", + in)) { + return null; + } else if (in.indexOf("at junit.") >= 0 && in.indexOf("ui.TestRunner") >= 0) { + return null; + } else if (in.indexOf("org.apache.maven") >= 0) { + return null; + } else if(in.indexOf("junit.internal") >= 0) { + return null; + } else if(in.indexOf("JUnit4TestAdapter") >= 0) { + return null; + } else if (util.match("/\\sat /", in)) { + return "\t" + in.trim(); + } else { + return in; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/LineNumberFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/LineNumberFilter.java new file mode 100644 index 00000000000..c47b9b7a3a8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/LineNumberFilter.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import org.apache.oro.text.perl.Perl5Util; + +public class LineNumberFilter implements Filter { + + Perl5Util util = new Perl5Util(); + + public + String filter(String in) { + if(util.match("/\\(.*:\\d{1,4}\\)/", in)) { + return util.substitute("s/:\\d{1,4}\\)/:XXX)/", in); + } else { + if(in.indexOf(", Compiled Code") >= 0) { + return util.substitute("s/, Compiled Code/:XXX/", in); + } + return in; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/RelativeTimeFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/RelativeTimeFilter.java new file mode 100644 index 00000000000..94d6d0eb099 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/RelativeTimeFilter.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import org.apache.oro.text.perl.Perl5Util; + +public class RelativeTimeFilter implements Filter { + + Perl5Util util = new Perl5Util(); + + public + String filter(String in) { + String pat = "/"+Filter.RELATIVE_TIME_PAT+"/"; + + if(util.match(pat, in)) { + //System.out.println("Removing relative time from line ["+in+"]"); + return util.substitute("s/"+Filter.RELATIVE_TIME_PAT+"//", in); + } else { + return in; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/SerializationTestHelper.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/SerializationTestHelper.java new file mode 100644 index 00000000000..f592a834212 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/SerializationTestHelper.java @@ -0,0 +1,150 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import junit.framework.TestCase; + +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.ObjectInputStream; +import java.io.ObjectOutputStream; + + +/** + * Utiities for serialization tests. + * + * @author Curt Arnold + */ +public class SerializationTestHelper { + /** + * Private constructor. + */ + private SerializationTestHelper() { + } + + /** + * Creates a clone by serializing object and + * deserializing byte stream. + * @param obj object to serialize and deserialize. + * @return clone + * @throws IOException on IO error. + * @throws ClassNotFoundException if class not found. + */ + public static Object serializeClone(final Object obj) + throws IOException, ClassNotFoundException { + ByteArrayOutputStream memOut = new ByteArrayOutputStream(); + ObjectOutputStream objOut = new ObjectOutputStream(memOut); + objOut.writeObject(obj); + objOut.close(); + + ByteArrayInputStream src = new ByteArrayInputStream(memOut.toByteArray()); + ObjectInputStream objIs = new ObjectInputStream(src); + + return objIs.readObject(); + } + + /** + * Deserializes a specified file. + * @param witness serialization file, may not be null. + * @return deserialized object. + * @throws Exception thrown on IO or deserialization exception. + */ + public static Object deserializeStream(final String witness) + throws Exception { + FileInputStream fileIs = new FileInputStream(witness); + ObjectInputStream objIs = new ObjectInputStream(fileIs); + + return objIs.readObject(); + } + + /** + * Checks the serialization of an object against an file + * containing the expected serialization. + * + * @param witness name of file containing expected serialization. + * @param obj object to be serialized. + * @param skip positions in serialized stream that should not be compared. + * @param endCompare position to stop comparison. + * @throws Exception thrown on IO or serialization exception. + */ + public static void assertSerializationEquals( + final String witness, final Object obj, final int[] skip, + final int endCompare) throws Exception { + ByteArrayOutputStream memOut = new ByteArrayOutputStream(); + ObjectOutputStream objOut = new ObjectOutputStream(memOut); + objOut.writeObject(obj); + objOut.close(); + + assertStreamEquals(witness, memOut.toByteArray(), skip, endCompare); + } + + /** + * Asserts the serialized form of an object. + * @param witness file name of expected serialization. + * @param actual byte array of actual serialization. + * @param skip positions to skip comparison. + * @param endCompare position to stop comparison. + * @throws IOException thrown on IO or serialization exception. + */ + public static void assertStreamEquals( + final String witness, final byte[] actual, final int[] skip, + final int endCompare) throws IOException { + File witnessFile = new File(witness); + + if (witnessFile.exists()) { + int skipIndex = 0; + byte[] expected = new byte[actual.length]; + FileInputStream is = new FileInputStream(witnessFile); + int bytesRead = is.read(expected); + is.close(); + + if(bytesRead < endCompare) { + TestCase.assertEquals(bytesRead, actual.length); + } + + int endScan = actual.length; + + if (endScan > endCompare) { + endScan = endCompare; + } + + for (int i = 0; i < endScan; i++) { + if ((skipIndex < skip.length) && (skip[skipIndex] == i)) { + skipIndex++; + } else { + if (expected[i] != actual[i]) { + TestCase.assertEquals( + "Difference at offset " + i, expected[i], actual[i]); + } + } + } + } else { + // + // if the file doesn't exist then + // assume that we are setting up and need to write it + FileOutputStream os = new FileOutputStream(witnessFile); + os.write(actual); + os.close(); + TestCase.fail("Writing witness file " + witness); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/SunReflectFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/SunReflectFilter.java new file mode 100644 index 00000000000..ddb62d807f2 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/SunReflectFilter.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import org.apache.oro.text.perl.Perl5Util; + +/** + * The sun.reflect.* and java.lang.reflect.* lines are not present in all JDKs. + * + * @author Ceki Gulcu + */ +public class SunReflectFilter implements Filter { + Perl5Util util = new Perl5Util(); + + public String filter(String in) { + if(in == null) { + return null; + } + if (util.match("/at sun.reflect/", in)) { + return null; + } + if (in.indexOf("at java.lang.reflect.") >= 0) { + return null; + } + if (in.indexOf("Compiled Code") >= 0) { + if(in.indexOf("junit.framework.TestSuite") >= 0) { + return util.substitute("s/Compiled Code/TestSuite.java:XXX/", in); + } + } + if (util.match("/\\(Method.java:.*\\)/", in)) { + return util.substitute("s/\\(Method.java:.*\\)/(Native Method)/", in); + } + return in; + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Transformer.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Transformer.java new file mode 100644 index 00000000000..713f29d3bfe --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/Transformer.java @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import java.io.BufferedReader; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.PrintStream; + +public class Transformer { + + public + static + void transform(String in, String out, Filter[] filters) throws IOException, + UnexpectedFormatException { + + String line; + BufferedReader input = new BufferedReader(new FileReader(in)); + PrintStream output = new PrintStream(new FileOutputStream(out, false)); + + // Initialization of input and output omitted + while((line = input.readLine()) != null) { + // apply all filters + for(int i = 0; i < filters.length; i++) { + line = filters[i].filter(line); + } + if(line != null) { + output.println(line); + } + } + } + + + + public + static + void transform(String in, String out, Filter filter) throws IOException, + UnexpectedFormatException { + + String line; + BufferedReader input = new BufferedReader(new FileReader(in)); + PrintStream output = new PrintStream(new FileOutputStream(out)); + + // Initialization of input and output omitted + while((line = input.readLine()) != null) { + line = filter.filter(line); + output.println(line); + } + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/UnexpectedFormatException.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/UnexpectedFormatException.java new file mode 100644 index 00000000000..8ab79ff8b12 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/UnexpectedFormatException.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +public class UnexpectedFormatException extends Exception { + private static final long serialVersionUID = 1787725660780924147L; + + public UnexpectedFormatException(String msg) { + super(msg); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/XMLLineAttributeFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/XMLLineAttributeFilter.java new file mode 100644 index 00000000000..877b4327174 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/XMLLineAttributeFilter.java @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import org.apache.oro.text.perl.Perl5Util; + +public class XMLLineAttributeFilter implements Filter { + + Perl5Util util = new Perl5Util(); + + public + String filter(String in) { + if(util.match("/line=\"\\d{1,3}\"/", in)) { + return util.substitute("s/line=\"\\d{1,3}\"/line=\"X\"/", in); + } else if(util.match("/line=\"?\"/", in)) { + return util.substitute("s/line=\"?\"/line=\"X\"/", in); + } else { + return in; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/XMLTimestampFilter.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/XMLTimestampFilter.java new file mode 100644 index 00000000000..dfac8c798c8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/util/XMLTimestampFilter.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import org.apache.oro.text.perl.Perl5Util; + +public class XMLTimestampFilter implements Filter { + + Perl5Util util = new Perl5Util(); + + public + String filter(String in) { + if(util.match("/timestamp=\"\\d{10,13}\"/", in)) { + return util.substitute("s/timestamp=\"\\d{10,13}\"/timestamp=\"XXX\"/", in); + } else { + return in; + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/ERFATestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/ERFATestCase.java new file mode 100644 index 00000000000..31b23ab249b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/ERFATestCase.java @@ -0,0 +1,141 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; +import junit.framework.TestCase; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.PatternLayout; +import org.apache.log4j.RFATestCase; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.IOException; +import java.net.Socket; + +/** + * Test of ExternallyRolledFileAppender. + * + * @author Curt Arnold + */ +public class ERFATestCase extends TestCase { + + /** + * Create new instance of test. + * @param name test name. + */ + public ERFATestCase(final String name) { + super(name); + } + + /** + * Reset configuration after test. + */ + public void tearDown() { + LogManager.resetConfiguration(); + } + + /** + * Test ExternallyRolledFileAppender constructor. + */ + public void testConstructor() { + ExternallyRolledFileAppender appender = + new ExternallyRolledFileAppender(); + assertEquals(0, appender.getPort()); + } + + /** + * Send a message to the ERFA. + * @param port port number. + * @param msg message, may not be null. + * @param expectedResponse expected response, may not be null. + * @throws IOException thrown on IO error. + */ + void sendMessage(int port, final String msg, final String expectedResponse) throws IOException { + Socket socket = new Socket((String) null, port); + DataInputStream reader = new DataInputStream(socket.getInputStream()); + DataOutputStream writer = new DataOutputStream(socket.getOutputStream()); + writer.writeUTF(msg); + String response = reader.readUTF(); + assertEquals(expectedResponse, response); + reader.close(); + writer.close(); + socket.close(); + } + + /** + * Test externally triggered rollover. + * @throws IOException thrown on IO error. + */ + public void testRollover() throws IOException { + ExternallyRolledFileAppender erfa = + new ExternallyRolledFileAppender(); + + int port = 5500; + + Logger logger = Logger.getLogger(RFATestCase.class); + Logger root = Logger.getRootLogger(); + PatternLayout layout = new PatternLayout("%m\n"); + erfa.setLayout(layout); + erfa.setAppend(false); + erfa.setMaxBackupIndex(2); + erfa.setPort(port); + erfa.setFile("output/ERFA-test2.log"); + try { + erfa.activateOptions(); + } catch(SecurityException ex) { + return; + } + try { + Thread.sleep(100); + } catch(InterruptedException ex) { + } + root.addAppender(erfa); + + + // Write exactly 10 bytes with each log + for (int i = 0; i < 55; i++) { + if (i < 10) { + logger.debug("Hello---" + i); + } else if (i < 100) { + logger.debug("Hello--" + i); + } + if ((i % 10) == 9) { + try { + sendMessage(port, "RollOver", "OK"); + } catch(SecurityException ex) { + return; + } + } + } + + try { + sendMessage(port, + "That's all folks.", + "Expecting [RollOver] string."); + } catch(SecurityException ex) { + return; + } + + + assertTrue(new File("output/ERFA-test2.log").exists()); + assertTrue(new File("output/ERFA-test2.log.1").exists()); + assertTrue(new File("output/ERFA-test2.log.2").exists()); + assertFalse(new File("output/ERFA-test2.log.3").exists()); + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/ErrorHandlerTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/ErrorHandlerTestCase.java new file mode 100644 index 00000000000..b0001f87300 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/ErrorHandlerTestCase.java @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import junit.framework.TestCase; +import org.apache.log4j.Appender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.util.Filter; +import org.apache.log4j.util.Transformer; +import org.apache.log4j.util.Compare; +import org.apache.log4j.util.JunitTestRunnerFilter; +import org.apache.log4j.util.SunReflectFilter; +import org.apache.log4j.util.LineNumberFilter; +import org.apache.log4j.util.ControlFilter; +import org.apache.log4j.xml.DOMConfigurator; +import org.apache.log4j.PropertyConfigurator; + +public class ErrorHandlerTestCase extends TestCase { + + static String TEMP = "output/temp"; + static String FILTERED = "output/filtered"; + + + static String EXCEPTION1 = "java.lang.Exception: Just testing"; + static String EXCEPTION2 = "\\s*at .*\\(.*\\)"; + static String EXCEPTION3 = "\\s*at .*\\(Native Method\\)"; + + static String TEST1_PAT = + "FALLBACK - (root|test) - Message \\d"; + + + Logger root; + Logger logger; + + public ErrorHandlerTestCase(String name) { + super(name); + } + + public void setUp() { + root = Logger.getRootLogger(); + logger = Logger.getLogger("test"); + } + + public void tearDown() { + root.getLoggerRepository().resetConfiguration(); + } + + public void test1() throws Exception { + DOMConfigurator.configure("input/xml/fallback1.xml"); + Appender primary = root.getAppender("PRIMARY"); + ErrorHandler eh = primary.getErrorHandler(); + assertNotNull(eh); + + common(); + + ControlFilter cf = new ControlFilter(new String[]{TEST1_PAT, + EXCEPTION1, EXCEPTION2, EXCEPTION3}); + + Transformer.transform(TEMP, FILTERED, new Filter[] {cf, + new LineNumberFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter()}); + + + assertTrue(Compare.compare(FILTERED, "witness/fallback1")); + } + + public void test2() throws Exception { + PropertyConfigurator.configure("input/fallback1.properties"); + Appender primary = root.getAppender("PRIMARY"); + ErrorHandler eh = primary.getErrorHandler(); + assertNotNull(eh); + + common(); + + ControlFilter cf = new ControlFilter(new String[]{TEST1_PAT, + EXCEPTION1, EXCEPTION2, EXCEPTION3}); + + Transformer.transform(TEMP, FILTERED, new Filter[] {cf, + new LineNumberFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter()}); + + + assertTrue(Compare.compare(FILTERED, "witness/fallback1")); + } + + void common() { + int i = -1; + + logger.debug("Message " + ++i); + root.debug("Message " + i); + + logger.info ("Message " + ++i); + root.info("Message " + i); + + logger.warn ("Message " + ++i); + root.warn("Message " + i); + + logger.error("Message " + ++i); + root.error("Message " + i); + + logger.log(Level.FATAL, "Message " + ++i); + root.log(Level.FATAL, "Message " + i); + + Exception e = new Exception("Just testing"); + logger.debug("Message " + ++i, e); + root.debug("Message " + i, e); + + logger.error("Message " + ++i, e); + root.error("Message " + i, e); + + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/LevelMatchFilterTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/LevelMatchFilterTestCase.java new file mode 100644 index 00000000000..1afc0d502c8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/varia/LevelMatchFilterTestCase.java @@ -0,0 +1,147 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.varia; + +import junit.framework.TestCase; +import junit.framework.TestSuite; +import junit.framework.Test; + +import org.apache.log4j.Logger; +import org.apache.log4j.Level; +import org.apache.log4j.Appender; +import org.apache.log4j.FileAppender; +import org.apache.log4j.Layout; +import org.apache.log4j.SimpleLayout; +import org.apache.log4j.varia.LevelMatchFilter; +import org.apache.log4j.varia.DenyAllFilter; + +import org.apache.log4j.util.Transformer; +import org.apache.log4j.util.Compare; +import org.apache.log4j.util.LineNumberFilter; + +/** + Test case for varia/LevelMatchFilter.java. + */ +public class LevelMatchFilterTestCase extends TestCase { + + static String ACCEPT_FILE = "output/LevelMatchFilter_accept"; + static String ACCEPT_FILTERED = "output/LevelMatchFilter_accept_filtered"; + static String ACCEPT_WITNESS = "witness/LevelMatchFilter_accept"; + + static String DENY_FILE = "output/LevelMatchFilter_deny"; + static String DENY_FILTERED = "output/LevelMatchFilter_deny_filtered"; + static String DENY_WITNESS = "witness/LevelMatchFilter_deny"; + + Logger root; + Logger logger; + + public LevelMatchFilterTestCase(String name) { + super(name); + } + + public void setUp() { + root = Logger.getRootLogger(); + root.removeAllAppenders(); + } + + public void tearDown() { + root.getLoggerRepository().resetConfiguration(); + } + + public void accept() throws Exception { + + // set up appender + Layout layout = new SimpleLayout(); + Appender appender = new FileAppender(layout, ACCEPT_FILE, false); + + // create LevelMatchFilter + LevelMatchFilter matchFilter = new LevelMatchFilter(); + + // attach match filter to appender + appender.addFilter(matchFilter); + + // attach DenyAllFilter to end of filter chain to deny neutral + // (non matching) messages + appender.addFilter(new DenyAllFilter()); + + // set appender on root and set level to debug + root.addAppender(appender); + root.setLevel(Level.TRACE); + + Level[] levelArray = new Level[] {Level.TRACE, Level.DEBUG, Level.INFO, Level.WARN, + Level.ERROR, Level.FATAL}; + for (int x = 0; x < levelArray.length; x++) { + // set the level to match + matchFilter.setLevelToMatch(levelArray[x].toString()); + common("pass " + x + "; filter set to accept only " + + levelArray[x].toString() + " msgs"); + } + + Transformer.transform(ACCEPT_FILE, ACCEPT_FILTERED, new LineNumberFilter()); + assertTrue(Compare.compare(ACCEPT_FILTERED, ACCEPT_WITNESS)); + } + + public void deny() throws Exception { + + // set up appender + Layout layout = new SimpleLayout(); + Appender appender = new FileAppender(layout, DENY_FILE, false); + + // create LevelMatchFilter, set to deny matches + LevelMatchFilter matchFilter = new LevelMatchFilter(); + matchFilter.setAcceptOnMatch(false); + + // attach match filter to appender + appender.addFilter(matchFilter); + + // set appender on root and set level to debug + root.addAppender(appender); + root.setLevel(Level.TRACE); + + Level[] levelArray = new Level[] {Level.TRACE, Level.DEBUG, Level.INFO, Level.WARN, + Level.ERROR, Level.FATAL}; + for (int x = 0; x < levelArray.length; x++) { + // set the level to match + matchFilter.setLevelToMatch(levelArray[x].toString()); + common("pass " + x + "; filter set to deny only " + levelArray[x].toString() + + " msgs"); + } + + Transformer.transform(DENY_FILE, DENY_FILTERED, new LineNumberFilter()); + assertTrue(Compare.compare(DENY_FILTERED, DENY_WITNESS)); + } + + + void common(String msg) { + Logger logger = Logger.getLogger("test"); + logger.trace(msg); + logger.debug(msg); + logger.info(msg); + logger.warn(msg); + logger.error(msg); + logger.fatal(msg); + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new LevelMatchFilterTestCase("accept")); + suite.addTest(new LevelMatchFilterTestCase("deny")); + return suite; + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/CustomLevelTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/CustomLevelTestCase.java new file mode 100644 index 00000000000..52c366ae94c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/CustomLevelTestCase.java @@ -0,0 +1,89 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; +import org.apache.log4j.Logger; +import org.apache.log4j.util.Compare; + +public class CustomLevelTestCase extends TestCase { + + static String TEMP = "output/temp"; + + Logger root; + Logger logger; + + public CustomLevelTestCase(String name) { + super(name); + } + + public void setUp() { + root = Logger.getRootLogger(); + logger = Logger.getLogger(CustomLevelTestCase.class); + } + + public void tearDown() { + root.getLoggerRepository().resetConfiguration(); + } + + public void test1() throws Exception { + DOMConfigurator.configure("input/xml/customLevel1.xml"); + common(); + assertTrue(Compare.compare(TEMP, "witness/customLevel.1")); + } + + public void test2() throws Exception { + DOMConfigurator.configure("input/xml/customLevel2.xml"); + common(); + assertTrue(Compare.compare(TEMP, "witness/customLevel.2")); + } + + public void test3() throws Exception { + DOMConfigurator.configure("input/xml/customLevel3.xml"); + common(); + assertTrue(Compare.compare(TEMP, "witness/customLevel.3")); + } + + public void test4() throws Exception { + DOMConfigurator.configure("input/xml/customLevel4.xml"); + common(); + assertTrue(Compare.compare(TEMP, "witness/customLevel.4")); + } + + + void common() { + int i = 0; + logger.debug("Message " + ++i); + logger.info ("Message " + ++i); + logger.warn ("Message " + ++i); + logger.error("Message " + ++i); + logger.log(XLevel.TRACE, "Message " + ++i); + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new CustomLevelTestCase("test1")); + suite.addTest(new CustomLevelTestCase("test2")); + suite.addTest(new CustomLevelTestCase("test3")); + suite.addTest(new CustomLevelTestCase("test4")); + return suite; + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/DOMTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/DOMTestCase.java new file mode 100644 index 00000000000..e664c439964 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/DOMTestCase.java @@ -0,0 +1,419 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml; + +import junit.framework.TestCase; +import org.apache.log4j.Appender; +import org.apache.log4j.FileAppender; +import org.apache.log4j.Level; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.VectorAppender; +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.LoggerFactory; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.ThrowableRenderer; +import org.apache.log4j.spi.OptionHandler; +import org.apache.log4j.spi.ThrowableRendererSupport; +import org.apache.log4j.util.Compare; +import org.apache.log4j.util.ControlFilter; +import org.apache.log4j.util.Filter; +import org.apache.log4j.util.ISO8601Filter; +import org.apache.log4j.util.JunitTestRunnerFilter; +import org.apache.log4j.util.LineNumberFilter; +import org.apache.log4j.util.SunReflectFilter; +import org.apache.log4j.util.Transformer; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +public class DOMTestCase extends TestCase { + + static String TEMP_A1 = "output/temp.A1"; + static String TEMP_A2 = "output/temp.A2"; + static String FILTERED_A1 = "output/filtered.A1"; + static String FILTERED_A2 = "output/filtered.A2"; + + + static String EXCEPTION1 = "java.lang.Exception: Just testing"; + static String EXCEPTION2 = "\\s*at .*\\(.*\\)"; + static String EXCEPTION3 = "\\s*at .*\\(Native Method\\)"; + static String EXCEPTION4 = "\\s*at .*\\(.*Compiled Code\\)"; + static String EXCEPTION5 = "\\s*at .*\\(.*libgcj.*\\)"; + + + static String TEST1_1A_PAT = + "(TRACE|DEBUG|INFO |WARN |ERROR|FATAL) \\w*\\.\\w* - Message \\d"; + + static String TEST1_1B_PAT = "(TRACE|DEBUG|INFO |WARN |ERROR|FATAL) root - Message \\d"; + + static String TEST1_2_PAT = "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2},\\d{3} "+ + "\\[main]\\ (TRACE|DEBUG|INFO|WARN|ERROR|FATAL) .* - Message \\d"; + + + + Logger root; + Logger logger; + + public DOMTestCase(String name) { + super(name); + } + + public void setUp() { + root = Logger.getRootLogger(); + logger = Logger.getLogger(DOMTestCase.class); + } + + public void tearDown() { + root.getLoggerRepository().resetConfiguration(); + } + + public void test1() throws Exception { + DOMConfigurator.configure("input/xml/DOMTestCase1.xml"); + common(); + + ControlFilter cf1 = new ControlFilter(new String[]{TEST1_1A_PAT, TEST1_1B_PAT, + EXCEPTION1, EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + ControlFilter cf2 = new ControlFilter(new String[]{TEST1_2_PAT, + EXCEPTION1, EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + Transformer.transform( + TEMP_A1, FILTERED_A1, + new Filter[] { + cf1, new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter() + }); + + Transformer.transform( + TEMP_A2, FILTERED_A2, + new Filter[] { + cf2, new LineNumberFilter(), new ISO8601Filter(), + new SunReflectFilter(), new JunitTestRunnerFilter() + }); + + assertTrue(Compare.compare(FILTERED_A1, "witness/dom.A1.1")); + assertTrue(Compare.compare(FILTERED_A2, "witness/dom.A2.1")); + } + + /** + * Tests processing of external entities in XML file. + */ + public void test4() throws Exception { + DOMConfigurator.configure("input/xml/DOMTest4.xml"); + common(); + + ControlFilter cf1 = new ControlFilter(new String[]{TEST1_1A_PAT, TEST1_1B_PAT, + EXCEPTION1, EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + ControlFilter cf2 = new ControlFilter(new String[]{TEST1_2_PAT, + EXCEPTION1, EXCEPTION2, EXCEPTION3, EXCEPTION4, EXCEPTION5}); + + Transformer.transform( + TEMP_A1 + ".4", FILTERED_A1 + ".4", + new Filter[] { + cf1, new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter() + }); + + Transformer.transform( + TEMP_A2 + ".4", FILTERED_A2 + ".4", + new Filter[] { + cf2, new LineNumberFilter(), new ISO8601Filter(), + new SunReflectFilter(), new JunitTestRunnerFilter() + }); + + assertTrue(Compare.compare(FILTERED_A1 + ".4", "witness/dom.A1.4")); + assertTrue(Compare.compare(FILTERED_A2 + ".4", "witness/dom.A2.4")); + } + + void common() { + String oldThreadName = Thread.currentThread().getName(); + Thread.currentThread().setName("main"); + + int i = -1; + + logger.trace("Message " + ++i); + root.trace("Message " + i); + + logger.debug("Message " + ++i); + root.debug("Message " + i); + + logger.info ("Message " + ++i); + root.info("Message " + i); + + logger.warn ("Message " + ++i); + root.warn("Message " + i); + + logger.error("Message " + ++i); + root.error("Message " + i); + + logger.log(Level.FATAL, "Message " + ++i); + root.log(Level.FATAL, "Message " + i); + + Exception e = new Exception("Just testing"); + logger.debug("Message " + ++i, e); + root.debug("Message " + i, e); + + logger.error("Message " + ++i, e); + root.error("Message " + i, e); + + Thread.currentThread().setName(oldThreadName); + } + + + /** + * CustomLogger implementation for testCategoryFactory1 and 2. + */ + private static class CustomLogger extends Logger { + /** + * Creates new instance. + * @param name logger name. + */ + public CustomLogger(final String name) { + super(name); + } + } + + /** + * Creates new instances of CustomLogger. + */ + public static class CustomLoggerFactory implements LoggerFactory { + /** + * Addivity, expected to be set false in configuration file. + */ + private boolean additivity; + + /** + * Create new instance of factory. + */ + public CustomLoggerFactory() { + additivity = true; + } + + /** + * Create new logger. + * @param name logger name. + * @return new logger. + */ + public Logger makeNewLoggerInstance(final String name) { + Logger logger = new CustomLogger(name); + assertFalse(additivity); + return logger; + } + + /** + * Set additivity. + * @param newVal new value of additivity. + */ + public void setAdditivity(final boolean newVal) { + additivity = newVal; + } + } + + /** + * CustomErrorHandler for testCategoryFactory2. + */ + public static class CustomErrorHandler implements ErrorHandler { + public CustomErrorHandler() {} + public void activateOptions() {} + public void setLogger(final Logger logger) {} + public void error(String message, Exception e, int errorCode) {} + public void error(String message) {} + public void error(String message, Exception e, int errorCode, LoggingEvent event) {} + public void setAppender(Appender appender) {} + public void setBackupAppender(Appender appender) {} + } + + /** + * Tests that loggers mentioned in logger elements + * use the specified categoryFactory. See bug 33708. + */ + public void testCategoryFactory1() { + DOMConfigurator.configure("input/xml/categoryfactory1.xml"); + // + // logger explicitly mentioned in configuration, + // should be a CustomLogger + Logger logger1 = Logger.getLogger("org.apache.log4j.xml.DOMTestCase.testCategoryFactory1.1"); + assertTrue(logger1 instanceof CustomLogger); + // + // logger not explicitly mentioned in configuration, + // should use default factory + Logger logger2 = Logger.getLogger("org.apache.log4j.xml.DOMTestCase.testCategoryFactory1.2"); + assertFalse(logger2 instanceof CustomLogger); + } + + /** + * Tests that loggers mentioned in logger-ref elements + * use the specified categoryFactory. See bug 33708. + */ + public void testCategoryFactory2() { + DOMConfigurator.configure("input/xml/categoryfactory2.xml"); + // + // logger explicitly mentioned in configuration, + // should be a CustomLogger + Logger logger1 = Logger.getLogger("org.apache.log4j.xml.DOMTestCase.testCategoryFactory2.1"); + assertTrue(logger1 instanceof CustomLogger); + // + // logger not explicitly mentioned in configuration, + // should use default factory + Logger logger2 = Logger.getLogger("org.apache.log4j.xml.DOMTestCase.testCategoryFactory2.2"); + assertFalse(logger2 instanceof CustomLogger); + } + + /** + * Tests that loggers mentioned in logger elements + * use the specified loggerFactory. See bug 33708. + */ + public void testLoggerFactory1() { + DOMConfigurator.configure("input/xml/loggerfactory1.xml"); + // + // logger explicitly mentioned in configuration, + // should be a CustomLogger + Logger logger1 = Logger.getLogger("org.apache.log4j.xml.DOMTestCase.testLoggerFactory1.1"); + assertTrue(logger1 instanceof CustomLogger); + // + // logger not explicitly mentioned in configuration, + // should use default factory + Logger logger2 = Logger.getLogger("org.apache.log4j.xml.DOMTestCase.testLoggerFactory1.2"); + assertFalse(logger2 instanceof CustomLogger); + } + + /** + * Tests that reset="true" on log4j:configuration element resets + * repository before configuration. + * @throws Exception thrown on error. + */ + public void testReset() throws Exception { + VectorAppender appender = new VectorAppender(); + appender.setName("V1"); + Logger.getRootLogger().addAppender(appender); + DOMConfigurator.configure("input/xml/testReset.xml"); + assertNull(Logger.getRootLogger().getAppender("V1")); + } + + + /** + * Test checks that configureAndWatch does initial configuration, see bug 33502. + * @throws Exception if IO error. + */ + public void testConfigureAndWatch() throws Exception { + DOMConfigurator.configureAndWatch("input/xml/DOMTestCase1.xml"); + assertNotNull(Logger.getRootLogger().getAppender("A1")); + } + + + /** + * This test checks that the subst method of an extending class + * is checked when evaluating parameters. See bug 43325. + * + */ + public void testOverrideSubst() { + DOMConfigurator configurator = new DOMConfigurator() { + protected String subst(final String value) { + if ("output/temp.A1".equals(value)) { + return "output/subst-test.A1"; + } + return value; + } + }; + configurator.doConfigure("input/xml/DOMTestCase1.xml", LogManager.getLoggerRepository()); + FileAppender a1 = (FileAppender) Logger.getRootLogger().getAppender("A1"); + String file = a1.getFile(); + assertEquals("output/subst-test.A1", file); + } + + /** + * Mock ThrowableRenderer for testThrowableRenderer. See bug 45721. + */ + public static class MockThrowableRenderer implements ThrowableRenderer, OptionHandler { + private boolean activated = false; + private boolean showVersion = true; + + public MockThrowableRenderer() { + } + + public void activateOptions() { + activated = true; + } + + public boolean isActivated() { + return activated; + } + + public String[] doRender(final Throwable t) { + return new String[0]; + } + + public void setShowVersion(boolean v) { + showVersion = v; + } + + public boolean getShowVersion() { + return showVersion; + } + } + + /** + * Test of log4j.throwableRenderer support. See bug 45721. + */ + public void testThrowableRenderer1() { + DOMConfigurator.configure("input/xml/throwableRenderer1.xml"); + ThrowableRendererSupport repo = (ThrowableRendererSupport) LogManager.getLoggerRepository(); + MockThrowableRenderer renderer = (MockThrowableRenderer) repo.getThrowableRenderer(); + LogManager.resetConfiguration(); + assertNotNull(renderer); + assertEquals(true, renderer.isActivated()); + assertEquals(false, renderer.getShowVersion()); + } + + /** + * Test for bug 47465. + * configure(URL) did not close opened JarURLConnection. + * @throws IOException if IOException creating properties jar. + */ + public void testJarURL() throws IOException { + File input = new File("input/xml/defaultInit.xml"); + System.out.println(input.getAbsolutePath()); + InputStream is = new FileInputStream(input); + File dir = new File("output"); + dir.mkdirs(); + File file = new File("output/xml.jar"); + ZipOutputStream zos = + new ZipOutputStream(new FileOutputStream(file)); + zos.putNextEntry(new ZipEntry("log4j.xml")); + int len; + byte[] buf = new byte[1024]; + while ((len = is.read(buf)) > 0) { + zos.write(buf, 0, len); + } + zos.closeEntry(); + zos.close(); + URL url = new URL("jar:" + file.toURL() + "!/log4j.xml"); + DOMConfigurator.configure(url); + assertTrue(file.delete()); + assertFalse(file.exists()); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XLevel.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XLevel.java new file mode 100644 index 00000000000..36ff30dc227 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XLevel.java @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml; + +import org.apache.log4j.Level; + + +/** + This class introduces a new level level called TRACE. TRACE has + lower level than DEBUG. + + */ +public class XLevel extends Level { + private static final long serialVersionUID = 7288304330257085144L; + + static public final int TRACE_INT = Level.DEBUG_INT - 1; + static public final int LETHAL_INT = Level.FATAL_INT + 1; + + + private static String TRACE_STR = "TRACE"; + private static String LETHAL_STR = "LETHAL"; + + + public static final XLevel TRACE = new XLevel(TRACE_INT, TRACE_STR, 7); + public static final XLevel LETHAL = new XLevel(LETHAL_INT, LETHAL_STR, + 0); + + + protected + XLevel(int level, String strLevel, int syslogEquiv) { + super(level, strLevel, syslogEquiv); + } + + /** + Convert the string passed as argument to a level. If the + conversion fails, then this method returns {@link #TRACE}. + */ + public + static + Level toLevel(String sArg) { + return (Level) toLevel(sArg, XLevel.TRACE); + } + + + public + static + Level toLevel(String sArg, Level defaultValue) { + + if(sArg == null) { + return defaultValue; + } + String stringVal = sArg.toUpperCase(); + + if(stringVal.equals(TRACE_STR)) { + return XLevel.TRACE; + } else if(stringVal.equals(LETHAL_STR)) { + return XLevel.LETHAL; + } + + return Level.toLevel(sArg, (Level) defaultValue); + } + + + public + static + Level toLevel(int i) throws IllegalArgumentException { + switch(i) { + case TRACE_INT: return XLevel.TRACE; + case LETHAL_INT: return XLevel.LETHAL; + } + return Level.toLevel(i); + } + +} + diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XMLLayoutTest.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XMLLayoutTest.java new file mode 100644 index 00000000000..a21c0222cb9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XMLLayoutTest.java @@ -0,0 +1,501 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml; + +import org.apache.log4j.Layout; +import org.apache.log4j.LayoutTest; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.NDC; +import org.apache.log4j.MDC; +import org.apache.log4j.spi.LoggingEvent; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import org.xml.sax.InputSource; + +import java.io.Reader; +import java.io.StringReader; +import java.util.Hashtable; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + + +/** + * Test for XMLLayout. + * + * @author Curt Arnold + */ +public class XMLLayoutTest extends LayoutTest { + /** + * Construct new instance of XMLLayoutTest. + * + * @param testName test name. + */ + public XMLLayoutTest(final String testName) { + super(testName, "text/plain", false, null, null); + } + + /** + * Clear MDC and NDC before test. + */ + public void setUp() { + NDC.clear(); + if (MDC.getContext() != null) { + MDC.getContext().clear(); + } + } + + /** + * Clear MDC and NDC after test. + */ + public void tearDown() { + setUp(); + } + + /** + * @{inheritDoc} + */ + protected Layout createLayout() { + return new XMLLayout(); + } + + /** + * Parses the string as the body of an XML document and returns the document element. + * @param source source string. + * @return document element. + * @throws Exception if parser can not be constructed or source is not a valid XML document. + */ + private Element parse(final String source) throws Exception { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(false); + factory.setCoalescing(true); + + DocumentBuilder builder = factory.newDocumentBuilder(); + Reader reader = new StringReader(source); + Document doc = builder.parse(new InputSource(reader)); + + return doc.getDocumentElement(); + } + + /** + * Checks a log4j:event element against expectations. + * @param element element, may not be null. + * @param event event, may not be null. + */ + private void checkEventElement( + final Element element, final LoggingEvent event) { + assertEquals("log4j:event", element.getTagName()); + assertEquals( + event.getLoggerName(), element.getAttribute("logger")); + assertEquals( + Long.toString(event.timeStamp), element.getAttribute("timestamp")); + assertEquals(event.getLevel().toString(), element.getAttribute("level")); + assertEquals(event.getThreadName(), element.getAttribute("thread")); + } + + /** + * Checks a log4j:message element against expectations. + * @param element element, may not be null. + * @param message expected message. + */ + private void checkMessageElement( + final Element element, final String message) { + assertEquals("log4j:message", element.getTagName()); + + Node messageNode = element.getFirstChild(); + assertNotNull(messageNode); + assertEquals(Node.TEXT_NODE, messageNode.getNodeType()); + assertEquals(message, messageNode.getNodeValue()); + assertNull(messageNode.getNextSibling()); + } + + /** + * Checks a log4j:message element against expectations. + * @param element element, may not be null. + * @param message expected message. + */ + private void checkNDCElement(final Element element, final String message) { + assertEquals("log4j:NDC", element.getTagName()); + + Node messageNode = element.getFirstChild(); + assertNotNull(messageNode); + assertEquals(Node.TEXT_NODE, messageNode.getNodeType()); + assertEquals(message, messageNode.getNodeValue()); + assertNull(messageNode.getNextSibling()); + } + + /** + * Checks a log4j:throwable element against expectations. + * @param element element, may not be null. + * @param ex exception, may not be null. + */ + private void checkThrowableElement( + final Element element, final Exception ex) { + assertEquals("log4j:throwable", element.getTagName()); + + Node messageNode = element.getFirstChild(); + assertNotNull(messageNode); + assertEquals(Node.TEXT_NODE, messageNode.getNodeType()); + + String msg = ex.toString(); + assertEquals(msg, messageNode.getNodeValue().substring(0, msg.length())); + assertNull(messageNode.getNextSibling()); + } + + /** + * Checks a log4j:properties element against expectations. + * @param element element, may not be null. + * @param key key. + * @param value value. + */ + private void checkPropertiesElement( + final Element element, final String key, final String value) { + assertEquals("log4j:properties", element.getTagName()); + + int childNodeCount = 0; + for(Node child = element.getFirstChild(); + child != null; + child = child.getNextSibling()) { + if (child.getNodeType() == Node.ELEMENT_NODE) { + assertEquals("log4j:data", child.getNodeName()); + Element childElement = (Element) child; + assertEquals(key, childElement.getAttribute("name")); + assertEquals(value, childElement.getAttribute("value")); + childNodeCount++; + } + } + assertEquals(1, childNodeCount); + } + + /** + * Tests formatted results. + * @throws Exception if parser can not be constructed or source is not a valid XML document. + */ + public void testFormat() throws Exception { + Logger logger = Logger.getLogger("org.apache.log4j.xml.XMLLayoutTest"); + LoggingEvent event = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.INFO, "Hello, World", null); + XMLLayout layout = (XMLLayout) createLayout(); + String result = layout.format(event); + Element parsedResult = parse(result); + checkEventElement(parsedResult, event); + + int childElementCount = 0; + + for ( + Node node = parsedResult.getFirstChild(); node != null; + node = node.getNextSibling()) { + switch (node.getNodeType()) { + case Node.ELEMENT_NODE: + childElementCount++; + checkMessageElement((Element) node, "Hello, World"); + + break; + + case Node.COMMENT_NODE: + break; + + case Node.TEXT_NODE: + + // should only be whitespace + break; + + default: + fail("Unexpected node type"); + + break; + } + } + + assertEquals(1, childElementCount); + } + + /** + * Tests formatted results with an exception. + * @throws Exception if parser can not be constructed or source is not a valid XML document. + */ + public void testFormatWithException() throws Exception { + Logger logger = Logger.getLogger("org.apache.log4j.xml.XMLLayoutTest"); + Exception ex = new IllegalArgumentException("'foo' is not a valid name"); + LoggingEvent event = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.INFO, "Hello, World", ex); + XMLLayout layout = (XMLLayout) createLayout(); + String result = layout.format(event); + Element parsedResult = parse(result); + checkEventElement(parsedResult, event); + + int childElementCount = 0; + + for ( + Node node = parsedResult.getFirstChild(); node != null; + node = node.getNextSibling()) { + switch (node.getNodeType()) { + case Node.ELEMENT_NODE: + childElementCount++; + + if (childElementCount == 1) { + checkMessageElement((Element) node, "Hello, World"); + } else { + checkThrowableElement((Element) node, ex); + } + + break; + + case Node.COMMENT_NODE: + break; + + case Node.TEXT_NODE: + + // should only be whitespace + break; + + default: + fail("Unexpected node type"); + + break; + } + } + + assertEquals(2, childElementCount); + } + + /** + * Tests formatted results with an exception. + * @throws Exception if parser can not be constructed or source is not a valid XML document. + */ + public void testFormatWithNDC() throws Exception { + Logger logger = Logger.getLogger("org.apache.log4j.xml.XMLLayoutTest"); + NDC.push("NDC goes here"); + + LoggingEvent event = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.INFO, "Hello, World", null); + XMLLayout layout = (XMLLayout) createLayout(); + String result = layout.format(event); + NDC.pop(); + + Element parsedResult = parse(result); + checkEventElement(parsedResult, event); + + int childElementCount = 0; + + for ( + Node node = parsedResult.getFirstChild(); node != null; + node = node.getNextSibling()) { + switch (node.getNodeType()) { + case Node.ELEMENT_NODE: + childElementCount++; + + if (childElementCount == 1) { + checkMessageElement((Element) node, "Hello, World"); + } else { + checkNDCElement((Element) node, "NDC goes here"); + } + + break; + + case Node.COMMENT_NODE: + break; + + case Node.TEXT_NODE: + + // should only be whitespace + break; + + default: + fail("Unexpected node type"); + + break; + } + } + + assertEquals(2, childElementCount); + } + + /** + * Tests getLocationInfo and setLocationInfo. + */ + public void testGetSetLocationInfo() { + XMLLayout layout = new XMLLayout(); + assertEquals(false, layout.getLocationInfo()); + layout.setLocationInfo(true); + assertEquals(true, layout.getLocationInfo()); + layout.setLocationInfo(false); + assertEquals(false, layout.getLocationInfo()); + } + + /** + * Tests activateOptions(). + */ + public void testActivateOptions() { + XMLLayout layout = new XMLLayout(); + layout.activateOptions(); + } + + /** + * Level with arbitrary toString value. + */ + private static final class ProblemLevel extends Level { + private static final long serialVersionUID = 1L; + /** + * Construct new instance. + * @param levelName level name, may not be null. + */ + public ProblemLevel(final String levelName) { + super(6000, levelName, 6); + } + } + + /** + * Tests problematic characters in multiple fields. + * @throws Exception if parser can not be constructed or source is not a valid XML document. + */ + public void testProblemCharacters() throws Exception { + String problemName = "com.example.bar<>&\"'"; + Logger logger = Logger.getLogger(problemName); + Level level = new ProblemLevel(problemName); + Exception ex = new IllegalArgumentException(problemName); + String threadName = Thread.currentThread().getName(); + Thread.currentThread().setName(problemName); + NDC.push(problemName); + Hashtable mdcMap = MDC.getContext(); + if (mdcMap != null) { + mdcMap.clear(); + } + MDC.put(problemName, problemName); + LoggingEvent event = + new LoggingEvent( + problemName, logger, level, problemName, ex); + XMLLayout layout = (XMLLayout) createLayout(); + layout.setProperties(true); + String result = layout.format(event); + mdcMap = MDC.getContext(); + if (mdcMap != null) { + mdcMap.clear(); + } + Thread.currentThread().setName(threadName); + + Element parsedResult = parse(result); + checkEventElement(parsedResult, event); + + int childElementCount = 0; + + for ( + Node node = parsedResult.getFirstChild(); node != null; + node = node.getNextSibling()) { + switch (node.getNodeType()) { + case Node.ELEMENT_NODE: + childElementCount++; + switch(childElementCount) { + case 1: + checkMessageElement((Element) node, problemName); + break; + + case 2: + checkNDCElement((Element) node, problemName); + break; + + case 3: + checkThrowableElement((Element) node, ex); + break; + + case 4: + checkPropertiesElement((Element) node, problemName, problemName); + break; + + default: + fail("Unexpected element"); + break; + } + + break; + + case Node.COMMENT_NODE: + break; + + case Node.TEXT_NODE: + + // should only be whitespace + break; + + default: + fail("Unexpected node type"); + + break; + } + } + } + + /** + * Tests CDATA element within NDC content. See bug 37560. + */ + public void testNDCWithCDATA() throws Exception { + Logger logger = Logger.getLogger("com.example.bar"); + Level level = Level.INFO; + String ndcMessage ="<envelope><faultstring><![CDATA[The EffectiveDate]]></faultstring><envelope>"; + NDC.push(ndcMessage); + LoggingEvent event = + new LoggingEvent( + "com.example.bar", logger, level, "Hello, World", null); + Layout layout = createLayout(); + String result = layout.format(event); + NDC.clear(); + Element parsedResult = parse(result); + NodeList ndcs = parsedResult.getElementsByTagName("log4j:NDC"); + assertEquals(1, ndcs.getLength()); + StringBuffer buf = new StringBuffer(); + for(Node child = ndcs.item(0).getFirstChild(); + child != null; + child = child.getNextSibling()) { + buf.append(child.getNodeValue()); + } + assertEquals(ndcMessage, buf.toString()); + } + + /** + * Tests CDATA element within exception. See bug 37560. + */ + public void testExceptionWithCDATA() throws Exception { + Logger logger = Logger.getLogger("com.example.bar"); + Level level = Level.INFO; + String exceptionMessage ="<envelope><faultstring><![CDATA[The EffectiveDate]]></faultstring><envelope>"; + LoggingEvent event = + new LoggingEvent( + "com.example.bar", logger, level, "Hello, World", new Exception(exceptionMessage)); + Layout layout = createLayout(); + String result = layout.format(event); + Element parsedResult = parse(result); + NodeList throwables = parsedResult.getElementsByTagName("log4j:throwable"); + assertEquals(1, throwables.getLength()); + StringBuffer buf = new StringBuffer(); + for(Node child = throwables.item(0).getFirstChild(); + child != null; + child = child.getNextSibling()) { + buf.append(child.getNodeValue()); + } + assertTrue(buf.toString().indexOf(exceptionMessage) != -1); + } + +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XMLLayoutTestCase.java b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XMLLayoutTestCase.java new file mode 100644 index 00000000000..e76acd6b197 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/src/java/org/apache/log4j/xml/XMLLayoutTestCase.java @@ -0,0 +1,248 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.xml; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; +import org.apache.log4j.FileAppender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.MDC; +import org.apache.log4j.util.Compare; +import org.apache.log4j.util.Filter; +import org.apache.log4j.util.JunitTestRunnerFilter; +import org.apache.log4j.util.LineNumberFilter; +import org.apache.log4j.util.SunReflectFilter; +import org.apache.log4j.util.Transformer; +import org.apache.log4j.util.XMLLineAttributeFilter; +import org.apache.log4j.util.XMLTimestampFilter; + +import java.util.Hashtable; + +public class XMLLayoutTestCase extends TestCase { + + static String TEMP = "output/temp"; + static String FILTERED = "output/filtered"; + + Logger root; + Logger logger; + + public XMLLayoutTestCase(String name) { + super(name); + } + + public void setUp() { + root = Logger.getRootLogger(); + root.setLevel(Level.TRACE); + logger = Logger.getLogger(XMLLayoutTestCase.class); + logger.setLevel(Level.TRACE); + } + + public void tearDown() { + root.getLoggerRepository().resetConfiguration(); + } + + public void basic() throws Exception { + XMLLayout xmlLayout = new XMLLayout(); + root.addAppender(new FileAppender(xmlLayout, TEMP, false)); + common(); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + new LineNumberFilter(), + new XMLTimestampFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.1")); + } + + public void locationInfo() throws Exception { + XMLLayout xmlLayout = new XMLLayout(); + xmlLayout.setLocationInfo(true); + root.addAppender(new FileAppender(xmlLayout, TEMP, false)); + common(); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + new LineNumberFilter(), + new XMLTimestampFilter(), + new XMLLineAttributeFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter() + }); + assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.2")); + } + + public void testCDATA() throws Exception { + XMLLayout xmlLayout = new XMLLayout(); + xmlLayout.setLocationInfo(true); + root.addAppender(new FileAppender(xmlLayout, TEMP, false)); + + String oldThreadName = Thread.currentThread().getName(); + Thread.currentThread().setName("main"); + + logger.trace("Message with embedded <![CDATA[<hello>hi</hello>]]>."); + logger.debug("Message with embedded <![CDATA[<hello>hi</hello>]]>."); + + Thread.currentThread().setName(oldThreadName); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { + new LineNumberFilter(), + new XMLTimestampFilter(), + new XMLLineAttributeFilter(), + new SunReflectFilter(), + new JunitTestRunnerFilter() + + }); + Transformer.transform(TEMP, FILTERED, new Filter[] {new LineNumberFilter(), + new XMLTimestampFilter(), + new XMLLineAttributeFilter()}); + assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.3")); + } + + public void testNull() throws Exception { + XMLLayout xmlLayout = new XMLLayout(); + root.addAppender(new FileAppender(xmlLayout, TEMP, false)); + + String oldThreadName = Thread.currentThread().getName(); + Thread.currentThread().setName("main"); + + logger.debug("hi"); + logger.debug(null); + Exception e = new Exception((String) null); + logger.debug("hi", e); + + Thread.currentThread().setName(oldThreadName); + + Transformer.transform( + TEMP, FILTERED, + new Filter[] { new LineNumberFilter(), + new XMLTimestampFilter(), + new JunitTestRunnerFilter(), + new SunReflectFilter()}); + assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.null")); + } + + /** + * Tests the format of the MDC portion of the layout to ensure + * the key-value pairs we put in turn up in the output file. + * @throws Exception + */ + public void testMDC() throws Exception { + XMLLayout xmlLayout = new XMLLayout(); + xmlLayout.setProperties(true); + root.addAppender(new FileAppender(xmlLayout, TEMP, false)); + + Hashtable context = MDC.getContext(); + if (context != null) { + context.clear(); + } + MDC.put("key1", "val1"); + MDC.put("key2", "val2"); + + logger.debug("Hello"); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { new LineNumberFilter(), + new JunitTestRunnerFilter(), + new XMLTimestampFilter()}); + assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.mdc.1")); + } + + public void testMDCEscaped() throws Exception { + XMLLayout xmlLayout = new XMLLayout(); + xmlLayout.setProperties(true); + root.addAppender(new FileAppender(xmlLayout, TEMP, false)); + + Hashtable context = MDC.getContext(); + if (context != null) { + context.clear(); + } + MDC.put("blahAttribute", "<blah value='blah'>"); + MDC.put("<blahKey value='blah'/>", "blahValue"); + + logger.debug("Hello"); + Transformer.transform( + TEMP, FILTERED, + new Filter[] { new LineNumberFilter(), + new JunitTestRunnerFilter(), + new XMLTimestampFilter() }); + assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.mdc.2")); + } + + + void common() { + String oldThreadName = Thread.currentThread().getName(); + Thread.currentThread().setName("main"); + + int i = -1; + + new X(); + + logger.trace("Message " + ++i); + root.trace("Message " + i); + + logger.debug("Message " + ++i); + root.debug("Message " + i); + + logger.info("Message " + ++i); + root.info("Message " + i); + + logger.warn ("Message " + ++i); + root.warn("Message " + i); + + logger.error("Message " + ++i); + root.error("Message " + i); + + logger.log(Level.FATAL, "Message " + ++i); + root.log(Level.FATAL, "Message " + i); + + Exception e = new Exception("Just testing"); + logger.debug("Message " + ++i, e); + root.debug("Message " + i, e); + + logger.error("Message " + ++i, e); + root.error("Message " + i, e); + + + Thread.currentThread().setName(oldThreadName); + } + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(new XMLLayoutTestCase("basic")); + suite.addTest(new XMLLayoutTestCase("locationInfo")); + suite.addTest(new XMLLayoutTestCase("testCDATA")); + suite.addTest(new XMLLayoutTestCase("testNull")); + suite.addTest(new XMLLayoutTestCase("testMDC")); + suite.addTest(new XMLLayoutTestCase("testMDCEscaped")); + return suite; + } + + + class X { + Logger logger = Logger.getLogger(X.class); + public X() { + logger.info("in X() constructor"); + } + } +} diff --git a/thirdparty/apache-log4j-1.2.16/tests/sun_checks.xml b/thirdparty/apache-log4j-1.2.16/tests/sun_checks.xml new file mode 100644 index 00000000000..71b31c3f641 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/sun_checks.xml @@ -0,0 +1,148 @@ +<?xml version="1.0"?> +<!DOCTYPE module PUBLIC + "-//Puppy Crawl//DTD Check Configuration 1.0//EN" + "http://www.puppycrawl.com/dtds/configuration_1_0.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<!-- + + a Checkstyle configuration that checks the sun coding conventions from + + the Java Language Specification at + http://java.sun.com/docs/books/jls/second_edition/html/index.html + + the Sun Code Conventions at + http://java.sun.com/docs/codeconv/ + + the Javadoc guidelines at + http://java.sun.com/j2se/javadoc/writingdoccomments/index.html + + the JDK Api documentation + http://java.sun.com/j2se/docs/api/index.html + + some best practices + +--> + +<module name="Checker"> + + <module name="TreeWalker"> + + <!-- code conventions --> + + <!-- naming conventions --> + <module name="ConstantName"/> + <module name="MethodName"/> + <module name="LocalFinalVariableName"/> + <module name="LocalVariableName"/> + <module name="MemberName"/> + <module name="ParameterName"/> + <module name="TypeName"/> + <module name="StaticVariableName"/> + <module name="PackageName"/> + + <!-- code layout --> + <module name="RightCurly"/> + <module name="LeftCurly"/> + <module name="NeedBraces"/> + <module name="OperatorWrap"/> + + <!-- standard whitespace settings --> + <module name="ParenPad"/> + <!-- default conflicts with jalopy configuration which + places a space after the opening brace of an array initialization --> + <module name="NoWhitespaceAfter"> + <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/> + </module> + <module name="NoWhitespaceBefore"/> + <module name="WhitespaceAfter"/> + <module name="WhitespaceAround"/> + + + + <!-- JavaDoc guidelines --> + <module name="JavadocMethod"/> + <module name="JavadocType"/> + <module name="JavadocVariable"/> + + + <!-- JLS --> + <!-- <module name="RedundantModifier"/> --> + <module name="ModifierOrder"/> + <module name="UpperEll"/> + + + + <!-- Api Doc --> + + <!-- override hashCode whenever you override equals() --> + <module name="EqualsHashCode"/> + + <!-- don't create new instances of Boolean, + use Boolean.TRUE/FALSE or Boolean.valueOf() instead --> + <module name="IllegalInstantiation"> + <property name="classes" value="java.lang.Boolean"/> + </module> + + + + <!-- best practices --> + + <!-- don't allow empty blocks (in particular catch blocks) --> + <module name="EmptyBlock"/> + + <!-- avoid inner assignments --> + <module name="InnerAssignment"/> + + <!-- don't allow imports from the sun.* package hierarchy --> + <module name="IllegalImport"/> + + <!-- don't allow public members --> + <module name="VisibilityModifier"> + <property name="protectedAllowed" value="true"/> + <property name="packageAllowed" value="true"/> + </module> + + + <!-- simplify your code --> + <!-- <module name="RedundantImport"/> --> + <module name="UnusedImports"/> + <module name="SimplifyBooleanExpression"/> + <module name="SimplifyBooleanReturn"/> + <module name="AvoidStarImport"/> + + <!-- flag reminder comments --> + <module name="TodoComment"/> + + <!-- enforce default length limits --> + <!-- + <module name="LineLength"/> + <module name="MethodLength"/> + <module name="FileLength"/> + --> + + <!-- don't allow tabs --> + <module name="TabCharacter"/> + + </module> + + <!-- enforce package documentation --> + <module name="PackageHtml"/> + +</module> diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/LevelMatchFilter_accept b/thirdparty/apache-log4j-1.2.16/tests/witness/LevelMatchFilter_accept new file mode 100644 index 00000000000..14c0b245bc8 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/LevelMatchFilter_accept @@ -0,0 +1,6 @@ +TRACE - pass 0; filter set to accept only TRACE msgs +DEBUG - pass 1; filter set to accept only DEBUG msgs +INFO - pass 2; filter set to accept only INFO msgs +WARN - pass 3; filter set to accept only WARN msgs +ERROR - pass 4; filter set to accept only ERROR msgs +FATAL - pass 5; filter set to accept only FATAL msgs diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/LevelMatchFilter_deny b/thirdparty/apache-log4j-1.2.16/tests/witness/LevelMatchFilter_deny new file mode 100644 index 00000000000..37558557361 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/LevelMatchFilter_deny @@ -0,0 +1,30 @@ +DEBUG - pass 0; filter set to deny only TRACE msgs +INFO - pass 0; filter set to deny only TRACE msgs +WARN - pass 0; filter set to deny only TRACE msgs +ERROR - pass 0; filter set to deny only TRACE msgs +FATAL - pass 0; filter set to deny only TRACE msgs +TRACE - pass 1; filter set to deny only DEBUG msgs +INFO - pass 1; filter set to deny only DEBUG msgs +WARN - pass 1; filter set to deny only DEBUG msgs +ERROR - pass 1; filter set to deny only DEBUG msgs +FATAL - pass 1; filter set to deny only DEBUG msgs +TRACE - pass 2; filter set to deny only INFO msgs +DEBUG - pass 2; filter set to deny only INFO msgs +WARN - pass 2; filter set to deny only INFO msgs +ERROR - pass 2; filter set to deny only INFO msgs +FATAL - pass 2; filter set to deny only INFO msgs +TRACE - pass 3; filter set to deny only WARN msgs +DEBUG - pass 3; filter set to deny only WARN msgs +INFO - pass 3; filter set to deny only WARN msgs +ERROR - pass 3; filter set to deny only WARN msgs +FATAL - pass 3; filter set to deny only WARN msgs +TRACE - pass 4; filter set to deny only ERROR msgs +DEBUG - pass 4; filter set to deny only ERROR msgs +INFO - pass 4; filter set to deny only ERROR msgs +WARN - pass 4; filter set to deny only ERROR msgs +FATAL - pass 4; filter set to deny only ERROR msgs +TRACE - pass 5; filter set to deny only FATAL msgs +DEBUG - pass 5; filter set to deny only FATAL msgs +INFO - pass 5; filter set to deny only FATAL msgs +WARN - pass 5; filter set to deny only FATAL msgs +ERROR - pass 5; filter set to deny only FATAL msgs diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/PatternParser_mdc b/thirdparty/apache-log4j-1.2.16/tests/witness/PatternParser_mdc new file mode 100644 index 00000000000..c7104dc38c9 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/PatternParser_mdc @@ -0,0 +1,12 @@ +starting mdc pattern test +empty mdc, no key specified in pattern : {} +empty mdc, key1 in pattern : +empty mdc, key2 in pattern : +empty mdc, key3 in pattern : +empty mdc, key1, key2, and key3 in pattern : ,, +filled mdc, no key specified in pattern : {{key1,value1}{key2,value2}} +filled mdc, key1 in pattern : value1 +filled mdc, key2 in pattern : value2 +filled mdc, key3 in pattern : +filled mdc, key1, key2, and key3 in pattern : value1,value2, +finished mdc pattern test diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.1 new file mode 100644 index 00000000000..fc957b2f60a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.1 @@ -0,0 +1,5 @@ +DEBUG xml.CustomLevelTestCase - Message 1 +INFO xml.CustomLevelTestCase - Message 2 +WARN xml.CustomLevelTestCase - Message 3 +ERROR xml.CustomLevelTestCase - Message 4 +TRACE xml.CustomLevelTestCase - Message 5 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.2 b/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.2 new file mode 100644 index 00000000000..fc957b2f60a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.2 @@ -0,0 +1,5 @@ +DEBUG xml.CustomLevelTestCase - Message 1 +INFO xml.CustomLevelTestCase - Message 2 +WARN xml.CustomLevelTestCase - Message 3 +ERROR xml.CustomLevelTestCase - Message 4 +TRACE xml.CustomLevelTestCase - Message 5 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.3 b/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.3 new file mode 100644 index 00000000000..00a2986053f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.3 @@ -0,0 +1 @@ +TRACE xml.CustomLevelTestCase - Message 5 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.4 b/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.4 new file mode 100644 index 00000000000..fc957b2f60a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/customLevel.4 @@ -0,0 +1,5 @@ +DEBUG xml.CustomLevelTestCase - Message 1 +INFO xml.CustomLevelTestCase - Message 2 +WARN xml.CustomLevelTestCase - Message 3 +ERROR xml.CustomLevelTestCase - Message 4 +TRACE xml.CustomLevelTestCase - Message 5 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/customLogger.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/customLogger.1 new file mode 100644 index 00000000000..5697b70deaa --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/customLogger.1 @@ -0,0 +1,17 @@ +TRACE customLogger.XLoggerTestCase - Message 0 +DEBUG customLogger.XLoggerTestCase - Message 1 +WARN customLogger.XLoggerTestCase - Message 2 +ERROR customLogger.XLoggerTestCase - Message 3 +FATAL customLogger.XLoggerTestCase - Message 4 +DEBUG customLogger.XLoggerTestCase - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.customLogger.XLoggerTestCase.common(XLoggerTestCase.java:XXX) + at org.apache.log4j.customLogger.XLoggerTestCase.test1(XLoggerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/customLogger.2 b/thirdparty/apache-log4j-1.2.16/tests/witness/customLogger.2 new file mode 100644 index 00000000000..5990833212f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/customLogger.2 @@ -0,0 +1 @@ +TRACE customLogger.XLoggerTestCase - Message 0 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A1.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A1.1 new file mode 100644 index 00000000000..0c619b6a1ac --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A1.1 @@ -0,0 +1,90 @@ +TRACE xml.DOMTestCase - Message 0 +TRACE xml.DOMTestCase - Message 0 +TRACE root - Message 0 +DEBUG xml.DOMTestCase - Message 1 +DEBUG xml.DOMTestCase - Message 1 +DEBUG root - Message 1 +INFO xml.DOMTestCase - Message 2 +INFO xml.DOMTestCase - Message 2 +INFO root - Message 2 +WARN xml.DOMTestCase - Message 3 +WARN xml.DOMTestCase - Message 3 +WARN root - Message 3 +ERROR xml.DOMTestCase - Message 4 +ERROR xml.DOMTestCase - Message 4 +ERROR root - Message 4 +FATAL xml.DOMTestCase - Message 5 +FATAL xml.DOMTestCase - Message 5 +FATAL root - Message 5 +DEBUG xml.DOMTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test1(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +DEBUG xml.DOMTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test1(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +DEBUG root - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test1(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR xml.DOMTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test1(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR xml.DOMTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test1(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR root - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test1(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A1.4 b/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A1.4 new file mode 100644 index 00000000000..5e961105d4a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A1.4 @@ -0,0 +1,90 @@ +TRACE xml.DOMTestCase - Message 0 +TRACE xml.DOMTestCase - Message 0 +TRACE root - Message 0 +DEBUG xml.DOMTestCase - Message 1 +DEBUG xml.DOMTestCase - Message 1 +DEBUG root - Message 1 +INFO xml.DOMTestCase - Message 2 +INFO xml.DOMTestCase - Message 2 +INFO root - Message 2 +WARN xml.DOMTestCase - Message 3 +WARN xml.DOMTestCase - Message 3 +WARN root - Message 3 +ERROR xml.DOMTestCase - Message 4 +ERROR xml.DOMTestCase - Message 4 +ERROR root - Message 4 +FATAL xml.DOMTestCase - Message 5 +FATAL xml.DOMTestCase - Message 5 +FATAL root - Message 5 +DEBUG xml.DOMTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test4(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +DEBUG xml.DOMTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test4(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +DEBUG root - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test4(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR xml.DOMTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test4(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR xml.DOMTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test4(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR root - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test4(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A2.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A2.1 new file mode 100644 index 00000000000..e04b617d85e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A2.1 @@ -0,0 +1,60 @@ + [main] TRACE org.apache.log4j.xml.DOMTestCase - Message 0 + [main] TRACE root - Message 0 + [main] DEBUG org.apache.log4j.xml.DOMTestCase - Message 1 + [main] DEBUG root - Message 1 + [main] INFO org.apache.log4j.xml.DOMTestCase - Message 2 + [main] INFO root - Message 2 + [main] WARN org.apache.log4j.xml.DOMTestCase - Message 3 + [main] WARN root - Message 3 + [main] ERROR org.apache.log4j.xml.DOMTestCase - Message 4 + [main] ERROR root - Message 4 + [main] FATAL org.apache.log4j.xml.DOMTestCase - Message 5 + [main] FATAL root - Message 5 + [main] DEBUG org.apache.log4j.xml.DOMTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test1(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] DEBUG root - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test1(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR org.apache.log4j.xml.DOMTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test1(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR root - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test1(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A2.4 b/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A2.4 new file mode 100644 index 00000000000..6444feeeb7c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/dom.A2.4 @@ -0,0 +1,60 @@ + [main] TRACE org.apache.log4j.xml.DOMTestCase - Message 0 + [main] TRACE root - Message 0 + [main] DEBUG org.apache.log4j.xml.DOMTestCase - Message 1 + [main] DEBUG root - Message 1 + [main] INFO org.apache.log4j.xml.DOMTestCase - Message 2 + [main] INFO root - Message 2 + [main] WARN org.apache.log4j.xml.DOMTestCase - Message 3 + [main] WARN root - Message 3 + [main] ERROR org.apache.log4j.xml.DOMTestCase - Message 4 + [main] ERROR root - Message 4 + [main] FATAL org.apache.log4j.xml.DOMTestCase - Message 5 + [main] FATAL root - Message 5 + [main] DEBUG org.apache.log4j.xml.DOMTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test4(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] DEBUG root - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test4(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR org.apache.log4j.xml.DOMTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test4(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR root - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.xml.DOMTestCase.common(DOMTestCase.java:XXX) + at org.apache.log4j.xml.DOMTestCase.test4(DOMTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/fallback1 b/thirdparty/apache-log4j-1.2.16/tests/witness/fallback1 new file mode 100644 index 00000000000..21304513a64 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/fallback1 @@ -0,0 +1,58 @@ +FALLBACK - test - Message 0 +FALLBACK - root - Message 0 +FALLBACK - test - Message 1 +FALLBACK - root - Message 1 +FALLBACK - test - Message 2 +FALLBACK - root - Message 2 +FALLBACK - test - Message 3 +FALLBACK - root - Message 3 +FALLBACK - test - Message 4 +FALLBACK - root - Message 4 +FALLBACK - test - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.varia.ErrorHandlerTestCase.common(ErrorHandlerTestCase.java:XXX) + at org.apache.log4j.varia.ErrorHandlerTestCase.test1(ErrorHandlerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +FALLBACK - root - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.varia.ErrorHandlerTestCase.common(ErrorHandlerTestCase.java:XXX) + at org.apache.log4j.varia.ErrorHandlerTestCase.test1(ErrorHandlerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +FALLBACK - test - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.varia.ErrorHandlerTestCase.common(ErrorHandlerTestCase.java:XXX) + at org.apache.log4j.varia.ErrorHandlerTestCase.test1(ErrorHandlerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +FALLBACK - root - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.varia.ErrorHandlerTestCase.common(ErrorHandlerTestCase.java:XXX) + at org.apache.log4j.varia.ErrorHandlerTestCase.test1(ErrorHandlerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test1.0 b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test1.0 rename to thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.1 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.2 b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.2 new file mode 100644 index 00000000000..a52c745116c --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.2 @@ -0,0 +1 @@ +FATAL [main] log4j.HierarchyThresholdTestCase = m5 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.3 b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.3 new file mode 100644 index 00000000000..1061b9a039a --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.3 @@ -0,0 +1,2 @@ +ERROR [main] log4j.HierarchyThresholdTestCase = m4 +FATAL [main] log4j.HierarchyThresholdTestCase = m5 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.4 b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.4 new file mode 100644 index 00000000000..38ab9b3f971 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.4 @@ -0,0 +1,3 @@ +WARN [main] log4j.HierarchyThresholdTestCase = m3 +ERROR [main] log4j.HierarchyThresholdTestCase = m4 +FATAL [main] log4j.HierarchyThresholdTestCase = m5 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.5 b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.5 new file mode 100644 index 00000000000..08591d98d90 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.5 @@ -0,0 +1,4 @@ +INFO [main] log4j.HierarchyThresholdTestCase = m2 +WARN [main] log4j.HierarchyThresholdTestCase = m3 +ERROR [main] log4j.HierarchyThresholdTestCase = m4 +FATAL [main] log4j.HierarchyThresholdTestCase = m5 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.6 b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.6 new file mode 100644 index 00000000000..dfe52883060 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.6 @@ -0,0 +1,5 @@ +DEBUG [main] log4j.HierarchyThresholdTestCase = m1 +INFO [main] log4j.HierarchyThresholdTestCase = m2 +WARN [main] log4j.HierarchyThresholdTestCase = m3 +ERROR [main] log4j.HierarchyThresholdTestCase = m4 +FATAL [main] log4j.HierarchyThresholdTestCase = m5 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.7 b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.7 new file mode 100644 index 00000000000..095bb974c33 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.7 @@ -0,0 +1,6 @@ +TRACE [main] log4j.HierarchyThresholdTestCase = m0 +DEBUG [main] log4j.HierarchyThresholdTestCase = m1 +INFO [main] log4j.HierarchyThresholdTestCase = m2 +WARN [main] log4j.HierarchyThresholdTestCase = m3 +ERROR [main] log4j.HierarchyThresholdTestCase = m4 +FATAL [main] log4j.HierarchyThresholdTestCase = m5 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.8 b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.8 new file mode 100644 index 00000000000..095bb974c33 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/hierarchyThreshold.8 @@ -0,0 +1,6 @@ +TRACE [main] log4j.HierarchyThresholdTestCase = m0 +DEBUG [main] log4j.HierarchyThresholdTestCase = m1 +INFO [main] log4j.HierarchyThresholdTestCase = m2 +WARN [main] log4j.HierarchyThresholdTestCase = m3 +ERROR [main] log4j.HierarchyThresholdTestCase = m4 +FATAL [main] log4j.HierarchyThresholdTestCase = m5 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.1 similarity index 76% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.1 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.1 index 41069651079..d5ab5347c39 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.1 +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.1 @@ -10,8 +10,8 @@ FATAL - Message 4 FATAL - Message 4 DEBUG - Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test1(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test1(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -23,8 +23,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) INFO - Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test1(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test1(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -36,8 +36,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) WARN - Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test1(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test1(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -49,8 +49,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) ERROR - Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test1(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test1(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -62,8 +62,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) FATAL - Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test1(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test1(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.10 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.10 new file mode 100644 index 00000000000..381c2db048e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.10 @@ -0,0 +1,75 @@ +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test10(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test10(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test10(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test10(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test10(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.14 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.11 similarity index 63% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.14 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.11 index 5fa192fe3bc..65f933b7045 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.14 +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.11 @@ -1,17 +1,17 @@ -DEBUG [main] o.a.l.PatternLayoutTest: Message 0 +DEBUG [main] log4j.EnhancedPatternLayoutTest: Message 0 DEBUG [main] root: Message 0 -INFO [main] o.a.l.PatternLayoutTest: Message 1 +INFO [main] log4j.EnhancedPatternLayoutTest: Message 1 INFO [main] root: Message 1 -WARN [main] o.a.l.PatternLayoutTest: Message 2 +WARN [main] log4j.EnhancedPatternLayoutTest: Message 2 WARN [main] root: Message 2 -ERROR [main] o.a.l.PatternLayoutTest: Message 3 +ERROR [main] log4j.EnhancedPatternLayoutTest: Message 3 ERROR [main] root: Message 3 -FATAL [main] o.a.l.PatternLayoutTest: Message 4 +FATAL [main] log4j.EnhancedPatternLayoutTest: Message 4 FATAL [main] root: Message 4 -DEBUG [main] o.a.l.PatternLayoutTest: Message 5 +DEBUG [main] log4j.EnhancedPatternLayoutTest: Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test14(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test11(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -21,10 +21,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -INFO [main] o.a.l.PatternLayoutTest: Message 6 +INFO [main] log4j.EnhancedPatternLayoutTest: Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test14(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test11(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -34,10 +34,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -WARN [main] o.a.l.PatternLayoutTest: Message 7 +WARN [main] log4j.EnhancedPatternLayoutTest: Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test14(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test11(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -47,10 +47,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -ERROR [main] o.a.l.PatternLayoutTest: Message 8 +ERROR [main] log4j.EnhancedPatternLayoutTest: Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test14(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test11(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -60,10 +60,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -FATAL [main] o.a.l.PatternLayoutTest: Message 9 +FATAL [main] log4j.EnhancedPatternLayoutTest: Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test14(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test11(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.12 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.12 new file mode 100644 index 00000000000..78039c7f033 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.12 @@ -0,0 +1,75 @@ +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test12(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test12(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test12(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test12(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test12(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.12 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.13 similarity index 51% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.12 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.13 index 5154d49f292..dbd6bd4657d 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.12 +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.13 @@ -1,17 +1,17 @@ -[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(X): Message 0 -[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(X): Message 0 -[main] INFO org.apache.log4j.PatternLayoutTestCase.common(X): Message 1 -[main] INFO org.apache.log4j.PatternLayoutTestCase.common(X): Message 1 -[main] WARN org.apache.log4j.PatternLayoutTestCase.common(X): Message 2 -[main] WARN org.apache.log4j.PatternLayoutTestCase.common(X): Message 2 -[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(X): Message 3 -[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(X): Message 3 -[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(X): Message 4 -[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(X): Message 4 -[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(X): Message 5 +[main] DEBUG apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] DEBUG apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] INFO apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] INFO apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] WARN apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] WARN apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] ERROR apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] ERROR apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] FATAL apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] FATAL apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] DEBUG apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test12(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test13(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -21,10 +21,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -[main] INFO org.apache.log4j.PatternLayoutTestCase.common(X): Message 6 +[main] INFO apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test12(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test13(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -34,10 +34,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -[main] WARN org.apache.log4j.PatternLayoutTestCase.common(X): Message 7 +[main] WARN apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test12(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test13(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -47,10 +47,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(X): Message 8 +[main] ERROR apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test12(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test13(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -60,10 +60,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(X): Message 9 +[main] FATAL apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test12(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test13(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.11 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.14 similarity index 63% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.11 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.14 index d048044bb01..9bdc71ee2ae 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.11 +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.14 @@ -1,17 +1,17 @@ -DEBUG [main] log4j.PatternLayoutTest: Message 0 +DEBUG [main] o.a.l.EnhancedPatternLayoutTest: Message 0 DEBUG [main] root: Message 0 -INFO [main] log4j.PatternLayoutTest: Message 1 +INFO [main] o.a.l.EnhancedPatternLayoutTest: Message 1 INFO [main] root: Message 1 -WARN [main] log4j.PatternLayoutTest: Message 2 +WARN [main] o.a.l.EnhancedPatternLayoutTest: Message 2 WARN [main] root: Message 2 -ERROR [main] log4j.PatternLayoutTest: Message 3 +ERROR [main] o.a.l.EnhancedPatternLayoutTest: Message 3 ERROR [main] root: Message 3 -FATAL [main] log4j.PatternLayoutTest: Message 4 +FATAL [main] o.a.l.EnhancedPatternLayoutTest: Message 4 FATAL [main] root: Message 4 -DEBUG [main] log4j.PatternLayoutTest: Message 5 +DEBUG [main] o.a.l.EnhancedPatternLayoutTest: Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test11(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test14(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -21,10 +21,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -INFO [main] log4j.PatternLayoutTest: Message 6 +INFO [main] o.a.l.EnhancedPatternLayoutTest: Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test11(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test14(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -34,10 +34,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -WARN [main] log4j.PatternLayoutTest: Message 7 +WARN [main] o.a.l.EnhancedPatternLayoutTest: Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test11(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test14(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -47,10 +47,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -ERROR [main] log4j.PatternLayoutTest: Message 8 +ERROR [main] o.a.l.EnhancedPatternLayoutTest: Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test11(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test14(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -60,10 +60,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -FATAL [main] log4j.PatternLayoutTest: Message 9 +FATAL [main] o.a.l.EnhancedPatternLayoutTest: Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test11(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test14(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.15 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.15 similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.15 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.15 index 320b05fb818..7bf3de40fbb 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.15 +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.15 @@ -10,8 +10,8 @@ FATAL 9 - Message 4 FATAL 10 - Message 4 DEBUG 11 - Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test15(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test15(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -23,8 +23,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) INFO 12 - Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test15(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test15(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -36,8 +36,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) WARN 13 - Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test15(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test15(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -49,8 +49,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) ERROR 14 - Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test15(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test15(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -62,8 +62,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) FATAL 15 - Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test15(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test15(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.2 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.2 similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.2 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.2 index 66eba39b316..d4caecc6258 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.2 +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.2 @@ -10,8 +10,8 @@ [main] FATAL root - Message 4 [main] DEBUG atternLayoutTest - Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test2(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test2(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -23,8 +23,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] INFO atternLayoutTest - Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test2(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test2(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -36,8 +36,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] WARN atternLayoutTest - Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test2(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test2(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -49,8 +49,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] ERROR atternLayoutTest - Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test2(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test2(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -62,8 +62,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] FATAL atternLayoutTest - Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test2(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test2(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.3 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.3 similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.3 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.3 index a3c4dfea01e..248df6d60e9 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.3 +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.3 @@ -10,8 +10,8 @@ [main] FATAL root - Message 4 [main] DEBUG atternLayoutTest - Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test3(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test3(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -23,8 +23,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] INFO atternLayoutTest - Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test3(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test3(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -36,8 +36,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] WARN atternLayoutTest - Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test3(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test3(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -49,8 +49,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] ERROR atternLayoutTest - Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test3(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test3(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -62,8 +62,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] FATAL atternLayoutTest - Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test3(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test3(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.4 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.4 similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.4 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.4 index a65c71ecb56..4dce6ef4a5e 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.4 +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.4 @@ -10,8 +10,8 @@ [main] FATAL root - Message 4 [main] DEBUG atternLayoutTest - Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test4(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test4(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -23,8 +23,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] INFO atternLayoutTest - Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test4(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test4(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -36,8 +36,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] WARN atternLayoutTest - Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test4(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test4(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -49,8 +49,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] ERROR atternLayoutTest - Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test4(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test4(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -62,8 +62,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] FATAL atternLayoutTest - Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test4(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test4(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.5 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.5 similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.5 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.5 index fd8338f5690..cb88bddb6c9 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.5 +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.5 @@ -10,8 +10,8 @@ [main] FATAL root - Message 4 [main] DEBUG atternLayoutTest - Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test5(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test5(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -23,8 +23,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] INFO atternLayoutTest - Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test5(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test5(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -36,8 +36,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] WARN atternLayoutTest - Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test5(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test5(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -49,8 +49,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] ERROR atternLayoutTest - Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test5(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test5(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -62,8 +62,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] FATAL atternLayoutTest - Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test5(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test5(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.6 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.6 new file mode 100644 index 00000000000..5e1db41d5dd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.6 @@ -0,0 +1,75 @@ + [main] DEBUG atternLayoutTest - Message 0 + [main] DEBUG root - Message 0 + [main] INFO atternLayoutTest - Message 1 + [main] INFO root - Message 1 + [main] WARN atternLayoutTest - Message 2 + [main] WARN root - Message 2 + [main] ERROR atternLayoutTest - Message 3 + [main] ERROR root - Message 3 + [main] FATAL atternLayoutTest - Message 4 + [main] FATAL root - Message 4 + [main] DEBUG atternLayoutTest - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test6(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] INFO atternLayoutTest - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test6(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] WARN atternLayoutTest - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test6(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] ERROR atternLayoutTest - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test6(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] FATAL atternLayoutTest - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test6(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.7 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.7 new file mode 100644 index 00000000000..5c6daa4572e --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.7 @@ -0,0 +1,75 @@ + [main] DEBUG atternLayoutTest - Message 0 + [main] DEBUG root - Message 0 + [main] INFO atternLayoutTest - Message 1 + [main] INFO root - Message 1 + [main] WARN atternLayoutTest - Message 2 + [main] WARN root - Message 2 + [main] ERROR atternLayoutTest - Message 3 + [main] ERROR root - Message 3 + [main] FATAL atternLayoutTest - Message 4 + [main] FATAL root - Message 4 + [main] DEBUG atternLayoutTest - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test7(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] INFO atternLayoutTest - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test7(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] WARN atternLayoutTest - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test7(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] ERROR atternLayoutTest - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test7(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] FATAL atternLayoutTest - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test7(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.8 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.8 new file mode 100644 index 00000000000..2a085068125 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.8 @@ -0,0 +1,75 @@ + [main] DEBUG atternLayoutTest - Message 0 + [main] DEBUG root - Message 0 + [main] INFO atternLayoutTest - Message 1 + [main] INFO root - Message 1 + [main] WARN atternLayoutTest - Message 2 + [main] WARN root - Message 2 + [main] ERROR atternLayoutTest - Message 3 + [main] ERROR root - Message 3 + [main] FATAL atternLayoutTest - Message 4 + [main] FATAL root - Message 4 + [main] DEBUG atternLayoutTest - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test8(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] INFO atternLayoutTest - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test8(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] WARN atternLayoutTest - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test8(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] ERROR atternLayoutTest - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test8(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] FATAL atternLayoutTest - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test8(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.9 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.9 similarity index 78% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.9 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.9 index a6b3cfa4c4a..6b8dd1af87f 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.9 +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.9 @@ -10,8 +10,8 @@ [main] FATAL root : Message 4 [main] DEBUG atternLayoutTest : Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test9(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test9(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -23,8 +23,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] INFO atternLayoutTest : Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test9(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test9(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -36,8 +36,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] WARN atternLayoutTest : Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test9(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test9(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -49,8 +49,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] ERROR atternLayoutTest : Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test9(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test9(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -62,8 +62,8 @@ java.lang.Exception: Just testing at junit.framework.TestSuite.run(X) [main] FATAL atternLayoutTest : Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test9(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test9(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.mdc.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.mdc.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.mdc.1 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.mdc.1 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.mdc.2 b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.mdc.2 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.mdc.2 rename to thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.mdc.2 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.throwable b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.throwable new file mode 100644 index 00000000000..f1911237792 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/pattern/enhancedPatternLayout.throwable @@ -0,0 +1,54 @@ +starting throwable pattern test +plain pattern, no exception +plain pattern, with exception +java.lang.Exception: Test Exception + at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +%throwable, no exception +%throwable, with exception +java.lang.Exception: Test Exception + at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +%throwable{short}, no exception +%throwable{short}, with exception +java.lang.Exception: Test Exception +%throwable{none}, no exception +%throwable{none}, with exception +%throwable{0}, no exception +%throwable{0}, with exception +%throwable{1}, no exception +%throwable{1}, with exception +java.lang.Exception: Test Exception +%throwable{100}, no exception +%throwable{100}, with exception +java.lang.Exception: Test Exception + at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +%throwable{-n}, no exception +%throwable{-n}, with exception +java.lang.Exception: Test Exception + at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.1 new file mode 100644 index 00000000000..263f242977f --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.1 @@ -0,0 +1,84 @@ +TRACE - Message 0 +TRACE - Message 0 +DEBUG - Message 1 +DEBUG - Message 1 +INFO - Message 2 +INFO - Message 2 +WARN - Message 3 +WARN - Message 3 +ERROR - Message 4 +ERROR - Message 4 +FATAL - Message 5 +FATAL - Message 5 +TRACE - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test1(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +DEBUG - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test1(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +INFO - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test1(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +WARN - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test1(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR - Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test1(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +FATAL - Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test1(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.10 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.10 new file mode 100644 index 00000000000..46fce63db22 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.10 @@ -0,0 +1,84 @@ +[main] TRACE org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 0 +[main] TRACE org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 0 +[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 1 +[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 1 +[main] INFO org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 2 +[main] INFO org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 2 +[main] WARN org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 3 +[main] WARN org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 3 +[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 4 +[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 4 +[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 5 +[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 5 +[main] TRACE org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test10(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test10(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] INFO org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test10(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] WARN org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test10(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test10(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test10(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.11 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.11 new file mode 100644 index 00000000000..6a91cc54d71 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.11 @@ -0,0 +1,84 @@ +TRACE [main] log4j.PatternLayoutTestCase: Message 0 +TRACE [main] root: Message 0 +DEBUG [main] log4j.PatternLayoutTestCase: Message 1 +DEBUG [main] root: Message 1 +INFO [main] log4j.PatternLayoutTestCase: Message 2 +INFO [main] root: Message 2 +WARN [main] log4j.PatternLayoutTestCase: Message 3 +WARN [main] root: Message 3 +ERROR [main] log4j.PatternLayoutTestCase: Message 4 +ERROR [main] root: Message 4 +FATAL [main] log4j.PatternLayoutTestCase: Message 5 +FATAL [main] root: Message 5 +TRACE [main] log4j.PatternLayoutTestCase: Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test11(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +DEBUG [main] log4j.PatternLayoutTestCase: Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test11(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +INFO [main] log4j.PatternLayoutTestCase: Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test11(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +WARN [main] log4j.PatternLayoutTestCase: Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test11(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR [main] log4j.PatternLayoutTestCase: Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test11(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +FATAL [main] log4j.PatternLayoutTestCase: Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test11(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.12 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.12 new file mode 100644 index 00000000000..374f54a6bf3 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.12 @@ -0,0 +1,84 @@ +[main] TRACE org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 0 +[main] TRACE org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 0 +[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 1 +[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 1 +[main] INFO org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 2 +[main] INFO org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 2 +[main] WARN org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 3 +[main] WARN org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 3 +[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 4 +[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 4 +[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 5 +[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 5 +[main] TRACE org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test12(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test12(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] INFO org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test12(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] WARN org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test12(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test12(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test12(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.13 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.13 new file mode 100644 index 00000000000..a359f357613 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.13 @@ -0,0 +1,84 @@ +[main] TRACE apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 0 +[main] TRACE apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 0 +[main] DEBUG apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 1 +[main] DEBUG apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 1 +[main] INFO apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 2 +[main] INFO apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 2 +[main] WARN apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 3 +[main] WARN apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 3 +[main] ERROR apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 4 +[main] ERROR apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 4 +[main] FATAL apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 5 +[main] FATAL apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 5 +[main] TRACE apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test13(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] DEBUG apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test13(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] INFO apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test13(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] WARN apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test13(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] ERROR apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test13(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] FATAL apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX): Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test13(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.14 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.14 new file mode 100644 index 00000000000..df0ebbdfa56 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.14 @@ -0,0 +1,84 @@ +TRACE 1 - Message 0 +TRACE 2 - Message 0 +DEBUG 3 - Message 1 +DEBUG 4 - Message 1 + INFO 5 - Message 2 + INFO 6 - Message 2 + WARN 7 - Message 3 + WARN 8 - Message 3 +ERROR 9 - Message 4 +ERROR 10 - Message 4 +FATAL 11 - Message 5 +FATAL 12 - Message 5 +TRACE 13 - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test14(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +DEBUG 14 - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test14(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + INFO 15 - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test14(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + WARN 16 - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test14(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR 17 - Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test14(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +FATAL 18 - Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test14(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.2 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.2 new file mode 100644 index 00000000000..82e63369099 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.2 @@ -0,0 +1,84 @@ + [main] TRACE rnLayoutTestCase - Message 0 + [main] TRACE root - Message 0 + [main] DEBUG rnLayoutTestCase - Message 1 + [main] DEBUG root - Message 1 + [main] INFO rnLayoutTestCase - Message 2 + [main] INFO root - Message 2 + [main] WARN rnLayoutTestCase - Message 3 + [main] WARN root - Message 3 + [main] ERROR rnLayoutTestCase - Message 4 + [main] ERROR root - Message 4 + [main] FATAL rnLayoutTestCase - Message 5 + [main] FATAL root - Message 5 + [main] TRACE rnLayoutTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test2(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] DEBUG rnLayoutTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test2(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] INFO rnLayoutTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test2(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] WARN rnLayoutTestCase - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test2(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR rnLayoutTestCase - Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test2(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] FATAL rnLayoutTestCase - Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test2(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.3 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.3 new file mode 100644 index 00000000000..b30661136ab --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.3 @@ -0,0 +1,84 @@ + [main] TRACE rnLayoutTestCase - Message 0 + [main] TRACE root - Message 0 + [main] DEBUG rnLayoutTestCase - Message 1 + [main] DEBUG root - Message 1 + [main] INFO rnLayoutTestCase - Message 2 + [main] INFO root - Message 2 + [main] WARN rnLayoutTestCase - Message 3 + [main] WARN root - Message 3 + [main] ERROR rnLayoutTestCase - Message 4 + [main] ERROR root - Message 4 + [main] FATAL rnLayoutTestCase - Message 5 + [main] FATAL root - Message 5 + [main] TRACE rnLayoutTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test3(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] DEBUG rnLayoutTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test3(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] INFO rnLayoutTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test3(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] WARN rnLayoutTestCase - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test3(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR rnLayoutTestCase - Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test3(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] FATAL rnLayoutTestCase - Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test3(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.4 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.4 new file mode 100644 index 00000000000..b807e55b958 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.4 @@ -0,0 +1,84 @@ + [main] TRACE rnLayoutTestCase - Message 0 + [main] TRACE root - Message 0 + [main] DEBUG rnLayoutTestCase - Message 1 + [main] DEBUG root - Message 1 + [main] INFO rnLayoutTestCase - Message 2 + [main] INFO root - Message 2 + [main] WARN rnLayoutTestCase - Message 3 + [main] WARN root - Message 3 + [main] ERROR rnLayoutTestCase - Message 4 + [main] ERROR root - Message 4 + [main] FATAL rnLayoutTestCase - Message 5 + [main] FATAL root - Message 5 + [main] TRACE rnLayoutTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test4(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] DEBUG rnLayoutTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test4(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] INFO rnLayoutTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test4(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] WARN rnLayoutTestCase - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test4(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR rnLayoutTestCase - Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test4(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] FATAL rnLayoutTestCase - Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test4(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.5 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.5 new file mode 100644 index 00000000000..e45c5cbc034 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.5 @@ -0,0 +1,84 @@ + [main] TRACE rnLayoutTestCase - Message 0 + [main] TRACE root - Message 0 + [main] DEBUG rnLayoutTestCase - Message 1 + [main] DEBUG root - Message 1 + [main] INFO rnLayoutTestCase - Message 2 + [main] INFO root - Message 2 + [main] WARN rnLayoutTestCase - Message 3 + [main] WARN root - Message 3 + [main] ERROR rnLayoutTestCase - Message 4 + [main] ERROR root - Message 4 + [main] FATAL rnLayoutTestCase - Message 5 + [main] FATAL root - Message 5 + [main] TRACE rnLayoutTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test5(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] DEBUG rnLayoutTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test5(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] INFO rnLayoutTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test5(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] WARN rnLayoutTestCase - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test5(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR rnLayoutTestCase - Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test5(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] FATAL rnLayoutTestCase - Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test5(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.6 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.6 new file mode 100644 index 00000000000..6140e468eac --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.6 @@ -0,0 +1,84 @@ + [main] TRACE rnLayoutTestCase - Message 0 + [main] TRACE root - Message 0 + [main] DEBUG rnLayoutTestCase - Message 1 + [main] DEBUG root - Message 1 + [main] INFO rnLayoutTestCase - Message 2 + [main] INFO root - Message 2 + [main] WARN rnLayoutTestCase - Message 3 + [main] WARN root - Message 3 + [main] ERROR rnLayoutTestCase - Message 4 + [main] ERROR root - Message 4 + [main] FATAL rnLayoutTestCase - Message 5 + [main] FATAL root - Message 5 + [main] TRACE rnLayoutTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test6(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] DEBUG rnLayoutTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test6(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] INFO rnLayoutTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test6(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] WARN rnLayoutTestCase - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test6(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR rnLayoutTestCase - Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test6(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] FATAL rnLayoutTestCase - Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test6(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.7 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.7 new file mode 100644 index 00000000000..7a802bc49dd --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.7 @@ -0,0 +1,84 @@ + [main] TRACE rnLayoutTestCase - Message 0 + [main] TRACE root - Message 0 + [main] DEBUG rnLayoutTestCase - Message 1 + [main] DEBUG root - Message 1 + [main] INFO rnLayoutTestCase - Message 2 + [main] INFO root - Message 2 + [main] WARN rnLayoutTestCase - Message 3 + [main] WARN root - Message 3 + [main] ERROR rnLayoutTestCase - Message 4 + [main] ERROR root - Message 4 + [main] FATAL rnLayoutTestCase - Message 5 + [main] FATAL root - Message 5 + [main] TRACE rnLayoutTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test7(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] DEBUG rnLayoutTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test7(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] INFO rnLayoutTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test7(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] WARN rnLayoutTestCase - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test7(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR rnLayoutTestCase - Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test7(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] FATAL rnLayoutTestCase - Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test7(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.8 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.8 new file mode 100644 index 00000000000..30cb5cb5844 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.8 @@ -0,0 +1,84 @@ + [main] TRACE rnLayoutTestCase - Message 0 + [main] TRACE root - Message 0 + [main] DEBUG rnLayoutTestCase - Message 1 + [main] DEBUG root - Message 1 + [main] INFO rnLayoutTestCase - Message 2 + [main] INFO root - Message 2 + [main] WARN rnLayoutTestCase - Message 3 + [main] WARN root - Message 3 + [main] ERROR rnLayoutTestCase - Message 4 + [main] ERROR root - Message 4 + [main] FATAL rnLayoutTestCase - Message 5 + [main] FATAL root - Message 5 + [main] TRACE rnLayoutTestCase - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test8(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] DEBUG rnLayoutTestCase - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test8(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] INFO rnLayoutTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test8(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] WARN rnLayoutTestCase - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test8(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] ERROR rnLayoutTestCase - Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test8(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] FATAL rnLayoutTestCase - Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test8(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.9 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.9 new file mode 100644 index 00000000000..7b54f6da0f0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.9 @@ -0,0 +1,84 @@ +[main] TRACE rnLayoutTestCase : Message 0 +[main] TRACE root : Message 0 +[main] DEBUG rnLayoutTestCase : Message 1 +[main] DEBUG root : Message 1 +[main] INFO rnLayoutTestCase : Message 2 +[main] INFO root : Message 2 +[main] WARN rnLayoutTestCase : Message 3 +[main] WARN root : Message 3 +[main] ERROR rnLayoutTestCase : Message 4 +[main] ERROR root : Message 4 +[main] FATAL rnLayoutTestCase : Message 5 +[main] FATAL root : Message 5 +[main] TRACE rnLayoutTestCase : Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test9(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] DEBUG rnLayoutTestCase : Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test9(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] INFO rnLayoutTestCase : Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test9(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] WARN rnLayoutTestCase : Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test9(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] ERROR rnLayoutTestCase : Message 10 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test9(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +[main] FATAL rnLayoutTestCase : Message 11 +java.lang.Exception: Just testing + at org.apache.log4j.PatternLayoutTestCase.common(PatternLayoutTestCase.java:XXX) + at org.apache.log4j.PatternLayoutTestCase.test9(PatternLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.mdc.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.mdc.1 new file mode 100644 index 00000000000..9bf65405aea --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.mdc.1 @@ -0,0 +1 @@ +DEBUG - Hello World {{key1,va11}{key2,va12}} \ No newline at end of file diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.mdc.clear b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.mdc.clear new file mode 100644 index 00000000000..aa71f63b8a1 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/patternLayout.mdc.clear @@ -0,0 +1,2 @@ +DEBUG - Hello World {{key1,va11}{key2,va12}} +DEBUG - Hello World {} \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test2.0 b/thirdparty/apache-log4j-1.2.16/tests/witness/prudent similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test2.0 rename to thirdparty/apache-log4j-1.2.16/tests/witness/prudent diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/exception.bin b/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/exception.bin new file mode 100644 index 0000000000000000000000000000000000000000..87b0c1db0c1a8ef8549de536c0b05783dc91c697 GIT binary patch literal 1843 zcmc&!%}*0S6d%4~KnYPo;>B2l(GtzH6v}4|DiDDbA`~@3q8WCl+oiKJ%k0}yG%@l2 z(W3`1{t;fhdNUrp=-v2ccfrywsNvuqn(f>7`<UN*yKlaco<NgpN;{PK%&KxKlrz3d z1K*`3<v6Z%7VBKXkMHk?;rzR~F4DI}hCJJvSN=gssaoi7@V(I0+}<J=rEMLrt&m=D zJzfUp`6Y6}V!$1x57wB+fm|x>vO3ENCY@XvG)m24k5Jg<D!D8x3dnE?t>t2CxyV`$ zt>sEhO$a)d7y>dBbB5rG+!70_z;*=3jxMyeM_!SR5*g53+8hn9@*rRiPs)8z)tuSJ zT2kr9irO~>v6oxvUN)P%v=^D5ZTJMQj-DG=dp-f_)=Giz`#}1axDe`gW?yMxQ+(nv zSK<UlQYVl`{o(S@&#(2sdMD}FCS95%>EL#Ik_|u9hYzTUm?jaw{rLFH*DEg{bP^Jo z90ZavbBLQ38x}HR{4<#aC2vB;XVSHR?DR6oq<U=Ll1&}}1^g*<?K0uMh{AZ{LiLC@ z+tzQyXD0I_K<11{5K5|fMQ{t~8sh7Gl|xn8_bdzNrS!7r3+l?cs_}d_Zpg$P$guv8 z3<*JsLgZ>}8abb~axQSe9dst06kO~qdumU_T__^=xZ(bt{^7Y}-sF_o<X`NlFpjXv z2o_2gXhq|~;x^T&34fjioa#`T`|MF6LXH;y3VEMt-ij<tqUN2GG&gt<3b;N>eXRhe z7NO%Jjg|8gh`)O}-nf1k6L7no;`C!DYDm$J%$pgGog{u3SnH8Trw}!L5~>`!a6IR@ z5*@dYH`wAIv6194+}MB8d}h2hz1*Ob2q=^IF0-I!^GZNf^ig1f?nYa;@(6d&?AJyp wCD&$n+16Sd#*~SlomoJzP+HY=jftY!ujgmhFrVUdg<^4PWWSq`wT$2R1zG-$<p2Nx literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/info.bin b/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/info.bin new file mode 100644 index 0000000000000000000000000000000000000000..f887f39e9b33982402c8c52bd11c524f2138d70f GIT binary patch literal 60 zcmZ4UmVvdnh(RpBC|xhHATc>3RWBz$-6TuTC$%g!$Do*9UY_ZQ88ZVzML{_q1B0Ie P0|Nsa1B<7hn|}oWI;{{E literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/location.bin b/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/location.bin new file mode 100644 index 0000000000000000000000000000000000000000..c7988504f2bc04379f08f8bf435369cda26fe436 GIT binary patch literal 465 zcmaLTzfJ-{5C-r;ASz0XCe&g`Y&3U`9fgH4L9$Ya72SHbEQfnL%ibJ+65=~p`T%ye z7RKlB0ek=&txenm5-~AO`Q_W$-|o{4iiw2-w9?~-2R-2_lqY>JF_Fhm%1F!eq0sdC z@lvC$=hHltI#7wj;0(=#A>O9uN(|D-im(H_It+eiP1vL;7H#6OVXz%=5)$pC#bZIR z$NGH8eZ{r(+hpBUb=OhoS`q3C-9>^Lb2NWJ^XD|*(R{X2a);KJAcD$bXG)Rs8$9U| zzfr<9@{TruJIFEEu|kK!fiFdpa4D8?iF#J>FrzJ#vP*E3Em&BN{<d7Nwro7d*T)9j z<cf#;UvC5ji%9?c^UsTC53ldd`^V{8Cf(?!N@aJ?L1W{Fpxh8j;c<0@R)wD19rH+= KQ30S;HREr!v7fB~ literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/mdc.bin b/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/mdc.bin new file mode 100644 index 0000000000000000000000000000000000000000..42e994e75782e1ab63de5cde7aac0c44a3aa09dd GIT binary patch literal 508 zcmZwDy-EW?5C`yyNi;@-Xh@$Bv{CLFI|~I-l5nOlR(9*%csa9ov+hm48lT8kP<$G} z#==Hlz_}zy1P}IDhX2m~W*<MHm|AF%4IO2a-$zGNczEZeCUQIq!zc;QMwsyT*GrQ( zo{sZSzJ^*H_@`v19?@WEF7bXCSq!dWI|=;1wGOOv6l0H7Y&_WX6=O(t+Ep<!?09!- zq+G3%(Cx96tBxe2Nm3Cd?c|minx4?yInABXT%oz%Qb-Q1EkF#ldCwt7+HI+{&+0~_ zB=SPLhX=@cuw^j`P{0?MrYgimxy*fwD#&PyN<}I(&Kk@u`~O?6mQyyK;g2Q;<jWQJ z8Xs>A1xv(69=e)M>|{FUS66-A+HG{+pYyPC4rNU$I9EQCZOhvUDeaRECg%7gYY4@0 zN&aiHaty07_5i00CE1LW9^ypyGHIPLWrj)%wWfpmn5+&QVZ<s*%(wv1t((aYxp=2u literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/ndc.bin b/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/ndc.bin new file mode 100644 index 0000000000000000000000000000000000000000..7f434550e903e7c162be8781a711edeb44b9fa2e GIT binary patch literal 409 zcmZwBJx@Y06vpvGfT$=jny^DiTr{_fP7Dsl1WaWRC$@U;u@rlIO7G!qar4`_I{2Yn z^b1&C22AYu<lpx9{sq+{K#PJ-lvn8p6HEGXoD|+9lC(BX-_FqS&-Z7W4?nKUP#Z!c z&(a(6OG)%H^$$3int<65PF$A$-R|IkO^yRrxtDO1Dn?CV*;hF-oXWA9DPfh<V!$DO z)rpOzSQ&CX_e>0J8EIle6Kk4?G$D7Qcxi77VrXpMoU*Z^tBMh;CyTKtN7@8lp(Nor zpvy3V@3AP9#_e3=Q9zZgXxpV87n-jg*jUd0w><7vAz$M=3lH&>s%NdYD~3uSV(%ID fBcsV!FhjkI*3w0DPQhkLY;t9spH~3-O~3dBE*go` literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/simple.bin b/thirdparty/apache-log4j-1.2.16/tests/witness/serialization/simple.bin new file mode 100644 index 0000000000000000000000000000000000000000..c31f3cffb7f9c5fe717e8fd4235853f7af2182a9 GIT binary patch literal 399 zcmZwByG{c!5CzbQk_ZtJA&}Bh1Vy3&tsA-&6bLCGlY&sCGrNP=!Rv9nlUKtR(NgeD zhz5QD=TQU+m)Cb@&f6E%%K)bobfUaUb4)Dh%W+bAlStCqIDIoi$3Nd6T|RifszPG~ z?IKIB$uA|*%hW&MWNHFtBRFzd`Zv3SeKrLSSruMFGgXY5!g8PrWH^>%HB-VWr^S#% zJk^UGOR;6h-MVLD=*mbF8=6?tM5GD1Q;I`-TM$EgvvbPEioPmyR!<gVqZ(-wc!i3D z!+<Ws2)@U%R2sK&gY$qYThX>jD<(8wE!bGj|F=BuwnDMS_ZA-FtJKd<KAQ}+K*ZjA ahE^Y~rHjs-g3XfnQz+y7yaq7n_{A^b7l!Hp literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/simple b/thirdparty/apache-log4j-1.2.16/tests/witness/simple new file mode 100644 index 00000000000..77cef876abb --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/simple @@ -0,0 +1,42 @@ +FATAL - Message 0 +ERROR - Message 1 +FATAL - Message 2 +ERROR - Message 3 +WARN - Message 4 +INFO - Message 5 +FATAL - Message 6 +ERROR - Message 7 +WARN - Message 8 +INFO - Message 9 +FATAL - Message 10 +ERROR - Message 11 +FATAL - Message 12 +ERROR - Message 13 +FATAL - Message 14 +ERROR - Message 15 +WARN - Message 16 +INFO - Message 17 +DEBUG - Message 18 +FATAL - Message 19 +ERROR - Message 20 +WARN - Message 21 +INFO - Message 22 +DEBUG - Message 23 +TRACE - Message 24 +FATAL - Message 25 +ERROR - Message 26 +WARN - Message 27 +INFO - Message 28 +DEBUG - Message 29 +java.lang.Exception: Just testing. + at org.apache.log4j.MinimumTestCase.common(MinimumTestCase.java:XXX) + at org.apache.log4j.MinimumTestCase.simple(MinimumTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +INFO - Messages should bear numbers 0 through 29. diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.1 new file mode 100644 index 00000000000..113f262eece --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.1 @@ -0,0 +1,31 @@ +TRACE T1 [main] org.apache.log4j.net.SocketServerTestCase Message 1 +TRACE T1 [main] root Message 2 +DEBUG T1 [main] org.apache.log4j.net.SocketServerTestCase Message 3 +DEBUG T1 [main] root Message 4 + INFO T1 [main] org.apache.log4j.net.SocketServerTestCase Message 5 + WARN T1 [main] org.apache.log4j.net.SocketServerTestCase Message 6 +LETHAL T1 [main] org.apache.log4j.net.SocketServerTestCase Message 7 +DEBUG T1 [main] org.apache.log4j.net.SocketServerTestCase Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test1(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR T1 [main] root Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test1(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.2 b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.2 new file mode 100644 index 00000000000..3ee37c1a518 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.2 @@ -0,0 +1,31 @@ +TRACE T2 [main] ? (?:?) Message 1 +TRACE T2 [main] ? (?:?) Message 2 +DEBUG T2 [main] ? (?:?) Message 3 +DEBUG T2 [main] ? (?:?) Message 4 + INFO T2 [main] ? (?:?) Message 5 + WARN T2 [main] ? (?:?) Message 6 +LETHAL T2 [main] ? (?:?) Message 7 +DEBUG T2 [main] ? (?:?) Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test2(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR T2 [main] ? (?:?) Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test2(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.3 b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.3 new file mode 100644 index 00000000000..de184bbd8c5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.3 @@ -0,0 +1,31 @@ +TRACE T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:XXX) Message 1 +TRACE T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:XXX) Message 2 +DEBUG T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:XXX) Message 3 +DEBUG T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:XXX) Message 4 + INFO T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:XXX) Message 5 + WARN T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:XXX) Message 6 +LETHAL T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:XXX) Message 7 +DEBUG T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:XXX) Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test3(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR T3 [main] org.apache.log4j.net.SocketServerTestCase (SocketServerTestCase.java:XXX) Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test3(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.4 b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.4 new file mode 100644 index 00000000000..69236688b4b --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.4 @@ -0,0 +1,31 @@ +TRACE some T4 MDC-TEST4 [main] SocketServerTestCase - Message 1 +TRACE some T4 MDC-TEST4 [main] root - Message 2 +DEBUG some T4 MDC-TEST4 [main] SocketServerTestCase - Message 3 +DEBUG some T4 MDC-TEST4 [main] root - Message 4 + INFO some T4 MDC-TEST4 [main] SocketServerTestCase - Message 5 + WARN some T4 MDC-TEST4 [main] SocketServerTestCase - Message 6 +LETHAL some T4 MDC-TEST4 [main] SocketServerTestCase - Message 7 +DEBUG some T4 MDC-TEST4 [main] SocketServerTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test4(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR some T4 MDC-TEST4 [main] root - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test4(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.5 b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.5 new file mode 100644 index 00000000000..cde6de71529 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.5 @@ -0,0 +1,31 @@ +TRACE some5 T5 MDC-TEST5 [main] SocketServerTestCase - Message 1 +TRACE some5 T5 MDC-TEST5 [main] root - Message 2 +DEBUG some5 T5 MDC-TEST5 [main] SocketServerTestCase - Message 3 +DEBUG some5 T5 MDC-TEST5 [main] root - Message 4 + INFO some5 T5 MDC-TEST5 [main] SocketServerTestCase - Message 5 + WARN some5 T5 MDC-TEST5 [main] SocketServerTestCase - Message 6 +LETHAL some5 T5 MDC-TEST5 [main] SocketServerTestCase - Message 7 +DEBUG some5 T5 MDC-TEST5 [main] SocketServerTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test5(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR some5 T5 MDC-TEST5 [main] root - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test5(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.6 b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.6 new file mode 100644 index 00000000000..ae9a6860404 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.6 @@ -0,0 +1,31 @@ +TRACE some6 T6 client-test6 MDC-TEST6 [main] SocketServerTestCase - Message 1 +TRACE some6 T6 client-test6 MDC-TEST6 [main] root - Message 2 +DEBUG some6 T6 client-test6 MDC-TEST6 [main] SocketServerTestCase - Message 3 +DEBUG some6 T6 client-test6 MDC-TEST6 [main] root - Message 4 + INFO some6 T6 client-test6 MDC-TEST6 [main] SocketServerTestCase - Message 5 + WARN some6 T6 client-test6 MDC-TEST6 [main] SocketServerTestCase - Message 6 +LETHAL some6 T6 client-test6 MDC-TEST6 [main] SocketServerTestCase - Message 7 +DEBUG some6 T6 client-test6 MDC-TEST6 [main] SocketServerTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test6(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR some6 T6 client-test6 MDC-TEST6 [main] root - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test6(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.7 b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.7 new file mode 100644 index 00000000000..3ea7428cbd4 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.7 @@ -0,0 +1,31 @@ +TRACE some7 T7 client-test7 MDC-TEST7 [main] SocketServerTestCase - Message 1 +TRACE some7 T7 client-test7 MDC-TEST7 [main] root - Message 2 +DEBUG some7 T7 client-test7 MDC-TEST7 [main] SocketServerTestCase - Message 3 +DEBUG some7 T7 client-test7 MDC-TEST7 [main] root - Message 4 + INFO some7 T7 client-test7 MDC-TEST7 [main] SocketServerTestCase - Message 5 + WARN some7 T7 client-test7 MDC-TEST7 [main] SocketServerTestCase - Message 6 +LETHAL some7 T7 client-test7 MDC-TEST7 [main] SocketServerTestCase - Message 7 +DEBUG some7 T7 client-test7 MDC-TEST7 [main] SocketServerTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test7(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR some7 T7 client-test7 MDC-TEST7 [main] root - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test7(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.8 b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.8 new file mode 100644 index 00000000000..c317ac7aca0 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/socketServer.8 @@ -0,0 +1,31 @@ +TRACE some8 T8 shortSocketServer MDC-TEST8 [main] SocketServerTestCase - Message 1 +TRACE some8 T8 shortSocketServer MDC-TEST8 [main] root - Message 2 +DEBUG some8 T8 shortSocketServer MDC-TEST8 [main] SocketServerTestCase - Message 3 +DEBUG some8 T8 shortSocketServer MDC-TEST8 [main] root - Message 4 + INFO some8 T8 shortSocketServer MDC-TEST8 [main] SocketServerTestCase - Message 5 + WARN some8 T8 shortSocketServer MDC-TEST8 [main] SocketServerTestCase - Message 6 +LETHAL some8 T8 shortSocketServer MDC-TEST8 [main] SocketServerTestCase - Message 7 +DEBUG some8 T8 shortSocketServer MDC-TEST8 [main] SocketServerTestCase - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test8(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +ERROR some8 T8 shortSocketServer MDC-TEST8 [main] root - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX) + at org.apache.log4j.net.SocketServerTestCase.test8(SocketServerTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/ttcc b/thirdparty/apache-log4j-1.2.16/tests/witness/ttcc new file mode 100644 index 00000000000..43b7394cd34 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/ttcc @@ -0,0 +1,42 @@ + [main] FATAL ERR - Message 0 + [main] ERROR ERR - Message 1 + [main] FATAL INF - Message 2 + [main] ERROR INF - Message 3 + [main] WARN INF - Message 4 + [main] INFO INF - Message 5 + [main] FATAL INF.UNDEF - Message 6 + [main] ERROR INF.UNDEF - Message 7 + [main] WARN INF.UNDEF - Message 8 + [main] INFO INF.UNDEF - Message 9 + [main] FATAL INF.ERR - Message 10 + [main] ERROR INF.ERR - Message 11 + [main] FATAL INF.ERR.UNDEF - Message 12 + [main] ERROR INF.ERR.UNDEF - Message 13 + [main] FATAL DEB - Message 14 + [main] ERROR DEB - Message 15 + [main] WARN DEB - Message 16 + [main] INFO DEB - Message 17 + [main] DEBUG DEB - Message 18 + [main] FATAL TRC - Message 19 + [main] ERROR TRC - Message 20 + [main] WARN TRC - Message 21 + [main] INFO TRC - Message 22 + [main] DEBUG TRC - Message 23 + [main] TRACE TRC - Message 24 + [main] FATAL UNDEF - Message 25 + [main] ERROR UNDEF - Message 26 + [main] WARN UNDEF - Message 27 + [main] INFO UNDEF - Message 28 + [main] DEBUG UNDEF - Message 29 +java.lang.Exception: Just testing. + at org.apache.log4j.MinimumTestCase.common(MinimumTestCase.java:XXX) + at org.apache.log4j.MinimumTestCase.ttcc(MinimumTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) + [main] INFO INF - Messages should bear numbers 0 through 29. diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.1 new file mode 100644 index 00000000000..80e596846b6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.1 @@ -0,0 +1,116 @@ +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase$X" timestamp="XXX" level="INFO" thread="main"> +<log4j:message><![CDATA[in X() constructor]]></log4j:message> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="TRACE" thread="main"> +<log4j:message><![CDATA[Message 0]]></log4j:message> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="TRACE" thread="main"> +<log4j:message><![CDATA[Message 0]]></log4j:message> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Message 1]]></log4j:message> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Message 1]]></log4j:message> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="INFO" thread="main"> +<log4j:message><![CDATA[Message 2]]></log4j:message> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="INFO" thread="main"> +<log4j:message><![CDATA[Message 2]]></log4j:message> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="WARN" thread="main"> +<log4j:message><![CDATA[Message 3]]></log4j:message> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="WARN" thread="main"> +<log4j:message><![CDATA[Message 3]]></log4j:message> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="ERROR" thread="main"> +<log4j:message><![CDATA[Message 4]]></log4j:message> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="ERROR" thread="main"> +<log4j:message><![CDATA[Message 4]]></log4j:message> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="FATAL" thread="main"> +<log4j:message><![CDATA[Message 5]]></log4j:message> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="FATAL" thread="main"> +<log4j:message><![CDATA[Message 5]]></log4j:message> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Message 6]]></log4j:message> +<log4j:throwable><![CDATA[java.lang.Exception: Just testing + at org.apache.log4j.xml.XMLLayoutTestCase.common(XMLLayoutTestCase.java:XXX) + at org.apache.log4j.xml.XMLLayoutTestCase.basic(XMLLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +]]></log4j:throwable> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Message 6]]></log4j:message> +<log4j:throwable><![CDATA[java.lang.Exception: Just testing + at org.apache.log4j.xml.XMLLayoutTestCase.common(XMLLayoutTestCase.java:XXX) + at org.apache.log4j.xml.XMLLayoutTestCase.basic(XMLLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +]]></log4j:throwable> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="ERROR" thread="main"> +<log4j:message><![CDATA[Message 7]]></log4j:message> +<log4j:throwable><![CDATA[java.lang.Exception: Just testing + at org.apache.log4j.xml.XMLLayoutTestCase.common(XMLLayoutTestCase.java:XXX) + at org.apache.log4j.xml.XMLLayoutTestCase.basic(XMLLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +]]></log4j:throwable> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="ERROR" thread="main"> +<log4j:message><![CDATA[Message 7]]></log4j:message> +<log4j:throwable><![CDATA[java.lang.Exception: Just testing + at org.apache.log4j.xml.XMLLayoutTestCase.common(XMLLayoutTestCase.java:XXX) + at org.apache.log4j.xml.XMLLayoutTestCase.basic(XMLLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +]]></log4j:throwable> +</log4j:event> + diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.2 b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.2 new file mode 100644 index 00000000000..a3e094b1ca5 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.2 @@ -0,0 +1,133 @@ +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase$X" timestamp="XXX" level="INFO" thread="main"> +<log4j:message><![CDATA[in X() constructor]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase$X" method="&lt;init&gt;" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="TRACE" thread="main"> +<log4j:message><![CDATA[Message 0]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="TRACE" thread="main"> +<log4j:message><![CDATA[Message 0]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Message 1]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Message 1]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="INFO" thread="main"> +<log4j:message><![CDATA[Message 2]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="INFO" thread="main"> +<log4j:message><![CDATA[Message 2]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="WARN" thread="main"> +<log4j:message><![CDATA[Message 3]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="WARN" thread="main"> +<log4j:message><![CDATA[Message 3]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="ERROR" thread="main"> +<log4j:message><![CDATA[Message 4]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="ERROR" thread="main"> +<log4j:message><![CDATA[Message 4]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="FATAL" thread="main"> +<log4j:message><![CDATA[Message 5]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="FATAL" thread="main"> +<log4j:message><![CDATA[Message 5]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Message 6]]></log4j:message> +<log4j:throwable><![CDATA[java.lang.Exception: Just testing + at org.apache.log4j.xml.XMLLayoutTestCase.common(XMLLayoutTestCase.java:XXX) + at org.apache.log4j.xml.XMLLayoutTestCase.locationInfo(XMLLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +]]></log4j:throwable> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Message 6]]></log4j:message> +<log4j:throwable><![CDATA[java.lang.Exception: Just testing + at org.apache.log4j.xml.XMLLayoutTestCase.common(XMLLayoutTestCase.java:XXX) + at org.apache.log4j.xml.XMLLayoutTestCase.locationInfo(XMLLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +]]></log4j:throwable> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="ERROR" thread="main"> +<log4j:message><![CDATA[Message 7]]></log4j:message> +<log4j:throwable><![CDATA[java.lang.Exception: Just testing + at org.apache.log4j.xml.XMLLayoutTestCase.common(XMLLayoutTestCase.java:XXX) + at org.apache.log4j.xml.XMLLayoutTestCase.locationInfo(XMLLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +]]></log4j:throwable> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="root" timestamp="XXX" level="ERROR" thread="main"> +<log4j:message><![CDATA[Message 7]]></log4j:message> +<log4j:throwable><![CDATA[java.lang.Exception: Just testing + at org.apache.log4j.xml.XMLLayoutTestCase.common(XMLLayoutTestCase.java:XXX) + at org.apache.log4j.xml.XMLLayoutTestCase.locationInfo(XMLLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +]]></log4j:throwable> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.3 b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.3 new file mode 100644 index 00000000000..2fa705f773d --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.3 @@ -0,0 +1,10 @@ +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="TRACE" thread="main"> +<log4j:message><![CDATA[Message with embedded <![CDATA[<hello>hi</hello>]]>]]&gt;<![CDATA[.]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="testCDATA" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Message with embedded <![CDATA[<hello>hi</hello>]]>]]&gt;<![CDATA[.]]></log4j:message> +<log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="testCDATA" file="XMLLayoutTestCase.java" line="X"/> +</log4j:event> + diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.mdc.1 b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.mdc.1 new file mode 100644 index 00000000000..2dfe4ef8f71 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.mdc.1 @@ -0,0 +1,8 @@ +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Hello]]></log4j:message> +<log4j:properties> +<log4j:data name="key1" value="val1"/> +<log4j:data name="key2" value="val2"/> +</log4j:properties> +</log4j:event> + diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.mdc.2 b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.mdc.2 new file mode 100644 index 00000000000..d382c4c43f6 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.mdc.2 @@ -0,0 +1,8 @@ +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[Hello]]></log4j:message> +<log4j:properties> +<log4j:data name="&lt;blahKey value='blah'/&gt;" value="blahValue"/> +<log4j:data name="blahAttribute" value="&lt;blah value='blah'&gt;"/> +</log4j:properties> +</log4j:event> + diff --git a/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.null b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.null new file mode 100644 index 00000000000..0ebcb33cd05 --- /dev/null +++ b/thirdparty/apache-log4j-1.2.16/tests/witness/xmlLayout.null @@ -0,0 +1,23 @@ +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[hi]]></log4j:message> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[]]></log4j:message> +</log4j:event> + +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main"> +<log4j:message><![CDATA[hi]]></log4j:message> +<log4j:throwable><![CDATA[java.lang.Exception + at org.apache.log4j.xml.XMLLayoutTestCase.testNull(XMLLayoutTestCase.java:XXX) + at junit.framework.TestCase.runTest(TestCase.java:XXX) + at junit.framework.TestCase.runBare(TestCase.java:XXX) + at junit.framework.TestResult$1.protect(TestResult.java:XXX) + at junit.framework.TestResult.runProtected(TestResult.java:XXX) + at junit.framework.TestResult.run(TestResult.java:XXX) + at junit.framework.TestCase.run(TestCase.java:XXX) + at junit.framework.TestSuite.runTest(TestSuite.java:XXX) + at junit.framework.TestSuite.run(TestSuite.java:XXX) +]]></log4j:throwable> +</log4j:event> + diff --git a/thirdparty/apache-log4j-extras-1.0.jar b/thirdparty/apache-log4j-extras-1.0.jar deleted file mode 100644 index c2a866db405678a836847222d93a230a1a0c812d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153863 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%0D66f>KUENH43FG28AOVz+wJlQ=hKr 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 diff --git a/thirdparty/apache-log4j-extras-1.0/apache-log4j-extras-1.0.jar b/thirdparty/apache-log4j-extras-1.0/apache-log4j-extras-1.0.jar deleted file mode 100644 index c2a866db405678a836847222d93a230a1a0c812d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153863 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%0D66f>KUENH43FG28AOVz+wJlQ=hKr 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 diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/options b/thirdparty/apache-log4j-extras-1.0/site/apidocs/options deleted file mode 100644 index 2ad6d54762f..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/options +++ /dev/null @@ -1,16 +0,0 @@ --classpath '/home/ubuntu/apache-log4j-extras_rc5/target/checkout/target/classes:/home/ubuntu/.m2/repository/log4j/log4j/1.2.9/log4j-1.2.9.jar' -protected --sourcepath -'/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java' --author --bottom -'Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.' --charset -'ISO-8859-1' --d -'/home/ubuntu/apache-log4j-extras_rc5/target/checkout/target/site/apidocs' --doctitle -'Apache Extras Companion for log4j 1.2. 1.0 API' --use --version --windowtitle -'Apache Extras Companion for log4j 1.2. 1.0 API' \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/changes-report.html b/thirdparty/apache-log4j-extras-1.0/site/changes-report.html deleted file mode 100644 index 41dcb428288..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/changes-report.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - </title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <strong>Changes</strong> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <h2><a name="Changes Report"></a>Changes Report</h2><h3><a name="Release History"></a>Release History</h3><table class="bodyTable"><tr class="a"><th>Version</th><th>Date</th><th>Description</th></tr><tr class="b"><td><a href="#1.0">1.0</a></td><td>2007-08-25</td><td>Initial release</td></tr></table><br /><br /><h3><a name="1.0"></a>Release 1.0 - 2007-08-25</h3><table class="bodyTable"><tr class="a"><th>Type</th><th>Changes</th><th>By</th></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>Create an "extras" companion for log4j 1.2 Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42783">42783<img src="images/external.png" /></a>.</td><td><a href="team-list.html#null"></a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>Backport log4j 1.3 rolling file appender for use with log4j 1.2. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42251">42251<img src="images/external.png" /></a>.</td><td><a href="team-list.html#null"></a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>ExpressionFilter backport. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42099">42099<img src="images/external.png" /></a>.</td><td><a href="team-list.html#null"></a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>Add TimeFilter. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43151">43151<img src="images/external.png" /></a>.</td><td><a href="team-list.html#null"></a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>Add XSLTLayout. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43077">43077<img src="images/external.png" /></a>.</td><td><a href="team-list.html#null"></a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>Parameterized logging for log4j 1.2. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42589">42589<img src="images/external.png" /></a>.</td><td><a href="team-list.html#null"></a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>FilterBasedTriggeringPolicy now usable with SMTPAppender. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32572">32572<img src="images/external.png" /></a>.</td><td><a href="team-list.html#null"></a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>Avoid Turkish-i problem in ExpressionFilter. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40937">40937<img src="images/external.png" /></a>.</td><td><a href="team-list.html#null"></a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>Enhance DOMConfigurator to delegate unrecognized elements to created objects. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42257">42257<img src="images/external.png" /></a>.</td><td><a href="team-list.html#null"></a></td></tr></table> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/dependencies.html b/thirdparty/apache-log4j-extras-1.0/site/dependencies.html deleted file mode 100644 index 9ee34fc9d84..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/dependencies.html +++ /dev/null @@ -1,212 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - Project Dependencies</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <strong>Dependencies</strong> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>Project Dependencies</h2><div class="section"><h3>compile</h3><p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p><table class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Classifier</th><th>Type</th><th>Optional</th></tr><tr class="b"><td>log4j</td><td>log4j</td><td>1.2.9</td><td>-</td><td>jar</td><td> </td></tr></table></div><div class="section"><h3>test</h3><p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p><table class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Classifier</th><th>Type</th><th>Optional</th></tr><tr class="b"><td>junit</td><td>junit</td><td>3.8.1</td><td>-</td><td>jar</td><td> </td></tr></table></div></div><div class="section"><h2>Project Transitive Dependencies</h2><p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p></div><div class="section"><h2>Project Dependency Graph</h2><div class="section"><h3>Dependency Tree</h3><p><ul><li><a href="#log4j:apache-log4j-extras:jar">log4j:apache-log4j-extras:jar</a><ul><li><a href="#junit:junit:jar">junit:junit:jar</a></li><li><a href="#log4j:log4j:jar">log4j:log4j:jar</a></li></ul></li></ul></p></div><div class="section"><h3>Dependency Listings</h3><p><a name="log4j:apache-log4j-extras:jar"><b>Apache Extras Companion for log4j 1.2.</b></a></p><p>This companion provides additional appenders, filters and - other capabilities for log4j 1.2. Several of these were backported from - the abandoned log4j 1.3 development effort.</p><p><a href="http://logging.apache.org:80/log4j/companions/extras">http://logging.apache.org:80/log4j/companions/extras</a></p><p><a name="junit:junit:jar"><b>JUnit</b></a></p><p>JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.</p><p><a href="http://junit.org">http://junit.org</a></p><p><a name="log4j:log4j:jar"><b>Unnamed - log4j:log4j:jar:1.2.9</b></a></p></div></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/download.html b/thirdparty/apache-log4j-extras-1.0/site/download.html deleted file mode 100644 index 36fdc2a0c1d..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/download.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - Download apache-log4j-extras</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <strong>Download</strong> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>Download apache-log4j-extras</h2><p>Apache Extras Companion for log4j 1.2 is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html"> Apache License, version 2.0</a>.</p><p>The link in the Mirrors column should display a list of available mirrors with a default selection based on your inferred location. If you do not see that page, try a different browser. The checksum and signature are links to the originals on the main distribution server.</p><table class="bodyTable"><tbody><tr class="a"><td align="left"></td><td align="left">Mirrors</td><td align="left">Checksum</td><td align="left">Signature</td></tr><tr class="b"><td align="left">apache-log4j-extras-1.0 (tar.gz)</td><td align="left"><a href="http://www.apache.org/dyn/closer.cgi/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.tar.gz"> apache-log4j-extras-1.0.tar.gz</a></td><td align="left"><a href="http://www.apache.org/dist/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.tar.gz.md5"> apache-log4j-extras-1.0.tar.gz.md5</a></td><td align="left"><a href="http://www.apache.org/dist/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.tar.gz.asc"> apache-log4j-extras-1.0.tar.gz.asc</a></td></tr><tr class="a"><td align="left">apache-log4j-extras-1.0 (zip)</td><td align="left"><a href="http://www.apache.org/dyn/closer.cgi/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.zip"> apache-log4j-extras-1.0.zip</a></td><td align="left"><a href="http://www.apache.org/dist/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.zip.md5"> apache-log4j-extras-1.0.zip.md5</a></td><td align="left"><a href="http://www.apache.org/dist/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.zip.asc"> apache-log4j-extras-1.0.zip.asc</a></td></tr></tbody></table><p>Please read <a href="http://httpd.apache.org/dev/verification.html">Verifying Apache HTTP Server Releases</a> for more information on why you should verify our releases.</p></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/images/logos/maven-feather.png b/thirdparty/apache-log4j-extras-1.0/site/images/logos/maven-feather.png deleted file mode 100644 index 5beac166dd79c5872b6ad3c3c8826781b74ef564..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2907 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 FV1gT<hGYN$ diff --git a/thirdparty/apache-log4j-extras-1.0/site/index.html b/thirdparty/apache-log4j-extras-1.0/site/index.html deleted file mode 100644 index b293e7f88e9..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/index.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - Apache Extras Companion for log4j 1.2</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <strong>What is it?</strong> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <p>This companion provides additional appenders, filters, formatters and other components for log4j 1.2. These components have been built against log4j 1.2.9, but will work with any later 1.2 release and are likely to work with 1.2.8 and some earlier releases.</p><p>Many of these components were original developed in the discontinued log4j 1.3 development effort.</p> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/integration.html b/thirdparty/apache-log4j-extras-1.0/site/integration.html deleted file mode 100644 index 780073f8555..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/integration.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - Continuous Integration</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <strong>Continuous Integration</strong> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>Overview</h2>This project uses Continuous Integration System.</div><div class="section"><h2>Access</h2><p>The following is a link to the continuous integration system used by the project.</p><div class="source"><pre><a href="http://vmgump.apache.org/gump/public/logging-log4j-extras/logging-log4j-extras/index.html">http://vmgump.apache.org/gump/public/logging-log4j-extras/logging-log4j-extras/index.html</a></pre></div></div><div class="section"><h2>Notifiers</h2><p>No notifiers is defined. Please check back at a later date.</p></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/issue-tracking.html b/thirdparty/apache-log4j-extras-1.0/site/issue-tracking.html deleted file mode 100644 index f7b06a2889b..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/issue-tracking.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - Issue Tracking</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <strong>Issue Tracking</strong> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>Overview</h2>This project uses <a href="http://www.bugzilla.org/">Bugzilla</a>.</div><div class="section"><h2>Issue Tracking</h2><p>Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.</p><div class="source"><pre><a href="http://issues.apache.org/bugzilla/">http://issues.apache.org/bugzilla/</a></pre></div></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/jxr.html b/thirdparty/apache-log4j-extras-1.0/site/jxr.html deleted file mode 100644 index f1e12dfaa30..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/jxr.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - Source Xref report</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <strong>Cross Reference</strong> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>Cross-reference Java source code</h2><p>This report includes a cross-reference of the project's sources. Each source entry is also linked with its corresponding Javadoc (if Javadoc was generated).</p><div class="section"><h3>Project sources</h3><p>The cross-reference project sources can be found here: <a href="xref/index.html">xref/index.html</a></p></div><div class="section"><h3>Test sources</h3><p>The cross-reference test sources can be found here: <a href="xref-test/index.html">xref-test/index.html</a></p></div></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/mail-lists.html b/thirdparty/apache-log4j-extras-1.0/site/mail-lists.html deleted file mode 100644 index ad765d152f8..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/mail-lists.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - Project Mailing Lists</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <strong>Mailing Lists</strong> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>Project Mailing Lists</h2><p>These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.</p><table class="bodyTable"><tr class="a"><th>Name</th><th>Subscribe</th><th>Unsubscribe</th><th>Post</th><th>Archive</th><th>Other Archives</th></tr><tr class="b"><td>log4j-user</td><td><a href="mailto:log4j-user-subscribe@logging.apache.org">Subscribe</a></td><td><a href="mailto:log4j-user-unsubscribe@logging.apache.org">Unsubscribe</a></td><td><a href="mailto:log4j-user@logging.apache.org">Post</a></td><td><a href="http://mail-archives.apache.org/mod_mbox/logging-log4j-user/">mail-archives.apache.org</a></td><td><a href="http://marc.theaimsgroup.com/?l=log4j-user&r=1&w=2">marc.theaimsgroup.com</a></td></tr><tr class="a"><td> </td><td> </td><td> </td><td> </td><td> </td><td><a href="http://dir.gmane.org/gmane.comp.jakarta.log4j.user">dir.gmane.org</a></td></tr><tr class="b"><td>log4j-dev</td><td><a href="mailto:log4j-dev-subscribe@logging.apache.org">Subscribe</a></td><td><a href="mailto:log4j-dev-unsubscribe@logging.apache.org">Unsubscribe</a></td><td><a href="mailto:log4j-dev@logging.apache.org">Post</a></td><td><a href="http://mail-archives.apache.org/mod_mbox/logging-log4j-dev/">mail-archives.apache.org</a></td><td><a href="http://marc.theaimsgroup.com/?l=log4j-dev&r=1&w=2">marc.theaimsgroup.com</a></td></tr><tr class="a"><td> </td><td> </td><td> </td><td> </td><td> </td><td><a href="http://dir.gmane.org/gmane.comp.jakarta.log4j.devel">dir.gmane.org</a></td></tr></table></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/pmd.html b/thirdparty/apache-log4j-extras-1.0/site/pmd.html deleted file mode 100644 index f62a5050c23..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/pmd.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - PMD Results</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <strong>PMD</strong> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>PMD Results</h2><p>The following document contains the results of <a href="http://pmd.sourceforge.net/">PMD</a> 3.9.</p></div><div class="section"><h2>Files</h2><div class="section"><h3>org/apache/log4j/extras/DOMConfigurator.java</h3><table class="bodyTable"><tr class="a"><th>Violation</th><th>Line</th></tr><tr class="b"><td>These nested if statements could be combined</td><td><a href="./xref/org/apache/log4j/extras/DOMConfigurator.html#846">846</a> - <a href="./xref/org/apache/log4j/extras/DOMConfigurator.html#848">848</a></td></tr></table></div><div class="section"><h3>org/apache/log4j/helpers/MDCKeySetExtractor.java</h3><table class="bodyTable"><tr class="a"><th>Violation</th><th>Line</th></tr><tr class="b"><td>Avoid unused imports such as 'java.lang.reflect.InvocationTargetException'</td><td><a href="./xref/org/apache/log4j/helpers/MDCKeySetExtractor.html#23">23</a></td></tr></table></div><div class="section"><h3>org/apache/log4j/pattern/PropertiesPatternConverter.java</h3><table class="bodyTable"><tr class="a"><th>Violation</th><th>Line</th></tr><tr class="b"><td>Avoid unused imports such as 'java.io.ByteArrayInputStream'</td><td><a href="./xref/org/apache/log4j/pattern/PropertiesPatternConverter.html#22">22</a></td></tr><tr class="a"><td>Avoid unused imports such as 'java.io.ByteArrayOutputStream'</td><td><a href="./xref/org/apache/log4j/pattern/PropertiesPatternConverter.html#23">23</a></td></tr><tr class="b"><td>Avoid unused imports such as 'java.io.ObjectInputStream'</td><td><a href="./xref/org/apache/log4j/pattern/PropertiesPatternConverter.html#24">24</a></td></tr><tr class="a"><td>Avoid unused imports such as 'java.io.ObjectOutputStream'</td><td><a href="./xref/org/apache/log4j/pattern/PropertiesPatternConverter.html#25">25</a></td></tr></table></div><div class="section"><h3>org/apache/log4j/rule/RuleFactory.java</h3><table class="bodyTable"><tr class="b"><th>Violation</th><th>Line</th></tr><tr class="a"><td>Avoid unused imports such as 'java.lang.reflect.InvocationTargetException'</td><td><a href="./xref/org/apache/log4j/rule/RuleFactory.html#20">20</a></td></tr><tr class="b"><td>Avoid unused imports such as 'java.lang.reflect.Method'</td><td><a href="./xref/org/apache/log4j/rule/RuleFactory.html#21">21</a></td></tr><tr class="a"><td>Avoid unused imports such as 'org.apache.log4j.LogManager'</td><td><a href="./xref/org/apache/log4j/rule/RuleFactory.html#25">25</a></td></tr></table></div></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/pmd.xml b/thirdparty/apache-log4j-extras-1.0/site/pmd.xml deleted file mode 100644 index 4c70f5aa9f3..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/pmd.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<pmd version="3.9" timestamp="2007-08-25T10:15:01.201" elapsedTime="0s"> -<file name="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/extras/DOMConfigurator.java"> -<violation line="846" rule="CollapsibleIfStatements" ruleset="Basic Rules" package="org.apache.log4j.extras" class="DOMConfigurator" method="parse" externalInfoUrl="http://pmd.sourceforge.net/rules/basic.html#CollapsibleIfStatements" priority="3"> -These nested if statements could be combined -</violation> -</file> -<file name="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java"> -<violation line="23" rule="UnusedImports" ruleset="Import Statement Rules" package="org.apache.log4j.helpers" externalInfoUrl="http://pmd.sourceforge.net/rules/imports.html#UnusedImports" priority="4"> -Avoid unused imports such as 'java.lang.reflect.InvocationTargetException' -</violation> -</file> -<file name="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java"> -<violation line="22" rule="UnusedImports" ruleset="Import Statement Rules" package="org.apache.log4j.pattern" externalInfoUrl="http://pmd.sourceforge.net/rules/imports.html#UnusedImports" priority="4"> -Avoid unused imports such as 'java.io.ByteArrayInputStream' -</violation> -<violation line="23" rule="UnusedImports" ruleset="Import Statement Rules" package="org.apache.log4j.pattern" externalInfoUrl="http://pmd.sourceforge.net/rules/imports.html#UnusedImports" priority="4"> -Avoid unused imports such as 'java.io.ByteArrayOutputStream' -</violation> -<violation line="24" rule="UnusedImports" ruleset="Import Statement Rules" package="org.apache.log4j.pattern" externalInfoUrl="http://pmd.sourceforge.net/rules/imports.html#UnusedImports" priority="4"> -Avoid unused imports such as 'java.io.ObjectInputStream' -</violation> -<violation line="25" rule="UnusedImports" ruleset="Import Statement Rules" package="org.apache.log4j.pattern" externalInfoUrl="http://pmd.sourceforge.net/rules/imports.html#UnusedImports" priority="4"> -Avoid unused imports such as 'java.io.ObjectOutputStream' -</violation> -</file> -<file name="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/rule/RuleFactory.java"> -<violation line="20" rule="UnusedImports" ruleset="Import Statement Rules" package="org.apache.log4j.rule" externalInfoUrl="http://pmd.sourceforge.net/rules/imports.html#UnusedImports" priority="4"> -Avoid unused imports such as 'java.lang.reflect.InvocationTargetException' -</violation> -<violation line="21" rule="UnusedImports" ruleset="Import Statement Rules" package="org.apache.log4j.rule" externalInfoUrl="http://pmd.sourceforge.net/rules/imports.html#UnusedImports" priority="4"> -Avoid unused imports such as 'java.lang.reflect.Method' -</violation> -<violation line="25" rule="UnusedImports" ruleset="Import Statement Rules" package="org.apache.log4j.rule" externalInfoUrl="http://pmd.sourceforge.net/rules/imports.html#UnusedImports" priority="4"> -Avoid unused imports such as 'org.apache.log4j.LogManager' -</violation> -</file> -</pmd> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/project-info.html b/thirdparty/apache-log4j-extras-1.0/site/project-info.html deleted file mode 100644 index 8bd75295055..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/project-info.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - Project Information</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>Project Information</h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview</h3><table class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="dependencies.html">Dependencies</a></td><td>This document lists the projects dependencies and provides information on each dependency.</td></tr><tr class="a"><td><a href="integration.html">Continuous Integration</a></td><td>This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.</td></tr><tr class="b"><td><a href="mail-lists.html">Mailing Lists</a></td><td>This document provides subscription and archive information for this project's mailing lists.</td></tr><tr class="a"><td><a href="issue-tracking.html">Issue Tracking</a></td><td>This is a link to the issue management system for this project. Issues (bugs, features, change requests) can be created and queried using this link.</td></tr><tr class="b"><td><a href="source-repository.html">Source Repository</a></td><td>This is a link to the online source repository that can be viewed via a web browser.</td></tr><tr class="a"><td><a href="license.html">Project License</a></td><td>This is a link to the definitions of project licenses.</td></tr></table></div></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/project-reports.html b/thirdparty/apache-log4j-extras-1.0/site/project-reports.html deleted file mode 100644 index a39f055dacb..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/project-reports.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - Generated Reports</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>Generated Reports</h2><p>This document provides an overview of the various reports that are automatically generated by <a href="http://maven.apache.org">Maven</a> Each report is briefly described below.</p><div class="section"><h3>Overview</h3><table class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="cpd.html">CPD Report</a></td><td>Duplicate code detection.</td></tr><tr class="a"><td><a href="apidocs/index.html">JavaDocs</a></td><td>JavaDoc API documentation.</td></tr><tr class="b"><td><a href="pmd.html">PMD Report</a></td><td>Verification of coding rules.</td></tr><tr class="a"><td><a href="changes-report.html">Changes Report</a></td><td>Changes Report on Releases of the Project.</td></tr><tr class="b"><td><a href="jxr.html">Source Xref</a></td><td>HTML based, cross-reference version of Java source code.</td></tr></table></div></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/roadmap.html b/thirdparty/apache-log4j-extras-1.0/site/roadmap.html deleted file mode 100644 index c3ea94a1afc..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/roadmap.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - apache-log4j-extras Roadmap</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <strong>Roadmap</strong> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>apache-log4j-extras Roadmap</h2><p>The extras component is open to additional generally useful features that are compatible with the widely deployed log4j 1.2 releases and do not add additional dependencies.</p></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/source-repository.html b/thirdparty/apache-log4j-extras-1.0/site/source-repository.html deleted file mode 100644 index 00432b00502..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/source-repository.html +++ /dev/null @@ -1,213 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - Source Repository</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <strong>Repository</strong> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <a href="cpd.html">Duplication</a> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>Overview</h2>This project uses <a href="http://subversion.tigris.org/">Subversion</a> to manage its source code. Instructions on Subversion use can be found at <a href="http://svnbook.red-bean.com/">http://svnbook.red-bean.com/</a>.</div><div class="section"><h2>Web Access</h2><p>The following is a link to the online source repository.</p><div class="source"><pre><a href="http://svn.apache.org/viewcvs.cgi/logging/log4j/companions/extras/trunk class="section"><h2>Anonymous access</h2><p>The source can be checked out anonymously from SVN with this command:</p><div class="source"><pre>$ svn checkout http://svn.apache.org/repos/asf/logging/log4j/companions/extras/trunk apache-log4j-extras</pre></div></div><div class="section"><h2>Developer access</h2><p>Everyone can access the Subversion repository via HTTPS, but Committers must checkout the Subversion repository via HTTPS.</p><div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/logging/log4j/companions/extras/trunk apache-log4j-extras</pre></div><p>To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password)</p><div class="source"><pre>$ svn commit --username your-username -m &quot;A message&quot;</pre></div></div><div class="section"><h2>Access from behind a firewall</h2><p>For those users who are stuck behind a corporate firewall which is blocking http access to the Subversion repository, you can try to access it via the developer connection:</p><div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/logging/log4j/companions/extras/trunk apache-log4j-extras</pre></div></div><div class="section"><h2>Access through a proxy</h2><p>The Subversion client can go through a proxy, if you configure it to do so. First, edit your &quot;servers&quot; configuration file to indicate which proxy to use. The files location depends on your operating system. On Linux or Unix it is located in the directory &quot;~/.subversion&quot;. On Windows it is in &quot;%APPDATA%\Subversion&quot;. (Try &quot;echo %APPDATA%&quot;, note this is a hidden directory.)</p><p>There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.</p><p>Example : Edit the 'servers' file and add something like :</p><div class="source"><pre>[global] -http-proxy-host = your.proxy.name -http-proxy-port = 3128 -</pre></div></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/PatternLayoutTest.html b/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/PatternLayoutTest.html deleted file mode 100644 index 7319b7ae8e0..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/PatternLayoutTest.html +++ /dev/null @@ -1,157 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PatternLayoutTest xref</title> -<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/PatternLayoutTest.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <em>/**<em>*</em></em> -<a name="24" href="#24">24</a> <em> * Test for EnhancedPatternLayout.</em> -<a name="25" href="#25">25</a> <em> *</em> -<a name="26" href="#26">26</a> <em> * @author Curt Arnold</em> -<a name="27" href="#27">27</a> <em> */</em> -<a name="28" href="#28">28</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/PatternLayoutTest.html">PatternLayoutTest</a> <strong>extends</strong> <a href="../../../org/apache/log4j/LayoutTest.html">LayoutTest</a> { -<a name="29" href="#29">29</a> <em>/**<em>*</em></em> -<a name="30" href="#30">30</a> <em> * Construct new instance of PatternLayoutTest.</em> -<a name="31" href="#31">31</a> <em> *</em> -<a name="32" href="#32">32</a> <em> * @param testName test name.</em> -<a name="33" href="#33">33</a> <em> */</em> -<a name="34" href="#34">34</a> <strong>public</strong> <a href="../../../org/apache/log4j/PatternLayoutTest.html">PatternLayoutTest</a>(<strong>final</strong> String testName) { -<a name="35" href="#35">35</a> <strong>super</strong>(testName, <span class="string">"text/plain"</span>, <strong>true</strong>, <strong>null</strong>, <strong>null</strong>); -<a name="36" href="#36">36</a> } -<a name="37" href="#37">37</a> -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * @{inheritDoc}</em> -<a name="40" href="#40">40</a> <em> */</em> -<a name="41" href="#41">41</a> <strong>protected</strong> Layout createLayout() { -<a name="42" href="#42">42</a> <strong>return</strong> <strong>new</strong> EnhancedPatternLayout(<span class="string">"[%t] %p %c - %m%n"</span>); -<a name="43" href="#43">43</a> } -<a name="44" href="#44">44</a> -<a name="45" href="#45">45</a> <em>/**<em>*</em></em> -<a name="46" href="#46">46</a> <em> * Tests format.</em> -<a name="47" href="#47">47</a> <em> */</em> -<a name="48" href="#48">48</a> <strong>public</strong> <strong>void</strong> testFormat() { -<a name="49" href="#49">49</a> Logger logger = Logger.getLogger(<span class="string">"org.apache.log4j.LayoutTest"</span>); -<a name="50" href="#50">50</a> LoggingEvent event = -<a name="51" href="#51">51</a> <strong>new</strong> LoggingEvent( -<a name="52" href="#52">52</a> <span class="string">"org.apache.log4j.Logger"</span>, logger, Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); -<a name="53" href="#53">53</a> EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); -<a name="54" href="#54">54</a> String result = layout.format(event); -<a name="55" href="#55">55</a> StringBuffer buf = <strong>new</strong> StringBuffer(100); -<a name="56" href="#56">56</a> buf.append('['); -<a name="57" href="#57">57</a> buf.append(event.getThreadName()); -<a name="58" href="#58">58</a> buf.append(<span class="string">"] "</span>); -<a name="59" href="#59">59</a> buf.append(event.getLevel().toString()); -<a name="60" href="#60">60</a> buf.append(' '); -<a name="61" href="#61">61</a> buf.append(event.getLoggerName()); -<a name="62" href="#62">62</a> buf.append(<span class="string">" - "</span>); -<a name="63" href="#63">63</a> buf.append(event.getMessage()); -<a name="64" href="#64">64</a> buf.append(System.getProperty(<span class="string">"line.separator"</span>)); -<a name="65" href="#65">65</a> assertEquals(buf.toString(), result); -<a name="66" href="#66">66</a> } -<a name="67" href="#67">67</a> -<a name="68" href="#68">68</a> <em>/**<em>*</em></em> -<a name="69" href="#69">69</a> <em> * Tests getPatternFormat().</em> -<a name="70" href="#70">70</a> <em> */</em> -<a name="71" href="#71">71</a> <strong>public</strong> <strong>void</strong> testGetPatternFormat() { -<a name="72" href="#72">72</a> EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); -<a name="73" href="#73">73</a> assertEquals(<span class="string">"[%t] %p %c - %m%n"</span>, layout.getConversionPattern()); -<a name="74" href="#74">74</a> } -<a name="75" href="#75">75</a> -<a name="76" href="#76">76</a> <em>/**<em>*</em></em> -<a name="77" href="#77">77</a> <em> * Tests DEFAULT_CONVERSION_PATTERN constant.</em> -<a name="78" href="#78">78</a> <em> */</em> -<a name="79" href="#79">79</a> <strong>public</strong> <strong>void</strong> testDefaultConversionPattern() { -<a name="80" href="#80">80</a> assertEquals(<span class="string">"%m%n"</span>, EnhancedPatternLayout.DEFAULT_CONVERSION_PATTERN); -<a name="81" href="#81">81</a> } -<a name="82" href="#82">82</a> -<a name="83" href="#83">83</a> <em>/**<em>*</em></em> -<a name="84" href="#84">84</a> <em> * Tests DEFAULT_CONVERSION_PATTERN constant.</em> -<a name="85" href="#85">85</a> <em> */</em> -<a name="86" href="#86">86</a> <strong>public</strong> <strong>void</strong> testTTCCConversionPattern() { -<a name="87" href="#87">87</a> assertEquals( -<a name="88" href="#88">88</a> <span class="string">"%r [%t] %p %c %x - %m%n"</span>, EnhancedPatternLayout.TTCC_CONVERSION_PATTERN); -<a name="89" href="#89">89</a> } -<a name="90" href="#90">90</a> -<a name="91" href="#91">91</a> <em>/**<em>*</em></em> -<a name="92" href="#92">92</a> <em> * Tests buffer downsizing code path.</em> -<a name="93" href="#93">93</a> <em> */</em> -<a name="94" href="#94">94</a> <strong>public</strong> <strong>void</strong> testFormatResize() { -<a name="95" href="#95">95</a> Logger logger = Logger.getLogger(<span class="string">"org.apache.log4j.xml.PatternLayoutTest"</span>); -<a name="96" href="#96">96</a> NDC.clear(); -<a name="97" href="#97">97</a> -<a name="98" href="#98">98</a> <strong>char</strong>[] msg = <strong>new</strong> <strong>char</strong>[2000]; -<a name="99" href="#99">99</a> -<a name="100" href="#100">100</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; msg.length; i++) { -<a name="101" href="#101">101</a> msg[i] = 'A'; -<a name="102" href="#102">102</a> } -<a name="103" href="#103">103</a> -<a name="104" href="#104">104</a> LoggingEvent event1 = -<a name="105" href="#105">105</a> <strong>new</strong> LoggingEvent( -<a name="106" href="#106">106</a> <span class="string">"org.apache.log4j.Logger"</span>, logger, Level.DEBUG, <strong>new</strong> String(msg), <strong>null</strong>); -<a name="107" href="#107">107</a> EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); -<a name="108" href="#108">108</a> String result = layout.format(event1); -<a name="109" href="#109">109</a> LoggingEvent event2 = -<a name="110" href="#110">110</a> <strong>new</strong> LoggingEvent( -<a name="111" href="#111">111</a> <span class="string">"org.apache.log4j.Logger"</span>, logger, Level.WARN, <span class="string">"Hello, World"</span>, <strong>null</strong>); -<a name="112" href="#112">112</a> result = layout.format(event2); -<a name="113" href="#113">113</a> assertEquals(<span class="string">"["</span>, result.substring(0, 1)); -<a name="114" href="#114">114</a> } -<a name="115" href="#115">115</a> -<a name="116" href="#116">116</a> <em>/**<em>*</em></em> -<a name="117" href="#117">117</a> <em> * Class to ensure that protected members are still available.</em> -<a name="118" href="#118">118</a> <em> */</em> -<a name="119" href="#119">119</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> DerivedPatternLayout <strong>extends</strong> EnhancedPatternLayout { -<a name="120" href="#120">120</a> <em>/**<em>*</em></em> -<a name="121" href="#121">121</a> <em> * Constructs a new instance of DerivedPatternLayout.</em> -<a name="122" href="#122">122</a> <em> */</em> -<a name="123" href="#123">123</a> <strong>public</strong> DerivedPatternLayout() { -<a name="124" href="#124">124</a> } -<a name="125" href="#125">125</a> -<a name="126" href="#126">126</a> <em>/**<em>*</em></em> -<a name="127" href="#127">127</a> <em> * Get BUF_SIZE.</em> -<a name="128" href="#128">128</a> <em> * @return return initial buffer size in characters.</em> -<a name="129" href="#129">129</a> <em> * @deprecated</em> -<a name="130" href="#130">130</a> <em> */</em> -<a name="131" href="#131">131</a> <strong>public</strong> <strong>int</strong> getBufSize() { -<a name="132" href="#132">132</a> <strong>return</strong> BUF_SIZE; -<a name="133" href="#133">133</a> } -<a name="134" href="#134">134</a> -<a name="135" href="#135">135</a> <em>/**<em>*</em></em> -<a name="136" href="#136">136</a> <em> * Get MAX_CAPACITY.</em> -<a name="137" href="#137">137</a> <em> * @return maximum capacity in characters.</em> -<a name="138" href="#138">138</a> <em> * @deprecated</em> -<a name="139" href="#139">139</a> <em> */</em> -<a name="140" href="#140">140</a> <strong>public</strong> <strong>int</strong> getMaxCapacity() { -<a name="141" href="#141">141</a> <strong>return</strong> MAX_CAPACITY; -<a name="142" href="#142">142</a> } -<a name="143" href="#143">143</a> } -<a name="144" href="#144">144</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/PatternLayoutTestCase.html b/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/PatternLayoutTestCase.html deleted file mode 100644 index b4e65e4c674..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/PatternLayoutTestCase.html +++ /dev/null @@ -1,537 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PatternLayoutTestCase xref</title> -<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/PatternLayoutTestCase.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> * </em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> * </em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.util.AbsoluteDateAndTimeFilter; -<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.util.AbsoluteTimeFilter; -<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.util.Compare; -<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.ControlFilter; -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.util.Filter; -<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.util.ISO8601Filter; -<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.util.JunitTestRunnerFilter; -<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.util.LineNumberFilter; -<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.util.RelativeTimeFilter; -<a name="30" href="#30">30</a> <strong>import</strong> org.apache.log4j.util.SunReflectFilter; -<a name="31" href="#31">31</a> <strong>import</strong> org.apache.log4j.util.Transformer; -<a name="32" href="#32">32</a> <strong>import</strong> org.apache.log4j.util.MDCOrderFilter; -<a name="33" href="#33">33</a> -<a name="34" href="#34">34</a> <strong>import</strong> java.io.FileReader; -<a name="35" href="#35">35</a> <strong>import</strong> java.text.ParsePosition; -<a name="36" href="#36">36</a> <strong>import</strong> java.text.SimpleDateFormat; -<a name="37" href="#37">37</a> <strong>import</strong> java.util.Date; -<a name="38" href="#38">38</a> <strong>import</strong> java.util.TimeZone; -<a name="39" href="#39">39</a> <strong>import</strong> java.io.*; -<a name="40" href="#40">40</a> <strong>import</strong> java.util.Properties; -<a name="41" href="#41">41</a> -<a name="42" href="#42">42</a> -<a name="43" href="#43">43</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/PatternLayoutTestCase.html">PatternLayoutTestCase</a> <strong>extends</strong> TestCase { -<a name="44" href="#44">44</a> <strong>static</strong> String TEMP = <span class="string">"temp"</span>; -<a name="45" href="#45">45</a> <strong>static</strong> String FILTERED = <span class="string">"filtered"</span>; -<a name="46" href="#46">46</a> <strong>static</strong> String EXCEPTION1 = <span class="string">"java.lang.Exception: Just testing"</span>; -<a name="47" href="#47">47</a> <strong>static</strong> String EXCEPTION2 = <span class="string">"&#47;&#47;s*at .*&#47;&#47;(.*:&#47;&#47;d{1,4}&#47;&#47;)"</span>; -<a name="48" href="#48">48</a> <strong>static</strong> String EXCEPTION3 = <span class="string">"&#47;&#47;s*at .*&#47;&#47;(Native Method&#47;&#47;)"</span>; -<a name="49" href="#49">49</a> <strong>static</strong> String EXCEPTION4 = <span class="string">"&#47;&#47;s*at .*&#47;&#47;(.*Compiled Code&#47;&#47;)"</span>; -<a name="50" href="#50">50</a> -<a name="51" href="#51">51</a> <strong>static</strong> String PAT0 = -<a name="52" href="#52">52</a> <span class="string">"&#47;&#47;[main]&#47;&#47; (DEBUG|INFO|WARN|ERROR|FATAL) .* - Message &#47;&#47;d{1,2}"</span>; -<a name="53" href="#53">53</a> <strong>static</strong> String PAT1 = Filter.ISO8601_PAT + <span class="string">" "</span> + PAT0; -<a name="54" href="#54">54</a> <strong>static</strong> String PAT2 = Filter.ABSOLUTE_DATE_AND_TIME_PAT + <span class="string">" "</span> + PAT0; -<a name="55" href="#55">55</a> <strong>static</strong> String PAT3 = Filter.ABSOLUTE_TIME_PAT + <span class="string">" "</span> + PAT0; -<a name="56" href="#56">56</a> <strong>static</strong> String PAT4 = Filter.RELATIVE_TIME_PAT + <span class="string">" "</span> + PAT0; -<a name="57" href="#57">57</a> <strong>static</strong> String PAT5 = -<a name="58" href="#58">58</a> <span class="string">"&#47;&#47;[main]&#47;&#47; (DEBUG|INFO|WARN|ERROR|FATAL) .* : Message &#47;&#47;d{1,2}"</span>; -<a name="59" href="#59">59</a> <strong>static</strong> String PAT6 = -<a name="60" href="#60">60</a> <span class="string">"&#47;&#47;[main]&#47;&#47; (DEBUG|INFO |WARN |ERROR|FATAL) org.apache.log4j.PatternLayoutTestCase.common&#47;&#47;(PatternLayoutTestCase.java:&#47;&#47;d{1,4}&#47;&#47;): Message &#47;&#47;d{1,2}"</span>; -<a name="61" href="#61">61</a> <strong>static</strong> String PAT11a = -<a name="62" href="#62">62</a> <span class="string">"^(DEBUG|INFO |WARN |ERROR|FATAL) &#47;&#47;[main]&#47;&#47; log4j.PatternLayoutTest: Message &#47;&#47;d{1,2}"</span>; -<a name="63" href="#63">63</a> <strong>static</strong> String PAT11b = -<a name="64" href="#64">64</a> <span class="string">"^(DEBUG|INFO |WARN |ERROR|FATAL) &#47;&#47;[main]&#47;&#47; root: Message &#47;&#47;d{1,2}"</span>; -<a name="65" href="#65">65</a> <strong>static</strong> String PAT12 = -<a name="66" href="#66">66</a> <span class="string">"^&#47;&#47;[main]&#47;&#47; (DEBUG|INFO |WARN |ERROR|FATAL) "</span> -<a name="67" href="#67">67</a> + <span class="string">"org.apache.log4j.PatternLayoutTestCase.common&#47;&#47;(PatternLayoutTestCase.java:&#47;&#47;d{3}&#47;&#47;): "</span> -<a name="68" href="#68">68</a> + <span class="string">"Message &#47;&#47;d{1,2}"</span>; -<a name="69" href="#69">69</a> <strong>static</strong> String PAT13 = -<a name="70" href="#70">70</a> <span class="string">"^&#47;&#47;[main]&#47;&#47; (DEBUG|INFO |WARN |ERROR|FATAL) "</span> -<a name="71" href="#71">71</a> + <span class="string">"apache.log4j.PatternLayoutTestCase.common&#47;&#47;(PatternLayoutTestCase.java:&#47;&#47;d{3}&#47;&#47;): "</span> -<a name="72" href="#72">72</a> + <span class="string">"Message &#47;&#47;d{1,2}"</span>; -<a name="73" href="#73">73</a> <strong>static</strong> String PAT14 = -<a name="74" href="#74">74</a> <span class="string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL)&#47;&#47; &#47;&#47;d{1,2}&#47;&#47; *- Message &#47;&#47;d{1,2}"</span>; -<a name="75" href="#75">75</a> <strong>static</strong> String PAT_MDC_1 = <span class="string">""</span>; -<a name="76" href="#76">76</a> Logger root; -<a name="77" href="#77">77</a> Logger logger; -<a name="78" href="#78">78</a> -<a name="79" href="#79">79</a> <strong>public</strong> <a href="../../../org/apache/log4j/PatternLayoutTestCase.html">PatternLayoutTestCase</a>(<strong>final</strong> String name) { -<a name="80" href="#80">80</a> <strong>super</strong>(name); -<a name="81" href="#81">81</a> } -<a name="82" href="#82">82</a> -<a name="83" href="#83">83</a> <strong>public</strong> <strong>void</strong> setUp() { -<a name="84" href="#84">84</a> root = Logger.getRootLogger(); -<a name="85" href="#85">85</a> logger = Logger.getLogger(PatternLayoutTest.<strong>class</strong>); -<a name="86" href="#86">86</a> } -<a name="87" href="#87">87</a> -<a name="88" href="#88">88</a> <strong>public</strong> <strong>void</strong> tearDown() { -<a name="89" href="#89">89</a> root.getLoggerRepository().resetConfiguration(); -<a name="90" href="#90">90</a> } -<a name="91" href="#91">91</a> -<a name="92" href="#92">92</a> <em>/**<em>*</em></em> -<a name="93" href="#93">93</a> <em> * Configures log4j from a properties file resource in class loader path.</em> -<a name="94" href="#94">94</a> <em> * @param fileName resource name, only last element is significant.</em> -<a name="95" href="#95">95</a> <em> * @throws IOException if resource not found or error reading resource.</em> -<a name="96" href="#96">96</a> <em> */</em> -<a name="97" href="#97">97</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> configure(<strong>final</strong> String fileName) throws IOException { -<a name="98" href="#98">98</a> String resourceName = fileName; -<a name="99" href="#99">99</a> <strong>int</strong> lastSlash = resourceName.lastIndexOf(<span class="string">"/"</span>); -<a name="100" href="#100">100</a> <strong>if</strong> (lastSlash >= 0) { -<a name="101" href="#101">101</a> resourceName = resourceName.substring(lastSlash + 1); -<a name="102" href="#102">102</a> } -<a name="103" href="#103">103</a> InputStream is = PatternLayoutTestCase.<strong>class</strong>.getResourceAsStream(resourceName); -<a name="104" href="#104">104</a> <strong>if</strong> (is == <strong>null</strong>) { -<a name="105" href="#105">105</a> <strong>throw</strong> <strong>new</strong> FileNotFoundException(<span class="string">"Could not find resource "</span> + resourceName); -<a name="106" href="#106">106</a> } -<a name="107" href="#107">107</a> Properties props = <strong>new</strong> Properties(); -<a name="108" href="#108">108</a> props.load(is); -<a name="109" href="#109">109</a> PropertyConfigurator.configure(props); -<a name="110" href="#110">110</a> } -<a name="111" href="#111">111</a> -<a name="112" href="#112">112</a> <em>/**<em>*</em></em> -<a name="113" href="#113">113</a> <em> * Compares actual and expected files.</em> -<a name="114" href="#114">114</a> <em> * @param actual file name for file generated by test</em> -<a name="115" href="#115">115</a> <em> * @param expected resource name containing expected output</em> -<a name="116" href="#116">116</a> <em> * @return true if files are the same after adjustments</em> -<a name="117" href="#117">117</a> <em> * @throws IOException if IO error during comparison.</em> -<a name="118" href="#118">118</a> <em> */</em> -<a name="119" href="#119">119</a> <strong>private</strong> <strong>static</strong> <strong>boolean</strong> compare(<strong>final</strong> String actual, -<a name="120" href="#120">120</a> <strong>final</strong> String expected) throws IOException { -<a name="121" href="#121">121</a> <strong>return</strong> Compare.compare(PatternLayoutTestCase.<strong>class</strong>, actual, expected); -<a name="122" href="#122">122</a> } -<a name="123" href="#123">123</a> -<a name="124" href="#124">124</a> <strong>public</strong> <strong>void</strong> test1() throws Exception { -<a name="125" href="#125">125</a> configure(<span class="string">"input/pattern/patternLayout1.properties"</span>); -<a name="126" href="#126">126</a> common(); -<a name="127" href="#127">127</a> Transformer.transform( -<a name="128" href="#128">128</a> TEMP, FILTERED, -<a name="129" href="#129">129</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="130" href="#130">130</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), -<a name="131" href="#131">131</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() -<a name="132" href="#132">132</a> }); -<a name="133" href="#133">133</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.1"</span>)); -<a name="134" href="#134">134</a> } -<a name="135" href="#135">135</a> -<a name="136" href="#136">136</a> <strong>public</strong> <strong>void</strong> test2() throws Exception { -<a name="137" href="#137">137</a> configure(<span class="string">"input/pattern/patternLayout2.properties"</span>); -<a name="138" href="#138">138</a> common(); -<a name="139" href="#139">139</a> -<a name="140" href="#140">140</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="141" href="#141">141</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="142" href="#142">142</a> <strong>new</strong> String[] { PAT1, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="143" href="#143">143</a> Transformer.transform( -<a name="144" href="#144">144</a> TEMP, FILTERED, -<a name="145" href="#145">145</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="146" href="#146">146</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> ISO8601Filter(), -<a name="147" href="#147">147</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() -<a name="148" href="#148">148</a> }); -<a name="149" href="#149">149</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.2"</span>)); -<a name="150" href="#150">150</a> } -<a name="151" href="#151">151</a> -<a name="152" href="#152">152</a> <strong>public</strong> <strong>void</strong> test3() throws Exception { -<a name="153" href="#153">153</a> configure(<span class="string">"input/pattern/patternLayout3.properties"</span>); -<a name="154" href="#154">154</a> common(); -<a name="155" href="#155">155</a> -<a name="156" href="#156">156</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="157" href="#157">157</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="158" href="#158">158</a> <strong>new</strong> String[] { PAT1, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="159" href="#159">159</a> Transformer.transform( -<a name="160" href="#160">160</a> TEMP, FILTERED, -<a name="161" href="#161">161</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="162" href="#162">162</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> ISO8601Filter(), -<a name="163" href="#163">163</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() -<a name="164" href="#164">164</a> }); -<a name="165" href="#165">165</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.3"</span>)); -<a name="166" href="#166">166</a> } -<a name="167" href="#167">167</a> -<a name="168" href="#168">168</a> <em class="comment">// Output format:</em> -<a name="169" href="#169">169</a> <em class="comment">// 06 avr. 2002 18:30:58,937 [main] DEBUG atternLayoutTest - Message 0 </em> -<a name="170" href="#170">170</a> <strong>public</strong> <strong>void</strong> test4() throws Exception { -<a name="171" href="#171">171</a> configure(<span class="string">"input/pattern/patternLayout4.properties"</span>); -<a name="172" href="#172">172</a> common(); -<a name="173" href="#173">173</a> -<a name="174" href="#174">174</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="175" href="#175">175</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="176" href="#176">176</a> <strong>new</strong> String[] { PAT2, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="177" href="#177">177</a> Transformer.transform( -<a name="178" href="#178">178</a> TEMP, FILTERED, -<a name="179" href="#179">179</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="180" href="#180">180</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> AbsoluteDateAndTimeFilter(), -<a name="181" href="#181">181</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() -<a name="182" href="#182">182</a> }); -<a name="183" href="#183">183</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.4"</span>)); -<a name="184" href="#184">184</a> } -<a name="185" href="#185">185</a> -<a name="186" href="#186">186</a> <strong>public</strong> <strong>void</strong> test5() throws Exception { -<a name="187" href="#187">187</a> configure(<span class="string">"input/pattern/patternLayout5.properties"</span>); -<a name="188" href="#188">188</a> common(); -<a name="189" href="#189">189</a> -<a name="190" href="#190">190</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="191" href="#191">191</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="192" href="#192">192</a> <strong>new</strong> String[] { PAT2, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="193" href="#193">193</a> Transformer.transform( -<a name="194" href="#194">194</a> TEMP, FILTERED, -<a name="195" href="#195">195</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="196" href="#196">196</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> AbsoluteDateAndTimeFilter(), -<a name="197" href="#197">197</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() -<a name="198" href="#198">198</a> }); -<a name="199" href="#199">199</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.5"</span>)); -<a name="200" href="#200">200</a> } -<a name="201" href="#201">201</a> -<a name="202" href="#202">202</a> <em class="comment">// 18:54:19,201 [main] DEBUG atternLayoutTest - Message 0</em> -<a name="203" href="#203">203</a> <strong>public</strong> <strong>void</strong> test6() throws Exception { -<a name="204" href="#204">204</a> configure(<span class="string">"input/pattern/patternLayout6.properties"</span>); -<a name="205" href="#205">205</a> common(); -<a name="206" href="#206">206</a> -<a name="207" href="#207">207</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="208" href="#208">208</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="209" href="#209">209</a> <strong>new</strong> String[] { PAT3, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="210" href="#210">210</a> Transformer.transform( -<a name="211" href="#211">211</a> TEMP, FILTERED, -<a name="212" href="#212">212</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="213" href="#213">213</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> AbsoluteTimeFilter(), -<a name="214" href="#214">214</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() -<a name="215" href="#215">215</a> }); -<a name="216" href="#216">216</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.6"</span>)); -<a name="217" href="#217">217</a> } -<a name="218" href="#218">218</a> -<a name="219" href="#219">219</a> <strong>public</strong> <strong>void</strong> test7() throws Exception { -<a name="220" href="#220">220</a> configure(<span class="string">"input/pattern/patternLayout7.properties"</span>); -<a name="221" href="#221">221</a> common(); -<a name="222" href="#222">222</a> -<a name="223" href="#223">223</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="224" href="#224">224</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="225" href="#225">225</a> <strong>new</strong> String[] { PAT3, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="226" href="#226">226</a> Transformer.transform( -<a name="227" href="#227">227</a> TEMP, FILTERED, -<a name="228" href="#228">228</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="229" href="#229">229</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> AbsoluteTimeFilter(), -<a name="230" href="#230">230</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() -<a name="231" href="#231">231</a> }); -<a name="232" href="#232">232</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.7"</span>)); -<a name="233" href="#233">233</a> } -<a name="234" href="#234">234</a> -<a name="235" href="#235">235</a> <strong>public</strong> <strong>void</strong> test8() throws Exception { -<a name="236" href="#236">236</a> configure(<span class="string">"input/pattern/patternLayout8.properties"</span>); -<a name="237" href="#237">237</a> common(); -<a name="238" href="#238">238</a> -<a name="239" href="#239">239</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="240" href="#240">240</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="241" href="#241">241</a> <strong>new</strong> String[] { PAT4, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="242" href="#242">242</a> Transformer.transform( -<a name="243" href="#243">243</a> TEMP, FILTERED, -<a name="244" href="#244">244</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="245" href="#245">245</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> RelativeTimeFilter(), -<a name="246" href="#246">246</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() -<a name="247" href="#247">247</a> }); -<a name="248" href="#248">248</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.8"</span>)); -<a name="249" href="#249">249</a> } -<a name="250" href="#250">250</a> -<a name="251" href="#251">251</a> <strong>public</strong> <strong>void</strong> test9() throws Exception { -<a name="252" href="#252">252</a> configure(<span class="string">"input/pattern/patternLayout9.properties"</span>); -<a name="253" href="#253">253</a> common(); -<a name="254" href="#254">254</a> -<a name="255" href="#255">255</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="256" href="#256">256</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="257" href="#257">257</a> <strong>new</strong> String[] { PAT5, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="258" href="#258">258</a> Transformer.transform( -<a name="259" href="#259">259</a> TEMP, FILTERED, -<a name="260" href="#260">260</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="261" href="#261">261</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), -<a name="262" href="#262">262</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() -<a name="263" href="#263">263</a> }); -<a name="264" href="#264">264</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.9"</span>)); -<a name="265" href="#265">265</a> } -<a name="266" href="#266">266</a> -<a name="267" href="#267">267</a> <strong>public</strong> <strong>void</strong> test10() throws Exception { -<a name="268" href="#268">268</a> configure(<span class="string">"input/pattern/patternLayout10.properties"</span>); -<a name="269" href="#269">269</a> common(); -<a name="270" href="#270">270</a> -<a name="271" href="#271">271</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="272" href="#272">272</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="273" href="#273">273</a> <strong>new</strong> String[] { PAT6, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="274" href="#274">274</a> Transformer.transform( -<a name="275" href="#275">275</a> TEMP, FILTERED, -<a name="276" href="#276">276</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="277" href="#277">277</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), -<a name="278" href="#278">278</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() -<a name="279" href="#279">279</a> }); -<a name="280" href="#280">280</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.10"</span>)); -<a name="281" href="#281">281</a> } -<a name="282" href="#282">282</a> -<a name="283" href="#283">283</a> <strong>public</strong> <strong>void</strong> test11() throws Exception { -<a name="284" href="#284">284</a> configure(<span class="string">"input/pattern/patternLayout11.properties"</span>); -<a name="285" href="#285">285</a> common(); -<a name="286" href="#286">286</a> -<a name="287" href="#287">287</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="288" href="#288">288</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="289" href="#289">289</a> <strong>new</strong> String[] { PAT11a, PAT11b, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="290" href="#290">290</a> Transformer.transform( -<a name="291" href="#291">291</a> TEMP, FILTERED, -<a name="292" href="#292">292</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="293" href="#293">293</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), -<a name="294" href="#294">294</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() -<a name="295" href="#295">295</a> }); -<a name="296" href="#296">296</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.11"</span>)); -<a name="297" href="#297">297</a> } -<a name="298" href="#298">298</a> -<a name="299" href="#299">299</a> <strong>public</strong> <strong>void</strong> test12() throws Exception { -<a name="300" href="#300">300</a> configure(<span class="string">"input/pattern/patternLayout12.properties"</span>); -<a name="301" href="#301">301</a> common(); -<a name="302" href="#302">302</a> -<a name="303" href="#303">303</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="304" href="#304">304</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="305" href="#305">305</a> <strong>new</strong> String[] { PAT12, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="306" href="#306">306</a> Transformer.transform( -<a name="307" href="#307">307</a> TEMP, FILTERED, -<a name="308" href="#308">308</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="309" href="#309">309</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), -<a name="310" href="#310">310</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() -<a name="311" href="#311">311</a> }); -<a name="312" href="#312">312</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.12"</span>)); -<a name="313" href="#313">313</a> } -<a name="314" href="#314">314</a> -<a name="315" href="#315">315</a> <strong>public</strong> <strong>void</strong> test13() throws Exception { -<a name="316" href="#316">316</a> configure(<span class="string">"input/pattern/patternLayout13.properties"</span>); -<a name="317" href="#317">317</a> common(); -<a name="318" href="#318">318</a> -<a name="319" href="#319">319</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = -<a name="320" href="#320">320</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( -<a name="321" href="#321">321</a> <strong>new</strong> String[] { PAT13, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); -<a name="322" href="#322">322</a> Transformer.transform( -<a name="323" href="#323">323</a> TEMP, FILTERED, -<a name="324" href="#324">324</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="325" href="#325">325</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), -<a name="326" href="#326">326</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() -<a name="327" href="#327">327</a> }); -<a name="328" href="#328">328</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.13"</span>)); -<a name="329" href="#329">329</a> } -<a name="330" href="#330">330</a> -<a name="331" href="#331">331</a> <em>/**<em>*</em></em> -<a name="332" href="#332">332</a> <em> * Test of class abbreviation.</em> -<a name="333" href="#333">333</a> <em> *</em> -<a name="334" href="#334">334</a> <em> * @throws Exception</em> -<a name="335" href="#335">335</a> <em> */</em> -<a name="336" href="#336">336</a> <strong>public</strong> <strong>void</strong> test14() throws Exception { -<a name="337" href="#337">337</a> configure(<span class="string">"input/pattern/patternLayout14.properties"</span>); -<a name="338" href="#338">338</a> common(); -<a name="339" href="#339">339</a> -<a name="340" href="#340">340</a> Transformer.transform( -<a name="341" href="#341">341</a> TEMP, FILTERED, -<a name="342" href="#342">342</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="343" href="#343">343</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), -<a name="344" href="#344">344</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() -<a name="345" href="#345">345</a> }); -<a name="346" href="#346">346</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.14"</span>)); -<a name="347" href="#347">347</a> } -<a name="348" href="#348">348</a> -<a name="349" href="#349">349</a> -<a name="350" href="#350">350</a> <strong>public</strong> <strong>void</strong> testMDC1() throws Exception { -<a name="351" href="#351">351</a> configure(<span class="string">"input/pattern/patternLayout.mdc.1.properties"</span>); -<a name="352" href="#352">352</a> MDC.put(<span class="string">"key1"</span>, <span class="string">"va11"</span>); -<a name="353" href="#353">353</a> MDC.put(<span class="string">"key2"</span>, <span class="string">"va12"</span>); -<a name="354" href="#354">354</a> logger.debug(<span class="string">"Hello World"</span>); -<a name="355" href="#355">355</a> MDC.remove(<span class="string">"key1"</span>); -<a name="356" href="#356">356</a> MDC.remove(<span class="string">"key2"</span>); -<a name="357" href="#357">357</a> -<a name="358" href="#358">358</a> Transformer.transform( -<a name="359" href="#359">359</a> TEMP, FILTERED, -<a name="360" href="#360">360</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="361" href="#361">361</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), -<a name="362" href="#362">362</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), -<a name="363" href="#363">363</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/MDCOrderFilter.html">MDCOrderFilter</a>() -<a name="364" href="#364">364</a> }); -<a name="365" href="#365">365</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.mdc.1"</span>)); -<a name="366" href="#366">366</a> } -<a name="367" href="#367">367</a> -<a name="368" href="#368">368</a> <em>/**<em>*</em></em> -<a name="369" href="#369">369</a> <em> * Tests log4j 1.2 style extension of EnhancedPatternLayout.</em> -<a name="370" href="#370">370</a> <em> * Was test14 in log4j 1.2.</em> -<a name="371" href="#371">371</a> <em> * @throws Exception</em> -<a name="372" href="#372">372</a> <em> */</em> -<a name="373" href="#373">373</a> <strong>public</strong> <strong>void</strong> test15() throws Exception { -<a name="374" href="#374">374</a> configure(<span class="string">"input/pattern/patternLayout15.properties"</span>); -<a name="375" href="#375">375</a> common(); -<a name="376" href="#376">376</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong>new</strong> String[]{PAT14, EXCEPTION1, -<a name="377" href="#377">377</a> EXCEPTION2, EXCEPTION3, EXCEPTION4}); -<a name="378" href="#378">378</a> Transformer.transform( -<a name="379" href="#379">379</a> TEMP, FILTERED, -<a name="380" href="#380">380</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="381" href="#381">381</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), -<a name="382" href="#382">382</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() -<a name="383" href="#383">383</a> }); -<a name="384" href="#384">384</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/patternLayout.15"</span>)); -<a name="385" href="#385">385</a> } -<a name="386" href="#386">386</a> -<a name="387" href="#387">387</a> <em>/**<em>*</em></em> -<a name="388" href="#388">388</a> <em> * Tests explicit UTC time zone in pattern.</em> -<a name="389" href="#389">389</a> <em> * @throws Exception</em> -<a name="390" href="#390">390</a> <em> */</em> -<a name="391" href="#391">391</a> <strong>public</strong> <strong>void</strong> test16() throws Exception { -<a name="392" href="#392">392</a> <strong>final</strong> <strong>long</strong> start = <strong>new</strong> Date().getTime(); -<a name="393" href="#393">393</a> configure(<span class="string">"input/pattern/patternLayout16.properties"</span>); -<a name="394" href="#394">394</a> common(); -<a name="395" href="#395">395</a> <strong>final</strong> <strong>long</strong> end = <strong>new</strong> Date().getTime(); -<a name="396" href="#396">396</a> FileReader reader = <strong>new</strong> FileReader(<span class="string">"patternLayout16.log"</span>); -<a name="397" href="#397">397</a> <strong>char</strong> <strong>char</strong>s[] = <strong>new</strong> <strong>char</strong>[50]; -<a name="398" href="#398">398</a> reader.read(chars, 0, chars.length); -<a name="399" href="#399">399</a> reader.close(); -<a name="400" href="#400">400</a> SimpleDateFormat format = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MM-dd HH:mm:ss"</span>); -<a name="401" href="#401">401</a> format.setTimeZone(TimeZone.getTimeZone(<span class="string">"GMT+0"</span>)); -<a name="402" href="#402">402</a> String utcStr = <strong>new</strong> String(chars, 0, 19); -<a name="403" href="#403">403</a> Date utcDate = format.parse(utcStr, <strong>new</strong> ParsePosition(0)); -<a name="404" href="#404">404</a> assertTrue(utcDate.getTime() >= start - 1000 &amp;&amp; utcDate.getTime() &lt; end + 1000); -<a name="405" href="#405">405</a> String cstStr = <strong>new</strong> String(chars, 21, 19); -<a name="406" href="#406">406</a> format.setTimeZone(TimeZone.getTimeZone(<span class="string">"GMT-6"</span>)); -<a name="407" href="#407">407</a> Date cstDate = format.parse(cstStr, <strong>new</strong> ParsePosition(0)); -<a name="408" href="#408">408</a> assertFalse(cstStr.equals(utcStr)); -<a name="409" href="#409">409</a> assertTrue(cstDate.getTime() >= start - 1000 &amp;&amp; cstDate.getTime() &lt; end + 1000); -<a name="410" href="#410">410</a> } -<a name="411" href="#411">411</a> -<a name="412" href="#412">412</a> -<a name="413" href="#413">413</a> <strong>void</strong> common() { -<a name="414" href="#414">414</a> <strong>int</strong> i = -1; -<a name="415" href="#415">415</a> -<a name="416" href="#416">416</a> logger.debug(<span class="string">"Message "</span> + ++i); -<a name="417" href="#417">417</a> root.debug(<span class="string">"Message "</span> + i); -<a name="418" href="#418">418</a> -<a name="419" href="#419">419</a> logger.info(<span class="string">"Message "</span> + ++i); -<a name="420" href="#420">420</a> root.info(<span class="string">"Message "</span> + i); -<a name="421" href="#421">421</a> -<a name="422" href="#422">422</a> logger.warn(<span class="string">"Message "</span> + ++i); -<a name="423" href="#423">423</a> root.warn(<span class="string">"Message "</span> + i); -<a name="424" href="#424">424</a> -<a name="425" href="#425">425</a> logger.error(<span class="string">"Message "</span> + ++i); -<a name="426" href="#426">426</a> root.error(<span class="string">"Message "</span> + i); -<a name="427" href="#427">427</a> -<a name="428" href="#428">428</a> logger.log(Level.FATAL, <span class="string">"Message "</span> + ++i); -<a name="429" href="#429">429</a> root.log(Level.FATAL, <span class="string">"Message "</span> + i); -<a name="430" href="#430">430</a> -<a name="431" href="#431">431</a> Exception e = <strong>new</strong> Exception(<span class="string">"Just testing"</span>); -<a name="432" href="#432">432</a> -<a name="433" href="#433">433</a> logger.debug(<span class="string">"Message "</span> + ++i, e); -<a name="434" href="#434">434</a> logger.info(<span class="string">"Message "</span> + ++i, e); -<a name="435" href="#435">435</a> logger.warn(<span class="string">"Message "</span> + ++i, e); -<a name="436" href="#436">436</a> logger.error(<span class="string">"Message "</span> + ++i, e); -<a name="437" href="#437">437</a> logger.log(Level.FATAL, <span class="string">"Message "</span> + ++i, e); -<a name="438" href="#438">438</a> } -<a name="439" href="#439">439</a> -<a name="440" href="#440">440</a> <em>/**<em>*</em></em> -<a name="441" href="#441">441</a> <em> Test case for MDC conversion pattern. */</em> -<a name="442" href="#442">442</a> <strong>public</strong> <strong>void</strong> testMDC2() throws Exception { -<a name="443" href="#443">443</a> String OUTPUT_FILE = <span class="string">"patternLayout.mdc.2"</span>; -<a name="444" href="#444">444</a> String WITNESS_FILE = <span class="string">"witness/pattern/patternLayout.mdc.2"</span>; -<a name="445" href="#445">445</a> -<a name="446" href="#446">446</a> String mdcMsgPattern1 = <span class="string">"%m : %X%n"</span>; -<a name="447" href="#447">447</a> String mdcMsgPattern2 = <span class="string">"%m : %X{key1}%n"</span>; -<a name="448" href="#448">448</a> String mdcMsgPattern3 = <span class="string">"%m : %X{key2}%n"</span>; -<a name="449" href="#449">449</a> String mdcMsgPattern4 = <span class="string">"%m : %X{key3}%n"</span>; -<a name="450" href="#450">450</a> String mdcMsgPattern5 = <span class="string">"%m : %X{key1},%X{key2},%X{key3}%n"</span>; -<a name="451" href="#451">451</a> -<a name="452" href="#452">452</a> <em class="comment">// set up appender</em> -<a name="453" href="#453">453</a> EnhancedPatternLayout layout = <strong>new</strong> EnhancedPatternLayout(<span class="string">"%m%n"</span>); -<a name="454" href="#454">454</a> Appender appender = <strong>new</strong> FileAppender(layout, OUTPUT_FILE, false); -<a name="455" href="#455">455</a> -<a name="456" href="#456">456</a> <em class="comment">// set appender on root and set level to debug</em> -<a name="457" href="#457">457</a> root.addAppender(appender); -<a name="458" href="#458">458</a> root.setLevel(Level.DEBUG); -<a name="459" href="#459">459</a> -<a name="460" href="#460">460</a> <em class="comment">// output starting message</em> -<a name="461" href="#461">461</a> root.debug(<span class="string">"starting mdc pattern test"</span>); -<a name="462" href="#462">462</a> -<a name="463" href="#463">463</a> layout.setConversionPattern(mdcMsgPattern1); -<a name="464" href="#464">464</a> layout.activateOptions(); -<a name="465" href="#465">465</a> root.debug(<span class="string">"empty mdc, no key specified in pattern"</span>); -<a name="466" href="#466">466</a> -<a name="467" href="#467">467</a> layout.setConversionPattern(mdcMsgPattern2); -<a name="468" href="#468">468</a> layout.activateOptions(); -<a name="469" href="#469">469</a> root.debug(<span class="string">"empty mdc, key1 in pattern"</span>); -<a name="470" href="#470">470</a> -<a name="471" href="#471">471</a> layout.setConversionPattern(mdcMsgPattern3); -<a name="472" href="#472">472</a> layout.activateOptions(); -<a name="473" href="#473">473</a> root.debug(<span class="string">"empty mdc, key2 in pattern"</span>); -<a name="474" href="#474">474</a> -<a name="475" href="#475">475</a> layout.setConversionPattern(mdcMsgPattern4); -<a name="476" href="#476">476</a> layout.activateOptions(); -<a name="477" href="#477">477</a> root.debug(<span class="string">"empty mdc, key3 in pattern"</span>); -<a name="478" href="#478">478</a> -<a name="479" href="#479">479</a> layout.setConversionPattern(mdcMsgPattern5); -<a name="480" href="#480">480</a> layout.activateOptions(); -<a name="481" href="#481">481</a> root.debug(<span class="string">"empty mdc, key1, key2, and key3 in pattern"</span>); -<a name="482" href="#482">482</a> -<a name="483" href="#483">483</a> MDC.put(<span class="string">"key1"</span>, <span class="string">"value1"</span>); -<a name="484" href="#484">484</a> MDC.put(<span class="string">"key2"</span>, <span class="string">"value2"</span>); -<a name="485" href="#485">485</a> -<a name="486" href="#486">486</a> layout.setConversionPattern(mdcMsgPattern1); -<a name="487" href="#487">487</a> layout.activateOptions(); -<a name="488" href="#488">488</a> root.debug(<span class="string">"filled mdc, no key specified in pattern"</span>); -<a name="489" href="#489">489</a> -<a name="490" href="#490">490</a> layout.setConversionPattern(mdcMsgPattern2); -<a name="491" href="#491">491</a> layout.activateOptions(); -<a name="492" href="#492">492</a> root.debug(<span class="string">"filled mdc, key1 in pattern"</span>); -<a name="493" href="#493">493</a> -<a name="494" href="#494">494</a> layout.setConversionPattern(mdcMsgPattern3); -<a name="495" href="#495">495</a> layout.activateOptions(); -<a name="496" href="#496">496</a> root.debug(<span class="string">"filled mdc, key2 in pattern"</span>); -<a name="497" href="#497">497</a> -<a name="498" href="#498">498</a> layout.setConversionPattern(mdcMsgPattern4); -<a name="499" href="#499">499</a> layout.activateOptions(); -<a name="500" href="#500">500</a> root.debug(<span class="string">"filled mdc, key3 in pattern"</span>); -<a name="501" href="#501">501</a> -<a name="502" href="#502">502</a> layout.setConversionPattern(mdcMsgPattern5); -<a name="503" href="#503">503</a> layout.activateOptions(); -<a name="504" href="#504">504</a> root.debug(<span class="string">"filled mdc, key1, key2, and key3 in pattern"</span>); -<a name="505" href="#505">505</a> -<a name="506" href="#506">506</a> MDC.remove(<span class="string">"key1"</span>); -<a name="507" href="#507">507</a> MDC.remove(<span class="string">"key2"</span>); -<a name="508" href="#508">508</a> -<a name="509" href="#509">509</a> layout.setConversionPattern(<span class="string">"%m%n"</span>); -<a name="510" href="#510">510</a> layout.activateOptions(); -<a name="511" href="#511">511</a> root.debug(<span class="string">"finished mdc pattern test"</span>); -<a name="512" href="#512">512</a> -<a name="513" href="#513">513</a> Transformer.transform( -<a name="514" href="#514">514</a> OUTPUT_FILE, FILTERED, -<a name="515" href="#515">515</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { -<a name="516" href="#516">516</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), -<a name="517" href="#517">517</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), -<a name="518" href="#518">518</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/MDCOrderFilter.html">MDCOrderFilter</a>() -<a name="519" href="#519">519</a> }); -<a name="520" href="#520">520</a> -<a name="521" href="#521">521</a> assertTrue(compare(FILTERED, WITNESS_FILE)); -<a name="522" href="#522">522</a> } -<a name="523" href="#523">523</a> -<a name="524" href="#524">524</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/TestLogMF.html b/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/TestLogMF.html deleted file mode 100644 index e5cc883f544..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/TestLogMF.html +++ /dev/null @@ -1,1249 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TestLogMF xref</title> -<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/TestLogMF.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> <strong>import</strong> java.io.CharArrayWriter; -<a name="22" href="#22">22</a> <strong>import</strong> java.text.MessageFormat; -<a name="23" href="#23">23</a> <strong>import</strong> java.util.Date; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <em>/**<em>*</em></em> -<a name="27" href="#27">27</a> <em> * Unit test for LogMF.</em> -<a name="28" href="#28">28</a> <em> */</em> -<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/TestLogMF.html">TestLogMF</a> <strong>extends</strong> TestCase { -<a name="30" href="#30">30</a> <em>/**<em>*</em></em> -<a name="31" href="#31">31</a> <em> * Trace level.</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> Level TRACE = getTraceLevel(); -<a name="34" href="#34">34</a> -<a name="35" href="#35">35</a> <em>/**<em>*</em></em> -<a name="36" href="#36">36</a> <em> * Gets Trace level.</em> -<a name="37" href="#37">37</a> <em> * Trace level was not defined prior to log4j 1.2.12.</em> -<a name="38" href="#38">38</a> <em> * @return trace level</em> -<a name="39" href="#39">39</a> <em> */</em> -<a name="40" href="#40">40</a> <strong>private</strong> <strong>static</strong> Level getTraceLevel() { -<a name="41" href="#41">41</a> <strong>try</strong> { -<a name="42" href="#42">42</a> <strong>return</strong> (Level) Level.<strong>class</strong>.getField(<span class="string">"TRACE"</span>).get(<strong>null</strong>); -<a name="43" href="#43">43</a> } <strong>catch</strong>(Exception ex) { -<a name="44" href="#44">44</a> <strong>return</strong> <strong>new</strong> Level(5000, <span class="string">"TRACE"</span>, 7); -<a name="45" href="#45">45</a> } -<a name="46" href="#46">46</a> } -<a name="47" href="#47">47</a> -<a name="48" href="#48">48</a> <em>/**<em>*</em></em> -<a name="49" href="#49">49</a> <em> * Logger.</em> -<a name="50" href="#50">50</a> <em> */</em> -<a name="51" href="#51">51</a> <strong>private</strong> <strong>final</strong> Logger logger = Logger.getLogger( -<a name="52" href="#52">52</a> <span class="string">"org.apache.log4j.formatter.TestLogMF"</span>); -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <em>/**<em>*</em></em> -<a name="55" href="#55">55</a> <em> * Create the test case</em> -<a name="56" href="#56">56</a> <em> *</em> -<a name="57" href="#57">57</a> <em> * @param testName name of the test case</em> -<a name="58" href="#58">58</a> <em> */</em> -<a name="59" href="#59">59</a> <strong>public</strong> <a href="../../../org/apache/log4j/TestLogMF.html">TestLogMF</a>(String testName) { -<a name="60" href="#60">60</a> <strong>super</strong>(testName); -<a name="61" href="#61">61</a> } -<a name="62" href="#62">62</a> -<a name="63" href="#63">63</a> -<a name="64" href="#64">64</a> <em>/**<em>*</em></em> -<a name="65" href="#65">65</a> <em> * Post test clean up.</em> -<a name="66" href="#66">66</a> <em> */</em> -<a name="67" href="#67">67</a> <strong>public</strong> <strong>void</strong> tearDown() { -<a name="68" href="#68">68</a> LogManager.resetConfiguration(); -<a name="69" href="#69">69</a> } -<a name="70" href="#70">70</a> -<a name="71" href="#71">71</a> <em>/**<em>*</em></em> -<a name="72" href="#72">72</a> <em> * Test class name when logging through LogMF.</em> -<a name="73" href="#73">73</a> <em> */</em> -<a name="74" href="#74">74</a> <strong>public</strong> <strong>void</strong> testClassName() { -<a name="75" href="#75">75</a> CharArrayWriter writer = <strong>new</strong> CharArrayWriter(); -<a name="76" href="#76">76</a> PatternLayout layout = <strong>new</strong> PatternLayout(<span class="string">"%C"</span>); -<a name="77" href="#77">77</a> WriterAppender appender = <strong>new</strong> WriterAppender(layout, writer); -<a name="78" href="#78">78</a> appender.activateOptions(); -<a name="79" href="#79">79</a> Logger.getRootLogger().addAppender(appender); -<a name="80" href="#80">80</a> LogMF.debug(logger, <strong>null</strong>, Math.PI); -<a name="81" href="#81">81</a> assertEquals(TestLogMF.<strong>class</strong>.getName(), writer.toString()); -<a name="82" href="#82">82</a> } -<a name="83" href="#83">83</a> -<a name="84" href="#84">84</a> <em>/**<em>*</em></em> -<a name="85" href="#85">85</a> <em> * Test LogMF.trace with null pattern.</em> -<a name="86" href="#86">86</a> <em> */</em> -<a name="87" href="#87">87</a> <strong>public</strong> <strong>void</strong> testTraceNullPattern() { -<a name="88" href="#88">88</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="89" href="#89">89</a> logger.setLevel(TRACE); -<a name="90" href="#90">90</a> LogMF.trace(logger, <strong>null</strong>, Math.PI); -<a name="91" href="#91">91</a> assertNull(capture.getMessage()); -<a name="92" href="#92">92</a> } -<a name="93" href="#93">93</a> -<a name="94" href="#94">94</a> <em>/**<em>*</em></em> -<a name="95" href="#95">95</a> <em> * Test LogMF.trace with no-field pattern.</em> -<a name="96" href="#96">96</a> <em> */</em> -<a name="97" href="#97">97</a> <strong>public</strong> <strong>void</strong> testTraceNoArg() { -<a name="98" href="#98">98</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="99" href="#99">99</a> logger.setLevel(TRACE); -<a name="100" href="#100">100</a> LogMF.trace(logger, <span class="string">"Hello, World"</span>, Math.PI); -<a name="101" href="#101">101</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="102" href="#102">102</a> } -<a name="103" href="#103">103</a> -<a name="104" href="#104">104</a> <em>/**<em>*</em></em> -<a name="105" href="#105">105</a> <em> * Test LogMF.trace with malformed pattern.</em> -<a name="106" href="#106">106</a> <em> */</em> -<a name="107" href="#107">107</a> <strong>public</strong> <strong>void</strong> testTraceBadPattern() { -<a name="108" href="#108">108</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="109" href="#109">109</a> logger.setLevel(TRACE); -<a name="110" href="#110">110</a> LogMF.trace(logger, <span class="string">"Hello, {."</span>, Math.PI); -<a name="111" href="#111">111</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="112" href="#112">112</a> } -<a name="113" href="#113">113</a> -<a name="114" href="#114">114</a> <em>/**<em>*</em></em> -<a name="115" href="#115">115</a> <em> * Test LogMF.trace with missing argument.</em> -<a name="116" href="#116">116</a> <em> */</em> -<a name="117" href="#117">117</a> <strong>public</strong> <strong>void</strong> testTraceMissingArg() { -<a name="118" href="#118">118</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="119" href="#119">119</a> logger.setLevel(TRACE); -<a name="120" href="#120">120</a> LogMF.trace(logger, <span class="string">"Hello, {0}World"</span>, <strong>new</strong> Object[0]); -<a name="121" href="#121">121</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); -<a name="122" href="#122">122</a> } -<a name="123" href="#123">123</a> -<a name="124" href="#124">124</a> <em>/**<em>*</em></em> -<a name="125" href="#125">125</a> <em> * Test LogMF.trace with single field pattern with string argument.</em> -<a name="126" href="#126">126</a> <em> */</em> -<a name="127" href="#127">127</a> <strong>public</strong> <strong>void</strong> testTraceString() { -<a name="128" href="#128">128</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="129" href="#129">129</a> logger.setLevel(TRACE); -<a name="130" href="#130">130</a> LogMF.trace(logger, <span class="string">"Hello, {0}"</span>, <span class="string">"World"</span>); -<a name="131" href="#131">131</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="132" href="#132">132</a> } -<a name="133" href="#133">133</a> -<a name="134" href="#134">134</a> <em>/**<em>*</em></em> -<a name="135" href="#135">135</a> <em> * Test LogMF.trace with single field pattern with null argument.</em> -<a name="136" href="#136">136</a> <em> */</em> -<a name="137" href="#137">137</a> <strong>public</strong> <strong>void</strong> testTraceNull() { -<a name="138" href="#138">138</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="139" href="#139">139</a> logger.setLevel(TRACE); -<a name="140" href="#140">140</a> LogMF.trace(logger, <span class="string">"Hello, {0}"</span>, (Object) <strong>null</strong>); -<a name="141" href="#141">141</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="142" href="#142">142</a> } -<a name="143" href="#143">143</a> -<a name="144" href="#144">144</a> <em>/**<em>*</em></em> -<a name="145" href="#145">145</a> <em> * Test LogMF.trace with single field pattern with int argument.</em> -<a name="146" href="#146">146</a> <em> */</em> -<a name="147" href="#147">147</a> <strong>public</strong> <strong>void</strong> testTraceInt() { -<a name="148" href="#148">148</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="149" href="#149">149</a> logger.setLevel(TRACE); -<a name="150" href="#150">150</a> -<a name="151" href="#151">151</a> <strong>int</strong> val = 42; -<a name="152" href="#152">152</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="153" href="#153">153</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="154" href="#154">154</a> } -<a name="155" href="#155">155</a> -<a name="156" href="#156">156</a> <em>/**<em>*</em></em> -<a name="157" href="#157">157</a> <em> * Test LogMF.trace with single field pattern with byte argument.</em> -<a name="158" href="#158">158</a> <em> */</em> -<a name="159" href="#159">159</a> <strong>public</strong> <strong>void</strong> testTraceByte() { -<a name="160" href="#160">160</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="161" href="#161">161</a> logger.setLevel(TRACE); -<a name="162" href="#162">162</a> -<a name="163" href="#163">163</a> byte val = 42; -<a name="164" href="#164">164</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="165" href="#165">165</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="166" href="#166">166</a> } -<a name="167" href="#167">167</a> -<a name="168" href="#168">168</a> <em>/**<em>*</em></em> -<a name="169" href="#169">169</a> <em> * Test LogMF.trace with single field pattern with short argument.</em> -<a name="170" href="#170">170</a> <em> */</em> -<a name="171" href="#171">171</a> <strong>public</strong> <strong>void</strong> testTraceShort() { -<a name="172" href="#172">172</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="173" href="#173">173</a> logger.setLevel(TRACE); -<a name="174" href="#174">174</a> -<a name="175" href="#175">175</a> <strong>short</strong> val = 42; -<a name="176" href="#176">176</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="177" href="#177">177</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="178" href="#178">178</a> } -<a name="179" href="#179">179</a> -<a name="180" href="#180">180</a> <em>/**<em>*</em></em> -<a name="181" href="#181">181</a> <em> * Test LogMF.trace with single field pattern with long argument.</em> -<a name="182" href="#182">182</a> <em> */</em> -<a name="183" href="#183">183</a> <strong>public</strong> <strong>void</strong> testTraceLong() { -<a name="184" href="#184">184</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="185" href="#185">185</a> logger.setLevel(TRACE); -<a name="186" href="#186">186</a> -<a name="187" href="#187">187</a> <strong>long</strong> val = 42; -<a name="188" href="#188">188</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="189" href="#189">189</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="190" href="#190">190</a> } -<a name="191" href="#191">191</a> -<a name="192" href="#192">192</a> <em>/**<em>*</em></em> -<a name="193" href="#193">193</a> <em> * Test LogMF.trace with single field pattern with char argument.</em> -<a name="194" href="#194">194</a> <em> */</em> -<a name="195" href="#195">195</a> <strong>public</strong> <strong>void</strong> testTraceChar() { -<a name="196" href="#196">196</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="197" href="#197">197</a> logger.setLevel(TRACE); -<a name="198" href="#198">198</a> -<a name="199" href="#199">199</a> <strong>char</strong> val = 'C'; -<a name="200" href="#200">200</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="201" href="#201">201</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="202" href="#202">202</a> } -<a name="203" href="#203">203</a> -<a name="204" href="#204">204</a> <em>/**<em>*</em></em> -<a name="205" href="#205">205</a> <em> * Test LogMF.trace with single field pattern with boolean argument.</em> -<a name="206" href="#206">206</a> <em> */</em> -<a name="207" href="#207">207</a> <strong>public</strong> <strong>void</strong> testTraceBoolean() { -<a name="208" href="#208">208</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="209" href="#209">209</a> logger.setLevel(TRACE); -<a name="210" href="#210">210</a> -<a name="211" href="#211">211</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="212" href="#212">212</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="213" href="#213">213</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="214" href="#214">214</a> } -<a name="215" href="#215">215</a> -<a name="216" href="#216">216</a> <em>/**<em>*</em></em> -<a name="217" href="#217">217</a> <em> * Test LogMF.trace with single field pattern with float argument.</em> -<a name="218" href="#218">218</a> <em> */</em> -<a name="219" href="#219">219</a> <strong>public</strong> <strong>void</strong> testTraceFloat() { -<a name="220" href="#220">220</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="221" href="#221">221</a> logger.setLevel(TRACE); -<a name="222" href="#222">222</a> -<a name="223" href="#223">223</a> <strong>float</strong> val = 3.14f; -<a name="224" href="#224">224</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="225" href="#225">225</a> assertEquals(<span class="string">"Iteration 3.14"</span>, capture.getMessage()); -<a name="226" href="#226">226</a> } -<a name="227" href="#227">227</a> -<a name="228" href="#228">228</a> <em>/**<em>*</em></em> -<a name="229" href="#229">229</a> <em> * Test LogMF.trace with single field pattern with double argument.</em> -<a name="230" href="#230">230</a> <em> */</em> -<a name="231" href="#231">231</a> <strong>public</strong> <strong>void</strong> testTraceDouble() { -<a name="232" href="#232">232</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="233" href="#233">233</a> logger.setLevel(TRACE); -<a name="234" href="#234">234</a> -<a name="235" href="#235">235</a> <strong>double</strong> val = 3.14; -<a name="236" href="#236">236</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="237" href="#237">237</a> assertEquals(<span class="string">"Iteration 3.14"</span>, capture.getMessage()); -<a name="238" href="#238">238</a> } -<a name="239" href="#239">239</a> -<a name="240" href="#240">240</a> <em>/**<em>*</em></em> -<a name="241" href="#241">241</a> <em> * Test LogMF.trace with two arguments.</em> -<a name="242" href="#242">242</a> <em> */</em> -<a name="243" href="#243">243</a> <strong>public</strong> <strong>void</strong> testTraceTwoArg() { -<a name="244" href="#244">244</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="245" href="#245">245</a> logger.setLevel(TRACE); -<a name="246" href="#246">246</a> LogMF.trace(logger, <span class="string">"{1}, {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); -<a name="247" href="#247">247</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="248" href="#248">248</a> } -<a name="249" href="#249">249</a> -<a name="250" href="#250">250</a> <em>/**<em>*</em></em> -<a name="251" href="#251">251</a> <em> * Test LogMF.trace with three arguments.</em> -<a name="252" href="#252">252</a> <em> */</em> -<a name="253" href="#253">253</a> <strong>public</strong> <strong>void</strong> testTraceThreeArg() { -<a name="254" href="#254">254</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="255" href="#255">255</a> logger.setLevel(TRACE); -<a name="256" href="#256">256</a> LogMF.trace(logger, <span class="string">"{1}{2} {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); -<a name="257" href="#257">257</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="258" href="#258">258</a> } -<a name="259" href="#259">259</a> -<a name="260" href="#260">260</a> <em>/**<em>*</em></em> -<a name="261" href="#261">261</a> <em> * Test LogMF.trace with four arguments.</em> -<a name="262" href="#262">262</a> <em> */</em> -<a name="263" href="#263">263</a> <strong>public</strong> <strong>void</strong> testTraceFourArg() { -<a name="264" href="#264">264</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="265" href="#265">265</a> logger.setLevel(TRACE); -<a name="266" href="#266">266</a> LogMF.trace(logger, <span class="string">"{1}{2} {0}{3}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); -<a name="267" href="#267">267</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="268" href="#268">268</a> } -<a name="269" href="#269">269</a> -<a name="270" href="#270">270</a> <em>/**<em>*</em></em> -<a name="271" href="#271">271</a> <em> * Test LogMF.trace with Object[] argument.</em> -<a name="272" href="#272">272</a> <em> */</em> -<a name="273" href="#273">273</a> <strong>public</strong> <strong>void</strong> testTraceArrayArg() { -<a name="274" href="#274">274</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="275" href="#275">275</a> logger.setLevel(TRACE); -<a name="276" href="#276">276</a> -<a name="277" href="#277">277</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; -<a name="278" href="#278">278</a> LogMF.trace(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); -<a name="279" href="#279">279</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="280" href="#280">280</a> } -<a name="281" href="#281">281</a> -<a name="282" href="#282">282</a> <em>/**<em>*</em></em> -<a name="283" href="#283">283</a> <em> * Test LogMF.trace with null Object[] argument.</em> -<a name="284" href="#284">284</a> <em> */</em> -<a name="285" href="#285">285</a> <strong>public</strong> <strong>void</strong> testTraceNullArrayArg() { -<a name="286" href="#286">286</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="287" href="#287">287</a> logger.setLevel(TRACE); -<a name="288" href="#288">288</a> -<a name="289" href="#289">289</a> Object[] args = <strong>null</strong>; -<a name="290" href="#290">290</a> LogMF.trace(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); -<a name="291" href="#291">291</a> assertEquals(<span class="string">"{1}{2} {0}{3}"</span>, capture.getMessage()); -<a name="292" href="#292">292</a> } -<a name="293" href="#293">293</a> -<a name="294" href="#294">294</a> -<a name="295" href="#295">295</a> <em>/**<em>*</em></em> -<a name="296" href="#296">296</a> <em> * Test LogMF.debug with null pattern.</em> -<a name="297" href="#297">297</a> <em> */</em> -<a name="298" href="#298">298</a> <strong>public</strong> <strong>void</strong> testDebugNullPattern() { -<a name="299" href="#299">299</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="300" href="#300">300</a> LogMF.debug(logger, <strong>null</strong>, Math.PI); -<a name="301" href="#301">301</a> assertEquals(<strong>null</strong>, capture.getMessage()); -<a name="302" href="#302">302</a> } -<a name="303" href="#303">303</a> -<a name="304" href="#304">304</a> <em>/**<em>*</em></em> -<a name="305" href="#305">305</a> <em> * Test LogMF.debug with no-field pattern.</em> -<a name="306" href="#306">306</a> <em> */</em> -<a name="307" href="#307">307</a> <strong>public</strong> <strong>void</strong> testDebugNoArg() { -<a name="308" href="#308">308</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="309" href="#309">309</a> LogMF.debug(logger, <span class="string">"Hello, World"</span>, Math.PI); -<a name="310" href="#310">310</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="311" href="#311">311</a> } -<a name="312" href="#312">312</a> -<a name="313" href="#313">313</a> <em>/**<em>*</em></em> -<a name="314" href="#314">314</a> <em> * Test LogMF.debug with malformed pattern.</em> -<a name="315" href="#315">315</a> <em> */</em> -<a name="316" href="#316">316</a> <strong>public</strong> <strong>void</strong> testDebugBadPattern() { -<a name="317" href="#317">317</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="318" href="#318">318</a> LogMF.debug(logger, <span class="string">"Hello, {."</span>, Math.PI); -<a name="319" href="#319">319</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="320" href="#320">320</a> } -<a name="321" href="#321">321</a> -<a name="322" href="#322">322</a> <em>/**<em>*</em></em> -<a name="323" href="#323">323</a> <em> * Test LogMF.debug with missing argument.</em> -<a name="324" href="#324">324</a> <em> */</em> -<a name="325" href="#325">325</a> <strong>public</strong> <strong>void</strong> testDebugMissingArg() { -<a name="326" href="#326">326</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="327" href="#327">327</a> LogMF.debug(logger, <span class="string">"Hello, {0}World"</span>, <strong>new</strong> Object[0]); -<a name="328" href="#328">328</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); -<a name="329" href="#329">329</a> } -<a name="330" href="#330">330</a> -<a name="331" href="#331">331</a> <em>/**<em>*</em></em> -<a name="332" href="#332">332</a> <em> * Test LogMF.debug with single field pattern with string argument.</em> -<a name="333" href="#333">333</a> <em> */</em> -<a name="334" href="#334">334</a> <strong>public</strong> <strong>void</strong> testDebugString() { -<a name="335" href="#335">335</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="336" href="#336">336</a> LogMF.debug(logger, <span class="string">"Hello, {0}"</span>, <span class="string">"World"</span>); -<a name="337" href="#337">337</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="338" href="#338">338</a> } -<a name="339" href="#339">339</a> -<a name="340" href="#340">340</a> <em>/**<em>*</em></em> -<a name="341" href="#341">341</a> <em> * Test LogMF.debug with single field pattern with null argument.</em> -<a name="342" href="#342">342</a> <em> */</em> -<a name="343" href="#343">343</a> <strong>public</strong> <strong>void</strong> testDebugNull() { -<a name="344" href="#344">344</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="345" href="#345">345</a> LogMF.debug(logger, <span class="string">"Hello, {0}"</span>, (Object) <strong>null</strong>); -<a name="346" href="#346">346</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="347" href="#347">347</a> } -<a name="348" href="#348">348</a> -<a name="349" href="#349">349</a> <em>/**<em>*</em></em> -<a name="350" href="#350">350</a> <em> * Test LogMF.debug with single field pattern with int argument.</em> -<a name="351" href="#351">351</a> <em> */</em> -<a name="352" href="#352">352</a> <strong>public</strong> <strong>void</strong> testDebugInt() { -<a name="353" href="#353">353</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="354" href="#354">354</a> <strong>int</strong> val = 42; -<a name="355" href="#355">355</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="356" href="#356">356</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="357" href="#357">357</a> } -<a name="358" href="#358">358</a> -<a name="359" href="#359">359</a> <em>/**<em>*</em></em> -<a name="360" href="#360">360</a> <em> * Test LogMF.debug with single field pattern with byte argument.</em> -<a name="361" href="#361">361</a> <em> */</em> -<a name="362" href="#362">362</a> <strong>public</strong> <strong>void</strong> testDebugByte() { -<a name="363" href="#363">363</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="364" href="#364">364</a> byte val = 42; -<a name="365" href="#365">365</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="366" href="#366">366</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="367" href="#367">367</a> } -<a name="368" href="#368">368</a> -<a name="369" href="#369">369</a> <em>/**<em>*</em></em> -<a name="370" href="#370">370</a> <em> * Test LogMF.debug with single field pattern with short argument.</em> -<a name="371" href="#371">371</a> <em> */</em> -<a name="372" href="#372">372</a> <strong>public</strong> <strong>void</strong> testDebugShort() { -<a name="373" href="#373">373</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="374" href="#374">374</a> <strong>short</strong> val = 42; -<a name="375" href="#375">375</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="376" href="#376">376</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="377" href="#377">377</a> } -<a name="378" href="#378">378</a> -<a name="379" href="#379">379</a> <em>/**<em>*</em></em> -<a name="380" href="#380">380</a> <em> * Test LogMF.debug with single field pattern with long argument.</em> -<a name="381" href="#381">381</a> <em> */</em> -<a name="382" href="#382">382</a> <strong>public</strong> <strong>void</strong> testDebugLong() { -<a name="383" href="#383">383</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="384" href="#384">384</a> <strong>long</strong> val = 42; -<a name="385" href="#385">385</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="386" href="#386">386</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="387" href="#387">387</a> } -<a name="388" href="#388">388</a> -<a name="389" href="#389">389</a> <em>/**<em>*</em></em> -<a name="390" href="#390">390</a> <em> * Test LogMF.debug with single field pattern with char argument.</em> -<a name="391" href="#391">391</a> <em> */</em> -<a name="392" href="#392">392</a> <strong>public</strong> <strong>void</strong> testDebugChar() { -<a name="393" href="#393">393</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="394" href="#394">394</a> <strong>char</strong> val = 'C'; -<a name="395" href="#395">395</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="396" href="#396">396</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="397" href="#397">397</a> } -<a name="398" href="#398">398</a> -<a name="399" href="#399">399</a> <em>/**<em>*</em></em> -<a name="400" href="#400">400</a> <em> * Test LogMF.debug with single field pattern with boolean argument.</em> -<a name="401" href="#401">401</a> <em> */</em> -<a name="402" href="#402">402</a> <strong>public</strong> <strong>void</strong> testDebugBoolean() { -<a name="403" href="#403">403</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="404" href="#404">404</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="405" href="#405">405</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="406" href="#406">406</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="407" href="#407">407</a> } -<a name="408" href="#408">408</a> -<a name="409" href="#409">409</a> <em>/**<em>*</em></em> -<a name="410" href="#410">410</a> <em> * Test LogMF.debug with single field pattern with float argument.</em> -<a name="411" href="#411">411</a> <em> */</em> -<a name="412" href="#412">412</a> <strong>public</strong> <strong>void</strong> testDebugFloat() { -<a name="413" href="#413">413</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="414" href="#414">414</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, (<strong>float</strong>) Math.PI); -<a name="415" href="#415">415</a> -<a name="416" href="#416">416</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="417" href="#417">417</a> <strong>new</strong> Object[] { <strong>new</strong> Float(Math.PI) }); -<a name="418" href="#418">418</a> assertEquals(expected, capture.getMessage()); -<a name="419" href="#419">419</a> } -<a name="420" href="#420">420</a> -<a name="421" href="#421">421</a> <em>/**<em>*</em></em> -<a name="422" href="#422">422</a> <em> * Test LogMF.debug with single field pattern with double argument.</em> -<a name="423" href="#423">423</a> <em> */</em> -<a name="424" href="#424">424</a> <strong>public</strong> <strong>void</strong> testDebugDouble() { -<a name="425" href="#425">425</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="426" href="#426">426</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, Math.PI); -<a name="427" href="#427">427</a> -<a name="428" href="#428">428</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="429" href="#429">429</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); -<a name="430" href="#430">430</a> assertEquals(expected, capture.getMessage()); -<a name="431" href="#431">431</a> } -<a name="432" href="#432">432</a> -<a name="433" href="#433">433</a> <em>/**<em>*</em></em> -<a name="434" href="#434">434</a> <em> * Test LogMF.debug with two arguments.</em> -<a name="435" href="#435">435</a> <em> */</em> -<a name="436" href="#436">436</a> <strong>public</strong> <strong>void</strong> testDebugTwoArg() { -<a name="437" href="#437">437</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="438" href="#438">438</a> LogMF.debug(logger, <span class="string">"{1}, {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); -<a name="439" href="#439">439</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="440" href="#440">440</a> } -<a name="441" href="#441">441</a> -<a name="442" href="#442">442</a> <em>/**<em>*</em></em> -<a name="443" href="#443">443</a> <em> * Test LogMF.debug with three arguments.</em> -<a name="444" href="#444">444</a> <em> */</em> -<a name="445" href="#445">445</a> <strong>public</strong> <strong>void</strong> testDebugThreeArg() { -<a name="446" href="#446">446</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="447" href="#447">447</a> LogMF.debug(logger, <span class="string">"{1}{2} {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); -<a name="448" href="#448">448</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="449" href="#449">449</a> } -<a name="450" href="#450">450</a> -<a name="451" href="#451">451</a> <em>/**<em>*</em></em> -<a name="452" href="#452">452</a> <em> * Test LogMF.debug with four arguments.</em> -<a name="453" href="#453">453</a> <em> */</em> -<a name="454" href="#454">454</a> <strong>public</strong> <strong>void</strong> testDebugFourArg() { -<a name="455" href="#455">455</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="456" href="#456">456</a> LogMF.debug(logger, <span class="string">"{1}{2} {0}{3}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); -<a name="457" href="#457">457</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="458" href="#458">458</a> } -<a name="459" href="#459">459</a> -<a name="460" href="#460">460</a> <em>/**<em>*</em></em> -<a name="461" href="#461">461</a> <em> * Test LogMF.debug with Object[] argument.</em> -<a name="462" href="#462">462</a> <em> */</em> -<a name="463" href="#463">463</a> <strong>public</strong> <strong>void</strong> testDebugArrayArg() { -<a name="464" href="#464">464</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="465" href="#465">465</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; -<a name="466" href="#466">466</a> LogMF.debug(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); -<a name="467" href="#467">467</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="468" href="#468">468</a> } -<a name="469" href="#469">469</a> -<a name="470" href="#470">470</a> <em>/**<em>*</em></em> -<a name="471" href="#471">471</a> <em> * Test LogMF.debug with single field pattern with double argument.</em> -<a name="472" href="#472">472</a> <em> */</em> -<a name="473" href="#473">473</a> <strong>public</strong> <strong>void</strong> testDebugDate() { -<a name="474" href="#474">474</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="475" href="#475">475</a> Date epoch = <strong>new</strong> Date(0); -<a name="476" href="#476">476</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, epoch); -<a name="477" href="#477">477</a> -<a name="478" href="#478">478</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="479" href="#479">479</a> <strong>new</strong> Object[] { epoch }); -<a name="480" href="#480">480</a> assertEquals(expected, capture.getMessage()); -<a name="481" href="#481">481</a> } -<a name="482" href="#482">482</a> -<a name="483" href="#483">483</a> <em>/**<em>*</em></em> -<a name="484" href="#484">484</a> <em> * Test LogMF.debug with null Object[] argument.</em> -<a name="485" href="#485">485</a> <em> */</em> -<a name="486" href="#486">486</a> <strong>public</strong> <strong>void</strong> testDebugNullArrayArg() { -<a name="487" href="#487">487</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="488" href="#488">488</a> Object[] args = <strong>null</strong>; -<a name="489" href="#489">489</a> LogMF.debug(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); -<a name="490" href="#490">490</a> assertEquals(<span class="string">"{1}{2} {0}{3}"</span>, capture.getMessage()); -<a name="491" href="#491">491</a> } -<a name="492" href="#492">492</a> -<a name="493" href="#493">493</a> <strong>public</strong> <strong>void</strong> testDebugPercent() { -<a name="494" href="#494">494</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="495" href="#495">495</a> LogMF.debug(logger, <span class="string">"{0, number, percent}"</span>, Math.PI); -<a name="496" href="#496">496</a> -<a name="497" href="#497">497</a> String expected = java.text.MessageFormat.format(<span class="string">"{0, number, percent}"</span>, -<a name="498" href="#498">498</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); -<a name="499" href="#499">499</a> assertEquals(expected, capture.getMessage()); -<a name="500" href="#500">500</a> } -<a name="501" href="#501">501</a> -<a name="502" href="#502">502</a> <strong>public</strong> <strong>void</strong> testDebugFullPrecisionAndPercent() { -<a name="503" href="#503">503</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="504" href="#504">504</a> LogMF.debug(logger, <span class="string">"{0}{0, number, percent}"</span>, Math.PI); -<a name="505" href="#505">505</a> -<a name="506" href="#506">506</a> String expected = java.text.MessageFormat.format(<span class="string">"{0}{0, number, percent}"</span>, -<a name="507" href="#507">507</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); -<a name="508" href="#508">508</a> assertEquals(expected, capture.getMessage()); -<a name="509" href="#509">509</a> } -<a name="510" href="#510">510</a> -<a name="511" href="#511">511</a> <strong>public</strong> <strong>void</strong> testDebugQuoted() { -<a name="512" href="#512">512</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="513" href="#513">513</a> LogMF.debug(logger, <span class="string">"'{0}'"</span>, <span class="string">"World"</span>); -<a name="514" href="#514">514</a> assertEquals(<span class="string">"{0}"</span>, capture.getMessage()); -<a name="515" href="#515">515</a> } -<a name="516" href="#516">516</a> -<a name="517" href="#517">517</a> <em>/**<em>*</em></em> -<a name="518" href="#518">518</a> <em> * Test LogMF.info with null pattern.</em> -<a name="519" href="#519">519</a> <em> */</em> -<a name="520" href="#520">520</a> <strong>public</strong> <strong>void</strong> testInfoNullPattern() { -<a name="521" href="#521">521</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="522" href="#522">522</a> LogMF.info(logger, <strong>null</strong>, Math.PI); -<a name="523" href="#523">523</a> assertNull(capture.getMessage()); -<a name="524" href="#524">524</a> } -<a name="525" href="#525">525</a> -<a name="526" href="#526">526</a> <em>/**<em>*</em></em> -<a name="527" href="#527">527</a> <em> * Test LogMF.info with no-field pattern.</em> -<a name="528" href="#528">528</a> <em> */</em> -<a name="529" href="#529">529</a> <strong>public</strong> <strong>void</strong> testInfoNoArg() { -<a name="530" href="#530">530</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="531" href="#531">531</a> LogMF.info(logger, <span class="string">"Hello, World"</span>, Math.PI); -<a name="532" href="#532">532</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="533" href="#533">533</a> } -<a name="534" href="#534">534</a> -<a name="535" href="#535">535</a> <em>/**<em>*</em></em> -<a name="536" href="#536">536</a> <em> * Test LogMF.info with malformed pattern.</em> -<a name="537" href="#537">537</a> <em> */</em> -<a name="538" href="#538">538</a> <strong>public</strong> <strong>void</strong> testInfoBadPattern() { -<a name="539" href="#539">539</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="540" href="#540">540</a> LogMF.info(logger, <span class="string">"Hello, {."</span>, Math.PI); -<a name="541" href="#541">541</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="542" href="#542">542</a> } -<a name="543" href="#543">543</a> -<a name="544" href="#544">544</a> <em>/**<em>*</em></em> -<a name="545" href="#545">545</a> <em> * Test LogMF.info with missing argument.</em> -<a name="546" href="#546">546</a> <em> */</em> -<a name="547" href="#547">547</a> <strong>public</strong> <strong>void</strong> testInfoMissingArg() { -<a name="548" href="#548">548</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="549" href="#549">549</a> LogMF.info(logger, <span class="string">"Hello, {0}World"</span>, <strong>new</strong> Object[0]); -<a name="550" href="#550">550</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); -<a name="551" href="#551">551</a> } -<a name="552" href="#552">552</a> -<a name="553" href="#553">553</a> <em>/**<em>*</em></em> -<a name="554" href="#554">554</a> <em> * Test LogMF.info with single field pattern with string argument.</em> -<a name="555" href="#555">555</a> <em> */</em> -<a name="556" href="#556">556</a> <strong>public</strong> <strong>void</strong> testInfoString() { -<a name="557" href="#557">557</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="558" href="#558">558</a> LogMF.info(logger, <span class="string">"Hello, {0}"</span>, <span class="string">"World"</span>); -<a name="559" href="#559">559</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="560" href="#560">560</a> } -<a name="561" href="#561">561</a> -<a name="562" href="#562">562</a> <em>/**<em>*</em></em> -<a name="563" href="#563">563</a> <em> * Test LogMF.info with single field pattern with null argument.</em> -<a name="564" href="#564">564</a> <em> */</em> -<a name="565" href="#565">565</a> <strong>public</strong> <strong>void</strong> testInfoNull() { -<a name="566" href="#566">566</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="567" href="#567">567</a> LogMF.info(logger, <span class="string">"Hello, {0}"</span>, (Object) <strong>null</strong>); -<a name="568" href="#568">568</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="569" href="#569">569</a> } -<a name="570" href="#570">570</a> -<a name="571" href="#571">571</a> <em>/**<em>*</em></em> -<a name="572" href="#572">572</a> <em> * Test LogMF.info with single field pattern with int argument.</em> -<a name="573" href="#573">573</a> <em> */</em> -<a name="574" href="#574">574</a> <strong>public</strong> <strong>void</strong> testInfoInt() { -<a name="575" href="#575">575</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="576" href="#576">576</a> <strong>int</strong> val = 42; -<a name="577" href="#577">577</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="578" href="#578">578</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="579" href="#579">579</a> } -<a name="580" href="#580">580</a> -<a name="581" href="#581">581</a> <em>/**<em>*</em></em> -<a name="582" href="#582">582</a> <em> * Test LogMF.info with single field pattern with byte argument.</em> -<a name="583" href="#583">583</a> <em> */</em> -<a name="584" href="#584">584</a> <strong>public</strong> <strong>void</strong> testInfoByte() { -<a name="585" href="#585">585</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="586" href="#586">586</a> byte val = 42; -<a name="587" href="#587">587</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="588" href="#588">588</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="589" href="#589">589</a> } -<a name="590" href="#590">590</a> -<a name="591" href="#591">591</a> <em>/**<em>*</em></em> -<a name="592" href="#592">592</a> <em> * Test LogMF.info with single field pattern with short argument.</em> -<a name="593" href="#593">593</a> <em> */</em> -<a name="594" href="#594">594</a> <strong>public</strong> <strong>void</strong> testInfoShort() { -<a name="595" href="#595">595</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="596" href="#596">596</a> <strong>short</strong> val = 42; -<a name="597" href="#597">597</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="598" href="#598">598</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="599" href="#599">599</a> } -<a name="600" href="#600">600</a> -<a name="601" href="#601">601</a> <em>/**<em>*</em></em> -<a name="602" href="#602">602</a> <em> * Test LogMF.info with single field pattern with long argument.</em> -<a name="603" href="#603">603</a> <em> */</em> -<a name="604" href="#604">604</a> <strong>public</strong> <strong>void</strong> testInfoLong() { -<a name="605" href="#605">605</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="606" href="#606">606</a> <strong>long</strong> val = 42; -<a name="607" href="#607">607</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="608" href="#608">608</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="609" href="#609">609</a> } -<a name="610" href="#610">610</a> -<a name="611" href="#611">611</a> <em>/**<em>*</em></em> -<a name="612" href="#612">612</a> <em> * Test LogMF.info with single field pattern with char argument.</em> -<a name="613" href="#613">613</a> <em> */</em> -<a name="614" href="#614">614</a> <strong>public</strong> <strong>void</strong> testInfoChar() { -<a name="615" href="#615">615</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="616" href="#616">616</a> <strong>char</strong> val = 'C'; -<a name="617" href="#617">617</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="618" href="#618">618</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="619" href="#619">619</a> } -<a name="620" href="#620">620</a> -<a name="621" href="#621">621</a> <em>/**<em>*</em></em> -<a name="622" href="#622">622</a> <em> * Test LogMF.info with single field pattern with boolean argument.</em> -<a name="623" href="#623">623</a> <em> */</em> -<a name="624" href="#624">624</a> <strong>public</strong> <strong>void</strong> testInfoBoolean() { -<a name="625" href="#625">625</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="626" href="#626">626</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="627" href="#627">627</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="628" href="#628">628</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="629" href="#629">629</a> } -<a name="630" href="#630">630</a> -<a name="631" href="#631">631</a> <em>/**<em>*</em></em> -<a name="632" href="#632">632</a> <em> * Test LogMF.info with single field pattern with float argument.</em> -<a name="633" href="#633">633</a> <em> */</em> -<a name="634" href="#634">634</a> <strong>public</strong> <strong>void</strong> testInfoFloat() { -<a name="635" href="#635">635</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="636" href="#636">636</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, (<strong>float</strong>) Math.PI); -<a name="637" href="#637">637</a> -<a name="638" href="#638">638</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="639" href="#639">639</a> <strong>new</strong> Object[] { <strong>new</strong> Float(Math.PI) }); -<a name="640" href="#640">640</a> assertEquals(expected, capture.getMessage()); -<a name="641" href="#641">641</a> } -<a name="642" href="#642">642</a> -<a name="643" href="#643">643</a> <em>/**<em>*</em></em> -<a name="644" href="#644">644</a> <em> * Test LogMF.info with single field pattern with double argument.</em> -<a name="645" href="#645">645</a> <em> */</em> -<a name="646" href="#646">646</a> <strong>public</strong> <strong>void</strong> testInfoDouble() { -<a name="647" href="#647">647</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="648" href="#648">648</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, Math.PI); -<a name="649" href="#649">649</a> -<a name="650" href="#650">650</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="651" href="#651">651</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); -<a name="652" href="#652">652</a> assertEquals(expected, capture.getMessage()); -<a name="653" href="#653">653</a> } -<a name="654" href="#654">654</a> -<a name="655" href="#655">655</a> <em>/**<em>*</em></em> -<a name="656" href="#656">656</a> <em> * Test LogMF.info with two arguments.</em> -<a name="657" href="#657">657</a> <em> */</em> -<a name="658" href="#658">658</a> <strong>public</strong> <strong>void</strong> testInfoTwoArg() { -<a name="659" href="#659">659</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="660" href="#660">660</a> LogMF.info(logger, <span class="string">"{1}, {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); -<a name="661" href="#661">661</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="662" href="#662">662</a> } -<a name="663" href="#663">663</a> -<a name="664" href="#664">664</a> <em>/**<em>*</em></em> -<a name="665" href="#665">665</a> <em> * Test LogMF.info with three arguments.</em> -<a name="666" href="#666">666</a> <em> */</em> -<a name="667" href="#667">667</a> <strong>public</strong> <strong>void</strong> testInfoThreeArg() { -<a name="668" href="#668">668</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="669" href="#669">669</a> LogMF.info(logger, <span class="string">"{1}{2} {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); -<a name="670" href="#670">670</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="671" href="#671">671</a> } -<a name="672" href="#672">672</a> -<a name="673" href="#673">673</a> <em>/**<em>*</em></em> -<a name="674" href="#674">674</a> <em> * Test LogMF.info with four arguments.</em> -<a name="675" href="#675">675</a> <em> */</em> -<a name="676" href="#676">676</a> <strong>public</strong> <strong>void</strong> testInfoFourArg() { -<a name="677" href="#677">677</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="678" href="#678">678</a> LogMF.info(logger, <span class="string">"{1}{2} {0}{3}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); -<a name="679" href="#679">679</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="680" href="#680">680</a> } -<a name="681" href="#681">681</a> -<a name="682" href="#682">682</a> <em>/**<em>*</em></em> -<a name="683" href="#683">683</a> <em> * Test LogMF.info with Object[] argument.</em> -<a name="684" href="#684">684</a> <em> */</em> -<a name="685" href="#685">685</a> <strong>public</strong> <strong>void</strong> testInfoArrayArg() { -<a name="686" href="#686">686</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="687" href="#687">687</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; -<a name="688" href="#688">688</a> LogMF.info(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); -<a name="689" href="#689">689</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="690" href="#690">690</a> } -<a name="691" href="#691">691</a> -<a name="692" href="#692">692</a> <em>/**<em>*</em></em> -<a name="693" href="#693">693</a> <em> * Test LogMF.warn with null pattern.</em> -<a name="694" href="#694">694</a> <em> */</em> -<a name="695" href="#695">695</a> <strong>public</strong> <strong>void</strong> testWarnNullPattern() { -<a name="696" href="#696">696</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="697" href="#697">697</a> LogMF.warn(logger, <strong>null</strong>, Math.PI); -<a name="698" href="#698">698</a> assertNull(capture.getMessage()); -<a name="699" href="#699">699</a> } -<a name="700" href="#700">700</a> -<a name="701" href="#701">701</a> <em>/**<em>*</em></em> -<a name="702" href="#702">702</a> <em> * Test LogMF.warn with no-field pattern.</em> -<a name="703" href="#703">703</a> <em> */</em> -<a name="704" href="#704">704</a> <strong>public</strong> <strong>void</strong> testWarnNoArg() { -<a name="705" href="#705">705</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="706" href="#706">706</a> LogMF.warn(logger, <span class="string">"Hello, World"</span>, Math.PI); -<a name="707" href="#707">707</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="708" href="#708">708</a> } -<a name="709" href="#709">709</a> -<a name="710" href="#710">710</a> <em>/**<em>*</em></em> -<a name="711" href="#711">711</a> <em> * Test LogMF.warn with malformed pattern.</em> -<a name="712" href="#712">712</a> <em> */</em> -<a name="713" href="#713">713</a> <strong>public</strong> <strong>void</strong> testWarnBadPattern() { -<a name="714" href="#714">714</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="715" href="#715">715</a> LogMF.warn(logger, <span class="string">"Hello, {."</span>, Math.PI); -<a name="716" href="#716">716</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="717" href="#717">717</a> } -<a name="718" href="#718">718</a> -<a name="719" href="#719">719</a> <em>/**<em>*</em></em> -<a name="720" href="#720">720</a> <em> * Test LogMF.warn with missing argument.</em> -<a name="721" href="#721">721</a> <em> */</em> -<a name="722" href="#722">722</a> <strong>public</strong> <strong>void</strong> testWarnMissingArg() { -<a name="723" href="#723">723</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="724" href="#724">724</a> LogMF.warn(logger, <span class="string">"Hello, {0}World"</span>, <strong>new</strong> Object[0]); -<a name="725" href="#725">725</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); -<a name="726" href="#726">726</a> } -<a name="727" href="#727">727</a> -<a name="728" href="#728">728</a> <em>/**<em>*</em></em> -<a name="729" href="#729">729</a> <em> * Test LogMF.warn with single field pattern with string argument.</em> -<a name="730" href="#730">730</a> <em> */</em> -<a name="731" href="#731">731</a> <strong>public</strong> <strong>void</strong> testWarnString() { -<a name="732" href="#732">732</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="733" href="#733">733</a> LogMF.warn(logger, <span class="string">"Hello, {0}"</span>, <span class="string">"World"</span>); -<a name="734" href="#734">734</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="735" href="#735">735</a> } -<a name="736" href="#736">736</a> -<a name="737" href="#737">737</a> <em>/**<em>*</em></em> -<a name="738" href="#738">738</a> <em> * Test LogMF.warn with single field pattern with null argument.</em> -<a name="739" href="#739">739</a> <em> */</em> -<a name="740" href="#740">740</a> <strong>public</strong> <strong>void</strong> testWarnNull() { -<a name="741" href="#741">741</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="742" href="#742">742</a> LogMF.warn(logger, <span class="string">"Hello, {0}"</span>, (Object) <strong>null</strong>); -<a name="743" href="#743">743</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="744" href="#744">744</a> } -<a name="745" href="#745">745</a> -<a name="746" href="#746">746</a> <em>/**<em>*</em></em> -<a name="747" href="#747">747</a> <em> * Test LogMF.warn with single field pattern with int argument.</em> -<a name="748" href="#748">748</a> <em> */</em> -<a name="749" href="#749">749</a> <strong>public</strong> <strong>void</strong> testWarnInt() { -<a name="750" href="#750">750</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="751" href="#751">751</a> <strong>int</strong> val = 42; -<a name="752" href="#752">752</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="753" href="#753">753</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="754" href="#754">754</a> } -<a name="755" href="#755">755</a> -<a name="756" href="#756">756</a> <em>/**<em>*</em></em> -<a name="757" href="#757">757</a> <em> * Test LogMF.warn with single field pattern with byte argument.</em> -<a name="758" href="#758">758</a> <em> */</em> -<a name="759" href="#759">759</a> <strong>public</strong> <strong>void</strong> testWarnByte() { -<a name="760" href="#760">760</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="761" href="#761">761</a> byte val = 42; -<a name="762" href="#762">762</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="763" href="#763">763</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="764" href="#764">764</a> } -<a name="765" href="#765">765</a> -<a name="766" href="#766">766</a> <em>/**<em>*</em></em> -<a name="767" href="#767">767</a> <em> * Test LogMF.warn with single field pattern with short argument.</em> -<a name="768" href="#768">768</a> <em> */</em> -<a name="769" href="#769">769</a> <strong>public</strong> <strong>void</strong> testWarnShort() { -<a name="770" href="#770">770</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="771" href="#771">771</a> <strong>short</strong> val = 42; -<a name="772" href="#772">772</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="773" href="#773">773</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="774" href="#774">774</a> } -<a name="775" href="#775">775</a> -<a name="776" href="#776">776</a> <em>/**<em>*</em></em> -<a name="777" href="#777">777</a> <em> * Test LogMF.warn with single field pattern with long argument.</em> -<a name="778" href="#778">778</a> <em> */</em> -<a name="779" href="#779">779</a> <strong>public</strong> <strong>void</strong> testWarnLong() { -<a name="780" href="#780">780</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="781" href="#781">781</a> <strong>long</strong> val = 42; -<a name="782" href="#782">782</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="783" href="#783">783</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="784" href="#784">784</a> } -<a name="785" href="#785">785</a> -<a name="786" href="#786">786</a> <em>/**<em>*</em></em> -<a name="787" href="#787">787</a> <em> * Test LogMF.warn with single field pattern with char argument.</em> -<a name="788" href="#788">788</a> <em> */</em> -<a name="789" href="#789">789</a> <strong>public</strong> <strong>void</strong> testWarnChar() { -<a name="790" href="#790">790</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="791" href="#791">791</a> <strong>char</strong> val = 'C'; -<a name="792" href="#792">792</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="793" href="#793">793</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="794" href="#794">794</a> } -<a name="795" href="#795">795</a> -<a name="796" href="#796">796</a> <em>/**<em>*</em></em> -<a name="797" href="#797">797</a> <em> * Test LogMF.warn with single field pattern with boolean argument.</em> -<a name="798" href="#798">798</a> <em> */</em> -<a name="799" href="#799">799</a> <strong>public</strong> <strong>void</strong> testWarnBoolean() { -<a name="800" href="#800">800</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="801" href="#801">801</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="802" href="#802">802</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); -<a name="803" href="#803">803</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="804" href="#804">804</a> } -<a name="805" href="#805">805</a> -<a name="806" href="#806">806</a> <em>/**<em>*</em></em> -<a name="807" href="#807">807</a> <em> * Test LogMF.warn with single field pattern with float argument.</em> -<a name="808" href="#808">808</a> <em> */</em> -<a name="809" href="#809">809</a> <strong>public</strong> <strong>void</strong> testWarnFloat() { -<a name="810" href="#810">810</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="811" href="#811">811</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, (<strong>float</strong>) Math.PI); -<a name="812" href="#812">812</a> -<a name="813" href="#813">813</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="814" href="#814">814</a> <strong>new</strong> Object[] { <strong>new</strong> Float(Math.PI) }); -<a name="815" href="#815">815</a> assertEquals(expected, capture.getMessage()); -<a name="816" href="#816">816</a> } -<a name="817" href="#817">817</a> -<a name="818" href="#818">818</a> <em>/**<em>*</em></em> -<a name="819" href="#819">819</a> <em> * Test LogMF.debug with single field pattern with double argument.</em> -<a name="820" href="#820">820</a> <em> */</em> -<a name="821" href="#821">821</a> <strong>public</strong> <strong>void</strong> testWarnDouble() { -<a name="822" href="#822">822</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="823" href="#823">823</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, Math.PI); -<a name="824" href="#824">824</a> -<a name="825" href="#825">825</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="826" href="#826">826</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); -<a name="827" href="#827">827</a> assertEquals(expected, capture.getMessage()); -<a name="828" href="#828">828</a> } -<a name="829" href="#829">829</a> -<a name="830" href="#830">830</a> <em>/**<em>*</em></em> -<a name="831" href="#831">831</a> <em> * Test LogMF.warn with two arguments.</em> -<a name="832" href="#832">832</a> <em> */</em> -<a name="833" href="#833">833</a> <strong>public</strong> <strong>void</strong> testWarnTwoArg() { -<a name="834" href="#834">834</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="835" href="#835">835</a> LogMF.warn(logger, <span class="string">"{1}, {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); -<a name="836" href="#836">836</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="837" href="#837">837</a> } -<a name="838" href="#838">838</a> -<a name="839" href="#839">839</a> <em>/**<em>*</em></em> -<a name="840" href="#840">840</a> <em> * Test LogMF.warn with three arguments.</em> -<a name="841" href="#841">841</a> <em> */</em> -<a name="842" href="#842">842</a> <strong>public</strong> <strong>void</strong> testWarnThreeArg() { -<a name="843" href="#843">843</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="844" href="#844">844</a> LogMF.warn(logger, <span class="string">"{1}{2} {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); -<a name="845" href="#845">845</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="846" href="#846">846</a> } -<a name="847" href="#847">847</a> -<a name="848" href="#848">848</a> <em>/**<em>*</em></em> -<a name="849" href="#849">849</a> <em> * Test LogMF.debug with four arguments.</em> -<a name="850" href="#850">850</a> <em> */</em> -<a name="851" href="#851">851</a> <strong>public</strong> <strong>void</strong> testWarnFourArg() { -<a name="852" href="#852">852</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="853" href="#853">853</a> LogMF.warn(logger, <span class="string">"{1}{2} {0}{3}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); -<a name="854" href="#854">854</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="855" href="#855">855</a> } -<a name="856" href="#856">856</a> -<a name="857" href="#857">857</a> <em>/**<em>*</em></em> -<a name="858" href="#858">858</a> <em> * Test LogMF.warn with Object[] argument.</em> -<a name="859" href="#859">859</a> <em> */</em> -<a name="860" href="#860">860</a> <strong>public</strong> <strong>void</strong> testWarnArrayArg() { -<a name="861" href="#861">861</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="862" href="#862">862</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; -<a name="863" href="#863">863</a> LogMF.warn(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); -<a name="864" href="#864">864</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="865" href="#865">865</a> } -<a name="866" href="#866">866</a> -<a name="867" href="#867">867</a> <em>/**<em>*</em></em> -<a name="868" href="#868">868</a> <em> * Test LogMF.log with null pattern.</em> -<a name="869" href="#869">869</a> <em> */</em> -<a name="870" href="#870">870</a> <strong>public</strong> <strong>void</strong> testLogNullPattern() { -<a name="871" href="#871">871</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="872" href="#872">872</a> LogMF.log(logger, Level.ERROR, <strong>null</strong>, Math.PI); -<a name="873" href="#873">873</a> assertNull(capture.getMessage()); -<a name="874" href="#874">874</a> } -<a name="875" href="#875">875</a> -<a name="876" href="#876">876</a> <em>/**<em>*</em></em> -<a name="877" href="#877">877</a> <em> * Test LogMF.log with no-field pattern.</em> -<a name="878" href="#878">878</a> <em> */</em> -<a name="879" href="#879">879</a> <strong>public</strong> <strong>void</strong> testLogNoArg() { -<a name="880" href="#880">880</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="881" href="#881">881</a> LogMF.log(logger, Level.ERROR, <span class="string">"Hello, World"</span>, Math.PI); -<a name="882" href="#882">882</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="883" href="#883">883</a> } -<a name="884" href="#884">884</a> -<a name="885" href="#885">885</a> <em>/**<em>*</em></em> -<a name="886" href="#886">886</a> <em> * Test LogMF.log with malformed pattern.</em> -<a name="887" href="#887">887</a> <em> */</em> -<a name="888" href="#888">888</a> <strong>public</strong> <strong>void</strong> testLogBadPattern() { -<a name="889" href="#889">889</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="890" href="#890">890</a> LogMF.log(logger, Level.ERROR, <span class="string">"Hello, {."</span>, Math.PI); -<a name="891" href="#891">891</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="892" href="#892">892</a> } -<a name="893" href="#893">893</a> -<a name="894" href="#894">894</a> <em>/**<em>*</em></em> -<a name="895" href="#895">895</a> <em> * Test LogMF.log with missing argument.</em> -<a name="896" href="#896">896</a> <em> */</em> -<a name="897" href="#897">897</a> <strong>public</strong> <strong>void</strong> testLogMissingArg() { -<a name="898" href="#898">898</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="899" href="#899">899</a> LogMF.log(logger, Level.ERROR, <span class="string">"Hello, {0}World"</span>, <strong>new</strong> Object[0]); -<a name="900" href="#900">900</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); -<a name="901" href="#901">901</a> } -<a name="902" href="#902">902</a> -<a name="903" href="#903">903</a> <em>/**<em>*</em></em> -<a name="904" href="#904">904</a> <em> * Test LogMF.log with single field pattern with string argument.</em> -<a name="905" href="#905">905</a> <em> */</em> -<a name="906" href="#906">906</a> <strong>public</strong> <strong>void</strong> testLogString() { -<a name="907" href="#907">907</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="908" href="#908">908</a> LogMF.log(logger, Level.ERROR, <span class="string">"Hello, {0}"</span>, <span class="string">"World"</span>); -<a name="909" href="#909">909</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="910" href="#910">910</a> } -<a name="911" href="#911">911</a> -<a name="912" href="#912">912</a> <em>/**<em>*</em></em> -<a name="913" href="#913">913</a> <em> * Test LogMF.log with single field pattern with null argument.</em> -<a name="914" href="#914">914</a> <em> */</em> -<a name="915" href="#915">915</a> <strong>public</strong> <strong>void</strong> testLogNull() { -<a name="916" href="#916">916</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="917" href="#917">917</a> LogMF.log(logger, Level.ERROR, <span class="string">"Hello, {0}"</span>, (Object) <strong>null</strong>); -<a name="918" href="#918">918</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="919" href="#919">919</a> } -<a name="920" href="#920">920</a> -<a name="921" href="#921">921</a> <em>/**<em>*</em></em> -<a name="922" href="#922">922</a> <em> * Test LogMF.log with single field pattern with int argument.</em> -<a name="923" href="#923">923</a> <em> */</em> -<a name="924" href="#924">924</a> <strong>public</strong> <strong>void</strong> testLogInt() { -<a name="925" href="#925">925</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="926" href="#926">926</a> <strong>int</strong> val = 42; -<a name="927" href="#927">927</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); -<a name="928" href="#928">928</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="929" href="#929">929</a> } -<a name="930" href="#930">930</a> -<a name="931" href="#931">931</a> <em>/**<em>*</em></em> -<a name="932" href="#932">932</a> <em> * Test LogMF.log with single field pattern with byte argument.</em> -<a name="933" href="#933">933</a> <em> */</em> -<a name="934" href="#934">934</a> <strong>public</strong> <strong>void</strong> testLogByte() { -<a name="935" href="#935">935</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="936" href="#936">936</a> byte val = 42; -<a name="937" href="#937">937</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); -<a name="938" href="#938">938</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="939" href="#939">939</a> } -<a name="940" href="#940">940</a> -<a name="941" href="#941">941</a> <em>/**<em>*</em></em> -<a name="942" href="#942">942</a> <em> * Test LogMF.log with single field pattern with short argument.</em> -<a name="943" href="#943">943</a> <em> */</em> -<a name="944" href="#944">944</a> <strong>public</strong> <strong>void</strong> testLogShort() { -<a name="945" href="#945">945</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="946" href="#946">946</a> <strong>short</strong> val = 42; -<a name="947" href="#947">947</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); -<a name="948" href="#948">948</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="949" href="#949">949</a> } -<a name="950" href="#950">950</a> -<a name="951" href="#951">951</a> <em>/**<em>*</em></em> -<a name="952" href="#952">952</a> <em> * Test LogMF.log with single field pattern with long argument.</em> -<a name="953" href="#953">953</a> <em> */</em> -<a name="954" href="#954">954</a> <strong>public</strong> <strong>void</strong> testLogLong() { -<a name="955" href="#955">955</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="956" href="#956">956</a> <strong>long</strong> val = 42; -<a name="957" href="#957">957</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); -<a name="958" href="#958">958</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="959" href="#959">959</a> } -<a name="960" href="#960">960</a> -<a name="961" href="#961">961</a> <em>/**<em>*</em></em> -<a name="962" href="#962">962</a> <em> * Test LogMF.log with single field pattern with char argument.</em> -<a name="963" href="#963">963</a> <em> */</em> -<a name="964" href="#964">964</a> <strong>public</strong> <strong>void</strong> testLogChar() { -<a name="965" href="#965">965</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="966" href="#966">966</a> <strong>char</strong> val = 'C'; -<a name="967" href="#967">967</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); -<a name="968" href="#968">968</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="969" href="#969">969</a> } -<a name="970" href="#970">970</a> -<a name="971" href="#971">971</a> <em>/**<em>*</em></em> -<a name="972" href="#972">972</a> <em> * Test LogMF.log with single field pattern with boolean argument.</em> -<a name="973" href="#973">973</a> <em> */</em> -<a name="974" href="#974">974</a> <strong>public</strong> <strong>void</strong> testLogBoolean() { -<a name="975" href="#975">975</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="976" href="#976">976</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="977" href="#977">977</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); -<a name="978" href="#978">978</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="979" href="#979">979</a> } -<a name="980" href="#980">980</a> -<a name="981" href="#981">981</a> <em>/**<em>*</em></em> -<a name="982" href="#982">982</a> <em> * Test LogMF.log with single field pattern with float argument.</em> -<a name="983" href="#983">983</a> <em> */</em> -<a name="984" href="#984">984</a> <strong>public</strong> <strong>void</strong> testLogFloat() { -<a name="985" href="#985">985</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="986" href="#986">986</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, (<strong>float</strong>) Math.PI); -<a name="987" href="#987">987</a> -<a name="988" href="#988">988</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="989" href="#989">989</a> <strong>new</strong> Object[] { <strong>new</strong> Float(Math.PI) }); -<a name="990" href="#990">990</a> assertEquals(expected, capture.getMessage()); -<a name="991" href="#991">991</a> } -<a name="992" href="#992">992</a> -<a name="993" href="#993">993</a> <em>/**<em>*</em></em> -<a name="994" href="#994">994</a> <em> * Test LogMF.log with single field pattern with double argument.</em> -<a name="995" href="#995">995</a> <em> */</em> -<a name="996" href="#996">996</a> <strong>public</strong> <strong>void</strong> testLogDouble() { -<a name="997" href="#997">997</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="998" href="#998">998</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, Math.PI); -<a name="999" href="#999">999</a> -<a name="1000" href="#1000">1000</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="1001" href="#1001">1001</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); -<a name="1002" href="#1002">1002</a> assertEquals(expected, capture.getMessage()); -<a name="1003" href="#1003">1003</a> } -<a name="1004" href="#1004">1004</a> -<a name="1005" href="#1005">1005</a> <em>/**<em>*</em></em> -<a name="1006" href="#1006">1006</a> <em> * Test LogMF.log with two arguments.</em> -<a name="1007" href="#1007">1007</a> <em> */</em> -<a name="1008" href="#1008">1008</a> <strong>public</strong> <strong>void</strong> testLogTwoArg() { -<a name="1009" href="#1009">1009</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1010" href="#1010">1010</a> LogMF.log(logger, Level.ERROR, <span class="string">"{1}, {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); -<a name="1011" href="#1011">1011</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1012" href="#1012">1012</a> } -<a name="1013" href="#1013">1013</a> -<a name="1014" href="#1014">1014</a> <em>/**<em>*</em></em> -<a name="1015" href="#1015">1015</a> <em> * Test LogMF.log with three arguments.</em> -<a name="1016" href="#1016">1016</a> <em> */</em> -<a name="1017" href="#1017">1017</a> <strong>public</strong> <strong>void</strong> testLogThreeArg() { -<a name="1018" href="#1018">1018</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1019" href="#1019">1019</a> LogMF.log(logger, Level.ERROR, <span class="string">"{1}{2} {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); -<a name="1020" href="#1020">1020</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1021" href="#1021">1021</a> } -<a name="1022" href="#1022">1022</a> -<a name="1023" href="#1023">1023</a> <em>/**<em>*</em></em> -<a name="1024" href="#1024">1024</a> <em> * Test LogMF.log with four arguments.</em> -<a name="1025" href="#1025">1025</a> <em> */</em> -<a name="1026" href="#1026">1026</a> <strong>public</strong> <strong>void</strong> testLogFourArg() { -<a name="1027" href="#1027">1027</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1028" href="#1028">1028</a> LogMF.log(logger, Level.ERROR, <span class="string">"{1}{2} {0}{3}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); -<a name="1029" href="#1029">1029</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1030" href="#1030">1030</a> } -<a name="1031" href="#1031">1031</a> -<a name="1032" href="#1032">1032</a> <em>/**<em>*</em></em> -<a name="1033" href="#1033">1033</a> <em> * Test LogMF.log with Object[] argument.</em> -<a name="1034" href="#1034">1034</a> <em> */</em> -<a name="1035" href="#1035">1035</a> <strong>public</strong> <strong>void</strong> testLogArrayArg() { -<a name="1036" href="#1036">1036</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1037" href="#1037">1037</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; -<a name="1038" href="#1038">1038</a> LogMF.log(logger, Level.ERROR, <span class="string">"{1}{2} {0}{3}"</span>, args); -<a name="1039" href="#1039">1039</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1040" href="#1040">1040</a> } -<a name="1041" href="#1041">1041</a> -<a name="1042" href="#1042">1042</a> <em>/**<em>*</em></em> -<a name="1043" href="#1043">1043</a> <em> * Bundle name for resource bundle tests.</em> -<a name="1044" href="#1044">1044</a> <em> */</em> -<a name="1045" href="#1045">1045</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String BUNDLE_NAME = -<a name="1046" href="#1046">1046</a> <span class="string">"org.apache.log4j.TestLogMFPatterns"</span>; -<a name="1047" href="#1047">1047</a> -<a name="1048" href="#1048">1048</a> <em>/**<em>*</em></em> -<a name="1049" href="#1049">1049</a> <em> * Test LogMF.logrb with null bundle name.</em> -<a name="1050" href="#1050">1050</a> <em> */</em> -<a name="1051" href="#1051">1051</a> <strong>public</strong> <strong>void</strong> testLogrbNullBundle() { -<a name="1052" href="#1052">1052</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1053" href="#1053">1053</a> LogMF.logrb(logger, Level.ERROR, <strong>null</strong>, <span class="string">"Iteration0"</span>, Math.PI); -<a name="1054" href="#1054">1054</a> assertEquals(<span class="string">"Iteration0"</span>, capture.getMessage()); -<a name="1055" href="#1055">1055</a> } -<a name="1056" href="#1056">1056</a> -<a name="1057" href="#1057">1057</a> <em>/**<em>*</em></em> -<a name="1058" href="#1058">1058</a> <em> * Test LogMF.logrb with null key.</em> -<a name="1059" href="#1059">1059</a> <em> */</em> -<a name="1060" href="#1060">1060</a> <strong>public</strong> <strong>void</strong> testLogrbNullKey() { -<a name="1061" href="#1061">1061</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1062" href="#1062">1062</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <strong>null</strong>, Math.PI); -<a name="1063" href="#1063">1063</a> assertNull(capture.getMessage()); -<a name="1064" href="#1064">1064</a> } -<a name="1065" href="#1065">1065</a> -<a name="1066" href="#1066">1066</a> <em>/**<em>*</em></em> -<a name="1067" href="#1067">1067</a> <em> * Test LogMF.logrb with no-field pattern.</em> -<a name="1068" href="#1068">1068</a> <em> */</em> -<a name="1069" href="#1069">1069</a> <strong>public</strong> <strong>void</strong> testLogrbNoArg() { -<a name="1070" href="#1070">1070</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1071" href="#1071">1071</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello1"</span>, Math.PI); -<a name="1072" href="#1072">1072</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="1073" href="#1073">1073</a> } -<a name="1074" href="#1074">1074</a> -<a name="1075" href="#1075">1075</a> <em>/**<em>*</em></em> -<a name="1076" href="#1076">1076</a> <em> * Test LogMF.logrb with malformed pattern.</em> -<a name="1077" href="#1077">1077</a> <em> */</em> -<a name="1078" href="#1078">1078</a> <strong>public</strong> <strong>void</strong> testLogrbBadPattern() { -<a name="1079" href="#1079">1079</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1080" href="#1080">1080</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Malformed"</span>, Math.PI); -<a name="1081" href="#1081">1081</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="1082" href="#1082">1082</a> } -<a name="1083" href="#1083">1083</a> -<a name="1084" href="#1084">1084</a> <em>/**<em>*</em></em> -<a name="1085" href="#1085">1085</a> <em> * Test LogMF.logrb with missing argument.</em> -<a name="1086" href="#1086">1086</a> <em> */</em> -<a name="1087" href="#1087">1087</a> <strong>public</strong> <strong>void</strong> testLogrbMissingArg() { -<a name="1088" href="#1088">1088</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1089" href="#1089">1089</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello2"</span>, <strong>new</strong> Object[0]); -<a name="1090" href="#1090">1090</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); -<a name="1091" href="#1091">1091</a> } -<a name="1092" href="#1092">1092</a> -<a name="1093" href="#1093">1093</a> <em>/**<em>*</em></em> -<a name="1094" href="#1094">1094</a> <em> * Test LogMF.logrb with single field pattern with string argument.</em> -<a name="1095" href="#1095">1095</a> <em> */</em> -<a name="1096" href="#1096">1096</a> <strong>public</strong> <strong>void</strong> testLogrbString() { -<a name="1097" href="#1097">1097</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1098" href="#1098">1098</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello3"</span>, <span class="string">"World"</span>); -<a name="1099" href="#1099">1099</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="1100" href="#1100">1100</a> } -<a name="1101" href="#1101">1101</a> -<a name="1102" href="#1102">1102</a> <em>/**<em>*</em></em> -<a name="1103" href="#1103">1103</a> <em> * Test LogMF.logrb with single field pattern with null argument.</em> -<a name="1104" href="#1104">1104</a> <em> */</em> -<a name="1105" href="#1105">1105</a> <strong>public</strong> <strong>void</strong> testLogrbNull() { -<a name="1106" href="#1106">1106</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1107" href="#1107">1107</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello3"</span>, (Object) <strong>null</strong>); -<a name="1108" href="#1108">1108</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="1109" href="#1109">1109</a> } -<a name="1110" href="#1110">1110</a> -<a name="1111" href="#1111">1111</a> <em>/**<em>*</em></em> -<a name="1112" href="#1112">1112</a> <em> * Test LogMF.logrb with single field pattern with int argument.</em> -<a name="1113" href="#1113">1113</a> <em> */</em> -<a name="1114" href="#1114">1114</a> <strong>public</strong> <strong>void</strong> testLogrbInt() { -<a name="1115" href="#1115">1115</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1116" href="#1116">1116</a> <strong>int</strong> val = 42; -<a name="1117" href="#1117">1117</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1118" href="#1118">1118</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="1119" href="#1119">1119</a> } -<a name="1120" href="#1120">1120</a> -<a name="1121" href="#1121">1121</a> <em>/**<em>*</em></em> -<a name="1122" href="#1122">1122</a> <em> * Test LogMF.logrb with single field pattern with byte argument.</em> -<a name="1123" href="#1123">1123</a> <em> */</em> -<a name="1124" href="#1124">1124</a> <strong>public</strong> <strong>void</strong> testLogrbByte() { -<a name="1125" href="#1125">1125</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1126" href="#1126">1126</a> byte val = 42; -<a name="1127" href="#1127">1127</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1128" href="#1128">1128</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="1129" href="#1129">1129</a> } -<a name="1130" href="#1130">1130</a> -<a name="1131" href="#1131">1131</a> <em>/**<em>*</em></em> -<a name="1132" href="#1132">1132</a> <em> * Test LogMF.logrb with single field pattern with short argument.</em> -<a name="1133" href="#1133">1133</a> <em> */</em> -<a name="1134" href="#1134">1134</a> <strong>public</strong> <strong>void</strong> testLogrbShort() { -<a name="1135" href="#1135">1135</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1136" href="#1136">1136</a> <strong>short</strong> val = 42; -<a name="1137" href="#1137">1137</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1138" href="#1138">1138</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="1139" href="#1139">1139</a> } -<a name="1140" href="#1140">1140</a> -<a name="1141" href="#1141">1141</a> <em>/**<em>*</em></em> -<a name="1142" href="#1142">1142</a> <em> * Test LogMF.logrb with single field pattern with long argument.</em> -<a name="1143" href="#1143">1143</a> <em> */</em> -<a name="1144" href="#1144">1144</a> <strong>public</strong> <strong>void</strong> testLogrbLong() { -<a name="1145" href="#1145">1145</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1146" href="#1146">1146</a> <strong>long</strong> val = 42; -<a name="1147" href="#1147">1147</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1148" href="#1148">1148</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="1149" href="#1149">1149</a> } -<a name="1150" href="#1150">1150</a> -<a name="1151" href="#1151">1151</a> <em>/**<em>*</em></em> -<a name="1152" href="#1152">1152</a> <em> * Test LogMF.logrb with single field pattern with char argument.</em> -<a name="1153" href="#1153">1153</a> <em> */</em> -<a name="1154" href="#1154">1154</a> <strong>public</strong> <strong>void</strong> testLogrbChar() { -<a name="1155" href="#1155">1155</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1156" href="#1156">1156</a> <strong>char</strong> val = 'C'; -<a name="1157" href="#1157">1157</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1158" href="#1158">1158</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="1159" href="#1159">1159</a> } -<a name="1160" href="#1160">1160</a> -<a name="1161" href="#1161">1161</a> <em>/**<em>*</em></em> -<a name="1162" href="#1162">1162</a> <em> * Test LogMF.logrb with single field pattern with boolean argument.</em> -<a name="1163" href="#1163">1163</a> <em> */</em> -<a name="1164" href="#1164">1164</a> <strong>public</strong> <strong>void</strong> testLogrbBoolean() { -<a name="1165" href="#1165">1165</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1166" href="#1166">1166</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="1167" href="#1167">1167</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1168" href="#1168">1168</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="1169" href="#1169">1169</a> } -<a name="1170" href="#1170">1170</a> -<a name="1171" href="#1171">1171</a> <em>/**<em>*</em></em> -<a name="1172" href="#1172">1172</a> <em> * Test LogMF.logrb with single field pattern with float argument.</em> -<a name="1173" href="#1173">1173</a> <em> */</em> -<a name="1174" href="#1174">1174</a> <strong>public</strong> <strong>void</strong> testLogrbFloat() { -<a name="1175" href="#1175">1175</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1176" href="#1176">1176</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, (<strong>float</strong>) Math.PI); -<a name="1177" href="#1177">1177</a> -<a name="1178" href="#1178">1178</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="1179" href="#1179">1179</a> <strong>new</strong> Object[] { <strong>new</strong> Float(Math.PI) }); -<a name="1180" href="#1180">1180</a> assertEquals(expected, capture.getMessage()); -<a name="1181" href="#1181">1181</a> } -<a name="1182" href="#1182">1182</a> -<a name="1183" href="#1183">1183</a> <em>/**<em>*</em></em> -<a name="1184" href="#1184">1184</a> <em> * Test LogMF.logrb with single field pattern with double argument.</em> -<a name="1185" href="#1185">1185</a> <em> */</em> -<a name="1186" href="#1186">1186</a> <strong>public</strong> <strong>void</strong> testLogrbDouble() { -<a name="1187" href="#1187">1187</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1188" href="#1188">1188</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, Math.PI); -<a name="1189" href="#1189">1189</a> -<a name="1190" href="#1190">1190</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, -<a name="1191" href="#1191">1191</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); -<a name="1192" href="#1192">1192</a> assertEquals(expected, capture.getMessage()); -<a name="1193" href="#1193">1193</a> } -<a name="1194" href="#1194">1194</a> -<a name="1195" href="#1195">1195</a> <em>/**<em>*</em></em> -<a name="1196" href="#1196">1196</a> <em> * Test LogMF.logrb with two arguments.</em> -<a name="1197" href="#1197">1197</a> <em> */</em> -<a name="1198" href="#1198">1198</a> <strong>public</strong> <strong>void</strong> testLogrbTwoArg() { -<a name="1199" href="#1199">1199</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1200" href="#1200">1200</a> LogMF.logrb(logger, Level.ERROR, -<a name="1201" href="#1201">1201</a> BUNDLE_NAME, <span class="string">"Hello4"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); -<a name="1202" href="#1202">1202</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1203" href="#1203">1203</a> } -<a name="1204" href="#1204">1204</a> -<a name="1205" href="#1205">1205</a> <em>/**<em>*</em></em> -<a name="1206" href="#1206">1206</a> <em> * Test LogMF.logrb with three arguments.</em> -<a name="1207" href="#1207">1207</a> <em> */</em> -<a name="1208" href="#1208">1208</a> <strong>public</strong> <strong>void</strong> testLogrbThreeArg() { -<a name="1209" href="#1209">1209</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1210" href="#1210">1210</a> LogMF.logrb(logger, Level.ERROR, -<a name="1211" href="#1211">1211</a> BUNDLE_NAME, <span class="string">"Hello5"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); -<a name="1212" href="#1212">1212</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1213" href="#1213">1213</a> } -<a name="1214" href="#1214">1214</a> -<a name="1215" href="#1215">1215</a> <em>/**<em>*</em></em> -<a name="1216" href="#1216">1216</a> <em> * Test LogMF.logrb with four arguments.</em> -<a name="1217" href="#1217">1217</a> <em> */</em> -<a name="1218" href="#1218">1218</a> <strong>public</strong> <strong>void</strong> testLogrbFourArg() { -<a name="1219" href="#1219">1219</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1220" href="#1220">1220</a> LogMF.logrb(logger, Level.ERROR, -<a name="1221" href="#1221">1221</a> BUNDLE_NAME, <span class="string">"Hello6"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); -<a name="1222" href="#1222">1222</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1223" href="#1223">1223</a> } -<a name="1224" href="#1224">1224</a> -<a name="1225" href="#1225">1225</a> <em>/**<em>*</em></em> -<a name="1226" href="#1226">1226</a> <em> * Test LogMF.logrb with Object[] argument.</em> -<a name="1227" href="#1227">1227</a> <em> */</em> -<a name="1228" href="#1228">1228</a> <strong>public</strong> <strong>void</strong> testLogrbArrayArg() { -<a name="1229" href="#1229">1229</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1230" href="#1230">1230</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; -<a name="1231" href="#1231">1231</a> LogMF.logrb(logger, Level.ERROR, -<a name="1232" href="#1232">1232</a> BUNDLE_NAME, <span class="string">"Hello6"</span>, args); -<a name="1233" href="#1233">1233</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1234" href="#1234">1234</a> } -<a name="1235" href="#1235">1235</a> -<a name="1236" href="#1236">1236</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/TestLogSF.html b/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/TestLogSF.html deleted file mode 100644 index 897f6da0f98..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/TestLogSF.html +++ /dev/null @@ -1,1187 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TestLogSF xref</title> -<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/TestLogSF.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> <strong>import</strong> java.io.CharArrayWriter; -<a name="22" href="#22">22</a> <strong>import</strong> java.text.MessageFormat; -<a name="23" href="#23">23</a> <strong>import</strong> java.util.Date; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <em>/**<em>*</em></em> -<a name="27" href="#27">27</a> <em> * Unit test for LogSF.</em> -<a name="28" href="#28">28</a> <em> */</em> -<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/TestLogSF.html">TestLogSF</a> <strong>extends</strong> TestCase { -<a name="30" href="#30">30</a> <em>/**<em>*</em></em> -<a name="31" href="#31">31</a> <em> * Trace level.</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> Level TRACE = getTraceLevel(); -<a name="34" href="#34">34</a> -<a name="35" href="#35">35</a> <em>/**<em>*</em></em> -<a name="36" href="#36">36</a> <em> * Gets Trace level.</em> -<a name="37" href="#37">37</a> <em> * Trace level was not defined prior to log4j 1.2.12.</em> -<a name="38" href="#38">38</a> <em> * @return trace level</em> -<a name="39" href="#39">39</a> <em> */</em> -<a name="40" href="#40">40</a> <strong>private</strong> <strong>static</strong> Level getTraceLevel() { -<a name="41" href="#41">41</a> <strong>try</strong> { -<a name="42" href="#42">42</a> <strong>return</strong> (Level) Level.<strong>class</strong>.getField(<span class="string">"TRACE"</span>).get(<strong>null</strong>); -<a name="43" href="#43">43</a> } <strong>catch</strong>(Exception ex) { -<a name="44" href="#44">44</a> <strong>return</strong> <strong>new</strong> Level(5000, <span class="string">"TRACE"</span>, 7); -<a name="45" href="#45">45</a> } -<a name="46" href="#46">46</a> } -<a name="47" href="#47">47</a> -<a name="48" href="#48">48</a> <em>/**<em>*</em></em> -<a name="49" href="#49">49</a> <em> * Logger.</em> -<a name="50" href="#50">50</a> <em> */</em> -<a name="51" href="#51">51</a> <strong>private</strong> <strong>final</strong> Logger logger = Logger.getLogger( -<a name="52" href="#52">52</a> <span class="string">"org.apache.log4j.formatter.TestLogSF"</span>); -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <em>/**<em>*</em></em> -<a name="55" href="#55">55</a> <em> * Create the test case</em> -<a name="56" href="#56">56</a> <em> *</em> -<a name="57" href="#57">57</a> <em> * @param testName name of the test case</em> -<a name="58" href="#58">58</a> <em> */</em> -<a name="59" href="#59">59</a> <strong>public</strong> <a href="../../../org/apache/log4j/TestLogSF.html">TestLogSF</a>(String testName) { -<a name="60" href="#60">60</a> <strong>super</strong>(testName); -<a name="61" href="#61">61</a> } -<a name="62" href="#62">62</a> -<a name="63" href="#63">63</a> -<a name="64" href="#64">64</a> <em>/**<em>*</em></em> -<a name="65" href="#65">65</a> <em> * Post test clean up.</em> -<a name="66" href="#66">66</a> <em> */</em> -<a name="67" href="#67">67</a> <strong>public</strong> <strong>void</strong> tearDown() { -<a name="68" href="#68">68</a> LogManager.resetConfiguration(); -<a name="69" href="#69">69</a> } -<a name="70" href="#70">70</a> -<a name="71" href="#71">71</a> <em>/**<em>*</em></em> -<a name="72" href="#72">72</a> <em> * Test class name when logging through LogSF.</em> -<a name="73" href="#73">73</a> <em> */</em> -<a name="74" href="#74">74</a> <strong>public</strong> <strong>void</strong> testClassName() { -<a name="75" href="#75">75</a> CharArrayWriter writer = <strong>new</strong> CharArrayWriter(); -<a name="76" href="#76">76</a> PatternLayout layout = <strong>new</strong> PatternLayout(<span class="string">"%C"</span>); -<a name="77" href="#77">77</a> WriterAppender appender = <strong>new</strong> WriterAppender(layout, writer); -<a name="78" href="#78">78</a> appender.activateOptions(); -<a name="79" href="#79">79</a> Logger.getRootLogger().addAppender(appender); -<a name="80" href="#80">80</a> LogSF.debug(logger, <strong>null</strong>, Math.PI); -<a name="81" href="#81">81</a> assertEquals(TestLogSF.<strong>class</strong>.getName(), writer.toString()); -<a name="82" href="#82">82</a> } -<a name="83" href="#83">83</a> -<a name="84" href="#84">84</a> -<a name="85" href="#85">85</a> -<a name="86" href="#86">86</a> <em>/**<em>*</em></em> -<a name="87" href="#87">87</a> <em> * Test LogSF.trace with null pattern.</em> -<a name="88" href="#88">88</a> <em> */</em> -<a name="89" href="#89">89</a> <strong>public</strong> <strong>void</strong> testTraceNullPattern() { -<a name="90" href="#90">90</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="91" href="#91">91</a> logger.setLevel(TRACE); -<a name="92" href="#92">92</a> LogSF.trace(logger, <strong>null</strong>, Math.PI); -<a name="93" href="#93">93</a> assertNull(capture.getMessage()); -<a name="94" href="#94">94</a> } -<a name="95" href="#95">95</a> -<a name="96" href="#96">96</a> <em>/**<em>*</em></em> -<a name="97" href="#97">97</a> <em> * Test LogSF.trace with no-field pattern.</em> -<a name="98" href="#98">98</a> <em> */</em> -<a name="99" href="#99">99</a> <strong>public</strong> <strong>void</strong> testTraceNoArg() { -<a name="100" href="#100">100</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="101" href="#101">101</a> logger.setLevel(TRACE); -<a name="102" href="#102">102</a> LogSF.trace(logger, <span class="string">"Hello, World"</span>, Math.PI); -<a name="103" href="#103">103</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="104" href="#104">104</a> } -<a name="105" href="#105">105</a> -<a name="106" href="#106">106</a> <em>/**<em>*</em></em> -<a name="107" href="#107">107</a> <em> * Test LogSF.trace with malformed pattern.</em> -<a name="108" href="#108">108</a> <em> */</em> -<a name="109" href="#109">109</a> <strong>public</strong> <strong>void</strong> testTraceBadPattern() { -<a name="110" href="#110">110</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="111" href="#111">111</a> logger.setLevel(TRACE); -<a name="112" href="#112">112</a> LogSF.trace(logger, <span class="string">"Hello, {."</span>, Math.PI); -<a name="113" href="#113">113</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="114" href="#114">114</a> } -<a name="115" href="#115">115</a> -<a name="116" href="#116">116</a> <em>/**<em>*</em></em> -<a name="117" href="#117">117</a> <em> * Test LogSF.trace with missing argument.</em> -<a name="118" href="#118">118</a> <em> */</em> -<a name="119" href="#119">119</a> <strong>public</strong> <strong>void</strong> testTraceMissingArg() { -<a name="120" href="#120">120</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="121" href="#121">121</a> logger.setLevel(TRACE); -<a name="122" href="#122">122</a> LogSF.trace(logger, <span class="string">"Hello, {}World"</span>, <strong>new</strong> Object[0]); -<a name="123" href="#123">123</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); -<a name="124" href="#124">124</a> } -<a name="125" href="#125">125</a> -<a name="126" href="#126">126</a> <em>/**<em>*</em></em> -<a name="127" href="#127">127</a> <em> * Test LogSF.trace with single field pattern with string argument.</em> -<a name="128" href="#128">128</a> <em> */</em> -<a name="129" href="#129">129</a> <strong>public</strong> <strong>void</strong> testTraceString() { -<a name="130" href="#130">130</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="131" href="#131">131</a> logger.setLevel(TRACE); -<a name="132" href="#132">132</a> LogSF.trace(logger, <span class="string">"Hello, {}"</span>, <span class="string">"World"</span>); -<a name="133" href="#133">133</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="134" href="#134">134</a> } -<a name="135" href="#135">135</a> -<a name="136" href="#136">136</a> <em>/**<em>*</em></em> -<a name="137" href="#137">137</a> <em> * Test LogSF.trace with single field pattern with null argument.</em> -<a name="138" href="#138">138</a> <em> */</em> -<a name="139" href="#139">139</a> <strong>public</strong> <strong>void</strong> testTraceNull() { -<a name="140" href="#140">140</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="141" href="#141">141</a> logger.setLevel(TRACE); -<a name="142" href="#142">142</a> LogSF.trace(logger, <span class="string">"Hello, {}"</span>, (Object) <strong>null</strong>); -<a name="143" href="#143">143</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="144" href="#144">144</a> } -<a name="145" href="#145">145</a> -<a name="146" href="#146">146</a> <em>/**<em>*</em></em> -<a name="147" href="#147">147</a> <em> * Test LogSF.trace with single field pattern with int argument.</em> -<a name="148" href="#148">148</a> <em> */</em> -<a name="149" href="#149">149</a> <strong>public</strong> <strong>void</strong> testTraceInt() { -<a name="150" href="#150">150</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="151" href="#151">151</a> logger.setLevel(TRACE); -<a name="152" href="#152">152</a> <strong>int</strong> val = 42; -<a name="153" href="#153">153</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); -<a name="154" href="#154">154</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="155" href="#155">155</a> } -<a name="156" href="#156">156</a> -<a name="157" href="#157">157</a> <em>/**<em>*</em></em> -<a name="158" href="#158">158</a> <em> * Test LogSF.trace with single field pattern with byte argument.</em> -<a name="159" href="#159">159</a> <em> */</em> -<a name="160" href="#160">160</a> <strong>public</strong> <strong>void</strong> testTraceByte() { -<a name="161" href="#161">161</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="162" href="#162">162</a> logger.setLevel(TRACE); -<a name="163" href="#163">163</a> byte val = 42; -<a name="164" href="#164">164</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); -<a name="165" href="#165">165</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="166" href="#166">166</a> } -<a name="167" href="#167">167</a> -<a name="168" href="#168">168</a> <em>/**<em>*</em></em> -<a name="169" href="#169">169</a> <em> * Test LogSF.trace with single field pattern with short argument.</em> -<a name="170" href="#170">170</a> <em> */</em> -<a name="171" href="#171">171</a> <strong>public</strong> <strong>void</strong> testTraceShort() { -<a name="172" href="#172">172</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="173" href="#173">173</a> logger.setLevel(TRACE); -<a name="174" href="#174">174</a> <strong>short</strong> val = 42; -<a name="175" href="#175">175</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); -<a name="176" href="#176">176</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="177" href="#177">177</a> } -<a name="178" href="#178">178</a> -<a name="179" href="#179">179</a> <em>/**<em>*</em></em> -<a name="180" href="#180">180</a> <em> * Test LogSF.trace with single field pattern with long argument.</em> -<a name="181" href="#181">181</a> <em> */</em> -<a name="182" href="#182">182</a> <strong>public</strong> <strong>void</strong> testTraceLong() { -<a name="183" href="#183">183</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="184" href="#184">184</a> logger.setLevel(TRACE); -<a name="185" href="#185">185</a> <strong>long</strong> val = 42; -<a name="186" href="#186">186</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); -<a name="187" href="#187">187</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="188" href="#188">188</a> } -<a name="189" href="#189">189</a> -<a name="190" href="#190">190</a> <em>/**<em>*</em></em> -<a name="191" href="#191">191</a> <em> * Test LogSF.trace with single field pattern with char argument.</em> -<a name="192" href="#192">192</a> <em> */</em> -<a name="193" href="#193">193</a> <strong>public</strong> <strong>void</strong> testTraceChar() { -<a name="194" href="#194">194</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="195" href="#195">195</a> logger.setLevel(TRACE); -<a name="196" href="#196">196</a> <strong>char</strong> val = 'C'; -<a name="197" href="#197">197</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); -<a name="198" href="#198">198</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="199" href="#199">199</a> } -<a name="200" href="#200">200</a> -<a name="201" href="#201">201</a> <em>/**<em>*</em></em> -<a name="202" href="#202">202</a> <em> * Test LogSF.trace with single field pattern with boolean argument.</em> -<a name="203" href="#203">203</a> <em> */</em> -<a name="204" href="#204">204</a> <strong>public</strong> <strong>void</strong> testTraceBoolean() { -<a name="205" href="#205">205</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="206" href="#206">206</a> logger.setLevel(TRACE); -<a name="207" href="#207">207</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="208" href="#208">208</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); -<a name="209" href="#209">209</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="210" href="#210">210</a> } -<a name="211" href="#211">211</a> -<a name="212" href="#212">212</a> <em>/**<em>*</em></em> -<a name="213" href="#213">213</a> <em> * Test LogSF.trace with single field pattern with float argument.</em> -<a name="214" href="#214">214</a> <em> */</em> -<a name="215" href="#215">215</a> <strong>public</strong> <strong>void</strong> testTraceFloat() { -<a name="216" href="#216">216</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="217" href="#217">217</a> logger.setLevel(TRACE); -<a name="218" href="#218">218</a> <strong>float</strong> val = 3.14f; -<a name="219" href="#219">219</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); -<a name="220" href="#220">220</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); -<a name="221" href="#221">221</a> } -<a name="222" href="#222">222</a> -<a name="223" href="#223">223</a> <em>/**<em>*</em></em> -<a name="224" href="#224">224</a> <em> * Test LogSF.trace with single field pattern with double argument.</em> -<a name="225" href="#225">225</a> <em> */</em> -<a name="226" href="#226">226</a> <strong>public</strong> <strong>void</strong> testTraceDouble() { -<a name="227" href="#227">227</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="228" href="#228">228</a> logger.setLevel(TRACE); -<a name="229" href="#229">229</a> <strong>double</strong> val = 3.14; -<a name="230" href="#230">230</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); -<a name="231" href="#231">231</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); -<a name="232" href="#232">232</a> } -<a name="233" href="#233">233</a> -<a name="234" href="#234">234</a> <em>/**<em>*</em></em> -<a name="235" href="#235">235</a> <em> * Test LogSF.trace with two arguments.</em> -<a name="236" href="#236">236</a> <em> */</em> -<a name="237" href="#237">237</a> <strong>public</strong> <strong>void</strong> testTraceTwoArg() { -<a name="238" href="#238">238</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="239" href="#239">239</a> logger.setLevel(TRACE); -<a name="240" href="#240">240</a> LogSF.trace(logger, <span class="string">"{}, {}."</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); -<a name="241" href="#241">241</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="242" href="#242">242</a> -<a name="243" href="#243">243</a> } -<a name="244" href="#244">244</a> -<a name="245" href="#245">245</a> <em>/**<em>*</em></em> -<a name="246" href="#246">246</a> <em> * Test LogSF.trace with three arguments.</em> -<a name="247" href="#247">247</a> <em> */</em> -<a name="248" href="#248">248</a> <strong>public</strong> <strong>void</strong> testTraceThreeArg() { -<a name="249" href="#249">249</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="250" href="#250">250</a> logger.setLevel(TRACE); -<a name="251" href="#251">251</a> LogSF.trace(logger, <span class="string">"{}{} {}."</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); -<a name="252" href="#252">252</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="253" href="#253">253</a> } -<a name="254" href="#254">254</a> -<a name="255" href="#255">255</a> <em>/**<em>*</em></em> -<a name="256" href="#256">256</a> <em> * Test LogSF.trace with Object[] argument.</em> -<a name="257" href="#257">257</a> <em> */</em> -<a name="258" href="#258">258</a> <strong>public</strong> <strong>void</strong> testTraceFourArg() { -<a name="259" href="#259">259</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="260" href="#260">260</a> logger.setLevel(TRACE); -<a name="261" href="#261">261</a> LogSF.trace(logger, <span class="string">"{}{} {}{}"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span>); -<a name="262" href="#262">262</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="263" href="#263">263</a> } -<a name="264" href="#264">264</a> -<a name="265" href="#265">265</a> <em>/**<em>*</em></em> -<a name="266" href="#266">266</a> <em> * Test LogSF.trace with Object[] argument.</em> -<a name="267" href="#267">267</a> <em> */</em> -<a name="268" href="#268">268</a> <strong>public</strong> <strong>void</strong> testTraceArrayArg() { -<a name="269" href="#269">269</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="270" href="#270">270</a> logger.setLevel(TRACE); -<a name="271" href="#271">271</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; -<a name="272" href="#272">272</a> LogSF.trace(logger, <span class="string">"{}{} {}{}"</span>, args); -<a name="273" href="#273">273</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="274" href="#274">274</a> } -<a name="275" href="#275">275</a> -<a name="276" href="#276">276</a> <em>/**<em>*</em></em> -<a name="277" href="#277">277</a> <em> * Test LogSF.trace with null Object[] argument.</em> -<a name="278" href="#278">278</a> <em> */</em> -<a name="279" href="#279">279</a> <strong>public</strong> <strong>void</strong> testTraceNullArrayArg() { -<a name="280" href="#280">280</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); -<a name="281" href="#281">281</a> logger.setLevel(TRACE); -<a name="282" href="#282">282</a> Object[] args = <strong>null</strong>; -<a name="283" href="#283">283</a> LogSF.trace(logger, <span class="string">"{}{} {}{}"</span>, args); -<a name="284" href="#284">284</a> assertEquals(<span class="string">"{}{} {}{}"</span>, capture.getMessage()); -<a name="285" href="#285">285</a> } -<a name="286" href="#286">286</a> -<a name="287" href="#287">287</a> -<a name="288" href="#288">288</a> -<a name="289" href="#289">289</a> <em>/**<em>*</em></em> -<a name="290" href="#290">290</a> <em> * Test LogSF.debug with null pattern.</em> -<a name="291" href="#291">291</a> <em> */</em> -<a name="292" href="#292">292</a> <strong>public</strong> <strong>void</strong> testDebugNullPattern() { -<a name="293" href="#293">293</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="294" href="#294">294</a> LogSF.debug(logger, <strong>null</strong>, Math.PI); -<a name="295" href="#295">295</a> assertNull(capture.getMessage()); -<a name="296" href="#296">296</a> } -<a name="297" href="#297">297</a> -<a name="298" href="#298">298</a> <em>/**<em>*</em></em> -<a name="299" href="#299">299</a> <em> * Test LogSF.debug with no-field pattern.</em> -<a name="300" href="#300">300</a> <em> */</em> -<a name="301" href="#301">301</a> <strong>public</strong> <strong>void</strong> testDebugNoArg() { -<a name="302" href="#302">302</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="303" href="#303">303</a> LogSF.debug(logger, <span class="string">"Hello, World"</span>, Math.PI); -<a name="304" href="#304">304</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="305" href="#305">305</a> } -<a name="306" href="#306">306</a> -<a name="307" href="#307">307</a> <em>/**<em>*</em></em> -<a name="308" href="#308">308</a> <em> * Test LogSF.debug with malformed pattern.</em> -<a name="309" href="#309">309</a> <em> */</em> -<a name="310" href="#310">310</a> <strong>public</strong> <strong>void</strong> testDebugBadPattern() { -<a name="311" href="#311">311</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="312" href="#312">312</a> LogSF.debug(logger, <span class="string">"Hello, {."</span>, Math.PI); -<a name="313" href="#313">313</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="314" href="#314">314</a> } -<a name="315" href="#315">315</a> -<a name="316" href="#316">316</a> <em>/**<em>*</em></em> -<a name="317" href="#317">317</a> <em> * Test LogSF.debug with missing argument.</em> -<a name="318" href="#318">318</a> <em> */</em> -<a name="319" href="#319">319</a> <strong>public</strong> <strong>void</strong> testDebugMissingArg() { -<a name="320" href="#320">320</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="321" href="#321">321</a> LogSF.debug(logger, <span class="string">"Hello, {}World"</span>, <strong>new</strong> Object[0]); -<a name="322" href="#322">322</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); -<a name="323" href="#323">323</a> } -<a name="324" href="#324">324</a> -<a name="325" href="#325">325</a> <em>/**<em>*</em></em> -<a name="326" href="#326">326</a> <em> * Test LogSF.debug with single field pattern with string argument.</em> -<a name="327" href="#327">327</a> <em> */</em> -<a name="328" href="#328">328</a> <strong>public</strong> <strong>void</strong> testDebugString() { -<a name="329" href="#329">329</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="330" href="#330">330</a> LogSF.debug(logger, <span class="string">"Hello, {}"</span>, <span class="string">"World"</span>); -<a name="331" href="#331">331</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="332" href="#332">332</a> } -<a name="333" href="#333">333</a> -<a name="334" href="#334">334</a> <em>/**<em>*</em></em> -<a name="335" href="#335">335</a> <em> * Test LogSF.debug with single field pattern with null argument.</em> -<a name="336" href="#336">336</a> <em> */</em> -<a name="337" href="#337">337</a> <strong>public</strong> <strong>void</strong> testDebugNull() { -<a name="338" href="#338">338</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="339" href="#339">339</a> LogSF.debug(logger, <span class="string">"Hello, {}"</span>, (Object) <strong>null</strong>); -<a name="340" href="#340">340</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="341" href="#341">341</a> } -<a name="342" href="#342">342</a> -<a name="343" href="#343">343</a> <em>/**<em>*</em></em> -<a name="344" href="#344">344</a> <em> * Test LogSF.debug with single field pattern with int argument.</em> -<a name="345" href="#345">345</a> <em> */</em> -<a name="346" href="#346">346</a> <strong>public</strong> <strong>void</strong> testDebugInt() { -<a name="347" href="#347">347</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="348" href="#348">348</a> <strong>int</strong> val = 42; -<a name="349" href="#349">349</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); -<a name="350" href="#350">350</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="351" href="#351">351</a> } -<a name="352" href="#352">352</a> -<a name="353" href="#353">353</a> <em>/**<em>*</em></em> -<a name="354" href="#354">354</a> <em> * Test LogSF.debug with single field pattern with byte argument.</em> -<a name="355" href="#355">355</a> <em> */</em> -<a name="356" href="#356">356</a> <strong>public</strong> <strong>void</strong> testDebugByte() { -<a name="357" href="#357">357</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="358" href="#358">358</a> byte val = 42; -<a name="359" href="#359">359</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); -<a name="360" href="#360">360</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="361" href="#361">361</a> } -<a name="362" href="#362">362</a> -<a name="363" href="#363">363</a> <em>/**<em>*</em></em> -<a name="364" href="#364">364</a> <em> * Test LogSF.debug with single field pattern with short argument.</em> -<a name="365" href="#365">365</a> <em> */</em> -<a name="366" href="#366">366</a> <strong>public</strong> <strong>void</strong> testDebugShort() { -<a name="367" href="#367">367</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="368" href="#368">368</a> <strong>short</strong> val = 42; -<a name="369" href="#369">369</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); -<a name="370" href="#370">370</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="371" href="#371">371</a> } -<a name="372" href="#372">372</a> -<a name="373" href="#373">373</a> <em>/**<em>*</em></em> -<a name="374" href="#374">374</a> <em> * Test LogSF.debug with single field pattern with long argument.</em> -<a name="375" href="#375">375</a> <em> */</em> -<a name="376" href="#376">376</a> <strong>public</strong> <strong>void</strong> testDebugLong() { -<a name="377" href="#377">377</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="378" href="#378">378</a> <strong>long</strong> val = 42; -<a name="379" href="#379">379</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); -<a name="380" href="#380">380</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="381" href="#381">381</a> } -<a name="382" href="#382">382</a> -<a name="383" href="#383">383</a> <em>/**<em>*</em></em> -<a name="384" href="#384">384</a> <em> * Test LogSF.debug with single field pattern with char argument.</em> -<a name="385" href="#385">385</a> <em> */</em> -<a name="386" href="#386">386</a> <strong>public</strong> <strong>void</strong> testDebugChar() { -<a name="387" href="#387">387</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="388" href="#388">388</a> <strong>char</strong> val = 'C'; -<a name="389" href="#389">389</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); -<a name="390" href="#390">390</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="391" href="#391">391</a> } -<a name="392" href="#392">392</a> -<a name="393" href="#393">393</a> <em>/**<em>*</em></em> -<a name="394" href="#394">394</a> <em> * Test LogSF.debug with single field pattern with boolean argument.</em> -<a name="395" href="#395">395</a> <em> */</em> -<a name="396" href="#396">396</a> <strong>public</strong> <strong>void</strong> testDebugBoolean() { -<a name="397" href="#397">397</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="398" href="#398">398</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="399" href="#399">399</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); -<a name="400" href="#400">400</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="401" href="#401">401</a> } -<a name="402" href="#402">402</a> -<a name="403" href="#403">403</a> <em>/**<em>*</em></em> -<a name="404" href="#404">404</a> <em> * Test LogSF.debug with single field pattern with float argument.</em> -<a name="405" href="#405">405</a> <em> */</em> -<a name="406" href="#406">406</a> <strong>public</strong> <strong>void</strong> testDebugFloat() { -<a name="407" href="#407">407</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="408" href="#408">408</a> <strong>float</strong> val = 3.14f; -<a name="409" href="#409">409</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); -<a name="410" href="#410">410</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); -<a name="411" href="#411">411</a> } -<a name="412" href="#412">412</a> -<a name="413" href="#413">413</a> <em>/**<em>*</em></em> -<a name="414" href="#414">414</a> <em> * Test LogSF.debug with single field pattern with double argument.</em> -<a name="415" href="#415">415</a> <em> */</em> -<a name="416" href="#416">416</a> <strong>public</strong> <strong>void</strong> testDebugDouble() { -<a name="417" href="#417">417</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="418" href="#418">418</a> <strong>double</strong> val = 3.14; -<a name="419" href="#419">419</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); -<a name="420" href="#420">420</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); -<a name="421" href="#421">421</a> } -<a name="422" href="#422">422</a> -<a name="423" href="#423">423</a> <em>/**<em>*</em></em> -<a name="424" href="#424">424</a> <em> * Test LogSF.debug with two arguments.</em> -<a name="425" href="#425">425</a> <em> */</em> -<a name="426" href="#426">426</a> <strong>public</strong> <strong>void</strong> testDebugTwoArg() { -<a name="427" href="#427">427</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="428" href="#428">428</a> LogSF.debug(logger, <span class="string">"{}, {}."</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); -<a name="429" href="#429">429</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="430" href="#430">430</a> -<a name="431" href="#431">431</a> } -<a name="432" href="#432">432</a> -<a name="433" href="#433">433</a> <em>/**<em>*</em></em> -<a name="434" href="#434">434</a> <em> * Test LogSF.debug with three arguments.</em> -<a name="435" href="#435">435</a> <em> */</em> -<a name="436" href="#436">436</a> <strong>public</strong> <strong>void</strong> testDebugThreeArg() { -<a name="437" href="#437">437</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="438" href="#438">438</a> LogSF.debug(logger, <span class="string">"{}{} {}."</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); -<a name="439" href="#439">439</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="440" href="#440">440</a> } -<a name="441" href="#441">441</a> -<a name="442" href="#442">442</a> <em>/**<em>*</em></em> -<a name="443" href="#443">443</a> <em> * Test LogSF.debug with four arguments.</em> -<a name="444" href="#444">444</a> <em> */</em> -<a name="445" href="#445">445</a> <strong>public</strong> <strong>void</strong> testDebugFourArg() { -<a name="446" href="#446">446</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="447" href="#447">447</a> LogSF.debug(logger, <span class="string">"{}{} {}{}"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span>); -<a name="448" href="#448">448</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="449" href="#449">449</a> } -<a name="450" href="#450">450</a> -<a name="451" href="#451">451</a> <em>/**<em>*</em></em> -<a name="452" href="#452">452</a> <em> * Test LogSF.debug with Object[] argument.</em> -<a name="453" href="#453">453</a> <em> */</em> -<a name="454" href="#454">454</a> <strong>public</strong> <strong>void</strong> testDebugArrayArg() { -<a name="455" href="#455">455</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="456" href="#456">456</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; -<a name="457" href="#457">457</a> LogSF.debug(logger, <span class="string">"{}{} {}{}"</span>, args); -<a name="458" href="#458">458</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="459" href="#459">459</a> } -<a name="460" href="#460">460</a> -<a name="461" href="#461">461</a> <em>/**<em>*</em></em> -<a name="462" href="#462">462</a> <em> * Test LogSF.debug with null Object[] argument.</em> -<a name="463" href="#463">463</a> <em> */</em> -<a name="464" href="#464">464</a> <strong>public</strong> <strong>void</strong> testDebugNullArrayArg() { -<a name="465" href="#465">465</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); -<a name="466" href="#466">466</a> Object[] args = <strong>null</strong>; -<a name="467" href="#467">467</a> LogSF.debug(logger, <span class="string">"{}{} {}{}"</span>, args); -<a name="468" href="#468">468</a> assertEquals(<span class="string">"{}{} {}{}"</span>, capture.getMessage()); -<a name="469" href="#469">469</a> } -<a name="470" href="#470">470</a> -<a name="471" href="#471">471</a> <em>/**<em>*</em></em> -<a name="472" href="#472">472</a> <em> * Test LogSF.info with null pattern.</em> -<a name="473" href="#473">473</a> <em> */</em> -<a name="474" href="#474">474</a> <strong>public</strong> <strong>void</strong> testInfoNullPattern() { -<a name="475" href="#475">475</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="476" href="#476">476</a> LogSF.info(logger, <strong>null</strong>, Math.PI); -<a name="477" href="#477">477</a> assertNull(capture.getMessage()); -<a name="478" href="#478">478</a> } -<a name="479" href="#479">479</a> -<a name="480" href="#480">480</a> <em>/**<em>*</em></em> -<a name="481" href="#481">481</a> <em> * Test LogSF.info with no-field pattern.</em> -<a name="482" href="#482">482</a> <em> */</em> -<a name="483" href="#483">483</a> <strong>public</strong> <strong>void</strong> testInfoNoArg() { -<a name="484" href="#484">484</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="485" href="#485">485</a> LogSF.info(logger, <span class="string">"Hello, World"</span>, Math.PI); -<a name="486" href="#486">486</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="487" href="#487">487</a> } -<a name="488" href="#488">488</a> -<a name="489" href="#489">489</a> <em>/**<em>*</em></em> -<a name="490" href="#490">490</a> <em> * Test LogSF.info with malformed pattern.</em> -<a name="491" href="#491">491</a> <em> */</em> -<a name="492" href="#492">492</a> <strong>public</strong> <strong>void</strong> testInfoBadPattern() { -<a name="493" href="#493">493</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="494" href="#494">494</a> LogSF.info(logger, <span class="string">"Hello, {."</span>, Math.PI); -<a name="495" href="#495">495</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="496" href="#496">496</a> } -<a name="497" href="#497">497</a> -<a name="498" href="#498">498</a> <em>/**<em>*</em></em> -<a name="499" href="#499">499</a> <em> * Test LogSF.info with missing argument.</em> -<a name="500" href="#500">500</a> <em> */</em> -<a name="501" href="#501">501</a> <strong>public</strong> <strong>void</strong> testInfoMissingArg() { -<a name="502" href="#502">502</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="503" href="#503">503</a> LogSF.info(logger, <span class="string">"Hello, {}World"</span>, <strong>new</strong> Object[0]); -<a name="504" href="#504">504</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); -<a name="505" href="#505">505</a> } -<a name="506" href="#506">506</a> -<a name="507" href="#507">507</a> <em>/**<em>*</em></em> -<a name="508" href="#508">508</a> <em> * Test LogSF.info with single field pattern with string argument.</em> -<a name="509" href="#509">509</a> <em> */</em> -<a name="510" href="#510">510</a> <strong>public</strong> <strong>void</strong> testInfoString() { -<a name="511" href="#511">511</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="512" href="#512">512</a> LogSF.info(logger, <span class="string">"Hello, {}"</span>, <span class="string">"World"</span>); -<a name="513" href="#513">513</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="514" href="#514">514</a> } -<a name="515" href="#515">515</a> -<a name="516" href="#516">516</a> <em>/**<em>*</em></em> -<a name="517" href="#517">517</a> <em> * Test LogSF.info with single field pattern with null argument.</em> -<a name="518" href="#518">518</a> <em> */</em> -<a name="519" href="#519">519</a> <strong>public</strong> <strong>void</strong> testInfoNull() { -<a name="520" href="#520">520</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="521" href="#521">521</a> LogSF.info(logger, <span class="string">"Hello, {}"</span>, (Object) <strong>null</strong>); -<a name="522" href="#522">522</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="523" href="#523">523</a> } -<a name="524" href="#524">524</a> -<a name="525" href="#525">525</a> <em>/**<em>*</em></em> -<a name="526" href="#526">526</a> <em> * Test LogSF.info with single field pattern with int argument.</em> -<a name="527" href="#527">527</a> <em> */</em> -<a name="528" href="#528">528</a> <strong>public</strong> <strong>void</strong> testInfoInt() { -<a name="529" href="#529">529</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="530" href="#530">530</a> <strong>int</strong> val = 42; -<a name="531" href="#531">531</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); -<a name="532" href="#532">532</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="533" href="#533">533</a> } -<a name="534" href="#534">534</a> -<a name="535" href="#535">535</a> <em>/**<em>*</em></em> -<a name="536" href="#536">536</a> <em> * Test LogSF.info with single field pattern with byte argument.</em> -<a name="537" href="#537">537</a> <em> */</em> -<a name="538" href="#538">538</a> <strong>public</strong> <strong>void</strong> testInfoByte() { -<a name="539" href="#539">539</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="540" href="#540">540</a> byte val = 42; -<a name="541" href="#541">541</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); -<a name="542" href="#542">542</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="543" href="#543">543</a> } -<a name="544" href="#544">544</a> -<a name="545" href="#545">545</a> <em>/**<em>*</em></em> -<a name="546" href="#546">546</a> <em> * Test LogSF.info with single field pattern with short argument.</em> -<a name="547" href="#547">547</a> <em> */</em> -<a name="548" href="#548">548</a> <strong>public</strong> <strong>void</strong> testInfoShort() { -<a name="549" href="#549">549</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="550" href="#550">550</a> <strong>short</strong> val = 42; -<a name="551" href="#551">551</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); -<a name="552" href="#552">552</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="553" href="#553">553</a> } -<a name="554" href="#554">554</a> -<a name="555" href="#555">555</a> <em>/**<em>*</em></em> -<a name="556" href="#556">556</a> <em> * Test LogSF.info with single field pattern with long argument.</em> -<a name="557" href="#557">557</a> <em> */</em> -<a name="558" href="#558">558</a> <strong>public</strong> <strong>void</strong> testInfoLong() { -<a name="559" href="#559">559</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="560" href="#560">560</a> <strong>long</strong> val = 42; -<a name="561" href="#561">561</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); -<a name="562" href="#562">562</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="563" href="#563">563</a> } -<a name="564" href="#564">564</a> -<a name="565" href="#565">565</a> <em>/**<em>*</em></em> -<a name="566" href="#566">566</a> <em> * Test LogSF.info with single field pattern with char argument.</em> -<a name="567" href="#567">567</a> <em> */</em> -<a name="568" href="#568">568</a> <strong>public</strong> <strong>void</strong> testInfoChar() { -<a name="569" href="#569">569</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="570" href="#570">570</a> <strong>char</strong> val = 'C'; -<a name="571" href="#571">571</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); -<a name="572" href="#572">572</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="573" href="#573">573</a> } -<a name="574" href="#574">574</a> -<a name="575" href="#575">575</a> <em>/**<em>*</em></em> -<a name="576" href="#576">576</a> <em> * Test LogSF.info with single field pattern with boolean argument.</em> -<a name="577" href="#577">577</a> <em> */</em> -<a name="578" href="#578">578</a> <strong>public</strong> <strong>void</strong> testInfoBoolean() { -<a name="579" href="#579">579</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="580" href="#580">580</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="581" href="#581">581</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); -<a name="582" href="#582">582</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="583" href="#583">583</a> } -<a name="584" href="#584">584</a> -<a name="585" href="#585">585</a> <em>/**<em>*</em></em> -<a name="586" href="#586">586</a> <em> * Test LogSF.info with single field pattern with float argument.</em> -<a name="587" href="#587">587</a> <em> */</em> -<a name="588" href="#588">588</a> <strong>public</strong> <strong>void</strong> testInfoFloat() { -<a name="589" href="#589">589</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="590" href="#590">590</a> <strong>float</strong> val = 3.14f; -<a name="591" href="#591">591</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); -<a name="592" href="#592">592</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); -<a name="593" href="#593">593</a> } -<a name="594" href="#594">594</a> -<a name="595" href="#595">595</a> <em>/**<em>*</em></em> -<a name="596" href="#596">596</a> <em> * Test LogSF.info with single field pattern with double argument.</em> -<a name="597" href="#597">597</a> <em> */</em> -<a name="598" href="#598">598</a> <strong>public</strong> <strong>void</strong> testInfoDouble() { -<a name="599" href="#599">599</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="600" href="#600">600</a> <strong>double</strong> val = 3.14; -<a name="601" href="#601">601</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); -<a name="602" href="#602">602</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); -<a name="603" href="#603">603</a> } -<a name="604" href="#604">604</a> -<a name="605" href="#605">605</a> <em>/**<em>*</em></em> -<a name="606" href="#606">606</a> <em> * Test LogSF.info with two arguments.</em> -<a name="607" href="#607">607</a> <em> */</em> -<a name="608" href="#608">608</a> <strong>public</strong> <strong>void</strong> testInfoTwoArg() { -<a name="609" href="#609">609</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="610" href="#610">610</a> LogSF.info(logger, <span class="string">"{}, {}."</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); -<a name="611" href="#611">611</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="612" href="#612">612</a> -<a name="613" href="#613">613</a> } -<a name="614" href="#614">614</a> -<a name="615" href="#615">615</a> <em>/**<em>*</em></em> -<a name="616" href="#616">616</a> <em> * Test LogSF.info with three arguments.</em> -<a name="617" href="#617">617</a> <em> */</em> -<a name="618" href="#618">618</a> <strong>public</strong> <strong>void</strong> testInfoThreeArg() { -<a name="619" href="#619">619</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="620" href="#620">620</a> LogSF.info(logger, <span class="string">"{}{} {}."</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); -<a name="621" href="#621">621</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="622" href="#622">622</a> } -<a name="623" href="#623">623</a> -<a name="624" href="#624">624</a> <em>/**<em>*</em></em> -<a name="625" href="#625">625</a> <em> * Test LogSF.info with Object[] argument.</em> -<a name="626" href="#626">626</a> <em> */</em> -<a name="627" href="#627">627</a> <strong>public</strong> <strong>void</strong> testInfoArrayArg() { -<a name="628" href="#628">628</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); -<a name="629" href="#629">629</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; -<a name="630" href="#630">630</a> LogSF.info(logger, <span class="string">"{}{} {}{}"</span>, args); -<a name="631" href="#631">631</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="632" href="#632">632</a> } -<a name="633" href="#633">633</a> -<a name="634" href="#634">634</a> <em>/**<em>*</em></em> -<a name="635" href="#635">635</a> <em> * Test LogSF.warn with null pattern.</em> -<a name="636" href="#636">636</a> <em> */</em> -<a name="637" href="#637">637</a> <strong>public</strong> <strong>void</strong> testWarnNullPattern() { -<a name="638" href="#638">638</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="639" href="#639">639</a> LogSF.warn(logger, <strong>null</strong>, Math.PI); -<a name="640" href="#640">640</a> assertNull(capture.getMessage()); -<a name="641" href="#641">641</a> } -<a name="642" href="#642">642</a> -<a name="643" href="#643">643</a> <em>/**<em>*</em></em> -<a name="644" href="#644">644</a> <em> * Test LogSF.warn with no-field pattern.</em> -<a name="645" href="#645">645</a> <em> */</em> -<a name="646" href="#646">646</a> <strong>public</strong> <strong>void</strong> testWarnNoArg() { -<a name="647" href="#647">647</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="648" href="#648">648</a> LogSF.warn(logger, <span class="string">"Hello, World"</span>, Math.PI); -<a name="649" href="#649">649</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="650" href="#650">650</a> } -<a name="651" href="#651">651</a> -<a name="652" href="#652">652</a> <em>/**<em>*</em></em> -<a name="653" href="#653">653</a> <em> * Test LogSF.warn with malformed pattern.</em> -<a name="654" href="#654">654</a> <em> */</em> -<a name="655" href="#655">655</a> <strong>public</strong> <strong>void</strong> testWarnBadPattern() { -<a name="656" href="#656">656</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="657" href="#657">657</a> LogSF.warn(logger, <span class="string">"Hello, {."</span>, Math.PI); -<a name="658" href="#658">658</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="659" href="#659">659</a> } -<a name="660" href="#660">660</a> -<a name="661" href="#661">661</a> <em>/**<em>*</em></em> -<a name="662" href="#662">662</a> <em> * Test LogSF.warn with missing argument.</em> -<a name="663" href="#663">663</a> <em> */</em> -<a name="664" href="#664">664</a> <strong>public</strong> <strong>void</strong> testWarnMissingArg() { -<a name="665" href="#665">665</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="666" href="#666">666</a> LogSF.warn(logger, <span class="string">"Hello, {}World"</span>, <strong>new</strong> Object[0]); -<a name="667" href="#667">667</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); -<a name="668" href="#668">668</a> } -<a name="669" href="#669">669</a> -<a name="670" href="#670">670</a> <em>/**<em>*</em></em> -<a name="671" href="#671">671</a> <em> * Test LogSF.warn with single field pattern with string argument.</em> -<a name="672" href="#672">672</a> <em> */</em> -<a name="673" href="#673">673</a> <strong>public</strong> <strong>void</strong> testWarnString() { -<a name="674" href="#674">674</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="675" href="#675">675</a> LogSF.warn(logger, <span class="string">"Hello, {}"</span>, <span class="string">"World"</span>); -<a name="676" href="#676">676</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="677" href="#677">677</a> } -<a name="678" href="#678">678</a> -<a name="679" href="#679">679</a> <em>/**<em>*</em></em> -<a name="680" href="#680">680</a> <em> * Test LogSF.warn with single field pattern with null argument.</em> -<a name="681" href="#681">681</a> <em> */</em> -<a name="682" href="#682">682</a> <strong>public</strong> <strong>void</strong> testWarnNull() { -<a name="683" href="#683">683</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="684" href="#684">684</a> LogSF.warn(logger, <span class="string">"Hello, {}"</span>, (Object) <strong>null</strong>); -<a name="685" href="#685">685</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="686" href="#686">686</a> } -<a name="687" href="#687">687</a> -<a name="688" href="#688">688</a> <em>/**<em>*</em></em> -<a name="689" href="#689">689</a> <em> * Test LogSF.warn with single field pattern with int argument.</em> -<a name="690" href="#690">690</a> <em> */</em> -<a name="691" href="#691">691</a> <strong>public</strong> <strong>void</strong> testWarnInt() { -<a name="692" href="#692">692</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="693" href="#693">693</a> <strong>int</strong> val = 42; -<a name="694" href="#694">694</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); -<a name="695" href="#695">695</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="696" href="#696">696</a> } -<a name="697" href="#697">697</a> -<a name="698" href="#698">698</a> <em>/**<em>*</em></em> -<a name="699" href="#699">699</a> <em> * Test LogSF.warn with single field pattern with byte argument.</em> -<a name="700" href="#700">700</a> <em> */</em> -<a name="701" href="#701">701</a> <strong>public</strong> <strong>void</strong> testWarnByte() { -<a name="702" href="#702">702</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="703" href="#703">703</a> byte val = 42; -<a name="704" href="#704">704</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); -<a name="705" href="#705">705</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="706" href="#706">706</a> } -<a name="707" href="#707">707</a> -<a name="708" href="#708">708</a> <em>/**<em>*</em></em> -<a name="709" href="#709">709</a> <em> * Test LogSF.warn with single field pattern with short argument.</em> -<a name="710" href="#710">710</a> <em> */</em> -<a name="711" href="#711">711</a> <strong>public</strong> <strong>void</strong> testWarnShort() { -<a name="712" href="#712">712</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="713" href="#713">713</a> <strong>short</strong> val = 42; -<a name="714" href="#714">714</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); -<a name="715" href="#715">715</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="716" href="#716">716</a> } -<a name="717" href="#717">717</a> -<a name="718" href="#718">718</a> <em>/**<em>*</em></em> -<a name="719" href="#719">719</a> <em> * Test LogSF.warn with single field pattern with long argument.</em> -<a name="720" href="#720">720</a> <em> */</em> -<a name="721" href="#721">721</a> <strong>public</strong> <strong>void</strong> testWarnLong() { -<a name="722" href="#722">722</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="723" href="#723">723</a> <strong>long</strong> val = 42; -<a name="724" href="#724">724</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); -<a name="725" href="#725">725</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="726" href="#726">726</a> } -<a name="727" href="#727">727</a> -<a name="728" href="#728">728</a> <em>/**<em>*</em></em> -<a name="729" href="#729">729</a> <em> * Test LogSF.warn with single field pattern with char argument.</em> -<a name="730" href="#730">730</a> <em> */</em> -<a name="731" href="#731">731</a> <strong>public</strong> <strong>void</strong> testWarnChar() { -<a name="732" href="#732">732</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="733" href="#733">733</a> <strong>char</strong> val = 'C'; -<a name="734" href="#734">734</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); -<a name="735" href="#735">735</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="736" href="#736">736</a> } -<a name="737" href="#737">737</a> -<a name="738" href="#738">738</a> <em>/**<em>*</em></em> -<a name="739" href="#739">739</a> <em> * Test LogSF.warn with single field pattern with boolean argument.</em> -<a name="740" href="#740">740</a> <em> */</em> -<a name="741" href="#741">741</a> <strong>public</strong> <strong>void</strong> testWarnBoolean() { -<a name="742" href="#742">742</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="743" href="#743">743</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="744" href="#744">744</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); -<a name="745" href="#745">745</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="746" href="#746">746</a> } -<a name="747" href="#747">747</a> -<a name="748" href="#748">748</a> <em>/**<em>*</em></em> -<a name="749" href="#749">749</a> <em> * Test LogSF.warn with single field pattern with float argument.</em> -<a name="750" href="#750">750</a> <em> */</em> -<a name="751" href="#751">751</a> <strong>public</strong> <strong>void</strong> testWarnFloat() { -<a name="752" href="#752">752</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="753" href="#753">753</a> <strong>float</strong> val = 3.14f; -<a name="754" href="#754">754</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); -<a name="755" href="#755">755</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); -<a name="756" href="#756">756</a> } -<a name="757" href="#757">757</a> -<a name="758" href="#758">758</a> <em>/**<em>*</em></em> -<a name="759" href="#759">759</a> <em> * Test LogSF.warn with single field pattern with double argument.</em> -<a name="760" href="#760">760</a> <em> */</em> -<a name="761" href="#761">761</a> <strong>public</strong> <strong>void</strong> testWarnDouble() { -<a name="762" href="#762">762</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="763" href="#763">763</a> <strong>double</strong> val = 3.14; -<a name="764" href="#764">764</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); -<a name="765" href="#765">765</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); -<a name="766" href="#766">766</a> } -<a name="767" href="#767">767</a> -<a name="768" href="#768">768</a> <em>/**<em>*</em></em> -<a name="769" href="#769">769</a> <em> * Test LogSF.warn with two arguments.</em> -<a name="770" href="#770">770</a> <em> */</em> -<a name="771" href="#771">771</a> <strong>public</strong> <strong>void</strong> testWarnTwoArg() { -<a name="772" href="#772">772</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="773" href="#773">773</a> LogSF.warn(logger, <span class="string">"{}, {}."</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); -<a name="774" href="#774">774</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="775" href="#775">775</a> -<a name="776" href="#776">776</a> } -<a name="777" href="#777">777</a> -<a name="778" href="#778">778</a> <em>/**<em>*</em></em> -<a name="779" href="#779">779</a> <em> * Test LogSF.warn with three arguments.</em> -<a name="780" href="#780">780</a> <em> */</em> -<a name="781" href="#781">781</a> <strong>public</strong> <strong>void</strong> testWarnThreeArg() { -<a name="782" href="#782">782</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="783" href="#783">783</a> LogSF.warn(logger, <span class="string">"{}{} {}."</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); -<a name="784" href="#784">784</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="785" href="#785">785</a> } -<a name="786" href="#786">786</a> -<a name="787" href="#787">787</a> <em>/**<em>*</em></em> -<a name="788" href="#788">788</a> <em> * Test LogSF.warn with Object[] argument.</em> -<a name="789" href="#789">789</a> <em> */</em> -<a name="790" href="#790">790</a> <strong>public</strong> <strong>void</strong> testWarnFourArg() { -<a name="791" href="#791">791</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="792" href="#792">792</a> LogSF.warn(logger, <span class="string">"{}{} {}{}"</span>, -<a name="793" href="#793">793</a> <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> ); -<a name="794" href="#794">794</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="795" href="#795">795</a> } -<a name="796" href="#796">796</a> -<a name="797" href="#797">797</a> <em>/**<em>*</em></em> -<a name="798" href="#798">798</a> <em> * Test LogSF.warn with Object[] argument.</em> -<a name="799" href="#799">799</a> <em> */</em> -<a name="800" href="#800">800</a> <strong>public</strong> <strong>void</strong> testWarnArrayArg() { -<a name="801" href="#801">801</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); -<a name="802" href="#802">802</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; -<a name="803" href="#803">803</a> LogSF.warn(logger, <span class="string">"{}{} {}{}"</span>, args); -<a name="804" href="#804">804</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="805" href="#805">805</a> } -<a name="806" href="#806">806</a> -<a name="807" href="#807">807</a> -<a name="808" href="#808">808</a> <em>/**<em>*</em></em> -<a name="809" href="#809">809</a> <em> * Test LogSF.log with null pattern.</em> -<a name="810" href="#810">810</a> <em> */</em> -<a name="811" href="#811">811</a> <strong>public</strong> <strong>void</strong> testLogNullPattern() { -<a name="812" href="#812">812</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="813" href="#813">813</a> LogSF.log(logger, Level.ERROR, <strong>null</strong>, Math.PI); -<a name="814" href="#814">814</a> assertNull(capture.getMessage()); -<a name="815" href="#815">815</a> } -<a name="816" href="#816">816</a> -<a name="817" href="#817">817</a> <em>/**<em>*</em></em> -<a name="818" href="#818">818</a> <em> * Test LogSF.log with no-field pattern.</em> -<a name="819" href="#819">819</a> <em> */</em> -<a name="820" href="#820">820</a> <strong>public</strong> <strong>void</strong> testLogNoArg() { -<a name="821" href="#821">821</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="822" href="#822">822</a> LogSF.log(logger, Level.ERROR, <span class="string">"Hello, World"</span>, Math.PI); -<a name="823" href="#823">823</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="824" href="#824">824</a> } -<a name="825" href="#825">825</a> -<a name="826" href="#826">826</a> <em>/**<em>*</em></em> -<a name="827" href="#827">827</a> <em> * Test LogSF.log with malformed pattern.</em> -<a name="828" href="#828">828</a> <em> */</em> -<a name="829" href="#829">829</a> <strong>public</strong> <strong>void</strong> testLogBadPattern() { -<a name="830" href="#830">830</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="831" href="#831">831</a> LogSF.log(logger, Level.ERROR, <span class="string">"Hello, {."</span>, Math.PI); -<a name="832" href="#832">832</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="833" href="#833">833</a> } -<a name="834" href="#834">834</a> -<a name="835" href="#835">835</a> <em>/**<em>*</em></em> -<a name="836" href="#836">836</a> <em> * Test LogSF.log with missing argument.</em> -<a name="837" href="#837">837</a> <em> */</em> -<a name="838" href="#838">838</a> <strong>public</strong> <strong>void</strong> testLogMissingArg() { -<a name="839" href="#839">839</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="840" href="#840">840</a> LogSF.log(logger, Level.ERROR, <span class="string">"Hello, {}World"</span>, <strong>new</strong> Object[0]); -<a name="841" href="#841">841</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); -<a name="842" href="#842">842</a> } -<a name="843" href="#843">843</a> -<a name="844" href="#844">844</a> <em>/**<em>*</em></em> -<a name="845" href="#845">845</a> <em> * Test LogSF.log with single field pattern with string argument.</em> -<a name="846" href="#846">846</a> <em> */</em> -<a name="847" href="#847">847</a> <strong>public</strong> <strong>void</strong> testLogString() { -<a name="848" href="#848">848</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="849" href="#849">849</a> LogSF.log(logger, Level.ERROR, <span class="string">"Hello, {}"</span>, <span class="string">"World"</span>); -<a name="850" href="#850">850</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="851" href="#851">851</a> } -<a name="852" href="#852">852</a> -<a name="853" href="#853">853</a> <em>/**<em>*</em></em> -<a name="854" href="#854">854</a> <em> * Test LogSF.log with single field pattern with null argument.</em> -<a name="855" href="#855">855</a> <em> */</em> -<a name="856" href="#856">856</a> <strong>public</strong> <strong>void</strong> testLogNull() { -<a name="857" href="#857">857</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="858" href="#858">858</a> LogSF.log(logger, Level.ERROR, <span class="string">"Hello, {}"</span>, (Object) <strong>null</strong>); -<a name="859" href="#859">859</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="860" href="#860">860</a> } -<a name="861" href="#861">861</a> -<a name="862" href="#862">862</a> <em>/**<em>*</em></em> -<a name="863" href="#863">863</a> <em> * Test LogSF.log with single field pattern with int argument.</em> -<a name="864" href="#864">864</a> <em> */</em> -<a name="865" href="#865">865</a> <strong>public</strong> <strong>void</strong> testLogInt() { -<a name="866" href="#866">866</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="867" href="#867">867</a> <strong>int</strong> val = 42; -<a name="868" href="#868">868</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); -<a name="869" href="#869">869</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="870" href="#870">870</a> } -<a name="871" href="#871">871</a> -<a name="872" href="#872">872</a> <em>/**<em>*</em></em> -<a name="873" href="#873">873</a> <em> * Test LogSF.log with single field pattern with byte argument.</em> -<a name="874" href="#874">874</a> <em> */</em> -<a name="875" href="#875">875</a> <strong>public</strong> <strong>void</strong> testLogByte() { -<a name="876" href="#876">876</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="877" href="#877">877</a> byte val = 42; -<a name="878" href="#878">878</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); -<a name="879" href="#879">879</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="880" href="#880">880</a> } -<a name="881" href="#881">881</a> -<a name="882" href="#882">882</a> <em>/**<em>*</em></em> -<a name="883" href="#883">883</a> <em> * Test LogSF.log with single field pattern with short argument.</em> -<a name="884" href="#884">884</a> <em> */</em> -<a name="885" href="#885">885</a> <strong>public</strong> <strong>void</strong> testLogShort() { -<a name="886" href="#886">886</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="887" href="#887">887</a> <strong>short</strong> val = 42; -<a name="888" href="#888">888</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); -<a name="889" href="#889">889</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="890" href="#890">890</a> } -<a name="891" href="#891">891</a> -<a name="892" href="#892">892</a> <em>/**<em>*</em></em> -<a name="893" href="#893">893</a> <em> * Test LogSF.log with single field pattern with long argument.</em> -<a name="894" href="#894">894</a> <em> */</em> -<a name="895" href="#895">895</a> <strong>public</strong> <strong>void</strong> testLogLong() { -<a name="896" href="#896">896</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="897" href="#897">897</a> <strong>long</strong> val = 42; -<a name="898" href="#898">898</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); -<a name="899" href="#899">899</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="900" href="#900">900</a> } -<a name="901" href="#901">901</a> -<a name="902" href="#902">902</a> <em>/**<em>*</em></em> -<a name="903" href="#903">903</a> <em> * Test LogSF.log with single field pattern with char argument.</em> -<a name="904" href="#904">904</a> <em> */</em> -<a name="905" href="#905">905</a> <strong>public</strong> <strong>void</strong> testLogChar() { -<a name="906" href="#906">906</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="907" href="#907">907</a> <strong>char</strong> val = 'C'; -<a name="908" href="#908">908</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); -<a name="909" href="#909">909</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="910" href="#910">910</a> } -<a name="911" href="#911">911</a> -<a name="912" href="#912">912</a> <em>/**<em>*</em></em> -<a name="913" href="#913">913</a> <em> * Test LogSF.log with single field pattern with boolean argument.</em> -<a name="914" href="#914">914</a> <em> */</em> -<a name="915" href="#915">915</a> <strong>public</strong> <strong>void</strong> testLogBoolean() { -<a name="916" href="#916">916</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="917" href="#917">917</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="918" href="#918">918</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); -<a name="919" href="#919">919</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="920" href="#920">920</a> } -<a name="921" href="#921">921</a> -<a name="922" href="#922">922</a> <em>/**<em>*</em></em> -<a name="923" href="#923">923</a> <em> * Test LogSF.log with single field pattern with float argument.</em> -<a name="924" href="#924">924</a> <em> */</em> -<a name="925" href="#925">925</a> <strong>public</strong> <strong>void</strong> testLogFloat() { -<a name="926" href="#926">926</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="927" href="#927">927</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, (<strong>float</strong>) Math.PI); -<a name="928" href="#928">928</a> -<a name="929" href="#929">929</a> String expected = <span class="string">"Iteration "</span> + String.valueOf(<strong>new</strong> Float(Math.PI)); -<a name="930" href="#930">930</a> assertEquals(expected, capture.getMessage()); -<a name="931" href="#931">931</a> } -<a name="932" href="#932">932</a> -<a name="933" href="#933">933</a> <em>/**<em>*</em></em> -<a name="934" href="#934">934</a> <em> * Test LogSF.log with single field pattern with double argument.</em> -<a name="935" href="#935">935</a> <em> */</em> -<a name="936" href="#936">936</a> <strong>public</strong> <strong>void</strong> testLogDouble() { -<a name="937" href="#937">937</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="938" href="#938">938</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, Math.PI); -<a name="939" href="#939">939</a> -<a name="940" href="#940">940</a> String expected = <span class="string">"Iteration "</span> + String.valueOf(<strong>new</strong> Double(Math.PI)); -<a name="941" href="#941">941</a> assertEquals(expected, capture.getMessage()); -<a name="942" href="#942">942</a> } -<a name="943" href="#943">943</a> -<a name="944" href="#944">944</a> <em>/**<em>*</em></em> -<a name="945" href="#945">945</a> <em> * Test LogSF.log with two arguments.</em> -<a name="946" href="#946">946</a> <em> */</em> -<a name="947" href="#947">947</a> <strong>public</strong> <strong>void</strong> testLogTwoArg() { -<a name="948" href="#948">948</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="949" href="#949">949</a> LogSF.log(logger, Level.ERROR, <span class="string">"{}, {}."</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); -<a name="950" href="#950">950</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="951" href="#951">951</a> } -<a name="952" href="#952">952</a> -<a name="953" href="#953">953</a> <em>/**<em>*</em></em> -<a name="954" href="#954">954</a> <em> * Test LogSF.log with three arguments.</em> -<a name="955" href="#955">955</a> <em> */</em> -<a name="956" href="#956">956</a> <strong>public</strong> <strong>void</strong> testLogThreeArg() { -<a name="957" href="#957">957</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="958" href="#958">958</a> LogSF.log(logger, Level.ERROR, <span class="string">"{}{} {}."</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); -<a name="959" href="#959">959</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="960" href="#960">960</a> } -<a name="961" href="#961">961</a> -<a name="962" href="#962">962</a> <em>/**<em>*</em></em> -<a name="963" href="#963">963</a> <em> * Test LogSF.log with four arguments.</em> -<a name="964" href="#964">964</a> <em> */</em> -<a name="965" href="#965">965</a> <strong>public</strong> <strong>void</strong> testLogFourArg() { -<a name="966" href="#966">966</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="967" href="#967">967</a> LogSF.log(logger, Level.ERROR, <span class="string">"{}{} {}{}"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span>); -<a name="968" href="#968">968</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="969" href="#969">969</a> } -<a name="970" href="#970">970</a> -<a name="971" href="#971">971</a> <em>/**<em>*</em></em> -<a name="972" href="#972">972</a> <em> * Test LogSF.log with Object[] argument.</em> -<a name="973" href="#973">973</a> <em> */</em> -<a name="974" href="#974">974</a> <strong>public</strong> <strong>void</strong> testLogArrayArg() { -<a name="975" href="#975">975</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="976" href="#976">976</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; -<a name="977" href="#977">977</a> LogSF.log(logger, Level.ERROR, <span class="string">"{}{} {}{}"</span>, args); -<a name="978" href="#978">978</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="979" href="#979">979</a> } -<a name="980" href="#980">980</a> -<a name="981" href="#981">981</a> <em>/**<em>*</em></em> -<a name="982" href="#982">982</a> <em> * Bundle name for resource bundle tests.</em> -<a name="983" href="#983">983</a> <em> */</em> -<a name="984" href="#984">984</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String BUNDLE_NAME = -<a name="985" href="#985">985</a> <span class="string">"org.apache.log4j.TestLogSFPatterns"</span>; -<a name="986" href="#986">986</a> -<a name="987" href="#987">987</a> <em>/**<em>*</em></em> -<a name="988" href="#988">988</a> <em> * Test LogSF.logrb with null bundle name.</em> -<a name="989" href="#989">989</a> <em> */</em> -<a name="990" href="#990">990</a> <strong>public</strong> <strong>void</strong> testLogrbNullBundle() { -<a name="991" href="#991">991</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="992" href="#992">992</a> LogSF.logrb(logger, Level.ERROR, <strong>null</strong>, <span class="string">"Iteration0"</span>, Math.PI); -<a name="993" href="#993">993</a> assertEquals(<span class="string">"Iteration0"</span>, capture.getMessage()); -<a name="994" href="#994">994</a> } -<a name="995" href="#995">995</a> -<a name="996" href="#996">996</a> <em>/**<em>*</em></em> -<a name="997" href="#997">997</a> <em> * Test LogSF.logrb with null key.</em> -<a name="998" href="#998">998</a> <em> */</em> -<a name="999" href="#999">999</a> <strong>public</strong> <strong>void</strong> testLogrbNullKey() { -<a name="1000" href="#1000">1000</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1001" href="#1001">1001</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <strong>null</strong>, Math.PI); -<a name="1002" href="#1002">1002</a> assertNull(capture.getMessage()); -<a name="1003" href="#1003">1003</a> } -<a name="1004" href="#1004">1004</a> -<a name="1005" href="#1005">1005</a> <em>/**<em>*</em></em> -<a name="1006" href="#1006">1006</a> <em> * Test LogSF.logrb with no-field pattern.</em> -<a name="1007" href="#1007">1007</a> <em> */</em> -<a name="1008" href="#1008">1008</a> <strong>public</strong> <strong>void</strong> testLogrbNoArg() { -<a name="1009" href="#1009">1009</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1010" href="#1010">1010</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello1"</span>, Math.PI); -<a name="1011" href="#1011">1011</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="1012" href="#1012">1012</a> } -<a name="1013" href="#1013">1013</a> -<a name="1014" href="#1014">1014</a> <em>/**<em>*</em></em> -<a name="1015" href="#1015">1015</a> <em> * Test LogSF.logrb with malformed pattern.</em> -<a name="1016" href="#1016">1016</a> <em> */</em> -<a name="1017" href="#1017">1017</a> <strong>public</strong> <strong>void</strong> testLogrbBadPattern() { -<a name="1018" href="#1018">1018</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1019" href="#1019">1019</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Malformed"</span>, Math.PI); -<a name="1020" href="#1020">1020</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); -<a name="1021" href="#1021">1021</a> } -<a name="1022" href="#1022">1022</a> -<a name="1023" href="#1023">1023</a> <em>/**<em>*</em></em> -<a name="1024" href="#1024">1024</a> <em> * Test LogSF.logrb with missing argument.</em> -<a name="1025" href="#1025">1025</a> <em> */</em> -<a name="1026" href="#1026">1026</a> <strong>public</strong> <strong>void</strong> testLogrbMissingArg() { -<a name="1027" href="#1027">1027</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1028" href="#1028">1028</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello2"</span>, <strong>new</strong> Object[0]); -<a name="1029" href="#1029">1029</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); -<a name="1030" href="#1030">1030</a> } -<a name="1031" href="#1031">1031</a> -<a name="1032" href="#1032">1032</a> <em>/**<em>*</em></em> -<a name="1033" href="#1033">1033</a> <em> * Test LogSF.logrb with single field pattern with string argument.</em> -<a name="1034" href="#1034">1034</a> <em> */</em> -<a name="1035" href="#1035">1035</a> <strong>public</strong> <strong>void</strong> testLogrbString() { -<a name="1036" href="#1036">1036</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1037" href="#1037">1037</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello3"</span>, <span class="string">"World"</span>); -<a name="1038" href="#1038">1038</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); -<a name="1039" href="#1039">1039</a> } -<a name="1040" href="#1040">1040</a> -<a name="1041" href="#1041">1041</a> <em>/**<em>*</em></em> -<a name="1042" href="#1042">1042</a> <em> * Test LogSF.logrb with single field pattern with null argument.</em> -<a name="1043" href="#1043">1043</a> <em> */</em> -<a name="1044" href="#1044">1044</a> <strong>public</strong> <strong>void</strong> testLogrbNull() { -<a name="1045" href="#1045">1045</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1046" href="#1046">1046</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello3"</span>, (Object) <strong>null</strong>); -<a name="1047" href="#1047">1047</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); -<a name="1048" href="#1048">1048</a> } -<a name="1049" href="#1049">1049</a> -<a name="1050" href="#1050">1050</a> <em>/**<em>*</em></em> -<a name="1051" href="#1051">1051</a> <em> * Test LogSF.logrb with single field pattern with int argument.</em> -<a name="1052" href="#1052">1052</a> <em> */</em> -<a name="1053" href="#1053">1053</a> <strong>public</strong> <strong>void</strong> testLogrbInt() { -<a name="1054" href="#1054">1054</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1055" href="#1055">1055</a> <strong>int</strong> val = 42; -<a name="1056" href="#1056">1056</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1057" href="#1057">1057</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="1058" href="#1058">1058</a> } -<a name="1059" href="#1059">1059</a> -<a name="1060" href="#1060">1060</a> <em>/**<em>*</em></em> -<a name="1061" href="#1061">1061</a> <em> * Test LogSF.logrb with single field pattern with byte argument.</em> -<a name="1062" href="#1062">1062</a> <em> */</em> -<a name="1063" href="#1063">1063</a> <strong>public</strong> <strong>void</strong> testLogrbByte() { -<a name="1064" href="#1064">1064</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1065" href="#1065">1065</a> byte val = 42; -<a name="1066" href="#1066">1066</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1067" href="#1067">1067</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="1068" href="#1068">1068</a> } -<a name="1069" href="#1069">1069</a> -<a name="1070" href="#1070">1070</a> <em>/**<em>*</em></em> -<a name="1071" href="#1071">1071</a> <em> * Test LogSF.logrb with single field pattern with short argument.</em> -<a name="1072" href="#1072">1072</a> <em> */</em> -<a name="1073" href="#1073">1073</a> <strong>public</strong> <strong>void</strong> testLogrbShort() { -<a name="1074" href="#1074">1074</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1075" href="#1075">1075</a> <strong>short</strong> val = 42; -<a name="1076" href="#1076">1076</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1077" href="#1077">1077</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="1078" href="#1078">1078</a> } -<a name="1079" href="#1079">1079</a> -<a name="1080" href="#1080">1080</a> <em>/**<em>*</em></em> -<a name="1081" href="#1081">1081</a> <em> * Test LogSF.logrb with single field pattern with long argument.</em> -<a name="1082" href="#1082">1082</a> <em> */</em> -<a name="1083" href="#1083">1083</a> <strong>public</strong> <strong>void</strong> testLogrbLong() { -<a name="1084" href="#1084">1084</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1085" href="#1085">1085</a> <strong>long</strong> val = 42; -<a name="1086" href="#1086">1086</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1087" href="#1087">1087</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); -<a name="1088" href="#1088">1088</a> } -<a name="1089" href="#1089">1089</a> -<a name="1090" href="#1090">1090</a> <em>/**<em>*</em></em> -<a name="1091" href="#1091">1091</a> <em> * Test LogSF.logrb with single field pattern with char argument.</em> -<a name="1092" href="#1092">1092</a> <em> */</em> -<a name="1093" href="#1093">1093</a> <strong>public</strong> <strong>void</strong> testLogrbChar() { -<a name="1094" href="#1094">1094</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1095" href="#1095">1095</a> <strong>char</strong> val = 'C'; -<a name="1096" href="#1096">1096</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1097" href="#1097">1097</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); -<a name="1098" href="#1098">1098</a> } -<a name="1099" href="#1099">1099</a> -<a name="1100" href="#1100">1100</a> <em>/**<em>*</em></em> -<a name="1101" href="#1101">1101</a> <em> * Test LogSF.logrb with single field pattern with boolean argument.</em> -<a name="1102" href="#1102">1102</a> <em> */</em> -<a name="1103" href="#1103">1103</a> <strong>public</strong> <strong>void</strong> testLogrbBoolean() { -<a name="1104" href="#1104">1104</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1105" href="#1105">1105</a> <strong>boolean</strong> val = <strong>true</strong>; -<a name="1106" href="#1106">1106</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); -<a name="1107" href="#1107">1107</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); -<a name="1108" href="#1108">1108</a> } -<a name="1109" href="#1109">1109</a> -<a name="1110" href="#1110">1110</a> <em>/**<em>*</em></em> -<a name="1111" href="#1111">1111</a> <em> * Test LogSF.logrb with single field pattern with float argument.</em> -<a name="1112" href="#1112">1112</a> <em> */</em> -<a name="1113" href="#1113">1113</a> <strong>public</strong> <strong>void</strong> testLogrbFloat() { -<a name="1114" href="#1114">1114</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1115" href="#1115">1115</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, -<a name="1116" href="#1116">1116</a> <span class="string">"Iteration0"</span>, (<strong>float</strong>) Math.PI); -<a name="1117" href="#1117">1117</a> -<a name="1118" href="#1118">1118</a> String expected = <span class="string">"Iteration "</span> + String.valueOf(<strong>new</strong> Float(Math.PI)); -<a name="1119" href="#1119">1119</a> assertEquals(expected, capture.getMessage()); -<a name="1120" href="#1120">1120</a> } -<a name="1121" href="#1121">1121</a> -<a name="1122" href="#1122">1122</a> <em>/**<em>*</em></em> -<a name="1123" href="#1123">1123</a> <em> * Test LogSF.logrb with single field pattern with double argument.</em> -<a name="1124" href="#1124">1124</a> <em> */</em> -<a name="1125" href="#1125">1125</a> <strong>public</strong> <strong>void</strong> testLogrbDouble() { -<a name="1126" href="#1126">1126</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1127" href="#1127">1127</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, Math.PI); -<a name="1128" href="#1128">1128</a> -<a name="1129" href="#1129">1129</a> String expected = <span class="string">"Iteration "</span> + String.valueOf(<strong>new</strong> Double(Math.PI)); -<a name="1130" href="#1130">1130</a> assertEquals(expected, capture.getMessage()); -<a name="1131" href="#1131">1131</a> } -<a name="1132" href="#1132">1132</a> -<a name="1133" href="#1133">1133</a> <em>/**<em>*</em></em> -<a name="1134" href="#1134">1134</a> <em> * Test LogSF.logrb with two arguments.</em> -<a name="1135" href="#1135">1135</a> <em> */</em> -<a name="1136" href="#1136">1136</a> <strong>public</strong> <strong>void</strong> testLogrbTwoArg() { -<a name="1137" href="#1137">1137</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1138" href="#1138">1138</a> LogSF.logrb(logger, Level.ERROR, -<a name="1139" href="#1139">1139</a> BUNDLE_NAME, <span class="string">"Hello4"</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); -<a name="1140" href="#1140">1140</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1141" href="#1141">1141</a> } -<a name="1142" href="#1142">1142</a> -<a name="1143" href="#1143">1143</a> <em>/**<em>*</em></em> -<a name="1144" href="#1144">1144</a> <em> * Test LogSF.logrb with three arguments.</em> -<a name="1145" href="#1145">1145</a> <em> */</em> -<a name="1146" href="#1146">1146</a> <strong>public</strong> <strong>void</strong> testLogrbThreeArg() { -<a name="1147" href="#1147">1147</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1148" href="#1148">1148</a> LogSF.logrb(logger, Level.ERROR, -<a name="1149" href="#1149">1149</a> BUNDLE_NAME, <span class="string">"Hello5"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); -<a name="1150" href="#1150">1150</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1151" href="#1151">1151</a> } -<a name="1152" href="#1152">1152</a> -<a name="1153" href="#1153">1153</a> <em>/**<em>*</em></em> -<a name="1154" href="#1154">1154</a> <em> * Test LogSF.logrb with four arguments.</em> -<a name="1155" href="#1155">1155</a> <em> */</em> -<a name="1156" href="#1156">1156</a> <strong>public</strong> <strong>void</strong> testLogrbFourArg() { -<a name="1157" href="#1157">1157</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1158" href="#1158">1158</a> LogSF.logrb(logger, Level.ERROR, -<a name="1159" href="#1159">1159</a> BUNDLE_NAME, <span class="string">"Hello6"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span>); -<a name="1160" href="#1160">1160</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1161" href="#1161">1161</a> } -<a name="1162" href="#1162">1162</a> -<a name="1163" href="#1163">1163</a> <em>/**<em>*</em></em> -<a name="1164" href="#1164">1164</a> <em> * Test LogSF.logrb with Object[] argument.</em> -<a name="1165" href="#1165">1165</a> <em> */</em> -<a name="1166" href="#1166">1166</a> <strong>public</strong> <strong>void</strong> testLogrbArrayArg() { -<a name="1167" href="#1167">1167</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); -<a name="1168" href="#1168">1168</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; -<a name="1169" href="#1169">1169</a> LogSF.logrb(logger, Level.ERROR, -<a name="1170" href="#1170">1170</a> BUNDLE_NAME, <span class="string">"Hello6"</span>, args); -<a name="1171" href="#1171">1171</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); -<a name="1172" href="#1172">1172</a> } -<a name="1173" href="#1173">1173</a> -<a name="1174" href="#1174">1174</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html b/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html deleted file mode 100644 index ced713a1cf5..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html +++ /dev/null @@ -1,412 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CachedDateFormatTest xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/CachedDateFormatTest.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.Test; -<a name="21" href="#21">21</a> <strong>import</strong> junit.framework.TestCase; -<a name="22" href="#22">22</a> <strong>import</strong> junit.framework.TestSuite; -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.pattern.CachedDateFormat; -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <strong>import</strong> java.text.DateFormat; -<a name="27" href="#27">27</a> <strong>import</strong> java.util.TimeZone; -<a name="28" href="#28">28</a> <strong>import</strong> java.util.Date; -<a name="29" href="#29">29</a> <strong>import</strong> java.text.SimpleDateFormat; -<a name="30" href="#30">30</a> <strong>import</strong> java.util.Locale; -<a name="31" href="#31">31</a> <strong>import</strong> java.util.Calendar; -<a name="32" href="#32">32</a> -<a name="33" href="#33">33</a> <em>/**<em>*</em></em> -<a name="34" href="#34">34</a> <em> Unit test {@link AbsoluteTimeDateFormat}.</em> -<a name="35" href="#35">35</a> <em> @author Curt Arnold</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html">CachedDateFormatTest</a> -<a name="38" href="#38">38</a> <strong>extends</strong> TestCase { -<a name="39" href="#39">39</a> -<a name="40" href="#40">40</a> <em>/**<em>*</em></em> -<a name="41" href="#41">41</a> <em> * Test constructor</em> -<a name="42" href="#42">42</a> <em> * @param name String test name</em> -<a name="43" href="#43">43</a> <em> */</em> -<a name="44" href="#44">44</a> <strong>public</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html">CachedDateFormatTest</a>(String name) { -<a name="45" href="#45">45</a> <strong>super</strong>(name); -<a name="46" href="#46">46</a> } -<a name="47" href="#47">47</a> -<a name="48" href="#48">48</a> <strong>private</strong> <strong>static</strong> DateFormat createAbsoluteTimeDateFormat(TimeZone timeZone) { -<a name="49" href="#49">49</a> DateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"HH:mm:ss,SSS"</span>); -<a name="50" href="#50">50</a> df.setTimeZone(timeZone); -<a name="51" href="#51">51</a> <strong>return</strong> df; -<a name="52" href="#52">52</a> } -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <em>/**<em>*</em></em> -<a name="55" href="#55">55</a> <em> * Asserts that formatting the provided date results</em> -<a name="56" href="#56">56</a> <em> * in the expected string.</em> -<a name="57" href="#57">57</a> <em> *</em> -<a name="58" href="#58">58</a> <em> * @param date Date date</em> -<a name="59" href="#59">59</a> <em> * @param timeZone TimeZone timezone for conversion</em> -<a name="60" href="#60">60</a> <em> * @param expected String expected string</em> -<a name="61" href="#61">61</a> <em> */</em> -<a name="62" href="#62">62</a> <strong>private</strong> <strong>final</strong> <strong>void</strong> assertFormattedTime(Date date, -<a name="63" href="#63">63</a> TimeZone timeZone, -<a name="64" href="#64">64</a> String expected) { -<a name="65" href="#65">65</a> DateFormat formatter = createAbsoluteTimeDateFormat(timeZone); -<a name="66" href="#66">66</a> String actual = formatter.format(date); -<a name="67" href="#67">67</a> assertEquals(expected, actual); -<a name="68" href="#68">68</a> } -<a name="69" href="#69">69</a> -<a name="70" href="#70">70</a> <em>/**<em>*</em></em> -<a name="71" href="#71">71</a> <em> * Timezone representing GMT.</em> -<a name="72" href="#72">72</a> <em> */</em> -<a name="73" href="#73">73</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> TimeZone GMT = TimeZone.getTimeZone(<span class="string">"GMT"</span>); -<a name="74" href="#74">74</a> -<a name="75" href="#75">75</a> <em>/**<em>*</em></em> -<a name="76" href="#76">76</a> <em> * Timezone for Chicago, Ill. USA.</em> -<a name="77" href="#77">77</a> <em> */</em> -<a name="78" href="#78">78</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> TimeZone CHICAGO = TimeZone.getTimeZone( -<a name="79" href="#79">79</a> <span class="string">"America/Chicago"</span>); -<a name="80" href="#80">80</a> -<a name="81" href="#81">81</a> <em>/**<em>*</em></em> -<a name="82" href="#82">82</a> <em> * Test multiple calls in close intervals.</em> -<a name="83" href="#83">83</a> <em> */</em> -<a name="84" href="#84">84</a> <strong>public</strong> <strong>void</strong> test1() { -<a name="85" href="#85">85</a> <em class="comment">// subsequent calls within one minute</em> -<a name="86" href="#86">86</a> <em class="comment">// are optimized to reuse previous formatted value</em> -<a name="87" href="#87">87</a> <em class="comment">// make a couple of nearly spaced calls</em> -<a name="88" href="#88">88</a> DateFormat gmtFormat = <strong>new</strong> CachedDateFormat(createAbsoluteTimeDateFormat(GMT), 1000); -<a name="89" href="#89">89</a> <strong>long</strong> ticks = 12601L * 86400000L; -<a name="90" href="#90">90</a> Date jul1 = <strong>new</strong> Date(ticks); -<a name="91" href="#91">91</a> assertEquals(<span class="string">"00:00:00,000"</span>, gmtFormat.format(jul1)); -<a name="92" href="#92">92</a> Date plus8ms = <strong>new</strong> Date(ticks + 8); -<a name="93" href="#93">93</a> assertEquals(<span class="string">"00:00:00,008"</span>, gmtFormat.format(plus8ms)); -<a name="94" href="#94">94</a> Date plus17ms = <strong>new</strong> Date(ticks + 17); -<a name="95" href="#95">95</a> assertEquals(<span class="string">"00:00:00,017"</span>, gmtFormat.format(plus17ms)); -<a name="96" href="#96">96</a> Date plus237ms = <strong>new</strong> Date(ticks + 237); -<a name="97" href="#97">97</a> assertEquals(<span class="string">"00:00:00,237"</span>, gmtFormat.format(plus237ms)); -<a name="98" href="#98">98</a> Date plus1415ms = <strong>new</strong> Date(ticks + 1415); -<a name="99" href="#99">99</a> assertEquals(<span class="string">"00:00:01,415"</span>, gmtFormat.format(plus1415ms)); -<a name="100" href="#100">100</a> } -<a name="101" href="#101">101</a> -<a name="102" href="#102">102</a> <em>/**<em>*</em></em> -<a name="103" href="#103">103</a> <em> * Check for interaction between caches.</em> -<a name="104" href="#104">104</a> <em> */</em> -<a name="105" href="#105">105</a> <strong>public</strong> <strong>void</strong> test2() { -<a name="106" href="#106">106</a> Date jul2 = <strong>new</strong> Date(12602L * 86400000L); -<a name="107" href="#107">107</a> DateFormat gmtFormat = <strong>new</strong> CachedDateFormat(createAbsoluteTimeDateFormat(GMT), 1000); -<a name="108" href="#108">108</a> DateFormat chicagoFormat = <strong>new</strong> CachedDateFormat(createAbsoluteTimeDateFormat(CHICAGO), 1000); -<a name="109" href="#109">109</a> assertEquals(<span class="string">"00:00:00,000"</span>, gmtFormat.format(jul2)); -<a name="110" href="#110">110</a> assertEquals(<span class="string">"19:00:00,000"</span>, chicagoFormat.format(jul2)); -<a name="111" href="#111">111</a> assertEquals(<span class="string">"00:00:00,000"</span>, gmtFormat.format(jul2)); -<a name="112" href="#112">112</a> } -<a name="113" href="#113">113</a> -<a name="114" href="#114">114</a> <em>/**<em>*</em></em> -<a name="115" href="#115">115</a> <em> * Test multiple calls in close intervals prior to 1 Jan 1970.</em> -<a name="116" href="#116">116</a> <em> */</em> -<a name="117" href="#117">117</a> <strong>public</strong> <strong>void</strong> test3() { -<a name="118" href="#118">118</a> <em class="comment">// subsequent calls within one minute</em> -<a name="119" href="#119">119</a> <em class="comment">// are optimized to reuse previous formatted value</em> -<a name="120" href="#120">120</a> <em class="comment">// make a couple of nearly spaced calls</em> -<a name="121" href="#121">121</a> DateFormat gmtFormat = <strong>new</strong> CachedDateFormat( -<a name="122" href="#122">122</a> createAbsoluteTimeDateFormat(GMT), 1000); -<a name="123" href="#123">123</a> <em class="comment">//</em> -<a name="124" href="#124">124</a> <em class="comment">// if the first call was exactly on an integral</em> -<a name="125" href="#125">125</a> <em class="comment">// second, it would not test the round toward zero compensation</em> -<a name="126" href="#126">126</a> <strong>long</strong> ticks = -7L * 86400000L; -<a name="127" href="#127">127</a> Date jul1 = <strong>new</strong> Date(ticks + 8); -<a name="128" href="#128">128</a> assertEquals(<span class="string">"00:00:00,008"</span>, gmtFormat.format(jul1)); -<a name="129" href="#129">129</a> Date plus8ms = <strong>new</strong> Date(ticks + 16); -<a name="130" href="#130">130</a> assertEquals(<span class="string">"00:00:00,016"</span>, gmtFormat.format(plus8ms)); -<a name="131" href="#131">131</a> Date plus17ms = <strong>new</strong> Date(ticks + 23); -<a name="132" href="#132">132</a> assertEquals(<span class="string">"00:00:00,023"</span>, gmtFormat.format(plus17ms)); -<a name="133" href="#133">133</a> Date plus237ms = <strong>new</strong> Date(ticks + 245); -<a name="134" href="#134">134</a> assertEquals(<span class="string">"00:00:00,245"</span>, gmtFormat.format(plus237ms)); -<a name="135" href="#135">135</a> Date plus1415ms = <strong>new</strong> Date(ticks + 1423); -<a name="136" href="#136">136</a> assertEquals(<span class="string">"00:00:01,423"</span>, gmtFormat.format(plus1415ms)); -<a name="137" href="#137">137</a> } -<a name="138" href="#138">138</a> -<a name="139" href="#139">139</a> <strong>public</strong> <strong>void</strong> test4() { -<a name="140" href="#140">140</a> <em class="comment">// subsequent calls within one minute are optimized to reuse previous </em> -<a name="141" href="#141">141</a> <em class="comment">// formatted value. make a couple of nearly spaced calls</em> -<a name="142" href="#142">142</a> <em class="comment">// (Note: 'Z' is JDK 1.4, using 'z' instead.)</em> -<a name="143" href="#143">143</a> SimpleDateFormat baseFormat = -<a name="144" href="#144">144</a> <strong>new</strong> SimpleDateFormat(<span class="string">"EEE, MMM dd, HH:mm:ss.SSS z"</span>, Locale.ENGLISH); -<a name="145" href="#145">145</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(baseFormat, 1000); -<a name="146" href="#146">146</a> <em class="comment">//</em> -<a name="147" href="#147">147</a> <em class="comment">// use a date in 2000 to attempt to confuse the millisecond locator</em> -<a name="148" href="#148">148</a> <strong>long</strong> ticks = 11141L * 86400000L; -<a name="149" href="#149">149</a> Date jul1 = <strong>new</strong> Date(ticks); -<a name="150" href="#150">150</a> assertEquals(baseFormat.format(jul1), cachedFormat.format(jul1)); -<a name="151" href="#151">151</a> Date plus8ms = <strong>new</strong> Date(ticks + 8); -<a name="152" href="#152">152</a> String base = baseFormat.format(plus8ms); -<a name="153" href="#153">153</a> String cached = cachedFormat.format(plus8ms); -<a name="154" href="#154">154</a> assertEquals(baseFormat.format(plus8ms), cachedFormat.format(plus8ms)); -<a name="155" href="#155">155</a> Date plus17ms = <strong>new</strong> Date(ticks + 17); -<a name="156" href="#156">156</a> assertEquals(baseFormat.format(plus17ms), cachedFormat.format(plus17ms)); -<a name="157" href="#157">157</a> Date plus237ms = <strong>new</strong> Date(ticks + 237); -<a name="158" href="#158">158</a> assertEquals(baseFormat.format(plus237ms), cachedFormat.format(plus237ms)); -<a name="159" href="#159">159</a> Date plus1415ms = <strong>new</strong> Date(ticks + 1415); -<a name="160" href="#160">160</a> assertEquals(baseFormat.format(plus1415ms), cachedFormat.format(plus1415ms)); -<a name="161" href="#161">161</a> } -<a name="162" href="#162">162</a> -<a name="163" href="#163">163</a> <strong>public</strong> <strong>void</strong> test5() { -<a name="164" href="#164">164</a> <em class="comment">// subsequent calls within one minute</em> -<a name="165" href="#165">165</a> <em class="comment">// are optimized to reuse previous formatted value</em> -<a name="166" href="#166">166</a> <em class="comment">// make a couple of nearly spaced calls</em> -<a name="167" href="#167">167</a> <em class="comment">// (Note: 'Z' is JDK 1.4, using 'z' instead.)</em> -<a name="168" href="#168">168</a> Locale thai = <strong>new</strong> Locale(<span class="string">"th"</span>, <span class="string">"TH"</span>); -<a name="169" href="#169">169</a> SimpleDateFormat baseFormat = -<a name="170" href="#170">170</a> <strong>new</strong> SimpleDateFormat(<span class="string">"EEE, MMM dd, HH:mm:ss.SSS z"</span>, thai); -<a name="171" href="#171">171</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(baseFormat, 1000); -<a name="172" href="#172">172</a> <em class="comment">//</em> -<a name="173" href="#173">173</a> <em class="comment">// use a date in the year 2000 CE to attempt to confuse the millisecond locator</em> -<a name="174" href="#174">174</a> <strong>long</strong> ticks = 11141L * 86400000L; -<a name="175" href="#175">175</a> -<a name="176" href="#176">176</a> String sx; -<a name="177" href="#177">177</a> Date jul1 = <strong>new</strong> Date(ticks); -<a name="178" href="#178">178</a> sx = cachedFormat.format(jul1); -<a name="179" href="#179">179</a> System.out.println(baseFormat.format(jul1)); -<a name="180" href="#180">180</a> System.out.println(sx); -<a name="181" href="#181">181</a> assertEquals(baseFormat.format(jul1), sx); -<a name="182" href="#182">182</a> -<a name="183" href="#183">183</a> sx = cachedFormat.format(jul1); -<a name="184" href="#184">184</a> System.out.println(baseFormat.format(jul1)); -<a name="185" href="#185">185</a> System.out.println(sx); -<a name="186" href="#186">186</a> assertEquals(baseFormat.format(jul1), sx); -<a name="187" href="#187">187</a> -<a name="188" href="#188">188</a> -<a name="189" href="#189">189</a> Date plus8ms = <strong>new</strong> Date(ticks + 8); -<a name="190" href="#190">190</a> sx = cachedFormat.format(plus8ms); -<a name="191" href="#191">191</a> System.out.println(baseFormat.format(plus8ms)); -<a name="192" href="#192">192</a> System.out.println(sx); -<a name="193" href="#193">193</a> -<a name="194" href="#194">194</a> assertEquals(baseFormat.format(plus8ms), sx); -<a name="195" href="#195">195</a> -<a name="196" href="#196">196</a> Date plus17ms = <strong>new</strong> Date(ticks + 17); -<a name="197" href="#197">197</a> assertEquals(baseFormat.format(plus17ms), cachedFormat.format(plus17ms)); -<a name="198" href="#198">198</a> -<a name="199" href="#199">199</a> Date plus237ms = <strong>new</strong> Date(ticks + 237); -<a name="200" href="#200">200</a> assertEquals(baseFormat.format(plus237ms), cachedFormat.format(plus237ms)); -<a name="201" href="#201">201</a> -<a name="202" href="#202">202</a> Date plus1415ms = <strong>new</strong> Date(ticks + 1415); -<a name="203" href="#203">203</a> assertEquals(baseFormat.format(plus1415ms), cachedFormat.format(plus1415ms)); -<a name="204" href="#204">204</a> } -<a name="205" href="#205">205</a> -<a name="206" href="#206">206</a> <em>/**<em>*</em></em> -<a name="207" href="#207">207</a> <em> * Checks that getNumberFormat does not return null.</em> -<a name="208" href="#208">208</a> <em> */</em> -<a name="209" href="#209">209</a> <strong>public</strong> <strong>void</strong> test6() { -<a name="210" href="#210">210</a> assertNotNull(<strong>new</strong> CachedDateFormat(<strong>new</strong> SimpleDateFormat(), 1000).getNumberFormat()); -<a name="211" href="#211">211</a> } -<a name="212" href="#212">212</a> -<a name="213" href="#213">213</a> <em>/**<em>*</em></em> -<a name="214" href="#214">214</a> <em> * Set time zone on cached and check that it is effective.</em> -<a name="215" href="#215">215</a> <em> */</em> -<a name="216" href="#216">216</a> <strong>public</strong> <strong>void</strong> test8() { -<a name="217" href="#217">217</a> DateFormat baseFormat = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MM-dd HH:mm:ss,SSS"</span>); -<a name="218" href="#218">218</a> baseFormat.setTimeZone(GMT); -<a name="219" href="#219">219</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(baseFormat, 1000); -<a name="220" href="#220">220</a> Date jul4 = <strong>new</strong> Date(12603L * 86400000L); -<a name="221" href="#221">221</a> assertEquals(<span class="string">"2004-07-04 00:00:00,000"</span>, cachedFormat.format(jul4)); -<a name="222" href="#222">222</a> cachedFormat.setTimeZone(TimeZone.getTimeZone(<span class="string">"GMT-6"</span>)); -<a name="223" href="#223">223</a> assertEquals(<span class="string">"2004-07-03 18:00:00,000"</span>, cachedFormat.format(jul4)); -<a name="224" href="#224">224</a> } -<a name="225" href="#225">225</a> -<a name="226" href="#226">226</a> -<a name="227" href="#227">227</a> <em>/**<em>*</em></em> -<a name="228" href="#228">228</a> <em> * Test of caching when less than three millisecond digits are specified.</em> -<a name="229" href="#229">229</a> <em> */</em> -<a name="230" href="#230">230</a> <strong>public</strong> <strong>void</strong> test9() { -<a name="231" href="#231">231</a> <em class="comment">// (Note: 'Z' is JDK 1.4, using 'z' instead.)</em> -<a name="232" href="#232">232</a> DateFormat baseFormat = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MMMM-dd HH:mm:ss,SS z"</span>, Locale.US); -<a name="233" href="#233">233</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(baseFormat, 1000); -<a name="234" href="#234">234</a> TimeZone cet = TimeZone.getTimeZone(<span class="string">"GMT+1"</span>); -<a name="235" href="#235">235</a> cachedFormat.setTimeZone(cet); -<a name="236" href="#236">236</a> -<a name="237" href="#237">237</a> Calendar c = Calendar.getInstance(); -<a name="238" href="#238">238</a> c.set(2004, Calendar.DECEMBER, 12, 20, 0); -<a name="239" href="#239">239</a> c.set(Calendar.SECOND, 37); -<a name="240" href="#240">240</a> c.set(Calendar.MILLISECOND, 23); -<a name="241" href="#241">241</a> c.setTimeZone(cet); -<a name="242" href="#242">242</a> -<a name="243" href="#243">243</a> String s = cachedFormat.format(c.getTime()); -<a name="244" href="#244">244</a> assertEquals(<span class="string">"2004-December-12 20:00:37,23 GMT+01:00"</span>, s); -<a name="245" href="#245">245</a> -<a name="246" href="#246">246</a> c.set(2005, Calendar.JANUARY, 1, 0, 0); -<a name="247" href="#247">247</a> c.set(Calendar.SECOND, 13); -<a name="248" href="#248">248</a> c.set(Calendar.MILLISECOND, 905); -<a name="249" href="#249">249</a> -<a name="250" href="#250">250</a> s = cachedFormat.format(c.getTime()); -<a name="251" href="#251">251</a> assertEquals(<span class="string">"2005-January-01 00:00:13,905 GMT+01:00"</span>, s); -<a name="252" href="#252">252</a> } -<a name="253" href="#253">253</a> -<a name="254" href="#254">254</a> -<a name="255" href="#255">255</a> <em>/**<em>*</em></em> -<a name="256" href="#256">256</a> <em> * Test when millisecond position moves but length remains constant.</em> -<a name="257" href="#257">257</a> <em> */</em> -<a name="258" href="#258">258</a> <strong>public</strong> <strong>void</strong> test10() { -<a name="259" href="#259">259</a> DateFormat baseFormat = <strong>new</strong> SimpleDateFormat(<span class="string">"MMMM SSS EEEEEE"</span>, Locale.US); -<a name="260" href="#260">260</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(baseFormat, 1000); -<a name="261" href="#261">261</a> TimeZone cet = TimeZone.getTimeZone(<span class="string">"GMT+1"</span>); -<a name="262" href="#262">262</a> cachedFormat.setTimeZone(cet); -<a name="263" href="#263">263</a> -<a name="264" href="#264">264</a> Calendar c = Calendar.getInstance(); -<a name="265" href="#265">265</a> c.set(2004, Calendar.OCTOBER, 5, 20, 0); -<a name="266" href="#266">266</a> c.set(Calendar.SECOND, 37); -<a name="267" href="#267">267</a> c.set(Calendar.MILLISECOND, 23); -<a name="268" href="#268">268</a> c.setTimeZone(cet); -<a name="269" href="#269">269</a> -<a name="270" href="#270">270</a> String s = cachedFormat.format(c.getTime()); -<a name="271" href="#271">271</a> assertEquals(<span class="string">"October 023 Tuesday"</span>, s); -<a name="272" href="#272">272</a> -<a name="273" href="#273">273</a> c.set(2004, Calendar.NOVEMBER, 1, 0, 0); -<a name="274" href="#274">274</a> c.set(Calendar.MILLISECOND, 23); -<a name="275" href="#275">275</a> s = cachedFormat.format(c.getTime()); -<a name="276" href="#276">276</a> assertEquals(<span class="string">"November 023 Monday"</span>, s); -<a name="277" href="#277">277</a> -<a name="278" href="#278">278</a> -<a name="279" href="#279">279</a> c.set(Calendar.MILLISECOND, 984); -<a name="280" href="#280">280</a> s = cachedFormat.format(c.getTime()); -<a name="281" href="#281">281</a> assertEquals(<span class="string">"November 984 Monday"</span>, s); -<a name="282" href="#282">282</a> } -<a name="283" href="#283">283</a> -<a name="284" href="#284">284</a> <em>/**<em>*</em></em> -<a name="285" href="#285">285</a> <em> * Test that tests if caching is skipped if only "SS"</em> -<a name="286" href="#286">286</a> <em> * is specified.</em> -<a name="287" href="#287">287</a> <em> */</em> -<a name="288" href="#288">288</a> <strong>public</strong> <strong>void</strong> test11() { -<a name="289" href="#289">289</a> <em class="comment">//</em> -<a name="290" href="#290">290</a> <em class="comment">// Earlier versions could be tricked by "SS0" patterns.</em> -<a name="291" href="#291">291</a> <em class="comment">//</em> -<a name="292" href="#292">292</a> String badPattern = <span class="string">"ss,SS0"</span>; -<a name="293" href="#293">293</a> SimpleDateFormat simpleFormat = <strong>new</strong> SimpleDateFormat(badPattern); -<a name="294" href="#294">294</a> DateFormat gmtFormat = <strong>new</strong> CachedDateFormat(simpleFormat, 1000); -<a name="295" href="#295">295</a> gmtFormat.setTimeZone(GMT); -<a name="296" href="#296">296</a> -<a name="297" href="#297">297</a> <em class="comment">//</em> -<a name="298" href="#298">298</a> <em class="comment">// The first request has to 100 ms after an ordinal second</em> -<a name="299" href="#299">299</a> <em class="comment">// to push the literal zero out of the pattern check</em> -<a name="300" href="#300">300</a> <strong>long</strong> ticks = 11142L * 86400000L; -<a name="301" href="#301">301</a> Date jul2 = <strong>new</strong> Date(ticks + 120); -<a name="302" href="#302">302</a> assertEquals(<span class="string">"00,1200"</span>, gmtFormat.format(jul2)); -<a name="303" href="#303">303</a> jul2.setTime(ticks + 87); -<a name="304" href="#304">304</a> -<a name="305" href="#305">305</a> -<a name="306" href="#306">306</a> <em class="comment">//</em> -<a name="307" href="#307">307</a> <em class="comment">// Cache gives 00,087</em> -<a name="308" href="#308">308</a> assertEquals(<span class="string">"00,870"</span>, gmtFormat.format(jul2)); -<a name="309" href="#309">309</a> -<a name="310" href="#310">310</a> } -<a name="311" href="#311">311</a> -<a name="312" href="#312">312</a> <em>/**<em>*</em></em> -<a name="313" href="#313">313</a> <em> * Check pattern location for ISO8601</em> -<a name="314" href="#314">314</a> <em> */</em> -<a name="315" href="#315">315</a> <strong>public</strong> <strong>void</strong> test12() { -<a name="316" href="#316">316</a> SimpleDateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MM-dd HH:mm:ss,SSS"</span>); -<a name="317" href="#317">317</a> <strong>long</strong> ticks = 11142L * 86400000L; -<a name="318" href="#318">318</a> String formatted = df.format(<strong>new</strong> Date(ticks)); -<a name="319" href="#319">319</a> <strong>int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); -<a name="320" href="#320">320</a> assertEquals(20, millisecondStart); -<a name="321" href="#321">321</a> } -<a name="322" href="#322">322</a> -<a name="323" href="#323">323</a> <em>/**<em>*</em></em> -<a name="324" href="#324">324</a> <em> * Check pattern location for DATE</em> -<a name="325" href="#325">325</a> <em> */</em> -<a name="326" href="#326">326</a> <strong>public</strong> <strong>void</strong> test13() { -<a name="327" href="#327">327</a> SimpleDateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MM-dd"</span>); -<a name="328" href="#328">328</a> <strong>long</strong> ticks = 11142L * 86400000L; -<a name="329" href="#329">329</a> String formatted = df.format(<strong>new</strong> Date(ticks)); -<a name="330" href="#330">330</a> <strong>int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); -<a name="331" href="#331">331</a> assertEquals(CachedDateFormat.NO_MILLISECONDS, millisecondStart); -<a name="332" href="#332">332</a> } -<a name="333" href="#333">333</a> -<a name="334" href="#334">334</a> <em>/**<em>*</em></em> -<a name="335" href="#335">335</a> <em> * Check pattern location for ABSOLUTE</em> -<a name="336" href="#336">336</a> <em> */</em> -<a name="337" href="#337">337</a> <strong>public</strong> <strong>void</strong> test14() { -<a name="338" href="#338">338</a> SimpleDateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"HH:mm:ss,SSS"</span>); -<a name="339" href="#339">339</a> <strong>long</strong> ticks = 11142L * 86400000L; -<a name="340" href="#340">340</a> String formatted = df.format(<strong>new</strong> Date(ticks)); -<a name="341" href="#341">341</a> <strong>int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); -<a name="342" href="#342">342</a> assertEquals(9, millisecondStart); -<a name="343" href="#343">343</a> } -<a name="344" href="#344">344</a> -<a name="345" href="#345">345</a> <em>/**<em>*</em></em> -<a name="346" href="#346">346</a> <em> * Check pattern location for single S</em> -<a name="347" href="#347">347</a> <em> */</em> -<a name="348" href="#348">348</a> <strong>public</strong> <strong>void</strong> test15() { -<a name="349" href="#349">349</a> SimpleDateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"HH:mm:ss,S"</span>); -<a name="350" href="#350">350</a> <strong>long</strong> ticks = 11142L * 86400000L; -<a name="351" href="#351">351</a> String formatted = df.format(<strong>new</strong> Date(ticks)); -<a name="352" href="#352">352</a> <strong>int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); -<a name="353" href="#353">353</a> assertEquals(CachedDateFormat.UNRECOGNIZED_MILLISECONDS, millisecondStart); -<a name="354" href="#354">354</a> } -<a name="355" href="#355">355</a> -<a name="356" href="#356">356</a> <em>/**<em>*</em></em> -<a name="357" href="#357">357</a> <em> * Check pattern location for single SS</em> -<a name="358" href="#358">358</a> <em> */</em> -<a name="359" href="#359">359</a> <strong>public</strong> <strong>void</strong> test16() { -<a name="360" href="#360">360</a> SimpleDateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"HH:mm:ss,SS"</span>); -<a name="361" href="#361">361</a> <strong>long</strong> ticks = 11142L * 86400000L; -<a name="362" href="#362">362</a> String formatted = df.format(<strong>new</strong> Date(ticks)); -<a name="363" href="#363">363</a> <strong>int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); -<a name="364" href="#364">364</a> assertEquals(CachedDateFormat.UNRECOGNIZED_MILLISECONDS, millisecondStart); -<a name="365" href="#365">365</a> } -<a name="366" href="#366">366</a> -<a name="367" href="#367">367</a> -<a name="368" href="#368">368</a> <em>/**<em>*</em></em> -<a name="369" href="#369">369</a> <em> * Check caching when multiple SSS appear in pattern</em> -<a name="370" href="#370">370</a> <em> */</em> -<a name="371" href="#371">371</a> <strong>public</strong> <strong>void</strong> test17() { -<a name="372" href="#372">372</a> Date jul2 = <strong>new</strong> Date(12602L * 86400000L); -<a name="373" href="#373">373</a> String badPattern = <span class="string">"HH:mm:ss,SSS HH:mm:ss,SSS"</span>; -<a name="374" href="#374">374</a> SimpleDateFormat simpleFormat = <strong>new</strong> SimpleDateFormat(badPattern); -<a name="375" href="#375">375</a> simpleFormat.setTimeZone(GMT); -<a name="376" href="#376">376</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(simpleFormat, 1000); -<a name="377" href="#377">377</a> String s = cachedFormat.format(jul2); -<a name="378" href="#378">378</a> assertEquals(<span class="string">"00:00:00,000 00:00:00,000"</span>, s); -<a name="379" href="#379">379</a> jul2.setTime(jul2.getTime() + 120); -<a name="380" href="#380">380</a> assertEquals(<span class="string">"00:00:00,120 00:00:00,120"</span>, simpleFormat.format(jul2)); -<a name="381" href="#381">381</a> s = cachedFormat.format(jul2); -<a name="382" href="#382">382</a> <em class="comment">//</em> -<a name="383" href="#383">383</a> <em class="comment">// TODO: why is this returning ,120 ... , 120</em> -<a name="384" href="#384">384</a> <em class="comment">//</em> -<a name="385" href="#385">385</a> <em class="comment">//assertEquals("00:00:00,120 00:00:00,000", s) ;</em> -<a name="386" href="#386">386</a> -<a name="387" href="#387">387</a> <strong>int</strong> maxValid = CachedDateFormat.getMaximumCacheValidity(badPattern); -<a name="388" href="#388">388</a> assertEquals(1, maxValid); -<a name="389" href="#389">389</a> } -<a name="390" href="#390">390</a> -<a name="391" href="#391">391</a> -<a name="392" href="#392">392</a> <strong>public</strong> <strong>static</strong> Test xsuite() { -<a name="393" href="#393">393</a> TestSuite suite = <strong>new</strong> TestSuite(); -<a name="394" href="#394">394</a> suite.addTest(<strong>new</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html">CachedDateFormatTest</a>(<span class="string">"test5"</span>)); -<a name="395" href="#395">395</a> <em class="comment">//suite.addTest(new CachedDateFormatTest("testS2"));</em> -<a name="396" href="#396">396</a> <strong>return</strong> suite; -<a name="397" href="#397">397</a> } -<a name="398" href="#398">398</a> -<a name="399" href="#399">399</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html b/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html deleted file mode 100644 index 33a8eb5e26b..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html +++ /dev/null @@ -1,316 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NameAbbreviatorTest xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/NameAbbreviatorTest.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <em>/**<em>*</em></em> -<a name="24" href="#24">24</a> <em> * Tests for NameAbbrevator.</em> -<a name="25" href="#25">25</a> <em> *</em> -<a name="26" href="#26">26</a> <em> * @author Curt Arnold</em> -<a name="27" href="#27">27</a> <em> *</em> -<a name="28" href="#28">28</a> <em> */</em> -<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html">NameAbbreviatorTest</a> <strong>extends</strong> TestCase { -<a name="30" href="#30">30</a> <em>/**<em>*</em></em> -<a name="31" href="#31">31</a> <em> * Create a new instance.</em> -<a name="32" href="#32">32</a> <em> *</em> -<a name="33" href="#33">33</a> <em> * @param name test name</em> -<a name="34" href="#34">34</a> <em> */</em> -<a name="35" href="#35">35</a> <strong>public</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html">NameAbbreviatorTest</a>(<strong>final</strong> String name) { -<a name="36" href="#36">36</a> <strong>super</strong>(name); -<a name="37" href="#37">37</a> } -<a name="38" href="#38">38</a> -<a name="39" href="#39">39</a> <em>/**<em>*</em></em> -<a name="40" href="#40">40</a> <em> * Check that getDefaultAbbreviator does not return null.</em> -<a name="41" href="#41">41</a> <em> *</em> -<a name="42" href="#42">42</a> <em> */</em> -<a name="43" href="#43">43</a> <strong>public</strong> <strong>void</strong> testGetDefault() { -<a name="44" href="#44">44</a> NameAbbreviator abbrev = NameAbbreviator.getDefaultAbbreviator(); -<a name="45" href="#45">45</a> assertNotNull(abbrev); -<a name="46" href="#46">46</a> } -<a name="47" href="#47">47</a> -<a name="48" href="#48">48</a> <em>/**<em>*</em></em> -<a name="49" href="#49">49</a> <em> * Check that "0" drops all name content.</em> -<a name="50" href="#50">50</a> <em> *</em> -<a name="51" href="#51">51</a> <em> */</em> -<a name="52" href="#52">52</a> <strong>public</strong> <strong>void</strong> testZero() { -<a name="53" href="#53">53</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"0"</span>); -<a name="54" href="#54">54</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); -<a name="55" href="#55">55</a> <strong>int</strong> fieldStart = buf.length(); -<a name="56" href="#56">56</a> buf.append(<span class="string">"org.example.foo.bar"</span>); -<a name="57" href="#57">57</a> abbrev.abbreviate(fieldStart, buf); -<a name="58" href="#58">58</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); -<a name="59" href="#59">59</a> } -<a name="60" href="#60">60</a> -<a name="61" href="#61">61</a> <em>/**<em>*</em></em> -<a name="62" href="#62">62</a> <em> * Check that getAbbreviator(" ") returns default abbreviator.</em> -<a name="63" href="#63">63</a> <em> *</em> -<a name="64" href="#64">64</a> <em> */</em> -<a name="65" href="#65">65</a> <strong>public</strong> <strong>void</strong> testBlank() { -<a name="66" href="#66">66</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">" "</span>); -<a name="67" href="#67">67</a> NameAbbreviator defaultAbbrev = NameAbbreviator.getDefaultAbbreviator(); -<a name="68" href="#68">68</a> assertTrue(abbrev == defaultAbbrev); -<a name="69" href="#69">69</a> } -<a name="70" href="#70">70</a> -<a name="71" href="#71">71</a> <em>/**<em>*</em></em> -<a name="72" href="#72">72</a> <em> * Check that getAbbreviator("1").abbreviate() drops all but the final name element.</em> -<a name="73" href="#73">73</a> <em> *</em> -<a name="74" href="#74">74</a> <em> */</em> -<a name="75" href="#75">75</a> <strong>public</strong> <strong>void</strong> testOne() { -<a name="76" href="#76">76</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"1"</span>); -<a name="77" href="#77">77</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); -<a name="78" href="#78">78</a> <strong>int</strong> fieldStart = buf.length(); -<a name="79" href="#79">79</a> buf.append(<span class="string">"org.example.foo.bar"</span>); -<a name="80" href="#80">80</a> abbrev.abbreviate(fieldStart, buf); -<a name="81" href="#81">81</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); -<a name="82" href="#82">82</a> -<a name="83" href="#83">83</a> buf.setLength(0); -<a name="84" href="#84">84</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="85" href="#85">85</a> fieldStart = buf.length(); -<a name="86" href="#86">86</a> buf.append(<span class="string">"bar"</span>); -<a name="87" href="#87">87</a> abbrev.abbreviate(fieldStart, buf); -<a name="88" href="#88">88</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); -<a name="89" href="#89">89</a> -<a name="90" href="#90">90</a> buf.setLength(0); -<a name="91" href="#91">91</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="92" href="#92">92</a> fieldStart = buf.length(); -<a name="93" href="#93">93</a> abbrev.abbreviate(fieldStart, buf); -<a name="94" href="#94">94</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); -<a name="95" href="#95">95</a> } -<a name="96" href="#96">96</a> -<a name="97" href="#97">97</a> <em>/**<em>*</em></em> -<a name="98" href="#98">98</a> <em> * Check that blanks are trimmed in evaluating abbreviation pattern.</em> -<a name="99" href="#99">99</a> <em> */</em> -<a name="100" href="#100">100</a> <strong>public</strong> <strong>void</strong> testBlankOne() { -<a name="101" href="#101">101</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">" 1 "</span>); -<a name="102" href="#102">102</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); -<a name="103" href="#103">103</a> <strong>int</strong> fieldStart = buf.length(); -<a name="104" href="#104">104</a> buf.append(<span class="string">"org.example.foo.bar"</span>); -<a name="105" href="#105">105</a> abbrev.abbreviate(fieldStart, buf); -<a name="106" href="#106">106</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); -<a name="107" href="#107">107</a> -<a name="108" href="#108">108</a> buf.setLength(0); -<a name="109" href="#109">109</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="110" href="#110">110</a> fieldStart = buf.length(); -<a name="111" href="#111">111</a> buf.append(<span class="string">"bar"</span>); -<a name="112" href="#112">112</a> abbrev.abbreviate(fieldStart, buf); -<a name="113" href="#113">113</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); -<a name="114" href="#114">114</a> -<a name="115" href="#115">115</a> buf.setLength(0); -<a name="116" href="#116">116</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="117" href="#117">117</a> fieldStart = buf.length(); -<a name="118" href="#118">118</a> abbrev.abbreviate(fieldStart, buf); -<a name="119" href="#119">119</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); -<a name="120" href="#120">120</a> } -<a name="121" href="#121">121</a> -<a name="122" href="#122">122</a> <em>/**<em>*</em></em> -<a name="123" href="#123">123</a> <em> * Check that getAbbreviator("2").abbreviate drops all but the last two elements.</em> -<a name="124" href="#124">124</a> <em> *</em> -<a name="125" href="#125">125</a> <em> */</em> -<a name="126" href="#126">126</a> <strong>public</strong> <strong>void</strong> testTwo() { -<a name="127" href="#127">127</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"2"</span>); -<a name="128" href="#128">128</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); -<a name="129" href="#129">129</a> <strong>int</strong> fieldStart = buf.length(); -<a name="130" href="#130">130</a> buf.append(<span class="string">"org.example.foo.bar"</span>); -<a name="131" href="#131">131</a> abbrev.abbreviate(fieldStart, buf); -<a name="132" href="#132">132</a> assertEquals(<span class="string">"DEBUG - foo.bar"</span>, buf.toString()); -<a name="133" href="#133">133</a> -<a name="134" href="#134">134</a> buf.setLength(0); -<a name="135" href="#135">135</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="136" href="#136">136</a> fieldStart = buf.length(); -<a name="137" href="#137">137</a> buf.append(<span class="string">"foo.bar"</span>); -<a name="138" href="#138">138</a> abbrev.abbreviate(fieldStart, buf); -<a name="139" href="#139">139</a> assertEquals(<span class="string">"DEBUG - foo.bar"</span>, buf.toString()); -<a name="140" href="#140">140</a> -<a name="141" href="#141">141</a> buf.setLength(0); -<a name="142" href="#142">142</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="143" href="#143">143</a> fieldStart = buf.length(); -<a name="144" href="#144">144</a> buf.append(<span class="string">"bar"</span>); -<a name="145" href="#145">145</a> abbrev.abbreviate(fieldStart, buf); -<a name="146" href="#146">146</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); -<a name="147" href="#147">147</a> } -<a name="148" href="#148">148</a> -<a name="149" href="#149">149</a> <em>/**<em>*</em></em> -<a name="150" href="#150">150</a> <em> * Check that getAbbreviator("1.").abbreviate abbreviates non-final elements</em> -<a name="151" href="#151">151</a> <em> * to one character.</em> -<a name="152" href="#152">152</a> <em> *</em> -<a name="153" href="#153">153</a> <em> */</em> -<a name="154" href="#154">154</a> <strong>public</strong> <strong>void</strong> testOneDot() { -<a name="155" href="#155">155</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"1."</span>); -<a name="156" href="#156">156</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); -<a name="157" href="#157">157</a> <strong>int</strong> fieldStart = buf.length(); -<a name="158" href="#158">158</a> buf.append(<span class="string">"org.example.foo.bar"</span>); -<a name="159" href="#159">159</a> abbrev.abbreviate(fieldStart, buf); -<a name="160" href="#160">160</a> assertEquals(<span class="string">"DEBUG - o.e.f.bar"</span>, buf.toString()); -<a name="161" href="#161">161</a> -<a name="162" href="#162">162</a> buf.setLength(0); -<a name="163" href="#163">163</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="164" href="#164">164</a> fieldStart = buf.length(); -<a name="165" href="#165">165</a> buf.append(<span class="string">"org.example.foo."</span>); -<a name="166" href="#166">166</a> abbrev.abbreviate(fieldStart, buf); -<a name="167" href="#167">167</a> assertEquals(<span class="string">"DEBUG - o.e.f."</span>, buf.toString()); -<a name="168" href="#168">168</a> -<a name="169" href="#169">169</a> -<a name="170" href="#170">170</a> buf.setLength(0); -<a name="171" href="#171">171</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="172" href="#172">172</a> fieldStart = buf.length(); -<a name="173" href="#173">173</a> buf.append(<span class="string">"foo.bar"</span>); -<a name="174" href="#174">174</a> abbrev.abbreviate(fieldStart, buf); -<a name="175" href="#175">175</a> assertEquals(<span class="string">"DEBUG - f.bar"</span>, buf.toString()); -<a name="176" href="#176">176</a> -<a name="177" href="#177">177</a> buf.setLength(0); -<a name="178" href="#178">178</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="179" href="#179">179</a> fieldStart = buf.length(); -<a name="180" href="#180">180</a> buf.append(<span class="string">"bar"</span>); -<a name="181" href="#181">181</a> abbrev.abbreviate(fieldStart, buf); -<a name="182" href="#182">182</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); -<a name="183" href="#183">183</a> -<a name="184" href="#184">184</a> buf.setLength(0); -<a name="185" href="#185">185</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="186" href="#186">186</a> fieldStart = buf.length(); -<a name="187" href="#187">187</a> abbrev.abbreviate(fieldStart, buf); -<a name="188" href="#188">188</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); -<a name="189" href="#189">189</a> -<a name="190" href="#190">190</a> buf.setLength(0); -<a name="191" href="#191">191</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="192" href="#192">192</a> fieldStart = buf.length(); -<a name="193" href="#193">193</a> buf.append(<span class="string">"."</span>); -<a name="194" href="#194">194</a> abbrev.abbreviate(fieldStart, buf); -<a name="195" href="#195">195</a> assertEquals(<span class="string">"DEBUG - ."</span>, buf.toString()); -<a name="196" href="#196">196</a> } -<a name="197" href="#197">197</a> -<a name="198" href="#198">198</a> <em>/**<em>*</em></em> -<a name="199" href="#199">199</a> <em> * Check that getAbbreviator("1~.").abbreviate abbreviates non-final elements</em> -<a name="200" href="#200">200</a> <em> * to one character and a tilde.</em> -<a name="201" href="#201">201</a> <em> *</em> -<a name="202" href="#202">202</a> <em> */</em> -<a name="203" href="#203">203</a> <strong>public</strong> <strong>void</strong> testOneTildeDot() { -<a name="204" href="#204">204</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"1~."</span>); -<a name="205" href="#205">205</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); -<a name="206" href="#206">206</a> <strong>int</strong> fieldStart = buf.length(); -<a name="207" href="#207">207</a> buf.append(<span class="string">"org.example.foo.bar"</span>); -<a name="208" href="#208">208</a> abbrev.abbreviate(fieldStart, buf); -<a name="209" href="#209">209</a> assertEquals(<span class="string">"DEBUG - o~.e~.f~.bar"</span>, buf.toString()); -<a name="210" href="#210">210</a> -<a name="211" href="#211">211</a> buf.setLength(0); -<a name="212" href="#212">212</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="213" href="#213">213</a> fieldStart = buf.length(); -<a name="214" href="#214">214</a> buf.append(<span class="string">"org.example.foo."</span>); -<a name="215" href="#215">215</a> abbrev.abbreviate(fieldStart, buf); -<a name="216" href="#216">216</a> assertEquals(<span class="string">"DEBUG - o~.e~.f~."</span>, buf.toString()); -<a name="217" href="#217">217</a> -<a name="218" href="#218">218</a> buf.setLength(0); -<a name="219" href="#219">219</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="220" href="#220">220</a> fieldStart = buf.length(); -<a name="221" href="#221">221</a> buf.append(<span class="string">"foo.bar"</span>); -<a name="222" href="#222">222</a> abbrev.abbreviate(fieldStart, buf); -<a name="223" href="#223">223</a> assertEquals(<span class="string">"DEBUG - f~.bar"</span>, buf.toString()); -<a name="224" href="#224">224</a> -<a name="225" href="#225">225</a> buf.setLength(0); -<a name="226" href="#226">226</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="227" href="#227">227</a> fieldStart = buf.length(); -<a name="228" href="#228">228</a> buf.append(<span class="string">"bar"</span>); -<a name="229" href="#229">229</a> abbrev.abbreviate(fieldStart, buf); -<a name="230" href="#230">230</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); -<a name="231" href="#231">231</a> -<a name="232" href="#232">232</a> buf.setLength(0); -<a name="233" href="#233">233</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="234" href="#234">234</a> fieldStart = buf.length(); -<a name="235" href="#235">235</a> abbrev.abbreviate(fieldStart, buf); -<a name="236" href="#236">236</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); -<a name="237" href="#237">237</a> -<a name="238" href="#238">238</a> -<a name="239" href="#239">239</a> buf.setLength(0); -<a name="240" href="#240">240</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="241" href="#241">241</a> fieldStart = buf.length(); -<a name="242" href="#242">242</a> buf.append(<span class="string">"."</span>); -<a name="243" href="#243">243</a> abbrev.abbreviate(fieldStart, buf); -<a name="244" href="#244">244</a> assertEquals(<span class="string">"DEBUG - ."</span>, buf.toString()); -<a name="245" href="#245">245</a> -<a name="246" href="#246">246</a> -<a name="247" href="#247">247</a> buf.setLength(0); -<a name="248" href="#248">248</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="249" href="#249">249</a> fieldStart = buf.length(); -<a name="250" href="#250">250</a> buf.append(<span class="string">"o.e.f.bar"</span>); -<a name="251" href="#251">251</a> abbrev.abbreviate(fieldStart, buf); -<a name="252" href="#252">252</a> assertEquals(<span class="string">"DEBUG - o.e.f.bar"</span>, buf.toString()); -<a name="253" href="#253">253</a> } -<a name="254" href="#254">254</a> -<a name="255" href="#255">255</a> <em>/**<em>*</em></em> -<a name="256" href="#256">256</a> <em> * Check that getAbbreviator("1.*.2").abbreviate drops all but the first</em> -<a name="257" href="#257">257</a> <em> * character from the first element, uses all of the second element and</em> -<a name="258" href="#258">258</a> <em> * drops all but the first two characters of the rest of the non-final elements.</em> -<a name="259" href="#259">259</a> <em> *</em> -<a name="260" href="#260">260</a> <em> */</em> -<a name="261" href="#261">261</a> <strong>public</strong> <strong>void</strong> testMulti() { -<a name="262" href="#262">262</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"1.*.2"</span>); -<a name="263" href="#263">263</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); -<a name="264" href="#264">264</a> <strong>int</strong> fieldStart = buf.length(); -<a name="265" href="#265">265</a> buf.append(<span class="string">"org.example.foo.bar"</span>); -<a name="266" href="#266">266</a> abbrev.abbreviate(fieldStart, buf); -<a name="267" href="#267">267</a> assertEquals(<span class="string">"DEBUG - o.example.fo.bar"</span>, buf.toString()); -<a name="268" href="#268">268</a> -<a name="269" href="#269">269</a> buf.setLength(0); -<a name="270" href="#270">270</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="271" href="#271">271</a> fieldStart = buf.length(); -<a name="272" href="#272">272</a> buf.append(<span class="string">"org.example.foo."</span>); -<a name="273" href="#273">273</a> abbrev.abbreviate(fieldStart, buf); -<a name="274" href="#274">274</a> assertEquals(<span class="string">"DEBUG - o.example.fo."</span>, buf.toString()); -<a name="275" href="#275">275</a> -<a name="276" href="#276">276</a> buf.setLength(0); -<a name="277" href="#277">277</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="278" href="#278">278</a> fieldStart = buf.length(); -<a name="279" href="#279">279</a> buf.append(<span class="string">"foo.bar"</span>); -<a name="280" href="#280">280</a> abbrev.abbreviate(fieldStart, buf); -<a name="281" href="#281">281</a> assertEquals(<span class="string">"DEBUG - f.bar"</span>, buf.toString()); -<a name="282" href="#282">282</a> -<a name="283" href="#283">283</a> buf.setLength(0); -<a name="284" href="#284">284</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="285" href="#285">285</a> fieldStart = buf.length(); -<a name="286" href="#286">286</a> buf.append(<span class="string">"bar"</span>); -<a name="287" href="#287">287</a> abbrev.abbreviate(fieldStart, buf); -<a name="288" href="#288">288</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); -<a name="289" href="#289">289</a> -<a name="290" href="#290">290</a> buf.setLength(0); -<a name="291" href="#291">291</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="292" href="#292">292</a> fieldStart = buf.length(); -<a name="293" href="#293">293</a> abbrev.abbreviate(fieldStart, buf); -<a name="294" href="#294">294</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); -<a name="295" href="#295">295</a> -<a name="296" href="#296">296</a> buf.setLength(0); -<a name="297" href="#297">297</a> buf.append(<span class="string">"DEBUG - "</span>); -<a name="298" href="#298">298</a> fieldStart = buf.length(); -<a name="299" href="#299">299</a> buf.append(<span class="string">"."</span>); -<a name="300" href="#300">300</a> abbrev.abbreviate(fieldStart, buf); -<a name="301" href="#301">301</a> assertEquals(<span class="string">"DEBUG - ."</span>, buf.toString()); -<a name="302" href="#302">302</a> } -<a name="303" href="#303">303</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html b/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html deleted file mode 100644 index 0ae7cdaa3d8..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html +++ /dev/null @@ -1,168 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FileNamePatternTestCase xref</title> -<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> <strong>package</strong> org.apache.log4j.rolling.helper; -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>import</strong> junit.framework.TestCase; -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.rolling.RollingPolicyBase; -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.rolling.RolloverDescription; -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <strong>import</strong> java.util.Calendar; -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> <em>/**<em>*</em></em> -<a name="26" href="#26">26</a> <em> * Tests for FileNamePattern.</em> -<a name="27" href="#27">27</a> <em> *</em> -<a name="28" href="#28">28</a> <em> * @author Ceki</em> -<a name="29" href="#29">29</a> <em> * @author Curt Arnold</em> -<a name="30" href="#30">30</a> <em> *</em> -<a name="31" href="#31">31</a> <em> */</em> -<a name="32" href="#32">32</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html">FileNamePatternTestCase</a> <strong>extends</strong> TestCase { -<a name="33" href="#33">33</a> <em>/**<em>*</em></em> -<a name="34" href="#34">34</a> <em> * Construct new test.</em> -<a name="35" href="#35">35</a> <em> * @param name test name</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>public</strong> <a href="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html">FileNamePatternTestCase</a>(<strong>final</strong> String name) { -<a name="38" href="#38">38</a> <strong>super</strong>(name); -<a name="39" href="#39">39</a> } -<a name="40" href="#40">40</a> -<a name="41" href="#41">41</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> FileNameTestRollingPolicy <strong>extends</strong> RollingPolicyBase { -<a name="42" href="#42">42</a> <strong>public</strong> FileNameTestRollingPolicy(<strong>final</strong> String pattern) { -<a name="43" href="#43">43</a> setFileNamePattern(pattern); -<a name="44" href="#44">44</a> parseFileNamePattern(); -<a name="45" href="#45">45</a> } -<a name="46" href="#46">46</a> -<a name="47" href="#47">47</a> <strong>public</strong> <strong>void</strong> activateOptions() { -<a name="48" href="#48">48</a> } -<a name="49" href="#49">49</a> <strong>public</strong> RolloverDescription initialize(<strong>final</strong> String activeName, <strong>final</strong> <strong>boolean</strong> append) { -<a name="50" href="#50">50</a> <strong>return</strong> <strong>null</strong>; -<a name="51" href="#51">51</a> } -<a name="52" href="#52">52</a> <strong>public</strong> RolloverDescription rollover(<strong>final</strong> String activeName) { -<a name="53" href="#53">53</a> <strong>return</strong> <strong>null</strong>; -<a name="54" href="#54">54</a> } -<a name="55" href="#55">55</a> <strong>public</strong> String format(Object obj) { -<a name="56" href="#56">56</a> StringBuffer buf = <strong>new</strong> StringBuffer(); -<a name="57" href="#57">57</a> formatFileName(obj, buf); -<a name="58" href="#58">58</a> <strong>return</strong> buf.toString(); -<a name="59" href="#59">59</a> } -<a name="60" href="#60">60</a> } -<a name="61" href="#61">61</a> -<a name="62" href="#62">62</a> <strong>private</strong> <strong>void</strong> assertDatePattern(<strong>final</strong> String pattern, <strong>final</strong> <strong>int</strong> year, -<a name="63" href="#63">63</a> <strong>final</strong> <strong>int</strong> month, <strong>final</strong> <strong>int</strong> day, <strong>final</strong> <strong>int</strong> hour, <strong>final</strong> <strong>int</strong> min, -<a name="64" href="#64">64</a> <strong>final</strong> String expected) { -<a name="65" href="#65">65</a> Calendar cal = Calendar.getInstance(); -<a name="66" href="#66">66</a> cal.set(year, month, day, hour, min); -<a name="67" href="#67">67</a> FileNameTestRollingPolicy policy = <strong>new</strong> FileNameTestRollingPolicy(pattern); -<a name="68" href="#68">68</a> assertEquals(expected, -<a name="69" href="#69">69</a> policy.format(cal.getTime())); -<a name="70" href="#70">70</a> } -<a name="71" href="#71">71</a> -<a name="72" href="#72">72</a> <strong>private</strong> <strong>void</strong> assertIntegerPattern(<strong>final</strong> String pattern, <strong>final</strong> <strong>int</strong> value, -<a name="73" href="#73">73</a> <strong>final</strong> String expected) { -<a name="74" href="#74">74</a> FileNameTestRollingPolicy policy = <strong>new</strong> FileNameTestRollingPolicy(pattern); -<a name="75" href="#75">75</a> assertEquals(expected, policy.format(<strong>new</strong> Integer(value))); -<a name="76" href="#76">76</a> } -<a name="77" href="#77">77</a> -<a name="78" href="#78">78</a> <strong>public</strong> <strong>void</strong> testFormatInteger1() { -<a name="79" href="#79">79</a> assertIntegerPattern(<span class="string">"t"</span>, 3, <span class="string">"t"</span>); -<a name="80" href="#80">80</a> } -<a name="81" href="#81">81</a> -<a name="82" href="#82">82</a> <strong>public</strong> <strong>void</strong> testFormatInteger2() { -<a name="83" href="#83">83</a> assertIntegerPattern(<span class="string">"foo"</span>, 3, <span class="string">"foo"</span>); -<a name="84" href="#84">84</a> } -<a name="85" href="#85">85</a> -<a name="86" href="#86">86</a> <strong>public</strong> <strong>void</strong> testFormatInteger3() { -<a name="87" href="#87">87</a> assertIntegerPattern(<span class="string">"foo%"</span>, 3, <span class="string">"foo%"</span>); -<a name="88" href="#88">88</a> } -<a name="89" href="#89">89</a> -<a name="90" href="#90">90</a> <strong>public</strong> <strong>void</strong> testFormatInteger4() { -<a name="91" href="#91">91</a> assertIntegerPattern(<span class="string">"%ifoo"</span>, 3, <span class="string">"3foo"</span>); -<a name="92" href="#92">92</a> } -<a name="93" href="#93">93</a> -<a name="94" href="#94">94</a> <strong>public</strong> <strong>void</strong> testFormatInteger5() { -<a name="95" href="#95">95</a> assertIntegerPattern(<span class="string">"foo%ixixo"</span>, 3, <span class="string">"foo3xixo"</span>); -<a name="96" href="#96">96</a> } -<a name="97" href="#97">97</a> -<a name="98" href="#98">98</a> <strong>public</strong> <strong>void</strong> testFormatInteger6() { -<a name="99" href="#99">99</a> assertIntegerPattern(<span class="string">"foo%i.log"</span>, 3, <span class="string">"foo3.log"</span>); -<a name="100" href="#100">100</a> } -<a name="101" href="#101">101</a> -<a name="102" href="#102">102</a> <strong>public</strong> <strong>void</strong> testFormatInteger7() { -<a name="103" href="#103">103</a> assertIntegerPattern(<span class="string">"foo.%i.log"</span>, 3, <span class="string">"foo.3.log"</span>); -<a name="104" href="#104">104</a> } -<a name="105" href="#105">105</a> -<a name="106" href="#106">106</a> <strong>public</strong> <strong>void</strong> testFormatInteger8() { -<a name="107" href="#107">107</a> assertIntegerPattern(<span class="string">"%ifoo%"</span>, 3, <span class="string">"3foo%"</span>); -<a name="108" href="#108">108</a> } -<a name="109" href="#109">109</a> -<a name="110" href="#110">110</a> <strong>public</strong> <strong>void</strong> testFormatInteger9() { -<a name="111" href="#111">111</a> assertIntegerPattern(<span class="string">"%ifoo%%"</span>, 3, <span class="string">"3foo%"</span>); -<a name="112" href="#112">112</a> } -<a name="113" href="#113">113</a> -<a name="114" href="#114">114</a> <strong>public</strong> <strong>void</strong> testFormatInteger10() { -<a name="115" href="#115">115</a> assertIntegerPattern(<span class="string">"%%foo"</span>, 3, <span class="string">"%foo"</span>); -<a name="116" href="#116">116</a> } -<a name="117" href="#117">117</a> -<a name="118" href="#118">118</a> <strong>public</strong> <strong>void</strong> testFormatInteger11() { -<a name="119" href="#119">119</a> assertIntegerPattern(<span class="string">"foo%ibar%i"</span>, 3, <span class="string">"foo3bar3"</span>); -<a name="120" href="#120">120</a> } -<a name="121" href="#121">121</a> -<a name="122" href="#122">122</a> <strong>public</strong> <strong>void</strong> testFormatDate1() { -<a name="123" href="#123">123</a> assertDatePattern(<span class="string">"foo%d{yyyy.MM.dd}"</span>, 2003, 4, 20, 17, 55, -<a name="124" href="#124">124</a> <span class="string">"foo2003.05.20"</span>); -<a name="125" href="#125">125</a> } -<a name="126" href="#126">126</a> -<a name="127" href="#127">127</a> <strong>public</strong> <strong>void</strong> testFormatDate2() { -<a name="128" href="#128">128</a> assertDatePattern(<span class="string">"foo%d{yyyy.MM.dd HH:mm}"</span>, 2003, 4, 20, 17, 55, -<a name="129" href="#129">129</a> <span class="string">"foo2003.05.20 17:55"</span>); -<a name="130" href="#130">130</a> } -<a name="131" href="#131">131</a> -<a name="132" href="#132">132</a> <strong>public</strong> <strong>void</strong> testFormatDate3() { -<a name="133" href="#133">133</a> assertDatePattern(<span class="string">"%d{yyyy.MM.dd HH:mm} foo"</span>, 2003, 4, 20, 17, 55, -<a name="134" href="#134">134</a> <span class="string">"2003.05.20 17:55 foo"</span>); -<a name="135" href="#135">135</a> } -<a name="136" href="#136">136</a> -<a name="137" href="#137">137</a> <em>/**<em>*</em></em> -<a name="138" href="#138">138</a> <em> * A %d is treated as %d{yyyy-MM-dd} if followed by a malformed format specifier.</em> -<a name="139" href="#139">139</a> <em> *</em> -<a name="140" href="#140">140</a> <em> */</em> -<a name="141" href="#141">141</a> <strong>public</strong> <strong>void</strong> testFormatDate4() { -<a name="142" href="#142">142</a> assertDatePattern(<span class="string">"foo%dyyyy.MM.dd}"</span>, 2003, 4, 20, 17, 55, -<a name="143" href="#143">143</a> <span class="string">"foo2003-05-20yyyy.MM.dd}"</span>); -<a name="144" href="#144">144</a> } -<a name="145" href="#145">145</a> -<a name="146" href="#146">146</a> <em>/**<em>*</em></em> -<a name="147" href="#147">147</a> <em> * A %d is treated as %d{yyyy-MM-dd} if followed by a malformed format specifier.</em> -<a name="148" href="#148">148</a> <em> *</em> -<a name="149" href="#149">149</a> <em> */</em> -<a name="150" href="#150">150</a> <strong>public</strong> <strong>void</strong> testFormatDate5() { -<a name="151" href="#151">151</a> assertDatePattern(<span class="string">"foo%d{yyyy.MM.dd"</span>, 2003, 4, 20, 17, 55, -<a name="152" href="#152">152</a> <span class="string">"foo2003-05-20{yyyy.MM.dd"</span>); -<a name="153" href="#153">153</a> } -<a name="154" href="#154">154</a> -<a name="155" href="#155">155</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/EnhancedPatternLayout.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/EnhancedPatternLayout.html deleted file mode 100644 index f51b8da7def..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/EnhancedPatternLayout.html +++ /dev/null @@ -1,559 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>EnhancedPatternLayout xref</title> -<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.helpers.OptionConverter; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.helpers.PatternConverter; -<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.pattern.BridgePatternConverter; -<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <em class="comment">// Contributors: Nelson Minar &lt;nelson@monkey.org></em> -<a name="27" href="#27">27</a> <em class="comment">// Anders Kristensen &lt;akristensen@dynamicsoft.com></em> -<a name="28" href="#28">28</a> -<a name="29" href="#29">29</a> <em>/**<em>*</em></em> -<a name="30" href="#30">30</a> <em> * &lt;p>A flexible layout configurable with pattern string. The goal of this class</em> -<a name="31" href="#31">31</a> <em> * is to {@link #format format} a {@link LoggingEvent} and return the results</em> -<a name="32" href="#32">32</a> <em> * in a {@link StringBuffer}. The format of the result depends on the</em> -<a name="33" href="#33">33</a> <em> * &lt;em>conversion pattern&lt;/em>.</em> -<a name="34" href="#34">34</a> <em> * &lt;p></em> -<a name="35" href="#35">35</a> <em> *</em> -<a name="36" href="#36">36</a> <em> * &lt;p>The conversion pattern is closely related to the conversion</em> -<a name="37" href="#37">37</a> <em> * pattern of the printf function in C. A conversion pattern is</em> -<a name="38" href="#38">38</a> <em> * composed of literal text and format control expressions called</em> -<a name="39" href="#39">39</a> <em> * &lt;em>conversion specifiers&lt;/em>.</em> -<a name="40" href="#40">40</a> <em> *</em> -<a name="41" href="#41">41</a> <em> * &lt;p>&lt;i>Note that you are free to insert any literal text within the</em> -<a name="42" href="#42">42</a> <em> * conversion pattern.&lt;/i></em> -<a name="43" href="#43">43</a> <em> * &lt;/p></em> -<a name="44" href="#44">44</a> -<a name="45" href="#45">45</a> <em> &lt;p>Each conversion specifier starts with a percent sign (%) and is</em> -<a name="46" href="#46">46</a> <em> followed by optional &lt;em>format modifiers&lt;/em> and a &lt;em>conversion</em> -<a name="47" href="#47">47</a> <em> character&lt;/em>. The conversion character specifies the type of</em> -<a name="48" href="#48">48</a> <em> data, e.g. category, priority, date, thread name. The format</em> -<a name="49" href="#49">49</a> <em> modifiers control such things as field width, padding, left and</em> -<a name="50" href="#50">50</a> <em> right justification. The following is a simple example.</em> -<a name="51" href="#51">51</a> -<a name="52" href="#52">52</a> <em> &lt;p>Let the conversion pattern be &lt;b>"%-5p [%t]: %m%n"&lt;/b> and assume</em> -<a name="53" href="#53">53</a> <em> that the log4j environment was set to use a EnhancedPatternLayout. Then the</em> -<a name="54" href="#54">54</a> <em> statements</em> -<a name="55" href="#55">55</a> <em> &lt;pre></em> -<a name="56" href="#56">56</a> <em> Category root = Category.getRoot();</em> -<a name="57" href="#57">57</a> <em> root.debug("Message 1");</em> -<a name="58" href="#58">58</a> <em> root.warn("Message 2");</em> -<a name="59" href="#59">59</a> <em> &lt;/pre></em> -<a name="60" href="#60">60</a> <em> would yield the output</em> -<a name="61" href="#61">61</a> <em> &lt;pre></em> -<a name="62" href="#62">62</a> <em> DEBUG [main]: Message 1</em> -<a name="63" href="#63">63</a> <em> WARN [main]: Message 2</em> -<a name="64" href="#64">64</a> <em> &lt;/pre></em> -<a name="65" href="#65">65</a> -<a name="66" href="#66">66</a> <em> &lt;p>Note that there is no explicit separator between text and</em> -<a name="67" href="#67">67</a> <em> conversion specifiers. The pattern parser knows when it has reached</em> -<a name="68" href="#68">68</a> <em> the end of a conversion specifier when it reads a conversion</em> -<a name="69" href="#69">69</a> <em> character. In the example above the conversion specifier</em> -<a name="70" href="#70">70</a> <em> &lt;b>%-5p&lt;/b> means the priority of the logging event should be left</em> -<a name="71" href="#71">71</a> <em> justified to a width of five characters.</em> -<a name="72" href="#72">72</a> -<a name="73" href="#73">73</a> <em> The recognized conversion characters are</em> -<a name="74" href="#74">74</a> -<a name="75" href="#75">75</a> <em> &lt;p></em> -<a name="76" href="#76">76</a> <em> &lt;table border="1" CELLPADDING="8"></em> -<a name="77" href="#77">77</a> <em> &lt;th>Conversion Character&lt;/th></em> -<a name="78" href="#78">78</a> <em> &lt;th>Effect&lt;/th></em> -<a name="79" href="#79">79</a> -<a name="80" href="#80">80</a> <em> &lt;tr></em> -<a name="81" href="#81">81</a> <em> &lt;td align=center>&lt;b>c&lt;/b>&lt;/td></em> -<a name="82" href="#82">82</a> -<a name="83" href="#83">83</a> <em> &lt;td>Used to output the category of the logging event. The</em> -<a name="84" href="#84">84</a> <em> category conversion specifier can be optionally followed by</em> -<a name="85" href="#85">85</a> <em> &lt;em>precision specifier&lt;/em>, that is a decimal constant in</em> -<a name="86" href="#86">86</a> <em> brackets.</em> -<a name="87" href="#87">87</a> -<a name="88" href="#88">88</a> <em> &lt;p>If a precision specifier is given, then only the corresponding</em> -<a name="89" href="#89">89</a> <em> number of right most components of the category name will be</em> -<a name="90" href="#90">90</a> <em> printed. By default the category name is printed in full.</em> -<a name="91" href="#91">91</a> -<a name="92" href="#92">92</a> <em> &lt;p>For example, for the category name "a.b.c" the pattern</em> -<a name="93" href="#93">93</a> <em> &lt;b>%c{2}&lt;/b> will output "b.c".</em> -<a name="94" href="#94">94</a> -<a name="95" href="#95">95</a> <em> &lt;/td></em> -<a name="96" href="#96">96</a> <em> &lt;/tr></em> -<a name="97" href="#97">97</a> -<a name="98" href="#98">98</a> <em> &lt;tr></em> -<a name="99" href="#99">99</a> <em> &lt;td align=center>&lt;b>C&lt;/b>&lt;/td></em> -<a name="100" href="#100">100</a> -<a name="101" href="#101">101</a> <em> &lt;td>Used to output the fully qualified class name of the caller</em> -<a name="102" href="#102">102</a> <em> issuing the logging request. This conversion specifier</em> -<a name="103" href="#103">103</a> <em> can be optionally followed by &lt;em>precision specifier&lt;/em>, that</em> -<a name="104" href="#104">104</a> <em> is a decimal constant in brackets.</em> -<a name="105" href="#105">105</a> -<a name="106" href="#106">106</a> <em> &lt;p>If a precision specifier is given, then only the corresponding</em> -<a name="107" href="#107">107</a> <em> number of right most components of the class name will be</em> -<a name="108" href="#108">108</a> <em> printed. By default the class name is output in fully qualified form.</em> -<a name="109" href="#109">109</a> -<a name="110" href="#110">110</a> <em> &lt;p>For example, for the class name "org.apache.xyz.SomeClass", the</em> -<a name="111" href="#111">111</a> <em> pattern &lt;b>%C{1}&lt;/b> will output "SomeClass".</em> -<a name="112" href="#112">112</a> -<a name="113" href="#113">113</a> <em> &lt;p>&lt;b>WARNING&lt;/b> Generating the caller class information is</em> -<a name="114" href="#114">114</a> <em> slow. Thus, it's use should be avoided unless execution speed is</em> -<a name="115" href="#115">115</a> <em> not an issue.</em> -<a name="116" href="#116">116</a> -<a name="117" href="#117">117</a> <em> &lt;/td></em> -<a name="118" href="#118">118</a> <em> &lt;/tr></em> -<a name="119" href="#119">119</a> -<a name="120" href="#120">120</a> <em> &lt;tr> &lt;td align=center>&lt;b>d&lt;/b>&lt;/td> &lt;td>Used to output the date of</em> -<a name="121" href="#121">121</a> <em> the logging event. The date conversion specifier may be</em> -<a name="122" href="#122">122</a> <em> followed by a set of braces containing a</em> -<a name="123" href="#123">123</a> <em> date and time pattern strings {@link java.text.SimpleDateFormat},</em> -<a name="124" href="#124">124</a> <em> &lt;em>ABSOLUTE&lt;/em>, &lt;em>DATE&lt;/em> or &lt;em>ISO8601&lt;/em></em> -<a name="125" href="#125">125</a> <em> and a set of braces containing a time zone id per </em> -<a name="126" href="#126">126</a> <em> {@link java.util.TimeZone#getTimeZone(String)}. </em> -<a name="127" href="#127">127</a> <em> For example, &lt;b>%d{HH:mm:ss,SSS}&lt;/b>,</em> -<a name="128" href="#128">128</a> <em> &lt;b>%d{dd&amp;nbsp;MMM&amp;nbsp;yyyy&amp;nbsp;HH:mm:ss,SSS}&lt;/b>,</em> -<a name="129" href="#129">129</a> <em> &lt;b>%d{DATE}&lt;/b> or &lt;b>%d{HH:mm:ss}{GMT+0}&lt;/b>. If no date format specifier is given then</em> -<a name="130" href="#130">130</a> <em> ISO8601 format is assumed. </em> -<a name="131" href="#131">131</a> <em> &lt;/td></em> -<a name="132" href="#132">132</a> <em> &lt;/tr></em> -<a name="133" href="#133">133</a> -<a name="134" href="#134">134</a> <em> &lt;tr></em> -<a name="135" href="#135">135</a> <em> &lt;td align=center>&lt;b>F&lt;/b>&lt;/td></em> -<a name="136" href="#136">136</a> -<a name="137" href="#137">137</a> <em> &lt;td>Used to output the file name where the logging request was</em> -<a name="138" href="#138">138</a> <em> issued.</em> -<a name="139" href="#139">139</a> -<a name="140" href="#140">140</a> <em> &lt;p>&lt;b>WARNING&lt;/b> Generating caller location information is</em> -<a name="141" href="#141">141</a> <em> extremely slow. Its use should be avoided unless execution speed</em> -<a name="142" href="#142">142</a> <em> is not an issue.</em> -<a name="143" href="#143">143</a> -<a name="144" href="#144">144</a> <em> &lt;/tr></em> -<a name="145" href="#145">145</a> -<a name="146" href="#146">146</a> <em> &lt;tr></em> -<a name="147" href="#147">147</a> <em> &lt;td align=center>&lt;b>l&lt;/b>&lt;/td></em> -<a name="148" href="#148">148</a> -<a name="149" href="#149">149</a> <em> &lt;td>Used to output location information of the caller which generated</em> -<a name="150" href="#150">150</a> <em> the logging event.</em> -<a name="151" href="#151">151</a> -<a name="152" href="#152">152</a> <em> &lt;p>The location information depends on the JVM implementation but</em> -<a name="153" href="#153">153</a> <em> usually consists of the fully qualified name of the calling</em> -<a name="154" href="#154">154</a> <em> method followed by the callers source the file name and line</em> -<a name="155" href="#155">155</a> <em> number between parentheses.</em> -<a name="156" href="#156">156</a> -<a name="157" href="#157">157</a> <em> &lt;p>The location information can be very useful. However, it's</em> -<a name="158" href="#158">158</a> <em> generation is &lt;em>extremely&lt;/em> slow. It's use should be avoided</em> -<a name="159" href="#159">159</a> <em> unless execution speed is not an issue.</em> -<a name="160" href="#160">160</a> -<a name="161" href="#161">161</a> <em> &lt;/td></em> -<a name="162" href="#162">162</a> <em> &lt;/tr></em> -<a name="163" href="#163">163</a> -<a name="164" href="#164">164</a> <em> &lt;tr></em> -<a name="165" href="#165">165</a> <em> &lt;td align=center>&lt;b>L&lt;/b>&lt;/td></em> -<a name="166" href="#166">166</a> -<a name="167" href="#167">167</a> <em> &lt;td>Used to output the line number from where the logging request</em> -<a name="168" href="#168">168</a> <em> was issued.</em> -<a name="169" href="#169">169</a> -<a name="170" href="#170">170</a> <em> &lt;p>&lt;b>WARNING&lt;/b> Generating caller location information is</em> -<a name="171" href="#171">171</a> <em> extremely slow. It's use should be avoided unless execution speed</em> -<a name="172" href="#172">172</a> <em> is not an issue.</em> -<a name="173" href="#173">173</a> -<a name="174" href="#174">174</a> <em> &lt;/tr></em> -<a name="175" href="#175">175</a> -<a name="176" href="#176">176</a> -<a name="177" href="#177">177</a> <em> &lt;tr></em> -<a name="178" href="#178">178</a> <em> &lt;td align=center>&lt;b>m&lt;/b>&lt;/td></em> -<a name="179" href="#179">179</a> <em> &lt;td>Used to output the application supplied message associated with</em> -<a name="180" href="#180">180</a> <em> the logging event.&lt;/td></em> -<a name="181" href="#181">181</a> <em> &lt;/tr></em> -<a name="182" href="#182">182</a> -<a name="183" href="#183">183</a> <em> &lt;tr></em> -<a name="184" href="#184">184</a> <em> &lt;td align=center>&lt;b>M&lt;/b>&lt;/td></em> -<a name="185" href="#185">185</a> -<a name="186" href="#186">186</a> <em> &lt;td>Used to output the method name where the logging request was</em> -<a name="187" href="#187">187</a> <em> issued.</em> -<a name="188" href="#188">188</a> -<a name="189" href="#189">189</a> <em> &lt;p>&lt;b>WARNING&lt;/b> Generating caller location information is</em> -<a name="190" href="#190">190</a> <em> extremely slow. It's use should be avoided unless execution speed</em> -<a name="191" href="#191">191</a> <em> is not an issue.</em> -<a name="192" href="#192">192</a> -<a name="193" href="#193">193</a> <em> &lt;/tr></em> -<a name="194" href="#194">194</a> -<a name="195" href="#195">195</a> <em> &lt;tr></em> -<a name="196" href="#196">196</a> <em> &lt;td align=center>&lt;b>n&lt;/b>&lt;/td></em> -<a name="197" href="#197">197</a> -<a name="198" href="#198">198</a> <em> &lt;td>Outputs the platform dependent line separator character or</em> -<a name="199" href="#199">199</a> <em> characters.</em> -<a name="200" href="#200">200</a> -<a name="201" href="#201">201</a> <em> &lt;p>This conversion character offers practically the same</em> -<a name="202" href="#202">202</a> <em> performance as using non-portable line separator strings such as</em> -<a name="203" href="#203">203</a> <em> "\n", or "\r\n". Thus, it is the preferred way of specifying a</em> -<a name="204" href="#204">204</a> <em> line separator.</em> -<a name="205" href="#205">205</a> -<a name="206" href="#206">206</a> -<a name="207" href="#207">207</a> <em> &lt;/tr></em> -<a name="208" href="#208">208</a> -<a name="209" href="#209">209</a> <em> &lt;tr></em> -<a name="210" href="#210">210</a> <em> &lt;td align=center>&lt;b>p&lt;/b>&lt;/td></em> -<a name="211" href="#211">211</a> <em> &lt;td>Used to output the priority of the logging event.&lt;/td></em> -<a name="212" href="#212">212</a> <em> &lt;/tr></em> -<a name="213" href="#213">213</a> -<a name="214" href="#214">214</a> <em> &lt;tr></em> -<a name="215" href="#215">215</a> -<a name="216" href="#216">216</a> <em> &lt;td align=center>&lt;b>r&lt;/b>&lt;/td></em> -<a name="217" href="#217">217</a> -<a name="218" href="#218">218</a> <em> &lt;td>Used to output the number of milliseconds elapsed since the construction </em> -<a name="219" href="#219">219</a> <em> of the layout until the creation of the logging event.&lt;/td></em> -<a name="220" href="#220">220</a> <em> &lt;/tr></em> -<a name="221" href="#221">221</a> -<a name="222" href="#222">222</a> -<a name="223" href="#223">223</a> <em> &lt;tr></em> -<a name="224" href="#224">224</a> <em> &lt;td align=center>&lt;b>t&lt;/b>&lt;/td></em> -<a name="225" href="#225">225</a> -<a name="226" href="#226">226</a> <em> &lt;td>Used to output the name of the thread that generated the</em> -<a name="227" href="#227">227</a> <em> logging event.&lt;/td></em> -<a name="228" href="#228">228</a> -<a name="229" href="#229">229</a> <em> &lt;/tr></em> -<a name="230" href="#230">230</a> -<a name="231" href="#231">231</a> <em> &lt;tr></em> -<a name="232" href="#232">232</a> -<a name="233" href="#233">233</a> <em> &lt;td align=center>&lt;b>x&lt;/b>&lt;/td></em> -<a name="234" href="#234">234</a> -<a name="235" href="#235">235</a> <em> &lt;td>Used to output the NDC (nested diagnostic context) associated</em> -<a name="236" href="#236">236</a> <em> with the thread that generated the logging event.</em> -<a name="237" href="#237">237</a> <em> &lt;/td></em> -<a name="238" href="#238">238</a> <em> &lt;/tr></em> -<a name="239" href="#239">239</a> -<a name="240" href="#240">240</a> -<a name="241" href="#241">241</a> <em> &lt;tr></em> -<a name="242" href="#242">242</a> <em> &lt;td align=center>&lt;b>X&lt;/b>&lt;/td></em> -<a name="243" href="#243">243</a> -<a name="244" href="#244">244</a> <em> &lt;td></em> -<a name="245" href="#245">245</a> -<a name="246" href="#246">246</a> <em> &lt;p>Used to output the MDC (mapped diagnostic context) associated</em> -<a name="247" href="#247">247</a> <em> with the thread that generated the logging event. The &lt;b>X&lt;/b></em> -<a name="248" href="#248">248</a> <em> conversion character can be followed by the key for the</em> -<a name="249" href="#249">249</a> <em> map placed between braces, as in &lt;b>%X{clientNumber}&lt;/b> where</em> -<a name="250" href="#250">250</a> <em> &lt;code>clientNumber&lt;/code> is the key. The value in the MDC</em> -<a name="251" href="#251">251</a> <em> corresponding to the key will be output. If no additional sub-option</em> -<a name="252" href="#252">252</a> <em> is specified, then the entire contents of the MDC key value pair set</em> -<a name="253" href="#253">253</a> <em> is output using a format {{key1,val1},{key2,val2}}&lt;/p></em> -<a name="254" href="#254">254</a> -<a name="255" href="#255">255</a> <em> &lt;p>See {@link MDC} class for more details.</em> -<a name="256" href="#256">256</a> <em> &lt;/p></em> -<a name="257" href="#257">257</a> -<a name="258" href="#258">258</a> <em> &lt;/td></em> -<a name="259" href="#259">259</a> <em> &lt;/tr></em> -<a name="260" href="#260">260</a> -<a name="261" href="#261">261</a> <em> &lt;tr></em> -<a name="262" href="#262">262</a> <em> &lt;td align=center>&lt;b>properties&lt;/b>&lt;/td></em> -<a name="263" href="#263">263</a> -<a name="264" href="#264">264</a> <em> &lt;td></em> -<a name="265" href="#265">265</a> <em> &lt;p>Used to output the Properties associated</em> -<a name="266" href="#266">266</a> <em> with the logging event. The &lt;b>properties&lt;/b></em> -<a name="267" href="#267">267</a> <em> conversion word can be followed by the key for the</em> -<a name="268" href="#268">268</a> <em> map placed between braces, as in &lt;b>%properties{application}&lt;/b> where</em> -<a name="269" href="#269">269</a> <em> &lt;code>application&lt;/code> is the key. The value in the Properties bundle</em> -<a name="270" href="#270">270</a> <em> corresponding to the key will be output. If no additional sub-option</em> -<a name="271" href="#271">271</a> <em> is specified, then the entire contents of the Properties key value pair set</em> -<a name="272" href="#272">272</a> <em> is output using a format {{key1,val1},{key2,val2}}&lt;/p></em> -<a name="273" href="#273">273</a> <em> &lt;/td></em> -<a name="274" href="#274">274</a> <em> &lt;/tr></em> -<a name="275" href="#275">275</a> -<a name="276" href="#276">276</a> <em> &lt;tr></em> -<a name="277" href="#277">277</a> <em> &lt;td align=center>&lt;b>throwable&lt;/b>&lt;/td></em> -<a name="278" href="#278">278</a> -<a name="279" href="#279">279</a> <em> &lt;td></em> -<a name="280" href="#280">280</a> <em> &lt;p>Used to output the Throwable trace that has been bound to the LoggingEvent, by</em> -<a name="281" href="#281">281</a> <em> default this will output the full trace as one would normally find by a call to Throwable.printStackTrace().</em> -<a name="282" href="#282">282</a> <em> The throwable conversion word can be followed by an option in the form &lt;b>%throwable{short}&lt;/b></em> -<a name="283" href="#283">283</a> <em> which will only output the first line of the ThrowableInformation.&lt;/p></em> -<a name="284" href="#284">284</a> <em> &lt;/td></em> -<a name="285" href="#285">285</a> <em> &lt;/tr></em> -<a name="286" href="#286">286</a> -<a name="287" href="#287">287</a> <em> &lt;tr></em> -<a name="288" href="#288">288</a> -<a name="289" href="#289">289</a> <em> &lt;td align=center>&lt;b>%&lt;/b>&lt;/td></em> -<a name="290" href="#290">290</a> -<a name="291" href="#291">291</a> <em> &lt;td>The sequence %% outputs a single percent sign.</em> -<a name="292" href="#292">292</a> <em> &lt;/td></em> -<a name="293" href="#293">293</a> <em> &lt;/tr></em> -<a name="294" href="#294">294</a> -<a name="295" href="#295">295</a> <em> &lt;/table></em> -<a name="296" href="#296">296</a> -<a name="297" href="#297">297</a> <em> &lt;p>By default the relevant information is output as is. However,</em> -<a name="298" href="#298">298</a> <em> with the aid of format modifiers it is possible to change the</em> -<a name="299" href="#299">299</a> <em> minimum field width, the maximum field width and justification.</em> -<a name="300" href="#300">300</a> -<a name="301" href="#301">301</a> <em> &lt;p>The optional format modifier is placed between the percent sign</em> -<a name="302" href="#302">302</a> <em> and the conversion character.</em> -<a name="303" href="#303">303</a> -<a name="304" href="#304">304</a> <em> &lt;p>The first optional format modifier is the &lt;em>left justification</em> -<a name="305" href="#305">305</a> <em> flag&lt;/em> which is just the minus (-) character. Then comes the</em> -<a name="306" href="#306">306</a> <em> optional &lt;em>minimum field width&lt;/em> modifier. This is a decimal</em> -<a name="307" href="#307">307</a> <em> constant that represents the minimum number of characters to</em> -<a name="308" href="#308">308</a> <em> output. If the data item requires fewer characters, it is padded on</em> -<a name="309" href="#309">309</a> <em> either the left or the right until the minimum width is</em> -<a name="310" href="#310">310</a> <em> reached. The default is to pad on the left (right justify) but you</em> -<a name="311" href="#311">311</a> <em> can specify right padding with the left justification flag. The</em> -<a name="312" href="#312">312</a> <em> padding character is space. If the data item is larger than the</em> -<a name="313" href="#313">313</a> <em> minimum field width, the field is expanded to accommodate the</em> -<a name="314" href="#314">314</a> <em> data. The value is never truncated.</em> -<a name="315" href="#315">315</a> -<a name="316" href="#316">316</a> <em> &lt;p>This behavior can be changed using the &lt;em>maximum field</em> -<a name="317" href="#317">317</a> <em> width&lt;/em> modifier which is designated by a period followed by a</em> -<a name="318" href="#318">318</a> <em> decimal constant. If the data item is longer than the maximum</em> -<a name="319" href="#319">319</a> <em> field, then the extra characters are removed from the</em> -<a name="320" href="#320">320</a> <em> &lt;em>beginning&lt;/em> of the data item and not from the end. For</em> -<a name="321" href="#321">321</a> <em> example, it the maximum field width is eight and the data item is</em> -<a name="322" href="#322">322</a> <em> ten characters long, then the first two characters of the data item</em> -<a name="323" href="#323">323</a> <em> are dropped. This behavior deviates from the printf function in C</em> -<a name="324" href="#324">324</a> <em> where truncation is done from the end.</em> -<a name="325" href="#325">325</a> -<a name="326" href="#326">326</a> <em> &lt;p>Below are various format modifier examples for the category</em> -<a name="327" href="#327">327</a> <em> conversion specifier.</em> -<a name="328" href="#328">328</a> -<a name="329" href="#329">329</a> <em> &lt;p></em> -<a name="330" href="#330">330</a> <em> &lt;TABLE BORDER=1 CELLPADDING=8></em> -<a name="331" href="#331">331</a> <em> &lt;th>Format modifier</em> -<a name="332" href="#332">332</a> <em> &lt;th>left justify</em> -<a name="333" href="#333">333</a> <em> &lt;th>minimum width</em> -<a name="334" href="#334">334</a> <em> &lt;th>maximum width</em> -<a name="335" href="#335">335</a> <em> &lt;th>comment</em> -<a name="336" href="#336">336</a> -<a name="337" href="#337">337</a> <em> &lt;tr></em> -<a name="338" href="#338">338</a> <em> &lt;td align=center>%20c&lt;/td></em> -<a name="339" href="#339">339</a> <em> &lt;td align=center>false&lt;/td></em> -<a name="340" href="#340">340</a> <em> &lt;td align=center>20&lt;/td></em> -<a name="341" href="#341">341</a> <em> &lt;td align=center>none&lt;/td></em> -<a name="342" href="#342">342</a> -<a name="343" href="#343">343</a> <em> &lt;td>Left pad with spaces if the category name is less than 20</em> -<a name="344" href="#344">344</a> <em> characters long.</em> -<a name="345" href="#345">345</a> -<a name="346" href="#346">346</a> <em> &lt;tr> &lt;td align=center>%-20c&lt;/td> &lt;td align=center>true&lt;/td> &lt;td</em> -<a name="347" href="#347">347</a> <em> align=center>20&lt;/td> &lt;td align=center>none&lt;/td> &lt;td>Right pad with</em> -<a name="348" href="#348">348</a> <em> spaces if the category name is less than 20 characters long.</em> -<a name="349" href="#349">349</a> -<a name="350" href="#350">350</a> <em> &lt;tr></em> -<a name="351" href="#351">351</a> <em> &lt;td align=center>%.30c&lt;/td></em> -<a name="352" href="#352">352</a> <em> &lt;td align=center>NA&lt;/td></em> -<a name="353" href="#353">353</a> <em> &lt;td align=center>none&lt;/td></em> -<a name="354" href="#354">354</a> <em> &lt;td align=center>30&lt;/td></em> -<a name="355" href="#355">355</a> -<a name="356" href="#356">356</a> <em> &lt;td>Truncate from the beginning if the category name is longer than 30</em> -<a name="357" href="#357">357</a> <em> characters.</em> -<a name="358" href="#358">358</a> -<a name="359" href="#359">359</a> <em> &lt;tr></em> -<a name="360" href="#360">360</a> <em> &lt;td align=center>%20.30c&lt;/td></em> -<a name="361" href="#361">361</a> <em> &lt;td align=center>false&lt;/td></em> -<a name="362" href="#362">362</a> <em> &lt;td align=center>20&lt;/td></em> -<a name="363" href="#363">363</a> <em> &lt;td align=center>30&lt;/td></em> -<a name="364" href="#364">364</a> -<a name="365" href="#365">365</a> <em> &lt;td>Left pad with spaces if the category name is shorter than 20</em> -<a name="366" href="#366">366</a> <em> characters. However, if category name is longer than 30 characters,</em> -<a name="367" href="#367">367</a> <em> then truncate from the beginning.</em> -<a name="368" href="#368">368</a> -<a name="369" href="#369">369</a> <em> &lt;tr></em> -<a name="370" href="#370">370</a> <em> &lt;td align=center>%-20.30c&lt;/td></em> -<a name="371" href="#371">371</a> <em> &lt;td align=center>true&lt;/td></em> -<a name="372" href="#372">372</a> <em> &lt;td align=center>20&lt;/td></em> -<a name="373" href="#373">373</a> <em> &lt;td align=center>30&lt;/td></em> -<a name="374" href="#374">374</a> -<a name="375" href="#375">375</a> <em> &lt;td>Right pad with spaces if the category name is shorter than 20</em> -<a name="376" href="#376">376</a> <em> characters. However, if category name is longer than 30 characters,</em> -<a name="377" href="#377">377</a> <em> then truncate from the beginning.</em> -<a name="378" href="#378">378</a> -<a name="379" href="#379">379</a> <em> &lt;/table></em> -<a name="380" href="#380">380</a> -<a name="381" href="#381">381</a> <em> &lt;p>Below are some examples of conversion patterns.</em> -<a name="382" href="#382">382</a> -<a name="383" href="#383">383</a> <em> &lt;dl></em> -<a name="384" href="#384">384</a> -<a name="385" href="#385">385</a> <em> &lt;p>&lt;dt>&lt;b>%r [%t] %-5p %c %x - %m%n&lt;/b></em> -<a name="386" href="#386">386</a> <em> &lt;p>&lt;dd>This is essentially the TTCC layout.</em> -<a name="387" href="#387">387</a> -<a name="388" href="#388">388</a> <em> &lt;p>&lt;dt>&lt;b>%-6r [%15.15t] %-5p %30.30c %x - %m%n&lt;/b></em> -<a name="389" href="#389">389</a> -<a name="390" href="#390">390</a> <em> &lt;p>&lt;dd>Similar to the TTCC layout except that the relative time is</em> -<a name="391" href="#391">391</a> <em> right padded if less than 6 digits, thread name is right padded if</em> -<a name="392" href="#392">392</a> <em> less than 15 characters and truncated if longer and the category</em> -<a name="393" href="#393">393</a> <em> name is left padded if shorter than 30 characters and truncated if</em> -<a name="394" href="#394">394</a> <em> longer.</em> -<a name="395" href="#395">395</a> -<a name="396" href="#396">396</a> <em> &lt;/dl></em> -<a name="397" href="#397">397</a> -<a name="398" href="#398">398</a> <em> &lt;p>The above text is largely inspired from Peter A. Darnell and</em> -<a name="399" href="#399">399</a> <em> Philip E. Margolis' highly recommended book "C -- a Software</em> -<a name="400" href="#400">400</a> <em> Engineering Approach", ISBN 0-387-97389-3.</em> -<a name="401" href="#401">401</a> -<a name="402" href="#402">402</a> <em> @author &lt;a href="<a href="mailto:cakalijp@Maritz.com" target="alexandria_uri">mailto:cakalijp@Maritz.com</a>">James P. Cakalic&lt;/a></em> -<a name="403" href="#403">403</a> <em> @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="404" href="#404">404</a> -<a name="405" href="#405">405</a> -<a name="406" href="#406">406</a> <em> @since 0.8.2 */</em> -<a name="407" href="#407">407</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayout.html">EnhancedPatternLayout</a> <strong>extends</strong> Layout { -<a name="408" href="#408">408</a> <em>/**<em>* Default pattern string for log output. Currently set to the</em></em> -<a name="409" href="#409">409</a> <em> string &lt;b>"%m%n"&lt;/b> which just prints the application supplied</em> -<a name="410" href="#410">410</a> <em> message. */</em> -<a name="411" href="#411">411</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String DEFAULT_CONVERSION_PATTERN = <span class="string">"%m%n"</span>; -<a name="412" href="#412">412</a> -<a name="413" href="#413">413</a> <em>/**<em>* A conversion pattern equivalent to the TTCCCLayout.</em></em> -<a name="414" href="#414">414</a> <em> Current value is &lt;b>%r [%t] %p %c %x - %m%n&lt;/b>. */</em> -<a name="415" href="#415">415</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String TTCC_CONVERSION_PATTERN = -<a name="416" href="#416">416</a> <span class="string">"%r [%t] %p %c %x - %m%n"</span>; -<a name="417" href="#417">417</a> -<a name="418" href="#418">418</a> <em>/**<em>*</em></em> -<a name="419" href="#419">419</a> <em> * Initial size of internal buffer, no longer used.</em> -<a name="420" href="#420">420</a> <em> * @deprecated since 1.3</em> -<a name="421" href="#421">421</a> <em> */</em> -<a name="422" href="#422">422</a> <strong>protected</strong> <strong>final</strong> <strong>int</strong> BUF_SIZE = 256; -<a name="423" href="#423">423</a> -<a name="424" href="#424">424</a> <em>/**<em>*</em></em> -<a name="425" href="#425">425</a> <em> * Maximum capacity of internal buffer, no longer used.</em> -<a name="426" href="#426">426</a> <em> * @deprecated since 1.3</em> -<a name="427" href="#427">427</a> <em> */</em> -<a name="428" href="#428">428</a> <strong>protected</strong> <strong>final</strong> <strong>int</strong> MAX_CAPACITY = 1024; -<a name="429" href="#429">429</a> -<a name="430" href="#430">430</a> <em>/**<em>*</em></em> -<a name="431" href="#431">431</a> <em> * Customized pattern conversion rules are stored under this key in the</em> -<a name="432" href="#432">432</a> <em> * {@link org.apache.log4j.spi.LoggerRepository LoggerRepository} object store.</em> -<a name="433" href="#433">433</a> <em> */</em> -<a name="434" href="#434">434</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String PATTERN_RULE_REGISTRY = <span class="string">"PATTERN_RULE_REGISTRY"</span>; -<a name="435" href="#435">435</a> -<a name="436" href="#436">436</a> -<a name="437" href="#437">437</a> <em>/**<em>*</em></em> -<a name="438" href="#438">438</a> <em> * Initial converter for pattern.</em> -<a name="439" href="#439">439</a> <em> */</em> -<a name="440" href="#440">440</a> <strong>private</strong> <a href="../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> head; -<a name="441" href="#441">441</a> -<a name="442" href="#442">442</a> <em>/**<em>*</em></em> -<a name="443" href="#443">443</a> <em> * Conversion pattern.</em> -<a name="444" href="#444">444</a> <em> */</em> -<a name="445" href="#445">445</a> <strong>private</strong> String conversionPattern; -<a name="446" href="#446">446</a> -<a name="447" href="#447">447</a> <em>/**<em>*</em></em> -<a name="448" href="#448">448</a> <em> * True if any element in pattern formats information from exceptions.</em> -<a name="449" href="#449">449</a> <em> */</em> -<a name="450" href="#450">450</a> <strong>private</strong> <strong>boolean</strong> handlesExceptions; -<a name="451" href="#451">451</a> -<a name="452" href="#452">452</a> <em>/**<em>*</em></em> -<a name="453" href="#453">453</a> <em> Constructs a EnhancedPatternLayout using the DEFAULT_LAYOUT_PATTERN.</em> -<a name="454" href="#454">454</a> -<a name="455" href="#455">455</a> <em> The default pattern just produces the application supplied message.</em> -<a name="456" href="#456">456</a> <em> */</em> -<a name="457" href="#457">457</a> <strong>public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayout.html">EnhancedPatternLayout</a>() { -<a name="458" href="#458">458</a> <strong>this</strong>(DEFAULT_CONVERSION_PATTERN); -<a name="459" href="#459">459</a> } -<a name="460" href="#460">460</a> -<a name="461" href="#461">461</a> <em>/**<em>*</em></em> -<a name="462" href="#462">462</a> <em> * Constructs a EnhancedPatternLayout using the supplied conversion pattern.</em> -<a name="463" href="#463">463</a> <em> * @param pattern conversion pattern.</em> -<a name="464" href="#464">464</a> <em> */</em> -<a name="465" href="#465">465</a> <strong>public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayout.html">EnhancedPatternLayout</a>(<strong>final</strong> String pattern) { -<a name="466" href="#466">466</a> <strong>this</strong>.conversionPattern = pattern; -<a name="467" href="#467">467</a> head = createPatternParser( -<a name="468" href="#468">468</a> (pattern == <strong>null</strong>) ? DEFAULT_CONVERSION_PATTERN : pattern).parse(); -<a name="469" href="#469">469</a> <strong>if</strong> (head instanceof BridgePatternConverter) { -<a name="470" href="#470">470</a> handlesExceptions = !((BridgePatternConverter) head).ignoresThrowable(); -<a name="471" href="#471">471</a> } <strong>else</strong> { -<a name="472" href="#472">472</a> handlesExceptions = false; -<a name="473" href="#473">473</a> } -<a name="474" href="#474">474</a> } -<a name="475" href="#475">475</a> -<a name="476" href="#476">476</a> <em>/**<em>*</em></em> -<a name="477" href="#477">477</a> <em> * Set the &lt;b>ConversionPattern&lt;/b> option. This is the string which</em> -<a name="478" href="#478">478</a> <em> * controls formatting and consists of a mix of literal content and</em> -<a name="479" href="#479">479</a> <em> * conversion specifiers.</em> -<a name="480" href="#480">480</a> <em> *</em> -<a name="481" href="#481">481</a> <em> * @param conversionPattern conversion pattern.</em> -<a name="482" href="#482">482</a> <em> */</em> -<a name="483" href="#483">483</a> <strong>public</strong> <strong>void</strong> setConversionPattern(<strong>final</strong> String conversionPattern) { -<a name="484" href="#484">484</a> <strong>this</strong>.conversionPattern = -<a name="485" href="#485">485</a> OptionConverter.convertSpecialChars(conversionPattern); -<a name="486" href="#486">486</a> head = createPatternParser(<strong>this</strong>.conversionPattern).parse(); -<a name="487" href="#487">487</a> <strong>if</strong> (head instanceof BridgePatternConverter) { -<a name="488" href="#488">488</a> handlesExceptions = !((BridgePatternConverter) head).ignoresThrowable(); -<a name="489" href="#489">489</a> } <strong>else</strong> { -<a name="490" href="#490">490</a> handlesExceptions = false; -<a name="491" href="#491">491</a> } -<a name="492" href="#492">492</a> } -<a name="493" href="#493">493</a> -<a name="494" href="#494">494</a> <em>/**<em>*</em></em> -<a name="495" href="#495">495</a> <em> * Returns the value of the &lt;b>ConversionPattern&lt;/b> option.</em> -<a name="496" href="#496">496</a> <em> * @return conversion pattern.</em> -<a name="497" href="#497">497</a> <em> */</em> -<a name="498" href="#498">498</a> <strong>public</strong> String getConversionPattern() { -<a name="499" href="#499">499</a> <strong>return</strong> conversionPattern; -<a name="500" href="#500">500</a> } -<a name="501" href="#501">501</a> -<a name="502" href="#502">502</a> -<a name="503" href="#503">503</a> <em>/**<em>*</em></em> -<a name="504" href="#504">504</a> <em> Returns PatternParser used to parse the conversion string. Subclasses</em> -<a name="505" href="#505">505</a> <em> may override this to return a subclass of PatternParser which recognize</em> -<a name="506" href="#506">506</a> <em> custom conversion characters.</em> -<a name="507" href="#507">507</a> -<a name="508" href="#508">508</a> <em> @since 0.9.0</em> -<a name="509" href="#509">509</a> <em> */</em> -<a name="510" href="#510">510</a> <strong>protected</strong> org.apache.log4j.helpers.PatternParser createPatternParser(String pattern) { -<a name="511" href="#511">511</a> <strong>return</strong> <strong>new</strong> org.apache.log4j.pattern.BridgePatternParser(pattern); -<a name="512" href="#512">512</a> } -<a name="513" href="#513">513</a> -<a name="514" href="#514">514</a> -<a name="515" href="#515">515</a> <em>/**<em>*</em></em> -<a name="516" href="#516">516</a> <em> Activates the conversion pattern. Do not forget to call this method after</em> -<a name="517" href="#517">517</a> <em> you change the parameters of the EnhancedPatternLayout instance.</em> -<a name="518" href="#518">518</a> <em> */</em> -<a name="519" href="#519">519</a> <strong>public</strong> <strong>void</strong> activateOptions() { -<a name="520" href="#520">520</a> <em class="comment">// nothing to do.</em> -<a name="521" href="#521">521</a> } -<a name="522" href="#522">522</a> -<a name="523" href="#523">523</a> -<a name="524" href="#524">524</a> <em>/**<em>*</em></em> -<a name="525" href="#525">525</a> <em> * Formats a logging event to a writer.</em> -<a name="526" href="#526">526</a> <em> * @param event logging event to be formatted.</em> -<a name="527" href="#527">527</a> <em> */</em> -<a name="528" href="#528">528</a> <strong>public</strong> String format(<strong>final</strong> LoggingEvent event) { -<a name="529" href="#529">529</a> StringBuffer buf = <strong>new</strong> StringBuffer(); -<a name="530" href="#530">530</a> <strong>for</strong>(<a href="../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> c = head; -<a name="531" href="#531">531</a> c != <strong>null</strong>; -<a name="532" href="#532">532</a> c = c.next) { -<a name="533" href="#533">533</a> c.format(buf, event); -<a name="534" href="#534">534</a> } -<a name="535" href="#535">535</a> <strong>return</strong> buf.toString(); -<a name="536" href="#536">536</a> } -<a name="537" href="#537">537</a> -<a name="538" href="#538">538</a> <em>/**<em>*</em></em> -<a name="539" href="#539">539</a> <em> * Will return false if any of the conversion specifiers in the pattern</em> -<a name="540" href="#540">540</a> <em> * handles {@link Exception Exceptions}.</em> -<a name="541" href="#541">541</a> <em> * @return true if the pattern formats any information from exceptions.</em> -<a name="542" href="#542">542</a> <em> */</em> -<a name="543" href="#543">543</a> <strong>public</strong> <strong>boolean</strong> ignoresThrowable() { -<a name="544" href="#544">544</a> <strong>return</strong> !handlesExceptions; -<a name="545" href="#545">545</a> } -<a name="546" href="#546">546</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/LogMF.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/LogMF.html deleted file mode 100644 index 5a0c1690f69..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/LogMF.html +++ /dev/null @@ -1,1728 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LogMF xref</title> -<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/LogMF.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> <strong>import</strong> java.text.DateFormat; -<a name="22" href="#22">22</a> <strong>import</strong> java.text.MessageFormat; -<a name="23" href="#23">23</a> <strong>import</strong> java.text.NumberFormat; -<a name="24" href="#24">24</a> <strong>import</strong> java.util.Date; -<a name="25" href="#25">25</a> <strong>import</strong> java.util.ResourceBundle; -<a name="26" href="#26">26</a> -<a name="27" href="#27">27</a> -<a name="28" href="#28">28</a> <em>/**<em>*</em></em> -<a name="29" href="#29">29</a> <em> * This class provides static methods to</em> -<a name="30" href="#30">30</a> <em> * format log messages using java.text.MessageFormat.</em> -<a name="31" href="#31">31</a> <em> *</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../org/apache/log4j/LogMF.html">LogMF</a> { -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * Trace level.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> Level TRACE = <strong>new</strong> Level(5000, <span class="string">"TRACE"</span>, 7); -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * private constructor.</em> -<a name="40" href="#40">40</a> <em> *</em> -<a name="41" href="#41">41</a> <em> */</em> -<a name="42" href="#42">42</a> <strong>private</strong> <a href="../../../org/apache/log4j/LogMF.html">LogMF</a>() { -<a name="43" href="#43">43</a> } -<a name="44" href="#44">44</a> -<a name="45" href="#45">45</a> -<a name="46" href="#46">46</a> <em>/**<em>*</em></em> -<a name="47" href="#47">47</a> <em> * Returns a Boolean instance representing the specified boolean.</em> -<a name="48" href="#48">48</a> <em> * Boolean.valueOf was added in JDK 1.4.</em> -<a name="49" href="#49">49</a> <em> * @param b a boolean value.</em> -<a name="50" href="#50">50</a> <em> * @return a Boolean instance representing b.</em> -<a name="51" href="#51">51</a> <em> */</em> -<a name="52" href="#52">52</a> <strong>private</strong> <strong>static</strong> Boolean valueOf(<strong>final</strong> <strong>boolean</strong> b) { -<a name="53" href="#53">53</a> <strong>if</strong> (b) { -<a name="54" href="#54">54</a> <strong>return</strong> Boolean.TRUE; -<a name="55" href="#55">55</a> } -<a name="56" href="#56">56</a> <strong>return</strong> Boolean.FALSE; -<a name="57" href="#57">57</a> } -<a name="58" href="#58">58</a> -<a name="59" href="#59">59</a> <em>/**<em>*</em></em> -<a name="60" href="#60">60</a> <em> * Returns a Character instance representing the specified char.</em> -<a name="61" href="#61">61</a> <em> * Character.valueOf was added in JDK 1.5.</em> -<a name="62" href="#62">62</a> <em> * @param c a character value.</em> -<a name="63" href="#63">63</a> <em> * @return a Character instance representing c.</em> -<a name="64" href="#64">64</a> <em> */</em> -<a name="65" href="#65">65</a> <strong>private</strong> <strong>static</strong> Character valueOf(<strong>final</strong> <strong>char</strong> c) { -<a name="66" href="#66">66</a> <strong>return</strong> <strong>new</strong> Character(c); -<a name="67" href="#67">67</a> } -<a name="68" href="#68">68</a> -<a name="69" href="#69">69</a> <em>/**<em>*</em></em> -<a name="70" href="#70">70</a> <em> * Returns a Byte instance representing the specified byte.</em> -<a name="71" href="#71">71</a> <em> * Byte.valueOf was added in JDK 1.5.</em> -<a name="72" href="#72">72</a> <em> * @param b a byte value.</em> -<a name="73" href="#73">73</a> <em> * @return a Byte instance representing b.</em> -<a name="74" href="#74">74</a> <em> */</em> -<a name="75" href="#75">75</a> <strong>private</strong> <strong>static</strong> Byte valueOf(<strong>final</strong> byte b) { -<a name="76" href="#76">76</a> <strong>return</strong> <strong>new</strong> Byte(b); -<a name="77" href="#77">77</a> } -<a name="78" href="#78">78</a> -<a name="79" href="#79">79</a> <em>/**<em>*</em></em> -<a name="80" href="#80">80</a> <em> * Returns a Short instance representing the specified short.</em> -<a name="81" href="#81">81</a> <em> * Short.valueOf was added in JDK 1.5.</em> -<a name="82" href="#82">82</a> <em> * @param b a short value.</em> -<a name="83" href="#83">83</a> <em> * @return a Byte instance representing b.</em> -<a name="84" href="#84">84</a> <em> */</em> -<a name="85" href="#85">85</a> <strong>private</strong> <strong>static</strong> Short valueOf(<strong>final</strong> <strong>short</strong> b) { -<a name="86" href="#86">86</a> <strong>return</strong> <strong>new</strong> Short(b); -<a name="87" href="#87">87</a> } -<a name="88" href="#88">88</a> -<a name="89" href="#89">89</a> <em>/**<em>*</em></em> -<a name="90" href="#90">90</a> <em> * Returns an Integer instance representing the specified int.</em> -<a name="91" href="#91">91</a> <em> * Integer.valueOf was added in JDK 1.5.</em> -<a name="92" href="#92">92</a> <em> * @param b an int value.</em> -<a name="93" href="#93">93</a> <em> * @return an Integer instance representing b.</em> -<a name="94" href="#94">94</a> <em> */</em> -<a name="95" href="#95">95</a> <strong>private</strong> <strong>static</strong> Integer valueOf(<strong>final</strong> <strong>int</strong> b) { -<a name="96" href="#96">96</a> <strong>return</strong> <strong>new</strong> Integer(b); -<a name="97" href="#97">97</a> } -<a name="98" href="#98">98</a> -<a name="99" href="#99">99</a> <em>/**<em>*</em></em> -<a name="100" href="#100">100</a> <em> * Returns a Long instance representing the specified long.</em> -<a name="101" href="#101">101</a> <em> * Long.valueOf was added in JDK 1.5.</em> -<a name="102" href="#102">102</a> <em> * @param b a long value.</em> -<a name="103" href="#103">103</a> <em> * @return a Long instance representing b.</em> -<a name="104" href="#104">104</a> <em> */</em> -<a name="105" href="#105">105</a> <strong>private</strong> <strong>static</strong> Long valueOf(<strong>final</strong> <strong>long</strong> b) { -<a name="106" href="#106">106</a> <strong>return</strong> <strong>new</strong> Long(b); -<a name="107" href="#107">107</a> } -<a name="108" href="#108">108</a> -<a name="109" href="#109">109</a> <em>/**<em>*</em></em> -<a name="110" href="#110">110</a> <em> * Returns a Float instance representing the specified float.</em> -<a name="111" href="#111">111</a> <em> * Float.valueOf was added in JDK 1.5.</em> -<a name="112" href="#112">112</a> <em> * @param b a float value.</em> -<a name="113" href="#113">113</a> <em> * @return a Float instance representing b.</em> -<a name="114" href="#114">114</a> <em> */</em> -<a name="115" href="#115">115</a> <strong>private</strong> <strong>static</strong> Float valueOf(<strong>final</strong> <strong>float</strong> b) { -<a name="116" href="#116">116</a> <strong>return</strong> <strong>new</strong> Float(b); -<a name="117" href="#117">117</a> } -<a name="118" href="#118">118</a> -<a name="119" href="#119">119</a> <em>/**<em>*</em></em> -<a name="120" href="#120">120</a> <em> * Returns a Double instance representing the specified double.</em> -<a name="121" href="#121">121</a> <em> * Double.valueOf was added in JDK 1.5.</em> -<a name="122" href="#122">122</a> <em> * @param b a double value.</em> -<a name="123" href="#123">123</a> <em> * @return a Byte instance representing b.</em> -<a name="124" href="#124">124</a> <em> */</em> -<a name="125" href="#125">125</a> <strong>private</strong> <strong>static</strong> Double valueOf(<strong>final</strong> <strong>double</strong> b) { -<a name="126" href="#126">126</a> <strong>return</strong> <strong>new</strong> Double(b); -<a name="127" href="#127">127</a> } -<a name="128" href="#128">128</a> -<a name="129" href="#129">129</a> -<a name="130" href="#130">130</a> -<a name="131" href="#131">131</a> <em>/**<em>*</em></em> -<a name="132" href="#132">132</a> <em> * Create new array.</em> -<a name="133" href="#133">133</a> <em> * @param param1 parameter 1.</em> -<a name="134" href="#134">134</a> <em> * @return new array.</em> -<a name="135" href="#135">135</a> <em> */</em> -<a name="136" href="#136">136</a> <strong>private</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1) { -<a name="137" href="#137">137</a> <strong>return</strong> <strong>new</strong> Object[] { -<a name="138" href="#138">138</a> param1 -<a name="139" href="#139">139</a> }; -<a name="140" href="#140">140</a> } -<a name="141" href="#141">141</a> -<a name="142" href="#142">142</a> <em>/**<em>*</em></em> -<a name="143" href="#143">143</a> <em> * Create new array.</em> -<a name="144" href="#144">144</a> <em> * @param param1 parameter 1.</em> -<a name="145" href="#145">145</a> <em> * @param param2 parameter 2.</em> -<a name="146" href="#146">146</a> <em> * @return new array.</em> -<a name="147" href="#147">147</a> <em> */</em> -<a name="148" href="#148">148</a> <strong>private</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1, -<a name="149" href="#149">149</a> <strong>final</strong> Object param2) { -<a name="150" href="#150">150</a> <strong>return</strong> <strong>new</strong> Object[] { -<a name="151" href="#151">151</a> param1, param2 -<a name="152" href="#152">152</a> }; -<a name="153" href="#153">153</a> } -<a name="154" href="#154">154</a> -<a name="155" href="#155">155</a> <em>/**<em>*</em></em> -<a name="156" href="#156">156</a> <em> * Create new array.</em> -<a name="157" href="#157">157</a> <em> * @param param1 parameter 1.</em> -<a name="158" href="#158">158</a> <em> * @param param2 parameter 2.</em> -<a name="159" href="#159">159</a> <em> * @param param3 parameter 3.</em> -<a name="160" href="#160">160</a> <em> * @return new array.</em> -<a name="161" href="#161">161</a> <em> */</em> -<a name="162" href="#162">162</a> <strong>private</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1, -<a name="163" href="#163">163</a> <strong>final</strong> Object param2, -<a name="164" href="#164">164</a> <strong>final</strong> Object param3) { -<a name="165" href="#165">165</a> <strong>return</strong> <strong>new</strong> Object[] { -<a name="166" href="#166">166</a> param1, param2, param3 -<a name="167" href="#167">167</a> }; -<a name="168" href="#168">168</a> } -<a name="169" href="#169">169</a> -<a name="170" href="#170">170</a> <em>/**<em>*</em></em> -<a name="171" href="#171">171</a> <em> * Create new array.</em> -<a name="172" href="#172">172</a> <em> * @param param1 parameter 1.</em> -<a name="173" href="#173">173</a> <em> * @param param2 parameter 2.</em> -<a name="174" href="#174">174</a> <em> * @param param3 parameter 3.</em> -<a name="175" href="#175">175</a> <em> * @param param4 parameter 4.</em> -<a name="176" href="#176">176</a> <em> * @return new array.</em> -<a name="177" href="#177">177</a> <em> */</em> -<a name="178" href="#178">178</a> <strong>private</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1, -<a name="179" href="#179">179</a> <strong>final</strong> Object param2, -<a name="180" href="#180">180</a> <strong>final</strong> Object param3, -<a name="181" href="#181">181</a> <strong>final</strong> Object param4) { -<a name="182" href="#182">182</a> <strong>return</strong> <strong>new</strong> Object[] { -<a name="183" href="#183">183</a> param1, param2, param3, param4 -<a name="184" href="#184">184</a> }; -<a name="185" href="#185">185</a> } -<a name="186" href="#186">186</a> -<a name="187" href="#187">187</a> <em>/**<em>*</em></em> -<a name="188" href="#188">188</a> <em> * Formats arguments using a minimal subset</em> -<a name="189" href="#189">189</a> <em> * of MessageFormat syntax.</em> -<a name="190" href="#190">190</a> <em> * @param pattern pattern, may not be null.</em> -<a name="191" href="#191">191</a> <em> * @param arg0 argument, may be null.</em> -<a name="192" href="#192">192</a> <em> * @return Message string or null if pattern</em> -<a name="193" href="#193">193</a> <em> * is not supported.</em> -<a name="194" href="#194">194</a> <em> */</em> -<a name="195" href="#195">195</a> <strong>private</strong> <strong>static</strong> String subsetFormat(<strong>final</strong> String pattern, -<a name="196" href="#196">196</a> <strong>final</strong> Object arg0) { -<a name="197" href="#197">197</a> <strong>if</strong> (pattern != <strong>null</strong>) { -<a name="198" href="#198">198</a> <em class="comment">//</em> -<a name="199" href="#199">199</a> <em class="comment">// find position of first brace</em> -<a name="200" href="#200">200</a> <em class="comment">// if none then format is a literal</em> -<a name="201" href="#201">201</a> <strong>int</strong> bracePos = pattern.indexOf(<span class="string">"{"</span>); -<a name="202" href="#202">202</a> -<a name="203" href="#203">203</a> <em class="comment">//</em> -<a name="204" href="#204">204</a> <em class="comment">// if the first format is {0}</em> -<a name="205" href="#205">205</a> <em class="comment">// and there are no other format specifiers</em> -<a name="206" href="#206">206</a> <em class="comment">// and no quotes then substitute for {0}</em> -<a name="207" href="#207">207</a> <strong>if</strong> (bracePos != -1) { -<a name="208" href="#208">208</a> <strong>if</strong> ((pattern.indexOf(<span class="string">"{0}"</span>, bracePos) == bracePos) -<a name="209" href="#209">209</a> &amp;&amp; (pattern.indexOf(<span class="string">"{"</span>, bracePos + 1) == -1) -<a name="210" href="#210">210</a> &amp;&amp; (pattern.indexOf(<span class="string">"'"</span>) == -1)) { -<a name="211" href="#211">211</a> String replacement; -<a name="212" href="#212">212</a> -<a name="213" href="#213">213</a> <strong>if</strong> (arg0 instanceof String) { -<a name="214" href="#214">214</a> replacement = arg0.toString(); -<a name="215" href="#215">215</a> } <strong>else</strong> <strong>if</strong> (arg0 instanceof Number) { -<a name="216" href="#216">216</a> replacement = NumberFormat.getInstance().format(arg0); -<a name="217" href="#217">217</a> } <strong>else</strong> <strong>if</strong> (arg0 instanceof Date) { -<a name="218" href="#218">218</a> replacement = DateFormat.getDateTimeInstance( -<a name="219" href="#219">219</a> DateFormat.SHORT, -<a name="220" href="#220">220</a> DateFormat.SHORT).format(arg0); -<a name="221" href="#221">221</a> } <strong>else</strong> { -<a name="222" href="#222">222</a> replacement = String.valueOf(arg0); -<a name="223" href="#223">223</a> } -<a name="224" href="#224">224</a> -<a name="225" href="#225">225</a> <strong>final</strong> StringBuffer buf = <strong>new</strong> StringBuffer(pattern); -<a name="226" href="#226">226</a> buf.replace(bracePos, -<a name="227" href="#227">227</a> bracePos + <span class="string">"{0}"</span>.length(), replacement); -<a name="228" href="#228">228</a> -<a name="229" href="#229">229</a> <strong>return</strong> buf.toString(); -<a name="230" href="#230">230</a> } -<a name="231" href="#231">231</a> } <strong>else</strong> { -<a name="232" href="#232">232</a> <em class="comment">//</em> -<a name="233" href="#233">233</a> <em class="comment">// pattern is a literal with no braces</em> -<a name="234" href="#234">234</a> <em class="comment">// and not quotes, return pattern.</em> -<a name="235" href="#235">235</a> <strong>if</strong> (pattern.indexOf(<span class="string">"'"</span>) == -1) { -<a name="236" href="#236">236</a> <strong>return</strong> pattern; -<a name="237" href="#237">237</a> } -<a name="238" href="#238">238</a> } -<a name="239" href="#239">239</a> } -<a name="240" href="#240">240</a> -<a name="241" href="#241">241</a> <strong>return</strong> <strong>null</strong>; -<a name="242" href="#242">242</a> } -<a name="243" href="#243">243</a> -<a name="244" href="#244">244</a> <em>/**<em>*</em></em> -<a name="245" href="#245">245</a> <em> * Formats arguments using MessageFormat.</em> -<a name="246" href="#246">246</a> <em> * @param pattern pattern, may be malformed or null.</em> -<a name="247" href="#247">247</a> <em> * @param arguments arguments, may be null or mismatched.</em> -<a name="248" href="#248">248</a> <em> * @return Message string or null</em> -<a name="249" href="#249">249</a> <em> */</em> -<a name="250" href="#250">250</a> <strong>private</strong> <strong>static</strong> String format(<strong>final</strong> String pattern, -<a name="251" href="#251">251</a> <strong>final</strong> Object[] arguments) { -<a name="252" href="#252">252</a> <strong>if</strong> (pattern == <strong>null</strong>) { -<a name="253" href="#253">253</a> <strong>return</strong> <strong>null</strong>; -<a name="254" href="#254">254</a> } -<a name="255" href="#255">255</a> <strong>try</strong> { -<a name="256" href="#256">256</a> <strong>return</strong> MessageFormat.format(pattern, arguments); -<a name="257" href="#257">257</a> } <strong>catch</strong> (IllegalArgumentException ex) { -<a name="258" href="#258">258</a> <strong>return</strong> pattern; -<a name="259" href="#259">259</a> } -<a name="260" href="#260">260</a> } -<a name="261" href="#261">261</a> -<a name="262" href="#262">262</a> <em>/**<em>*</em></em> -<a name="263" href="#263">263</a> <em> * Formats arguments using MessageFormat.</em> -<a name="264" href="#264">264</a> <em> * @param pattern pattern, may be malformed.</em> -<a name="265" href="#265">265</a> <em> * @param arg0 argument, may be null or mismatched.</em> -<a name="266" href="#266">266</a> <em> * @return Message string</em> -<a name="267" href="#267">267</a> <em> */</em> -<a name="268" href="#268">268</a> <strong>private</strong> <strong>static</strong> String format(<strong>final</strong> String pattern, <strong>final</strong> Object arg0) { -<a name="269" href="#269">269</a> String msg = subsetFormat(pattern, arg0); -<a name="270" href="#270">270</a> -<a name="271" href="#271">271</a> <strong>if</strong> (msg == <strong>null</strong>) { -<a name="272" href="#272">272</a> msg = format(pattern, toArray(arg0)); -<a name="273" href="#273">273</a> } -<a name="274" href="#274">274</a> -<a name="275" href="#275">275</a> <strong>return</strong> msg; -<a name="276" href="#276">276</a> } -<a name="277" href="#277">277</a> -<a name="278" href="#278">278</a> <em>/**<em>*</em></em> -<a name="279" href="#279">279</a> <em> * Formats arguments using MessageFormat using a pattern from</em> -<a name="280" href="#280">280</a> <em> * a resource bundle.</em> -<a name="281" href="#281">281</a> <em> * @param resourceBundleName name of resource bundle, may be null.</em> -<a name="282" href="#282">282</a> <em> * @param key key for pattern in resource bundle, may be null.</em> -<a name="283" href="#283">283</a> <em> * @param arguments arguments, may be null or mismatched.</em> -<a name="284" href="#284">284</a> <em> * @return Message string or null</em> -<a name="285" href="#285">285</a> <em> */</em> -<a name="286" href="#286">286</a> <strong>private</strong> <strong>static</strong> String format( -<a name="287" href="#287">287</a> <strong>final</strong> String resourceBundleName, -<a name="288" href="#288">288</a> <strong>final</strong> String key, -<a name="289" href="#289">289</a> <strong>final</strong> Object[] arguments) { -<a name="290" href="#290">290</a> String pattern; -<a name="291" href="#291">291</a> <strong>if</strong> (resourceBundleName != <strong>null</strong>) { -<a name="292" href="#292">292</a> <strong>try</strong> { -<a name="293" href="#293">293</a> ResourceBundle bundle = -<a name="294" href="#294">294</a> ResourceBundle.getBundle(resourceBundleName); -<a name="295" href="#295">295</a> pattern = bundle.getString(key); -<a name="296" href="#296">296</a> } <strong>catch</strong> (Exception ex) { -<a name="297" href="#297">297</a> pattern = key; -<a name="298" href="#298">298</a> } -<a name="299" href="#299">299</a> } <strong>else</strong> { -<a name="300" href="#300">300</a> pattern = key; -<a name="301" href="#301">301</a> } -<a name="302" href="#302">302</a> <strong>return</strong> format(pattern, arguments); -<a name="303" href="#303">303</a> } -<a name="304" href="#304">304</a> -<a name="305" href="#305">305</a> -<a name="306" href="#306">306</a> <em>/**<em>*</em></em> -<a name="307" href="#307">307</a> <em> * Fully Qualified Class Name of this class.</em> -<a name="308" href="#308">308</a> <em> */</em> -<a name="309" href="#309">309</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String FQCN = LogMF.<strong>class</strong>.getName(); -<a name="310" href="#310">310</a> -<a name="311" href="#311">311</a> <em>/**<em>*</em></em> -<a name="312" href="#312">312</a> <em> * Equivalent of Logger.forcedLog.</em> -<a name="313" href="#313">313</a> <em> *</em> -<a name="314" href="#314">314</a> <em> * @param logger logger, may not be null.</em> -<a name="315" href="#315">315</a> <em> * @param level level, may not be null.</em> -<a name="316" href="#316">316</a> <em> * @param msg message, may be null.</em> -<a name="317" href="#317">317</a> <em> */</em> -<a name="318" href="#318">318</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> forcedLog(<strong>final</strong> Logger logger, -<a name="319" href="#319">319</a> <strong>final</strong> Level level, -<a name="320" href="#320">320</a> <strong>final</strong> String msg) { -<a name="321" href="#321">321</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, level, msg, <strong>null</strong>)); -<a name="322" href="#322">322</a> } -<a name="323" href="#323">323</a> -<a name="324" href="#324">324</a> <em>/**<em>*</em></em> -<a name="325" href="#325">325</a> <em> * Equivalent of Logger.forcedLog.</em> -<a name="326" href="#326">326</a> <em> *</em> -<a name="327" href="#327">327</a> <em> * @param logger logger, may not be null.</em> -<a name="328" href="#328">328</a> <em> * @param level level, may not be null.</em> -<a name="329" href="#329">329</a> <em> * @param msg message, may be null.</em> -<a name="330" href="#330">330</a> <em> * @param t throwable.</em> -<a name="331" href="#331">331</a> <em> */</em> -<a name="332" href="#332">332</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> forcedLog(<strong>final</strong> Logger logger, -<a name="333" href="#333">333</a> <strong>final</strong> Level level, -<a name="334" href="#334">334</a> <strong>final</strong> String msg, -<a name="335" href="#335">335</a> <strong>final</strong> Throwable t) { -<a name="336" href="#336">336</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, level, msg, t)); -<a name="337" href="#337">337</a> } -<a name="338" href="#338">338</a> <em>/**<em>*</em></em> -<a name="339" href="#339">339</a> <em> * Log a parameterized message at trace level.</em> -<a name="340" href="#340">340</a> <em> * @param logger logger, may not be null.</em> -<a name="341" href="#341">341</a> <em> * @param pattern pattern, may be null.</em> -<a name="342" href="#342">342</a> <em> * @param arguments an array of arguments to be</em> -<a name="343" href="#343">343</a> <em> * formatted and substituted.</em> -<a name="344" href="#344">344</a> <em> */</em> -<a name="345" href="#345">345</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="346" href="#346">346</a> <strong>final</strong> Object[] arguments) { -<a name="347" href="#347">347</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="348" href="#348">348</a> forcedLog(logger, TRACE, format(pattern, arguments)); -<a name="349" href="#349">349</a> } -<a name="350" href="#350">350</a> } -<a name="351" href="#351">351</a> -<a name="352" href="#352">352</a> <em>/**<em>*</em></em> -<a name="353" href="#353">353</a> <em> * Log a parameterized message at debug level.</em> -<a name="354" href="#354">354</a> <em> * @param logger logger, may not be null.</em> -<a name="355" href="#355">355</a> <em> * @param pattern pattern, may be null.</em> -<a name="356" href="#356">356</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="357" href="#357">357</a> <em> */</em> -<a name="358" href="#358">358</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="359" href="#359">359</a> <strong>final</strong> Object[] arguments) { -<a name="360" href="#360">360</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="361" href="#361">361</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments)); -<a name="362" href="#362">362</a> } -<a name="363" href="#363">363</a> } -<a name="364" href="#364">364</a> -<a name="365" href="#365">365</a> <em>/**<em>*</em></em> -<a name="366" href="#366">366</a> <em> * Log a parameterized message at info level.</em> -<a name="367" href="#367">367</a> <em> * @param logger logger, may not be null.</em> -<a name="368" href="#368">368</a> <em> * @param pattern pattern, may be null.</em> -<a name="369" href="#369">369</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="370" href="#370">370</a> <em> */</em> -<a name="371" href="#371">371</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="372" href="#372">372</a> <strong>final</strong> Object[] arguments) { -<a name="373" href="#373">373</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="374" href="#374">374</a> forcedLog(logger, Level.INFO, format(pattern, arguments)); -<a name="375" href="#375">375</a> } -<a name="376" href="#376">376</a> } -<a name="377" href="#377">377</a> -<a name="378" href="#378">378</a> <em>/**<em>*</em></em> -<a name="379" href="#379">379</a> <em> * Log a parameterized message at warn level.</em> -<a name="380" href="#380">380</a> <em> * @param logger logger, may not be null.</em> -<a name="381" href="#381">381</a> <em> * @param pattern pattern, may be null.</em> -<a name="382" href="#382">382</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="383" href="#383">383</a> <em> */</em> -<a name="384" href="#384">384</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="385" href="#385">385</a> <strong>final</strong> Object[] arguments) { -<a name="386" href="#386">386</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="387" href="#387">387</a> forcedLog(logger, Level.WARN, format(pattern, arguments)); -<a name="388" href="#388">388</a> } -<a name="389" href="#389">389</a> } -<a name="390" href="#390">390</a> -<a name="391" href="#391">391</a> <em>/**<em>*</em></em> -<a name="392" href="#392">392</a> <em> * Log a parameterized message at error level.</em> -<a name="393" href="#393">393</a> <em> * @param logger logger, may not be null.</em> -<a name="394" href="#394">394</a> <em> * @param pattern pattern, may be null.</em> -<a name="395" href="#395">395</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="396" href="#396">396</a> <em> */</em> -<a name="397" href="#397">397</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> error(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="398" href="#398">398</a> <strong>final</strong> Object[] arguments) { -<a name="399" href="#399">399</a> <strong>if</strong> (logger.isEnabledFor(Level.ERROR)) { -<a name="400" href="#400">400</a> forcedLog(logger, Level.ERROR, format(pattern, arguments)); -<a name="401" href="#401">401</a> } -<a name="402" href="#402">402</a> } -<a name="403" href="#403">403</a> -<a name="404" href="#404">404</a> <em>/**<em>*</em></em> -<a name="405" href="#405">405</a> <em> * Log a parameterized message at fatal level.</em> -<a name="406" href="#406">406</a> <em> * @param logger logger, may not be null.</em> -<a name="407" href="#407">407</a> <em> * @param pattern pattern, may be null.</em> -<a name="408" href="#408">408</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="409" href="#409">409</a> <em> */</em> -<a name="410" href="#410">410</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> fatal(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="411" href="#411">411</a> <strong>final</strong> Object[] arguments) { -<a name="412" href="#412">412</a> <strong>if</strong> (logger.isEnabledFor(Level.FATAL)) { -<a name="413" href="#413">413</a> forcedLog(logger, Level.FATAL, format(pattern, arguments)); -<a name="414" href="#414">414</a> } -<a name="415" href="#415">415</a> } -<a name="416" href="#416">416</a> -<a name="417" href="#417">417</a> <em>/**<em>*</em></em> -<a name="418" href="#418">418</a> <em> * Log a parameterized message at trace level.</em> -<a name="419" href="#419">419</a> <em> * @param logger logger, may not be null.</em> -<a name="420" href="#420">420</a> <em> * @param t throwable, may be null.</em> -<a name="421" href="#421">421</a> <em> * @param pattern pattern, may be null.</em> -<a name="422" href="#422">422</a> <em> * @param arguments an array of arguments to be</em> -<a name="423" href="#423">423</a> <em> * formatted and substituted.</em> -<a name="424" href="#424">424</a> <em> */</em> -<a name="425" href="#425">425</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, -<a name="426" href="#426">426</a> <strong>final</strong> Throwable t, -<a name="427" href="#427">427</a> <strong>final</strong> String pattern, -<a name="428" href="#428">428</a> <strong>final</strong> Object[] arguments) { -<a name="429" href="#429">429</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="430" href="#430">430</a> forcedLog(logger, TRACE, format(pattern, arguments), t); -<a name="431" href="#431">431</a> } -<a name="432" href="#432">432</a> } -<a name="433" href="#433">433</a> -<a name="434" href="#434">434</a> <em>/**<em>*</em></em> -<a name="435" href="#435">435</a> <em> * Log a parameterized message at debug level.</em> -<a name="436" href="#436">436</a> <em> * @param logger logger, may not be null.</em> -<a name="437" href="#437">437</a> <em> * @param t throwable, may be null.</em> -<a name="438" href="#438">438</a> <em> * @param pattern pattern, may be null.</em> -<a name="439" href="#439">439</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="440" href="#440">440</a> <em> */</em> -<a name="441" href="#441">441</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, -<a name="442" href="#442">442</a> <strong>final</strong> Throwable t, -<a name="443" href="#443">443</a> <strong>final</strong> String pattern, -<a name="444" href="#444">444</a> <strong>final</strong> Object[] arguments) { -<a name="445" href="#445">445</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="446" href="#446">446</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments), t); -<a name="447" href="#447">447</a> } -<a name="448" href="#448">448</a> } -<a name="449" href="#449">449</a> -<a name="450" href="#450">450</a> <em>/**<em>*</em></em> -<a name="451" href="#451">451</a> <em> * Log a parameterized message at info level.</em> -<a name="452" href="#452">452</a> <em> * @param logger logger, may not be null.</em> -<a name="453" href="#453">453</a> <em> * @param t throwable, may be null.</em> -<a name="454" href="#454">454</a> <em> * @param pattern pattern, may be null.</em> -<a name="455" href="#455">455</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="456" href="#456">456</a> <em> */</em> -<a name="457" href="#457">457</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, -<a name="458" href="#458">458</a> <strong>final</strong> Throwable t, -<a name="459" href="#459">459</a> <strong>final</strong> String pattern, -<a name="460" href="#460">460</a> <strong>final</strong> Object[] arguments) { -<a name="461" href="#461">461</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="462" href="#462">462</a> forcedLog(logger, Level.INFO, format(pattern, arguments), t); -<a name="463" href="#463">463</a> } -<a name="464" href="#464">464</a> } -<a name="465" href="#465">465</a> -<a name="466" href="#466">466</a> <em>/**<em>*</em></em> -<a name="467" href="#467">467</a> <em> * Log a parameterized message at warn level.</em> -<a name="468" href="#468">468</a> <em> * @param logger logger, may not be null.</em> -<a name="469" href="#469">469</a> <em> * @param t throwable, may be null.</em> -<a name="470" href="#470">470</a> <em> * @param pattern pattern, may be null.</em> -<a name="471" href="#471">471</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="472" href="#472">472</a> <em> */</em> -<a name="473" href="#473">473</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, -<a name="474" href="#474">474</a> <strong>final</strong> Throwable t, -<a name="475" href="#475">475</a> <strong>final</strong> String pattern, -<a name="476" href="#476">476</a> <strong>final</strong> Object[] arguments) { -<a name="477" href="#477">477</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="478" href="#478">478</a> forcedLog(logger, Level.WARN, format(pattern, arguments), t); -<a name="479" href="#479">479</a> } -<a name="480" href="#480">480</a> } -<a name="481" href="#481">481</a> -<a name="482" href="#482">482</a> <em>/**<em>*</em></em> -<a name="483" href="#483">483</a> <em> * Log a parameterized message at error level.</em> -<a name="484" href="#484">484</a> <em> * @param logger logger, may not be null.</em> -<a name="485" href="#485">485</a> <em> * @param t throwable, may be null.</em> -<a name="486" href="#486">486</a> <em> * @param pattern pattern, may be null.</em> -<a name="487" href="#487">487</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="488" href="#488">488</a> <em> */</em> -<a name="489" href="#489">489</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> error(<strong>final</strong> Logger logger, -<a name="490" href="#490">490</a> <strong>final</strong> Throwable t, -<a name="491" href="#491">491</a> <strong>final</strong> String pattern, -<a name="492" href="#492">492</a> <strong>final</strong> Object[] arguments) { -<a name="493" href="#493">493</a> <strong>if</strong> (logger.isEnabledFor(Level.ERROR)) { -<a name="494" href="#494">494</a> forcedLog(logger, Level.ERROR, format(pattern, arguments), t); -<a name="495" href="#495">495</a> } -<a name="496" href="#496">496</a> } -<a name="497" href="#497">497</a> -<a name="498" href="#498">498</a> <em>/**<em>*</em></em> -<a name="499" href="#499">499</a> <em> * Log a parameterized message at fatal level.</em> -<a name="500" href="#500">500</a> <em> * @param logger logger, may not be null.</em> -<a name="501" href="#501">501</a> <em> * @param t throwable, may be null.</em> -<a name="502" href="#502">502</a> <em> * @param pattern pattern, may be null.</em> -<a name="503" href="#503">503</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="504" href="#504">504</a> <em> */</em> -<a name="505" href="#505">505</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> fatal(<strong>final</strong> Logger logger, -<a name="506" href="#506">506</a> <strong>final</strong> Throwable t, -<a name="507" href="#507">507</a> <strong>final</strong> String pattern, -<a name="508" href="#508">508</a> <strong>final</strong> Object[] arguments) { -<a name="509" href="#509">509</a> <strong>if</strong> (logger.isEnabledFor(Level.FATAL)) { -<a name="510" href="#510">510</a> forcedLog(logger, Level.FATAL, format(pattern, arguments), t); -<a name="511" href="#511">511</a> } -<a name="512" href="#512">512</a> } -<a name="513" href="#513">513</a> -<a name="514" href="#514">514</a> -<a name="515" href="#515">515</a> -<a name="516" href="#516">516</a> <em>/**<em>*</em></em> -<a name="517" href="#517">517</a> <em> * Log a parameterized message at trace level.</em> -<a name="518" href="#518">518</a> <em> * @param logger logger, may not be null.</em> -<a name="519" href="#519">519</a> <em> * @param pattern pattern, may be null.</em> -<a name="520" href="#520">520</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="521" href="#521">521</a> <em> */</em> -<a name="522" href="#522">522</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="523" href="#523">523</a> <strong>final</strong> <strong>boolean</strong> argument) { -<a name="524" href="#524">524</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="525" href="#525">525</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="526" href="#526">526</a> } -<a name="527" href="#527">527</a> } -<a name="528" href="#528">528</a> -<a name="529" href="#529">529</a> <em>/**<em>*</em></em> -<a name="530" href="#530">530</a> <em> * Log a parameterized message at trace level.</em> -<a name="531" href="#531">531</a> <em> * @param logger logger, may not be null.</em> -<a name="532" href="#532">532</a> <em> * @param pattern pattern, may be null.</em> -<a name="533" href="#533">533</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="534" href="#534">534</a> <em> */</em> -<a name="535" href="#535">535</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="536" href="#536">536</a> <strong>final</strong> <strong>char</strong> argument) { -<a name="537" href="#537">537</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="538" href="#538">538</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="539" href="#539">539</a> } -<a name="540" href="#540">540</a> } -<a name="541" href="#541">541</a> -<a name="542" href="#542">542</a> <em>/**<em>*</em></em> -<a name="543" href="#543">543</a> <em> * Log a parameterized message at trace level.</em> -<a name="544" href="#544">544</a> <em> * @param logger logger, may not be null.</em> -<a name="545" href="#545">545</a> <em> * @param pattern pattern, may be null.</em> -<a name="546" href="#546">546</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="547" href="#547">547</a> <em> */</em> -<a name="548" href="#548">548</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="549" href="#549">549</a> <strong>final</strong> byte argument) { -<a name="550" href="#550">550</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="551" href="#551">551</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="552" href="#552">552</a> } -<a name="553" href="#553">553</a> } -<a name="554" href="#554">554</a> -<a name="555" href="#555">555</a> <em>/**<em>*</em></em> -<a name="556" href="#556">556</a> <em> * Log a parameterized message at trace level.</em> -<a name="557" href="#557">557</a> <em> * @param logger logger, may not be null.</em> -<a name="558" href="#558">558</a> <em> * @param pattern pattern, may be null.</em> -<a name="559" href="#559">559</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="560" href="#560">560</a> <em> */</em> -<a name="561" href="#561">561</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="562" href="#562">562</a> <strong>final</strong> <strong>short</strong> argument) { -<a name="563" href="#563">563</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="564" href="#564">564</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="565" href="#565">565</a> } -<a name="566" href="#566">566</a> } -<a name="567" href="#567">567</a> -<a name="568" href="#568">568</a> <em>/**<em>*</em></em> -<a name="569" href="#569">569</a> <em> * Log a parameterized message at trace level.</em> -<a name="570" href="#570">570</a> <em> * @param logger logger, may not be null.</em> -<a name="571" href="#571">571</a> <em> * @param pattern pattern, may be null.</em> -<a name="572" href="#572">572</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="573" href="#573">573</a> <em> */</em> -<a name="574" href="#574">574</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="575" href="#575">575</a> <strong>final</strong> <strong>int</strong> argument) { -<a name="576" href="#576">576</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="577" href="#577">577</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="578" href="#578">578</a> } -<a name="579" href="#579">579</a> } -<a name="580" href="#580">580</a> -<a name="581" href="#581">581</a> <em>/**<em>*</em></em> -<a name="582" href="#582">582</a> <em> * Log a parameterized message at trace level.</em> -<a name="583" href="#583">583</a> <em> * @param logger logger, may not be null.</em> -<a name="584" href="#584">584</a> <em> * @param pattern pattern, may be null.</em> -<a name="585" href="#585">585</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="586" href="#586">586</a> <em> */</em> -<a name="587" href="#587">587</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="588" href="#588">588</a> <strong>final</strong> <strong>long</strong> argument) { -<a name="589" href="#589">589</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="590" href="#590">590</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="591" href="#591">591</a> } -<a name="592" href="#592">592</a> } -<a name="593" href="#593">593</a> -<a name="594" href="#594">594</a> <em>/**<em>*</em></em> -<a name="595" href="#595">595</a> <em> * Log a parameterized message at trace level.</em> -<a name="596" href="#596">596</a> <em> * @param logger logger, may not be null.</em> -<a name="597" href="#597">597</a> <em> * @param pattern pattern, may be null.</em> -<a name="598" href="#598">598</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="599" href="#599">599</a> <em> */</em> -<a name="600" href="#600">600</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="601" href="#601">601</a> <strong>final</strong> <strong>float</strong> argument) { -<a name="602" href="#602">602</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="603" href="#603">603</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="604" href="#604">604</a> } -<a name="605" href="#605">605</a> } -<a name="606" href="#606">606</a> -<a name="607" href="#607">607</a> <em>/**<em>*</em></em> -<a name="608" href="#608">608</a> <em> * Log a parameterized message at trace level.</em> -<a name="609" href="#609">609</a> <em> * @param logger logger, may not be null.</em> -<a name="610" href="#610">610</a> <em> * @param pattern pattern, may be null.</em> -<a name="611" href="#611">611</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="612" href="#612">612</a> <em> */</em> -<a name="613" href="#613">613</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="614" href="#614">614</a> <strong>final</strong> <strong>double</strong> argument) { -<a name="615" href="#615">615</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="616" href="#616">616</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="617" href="#617">617</a> } -<a name="618" href="#618">618</a> } -<a name="619" href="#619">619</a> -<a name="620" href="#620">620</a> <em>/**<em>*</em></em> -<a name="621" href="#621">621</a> <em> * Log a parameterized message at trace level.</em> -<a name="622" href="#622">622</a> <em> * @param logger logger, may not be null.</em> -<a name="623" href="#623">623</a> <em> * @param pattern pattern, may be null.</em> -<a name="624" href="#624">624</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="625" href="#625">625</a> <em> */</em> -<a name="626" href="#626">626</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="627" href="#627">627</a> <strong>final</strong> Object argument) { -<a name="628" href="#628">628</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="629" href="#629">629</a> forcedLog(logger, TRACE, format(pattern, argument)); -<a name="630" href="#630">630</a> } -<a name="631" href="#631">631</a> } -<a name="632" href="#632">632</a> -<a name="633" href="#633">633</a> <em>/**<em>*</em></em> -<a name="634" href="#634">634</a> <em> * Log a parameterized message at trace level.</em> -<a name="635" href="#635">635</a> <em> * @param logger logger, may not be null.</em> -<a name="636" href="#636">636</a> <em> * @param pattern pattern, may be null.</em> -<a name="637" href="#637">637</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="638" href="#638">638</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="639" href="#639">639</a> <em> */</em> -<a name="640" href="#640">640</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="641" href="#641">641</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { -<a name="642" href="#642">642</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="643" href="#643">643</a> forcedLog(logger, TRACE, -<a name="644" href="#644">644</a> format(pattern, toArray(arg0, arg1))); -<a name="645" href="#645">645</a> } -<a name="646" href="#646">646</a> } -<a name="647" href="#647">647</a> -<a name="648" href="#648">648</a> <em>/**<em>*</em></em> -<a name="649" href="#649">649</a> <em> * Log a parameterized message at trace level.</em> -<a name="650" href="#650">650</a> <em> * @param logger logger, may not be null.</em> -<a name="651" href="#651">651</a> <em> * @param pattern pattern, may be null.</em> -<a name="652" href="#652">652</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="653" href="#653">653</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="654" href="#654">654</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="655" href="#655">655</a> <em> */</em> -<a name="656" href="#656">656</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="657" href="#657">657</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { -<a name="658" href="#658">658</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="659" href="#659">659</a> forcedLog(logger, TRACE, -<a name="660" href="#660">660</a> format(pattern, toArray(arg0, arg1, arg2))); -<a name="661" href="#661">661</a> } -<a name="662" href="#662">662</a> } -<a name="663" href="#663">663</a> -<a name="664" href="#664">664</a> <em>/**<em>*</em></em> -<a name="665" href="#665">665</a> <em> * Log a parameterized message at trace level.</em> -<a name="666" href="#666">666</a> <em> * @param logger logger, may not be null.</em> -<a name="667" href="#667">667</a> <em> * @param pattern pattern, may be null.</em> -<a name="668" href="#668">668</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="669" href="#669">669</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="670" href="#670">670</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="671" href="#671">671</a> <em> * @param arg3 a value to be formatted and substituted.</em> -<a name="672" href="#672">672</a> <em> */</em> -<a name="673" href="#673">673</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="674" href="#674">674</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, -<a name="675" href="#675">675</a> <strong>final</strong> Object arg3) { -<a name="676" href="#676">676</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="677" href="#677">677</a> forcedLog(logger, TRACE, -<a name="678" href="#678">678</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); -<a name="679" href="#679">679</a> } -<a name="680" href="#680">680</a> } -<a name="681" href="#681">681</a> -<a name="682" href="#682">682</a> <em>/**<em>*</em></em> -<a name="683" href="#683">683</a> <em> * Log a parameterized message at debug level.</em> -<a name="684" href="#684">684</a> <em> * @param logger logger, may not be null.</em> -<a name="685" href="#685">685</a> <em> * @param pattern pattern, may be null.</em> -<a name="686" href="#686">686</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="687" href="#687">687</a> <em> */</em> -<a name="688" href="#688">688</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="689" href="#689">689</a> <strong>final</strong> <strong>boolean</strong> argument) { -<a name="690" href="#690">690</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="691" href="#691">691</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="692" href="#692">692</a> } -<a name="693" href="#693">693</a> } -<a name="694" href="#694">694</a> -<a name="695" href="#695">695</a> <em>/**<em>*</em></em> -<a name="696" href="#696">696</a> <em> * Log a parameterized message at debug level.</em> -<a name="697" href="#697">697</a> <em> * @param logger logger, may not be null.</em> -<a name="698" href="#698">698</a> <em> * @param pattern pattern, may be null.</em> -<a name="699" href="#699">699</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="700" href="#700">700</a> <em> */</em> -<a name="701" href="#701">701</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="702" href="#702">702</a> <strong>final</strong> <strong>char</strong> argument) { -<a name="703" href="#703">703</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="704" href="#704">704</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="705" href="#705">705</a> } -<a name="706" href="#706">706</a> } -<a name="707" href="#707">707</a> -<a name="708" href="#708">708</a> <em>/**<em>*</em></em> -<a name="709" href="#709">709</a> <em> * Log a parameterized message at debug level.</em> -<a name="710" href="#710">710</a> <em> * @param logger logger, may not be null.</em> -<a name="711" href="#711">711</a> <em> * @param pattern pattern, may be null.</em> -<a name="712" href="#712">712</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="713" href="#713">713</a> <em> */</em> -<a name="714" href="#714">714</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="715" href="#715">715</a> <strong>final</strong> byte argument) { -<a name="716" href="#716">716</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="717" href="#717">717</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="718" href="#718">718</a> } -<a name="719" href="#719">719</a> } -<a name="720" href="#720">720</a> -<a name="721" href="#721">721</a> <em>/**<em>*</em></em> -<a name="722" href="#722">722</a> <em> * Log a parameterized message at debug level.</em> -<a name="723" href="#723">723</a> <em> * @param logger logger, may not be null.</em> -<a name="724" href="#724">724</a> <em> * @param pattern pattern, may be null.</em> -<a name="725" href="#725">725</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="726" href="#726">726</a> <em> */</em> -<a name="727" href="#727">727</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="728" href="#728">728</a> <strong>final</strong> <strong>short</strong> argument) { -<a name="729" href="#729">729</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="730" href="#730">730</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="731" href="#731">731</a> } -<a name="732" href="#732">732</a> } -<a name="733" href="#733">733</a> -<a name="734" href="#734">734</a> <em>/**<em>*</em></em> -<a name="735" href="#735">735</a> <em> * Log a parameterized message at debug level.</em> -<a name="736" href="#736">736</a> <em> * @param logger logger, may not be null.</em> -<a name="737" href="#737">737</a> <em> * @param pattern pattern, may be null.</em> -<a name="738" href="#738">738</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="739" href="#739">739</a> <em> */</em> -<a name="740" href="#740">740</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="741" href="#741">741</a> <strong>final</strong> <strong>int</strong> argument) { -<a name="742" href="#742">742</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="743" href="#743">743</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="744" href="#744">744</a> } -<a name="745" href="#745">745</a> } -<a name="746" href="#746">746</a> -<a name="747" href="#747">747</a> <em>/**<em>*</em></em> -<a name="748" href="#748">748</a> <em> * Log a parameterized message at debug level.</em> -<a name="749" href="#749">749</a> <em> * @param logger logger, may not be null.</em> -<a name="750" href="#750">750</a> <em> * @param pattern pattern, may be null.</em> -<a name="751" href="#751">751</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="752" href="#752">752</a> <em> */</em> -<a name="753" href="#753">753</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="754" href="#754">754</a> <strong>final</strong> <strong>long</strong> argument) { -<a name="755" href="#755">755</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="756" href="#756">756</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="757" href="#757">757</a> } -<a name="758" href="#758">758</a> } -<a name="759" href="#759">759</a> -<a name="760" href="#760">760</a> <em>/**<em>*</em></em> -<a name="761" href="#761">761</a> <em> * Log a parameterized message at debug level.</em> -<a name="762" href="#762">762</a> <em> * @param logger logger, may not be null.</em> -<a name="763" href="#763">763</a> <em> * @param pattern pattern, may be null.</em> -<a name="764" href="#764">764</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="765" href="#765">765</a> <em> */</em> -<a name="766" href="#766">766</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="767" href="#767">767</a> <strong>final</strong> <strong>float</strong> argument) { -<a name="768" href="#768">768</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="769" href="#769">769</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="770" href="#770">770</a> } -<a name="771" href="#771">771</a> } -<a name="772" href="#772">772</a> -<a name="773" href="#773">773</a> <em>/**<em>*</em></em> -<a name="774" href="#774">774</a> <em> * Log a parameterized message at debug level.</em> -<a name="775" href="#775">775</a> <em> * @param logger logger, may not be null.</em> -<a name="776" href="#776">776</a> <em> * @param pattern pattern, may be null.</em> -<a name="777" href="#777">777</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="778" href="#778">778</a> <em> */</em> -<a name="779" href="#779">779</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="780" href="#780">780</a> <strong>final</strong> <strong>double</strong> argument) { -<a name="781" href="#781">781</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="782" href="#782">782</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="783" href="#783">783</a> } -<a name="784" href="#784">784</a> } -<a name="785" href="#785">785</a> -<a name="786" href="#786">786</a> <em>/**<em>*</em></em> -<a name="787" href="#787">787</a> <em> * Log a parameterized message at debug level.</em> -<a name="788" href="#788">788</a> <em> * @param logger logger, may not be null.</em> -<a name="789" href="#789">789</a> <em> * @param pattern pattern, may be null.</em> -<a name="790" href="#790">790</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="791" href="#791">791</a> <em> */</em> -<a name="792" href="#792">792</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="793" href="#793">793</a> <strong>final</strong> Object argument) { -<a name="794" href="#794">794</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="795" href="#795">795</a> forcedLog(logger, Level.DEBUG, format(pattern, argument)); -<a name="796" href="#796">796</a> } -<a name="797" href="#797">797</a> } -<a name="798" href="#798">798</a> -<a name="799" href="#799">799</a> <em>/**<em>*</em></em> -<a name="800" href="#800">800</a> <em> * Log a parameterized message at debug level.</em> -<a name="801" href="#801">801</a> <em> * @param logger logger, may not be null.</em> -<a name="802" href="#802">802</a> <em> * @param pattern pattern, may be null.</em> -<a name="803" href="#803">803</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="804" href="#804">804</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="805" href="#805">805</a> <em> */</em> -<a name="806" href="#806">806</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="807" href="#807">807</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { -<a name="808" href="#808">808</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="809" href="#809">809</a> forcedLog(logger, Level.DEBUG, -<a name="810" href="#810">810</a> format(pattern, toArray(arg0, arg1))); -<a name="811" href="#811">811</a> } -<a name="812" href="#812">812</a> } -<a name="813" href="#813">813</a> -<a name="814" href="#814">814</a> <em>/**<em>*</em></em> -<a name="815" href="#815">815</a> <em> * Log a parameterized message at debug level.</em> -<a name="816" href="#816">816</a> <em> * @param logger logger, may not be null.</em> -<a name="817" href="#817">817</a> <em> * @param pattern pattern, may be null.</em> -<a name="818" href="#818">818</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="819" href="#819">819</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="820" href="#820">820</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="821" href="#821">821</a> <em> */</em> -<a name="822" href="#822">822</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="823" href="#823">823</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { -<a name="824" href="#824">824</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="825" href="#825">825</a> forcedLog(logger, Level.DEBUG, -<a name="826" href="#826">826</a> format(pattern, toArray(arg0, arg1, arg2))); -<a name="827" href="#827">827</a> } -<a name="828" href="#828">828</a> } -<a name="829" href="#829">829</a> -<a name="830" href="#830">830</a> <em>/**<em>*</em></em> -<a name="831" href="#831">831</a> <em> * Log a parameterized message at debug level.</em> -<a name="832" href="#832">832</a> <em> * @param logger logger, may not be null.</em> -<a name="833" href="#833">833</a> <em> * @param pattern pattern, may be null.</em> -<a name="834" href="#834">834</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="835" href="#835">835</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="836" href="#836">836</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="837" href="#837">837</a> <em> * @param arg3 a value to be formatted and substituted.</em> -<a name="838" href="#838">838</a> <em> */</em> -<a name="839" href="#839">839</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="840" href="#840">840</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, -<a name="841" href="#841">841</a> <strong>final</strong> Object arg3) { -<a name="842" href="#842">842</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="843" href="#843">843</a> forcedLog(logger, Level.DEBUG, -<a name="844" href="#844">844</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); -<a name="845" href="#845">845</a> } -<a name="846" href="#846">846</a> } -<a name="847" href="#847">847</a> -<a name="848" href="#848">848</a> <em>/**<em>*</em></em> -<a name="849" href="#849">849</a> <em> * Log a parameterized message at info level.</em> -<a name="850" href="#850">850</a> <em> * @param logger logger, may not be null.</em> -<a name="851" href="#851">851</a> <em> * @param pattern pattern, may be null.</em> -<a name="852" href="#852">852</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="853" href="#853">853</a> <em> */</em> -<a name="854" href="#854">854</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="855" href="#855">855</a> <strong>final</strong> <strong>boolean</strong> argument) { -<a name="856" href="#856">856</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="857" href="#857">857</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="858" href="#858">858</a> } -<a name="859" href="#859">859</a> } -<a name="860" href="#860">860</a> -<a name="861" href="#861">861</a> <em>/**<em>*</em></em> -<a name="862" href="#862">862</a> <em> * Log a parameterized message at info level.</em> -<a name="863" href="#863">863</a> <em> * @param logger logger, may not be null.</em> -<a name="864" href="#864">864</a> <em> * @param pattern pattern, may be null.</em> -<a name="865" href="#865">865</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="866" href="#866">866</a> <em> */</em> -<a name="867" href="#867">867</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="868" href="#868">868</a> <strong>final</strong> <strong>char</strong> argument) { -<a name="869" href="#869">869</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="870" href="#870">870</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="871" href="#871">871</a> } -<a name="872" href="#872">872</a> } -<a name="873" href="#873">873</a> -<a name="874" href="#874">874</a> <em>/**<em>*</em></em> -<a name="875" href="#875">875</a> <em> * Log a parameterized message at info level.</em> -<a name="876" href="#876">876</a> <em> * @param logger logger, may not be null.</em> -<a name="877" href="#877">877</a> <em> * @param pattern pattern, may be null.</em> -<a name="878" href="#878">878</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="879" href="#879">879</a> <em> */</em> -<a name="880" href="#880">880</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="881" href="#881">881</a> <strong>final</strong> byte argument) { -<a name="882" href="#882">882</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="883" href="#883">883</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="884" href="#884">884</a> } -<a name="885" href="#885">885</a> } -<a name="886" href="#886">886</a> -<a name="887" href="#887">887</a> <em>/**<em>*</em></em> -<a name="888" href="#888">888</a> <em> * Log a parameterized message at info level.</em> -<a name="889" href="#889">889</a> <em> * @param logger logger, may not be null.</em> -<a name="890" href="#890">890</a> <em> * @param pattern pattern, may be null.</em> -<a name="891" href="#891">891</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="892" href="#892">892</a> <em> */</em> -<a name="893" href="#893">893</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="894" href="#894">894</a> <strong>final</strong> <strong>short</strong> argument) { -<a name="895" href="#895">895</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="896" href="#896">896</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="897" href="#897">897</a> } -<a name="898" href="#898">898</a> } -<a name="899" href="#899">899</a> -<a name="900" href="#900">900</a> <em>/**<em>*</em></em> -<a name="901" href="#901">901</a> <em> * Log a parameterized message at info level.</em> -<a name="902" href="#902">902</a> <em> * @param logger logger, may not be null.</em> -<a name="903" href="#903">903</a> <em> * @param pattern pattern, may be null.</em> -<a name="904" href="#904">904</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="905" href="#905">905</a> <em> */</em> -<a name="906" href="#906">906</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="907" href="#907">907</a> <strong>final</strong> <strong>int</strong> argument) { -<a name="908" href="#908">908</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="909" href="#909">909</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="910" href="#910">910</a> } -<a name="911" href="#911">911</a> } -<a name="912" href="#912">912</a> -<a name="913" href="#913">913</a> <em>/**<em>*</em></em> -<a name="914" href="#914">914</a> <em> * Log a parameterized message at info level.</em> -<a name="915" href="#915">915</a> <em> * @param logger logger, may not be null.</em> -<a name="916" href="#916">916</a> <em> * @param pattern pattern, may be null.</em> -<a name="917" href="#917">917</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="918" href="#918">918</a> <em> */</em> -<a name="919" href="#919">919</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="920" href="#920">920</a> <strong>final</strong> <strong>long</strong> argument) { -<a name="921" href="#921">921</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="922" href="#922">922</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="923" href="#923">923</a> } -<a name="924" href="#924">924</a> } -<a name="925" href="#925">925</a> -<a name="926" href="#926">926</a> <em>/**<em>*</em></em> -<a name="927" href="#927">927</a> <em> * Log a parameterized message at info level.</em> -<a name="928" href="#928">928</a> <em> * @param logger logger, may not be null.</em> -<a name="929" href="#929">929</a> <em> * @param pattern pattern, may be null.</em> -<a name="930" href="#930">930</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="931" href="#931">931</a> <em> */</em> -<a name="932" href="#932">932</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="933" href="#933">933</a> <strong>final</strong> <strong>float</strong> argument) { -<a name="934" href="#934">934</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="935" href="#935">935</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="936" href="#936">936</a> } -<a name="937" href="#937">937</a> } -<a name="938" href="#938">938</a> -<a name="939" href="#939">939</a> <em>/**<em>*</em></em> -<a name="940" href="#940">940</a> <em> * Log a parameterized message at info level.</em> -<a name="941" href="#941">941</a> <em> * @param logger logger, may not be null.</em> -<a name="942" href="#942">942</a> <em> * @param pattern pattern, may be null.</em> -<a name="943" href="#943">943</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="944" href="#944">944</a> <em> */</em> -<a name="945" href="#945">945</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="946" href="#946">946</a> <strong>final</strong> <strong>double</strong> argument) { -<a name="947" href="#947">947</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="948" href="#948">948</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="949" href="#949">949</a> } -<a name="950" href="#950">950</a> } -<a name="951" href="#951">951</a> -<a name="952" href="#952">952</a> <em>/**<em>*</em></em> -<a name="953" href="#953">953</a> <em> * Log a parameterized message at info level.</em> -<a name="954" href="#954">954</a> <em> * @param logger logger, may not be null.</em> -<a name="955" href="#955">955</a> <em> * @param pattern pattern, may be null.</em> -<a name="956" href="#956">956</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="957" href="#957">957</a> <em> */</em> -<a name="958" href="#958">958</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="959" href="#959">959</a> <strong>final</strong> Object argument) { -<a name="960" href="#960">960</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="961" href="#961">961</a> forcedLog(logger, Level.INFO, format(pattern, argument)); -<a name="962" href="#962">962</a> } -<a name="963" href="#963">963</a> } -<a name="964" href="#964">964</a> -<a name="965" href="#965">965</a> <em>/**<em>*</em></em> -<a name="966" href="#966">966</a> <em> * Log a parameterized message at info level.</em> -<a name="967" href="#967">967</a> <em> * @param logger logger, may not be null.</em> -<a name="968" href="#968">968</a> <em> * @param pattern pattern, may be null.</em> -<a name="969" href="#969">969</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="970" href="#970">970</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="971" href="#971">971</a> <em> */</em> -<a name="972" href="#972">972</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="973" href="#973">973</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { -<a name="974" href="#974">974</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="975" href="#975">975</a> forcedLog(logger, Level.INFO, format(pattern, toArray(arg0, arg1))); -<a name="976" href="#976">976</a> } -<a name="977" href="#977">977</a> } -<a name="978" href="#978">978</a> -<a name="979" href="#979">979</a> <em>/**<em>*</em></em> -<a name="980" href="#980">980</a> <em> * Log a parameterized message at info level.</em> -<a name="981" href="#981">981</a> <em> * @param logger logger, may not be null.</em> -<a name="982" href="#982">982</a> <em> * @param pattern pattern, may be null.</em> -<a name="983" href="#983">983</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="984" href="#984">984</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="985" href="#985">985</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="986" href="#986">986</a> <em> */</em> -<a name="987" href="#987">987</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="988" href="#988">988</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { -<a name="989" href="#989">989</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="990" href="#990">990</a> forcedLog(logger, Level.INFO, format(pattern, -<a name="991" href="#991">991</a> toArray(arg0, arg1, arg2))); -<a name="992" href="#992">992</a> } -<a name="993" href="#993">993</a> } -<a name="994" href="#994">994</a> -<a name="995" href="#995">995</a> <em>/**<em>*</em></em> -<a name="996" href="#996">996</a> <em> * Log a parameterized message at info level.</em> -<a name="997" href="#997">997</a> <em> * @param logger logger, may not be null.</em> -<a name="998" href="#998">998</a> <em> * @param pattern pattern, may be null.</em> -<a name="999" href="#999">999</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1000" href="#1000">1000</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1001" href="#1001">1001</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="1002" href="#1002">1002</a> <em> * @param arg3 a value to be formatted and substituted.</em> -<a name="1003" href="#1003">1003</a> <em> */</em> -<a name="1004" href="#1004">1004</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1005" href="#1005">1005</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, -<a name="1006" href="#1006">1006</a> <strong>final</strong> Object arg3) { -<a name="1007" href="#1007">1007</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="1008" href="#1008">1008</a> forcedLog(logger, Level.INFO, format(pattern, -<a name="1009" href="#1009">1009</a> toArray(arg0, arg1, arg2, arg3))); -<a name="1010" href="#1010">1010</a> } -<a name="1011" href="#1011">1011</a> } -<a name="1012" href="#1012">1012</a> -<a name="1013" href="#1013">1013</a> <em>/**<em>*</em></em> -<a name="1014" href="#1014">1014</a> <em> * Log a parameterized message at warn level.</em> -<a name="1015" href="#1015">1015</a> <em> * @param logger logger, may not be null.</em> -<a name="1016" href="#1016">1016</a> <em> * @param pattern pattern, may be null.</em> -<a name="1017" href="#1017">1017</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1018" href="#1018">1018</a> <em> */</em> -<a name="1019" href="#1019">1019</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1020" href="#1020">1020</a> <strong>final</strong> <strong>boolean</strong> argument) { -<a name="1021" href="#1021">1021</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1022" href="#1022">1022</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1023" href="#1023">1023</a> } -<a name="1024" href="#1024">1024</a> } -<a name="1025" href="#1025">1025</a> -<a name="1026" href="#1026">1026</a> <em>/**<em>*</em></em> -<a name="1027" href="#1027">1027</a> <em> * Log a parameterized message at warn level.</em> -<a name="1028" href="#1028">1028</a> <em> * @param logger logger, may not be null.</em> -<a name="1029" href="#1029">1029</a> <em> * @param pattern pattern, may be null.</em> -<a name="1030" href="#1030">1030</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1031" href="#1031">1031</a> <em> */</em> -<a name="1032" href="#1032">1032</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1033" href="#1033">1033</a> <strong>final</strong> <strong>char</strong> argument) { -<a name="1034" href="#1034">1034</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1035" href="#1035">1035</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1036" href="#1036">1036</a> } -<a name="1037" href="#1037">1037</a> } -<a name="1038" href="#1038">1038</a> -<a name="1039" href="#1039">1039</a> <em>/**<em>*</em></em> -<a name="1040" href="#1040">1040</a> <em> * Log a parameterized message at warn level.</em> -<a name="1041" href="#1041">1041</a> <em> * @param logger logger, may not be null.</em> -<a name="1042" href="#1042">1042</a> <em> * @param pattern pattern, may be null.</em> -<a name="1043" href="#1043">1043</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1044" href="#1044">1044</a> <em> */</em> -<a name="1045" href="#1045">1045</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1046" href="#1046">1046</a> <strong>final</strong> byte argument) { -<a name="1047" href="#1047">1047</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1048" href="#1048">1048</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1049" href="#1049">1049</a> } -<a name="1050" href="#1050">1050</a> } -<a name="1051" href="#1051">1051</a> -<a name="1052" href="#1052">1052</a> <em>/**<em>*</em></em> -<a name="1053" href="#1053">1053</a> <em> * Log a parameterized message at warn level.</em> -<a name="1054" href="#1054">1054</a> <em> * @param logger logger, may not be null.</em> -<a name="1055" href="#1055">1055</a> <em> * @param pattern pattern, may be null.</em> -<a name="1056" href="#1056">1056</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1057" href="#1057">1057</a> <em> */</em> -<a name="1058" href="#1058">1058</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1059" href="#1059">1059</a> <strong>final</strong> <strong>short</strong> argument) { -<a name="1060" href="#1060">1060</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1061" href="#1061">1061</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1062" href="#1062">1062</a> } -<a name="1063" href="#1063">1063</a> } -<a name="1064" href="#1064">1064</a> -<a name="1065" href="#1065">1065</a> <em>/**<em>*</em></em> -<a name="1066" href="#1066">1066</a> <em> * Log a parameterized message at warn level.</em> -<a name="1067" href="#1067">1067</a> <em> * @param logger logger, may not be null.</em> -<a name="1068" href="#1068">1068</a> <em> * @param pattern pattern, may be null.</em> -<a name="1069" href="#1069">1069</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1070" href="#1070">1070</a> <em> */</em> -<a name="1071" href="#1071">1071</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1072" href="#1072">1072</a> <strong>final</strong> <strong>int</strong> argument) { -<a name="1073" href="#1073">1073</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1074" href="#1074">1074</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1075" href="#1075">1075</a> } -<a name="1076" href="#1076">1076</a> } -<a name="1077" href="#1077">1077</a> -<a name="1078" href="#1078">1078</a> <em>/**<em>*</em></em> -<a name="1079" href="#1079">1079</a> <em> * Log a parameterized message at warn level.</em> -<a name="1080" href="#1080">1080</a> <em> * @param logger logger, may not be null.</em> -<a name="1081" href="#1081">1081</a> <em> * @param pattern pattern, may be null.</em> -<a name="1082" href="#1082">1082</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1083" href="#1083">1083</a> <em> */</em> -<a name="1084" href="#1084">1084</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1085" href="#1085">1085</a> <strong>final</strong> <strong>long</strong> argument) { -<a name="1086" href="#1086">1086</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1087" href="#1087">1087</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1088" href="#1088">1088</a> } -<a name="1089" href="#1089">1089</a> } -<a name="1090" href="#1090">1090</a> -<a name="1091" href="#1091">1091</a> <em>/**<em>*</em></em> -<a name="1092" href="#1092">1092</a> <em> * Log a parameterized message at warn level.</em> -<a name="1093" href="#1093">1093</a> <em> * @param logger logger, may not be null.</em> -<a name="1094" href="#1094">1094</a> <em> * @param pattern pattern, may be null.</em> -<a name="1095" href="#1095">1095</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1096" href="#1096">1096</a> <em> */</em> -<a name="1097" href="#1097">1097</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1098" href="#1098">1098</a> <strong>final</strong> <strong>float</strong> argument) { -<a name="1099" href="#1099">1099</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1100" href="#1100">1100</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1101" href="#1101">1101</a> } -<a name="1102" href="#1102">1102</a> } -<a name="1103" href="#1103">1103</a> -<a name="1104" href="#1104">1104</a> <em>/**<em>*</em></em> -<a name="1105" href="#1105">1105</a> <em> * Log a parameterized message at warn level.</em> -<a name="1106" href="#1106">1106</a> <em> * @param logger logger, may not be null.</em> -<a name="1107" href="#1107">1107</a> <em> * @param pattern pattern, may be null.</em> -<a name="1108" href="#1108">1108</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1109" href="#1109">1109</a> <em> */</em> -<a name="1110" href="#1110">1110</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1111" href="#1111">1111</a> <strong>final</strong> <strong>double</strong> argument) { -<a name="1112" href="#1112">1112</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1113" href="#1113">1113</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1114" href="#1114">1114</a> } -<a name="1115" href="#1115">1115</a> } -<a name="1116" href="#1116">1116</a> -<a name="1117" href="#1117">1117</a> <em>/**<em>*</em></em> -<a name="1118" href="#1118">1118</a> <em> * Log a parameterized message at warn level.</em> -<a name="1119" href="#1119">1119</a> <em> * @param logger logger, may not be null.</em> -<a name="1120" href="#1120">1120</a> <em> * @param pattern pattern, may be null.</em> -<a name="1121" href="#1121">1121</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1122" href="#1122">1122</a> <em> */</em> -<a name="1123" href="#1123">1123</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1124" href="#1124">1124</a> <strong>final</strong> Object argument) { -<a name="1125" href="#1125">1125</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1126" href="#1126">1126</a> forcedLog(logger, Level.WARN, format(pattern, argument)); -<a name="1127" href="#1127">1127</a> } -<a name="1128" href="#1128">1128</a> } -<a name="1129" href="#1129">1129</a> -<a name="1130" href="#1130">1130</a> <em>/**<em>*</em></em> -<a name="1131" href="#1131">1131</a> <em> * Log a parameterized message at warn level.</em> -<a name="1132" href="#1132">1132</a> <em> * @param logger logger, may not be null.</em> -<a name="1133" href="#1133">1133</a> <em> * @param pattern pattern, may be null.</em> -<a name="1134" href="#1134">1134</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1135" href="#1135">1135</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1136" href="#1136">1136</a> <em> */</em> -<a name="1137" href="#1137">1137</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1138" href="#1138">1138</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { -<a name="1139" href="#1139">1139</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1140" href="#1140">1140</a> forcedLog(logger, Level.WARN, -<a name="1141" href="#1141">1141</a> format(pattern, toArray(arg0, arg1))); -<a name="1142" href="#1142">1142</a> } -<a name="1143" href="#1143">1143</a> } -<a name="1144" href="#1144">1144</a> -<a name="1145" href="#1145">1145</a> <em>/**<em>*</em></em> -<a name="1146" href="#1146">1146</a> <em> * Log a parameterized message at warn level.</em> -<a name="1147" href="#1147">1147</a> <em> * @param logger logger, may not be null.</em> -<a name="1148" href="#1148">1148</a> <em> * @param pattern pattern, may be null.</em> -<a name="1149" href="#1149">1149</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1150" href="#1150">1150</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1151" href="#1151">1151</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="1152" href="#1152">1152</a> <em> */</em> -<a name="1153" href="#1153">1153</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1154" href="#1154">1154</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { -<a name="1155" href="#1155">1155</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1156" href="#1156">1156</a> forcedLog(logger, Level.WARN, -<a name="1157" href="#1157">1157</a> format(pattern, toArray(arg0, arg1, arg2))); -<a name="1158" href="#1158">1158</a> } -<a name="1159" href="#1159">1159</a> } -<a name="1160" href="#1160">1160</a> -<a name="1161" href="#1161">1161</a> <em>/**<em>*</em></em> -<a name="1162" href="#1162">1162</a> <em> * Log a parameterized message at warn level.</em> -<a name="1163" href="#1163">1163</a> <em> * @param logger logger, may not be null.</em> -<a name="1164" href="#1164">1164</a> <em> * @param pattern pattern, may be null.</em> -<a name="1165" href="#1165">1165</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1166" href="#1166">1166</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1167" href="#1167">1167</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="1168" href="#1168">1168</a> <em> * @param arg3 a value to be formatted and substituted.</em> -<a name="1169" href="#1169">1169</a> <em> */</em> -<a name="1170" href="#1170">1170</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1171" href="#1171">1171</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, -<a name="1172" href="#1172">1172</a> <strong>final</strong> Object arg3) { -<a name="1173" href="#1173">1173</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1174" href="#1174">1174</a> forcedLog(logger, Level.WARN, format(pattern, -<a name="1175" href="#1175">1175</a> toArray(arg0, arg1, arg2, arg3))); -<a name="1176" href="#1176">1176</a> } -<a name="1177" href="#1177">1177</a> } -<a name="1178" href="#1178">1178</a> -<a name="1179" href="#1179">1179</a> <em>/**<em>*</em></em> -<a name="1180" href="#1180">1180</a> <em> * Log a parameterized message at specified level.</em> -<a name="1181" href="#1181">1181</a> <em> * @param logger logger, may not be null.</em> -<a name="1182" href="#1182">1182</a> <em> * @param level level, may not be null.</em> -<a name="1183" href="#1183">1183</a> <em> * @param pattern pattern, may be null.</em> -<a name="1184" href="#1184">1184</a> <em> * @param parameters parameters to the log message.</em> -<a name="1185" href="#1185">1185</a> <em> */</em> -<a name="1186" href="#1186">1186</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1187" href="#1187">1187</a> <strong>final</strong> Level level, -<a name="1188" href="#1188">1188</a> <strong>final</strong> String pattern, -<a name="1189" href="#1189">1189</a> <strong>final</strong> Object[] parameters) { -<a name="1190" href="#1190">1190</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1191" href="#1191">1191</a> forcedLog(logger, level, -<a name="1192" href="#1192">1192</a> format(pattern, parameters)); -<a name="1193" href="#1193">1193</a> } -<a name="1194" href="#1194">1194</a> } -<a name="1195" href="#1195">1195</a> -<a name="1196" href="#1196">1196</a> <em>/**<em>*</em></em> -<a name="1197" href="#1197">1197</a> <em> * Log a parameterized message at specified level.</em> -<a name="1198" href="#1198">1198</a> <em> * @param logger logger, may not be null.</em> -<a name="1199" href="#1199">1199</a> <em> * @param level level, may not be null.</em> -<a name="1200" href="#1200">1200</a> <em> * @param t throwable, may be null.</em> -<a name="1201" href="#1201">1201</a> <em> * @param pattern pattern, may be null.</em> -<a name="1202" href="#1202">1202</a> <em> * @param parameters parameters to the log message.</em> -<a name="1203" href="#1203">1203</a> <em> */</em> -<a name="1204" href="#1204">1204</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1205" href="#1205">1205</a> <strong>final</strong> Level level, -<a name="1206" href="#1206">1206</a> <strong>final</strong> Throwable t, -<a name="1207" href="#1207">1207</a> <strong>final</strong> String pattern, -<a name="1208" href="#1208">1208</a> <strong>final</strong> Object[] parameters) { -<a name="1209" href="#1209">1209</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1210" href="#1210">1210</a> forcedLog(logger, level, -<a name="1211" href="#1211">1211</a> format(pattern, parameters), t); -<a name="1212" href="#1212">1212</a> } -<a name="1213" href="#1213">1213</a> } -<a name="1214" href="#1214">1214</a> -<a name="1215" href="#1215">1215</a> <em>/**<em>*</em></em> -<a name="1216" href="#1216">1216</a> <em> * Log a parameterized message at specified level.</em> -<a name="1217" href="#1217">1217</a> <em> * @param logger logger, may not be null.</em> -<a name="1218" href="#1218">1218</a> <em> * @param level level, may not be null.</em> -<a name="1219" href="#1219">1219</a> <em> * @param pattern pattern, may be null.</em> -<a name="1220" href="#1220">1220</a> <em> * @param param1 parameter to the log message.</em> -<a name="1221" href="#1221">1221</a> <em> */</em> -<a name="1222" href="#1222">1222</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1223" href="#1223">1223</a> <strong>final</strong> Level level, -<a name="1224" href="#1224">1224</a> <strong>final</strong> String pattern, -<a name="1225" href="#1225">1225</a> <strong>final</strong> Object param1) { -<a name="1226" href="#1226">1226</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1227" href="#1227">1227</a> forcedLog(logger, level, -<a name="1228" href="#1228">1228</a> format(pattern, toArray(param1))); -<a name="1229" href="#1229">1229</a> } -<a name="1230" href="#1230">1230</a> } -<a name="1231" href="#1231">1231</a> -<a name="1232" href="#1232">1232</a> <em>/**<em>*</em></em> -<a name="1233" href="#1233">1233</a> <em> * Log a parameterized message at specified level.</em> -<a name="1234" href="#1234">1234</a> <em> * @param logger logger, may not be null.</em> -<a name="1235" href="#1235">1235</a> <em> * @param level level, may not be null.</em> -<a name="1236" href="#1236">1236</a> <em> * @param pattern pattern, may be null.</em> -<a name="1237" href="#1237">1237</a> <em> * @param param1 parameter to the log message.</em> -<a name="1238" href="#1238">1238</a> <em> */</em> -<a name="1239" href="#1239">1239</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1240" href="#1240">1240</a> <strong>final</strong> Level level, -<a name="1241" href="#1241">1241</a> <strong>final</strong> String pattern, -<a name="1242" href="#1242">1242</a> <strong>final</strong> <strong>boolean</strong> param1) { -<a name="1243" href="#1243">1243</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1244" href="#1244">1244</a> forcedLog(logger, level, -<a name="1245" href="#1245">1245</a> format(pattern, toArray(valueOf(param1)))); -<a name="1246" href="#1246">1246</a> } -<a name="1247" href="#1247">1247</a> } -<a name="1248" href="#1248">1248</a> -<a name="1249" href="#1249">1249</a> -<a name="1250" href="#1250">1250</a> <em>/**<em>*</em></em> -<a name="1251" href="#1251">1251</a> <em> * Log a parameterized message at specified level.</em> -<a name="1252" href="#1252">1252</a> <em> * @param logger logger, may not be null.</em> -<a name="1253" href="#1253">1253</a> <em> * @param level level, may not be null.</em> -<a name="1254" href="#1254">1254</a> <em> * @param pattern pattern, may be null.</em> -<a name="1255" href="#1255">1255</a> <em> * @param param1 parameter to the log message.</em> -<a name="1256" href="#1256">1256</a> <em> */</em> -<a name="1257" href="#1257">1257</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1258" href="#1258">1258</a> <strong>final</strong> Level level, -<a name="1259" href="#1259">1259</a> <strong>final</strong> String pattern, -<a name="1260" href="#1260">1260</a> <strong>final</strong> byte param1) { -<a name="1261" href="#1261">1261</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1262" href="#1262">1262</a> forcedLog(logger, level, -<a name="1263" href="#1263">1263</a> format(pattern, toArray(valueOf(param1)))); -<a name="1264" href="#1264">1264</a> } -<a name="1265" href="#1265">1265</a> } -<a name="1266" href="#1266">1266</a> -<a name="1267" href="#1267">1267</a> -<a name="1268" href="#1268">1268</a> <em>/**<em>*</em></em> -<a name="1269" href="#1269">1269</a> <em> * Log a parameterized message at specified level.</em> -<a name="1270" href="#1270">1270</a> <em> * @param logger logger, may not be null.</em> -<a name="1271" href="#1271">1271</a> <em> * @param level level, may not be null.</em> -<a name="1272" href="#1272">1272</a> <em> * @param pattern pattern, may be null.</em> -<a name="1273" href="#1273">1273</a> <em> * @param param1 parameter to the log message.</em> -<a name="1274" href="#1274">1274</a> <em> */</em> -<a name="1275" href="#1275">1275</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1276" href="#1276">1276</a> <strong>final</strong> Level level, -<a name="1277" href="#1277">1277</a> <strong>final</strong> String pattern, -<a name="1278" href="#1278">1278</a> <strong>final</strong> <strong>char</strong> param1) { -<a name="1279" href="#1279">1279</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1280" href="#1280">1280</a> forcedLog(logger, level, -<a name="1281" href="#1281">1281</a> format(pattern, toArray(valueOf(param1)))); -<a name="1282" href="#1282">1282</a> } -<a name="1283" href="#1283">1283</a> } -<a name="1284" href="#1284">1284</a> -<a name="1285" href="#1285">1285</a> <em>/**<em>*</em></em> -<a name="1286" href="#1286">1286</a> <em> * Log a parameterized message at specified level.</em> -<a name="1287" href="#1287">1287</a> <em> * @param logger logger, may not be null.</em> -<a name="1288" href="#1288">1288</a> <em> * @param level level, may not be null.</em> -<a name="1289" href="#1289">1289</a> <em> * @param pattern pattern, may be null.</em> -<a name="1290" href="#1290">1290</a> <em> * @param param1 parameter to the log message.</em> -<a name="1291" href="#1291">1291</a> <em> */</em> -<a name="1292" href="#1292">1292</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1293" href="#1293">1293</a> <strong>final</strong> Level level, -<a name="1294" href="#1294">1294</a> <strong>final</strong> String pattern, -<a name="1295" href="#1295">1295</a> <strong>final</strong> <strong>short</strong> param1) { -<a name="1296" href="#1296">1296</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1297" href="#1297">1297</a> forcedLog(logger, level, -<a name="1298" href="#1298">1298</a> format(pattern, toArray(valueOf(param1)))); -<a name="1299" href="#1299">1299</a> } -<a name="1300" href="#1300">1300</a> } -<a name="1301" href="#1301">1301</a> -<a name="1302" href="#1302">1302</a> <em>/**<em>*</em></em> -<a name="1303" href="#1303">1303</a> <em> * Log a parameterized message at specified level.</em> -<a name="1304" href="#1304">1304</a> <em> * @param logger logger, may not be null.</em> -<a name="1305" href="#1305">1305</a> <em> * @param level level, may not be null.</em> -<a name="1306" href="#1306">1306</a> <em> * @param pattern pattern, may be null.</em> -<a name="1307" href="#1307">1307</a> <em> * @param param1 parameter to the log message.</em> -<a name="1308" href="#1308">1308</a> <em> */</em> -<a name="1309" href="#1309">1309</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1310" href="#1310">1310</a> <strong>final</strong> Level level, -<a name="1311" href="#1311">1311</a> <strong>final</strong> String pattern, -<a name="1312" href="#1312">1312</a> <strong>final</strong> <strong>int</strong> param1) { -<a name="1313" href="#1313">1313</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1314" href="#1314">1314</a> forcedLog(logger, level, -<a name="1315" href="#1315">1315</a> format(pattern, toArray(valueOf(param1)))); -<a name="1316" href="#1316">1316</a> } -<a name="1317" href="#1317">1317</a> } -<a name="1318" href="#1318">1318</a> -<a name="1319" href="#1319">1319</a> -<a name="1320" href="#1320">1320</a> <em>/**<em>*</em></em> -<a name="1321" href="#1321">1321</a> <em> * Log a parameterized message at specified level.</em> -<a name="1322" href="#1322">1322</a> <em> * @param logger logger, may not be null.</em> -<a name="1323" href="#1323">1323</a> <em> * @param level level, may not be null.</em> -<a name="1324" href="#1324">1324</a> <em> * @param pattern pattern, may be null.</em> -<a name="1325" href="#1325">1325</a> <em> * @param param1 parameter to the log message.</em> -<a name="1326" href="#1326">1326</a> <em> */</em> -<a name="1327" href="#1327">1327</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1328" href="#1328">1328</a> <strong>final</strong> Level level, -<a name="1329" href="#1329">1329</a> <strong>final</strong> String pattern, -<a name="1330" href="#1330">1330</a> <strong>final</strong> <strong>long</strong> param1) { -<a name="1331" href="#1331">1331</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1332" href="#1332">1332</a> forcedLog(logger, level, -<a name="1333" href="#1333">1333</a> format(pattern, toArray(valueOf(param1)))); -<a name="1334" href="#1334">1334</a> } -<a name="1335" href="#1335">1335</a> } -<a name="1336" href="#1336">1336</a> -<a name="1337" href="#1337">1337</a> -<a name="1338" href="#1338">1338</a> <em>/**<em>*</em></em> -<a name="1339" href="#1339">1339</a> <em> * Log a parameterized message at specified level.</em> -<a name="1340" href="#1340">1340</a> <em> * @param logger logger, may not be null.</em> -<a name="1341" href="#1341">1341</a> <em> * @param level level, may not be null.</em> -<a name="1342" href="#1342">1342</a> <em> * @param pattern pattern, may be null.</em> -<a name="1343" href="#1343">1343</a> <em> * @param param1 parameter to the log message.</em> -<a name="1344" href="#1344">1344</a> <em> */</em> -<a name="1345" href="#1345">1345</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1346" href="#1346">1346</a> <strong>final</strong> Level level, -<a name="1347" href="#1347">1347</a> <strong>final</strong> String pattern, -<a name="1348" href="#1348">1348</a> <strong>final</strong> <strong>float</strong> param1) { -<a name="1349" href="#1349">1349</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1350" href="#1350">1350</a> forcedLog(logger, level, -<a name="1351" href="#1351">1351</a> format(pattern, toArray(valueOf(param1)))); -<a name="1352" href="#1352">1352</a> } -<a name="1353" href="#1353">1353</a> } -<a name="1354" href="#1354">1354</a> -<a name="1355" href="#1355">1355</a> -<a name="1356" href="#1356">1356</a> <em>/**<em>*</em></em> -<a name="1357" href="#1357">1357</a> <em> * Log a parameterized message at specified level.</em> -<a name="1358" href="#1358">1358</a> <em> * @param logger logger, may not be null.</em> -<a name="1359" href="#1359">1359</a> <em> * @param level level, may not be null.</em> -<a name="1360" href="#1360">1360</a> <em> * @param pattern pattern, may be null.</em> -<a name="1361" href="#1361">1361</a> <em> * @param param1 parameter to the log message.</em> -<a name="1362" href="#1362">1362</a> <em> */</em> -<a name="1363" href="#1363">1363</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1364" href="#1364">1364</a> <strong>final</strong> Level level, -<a name="1365" href="#1365">1365</a> <strong>final</strong> String pattern, -<a name="1366" href="#1366">1366</a> <strong>final</strong> <strong>double</strong> param1) { -<a name="1367" href="#1367">1367</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1368" href="#1368">1368</a> forcedLog(logger, level, -<a name="1369" href="#1369">1369</a> format(pattern, toArray(valueOf(param1)))); -<a name="1370" href="#1370">1370</a> } -<a name="1371" href="#1371">1371</a> } -<a name="1372" href="#1372">1372</a> -<a name="1373" href="#1373">1373</a> -<a name="1374" href="#1374">1374</a> <em>/**<em>*</em></em> -<a name="1375" href="#1375">1375</a> <em> * Log a parameterized message at specified level.</em> -<a name="1376" href="#1376">1376</a> <em> * @param logger logger, may not be null.</em> -<a name="1377" href="#1377">1377</a> <em> * @param level level, may not be null.</em> -<a name="1378" href="#1378">1378</a> <em> * @param pattern pattern, may be null.</em> -<a name="1379" href="#1379">1379</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1380" href="#1380">1380</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1381" href="#1381">1381</a> <em> */</em> -<a name="1382" href="#1382">1382</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1383" href="#1383">1383</a> <strong>final</strong> Level level, -<a name="1384" href="#1384">1384</a> <strong>final</strong> String pattern, -<a name="1385" href="#1385">1385</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { -<a name="1386" href="#1386">1386</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1387" href="#1387">1387</a> forcedLog(logger, level, -<a name="1388" href="#1388">1388</a> format(pattern, toArray(arg0, arg1))); -<a name="1389" href="#1389">1389</a> } -<a name="1390" href="#1390">1390</a> } -<a name="1391" href="#1391">1391</a> -<a name="1392" href="#1392">1392</a> <em>/**<em>*</em></em> -<a name="1393" href="#1393">1393</a> <em> * Log a parameterized message at specifed level.</em> -<a name="1394" href="#1394">1394</a> <em> * @param logger logger, may not be null.</em> -<a name="1395" href="#1395">1395</a> <em> * @param level level, may not be null.</em> -<a name="1396" href="#1396">1396</a> <em> * @param pattern pattern, may be null.</em> -<a name="1397" href="#1397">1397</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1398" href="#1398">1398</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1399" href="#1399">1399</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="1400" href="#1400">1400</a> <em> */</em> -<a name="1401" href="#1401">1401</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1402" href="#1402">1402</a> <strong>final</strong> Level level, -<a name="1403" href="#1403">1403</a> <strong>final</strong> String pattern, -<a name="1404" href="#1404">1404</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { -<a name="1405" href="#1405">1405</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1406" href="#1406">1406</a> forcedLog(logger, level, -<a name="1407" href="#1407">1407</a> format(pattern, toArray(arg0, arg1, arg2))); -<a name="1408" href="#1408">1408</a> } -<a name="1409" href="#1409">1409</a> } -<a name="1410" href="#1410">1410</a> -<a name="1411" href="#1411">1411</a> <em>/**<em>*</em></em> -<a name="1412" href="#1412">1412</a> <em> * Log a parameterized message at specified level.</em> -<a name="1413" href="#1413">1413</a> <em> * @param logger logger, may not be null.</em> -<a name="1414" href="#1414">1414</a> <em> * @param pattern pattern, may be null.</em> -<a name="1415" href="#1415">1415</a> <em> * @param level level, may not be null.</em> -<a name="1416" href="#1416">1416</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1417" href="#1417">1417</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1418" href="#1418">1418</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="1419" href="#1419">1419</a> <em> * @param arg3 a value to be formatted and substituted.</em> -<a name="1420" href="#1420">1420</a> <em> */</em> -<a name="1421" href="#1421">1421</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1422" href="#1422">1422</a> <strong>final</strong> Level level, -<a name="1423" href="#1423">1423</a> <strong>final</strong> String pattern, -<a name="1424" href="#1424">1424</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, -<a name="1425" href="#1425">1425</a> <strong>final</strong> Object arg3) { -<a name="1426" href="#1426">1426</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1427" href="#1427">1427</a> forcedLog(logger, level, format(pattern, -<a name="1428" href="#1428">1428</a> toArray(arg0, arg1, arg2, arg3))); -<a name="1429" href="#1429">1429</a> } -<a name="1430" href="#1430">1430</a> } -<a name="1431" href="#1431">1431</a> -<a name="1432" href="#1432">1432</a> -<a name="1433" href="#1433">1433</a> <em>/**<em>*</em></em> -<a name="1434" href="#1434">1434</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1435" href="#1435">1435</a> <em> * @param logger logger, may not be null.</em> -<a name="1436" href="#1436">1436</a> <em> * @param level level, may not be null.</em> -<a name="1437" href="#1437">1437</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1438" href="#1438">1438</a> <em> * @param key key, may be null.</em> -<a name="1439" href="#1439">1439</a> <em> * @param parameters parameters to the log message.</em> -<a name="1440" href="#1440">1440</a> <em> */</em> -<a name="1441" href="#1441">1441</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1442" href="#1442">1442</a> <strong>final</strong> Level level, -<a name="1443" href="#1443">1443</a> <strong>final</strong> String bundleName, -<a name="1444" href="#1444">1444</a> <strong>final</strong> String key, -<a name="1445" href="#1445">1445</a> <strong>final</strong> Object[] parameters) { -<a name="1446" href="#1446">1446</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1447" href="#1447">1447</a> forcedLog(logger, level, -<a name="1448" href="#1448">1448</a> format(bundleName, key, parameters)); -<a name="1449" href="#1449">1449</a> } -<a name="1450" href="#1450">1450</a> } -<a name="1451" href="#1451">1451</a> -<a name="1452" href="#1452">1452</a> <em>/**<em>*</em></em> -<a name="1453" href="#1453">1453</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1454" href="#1454">1454</a> <em> * @param logger logger, may not be null.</em> -<a name="1455" href="#1455">1455</a> <em> * @param level level, may not be null.</em> -<a name="1456" href="#1456">1456</a> <em> * @param t throwable, may be null.</em> -<a name="1457" href="#1457">1457</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1458" href="#1458">1458</a> <em> * @param key key, may be null.</em> -<a name="1459" href="#1459">1459</a> <em> * @param parameters parameters to the log message.</em> -<a name="1460" href="#1460">1460</a> <em> */</em> -<a name="1461" href="#1461">1461</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1462" href="#1462">1462</a> <strong>final</strong> Level level, -<a name="1463" href="#1463">1463</a> <strong>final</strong> Throwable t, -<a name="1464" href="#1464">1464</a> <strong>final</strong> String bundleName, -<a name="1465" href="#1465">1465</a> <strong>final</strong> String key, -<a name="1466" href="#1466">1466</a> <strong>final</strong> Object[] parameters) { -<a name="1467" href="#1467">1467</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1468" href="#1468">1468</a> forcedLog(logger, level, -<a name="1469" href="#1469">1469</a> format(bundleName, key, parameters), t); -<a name="1470" href="#1470">1470</a> } -<a name="1471" href="#1471">1471</a> } -<a name="1472" href="#1472">1472</a> -<a name="1473" href="#1473">1473</a> <em>/**<em>*</em></em> -<a name="1474" href="#1474">1474</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1475" href="#1475">1475</a> <em> * @param logger logger, may not be null.</em> -<a name="1476" href="#1476">1476</a> <em> * @param level level, may not be null.</em> -<a name="1477" href="#1477">1477</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1478" href="#1478">1478</a> <em> * @param key key, may be null.</em> -<a name="1479" href="#1479">1479</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1480" href="#1480">1480</a> <em> */</em> -<a name="1481" href="#1481">1481</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1482" href="#1482">1482</a> <strong>final</strong> Level level, -<a name="1483" href="#1483">1483</a> <strong>final</strong> String bundleName, -<a name="1484" href="#1484">1484</a> <strong>final</strong> String key, -<a name="1485" href="#1485">1485</a> <strong>final</strong> Object param1) { -<a name="1486" href="#1486">1486</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1487" href="#1487">1487</a> forcedLog(logger, level, -<a name="1488" href="#1488">1488</a> format(bundleName, key, toArray(param1))); -<a name="1489" href="#1489">1489</a> } -<a name="1490" href="#1490">1490</a> } -<a name="1491" href="#1491">1491</a> -<a name="1492" href="#1492">1492</a> <em>/**<em>*</em></em> -<a name="1493" href="#1493">1493</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1494" href="#1494">1494</a> <em> * @param logger logger, may not be null.</em> -<a name="1495" href="#1495">1495</a> <em> * @param level level, may not be null.</em> -<a name="1496" href="#1496">1496</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1497" href="#1497">1497</a> <em> * @param key key, may be null.</em> -<a name="1498" href="#1498">1498</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1499" href="#1499">1499</a> <em> */</em> -<a name="1500" href="#1500">1500</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1501" href="#1501">1501</a> <strong>final</strong> Level level, -<a name="1502" href="#1502">1502</a> <strong>final</strong> String bundleName, -<a name="1503" href="#1503">1503</a> <strong>final</strong> String key, -<a name="1504" href="#1504">1504</a> <strong>final</strong> <strong>boolean</strong> param1) { -<a name="1505" href="#1505">1505</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1506" href="#1506">1506</a> forcedLog(logger, level, -<a name="1507" href="#1507">1507</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1508" href="#1508">1508</a> } -<a name="1509" href="#1509">1509</a> } -<a name="1510" href="#1510">1510</a> -<a name="1511" href="#1511">1511</a> <em>/**<em>*</em></em> -<a name="1512" href="#1512">1512</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1513" href="#1513">1513</a> <em> * @param logger logger, may not be null.</em> -<a name="1514" href="#1514">1514</a> <em> * @param level level, may not be null.</em> -<a name="1515" href="#1515">1515</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1516" href="#1516">1516</a> <em> * @param key key, may be null.</em> -<a name="1517" href="#1517">1517</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1518" href="#1518">1518</a> <em> */</em> -<a name="1519" href="#1519">1519</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1520" href="#1520">1520</a> <strong>final</strong> Level level, -<a name="1521" href="#1521">1521</a> <strong>final</strong> String bundleName, -<a name="1522" href="#1522">1522</a> <strong>final</strong> String key, -<a name="1523" href="#1523">1523</a> <strong>final</strong> <strong>char</strong> param1) { -<a name="1524" href="#1524">1524</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1525" href="#1525">1525</a> forcedLog(logger, level, -<a name="1526" href="#1526">1526</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1527" href="#1527">1527</a> } -<a name="1528" href="#1528">1528</a> } -<a name="1529" href="#1529">1529</a> -<a name="1530" href="#1530">1530</a> <em>/**<em>*</em></em> -<a name="1531" href="#1531">1531</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1532" href="#1532">1532</a> <em> * @param logger logger, may not be null.</em> -<a name="1533" href="#1533">1533</a> <em> * @param level level, may not be null.</em> -<a name="1534" href="#1534">1534</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1535" href="#1535">1535</a> <em> * @param key key, may be null.</em> -<a name="1536" href="#1536">1536</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1537" href="#1537">1537</a> <em> */</em> -<a name="1538" href="#1538">1538</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1539" href="#1539">1539</a> <strong>final</strong> Level level, -<a name="1540" href="#1540">1540</a> <strong>final</strong> String bundleName, -<a name="1541" href="#1541">1541</a> <strong>final</strong> String key, -<a name="1542" href="#1542">1542</a> <strong>final</strong> byte param1) { -<a name="1543" href="#1543">1543</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1544" href="#1544">1544</a> forcedLog(logger, level, -<a name="1545" href="#1545">1545</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1546" href="#1546">1546</a> } -<a name="1547" href="#1547">1547</a> } -<a name="1548" href="#1548">1548</a> -<a name="1549" href="#1549">1549</a> <em>/**<em>*</em></em> -<a name="1550" href="#1550">1550</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1551" href="#1551">1551</a> <em> * @param logger logger, may not be null.</em> -<a name="1552" href="#1552">1552</a> <em> * @param level level, may not be null.</em> -<a name="1553" href="#1553">1553</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1554" href="#1554">1554</a> <em> * @param key key, may be null.</em> -<a name="1555" href="#1555">1555</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1556" href="#1556">1556</a> <em> */</em> -<a name="1557" href="#1557">1557</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1558" href="#1558">1558</a> <strong>final</strong> Level level, -<a name="1559" href="#1559">1559</a> <strong>final</strong> String bundleName, -<a name="1560" href="#1560">1560</a> <strong>final</strong> String key, -<a name="1561" href="#1561">1561</a> <strong>final</strong> <strong>short</strong> param1) { -<a name="1562" href="#1562">1562</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1563" href="#1563">1563</a> forcedLog(logger, level, -<a name="1564" href="#1564">1564</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1565" href="#1565">1565</a> } -<a name="1566" href="#1566">1566</a> } -<a name="1567" href="#1567">1567</a> -<a name="1568" href="#1568">1568</a> <em>/**<em>*</em></em> -<a name="1569" href="#1569">1569</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1570" href="#1570">1570</a> <em> * @param logger logger, may not be null.</em> -<a name="1571" href="#1571">1571</a> <em> * @param level level, may not be null.</em> -<a name="1572" href="#1572">1572</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1573" href="#1573">1573</a> <em> * @param key key, may be null.</em> -<a name="1574" href="#1574">1574</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1575" href="#1575">1575</a> <em> */</em> -<a name="1576" href="#1576">1576</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1577" href="#1577">1577</a> <strong>final</strong> Level level, -<a name="1578" href="#1578">1578</a> <strong>final</strong> String bundleName, -<a name="1579" href="#1579">1579</a> <strong>final</strong> String key, -<a name="1580" href="#1580">1580</a> <strong>final</strong> <strong>int</strong> param1) { -<a name="1581" href="#1581">1581</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1582" href="#1582">1582</a> forcedLog(logger, level, -<a name="1583" href="#1583">1583</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1584" href="#1584">1584</a> } -<a name="1585" href="#1585">1585</a> } -<a name="1586" href="#1586">1586</a> -<a name="1587" href="#1587">1587</a> <em>/**<em>*</em></em> -<a name="1588" href="#1588">1588</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1589" href="#1589">1589</a> <em> * @param logger logger, may not be null.</em> -<a name="1590" href="#1590">1590</a> <em> * @param level level, may not be null.</em> -<a name="1591" href="#1591">1591</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1592" href="#1592">1592</a> <em> * @param key key, may be null.</em> -<a name="1593" href="#1593">1593</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1594" href="#1594">1594</a> <em> */</em> -<a name="1595" href="#1595">1595</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1596" href="#1596">1596</a> <strong>final</strong> Level level, -<a name="1597" href="#1597">1597</a> <strong>final</strong> String bundleName, -<a name="1598" href="#1598">1598</a> <strong>final</strong> String key, -<a name="1599" href="#1599">1599</a> <strong>final</strong> <strong>long</strong> param1) { -<a name="1600" href="#1600">1600</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1601" href="#1601">1601</a> forcedLog(logger, level, -<a name="1602" href="#1602">1602</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1603" href="#1603">1603</a> } -<a name="1604" href="#1604">1604</a> } -<a name="1605" href="#1605">1605</a> <em>/**<em>*</em></em> -<a name="1606" href="#1606">1606</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1607" href="#1607">1607</a> <em> * @param logger logger, may not be null.</em> -<a name="1608" href="#1608">1608</a> <em> * @param level level, may not be null.</em> -<a name="1609" href="#1609">1609</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1610" href="#1610">1610</a> <em> * @param key key, may be null.</em> -<a name="1611" href="#1611">1611</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1612" href="#1612">1612</a> <em> */</em> -<a name="1613" href="#1613">1613</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1614" href="#1614">1614</a> <strong>final</strong> Level level, -<a name="1615" href="#1615">1615</a> <strong>final</strong> String bundleName, -<a name="1616" href="#1616">1616</a> <strong>final</strong> String key, -<a name="1617" href="#1617">1617</a> <strong>final</strong> <strong>float</strong> param1) { -<a name="1618" href="#1618">1618</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1619" href="#1619">1619</a> forcedLog(logger, level, -<a name="1620" href="#1620">1620</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1621" href="#1621">1621</a> } -<a name="1622" href="#1622">1622</a> } -<a name="1623" href="#1623">1623</a> -<a name="1624" href="#1624">1624</a> -<a name="1625" href="#1625">1625</a> <em>/**<em>*</em></em> -<a name="1626" href="#1626">1626</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1627" href="#1627">1627</a> <em> * @param logger logger, may not be null.</em> -<a name="1628" href="#1628">1628</a> <em> * @param level level, may not be null.</em> -<a name="1629" href="#1629">1629</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1630" href="#1630">1630</a> <em> * @param key key, may be null.</em> -<a name="1631" href="#1631">1631</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1632" href="#1632">1632</a> <em> */</em> -<a name="1633" href="#1633">1633</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1634" href="#1634">1634</a> <strong>final</strong> Level level, -<a name="1635" href="#1635">1635</a> <strong>final</strong> String bundleName, -<a name="1636" href="#1636">1636</a> <strong>final</strong> String key, -<a name="1637" href="#1637">1637</a> <strong>final</strong> <strong>double</strong> param1) { -<a name="1638" href="#1638">1638</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1639" href="#1639">1639</a> forcedLog(logger, level, -<a name="1640" href="#1640">1640</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1641" href="#1641">1641</a> } -<a name="1642" href="#1642">1642</a> } -<a name="1643" href="#1643">1643</a> -<a name="1644" href="#1644">1644</a> <em>/**<em>*</em></em> -<a name="1645" href="#1645">1645</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1646" href="#1646">1646</a> <em> * @param logger logger, may not be null.</em> -<a name="1647" href="#1647">1647</a> <em> * @param level level, may not be null.</em> -<a name="1648" href="#1648">1648</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1649" href="#1649">1649</a> <em> * @param key key, may be null.</em> -<a name="1650" href="#1650">1650</a> <em> * @param param0 Parameter to the log message.</em> -<a name="1651" href="#1651">1651</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1652" href="#1652">1652</a> <em> */</em> -<a name="1653" href="#1653">1653</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1654" href="#1654">1654</a> <strong>final</strong> Level level, -<a name="1655" href="#1655">1655</a> <strong>final</strong> String bundleName, -<a name="1656" href="#1656">1656</a> <strong>final</strong> String key, -<a name="1657" href="#1657">1657</a> <strong>final</strong> Object param0, -<a name="1658" href="#1658">1658</a> <strong>final</strong> Object param1) { -<a name="1659" href="#1659">1659</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1660" href="#1660">1660</a> forcedLog(logger, level, -<a name="1661" href="#1661">1661</a> format(bundleName, key, toArray(param0, param1))); -<a name="1662" href="#1662">1662</a> } -<a name="1663" href="#1663">1663</a> } -<a name="1664" href="#1664">1664</a> -<a name="1665" href="#1665">1665</a> -<a name="1666" href="#1666">1666</a> <em>/**<em>*</em></em> -<a name="1667" href="#1667">1667</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1668" href="#1668">1668</a> <em> * @param logger logger, may not be null.</em> -<a name="1669" href="#1669">1669</a> <em> * @param level level, may not be null.</em> -<a name="1670" href="#1670">1670</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1671" href="#1671">1671</a> <em> * @param key key, may be null.</em> -<a name="1672" href="#1672">1672</a> <em> * @param param0 Parameter to the log message.</em> -<a name="1673" href="#1673">1673</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1674" href="#1674">1674</a> <em> * @param param2 Parameter to the log message.</em> -<a name="1675" href="#1675">1675</a> <em> */</em> -<a name="1676" href="#1676">1676</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1677" href="#1677">1677</a> <strong>final</strong> Level level, -<a name="1678" href="#1678">1678</a> <strong>final</strong> String bundleName, -<a name="1679" href="#1679">1679</a> <strong>final</strong> String key, -<a name="1680" href="#1680">1680</a> <strong>final</strong> Object param0, -<a name="1681" href="#1681">1681</a> <strong>final</strong> Object param1, -<a name="1682" href="#1682">1682</a> <strong>final</strong> Object param2) { -<a name="1683" href="#1683">1683</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1684" href="#1684">1684</a> forcedLog(logger, level, -<a name="1685" href="#1685">1685</a> format(bundleName, key, toArray(param0, param1, param2))); -<a name="1686" href="#1686">1686</a> } -<a name="1687" href="#1687">1687</a> } -<a name="1688" href="#1688">1688</a> -<a name="1689" href="#1689">1689</a> -<a name="1690" href="#1690">1690</a> <em>/**<em>*</em></em> -<a name="1691" href="#1691">1691</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1692" href="#1692">1692</a> <em> * @param logger logger, may not be null.</em> -<a name="1693" href="#1693">1693</a> <em> * @param level level, may not be null.</em> -<a name="1694" href="#1694">1694</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1695" href="#1695">1695</a> <em> * @param key key, may be null.</em> -<a name="1696" href="#1696">1696</a> <em> * @param param0 Parameter to the log message.</em> -<a name="1697" href="#1697">1697</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1698" href="#1698">1698</a> <em> * @param param2 Parameter to the log message.</em> -<a name="1699" href="#1699">1699</a> <em> * @param param3 Parameter to the log message.</em> -<a name="1700" href="#1700">1700</a> <em> */</em> -<a name="1701" href="#1701">1701</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1702" href="#1702">1702</a> <strong>final</strong> Level level, -<a name="1703" href="#1703">1703</a> <strong>final</strong> String bundleName, -<a name="1704" href="#1704">1704</a> <strong>final</strong> String key, -<a name="1705" href="#1705">1705</a> <strong>final</strong> Object param0, -<a name="1706" href="#1706">1706</a> <strong>final</strong> Object param1, -<a name="1707" href="#1707">1707</a> <strong>final</strong> Object param2, -<a name="1708" href="#1708">1708</a> <strong>final</strong> Object param3) { -<a name="1709" href="#1709">1709</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1710" href="#1710">1710</a> forcedLog(logger, level, -<a name="1711" href="#1711">1711</a> format(bundleName, key, -<a name="1712" href="#1712">1712</a> toArray(param0, param1, param2, param3))); -<a name="1713" href="#1713">1713</a> } -<a name="1714" href="#1714">1714</a> } -<a name="1715" href="#1715">1715</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/LogSF.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/LogSF.html deleted file mode 100644 index 7ef61e054b3..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/LogSF.html +++ /dev/null @@ -1,1672 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LogSF xref</title> -<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/LogSF.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> <strong>import</strong> java.util.ResourceBundle; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> <em>/**<em>*</em></em> -<a name="25" href="#25">25</a> <em> * This class provides static methods to</em> -<a name="26" href="#26">26</a> <em> * format log messages using a log4j 1.3 or SLF4J</em> -<a name="27" href="#27">27</a> <em> * style formatter.</em> -<a name="28" href="#28">28</a> <em> *</em> -<a name="29" href="#29">29</a> <em> */</em> -<a name="30" href="#30">30</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../org/apache/log4j/LogSF.html">LogSF</a> { -<a name="31" href="#31">31</a> <em>/**<em>*</em></em> -<a name="32" href="#32">32</a> <em> * Trace level.</em> -<a name="33" href="#33">33</a> <em> */</em> -<a name="34" href="#34">34</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> Level TRACE = <strong>new</strong> Level(5000, <span class="string">"TRACE"</span>, 7); -<a name="35" href="#35">35</a> <em>/**<em>*</em></em> -<a name="36" href="#36">36</a> <em> * private constructor.</em> -<a name="37" href="#37">37</a> <em> *</em> -<a name="38" href="#38">38</a> <em> */</em> -<a name="39" href="#39">39</a> <strong>private</strong> <a href="../../../org/apache/log4j/LogSF.html">LogSF</a>() { -<a name="40" href="#40">40</a> } -<a name="41" href="#41">41</a> -<a name="42" href="#42">42</a> -<a name="43" href="#43">43</a> -<a name="44" href="#44">44</a> <em>/**<em>*</em></em> -<a name="45" href="#45">45</a> <em> * Returns a Boolean instance representing the specified boolean.</em> -<a name="46" href="#46">46</a> <em> * Boolean.valueOf was added in JDK 1.4.</em> -<a name="47" href="#47">47</a> <em> * @param b a boolean value.</em> -<a name="48" href="#48">48</a> <em> * @return a Boolean instance representing b.</em> -<a name="49" href="#49">49</a> <em> */</em> -<a name="50" href="#50">50</a> <strong>private</strong> <strong>static</strong> Boolean valueOf(<strong>final</strong> <strong>boolean</strong> b) { -<a name="51" href="#51">51</a> <strong>if</strong> (b) { -<a name="52" href="#52">52</a> <strong>return</strong> Boolean.TRUE; -<a name="53" href="#53">53</a> } -<a name="54" href="#54">54</a> <strong>return</strong> Boolean.FALSE; -<a name="55" href="#55">55</a> } -<a name="56" href="#56">56</a> -<a name="57" href="#57">57</a> <em>/**<em>*</em></em> -<a name="58" href="#58">58</a> <em> * Returns a Character instance representing the specified char.</em> -<a name="59" href="#59">59</a> <em> * Character.valueOf was added in JDK 1.5.</em> -<a name="60" href="#60">60</a> <em> * @param c a character value.</em> -<a name="61" href="#61">61</a> <em> * @return a Character instance representing c.</em> -<a name="62" href="#62">62</a> <em> */</em> -<a name="63" href="#63">63</a> <strong>private</strong> <strong>static</strong> Character valueOf(<strong>final</strong> <strong>char</strong> c) { -<a name="64" href="#64">64</a> <strong>return</strong> <strong>new</strong> Character(c); -<a name="65" href="#65">65</a> } -<a name="66" href="#66">66</a> -<a name="67" href="#67">67</a> <em>/**<em>*</em></em> -<a name="68" href="#68">68</a> <em> * Returns a Byte instance representing the specified byte.</em> -<a name="69" href="#69">69</a> <em> * Byte.valueOf was added in JDK 1.5.</em> -<a name="70" href="#70">70</a> <em> * @param b a byte value.</em> -<a name="71" href="#71">71</a> <em> * @return a Byte instance representing b.</em> -<a name="72" href="#72">72</a> <em> */</em> -<a name="73" href="#73">73</a> <strong>private</strong> <strong>static</strong> Byte valueOf(<strong>final</strong> byte b) { -<a name="74" href="#74">74</a> <strong>return</strong> <strong>new</strong> Byte(b); -<a name="75" href="#75">75</a> } -<a name="76" href="#76">76</a> -<a name="77" href="#77">77</a> <em>/**<em>*</em></em> -<a name="78" href="#78">78</a> <em> * Returns a Short instance representing the specified short.</em> -<a name="79" href="#79">79</a> <em> * Short.valueOf was added in JDK 1.5.</em> -<a name="80" href="#80">80</a> <em> * @param b a short value.</em> -<a name="81" href="#81">81</a> <em> * @return a Byte instance representing b.</em> -<a name="82" href="#82">82</a> <em> */</em> -<a name="83" href="#83">83</a> <strong>private</strong> <strong>static</strong> Short valueOf(<strong>final</strong> <strong>short</strong> b) { -<a name="84" href="#84">84</a> <strong>return</strong> <strong>new</strong> Short(b); -<a name="85" href="#85">85</a> } -<a name="86" href="#86">86</a> -<a name="87" href="#87">87</a> <em>/**<em>*</em></em> -<a name="88" href="#88">88</a> <em> * Returns an Integer instance representing the specified int.</em> -<a name="89" href="#89">89</a> <em> * Integer.valueOf was added in JDK 1.5.</em> -<a name="90" href="#90">90</a> <em> * @param b an int value.</em> -<a name="91" href="#91">91</a> <em> * @return an Integer instance representing b.</em> -<a name="92" href="#92">92</a> <em> */</em> -<a name="93" href="#93">93</a> <strong>private</strong> <strong>static</strong> Integer valueOf(<strong>final</strong> <strong>int</strong> b) { -<a name="94" href="#94">94</a> <strong>return</strong> <strong>new</strong> Integer(b); -<a name="95" href="#95">95</a> } -<a name="96" href="#96">96</a> -<a name="97" href="#97">97</a> <em>/**<em>*</em></em> -<a name="98" href="#98">98</a> <em> * Returns a Long instance representing the specified long.</em> -<a name="99" href="#99">99</a> <em> * Long.valueOf was added in JDK 1.5.</em> -<a name="100" href="#100">100</a> <em> * @param b a long value.</em> -<a name="101" href="#101">101</a> <em> * @return a Long instance representing b.</em> -<a name="102" href="#102">102</a> <em> */</em> -<a name="103" href="#103">103</a> <strong>private</strong> <strong>static</strong> Long valueOf(<strong>final</strong> <strong>long</strong> b) { -<a name="104" href="#104">104</a> <strong>return</strong> <strong>new</strong> Long(b); -<a name="105" href="#105">105</a> } -<a name="106" href="#106">106</a> -<a name="107" href="#107">107</a> <em>/**<em>*</em></em> -<a name="108" href="#108">108</a> <em> * Returns a Float instance representing the specified float.</em> -<a name="109" href="#109">109</a> <em> * Float.valueOf was added in JDK 1.5.</em> -<a name="110" href="#110">110</a> <em> * @param b a float value.</em> -<a name="111" href="#111">111</a> <em> * @return a Float instance representing b.</em> -<a name="112" href="#112">112</a> <em> */</em> -<a name="113" href="#113">113</a> <strong>private</strong> <strong>static</strong> Float valueOf(<strong>final</strong> <strong>float</strong> b) { -<a name="114" href="#114">114</a> <strong>return</strong> <strong>new</strong> Float(b); -<a name="115" href="#115">115</a> } -<a name="116" href="#116">116</a> -<a name="117" href="#117">117</a> <em>/**<em>*</em></em> -<a name="118" href="#118">118</a> <em> * Returns a Double instance representing the specified double.</em> -<a name="119" href="#119">119</a> <em> * Double.valueOf was added in JDK 1.5.</em> -<a name="120" href="#120">120</a> <em> * @param b a double value.</em> -<a name="121" href="#121">121</a> <em> * @return a Byte instance representing b.</em> -<a name="122" href="#122">122</a> <em> */</em> -<a name="123" href="#123">123</a> <strong>private</strong> <strong>static</strong> Double valueOf(<strong>final</strong> <strong>double</strong> b) { -<a name="124" href="#124">124</a> <strong>return</strong> <strong>new</strong> Double(b); -<a name="125" href="#125">125</a> } -<a name="126" href="#126">126</a> -<a name="127" href="#127">127</a> -<a name="128" href="#128">128</a> -<a name="129" href="#129">129</a> <em>/**<em>*</em></em> -<a name="130" href="#130">130</a> <em> * Create new array.</em> -<a name="131" href="#131">131</a> <em> * @param param1 parameter 1.</em> -<a name="132" href="#132">132</a> <em> * @return new array.</em> -<a name="133" href="#133">133</a> <em> */</em> -<a name="134" href="#134">134</a> <strong>private</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1) { -<a name="135" href="#135">135</a> <strong>return</strong> <strong>new</strong> Object[] { -<a name="136" href="#136">136</a> param1 -<a name="137" href="#137">137</a> }; -<a name="138" href="#138">138</a> } -<a name="139" href="#139">139</a> -<a name="140" href="#140">140</a> <em>/**<em>*</em></em> -<a name="141" href="#141">141</a> <em> * Create new array.</em> -<a name="142" href="#142">142</a> <em> * @param param1 parameter 1.</em> -<a name="143" href="#143">143</a> <em> * @param param2 parameter 2.</em> -<a name="144" href="#144">144</a> <em> * @return new array.</em> -<a name="145" href="#145">145</a> <em> */</em> -<a name="146" href="#146">146</a> <strong>private</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1, -<a name="147" href="#147">147</a> <strong>final</strong> Object param2) { -<a name="148" href="#148">148</a> <strong>return</strong> <strong>new</strong> Object[] { -<a name="149" href="#149">149</a> param1, param2 -<a name="150" href="#150">150</a> }; -<a name="151" href="#151">151</a> } -<a name="152" href="#152">152</a> -<a name="153" href="#153">153</a> <em>/**<em>*</em></em> -<a name="154" href="#154">154</a> <em> * Create new array.</em> -<a name="155" href="#155">155</a> <em> * @param param1 parameter 1.</em> -<a name="156" href="#156">156</a> <em> * @param param2 parameter 2.</em> -<a name="157" href="#157">157</a> <em> * @param param3 parameter 3.</em> -<a name="158" href="#158">158</a> <em> * @return new array.</em> -<a name="159" href="#159">159</a> <em> */</em> -<a name="160" href="#160">160</a> <strong>private</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1, -<a name="161" href="#161">161</a> <strong>final</strong> Object param2, -<a name="162" href="#162">162</a> <strong>final</strong> Object param3) { -<a name="163" href="#163">163</a> <strong>return</strong> <strong>new</strong> Object[] { -<a name="164" href="#164">164</a> param1, param2, param3 -<a name="165" href="#165">165</a> }; -<a name="166" href="#166">166</a> } -<a name="167" href="#167">167</a> -<a name="168" href="#168">168</a> <em>/**<em>*</em></em> -<a name="169" href="#169">169</a> <em> * Create new array.</em> -<a name="170" href="#170">170</a> <em> * @param param1 parameter 1.</em> -<a name="171" href="#171">171</a> <em> * @param param2 parameter 2.</em> -<a name="172" href="#172">172</a> <em> * @param param3 parameter 3.</em> -<a name="173" href="#173">173</a> <em> * @param param4 parameter 4.</em> -<a name="174" href="#174">174</a> <em> * @return new array.</em> -<a name="175" href="#175">175</a> <em> */</em> -<a name="176" href="#176">176</a> <strong>private</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1, -<a name="177" href="#177">177</a> <strong>final</strong> Object param2, -<a name="178" href="#178">178</a> <strong>final</strong> Object param3, -<a name="179" href="#179">179</a> <strong>final</strong> Object param4) { -<a name="180" href="#180">180</a> <strong>return</strong> <strong>new</strong> Object[] { -<a name="181" href="#181">181</a> param1, param2, param3, param4 -<a name="182" href="#182">182</a> }; -<a name="183" href="#183">183</a> } -<a name="184" href="#184">184</a> -<a name="185" href="#185">185</a> -<a name="186" href="#186">186</a> <em>/**<em>*</em></em> -<a name="187" href="#187">187</a> <em> * Formats arguments using SLF4J-like formatter.</em> -<a name="188" href="#188">188</a> <em> * @param pattern pattern, may be malformed.</em> -<a name="189" href="#189">189</a> <em> * @param arguments arguments.</em> -<a name="190" href="#190">190</a> <em> * @return Message string</em> -<a name="191" href="#191">191</a> <em> */</em> -<a name="192" href="#192">192</a> <strong>private</strong> <strong>static</strong> String format(<strong>final</strong> String pattern, -<a name="193" href="#193">193</a> <strong>final</strong> Object[] arguments) { -<a name="194" href="#194">194</a> <strong>if</strong> (arguments == <strong>null</strong> || pattern == <strong>null</strong>) { -<a name="195" href="#195">195</a> <strong>return</strong> pattern; -<a name="196" href="#196">196</a> } -<a name="197" href="#197">197</a> StringBuffer buf = <strong>new</strong> StringBuffer(pattern); -<a name="198" href="#198">198</a> <strong>int</strong> index = 0; -<a name="199" href="#199">199</a> <strong>int</strong> pos = buf.indexOf(<span class="string">"{"</span>); -<a name="200" href="#200">200</a> <strong>while</strong> (pos >= 0 &amp;&amp; pos &lt; buf.length() - 1 &amp;&amp; index &lt; arguments.length) { -<a name="201" href="#201">201</a> <strong>if</strong> (buf.charAt(pos + 1) == '}') { -<a name="202" href="#202">202</a> String subst = String.valueOf(arguments[index++]); -<a name="203" href="#203">203</a> buf.replace(pos, pos + 2, subst); -<a name="204" href="#204">204</a> pos += subst.length(); -<a name="205" href="#205">205</a> } <strong>else</strong> { -<a name="206" href="#206">206</a> pos = buf.indexOf(<span class="string">"{"</span>, pos + 1); -<a name="207" href="#207">207</a> } -<a name="208" href="#208">208</a> } -<a name="209" href="#209">209</a> <strong>return</strong> buf.toString(); -<a name="210" href="#210">210</a> } -<a name="211" href="#211">211</a> -<a name="212" href="#212">212</a> <em>/**<em>*</em></em> -<a name="213" href="#213">213</a> <em> * Formats arguments using MessageFormat.</em> -<a name="214" href="#214">214</a> <em> * @param pattern pattern, may be malformed.</em> -<a name="215" href="#215">215</a> <em> * @param arg0 argument, may be null or mismatched.</em> -<a name="216" href="#216">216</a> <em> * @return Message string</em> -<a name="217" href="#217">217</a> <em> */</em> -<a name="218" href="#218">218</a> <strong>private</strong> <strong>static</strong> String format(<strong>final</strong> String pattern, <strong>final</strong> Object arg0) { -<a name="219" href="#219">219</a> <strong>return</strong> format(pattern, toArray(arg0)); -<a name="220" href="#220">220</a> } -<a name="221" href="#221">221</a> -<a name="222" href="#222">222</a> <em>/**<em>*</em></em> -<a name="223" href="#223">223</a> <em> * Formats arguments using MessageFormat using a pattern from</em> -<a name="224" href="#224">224</a> <em> * a resource bundle.</em> -<a name="225" href="#225">225</a> <em> * @param resourceBundleName name of resource bundle, may be null.</em> -<a name="226" href="#226">226</a> <em> * @param key key for pattern in resource bundle, may be null.</em> -<a name="227" href="#227">227</a> <em> * @param arguments arguments, may be null or mismatched.</em> -<a name="228" href="#228">228</a> <em> * @return Message string or null</em> -<a name="229" href="#229">229</a> <em> */</em> -<a name="230" href="#230">230</a> <strong>private</strong> <strong>static</strong> String format( -<a name="231" href="#231">231</a> <strong>final</strong> String resourceBundleName, -<a name="232" href="#232">232</a> <strong>final</strong> String key, -<a name="233" href="#233">233</a> <strong>final</strong> Object[] arguments) { -<a name="234" href="#234">234</a> String pattern; -<a name="235" href="#235">235</a> <strong>if</strong> (resourceBundleName != <strong>null</strong>) { -<a name="236" href="#236">236</a> <strong>try</strong> { -<a name="237" href="#237">237</a> ResourceBundle bundle = -<a name="238" href="#238">238</a> ResourceBundle.getBundle(resourceBundleName); -<a name="239" href="#239">239</a> pattern = bundle.getString(key); -<a name="240" href="#240">240</a> } <strong>catch</strong> (Exception ex) { -<a name="241" href="#241">241</a> pattern = key; -<a name="242" href="#242">242</a> } -<a name="243" href="#243">243</a> } <strong>else</strong> { -<a name="244" href="#244">244</a> pattern = key; -<a name="245" href="#245">245</a> } -<a name="246" href="#246">246</a> <strong>return</strong> format(pattern, arguments); -<a name="247" href="#247">247</a> } -<a name="248" href="#248">248</a> -<a name="249" href="#249">249</a> -<a name="250" href="#250">250</a> <em>/**<em>*</em></em> -<a name="251" href="#251">251</a> <em> * Fully Qualified Class Name of this class.</em> -<a name="252" href="#252">252</a> <em> */</em> -<a name="253" href="#253">253</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String FQCN = LogSF.<strong>class</strong>.getName(); -<a name="254" href="#254">254</a> -<a name="255" href="#255">255</a> <em>/**<em>*</em></em> -<a name="256" href="#256">256</a> <em> * Equivalent of Logger.forcedLog.</em> -<a name="257" href="#257">257</a> <em> *</em> -<a name="258" href="#258">258</a> <em> * @param logger logger, may not be null.</em> -<a name="259" href="#259">259</a> <em> * @param level level, may not be null.</em> -<a name="260" href="#260">260</a> <em> * @param msg message, may be null.</em> -<a name="261" href="#261">261</a> <em> */</em> -<a name="262" href="#262">262</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> forcedLog(<strong>final</strong> Logger logger, -<a name="263" href="#263">263</a> <strong>final</strong> Level level, -<a name="264" href="#264">264</a> <strong>final</strong> String msg) { -<a name="265" href="#265">265</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, level, msg, <strong>null</strong>)); -<a name="266" href="#266">266</a> } -<a name="267" href="#267">267</a> -<a name="268" href="#268">268</a> <em>/**<em>*</em></em> -<a name="269" href="#269">269</a> <em> * Equivalent of Logger.forcedLog.</em> -<a name="270" href="#270">270</a> <em> *</em> -<a name="271" href="#271">271</a> <em> * @param logger logger, may not be null.</em> -<a name="272" href="#272">272</a> <em> * @param level level, may not be null.</em> -<a name="273" href="#273">273</a> <em> * @param msg message, may be null.</em> -<a name="274" href="#274">274</a> <em> * @param t throwable.</em> -<a name="275" href="#275">275</a> <em> */</em> -<a name="276" href="#276">276</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> forcedLog(<strong>final</strong> Logger logger, -<a name="277" href="#277">277</a> <strong>final</strong> Level level, -<a name="278" href="#278">278</a> <strong>final</strong> String msg, -<a name="279" href="#279">279</a> <strong>final</strong> Throwable t) { -<a name="280" href="#280">280</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, level, msg, t)); -<a name="281" href="#281">281</a> } -<a name="282" href="#282">282</a> <em>/**<em>*</em></em> -<a name="283" href="#283">283</a> <em> * Log a parameterized message at trace level.</em> -<a name="284" href="#284">284</a> <em> * @param logger logger, may not be null.</em> -<a name="285" href="#285">285</a> <em> * @param pattern pattern, may be null.</em> -<a name="286" href="#286">286</a> <em> * @param arguments an array of arguments to be</em> -<a name="287" href="#287">287</a> <em> * formatted and substituted.</em> -<a name="288" href="#288">288</a> <em> */</em> -<a name="289" href="#289">289</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="290" href="#290">290</a> <strong>final</strong> Object[] arguments) { -<a name="291" href="#291">291</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="292" href="#292">292</a> forcedLog(logger, TRACE, format(pattern, arguments)); -<a name="293" href="#293">293</a> } -<a name="294" href="#294">294</a> } -<a name="295" href="#295">295</a> -<a name="296" href="#296">296</a> <em>/**<em>*</em></em> -<a name="297" href="#297">297</a> <em> * Log a parameterized message at debug level.</em> -<a name="298" href="#298">298</a> <em> * @param logger logger, may not be null.</em> -<a name="299" href="#299">299</a> <em> * @param pattern pattern, may be null.</em> -<a name="300" href="#300">300</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="301" href="#301">301</a> <em> */</em> -<a name="302" href="#302">302</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="303" href="#303">303</a> <strong>final</strong> Object[] arguments) { -<a name="304" href="#304">304</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="305" href="#305">305</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments)); -<a name="306" href="#306">306</a> } -<a name="307" href="#307">307</a> } -<a name="308" href="#308">308</a> -<a name="309" href="#309">309</a> <em>/**<em>*</em></em> -<a name="310" href="#310">310</a> <em> * Log a parameterized message at info level.</em> -<a name="311" href="#311">311</a> <em> * @param logger logger, may not be null.</em> -<a name="312" href="#312">312</a> <em> * @param pattern pattern, may be null.</em> -<a name="313" href="#313">313</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="314" href="#314">314</a> <em> */</em> -<a name="315" href="#315">315</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="316" href="#316">316</a> <strong>final</strong> Object[] arguments) { -<a name="317" href="#317">317</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="318" href="#318">318</a> forcedLog(logger, Level.INFO, format(pattern, arguments)); -<a name="319" href="#319">319</a> } -<a name="320" href="#320">320</a> } -<a name="321" href="#321">321</a> -<a name="322" href="#322">322</a> <em>/**<em>*</em></em> -<a name="323" href="#323">323</a> <em> * Log a parameterized message at warn level.</em> -<a name="324" href="#324">324</a> <em> * @param logger logger, may not be null.</em> -<a name="325" href="#325">325</a> <em> * @param pattern pattern, may be null.</em> -<a name="326" href="#326">326</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="327" href="#327">327</a> <em> */</em> -<a name="328" href="#328">328</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="329" href="#329">329</a> <strong>final</strong> Object[] arguments) { -<a name="330" href="#330">330</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="331" href="#331">331</a> forcedLog(logger, Level.WARN, format(pattern, arguments)); -<a name="332" href="#332">332</a> } -<a name="333" href="#333">333</a> } -<a name="334" href="#334">334</a> -<a name="335" href="#335">335</a> <em>/**<em>*</em></em> -<a name="336" href="#336">336</a> <em> * Log a parameterized message at error level.</em> -<a name="337" href="#337">337</a> <em> * @param logger logger, may not be null.</em> -<a name="338" href="#338">338</a> <em> * @param pattern pattern, may be null.</em> -<a name="339" href="#339">339</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="340" href="#340">340</a> <em> */</em> -<a name="341" href="#341">341</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> error(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="342" href="#342">342</a> <strong>final</strong> Object[] arguments) { -<a name="343" href="#343">343</a> <strong>if</strong> (logger.isEnabledFor(Level.ERROR)) { -<a name="344" href="#344">344</a> forcedLog(logger, Level.ERROR, format(pattern, arguments)); -<a name="345" href="#345">345</a> } -<a name="346" href="#346">346</a> } -<a name="347" href="#347">347</a> -<a name="348" href="#348">348</a> <em>/**<em>*</em></em> -<a name="349" href="#349">349</a> <em> * Log a parameterized message at fatal level.</em> -<a name="350" href="#350">350</a> <em> * @param logger logger, may not be null.</em> -<a name="351" href="#351">351</a> <em> * @param pattern pattern, may be null.</em> -<a name="352" href="#352">352</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="353" href="#353">353</a> <em> */</em> -<a name="354" href="#354">354</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> fatal(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="355" href="#355">355</a> <strong>final</strong> Object[] arguments) { -<a name="356" href="#356">356</a> <strong>if</strong> (logger.isEnabledFor(Level.FATAL)) { -<a name="357" href="#357">357</a> forcedLog(logger, Level.FATAL, format(pattern, arguments)); -<a name="358" href="#358">358</a> } -<a name="359" href="#359">359</a> } -<a name="360" href="#360">360</a> -<a name="361" href="#361">361</a> <em>/**<em>*</em></em> -<a name="362" href="#362">362</a> <em> * Log a parameterized message at trace level.</em> -<a name="363" href="#363">363</a> <em> * @param logger logger, may not be null.</em> -<a name="364" href="#364">364</a> <em> * @param t throwable, may be null.</em> -<a name="365" href="#365">365</a> <em> * @param pattern pattern, may be null.</em> -<a name="366" href="#366">366</a> <em> * @param arguments an array of arguments to be</em> -<a name="367" href="#367">367</a> <em> * formatted and substituted.</em> -<a name="368" href="#368">368</a> <em> */</em> -<a name="369" href="#369">369</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, -<a name="370" href="#370">370</a> <strong>final</strong> Throwable t, -<a name="371" href="#371">371</a> <strong>final</strong> String pattern, -<a name="372" href="#372">372</a> <strong>final</strong> Object[] arguments) { -<a name="373" href="#373">373</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="374" href="#374">374</a> forcedLog(logger, TRACE, format(pattern, arguments), t); -<a name="375" href="#375">375</a> } -<a name="376" href="#376">376</a> } -<a name="377" href="#377">377</a> -<a name="378" href="#378">378</a> <em>/**<em>*</em></em> -<a name="379" href="#379">379</a> <em> * Log a parameterized message at debug level.</em> -<a name="380" href="#380">380</a> <em> * @param logger logger, may not be null.</em> -<a name="381" href="#381">381</a> <em> * @param t throwable, may be null.</em> -<a name="382" href="#382">382</a> <em> * @param pattern pattern, may be null.</em> -<a name="383" href="#383">383</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="384" href="#384">384</a> <em> */</em> -<a name="385" href="#385">385</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, -<a name="386" href="#386">386</a> <strong>final</strong> Throwable t, -<a name="387" href="#387">387</a> <strong>final</strong> String pattern, -<a name="388" href="#388">388</a> <strong>final</strong> Object[] arguments) { -<a name="389" href="#389">389</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="390" href="#390">390</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments), t); -<a name="391" href="#391">391</a> } -<a name="392" href="#392">392</a> } -<a name="393" href="#393">393</a> -<a name="394" href="#394">394</a> <em>/**<em>*</em></em> -<a name="395" href="#395">395</a> <em> * Log a parameterized message at info level.</em> -<a name="396" href="#396">396</a> <em> * @param logger logger, may not be null.</em> -<a name="397" href="#397">397</a> <em> * @param t throwable, may be null.</em> -<a name="398" href="#398">398</a> <em> * @param pattern pattern, may be null.</em> -<a name="399" href="#399">399</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="400" href="#400">400</a> <em> */</em> -<a name="401" href="#401">401</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, -<a name="402" href="#402">402</a> <strong>final</strong> Throwable t, -<a name="403" href="#403">403</a> <strong>final</strong> String pattern, -<a name="404" href="#404">404</a> <strong>final</strong> Object[] arguments) { -<a name="405" href="#405">405</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="406" href="#406">406</a> forcedLog(logger, Level.INFO, format(pattern, arguments), t); -<a name="407" href="#407">407</a> } -<a name="408" href="#408">408</a> } -<a name="409" href="#409">409</a> -<a name="410" href="#410">410</a> <em>/**<em>*</em></em> -<a name="411" href="#411">411</a> <em> * Log a parameterized message at warn level.</em> -<a name="412" href="#412">412</a> <em> * @param logger logger, may not be null.</em> -<a name="413" href="#413">413</a> <em> * @param t throwable, may be null.</em> -<a name="414" href="#414">414</a> <em> * @param pattern pattern, may be null.</em> -<a name="415" href="#415">415</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="416" href="#416">416</a> <em> */</em> -<a name="417" href="#417">417</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, -<a name="418" href="#418">418</a> <strong>final</strong> Throwable t, -<a name="419" href="#419">419</a> <strong>final</strong> String pattern, -<a name="420" href="#420">420</a> <strong>final</strong> Object[] arguments) { -<a name="421" href="#421">421</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="422" href="#422">422</a> forcedLog(logger, Level.WARN, format(pattern, arguments), t); -<a name="423" href="#423">423</a> } -<a name="424" href="#424">424</a> } -<a name="425" href="#425">425</a> -<a name="426" href="#426">426</a> <em>/**<em>*</em></em> -<a name="427" href="#427">427</a> <em> * Log a parameterized message at error level.</em> -<a name="428" href="#428">428</a> <em> * @param logger logger, may not be null.</em> -<a name="429" href="#429">429</a> <em> * @param t throwable, may be null.</em> -<a name="430" href="#430">430</a> <em> * @param pattern pattern, may be null.</em> -<a name="431" href="#431">431</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="432" href="#432">432</a> <em> */</em> -<a name="433" href="#433">433</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> error(<strong>final</strong> Logger logger, -<a name="434" href="#434">434</a> <strong>final</strong> Throwable t, -<a name="435" href="#435">435</a> <strong>final</strong> String pattern, -<a name="436" href="#436">436</a> <strong>final</strong> Object[] arguments) { -<a name="437" href="#437">437</a> <strong>if</strong> (logger.isEnabledFor(Level.ERROR)) { -<a name="438" href="#438">438</a> forcedLog(logger, Level.ERROR, format(pattern, arguments), t); -<a name="439" href="#439">439</a> } -<a name="440" href="#440">440</a> } -<a name="441" href="#441">441</a> -<a name="442" href="#442">442</a> <em>/**<em>*</em></em> -<a name="443" href="#443">443</a> <em> * Log a parameterized message at fatal level.</em> -<a name="444" href="#444">444</a> <em> * @param logger logger, may not be null.</em> -<a name="445" href="#445">445</a> <em> * @param t throwable, may be null.</em> -<a name="446" href="#446">446</a> <em> * @param pattern pattern, may be null.</em> -<a name="447" href="#447">447</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> -<a name="448" href="#448">448</a> <em> */</em> -<a name="449" href="#449">449</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> fatal(<strong>final</strong> Logger logger, -<a name="450" href="#450">450</a> <strong>final</strong> Throwable t, -<a name="451" href="#451">451</a> <strong>final</strong> String pattern, -<a name="452" href="#452">452</a> <strong>final</strong> Object[] arguments) { -<a name="453" href="#453">453</a> <strong>if</strong> (logger.isEnabledFor(Level.FATAL)) { -<a name="454" href="#454">454</a> forcedLog(logger, Level.FATAL, format(pattern, arguments), t); -<a name="455" href="#455">455</a> } -<a name="456" href="#456">456</a> } -<a name="457" href="#457">457</a> -<a name="458" href="#458">458</a> -<a name="459" href="#459">459</a> -<a name="460" href="#460">460</a> <em>/**<em>*</em></em> -<a name="461" href="#461">461</a> <em> * Log a parameterized message at trace level.</em> -<a name="462" href="#462">462</a> <em> * @param logger logger, may not be null.</em> -<a name="463" href="#463">463</a> <em> * @param pattern pattern, may be null.</em> -<a name="464" href="#464">464</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="465" href="#465">465</a> <em> */</em> -<a name="466" href="#466">466</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="467" href="#467">467</a> <strong>final</strong> <strong>boolean</strong> argument) { -<a name="468" href="#468">468</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="469" href="#469">469</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="470" href="#470">470</a> } -<a name="471" href="#471">471</a> } -<a name="472" href="#472">472</a> -<a name="473" href="#473">473</a> <em>/**<em>*</em></em> -<a name="474" href="#474">474</a> <em> * Log a parameterized message at trace level.</em> -<a name="475" href="#475">475</a> <em> * @param logger logger, may not be null.</em> -<a name="476" href="#476">476</a> <em> * @param pattern pattern, may be null.</em> -<a name="477" href="#477">477</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="478" href="#478">478</a> <em> */</em> -<a name="479" href="#479">479</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="480" href="#480">480</a> <strong>final</strong> <strong>char</strong> argument) { -<a name="481" href="#481">481</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="482" href="#482">482</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="483" href="#483">483</a> } -<a name="484" href="#484">484</a> } -<a name="485" href="#485">485</a> -<a name="486" href="#486">486</a> <em>/**<em>*</em></em> -<a name="487" href="#487">487</a> <em> * Log a parameterized message at trace level.</em> -<a name="488" href="#488">488</a> <em> * @param logger logger, may not be null.</em> -<a name="489" href="#489">489</a> <em> * @param pattern pattern, may be null.</em> -<a name="490" href="#490">490</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="491" href="#491">491</a> <em> */</em> -<a name="492" href="#492">492</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="493" href="#493">493</a> <strong>final</strong> byte argument) { -<a name="494" href="#494">494</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="495" href="#495">495</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="496" href="#496">496</a> } -<a name="497" href="#497">497</a> } -<a name="498" href="#498">498</a> -<a name="499" href="#499">499</a> <em>/**<em>*</em></em> -<a name="500" href="#500">500</a> <em> * Log a parameterized message at trace level.</em> -<a name="501" href="#501">501</a> <em> * @param logger logger, may not be null.</em> -<a name="502" href="#502">502</a> <em> * @param pattern pattern, may be null.</em> -<a name="503" href="#503">503</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="504" href="#504">504</a> <em> */</em> -<a name="505" href="#505">505</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="506" href="#506">506</a> <strong>final</strong> <strong>short</strong> argument) { -<a name="507" href="#507">507</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="508" href="#508">508</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="509" href="#509">509</a> } -<a name="510" href="#510">510</a> } -<a name="511" href="#511">511</a> -<a name="512" href="#512">512</a> <em>/**<em>*</em></em> -<a name="513" href="#513">513</a> <em> * Log a parameterized message at trace level.</em> -<a name="514" href="#514">514</a> <em> * @param logger logger, may not be null.</em> -<a name="515" href="#515">515</a> <em> * @param pattern pattern, may be null.</em> -<a name="516" href="#516">516</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="517" href="#517">517</a> <em> */</em> -<a name="518" href="#518">518</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="519" href="#519">519</a> <strong>final</strong> <strong>int</strong> argument) { -<a name="520" href="#520">520</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="521" href="#521">521</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="522" href="#522">522</a> } -<a name="523" href="#523">523</a> } -<a name="524" href="#524">524</a> -<a name="525" href="#525">525</a> <em>/**<em>*</em></em> -<a name="526" href="#526">526</a> <em> * Log a parameterized message at trace level.</em> -<a name="527" href="#527">527</a> <em> * @param logger logger, may not be null.</em> -<a name="528" href="#528">528</a> <em> * @param pattern pattern, may be null.</em> -<a name="529" href="#529">529</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="530" href="#530">530</a> <em> */</em> -<a name="531" href="#531">531</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="532" href="#532">532</a> <strong>final</strong> <strong>long</strong> argument) { -<a name="533" href="#533">533</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="534" href="#534">534</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="535" href="#535">535</a> } -<a name="536" href="#536">536</a> } -<a name="537" href="#537">537</a> -<a name="538" href="#538">538</a> <em>/**<em>*</em></em> -<a name="539" href="#539">539</a> <em> * Log a parameterized message at trace level.</em> -<a name="540" href="#540">540</a> <em> * @param logger logger, may not be null.</em> -<a name="541" href="#541">541</a> <em> * @param pattern pattern, may be null.</em> -<a name="542" href="#542">542</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="543" href="#543">543</a> <em> */</em> -<a name="544" href="#544">544</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="545" href="#545">545</a> <strong>final</strong> <strong>float</strong> argument) { -<a name="546" href="#546">546</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="547" href="#547">547</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="548" href="#548">548</a> } -<a name="549" href="#549">549</a> } -<a name="550" href="#550">550</a> -<a name="551" href="#551">551</a> <em>/**<em>*</em></em> -<a name="552" href="#552">552</a> <em> * Log a parameterized message at trace level.</em> -<a name="553" href="#553">553</a> <em> * @param logger logger, may not be null.</em> -<a name="554" href="#554">554</a> <em> * @param pattern pattern, may be null.</em> -<a name="555" href="#555">555</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="556" href="#556">556</a> <em> */</em> -<a name="557" href="#557">557</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="558" href="#558">558</a> <strong>final</strong> <strong>double</strong> argument) { -<a name="559" href="#559">559</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="560" href="#560">560</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); -<a name="561" href="#561">561</a> } -<a name="562" href="#562">562</a> } -<a name="563" href="#563">563</a> -<a name="564" href="#564">564</a> <em>/**<em>*</em></em> -<a name="565" href="#565">565</a> <em> * Log a parameterized message at trace level.</em> -<a name="566" href="#566">566</a> <em> * @param logger logger, may not be null.</em> -<a name="567" href="#567">567</a> <em> * @param pattern pattern, may be null.</em> -<a name="568" href="#568">568</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="569" href="#569">569</a> <em> */</em> -<a name="570" href="#570">570</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="571" href="#571">571</a> <strong>final</strong> Object argument) { -<a name="572" href="#572">572</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="573" href="#573">573</a> forcedLog(logger, TRACE, format(pattern, argument)); -<a name="574" href="#574">574</a> } -<a name="575" href="#575">575</a> } -<a name="576" href="#576">576</a> -<a name="577" href="#577">577</a> <em>/**<em>*</em></em> -<a name="578" href="#578">578</a> <em> * Log a parameterized message at trace level.</em> -<a name="579" href="#579">579</a> <em> * @param logger logger, may not be null.</em> -<a name="580" href="#580">580</a> <em> * @param pattern pattern, may be null.</em> -<a name="581" href="#581">581</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="582" href="#582">582</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="583" href="#583">583</a> <em> */</em> -<a name="584" href="#584">584</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="585" href="#585">585</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { -<a name="586" href="#586">586</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="587" href="#587">587</a> forcedLog(logger, TRACE, -<a name="588" href="#588">588</a> format(pattern, toArray(arg0, arg1))); -<a name="589" href="#589">589</a> } -<a name="590" href="#590">590</a> } -<a name="591" href="#591">591</a> -<a name="592" href="#592">592</a> <em>/**<em>*</em></em> -<a name="593" href="#593">593</a> <em> * Log a parameterized message at trace level.</em> -<a name="594" href="#594">594</a> <em> * @param logger logger, may not be null.</em> -<a name="595" href="#595">595</a> <em> * @param pattern pattern, may be null.</em> -<a name="596" href="#596">596</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="597" href="#597">597</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="598" href="#598">598</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="599" href="#599">599</a> <em> */</em> -<a name="600" href="#600">600</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="601" href="#601">601</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { -<a name="602" href="#602">602</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="603" href="#603">603</a> forcedLog(logger, TRACE, -<a name="604" href="#604">604</a> format(pattern, toArray(arg0, arg1, arg2))); -<a name="605" href="#605">605</a> } -<a name="606" href="#606">606</a> } -<a name="607" href="#607">607</a> -<a name="608" href="#608">608</a> <em>/**<em>*</em></em> -<a name="609" href="#609">609</a> <em> * Log a parameterized message at trace level.</em> -<a name="610" href="#610">610</a> <em> * @param logger logger, may not be null.</em> -<a name="611" href="#611">611</a> <em> * @param pattern pattern, may be null.</em> -<a name="612" href="#612">612</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="613" href="#613">613</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="614" href="#614">614</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="615" href="#615">615</a> <em> * @param arg3 a value to be formatted and substituted.</em> -<a name="616" href="#616">616</a> <em> */</em> -<a name="617" href="#617">617</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="618" href="#618">618</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, -<a name="619" href="#619">619</a> <strong>final</strong> Object arg3) { -<a name="620" href="#620">620</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { -<a name="621" href="#621">621</a> forcedLog(logger, TRACE, -<a name="622" href="#622">622</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); -<a name="623" href="#623">623</a> } -<a name="624" href="#624">624</a> } -<a name="625" href="#625">625</a> -<a name="626" href="#626">626</a> <em>/**<em>*</em></em> -<a name="627" href="#627">627</a> <em> * Log a parameterized message at debug level.</em> -<a name="628" href="#628">628</a> <em> * @param logger logger, may not be null.</em> -<a name="629" href="#629">629</a> <em> * @param pattern pattern, may be null.</em> -<a name="630" href="#630">630</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="631" href="#631">631</a> <em> */</em> -<a name="632" href="#632">632</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="633" href="#633">633</a> <strong>final</strong> <strong>boolean</strong> argument) { -<a name="634" href="#634">634</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="635" href="#635">635</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="636" href="#636">636</a> } -<a name="637" href="#637">637</a> } -<a name="638" href="#638">638</a> -<a name="639" href="#639">639</a> <em>/**<em>*</em></em> -<a name="640" href="#640">640</a> <em> * Log a parameterized message at debug level.</em> -<a name="641" href="#641">641</a> <em> * @param logger logger, may not be null.</em> -<a name="642" href="#642">642</a> <em> * @param pattern pattern, may be null.</em> -<a name="643" href="#643">643</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="644" href="#644">644</a> <em> */</em> -<a name="645" href="#645">645</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="646" href="#646">646</a> <strong>final</strong> <strong>char</strong> argument) { -<a name="647" href="#647">647</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="648" href="#648">648</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="649" href="#649">649</a> } -<a name="650" href="#650">650</a> } -<a name="651" href="#651">651</a> -<a name="652" href="#652">652</a> <em>/**<em>*</em></em> -<a name="653" href="#653">653</a> <em> * Log a parameterized message at debug level.</em> -<a name="654" href="#654">654</a> <em> * @param logger logger, may not be null.</em> -<a name="655" href="#655">655</a> <em> * @param pattern pattern, may be null.</em> -<a name="656" href="#656">656</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="657" href="#657">657</a> <em> */</em> -<a name="658" href="#658">658</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="659" href="#659">659</a> <strong>final</strong> byte argument) { -<a name="660" href="#660">660</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="661" href="#661">661</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="662" href="#662">662</a> } -<a name="663" href="#663">663</a> } -<a name="664" href="#664">664</a> -<a name="665" href="#665">665</a> <em>/**<em>*</em></em> -<a name="666" href="#666">666</a> <em> * Log a parameterized message at debug level.</em> -<a name="667" href="#667">667</a> <em> * @param logger logger, may not be null.</em> -<a name="668" href="#668">668</a> <em> * @param pattern pattern, may be null.</em> -<a name="669" href="#669">669</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="670" href="#670">670</a> <em> */</em> -<a name="671" href="#671">671</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="672" href="#672">672</a> <strong>final</strong> <strong>short</strong> argument) { -<a name="673" href="#673">673</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="674" href="#674">674</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="675" href="#675">675</a> } -<a name="676" href="#676">676</a> } -<a name="677" href="#677">677</a> -<a name="678" href="#678">678</a> <em>/**<em>*</em></em> -<a name="679" href="#679">679</a> <em> * Log a parameterized message at debug level.</em> -<a name="680" href="#680">680</a> <em> * @param logger logger, may not be null.</em> -<a name="681" href="#681">681</a> <em> * @param pattern pattern, may be null.</em> -<a name="682" href="#682">682</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="683" href="#683">683</a> <em> */</em> -<a name="684" href="#684">684</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="685" href="#685">685</a> <strong>final</strong> <strong>int</strong> argument) { -<a name="686" href="#686">686</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="687" href="#687">687</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="688" href="#688">688</a> } -<a name="689" href="#689">689</a> } -<a name="690" href="#690">690</a> -<a name="691" href="#691">691</a> <em>/**<em>*</em></em> -<a name="692" href="#692">692</a> <em> * Log a parameterized message at debug level.</em> -<a name="693" href="#693">693</a> <em> * @param logger logger, may not be null.</em> -<a name="694" href="#694">694</a> <em> * @param pattern pattern, may be null.</em> -<a name="695" href="#695">695</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="696" href="#696">696</a> <em> */</em> -<a name="697" href="#697">697</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="698" href="#698">698</a> <strong>final</strong> <strong>long</strong> argument) { -<a name="699" href="#699">699</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="700" href="#700">700</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="701" href="#701">701</a> } -<a name="702" href="#702">702</a> } -<a name="703" href="#703">703</a> -<a name="704" href="#704">704</a> <em>/**<em>*</em></em> -<a name="705" href="#705">705</a> <em> * Log a parameterized message at debug level.</em> -<a name="706" href="#706">706</a> <em> * @param logger logger, may not be null.</em> -<a name="707" href="#707">707</a> <em> * @param pattern pattern, may be null.</em> -<a name="708" href="#708">708</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="709" href="#709">709</a> <em> */</em> -<a name="710" href="#710">710</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="711" href="#711">711</a> <strong>final</strong> <strong>float</strong> argument) { -<a name="712" href="#712">712</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="713" href="#713">713</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="714" href="#714">714</a> } -<a name="715" href="#715">715</a> } -<a name="716" href="#716">716</a> -<a name="717" href="#717">717</a> <em>/**<em>*</em></em> -<a name="718" href="#718">718</a> <em> * Log a parameterized message at debug level.</em> -<a name="719" href="#719">719</a> <em> * @param logger logger, may not be null.</em> -<a name="720" href="#720">720</a> <em> * @param pattern pattern, may be null.</em> -<a name="721" href="#721">721</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="722" href="#722">722</a> <em> */</em> -<a name="723" href="#723">723</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="724" href="#724">724</a> <strong>final</strong> <strong>double</strong> argument) { -<a name="725" href="#725">725</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="726" href="#726">726</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); -<a name="727" href="#727">727</a> } -<a name="728" href="#728">728</a> } -<a name="729" href="#729">729</a> -<a name="730" href="#730">730</a> <em>/**<em>*</em></em> -<a name="731" href="#731">731</a> <em> * Log a parameterized message at debug level.</em> -<a name="732" href="#732">732</a> <em> * @param logger logger, may not be null.</em> -<a name="733" href="#733">733</a> <em> * @param pattern pattern, may be null.</em> -<a name="734" href="#734">734</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="735" href="#735">735</a> <em> */</em> -<a name="736" href="#736">736</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="737" href="#737">737</a> <strong>final</strong> Object argument) { -<a name="738" href="#738">738</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="739" href="#739">739</a> forcedLog(logger, Level.DEBUG, format(pattern, argument)); -<a name="740" href="#740">740</a> } -<a name="741" href="#741">741</a> } -<a name="742" href="#742">742</a> -<a name="743" href="#743">743</a> <em>/**<em>*</em></em> -<a name="744" href="#744">744</a> <em> * Log a parameterized message at debug level.</em> -<a name="745" href="#745">745</a> <em> * @param logger logger, may not be null.</em> -<a name="746" href="#746">746</a> <em> * @param pattern pattern, may be null.</em> -<a name="747" href="#747">747</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="748" href="#748">748</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="749" href="#749">749</a> <em> */</em> -<a name="750" href="#750">750</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="751" href="#751">751</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { -<a name="752" href="#752">752</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="753" href="#753">753</a> forcedLog(logger, Level.DEBUG, -<a name="754" href="#754">754</a> format(pattern, toArray(arg0, arg1))); -<a name="755" href="#755">755</a> } -<a name="756" href="#756">756</a> } -<a name="757" href="#757">757</a> -<a name="758" href="#758">758</a> <em>/**<em>*</em></em> -<a name="759" href="#759">759</a> <em> * Log a parameterized message at debug level.</em> -<a name="760" href="#760">760</a> <em> * @param logger logger, may not be null.</em> -<a name="761" href="#761">761</a> <em> * @param pattern pattern, may be null.</em> -<a name="762" href="#762">762</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="763" href="#763">763</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="764" href="#764">764</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="765" href="#765">765</a> <em> */</em> -<a name="766" href="#766">766</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="767" href="#767">767</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { -<a name="768" href="#768">768</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="769" href="#769">769</a> forcedLog(logger, Level.DEBUG, -<a name="770" href="#770">770</a> format(pattern, toArray(arg0, arg1, arg2))); -<a name="771" href="#771">771</a> } -<a name="772" href="#772">772</a> } -<a name="773" href="#773">773</a> -<a name="774" href="#774">774</a> <em>/**<em>*</em></em> -<a name="775" href="#775">775</a> <em> * Log a parameterized message at debug level.</em> -<a name="776" href="#776">776</a> <em> * @param logger logger, may not be null.</em> -<a name="777" href="#777">777</a> <em> * @param pattern pattern, may be null.</em> -<a name="778" href="#778">778</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="779" href="#779">779</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="780" href="#780">780</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="781" href="#781">781</a> <em> * @param arg3 a value to be formatted and substituted.</em> -<a name="782" href="#782">782</a> <em> */</em> -<a name="783" href="#783">783</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="784" href="#784">784</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, -<a name="785" href="#785">785</a> <strong>final</strong> Object arg3) { -<a name="786" href="#786">786</a> <strong>if</strong> (logger.isDebugEnabled()) { -<a name="787" href="#787">787</a> forcedLog(logger, Level.DEBUG, -<a name="788" href="#788">788</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); -<a name="789" href="#789">789</a> } -<a name="790" href="#790">790</a> } -<a name="791" href="#791">791</a> -<a name="792" href="#792">792</a> <em>/**<em>*</em></em> -<a name="793" href="#793">793</a> <em> * Log a parameterized message at info level.</em> -<a name="794" href="#794">794</a> <em> * @param logger logger, may not be null.</em> -<a name="795" href="#795">795</a> <em> * @param pattern pattern, may be null.</em> -<a name="796" href="#796">796</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="797" href="#797">797</a> <em> */</em> -<a name="798" href="#798">798</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="799" href="#799">799</a> <strong>final</strong> <strong>boolean</strong> argument) { -<a name="800" href="#800">800</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="801" href="#801">801</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="802" href="#802">802</a> } -<a name="803" href="#803">803</a> } -<a name="804" href="#804">804</a> -<a name="805" href="#805">805</a> <em>/**<em>*</em></em> -<a name="806" href="#806">806</a> <em> * Log a parameterized message at info level.</em> -<a name="807" href="#807">807</a> <em> * @param logger logger, may not be null.</em> -<a name="808" href="#808">808</a> <em> * @param pattern pattern, may be null.</em> -<a name="809" href="#809">809</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="810" href="#810">810</a> <em> */</em> -<a name="811" href="#811">811</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="812" href="#812">812</a> <strong>final</strong> <strong>char</strong> argument) { -<a name="813" href="#813">813</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="814" href="#814">814</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="815" href="#815">815</a> } -<a name="816" href="#816">816</a> } -<a name="817" href="#817">817</a> -<a name="818" href="#818">818</a> <em>/**<em>*</em></em> -<a name="819" href="#819">819</a> <em> * Log a parameterized message at info level.</em> -<a name="820" href="#820">820</a> <em> * @param logger logger, may not be null.</em> -<a name="821" href="#821">821</a> <em> * @param pattern pattern, may be null.</em> -<a name="822" href="#822">822</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="823" href="#823">823</a> <em> */</em> -<a name="824" href="#824">824</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="825" href="#825">825</a> <strong>final</strong> byte argument) { -<a name="826" href="#826">826</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="827" href="#827">827</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="828" href="#828">828</a> } -<a name="829" href="#829">829</a> } -<a name="830" href="#830">830</a> -<a name="831" href="#831">831</a> <em>/**<em>*</em></em> -<a name="832" href="#832">832</a> <em> * Log a parameterized message at info level.</em> -<a name="833" href="#833">833</a> <em> * @param logger logger, may not be null.</em> -<a name="834" href="#834">834</a> <em> * @param pattern pattern, may be null.</em> -<a name="835" href="#835">835</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="836" href="#836">836</a> <em> */</em> -<a name="837" href="#837">837</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="838" href="#838">838</a> <strong>final</strong> <strong>short</strong> argument) { -<a name="839" href="#839">839</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="840" href="#840">840</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="841" href="#841">841</a> } -<a name="842" href="#842">842</a> } -<a name="843" href="#843">843</a> -<a name="844" href="#844">844</a> <em>/**<em>*</em></em> -<a name="845" href="#845">845</a> <em> * Log a parameterized message at info level.</em> -<a name="846" href="#846">846</a> <em> * @param logger logger, may not be null.</em> -<a name="847" href="#847">847</a> <em> * @param pattern pattern, may be null.</em> -<a name="848" href="#848">848</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="849" href="#849">849</a> <em> */</em> -<a name="850" href="#850">850</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="851" href="#851">851</a> <strong>final</strong> <strong>int</strong> argument) { -<a name="852" href="#852">852</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="853" href="#853">853</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="854" href="#854">854</a> } -<a name="855" href="#855">855</a> } -<a name="856" href="#856">856</a> -<a name="857" href="#857">857</a> <em>/**<em>*</em></em> -<a name="858" href="#858">858</a> <em> * Log a parameterized message at info level.</em> -<a name="859" href="#859">859</a> <em> * @param logger logger, may not be null.</em> -<a name="860" href="#860">860</a> <em> * @param pattern pattern, may be null.</em> -<a name="861" href="#861">861</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="862" href="#862">862</a> <em> */</em> -<a name="863" href="#863">863</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="864" href="#864">864</a> <strong>final</strong> <strong>long</strong> argument) { -<a name="865" href="#865">865</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="866" href="#866">866</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="867" href="#867">867</a> } -<a name="868" href="#868">868</a> } -<a name="869" href="#869">869</a> -<a name="870" href="#870">870</a> <em>/**<em>*</em></em> -<a name="871" href="#871">871</a> <em> * Log a parameterized message at info level.</em> -<a name="872" href="#872">872</a> <em> * @param logger logger, may not be null.</em> -<a name="873" href="#873">873</a> <em> * @param pattern pattern, may be null.</em> -<a name="874" href="#874">874</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="875" href="#875">875</a> <em> */</em> -<a name="876" href="#876">876</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="877" href="#877">877</a> <strong>final</strong> <strong>float</strong> argument) { -<a name="878" href="#878">878</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="879" href="#879">879</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="880" href="#880">880</a> } -<a name="881" href="#881">881</a> } -<a name="882" href="#882">882</a> -<a name="883" href="#883">883</a> <em>/**<em>*</em></em> -<a name="884" href="#884">884</a> <em> * Log a parameterized message at info level.</em> -<a name="885" href="#885">885</a> <em> * @param logger logger, may not be null.</em> -<a name="886" href="#886">886</a> <em> * @param pattern pattern, may be null.</em> -<a name="887" href="#887">887</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="888" href="#888">888</a> <em> */</em> -<a name="889" href="#889">889</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="890" href="#890">890</a> <strong>final</strong> <strong>double</strong> argument) { -<a name="891" href="#891">891</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="892" href="#892">892</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); -<a name="893" href="#893">893</a> } -<a name="894" href="#894">894</a> } -<a name="895" href="#895">895</a> -<a name="896" href="#896">896</a> <em>/**<em>*</em></em> -<a name="897" href="#897">897</a> <em> * Log a parameterized message at info level.</em> -<a name="898" href="#898">898</a> <em> * @param logger logger, may not be null.</em> -<a name="899" href="#899">899</a> <em> * @param pattern pattern, may be null.</em> -<a name="900" href="#900">900</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="901" href="#901">901</a> <em> */</em> -<a name="902" href="#902">902</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="903" href="#903">903</a> <strong>final</strong> Object argument) { -<a name="904" href="#904">904</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="905" href="#905">905</a> forcedLog(logger, Level.INFO, format(pattern, argument)); -<a name="906" href="#906">906</a> } -<a name="907" href="#907">907</a> } -<a name="908" href="#908">908</a> -<a name="909" href="#909">909</a> <em>/**<em>*</em></em> -<a name="910" href="#910">910</a> <em> * Log a parameterized message at info level.</em> -<a name="911" href="#911">911</a> <em> * @param logger logger, may not be null.</em> -<a name="912" href="#912">912</a> <em> * @param pattern pattern, may be null.</em> -<a name="913" href="#913">913</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="914" href="#914">914</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="915" href="#915">915</a> <em> */</em> -<a name="916" href="#916">916</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="917" href="#917">917</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { -<a name="918" href="#918">918</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="919" href="#919">919</a> forcedLog(logger, Level.INFO, format(pattern, toArray(arg0, arg1))); -<a name="920" href="#920">920</a> } -<a name="921" href="#921">921</a> } -<a name="922" href="#922">922</a> -<a name="923" href="#923">923</a> <em>/**<em>*</em></em> -<a name="924" href="#924">924</a> <em> * Log a parameterized message at info level.</em> -<a name="925" href="#925">925</a> <em> * @param logger logger, may not be null.</em> -<a name="926" href="#926">926</a> <em> * @param pattern pattern, may be null.</em> -<a name="927" href="#927">927</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="928" href="#928">928</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="929" href="#929">929</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="930" href="#930">930</a> <em> */</em> -<a name="931" href="#931">931</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="932" href="#932">932</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { -<a name="933" href="#933">933</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="934" href="#934">934</a> forcedLog(logger, Level.INFO, format(pattern, -<a name="935" href="#935">935</a> toArray(arg0, arg1, arg2))); -<a name="936" href="#936">936</a> } -<a name="937" href="#937">937</a> } -<a name="938" href="#938">938</a> -<a name="939" href="#939">939</a> <em>/**<em>*</em></em> -<a name="940" href="#940">940</a> <em> * Log a parameterized message at info level.</em> -<a name="941" href="#941">941</a> <em> * @param logger logger, may not be null.</em> -<a name="942" href="#942">942</a> <em> * @param pattern pattern, may be null.</em> -<a name="943" href="#943">943</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="944" href="#944">944</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="945" href="#945">945</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="946" href="#946">946</a> <em> * @param arg3 a value to be formatted and substituted.</em> -<a name="947" href="#947">947</a> <em> */</em> -<a name="948" href="#948">948</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="949" href="#949">949</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, -<a name="950" href="#950">950</a> <strong>final</strong> Object arg3) { -<a name="951" href="#951">951</a> <strong>if</strong> (logger.isInfoEnabled()) { -<a name="952" href="#952">952</a> forcedLog(logger, Level.INFO, format(pattern, -<a name="953" href="#953">953</a> toArray(arg0, arg1, arg2, arg3))); -<a name="954" href="#954">954</a> } -<a name="955" href="#955">955</a> } -<a name="956" href="#956">956</a> -<a name="957" href="#957">957</a> <em>/**<em>*</em></em> -<a name="958" href="#958">958</a> <em> * Log a parameterized message at warn level.</em> -<a name="959" href="#959">959</a> <em> * @param logger logger, may not be null.</em> -<a name="960" href="#960">960</a> <em> * @param pattern pattern, may be null.</em> -<a name="961" href="#961">961</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="962" href="#962">962</a> <em> */</em> -<a name="963" href="#963">963</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="964" href="#964">964</a> <strong>final</strong> <strong>boolean</strong> argument) { -<a name="965" href="#965">965</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="966" href="#966">966</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="967" href="#967">967</a> } -<a name="968" href="#968">968</a> } -<a name="969" href="#969">969</a> -<a name="970" href="#970">970</a> <em>/**<em>*</em></em> -<a name="971" href="#971">971</a> <em> * Log a parameterized message at warn level.</em> -<a name="972" href="#972">972</a> <em> * @param logger logger, may not be null.</em> -<a name="973" href="#973">973</a> <em> * @param pattern pattern, may be null.</em> -<a name="974" href="#974">974</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="975" href="#975">975</a> <em> */</em> -<a name="976" href="#976">976</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="977" href="#977">977</a> <strong>final</strong> <strong>char</strong> argument) { -<a name="978" href="#978">978</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="979" href="#979">979</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="980" href="#980">980</a> } -<a name="981" href="#981">981</a> } -<a name="982" href="#982">982</a> -<a name="983" href="#983">983</a> <em>/**<em>*</em></em> -<a name="984" href="#984">984</a> <em> * Log a parameterized message at warn level.</em> -<a name="985" href="#985">985</a> <em> * @param logger logger, may not be null.</em> -<a name="986" href="#986">986</a> <em> * @param pattern pattern, may be null.</em> -<a name="987" href="#987">987</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="988" href="#988">988</a> <em> */</em> -<a name="989" href="#989">989</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="990" href="#990">990</a> <strong>final</strong> byte argument) { -<a name="991" href="#991">991</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="992" href="#992">992</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="993" href="#993">993</a> } -<a name="994" href="#994">994</a> } -<a name="995" href="#995">995</a> -<a name="996" href="#996">996</a> <em>/**<em>*</em></em> -<a name="997" href="#997">997</a> <em> * Log a parameterized message at warn level.</em> -<a name="998" href="#998">998</a> <em> * @param logger logger, may not be null.</em> -<a name="999" href="#999">999</a> <em> * @param pattern pattern, may be null.</em> -<a name="1000" href="#1000">1000</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1001" href="#1001">1001</a> <em> */</em> -<a name="1002" href="#1002">1002</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1003" href="#1003">1003</a> <strong>final</strong> <strong>short</strong> argument) { -<a name="1004" href="#1004">1004</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1005" href="#1005">1005</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1006" href="#1006">1006</a> } -<a name="1007" href="#1007">1007</a> } -<a name="1008" href="#1008">1008</a> -<a name="1009" href="#1009">1009</a> <em>/**<em>*</em></em> -<a name="1010" href="#1010">1010</a> <em> * Log a parameterized message at warn level.</em> -<a name="1011" href="#1011">1011</a> <em> * @param logger logger, may not be null.</em> -<a name="1012" href="#1012">1012</a> <em> * @param pattern pattern, may be null.</em> -<a name="1013" href="#1013">1013</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1014" href="#1014">1014</a> <em> */</em> -<a name="1015" href="#1015">1015</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1016" href="#1016">1016</a> <strong>final</strong> <strong>int</strong> argument) { -<a name="1017" href="#1017">1017</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1018" href="#1018">1018</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1019" href="#1019">1019</a> } -<a name="1020" href="#1020">1020</a> } -<a name="1021" href="#1021">1021</a> -<a name="1022" href="#1022">1022</a> <em>/**<em>*</em></em> -<a name="1023" href="#1023">1023</a> <em> * Log a parameterized message at warn level.</em> -<a name="1024" href="#1024">1024</a> <em> * @param logger logger, may not be null.</em> -<a name="1025" href="#1025">1025</a> <em> * @param pattern pattern, may be null.</em> -<a name="1026" href="#1026">1026</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1027" href="#1027">1027</a> <em> */</em> -<a name="1028" href="#1028">1028</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1029" href="#1029">1029</a> <strong>final</strong> <strong>long</strong> argument) { -<a name="1030" href="#1030">1030</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1031" href="#1031">1031</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1032" href="#1032">1032</a> } -<a name="1033" href="#1033">1033</a> } -<a name="1034" href="#1034">1034</a> -<a name="1035" href="#1035">1035</a> <em>/**<em>*</em></em> -<a name="1036" href="#1036">1036</a> <em> * Log a parameterized message at warn level.</em> -<a name="1037" href="#1037">1037</a> <em> * @param logger logger, may not be null.</em> -<a name="1038" href="#1038">1038</a> <em> * @param pattern pattern, may be null.</em> -<a name="1039" href="#1039">1039</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1040" href="#1040">1040</a> <em> */</em> -<a name="1041" href="#1041">1041</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1042" href="#1042">1042</a> <strong>final</strong> <strong>float</strong> argument) { -<a name="1043" href="#1043">1043</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1044" href="#1044">1044</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1045" href="#1045">1045</a> } -<a name="1046" href="#1046">1046</a> } -<a name="1047" href="#1047">1047</a> -<a name="1048" href="#1048">1048</a> <em>/**<em>*</em></em> -<a name="1049" href="#1049">1049</a> <em> * Log a parameterized message at warn level.</em> -<a name="1050" href="#1050">1050</a> <em> * @param logger logger, may not be null.</em> -<a name="1051" href="#1051">1051</a> <em> * @param pattern pattern, may be null.</em> -<a name="1052" href="#1052">1052</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1053" href="#1053">1053</a> <em> */</em> -<a name="1054" href="#1054">1054</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1055" href="#1055">1055</a> <strong>final</strong> <strong>double</strong> argument) { -<a name="1056" href="#1056">1056</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1057" href="#1057">1057</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); -<a name="1058" href="#1058">1058</a> } -<a name="1059" href="#1059">1059</a> } -<a name="1060" href="#1060">1060</a> -<a name="1061" href="#1061">1061</a> <em>/**<em>*</em></em> -<a name="1062" href="#1062">1062</a> <em> * Log a parameterized message at warn level.</em> -<a name="1063" href="#1063">1063</a> <em> * @param logger logger, may not be null.</em> -<a name="1064" href="#1064">1064</a> <em> * @param pattern pattern, may be null.</em> -<a name="1065" href="#1065">1065</a> <em> * @param argument a value to be formatted and substituted.</em> -<a name="1066" href="#1066">1066</a> <em> */</em> -<a name="1067" href="#1067">1067</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1068" href="#1068">1068</a> <strong>final</strong> Object argument) { -<a name="1069" href="#1069">1069</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1070" href="#1070">1070</a> forcedLog(logger, Level.WARN, format(pattern, argument)); -<a name="1071" href="#1071">1071</a> } -<a name="1072" href="#1072">1072</a> } -<a name="1073" href="#1073">1073</a> -<a name="1074" href="#1074">1074</a> <em>/**<em>*</em></em> -<a name="1075" href="#1075">1075</a> <em> * Log a parameterized message at warn level.</em> -<a name="1076" href="#1076">1076</a> <em> * @param logger logger, may not be null.</em> -<a name="1077" href="#1077">1077</a> <em> * @param pattern pattern, may be null.</em> -<a name="1078" href="#1078">1078</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1079" href="#1079">1079</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1080" href="#1080">1080</a> <em> */</em> -<a name="1081" href="#1081">1081</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1082" href="#1082">1082</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { -<a name="1083" href="#1083">1083</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1084" href="#1084">1084</a> forcedLog(logger, Level.WARN, -<a name="1085" href="#1085">1085</a> format(pattern, toArray(arg0, arg1))); -<a name="1086" href="#1086">1086</a> } -<a name="1087" href="#1087">1087</a> } -<a name="1088" href="#1088">1088</a> -<a name="1089" href="#1089">1089</a> <em>/**<em>*</em></em> -<a name="1090" href="#1090">1090</a> <em> * Log a parameterized message at warn level.</em> -<a name="1091" href="#1091">1091</a> <em> * @param logger logger, may not be null.</em> -<a name="1092" href="#1092">1092</a> <em> * @param pattern pattern, may be null.</em> -<a name="1093" href="#1093">1093</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1094" href="#1094">1094</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1095" href="#1095">1095</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="1096" href="#1096">1096</a> <em> */</em> -<a name="1097" href="#1097">1097</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1098" href="#1098">1098</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { -<a name="1099" href="#1099">1099</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1100" href="#1100">1100</a> forcedLog(logger, Level.WARN, -<a name="1101" href="#1101">1101</a> format(pattern, toArray(arg0, arg1, arg2))); -<a name="1102" href="#1102">1102</a> } -<a name="1103" href="#1103">1103</a> } -<a name="1104" href="#1104">1104</a> -<a name="1105" href="#1105">1105</a> <em>/**<em>*</em></em> -<a name="1106" href="#1106">1106</a> <em> * Log a parameterized message at warn level.</em> -<a name="1107" href="#1107">1107</a> <em> * @param logger logger, may not be null.</em> -<a name="1108" href="#1108">1108</a> <em> * @param pattern pattern, may be null.</em> -<a name="1109" href="#1109">1109</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1110" href="#1110">1110</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1111" href="#1111">1111</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="1112" href="#1112">1112</a> <em> * @param arg3 a value to be formatted and substituted.</em> -<a name="1113" href="#1113">1113</a> <em> */</em> -<a name="1114" href="#1114">1114</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, -<a name="1115" href="#1115">1115</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, -<a name="1116" href="#1116">1116</a> <strong>final</strong> Object arg3) { -<a name="1117" href="#1117">1117</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { -<a name="1118" href="#1118">1118</a> forcedLog(logger, Level.WARN, format(pattern, -<a name="1119" href="#1119">1119</a> toArray(arg0, arg1, arg2, arg3))); -<a name="1120" href="#1120">1120</a> } -<a name="1121" href="#1121">1121</a> } -<a name="1122" href="#1122">1122</a> -<a name="1123" href="#1123">1123</a> <em>/**<em>*</em></em> -<a name="1124" href="#1124">1124</a> <em> * Log a parameterized message at specified level.</em> -<a name="1125" href="#1125">1125</a> <em> * @param logger logger, may not be null.</em> -<a name="1126" href="#1126">1126</a> <em> * @param level level, may not be null.</em> -<a name="1127" href="#1127">1127</a> <em> * @param pattern pattern, may be null.</em> -<a name="1128" href="#1128">1128</a> <em> * @param parameters parameters to the log message.</em> -<a name="1129" href="#1129">1129</a> <em> */</em> -<a name="1130" href="#1130">1130</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1131" href="#1131">1131</a> <strong>final</strong> Level level, -<a name="1132" href="#1132">1132</a> <strong>final</strong> String pattern, -<a name="1133" href="#1133">1133</a> <strong>final</strong> Object[] parameters) { -<a name="1134" href="#1134">1134</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1135" href="#1135">1135</a> forcedLog(logger, level, -<a name="1136" href="#1136">1136</a> format(pattern, parameters)); -<a name="1137" href="#1137">1137</a> } -<a name="1138" href="#1138">1138</a> } -<a name="1139" href="#1139">1139</a> -<a name="1140" href="#1140">1140</a> <em>/**<em>*</em></em> -<a name="1141" href="#1141">1141</a> <em> * Log a parameterized message at specified level.</em> -<a name="1142" href="#1142">1142</a> <em> * @param logger logger, may not be null.</em> -<a name="1143" href="#1143">1143</a> <em> * @param level level, may not be null.</em> -<a name="1144" href="#1144">1144</a> <em> * @param t throwable, may be null.</em> -<a name="1145" href="#1145">1145</a> <em> * @param pattern pattern, may be null.</em> -<a name="1146" href="#1146">1146</a> <em> * @param parameters parameters to the log message.</em> -<a name="1147" href="#1147">1147</a> <em> */</em> -<a name="1148" href="#1148">1148</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1149" href="#1149">1149</a> <strong>final</strong> Level level, -<a name="1150" href="#1150">1150</a> <strong>final</strong> Throwable t, -<a name="1151" href="#1151">1151</a> <strong>final</strong> String pattern, -<a name="1152" href="#1152">1152</a> <strong>final</strong> Object[] parameters) { -<a name="1153" href="#1153">1153</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1154" href="#1154">1154</a> forcedLog(logger, level, -<a name="1155" href="#1155">1155</a> format(pattern, parameters), t); -<a name="1156" href="#1156">1156</a> } -<a name="1157" href="#1157">1157</a> } -<a name="1158" href="#1158">1158</a> -<a name="1159" href="#1159">1159</a> <em>/**<em>*</em></em> -<a name="1160" href="#1160">1160</a> <em> * Log a parameterized message at specified level.</em> -<a name="1161" href="#1161">1161</a> <em> * @param logger logger, may not be null.</em> -<a name="1162" href="#1162">1162</a> <em> * @param level level, may not be null.</em> -<a name="1163" href="#1163">1163</a> <em> * @param pattern pattern, may be null.</em> -<a name="1164" href="#1164">1164</a> <em> * @param param1 parameter to the log message.</em> -<a name="1165" href="#1165">1165</a> <em> */</em> -<a name="1166" href="#1166">1166</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1167" href="#1167">1167</a> <strong>final</strong> Level level, -<a name="1168" href="#1168">1168</a> <strong>final</strong> String pattern, -<a name="1169" href="#1169">1169</a> <strong>final</strong> Object param1) { -<a name="1170" href="#1170">1170</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1171" href="#1171">1171</a> forcedLog(logger, level, -<a name="1172" href="#1172">1172</a> format(pattern, toArray(param1))); -<a name="1173" href="#1173">1173</a> } -<a name="1174" href="#1174">1174</a> } -<a name="1175" href="#1175">1175</a> -<a name="1176" href="#1176">1176</a> <em>/**<em>*</em></em> -<a name="1177" href="#1177">1177</a> <em> * Log a parameterized message at specified level.</em> -<a name="1178" href="#1178">1178</a> <em> * @param logger logger, may not be null.</em> -<a name="1179" href="#1179">1179</a> <em> * @param level level, may not be null.</em> -<a name="1180" href="#1180">1180</a> <em> * @param pattern pattern, may be null.</em> -<a name="1181" href="#1181">1181</a> <em> * @param param1 parameter to the log message.</em> -<a name="1182" href="#1182">1182</a> <em> */</em> -<a name="1183" href="#1183">1183</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1184" href="#1184">1184</a> <strong>final</strong> Level level, -<a name="1185" href="#1185">1185</a> <strong>final</strong> String pattern, -<a name="1186" href="#1186">1186</a> <strong>final</strong> <strong>boolean</strong> param1) { -<a name="1187" href="#1187">1187</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1188" href="#1188">1188</a> forcedLog(logger, level, -<a name="1189" href="#1189">1189</a> format(pattern, toArray(valueOf(param1)))); -<a name="1190" href="#1190">1190</a> } -<a name="1191" href="#1191">1191</a> } -<a name="1192" href="#1192">1192</a> -<a name="1193" href="#1193">1193</a> -<a name="1194" href="#1194">1194</a> <em>/**<em>*</em></em> -<a name="1195" href="#1195">1195</a> <em> * Log a parameterized message at specified level.</em> -<a name="1196" href="#1196">1196</a> <em> * @param logger logger, may not be null.</em> -<a name="1197" href="#1197">1197</a> <em> * @param level level, may not be null.</em> -<a name="1198" href="#1198">1198</a> <em> * @param pattern pattern, may be null.</em> -<a name="1199" href="#1199">1199</a> <em> * @param param1 parameter to the log message.</em> -<a name="1200" href="#1200">1200</a> <em> */</em> -<a name="1201" href="#1201">1201</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1202" href="#1202">1202</a> <strong>final</strong> Level level, -<a name="1203" href="#1203">1203</a> <strong>final</strong> String pattern, -<a name="1204" href="#1204">1204</a> <strong>final</strong> byte param1) { -<a name="1205" href="#1205">1205</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1206" href="#1206">1206</a> forcedLog(logger, level, -<a name="1207" href="#1207">1207</a> format(pattern, toArray(valueOf(param1)))); -<a name="1208" href="#1208">1208</a> } -<a name="1209" href="#1209">1209</a> } -<a name="1210" href="#1210">1210</a> -<a name="1211" href="#1211">1211</a> -<a name="1212" href="#1212">1212</a> <em>/**<em>*</em></em> -<a name="1213" href="#1213">1213</a> <em> * Log a parameterized message at specified level.</em> -<a name="1214" href="#1214">1214</a> <em> * @param logger logger, may not be null.</em> -<a name="1215" href="#1215">1215</a> <em> * @param level level, may not be null.</em> -<a name="1216" href="#1216">1216</a> <em> * @param pattern pattern, may be null.</em> -<a name="1217" href="#1217">1217</a> <em> * @param param1 parameter to the log message.</em> -<a name="1218" href="#1218">1218</a> <em> */</em> -<a name="1219" href="#1219">1219</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1220" href="#1220">1220</a> <strong>final</strong> Level level, -<a name="1221" href="#1221">1221</a> <strong>final</strong> String pattern, -<a name="1222" href="#1222">1222</a> <strong>final</strong> <strong>char</strong> param1) { -<a name="1223" href="#1223">1223</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1224" href="#1224">1224</a> forcedLog(logger, level, -<a name="1225" href="#1225">1225</a> format(pattern, toArray(valueOf(param1)))); -<a name="1226" href="#1226">1226</a> } -<a name="1227" href="#1227">1227</a> } -<a name="1228" href="#1228">1228</a> -<a name="1229" href="#1229">1229</a> <em>/**<em>*</em></em> -<a name="1230" href="#1230">1230</a> <em> * Log a parameterized message at specified level.</em> -<a name="1231" href="#1231">1231</a> <em> * @param logger logger, may not be null.</em> -<a name="1232" href="#1232">1232</a> <em> * @param level level, may not be null.</em> -<a name="1233" href="#1233">1233</a> <em> * @param pattern pattern, may be null.</em> -<a name="1234" href="#1234">1234</a> <em> * @param param1 parameter to the log message.</em> -<a name="1235" href="#1235">1235</a> <em> */</em> -<a name="1236" href="#1236">1236</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1237" href="#1237">1237</a> <strong>final</strong> Level level, -<a name="1238" href="#1238">1238</a> <strong>final</strong> String pattern, -<a name="1239" href="#1239">1239</a> <strong>final</strong> <strong>short</strong> param1) { -<a name="1240" href="#1240">1240</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1241" href="#1241">1241</a> forcedLog(logger, level, -<a name="1242" href="#1242">1242</a> format(pattern, toArray(valueOf(param1)))); -<a name="1243" href="#1243">1243</a> } -<a name="1244" href="#1244">1244</a> } -<a name="1245" href="#1245">1245</a> -<a name="1246" href="#1246">1246</a> <em>/**<em>*</em></em> -<a name="1247" href="#1247">1247</a> <em> * Log a parameterized message at specified level.</em> -<a name="1248" href="#1248">1248</a> <em> * @param logger logger, may not be null.</em> -<a name="1249" href="#1249">1249</a> <em> * @param level level, may not be null.</em> -<a name="1250" href="#1250">1250</a> <em> * @param pattern pattern, may be null.</em> -<a name="1251" href="#1251">1251</a> <em> * @param param1 parameter to the log message.</em> -<a name="1252" href="#1252">1252</a> <em> */</em> -<a name="1253" href="#1253">1253</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1254" href="#1254">1254</a> <strong>final</strong> Level level, -<a name="1255" href="#1255">1255</a> <strong>final</strong> String pattern, -<a name="1256" href="#1256">1256</a> <strong>final</strong> <strong>int</strong> param1) { -<a name="1257" href="#1257">1257</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1258" href="#1258">1258</a> forcedLog(logger, level, -<a name="1259" href="#1259">1259</a> format(pattern, toArray(valueOf(param1)))); -<a name="1260" href="#1260">1260</a> } -<a name="1261" href="#1261">1261</a> } -<a name="1262" href="#1262">1262</a> -<a name="1263" href="#1263">1263</a> -<a name="1264" href="#1264">1264</a> <em>/**<em>*</em></em> -<a name="1265" href="#1265">1265</a> <em> * Log a parameterized message at specified level.</em> -<a name="1266" href="#1266">1266</a> <em> * @param logger logger, may not be null.</em> -<a name="1267" href="#1267">1267</a> <em> * @param level level, may not be null.</em> -<a name="1268" href="#1268">1268</a> <em> * @param pattern pattern, may be null.</em> -<a name="1269" href="#1269">1269</a> <em> * @param param1 parameter to the log message.</em> -<a name="1270" href="#1270">1270</a> <em> */</em> -<a name="1271" href="#1271">1271</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1272" href="#1272">1272</a> <strong>final</strong> Level level, -<a name="1273" href="#1273">1273</a> <strong>final</strong> String pattern, -<a name="1274" href="#1274">1274</a> <strong>final</strong> <strong>long</strong> param1) { -<a name="1275" href="#1275">1275</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1276" href="#1276">1276</a> forcedLog(logger, level, -<a name="1277" href="#1277">1277</a> format(pattern, toArray(valueOf(param1)))); -<a name="1278" href="#1278">1278</a> } -<a name="1279" href="#1279">1279</a> } -<a name="1280" href="#1280">1280</a> -<a name="1281" href="#1281">1281</a> -<a name="1282" href="#1282">1282</a> <em>/**<em>*</em></em> -<a name="1283" href="#1283">1283</a> <em> * Log a parameterized message at specified level.</em> -<a name="1284" href="#1284">1284</a> <em> * @param logger logger, may not be null.</em> -<a name="1285" href="#1285">1285</a> <em> * @param level level, may not be null.</em> -<a name="1286" href="#1286">1286</a> <em> * @param pattern pattern, may be null.</em> -<a name="1287" href="#1287">1287</a> <em> * @param param1 parameter to the log message.</em> -<a name="1288" href="#1288">1288</a> <em> */</em> -<a name="1289" href="#1289">1289</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1290" href="#1290">1290</a> <strong>final</strong> Level level, -<a name="1291" href="#1291">1291</a> <strong>final</strong> String pattern, -<a name="1292" href="#1292">1292</a> <strong>final</strong> <strong>float</strong> param1) { -<a name="1293" href="#1293">1293</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1294" href="#1294">1294</a> forcedLog(logger, level, -<a name="1295" href="#1295">1295</a> format(pattern, toArray(valueOf(param1)))); -<a name="1296" href="#1296">1296</a> } -<a name="1297" href="#1297">1297</a> } -<a name="1298" href="#1298">1298</a> -<a name="1299" href="#1299">1299</a> -<a name="1300" href="#1300">1300</a> <em>/**<em>*</em></em> -<a name="1301" href="#1301">1301</a> <em> * Log a parameterized message at specified level.</em> -<a name="1302" href="#1302">1302</a> <em> * @param logger logger, may not be null.</em> -<a name="1303" href="#1303">1303</a> <em> * @param level level, may not be null.</em> -<a name="1304" href="#1304">1304</a> <em> * @param pattern pattern, may be null.</em> -<a name="1305" href="#1305">1305</a> <em> * @param param1 parameter to the log message.</em> -<a name="1306" href="#1306">1306</a> <em> */</em> -<a name="1307" href="#1307">1307</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1308" href="#1308">1308</a> <strong>final</strong> Level level, -<a name="1309" href="#1309">1309</a> <strong>final</strong> String pattern, -<a name="1310" href="#1310">1310</a> <strong>final</strong> <strong>double</strong> param1) { -<a name="1311" href="#1311">1311</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1312" href="#1312">1312</a> forcedLog(logger, level, -<a name="1313" href="#1313">1313</a> format(pattern, toArray(valueOf(param1)))); -<a name="1314" href="#1314">1314</a> } -<a name="1315" href="#1315">1315</a> } -<a name="1316" href="#1316">1316</a> -<a name="1317" href="#1317">1317</a> -<a name="1318" href="#1318">1318</a> <em>/**<em>*</em></em> -<a name="1319" href="#1319">1319</a> <em> * Log a parameterized message at specified level.</em> -<a name="1320" href="#1320">1320</a> <em> * @param logger logger, may not be null.</em> -<a name="1321" href="#1321">1321</a> <em> * @param level level, may not be null.</em> -<a name="1322" href="#1322">1322</a> <em> * @param pattern pattern, may be null.</em> -<a name="1323" href="#1323">1323</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1324" href="#1324">1324</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1325" href="#1325">1325</a> <em> */</em> -<a name="1326" href="#1326">1326</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1327" href="#1327">1327</a> <strong>final</strong> Level level, -<a name="1328" href="#1328">1328</a> <strong>final</strong> String pattern, -<a name="1329" href="#1329">1329</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { -<a name="1330" href="#1330">1330</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1331" href="#1331">1331</a> forcedLog(logger, level, -<a name="1332" href="#1332">1332</a> format(pattern, toArray(arg0, arg1))); -<a name="1333" href="#1333">1333</a> } -<a name="1334" href="#1334">1334</a> } -<a name="1335" href="#1335">1335</a> -<a name="1336" href="#1336">1336</a> <em>/**<em>*</em></em> -<a name="1337" href="#1337">1337</a> <em> * Log a parameterized message at specifed level.</em> -<a name="1338" href="#1338">1338</a> <em> * @param logger logger, may not be null.</em> -<a name="1339" href="#1339">1339</a> <em> * @param level level, may not be null.</em> -<a name="1340" href="#1340">1340</a> <em> * @param pattern pattern, may be null.</em> -<a name="1341" href="#1341">1341</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1342" href="#1342">1342</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1343" href="#1343">1343</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="1344" href="#1344">1344</a> <em> */</em> -<a name="1345" href="#1345">1345</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1346" href="#1346">1346</a> <strong>final</strong> Level level, -<a name="1347" href="#1347">1347</a> <strong>final</strong> String pattern, -<a name="1348" href="#1348">1348</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { -<a name="1349" href="#1349">1349</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1350" href="#1350">1350</a> forcedLog(logger, level, -<a name="1351" href="#1351">1351</a> format(pattern, toArray(arg0, arg1, arg2))); -<a name="1352" href="#1352">1352</a> } -<a name="1353" href="#1353">1353</a> } -<a name="1354" href="#1354">1354</a> -<a name="1355" href="#1355">1355</a> <em>/**<em>*</em></em> -<a name="1356" href="#1356">1356</a> <em> * Log a parameterized message at specified level.</em> -<a name="1357" href="#1357">1357</a> <em> * @param logger logger, may not be null.</em> -<a name="1358" href="#1358">1358</a> <em> * @param pattern pattern, may be null.</em> -<a name="1359" href="#1359">1359</a> <em> * @param level level, may not be null.</em> -<a name="1360" href="#1360">1360</a> <em> * @param arg0 a value to be formatted and substituted.</em> -<a name="1361" href="#1361">1361</a> <em> * @param arg1 a value to be formatted and substituted.</em> -<a name="1362" href="#1362">1362</a> <em> * @param arg2 a value to be formatted and substituted.</em> -<a name="1363" href="#1363">1363</a> <em> * @param arg3 a value to be formatted and substituted.</em> -<a name="1364" href="#1364">1364</a> <em> */</em> -<a name="1365" href="#1365">1365</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, -<a name="1366" href="#1366">1366</a> <strong>final</strong> Level level, -<a name="1367" href="#1367">1367</a> <strong>final</strong> String pattern, -<a name="1368" href="#1368">1368</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, -<a name="1369" href="#1369">1369</a> <strong>final</strong> Object arg3) { -<a name="1370" href="#1370">1370</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1371" href="#1371">1371</a> forcedLog(logger, level, format(pattern, -<a name="1372" href="#1372">1372</a> toArray(arg0, arg1, arg2, arg3))); -<a name="1373" href="#1373">1373</a> } -<a name="1374" href="#1374">1374</a> } -<a name="1375" href="#1375">1375</a> -<a name="1376" href="#1376">1376</a> -<a name="1377" href="#1377">1377</a> <em>/**<em>*</em></em> -<a name="1378" href="#1378">1378</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1379" href="#1379">1379</a> <em> * @param logger logger, may not be null.</em> -<a name="1380" href="#1380">1380</a> <em> * @param level level, may not be null.</em> -<a name="1381" href="#1381">1381</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1382" href="#1382">1382</a> <em> * @param key key, may be null.</em> -<a name="1383" href="#1383">1383</a> <em> * @param parameters parameters to the log message.</em> -<a name="1384" href="#1384">1384</a> <em> */</em> -<a name="1385" href="#1385">1385</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1386" href="#1386">1386</a> <strong>final</strong> Level level, -<a name="1387" href="#1387">1387</a> <strong>final</strong> String bundleName, -<a name="1388" href="#1388">1388</a> <strong>final</strong> String key, -<a name="1389" href="#1389">1389</a> <strong>final</strong> Object[] parameters) { -<a name="1390" href="#1390">1390</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1391" href="#1391">1391</a> forcedLog(logger, level, -<a name="1392" href="#1392">1392</a> format(bundleName, key, parameters)); -<a name="1393" href="#1393">1393</a> } -<a name="1394" href="#1394">1394</a> } -<a name="1395" href="#1395">1395</a> -<a name="1396" href="#1396">1396</a> <em>/**<em>*</em></em> -<a name="1397" href="#1397">1397</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1398" href="#1398">1398</a> <em> * @param logger logger, may not be null.</em> -<a name="1399" href="#1399">1399</a> <em> * @param level level, may not be null.</em> -<a name="1400" href="#1400">1400</a> <em> * @param t throwable, may be null.</em> -<a name="1401" href="#1401">1401</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1402" href="#1402">1402</a> <em> * @param key key, may be null.</em> -<a name="1403" href="#1403">1403</a> <em> * @param parameters parameters to the log message.</em> -<a name="1404" href="#1404">1404</a> <em> */</em> -<a name="1405" href="#1405">1405</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1406" href="#1406">1406</a> <strong>final</strong> Level level, -<a name="1407" href="#1407">1407</a> <strong>final</strong> Throwable t, -<a name="1408" href="#1408">1408</a> <strong>final</strong> String bundleName, -<a name="1409" href="#1409">1409</a> <strong>final</strong> String key, -<a name="1410" href="#1410">1410</a> <strong>final</strong> Object[] parameters) { -<a name="1411" href="#1411">1411</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1412" href="#1412">1412</a> forcedLog(logger, level, -<a name="1413" href="#1413">1413</a> format(bundleName, key, parameters), t); -<a name="1414" href="#1414">1414</a> } -<a name="1415" href="#1415">1415</a> } -<a name="1416" href="#1416">1416</a> -<a name="1417" href="#1417">1417</a> <em>/**<em>*</em></em> -<a name="1418" href="#1418">1418</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1419" href="#1419">1419</a> <em> * @param logger logger, may not be null.</em> -<a name="1420" href="#1420">1420</a> <em> * @param level level, may not be null.</em> -<a name="1421" href="#1421">1421</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1422" href="#1422">1422</a> <em> * @param key key, may be null.</em> -<a name="1423" href="#1423">1423</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1424" href="#1424">1424</a> <em> */</em> -<a name="1425" href="#1425">1425</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1426" href="#1426">1426</a> <strong>final</strong> Level level, -<a name="1427" href="#1427">1427</a> <strong>final</strong> String bundleName, -<a name="1428" href="#1428">1428</a> <strong>final</strong> String key, -<a name="1429" href="#1429">1429</a> <strong>final</strong> Object param1) { -<a name="1430" href="#1430">1430</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1431" href="#1431">1431</a> forcedLog(logger, level, -<a name="1432" href="#1432">1432</a> format(bundleName, key, toArray(param1))); -<a name="1433" href="#1433">1433</a> } -<a name="1434" href="#1434">1434</a> } -<a name="1435" href="#1435">1435</a> -<a name="1436" href="#1436">1436</a> <em>/**<em>*</em></em> -<a name="1437" href="#1437">1437</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1438" href="#1438">1438</a> <em> * @param logger logger, may not be null.</em> -<a name="1439" href="#1439">1439</a> <em> * @param level level, may not be null.</em> -<a name="1440" href="#1440">1440</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1441" href="#1441">1441</a> <em> * @param key key, may be null.</em> -<a name="1442" href="#1442">1442</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1443" href="#1443">1443</a> <em> */</em> -<a name="1444" href="#1444">1444</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1445" href="#1445">1445</a> <strong>final</strong> Level level, -<a name="1446" href="#1446">1446</a> <strong>final</strong> String bundleName, -<a name="1447" href="#1447">1447</a> <strong>final</strong> String key, -<a name="1448" href="#1448">1448</a> <strong>final</strong> <strong>boolean</strong> param1) { -<a name="1449" href="#1449">1449</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1450" href="#1450">1450</a> forcedLog(logger, level, -<a name="1451" href="#1451">1451</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1452" href="#1452">1452</a> } -<a name="1453" href="#1453">1453</a> } -<a name="1454" href="#1454">1454</a> -<a name="1455" href="#1455">1455</a> <em>/**<em>*</em></em> -<a name="1456" href="#1456">1456</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1457" href="#1457">1457</a> <em> * @param logger logger, may not be null.</em> -<a name="1458" href="#1458">1458</a> <em> * @param level level, may not be null.</em> -<a name="1459" href="#1459">1459</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1460" href="#1460">1460</a> <em> * @param key key, may be null.</em> -<a name="1461" href="#1461">1461</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1462" href="#1462">1462</a> <em> */</em> -<a name="1463" href="#1463">1463</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1464" href="#1464">1464</a> <strong>final</strong> Level level, -<a name="1465" href="#1465">1465</a> <strong>final</strong> String bundleName, -<a name="1466" href="#1466">1466</a> <strong>final</strong> String key, -<a name="1467" href="#1467">1467</a> <strong>final</strong> <strong>char</strong> param1) { -<a name="1468" href="#1468">1468</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1469" href="#1469">1469</a> forcedLog(logger, level, -<a name="1470" href="#1470">1470</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1471" href="#1471">1471</a> } -<a name="1472" href="#1472">1472</a> } -<a name="1473" href="#1473">1473</a> -<a name="1474" href="#1474">1474</a> <em>/**<em>*</em></em> -<a name="1475" href="#1475">1475</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1476" href="#1476">1476</a> <em> * @param logger logger, may not be null.</em> -<a name="1477" href="#1477">1477</a> <em> * @param level level, may not be null.</em> -<a name="1478" href="#1478">1478</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1479" href="#1479">1479</a> <em> * @param key key, may be null.</em> -<a name="1480" href="#1480">1480</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1481" href="#1481">1481</a> <em> */</em> -<a name="1482" href="#1482">1482</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1483" href="#1483">1483</a> <strong>final</strong> Level level, -<a name="1484" href="#1484">1484</a> <strong>final</strong> String bundleName, -<a name="1485" href="#1485">1485</a> <strong>final</strong> String key, -<a name="1486" href="#1486">1486</a> <strong>final</strong> byte param1) { -<a name="1487" href="#1487">1487</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1488" href="#1488">1488</a> forcedLog(logger, level, -<a name="1489" href="#1489">1489</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1490" href="#1490">1490</a> } -<a name="1491" href="#1491">1491</a> } -<a name="1492" href="#1492">1492</a> -<a name="1493" href="#1493">1493</a> <em>/**<em>*</em></em> -<a name="1494" href="#1494">1494</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1495" href="#1495">1495</a> <em> * @param logger logger, may not be null.</em> -<a name="1496" href="#1496">1496</a> <em> * @param level level, may not be null.</em> -<a name="1497" href="#1497">1497</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1498" href="#1498">1498</a> <em> * @param key key, may be null.</em> -<a name="1499" href="#1499">1499</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1500" href="#1500">1500</a> <em> */</em> -<a name="1501" href="#1501">1501</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1502" href="#1502">1502</a> <strong>final</strong> Level level, -<a name="1503" href="#1503">1503</a> <strong>final</strong> String bundleName, -<a name="1504" href="#1504">1504</a> <strong>final</strong> String key, -<a name="1505" href="#1505">1505</a> <strong>final</strong> <strong>short</strong> param1) { -<a name="1506" href="#1506">1506</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1507" href="#1507">1507</a> forcedLog(logger, level, -<a name="1508" href="#1508">1508</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1509" href="#1509">1509</a> } -<a name="1510" href="#1510">1510</a> } -<a name="1511" href="#1511">1511</a> -<a name="1512" href="#1512">1512</a> <em>/**<em>*</em></em> -<a name="1513" href="#1513">1513</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1514" href="#1514">1514</a> <em> * @param logger logger, may not be null.</em> -<a name="1515" href="#1515">1515</a> <em> * @param level level, may not be null.</em> -<a name="1516" href="#1516">1516</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1517" href="#1517">1517</a> <em> * @param key key, may be null.</em> -<a name="1518" href="#1518">1518</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1519" href="#1519">1519</a> <em> */</em> -<a name="1520" href="#1520">1520</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1521" href="#1521">1521</a> <strong>final</strong> Level level, -<a name="1522" href="#1522">1522</a> <strong>final</strong> String bundleName, -<a name="1523" href="#1523">1523</a> <strong>final</strong> String key, -<a name="1524" href="#1524">1524</a> <strong>final</strong> <strong>int</strong> param1) { -<a name="1525" href="#1525">1525</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1526" href="#1526">1526</a> forcedLog(logger, level, -<a name="1527" href="#1527">1527</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1528" href="#1528">1528</a> } -<a name="1529" href="#1529">1529</a> } -<a name="1530" href="#1530">1530</a> -<a name="1531" href="#1531">1531</a> <em>/**<em>*</em></em> -<a name="1532" href="#1532">1532</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1533" href="#1533">1533</a> <em> * @param logger logger, may not be null.</em> -<a name="1534" href="#1534">1534</a> <em> * @param level level, may not be null.</em> -<a name="1535" href="#1535">1535</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1536" href="#1536">1536</a> <em> * @param key key, may be null.</em> -<a name="1537" href="#1537">1537</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1538" href="#1538">1538</a> <em> */</em> -<a name="1539" href="#1539">1539</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1540" href="#1540">1540</a> <strong>final</strong> Level level, -<a name="1541" href="#1541">1541</a> <strong>final</strong> String bundleName, -<a name="1542" href="#1542">1542</a> <strong>final</strong> String key, -<a name="1543" href="#1543">1543</a> <strong>final</strong> <strong>long</strong> param1) { -<a name="1544" href="#1544">1544</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1545" href="#1545">1545</a> forcedLog(logger, level, -<a name="1546" href="#1546">1546</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1547" href="#1547">1547</a> } -<a name="1548" href="#1548">1548</a> } -<a name="1549" href="#1549">1549</a> <em>/**<em>*</em></em> -<a name="1550" href="#1550">1550</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1551" href="#1551">1551</a> <em> * @param logger logger, may not be null.</em> -<a name="1552" href="#1552">1552</a> <em> * @param level level, may not be null.</em> -<a name="1553" href="#1553">1553</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1554" href="#1554">1554</a> <em> * @param key key, may be null.</em> -<a name="1555" href="#1555">1555</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1556" href="#1556">1556</a> <em> */</em> -<a name="1557" href="#1557">1557</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1558" href="#1558">1558</a> <strong>final</strong> Level level, -<a name="1559" href="#1559">1559</a> <strong>final</strong> String bundleName, -<a name="1560" href="#1560">1560</a> <strong>final</strong> String key, -<a name="1561" href="#1561">1561</a> <strong>final</strong> <strong>float</strong> param1) { -<a name="1562" href="#1562">1562</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1563" href="#1563">1563</a> forcedLog(logger, level, -<a name="1564" href="#1564">1564</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1565" href="#1565">1565</a> } -<a name="1566" href="#1566">1566</a> } -<a name="1567" href="#1567">1567</a> -<a name="1568" href="#1568">1568</a> -<a name="1569" href="#1569">1569</a> <em>/**<em>*</em></em> -<a name="1570" href="#1570">1570</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1571" href="#1571">1571</a> <em> * @param logger logger, may not be null.</em> -<a name="1572" href="#1572">1572</a> <em> * @param level level, may not be null.</em> -<a name="1573" href="#1573">1573</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1574" href="#1574">1574</a> <em> * @param key key, may be null.</em> -<a name="1575" href="#1575">1575</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1576" href="#1576">1576</a> <em> */</em> -<a name="1577" href="#1577">1577</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1578" href="#1578">1578</a> <strong>final</strong> Level level, -<a name="1579" href="#1579">1579</a> <strong>final</strong> String bundleName, -<a name="1580" href="#1580">1580</a> <strong>final</strong> String key, -<a name="1581" href="#1581">1581</a> <strong>final</strong> <strong>double</strong> param1) { -<a name="1582" href="#1582">1582</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1583" href="#1583">1583</a> forcedLog(logger, level, -<a name="1584" href="#1584">1584</a> format(bundleName, key, toArray(valueOf(param1)))); -<a name="1585" href="#1585">1585</a> } -<a name="1586" href="#1586">1586</a> } -<a name="1587" href="#1587">1587</a> -<a name="1588" href="#1588">1588</a> <em>/**<em>*</em></em> -<a name="1589" href="#1589">1589</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1590" href="#1590">1590</a> <em> * @param logger logger, may not be null.</em> -<a name="1591" href="#1591">1591</a> <em> * @param level level, may not be null.</em> -<a name="1592" href="#1592">1592</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1593" href="#1593">1593</a> <em> * @param key key, may be null.</em> -<a name="1594" href="#1594">1594</a> <em> * @param param0 Parameter to the log message.</em> -<a name="1595" href="#1595">1595</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1596" href="#1596">1596</a> <em> */</em> -<a name="1597" href="#1597">1597</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1598" href="#1598">1598</a> <strong>final</strong> Level level, -<a name="1599" href="#1599">1599</a> <strong>final</strong> String bundleName, -<a name="1600" href="#1600">1600</a> <strong>final</strong> String key, -<a name="1601" href="#1601">1601</a> <strong>final</strong> Object param0, -<a name="1602" href="#1602">1602</a> <strong>final</strong> Object param1) { -<a name="1603" href="#1603">1603</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1604" href="#1604">1604</a> forcedLog(logger, level, -<a name="1605" href="#1605">1605</a> format(bundleName, key, toArray(param0, param1))); -<a name="1606" href="#1606">1606</a> } -<a name="1607" href="#1607">1607</a> } -<a name="1608" href="#1608">1608</a> -<a name="1609" href="#1609">1609</a> -<a name="1610" href="#1610">1610</a> <em>/**<em>*</em></em> -<a name="1611" href="#1611">1611</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1612" href="#1612">1612</a> <em> * @param logger logger, may not be null.</em> -<a name="1613" href="#1613">1613</a> <em> * @param level level, may not be null.</em> -<a name="1614" href="#1614">1614</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1615" href="#1615">1615</a> <em> * @param key key, may be null.</em> -<a name="1616" href="#1616">1616</a> <em> * @param param0 Parameter to the log message.</em> -<a name="1617" href="#1617">1617</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1618" href="#1618">1618</a> <em> * @param param2 Parameter to the log message.</em> -<a name="1619" href="#1619">1619</a> <em> */</em> -<a name="1620" href="#1620">1620</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1621" href="#1621">1621</a> <strong>final</strong> Level level, -<a name="1622" href="#1622">1622</a> <strong>final</strong> String bundleName, -<a name="1623" href="#1623">1623</a> <strong>final</strong> String key, -<a name="1624" href="#1624">1624</a> <strong>final</strong> Object param0, -<a name="1625" href="#1625">1625</a> <strong>final</strong> Object param1, -<a name="1626" href="#1626">1626</a> <strong>final</strong> Object param2) { -<a name="1627" href="#1627">1627</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1628" href="#1628">1628</a> forcedLog(logger, level, -<a name="1629" href="#1629">1629</a> format(bundleName, key, toArray(param0, param1, param2))); -<a name="1630" href="#1630">1630</a> } -<a name="1631" href="#1631">1631</a> } -<a name="1632" href="#1632">1632</a> -<a name="1633" href="#1633">1633</a> -<a name="1634" href="#1634">1634</a> <em>/**<em>*</em></em> -<a name="1635" href="#1635">1635</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> -<a name="1636" href="#1636">1636</a> <em> * @param logger logger, may not be null.</em> -<a name="1637" href="#1637">1637</a> <em> * @param level level, may not be null.</em> -<a name="1638" href="#1638">1638</a> <em> * @param bundleName resource bundle name, may be null.</em> -<a name="1639" href="#1639">1639</a> <em> * @param key key, may be null.</em> -<a name="1640" href="#1640">1640</a> <em> * @param param0 Parameter to the log message.</em> -<a name="1641" href="#1641">1641</a> <em> * @param param1 Parameter to the log message.</em> -<a name="1642" href="#1642">1642</a> <em> * @param param2 Parameter to the log message.</em> -<a name="1643" href="#1643">1643</a> <em> * @param param3 Parameter to the log message.</em> -<a name="1644" href="#1644">1644</a> <em> */</em> -<a name="1645" href="#1645">1645</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, -<a name="1646" href="#1646">1646</a> <strong>final</strong> Level level, -<a name="1647" href="#1647">1647</a> <strong>final</strong> String bundleName, -<a name="1648" href="#1648">1648</a> <strong>final</strong> String key, -<a name="1649" href="#1649">1649</a> <strong>final</strong> Object param0, -<a name="1650" href="#1650">1650</a> <strong>final</strong> Object param1, -<a name="1651" href="#1651">1651</a> <strong>final</strong> Object param2, -<a name="1652" href="#1652">1652</a> <strong>final</strong> Object param3) { -<a name="1653" href="#1653">1653</a> <strong>if</strong> (logger.isEnabledFor(level)) { -<a name="1654" href="#1654">1654</a> forcedLog(logger, level, -<a name="1655" href="#1655">1655</a> format(bundleName, key, -<a name="1656" href="#1656">1656</a> toArray(param0, param1, param2, param3))); -<a name="1657" href="#1657">1657</a> } -<a name="1658" href="#1658">1658</a> } -<a name="1659" href="#1659">1659</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras/DOMConfigurator.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras/DOMConfigurator.html deleted file mode 100644 index 49339d4e90b..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/extras/DOMConfigurator.html +++ /dev/null @@ -1,1059 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMConfigurator xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/extras/DOMConfigurator.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> * </em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> * </em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.extras; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Appender; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Layout; -<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Level; -<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.LogManager; -<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.Logger; -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.config.PropertySetter; -<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.helpers.FileWatchdog; -<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.helpers.Loader; -<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; -<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.helpers.OptionConverter; -<a name="30" href="#30">30</a> <strong>import</strong> org.apache.log4j.or.RendererMap; -<a name="31" href="#31">31</a> <strong>import</strong> org.apache.log4j.spi.AppenderAttachable; -<a name="32" href="#32">32</a> <strong>import</strong> org.apache.log4j.spi.Configurator; -<a name="33" href="#33">33</a> <strong>import</strong> org.apache.log4j.spi.ErrorHandler; -<a name="34" href="#34">34</a> <strong>import</strong> org.apache.log4j.spi.Filter; -<a name="35" href="#35">35</a> <strong>import</strong> org.apache.log4j.spi.LoggerFactory; -<a name="36" href="#36">36</a> <strong>import</strong> org.apache.log4j.spi.LoggerRepository; -<a name="37" href="#37">37</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; -<a name="38" href="#38">38</a> <strong>import</strong> org.apache.log4j.spi.RendererSupport; -<a name="39" href="#39">39</a> <strong>import</strong> org.apache.log4j.xml.SAXErrorHandler; -<a name="40" href="#40">40</a> <strong>import</strong> org.apache.log4j.xml.UnrecognizedElementHandler; -<a name="41" href="#41">41</a> <strong>import</strong> org.w3c.dom.Document; -<a name="42" href="#42">42</a> <strong>import</strong> org.w3c.dom.Element; -<a name="43" href="#43">43</a> <strong>import</strong> org.w3c.dom.NamedNodeMap; -<a name="44" href="#44">44</a> <strong>import</strong> org.w3c.dom.Node; -<a name="45" href="#45">45</a> <strong>import</strong> org.w3c.dom.NodeList; -<a name="46" href="#46">46</a> <strong>import</strong> org.xml.sax.EntityResolver; -<a name="47" href="#47">47</a> <strong>import</strong> org.xml.sax.InputSource; -<a name="48" href="#48">48</a> <strong>import</strong> org.xml.sax.SAXException; -<a name="49" href="#49">49</a> -<a name="50" href="#50">50</a> <strong>import</strong> javax.xml.parsers.DocumentBuilder; -<a name="51" href="#51">51</a> <strong>import</strong> javax.xml.parsers.DocumentBuilderFactory; -<a name="52" href="#52">52</a> <strong>import</strong> javax.xml.parsers.FactoryConfigurationError; -<a name="53" href="#53">53</a> <strong>import</strong> java.io.ByteArrayInputStream; -<a name="54" href="#54">54</a> <strong>import</strong> java.io.File; -<a name="55" href="#55">55</a> <strong>import</strong> java.io.IOException; -<a name="56" href="#56">56</a> <strong>import</strong> java.io.InputStream; -<a name="57" href="#57">57</a> <strong>import</strong> java.io.Reader; -<a name="58" href="#58">58</a> <strong>import</strong> java.lang.reflect.Method; -<a name="59" href="#59">59</a> <strong>import</strong> java.net.URL; -<a name="60" href="#60">60</a> <strong>import</strong> java.util.Hashtable; -<a name="61" href="#61">61</a> <strong>import</strong> java.util.Properties; -<a name="62" href="#62">62</a> -<a name="63" href="#63">63</a> <em>/**<em>*</em></em> -<a name="64" href="#64">64</a> <em> * This is a duplicate (with minor modifications)</em> -<a name="65" href="#65">65</a> <em> * of the log4j 1.2.15 DOMConfigurator</em> -<a name="66" href="#66">66</a> <em> * renamed for use with earlier versions of log4j.</em> -<a name="67" href="#67">67</a> <em> *</em> -<a name="68" href="#68">68</a> <em>*/</em> -<a name="69" href="#69">69</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a> implements Configurator { -<a name="70" href="#70">70</a> -<a name="71" href="#71">71</a> <strong>static</strong> <strong>final</strong> String CONFIGURATION_TAG = <span class="string">"log4j:configuration"</span>; -<a name="72" href="#72">72</a> <strong>static</strong> <strong>final</strong> String OLD_CONFIGURATION_TAG = <span class="string">"configuration"</span>; -<a name="73" href="#73">73</a> <strong>static</strong> <strong>final</strong> String RENDERER_TAG = <span class="string">"renderer"</span>; -<a name="74" href="#74">74</a> <strong>static</strong> <strong>final</strong> String APPENDER_TAG = <span class="string">"appender"</span>; -<a name="75" href="#75">75</a> <strong>static</strong> <strong>final</strong> String APPENDER_REF_TAG = <span class="string">"appender-ref"</span>; -<a name="76" href="#76">76</a> <strong>static</strong> <strong>final</strong> String PARAM_TAG = <span class="string">"param"</span>; -<a name="77" href="#77">77</a> <strong>static</strong> <strong>final</strong> String LAYOUT_TAG = <span class="string">"layout"</span>; -<a name="78" href="#78">78</a> <strong>static</strong> <strong>final</strong> String CATEGORY = <span class="string">"category"</span>; -<a name="79" href="#79">79</a> <strong>static</strong> <strong>final</strong> String LOGGER = <span class="string">"logger"</span>; -<a name="80" href="#80">80</a> <strong>static</strong> <strong>final</strong> String LOGGER_REF = <span class="string">"logger-ref"</span>; -<a name="81" href="#81">81</a> <strong>static</strong> <strong>final</strong> String CATEGORY_FACTORY_TAG = <span class="string">"categoryFactory"</span>; -<a name="82" href="#82">82</a> <strong>static</strong> <strong>final</strong> String LOGGER_FACTORY_TAG = <span class="string">"loggerFactory"</span>; -<a name="83" href="#83">83</a> <strong>static</strong> <strong>final</strong> String NAME_ATTR = <span class="string">"name"</span>; -<a name="84" href="#84">84</a> <strong>static</strong> <strong>final</strong> String CLASS_ATTR = <span class="string">"class"</span>; -<a name="85" href="#85">85</a> <strong>static</strong> <strong>final</strong> String VALUE_ATTR = <span class="string">"value"</span>; -<a name="86" href="#86">86</a> <strong>static</strong> <strong>final</strong> String ROOT_TAG = <span class="string">"root"</span>; -<a name="87" href="#87">87</a> <strong>static</strong> <strong>final</strong> String ROOT_REF = <span class="string">"root-ref"</span>; -<a name="88" href="#88">88</a> <strong>static</strong> <strong>final</strong> String LEVEL_TAG = <span class="string">"level"</span>; -<a name="89" href="#89">89</a> <strong>static</strong> <strong>final</strong> String PRIORITY_TAG = <span class="string">"priority"</span>; -<a name="90" href="#90">90</a> <strong>static</strong> <strong>final</strong> String FILTER_TAG = <span class="string">"filter"</span>; -<a name="91" href="#91">91</a> <strong>static</strong> <strong>final</strong> String ERROR_HANDLER_TAG = <span class="string">"errorHandler"</span>; -<a name="92" href="#92">92</a> <strong>static</strong> <strong>final</strong> String REF_ATTR = <span class="string">"ref"</span>; -<a name="93" href="#93">93</a> <strong>static</strong> <strong>final</strong> String ADDITIVITY_ATTR = <span class="string">"additivity"</span>; -<a name="94" href="#94">94</a> <strong>static</strong> <strong>final</strong> String THRESHOLD_ATTR = <span class="string">"threshold"</span>; -<a name="95" href="#95">95</a> <strong>static</strong> <strong>final</strong> String CONFIG_DEBUG_ATTR = <span class="string">"configDebug"</span>; -<a name="96" href="#96">96</a> <strong>static</strong> <strong>final</strong> String INTERNAL_DEBUG_ATTR = <span class="string">"debug"</span>; -<a name="97" href="#97">97</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String RESET_ATTR = <span class="string">"reset"</span>; -<a name="98" href="#98">98</a> <strong>static</strong> <strong>final</strong> String RENDERING_CLASS_ATTR = <span class="string">"renderingClass"</span>; -<a name="99" href="#99">99</a> <strong>static</strong> <strong>final</strong> String RENDERED_CLASS_ATTR = <span class="string">"renderedClass"</span>; -<a name="100" href="#100">100</a> -<a name="101" href="#101">101</a> <strong>static</strong> <strong>final</strong> String EMPTY_STR = <span class="string">""</span>; -<a name="102" href="#102">102</a> <strong>static</strong> <strong>final</strong> Class[] ONE_STRING_PARAM = <strong>new</strong> Class[] {String.<strong>class</strong>}; -<a name="103" href="#103">103</a> -<a name="104" href="#104">104</a> <strong>final</strong> <strong>static</strong> String dbfKey = <span class="string">"javax.xml.parsers.DocumentBuilderFactory"</span>; -<a name="105" href="#105">105</a> -<a name="106" href="#106">106</a> -<a name="107" href="#107">107</a> <em class="comment">// key: appenderName, value: appender</em> -<a name="108" href="#108">108</a> <strong>private</strong> Hashtable appenderBag; -<a name="109" href="#109">109</a> -<a name="110" href="#110">110</a> <strong>private</strong> Properties props; -<a name="111" href="#111">111</a> <strong>private</strong> LoggerRepository repository; -<a name="112" href="#112">112</a> -<a name="113" href="#113">113</a> <strong>private</strong> LoggerFactory catFactory = <strong>null</strong>; -<a name="114" href="#114">114</a> -<a name="115" href="#115">115</a> <em>/**<em>*</em></em> -<a name="116" href="#116">116</a> <em> No argument constructor.</em> -<a name="117" href="#117">117</a> <em> */</em> -<a name="118" href="#118">118</a> <strong>public</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a>() { -<a name="119" href="#119">119</a> appenderBag = <strong>new</strong> Hashtable(); -<a name="120" href="#120">120</a> } -<a name="121" href="#121">121</a> -<a name="122" href="#122">122</a> <em>/**<em>*</em></em> -<a name="123" href="#123">123</a> <em> Used internally to parse appenders by IDREF name.</em> -<a name="124" href="#124">124</a> <em> */</em> -<a name="125" href="#125">125</a> <strong>protected</strong> -<a name="126" href="#126">126</a> Appender findAppenderByName(Document doc, String appenderName) { -<a name="127" href="#127">127</a> Appender appender = (Appender) appenderBag.get(appenderName); -<a name="128" href="#128">128</a> -<a name="129" href="#129">129</a> <strong>if</strong>(appender != <strong>null</strong>) { -<a name="130" href="#130">130</a> <strong>return</strong> appender; -<a name="131" href="#131">131</a> } <strong>else</strong> { -<a name="132" href="#132">132</a> <em class="comment">// Doesn't work on DOM Level 1 :</em> -<a name="133" href="#133">133</a> <em class="comment">// Element element = doc.getElementById(appenderName);</em> -<a name="134" href="#134">134</a> -<a name="135" href="#135">135</a> <em class="comment">// Endre's hack:</em> -<a name="136" href="#136">136</a> Element element = <strong>null</strong>; -<a name="137" href="#137">137</a> NodeList list = doc.getElementsByTagName(<span class="string">"appender"</span>); -<a name="138" href="#138">138</a> <strong>for</strong> (<strong>int</strong> t=0; t &lt; list.getLength(); t++) { -<a name="139" href="#139">139</a> Node node = list.item(t); -<a name="140" href="#140">140</a> NamedNodeMap map= node.getAttributes(); -<a name="141" href="#141">141</a> Node attrNode = map.getNamedItem(<span class="string">"name"</span>); -<a name="142" href="#142">142</a> <strong>if</strong> (appenderName.equals(attrNode.getNodeValue())) { -<a name="143" href="#143">143</a> element = (Element) node; -<a name="144" href="#144">144</a> <strong>break</strong>; -<a name="145" href="#145">145</a> } -<a name="146" href="#146">146</a> } -<a name="147" href="#147">147</a> <em class="comment">// Hack finished.</em> -<a name="148" href="#148">148</a> -<a name="149" href="#149">149</a> <strong>if</strong>(element == <strong>null</strong>) { -<a name="150" href="#150">150</a> LogLog.error(<span class="string">"No appender named ["</span>+appenderName+<span class="string">"] could be found."</span>); -<a name="151" href="#151">151</a> <strong>return</strong> <strong>null</strong>; -<a name="152" href="#152">152</a> } <strong>else</strong> { -<a name="153" href="#153">153</a> appender = parseAppender(element); -<a name="154" href="#154">154</a> appenderBag.put(appenderName, appender); -<a name="155" href="#155">155</a> <strong>return</strong> appender; -<a name="156" href="#156">156</a> } -<a name="157" href="#157">157</a> } -<a name="158" href="#158">158</a> } -<a name="159" href="#159">159</a> <em>/**<em>*</em></em> -<a name="160" href="#160">160</a> <em> Used internally to parse appenders by IDREF element.</em> -<a name="161" href="#161">161</a> <em> */</em> -<a name="162" href="#162">162</a> <strong>protected</strong> -<a name="163" href="#163">163</a> Appender findAppenderByReference(Element appenderRef) { -<a name="164" href="#164">164</a> String appenderName = subst(appenderRef.getAttribute(REF_ATTR)); -<a name="165" href="#165">165</a> Document doc = appenderRef.getOwnerDocument(); -<a name="166" href="#166">166</a> <strong>return</strong> findAppenderByName(doc, appenderName); -<a name="167" href="#167">167</a> } -<a name="168" href="#168">168</a> -<a name="169" href="#169">169</a> <em>/**<em>*</em></em> -<a name="170" href="#170">170</a> <em> * Delegates unrecognized content to created instance if</em> -<a name="171" href="#171">171</a> <em> * it supports UnrecognizedElementParser.</em> -<a name="172" href="#172">172</a> <em> * @since 1.2.15</em> -<a name="173" href="#173">173</a> <em> * @param instance instance, may be null.</em> -<a name="174" href="#174">174</a> <em> * @param element element, may not be null.</em> -<a name="175" href="#175">175</a> <em> * @param props properties</em> -<a name="176" href="#176">176</a> <em> * @throws IOException thrown if configuration of owner object</em> -<a name="177" href="#177">177</a> <em> * should be abandoned.</em> -<a name="178" href="#178">178</a> <em> */</em> -<a name="179" href="#179">179</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> parseUnrecognizedElement(<strong>final</strong> Object instance, -<a name="180" href="#180">180</a> <strong>final</strong> Element element, -<a name="181" href="#181">181</a> <strong>final</strong> Properties props) throws Exception { -<a name="182" href="#182">182</a> <strong>boolean</strong> recognized = false; -<a name="183" href="#183">183</a> <strong>if</strong> (instance instanceof UnrecognizedElementHandler) { -<a name="184" href="#184">184</a> recognized = ((UnrecognizedElementHandler) instance).parseUnrecognizedElement( -<a name="185" href="#185">185</a> element, props); -<a name="186" href="#186">186</a> } -<a name="187" href="#187">187</a> <strong>if</strong> (!recognized) { -<a name="188" href="#188">188</a> LogLog.warn(<span class="string">"Unrecognized element "</span> + element.getNodeName()); -<a name="189" href="#189">189</a> } -<a name="190" href="#190">190</a> } -<a name="191" href="#191">191</a> -<a name="192" href="#192">192</a> <em>/**<em>*</em></em> -<a name="193" href="#193">193</a> <em> * Delegates unrecognized content to created instance if</em> -<a name="194" href="#194">194</a> <em> * it supports UnrecognizedElementParser and catches and</em> -<a name="195" href="#195">195</a> <em> * logs any exception.</em> -<a name="196" href="#196">196</a> <em> * @since 1.2.15</em> -<a name="197" href="#197">197</a> <em> * @param instance instance, may be null.</em> -<a name="198" href="#198">198</a> <em> * @param element element, may not be null.</em> -<a name="199" href="#199">199</a> <em> * @param props properties</em> -<a name="200" href="#200">200</a> <em> */</em> -<a name="201" href="#201">201</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> quietParseUnrecognizedElement(<strong>final</strong> Object instance, -<a name="202" href="#202">202</a> <strong>final</strong> Element element, -<a name="203" href="#203">203</a> <strong>final</strong> Properties props) { -<a name="204" href="#204">204</a> <strong>try</strong> { -<a name="205" href="#205">205</a> parseUnrecognizedElement(instance, element, props); -<a name="206" href="#206">206</a> } <strong>catch</strong> (Exception ex) { -<a name="207" href="#207">207</a> LogLog.error(<span class="string">"Error in extension content: "</span>, ex); -<a name="208" href="#208">208</a> } -<a name="209" href="#209">209</a> } -<a name="210" href="#210">210</a> -<a name="211" href="#211">211</a> <em>/**<em>*</em></em> -<a name="212" href="#212">212</a> <em> Used internally to parse an appender element.</em> -<a name="213" href="#213">213</a> <em> */</em> -<a name="214" href="#214">214</a> <strong>protected</strong> -<a name="215" href="#215">215</a> Appender parseAppender (Element appenderElement) { -<a name="216" href="#216">216</a> String className = subst(appenderElement.getAttribute(CLASS_ATTR)); -<a name="217" href="#217">217</a> LogLog.debug(<span class="string">"Class name: ["</span> + className+']'); -<a name="218" href="#218">218</a> <strong>try</strong> { -<a name="219" href="#219">219</a> Object instance = Loader.loadClass(className).newInstance(); -<a name="220" href="#220">220</a> Appender appender = (Appender)instance; -<a name="221" href="#221">221</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(appender); -<a name="222" href="#222">222</a> -<a name="223" href="#223">223</a> appender.setName(subst(appenderElement.getAttribute(NAME_ATTR))); -<a name="224" href="#224">224</a> -<a name="225" href="#225">225</a> NodeList children = appenderElement.getChildNodes(); -<a name="226" href="#226">226</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); -<a name="227" href="#227">227</a> -<a name="228" href="#228">228</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { -<a name="229" href="#229">229</a> Node currentNode = children.item(loop); -<a name="230" href="#230">230</a> -<a name="231" href="#231">231</a> <em class="comment">/*<em class="comment"> We're only interested in Elements */</em></em> -<a name="232" href="#232">232</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { -<a name="233" href="#233">233</a> Element currentElement = (Element)currentNode; -<a name="234" href="#234">234</a> -<a name="235" href="#235">235</a> <em class="comment">// Parse appender parameters </em> -<a name="236" href="#236">236</a> <strong>if</strong> (currentElement.getTagName().equals(PARAM_TAG)) { -<a name="237" href="#237">237</a> setParameter(currentElement, propSetter); -<a name="238" href="#238">238</a> } -<a name="239" href="#239">239</a> <em class="comment">// Set appender layout</em> -<a name="240" href="#240">240</a> <strong>else</strong> <strong>if</strong> (currentElement.getTagName().equals(LAYOUT_TAG)) { -<a name="241" href="#241">241</a> appender.setLayout(parseLayout(currentElement)); -<a name="242" href="#242">242</a> } -<a name="243" href="#243">243</a> <em class="comment">// Add filters</em> -<a name="244" href="#244">244</a> <strong>else</strong> <strong>if</strong> (currentElement.getTagName().equals(FILTER_TAG)) { -<a name="245" href="#245">245</a> parseFilters(currentElement, appender); -<a name="246" href="#246">246</a> } -<a name="247" href="#247">247</a> <strong>else</strong> <strong>if</strong> (currentElement.getTagName().equals(ERROR_HANDLER_TAG)) { -<a name="248" href="#248">248</a> parseErrorHandler(currentElement, appender); -<a name="249" href="#249">249</a> } -<a name="250" href="#250">250</a> <strong>else</strong> <strong>if</strong> (currentElement.getTagName().equals(APPENDER_REF_TAG)) { -<a name="251" href="#251">251</a> String refName = subst(currentElement.getAttribute(REF_ATTR)); -<a name="252" href="#252">252</a> <strong>if</strong>(appender instanceof AppenderAttachable) { -<a name="253" href="#253">253</a> AppenderAttachable aa = (AppenderAttachable) appender; -<a name="254" href="#254">254</a> LogLog.debug(<span class="string">"Attaching appender named ["</span>+ refName+ -<a name="255" href="#255">255</a> <span class="string">"] to appender named ["</span>+ appender.getName()+<span class="string">"]."</span>); -<a name="256" href="#256">256</a> aa.addAppender(findAppenderByReference(currentElement)); -<a name="257" href="#257">257</a> } <strong>else</strong> { -<a name="258" href="#258">258</a> LogLog.error(<span class="string">"Requesting attachment of appender named ["</span>+ -<a name="259" href="#259">259</a> refName+ <span class="string">"] to appender named ["</span>+ appender.getName()+ -<a name="260" href="#260">260</a> <span class="string">"] which does not implement org.apache.log4j.spi.AppenderAttachable."</span>); -<a name="261" href="#261">261</a> } -<a name="262" href="#262">262</a> } <strong>else</strong> { -<a name="263" href="#263">263</a> parseUnrecognizedElement(instance, currentElement, props); -<a name="264" href="#264">264</a> } -<a name="265" href="#265">265</a> } -<a name="266" href="#266">266</a> } -<a name="267" href="#267">267</a> propSetter.activate(); -<a name="268" href="#268">268</a> <strong>return</strong> appender; -<a name="269" href="#269">269</a> } -<a name="270" href="#270">270</a> <em class="comment">/*<em class="comment"> Yes, it's ugly. But all of these exceptions point to the same</em></em> -<a name="271" href="#271">271</a> <em class="comment"> problem: we can't create an Appender */</em> -<a name="272" href="#272">272</a> <strong>catch</strong> (Exception oops) { -<a name="273" href="#273">273</a> LogLog.error(<span class="string">"Could not create an Appender. Reported error follows."</span>, -<a name="274" href="#274">274</a> oops); -<a name="275" href="#275">275</a> <strong>return</strong> <strong>null</strong>; -<a name="276" href="#276">276</a> } -<a name="277" href="#277">277</a> } -<a name="278" href="#278">278</a> -<a name="279" href="#279">279</a> <em>/**<em>*</em></em> -<a name="280" href="#280">280</a> <em> Used internally to parse an {@link ErrorHandler} element.</em> -<a name="281" href="#281">281</a> <em> */</em> -<a name="282" href="#282">282</a> <strong>protected</strong> -<a name="283" href="#283">283</a> <strong>void</strong> parseErrorHandler(Element element, Appender appender) { -<a name="284" href="#284">284</a> ErrorHandler eh = (ErrorHandler) OptionConverter.instantiateByClassName( -<a name="285" href="#285">285</a> subst(element.getAttribute(CLASS_ATTR)), -<a name="286" href="#286">286</a> org.apache.log4j.spi.ErrorHandler.<strong>class</strong>, -<a name="287" href="#287">287</a> <strong>null</strong>); -<a name="288" href="#288">288</a> -<a name="289" href="#289">289</a> <strong>if</strong>(eh != <strong>null</strong>) { -<a name="290" href="#290">290</a> eh.setAppender(appender); -<a name="291" href="#291">291</a> -<a name="292" href="#292">292</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(eh); -<a name="293" href="#293">293</a> NodeList children = element.getChildNodes(); -<a name="294" href="#294">294</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); -<a name="295" href="#295">295</a> -<a name="296" href="#296">296</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { -<a name="297" href="#297">297</a> Node currentNode = children.item(loop); -<a name="298" href="#298">298</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { -<a name="299" href="#299">299</a> Element currentElement = (Element) currentNode; -<a name="300" href="#300">300</a> String tagName = currentElement.getTagName(); -<a name="301" href="#301">301</a> <strong>if</strong>(tagName.equals(PARAM_TAG)) { -<a name="302" href="#302">302</a> setParameter(currentElement, propSetter); -<a name="303" href="#303">303</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(APPENDER_REF_TAG)) { -<a name="304" href="#304">304</a> eh.setBackupAppender(findAppenderByReference(currentElement)); -<a name="305" href="#305">305</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(LOGGER_REF)) { -<a name="306" href="#306">306</a> String loggerName = currentElement.getAttribute(REF_ATTR); -<a name="307" href="#307">307</a> Logger logger = (catFactory == <strong>null</strong>) ? repository.getLogger(loggerName) -<a name="308" href="#308">308</a> : repository.getLogger(loggerName, catFactory); -<a name="309" href="#309">309</a> eh.setLogger(logger); -<a name="310" href="#310">310</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(ROOT_REF)) { -<a name="311" href="#311">311</a> Logger root = repository.getRootLogger(); -<a name="312" href="#312">312</a> eh.setLogger(root); -<a name="313" href="#313">313</a> } <strong>else</strong> { -<a name="314" href="#314">314</a> quietParseUnrecognizedElement(eh, currentElement, props); -<a name="315" href="#315">315</a> } -<a name="316" href="#316">316</a> } -<a name="317" href="#317">317</a> } -<a name="318" href="#318">318</a> propSetter.activate(); -<a name="319" href="#319">319</a> appender.setErrorHandler(eh); -<a name="320" href="#320">320</a> } -<a name="321" href="#321">321</a> } -<a name="322" href="#322">322</a> -<a name="323" href="#323">323</a> <em>/**<em>*</em></em> -<a name="324" href="#324">324</a> <em> Used internally to parse a filter element.</em> -<a name="325" href="#325">325</a> <em> */</em> -<a name="326" href="#326">326</a> <strong>protected</strong> -<a name="327" href="#327">327</a> <strong>void</strong> parseFilters(Element element, Appender appender) { -<a name="328" href="#328">328</a> String clazz = subst(element.getAttribute(CLASS_ATTR)); -<a name="329" href="#329">329</a> Filter filter = (Filter) OptionConverter.instantiateByClassName(clazz, -<a name="330" href="#330">330</a> Filter.<strong>class</strong>, <strong>null</strong>); -<a name="331" href="#331">331</a> -<a name="332" href="#332">332</a> <strong>if</strong>(filter != <strong>null</strong>) { -<a name="333" href="#333">333</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(filter); -<a name="334" href="#334">334</a> NodeList children = element.getChildNodes(); -<a name="335" href="#335">335</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); -<a name="336" href="#336">336</a> -<a name="337" href="#337">337</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { -<a name="338" href="#338">338</a> Node currentNode = children.item(loop); -<a name="339" href="#339">339</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { -<a name="340" href="#340">340</a> Element currentElement = (Element) currentNode; -<a name="341" href="#341">341</a> String tagName = currentElement.getTagName(); -<a name="342" href="#342">342</a> <strong>if</strong>(tagName.equals(PARAM_TAG)) { -<a name="343" href="#343">343</a> setParameter(currentElement, propSetter); -<a name="344" href="#344">344</a> } <strong>else</strong> { -<a name="345" href="#345">345</a> quietParseUnrecognizedElement(filter, currentElement, props); -<a name="346" href="#346">346</a> } -<a name="347" href="#347">347</a> } -<a name="348" href="#348">348</a> } -<a name="349" href="#349">349</a> propSetter.activate(); -<a name="350" href="#350">350</a> LogLog.debug(<span class="string">"Adding filter of type ["</span>+filter.getClass() -<a name="351" href="#351">351</a> +<span class="string">"] to appender named ["</span>+appender.getName()+<span class="string">"]."</span>); -<a name="352" href="#352">352</a> appender.addFilter(filter); -<a name="353" href="#353">353</a> } -<a name="354" href="#354">354</a> } -<a name="355" href="#355">355</a> -<a name="356" href="#356">356</a> <em>/**<em>*</em></em> -<a name="357" href="#357">357</a> <em> Used internally to parse an category element.</em> -<a name="358" href="#358">358</a> <em> */</em> -<a name="359" href="#359">359</a> <strong>protected</strong> -<a name="360" href="#360">360</a> <strong>void</strong> parseCategory (Element loggerElement) { -<a name="361" href="#361">361</a> <em class="comment">// Create a new org.apache.log4j.Category object from the &lt;category> element.</em> -<a name="362" href="#362">362</a> String catName = subst(loggerElement.getAttribute(NAME_ATTR)); -<a name="363" href="#363">363</a> -<a name="364" href="#364">364</a> Logger cat; -<a name="365" href="#365">365</a> -<a name="366" href="#366">366</a> String className = subst(loggerElement.getAttribute(CLASS_ATTR)); -<a name="367" href="#367">367</a> -<a name="368" href="#368">368</a> -<a name="369" href="#369">369</a> <strong>if</strong>(EMPTY_STR.equals(className)) { -<a name="370" href="#370">370</a> LogLog.debug(<span class="string">"Retreiving an instance of org.apache.log4j.Logger."</span>); -<a name="371" href="#371">371</a> cat = (catFactory == <strong>null</strong>) ? repository.getLogger(catName) : repository.getLogger(catName, catFactory); -<a name="372" href="#372">372</a> } -<a name="373" href="#373">373</a> <strong>else</strong> { -<a name="374" href="#374">374</a> LogLog.debug(<span class="string">"Desired logger sub-class: ["</span>+className+']'); -<a name="375" href="#375">375</a> <strong>try</strong> { -<a name="376" href="#376">376</a> Class clazz = Loader.loadClass(className); -<a name="377" href="#377">377</a> Method getInstanceMethod = clazz.getMethod(<span class="string">"getLogger"</span>, -<a name="378" href="#378">378</a> ONE_STRING_PARAM); -<a name="379" href="#379">379</a> cat = (Logger) getInstanceMethod.invoke(<strong>null</strong>, <strong>new</strong> Object[] {catName}); -<a name="380" href="#380">380</a> } <strong>catch</strong> (Exception oops) { -<a name="381" href="#381">381</a> LogLog.error(<span class="string">"Could not retrieve category ["</span>+catName+ -<a name="382" href="#382">382</a> <span class="string">"]. Reported error follows."</span>, oops); -<a name="383" href="#383">383</a> <strong>return</strong>; -<a name="384" href="#384">384</a> } -<a name="385" href="#385">385</a> } -<a name="386" href="#386">386</a> -<a name="387" href="#387">387</a> <em class="comment">// Setting up a category needs to be an atomic operation, in order</em> -<a name="388" href="#388">388</a> <em class="comment">// to protect potential log operations while category</em> -<a name="389" href="#389">389</a> <em class="comment">// configuration is in progress.</em> -<a name="390" href="#390">390</a> <strong>synchronized</strong>(cat) { -<a name="391" href="#391">391</a> <strong>boolean</strong> additivity = OptionConverter.toBoolean( -<a name="392" href="#392">392</a> subst(loggerElement.getAttribute(ADDITIVITY_ATTR)), -<a name="393" href="#393">393</a> <strong>true</strong>); -<a name="394" href="#394">394</a> -<a name="395" href="#395">395</a> LogLog.debug(<span class="string">"Setting ["</span>+cat.getName()+<span class="string">"] additivity to ["</span>+additivity+<span class="string">"]."</span>); -<a name="396" href="#396">396</a> cat.setAdditivity(additivity); -<a name="397" href="#397">397</a> parseChildrenOfLoggerElement(loggerElement, cat, false); -<a name="398" href="#398">398</a> } -<a name="399" href="#399">399</a> } -<a name="400" href="#400">400</a> -<a name="401" href="#401">401</a> -<a name="402" href="#402">402</a> <em>/**<em>*</em></em> -<a name="403" href="#403">403</a> <em> Used internally to parse the category factory element.</em> -<a name="404" href="#404">404</a> <em> */</em> -<a name="405" href="#405">405</a> <strong>protected</strong> -<a name="406" href="#406">406</a> <strong>void</strong> parseCategoryFactory(Element factoryElement) { -<a name="407" href="#407">407</a> String className = subst(factoryElement.getAttribute(CLASS_ATTR)); -<a name="408" href="#408">408</a> -<a name="409" href="#409">409</a> <strong>if</strong>(EMPTY_STR.equals(className)) { -<a name="410" href="#410">410</a> LogLog.error(<span class="string">"Category Factory tag "</span> + CLASS_ATTR + <span class="string">" attribute not found."</span>); -<a name="411" href="#411">411</a> LogLog.debug(<span class="string">"No Category Factory configured."</span>); -<a name="412" href="#412">412</a> } -<a name="413" href="#413">413</a> <strong>else</strong> { -<a name="414" href="#414">414</a> LogLog.debug(<span class="string">"Desired category factory: ["</span>+className+']'); -<a name="415" href="#415">415</a> Object factory = OptionConverter.instantiateByClassName(className, -<a name="416" href="#416">416</a> LoggerFactory.<strong>class</strong>, -<a name="417" href="#417">417</a> <strong>null</strong>); -<a name="418" href="#418">418</a> <strong>if</strong> (factory instanceof LoggerFactory) { -<a name="419" href="#419">419</a> catFactory = (LoggerFactory) factory; -<a name="420" href="#420">420</a> } <strong>else</strong> { -<a name="421" href="#421">421</a> LogLog.error(<span class="string">"Category Factory class "</span> + className + <span class="string">" does not implement org.apache.log4j.LoggerFactory"</span>); -<a name="422" href="#422">422</a> } -<a name="423" href="#423">423</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(factory); -<a name="424" href="#424">424</a> -<a name="425" href="#425">425</a> Element currentElement = <strong>null</strong>; -<a name="426" href="#426">426</a> Node currentNode = <strong>null</strong>; -<a name="427" href="#427">427</a> NodeList children = factoryElement.getChildNodes(); -<a name="428" href="#428">428</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); -<a name="429" href="#429">429</a> -<a name="430" href="#430">430</a> <strong>for</strong> (<strong>int</strong> loop=0; loop &lt; length; loop++) { -<a name="431" href="#431">431</a> currentNode = children.item(loop); -<a name="432" href="#432">432</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { -<a name="433" href="#433">433</a> currentElement = (Element)currentNode; -<a name="434" href="#434">434</a> <strong>if</strong> (currentElement.getTagName().equals(PARAM_TAG)) { -<a name="435" href="#435">435</a> setParameter(currentElement, propSetter); -<a name="436" href="#436">436</a> } <strong>else</strong> { -<a name="437" href="#437">437</a> quietParseUnrecognizedElement(factory, currentElement, props); -<a name="438" href="#438">438</a> } -<a name="439" href="#439">439</a> } -<a name="440" href="#440">440</a> } -<a name="441" href="#441">441</a> } -<a name="442" href="#442">442</a> } -<a name="443" href="#443">443</a> -<a name="444" href="#444">444</a> -<a name="445" href="#445">445</a> <em>/**<em>*</em></em> -<a name="446" href="#446">446</a> <em> Used internally to parse the roor category element.</em> -<a name="447" href="#447">447</a> <em> */</em> -<a name="448" href="#448">448</a> <strong>protected</strong> -<a name="449" href="#449">449</a> <strong>void</strong> parseRoot (Element rootElement) { -<a name="450" href="#450">450</a> Logger root = repository.getRootLogger(); -<a name="451" href="#451">451</a> <em class="comment">// category configuration needs to be atomic</em> -<a name="452" href="#452">452</a> <strong>synchronized</strong>(root) { -<a name="453" href="#453">453</a> parseChildrenOfLoggerElement(rootElement, root, <strong>true</strong>); -<a name="454" href="#454">454</a> } -<a name="455" href="#455">455</a> } -<a name="456" href="#456">456</a> -<a name="457" href="#457">457</a> -<a name="458" href="#458">458</a> <em>/**<em>*</em></em> -<a name="459" href="#459">459</a> <em> Used internally to parse the children of a category element.</em> -<a name="460" href="#460">460</a> <em> */</em> -<a name="461" href="#461">461</a> <strong>protected</strong> -<a name="462" href="#462">462</a> <strong>void</strong> parseChildrenOfLoggerElement(Element catElement, -<a name="463" href="#463">463</a> Logger cat, <strong>boolean</strong> isRoot) { -<a name="464" href="#464">464</a> -<a name="465" href="#465">465</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(cat); -<a name="466" href="#466">466</a> -<a name="467" href="#467">467</a> <em class="comment">// Remove all existing appenders from cat. They will be</em> -<a name="468" href="#468">468</a> <em class="comment">// reconstructed if need be.</em> -<a name="469" href="#469">469</a> cat.removeAllAppenders(); -<a name="470" href="#470">470</a> -<a name="471" href="#471">471</a> -<a name="472" href="#472">472</a> NodeList children = catElement.getChildNodes(); -<a name="473" href="#473">473</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); -<a name="474" href="#474">474</a> -<a name="475" href="#475">475</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { -<a name="476" href="#476">476</a> Node currentNode = children.item(loop); -<a name="477" href="#477">477</a> -<a name="478" href="#478">478</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { -<a name="479" href="#479">479</a> Element currentElement = (Element) currentNode; -<a name="480" href="#480">480</a> String tagName = currentElement.getTagName(); -<a name="481" href="#481">481</a> -<a name="482" href="#482">482</a> <strong>if</strong> (tagName.equals(APPENDER_REF_TAG)) { -<a name="483" href="#483">483</a> Element appenderRef = (Element) currentNode; -<a name="484" href="#484">484</a> Appender appender = findAppenderByReference(appenderRef); -<a name="485" href="#485">485</a> String refName = subst(appenderRef.getAttribute(REF_ATTR)); -<a name="486" href="#486">486</a> <strong>if</strong>(appender != <strong>null</strong>) -<a name="487" href="#487">487</a> LogLog.debug(<span class="string">"Adding appender named ["</span>+ refName+ -<a name="488" href="#488">488</a> <span class="string">"] to category ["</span>+cat.getName()+<span class="string">"]."</span>); -<a name="489" href="#489">489</a> <strong>else</strong> -<a name="490" href="#490">490</a> LogLog.debug(<span class="string">"Appender named ["</span>+ refName + <span class="string">"] not found."</span>); -<a name="491" href="#491">491</a> -<a name="492" href="#492">492</a> cat.addAppender(appender); -<a name="493" href="#493">493</a> -<a name="494" href="#494">494</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(LEVEL_TAG)) { -<a name="495" href="#495">495</a> parseLevel(currentElement, cat, isRoot); -<a name="496" href="#496">496</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(PRIORITY_TAG)) { -<a name="497" href="#497">497</a> parseLevel(currentElement, cat, isRoot); -<a name="498" href="#498">498</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(PARAM_TAG)) { -<a name="499" href="#499">499</a> setParameter(currentElement, propSetter); -<a name="500" href="#500">500</a> } <strong>else</strong> { -<a name="501" href="#501">501</a> quietParseUnrecognizedElement(cat, currentElement, props); -<a name="502" href="#502">502</a> } -<a name="503" href="#503">503</a> } -<a name="504" href="#504">504</a> } -<a name="505" href="#505">505</a> propSetter.activate(); -<a name="506" href="#506">506</a> } -<a name="507" href="#507">507</a> -<a name="508" href="#508">508</a> <em>/**<em>*</em></em> -<a name="509" href="#509">509</a> <em> Used internally to parse a layout element.</em> -<a name="510" href="#510">510</a> <em> */</em> -<a name="511" href="#511">511</a> <strong>protected</strong> -<a name="512" href="#512">512</a> Layout parseLayout (Element layout_element) { -<a name="513" href="#513">513</a> String className = subst(layout_element.getAttribute(CLASS_ATTR)); -<a name="514" href="#514">514</a> LogLog.debug(<span class="string">"Parsing layout of class: \&quot;"</span>+className+<span class="string">"\&quot;"</span>); -<a name="515" href="#515">515</a> <strong>try</strong> { -<a name="516" href="#516">516</a> Object instance = Loader.loadClass(className).newInstance(); -<a name="517" href="#517">517</a> Layout layout = (Layout)instance; -<a name="518" href="#518">518</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(layout); -<a name="519" href="#519">519</a> -<a name="520" href="#520">520</a> NodeList params = layout_element.getChildNodes(); -<a name="521" href="#521">521</a> <strong>final</strong> <strong>int</strong> length = params.getLength(); -<a name="522" href="#522">522</a> -<a name="523" href="#523">523</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { -<a name="524" href="#524">524</a> Node currentNode = (Node)params.item(loop); -<a name="525" href="#525">525</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { -<a name="526" href="#526">526</a> Element currentElement = (Element) currentNode; -<a name="527" href="#527">527</a> String tagName = currentElement.getTagName(); -<a name="528" href="#528">528</a> <strong>if</strong>(tagName.equals(PARAM_TAG)) { -<a name="529" href="#529">529</a> setParameter(currentElement, propSetter); -<a name="530" href="#530">530</a> } <strong>else</strong> { -<a name="531" href="#531">531</a> parseUnrecognizedElement(instance, currentElement, props); -<a name="532" href="#532">532</a> } -<a name="533" href="#533">533</a> } -<a name="534" href="#534">534</a> } -<a name="535" href="#535">535</a> -<a name="536" href="#536">536</a> propSetter.activate(); -<a name="537" href="#537">537</a> <strong>return</strong> layout; -<a name="538" href="#538">538</a> } -<a name="539" href="#539">539</a> <strong>catch</strong> (Exception oops) { -<a name="540" href="#540">540</a> LogLog.error(<span class="string">"Could not create the Layout. Reported error follows."</span>, -<a name="541" href="#541">541</a> oops); -<a name="542" href="#542">542</a> <strong>return</strong> <strong>null</strong>; -<a name="543" href="#543">543</a> } -<a name="544" href="#544">544</a> } -<a name="545" href="#545">545</a> -<a name="546" href="#546">546</a> <strong>protected</strong> -<a name="547" href="#547">547</a> <strong>void</strong> parseRenderer(Element element) { -<a name="548" href="#548">548</a> String renderingClass = subst(element.getAttribute(RENDERING_CLASS_ATTR)); -<a name="549" href="#549">549</a> String renderedClass = subst(element.getAttribute(RENDERED_CLASS_ATTR)); -<a name="550" href="#550">550</a> <strong>if</strong>(repository instanceof RendererSupport) { -<a name="551" href="#551">551</a> RendererMap.addRenderer((RendererSupport) repository, renderedClass, -<a name="552" href="#552">552</a> renderingClass); -<a name="553" href="#553">553</a> } -<a name="554" href="#554">554</a> } -<a name="555" href="#555">555</a> -<a name="556" href="#556">556</a> <em>/**<em>*</em></em> -<a name="557" href="#557">557</a> <em> Used internally to parse a level element.</em> -<a name="558" href="#558">558</a> <em> */</em> -<a name="559" href="#559">559</a> <strong>protected</strong> -<a name="560" href="#560">560</a> <strong>void</strong> parseLevel(Element element, Logger logger, <strong>boolean</strong> isRoot) { -<a name="561" href="#561">561</a> String catName = logger.getName(); -<a name="562" href="#562">562</a> <strong>if</strong>(isRoot) { -<a name="563" href="#563">563</a> catName = <span class="string">"root"</span>; -<a name="564" href="#564">564</a> } -<a name="565" href="#565">565</a> -<a name="566" href="#566">566</a> String priStr = subst(element.getAttribute(VALUE_ATTR)); -<a name="567" href="#567">567</a> LogLog.debug(<span class="string">"Level value for "</span>+catName+<span class="string">" is ["</span>+priStr+<span class="string">"]."</span>); -<a name="568" href="#568">568</a> -<a name="569" href="#569">569</a> <strong>if</strong>(INHERITED.equalsIgnoreCase(priStr) || NULL.equalsIgnoreCase(priStr)) { -<a name="570" href="#570">570</a> <strong>if</strong>(isRoot) { -<a name="571" href="#571">571</a> LogLog.error(<span class="string">"Root level cannot be inherited. Ignoring directive."</span>); -<a name="572" href="#572">572</a> } <strong>else</strong> { -<a name="573" href="#573">573</a> logger.setLevel(<strong>null</strong>); -<a name="574" href="#574">574</a> } -<a name="575" href="#575">575</a> } <strong>else</strong> { -<a name="576" href="#576">576</a> String className = subst(element.getAttribute(CLASS_ATTR)); -<a name="577" href="#577">577</a> <strong>if</strong>(EMPTY_STR.equals(className)) { -<a name="578" href="#578">578</a> logger.setLevel(OptionConverter.toLevel(priStr, Level.DEBUG)); -<a name="579" href="#579">579</a> } <strong>else</strong> { -<a name="580" href="#580">580</a> LogLog.debug(<span class="string">"Desired Level sub-class: ["</span>+className+']'); -<a name="581" href="#581">581</a> <strong>try</strong> { -<a name="582" href="#582">582</a> Class clazz = Loader.loadClass(className); -<a name="583" href="#583">583</a> Method toLevelMethod = clazz.getMethod(<span class="string">"toLevel"</span>, -<a name="584" href="#584">584</a> ONE_STRING_PARAM); -<a name="585" href="#585">585</a> Level pri = (Level) toLevelMethod.invoke(<strong>null</strong>, -<a name="586" href="#586">586</a> <strong>new</strong> Object[] {priStr}); -<a name="587" href="#587">587</a> logger.setLevel(pri); -<a name="588" href="#588">588</a> } <strong>catch</strong> (Exception oops) { -<a name="589" href="#589">589</a> LogLog.error(<span class="string">"Could not create level ["</span>+priStr+ -<a name="590" href="#590">590</a> <span class="string">"]. Reported error follows."</span>, oops); -<a name="591" href="#591">591</a> <strong>return</strong>; -<a name="592" href="#592">592</a> } -<a name="593" href="#593">593</a> } -<a name="594" href="#594">594</a> } -<a name="595" href="#595">595</a> LogLog.debug(catName + <span class="string">" level set to "</span> + logger.getLevel()); -<a name="596" href="#596">596</a> } -<a name="597" href="#597">597</a> -<a name="598" href="#598">598</a> <strong>protected</strong> -<a name="599" href="#599">599</a> <strong>void</strong> setParameter(Element elem, PropertySetter propSetter) { -<a name="600" href="#600">600</a> setParameter(elem, propSetter, props); -<a name="601" href="#601">601</a> } -<a name="602" href="#602">602</a> -<a name="603" href="#603">603</a> -<a name="604" href="#604">604</a> <em>/**<em>*</em></em> -<a name="605" href="#605">605</a> <em> Configure log4j using a &lt;code>configuration&lt;/code> element as</em> -<a name="606" href="#606">606</a> <em> defined in the log4j.dtd. </em> -<a name="607" href="#607">607</a> -<a name="608" href="#608">608</a> <em> */</em> -<a name="609" href="#609">609</a> <strong>static</strong> -<a name="610" href="#610">610</a> <strong>public</strong> -<a name="611" href="#611">611</a> <strong>void</strong> configure (Element element) { -<a name="612" href="#612">612</a> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a> configurator = <strong>new</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a>(); -<a name="613" href="#613">613</a> configurator.doConfigure(element, LogManager.getLoggerRepository()); -<a name="614" href="#614">614</a> } -<a name="615" href="#615">615</a> -<a name="616" href="#616">616</a> <em>/**<em>*</em></em> -<a name="617" href="#617">617</a> <em> Like {@link #configureAndWatch(String, long)} except that the</em> -<a name="618" href="#618">618</a> <em> default delay as defined by {@link FileWatchdog#DEFAULT_DELAY} is</em> -<a name="619" href="#619">619</a> <em> used. </em> -<a name="620" href="#620">620</a> -<a name="621" href="#621">621</a> <em> @param configFilename A log4j configuration file in XML format.</em> -<a name="622" href="#622">622</a> -<a name="623" href="#623">623</a> <em> */</em> -<a name="624" href="#624">624</a> <strong>static</strong> -<a name="625" href="#625">625</a> <strong>public</strong> -<a name="626" href="#626">626</a> <strong>void</strong> configureAndWatch(String configFilename) { -<a name="627" href="#627">627</a> configureAndWatch(configFilename, FileWatchdog.DEFAULT_DELAY); -<a name="628" href="#628">628</a> } -<a name="629" href="#629">629</a> -<a name="630" href="#630">630</a> <em>/**<em>*</em></em> -<a name="631" href="#631">631</a> <em> Read the configuration file &lt;code>configFilename&lt;/code> if it</em> -<a name="632" href="#632">632</a> <em> exists. Moreover, a thread will be created that will periodically</em> -<a name="633" href="#633">633</a> <em> check if &lt;code>configFilename&lt;/code> has been created or</em> -<a name="634" href="#634">634</a> <em> modified. The period is determined by the &lt;code>delay&lt;/code></em> -<a name="635" href="#635">635</a> <em> argument. If a change or file creation is detected, then</em> -<a name="636" href="#636">636</a> <em> &lt;code>configFilename&lt;/code> is read to configure log4j. </em> -<a name="637" href="#637">637</a> -<a name="638" href="#638">638</a> <em> @param configFilename A log4j configuration file in XML format.</em> -<a name="639" href="#639">639</a> <em> @param delay The delay in milliseconds to wait between each check.</em> -<a name="640" href="#640">640</a> <em> */</em> -<a name="641" href="#641">641</a> <strong>static</strong> -<a name="642" href="#642">642</a> <strong>public</strong> -<a name="643" href="#643">643</a> <strong>void</strong> configureAndWatch(String configFilename, <strong>long</strong> delay) { -<a name="644" href="#644">644</a> XMLWatchdog xdog = <strong>new</strong> XMLWatchdog(configFilename); -<a name="645" href="#645">645</a> xdog.setDelay(delay); -<a name="646" href="#646">646</a> xdog.start(); -<a name="647" href="#647">647</a> } -<a name="648" href="#648">648</a> -<a name="649" href="#649">649</a> <strong>private</strong> <strong>interface</strong> ParseAction { -<a name="650" href="#650">650</a> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException; -<a name="651" href="#651">651</a> } -<a name="652" href="#652">652</a> -<a name="653" href="#653">653</a> -<a name="654" href="#654">654</a> <strong>public</strong> -<a name="655" href="#655">655</a> <strong>void</strong> doConfigure(<strong>final</strong> String filename, LoggerRepository repository) { -<a name="656" href="#656">656</a> ParseAction action = <strong>new</strong> ParseAction() { -<a name="657" href="#657">657</a> <strong>public</strong> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException { -<a name="658" href="#658">658</a> <strong>return</strong> parser.parse(<strong>new</strong> File(filename)); -<a name="659" href="#659">659</a> } -<a name="660" href="#660">660</a> <strong>public</strong> String toString() { -<a name="661" href="#661">661</a> <strong>return</strong> <span class="string">"file ["</span> + filename + <span class="string">"]"</span>; -<a name="662" href="#662">662</a> } -<a name="663" href="#663">663</a> }; -<a name="664" href="#664">664</a> doConfigure(action, repository); -<a name="665" href="#665">665</a> } -<a name="666" href="#666">666</a> -<a name="667" href="#667">667</a> -<a name="668" href="#668">668</a> <strong>public</strong> -<a name="669" href="#669">669</a> <strong>void</strong> doConfigure(<strong>final</strong> URL url, LoggerRepository repository) { -<a name="670" href="#670">670</a> ParseAction action = <strong>new</strong> ParseAction() { -<a name="671" href="#671">671</a> <strong>public</strong> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException { -<a name="672" href="#672">672</a> <strong>return</strong> parser.parse(url.toString()); -<a name="673" href="#673">673</a> } -<a name="674" href="#674">674</a> <strong>public</strong> String toString() { -<a name="675" href="#675">675</a> <strong>return</strong> <span class="string">"url ["</span> + url.toString() + <span class="string">"]"</span>; -<a name="676" href="#676">676</a> } -<a name="677" href="#677">677</a> }; -<a name="678" href="#678">678</a> doConfigure(action, repository); -<a name="679" href="#679">679</a> } -<a name="680" href="#680">680</a> -<a name="681" href="#681">681</a> <em>/**<em>*</em></em> -<a name="682" href="#682">682</a> <em> Configure log4j by reading in a log4j.dtd compliant XML</em> -<a name="683" href="#683">683</a> <em> configuration file.</em> -<a name="684" href="#684">684</a> -<a name="685" href="#685">685</a> <em> */</em> -<a name="686" href="#686">686</a> <strong>public</strong> -<a name="687" href="#687">687</a> <strong>void</strong> doConfigure(<strong>final</strong> InputStream inputStream, LoggerRepository repository) -<a name="688" href="#688">688</a> throws FactoryConfigurationError { -<a name="689" href="#689">689</a> ParseAction action = <strong>new</strong> ParseAction() { -<a name="690" href="#690">690</a> <strong>public</strong> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException { -<a name="691" href="#691">691</a> InputSource inputSource = <strong>new</strong> InputSource(inputStream); -<a name="692" href="#692">692</a> inputSource.setSystemId(<span class="string">"dummy://log4j.dtd"</span>); -<a name="693" href="#693">693</a> <strong>return</strong> parser.parse(inputSource); -<a name="694" href="#694">694</a> } -<a name="695" href="#695">695</a> <strong>public</strong> String toString() { -<a name="696" href="#696">696</a> <strong>return</strong> <span class="string">"input stream ["</span> + inputStream.toString() + <span class="string">"]"</span>; -<a name="697" href="#697">697</a> } -<a name="698" href="#698">698</a> }; -<a name="699" href="#699">699</a> doConfigure(action, repository); -<a name="700" href="#700">700</a> } -<a name="701" href="#701">701</a> -<a name="702" href="#702">702</a> <em>/**<em>*</em></em> -<a name="703" href="#703">703</a> <em> Configure log4j by reading in a log4j.dtd compliant XML</em> -<a name="704" href="#704">704</a> <em> configuration file.</em> -<a name="705" href="#705">705</a> -<a name="706" href="#706">706</a> <em> */</em> -<a name="707" href="#707">707</a> <strong>public</strong> -<a name="708" href="#708">708</a> <strong>void</strong> doConfigure(<strong>final</strong> Reader reader, LoggerRepository repository) -<a name="709" href="#709">709</a> throws FactoryConfigurationError { -<a name="710" href="#710">710</a> ParseAction action = <strong>new</strong> ParseAction() { -<a name="711" href="#711">711</a> <strong>public</strong> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException { -<a name="712" href="#712">712</a> InputSource inputSource = <strong>new</strong> InputSource(reader); -<a name="713" href="#713">713</a> inputSource.setSystemId(<span class="string">"dummy://log4j.dtd"</span>); -<a name="714" href="#714">714</a> <strong>return</strong> parser.parse(inputSource); -<a name="715" href="#715">715</a> } -<a name="716" href="#716">716</a> <strong>public</strong> String toString() { -<a name="717" href="#717">717</a> <strong>return</strong> <span class="string">"reader ["</span> + reader.toString() + <span class="string">"]"</span>; -<a name="718" href="#718">718</a> } -<a name="719" href="#719">719</a> }; -<a name="720" href="#720">720</a> doConfigure(action, repository); -<a name="721" href="#721">721</a> } -<a name="722" href="#722">722</a> -<a name="723" href="#723">723</a> <em>/**<em>*</em></em> -<a name="724" href="#724">724</a> <em> Configure log4j by reading in a log4j.dtd compliant XML</em> -<a name="725" href="#725">725</a> <em> configuration file.</em> -<a name="726" href="#726">726</a> -<a name="727" href="#727">727</a> <em> */</em> -<a name="728" href="#728">728</a> <strong>protected</strong> -<a name="729" href="#729">729</a> <strong>void</strong> doConfigure(<strong>final</strong> InputSource inputSource, LoggerRepository repository) -<a name="730" href="#730">730</a> throws FactoryConfigurationError { -<a name="731" href="#731">731</a> <strong>if</strong> (inputSource.getSystemId() == <strong>null</strong>) { -<a name="732" href="#732">732</a> inputSource.setSystemId(<span class="string">"dummy://log4j.dtd"</span>); -<a name="733" href="#733">733</a> } -<a name="734" href="#734">734</a> ParseAction action = <strong>new</strong> ParseAction() { -<a name="735" href="#735">735</a> <strong>public</strong> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException { -<a name="736" href="#736">736</a> <strong>return</strong> parser.parse(inputSource); -<a name="737" href="#737">737</a> } -<a name="738" href="#738">738</a> <strong>public</strong> String toString() { -<a name="739" href="#739">739</a> <strong>return</strong> <span class="string">"input source ["</span> + inputSource.toString() + <span class="string">"]"</span>; -<a name="740" href="#740">740</a> } -<a name="741" href="#741">741</a> }; -<a name="742" href="#742">742</a> doConfigure(action, repository); -<a name="743" href="#743">743</a> } -<a name="744" href="#744">744</a> -<a name="745" href="#745">745</a> -<a name="746" href="#746">746</a> <strong>private</strong> <strong>final</strong> <strong>void</strong> doConfigure(<strong>final</strong> ParseAction action, <strong>final</strong> LoggerRepository repository) -<a name="747" href="#747">747</a> throws FactoryConfigurationError { -<a name="748" href="#748">748</a> DocumentBuilderFactory dbf = <strong>null</strong>; -<a name="749" href="#749">749</a> <strong>this</strong>.repository = repository; -<a name="750" href="#750">750</a> <strong>try</strong> { -<a name="751" href="#751">751</a> LogLog.debug(<span class="string">"System property is :"</span>+ -<a name="752" href="#752">752</a> OptionConverter.getSystemProperty(dbfKey, -<a name="753" href="#753">753</a> <strong>null</strong>)); -<a name="754" href="#754">754</a> dbf = DocumentBuilderFactory.newInstance(); -<a name="755" href="#755">755</a> LogLog.debug(<span class="string">"Standard DocumentBuilderFactory search succeded."</span>); -<a name="756" href="#756">756</a> LogLog.debug(<span class="string">"DocumentBuilderFactory is: "</span>+dbf.getClass().getName()); -<a name="757" href="#757">757</a> } <strong>catch</strong>(FactoryConfigurationError fce) { -<a name="758" href="#758">758</a> Exception e = fce.getException(); -<a name="759" href="#759">759</a> LogLog.debug(<span class="string">"Could not instantiate a DocumentBuilderFactory."</span>, e); -<a name="760" href="#760">760</a> <strong>throw</strong> fce; -<a name="761" href="#761">761</a> } -<a name="762" href="#762">762</a> -<a name="763" href="#763">763</a> <strong>try</strong> { -<a name="764" href="#764">764</a> dbf.setValidating(<strong>true</strong>); -<a name="765" href="#765">765</a> -<a name="766" href="#766">766</a> DocumentBuilder docBuilder = dbf.newDocumentBuilder(); -<a name="767" href="#767">767</a> -<a name="768" href="#768">768</a> docBuilder.setErrorHandler(<strong>new</strong> SAXErrorHandler()); -<a name="769" href="#769">769</a> docBuilder.setEntityResolver(<strong>new</strong> Log4jEntityResolver()); -<a name="770" href="#770">770</a> -<a name="771" href="#771">771</a> Document doc = action.parse(docBuilder); -<a name="772" href="#772">772</a> parse(doc.getDocumentElement()); -<a name="773" href="#773">773</a> } <strong>catch</strong> (Exception e) { -<a name="774" href="#774">774</a> <em class="comment">// I know this is miserable...</em> -<a name="775" href="#775">775</a> LogLog.error(<span class="string">"Could not parse "</span>+ action.toString() + <span class="string">"."</span>, e); -<a name="776" href="#776">776</a> } -<a name="777" href="#777">777</a> } -<a name="778" href="#778">778</a> -<a name="779" href="#779">779</a> <em>/**<em>*</em></em> -<a name="780" href="#780">780</a> <em> Configure by taking in an DOM element. </em> -<a name="781" href="#781">781</a> <em> */</em> -<a name="782" href="#782">782</a> <strong>public</strong> <strong>void</strong> doConfigure(Element element, LoggerRepository repository) { -<a name="783" href="#783">783</a> <strong>this</strong>.repository = repository; -<a name="784" href="#784">784</a> parse(element); -<a name="785" href="#785">785</a> } -<a name="786" href="#786">786</a> -<a name="787" href="#787">787</a> -<a name="788" href="#788">788</a> <em>/**<em>*</em></em> -<a name="789" href="#789">789</a> <em> A static version of {@link #doConfigure(String, LoggerRepository)}. */</em> -<a name="790" href="#790">790</a> <strong>static</strong> -<a name="791" href="#791">791</a> <strong>public</strong> -<a name="792" href="#792">792</a> <strong>void</strong> configure(String filename) throws FactoryConfigurationError { -<a name="793" href="#793">793</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a>().doConfigure(filename, -<a name="794" href="#794">794</a> LogManager.getLoggerRepository()); -<a name="795" href="#795">795</a> } -<a name="796" href="#796">796</a> -<a name="797" href="#797">797</a> <em>/**<em>*</em></em> -<a name="798" href="#798">798</a> <em> A static version of {@link #doConfigure(URL, LoggerRepository)}.</em> -<a name="799" href="#799">799</a> <em> */</em> -<a name="800" href="#800">800</a> <strong>static</strong> -<a name="801" href="#801">801</a> <strong>public</strong> -<a name="802" href="#802">802</a> <strong>void</strong> configure(URL url) throws FactoryConfigurationError { -<a name="803" href="#803">803</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a>().doConfigure(url, LogManager.getLoggerRepository()); -<a name="804" href="#804">804</a> } -<a name="805" href="#805">805</a> -<a name="806" href="#806">806</a> <em>/**<em>*</em></em> -<a name="807" href="#807">807</a> <em> Used internally to configure the log4j framework by parsing a DOM</em> -<a name="808" href="#808">808</a> <em> tree of XML elements based on &lt;a</em> -<a name="809" href="#809">809</a> <em> href="doc-files/log4j.dtd">log4j.dtd&lt;/a>.</em> -<a name="810" href="#810">810</a> <em> </em> -<a name="811" href="#811">811</a> <em> */</em> -<a name="812" href="#812">812</a> <strong>protected</strong> -<a name="813" href="#813">813</a> <strong>void</strong> parse(Element element) { -<a name="814" href="#814">814</a> -<a name="815" href="#815">815</a> String rootElementName = element.getTagName(); -<a name="816" href="#816">816</a> -<a name="817" href="#817">817</a> <strong>if</strong> (!rootElementName.equals(CONFIGURATION_TAG)) { -<a name="818" href="#818">818</a> <strong>if</strong>(rootElementName.equals(OLD_CONFIGURATION_TAG)) { -<a name="819" href="#819">819</a> LogLog.warn(<span class="string">"The &lt;"</span>+OLD_CONFIGURATION_TAG+ -<a name="820" href="#820">820</a> <span class="string">"> element has been deprecated."</span>); -<a name="821" href="#821">821</a> LogLog.warn(<span class="string">"Use the &lt;"</span>+CONFIGURATION_TAG+<span class="string">"> element instead."</span>); -<a name="822" href="#822">822</a> } <strong>else</strong> { -<a name="823" href="#823">823</a> LogLog.error(<span class="string">"DOM element is - not a &lt;"</span>+CONFIGURATION_TAG+<span class="string">"> element."</span>); -<a name="824" href="#824">824</a> <strong>return</strong>; -<a name="825" href="#825">825</a> } -<a name="826" href="#826">826</a> } -<a name="827" href="#827">827</a> -<a name="828" href="#828">828</a> String debugAttrib = subst(element.getAttribute(INTERNAL_DEBUG_ATTR)); -<a name="829" href="#829">829</a> -<a name="830" href="#830">830</a> LogLog.debug(<span class="string">"debug attribute= \&quot;"</span> + debugAttrib +<span class="string">"\&quot;."</span>); -<a name="831" href="#831">831</a> <em class="comment">// if the log4j.dtd is not specified in the XML file, then the</em> -<a name="832" href="#832">832</a> <em class="comment">// "debug" attribute is returned as the empty string.</em> -<a name="833" href="#833">833</a> <strong>if</strong>(!debugAttrib.equals(<span class="string">""</span>) &amp;&amp; !debugAttrib.equals(<span class="string">"null"</span>)) { -<a name="834" href="#834">834</a> LogLog.setInternalDebugging(OptionConverter.toBoolean(debugAttrib, <strong>true</strong>)); -<a name="835" href="#835">835</a> } <strong>else</strong> { -<a name="836" href="#836">836</a> LogLog.debug(<span class="string">"Ignoring "</span> + INTERNAL_DEBUG_ATTR + <span class="string">" attribute."</span>); -<a name="837" href="#837">837</a> } -<a name="838" href="#838">838</a> -<a name="839" href="#839">839</a> <em class="comment">//</em> -<a name="840" href="#840">840</a> <em class="comment">// reset repository before configuration if reset="true"</em> -<a name="841" href="#841">841</a> <em class="comment">// on configuration element.</em> -<a name="842" href="#842">842</a> <em class="comment">//</em> -<a name="843" href="#843">843</a> String resetAttrib = subst(element.getAttribute(RESET_ATTR)); -<a name="844" href="#844">844</a> LogLog.debug(<span class="string">"reset attribute= \&quot;"</span> + resetAttrib +<span class="string">"\&quot;."</span>); -<a name="845" href="#845">845</a> <strong>if</strong>(!(<span class="string">""</span>.equals(resetAttrib))) { -<a name="846" href="#846">846</a> <strong>if</strong> (OptionConverter.toBoolean(resetAttrib, false)) { -<a name="847" href="#847">847</a> repository.resetConfiguration(); -<a name="848" href="#848">848</a> } -<a name="849" href="#849">849</a> } -<a name="850" href="#850">850</a> -<a name="851" href="#851">851</a> -<a name="852" href="#852">852</a> String confDebug = subst(element.getAttribute(CONFIG_DEBUG_ATTR)); -<a name="853" href="#853">853</a> <strong>if</strong>(!confDebug.equals(<span class="string">""</span>) &amp;&amp; !confDebug.equals(<span class="string">"null"</span>)) { -<a name="854" href="#854">854</a> LogLog.warn(<span class="string">"The \&quot;"</span>+CONFIG_DEBUG_ATTR+<span class="string">"\&quot; attribute is deprecated."</span>); -<a name="855" href="#855">855</a> LogLog.warn(<span class="string">"Use the \&quot;"</span>+INTERNAL_DEBUG_ATTR+<span class="string">"\&quot; attribute instead."</span>); -<a name="856" href="#856">856</a> LogLog.setInternalDebugging(OptionConverter.toBoolean(confDebug, <strong>true</strong>)); -<a name="857" href="#857">857</a> } -<a name="858" href="#858">858</a> -<a name="859" href="#859">859</a> String thresholdStr = subst(element.getAttribute(THRESHOLD_ATTR)); -<a name="860" href="#860">860</a> LogLog.debug(<span class="string">"Threshold =\&quot;"</span> + thresholdStr +<span class="string">"\&quot;."</span>); -<a name="861" href="#861">861</a> <strong>if</strong>(!<span class="string">""</span>.equals(thresholdStr) &amp;&amp; !<span class="string">"null"</span>.equals(thresholdStr)) { -<a name="862" href="#862">862</a> repository.setThreshold(thresholdStr); -<a name="863" href="#863">863</a> } -<a name="864" href="#864">864</a> -<a name="865" href="#865">865</a> <em class="comment">//Hashtable appenderBag = new Hashtable(11);</em> -<a name="866" href="#866">866</a> -<a name="867" href="#867">867</a> <em class="comment">/*<em class="comment"> Building Appender objects, placing them in a local namespace</em></em> -<a name="868" href="#868">868</a> <em class="comment"> for future reference */</em> -<a name="869" href="#869">869</a> -<a name="870" href="#870">870</a> <em class="comment">// First configure each category factory under the root element.</em> -<a name="871" href="#871">871</a> <em class="comment">// Category factories need to be configured before any of</em> -<a name="872" href="#872">872</a> <em class="comment">// categories they support.</em> -<a name="873" href="#873">873</a> <em class="comment">//</em> -<a name="874" href="#874">874</a> String tagName = <strong>null</strong>; -<a name="875" href="#875">875</a> Element currentElement = <strong>null</strong>; -<a name="876" href="#876">876</a> Node currentNode = <strong>null</strong>; -<a name="877" href="#877">877</a> NodeList children = element.getChildNodes(); -<a name="878" href="#878">878</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); -<a name="879" href="#879">879</a> -<a name="880" href="#880">880</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { -<a name="881" href="#881">881</a> currentNode = children.item(loop); -<a name="882" href="#882">882</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { -<a name="883" href="#883">883</a> currentElement = (Element) currentNode; -<a name="884" href="#884">884</a> tagName = currentElement.getTagName(); -<a name="885" href="#885">885</a> -<a name="886" href="#886">886</a> <strong>if</strong> (tagName.equals(CATEGORY_FACTORY_TAG) || tagName.equals(LOGGER_FACTORY_TAG)) { -<a name="887" href="#887">887</a> parseCategoryFactory(currentElement); -<a name="888" href="#888">888</a> } -<a name="889" href="#889">889</a> } -<a name="890" href="#890">890</a> } -<a name="891" href="#891">891</a> -<a name="892" href="#892">892</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { -<a name="893" href="#893">893</a> currentNode = children.item(loop); -<a name="894" href="#894">894</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { -<a name="895" href="#895">895</a> currentElement = (Element) currentNode; -<a name="896" href="#896">896</a> tagName = currentElement.getTagName(); -<a name="897" href="#897">897</a> -<a name="898" href="#898">898</a> <strong>if</strong> (tagName.equals(CATEGORY) || tagName.equals(LOGGER)) { -<a name="899" href="#899">899</a> parseCategory(currentElement); -<a name="900" href="#900">900</a> } <strong>else</strong> <strong>if</strong> (tagName.equals(ROOT_TAG)) { -<a name="901" href="#901">901</a> parseRoot(currentElement); -<a name="902" href="#902">902</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(RENDERER_TAG)) { -<a name="903" href="#903">903</a> parseRenderer(currentElement); -<a name="904" href="#904">904</a> } <strong>else</strong> <strong>if</strong> (!(tagName.equals(APPENDER_TAG) -<a name="905" href="#905">905</a> || tagName.equals(CATEGORY_FACTORY_TAG) -<a name="906" href="#906">906</a> || tagName.equals(LOGGER_FACTORY_TAG))) { -<a name="907" href="#907">907</a> quietParseUnrecognizedElement(repository, currentElement, props); -<a name="908" href="#908">908</a> } -<a name="909" href="#909">909</a> } -<a name="910" href="#910">910</a> } -<a name="911" href="#911">911</a> } -<a name="912" href="#912">912</a> -<a name="913" href="#913">913</a> -<a name="914" href="#914">914</a> <strong>protected</strong> -<a name="915" href="#915">915</a> String subst(<strong>final</strong> String value) { -<a name="916" href="#916">916</a> <strong>return</strong> subst(value, props); -<a name="917" href="#917">917</a> } -<a name="918" href="#918">918</a> -<a name="919" href="#919">919</a> <em>/**<em>*</em></em> -<a name="920" href="#920">920</a> <em> * Substitutes property value for any references in expression.</em> -<a name="921" href="#921">921</a> <em> *</em> -<a name="922" href="#922">922</a> <em> * @param value value from configuration file, may contain</em> -<a name="923" href="#923">923</a> <em> * literal text, property references or both</em> -<a name="924" href="#924">924</a> <em> * @param props properties.</em> -<a name="925" href="#925">925</a> <em> * @return evaluated expression, may still contain expressions</em> -<a name="926" href="#926">926</a> <em> * if unable to expand.</em> -<a name="927" href="#927">927</a> <em> * @since 1.2.15</em> -<a name="928" href="#928">928</a> <em> */</em> -<a name="929" href="#929">929</a> <strong>public</strong> <strong>static</strong> String subst(<strong>final</strong> String value, <strong>final</strong> Properties props) { -<a name="930" href="#930">930</a> <strong>try</strong> { -<a name="931" href="#931">931</a> <strong>return</strong> OptionConverter.substVars(value, props); -<a name="932" href="#932">932</a> } <strong>catch</strong> (IllegalArgumentException e) { -<a name="933" href="#933">933</a> LogLog.warn(<span class="string">"Could not perform variable substitution."</span>, e); -<a name="934" href="#934">934</a> <strong>return</strong> value; -<a name="935" href="#935">935</a> } -<a name="936" href="#936">936</a> } -<a name="937" href="#937">937</a> -<a name="938" href="#938">938</a> -<a name="939" href="#939">939</a> <em>/**<em>*</em></em> -<a name="940" href="#940">940</a> <em> * Sets a parameter based from configuration file content.</em> -<a name="941" href="#941">941</a> <em> *</em> -<a name="942" href="#942">942</a> <em> * @param elem param element, may not be null.</em> -<a name="943" href="#943">943</a> <em> * @param propSetter property setter, may not be null.</em> -<a name="944" href="#944">944</a> <em> * @param props properties</em> -<a name="945" href="#945">945</a> <em> * @since 1.2.15</em> -<a name="946" href="#946">946</a> <em> */</em> -<a name="947" href="#947">947</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> setParameter(<strong>final</strong> Element elem, -<a name="948" href="#948">948</a> <strong>final</strong> PropertySetter propSetter, -<a name="949" href="#949">949</a> <strong>final</strong> Properties props) { -<a name="950" href="#950">950</a> String name = subst(elem.getAttribute(<span class="string">"name"</span>), props); -<a name="951" href="#951">951</a> String value = (elem.getAttribute(<span class="string">"value"</span>)); -<a name="952" href="#952">952</a> value = subst(OptionConverter.convertSpecialChars(value), props); -<a name="953" href="#953">953</a> propSetter.setProperty(name, value); -<a name="954" href="#954">954</a> } -<a name="955" href="#955">955</a> -<a name="956" href="#956">956</a> -<a name="957" href="#957">957</a> <em>/**<em>*</em></em> -<a name="958" href="#958">958</a> <em> * Creates an OptionHandler and processes any nested param elements</em> -<a name="959" href="#959">959</a> <em> * but does not call activateOptions. If the class also supports</em> -<a name="960" href="#960">960</a> <em> * UnrecognizedElementParser, the parseUnrecognizedElement method</em> -<a name="961" href="#961">961</a> <em> * will be call for any child elements other than param.</em> -<a name="962" href="#962">962</a> <em> *</em> -<a name="963" href="#963">963</a> <em> * @param element element, may not be null.</em> -<a name="964" href="#964">964</a> <em> * @param props properties</em> -<a name="965" href="#965">965</a> <em> * @param expectedClass interface or class expected to be implemented</em> -<a name="966" href="#966">966</a> <em> * by created class</em> -<a name="967" href="#967">967</a> <em> * @return created class or null.</em> -<a name="968" href="#968">968</a> <em> * @throws Exception thrown if the contain object should be abandoned.</em> -<a name="969" href="#969">969</a> <em> * @since 1.2.15</em> -<a name="970" href="#970">970</a> <em> */</em> -<a name="971" href="#971">971</a> <strong>public</strong> <strong>static</strong> OptionHandler parseElement(<strong>final</strong> Element element, -<a name="972" href="#972">972</a> <strong>final</strong> Properties props, -<a name="973" href="#973">973</a> <strong>final</strong> Class expectedClass) throws Exception { -<a name="974" href="#974">974</a> String clazz = subst(element.getAttribute(<span class="string">"class"</span>), props); -<a name="975" href="#975">975</a> Object instance = OptionConverter.instantiateByClassName(clazz, -<a name="976" href="#976">976</a> expectedClass, <strong>null</strong>); -<a name="977" href="#977">977</a> -<a name="978" href="#978">978</a> <strong>if</strong> (instance instanceof OptionHandler) { -<a name="979" href="#979">979</a> OptionHandler optionHandler = (OptionHandler) instance; -<a name="980" href="#980">980</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(optionHandler); -<a name="981" href="#981">981</a> NodeList children = element.getChildNodes(); -<a name="982" href="#982">982</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); -<a name="983" href="#983">983</a> -<a name="984" href="#984">984</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { -<a name="985" href="#985">985</a> Node currentNode = children.item(loop); -<a name="986" href="#986">986</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { -<a name="987" href="#987">987</a> Element currentElement = (Element) currentNode; -<a name="988" href="#988">988</a> String tagName = currentElement.getTagName(); -<a name="989" href="#989">989</a> <strong>if</strong> (tagName.equals(<span class="string">"param"</span>)) { -<a name="990" href="#990">990</a> setParameter(currentElement, propSetter, props); -<a name="991" href="#991">991</a> } <strong>else</strong> { -<a name="992" href="#992">992</a> parseUnrecognizedElement(instance, currentElement, props); -<a name="993" href="#993">993</a> } -<a name="994" href="#994">994</a> } -<a name="995" href="#995">995</a> } -<a name="996" href="#996">996</a> <strong>return</strong> optionHandler; -<a name="997" href="#997">997</a> } -<a name="998" href="#998">998</a> <strong>return</strong> <strong>null</strong>; -<a name="999" href="#999">999</a> } -<a name="1000" href="#1000">1000</a> -<a name="1001" href="#1001">1001</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> XMLWatchdog <strong>extends</strong> FileWatchdog { -<a name="1002" href="#1002">1002</a> -<a name="1003" href="#1003">1003</a> XMLWatchdog(String filename) { -<a name="1004" href="#1004">1004</a> <strong>super</strong>(filename); -<a name="1005" href="#1005">1005</a> } -<a name="1006" href="#1006">1006</a> -<a name="1007" href="#1007">1007</a> <em>/**<em>*</em></em> -<a name="1008" href="#1008">1008</a> <em> Call {@link DOMConfigurator#configure(String)} with the</em> -<a name="1009" href="#1009">1009</a> <em> &lt;code>filename&lt;/code> to reconfigure log4j. */</em> -<a name="1010" href="#1010">1010</a> <strong>public</strong> -<a name="1011" href="#1011">1011</a> <strong>void</strong> doOnChange() { -<a name="1012" href="#1012">1012</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a>().doConfigure(filename, -<a name="1013" href="#1013">1013</a> LogManager.getLoggerRepository()); -<a name="1014" href="#1014">1014</a> } -<a name="1015" href="#1015">1015</a> } -<a name="1016" href="#1016">1016</a> -<a name="1017" href="#1017">1017</a> -<a name="1018" href="#1018">1018</a> <em>/**<em>*</em></em> -<a name="1019" href="#1019">1019</a> <em> * An {@link EntityResolver} specifically designed to return</em> -<a name="1020" href="#1020">1020</a> <em> * &lt;code>log4j.dtd&lt;/code> which is embedded within the log4j jar</em> -<a name="1021" href="#1021">1021</a> <em> * file.</em> -<a name="1022" href="#1022">1022</a> <em> *</em> -<a name="1023" href="#1023">1023</a> <em> * @author Paul Austin</em> -<a name="1024" href="#1024">1024</a> <em> * */</em> -<a name="1025" href="#1025">1025</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> Log4jEntityResolver implements EntityResolver { -<a name="1026" href="#1026">1026</a> -<a name="1027" href="#1027">1027</a> <strong>public</strong> InputSource resolveEntity (String <strong>public</strong>Id, String systemId) { -<a name="1028" href="#1028">1028</a> <strong>if</strong> (systemId.endsWith(<span class="string">"log4j.dtd"</span>)) { -<a name="1029" href="#1029">1029</a> InputStream in = Log4jEntityResolver.<strong>class</strong>.getResourceAsStream(<span class="string">"log4j.dtd"</span>); -<a name="1030" href="#1030">1030</a> <strong>if</strong> (in == <strong>null</strong>) { -<a name="1031" href="#1031">1031</a> LogLog.warn(<span class="string">"Could not find [log4j.dtd] using ["</span> + -<a name="1032" href="#1032">1032</a> Log4jEntityResolver.<strong>class</strong>.getClassLoader() -<a name="1033" href="#1033">1033</a> + <span class="string">"] class loader, parsed without DTD."</span>); -<a name="1034" href="#1034">1034</a> in = <strong>new</strong> ByteArrayInputStream(<strong>new</strong> byte[0]); -<a name="1035" href="#1035">1035</a> } -<a name="1036" href="#1036">1036</a> <strong>return</strong> <strong>new</strong> InputSource(in); -<a name="1037" href="#1037">1037</a> } <strong>else</strong> { -<a name="1038" href="#1038">1038</a> <strong>return</strong> <strong>null</strong>; -<a name="1039" href="#1039">1039</a> } -<a name="1040" href="#1040">1040</a> } -<a name="1041" href="#1041">1041</a> } -<a name="1042" href="#1042">1042</a> -<a name="1043" href="#1043">1043</a> -<a name="1044" href="#1044">1044</a> } -<a name="1045" href="#1045">1045</a> -<a name="1046" href="#1046">1046</a> -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/CachedDateFormat.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/CachedDateFormat.html deleted file mode 100644 index 16aac54169d..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/CachedDateFormat.html +++ /dev/null @@ -1,381 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CachedDateFormat xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/CachedDateFormat.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> java.text.DateFormat; -<a name="21" href="#21">21</a> <strong>import</strong> java.text.FieldPosition; -<a name="22" href="#22">22</a> <strong>import</strong> java.text.NumberFormat; -<a name="23" href="#23">23</a> <strong>import</strong> java.text.ParsePosition; -<a name="24" href="#24">24</a> <strong>import</strong> java.util.Date; -<a name="25" href="#25">25</a> <strong>import</strong> java.util.TimeZone; -<a name="26" href="#26">26</a> -<a name="27" href="#27">27</a> -<a name="28" href="#28">28</a> <em>/**<em>*</em></em> -<a name="29" href="#29">29</a> <em> * CachedDateFormat optimizes the performance of a wrapped</em> -<a name="30" href="#30">30</a> <em> * DateFormat. The implementation is not thread-safe.</em> -<a name="31" href="#31">31</a> <em> * If the millisecond pattern is not recognized,</em> -<a name="32" href="#32">32</a> <em> * the class will only use the cache if the</em> -<a name="33" href="#33">33</a> <em> * same value is requested.</em> -<a name="34" href="#34">34</a> <em> *</em> -<a name="35" href="#35">35</a> <em> */</em> -<a name="36" href="#36">36</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a> <strong>extends</strong> DateFormat { -<a name="37" href="#37">37</a> <em>/**<em>*</em></em> -<a name="38" href="#38">38</a> <em> * Constant used to represent that there was no change</em> -<a name="39" href="#39">39</a> <em> * observed when changing the millisecond count.</em> -<a name="40" href="#40">40</a> <em> */</em> -<a name="41" href="#41">41</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> NO_MILLISECONDS = -2; -<a name="42" href="#42">42</a> -<a name="43" href="#43">43</a> <em>/**<em>*</em></em> -<a name="44" href="#44">44</a> <em> * Supported digit set. If the wrapped DateFormat uses</em> -<a name="45" href="#45">45</a> <em> * a different unit set, the millisecond pattern</em> -<a name="46" href="#46">46</a> <em> * will not be recognized and duplicate requests</em> -<a name="47" href="#47">47</a> <em> * will use the cache.</em> -<a name="48" href="#48">48</a> <em> */</em> -<a name="49" href="#49">49</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String DIGITS = <span class="string">"0123456789"</span>; -<a name="50" href="#50">50</a> -<a name="51" href="#51">51</a> <em>/**<em>*</em></em> -<a name="52" href="#52">52</a> <em> * Constant used to represent that there was an</em> -<a name="53" href="#53">53</a> <em> * observed change, but was an expected change.</em> -<a name="54" href="#54">54</a> <em> */</em> -<a name="55" href="#55">55</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> UNRECOGNIZED_MILLISECONDS = -1; -<a name="56" href="#56">56</a> -<a name="57" href="#57">57</a> <em>/**<em>*</em></em> -<a name="58" href="#58">58</a> <em> * First magic number used to detect the millisecond position.</em> -<a name="59" href="#59">59</a> <em> */</em> -<a name="60" href="#60">60</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> MAGIC1 = 654; -<a name="61" href="#61">61</a> -<a name="62" href="#62">62</a> <em>/**<em>*</em></em> -<a name="63" href="#63">63</a> <em> * Expected representation of first magic number.</em> -<a name="64" href="#64">64</a> <em> */</em> -<a name="65" href="#65">65</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String MAGICSTRING1 = <span class="string">"654"</span>; -<a name="66" href="#66">66</a> -<a name="67" href="#67">67</a> <em>/**<em>*</em></em> -<a name="68" href="#68">68</a> <em> * Second magic number used to detect the millisecond position.</em> -<a name="69" href="#69">69</a> <em> */</em> -<a name="70" href="#70">70</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> MAGIC2 = 987; -<a name="71" href="#71">71</a> -<a name="72" href="#72">72</a> <em>/**<em>*</em></em> -<a name="73" href="#73">73</a> <em> * Expected representation of second magic number.</em> -<a name="74" href="#74">74</a> <em> */</em> -<a name="75" href="#75">75</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String MAGICSTRING2 = <span class="string">"987"</span>; -<a name="76" href="#76">76</a> -<a name="77" href="#77">77</a> <em>/**<em>*</em></em> -<a name="78" href="#78">78</a> <em> * Expected representation of 0 milliseconds.</em> -<a name="79" href="#79">79</a> <em> */</em> -<a name="80" href="#80">80</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String ZERO_STRING = <span class="string">"000"</span>; -<a name="81" href="#81">81</a> -<a name="82" href="#82">82</a> <em>/**<em>*</em></em> -<a name="83" href="#83">83</a> <em> * Wrapped formatter.</em> -<a name="84" href="#84">84</a> <em> */</em> -<a name="85" href="#85">85</a> <strong>private</strong> <strong>final</strong> DateFormat formatter; -<a name="86" href="#86">86</a> -<a name="87" href="#87">87</a> <em>/**<em>*</em></em> -<a name="88" href="#88">88</a> <em> * Index of initial digit of millisecond pattern or</em> -<a name="89" href="#89">89</a> <em> * UNRECOGNIZED_MILLISECONDS or NO_MILLISECONDS.</em> -<a name="90" href="#90">90</a> <em> */</em> -<a name="91" href="#91">91</a> <strong>private</strong> <strong>int</strong> millisecondStart; -<a name="92" href="#92">92</a> -<a name="93" href="#93">93</a> <em>/**<em>*</em></em> -<a name="94" href="#94">94</a> <em> * Integral second preceding the previous convered Date.</em> -<a name="95" href="#95">95</a> <em> */</em> -<a name="96" href="#96">96</a> <strong>private</strong> <strong>long</strong> slotBegin; -<a name="97" href="#97">97</a> -<a name="98" href="#98">98</a> <em>/**<em>*</em></em> -<a name="99" href="#99">99</a> <em> * Cache of previous conversion.</em> -<a name="100" href="#100">100</a> <em> */</em> -<a name="101" href="#101">101</a> <strong>private</strong> StringBuffer cache = <strong>new</strong> StringBuffer(50); -<a name="102" href="#102">102</a> -<a name="103" href="#103">103</a> <em>/**<em>*</em></em> -<a name="104" href="#104">104</a> <em> * Maximum validity period for the cache.</em> -<a name="105" href="#105">105</a> <em> * Typically 1, use cache for duplicate requests only, or</em> -<a name="106" href="#106">106</a> <em> * 1000, use cache for requests within the same integral second.</em> -<a name="107" href="#107">107</a> <em> */</em> -<a name="108" href="#108">108</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> expiration; -<a name="109" href="#109">109</a> -<a name="110" href="#110">110</a> <em>/**<em>*</em></em> -<a name="111" href="#111">111</a> <em> * Date requested in previous conversion.</em> -<a name="112" href="#112">112</a> <em> */</em> -<a name="113" href="#113">113</a> <strong>private</strong> <strong>long</strong> previousTime; -<a name="114" href="#114">114</a> -<a name="115" href="#115">115</a> <em>/**<em>*</em></em> -<a name="116" href="#116">116</a> <em> * Scratch date object used to minimize date object creation.</em> -<a name="117" href="#117">117</a> <em> */</em> -<a name="118" href="#118">118</a> <strong>private</strong> <strong>final</strong> Date tmpDate = <strong>new</strong> Date(0); -<a name="119" href="#119">119</a> -<a name="120" href="#120">120</a> <em>/**<em>*</em></em> -<a name="121" href="#121">121</a> <em> * Creates a new CachedDateFormat object.</em> -<a name="122" href="#122">122</a> <em> * @param dateFormat Date format, may not be null.</em> -<a name="123" href="#123">123</a> <em> * @param expiration maximum cached range in milliseconds.</em> -<a name="124" href="#124">124</a> <em> * If the dateFormat is known to be incompatible with the</em> -<a name="125" href="#125">125</a> <em> * caching algorithm, use a value of 0 to totally disable</em> -<a name="126" href="#126">126</a> <em> * caching or 1 to only use cache for duplicate requests.</em> -<a name="127" href="#127">127</a> <em> */</em> -<a name="128" href="#128">128</a> <strong>public</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a>(<strong>final</strong> DateFormat dateFormat, <strong>final</strong> <strong>int</strong> expiration) { -<a name="129" href="#129">129</a> <strong>if</strong> (dateFormat == <strong>null</strong>) { -<a name="130" href="#130">130</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"dateFormat cannot be null"</span>); -<a name="131" href="#131">131</a> } -<a name="132" href="#132">132</a> -<a name="133" href="#133">133</a> <strong>if</strong> (expiration &lt; 0) { -<a name="134" href="#134">134</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"expiration must be non-negative"</span>); -<a name="135" href="#135">135</a> } -<a name="136" href="#136">136</a> -<a name="137" href="#137">137</a> formatter = dateFormat; -<a name="138" href="#138">138</a> <strong>this</strong>.expiration = expiration; -<a name="139" href="#139">139</a> millisecondStart = 0; -<a name="140" href="#140">140</a> -<a name="141" href="#141">141</a> <em class="comment">//</em> -<a name="142" href="#142">142</a> <em class="comment">// set the previousTime so the cache will be invalid</em> -<a name="143" href="#143">143</a> <em class="comment">// for the next request.</em> -<a name="144" href="#144">144</a> previousTime = Long.MIN_VALUE; -<a name="145" href="#145">145</a> slotBegin = Long.MIN_VALUE; -<a name="146" href="#146">146</a> } -<a name="147" href="#147">147</a> -<a name="148" href="#148">148</a> <em>/**<em>*</em></em> -<a name="149" href="#149">149</a> <em> * Finds start of millisecond field in formatted time.</em> -<a name="150" href="#150">150</a> <em> * @param time long time, must be integral number of seconds</em> -<a name="151" href="#151">151</a> <em> * @param formatted String corresponding formatted string</em> -<a name="152" href="#152">152</a> <em> * @param formatter DateFormat date format</em> -<a name="153" href="#153">153</a> <em> * @return int position in string of first digit of milliseconds,</em> -<a name="154" href="#154">154</a> <em> * -1 indicates no millisecond field, -2 indicates unrecognized</em> -<a name="155" href="#155">155</a> <em> * field (likely RelativeTimeDateFormat)</em> -<a name="156" href="#156">156</a> <em> */</em> -<a name="157" href="#157">157</a> <strong>public</strong> <strong>static</strong> <strong>int</strong> findMillisecondStart( -<a name="158" href="#158">158</a> <strong>final</strong> <strong>long</strong> time, <strong>final</strong> String formatted, <strong>final</strong> DateFormat formatter) { -<a name="159" href="#159">159</a> <strong>long</strong> slotBegin = (time / 1000) * 1000; -<a name="160" href="#160">160</a> -<a name="161" href="#161">161</a> <strong>if</strong> (slotBegin > time) { -<a name="162" href="#162">162</a> slotBegin -= 1000; -<a name="163" href="#163">163</a> } -<a name="164" href="#164">164</a> -<a name="165" href="#165">165</a> <strong>int</strong> millis = (<strong>int</strong>) (time - slotBegin); -<a name="166" href="#166">166</a> -<a name="167" href="#167">167</a> <strong>int</strong> magic = MAGIC1; -<a name="168" href="#168">168</a> String magicString = MAGICSTRING1; -<a name="169" href="#169">169</a> -<a name="170" href="#170">170</a> <strong>if</strong> (millis == MAGIC1) { -<a name="171" href="#171">171</a> magic = MAGIC2; -<a name="172" href="#172">172</a> magicString = MAGICSTRING2; -<a name="173" href="#173">173</a> } -<a name="174" href="#174">174</a> -<a name="175" href="#175">175</a> String plusMagic = formatter.format(<strong>new</strong> Date(slotBegin + magic)); -<a name="176" href="#176">176</a> -<a name="177" href="#177">177</a> <em>/**<em>*</em></em> -<a name="178" href="#178">178</a> <em> * If the string lengths differ then</em> -<a name="179" href="#179">179</a> <em> * we can't use the cache except for duplicate requests.</em> -<a name="180" href="#180">180</a> <em> */</em> -<a name="181" href="#181">181</a> <strong>if</strong> (plusMagic.length() != formatted.length()) { -<a name="182" href="#182">182</a> <strong>return</strong> UNRECOGNIZED_MILLISECONDS; -<a name="183" href="#183">183</a> } <strong>else</strong> { -<a name="184" href="#184">184</a> <em class="comment">// find first difference between values</em> -<a name="185" href="#185">185</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; <strong>for</strong>matted.length(); i++) { -<a name="186" href="#186">186</a> <strong>if</strong> (formatted.charAt(i) != plusMagic.charAt(i)) { -<a name="187" href="#187">187</a> <em class="comment">//</em> -<a name="188" href="#188">188</a> <em class="comment">// determine the expected digits for the base time</em> -<a name="189" href="#189">189</a> StringBuffer formattedMillis = <strong>new</strong> StringBuffer(<span class="string">"ABC"</span>); -<a name="190" href="#190">190</a> millisecondFormat(millis, formattedMillis, 0); -<a name="191" href="#191">191</a> -<a name="192" href="#192">192</a> String plusZero = formatter.format(<strong>new</strong> Date(slotBegin)); -<a name="193" href="#193">193</a> -<a name="194" href="#194">194</a> <em class="comment">// If the next 3 characters match the magic</em> -<a name="195" href="#195">195</a> <em class="comment">// string and the expected string</em> -<a name="196" href="#196">196</a> <strong>if</strong> ( -<a name="197" href="#197">197</a> (plusZero.length() == formatted.length()) -<a name="198" href="#198">198</a> &amp;&amp; magicString.regionMatches( -<a name="199" href="#199">199</a> 0, plusMagic, i, magicString.length()) -<a name="200" href="#200">200</a> &amp;&amp; formattedMillis.toString().regionMatches( -<a name="201" href="#201">201</a> 0, formatted, i, magicString.length()) -<a name="202" href="#202">202</a> &amp;&amp; ZERO_STRING.regionMatches( -<a name="203" href="#203">203</a> 0, plusZero, i, ZERO_STRING.length())) { -<a name="204" href="#204">204</a> <strong>return</strong> i; -<a name="205" href="#205">205</a> } <strong>else</strong> { -<a name="206" href="#206">206</a> <strong>return</strong> UNRECOGNIZED_MILLISECONDS; -<a name="207" href="#207">207</a> } -<a name="208" href="#208">208</a> } -<a name="209" href="#209">209</a> } -<a name="210" href="#210">210</a> } -<a name="211" href="#211">211</a> -<a name="212" href="#212">212</a> <strong>return</strong> NO_MILLISECONDS; -<a name="213" href="#213">213</a> } -<a name="214" href="#214">214</a> -<a name="215" href="#215">215</a> <em>/**<em>*</em></em> -<a name="216" href="#216">216</a> <em> * Formats a Date into a date/time string.</em> -<a name="217" href="#217">217</a> <em> *</em> -<a name="218" href="#218">218</a> <em> * @param date the date to format.</em> -<a name="219" href="#219">219</a> <em> * @param sbuf the string buffer to write to.</em> -<a name="220" href="#220">220</a> <em> * @param fieldPosition remains untouched.</em> -<a name="221" href="#221">221</a> <em> * @return the formatted time string.</em> -<a name="222" href="#222">222</a> <em> */</em> -<a name="223" href="#223">223</a> <strong>public</strong> StringBuffer format( -<a name="224" href="#224">224</a> Date date, StringBuffer sbuf, FieldPosition fieldPosition) { -<a name="225" href="#225">225</a> format(date.getTime(), sbuf); -<a name="226" href="#226">226</a> -<a name="227" href="#227">227</a> <strong>return</strong> sbuf; -<a name="228" href="#228">228</a> } -<a name="229" href="#229">229</a> -<a name="230" href="#230">230</a> <em>/**<em>*</em></em> -<a name="231" href="#231">231</a> <em> * Formats a millisecond count into a date/time string.</em> -<a name="232" href="#232">232</a> <em> *</em> -<a name="233" href="#233">233</a> <em> * @param now Number of milliseconds after midnight 1 Jan 1970 GMT.</em> -<a name="234" href="#234">234</a> <em> * @param buf the string buffer to write to.</em> -<a name="235" href="#235">235</a> <em> * @return the formatted time string.</em> -<a name="236" href="#236">236</a> <em> */</em> -<a name="237" href="#237">237</a> <strong>public</strong> StringBuffer format(<strong>long</strong> now, StringBuffer buf) { -<a name="238" href="#238">238</a> <em class="comment">//</em> -<a name="239" href="#239">239</a> <em class="comment">// If the current requested time is identical to the previously</em> -<a name="240" href="#240">240</a> <em class="comment">// requested time, then append the cache contents.</em> -<a name="241" href="#241">241</a> <em class="comment">//</em> -<a name="242" href="#242">242</a> <strong>if</strong> (now == previousTime) { -<a name="243" href="#243">243</a> buf.append(cache); -<a name="244" href="#244">244</a> -<a name="245" href="#245">245</a> <strong>return</strong> buf; -<a name="246" href="#246">246</a> } -<a name="247" href="#247">247</a> -<a name="248" href="#248">248</a> <em class="comment">//</em> -<a name="249" href="#249">249</a> <em class="comment">// If millisecond pattern was not unrecognized </em> -<a name="250" href="#250">250</a> <em class="comment">// (that is if it was found or milliseconds did not appear) </em> -<a name="251" href="#251">251</a> <em class="comment">// </em> -<a name="252" href="#252">252</a> <strong>if</strong> (millisecondStart != UNRECOGNIZED_MILLISECONDS &amp;&amp; -<a name="253" href="#253">253</a> <em class="comment">// Check if the cache is still valid.</em> -<a name="254" href="#254">254</a> <em class="comment">// If the requested time is within the same integral second</em> -<a name="255" href="#255">255</a> <em class="comment">// as the last request and a shorter expiration was not requested.</em> -<a name="256" href="#256">256</a> (now &lt; (slotBegin + expiration)) &amp;&amp; (now >= slotBegin) -<a name="257" href="#257">257</a> &amp;&amp; (now &lt; (slotBegin + 1000L))) { -<a name="258" href="#258">258</a> <em class="comment">// </em> -<a name="259" href="#259">259</a> <em class="comment">// if there was a millisecond field then update it</em> -<a name="260" href="#260">260</a> <em class="comment">//</em> -<a name="261" href="#261">261</a> <strong>if</strong> (millisecondStart >= 0) { -<a name="262" href="#262">262</a> millisecondFormat((<strong>int</strong>) (now - slotBegin), cache, millisecondStart); -<a name="263" href="#263">263</a> } -<a name="264" href="#264">264</a> -<a name="265" href="#265">265</a> <em class="comment">//</em> -<a name="266" href="#266">266</a> <em class="comment">// update the previously requested time</em> -<a name="267" href="#267">267</a> <em class="comment">// (the slot begin should be unchanged)</em> -<a name="268" href="#268">268</a> previousTime = now; -<a name="269" href="#269">269</a> buf.append(cache); -<a name="270" href="#270">270</a> -<a name="271" href="#271">271</a> <strong>return</strong> buf; -<a name="272" href="#272">272</a> } -<a name="273" href="#273">273</a> -<a name="274" href="#274">274</a> <em class="comment">//</em> -<a name="275" href="#275">275</a> <em class="comment">// could not use previous value. </em> -<a name="276" href="#276">276</a> <em class="comment">// Call underlying formatter to format date.</em> -<a name="277" href="#277">277</a> cache.setLength(0); -<a name="278" href="#278">278</a> tmpDate.setTime(now); -<a name="279" href="#279">279</a> cache.append(formatter.format(tmpDate)); -<a name="280" href="#280">280</a> buf.append(cache); -<a name="281" href="#281">281</a> previousTime = now; -<a name="282" href="#282">282</a> slotBegin = (previousTime / 1000) * 1000; -<a name="283" href="#283">283</a> -<a name="284" href="#284">284</a> <strong>if</strong> (slotBegin > previousTime) { -<a name="285" href="#285">285</a> slotBegin -= 1000; -<a name="286" href="#286">286</a> } -<a name="287" href="#287">287</a> -<a name="288" href="#288">288</a> <em class="comment">//</em> -<a name="289" href="#289">289</a> <em class="comment">// if the milliseconds field was previous found</em> -<a name="290" href="#290">290</a> <em class="comment">// then reevaluate in case it moved.</em> -<a name="291" href="#291">291</a> <em class="comment">//</em> -<a name="292" href="#292">292</a> <strong>if</strong> (millisecondStart >= 0) { -<a name="293" href="#293">293</a> millisecondStart = -<a name="294" href="#294">294</a> findMillisecondStart(now, cache.toString(), formatter); -<a name="295" href="#295">295</a> } -<a name="296" href="#296">296</a> -<a name="297" href="#297">297</a> <strong>return</strong> buf; -<a name="298" href="#298">298</a> } -<a name="299" href="#299">299</a> -<a name="300" href="#300">300</a> <em>/**<em>*</em></em> -<a name="301" href="#301">301</a> <em> * Formats a count of milliseconds (0-999) into a numeric representation.</em> -<a name="302" href="#302">302</a> <em> * @param millis Millisecond coun between 0 and 999.</em> -<a name="303" href="#303">303</a> <em> * @param buf String buffer, may not be null.</em> -<a name="304" href="#304">304</a> <em> * @param offset Starting position in buffer, the length of the</em> -<a name="305" href="#305">305</a> <em> * buffer must be at least offset + 3.</em> -<a name="306" href="#306">306</a> <em> */</em> -<a name="307" href="#307">307</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> millisecondFormat( -<a name="308" href="#308">308</a> <strong>final</strong> <strong>int</strong> millis, <strong>final</strong> StringBuffer buf, <strong>final</strong> <strong>int</strong> offset) { -<a name="309" href="#309">309</a> buf.setCharAt(offset, DIGITS.charAt(millis / 100)); -<a name="310" href="#310">310</a> buf.setCharAt(offset + 1, DIGITS.charAt((millis / 10) % 10)); -<a name="311" href="#311">311</a> buf.setCharAt(offset + 2, DIGITS.charAt(millis % 10)); -<a name="312" href="#312">312</a> } -<a name="313" href="#313">313</a> -<a name="314" href="#314">314</a> <em>/**<em>*</em></em> -<a name="315" href="#315">315</a> <em> * Set timezone.</em> -<a name="316" href="#316">316</a> <em> *</em> -<a name="317" href="#317">317</a> <em> * Setting the timezone using getCalendar().setTimeZone()</em> -<a name="318" href="#318">318</a> <em> * will likely cause caching to misbehave.</em> -<a name="319" href="#319">319</a> <em> * @param timeZone TimeZone new timezone</em> -<a name="320" href="#320">320</a> <em> */</em> -<a name="321" href="#321">321</a> <strong>public</strong> <strong>void</strong> setTimeZone(<strong>final</strong> TimeZone timeZone) { -<a name="322" href="#322">322</a> formatter.setTimeZone(timeZone); -<a name="323" href="#323">323</a> previousTime = Long.MIN_VALUE; -<a name="324" href="#324">324</a> slotBegin = Long.MIN_VALUE; -<a name="325" href="#325">325</a> } -<a name="326" href="#326">326</a> -<a name="327" href="#327">327</a> <em>/**<em>*</em></em> -<a name="328" href="#328">328</a> <em> * This method is delegated to the formatter which most</em> -<a name="329" href="#329">329</a> <em> * likely returns null.</em> -<a name="330" href="#330">330</a> <em> * @param s string representation of date.</em> -<a name="331" href="#331">331</a> <em> * @param pos field position, unused.</em> -<a name="332" href="#332">332</a> <em> * @return parsed date, likely null.</em> -<a name="333" href="#333">333</a> <em> */</em> -<a name="334" href="#334">334</a> <strong>public</strong> Date parse(String s, ParsePosition pos) { -<a name="335" href="#335">335</a> <strong>return</strong> formatter.parse(s, pos); -<a name="336" href="#336">336</a> } -<a name="337" href="#337">337</a> -<a name="338" href="#338">338</a> <em>/**<em>*</em></em> -<a name="339" href="#339">339</a> <em> * Gets number formatter.</em> -<a name="340" href="#340">340</a> <em> *</em> -<a name="341" href="#341">341</a> <em> * @return NumberFormat number formatter</em> -<a name="342" href="#342">342</a> <em> */</em> -<a name="343" href="#343">343</a> <strong>public</strong> NumberFormat getNumberFormat() { -<a name="344" href="#344">344</a> <strong>return</strong> formatter.getNumberFormat(); -<a name="345" href="#345">345</a> } -<a name="346" href="#346">346</a> -<a name="347" href="#347">347</a> <em>/**<em>*</em></em> -<a name="348" href="#348">348</a> <em> * Gets maximum cache validity for the specified SimpleDateTime</em> -<a name="349" href="#349">349</a> <em> * conversion pattern.</em> -<a name="350" href="#350">350</a> <em> * @param pattern conversion pattern, may not be null.</em> -<a name="351" href="#351">351</a> <em> * @return Duration in milliseconds from an integral second</em> -<a name="352" href="#352">352</a> <em> * that the cache will return consistent results.</em> -<a name="353" href="#353">353</a> <em> */</em> -<a name="354" href="#354">354</a> <strong>public</strong> <strong>static</strong> <strong>int</strong> getMaximumCacheValidity(<strong>final</strong> String pattern) { -<a name="355" href="#355">355</a> <em class="comment">//</em> -<a name="356" href="#356">356</a> <em class="comment">// If there are more "S" in the pattern than just one "SSS" then</em> -<a name="357" href="#357">357</a> <em class="comment">// (for example, "HH:mm:ss,SSS SSS"), then set the expiration to</em> -<a name="358" href="#358">358</a> <em class="comment">// one millisecond which should only perform duplicate request caching.</em> -<a name="359" href="#359">359</a> <em class="comment">//</em> -<a name="360" href="#360">360</a> <strong>int</strong> firstS = pattern.indexOf('S'); -<a name="361" href="#361">361</a> -<a name="362" href="#362">362</a> <strong>if</strong> ((firstS >= 0) &amp;&amp; (firstS != pattern.lastIndexOf(<span class="string">"SSS"</span>))) { -<a name="363" href="#363">363</a> <strong>return</strong> 1; -<a name="364" href="#364">364</a> } -<a name="365" href="#365">365</a> -<a name="366" href="#366">366</a> <strong>return</strong> 1000; -<a name="367" href="#367">367</a> } -<a name="368" href="#368">368</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/DatePatternConverter.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/DatePatternConverter.html deleted file mode 100644 index 5061ab7fd60..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/DatePatternConverter.html +++ /dev/null @@ -1,174 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DatePatternConverter xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/DatePatternConverter.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <strong>import</strong> java.text.SimpleDateFormat; -<a name="24" href="#24">24</a> <strong>import</strong> java.util.Date; -<a name="25" href="#25">25</a> <strong>import</strong> java.util.TimeZone; -<a name="26" href="#26">26</a> -<a name="27" href="#27">27</a> -<a name="28" href="#28">28</a> <em>/**<em>*</em></em> -<a name="29" href="#29">29</a> <em> * Convert and format the event's date in a StringBuffer.</em> -<a name="30" href="#30">30</a> <em> *</em> -<a name="31" href="#31">31</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DatePatternConverter</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * ABSOLUTE string literal.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String ABSOLUTE_FORMAT = <span class="string">"ABSOLUTE"</span>; -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * SimpleTimePattern for ABSOLUTE.</em> -<a name="40" href="#40">40</a> <em> */</em> -<a name="41" href="#41">41</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String ABSOLUTE_TIME_PATTERN = <span class="string">"HH:mm:ss,SSS"</span>; -<a name="42" href="#42">42</a> -<a name="43" href="#43">43</a> -<a name="44" href="#44">44</a> <em>/**<em>*</em></em> -<a name="45" href="#45">45</a> <em> * DATE string literal.</em> -<a name="46" href="#46">46</a> <em> */</em> -<a name="47" href="#47">47</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String DATE_AND_TIME_FORMAT = <span class="string">"DATE"</span>; -<a name="48" href="#48">48</a> <em>/**<em>*</em></em> -<a name="49" href="#49">49</a> <em> * SimpleTimePattern for DATE.</em> -<a name="50" href="#50">50</a> <em> */</em> -<a name="51" href="#51">51</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String DATE_AND_TIME_PATTERN = <span class="string">"dd MMM yyyy HH:mm:ss,SSS"</span>; -<a name="52" href="#52">52</a> -<a name="53" href="#53">53</a> <em>/**<em>*</em></em> -<a name="54" href="#54">54</a> <em> * ISO8601 string literal.</em> -<a name="55" href="#55">55</a> <em> */</em> -<a name="56" href="#56">56</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String ISO8601_FORMAT = <span class="string">"ISO8601"</span>; -<a name="57" href="#57">57</a> <em>/**<em>*</em></em> -<a name="58" href="#58">58</a> <em> * SimpleTimePattern for ISO8601.</em> -<a name="59" href="#59">59</a> <em> */</em> -<a name="60" href="#60">60</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String ISO8601_PATTERN = <span class="string">"yyyy-MM-dd HH:mm:ss,SSS"</span>; -<a name="61" href="#61">61</a> <em>/**<em>*</em></em> -<a name="62" href="#62">62</a> <em> * Date format.</em> -<a name="63" href="#63">63</a> <em> */</em> -<a name="64" href="#64">64</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a> df; -<a name="65" href="#65">65</a> -<a name="66" href="#66">66</a> <em>/**<em>*</em></em> -<a name="67" href="#67">67</a> <em> * Private constructor.</em> -<a name="68" href="#68">68</a> <em> * @param options options, may be null.</em> -<a name="69" href="#69">69</a> <em> */</em> -<a name="70" href="#70">70</a> <strong>private</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DatePatternConverter</a>(<strong>final</strong> String[] options) { -<a name="71" href="#71">71</a> <strong>super</strong>(<span class="string">"Date"</span>, <span class="string">"date"</span>); -<a name="72" href="#72">72</a> -<a name="73" href="#73">73</a> String patternOption; -<a name="74" href="#74">74</a> -<a name="75" href="#75">75</a> <strong>if</strong> ((options == <strong>null</strong>) || (options.length == 0)) { -<a name="76" href="#76">76</a> <em class="comment">// the branch could be optimized, but here we are making explicit</em> -<a name="77" href="#77">77</a> <em class="comment">// that null values for patternOption are allowed.</em> -<a name="78" href="#78">78</a> patternOption = <strong>null</strong>; -<a name="79" href="#79">79</a> } <strong>else</strong> { -<a name="80" href="#80">80</a> patternOption = options[0]; -<a name="81" href="#81">81</a> } -<a name="82" href="#82">82</a> -<a name="83" href="#83">83</a> String pattern; -<a name="84" href="#84">84</a> -<a name="85" href="#85">85</a> <strong>if</strong> ( -<a name="86" href="#86">86</a> (patternOption == <strong>null</strong>) -<a name="87" href="#87">87</a> || patternOption.equalsIgnoreCase(ISO8601_FORMAT)) { -<a name="88" href="#88">88</a> pattern = ISO8601_PATTERN; -<a name="89" href="#89">89</a> } <strong>else</strong> <strong>if</strong> (patternOption.equalsIgnoreCase(ABSOLUTE_FORMAT)) { -<a name="90" href="#90">90</a> pattern = ABSOLUTE_TIME_PATTERN; -<a name="91" href="#91">91</a> } <strong>else</strong> <strong>if</strong> (patternOption.equalsIgnoreCase(DATE_AND_TIME_FORMAT)) { -<a name="92" href="#92">92</a> pattern = DATE_AND_TIME_PATTERN; -<a name="93" href="#93">93</a> } <strong>else</strong> { -<a name="94" href="#94">94</a> pattern = patternOption; -<a name="95" href="#95">95</a> } -<a name="96" href="#96">96</a> -<a name="97" href="#97">97</a> <strong>int</strong> maximumCacheValidity = 1000; -<a name="98" href="#98">98</a> SimpleDateFormat simpleFormat = <strong>null</strong>; -<a name="99" href="#99">99</a> -<a name="100" href="#100">100</a> <strong>try</strong> { -<a name="101" href="#101">101</a> simpleFormat = <strong>new</strong> SimpleDateFormat(pattern); -<a name="102" href="#102">102</a> maximumCacheValidity = CachedDateFormat.getMaximumCacheValidity(pattern); -<a name="103" href="#103">103</a> } <strong>catch</strong> (IllegalArgumentException e) { -<a name="104" href="#104">104</a> LogLog.warn( -<a name="105" href="#105">105</a> <span class="string">"Could not instantiate SimpleDateFormat with pattern "</span> -<a name="106" href="#106">106</a> + patternOption, e); -<a name="107" href="#107">107</a> -<a name="108" href="#108">108</a> <em class="comment">// default to the ISO8601 format</em> -<a name="109" href="#109">109</a> simpleFormat = <strong>new</strong> SimpleDateFormat(ISO8601_PATTERN); -<a name="110" href="#110">110</a> } -<a name="111" href="#111">111</a> -<a name="112" href="#112">112</a> <em class="comment">// if the option list contains a TZ option, then set it.</em> -<a name="113" href="#113">113</a> <strong>if</strong> ((options != <strong>null</strong>) &amp;&amp; (options.length > 1)) { -<a name="114" href="#114">114</a> TimeZone tz = TimeZone.getTimeZone((String) options[1]); -<a name="115" href="#115">115</a> simpleFormat.setTimeZone(tz); -<a name="116" href="#116">116</a> } -<a name="117" href="#117">117</a> -<a name="118" href="#118">118</a> df = <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a>(simpleFormat, maximumCacheValidity); -<a name="119" href="#119">119</a> } -<a name="120" href="#120">120</a> -<a name="121" href="#121">121</a> <em>/**<em>*</em></em> -<a name="122" href="#122">122</a> <em> * Obtains an instance of pattern converter.</em> -<a name="123" href="#123">123</a> <em> * @param options options, may be null.</em> -<a name="124" href="#124">124</a> <em> * @return instance of pattern converter.</em> -<a name="125" href="#125">125</a> <em> */</em> -<a name="126" href="#126">126</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DatePatternConverter</a> newInstance( -<a name="127" href="#127">127</a> <strong>final</strong> String[] options) { -<a name="128" href="#128">128</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DatePatternConverter</a>(options); -<a name="129" href="#129">129</a> } -<a name="130" href="#130">130</a> -<a name="131" href="#131">131</a> <em>/**<em>*</em></em> -<a name="132" href="#132">132</a> <em> * {@inheritDoc}</em> -<a name="133" href="#133">133</a> <em> */</em> -<a name="134" href="#134">134</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> LoggingEvent event, <strong>final</strong> StringBuffer output) { -<a name="135" href="#135">135</a> <strong>synchronized</strong>(<strong>this</strong>) { -<a name="136" href="#136">136</a> df.format(event.timeStamp, output); -<a name="137" href="#137">137</a> } -<a name="138" href="#138">138</a> } -<a name="139" href="#139">139</a> -<a name="140" href="#140">140</a> <em>/**<em>*</em></em> -<a name="141" href="#141">141</a> <em> * {@inheritDoc}</em> -<a name="142" href="#142">142</a> <em> */</em> -<a name="143" href="#143">143</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> Object obj, <strong>final</strong> StringBuffer output) { -<a name="144" href="#144">144</a> <strong>if</strong> (obj instanceof Date) { -<a name="145" href="#145">145</a> format((Date) obj, output); -<a name="146" href="#146">146</a> } -<a name="147" href="#147">147</a> -<a name="148" href="#148">148</a> <strong>super</strong>.format(obj, output); -<a name="149" href="#149">149</a> } -<a name="150" href="#150">150</a> -<a name="151" href="#151">151</a> <em>/**<em>*</em></em> -<a name="152" href="#152">152</a> <em> * Append formatted date to string buffer.</em> -<a name="153" href="#153">153</a> <em> * @param date date</em> -<a name="154" href="#154">154</a> <em> * @param toAppendTo buffer to which formatted date is appended.</em> -<a name="155" href="#155">155</a> <em> */</em> -<a name="156" href="#156">156</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> Date date, <strong>final</strong> StringBuffer toAppendTo) { -<a name="157" href="#157">157</a> <strong>synchronized</strong>(<strong>this</strong>) { -<a name="158" href="#158">158</a> df.format(date.getTime(), toAppendTo); -<a name="159" href="#159">159</a> } -<a name="160" href="#160">160</a> } -<a name="161" href="#161">161</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/FormattingInfo.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/FormattingInfo.html deleted file mode 100644 index c73cf79c469..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/FormattingInfo.html +++ /dev/null @@ -1,147 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FormattingInfo xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/FormattingInfo.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> <em>/**<em>*</em></em> -<a name="22" href="#22">22</a> <em> * Modifies the output of a pattern converter for a specified minimum</em> -<a name="23" href="#23">23</a> <em> * and maximum width and alignment.</em> -<a name="24" href="#24">24</a> <em> *</em> -<a name="25" href="#25">25</a> <em> *</em> -<a name="26" href="#26">26</a> <em> * @author &lt;a href=<a href="mailto:jim_cakalic@na.biomerieux.com" target="alexandria_uri">mailto:jim_cakalic@na.biomerieux.com</a>>Jim Cakalic&lt;/a></em> -<a name="27" href="#27">27</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="28" href="#28">28</a> <em> * @author Curt Arnold</em> -<a name="29" href="#29">29</a> <em> *</em> -<a name="30" href="#30">30</a> <em> */</em> -<a name="31" href="#31">31</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> { -<a name="32" href="#32">32</a> <em>/**<em>*</em></em> -<a name="33" href="#33">33</a> <em> * Array of spaces.</em> -<a name="34" href="#34">34</a> <em> */</em> -<a name="35" href="#35">35</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>char</strong>[] SPACES = -<a name="36" href="#36">36</a> <strong>new</strong> <strong>char</strong>[] { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }; -<a name="37" href="#37">37</a> -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * Default instance.</em> -<a name="40" href="#40">40</a> <em> */</em> -<a name="41" href="#41">41</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> DEFAULT = -<a name="42" href="#42">42</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>(false, 0, Integer.MAX_VALUE); -<a name="43" href="#43">43</a> -<a name="44" href="#44">44</a> <em>/**<em>*</em></em> -<a name="45" href="#45">45</a> <em> * Minimum length.</em> -<a name="46" href="#46">46</a> <em> */</em> -<a name="47" href="#47">47</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> minLength; -<a name="48" href="#48">48</a> -<a name="49" href="#49">49</a> <em>/**<em>*</em></em> -<a name="50" href="#50">50</a> <em> * Maximum length.</em> -<a name="51" href="#51">51</a> <em> */</em> -<a name="52" href="#52">52</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> maxLength; -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <em>/**<em>*</em></em> -<a name="55" href="#55">55</a> <em> * Alignment.</em> -<a name="56" href="#56">56</a> <em> */</em> -<a name="57" href="#57">57</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> leftAlign; -<a name="58" href="#58">58</a> -<a name="59" href="#59">59</a> <em>/**<em>*</em></em> -<a name="60" href="#60">60</a> <em> * Creates new instance.</em> -<a name="61" href="#61">61</a> <em> * @param leftAlign left align if true.</em> -<a name="62" href="#62">62</a> <em> * @param minLength minimum length.</em> -<a name="63" href="#63">63</a> <em> * @param maxLength maximum length.</em> -<a name="64" href="#64">64</a> <em> */</em> -<a name="65" href="#65">65</a> <strong>public</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( -<a name="66" href="#66">66</a> <strong>final</strong> <strong>boolean</strong> leftAlign, <strong>final</strong> <strong>int</strong> minLength, <strong>final</strong> <strong>int</strong> maxLength) { -<a name="67" href="#67">67</a> <strong>this</strong>.leftAlign = leftAlign; -<a name="68" href="#68">68</a> <strong>this</strong>.minLength = minLength; -<a name="69" href="#69">69</a> <strong>this</strong>.maxLength = maxLength; -<a name="70" href="#70">70</a> } -<a name="71" href="#71">71</a> -<a name="72" href="#72">72</a> <em>/**<em>*</em></em> -<a name="73" href="#73">73</a> <em> * Gets default instance.</em> -<a name="74" href="#74">74</a> <em> * @return default instance.</em> -<a name="75" href="#75">75</a> <em> */</em> -<a name="76" href="#76">76</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> getDefault() { -<a name="77" href="#77">77</a> <strong>return</strong> DEFAULT; -<a name="78" href="#78">78</a> } -<a name="79" href="#79">79</a> -<a name="80" href="#80">80</a> <em>/**<em>*</em></em> -<a name="81" href="#81">81</a> <em> * Determine if left aligned.</em> -<a name="82" href="#82">82</a> <em> * @return true if left aligned.</em> -<a name="83" href="#83">83</a> <em> */</em> -<a name="84" href="#84">84</a> <strong>public</strong> <strong>boolean</strong> isLeftAligned() { -<a name="85" href="#85">85</a> <strong>return</strong> leftAlign; -<a name="86" href="#86">86</a> } -<a name="87" href="#87">87</a> -<a name="88" href="#88">88</a> <em>/**<em>*</em></em> -<a name="89" href="#89">89</a> <em> * Get minimum length.</em> -<a name="90" href="#90">90</a> <em> * @return minimum length.</em> -<a name="91" href="#91">91</a> <em> */</em> -<a name="92" href="#92">92</a> <strong>public</strong> <strong>int</strong> getMinLength() { -<a name="93" href="#93">93</a> <strong>return</strong> minLength; -<a name="94" href="#94">94</a> } -<a name="95" href="#95">95</a> -<a name="96" href="#96">96</a> <em>/**<em>*</em></em> -<a name="97" href="#97">97</a> <em> * Get maximum length.</em> -<a name="98" href="#98">98</a> <em> * @return maximum length.</em> -<a name="99" href="#99">99</a> <em> */</em> -<a name="100" href="#100">100</a> <strong>public</strong> <strong>int</strong> getMaxLength() { -<a name="101" href="#101">101</a> <strong>return</strong> maxLength; -<a name="102" href="#102">102</a> } -<a name="103" href="#103">103</a> -<a name="104" href="#104">104</a> <em>/**<em>*</em></em> -<a name="105" href="#105">105</a> <em> * Adjust the content of the buffer based on the specified lengths and alignment.</em> -<a name="106" href="#106">106</a> <em> *</em> -<a name="107" href="#107">107</a> <em> * @param fieldStart start of field in buffer.</em> -<a name="108" href="#108">108</a> <em> * @param buffer buffer to be modified.</em> -<a name="109" href="#109">109</a> <em> */</em> -<a name="110" href="#110">110</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> <strong>int</strong> fieldStart, <strong>final</strong> StringBuffer buffer) { -<a name="111" href="#111">111</a> <strong>final</strong> <strong>int</strong> rawLength = buffer.length() - fieldStart; -<a name="112" href="#112">112</a> -<a name="113" href="#113">113</a> <strong>if</strong> (rawLength > maxLength) { -<a name="114" href="#114">114</a> buffer.delete(fieldStart, buffer.length() - maxLength); -<a name="115" href="#115">115</a> } <strong>else</strong> <strong>if</strong> (rawLength &lt; minLength) { -<a name="116" href="#116">116</a> <strong>if</strong> (leftAlign) { -<a name="117" href="#117">117</a> <strong>final</strong> <strong>int</strong> fieldEnd = buffer.length(); -<a name="118" href="#118">118</a> buffer.setLength(fieldStart + minLength); -<a name="119" href="#119">119</a> -<a name="120" href="#120">120</a> <strong>for</strong> (<strong>int</strong> i = fieldEnd; i &lt; buffer.length(); i++) { -<a name="121" href="#121">121</a> buffer.setCharAt(i, ' '); -<a name="122" href="#122">122</a> } -<a name="123" href="#123">123</a> } <strong>else</strong> { -<a name="124" href="#124">124</a> <strong>int</strong> padLength = minLength - rawLength; -<a name="125" href="#125">125</a> -<a name="126" href="#126">126</a> <strong>for</strong> (; padLength > 8; padLength -= 8) { -<a name="127" href="#127">127</a> buffer.insert(fieldStart, SPACES); -<a name="128" href="#128">128</a> } -<a name="129" href="#129">129</a> -<a name="130" href="#130">130</a> buffer.insert(fieldStart, SPACES, 0, padLength); -<a name="131" href="#131">131</a> } -<a name="132" href="#132">132</a> } -<a name="133" href="#133">133</a> } -<a name="134" href="#134">134</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/NameAbbreviator.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/NameAbbreviator.html deleted file mode 100644 index a55db9cee84..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/NameAbbreviator.html +++ /dev/null @@ -1,316 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NameAbbreviator xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/NameAbbreviator.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> java.util.ArrayList; -<a name="21" href="#21">21</a> <strong>import</strong> java.util.List; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> <em>/**<em>*</em></em> -<a name="25" href="#25">25</a> <em> * NameAbbreviator generates abbreviated logger and class names.</em> -<a name="26" href="#26">26</a> <em> *</em> -<a name="27" href="#27">27</a> <em> * @author Curt Arnold</em> -<a name="28" href="#28">28</a> <em> */</em> -<a name="29" href="#29">29</a> <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { -<a name="30" href="#30">30</a> <em>/**<em>*</em></em> -<a name="31" href="#31">31</a> <em> * Default (no abbreviation) abbreviator.</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> DEFAULT = <strong>new</strong> NOPAbbreviator(); -<a name="34" href="#34">34</a> -<a name="35" href="#35">35</a> <em>/**<em>*</em></em> -<a name="36" href="#36">36</a> <em> * Gets an abbreviator.</em> -<a name="37" href="#37">37</a> <em> *</em> -<a name="38" href="#38">38</a> <em> * For example, "%logger{2}" will output only 2 elements of the logger name,</em> -<a name="39" href="#39">39</a> <em> * "%logger{1.}" will output only the first character of the non-final elements in the name,</em> -<a name="40" href="#40">40</a> <em> * "%logger(1~.2~} will output the first character of the first element, two characters of</em> -<a name="41" href="#41">41</a> <em> * the second and subsequent elements and will use a tilde to indicate abbreviated characters.</em> -<a name="42" href="#42">42</a> <em> *</em> -<a name="43" href="#43">43</a> <em> * @param pattern abbreviation pattern.</em> -<a name="44" href="#44">44</a> <em> * @return abbreviator, will not be null.</em> -<a name="45" href="#45">45</a> <em> */</em> -<a name="46" href="#46">46</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> getAbbreviator(<strong>final</strong> String pattern) { -<a name="47" href="#47">47</a> <strong>if</strong> (pattern.length() > 0) { -<a name="48" href="#48">48</a> <em class="comment">// if pattern is just spaces and numbers then</em> -<a name="49" href="#49">49</a> <em class="comment">// use MaxElementAbbreviator</em> -<a name="50" href="#50">50</a> String trimmed = pattern.trim(); -<a name="51" href="#51">51</a> -<a name="52" href="#52">52</a> <strong>if</strong> (trimmed.length() == 0) { -<a name="53" href="#53">53</a> <strong>return</strong> DEFAULT; -<a name="54" href="#54">54</a> } -<a name="55" href="#55">55</a> -<a name="56" href="#56">56</a> <strong>int</strong> i = 0; -<a name="57" href="#57">57</a> -<a name="58" href="#58">58</a> <strong>while</strong> ( -<a name="59" href="#59">59</a> (i &lt; trimmed.length()) &amp;&amp; (trimmed.charAt(i) >= '0') -<a name="60" href="#60">60</a> &amp;&amp; (trimmed.charAt(i) &lt;= '9')) { -<a name="61" href="#61">61</a> i++; -<a name="62" href="#62">62</a> } -<a name="63" href="#63">63</a> -<a name="64" href="#64">64</a> <em class="comment">//</em> -<a name="65" href="#65">65</a> <em class="comment">// if all blanks and digits</em> -<a name="66" href="#66">66</a> <em class="comment">//</em> -<a name="67" href="#67">67</a> <strong>if</strong> (i == trimmed.length()) { -<a name="68" href="#68">68</a> <strong>return</strong> <strong>new</strong> MaxElementAbbreviator(Integer.parseInt(trimmed)); -<a name="69" href="#69">69</a> } -<a name="70" href="#70">70</a> -<a name="71" href="#71">71</a> ArrayList fragments = <strong>new</strong> ArrayList(5); -<a name="72" href="#72">72</a> <strong>char</strong> ellipsis; -<a name="73" href="#73">73</a> <strong>int</strong> charCount; -<a name="74" href="#74">74</a> <strong>int</strong> pos = 0; -<a name="75" href="#75">75</a> -<a name="76" href="#76">76</a> <strong>while</strong> ((pos &lt; trimmed.length()) &amp;&amp; (pos >= 0)) { -<a name="77" href="#77">77</a> <strong>int</strong> ellipsisPos = pos; -<a name="78" href="#78">78</a> -<a name="79" href="#79">79</a> <strong>if</strong> (trimmed.charAt(pos) == '*') { -<a name="80" href="#80">80</a> charCount = Integer.MAX_VALUE; -<a name="81" href="#81">81</a> ellipsisPos++; -<a name="82" href="#82">82</a> } <strong>else</strong> { -<a name="83" href="#83">83</a> <strong>if</strong> ((trimmed.charAt(pos) >= '0') &amp;&amp; (trimmed.charAt(pos) &lt;= '9')) { -<a name="84" href="#84">84</a> charCount = trimmed.charAt(pos) - '0'; -<a name="85" href="#85">85</a> ellipsisPos++; -<a name="86" href="#86">86</a> } <strong>else</strong> { -<a name="87" href="#87">87</a> charCount = 0; -<a name="88" href="#88">88</a> } -<a name="89" href="#89">89</a> } -<a name="90" href="#90">90</a> -<a name="91" href="#91">91</a> ellipsis = '\0'; -<a name="92" href="#92">92</a> -<a name="93" href="#93">93</a> <strong>if</strong> (ellipsisPos &lt; trimmed.length()) { -<a name="94" href="#94">94</a> ellipsis = trimmed.charAt(ellipsisPos); -<a name="95" href="#95">95</a> -<a name="96" href="#96">96</a> <strong>if</strong> (ellipsis == '.') { -<a name="97" href="#97">97</a> ellipsis = '\0'; -<a name="98" href="#98">98</a> } -<a name="99" href="#99">99</a> } -<a name="100" href="#100">100</a> -<a name="101" href="#101">101</a> fragments.add(<strong>new</strong> PatternAbbreviatorFragment(charCount, ellipsis)); -<a name="102" href="#102">102</a> pos = trimmed.indexOf(<span class="string">"."</span>, pos); -<a name="103" href="#103">103</a> -<a name="104" href="#104">104</a> <strong>if</strong> (pos == -1) { -<a name="105" href="#105">105</a> <strong>break</strong>; -<a name="106" href="#106">106</a> } -<a name="107" href="#107">107</a> -<a name="108" href="#108">108</a> pos++; -<a name="109" href="#109">109</a> } -<a name="110" href="#110">110</a> -<a name="111" href="#111">111</a> <strong>return</strong> <strong>new</strong> PatternAbbreviator(fragments); -<a name="112" href="#112">112</a> } -<a name="113" href="#113">113</a> -<a name="114" href="#114">114</a> <em class="comment">//</em> -<a name="115" href="#115">115</a> <em class="comment">// no matching abbreviation, return defaultAbbreviator</em> -<a name="116" href="#116">116</a> <em class="comment">//</em> -<a name="117" href="#117">117</a> <strong>return</strong> DEFAULT; -<a name="118" href="#118">118</a> } -<a name="119" href="#119">119</a> -<a name="120" href="#120">120</a> <em>/**<em>*</em></em> -<a name="121" href="#121">121</a> <em> * Gets default abbreviator.</em> -<a name="122" href="#122">122</a> <em> *</em> -<a name="123" href="#123">123</a> <em> * @return default abbreviator.</em> -<a name="124" href="#124">124</a> <em> */</em> -<a name="125" href="#125">125</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> getDefaultAbbreviator() { -<a name="126" href="#126">126</a> <strong>return</strong> DEFAULT; -<a name="127" href="#127">127</a> } -<a name="128" href="#128">128</a> -<a name="129" href="#129">129</a> <em>/**<em>*</em></em> -<a name="130" href="#130">130</a> <em> * Abbreviates a name in a StringBuffer.</em> -<a name="131" href="#131">131</a> <em> *</em> -<a name="132" href="#132">132</a> <em> * @param nameStart starting position of name in buf.</em> -<a name="133" href="#133">133</a> <em> * @param buf buffer, may not be null.</em> -<a name="134" href="#134">134</a> <em> */</em> -<a name="135" href="#135">135</a> <strong>public</strong> <strong>abstract</strong> <strong>void</strong> abbreviate(<strong>final</strong> <strong>int</strong> nameStart, <strong>final</strong> StringBuffer buf); -<a name="136" href="#136">136</a> -<a name="137" href="#137">137</a> <em>/**<em>*</em></em> -<a name="138" href="#138">138</a> <em> * Abbreviator that simply appends full name to buffer.</em> -<a name="139" href="#139">139</a> <em> */</em> -<a name="140" href="#140">140</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> NOPAbbreviator <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { -<a name="141" href="#141">141</a> <em>/**<em>*</em></em> -<a name="142" href="#142">142</a> <em> * Constructor.</em> -<a name="143" href="#143">143</a> <em> */</em> -<a name="144" href="#144">144</a> <strong>public</strong> NOPAbbreviator() { -<a name="145" href="#145">145</a> } -<a name="146" href="#146">146</a> -<a name="147" href="#147">147</a> <em>/**<em>*</em></em> -<a name="148" href="#148">148</a> <em> * {@inheritDoc}</em> -<a name="149" href="#149">149</a> <em> */</em> -<a name="150" href="#150">150</a> <strong>public</strong> <strong>void</strong> abbreviate(<strong>final</strong> <strong>int</strong> nameStart, <strong>final</strong> StringBuffer buf) { -<a name="151" href="#151">151</a> } -<a name="152" href="#152">152</a> } -<a name="153" href="#153">153</a> -<a name="154" href="#154">154</a> <em>/**<em>*</em></em> -<a name="155" href="#155">155</a> <em> * Abbreviator that drops starting path elements.</em> -<a name="156" href="#156">156</a> <em> */</em> -<a name="157" href="#157">157</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> MaxElementAbbreviator <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { -<a name="158" href="#158">158</a> <em>/**<em>*</em></em> -<a name="159" href="#159">159</a> <em> * Maximum number of path elements to output.</em> -<a name="160" href="#160">160</a> <em> */</em> -<a name="161" href="#161">161</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> count; -<a name="162" href="#162">162</a> -<a name="163" href="#163">163</a> <em>/**<em>*</em></em> -<a name="164" href="#164">164</a> <em> * Create new instance.</em> -<a name="165" href="#165">165</a> <em> * @param count maximum number of path elements to output.</em> -<a name="166" href="#166">166</a> <em> */</em> -<a name="167" href="#167">167</a> <strong>public</strong> MaxElementAbbreviator(<strong>final</strong> <strong>int</strong> count) { -<a name="168" href="#168">168</a> <strong>this</strong>.count = count; -<a name="169" href="#169">169</a> } -<a name="170" href="#170">170</a> -<a name="171" href="#171">171</a> <em>/**<em>*</em></em> -<a name="172" href="#172">172</a> <em> * Abbreviate name.</em> -<a name="173" href="#173">173</a> <em> * @param buf buffer to append abbreviation.</em> -<a name="174" href="#174">174</a> <em> * @param nameStart start of name to abbreviate.</em> -<a name="175" href="#175">175</a> <em> */</em> -<a name="176" href="#176">176</a> <strong>public</strong> <strong>void</strong> abbreviate(<strong>final</strong> <strong>int</strong> nameStart, <strong>final</strong> StringBuffer buf) { -<a name="177" href="#177">177</a> <em class="comment">// We substract 1 from 'len' when assigning to 'end' to avoid out of</em> -<a name="178" href="#178">178</a> <em class="comment">// bounds exception in return r.substring(end+1, len). This can happen if</em> -<a name="179" href="#179">179</a> <em class="comment">// precision is 1 and the category name ends with a dot.</em> -<a name="180" href="#180">180</a> <strong>int</strong> end = buf.length() - 1; -<a name="181" href="#181">181</a> -<a name="182" href="#182">182</a> String bufString = buf.toString(); -<a name="183" href="#183">183</a> <strong>for</strong> (<strong>int</strong> i = count; i > 0; i--) { -<a name="184" href="#184">184</a> end = bufString.lastIndexOf(<span class="string">"."</span>, end - 1); -<a name="185" href="#185">185</a> -<a name="186" href="#186">186</a> <strong>if</strong> ((end == -1) || (end &lt; nameStart)) { -<a name="187" href="#187">187</a> <strong>return</strong>; -<a name="188" href="#188">188</a> } -<a name="189" href="#189">189</a> } -<a name="190" href="#190">190</a> -<a name="191" href="#191">191</a> buf.delete(nameStart, end + 1); -<a name="192" href="#192">192</a> } -<a name="193" href="#193">193</a> } -<a name="194" href="#194">194</a> -<a name="195" href="#195">195</a> <em>/**<em>*</em></em> -<a name="196" href="#196">196</a> <em> * Fragment of an pattern abbreviator.</em> -<a name="197" href="#197">197</a> <em> *</em> -<a name="198" href="#198">198</a> <em> */</em> -<a name="199" href="#199">199</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> PatternAbbreviatorFragment { -<a name="200" href="#200">200</a> <em>/**<em>*</em></em> -<a name="201" href="#201">201</a> <em> * Count of initial characters of element to output.</em> -<a name="202" href="#202">202</a> <em> */</em> -<a name="203" href="#203">203</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> charCount; -<a name="204" href="#204">204</a> -<a name="205" href="#205">205</a> <em>/**<em>*</em></em> -<a name="206" href="#206">206</a> <em> * Character used to represent dropped characters.</em> -<a name="207" href="#207">207</a> <em> * '\0' indicates no representation of dropped characters.</em> -<a name="208" href="#208">208</a> <em> */</em> -<a name="209" href="#209">209</a> <strong>private</strong> <strong>final</strong> <strong>char</strong> ellipsis; -<a name="210" href="#210">210</a> -<a name="211" href="#211">211</a> <em>/**<em>*</em></em> -<a name="212" href="#212">212</a> <em> * Creates a PatternAbbreviatorFragment.</em> -<a name="213" href="#213">213</a> <em> * @param charCount number of initial characters to preserve.</em> -<a name="214" href="#214">214</a> <em> * @param ellipsis character to represent elimination of characters,</em> -<a name="215" href="#215">215</a> <em> * '\0' if no ellipsis is desired.</em> -<a name="216" href="#216">216</a> <em> */</em> -<a name="217" href="#217">217</a> <strong>public</strong> PatternAbbreviatorFragment( -<a name="218" href="#218">218</a> <strong>final</strong> <strong>int</strong> <strong>char</strong>Count, <strong>final</strong> <strong>char</strong> ellipsis) { -<a name="219" href="#219">219</a> <strong>this</strong>.charCount = charCount; -<a name="220" href="#220">220</a> <strong>this</strong>.ellipsis = ellipsis; -<a name="221" href="#221">221</a> } -<a name="222" href="#222">222</a> -<a name="223" href="#223">223</a> <em>/**<em>*</em></em> -<a name="224" href="#224">224</a> <em> * Abbreviate element of name.</em> -<a name="225" href="#225">225</a> <em> * @param buf buffer to receive element.</em> -<a name="226" href="#226">226</a> <em> * @param startPos starting index of name element.</em> -<a name="227" href="#227">227</a> <em> * @return starting index of next element.</em> -<a name="228" href="#228">228</a> <em> */</em> -<a name="229" href="#229">229</a> <strong>public</strong> <strong>int</strong> abbreviate(<strong>final</strong> StringBuffer buf, <strong>final</strong> <strong>int</strong> startPos) { -<a name="230" href="#230">230</a> <strong>int</strong> nextDot = buf.toString().indexOf(<span class="string">"."</span>, startPos); -<a name="231" href="#231">231</a> -<a name="232" href="#232">232</a> <strong>if</strong> (nextDot != -1) { -<a name="233" href="#233">233</a> <strong>if</strong> ((nextDot - startPos) > charCount) { -<a name="234" href="#234">234</a> buf.delete(startPos + charCount, nextDot); -<a name="235" href="#235">235</a> nextDot = startPos + charCount; -<a name="236" href="#236">236</a> -<a name="237" href="#237">237</a> <strong>if</strong> (ellipsis != '\0') { -<a name="238" href="#238">238</a> buf.insert(nextDot, ellipsis); -<a name="239" href="#239">239</a> nextDot++; -<a name="240" href="#240">240</a> } -<a name="241" href="#241">241</a> } -<a name="242" href="#242">242</a> -<a name="243" href="#243">243</a> nextDot++; -<a name="244" href="#244">244</a> } -<a name="245" href="#245">245</a> -<a name="246" href="#246">246</a> <strong>return</strong> nextDot; -<a name="247" href="#247">247</a> } -<a name="248" href="#248">248</a> } -<a name="249" href="#249">249</a> -<a name="250" href="#250">250</a> <em>/**<em>*</em></em> -<a name="251" href="#251">251</a> <em> * Pattern abbreviator.</em> -<a name="252" href="#252">252</a> <em> *</em> -<a name="253" href="#253">253</a> <em> *</em> -<a name="254" href="#254">254</a> <em> */</em> -<a name="255" href="#255">255</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> PatternAbbreviator <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { -<a name="256" href="#256">256</a> <em>/**<em>*</em></em> -<a name="257" href="#257">257</a> <em> * Element abbreviation patterns.</em> -<a name="258" href="#258">258</a> <em> */</em> -<a name="259" href="#259">259</a> <strong>private</strong> <strong>final</strong> PatternAbbreviatorFragment[] fragments; -<a name="260" href="#260">260</a> -<a name="261" href="#261">261</a> <em>/**<em>*</em></em> -<a name="262" href="#262">262</a> <em> * Create PatternAbbreviator.</em> -<a name="263" href="#263">263</a> <em> *</em> -<a name="264" href="#264">264</a> <em> * @param fragments element abbreviation patterns.</em> -<a name="265" href="#265">265</a> <em> */</em> -<a name="266" href="#266">266</a> <strong>public</strong> PatternAbbreviator(List fragments) { -<a name="267" href="#267">267</a> <strong>if</strong> (fragments.size() == 0) { -<a name="268" href="#268">268</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="269" href="#269">269</a> <span class="string">"fragments must have at least one element"</span>); -<a name="270" href="#270">270</a> } -<a name="271" href="#271">271</a> -<a name="272" href="#272">272</a> <strong>this</strong>.fragments = <strong>new</strong> PatternAbbreviatorFragment[fragments.size()]; -<a name="273" href="#273">273</a> fragments.toArray(<strong>this</strong>.fragments); -<a name="274" href="#274">274</a> } -<a name="275" href="#275">275</a> -<a name="276" href="#276">276</a> <em>/**<em>*</em></em> -<a name="277" href="#277">277</a> <em> * Abbreviate name.</em> -<a name="278" href="#278">278</a> <em> * @param buf buffer that abbreviated name is appended.</em> -<a name="279" href="#279">279</a> <em> * @param nameStart start of name.</em> -<a name="280" href="#280">280</a> <em> */</em> -<a name="281" href="#281">281</a> <strong>public</strong> <strong>void</strong> abbreviate(<strong>final</strong> <strong>int</strong> nameStart, <strong>final</strong> StringBuffer buf) { -<a name="282" href="#282">282</a> <em class="comment">//</em> -<a name="283" href="#283">283</a> <em class="comment">// all non-terminal patterns are executed once</em> -<a name="284" href="#284">284</a> <em class="comment">//</em> -<a name="285" href="#285">285</a> <strong>int</strong> pos = nameStart; -<a name="286" href="#286">286</a> -<a name="287" href="#287">287</a> <strong>for</strong> (<strong>int</strong> i = 0; (i &lt; (fragments.length - 1)) &amp;&amp; (pos &lt; buf.length()); -<a name="288" href="#288">288</a> i++) { -<a name="289" href="#289">289</a> pos = fragments[i].abbreviate(buf, pos); -<a name="290" href="#290">290</a> } -<a name="291" href="#291">291</a> -<a name="292" href="#292">292</a> <em class="comment">//</em> -<a name="293" href="#293">293</a> <em class="comment">// last pattern in executed repeatedly</em> -<a name="294" href="#294">294</a> <em class="comment">//</em> -<a name="295" href="#295">295</a> PatternAbbreviatorFragment terminalFragment = -<a name="296" href="#296">296</a> fragments[fragments.length - 1]; -<a name="297" href="#297">297</a> -<a name="298" href="#298">298</a> <strong>while</strong> ((pos &lt; buf.length()) &amp;&amp; (pos >= 0)) { -<a name="299" href="#299">299</a> pos = terminalFragment.abbreviate(buf, pos); -<a name="300" href="#300">300</a> } -<a name="301" href="#301">301</a> } -<a name="302" href="#302">302</a> } -<a name="303" href="#303">303</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html deleted file mode 100644 index 2f7d3ec05ec..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html +++ /dev/null @@ -1,122 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PropertiesPatternConverter xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <strong>import</strong> java.io.ByteArrayInputStream; -<a name="23" href="#23">23</a> <strong>import</strong> java.io.ByteArrayOutputStream; -<a name="24" href="#24">24</a> <strong>import</strong> java.io.ObjectInputStream; -<a name="25" href="#25">25</a> <strong>import</strong> java.io.ObjectOutputStream; -<a name="26" href="#26">26</a> <strong>import</strong> java.lang.reflect.*; -<a name="27" href="#27">27</a> <strong>import</strong> java.util.Iterator; -<a name="28" href="#28">28</a> <strong>import</strong> java.util.Set; -<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.helpers.*; -<a name="30" href="#30">30</a> -<a name="31" href="#31">31</a> -<a name="32" href="#32">32</a> <em>/**<em>*</em></em> -<a name="33" href="#33">33</a> <em> * Able to handle the contents of the LoggingEvent's Property bundle and either</em> -<a name="34" href="#34">34</a> <em> * output the entire contents of the properties in a similar format to the</em> -<a name="35" href="#35">35</a> <em> * java.util.Hashtable.toString(), or to output the value of a specific key</em> -<a name="36" href="#36">36</a> <em> * within the property bundle</em> -<a name="37" href="#37">37</a> <em> * when this pattern converter has the option set.</em> -<a name="38" href="#38">38</a> <em> *</em> -<a name="39" href="#39">39</a> <em> * @author Paul Smith</em> -<a name="40" href="#40">40</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="41" href="#41">41</a> <em> */</em> -<a name="42" href="#42">42</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a> -<a name="43" href="#43">43</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { -<a name="44" href="#44">44</a> <em>/**<em>*</em></em> -<a name="45" href="#45">45</a> <em> * Name of property to output.</em> -<a name="46" href="#46">46</a> <em> */</em> -<a name="47" href="#47">47</a> <strong>private</strong> <strong>final</strong> String option; -<a name="48" href="#48">48</a> -<a name="49" href="#49">49</a> <em>/**<em>*</em></em> -<a name="50" href="#50">50</a> <em> * Private constructor.</em> -<a name="51" href="#51">51</a> <em> * @param options options, may be null.</em> -<a name="52" href="#52">52</a> <em> */</em> -<a name="53" href="#53">53</a> <strong>private</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a>( -<a name="54" href="#54">54</a> <strong>final</strong> String[] options) { -<a name="55" href="#55">55</a> <strong>super</strong>( -<a name="56" href="#56">56</a> ((options != <strong>null</strong>) &amp;&amp; (options.length > 0)) -<a name="57" href="#57">57</a> ? (<span class="string">"Property{"</span> + options[0] + <span class="string">"}"</span>) : <span class="string">"Properties"</span>, <span class="string">"property"</span>); -<a name="58" href="#58">58</a> -<a name="59" href="#59">59</a> <strong>if</strong> ((options != <strong>null</strong>) &amp;&amp; (options.length > 0)) { -<a name="60" href="#60">60</a> option = options[0]; -<a name="61" href="#61">61</a> } <strong>else</strong> { -<a name="62" href="#62">62</a> option = <strong>null</strong>; -<a name="63" href="#63">63</a> } -<a name="64" href="#64">64</a> } -<a name="65" href="#65">65</a> -<a name="66" href="#66">66</a> <em>/**<em>*</em></em> -<a name="67" href="#67">67</a> <em> * Obtains an instance of PropertiesPatternConverter.</em> -<a name="68" href="#68">68</a> <em> * @param options options, may be null or first element contains name of property to format.</em> -<a name="69" href="#69">69</a> <em> * @return instance of PropertiesPatternConverter.</em> -<a name="70" href="#70">70</a> <em> */</em> -<a name="71" href="#71">71</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a> newInstance( -<a name="72" href="#72">72</a> <strong>final</strong> String[] options) { -<a name="73" href="#73">73</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a>(options); -<a name="74" href="#74">74</a> } -<a name="75" href="#75">75</a> -<a name="76" href="#76">76</a> <em>/**<em>*</em></em> -<a name="77" href="#77">77</a> <em> * {@inheritDoc}</em> -<a name="78" href="#78">78</a> <em> */</em> -<a name="79" href="#79">79</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> LoggingEvent event, <strong>final</strong> StringBuffer toAppendTo) { -<a name="80" href="#80">80</a> <em class="comment">// if there is no additional options, we output every single</em> -<a name="81" href="#81">81</a> <em class="comment">// Key/Value pair for the MDC in a similar format to Hashtable.toString()</em> -<a name="82" href="#82">82</a> <strong>if</strong> (option == <strong>null</strong>) { -<a name="83" href="#83">83</a> toAppendTo.append(<span class="string">"{"</span>); -<a name="84" href="#84">84</a> -<a name="85" href="#85">85</a> <strong>try</strong> { -<a name="86" href="#86">86</a> Set keySet = MDCKeySetExtractor.INSTANCE.getPropertyKeySet(event); -<a name="87" href="#87">87</a> <strong>if</strong> (keySet != <strong>null</strong>) { -<a name="88" href="#88">88</a> <strong>for</strong> (Iterator i = keySet.iterator(); i.hasNext();) { -<a name="89" href="#89">89</a> Object item = i.next(); -<a name="90" href="#90">90</a> Object val = event.getMDC(item.toString()); -<a name="91" href="#91">91</a> toAppendTo.append(<span class="string">"{"</span>).append(item).append(<span class="string">","</span>).append(val).append( -<a name="92" href="#92">92</a> <span class="string">"}"</span>); -<a name="93" href="#93">93</a> } -<a name="94" href="#94">94</a> } -<a name="95" href="#95">95</a> } <strong>catch</strong>(Exception ex) { -<a name="96" href="#96">96</a> LogLog.error(<span class="string">"Unexpected exception while extracting MDC keys"</span>, ex); -<a name="97" href="#97">97</a> } -<a name="98" href="#98">98</a> -<a name="99" href="#99">99</a> toAppendTo.append(<span class="string">"}"</span>); -<a name="100" href="#100">100</a> } <strong>else</strong> { -<a name="101" href="#101">101</a> <em class="comment">// otherwise they just want a single key output</em> -<a name="102" href="#102">102</a> Object val = event.getMDC(option); -<a name="103" href="#103">103</a> -<a name="104" href="#104">104</a> <strong>if</strong> (val != <strong>null</strong>) { -<a name="105" href="#105">105</a> toAppendTo.append(val); -<a name="106" href="#106">106</a> } -<a name="107" href="#107">107</a> } -<a name="108" href="#108">108</a> } -<a name="109" href="#109">109</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html deleted file mode 100644 index a98eb3c2a1f..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html +++ /dev/null @@ -1,112 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ThrowableInformationPatternConverter xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.ThrowableInformation; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> <em>/**<em>*</em></em> -<a name="25" href="#25">25</a> <em> * Outputs the ThrowableInformation portion of the LoggingiEvent as a full stacktrace</em> -<a name="26" href="#26">26</a> <em> * unless this converter's option is 'short', where it just outputs the first line of the trace.</em> -<a name="27" href="#27">27</a> <em> *</em> -<a name="28" href="#28">28</a> <em> * @author Paul Smith</em> -<a name="29" href="#29">29</a> <em> *</em> -<a name="30" href="#30">30</a> <em> */</em> -<a name="31" href="#31">31</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a> -<a name="32" href="#32">32</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { -<a name="33" href="#33">33</a> <em>/**<em>*</em></em> -<a name="34" href="#34">34</a> <em> * If "short", only first line of throwable report will be formatted.</em> -<a name="35" href="#35">35</a> <em> */</em> -<a name="36" href="#36">36</a> <strong>private</strong> <strong>final</strong> String option; -<a name="37" href="#37">37</a> -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * Private constructor.</em> -<a name="40" href="#40">40</a> <em> * @param options options, may be null.</em> -<a name="41" href="#41">41</a> <em> */</em> -<a name="42" href="#42">42</a> <strong>private</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a>( -<a name="43" href="#43">43</a> <strong>final</strong> String[] options) { -<a name="44" href="#44">44</a> <strong>super</strong>(<span class="string">"Throwable"</span>, <span class="string">"throwable"</span>); -<a name="45" href="#45">45</a> -<a name="46" href="#46">46</a> <strong>if</strong> ((options != <strong>null</strong>) &amp;&amp; (options.length > 0)) { -<a name="47" href="#47">47</a> option = options[0]; -<a name="48" href="#48">48</a> } <strong>else</strong> { -<a name="49" href="#49">49</a> option = <strong>null</strong>; -<a name="50" href="#50">50</a> } -<a name="51" href="#51">51</a> } -<a name="52" href="#52">52</a> -<a name="53" href="#53">53</a> <em>/**<em>*</em></em> -<a name="54" href="#54">54</a> <em> * Gets an instance of the class.</em> -<a name="55" href="#55">55</a> <em> * @param options pattern options, may be null. If first element is "short",</em> -<a name="56" href="#56">56</a> <em> * only the first line of the throwable will be formatted.</em> -<a name="57" href="#57">57</a> <em> * @return instance of class.</em> -<a name="58" href="#58">58</a> <em> */</em> -<a name="59" href="#59">59</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a> newInstance( -<a name="60" href="#60">60</a> <strong>final</strong> String[] options) { -<a name="61" href="#61">61</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a>(options); -<a name="62" href="#62">62</a> } -<a name="63" href="#63">63</a> -<a name="64" href="#64">64</a> <em>/**<em>*</em></em> -<a name="65" href="#65">65</a> <em> * {@inheritDoc}</em> -<a name="66" href="#66">66</a> <em> */</em> -<a name="67" href="#67">67</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> LoggingEvent event, <strong>final</strong> StringBuffer toAppendTo) { -<a name="68" href="#68">68</a> ThrowableInformation information = event.getThrowableInformation(); -<a name="69" href="#69">69</a> -<a name="70" href="#70">70</a> <strong>if</strong> (information != <strong>null</strong>) { -<a name="71" href="#71">71</a> String[] stringRep = information.getThrowableStrRep(); -<a name="72" href="#72">72</a> -<a name="73" href="#73">73</a> <strong>int</strong> length = 0; -<a name="74" href="#74">74</a> -<a name="75" href="#75">75</a> <strong>if</strong> (option == <strong>null</strong>) { -<a name="76" href="#76">76</a> length = stringRep.length; -<a name="77" href="#77">77</a> } <strong>else</strong> <strong>if</strong> (option.equals(<span class="string">"full"</span>)) { -<a name="78" href="#78">78</a> length = stringRep.length; -<a name="79" href="#79">79</a> } <strong>else</strong> <strong>if</strong> (option.equals(<span class="string">"short"</span>)) { -<a name="80" href="#80">80</a> length = 1; -<a name="81" href="#81">81</a> } <strong>else</strong> { -<a name="82" href="#82">82</a> length = stringRep.length; -<a name="83" href="#83">83</a> } -<a name="84" href="#84">84</a> -<a name="85" href="#85">85</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; length; i++) { -<a name="86" href="#86">86</a> String string = stringRep[i]; -<a name="87" href="#87">87</a> toAppendTo.append(string).append(<span class="string">"\n"</span>); -<a name="88" href="#88">88</a> } -<a name="89" href="#89">89</a> } -<a name="90" href="#90">90</a> } -<a name="91" href="#91">91</a> -<a name="92" href="#92">92</a> <em>/**<em>*</em></em> -<a name="93" href="#93">93</a> <em> * This converter obviously handles throwables.</em> -<a name="94" href="#94">94</a> <em> * @return true.</em> -<a name="95" href="#95">95</a> <em> */</em> -<a name="96" href="#96">96</a> <strong>public</strong> <strong>boolean</strong> handlesThrowable() { -<a name="97" href="#97">97</a> <strong>return</strong> <strong>true</strong>; -<a name="98" href="#98">98</a> } -<a name="99" href="#99">99</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html deleted file mode 100644 index ed038711d44..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html +++ /dev/null @@ -1,168 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FilterBasedTriggeringPolicy xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.Appender; -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.Filter; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; -<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.TriggeringEventEvaluator; -<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.xml.UnrecognizedElementHandler; -<a name="25" href="#25">25</a> <strong>import</strong> org.w3c.dom.Element; -<a name="26" href="#26">26</a> -<a name="27" href="#27">27</a> <strong>import</strong> java.util.Properties; -<a name="28" href="#28">28</a> -<a name="29" href="#29">29</a> -<a name="30" href="#30">30</a> <em>/**<em>*</em></em> -<a name="31" href="#31">31</a> <em> * FilterBasedTriggeringPolicy determines if rolling should be triggered</em> -<a name="32" href="#32">32</a> <em> * by evaluating the current message against a set of filters. Unless a</em> -<a name="33" href="#33">33</a> <em> * filter rejects a message, a rolling event will be triggered.</em> -<a name="34" href="#34">34</a> <em> *</em> -<a name="35" href="#35">35</a> <em> * @author Curt Arnold</em> -<a name="36" href="#36">36</a> <em> *</em> -<a name="37" href="#37">37</a> <em> */</em> -<a name="38" href="#38">38</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html">FilterBasedTriggeringPolicy</a> -<a name="39" href="#39">39</a> implements TriggeringPolicy, TriggeringEventEvaluator, <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> { -<a name="40" href="#40">40</a> <em>/**<em>*</em></em> -<a name="41" href="#41">41</a> <em> * The first filter in the filter chain. Set to &lt;code>null&lt;/code> initially.</em> -<a name="42" href="#42">42</a> <em> */</em> -<a name="43" href="#43">43</a> <strong>private</strong> Filter headFilter; -<a name="44" href="#44">44</a> -<a name="45" href="#45">45</a> <em>/**<em>*</em></em> -<a name="46" href="#46">46</a> <em> * The last filter in the filter chain.</em> -<a name="47" href="#47">47</a> <em> */</em> -<a name="48" href="#48">48</a> <strong>private</strong> Filter tailFilter; -<a name="49" href="#49">49</a> -<a name="50" href="#50">50</a> <em>/**<em>*</em></em> -<a name="51" href="#51">51</a> <em> * Creates a new FilterBasedTriggeringPolicy.</em> -<a name="52" href="#52">52</a> <em> */</em> -<a name="53" href="#53">53</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html">FilterBasedTriggeringPolicy</a>() { -<a name="54" href="#54">54</a> } -<a name="55" href="#55">55</a> -<a name="56" href="#56">56</a> <em>/**<em>*</em></em> -<a name="57" href="#57">57</a> <em> * {@inheritDoc}</em> -<a name="58" href="#58">58</a> <em> */</em> -<a name="59" href="#59">59</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent(LoggingEvent event) { -<a name="60" href="#60">60</a> <em class="comment">//</em> -<a name="61" href="#61">61</a> <em class="comment">// in the abnormal case of no contained filters</em> -<a name="62" href="#62">62</a> <em class="comment">// always return true to avoid each logging event</em> -<a name="63" href="#63">63</a> <em class="comment">// from having its own file.</em> -<a name="64" href="#64">64</a> <strong>if</strong> (headFilter == <strong>null</strong>) { -<a name="65" href="#65">65</a> <strong>return</strong> false; -<a name="66" href="#66">66</a> } -<a name="67" href="#67">67</a> -<a name="68" href="#68">68</a> <em class="comment">//</em> -<a name="69" href="#69">69</a> <em class="comment">// otherwise loop through the filters</em> -<a name="70" href="#70">70</a> <em class="comment">//</em> -<a name="71" href="#71">71</a> <strong>for</strong> (Filter f = headFilter; f != <strong>null</strong>; f = f.next) { -<a name="72" href="#72">72</a> <strong>switch</strong> (f.decide(event)) { -<a name="73" href="#73">73</a> <strong>case</strong> Filter.DENY: -<a name="74" href="#74">74</a> <strong>return</strong> false; -<a name="75" href="#75">75</a> -<a name="76" href="#76">76</a> <strong>case</strong> Filter.ACCEPT: -<a name="77" href="#77">77</a> <strong>return</strong> <strong>true</strong>; -<a name="78" href="#78">78</a> } -<a name="79" href="#79">79</a> } -<a name="80" href="#80">80</a> -<a name="81" href="#81">81</a> <strong>return</strong> <strong>true</strong>; -<a name="82" href="#82">82</a> } -<a name="83" href="#83">83</a> -<a name="84" href="#84">84</a> -<a name="85" href="#85">85</a> <em>/**<em>*</em></em> -<a name="86" href="#86">86</a> <em> * {@inheritDoc}</em> -<a name="87" href="#87">87</a> <em> *</em> -<a name="88" href="#88">88</a> <em> */</em> -<a name="89" href="#89">89</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent( -<a name="90" href="#90">90</a> <strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String file, -<a name="91" href="#91">91</a> <strong>final</strong> <strong>long</strong> fileLength) { -<a name="92" href="#92">92</a> <strong>return</strong> isTriggeringEvent(event); -<a name="93" href="#93">93</a> } -<a name="94" href="#94">94</a> -<a name="95" href="#95">95</a> <em>/**<em>*</em></em> -<a name="96" href="#96">96</a> <em> * Add a filter to end of the filter list.</em> -<a name="97" href="#97">97</a> <em> * @param newFilter filter to add to end of list.</em> -<a name="98" href="#98">98</a> <em> */</em> -<a name="99" href="#99">99</a> <strong>public</strong> <strong>void</strong> addFilter(<strong>final</strong> Filter newFilter) { -<a name="100" href="#100">100</a> <strong>if</strong> (headFilter == <strong>null</strong>) { -<a name="101" href="#101">101</a> headFilter = newFilter; -<a name="102" href="#102">102</a> tailFilter = newFilter; -<a name="103" href="#103">103</a> } <strong>else</strong> { -<a name="104" href="#104">104</a> tailFilter.next = newFilter; -<a name="105" href="#105">105</a> tailFilter = newFilter; -<a name="106" href="#106">106</a> } -<a name="107" href="#107">107</a> } -<a name="108" href="#108">108</a> -<a name="109" href="#109">109</a> <em>/**<em>*</em></em> -<a name="110" href="#110">110</a> <em> * Clear the filters chain.</em> -<a name="111" href="#111">111</a> <em> *</em> -<a name="112" href="#112">112</a> <em> */</em> -<a name="113" href="#113">113</a> <strong>public</strong> <strong>void</strong> clearFilters() { -<a name="114" href="#114">114</a> headFilter = <strong>null</strong>; -<a name="115" href="#115">115</a> tailFilter = <strong>null</strong>; -<a name="116" href="#116">116</a> } -<a name="117" href="#117">117</a> -<a name="118" href="#118">118</a> <em>/**<em>*</em></em> -<a name="119" href="#119">119</a> <em> * Returns the head Filter.</em> -<a name="120" href="#120">120</a> <em> * @return head of filter chain, may be null.</em> -<a name="121" href="#121">121</a> <em> *</em> -<a name="122" href="#122">122</a> <em> */</em> -<a name="123" href="#123">123</a> <strong>public</strong> Filter getFilter() { -<a name="124" href="#124">124</a> <strong>return</strong> headFilter; -<a name="125" href="#125">125</a> } -<a name="126" href="#126">126</a> -<a name="127" href="#127">127</a> <em>/**<em>*</em></em> -<a name="128" href="#128">128</a> <em> * {@inheritDoc}</em> -<a name="129" href="#129">129</a> <em> */</em> -<a name="130" href="#130">130</a> <strong>public</strong> <strong>void</strong> activateOptions() { -<a name="131" href="#131">131</a> <strong>for</strong> (Filter f = headFilter; f != <strong>null</strong>; f = f.next) { -<a name="132" href="#132">132</a> f.activateOptions(); -<a name="133" href="#133">133</a> } -<a name="134" href="#134">134</a> } -<a name="135" href="#135">135</a> -<a name="136" href="#136">136</a> <em>/**<em>*</em></em> -<a name="137" href="#137">137</a> <em> * {@inheritDoc}</em> -<a name="138" href="#138">138</a> <em> */</em> -<a name="139" href="#139">139</a> <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element, -<a name="140" href="#140">140</a> <strong>final</strong> Properties props) throws Exception { -<a name="141" href="#141">141</a> <strong>final</strong> String nodeName = element.getNodeName(); -<a name="142" href="#142">142</a> <strong>if</strong> (<span class="string">"filter"</span>.equals(nodeName)) { -<a name="143" href="#143">143</a> OptionHandler filter = -<a name="144" href="#144">144</a> org.apache.log4j.extras.DOMConfigurator.parseElement( -<a name="145" href="#145">145</a> element, props, Filter.<strong>class</strong>); -<a name="146" href="#146">146</a> <strong>if</strong> (filter instanceof Filter) { -<a name="147" href="#147">147</a> filter.activateOptions(); -<a name="148" href="#148">148</a> <strong>this</strong>.addFilter((Filter) filter); -<a name="149" href="#149">149</a> } -<a name="150" href="#150">150</a> <strong>return</strong> <strong>true</strong>; -<a name="151" href="#151">151</a> } -<a name="152" href="#152">152</a> <strong>return</strong> false; -<a name="153" href="#153">153</a> } -<a name="154" href="#154">154</a> -<a name="155" href="#155">155</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/FixedWindowRollingPolicy.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/FixedWindowRollingPolicy.html deleted file mode 100644 index 9e23a3325d9..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/FixedWindowRollingPolicy.html +++ /dev/null @@ -1,335 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FixedWindowRollingPolicy xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/FixedWindowRollingPolicy.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> java.io.File; -<a name="20" href="#20">20</a> <strong>import</strong> java.util.ArrayList; -<a name="21" href="#21">21</a> <strong>import</strong> java.util.List; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.pattern.PatternConverter; -<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.rolling.helper.Action; -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.rolling.helper.FileRenameAction; -<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.rolling.helper.GZCompressAction; -<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.rolling.helper.ZipCompressAction; -<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; -<a name="29" href="#29">29</a> -<a name="30" href="#30">30</a> -<a name="31" href="#31">31</a> <em>/**<em>*</em></em> -<a name="32" href="#32">32</a> <em> * When rolling over, &lt;code>FixedWindowRollingPolicy&lt;/code> renames files</em> -<a name="33" href="#33">33</a> <em> * according to a fixed window algorithm as described below.</em> -<a name="34" href="#34">34</a> <em> *</em> -<a name="35" href="#35">35</a> <em> * &lt;p>The &lt;b>ActiveFileName&lt;/b> property, which is required, represents the name</em> -<a name="36" href="#36">36</a> <em> * of the file where current logging output will be written.</em> -<a name="37" href="#37">37</a> <em> * The &lt;b>FileNamePattern&lt;/b> option represents the file name pattern for the</em> -<a name="38" href="#38">38</a> <em> * archived (rolled over) log files. If present, the &lt;b>FileNamePattern&lt;/b></em> -<a name="39" href="#39">39</a> <em> * option must include an integer token, that is the string "%i" somewhere</em> -<a name="40" href="#40">40</a> <em> * within the pattern.</em> -<a name="41" href="#41">41</a> <em> *</em> -<a name="42" href="#42">42</a> <em> * &lt;p>Let &lt;em>max&lt;/em> and &lt;em>min&lt;/em> represent the values of respectively</em> -<a name="43" href="#43">43</a> <em> * the &lt;b>MaxIndex&lt;/b> and &lt;b>MinIndex&lt;/b> options. Let "foo.log" be the value</em> -<a name="44" href="#44">44</a> <em> * of the &lt;b>ActiveFile&lt;/b> option and "foo.%i.log" the value of</em> -<a name="45" href="#45">45</a> <em> * &lt;b>FileNamePattern&lt;/b>. Then, when rolling over, the file</em> -<a name="46" href="#46">46</a> <em> * &lt;code>foo.&lt;em>max&lt;/em>.log&lt;/code> will be deleted, the file</em> -<a name="47" href="#47">47</a> <em> * &lt;code>foo.&lt;em>max-1&lt;/em>.log&lt;/code> will be renamed as</em> -<a name="48" href="#48">48</a> <em> * &lt;code>foo.&lt;em>max&lt;/em>.log&lt;/code>, the file &lt;code>foo.&lt;em>max-2&lt;/em>.log&lt;/code></em> -<a name="49" href="#49">49</a> <em> * renamed as &lt;code>foo.&lt;em>max-1&lt;/em>.log&lt;/code>, and so on,</em> -<a name="50" href="#50">50</a> <em> * the file &lt;code>foo.&lt;em>min+1&lt;/em>.log&lt;/code> renamed as</em> -<a name="51" href="#51">51</a> <em> * &lt;code>foo.&lt;em>min+2&lt;/em>.log&lt;/code>. Lastly, the active file &lt;code>foo.log&lt;/code></em> -<a name="52" href="#52">52</a> <em> * will be renamed as &lt;code>foo.&lt;em>min&lt;/em>.log&lt;/code> and a new active file name</em> -<a name="53" href="#53">53</a> <em> * &lt;code>foo.log&lt;/code> will be created.</em> -<a name="54" href="#54">54</a> <em> *</em> -<a name="55" href="#55">55</a> <em> * &lt;p>Given that this rollover algorithm requires as many file renaming</em> -<a name="56" href="#56">56</a> <em> * operations as the window size, large window sizes are discouraged. The</em> -<a name="57" href="#57">57</a> <em> * current implementation will automatically reduce the window size to 12 when</em> -<a name="58" href="#58">58</a> <em> * larger values are specified by the user.</em> -<a name="59" href="#59">59</a> <em> *</em> -<a name="60" href="#60">60</a> <em> *</em> -<a name="61" href="#61">61</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="62" href="#62">62</a> <em> * */</em> -<a name="63" href="#63">63</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/FixedWindowRollingPolicy.html">FixedWindowRollingPolicy</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicyBase.html">RollingPolicyBase</a> { -<a name="64" href="#64">64</a> -<a name="65" href="#65">65</a> <em>/**<em>*</em></em> -<a name="66" href="#66">66</a> <em> * It's almost always a bad idea to have a large window size, say over 12.</em> -<a name="67" href="#67">67</a> <em> */</em> -<a name="68" href="#68">68</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> MAX_WINDOW_SIZE = 12; -<a name="69" href="#69">69</a> -<a name="70" href="#70">70</a> <em>/**<em>*</em></em> -<a name="71" href="#71">71</a> <em> * Index for oldest retained log file.</em> -<a name="72" href="#72">72</a> <em> */</em> -<a name="73" href="#73">73</a> <strong>private</strong> <strong>int</strong> maxIndex; -<a name="74" href="#74">74</a> -<a name="75" href="#75">75</a> <em>/**<em>*</em></em> -<a name="76" href="#76">76</a> <em> * Index for most recent log file.</em> -<a name="77" href="#77">77</a> <em> */</em> -<a name="78" href="#78">78</a> <strong>private</strong> <strong>int</strong> minIndex; -<a name="79" href="#79">79</a> -<a name="80" href="#80">80</a> <em>/**<em>*</em></em> -<a name="81" href="#81">81</a> <em> * if true, then an explicit name for the active file was</em> -<a name="82" href="#82">82</a> <em> * specified using RollingFileAppender.file or the</em> -<a name="83" href="#83">83</a> <em> * redundent RollingPolicyBase.setActiveFile</em> -<a name="84" href="#84">84</a> <em> */</em> -<a name="85" href="#85">85</a> <strong>private</strong> <strong>boolean</strong> explicitActiveFile; -<a name="86" href="#86">86</a> -<a name="87" href="#87">87</a> <em>/**<em>*</em></em> -<a name="88" href="#88">88</a> <em> * Constructs a new instance.</em> -<a name="89" href="#89">89</a> <em> */</em> -<a name="90" href="#90">90</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/FixedWindowRollingPolicy.html">FixedWindowRollingPolicy</a>() { -<a name="91" href="#91">91</a> minIndex = 1; -<a name="92" href="#92">92</a> maxIndex = 7; -<a name="93" href="#93">93</a> } -<a name="94" href="#94">94</a> -<a name="95" href="#95">95</a> <em>/**<em>*</em></em> -<a name="96" href="#96">96</a> <em> * {@inheritDoc}</em> -<a name="97" href="#97">97</a> <em> */</em> -<a name="98" href="#98">98</a> <strong>public</strong> <strong>void</strong> activateOptions() { -<a name="99" href="#99">99</a> <strong>super</strong>.activateOptions(); -<a name="100" href="#100">100</a> -<a name="101" href="#101">101</a> <strong>if</strong> (maxIndex &lt; minIndex) { -<a name="102" href="#102">102</a> LogLog.warn( -<a name="103" href="#103">103</a> <span class="string">"MaxIndex ("</span> + maxIndex + <span class="string">") cannot be smaller than MinIndex ("</span> -<a name="104" href="#104">104</a> + minIndex + <span class="string">")."</span>); -<a name="105" href="#105">105</a> LogLog.warn(<span class="string">"Setting maxIndex to equal minIndex."</span>); -<a name="106" href="#106">106</a> maxIndex = minIndex; -<a name="107" href="#107">107</a> } -<a name="108" href="#108">108</a> -<a name="109" href="#109">109</a> <strong>if</strong> ((maxIndex - minIndex) > MAX_WINDOW_SIZE) { -<a name="110" href="#110">110</a> LogLog.warn(<span class="string">"Large window sizes are not allowed."</span>); -<a name="111" href="#111">111</a> maxIndex = minIndex + MAX_WINDOW_SIZE; -<a name="112" href="#112">112</a> LogLog.warn(<span class="string">"MaxIndex reduced to "</span> + String.valueOf(maxIndex) + <span class="string">"."</span>); -<a name="113" href="#113">113</a> } -<a name="114" href="#114">114</a> -<a name="115" href="#115">115</a> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> itc = getIntegerPatternConverter(); -<a name="116" href="#116">116</a> -<a name="117" href="#117">117</a> <strong>if</strong> (itc == <strong>null</strong>) { -<a name="118" href="#118">118</a> <strong>throw</strong> <strong>new</strong> IllegalStateException( -<a name="119" href="#119">119</a> <span class="string">"FileNamePattern ["</span> + getFileNamePattern() -<a name="120" href="#120">120</a> + <span class="string">"] does not contain a valid integer format specifier"</span>); -<a name="121" href="#121">121</a> } -<a name="122" href="#122">122</a> } -<a name="123" href="#123">123</a> -<a name="124" href="#124">124</a> <em>/**<em>*</em></em> -<a name="125" href="#125">125</a> <em> * {@inheritDoc}</em> -<a name="126" href="#126">126</a> <em> */</em> -<a name="127" href="#127">127</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> initialize( -<a name="128" href="#128">128</a> <strong>final</strong> String file, <strong>final</strong> <strong>boolean</strong> append) { -<a name="129" href="#129">129</a> String newActiveFile = file; -<a name="130" href="#130">130</a> explicitActiveFile = false; -<a name="131" href="#131">131</a> -<a name="132" href="#132">132</a> <strong>if</strong> (activeFileName != <strong>null</strong>) { -<a name="133" href="#133">133</a> explicitActiveFile = <strong>true</strong>; -<a name="134" href="#134">134</a> newActiveFile = activeFileName; -<a name="135" href="#135">135</a> } -<a name="136" href="#136">136</a> -<a name="137" href="#137">137</a> <strong>if</strong> (file != <strong>null</strong>) { -<a name="138" href="#138">138</a> explicitActiveFile = <strong>true</strong>; -<a name="139" href="#139">139</a> newActiveFile = file; -<a name="140" href="#140">140</a> } -<a name="141" href="#141">141</a> -<a name="142" href="#142">142</a> <strong>if</strong> (!explicitActiveFile) { -<a name="143" href="#143">143</a> StringBuffer buf = <strong>new</strong> StringBuffer(); -<a name="144" href="#144">144</a> formatFileName(<strong>new</strong> Integer(minIndex), buf); -<a name="145" href="#145">145</a> newActiveFile = buf.toString(); -<a name="146" href="#146">146</a> } -<a name="147" href="#147">147</a> -<a name="148" href="#148">148</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>(<strong>new</strong>ActiveFile, append, <strong>null</strong>, <strong>null</strong>); -<a name="149" href="#149">149</a> } -<a name="150" href="#150">150</a> -<a name="151" href="#151">151</a> <em>/**<em>*</em></em> -<a name="152" href="#152">152</a> <em> * {@inheritDoc}</em> -<a name="153" href="#153">153</a> <em> */</em> -<a name="154" href="#154">154</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> rollover(<strong>final</strong> String currentFileName) { -<a name="155" href="#155">155</a> <strong>if</strong> (maxIndex >= 0) { -<a name="156" href="#156">156</a> <strong>int</strong> purgeStart = minIndex; -<a name="157" href="#157">157</a> -<a name="158" href="#158">158</a> <strong>if</strong> (!explicitActiveFile) { -<a name="159" href="#159">159</a> purgeStart++; -<a name="160" href="#160">160</a> } -<a name="161" href="#161">161</a> -<a name="162" href="#162">162</a> <strong>if</strong> (!purge(purgeStart, maxIndex)) { -<a name="163" href="#163">163</a> <strong>return</strong> <strong>null</strong>; -<a name="164" href="#164">164</a> } -<a name="165" href="#165">165</a> -<a name="166" href="#166">166</a> StringBuffer buf = <strong>new</strong> StringBuffer(); -<a name="167" href="#167">167</a> formatFileName(<strong>new</strong> Integer(purgeStart), buf); -<a name="168" href="#168">168</a> -<a name="169" href="#169">169</a> String renameTo = buf.toString(); -<a name="170" href="#170">170</a> String compressedName = renameTo; -<a name="171" href="#171">171</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> compressAction = <strong>null</strong>; -<a name="172" href="#172">172</a> -<a name="173" href="#173">173</a> <strong>if</strong> (renameTo.endsWith(<span class="string">".gz"</span>)) { -<a name="174" href="#174">174</a> renameTo = renameTo.substring(0, renameTo.length() - 3); -<a name="175" href="#175">175</a> compressAction = -<a name="176" href="#176">176</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/GZCompressAction.html">GZCompressAction</a>( -<a name="177" href="#177">177</a> <strong>new</strong> File(renameTo), <strong>new</strong> File(compressedName), <strong>true</strong>); -<a name="178" href="#178">178</a> } <strong>else</strong> <strong>if</strong> (renameTo.endsWith(<span class="string">".zip"</span>)) { -<a name="179" href="#179">179</a> renameTo = renameTo.substring(0, renameTo.length() - 4); -<a name="180" href="#180">180</a> compressAction = -<a name="181" href="#181">181</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/ZipCompressAction.html">ZipCompressAction</a>( -<a name="182" href="#182">182</a> <strong>new</strong> File(renameTo), <strong>new</strong> File(compressedName), <strong>true</strong>); -<a name="183" href="#183">183</a> } -<a name="184" href="#184">184</a> -<a name="185" href="#185">185</a> <a href="../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a> renameAction = -<a name="186" href="#186">186</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a>( -<a name="187" href="#187">187</a> <strong>new</strong> File(currentFileName), <strong>new</strong> File(renameTo), false); -<a name="188" href="#188">188</a> -<a name="189" href="#189">189</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>( -<a name="190" href="#190">190</a> currentFileName, false, renameAction, compressAction); -<a name="191" href="#191">191</a> } -<a name="192" href="#192">192</a> -<a name="193" href="#193">193</a> <strong>return</strong> <strong>null</strong>; -<a name="194" href="#194">194</a> } -<a name="195" href="#195">195</a> -<a name="196" href="#196">196</a> <em>/**<em>*</em></em> -<a name="197" href="#197">197</a> <em> * Get index of oldest log file to be retained.</em> -<a name="198" href="#198">198</a> <em> * @return index of oldest log file.</em> -<a name="199" href="#199">199</a> <em> */</em> -<a name="200" href="#200">200</a> <strong>public</strong> <strong>int</strong> getMaxIndex() { -<a name="201" href="#201">201</a> <strong>return</strong> maxIndex; -<a name="202" href="#202">202</a> } -<a name="203" href="#203">203</a> -<a name="204" href="#204">204</a> <em>/**<em>*</em></em> -<a name="205" href="#205">205</a> <em> * Get index of most recent log file.</em> -<a name="206" href="#206">206</a> <em> * @return index of oldest log file.</em> -<a name="207" href="#207">207</a> <em> */</em> -<a name="208" href="#208">208</a> <strong>public</strong> <strong>int</strong> getMinIndex() { -<a name="209" href="#209">209</a> <strong>return</strong> minIndex; -<a name="210" href="#210">210</a> } -<a name="211" href="#211">211</a> -<a name="212" href="#212">212</a> <em>/**<em>*</em></em> -<a name="213" href="#213">213</a> <em> * Set index of oldest log file to be retained.</em> -<a name="214" href="#214">214</a> <em> * @param maxIndex index of oldest log file to be retained.</em> -<a name="215" href="#215">215</a> <em> */</em> -<a name="216" href="#216">216</a> <strong>public</strong> <strong>void</strong> setMaxIndex(<strong>int</strong> maxIndex) { -<a name="217" href="#217">217</a> <strong>this</strong>.maxIndex = maxIndex; -<a name="218" href="#218">218</a> } -<a name="219" href="#219">219</a> -<a name="220" href="#220">220</a> <em>/**<em>*</em></em> -<a name="221" href="#221">221</a> <em> * Set index of most recent log file.</em> -<a name="222" href="#222">222</a> <em> * @param minIndex Index of most recent log file.</em> -<a name="223" href="#223">223</a> <em> */</em> -<a name="224" href="#224">224</a> <strong>public</strong> <strong>void</strong> setMinIndex(<strong>int</strong> minIndex) { -<a name="225" href="#225">225</a> <strong>this</strong>.minIndex = minIndex; -<a name="226" href="#226">226</a> } -<a name="227" href="#227">227</a> -<a name="228" href="#228">228</a> <em>/**<em>*</em></em> -<a name="229" href="#229">229</a> <em> * Purge and rename old log files in preparation for rollover</em> -<a name="230" href="#230">230</a> <em> * @param lowIndex low index</em> -<a name="231" href="#231">231</a> <em> * @param highIndex high index. Log file associated with high</em> -<a name="232" href="#232">232</a> <em> * index will be deleted if needed.</em> -<a name="233" href="#233">233</a> <em> * @return true if purge was successful and rollover should be attempted.</em> -<a name="234" href="#234">234</a> <em> */</em> -<a name="235" href="#235">235</a> <strong>private</strong> <strong>boolean</strong> purge(<strong>final</strong> <strong>int</strong> lowIndex, <strong>final</strong> <strong>int</strong> highIndex) { -<a name="236" href="#236">236</a> <strong>int</strong> suffixLength = 0; -<a name="237" href="#237">237</a> -<a name="238" href="#238">238</a> List renames = <strong>new</strong> ArrayList(); -<a name="239" href="#239">239</a> StringBuffer buf = <strong>new</strong> StringBuffer(); -<a name="240" href="#240">240</a> formatFileName(<strong>new</strong> Integer(lowIndex), buf); -<a name="241" href="#241">241</a> -<a name="242" href="#242">242</a> String lowFilename = buf.toString(); -<a name="243" href="#243">243</a> -<a name="244" href="#244">244</a> <strong>if</strong> (lowFilename.endsWith(<span class="string">".gz"</span>)) { -<a name="245" href="#245">245</a> suffixLength = 3; -<a name="246" href="#246">246</a> } <strong>else</strong> <strong>if</strong> (lowFilename.endsWith(<span class="string">".zip"</span>)) { -<a name="247" href="#247">247</a> suffixLength = 4; -<a name="248" href="#248">248</a> } -<a name="249" href="#249">249</a> -<a name="250" href="#250">250</a> <strong>for</strong> (<strong>int</strong> i = lowIndex; i &lt;= highIndex; i++) { -<a name="251" href="#251">251</a> File toRename = <strong>new</strong> File(lowFilename); -<a name="252" href="#252">252</a> <strong>boolean</strong> isBase = false; -<a name="253" href="#253">253</a> -<a name="254" href="#254">254</a> <strong>if</strong> (suffixLength > 0) { -<a name="255" href="#255">255</a> File toRenameBase = -<a name="256" href="#256">256</a> <strong>new</strong> File( -<a name="257" href="#257">257</a> lowFilename.substring(0, lowFilename.length() - suffixLength)); -<a name="258" href="#258">258</a> -<a name="259" href="#259">259</a> <strong>if</strong> (toRename.exists()) { -<a name="260" href="#260">260</a> <strong>if</strong> (toRenameBase.exists()) { -<a name="261" href="#261">261</a> toRenameBase.delete(); -<a name="262" href="#262">262</a> } -<a name="263" href="#263">263</a> } <strong>else</strong> { -<a name="264" href="#264">264</a> toRename = toRenameBase; -<a name="265" href="#265">265</a> isBase = <strong>true</strong>; -<a name="266" href="#266">266</a> } -<a name="267" href="#267">267</a> } -<a name="268" href="#268">268</a> -<a name="269" href="#269">269</a> <strong>if</strong> (toRename.exists()) { -<a name="270" href="#270">270</a> <em class="comment">//</em> -<a name="271" href="#271">271</a> <em class="comment">// if at upper index then</em> -<a name="272" href="#272">272</a> <em class="comment">// attempt to delete last file</em> -<a name="273" href="#273">273</a> <em class="comment">// if that fails then abandon purge</em> -<a name="274" href="#274">274</a> <strong>if</strong> (i == highIndex) { -<a name="275" href="#275">275</a> <strong>if</strong> (!toRename.delete()) { -<a name="276" href="#276">276</a> <strong>return</strong> false; -<a name="277" href="#277">277</a> } -<a name="278" href="#278">278</a> -<a name="279" href="#279">279</a> <strong>break</strong>; -<a name="280" href="#280">280</a> } -<a name="281" href="#281">281</a> -<a name="282" href="#282">282</a> <em class="comment">//</em> -<a name="283" href="#283">283</a> <em class="comment">// if intermediate index</em> -<a name="284" href="#284">284</a> <em class="comment">// add a rename action to the list</em> -<a name="285" href="#285">285</a> buf.setLength(0); -<a name="286" href="#286">286</a> formatFileName(<strong>new</strong> Integer(i + 1), buf); -<a name="287" href="#287">287</a> -<a name="288" href="#288">288</a> String highFilename = buf.toString(); -<a name="289" href="#289">289</a> String renameTo = highFilename; -<a name="290" href="#290">290</a> -<a name="291" href="#291">291</a> <strong>if</strong> (isBase) { -<a name="292" href="#292">292</a> renameTo = -<a name="293" href="#293">293</a> highFilename.substring(0, highFilename.length() - suffixLength); -<a name="294" href="#294">294</a> } -<a name="295" href="#295">295</a> -<a name="296" href="#296">296</a> renames.add(<strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a>(toRename, <strong>new</strong> File(renameTo), <strong>true</strong>)); -<a name="297" href="#297">297</a> lowFilename = highFilename; -<a name="298" href="#298">298</a> } <strong>else</strong> { -<a name="299" href="#299">299</a> <strong>break</strong>; -<a name="300" href="#300">300</a> } -<a name="301" href="#301">301</a> } -<a name="302" href="#302">302</a> -<a name="303" href="#303">303</a> <em class="comment">//</em> -<a name="304" href="#304">304</a> <em class="comment">// work renames backwards</em> -<a name="305" href="#305">305</a> <em class="comment">//</em> -<a name="306" href="#306">306</a> <strong>for</strong> (<strong>int</strong> i = renames.size() - 1; i >= 0; i--) { -<a name="307" href="#307">307</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> action = (Action) renames.get(i); -<a name="308" href="#308">308</a> -<a name="309" href="#309">309</a> <strong>try</strong> { -<a name="310" href="#310">310</a> <strong>if</strong> (!action.execute()) { -<a name="311" href="#311">311</a> <strong>return</strong> false; -<a name="312" href="#312">312</a> } -<a name="313" href="#313">313</a> } <strong>catch</strong> (Exception ex) { -<a name="314" href="#314">314</a> LogLog.warn(<span class="string">"Exception during purge in RollingFileAppender"</span>, ex); -<a name="315" href="#315">315</a> -<a name="316" href="#316">316</a> <strong>return</strong> false; -<a name="317" href="#317">317</a> } -<a name="318" href="#318">318</a> } -<a name="319" href="#319">319</a> -<a name="320" href="#320">320</a> <strong>return</strong> <strong>true</strong>; -<a name="321" href="#321">321</a> } -<a name="322" href="#322">322</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingFileAppender.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingFileAppender.html deleted file mode 100644 index 5ed1e446dae..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingFileAppender.html +++ /dev/null @@ -1,579 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RollingFileAppender xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/RollingFileAppender.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2006 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.Appender; -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.FileAppender; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Logger; -<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; -<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.helpers.QuietWriter; -<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.rolling.helper.Action; -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.spi.ErrorHandler; -<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; -<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.xml.UnrecognizedElementHandler; -<a name="29" href="#29">29</a> <strong>import</strong> org.w3c.dom.Element; -<a name="30" href="#30">30</a> -<a name="31" href="#31">31</a> <strong>import</strong> java.io.File; -<a name="32" href="#32">32</a> <strong>import</strong> java.io.FileOutputStream; -<a name="33" href="#33">33</a> <strong>import</strong> java.io.IOException; -<a name="34" href="#34">34</a> <strong>import</strong> java.io.OutputStream; -<a name="35" href="#35">35</a> <strong>import</strong> java.io.OutputStreamWriter; -<a name="36" href="#36">36</a> <strong>import</strong> java.io.Writer; -<a name="37" href="#37">37</a> <strong>import</strong> java.util.Properties; -<a name="38" href="#38">38</a> -<a name="39" href="#39">39</a> -<a name="40" href="#40">40</a> <em>/**<em>*</em></em> -<a name="41" href="#41">41</a> <em> * &lt;code>RollingFileAppender&lt;/code> extends {@link FileAppender} to backup the log files</em> -<a name="42" href="#42">42</a> <em> * depending on {@link RollingPolicy} and {@link TriggeringPolicy}.</em> -<a name="43" href="#43">43</a> <em> * &lt;p></em> -<a name="44" href="#44">44</a> <em> * To be of any use, a &lt;code>RollingFileAppender&lt;/code> instance must have both</em> -<a name="45" href="#45">45</a> <em> * a &lt;code>RollingPolicy&lt;/code> and a &lt;code>TriggeringPolicy&lt;/code> set up.</em> -<a name="46" href="#46">46</a> <em> * However, if its &lt;code>RollingPolicy&lt;/code> also implements the</em> -<a name="47" href="#47">47</a> <em> * &lt;code>TriggeringPolicy&lt;/code> interface, then only the former needs to be</em> -<a name="48" href="#48">48</a> <em> * set up. For example, {@link TimeBasedRollingPolicy} acts both as a</em> -<a name="49" href="#49">49</a> <em> * &lt;code>RollingPolicy&lt;/code> and a &lt;code>TriggeringPolicy&lt;/code>.</em> -<a name="50" href="#50">50</a> <em> *</em> -<a name="51" href="#51">51</a> <em> * &lt;p>&lt;code>RollingFileAppender&lt;/code> can be configured programattically or</em> -<a name="52" href="#52">52</a> <em> * using {@link org.apache.log4j.extras.DOMConfigurator} or</em> -<a name="53" href="#53">53</a> <em> * {@link org.apache.log4j.xml.DOMConfigurator} in log4j 1.2.15 or later. Here is a sample</em> -<a name="54" href="#54">54</a> <em> * configration file:</em> -<a name="55" href="#55">55</a> -<a name="56" href="#56">56</a> <em>&lt;pre>&amp;lt;?xml version="1.0" encoding="UTF-8" ?></em> -<a name="57" href="#57">57</a> <em>&amp;lt;!DOCTYPE log4j:configuration></em> -<a name="58" href="#58">58</a> -<a name="59" href="#59">59</a> <em>&amp;lt;log4j:configuration debug="true"></em> -<a name="60" href="#60">60</a> -<a name="61" href="#61">61</a> <em> &amp;lt;appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender"></em> -<a name="62" href="#62">62</a> <em> &lt;b>&amp;lt;rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"></em> -<a name="63" href="#63">63</a> <em> &amp;lt;param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}.gz"/></em> -<a name="64" href="#64">64</a> <em> &amp;lt;/rollingPolicy>&lt;/b></em> -<a name="65" href="#65">65</a> -<a name="66" href="#66">66</a> <em> &amp;lt;layout class="org.apache.log4j.PatternLayout"></em> -<a name="67" href="#67">67</a> <em> &amp;lt;param name="ConversionPattern" value="%c{1} - %m%n"/></em> -<a name="68" href="#68">68</a> <em> &amp;lt;/layout></em> -<a name="69" href="#69">69</a> <em> &amp;lt;/appender></em> -<a name="70" href="#70">70</a> -<a name="71" href="#71">71</a> <em> &amp;lt;root"></em> -<a name="72" href="#72">72</a> <em> &amp;lt;appender-ref ref="ROLL"/></em> -<a name="73" href="#73">73</a> <em> &amp;lt;/root></em> -<a name="74" href="#74">74</a> -<a name="75" href="#75">75</a> <em>&amp;lt;/log4j:configuration></em> -<a name="76" href="#76">76</a> <em>&lt;/pre></em> -<a name="77" href="#77">77</a> -<a name="78" href="#78">78</a> <em> *&lt;p>This configuration file specifies a monthly rollover schedule including</em> -<a name="79" href="#79">79</a> <em> * automatic compression of the archived files. See</em> -<a name="80" href="#80">80</a> <em> * {@link TimeBasedRollingPolicy} for more details.</em> -<a name="81" href="#81">81</a> <em> *</em> -<a name="82" href="#82">82</a> <em> * @author Heinz Richter</em> -<a name="83" href="#83">83</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="84" href="#84">84</a> <em> * @since 1.3</em> -<a name="85" href="#85">85</a> <em> * */</em> -<a name="86" href="#86">86</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a> <strong>extends</strong> FileAppender -<a name="87" href="#87">87</a> implements <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> { -<a name="88" href="#88">88</a> <em>/**<em>*</em></em> -<a name="89" href="#89">89</a> <em> * Triggering policy.</em> -<a name="90" href="#90">90</a> <em> */</em> -<a name="91" href="#91">91</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> triggeringPolicy; -<a name="92" href="#92">92</a> -<a name="93" href="#93">93</a> <em>/**<em>*</em></em> -<a name="94" href="#94">94</a> <em> * Rolling policy.</em> -<a name="95" href="#95">95</a> <em> */</em> -<a name="96" href="#96">96</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicy.html">RollingPolicy</a> rollingPolicy; -<a name="97" href="#97">97</a> -<a name="98" href="#98">98</a> <em>/**<em>*</em></em> -<a name="99" href="#99">99</a> <em> * Length of current active log file.</em> -<a name="100" href="#100">100</a> <em> */</em> -<a name="101" href="#101">101</a> <strong>private</strong> <strong>long</strong> fileLength = 0; -<a name="102" href="#102">102</a> -<a name="103" href="#103">103</a> <em>/**<em>*</em></em> -<a name="104" href="#104">104</a> <em> * Asynchronous action (like compression) from previous rollover.</em> -<a name="105" href="#105">105</a> <em> */</em> -<a name="106" href="#106">106</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> lastRolloverAsyncAction = <strong>null</strong>; -<a name="107" href="#107">107</a> -<a name="108" href="#108">108</a> -<a name="109" href="#109">109</a> <em>/**<em>*</em></em> -<a name="110" href="#110">110</a> <em> * Construct a new instance.</em> -<a name="111" href="#111">111</a> <em> */</em> -<a name="112" href="#112">112</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a>() { -<a name="113" href="#113">113</a> } -<a name="114" href="#114">114</a> -<a name="115" href="#115">115</a> <em>/**<em>*</em></em> -<a name="116" href="#116">116</a> <em> * Prepare instance of use.</em> -<a name="117" href="#117">117</a> <em> */</em> -<a name="118" href="#118">118</a> <strong>public</strong> <strong>void</strong> activateOptions() { -<a name="119" href="#119">119</a> <strong>if</strong> (rollingPolicy == <strong>null</strong>) { -<a name="120" href="#120">120</a> LogLog.warn( -<a name="121" href="#121">121</a> <span class="string">"Please set a rolling policy for the RollingFileAppender named '"</span> -<a name="122" href="#122">122</a> + getName() + <span class="string">"'"</span>); -<a name="123" href="#123">123</a> -<a name="124" href="#124">124</a> <strong>return</strong>; -<a name="125" href="#125">125</a> } -<a name="126" href="#126">126</a> -<a name="127" href="#127">127</a> <em class="comment">//</em> -<a name="128" href="#128">128</a> <em class="comment">// if no explicit triggering policy and rolling policy is both.</em> -<a name="129" href="#129">129</a> <em class="comment">//</em> -<a name="130" href="#130">130</a> <strong>if</strong> ( -<a name="131" href="#131">131</a> (triggeringPolicy == <strong>null</strong>) &amp;&amp; rollingPolicy instanceof TriggeringPolicy) { -<a name="132" href="#132">132</a> triggeringPolicy = (TriggeringPolicy) rollingPolicy; -<a name="133" href="#133">133</a> } -<a name="134" href="#134">134</a> -<a name="135" href="#135">135</a> <strong>if</strong> (triggeringPolicy == <strong>null</strong>) { -<a name="136" href="#136">136</a> LogLog.warn( -<a name="137" href="#137">137</a> <span class="string">"Please set a TriggeringPolicy for the RollingFileAppender named '"</span> -<a name="138" href="#138">138</a> + getName() + <span class="string">"'"</span>); -<a name="139" href="#139">139</a> -<a name="140" href="#140">140</a> <strong>return</strong>; -<a name="141" href="#141">141</a> } -<a name="142" href="#142">142</a> -<a name="143" href="#143">143</a> Exception exception = <strong>null</strong>; -<a name="144" href="#144">144</a> -<a name="145" href="#145">145</a> <strong>synchronized</strong> (<strong>this</strong>) { -<a name="146" href="#146">146</a> triggeringPolicy.activateOptions(); -<a name="147" href="#147">147</a> rollingPolicy.activateOptions(); -<a name="148" href="#148">148</a> -<a name="149" href="#149">149</a> <strong>try</strong> { -<a name="150" href="#150">150</a> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> rollover = -<a name="151" href="#151">151</a> rollingPolicy.initialize(getFile(), getAppend()); -<a name="152" href="#152">152</a> -<a name="153" href="#153">153</a> <strong>if</strong> (rollover != <strong>null</strong>) { -<a name="154" href="#154">154</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> syncAction = rollover.getSynchronous(); -<a name="155" href="#155">155</a> -<a name="156" href="#156">156</a> <strong>if</strong> (syncAction != <strong>null</strong>) { -<a name="157" href="#157">157</a> syncAction.execute(); -<a name="158" href="#158">158</a> } -<a name="159" href="#159">159</a> -<a name="160" href="#160">160</a> setFile(rollover.getActiveFileName()); -<a name="161" href="#161">161</a> setAppend(rollover.getAppend()); -<a name="162" href="#162">162</a> lastRolloverAsyncAction = rollover.getAsynchronous(); -<a name="163" href="#163">163</a> -<a name="164" href="#164">164</a> <strong>if</strong> (lastRolloverAsyncAction != <strong>null</strong>) { -<a name="165" href="#165">165</a> Thread runner = <strong>new</strong> Thread(lastRolloverAsyncAction); -<a name="166" href="#166">166</a> runner.start(); -<a name="167" href="#167">167</a> } -<a name="168" href="#168">168</a> } -<a name="169" href="#169">169</a> -<a name="170" href="#170">170</a> File activeFile = <strong>new</strong> File(getFile()); -<a name="171" href="#171">171</a> -<a name="172" href="#172">172</a> <strong>if</strong> (getAppend()) { -<a name="173" href="#173">173</a> fileLength = activeFile.length(); -<a name="174" href="#174">174</a> } <strong>else</strong> { -<a name="175" href="#175">175</a> fileLength = 0; -<a name="176" href="#176">176</a> } -<a name="177" href="#177">177</a> -<a name="178" href="#178">178</a> <strong>super</strong>.activateOptions(); -<a name="179" href="#179">179</a> } <strong>catch</strong> (Exception ex) { -<a name="180" href="#180">180</a> exception = ex; -<a name="181" href="#181">181</a> } -<a name="182" href="#182">182</a> } -<a name="183" href="#183">183</a> -<a name="184" href="#184">184</a> <strong>if</strong> (exception != <strong>null</strong>) { -<a name="185" href="#185">185</a> LogLog.warn( -<a name="186" href="#186">186</a> <span class="string">"Exception while initializing RollingFileAppender named '"</span> + getName() -<a name="187" href="#187">187</a> + <span class="string">"'"</span>, exception); -<a name="188" href="#188">188</a> } -<a name="189" href="#189">189</a> } -<a name="190" href="#190">190</a> -<a name="191" href="#191">191</a> -<a name="192" href="#192">192</a> <strong>private</strong> QuietWriter createQuietWriter(<strong>final</strong> Writer writer) { -<a name="193" href="#193">193</a> ErrorHandler handler = errorHandler; -<a name="194" href="#194">194</a> <strong>if</strong> (handler == <strong>null</strong>) { -<a name="195" href="#195">195</a> handler = <strong>new</strong> DefaultErrorHandler(<strong>this</strong>); -<a name="196" href="#196">196</a> } -<a name="197" href="#197">197</a> <strong>return</strong> <strong>new</strong> QuietWriter(writer, handler); -<a name="198" href="#198">198</a> } -<a name="199" href="#199">199</a> -<a name="200" href="#200">200</a> -<a name="201" href="#201">201</a> <em>/**<em>*</em></em> -<a name="202" href="#202">202</a> <em> Implements the usual roll over behaviour.</em> -<a name="203" href="#203">203</a> -<a name="204" href="#204">204</a> <em> &lt;p>If &lt;code>MaxBackupIndex&lt;/code> is positive, then files</em> -<a name="205" href="#205">205</a> <em> {&lt;code>File.1&lt;/code>, ..., &lt;code>File.MaxBackupIndex -1&lt;/code>}</em> -<a name="206" href="#206">206</a> <em> are renamed to {&lt;code>File.2&lt;/code>, ...,</em> -<a name="207" href="#207">207</a> <em> &lt;code>File.MaxBackupIndex&lt;/code>}. Moreover, &lt;code>File&lt;/code> is</em> -<a name="208" href="#208">208</a> <em> renamed &lt;code>File.1&lt;/code> and closed. A new &lt;code>File&lt;/code> is</em> -<a name="209" href="#209">209</a> <em> created to receive further log output.</em> -<a name="210" href="#210">210</a> -<a name="211" href="#211">211</a> <em> &lt;p>If &lt;code>MaxBackupIndex&lt;/code> is equal to zero, then the</em> -<a name="212" href="#212">212</a> <em> &lt;code>File&lt;/code> is truncated with no backup files created.</em> -<a name="213" href="#213">213</a> -<a name="214" href="#214">214</a> <em> * @return true if rollover performed.</em> -<a name="215" href="#215">215</a> <em> */</em> -<a name="216" href="#216">216</a> <strong>public</strong> <strong>boolean</strong> rollover() { -<a name="217" href="#217">217</a> <em class="comment">//</em> -<a name="218" href="#218">218</a> <em class="comment">// can't roll without a policy</em> -<a name="219" href="#219">219</a> <em class="comment">//</em> -<a name="220" href="#220">220</a> <strong>if</strong> (rollingPolicy != <strong>null</strong>) { -<a name="221" href="#221">221</a> Exception exception = <strong>null</strong>; -<a name="222" href="#222">222</a> -<a name="223" href="#223">223</a> <strong>synchronized</strong> (<strong>this</strong>) { -<a name="224" href="#224">224</a> <em class="comment">//</em> -<a name="225" href="#225">225</a> <em class="comment">// if a previous async task is still running</em> -<a name="226" href="#226">226</a> <em class="comment">//}</em> -<a name="227" href="#227">227</a> <strong>if</strong> (lastRolloverAsyncAction != <strong>null</strong>) { -<a name="228" href="#228">228</a> <em class="comment">//</em> -<a name="229" href="#229">229</a> <em class="comment">// block until complete</em> -<a name="230" href="#230">230</a> <em class="comment">//</em> -<a name="231" href="#231">231</a> lastRolloverAsyncAction.close(); -<a name="232" href="#232">232</a> -<a name="233" href="#233">233</a> <em class="comment">//</em> -<a name="234" href="#234">234</a> <em class="comment">// or don't block and return to rollover later</em> -<a name="235" href="#235">235</a> <em class="comment">//</em> -<a name="236" href="#236">236</a> <em class="comment">//if (!lastRolloverAsyncAction.isComplete()) return false;</em> -<a name="237" href="#237">237</a> } -<a name="238" href="#238">238</a> -<a name="239" href="#239">239</a> <strong>try</strong> { -<a name="240" href="#240">240</a> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> rollover = rollingPolicy.rollover(getFile()); -<a name="241" href="#241">241</a> -<a name="242" href="#242">242</a> <strong>if</strong> (rollover != <strong>null</strong>) { -<a name="243" href="#243">243</a> <strong>if</strong> (rollover.getActiveFileName().equals(getFile())) { -<a name="244" href="#244">244</a> closeWriter(); -<a name="245" href="#245">245</a> -<a name="246" href="#246">246</a> <strong>boolean</strong> success = <strong>true</strong>; -<a name="247" href="#247">247</a> -<a name="248" href="#248">248</a> <strong>if</strong> (rollover.getSynchronous() != <strong>null</strong>) { -<a name="249" href="#249">249</a> success = false; -<a name="250" href="#250">250</a> -<a name="251" href="#251">251</a> <strong>try</strong> { -<a name="252" href="#252">252</a> success = rollover.getSynchronous().execute(); -<a name="253" href="#253">253</a> } <strong>catch</strong> (Exception ex) { -<a name="254" href="#254">254</a> exception = ex; -<a name="255" href="#255">255</a> } -<a name="256" href="#256">256</a> } -<a name="257" href="#257">257</a> -<a name="258" href="#258">258</a> <strong>if</strong> (success) { -<a name="259" href="#259">259</a> <strong>if</strong> (rollover.getAppend()) { -<a name="260" href="#260">260</a> fileLength = <strong>new</strong> File(rollover.getActiveFileName()).length(); -<a name="261" href="#261">261</a> } <strong>else</strong> { -<a name="262" href="#262">262</a> fileLength = 0; -<a name="263" href="#263">263</a> } -<a name="264" href="#264">264</a> -<a name="265" href="#265">265</a> <strong>if</strong> (rollover.getAsynchronous() != <strong>null</strong>) { -<a name="266" href="#266">266</a> lastRolloverAsyncAction = rollover.getAsynchronous(); -<a name="267" href="#267">267</a> <strong>new</strong> Thread(lastRolloverAsyncAction).start(); -<a name="268" href="#268">268</a> } -<a name="269" href="#269">269</a> -<a name="270" href="#270">270</a> setFile( -<a name="271" href="#271">271</a> rollover.getActiveFileName(), rollover.getAppend(), -<a name="272" href="#272">272</a> bufferedIO, bufferSize); -<a name="273" href="#273">273</a> } <strong>else</strong> { -<a name="274" href="#274">274</a> setFile( -<a name="275" href="#275">275</a> rollover.getActiveFileName(), <strong>true</strong>, bufferedIO, bufferSize); -<a name="276" href="#276">276</a> -<a name="277" href="#277">277</a> <strong>if</strong> (exception == <strong>null</strong>) { -<a name="278" href="#278">278</a> LogLog.warn(<span class="string">"Failure in post-close rollover action"</span>); -<a name="279" href="#279">279</a> } <strong>else</strong> { -<a name="280" href="#280">280</a> LogLog.warn( -<a name="281" href="#281">281</a> <span class="string">"Exception in post-close rollover action"</span>, exception); -<a name="282" href="#282">282</a> } -<a name="283" href="#283">283</a> } -<a name="284" href="#284">284</a> } <strong>else</strong> { -<a name="285" href="#285">285</a> Writer newWriter = -<a name="286" href="#286">286</a> createWriter( -<a name="287" href="#287">287</a> <strong>new</strong> FileOutputStream( -<a name="288" href="#288">288</a> rollover.getActiveFileName(), rollover.getAppend())); -<a name="289" href="#289">289</a> closeWriter(); -<a name="290" href="#290">290</a> setFile(rollover.getActiveFileName()); -<a name="291" href="#291">291</a> <strong>this</strong>.qw = createQuietWriter(newWriter); -<a name="292" href="#292">292</a> -<a name="293" href="#293">293</a> <strong>boolean</strong> success = <strong>true</strong>; -<a name="294" href="#294">294</a> -<a name="295" href="#295">295</a> <strong>if</strong> (rollover.getSynchronous() != <strong>null</strong>) { -<a name="296" href="#296">296</a> success = false; -<a name="297" href="#297">297</a> -<a name="298" href="#298">298</a> <strong>try</strong> { -<a name="299" href="#299">299</a> success = rollover.getSynchronous().execute(); -<a name="300" href="#300">300</a> } <strong>catch</strong> (Exception ex) { -<a name="301" href="#301">301</a> exception = ex; -<a name="302" href="#302">302</a> } -<a name="303" href="#303">303</a> } -<a name="304" href="#304">304</a> -<a name="305" href="#305">305</a> <strong>if</strong> (success) { -<a name="306" href="#306">306</a> <strong>if</strong> (rollover.getAppend()) { -<a name="307" href="#307">307</a> fileLength = <strong>new</strong> File(rollover.getActiveFileName()).length(); -<a name="308" href="#308">308</a> } <strong>else</strong> { -<a name="309" href="#309">309</a> fileLength = 0; -<a name="310" href="#310">310</a> } -<a name="311" href="#311">311</a> -<a name="312" href="#312">312</a> <strong>if</strong> (rollover.getAsynchronous() != <strong>null</strong>) { -<a name="313" href="#313">313</a> lastRolloverAsyncAction = rollover.getAsynchronous(); -<a name="314" href="#314">314</a> <strong>new</strong> Thread(lastRolloverAsyncAction).start(); -<a name="315" href="#315">315</a> } -<a name="316" href="#316">316</a> } -<a name="317" href="#317">317</a> -<a name="318" href="#318">318</a> writeHeader(); -<a name="319" href="#319">319</a> } -<a name="320" href="#320">320</a> -<a name="321" href="#321">321</a> <strong>return</strong> <strong>true</strong>; -<a name="322" href="#322">322</a> } -<a name="323" href="#323">323</a> } <strong>catch</strong> (Exception ex) { -<a name="324" href="#324">324</a> exception = ex; -<a name="325" href="#325">325</a> } -<a name="326" href="#326">326</a> } -<a name="327" href="#327">327</a> -<a name="328" href="#328">328</a> <strong>if</strong> (exception != <strong>null</strong>) { -<a name="329" href="#329">329</a> LogLog.warn( -<a name="330" href="#330">330</a> <span class="string">"Exception during rollover, rollover deferred."</span>, exception); -<a name="331" href="#331">331</a> } -<a name="332" href="#332">332</a> } -<a name="333" href="#333">333</a> -<a name="334" href="#334">334</a> <strong>return</strong> false; -<a name="335" href="#335">335</a> } -<a name="336" href="#336">336</a> -<a name="337" href="#337">337</a> <em>/**<em>*</em></em> -<a name="338" href="#338">338</a> <em> * {@inheritDoc}</em> -<a name="339" href="#339">339</a> <em> */</em> -<a name="340" href="#340">340</a> <strong>protected</strong> <strong>void</strong> subAppend(<strong>final</strong> LoggingEvent event) { -<a name="341" href="#341">341</a> <em class="comment">// The rollover check must precede actual writing. This is the </em> -<a name="342" href="#342">342</a> <em class="comment">// only correct behavior for time driven triggers. </em> -<a name="343" href="#343">343</a> <strong>if</strong> ( -<a name="344" href="#344">344</a> triggeringPolicy.isTriggeringEvent( -<a name="345" href="#345">345</a> <strong>this</strong>, event, getFile(), getFileLength())) { -<a name="346" href="#346">346</a> <em class="comment">//</em> -<a name="347" href="#347">347</a> <em class="comment">// wrap rollover request in try block since</em> -<a name="348" href="#348">348</a> <em class="comment">// rollover may fail in case read access to directory</em> -<a name="349" href="#349">349</a> <em class="comment">// is not provided. However appender should still be in good</em> -<a name="350" href="#350">350</a> <em class="comment">// condition and the append should still happen.</em> -<a name="351" href="#351">351</a> <strong>try</strong> { -<a name="352" href="#352">352</a> rollover(); -<a name="353" href="#353">353</a> } <strong>catch</strong> (Exception ex) { -<a name="354" href="#354">354</a> LogLog.warn(<span class="string">"Exception during rollover attempt."</span>, ex); -<a name="355" href="#355">355</a> } -<a name="356" href="#356">356</a> } -<a name="357" href="#357">357</a> -<a name="358" href="#358">358</a> <strong>super</strong>.subAppend(event); -<a name="359" href="#359">359</a> } -<a name="360" href="#360">360</a> -<a name="361" href="#361">361</a> <em>/**<em>*</em></em> -<a name="362" href="#362">362</a> <em> * Get rolling policy.</em> -<a name="363" href="#363">363</a> <em> * @return rolling policy.</em> -<a name="364" href="#364">364</a> <em> */</em> -<a name="365" href="#365">365</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicy.html">RollingPolicy</a> getRollingPolicy() { -<a name="366" href="#366">366</a> <strong>return</strong> rollingPolicy; -<a name="367" href="#367">367</a> } -<a name="368" href="#368">368</a> -<a name="369" href="#369">369</a> <em>/**<em>*</em></em> -<a name="370" href="#370">370</a> <em> * Get triggering policy.</em> -<a name="371" href="#371">371</a> <em> * @return triggering policy.</em> -<a name="372" href="#372">372</a> <em> */</em> -<a name="373" href="#373">373</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> getTriggeringPolicy() { -<a name="374" href="#374">374</a> <strong>return</strong> triggeringPolicy; -<a name="375" href="#375">375</a> } -<a name="376" href="#376">376</a> -<a name="377" href="#377">377</a> <em>/**<em>*</em></em> -<a name="378" href="#378">378</a> <em> * Sets the rolling policy.</em> -<a name="379" href="#379">379</a> <em> * @param policy rolling policy.</em> -<a name="380" href="#380">380</a> <em> */</em> -<a name="381" href="#381">381</a> <strong>public</strong> <strong>void</strong> setRollingPolicy(<strong>final</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicy.html">RollingPolicy</a> policy) { -<a name="382" href="#382">382</a> rollingPolicy = policy; -<a name="383" href="#383">383</a> } -<a name="384" href="#384">384</a> -<a name="385" href="#385">385</a> <em>/**<em>*</em></em> -<a name="386" href="#386">386</a> <em> * Set triggering policy.</em> -<a name="387" href="#387">387</a> <em> * @param policy triggering policy.</em> -<a name="388" href="#388">388</a> <em> */</em> -<a name="389" href="#389">389</a> <strong>public</strong> <strong>void</strong> setTriggeringPolicy(<strong>final</strong> <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> policy) { -<a name="390" href="#390">390</a> triggeringPolicy = policy; -<a name="391" href="#391">391</a> } -<a name="392" href="#392">392</a> -<a name="393" href="#393">393</a> <em>/**<em>*</em></em> -<a name="394" href="#394">394</a> <em> * Close appender. Waits for any asynchronous file compression actions to be completed.</em> -<a name="395" href="#395">395</a> <em> */</em> -<a name="396" href="#396">396</a> <strong>public</strong> <strong>void</strong> close() { -<a name="397" href="#397">397</a> <strong>synchronized</strong> (<strong>this</strong>) { -<a name="398" href="#398">398</a> <strong>if</strong> (lastRolloverAsyncAction != <strong>null</strong>) { -<a name="399" href="#399">399</a> lastRolloverAsyncAction.close(); -<a name="400" href="#400">400</a> } -<a name="401" href="#401">401</a> } -<a name="402" href="#402">402</a> -<a name="403" href="#403">403</a> <strong>super</strong>.close(); -<a name="404" href="#404">404</a> } -<a name="405" href="#405">405</a> -<a name="406" href="#406">406</a> <em>/**<em>*</em></em> -<a name="407" href="#407">407</a> <em> Returns an OutputStreamWriter when passed an OutputStream. The</em> -<a name="408" href="#408">408</a> <em> encoding used will depend on the value of the</em> -<a name="409" href="#409">409</a> <em> &lt;code>encoding&lt;/code> property. If the encoding value is</em> -<a name="410" href="#410">410</a> <em> specified incorrectly the writer will be opened using the default</em> -<a name="411" href="#411">411</a> <em> system encoding (an error message will be printed to the loglog.</em> -<a name="412" href="#412">412</a> <em> @param os output stream, may not be null.</em> -<a name="413" href="#413">413</a> <em> @return new writer.</em> -<a name="414" href="#414">414</a> <em> */</em> -<a name="415" href="#415">415</a> <strong>protected</strong> OutputStreamWriter createWriter(<strong>final</strong> OutputStream os) { -<a name="416" href="#416">416</a> <strong>return</strong> <strong>super</strong>.createWriter(<strong>new</strong> CountingOutputStream(os, <strong>this</strong>)); -<a name="417" href="#417">417</a> } -<a name="418" href="#418">418</a> -<a name="419" href="#419">419</a> <em>/**<em>*</em></em> -<a name="420" href="#420">420</a> <em> * Get byte length of current active log file.</em> -<a name="421" href="#421">421</a> <em> * @return byte length of current active log file.</em> -<a name="422" href="#422">422</a> <em> */</em> -<a name="423" href="#423">423</a> <strong>public</strong> <strong>long</strong> getFileLength() { -<a name="424" href="#424">424</a> <strong>return</strong> fileLength; -<a name="425" href="#425">425</a> } -<a name="426" href="#426">426</a> -<a name="427" href="#427">427</a> <em>/**<em>*</em></em> -<a name="428" href="#428">428</a> <em> * Increments estimated byte length of current active log file.</em> -<a name="429" href="#429">429</a> <em> * @param increment additional bytes written to log file.</em> -<a name="430" href="#430">430</a> <em> */</em> -<a name="431" href="#431">431</a> <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> incrementFileLength(<strong>int</strong> increment) { -<a name="432" href="#432">432</a> fileLength += increment; -<a name="433" href="#433">433</a> } -<a name="434" href="#434">434</a> -<a name="435" href="#435">435</a> -<a name="436" href="#436">436</a> -<a name="437" href="#437">437</a> <em>/**<em>*</em></em> -<a name="438" href="#438">438</a> <em> * {@inheritDoc}</em> -<a name="439" href="#439">439</a> <em> */</em> -<a name="440" href="#440">440</a> <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element, -<a name="441" href="#441">441</a> <strong>final</strong> Properties props) throws Exception { -<a name="442" href="#442">442</a> <strong>final</strong> String nodeName = element.getNodeName(); -<a name="443" href="#443">443</a> <strong>if</strong> (<span class="string">"rollingPolicy"</span>.equals(nodeName)) { -<a name="444" href="#444">444</a> OptionHandler rollingPolicy = -<a name="445" href="#445">445</a> org.apache.log4j.extras.DOMConfigurator.parseElement( -<a name="446" href="#446">446</a> element, props, RollingPolicy.<strong>class</strong>); -<a name="447" href="#447">447</a> <strong>if</strong> (rollingPolicy != <strong>null</strong>) { -<a name="448" href="#448">448</a> rollingPolicy.activateOptions(); -<a name="449" href="#449">449</a> <strong>this</strong>.setRollingPolicy((RollingPolicy) rollingPolicy); -<a name="450" href="#450">450</a> } -<a name="451" href="#451">451</a> <strong>return</strong> <strong>true</strong>; -<a name="452" href="#452">452</a> } -<a name="453" href="#453">453</a> <strong>if</strong> (<span class="string">"triggeringPolicy"</span>.equals(nodeName)) { -<a name="454" href="#454">454</a> OptionHandler triggerPolicy = -<a name="455" href="#455">455</a> org.apache.log4j.extras.DOMConfigurator.parseElement( -<a name="456" href="#456">456</a> element, props, TriggeringPolicy.<strong>class</strong>); -<a name="457" href="#457">457</a> <strong>if</strong> (triggerPolicy != <strong>null</strong>) { -<a name="458" href="#458">458</a> triggerPolicy.activateOptions(); -<a name="459" href="#459">459</a> <strong>this</strong>.setTriggeringPolicy((TriggeringPolicy) triggerPolicy); -<a name="460" href="#460">460</a> } -<a name="461" href="#461">461</a> <strong>return</strong> <strong>true</strong>; -<a name="462" href="#462">462</a> } -<a name="463" href="#463">463</a> <strong>return</strong> false; -<a name="464" href="#464">464</a> } -<a name="465" href="#465">465</a> -<a name="466" href="#466">466</a> <em>/**<em>*</em></em> -<a name="467" href="#467">467</a> <em> * Wrapper for OutputStream that will report all write</em> -<a name="468" href="#468">468</a> <em> * operations back to this class for file length calculations.</em> -<a name="469" href="#469">469</a> <em> */</em> -<a name="470" href="#470">470</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> CountingOutputStream <strong>extends</strong> OutputStream { -<a name="471" href="#471">471</a> <em>/**<em>*</em></em> -<a name="472" href="#472">472</a> <em> * Wrapped output stream.</em> -<a name="473" href="#473">473</a> <em> */</em> -<a name="474" href="#474">474</a> <strong>private</strong> <strong>final</strong> OutputStream os; -<a name="475" href="#475">475</a> -<a name="476" href="#476">476</a> <em>/**<em>*</em></em> -<a name="477" href="#477">477</a> <em> * Rolling file appender to inform of stream writes.</em> -<a name="478" href="#478">478</a> <em> */</em> -<a name="479" href="#479">479</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a> rfa; -<a name="480" href="#480">480</a> -<a name="481" href="#481">481</a> <em>/**<em>*</em></em> -<a name="482" href="#482">482</a> <em> * Constructor.</em> -<a name="483" href="#483">483</a> <em> * @param os output stream to wrap.</em> -<a name="484" href="#484">484</a> <em> * @param rfa rolling file appender to inform.</em> -<a name="485" href="#485">485</a> <em> */</em> -<a name="486" href="#486">486</a> <strong>public</strong> CountingOutputStream( -<a name="487" href="#487">487</a> <strong>final</strong> OutputStream os, <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a> rfa) { -<a name="488" href="#488">488</a> <strong>this</strong>.os = os; -<a name="489" href="#489">489</a> <strong>this</strong>.rfa = rfa; -<a name="490" href="#490">490</a> } -<a name="491" href="#491">491</a> -<a name="492" href="#492">492</a> <em>/**<em>*</em></em> -<a name="493" href="#493">493</a> <em> * {@inheritDoc}</em> -<a name="494" href="#494">494</a> <em> */</em> -<a name="495" href="#495">495</a> <strong>public</strong> <strong>void</strong> close() throws IOException { -<a name="496" href="#496">496</a> os.close(); -<a name="497" href="#497">497</a> } -<a name="498" href="#498">498</a> -<a name="499" href="#499">499</a> <em>/**<em>*</em></em> -<a name="500" href="#500">500</a> <em> * {@inheritDoc}</em> -<a name="501" href="#501">501</a> <em> */</em> -<a name="502" href="#502">502</a> <strong>public</strong> <strong>void</strong> flush() throws IOException { -<a name="503" href="#503">503</a> os.flush(); -<a name="504" href="#504">504</a> } -<a name="505" href="#505">505</a> -<a name="506" href="#506">506</a> <em>/**<em>*</em></em> -<a name="507" href="#507">507</a> <em> * {@inheritDoc}</em> -<a name="508" href="#508">508</a> <em> */</em> -<a name="509" href="#509">509</a> <strong>public</strong> <strong>void</strong> write(<strong>final</strong> byte[] b) throws IOException { -<a name="510" href="#510">510</a> os.write(b); -<a name="511" href="#511">511</a> rfa.incrementFileLength(b.length); -<a name="512" href="#512">512</a> } -<a name="513" href="#513">513</a> -<a name="514" href="#514">514</a> <em>/**<em>*</em></em> -<a name="515" href="#515">515</a> <em> * {@inheritDoc}</em> -<a name="516" href="#516">516</a> <em> */</em> -<a name="517" href="#517">517</a> <strong>public</strong> <strong>void</strong> write(<strong>final</strong> byte[] b, <strong>final</strong> <strong>int</strong> off, <strong>final</strong> <strong>int</strong> len) -<a name="518" href="#518">518</a> throws IOException { -<a name="519" href="#519">519</a> os.write(b, off, len); -<a name="520" href="#520">520</a> rfa.incrementFileLength(len); -<a name="521" href="#521">521</a> } -<a name="522" href="#522">522</a> -<a name="523" href="#523">523</a> <em>/**<em>*</em></em> -<a name="524" href="#524">524</a> <em> * {@inheritDoc}</em> -<a name="525" href="#525">525</a> <em> */</em> -<a name="526" href="#526">526</a> <strong>public</strong> <strong>void</strong> write(<strong>final</strong> <strong>int</strong> b) throws IOException { -<a name="527" href="#527">527</a> os.write(b); -<a name="528" href="#528">528</a> rfa.incrementFileLength(1); -<a name="529" href="#529">529</a> } -<a name="530" href="#530">530</a> } -<a name="531" href="#531">531</a> -<a name="532" href="#532">532</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> DefaultErrorHandler implements ErrorHandler { -<a name="533" href="#533">533</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a> appender; -<a name="534" href="#534">534</a> <strong>public</strong> DefaultErrorHandler(<strong>final</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a> appender) { -<a name="535" href="#535">535</a> <strong>this</strong>.appender = appender; -<a name="536" href="#536">536</a> } -<a name="537" href="#537">537</a> <em>/**<em>*@since 1.2*/</em></em> -<a name="538" href="#538">538</a> <strong>public</strong> <strong>void</strong> setLogger(Logger logger) { -<a name="539" href="#539">539</a> -<a name="540" href="#540">540</a> } -<a name="541" href="#541">541</a> <strong>public</strong> <strong>void</strong> error(String message, Exception ioe, <strong>int</strong> errorCode) { -<a name="542" href="#542">542</a> appender.close(); -<a name="543" href="#543">543</a> LogLog.error(<span class="string">"IO failure for appender named "</span>+ appender.getName(), ioe); -<a name="544" href="#544">544</a> } -<a name="545" href="#545">545</a> <strong>public</strong> <strong>void</strong> error(String message) { -<a name="546" href="#546">546</a> -<a name="547" href="#547">547</a> } -<a name="548" href="#548">548</a> <em>/**<em>*@since 1.2*/</em></em> -<a name="549" href="#549">549</a> <strong>public</strong> <strong>void</strong> error(String message, Exception e, <strong>int</strong> errorCode, LoggingEvent event) { -<a name="550" href="#550">550</a> -<a name="551" href="#551">551</a> } -<a name="552" href="#552">552</a> <em>/**<em>*@since 1.2*/</em></em> -<a name="553" href="#553">553</a> <strong>public</strong> <strong>void</strong> setAppender(Appender appender) { -<a name="554" href="#554">554</a> -<a name="555" href="#555">555</a> } -<a name="556" href="#556">556</a> <em>/**<em>*@since 1.2*/</em></em> -<a name="557" href="#557">557</a> <strong>public</strong> <strong>void</strong> setBackupAppender(Appender appender) { -<a name="558" href="#558">558</a> -<a name="559" href="#559">559</a> } -<a name="560" href="#560">560</a> -<a name="561" href="#561">561</a> <strong>public</strong> <strong>void</strong> activateOptions() { -<a name="562" href="#562">562</a> } -<a name="563" href="#563">563</a> -<a name="564" href="#564">564</a> } -<a name="565" href="#565">565</a> -<a name="566" href="#566">566</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingPolicy.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingPolicy.html deleted file mode 100644 index 439a944575c..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingPolicy.html +++ /dev/null @@ -1,67 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RollingPolicy xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/RollingPolicy.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <em>/**<em>*</em></em> -<a name="23" href="#23">23</a> <em> * A &lt;code>RollingPolicy&lt;/code> specifies the actions taken</em> -<a name="24" href="#24">24</a> <em> * on a logging file rollover.</em> -<a name="25" href="#25">25</a> <em> *</em> -<a name="26" href="#26">26</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="27" href="#27">27</a> <em> * @author Curt Arnold</em> -<a name="28" href="#28">28</a> <em> * */</em> -<a name="29" href="#29">29</a> <strong>public</strong> <strong>interface</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicy.html">RollingPolicy</a> <strong>extends</strong> OptionHandler { -<a name="30" href="#30">30</a> <em>/**<em>*</em></em> -<a name="31" href="#31">31</a> <em> * Initialize the policy and return any initial actions for rolling file appender..</em> -<a name="32" href="#32">32</a> <em> *</em> -<a name="33" href="#33">33</a> <em> * @param file current value of RollingFileAppender.getFile().</em> -<a name="34" href="#34">34</a> <em> * @param append current value of RollingFileAppender.getAppend().</em> -<a name="35" href="#35">35</a> <em> * @return Description of the initialization, may be null to indicate</em> -<a name="36" href="#36">36</a> <em> * no initialization needed.</em> -<a name="37" href="#37">37</a> <em> * @throws SecurityException if denied access to log files.</em> -<a name="38" href="#38">38</a> <em> */</em> -<a name="39" href="#39">39</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> initialize( -<a name="40" href="#40">40</a> <strong>final</strong> String file, <strong>final</strong> <strong>boolean</strong> append) throws SecurityException; -<a name="41" href="#41">41</a> -<a name="42" href="#42">42</a> <em>/**<em>*</em></em> -<a name="43" href="#43">43</a> <em> * Prepare for a rollover. This method is called prior to</em> -<a name="44" href="#44">44</a> <em> * closing the active log file, performs any necessary</em> -<a name="45" href="#45">45</a> <em> * preliminary actions and describes actions needed</em> -<a name="46" href="#46">46</a> <em> * after close of current log file.</em> -<a name="47" href="#47">47</a> <em> *</em> -<a name="48" href="#48">48</a> <em> * @param activeFile file name for current active log file.</em> -<a name="49" href="#49">49</a> <em> * @return Description of pending rollover, may be null to indicate no rollover</em> -<a name="50" href="#50">50</a> <em> * at this time.</em> -<a name="51" href="#51">51</a> <em> * @throws SecurityException if denied access to log files.</em> -<a name="52" href="#52">52</a> <em> */</em> -<a name="53" href="#53">53</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> rollover(<strong>final</strong> String activeFile) throws SecurityException; -<a name="54" href="#54">54</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingPolicyBase.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingPolicyBase.html deleted file mode 100644 index 0a164cfa2e8..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RollingPolicyBase.html +++ /dev/null @@ -1,190 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RollingPolicyBase xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/RollingPolicyBase.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.pattern.FormattingInfo; -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.pattern.PatternConverter; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.pattern.PatternParser; -<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.pattern.IntegerPatternConverter; -<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.pattern.DatePatternConverter; -<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; -<a name="26" href="#26">26</a> -<a name="27" href="#27">27</a> <strong>import</strong> java.util.ArrayList; -<a name="28" href="#28">28</a> <strong>import</strong> java.util.List; -<a name="29" href="#29">29</a> -<a name="30" href="#30">30</a> -<a name="31" href="#31">31</a> <em>/**<em>*</em></em> -<a name="32" href="#32">32</a> <em> * Implements methods common to most, it not all, rolling</em> -<a name="33" href="#33">33</a> <em> * policies. Currently such methods are limited to a compression mode</em> -<a name="34" href="#34">34</a> <em> * getter/setter.</em> -<a name="35" href="#35">35</a> <em> *</em> -<a name="36" href="#36">36</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="37" href="#37">37</a> <em> * @author Curt Arnold</em> -<a name="38" href="#38">38</a> <em> */</em> -<a name="39" href="#39">39</a> <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicyBase.html">RollingPolicyBase</a> -<a name="40" href="#40">40</a> implements RollingPolicy, OptionHandler { -<a name="41" href="#41">41</a> <em>/**<em>*</em></em> -<a name="42" href="#42">42</a> <em> * Error message.</em> -<a name="43" href="#43">43</a> <em> */</em> -<a name="44" href="#44">44</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String FNP_NOT_SET = -<a name="45" href="#45">45</a> <span class="string">"The FileNamePattern option must be set before using RollingPolicy. "</span>; -<a name="46" href="#46">46</a> -<a name="47" href="#47">47</a> <em>/**<em>*</em></em> -<a name="48" href="#48">48</a> <em> * Reference for error message.</em> -<a name="49" href="#49">49</a> <em> */</em> -<a name="50" href="#50">50</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String SEE_FNP_NOT_SET = -<a name="51" href="#51">51</a> <span class="string">"See also http://logging.apache.org/log4j/codes.html#tbr_fnp_not_set"</span>; -<a name="52" href="#52">52</a> -<a name="53" href="#53">53</a> <em>/**<em>*</em></em> -<a name="54" href="#54">54</a> <em> * File name pattern converters.</em> -<a name="55" href="#55">55</a> <em> */</em> -<a name="56" href="#56">56</a> <strong>private</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a>[] patternConverters; -<a name="57" href="#57">57</a> -<a name="58" href="#58">58</a> <em>/**<em>*</em></em> -<a name="59" href="#59">59</a> <em> * File name field specifiers.</em> -<a name="60" href="#60">60</a> <em> */</em> -<a name="61" href="#61">61</a> <strong>private</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>[] patternFields; -<a name="62" href="#62">62</a> -<a name="63" href="#63">63</a> <em>/**<em>*</em></em> -<a name="64" href="#64">64</a> <em> * File name pattern.</em> -<a name="65" href="#65">65</a> <em> */</em> -<a name="66" href="#66">66</a> <strong>private</strong> String fileNamePatternStr; -<a name="67" href="#67">67</a> -<a name="68" href="#68">68</a> <em>/**<em>*</em></em> -<a name="69" href="#69">69</a> <em> * Active file name may be null.</em> -<a name="70" href="#70">70</a> <em> * Duplicates FileAppender.file and should be removed.</em> -<a name="71" href="#71">71</a> <em> */</em> -<a name="72" href="#72">72</a> <strong>protected</strong> String activeFileName; -<a name="73" href="#73">73</a> -<a name="74" href="#74">74</a> <em>/**<em>*</em></em> -<a name="75" href="#75">75</a> <em> * {@inheritDoc}</em> -<a name="76" href="#76">76</a> <em> */</em> -<a name="77" href="#77">77</a> <strong>public</strong> <strong>void</strong> activateOptions() { -<a name="78" href="#78">78</a> <em class="comment">// find out period from the filename pattern</em> -<a name="79" href="#79">79</a> <strong>if</strong> (fileNamePatternStr != <strong>null</strong>) { -<a name="80" href="#80">80</a> parseFileNamePattern(); -<a name="81" href="#81">81</a> } <strong>else</strong> { -<a name="82" href="#82">82</a> LogLog.warn(FNP_NOT_SET); -<a name="83" href="#83">83</a> LogLog.warn(SEE_FNP_NOT_SET); -<a name="84" href="#84">84</a> <strong>throw</strong> <strong>new</strong> IllegalStateException(FNP_NOT_SET + SEE_FNP_NOT_SET); -<a name="85" href="#85">85</a> } -<a name="86" href="#86">86</a> -<a name="87" href="#87">87</a> } -<a name="88" href="#88">88</a> -<a name="89" href="#89">89</a> <em>/**<em>*</em></em> -<a name="90" href="#90">90</a> <em> * Set file name pattern.</em> -<a name="91" href="#91">91</a> <em> * @param fnp file name pattern.</em> -<a name="92" href="#92">92</a> <em> */</em> -<a name="93" href="#93">93</a> <strong>public</strong> <strong>void</strong> setFileNamePattern(String fnp) { -<a name="94" href="#94">94</a> fileNamePatternStr = fnp; -<a name="95" href="#95">95</a> } -<a name="96" href="#96">96</a> -<a name="97" href="#97">97</a> <em>/**<em>*</em></em> -<a name="98" href="#98">98</a> <em> * Get file name pattern.</em> -<a name="99" href="#99">99</a> <em> * @return file name pattern.</em> -<a name="100" href="#100">100</a> <em> */</em> -<a name="101" href="#101">101</a> <strong>public</strong> String getFileNamePattern() { -<a name="102" href="#102">102</a> <strong>return</strong> fileNamePatternStr; -<a name="103" href="#103">103</a> } -<a name="104" href="#104">104</a> -<a name="105" href="#105">105</a> <em>/**<em>*</em></em> -<a name="106" href="#106">106</a> <em> * ActiveFileName can be left unset, i.e. as null.</em> -<a name="107" href="#107">107</a> <em> * @param afn active file name.</em> -<a name="108" href="#108">108</a> <em> * @deprecated Duplicates FileAppender.file and should be removed</em> -<a name="109" href="#109">109</a> <em> */</em> -<a name="110" href="#110">110</a> <strong>public</strong> <strong>void</strong> setActiveFileName(String afn) { -<a name="111" href="#111">111</a> activeFileName = afn; -<a name="112" href="#112">112</a> } -<a name="113" href="#113">113</a> -<a name="114" href="#114">114</a> <em>/**<em>*</em></em> -<a name="115" href="#115">115</a> <em> * Return the value of the &lt;b>ActiveFile&lt;/b> option.</em> -<a name="116" href="#116">116</a> <em> * @deprecated Duplicates FileAppender.file and should be removed</em> -<a name="117" href="#117">117</a> <em> * @return active file name.</em> -<a name="118" href="#118">118</a> <em> */</em> -<a name="119" href="#119">119</a> <strong>public</strong> String getActiveFileName() { -<a name="120" href="#120">120</a> <strong>return</strong> activeFileName; -<a name="121" href="#121">121</a> } -<a name="122" href="#122">122</a> -<a name="123" href="#123">123</a> <em>/**<em>*</em></em> -<a name="124" href="#124">124</a> <em> * Parse file name pattern.</em> -<a name="125" href="#125">125</a> <em> */</em> -<a name="126" href="#126">126</a> <strong>protected</strong> <strong>final</strong> <strong>void</strong> parseFileNamePattern() { -<a name="127" href="#127">127</a> List converters = <strong>new</strong> ArrayList(); -<a name="128" href="#128">128</a> List fields = <strong>new</strong> ArrayList(); -<a name="129" href="#129">129</a> -<a name="130" href="#130">130</a> PatternParser.parse( -<a name="131" href="#131">131</a> fileNamePatternStr, converters, fields, <strong>null</strong>, -<a name="132" href="#132">132</a> PatternParser.getFileNamePatternRules()); -<a name="133" href="#133">133</a> patternConverters = <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a>[converters.size()]; -<a name="134" href="#134">134</a> patternConverters = -<a name="135" href="#135">135</a> (<a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a>[]) converters.toArray(patternConverters); -<a name="136" href="#136">136</a> patternFields = <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>[converters.size()]; -<a name="137" href="#137">137</a> patternFields = (FormattingInfo[]) fields.toArray(patternFields); -<a name="138" href="#138">138</a> } -<a name="139" href="#139">139</a> -<a name="140" href="#140">140</a> <em>/**<em>*</em></em> -<a name="141" href="#141">141</a> <em> * Format file name.</em> -<a name="142" href="#142">142</a> <em> *</em> -<a name="143" href="#143">143</a> <em> * @param obj object to be evaluted in formatting, may not be null.</em> -<a name="144" href="#144">144</a> <em> * @param buf string buffer to which formatted file name is appended, may not be null.</em> -<a name="145" href="#145">145</a> <em> */</em> -<a name="146" href="#146">146</a> <strong>protected</strong> <strong>final</strong> <strong>void</strong> formatFileName( -<a name="147" href="#147">147</a> <strong>final</strong> Object obj, <strong>final</strong> StringBuffer buf) { -<a name="148" href="#148">148</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; patternConverters.length; i++) { -<a name="149" href="#149">149</a> <strong>int</strong> fieldStart = buf.length(); -<a name="150" href="#150">150</a> patternConverters[i].format(obj, buf); -<a name="151" href="#151">151</a> -<a name="152" href="#152">152</a> <strong>if</strong> (patternFields[i] != <strong>null</strong>) { -<a name="153" href="#153">153</a> patternFields[i].format(fieldStart, buf); -<a name="154" href="#154">154</a> } -<a name="155" href="#155">155</a> } -<a name="156" href="#156">156</a> } -<a name="157" href="#157">157</a> -<a name="158" href="#158">158</a> <strong>protected</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> getDatePatternConverter() { -<a name="159" href="#159">159</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; patternConverters.length; i++) { -<a name="160" href="#160">160</a> <strong>if</strong> (patternConverters[i] instanceof DatePatternConverter) { -<a name="161" href="#161">161</a> <strong>return</strong> patternConverters[i]; -<a name="162" href="#162">162</a> } -<a name="163" href="#163">163</a> } -<a name="164" href="#164">164</a> <strong>return</strong> <strong>null</strong>; -<a name="165" href="#165">165</a> -<a name="166" href="#166">166</a> } -<a name="167" href="#167">167</a> -<a name="168" href="#168">168</a> <strong>protected</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> getIntegerPatternConverter() { -<a name="169" href="#169">169</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; patternConverters.length; i++) { -<a name="170" href="#170">170</a> <strong>if</strong> (patternConverters[i] instanceof IntegerPatternConverter) { -<a name="171" href="#171">171</a> <strong>return</strong> patternConverters[i]; -<a name="172" href="#172">172</a> } -<a name="173" href="#173">173</a> } -<a name="174" href="#174">174</a> <strong>return</strong> <strong>null</strong>; -<a name="175" href="#175">175</a> } -<a name="176" href="#176">176</a> -<a name="177" href="#177">177</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RolloverDescription.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RolloverDescription.html deleted file mode 100644 index ddb233efb39..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RolloverDescription.html +++ /dev/null @@ -1,69 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RolloverDescription xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/RolloverDescription.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.rolling.helper.Action; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <em>/**<em>*</em></em> -<a name="23" href="#23">23</a> <em> * Description of actions needed to complete rollover.</em> -<a name="24" href="#24">24</a> <em> *</em> -<a name="25" href="#25">25</a> <em> * @author Curt Arnold</em> -<a name="26" href="#26">26</a> <em> *</em> -<a name="27" href="#27">27</a> <em> */</em> -<a name="28" href="#28">28</a> <strong>public</strong> <strong>interface</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> { -<a name="29" href="#29">29</a> <em>/**<em>*</em></em> -<a name="30" href="#30">30</a> <em> * Active log file name after rollover.</em> -<a name="31" href="#31">31</a> <em> * @return active log file name after rollover.</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> String getActiveFileName(); -<a name="34" href="#34">34</a> -<a name="35" href="#35">35</a> <em>/**<em>*</em></em> -<a name="36" href="#36">36</a> <em> * Specifies if active file should be opened for appending.</em> -<a name="37" href="#37">37</a> <em> * @return if true, active file should be opened for appending.</em> -<a name="38" href="#38">38</a> <em> */</em> -<a name="39" href="#39">39</a> <strong>boolean</strong> getAppend(); -<a name="40" href="#40">40</a> -<a name="41" href="#41">41</a> <em>/**<em>*</em></em> -<a name="42" href="#42">42</a> <em> * Action to be completed after close of current active log file</em> -<a name="43" href="#43">43</a> <em> * before returning control to caller.</em> -<a name="44" href="#44">44</a> <em> *</em> -<a name="45" href="#45">45</a> <em> * @return action, may be null.</em> -<a name="46" href="#46">46</a> <em> */</em> -<a name="47" href="#47">47</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> getSynchronous(); -<a name="48" href="#48">48</a> -<a name="49" href="#49">49</a> <em>/**<em>*</em></em> -<a name="50" href="#50">50</a> <em> * Action to be completed after close of current active log file</em> -<a name="51" href="#51">51</a> <em> * and before next rollover attempt, may be executed asynchronously.</em> -<a name="52" href="#52">52</a> <em> *</em> -<a name="53" href="#53">53</a> <em> * @return action, may be null.</em> -<a name="54" href="#54">54</a> <em> */</em> -<a name="55" href="#55">55</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> getAsynchronous(); -<a name="56" href="#56">56</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RolloverDescriptionImpl.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RolloverDescriptionImpl.html deleted file mode 100644 index f85f9e5eb7a..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/RolloverDescriptionImpl.html +++ /dev/null @@ -1,119 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RolloverDescriptionImpl xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/RolloverDescriptionImpl.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.rolling.helper.Action; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <em>/**<em>*</em></em> -<a name="23" href="#23">23</a> <em> * Description of actions needed to complete rollover.</em> -<a name="24" href="#24">24</a> <em> *</em> -<a name="25" href="#25">25</a> <em> * @author Curt Arnold</em> -<a name="26" href="#26">26</a> <em> *</em> -<a name="27" href="#27">27</a> <em> */</em> -<a name="28" href="#28">28</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a> implements <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> { -<a name="29" href="#29">29</a> <em>/**<em>*</em></em> -<a name="30" href="#30">30</a> <em> * Active log file name after rollover.</em> -<a name="31" href="#31">31</a> <em> */</em> -<a name="32" href="#32">32</a> <strong>private</strong> <strong>final</strong> String activeFileName; -<a name="33" href="#33">33</a> -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * Should active file be opened for appending.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> append; -<a name="38" href="#38">38</a> -<a name="39" href="#39">39</a> <em>/**<em>*</em></em> -<a name="40" href="#40">40</a> <em> * Action to be completed after close of current active log file</em> -<a name="41" href="#41">41</a> <em> * before returning control to caller.</em> -<a name="42" href="#42">42</a> <em> */</em> -<a name="43" href="#43">43</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> synchronous; -<a name="44" href="#44">44</a> -<a name="45" href="#45">45</a> <em>/**<em>*</em></em> -<a name="46" href="#46">46</a> <em> * Action to be completed after close of current active log file</em> -<a name="47" href="#47">47</a> <em> * and before next rollover attempt, may be executed asynchronously.</em> -<a name="48" href="#48">48</a> <em> */</em> -<a name="49" href="#49">49</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> asynchronous; -<a name="50" href="#50">50</a> -<a name="51" href="#51">51</a> <em>/**<em>*</em></em> -<a name="52" href="#52">52</a> <em> * Create new instance.</em> -<a name="53" href="#53">53</a> <em> * @param activeFileName active log file name after rollover, may not be null.</em> -<a name="54" href="#54">54</a> <em> * @param append true if active log file after rollover should be opened for appending.</em> -<a name="55" href="#55">55</a> <em> * @param synchronous action to be completed after close of current active log file, may be null.</em> -<a name="56" href="#56">56</a> <em> * @param asynchronous action to be completed after close of current active log file and</em> -<a name="57" href="#57">57</a> <em> * before next rollover attempt.</em> -<a name="58" href="#58">58</a> <em> */</em> -<a name="59" href="#59">59</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>( -<a name="60" href="#60">60</a> <strong>final</strong> String activeFileName, <strong>final</strong> <strong>boolean</strong> append, <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> synchronous, -<a name="61" href="#61">61</a> <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> asynchronous) { -<a name="62" href="#62">62</a> <strong>if</strong> (activeFileName == <strong>null</strong>) { -<a name="63" href="#63">63</a> <strong>throw</strong> <strong>new</strong> NullPointerException(<span class="string">"activeFileName"</span>); -<a name="64" href="#64">64</a> } -<a name="65" href="#65">65</a> -<a name="66" href="#66">66</a> <strong>this</strong>.append = append; -<a name="67" href="#67">67</a> <strong>this</strong>.activeFileName = activeFileName; -<a name="68" href="#68">68</a> <strong>this</strong>.synchronous = synchronous; -<a name="69" href="#69">69</a> <strong>this</strong>.asynchronous = asynchronous; -<a name="70" href="#70">70</a> } -<a name="71" href="#71">71</a> -<a name="72" href="#72">72</a> <em>/**<em>*</em></em> -<a name="73" href="#73">73</a> <em> * Active log file name after rollover.</em> -<a name="74" href="#74">74</a> <em> * @return active log file name after rollover.</em> -<a name="75" href="#75">75</a> <em> */</em> -<a name="76" href="#76">76</a> <strong>public</strong> String getActiveFileName() { -<a name="77" href="#77">77</a> <strong>return</strong> activeFileName; -<a name="78" href="#78">78</a> } -<a name="79" href="#79">79</a> -<a name="80" href="#80">80</a> <em>/**<em>*</em></em> -<a name="81" href="#81">81</a> <em> * {@inheritDoc}</em> -<a name="82" href="#82">82</a> <em> */</em> -<a name="83" href="#83">83</a> <strong>public</strong> <strong>boolean</strong> getAppend() { -<a name="84" href="#84">84</a> <strong>return</strong> append; -<a name="85" href="#85">85</a> } -<a name="86" href="#86">86</a> -<a name="87" href="#87">87</a> <em>/**<em>*</em></em> -<a name="88" href="#88">88</a> <em> * Action to be completed after close of current active log file</em> -<a name="89" href="#89">89</a> <em> * before returning control to caller.</em> -<a name="90" href="#90">90</a> <em> *</em> -<a name="91" href="#91">91</a> <em> * @return action, may be null.</em> -<a name="92" href="#92">92</a> <em> */</em> -<a name="93" href="#93">93</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> getSynchronous() { -<a name="94" href="#94">94</a> <strong>return</strong> synchronous; -<a name="95" href="#95">95</a> } -<a name="96" href="#96">96</a> -<a name="97" href="#97">97</a> <em>/**<em>*</em></em> -<a name="98" href="#98">98</a> <em> * Action to be completed after close of current active log file</em> -<a name="99" href="#99">99</a> <em> * and before next rollover attempt, may be executed asynchronously.</em> -<a name="100" href="#100">100</a> <em> *</em> -<a name="101" href="#101">101</a> <em> * @return action, may be null.</em> -<a name="102" href="#102">102</a> <em> */</em> -<a name="103" href="#103">103</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> getAsynchronous() { -<a name="104" href="#104">104</a> <strong>return</strong> asynchronous; -<a name="105" href="#105">105</a> } -<a name="106" href="#106">106</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html deleted file mode 100644 index 7c1d13bc21d..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html +++ /dev/null @@ -1,97 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SizeBasedTriggeringPolicy xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.Appender; -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> <em>/**<em>*</em></em> -<a name="25" href="#25">25</a> <em> * SizeBasedTriggeringPolicy looks at size of the file being</em> -<a name="26" href="#26">26</a> <em> * currently written to.</em> -<a name="27" href="#27">27</a> <em> *</em> -<a name="28" href="#28">28</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="29" href="#29">29</a> <em> * @author Curt Arnold</em> -<a name="30" href="#30">30</a> <em> *</em> -<a name="31" href="#31">31</a> <em> */</em> -<a name="32" href="#32">32</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html">SizeBasedTriggeringPolicy</a> implements TriggeringPolicy, -<a name="33" href="#33">33</a> OptionHandler { -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * Rollover threshold size in bytes.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>private</strong> <strong>long</strong> maxFileSize = 10 * 1024 * 1024; <em class="comment">// let 10 MB the default max size</em> -<a name="38" href="#38">38</a> -<a name="39" href="#39">39</a> <em>/**<em>*</em></em> -<a name="40" href="#40">40</a> <em> * Constructs a new instance.</em> -<a name="41" href="#41">41</a> <em> */</em> -<a name="42" href="#42">42</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html">SizeBasedTriggeringPolicy</a>() { -<a name="43" href="#43">43</a> } -<a name="44" href="#44">44</a> -<a name="45" href="#45">45</a> <em>/**<em>*</em></em> -<a name="46" href="#46">46</a> <em> * Constructs an new instance.</em> -<a name="47" href="#47">47</a> <em> * @param maxFileSize rollover threshold size in bytes.</em> -<a name="48" href="#48">48</a> <em> */</em> -<a name="49" href="#49">49</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html">SizeBasedTriggeringPolicy</a>(<strong>final</strong> <strong>long</strong> maxFileSize) { -<a name="50" href="#50">50</a> <strong>this</strong>.maxFileSize = maxFileSize; -<a name="51" href="#51">51</a> } -<a name="52" href="#52">52</a> -<a name="53" href="#53">53</a> <em>/**<em>*</em></em> -<a name="54" href="#54">54</a> <em> * {@inheritDoc}</em> -<a name="55" href="#55">55</a> <em> */</em> -<a name="56" href="#56">56</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent( -<a name="57" href="#57">57</a> <strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String file, -<a name="58" href="#58">58</a> <strong>final</strong> <strong>long</strong> fileLength) { -<a name="59" href="#59">59</a> <em class="comment">//System.out.println("Size"+file.length());</em> -<a name="60" href="#60">60</a> <strong>return</strong> (fileLength >= maxFileSize); -<a name="61" href="#61">61</a> } -<a name="62" href="#62">62</a> -<a name="63" href="#63">63</a> <em>/**<em>*</em></em> -<a name="64" href="#64">64</a> <em> * Gets rollover threshold size in bytes.</em> -<a name="65" href="#65">65</a> <em> * @return rollover threshold size in bytes.</em> -<a name="66" href="#66">66</a> <em> */</em> -<a name="67" href="#67">67</a> <strong>public</strong> <strong>long</strong> getMaxFileSize() { -<a name="68" href="#68">68</a> <strong>return</strong> maxFileSize; -<a name="69" href="#69">69</a> } -<a name="70" href="#70">70</a> -<a name="71" href="#71">71</a> <em>/**<em>*</em></em> -<a name="72" href="#72">72</a> <em> * Sets rollover threshold size in bytes.</em> -<a name="73" href="#73">73</a> <em> * @param l new value for rollover threshold size.</em> -<a name="74" href="#74">74</a> <em> */</em> -<a name="75" href="#75">75</a> <strong>public</strong> <strong>void</strong> setMaxFileSize(<strong>long</strong> l) { -<a name="76" href="#76">76</a> maxFileSize = l; -<a name="77" href="#77">77</a> } -<a name="78" href="#78">78</a> -<a name="79" href="#79">79</a> <em>/**<em>*</em></em> -<a name="80" href="#80">80</a> <em> * Prepares policy for use.</em> -<a name="81" href="#81">81</a> <em> */</em> -<a name="82" href="#82">82</a> <strong>public</strong> <strong>void</strong> activateOptions() { -<a name="83" href="#83">83</a> } -<a name="84" href="#84">84</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/TimeBasedRollingPolicy.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/TimeBasedRollingPolicy.html deleted file mode 100644 index 037203a90c7..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/TimeBasedRollingPolicy.html +++ /dev/null @@ -1,294 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TimeBasedRollingPolicy xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> java.io.File; -<a name="20" href="#20">20</a> <strong>import</strong> java.util.Date; -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Appender; -<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.pattern.PatternConverter; -<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.rolling.helper.Action; -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.rolling.helper.FileRenameAction; -<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.rolling.helper.GZCompressAction; -<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.rolling.helper.ZipCompressAction; -<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="29" href="#29">29</a> -<a name="30" href="#30">30</a> -<a name="31" href="#31">31</a> <em>/**<em>*</em></em> -<a name="32" href="#32">32</a> <em> * &lt;code>TimeBasedRollingPolicy&lt;/code> is both easy to configure and quite</em> -<a name="33" href="#33">33</a> <em> * powerful.</em> -<a name="34" href="#34">34</a> <em> *</em> -<a name="35" href="#35">35</a> <em> * &lt;p>In order to use &lt;code>TimeBasedRollingPolicy&lt;/code>, the</em> -<a name="36" href="#36">36</a> <em> * &lt;b>FileNamePattern&lt;/b> option must be set. It basically specifies the name of the</em> -<a name="37" href="#37">37</a> <em> * rolled log files. The value &lt;code>FileNamePattern&lt;/code> should consist of</em> -<a name="38" href="#38">38</a> <em> * the name of the file, plus a suitably placed &lt;code>%d&lt;/code> conversion</em> -<a name="39" href="#39">39</a> <em> * specifier. The &lt;code>%d&lt;/code> conversion specifier may contain a date and</em> -<a name="40" href="#40">40</a> <em> * time pattern as specified by the {@link java.text.SimpleDateFormat} class. If</em> -<a name="41" href="#41">41</a> <em> * the date and time pattern is ommitted, then the default pattern of</em> -<a name="42" href="#42">42</a> <em> * "yyyy-MM-dd" is assumed. The following examples should clarify the point.</em> -<a name="43" href="#43">43</a> <em> *</em> -<a name="44" href="#44">44</a> <em> * &lt;p></em> -<a name="45" href="#45">45</a> <em> * &lt;table cellspacing="5px" border="1"></em> -<a name="46" href="#46">46</a> <em> * &lt;tr></em> -<a name="47" href="#47">47</a> <em> * &lt;th>&lt;code>FileNamePattern&lt;/code> value&lt;/th></em> -<a name="48" href="#48">48</a> <em> * &lt;th>Rollover schedule&lt;/th></em> -<a name="49" href="#49">49</a> <em> * &lt;th>Example&lt;/th></em> -<a name="50" href="#50">50</a> <em> * &lt;/tr></em> -<a name="51" href="#51">51</a> <em> * &lt;tr></em> -<a name="52" href="#52">52</a> <em> * &lt;td nowrap="true">&lt;code>/wombat/folder/foo.%d&lt;/code>&lt;/td></em> -<a name="53" href="#53">53</a> <em> * &lt;td>Daily rollover (at midnight). Due to the omission of the optional</em> -<a name="54" href="#54">54</a> <em> * time and date pattern for the %d token specifier, the default pattern</em> -<a name="55" href="#55">55</a> <em> * of "yyyy-MM-dd" is assumed, which corresponds to daily rollover.</em> -<a name="56" href="#56">56</a> <em> * &lt;/td></em> -<a name="57" href="#57">57</a> <em> * &lt;td>During November 23rd, 2004, logging output will go to</em> -<a name="58" href="#58">58</a> <em> * the file &lt;code>/wombat/foo.2004-11-23&lt;/code>. At midnight and for</em> -<a name="59" href="#59">59</a> <em> * the rest of the 24th, logging output will be directed to</em> -<a name="60" href="#60">60</a> <em> * &lt;code>/wombat/foo.2004-11-24&lt;/code>.</em> -<a name="61" href="#61">61</a> <em> * &lt;/td></em> -<a name="62" href="#62">62</a> <em> * &lt;/tr></em> -<a name="63" href="#63">63</a> <em> * &lt;tr></em> -<a name="64" href="#64">64</a> <em> * &lt;td nowrap="true">&lt;code>/wombat/foo.%d{yyyy-MM}.log&lt;/code>&lt;/td></em> -<a name="65" href="#65">65</a> <em> * &lt;td>Rollover at the beginning of each month.&lt;/td></em> -<a name="66" href="#66">66</a> <em> * &lt;td>During the month of October 2004, logging output will go to</em> -<a name="67" href="#67">67</a> <em> * &lt;code>/wombat/foo.2004-10.log&lt;/code>. After midnight of October 31st</em> -<a name="68" href="#68">68</a> <em> * and for the rest of November, logging output will be directed to</em> -<a name="69" href="#69">69</a> <em> * &lt;code>/wombat/foo.2004-11.log&lt;/code>.</em> -<a name="70" href="#70">70</a> <em> * &lt;/td></em> -<a name="71" href="#71">71</a> <em> * &lt;/tr></em> -<a name="72" href="#72">72</a> <em> * &lt;/table></em> -<a name="73" href="#73">73</a> <em> * &lt;h2>Automatic file compression&lt;/h2></em> -<a name="74" href="#74">74</a> <em> * &lt;code>TimeBasedRollingPolicy&lt;/code> supports automatic file compression.</em> -<a name="75" href="#75">75</a> <em> * This feature is enabled if the value of the &lt;b>FileNamePattern&lt;/b> option</em> -<a name="76" href="#76">76</a> <em> * ends with &lt;code>.gz&lt;/code> or &lt;code>.zip&lt;/code>.</em> -<a name="77" href="#77">77</a> <em> * &lt;p></em> -<a name="78" href="#78">78</a> <em> * &lt;table cellspacing="5px" border="1"></em> -<a name="79" href="#79">79</a> <em> * &lt;tr></em> -<a name="80" href="#80">80</a> <em> * &lt;th>&lt;code>FileNamePattern&lt;/code> value&lt;/th></em> -<a name="81" href="#81">81</a> <em> * &lt;th>Rollover schedule&lt;/th></em> -<a name="82" href="#82">82</a> <em> * &lt;th>Example&lt;/th></em> -<a name="83" href="#83">83</a> <em> * &lt;/tr></em> -<a name="84" href="#84">84</a> <em> * &lt;tr></em> -<a name="85" href="#85">85</a> <em> * &lt;td nowrap="true">&lt;code>/wombat/foo.%d.gz&lt;/code>&lt;/td></em> -<a name="86" href="#86">86</a> <em> * &lt;td>Daily rollover (at midnight) with automatic GZIP compression of the</em> -<a name="87" href="#87">87</a> <em> * archived files.&lt;/td></em> -<a name="88" href="#88">88</a> <em> * &lt;td>During November 23rd, 2004, logging output will go to</em> -<a name="89" href="#89">89</a> <em> * the file &lt;code>/wombat/foo.2004-11-23&lt;/code>. However, at midnight that</em> -<a name="90" href="#90">90</a> <em> * file will be compressed to become &lt;code>/wombat/foo.2004-11-23.gz&lt;/code>.</em> -<a name="91" href="#91">91</a> <em> * For the 24th of November, logging output will be directed to</em> -<a name="92" href="#92">92</a> <em> * &lt;code>/wombat/folder/foo.2004-11-24&lt;/code> until its rolled over at the</em> -<a name="93" href="#93">93</a> <em> * beginning of the next day.</em> -<a name="94" href="#94">94</a> <em> * &lt;/td></em> -<a name="95" href="#95">95</a> <em> * &lt;/tr></em> -<a name="96" href="#96">96</a> <em> * &lt;/table></em> -<a name="97" href="#97">97</a> <em> *</em> -<a name="98" href="#98">98</a> <em> * &lt;h2>Decoupling the location of the active log file and the archived log files&lt;/h2></em> -<a name="99" href="#99">99</a> <em> * &lt;p>The &lt;em>active file&lt;/em> is defined as the log file for the current period</em> -<a name="100" href="#100">100</a> <em> * whereas &lt;em>archived files&lt;/em> are those files which have been rolled over</em> -<a name="101" href="#101">101</a> <em> * in previous periods.</em> -<a name="102" href="#102">102</a> <em> *</em> -<a name="103" href="#103">103</a> <em> * &lt;p>By setting the &lt;b>ActiveFileName&lt;/b> option you can decouple the location</em> -<a name="104" href="#104">104</a> <em> * of the active log file and the location of the archived log files.</em> -<a name="105" href="#105">105</a> <em> * &lt;p></em> -<a name="106" href="#106">106</a> <em> * &lt;table cellspacing="5px" border="1"></em> -<a name="107" href="#107">107</a> <em> * &lt;tr></em> -<a name="108" href="#108">108</a> <em> * &lt;th>&lt;code>FileNamePattern&lt;/code> value&lt;/th></em> -<a name="109" href="#109">109</a> <em> * &lt;th>ActiveFileName&lt;/th></em> -<a name="110" href="#110">110</a> <em> * &lt;th>Rollover schedule&lt;/th></em> -<a name="111" href="#111">111</a> <em> * &lt;th>Example&lt;/th></em> -<a name="112" href="#112">112</a> <em> * &lt;/tr></em> -<a name="113" href="#113">113</a> <em> * &lt;tr></em> -<a name="114" href="#114">114</a> <em> * &lt;td nowrap="true">&lt;code>/wombat/foo.log.%d&lt;/code>&lt;/td></em> -<a name="115" href="#115">115</a> <em> * &lt;td nowrap="true">&lt;code>/wombat/foo.log&lt;/code>&lt;/td></em> -<a name="116" href="#116">116</a> <em> * &lt;td>Daily rollover.&lt;/td></em> -<a name="117" href="#117">117</a> <em> *</em> -<a name="118" href="#118">118</a> <em> * &lt;td>During November 23rd, 2004, logging output will go to</em> -<a name="119" href="#119">119</a> <em> * the file &lt;code>/wombat/foo.log&lt;/code>. However, at midnight that file</em> -<a name="120" href="#120">120</a> <em> * will archived as &lt;code>/wombat/foo.log.2004-11-23&lt;/code>. For the 24th</em> -<a name="121" href="#121">121</a> <em> * of November, logging output will be directed to</em> -<a name="122" href="#122">122</a> <em> * &lt;code>/wombat/folder/foo.log&lt;/code> until its archived as</em> -<a name="123" href="#123">123</a> <em> * &lt;code>/wombat/foo.log.2004-11-24&lt;/code> at the beginning of the next</em> -<a name="124" href="#124">124</a> <em> * day.</em> -<a name="125" href="#125">125</a> <em> * &lt;/td></em> -<a name="126" href="#126">126</a> <em> * &lt;/tr></em> -<a name="127" href="#127">127</a> <em> * &lt;/table></em> -<a name="128" href="#128">128</a> <em> * &lt;p></em> -<a name="129" href="#129">129</a> <em> * If configuring programatically, do not forget to call {@link #activateOptions}</em> -<a name="130" href="#130">130</a> <em> * method before using this policy. Moreover, {@link #activateOptions} of</em> -<a name="131" href="#131">131</a> <em> * &lt;code> TimeBasedRollingPolicy&lt;/code> must be called &lt;em>before&lt;/em> calling</em> -<a name="132" href="#132">132</a> <em> * the {@link #activateOptions} method of the owning</em> -<a name="133" href="#133">133</a> <em> * &lt;code>RollingFileAppender&lt;/code>.</em> -<a name="134" href="#134">134</a> <em> *</em> -<a name="135" href="#135">135</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="136" href="#136">136</a> <em> * @author Curt Arnold</em> -<a name="137" href="#137">137</a> <em> */</em> -<a name="138" href="#138">138</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/TimeBasedRollingPolicy.html">TimeBasedRollingPolicy</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicyBase.html">RollingPolicyBase</a> -<a name="139" href="#139">139</a> implements <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> { -<a name="140" href="#140">140</a> -<a name="141" href="#141">141</a> <em>/**<em>*</em></em> -<a name="142" href="#142">142</a> <em> * Time for next determination if time for rollover.</em> -<a name="143" href="#143">143</a> <em> */</em> -<a name="144" href="#144">144</a> <strong>private</strong> <strong>long</strong> nextCheck = 0; -<a name="145" href="#145">145</a> -<a name="146" href="#146">146</a> <em>/**<em>*</em></em> -<a name="147" href="#147">147</a> <em> * File name at last rollover.</em> -<a name="148" href="#148">148</a> <em> */</em> -<a name="149" href="#149">149</a> <strong>private</strong> String lastFileName = <strong>null</strong>; -<a name="150" href="#150">150</a> -<a name="151" href="#151">151</a> <em>/**<em>*</em></em> -<a name="152" href="#152">152</a> <em> * Length of any file type suffix (.gz, .zip).</em> -<a name="153" href="#153">153</a> <em> */</em> -<a name="154" href="#154">154</a> <strong>private</strong> <strong>int</strong> suffixLength = 0; -<a name="155" href="#155">155</a> -<a name="156" href="#156">156</a> <em>/**<em>*</em></em> -<a name="157" href="#157">157</a> <em> * Constructs a new instance.</em> -<a name="158" href="#158">158</a> <em> */</em> -<a name="159" href="#159">159</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/TimeBasedRollingPolicy.html">TimeBasedRollingPolicy</a>() { -<a name="160" href="#160">160</a> } -<a name="161" href="#161">161</a> -<a name="162" href="#162">162</a> <em>/**<em>*</em></em> -<a name="163" href="#163">163</a> <em> * Prepares instance of use.</em> -<a name="164" href="#164">164</a> <em> */</em> -<a name="165" href="#165">165</a> <strong>public</strong> <strong>void</strong> activateOptions() { -<a name="166" href="#166">166</a> <strong>super</strong>.activateOptions(); -<a name="167" href="#167">167</a> -<a name="168" href="#168">168</a> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> dtc = getDatePatternConverter(); -<a name="169" href="#169">169</a> -<a name="170" href="#170">170</a> <strong>if</strong> (dtc == <strong>null</strong>) { -<a name="171" href="#171">171</a> <strong>throw</strong> <strong>new</strong> IllegalStateException( -<a name="172" href="#172">172</a> <span class="string">"FileNamePattern ["</span> + getFileNamePattern() -<a name="173" href="#173">173</a> + <span class="string">"] does not contain a valid date format specifier"</span>); -<a name="174" href="#174">174</a> } -<a name="175" href="#175">175</a> -<a name="176" href="#176">176</a> <strong>long</strong> n = System.currentTimeMillis(); -<a name="177" href="#177">177</a> StringBuffer buf = <strong>new</strong> StringBuffer(); -<a name="178" href="#178">178</a> formatFileName(<strong>new</strong> Date(n), buf); -<a name="179" href="#179">179</a> lastFileName = buf.toString(); -<a name="180" href="#180">180</a> -<a name="181" href="#181">181</a> suffixLength = 0; -<a name="182" href="#182">182</a> -<a name="183" href="#183">183</a> <strong>if</strong> (lastFileName.endsWith(<span class="string">".gz"</span>)) { -<a name="184" href="#184">184</a> suffixLength = 3; -<a name="185" href="#185">185</a> } <strong>else</strong> <strong>if</strong> (lastFileName.endsWith(<span class="string">".zip"</span>)) { -<a name="186" href="#186">186</a> suffixLength = 4; -<a name="187" href="#187">187</a> } -<a name="188" href="#188">188</a> } -<a name="189" href="#189">189</a> -<a name="190" href="#190">190</a> <em>/**<em>*</em></em> -<a name="191" href="#191">191</a> <em> * {@inheritDoc}</em> -<a name="192" href="#192">192</a> <em> */</em> -<a name="193" href="#193">193</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> initialize( -<a name="194" href="#194">194</a> <strong>final</strong> String currentActiveFile, <strong>final</strong> <strong>boolean</strong> append) { -<a name="195" href="#195">195</a> <strong>long</strong> n = System.currentTimeMillis(); -<a name="196" href="#196">196</a> nextCheck = ((n / 1000) + 1) * 1000; -<a name="197" href="#197">197</a> -<a name="198" href="#198">198</a> StringBuffer buf = <strong>new</strong> StringBuffer(); -<a name="199" href="#199">199</a> formatFileName(<strong>new</strong> Date(n), buf); -<a name="200" href="#200">200</a> lastFileName = buf.toString(); -<a name="201" href="#201">201</a> -<a name="202" href="#202">202</a> <em class="comment">//</em> -<a name="203" href="#203">203</a> <em class="comment">// RollingPolicyBase.activeFileName duplicates RollingFileAppender.file</em> -<a name="204" href="#204">204</a> <em class="comment">// and should be removed.</em> -<a name="205" href="#205">205</a> <em class="comment">//</em> -<a name="206" href="#206">206</a> <strong>if</strong> (activeFileName != <strong>null</strong>) { -<a name="207" href="#207">207</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>(activeFileName, append, <strong>null</strong>, <strong>null</strong>); -<a name="208" href="#208">208</a> } <strong>else</strong> <strong>if</strong> (currentActiveFile != <strong>null</strong>) { -<a name="209" href="#209">209</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>( -<a name="210" href="#210">210</a> currentActiveFile, append, <strong>null</strong>, <strong>null</strong>); -<a name="211" href="#211">211</a> } <strong>else</strong> { -<a name="212" href="#212">212</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>( -<a name="213" href="#213">213</a> lastFileName.substring(0, lastFileName.length() - suffixLength), append, -<a name="214" href="#214">214</a> <strong>null</strong>, <strong>null</strong>); -<a name="215" href="#215">215</a> } -<a name="216" href="#216">216</a> } -<a name="217" href="#217">217</a> -<a name="218" href="#218">218</a> <em>/**<em>*</em></em> -<a name="219" href="#219">219</a> <em> * {@inheritDoc}</em> -<a name="220" href="#220">220</a> <em> */</em> -<a name="221" href="#221">221</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> rollover(<strong>final</strong> String currentActiveFile) { -<a name="222" href="#222">222</a> <strong>long</strong> n = System.currentTimeMillis(); -<a name="223" href="#223">223</a> nextCheck = ((n / 1000) + 1) * 1000; -<a name="224" href="#224">224</a> -<a name="225" href="#225">225</a> StringBuffer buf = <strong>new</strong> StringBuffer(); -<a name="226" href="#226">226</a> formatFileName(<strong>new</strong> Date(n), buf); -<a name="227" href="#227">227</a> -<a name="228" href="#228">228</a> String newFileName = buf.toString(); -<a name="229" href="#229">229</a> -<a name="230" href="#230">230</a> <em class="comment">//</em> -<a name="231" href="#231">231</a> <em class="comment">// if file names haven't changed, no rollover</em> -<a name="232" href="#232">232</a> <em class="comment">//</em> -<a name="233" href="#233">233</a> <strong>if</strong> (newFileName.equals(lastFileName)) { -<a name="234" href="#234">234</a> <strong>return</strong> <strong>null</strong>; -<a name="235" href="#235">235</a> } -<a name="236" href="#236">236</a> -<a name="237" href="#237">237</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> renameAction = <strong>null</strong>; -<a name="238" href="#238">238</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> compressAction = <strong>null</strong>; -<a name="239" href="#239">239</a> String lastBaseName = -<a name="240" href="#240">240</a> lastFileName.substring(0, lastFileName.length() - suffixLength); -<a name="241" href="#241">241</a> String nextActiveFile = -<a name="242" href="#242">242</a> newFileName.substring(0, newFileName.length() - suffixLength); -<a name="243" href="#243">243</a> -<a name="244" href="#244">244</a> <em class="comment">//</em> -<a name="245" href="#245">245</a> <em class="comment">// if currentActiveFile is not lastBaseName then</em> -<a name="246" href="#246">246</a> <em class="comment">// active file name is not following file pattern</em> -<a name="247" href="#247">247</a> <em class="comment">// and requires a rename plus maintaining the same name</em> -<a name="248" href="#248">248</a> <strong>if</strong> (!currentActiveFile.equals(lastBaseName)) { -<a name="249" href="#249">249</a> renameAction = -<a name="250" href="#250">250</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a>( -<a name="251" href="#251">251</a> <strong>new</strong> File(currentActiveFile), <strong>new</strong> File(lastBaseName), <strong>true</strong>); -<a name="252" href="#252">252</a> nextActiveFile = currentActiveFile; -<a name="253" href="#253">253</a> } -<a name="254" href="#254">254</a> -<a name="255" href="#255">255</a> <strong>if</strong> (suffixLength == 3) { -<a name="256" href="#256">256</a> compressAction = -<a name="257" href="#257">257</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/GZCompressAction.html">GZCompressAction</a>( -<a name="258" href="#258">258</a> <strong>new</strong> File(lastBaseName), <strong>new</strong> File(lastFileName), <strong>true</strong>); -<a name="259" href="#259">259</a> } -<a name="260" href="#260">260</a> -<a name="261" href="#261">261</a> <strong>if</strong> (suffixLength == 4) { -<a name="262" href="#262">262</a> compressAction = -<a name="263" href="#263">263</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/ZipCompressAction.html">ZipCompressAction</a>( -<a name="264" href="#264">264</a> <strong>new</strong> File(lastBaseName), <strong>new</strong> File(lastFileName), <strong>true</strong>); -<a name="265" href="#265">265</a> } -<a name="266" href="#266">266</a> -<a name="267" href="#267">267</a> lastFileName = newFileName; -<a name="268" href="#268">268</a> -<a name="269" href="#269">269</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>( -<a name="270" href="#270">270</a> nextActiveFile, false, renameAction, compressAction); -<a name="271" href="#271">271</a> } -<a name="272" href="#272">272</a> -<a name="273" href="#273">273</a> <em>/**<em>*</em></em> -<a name="274" href="#274">274</a> <em> * {@inheritDoc}</em> -<a name="275" href="#275">275</a> <em> */</em> -<a name="276" href="#276">276</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent( -<a name="277" href="#277">277</a> <strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String filename, -<a name="278" href="#278">278</a> <strong>final</strong> <strong>long</strong> fileLength) { -<a name="279" href="#279">279</a> <strong>return</strong> System.currentTimeMillis() >= nextCheck; -<a name="280" href="#280">280</a> } -<a name="281" href="#281">281</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/TriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/TriggeringPolicy.html deleted file mode 100644 index 564bd6a7ee6..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/TriggeringPolicy.html +++ /dev/null @@ -1,61 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TriggeringPolicy xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/TriggeringPolicy.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.Appender; -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> <em>/**<em>*</em></em> -<a name="25" href="#25">25</a> <em> * A &lt;code>TriggeringPolicy&lt;/code> controls the conditions under which rollover</em> -<a name="26" href="#26">26</a> <em> * occurs. Such conditions include time of day, file size, an</em> -<a name="27" href="#27">27</a> <em> * external event, the log request or a combination thereof.</em> -<a name="28" href="#28">28</a> <em> *</em> -<a name="29" href="#29">29</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> -<a name="30" href="#30">30</a> <em> * @author Curt Arnold</em> -<a name="31" href="#31">31</a> <em> * </em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>public</strong> <strong>interface</strong> <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> <strong>extends</strong> OptionHandler { -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * Determines if a rollover may be appropriate at this time. If</em> -<a name="36" href="#36">36</a> <em> * true is returned, RolloverPolicy.rollover will be called but it</em> -<a name="37" href="#37">37</a> <em> * can determine that a rollover is not warranted.</em> -<a name="38" href="#38">38</a> <em> *</em> -<a name="39" href="#39">39</a> <em> * @param appender A reference to the appender.</em> -<a name="40" href="#40">40</a> <em> * @param event A reference to the currently event.</em> -<a name="41" href="#41">41</a> <em> * @param filename The filename for the currently active log file.</em> -<a name="42" href="#42">42</a> <em> * @param fileLength Length of the file in bytes.</em> -<a name="43" href="#43">43</a> <em> * @return true if a rollover should occur.</em> -<a name="44" href="#44">44</a> <em> */</em> -<a name="45" href="#45">45</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent( -<a name="46" href="#46">46</a> <strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String filename, -<a name="47" href="#47">47</a> <strong>final</strong> <strong>long</strong> fileLength); -<a name="48" href="#48">48</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/Action.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/Action.html deleted file mode 100644 index a4bef001f6d..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/Action.html +++ /dev/null @@ -1,62 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Action xref</title> -<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/Action.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling.helper; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> java.io.IOException; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <em>/**<em>*</em></em> -<a name="23" href="#23">23</a> <em> * The Action interface should be implemented by any class that performs</em> -<a name="24" href="#24">24</a> <em> * file system actions for RollingFileAppenders after the close of</em> -<a name="25" href="#25">25</a> <em> * the active log file.</em> -<a name="26" href="#26">26</a> <em> *</em> -<a name="27" href="#27">27</a> <em> * @author Curt Arnold</em> -<a name="28" href="#28">28</a> <em> */</em> -<a name="29" href="#29">29</a> <strong>public</strong> <strong>interface</strong> <a href="../../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> <strong>extends</strong> Runnable { -<a name="30" href="#30">30</a> <em>/**<em>*</em></em> -<a name="31" href="#31">31</a> <em> * Perform an action.</em> -<a name="32" href="#32">32</a> <em> * @return true if action was successful. A return value of false will cause</em> -<a name="33" href="#33">33</a> <em> * the rollover to be aborted if possible.</em> -<a name="34" href="#34">34</a> <em> * @throws IOException if IO error, a thrown exception will cause the rollover</em> -<a name="35" href="#35">35</a> <em> * to be aborted if possible.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>boolean</strong> execute() throws IOException; -<a name="38" href="#38">38</a> -<a name="39" href="#39">39</a> <em>/**<em>*</em></em> -<a name="40" href="#40">40</a> <em> * Cancels the action if not already initialized or waits till completion.</em> -<a name="41" href="#41">41</a> <em> */</em> -<a name="42" href="#42">42</a> <strong>void</strong> close(); -<a name="43" href="#43">43</a> -<a name="44" href="#44">44</a> <em>/**<em>*</em></em> -<a name="45" href="#45">45</a> <em> * Determines if action has been completed.</em> -<a name="46" href="#46">46</a> <em> * @return true if action is complete.</em> -<a name="47" href="#47">47</a> <em> */</em> -<a name="48" href="#48">48</a> <strong>boolean</strong> isComplete(); -<a name="49" href="#49">49</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/ActionBase.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/ActionBase.html deleted file mode 100644 index 8dfe3e4d1df..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/ActionBase.html +++ /dev/null @@ -1,103 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ActionBase xref</title> -<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/ActionBase.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling.helper; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> java.io.IOException; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <em>/**<em>*</em></em> -<a name="23" href="#23">23</a> <em> * Abstract base class for implementations of Action.</em> -<a name="24" href="#24">24</a> <em> *</em> -<a name="25" href="#25">25</a> <em> * @author Curt Arnold</em> -<a name="26" href="#26">26</a> <em> */</em> -<a name="27" href="#27">27</a> <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a> implements <a href="../../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> { -<a name="28" href="#28">28</a> <em>/**<em>*</em></em> -<a name="29" href="#29">29</a> <em> * Is action complete.</em> -<a name="30" href="#30">30</a> <em> */</em> -<a name="31" href="#31">31</a> <strong>private</strong> <strong>boolean</strong> complete = false; -<a name="32" href="#32">32</a> -<a name="33" href="#33">33</a> <em>/**<em>*</em></em> -<a name="34" href="#34">34</a> <em> * Is action interrupted.</em> -<a name="35" href="#35">35</a> <em> */</em> -<a name="36" href="#36">36</a> <strong>private</strong> <strong>boolean</strong> interrupted = false; -<a name="37" href="#37">37</a> -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * Constructor.</em> -<a name="40" href="#40">40</a> <em> */</em> -<a name="41" href="#41">41</a> <strong>protected</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a>() { -<a name="42" href="#42">42</a> } -<a name="43" href="#43">43</a> -<a name="44" href="#44">44</a> <em>/**<em>*</em></em> -<a name="45" href="#45">45</a> <em> * Perform action.</em> -<a name="46" href="#46">46</a> <em> *</em> -<a name="47" href="#47">47</a> <em> * @throws IOException if IO error.</em> -<a name="48" href="#48">48</a> <em> * @return true if successful.</em> -<a name="49" href="#49">49</a> <em> */</em> -<a name="50" href="#50">50</a> <strong>public</strong> <strong>abstract</strong> <strong>boolean</strong> execute() throws IOException; -<a name="51" href="#51">51</a> -<a name="52" href="#52">52</a> <em>/**<em>*</em></em> -<a name="53" href="#53">53</a> <em> * {@inheritDoc}</em> -<a name="54" href="#54">54</a> <em> */</em> -<a name="55" href="#55">55</a> <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> run() { -<a name="56" href="#56">56</a> <strong>if</strong> (!interrupted) { -<a name="57" href="#57">57</a> <strong>try</strong> { -<a name="58" href="#58">58</a> execute(); -<a name="59" href="#59">59</a> } <strong>catch</strong> (IOException ex) { -<a name="60" href="#60">60</a> reportException(ex); -<a name="61" href="#61">61</a> } -<a name="62" href="#62">62</a> -<a name="63" href="#63">63</a> complete = <strong>true</strong>; -<a name="64" href="#64">64</a> interrupted = <strong>true</strong>; -<a name="65" href="#65">65</a> } -<a name="66" href="#66">66</a> } -<a name="67" href="#67">67</a> -<a name="68" href="#68">68</a> <em>/**<em>*</em></em> -<a name="69" href="#69">69</a> <em> * {@inheritDoc}</em> -<a name="70" href="#70">70</a> <em> */</em> -<a name="71" href="#71">71</a> <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> close() { -<a name="72" href="#72">72</a> interrupted = <strong>true</strong>; -<a name="73" href="#73">73</a> } -<a name="74" href="#74">74</a> -<a name="75" href="#75">75</a> <em>/**<em>*</em></em> -<a name="76" href="#76">76</a> <em> * Tests if the action is complete.</em> -<a name="77" href="#77">77</a> <em> * @return true if action is complete.</em> -<a name="78" href="#78">78</a> <em> */</em> -<a name="79" href="#79">79</a> <strong>public</strong> <strong>boolean</strong> isComplete() { -<a name="80" href="#80">80</a> <strong>return</strong> complete; -<a name="81" href="#81">81</a> } -<a name="82" href="#82">82</a> -<a name="83" href="#83">83</a> <em>/**<em>*</em></em> -<a name="84" href="#84">84</a> <em> * Capture exception.</em> -<a name="85" href="#85">85</a> <em> *</em> -<a name="86" href="#86">86</a> <em> * @param ex exception.</em> -<a name="87" href="#87">87</a> <em> */</em> -<a name="88" href="#88">88</a> <strong>protected</strong> <strong>void</strong> reportException(<strong>final</strong> Exception ex) { -<a name="89" href="#89">89</a> } -<a name="90" href="#90">90</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/CompositeAction.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/CompositeAction.html deleted file mode 100644 index 73689852615..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/CompositeAction.html +++ /dev/null @@ -1,115 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CompositeAction xref</title> -<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/CompositeAction.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling.helper; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> java.io.IOException; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> <strong>import</strong> java.util.List; -<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> <em>/**<em>*</em></em> -<a name="26" href="#26">26</a> <em> * A group of Actions to be executed in sequence.</em> -<a name="27" href="#27">27</a> <em> *</em> -<a name="28" href="#28">28</a> <em> * @author Curt Arnold</em> -<a name="29" href="#29">29</a> <em> *</em> -<a name="30" href="#30">30</a> <em> */</em> -<a name="31" href="#31">31</a> <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/CompositeAction.html">CompositeAction</a> <strong>extends</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a> { -<a name="32" href="#32">32</a> <em>/**<em>*</em></em> -<a name="33" href="#33">33</a> <em> * Actions to perform.</em> -<a name="34" href="#34">34</a> <em> */</em> -<a name="35" href="#35">35</a> <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/log4j/rolling/helper/Action.html">Action</a>[] actions; -<a name="36" href="#36">36</a> -<a name="37" href="#37">37</a> <em>/**<em>*</em></em> -<a name="38" href="#38">38</a> <em> * Stop on error.</em> -<a name="39" href="#39">39</a> <em> */</em> -<a name="40" href="#40">40</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> stopOnError; -<a name="41" href="#41">41</a> -<a name="42" href="#42">42</a> <em>/**<em>*</em></em> -<a name="43" href="#43">43</a> <em> * Construct a new composite action.</em> -<a name="44" href="#44">44</a> <em> * @param actions list of actions, may not be null.</em> -<a name="45" href="#45">45</a> <em> * @param stopOnError if true, stop on the first false return value or exception.</em> -<a name="46" href="#46">46</a> <em> */</em> -<a name="47" href="#47">47</a> <strong>public</strong> <a href="../../../../../org/apache/log4j/rolling/helper/CompositeAction.html">CompositeAction</a>(<strong>final</strong> List actions, -<a name="48" href="#48">48</a> <strong>final</strong> <strong>boolean</strong> stopOnError) { -<a name="49" href="#49">49</a> <strong>this</strong>.actions = <strong>new</strong> <a href="../../../../../org/apache/log4j/rolling/helper/Action.html">Action</a>[actions.size()]; -<a name="50" href="#50">50</a> actions.toArray(<strong>this</strong>.actions); -<a name="51" href="#51">51</a> <strong>this</strong>.stopOnError = stopOnError; -<a name="52" href="#52">52</a> } -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <em>/**<em>*</em></em> -<a name="55" href="#55">55</a> <em> * {@inheritDoc}</em> -<a name="56" href="#56">56</a> <em> */</em> -<a name="57" href="#57">57</a> <strong>public</strong> <strong>void</strong> run() { -<a name="58" href="#58">58</a> <strong>try</strong> { -<a name="59" href="#59">59</a> execute(); -<a name="60" href="#60">60</a> } <strong>catch</strong> (IOException ex) { -<a name="61" href="#61">61</a> LogLog.warn(<span class="string">"Exception during file rollover."</span>, ex); -<a name="62" href="#62">62</a> } -<a name="63" href="#63">63</a> } -<a name="64" href="#64">64</a> -<a name="65" href="#65">65</a> <em>/**<em>*</em></em> -<a name="66" href="#66">66</a> <em> * Execute sequence of actions.</em> -<a name="67" href="#67">67</a> <em> * @return true if all actions were successful.</em> -<a name="68" href="#68">68</a> <em> * @throws IOException on IO error.</em> -<a name="69" href="#69">69</a> <em> */</em> -<a name="70" href="#70">70</a> <strong>public</strong> <strong>boolean</strong> execute() throws IOException { -<a name="71" href="#71">71</a> <strong>if</strong> (stopOnError) { -<a name="72" href="#72">72</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; actions.length; i++) { -<a name="73" href="#73">73</a> <strong>if</strong> (!actions[i].execute()) { -<a name="74" href="#74">74</a> <strong>return</strong> false; -<a name="75" href="#75">75</a> } -<a name="76" href="#76">76</a> } -<a name="77" href="#77">77</a> -<a name="78" href="#78">78</a> <strong>return</strong> <strong>true</strong>; -<a name="79" href="#79">79</a> } <strong>else</strong> { -<a name="80" href="#80">80</a> <strong>boolean</strong> status = <strong>true</strong>; -<a name="81" href="#81">81</a> IOException exception = <strong>null</strong>; -<a name="82" href="#82">82</a> -<a name="83" href="#83">83</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; actions.length; i++) { -<a name="84" href="#84">84</a> <strong>try</strong> { -<a name="85" href="#85">85</a> status &amp;= actions[i].execute(); -<a name="86" href="#86">86</a> } <strong>catch</strong> (IOException ex) { -<a name="87" href="#87">87</a> status = false; -<a name="88" href="#88">88</a> -<a name="89" href="#89">89</a> <strong>if</strong> (exception == <strong>null</strong>) { -<a name="90" href="#90">90</a> exception = ex; -<a name="91" href="#91">91</a> } -<a name="92" href="#92">92</a> } -<a name="93" href="#93">93</a> } -<a name="94" href="#94">94</a> -<a name="95" href="#95">95</a> <strong>if</strong> (exception != <strong>null</strong>) { -<a name="96" href="#96">96</a> <strong>throw</strong> exception; -<a name="97" href="#97">97</a> } -<a name="98" href="#98">98</a> -<a name="99" href="#99">99</a> <strong>return</strong> status; -<a name="100" href="#100">100</a> } -<a name="101" href="#101">101</a> } -<a name="102" href="#102">102</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/FileRenameAction.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/FileRenameAction.html deleted file mode 100644 index ba392697d95..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/FileRenameAction.html +++ /dev/null @@ -1,94 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FileRenameAction xref</title> -<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/FileRenameAction.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling.helper; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> java.io.File; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <em>/**<em>*</em></em> -<a name="23" href="#23">23</a> <em> * File rename action.</em> -<a name="24" href="#24">24</a> <em> *</em> -<a name="25" href="#25">25</a> <em> * @author Curt Arnold</em> -<a name="26" href="#26">26</a> <em> */</em> -<a name="27" href="#27">27</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a> <strong>extends</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a> { -<a name="28" href="#28">28</a> <em>/**<em>*</em></em> -<a name="29" href="#29">29</a> <em> * Source.</em> -<a name="30" href="#30">30</a> <em> */</em> -<a name="31" href="#31">31</a> <strong>private</strong> <strong>final</strong> File source; -<a name="32" href="#32">32</a> -<a name="33" href="#33">33</a> <em>/**<em>*</em></em> -<a name="34" href="#34">34</a> <em> * Destination.</em> -<a name="35" href="#35">35</a> <em> */</em> -<a name="36" href="#36">36</a> <strong>private</strong> <strong>final</strong> File destination; -<a name="37" href="#37">37</a> -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * If true, rename empty files, otherwise delete empty files.</em> -<a name="40" href="#40">40</a> <em> */</em> -<a name="41" href="#41">41</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> renameEmptyFiles; -<a name="42" href="#42">42</a> -<a name="43" href="#43">43</a> <em>/**<em>*</em></em> -<a name="44" href="#44">44</a> <em> * Creates an FileRenameAction.</em> -<a name="45" href="#45">45</a> <em> *</em> -<a name="46" href="#46">46</a> <em> * @param src current file name.</em> -<a name="47" href="#47">47</a> <em> * @param dst new file name.</em> -<a name="48" href="#48">48</a> <em> * @param renameEmptyFiles if true, rename file even if empty, otherwise delete empty files.</em> -<a name="49" href="#49">49</a> <em> */</em> -<a name="50" href="#50">50</a> <strong>public</strong> <a href="../../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a>( -<a name="51" href="#51">51</a> <strong>final</strong> File src, <strong>final</strong> File dst, <strong>boolean</strong> renameEmptyFiles) { -<a name="52" href="#52">52</a> source = src; -<a name="53" href="#53">53</a> destination = dst; -<a name="54" href="#54">54</a> <strong>this</strong>.renameEmptyFiles = renameEmptyFiles; -<a name="55" href="#55">55</a> } -<a name="56" href="#56">56</a> -<a name="57" href="#57">57</a> <em>/**<em>*</em></em> -<a name="58" href="#58">58</a> <em> * Rename file.</em> -<a name="59" href="#59">59</a> <em> *</em> -<a name="60" href="#60">60</a> <em> * @return true if successfully renamed.</em> -<a name="61" href="#61">61</a> <em> */</em> -<a name="62" href="#62">62</a> <strong>public</strong> <strong>boolean</strong> execute() { -<a name="63" href="#63">63</a> <strong>return</strong> execute(source, destination, renameEmptyFiles); -<a name="64" href="#64">64</a> } -<a name="65" href="#65">65</a> -<a name="66" href="#66">66</a> <em>/**<em>*</em></em> -<a name="67" href="#67">67</a> <em> * Rename file.</em> -<a name="68" href="#68">68</a> <em> * @param source current file name.</em> -<a name="69" href="#69">69</a> <em> * @param destination new file name.</em> -<a name="70" href="#70">70</a> <em> * @param renameEmptyFiles if true, rename file even if empty, otherwise delete empty files.</em> -<a name="71" href="#71">71</a> <em> * @return true if successfully renamed.</em> -<a name="72" href="#72">72</a> <em> */</em> -<a name="73" href="#73">73</a> <strong>public</strong> <strong>static</strong> <strong>boolean</strong> execute( -<a name="74" href="#74">74</a> <strong>final</strong> File source, <strong>final</strong> File destination, <strong>boolean</strong> renameEmptyFiles) { -<a name="75" href="#75">75</a> <strong>if</strong> (renameEmptyFiles || (source.length() > 0)) { -<a name="76" href="#76">76</a> <strong>return</strong> source.renameTo(destination); -<a name="77" href="#77">77</a> } -<a name="78" href="#78">78</a> -<a name="79" href="#79">79</a> <strong>return</strong> source.delete(); -<a name="80" href="#80">80</a> } -<a name="81" href="#81">81</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/GZCompressAction.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/GZCompressAction.html deleted file mode 100644 index 96a9dd42911..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/GZCompressAction.html +++ /dev/null @@ -1,143 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>GZCompressAction xref</title> -<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/GZCompressAction.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2006 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling.helper; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> <strong>import</strong> java.io.File; -<a name="22" href="#22">22</a> <strong>import</strong> java.io.FileInputStream; -<a name="23" href="#23">23</a> <strong>import</strong> java.io.FileOutputStream; -<a name="24" href="#24">24</a> <strong>import</strong> java.io.IOException; -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <strong>import</strong> java.util.zip.GZIPOutputStream; -<a name="27" href="#27">27</a> -<a name="28" href="#28">28</a> -<a name="29" href="#29">29</a> <em>/**<em>*</em></em> -<a name="30" href="#30">30</a> <em> * Compresses a file using GZ compression.</em> -<a name="31" href="#31">31</a> <em> *</em> -<a name="32" href="#32">32</a> <em> * @author Curt Arnold</em> -<a name="33" href="#33">33</a> <em> */</em> -<a name="34" href="#34">34</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/GZCompressAction.html">GZCompressAction</a> <strong>extends</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a> { -<a name="35" href="#35">35</a> <em>/**<em>*</em></em> -<a name="36" href="#36">36</a> <em> * Source file.</em> -<a name="37" href="#37">37</a> <em> */</em> -<a name="38" href="#38">38</a> <strong>private</strong> <strong>final</strong> File source; -<a name="39" href="#39">39</a> -<a name="40" href="#40">40</a> <em>/**<em>*</em></em> -<a name="41" href="#41">41</a> <em> * Destination file.</em> -<a name="42" href="#42">42</a> <em> */</em> -<a name="43" href="#43">43</a> <strong>private</strong> <strong>final</strong> File destination; -<a name="44" href="#44">44</a> -<a name="45" href="#45">45</a> <em>/**<em>*</em></em> -<a name="46" href="#46">46</a> <em> * If true, attempt to delete file on completion.</em> -<a name="47" href="#47">47</a> <em> */</em> -<a name="48" href="#48">48</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> deleteSource; -<a name="49" href="#49">49</a> -<a name="50" href="#50">50</a> -<a name="51" href="#51">51</a> <em>/**<em>*</em></em> -<a name="52" href="#52">52</a> <em> * Create new instance of GZCompressAction.</em> -<a name="53" href="#53">53</a> <em> *</em> -<a name="54" href="#54">54</a> <em> * @param source file to compress, may not be null.</em> -<a name="55" href="#55">55</a> <em> * @param destination compressed file, may not be null.</em> -<a name="56" href="#56">56</a> <em> * @param deleteSource if true, attempt to delete file on completion. Failure to delete</em> -<a name="57" href="#57">57</a> <em> * does not cause an exception to be thrown or affect return value.</em> -<a name="58" href="#58">58</a> <em> */</em> -<a name="59" href="#59">59</a> <strong>public</strong> <a href="../../../../../org/apache/log4j/rolling/helper/GZCompressAction.html">GZCompressAction</a>( -<a name="60" href="#60">60</a> <strong>final</strong> File source, <strong>final</strong> File destination, <strong>final</strong> <strong>boolean</strong> deleteSource) { -<a name="61" href="#61">61</a> <strong>if</strong> (source == <strong>null</strong>) { -<a name="62" href="#62">62</a> <strong>throw</strong> <strong>new</strong> NullPointerException(<span class="string">"source"</span>); -<a name="63" href="#63">63</a> } -<a name="64" href="#64">64</a> -<a name="65" href="#65">65</a> <strong>if</strong> (destination == <strong>null</strong>) { -<a name="66" href="#66">66</a> <strong>throw</strong> <strong>new</strong> NullPointerException(<span class="string">"destination"</span>); -<a name="67" href="#67">67</a> } -<a name="68" href="#68">68</a> -<a name="69" href="#69">69</a> <strong>this</strong>.source = source; -<a name="70" href="#70">70</a> <strong>this</strong>.destination = destination; -<a name="71" href="#71">71</a> <strong>this</strong>.deleteSource = deleteSource; -<a name="72" href="#72">72</a> } -<a name="73" href="#73">73</a> -<a name="74" href="#74">74</a> <em>/**<em>*</em></em> -<a name="75" href="#75">75</a> <em> * Compress.</em> -<a name="76" href="#76">76</a> <em> * @return true if successfully compressed.</em> -<a name="77" href="#77">77</a> <em> * @throws IOException on IO exception.</em> -<a name="78" href="#78">78</a> <em> */</em> -<a name="79" href="#79">79</a> <strong>public</strong> <strong>boolean</strong> execute() throws IOException { -<a name="80" href="#80">80</a> <strong>return</strong> execute(source, destination, deleteSource); -<a name="81" href="#81">81</a> } -<a name="82" href="#82">82</a> -<a name="83" href="#83">83</a> <em>/**<em>*</em></em> -<a name="84" href="#84">84</a> <em> * Compress a file.</em> -<a name="85" href="#85">85</a> <em> *</em> -<a name="86" href="#86">86</a> <em> * @param source file to compress, may not be null.</em> -<a name="87" href="#87">87</a> <em> * @param destination compressed file, may not be null.</em> -<a name="88" href="#88">88</a> <em> * @param deleteSource if true, attempt to delete file on completion. Failure to delete</em> -<a name="89" href="#89">89</a> <em> * does not cause an exception to be thrown or affect return value.</em> -<a name="90" href="#90">90</a> <em> * @return true if source file compressed.</em> -<a name="91" href="#91">91</a> <em> * @throws IOException on IO exception.</em> -<a name="92" href="#92">92</a> <em> */</em> -<a name="93" href="#93">93</a> <strong>public</strong> <strong>static</strong> <strong>boolean</strong> execute( -<a name="94" href="#94">94</a> <strong>final</strong> File source, <strong>final</strong> File destination, <strong>final</strong> <strong>boolean</strong> deleteSource) -<a name="95" href="#95">95</a> throws IOException { -<a name="96" href="#96">96</a> <strong>if</strong> (source.exists()) { -<a name="97" href="#97">97</a> FileInputStream fis = <strong>new</strong> FileInputStream(source); -<a name="98" href="#98">98</a> FileOutputStream fos = <strong>new</strong> FileOutputStream(destination); -<a name="99" href="#99">99</a> GZIPOutputStream gzos = <strong>new</strong> GZIPOutputStream(fos); -<a name="100" href="#100">100</a> byte[] inbuf = <strong>new</strong> byte[8102]; -<a name="101" href="#101">101</a> <strong>int</strong> n; -<a name="102" href="#102">102</a> -<a name="103" href="#103">103</a> <strong>while</strong> ((n = fis.read(inbuf)) != -1) { -<a name="104" href="#104">104</a> gzos.write(inbuf, 0, n); -<a name="105" href="#105">105</a> } -<a name="106" href="#106">106</a> -<a name="107" href="#107">107</a> gzos.close(); -<a name="108" href="#108">108</a> fis.close(); -<a name="109" href="#109">109</a> -<a name="110" href="#110">110</a> <strong>if</strong> (deleteSource &amp;&amp; !source.delete()) { -<a name="111" href="#111">111</a> LogLog.warn(<span class="string">"Unable to delete "</span> + source.toString() + <span class="string">"."</span>); -<a name="112" href="#112">112</a> } -<a name="113" href="#113">113</a> -<a name="114" href="#114">114</a> <strong>return</strong> <strong>true</strong>; -<a name="115" href="#115">115</a> } -<a name="116" href="#116">116</a> -<a name="117" href="#117">117</a> <strong>return</strong> false; -<a name="118" href="#118">118</a> } -<a name="119" href="#119">119</a> -<a name="120" href="#120">120</a> -<a name="121" href="#121">121</a> <em>/**<em>*</em></em> -<a name="122" href="#122">122</a> <em> * Capture exception.</em> -<a name="123" href="#123">123</a> <em> *</em> -<a name="124" href="#124">124</a> <em> * @param ex exception.</em> -<a name="125" href="#125">125</a> <em> */</em> -<a name="126" href="#126">126</a> <strong>protected</strong> <strong>void</strong> reportException(<strong>final</strong> Exception ex) { -<a name="127" href="#127">127</a> LogLog.warn(<span class="string">"Exception during compression of '"</span> + source.toString() + <span class="string">"'."</span>, ex); -<a name="128" href="#128">128</a> } -<a name="129" href="#129">129</a> -<a name="130" href="#130">130</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/AndRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/AndRule.html deleted file mode 100644 index 83aec79fe1e..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/AndRule.html +++ /dev/null @@ -1,105 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AndRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/AndRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <strong>import</strong> java.util.Stack; -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> <em>/**<em>*</em></em> -<a name="26" href="#26">26</a> <em> * A Rule class implementing a logical 'and'.</em> -<a name="27" href="#27">27</a> <em> *</em> -<a name="28" href="#28">28</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="29" href="#29">29</a> <em> */</em> -<a name="30" href="#30">30</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/AndRule.html">AndRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="31" href="#31">31</a> <em>/**<em>*</em></em> -<a name="32" href="#32">32</a> <em> * First rule.</em> -<a name="33" href="#33">33</a> <em> */</em> -<a name="34" href="#34">34</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> firstRule; -<a name="35" href="#35">35</a> <em>/**<em>*</em></em> -<a name="36" href="#36">36</a> <em> * Second rule.</em> -<a name="37" href="#37">37</a> <em> */</em> -<a name="38" href="#38">38</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> secondRule; -<a name="39" href="#39">39</a> <em>/**<em>*</em></em> -<a name="40" href="#40">40</a> <em> * Serialization id.</em> -<a name="41" href="#41">41</a> <em> */</em> -<a name="42" href="#42">42</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -8233444426923854651L; -<a name="43" href="#43">43</a> -<a name="44" href="#44">44</a> <em>/**<em>*</em></em> -<a name="45" href="#45">45</a> <em> * Create new instance.</em> -<a name="46" href="#46">46</a> <em> * @param first first rule.</em> -<a name="47" href="#47">47</a> <em> * @param second second rule.</em> -<a name="48" href="#48">48</a> <em> */</em> -<a name="49" href="#49">49</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/AndRule.html">AndRule</a>(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> first, <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> second) { -<a name="50" href="#50">50</a> <strong>super</strong>(); -<a name="51" href="#51">51</a> <strong>this</strong>.firstRule = first; -<a name="52" href="#52">52</a> <strong>this</strong>.secondRule = second; -<a name="53" href="#53">53</a> } -<a name="54" href="#54">54</a> -<a name="55" href="#55">55</a> <em>/**<em>*</em></em> -<a name="56" href="#56">56</a> <em> * Create rule from top two elements of stack.</em> -<a name="57" href="#57">57</a> <em> * @param stack stack of rules.</em> -<a name="58" href="#58">58</a> <em> * @return Rule that evaluates true only if both rules are true.</em> -<a name="59" href="#59">59</a> <em> */</em> -<a name="60" href="#60">60</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { -<a name="61" href="#61">61</a> <strong>if</strong> (stack.size() &lt; 2) { -<a name="62" href="#62">62</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="63" href="#63">63</a> <span class="string">"Invalid AND rule - expected two rules but received "</span> -<a name="64" href="#64">64</a> + stack.size()); -<a name="65" href="#65">65</a> } -<a name="66" href="#66">66</a> Object o2 = stack.pop(); -<a name="67" href="#67">67</a> Object o1 = stack.pop(); -<a name="68" href="#68">68</a> <strong>if</strong> ((o2 instanceof Rule) &amp;&amp; (o1 instanceof Rule)) { -<a name="69" href="#69">69</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> p2 = (Rule) o2; -<a name="70" href="#70">70</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> p1 = (Rule) o1; -<a name="71" href="#71">71</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/AndRule.html">AndRule</a>(p1, p2); -<a name="72" href="#72">72</a> } -<a name="73" href="#73">73</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid AND rule: "</span> + o2 + <span class="string">"..."</span> + o1); -<a name="74" href="#74">74</a> } -<a name="75" href="#75">75</a> -<a name="76" href="#76">76</a> <em>/**<em>*</em></em> -<a name="77" href="#77">77</a> <em> * Get rule.</em> -<a name="78" href="#78">78</a> <em> * @param firstParam first rule.</em> -<a name="79" href="#79">79</a> <em> * @param secondParam second rule.</em> -<a name="80" href="#80">80</a> <em> * @return Rule that evaluates true only if both rules are true.</em> -<a name="81" href="#81">81</a> <em> */</em> -<a name="82" href="#82">82</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> firstParam, <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> secondParam) { -<a name="83" href="#83">83</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/AndRule.html">AndRule</a>(firstParam, secondParam); -<a name="84" href="#84">84</a> } -<a name="85" href="#85">85</a> -<a name="86" href="#86">86</a> <em>/**<em>*</em></em> -<a name="87" href="#87">87</a> <em> * {@inheritDoc}</em> -<a name="88" href="#88">88</a> <em> */</em> -<a name="89" href="#89">89</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="90" href="#90">90</a> <strong>return</strong> (firstRule.evaluate(event) &amp;&amp; secondRule.evaluate(event)); -<a name="91" href="#91">91</a> } -<a name="92" href="#92">92</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ColorRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ColorRule.html deleted file mode 100644 index fdca8ea964b..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ColorRule.html +++ /dev/null @@ -1,138 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ColorRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/ColorRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> java.awt.Color; -<a name="21" href="#21">21</a> <strong>import</strong> java.io.Serializable; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <em>/**<em>*</em></em> -<a name="27" href="#27">27</a> <em> * A Rule class which also holds a color.</em> -<a name="28" href="#28">28</a> <em> *</em> -<a name="29" href="#29">29</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="30" href="#30">30</a> <em> */</em> -<a name="31" href="#31">31</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/ColorRule.html">ColorRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> implements Serializable { -<a name="32" href="#32">32</a> <em>/**<em>*</em></em> -<a name="33" href="#33">33</a> <em> * Serialization id.</em> -<a name="34" href="#34">34</a> <em> */</em> -<a name="35" href="#35">35</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -794434783372847773L; -<a name="36" href="#36">36</a> -<a name="37" href="#37">37</a> <em>/**<em>*</em></em> -<a name="38" href="#38">38</a> <em> * Wrapped rule.</em> -<a name="39" href="#39">39</a> <em> */</em> -<a name="40" href="#40">40</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule; -<a name="41" href="#41">41</a> <em>/**<em>*</em></em> -<a name="42" href="#42">42</a> <em> * Foreground color.</em> -<a name="43" href="#43">43</a> <em> */</em> -<a name="44" href="#44">44</a> <strong>private</strong> <strong>final</strong> Color foregroundColor; -<a name="45" href="#45">45</a> <em>/**<em>*</em></em> -<a name="46" href="#46">46</a> <em> * Background color.</em> -<a name="47" href="#47">47</a> <em> */</em> -<a name="48" href="#48">48</a> <strong>private</strong> <strong>final</strong> Color backgroundColor; -<a name="49" href="#49">49</a> <em>/**<em>*</em></em> -<a name="50" href="#50">50</a> <em> * Expression.</em> -<a name="51" href="#51">51</a> <em> */</em> -<a name="52" href="#52">52</a> <strong>private</strong> <strong>final</strong> String expression; -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <em>/**<em>*</em></em> -<a name="55" href="#55">55</a> <em> * Create new instance.</em> -<a name="56" href="#56">56</a> <em> * @param expression expression.</em> -<a name="57" href="#57">57</a> <em> * @param rule rule.</em> -<a name="58" href="#58">58</a> <em> * @param backgroundColor background color.</em> -<a name="59" href="#59">59</a> <em> * @param foregroundColor foreground color.</em> -<a name="60" href="#60">60</a> <em> */</em> -<a name="61" href="#61">61</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/ColorRule.html">ColorRule</a>(<strong>final</strong> String expression, -<a name="62" href="#62">62</a> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule, -<a name="63" href="#63">63</a> <strong>final</strong> Color backgroundColor, -<a name="64" href="#64">64</a> <strong>final</strong> Color foregroundColor) { -<a name="65" href="#65">65</a> <strong>super</strong>(); -<a name="66" href="#66">66</a> <strong>this</strong>.expression = expression; -<a name="67" href="#67">67</a> <strong>this</strong>.rule = rule; -<a name="68" href="#68">68</a> <strong>this</strong>.backgroundColor = backgroundColor; -<a name="69" href="#69">69</a> <strong>this</strong>.foregroundColor = foregroundColor; -<a name="70" href="#70">70</a> } -<a name="71" href="#71">71</a> -<a name="72" href="#72">72</a> <em>/**<em>*</em></em> -<a name="73" href="#73">73</a> <em> * Get rule.</em> -<a name="74" href="#74">74</a> <em> * @return underlying rule.</em> -<a name="75" href="#75">75</a> <em> */</em> -<a name="76" href="#76">76</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule() { -<a name="77" href="#77">77</a> <strong>return</strong> rule; -<a name="78" href="#78">78</a> } -<a name="79" href="#79">79</a> -<a name="80" href="#80">80</a> <em>/**<em>*</em></em> -<a name="81" href="#81">81</a> <em> * Get foreground color.</em> -<a name="82" href="#82">82</a> <em> * @return foreground color.</em> -<a name="83" href="#83">83</a> <em> */</em> -<a name="84" href="#84">84</a> <strong>public</strong> Color getForegroundColor() { -<a name="85" href="#85">85</a> <strong>return</strong> foregroundColor; -<a name="86" href="#86">86</a> } -<a name="87" href="#87">87</a> -<a name="88" href="#88">88</a> <em>/**<em>*</em></em> -<a name="89" href="#89">89</a> <em> * Get background color.</em> -<a name="90" href="#90">90</a> <em> * @return background color.</em> -<a name="91" href="#91">91</a> <em> */</em> -<a name="92" href="#92">92</a> <strong>public</strong> Color getBackgroundColor() { -<a name="93" href="#93">93</a> <strong>return</strong> backgroundColor; -<a name="94" href="#94">94</a> } -<a name="95" href="#95">95</a> -<a name="96" href="#96">96</a> <em>/**<em>*</em></em> -<a name="97" href="#97">97</a> <em> * Get expression.</em> -<a name="98" href="#98">98</a> <em> * @return expression.</em> -<a name="99" href="#99">99</a> <em> */</em> -<a name="100" href="#100">100</a> <strong>public</strong> String getExpression() { -<a name="101" href="#101">101</a> <strong>return</strong> expression; -<a name="102" href="#102">102</a> } -<a name="103" href="#103">103</a> -<a name="104" href="#104">104</a> <em>/**<em>*</em></em> -<a name="105" href="#105">105</a> <em> * {@inheritDoc}</em> -<a name="106" href="#106">106</a> <em> */</em> -<a name="107" href="#107">107</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="108" href="#108">108</a> <strong>return</strong> (rule != <strong>null</strong> &amp;&amp; rule.evaluate(event)); -<a name="109" href="#109">109</a> } -<a name="110" href="#110">110</a> -<a name="111" href="#111">111</a> <em>/**<em>*</em></em> -<a name="112" href="#112">112</a> <em> * {@inheritDoc}</em> -<a name="113" href="#113">113</a> <em> */</em> -<a name="114" href="#114">114</a> <strong>public</strong> String toString() { -<a name="115" href="#115">115</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"color rule - expression: "</span>); -<a name="116" href="#116">116</a> buf.append(expression); -<a name="117" href="#117">117</a> buf.append(<span class="string">", rule: "</span>); -<a name="118" href="#118">118</a> buf.append(rule); -<a name="119" href="#119">119</a> buf.append(<span class="string">" bg: "</span>); -<a name="120" href="#120">120</a> buf.append(backgroundColor); -<a name="121" href="#121">121</a> buf.append(<span class="string">" fg: "</span>); -<a name="122" href="#122">122</a> buf.append(foregroundColor); -<a name="123" href="#123">123</a> <strong>return</strong> buf.toString(); -<a name="124" href="#124">124</a> } -<a name="125" href="#125">125</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/EqualsRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/EqualsRule.html deleted file mode 100644 index 1398f030003..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/EqualsRule.html +++ /dev/null @@ -1,120 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>EqualsRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/EqualsRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <strong>import</strong> java.util.Stack; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <em>/**<em>*</em></em> -<a name="27" href="#27">27</a> <em> * A Rule class which returns the result of</em> -<a name="28" href="#28">28</a> <em> * performing equals against two strings.</em> -<a name="29" href="#29">29</a> <em> *</em> -<a name="30" href="#30">30</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="31" href="#31">31</a> <em> */</em> -<a name="32" href="#32">32</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/EqualsRule.html">EqualsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="33" href="#33">33</a> <em>/**<em>*</em></em> -<a name="34" href="#34">34</a> <em> * Serialization ID.</em> -<a name="35" href="#35">35</a> <em> */</em> -<a name="36" href="#36">36</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 1712851553477517245L; -<a name="37" href="#37">37</a> <em>/**<em>*</em></em> -<a name="38" href="#38">38</a> <em> * Resolver.</em> -<a name="39" href="#39">39</a> <em> */</em> -<a name="40" href="#40">40</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = -<a name="41" href="#41">41</a> LoggingEventFieldResolver.getInstance(); -<a name="42" href="#42">42</a> <em>/**<em>*</em></em> -<a name="43" href="#43">43</a> <em> * Value.</em> -<a name="44" href="#44">44</a> <em> */</em> -<a name="45" href="#45">45</a> <strong>private</strong> <strong>final</strong> String value; -<a name="46" href="#46">46</a> <em>/**<em>*</em></em> -<a name="47" href="#47">47</a> <em> * Field.</em> -<a name="48" href="#48">48</a> <em> */</em> -<a name="49" href="#49">49</a> <strong>private</strong> <strong>final</strong> String field; -<a name="50" href="#50">50</a> -<a name="51" href="#51">51</a> <em>/**<em>*</em></em> -<a name="52" href="#52">52</a> <em> * Create new instance.</em> -<a name="53" href="#53">53</a> <em> * @param field field</em> -<a name="54" href="#54">54</a> <em> * @param value value</em> -<a name="55" href="#55">55</a> <em> */</em> -<a name="56" href="#56">56</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/EqualsRule.html">EqualsRule</a>(<strong>final</strong> String field, <strong>final</strong> String value) { -<a name="57" href="#57">57</a> <strong>super</strong>(); -<a name="58" href="#58">58</a> <strong>if</strong> (!RESOLVER.isField(field)) { -<a name="59" href="#59">59</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="60" href="#60">60</a> <span class="string">"Invalid EQUALS rule - "</span> + field + <span class="string">" is not a supported field"</span>); -<a name="61" href="#61">61</a> } -<a name="62" href="#62">62</a> -<a name="63" href="#63">63</a> <strong>this</strong>.field = field; -<a name="64" href="#64">64</a> <strong>this</strong>.value = value; -<a name="65" href="#65">65</a> } -<a name="66" href="#66">66</a> -<a name="67" href="#67">67</a> <em>/**<em>*</em></em> -<a name="68" href="#68">68</a> <em> * Create new instance from top two elements of stack.</em> -<a name="69" href="#69">69</a> <em> * @param stack stack</em> -<a name="70" href="#70">70</a> <em> * @return new instance</em> -<a name="71" href="#71">71</a> <em> */</em> -<a name="72" href="#72">72</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { -<a name="73" href="#73">73</a> <strong>if</strong> (stack.size() &lt; 2) { -<a name="74" href="#74">74</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="75" href="#75">75</a> <span class="string">"Invalid EQUALS rule - expected two parameters but received "</span> -<a name="76" href="#76">76</a> + stack.size()); -<a name="77" href="#77">77</a> } -<a name="78" href="#78">78</a> -<a name="79" href="#79">79</a> String p2 = stack.pop().toString(); -<a name="80" href="#80">80</a> String p1 = stack.pop().toString(); -<a name="81" href="#81">81</a> -<a name="82" href="#82">82</a> <strong>return</strong> getRule(p1, p2); -<a name="83" href="#83">83</a> } -<a name="84" href="#84">84</a> -<a name="85" href="#85">85</a> <em>/**<em>*</em></em> -<a name="86" href="#86">86</a> <em> * Create new instance.</em> -<a name="87" href="#87">87</a> <em> * @param p1 field, special treatment for level and timestamp.</em> -<a name="88" href="#88">88</a> <em> * @param p2 value</em> -<a name="89" href="#89">89</a> <em> * @return new instance</em> -<a name="90" href="#90">90</a> <em> */</em> -<a name="91" href="#91">91</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String p1, <strong>final</strong> String p2) { -<a name="92" href="#92">92</a> <strong>if</strong> (p1.equalsIgnoreCase(LoggingEventFieldResolver.LEVEL_FIELD)) { -<a name="93" href="#93">93</a> <strong>return</strong> LevelEqualsRule.getRule(p2); -<a name="94" href="#94">94</a> } <strong>else</strong> <strong>if</strong> (p1.equalsIgnoreCase(LoggingEventFieldResolver.TIMESTAMP_FIELD)) { -<a name="95" href="#95">95</a> <strong>return</strong> TimestampEqualsRule.getRule(p2); -<a name="96" href="#96">96</a> } <strong>else</strong> { -<a name="97" href="#97">97</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/EqualsRule.html">EqualsRule</a>(p1, p2); -<a name="98" href="#98">98</a> } -<a name="99" href="#99">99</a> } -<a name="100" href="#100">100</a> -<a name="101" href="#101">101</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="102" href="#102">102</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="103" href="#103">103</a> Object p2 = RESOLVER.getValue(field, event); -<a name="104" href="#104">104</a> -<a name="105" href="#105">105</a> <strong>return</strong> ((p2 != <strong>null</strong>) &amp;&amp; p2.toString().equals(value)); -<a name="106" href="#106">106</a> } -<a name="107" href="#107">107</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ExistsRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ExistsRule.html deleted file mode 100644 index ee5cc5c3dcc..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ExistsRule.html +++ /dev/null @@ -1,106 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ExistsRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/ExistsRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <strong>import</strong> java.util.Stack; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <em>/**<em>*</em></em> -<a name="27" href="#27">27</a> <em> * A Rule class implementing a not null (and not empty string) check.</em> -<a name="28" href="#28">28</a> <em> *</em> -<a name="29" href="#29">29</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="30" href="#30">30</a> <em> */</em> -<a name="31" href="#31">31</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/ExistsRule.html">ExistsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="32" href="#32">32</a> <em>/**<em>*</em></em> -<a name="33" href="#33">33</a> <em> * Serialization id.</em> -<a name="34" href="#34">34</a> <em> */</em> -<a name="35" href="#35">35</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -5386265224649967464L; -<a name="36" href="#36">36</a> <em>/**<em>*</em></em> -<a name="37" href="#37">37</a> <em> * field resolver.</em> -<a name="38" href="#38">38</a> <em> */</em> -<a name="39" href="#39">39</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = -<a name="40" href="#40">40</a> LoggingEventFieldResolver.getInstance(); -<a name="41" href="#41">41</a> <em>/**<em>*</em></em> -<a name="42" href="#42">42</a> <em> * field name.</em> -<a name="43" href="#43">43</a> <em> */</em> -<a name="44" href="#44">44</a> <strong>private</strong> <strong>final</strong> String field; -<a name="45" href="#45">45</a> -<a name="46" href="#46">46</a> <em>/**<em>*</em></em> -<a name="47" href="#47">47</a> <em> * Create new instance.</em> -<a name="48" href="#48">48</a> <em> * @param fld field name.</em> -<a name="49" href="#49">49</a> <em> */</em> -<a name="50" href="#50">50</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/ExistsRule.html">ExistsRule</a>(<strong>final</strong> String fld) { -<a name="51" href="#51">51</a> <strong>super</strong>(); -<a name="52" href="#52">52</a> <strong>if</strong> (!RESOLVER.isField(fld)) { -<a name="53" href="#53">53</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="54" href="#54">54</a> <span class="string">"Invalid EXISTS rule - "</span> + fld + <span class="string">" is not a supported field"</span>); -<a name="55" href="#55">55</a> } -<a name="56" href="#56">56</a> -<a name="57" href="#57">57</a> <strong>this</strong>.field = fld; -<a name="58" href="#58">58</a> } -<a name="59" href="#59">59</a> -<a name="60" href="#60">60</a> <em>/**<em>*</em></em> -<a name="61" href="#61">61</a> <em> * Get an instance of ExistsRule.</em> -<a name="62" href="#62">62</a> <em> * @param field field.</em> -<a name="63" href="#63">63</a> <em> * @return instance of ExistsRule.</em> -<a name="64" href="#64">64</a> <em> */</em> -<a name="65" href="#65">65</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String field) { -<a name="66" href="#66">66</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/ExistsRule.html">ExistsRule</a>(field); -<a name="67" href="#67">67</a> } -<a name="68" href="#68">68</a> -<a name="69" href="#69">69</a> <em>/**<em>*</em></em> -<a name="70" href="#70">70</a> <em> * Create an instance of ExistsRule using the</em> -<a name="71" href="#71">71</a> <em> * top name on the stack.</em> -<a name="72" href="#72">72</a> <em> * @param stack stack</em> -<a name="73" href="#73">73</a> <em> * @return instance of ExistsRule.</em> -<a name="74" href="#74">74</a> <em> */</em> -<a name="75" href="#75">75</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { -<a name="76" href="#76">76</a> <strong>if</strong> (stack.size() &lt; 1) { -<a name="77" href="#77">77</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="78" href="#78">78</a> <span class="string">"Invalid EXISTS rule - expected one parameter but received "</span> -<a name="79" href="#79">79</a> + stack.size()); -<a name="80" href="#80">80</a> } -<a name="81" href="#81">81</a> -<a name="82" href="#82">82</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/ExistsRule.html">ExistsRule</a>(stack.pop().toString()); -<a name="83" href="#83">83</a> } -<a name="84" href="#84">84</a> -<a name="85" href="#85">85</a> <em>/**<em>*</em></em> -<a name="86" href="#86">86</a> <em> * {@inheritDoc}</em> -<a name="87" href="#87">87</a> <em> */</em> -<a name="88" href="#88">88</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="89" href="#89">89</a> Object p2 = RESOLVER.getValue(field, event); -<a name="90" href="#90">90</a> -<a name="91" href="#91">91</a> <strong>return</strong> (!((p2 == <strong>null</strong>) || ((p2 != <strong>null</strong>) &amp;&amp; p2.toString().equals(<span class="string">""</span>)))); -<a name="92" href="#92">92</a> } -<a name="93" href="#93">93</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/InFixToPostFix.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/InFixToPostFix.html deleted file mode 100644 index 2a8d2204897..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/InFixToPostFix.html +++ /dev/null @@ -1,237 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>InFixToPostFix xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/InFixToPostFix.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> java.util.HashMap; -<a name="21" href="#21">21</a> <strong>import</strong> java.util.List; -<a name="22" href="#22">22</a> <strong>import</strong> java.util.Map; -<a name="23" href="#23">23</a> <strong>import</strong> java.util.Stack; -<a name="24" href="#24">24</a> <strong>import</strong> java.util.StringTokenizer; -<a name="25" href="#25">25</a> <strong>import</strong> java.util.Vector; -<a name="26" href="#26">26</a> -<a name="27" href="#27">27</a> <em>/**<em>*</em></em> -<a name="28" href="#28">28</a> <em> * A helper class which converts infix expressions to postfix expressions</em> -<a name="29" href="#29">29</a> <em> * Currently grouping is supported, as well as all of the</em> -<a name="30" href="#30">30</a> <em> * Rules supported by &lt;code>RuleFactory&lt;/code></em> -<a name="31" href="#31">31</a> <em> *</em> -<a name="32" href="#32">32</a> <em> * NOTE: parsing is supported through the use of &lt;code>StringTokenizer&lt;/code>,</em> -<a name="33" href="#33">33</a> <em> * which means all tokens in the expression must be separated by spaces.</em> -<a name="34" href="#34">34</a> <em> *</em> -<a name="35" href="#35">35</a> <em> * Supports grouping via parens, mult-word operands using single quotes,</em> -<a name="36" href="#36">36</a> <em> * and these operators:</em> -<a name="37" href="#37">37</a> <em> *</em> -<a name="38" href="#38">38</a> <em> * ! NOT operator</em> -<a name="39" href="#39">39</a> <em> * != NOT EQUALS operator</em> -<a name="40" href="#40">40</a> <em> * == EQUALS operator</em> -<a name="41" href="#41">41</a> <em> * ~= CASE-INSENSITIVE equals operator</em> -<a name="42" href="#42">42</a> <em> * || OR operator</em> -<a name="43" href="#43">43</a> <em> * &amp;&amp; AND operator</em> -<a name="44" href="#44">44</a> <em> * like REGEXP operator</em> -<a name="45" href="#45">45</a> <em> * exists NOT NULL operator</em> -<a name="46" href="#46">46</a> <em> * &amp;lt LESS THAN operator</em> -<a name="47" href="#47">47</a> <em> * &amp;gt GREATER THAN operator</em> -<a name="48" href="#48">48</a> <em> * &amp;lt= LESS THAN EQUALS operator</em> -<a name="49" href="#49">49</a> <em> * &amp;gt= GREATER THAN EQUALS operator</em> -<a name="50" href="#50">50</a> <em> *</em> -<a name="51" href="#51">51</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="52" href="#52">52</a> <em> */</em> -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/InFixToPostFix.html">InFixToPostFix</a> { -<a name="55" href="#55">55</a> <em>/**<em>*</em></em> -<a name="56" href="#56">56</a> <em> * Precedence map.</em> -<a name="57" href="#57">57</a> <em> */</em> -<a name="58" href="#58">58</a> <strong>private</strong> <strong>final</strong> Map precedenceMap = <strong>new</strong> HashMap(); -<a name="59" href="#59">59</a> <em>/**<em>*</em></em> -<a name="60" href="#60">60</a> <em> * Operators.</em> -<a name="61" href="#61">61</a> <em> */</em> -<a name="62" href="#62">62</a> <strong>private</strong> <strong>final</strong> List operators = <strong>new</strong> Vector(); -<a name="63" href="#63">63</a> -<a name="64" href="#64">64</a> <em>/**<em>*</em></em> -<a name="65" href="#65">65</a> <em> * Create new instance.</em> -<a name="66" href="#66">66</a> <em> */</em> -<a name="67" href="#67">67</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/InFixToPostFix.html">InFixToPostFix</a>() { -<a name="68" href="#68">68</a> <strong>super</strong>(); -<a name="69" href="#69">69</a> <em class="comment">//boolean operators</em> -<a name="70" href="#70">70</a> operators.add(<span class="string">"!"</span>); -<a name="71" href="#71">71</a> operators.add(<span class="string">"!="</span>); -<a name="72" href="#72">72</a> operators.add(<span class="string">"=="</span>); -<a name="73" href="#73">73</a> operators.add(<span class="string">"~="</span>); -<a name="74" href="#74">74</a> operators.add(<span class="string">"||"</span>); -<a name="75" href="#75">75</a> operators.add(<span class="string">"&amp;&amp;"</span>); -<a name="76" href="#76">76</a> operators.add(<span class="string">"like"</span>); -<a name="77" href="#77">77</a> operators.add(<span class="string">"exists"</span>); -<a name="78" href="#78">78</a> operators.add(<span class="string">"&lt;"</span>); -<a name="79" href="#79">79</a> operators.add(<span class="string">">"</span>); -<a name="80" href="#80">80</a> operators.add(<span class="string">"&lt;="</span>); -<a name="81" href="#81">81</a> operators.add(<span class="string">">="</span>); -<a name="82" href="#82">82</a> -<a name="83" href="#83">83</a> <em class="comment">//boolean precedence</em> -<a name="84" href="#84">84</a> precedenceMap.put(<span class="string">"&lt;"</span>, <strong>new</strong> Integer(3)); -<a name="85" href="#85">85</a> precedenceMap.put(<span class="string">">"</span>, <strong>new</strong> Integer(3)); -<a name="86" href="#86">86</a> precedenceMap.put(<span class="string">"&lt;="</span>, <strong>new</strong> Integer(3)); -<a name="87" href="#87">87</a> precedenceMap.put(<span class="string">">="</span>, <strong>new</strong> Integer(3)); -<a name="88" href="#88">88</a> -<a name="89" href="#89">89</a> precedenceMap.put(<span class="string">"!"</span>, <strong>new</strong> Integer(3)); -<a name="90" href="#90">90</a> precedenceMap.put(<span class="string">"!="</span>, <strong>new</strong> Integer(3)); -<a name="91" href="#91">91</a> precedenceMap.put(<span class="string">"=="</span>, <strong>new</strong> Integer(3)); -<a name="92" href="#92">92</a> precedenceMap.put(<span class="string">"~="</span>, <strong>new</strong> Integer(3)); -<a name="93" href="#93">93</a> precedenceMap.put(<span class="string">"like"</span>, <strong>new</strong> Integer(3)); -<a name="94" href="#94">94</a> precedenceMap.put(<span class="string">"exists"</span>, <strong>new</strong> Integer(3)); -<a name="95" href="#95">95</a> -<a name="96" href="#96">96</a> precedenceMap.put(<span class="string">"||"</span>, <strong>new</strong> Integer(2)); -<a name="97" href="#97">97</a> precedenceMap.put(<span class="string">"&amp;&amp;"</span>, <strong>new</strong> Integer(2)); -<a name="98" href="#98">98</a> } -<a name="99" href="#99">99</a> -<a name="100" href="#100">100</a> <em>/**<em>*</em></em> -<a name="101" href="#101">101</a> <em> * Convert in-fix expression to post-fix.</em> -<a name="102" href="#102">102</a> <em> * @param expression in-fix expression.</em> -<a name="103" href="#103">103</a> <em> * @return post-fix expression.</em> -<a name="104" href="#104">104</a> <em> */</em> -<a name="105" href="#105">105</a> <strong>public</strong> String convert(<strong>final</strong> String expression) { -<a name="106" href="#106">106</a> <strong>return</strong> infixToPostFix(<strong>new</strong> StringTokenizer(expression)); -<a name="107" href="#107">107</a> } -<a name="108" href="#108">108</a> -<a name="109" href="#109">109</a> <em>/**<em>*</em></em> -<a name="110" href="#110">110</a> <em> * Evaluates whether symbol is operand.</em> -<a name="111" href="#111">111</a> <em> * @param s symbol.</em> -<a name="112" href="#112">112</a> <em> * @return true if operand.</em> -<a name="113" href="#113">113</a> <em> */</em> -<a name="114" href="#114">114</a> <strong>boolean</strong> isOperand(<strong>final</strong> String s) { -<a name="115" href="#115">115</a> String symbol = s.toLowerCase(); -<a name="116" href="#116">116</a> <strong>return</strong> (!operators.contains(symbol)); -<a name="117" href="#117">117</a> } -<a name="118" href="#118">118</a> -<a name="119" href="#119">119</a> <em>/**<em>*</em></em> -<a name="120" href="#120">120</a> <em> * Determines whether one symbol precedes another.</em> -<a name="121" href="#121">121</a> <em> * @param s1 symbol 1</em> -<a name="122" href="#122">122</a> <em> * @param s2 symbol 2</em> -<a name="123" href="#123">123</a> <em> * @return true if symbol 1 precedes symbol 2</em> -<a name="124" href="#124">124</a> <em> */</em> -<a name="125" href="#125">125</a> <strong>boolean</strong> precedes(<strong>final</strong> String s1, <strong>final</strong> String s2) { -<a name="126" href="#126">126</a> String symbol1 = s1.toLowerCase(); -<a name="127" href="#127">127</a> String symbol2 = s2.toLowerCase(); -<a name="128" href="#128">128</a> -<a name="129" href="#129">129</a> <strong>if</strong> (!precedenceMap.keySet().contains(symbol1)) { -<a name="130" href="#130">130</a> <strong>return</strong> false; -<a name="131" href="#131">131</a> } -<a name="132" href="#132">132</a> -<a name="133" href="#133">133</a> <strong>if</strong> (!precedenceMap.keySet().contains(symbol2)) { -<a name="134" href="#134">134</a> <strong>return</strong> false; -<a name="135" href="#135">135</a> } -<a name="136" href="#136">136</a> -<a name="137" href="#137">137</a> <strong>int</strong> index1 = ((Integer) precedenceMap.get(symbol1)).<strong>int</strong>Value(); -<a name="138" href="#138">138</a> <strong>int</strong> index2 = ((Integer) precedenceMap.get(symbol2)).<strong>int</strong>Value(); -<a name="139" href="#139">139</a> -<a name="140" href="#140">140</a> <strong>boolean</strong> precedesResult = (index1 &lt; index2); -<a name="141" href="#141">141</a> -<a name="142" href="#142">142</a> <strong>return</strong> precedesResult; -<a name="143" href="#143">143</a> } -<a name="144" href="#144">144</a> -<a name="145" href="#145">145</a> <em>/**<em>*</em></em> -<a name="146" href="#146">146</a> <em> * convert in-fix expression to post-fix.</em> -<a name="147" href="#147">147</a> <em> * @param tokenizer tokenizer.</em> -<a name="148" href="#148">148</a> <em> * @return post-fix expression.</em> -<a name="149" href="#149">149</a> <em> */</em> -<a name="150" href="#150">150</a> String infixToPostFix(<strong>final</strong> StringTokenizer tokenizer) { -<a name="151" href="#151">151</a> <strong>final</strong> String space = <span class="string">" "</span>; -<a name="152" href="#152">152</a> StringBuffer postfix = <strong>new</strong> StringBuffer(); -<a name="153" href="#153">153</a> -<a name="154" href="#154">154</a> Stack stack = <strong>new</strong> Stack(); -<a name="155" href="#155">155</a> -<a name="156" href="#156">156</a> <strong>while</strong> (tokenizer.hasMoreTokens()) { -<a name="157" href="#157">157</a> String token = tokenizer.nextToken(); -<a name="158" href="#158">158</a> -<a name="159" href="#159">159</a> <strong>boolean</strong> inText = (token.startsWith(<span class="string">"'"</span>) &amp;&amp; (!token.endsWith(<span class="string">"'"</span>))); -<a name="160" href="#160">160</a> <strong>if</strong> (inText) { -<a name="161" href="#161">161</a> <strong>while</strong> (inText &amp;&amp; tokenizer.hasMoreTokens()) { -<a name="162" href="#162">162</a> token = token + <span class="string">" "</span> + tokenizer.nextToken(); -<a name="163" href="#163">163</a> inText = !(token.endsWith(<span class="string">"'"</span>)); -<a name="164" href="#164">164</a> } -<a name="165" href="#165">165</a> } -<a name="166" href="#166">166</a> -<a name="167" href="#167">167</a> <strong>if</strong> (<span class="string">"("</span>.equals(token)) { -<a name="168" href="#168">168</a> <em class="comment">//recurse</em> -<a name="169" href="#169">169</a> postfix.append(infixToPostFix(tokenizer)); -<a name="170" href="#170">170</a> postfix.append(space); -<a name="171" href="#171">171</a> } <strong>else</strong> <strong>if</strong> (<span class="string">")"</span>.equals(token)) { -<a name="172" href="#172">172</a> <em class="comment">//exit recursion level</em> -<a name="173" href="#173">173</a> <strong>while</strong> (stack.size() > 0) { -<a name="174" href="#174">174</a> postfix.append(stack.pop().toString()); -<a name="175" href="#175">175</a> postfix.append(space); -<a name="176" href="#176">176</a> } -<a name="177" href="#177">177</a> -<a name="178" href="#178">178</a> <strong>return</strong> postfix.toString(); -<a name="179" href="#179">179</a> } <strong>else</strong> <strong>if</strong> (isOperand(token)) { -<a name="180" href="#180">180</a> postfix.append(token); -<a name="181" href="#181">181</a> postfix.append(space); -<a name="182" href="#182">182</a> } <strong>else</strong> { -<a name="183" href="#183">183</a> <em class="comment">//operator..</em> -<a name="184" href="#184">184</a> <em class="comment">//peek the stack..if the top element has a lower precedence than token</em> -<a name="185" href="#185">185</a> <em class="comment">//(peeked + has lower precedence than token *),</em> -<a name="186" href="#186">186</a> <em class="comment">// push token onto the stack</em> -<a name="187" href="#187">187</a> <em class="comment">//otherwise, pop top element off stack and add to postfix string</em> -<a name="188" href="#188">188</a> <em class="comment">//in a loop until lower precedence or empty..then push token</em> -<a name="189" href="#189">189</a> <strong>if</strong> (stack.size() > 0) { -<a name="190" href="#190">190</a> -<a name="191" href="#191">191</a> String peek = stack.peek().toString(); -<a name="192" href="#192">192</a> -<a name="193" href="#193">193</a> <strong>if</strong> (precedes(peek, token)) { -<a name="194" href="#194">194</a> stack.push(token); -<a name="195" href="#195">195</a> } <strong>else</strong> { -<a name="196" href="#196">196</a> <strong>boolean</strong> bypass = false; -<a name="197" href="#197">197</a> -<a name="198" href="#198">198</a> <strong>do</strong> { -<a name="199" href="#199">199</a> <strong>if</strong> ( -<a name="200" href="#200">200</a> (stack.size() > 0) -<a name="201" href="#201">201</a> &amp;&amp; !precedes(stack.peek().toString(), token)) { -<a name="202" href="#202">202</a> postfix.append(stack.pop().toString()); -<a name="203" href="#203">203</a> postfix.append(space); -<a name="204" href="#204">204</a> } <strong>else</strong> { -<a name="205" href="#205">205</a> bypass = <strong>true</strong>; -<a name="206" href="#206">206</a> } -<a name="207" href="#207">207</a> } <strong>while</strong> (!bypass); -<a name="208" href="#208">208</a> -<a name="209" href="#209">209</a> stack.push(token); -<a name="210" href="#210">210</a> } -<a name="211" href="#211">211</a> } <strong>else</strong> { -<a name="212" href="#212">212</a> stack.push(token); -<a name="213" href="#213">213</a> } -<a name="214" href="#214">214</a> } -<a name="215" href="#215">215</a> } -<a name="216" href="#216">216</a> -<a name="217" href="#217">217</a> <strong>while</strong> (stack.size() > 0) { -<a name="218" href="#218">218</a> postfix.append(stack.pop().toString()); -<a name="219" href="#219">219</a> postfix.append(space); -<a name="220" href="#220">220</a> } -<a name="221" href="#221">221</a> -<a name="222" href="#222">222</a> <strong>return</strong> postfix.toString(); -<a name="223" href="#223">223</a> } -<a name="224" href="#224">224</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/InequalityRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/InequalityRule.html deleted file mode 100644 index 0345134963c..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/InequalityRule.html +++ /dev/null @@ -1,167 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>InequalityRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/InequalityRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <strong>import</strong> java.util.Stack; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <em>/**<em>*</em></em> -<a name="27" href="#27">27</a> <em> * A Rule class implementing inequality evaluation.</em> -<a name="28" href="#28">28</a> <em> * expects to be able to convert two values to longs.</em> -<a name="29" href="#29">29</a> <em> * If a specific inequality evaluation class has been provided</em> -<a name="30" href="#30">30</a> <em> * for the event field, the appropriate rule is returned.</em> -<a name="31" href="#31">31</a> <em> * (For example, if the expression is Level &amp;lt DEBUG,</em> -<a name="32" href="#32">32</a> <em> * a LevelInequalityRule is returned).</em> -<a name="33" href="#33">33</a> <em> *</em> -<a name="34" href="#34">34</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="35" href="#35">35</a> <em> */</em> -<a name="36" href="#36">36</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/InequalityRule.html">InequalityRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="37" href="#37">37</a> <em>/**<em>*</em></em> -<a name="38" href="#38">38</a> <em> * Serialization ID.</em> -<a name="39" href="#39">39</a> <em> */</em> -<a name="40" href="#40">40</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -5592986598528885122L; -<a name="41" href="#41">41</a> <em>/**<em>*</em></em> -<a name="42" href="#42">42</a> <em> * field RESOLVER.</em> -<a name="43" href="#43">43</a> <em> */</em> -<a name="44" href="#44">44</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = -<a name="45" href="#45">45</a> LoggingEventFieldResolver.getInstance(); -<a name="46" href="#46">46</a> <em>/**<em>*</em></em> -<a name="47" href="#47">47</a> <em> * Field name.</em> -<a name="48" href="#48">48</a> <em> */</em> -<a name="49" href="#49">49</a> <strong>private</strong> <strong>final</strong> String field; -<a name="50" href="#50">50</a> <em>/**<em>*</em></em> -<a name="51" href="#51">51</a> <em> * Comparison value.</em> -<a name="52" href="#52">52</a> <em> */</em> -<a name="53" href="#53">53</a> <strong>private</strong> <strong>final</strong> String value; -<a name="54" href="#54">54</a> <em>/**<em>*</em></em> -<a name="55" href="#55">55</a> <em> * Inequality symbol.</em> -<a name="56" href="#56">56</a> <em> */</em> -<a name="57" href="#57">57</a> <strong>private</strong> <strong>final</strong> String inequalitySymbol; -<a name="58" href="#58">58</a> -<a name="59" href="#59">59</a> <em>/**<em>*</em></em> -<a name="60" href="#60">60</a> <em> * Create new instance.</em> -<a name="61" href="#61">61</a> <em> * @param inequalitySymbol inequality symbol.</em> -<a name="62" href="#62">62</a> <em> * @param field field</em> -<a name="63" href="#63">63</a> <em> * @param value comparison value.</em> -<a name="64" href="#64">64</a> <em> */</em> -<a name="65" href="#65">65</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/InequalityRule.html">InequalityRule</a>( -<a name="66" href="#66">66</a> <strong>final</strong> String inequalitySymbol, -<a name="67" href="#67">67</a> <strong>final</strong> String field, -<a name="68" href="#68">68</a> <strong>final</strong> String value) { -<a name="69" href="#69">69</a> <strong>super</strong>(); -<a name="70" href="#70">70</a> <strong>this</strong>.inequalitySymbol = inequalitySymbol; -<a name="71" href="#71">71</a> <strong>if</strong> (!RESOLVER.isField(field)) { -<a name="72" href="#72">72</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid "</span> + inequalitySymbol -<a name="73" href="#73">73</a> + <span class="string">" rule - "</span> + field + <span class="string">" is not a supported field"</span>); -<a name="74" href="#74">74</a> } -<a name="75" href="#75">75</a> -<a name="76" href="#76">76</a> <strong>this</strong>.field = field; -<a name="77" href="#77">77</a> <strong>this</strong>.value = value; -<a name="78" href="#78">78</a> } -<a name="79" href="#79">79</a> -<a name="80" href="#80">80</a> <em>/**<em>*</em></em> -<a name="81" href="#81">81</a> <em> * Create new instance from top two elements on stack.</em> -<a name="82" href="#82">82</a> <em> * @param inequalitySymbol inequality symbol.</em> -<a name="83" href="#83">83</a> <em> * @param stack stack.</em> -<a name="84" href="#84">84</a> <em> * @return rule.</em> -<a name="85" href="#85">85</a> <em> */</em> -<a name="86" href="#86">86</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String inequalitySymbol, -<a name="87" href="#87">87</a> <strong>final</strong> Stack stack) { -<a name="88" href="#88">88</a> <strong>if</strong> (stack.size() &lt; 2) { -<a name="89" href="#89">89</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid "</span> + inequalitySymbol -<a name="90" href="#90">90</a> + <span class="string">" rule - expected two parameters but received "</span> -<a name="91" href="#91">91</a> + stack.size()); -<a name="92" href="#92">92</a> } -<a name="93" href="#93">93</a> -<a name="94" href="#94">94</a> String p2 = stack.pop().toString(); -<a name="95" href="#95">95</a> String p1 = stack.pop().toString(); -<a name="96" href="#96">96</a> <strong>return</strong> getRule(inequalitySymbol, p1, p2); -<a name="97" href="#97">97</a> } -<a name="98" href="#98">98</a> -<a name="99" href="#99">99</a> <em>/**<em>*</em></em> -<a name="100" href="#100">100</a> <em> * Create new instance from top two elements on stack.</em> -<a name="101" href="#101">101</a> <em> * @param inequalitySymbol inequality symbol.</em> -<a name="102" href="#102">102</a> <em> * @param field field.</em> -<a name="103" href="#103">103</a> <em> * @param value comparison value.</em> -<a name="104" href="#104">104</a> <em> * @return rule.</em> -<a name="105" href="#105">105</a> <em> */</em> -<a name="106" href="#106">106</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String inequalitySymbol, -<a name="107" href="#107">107</a> <strong>final</strong> String field, -<a name="108" href="#108">108</a> <strong>final</strong> String value) { -<a name="109" href="#109">109</a> <strong>if</strong> (field.equalsIgnoreCase(LoggingEventFieldResolver.LEVEL_FIELD)) { -<a name="110" href="#110">110</a> <em class="comment">//push the value back on the stack and</em> -<a name="111" href="#111">111</a> <em class="comment">// allow the level-specific rule pop values</em> -<a name="112" href="#112">112</a> <strong>return</strong> LevelInequalityRule.getRule(inequalitySymbol, value); -<a name="113" href="#113">113</a> } <strong>else</strong> <strong>if</strong> ( -<a name="114" href="#114">114</a> field.equalsIgnoreCase(LoggingEventFieldResolver.TIMESTAMP_FIELD)) { -<a name="115" href="#115">115</a> <strong>return</strong> TimestampInequalityRule.getRule(inequalitySymbol, value); -<a name="116" href="#116">116</a> } <strong>else</strong> { -<a name="117" href="#117">117</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/InequalityRule.html">InequalityRule</a>(inequalitySymbol, field, value); -<a name="118" href="#118">118</a> } -<a name="119" href="#119">119</a> } -<a name="120" href="#120">120</a> -<a name="121" href="#121">121</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="122" href="#122">122</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="123" href="#123">123</a> <strong>long</strong> first = 0; -<a name="124" href="#124">124</a> -<a name="125" href="#125">125</a> <strong>try</strong> { -<a name="126" href="#126">126</a> first = -<a name="127" href="#127">127</a> <strong>new</strong> Long(RESOLVER.getValue(field, event).toString()).longValue(); -<a name="128" href="#128">128</a> } <strong>catch</strong> (NumberFormatException nfe) { -<a name="129" href="#129">129</a> <strong>return</strong> false; -<a name="130" href="#130">130</a> } -<a name="131" href="#131">131</a> -<a name="132" href="#132">132</a> <strong>long</strong> second = 0; -<a name="133" href="#133">133</a> -<a name="134" href="#134">134</a> <strong>try</strong> { -<a name="135" href="#135">135</a> second = <strong>new</strong> Long(value).longValue(); -<a name="136" href="#136">136</a> } <strong>catch</strong> (NumberFormatException nfe) { -<a name="137" href="#137">137</a> <strong>return</strong> false; -<a name="138" href="#138">138</a> } -<a name="139" href="#139">139</a> -<a name="140" href="#140">140</a> <strong>boolean</strong> result = false; -<a name="141" href="#141">141</a> -<a name="142" href="#142">142</a> <strong>if</strong> (<span class="string">"&lt;"</span>.equals(inequalitySymbol)) { -<a name="143" href="#143">143</a> result = first &lt; second; -<a name="144" href="#144">144</a> } <strong>else</strong> <strong>if</strong> (<span class="string">">"</span>.equals(inequalitySymbol)) { -<a name="145" href="#145">145</a> result = first > second; -<a name="146" href="#146">146</a> } <strong>else</strong> <strong>if</strong> (<span class="string">"&lt;="</span>.equals(inequalitySymbol)) { -<a name="147" href="#147">147</a> result = first &lt;= second; -<a name="148" href="#148">148</a> } <strong>else</strong> <strong>if</strong> (<span class="string">">="</span>.equals(inequalitySymbol)) { -<a name="149" href="#149">149</a> result = first >= second; -<a name="150" href="#150">150</a> } -<a name="151" href="#151">151</a> -<a name="152" href="#152">152</a> <strong>return</strong> result; -<a name="153" href="#153">153</a> } -<a name="154" href="#154">154</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LevelEqualsRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LevelEqualsRule.html deleted file mode 100644 index 56a446caa02..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LevelEqualsRule.html +++ /dev/null @@ -1,146 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LevelEqualsRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/LevelEqualsRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> java.io.IOException; -<a name="21" href="#21">21</a> <strong>import</strong> java.util.LinkedList; -<a name="22" href="#22">22</a> <strong>import</strong> java.util.List; -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.Level; -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.helpers.UtilLoggingLevel; -<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="27" href="#27">27</a> -<a name="28" href="#28">28</a> <em>/**<em>*</em></em> -<a name="29" href="#29">29</a> <em> * A Rule class implementing equals against two levels.</em> -<a name="30" href="#30">30</a> <em> *</em> -<a name="31" href="#31">31</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/LevelEqualsRule.html">LevelEqualsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * Serialization ID.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -3638386582899583994L; -<a name="38" href="#38">38</a> -<a name="39" href="#39">39</a> <em>/**<em>*</em></em> -<a name="40" href="#40">40</a> <em> * Level.</em> -<a name="41" href="#41">41</a> <em> */</em> -<a name="42" href="#42">42</a> <strong>private</strong> <strong>transient</strong> Level level; -<a name="43" href="#43">43</a> -<a name="44" href="#44">44</a> <em>/**<em>*</em></em> -<a name="45" href="#45">45</a> <em> * List of levels.</em> -<a name="46" href="#46">46</a> <em> */</em> -<a name="47" href="#47">47</a> <strong>private</strong> <strong>static</strong> List levelList = <strong>new</strong> LinkedList(); -<a name="48" href="#48">48</a> -<a name="49" href="#49">49</a> <strong>static</strong> { -<a name="50" href="#50">50</a> populateLevels(); -<a name="51" href="#51">51</a> } -<a name="52" href="#52">52</a> -<a name="53" href="#53">53</a> <em>/**<em>*</em></em> -<a name="54" href="#54">54</a> <em> * Create new instance.</em> -<a name="55" href="#55">55</a> <em> * @param level level.</em> -<a name="56" href="#56">56</a> <em> */</em> -<a name="57" href="#57">57</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/LevelEqualsRule.html">LevelEqualsRule</a>(<strong>final</strong> Level level) { -<a name="58" href="#58">58</a> <strong>super</strong>(); -<a name="59" href="#59">59</a> <strong>this</strong>.level = level; -<a name="60" href="#60">60</a> } -<a name="61" href="#61">61</a> -<a name="62" href="#62">62</a> <em>/**<em>*</em></em> -<a name="63" href="#63">63</a> <em> * Populate list of levels.</em> -<a name="64" href="#64">64</a> <em> */</em> -<a name="65" href="#65">65</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> populateLevels() { -<a name="66" href="#66">66</a> levelList = <strong>new</strong> LinkedList(); -<a name="67" href="#67">67</a> -<a name="68" href="#68">68</a> levelList.add(Level.FATAL.toString()); -<a name="69" href="#69">69</a> levelList.add(Level.ERROR.toString()); -<a name="70" href="#70">70</a> levelList.add(Level.WARN.toString()); -<a name="71" href="#71">71</a> levelList.add(Level.INFO.toString()); -<a name="72" href="#72">72</a> levelList.add(Level.DEBUG.toString()); -<a name="73" href="#73">73</a> Level trace = Level.toLevel(5000, <strong>null</strong>); -<a name="74" href="#74">74</a> <strong>if</strong> (trace != <strong>null</strong>) { -<a name="75" href="#75">75</a> levelList.add(trace.toString()); -<a name="76" href="#76">76</a> } -<a name="77" href="#77">77</a> } -<a name="78" href="#78">78</a> -<a name="79" href="#79">79</a> <em>/**<em>*</em></em> -<a name="80" href="#80">80</a> <em> * Create new rule.</em> -<a name="81" href="#81">81</a> <em> * @param value name of level.</em> -<a name="82" href="#82">82</a> <em> * @return instance of LevelEqualsRule.</em> -<a name="83" href="#83">83</a> <em> */</em> -<a name="84" href="#84">84</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String value) { -<a name="85" href="#85">85</a> Level thisLevel; -<a name="86" href="#86">86</a> <strong>if</strong> (levelList.contains(value.toUpperCase())) { -<a name="87" href="#87">87</a> thisLevel = Level.toLevel(value.toUpperCase()); -<a name="88" href="#88">88</a> } <strong>else</strong> { -<a name="89" href="#89">89</a> thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase()); -<a name="90" href="#90">90</a> } -<a name="91" href="#91">91</a> -<a name="92" href="#92">92</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/LevelEqualsRule.html">LevelEqualsRule</a>(thisLevel); -<a name="93" href="#93">93</a> } -<a name="94" href="#94">94</a> -<a name="95" href="#95">95</a> <em>/**<em>*</em></em> -<a name="96" href="#96">96</a> <em> * {@inheritDoc}</em> -<a name="97" href="#97">97</a> <em> */</em> -<a name="98" href="#98">98</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="99" href="#99">99</a> <strong>return</strong> level.equals(event.getLevel()); -<a name="100" href="#100">100</a> } -<a name="101" href="#101">101</a> -<a name="102" href="#102">102</a> <em>/**<em>*</em></em> -<a name="103" href="#103">103</a> <em> * Deserialize the state of the object.</em> -<a name="104" href="#104">104</a> <em> *</em> -<a name="105" href="#105">105</a> <em> * @param in object input stream.</em> -<a name="106" href="#106">106</a> <em> *</em> -<a name="107" href="#107">107</a> <em> * @throws IOException if error in reading stream for deserialization.</em> -<a name="108" href="#108">108</a> <em> */</em> -<a name="109" href="#109">109</a> <strong>private</strong> <strong>void</strong> readObject(<strong>final</strong> java.io.ObjectInputStream in) -<a name="110" href="#110">110</a> throws IOException { -<a name="111" href="#111">111</a> populateLevels(); -<a name="112" href="#112">112</a> <strong>boolean</strong> isUtilLogging = in.readBoolean(); -<a name="113" href="#113">113</a> <strong>int</strong> levelInt = in.readInt(); -<a name="114" href="#114">114</a> <strong>if</strong> (isUtilLogging) { -<a name="115" href="#115">115</a> level = UtilLoggingLevel.toLevel(levelInt); -<a name="116" href="#116">116</a> } <strong>else</strong> { -<a name="117" href="#117">117</a> level = Level.toLevel(levelInt); -<a name="118" href="#118">118</a> } -<a name="119" href="#119">119</a> } -<a name="120" href="#120">120</a> -<a name="121" href="#121">121</a> <em>/**<em>*</em></em> -<a name="122" href="#122">122</a> <em> * Serialize the state of the object.</em> -<a name="123" href="#123">123</a> <em> *</em> -<a name="124" href="#124">124</a> <em> * @param out object output stream.</em> -<a name="125" href="#125">125</a> <em> *</em> -<a name="126" href="#126">126</a> <em> * @throws IOException if error in writing stream during serialization.</em> -<a name="127" href="#127">127</a> <em> */</em> -<a name="128" href="#128">128</a> <strong>private</strong> <strong>void</strong> writeObject(<strong>final</strong> java.io.ObjectOutputStream out) -<a name="129" href="#129">129</a> throws IOException { -<a name="130" href="#130">130</a> out.writeBoolean(level instanceof <a href="../../../../org/apache/log4j/helpers/UtilLoggingLevel.html">UtilLoggingLevel</a>); -<a name="131" href="#131">131</a> out.writeInt(level.toInt()); -<a name="132" href="#132">132</a> } -<a name="133" href="#133">133</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LevelInequalityRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LevelInequalityRule.html deleted file mode 100644 index 809b68dc227..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LevelInequalityRule.html +++ /dev/null @@ -1,238 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LevelInequalityRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/LevelInequalityRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> java.util.LinkedList; -<a name="21" href="#21">21</a> <strong>import</strong> java.util.List; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.Level; -<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.helpers.UtilLoggingLevel; -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="26" href="#26">26</a> -<a name="27" href="#27">27</a> <em>/**<em>*</em></em> -<a name="28" href="#28">28</a> <em> * A Rule class implementing inequality evaluation for Levels (log4j and</em> -<a name="29" href="#29">29</a> <em> * util.logging) using the toInt method.</em> -<a name="30" href="#30">30</a> <em> *</em> -<a name="31" href="#31">31</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/LevelInequalityRule.html">LevelInequalityRule</a> { -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * Level list.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>private</strong> <strong>static</strong> List levelList; -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * List equivalents of java.util.logging levels.</em> -<a name="40" href="#40">40</a> <em> */</em> -<a name="41" href="#41">41</a> <strong>private</strong> <strong>static</strong> List utilLoggingLevelList; -<a name="42" href="#42">42</a> -<a name="43" href="#43">43</a> -<a name="44" href="#44">44</a> <strong>static</strong> { -<a name="45" href="#45">45</a> populateLevels(); -<a name="46" href="#46">46</a> } -<a name="47" href="#47">47</a> -<a name="48" href="#48">48</a> <em>/**<em>*</em></em> -<a name="49" href="#49">49</a> <em> * Create new instance.</em> -<a name="50" href="#50">50</a> <em> */</em> -<a name="51" href="#51">51</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/LevelInequalityRule.html">LevelInequalityRule</a>() { -<a name="52" href="#52">52</a> <strong>super</strong>(); -<a name="53" href="#53">53</a> } -<a name="54" href="#54">54</a> -<a name="55" href="#55">55</a> <em>/**<em>*</em></em> -<a name="56" href="#56">56</a> <em> * Populate list of levels.</em> -<a name="57" href="#57">57</a> <em> */</em> -<a name="58" href="#58">58</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> populateLevels() { -<a name="59" href="#59">59</a> levelList = <strong>new</strong> LinkedList(); -<a name="60" href="#60">60</a> -<a name="61" href="#61">61</a> levelList.add(Level.FATAL.toString()); -<a name="62" href="#62">62</a> levelList.add(Level.ERROR.toString()); -<a name="63" href="#63">63</a> levelList.add(Level.WARN.toString()); -<a name="64" href="#64">64</a> levelList.add(Level.INFO.toString()); -<a name="65" href="#65">65</a> levelList.add(Level.DEBUG.toString()); -<a name="66" href="#66">66</a> Level trace = Level.toLevel(5000, <strong>null</strong>); -<a name="67" href="#67">67</a> <strong>if</strong> (trace != <strong>null</strong>) { -<a name="68" href="#68">68</a> levelList.add(trace.toString()); -<a name="69" href="#69">69</a> } -<a name="70" href="#70">70</a> -<a name="71" href="#71">71</a> utilLoggingLevelList = <strong>new</strong> LinkedList(); -<a name="72" href="#72">72</a> -<a name="73" href="#73">73</a> utilLoggingLevelList.add(UtilLoggingLevel.SEVERE.toString()); -<a name="74" href="#74">74</a> utilLoggingLevelList.add(UtilLoggingLevel.WARNING.toString()); -<a name="75" href="#75">75</a> utilLoggingLevelList.add(UtilLoggingLevel.INFO.toString()); -<a name="76" href="#76">76</a> utilLoggingLevelList.add(UtilLoggingLevel.CONFIG.toString()); -<a name="77" href="#77">77</a> utilLoggingLevelList.add(UtilLoggingLevel.FINE.toString()); -<a name="78" href="#78">78</a> utilLoggingLevelList.add(UtilLoggingLevel.FINER.toString()); -<a name="79" href="#79">79</a> utilLoggingLevelList.add(UtilLoggingLevel.FINEST.toString()); -<a name="80" href="#80">80</a> -<a name="81" href="#81">81</a> } -<a name="82" href="#82">82</a> -<a name="83" href="#83">83</a> <em>/**<em>*</em></em> -<a name="84" href="#84">84</a> <em> * Create new rule.</em> -<a name="85" href="#85">85</a> <em> * @param inequalitySymbol inequality symbol.</em> -<a name="86" href="#86">86</a> <em> * @param value Symbolic name of comparison level.</em> -<a name="87" href="#87">87</a> <em> * @return instance of AbstractRule.</em> -<a name="88" href="#88">88</a> <em> */</em> -<a name="89" href="#89">89</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String inequalitySymbol, -<a name="90" href="#90">90</a> <strong>final</strong> String value) { -<a name="91" href="#91">91</a> -<a name="92" href="#92">92</a> Level thisLevel; -<a name="93" href="#93">93</a> -<a name="94" href="#94">94</a> <em class="comment">//if valid util.logging levels are used against events</em> -<a name="95" href="#95">95</a> <em class="comment">// with log4j levels, the</em> -<a name="96" href="#96">96</a> <em class="comment">//DEBUG level is used and an illegalargumentexception won't be generated</em> -<a name="97" href="#97">97</a> -<a name="98" href="#98">98</a> <em class="comment">//an illegalargumentexception is only generated</em> -<a name="99" href="#99">99</a> <em class="comment">// if the user types a level name</em> -<a name="100" href="#100">100</a> <em class="comment">//that doesn't exist as either a log4j or util.logging level name</em> -<a name="101" href="#101">101</a> <strong>if</strong> (levelList.contains(value.toUpperCase())) { -<a name="102" href="#102">102</a> thisLevel = Level.toLevel(value.toUpperCase()); -<a name="103" href="#103">103</a> } <strong>else</strong> <strong>if</strong> (utilLoggingLevelList.contains(value.toUpperCase())) { -<a name="104" href="#104">104</a> thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase()); -<a name="105" href="#105">105</a> } <strong>else</strong> { -<a name="106" href="#106">106</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="107" href="#107">107</a> <span class="string">"Invalid level inequality rule - "</span> + value -<a name="108" href="#108">108</a> + <span class="string">" is not a supported level"</span>); -<a name="109" href="#109">109</a> } -<a name="110" href="#110">110</a> -<a name="111" href="#111">111</a> <strong>if</strong> (<span class="string">"&lt;"</span>.equals(inequalitySymbol)) { -<a name="112" href="#112">112</a> <strong>return</strong> <strong>new</strong> LessThanRule(thisLevel); -<a name="113" href="#113">113</a> } -<a name="114" href="#114">114</a> <strong>if</strong> (<span class="string">">"</span>.equals(inequalitySymbol)) { -<a name="115" href="#115">115</a> <strong>return</strong> <strong>new</strong> GreaterThanRule(thisLevel); -<a name="116" href="#116">116</a> } -<a name="117" href="#117">117</a> <strong>if</strong> (<span class="string">"&lt;="</span>.equals(inequalitySymbol)) { -<a name="118" href="#118">118</a> <strong>return</strong> <strong>new</strong> LessThanEqualsRule(thisLevel); -<a name="119" href="#119">119</a> } -<a name="120" href="#120">120</a> <strong>if</strong> (<span class="string">">="</span>.equals(inequalitySymbol)) { -<a name="121" href="#121">121</a> <strong>return</strong> <strong>new</strong> GreaterThanEqualsRule(thisLevel); -<a name="122" href="#122">122</a> } -<a name="123" href="#123">123</a> -<a name="124" href="#124">124</a> <strong>return</strong> <strong>null</strong>; -<a name="125" href="#125">125</a> } -<a name="126" href="#126">126</a> -<a name="127" href="#127">127</a> <em>/**<em>*</em></em> -<a name="128" href="#128">128</a> <em> * Rule returning true if event level less than specified level.</em> -<a name="129" href="#129">129</a> <em> */</em> -<a name="130" href="#130">130</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> LessThanRule <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="131" href="#131">131</a> <em>/**<em>*</em></em> -<a name="132" href="#132">132</a> <em> * Comparison level.</em> -<a name="133" href="#133">133</a> <em> */</em> -<a name="134" href="#134">134</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> newLevelInt; -<a name="135" href="#135">135</a> -<a name="136" href="#136">136</a> <em>/**<em>*</em></em> -<a name="137" href="#137">137</a> <em> * Create new instance.</em> -<a name="138" href="#138">138</a> <em> * @param level comparison level.</em> -<a name="139" href="#139">139</a> <em> */</em> -<a name="140" href="#140">140</a> <strong>public</strong> LessThanRule(<strong>final</strong> Level level) { -<a name="141" href="#141">141</a> <strong>super</strong>(); -<a name="142" href="#142">142</a> newLevelInt = level.toInt(); -<a name="143" href="#143">143</a> } -<a name="144" href="#144">144</a> -<a name="145" href="#145">145</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="146" href="#146">146</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="147" href="#147">147</a> <strong>return</strong> (event.getLevel().toInt() &lt; newLevelInt); -<a name="148" href="#148">148</a> } -<a name="149" href="#149">149</a> } -<a name="150" href="#150">150</a> -<a name="151" href="#151">151</a> <em>/**<em>*</em></em> -<a name="152" href="#152">152</a> <em> * Rule returning true if event level greater than specified level.</em> -<a name="153" href="#153">153</a> <em> */</em> -<a name="154" href="#154">154</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> GreaterThanRule <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="155" href="#155">155</a> <em>/**<em>*</em></em> -<a name="156" href="#156">156</a> <em> * Comparison level.</em> -<a name="157" href="#157">157</a> <em> */</em> -<a name="158" href="#158">158</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> newLevelInt; -<a name="159" href="#159">159</a> -<a name="160" href="#160">160</a> <em>/**<em>*</em></em> -<a name="161" href="#161">161</a> <em> * Create new instance.</em> -<a name="162" href="#162">162</a> <em> * @param level comparison level.</em> -<a name="163" href="#163">163</a> <em> */</em> -<a name="164" href="#164">164</a> <strong>public</strong> GreaterThanRule(<strong>final</strong> Level level) { -<a name="165" href="#165">165</a> <strong>super</strong>(); -<a name="166" href="#166">166</a> newLevelInt = level.toInt(); -<a name="167" href="#167">167</a> } -<a name="168" href="#168">168</a> -<a name="169" href="#169">169</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="170" href="#170">170</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="171" href="#171">171</a> <strong>return</strong> (event.getLevel().toInt() > newLevelInt); -<a name="172" href="#172">172</a> } -<a name="173" href="#173">173</a> } -<a name="174" href="#174">174</a> -<a name="175" href="#175">175</a> <em>/**<em>*</em></em> -<a name="176" href="#176">176</a> <em> * Rule returning true if event level greater than</em> -<a name="177" href="#177">177</a> <em> * or equal to specified level.</em> -<a name="178" href="#178">178</a> <em> */</em> -<a name="179" href="#179">179</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> GreaterThanEqualsRule <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="180" href="#180">180</a> <em>/**<em>*</em></em> -<a name="181" href="#181">181</a> <em> * Comparison level.</em> -<a name="182" href="#182">182</a> <em> */</em> -<a name="183" href="#183">183</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> newLevelInt; -<a name="184" href="#184">184</a> -<a name="185" href="#185">185</a> <em>/**<em>*</em></em> -<a name="186" href="#186">186</a> <em> * Create new instance.</em> -<a name="187" href="#187">187</a> <em> * @param level comparison level.</em> -<a name="188" href="#188">188</a> <em> */</em> -<a name="189" href="#189">189</a> <strong>public</strong> GreaterThanEqualsRule(<strong>final</strong> Level level) { -<a name="190" href="#190">190</a> <strong>super</strong>(); -<a name="191" href="#191">191</a> newLevelInt = level.toInt(); -<a name="192" href="#192">192</a> } -<a name="193" href="#193">193</a> -<a name="194" href="#194">194</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="195" href="#195">195</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="196" href="#196">196</a> <strong>return</strong> event.getLevel().toInt() >= newLevelInt; -<a name="197" href="#197">197</a> } -<a name="198" href="#198">198</a> } -<a name="199" href="#199">199</a> -<a name="200" href="#200">200</a> <em>/**<em>*</em></em> -<a name="201" href="#201">201</a> <em> * Rule returning true if event level less than or</em> -<a name="202" href="#202">202</a> <em> * equal to specified level.</em> -<a name="203" href="#203">203</a> <em> */</em> -<a name="204" href="#204">204</a> -<a name="205" href="#205">205</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> LessThanEqualsRule <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="206" href="#206">206</a> <em>/**<em>*</em></em> -<a name="207" href="#207">207</a> <em> * Comparison level.</em> -<a name="208" href="#208">208</a> <em> */</em> -<a name="209" href="#209">209</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> newLevelInt; -<a name="210" href="#210">210</a> -<a name="211" href="#211">211</a> <em>/**<em>*</em></em> -<a name="212" href="#212">212</a> <em> * Create new instance.</em> -<a name="213" href="#213">213</a> <em> * @param level comparison level.</em> -<a name="214" href="#214">214</a> <em> */</em> -<a name="215" href="#215">215</a> <strong>public</strong> LessThanEqualsRule(<strong>final</strong> Level level) { -<a name="216" href="#216">216</a> <strong>super</strong>(); -<a name="217" href="#217">217</a> newLevelInt = level.toInt(); -<a name="218" href="#218">218</a> } -<a name="219" href="#219">219</a> -<a name="220" href="#220">220</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="221" href="#221">221</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="222" href="#222">222</a> <strong>return</strong> (event.getLevel().toInt() &lt;= newLevelInt); -<a name="223" href="#223">223</a> } -<a name="224" href="#224">224</a> } -<a name="225" href="#225">225</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LikeRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LikeRule.html deleted file mode 100644 index a7388b1c718..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/LikeRule.html +++ /dev/null @@ -1,164 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LikeRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/LikeRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <strong>import</strong> java.io.IOException; -<a name="24" href="#24">24</a> <strong>import</strong> java.util.Stack; -<a name="25" href="#25">25</a> <strong>import</strong> java.util.regex.Matcher; -<a name="26" href="#26">26</a> <strong>import</strong> java.util.regex.Pattern; -<a name="27" href="#27">27</a> <strong>import</strong> java.util.regex.PatternSyntaxException; -<a name="28" href="#28">28</a> -<a name="29" href="#29">29</a> <em>/**<em>*</em></em> -<a name="30" href="#30">30</a> <em> * A Rule class supporting java.util.regex regular expression syntax.</em> -<a name="31" href="#31">31</a> <em> *</em> -<a name="32" href="#32">32</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="33" href="#33">33</a> <em> */</em> -<a name="34" href="#34">34</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/LikeRule.html">LikeRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="35" href="#35">35</a> <em>/**<em>*</em></em> -<a name="36" href="#36">36</a> <em> * Serialization ID.</em> -<a name="37" href="#37">37</a> <em> */</em> -<a name="38" href="#38">38</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -3375458885595683156L; -<a name="39" href="#39">39</a> -<a name="40" href="#40">40</a> <em>/**<em>*</em></em> -<a name="41" href="#41">41</a> <em> * Resolver.</em> -<a name="42" href="#42">42</a> <em> */</em> -<a name="43" href="#43">43</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = -<a name="44" href="#44">44</a> LoggingEventFieldResolver.getInstance(); -<a name="45" href="#45">45</a> <em>/**<em>*</em></em> -<a name="46" href="#46">46</a> <em> * Pattern.</em> -<a name="47" href="#47">47</a> <em> */</em> -<a name="48" href="#48">48</a> <strong>private</strong> <strong>transient</strong> Pattern pattern; -<a name="49" href="#49">49</a> <em>/**<em>*</em></em> -<a name="50" href="#50">50</a> <em> * Regular expression matcher.</em> -<a name="51" href="#51">51</a> <em> */</em> -<a name="52" href="#52">52</a> <strong>private</strong> <strong>transient</strong> Matcher matcher = <strong>null</strong>; -<a name="53" href="#53">53</a> <em>/**<em>*</em></em> -<a name="54" href="#54">54</a> <em> * Field.</em> -<a name="55" href="#55">55</a> <em> */</em> -<a name="56" href="#56">56</a> <strong>private</strong> <strong>transient</strong> String field; -<a name="57" href="#57">57</a> -<a name="58" href="#58">58</a> <em>/**<em>*</em></em> -<a name="59" href="#59">59</a> <em> * Create new instance.</em> -<a name="60" href="#60">60</a> <em> * @param field field</em> -<a name="61" href="#61">61</a> <em> * @param pattern pattern</em> -<a name="62" href="#62">62</a> <em> */</em> -<a name="63" href="#63">63</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/LikeRule.html">LikeRule</a>(<strong>final</strong> String field, <strong>final</strong> Pattern pattern) { -<a name="64" href="#64">64</a> <strong>super</strong>(); -<a name="65" href="#65">65</a> <strong>if</strong> (!RESOLVER.isField(field)) { -<a name="66" href="#66">66</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="67" href="#67">67</a> <span class="string">"Invalid LIKE rule - "</span> + field + <span class="string">" is not a supported field"</span>); -<a name="68" href="#68">68</a> } -<a name="69" href="#69">69</a> -<a name="70" href="#70">70</a> <strong>this</strong>.field = field; -<a name="71" href="#71">71</a> <strong>this</strong>.pattern = pattern; -<a name="72" href="#72">72</a> } -<a name="73" href="#73">73</a> -<a name="74" href="#74">74</a> <em>/**<em>*</em></em> -<a name="75" href="#75">75</a> <em> * Create new instance from top two elements of stack.</em> -<a name="76" href="#76">76</a> <em> * @param stack stack</em> -<a name="77" href="#77">77</a> <em> * @return new instance</em> -<a name="78" href="#78">78</a> <em> */</em> -<a name="79" href="#79">79</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { -<a name="80" href="#80">80</a> <strong>if</strong> (stack.size() &lt; 2) { -<a name="81" href="#81">81</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="82" href="#82">82</a> <span class="string">"Invalid LIKE rule - expected two parameters but received "</span> -<a name="83" href="#83">83</a> + stack.size()); -<a name="84" href="#84">84</a> } -<a name="85" href="#85">85</a> -<a name="86" href="#86">86</a> String p2 = stack.pop().toString(); -<a name="87" href="#87">87</a> String p1 = stack.pop().toString(); -<a name="88" href="#88">88</a> <strong>return</strong> getRule(p1, p2); -<a name="89" href="#89">89</a> } -<a name="90" href="#90">90</a> -<a name="91" href="#91">91</a> <em>/**<em>*</em></em> -<a name="92" href="#92">92</a> <em> * Create new instance.</em> -<a name="93" href="#93">93</a> <em> * @param field field</em> -<a name="94" href="#94">94</a> <em> * @param pattern pattern</em> -<a name="95" href="#95">95</a> <em> * @return new instance</em> -<a name="96" href="#96">96</a> <em> */</em> -<a name="97" href="#97">97</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String field, <strong>final</strong> String pattern) { -<a name="98" href="#98">98</a> <strong>try</strong> { -<a name="99" href="#99">99</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/LikeRule.html">LikeRule</a>(field, Pattern.compile(pattern, Pattern.CASE_INSENSITIVE)); -<a name="100" href="#100">100</a> } <strong>catch</strong> (PatternSyntaxException e) { -<a name="101" href="#101">101</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="102" href="#102">102</a> <span class="string">"Invalid LIKE rule - "</span> + e.getMessage()); -<a name="103" href="#103">103</a> } -<a name="104" href="#104">104</a> } -<a name="105" href="#105">105</a> -<a name="106" href="#106">106</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="107" href="#107">107</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="108" href="#108">108</a> Object input = RESOLVER.getValue(field, event); -<a name="109" href="#109">109</a> <strong>if</strong>((input != <strong>null</strong>) &amp;&amp; (pattern != <strong>null</strong>)) { -<a name="110" href="#110">110</a> <strong>if</strong> (matcher == <strong>null</strong>) { -<a name="111" href="#111">111</a> matcher = pattern.matcher(input.toString()); -<a name="112" href="#112">112</a> } <strong>else</strong> { -<a name="113" href="#113">113</a> matcher.reset(input.toString()); -<a name="114" href="#114">114</a> } -<a name="115" href="#115">115</a> <strong>return</strong> matcher.matches(); -<a name="116" href="#116">116</a> } -<a name="117" href="#117">117</a> <strong>return</strong> false; -<a name="118" href="#118">118</a> } -<a name="119" href="#119">119</a> -<a name="120" href="#120">120</a> <em>/**<em>*</em></em> -<a name="121" href="#121">121</a> <em> * Deserialize the state of the object.</em> -<a name="122" href="#122">122</a> <em> *</em> -<a name="123" href="#123">123</a> <em> * @param in object input stream</em> -<a name="124" href="#124">124</a> <em> *</em> -<a name="125" href="#125">125</a> <em> * @throws IOException if IOException during deserialization</em> -<a name="126" href="#126">126</a> <em> * @throws ClassNotFoundException if class not found.</em> -<a name="127" href="#127">127</a> <em> */</em> -<a name="128" href="#128">128</a> <strong>private</strong> <strong>void</strong> readObject(<strong>final</strong> java.io.ObjectInputStream in) -<a name="129" href="#129">129</a> throws IOException, ClassNotFoundException { -<a name="130" href="#130">130</a> <strong>try</strong> { -<a name="131" href="#131">131</a> field = (String) in.readObject(); -<a name="132" href="#132">132</a> String patternString = (String) in.readObject(); -<a name="133" href="#133">133</a> pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE); -<a name="134" href="#134">134</a> } <strong>catch</strong> (PatternSyntaxException e) { -<a name="135" href="#135">135</a> <strong>throw</strong> <strong>new</strong> IOException(<span class="string">"Invalid LIKE rule - "</span> + e.getMessage()); -<a name="136" href="#136">136</a> } -<a name="137" href="#137">137</a> } -<a name="138" href="#138">138</a> -<a name="139" href="#139">139</a> <em>/**<em>*</em></em> -<a name="140" href="#140">140</a> <em> * Serialize the state of the object.</em> -<a name="141" href="#141">141</a> <em> *</em> -<a name="142" href="#142">142</a> <em> * @param out object output stream</em> -<a name="143" href="#143">143</a> <em> *</em> -<a name="144" href="#144">144</a> <em> * @throws IOException if IOException during serialization</em> -<a name="145" href="#145">145</a> <em> */</em> -<a name="146" href="#146">146</a> <strong>private</strong> <strong>void</strong> writeObject(<strong>final</strong> java.io.ObjectOutputStream out) -<a name="147" href="#147">147</a> throws IOException { -<a name="148" href="#148">148</a> out.writeObject(field); -<a name="149" href="#149">149</a> out.writeObject(pattern.pattern()); -<a name="150" href="#150">150</a> } -<a name="151" href="#151">151</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/NotEqualsRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/NotEqualsRule.html deleted file mode 100644 index 4e238c61859..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/NotEqualsRule.html +++ /dev/null @@ -1,113 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NotEqualsRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/NotEqualsRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <strong>import</strong> java.util.Stack; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <em>/**<em>*</em></em> -<a name="27" href="#27">27</a> <em> * A Rule class implementing not equals against two strings.</em> -<a name="28" href="#28">28</a> <em> *</em> -<a name="29" href="#29">29</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="30" href="#30">30</a> <em> */</em> -<a name="31" href="#31">31</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/NotEqualsRule.html">NotEqualsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="32" href="#32">32</a> <em>/**<em>*</em></em> -<a name="33" href="#33">33</a> <em> * Serialization ID.</em> -<a name="34" href="#34">34</a> <em> */</em> -<a name="35" href="#35">35</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -1135478467213793211L; -<a name="36" href="#36">36</a> <em>/**<em>*</em></em> -<a name="37" href="#37">37</a> <em> * Resolver.</em> -<a name="38" href="#38">38</a> <em> */</em> -<a name="39" href="#39">39</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = -<a name="40" href="#40">40</a> LoggingEventFieldResolver.getInstance(); -<a name="41" href="#41">41</a> <em>/**<em>*</em></em> -<a name="42" href="#42">42</a> <em> * Field.</em> -<a name="43" href="#43">43</a> <em> */</em> -<a name="44" href="#44">44</a> <strong>private</strong> <strong>final</strong> String field; -<a name="45" href="#45">45</a> <em>/**<em>*</em></em> -<a name="46" href="#46">46</a> <em> * Value.</em> -<a name="47" href="#47">47</a> <em> */</em> -<a name="48" href="#48">48</a> <strong>private</strong> <strong>final</strong> String value; -<a name="49" href="#49">49</a> -<a name="50" href="#50">50</a> <em>/**<em>*</em></em> -<a name="51" href="#51">51</a> <em> * Create new instance.</em> -<a name="52" href="#52">52</a> <em> * @param field field</em> -<a name="53" href="#53">53</a> <em> * @param value value</em> -<a name="54" href="#54">54</a> <em> */</em> -<a name="55" href="#55">55</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/NotEqualsRule.html">NotEqualsRule</a>(<strong>final</strong> String field, <strong>final</strong> String value) { -<a name="56" href="#56">56</a> <strong>super</strong>(); -<a name="57" href="#57">57</a> <strong>if</strong> (!RESOLVER.isField(field)) { -<a name="58" href="#58">58</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="59" href="#59">59</a> <span class="string">"Invalid NOT EQUALS rule - "</span> + field + <span class="string">" is not a supported field"</span>); -<a name="60" href="#60">60</a> } -<a name="61" href="#61">61</a> -<a name="62" href="#62">62</a> <strong>this</strong>.field = field; -<a name="63" href="#63">63</a> <strong>this</strong>.value = value; -<a name="64" href="#64">64</a> } -<a name="65" href="#65">65</a> -<a name="66" href="#66">66</a> <em>/**<em>*</em></em> -<a name="67" href="#67">67</a> <em> * Get new instance.</em> -<a name="68" href="#68">68</a> <em> * @param field field</em> -<a name="69" href="#69">69</a> <em> * @param value value</em> -<a name="70" href="#70">70</a> <em> * @return new instance.</em> -<a name="71" href="#71">71</a> <em> */</em> -<a name="72" href="#72">72</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String field, <strong>final</strong> String value) { -<a name="73" href="#73">73</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/NotEqualsRule.html">NotEqualsRule</a>(field, value); -<a name="74" href="#74">74</a> } -<a name="75" href="#75">75</a> -<a name="76" href="#76">76</a> <em>/**<em>*</em></em> -<a name="77" href="#77">77</a> <em> * Get new instance from top two elements of stack.</em> -<a name="78" href="#78">78</a> <em> * @param stack stack.</em> -<a name="79" href="#79">79</a> <em> * @return new instance.</em> -<a name="80" href="#80">80</a> <em> */</em> -<a name="81" href="#81">81</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { -<a name="82" href="#82">82</a> <strong>if</strong> (stack.size() &lt; 2) { -<a name="83" href="#83">83</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="84" href="#84">84</a> <span class="string">"Invalid NOT EQUALS rule - expected two parameters but received "</span> -<a name="85" href="#85">85</a> + stack.size()); -<a name="86" href="#86">86</a> } -<a name="87" href="#87">87</a> -<a name="88" href="#88">88</a> String p2 = stack.pop().toString(); -<a name="89" href="#89">89</a> String p1 = stack.pop().toString(); -<a name="90" href="#90">90</a> -<a name="91" href="#91">91</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/NotEqualsRule.html">NotEqualsRule</a>(p1, p2); -<a name="92" href="#92">92</a> } -<a name="93" href="#93">93</a> -<a name="94" href="#94">94</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="95" href="#95">95</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="96" href="#96">96</a> Object p2 = RESOLVER.getValue(field, event); -<a name="97" href="#97">97</a> -<a name="98" href="#98">98</a> <strong>return</strong> ((p2 != <strong>null</strong>) &amp;&amp; !(p2.toString().equals(value))); -<a name="99" href="#99">99</a> } -<a name="100" href="#100">100</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/NotRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/NotRule.html deleted file mode 100644 index 277d17a5c0c..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/NotRule.html +++ /dev/null @@ -1,94 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NotRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/NotRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <strong>import</strong> java.util.Stack; -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> <em>/**<em>*</em></em> -<a name="25" href="#25">25</a> <em> * A Rule class implementing logical not.</em> -<a name="26" href="#26">26</a> <em> *</em> -<a name="27" href="#27">27</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="28" href="#28">28</a> <em> */</em> -<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/NotRule.html">NotRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="30" href="#30">30</a> <em>/**<em>*</em></em> -<a name="31" href="#31">31</a> <em> * Serialization ID.</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -6827159473117969306L; -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * Enclosed rule.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule; -<a name="38" href="#38">38</a> -<a name="39" href="#39">39</a> <em>/**<em>*</em></em> -<a name="40" href="#40">40</a> <em> * Create new instance.</em> -<a name="41" href="#41">41</a> <em> * @param rule enclosed rule.</em> -<a name="42" href="#42">42</a> <em> */</em> -<a name="43" href="#43">43</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/NotRule.html">NotRule</a>(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule) { -<a name="44" href="#44">44</a> <strong>super</strong>(); -<a name="45" href="#45">45</a> <strong>this</strong>.rule = rule; -<a name="46" href="#46">46</a> } -<a name="47" href="#47">47</a> -<a name="48" href="#48">48</a> <em>/**<em>*</em></em> -<a name="49" href="#49">49</a> <em> * Create new instance.</em> -<a name="50" href="#50">50</a> <em> * @param rule enclosed rule.</em> -<a name="51" href="#51">51</a> <em> * @return new rule.</em> -<a name="52" href="#52">52</a> <em> */</em> -<a name="53" href="#53">53</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule) { -<a name="54" href="#54">54</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/NotRule.html">NotRule</a>(rule); -<a name="55" href="#55">55</a> } -<a name="56" href="#56">56</a> -<a name="57" href="#57">57</a> <em>/**<em>*</em></em> -<a name="58" href="#58">58</a> <em> * Create new instance from top element of stack.</em> -<a name="59" href="#59">59</a> <em> * @param stack stack</em> -<a name="60" href="#60">60</a> <em> * @return new rule.</em> -<a name="61" href="#61">61</a> <em> */</em> -<a name="62" href="#62">62</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { -<a name="63" href="#63">63</a> <strong>if</strong> (stack.size() &lt; 1) { -<a name="64" href="#64">64</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="65" href="#65">65</a> <span class="string">"Invalid NOT rule - expected one rule but received "</span> -<a name="66" href="#66">66</a> + stack.size()); -<a name="67" href="#67">67</a> } -<a name="68" href="#68">68</a> Object o1 = stack.pop(); -<a name="69" href="#69">69</a> <strong>if</strong> (o1 instanceof Rule) { -<a name="70" href="#70">70</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> p1 = (Rule) o1; -<a name="71" href="#71">71</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/NotRule.html">NotRule</a>(p1); -<a name="72" href="#72">72</a> } -<a name="73" href="#73">73</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="74" href="#74">74</a> <span class="string">"Invalid NOT rule: - expected rule but received "</span> + o1); -<a name="75" href="#75">75</a> } -<a name="76" href="#76">76</a> -<a name="77" href="#77">77</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="78" href="#78">78</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="79" href="#79">79</a> <strong>return</strong> !(rule.evaluate(event)); -<a name="80" href="#80">80</a> } -<a name="81" href="#81">81</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/OrRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/OrRule.html deleted file mode 100644 index 463bfeeb0f7..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/OrRule.html +++ /dev/null @@ -1,102 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>OrRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/OrRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <strong>import</strong> java.util.Stack; -<a name="23" href="#23">23</a> -<a name="24" href="#24">24</a> <em>/**<em>*</em></em> -<a name="25" href="#25">25</a> <em> * A Rule class implementing logical or.</em> -<a name="26" href="#26">26</a> <em> *</em> -<a name="27" href="#27">27</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="28" href="#28">28</a> <em> */</em> -<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/OrRule.html">OrRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="30" href="#30">30</a> <em>/**<em>*</em></em> -<a name="31" href="#31">31</a> <em> * Serialization ID.</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 2088765995061413165L; -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * rule 1.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule1; -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * Rule 2.</em> -<a name="40" href="#40">40</a> <em> */</em> -<a name="41" href="#41">41</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule2; -<a name="42" href="#42">42</a> -<a name="43" href="#43">43</a> <em>/**<em>*</em></em> -<a name="44" href="#44">44</a> <em> * Create new instance.</em> -<a name="45" href="#45">45</a> <em> * @param firstParam first rule</em> -<a name="46" href="#46">46</a> <em> * @param secondParam second rule</em> -<a name="47" href="#47">47</a> <em> */</em> -<a name="48" href="#48">48</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/OrRule.html">OrRule</a>(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> firstParam, <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> secondParam) { -<a name="49" href="#49">49</a> <strong>super</strong>(); -<a name="50" href="#50">50</a> <strong>this</strong>.rule1 = firstParam; -<a name="51" href="#51">51</a> <strong>this</strong>.rule2 = secondParam; -<a name="52" href="#52">52</a> } -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <em>/**<em>*</em></em> -<a name="55" href="#55">55</a> <em> * Create new instance.</em> -<a name="56" href="#56">56</a> <em> * @param firstParam first rule</em> -<a name="57" href="#57">57</a> <em> * @param secondParam second rule</em> -<a name="58" href="#58">58</a> <em> * @return new instance</em> -<a name="59" href="#59">59</a> <em> */</em> -<a name="60" href="#60">60</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> firstParam, <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> secondParam) { -<a name="61" href="#61">61</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/OrRule.html">OrRule</a>(firstParam, secondParam); -<a name="62" href="#62">62</a> } -<a name="63" href="#63">63</a> -<a name="64" href="#64">64</a> <em>/**<em>*</em></em> -<a name="65" href="#65">65</a> <em> * Create new instance from top two elements of stack.</em> -<a name="66" href="#66">66</a> <em> * @param stack stack</em> -<a name="67" href="#67">67</a> <em> * @return new instance</em> -<a name="68" href="#68">68</a> <em> */</em> -<a name="69" href="#69">69</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { -<a name="70" href="#70">70</a> <strong>if</strong> (stack.size() &lt; 2) { -<a name="71" href="#71">71</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="72" href="#72">72</a> <span class="string">"Invalid OR rule - expected two rules but received "</span> -<a name="73" href="#73">73</a> + stack.size()); -<a name="74" href="#74">74</a> } -<a name="75" href="#75">75</a> Object o2 = stack.pop(); -<a name="76" href="#76">76</a> Object o1 = stack.pop(); -<a name="77" href="#77">77</a> <strong>if</strong> ((o2 instanceof Rule) &amp;&amp; (o1 instanceof Rule)) { -<a name="78" href="#78">78</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> p2 = (Rule) o2; -<a name="79" href="#79">79</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> p1 = (Rule) o1; -<a name="80" href="#80">80</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/OrRule.html">OrRule</a>(p1, p2); -<a name="81" href="#81">81</a> } -<a name="82" href="#82">82</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid OR rule: "</span> + o2 + <span class="string">"..."</span> + o1); -<a name="83" href="#83">83</a> } -<a name="84" href="#84">84</a> -<a name="85" href="#85">85</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="86" href="#86">86</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="87" href="#87">87</a> <strong>return</strong> (rule1.evaluate(event) || rule2.evaluate(event)); -<a name="88" href="#88">88</a> } -<a name="89" href="#89">89</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/PartialTextMatchRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/PartialTextMatchRule.html deleted file mode 100644 index 8e5eafe258c..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/PartialTextMatchRule.html +++ /dev/null @@ -1,115 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PartialTextMatchRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/PartialTextMatchRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; -<a name="22" href="#22">22</a> -<a name="23" href="#23">23</a> <strong>import</strong> java.util.Stack; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <em>/**<em>*</em></em> -<a name="27" href="#27">27</a> <em> * A Rule class implementing case-insensitive</em> -<a name="28" href="#28">28</a> <em> * partial-text matches against two strings.</em> -<a name="29" href="#29">29</a> <em> *</em> -<a name="30" href="#30">30</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="31" href="#31">31</a> <em> */</em> -<a name="32" href="#32">32</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/PartialTextMatchRule.html">PartialTextMatchRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="33" href="#33">33</a> <em>/**<em>*</em></em> -<a name="34" href="#34">34</a> <em> * Serialization ID.</em> -<a name="35" href="#35">35</a> <em> */</em> -<a name="36" href="#36">36</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 6963284773637727558L; -<a name="37" href="#37">37</a> <em>/**<em>*</em></em> -<a name="38" href="#38">38</a> <em> * Resolver.</em> -<a name="39" href="#39">39</a> <em> */</em> -<a name="40" href="#40">40</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = -<a name="41" href="#41">41</a> LoggingEventFieldResolver.getInstance(); -<a name="42" href="#42">42</a> <em>/**<em>*</em></em> -<a name="43" href="#43">43</a> <em> * Field.</em> -<a name="44" href="#44">44</a> <em> */</em> -<a name="45" href="#45">45</a> <strong>private</strong> <strong>final</strong> String field; -<a name="46" href="#46">46</a> <em>/**<em>*</em></em> -<a name="47" href="#47">47</a> <em> * Value.</em> -<a name="48" href="#48">48</a> <em> */</em> -<a name="49" href="#49">49</a> <strong>private</strong> <strong>final</strong> String value; -<a name="50" href="#50">50</a> -<a name="51" href="#51">51</a> <em>/**<em>*</em></em> -<a name="52" href="#52">52</a> <em> * Create new instance.</em> -<a name="53" href="#53">53</a> <em> * @param field field</em> -<a name="54" href="#54">54</a> <em> * @param value value</em> -<a name="55" href="#55">55</a> <em> */</em> -<a name="56" href="#56">56</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/PartialTextMatchRule.html">PartialTextMatchRule</a>(<strong>final</strong> String field, <strong>final</strong> String value) { -<a name="57" href="#57">57</a> <strong>super</strong>(); -<a name="58" href="#58">58</a> <strong>if</strong> (!RESOLVER.isField(field)) { -<a name="59" href="#59">59</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="60" href="#60">60</a> <span class="string">"Invalid partial text rule - "</span> + field + <span class="string">" is not a supported field"</span>); -<a name="61" href="#61">61</a> } -<a name="62" href="#62">62</a> -<a name="63" href="#63">63</a> <strong>this</strong>.field = field; -<a name="64" href="#64">64</a> <strong>this</strong>.value = value; -<a name="65" href="#65">65</a> } -<a name="66" href="#66">66</a> -<a name="67" href="#67">67</a> <em>/**<em>*</em></em> -<a name="68" href="#68">68</a> <em> * Create new instance.</em> -<a name="69" href="#69">69</a> <em> * @param field field</em> -<a name="70" href="#70">70</a> <em> * @param value value</em> -<a name="71" href="#71">71</a> <em> * @return new instance</em> -<a name="72" href="#72">72</a> <em> */</em> -<a name="73" href="#73">73</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String field, <strong>final</strong> String value) { -<a name="74" href="#74">74</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/PartialTextMatchRule.html">PartialTextMatchRule</a>(field, value); -<a name="75" href="#75">75</a> } -<a name="76" href="#76">76</a> -<a name="77" href="#77">77</a> <em>/**<em>*</em></em> -<a name="78" href="#78">78</a> <em> * Create new instance from top two elements of stack.</em> -<a name="79" href="#79">79</a> <em> * @param stack stack</em> -<a name="80" href="#80">80</a> <em> * @return new instance</em> -<a name="81" href="#81">81</a> <em> */</em> -<a name="82" href="#82">82</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { -<a name="83" href="#83">83</a> <strong>if</strong> (stack.size() &lt; 2) { -<a name="84" href="#84">84</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( -<a name="85" href="#85">85</a> <span class="string">"invalid partial text rule - expected two parameters but received "</span> -<a name="86" href="#86">86</a> + stack.size()); -<a name="87" href="#87">87</a> } -<a name="88" href="#88">88</a> -<a name="89" href="#89">89</a> String p2 = stack.pop().toString(); -<a name="90" href="#90">90</a> String p1 = stack.pop().toString(); -<a name="91" href="#91">91</a> -<a name="92" href="#92">92</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/PartialTextMatchRule.html">PartialTextMatchRule</a>(p1, p2); -<a name="93" href="#93">93</a> } -<a name="94" href="#94">94</a> -<a name="95" href="#95">95</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="96" href="#96">96</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="97" href="#97">97</a> Object p2 = RESOLVER.getValue(field, event); -<a name="98" href="#98">98</a> -<a name="99" href="#99">99</a> <strong>return</strong> ((p2 != <strong>null</strong>) &amp;&amp; (value != <strong>null</strong>) -<a name="100" href="#100">100</a> &amp;&amp; (p2.toString().toLowerCase().indexOf(value.toLowerCase()) > -1)); -<a name="101" href="#101">101</a> } -<a name="102" href="#102">102</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/RuleFactory.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/RuleFactory.html deleted file mode 100644 index a9f4cf26866..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/RuleFactory.html +++ /dev/null @@ -1,202 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RuleFactory xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/RuleFactory.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> java.lang.reflect.InvocationTargetException; -<a name="21" href="#21">21</a> <strong>import</strong> java.lang.reflect.Method; -<a name="22" href="#22">22</a> <strong>import</strong> java.util.Collection; -<a name="23" href="#23">23</a> <strong>import</strong> java.util.LinkedList; -<a name="24" href="#24">24</a> <strong>import</strong> java.util.Stack; -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.LogManager; -<a name="26" href="#26">26</a> -<a name="27" href="#27">27</a> <em>/**<em>*</em></em> -<a name="28" href="#28">28</a> <em> * A Factory class which, given a string representation of the rule,</em> -<a name="29" href="#29">29</a> <em> * and a context stack, will</em> -<a name="30" href="#30">30</a> <em> * return a Rule ready for evaluation against events.</em> -<a name="31" href="#31">31</a> <em> * If an operator is requested that isn't supported, </em> -<a name="32" href="#32">32</a> <em> * an IllegalArgumentException is thrown.</em> -<a name="33" href="#33">33</a> <em> *</em> -<a name="34" href="#34">34</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="35" href="#35">35</a> <em> */</em> -<a name="36" href="#36">36</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a> { -<a name="37" href="#37">37</a> <em>/**<em>*</em></em> -<a name="38" href="#38">38</a> <em> * Singleton instance.</em> -<a name="39" href="#39">39</a> <em> */</em> -<a name="40" href="#40">40</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a> FACTORY = <strong>new</strong> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a>(); -<a name="41" href="#41">41</a> <em>/**<em>*</em></em> -<a name="42" href="#42">42</a> <em> * Rules.</em> -<a name="43" href="#43">43</a> <em> */</em> -<a name="44" href="#44">44</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> Collection RULES = <strong>new</strong> LinkedList(); -<a name="45" href="#45">45</a> <em>/**<em>*</em></em> -<a name="46" href="#46">46</a> <em> * AND operator literal.</em> -<a name="47" href="#47">47</a> <em> */</em> -<a name="48" href="#48">48</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String AND_RULE = <span class="string">"&amp;&amp;"</span>; -<a name="49" href="#49">49</a> <em>/**<em>*</em></em> -<a name="50" href="#50">50</a> <em> * OR operator literal.</em> -<a name="51" href="#51">51</a> <em> */</em> -<a name="52" href="#52">52</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String OR_RULE = <span class="string">"||"</span>; -<a name="53" href="#53">53</a> <em>/**<em>*</em></em> -<a name="54" href="#54">54</a> <em> * NOT operator literal.</em> -<a name="55" href="#55">55</a> <em> */</em> -<a name="56" href="#56">56</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String NOT_RULE = <span class="string">"!"</span>; -<a name="57" href="#57">57</a> <em>/**<em>*</em></em> -<a name="58" href="#58">58</a> <em> * Inequality operator literal.</em> -<a name="59" href="#59">59</a> <em> */</em> -<a name="60" href="#60">60</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String NOT_EQUALS_RULE = <span class="string">"!="</span>; -<a name="61" href="#61">61</a> <em>/**<em>*</em></em> -<a name="62" href="#62">62</a> <em> * Equality operator literal.</em> -<a name="63" href="#63">63</a> <em> */</em> -<a name="64" href="#64">64</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String EQUALS_RULE = <span class="string">"=="</span>; -<a name="65" href="#65">65</a> <em>/**<em>*</em></em> -<a name="66" href="#66">66</a> <em> * Partial match operator literal.</em> -<a name="67" href="#67">67</a> <em> */</em> -<a name="68" href="#68">68</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String PARTIAL_TEXT_MATCH_RULE = <span class="string">"~="</span>; -<a name="69" href="#69">69</a> <em>/**<em>*</em></em> -<a name="70" href="#70">70</a> <em> * Like operator literal.</em> -<a name="71" href="#71">71</a> <em> */</em> -<a name="72" href="#72">72</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String LIKE_RULE = <span class="string">"like"</span>; -<a name="73" href="#73">73</a> <em>/**<em>*</em></em> -<a name="74" href="#74">74</a> <em> * Exists operator literal.</em> -<a name="75" href="#75">75</a> <em> */</em> -<a name="76" href="#76">76</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String EXISTS_RULE = <span class="string">"exists"</span>; -<a name="77" href="#77">77</a> <em>/**<em>*</em></em> -<a name="78" href="#78">78</a> <em> * Less than operator literal.</em> -<a name="79" href="#79">79</a> <em> */</em> -<a name="80" href="#80">80</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String LESS_THAN_RULE = <span class="string">"&lt;"</span>; -<a name="81" href="#81">81</a> <em>/**<em>*</em></em> -<a name="82" href="#82">82</a> <em> * Greater than operator literal.</em> -<a name="83" href="#83">83</a> <em> */</em> -<a name="84" href="#84">84</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String GREATER_THAN_RULE = <span class="string">">"</span>; -<a name="85" href="#85">85</a> <em>/**<em>*</em></em> -<a name="86" href="#86">86</a> <em> * Less than or equal operator literal.</em> -<a name="87" href="#87">87</a> <em> */</em> -<a name="88" href="#88">88</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String LESS_THAN_EQUALS_RULE = <span class="string">"&lt;="</span>; -<a name="89" href="#89">89</a> <em>/**<em>*</em></em> -<a name="90" href="#90">90</a> <em> * Greater than or equal operator literal.</em> -<a name="91" href="#91">91</a> <em> */</em> -<a name="92" href="#92">92</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String GREATER_THAN_EQUALS_RULE = <span class="string">">="</span>; -<a name="93" href="#93">93</a> -<a name="94" href="#94">94</a> <strong>static</strong> { -<a name="95" href="#95">95</a> RULES.add(AND_RULE); -<a name="96" href="#96">96</a> RULES.add(OR_RULE); -<a name="97" href="#97">97</a> RULES.add(NOT_RULE); -<a name="98" href="#98">98</a> RULES.add(NOT_EQUALS_RULE); -<a name="99" href="#99">99</a> RULES.add(EQUALS_RULE); -<a name="100" href="#100">100</a> RULES.add(PARTIAL_TEXT_MATCH_RULE); -<a name="101" href="#101">101</a> RULES.add(LIKE_RULE); -<a name="102" href="#102">102</a> RULES.add(EXISTS_RULE); -<a name="103" href="#103">103</a> RULES.add(LESS_THAN_RULE); -<a name="104" href="#104">104</a> RULES.add(GREATER_THAN_RULE); -<a name="105" href="#105">105</a> RULES.add(LESS_THAN_EQUALS_RULE); -<a name="106" href="#106">106</a> RULES.add(GREATER_THAN_EQUALS_RULE); -<a name="107" href="#107">107</a> } -<a name="108" href="#108">108</a> -<a name="109" href="#109">109</a> <em>/**<em>*</em></em> -<a name="110" href="#110">110</a> <em> * Create instance.</em> -<a name="111" href="#111">111</a> <em> */</em> -<a name="112" href="#112">112</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a>() { -<a name="113" href="#113">113</a> <strong>super</strong>(); -<a name="114" href="#114">114</a> } -<a name="115" href="#115">115</a> -<a name="116" href="#116">116</a> <em>/**<em>*</em></em> -<a name="117" href="#117">117</a> <em> * Get instance.</em> -<a name="118" href="#118">118</a> <em> * @return rule factory instance.</em> -<a name="119" href="#119">119</a> <em> */</em> -<a name="120" href="#120">120</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a> getInstance() { -<a name="121" href="#121">121</a> <strong>return</strong> FACTORY; -<a name="122" href="#122">122</a> } -<a name="123" href="#123">123</a> -<a name="124" href="#124">124</a> <em>/**<em>*</em></em> -<a name="125" href="#125">125</a> <em> * Determine if specified string is a known operator.</em> -<a name="126" href="#126">126</a> <em> * @param symbol string</em> -<a name="127" href="#127">127</a> <em> * @return true if string is a known operator</em> -<a name="128" href="#128">128</a> <em> */</em> -<a name="129" href="#129">129</a> <strong>public</strong> <strong>boolean</strong> isRule(<strong>final</strong> String symbol) { -<a name="130" href="#130">130</a> <strong>return</strong> ((symbol != <strong>null</strong>) &amp;&amp; (RULES.contains(symbol.toLowerCase()))); -<a name="131" href="#131">131</a> } -<a name="132" href="#132">132</a> -<a name="133" href="#133">133</a> <em>/**<em>*</em></em> -<a name="134" href="#134">134</a> <em> * Create rule from applying operator to stack.</em> -<a name="135" href="#135">135</a> <em> * @param symbol symbol</em> -<a name="136" href="#136">136</a> <em> * @param stack stack</em> -<a name="137" href="#137">137</a> <em> * @return new instance</em> -<a name="138" href="#138">138</a> <em> */</em> -<a name="139" href="#139">139</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String symbol, <strong>final</strong> Stack stack) { -<a name="140" href="#140">140</a> <strong>if</strong> (AND_RULE.equals(symbol)) { -<a name="141" href="#141">141</a> <strong>return</strong> AndRule.getRule(stack); -<a name="142" href="#142">142</a> } -<a name="143" href="#143">143</a> -<a name="144" href="#144">144</a> <strong>if</strong> (OR_RULE.equals(symbol)) { -<a name="145" href="#145">145</a> <strong>return</strong> OrRule.getRule(stack); -<a name="146" href="#146">146</a> } -<a name="147" href="#147">147</a> -<a name="148" href="#148">148</a> <strong>if</strong> (NOT_RULE.equals(symbol)) { -<a name="149" href="#149">149</a> <strong>return</strong> NotRule.getRule(stack); -<a name="150" href="#150">150</a> } -<a name="151" href="#151">151</a> -<a name="152" href="#152">152</a> <strong>if</strong> (NOT_EQUALS_RULE.equals(symbol)) { -<a name="153" href="#153">153</a> <strong>return</strong> NotEqualsRule.getRule(stack); -<a name="154" href="#154">154</a> } -<a name="155" href="#155">155</a> -<a name="156" href="#156">156</a> <strong>if</strong> (EQUALS_RULE.equals(symbol)) { -<a name="157" href="#157">157</a> <strong>return</strong> EqualsRule.getRule(stack); -<a name="158" href="#158">158</a> } -<a name="159" href="#159">159</a> -<a name="160" href="#160">160</a> <strong>if</strong> (PARTIAL_TEXT_MATCH_RULE.equals(symbol)) { -<a name="161" href="#161">161</a> <strong>return</strong> PartialTextMatchRule.getRule(stack); -<a name="162" href="#162">162</a> } -<a name="163" href="#163">163</a> -<a name="164" href="#164">164</a> <strong>if</strong> (RULES.contains(LIKE_RULE) &amp;&amp; LIKE_RULE.equalsIgnoreCase(symbol)) { -<a name="165" href="#165">165</a> <strong>return</strong> LikeRule.getRule(stack); -<a name="166" href="#166">166</a> } -<a name="167" href="#167">167</a> -<a name="168" href="#168">168</a> <strong>if</strong> (EXISTS_RULE.equalsIgnoreCase(symbol)) { -<a name="169" href="#169">169</a> <strong>return</strong> ExistsRule.getRule(stack); -<a name="170" href="#170">170</a> } -<a name="171" href="#171">171</a> -<a name="172" href="#172">172</a> <strong>if</strong> (LESS_THAN_RULE.equals(symbol)) { -<a name="173" href="#173">173</a> <strong>return</strong> InequalityRule.getRule(LESS_THAN_RULE, stack); -<a name="174" href="#174">174</a> } -<a name="175" href="#175">175</a> -<a name="176" href="#176">176</a> <strong>if</strong> (GREATER_THAN_RULE.equals(symbol)) { -<a name="177" href="#177">177</a> <strong>return</strong> InequalityRule.getRule(GREATER_THAN_RULE, stack); -<a name="178" href="#178">178</a> } -<a name="179" href="#179">179</a> -<a name="180" href="#180">180</a> <strong>if</strong> (LESS_THAN_EQUALS_RULE.equals(symbol)) { -<a name="181" href="#181">181</a> <strong>return</strong> InequalityRule.getRule(LESS_THAN_EQUALS_RULE, stack); -<a name="182" href="#182">182</a> } -<a name="183" href="#183">183</a> -<a name="184" href="#184">184</a> <strong>if</strong> (GREATER_THAN_EQUALS_RULE.equals(symbol)) { -<a name="185" href="#185">185</a> <strong>return</strong> InequalityRule.getRule(GREATER_THAN_EQUALS_RULE, stack); -<a name="186" href="#186">186</a> } -<a name="187" href="#187">187</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid rule: "</span> + symbol); -<a name="188" href="#188">188</a> } -<a name="189" href="#189">189</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/TimestampEqualsRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/TimestampEqualsRule.html deleted file mode 100644 index c4841122ec4..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/TimestampEqualsRule.html +++ /dev/null @@ -1,122 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TimestampEqualsRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/TimestampEqualsRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> java.io.IOException; -<a name="21" href="#21">21</a> <strong>import</strong> java.text.DateFormat; -<a name="22" href="#22">22</a> <strong>import</strong> java.text.ParseException; -<a name="23" href="#23">23</a> <strong>import</strong> java.text.SimpleDateFormat; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; -<a name="27" href="#27">27</a> -<a name="28" href="#28">28</a> <em>/**<em>*</em></em> -<a name="29" href="#29">29</a> <em> * A Rule class implementing equality evaluation for timestamps.</em> -<a name="30" href="#30">30</a> <em> *</em> -<a name="31" href="#31">31</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/TimestampEqualsRule.html">TimestampEqualsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * Serialization ID.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 1639079557187790321L; -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * Resolver.</em> -<a name="40" href="#40">40</a> <em> */</em> -<a name="41" href="#41">41</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = -<a name="42" href="#42">42</a> LoggingEventFieldResolver.getInstance(); -<a name="43" href="#43">43</a> <em>/**<em>*</em></em> -<a name="44" href="#44">44</a> <em> * Date format.</em> -<a name="45" href="#45">45</a> <em> */</em> -<a name="46" href="#46">46</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> DateFormat DATE_FORMAT = -<a name="47" href="#47">47</a> <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy/MM/dd HH:mm:ss"</span>); -<a name="48" href="#48">48</a> -<a name="49" href="#49">49</a> <em>/**<em>*</em></em> -<a name="50" href="#50">50</a> <em> * time stamp.</em> -<a name="51" href="#51">51</a> <em> */</em> -<a name="52" href="#52">52</a> <strong>private</strong> <strong>long</strong> timeStamp; -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <em>/**<em>*</em></em> -<a name="55" href="#55">55</a> <em> * Create new instance.</em> -<a name="56" href="#56">56</a> <em> * @param value string representation of date.</em> -<a name="57" href="#57">57</a> <em> */</em> -<a name="58" href="#58">58</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/TimestampEqualsRule.html">TimestampEqualsRule</a>(<strong>final</strong> String value) { -<a name="59" href="#59">59</a> <strong>super</strong>(); -<a name="60" href="#60">60</a> <em class="comment">//expects value to be a timestamp value represented as a long</em> -<a name="61" href="#61">61</a> <strong>try</strong> { -<a name="62" href="#62">62</a> timeStamp = DATE_FORMAT.parse(value).getTime(); -<a name="63" href="#63">63</a> } <strong>catch</strong> (ParseException pe) { -<a name="64" href="#64">64</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Could not parse date: "</span> + value); -<a name="65" href="#65">65</a> } -<a name="66" href="#66">66</a> } -<a name="67" href="#67">67</a> -<a name="68" href="#68">68</a> <em>/**<em>*</em></em> -<a name="69" href="#69">69</a> <em> * Create new instance.</em> -<a name="70" href="#70">70</a> <em> * @param value string representation of date.</em> -<a name="71" href="#71">71</a> <em> * @return new instance</em> -<a name="72" href="#72">72</a> <em> */</em> -<a name="73" href="#73">73</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String value) { -<a name="74" href="#74">74</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/TimestampEqualsRule.html">TimestampEqualsRule</a>(value); -<a name="75" href="#75">75</a> } -<a name="76" href="#76">76</a> -<a name="77" href="#77">77</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="78" href="#78">78</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="79" href="#79">79</a> <strong>long</strong> eventTimeStamp = Long.parseLong( -<a name="80" href="#80">80</a> RESOLVER.getValue(<span class="string">"TIMESTAMP"</span>, event).toString()) / 1000 * 1000; -<a name="81" href="#81">81</a> <strong>return</strong> eventTimeStamp == timeStamp; -<a name="82" href="#82">82</a> } -<a name="83" href="#83">83</a> -<a name="84" href="#84">84</a> <em>/**<em>*</em></em> -<a name="85" href="#85">85</a> <em> * Deserialize the state of the object.</em> -<a name="86" href="#86">86</a> <em> *</em> -<a name="87" href="#87">87</a> <em> * @param in object input stream</em> -<a name="88" href="#88">88</a> <em> *</em> -<a name="89" href="#89">89</a> <em> * @throws IOException if IO error during deserialization</em> -<a name="90" href="#90">90</a> <em> * @throws ClassNotFoundException if class not found during</em> -<a name="91" href="#91">91</a> <em> * deserialization</em> -<a name="92" href="#92">92</a> <em> */</em> -<a name="93" href="#93">93</a> <strong>private</strong> <strong>void</strong> readObject(<strong>final</strong> java.io.ObjectInputStream in) -<a name="94" href="#94">94</a> throws IOException, ClassNotFoundException { -<a name="95" href="#95">95</a> timeStamp = in.readLong(); -<a name="96" href="#96">96</a> } -<a name="97" href="#97">97</a> -<a name="98" href="#98">98</a> <em>/**<em>*</em></em> -<a name="99" href="#99">99</a> <em> * Serialize the state of the object.</em> -<a name="100" href="#100">100</a> <em> *</em> -<a name="101" href="#101">101</a> <em> * @param out object output stream</em> -<a name="102" href="#102">102</a> <em> *</em> -<a name="103" href="#103">103</a> <em> * @throws IOException if IO error during serialization</em> -<a name="104" href="#104">104</a> <em> */</em> -<a name="105" href="#105">105</a> <strong>private</strong> <strong>void</strong> writeObject(<strong>final</strong> java.io.ObjectOutputStream out) -<a name="106" href="#106">106</a> throws IOException { -<a name="107" href="#107">107</a> out.writeLong(timeStamp); -<a name="108" href="#108">108</a> } -<a name="109" href="#109">109</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/TimestampInequalityRule.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/TimestampInequalityRule.html deleted file mode 100644 index ed54f30a09d..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/TimestampInequalityRule.html +++ /dev/null @@ -1,144 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TimestampInequalityRule xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/TimestampInequalityRule.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> java.io.IOException; -<a name="21" href="#21">21</a> <strong>import</strong> java.text.DateFormat; -<a name="22" href="#22">22</a> <strong>import</strong> java.text.ParseException; -<a name="23" href="#23">23</a> <strong>import</strong> java.text.SimpleDateFormat; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; -<a name="27" href="#27">27</a> -<a name="28" href="#28">28</a> <em>/**<em>*</em></em> -<a name="29" href="#29">29</a> <em> * A Rule class implementing inequality evaluation for timestamps.</em> -<a name="30" href="#30">30</a> <em> *</em> -<a name="31" href="#31">31</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="32" href="#32">32</a> <em> */</em> -<a name="33" href="#33">33</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/TimestampInequalityRule.html">TimestampInequalityRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { -<a name="34" href="#34">34</a> <em>/**<em>*</em></em> -<a name="35" href="#35">35</a> <em> * Serialization ID.</em> -<a name="36" href="#36">36</a> <em> */</em> -<a name="37" href="#37">37</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -4642641663914789241L; -<a name="38" href="#38">38</a> <em>/**<em>*</em></em> -<a name="39" href="#39">39</a> <em> * Resolver.</em> -<a name="40" href="#40">40</a> <em> */</em> -<a name="41" href="#41">41</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = -<a name="42" href="#42">42</a> LoggingEventFieldResolver.getInstance(); -<a name="43" href="#43">43</a> <em>/**<em>*</em></em> -<a name="44" href="#44">44</a> <em> * Date format.</em> -<a name="45" href="#45">45</a> <em> */</em> -<a name="46" href="#46">46</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> DateFormat DATE_FORMAT = -<a name="47" href="#47">47</a> <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy/MM/dd HH:mm:ss"</span>); -<a name="48" href="#48">48</a> <em>/**<em>*</em></em> -<a name="49" href="#49">49</a> <em> * Inequality symbol.</em> -<a name="50" href="#50">50</a> <em> */</em> -<a name="51" href="#51">51</a> <strong>private</strong> <strong>transient</strong> String inequalitySymbol; -<a name="52" href="#52">52</a> <em>/**<em>*</em></em> -<a name="53" href="#53">53</a> <em> * Timestamp.</em> -<a name="54" href="#54">54</a> <em> */</em> -<a name="55" href="#55">55</a> <strong>private</strong> <strong>long</strong> timeStamp; -<a name="56" href="#56">56</a> -<a name="57" href="#57">57</a> <em>/**<em>*</em></em> -<a name="58" href="#58">58</a> <em> * Create new instance.</em> -<a name="59" href="#59">59</a> <em> * @param inequalitySymbol inequality symbol.</em> -<a name="60" href="#60">60</a> <em> * @param value string representation of date.</em> -<a name="61" href="#61">61</a> <em> */</em> -<a name="62" href="#62">62</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/TimestampInequalityRule.html">TimestampInequalityRule</a>( -<a name="63" href="#63">63</a> <strong>final</strong> String inequalitySymbol, <strong>final</strong> String value) { -<a name="64" href="#64">64</a> <strong>super</strong>(); -<a name="65" href="#65">65</a> <strong>this</strong>.inequalitySymbol = inequalitySymbol; -<a name="66" href="#66">66</a> <strong>try</strong> { -<a name="67" href="#67">67</a> timeStamp = DATE_FORMAT.parse(value).getTime(); -<a name="68" href="#68">68</a> } <strong>catch</strong> (ParseException pe) { -<a name="69" href="#69">69</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Could not parse date: "</span> + value); -<a name="70" href="#70">70</a> } -<a name="71" href="#71">71</a> } -<a name="72" href="#72">72</a> -<a name="73" href="#73">73</a> <em>/**<em>*</em></em> -<a name="74" href="#74">74</a> <em> * Create new instance.</em> -<a name="75" href="#75">75</a> <em> * @param inequalitySymbol inequality symbol</em> -<a name="76" href="#76">76</a> <em> * @param value string representation of date</em> -<a name="77" href="#77">77</a> <em> * @return new instance</em> -<a name="78" href="#78">78</a> <em> */</em> -<a name="79" href="#79">79</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String inequalitySymbol, -<a name="80" href="#80">80</a> <strong>final</strong> String value) { -<a name="81" href="#81">81</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/TimestampInequalityRule.html">TimestampInequalityRule</a>(inequalitySymbol, value); -<a name="82" href="#82">82</a> } -<a name="83" href="#83">83</a> -<a name="84" href="#84">84</a> <em>/**<em>* {@inheritDoc} */</em></em> -<a name="85" href="#85">85</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="86" href="#86">86</a> <strong>long</strong> eventTimeStamp = Long.parseLong( -<a name="87" href="#87">87</a> RESOLVER.getValue(<span class="string">"TIMESTAMP"</span>, event).toString()) / 1000 * 1000; -<a name="88" href="#88">88</a> <strong>boolean</strong> result = false; -<a name="89" href="#89">89</a> <strong>long</strong> first = eventTimeStamp; -<a name="90" href="#90">90</a> <strong>long</strong> second = timeStamp; -<a name="91" href="#91">91</a> -<a name="92" href="#92">92</a> <strong>if</strong> (<span class="string">"&lt;"</span>.equals(inequalitySymbol)) { -<a name="93" href="#93">93</a> result = first &lt; second; -<a name="94" href="#94">94</a> } <strong>else</strong> <strong>if</strong> (<span class="string">">"</span>.equals(inequalitySymbol)) { -<a name="95" href="#95">95</a> result = first > second; -<a name="96" href="#96">96</a> } <strong>else</strong> <strong>if</strong> (<span class="string">"&lt;="</span>.equals(inequalitySymbol)) { -<a name="97" href="#97">97</a> result = first &lt;= second; -<a name="98" href="#98">98</a> } <strong>else</strong> <strong>if</strong> (<span class="string">">="</span>.equals(inequalitySymbol)) { -<a name="99" href="#99">99</a> result = first >= second; -<a name="100" href="#100">100</a> } -<a name="101" href="#101">101</a> -<a name="102" href="#102">102</a> <strong>return</strong> result; -<a name="103" href="#103">103</a> } -<a name="104" href="#104">104</a> -<a name="105" href="#105">105</a> <em>/**<em>*</em></em> -<a name="106" href="#106">106</a> <em> * Deserialize the state of the object.</em> -<a name="107" href="#107">107</a> <em> *</em> -<a name="108" href="#108">108</a> <em> * @param in object input stream</em> -<a name="109" href="#109">109</a> <em> *</em> -<a name="110" href="#110">110</a> <em> * @throws IOException if IO error during deserialization</em> -<a name="111" href="#111">111</a> <em> * @throws ClassNotFoundException if class not found</em> -<a name="112" href="#112">112</a> <em> */</em> -<a name="113" href="#113">113</a> <strong>private</strong> <strong>void</strong> readObject(<strong>final</strong> java.io.ObjectInputStream in) -<a name="114" href="#114">114</a> throws IOException, ClassNotFoundException { -<a name="115" href="#115">115</a> inequalitySymbol = (String) in.readObject(); -<a name="116" href="#116">116</a> timeStamp = in.readLong(); -<a name="117" href="#117">117</a> } -<a name="118" href="#118">118</a> -<a name="119" href="#119">119</a> <em>/**<em>*</em></em> -<a name="120" href="#120">120</a> <em> * Serialize the state of the object.</em> -<a name="121" href="#121">121</a> <em> *</em> -<a name="122" href="#122">122</a> <em> * @param out object output stream</em> -<a name="123" href="#123">123</a> <em> *</em> -<a name="124" href="#124">124</a> <em> * @throws IOException if IO error during serialization</em> -<a name="125" href="#125">125</a> <em> */</em> -<a name="126" href="#126">126</a> <strong>private</strong> <strong>void</strong> writeObject(<strong>final</strong> java.io.ObjectOutputStream out) -<a name="127" href="#127">127</a> throws IOException { -<a name="128" href="#128">128</a> out.writeObject(inequalitySymbol); -<a name="129" href="#129">129</a> out.writeLong(timeStamp); -<a name="130" href="#130">130</a> } -<a name="131" href="#131">131</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/spi/LoggingEventFieldResolver.html b/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/spi/LoggingEventFieldResolver.html deleted file mode 100644 index 3b59dd673a7..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/spi/LoggingEventFieldResolver.html +++ /dev/null @@ -1,273 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LoggingEventFieldResolver xref</title> -<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> -</head> -<body> -<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/spi/LoggingEventFieldResolver.html">View Javadoc</a></div><pre> - -<a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> -<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> -<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> -<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> -<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> -<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> -<a name="8" href="#8">8</a> <em class="comment"> *</em> -<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="10" href="#10">10</a> <em class="comment"> *</em> -<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> -<a name="16" href="#16">16</a> <em class="comment"> */</em> -<a name="17" href="#17">17</a> -<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.spi; -<a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> java.util.ArrayList; -<a name="21" href="#21">21</a> <strong>import</strong> java.util.List; -<a name="22" href="#22">22</a> <strong>import</strong> java.util.StringTokenizer; -<a name="23" href="#23">23</a> <strong>import</strong> java.util.Locale; -<a name="24" href="#24">24</a> -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <em>/**<em>*</em></em> -<a name="27" href="#27">27</a> <em> * A singleton helper utility which accepts a field name</em> -<a name="28" href="#28">28</a> <em> * and a LoggingEvent and returns the value of that field.</em> -<a name="29" href="#29">29</a> <em> *</em> -<a name="30" href="#30">30</a> <em> * This class defines a grammar used in creation of an expression-based Rule.</em> -<a name="31" href="#31">31</a> <em> *</em> -<a name="32" href="#32">32</a> <em> * The only available method is</em> -<a name="33" href="#33">33</a> <em> * Object getField(String fieldName, LoggingEvent event).</em> -<a name="34" href="#34">34</a> <em> *</em> -<a name="35" href="#35">35</a> <em> * Here is a description of the mapping of field names in the grammar</em> -<a name="36" href="#36">36</a> <em> * to fields on the logging event. While the getField method returns an Object,</em> -<a name="37" href="#37">37</a> <em> * the individual types returned per field are described here:</em> -<a name="38" href="#38">38</a> <em> *</em> -<a name="39" href="#39">39</a> <em> * Field Name Field value (String representation Return type</em> -<a name="40" href="#40">40</a> <em> * LOGGER category name (logger) String</em> -<a name="41" href="#41">41</a> <em> * LEVEL level Level</em> -<a name="42" href="#42">42</a> <em> * CLASS locationInformation's class name String</em> -<a name="43" href="#43">43</a> <em> * FILE locationInformation's file name String</em> -<a name="44" href="#44">44</a> <em> * LINE locationInformation's line number String</em> -<a name="45" href="#45">45</a> <em> * METHOD locationInformation's method name String</em> -<a name="46" href="#46">46</a> <em> * MSG message Object</em> -<a name="47" href="#47">47</a> <em> * NDC NDC String</em> -<a name="48" href="#48">48</a> <em> * EXCEPTION throwable string representation ThrowableInformation</em> -<a name="49" href="#49">49</a> <em> * TIMESTAMP timestamp Long</em> -<a name="50" href="#50">50</a> <em> * THREAD thread String</em> -<a name="51" href="#51">51</a> <em> * PROP.keyName entry in the Property hashtable String</em> -<a name="52" href="#52">52</a> <em> * mapped to the key [keyName]</em> -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <em> * NOTE: the values for the 'keyName' portion of the MDC and PROP mappings must</em> -<a name="55" href="#55">55</a> <em> * be an exact match to the key in the hashTable (case sensitive).</em> -<a name="56" href="#56">56</a> <em> *</em> -<a name="57" href="#57">57</a> <em> * If the passed-in field is null or doesn't match an entry</em> -<a name="58" href="#58">58</a> <em> * in the above-described mapping, an exception is thrown.</em> -<a name="59" href="#59">59</a> <em> *</em> -<a name="60" href="#60">60</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="61" href="#61">61</a> <em> * @author Paul Smith (psmith@apache.org)</em> -<a name="62" href="#62">62</a> <em> *</em> -<a name="63" href="#63">63</a> <em> */</em> -<a name="64" href="#64">64</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> { -<a name="65" href="#65">65</a> <em>/**<em>*</em></em> -<a name="66" href="#66">66</a> <em> * Keyword list.</em> -<a name="67" href="#67">67</a> <em> */</em> -<a name="68" href="#68">68</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> List KEYWORD_LIST = <strong>new</strong> ArrayList(); -<a name="69" href="#69">69</a> <em>/**<em>*</em></em> -<a name="70" href="#70">70</a> <em> * LOGGER string literal.</em> -<a name="71" href="#71">71</a> <em> */</em> -<a name="72" href="#72">72</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String LOGGER_FIELD = <span class="string">"LOGGER"</span>; -<a name="73" href="#73">73</a> <em>/**<em>*</em></em> -<a name="74" href="#74">74</a> <em> * LEVEL string literal.</em> -<a name="75" href="#75">75</a> <em> */</em> -<a name="76" href="#76">76</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String LEVEL_FIELD = <span class="string">"LEVEL"</span>; -<a name="77" href="#77">77</a> <em>/**<em>*</em></em> -<a name="78" href="#78">78</a> <em> * CLASS string literal.</em> -<a name="79" href="#79">79</a> <em> */</em> -<a name="80" href="#80">80</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String CLASS_FIELD = <span class="string">"CLASS"</span>; -<a name="81" href="#81">81</a> <em>/**<em>*</em></em> -<a name="82" href="#82">82</a> <em> * FILE string literal.</em> -<a name="83" href="#83">83</a> <em> */</em> -<a name="84" href="#84">84</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String FILE_FIELD = <span class="string">"FILE"</span>; -<a name="85" href="#85">85</a> <em>/**<em>*</em></em> -<a name="86" href="#86">86</a> <em> * LINE string literal.</em> -<a name="87" href="#87">87</a> <em> */</em> -<a name="88" href="#88">88</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String LINE_FIELD = <span class="string">"LINE"</span>; -<a name="89" href="#89">89</a> <em>/**<em>*</em></em> -<a name="90" href="#90">90</a> <em> * METHOD string literal.</em> -<a name="91" href="#91">91</a> <em> */</em> -<a name="92" href="#92">92</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String METHOD_FIELD = <span class="string">"METHOD"</span>; -<a name="93" href="#93">93</a> <em>/**<em>*</em></em> -<a name="94" href="#94">94</a> <em> * MSG string literal.</em> -<a name="95" href="#95">95</a> <em> */</em> -<a name="96" href="#96">96</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String MSG_FIELD = <span class="string">"MSG"</span>; -<a name="97" href="#97">97</a> <em>/**<em>*</em></em> -<a name="98" href="#98">98</a> <em> * NDC string literal.</em> -<a name="99" href="#99">99</a> <em> */</em> -<a name="100" href="#100">100</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String NDC_FIELD = <span class="string">"NDC"</span>; -<a name="101" href="#101">101</a> <em>/**<em>*</em></em> -<a name="102" href="#102">102</a> <em> * EXCEPTION string literal.</em> -<a name="103" href="#103">103</a> <em> */</em> -<a name="104" href="#104">104</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String EXCEPTION_FIELD = <span class="string">"EXCEPTION"</span>; -<a name="105" href="#105">105</a> <em>/**<em>*</em></em> -<a name="106" href="#106">106</a> <em> * TIMESTAMP string literal.</em> -<a name="107" href="#107">107</a> <em> */</em> -<a name="108" href="#108">108</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String TIMESTAMP_FIELD = <span class="string">"TIMESTAMP"</span>; -<a name="109" href="#109">109</a> <em>/**<em>*</em></em> -<a name="110" href="#110">110</a> <em> * THREAD string literal.</em> -<a name="111" href="#111">111</a> <em> */</em> -<a name="112" href="#112">112</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String THREAD_FIELD = <span class="string">"THREAD"</span>; -<a name="113" href="#113">113</a> <em>/**<em>*</em></em> -<a name="114" href="#114">114</a> <em> * PROP. string literal.</em> -<a name="115" href="#115">115</a> <em> */</em> -<a name="116" href="#116">116</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String PROP_FIELD = <span class="string">"PROP."</span>; -<a name="117" href="#117">117</a> <em>/**<em>*</em></em> -<a name="118" href="#118">118</a> <em> * empty string literal.</em> -<a name="119" href="#119">119</a> <em> */</em> -<a name="120" href="#120">120</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String EMPTY_STRING = <span class="string">""</span>; -<a name="121" href="#121">121</a> <em>/**<em>*</em></em> -<a name="122" href="#122">122</a> <em> * LOGGER string literal.</em> -<a name="123" href="#123">123</a> <em> */</em> -<a name="124" href="#124">124</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = -<a name="125" href="#125">125</a> <strong>new</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a>(); -<a name="126" href="#126">126</a> -<a name="127" href="#127">127</a> <em>/**<em>*</em></em> -<a name="128" href="#128">128</a> <em> * Create new instance.</em> -<a name="129" href="#129">129</a> <em> */</em> -<a name="130" href="#130">130</a> <strong>private</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a>() { -<a name="131" href="#131">131</a> <strong>super</strong>(); -<a name="132" href="#132">132</a> KEYWORD_LIST.add(LOGGER_FIELD); -<a name="133" href="#133">133</a> KEYWORD_LIST.add(LEVEL_FIELD); -<a name="134" href="#134">134</a> KEYWORD_LIST.add(CLASS_FIELD); -<a name="135" href="#135">135</a> KEYWORD_LIST.add(FILE_FIELD); -<a name="136" href="#136">136</a> KEYWORD_LIST.add(LINE_FIELD); -<a name="137" href="#137">137</a> KEYWORD_LIST.add(METHOD_FIELD); -<a name="138" href="#138">138</a> KEYWORD_LIST.add(MSG_FIELD); -<a name="139" href="#139">139</a> KEYWORD_LIST.add(NDC_FIELD); -<a name="140" href="#140">140</a> KEYWORD_LIST.add(EXCEPTION_FIELD); -<a name="141" href="#141">141</a> KEYWORD_LIST.add(TIMESTAMP_FIELD); -<a name="142" href="#142">142</a> KEYWORD_LIST.add(THREAD_FIELD); -<a name="143" href="#143">143</a> KEYWORD_LIST.add(PROP_FIELD); -<a name="144" href="#144">144</a> } -<a name="145" href="#145">145</a> -<a name="146" href="#146">146</a> <em>/**<em>*</em></em> -<a name="147" href="#147">147</a> <em> * Apply fields.</em> -<a name="148" href="#148">148</a> <em> * @param replaceText replacement text.</em> -<a name="149" href="#149">149</a> <em> * @param event logging event.</em> -<a name="150" href="#150">150</a> <em> * @return evaluted expression</em> -<a name="151" href="#151">151</a> <em> */</em> -<a name="152" href="#152">152</a> <strong>public</strong> String applyFields(<strong>final</strong> String replaceText, -<a name="153" href="#153">153</a> <strong>final</strong> LoggingEvent event) { -<a name="154" href="#154">154</a> <strong>if</strong> (replaceText == <strong>null</strong>) { -<a name="155" href="#155">155</a> <strong>return</strong> <strong>null</strong>; -<a name="156" href="#156">156</a> } -<a name="157" href="#157">157</a> StringTokenizer tokenizer = <strong>new</strong> StringTokenizer(replaceText); -<a name="158" href="#158">158</a> StringBuffer result = <strong>new</strong> StringBuffer(); -<a name="159" href="#159">159</a> <strong>boolean</strong> found = false; -<a name="160" href="#160">160</a> -<a name="161" href="#161">161</a> <strong>while</strong> (tokenizer.hasMoreTokens()) { -<a name="162" href="#162">162</a> String token = tokenizer.nextToken(); -<a name="163" href="#163">163</a> <strong>if</strong> (isField(token) || token.toUpperCase(Locale.US).startsWith(PROP_FIELD)) { -<a name="164" href="#164">164</a> result.append(getValue(token, event).toString()); -<a name="165" href="#165">165</a> found = <strong>true</strong>; -<a name="166" href="#166">166</a> } <strong>else</strong> { -<a name="167" href="#167">167</a> result.append(token); -<a name="168" href="#168">168</a> } -<a name="169" href="#169">169</a> } -<a name="170" href="#170">170</a> <strong>if</strong> (found) { -<a name="171" href="#171">171</a> <strong>return</strong> result.toString(); -<a name="172" href="#172">172</a> } -<a name="173" href="#173">173</a> <strong>return</strong> <strong>null</strong>; -<a name="174" href="#174">174</a> } -<a name="175" href="#175">175</a> -<a name="176" href="#176">176</a> <em>/**<em>*</em></em> -<a name="177" href="#177">177</a> <em> * Get singleton instance.</em> -<a name="178" href="#178">178</a> <em> * @return singleton instance</em> -<a name="179" href="#179">179</a> <em> */</em> -<a name="180" href="#180">180</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> getInstance() { -<a name="181" href="#181">181</a> <strong>return</strong> RESOLVER; -<a name="182" href="#182">182</a> } -<a name="183" href="#183">183</a> -<a name="184" href="#184">184</a> <em>/**<em>*</em></em> -<a name="185" href="#185">185</a> <em> * Determines if specified string is a recognized field.</em> -<a name="186" href="#186">186</a> <em> * @param fieldName field name</em> -<a name="187" href="#187">187</a> <em> * @return true if recognized field.</em> -<a name="188" href="#188">188</a> <em> */</em> -<a name="189" href="#189">189</a> <strong>public</strong> <strong>boolean</strong> isField(<strong>final</strong> String fieldName) { -<a name="190" href="#190">190</a> <strong>if</strong> (fieldName != <strong>null</strong>) { -<a name="191" href="#191">191</a> <strong>return</strong> (KEYWORD_LIST.contains( -<a name="192" href="#192">192</a> fieldName.toUpperCase(Locale.US)) -<a name="193" href="#193">193</a> || fieldName.toUpperCase().startsWith(PROP_FIELD)); -<a name="194" href="#194">194</a> } -<a name="195" href="#195">195</a> <strong>return</strong> false; -<a name="196" href="#196">196</a> } -<a name="197" href="#197">197</a> -<a name="198" href="#198">198</a> <em>/**<em>*</em></em> -<a name="199" href="#199">199</a> <em> * Get value of field.</em> -<a name="200" href="#200">200</a> <em> * @param fieldName field</em> -<a name="201" href="#201">201</a> <em> * @param event event</em> -<a name="202" href="#202">202</a> <em> * @return value of field</em> -<a name="203" href="#203">203</a> <em> */</em> -<a name="204" href="#204">204</a> <strong>public</strong> Object getValue(<strong>final</strong> String fieldName, -<a name="205" href="#205">205</a> <strong>final</strong> LoggingEvent event) { -<a name="206" href="#206">206</a> String upperField = fieldName.toUpperCase(Locale.US); -<a name="207" href="#207">207</a> <strong>if</strong> (LOGGER_FIELD.equals(upperField)) { -<a name="208" href="#208">208</a> <strong>return</strong> event.getLoggerName(); -<a name="209" href="#209">209</a> } <strong>else</strong> <strong>if</strong> (LEVEL_FIELD.equals(upperField)) { -<a name="210" href="#210">210</a> <strong>return</strong> event.getLevel(); -<a name="211" href="#211">211</a> } <strong>else</strong> <strong>if</strong> (MSG_FIELD.equals(upperField)) { -<a name="212" href="#212">212</a> <strong>return</strong> event.getMessage(); -<a name="213" href="#213">213</a> } <strong>else</strong> <strong>if</strong> (NDC_FIELD.equals(upperField)) { -<a name="214" href="#214">214</a> String ndcValue = event.getNDC(); -<a name="215" href="#215">215</a> <strong>return</strong> ((ndcValue == <strong>null</strong>) ? EMPTY_STRING : ndcValue); -<a name="216" href="#216">216</a> } <strong>else</strong> <strong>if</strong> (EXCEPTION_FIELD.equals(upperField)) { -<a name="217" href="#217">217</a> String[] throwableRep = event.getThrowableStrRep(); -<a name="218" href="#218">218</a> <strong>if</strong> (throwableRep == <strong>null</strong>) { -<a name="219" href="#219">219</a> <strong>return</strong> EMPTY_STRING; -<a name="220" href="#220">220</a> } <strong>else</strong> { -<a name="221" href="#221">221</a> <strong>return</strong> getExceptionMessage(throwableRep); -<a name="222" href="#222">222</a> } -<a name="223" href="#223">223</a> } <strong>else</strong> <strong>if</strong> (TIMESTAMP_FIELD.equals(upperField)) { -<a name="224" href="#224">224</a> <strong>return</strong> <strong>new</strong> Long(event.timeStamp); -<a name="225" href="#225">225</a> } <strong>else</strong> <strong>if</strong> (THREAD_FIELD.equals(upperField)) { -<a name="226" href="#226">226</a> <strong>return</strong> event.getThreadName(); -<a name="227" href="#227">227</a> } <strong>else</strong> <strong>if</strong> (upperField.startsWith(PROP_FIELD)) { -<a name="228" href="#228">228</a> <em class="comment">//note: need to use actual fieldname since case matters</em> -<a name="229" href="#229">229</a> Object propValue = event.getMDC(fieldName.substring(5)); -<a name="230" href="#230">230</a> <strong>return</strong> ((propValue == <strong>null</strong>) ? EMPTY_STRING : propValue.toString()); -<a name="231" href="#231">231</a> } <strong>else</strong> { -<a name="232" href="#232">232</a> LocationInfo info = event.getLocationInformation(); -<a name="233" href="#233">233</a> <strong>if</strong> (CLASS_FIELD.equals(upperField)) { -<a name="234" href="#234">234</a> <strong>return</strong> ((info == <strong>null</strong>) ? EMPTY_STRING : info.getClassName()); -<a name="235" href="#235">235</a> } <strong>else</strong> <strong>if</strong> (FILE_FIELD.equals(upperField)) { -<a name="236" href="#236">236</a> <strong>return</strong> ((info == <strong>null</strong>) ? EMPTY_STRING : info.getFileName()); -<a name="237" href="#237">237</a> } <strong>else</strong> <strong>if</strong> (LINE_FIELD.equals(upperField)) { -<a name="238" href="#238">238</a> <strong>return</strong> ((info == <strong>null</strong>) ? EMPTY_STRING : info.getLineNumber()); -<a name="239" href="#239">239</a> } <strong>else</strong> <strong>if</strong> (METHOD_FIELD.equals(upperField)) { -<a name="240" href="#240">240</a> <strong>return</strong> ((info == <strong>null</strong>) ? EMPTY_STRING : info.getMethodName()); -<a name="241" href="#241">241</a> } -<a name="242" href="#242">242</a> } -<a name="243" href="#243">243</a> -<a name="244" href="#244">244</a> <em class="comment">//there wasn't a match, so throw a runtime exception</em> -<a name="245" href="#245">245</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Unsupported field name: "</span> + fieldName); -<a name="246" href="#246">246</a> } -<a name="247" href="#247">247</a> -<a name="248" href="#248">248</a> <em>/**<em>*</em></em> -<a name="249" href="#249">249</a> <em> * Get message from throwable representation.</em> -<a name="250" href="#250">250</a> <em> * @param exception exception</em> -<a name="251" href="#251">251</a> <em> * @return message</em> -<a name="252" href="#252">252</a> <em> */</em> -<a name="253" href="#253">253</a> <strong>private</strong> <strong>static</strong> String getExceptionMessage(<strong>final</strong> String[] exception) { -<a name="254" href="#254">254</a> StringBuffer buff = <strong>new</strong> StringBuffer(); -<a name="255" href="#255">255</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; exception.length; i++) { -<a name="256" href="#256">256</a> buff.append(exception[i]); -<a name="257" href="#257">257</a> } -<a name="258" href="#258">258</a> <strong>return</strong> buff.toString(); -<a name="259" href="#259">259</a> } -<a name="260" href="#260">260</a> } -</pre> -<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> -</html> - diff --git a/thirdparty/apache-log4j-extras-1.0/src/changes/changes.xml b/thirdparty/apache-log4j-extras-1.0/src/changes/changes.xml deleted file mode 100644 index 010bfdd0340..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/src/changes/changes.xml +++ /dev/null @@ -1,35 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---> -<document> - <properties> - <title>apache-log4j-extras</title> - </properties> - <body> - <release version="1.0" date="2007-08-25" description="Initial release"> - <action issue="42783" type="add">Create an "extras" companion for log4j 1.2</action> - <action issue="42251" type="add">Backport log4j 1.3 rolling file appender for use with log4j 1.2.</action> - <action issue="42099" type="add">ExpressionFilter backport.</action> - <action issue="43151" type="add">Add TimeFilter.</action> - <action issue="43077" type="add">Add XSLTLayout.</action> - <action issue="42589" type="add">Parameterized logging for log4j 1.2.</action> - <action issue="32572" type="add">FilterBasedTriggeringPolicy now usable with SMTPAppender.</action> - <action issue="40937" type="add">Avoid Turkish-i problem in ExpressionFilter.</action> - <action issue="42257" type="add">Enhance DOMConfigurator to delegate unrecognized elements to created objects.</action> - </release> - </body> -</document> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/resources/META-INF/NOTICE b/thirdparty/apache-log4j-extras-1.0/src/main/resources/META-INF/NOTICE deleted file mode 100644 index e02b7500ec3..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/src/main/resources/META-INF/NOTICE +++ /dev/null @@ -1,5 +0,0 @@ -Apache Extras Companion for log4j 1.2. -Copyright 2007 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/src/site/apt/download.apt b/thirdparty/apache-log4j-extras-1.0/src/site/apt/download.apt deleted file mode 100644 index 2b6df8f5b2c..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/src/site/apt/download.apt +++ /dev/null @@ -1,39 +0,0 @@ -~~ Licensed to the Apache Software Foundation (ASF) under one or more -~~ contributor license agreements. See the NOTICE file distributed with -~~ this work for additional information regarding copyright ownership. -~~ The ASF licenses this file to You under the Apache License, Version 2.0 -~~ (the "License"); you may not use this file except in compliance with -~~ the License. You may obtain a copy of the License at -~~ -~~ http://www.apache.org/licenses/LICENSE-2.0 -~~ -~~ Unless required by applicable law or agreed to in writing, software -~~ distributed under the License is distributed on an "AS IS" BASIS, -~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -~~ See the License for the specific language governing permissions and -~~ limitations under the License. - ------ -Download apache-log4j-extras - ------ - ------ - ------ - -Download apache-log4j-extras - - Apache Extras Companion for log4j 1.2 is distributed under the {{{http://www.apache.org/licenses/LICENSE-2.0.html} Apache License, version 2.0}}. - - The link in the Mirrors column should display a list of available mirrors with a - default selection based on your inferred location. If you do not see that page, - try a different browser. The checksum and signature are links to - the originals on the main distribution server. - -*-------------------------+---------+----------+-----------+ -| | Mirrors | Checksum | Signature | -*-------------------------+---------+----------+-----------+ -| apache-log4j-extras-1.0 (tar.gz) | {{{http://www.apache.org/dyn/closer.cgi/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.tar.gz} apache-log4j-extras-1.0.tar.gz}} | {{{http://www.apache.org/dist/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.tar.gz.md5} apache-log4j-extras-1.0.tar.gz.md5}} | {{{http://www.apache.org/dist/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.tar.gz.asc} apache-log4j-extras-1.0.tar.gz.asc}} | -*-------------------------+---------+----------+-----------+ -| apache-log4j-extras-1.0 (zip) | {{{http://www.apache.org/dyn/closer.cgi/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.zip} apache-log4j-extras-1.0.zip}} | {{{http://www.apache.org/dist/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.zip.md5} apache-log4j-extras-1.0.zip.md5}} | {{{http://www.apache.org/dist/logging/log4j/companions/extras/1.0/apache-log4j-extras-1.0.zip.asc} apache-log4j-extras-1.0.zip.asc}} | -*-------------------------+---------+----------+-----------+ - - Please read {{{http://httpd.apache.org/dev/verification.html}Verifying Apache HTTP Server Releases}} - for more information on why you should verify our releases. diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.13 b/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.13 deleted file mode 100644 index eb32227b521..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.13 +++ /dev/null @@ -1,75 +0,0 @@ -[main] DEBUG apache.log4j.PatternLayoutTestCase.common(X): Message 0 -[main] DEBUG apache.log4j.PatternLayoutTestCase.common(X): Message 0 -[main] INFO apache.log4j.PatternLayoutTestCase.common(X): Message 1 -[main] INFO apache.log4j.PatternLayoutTestCase.common(X): Message 1 -[main] WARN apache.log4j.PatternLayoutTestCase.common(X): Message 2 -[main] WARN apache.log4j.PatternLayoutTestCase.common(X): Message 2 -[main] ERROR apache.log4j.PatternLayoutTestCase.common(X): Message 3 -[main] ERROR apache.log4j.PatternLayoutTestCase.common(X): Message 3 -[main] FATAL apache.log4j.PatternLayoutTestCase.common(X): Message 4 -[main] FATAL apache.log4j.PatternLayoutTestCase.common(X): Message 4 -[main] DEBUG apache.log4j.PatternLayoutTestCase.common(X): Message 5 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test13(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) -[main] INFO apache.log4j.PatternLayoutTestCase.common(X): Message 6 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test13(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) -[main] WARN apache.log4j.PatternLayoutTestCase.common(X): Message 7 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test13(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) -[main] ERROR apache.log4j.PatternLayoutTestCase.common(X): Message 8 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test13(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) -[main] FATAL apache.log4j.PatternLayoutTestCase.common(X): Message 9 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test13(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.6 b/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.6 deleted file mode 100644 index 9e4d14cc5a6..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.6 +++ /dev/null @@ -1,75 +0,0 @@ - [main] DEBUG atternLayoutTest - Message 0 - [main] DEBUG root - Message 0 - [main] INFO atternLayoutTest - Message 1 - [main] INFO root - Message 1 - [main] WARN atternLayoutTest - Message 2 - [main] WARN root - Message 2 - [main] ERROR atternLayoutTest - Message 3 - [main] ERROR root - Message 3 - [main] FATAL atternLayoutTest - Message 4 - [main] FATAL root - Message 4 - [main] DEBUG atternLayoutTest - Message 5 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test6(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] INFO atternLayoutTest - Message 6 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test6(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] WARN atternLayoutTest - Message 7 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test6(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] ERROR atternLayoutTest - Message 8 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test6(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] FATAL atternLayoutTest - Message 9 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test6(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.7 b/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.7 deleted file mode 100644 index 4a1d8981c39..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.7 +++ /dev/null @@ -1,75 +0,0 @@ - [main] DEBUG atternLayoutTest - Message 0 - [main] DEBUG root - Message 0 - [main] INFO atternLayoutTest - Message 1 - [main] INFO root - Message 1 - [main] WARN atternLayoutTest - Message 2 - [main] WARN root - Message 2 - [main] ERROR atternLayoutTest - Message 3 - [main] ERROR root - Message 3 - [main] FATAL atternLayoutTest - Message 4 - [main] FATAL root - Message 4 - [main] DEBUG atternLayoutTest - Message 5 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test7(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] INFO atternLayoutTest - Message 6 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test7(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] WARN atternLayoutTest - Message 7 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test7(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] ERROR atternLayoutTest - Message 8 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test7(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] FATAL atternLayoutTest - Message 9 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test7(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.8 b/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.8 deleted file mode 100644 index 64906c697ab..00000000000 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.8 +++ /dev/null @@ -1,75 +0,0 @@ - [main] DEBUG atternLayoutTest - Message 0 - [main] DEBUG root - Message 0 - [main] INFO atternLayoutTest - Message 1 - [main] INFO root - Message 1 - [main] WARN atternLayoutTest - Message 2 - [main] WARN root - Message 2 - [main] ERROR atternLayoutTest - Message 3 - [main] ERROR root - Message 3 - [main] FATAL atternLayoutTest - Message 4 - [main] FATAL root - Message 4 - [main] DEBUG atternLayoutTest - Message 5 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test8(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] INFO atternLayoutTest - Message 6 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test8(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] WARN atternLayoutTest - Message 7 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test8(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] ERROR atternLayoutTest - Message 8 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test8(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) - [main] FATAL atternLayoutTest - Message 9 -java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test8(X) - at java.lang.reflect.Method.invoke(X) - at junit.framework.TestCase.runTest(X) - at junit.framework.TestCase.runBare(X) - at junit.framework.TestResult$1.protect(X) - at junit.framework.TestResult.runProtected(X) - at junit.framework.TestResult.run(X) - at junit.framework.TestCase.run(X) - at junit.framework.TestSuite.runTest(X) - at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/LICENSE b/thirdparty/apache-log4j-extras-1.1/LICENSE new file mode 100644 index 00000000000..6279e5206de --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/LICENSE @@ -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/thirdparty/apache-log4j-extras-1.1/NOTICE b/thirdparty/apache-log4j-extras-1.1/NOTICE new file mode 100644 index 00000000000..606a8a78832 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/NOTICE @@ -0,0 +1,5 @@ +Apache Extras Companion for log4j 1.2. +Copyright 2010 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/thirdparty/apache-log4j-extras-1.1/apache-log4j-extras-1.1.jar b/thirdparty/apache-log4j-extras-1.1/apache-log4j-extras-1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..61ab1c9c7aca3288d53f9337b6fccd77cfedb251 GIT binary patch literal 346729 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%0AXvUhW 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 IffDoo08+PodjJ3c literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.0/build.xml b/thirdparty/apache-log4j-extras-1.1/build.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/build.xml rename to thirdparty/apache-log4j-extras-1.1/build.xml diff --git a/thirdparty/apache-log4j-extras-1.0/pom.xml b/thirdparty/apache-log4j-extras-1.1/pom.xml similarity index 57% rename from thirdparty/apache-log4j-extras-1.0/pom.xml rename to thirdparty/apache-log4j-extras-1.1/pom.xml index 8b868d1e4fa..8dbd2ce80f8 100644 --- a/thirdparty/apache-log4j-extras-1.0/pom.xml +++ b/thirdparty/apache-log4j-extras-1.1/pom.xml @@ -19,12 +19,12 @@ <modelVersion>4.0.0</modelVersion> <groupId>log4j</groupId> <artifactId>apache-log4j-extras</artifactId> - <packaging>jar</packaging> - <version>1.0</version> - <name>Apache Extras Companion for log4j 1.2.</name> + <packaging>bundle</packaging> + <version>1.1</version> + <name>Apache Extras Companion™ for Apache log4j™.</name> <description>This companion provides additional appenders, filters and - other capabilities for log4j 1.2. Several of these were backported from - the abandoned log4j 1.3 development effort.</description> + other capabilities for version 1.2 of Apache log4j™. Several of these were backported from + the abandoned Apache log4j 1.3 development effort.</description> <url>http://logging.apache.org:80/log4j/companions/extras</url> <issueManagement> <system>Bugzilla</system> @@ -66,16 +66,27 @@ </license> </licenses> <scm> - <connection>scm:svn:http://svn.apache.org/repos/asf/logging/log4j/companions/extras/tags/v1_0_rc5</connection> - <developerConnection>scm:svn:https://svn.apache.org/repos/asf/logging/log4j/companions/extras/tags/v1_0_rc5</developerConnection> - <url>http://svn.apache.org/viewcvs.cgi/logging/log4j/companions/extras/tags/v1_0_rc5</url> + <connection>scm:svn:http://svn.apache.org/repos/asf/logging/log4j/companions/extras/tags/v1_1</connection> + <developerConnection>scm:svn:https://svn.apache.org/repos/asf/logging/log4j/companions/extras/tags/v1_1</developerConnection> + <url>http://svn.apache.org/viewcvs.cgi/logging/log4j/companions/extras/tags/v1_1</url> </scm> <organization> - <name>Apache Software Foundation</name> + <name>The Apache Software Foundation</name> <url>http://www.apache.org</url> </organization> <build> <plugins> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <configuration> + <encoding>UTF-8</encoding> + </configuration> + </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> @@ -85,8 +96,9 @@ <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> - <source>1.2</source> - <target>1.1</target> + <source>1.4</source> + <target>1.4</target> + <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> @@ -114,11 +126,11 @@ <id>untag-site</id> <configuration> <tasks> - <taskdef name="replaceregexp" classname="org.apache.tools.ant.taskdefs.optional.ReplaceRegExp" /> - <replaceregexp file="target/site/source-repository.html" match="/tags/[^ ]*" replace="/trunk" flags="g" /> - <replaceregexp match="-- Generated by (.*) on .*--" replace="-- Generated by \1 --" flags="g"> - <fileset dir="target/site/apidocs" includes="**/*.html" /> - </replaceregexp> + <taskdef name="replaceregexp" classname="org.apache.tools.ant.taskdefs.optional.ReplaceRegExp" /> + <replaceregexp file="target/site/source-repository.html" match="/tags/[^ &quot;'&lt;]*" replace="/trunk" flags="g" /> + <replaceregexp match="-- Generated by (.*) on .*--" replace="-- Generated by \1 --" flags="g"> + <fileset dir="target/site/apidocs" includes="**/*.html" /> + </replaceregexp> </tasks> </configuration> <goals> @@ -149,6 +161,23 @@ <goal>run</goal> </goals> </execution> + <execution> + <id>javadoc.resources</id> + <phase>generate-sources</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <tasks> + <copy todir="${project.build.directory}/apidocs/META-INF"> + <fileset dir="${basedir}"> + <include name="LICENSE" /> + <include name="NOTICE" /> + </fileset> + </copy> + </tasks> + </configuration> + </execution> </executions> <dependencies> <dependency> @@ -156,13 +185,18 @@ <artifactId>ant-nodeps</artifactId> <version>1.6.5</version> </dependency> + <dependency> + <groupId>ant</groupId> + <artifactId>ant</artifactId> + <version>1.6.5</version> + </dependency> <dependency> <groupId>ant-contrib</groupId> <artifactId>ant-contrib</artifactId> <version>1.0b2</version> </dependency> </dependencies> - </plugin> + </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> @@ -170,17 +204,37 @@ <descriptor>src/assembly/bin.xml</descriptor> </descriptors> <appendAssemblyId>false</appendAssemblyId> + <goals>site:site</goals> </configuration> <executions> <execution> + <phase>package</phase> <goals> <goal>assembly</goal> </goals> </execution> </executions> </plugin> + <plugin> + <artifactId>maven-site-plugin</artifactId> + <configuration> + <templateFile>${basedir}/src/site/maven-site.vm</templateFile> + </configuration> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>site</goal> + </goals> + </execution> + </executions> + </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <encoding>UTF-8</encoding> + <docEncoding>UTF-8</docEncoding> + </configuration> <executions> <execution> <goals> @@ -199,11 +253,62 @@ </goals> </execution> </executions> - </plugin> + </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>rat-maven-plugin</artifactId> - </plugin> + <version>1.0-alpha-3</version> + <configuration> + <excludes> + <exclude>src/test/resources/org/apache/log4j/**/*.log</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.null</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.throwable</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.0</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.1</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.2</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.3</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.4</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.5</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.6</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.7</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.8</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.9</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.9</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.10</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.11</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.12</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.13</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.14</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.15</exclude> + <exclude>src/test/resources/org/apache/log4j/**/*.17</exclude> + <exclude>site/**/*-frame.html</exclude> + <exclude>site/**/*-summary.html</exclude> + <exclude>site/xref*/index.html</exclude> + <exclude>site/pmd.xml</exclude> + <exclude>site/cpd.xml</exclude> + <exclude>site/apidocs/**/*</exclude> + <exclude>site/testapidocs/**/*</exclude> + <exclude>site/css/maven-theme.css</exclude> + </excludes> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>2.1.0</version> + <extensions>true</extensions> + <configuration> + <instructions> + <Export-Package>org.apache.log4j.extras;version=1.1, + org.apache.log4j.filter;version=1.1, + org.apache.log4j.rolling;version=1.1, + org.apache.log4j.rule;version=1.1</Export-Package> + <Import-Package>!com.ibm.uvm.tools.*,*</Import-Package> + <Bundle-DocURL>http://logging.apache.org/log4j/companions/extras/index.html</Bundle-DocURL> + </instructions> + </configuration> + </plugin> + </plugins> </build> <dependencies> @@ -216,15 +321,17 @@ <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> - <version>1.2.9</version> - </dependency> + <version>1.2.16</version> + </dependency> </dependencies> <reporting> - - <excludeDefaults>true</excludeDefaults> + + <excludeDefaults>true</excludeDefaults> <plugins> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> + <!-- version 2.2 runs into http://jira.codehaus.org/browse/DOXIA-215 --> + <version>2.1</version> <reportSets> <reportSet> <reports> @@ -233,7 +340,6 @@ <report>cim</report> <report>issue-tracking</report> <report>mailing-list</report> - <report>license</report> </reports> </reportSet> </reportSets> @@ -244,7 +350,7 @@ </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> - <!-- attempt to work-around MRELEASE-273, see bug 42099 for release build notes --> + <version>2.0-beta-9</version> <configuration> <goals>package site-deploy assembly:attached deploy</goals> </configuration> @@ -261,12 +367,20 @@ <configuration> <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate> </configuration> - </plugin> + </plugin> <plugin> <artifactId>maven-pmd-plugin</artifactId> + <configuration> + <encoding>UTF-8</encoding> + </configuration> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <encoding>UTF-8</encoding> + <bottom><![CDATA[<p>Copyright ]]>© {currentYear} The Apache Software Foundation. Licensed under the <![CDATA[<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> +<p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p>]]></bottom> + </configuration> </plugin> </plugins> </reporting> @@ -279,5 +393,5 @@ <id>logging.site</id> <url>scp://localhost/${user.dir}/target/site-deploy</url> </site> - </distributionManagement> + </distributionManagement> </project> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/allclasses-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/allclasses-frame.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/allclasses-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/allclasses-frame.html index 748e86b55db..d88839b5561 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/allclasses-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/allclasses-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) +All Classes (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> @@ -44,6 +44,8 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/rolling/helper/CompositeAction.html" title="class in org.apache.log4j.rolling.helper" target="classFrame">CompositeAction</A> <BR> +<A HREF="org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling" target="classFrame">CompositeTriggeringPolicy</A> +<BR> <A HREF="org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">DatePatternConverter</A> <BR> <A HREF="org/apache/log4j/filter/DenyAllFilter.html" title="class in org.apache.log4j.filter" target="classFrame">DenyAllFilter</A> @@ -80,6 +82,8 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule" target="classFrame">InFixToPostFix</A> <BR> +<A HREF="org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule" target="classFrame">InFixToPostFix.CustomTokenizer</A> +<BR> <A HREF="org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">IntegerPatternConverter</A> <BR> <A HREF="org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule" target="classFrame">LevelEqualsRule</A> @@ -116,6 +120,8 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/LogSF.html" title="class in org.apache.log4j" target="classFrame">LogSF</A> <BR> +<A HREF="org/apache/log4j/LogXF.html" title="class in org.apache.log4j" target="classFrame">LogXF</A> +<BR> <A HREF="org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers" target="classFrame">MDCKeySetExtractor</A> <BR> <A HREF="org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">MessagePatternConverter</A> @@ -130,6 +136,8 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule" target="classFrame">NotEqualsRule</A> <BR> +<A HREF="org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule" target="classFrame">NotLevelEqualsRule</A> +<BR> <A HREF="org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule" target="classFrame">NotRule</A> <BR> <A HREF="org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule" target="classFrame">OrRule</A> @@ -162,6 +170,8 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling" target="classFrame">SizeBasedTriggeringPolicy</A> <BR> +<A HREF="org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras" target="classFrame">SoundAppender</A> +<BR> <A HREF="org/apache/log4j/varia/SoundAppender.html" title="class in org.apache.log4j.varia" target="classFrame">SoundAppender</A> <BR> <A HREF="org/apache/log4j/filter/StringMatchFilter.html" title="class in org.apache.log4j.filter" target="classFrame">StringMatchFilter</A> @@ -182,8 +192,12 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml" target="classFrame"><I>UnrecognizedElementHandler</I></A> <BR> +<A HREF="org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras" target="classFrame">UtilLoggingLevel</A> +<BR> <A HREF="org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers" target="classFrame">UtilLoggingLevel</A> <BR> +<A HREF="org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras" target="classFrame">XSLTLayout</A> +<BR> <A HREF="org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml" target="classFrame">XSLTLayout</A> <BR> <A HREF="org/apache/log4j/rolling/helper/ZipCompressAction.html" title="class in org.apache.log4j.rolling.helper" target="classFrame">ZipCompressAction</A> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/allclasses-noframe.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/allclasses-noframe.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/allclasses-noframe.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/allclasses-noframe.html index e8a7e606f64..8e0542cd791 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/allclasses-noframe.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/allclasses-noframe.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) +All Classes (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> @@ -44,6 +44,8 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/rolling/helper/CompositeAction.html" title="class in org.apache.log4j.rolling.helper">CompositeAction</A> <BR> +<A HREF="org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A> +<BR> <A HREF="org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A> <BR> <A HREF="org/apache/log4j/filter/DenyAllFilter.html" title="class in org.apache.log4j.filter">DenyAllFilter</A> @@ -80,6 +82,8 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule">InFixToPostFix</A> <BR> +<A HREF="org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule">InFixToPostFix.CustomTokenizer</A> +<BR> <A HREF="org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A> <BR> <A HREF="org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule">LevelEqualsRule</A> @@ -116,6 +120,8 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> <BR> +<A HREF="org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<BR> <A HREF="org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A> <BR> <A HREF="org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A> @@ -130,6 +136,8 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule">NotEqualsRule</A> <BR> +<A HREF="org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule">NotLevelEqualsRule</A> +<BR> <A HREF="org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule">NotRule</A> <BR> <A HREF="org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule">OrRule</A> @@ -162,6 +170,8 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">SizeBasedTriggeringPolicy</A> <BR> +<A HREF="org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras">SoundAppender</A> +<BR> <A HREF="org/apache/log4j/varia/SoundAppender.html" title="class in org.apache.log4j.varia">SoundAppender</A> <BR> <A HREF="org/apache/log4j/filter/StringMatchFilter.html" title="class in org.apache.log4j.filter">StringMatchFilter</A> @@ -182,8 +192,12 @@ All Classes (Apache Extras Companion for log4j 1.2. 1.0 API) <BR> <A HREF="org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><I>UnrecognizedElementHandler</I></A> <BR> +<A HREF="org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<BR> <A HREF="org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <BR> +<A HREF="org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<BR> <A HREF="org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml">XSLTLayout</A> <BR> <A HREF="org/apache/log4j/rolling/helper/ZipCompressAction.html" title="class in org.apache.log4j.rolling.helper">ZipCompressAction</A> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/constant-values.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/constant-values.html similarity index 81% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/constant-values.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/constant-values.html index 1ff995aee6b..c3a8063c0cd 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/constant-values.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/constant-values.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Constant Field Values (Apache Extras Companion for log4j 1.2. 1.0 API) +Constant Field Values (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Constant Field Values (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Constant Field Values (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Constant Field Values (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -141,6 +141,66 @@ org.apache.*</FONT></TH> <P> +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.extras.<A HREF="org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.extras.UtilLoggingLevel.CONFIG_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/extras/UtilLoggingLevel.html#CONFIG_INT">CONFIG_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>14000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.extras.UtilLoggingLevel.FINE_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/extras/UtilLoggingLevel.html#FINE_INT">FINE_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>13000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.extras.UtilLoggingLevel.FINER_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/extras/UtilLoggingLevel.html#FINER_INT">FINER_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>12000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.extras.UtilLoggingLevel.FINEST_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/extras/UtilLoggingLevel.html#FINEST_INT">FINEST_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>11000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.extras.UtilLoggingLevel.INFO_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/extras/UtilLoggingLevel.html#INFO_INT">INFO_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>15000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.extras.UtilLoggingLevel.SEVERE_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/extras/UtilLoggingLevel.html#SEVERE_INT">SEVERE_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>17000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.extras.UtilLoggingLevel.UNKNOWN_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/extras/UtilLoggingLevel.html#UNKNOWN_INT">UNKNOWN_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>10000</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.extras.UtilLoggingLevel.WARNING_INT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/extras/UtilLoggingLevel.html#WARNING_INT">WARNING_INT</A></CODE></TD> +<TD ALIGN="right"><CODE>16000</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left" COLSPAN="3">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A></TH> @@ -368,6 +428,6 @@ org.apache.*</FONT></TH> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/deprecated-list.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/deprecated-list.html similarity index 87% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/deprecated-list.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/deprecated-list.html index ead072dac62..b61d8ee592a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/deprecated-list.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/deprecated-list.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Deprecated List (Apache Extras Companion for log4j 1.2. 1.0 API) +Deprecated List (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Deprecated List (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Deprecated List (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Deprecated List (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -88,6 +88,7 @@ function windowTitle() <B>Contents</B><UL> <LI><A HREF="#field">Deprecated Fields</A> <LI><A HREF="#method">Deprecated Methods</A> +<LI><A HREF="#constructor">Deprecated Constructors</A> </UL> <A NAME="field"><!-- --></A> @@ -152,6 +153,20 @@ function windowTitle() </TABLE> &nbsp; <P> +<A NAME="constructor"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Deprecated Constructors</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/pattern/FormattingInfo.html#FormattingInfo(boolean, int, int)">org.apache.log4j.pattern.FormattingInfo(boolean, int, int)</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>since 1.2.17</I>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> <HR> @@ -206,6 +221,6 @@ function windowTitle() <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/help-doc.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/help-doc.html new file mode 100644 index 00000000000..eb7b8ae9fe9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/help-doc.html @@ -0,0 +1,224 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +API Help (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="API Help (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +How This API Document Is Organized</H1> +</CENTER> +This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3> +Overview</H3> +<BLOCKQUOTE> + +<P> +The <A HREF="overview-summary.html">Overview</A> 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.</BLOCKQUOTE> +<H3> +Package</H3> +<BLOCKQUOTE> + +<P> +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:<UL> +<LI>Interfaces (italic)<LI>Classes<LI>Enums<LI>Exceptions<LI>Errors<LI>Annotation Types</UL> +</BLOCKQUOTE> +<H3> +Class/Interface</H3> +<BLOCKQUOTE> + +<P> +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:<UL> +<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description +<P> +<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary +<P> +<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL> +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.</BLOCKQUOTE> +</BLOCKQUOTE> +<H3> +Annotation Type</H3> +<BLOCKQUOTE> + +<P> +Each annotation type has its own separate page with the following sections:<UL> +<LI>Annotation Type declaration<LI>Annotation Type description<LI>Required Element Summary<LI>Optional Element Summary<LI>Element Detail</UL> +</BLOCKQUOTE> +</BLOCKQUOTE> +<H3> +Enum</H3> +<BLOCKQUOTE> + +<P> +Each enum has its own separate page with the following sections:<UL> +<LI>Enum declaration<LI>Enum description<LI>Enum Constant Summary<LI>Enum Constant Detail</UL> +</BLOCKQUOTE> +<H3> +Use</H3> +<BLOCKQUOTE> +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.</BLOCKQUOTE> +<H3> +Tree (Class Hierarchy)</H3> +<BLOCKQUOTE> +There is a <A HREF="overview-tree.html">Class Hierarchy</A> 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 <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL> +<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL> +</BLOCKQUOTE> +<H3> +Deprecated API</H3> +<BLOCKQUOTE> +The <A HREF="deprecated-list.html">Deprecated API</A> 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.</BLOCKQUOTE> +<H3> +Index</H3> +<BLOCKQUOTE> +The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE> +<H3> +Prev/Next</H3> +These links take you to the next or previous class, interface, package, or related page.<H3> +Frames/No Frames</H3> +These links show and hide the HTML frames. All pages are available with or without frames. +<P> +<H3> +Serialized Form</H3> +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. +<P> +<H3> +Constant Field Values</H3> +The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values. +<P> +<FONT SIZE="-1"> +<EM> +This help file applies to API documentation generated using the standard doclet.</EM> +</FONT> +<BR> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/index-all.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/index-all.html similarity index 88% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/index-all.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/index-all.html index 6da3415d333..1f186401e23 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/index-all.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/index-all.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Index (Apache Extras Companion for log4j 1.2. 1.0 API) +Index (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Index (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Index (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Index (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -79,7 +79,7 @@ function windowTitle() <A NAME="skip-navbar_top"></A> <!-- ========= END OF TOP NAVBAR ========= --> -<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <A HREF="#_Z_">Z</A> <HR> +<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <A HREF="#_Z_">Z</A> <HR> <A NAME="_A_"><!-- --></A><H2> <B>A</B></H2> <DL> @@ -100,6 +100,12 @@ Constructor for class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4 <DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#activateOptions()"><B>activateOptions()</B></A> - Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> <DD>Activates the conversion pattern. +<DT><A HREF="./org/apache/log4j/extras/SoundAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras">SoundAppender</A> +<DD>Attempt to initialize the appender by creating a reference to an AudioClip. +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD> <DT><A HREF="./org/apache/log4j/filter/AndFilter.html#activateOptions()"><B>activateOptions()</B></A> - Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/AndFilter.html" title="class in org.apache.log4j.filter">AndFilter</A> <DD>&nbsp; @@ -109,6 +115,9 @@ Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/Expre <DT><A HREF="./org/apache/log4j/filter/LocationInfoFilter.html#activateOptions()"><B>activateOptions()</B></A> - Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LocationInfoFilter.html" title="class in org.apache.log4j.filter">LocationInfoFilter</A> <DD> +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A> +<DD>&nbsp; <DT><A HREF="./org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html#activateOptions()"><B>activateOptions()</B></A> - Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A> <DD> @@ -149,10 +158,16 @@ Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/AbstractR Method in interface org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A> <DD>Adds a PropertyChangeListener to this instance, which is notified when underlying Rule information has changed. +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html#addTriggeringPolicy(org.apache.log4j.rolling.TriggeringPolicy)"><B>addTriggeringPolicy(TriggeringPolicy)</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A> +<DD>Add triggering policy <DT><A HREF="./org/apache/log4j/filter/AndFilter.html" title="class in org.apache.log4j.filter"><B>AndFilter</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>A filter that 'and's the results of any number of contained filters together.<DT><A HREF="./org/apache/log4j/filter/AndFilter.html#AndFilter()"><B>AndFilter()</B></A> - Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/AndFilter.html" title="class in org.apache.log4j.filter">AndFilter</A> <DD>&nbsp; -<DT><A HREF="./org/apache/log4j/rule/AndRule.html" title="class in org.apache.log4j.rule"><B>AndRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing a logical 'and'.<DT><A HREF="./org/apache/log4j/varia/SoundAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/AndRule.html" title="class in org.apache.log4j.rule"><B>AndRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing a logical 'and'.<DT><A HREF="./org/apache/log4j/extras/SoundAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras">SoundAppender</A> +<DD>Play the sound if an event is being processed +<DT><A HREF="./org/apache/log4j/varia/SoundAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/SoundAppender.html" title="class in org.apache.log4j.varia">SoundAppender</A> <DD>Play the sound if an event is being processed <DT><A HREF="./org/apache/log4j/spi/LoggingEventFieldResolver.html#applyFields(java.lang.String, org.apache.log4j.spi.LoggingEvent)"><B>applyFields(String, LoggingEvent)</B></A> - @@ -193,6 +208,9 @@ Static variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/Lo <DT><A HREF="./org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>ClassNamePatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats the class name of the site of the logging request.<DT><A HREF="./org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html#clearFilters()"><B>clearFilters()</B></A> - Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A> <DD>Clear the filters chain. +<DT><A HREF="./org/apache/log4j/extras/SoundAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras">SoundAppender</A> +<DD>&nbsp; <DT><A HREF="./org/apache/log4j/rolling/helper/Action.html#close()"><B>close()</B></A> - Method in interface org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/Action.html" title="interface in org.apache.log4j.rolling.helper">Action</A> <DD>Cancels the action if not already initialized or waits till completion. @@ -211,9 +229,19 @@ Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/Col <DT><A HREF="./org/apache/log4j/rolling/helper/CompositeAction.html" title="class in org.apache.log4j.rolling.helper"><B>CompositeAction</B></A> - Class in <A HREF="./org/apache/log4j/rolling/helper/package-summary.html">org.apache.log4j.rolling.helper</A><DD>A group of Actions to be executed in sequence.<DT><A HREF="./org/apache/log4j/rolling/helper/CompositeAction.html#CompositeAction(java.util.List, boolean)"><B>CompositeAction(List, boolean)</B></A> - Constructor for class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/CompositeAction.html" title="class in org.apache.log4j.rolling.helper">CompositeAction</A> <DD>Construct a new composite action. +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling"><B>CompositeTriggeringPolicy</B></A> - Class in <A HREF="./org/apache/log4j/rolling/package-summary.html">org.apache.log4j.rolling</A><DD>CompositeTriggeringPolicy determines if rolling should be triggered + by evaluating the current event against a set of triggering policies.<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html#CompositeTriggeringPolicy()"><B>CompositeTriggeringPolicy()</B></A> - +Constructor for class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#CONFIG"><B>CONFIG</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>CONFIG. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#CONFIG"><B>CONFIG</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>CONFIG. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#CONFIG_INT"><B>CONFIG_INT</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Numerical value for CONFIG. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#CONFIG_INT"><B>CONFIG_INT</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Numerical value for CONFIG. @@ -407,12 +435,26 @@ Constructor for class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras <DT><A HREF="./org/apache/log4j/spi/LoggingEventFieldResolver.html#EMPTY_STRING"><B>EMPTY_STRING</B></A> - Static variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEventFieldResolver.html" title="class in org.apache.log4j.spi">LoggingEventFieldResolver</A> <DD>empty string literal. -<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedPatternLayout</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>A flexible layout configurable with pattern string.<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#EnhancedPatternLayout()"><B>EnhancedPatternLayout()</B></A> - +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedPatternLayout</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This class is an enhanced version of org.apache.log4j.PatternLayout + which was originally developed as part of the abandoned log4j 1.3 + effort and has been available in the extras companion.<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#EnhancedPatternLayout()"><B>EnhancedPatternLayout()</B></A> - Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> <DD>Constructs a EnhancedPatternLayout using the DEFAULT_LAYOUT_PATTERN. <DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#EnhancedPatternLayout(java.lang.String)"><B>EnhancedPatternLayout(String)</B></A> - Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> <DD>Constructs a EnhancedPatternLayout using the supplied conversion pattern. +<DT><A HREF="./org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)"><B>entering(Logger, String, String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an entering message at DEBUG level. +<DT><A HREF="./org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)"><B>entering(Logger, String, String, String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an entering message with a parameter at DEBUG level. +<DT><A HREF="./org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)"><B>entering(Logger, String, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an entering message with a parameter at DEBUG level. +<DT><A HREF="./org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])"><B>entering(Logger, String, String, Object[])</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an entering message with an array of parameters at DEBUG level. <DT><A HREF="./org/apache/log4j/rule/EqualsRule.html" title="class in org.apache.log4j.rule"><B>EqualsRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class which returns the result of performing equals against two strings.<DT><A HREF="./org/apache/log4j/LogMF.html#error(org.apache.log4j.Logger, java.lang.String, java.lang.Object[])"><B>error(Logger, String, Object[])</B></A> - Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> @@ -426,63 +468,67 @@ Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" <DT><A HREF="./org/apache/log4j/LogSF.html#error(org.apache.log4j.Logger, java.lang.Throwable, java.lang.String, java.lang.Object[])"><B>error(Logger, Throwable, String, Object[])</B></A> - Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> <DD>Log a parameterized message at error level. -<DT><A HREF="./org/apache/log4j/rule/AndRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/AndRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/AndRule.html" title="class in org.apache.log4j.rule">AndRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/ColorRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/ColorRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/ColorRule.html" title="class in org.apache.log4j.rule">ColorRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/EqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/EqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/EqualsRule.html" title="class in org.apache.log4j.rule">EqualsRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/ExistsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/ExistsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule">ExistsRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/ExpressionRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/ExpressionRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/ExpressionRule.html" title="class in org.apache.log4j.rule">ExpressionRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/InequalityRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/InequalityRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule">InequalityRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule">LevelEqualsRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/LikeRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/LikeRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule">LikeRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/NotEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/NotEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule">NotEqualsRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/NotRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/NotLevelEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule">NotLevelEqualsRule</A> +<DD>Returns true if this implementation of the rule accepts the LoggingEvent, + or false if not. +<DT><A HREF="./org/apache/log4j/rule/NotRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule">NotRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/OrRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/OrRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule">OrRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/PartialTextMatchRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/PartialTextMatchRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/PartialTextMatchRule.html" title="class in org.apache.log4j.rule">PartialTextMatchRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/Rule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/Rule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in interface org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule">TimestampEqualsRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. -<DT><A HREF="./org/apache/log4j/rule/TimestampInequalityRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)"><B>evaluate(LoggingEvent)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/TimestampInequalityRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><B>evaluate(LoggingEvent, Map)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule">TimestampInequalityRule</A> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -516,7 +562,16 @@ Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/roll <DT><A HREF="./org/apache/log4j/rolling/helper/ZipCompressAction.html#execute(java.io.File, java.io.File, boolean)"><B>execute(File, File, boolean)</B></A> - Static method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/ZipCompressAction.html" title="class in org.apache.log4j.rolling.helper">ZipCompressAction</A> <DD>Compress a file. -<DT><A HREF="./org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule"><B>ExistsRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing a not null (and not empty string) check.<DT><A HREF="./org/apache/log4j/filter/ExpressionFilter.html" title="class in org.apache.log4j.filter"><B>ExpressionFilter</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>A filter supporting complex expressions - supports both infix and postfix +<DT><A HREF="./org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule"><B>ExistsRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing a not null (and not empty string) check.<DT><A HREF="./org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)"><B>exiting(Logger, String, String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an exiting message at DEBUG level. +<DT><A HREF="./org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)"><B>exiting(Logger, String, String, String)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an exiting message with result at DEBUG level. +<DT><A HREF="./org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)"><B>exiting(Logger, String, String, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Log an exiting message with result at DEBUG level. +<DT><A HREF="./org/apache/log4j/filter/ExpressionFilter.html" title="class in org.apache.log4j.filter"><B>ExpressionFilter</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>A filter supporting complex expressions - supports both infix and postfix expressions (infix expressions must first be converted to postfix prior to processing).<DT><A HREF="./org/apache/log4j/filter/ExpressionFilter.html#ExpressionFilter()"><B>ExpressionFilter()</B></A> - Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/ExpressionFilter.html" title="class in org.apache.log4j.filter">ExpressionFilter</A> @@ -559,21 +614,39 @@ Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/DOMCo <DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#findMillisecondStart(long, java.lang.String, java.text.DateFormat)"><B>findMillisecondStart(long, String, DateFormat)</B></A> - Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> <DD>Finds start of millisecond field in formatted time. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#FINE"><B>FINE</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>FINE. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#FINE"><B>FINE</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>FINE. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#FINE_INT"><B>FINE_INT</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Numerical value for FINE. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#FINE_INT"><B>FINE_INT</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Numerical value for FINE. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#FINER"><B>FINER</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>FINER. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#FINER"><B>FINER</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>FINER. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#FINER_INT"><B>FINER_INT</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Numerical value for FINER. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#FINER_INT"><B>FINER_INT</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Numerical value for FINER. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#FINEST"><B>FINEST</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>FINEST. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#FINEST"><B>FINEST</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>FINEST. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#FINEST_INT"><B>FINEST_INT</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Numerical value for FINEST. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#FINEST_INT"><B>FINEST_INT</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Numerical value for FINEST. @@ -590,6 +663,9 @@ Constructor for class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolli <DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><B>format(LoggingEvent)</B></A> - Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> <DD>Formats a logging event to a writer. +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><B>format(LoggingEvent)</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD> <DT><A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html#format(java.lang.StringBuffer, org.apache.log4j.spi.LoggingEvent)"><B>format(StringBuffer, LoggingEvent)</B></A> - Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern">BridgePatternConverter</A> <DD>Format event to string buffer. @@ -686,6 +762,9 @@ Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/Rol <DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><B>FormattingInfo</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Modifies the output of a pattern converter for a specified minimum and maximum width and alignment.<DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html#FormattingInfo(boolean, int, int)"><B>FormattingInfo(boolean, int, int)</B></A> - Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> +<DD><B>Deprecated.</B>&nbsp;<I>since 1.2.17</I> +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html#FormattingInfo(boolean, boolean, int, int)"><B>FormattingInfo(boolean, boolean, int, int)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> <DD>Creates new instance. <DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#fqnOfCategoryClass"><B>fqnOfCategoryClass</B></A> - Variable in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> @@ -725,6 +804,9 @@ Method in interface org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling <DT><A HREF="./org/apache/log4j/rolling/RolloverDescriptionImpl.html#getActiveFileName()"><B>getActiveFileName()</B></A> - Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/RolloverDescriptionImpl.html" title="class in org.apache.log4j.rolling">RolloverDescriptionImpl</A> <DD>Active log file name after rollover. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#getAllPossibleLevels()"><B>getAllPossibleLevels()</B></A> - +Static method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Gets list of supported levels. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#getAllPossibleLevels()"><B>getAllPossibleLevels()</B></A> - Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Gets list of supported levels. @@ -742,12 +824,18 @@ Method in interface org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/RolloverDescriptionImpl.html" title="class in org.apache.log4j.rolling">RolloverDescriptionImpl</A> <DD>Action to be completed after close of current active log file and before next rollover attempt, may be executed asynchronously. +<DT><A HREF="./org/apache/log4j/extras/SoundAppender.html#getAudioURL()"><B>getAudioURL()</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras">SoundAppender</A> +<DD>Accessor <DT><A HREF="./org/apache/log4j/varia/SoundAppender.html#getAudioURL()"><B>getAudioURL()</B></A> - Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/SoundAppender.html" title="class in org.apache.log4j.varia">SoundAppender</A> <DD>Accessor <DT><A HREF="./org/apache/log4j/rule/ColorRule.html#getBackgroundColor()"><B>getBackgroundColor()</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/ColorRule.html" title="class in org.apache.log4j.rule">ColorRule</A> <DD>Get background color. +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#getContentType()"><B>getContentType()</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD> <DT><A HREF="./org/apache/log4j/xml/XSLTLayout.html#getContentType()"><B>getContentType()</B></A> - Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml">XSLTLayout</A> <DD> @@ -817,6 +905,9 @@ Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/Level <DT><A HREF="./org/apache/log4j/filter/LevelMatchFilter.html#getLevelToMatch()"><B>getLevelToMatch()</B></A> - Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelMatchFilter.html" title="class in org.apache.log4j.filter">LevelMatchFilter</A> <DD>&nbsp; +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#getLocationInfo()"><B>getLocationInfo()</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD>Gets whether location info should be output. <DT><A HREF="./org/apache/log4j/xml/XSLTLayout.html#getLocationInfo()"><B>getLocationInfo()</B></A> - Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml">XSLTLayout</A> <DD>Gets whether location info should be output. @@ -875,6 +966,9 @@ Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/DenyA <DT><A HREF="./org/apache/log4j/pattern/PatternParser.html#getPatternLayoutRules()"><B>getPatternLayoutRules()</B></A> - Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern">PatternParser</A> <DD>Get standard format specifiers for EnhancedPatternLayout. +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#getProperties()"><B>getProperties()</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD>Gets whether MDC key-value pairs should be output. <DT><A HREF="./org/apache/log4j/pattern/LogEvent.html#getProperties()"><B>getProperties()</B></A> - Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern">LogEvent</A> <DD>Returns the set of properties @@ -950,6 +1044,9 @@ Static method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/No <DT><A HREF="./org/apache/log4j/rule/NotEqualsRule.html#getRule(java.util.Stack)"><B>getRule(Stack)</B></A> - Static method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule">NotEqualsRule</A> <DD>Get new instance from top two elements of stack. +<DT><A HREF="./org/apache/log4j/rule/NotLevelEqualsRule.html#getRule(java.lang.String)"><B>getRule(String)</B></A> - +Static method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule">NotLevelEqualsRule</A> +<DD>Create new rule. <DT><A HREF="./org/apache/log4j/rule/NotRule.html#getRule(org.apache.log4j.rule.Rule)"><B>getRule(Rule)</B></A> - Static method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule">NotRule</A> <DD>Create new instance. @@ -1034,6 +1131,9 @@ Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/Log <DT><A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#handlesThrowable()"><B>handlesThrowable()</B></A> - Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A> <DD>This converter obviously handles throwables. +<DT><A HREF="./org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html#hasMoreTokens()"><B>hasMoreTokens()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule">InFixToPostFix.CustomTokenizer</A> +<DD>&nbsp; </DL> <HR> <A NAME="_I_"><!-- --></A><H2> @@ -1043,6 +1143,9 @@ Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/Thr Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> <DD>Will return false if any of the conversion specifiers in the pattern handles <CODE>Exceptions</CODE>. +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#ignoresThrowable()"><B>ignoresThrowable()</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD>Gets whether throwables should not be output. <DT><A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html#ignoresThrowable()"><B>ignoresThrowable()</B></A> - Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern">BridgePatternConverter</A> <DD>Will return false if any of the conversion specifiers in the pattern @@ -1057,10 +1160,29 @@ Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/Rol Currently grouping is supported, as well as all of the Rules supported by <code>RuleFactory</code> - NOTE: parsing is supported through the use of <code>StringTokenizer</code>, - which means all tokens in the expression must be separated by spaces.<DT><A HREF="./org/apache/log4j/rule/InFixToPostFix.html#InFixToPostFix()"><B>InFixToPostFix()</B></A> - + Supports grouping via parens, mult-word operands using single or double quotes, + and these operators: + + ! NOT operator + != NOT EQUALS operator + == EQUALS operator + ~= CASE-INSENSITIVE equals operator + || OR operator + && AND operator + like REGEXP operator + exists NOT NULL operator + &lt LESS THAN operator + &gt GREATER THAN operator + &lt= LESS THAN EQUALS operator + &gt= GREATER THAN EQUALS operator<DT><A HREF="./org/apache/log4j/rule/InFixToPostFix.html#InFixToPostFix()"><B>InFixToPostFix()</B></A> - Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule">InFixToPostFix</A> -<DD>Create new instance. +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule"><B>InFixToPostFix.CustomTokenizer</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html#InFixToPostFix.CustomTokenizer(java.lang.String)"><B>InFixToPostFix.CustomTokenizer(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule">InFixToPostFix.CustomTokenizer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#INFO"><B>INFO</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>INFO. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#INFO"><B>INFO</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>INFO. @@ -1148,6 +1270,9 @@ Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" <DT><A HREF="./org/apache/log4j/LogSF.html#info(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>info(Logger, String, Object, Object, Object, Object)</B></A> - Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> <DD>Log a parameterized message at info level. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#INFO_INT"><B>INFO_INT</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Numerical value for INFO. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#INFO_INT"><B>INFO_INT</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Numerical value for INFO. @@ -1175,9 +1300,18 @@ Method in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEven <DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html#isLeftAligned()"><B>isLeftAligned()</B></A> - Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> <DD>Determine if left aligned. +<DT><A HREF="./org/apache/log4j/rule/InFixToPostFix.html#isOperand(java.lang.String)"><B>isOperand(String)</B></A> - +Static method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule">InFixToPostFix</A> +<DD>Evaluates whether symbol is operand. +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfo.html#isRightTruncated()"><B>isRightTruncated()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> +<DD>Determine if right truncated. <DT><A HREF="./org/apache/log4j/rule/RuleFactory.html#isRule(java.lang.String)"><B>isRule(String)</B></A> - Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/RuleFactory.html" title="class in org.apache.log4j.rule">RuleFactory</A> <DD>Determine if specified string is a known operator. +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html#isTriggeringEvent(org.apache.log4j.Appender, org.apache.log4j.spi.LoggingEvent, java.lang.String, long)"><B>isTriggeringEvent(Appender, LoggingEvent, String, long)</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A> +<DD>&nbsp; <DT><A HREF="./org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html#isTriggeringEvent(org.apache.log4j.spi.LoggingEvent)"><B>isTriggeringEvent(LoggingEvent)</B></A> - Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A> <DD> @@ -1345,8 +1479,8 @@ Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter that can format information from instances of LoggingEvent.<DT><A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html#LoggingEventPatternConverter(java.lang.String, java.lang.String)"><B>LoggingEventPatternConverter(String, String)</B></A> - Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A> <DD>Constructs an instance of LoggingEventPatternConverter. -<DT><A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>LogMF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This class provides static methods to - format log messages using java.text.MessageFormat.<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])"><B>logrb(Logger, Level, String, String, Object[])</B></A> - +<DT><A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>LogMF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This class provides parameterized logging services + using the pattern syntax of java.text.MessageFormat.<DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object[])"><B>logrb(Logger, Level, String, String, Object[])</B></A> - Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A> <DD>Log a parameterized message using a pattern from a resource bundle. <DT><A HREF="./org/apache/log4j/LogMF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.Throwable, java.lang.String, java.lang.String, java.lang.Object[])"><B>logrb(Logger, Level, Throwable, String, String, Object[])</B></A> - @@ -1430,9 +1564,11 @@ Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" <DT><A HREF="./org/apache/log4j/LogSF.html#logrb(org.apache.log4j.Logger, org.apache.log4j.Level, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>logrb(Logger, Level, String, String, Object, Object, Object, Object)</B></A> - Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> <DD>Log a parameterized message using a pattern from a resource bundle. -<DT><A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>LogSF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This class provides static methods to - format log messages using a log4j 1.3 or SLF4J - style formatter.</DL> +<DT><A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>LogSF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This class provides parameterized logging services + using the SLF4J pattern syntax.<DT><A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>LogXF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>This is a base class for LogMF and LogSF parameterized logging classes.<DT><A HREF="./org/apache/log4j/LogXF.html#LogXF()"><B>LogXF()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>&nbsp; +</DL> <HR> <A NAME="_M_"><!-- --></A><H2> <B>M</B></H2> @@ -1514,11 +1650,14 @@ Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/patt <DT><A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A> <DD>Gets an instance of the class. +<DT><A HREF="./org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html#nextToken()"><B>nextToken()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule">InFixToPostFix.CustomTokenizer</A> +<DD>&nbsp; <DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#NO_MILLISECONDS"><B>NO_MILLISECONDS</B></A> - Static variable in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> <DD>Constant used to represent that there was no change observed when changing the millisecond count. -<DT><A HREF="./org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule"><B>NotEqualsRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing not equals against two strings.<DT><A HREF="./org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule"><B>NotRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing logical not.</DL> +<DT><A HREF="./org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule"><B>NotEqualsRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing not equals against two strings.<DT><A HREF="./org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>NotLevelEqualsRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing not equals against two levels.<DT><A HREF="./org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule"><B>NotRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing logical not.</DL> <HR> <A NAME="_O_"><!-- --></A><H2> <B>O</B></H2> @@ -1568,6 +1707,9 @@ Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/Rol <DT><A HREF="./org/apache/log4j/extras/DOMConfigurator.html#parseFilters(org.w3c.dom.Element, org.apache.log4j.Appender)"><B>parseFilters(Element, Appender)</B></A> - Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/DOMConfigurator.html" title="class in org.apache.log4j.extras">DOMConfigurator</A> <DD>Used internally to parse a filter element. +<DT><A HREF="./org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html#parseInput(java.lang.String, java.util.LinkedList)"><B>parseInput(String, LinkedList)</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule">InFixToPostFix.CustomTokenizer</A> +<DD>&nbsp; <DT><A HREF="./org/apache/log4j/extras/DOMConfigurator.html#parseLayout(org.w3c.dom.Element)"><B>parseLayout(Element)</B></A> - Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/DOMConfigurator.html" title="class in org.apache.log4j.extras">DOMConfigurator</A> <DD>Used internally to parse a layout element. @@ -1580,10 +1722,17 @@ Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/DOMCo <DT><A HREF="./org/apache/log4j/extras/DOMConfigurator.html#parseRoot(org.w3c.dom.Element)"><B>parseRoot(Element)</B></A> - Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/DOMConfigurator.html" title="class in org.apache.log4j.extras">DOMConfigurator</A> <DD>Used internally to parse the roor category element. +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)"><B>parseUnrecognizedElement(Element, Properties)</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD>Called to inform a configured object when + an unrecognized child element is encountered. <DT><A HREF="./org/apache/log4j/filter/AndFilter.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)"><B>parseUnrecognizedElement(Element, Properties)</B></A> - Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/AndFilter.html" title="class in org.apache.log4j.filter">AndFilter</A> <DD>Called to inform a configured object when an unrecognized child element is encountered. +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)"><B>parseUnrecognizedElement(Element, Properties)</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A> +<DD>&nbsp; <DT><A HREF="./org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)"><B>parseUnrecognizedElement(Element, Properties)</B></A> - Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A> <DD>Called to inform a configured object when @@ -1641,6 +1790,9 @@ Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/roll <DT><A HREF="./org/apache/log4j/rolling/helper/ZipCompressAction.html#reportException(java.lang.Exception)"><B>reportException(Exception)</B></A> - Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/ZipCompressAction.html" title="class in org.apache.log4j.rolling.helper">ZipCompressAction</A> <DD>Capture exception. +<DT><A HREF="./org/apache/log4j/extras/SoundAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras">SoundAppender</A> +<DD>Gets whether appender requires a layout. <DT><A HREF="./org/apache/log4j/varia/SoundAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/SoundAppender.html" title="class in org.apache.log4j.varia">SoundAppender</A> <DD>Gets whether appender requires a layout. @@ -1707,6 +1859,10 @@ Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeF <DT><A HREF="./org/apache/log4j/rolling/RollingPolicyBase.html#setActiveFileName(java.lang.String)"><B>setActiveFileName(String)</B></A> - Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/RollingPolicyBase.html" title="class in org.apache.log4j.rolling">RollingPolicyBase</A> <DD><B>Deprecated.</B>&nbsp;<I>Duplicates FileAppender.file and should be removed</I> +<DT><A HREF="./org/apache/log4j/extras/SoundAppender.html#setAudioURL(java.lang.String)"><B>setAudioURL(String)</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras">SoundAppender</A> +<DD>Mutator - common format for a file-based url: + file:///c:/path/someaudioclip.wav <DT><A HREF="./org/apache/log4j/varia/SoundAppender.html#setAudioURL(java.lang.String)"><B>setAudioURL(String)</B></A> - Method in class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/SoundAppender.html" title="class in org.apache.log4j.varia">SoundAppender</A> <DD>Mutator - common format for a file-based url: @@ -1732,6 +1888,9 @@ Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/Locat <DT><A HREF="./org/apache/log4j/rolling/RollingPolicyBase.html#setFileNamePattern(java.lang.String)"><B>setFileNamePattern(String)</B></A> - Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/RollingPolicyBase.html" title="class in org.apache.log4j.rolling">RollingPolicyBase</A> <DD>Set file name pattern. +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#setIgnoresThrowable(boolean)"><B>setIgnoresThrowable(boolean)</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD>Sets whether throwables should not be output. <DT><A HREF="./org/apache/log4j/xml/XSLTLayout.html#setIgnoresThrowable(boolean)"><B>setIgnoresThrowable(boolean)</B></A> - Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml">XSLTLayout</A> <DD>Sets whether throwables should not be output. @@ -1744,6 +1903,9 @@ Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/Level <DT><A HREF="./org/apache/log4j/filter/LevelMatchFilter.html#setLevelToMatch(java.lang.String)"><B>setLevelToMatch(String)</B></A> - Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelMatchFilter.html" title="class in org.apache.log4j.filter">LevelMatchFilter</A> <DD>&nbsp; +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#setLocationInfo(boolean)"><B>setLocationInfo(boolean)</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD>The <b>LocationInfo </b> option takes a boolean value. <DT><A HREF="./org/apache/log4j/xml/XSLTLayout.html#setLocationInfo(boolean)"><B>setLocationInfo(boolean)</B></A> - Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml">XSLTLayout</A> <DD>The <b>LocationInfo </b> option takes a boolean value. @@ -1769,6 +1931,9 @@ Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/DOMCo <DT><A HREF="./org/apache/log4j/extras/DOMConfigurator.html#setParameter(org.w3c.dom.Element, org.apache.log4j.config.PropertySetter, java.util.Properties)"><B>setParameter(Element, PropertySetter, Properties)</B></A> - Static method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/DOMConfigurator.html" title="class in org.apache.log4j.extras">DOMConfigurator</A> <DD>Sets a parameter based from configuration file content. +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#setProperties(boolean)"><B>setProperties(boolean)</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD>Sets whether MDC key-value pairs should be output, default false. <DT><A HREF="./org/apache/log4j/xml/XSLTLayout.html#setProperties(boolean)"><B>setProperties(boolean)</B></A> - Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml">XSLTLayout</A> <DD>Sets whether MDC key-value pairs should be output, default false. @@ -1790,15 +1955,24 @@ Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeF <DT><A HREF="./org/apache/log4j/pattern/CachedDateFormat.html#setTimeZone(java.util.TimeZone)"><B>setTimeZone(TimeZone)</B></A> - Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern">CachedDateFormat</A> <DD>Set timezone. +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#setTransform(org.w3c.dom.Document)"><B>setTransform(Document)</B></A> - +Method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD>Sets XSLT transform. <DT><A HREF="./org/apache/log4j/xml/XSLTLayout.html#setTransform(org.w3c.dom.Document)"><B>setTransform(Document)</B></A> - Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml">XSLTLayout</A> <DD>Sets XSLT transform. <DT><A HREF="./org/apache/log4j/rolling/RollingFileAppender.html#setTriggeringPolicy(org.apache.log4j.rolling.TriggeringPolicy)"><B>setTriggeringPolicy(TriggeringPolicy)</B></A> - Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/RollingFileAppender.html" title="class in org.apache.log4j.rolling">RollingFileAppender</A> <DD>Set triggering policy. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#SEVERE"><B>SEVERE</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>SEVERE. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#SEVERE"><B>SEVERE</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>SEVERE. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#SEVERE_INT"><B>SEVERE_INT</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Numerical value for SEVERE. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#SEVERE_INT"><B>SEVERE_INT</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Numerical value for SEVERE. @@ -1809,6 +1983,10 @@ Constructor for class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolli <DT><A HREF="./org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html#SizeBasedTriggeringPolicy(long)"><B>SizeBasedTriggeringPolicy(long)</B></A> - Constructor for class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">SizeBasedTriggeringPolicy</A> <DD>Constructs an new instance. +<DT><A HREF="./org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras"><B>SoundAppender</B></A> - Class in <A HREF="./org/apache/log4j/extras/package-summary.html">org.apache.log4j.extras</A><DD>This class is equivalent to org.apache.log4j.varia.SoundAppender + except for a package change to aid in use with OSGi.<DT><A HREF="./org/apache/log4j/extras/SoundAppender.html#SoundAppender()"><B>SoundAppender()</B></A> - +Constructor for class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras">SoundAppender</A> +<DD>&nbsp; <DT><A HREF="./org/apache/log4j/varia/SoundAppender.html" title="class in org.apache.log4j.varia"><B>SoundAppender</B></A> - Class in <A HREF="./org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</A><DD>Plays a sound clip created using Applet.newAudioClip when an event is received.<DT><A HREF="./org/apache/log4j/varia/SoundAppender.html#SoundAppender()"><B>SoundAppender()</B></A> - Constructor for class org.apache.log4j.varia.<A HREF="./org/apache/log4j/varia/SoundAppender.html" title="class in org.apache.log4j.varia">SoundAppender</A> <DD>&nbsp; @@ -1832,8 +2010,10 @@ Static method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extra <DT><A HREF="./org/apache/log4j/spi/LoggingEventFieldResolver.html#THREAD_FIELD"><B>THREAD_FIELD</B></A> - Static variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEventFieldResolver.html" title="class in org.apache.log4j.spi">LoggingEventFieldResolver</A> <DD>THREAD string literal. -<DT><A HREF="./org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><B>ThreadPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats the event thread name.<DT><A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>ThrowableInformationPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Outputs the ThrowableInformation portion of the LoggingiEvent as a full stacktrace - unless this converter's option is 'short', where it just outputs the first line of the trace.<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingPolicy.html" title="class in org.apache.log4j.rolling"><B>TimeBasedRollingPolicy</B></A> - Class in <A HREF="./org/apache/log4j/rolling/package-summary.html">org.apache.log4j.rolling</A><DD><code>TimeBasedRollingPolicy</code> is both easy to configure and quite +<DT><A HREF="./org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><B>ThreadPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Formats the event thread name.<DT><A HREF="./org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>ThrowableInformationPatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Outputs the ThrowableInformation portion of the LoggingEvent.<DT><A HREF="./org/apache/log4j/LogXF.html#throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)"><B>throwing(Logger, String, String, Throwable)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Logs a throwing message at DEBUG level. +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingPolicy.html" title="class in org.apache.log4j.rolling"><B>TimeBasedRollingPolicy</B></A> - Class in <A HREF="./org/apache/log4j/rolling/package-summary.html">org.apache.log4j.rolling</A><DD><code>TimeBasedRollingPolicy</code> is both easy to configure and quite powerful.<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingPolicy.html#TimeBasedRollingPolicy()"><B>TimeBasedRollingPolicy()</B></A> - Constructor for class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingPolicy.html" title="class in org.apache.log4j.rolling">TimeBasedRollingPolicy</A> <DD>Constructs a new instance. @@ -1848,7 +2028,31 @@ Variable in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/L <DT><A HREF="./org/apache/log4j/spi/LoggingEventFieldResolver.html#TIMESTAMP_FIELD"><B>TIMESTAMP_FIELD</B></A> - Static variable in class org.apache.log4j.spi.<A HREF="./org/apache/log4j/spi/LoggingEventFieldResolver.html" title="class in org.apache.log4j.spi">LoggingEventFieldResolver</A> <DD>TIMESTAMP string literal. -<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule"><B>TimestampEqualsRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing equality evaluation for timestamps.<DT><A HREF="./org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule"><B>TimestampInequalityRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing inequality evaluation for timestamps.<DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#toLevel(int, org.apache.log4j.helpers.UtilLoggingLevel)"><B>toLevel(int, UtilLoggingLevel)</B></A> - +<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule"><B>TimestampEqualsRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing equality evaluation for timestamps.<DT><A HREF="./org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule"><B>TimestampInequalityRule</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>A Rule class implementing inequality evaluation for timestamps.<DT><A HREF="./org/apache/log4j/LogXF.html#toArray(java.lang.Object)"><B>toArray(Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Create new array. +<DT><A HREF="./org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object)"><B>toArray(Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Create new array. +<DT><A HREF="./org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object)"><B>toArray(Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Create new array. +<DT><A HREF="./org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>toArray(Object, Object, Object, Object)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Create new array. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#toLevel(int, org.apache.log4j.extras.UtilLoggingLevel)"><B>toLevel(int, UtilLoggingLevel)</B></A> - +Static method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Convert an integer passed as argument to a level. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#toLevel(int)"><B>toLevel(int)</B></A> - +Static method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Gets level matching numeric value. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#toLevel(java.lang.String)"><B>toLevel(String)</B></A> - +Static method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Get level with specified symbolic name. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#toLevel(java.lang.String, org.apache.log4j.Level)"><B>toLevel(String, Level)</B></A> - +Static method in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Get level with specified symbolic name. +<DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#toLevel(int, org.apache.log4j.helpers.UtilLoggingLevel)"><B>toLevel(int, UtilLoggingLevel)</B></A> - Static method in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Convert an integer passed as argument to a level. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#toLevel(int)"><B>toLevel(int)</B></A> - @@ -1950,6 +2154,9 @@ Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" <DT><A HREF="./org/apache/log4j/LogSF.html#trace(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>trace(Logger, String, Object, Object, Object, Object)</B></A> - Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> <DD>Log a parameterized message at trace level. +<DT><A HREF="./org/apache/log4j/LogXF.html#TRACE"><B>TRACE</B></A> - +Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Trace level. <DT><A HREF="./org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling"><B>TriggeringPolicy</B></A> - Interface in <A HREF="./org/apache/log4j/rolling/package-summary.html">org.apache.log4j.rolling</A><DD>A <code>TriggeringPolicy</code> controls the conditions under which rollover occurs.<DT><A HREF="./org/apache/log4j/EnhancedPatternLayout.html#TTCC_CONVERSION_PATTERN"><B>TTCC_CONVERSION_PATTERN</B></A> - Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A> @@ -1959,6 +2166,9 @@ Static variable in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPa <A NAME="_U_"><!-- --></A><H2> <B>U</B></H2> <DL> +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#UNKNOWN_INT"><B>UNKNOWN_INT</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Numerical value for UNKNOWN. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#UNKNOWN_INT"><B>UNKNOWN_INT</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Numerical value for UNKNOWN. @@ -1968,12 +2178,45 @@ Static variable in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pa observed change, but was an expected change. <DT><A HREF="./org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml"><B>UnrecognizedElementHandler</B></A> - Interface in <A HREF="./org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A><DD>When implemented by an object configured by DOMConfigurator, the handle method will be called when an unrecognized child - element is encountered.<DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers"><B>UtilLoggingLevel</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>An extension of the Level class that provides support for java.util.logging + element is encountered.<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras"><B>UtilLoggingLevel</B></A> - Class in <A HREF="./org/apache/log4j/extras/package-summary.html">org.apache.log4j.extras</A><DD>This class is identical to org.apache.log4j.helpers.UtilLoggingLevel + except for a package change to aid in use with OSGi.<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#UtilLoggingLevel(int, java.lang.String, int)"><B>UtilLoggingLevel(int, String, int)</B></A> - +Constructor for class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Create new instance. +<DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers"><B>UtilLoggingLevel</B></A> - Class in <A HREF="./org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A><DD>An extension of the Level class that provides support for java.util.logging Levels.<DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#UtilLoggingLevel(int, java.lang.String, int)"><B>UtilLoggingLevel(int, String, int)</B></A> - Constructor for class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Create new instance. </DL> <HR> +<A NAME="_V_"><!-- --></A><H2> +<B>V</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(boolean)"><B>valueOf(boolean)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Boolean instance representing the specified boolean. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(char)"><B>valueOf(char)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Character instance representing the specified char. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(byte)"><B>valueOf(byte)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Byte instance representing the specified byte. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(short)"><B>valueOf(short)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Short instance representing the specified short. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(int)"><B>valueOf(int)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns an Integer instance representing the specified int. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(long)"><B>valueOf(long)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Long instance representing the specified long. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(float)"><B>valueOf(float)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Float instance representing the specified float. +<DT><A HREF="./org/apache/log4j/LogXF.html#valueOf(double)"><B>valueOf(double)</B></A> - +Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> +<DD>Returns a Double instance representing the specified double. +</DL> +<HR> <A NAME="_W_"><!-- --></A><H2> <B>W</B></H2> <DL> @@ -2061,9 +2304,15 @@ Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" <DT><A HREF="./org/apache/log4j/LogSF.html#warn(org.apache.log4j.Logger, java.lang.String, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>warn(Logger, String, Object, Object, Object, Object)</B></A> - Static method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A> <DD>Log a parameterized message at warn level. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#WARNING"><B>WARNING</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>WARNING. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#WARNING"><B>WARNING</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>WARNING. +<DT><A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html#WARNING_INT"><B>WARNING_INT</B></A> - +Static variable in class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> +<DD>Numerical value for WARNING. <DT><A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html#WARNING_INT"><B>WARNING_INT</B></A> - Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">UtilLoggingLevel</A> <DD>Numerical value for WARNING. @@ -2072,6 +2321,10 @@ Static variable in class org.apache.log4j.helpers.<A HREF="./org/apache/log4j/he <A NAME="_X_"><!-- --></A><H2> <B>X</B></H2> <DL> +<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras"><B>XSLTLayout</B></A> - Class in <A HREF="./org/apache/log4j/extras/package-summary.html">org.apache.log4j.extras</A><DD>This class is identical to org.apache.log4j.xml.XSLTLayout + except for a change in package to aid in use with OSGi.<DT><A HREF="./org/apache/log4j/extras/XSLTLayout.html#XSLTLayout()"><B>XSLTLayout()</B></A> - +Constructor for class org.apache.log4j.extras.<A HREF="./org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A> +<DD>Default constructor. <DT><A HREF="./org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml"><B>XSLTLayout</B></A> - Class in <A HREF="./org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A><DD>XSLTLayout transforms each event as a document using a specified or default XSLT transform.<DT><A HREF="./org/apache/log4j/xml/XSLTLayout.html#XSLTLayout()"><B>XSLTLayout()</B></A> - Constructor for class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml">XSLTLayout</A> @@ -2086,7 +2339,7 @@ Constructor for class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4 <DD>Create new instance of GZCompressAction. </DL> <HR> -<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <A HREF="#_Z_">Z</A> +<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <A HREF="#_Z_">Z</A> <!-- ======= START OF BOTTOM NAVBAR ====== --> <A NAME="navbar_bottom"><!-- --></A> @@ -2139,6 +2392,6 @@ Constructor for class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4 <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/index.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/index.html new file mode 100644 index 00000000000..45f9e556614 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/index.html @@ -0,0 +1,40 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Mon Nov 15 20:15:39 CST 2010--> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Apache Extras Companion™ for Apache log4j™. 1.1 API +</TITLE> +<SCRIPT type="text/javascript"> + targetPage = "" + window.location.search; + if (targetPage != "" && targetPage != "undefined") + targetPage = targetPage.substring(1); + if (targetPage.indexOf(":") != -1) + targetPage = "undefined"; + function loadFrames() { + if (targetPage != "" && targetPage != "undefined") + top.classFrame.location = top.targetPage; + } +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> +</HEAD> +<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()"> +<FRAMESET rows="30%,70%" title="" onLoad="top.loadFrames()"> +<FRAME src="overview-frame.html" name="packageListFrame" title="All Packages"> +<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)"> +</FRAMESET> +<FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes"> +<NOFRAMES> +<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> +</NOFRAMES> +</FRAMESET> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/options b/thirdparty/apache-log4j-extras-1.1/site/apidocs/options new file mode 100644 index 00000000000..9fb80704d4d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/options @@ -0,0 +1,22 @@ +-classpath +'/home/curta/trunk/target/checkout/target/classes:/home/curta/trunk/target/checkout/target/classes:/home/curta/.m2/repository/log4j/log4j/1.2.16/log4j-1.2.16.jar' +-encoding +'UTF-8' +-protected +-sourcepath +'/home/curta/trunk/target/checkout/src/main/java' +-author +-bottom +'<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p>' +-charset +'UTF-8' +-d +'/home/curta/trunk/target/checkout/target/site/apidocs' +-docencoding +'UTF-8' +-doctitle +'Apache Extras Companion™ for Apache log4j™. 1.1 API' +-use +-version +-windowtitle +'Apache Extras Companion™ for Apache log4j™. 1.1 API' \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html index 8b875f28553..5321592ce17 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/EnhancedPatternLayout.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -EnhancedPatternLayout (Apache Extras Companion for log4j 1.2. 1.0 API) +EnhancedPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ EnhancedPatternLayout (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="EnhancedPatternLayout (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="EnhancedPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -106,7 +106,16 @@ java.lang.Object </PRE> <P> -<p>A flexible layout configurable with pattern string. The goal of this class +This class is an enhanced version of org.apache.log4j.PatternLayout + which was originally developed as part of the abandoned log4j 1.3 + effort and has been available in the extras companion. + This pattern layout should be used in preference to + org.apache.log4j.PatternLayout except when compatibility + where PatternLayout has been extended either through subclassing + or alternative pattern parsers. + + + <p>A flexible layout configurable with pattern string. The goal of this class is to <A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html#format(org.apache.log4j.spi.LoggingEvent)"><CODE>format</CODE></A> a <CODE>LoggingEvent</CODE> and return the results in a <CODE>StringBuffer</CODE>. The format of the result depends on the <em>conversion pattern</em>. @@ -161,15 +170,12 @@ java.lang.Object <td>Used to output the category of the logging event. The category conversion specifier can be optionally followed by - <em>precision specifier</em>, that is a decimal constant in - brackets. + NameAbbreviator pattern. - <p>If a precision specifier is given, then only the corresponding - number of right most components of the category name will be - printed. By default the category name is printed in full. - - <p>For example, for the category name "a.b.c" the pattern - <b>%c{2}</b> will output "b.c". + <p>For example, for the category name "alpha.beta.gamma" the pattern + <b>%c{2}</b> will output the last two elements ("beta.gamma"), + <b>%c{-2}</b> will remove two elements leaving "gamma", + <b>%c{1.}</b> will output "a.b.gamma". </td> </tr> @@ -182,15 +188,17 @@ java.lang.Object can be optionally followed by <em>precision specifier</em>, that is a decimal constant in brackets. - <p>If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. + <td>Used to output the category of the logging event. The + category conversion specifier can be optionally followed by + NameAbbreviator pattern. - <p>For example, for the class name "org.apache.xyz.SomeClass", the - pattern <b>%C{1}</b> will output "SomeClass". + <p>For example, for the category name "alpha.beta.gamma" the pattern + <b>%c{2}</b> will output the last two elements ("beta.gamma"), + <b>%c{-2}</b> will remove two elements leaving "gamma", + <b>%c{1.}</b> will output "a.b.gamma". <p><b>WARNING</b> Generating the caller class information is - slow. Thus, it's use should be avoided unless execution speed is + slow. Thus, its use should be avoided unless execution speed is not an issue. </td> @@ -217,7 +225,7 @@ java.lang.Object issued. <p><b>WARNING</b> Generating caller location information is - extremely slow. Its use should be avoided unless execution speed + extremely slow and should be avoided unless execution speed is not an issue. </tr> @@ -233,8 +241,8 @@ java.lang.Object method followed by the callers source the file name and line number between parentheses. - <p>The location information can be very useful. However, it's - generation is <em>extremely</em> slow. It's use should be avoided + <p>The location information can be very useful. However, its + generation is <em>extremely</em> slow and should be avoided unless execution speed is not an issue. </td> @@ -247,7 +255,7 @@ java.lang.Object was issued. <p><b>WARNING</b> Generating caller location information is - extremely slow. It's use should be avoided unless execution speed + extremely slow and should be avoided unless execution speed is not an issue. </tr> @@ -266,7 +274,7 @@ java.lang.Object issued. <p><b>WARNING</b> Generating caller location information is - extremely slow. It's use should be avoided unless execution speed + extremely slow and should be avoided unless execution speed is not an issue. </tr> @@ -357,9 +365,14 @@ java.lang.Object <td> <p>Used to output the Throwable trace that has been bound to the LoggingEvent, by - default this will output the full trace as one would normally find by a call to Throwable.printStackTrace(). - The throwable conversion word can be followed by an option in the form <b>%throwable{short}</b> - which will only output the first line of the ThrowableInformation.</p> + default this will output the full trace as one would normally + find by a call to Throwable.printStackTrace(). + <b>%throwable{short}</b> or <b>%throwable{1}</b> will output the first line of + stack trace. <b>throwable{none}</b> or <b>throwable{0}</b> will suppress + the stack trace. <b>%throwable{n}</b> will output n lines of stack trace + if a positive integer or omit the last -n lines if a negative integer. + If no %throwable pattern is specified, the appender will take + responsibility to output the stack trace as it sees fit.</p> </td> </tr> @@ -375,13 +388,15 @@ java.lang.Object <p>By default the relevant information is output as is. However, with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. + minimum field width, the maximum field width, justification + and truncation. - <p>The optional format modifier is placed between the percent sign + <p>The optional format modifiers are placed between the percent sign and the conversion character. - <p>The first optional format modifier is the <em>left justification - flag</em> which is just the minus (-) character. Then comes the + <p>The <em>left justification flag</em>, the minus sign (-), + the <em>right truncation flag</em>, the exclamation mark (!), + or any combination appear first. Followed by the optional <em>minimum field width</em> modifier. This is a decimal constant that represents the minimum number of characters to output. If the data item requires fewer characters, it is padded on @@ -400,7 +415,8 @@ java.lang.Object example, it the maximum field width is eight and the data item is ten characters long, then the first two characters of the data item are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. + where truncation is done from the end. The <em>right truncation flag</em>, + described previously, will override this behavior. <p>Below are various format modifier examples for the category conversion specifier. @@ -435,6 +451,15 @@ java.lang.Object <td>Truncate from the beginning if the category name is longer than 30 characters. + <tr> + <td align=center>%!.30c</td> + <td align=center>NA</td> + <td align=center>none</td> + <td align=center>30</td> + + <td>Truncate from the end if the category name is longer than 30 + characters. + <tr> <td align=center>%20.30c</td> <td align=center>false</td> @@ -482,7 +507,7 @@ java.lang.Object <P> <DL> <DT><B>Since:</B></DT> - <DD>0.8.2</DD> + <DD>1.2.16</DD> <DT><B>Author:</B></DT> <DD><a href="mailto:cakalijp@Maritz.com">James P. Cakalic</a>, Ceki G&uuml;lc&uuml;</DD> </DL> @@ -821,9 +846,6 @@ public void <B>activateOptions</B>()</PRE> you change the parameters of the EnhancedPatternLayout instance. <P> <DD><DL> -<DT><B>Specified by:</B><DD><CODE>activateOptions</CODE> in interface <CODE>org.apache.log4j.spi.OptionHandler</CODE><DT><B>Specified by:</B><DD><CODE>activateOptions</CODE> in class <CODE>org.apache.log4j.Layout</CODE></DL> -</DD> -<DD><DL> </DL> </DD> </DL> @@ -922,6 +944,6 @@ DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/LogMF.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/LogMF.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/LogMF.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/LogMF.html index 73f4386f247..6de3678f501 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/LogMF.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/LogMF.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LogMF (Apache Extras Companion for log4j 1.2. 1.0 API) +LogMF (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LogMF (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LogMF (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LogMF (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -77,7 +77,7 @@ function windowTitle() </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.LogXF">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> </TR> @@ -94,23 +94,54 @@ org.apache.log4j</FONT> Class LogMF</H2> <PRE> java.lang.Object - <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LogMF</B> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">org.apache.log4j.LogXF</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LogMF</B> </PRE> <HR> <DL> -<DT><PRE>public final class <B>LogMF</B><DT>extends java.lang.Object</DL> +<DT><PRE>public final class <B>LogMF</B><DT>extends <A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></DL> </PRE> <P> -This class provides static methods to - format log messages using java.text.MessageFormat. +This class provides parameterized logging services + using the pattern syntax of java.text.MessageFormat. + Message formatting is only performed when the + request exceeds the threshold level of the logger. + When the pattern only contains literal text and + default conversion patterns (that is "{0}" and similar) + a simple fast compatible formatter is used. + If the pattern contains more complex conversion patterns, + formatting will be delegated to java.text.MessageFormatter + which can be substantially slower. <P> <P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><CODE>LogSF</CODE></A></DL> <HR> <P> +<!-- =========== FIELD SUMMARY =========== --> +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.LogXF"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/LogXF.html#TRACE">TRACE</A></CODE></TD> +</TR> +</TABLE> +&nbsp; <!-- ========== METHOD SUMMARY =========== --> <A NAME="method_summary"><!-- --></A> @@ -1086,6 +1117,15 @@ This class provides static methods to &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> </TR> </TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.LogXF"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)">throwing</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(boolean)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(byte)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(char)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(double)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(float)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(int)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(long)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(short)">valueOf</A></CODE></TD> +</TR> +</TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> @@ -2566,7 +2606,7 @@ public static void <B>logrb</B>(org.apache.log4j.Logger&nbsp;logger, </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.LogXF">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> </TR> @@ -2575,6 +2615,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/LogSF.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/LogSF.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/LogSF.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/LogSF.html index 8ec6292df8c..30495c75a13 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/LogSF.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/LogSF.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LogSF (Apache Extras Companion for log4j 1.2. 1.0 API) +LogSF (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LogSF (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LogSF (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LogSF (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -57,7 +57,7 @@ function windowTitle() <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> &nbsp;<A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; -&nbsp;NEXT CLASS</FONT></TD> +&nbsp;<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html?org/apache/log4j/LogSF.html" target="_top"><B>FRAMES</B></A> &nbsp; &nbsp;<A HREF="LogSF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; @@ -77,7 +77,7 @@ function windowTitle() </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.LogXF">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> </TR> @@ -94,24 +94,49 @@ org.apache.log4j</FONT> Class LogSF</H2> <PRE> java.lang.Object - <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LogSF</B> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">org.apache.log4j.LogXF</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LogSF</B> </PRE> <HR> <DL> -<DT><PRE>public final class <B>LogSF</B><DT>extends java.lang.Object</DL> +<DT><PRE>public final class <B>LogSF</B><DT>extends <A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></DL> </PRE> <P> -This class provides static methods to - format log messages using a log4j 1.3 or SLF4J - style formatter. +This class provides parameterized logging services + using the SLF4J pattern syntax. + <p> + Message formatting is only performed when the + request exceeds the threshold level of the logger. <P> <P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +</DL> <HR> <P> +<!-- =========== FIELD SUMMARY =========== --> +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.LogXF"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/LogXF.html#TRACE">TRACE</A></CODE></TD> +</TR> +</TABLE> +&nbsp; <!-- ========== METHOD SUMMARY =========== --> <A NAME="method_summary"><!-- --></A> @@ -1087,6 +1112,15 @@ This class provides static methods to &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a parameterized message at warn level.</TD> </TR> </TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.LogXF"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">entering</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">exiting</A>, <A HREF="../../../org/apache/log4j/LogXF.html#throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)">throwing</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(boolean)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(byte)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(char)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(double)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(float)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(int)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(long)">valueOf</A>, <A HREF="../../../org/apache/log4j/LogXF.html#valueOf(short)">valueOf</A></CODE></TD> +</TR> +</TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> @@ -2547,7 +2581,7 @@ public static void <B>logrb</B>(org.apache.log4j.Logger&nbsp;logger, <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> &nbsp;<A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; -&nbsp;NEXT CLASS</FONT></TD> +&nbsp;<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html?org/apache/log4j/LogSF.html" target="_top"><B>FRAMES</B></A> &nbsp; &nbsp;<A HREF="LogSF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; @@ -2567,7 +2601,7 @@ public static void <B>logrb</B>(org.apache.log4j.Logger&nbsp;logger, </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.LogXF">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> </TR> @@ -2576,6 +2610,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/LogXF.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/LogXF.html new file mode 100644 index 00000000000..f4284b48e95 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/LogXF.html @@ -0,0 +1,782 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogXF (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogXF (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogXF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class LogXF</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LogXF</B> +</PRE> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A>, <A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public abstract class <B>LogXF</B><DT>extends java.lang.Object</DL> +</PRE> + +<P> +This is a base class for LogMF and LogSF parameterized logging classes. +<P> + +<P> +<DL> +<DT><B>Since:</B></DT> + <DD>1.2.16</DD> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><CODE>LogMF</CODE></A>, +<A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><CODE>LogSF</CODE></A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;org.apache.log4j.Level</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#TRACE">TRACE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Trace level.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#LogXF()">LogXF</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)">entering</A></B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">entering</A></B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.Object&nbsp;param)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message with a parameter at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])">entering</A></B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.Object[]&nbsp;params)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message with an array of parameters at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">entering</A></B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.String&nbsp;param)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an entering message with a parameter at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)">exiting</A></B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an exiting message at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)">exiting</A></B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.Object&nbsp;result)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an exiting message with result at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)">exiting</A></B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.String&nbsp;result)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log an exiting message with result at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)">throwing</A></B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.Throwable&nbsp;thrown)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logs a throwing message at DEBUG level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Object[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object)">toArray</A></B>(java.lang.Object&nbsp;param1)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new array.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Object[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object)">toArray</A></B>(java.lang.Object&nbsp;param1, + java.lang.Object&nbsp;param2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new array.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Object[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A></B>(java.lang.Object&nbsp;param1, + java.lang.Object&nbsp;param2, + java.lang.Object&nbsp;param3)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new array.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Object[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#toArray(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)">toArray</A></B>(java.lang.Object&nbsp;param1, + java.lang.Object&nbsp;param2, + java.lang.Object&nbsp;param3, + java.lang.Object&nbsp;param4)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new array.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(boolean)">valueOf</A></B>(boolean&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Boolean instance representing the specified boolean.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Byte</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(byte)">valueOf</A></B>(byte&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Byte instance representing the specified byte.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Character</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(char)">valueOf</A></B>(char&nbsp;c)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Character instance representing the specified char.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Double</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(double)">valueOf</A></B>(double&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Double instance representing the specified double.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Float</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(float)">valueOf</A></B>(float&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Float instance representing the specified float.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Integer</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(int)">valueOf</A></B>(int&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an Integer instance representing the specified int.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Long</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(long)">valueOf</A></B>(long&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Long instance representing the specified long.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected static&nbsp;java.lang.Short</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogXF.html#valueOf(short)">valueOf</A></B>(short&nbsp;b)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a Short instance representing the specified short.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TRACE"><!-- --></A><H3> +TRACE</H3> +<PRE> +protected static final org.apache.log4j.Level <B>TRACE</B></PRE> +<DL> +<DD>Trace level. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogXF()"><!-- --></A><H3> +LogXF</H3> +<PRE> +protected <B>LogXF</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="valueOf(boolean)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static java.lang.Boolean <B>valueOf</B>(boolean&nbsp;b)</PRE> +<DL> +<DD>Returns a Boolean instance representing the specified boolean. + Boolean.valueOf was added in JDK 1.4. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a boolean value. +<DT><B>Returns:</B><DD>a Boolean instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(char)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static java.lang.Character <B>valueOf</B>(char&nbsp;c)</PRE> +<DL> +<DD>Returns a Character instance representing the specified char. + Character.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>c</CODE> - a character value. +<DT><B>Returns:</B><DD>a Character instance representing c.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(byte)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static java.lang.Byte <B>valueOf</B>(byte&nbsp;b)</PRE> +<DL> +<DD>Returns a Byte instance representing the specified byte. + Byte.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a byte value. +<DT><B>Returns:</B><DD>a Byte instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(short)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static java.lang.Short <B>valueOf</B>(short&nbsp;b)</PRE> +<DL> +<DD>Returns a Short instance representing the specified short. + Short.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a short value. +<DT><B>Returns:</B><DD>a Byte instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(int)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static java.lang.Integer <B>valueOf</B>(int&nbsp;b)</PRE> +<DL> +<DD>Returns an Integer instance representing the specified int. + Integer.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - an int value. +<DT><B>Returns:</B><DD>an Integer instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(long)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static java.lang.Long <B>valueOf</B>(long&nbsp;b)</PRE> +<DL> +<DD>Returns a Long instance representing the specified long. + Long.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a long value. +<DT><B>Returns:</B><DD>a Long instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(float)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static java.lang.Float <B>valueOf</B>(float&nbsp;b)</PRE> +<DL> +<DD>Returns a Float instance representing the specified float. + Float.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a float value. +<DT><B>Returns:</B><DD>a Float instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="valueOf(double)"><!-- --></A><H3> +valueOf</H3> +<PRE> +protected static java.lang.Double <B>valueOf</B>(double&nbsp;b)</PRE> +<DL> +<DD>Returns a Double instance representing the specified double. + Double.valueOf was added in JDK 1.5. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>b</CODE> - a double value. +<DT><B>Returns:</B><DD>a Byte instance representing b.</DL> +</DD> +</DL> +<HR> + +<A NAME="toArray(java.lang.Object)"><!-- --></A><H3> +toArray</H3> +<PRE> +protected static java.lang.Object[] <B>toArray</B>(java.lang.Object&nbsp;param1)</PRE> +<DL> +<DD>Create new array. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>param1</CODE> - parameter 1. +<DT><B>Returns:</B><DD>new array.</DL> +</DD> +</DL> +<HR> + +<A NAME="toArray(java.lang.Object, java.lang.Object)"><!-- --></A><H3> +toArray</H3> +<PRE> +protected static java.lang.Object[] <B>toArray</B>(java.lang.Object&nbsp;param1, + java.lang.Object&nbsp;param2)</PRE> +<DL> +<DD>Create new array. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>param1</CODE> - parameter 1.<DD><CODE>param2</CODE> - parameter 2. +<DT><B>Returns:</B><DD>new array.</DL> +</DD> +</DL> +<HR> + +<A NAME="toArray(java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +toArray</H3> +<PRE> +protected static java.lang.Object[] <B>toArray</B>(java.lang.Object&nbsp;param1, + java.lang.Object&nbsp;param2, + java.lang.Object&nbsp;param3)</PRE> +<DL> +<DD>Create new array. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>param1</CODE> - parameter 1.<DD><CODE>param2</CODE> - parameter 2.<DD><CODE>param3</CODE> - parameter 3. +<DT><B>Returns:</B><DD>new array.</DL> +</DD> +</DL> +<HR> + +<A NAME="toArray(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3> +toArray</H3> +<PRE> +protected static java.lang.Object[] <B>toArray</B>(java.lang.Object&nbsp;param1, + java.lang.Object&nbsp;param2, + java.lang.Object&nbsp;param3, + java.lang.Object&nbsp;param4)</PRE> +<DL> +<DD>Create new array. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>param1</CODE> - parameter 1.<DD><CODE>param2</CODE> - parameter 2.<DD><CODE>param3</CODE> - parameter 3.<DD><CODE>param4</CODE> - parameter 4. +<DT><B>Returns:</B><DD>new array.</DL> +</DD> +</DL> +<HR> + +<A NAME="entering(org.apache.log4j.Logger, java.lang.String, java.lang.String)"><!-- --></A><H3> +entering</H3> +<PRE> +public static void <B>entering</B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod)</PRE> +<DL> +<DD>Log an entering message at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3> +entering</H3> +<PRE> +public static void <B>entering</B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.String&nbsp;param)</PRE> +<DL> +<DD>Log an entering message with a parameter at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>param</CODE> - parameter, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)"><!-- --></A><H3> +entering</H3> +<PRE> +public static void <B>entering</B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.Object&nbsp;param)</PRE> +<DL> +<DD>Log an entering message with a parameter at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>param</CODE> - parameter, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="entering(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object[])"><!-- --></A><H3> +entering</H3> +<PRE> +public static void <B>entering</B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.Object[]&nbsp;params)</PRE> +<DL> +<DD>Log an entering message with an array of parameters at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>params</CODE> - parameters, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String)"><!-- --></A><H3> +exiting</H3> +<PRE> +public static void <B>exiting</B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod)</PRE> +<DL> +<DD>Log an exiting message at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3> +exiting</H3> +<PRE> +public static void <B>exiting</B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.String&nbsp;result)</PRE> +<DL> +<DD>Log an exiting message with result at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>result</CODE> - result, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="exiting(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Object)"><!-- --></A><H3> +exiting</H3> +<PRE> +public static void <B>exiting</B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.Object&nbsp;result)</PRE> +<DL> +<DD>Log an exiting message with result at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>result</CODE> - result, may be null.</DL> +</DD> +</DL> +<HR> + +<A NAME="throwing(org.apache.log4j.Logger, java.lang.String, java.lang.String, java.lang.Throwable)"><!-- --></A><H3> +throwing</H3> +<PRE> +public static void <B>throwing</B>(org.apache.log4j.Logger&nbsp;logger, + java.lang.String&nbsp;sourceClass, + java.lang.String&nbsp;sourceMethod, + java.lang.Throwable&nbsp;thrown)</PRE> +<DL> +<DD>Logs a throwing message at DEBUG level. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>logger</CODE> - logger, may not be null.<DD><CODE>sourceClass</CODE> - source class, may be null.<DD><CODE>sourceMethod</CODE> - method, may be null.<DD><CODE>thrown</CODE> - throwable, may be null.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogXF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html new file mode 100644 index 00000000000..b311f0b40c3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/EnhancedPatternLayout.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.EnhancedPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.EnhancedPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.EnhancedPatternLayout</B></H2> +</CENTER> +No usage of org.apache.log4j.EnhancedPatternLayout +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogMF.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogMF.html new file mode 100644 index 00000000000..55d71b7aa9a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogMF.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.LogMF (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.LogMF (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogMF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogMF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.LogMF</B></H2> +</CENTER> +No usage of org.apache.log4j.LogMF +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogMF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogMF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogSF.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogSF.html new file mode 100644 index 00000000000..09780e76f16 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogSF.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.LogSF (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.LogSF (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogSF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogSF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.LogSF</B></H2> +</CENTER> +No usage of org.apache.log4j.LogSF +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogSF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogSF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogXF.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogXF.html new file mode 100644 index 00000000000..e1900d82c11 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/class-use/LogXF.html @@ -0,0 +1,191 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.LogXF (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.LogXF (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.LogXF</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class provides parameterized logging services + using the pattern syntax of java.text.MessageFormat.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class provides parameterized logging services + using the SLF4J pattern syntax.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/DOMConfigurator.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/DOMConfigurator.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/DOMConfigurator.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/DOMConfigurator.html index 7a10a1bbb00..da78adfaa95 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/DOMConfigurator.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/DOMConfigurator.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -DOMConfigurator (Apache Extras Companion for log4j 1.2. 1.0 API) +DOMConfigurator (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ DOMConfigurator (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="DOMConfigurator (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="DOMConfigurator (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -57,7 +57,7 @@ function windowTitle() <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> &nbsp;PREV CLASS&nbsp; -&nbsp;NEXT CLASS</FONT></TD> +&nbsp;<A HREF="../../../../org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/extras/DOMConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; &nbsp;<A HREF="DOMConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; @@ -1010,7 +1010,7 @@ public static org.apache.log4j.spi.OptionHandler <B>parseElement</B>(org.w3c.dom <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> &nbsp;PREV CLASS&nbsp; -&nbsp;NEXT CLASS</FONT></TD> +&nbsp;<A HREF="../../../../org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/extras/DOMConfigurator.html" target="_top"><B>FRAMES</B></A> &nbsp; &nbsp;<A HREF="DOMConfigurator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; @@ -1039,6 +1039,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/SoundAppender.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/SoundAppender.html new file mode 100644 index 00000000000..e1fc2f40b5b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/SoundAppender.html @@ -0,0 +1,421 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SoundAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SoundAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SoundAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/extras/DOMConfigurator.html" title="class in org.apache.log4j.extras"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/extras/SoundAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SoundAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.extras</FONT> +<BR> +Class SoundAppender</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">org.apache.log4j.AppenderSkeleton + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.extras.SoundAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler</DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>SoundAppender</B><DT>extends org.apache.log4j.AppenderSkeleton</DL> +</PRE> + +<P> +This class is equivalent to org.apache.log4j.varia.SoundAppender + except for a package change to aid in use with OSGi. + + Plays a sound clip created using Applet.newAudioClip when an event is received. + + If the audio format is not supported, a message stating the SoundAppender could + not be initialized is logged. + + Use a filter in combination with this appender to control when the appender is + triggered. + + For example, in the appender definition, include a LevelMatchFilter configured + to accept WARN or greater, followed by a DenyAllFilter. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Scott Deboy</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.AppenderSkeleton</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>closed, errorHandler, headFilter, layout, name, tailFilter, threshold</CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/SoundAppender.html#SoundAppender()">SoundAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/SoundAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attempt to initialize the appender by creating a reference to an AudioClip.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/SoundAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Play the sound if an event is being processed</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/SoundAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/SoundAppender.html#getAudioURL()">getAudioURL</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Accessor</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/SoundAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether appender requires a layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/SoundAppender.html#setAudioURL(java.lang.String)">setAudioURL</A></B>(java.lang.String&nbsp;audioURL)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mutator - common format for a file-based url: + file:///c:/path/someaudioclip.wav</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.AppenderSkeleton</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SoundAppender()"><!-- --></A><H3> +SoundAppender</H3> +<PRE> +public <B>SoundAppender</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Attempt to initialize the appender by creating a reference to an AudioClip. + + Will log a message if format is not supported, file not found, etc. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>activateOptions</CODE> in interface <CODE>org.apache.log4j.spi.OptionHandler</CODE><DT><B>Overrides:</B><DD><CODE>activateOptions</CODE> in class <CODE>org.apache.log4j.AppenderSkeleton</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getAudioURL()"><!-- --></A><H3> +getAudioURL</H3> +<PRE> +public java.lang.String <B>getAudioURL</B>()</PRE> +<DL> +<DD>Accessor +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>audio file</DL> +</DD> +</DL> +<HR> + +<A NAME="setAudioURL(java.lang.String)"><!-- --></A><H3> +setAudioURL</H3> +<PRE> +public void <B>setAudioURL</B>(java.lang.String&nbsp;audioURL)</PRE> +<DL> +<DD>Mutator - common format for a file-based url: + file:///c:/path/someaudioclip.wav +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>audioURL</CODE> - </DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +protected void <B>append</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +<DL> +<DD>Play the sound if an event is being processed +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>append</CODE> in class <CODE>org.apache.log4j.AppenderSkeleton</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD>Gets whether appender requires a layout. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>false</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SoundAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/extras/DOMConfigurator.html" title="class in org.apache.log4j.extras"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/extras/SoundAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SoundAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/UtilLoggingLevel.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/UtilLoggingLevel.html new file mode 100644 index 00000000000..e329564c1e3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/UtilLoggingLevel.html @@ -0,0 +1,731 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +UtilLoggingLevel (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="UtilLoggingLevel (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UtilLoggingLevel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/extras/UtilLoggingLevel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UtilLoggingLevel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.extras</FONT> +<BR> +Class UtilLoggingLevel</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">org.apache.log4j.Priority + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">org.apache.log4j.Level + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.extras.UtilLoggingLevel</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>UtilLoggingLevel</B><DT>extends org.apache.log4j.Level</DL> +</PRE> + +<P> +This class is identical to org.apache.log4j.helpers.UtilLoggingLevel + except for a package change to aid in use with OSGi. + + An extension of the Level class that provides support for java.util.logging + Levels. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Scott Deboy (sdeboy@apache.org)</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.extras.UtilLoggingLevel">Serialized Form</A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#CONFIG">CONFIG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CONFIG.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#CONFIG_INT">CONFIG_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numerical value for CONFIG.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#FINE">FINE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FINE.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#FINE_INT">FINE_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numerical value for FINE.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#FINER">FINER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FINER.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#FINER_INT">FINER_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numerical value for FINER.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#FINEST">FINEST</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FINEST.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#FINEST_INT">FINEST_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numerical value for FINEST.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#INFO">INFO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INFO.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#INFO_INT">INFO_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numerical value for INFO.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#SEVERE">SEVERE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEVERE.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#SEVERE_INT">SEVERE_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numerical value for SEVERE.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#UNKNOWN_INT">UNKNOWN_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numerical value for UNKNOWN.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#WARNING">WARNING</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WARNING.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#WARNING_INT">WARNING_INT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numerical value for WARNING.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Level"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.Level</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>ALL, DEBUG, ERROR, FATAL, OFF, TRACE, TRACE_INT, WARN</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Priority"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.Priority</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>ALL_INT, DEBUG_INT, ERROR_INT, FATAL_INT, OFF_INT, WARN_INT</CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#UtilLoggingLevel(int, java.lang.String, int)">UtilLoggingLevel</A></B>(int&nbsp;level, + java.lang.String&nbsp;levelStr, + int&nbsp;syslogEquivalent)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;java.util.List</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#getAllPossibleLevels()">getAllPossibleLevels</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets list of supported levels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;org.apache.log4j.Level</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#toLevel(int)">toLevel</A></B>(int&nbsp;val)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets level matching numeric value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#toLevel(int, org.apache.log4j.extras.UtilLoggingLevel)">toLevel</A></B>(int&nbsp;val, + <A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A>&nbsp;defaultLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert an integer passed as argument to a level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;org.apache.log4j.Level</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#toLevel(java.lang.String)">toLevel</A></B>(java.lang.String&nbsp;s)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get level with specified symbolic name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;org.apache.log4j.Level</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html#toLevel(java.lang.String, org.apache.log4j.Level)">toLevel</A></B>(java.lang.String&nbsp;sArg, + org.apache.log4j.Level&nbsp;defaultLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get level with specified symbolic name.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Level"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.Level</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>toLevel</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Priority"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.Priority</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>equals, getAllPossiblePriorities, getSyslogEquivalent, isGreaterOrEqual, toInt, toPriority, toPriority, toPriority, toPriority, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SEVERE_INT"><!-- --></A><H3> +SEVERE_INT</H3> +<PRE> +public static final int <B>SEVERE_INT</B></PRE> +<DL> +<DD>Numerical value for SEVERE. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.extras.UtilLoggingLevel.SEVERE_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="WARNING_INT"><!-- --></A><H3> +WARNING_INT</H3> +<PRE> +public static final int <B>WARNING_INT</B></PRE> +<DL> +<DD>Numerical value for WARNING. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.extras.UtilLoggingLevel.WARNING_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="INFO_INT"><!-- --></A><H3> +INFO_INT</H3> +<PRE> +public static final int <B>INFO_INT</B></PRE> +<DL> +<DD>Numerical value for INFO. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.extras.UtilLoggingLevel.INFO_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="CONFIG_INT"><!-- --></A><H3> +CONFIG_INT</H3> +<PRE> +public static final int <B>CONFIG_INT</B></PRE> +<DL> +<DD>Numerical value for CONFIG. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.extras.UtilLoggingLevel.CONFIG_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="FINE_INT"><!-- --></A><H3> +FINE_INT</H3> +<PRE> +public static final int <B>FINE_INT</B></PRE> +<DL> +<DD>Numerical value for FINE. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.extras.UtilLoggingLevel.FINE_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="FINER_INT"><!-- --></A><H3> +FINER_INT</H3> +<PRE> +public static final int <B>FINER_INT</B></PRE> +<DL> +<DD>Numerical value for FINER. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.extras.UtilLoggingLevel.FINER_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="FINEST_INT"><!-- --></A><H3> +FINEST_INT</H3> +<PRE> +public static final int <B>FINEST_INT</B></PRE> +<DL> +<DD>Numerical value for FINEST. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.extras.UtilLoggingLevel.FINEST_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="UNKNOWN_INT"><!-- --></A><H3> +UNKNOWN_INT</H3> +<PRE> +public static final int <B>UNKNOWN_INT</B></PRE> +<DL> +<DD>Numerical value for UNKNOWN. +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.extras.UtilLoggingLevel.UNKNOWN_INT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="SEVERE"><!-- --></A><H3> +SEVERE</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> <B>SEVERE</B></PRE> +<DL> +<DD>SEVERE. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="WARNING"><!-- --></A><H3> +WARNING</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> <B>WARNING</B></PRE> +<DL> +<DD>WARNING. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="INFO"><!-- --></A><H3> +INFO</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> <B>INFO</B></PRE> +<DL> +<DD>INFO. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="CONFIG"><!-- --></A><H3> +CONFIG</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> <B>CONFIG</B></PRE> +<DL> +<DD>CONFIG. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="FINE"><!-- --></A><H3> +FINE</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> <B>FINE</B></PRE> +<DL> +<DD>FINE. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="FINER"><!-- --></A><H3> +FINER</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> <B>FINER</B></PRE> +<DL> +<DD>FINER. +<P> +<DL> +</DL> +</DL> +<HR> + +<A NAME="FINEST"><!-- --></A><H3> +FINEST</H3> +<PRE> +public static final <A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> <B>FINEST</B></PRE> +<DL> +<DD>FINEST. +<P> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="UtilLoggingLevel(int, java.lang.String, int)"><!-- --></A><H3> +UtilLoggingLevel</H3> +<PRE> +protected <B>UtilLoggingLevel</B>(int&nbsp;level, + java.lang.String&nbsp;levelStr, + int&nbsp;syslogEquivalent)</PRE> +<DL> +<DD>Create new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>level</CODE> - numeric value for level.<DD><CODE>levelStr</CODE> - symbolic name for level.<DD><CODE>syslogEquivalent</CODE> - Equivalent syslog severity.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="toLevel(int, org.apache.log4j.extras.UtilLoggingLevel)"><!-- --></A><H3> +toLevel</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> <B>toLevel</B>(int&nbsp;val, + <A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A>&nbsp;defaultLevel)</PRE> +<DL> +<DD>Convert an integer passed as argument to a level. If the + conversion fails, then this method returns the specified default. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>val</CODE> - numeric value.<DD><CODE>defaultLevel</CODE> - level to be returned if no level matches + numeric value. +<DT><B>Returns:</B><DD>matching level or default level.</DL> +</DD> +</DL> +<HR> + +<A NAME="toLevel(int)"><!-- --></A><H3> +toLevel</H3> +<PRE> +public static org.apache.log4j.Level <B>toLevel</B>(int&nbsp;val)</PRE> +<DL> +<DD>Gets level matching numeric value. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>val</CODE> - numeric value. +<DT><B>Returns:</B><DD>matching level or UtilLoggerLevel.FINEST if no match.</DL> +</DD> +</DL> +<HR> + +<A NAME="getAllPossibleLevels()"><!-- --></A><H3> +getAllPossibleLevels</H3> +<PRE> +public static java.util.List <B>getAllPossibleLevels</B>()</PRE> +<DL> +<DD>Gets list of supported levels. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>list of supported levels.</DL> +</DD> +</DL> +<HR> + +<A NAME="toLevel(java.lang.String)"><!-- --></A><H3> +toLevel</H3> +<PRE> +public static org.apache.log4j.Level <B>toLevel</B>(java.lang.String&nbsp;s)</PRE> +<DL> +<DD>Get level with specified symbolic name. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>s</CODE> - symbolic name. +<DT><B>Returns:</B><DD>matching level or Level.DEBUG if no match.</DL> +</DD> +</DL> +<HR> + +<A NAME="toLevel(java.lang.String, org.apache.log4j.Level)"><!-- --></A><H3> +toLevel</H3> +<PRE> +public static org.apache.log4j.Level <B>toLevel</B>(java.lang.String&nbsp;sArg, + org.apache.log4j.Level&nbsp;defaultLevel)</PRE> +<DL> +<DD>Get level with specified symbolic name. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>sArg</CODE> - symbolic name.<DD><CODE>defaultLevel</CODE> - level to return if no match. +<DT><B>Returns:</B><DD>matching level or defaultLevel if no match.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UtilLoggingLevel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/extras/UtilLoggingLevel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UtilLoggingLevel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/XSLTLayout.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/XSLTLayout.html new file mode 100644 index 00000000000..5164e629f6d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/XSLTLayout.html @@ -0,0 +1,601 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +XSLTLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="XSLTLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XSLTLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/extras/XSLTLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Layout">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.extras</FONT> +<BR> +Class XSLTLayout</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">org.apache.log4j.Layout + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.extras.XSLTLayout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>org.apache.log4j.spi.OptionHandler, <A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>XSLTLayout</B><DT>extends org.apache.log4j.Layout<DT>implements <A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></DL> +</PRE> + +<P> +This class is identical to org.apache.log4j.xml.XSLTLayout + except for a change in package to aid in use with OSGi. + + + XSLTLayout transforms each event as a document using + a specified or default XSLT transform. The default + XSLT transform produces a result similar to XMLLayout. + + When used with a FileAppender or similar, the transformation of + an event will be appended to the results for previous + transforms. If each transform results in an XML element, then + resulting file will only be an XML entity + since an XML document requires one and only one top-level element. + To process the entity, reference it in a XML document like so: + + <pre> + &lt;!DOCTYPE log4j:eventSet [&lt;!ENTITY data SYSTEM &quot;data.xml&quot;&gt;]&gt; + + &lt;log4j:eventSet xmlns:log4j=&quot;http://jakarta.apache.org/log4j/&quot;&gt; + &amp;data + &lt;/log4j:eventSet&gt; + + </pre> + + The layout will detect the encoding and media-type specified in + the transform. If no encoding is specified in the transform, + an xsl:output element specifying the US-ASCII encoding will be inserted + before processing the transform. If an encoding is specified in the transform, + the same encoding should be explicitly specified for the appender. + + Extracting MDC values can be expensive when used with log4j releases + prior to 1.2.15. Output of MDC values is enabled by default + but be suppressed by setting properties to false. + + Extracting location info can be expensive regardless of log4j version. + Output of location info is disabled by default but can be enabled + by setting locationInfo to true. + + Embedded transforms in XML configuration should not + depend on namespace prefixes defined earlier in the document + as namespace aware parsing in not generally performed when + using DOMConfigurator. The transform will serialize + and reparse to get the namespace aware document needed. +<P> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.Layout</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>LINE_SEP, LINE_SEP_LEN</CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#XSLTLayout()">XSLTLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#format(org.apache.log4j.spi.LoggingEvent)">format</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#getContentType()">getContentType</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#getLocationInfo()">getLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether location info should be output.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#getProperties()">getProperties</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether MDC key-value pairs should be output.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#ignoresThrowable()">ignoresThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether throwables should not be output.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)">parseUnrecognizedElement</A></B>(org.w3c.dom.Element&nbsp;element, + java.util.Properties&nbsp;props)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to inform a configured object when + an unrecognized child element is encountered.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#setIgnoresThrowable(boolean)">setIgnoresThrowable</A></B>(boolean&nbsp;ignoresThrowable)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether throwables should not be output.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#setLocationInfo(boolean)">setLocationInfo</A></B>(boolean&nbsp;flag)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <b>LocationInfo </b> option takes a boolean value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#setProperties(boolean)">setProperties</A></B>(boolean&nbsp;flag)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether MDC key-value pairs should be output, default false.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html#setTransform(org.w3c.dom.Document)">setTransform</A></B>(org.w3c.dom.Document&nbsp;xsltdoc)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets XSLT transform.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.Layout</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>getFooter, getHeader</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="XSLTLayout()"><!-- --></A><H3> +XSLTLayout</H3> +<PRE> +public <B>XSLTLayout</B>()</PRE> +<DL> +<DD>Default constructor. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getContentType()"><!-- --></A><H3> +getContentType</H3> +<PRE> +public java.lang.String <B>getContentType</B>()</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>getContentType</CODE> in class <CODE>org.apache.log4j.Layout</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setLocationInfo(boolean)"><!-- --></A><H3> +setLocationInfo</H3> +<PRE> +public void <B>setLocationInfo</B>(boolean&nbsp;flag)</PRE> +<DL> +<DD>The <b>LocationInfo </b> option takes a boolean value. By default, it is + set to false which means there will be no location information output by + this layout. If the the option is set to true, then the file name and line + number of the statement at the origin of the log statement will be output. + + <p> + If you are embedding this layout within an <CODE>org.apache.log4j.net.SMTPAppender</CODE> then make sure to set the + <b>LocationInfo </b> option of that appender as well. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>flag</CODE> - new value.</DL> +</DD> +</DL> +<HR> + +<A NAME="getLocationInfo()"><!-- --></A><H3> +getLocationInfo</H3> +<PRE> +public boolean <B>getLocationInfo</B>()</PRE> +<DL> +<DD>Gets whether location info should be output. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>if location is output.</DL> +</DD> +</DL> +<HR> + +<A NAME="setProperties(boolean)"><!-- --></A><H3> +setProperties</H3> +<PRE> +public void <B>setProperties</B>(boolean&nbsp;flag)</PRE> +<DL> +<DD>Sets whether MDC key-value pairs should be output, default false. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>flag</CODE> - new value.</DL> +</DD> +</DL> +<HR> + +<A NAME="getProperties()"><!-- --></A><H3> +getProperties</H3> +<PRE> +public boolean <B>getProperties</B>()</PRE> +<DL> +<DD>Gets whether MDC key-value pairs should be output. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true if MDC key-value pairs are output.</DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>activateOptions</CODE> in interface <CODE>org.apache.log4j.spi.OptionHandler</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="ignoresThrowable()"><!-- --></A><H3> +ignoresThrowable</H3> +<PRE> +public boolean <B>ignoresThrowable</B>()</PRE> +<DL> +<DD>Gets whether throwables should not be output. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>ignoresThrowable</CODE> in class <CODE>org.apache.log4j.Layout</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>true if throwables should not be output.</DL> +</DD> +</DL> +<HR> + +<A NAME="setIgnoresThrowable(boolean)"><!-- --></A><H3> +setIgnoresThrowable</H3> +<PRE> +public void <B>setIgnoresThrowable</B>(boolean&nbsp;ignoresThrowable)</PRE> +<DL> +<DD>Sets whether throwables should not be output. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>ignoresThrowable</CODE> - if true, throwables should not be output.</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +format</H3> +<PRE> +public java.lang.String <B>format</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +<DL> +<DD> +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>format</CODE> in class <CODE>org.apache.log4j.Layout</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setTransform(org.w3c.dom.Document)"><!-- --></A><H3> +setTransform</H3> +<PRE> +public void <B>setTransform</B>(org.w3c.dom.Document&nbsp;xsltdoc) + throws javax.xml.transform.TransformerConfigurationException</PRE> +<DL> +<DD>Sets XSLT transform. +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>xsltdoc</CODE> - DOM document containing XSLT transform source, + may be modified. +<DT><B>Throws:</B> +<DD><CODE>javax.xml.transform.TransformerConfigurationException</CODE> - if transformer can not be + created.</DL> +</DD> +</DL> +<HR> + +<A NAME="parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)"><!-- --></A><H3> +parseUnrecognizedElement</H3> +<PRE> +public boolean <B>parseUnrecognizedElement</B>(org.w3c.dom.Element&nbsp;element, + java.util.Properties&nbsp;props) + throws java.lang.Exception</PRE> +<DL> +<DD>Called to inform a configured object when + an unrecognized child element is encountered. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)">parseUnrecognizedElement</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>element</CODE> - element, may not be null.<DD><CODE>props</CODE> - properties in force, may be null. +<DT><B>Returns:</B><DD>true if configured object recognized the element +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE> - throw an exception to prevent activation + of the configured object.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XSLTLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/extras/XSLTLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Layout">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/class-use/DOMConfigurator.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/DOMConfigurator.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/class-use/DOMConfigurator.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/DOMConfigurator.html index ef5f17ab782..367e887c89f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/class-use/DOMConfigurator.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/DOMConfigurator.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.extras.DOMConfigurator (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.extras.DOMConfigurator (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.extras.DOMConfigurator (Apache Extras Companion f function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.extras.DOMConfigurator (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.extras.DOMConfigurator (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.extras.DOMConfigurator <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/SoundAppender.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/SoundAppender.html new file mode 100644 index 00000000000..627116f5a91 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/SoundAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.extras.SoundAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.extras.SoundAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/extras//class-useSoundAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SoundAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.extras.SoundAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.extras.SoundAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/extras//class-useSoundAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SoundAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/UtilLoggingLevel.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/UtilLoggingLevel.html new file mode 100644 index 00000000000..0c02f9a06e8 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/UtilLoggingLevel.html @@ -0,0 +1,263 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.extras.UtilLoggingLevel (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.extras.UtilLoggingLevel (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/extras//class-useUtilLoggingLevel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UtilLoggingLevel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.extras.UtilLoggingLevel</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.extras"><B>org.apache.log4j.extras</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.extras"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A> in <A HREF="../../../../../org/apache/log4j/extras/package-summary.html">org.apache.log4j.extras</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/extras/package-summary.html">org.apache.log4j.extras</A> declared as <A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B>UtilLoggingLevel.</B><B><A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html#CONFIG">CONFIG</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CONFIG.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B>UtilLoggingLevel.</B><B><A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html#FINE">FINE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FINE.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B>UtilLoggingLevel.</B><B><A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html#FINER">FINER</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FINER.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B>UtilLoggingLevel.</B><B><A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html#FINEST">FINEST</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FINEST.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B>UtilLoggingLevel.</B><B><A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html#INFO">INFO</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INFO.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B>UtilLoggingLevel.</B><B><A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html#SEVERE">SEVERE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEVERE.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B>UtilLoggingLevel.</B><B><A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html#WARNING">WARNING</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WARNING.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/extras/package-summary.html">org.apache.log4j.extras</A> that return <A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B>UtilLoggingLevel.</B><B><A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html#toLevel(int, org.apache.log4j.extras.UtilLoggingLevel)">toLevel</A></B>(int&nbsp;val, + <A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A>&nbsp;defaultLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert an integer passed as argument to a level.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/extras/package-summary.html">org.apache.log4j.extras</A> with parameters of type <A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></CODE></FONT></TD> +<TD><CODE><B>UtilLoggingLevel.</B><B><A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html#toLevel(int, org.apache.log4j.extras.UtilLoggingLevel)">toLevel</A></B>(int&nbsp;val, + <A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A>&nbsp;defaultLevel)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert an integer passed as argument to a level.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/extras//class-useUtilLoggingLevel.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UtilLoggingLevel.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/XSLTLayout.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/XSLTLayout.html new file mode 100644 index 00000000000..21b13043103 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/class-use/XSLTLayout.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.extras.XSLTLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.extras.XSLTLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/extras//class-useXSLTLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.extras.XSLTLayout</B></H2> +</CENTER> +No usage of org.apache.log4j.extras.XSLTLayout +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/extras//class-useXSLTLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-frame.html new file mode 100644 index 00000000000..2141fa0fbc4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-frame.html @@ -0,0 +1,39 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.extras (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/extras/package-summary.html" target="classFrame">org.apache.log4j.extras</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="DOMConfigurator.html" title="class in org.apache.log4j.extras" target="classFrame">DOMConfigurator</A> +<BR> +<A HREF="SoundAppender.html" title="class in org.apache.log4j.extras" target="classFrame">SoundAppender</A> +<BR> +<A HREF="UtilLoggingLevel.html" title="class in org.apache.log4j.extras" target="classFrame">UtilLoggingLevel</A> +<BR> +<A HREF="XSLTLayout.html" title="class in org.apache.log4j.extras" target="classFrame">XSLTLayout</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-summary.html similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-summary.html index bec0eb3c627..7b51a55aed9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.extras (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.extras (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.extras (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.extras (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.extras (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -95,6 +95,21 @@ Package org.apache.log4j.extras of the log4j 1.2.15 DOMConfigurator renamed for use with earlier versions of log4j.</TD> </TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras">SoundAppender</A></B></TD> +<TD>This class is equivalent to org.apache.log4j.varia.SoundAppender + except for a package change to aid in use with OSGi.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">UtilLoggingLevel</A></B></TD> +<TD>This class is identical to org.apache.log4j.helpers.UtilLoggingLevel + except for a package change to aid in use with OSGi.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A></B></TD> +<TD>This class is identical to org.apache.log4j.xml.XSLTLayout + except for a change in package to aid in use with OSGi.</TD> +</TR> </TABLE> &nbsp; @@ -155,6 +170,6 @@ Package org.apache.log4j.extras <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-tree.html similarity index 78% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-tree.html index 0a68f4ec121..29ea915f063 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/extras/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.extras Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.extras Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.extras Class Hierarchy (Apache Extras Companion for log4j 1.2. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.extras Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.extras Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -93,7 +93,19 @@ Class Hierarchy </H2> <UL> <LI TYPE="circle">java.lang.Object<UL> +<LI TYPE="circle">org.apache.log4j.AppenderSkeleton (implements org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler) +<UL> +<LI TYPE="circle">org.apache.log4j.extras.<A HREF="../../../../org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras"><B>SoundAppender</B></A></UL> <LI TYPE="circle">org.apache.log4j.extras.<A HREF="../../../../org/apache/log4j/extras/DOMConfigurator.html" title="class in org.apache.log4j.extras"><B>DOMConfigurator</B></A> (implements org.apache.log4j.spi.Configurator) +<LI TYPE="circle">org.apache.log4j.Layout (implements org.apache.log4j.spi.OptionHandler) +<UL> +<LI TYPE="circle">org.apache.log4j.extras.<A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras"><B>XSLTLayout</B></A> (implements org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A>) +</UL> +<LI TYPE="circle">org.apache.log4j.Priority<UL> +<LI TYPE="circle">org.apache.log4j.Level (implements java.io.Serializable) +<UL> +<LI TYPE="circle">org.apache.log4j.extras.<A HREF="../../../../org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras"><B>UtilLoggingLevel</B></A></UL> +</UL> </UL> </UL> <HR> @@ -150,6 +162,6 @@ Class Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-use.html new file mode 100644 index 00000000000..029b073695a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/extras/package-use.html @@ -0,0 +1,172 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.extras (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.extras (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/extras/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.extras</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/extras/package-summary.html">org.apache.log4j.extras</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.extras"><B>org.apache.log4j.extras</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.extras"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/extras/package-summary.html">org.apache.log4j.extras</A> used by <A HREF="../../../../org/apache/log4j/extras/package-summary.html">org.apache.log4j.extras</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/extras/class-use/UtilLoggingLevel.html#org.apache.log4j.extras"><B>UtilLoggingLevel</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class is identical to org.apache.log4j.helpers.UtilLoggingLevel + except for a package change to aid in use with OSGi.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/extras/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/AndFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/AndFilter.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/AndFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/AndFilter.html index f5731423cb9..16e1df63c6e 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/AndFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/AndFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -AndFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +AndFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ AndFilter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="AndFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="AndFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -245,6 +245,15 @@ A filter that 'and's the results of any number of contained filters together. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> </TR> </TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.Filter</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>getNext, setNext</CODE></TD> +</TR> +</TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> @@ -430,6 +439,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/DenyAllFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/DenyAllFilter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/DenyAllFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/DenyAllFilter.html index 91ee3e932c1..0be7e61c4d0 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/DenyAllFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/DenyAllFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -DenyAllFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +DenyAllFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ DenyAllFilter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="DenyAllFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="DenyAllFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -202,7 +202,7 @@ This filter drops all logging events. <TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.Filter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE>activateOptions</CODE></TD> +<TD><CODE>activateOptions, getNext, setNext</CODE></TD> </TR> </TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> @@ -354,6 +354,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/ExpressionFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/ExpressionFilter.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/ExpressionFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/ExpressionFilter.html index e03671df507..5957bcf5aa8 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/ExpressionFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/ExpressionFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -ExpressionFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +ExpressionFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ ExpressionFilter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ExpressionFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="ExpressionFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -267,6 +267,15 @@ A filter supporting complex expressions - supports both infix and postfix &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set exp.</TD> </TR> </TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.Filter</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>getNext, setNext</CODE></TD> +</TR> +</TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> @@ -479,6 +488,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LevelMatchFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LevelMatchFilter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LevelMatchFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LevelMatchFilter.html index 2bdb46ee628..aced1c7ae17 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LevelMatchFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LevelMatchFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LevelMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +LevelMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LevelMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LevelMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LevelMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -214,7 +214,7 @@ This is a very simple filter based on level matching. <TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.Filter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE>activateOptions</CODE></TD> +<TD><CODE>activateOptions, getNext, setNext</CODE></TD> </TR> </TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> @@ -382,6 +382,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LevelRangeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LevelRangeFilter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LevelRangeFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LevelRangeFilter.html index 7b1941a6228..ee6155081ea 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LevelRangeFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LevelRangeFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LevelRangeFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +LevelRangeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LevelRangeFilter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LevelRangeFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LevelRangeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -119,7 +119,7 @@ This is a very simple filter based on level matching, which can be <b>AcceptOnMatch</b> is true, <CODE>Filter.ACCEPT</CODE> is returned, and if <b>AcceptOnMatch</b> is false, <CODE>Filter.NEUTRAL</CODE> is returned. - <p>If <code>LevelMin</code>w is not defined, then there is no + <p>If <code>LevelMin</code> is not defined, then there is no minimum acceptable level (ie a level is never rejected for being too "low"/unimportant). If <code>LevelMax</code> is not defined, then there is no maximum acceptable level (ie a @@ -244,7 +244,7 @@ This is a very simple filter based on level matching, which can be <TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.Filter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE>activateOptions</CODE></TD> +<TD><CODE>activateOptions, getNext, setNext</CODE></TD> </TR> </TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> @@ -439,6 +439,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LocationInfoFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LocationInfoFilter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LocationInfoFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LocationInfoFilter.html index fc936f5f765..2a8db87a9d9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LocationInfoFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LocationInfoFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LocationInfoFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +LocationInfoFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LocationInfoFilter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LocationInfoFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LocationInfoFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -220,6 +220,15 @@ Location information is usually specified at the appender level - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set expression.</TD> </TR> </TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.spi.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.Filter</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>getNext, setNext</CODE></TD> +</TR> +</TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> @@ -410,6 +419,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LoggerMatchFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LoggerMatchFilter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LoggerMatchFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LoggerMatchFilter.html index a9487f06ea1..99be907f6af 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/LoggerMatchFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/LoggerMatchFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LoggerMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +LoggerMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LoggerMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LoggerMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LoggerMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -209,7 +209,7 @@ This is a very simple filter based on logger name matching. <TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.Filter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE>activateOptions</CODE></TD> +<TD><CODE>activateOptions, getNext, setNext</CODE></TD> </TR> </TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> @@ -380,6 +380,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/StringMatchFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/StringMatchFilter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/StringMatchFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/StringMatchFilter.html index c0ce44378f1..b994daed939 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/StringMatchFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/StringMatchFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -StringMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +StringMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ StringMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="StringMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="StringMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -217,7 +217,7 @@ This is a very simple filter based on string matching. <TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.Filter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE>activateOptions</CODE></TD> +<TD><CODE>activateOptions, getNext, setNext</CODE></TD> </TR> </TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> @@ -378,6 +378,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/TimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/TimeFilter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/TimeFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/TimeFilter.html index 67773b24eeb..2eed836a8ad 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/TimeFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/TimeFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -TimeFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +TimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ TimeFilter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="TimeFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="TimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -212,7 +212,7 @@ Filters events that fall within a specified time period <TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.spi.Filter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE>activateOptions</CODE></TD> +<TD><CODE>activateOptions, getNext, setNext</CODE></TD> </TR> </TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> @@ -397,6 +397,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/AndFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/AndFilter.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/AndFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/AndFilter.html index 64b94e96472..5ab108a038e 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/AndFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/AndFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.filter.AndFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.filter.AndFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.filter.AndFilter (Apache Extras Companion for log function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.filter.AndFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.filter.AndFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.filter.AndFilter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/DenyAllFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/DenyAllFilter.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/DenyAllFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/DenyAllFilter.html index 739b8f986de..ed94e2b1dc7 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/DenyAllFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/DenyAllFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.filter.DenyAllFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.filter.DenyAllFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.filter.DenyAllFilter (Apache Extras Companion for function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.filter.DenyAllFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.filter.DenyAllFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.filter.DenyAllFilter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/ExpressionFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/ExpressionFilter.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/ExpressionFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/ExpressionFilter.html index bedc4cdddc5..1f4ee97a9cd 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/ExpressionFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/ExpressionFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.filter.ExpressionFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.filter.ExpressionFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.filter.ExpressionFilter (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.filter.ExpressionFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.filter.ExpressionFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.filter.ExpressionFilter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LevelMatchFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LevelMatchFilter.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LevelMatchFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LevelMatchFilter.html index 6491890dae6..ead74cc557b 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LevelMatchFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LevelMatchFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.filter.LevelMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.filter.LevelMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.filter.LevelMatchFilter (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.filter.LevelMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.filter.LevelMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.filter.LevelMatchFilter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LevelRangeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LevelRangeFilter.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LevelRangeFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LevelRangeFilter.html index 98f9d518c36..b8a24b6aab9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LevelRangeFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LevelRangeFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.filter.LevelRangeFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.filter.LevelRangeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.filter.LevelRangeFilter (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.filter.LevelRangeFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.filter.LevelRangeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.filter.LevelRangeFilter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LocationInfoFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LocationInfoFilter.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LocationInfoFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LocationInfoFilter.html index f85cdb666c1..f37c4fdc792 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LocationInfoFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LocationInfoFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.filter.LocationInfoFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.filter.LocationInfoFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.filter.LocationInfoFilter (Apache Extras Companio function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.filter.LocationInfoFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.filter.LocationInfoFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.filter.LocationInfoFilter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LoggerMatchFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LoggerMatchFilter.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LoggerMatchFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LoggerMatchFilter.html index d133be704bd..4fc6f89f206 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/LoggerMatchFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/LoggerMatchFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.filter.LoggerMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.filter.LoggerMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.filter.LoggerMatchFilter (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.filter.LoggerMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.filter.LoggerMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.filter.LoggerMatchFilter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/StringMatchFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/StringMatchFilter.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/StringMatchFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/StringMatchFilter.html index 86be8a7bd68..5633d709ce7 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/StringMatchFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/StringMatchFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.filter.StringMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.filter.StringMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.filter.StringMatchFilter (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.filter.StringMatchFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.filter.StringMatchFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.filter.StringMatchFilter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/TimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/TimeFilter.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/TimeFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/TimeFilter.html index 0ea7f3a5535..c18e7e6cce5 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/class-use/TimeFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/class-use/TimeFilter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.filter.TimeFilter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.filter.TimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.filter.TimeFilter (Apache Extras Companion for lo function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.filter.TimeFilter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.filter.TimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.filter.TimeFilter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-frame.html similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-frame.html index e7b038c9a2f..5eb5a6c81c8 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.filter (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.filter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-summary.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-summary.html index 738829ee28e..321c5e2fdae 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.filter (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.filter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.filter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.filter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.filter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -191,6 +191,6 @@ Package org.apache.log4j.filter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-tree.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-tree.html index 08b7622885e..822962632f2 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.filter Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.filter Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.filter Class Hierarchy (Apache Extras Companion for log4j 1.2. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.filter Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.filter Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -153,6 +153,6 @@ Class Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-use.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-use.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-use.html index a130048314f..1bb8ad9f1ab 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/filter/package-use.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/filter/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j.filter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j.filter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j.filter (Apache Extras Companion for log4j 1.2. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j.filter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j.filter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.filter <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html index 82f8d4458fb..caf40a35e6b 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/MDCKeySetExtractor.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -MDCKeySetExtractor (Apache Extras Companion for log4j 1.2. 1.0 API) +MDCKeySetExtractor (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ MDCKeySetExtractor (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="MDCKeySetExtractor (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="MDCKeySetExtractor (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -254,6 +254,6 @@ DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/UtilLoggingLevel.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/UtilLoggingLevel.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/UtilLoggingLevel.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/UtilLoggingLevel.html index 98ff28d1d4a..9c2eaffa63e 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/UtilLoggingLevel.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/UtilLoggingLevel.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -UtilLoggingLevel (Apache Extras Companion for log4j 1.2. 1.0 API) +UtilLoggingLevel (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ UtilLoggingLevel (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="UtilLoggingLevel (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="UtilLoggingLevel (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -98,6 +98,9 @@ java.lang.Object <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">org.apache.log4j.Level <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.helpers.UtilLoggingLevel</B> </PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD> +</DL> <HR> <DL> <DT><PRE>public class <B>UtilLoggingLevel</B><DT>extends org.apache.log4j.Level</DL> @@ -112,7 +115,7 @@ An extension of the Level class that provides support for java.util.logging <DL> <DT><B>Author:</B></DT> <DD>Scott Deboy (sdeboy@apache.org)</DD> -</DL> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.helpers.UtilLoggingLevel">Serialized Form</A></DL> <HR> <P> @@ -251,7 +254,7 @@ An extension of the Level class that provides support for java.util.logging <TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.Level</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE>ALL, DEBUG, ERROR, FATAL, OFF, WARN</CODE></TD> +<TD><CODE>ALL, DEBUG, ERROR, FATAL, OFF, TRACE, TRACE_INT, WARN</CODE></TD> </TR> </TABLE> &nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Priority"><!-- --></A> @@ -720,6 +723,6 @@ DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html new file mode 100644 index 00000000000..7171a1e0cf4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/class-use/MDCKeySetExtractor.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.helpers.MDCKeySetExtractor (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.helpers.MDCKeySetExtractor (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useMDCKeySetExtractor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDCKeySetExtractor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.helpers.MDCKeySetExtractor</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.helpers"><B>org.apache.log4j.helpers</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.helpers"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A> in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</A> declared as <A HREF="../../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers">MDCKeySetExtractor</A></CODE></FONT></TD> +<TD><CODE><B>MDCKeySetExtractor.</B><B><A HREF="../../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html#INSTANCE">INSTANCE</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/helpers//class-useMDCKeySetExtractor.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDCKeySetExtractor.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/class-use/UtilLoggingLevel.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/class-use/UtilLoggingLevel.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/class-use/UtilLoggingLevel.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/class-use/UtilLoggingLevel.html index df834d2b814..1381e2e8a94 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/class-use/UtilLoggingLevel.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/class-use/UtilLoggingLevel.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.helpers.UtilLoggingLevel (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.helpers.UtilLoggingLevel (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.helpers.UtilLoggingLevel (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.helpers.UtilLoggingLevel (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.helpers.UtilLoggingLevel (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -258,6 +258,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/helpers/UtilLoggingLevel.html" <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-frame.html similarity index 76% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-frame.html index 2763779b9a0..ce280d706eb 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.helpers (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.helpers (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-summary.html index 42925955a3e..c416588d72f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.helpers (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.helpers (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.helpers (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.helpers (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.helpers (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -158,6 +158,6 @@ Package org.apache.log4j.helpers <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-tree.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-tree.html index ca6a1c82d4b..e73f2761d28 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.helpers Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.helpers Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.helpers Class Hierarchy (Apache Extras Companion for log4j 1.2. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.helpers Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.helpers Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -94,7 +94,8 @@ Class Hierarchy <UL> <LI TYPE="circle">java.lang.Object<UL> <LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><B>MDCKeySetExtractor</B></A><LI TYPE="circle">org.apache.log4j.Priority<UL> -<LI TYPE="circle">org.apache.log4j.Level<UL> +<LI TYPE="circle">org.apache.log4j.Level (implements java.io.Serializable) +<UL> <LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers"><B>UtilLoggingLevel</B></A></UL> </UL> </UL> @@ -153,6 +154,6 @@ Class Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-use.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-use.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-use.html index 5253bed4a6c..bf671be6c3a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/helpers/package-use.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/helpers/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j.helpers (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j.helpers (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j.helpers (Apache Extras Companion for log4j 1.2. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j.helpers (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j.helpers (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -173,6 +173,6 @@ Classes in <A HREF="../../../../org/apache/log4j/helpers/package-summary.html">o <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-frame.html similarity index 69% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-frame.html index 27c9c6b86c8..b92dd8390fb 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> @@ -28,7 +28,9 @@ Classes</FONT>&nbsp; <BR> <A HREF="LogMF.html" title="class in org.apache.log4j" target="classFrame">LogMF</A> <BR> -<A HREF="LogSF.html" title="class in org.apache.log4j" target="classFrame">LogSF</A></FONT></TD> +<A HREF="LogSF.html" title="class in org.apache.log4j" target="classFrame">LogSF</A> +<BR> +<A HREF="LogXF.html" title="class in org.apache.log4j" target="classFrame">LogXF</A></FONT></TD> </TR> </TABLE> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-summary.html similarity index 83% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-summary.html index dfa1dbaccff..8f4b4eaca68 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -91,18 +91,23 @@ Package org.apache.log4j </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayout</A></B></TD> -<TD>A flexible layout configurable with pattern string.</TD> +<TD>This class is an enhanced version of org.apache.log4j.PatternLayout + which was originally developed as part of the abandoned log4j 1.3 + effort and has been available in the extras companion.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j">LogMF</A></B></TD> -<TD>This class provides static methods to - format log messages using java.text.MessageFormat.</TD> +<TD>This class provides parameterized logging services + using the pattern syntax of java.text.MessageFormat.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j">LogSF</A></B></TD> -<TD>This class provides static methods to - format log messages using a log4j 1.3 or SLF4J - style formatter.</TD> +<TD>This class provides parameterized logging services + using the SLF4J pattern syntax.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j">LogXF</A></B></TD> +<TD>This is a base class for LogMF and LogSF parameterized logging classes.</TD> </TR> </TABLE> &nbsp; @@ -164,6 +169,6 @@ Package org.apache.log4j <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-tree.html similarity index 88% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-tree.html index ad4446b3291..e9a06a60ff6 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -96,8 +96,10 @@ Class Hierarchy <LI TYPE="circle">org.apache.log4j.Layout (implements org.apache.log4j.spi.OptionHandler) <UL> <LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedPatternLayout</B></A></UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>LogXF</B></A><UL> <LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>LogMF</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>LogSF</B></A></UL> </UL> +</UL> <HR> @@ -152,6 +154,6 @@ Class Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-use.html similarity index 74% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-use.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-use.html index ce8839e8914..86fb4b609b4 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/package-use.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j (Apache Extras Companion for log4j 1.2. 1.0 API function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -84,7 +84,33 @@ function windowTitle() <H2> <B>Uses of Package<br>org.apache.log4j</B></H2> </CENTER> -No usage of org.apache.log4j + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/LogXF.html#org.apache.log4j"><B>LogXF</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a base class for LogMF and LogSF parameterized logging classes.</TD> +</TR> +</TABLE> +&nbsp; <P> <HR> @@ -140,6 +166,6 @@ No usage of org.apache.log4j <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html index 1a93b4a221b..4ac5288b967 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/BridgePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -BridgePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +BridgePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ BridgePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="BridgePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="BridgePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -344,6 +344,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html index c374b9afa1e..30c443a3955 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/BridgePatternParser.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -BridgePatternParser (Apache Extras Companion for log4j 1.2. 1.0 API) +BridgePatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ BridgePatternParser (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="BridgePatternParser (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="BridgePatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -295,6 +295,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html index a62b11d76b2..53dd1463523 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/CachedDateFormat.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -CachedDateFormat (Apache Extras Companion for log4j 1.2. 1.0 API) +CachedDateFormat (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ CachedDateFormat (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="CachedDateFormat (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="CachedDateFormat (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -548,6 +548,6 @@ DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html index 1af9883b591..63adbb3c602 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/ClassNamePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -ClassNamePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +ClassNamePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ ClassNamePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ClassNamePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="ClassNamePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -282,6 +282,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html index 45c0bcb855e..d77213d0631 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/DatePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -DatePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +DatePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ DatePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="DatePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="DatePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -321,6 +321,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html index 6e2c7a79484..62585693043 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FileDatePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -FileDatePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +FileDatePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ FileDatePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="FileDatePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="FileDatePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -228,6 +228,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html index e9cd836aedc..b630cbb343d 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FileLocationPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -FileLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +FileLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ FileLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="FileLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="FileLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -272,6 +272,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html similarity index 85% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html index dbe8a7674f9..654dc65bfb4 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FormattingInfo.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -FormattingInfo (Apache Extras Companion for log4j 1.2. 1.0 API) +FormattingInfo (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ FormattingInfo (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="FormattingInfo (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="FormattingInfo (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -124,13 +124,22 @@ Modifies the output of a pattern converter for a specified minimum <B>Constructor Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html#FormattingInfo(boolean, int, int)">FormattingInfo</A></B>(boolean&nbsp;leftAlign, +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html#FormattingInfo(boolean, boolean, int, int)">FormattingInfo</A></B>(boolean&nbsp;leftAlign, + boolean&nbsp;rightTruncate, int&nbsp;minLength, int&nbsp;maxLength)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates new instance.</TD> </TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html#FormattingInfo(boolean, int, int)">FormattingInfo</A></B>(boolean&nbsp;leftAlign, + int&nbsp;minLength, + int&nbsp;maxLength)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2.17</I></TD> +</TR> </TABLE> &nbsp; <!-- ========== METHOD SUMMARY =========== --> @@ -182,6 +191,14 @@ Modifies the output of a pattern converter for a specified minimum <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine if left aligned.</TD> </TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfo.html#isRightTruncated()">isRightTruncated</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine if right truncated.</TD> +</TR> </TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> @@ -212,11 +229,30 @@ public <B>FormattingInfo</B>(boolean&nbsp;leftAlign, int&nbsp;minLength, int&nbsp;maxLength)</PRE> <DL> +<DD><B>Deprecated.</B>&nbsp;<I>since 1.2.17</I> +<P> <DD>Creates new instance. <P> <DL> <DT><B>Parameters:</B><DD><CODE>leftAlign</CODE> - left align if true.<DD><CODE>minLength</CODE> - minimum length.<DD><CODE>maxLength</CODE> - maximum length.</DL> </DL> +<HR> + +<A NAME="FormattingInfo(boolean, boolean, int, int)"><!-- --></A><H3> +FormattingInfo</H3> +<PRE> +public <B>FormattingInfo</B>(boolean&nbsp;leftAlign, + boolean&nbsp;rightTruncate, + int&nbsp;minLength, + int&nbsp;maxLength)</PRE> +<DL> +<DD>Creates new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>leftAlign</CODE> - left align if true.<DD><CODE>rightTruncate</CODE> - right truncate if true.<DD><CODE>minLength</CODE> - minimum length.<DD><CODE>maxLength</CODE> - maximum length.<DT><B>Since:</B></DT> + <DD>1.2.17</DD> +</DL> +</DL> <!-- ============ METHOD DETAIL ========== --> @@ -256,6 +292,22 @@ public boolean <B>isLeftAligned</B>()</PRE> </DL> <HR> +<A NAME="isRightTruncated()"><!-- --></A><H3> +isRightTruncated</H3> +<PRE> +public boolean <B>isRightTruncated</B>()</PRE> +<DL> +<DD>Determine if right truncated. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>true if right truncated.<DT><B>Since:</B></DT> + <DD>1.2.17</DD> +</DL> +</DD> +</DL> +<HR> + <A NAME="getMinLength()"><!-- --></A><H3> getMinLength</H3> <PRE> @@ -357,6 +409,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html index c166ad8ba31..69a42b2bae5 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/FullLocationPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -FullLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +FullLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ FullLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="FullLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="FullLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -272,6 +272,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html index 93e113915e3..7e8c15566e7 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/IntegerPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -IntegerPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +IntegerPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ IntegerPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="IntegerPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="IntegerPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -262,6 +262,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html index 57e54d3aa77..6ed8c4fd6b3 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LevelPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LevelPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +LevelPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LevelPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LevelPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LevelPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -301,6 +301,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html index 2dce91e3570..bfc6d2d775e 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LineLocationPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LineLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +LineLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LineLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LineLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LineLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -272,6 +272,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html index 213fb3ceb56..7311d8161ed 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LineSeparatorPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LineSeparatorPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +LineSeparatorPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LineSeparatorPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LineSeparatorPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LineSeparatorPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -298,6 +298,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html index 3d000567d7d..d2d21e7667f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LiteralPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LiteralPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +LiteralPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LiteralPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LiteralPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LiteralPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -313,6 +313,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LogEvent.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LogEvent.html similarity index 98% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LogEvent.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LogEvent.html index 29bee98fb5b..333d4348ac1 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LogEvent.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LogEvent.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LogEvent (Apache Extras Companion for log4j 1.2. 1.0 API) +LogEvent (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LogEvent (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LogEvent (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LogEvent (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -969,6 +969,6 @@ DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html index b43032b76ee..ae0afe39547 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LoggerPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LoggerPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +LoggerPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LoggerPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LoggerPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LoggerPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -282,6 +282,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html index 00f59a285c3..b760e3561bd 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LoggingEventPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +LoggingEventPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LoggingEventPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LoggingEventPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LoggingEventPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -335,6 +335,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html index 6dcf031f66e..9a4a2e6752f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/MessagePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -MessagePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +MessagePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ MessagePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="MessagePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="MessagePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -272,6 +272,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html index a2989b5ceab..a7b57fd46fb 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/MethodLocationPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -MethodLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +MethodLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ MethodLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="MethodLocationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="MethodLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -272,6 +272,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html index d921b1dfa90..7b8b893d461 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/NDCPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -NDCPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +NDCPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ NDCPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="NDCPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="NDCPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -272,6 +272,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html index 0eaea510167..f6f4e97af97 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/NameAbbreviator.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -NameAbbreviator (Apache Extras Companion for log4j 1.2. 1.0 API) +NameAbbreviator (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ NameAbbreviator (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="NameAbbreviator (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="NameAbbreviator (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -106,10 +106,6 @@ NameAbbreviator generates abbreviated logger and class names. <P> <P> -<DL> -<DT><B>Author:</B></DT> - <DD>Curt Arnold</DD> -</DL> <HR> <P> @@ -211,6 +207,7 @@ public static <A HREF="../../../../org/apache/log4j/pattern/NameAbbreviator.html <DD>Gets an abbreviator. For example, "%logger{2}" will output only 2 elements of the logger name, + %logger{-2} will drop 2 elements from the logger name, "%logger{1.}" will output only the first character of the non-final elements in the name, "%logger(1~.2~} will output the first character of the first element, two characters of the second and subsequent elements and will use a tilde to indicate abbreviated characters. @@ -309,6 +306,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html index 12ef479ee06..fe98fb25735 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/NamePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:36 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -NamePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +NamePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ NamePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="NamePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="NamePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -293,6 +293,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/PatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/PatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/PatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/PatternConverter.html index ea61896cc70..164a3a9f3c0 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/PatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/PatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -PatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +PatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ PatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="PatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="PatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -326,6 +326,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/PatternParser.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/PatternParser.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/PatternParser.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/PatternParser.html index 911f70c3db3..bd4f5fac32a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/PatternParser.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/PatternParser.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -PatternParser (Apache Extras Companion for log4j 1.2. 1.0 API) +PatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ PatternParser (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="PatternParser (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="PatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -280,6 +280,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html index 27aad95875b..82df15ffec5 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -PropertiesPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +PropertiesPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ PropertiesPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="PropertiesPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="PropertiesPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -276,6 +276,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html index 25fe35e6bc6..d69cf0a271b 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/RelativeTimePatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -RelativeTimePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +RelativeTimePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ RelativeTimePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RelativeTimePatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="RelativeTimePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -308,6 +308,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html index 0503738fbe8..b6e1a669d5e 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/SequenceNumberPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -SequenceNumberPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +SequenceNumberPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ SequenceNumberPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="SequenceNumberPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="SequenceNumberPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -272,6 +272,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html index 9bfbe44a70a..64597a2f72c 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/ThreadPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -ThreadPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +ThreadPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ ThreadPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ThreadPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="ThreadPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -272,6 +272,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html index 2578772107c..138581f3cd4 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -ThrowableInformationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +ThrowableInformationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ ThrowableInformationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ThrowableInformationPatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="ThrowableInformationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -104,8 +104,12 @@ java.lang.Object </PRE> <P> -Outputs the ThrowableInformation portion of the LoggingiEvent as a full stacktrace - unless this converter's option is 'short', where it just outputs the first line of the trace. +Outputs the ThrowableInformation portion of the LoggingEvent. + By default, outputs the full stack trace. %throwable{none} + or %throwable{0} suppresses the stack trace. %throwable{short} + or %throwable{1} outputs just the first line. %throwable{n} + will output n lines for a positive integer or drop the last + -n lines for a negative integer. <P> <P> @@ -299,6 +303,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html new file mode 100644 index 00000000000..96456a29349 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternConverter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.BridgePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.BridgePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useBridgePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BridgePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.BridgePatternConverter</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.BridgePatternConverter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useBridgePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BridgePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html new file mode 100644 index 00000000000..2c76d7c075b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/BridgePatternParser.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.BridgePatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.BridgePatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useBridgePatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BridgePatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.BridgePatternParser</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.BridgePatternParser +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useBridgePatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="BridgePatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html new file mode 100644 index 00000000000..3f2251507d5 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/CachedDateFormat.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.CachedDateFormat (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.CachedDateFormat (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useCachedDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CachedDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.CachedDateFormat</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.CachedDateFormat +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useCachedDateFormat.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CachedDateFormat.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html new file mode 100644 index 00000000000..1a23ab640e8 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ClassNamePatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.ClassNamePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.ClassNamePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useClassNamePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ClassNamePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.ClassNamePatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>ClassNamePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an instance of ClassNamePatternConverter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useClassNamePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ClassNamePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html new file mode 100644 index 00000000000..21baa4518da --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/DatePatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.DatePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.DatePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useDatePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DatePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.DatePatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>DatePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useDatePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DatePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html new file mode 100644 index 00000000000..798ddab6f32 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FileDatePatternConverter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.FileDatePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.FileDatePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useFileDatePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileDatePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.FileDatePatternConverter</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.FileDatePatternConverter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useFileDatePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileDatePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html new file mode 100644 index 00000000000..8c61b48c1af --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FileLocationPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.FileLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.FileLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useFileLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.FileLocationPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>FileLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useFileLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html new file mode 100644 index 00000000000..f7e24dec6b3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FormattingInfo.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.FormattingInfo (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.FormattingInfo (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useFormattingInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.FormattingInfo</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern">FormattingInfo</A></CODE></FONT></TD> +<TD><CODE><B>FormattingInfo.</B><B><A HREF="../../../../../org/apache/log4j/pattern/FormattingInfo.html#getDefault()">getDefault</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets default instance.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useFormattingInfo.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfo.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html new file mode 100644 index 00000000000..8d09380d093 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/FullLocationPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.FullLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.FullLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useFullLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FullLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.FullLocationPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>FullLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useFullLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FullLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html new file mode 100644 index 00000000000..fa271f72262 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/IntegerPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.IntegerPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.IntegerPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useIntegerPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="IntegerPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.IntegerPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern">IntegerPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>IntegerPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useIntegerPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="IntegerPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html new file mode 100644 index 00000000000..62e3041bd3a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LevelPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.LevelPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.LevelPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLevelPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.LevelPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>LevelPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLevelPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html new file mode 100644 index 00000000000..f11fd50d49e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LineLocationPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.LineLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.LineLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLineLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.LineLocationPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>LineLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLineLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html new file mode 100644 index 00000000000..629cce12d6b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LineSeparatorPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.LineSeparatorPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.LineSeparatorPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLineSeparatorPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineSeparatorPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.LineSeparatorPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>LineSeparatorPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLineSeparatorPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineSeparatorPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html new file mode 100644 index 00000000000..ccde2be82f4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LiteralPatternConverter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.LiteralPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.LiteralPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLiteralPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LiteralPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.LiteralPatternConverter</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.LiteralPatternConverter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLiteralPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LiteralPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html new file mode 100644 index 00000000000..ff882fd59df --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LogEvent.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.LogEvent (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.LogEvent (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLogEvent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogEvent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.LogEvent</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.LogEvent +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLogEvent.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogEvent.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html new file mode 100644 index 00000000000..a2064c35695 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LoggerPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.LoggerPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.LoggerPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLoggerPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.LoggerPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>LoggerPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLoggerPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html new file mode 100644 index 00000000000..c9e0591a1cd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/LoggingEventPatternConverter.html @@ -0,0 +1,322 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.LoggingEventPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.LoggingEventPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLoggingEventPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggingEventPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.LoggingEventPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern">LoggingEventPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the class name of the site of the logging request.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern">DatePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert and format the event's date in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FileLocationPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern">FullLocationPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Format the event's line location information.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern">LevelPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's level in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern">LineLocationPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern">LineSeparatorPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a line separator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern">LiteralPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a string literal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a logger name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's rendered message in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's line location information in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Base class for other pattern converters which can return only parts of their name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the event's NDC in a StringBuffer.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Able to handle the contents of the LoggingEvent's Property bundle and either + output the entire contents of the properties in a similar format to the + java.util.Hashtable.toString(), or to output the value of a specific key + within the property bundle + when this pattern converter has the option set.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the relative time in milliseconds since loading of the LoggingEvent + class.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the event sequence number.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the event thread name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Outputs the ThrowableInformation portion of the LoggingEvent.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useLoggingEventPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggingEventPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html new file mode 100644 index 00000000000..9461ea986ec --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/MessagePatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.MessagePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.MessagePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useMessagePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MessagePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.MessagePatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern">MessagePatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>MessagePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of pattern converter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useMessagePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MessagePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html new file mode 100644 index 00000000000..526106634c2 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/MethodLocationPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.MethodLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.MethodLocationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useMethodLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MethodLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.MethodLocationPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern">MethodLocationPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>MethodLocationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of MethodLocationPatternConverter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useMethodLocationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MethodLocationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html new file mode 100644 index 00000000000..e19838ef930 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NDCPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.NDCPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.NDCPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useNDCPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NDCPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.NDCPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern">NDCPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>NDCPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of NDCPatternConverter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/NDCPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useNDCPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NDCPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html new file mode 100644 index 00000000000..4a8655dda0f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NameAbbreviator.html @@ -0,0 +1,189 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.NameAbbreviator (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.NameAbbreviator (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useNameAbbreviator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NameAbbreviator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.NameAbbreviator</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A></CODE></FONT></TD> +<TD><CODE><B>NameAbbreviator.</B><B><A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html#getAbbreviator(java.lang.String)">getAbbreviator</A></B>(java.lang.String&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an abbreviator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern">NameAbbreviator</A></CODE></FONT></TD> +<TD><CODE><B>NameAbbreviator.</B><B><A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html#getDefaultAbbreviator()">getDefaultAbbreviator</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets default abbreviator.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useNameAbbreviator.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NameAbbreviator.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html new file mode 100644 index 00000000000..cfdf7f91e84 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/NamePatternConverter.html @@ -0,0 +1,189 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.NamePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.NamePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useNamePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NamePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.NamePatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern">NamePatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern">ClassNamePatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the class name of the site of the logging request.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern">LoggerPatternConverter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a logger name.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useNamePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NamePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html index 03a5a7099cc..8dbcf76f382 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PatternConverter.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.pattern.PatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.pattern.PatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.pattern.PatternConverter (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.pattern.PatternConverter (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.pattern.PatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -279,8 +279,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/PatternConverter.html" <TD><CODE><B><A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></B></CODE> <BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Outputs the ThrowableInformation portion of the LoggingiEvent as a full stacktrace - unless this converter's option is 'short', where it just outputs the first line of the trace.</TD> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Outputs the ThrowableInformation portion of the LoggingEvent.</TD> </TR> </TABLE> &nbsp; @@ -388,6 +387,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/pattern/PatternConverter.html" <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html new file mode 100644 index 00000000000..f084cecb3f7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PatternParser.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.PatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.PatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-usePatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.PatternParser</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.PatternParser +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-usePatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html new file mode 100644 index 00000000000..dbf89a48697 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/PropertiesPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.PropertiesPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.PropertiesPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-usePropertiesPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertiesPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.PropertiesPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern">PropertiesPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>PropertiesPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of PropertiesPatternConverter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-usePropertiesPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PropertiesPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html new file mode 100644 index 00000000000..9de92694a7c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/RelativeTimePatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.RelativeTimePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.RelativeTimePatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useRelativeTimePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.RelativeTimePatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern">RelativeTimePatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>RelativeTimePatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of RelativeTimePatternConverter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useRelativeTimePatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimePatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html new file mode 100644 index 00000000000..015b8373fd2 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/SequenceNumberPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.SequenceNumberPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.SequenceNumberPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useSequenceNumberPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SequenceNumberPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.SequenceNumberPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern">SequenceNumberPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>SequenceNumberPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of SequencePatternConverter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useSequenceNumberPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SequenceNumberPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html new file mode 100644 index 00000000000..d257d3ef164 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ThreadPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.ThreadPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.ThreadPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useThreadPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.ThreadPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern">ThreadPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>ThreadPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains an instance of ThreadPatternConverter.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/ThreadPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useThreadPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThreadPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html new file mode 100644 index 00000000000..40ce81e91d7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html @@ -0,0 +1,181 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.ThrowableInformationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.ThrowableInformationPatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useThrowableInformationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableInformationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.ThrowableInformationPatternConverter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.pattern"><B>org.apache.log4j.pattern</B></A></TD> +<TD>Provides classes implementing format specifiers in conversion patterns.&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.pattern"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A> in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A> that return <A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></CODE></FONT></TD> +<TD><CODE><B>ThrowableInformationPatternConverter.</B><B><A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an instance of the class.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useThrowableInformationPatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ThrowableInformationPatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-frame.html new file mode 100644 index 00000000000..d223356fe61 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-frame.html @@ -0,0 +1,89 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.pattern (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/pattern/package-summary.html" target="classFrame">org.apache.log4j.pattern</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="BridgePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">BridgePatternConverter</A> +<BR> +<A HREF="BridgePatternParser.html" title="class in org.apache.log4j.pattern" target="classFrame">BridgePatternParser</A> +<BR> +<A HREF="CachedDateFormat.html" title="class in org.apache.log4j.pattern" target="classFrame">CachedDateFormat</A> +<BR> +<A HREF="ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">ClassNamePatternConverter</A> +<BR> +<A HREF="DatePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">DatePatternConverter</A> +<BR> +<A HREF="FileDatePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">FileDatePatternConverter</A> +<BR> +<A HREF="FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">FileLocationPatternConverter</A> +<BR> +<A HREF="FormattingInfo.html" title="class in org.apache.log4j.pattern" target="classFrame">FormattingInfo</A> +<BR> +<A HREF="FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">FullLocationPatternConverter</A> +<BR> +<A HREF="IntegerPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">IntegerPatternConverter</A> +<BR> +<A HREF="LevelPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LevelPatternConverter</A> +<BR> +<A HREF="LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LineLocationPatternConverter</A> +<BR> +<A HREF="LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LineSeparatorPatternConverter</A> +<BR> +<A HREF="LiteralPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LiteralPatternConverter</A> +<BR> +<A HREF="LogEvent.html" title="class in org.apache.log4j.pattern" target="classFrame">LogEvent</A> +<BR> +<A HREF="LoggerPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LoggerPatternConverter</A> +<BR> +<A HREF="LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">LoggingEventPatternConverter</A> +<BR> +<A HREF="MessagePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">MessagePatternConverter</A> +<BR> +<A HREF="MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">MethodLocationPatternConverter</A> +<BR> +<A HREF="NameAbbreviator.html" title="class in org.apache.log4j.pattern" target="classFrame">NameAbbreviator</A> +<BR> +<A HREF="NamePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">NamePatternConverter</A> +<BR> +<A HREF="NDCPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">NDCPatternConverter</A> +<BR> +<A HREF="PatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">PatternConverter</A> +<BR> +<A HREF="PatternParser.html" title="class in org.apache.log4j.pattern" target="classFrame">PatternParser</A> +<BR> +<A HREF="PropertiesPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">PropertiesPatternConverter</A> +<BR> +<A HREF="RelativeTimePatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">RelativeTimePatternConverter</A> +<BR> +<A HREF="SequenceNumberPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">SequenceNumberPatternConverter</A> +<BR> +<A HREF="ThreadPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">ThreadPatternConverter</A> +<BR> +<A HREF="ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">ThrowableInformationPatternConverter</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-summary.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-summary.html index e47f9aa8009..a68dd8a7df6 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.pattern (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.pattern (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.pattern (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.pattern (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.pattern (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -226,8 +226,7 @@ Provides classes implementing format specifiers in conversion patterns. </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html" title="class in org.apache.log4j.pattern">ThrowableInformationPatternConverter</A></B></TD> -<TD>Outputs the ThrowableInformation portion of the LoggingiEvent as a full stacktrace - unless this converter's option is 'short', where it just outputs the first line of the trace.</TD> +<TD>Outputs the ThrowableInformation portion of the LoggingEvent.</TD> </TR> </TABLE> &nbsp; @@ -300,6 +299,6 @@ Package org.apache.log4j.pattern Description <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-tree.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-tree.html index d98bd5332d0..376ab4f7a45 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.pattern Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.pattern Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.pattern Class Hierarchy (Apache Extras Companion for log4j 1.2. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.pattern Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.pattern Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -107,9 +107,9 @@ Class Hierarchy </UL> <LI TYPE="circle">org.apache.log4j.helpers.PatternConverter<UL> <LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern"><B>BridgePatternConverter</B></A></UL> -<LI TYPE="circle">org.apache.log4j.helpers.PatternParser<UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>PatternParser</B></A><LI TYPE="circle">org.apache.log4j.helpers.PatternParser<UL> <LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><B>BridgePatternParser</B></A></UL> -<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>PatternParser</B></A></UL> +</UL> </UL> <HR> @@ -165,6 +165,6 @@ Class Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-use.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-use.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-use.html index c87884eb481..a4688324141 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/pattern/package-use.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/pattern/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j.pattern (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j.pattern (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j.pattern (Apache Extras Companion for log4j 1.2. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j.pattern (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j.pattern (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -245,8 +245,7 @@ Classes in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">o <TD><B><A HREF="../../../../org/apache/log4j/pattern/class-use/ThrowableInformationPatternConverter.html#org.apache.log4j.pattern"><B>ThrowableInformationPatternConverter</B></A></B> <BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Outputs the ThrowableInformation portion of the LoggingiEvent as a full stacktrace - unless this converter's option is 'short', where it just outputs the first line of the trace.</TD> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Outputs the ThrowableInformation portion of the LoggingEvent.</TD> </TR> </TABLE> &nbsp; @@ -321,6 +320,6 @@ Classes in <A HREF="../../../../org/apache/log4j/pattern/package-summary.html">o <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/CompositeTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/CompositeTriggeringPolicy.html new file mode 100644 index 00000000000..2507291a44d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/CompositeTriggeringPolicy.html @@ -0,0 +1,359 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:34 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CompositeTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CompositeTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CompositeTriggeringPolicy.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/CompositeTriggeringPolicy.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CompositeTriggeringPolicy.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rolling</FONT> +<BR> +Class CompositeTriggeringPolicy</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rolling.CompositeTriggeringPolicy</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling">TriggeringPolicy</A>, org.apache.log4j.spi.OptionHandler, <A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>CompositeTriggeringPolicy</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling">TriggeringPolicy</A>, <A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></DL> +</PRE> + +<P> +CompositeTriggeringPolicy determines if rolling should be triggered + by evaluating the current event against a set of triggering policies. + + TriggeringPolicy results are OR'd together - if any of the triggering policies report rolling should occur, + a rolling event will be triggered. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html#CompositeTriggeringPolicy()">CompositeTriggeringPolicy</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html#addTriggeringPolicy(org.apache.log4j.rolling.TriggeringPolicy)">addTriggeringPolicy</A></B>(<A HREF="../../../../org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling">TriggeringPolicy</A>&nbsp;policy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add triggering policy</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html#isTriggeringEvent(org.apache.log4j.Appender, org.apache.log4j.spi.LoggingEvent, java.lang.String, long)">isTriggeringEvent</A></B>(org.apache.log4j.Appender&nbsp;appender, + org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.lang.String&nbsp;file, + long&nbsp;fileLength)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if a rollover may be appropriate at this time.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)">parseUnrecognizedElement</A></B>(org.w3c.dom.Element&nbsp;element, + java.util.Properties&nbsp;props)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to inform a configured object when + an unrecognized child element is encountered.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CompositeTriggeringPolicy()"><!-- --></A><H3> +CompositeTriggeringPolicy</H3> +<PRE> +public <B>CompositeTriggeringPolicy</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="isTriggeringEvent(org.apache.log4j.Appender, org.apache.log4j.spi.LoggingEvent, java.lang.String, long)"><!-- --></A><H3> +isTriggeringEvent</H3> +<PRE> +public boolean <B>isTriggeringEvent</B>(org.apache.log4j.Appender&nbsp;appender, + org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.lang.String&nbsp;file, + long&nbsp;fileLength)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/rolling/TriggeringPolicy.html#isTriggeringEvent(org.apache.log4j.Appender, org.apache.log4j.spi.LoggingEvent, java.lang.String, long)">TriggeringPolicy</A></CODE></B></DD> +<DD>Determines if a rollover may be appropriate at this time. If + true is returned, RolloverPolicy.rollover will be called but it + can determine that a rollover is not warranted. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/rolling/TriggeringPolicy.html#isTriggeringEvent(org.apache.log4j.Appender, org.apache.log4j.spi.LoggingEvent, java.lang.String, long)">isTriggeringEvent</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling">TriggeringPolicy</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>appender</CODE> - A reference to the appender.<DD><CODE>event</CODE> - A reference to the currently event.<DD><CODE>file</CODE> - The filename for the currently active log file.<DD><CODE>fileLength</CODE> - Length of the file in bytes. +<DT><B>Returns:</B><DD>true if a rollover should occur.</DL> +</DD> +</DL> +<HR> + +<A NAME="addTriggeringPolicy(org.apache.log4j.rolling.TriggeringPolicy)"><!-- --></A><H3> +addTriggeringPolicy</H3> +<PRE> +public void <B>addTriggeringPolicy</B>(<A HREF="../../../../org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling">TriggeringPolicy</A>&nbsp;policy)</PRE> +<DL> +<DD>Add triggering policy +<P> +<DD><DL> +</DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>policy</CODE> - </DL> +</DD> +</DL> +<HR> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE>activateOptions</CODE> in interface <CODE>org.apache.log4j.spi.OptionHandler</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)"><!-- --></A><H3> +parseUnrecognizedElement</H3> +<PRE> +public boolean <B>parseUnrecognizedElement</B>(org.w3c.dom.Element&nbsp;element, + java.util.Properties&nbsp;props) + throws java.lang.Exception</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)">UnrecognizedElementHandler</A></CODE></B></DD> +<DD>Called to inform a configured object when + an unrecognized child element is encountered. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html#parseUnrecognizedElement(org.w3c.dom.Element, java.util.Properties)">parseUnrecognizedElement</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A></CODE></DL> +</DD> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>element</CODE> - element, may not be null.<DD><CODE>props</CODE> - properties in force, may be null. +<DT><B>Returns:</B><DD>true if configured object recognized the element +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE> - throw an exception to prevent activation + of the configured object.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CompositeTriggeringPolicy.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/CompositeTriggeringPolicy.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CompositeTriggeringPolicy.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html index 6eacaed9644..e673dfdeb69 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:34 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -FilterBasedTriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +FilterBasedTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ FilterBasedTriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="FilterBasedTriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="FilterBasedTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -56,7 +56,7 @@ function windowTitle() <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> -&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling"><B>PREV CLASS</B></A>&nbsp; &nbsp;<A HREF="../../../../org/apache/log4j/rolling/FixedWindowRollingPolicy.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" target="_top"><B>FRAMES</B></A> &nbsp; @@ -401,7 +401,7 @@ public boolean <B>parseUnrecognizedElement</B>(org.w3c.dom.Element&nbsp;element, <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> -&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling"><B>PREV CLASS</B></A>&nbsp; &nbsp;<A HREF="../../../../org/apache/log4j/rolling/FixedWindowRollingPolicy.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" target="_top"><B>FRAMES</B></A> &nbsp; @@ -431,6 +431,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/FixedWindowRollingPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/FixedWindowRollingPolicy.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/FixedWindowRollingPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/FixedWindowRollingPolicy.html index 6420ceae042..80695fa41fc 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/FixedWindowRollingPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/FixedWindowRollingPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:34 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -FixedWindowRollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +FixedWindowRollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ FixedWindowRollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="FixedWindowRollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="FixedWindowRollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -457,6 +457,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RollingFileAppender.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RollingFileAppender.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RollingFileAppender.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RollingFileAppender.html index 7230021421c..54cfe8abd0c 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RollingFileAppender.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RollingFileAppender.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:34 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -RollingFileAppender (Apache Extras Companion for log4j 1.2. 1.0 API) +RollingFileAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ RollingFileAppender (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RollingFileAppender (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="RollingFileAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -335,7 +335,7 @@ java.lang.Object <TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.WriterAppender</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE>append, checkEntryConditions, closeWriter, getEncoding, getImmediateFlush, requiresLayout, setEncoding, setErrorHandler, setImmediateFlush, setWriter, writeFooter, writeHeader</CODE></TD> +<TD><CODE>append, checkEntryConditions, closeWriter, getEncoding, getImmediateFlush, requiresLayout, setEncoding, setErrorHandler, setImmediateFlush, setWriter, shouldFlush, writeFooter, writeHeader</CODE></TD> </TR> </TABLE> &nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> @@ -665,6 +665,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RollingPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RollingPolicy.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RollingPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RollingPolicy.html index 7912c3cd59c..0ab6edd53af 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RollingPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RollingPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -RollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +RollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ RollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="RollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -270,6 +270,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RollingPolicyBase.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RollingPolicyBase.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RollingPolicyBase.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RollingPolicyBase.html index a2315f5e5dc..fe751c0f926 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RollingPolicyBase.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RollingPolicyBase.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -RollingPolicyBase (Apache Extras Companion for log4j 1.2. 1.0 API) +RollingPolicyBase (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ RollingPolicyBase (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RollingPolicyBase (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="RollingPolicyBase (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -513,6 +513,6 @@ DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RolloverDescription.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RolloverDescription.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RolloverDescription.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RolloverDescription.html index 55c0eb4553c..ca231424742 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RolloverDescription.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RolloverDescription.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -RolloverDescription (Apache Extras Companion for log4j 1.2. 1.0 API) +RolloverDescription (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ RolloverDescription (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RolloverDescription (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="RolloverDescription (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -286,6 +286,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RolloverDescriptionImpl.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RolloverDescriptionImpl.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RolloverDescriptionImpl.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RolloverDescriptionImpl.html index a95c5b6b4f4..4edef84bf9b 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/RolloverDescriptionImpl.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/RolloverDescriptionImpl.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -RolloverDescriptionImpl (Apache Extras Companion for log4j 1.2. 1.0 API) +RolloverDescriptionImpl (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ RolloverDescriptionImpl (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RolloverDescriptionImpl (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="RolloverDescriptionImpl (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -355,6 +355,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html index 8acb621031d..7381c6707fb 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -SizeBasedTriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +SizeBasedTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ SizeBasedTriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="SizeBasedTriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="SizeBasedTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -367,6 +367,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html index 8f362ccc2fa..a4ec097e368 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -TimeBasedRollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +TimeBasedRollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ TimeBasedRollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="TimeBasedRollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="TimeBasedRollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -485,6 +485,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/TriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/TriggeringPolicy.html similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/TriggeringPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/TriggeringPolicy.html index 6e017eaf64f..f244638ed74 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/TriggeringPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/TriggeringPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -TriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +TriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ TriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="TriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="TriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -96,7 +96,7 @@ Interface TriggeringPolicy</H2> <DT><B>All Superinterfaces:</B> <DD>org.apache.log4j.spi.OptionHandler</DD> </DL> <DL> -<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A>, <A HREF="../../../../org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">SizeBasedTriggeringPolicy</A>, <A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingPolicy.html" title="class in org.apache.log4j.rolling">TimeBasedRollingPolicy</A></DD> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A>, <A HREF="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A>, <A HREF="../../../../org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">SizeBasedTriggeringPolicy</A>, <A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingPolicy.html" title="class in org.apache.log4j.rolling">TimeBasedRollingPolicy</A></DD> </DL> <HR> <DL> @@ -241,6 +241,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/CompositeTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/CompositeTriggeringPolicy.html new file mode 100644 index 00000000000..7539aac0560 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/CompositeTriggeringPolicy.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rolling.CompositeTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rolling.CompositeTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useCompositeTriggeringPolicy.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CompositeTriggeringPolicy.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rolling.CompositeTriggeringPolicy</B></H2> +</CENTER> +No usage of org.apache.log4j.rolling.CompositeTriggeringPolicy +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useCompositeTriggeringPolicy.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CompositeTriggeringPolicy.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/FilterBasedTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/FilterBasedTriggeringPolicy.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/FilterBasedTriggeringPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/FilterBasedTriggeringPolicy.html index da6efd38a3d..18c5d67047c 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/FilterBasedTriggeringPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/FilterBasedTriggeringPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.FilterBasedTriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.FilterBasedTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.FilterBasedTriggeringPolicy (Apache Extra function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.FilterBasedTriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.FilterBasedTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rolling.FilterBasedTriggeringPolicy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/FixedWindowRollingPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/FixedWindowRollingPolicy.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/FixedWindowRollingPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/FixedWindowRollingPolicy.html index c3c9907444b..9dfc4e91803 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/FixedWindowRollingPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/FixedWindowRollingPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.FixedWindowRollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.FixedWindowRollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.FixedWindowRollingPolicy (Apache Extras C function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.FixedWindowRollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.FixedWindowRollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rolling.FixedWindowRollingPolicy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RollingFileAppender.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RollingFileAppender.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RollingFileAppender.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RollingFileAppender.html index 42397a755b9..77ed4fab68f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RollingFileAppender.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RollingFileAppender.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.RollingFileAppender (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.RollingFileAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.RollingFileAppender (Apache Extras Compan function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.RollingFileAppender (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.RollingFileAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rolling.RollingFileAppender <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicy.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicy.html index 72d94fd218e..17a799343ab 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Interface org.apache.log4j.rolling.RollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Interface org.apache.log4j.rolling.RollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Interface org.apache.log4j.rolling.RollingPolicy (Apache Extras Companio function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Interface org.apache.log4j.rolling.RollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Interface org.apache.log4j.rolling.RollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -227,6 +227,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/rolling/RollingPolicy.html" tit <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicyBase.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicyBase.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicyBase.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicyBase.html index 7ec4784c7b8..f7aa1c30b99 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicyBase.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RollingPolicyBase.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.RollingPolicyBase (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.RollingPolicyBase (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.RollingPolicyBase (Apache Extras Companio function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.RollingPolicyBase (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.RollingPolicyBase (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -186,6 +186,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/rolling/RollingPolicyBase.html" <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescription.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescription.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescription.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescription.html index 47004dd0f5b..76f433ecba7 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescription.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescription.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Interface org.apache.log4j.rolling.RolloverDescription (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Interface org.apache.log4j.rolling.RolloverDescription (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Interface org.apache.log4j.rolling.RolloverDescription (Apache Extras Co function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Interface org.apache.log4j.rolling.RolloverDescription (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Interface org.apache.log4j.rolling.RolloverDescription (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -235,6 +235,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/rolling/RolloverDescription.htm <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescriptionImpl.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescriptionImpl.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescriptionImpl.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescriptionImpl.html index c1b49040591..3642358507d 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescriptionImpl.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/RolloverDescriptionImpl.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.RolloverDescriptionImpl (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.RolloverDescriptionImpl (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.RolloverDescriptionImpl (Apache Extras Co function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.RolloverDescriptionImpl (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.RolloverDescriptionImpl (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rolling.RolloverDescriptionImpl <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/SizeBasedTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/SizeBasedTriggeringPolicy.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/SizeBasedTriggeringPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/SizeBasedTriggeringPolicy.html index 4265e4b1c4b..9c54c058106 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/SizeBasedTriggeringPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/SizeBasedTriggeringPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.SizeBasedTriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.SizeBasedTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.SizeBasedTriggeringPolicy (Apache Extras function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.SizeBasedTriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.SizeBasedTriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rolling.SizeBasedTriggeringPolicy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingPolicy.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingPolicy.html index 9183063e476..df682e51b63 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.TimeBasedRollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.TimeBasedRollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.TimeBasedRollingPolicy (Apache Extras Com function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.TimeBasedRollingPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.TimeBasedRollingPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rolling.TimeBasedRollingPolicy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/TriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/TriggeringPolicy.html similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/TriggeringPolicy.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/TriggeringPolicy.html index 88837b06cf5..1675110b3b8 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/class-use/TriggeringPolicy.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/class-use/TriggeringPolicy.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Interface org.apache.log4j.rolling.TriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Interface org.apache.log4j.rolling.TriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Interface org.apache.log4j.rolling.TriggeringPolicy (Apache Extras Compa function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Interface org.apache.log4j.rolling.TriggeringPolicy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Interface org.apache.log4j.rolling.TriggeringPolicy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -114,6 +114,15 @@ Uses of <A HREF="../../../../../org/apache/log4j/rolling/TriggeringPolicy.html" <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CompositeTriggeringPolicy determines if rolling should be triggered + by evaluating the current event against a set of triggering policies.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A></B></CODE> <BR> @@ -165,6 +174,14 @@ Uses of <A HREF="../../../../../org/apache/log4j/rolling/TriggeringPolicy.html" <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>CompositeTriggeringPolicy.</B><B><A HREF="../../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html#addTriggeringPolicy(org.apache.log4j.rolling.TriggeringPolicy)">addTriggeringPolicy</A></B>(<A HREF="../../../../../org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling">TriggeringPolicy</A>&nbsp;policy)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add triggering policy</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> <TD><CODE><B>RollingFileAppender.</B><B><A HREF="../../../../../org/apache/log4j/rolling/RollingFileAppender.html#setTriggeringPolicy(org.apache.log4j.rolling.TriggeringPolicy)">setTriggeringPolicy</A></B>(<A HREF="../../../../../org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling">TriggeringPolicy</A>&nbsp;policy)</CODE> <BR> @@ -227,6 +244,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/rolling/TriggeringPolicy.html" <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/Action.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/Action.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/Action.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/Action.html index afa23c4264a..e6fbfbaaf9c 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/Action.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/Action.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Action (Apache Extras Companion for log4j 1.2. 1.0 API) +Action (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Action (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Action (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Action (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -287,6 +287,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/ActionBase.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/ActionBase.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/ActionBase.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/ActionBase.html index f5cf3e87f43..d33970df3ac 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/ActionBase.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/ActionBase.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -ActionBase (Apache Extras Companion for log4j 1.2. 1.0 API) +ActionBase (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ ActionBase (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ActionBase (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="ActionBase (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -372,6 +372,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/CompositeAction.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/CompositeAction.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/CompositeAction.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/CompositeAction.html index 304e66da4aa..b5b5e501fb7 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/CompositeAction.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/CompositeAction.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -CompositeAction (Apache Extras Companion for log4j 1.2. 1.0 API) +CompositeAction (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ CompositeAction (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="CompositeAction (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="CompositeAction (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -308,6 +308,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/FileRenameAction.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/FileRenameAction.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/FileRenameAction.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/FileRenameAction.html index 3573a75d997..e1e1cf89fb2 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/FileRenameAction.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/FileRenameAction.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -FileRenameAction (Apache Extras Companion for log4j 1.2. 1.0 API) +FileRenameAction (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ FileRenameAction (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="FileRenameAction (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="FileRenameAction (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -309,6 +309,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/GZCompressAction.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/GZCompressAction.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/GZCompressAction.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/GZCompressAction.html index 424d444a5cb..9c00f4d024e 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/GZCompressAction.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/GZCompressAction.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -GZCompressAction (Apache Extras Companion for log4j 1.2. 1.0 API) +GZCompressAction (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ GZCompressAction (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="GZCompressAction (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="GZCompressAction (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -341,6 +341,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/ZipCompressAction.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/ZipCompressAction.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/ZipCompressAction.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/ZipCompressAction.html index 40941058046..7e7edc1bf55 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/ZipCompressAction.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/ZipCompressAction.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:35 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -ZipCompressAction (Apache Extras Companion for log4j 1.2. 1.0 API) +ZipCompressAction (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ ZipCompressAction (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ZipCompressAction (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="ZipCompressAction (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -341,6 +341,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/Action.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/Action.html similarity index 96% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/Action.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/Action.html index d61034e8871..73f20ed9a42 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/Action.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/Action.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Interface org.apache.log4j.rolling.helper.Action (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Interface org.apache.log4j.rolling.helper.Action (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Interface org.apache.log4j.rolling.helper.Action (Apache Extras Companio function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Interface org.apache.log4j.rolling.helper.Action (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Interface org.apache.log4j.rolling.helper.Action (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -118,15 +118,6 @@ Uses of <A HREF="../../../../../../org/apache/log4j/rolling/helper/Action.html" <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/rolling/helper/Action.html" title="interface in org.apache.log4j.rolling.helper">Action</A></CODE></FONT></TD> -<TD><CODE><B>RolloverDescriptionImpl.</B><B><A HREF="../../../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html#getAsynchronous()">getAsynchronous</A></B>()</CODE> - -<BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Action to be completed after close of current active log file - and before next rollover attempt, may be executed asynchronously.</TD> -</TR> -<TR BGCOLOR="white" CLASS="TableRowColor"> -<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/rolling/helper/Action.html" title="interface in org.apache.log4j.rolling.helper">Action</A></CODE></FONT></TD> <TD><CODE><B>RolloverDescription.</B><B><A HREF="../../../../../../org/apache/log4j/rolling/RolloverDescription.html#getAsynchronous()">getAsynchronous</A></B>()</CODE> <BR> @@ -136,7 +127,16 @@ Uses of <A HREF="../../../../../../org/apache/log4j/rolling/helper/Action.html" <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/rolling/helper/Action.html" title="interface in org.apache.log4j.rolling.helper">Action</A></CODE></FONT></TD> -<TD><CODE><B>RolloverDescriptionImpl.</B><B><A HREF="../../../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html#getSynchronous()">getSynchronous</A></B>()</CODE> +<TD><CODE><B>RolloverDescriptionImpl.</B><B><A HREF="../../../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html#getAsynchronous()">getAsynchronous</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Action to be completed after close of current active log file + and before next rollover attempt, may be executed asynchronously.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/rolling/helper/Action.html" title="interface in org.apache.log4j.rolling.helper">Action</A></CODE></FONT></TD> +<TD><CODE><B>RolloverDescription.</B><B><A HREF="../../../../../../org/apache/log4j/rolling/RolloverDescription.html#getSynchronous()">getSynchronous</A></B>()</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Action to be completed after close of current active log file @@ -145,7 +145,7 @@ Uses of <A HREF="../../../../../../org/apache/log4j/rolling/helper/Action.html" <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;<A HREF="../../../../../../org/apache/log4j/rolling/helper/Action.html" title="interface in org.apache.log4j.rolling.helper">Action</A></CODE></FONT></TD> -<TD><CODE><B>RolloverDescription.</B><B><A HREF="../../../../../../org/apache/log4j/rolling/RolloverDescription.html#getSynchronous()">getSynchronous</A></B>()</CODE> +<TD><CODE><B>RolloverDescriptionImpl.</B><B><A HREF="../../../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html#getSynchronous()">getSynchronous</A></B>()</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Action to be completed after close of current active log file @@ -282,6 +282,6 @@ Uses of <A HREF="../../../../../../org/apache/log4j/rolling/helper/Action.html" <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/ActionBase.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/ActionBase.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/ActionBase.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/ActionBase.html index 3d7f7284c8f..76fd856c685 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/ActionBase.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/ActionBase.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.helper.ActionBase (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.helper.ActionBase (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.helper.ActionBase (Apache Extras Companio function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.helper.ActionBase (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.helper.ActionBase (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -200,6 +200,6 @@ Uses of <A HREF="../../../../../../org/apache/log4j/rolling/helper/ActionBase.ht <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/CompositeAction.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/CompositeAction.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/CompositeAction.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/CompositeAction.html index 72d8fd4d273..bf3ec6c6880 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/CompositeAction.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/CompositeAction.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.helper.CompositeAction (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.helper.CompositeAction (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.helper.CompositeAction (Apache Extras Com function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.helper.CompositeAction (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.helper.CompositeAction (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rolling.helper.CompositeAction <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/FileRenameAction.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/FileRenameAction.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/FileRenameAction.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/FileRenameAction.html index a73e574ed8c..00ba8a99455 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/FileRenameAction.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/FileRenameAction.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.helper.FileRenameAction (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.helper.FileRenameAction (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.helper.FileRenameAction (Apache Extras Co function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.helper.FileRenameAction (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.helper.FileRenameAction (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rolling.helper.FileRenameAction <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/GZCompressAction.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/GZCompressAction.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/GZCompressAction.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/GZCompressAction.html index fb7089e7953..a7f53dece21 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/GZCompressAction.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/GZCompressAction.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.helper.GZCompressAction (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.helper.GZCompressAction (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.helper.GZCompressAction (Apache Extras Co function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.helper.GZCompressAction (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.helper.GZCompressAction (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rolling.helper.GZCompressAction <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/ZipCompressAction.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/ZipCompressAction.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/ZipCompressAction.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/ZipCompressAction.html index fd7913674c2..93b9fc92010 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/class-use/ZipCompressAction.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/class-use/ZipCompressAction.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rolling.helper.ZipCompressAction (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rolling.helper.ZipCompressAction (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rolling.helper.ZipCompressAction (Apache Extras C function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rolling.helper.ZipCompressAction (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rolling.helper.ZipCompressAction (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rolling.helper.ZipCompressAction <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-frame.html similarity index 85% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-frame.html index 8485cf3f84e..f1d00fb5504 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.rolling.helper (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.rolling.helper (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-summary.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-summary.html index 564983bf571..1f808ebfc2f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.rolling.helper (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.rolling.helper (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.rolling.helper (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.rolling.helper (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.rolling.helper (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -202,6 +202,6 @@ Package org.apache.log4j.rolling.helper Description <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-tree.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-tree.html index 068769614a3..33d559d3b91 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.rolling.helper Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.rolling.helper Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.rolling.helper Class Hierarchy (Apache Extras Companion for log function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.rolling.helper Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.rolling.helper Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -159,6 +159,6 @@ Interface Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-use.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-use.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-use.html index 73f29617af3..3dce0460664 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/helper/package-use.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/helper/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j.rolling.helper (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j.rolling.helper (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j.rolling.helper (Apache Extras Companion for log function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j.rolling.helper (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j.rolling.helper (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -195,6 +195,6 @@ Classes in <A HREF="../../../../../org/apache/log4j/rolling/helper/package-summa <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-frame.html similarity index 83% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-frame.html index acb14e923b2..a724c209343 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.rolling (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.rolling (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -39,6 +39,8 @@ Interfaces</FONT>&nbsp; Classes</FONT>&nbsp; <FONT CLASS="FrameItemFont"> <BR> +<A HREF="CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling" target="classFrame">CompositeTriggeringPolicy</A> +<BR> <A HREF="FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling" target="classFrame">FilterBasedTriggeringPolicy</A> <BR> <A HREF="FixedWindowRollingPolicy.html" title="class in org.apache.log4j.rolling" target="classFrame">FixedWindowRollingPolicy</A> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-summary.html index 3e6c76288c7..fcd92f5afc9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.rolling (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.rolling (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.rolling (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.rolling (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.rolling (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -120,6 +120,11 @@ Implements various file rolling policies. <B>Class Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A></B></TD> +<TD>CompositeTriggeringPolicy determines if rolling should be triggered + by evaluating the current event against a set of triggering policies.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A></B></TD> <TD>FilterBasedTriggeringPolicy determines if rolling should be triggered by evaluating the current message against a set of filters.</TD> @@ -227,6 +232,6 @@ Package org.apache.log4j.rolling Description <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-tree.html similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-tree.html index a3a2cadb233..d13639eb8d2 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.rolling Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.rolling Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.rolling Class Hierarchy (Apache Extras Companion for log4j 1.2. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.rolling Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.rolling Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -101,6 +101,7 @@ Class Hierarchy </UL> </UL> </UL> +<LI TYPE="circle">org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling"><B>CompositeTriggeringPolicy</B></A> (implements org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling">TriggeringPolicy</A>, org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A>) <LI TYPE="circle">org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling"><B>FilterBasedTriggeringPolicy</B></A> (implements org.apache.log4j.spi.TriggeringEventEvaluator, org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling">TriggeringPolicy</A>, org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A>) <LI TYPE="circle">org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/RollingPolicyBase.html" title="class in org.apache.log4j.rolling"><B>RollingPolicyBase</B></A> (implements org.apache.log4j.spi.OptionHandler, org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/RollingPolicy.html" title="interface in org.apache.log4j.rolling">RollingPolicy</A>) <UL> @@ -171,6 +172,6 @@ Interface Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-use.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-use.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-use.html index 79071689a67..8564a32a773 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rolling/package-use.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rolling/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j.rolling (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j.rolling (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j.rolling (Apache Extras Companion for log4j 1.2. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j.rolling (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j.rolling (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -187,6 +187,6 @@ Classes in <A HREF="../../../../org/apache/log4j/rolling/package-summary.html">o <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/AbstractRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/AbstractRule.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/AbstractRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/AbstractRule.html index 7e18b74c138..cef7514a831 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/AbstractRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/AbstractRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -AbstractRule (Apache Extras Companion for log4j 1.2. 1.0 API) +AbstractRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ AbstractRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="AbstractRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="AbstractRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -100,7 +100,7 @@ java.lang.Object <DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></DD> </DL> <DL> -<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/rule/AndRule.html" title="class in org.apache.log4j.rule">AndRule</A>, <A HREF="../../../../org/apache/log4j/rule/ColorRule.html" title="class in org.apache.log4j.rule">ColorRule</A>, <A HREF="../../../../org/apache/log4j/rule/EqualsRule.html" title="class in org.apache.log4j.rule">EqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule">ExistsRule</A>, <A HREF="../../../../org/apache/log4j/rule/ExpressionRule.html" title="class in org.apache.log4j.rule">ExpressionRule</A>, <A HREF="../../../../org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule">InequalityRule</A>, <A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule">LevelEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule">LikeRule</A>, <A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule">NotEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule">NotRule</A>, <A HREF="../../../../org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule">OrRule</A>, <A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRule.html" title="class in org.apache.log4j.rule">PartialTextMatchRule</A>, <A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule">TimestampEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule">TimestampInequalityRule</A></DD> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/log4j/rule/AndRule.html" title="class in org.apache.log4j.rule">AndRule</A>, <A HREF="../../../../org/apache/log4j/rule/ColorRule.html" title="class in org.apache.log4j.rule">ColorRule</A>, <A HREF="../../../../org/apache/log4j/rule/EqualsRule.html" title="class in org.apache.log4j.rule">EqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule">ExistsRule</A>, <A HREF="../../../../org/apache/log4j/rule/ExpressionRule.html" title="class in org.apache.log4j.rule">ExpressionRule</A>, <A HREF="../../../../org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule">InequalityRule</A>, <A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule">LevelEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule">LikeRule</A>, <A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule">NotEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule">NotLevelEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule">NotRule</A>, <A HREF="../../../../org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule">OrRule</A>, <A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRule.html" title="class in org.apache.log4j.rule">PartialTextMatchRule</A>, <A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule">TimestampEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule">TimestampInequalityRule</A></DD> </DL> <HR> <DL> @@ -194,7 +194,7 @@ An abstract Rule class that provides the PropertyChange support plumbing. <TH ALIGN="left"><B>Methods inherited from interface org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE><A HREF="../../../../org/apache/log4j/rule/Rule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></CODE></TD> +<TD><CODE><A HREF="../../../../org/apache/log4j/rule/Rule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></CODE></TD> </TR> </TABLE> &nbsp; @@ -352,6 +352,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/AndRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/AndRule.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/AndRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/AndRule.html index 92f8db896f3..b7b9eb28aed 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/AndRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/AndRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -AndRule (Apache Extras Companion for log4j 1.2. 1.0 API) +AndRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ AndRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="AndRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="AndRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -129,7 +129,8 @@ A Rule class implementing a logical 'and'. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/AndRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/AndRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -213,10 +214,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -224,7 +226,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -289,6 +293,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/ColorRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/ColorRule.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/ColorRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/ColorRule.html index 5ce29bcddcb..bf7a6c38fa5 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/ColorRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/ColorRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -ColorRule (Apache Extras Companion for log4j 1.2. 1.0 API) +ColorRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ ColorRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ColorRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="ColorRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -148,7 +148,8 @@ A Rule class which also holds a color. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ColorRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ColorRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -318,10 +319,11 @@ public java.lang.String <B>getExpression</B>()</PRE> </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -329,10 +331,12 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/rule/Rule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/rule/Rule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></DL> </DD> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -413,6 +417,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/EqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/EqualsRule.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/EqualsRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/EqualsRule.html index 5b42b6cbb8d..fecca94ece8 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/EqualsRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/EqualsRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -EqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) +EqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ EqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="EqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="EqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -130,7 +130,8 @@ A Rule class which returns the result of <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/EqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/EqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -214,10 +215,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -225,7 +227,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -290,6 +294,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/ExistsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/ExistsRule.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/ExistsRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/ExistsRule.html index 88333bdc74b..215161099bf 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/ExistsRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/ExistsRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -ExistsRule (Apache Extras Companion for log4j 1.2. 1.0 API) +ExistsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ ExistsRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ExistsRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="ExistsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -129,7 +129,8 @@ A Rule class implementing a not null (and not empty string) check. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ExistsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ExistsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -213,10 +214,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -224,7 +226,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -289,6 +293,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/ExpressionRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/ExpressionRule.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/ExpressionRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/ExpressionRule.html index 30b0555dde4..849e3915d9a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/ExpressionRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/ExpressionRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -ExpressionRule (Apache Extras Companion for log4j 1.2. 1.0 API) +ExpressionRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ ExpressionRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="ExpressionRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="ExpressionRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -148,7 +148,8 @@ A Rule class supporting both infix and postfix expressions, <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ExpressionRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ExpressionRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -240,10 +241,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -251,7 +253,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -332,6 +336,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html new file mode 100644 index 00000000000..118200589bd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html @@ -0,0 +1,296 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +InFixToPostFix.CustomTokenizer (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="InFixToPostFix.CustomTokenizer (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/InFixToPostFix.CustomTokenizer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="InFixToPostFix.CustomTokenizer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class InFixToPostFix.CustomTokenizer</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.InFixToPostFix.CustomTokenizer</B> +</PRE> +<DL> +<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule">InFixToPostFix</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public static class <B>InFixToPostFix.CustomTokenizer</B><DT>extends java.lang.Object</DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html#InFixToPostFix.CustomTokenizer(java.lang.String)">InFixToPostFix.CustomTokenizer</A></B>(java.lang.String&nbsp;input)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html#hasMoreTokens()">hasMoreTokens</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html#nextToken()">nextToken</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html#parseInput(java.lang.String, java.util.LinkedList)">parseInput</A></B>(java.lang.String&nbsp;input, + java.util.LinkedList&nbsp;linkedList)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="InFixToPostFix.CustomTokenizer(java.lang.String)"><!-- --></A><H3> +InFixToPostFix.CustomTokenizer</H3> +<PRE> +public <B>InFixToPostFix.CustomTokenizer</B>(java.lang.String&nbsp;input)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="parseInput(java.lang.String, java.util.LinkedList)"><!-- --></A><H3> +parseInput</H3> +<PRE> +public void <B>parseInput</B>(java.lang.String&nbsp;input, + java.util.LinkedList&nbsp;linkedList)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hasMoreTokens()"><!-- --></A><H3> +hasMoreTokens</H3> +<PRE> +public boolean <B>hasMoreTokens</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="nextToken()"><!-- --></A><H3> +nextToken</H3> +<PRE> +public java.lang.String <B>nextToken</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/InFixToPostFix.CustomTokenizer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="InFixToPostFix.CustomTokenizer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/InFixToPostFix.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/InFixToPostFix.html similarity index 77% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/InFixToPostFix.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/InFixToPostFix.html index dd388420206..a2d783e0d7d 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/InFixToPostFix.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/InFixToPostFix.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -InFixToPostFix (Apache Extras Companion for log4j 1.2. 1.0 API) +InFixToPostFix (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ InFixToPostFix (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="InFixToPostFix (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="InFixToPostFix (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -57,7 +57,7 @@ function windowTitle() <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> &nbsp;<A HREF="../../../../org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; -&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/rule/InFixToPostFix.html" target="_top"><B>FRAMES</B></A> &nbsp; &nbsp;<A HREF="InFixToPostFix.html" target="_top"><B>NO FRAMES</B></A> &nbsp; @@ -77,7 +77,7 @@ function windowTitle() </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> + SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> </TR> @@ -106,10 +106,7 @@ A helper class which converts infix expressions to postfix expressions Currently grouping is supported, as well as all of the Rules supported by <code>RuleFactory</code> - NOTE: parsing is supported through the use of <code>StringTokenizer</code>, - which means all tokens in the expression must be separated by spaces. - - Supports grouping via parens, mult-word operands using single quotes, + Supports grouping via parens, mult-word operands using single or double quotes, and these operators: ! NOT operator @@ -134,7 +131,24 @@ A helper class which converts infix expressions to postfix expressions <HR> <P> +<!-- ======== NESTED CLASS SUMMARY ======== --> +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule">InFixToPostFix.CustomTokenizer</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; <!-- ======== CONSTRUCTOR SUMMARY ======== --> <A NAME="constructor_summary"><!-- --></A> @@ -147,7 +161,7 @@ A helper class which converts infix expressions to postfix expressions <TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.html#InFixToPostFix()">InFixToPostFix</A></B>()</CODE> <BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> </TR> </TABLE> &nbsp; @@ -167,6 +181,14 @@ A helper class which converts infix expressions to postfix expressions <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert in-fix expression to post-fix.</TD> </TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.html#isOperand(java.lang.String)">isOperand</A></B>(java.lang.String&nbsp;s)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluates whether symbol is operand.</TD> +</TR> </TABLE> &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> @@ -195,8 +217,6 @@ InFixToPostFix</H3> <PRE> public <B>InFixToPostFix</B>()</PRE> <DL> -<DD>Create new instance. -<P> </DL> <!-- ============ METHOD DETAIL ========== --> @@ -221,6 +241,20 @@ public java.lang.String <B>convert</B>(java.lang.String&nbsp;expression)</PRE> <DT><B>Returns:</B><DD>post-fix expression.</DL> </DD> </DL> +<HR> + +<A NAME="isOperand(java.lang.String)"><!-- --></A><H3> +isOperand</H3> +<PRE> +public static boolean <B>isOperand</B>(java.lang.String&nbsp;s)</PRE> +<DL> +<DD>Evaluates whether symbol is operand. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>s</CODE> - symbol. +<DT><B>Returns:</B><DD>true if operand.</DL> +</DD> +</DL> <!-- ========= END OF CLASS DATA ========= --> <HR> @@ -253,7 +287,7 @@ public java.lang.String <B>convert</B>(java.lang.String&nbsp;expression)</PRE> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> &nbsp;<A HREF="../../../../org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; -&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/rule/InFixToPostFix.html" target="_top"><B>FRAMES</B></A> &nbsp; &nbsp;<A HREF="InFixToPostFix.html" target="_top"><B>NO FRAMES</B></A> &nbsp; @@ -273,7 +307,7 @@ public java.lang.String <B>convert</B>(java.lang.String&nbsp;expression)</PRE> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> + SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> </TR> @@ -282,6 +316,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/InequalityRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/InequalityRule.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/InequalityRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/InequalityRule.html index d6dfa25493a..0802bdaeba3 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/InequalityRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/InequalityRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -InequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API) +InequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ InequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="InequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="InequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -134,7 +134,8 @@ A Rule class implementing inequality evaluation. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/InequalityRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/InequalityRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -222,10 +223,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -233,7 +235,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -298,6 +302,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/LevelEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/LevelEqualsRule.html similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/LevelEqualsRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/LevelEqualsRule.html index 256eabe43c7..6aef6cf6de1 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/LevelEqualsRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/LevelEqualsRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LevelEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) +LevelEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LevelEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LevelEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LevelEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -56,7 +56,7 @@ function windowTitle() <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> -&nbsp;<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; &nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelInequalityRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/rule/LevelEqualsRule.html" target="_top"><B>FRAMES</B></A> &nbsp; @@ -129,7 +129,8 @@ A Rule class implementing equals against two levels. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -189,10 +190,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -200,7 +202,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -235,7 +239,7 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> -&nbsp;<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; &nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelInequalityRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/rule/LevelEqualsRule.html" target="_top"><B>FRAMES</B></A> &nbsp; @@ -265,6 +269,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/LevelInequalityRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/LevelInequalityRule.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/LevelInequalityRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/LevelInequalityRule.html index b6c31997c44..6038241a649 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/LevelInequalityRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/LevelInequalityRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LevelInequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API) +LevelInequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LevelInequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LevelInequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LevelInequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -229,6 +229,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/LikeRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/LikeRule.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/LikeRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/LikeRule.html index a2f44b5ca1d..5b461f3ae27 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/LikeRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/LikeRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LikeRule (Apache Extras Companion for log4j 1.2. 1.0 API) +LikeRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LikeRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LikeRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LikeRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -129,7 +129,8 @@ A Rule class supporting java.util.regex regular expression syntax. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LikeRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LikeRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -213,10 +214,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -224,7 +226,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -289,6 +293,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/NotEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/NotEqualsRule.html similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/NotEqualsRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/NotEqualsRule.html index 2e113c0fe6d..123033cfb67 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/NotEqualsRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/NotEqualsRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -NotEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) +NotEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ NotEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="NotEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="NotEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -57,7 +57,7 @@ function windowTitle() <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> &nbsp;<A HREF="../../../../org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; -&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/rule/NotEqualsRule.html" target="_top"><B>FRAMES</B></A> &nbsp; &nbsp;<A HREF="NotEqualsRule.html" target="_top"><B>NO FRAMES</B></A> &nbsp; @@ -129,7 +129,8 @@ A Rule class implementing not equals against two strings. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -213,10 +214,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -224,7 +226,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -260,7 +264,7 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> &nbsp;<A HREF="../../../../org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; -&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/rule/NotEqualsRule.html" target="_top"><B>FRAMES</B></A> &nbsp; &nbsp;<A HREF="NotEqualsRule.html" target="_top"><B>NO FRAMES</B></A> &nbsp; @@ -289,6 +293,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/NotLevelEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/NotLevelEqualsRule.html new file mode 100644 index 00000000000..560a606f5a2 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/NotLevelEqualsRule.html @@ -0,0 +1,274 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NotLevelEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NotLevelEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NotLevelEqualsRule.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/NotLevelEqualsRule.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotLevelEqualsRule.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class NotLevelEqualsRule</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/rule/AbstractRule.html" title="class in org.apache.log4j.rule">org.apache.log4j.rule.AbstractRule</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.NotLevelEqualsRule</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>NotLevelEqualsRule</B><DT>extends <A HREF="../../../../org/apache/log4j/rule/AbstractRule.html" title="class in org.apache.log4j.rule">AbstractRule</A></DL> +</PRE> + +<P> +A Rule class implementing not equals against two levels. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Scott Deboy (sdeboy@apache.org)</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.rule.NotLevelEqualsRule">Serialized Form</A></DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, + or false if not.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html#getRule(java.lang.String)">getRule</A></B>(java.lang.String&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new rule.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.rule.AbstractRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/AbstractRule.html" title="class in org.apache.log4j.rule">AbstractRule</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/rule/AbstractRule.html#addPropertyChangeListener(java.beans.PropertyChangeListener)">addPropertyChangeListener</A>, <A HREF="../../../../org/apache/log4j/rule/AbstractRule.html#firePropertyChange(java.beans.PropertyChangeEvent)">firePropertyChange</A>, <A HREF="../../../../org/apache/log4j/rule/AbstractRule.html#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)">firePropertyChange</A>, <A HREF="../../../../org/apache/log4j/rule/AbstractRule.html#removePropertyChangeListener(java.beans.PropertyChangeListener)">removePropertyChangeListener</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getRule(java.lang.String)"><!-- --></A><H3> +getRule</H3> +<PRE> +public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A> <B>getRule</B>(java.lang.String&nbsp;value)</PRE> +<DL> +<DD>Create new rule. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>value</CODE> - name of level. +<DT><B>Returns:</B><DD>instance of NotLevelEqualsRule.</DL> +</DD> +</DL> +<HR> + +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> +evaluate</H3> +<PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> +<DL> +<DD>Returns true if this implementation of the rule accepts the LoggingEvent, + or false if not. + + <p>What True/False means can be client-specific. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results +<DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NotLevelEqualsRule.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/NotLevelEqualsRule.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotLevelEqualsRule.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/NotRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/NotRule.html similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/NotRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/NotRule.html index 14e6f0dc58a..1ce02fffed5 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/NotRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/NotRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -NotRule (Apache Extras Companion for log4j 1.2. 1.0 API) +NotRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ NotRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="NotRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="NotRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -56,7 +56,7 @@ function windowTitle() <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> -&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; &nbsp;<A HREF="../../../../org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/rule/NotRule.html" target="_top"><B>FRAMES</B></A> &nbsp; @@ -129,7 +129,8 @@ A Rule class implementing logical not. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -211,10 +212,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -222,7 +224,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -257,7 +261,7 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> -&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; &nbsp;<A HREF="../../../../org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?org/apache/log4j/rule/NotRule.html" target="_top"><B>FRAMES</B></A> &nbsp; @@ -287,6 +291,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/OrRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/OrRule.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/OrRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/OrRule.html index de9c5d4d037..073a4b495d5 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/OrRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/OrRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -OrRule (Apache Extras Companion for log4j 1.2. 1.0 API) +OrRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ OrRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="OrRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="OrRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -129,7 +129,8 @@ A Rule class implementing logical or. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -213,10 +214,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -224,7 +226,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -289,6 +293,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/PartialTextMatchRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/PartialTextMatchRule.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/PartialTextMatchRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/PartialTextMatchRule.html index 8aa42e2443d..7c78285fbc1 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/PartialTextMatchRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/PartialTextMatchRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -PartialTextMatchRule (Apache Extras Companion for log4j 1.2. 1.0 API) +PartialTextMatchRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ PartialTextMatchRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="PartialTextMatchRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="PartialTextMatchRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -130,7 +130,8 @@ A Rule class implementing case-insensitive <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -214,10 +215,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -225,7 +227,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -290,6 +294,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/Rule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/Rule.html similarity index 85% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/Rule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/Rule.html index 77b16fad5ed..3205873ecab 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/Rule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/Rule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Rule (Apache Extras Companion for log4j 1.2. 1.0 API) +Rule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Rule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Rule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Rule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -93,7 +93,7 @@ org.apache.log4j.rule</FONT> <BR> Interface Rule</H2> <DL> -<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/rule/AbstractRule.html" title="class in org.apache.log4j.rule">AbstractRule</A>, <A HREF="../../../../org/apache/log4j/rule/AndRule.html" title="class in org.apache.log4j.rule">AndRule</A>, <A HREF="../../../../org/apache/log4j/rule/ColorRule.html" title="class in org.apache.log4j.rule">ColorRule</A>, <A HREF="../../../../org/apache/log4j/rule/EqualsRule.html" title="class in org.apache.log4j.rule">EqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule">ExistsRule</A>, <A HREF="../../../../org/apache/log4j/rule/ExpressionRule.html" title="class in org.apache.log4j.rule">ExpressionRule</A>, <A HREF="../../../../org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule">InequalityRule</A>, <A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule">LevelEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule">LikeRule</A>, <A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule">NotEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule">NotRule</A>, <A HREF="../../../../org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule">OrRule</A>, <A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRule.html" title="class in org.apache.log4j.rule">PartialTextMatchRule</A>, <A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule">TimestampEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule">TimestampInequalityRule</A></DD> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/rule/AbstractRule.html" title="class in org.apache.log4j.rule">AbstractRule</A>, <A HREF="../../../../org/apache/log4j/rule/AndRule.html" title="class in org.apache.log4j.rule">AndRule</A>, <A HREF="../../../../org/apache/log4j/rule/ColorRule.html" title="class in org.apache.log4j.rule">ColorRule</A>, <A HREF="../../../../org/apache/log4j/rule/EqualsRule.html" title="class in org.apache.log4j.rule">EqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule">ExistsRule</A>, <A HREF="../../../../org/apache/log4j/rule/ExpressionRule.html" title="class in org.apache.log4j.rule">ExpressionRule</A>, <A HREF="../../../../org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule">InequalityRule</A>, <A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule">LevelEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule">LikeRule</A>, <A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule">NotEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule">NotLevelEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule">NotRule</A>, <A HREF="../../../../org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule">OrRule</A>, <A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRule.html" title="class in org.apache.log4j.rule">PartialTextMatchRule</A>, <A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule">TimestampEqualsRule</A>, <A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule">TimestampInequalityRule</A></DD> </DL> <HR> <DL> @@ -135,7 +135,8 @@ A Rule evaluates to true of false given a LoggingEvent object, and can notify <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/Rule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;e)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/Rule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;e, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -163,10 +164,11 @@ A Rule evaluates to true of false given a LoggingEvent object, and can notify </TR> </TABLE> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;e)</PRE> +boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;e, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -174,7 +176,9 @@ boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;e)</PRE> <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>e</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>e</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -267,6 +271,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/RuleFactory.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/RuleFactory.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/RuleFactory.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/RuleFactory.html index 4c2aa3a633f..269f494b2fd 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/RuleFactory.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/RuleFactory.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -RuleFactory (Apache Extras Companion for log4j 1.2. 1.0 API) +RuleFactory (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ RuleFactory (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="RuleFactory (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="RuleFactory (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -276,6 +276,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/TimestampEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/TimestampEqualsRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/TimestampEqualsRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/TimestampEqualsRule.html index e90ea37f0d7..45ab6c6feea 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/TimestampEqualsRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/TimestampEqualsRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -TimestampEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) +TimestampEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ TimestampEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="TimestampEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="TimestampEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -129,7 +129,8 @@ A Rule class implementing equality evaluation for timestamps. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -189,10 +190,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -200,7 +202,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -265,6 +269,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/TimestampInequalityRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/TimestampInequalityRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/TimestampInequalityRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/TimestampInequalityRule.html index 5a796b98b2c..e8783772f28 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/TimestampInequalityRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/TimestampInequalityRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -TimestampInequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API) +TimestampInequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ TimestampInequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="TimestampInequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="TimestampInequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -129,7 +129,8 @@ A Rule class implementing inequality evaluation for timestamps. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;boolean</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRule.html#evaluate(org.apache.log4j.spi.LoggingEvent)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</CODE> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRule.html#evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)">evaluate</A></B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this implementation of the rule accepts the LoggingEvent, @@ -191,10 +192,11 @@ public static <A HREF="../../../../org/apache/log4j/rule/Rule.html" title="inter </DL> <HR> -<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +<A NAME="evaluate(org.apache.log4j.spi.LoggingEvent, java.util.Map)"><!-- --></A><H3> evaluate</H3> <PRE> -public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PRE> +public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event, + java.util.Map&nbsp;matches)</PRE> <DL> <DD>Returns true if this implementation of the rule accepts the LoggingEvent, or false if not. @@ -202,7 +204,9 @@ public boolean <B>evaluate</B>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</PR <p>What True/False means can be client-specific. <P> <DD><DL> -<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate +<DT><B>Parameters:</B><DD><CODE>event</CODE> - LoggingEvent this instance will evaluate<DD><CODE>matches</CODE> - a Map of event field keys to Sets of matching strings (may be null) which will be + updated during execution of this method to include field and string matches based on the rule + evaluation results <DT><B>Returns:</B><DD>true if this Rule instance accepts the event, otherwise false.</DL> </DD> </DL> @@ -267,6 +271,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/AbstractRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/AbstractRule.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/AbstractRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/AbstractRule.html index 8c696e94eff..3cd70b30f49 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/AbstractRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/AbstractRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.AbstractRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.AbstractRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.AbstractRule (Apache Extras Companion for lo function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.AbstractRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.AbstractRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -189,6 +189,14 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/AbstractRule.html" title=" <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule">NotLevelEqualsRule</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A Rule class implementing not equals against two levels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule">NotRule</A></B></CODE> <BR> @@ -284,6 +292,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/AbstractRule.html" title=" <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/AndRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/AndRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/AndRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/AndRule.html index 145f0335325..51becad1131 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/AndRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/AndRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.AndRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.AndRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.AndRule (Apache Extras Companion for log4j 1 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.AndRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.AndRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.AndRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/ColorRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/ColorRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/ColorRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/ColorRule.html index a3e5131450d..1dabf89e866 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/ColorRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/ColorRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.ColorRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.ColorRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.ColorRule (Apache Extras Companion for log4j function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.ColorRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.ColorRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.ColorRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/EqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/EqualsRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/EqualsRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/EqualsRule.html index b1f9f968c32..cb346311132 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/EqualsRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/EqualsRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.EqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.EqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.EqualsRule (Apache Extras Companion for log4 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.EqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.EqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.EqualsRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/ExistsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/ExistsRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/ExistsRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/ExistsRule.html index f6cf3eb2e33..2bc5f75712a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/ExistsRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/ExistsRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.ExistsRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.ExistsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.ExistsRule (Apache Extras Companion for log4 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.ExistsRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.ExistsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.ExistsRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/ExpressionRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/ExpressionRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/ExpressionRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/ExpressionRule.html index 14672760ab9..7bd3d6bd5a8 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/ExpressionRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/ExpressionRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.ExpressionRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.ExpressionRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.ExpressionRule (Apache Extras Companion for function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.ExpressionRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.ExpressionRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.ExpressionRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.CustomTokenizer.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.CustomTokenizer.html new file mode 100644 index 00000000000..8270c5fda7d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.CustomTokenizer.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.InFixToPostFix.CustomTokenizer (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.InFixToPostFix.CustomTokenizer (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useInFixToPostFix.CustomTokenizer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="InFixToPostFix.CustomTokenizer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.InFixToPostFix.CustomTokenizer</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.InFixToPostFix.CustomTokenizer +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useInFixToPostFix.CustomTokenizer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="InFixToPostFix.CustomTokenizer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.html index 4af6bc221a2..0e0a3fae481 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/InFixToPostFix.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.InFixToPostFix (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.InFixToPostFix (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.InFixToPostFix (Apache Extras Companion for function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.InFixToPostFix (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.InFixToPostFix (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.InFixToPostFix <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/InequalityRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/InequalityRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/InequalityRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/InequalityRule.html index 1f22cb9cd4e..7218e193d00 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/InequalityRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/InequalityRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.InequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.InequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.InequalityRule (Apache Extras Companion for function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.InequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.InequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.InequalityRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/LevelEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/LevelEqualsRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/LevelEqualsRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/LevelEqualsRule.html index 5158775591c..9054597ecc9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/LevelEqualsRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/LevelEqualsRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.LevelEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.LevelEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.LevelEqualsRule (Apache Extras Companion for function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.LevelEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.LevelEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.LevelEqualsRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/LevelInequalityRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/LevelInequalityRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/LevelInequalityRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/LevelInequalityRule.html index c9d881b9314..b62ae91b0fb 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/LevelInequalityRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/LevelInequalityRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.LevelInequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.LevelInequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.LevelInequalityRule (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.LevelInequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.LevelInequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.LevelInequalityRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/LikeRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/LikeRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/LikeRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/LikeRule.html index a0130dacbbe..35aa9e0cb60 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/LikeRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/LikeRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.LikeRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.LikeRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.LikeRule (Apache Extras Companion for log4j function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.LikeRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.LikeRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.LikeRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/NotEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/NotEqualsRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/NotEqualsRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/NotEqualsRule.html index 7ff32fb827d..542381e4c15 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/NotEqualsRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/NotEqualsRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.NotEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.NotEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.NotEqualsRule (Apache Extras Companion for l function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.NotEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.NotEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.NotEqualsRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/NotLevelEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/NotLevelEqualsRule.html new file mode 100644 index 00000000000..3818ea5e909 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/NotLevelEqualsRule.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.NotLevelEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.NotLevelEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useNotLevelEqualsRule.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotLevelEqualsRule.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.NotLevelEqualsRule</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.NotLevelEqualsRule +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useNotLevelEqualsRule.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotLevelEqualsRule.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/NotRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/NotRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/NotRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/NotRule.html index a18a2c1e3b6..de5ce6ddd2f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/NotRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/NotRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.NotRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.NotRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.NotRule (Apache Extras Companion for log4j 1 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.NotRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.NotRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.NotRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/OrRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/OrRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/OrRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/OrRule.html index 78bee250cf9..9011265f4a7 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/OrRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/OrRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.OrRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.OrRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.OrRule (Apache Extras Companion for log4j 1. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.OrRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.OrRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.OrRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/PartialTextMatchRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/PartialTextMatchRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/PartialTextMatchRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/PartialTextMatchRule.html index fd36b532fc7..68a07c52fdd 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/PartialTextMatchRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/PartialTextMatchRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.PartialTextMatchRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.PartialTextMatchRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.PartialTextMatchRule (Apache Extras Companio function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.PartialTextMatchRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.PartialTextMatchRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.PartialTextMatchRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/Rule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/Rule.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/Rule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/Rule.html index 39d2e148bc0..ccc29dbd971 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/Rule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/Rule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Interface org.apache.log4j.rule.Rule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Interface org.apache.log4j.rule.Rule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Interface org.apache.log4j.rule.Rule (Apache Extras Companion for log4j function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Interface org.apache.log4j.rule.Rule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Interface org.apache.log4j.rule.Rule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -197,6 +197,14 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule">NotLevelEqualsRule</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A Rule class implementing not equals against two levels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule">NotRule</A></B></CODE> <BR> @@ -256,15 +264,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> <TD><CODE><B>NotRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/NotRule.html#getRule(org.apache.log4j.rule.Rule)">getRule</A></B>(<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>&nbsp;rule)</CODE> -<BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> -</TR> -<TR BGCOLOR="white" CLASS="TableRowColor"> -<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>OrRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/OrRule.html#getRule(org.apache.log4j.rule.Rule, org.apache.log4j.rule.Rule)">getRule</A></B>(<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>&nbsp;firstParam, - <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>&nbsp;secondParam)</CODE> - <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> </TR> @@ -280,35 +279,19 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>NotEqualsRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/NotEqualsRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> +<TD><CODE><B>OrRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/OrRule.html#getRule(org.apache.log4j.rule.Rule, org.apache.log4j.rule.Rule)">getRule</A></B>(<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>&nbsp;firstParam, + <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>&nbsp;secondParam)</CODE> <BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get new instance from top two elements of stack.</TD> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>ExistsRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/ExistsRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> +<TD><CODE><B>NotRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/NotRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> <BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create an instance of ExistsRule using the - top name on the stack.</TD> -</TR> -<TR BGCOLOR="white" CLASS="TableRowColor"> -<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>EqualsRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/EqualsRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> - -<BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance from top two elements of stack.</TD> -</TR> -<TR BGCOLOR="white" CLASS="TableRowColor"> -<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>OrRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/OrRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> - -<BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance from top two elements of stack.</TD> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance from top element of stack.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -321,7 +304,15 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>PartialTextMatchRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/PartialTextMatchRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> +<TD><CODE><B>NotEqualsRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/NotEqualsRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get new instance from top two elements of stack.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> +<TD><CODE><B>EqualsRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/EqualsRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance from top two elements of stack.</TD> @@ -337,18 +328,43 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>NotRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/NotRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> +<TD><CODE><B>ExistsRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/ExistsRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> <BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance from top element of stack.</TD> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create an instance of ExistsRule using the + top name on the stack.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>ExistsRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/ExistsRule.html#getRule(java.lang.String)">getRule</A></B>(java.lang.String&nbsp;field)</CODE> +<TD><CODE><B>PartialTextMatchRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/PartialTextMatchRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> <BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an instance of ExistsRule.</TD> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance from top two elements of stack.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> +<TD><CODE><B>OrRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/OrRule.html#getRule(java.util.Stack)">getRule</A></B>(java.util.Stack&nbsp;stack)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance from top two elements of stack.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> +<TD><CODE><B>ExpressionRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/ExpressionRule.html#getRule(java.lang.String)">getRule</A></B>(java.lang.String&nbsp;expression)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get rule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> +<TD><CODE><B>NotLevelEqualsRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/NotLevelEqualsRule.html#getRule(java.lang.String)">getRule</A></B>(java.lang.String&nbsp;value)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new rule.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -361,10 +377,10 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>ExpressionRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/ExpressionRule.html#getRule(java.lang.String)">getRule</A></B>(java.lang.String&nbsp;expression)</CODE> +<TD><CODE><B>ExistsRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/ExistsRule.html#getRule(java.lang.String)">getRule</A></B>(java.lang.String&nbsp;field)</CODE> <BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get rule.</TD> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an instance of ExistsRule.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -385,6 +401,15 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> +<TD><CODE><B>RuleFactory.</B><B><A HREF="../../../../../org/apache/log4j/rule/RuleFactory.html#getRule(java.lang.String, java.util.Stack)">getRule</A></B>(java.lang.String&nbsp;symbol, + java.util.Stack&nbsp;stack)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create rule from applying operator to stack.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> <TD><CODE><B>InequalityRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/InequalityRule.html#getRule(java.lang.String, java.util.Stack)">getRule</A></B>(java.lang.String&nbsp;inequalitySymbol, java.util.Stack&nbsp;stack)</CODE> @@ -394,12 +419,12 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE>&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>RuleFactory.</B><B><A HREF="../../../../../org/apache/log4j/rule/RuleFactory.html#getRule(java.lang.String, java.util.Stack)">getRule</A></B>(java.lang.String&nbsp;symbol, - java.util.Stack&nbsp;stack)</CODE> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> +<TD><CODE><B>TimestampInequalityRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/TimestampInequalityRule.html#getRule(java.lang.String, java.lang.String)">getRule</A></B>(java.lang.String&nbsp;inequalitySymbol, + java.lang.String&nbsp;value)</CODE> <BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create rule from applying operator to stack.</TD> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> @@ -416,15 +441,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <TD><CODE><B>EqualsRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/EqualsRule.html#getRule(java.lang.String, java.lang.String)">getRule</A></B>(java.lang.String&nbsp;p1, java.lang.String&nbsp;p2)</CODE> -<BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> -</TR> -<TR BGCOLOR="white" CLASS="TableRowColor"> -<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>PartialTextMatchRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/PartialTextMatchRule.html#getRule(java.lang.String, java.lang.String)">getRule</A></B>(java.lang.String&nbsp;field, - java.lang.String&nbsp;value)</CODE> - <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> </TR> @@ -449,7 +465,7 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>TimestampInequalityRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/TimestampInequalityRule.html#getRule(java.lang.String, java.lang.String)">getRule</A></B>(java.lang.String&nbsp;inequalitySymbol, +<TD><CODE><B>PartialTextMatchRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/PartialTextMatchRule.html#getRule(java.lang.String, java.lang.String)">getRule</A></B>(java.lang.String&nbsp;field, java.lang.String&nbsp;value)</CODE> <BR> @@ -478,15 +494,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> <TD><CODE><B>NotRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/NotRule.html#getRule(org.apache.log4j.rule.Rule)">getRule</A></B>(<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>&nbsp;rule)</CODE> -<BR> -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> -</TR> -<TR BGCOLOR="white" CLASS="TableRowColor"> -<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> -<TD><CODE><B>OrRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/OrRule.html#getRule(org.apache.log4j.rule.Rule, org.apache.log4j.rule.Rule)">getRule</A></B>(<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>&nbsp;firstParam, - <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>&nbsp;secondParam)</CODE> - <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> </TR> @@ -499,6 +506,15 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get rule.</TD> </TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A></CODE></FONT></TD> +<TD><CODE><B>OrRule.</B><B><A HREF="../../../../../org/apache/log4j/rule/OrRule.html#getRule(org.apache.log4j.rule.Rule, org.apache.log4j.rule.Rule)">getRule</A></B>(<A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>&nbsp;firstParam, + <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>&nbsp;secondParam)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new instance.</TD> +</TR> </TABLE> &nbsp; <P> @@ -573,6 +589,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/Rule.html" title="interfac <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/RuleFactory.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/RuleFactory.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/RuleFactory.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/RuleFactory.html index edf0707165c..6b03c1023d6 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/RuleFactory.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/RuleFactory.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.RuleFactory (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.RuleFactory (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.RuleFactory (Apache Extras Companion for log function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.RuleFactory (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.RuleFactory (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/rule/RuleFactory.html" title="c <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/TimestampEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/TimestampEqualsRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/TimestampEqualsRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/TimestampEqualsRule.html index ecf42d7275e..1ef9e645372 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/TimestampEqualsRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/TimestampEqualsRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.TimestampEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.TimestampEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.TimestampEqualsRule (Apache Extras Companion function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.TimestampEqualsRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.TimestampEqualsRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.TimestampEqualsRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/TimestampInequalityRule.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/TimestampInequalityRule.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/TimestampInequalityRule.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/TimestampInequalityRule.html index d788ab96ae2..516ad619d48 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/class-use/TimestampInequalityRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/class-use/TimestampInequalityRule.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.rule.TimestampInequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.rule.TimestampInequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.rule.TimestampInequalityRule (Apache Extras Compa function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.rule.TimestampInequalityRule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.rule.TimestampInequalityRule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.rule.TimestampInequalityRule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-frame.html similarity index 84% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-frame.html index 7af3c2cb47b..25d5deea57d 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.rule (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.rule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -51,6 +51,8 @@ Classes</FONT>&nbsp; <BR> <A HREF="InFixToPostFix.html" title="class in org.apache.log4j.rule" target="classFrame">InFixToPostFix</A> <BR> +<A HREF="InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule" target="classFrame">InFixToPostFix.CustomTokenizer</A> +<BR> <A HREF="LevelEqualsRule.html" title="class in org.apache.log4j.rule" target="classFrame">LevelEqualsRule</A> <BR> <A HREF="LevelInequalityRule.html" title="class in org.apache.log4j.rule" target="classFrame">LevelInequalityRule</A> @@ -59,6 +61,8 @@ Classes</FONT>&nbsp; <BR> <A HREF="NotEqualsRule.html" title="class in org.apache.log4j.rule" target="classFrame">NotEqualsRule</A> <BR> +<A HREF="NotLevelEqualsRule.html" title="class in org.apache.log4j.rule" target="classFrame">NotLevelEqualsRule</A> +<BR> <A HREF="NotRule.html" title="class in org.apache.log4j.rule" target="classFrame">NotRule</A> <BR> <A HREF="OrRule.html" title="class in org.apache.log4j.rule" target="classFrame">OrRule</A> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-summary.html similarity index 87% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-summary.html index f446a2a0c12..cb87288be91 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.rule (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.rule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.rule (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.rule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.rule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -142,8 +142,25 @@ Package org.apache.log4j.rule Currently grouping is supported, as well as all of the Rules supported by <code>RuleFactory</code> - NOTE: parsing is supported through the use of <code>StringTokenizer</code>, - which means all tokens in the expression must be separated by spaces.</TD> + Supports grouping via parens, mult-word operands using single or double quotes, + and these operators: + + ! NOT operator + != NOT EQUALS operator + == EQUALS operator + ~= CASE-INSENSITIVE equals operator + || OR operator + && AND operator + like REGEXP operator + exists NOT NULL operator + &lt LESS THAN operator + &gt GREATER THAN operator + &lt= LESS THAN EQUALS operator + &gt= GREATER THAN EQUALS operator</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule">InFixToPostFix.CustomTokenizer</A></B></TD> +<TD>&nbsp;</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule">LevelEqualsRule</A></B></TD> @@ -163,6 +180,10 @@ Package org.apache.log4j.rule <TD>A Rule class implementing not equals against two strings.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule">NotLevelEqualsRule</A></B></TD> +<TD>A Rule class implementing not equals against two levels.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule">NotRule</A></B></TD> <TD>A Rule class implementing logical not.</TD> </TR> @@ -249,6 +270,6 @@ Package org.apache.log4j.rule <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-tree.html similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-tree.html index 88ff963e7f2..8d1a77f3962 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.rule Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.rule Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.rule Class Hierarchy (Apache Extras Companion for log4j 1.2. 1. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.rule Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.rule Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -96,8 +96,8 @@ Class Hierarchy <LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/AbstractRule.html" title="class in org.apache.log4j.rule"><B>AbstractRule</B></A> (implements org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>, java.io.Serializable) <UL> <LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/AndRule.html" title="class in org.apache.log4j.rule"><B>AndRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/ColorRule.html" title="class in org.apache.log4j.rule"><B>ColorRule</B></A> (implements java.io.Serializable) -<LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/EqualsRule.html" title="class in org.apache.log4j.rule"><B>EqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule"><B>ExistsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/ExpressionRule.html" title="class in org.apache.log4j.rule"><B>ExpressionRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule"><B>InequalityRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>LevelEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule"><B>LikeRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule"><B>NotEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule"><B>NotRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule"><B>OrRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRule.html" title="class in org.apache.log4j.rule"><B>PartialTextMatchRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule"><B>TimestampEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule"><B>TimestampInequalityRule</B></A></UL> -<LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule"><B>InFixToPostFix</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/LevelInequalityRule.html" title="class in org.apache.log4j.rule"><B>LevelInequalityRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/RuleFactory.html" title="class in org.apache.log4j.rule"><B>RuleFactory</B></A></UL> +<LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/EqualsRule.html" title="class in org.apache.log4j.rule"><B>EqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule"><B>ExistsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/ExpressionRule.html" title="class in org.apache.log4j.rule"><B>ExpressionRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule"><B>InequalityRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>LevelEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule"><B>LikeRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule"><B>NotEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>NotLevelEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule"><B>NotRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule"><B>OrRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRule.html" title="class in org.apache.log4j.rule"><B>PartialTextMatchRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule"><B>TimestampEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule"><B>TimestampInequalityRule</B></A></UL> +<LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule"><B>InFixToPostFix</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule"><B>InFixToPostFix.CustomTokenizer</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/LevelInequalityRule.html" title="class in org.apache.log4j.rule"><B>LevelInequalityRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/RuleFactory.html" title="class in org.apache.log4j.rule"><B>RuleFactory</B></A></UL> </UL> <H2> Interface Hierarchy @@ -158,6 +158,6 @@ Interface Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-use.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-use.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-use.html index 30bbcc4bf1d..c9e721a23f2 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/rule/package-use.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/rule/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j.rule (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j.rule (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j.rule (Apache Extras Companion for log4j 1.2. 1. function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j.rule (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j.rule (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -182,6 +182,6 @@ Classes in <A HREF="../../../../org/apache/log4j/rule/package-summary.html">org. <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/LoggingEventFieldResolver.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/LoggingEventFieldResolver.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/LoggingEventFieldResolver.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/LoggingEventFieldResolver.html index 00083b90748..a8156862a87 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/LoggingEventFieldResolver.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/LoggingEventFieldResolver.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -LoggingEventFieldResolver (Apache Extras Companion for log4j 1.2. 1.0 API) +LoggingEventFieldResolver (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ LoggingEventFieldResolver (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="LoggingEventFieldResolver (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="LoggingEventFieldResolver (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -625,6 +625,6 @@ DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/class-use/LoggingEventFieldResolver.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/class-use/LoggingEventFieldResolver.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/class-use/LoggingEventFieldResolver.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/class-use/LoggingEventFieldResolver.html index 530f1174d25..eca76739444 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/class-use/LoggingEventFieldResolver.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/class-use/LoggingEventFieldResolver.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.spi.LoggingEventFieldResolver (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.spi.LoggingEventFieldResolver (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.spi.LoggingEventFieldResolver (Apache Extras Comp function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.spi.LoggingEventFieldResolver (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.spi.LoggingEventFieldResolver (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -176,6 +176,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/spi/LoggingEventFieldResolver.h <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-frame.html similarity index 74% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-frame.html index 3d448218fe0..fa50bdf6189 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.spi (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.spi (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-summary.html index 74908d80e2e..310e1ff41ac 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.spi (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.spi (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.spi (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.spi (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.spi (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -154,6 +154,6 @@ Package org.apache.log4j.spi <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-tree.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-tree.html index 7333332a0fd..422f8e3899a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.spi Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.spi Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.spi Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.spi Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.spi Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -149,6 +149,6 @@ Class Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-use.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-use.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-use.html index b3d0c2e6dd0..4f98088fe36 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/spi/package-use.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/spi/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j.spi (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j.spi (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j.spi (Apache Extras Companion for log4j 1.2. 1.0 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j.spi (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j.spi (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -167,6 +167,6 @@ Classes in <A HREF="../../../../org/apache/log4j/spi/package-summary.html">org.a <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/SoundAppender.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/SoundAppender.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/SoundAppender.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/SoundAppender.html index 8f9587b4298..207b2c05bdb 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/SoundAppender.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/SoundAppender.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -SoundAppender (Apache Extras Companion for log4j 1.2. 1.0 API) +SoundAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ SoundAppender (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="SoundAppender (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="SoundAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -335,9 +335,6 @@ close</H3> public void <B>close</B>()</PRE> <DL> <DD><DL> -<DT><B>Specified by:</B><DD><CODE>close</CODE> in interface <CODE>org.apache.log4j.Appender</CODE><DT><B>Specified by:</B><DD><CODE>close</CODE> in class <CODE>org.apache.log4j.AppenderSkeleton</CODE></DL> -</DD> -<DD><DL> </DL> </DD> </DL> @@ -351,9 +348,6 @@ public boolean <B>requiresLayout</B>()</PRE> <DD>Gets whether appender requires a layout. <P> <DD><DL> -<DT><B>Specified by:</B><DD><CODE>requiresLayout</CODE> in interface <CODE>org.apache.log4j.Appender</CODE><DT><B>Specified by:</B><DD><CODE>requiresLayout</CODE> in class <CODE>org.apache.log4j.AppenderSkeleton</CODE></DL> -</DD> -<DD><DL> <DT><B>Returns:</B><DD>false</DL> </DD> @@ -419,6 +413,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/class-use/SoundAppender.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/class-use/SoundAppender.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/class-use/SoundAppender.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/class-use/SoundAppender.html index d95731b3b60..6f3a08e7a7a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/class-use/SoundAppender.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/class-use/SoundAppender.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.varia.SoundAppender (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.varia.SoundAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.varia.SoundAppender (Apache Extras Companion for function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.varia.SoundAppender (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.varia.SoundAppender (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.varia.SoundAppender <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-frame.html similarity index 73% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-frame.html index 4ea830ecc6f..4cd0f4d550e 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.varia (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.varia (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-summary.html index 4a8eec98f6d..8628f496fc6 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.varia (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.varia (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.varia (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.varia (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.varia (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -153,6 +153,6 @@ Package org.apache.log4j.varia <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-tree.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-tree.html index 82c715185a6..0b3b79d6397 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.varia Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.varia Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.varia Class Hierarchy (Apache Extras Companion for log4j 1.2. 1 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.varia Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.varia Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -152,6 +152,6 @@ Class Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-use.html similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-use.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-use.html index 956e53511bc..320c2875171 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/varia/package-use.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/varia/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j.varia (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j.varia (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j.varia (Apache Extras Companion for log4j 1.2. 1 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j.varia (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j.varia (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.varia <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html similarity index 87% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html index 1e9149a0f8a..7234ec0a9a9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/UnrecognizedElementHandler.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -UnrecognizedElementHandler (Apache Extras Companion for log4j 1.2. 1.0 API) +UnrecognizedElementHandler (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ UnrecognizedElementHandler (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="UnrecognizedElementHandler (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="UnrecognizedElementHandler (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -93,7 +93,7 @@ org.apache.log4j.xml</FONT> <BR> Interface UnrecognizedElementHandler</H2> <DL> -<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/filter/AndFilter.html" title="class in org.apache.log4j.filter">AndFilter</A>, <A HREF="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A>, <A HREF="../../../../org/apache/log4j/rolling/RollingFileAppender.html" title="class in org.apache.log4j.rolling">RollingFileAppender</A>, <A HREF="../../../../org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml">XSLTLayout</A></DD> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/filter/AndFilter.html" title="class in org.apache.log4j.filter">AndFilter</A>, <A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A>, <A HREF="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A>, <A HREF="../../../../org/apache/log4j/rolling/RollingFileAppender.html" title="class in org.apache.log4j.rolling">RollingFileAppender</A>, <A HREF="../../../../org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml">XSLTLayout</A>, <A HREF="../../../../org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras">XSLTLayout</A></DD> </DL> <HR> <DL> @@ -228,6 +228,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHO <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/XSLTLayout.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/XSLTLayout.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/XSLTLayout.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/XSLTLayout.html index b57d8cb25ac..11f5a7abde5 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/XSLTLayout.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/XSLTLayout.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:37 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -XSLTLayout (Apache Extras Companion for log4j 1.2. 1.0 API) +XSLTLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ XSLTLayout (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="XSLTLayout (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="XSLTLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -432,7 +432,7 @@ public void <B>activateOptions</B>()</PRE> <DD> <P> <DD><DL> -<DT><B>Specified by:</B><DD><CODE>activateOptions</CODE> in interface <CODE>org.apache.log4j.spi.OptionHandler</CODE><DT><B>Specified by:</B><DD><CODE>activateOptions</CODE> in class <CODE>org.apache.log4j.Layout</CODE></DL> +<DT><B>Specified by:</B><DD><CODE>activateOptions</CODE> in interface <CODE>org.apache.log4j.spi.OptionHandler</CODE></DL> </DD> <DD><DL> </DL> @@ -592,6 +592,6 @@ DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&n <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html index 3ce25133838..36c7b4a13db 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/class-use/UnrecognizedElementHandler.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Interface org.apache.log4j.xml.UnrecognizedElementHandler (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Interface org.apache.log4j.xml.UnrecognizedElementHandler (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Interface org.apache.log4j.xml.UnrecognizedElementHandler (Apache Extras function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Interface org.apache.log4j.xml.UnrecognizedElementHandler (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Interface org.apache.log4j.xml.UnrecognizedElementHandler (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -147,6 +147,15 @@ Uses of <A HREF="../../../../../org/apache/log4j/xml/UnrecognizedElementHandler. <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicy</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CompositeTriggeringPolicy determines if rolling should be triggered + by evaluating the current event against a set of triggering policies.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html" title="class in org.apache.log4j.rolling">FilterBasedTriggeringPolicy</A></B></CODE> <BR> @@ -245,6 +254,6 @@ Uses of <A HREF="../../../../../org/apache/log4j/xml/UnrecognizedElementHandler. <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/class-use/XSLTLayout.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/class-use/XSLTLayout.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/class-use/XSLTLayout.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/class-use/XSLTLayout.html index 6fa7d1478a3..3c7e2ec4512 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/class-use/XSLTLayout.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/class-use/XSLTLayout.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Class org.apache.log4j.xml.XSLTLayout (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Class org.apache.log4j.xml.XSLTLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Class org.apache.log4j.xml.XSLTLayout (Apache Extras Companion for log4j function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Class org.apache.log4j.xml.XSLTLayout (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Class org.apache.log4j.xml.XSLTLayout (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -140,6 +140,6 @@ No usage of org.apache.log4j.xml.XSLTLayout <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-frame.html similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-frame.html index 290cbfae358..bafdc59f4d4 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.xml (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.xml (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-summary.html index fe657f86c96..982a966e6b6 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.xml (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.xml (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.xml (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.xml (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.xml (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -170,6 +170,6 @@ Package org.apache.log4j.xml <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-tree.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-tree.html index f01dc54c883..0a72824f7a7 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -org.apache.log4j.xml Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +org.apache.log4j.xml Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ org.apache.log4j.xml Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="org.apache.log4j.xml Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="org.apache.log4j.xml Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -158,6 +158,6 @@ Interface Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-use.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-use.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-use.html index e8c8b2018e2..81711e65eb0 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/org/apache/log4j/xml/package-use.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/org/apache/log4j/xml/package-use.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Uses of Package org.apache.log4j.xml (Apache Extras Companion for log4j 1.2. 1.0 API) +Uses of Package org.apache.log4j.xml (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Uses of Package org.apache.log4j.xml (Apache Extras Companion for log4j 1.2. 1.0 function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Uses of Package org.apache.log4j.xml (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Uses of Package org.apache.log4j.xml (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -210,6 +210,6 @@ Classes in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.a <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/overview-frame.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/overview-frame.html similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/overview-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/overview-frame.html index 29a1bb9cd18..8fcd5c4e08a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/overview-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/overview-frame.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Overview List (Apache Extras Companion for log4j 1.2. 1.0 API) +Overview List (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/overview-summary.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/overview-summary.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/overview-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/overview-summary.html index 69ec7f25613..9aeb71621b3 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/overview-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/overview-summary.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Overview (Apache Extras Companion for log4j 1.2. 1.0 API) +Overview (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Overview (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Overview (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Overview (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -82,7 +82,7 @@ function windowTitle() <HR> <CENTER> <H1> -Apache Extras Companion for log4j 1.2. 1.0 API +Apache Extras Companion™ for Apache log4j™. 1.1 API </H1> </CENTER> @@ -192,6 +192,6 @@ Apache Extras Companion for log4j 1.2. 1.0 API <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/overview-tree.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/overview-tree.html similarity index 83% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/overview-tree.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/overview-tree.html index 3a3f604f42a..bb1fb7625ac 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/overview-tree.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/overview-tree.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:39 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) +Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Class Hierarchy (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -95,18 +95,19 @@ Class Hierarchy <LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/AbstractRule.html" title="class in org.apache.log4j.rule"><B>AbstractRule</B></A> (implements org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/Rule.html" title="interface in org.apache.log4j.rule">Rule</A>, java.io.Serializable) <UL> <LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/AndRule.html" title="class in org.apache.log4j.rule"><B>AndRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/ColorRule.html" title="class in org.apache.log4j.rule"><B>ColorRule</B></A> (implements java.io.Serializable) -<LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/EqualsRule.html" title="class in org.apache.log4j.rule"><B>EqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule"><B>ExistsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/ExpressionRule.html" title="class in org.apache.log4j.rule"><B>ExpressionRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule"><B>InequalityRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>LevelEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule"><B>LikeRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule"><B>NotEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule"><B>NotRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule"><B>OrRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/PartialTextMatchRule.html" title="class in org.apache.log4j.rule"><B>PartialTextMatchRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule"><B>TimestampEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule"><B>TimestampInequalityRule</B></A></UL> +<LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/EqualsRule.html" title="class in org.apache.log4j.rule"><B>EqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/ExistsRule.html" title="class in org.apache.log4j.rule"><B>ExistsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/ExpressionRule.html" title="class in org.apache.log4j.rule"><B>ExpressionRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/InequalityRule.html" title="class in org.apache.log4j.rule"><B>InequalityRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/LevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>LevelEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/LikeRule.html" title="class in org.apache.log4j.rule"><B>LikeRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/NotEqualsRule.html" title="class in org.apache.log4j.rule"><B>NotEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule"><B>NotLevelEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/NotRule.html" title="class in org.apache.log4j.rule"><B>NotRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/OrRule.html" title="class in org.apache.log4j.rule"><B>OrRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/PartialTextMatchRule.html" title="class in org.apache.log4j.rule"><B>PartialTextMatchRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/TimestampEqualsRule.html" title="class in org.apache.log4j.rule"><B>TimestampEqualsRule</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/TimestampInequalityRule.html" title="class in org.apache.log4j.rule"><B>TimestampInequalityRule</B></A></UL> <LI TYPE="circle">org.apache.log4j.rolling.helper.<A HREF="org/apache/log4j/rolling/helper/ActionBase.html" title="class in org.apache.log4j.rolling.helper"><B>ActionBase</B></A> (implements org.apache.log4j.rolling.helper.<A HREF="org/apache/log4j/rolling/helper/Action.html" title="interface in org.apache.log4j.rolling.helper">Action</A>) <UL> <LI TYPE="circle">org.apache.log4j.rolling.helper.<A HREF="org/apache/log4j/rolling/helper/CompositeAction.html" title="class in org.apache.log4j.rolling.helper"><B>CompositeAction</B></A><LI TYPE="circle">org.apache.log4j.rolling.helper.<A HREF="org/apache/log4j/rolling/helper/FileRenameAction.html" title="class in org.apache.log4j.rolling.helper"><B>FileRenameAction</B></A><LI TYPE="circle">org.apache.log4j.rolling.helper.<A HREF="org/apache/log4j/rolling/helper/GZCompressAction.html" title="class in org.apache.log4j.rolling.helper"><B>GZCompressAction</B></A><LI TYPE="circle">org.apache.log4j.rolling.helper.<A HREF="org/apache/log4j/rolling/helper/ZipCompressAction.html" title="class in org.apache.log4j.rolling.helper"><B>ZipCompressAction</B></A></UL> <LI TYPE="circle">org.apache.log4j.AppenderSkeleton (implements org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler) <UL> -<LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/SoundAppender.html" title="class in org.apache.log4j.varia"><B>SoundAppender</B></A><LI TYPE="circle">org.apache.log4j.WriterAppender<UL> +<LI TYPE="circle">org.apache.log4j.extras.<A HREF="org/apache/log4j/extras/SoundAppender.html" title="class in org.apache.log4j.extras"><B>SoundAppender</B></A><LI TYPE="circle">org.apache.log4j.varia.<A HREF="org/apache/log4j/varia/SoundAppender.html" title="class in org.apache.log4j.varia"><B>SoundAppender</B></A><LI TYPE="circle">org.apache.log4j.WriterAppender<UL> <LI TYPE="circle">org.apache.log4j.FileAppender<UL> <LI TYPE="circle">org.apache.log4j.rolling.<A HREF="org/apache/log4j/rolling/RollingFileAppender.html" title="class in org.apache.log4j.rolling"><B>RollingFileAppender</B></A> (implements org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A>) </UL> </UL> </UL> +<LI TYPE="circle">org.apache.log4j.rolling.<A HREF="org/apache/log4j/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.log4j.rolling"><B>CompositeTriggeringPolicy</B></A> (implements org.apache.log4j.rolling.<A HREF="org/apache/log4j/rolling/TriggeringPolicy.html" title="interface in org.apache.log4j.rolling">TriggeringPolicy</A>, org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A>) <LI TYPE="circle">org.apache.log4j.extras.<A HREF="org/apache/log4j/extras/DOMConfigurator.html" title="class in org.apache.log4j.extras"><B>DOMConfigurator</B></A> (implements org.apache.log4j.spi.Configurator) <LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/FileDatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>FileDatePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.spi.Filter (implements org.apache.log4j.spi.OptionHandler) <UL> @@ -118,12 +119,15 @@ Class Hierarchy <LI TYPE="circle">java.text.DateFormat<UL> <LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/CachedDateFormat.html" title="class in org.apache.log4j.pattern"><B>CachedDateFormat</B></A></UL> </UL> -<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><B>FormattingInfo</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule"><B>InFixToPostFix</B></A><LI TYPE="circle">org.apache.log4j.Layout (implements org.apache.log4j.spi.OptionHandler) +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/FormattingInfo.html" title="class in org.apache.log4j.pattern"><B>FormattingInfo</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/InFixToPostFix.html" title="class in org.apache.log4j.rule"><B>InFixToPostFix</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/InFixToPostFix.CustomTokenizer.html" title="class in org.apache.log4j.rule"><B>InFixToPostFix.CustomTokenizer</B></A><LI TYPE="circle">org.apache.log4j.Layout (implements org.apache.log4j.spi.OptionHandler) <UL> <LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/EnhancedPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedPatternLayout</B></A><LI TYPE="circle">org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/XSLTLayout.html" title="class in org.apache.log4j.xml"><B>XSLTLayout</B></A> (implements org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A>) +<LI TYPE="circle">org.apache.log4j.extras.<A HREF="org/apache/log4j/extras/XSLTLayout.html" title="class in org.apache.log4j.extras"><B>XSLTLayout</B></A> (implements org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/UnrecognizedElementHandler.html" title="interface in org.apache.log4j.xml">UnrecognizedElementHandler</A>) </UL> <LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/LevelInequalityRule.html" title="class in org.apache.log4j.rule"><B>LevelInequalityRule</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LogEvent.html" title="class in org.apache.log4j.pattern"><B>LogEvent</B></A> (implements java.io.Serializable) -<LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/LoggingEventFieldResolver.html" title="class in org.apache.log4j.spi"><B>LoggingEventFieldResolver</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>LogMF</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>LogSF</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><B>MDCKeySetExtractor</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><B>NameAbbreviator</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><B>PatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.spi.<A HREF="org/apache/log4j/spi/LoggingEventFieldResolver.html" title="class in org.apache.log4j.spi"><B>LoggingEventFieldResolver</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LogXF.html" title="class in org.apache.log4j"><B>LogXF</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LogMF.html" title="class in org.apache.log4j"><B>LogMF</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LogSF.html" title="class in org.apache.log4j"><B>LogSF</B></A></UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/MDCKeySetExtractor.html" title="class in org.apache.log4j.helpers"><B>MDCKeySetExtractor</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/NameAbbreviator.html" title="class in org.apache.log4j.pattern"><B>NameAbbreviator</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/PatternConverter.html" title="class in org.apache.log4j.pattern"><B>PatternConverter</B></A><UL> <LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/IntegerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>IntegerPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LoggingEventPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LoggingEventPatternConverter</B></A><UL> <LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/DatePatternConverter.html" title="class in org.apache.log4j.pattern"><B>DatePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/FileLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>FileLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/FullLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>FullLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LevelPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LevelPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LineLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LineLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LineSeparatorPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LineSeparatorPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LiteralPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LiteralPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/MessagePatternConverter.html" title="class in org.apache.log4j.pattern"><B>MessagePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/MethodLocationPatternConverter.html" title="class in org.apache.log4j.pattern"><B>MethodLocationPatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/NamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>NamePatternConverter</B></A><UL> <LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/ClassNamePatternConverter.html" title="class in org.apache.log4j.pattern"><B>ClassNamePatternConverter</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/LoggerPatternConverter.html" title="class in org.apache.log4j.pattern"><B>LoggerPatternConverter</B></A></UL> @@ -131,11 +135,12 @@ Class Hierarchy </UL> <LI TYPE="circle">org.apache.log4j.helpers.PatternConverter<UL> <LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/BridgePatternConverter.html" title="class in org.apache.log4j.pattern"><B>BridgePatternConverter</B></A></UL> -<LI TYPE="circle">org.apache.log4j.helpers.PatternParser<UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>PatternParser</B></A><LI TYPE="circle">org.apache.log4j.helpers.PatternParser<UL> <LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/BridgePatternParser.html" title="class in org.apache.log4j.pattern"><B>BridgePatternParser</B></A></UL> -<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/PatternParser.html" title="class in org.apache.log4j.pattern"><B>PatternParser</B></A><LI TYPE="circle">org.apache.log4j.Priority<UL> -<LI TYPE="circle">org.apache.log4j.Level<UL> -<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers"><B>UtilLoggingLevel</B></A></UL> +<LI TYPE="circle">org.apache.log4j.Priority<UL> +<LI TYPE="circle">org.apache.log4j.Level (implements java.io.Serializable) +<UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers"><B>UtilLoggingLevel</B></A><LI TYPE="circle">org.apache.log4j.extras.<A HREF="org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras"><B>UtilLoggingLevel</B></A></UL> </UL> <LI TYPE="circle">org.apache.log4j.rolling.<A HREF="org/apache/log4j/rolling/RollingPolicyBase.html" title="class in org.apache.log4j.rolling"><B>RollingPolicyBase</B></A> (implements org.apache.log4j.spi.OptionHandler, org.apache.log4j.rolling.<A HREF="org/apache/log4j/rolling/RollingPolicy.html" title="interface in org.apache.log4j.rolling">RollingPolicy</A>) <UL> @@ -208,6 +213,6 @@ Interface Hierarchy <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/package-list b/thirdparty/apache-log4j-extras-1.1/site/apidocs/package-list similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/package-list rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/package-list diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/packages b/thirdparty/apache-log4j-extras-1.1/site/apidocs/packages similarity index 84% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/packages rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/packages index 5dee5b07ce2..ebb546744c8 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/packages +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/packages @@ -1,11 +1,11 @@ -org.apache.log4j.xml -org.apache.log4j.helpers -org.apache.log4j.varia -org.apache.log4j.filter -org.apache.log4j.extras -org.apache.log4j.rolling.helper org.apache.log4j.rolling +org.apache.log4j.rolling.helper +org.apache.log4j +org.apache.log4j.pattern +org.apache.log4j.xml +org.apache.log4j.filter +org.apache.log4j.helpers +org.apache.log4j.extras org.apache.log4j.rule org.apache.log4j.spi -org.apache.log4j.pattern -org.apache.log4j \ No newline at end of file +org.apache.log4j.varia \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/resources/inherit.gif b/thirdparty/apache-log4j-extras-1.1/site/apidocs/resources/inherit.gif new file mode 100644 index 0000000000000000000000000000000000000000..c814867a13deb0ca7ea2156c6ca1d5a03372af7e GIT binary patch literal 57 zcmZ?wbhEHb<Y(YxXkcLY|NlP&1A`6_Gk`=Gm?T>IIT!9-C*e{wE9>Kx3D)-;0v)C; KYxQGgum%9JOA&7X literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.0/site/apidocs/serialized-form.html b/thirdparty/apache-log4j-extras-1.1/site/apidocs/serialized-form.html similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/site/apidocs/serialized-form.html rename to thirdparty/apache-log4j-extras-1.1/site/apidocs/serialized-form.html index 496740e495b..9e87c874ceb 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/apidocs/serialized-form.html +++ b/thirdparty/apache-log4j-extras-1.1/site/apidocs/serialized-form.html @@ -2,13 +2,13 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0) --> -<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:38 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> -Serialized Form (Apache Extras Companion for log4j 1.2. 1.0 API) +Serialized Form (Apache Extras Companion™ for Apache log4j™. 1.1 API) </TITLE> -<META NAME="date" CONTENT="2007-08-25"> +<META NAME="date" CONTENT="2010-11-15"> <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> @@ -16,7 +16,7 @@ Serialized Form (Apache Extras Companion for log4j 1.2. 1.0 API) function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="Serialized Form (Apache Extras Companion for log4j 1.2. 1.0 API)"; + parent.document.title="Serialized Form (Apache Extras Companion™ for Apache log4j™. 1.1 API)"; } } </SCRIPT> @@ -86,6 +86,99 @@ Serialized Form</H1> </CENTER> <HR SIZE="4" NOSHADE> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.Level"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class org.apache.log4j.Level extends org.apache.log4j.Priority implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>3491141966387921974L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(java.io.ObjectInputStream&nbsp;arg0) + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(java.io.ObjectOutputStream&nbsp;arg0) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DD> +</DL> +</DL> +<HR> +<A NAME="readResolve()"><!-- --></A><H3> +readResolve</H3> +<PRE> +private java.lang.Object <B>readResolve</B>() + throws java.io.ObjectStreamException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.ObjectStreamException</CODE></DD> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.extras</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.extras.UtilLoggingLevel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/extras/UtilLoggingLevel.html" title="class in org.apache.log4j.extras">org.apache.log4j.extras.UtilLoggingLevel</A> extends org.apache.log4j.Level implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>909301162611820211L + +<P> +<HR SIZE="4" NOSHADE> + <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> <TH ALIGN="center"><FONT SIZE="+2"> @@ -102,6 +195,9 @@ Serialized Form</H1> </TR> </TABLE> +<P> +<B>serialVersionUID:&nbsp;</B>-388856345976723342L + <P> <P> @@ -113,6 +209,9 @@ Serialized Form</H1> </TR> </TABLE> +<P> +<B>serialVersionUID:&nbsp;</B>5547637772208514971L + <P> <A NAME="serializedForm"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> @@ -140,6 +239,9 @@ java.lang.String[] <B>shortMonths</B></PRE> </TR> </TABLE> +<P> +<B>serialVersionUID:&nbsp;</B>-759840745298755296L + <P> <P> @@ -151,6 +253,9 @@ java.lang.String[] <B>shortMonths</B></PRE> </TR> </TABLE> +<P> +<B>serialVersionUID:&nbsp;</B>7055751607085611984L + <P> <A NAME="serializedForm"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> @@ -168,6 +273,20 @@ long <B>startTime</B></PRE> <DL> </DL> </DL> + +<P> +<A NAME="org.apache.log4j.helpers.UtilLoggingLevel"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/helpers/UtilLoggingLevel.html" title="class in org.apache.log4j.helpers">org.apache.log4j.helpers.UtilLoggingLevel</A> extends org.apache.log4j.Level implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>909301162611820211L + +<P> <HR SIZE="4" NOSHADE> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> @@ -186,6 +305,9 @@ long <B>startTime</B></PRE> </TR> </TABLE> +<P> +<B>serialVersionUID:&nbsp;</B>1L + <P> <A NAME="serializedForm"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> @@ -909,6 +1031,58 @@ java.lang.String <B>value</B></PRE> </DL> </DL> +<P> +<A NAME="org.apache.log4j.rule.NotLevelEqualsRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/rule/NotLevelEqualsRule.html" title="class in org.apache.log4j.rule">org.apache.log4j.rule.NotLevelEqualsRule</A> extends <A HREF="org/apache/log4j/rule/AbstractRule.html" title="class in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-3638386582899583994L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(java.io.ObjectInputStream&nbsp;in) + throws java.io.IOException</PRE> +<DL> +<DD>Deserialize the state of the object. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> - if error in reading stream for deserialization.</DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(java.io.ObjectOutputStream&nbsp;out) + throws java.io.IOException</PRE> +<DL> +<DD>Serialize the state of the object. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> - if error in writing stream during serialization.</DD> +</DL> +</DL> + <P> <A NAME="org.apache.log4j.rule.NotRule"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> @@ -1442,6 +1616,6 @@ java.lang.String[] <B>rep</B></PRE> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> -Copyright &copy; 2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> </BODY> </HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/apidocs/stylesheet.css b/thirdparty/apache-log4j-extras-1.1/site/apidocs/stylesheet.css new file mode 100644 index 00000000000..6ea9e516161 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/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/thirdparty/apache-log4j-extras-1.1/site/changes-report.html b/thirdparty/apache-log4j-extras-1.1/site/changes-report.html new file mode 100644 index 00000000000..30c3dccd637 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/changes-report.html @@ -0,0 +1,322 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - apache-log4j-extras</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <strong>Changes</strong> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>apache-log4j-extras</h2> +<a name="apache-log4j-extras"></a><div class="section"><h3>Release History</h3> +<a name="Release_History"></a><table class="bodyTable"><tr class="a"><th>Version</th> +<th>Date</th> +<th>Description</th> +</tr> +<tr class="b"><td><a href="#a1.1">1.1</a></td> +<td>2010-11-19</td> +<td>Maintenance release</td> +</tr> +<tr class="a"><td><a href="#a1.0">1.0</a></td> +<td>2007-08-25</td> +<td>Initial release</td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.1 - 2010-11-19</h3> +<a name="a1.1"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Mangled source-repository.html Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43312" class="externalLink">43312</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Extra NPE error message when using missing appender class with DOMConfigurator. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=44899" class="externalLink">44899</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Track changes of default timezone in EnhancedPatternLayout's %d conversion pattern. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46046" class="externalLink">46046</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>DOMConfigurator.configure(URL) fails on JRE 1.5.0_16. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=45704" class="externalLink">45704</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Misuse of &quot;it's&quot; in Javadoc for EnhancedPatternLayout. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46741" class="externalLink">46741</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Leaving out %throwable in ConversionPattern adds throwable to logging message regardless. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=46741" class="externalLink">46741</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Unit tests fail for system dates after 2009-12-31 Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48531" class="externalLink">48531</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>LogMF performance improvement for number and date types. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48778" class="externalLink">48778</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>LogSF did not support \\{ escape sequence. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48910" class="externalLink">48910</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>LogMF did not optimize simple patterns on multiple parameter log requests. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48911" class="externalLink">48911</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>EnhancedPatternLayout tests conflict with PatternLayout tests. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48927" class="externalLink">48927</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add %p{-2} pattern to EnhancedPatternLayout to drop two leading elements from name. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49010" class="externalLink">49010</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add %throwable{n} and {-n} pattern to EnhancedPatternLayout to print n or drop last n lines. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48902" class="externalLink">48902</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Improve javadoc for LogMF, LogSF, LogXF Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49812" class="externalLink">49812</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>CachedDateFormatTest fails on Apache Harmony. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49007" class="externalLink">49007</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Unused imports and variables in test code cause gcj compile warnings. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48953" class="externalLink">48953</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add OSGi packaging info. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43282" class="externalLink">43282</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>DOMConfigurator does not close input stream when configured based on URL. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=48588" class="externalLink">48588</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>javadoc.jar was missing NOTICE and LICENSE. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=49078" class="externalLink">49078</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Add right truncation modifier to EnhancedPatternLayout. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=50039" class="externalLink">50039</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/icon_help_sml.gif" alt="?" /></td> +<td>Update for Apache Project Branding Requirements. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=50188" class="externalLink">50188</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +<div class="section"><h3>Release 1.0 - 2007-08-25</h3> +<a name="a1.0"></a><table class="bodyTable"><tr class="b"><th>Type</th> +<th>Changes</th> +<th>By</th> +</tr> +<tr class="a"><td><img src="images/add.gif" alt="add" /></td> +<td>Create an &quot;extras&quot; companion for log4j 1.2 Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42783" class="externalLink">42783</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/add.gif" alt="add" /></td> +<td>Backport log4j 1.3 rolling file appender for use with log4j 1.2. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42251" class="externalLink">42251</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/add.gif" alt="add" /></td> +<td>ExpressionFilter backport. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42099" class="externalLink">42099</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/add.gif" alt="add" /></td> +<td>Add TimeFilter. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43151" class="externalLink">43151</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/add.gif" alt="add" /></td> +<td>Add XSLTLayout. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=43077" class="externalLink">43077</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/add.gif" alt="add" /></td> +<td>Parameterized logging for log4j 1.2. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42589" class="externalLink">42589</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/add.gif" alt="add" /></td> +<td>FilterBasedTriggeringPolicy now usable with SMTPAppender. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32572" class="externalLink">32572</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="b"><td><img src="images/add.gif" alt="add" /></td> +<td>Avoid Turkish-i problem in ExpressionFilter. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40937" class="externalLink">40937</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +<tr class="a"><td><img src="images/add.gif" alt="add" /></td> +<td>Enhance DOMConfigurator to delegate unrecognized elements to created objects. Fixes <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=42257" class="externalLink">42257</a>.</td> +<td><a href="team-list.html#null"></a></td> +</tr> +</table> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/cpd.html b/thirdparty/apache-log4j-extras-1.1/site/cpd.html new file mode 100644 index 00000000000..9cf8597a503 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/cpd.html @@ -0,0 +1,2561 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - CPD Results</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <strong>Duplication</strong> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>CPD Results</h2> +<p>The following document contains the results of PMD's <a href="http://pmd.sourceforge.net/cpd.html" class="externalLink">CPD</a> 4.2.5.</p> +</div> +<div class="section"><h2>Duplications</h2> +<table class="bodyTable"><tr class="a"><th>File</th> +<th>Line</th> +</tr> +<tr class="b"><td>org/apache/log4j/LogMF.java</td> +<td><a href="./xref/org/apache/log4j/LogMF.html#270">270</a></td> +</tr> +<tr class="a"><td>org/apache/log4j/LogSF.java</td> +<td><a href="./xref/org/apache/log4j/LogSF.html#135">135</a></td> +</tr> +<tr class="b"><td colspan='2'><div class="source"><pre> private static final String FQCN = LogSF.class.getName(); + + /** + * Equivalent of Logger.forcedLog. + * + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param msg message, may be null. + */ + private static void forcedLog(final Logger logger, + final Level level, + final String msg) { + logger.callAppenders(new LoggingEvent(FQCN, logger, level, msg, null)); + } + + /** + * Equivalent of Logger.forcedLog. + * + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param msg message, may be null. + * @param t throwable. + */ + private static void forcedLog(final Logger logger, + final Level level, + final String msg, + final Throwable t) { + logger.callAppenders(new LoggingEvent(FQCN, logger, level, msg, t)); + } + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be + * formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at error level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void error(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.ERROR)) { + forcedLog(logger, Level.ERROR, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at fatal level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void fatal(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.FATAL)) { + forcedLog(logger, Level.FATAL, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be + * formatted and substituted. + */ + public static void trace(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, arguments), t); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void debug(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, arguments), t); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void info(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, arguments), t); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void warn(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, arguments), t); + } + } + + /** + * Log a parameterized message at error level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void error(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.ERROR)) { + forcedLog(logger, Level.ERROR, format(pattern, arguments), t); + } + } + + /** + * Log a parameterized message at fatal level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void fatal(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.FATAL)) { + forcedLog(logger, Level.FATAL, format(pattern, arguments), t); + } + } + + + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final boolean argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final char argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final byte argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final short argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final int argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final long argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final float argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final double argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final Object argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, argument)); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final Object arg0, final Object arg1) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, + format(pattern, toArray(arg0, arg1))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, + format(pattern, toArray(arg0, arg1, arg2))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + * @param arg3 a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2, + final Object arg3) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, + format(pattern, toArray(arg0, arg1, arg2, arg3))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final boolean argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final char argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final byte argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final short argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final int argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final long argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final float argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final double argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final Object argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, argument)); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final Object arg0, final Object arg1) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, + format(pattern, toArray(arg0, arg1))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, + format(pattern, toArray(arg0, arg1, arg2))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + * @param arg3 a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2, + final Object arg3) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, + format(pattern, toArray(arg0, arg1, arg2, arg3))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final boolean argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final char argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final byte argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final short argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final int argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final long argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final float argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final double argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final Object argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, argument)); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final Object arg0, final Object arg1) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, toArray(arg0, arg1))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, + toArray(arg0, arg1, arg2))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + * @param arg3 a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2, + final Object arg3) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, + toArray(arg0, arg1, arg2, arg3))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final boolean argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final char argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final byte argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final short argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final int argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final long argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final float argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final double argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final Object argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, argument)); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final Object arg0, final Object arg1) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, + format(pattern, toArray(arg0, arg1))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, + format(pattern, toArray(arg0, arg1, arg2))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + * @param arg3 a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2, + final Object arg3) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, + toArray(arg0, arg1, arg2, arg3))); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param parameters parameters to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final Object[] parameters) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, parameters)); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param parameters parameters to the log message. + */ + public static void log(final Logger logger, + final Level level, + final Throwable t, + final String pattern, + final Object[] parameters) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, parameters), t); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final Object param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(param1))); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final boolean param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final byte param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final char param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final short param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final int param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final long param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final float param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final double param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final Object arg0, final Object arg1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(arg0, arg1))); + } + } + + /** + * Log a parameterized message at specifed level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final Object arg0, final Object arg1, final Object arg2) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(arg0, arg1, arg2))); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param level level, may not be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + * @param arg3 a value to be formatted and substituted. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final Object arg0, final Object arg1, final Object arg2, + final Object arg3) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, format(pattern, + toArray(arg0, arg1, arg2, arg3))); + } + } + + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param parameters parameters to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final Object[] parameters) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, parameters)); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param t throwable, may be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param parameters parameters to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final Throwable t, + final String bundleName, + final String key, + final Object[] parameters) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, parameters), t); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final Object param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(param1))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final boolean param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final char param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final byte param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final short param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final int param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final long param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final float param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final double param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param0 Parameter to the log message. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final Object param0, + final Object param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(param0, param1))); + } + } + + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param0 Parameter to the log message. + * @param param1 Parameter to the log message. + * @param param2 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final Object param0, + final Object param1, + final Object param2) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(param0, param1, param2))); + } + } + + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param0 Parameter to the log message. + * @param param1 Parameter to the log message. + * @param param2 Parameter to the log message. + * @param param3 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final Object param0, + final Object param1, + final Object param2, + final Object param3) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, + toArray(param0, param1, param2, param3))); + } + } +}</pre> +</div> +</td></tr> +</table> +<table class="bodyTable"><tr class="a"><th>File</th> +<th>Line</th> +</tr> +<tr class="b"><td>org/apache/log4j/extras/XSLTLayout.java</td> +<td><a href="./xref/org/apache/log4j/extras/XSLTLayout.html#100">100</a></td> +</tr> +<tr class="a"><td>org/apache/log4j/xml/XSLTLayout.java</td> +<td><a href="./xref/org/apache/log4j/xml/XSLTLayout.html#96">96</a></td> +</tr> +<tr class="b"><td colspan='2'><div class="source"><pre> implements UnrecognizedElementHandler { + /** + * Namespace for XSLT. + */ + private static final String XSLT_NS = &quot;http://www.w3.org/1999/XSL/Transform&quot;; + /** + * Namespace for log4j events. + */ + private static final String LOG4J_NS = &quot;http://jakarta.apache.org/log4j/&quot;; + /** + * Whether location information should be written. + */ + private boolean locationInfo = false; + /** + * media-type (mime type) extracted from XSLT transform. + */ + private String mediaType = &quot;text/plain&quot;; + /** + * Encoding extracted from XSLT transform. + */ + private Charset encoding; + /** + * Transformer factory. + */ + private SAXTransformerFactory transformerFactory; + /** + * XSLT templates. + */ + private Templates templates; + /** + * Output stream. + */ + private final ByteArrayOutputStream outputStream; + /** + * Whether throwable information should be ignored. + */ + private boolean ignoresThrowable = false; + /** + * Whether properties should be extracted. + */ + private boolean properties = true; + /** + * Whether activateOptions has been called. + */ + private boolean activated = false; + + /** + * DateFormat for UTC time. + */ + private final CachedDateFormat utcDateFormat; + + /** + * Default constructor. + * + */ + public XSLTLayout() { + outputStream = new ByteArrayOutputStream(); + transformerFactory = (SAXTransformerFactory) + TransformerFactory.newInstance(); + + SimpleDateFormat zdf = new SimpleDateFormat(&quot;yyyy-MM-dd'T'HH:mm:ss.SSS'Z'&quot;); + zdf.setTimeZone(TimeZone.getTimeZone(&quot;UTC&quot;)); + utcDateFormat = new CachedDateFormat(zdf, 1000); + } + + /** + * {@inheritDoc} + */ + public synchronized String getContentType() { + return mediaType; + } + + /** + * The &lt;b&gt;LocationInfo &lt;/b&gt; option takes a boolean value. By default, it is + * set to false which means there will be no location information output by + * this layout. If the the option is set to true, then the file name and line + * number of the statement at the origin of the log statement will be output. + * + * &lt;p&gt; + * If you are embedding this layout within an {@link + * org.apache.log4j.net.SMTPAppender} then make sure to set the + * &lt;b&gt;LocationInfo &lt;/b&gt; option of that appender as well. + * + * @param flag new value. + */ + public synchronized void setLocationInfo(final boolean flag) { + locationInfo = flag; + } + + /** + * Gets whether location info should be output. + * @return if location is output. + */ + public synchronized boolean getLocationInfo() { + return locationInfo; + } + + /** + * Sets whether MDC key-value pairs should be output, default false. + * @param flag new value. + */ + public synchronized void setProperties(final boolean flag) { + properties = flag; + } + + /** + * Gets whether MDC key-value pairs should be output. + * @return true if MDC key-value pairs are output. + */ + public synchronized boolean getProperties() { + return properties; + } + + + /** {@inheritDoc} */ + public synchronized void activateOptions() { + if (templates == null) { + try { + InputStream is = XSLTLayout.class.getResourceAsStream(&quot;default.xslt&quot;); + StreamSource ss = new StreamSource(is); + templates = transformerFactory.newTemplates(ss); + encoding = Charset.forName(&quot;US-ASCII&quot;); + mediaType = &quot;text/plain&quot;; + } catch (Exception ex) { + LogLog.error(&quot;Error loading default.xslt&quot;, ex); + } + } + activated = true; + } + + /** + * Gets whether throwables should not be output. + * @return true if throwables should not be output. + */ + public synchronized boolean ignoresThrowable() { + return ignoresThrowable; + } + + /** + * Sets whether throwables should not be output. + * @param ignoresThrowable if true, throwables should not be output. + */ + public synchronized void setIgnoresThrowable(boolean ignoresThrowable) { + this.ignoresThrowable = ignoresThrowable; + } + + + + /** + * {@inheritDoc} + */ + public synchronized String format(final LoggingEvent event) { + if (!activated) { + activateOptions(); + } + if (templates != null &amp;&amp; encoding != null) { + outputStream.reset(); + + try { + TransformerHandler transformer = + transformerFactory.newTransformerHandler(templates); + + transformer.setResult(new StreamResult(outputStream)); + transformer.startDocument(); + + // + // event element + // + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute(null, &quot;logger&quot;, &quot;logger&quot;, + &quot;CDATA&quot;, event.getLoggerName()); + attrs.addAttribute(null, &quot;timestamp&quot;, &quot;timestamp&quot;, + &quot;CDATA&quot;, Long.toString(event.timeStamp)); + attrs.addAttribute(null, &quot;level&quot;, &quot;level&quot;, + &quot;CDATA&quot;, event.getLevel().toString()); + attrs.addAttribute(null, &quot;thread&quot;, &quot;thread&quot;, + &quot;CDATA&quot;, event.getThreadName()); + StringBuffer buf = new StringBuffer(); + utcDateFormat.format(event.timeStamp, buf); + attrs.addAttribute(null, &quot;time&quot;, &quot;time&quot;, &quot;CDATA&quot;, buf.toString()); + + + transformer.startElement(LOG4J_NS, &quot;event&quot;, &quot;event&quot;, attrs); + attrs.clear(); + + // + // message element + // + transformer.startElement(LOG4J_NS, &quot;message&quot;, &quot;message&quot;, attrs); + String msg = event.getRenderedMessage(); + if (msg != null &amp;&amp; msg.length() &gt; 0) { + transformer.characters(msg.toCharArray(), 0, msg.length()); + } + transformer.endElement(LOG4J_NS, &quot;message&quot;, &quot;message&quot;); + + // + // NDC element + // + String ndc = event.getNDC(); + if (ndc != null) { + transformer.startElement(LOG4J_NS, &quot;NDC&quot;, &quot;NDC&quot;, attrs); + char[] ndcChars = ndc.toCharArray(); + transformer.characters(ndcChars, 0, ndcChars.length); + transformer.endElement(LOG4J_NS, &quot;NDC&quot;, &quot;NDC&quot;); + } + + // + // throwable element unless suppressed + // + if (!ignoresThrowable) { + String[] s = event.getThrowableStrRep(); + if (s != null) { + transformer.startElement(LOG4J_NS, &quot;throwable&quot;, + &quot;throwable&quot;, attrs); + char[] nl = new char[] { '\n' }; + for (int i = 0; i &lt; s.length; i++) { + char[] line = s[i].toCharArray(); + transformer.characters(line, 0, line.length); + transformer.characters(nl, 0, nl.length); + } + transformer.endElement(LOG4J_NS, &quot;throwable&quot;, &quot;throwable&quot;); + } + } + + // + // location info unless suppressed + // + // + if (locationInfo) { + LocationInfo locationInfo = event.getLocationInformation(); + attrs.addAttribute(null, &quot;class&quot;, &quot;class&quot;, &quot;CDATA&quot;, + locationInfo.getClassName()); + attrs.addAttribute(null, &quot;method&quot;, &quot;method&quot;, &quot;CDATA&quot;, + locationInfo.getMethodName()); + attrs.addAttribute(null, &quot;file&quot;, &quot;file&quot;, &quot;CDATA&quot;, + locationInfo.getFileName()); + attrs.addAttribute(null, &quot;line&quot;, &quot;line&quot;, &quot;CDATA&quot;, + locationInfo.getLineNumber()); + transformer.startElement(LOG4J_NS, &quot;locationInfo&quot;, + &quot;locationInfo&quot;, attrs); + transformer.endElement(LOG4J_NS, &quot;locationInfo&quot;, + &quot;locationInfo&quot;); + } + + if (properties) { + // + // write MDC contents out as properties element + // + Set mdcKeySet = MDCKeySetExtractor.INSTANCE.getPropertyKeySet(event); + + if ((mdcKeySet != null) &amp;&amp; (mdcKeySet.size() &gt; 0)) { + attrs.clear(); + transformer.startElement(LOG4J_NS, + &quot;properties&quot;, &quot;properties&quot;, attrs); + Object[] keys = mdcKeySet.toArray(); + Arrays.sort(keys); + for (int i = 0; i &lt; keys.length; i++) { + String key = keys[i].toString(); + Object val = event.getMDC(key); + attrs.clear(); + attrs.addAttribute(null, &quot;name&quot;, &quot;name&quot;, &quot;CDATA&quot;, key); + attrs.addAttribute(null, &quot;value&quot;, &quot;value&quot;, + &quot;CDATA&quot;, val.toString()); + transformer.startElement(LOG4J_NS, + &quot;data&quot;, &quot;data&quot;, attrs); + transformer.endElement(LOG4J_NS, &quot;data&quot;, &quot;data&quot;); + } + } + } + + + transformer.endElement(LOG4J_NS, &quot;event&quot;, &quot;event&quot;); + transformer.endDocument(); + + String body = encoding.decode( + ByteBuffer.wrap(outputStream.toByteArray())).toString(); + outputStream.reset(); + // + // must remove XML declaration since it may + // result in erroneous encoding info + // if written by FileAppender in a different encoding + if (body.startsWith(&quot;&lt;?xml &quot;)) { + int endDecl = body.indexOf(&quot;?&gt;&quot;); + if (endDecl != -1) { + for(endDecl += 2; + endDecl &lt; body.length() &amp;&amp; + (body.charAt(endDecl) == '\n' || body.charAt(endDecl) == '\r'); + endDecl++); + return body.substring(endDecl); + } + } + return body; + } catch (Exception ex) { + LogLog.error(&quot;Error during transformation&quot;, ex); + return ex.toString(); + } + } + return &quot;No valid transform or encoding specified.&quot;; + } + + /** + * Sets XSLT transform. + * @param xsltdoc DOM document containing XSLT transform source, + * may be modified. + * @throws TransformerConfigurationException if transformer can not be + * created. + */ + public void setTransform(final Document xsltdoc) + throws TransformerConfigurationException { + // + // scan transform source for xsl:output elements + // and extract encoding, media (mime) type and output method + // + String encodingName = null; + mediaType = null; + String method = null; + NodeList nodes = xsltdoc.getElementsByTagNameNS( + XSLT_NS, + &quot;output&quot;); + for(int i = 0; i &lt; nodes.getLength(); i++) { + Element outputElement = (Element) nodes.item(i); + if (method == null || method.length() == 0) { + method = outputElement.getAttributeNS(null, &quot;method&quot;); + } + if (encodingName == null || encodingName.length() == 0) { + encodingName = outputElement.getAttributeNS(null, &quot;encoding&quot;); + } + if (mediaType == null || mediaType.length() == 0) { + mediaType = outputElement.getAttributeNS(null, &quot;media-type&quot;); + } + } + + if (mediaType == null || mediaType.length() == 0) { + if (&quot;html&quot;.equals(method)) { + mediaType = &quot;text/html&quot;; + } else if (&quot;xml&quot;.equals(method)) { + mediaType = &quot;text/xml&quot;; + } else { + mediaType = &quot;text/plain&quot;; + } + } + + // + // if encoding was not specified, + // add xsl:output encoding=US-ASCII to XSLT source + // + if (encodingName == null || encodingName.length() == 0) { + Element transformElement = xsltdoc.getDocumentElement(); + Element outputElement = xsltdoc. + createElementNS(XSLT_NS, &quot;output&quot;); + outputElement.setAttributeNS(null, &quot;encoding&quot;, &quot;US-ASCII&quot;); + transformElement.insertBefore(outputElement, transformElement.getFirstChild()); + encoding = Charset.forName(&quot;US-ASCII&quot;); + } else { + encoding = Charset.forName(encodingName); + } + + DOMSource transformSource = new DOMSource(xsltdoc); + + templates = transformerFactory.newTemplates(transformSource); + + } + + /** + * {@inheritDoc} + */ + public boolean parseUnrecognizedElement(final Element element, + final Properties props) + throws Exception { + if (XSLT_NS.equals(element.getNamespaceURI()) || + element.getNodeName().indexOf(&quot;transform&quot;) != -1 || + element.getNodeName().indexOf(&quot;stylesheet&quot;) != -1) { + // + // DOMConfigurator typically not namespace aware + // serialize tree and reparse. + ByteArrayOutputStream os = new ByteArrayOutputStream(); + DOMSource source = new DOMSource(element); + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + transformer.transform(source, new StreamResult(os)); + + ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); + DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); + domFactory.setNamespaceAware(true); + Document xsltdoc = domFactory.newDocumentBuilder().parse(is); + setTransform(xsltdoc); + return true; + } + return false; + } + + +}</pre> +</div> +</td></tr> +</table> +<table class="bodyTable"><tr class="a"><th>File</th> +<th>Line</th> +</tr> +<tr class="b"><td>org/apache/log4j/extras/UtilLoggingLevel.java</td> +<td><a href="./xref/org/apache/log4j/extras/UtilLoggingLevel.html#35">35</a></td> +</tr> +<tr class="a"><td>org/apache/log4j/helpers/UtilLoggingLevel.java</td> +<td><a href="./xref/org/apache/log4j/helpers/UtilLoggingLevel.html#32">32</a></td> +</tr> +<tr class="b"><td colspan='2'><div class="source"><pre>public class UtilLoggingLevel extends Level { + + /** + * Serialization version id. + */ + private static final long serialVersionUID = 909301162611820211L; + + /** + * Numerical value for SEVERE. + */ + public static final int SEVERE_INT = 17000; + /** + * Numerical value for WARNING. + */ + public static final int WARNING_INT = 16000; + /** + * Numerical value for INFO. + */ + public static final int INFO_INT = 15000; + /** + * Numerical value for CONFIG. + */ + public static final int CONFIG_INT = 14000; + /** + * Numerical value for FINE. + */ + public static final int FINE_INT = 13000; + /** + * Numerical value for FINER. + */ + public static final int FINER_INT = 12000; + /** + * Numerical value for FINEST. + */ + public static final int FINEST_INT = 11000; + /** + * Numerical value for UNKNOWN. + */ + public static final int UNKNOWN_INT = 10000; + + /** + * SEVERE. + */ + public static final UtilLoggingLevel SEVERE = + new UtilLoggingLevel(SEVERE_INT, &quot;SEVERE&quot;, 0); + /** + * WARNING. + */ + public static final UtilLoggingLevel WARNING = + new UtilLoggingLevel(WARNING_INT, &quot;WARNING&quot;, 4); + /** + * INFO. + */ + public static final UtilLoggingLevel INFO = + new UtilLoggingLevel(INFO_INT, &quot;INFO&quot;, 5); + /** + * CONFIG. + */ + public static final UtilLoggingLevel CONFIG = + new UtilLoggingLevel(CONFIG_INT, &quot;CONFIG&quot;, 6); + /** + * FINE. + */ + public static final UtilLoggingLevel FINE = + new UtilLoggingLevel(FINE_INT, &quot;FINE&quot;, 7); + /** + * FINER. + */ + public static final UtilLoggingLevel FINER = + new UtilLoggingLevel(FINER_INT, &quot;FINER&quot;, 8); + /** + * FINEST. + */ + public static final UtilLoggingLevel FINEST = + new UtilLoggingLevel(FINEST_INT, &quot;FINEST&quot;, 9); + + /** + * Create new instance. + * @param level numeric value for level. + * @param levelStr symbolic name for level. + * @param syslogEquivalent Equivalent syslog severity. + */ + protected UtilLoggingLevel(final int level, + final String levelStr, + final int syslogEquivalent) { + super(level, levelStr, syslogEquivalent); + } + + /** + * Convert an integer passed as argument to a level. If the + * conversion fails, then this method returns the specified default. + * @param val numeric value. + * @param defaultLevel level to be returned if no level matches + * numeric value. + * @return matching level or default level. + */ + public static UtilLoggingLevel toLevel(final int val, + final UtilLoggingLevel defaultLevel) { + switch (val) { + case SEVERE_INT: + return SEVERE; + + case WARNING_INT: + return WARNING; + + case INFO_INT: + return INFO; + + case CONFIG_INT: + return CONFIG; + + case FINE_INT: + return FINE; + + case FINER_INT: + return FINER; + + case FINEST_INT: + return FINEST; + + default: + return defaultLevel; + } + } + + /** + * Gets level matching numeric value. + * @param val numeric value. + * @return matching level or UtilLoggerLevel.FINEST if no match. + */ + public static Level toLevel(final int val) { + return toLevel(val, FINEST); + } + + /** + * Gets list of supported levels. + * @return list of supported levels. + */ + public static List getAllPossibleLevels() { + ArrayList list = new ArrayList(); + list.add(FINE); + list.add(FINER); + list.add(FINEST); + list.add(INFO); + list.add(CONFIG); + list.add(WARNING); + list.add(SEVERE); + return list; + } + + /** + * Get level with specified symbolic name. + * @param s symbolic name. + * @return matching level or Level.DEBUG if no match. + */ + public static Level toLevel(final String s) { + return toLevel(s, Level.DEBUG); + } + + + /** + * Get level with specified symbolic name. + * @param sArg symbolic name. + * @param defaultLevel level to return if no match. + * @return matching level or defaultLevel if no match. + */ + public static Level toLevel(final String sArg, + final Level defaultLevel) { + if (sArg == null) { + return defaultLevel; + } + + String s = sArg.toUpperCase(); + + if (s.equals(&quot;SEVERE&quot;)) { + return SEVERE; + } + + //if(s.equals(&quot;FINE&quot;)) return Level.FINE; + if (s.equals(&quot;WARNING&quot;)) { + return WARNING; + } + + if (s.equals(&quot;INFO&quot;)) { + return INFO; + } + + if (s.equals(&quot;CONFI&quot;)) { + return CONFIG; + } + + if (s.equals(&quot;FINE&quot;)) { + return FINE; + } + + if (s.equals(&quot;FINER&quot;)) { + return FINER; + } + + if (s.equals(&quot;FINEST&quot;)) { + return FINEST; + } + return defaultLevel; + } + +}</pre> +</div> +</td></tr> +</table> +<table class="bodyTable"><tr class="a"><th>File</th> +<th>Line</th> +</tr> +<tr class="b"><td>org/apache/log4j/rule/AndRule.java</td> +<td><a href="./xref/org/apache/log4j/rule/AndRule.html#101">101</a></td> +</tr> +<tr class="a"><td>org/apache/log4j/rule/OrRule.java</td> +<td><a href="./xref/org/apache/log4j/rule/OrRule.html#101">101</a></td> +</tr> +<tr class="b"><td colspan='2'><div class="source"><pre> if (result) { + for (Iterator iter = tempMatches1.entrySet().iterator();iter.hasNext();) { + Map.Entry entry = (Map.Entry)iter.next(); + Object key = entry.getKey(); + Set value = (Set)entry.getValue(); + Set mainSet = (Set) matches.get(key); + if (mainSet == null) { + mainSet = new HashSet(); + matches.put(key, mainSet); + } + mainSet.addAll(value); + } + for (Iterator iter = tempMatches2.entrySet().iterator();iter.hasNext();) { + Map.Entry entry = (Map.Entry)iter.next(); + Object key = entry.getKey(); + Set value = (Set)entry.getValue(); + Set mainSet = (Set) matches.get(key); + if (mainSet == null) { + mainSet = new HashSet(); + matches.put(key, mainSet); + } + mainSet.addAll(value); + } + } + return result; + } +}</pre> +</div> +</td></tr> +</table> +<table class="bodyTable"><tr class="a"><th>File</th> +<th>Line</th> +</tr> +<tr class="b"><td>org/apache/log4j/rule/LevelEqualsRule.java</td> +<td><a href="./xref/org/apache/log4j/rule/LevelEqualsRule.html#61">61</a></td> +</tr> +<tr class="a"><td>org/apache/log4j/rule/NotLevelEqualsRule.java</td> +<td><a href="./xref/org/apache/log4j/rule/NotLevelEqualsRule.html#61">61</a></td> +</tr> +<tr class="b"><td colspan='2'><div class="source"><pre> private NotLevelEqualsRule(final Level level) { + super(); + this.level = level; + } + + /** + * Populate list of levels. + */ + private static void populateLevels() { + levelList = new LinkedList(); + + levelList.add(Level.FATAL.toString()); + levelList.add(Level.ERROR.toString()); + levelList.add(Level.WARN.toString()); + levelList.add(Level.INFO.toString()); + levelList.add(Level.DEBUG.toString()); + Level trace = Level.toLevel(5000, null); + if (trace != null) { + levelList.add(trace.toString()); + } + } + + /** + * Create new rule. + * @param value name of level. + * @return instance of NotLevelEqualsRule. + */ + public static Rule getRule(final String value) { + Level thisLevel; + if (levelList.contains(value.toUpperCase())) { + thisLevel = Level.toLevel(value.toUpperCase()); + } else { + thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase()); + } + + return new NotLevelEqualsRule(thisLevel);</pre> +</div> +</td></tr> +</table> +<table class="bodyTable"><tr class="a"><th>File</th> +<th>Line</th> +</tr> +<tr class="b"><td>org/apache/log4j/rule/LevelEqualsRule.java</td> +<td><a href="./xref/org/apache/log4j/rule/LevelEqualsRule.html#106">106</a></td> +</tr> +<tr class="a"><td>org/apache/log4j/rule/NotLevelEqualsRule.java</td> +<td><a href="./xref/org/apache/log4j/rule/NotLevelEqualsRule.html#106">106</a></td> +</tr> +<tr class="b"><td colspan='2'><div class="source"><pre> boolean result = level.toInt() != eventLevel.toInt(); + if (result &amp;&amp; matches != null) { + Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); + if (entries == null) { + entries = new HashSet(); + matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); + } + entries.add(eventLevel); + } + return result; + } + + /** + * Deserialize the state of the object. + * + * @param in object input stream. + * + * @throws IOException if error in reading stream for deserialization. + */ + private void readObject(final java.io.ObjectInputStream in) + throws IOException { + populateLevels(); + boolean isUtilLogging = in.readBoolean(); + int levelInt = in.readInt(); + if (isUtilLogging) { + level = UtilLoggingLevel.toLevel(levelInt); + } else { + level = Level.toLevel(levelInt); + } + } + + /** + * Serialize the state of the object. + * + * @param out object output stream. + * + * @throws IOException if error in writing stream during serialization. + */ + private void writeObject(final java.io.ObjectOutputStream out) + throws IOException { + out.writeBoolean(level instanceof UtilLoggingLevel); + out.writeInt(level.toInt()); + } +}</pre> +</div> +</td></tr> +</table> +<table class="bodyTable"><tr class="a"><th>File</th> +<th>Line</th> +</tr> +<tr class="b"><td>org/apache/log4j/extras/SoundAppender.java</td> +<td><a href="./xref/org/apache/log4j/extras/SoundAppender.html#47">47</a></td> +</tr> +<tr class="a"><td>org/apache/log4j/varia/SoundAppender.java</td> +<td><a href="./xref/org/apache/log4j/varia/SoundAppender.html#44">44</a></td> +</tr> +<tr class="b"><td colspan='2'><div class="source"><pre>public final class SoundAppender extends AppenderSkeleton { + + private AudioClip clip; + private String audioURL; + + public SoundAppender() { + } + + /** + * Attempt to initialize the appender by creating a reference to an AudioClip. + * + * Will log a message if format is not supported, file not found, etc. + * + */ + public void activateOptions() { + /* + * AudioSystem.getAudioInputStream requires jdk 1.3, + * so we use applet.newaudioclip instead + * + */ + try { + clip = Applet.newAudioClip(new URL(audioURL)); + } catch (MalformedURLException mue) { + LogLog.error(&quot;unable to initialize SoundAppender&quot;, mue);} + if (clip == null) { + LogLog.error(&quot;Unable to initialize SoundAppender&quot;); + } + } + + /** + * Accessor + * + * @return audio file + */ + public String getAudioURL() { + return audioURL; + } + + /** + * Mutator - common format for a file-based url: + * file:///c:/path/someaudioclip.wav + * + * @param audioURL + */ + public void setAudioURL(String audioURL) { + this.audioURL = audioURL; + } + + /** + * Play the sound if an event is being processed + */ + protected void append(LoggingEvent event) { + if (clip != null) { + clip.play(); + } + } + + public void close() { + //nothing to do + } + + /** + * Gets whether appender requires a layout. + * @return false + */ + public boolean requiresLayout() { + return false; + } + +}</pre> +</div> +</td></tr> +</table> +<table class="bodyTable"><tr class="a"><th>File</th> +<th>Line</th> +</tr> +<tr class="b"><td>org/apache/log4j/rolling/helper/GZCompressAction.java</td> +<td><a href="./xref/org/apache/log4j/rolling/helper/GZCompressAction.html#60">60</a></td> +</tr> +<tr class="a"><td>org/apache/log4j/rolling/helper/ZipCompressAction.java</td> +<td><a href="./xref/org/apache/log4j/rolling/helper/ZipCompressAction.html#61">61</a></td> +</tr> +<tr class="b"><td colspan='2'><div class="source"><pre> public ZipCompressAction( + final File source, final File destination, final boolean deleteSource) { + if (source == null) { + throw new NullPointerException(&quot;source&quot;); + } + + if (destination == null) { + throw new NullPointerException(&quot;destination&quot;); + } + + this.source = source; + this.destination = destination; + this.deleteSource = deleteSource; + } + + /** + * Compress. + * @return true if successfully compressed. + * @throws IOException on IO exception. + */ + public boolean execute() throws IOException { + return execute(source, destination, deleteSource); + } + + /** + * Compress a file. + * + * @param source file to compress, may not be null. + * @param destination compressed file, may not be null. + * @param deleteSource if true, attempt to delete file on completion. Failure to delete + * does not cause an exception to be thrown or affect return value. + * @return true if source file compressed. + * @throws IOException on IO exception. + */ + public static boolean execute( + final File source, final File destination, final boolean deleteSource) + throws IOException { + if (source.exists()) { + FileInputStream fis = new FileInputStream(source); + FileOutputStream fos = new FileOutputStream(destination);</pre> +</div> +</td></tr> +</table> +<table class="bodyTable"><tr class="a"><th>File</th> +<th>Line</th> +</tr> +<tr class="b"><td>org/apache/log4j/rolling/RollingFileAppender.java</td> +<td><a href="./xref/org/apache/log4j/rolling/RollingFileAppender.html#245">245</a></td> +</tr> +<tr class="a"><td>org/apache/log4j/rolling/RollingFileAppender.java</td> +<td><a href="./xref/org/apache/log4j/rolling/RollingFileAppender.html#292">292</a></td> +</tr> +<tr class="b"><td colspan='2'><div class="source"><pre> this.qw = createQuietWriter(newWriter); + + boolean success = true; + + if (rollover.getSynchronous() != null) { + success = false; + + try { + success = rollover.getSynchronous().execute(); + } catch (Exception ex) { + exception = ex; + } + } + + if (success) { + if (rollover.getAppend()) { + fileLength = new File(rollover.getActiveFileName()).length(); + } else { + fileLength = 0; + } + + if (rollover.getAsynchronous() != null) { + lastRolloverAsyncAction = rollover.getAsynchronous(); + new Thread(lastRolloverAsyncAction).start(); + }</pre> +</div> +</td></tr> +</table> +<table class="bodyTable"><tr class="a"><th>File</th> +<th>Line</th> +</tr> +<tr class="b"><td>org/apache/log4j/rule/LevelEqualsRule.java</td> +<td><a href="./xref/org/apache/log4j/rule/LevelEqualsRule.html#64">64</a></td> +</tr> +<tr class="a"><td>org/apache/log4j/rule/LevelInequalityRule.java</td> +<td><a href="./xref/org/apache/log4j/rule/LevelInequalityRule.html#57">57</a></td> +</tr> +<tr class="b"><td colspan='2'><div class="source"><pre> } + + /** + * Populate list of levels. + */ + private static void populateLevels() { + levelList = new LinkedList(); + + levelList.add(Level.FATAL.toString()); + levelList.add(Level.ERROR.toString()); + levelList.add(Level.WARN.toString()); + levelList.add(Level.INFO.toString()); + levelList.add(Level.DEBUG.toString()); + Level trace = Level.toLevel(5000, null); + if (trace != null) { + levelList.add(trace.toString()); + }</pre> +</div> +</td></tr> +</table> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/cpd.xml b/thirdparty/apache-log4j-extras-1.1/site/cpd.xml new file mode 100644 index 00000000000..5b623c22842 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/cpd.xml @@ -0,0 +1,2348 @@ +<?xml version="1.0" encoding="UTF-8"?> +<pmd-cpd> +<duplication lines="1407" tokens="4713"> +<file line="270" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/LogMF.java"/> +<file line="135" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/LogSF.java"/> +<codefragment> +<![CDATA[ + private static final String FQCN = LogSF.class.getName(); + + /** + * Equivalent of Logger.forcedLog. + * + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param msg message, may be null. + */ + private static void forcedLog(final Logger logger, + final Level level, + final String msg) { + logger.callAppenders(new LoggingEvent(FQCN, logger, level, msg, null)); + } + + /** + * Equivalent of Logger.forcedLog. + * + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param msg message, may be null. + * @param t throwable. + */ + private static void forcedLog(final Logger logger, + final Level level, + final String msg, + final Throwable t) { + logger.callAppenders(new LoggingEvent(FQCN, logger, level, msg, t)); + } + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be + * formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at error level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void error(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.ERROR)) { + forcedLog(logger, Level.ERROR, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at fatal level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void fatal(final Logger logger, final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.FATAL)) { + forcedLog(logger, Level.FATAL, format(pattern, arguments)); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be + * formatted and substituted. + */ + public static void trace(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, arguments), t); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void debug(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, arguments), t); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void info(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, arguments), t); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void warn(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, arguments), t); + } + } + + /** + * Log a parameterized message at error level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void error(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.ERROR)) { + forcedLog(logger, Level.ERROR, format(pattern, arguments), t); + } + } + + /** + * Log a parameterized message at fatal level. + * @param logger logger, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param arguments an array of arguments to be formatted and substituted. + */ + public static void fatal(final Logger logger, + final Throwable t, + final String pattern, + final Object[] arguments) { + if (logger.isEnabledFor(Level.FATAL)) { + forcedLog(logger, Level.FATAL, format(pattern, arguments), t); + } + } + + + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final boolean argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final char argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final byte argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final short argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final int argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final long argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final float argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final double argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final Object argument) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, format(pattern, argument)); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final Object arg0, final Object arg1) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, + format(pattern, toArray(arg0, arg1))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, + format(pattern, toArray(arg0, arg1, arg2))); + } + } + + /** + * Log a parameterized message at trace level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + * @param arg3 a value to be formatted and substituted. + */ + public static void trace(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2, + final Object arg3) { + if (logger.isEnabledFor(TRACE)) { + forcedLog(logger, TRACE, + format(pattern, toArray(arg0, arg1, arg2, arg3))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final boolean argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final char argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final byte argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final short argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final int argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final long argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final float argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final double argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final Object argument) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, format(pattern, argument)); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final Object arg0, final Object arg1) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, + format(pattern, toArray(arg0, arg1))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, + format(pattern, toArray(arg0, arg1, arg2))); + } + } + + /** + * Log a parameterized message at debug level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + * @param arg3 a value to be formatted and substituted. + */ + public static void debug(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2, + final Object arg3) { + if (logger.isDebugEnabled()) { + forcedLog(logger, Level.DEBUG, + format(pattern, toArray(arg0, arg1, arg2, arg3))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final boolean argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final char argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final byte argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final short argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final int argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final long argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final float argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final double argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final Object argument) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, argument)); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final Object arg0, final Object arg1) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, toArray(arg0, arg1))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, + toArray(arg0, arg1, arg2))); + } + } + + /** + * Log a parameterized message at info level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + * @param arg3 a value to be formatted and substituted. + */ + public static void info(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2, + final Object arg3) { + if (logger.isInfoEnabled()) { + forcedLog(logger, Level.INFO, format(pattern, + toArray(arg0, arg1, arg2, arg3))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final boolean argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final char argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final byte argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final short argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final int argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final long argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final float argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final double argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param argument a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final Object argument) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, argument)); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final Object arg0, final Object arg1) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, + format(pattern, toArray(arg0, arg1))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, + format(pattern, toArray(arg0, arg1, arg2))); + } + } + + /** + * Log a parameterized message at warn level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + * @param arg3 a value to be formatted and substituted. + */ + public static void warn(final Logger logger, final String pattern, + final Object arg0, final Object arg1, final Object arg2, + final Object arg3) { + if (logger.isEnabledFor(Level.WARN)) { + forcedLog(logger, Level.WARN, format(pattern, + toArray(arg0, arg1, arg2, arg3))); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param parameters parameters to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final Object[] parameters) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, parameters)); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param t throwable, may be null. + * @param pattern pattern, may be null. + * @param parameters parameters to the log message. + */ + public static void log(final Logger logger, + final Level level, + final Throwable t, + final String pattern, + final Object[] parameters) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, parameters), t); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final Object param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(param1))); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final boolean param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final byte param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final char param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final short param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final int param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final long param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final float param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param param1 parameter to the log message. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final double param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final Object arg0, final Object arg1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(arg0, arg1))); + } + } + + /** + * Log a parameterized message at specifed level. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param pattern pattern, may be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final Object arg0, final Object arg1, final Object arg2) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(pattern, toArray(arg0, arg1, arg2))); + } + } + + /** + * Log a parameterized message at specified level. + * @param logger logger, may not be null. + * @param pattern pattern, may be null. + * @param level level, may not be null. + * @param arg0 a value to be formatted and substituted. + * @param arg1 a value to be formatted and substituted. + * @param arg2 a value to be formatted and substituted. + * @param arg3 a value to be formatted and substituted. + */ + public static void log(final Logger logger, + final Level level, + final String pattern, + final Object arg0, final Object arg1, final Object arg2, + final Object arg3) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, format(pattern, + toArray(arg0, arg1, arg2, arg3))); + } + } + + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param parameters parameters to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final Object[] parameters) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, parameters)); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param t throwable, may be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param parameters parameters to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final Throwable t, + final String bundleName, + final String key, + final Object[] parameters) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, parameters), t); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final Object param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(param1))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final boolean param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final char param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final byte param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final short param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final int param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final long param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final float param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final double param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(valueOf(param1)))); + } + } + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param0 Parameter to the log message. + * @param param1 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final Object param0, + final Object param1) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(param0, param1))); + } + } + + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param0 Parameter to the log message. + * @param param1 Parameter to the log message. + * @param param2 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final Object param0, + final Object param1, + final Object param2) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, toArray(param0, param1, param2))); + } + } + + + /** + * Log a parameterized message using a pattern from a resource bundle. + * @param logger logger, may not be null. + * @param level level, may not be null. + * @param bundleName resource bundle name, may be null. + * @param key key, may be null. + * @param param0 Parameter to the log message. + * @param param1 Parameter to the log message. + * @param param2 Parameter to the log message. + * @param param3 Parameter to the log message. + */ + public static void logrb(final Logger logger, + final Level level, + final String bundleName, + final String key, + final Object param0, + final Object param1, + final Object param2, + final Object param3) { + if (logger.isEnabledFor(level)) { + forcedLog(logger, level, + format(bundleName, key, + toArray(param0, param1, param2, param3))); + } + } +} +]]> +</codefragment> +</duplication> +<duplication lines="393" tokens="1551"> +<file line="100" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/extras/XSLTLayout.java"/> +<file line="96" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/xml/XSLTLayout.java"/> +<codefragment> +<![CDATA[ + implements UnrecognizedElementHandler { + /** + * Namespace for XSLT. + */ + private static final String XSLT_NS = "http://www.w3.org/1999/XSL/Transform"; + /** + * Namespace for log4j events. + */ + private static final String LOG4J_NS = "http://jakarta.apache.org/log4j/"; + /** + * Whether location information should be written. + */ + private boolean locationInfo = false; + /** + * media-type (mime type) extracted from XSLT transform. + */ + private String mediaType = "text/plain"; + /** + * Encoding extracted from XSLT transform. + */ + private Charset encoding; + /** + * Transformer factory. + */ + private SAXTransformerFactory transformerFactory; + /** + * XSLT templates. + */ + private Templates templates; + /** + * Output stream. + */ + private final ByteArrayOutputStream outputStream; + /** + * Whether throwable information should be ignored. + */ + private boolean ignoresThrowable = false; + /** + * Whether properties should be extracted. + */ + private boolean properties = true; + /** + * Whether activateOptions has been called. + */ + private boolean activated = false; + + /** + * DateFormat for UTC time. + */ + private final CachedDateFormat utcDateFormat; + + /** + * Default constructor. + * + */ + public XSLTLayout() { + outputStream = new ByteArrayOutputStream(); + transformerFactory = (SAXTransformerFactory) + TransformerFactory.newInstance(); + + SimpleDateFormat zdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); + zdf.setTimeZone(TimeZone.getTimeZone("UTC")); + utcDateFormat = new CachedDateFormat(zdf, 1000); + } + + /** + * {@inheritDoc} + */ + public synchronized String getContentType() { + return mediaType; + } + + /** + * The <b>LocationInfo </b> option takes a boolean value. By default, it is + * set to false which means there will be no location information output by + * this layout. If the the option is set to true, then the file name and line + * number of the statement at the origin of the log statement will be output. + * + * <p> + * If you are embedding this layout within an {@link + * org.apache.log4j.net.SMTPAppender} then make sure to set the + * <b>LocationInfo </b> option of that appender as well. + * + * @param flag new value. + */ + public synchronized void setLocationInfo(final boolean flag) { + locationInfo = flag; + } + + /** + * Gets whether location info should be output. + * @return if location is output. + */ + public synchronized boolean getLocationInfo() { + return locationInfo; + } + + /** + * Sets whether MDC key-value pairs should be output, default false. + * @param flag new value. + */ + public synchronized void setProperties(final boolean flag) { + properties = flag; + } + + /** + * Gets whether MDC key-value pairs should be output. + * @return true if MDC key-value pairs are output. + */ + public synchronized boolean getProperties() { + return properties; + } + + + /** {@inheritDoc} */ + public synchronized void activateOptions() { + if (templates == null) { + try { + InputStream is = XSLTLayout.class.getResourceAsStream("default.xslt"); + StreamSource ss = new StreamSource(is); + templates = transformerFactory.newTemplates(ss); + encoding = Charset.forName("US-ASCII"); + mediaType = "text/plain"; + } catch (Exception ex) { + LogLog.error("Error loading default.xslt", ex); + } + } + activated = true; + } + + /** + * Gets whether throwables should not be output. + * @return true if throwables should not be output. + */ + public synchronized boolean ignoresThrowable() { + return ignoresThrowable; + } + + /** + * Sets whether throwables should not be output. + * @param ignoresThrowable if true, throwables should not be output. + */ + public synchronized void setIgnoresThrowable(boolean ignoresThrowable) { + this.ignoresThrowable = ignoresThrowable; + } + + + + /** + * {@inheritDoc} + */ + public synchronized String format(final LoggingEvent event) { + if (!activated) { + activateOptions(); + } + if (templates != null && encoding != null) { + outputStream.reset(); + + try { + TransformerHandler transformer = + transformerFactory.newTransformerHandler(templates); + + transformer.setResult(new StreamResult(outputStream)); + transformer.startDocument(); + + // + // event element + // + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute(null, "logger", "logger", + "CDATA", event.getLoggerName()); + attrs.addAttribute(null, "timestamp", "timestamp", + "CDATA", Long.toString(event.timeStamp)); + attrs.addAttribute(null, "level", "level", + "CDATA", event.getLevel().toString()); + attrs.addAttribute(null, "thread", "thread", + "CDATA", event.getThreadName()); + StringBuffer buf = new StringBuffer(); + utcDateFormat.format(event.timeStamp, buf); + attrs.addAttribute(null, "time", "time", "CDATA", buf.toString()); + + + transformer.startElement(LOG4J_NS, "event", "event", attrs); + attrs.clear(); + + // + // message element + // + transformer.startElement(LOG4J_NS, "message", "message", attrs); + String msg = event.getRenderedMessage(); + if (msg != null && msg.length() > 0) { + transformer.characters(msg.toCharArray(), 0, msg.length()); + } + transformer.endElement(LOG4J_NS, "message", "message"); + + // + // NDC element + // + String ndc = event.getNDC(); + if (ndc != null) { + transformer.startElement(LOG4J_NS, "NDC", "NDC", attrs); + char[] ndcChars = ndc.toCharArray(); + transformer.characters(ndcChars, 0, ndcChars.length); + transformer.endElement(LOG4J_NS, "NDC", "NDC"); + } + + // + // throwable element unless suppressed + // + if (!ignoresThrowable) { + String[] s = event.getThrowableStrRep(); + if (s != null) { + transformer.startElement(LOG4J_NS, "throwable", + "throwable", attrs); + char[] nl = new char[] { '\n' }; + for (int i = 0; i < s.length; i++) { + char[] line = s[i].toCharArray(); + transformer.characters(line, 0, line.length); + transformer.characters(nl, 0, nl.length); + } + transformer.endElement(LOG4J_NS, "throwable", "throwable"); + } + } + + // + // location info unless suppressed + // + // + if (locationInfo) { + LocationInfo locationInfo = event.getLocationInformation(); + attrs.addAttribute(null, "class", "class", "CDATA", + locationInfo.getClassName()); + attrs.addAttribute(null, "method", "method", "CDATA", + locationInfo.getMethodName()); + attrs.addAttribute(null, "file", "file", "CDATA", + locationInfo.getFileName()); + attrs.addAttribute(null, "line", "line", "CDATA", + locationInfo.getLineNumber()); + transformer.startElement(LOG4J_NS, "locationInfo", + "locationInfo", attrs); + transformer.endElement(LOG4J_NS, "locationInfo", + "locationInfo"); + } + + if (properties) { + // + // write MDC contents out as properties element + // + Set mdcKeySet = MDCKeySetExtractor.INSTANCE.getPropertyKeySet(event); + + if ((mdcKeySet != null) && (mdcKeySet.size() > 0)) { + attrs.clear(); + transformer.startElement(LOG4J_NS, + "properties", "properties", attrs); + Object[] keys = mdcKeySet.toArray(); + Arrays.sort(keys); + for (int i = 0; i < keys.length; i++) { + String key = keys[i].toString(); + Object val = event.getMDC(key); + attrs.clear(); + attrs.addAttribute(null, "name", "name", "CDATA", key); + attrs.addAttribute(null, "value", "value", + "CDATA", val.toString()); + transformer.startElement(LOG4J_NS, + "data", "data", attrs); + transformer.endElement(LOG4J_NS, "data", "data"); + } + } + } + + + transformer.endElement(LOG4J_NS, "event", "event"); + transformer.endDocument(); + + String body = encoding.decode( + ByteBuffer.wrap(outputStream.toByteArray())).toString(); + outputStream.reset(); + // + // must remove XML declaration since it may + // result in erroneous encoding info + // if written by FileAppender in a different encoding + if (body.startsWith("<?xml ")) { + int endDecl = body.indexOf("?>"); + if (endDecl != -1) { + for(endDecl += 2; + endDecl < body.length() && + (body.charAt(endDecl) == '\n' || body.charAt(endDecl) == '\r'); + endDecl++); + return body.substring(endDecl); + } + } + return body; + } catch (Exception ex) { + LogLog.error("Error during transformation", ex); + return ex.toString(); + } + } + return "No valid transform or encoding specified."; + } + + /** + * Sets XSLT transform. + * @param xsltdoc DOM document containing XSLT transform source, + * may be modified. + * @throws TransformerConfigurationException if transformer can not be + * created. + */ + public void setTransform(final Document xsltdoc) + throws TransformerConfigurationException { + // + // scan transform source for xsl:output elements + // and extract encoding, media (mime) type and output method + // + String encodingName = null; + mediaType = null; + String method = null; + NodeList nodes = xsltdoc.getElementsByTagNameNS( + XSLT_NS, + "output"); + for(int i = 0; i < nodes.getLength(); i++) { + Element outputElement = (Element) nodes.item(i); + if (method == null || method.length() == 0) { + method = outputElement.getAttributeNS(null, "method"); + } + if (encodingName == null || encodingName.length() == 0) { + encodingName = outputElement.getAttributeNS(null, "encoding"); + } + if (mediaType == null || mediaType.length() == 0) { + mediaType = outputElement.getAttributeNS(null, "media-type"); + } + } + + if (mediaType == null || mediaType.length() == 0) { + if ("html".equals(method)) { + mediaType = "text/html"; + } else if ("xml".equals(method)) { + mediaType = "text/xml"; + } else { + mediaType = "text/plain"; + } + } + + // + // if encoding was not specified, + // add xsl:output encoding=US-ASCII to XSLT source + // + if (encodingName == null || encodingName.length() == 0) { + Element transformElement = xsltdoc.getDocumentElement(); + Element outputElement = xsltdoc. + createElementNS(XSLT_NS, "output"); + outputElement.setAttributeNS(null, "encoding", "US-ASCII"); + transformElement.insertBefore(outputElement, transformElement.getFirstChild()); + encoding = Charset.forName("US-ASCII"); + } else { + encoding = Charset.forName(encodingName); + } + + DOMSource transformSource = new DOMSource(xsltdoc); + + templates = transformerFactory.newTemplates(transformSource); + + } + + /** + * {@inheritDoc} + */ + public boolean parseUnrecognizedElement(final Element element, + final Properties props) + throws Exception { + if (XSLT_NS.equals(element.getNamespaceURI()) || + element.getNodeName().indexOf("transform") != -1 || + element.getNodeName().indexOf("stylesheet") != -1) { + // + // DOMConfigurator typically not namespace aware + // serialize tree and reparse. + ByteArrayOutputStream os = new ByteArrayOutputStream(); + DOMSource source = new DOMSource(element); + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + transformer.transform(source, new StreamResult(os)); + + ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); + DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); + domFactory.setNamespaceAware(true); + Document xsltdoc = domFactory.newDocumentBuilder().parse(is); + setTransform(xsltdoc); + return true; + } + return false; + } + + +} +]]> +</codefragment> +</duplication> +<duplication lines="206" tokens="483"> +<file line="35" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/extras/UtilLoggingLevel.java"/> +<file line="32" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/helpers/UtilLoggingLevel.java"/> +<codefragment> +<![CDATA[ +public class UtilLoggingLevel extends Level { + + /** + * Serialization version id. + */ + private static final long serialVersionUID = 909301162611820211L; + + /** + * Numerical value for SEVERE. + */ + public static final int SEVERE_INT = 17000; + /** + * Numerical value for WARNING. + */ + public static final int WARNING_INT = 16000; + /** + * Numerical value for INFO. + */ + public static final int INFO_INT = 15000; + /** + * Numerical value for CONFIG. + */ + public static final int CONFIG_INT = 14000; + /** + * Numerical value for FINE. + */ + public static final int FINE_INT = 13000; + /** + * Numerical value for FINER. + */ + public static final int FINER_INT = 12000; + /** + * Numerical value for FINEST. + */ + public static final int FINEST_INT = 11000; + /** + * Numerical value for UNKNOWN. + */ + public static final int UNKNOWN_INT = 10000; + + /** + * SEVERE. + */ + public static final UtilLoggingLevel SEVERE = + new UtilLoggingLevel(SEVERE_INT, "SEVERE", 0); + /** + * WARNING. + */ + public static final UtilLoggingLevel WARNING = + new UtilLoggingLevel(WARNING_INT, "WARNING", 4); + /** + * INFO. + */ + public static final UtilLoggingLevel INFO = + new UtilLoggingLevel(INFO_INT, "INFO", 5); + /** + * CONFIG. + */ + public static final UtilLoggingLevel CONFIG = + new UtilLoggingLevel(CONFIG_INT, "CONFIG", 6); + /** + * FINE. + */ + public static final UtilLoggingLevel FINE = + new UtilLoggingLevel(FINE_INT, "FINE", 7); + /** + * FINER. + */ + public static final UtilLoggingLevel FINER = + new UtilLoggingLevel(FINER_INT, "FINER", 8); + /** + * FINEST. + */ + public static final UtilLoggingLevel FINEST = + new UtilLoggingLevel(FINEST_INT, "FINEST", 9); + + /** + * Create new instance. + * @param level numeric value for level. + * @param levelStr symbolic name for level. + * @param syslogEquivalent Equivalent syslog severity. + */ + protected UtilLoggingLevel(final int level, + final String levelStr, + final int syslogEquivalent) { + super(level, levelStr, syslogEquivalent); + } + + /** + * Convert an integer passed as argument to a level. If the + * conversion fails, then this method returns the specified default. + * @param val numeric value. + * @param defaultLevel level to be returned if no level matches + * numeric value. + * @return matching level or default level. + */ + public static UtilLoggingLevel toLevel(final int val, + final UtilLoggingLevel defaultLevel) { + switch (val) { + case SEVERE_INT: + return SEVERE; + + case WARNING_INT: + return WARNING; + + case INFO_INT: + return INFO; + + case CONFIG_INT: + return CONFIG; + + case FINE_INT: + return FINE; + + case FINER_INT: + return FINER; + + case FINEST_INT: + return FINEST; + + default: + return defaultLevel; + } + } + + /** + * Gets level matching numeric value. + * @param val numeric value. + * @return matching level or UtilLoggerLevel.FINEST if no match. + */ + public static Level toLevel(final int val) { + return toLevel(val, FINEST); + } + + /** + * Gets list of supported levels. + * @return list of supported levels. + */ + public static List getAllPossibleLevels() { + ArrayList list = new ArrayList(); + list.add(FINE); + list.add(FINER); + list.add(FINEST); + list.add(INFO); + list.add(CONFIG); + list.add(WARNING); + list.add(SEVERE); + return list; + } + + /** + * Get level with specified symbolic name. + * @param s symbolic name. + * @return matching level or Level.DEBUG if no match. + */ + public static Level toLevel(final String s) { + return toLevel(s, Level.DEBUG); + } + + + /** + * Get level with specified symbolic name. + * @param sArg symbolic name. + * @param defaultLevel level to return if no match. + * @return matching level or defaultLevel if no match. + */ + public static Level toLevel(final String sArg, + final Level defaultLevel) { + if (sArg == null) { + return defaultLevel; + } + + String s = sArg.toUpperCase(); + + if (s.equals("SEVERE")) { + return SEVERE; + } + + //if(s.equals("FINE")) return Level.FINE; + if (s.equals("WARNING")) { + return WARNING; + } + + if (s.equals("INFO")) { + return INFO; + } + + if (s.equals("CONFI")) { + return CONFIG; + } + + if (s.equals("FINE")) { + return FINE; + } + + if (s.equals("FINER")) { + return FINER; + } + + if (s.equals("FINEST")) { + return FINEST; + } + return defaultLevel; + } + +} +]]> +</codefragment> +</duplication> +<duplication lines="27" tokens="202"> +<file line="101" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rule/AndRule.java"/> +<file line="101" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rule/OrRule.java"/> +<codefragment> +<![CDATA[ + if (result) { + for (Iterator iter = tempMatches1.entrySet().iterator();iter.hasNext();) { + Map.Entry entry = (Map.Entry)iter.next(); + Object key = entry.getKey(); + Set value = (Set)entry.getValue(); + Set mainSet = (Set) matches.get(key); + if (mainSet == null) { + mainSet = new HashSet(); + matches.put(key, mainSet); + } + mainSet.addAll(value); + } + for (Iterator iter = tempMatches2.entrySet().iterator();iter.hasNext();) { + Map.Entry entry = (Map.Entry)iter.next(); + Object key = entry.getKey(); + Set value = (Set)entry.getValue(); + Set mainSet = (Set) matches.get(key); + if (mainSet == null) { + mainSet = new HashSet(); + matches.put(key, mainSet); + } + mainSet.addAll(value); + } + } + return result; + } +} +]]> +</codefragment> +</duplication> +<duplication lines="36" tokens="174"> +<file line="61" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java"/> +<file line="61" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rule/NotLevelEqualsRule.java"/> +<codefragment> +<![CDATA[ + private NotLevelEqualsRule(final Level level) { + super(); + this.level = level; + } + + /** + * Populate list of levels. + */ + private static void populateLevels() { + levelList = new LinkedList(); + + levelList.add(Level.FATAL.toString()); + levelList.add(Level.ERROR.toString()); + levelList.add(Level.WARN.toString()); + levelList.add(Level.INFO.toString()); + levelList.add(Level.DEBUG.toString()); + Level trace = Level.toLevel(5000, null); + if (trace != null) { + levelList.add(trace.toString()); + } + } + + /** + * Create new rule. + * @param value name of level. + * @return instance of NotLevelEqualsRule. + */ + public static Rule getRule(final String value) { + Level thisLevel; + if (levelList.contains(value.toUpperCase())) { + thisLevel = Level.toLevel(value.toUpperCase()); + } else { + thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase()); + } + + return new NotLevelEqualsRule(thisLevel); +]]> +</codefragment> +</duplication> +<duplication lines="44" tokens="153"> +<file line="106" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java"/> +<file line="106" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rule/NotLevelEqualsRule.java"/> +<codefragment> +<![CDATA[ + boolean result = level.toInt() != eventLevel.toInt(); + if (result && matches != null) { + Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); + if (entries == null) { + entries = new HashSet(); + matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); + } + entries.add(eventLevel); + } + return result; + } + + /** + * Deserialize the state of the object. + * + * @param in object input stream. + * + * @throws IOException if error in reading stream for deserialization. + */ + private void readObject(final java.io.ObjectInputStream in) + throws IOException { + populateLevels(); + boolean isUtilLogging = in.readBoolean(); + int levelInt = in.readInt(); + if (isUtilLogging) { + level = UtilLoggingLevel.toLevel(levelInt); + } else { + level = Level.toLevel(levelInt); + } + } + + /** + * Serialize the state of the object. + * + * @param out object output stream. + * + * @throws IOException if error in writing stream during serialization. + */ + private void writeObject(final java.io.ObjectOutputStream out) + throws IOException { + out.writeBoolean(level instanceof UtilLoggingLevel); + out.writeInt(level.toInt()); + } +} +]]> +</codefragment> +</duplication> +<duplication lines="70" tokens="132"> +<file line="47" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/extras/SoundAppender.java"/> +<file line="44" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/varia/SoundAppender.java"/> +<codefragment> +<![CDATA[ +public final class SoundAppender extends AppenderSkeleton { + + private AudioClip clip; + private String audioURL; + + public SoundAppender() { + } + + /** + * Attempt to initialize the appender by creating a reference to an AudioClip. + * + * Will log a message if format is not supported, file not found, etc. + * + */ + public void activateOptions() { + /* + * AudioSystem.getAudioInputStream requires jdk 1.3, + * so we use applet.newaudioclip instead + * + */ + try { + clip = Applet.newAudioClip(new URL(audioURL)); + } catch (MalformedURLException mue) { + LogLog.error("unable to initialize SoundAppender", mue);} + if (clip == null) { + LogLog.error("Unable to initialize SoundAppender"); + } + } + + /** + * Accessor + * + * @return audio file + */ + public String getAudioURL() { + return audioURL; + } + + /** + * Mutator - common format for a file-based url: + * file:///c:/path/someaudioclip.wav + * + * @param audioURL + */ + public void setAudioURL(String audioURL) { + this.audioURL = audioURL; + } + + /** + * Play the sound if an event is being processed + */ + protected void append(LoggingEvent event) { + if (clip != null) { + clip.play(); + } + } + + public void close() { + //nothing to do + } + + /** + * Gets whether appender requires a layout. + * @return false + */ + public boolean requiresLayout() { + return false; + } + +} +]]> +</codefragment> +</duplication> +<duplication lines="40" tokens="121"> +<file line="60" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rolling/helper/GZCompressAction.java"/> +<file line="61" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rolling/helper/ZipCompressAction.java"/> +<codefragment> +<![CDATA[ + public ZipCompressAction( + final File source, final File destination, final boolean deleteSource) { + if (source == null) { + throw new NullPointerException("source"); + } + + if (destination == null) { + throw new NullPointerException("destination"); + } + + this.source = source; + this.destination = destination; + this.deleteSource = deleteSource; + } + + /** + * Compress. + * @return true if successfully compressed. + * @throws IOException on IO exception. + */ + public boolean execute() throws IOException { + return execute(source, destination, deleteSource); + } + + /** + * Compress a file. + * + * @param source file to compress, may not be null. + * @param destination compressed file, may not be null. + * @param deleteSource if true, attempt to delete file on completion. Failure to delete + * does not cause an exception to be thrown or affect return value. + * @return true if source file compressed. + * @throws IOException on IO exception. + */ + public static boolean execute( + final File source, final File destination, final boolean deleteSource) + throws IOException { + if (source.exists()) { + FileInputStream fis = new FileInputStream(source); + FileOutputStream fos = new FileOutputStream(destination); +]]> +</codefragment> +</duplication> +<duplication lines="25" tokens="108"> +<file line="245" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java"/> +<file line="292" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java"/> +<codefragment> +<![CDATA[ + this.qw = createQuietWriter(newWriter); + + boolean success = true; + + if (rollover.getSynchronous() != null) { + success = false; + + try { + success = rollover.getSynchronous().execute(); + } catch (Exception ex) { + exception = ex; + } + } + + if (success) { + if (rollover.getAppend()) { + fileLength = new File(rollover.getActiveFileName()).length(); + } else { + fileLength = 0; + } + + if (rollover.getAsynchronous() != null) { + lastRolloverAsyncAction = rollover.getAsynchronous(); + new Thread(lastRolloverAsyncAction).start(); + } +]]> +</codefragment> +</duplication> +<duplication lines="17" tokens="103"> +<file line="64" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java"/> +<file line="57" path="/home/curta/trunk/target/checkout/src/main/java/org/apache/log4j/rule/LevelInequalityRule.java"/> +<codefragment> +<![CDATA[ + } + + /** + * Populate list of levels. + */ + private static void populateLevels() { + levelList = new LinkedList(); + + levelList.add(Level.FATAL.toString()); + levelList.add(Level.ERROR.toString()); + levelList.add(Level.WARN.toString()); + levelList.add(Level.INFO.toString()); + levelList.add(Level.DEBUG.toString()); + Level trace = Level.toLevel(5000, null); + if (trace != null) { + levelList.add(trace.toString()); + } +]]> +</codefragment> +</duplication> +</pmd-cpd> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/css/maven-base.css b/thirdparty/apache-log4j-extras-1.1/site/css/maven-base.css new file mode 100644 index 00000000000..7ef9c54b1e4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/css/maven-base.css @@ -0,0 +1,168 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ +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/thirdparty/apache-log4j-extras-1.1/site/css/maven-theme.css b/thirdparty/apache-log4j-extras-1.1/site/css/maven-theme.css new file mode 100644 index 00000000000..c982168bf24 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/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/thirdparty/apache-log4j-extras-1.0/site/css/site.css b/thirdparty/apache-log4j-extras-1.1/site/css/site.css similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/css/site.css rename to thirdparty/apache-log4j-extras-1.1/site/css/site.css diff --git a/thirdparty/apache-log4j-extras-1.1/site/dependencies.html b/thirdparty/apache-log4j-extras-1.1/site/dependencies.html new file mode 100644 index 00000000000..6f5ce7aeeae --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/dependencies.html @@ -0,0 +1,353 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Project Dependencies</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <strong>Dependencies</strong> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Project Dependencies</h2> +<div class="section"><h3>compile</h3> +<p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p> +<table class="bodyTable"><tr class="a"><th>GroupId</th> +<th>ArtifactId</th> +<th>Version</th> +<th>Type</th> +</tr> +<tr class="b"><td>log4j</td> +<td><a href="http://logging.apache.org/log4j/1.2/" class="externalLink">log4j</a></td> +<td>1.2.16</td> +<td>jar</td> +</tr> +</table> +</div> +<div class="section"><h3>test</h3> +<p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p> +<table class="bodyTable"><tr class="a"><th>GroupId</th> +<th>ArtifactId</th> +<th>Version</th> +<th>Type</th> +</tr> +<tr class="b"><td>junit</td> +<td><a href="http://junit.org" class="externalLink">junit</a></td> +<td>3.8.1</td> +<td>jar</td> +</tr> +</table> +</div> +</div> +<div class="section"><h2>Project Transitive Dependencies</h2> +<p>No transitive dependencies are required for this project.</p> +</div> +<div class="section"><h2>Project Dependency Graph</h2> +<script language="javascript" type="text/javascript"> + function toggleDependencyDetail( divId, imgId ) + { + var div = document.getElementById( divId ); + var img = document.getElementById( imgId ); + if( div.style.display == '' ) + { + div.style.display = 'none'; + img.src='./images/icon_info_sml.gif'; + } + else + { + div.style.display = ''; + img.src='./images/close.gif'; + } + } +</script> +<div class="section"><h3>Dependency Tree</h3> +<ul><li>log4j:apache-log4j-extras:bundle:1.1 <img id="_238570316" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_473866522', '_238570316' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_473866522" style="display:none"><table class="bodyTable"><tr class="a"><th>Apache Extras Companion™ for Apache log4j™.</th> +</tr> +<tr class="b"><td><p><b>Description: </b>This companion provides additional appenders, filters and + other capabilities for version 1.2 of Apache log4j™. Several of these were backported from + the abandoned Apache log4j 1.3 development effort.</p> +<p><b>URL: </b><a href="http://logging.apache.org:80/log4j/companions/extras" class="externalLink">http://logging.apache.org:80/log4j/companions/extras</a></p> +<p><b>Project License: </b><a href="http://www.apache.org/licenses/LICENSE-2.0.txt" class="externalLink">Apache License, Version 2.0</a></p> +</td> +</tr> +</table> +</div><ul><li>junit:junit:jar:3.8.1 (test) <img id="_115875350" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1739675276', '_115875350' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1739675276" style="display:none"><table class="bodyTable"><tr class="a"><th>JUnit</th> +</tr> +<tr class="b"><td><p><b>Description: </b>JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.</p> +<p><b>URL: </b><a href="http://junit.org" class="externalLink">http://junit.org</a></p> +<p><b>Project License: </b><a href="http://www.opensource.org/licenses/cpl1.0.txt" class="externalLink">Common Public License Version 1.0</a></p> +</td> +</tr> +</table> +</div></li> +<li>log4j:log4j:jar:1.2.16 (compile) <img id="_190952565" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_778506779', '_190952565' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_778506779" style="display:none"><table class="bodyTable"><tr class="a"><th>Apache Log4j</th> +</tr> +<tr class="b"><td><p><b>Description: </b>Apache Log4j 1.2</p> +<p><b>URL: </b><a href="http://logging.apache.org/log4j/1.2/" class="externalLink">http://logging.apache.org/log4j/1.2/</a></p> +<p><b>Project License: </b><a href="http://www.apache.org/licenses/LICENSE-2.0.txt" class="externalLink">The Apache Software License, Version 2.0</a></p> +</td> +</tr> +</table> +</div></li> +</ul> +</li> +</ul> +</div> +</div> +<div class="section"><h2>Licenses</h2> +<p><b>Apache License, Version 2.0: </b>Apache Extras Companion™ for Apache log4j™.</p> +<p><b>Common Public License Version 1.0: </b>JUnit</p> +<p><b>The Apache Software License, Version 2.0: </b>Apache Log4j</p> +</div> +<div class="section"><h2>Dependency File Details</h2> +<table class="bodyTable"><tbody><tr class="a"><th align="left">Filename</th> +<th align="right">Size</th> +<th align="right">Entries</th> +<th align="right">Classes</th> +<th align="right">Packages</th> +<th align="center">JDK Rev</th> +<th align="center">Debug</th> +</tr> +<tr class="b"><td align="left">junit-3.8.1.jar</td> +<td align="right">118.23 kB</td> +<td align="right">119</td> +<td align="right">100</td> +<td align="right">6</td> +<td align="center">1.1</td> +<td align="center">debug</td> +</tr> +<tr class="a"><td align="left">log4j-1.2.16.jar</td> +<td align="right">470.25 kB</td> +<td align="right">346</td> +<td align="right">308</td> +<td align="right">20</td> +<td align="center">1.1</td> +<td align="center">debug</td> +</tr> +<tr class="b"><th align="left">Total</th> +<th align="right">Size</th> +<th align="right">Entries</th> +<th align="right">Classes</th> +<th align="right">Packages</th> +<th align="center">JDK Rev</th> +<th align="center">Debug</th> +</tr> +<tr class="a"><td align="right">2</td> +<td align="right">588.48 kB</td> +<td align="right">465</td> +<td align="right">408</td> +<td align="right">26</td> +<td align="center">1.1</td> +<td align="right">2</td> +</tr> +<tr class="b"><td align="right">compile: 1</td> +<td align="right">compile: 470.25 kB</td> +<td align="right">compile: 346</td> +<td align="right">compile: 308</td> +<td align="right">compile: 20</td> +<td align="center">-</td> +<td align="right">compile: 1</td> +</tr> +<tr class="a"><td align="right">test: 1</td> +<td align="right">test: 118.23 kB</td> +<td align="right">test: 119</td> +<td align="right">test: 100</td> +<td align="right">test: 6</td> +<td align="center">-</td> +<td align="right">test: 1</td> +</tr> +</tbody> +</table> +</div> +<div class="section"><h2>Dependency Repository Locations</h2> +<table class="bodyTable"><tbody><tr class="b"><th align="left">Repo ID</th> +<th align="left">URL</th> +<th align="center">Release</th> +<th align="center">Snapshot</th> +</tr> +<tr class="a"><td align="left">central</td> +<td align="left"><a href="http://repo1.maven.org/maven2" class="externalLink">http://repo1.maven.org/maven2</a></td> +<td align="center">Yes</td> +<td align="center">-</td> +</tr> +</tbody> +</table> +<p>Repository locations for each of the Dependencies.</p> +<table class="bodyTable"><tbody><tr class="b"><th align="left">Artifact</th> +<th align="center">central</th> +</tr> +<tr class="a"><td align="left">junit:junit:jar:3.8.1</td> +<td align="center"><a href="http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar" class="externalLink"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td> +</tr> +<tr class="b"><td align="left">log4j:log4j:jar:1.2.16</td> +<td align="center"><a href="http://repo1.maven.org/maven2/log4j/log4j/1.2.16/log4j-1.2.16.jar" class="externalLink"><img alt="Found at http://repo1.maven.org/maven2" src="images/icon_success_sml.gif" /></a></td> +</tr> +<tr class="a"><th align="left">Total</th> +<th align="center">central</th> +</tr> +<tr class="b"><td align="left">2 (compile: 1, test: 1)</td> +<td align="center">2</td> +</tr> +</tbody> +</table> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/download.html b/thirdparty/apache-log4j-extras-1.1/site/download.html new file mode 100644 index 00000000000..6c258c78a13 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/download.html @@ -0,0 +1,202 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Download Apache Extras Companion™ for Apache log4j™</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <strong>Download</strong> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Download Apache Extras Companion™ for Apache log4j™</h2> +<p>Apache Extras Companion™ for Apache log4j™ is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink"> Apache License, version 2.0</a>.</p> +<p>The link in the Mirrors column should display a list of available mirrors with a default selection based on your inferred location. If you do not see that page, try a different browser. The checksum and signature are links to the originals on the main distribution server.</p> +<table class="bodyTable"><tbody><tr class="a"><td align="left"></td> +<td align="left">Mirrors</td> +<td align="left">Checksum</td> +<td align="left">Signature</td> +</tr> +<tr class="b"><td align="left">apache-log4j-extras-1.1 (tar.gz)</td> +<td align="left"><a href="http://www.apache.org/dyn/closer.cgi/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.tar.gz" class="externalLink"> apache-log4j-extras-1.1.tar.gz</a></td> +<td align="left"><a href="http://www.apache.org/dist/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.tar.gz.md5" class="externalLink"> apache-log4j-extras-1.1.tar.gz.md5</a></td> +<td align="left"><a href="http://www.apache.org/dist/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.tar.gz.asc" class="externalLink"> apache-log4j-extras-1.1.tar.gz.asc</a></td> +</tr> +<tr class="a"><td align="left">apache-log4j-extras-1.1 (zip)</td> +<td align="left"><a href="http://www.apache.org/dyn/closer.cgi/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.zip" class="externalLink"> apache-log4j-extras-1.1.zip</a></td> +<td align="left"><a href="http://www.apache.org/dist/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.zip.md5" class="externalLink"> apache-log4j-extras-1.1.zip.md5</a></td> +<td align="left"><a href="http://www.apache.org/dist/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.zip.asc" class="externalLink"> apache-log4j-extras-1.1.zip.asc</a></td> +</tr> +</tbody> +</table> +<p>It is essential that you verify the integrity of the downloaded files using the PGP or MD5 signatures. Please read <a href="http://httpd.apache.org/dev/verification.html" class="externalLink">Verifying Apache HTTP Server Releases</a> for more information on why you should verify our releases.</p> +<p>The PGP signatures can be verified using PGP or GPG. First download the <a href="http://www.apache.org/dist/logging/KEYS" class="externalLink">KEYS</a> as well as the asc signature file for the relevant distribution. Make sure you get these files from the <a href="http://www.apache.org/dist/logging/" class="externalLink">main distribution directory</a>, rather than from a mirror. Then verify the signatures using</p> +<div class="source"><pre>% gpg --import KEYS +% gpg --verify apache-log4j-extras-1.1.tar.gz.asc</pre> +</div> +<p>Apache log4j extras 1.1 is signed by Curt Arnold 70C9C3DO </p> +<p>Alternatively, you can verify the MD5 signature on the files. A unix program called md5 or md5sum is included in many unix distributions.</p> +<div class="section"><h3>Previous Releases</h3> +<p>Previous releases can be found in the <a href="http://archive.apache.org/dist/logging/log4j/companions/extras" class="externalLink">archive repository</a>.</p> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/add.gif b/thirdparty/apache-log4j-extras-1.1/site/images/add.gif new file mode 100644 index 0000000000000000000000000000000000000000..ac0bdccc8e036472cfe2baf5616f05315bd88f8c GIT binary patch literal 207 zcmV;=05JbYNk%w1VH5xq0J8u95GoRUqJEOjmoQjxPM^>|bU`^oN6^yG`uzG&bAq+N zwJU+Mn7x{Wy4b9)te&WyA^8LW000O8EC2ui02BZe00RVk5Xniay*O)Z%<x~>8P`BG zL`p1dk_?y8penn(q-D5#@8%VQ193P=j7T6wh*UTnk0@ZO8zK}3hC;z$00e;QLGfS& z0)=S-O`R~eTY;A$2nfJS$GCh>s0C?ZZdO=uTmTA!OISosPEu`4W0OT#V@hr#nwuM) Jo}Zr)06SqYP-*}G literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/close.gif b/thirdparty/apache-log4j-extras-1.1/site/images/close.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c26bbc5264fcc943ad7b5a0f1a84daece211f34 GIT binary patch literal 279 zcmZ?wbhEHb6ky<ESjxcg|Ns9FA3nT)|Ng;)2lwyazi{Eg`Sa%w95}Fl|NaddHmqO2 ze!+qT^XJc>FkwP}e}6+mLp=yE)H5&?6cps==O-j2#K*@61O)i|`#U%|*xTD17#Qg5 z>nkWI$ji$M2ng`=^D}^ygDj#2&;c6F0P+h1n~g(5frm~PL&uV$l`S$eFDwzBDbhJD v>}Bvw*Al_tWna1PC9OaGVdk23i}vRhZI{iR^*V|n<^22a#~T_O9T}_vbswrX literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/external.png b/thirdparty/apache-log4j-extras-1.1/site/images/external.png new file mode 100644 index 0000000000000000000000000000000000000000..3f999fc88b360074e41f38c3b4bc06ccb3bb7cf8 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^+(699!3-oX?^2ToQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%@dWsUxR#cd{{R1fCIbVIy!atN z8e~{WkY6y6%iy53@(Yk3;OXKRQgJIOfsI*BO@UFsfhWLBc>*(#PB?Jn2*(o!76E4F z2oaVU3``tH+Kgs0GI5+@Tg}d)z%jd%F@?{8!SRZ5b1yT80-FZIMn)zc2Ca66y`pzY R*nws<c)I$ztaD0e0szV^K`H<M literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/fix.gif b/thirdparty/apache-log4j-extras-1.1/site/images/fix.gif new file mode 100644 index 0000000000000000000000000000000000000000..2585f1308e7d5918589e813e78f2d1afce5593a5 GIT binary patch literal 181 zcmV;m080NyNk%w1VH5xq0J8u9Ee8dIgoKYsFZ{-_I4LG07!~H|>8Pft`~CZza#Z%V zri3~qR8mxUcXpVVmbA9FA^8LW000O8EC2ui02BZe00RVK5Xm_Wz0_WfE8<@#ZlS1I zMF9{6F;Ye296`_&Wmg2x;oPoKiXnRhaIe_o@k<B*1<+;JFaiJq1z;hCH39$$RvQ$l jN`=K>)y=@v&`~$74Zo(@>-~ZqAomj~fP;jE7ZCtEEbB#) literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/icon_error_sml.gif b/thirdparty/apache-log4j-extras-1.1/site/images/icon_error_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..61132ef2b01806f6122c31d173c98e01e499b9a0 GIT binary patch literal 1010 zcmZ?wbhEHb<Y(Y#_|5<V|NsB*<rdt;C%TbObTyyoVqTF#PTmSG{xUB9Tyg0g)((^0 zz0yp~US7H!&(3p@Ut&9-*jyfwIXuF%d4!v|1Tr~zquF`(@k{LGm)HrE<(F8^C$@}N zbOw*`bROYpJi?QCguA$fI=BVvxCCms1d2KN3px1;IQjB8`6Af4!`OLz*tq8Lip=E| zZRHkh<`!(^7A)fu$l>JMCn#OVEqF*oew~oaAu*+mN;-=y?VHT3tIe$XQqrDo-uB_a z!$aaK`z6))OKGn34?nwc^SuifkIL#EmDgV_qjg-#<baa#jpEub*KU5idgH^jo4-DM z{Qc?kaaD`sYE~ySY)@!8oX~bWtYv@F)MKx$?*ZSKpC3OR(RMni=XO%x{iK2CX(Qj$ z#{MUa{EpiMf4On@v}w>8v*0u4q4%1moUw{LZ54UeCgzNF^jX`uv-XK+9g@yFrG9?@ z!9&5&Tgk*j(b!GF&{N4I-Owl3GNQ;Kslp@APSw&&&ux9d>WxL~{EYoKm2KHvv3+ax zZU<dgAG08Ti!cLe3wL9GLm8_i_grIHTN61ua|LHpdB=4B3VS18SM!kE@V1(inYHP2 z`${*>YB?Ae*8JnchZheXeEaa>@87?_fB*jV>(`erUx0B6j@wa!KnN)QWMO1rn9HC8 zQU}Tt3>@bftT|;oHYhlHH8T8tc{qL2LBC1&wnQeg^-S05<#H=J%;q~&KX!$OXH$lP zifQJ#9>L8|xhAVRHT-xPa*}7JK>(A*!AmL!CQC~j>707p+C5b#ib-SZ5@wfn#-0y8 zor_pb3M^%mkXhlduwjw4dk@RWhYZ<*tSUAV9x3eYyi#^d39lH{872xT#>g14FgCZb z+Lvv}DClhGVU*`8y(Qe}(9I>Lw<6->0~Q`zX3oMH2272dBARI`0wDzxS_G8b_H+a` TZ#n2*^y*Bf^Krq04Gh)*dSnrT literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/icon_help_sml.gif b/thirdparty/apache-log4j-extras-1.1/site/images/icon_help_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..43bfd56ff4d8dd78a36e9a00a424f7b4738a78e3 GIT binary patch literal 1019 zcmZ?wbhEHb<Y(Y#_|5<V|3Tp2pKn|KeBb`>&!azI*8lmk;p@A#e}6sr`F`csH>>~s zIP>r4m4CnPoH)?)>&v-+zaISi^`x`TyQbLV#)-NwueSXAa`5A=`Y(4IUtX^MaJ%`- z!``3ICTgkho9T;rJ1HfF>nDck_t$$Yni#ZrV(^M-;VY(xzrSAl`f~M?GvyCXl-@sH za_?Blje~{j=SF|M+xY2L{l}a2@2}UryH@+=O3kZF)h{nrJwIRh>|Ev3a}|$Imp?pJ zcJFxUy%VL!HfDUe161Ge_G<0(3snzKm4Cj|B*e!kE5R-+!C_+}nG&vFlw#3e=e~GC z@VRYSr#5Gt*pR+^X~L~Tg*OfqT-ud;VQ0?Sty!lxXC7FYeEV?G_5B5x_vD%Ah-{o0 zxn)lDy6F)IRwV6Rny_n8{Py{=Tj#}WoE3F!UE0yLsfSjj9ABTletN{(so|?9hpn6# zy1YMRX>ah7o}fitfeShVHq40ZD|ek<?=`j7b8@xEyf(jSbzW0yJm<Ij&u;eZEp_QE zbZX6WXvuY$Sm|D!V%3~&SCeX86lGG8U{MllmKAJ}7iLr#X_6Ua5aFN(j3IDbjS^H2 z0mYvzj0_CD3_2ilL3x6K;|7DYsaIo@Td#<D!HXLkow^UWndy0GOkg;~#KL8DfMJna z0xuhrN<@W2qEjocV_Hd0$zjJ99<`nme;iyqc+HuLO(Yr=TPBJt^-Pdh#MFO4mYwIw zg$Iw12&&j`$~dXKfwfV|DDA_C151yHX@&pdm~v?00$y<iH=CVBY&;5$(HTolTwLrq zNj2g?$44cP1;U~_OF|NpTsS55vv0`=Wu%=F)6QHp<>w@cbMsu7o<}q`shydjmvisL p!{GFbhpkJ$uq=A4eoo%G`Ip_CyB!l`UA7c+>n!QG_@;ru8UVsPTmAq5 literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/icon_info_sml.gif b/thirdparty/apache-log4j-extras-1.1/site/images/icon_info_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6cb9ad7ce438a798426703e86a7ffc197d51dbb GIT binary patch literal 606 zcmZ?wbhEHb<Y(Y#c*Xz%|NsC0`}g0^Uw?l5{C(@e>!Rj)7jHhhdgsOUdoQoueZi?7 z>>gViTe&E#V48n=mrru5S3;v}WQB8hiDz7$TU2Fg<Eo67HR;W(vs%~Yw6DwUSYOb! zAtI-{q<2$U|CW@>8RZkU)J)l4H+4sO@7jjxJ4?G(<~7c1nYFul=C0P+d#d`@bj{yi z-npcE!T#Qb2PP~z)H;3B%r(bntUlH>Y2~CvyV|C%UbyM>vTf&9?!2&e&!siHFV0_c zVB`KP8}?n^dg$7Yqc`@PxOMQ%-NWbZ9Xfk=)1K2OFF!hV;r{6>kIr6ua^~ve%eS9j zy7lbD`I|4_et!J??bq+WzI^-n`RfmdkOIfh!pgqYwSCK`t~@$#!^!1aj_y2m<G{(Q z51zfd|Mcy{=kK4s`uODKhYz2>zyI{@?vuB79>2N$==JkApPs$`_~ygc*YCf)diVLp z{pXKfy#M&+`?nvze*gIk#Q*;N0|qHLXbBUFKUo+V7>XElKuSSz!oa?}p{S|3rL`#` zEj=M8CWV#D$GthOu#hRgfH^NPHz`Z6or!6tudIJkhF|)EqL_SUmH;#E=*;vU)ut4d z*}1MJ+3|6yK5|W*0YQlwY}}E_93D;*P3)($(!#iHyj&dYc$?gAB*f@)n?~7Mn)5Ze zB*b!gs&gB@F*e|Da`5(ac688Lp~TGAEh5PBlHo`4aV}w%hy?;49h(#+>`NXTD0<r3 fC8%hTvB2oXp*9{dIfn%SiHAhk+LDC0SQxAUI7K&Y literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/icon_success_sml.gif b/thirdparty/apache-log4j-extras-1.1/site/images/icon_success_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..52e85a430af9da4dfb217d71b4d6f3a1d4a4b571 GIT binary patch literal 990 zcmZ?wbhEHb<Y(Y#_|5<V|NsAQnYnA(wsXt3pWAcd*71uE_Mf<#T(@Z9#^d*&zAc}y zrhev@Wjjt!U$=km=EE!Zo(?W-lGW00TDVq9RYTdrR$5(4(b!y8M_<F)L*3C$&CW?q z-$+(VN7KzyTuCvYD0|MHEsGB9$eP;LvSv=nobE+OH@PMIH?QqCceg%z?Zn&@i`QIR zx&8K*9rrgGIq7YBxODTQW!oRG-tlD3jwfq(Jzc-&>Bjy;4ci{C-1K14rU#4Xoa<O~ zZ^r67Ggsc6zWVm`*r`r)&$TYP(!KKb#JOi%)?S?+JH>9{m6qopA9n0cn|!>ecYkij zwyX=!4*mH3EoqLqSGiVbyFqxD(bS8XSDu{6U1jZ<u2QtwK7WmE>O70Ic@{~t&7=B^ zBD)NOoAkU&Gy^LQJ5PtV?u{&65}4ZUmfYbweP{LTy^YnAGv=<HaPIo?cb{LioN_PQ z?ohhbK6|NE#ys<cNyc798uf==<0cvh*60M+>AGa7*6wj}%~b0?7r5!@qH7P%p1*$L z@#{ODxoUwG+WsY)zWExj-aqxpQS(e!bx&6L`u)?tfB$~}{{8*?cVO&*V`-G2NeC$Z zWMO1r=w{FXnGVVm3>>=|#5rX=HY{-DP?VF<iCEyuE5;(mCz9yw#wR2sZd%~Te5_xV zTTIKqP`Qm?$uC64-~~fFpPb_imIXo!7c`36w#h_pQfrV@;N<WV2wLJf$&iul=s~8W z2My9*6IebRRzDzTmEXf5V3E`{!?>NPL-%m%>B+*~5-k^-+4*MLF<z<ZJhYTsf<@!T znZm_KyQi9DJh`%wS>r;tQ0}^rlS-^!^Q`Mx1hrB$jw<m>n&hk~Xk=#Nl+_9Nu|Y$D G!5RQ;-6)O# literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/icon_warning_sml.gif b/thirdparty/apache-log4j-extras-1.1/site/images/icon_warning_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..873bbb52cb9768103c27fbb9a9bac16ac615fce5 GIT binary patch literal 576 zcmZ?wbhEHb<Y(Y#c*Xz%|NsBrF=zR%g{zYi63dHfC-*Ixv0&H275mq0I#$=Wp=Hvh zteORj*B?(S?rNF2Yx(wb+mBp7a{m75D~}d$IdkXnn`mE$es7Uxd#(rBLhC~K7W?r| zap&<;Vf$Gw`mtE#eUZqk0+HL9Lf6xTuB8cGNfkPmEO<6a@OZr7{%C<cQ34x6_*Vw< zE%E1@<;6R}m8ai@r{9&Q*`7Poi1T@#$dg==!?A)pBLudG3v3M&nCijX>B!Sy%bj7w z8LP{2I!WYbmF&-Ixi?j6tD|K1XR2M#l>Aw*aXL%wXS3nYW}{zi=4WzsU5r%E6qx+# za{AThd85YVOsT`KDUrWsBtGknIa3>Sy(4;AS@f^Dxt>-=XPXm#FD(1Lr2hBv=9?3X zZS^!XrNw@)>eiN((2|w-y>{aB1+99DGMA?}+UTggT+(Z*rf8+5x~aWVOGcurtl;&U zIa)H3I&#vwvQjJBn`YHj9iKlB7`)(M#!e{yWMO1rC}Yq8NrU2qfqia6SyOXMYa1sM zM_a34eqyRfcQbQJY;^IYGTuzaxglKLqNQ<j83V$F+t_2Gmil_~wF;$2gf4Y=bP;G_ z3l0igYA<iX(kv3@@8`W#Q&QQPzbVhl!_C#eR>EA}OiQec+sQ#rUUjLqg_MpsPmY43 zsgmVV8EHK$eV-B~6*UcAW2+w%1e4o&<RagQ{Afz+l`>9#aAczLGF}PmMg|6J0Ey4q A)Bpeg literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/logo.jpg b/thirdparty/apache-log4j-extras-1.1/site/images/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9824c1adbfbff0ba1375815081e043bc7f9411a7 GIT binary patch literal 22815 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 E4>-(*iU0rr literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/logos/maven-feather.png b/thirdparty/apache-log4j-extras-1.1/site/images/logos/maven-feather.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ada836e9eb4af4db810f648b013933e72c8fbe GIT binary patch literal 3330 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 literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/ls-logo.jpg b/thirdparty/apache-log4j-extras-1.1/site/images/ls-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35f2f4738b2137a3c3cc20f71b31b0dabf4fbafb GIT binary patch literal 41915 zcmeFZby!u+*D!qOlt#J^A#sRv=#uV|1_|kqZlo2YLqMcNB$bx#l1?S1JEWvR`rDv) zJ@4<kp69y0_j~_&@7dR^J+o@oteHLRHG4QW6E_PW9C>LuX%HMd97q<pKsSq+)l#0; z79fz45{MZD0-=IX;P5~QKnV`GKyaiWq`NW*WCBO_XZa}{<8K~#fCmZ!Ac!2u&Tz21 zG67JI4zUIy{+7)K?q5OZmjNKq1DrqZVrC8|=G2d@99$h-tQ;JvCDb{owXN;V96Ve= zFb*h(02C^~!9@)N3cLcGJb(%i!h5)1?cUsgK=0xI&<_{*9^sENNbi;rNXT#qzimYR zdq3bP|LO-E!{7S>_~f^}aBT2@>c)8fOWm!vZawnre)D%<-r{b3xdXzy>(dhnB@q10 z4-nQ}4P+K@D|s^w3IbuGqN1XqVxpm8;$om<;1XhEVqy~#<Kq+J;}hdz-lgBSUzPs~ z;qGBz+{3zugN21dfQ5xca0{>qeu?1zPZZp=fN)Vk450T2a9|KTE*t_b+|4Y|ZS<RV zI1#`~B)Gc-7<`)$fQf>Lgp7iUhK>PDhkp{`K=25E5OF|oh;Rt-i10`#$f!sNn4AC+ z7Xgt54~itFYK#wddJaP-h|MS!r==rQYc=8Ia(*!+fkGdrzPGq<>cV|Lvn-H7GG4<> z>T{MW57DsZlKDY-P}_*x@}cyD*V!*C652;sj&dqH##WEDEZl?N<W_Z#ubuG9Xj^)O zBz~yw`nG<G3xbCStVO)D2?ZI6`_2R!C>|nUffE=X3HCge;MRgxwV^#uI+I1`7jY8m zgr+WB`}D}S2B0u-e;x*m$RaY6(&TY9U;5L8|91->{AI$;6bKXHu1#E!2<V4bu*kR~ z#`eJXao&$#51R%P-s}WfE$vR8?X9af4Wt*W@of7a@tA6#bN9G?*-wm(Ihm1ftMgYa z8rACe3FfLR=Mmxl{MDhe`4U0rYWs??IV;agIH9Ujpt{HAIo1p5kb$PvZeP3e*po|U z<_*mJy8XAO<X{AyLyOt*%K44PRDXrD^zS#I&nyUPXcVHeiEkp!Q{dGikuE2Nb#6cf zog!{)pF}z>4L))iTKCz<ZIP6A^_09H|8j}uY9M%NaWoxdx!g=L1={?QKXNhXp3s=S zHqkJjccneBQGMS)D#>gMUP8Ivw^=@w<Vs3m`%1o;vQM%V3n`aBs$Y4bgU0h<=xUOZ z`TCRyb2hN=v(d%d4+LHotJohdhH#JkmmL}wj;|v|d9LDN1>{$x1Ji~kBCWb*^Mh9% z@0&a?luhY$BbNl<@E51w6E4<*3S3*z=GHqqwka==G}hgK#v7Yfgc~Z|NS={iVm$W8 zUM(4Ur&D6J-ofY}6+dzV5<5Lgj9&1M{86uzYTuVX9w3}phVWSAH4^W%!<C!6FaD*` z(C7rI)74JEmd*(>|Im-AZ_P*kY3J-}^Oip)`{RjsV@3@8tZqP2_Y2P;FBqI&!zAsE z*)NhEd$xu(^v3Hf-*5eBOzJn9xd9n`uCd*jQy83AxyJtvvGp(fS>%n>sE0a!FN)KT z-&OEju+YU>q{Z%vc4B_`1~lWp7uu=%YAFnlqD|)omw>Q<!kZ6Uej)`1Dx1V~yyODk z>ZU|_uG2o)OupW1O7oo0wEW2eIW8<XlKtjuzEMTS<EAfv%KiEq2|){c$g24bh;Mf- zc{}TxwB)Dcqa$lJi!VjQ{ob9tYOUVBmfOc=A0H00932-gteNf}U)_LmdP<H&-dCcf z>oa;!jEp+IbSFdJ>9+}d+{ZJqt4^)0*YtHtSNZfh4seJPv-((et@f3DZe2vkqZU>h zGKBH`t{<5B{wduag{N~{x<|~GxnI=1${oi0DUy~7uhTcZ5~}Iy8ImR*k9co5l+@Pi zua~CYfF72tU5O0S%X<+dK9KnaXYMMpGs{EyEmc@ytEgrB>i%ZhtM#$-uH)?^k+(;z zY9fzqti1C#ldxQ-ChV%014bUMb7{ZX_4u%J<g21Ge#Jh;QgS4x_AZZpaK+d5^M$Zq z$fJ!LkQGwq@OFwjiN(5?f1$mdUv=4+y?2R+nlmqNK!Q%GZb}|%Es(Nxu8xGHk0Kk5 z+dbYS=hYj${<$|G__*|&ug4m3a`YTk`Nc(J`kj+{tu_;T<io=}wZ%3~@%o<xz9^oT zM(e=#nzKKtpQG7G=-Ak~7&sI)XU=?4+O{kxKk^rIRd{<oX{zgv<`gizPC13LT+{je za=ey!IcNnjlRjf(!ijOMC)7z?8hQDnkVww`CY7Ic=XJZ@6z-g$7o>Z7SN`K9HYvM1 z`HB7!Scz7JL#bAlKh^fSeo*b%8|75ipFPQu*)mYa&YO;wiV=SJ0q&J37>)V{r0xIV za{kJD<TRh%EsKcJ=sYkdG0bVK{KwI$N;$9)@Lx8Ue~Ufa*k3gj-NL_SH)w9^yG~lC zH8Ov_B-j@d>UcQ=i)_|DC%2uxh6vcK@O~8DGnKAL3p}LwasH%F+p+1rYos9d<RL3h zH;=YaZl}P*H|JC;Bh%OTXPwO4;bifq=W^wy%#QOV9~TL(GInD8zxwT3UfIdu7@bdu zShDfob1{g!ZoPOuEj{m0Z8N=n0}7PauTYeYjU_zjy#aZ|eB07v4|m}_>J@z<dPSO8 zGJSMiGXBHWK5>Z6V`?k2Q%`+npt`b>B=AFythqaPq2Cwh341DK&o`<HA)%(Sml2`) z`DHfkow&S)Yg_?z@YXhsBHN|i$%^HqmzVmm#Tb2_1@5mz=Z4iM&B8aJ<c;&@OlhHF zK7Aukx2fimogd>D?V)(D9hA>+K)gS8KA$MHZ<Nr%QuJl0xj+1bTxX4X5vkOFttKh? zgyvYBOB`E+?f%7mepXkQFzG?D>Gc=3Bb{$355Huu+n%OxdZ$Dk2eRP3%eL>Tow$-9 zuXw1p<H(A2zx=eS^n!AJ?*`O=C8FHh-OkspluC3_2|Ss}YQ3JAFVVT132#6yD@z_v z3vvvUw5w7i*sR>VlfKG2#%7>Kw{HxbYYg+P7Lo5yI?c+yjn3F~dr*zplv|rQ&c6UZ zejirFIeQ&{Mp;s@Nvl3mdU#&^@V-Lh<Lg0;cW|a@hMfYr-p%rzeu)mlm+g)3k&-ED zsxGtBUE{@R*A~y38w<0}MOenJVm@^4iYM()Ok9Q+<DYApvU)oqfkWO18K~=i+?}7Q z?Jc#hhNdCyJuRRg7xI`wX}l2O^tC(jXJ@~@r)B@m1bRY*NgI2AX8~u*!=HBis2UjW z;v3LQnMpFICnF#7n>!cvcBy8IPy7{zNc;n_M3Q%+A1F;Xj3|GZo0_;-d|=`_UhR^X z&9%2Q{=B5eskYMfENeT)MZji8;fbSn66L+9?qG!{Kdw-|p5A~)RC_FFIjkI}I^OdS zW)v4~7nZx&RGZEpiO4AwmY;5VNuYA)jb87jU#`4ucd`-&UpxG`0Sz1rUTIDyy%AbC zN^!}bnpY~adA#$*US`<4@m-q7NZ95LsAcs$eL+N_ki#()aarR*Y-#h%%b_cgNzbMP z`}}65dYfl-6@EX~y%WaZEc|bVjx`c{^XNWo<`A7boy$f~XZ<Wm7?x8RZTmXqzB7F` zgnOtdkfT(M3ac;bI;}QO+HvU?=`#miM*w|*`gF%ZXTW+y-}QwQdCbkcYEKQ4&TSp4 zs;fFtE%R(>nzBl+ZAPwT4y`}7b(G|piU@wx^=%zEvMKxUDbc%;$tCrO*B<aP`@3Ov zvTti={skA!N5oPZeos<WQkwj)n67pYN=9!$ndt+`BQZHQpg2vh9J^}5ZM$*P2?c)z z3H|jzTKhFMj4P4(Cs4YK=;eVFJ*o%aixVOuRJ3N@Z4O-AYq(>I`e~(iT_UEBs%$4O zW7fvE8d=-?W@mHheLlsxD;+lm-+)eqL^7+1`f}|3o`?)DU9r#keeloukXPO3>Q8Vz z&=$4-A(A~|SkdrGb$fo=$7hlEdsY4Soy#9!|JO}Aa&*n=*C7`5?miiujrWRXs~y(* zWlpsFn5auC&-3UH@?|q_CU16dKm8RtaI$fL_{8Ou5N}`LK_C=zARvKH?Ei(Mzr*32 ze1^|zt3WiGte4d&cag=v<ww~0Mf>$q54_(0ddY{o)5UN{!@7faKqLV4OXIz}>TO$; zcbp{utRo!W)zR)C0N{Q}q2JYk5aLz_2!n1D`dvtITY|r{=lHe=Six>#0Z?oK2m~)c zg8PlhNKW|^1G~dN2H+n&+;<q(zc6<?e*$$7$Poxo{$oP;eoOw3q?`XQv^&q-ss{Q7 z`sLBvFcEYYWc~68$6XyB?icme?%TfH23d%A(x`WsTTcNvc+p?^_ZUzD*uU!{y{#fh z0N|H5ZmXc%U=S`4xTAn<K`tOx06KsyfqbX&mf;`iw&maHPU??P@(<*lX@6FJ7k-;} zTeEkwwFPds-9$EVaI-gaQ89UH3e<ipRx@>l0=2tIssTj2whs1|K>aQ$np?R3y)N$R zVE4OzXNH=k)o=QpX~-_N)~4nzTDFQVfH>Sg+CjRb0cboRquf>GB>$!x#nRcq&G8>7 zWCv$!OKW>`dpA2k22)D?R=dg_4yfNVc5`)*F}F8&Hg+{P0}vpMXO8B-nbChS-(qel za(0%~!0rF<{v)_K+iFPZXaG(9cJ8h7|A|p@u{8e&2HDuwRm0fwA2=*ib3o4A(^bwz zRzpeA#KFP#Rw3#i=zlPySvfd+iP>6P{^2R?U!9lz0}V)`n3-D`yV<$|MKpJFXV?G0 zuJs4{pX?YWmJ$xO4$gmbF77Y=;xc~{01=R~gZ-_q(OexIRoq-%%>O=d&~1T<^uJ&+ zO&nZ-3H86=F@Pbq`mgMF&mQA#Lm*5b!-?$Om47|6xOZi^-)q|KM$fMa{p*Rn<p*J; z0pQk&?}5w!6c<1s8BqZL97GIkg#5d8^6%Ek+R49LC;x7p{JVAX@7Bq`TPOc+o&39X z^6%Ekzgs8&r?yUhy~oo4@8%$oCXj)5c@PL2BnC1A0%H@9Ifxqc2xJA6U4iU!S8@b6 z@c$bQYLEm-9mIL7@K+1J;&2q;lQQt_5Dxg%jP=IK)zwjeo!#Dr&G`1?FPo`@9lNKo zBRiChgB>I!;^}B?YGdw7ZDJ0@qQc<a`erb-wV5zjn_G!P$x*`G%39XT*<9UAS;N%J z#+2U-Eb@?A$Wy@6&e6`?)tK7T&eq;Vz*87}r(6Ii-=f*U)ORedHp1Y$53<xcN{^@| z9GuOmx!9nrrW~9+)LcAlFkT*B7zcz}$-$ml+T4U1$`5>b=HR7<!34NC1UUGpe<v`| zq_dfYfSRQA?*@UIF!*=RJUl$uJUH1LoGsa*{QUgv958kmj1}Nub$Mp*YV65s??U^B z21#=lQ)g>OS8JffTaCuRmVv7<7%=x&Ka3s!RQn$t_6MVx>7RU#KvaC!xS1)txvjaK zxxK3k;9Tgf5AKvY{_(Z_PmzD9{*!z+B7X=0Bc!DCp9TIHJUhETn{c(Z_{$&v(0)t# zhhlT!<iUT|drSF))!0!$!r2_yd5{FMF!=Up04o&A$^q4Yao&y%7mSsITY!TDFc)A| zaxk;Dc=lgdxitPbMeq++V0M@pyBhzGnD0ygVsl`B;E#Fq*Z$+*jxK<y%}fO>9GvZp zfw8o<GqyBmf9hy%38wzjw*q&uJYXl#8P31sWvyLY9h{%tO@UjN3&`2KxEkA=n#)NF zgWcS$%>=~6c%eK}oKRjdDLzSQD3lK>EzQRX<rkNPN<#TyTwv;39}55*H^9gn-_9&y zF!VQ4N6p;D!Pe~;5}4{hVu#+s-*nyohW-~>)7~2B8|=57GSH5@xumtFxyvn<n+F2p z<^?hzkoh4n9vB41%LQZr$HxWX=Hvh}6et6DK28XXp9jLp0flfv`GCw1;f4X369(V_ zJ-i%126%aI>)Zex$edi9FhL1kDQOOI2_7DPX$~G92`Il5KL<=qf(Ob2;}e&bkN{KP zP9T9t)}H3JI+E7FbKr943r;@Xzms(TM&bwjbSHE-I_khm1Pl-BAIN`pl9PvzhYP~R z!Oz2S2LbbWp|D>Nc8B=|IRQL3^cN2o<W`FJ4gy^Tx&dGS2w=GQxH;}1&`qEWbP|Ao zTX;DEr`<w;AAtO~kPqMl;B8x+fD3QoZ7ZCBYi}VS3&1;Bz_DCVE`WLq0c!#H3&VR? z=DUUbfSmxm<KgE9%Dk{!JTEW^00f4L3(61ZyoI;2{Cu~v{Cu}O{Cu}O{QP%3{Ls7d ztv3EUZT$SVE%M*#<iE89cxrhdz;Hr<DFESt@Iv??{1Cu3P$&cngFrbUP%a2CyZ{rF z7Xr)$U@3+HGX$6*z}(>mrV%g;fC&T413@W%9tknPLE=18zzA^i@$qm-igQa#NkgS2 zVZ356FgvhBv;SVBZ;OBag?RYKBL46FUl082fqy;luLu71z`q{&zsLiB#hB*yKw#+s zM38?ws4IFKyxtwu{dElXe+1$GN(g_Zze(O6ONIZF@INj5I;g7$7l;4{oNWE;pf2>L z9rWckphiT1yN%m_Csbq<G;}ybBn04NI&cscp#4QeMnOUaPR1gjp#z_)fm6{4@bE~e z@K_jtDBQ0jyug`YJbW}70w|$sEEslQ%-HF9DJ>B?CwE5ckhrr%Af058<~L%JJ(Cw^ z^a%`FZyx9ZHUWwd0C5yVR5)~$TTLKbL_8#98Yl`FUrZI%*a=3k_dGU3oR(0{<UU$y zt8-lDXHGho#r+p$OA_j)nndwg8m^=C#Q!`vJNd1fm$No`c~1N1Btj>@pS=^alh%OU zBjV=|phDp-F46iD6_8dit;q+|vS2zj;qppF$>pK9#&j!~^&_9Ar<k;DUQp`u;jg$8 zroQ8})Ik%>9Jtus+v$-$+HS=$$pY`YYUXs;36#GZ6oAUG5d|A6WobxemSy8^3@60$ zR}Y$k>CAMy@|aiSrQT+c#s`ry?tPCh#9>KfU~xsf67gI@!tN`6glw)hj<Re(5l#y$ z>ZWLNBd4i#3j1()?&JO9wRD?_w}H4jPlrx?NU4^Fe&IF@=I9(_N|o>VELe39Stso6 zhh3Z-(41?C_Q=F5$%BNl7jS1YR|yA~{R|o}AOC2HwI8RlGnI&?>c{x3c+a_)ucOdV zqdOUewDD6b1**W2nE}jjNdE@J6B~|U7WB18rox&F*{D7vOfSQAkWNXX1<RIlu`a6d z0ecipf}ODu0v;R0-pi+lf_1v`G^CSC%<t)e`#={zC6CsZYTNoqRz809ZiW~_F5qyg zkQ_!7cAlio4`k;)#{zfCVv=hk5h@ZfX+_p5n?Zs^wVH8*8_+)1`;AdNSUyQ6JIm0) zXh-2NHaV}s=U}C_V9Zy#h>A`GgY>dKjt9P#$KI<M%t*&ri6Thg)n=o@dA1u6>kTMx zj`#i~&rp|Rb$KFJ_^U;;jGkyN)?C}9b)0O*MKP*D@B5kz$8kb>{XZU9R2`3%I)L|f z8aqnWv-E>ZeM`72d--UOv!v<>HhBB(tm{;lkipiB-Qi5NilR_ORr0rjxw8V|`)e}R z5CZ(1FyR2La{WuBVjJ}{nb6Dh&+9XbE0-8<?fN`mYcfjd=Uh|khqwhTy=-viuRaR1 zd&Q@8YkDX#{qMW<?FFxunpH~1s$Lgk3fgTnEx{c}e-<f_*WQxXzWF*oy2AVtilz28 zgelaS{JjZrFdS33NfIKKdcZdI!xyA#m7xdLmu2K;tFt+_SM3qvZz)z;OpEA$W|2rH zL<`m_^QUUr9gTJ7Ag|$$cyq2&)-vVLrg1suhv!;~u5!t~d0mKJcObQX(KbX6-F<C~ zVz%}G&o(;OrphK^aX3*ruCg*`(b!_X#TmXrX1FrvgQ{1mjw>4@E+N)Rm(=r7rn+ay zoy(1od#x1r^x4V$%zwtediDj^jJ0CMDO*lsCrkp`hZl=8&s3Th?!YbIs5>^uTFxl9 zKF<|vM*q$;(m0W-YFlxEz_GfPo?lwX!-lgi>Phi8k?K?JJ`{9Dm;LNd99x$UD#P@y zGf{TAOMKQ05^85zc_Sbx!(X-!58RXUJW2-7Mk50g`+5rxr1m?c3?6#3gEO~^MnM^U zn+EMNde9or2y`n_h|kYleXB<0_g)pu@S=zjP*d;H8bs_Uzoxxr5sHLTqc_|Uwl5e} z;Y&}(AySl|_4Ok}3P#M2m=k#EG^6ap65<S2c@1TeX2P>)Uc|!~kTv0dP)ISx=iqGM z;3dsIp*WUyFeK@TYMd#w!$TZB#bh;|2~a9>d`Nd%`JB7v(q;28@ySQy%j<@>BR}N( zj3nXg_w%T6u&<~IUKFpMmx7B4ka~{bOAi$dlA~S`Dt^r?b1p+bN5VVGPbsQ@O0W|T zf`!Z=DxJtb%xL7V_x$GmMi;u=4yHS%db#b7%X1Z^w{D;C>B2I>vq@{@Wqc3EJ|}Ns zFh*4Pf)L;P0HinL3|w0*IC3_fC7WVuTcj?1i8?tmfj*W!LY1mqtyz>hqv5rE3>^*$ z=r<rHN${wF>;X>WQv$TFbUVZgG$)NF8=a?i&&?HSAgVLmvB_>!sp;))c|SykbPUB7 zn}LJUj6!<a;DuBz!xa<vbRJm~>jiCyrV+iX^x)^E_LmxTQIbytFEy@B8_KoA6C@H6 z_=NJml~Px_+kYBL!`gVjG)A^P;Z1B+nQs}$qCr8zc_I1sW8ErroS7*Aoz1ezxO-yQ zPJ+AA&D=bc`oYiWI8-X?>I;>pL;kQEP(l}0U%bQ2C2!OEPO592sybKklQptY3^B@& ztB<-ANDN&l17xGbFkNT^d^R0Tc?l2H@rh<&YxnU4<lTNK6}WE}nWbHr&5D<mYtHM0 zmrg?R2Ik#oUr5_0<=aQKq{PV#*6byck+HB$_9RF>N1QE2PN<wneHS8&i2Z!yNqUpY zImvmzzMpF6!1A8Gj2?!uJcH{a4CG`;(-4bkmO95MtJ8Q{sbp_bGb8oY9IX2Y5<bqj zBgeQF=2)WlDoSvPtpFy=`Xu(1QpOy^i(pv-yzl@CG!GC(j-$D$8OmjqqO&!RfDU&| z_e3gHQ>Cf*GI@NI0-{iSjHTV7JepL`3muH-M)F~*7;sL`Y)BpYtX?c=|2x(xeOq|i zvo?pZtsJK6D-pwUwc6o?o1yt-dF>8O`EdC{M-AC<%SW@>ng*)O=9?T0;fSi{uW_)& zadM#{UqLb>@><Pr7kb~W^x%!_`*-xp(C*)3u;5vy_e@L-PD_rh)1E0UXcI^(k?2=_ z!0x$|0?lTkUD_B&^*}P%?5h#W+I2MWUg`|$EF8`=J(<8R8{brE(f8}^STQ$)6h=h1 zB3)p_A5hN^XD!*zvjtZ^Ue|sR&A*@ioXI%^5>JaCOVUQ&*0DsIAQ$+w$i8fHX}Buv zOtE6v_>+7IE5BNpqr2U5cc8mX8u+7Su!eqCyNm75$)8&dD`j>ajpnw6UQc9A$eF4Y z5{$6-D(mK(Kzkp+hh5-Vci-%!efLW=P8f-(B~BK^RMrlBApbohtgOI>rum+Y;|(Y# z*@N<8c)2e=M~ByWAZ*!u*dC3~H6uU+QC&ZV1Q!qC(@zFfd}3dJMm;i?b(6y81$OGP zrBABcW*kzE_O{4*CL)5}ui`M^oQ1WUna_0(Eu(V3kbCp!?iqLMpbNxq*)g;d3)xw? z5j|qfKc!IeMD97mOYxwIXT<A7)Z9Qzdbnu|iW~)Zf_vZ#WL^`{)J1~xO`L5}r~|MH z5f2<VrlVzkZiOnuhl_`#Ab3g|Z84d#N4I`Xvz#H)!$XfCZLJOAU8;rf$6)sbd!`qb zhKRm|OvxV0e02SG*+Gq)=jZXbu{*`AH^k{@GU_@Ajn{tAD!;4XYlc9}hexX??~Qf5 zl+l>Y+TLe^AEw0G3Dvig^<P8|ujFzaSf7lWnHjN;+8EP4PVTv9q9Q86L8SM@;ym1^ zb}9CmbeJl9z9K1yShaYYe4sb{$8%rmiHNZu#ro*qKj!XOtXq9wdljc!J{tYJPQYC< zgc@wD;M$#ht}tps;0F&D=yaYZ-?`|Vj83J-Ggl;8JxS^|6>WrbT#R@kuP0vAhbN%b z^RsJU5-p8DKZ2QkWBdAO;0HMCld%~(p{O`~!A5-<Qz@ogK?JVHV`qt)SreS%mQ~v4 z9Is=)ZjkdjPJa}LUOWp5z6=n2C3$apUPGIH@6eWvfJCR8Opp-`zV3zi<(NFYrdV_S zI0Pj}X>iK%NuJ`MTOXZiiaPcfRSj`|Yj`AEue}3<0+LO1Bo`+nm@=W=x7%z656rqK zM@VU!AOFZelXgUjmH}&>$TqXFa-O0a4R;H~AC3G-Qq(I##(`4E_k%;A^E(>0#aQP? z`wlc}JyD3pF>*WH)Q*i-zf%n7j!)kknJQZZJc<%qJ-R4jw<z_(NqaMMR_LoT@ghsh zZ=84~MP?6aSEbF{jT!U_{mPbjPpn47Wpzs1Q&WN^D<p6~W8at8x*{&M?Wa!koQRg4 zO%3kB6~~o4;T6L`A6OzuMGN%knK@V(FtQ^ZfXJeVqf|sc-?qiB%bxqDJ`^n|_|h|Q za3);nokE*P`zOgSXFBDRFiO85t^=Vyut|%U#Y^ZLdP#vS$0rjcbnWl#_zRvd(wG>X zVcYigFFt@**84e0*}01V`;^}uM;M0I=j!vrrc{Pmy3;<T^dw~ihc7$~Y)<e9q2qb_ zm(pDQ<Z|K0hN@D`6w5d%;jq~7q%0o9&blw^Im74C#fR7jH=w=5c#nZ^PKgNiix&)Z zF>s02`f04-b4dk)!vSQ8_H_vra^kwVtxUB#JcpJW5Ul#aH)R?<EXL)2n@6g(41}cb z)a=jIi$r0~!HZL?)@?la)X0dv`z;0EJ|)8fP*Lh1q`2@|q=7r9vz<m6b){cD#1m9T z`Z7QmGT~)dy5hge+YwAh(qNh505z&{!%mtg;VN<3NpdXRm-yuL@j`{m<;id><nad< zku}}c9V#CAv4CxJTMvlvmXLpJ(i|jG2cpJA=a!<N_Hhg`J4;PORgYC5jQqJwhS5x; zVWbG{?j%3ok{{03osQ;YPO}re2`*WuHU)1ogq?^ZlSbM1ha$b-daz?_?cVyoHC^5P z)RAWtPasNoRr;VhQD99aCcK3*YbGIla>#IjJbC{H)R&IPkMo(N!-1ViHa;Qx8RHK! zW^D^=R-5ipx#^s^ciqfY-XX&}10>1f-Zr$^gQoD*4o;(C=BkHt3>G0|>~4zsU394H z*Q$t=9jRwV?_NsRr$)H(6iKYl%lY~5cMo>Y`}oE`96^9PE96mZcm_A({_?%WGgXC` zmKuzxHmOY9ug(W@%iRK_E7S`e-Fy2#KXAe|DOC8B{yag9Thl&sXn5bAqN_<V8jl~b zhtcGDH~qXL&gcgsb}~Uqp+ZQ~YKQlRtI_5-9T_a{UMTg%DWX=r66VA~13xZIF}Fj9 z(8%wrt;|+_gkk=fy8N$8Tj_93)%KlSPlF8w8TnY-`tCfRR2Bmy1?+(}TkpQGQEfX^ z?%MB0z#lG-lL@8<(dMwM60#EUQ;t8zlYeN!dM;W|!q*iw-z97hrbkK<w#poMOUJ+% zqKZjVV=aH=n!|N>sa4xF%8-p&ln_l5XsTuDKgG7#=Clv(g>jcA$kh@$FDiu_ZY6Xl zqmw0VlIJj@1tI7M$bH(CznCsc$R{-H@TgVdC>q^-RHns3cbUI1#Y1_YCbMKE+pt*h zh}UWefqWVi8ej{e{bU8l(ALP3ueVA)Jj8+EScuok*MmlEh4jG`C+)S-29kcY=Vuaa zrXB(NGF0+aC>{>ptG27}+oikquk)+*)lz^fZ%Zk^RHmeN+Ww6!y002iM!K?Y5kBtN z`4J}`akgNOZn7mSZC1*wbw>0EMsZLm@^zi>?1m=R>)gLxB?4NH*|3C1D`sB%2<aid z^cZ$_Ao~<;HiL-HBIvavsmCjeX@r%Pgy1xsaBOn+I*Y;CDTcJWv%Av%EbxR4*S+WP zfmLjqj2%U_K-5fy^Q?FpH>xSl3I{4`K){Cl4{Q0quA5=tEk#{kd*Q!{p+3D_3+#+) ze(UL1VAh5&{*Bq_yEiG<rNzR~&@sz4<`8%^{>9VnogpE@(o!1SGx-lXw9yoHZ@|7w z0uJ~q7m)fCiPT7LOEGVzYi_#xk5u-_;Mr_d#HD`l#(WRij4?WQTJdSKTWzpi-Di^t zswr0@vrfcKXq9s%bbEuf1u<d?kPOw6sW|6Y(I@oG>{V=koc~3)KKPSV5u+qoy`1dv z{a7KUls;*Jr^8Z#?Q|wYa%OLNX@&$$)Q^C;kl8mY)!Vty$zDz3^~=#NCdMr~16`$o z;<^xV6*Vt6MBsm3^+X=*oyI$HmRCjXVzXnjd$jjP4JFEy3bav#A$EN~p|i$bl*rz! z5iq5{0a4{c2;)q~9=R8N7KcjqYYaU_<1A*_FzbI|^&;C<BD!rH45rE&@w{YO^L>LU zgv!r$&~)ik_8orvzLGdE-9%lyqx_p;`J$Jj6lCYA=RPxs&#<;Vl?Tat>gt0@wRodA z?#rN;zCiF1^DBH`Y61slS6=9yjU2$>Rf|R<ictEj{ED$lK!Bdp1w|ogU#zEJOoJC# zbBHB2#=7F>NLRaXdcyDr!EjSZP`N^DxU^UAsiP#$g5m^Xzv5;HejDLAj%TAfo}(aO z=V44UTw`!6(?=kDC;e#4$pZcaF;<Ivog{miB2=B#otS<!PL*3Q_>u1GjqLpGk<)vc z(T{q4D@NG0U9U3*u`UpmpOD&43_VmKS>Flqi6eQeB%cpwb?j|Ud1@YsSIGS&5BXSm z#aH;CkbJFU`QV4nBnoxWQFVnZQmjOb6~0M^7-ZI4f5L5mq-RrrEv>>JA*$lVngs@0 z^2fuf_QB9}+wc^A*J?&$FLi-ncI`>3=myZ4rg;iEMH{}C*3nA?taJQFi14(IRn6}? z;rt4moc0qf&V%-U2u+8-@exXd>VL<SC)$KNnbkqEAuthrAoufIc3Uj3e4*=GyK-_B z4#LnRb|#8BMAUfK5$2C{GPeDrQ78NZGbqeyoaCaC?r_+Y8-3}t0zz|6t<G8TRMXOC zdbHk>Y%l0zWDx^5$5&>UM&YN~yPC3|m7p(sf1w&&Ceax(3&?eau|5B(`$!-NG#k$0 zteLWq`hv|){mpA6S}moSh@a2Gr0^_9&$+vENZUS~KHnux8>TamLO0%mW0t7%mBNZg zH9Ea)raCM-#b9@tAwzk3|KUg%Edh0$m}l${{poRnbJ0;5y={~zzv`-oH0`JQPO<UW zEd5}7TFGs2CpElAup_x{)N|Z7P`p4f7I&7~xim)j)yNgI=TrIjXeSa5HAc)!-NBpZ zA7?`$Xh~u&sA1|8FDE{mq&}$G^Lx-J@p@Wo<9RH#OD>mNQ|wO#crl7P%2<%v3h#S8 zAC@f?qsvaAjrzi5oJs1??r@rI;V(<k)LwHYkEK*rKO(&qHUc7KhCJ`mU3KWVh<W<~ z12~jR@d^p`J1vFqH$p}G_+k*)1#2$z5!jESWMi4kRce-3_kE0c&@sBNx`>KsISyJ4 zx^@Qbd!*0;kylsNtBVD#UA!p1Q~rv{o0`iVkvE_p9F@5rSf_MD=_~a{O{2gCTO+GJ zsgm_{c&@Me!5tE>K?~HTjc-&RE}2M<^0v$xAyZsW<uWPUJD`e29*>ha;|;3|62HHw zHU6owqf71mywdYc2dyummv#JzdamkS<Ub?d=W=pdv3+CZu>p1WMyo7iA;gWpQTvz( zI_qr>9|s@n(xn;HAxR%7$4d1HWJaUXpYAJa;lH0e6_Z4(#dNt^MHEFREopE#T1;4N z>{Z!fI<u#UTy&<;K}r1CPaWt^=V71!;#(;XEG9ojc<&uk*M5~X)MUP)JT7HuP4&#K z@!sd&PibOGttZ2Mkat;-rm;7TZ|&aNJ84ZsF8Vi^eYpSlC`C=<f=+7bG3AL37(IVe zWG^SJe7IMGxKdXWD|tEcD{10K9K?v)KDq;Jl!?;Qk!6(+SAnGWdTDMzPVodr9hgRp zblm|J(T#{@-P_zA49XEQj)UCDi;E4r)X#i&Cf<5GIhdf9IhB@i^2(7zPfD}W%)%M7 zndRpQHKbm3#%3l<t2wbJu`|Ts9YFcI;>LB}z)+s%_p`w%^$b;ZM)sPekSO^1J@0XM z)RfeKue)CmHv87QX(DT6M1D7^){sfDf&5xKHLZ?9;A)vc^5wRdbnt#Vo6ZL1Y@)1l zI|g6OP}lI<RcG#OnUHXU1Bv1|Rc!w|q!7*U=QKUR4754NVJqg44fOXl6Z6s6K92gr zf>f&ffkHh(3t1<}7YTi+k|H(BT*<_!nD!@~?_V2)zd7zDOTIL<TF+$0ZyI<w@`B6Z zVELW0QXeUPt<&rma=3A8+Lxw|5X|sQ2d5^1AZSeujn}z!h)c}D&qGRojuo9I$|V=e z?IC$xC-WrCNKGRH<5V`Q(obnGro}jASOUjcm}1LZWDk_uAkiplVF_!jtZ}lvOtiS6 zoGwXm<OPHXoI)+8juDV#&4-`AYMqLLj0sMdf*wwnq%@e8aTrV|bj8r{4DXwvoXyLW z7pR;TWnW@H9-Y%$m}lJcIhp3CBGEb2oF$e>2zf)eOf4JzGZ{Zq0FRrN!`RWz<eogl z_sxE>Mzpj#)l9~AXnuAb!_!IA%4Dl0xGk&6&SA|Bg2^wEbzxq|h%<B>Wz1kUJbVy* zURbWaf5QHp`pb|Sr>i;gx7I^xTyezt37B)!FJFOl*>q)OBqm2w`Zyg1TVj{`JFO;V zk(WQ{#g6KeO`M1z9B?~Vf=eho-6dIyZOV6cy4(2kYG1w<|2o&5N?1_vP0OUtMfM9l z19GGmq0R`iwv;3M^H=!r>88F+I<Q4Uu^yfA(iU0RfkibmsvPKRr+;ha$bO`m0sKSK zmkDeHy3AKE^9UM6%ByQM9?R6QeCv~G63W1lN_B%{YgWuhd;NWrbv(hBkI=lV^>ar? zJbw|D(01)^e9fvpiA`|Fs}t+gc=EFZT2gLt(GD5v$kfaioO06DvkXz%w63AjayU6# z97HuS3j){q+T`NpI#16~n4?wJwgrPB&q7j4zwNotQ-o2k*t<WgJ*L^%-#=heeA&w; zZlR?c|8XK|ky!x^Ukb5<UJ`L>QKkBlw&bzq^B1cRzzcb2ec(YCtsLk21-8eJ9SKy( zwK_ecDb}<@i!2DNa8)@!O19I+rp`N)s|T{)UqUiVs@wsk)n_Pm$ERDXR3Tb)IQTU) zYv~p}6Ij02^HwEXXM)32UTHAQ`_rJdtyYh8@(-=Yb&NihgTf!d;_Y&pr0}z9Sofi0 z@CmBy4y70Kp$K9&Wb?;rMU?)V0}bJ=mu7Ys=f12u*XovWD6V?7&$Co8goq^kkbZFL zvgGQSStsc6Q75=_BlYa5>lckts>B#yH_u+DXp?^c7G2wnz@L#{irVSRbcI&a(GwkU zCD2UxYr4K3TN9#YGJu~wfsiurRw2*!E08>zHo>Zu$mYDxI8DENozI!X&e4zjY>~BC za}FBRy+4x~V=inK>!cY~56xuiVv}bMlzZmEApfjVPOfsAIIJ*3HzF&Wnxd7VHj*b9 z)L3x?DpYI0%t+o%d?&k7sD#}o(2U2F)JACf_N7LGVSN}RE;)^C*+yYQuTCvlC+=16 zGO1`wc2BP=W0j{RgR0b%_sL&3k>C)lM&&NN{CYK1iw+YXtkj%WyfI#NlL&OAc>#tY ziBA!ar?Qju=)tk^-!C_=7}M&*e4v|BI44kmO+EDioxWU9+BKYRtHLbgi3DDWRAg!M z_Eq}Ej{M>NH;!`p+`Q+_(GAl9%R=|XmZ$p{zQMYeE|svNm1-Lrr?+BCZN<;<8qTAL z`^dCyoXVI>#qw;`=0#}G^8`h~(42`v59+CJS4Sm9F+8ibl}mm-X)r4A2F%?$SSUON z!X1KVa`bf4uRe;Mr`NzfGJ$fDm>D;4AvcTeJs}}IYSwjcrjcUGq9zfoY~=KZu1aRR zgGBZ@3bS|gnj9*Oc}as9JS%!@4=WTZ13D*Z>b4i5zMl`~9uq!0Wd;XbJPXgqWd#uk ziZ>-l>hrn{OBc9G=?T{1iRMU&{A}or%Gjtm|JElzi&v4(aE2S^OvRDCNu1W!?Fo6h zQ8y7+&o=Qj%vfIWTKj4Jp7>K~y4YNKT=DF%L=8mm3!Bl<A5&u0PrjWT<;WJp9gxny zj$cg+p>Y<#;5E4viBB3~OlGW@vKI;z7HEvgEIK^3CK_9d9U4ZA=MJ%C_n<S5k2+QC z4)mZXJ4z;W)p@*J$-L=Y5|49y&DpwA$QqBYx~5<I=ws503vq|2qW$5+@d8{m@IAUR z;b08n&T@YeysNyGRf7nfRlkY%8z#7!GhnanwrVdeu4Vp`9+?K~HN;+_z`%%ZAEUmX z-Lc<n5VhdCRp=P2B?~xsn2(2S#aogF<?q)Tm3~|?r_rhKi%q`Z4yn_0J3fimH%ynK zayZ}6?i}gEeEvdzO%_dAyK*H*H<8R3=IXBVVcAFMpd-xLu7pXwRG1V^TJu50wmQ95 z4|{QLY`DDJrcJ3e`i`YTf|cRk9u9{ZZE3T8qnBZV{XVwfGc+yZK~#mDv^S>p3*>P6 zeHsE+!KQG^I{1|=R9=Qd_pf$IF$i^&3tG#9jTv@A>F^_`Pi4)62*uQ$hnP-!BlM@2 zuj@3gqu-`Hdq6=I%YPVr#vfWnMd^GTJsD-|c8QIu`^+Lcw@A10>x4Qp{Kgt@Fmstz zjk1NV<}@VB2=-+Z`tpMwyf4SAmY6i=mi>5c3v!|ePpwJYQ;d|YWcEP!R1IW|OO_ax z49&#$r11C$Q3c#`n@iG7z5T+jLpxrw!_g~nNAZ>@_JLA(_cz?lrD0wW36F~bmYF3g zrdnUOo(8YCJ+-tHQ_xN?Q##JE>eFIY>Cz}Sdga6_?SVj}(xVL*{OV6}PA|<4U@h5) zZKb<u4o_Ecr^9gJt6mF)%wJp+6!u7(^*<B#tXk&ND>784d6eARZD0*ySe|{%Tv%8H zcZrbvT|=MZ(gfD8sQC((%}7D}s`W%!jQ3raES)P?A>YU|o76OuZQ7nh@|>I*)@Rxr zroFabP-!<jd*W<KSA-IAB|j}~W~~g{q)e~sD-p33oT`}9C0b-;5fNeHORhqNk?BXf zX}_cRA72()Yl~+&uMDcLNc*<o`0QqA73hrjJQAi<79=*_qLixaeay7Iqrwy%=8pK> zP3|LFqW#g1n$Sg#go9VxC#NTYJNYccF;AKjNXq7UU>E2)nG;`9$9#0t{g*&L6DWzP z2$q?`n0<XF!<g|kU(2^5o-&D~lH$gf`O&(5XHh}__&!k01NTwmINg|o{g%z#4ajo4 znC+oky1y~&^_=#3;)K68$92^W$iZLciv4Q-9DAUI)#b^}$lZ3p?FNsAd;g5uau*F^ zz6GYHL5&~*zC}Z9r#zOSG&jS+y;mVA$wji_y@R4vbOnLgtxJ97a^^^C4Cv35aSbkB z?%S&{Jd{2y@8Z#rBzR2}ty%pDaR?@tjqfXPG+&hO($<hL*x*n1rTrO$G`X`MUuPJN zi_KFj23;Bpgz}_5_Ptmg(N&oMfz@kvYLQm$^CL)5LzKI8ykd=Lvu)Hf#_AQWa!nYz z+WkZo{cZ_CpV0zJ%xH4>Ji@l3R`apq?ET=gsuf5*3XA15IL<u+%T+*p5MRxE^E^~0 znkPcT>>hgd{8^xvkixa8q4<(eNwodtp;e6g^uB2{Q?hR38Cc5I4r~!in5|1Ji$9Ht z^@>nDf2${1i02UdK1XSjM`WQ&m>6SEQl8c<+h;9`O{>t)5_&XE)|zjVE!bM}xSp=a z=7;4<wy!h4fBlq-Zr6uaID0h}dAZuS9s*kts9&OsmJYTJGR6uqDfoe=r*K~jt`Pfs z)yQ%4(a=h1=ZV8Wq)-jaP2z{t`(mzq$)rR4m<{695^^g{kkq}E;o!$z11d2@GYP=Y zp{Z}llx2x~O*y+2s-d`mhw@NS!04sS)&(=FIvu?(0jPBJSf%%>MnACh?Kw5cR7PGc z?sr<3Z8_6g-X{(8YJuMrJvLmM-Mn5`|7jUx2Mh_;R#5%8?Y_O9Yk2tnTI=O|<6yO+ ztXj|TS_Rar30bVpF}apSK}yl02?{Nn0v!b%$MMcA9@I3;c}A~**a>Jf+@l};S{tmR z6c0l*>U~S^$<ZD@RKZ^L^iG<m?;z0@chhy#r|K}ra4&bQexzKS9o?`S=-I?ZAJg&7 z@F7g;Ec6r;%>Xsr_Sqx4p^mLsGk@C}f#4v1+&3dX^M{xuVk~yt;OdyF@I5d;;&Q%+ zI>a)Y69fe9Bo(C-5NIl$t1B+n2BCb=nmAmi{zAN!Tq8fFz=$!@tcJ!zWIDd;h9|(Q z)qv%Y-NaIEvASkg@5j6|jP$C<+-i_+6Xf|BzA#o1F|M0R(y2Qq3`wh~zX>sGQaBEe zF#jxaNZWCpKhs2AC*mXBeP)s&Jr51e%#(o6=^sf9PO)M^y;7@1@swy5bDndQHWfz5 zu9mSxB_Hwp@h&x^<3}&^W9R*XYCdrFPeVJ$LLwk|ePOhyP?NC-*~^KsrtH+Oi95dH zML{p=4Wz2xE%6A%IZjFz$VoDnNszBHV6BmXgYu<0a8?zc5aP%!gq{R-K)=-an|U<~ z>pfuKf9KTQJ6~m|DqF3N8H_*?qBay_Mhy}`iYe-$BMa9{^-m1$i?3O{7h_4xuh>QE znQ&mp-LHp)`dDnI@U%fR*b@6*)))<PSo~rIrgh{dvc){=KF=yk74#s~zTAlKl(O8> z9e!g<6s)`?@(haI3pQ-l>PTF^Oq-LA_Za-#`9QuWy5)6E<plSnW|PQ(i9pPwN-grX z%SK*`V5Be0$@Q-VE1b6CDY6xkF1TvSLbc>H$WTIaE641l_d^c#j38Nt;2%#X?KddD z=iyq)@vB<9&Plx&gRxCipN2B56piu01=T0Rh(&p~7)gzcC+P=5sEB&XQ0W<jpP|D{ zK>_N9Wd*nlivd^~`tvm$K2LJfA3BjkX8Xcid=H6WjO}IOQM46bA6W0dkVo90d{5f< z5v6SYao9t`b7hyf_zfARRwarFl40rO7m5qt(ai=m(aS}ZKKGKaR#7uLySF*i!2$1| zZd1?ZL6cgLXeW|o=M1XePIzd3i$9E$AXJCvy_P63LSBrh@mrR_vzTt78cZshMT^~o z>IM;h98-Q(?;|a12<TeJgbT!#G&)_$cM-Sti8^RR(SvcZ?t5Fg8De6{qauwbr|>Pk zBn(ku42UYGI9k+6=mtUUIH+GRx>g!^O=eF07^i7%C+#w=M`k%QHi^^;UrD!+osa7T zQr3m?B%VF+KF?eMep%0I!Y44Sa?QaLQZrFgNZ%1NWl1W{H-^V-W-Us}BT$j=$Jbjl zsLi!*m5XVNf-6NB$C5+E^wWJok`7N19Z{nvkGZ4tG5R`G(M?L7Sl*ad*Q-85hc~z^ z*yCrjQ)`S{OT0$n<%#g|{Yw`VoxT7!yi9HiVJQur?Qxm$`O&JL&QA^2m7X%#4#CL! z)`M6YuX^(dkY(pwA5g5;m8R=QWh9S{W$V5i=zNx<q-RUvH4<)LxiTJSHIw5yT(gut z^g!M=E<RV@oZe6-?a_s(S}g8NizCl;5JH;gq1Wu52gSF@9n5K0obp#GSTa(=@EvsT zGU0~dkwN!p*Dal}3;Uy?)s{{rjGnYfg-s(!?VXpIi-g{vPUmOv<j8oJhhy-c#?QWR z2Wj>3nL?Hn4IAAt*gBkj4+CW+<tQ|M*1w|r&fRH4GeQ}JNw3^!mV24gYqHRuRMuBl zoD|jVkWi?~5q~I>U`rn2747pwgr|dC`N#WvBUFc2E$5M6=)weQXvD%%P18sH-!-yl zQ9eBnn-L1D^^?J{^o=lL$#C4yNLP?CB2anVDy<a%RTd*s6l9vWrCv<+#>cL@M@v%$ zGR8Ql=Gkjl&1&y$S1b#B>g4p`-pH%}T(otX8?ThpAGW+`GdxDjfK2#^B?Jvlmb-}; z>wuT2H_>s*{c^e16mM$p9qfAPiJoXFXFCBSeOZoT-c%obZ1L03R4OdlEdAWD%mfY4 zsbQQBb92p$_V_WjaDhDPSD2UWl)$fG5s`lEX<e7kdG>t1?vu1!PuFxp1Z3L%0B@Ut zemB|d3mG9kKPPr)bUwrYHK(GL)HcIiu(Qc)?NR|7+x9?uIw7@6s7`Y5{4n#I#qjpN zsmvRkCufdf&TuA$%i>*+iVnNb5}6Wh<M_;2oKdcDjlWh#cpJUjwrz?NPn{XM3^-U! z&-)@x5rQBRsbk5YHP=02XJ=^}KX%c<pd|CjdC%Rdd)ve8xwJFWu(HY8a`?s}J|uZ? zvTfpcs==jU#@}`7jA5jDH`P#roIGgsWkPKID={s&*Dp}1qnGk7FXc|QYxkT%r^_~E zIBmO#uGG<4+aHtqdRKF~pDu^)VjtC<5&%Cf#{IFlHwQfSxFPAG{3E)8{EQ%cA=<sy z_Nmc_s&dL_=($(saG3LDwhquM5rbzoW7ez7G+lG)W+xBn7f8(Vlw*=t7+$#)mB56{ zDDb?up7LqL|2W5c)Pc1eXseFugJR(O+~IsKePk!c@k65Ri^{!8O$WTnRp;j;R$*o0 zuQ)@R(iqTU?=z7u*fR6rGxWg2;W5@s!UEvjK_e5_RIXFA%@XnvLhkFu{+|;gkR@sz zl@z}@z9~1bkLBspVhMTCFvePYf1UGLt-SaXqfe@=MU#C>6BOvS^52U{bNzy3)dD~s zo(Zp!oROMUqTI%=M%3xoQ{FDqS_L<Bd$y<^Pt}q!;TqNmvNjInA~V?Pkv?T3ZE2!Z zdkhoM8BimVr7pAPBj}l7s*|u!e?!qYm@t)>;-3Urmv30Ljlo||*=}rx_K%y}!-lnd zf>xi{Ddl&K77+f7OT+_X+PvzYVq3jGZ!2~b(Gj%7Vr!_(K_gvmtgnAr5WbtFxTDu| zM#avxKj!_+t!JpBhW|sEyZ1!}c&mazjdg*gvb_z5E?a}~VTvzxo$ynS^hRA(Dz(>v z(Wn?D?~83p91gy?H21&j@Y%=JsMjH|50n_3F2H*u_mZ@dk+9sfr+<;RBzm%jSPX`C zE{pITt{4%?3r+cUEPQwT^maWuxx4GXgl-ND^1Mw!9i=UDn@lAm%~wL5WysSe?KkF) zTEw@FmkdvSoIp*ZPL161Xad?hH=I6lJY3XidN4hxA4rdSNU`6>Z0z|x^v%A6PDq|M zJ9mpgN=bBY7f!V3vd?y<-`5_Zmtx#{4JQ<@@esJ6;SVU)P&<CKHmfuxh_kPxCXGef zghTxZmvf(XB+O{*kS>ySi;I~P*bUad|Nds0)MJiUmThh#epOqaFxnu3LtyEVEm{D+ zLF31XQVYcNk#+f!k4*~fnnK!29ryi-N?b6_xp&I!8s-dbpl)wpRjgo0R!*H-KABti zEcGd_V(J5hpnha3k7%R0Vi2?StBkHHlH{u`-}$o*%`!@DR;4gQsp^nTJ=c8pZwYyH zFXg4^w(z12xP8{-8zlFhE1+MsjWa^rQsLz(G-RD{q3F~ndN-hGf0b|Y8O86^YVTJ* z(|JqOQd<n`5qT^Aw1+7o4@Y^@P<HlhptHnW!T2EGK&Ohd2c6<4@^_P)Pmwoj9;jAB znEdrNMLtZ+|5zwt_K9jsm_G8EM~1QKRhZYSM?|aE%#kZ`Ykgy^RIZm2XGNbiMgBaV z@f4~_TEKw0G-PY0YM&g?`AFHAl9bR!w*}$oY`9q9+6ZP-=%pyX-hRm$srJ?x7j2nv zahrL0bV&~)!)nr}ppHperL*<}pE*dB%stc*0ZvrH*Xhj3`=aZ~#>sHj+_M9kWalQR zZ&c}e^p^$TrEf&7OvmYpteKu)EwfqK9{$w^(N8HlwE%0Q7^Ck&46|ir+ppp1H5gB1 z1B^QLuG4*)znhe>ka!R;)0dX{u`QU9sPMSz2W1Q69LYi=fZrvplS32aW=IdrdK#@A zD`xmIl(k<9qgm@Bx{g?k7g(B9rsY3w`aQNkdf?>ny$QToQT^2k<J%(T=$6`Xm*XCr zmg8zaonDd;!+__{L@bK@jA=R(uuHxRnxrCFC<$$scjLm^09Azf4fBYegur@8ij;4{ zA}x)(HHwli!T7@SQ8@`(Yq4M~F*0~*O?YDY?fY<0bP=3;&PFJ*)-fCB8wL~ekW*P} z^wA2D(D1j4MXa?`>e<USc!g%nN*ZymlT|CNxAf`alNdG?m4)5uo|=WT8M1v0d7Mu? z;|I)&)N{Wn?eW^xsza43xhGEzX>GW@M~B`Bbqv?)B?VQ<r}Zdf-J>^+{2XOLMdJL? zh%di1sKt2Rw@W{XeJEGJU!^KR<I|zaTW}HnsZ}#kS5)2OsSap`-o*X6!7rw!h_PRT zEJYs9V?SW!7^XnNl+LTs6z8Q0!iNutuDPtC_UFuDPO(|-z5IN>%v`qrK;QB;1$>8F z9BGRZZ&MBPMqzk|;X*V4eVCCh5jxI-CBmqB63W-M`hzR3i{N=+Hf~6q8CPrD=IL); z(=hF6Bkxjl^Zq}ComEgBQM2zi?gV#tcXxLP?ykXo1Hmo0ZQMd|ciVXIjR$uK?j9^i zF5j(F_ncez;m&%Qsi~TWnYDU)b^rU<t%Hl!yXO_+L9+8-?+KR#6uXOD$x`M@bu_CG z)Nwcn<STqgfK($|t{+B5zB_b3IJ-k?>E37wYMMK%Nb?NM6*No@V-&A583;U|{s(|b z45u4(ui~f3B$Z#G%68e9o}p{D{Rv8%)XEJy!_hsKtN(bA>ech5N7O&S^t$}JPx3#& zrfzR=2KjnjyX*P#zlHy^r~l8sUT;`C)r1$*fQtbX!R1g=D6y{|1;se8{-K(Vwu}z> z&vABm+{8>>!5|wgDv1E5>VRJ)ncw|{Z@|v>7Y53*N@n31Tgh@J;iQpZe2*&Bgz9=~ zW0UjFVX@{y&n-pPy5~1t1A<b>$HNBNw~5`zR9nj?dTvMv+lI`?KeDEhro%+6s0Gx8 zk;DC98tq@t)DZTT-%i+`32Ua}vFF#jW9cGUjlyx<qe;{)4Clg4KdkO5gg&F>Nrz06 zk2;xfW;g8LHF!ULD^&(Bvv?VKfa;993Pcl`+2^<-nn5eN9`IhVpVr&qu&64^Vh6lG zMeGNW?uZmv#3dZ=TFbVL#5TTY3HXi!FhPo<qq-6-We@Ww=JHA%TtT$~!<|o8PB)o! z8*Yz*QP7%C9tZvP+^FgE<>XBKv9j^3KjqneV6nQSBXcj`Zv75O4a#lbog8C~E~E#L zv8tqwGMG^tDvNqFJ;03C6Mh}Fv4i2Tfs&HPMgQgkPyvNR(}e}Ih!gBzfS-KzjR)CO z^sP{;=>*F1W4D!gDkwB1=GZJ3B!sfF<8&u|w_j%h+6SJ#<KyfbYdLT23`GwnF}FAE zk-W3`jl}{X(Q!d^@~9QVW0LBFoWU$|I*Bfuhk*SDkuDJ*s#HOx2fOk$_bzyydWZcZ zF1$|9$<EV$nz*gCFEriK(sZCG!OaR<ob+*elxYQQ(<7V?^KJFG)sI!_s8*RU6*)Zc z{Wpve)KKtLmxKLn;gKoXxJgIjkYQtUCX-?@Y?7t-M>Kk_FeZwIdj{K>Bb#)os5a?m zu;8qzT%8lWQAU2ejDGuAi&JfUfo0d7n|bW{yB(T;!>?Oy>ThvX!0|Cyf||l{mojDy zY&VYAI_?=@!iaSHK=!(F@|vbjtbSI3UdtR80^ZpLL_OG6V?leI{Ep{_jqD_;hmH(* zFw$(!d3f;>LH-Y5ftM^}$VHtPpwc5M-$Qe)U`3%w0z&h4s_I1&iC1Ovt!^hRKPyo< z#Uq>hX0&I$!l_LR#>q&rUFV{wI%xMo%#P0@l*JNw#O4T%*y`TQ%-MlSZ$7_KAX@wV z2;%yQIct#ri{EqM1fkh*sm13X;Ev@lFw?$&Y;+%Vsf?cSP4K$;<}qH^hBB%XJny_} zBl)nJOHXcy#>J*+m)2jWd~K9WBGFoHw9m%dYIVALq)Z9}N-zb1eoU%}nYR>MpXz<t z2{g<NXx3!%(Ln4pIi<+?2k0{33Mqhi2*UGme`F|A(e?jydq9=sIxx`?75bxB)2L|u zHXt?7eY}}jSPl~z9J%EdAbU*6@3d&PRt#yXBRh)Sj=Xi7=l$_I!i`6#PkO1dFMZ{p zU-D=1Mr&eleqkJQ1%--P-;grDzxvOyE?9v67rK_@oNm>h{Xg2ux@c<Q5u1eF$qni! z1mkVONjIR$PkbJetRU6Yz%_n9-^bQcn*hI6Dph{<Ik^ab^WgamycE1~B#A(wgY1K( zlJh!XS1&%x8gO!Sl9j3Cse&s1vvJmry{^8p61y04wL%j&q)Dm&{;y6j-fQz%MF-6& z!85B$^H76<9Ezbp&v$A{`l*czERH!VWiF>-bAB^JNQ}CGcUt*};B7ErO7I^5VLFxD zb?@aHa1$ij0phG|!Q7nxTvPuO+I1yG^ApdTY#^hHk?FkH&KMB&Viaw8ZEF4Q=I|47 z5KjPa^5Mu)wY`%Ss%x2S%HI(o+ycCf`IbIY&Lf;>N~5M0DDx$`snMG5bf8-$A{`p7 z6Pm->$Pcfy4asY7eyq15QVDE~z?kWdJ_41zg!(TVM{6Dg!g47PYq`c|L?w7WGey(* zV5IrEj_uczKe?Sw#&-U$RPGxIH@g^g(l%1fDxol0{3=otV%#C3gx|P7b$FwnPoZY6 zwg0Xk6HRAmUE0l?<2^`pvtetK?Y~Y<K2Fy$tk}s9x=Xju0JUtALgthNV<wYB&KYA+ z>TUUMrfxxEvW=1{@LFLqTEXkw-uwoZ{w>x8S^Sr5JgF$#?@eNfZ5Nf`hlB4O&%WQY zhBT}v=opzq^^M{Mo(WbtLL~HQ6L|n%fKY+y1zF<ZWEQ@b#TxcuH3nMfi$vWGuq^0u zgH3!DTovIUCH~UowQc7m;5?gx>cY1KJ5hWVczXB7<r7#&a=ND=GrFClE2B)DB-aBt zR+<!oeL^C&A9JHHFx;jO$t(s;%g9PAd`)+W_J0%)MO5MwiXq}V;<OAc*fXI8Z^E3> zLV7%d36#T*t7-~ZaGl*@+Gh4152G+1-)D5|)~tN@94ot$RT;g`xO9z${0L}D*ZAC? z_k=e4sIpr)rXCZyaK^X^yL85Lq9F|dvKf4h(tmmmTGM}>&rZcd+B{QHWk<aXSgDkV zIL$ktu*`-)dyovtqL(PHy_cX9@XlZ#O)bd`c^@Ecm_m2XTKXdFX3SXvgV&h%YU>00 zoYvL#*W=Sgti@!&t!#^7Wvu>yIJF{4z1ps=N!aY^*fL(Rg0zy55Nl#&(U$Gcs*$)r zGRYIoyIpaWjYT(0kpc*N9Mvia6_`uG$OMH2F(aZk$AyXhp>V(?dgZUw7;XLh35EpH z<+5BSPh=>CM{VO+2kIPyKdSzl<^^jUn%*n+`>PMB`@Bk^DrK6CX(g{Pm1Wfi9gEs( zgY~T>9#fYuW;|q^w+na-T~#4>0b#B=fYcl~SM7*M!-U_Qi-x;GGHephZxvi_$2U!- z#E~6DQvkAf03W)JEgz?ZGr>D99qkpSsu1Xk^P;6b4@FT$npcPCQzQM(|CSB@|IVVb z5g_EyH*7L#LxOs_c`_q@mT2e3PD|_%k<>x$$rwy(f#HY}W+Ww@#1mqhB!6~7ro}<+ zbSG)B<hT+YJXHjyW*x_ETzr3`lR<<Zc33#(0&Ddz=WG>^1DGdIy&m2suCk8OmAZd` zXmQkmb))tD++jwdgSpR0G&_6)Su7sO+SMP$7$1ZA-{Sw}{`|)U(iQWY7*i<?(H)+B z8W!SUc4u8&*nKqoa}iZo>%;`%lA;xGOqU_7sm>+H*TKV=#iD^_M5e=zOxpWS-gf(% zutYlIw}&wjU&a+)&558};va{e(Qeu<TGe(NEIjs`m<|0Zp}kC5Iin%nmeJfQ<sKU9 z6dB49NLTBM+))a;OXxjQ8bf2M9$%^{{jf8+DC{sqzL~sVyH8<(Bc@{x#@4g`9G!OR zbqd+@jC?9Z@R&Dum+axgKEBs{&o;iO$U_kAwj#raxeDkN6clX#`)BL!;PJ!507ryC z$dEp5*4VM8K7*nu=P4iE4*QBv`@j*?&M81VS6wN08D0>PIB%FC$Q|(3so4i-Lj4z0 zdr~~>r+9-`X`okWkctNeKWD7^>n>C&^C3D0<_eyQ{4q>O(qeB~eFfsDpAx|mSEbC? zHX!<K^~iq!#Ggc(AFeX_uh=q+*Ab|<@KR>%jl=ybn(GV$E0n~nUYq#zk$b=TA?NFZ zdJ3wZsr#bWkswaRW9>ZoR$)YitVqeiSRDoQt}rScWVlu^J?ZbRwiz*b+RX^!tT7v% z$GzB_i1=!I8=B4R;VYMnCmo9!L4@RofDMKxJAycIv?4k=|G#D$Q1W+Hmp%UEy(N$6 zcRi#0mVYn8-cW9pmC~PNSr|~H<<sbK;~h#Ga6wVpQ`jt_Y0xF~0%hdZD#ET+XTag% zk&Wh^{!~+}$z5*$O&E-_y`H6IaiYc>Yml+;cN=KSVs+Abm$n!7wK7Uwh4nublIweo z;V+$|dPQKkS<DsOkC$}%>GDMB?}^fLwsp+o0%h<32Ygx`a;N+ss>-Zj&X8d9|9y8< zkF%qZKI}+;_uK*wNjTN4pRajbX>Ed{M=8ZL=u$}xcYdWJs?j5(va*B0jz&%te|AW= ziAlg@&gvrB$L8rDU{rM?;^VKUCEX(PR}|n65&)!YO6nljAbAj10vPXcs{=Ck-}*+g zRw`D?>3txuqZrN<496yGLy>(F0NR962_%A_;%TN5MfY=K`!!$A^*c?v_CCHO3kb*d zGp0VI$NIsNZXw37=tC1{DNCo+gq((0^^Jo7&0cl4k8GI!z;=@^i2>?FP@ScK!;2>n z@_taeqGJ+wFvDUqkp1)u&B#IEV8X~(rnQn}U=<XB@x5@ti#J=1$U{|4d6(#7^O^D; zxYIOsxLA*ADZxrlc0cKPP#8LKA{%5}oKePQ)Zs=7P0Zl7GFbmwZl@X-wDADW&mpj3 zDy^-k_on-ak}P?QuxUizWH;97Ozg791J8IEN}9ZNJXsi<8{$%uvH&w*fy<6sCG&EM z(O2@5e0>SIDSb>^<sZQ9fd3eSlu^1WCph4M{z(ez<zvRf4M5!(aJ<p8KYm=qHp!Dl z7ov(ws=&PPlzMn0e(v>14USR|3EE`TFFfLB@I#B_vQ`n}b2-U}8^$8iFnGuU%_h&8 zE}Zr|+Ov|>bW^DrG~j7)&W_`DjO&O`!@fil0NM&*_g<-e);-GhyDGvt?U<^sO7v8b zC7Yo?S2Tc6<`xa^E?x@G=PxD(1vU(>g#^?3t~sa`$S0G)^hfJEn!z9W%#++kQn|6< zSRR|6uTz2kT*0jF7+EvbIFol&X<DhILk`k3MLn$3R-_m&@R%5+68sxZB%<qHqwBVh ze19M*mX4>31VBU=7PJKzH@KIz8nj-g>}z-0$!IzwxzYuo9uqIr!XNm(j+ZIrdA1Z$ z^eP+jY4cBOLc_~VeX<(dZ-Z&uKP0?LQH!i!ju?X#LhO}(SCs^V3(@|f!o2k`nl%%Y zqD@k$|CIsGrQgBLa-8dEVg3d5_g&1TBj1rxL4b8`*99CB%RTQxL%#n2nd;f-!*^f! z`l1fF0>tnf<s5ILnpBT$dVPD8Bzl|-J5<}-H~T>_W%Qb@saZEjGxr?rR02E1Q3lwk z2j`)lM>*Hg2PFEj4`ddFX<QlfwYxr(B-?sPa`3L0pr~{t79ITtxuEV;c_x_OCY|HD z$DJSg{2a}`e@p-G|A45wSkV>ubCybd#nI32xN@;E*4ny}2_V6)aEX9GC45Qj^@<Rz zyxl*$&77hbG&{ihnEmOswXQ%D6uE0e!guNe*uEU(_y@?TEr>0Huse-`<W$1gYL}=A z`~Jja@X3CW{n`UlGU|<27}t=r!s)Z(14w-KyP9bF6^!csX`QJ3FJfgu<R0fWX^iXq z8vWamEjf6}nww55bO1bZl6oG~>5Z=z=EwHsc#fu|Wuj&NVnjl^sI!8qd*L-Fy2&<s zTB_o}14l)jbO5{t+(<a`=wE9DyiUth#RUy&v=!g#;M<A=&<s{r!7o5O-JNU-6@6-Z z(j@Z=6wWsZqNRF%j~P)L6lO0LytATIJn0T^l-Qeu5nzmLm1Megim<^L(_L1KvKD}A ztf;!fdf#|V5Ke6|PWNZE?Yc~!W7sumok+qcvf$ylbp~&SA_)p8`cdKMlYWJU`Shfu zQ06E8+t2Cz@yEWsJ8$e35o>3&HLm4aAtoghSW-B$q*H$~t}6w@lUGJ2r<$1))kpc# z^aXPwzcm@xWRnxF7Up(-QRF+QTO)gcT`T%4+aUH(TUd(B7Gl_i-l|5j``h;sLSWz+ z)g}Wf4aZ5K$VWm@HWjW$|F#xaugsO0w%LBg;#)xNI=%Uy)-ohBB{6KvE;U+OpWF#5 zEF-uX8(GShYMSN!sN&JNM)wz)6J|2X=<r4xR-T8l2t%7Zsa1J%9WHHXu!Qcvt~zpk zUiQk7F<9`YJTJY(Q^YK}5%DQVo#OH>R{iorXg>}8*H<O5*@b`?a(javAQ#%vf}fni zsmlkMWHXL$>$<oo7`r6{iF{=(A@_xk<_~-$ZL%Nj_on>*bK<j0bqHQMj)bixQ@g>2 zRs0XQS&S4bQ^WSpAlaNlYJOOgCS|Ui6j;=lZDC9eIPK2ch5+xMH;sGaYlVK}8x9Hd z*-@4Ur42^O@=_u9$USI|my2D`{$q#EGcf+drV#z;CE?n01tFz+@PjDf>Y_Ky4`U9T zSr2%_vbGL9-StfO^C{lYL!E?}schrxQAGvMG2Rq{hdYjFwsK_)rV?RF?1#aH-(uPM z#n_RzuW(aCdn>hxa|Ca`*VUWO?p_NL_g>9GRY@MA+v6lK!D|nG&t)>V`%DcT=qz(M zjo1kIoqxoSYl;;;PjA%s9(caRJ~VZV+?a91PeoFKEOetnTnVPX9*9ll)Qr(`y{rCp z-ZO|zNb%Y~18>Uc*M+6YqyN^pt$p<H%NlL8Qaqjg)o8g!E#+!quFM;w1MsooZ6cGp z<zt82OLj4Z<a$DcK2)C2KTYy4mZeazT}sl8;x;VrAMB=96N5e<0P{xENq9lNY4Jn7 znr%9ji3h7J&GLtJ3#Wa5EvjmaV=Iv3&G%LTP~)M~CigBbguQ$_O>7(MY=RJVC?r^q z&JAdoF=lw0KQxY(ViZJWzzuR9&j9N!`h$c}*q<WqqrT_mRr#EuHWV8UKo4<@3zN=i zmx&hO;)|2_9b3O*zx8PgO@icuIpnUjH`=&!yjJi-`PEzu->uT+m4~5)hvZ$<02Qr; zBNW)xJ3I7f$_RFO>OyCV;h+WaW5|HuIXUHM5xgDAhy1;IEFaKS_gSOHz#`n<2iP`J zsT66vSwdMdOK=NdJ_;;E{-?DPA2v_i-TUOX^)uO1GIU}zjb%~O9{+aTB2tyA_ZMM$ zzM24>8Y9W%6zjKK>54*Jt+rv#vy+v`xTop_C%;z*<NQJU5eUR-6<|-TM=2!(9riO9 zrm~k*|Lvac&XxZ_7=dO5xEb!7ibvQeEubEOXKx@$nf3tl`|EN#ee$hm0PZLjHpTky zyqTq1mm@N*izT77h`VE3{gbB8w5EDAyW0?`&uqWnm?|v2>*z2}SELd4@^kGrI`A2j z_#MAF`9glx#qL0*{AHjB{RK7uo5|!bNTc`WlC=5K2ygdk6=X-_G>!xMMwpePZt;}< zd8Sk@t+_2A=w^%Wo&Ja<8soOvz7SU*vZR2Q;-30>TcstkeJ#N@p~b9RH#SR=o9}Da z%3-|HCUjXyXu7w^W@CW!P_vqv%X}g?J#xQjdNPF$GP0a}I}xa~PCRQ;e<KdA{=sB< zqE}*-L%iflIWnBY(9llEb}SjYwqM4wqU@OG7=HPlII`wUBy=Jxr7J#CyKDa`y^?KH zxMR<;w#>sraMFt?Y<JNh*r*_*AT~VRRFoTRM~USHXGa>@Kln|VLH5mP6ni(II%zC3 zG&H`R25#p&!;m!xf?6%5GD-qlB3fq%ZU{BXh~H82ldH(!ZeF!VDia|Wb>x!VqxcyH zmi|74Xph7_-@LaCs;D62WRMK2S!mTFi5ifTkZ8<QZS+gKLbEGFK61;!UIk>asE8ao zWllGjc%^;V+D^u8IEH|!It>qoB5dI(NyP6HRROa&aEULPX0}u{zDXaev#Y9t$vBR4 z0Xk(da{J&D{b)b1n==%7s@Ep`g4s-o;fgwRAubu$g_rogDQDO-pftCcB)miDPnqQy zixP89{<p;}*AMr}R$GaAe9>|CY?31>4(K(c<Yl#+TP4AmO9LEH*!yyH6~w!H*R}?9 z0%oIUJT&ekhlxj)Bv*5ilWVPPVEe~bUw^n1IURCBmwp@5D*UMnR8r~{q7pXIRF$ng z{I;auClRaeu#W;tHCinhk6*(x6u8>;kNt@9!<n~hImBkW1k-JHmSY=M%mxXIZEuht zhH6tefa9>xh#?3;_Koh@0>GoL-Seyz756<5zk*f5DEMY2AK*=S?(#V}!7spjLU6-W z(S@<+R?y@6haX5{O~HyN9hRG|@pR6KAiy=KeN8Bzsb<lGN!4vt&*_)`&Od<uKFp^B z@^PU>Di&uWcYU5)MftoETkB@*!_xvXV`dKCvFw3NU`rRN-^OfCXTF~0i_*b2Asrf} z<8`X3bxF8HzzHYaz>_2BcOA)w6`drReSS&o8*I*^q~zPR?r$ISB~rb*R=<CM(95nl z^V|F~x~$y+s|;RzS62;ps?dcKmbIT}j+noQ8UvV&;I&BQc0{JoV-W%`e%vgcjGJSm zUJ&Ebx$}<sAYjv@_((RCrDzGpM)XHB^Bk*>b2-P}x*~5}H#Pf_ZBkFQDIDyZUZHSy zVZT*esupx^AUts^iD>O7BxUXlx9t~M-3t72h+ko8BQ+(@I`PP#Z&!yQDLKmhgMi8r ztL9G3;C+REGO{T0bxVi-lX<RkxAnWpTbOe(zDmAORIOgocM%-KuHdf+JcN(GxIr}v z_=tO~ll)KDbm^JMJX|Uh&XPExHa#O{wmPukjv0-}vY-9>n1^;q9EAhFvpSPz2wXXP za5k~N!|aaMreRyHHMlaScEDw`>C&mx8DPD?<Ic|K<}@7;2Y!X}OJ7fUY18>?BVnLz zk!+dU@=Ip|PX!WIA_OO^MOPShv(-+9&~HZWq{a{1K?LO}Ps~+$QKtwa%t=;D^FXm- zj9dhsCQt2-ix5P&6UcQLPHX(e;xz{yrn`?Ih4*`f6KG+}0#{EB?wB<0iM_b@FlN<# zp@p|y5_o@9?J}UbYSuxq8oRER*LU<m!HP4?mm?d}#?+{8g{qo$Rd}W$V#tZ<7`_uD z9eM0!do51fkxxo)i1`+YSv?}u$>VseC+X=$9;1ZyGps`mZMs8uYNkoVbMo$+6_yNl zGH(6FOSK1Jp{{_-z-+#<myDl@Tkf+K>)`|}nctYUKu+yJNuG3>o}*Q4s|Q&ZseV?# zue2~VP{l=Rgb`TP_Ke2>PNi{JTX$oufPcWZfM~<lWrl92aZgcX<&t!qA$fD(#PpyQ z8m?v;R$o6(+Z944dzg!mM*p#NS7`^d5R-81=dNg!ZRiyp2??;E@K4#=!O=4w?9^pz zXn(U_K&n=ja6?lgLGr9dVYa5t1jR`9x>3&f{=nzXIaDic#c=KZ4=ipMA>U8aU(X&s z1w`?+eYWAwgEq!#(*FQXImqBIW9WJszb5M@x8pubEmx|IHu-(oyIN1Y7)LqSw-9e? zY@{OW*HflUuxt&LoBJefQ4NOlA$MSYtvk~FLyUX5=u)*^ZId7JYT*1G%rqd?`Anya z-I~z|8Sj(LD<&q<07>#jqL-akXhOw%60sjlGqzo<_}iYfI^S50kQOD&g+j6L$|<PB zy>UT12Mz9+7Qo$29i{g7I(J8jmTxrf>*=}`wg@nnjpJW)VSP1r1iUg=&h)AqZ6BOX zAm^_=A}J02n)TLA{$o^HmF5_vkRjQ<Ff03JXvot1qbe2Sms50~&&pVPfW!$`6%N-H z@6HQLfX-vji))x}{&xu*S$7i7O&1uLvVDb-?HI4X^!VFR!Trj~2R8h{cKOi>3jfJa zqeVtIX$SZLf&S#RP4aq&*m*n^@Z+_!?nhs{TkGQJb5Z$hw<15Pr&&QlgLP9CHA9W@ z3VkDy6peu!I92LSTy4cFh7v8WRCCBRYk89EO4sEX-(a+5;D~I3ib7zE{w`C9;ZMM( z^Ja|bl-29Z<nw3j+}PjeUFSE#yWC1n5fEvnYEBz!jb?0f1k=qb`8`t`>neHzPF0su zD%}ow%4I?pd_p<MR7c&CIi&@Xbt|;ySeHGolOHY5SQl3x6@*leS;&AN&H;EP>3f9G zzn?c6{5oU<WKrBmGgB*?e&3L&-!WpwW46SV3PXX%vr85UWry2&T0M<pyBEZiA#OBp z_ai{Ts)D<iJJ<H=k<sB2GaJJ*ka6@BjH8B(iUFtI68*XM<y5dzZ5!9ecxqk@2ut-D zNhv@P#x<*>&9VcQ+A=EHAsH@LoxWEw5WbCsOoDM76RVL(2&}QA-F!u|<mu#+s6);Q z-wfxSihld5VBSi@)LDWw*XC#Stqlte?Ks??F;ay_*s*TbNjB-5_f}tf@2GCoE^j-< zGLhIZzA>Y?;R8Bz$CL!3YMbPYtUOVTyua)vB#)@*>kX;{5fVR;k{vGAzwB+Sr(Xzk zYhaTj>m&3OaT0t89TnDa;1(~Ap|?Q8vM-B^tuE_V2s{3X!Gbe{+4`Z|8~EL^3YfIx z^|e_M=U-DizUCx7<c&gVCW4Y9G#>+cR*7+&C#Vj4jlO^nNzY@I#B7j^Ms*NQBnW+< z?o&Bc8sYYUY8YHs-@!s<#KgWXaC;k0A{wKGxpcB%)RgW>$wr?HSxa6Frz##$*?0(Y zmG723=(X~>_N2o)S9j{NX&6uF{$#tt+7j;EAUlqOPY2h7qnz2Z48DO(3OMEJ5A(U1 zKWu{FaML|+3^QRT)1K&$-6>w2VR?g8P8Xcek_v`&%b4vL+vJ7tKwODP?hNkk#(bRE zTZ8lLo}ItiO`2@t1))%J3idB=TngS+<7(5jv=^Y7{iFbYvfGn5`=;7n+W`)y$~d0v zqoV%Wn<Bh~MtXMbQ+lWVX0Od{7sX~he%XzW<DwnG-q%U>Le0?(q^~WJg{OaxU%Dsv zOY+?}cwPsRe&w)e`3{@Jo8zV=T2EFT;k<4!?-HYS!4i)E*U{B>c<R`xVqh%@e(1<` zZkP2KdVdXp1+b51KVLDgcknF^f!~Ao&2t!5CPiu2^sMnc(4*%zmF{~kome#nkxl$K zly#t&RZ%)I<lD8$`v@ivQtX&LFbahUx>v>)zw>>_&?#;^(Xr38an--3VnKB(&nN8X z6^9%-chzm>Vhw`*)f)Q_e(34}PT<lqKkNA$qqnzzO})Nk+)t?XTlZ`ybLVrJBkWnR zMmt4~K;h=jt+uy#@((N_EkAYLRQxF?>Z?JWiH518iReTt7!7T{zDw4*JiqaFAD|;& z_g{!NvwzF~Z$t$%pimI*jt>1xRvsF05?6C(h*(UBs(z!P#y1A<pzB=@^v6Fh0I0Kv za3iGOE44{uM-;}rLg9}{WB&k3OO0<TpPh^2tQ=kqxLW&GW%1t(`vUdri3tZkWVBs( z#^I@7(v~Sbdz0E*jLZv3LYRFU*^*<qT-U19g_zQY(RvgpC{Nmod(~F?C%1G8#Moxj zd1$SmK=d{gGU0_f6l+UwI+niW{LtvQ4f1rx3ft*Ph2HQ7lA<%y_dJ4|5Ek0Br>TI@ zkyRhEjWWs-&dpOxu1e2(eVS~oidEe>tF{>d3tXn=qG72aZlOfn6Rb2?7^|#d%0?0x z=Z!WsyV0h{{CX->yYyW&8kbn>3`Q*8E(UxS*{Ic^5G?Mzd-&%8Ki%z?{gRIQNZND) zZeo;^2Kt-OlEAXY$dSjVOPDlwm)p2+8nbwY`5tt2w<g-^Nx`B}ye@vU7;))KOu@Vl zo)=59;7}d66dfUnLUp57>*o)&R}%+c&AGyN6@8U3Rf>F~7K5C@qBaow3I<do)t~zL zpuM(t>91>BGQ`P{M+y3c*(Rzms7u`Bt>v~te`8avyKU-S;+`wQMNUr$;}|kEv3CBJ zZf~*Om*q{RLKIRct(30|1Dk>de7hI7Q$mwFO{&BdP4+4CR*Xs4y%XR)v9oR)iJP4X zqEWIR@?dWVTcbx5b6y~AG;H!u>!9MtsSe-w#ReA0dRn%W2}PJLkGzQt`dW5~(b|I} zkT-7JF$Tevf+aRAveK~JqiXSp6rSMm)@A!=y|M4mt~91>S*7>r)h}(>9@R8$7&mf* z!>QcJ^cg>gA;~cnU#x!s>!57;;D|`=x4~8^!I9a{i(b54fq81!I6A)c&r-d+O5?<D z8G$sx4%^HNXE!gxA*XoV-voifhP8$kEDv4CrEN-$u@wCiGYTrwQ&fj0)`*uZ7T+l{ z!73w?aG1gtoNA#ErMU5R(-(UBOiGT!R4ng!86AVr7Kc)~<Uq;L&d2kmW@uM&^do0M z5po+R#o|ZH2%50pxZcP8Q3LyUXO3aSjn%{xB#}@VP8$i3mN|l!RfwPdsn#6@aF5Zr zW^XB3l4Z5(2Q7<sYeHTe<Q^bo!s(Wp&==TXyd}Qc^mK*0-sovHo2RUF>R&C4Rkgi^ zh`}MMQ&-;V*q7D;zdaVv*i5%6kok#7#mQsbrDoT1&Yrp_?ihUHePYJ^in79-Cyk+h zTumFsfKFw~BB6m@6WPc7GUJpz2{^X=OtmnLOcsH_2o)h5xh1@dWS(lisf}Sr9G*c= zO2^=}eNJn-?OyY^piPKr=XPQ(=M0vlO3L_gY;5-1!0YYdWMyIG<~|MF6X&K_%0*jM zZP2J)XehT*SiVnGYZ;RkpCC*70|iH2(^l7Qf)0t_X%)^`Trl-vUt8yMRn`GXFlgVS z=9T>9ZX%OSI-Qbens5yLlQZ2Ti)xyg1|Dy-Kl)kISc8=dc(oy+VYuG36cKNkpTFtk zDcqT_@j@MbkMb!;f=)YLM1A{i5T#jPHk9oTwX&K$ova$}bLuL#=(iYsBNppN%8e3H z;m{E8hL;g$r!CR(pCIM2q_!FrdCLLb_>>2{x6xV$apKL!Xa4-e`xx7SR63wk5JQ8= zm!IVM>78rK=fXOxhfE=kY8G6w@c#fz!wnb-<CzBXg>7ukqL*LWH}I}j(N#k}dWb@8 zyOTEdlIxf<$9kKY8Ylb%VAa3&^){0MQ_Vo&8aTQ1;ZgCRn(VJe_d$OjJeW>O74~4i z+Lvge$@2>UC`0li)|D-Auw*K5@+m+e9c`rJa2MwQ;kT^5sFYmp%xR-$tEBFNfRFO7 z>c@r5Q#>PgF=o61BOC7EE==;fpwr$hHqLIerl3vRtOV*iyd7U)|6oLCY_T1_!95`p zbfJVqnI)r_3vrk^)HC0r{{c&TZu+H_$w0bUmlD(Zy;1$T?onJrDt43;wQTOKTk2!h zLi?-Cg8h+{Gg6kHWiAbNk`=9MOnuoDTPQa6lXF7F<*(1@@Mp?3Q_^&r2nH&@OBrH* zBIrfIA&`%(TREJ9v)O~w_wzsMDE_`J){{xMea?Sad20&nX!r+ksOtF}fZ+K^{HNmj zxx1zW-8{-AXU{w(f?<FU`;U;Rm^_J`%s}13r~x=7HRfsggvMo81_815RO6JdcZ<)r zAnqsU3KE`QIC<(B3;XsH;U|}+6H`|XhoM`1?5T~=_YBUPB$pg4AFjkr1^A;rIkN`T z4)=1An@?CbvyS5rLVGdVRtsO0nsKuQJH}S9lp7+s*eZ0yTpSg@19%DUXk>G1pmmh8 zFm_GcGh=V_2ZM#VotxhSOBxqya8T}n9;`)MwLWw5>Z-%e-Tu83p-uk)x~XC~>v*iT zs?ut?roXpF{sB--{{fIkOf-q)l(t8oG9zS>GWkcWXmYjkb$3{t0)5;WEbGLo)8&gQ zyP`I<Iqnf-q5_@FlK+@rn~ajty&INrCbh7ntUt2;4XD<5RZJ5^$Y}4`q^6}K)QWpl zzbhntmmFB%F|yPkB;zYboHgr?@VCqg7Sv?>m?MS}s#9k`CJyV3x1pE3)<Gmw4;!SO z9M0Xv?5frx**xa?9(TOe+gbzef(J>l?G*?%xR}FZ16CzF9)WS(c)=fmVsvO|bKVj1 znij69R5ARO6Mvx{SsLb7au8o@^-$NhZ8|kM=tG%R_s}{~<yuKVg0g>zBrFz-3$xjI zd6N60JdL5d4%VXC7(uJAXD^Q<lBGU$$c0ZOCX;_Q-z7;HDtW8X<_H&8?<qq<qV`Y% z>M#v3YLs~CrTZN8T{4COM286KJbC;T?jHtUl!1KZC{|c?Ns=#emqfk_E_-WneRX89 za=Ggg9>s)Frj5>)x|bSC-X1urz+e1YG@4wOIcYTd`0%VZKig_hGZ;raBMRklX=xEL z=&`g<OOp8J!Tw>0o|nDUnV35S+n^s6RL#M<Wb4hI@AfSgOhq{I39e6ibJKAT%nATf z1)Ue9O1%s&9~ar3OU9o4k-%+FGW&BDQMb<1_MiCP4Hu{6l)7io?p1vd;)C5j>n^$F zOU^sZCb$S6tzidYcYS}VqSlUYjw%{v%F43e8MTe_chZfaPMImZ;jGgb0y?hv4~_La zAFlT#TNFO9gz=I>a;>aYYvJ&J9_LGIEtwg2FNp^_<T2Np5wq_!Ia1*!##Oo4<>0Wq zwflAf40z@ejg^gBAA~ZkZ+*+0w|OzKrj~-|fm3bFUyg8xCWKv0GZXWbB$$8cM0Ww? zifMAa@pQ;mVbuVhPJ!Q`z|ZViF8*R)AcLPz<{4x5F~th>snwd4zEM4p{tZmGa^7Oz zG19$H=-#yu*xVIL$))lm@S0OCNe{*2J4M7Nw~?xo;$+gwW+JZ`r4EwnjnG#U6&+~b zr*e1kIe~!!X=C&M_)AjUa1Jd5=35FdBeWV@?JFfVdb!CBI;;)eqz>mlrKaLugq_$3 zu<A$n2Qc_bzH9_@<N0Y}#r$|b24~jWX16nsp$aK)JoXq7Np(qM1EGG|FgJy}`*Q!j z$Ayi@kp#0S4n?<5Z)Jj=^a?at{VS=w{OKgkn7?kB>gS=ipi+vZm&2@$u`s>c&Uc=! zMxFklo@T`cesx6rK<7O7`s62gE<(T<Boc=6ov_G_v{yVPrFZj_Vf4J@?gvErl54*q z%4$lHhUO0x9lTn>CzWG$qlRNKo#oMm?7W_AMuC%;`n)d7*HwDzacDVJ!ijW{uHqUx zo&qZHkR~$J-XJo01$}W`MVoDy(>wOo^bCP?ccqJL`<R<)sCc(Q1}E^n2-9^n3e3E@ zbJ0$pd3!0jPdbIRWv5@iH2G$@{p6k&^Lf}HYM>;Fx6o*zS>~0;A~0FUjZP#)1(GKe zf028hZ-HNmm6o51xQd*GBNPFLURU2bXZlX4?9P~VzYJE|em7=zeRBPKp?_6TCVxm` zMo?a2iSin4pJljR{kWKw8q30ihpb)uqA{;;0Phy5vdhTtu9@!S5B*`A6+$;Do#Ivk zQ5%ik)s@emUky@8=5L<}KR^+3=D_FVwV&e7vF)4H7d7PzrZg9=ZX1gTx9;7?+pI2) zTxJ(7uCB{k*dqyNa0|@0>HdH29gy!0JX(w=gqaUDZc*~9#xYV4lw^*<1_^1QSGjcn z%Np7D>%32`di(jge&J~@*;u<uEA!)XayyEe@rnRUckf=1a2TtFUU_1>YQ5*KznI## zh>d6jEHqnu6$~XgbcsFn`A5Rt$n*5&+bt<Ek)b;+sMI#5&bEw|RcnzDvGVxPQAx9| z6`pgZ#4^JpjvvL)StB7N-^9EtE!rF)_IJV;MEKBa{?zrIC3$};?0pSV6CbEZ`_r5a zS#Cc75jJs=`0ks?dQ`$=#!qKUMk*f^D=$U(u77~Wr=$tR8YjyQ1cdxM)`4pKj*%r= zJ;W2D0MEZ8JYL;B&d7g=<)`-wRw|q3=0XO3<~9j3fOX`|i$rBragFZvd!-Iu>thcr z$J(T#>_Orq8d*qe%bL;vBs>aYW7Fkk!`AC<oSlvGIN9fV@AfY=-r0K0bX;ubkU;RE zETB*wQ5{M5RG(MH?Ad3&`VP}~@sZk+lGHTFQZDNTmy<NebYp{RgIz!YqW?GEYclj* zmZULL=Z6o-Av9@8;&Vmo;ImfFp@q%Vv%of{?hHlD_z$ZR2gh`y41ie&g%7Wj{H_=Z z{6T03DkJ&<Z1hd@{(c7<v7-?}b{!N^OR~IwoM|1<W5CylW`N8e&8AB5j*j!oVWx#f z#JN|AS0ytS7Nba!wZieEl8{3;4Wyfji3B_48?fjNz*u$B9B+nw@bMB6AqveLw9W<e zD&OceJHr7o4UMF$UibKl_^L0=Y@hSo)Wm1nX2uU2KA2*NWy<(5T^K=*?q||l+wg#B zvk{V&e*m;q`=&<KHFBcOTGb!5JbfN>rew%Lnu<fh{=De2KM0#{n)o#7K>JRVB+u1h zV^oNF_>aH>kZ;*~_qnG>yn>2wiCaxc`Y-GFNLm}M1%+4_q<d&o=U}xQyJ6$yz*Rxu z=lI9-#%$EjEN<gSmI)ZF<r=3}OlAF@#c2H0Kh~t`sp4yJ93M`?zH~UmmQXl9D0x7I zh{Cw4-dFGIueIe=p}GGTqVI!l{vSNw{~Ws9emz6}m#%G6)+E99u?ZRR)rC5mWMA7( z{i54lnW-7C2&%@XOijY0>{6fwpf1xb+vP7G-kj91_mRLrK2sKd2bE?8640<hLu)6D z`wh8Y)mee>`j=b8b@8er8yWY&DQG%bgpFB`wLSloANH-az@Do)sNkRE%zck^AF|uu zK=#L^%F%xS{|_3>vEo0#haEiEar_5(?urY(&mVnz3V!F+0q>1Y1D%t1oO~)f=U3V| zxiOTQ!s`^IQ|6H#8$Qz@zRuw}BAFCX0#cN+m9hehy}iFW;~n%W25GfRhrS7#&vGPl zc#P~A$p19DA!`-+-OI8DM%M+Zt>&iEAL8mn)FjL*Qms)do9P*C@0c#B-uQS&G1YML zwowkVt}02ESR>C~y8pTuXC!2R@PC=s+t-Ma8RmEHI-r5VIH96b#DOH+@`>}ffCWzA zuR=O(;37gNHOU{QGj+wk=+Jj`@Ym4OUYp@>wG;9Owlh<^Y>>urMubErT=pw;rr!J- z|74m;v)CDSlaRw=>uk_v@Pqox4|S*8KDjzpO-E|7!nCX5F}CjgyT0_Ql%MEv)Qy)> z8n|3BBx8;j-G1fn6QO%+!299!$kyhUI<Z9|4apa!MsgI)ug~r?aPCtD?n&MoTt_q0 zx~Ql_xTwN>$)YM^M5`gk65t+dd}ep~B<(uh?)v?czwe^elI+ksB2k>Iq<T{M*4{MZ z$juyc{S;pMLn1s2MXZ{*GDdaiaGgUMxM>Ra1!Nl?u)>#owm+N3x;CR_w5S!JGrSqt zOq9a(4Il9FC@`H}UTkObTWl`6COO;YsqEbjCoE+<H|#0am7x(GF(g|pZ)PyqJuy#J z7n_%eIy8#XxFDtpNVrr7&2k3}@j3Ie%a+=|GAIE!_(%<k6~qg~p+VDi*oUmkWGfva zMsoYIEvG4x;!ifb>*veCZ54NaZia)o?)I((C%%o=Sjw~}U7yZY)Nd)a-<Z`(ArTO) z9iZ^jlG}++GmX((JHxqp9njl$iu!AZ7nRa14tmX5??l{JiOTGuF2pn##H{C6A}*ZZ zu$olUd*{a20bjpw?fz1xu5Ed7Q0}blO29k;i~VpR$biiWPTq5Bc=m~R+Hl|zARr`g zH$YpunYbKxUDhyBt&O2+upDYV;}(=h-!WPyZ@7=5Iv{!{>X1v{019=g8c<X#2_y#- z<#xnE(4u!Rg^4+)Sz-l~jANmOo0Ln}JvQM$OX!q6x6Vl((~!LtS5S^Cj}%{u5`2R# z(y0l}Ut<heNN<KY@GQ-}S9~1!rR}>+wEO0_Fn#Kp3_i~G{)?cnM|@aJclD<Aq4>y8 zX71iChp+NbYA&l1nja<%b%5|j-@A%NjcruixkZM`PI@UTEkRd9k~5TSEesxo`J;ef zeZ&f_&uNeTZ?P9j<^DZ+QX3}PJJsP}>80=jxbO4EXV<j-Lsvr0iwf_o{S-Vd1fvdF zDG8WLIDhYxxuQTd>ivc+T__sUqFpV@p)Tuj2~v<GxKnq~$0TmIS8zM!j$z~sQ>w-W z4^9g!Z<Ozd7(1)w*R{!_XW3#JIEA_Wv({-0(uujt=2rmg0)VONH%PMcxtyEZK}Xm_ zF<DEY=|xGjgb6{S1h?J7QW#iMYo`W%KvLHeyC>Tz)#8{|SU8vUEwfxC=#-?^{S6q~ z-jHVJ8bdW=P=aKPqw8RyDhpe@p!uzmjQv3HX?i}Uxon=K5=9WzILupE+?fW&p*=YA z%;MQD2B>BNara|$2{QI;WO2YH;v_AyoN$|M_NLjI6auz?eQ@m+znvU5jK6Jm{+5te zt+%Z=gUM~^E=blvL!$}OIdyDmT;Ak20`60!$!a1ggT0~?pQdT|1$~<?8Ohd~QDbmp zShN!;Lf}Hlu}v?X_e6{HEid$6%3M^Wu}zb{{OEA|ak@<W5uh?$dU~vk?04bQ7r2+# z#T(!0I?>TFvHL{a$}O{GvUb{OJjN$<IlW1CyZ1|)sW4U@@WDQpqlWl|_qlX*RS#j7 zCATHJz`f%?EzH}l?XEsdiZ<c1;$SjCJ9}VCg*gFwqKp9S*SP3@w0kp*rcK^OLG|uY z-ufNZ(A%_x3OXj0d@Dz-ye-uP@w<F!ISjE5t?*+EKxpf=w9*rf%nG}%;It+;@XB7X zef$U~8Q?F3&)a6PY^ks6q3>&miz&lLMAYtGAXS|GZ#g)jSUYH@h&LY4yXue8F4i}s zh)2rY4l!l1h&_-e;AuWMb-|o0i^{au2o|>p`9{0OMC<FG7aoWva*^wAY-}CB$177w z$UmueEZcMplS#T^hqB*YZk_2iwhBDqdRVXT%^{stcK9_^uD=p#PTXubNvzQ3n(a2t zImy8ZtbLP6!?JMer`58kUZ;Bmx0O<+{h=|2rg%`^EuBlzN$J`b8B3z5DoYR?F-=9x z!!28jjfPrVKAUsB07lJh>LW9j%yt`KgAA<b(DbOnG!~=C(|s;(W!8XfqQxF5EgQ{> zKfXuC9;<hL1<h1yL+k77*u?zqB^_;b$?ZK8d2tcH<C#9DG!gaY&{1D{#xA)>Eg{xv z@7HjYG6T12>&M_}!mII^^2qFSYS^2Odg89)Bb~eB67!{Je@W8#8ty&zj1Z{OU31zk zENq;~%Hx1^sa9*&5^41}L3ax^^X^?`->5_(n3)E<L7d%(ieKX~`O`UXn=ytf8X37V zkMx;J=YrKoD8A!9%0<iV6Wtb9!X1rOwHHyewY@+`_UXlVl_Lt?=OTyJQxGM3i}jm@ z*DBjc)25A<_Z8YUb_}`{B1YR0)@_?S>6#nRzAYk`2+h#InzQ2*wSqTR-6uT?19@d* zV(;?jz9>FZyRNo3wu8*1P8^+X8y*AMsFFg**Ykn5U~SK&n|{cuCnXZ6XPsVkRhE|T zS6+=ppc4`KU)#x&eWxY5n-9#ln^5gK-Fd!*HJ+qYSk8>ybElt0vU3-cY_hx@=reHi z5QoM*<$BRQ=yzf|;abr54}gl3UvAr8N^WWBufIA(o2?<d{F~K^q=-~a#s%=4w;Mie zs6J%bR+v^qa>zUyKo`sJgG{TFED>5ur<n6dh*33j2AwB)RdiK09O!?`Z#v+QV!9I^ zP}_(Lz|+R}G_CgzeR60X1elgc@b$(C)iCVNnf7BNihR%1zaSEG+Hr>4%t14eR(#8Q z;$rzX1d&nXCREh8ZoW~E#x9BmS6g1mdcaer87QPH)B+7PVB;jjBS!iMA13cu)Zrrr z?1t}c_Ylf))=1g*=9dF;S6yDYsXzY!EqjN`=?xyLg8<G~hR24pU;L#P@AI5j%e4wY z6mHnmyCj9g$*frE@MwiUY=0D6Fyg{7X}onDEgs#fnbDQTdT!J)E&XB&1Vm$e6W7!I zO^I>%u9%r+KG?>#Mlqrok#Eh#$y8UxUJ4iDd3~kz9c?dw4L`F0Tz8R~4YnSsxDtjx zE@>|>9UklG;<tF%il2NJ<f?g>Z5-=2DYCBOi!Wsd<@0#z0^|2+OFg)r2~rTJG8UR~ zi8(;pwV@hGFr<}y&}n-MWQ7NeeS?aleI+9m;2410;e$3(wQ8-WV~W4=a!R*Gb8v!L zUfoWHk6g+|;g`31V_Rkb^(XVF^14R==xgkx8fisWsd^!EeFW-G9FDrS^v;6JxW;Q} zRsOmW-t%Hbb*a>AHL3B)4(}bkb@%~`o+uI~Gb0qPX@k7la{iQjw;JZ3!If3`LQ;!5 zmc=JLKd(%oZ^n3vJjejG<@F{3vy|JX4A_@1{RTJRwJ5r9nUo^Ug^0sTKM#Dw;Dl-g zui}906xQZ8mj;9w2Uf)toLp#1L&SXGt-lIF&aOkQK^cGD>LYYX_^orn`}heq=XaV+ zO5(nYg)6PXg_6bal`YoQ<)dGw;#K@@$I^7wcV#3-ITNi2+yVwOtUYRn>{JmGpqZFp z+^WRzMZY%MiaU}=Du9!))}MlA6Iz@P;xS<?mso}xE%ifwfE3RWAOJv>Sr!S=c=l&{ zqpLLH02tf$Z#N11mWQXG4vgg^0&Rubn+fTFPadSaScz9S<*pC7+V5ph3k5NLLP4A@ zgDs=2G!=<c6&;$&#1F{+z$*<?$KAlx+$;UA%bkKuGHp&8hsG8Qmc&aWG~!&)J{AEA z)ZCluf^=xZGMmVfyLbQmA)b(LOR!FxR86Yl+W8qB@@O$LQRlJn7doBdNDY&&2xD%q zO&v_P*owS;9(l)u+_KT0u^#6{JUiA(g-)Ty4tY|xlJ!PZMAQ-v__CKi(zW)t@6JiS z!`SAKHi|zKiIXMXx(F2%VQ7-X_=#-t={q?Y6A3J=hIt3pw_3zX6~7?_3h-RRY?82| z10^bO(ljzLiw&Uw07|vTCxN6dF}^2{y^bk1{{UVCBinz?>MF|rx~~>PeERo0X05QF z0^xeahj9JPN*4-xOWVo7u!s1#re6fz2bnRplLWetnq3|!b7H3iO@dzqDN?__Gf<~+ zeKd@5iS!ai%8P}Lgn={Y^F*Cm2L;D)jvn0MjA$wLCOK=Pmw0#J^W)K^IC@n#C%Ffp zg(q3LgRl5t-P7J}GuUbroy{4vsx|sbV1gEL*~Pe;t$eDb2iBSRm5R`ZCpEZe30P8D zm9$8VXu9JAzjY7atm0dibgcRpQu^rVq+v7gscjyfXWcA`&R8mz&0EfnTcSOrb3%k( zC7QMyU`n-D-vKLX0l87+Tg|{Dt3b}4Mb~Ss*`F^c$zlK<zfp0LXQ5os89$14J{=if zJ<Ee%HL@tJQcnHBmXyk}te<@BDjnp6XOBJ;9aNG%`6D#qje>>*pZzwiyWmTvU7W*5 zPSq%tGI>>>1Lju<O6av{mBzrULCla()OOjnr)N7iimYE2S0qrE1_cjQDKyYpKgFfJ z%8c80Vr;H`U1ZqiU8qrFdd(SF7QJ~h*CrS}icd_EU!)W3F}7}{u2X1Jx_BPKt1={m ztQ9i}?LK}^W}E4-cFnhupSeMBT_Opx`Y2w&RD|b0D?zzG4bq9;@5Sxkdd#2jAKdqQ z@+0(cOwq_(Uo=Moz==8s)qLcyPfY8WZ+g=6x0o|f%kAR)h;@VF<9S$MiIOpDw@Nl` zEoi#zH0ME|tg#(Vtmn?WFEpt_Xr(*V_4E^s4va6Q!(MFJu=XqzpGJx<e-cNs+7P)w zHK;3+s&?ushd)J`@Ax@``*}Kuvo%G>5Wxsw9d+off&I;{1YH_kAaf&ac$5X6<VH;{ z%?5&V`$aNJ-%yaSLmA!Sy^CJ^f2YO&(*Wpy?%Y4l&B>!(OPLeGk3UuLl=6N0A@*Y~ zefp<3#<r3kF~To$b$g|Rjhewr&oZ2ry$leWrHP`zhk`w5kuDKeO0(Q1s%<bP`D@tJ zvXlK69^^(?WX~cxXj1MNZ8pb5SFM}PqfdS#3D)1SmUMeTga(Lw6c1K6S6h3fmOh&W z_`$1>q`5o|gJUtp&NT4N=)aRC#6Ow=J?8%IqsGcNnIHeoni&wg%b-#jZ<>G8<v?&; zg`U|B_CR1jL_{Ru<J%=C4Z91U#(0rXZ4|4&oUwR8rGMj<Q2q0UDt-GzQtqZA)(bk7 zKi84`*q`YBNrXK*yYB?7l77?#4=Qn|s!`!F`ZCC~6BdA{{&fDY=`BrHQJu3frh4sV z<4Go-Nop$=q+aq&a@(mt&FFg%=eIvHrpJ#>iR@dO7yjF7%>w3+o0_WQJrz#<2yffw zr#fTzq%D)*F$l;x@y-5XB^v5<r$psdwh(isip<<ki#s=qzma!YcPW)$F#A~0vbin5 z4TtLTN~sT09^7~Fag#i4D%Mxx{v>)OJMWx{X(zv|ViEONqTF8eXP)ZLC+UZKChJ_R z&ROH}a%I$mzB636S12916L-Ylaz5{E%WWtB3YSy{%Xn<kc5~X0%EB!cCOhMfsA>C? z3g;6qo*$c->wWa>Gmcc2O=}IikF95Uc4zK^g1PtawmrRFe=pD8BkQ4D!7&ZyH$lR{ z@lmU~^C?$#%`bnL$|L`1&9}q<4jUxq-(de^s=4FpftbaL6BF0ptbCO>r7_@GcS1|0 z(nBT3;0CK8J%e*9vdqU<syJ!wUY>VVli`TRNwq~Sw&iE`^v^x{AV%V$K<>l!3q4i) z5A2qXyPLxh_)%fD)TSNkJ!N(Rs?%8|Kiy%tWXbb{zx4pu>bh;A;xAV{;ZDC~*cEst zYLmwTmYl9k0ka>BT&(;zR~=h(>wS*AL#^Xd?YRwhjKB-{pozBEUZEy+XFA)K)umjX zY}=}2N;gT)$(a*W93V7ty6J1~(~Fg5CZAX-Y~h(T*;%0^PARCpKt!n_f$7{2bMq4q zH>GuaxRevqD|JxS!|*k*vDNtF*7x9V(T`c5&*9I0KD$m$?6Jv3Gn;)+@&!W^jzoM- zElmC>ChPF}(nhYsEq5ljmu<drs?4BolI1k!6UURy*Tl$ltx&V{+g*K7+`M4%w-*16 zy{{C1nr6*6f3ziQ{YH<d`~Ma%{r5iod;Hg{_V$;*KV#^s3!JN_p>*nu^n%|9#ed4$ z+Jzean0U~qUviRk%APeJ-Y=C}5_Z=6?ZKXuV1)>oRfm{VM2bH>I~OCeO0P7$=;Mhc z6Lfa9I5I7b{A^b{_tf4Ma;DvEMqZ2V?|iwk^VQkB<_%20LSonF6x7S*$|#F@l-)QF zY)F(@%{}pUWdrllvrVmmMGiYvo+qwi&ABVW`8~*I3I7>Z1_u7sp?4!fZ`@#iB>mFs zal$X=SG<}raF%a_9fMTRY)D!09A2P6L>c}#m@F-ZmoLQ|*bkUpntJTu7xpV~J&@Sc z+)&H-6}USQcE^gz(t7AkAZP^^v;Yfd`@Q&k{oC66*OzLa49;8lZw>Ht|LeeOO_tV1 zzrFge5jevne0Be~TJuX&??%7l{{p<i=jD&~<N2|gaS?BK{AURHQ?C!4_gw$^rPq72 z+xcJOzt(>H8~xJj?MvuD=TF`5_DAcd-e3M(ZdcHrjkgQ`t^DyXZts7F_~)0V-pk!~ Y|Hb}Szu*4aerf9MOH)XIQ~%!t0AA18(*OVf literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/newwindow.png b/thirdparty/apache-log4j-extras-1.1/site/images/newwindow.png new file mode 100644 index 0000000000000000000000000000000000000000..6287f72bd08a870908e7361d98c35ee0d6dcbc82 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^+(699!3-oX?^2ToQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%@dWsUxR#cd&SYTt4+aeuCvSob zD+%%o1`04ZXs!GL<hyygIEGZ*N=iseOKV|BYhXxX*f`UnVWOl$gG2+vF*XhbHntWE z2L{E>j7%Iec?BF2%&y2ZFfeUwWbk2P5nvW+xWT~4#-PT{uyM;F);OSv44$rjF6*2U FngH~|K)3(^ literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/remove.gif b/thirdparty/apache-log4j-extras-1.1/site/images/remove.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad4b238b07b3fc476567ed52560c988d08094ac1 GIT binary patch literal 227 zcmV<90382ENk%w1VH5xq0J8u9Ap-^Bm6XoR%1BB_`TF>|JvlKlG2z_Xy-rHHXJmhM zalyK|O#%enb#v)fQH)GTA^8LW000C4EC2ui02BZe00RV&kjP1^z4#8pyV>1k90XY& zC~9bjAS^-~$E&q2c&iIUUEMEPtmUKJ4loyBXaLv<vlt)%Kmrm@qwp{-P#KAERx%o* zrT|AlTp6U^j6lKRVAxPY!h*nPAQ&bT13W1_T@6?zf(ip}XMPP12nBXO2LlUShzSe~ d1q}~l69x)63s(RORG}CiO&+2dva=Zx06S?UOsoI^ literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/rss.png b/thirdparty/apache-log4j-extras-1.1/site/images/rss.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b5af48296e6173875d65efc93c86b85d87805d GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^(m>45!3-pod|h4vDZLWch!W?b)Wnj^{5*w_%-mFl ztkhCH1q+3&(##w^1tS9k69oeUD<d;26Eg*E149FYFKasf0(G*Nc>21sUtwn#lh%28 zGNT(P#981GS<Jw|Ed;`hm+sd60SdCDJNh~@Fl_AS{*%ZGQWW45;+mG0_8$n+81$2Z z3xI-_o-U3d6}OTT4zNoUGER^YE^}BZbD>1dg7xu%CkY*#Zb=v06()Xh3{}o_H5R^U j)%CX_n9slB5gWrndnV=3r{{x#hA?=#`njxgN@xNAO|MBf literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/images/update.gif b/thirdparty/apache-log4j-extras-1.1/site/images/update.gif new file mode 100644 index 0000000000000000000000000000000000000000..71ca225b6d654e70717f5048612f76237d63c808 GIT binary patch literal 192 zcmV;x06+gnNk%w1VH5xq0J8u97zYg5m0au6sy`uliIT*`eoP+@S3xKi=dyTYN38q& z`p>?vRxYrvxZE}?R&i&yA^8LW000UAEC2ui02BZe00RVVP{~QFy*TTQ0odQ<AxLO> z!8elS1r$Y)A^}^PqFmFgC*TSIPlgcO1W2H;c4&GI$lr-|AP^J{z#@6tE&z^3BlrVK u9EYsKD)wLuj)6S!AONx%0As*l&<#Om6b1%+34k0D1^|nRj*pOz5db@wR7d3i literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/index.html b/thirdparty/apache-log4j-extras-1.1/site/index.html new file mode 100644 index 00000000000..aa726ee3f3d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/index.html @@ -0,0 +1,174 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Apache Extras Companion™ for Apache log4j™</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <strong>What is it?</strong> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <p>Apache Extras Companion™ for Apache log4j™ is a collection of appenders, filters, and layouts for Apache log4j 1.2. These components are built and tested using Apache log4j 1.2.9 and supported for use with an later 1.2.x release. Some components may be usable with Apache log4j 1.2.8 and earlier. </p> +<p>Apache Extras Companion for Apache log4j is a product of the <a href="http://logging.apache.org" class="externalLink">Apache Logging Services Project</a>, a project of <a href="http://www.apache.org" class="externalLink">The Apache Software Foundation</a>.</p> +<p>Many of these components were originally developed in the discontinued Apache log4j 1.3 development effort.</p> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/integration.html b/thirdparty/apache-log4j-extras-1.1/site/integration.html new file mode 100644 index 00000000000..18260efbc49 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/integration.html @@ -0,0 +1,181 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Continuous Integration</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <strong>Continuous Integration</strong> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Overview</h2> +This project uses Continuous Integration System.</div> +<div class="section"><h2>Access</h2> +<p>The following is a link to the continuous integration system used by the project.</p> +<div class="source"><pre><a href="http://vmgump.apache.org/gump/public/logging-log4j-extras/logging-log4j-extras/index.html" class="externalLink">http://vmgump.apache.org/gump/public/logging-log4j-extras/logging-log4j-extras/index.html</a></pre> +</div> +</div> +<div class="section"><h2>Notifiers</h2> +<p>No notifiers is defined. Please check back at a later date.</p> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/issue-tracking.html b/thirdparty/apache-log4j-extras-1.1/site/issue-tracking.html new file mode 100644 index 00000000000..e3c7efb705c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/issue-tracking.html @@ -0,0 +1,178 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Issue Tracking</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <strong>Issue Tracking</strong> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Overview</h2> +This project uses <a href="http://www.bugzilla.org/" class="externalLink">Bugzilla</a>.</div> +<div class="section"><h2>Issue Tracking</h2> +<p>Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.</p> +<div class="source"><pre><a href="http://issues.apache.org/bugzilla/" class="externalLink">http://issues.apache.org/bugzilla/</a></pre> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/jxr.html b/thirdparty/apache-log4j-extras-1.1/site/jxr.html new file mode 100644 index 00000000000..262d1a9e63a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/jxr.html @@ -0,0 +1,180 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Source Xref report</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <strong>Cross Reference</strong> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Cross-reference Java source code</h2> +<p>This report includes a cross-reference of the project's sources. Each source entry is also linked with its corresponding Javadoc (if Javadoc was generated).</p> +<div class="section"><h3>Project sources</h3> +<p>The cross-reference project sources can be found here: <a href="xref/index.html">xref/index.html</a></p> +</div> +<div class="section"><h3>Test sources</h3> +<p>The cross-reference test sources can be found here: <a href="xref-test/index.html">xref-test/index.html</a></p> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/mail-lists.html b/thirdparty/apache-log4j-extras-1.1/site/mail-lists.html new file mode 100644 index 00000000000..303678ff16c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/mail-lists.html @@ -0,0 +1,210 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Project Mailing Lists</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <strong>Mailing Lists</strong> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Project Mailing Lists</h2> +<p>These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.</p> +<table class="bodyTable"><tr class="a"><th>Name</th> +<th>Subscribe</th> +<th>Unsubscribe</th> +<th>Post</th> +<th>Archive</th> +<th>Other Archives</th> +</tr> +<tr class="b"><td>log4j-user</td> +<td><a href="mailto:log4j-user-subscribe@logging.apache.org" class="externalLink">Subscribe</a></td> +<td><a href="mailto:log4j-user-unsubscribe@logging.apache.org" class="externalLink">Unsubscribe</a></td> +<td><a href="mailto:log4j-user@logging.apache.org" class="externalLink">Post</a></td> +<td><a href="http://mail-archives.apache.org/mod_mbox/logging-log4j-user/" class="externalLink">mail-archives.apache.org</a></td> +<td><a href="http://marc.theaimsgroup.com/?l=log4j-user&amp;r=1&amp;w=2" class="externalLink">marc.theaimsgroup.com</a></td> +</tr> +<tr class="a"><td> </td> +<td> </td> +<td> </td> +<td> </td> +<td> </td> +<td><a href="http://dir.gmane.org/gmane.comp.jakarta.log4j.user" class="externalLink">dir.gmane.org</a></td> +</tr> +<tr class="b"><td>log4j-dev</td> +<td><a href="mailto:log4j-dev-subscribe@logging.apache.org" class="externalLink">Subscribe</a></td> +<td><a href="mailto:log4j-dev-unsubscribe@logging.apache.org" class="externalLink">Unsubscribe</a></td> +<td><a href="mailto:log4j-dev@logging.apache.org" class="externalLink">Post</a></td> +<td><a href="http://mail-archives.apache.org/mod_mbox/logging-log4j-dev/" class="externalLink">mail-archives.apache.org</a></td> +<td><a href="http://marc.theaimsgroup.com/?l=log4j-dev&amp;r=1&amp;w=2" class="externalLink">marc.theaimsgroup.com</a></td> +</tr> +<tr class="a"><td> </td> +<td> </td> +<td> </td> +<td> </td> +<td> </td> +<td><a href="http://dir.gmane.org/gmane.comp.jakarta.log4j.devel" class="externalLink">dir.gmane.org</a></td> +</tr> +</table> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/pmd.html b/thirdparty/apache-log4j-extras-1.1/site/pmd.html new file mode 100644 index 00000000000..499ce58ee3c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/pmd.html @@ -0,0 +1,177 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - PMD Results</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <strong>PMD</strong> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>PMD Results</h2> +<p>The following document contains the results of <a href="http://pmd.sourceforge.net/" class="externalLink">PMD</a> 4.2.5.</p> +</div> +<div class="section"><h2>Files</h2> +<p>PMD found no problems in your source code.</p> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/pmd.xml b/thirdparty/apache-log4j-extras-1.1/site/pmd.xml new file mode 100644 index 00000000000..77315a3c04f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/pmd.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<pmd version="4.2.5" timestamp="2010-11-15T20:15:28.496"> +</pmd> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/project-info.html b/thirdparty/apache-log4j-extras-1.1/site/project-info.html new file mode 100644 index 00000000000..c6a98093497 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/project-info.html @@ -0,0 +1,195 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Project Information</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Project Information</h2> +<p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a href="http://maven.apache.org" class="externalLink">Maven</a> on behalf of the project.</p> +<div class="section"><h3>Overview</h3> +<table class="bodyTable"><tr class="a"><th>Document</th> +<th>Description</th> +</tr> +<tr class="b"><td><a href="dependencies.html">Dependencies</a></td> +<td>This document lists the project's dependencies and provides information on each dependency.</td> +</tr> +<tr class="a"><td><a href="integration.html">Continuous Integration</a></td> +<td>This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.</td> +</tr> +<tr class="b"><td><a href="mail-lists.html">Mailing Lists</a></td> +<td>This document provides subscription and archive information for this project's mailing lists.</td> +</tr> +<tr class="a"><td><a href="issue-tracking.html">Issue Tracking</a></td> +<td>This is a link to the issue management system for this project. Issues (bugs, features, change requests) can be created and queried using this link.</td> +</tr> +<tr class="b"><td><a href="source-repository.html">Source Repository</a></td> +<td>This is a link to the online source repository that can be viewed via a web browser.</td> +</tr> +</table> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/project-reports.html b/thirdparty/apache-log4j-extras-1.1/site/project-reports.html new file mode 100644 index 00000000000..dc7270807a7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/project-reports.html @@ -0,0 +1,198 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Generated Reports</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Generated Reports</h2> +<p>This document provides an overview of the various reports that are automatically generated by <a href="http://maven.apache.org" class="externalLink">Maven</a> . Each report is briefly described below.</p> +<div class="section"><h3>Overview</h3> +<table class="bodyTable"><tr class="a"><th>Document</th> +<th>Description</th> +</tr> +<tr class="b"><td><a href="cpd.html">CPD Report</a></td> +<td>Duplicate code detection.</td> +</tr> +<tr class="a"><td><a href="apidocs/index.html">JavaDocs</a></td> +<td>JavaDoc API documentation.</td> +</tr> +<tr class="b"><td><a href="pmd.html">PMD Report</a></td> +<td>Verification of coding rules.</td> +</tr> +<tr class="a"><td><a href="changes-report.html">Changes Report</a></td> +<td>Changes Report on Releases of the Project.</td> +</tr> +<tr class="b"><td><a href="testapidocs/index.html">Test JavaDocs</a></td> +<td>Test JavaDoc API documentation.</td> +</tr> +<tr class="a"><td><a href="jxr.html">Source Xref</a></td> +<td>HTML based, cross-reference version of Java source code.</td> +</tr> +</table> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/roadmap.html b/thirdparty/apache-log4j-extras-1.1/site/roadmap.html new file mode 100644 index 00000000000..5d20e4bf3f5 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/roadmap.html @@ -0,0 +1,174 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Apache Extras Companion™ for Apache log4j™ Roadmap</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <strong>Roadmap</strong> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <a href="source-repository.html" title="Repository">Repository</a> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Apache Extras Companion™ for Apache log4j™ Roadmap</h2> +<p>The extras component is open to additional generally useful features that are compatible with the widely deployed Apache log4j 1.2 releases and do not add additional dependencies.</p> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/source-repository.html b/thirdparty/apache-log4j-extras-1.1/site/source-repository.html new file mode 100644 index 00000000000..1b13cf05c98 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/source-repository.html @@ -0,0 +1,206 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at Nov 15, 2010 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Extras - Source Repository</title> + <style type="text/css" media="all"> + @import url("./css/maven-base.css"); + @import url("./css/maven-theme.css"); + @import url("./css/site.css"); + </style> + <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> + <meta http-equiv="Content-Language" content="en" /> + </head> + <body class="composite"> + <div id="banner"> + <a href="http://logging.apache.org/" id="bannerLeft"> + <img src="images/ls-logo.jpg" alt="Logging Services" /> + </a> + <a href="http://logging.apache.org/log4j" id="bannerRight"> + <img src="images/logo.jpg" alt="Apache log4j" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2010-11-15</span> + &nbsp;| <span id="projectVersion">Version: 1.1</span> + | <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a> + &gt; + <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a> + &gt; + <a href="http://logging.apache.org/log4j/" class="externalLink" title="log4j">log4j</a> + &gt; + <a href="http://logging.apache.org/log4j/companions/" class="externalLink" title="Companions">Companions</a> + &gt; + <a href="http://logging.apache.org:80/log4j/companions/extras/" class="externalLink" title="extras">extras</a> + </div> + <div class="xright"> + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>Get extras</h5> + <ul> + <li class="none"> + <a href="download.html" title="Download">Download</a> + </li> + <li class="none"> + <a href="changes-report.html" title="Changes">Changes</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a> + </li> + </ul> + <h5>About extras</h5> + <ul> + <li class="none"> + <a href="index.html" title="What is it?">What is it?</a> + </li> + <li class="none"> + <a href="roadmap.html" title="Roadmap">Roadmap</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="JavaDoc">JavaDoc</a> + </li> + </ul> + <h5>Community</h5> + <ul> + <li class="none"> + <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> + </li> + </ul> + <h5>Development</h5> + <ul> + <li class="none"> + <strong>Repository</strong> + </li> + <li class="none"> + <a href="jxr.html" title="Cross Reference">Cross Reference</a> + </li> + <li class="none"> + <a href="dependencies.html" title="Dependencies">Dependencies</a> + </li> + <li class="none"> + <a href="integration.html" title="Continuous Integration">Continuous Integration</a> + </li> + <li class="none"> + <a href="cpd.html" title="Duplication">Duplication</a> + </li> + <li class="none"> + <a href="pmd.html" title="PMD">PMD</a> + </li> + </ul> + <h5>Apache</h5> + <ul> + <li class="none"> + <a href="http://www.apache.org" class="externalLink" title="Home">Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a> + </li> + <li class="none"> + <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a> + </li> + <li class="none"> + <a href="http://www.apachecon.com" class="externalLink" title="Conferences">Conferences</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <div class="section"><h2>Overview</h2> +This project uses <a href="http://subversion.tigris.org/" class="externalLink">Subversion</a> to manage its source code. Instructions on Subversion use can be found at <a href="http://svnbook.red-bean.com/" class="externalLink">http://svnbook.red-bean.com/</a>.</div> +<div class="section"><h2>Web Access</h2> +<p>The following is a link to the online source repository.</p> +<div class="source"><pre><a href="http://svn.apache.org/viewcvs.cgi/logging/log4j/companions/extras/tags/v1_1" class="externalLink">http://svn.apache.org/viewcvs.cgi/logging/log4j/companions/extras/tags/v1_1</a></pre> +</div> +</div> +<div class="section"><h2>Anonymous access</h2> +<p>The source can be checked out anonymously from SVN with this command:</p> +<div class="source"><pre>$ svn checkout http://svn.apache.org/repos/asf/logging/log4j/companions/extras/tags/v1_1 apache-log4j-extras</pre> +</div> +</div> +<div class="section"><h2>Developer access</h2> +<p>Everyone can access the Subversion repository via HTTP, but Committers must checkout the Subversion repository via HTTPS.</p> +<div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/logging/log4j/companions/extras/tags/v1_1 apache-log4j-extras</pre> +</div> +<p>To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password)</p> +<div class="source"><pre>$ svn commit --username your-username -m &quot;A message&quot;</pre> +</div> +</div> +<div class="section"><h2>Access from behind a firewall</h2> +<p>For those users who are stuck behind a corporate firewall which is blocking HTTP access to the Subversion repository, you can try to access it via the developer connection:</p> +<div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/logging/log4j/companions/extras/tags/v1_1 apache-log4j-extras</pre> +</div> +</div> +<div class="section"><h2>Access through a proxy</h2> +<p>The Subversion client can go through a proxy, if you configure it to do so. First, edit your &quot;servers&quot; configuration file to indicate which proxy to use. The file's location depends on your operating system. On Linux or Unix it is located in the directory &quot;~/.subversion&quot;. On Windows it is in &quot;%APPDATA%\Subversion&quot;. (Try &quot;echo %APPDATA%&quot;, note this is a hidden directory.)</p> +<p>There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.</p> +<p>Example: Edit the 'servers' file and add something like:</p> +<div class="source"><pre>[global] +http-proxy-host = your.proxy.name +http-proxy-port = 3128 +</pre> +</div> +</div> + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169; 2010 + <a href="http://www.apache.org">The Apache Software Foundation</a>. + + + Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/allclasses-frame.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/allclasses-frame.html new file mode 100644 index 00000000000..7aaf2ebcfe7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/allclasses-frame.html @@ -0,0 +1,150 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +All Classes (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameHeadingFont"> +<B>All Classes</B></FONT> +<BR> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util" target="classFrame">AbsoluteDateAndTimeFilter</A> +<BR> +<A HREF="org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util" target="classFrame">AbsoluteTimeFilter</A> +<BR> +<A HREF="org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">AndFilterTest</A> +<BR> +<A HREF="org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">AndRuleTest</A> +<BR> +<A HREF="org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern" target="classFrame">CachedDateFormatTest</A> +<BR> +<A HREF="org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util" target="classFrame">Compare</A> +<BR> +<A HREF="org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling" target="classFrame">CompositeTriggeringPolicyTest</A> +<BR> +<A HREF="org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util" target="classFrame">ControlFilter</A> +<BR> +<A HREF="org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">DenyAllFilterTest</A> +<BR> +<A HREF="org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j" target="classFrame">EnhancedMyPatternLayout</A> +<BR> +<A HREF="org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j" target="classFrame">EnhancedPatternLayoutTest</A> +<BR> +<A HREF="org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j" target="classFrame">EnhancedPatternLayoutTest.DerivedPatternLayout</A> +<BR> +<A HREF="org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j" target="classFrame">EnhancedPatternLayoutTestCase</A> +<BR> +<A HREF="org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">EqualsRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">ExistsRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper" target="classFrame">FileNamePatternTestCase</A> +<BR> +<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util" target="classFrame"><I>Filter</I></A> +<BR> +<A HREF="org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling" target="classFrame">FilterBasedRollingTest</A> +<BR> +<A HREF="org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern" target="classFrame">FormattingInfoTest</A> +<BR> +<A HREF="org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util" target="classFrame">ISO8601Filter</A> +<BR> +<A HREF="org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util" target="classFrame">JunitTestRunnerFilter</A> +<BR> +<A HREF="org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j" target="classFrame">LayoutTest</A> +<BR> +<A HREF="org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">LevelEqualsRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">LevelInequalityRuleTest</A> +<BR> +<A HREF="org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">LevelMatchFilterTest</A> +<BR> +<A HREF="org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">LevelRangeFilterTest</A> +<BR> +<A HREF="org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util" target="classFrame">LineNumberFilter</A> +<BR> +<A HREF="org/apache/log4j/LogCapture.html" title="class in org.apache.log4j" target="classFrame">LogCapture</A> +<BR> +<A HREF="org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">LoggerMatchFilterTest</A> +<BR> +<A HREF="org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util" target="classFrame">MDCOrderFilter</A> +<BR> +<A HREF="org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j" target="classFrame">MyPatternParser</A> +<BR> +<A HREF="org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern" target="classFrame">NameAbbreviatorTest</A> +<BR> +<A HREF="org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">NotEqualsRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">NotRuleTest</A> +<BR> +<A HREF="org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">Num343PatternConverter</A> +<BR> +<A HREF="org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">OrRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">PartialTextMatchRuleTest</A> +<BR> +<A HREF="org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern" target="classFrame">PatternParserTest</A> +<BR> +<A HREF="org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util" target="classFrame">RelativeTimeFilter</A> +<BR> +<A HREF="org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling" target="classFrame">RenamingTest</A> +<BR> +<A HREF="org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util" target="classFrame">SerializationTestHelper</A> +<BR> +<A HREF="org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">SimpleFilterTest</A> +<BR> +<A HREF="org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling" target="classFrame">SizeBasedRollingTest</A> +<BR> +<A HREF="org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">StringMatchFilterTest</A> +<BR> +<A HREF="org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util" target="classFrame">SunReflectFilter</A> +<BR> +<A HREF="org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j" target="classFrame">TestLogMF</A> +<BR> +<A HREF="org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j" target="classFrame">TestLogSF</A> +<BR> +<A HREF="org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j" target="classFrame">TestLogXF</A> +<BR> +<A HREF="org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling" target="classFrame">TimeBasedRollingTest</A> +<BR> +<A HREF="org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">TimeFilterTest</A> +<BR> +<A HREF="org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">TimestampEqualsRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">TimestampInequalityRuleTest</A> +<BR> +<A HREF="org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util" target="classFrame">Transformer</A> +<BR> +<A HREF="org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util" target="classFrame">UnexpectedFormatException</A> +<BR> +<A HREF="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j" target="classFrame">VectorAppender</A> +<BR> +<A HREF="org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util" target="classFrame">XMLDateFilter</A> +<BR> +<A HREF="org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util" target="classFrame">XMLLineAttributeFilter</A> +<BR> +<A HREF="org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util" target="classFrame">XMLTimestampFilter</A> +<BR> +<A HREF="org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml" target="classFrame">XSLTLayoutTest</A> +<BR> +<A HREF="org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml" target="classFrame">XSLTLayoutTestCase</A> +<BR> +</FONT></TD> +</TR> +</TABLE> + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/allclasses-noframe.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/allclasses-noframe.html new file mode 100644 index 00000000000..c8e2af54358 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/allclasses-noframe.html @@ -0,0 +1,150 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +All Classes (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameHeadingFont"> +<B>All Classes</B></FONT> +<BR> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteDateAndTimeFilter</A> +<BR> +<A HREF="org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteTimeFilter</A> +<BR> +<A HREF="org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter">AndFilterTest</A> +<BR> +<A HREF="org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule">AndRuleTest</A> +<BR> +<A HREF="org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<BR> +<A HREF="org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</A> +<BR> +<A HREF="org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<BR> +<A HREF="org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util">ControlFilter</A> +<BR> +<A HREF="org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter">DenyAllFilterTest</A> +<BR> +<A HREF="org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j">EnhancedMyPatternLayout</A> +<BR> +<A HREF="org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A> +<BR> +<A HREF="org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest.DerivedPatternLayout</A> +<BR> +<A HREF="org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<BR> +<A HREF="org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule">EqualsRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule">ExistsRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<BR> +<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util"><I>Filter</I></A> +<BR> +<A HREF="org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling">FilterBasedRollingTest</A> +<BR> +<A HREF="org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern">FormattingInfoTest</A> +<BR> +<A HREF="org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util">ISO8601Filter</A> +<BR> +<A HREF="org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util">JunitTestRunnerFilter</A> +<BR> +<A HREF="org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<BR> +<A HREF="org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A> +<BR> +<A HREF="org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter">LevelMatchFilterTest</A> +<BR> +<A HREF="org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter">LevelRangeFilterTest</A> +<BR> +<A HREF="org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util">LineNumberFilter</A> +<BR> +<A HREF="org/apache/log4j/LogCapture.html" title="class in org.apache.log4j">LogCapture</A> +<BR> +<A HREF="org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter">LoggerMatchFilterTest</A> +<BR> +<A HREF="org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util">MDCOrderFilter</A> +<BR> +<A HREF="org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j">MyPatternParser</A> +<BR> +<A HREF="org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<BR> +<A HREF="org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule">NotEqualsRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule">NotRuleTest</A> +<BR> +<A HREF="org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern">Num343PatternConverter</A> +<BR> +<A HREF="org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule">PartialTextMatchRuleTest</A> +<BR> +<A HREF="org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<BR> +<A HREF="org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util">RelativeTimeFilter</A> +<BR> +<A HREF="org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling">RenamingTest</A> +<BR> +<A HREF="org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util">SerializationTestHelper</A> +<BR> +<A HREF="org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<BR> +<A HREF="org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A> +<BR> +<A HREF="org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter">StringMatchFilterTest</A> +<BR> +<A HREF="org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util">SunReflectFilter</A> +<BR> +<A HREF="org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<BR> +<A HREF="org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<BR> +<A HREF="org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<BR> +<A HREF="org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<BR> +<A HREF="org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<BR> +<A HREF="org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule">TimestampEqualsRuleTest</A> +<BR> +<A HREF="org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule">TimestampInequalityRuleTest</A> +<BR> +<A HREF="org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util">Transformer</A> +<BR> +<A HREF="org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A> +<BR> +<A HREF="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</A> +<BR> +<A HREF="org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util">XMLDateFilter</A> +<BR> +<A HREF="org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util">XMLLineAttributeFilter</A> +<BR> +<A HREF="org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util">XMLTimestampFilter</A> +<BR> +<A HREF="org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<BR> +<A HREF="org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A> +<BR> +</FONT></TD> +</TR> +</TABLE> + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/constant-values.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/constant-values.html new file mode 100644 index 00000000000..0470740b30f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/constant-values.html @@ -0,0 +1,223 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Constant Field Values (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Constant Field Values (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +Constant Field Values</H1> +</CENTER> +<HR SIZE="4" NOSHADE> +<B>Contents</B><UL> +<LI><A HREF="#org.apache">org.apache.*</A> +</UL> + +<A NAME="org.apache"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left"><FONT SIZE="+2"> +org.apache.*</FONT></TH> +</TR> +</TABLE> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.filter.<A HREF="org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.filter.SimpleFilterTest.FILTERED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/filter/SimpleFilterTest.html#FILTERED">FILTERED</A></CODE></TD> +<TD ALIGN="right"><CODE>"filtered"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.filter.SimpleFilterTest.TEMP"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/filter/SimpleFilterTest.html#TEMP">TEMP</A></CODE></TD> +<TD ALIGN="right"><CODE>"temp"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> + +<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="3">org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.util.Filter.ABSOLUTE_DATE_AND_TIME_PAT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A></CODE></TD> +<TD ALIGN="right"><CODE>"^\\d{1,2} .{2,6}\\.? 2\\d\\d\\d \\d{2}:\\d{2}:\\d{2},\\d{3}"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.util.Filter.ABSOLUTE_TIME_PAT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A></CODE></TD> +<TD ALIGN="right"><CODE>"^\\d{2}:\\d{2}:\\d{2},\\d{3}"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.util.Filter.BASIC_PAT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A></CODE></TD> +<TD ALIGN="right"><CODE>"\\[main\\] (FATAL|ERROR|WARN|INFO|DEBUG)"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.util.Filter.ISO8601_PAT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A></CODE></TD> +<TD ALIGN="right"><CODE>"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2},\\d{3}"</CODE></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<A NAME="org.apache.log4j.util.Filter.RELATIVE_TIME_PAT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1"> +<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD> +<TD ALIGN="left"><CODE><A HREF="org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +<TD ALIGN="right"><CODE>"^\\d{1,10}"</CODE></TD> +</TR> +</FONT></TD> +</TR> +</TABLE> + +<P> + +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/deprecated-list.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/deprecated-list.html new file mode 100644 index 00000000000..0c0a6d7a4b3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/deprecated-list.html @@ -0,0 +1,172 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Deprecated List (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Deprecated List (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Deprecated API</B></H2> +</CENTER> +<HR SIZE="4" NOSHADE> +<B>Contents</B><UL> +<LI><A HREF="#method">Deprecated Methods</A> +</UL> + +<A NAME="method"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Deprecated Methods</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html#getBufSize()">org.apache.log4j.EnhancedPatternLayoutTest.DerivedPatternLayout.getBufSize()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html#getMaxCapacity()">org.apache.log4j.EnhancedPatternLayoutTest.DerivedPatternLayout.getMaxCapacity()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="org/apache/log4j/rolling/SizeBasedRollingTest.html#test6()">org.apache.log4j.rolling.SizeBasedRollingTest.test6()</A> +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Tests deprecated method</I>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/help-doc.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/help-doc.html new file mode 100644 index 00000000000..0fd4c339656 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/help-doc.html @@ -0,0 +1,224 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +API Help (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="API Help (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +How This API Document Is Organized</H1> +</CENTER> +This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3> +Overview</H3> +<BLOCKQUOTE> + +<P> +The <A HREF="overview-summary.html">Overview</A> 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.</BLOCKQUOTE> +<H3> +Package</H3> +<BLOCKQUOTE> + +<P> +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:<UL> +<LI>Interfaces (italic)<LI>Classes<LI>Enums<LI>Exceptions<LI>Errors<LI>Annotation Types</UL> +</BLOCKQUOTE> +<H3> +Class/Interface</H3> +<BLOCKQUOTE> + +<P> +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:<UL> +<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description +<P> +<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary +<P> +<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL> +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.</BLOCKQUOTE> +</BLOCKQUOTE> +<H3> +Annotation Type</H3> +<BLOCKQUOTE> + +<P> +Each annotation type has its own separate page with the following sections:<UL> +<LI>Annotation Type declaration<LI>Annotation Type description<LI>Required Element Summary<LI>Optional Element Summary<LI>Element Detail</UL> +</BLOCKQUOTE> +</BLOCKQUOTE> +<H3> +Enum</H3> +<BLOCKQUOTE> + +<P> +Each enum has its own separate page with the following sections:<UL> +<LI>Enum declaration<LI>Enum description<LI>Enum Constant Summary<LI>Enum Constant Detail</UL> +</BLOCKQUOTE> +<H3> +Use</H3> +<BLOCKQUOTE> +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.</BLOCKQUOTE> +<H3> +Tree (Class Hierarchy)</H3> +<BLOCKQUOTE> +There is a <A HREF="overview-tree.html">Class Hierarchy</A> 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 <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL> +<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL> +</BLOCKQUOTE> +<H3> +Deprecated API</H3> +<BLOCKQUOTE> +The <A HREF="deprecated-list.html">Deprecated API</A> 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.</BLOCKQUOTE> +<H3> +Index</H3> +<BLOCKQUOTE> +The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE> +<H3> +Prev/Next</H3> +These links take you to the next or previous class, interface, package, or related page.<H3> +Frames/No Frames</H3> +These links show and hide the HTML frames. All pages are available with or without frames. +<P> +<H3> +Serialized Form</H3> +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. +<P> +<H3> +Constant Field Values</H3> +The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values. +<P> +<FONT SIZE="-1"> +<EM> +This help file applies to API documentation generated using the standard doclet.</EM> +</FONT> +<BR> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/index-all.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/index-all.html new file mode 100644 index 00000000000..de899d808aa --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/index-all.html @@ -0,0 +1,2156 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Index (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Index (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="./allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_X_">X</A> <HR> +<A NAME="_A_"><!-- --></A><H2> +<B>A</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT"><B>ABSOLUTE_DATE_AND_TIME_PAT</B></A> - +Static variable in interface org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT"><B>ABSOLUTE_TIME_PAT</B></A> - +Static variable in interface org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util"><B>AbsoluteDateAndTimeFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/AbsoluteDateAndTimeFilter.html#AbsoluteDateAndTimeFilter()"><B>AbsoluteDateAndTimeFilter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteDateAndTimeFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util"><B>AbsoluteTimeFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/AbsoluteTimeFilter.html#AbsoluteTimeFilter()"><B>AbsoluteTimeFilter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteTimeFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/VectorAppender.html#activateOptions()"><B>activateOptions()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</A> +<DD>Does nothing. +<DT><A HREF="./org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter"><B>AndFilterTest</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>Unit tests for AndFilter.<DT><A HREF="./org/apache/log4j/filter/AndFilterTest.html#AndFilterTest(java.lang.String)"><B>AndFilterTest(String)</B></A> - +Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter">AndFilterTest</A> +<DD>Create new test instance. +<DT><A HREF="./org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule"><B>AndRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for AndRule.<DT><A HREF="./org/apache/log4j/rule/AndRuleTest.html#AndRuleTest(java.lang.String)"><B>AndRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule">AndRuleTest</A> +<DD>Create new test. +<DT><A HREF="./org/apache/log4j/VectorAppender.html#append(org.apache.log4j.spi.LoggingEvent)"><B>append(LoggingEvent)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</A> +<DD>This method is called by the <A HREF="./../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#doAppend(org.apache.log4j.spi.LoggingEvent)" title="class or interface in org.apache.log4j"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> + method. +<DT><A HREF="./org/apache/log4j/util/SerializationTestHelper.html#assertSerializationEquals(java.lang.String, java.lang.Object, int[], int)"><B>assertSerializationEquals(String, Object, int[], int)</B></A> - +Static method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util">SerializationTestHelper</A> +<DD>Checks the serialization of an object against an file + containing the expected serialization. +<DT><A HREF="./org/apache/log4j/util/SerializationTestHelper.html#assertStreamEquals(java.lang.String, byte[], int[], int)"><B>assertStreamEquals(String, byte[], int[], int)</B></A> - +Static method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util">SerializationTestHelper</A> +<DD>Asserts the serialized form of an object. +</DL> +<HR> +<A NAME="_B_"><!-- --></A><H2> +<B>B</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/util/Filter.html#BASIC_PAT"><B>BASIC_PAT</B></A> - +Static variable in interface org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_C_"><!-- --></A><H2> +<B>C</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern"><B>CachedDateFormatTest</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Unit test <CODE>AbsoluteTimeDateFormat</CODE>.<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#CachedDateFormatTest(java.lang.String)"><B>CachedDateFormatTest(String)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Test constructor +<DT><A HREF="./org/apache/log4j/VectorAppender.html#close()"><B>close()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util"><B>Compare</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/Compare.html#Compare()"><B>Compare()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/Compare.html#compare(java.lang.Class, java.lang.String, java.lang.String)"><B>compare(Class, String, String)</B></A> - +Static method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/Compare.html#compare(java.lang.Class, java.lang.String, java.lang.String, java.io.BufferedReader, java.io.BufferedReader)"><B>compare(Class, String, String, BufferedReader, BufferedReader)</B></A> - +Static method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling"><B>CompositeTriggeringPolicyTest</B></A> - Class in <A HREF="./org/apache/log4j/rolling/package-summary.html">org.apache.log4j.rolling</A><DD>Test CompositeTriggeringPolicy<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#CompositeTriggeringPolicyTest()"><B>CompositeTriggeringPolicyTest()</B></A> - +Constructor for class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util"><B>ControlFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/ControlFilter.html#ControlFilter(java.lang.String[])"><B>ControlFilter(String[])</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util">ControlFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html#createLayout()"><B>createLayout()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LayoutTest.html#createLayout()"><B>createLayout()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<DD>Creates layout for test. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#createLayout()"><B>createLayout()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedMyPatternLayout.html#createPatternParser(java.lang.String)"><B>createPatternParser(String)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j">EnhancedMyPatternLayout</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_D_"><!-- --></A><H2> +<B>D</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter"><B>DenyAllFilterTest</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>Unit tests for DenyAllFilter.<DT><A HREF="./org/apache/log4j/filter/DenyAllFilterTest.html#DenyAllFilterTest(java.lang.String)"><B>DenyAllFilterTest(String)</B></A> - +Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter">DenyAllFilterTest</A> +<DD>Create new test instance. +<DT><A HREF="./org/apache/log4j/util/SerializationTestHelper.html#deserializeStream(java.lang.String)"><B>deserializeStream(String)</B></A> - +Static method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util">SerializationTestHelper</A> +<DD>Deserializes a specified file. +</DL> +<HR> +<A NAME="_E_"><!-- --></A><H2> +<B>E</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedMyPatternLayout</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Example showing how to extend EnhancedPatternLayout to recognize additional + conversion characters.<DT><A HREF="./org/apache/log4j/EnhancedMyPatternLayout.html#EnhancedMyPatternLayout()"><B>EnhancedMyPatternLayout()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j">EnhancedMyPatternLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedMyPatternLayout.html#EnhancedMyPatternLayout(java.lang.String)"><B>EnhancedMyPatternLayout(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j">EnhancedMyPatternLayout</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j"><B>EnhancedPatternLayoutTest</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Test for EnhancedPatternLayout.<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html#EnhancedPatternLayoutTest(java.lang.String)"><B>EnhancedPatternLayoutTest(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A> +<DD>Construct new instance of PatternLayoutTest. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedPatternLayoutTest.DerivedPatternLayout</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Class to ensure that protected members are still available.<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html#EnhancedPatternLayoutTest.DerivedPatternLayout()"><B>EnhancedPatternLayoutTest.DerivedPatternLayout()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest.DerivedPatternLayout</A> +<DD>Constructs a new instance of DerivedPatternLayout. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j"><B>EnhancedPatternLayoutTestCase</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#EnhancedPatternLayoutTestCase(java.lang.String)"><B>EnhancedPatternLayoutTestCase(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>EqualsRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for EqualsRule.<DT><A HREF="./org/apache/log4j/rule/EqualsRuleTest.html#EqualsRuleTest(java.lang.String)"><B>EqualsRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule">EqualsRuleTest</A> +<DD>Create new test. +<DT><A HREF="./org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule"><B>ExistsRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for ExistsRule.<DT><A HREF="./org/apache/log4j/rule/ExistsRuleTest.html#ExistsRuleTest(java.lang.String)"><B>ExistsRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule">ExistsRuleTest</A> +<DD>Create new test. +</DL> +<HR> +<A NAME="_F_"><!-- --></A><H2> +<B>F</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper"><B>FileNamePatternTestCase</B></A> - Class in <A HREF="./org/apache/log4j/rolling/helper/package-summary.html">org.apache.log4j.rolling.helper</A><DD>Tests for FileNamePattern.<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#FileNamePatternTestCase(java.lang.String)"><B>FileNamePatternTestCase(String)</B></A> - +Constructor for class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>Construct new test. +<DT><A HREF="./org/apache/log4j/util/AbsoluteDateAndTimeFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteDateAndTimeFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/AbsoluteTimeFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteTimeFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/ControlFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util">ControlFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util"><B>Filter</B></A> - Interface in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/Filter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in interface org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A> +<DD>This filter transforms the input string and returns the results as + output. +<DT><A HREF="./org/apache/log4j/util/ISO8601Filter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util">ISO8601Filter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/JunitTestRunnerFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util">JunitTestRunnerFilter</A> +<DD>Filter out stack trace lines coming from the various JUnit TestRunners. +<DT><A HREF="./org/apache/log4j/util/LineNumberFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util">LineNumberFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/MDCOrderFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util">MDCOrderFilter</A> +<DD>Switch order of MDC keys when not in expected order. +<DT><A HREF="./org/apache/log4j/util/RelativeTimeFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util">RelativeTimeFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/SunReflectFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util">SunReflectFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/XMLDateFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util">XMLDateFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/XMLLineAttributeFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util">XMLLineAttributeFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/XMLTimestampFilter.html#filter(java.lang.String)"><B>filter(String)</B></A> - +Method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util">XMLTimestampFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>FilterBasedRollingTest</B></A> - Class in <A HREF="./org/apache/log4j/rolling/package-summary.html">org.apache.log4j.rolling</A><DD>Tests of rolling file appender with a filter based triggering policy.<DT><A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html#FilterBasedRollingTest(java.lang.String)"><B>FilterBasedRollingTest(String)</B></A> - +Constructor for class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling">FilterBasedRollingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#FILTERED"><B>FILTERED</B></A> - +Static variable in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/MyPatternParser.html#finalizeConverter(char)"><B>finalizeConverter(char)</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j">MyPatternParser</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/Num343PatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><B>format(LoggingEvent, StringBuffer)</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern">Num343PatternConverter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern"><B>FormattingInfoTest</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Tests for FormattingInfo.<DT><A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html#FormattingInfoTest(java.lang.String)"><B>FormattingInfoTest(String)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern">FormattingInfoTest</A> +<DD>Create a new instance. +</DL> +<HR> +<A NAME="_G_"><!-- --></A><H2> +<B>G</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html#getBufSize()"><B>getBufSize()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest.DerivedPatternLayout</A> +<DD><B>Deprecated.</B>&nbsp;<I></I>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html#getMaxCapacity()"><B>getMaxCapacity()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest.DerivedPatternLayout</A> +<DD><B>Deprecated.</B>&nbsp;<I></I>&nbsp; +<DT><A HREF="./org/apache/log4j/LogCapture.html#getMessage()"><B>getMessage()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/LogCapture.html" title="class in org.apache.log4j">LogCapture</A> +<DD>Get message. +<DT><A HREF="./org/apache/log4j/VectorAppender.html#getVector()"><B>getVector()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/Compare.html#gzCompare(java.lang.Class, java.lang.String, java.lang.String)"><B>gzCompare(Class, String, String)</B></A> - +Static method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/Compare.html#gzCompare(java.lang.Class, java.lang.String, java.lang.String, java.io.BufferedReader, java.io.BufferedReader)"><B>gzCompare(Class, String, String, BufferedReader, BufferedReader)</B></A> - +Static method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_I_"><!-- --></A><H2> +<B>I</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/VectorAppender.html#isClosed()"><B>isClosed()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/Filter.html#ISO8601_PAT"><B>ISO8601_PAT</B></A> - +Static variable in interface org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util"><B>ISO8601Filter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/ISO8601Filter.html#ISO8601Filter()"><B>ISO8601Filter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util">ISO8601Filter</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_J_"><!-- --></A><H2> +<B>J</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util"><B>JunitTestRunnerFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/JunitTestRunnerFilter.html#JunitTestRunnerFilter()"><B>JunitTestRunnerFilter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util">JunitTestRunnerFilter</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_L_"><!-- --></A><H2> +<B>L</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j"><B>LayoutTest</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Tests for Layout.<DT><A HREF="./org/apache/log4j/LayoutTest.html#LayoutTest(java.lang.String)"><B>LayoutTest(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<DD>Construct a new instance of LayoutTest. +<DT><A HREF="./org/apache/log4j/LayoutTest.html#LayoutTest(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String)"><B>LayoutTest(String, String, boolean, String, String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<DD>Constructor for use by derived tests. +<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>LevelEqualsRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for LevelEqualsRule.<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html#LevelEqualsRuleTest(java.lang.String)"><B>LevelEqualsRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A> +<DD>Create new test. +<DT><A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>LevelInequalityRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for LevelInequalityRule.<DT><A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html#LevelInequalityRuleTest(java.lang.String)"><B>LevelInequalityRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A> +<DD>Create new test. +<DT><A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>LevelMatchFilterTest</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>Unit tests for LevelMatchFilter.<DT><A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html#LevelMatchFilterTest(java.lang.String)"><B>LevelMatchFilterTest(String)</B></A> - +Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter">LevelMatchFilterTest</A> +<DD>Create new test instance. +<DT><A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter"><B>LevelRangeFilterTest</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>Unit tests for LevelRangeFilter.<DT><A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html#LevelRangeFilterTest(java.lang.String)"><B>LevelRangeFilterTest(String)</B></A> - +Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter">LevelRangeFilterTest</A> +<DD>Create new test instance. +<DT><A HREF="./org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util"><B>LineNumberFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/LineNumberFilter.html#LineNumberFilter()"><B>LineNumberFilter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util">LineNumberFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/LogCapture.html" title="class in org.apache.log4j"><B>LogCapture</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Helper class to set up and capture log messages.<DT><A HREF="./org/apache/log4j/LogCapture.html#LogCapture(org.apache.log4j.Level)"><B>LogCapture(Level)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/LogCapture.html" title="class in org.apache.log4j">LogCapture</A> +<DD>Creates new instance of LogCapture. +<DT><A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>LoggerMatchFilterTest</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>Unit tests for LoggerMatchFilter.<DT><A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html#LoggerMatchFilterTest(java.lang.String)"><B>LoggerMatchFilterTest(String)</B></A> - +Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter">LoggerMatchFilterTest</A> +<DD>Create new test instance. +</DL> +<HR> +<A NAME="_M_"><!-- --></A><H2> +<B>M</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util"><B>MDCOrderFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>This class switches MDC values into the order + (unreasonably) expected by the witness files.<DT><A HREF="./org/apache/log4j/util/MDCOrderFilter.html#MDCOrderFilter()"><B>MDCOrderFilter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util">MDCOrderFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j"><B>MyPatternParser</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Example showing how to extend PatternParser to recognize additional + conversion characters.<DT><A HREF="./org/apache/log4j/MyPatternParser.html#MyPatternParser(java.lang.String)"><B>MyPatternParser(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j">MyPatternParser</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_N_"><!-- --></A><H2> +<B>N</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern"><B>NameAbbreviatorTest</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Tests for NameAbbrevator.<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#NameAbbreviatorTest(java.lang.String)"><B>NameAbbreviatorTest(String)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Create a new instance. +<DT><A HREF="./org/apache/log4j/pattern/Num343PatternConverter.html#newInstance(java.lang.String[])"><B>newInstance(String[])</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern">Num343PatternConverter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NotEqualsRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for NotEqualsRule.<DT><A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html#NotEqualsRuleTest(java.lang.String)"><B>NotEqualsRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule">NotEqualsRuleTest</A> +<DD>Create new test. +<DT><A HREF="./org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule"><B>NotRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for NotRule.<DT><A HREF="./org/apache/log4j/rule/NotRuleTest.html#NotRuleTest(java.lang.String)"><B>NotRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule">NotRuleTest</A> +<DD>Create new test. +<DT><A HREF="./org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern"><B>Num343PatternConverter</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>&nbsp;</DL> +<HR> +<A NAME="_O_"><!-- --></A><H2> +<B>O</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/package-summary.html"><B>org.apache.log4j</B></A> - package org.apache.log4j<DD>&nbsp;<DT><A HREF="./org/apache/log4j/filter/package-summary.html"><B>org.apache.log4j.filter</B></A> - package org.apache.log4j.filter<DD>&nbsp;<DT><A HREF="./org/apache/log4j/pattern/package-summary.html"><B>org.apache.log4j.pattern</B></A> - package org.apache.log4j.pattern<DD>&nbsp;<DT><A HREF="./org/apache/log4j/rolling/package-summary.html"><B>org.apache.log4j.rolling</B></A> - package org.apache.log4j.rolling<DD>&nbsp;<DT><A HREF="./org/apache/log4j/rolling/helper/package-summary.html"><B>org.apache.log4j.rolling.helper</B></A> - package org.apache.log4j.rolling.helper<DD>&nbsp;<DT><A HREF="./org/apache/log4j/rule/package-summary.html"><B>org.apache.log4j.rule</B></A> - package org.apache.log4j.rule<DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/package-summary.html"><B>org.apache.log4j.util</B></A> - package org.apache.log4j.util<DD>&nbsp;<DT><A HREF="./org/apache/log4j/xml/package-summary.html"><B>org.apache.log4j.xml</B></A> - package org.apache.log4j.xml<DD>&nbsp;<DT><A HREF="./org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule"><B>OrRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for OrRule.<DT><A HREF="./org/apache/log4j/rule/OrRuleTest.html#OrRuleTest(java.lang.String)"><B>OrRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A> +<DD>Create new test. +</DL> +<HR> +<A NAME="_P_"><!-- --></A><H2> +<B>P</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule"><B>PartialTextMatchRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for PartialTextMatchRule.<DT><A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html#PartialTextMatchRuleTest(java.lang.String)"><B>PartialTextMatchRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule">PartialTextMatchRuleTest</A> +<DD>Create new test. +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern"><B>PatternParserTest</B></A> - Class in <A HREF="./org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A><DD>Test case for PatternParser.java.<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#PatternParserTest(java.lang.String)"><B>PatternParserTest(String)</B></A> - +Constructor for class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_R_"><!-- --></A><H2> +<B>R</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT"><B>RELATIVE_TIME_PAT</B></A> - +Static variable in interface org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util"><B>RelativeTimeFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/RelativeTimeFilter.html#RelativeTimeFilter()"><B>RelativeTimeFilter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util">RelativeTimeFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling"><B>RenamingTest</B></A> - Class in <A HREF="./org/apache/log4j/rolling/package-summary.html">org.apache.log4j.rolling</A><DD>This test case aims to unit test/reproduce problems encountered while + renaming the log file under windows.<DT><A HREF="./org/apache/log4j/rolling/RenamingTest.html#RenamingTest(java.lang.String)"><B>RenamingTest(String)</B></A> - +Constructor for class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling">RenamingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/VectorAppender.html#requiresLayout()"><B>requiresLayout()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_S_"><!-- --></A><H2> +<B>S</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util"><B>SerializationTestHelper</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>Utiities for serialization tests.<DT><A HREF="./org/apache/log4j/util/SerializationTestHelper.html#serializeClone(java.lang.Object)"><B>serializeClone(Object)</B></A> - +Static method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util">SerializationTestHelper</A> +<DD>Creates a clone by serializing object and + deserializing byte stream. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#setUp()"><B>setUp()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#setUp()"><B>setUp()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#setUp()"><B>setUp()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html#setUp()"><B>setUp()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling">FilterBasedRollingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/RenamingTest.html#setUp()"><B>setUp()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling">RenamingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html#setUp()"><B>setUp()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#setUp()"><B>setUp()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html#setUp()"><B>setUp()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter"><B>SimpleFilterTest</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>Various tests verifying that filters work properly and that + JoranConfigurator can effectively parse config files containing them.<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#SimpleFilterTest(java.lang.String)"><B>SimpleFilterTest(String)</B></A> - +Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>SizeBasedRollingTest</B></A> - Class in <A HREF="./org/apache/log4j/rolling/package-summary.html">org.apache.log4j.rolling</A><DD>Do not forget to call activateOptions when configuring programatically.<DT><A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html#SizeBasedRollingTest(java.lang.String)"><B>SizeBasedRollingTest(String)</B></A> - +Constructor for class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>StringMatchFilterTest</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>Unit tests for StringMatchFilter.<DT><A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html#StringMatchFilterTest(java.lang.String)"><B>StringMatchFilterTest(String)</B></A> - +Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter">StringMatchFilterTest</A> +<DD>Create new test instance. +<DT><A HREF="./org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util"><B>SunReflectFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>The sun.reflect.* lines are not present in all JDKs.<DT><A HREF="./org/apache/log4j/util/SunReflectFilter.html#SunReflectFilter()"><B>SunReflectFilter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util">SunReflectFilter</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_T_"><!-- --></A><H2> +<B>T</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling">FilterBasedRollingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/RenamingTest.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling">RenamingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/TestLogMF.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Post test clean up. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Post test clean up. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Post test clean up. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html#tearDown()"><B>tearDown()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#TEMP"><B>TEMP</B></A> - +Static variable in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/AndFilterTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter">AndFilterTest</A> +<DD>Check that AndFilter.decide() returns Filter.ACCEPT if no filters added. +<DT><A HREF="./org/apache/log4j/filter/DenyAllFilterTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter">DenyAllFilterTest</A> +<DD>Check that DenyAllFilter.decide() returns Filter.DENY. +<DT><A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter">LevelMatchFilterTest</A> +<DD>Check that LevelMatchFilter.decide() returns Filter.ACCEPT when level matches. +<DT><A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter">LevelRangeFilterTest</A> +<DD>Check that LevelRangeFilter.decide() returns Filter.DENY + when event level is below min level. +<DT><A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter">LoggerMatchFilterTest</A> +<DD>Check that LoggerMatchFilter.decide() with unspecified level + returns Filter.ACCEPT for root logger. +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter">StringMatchFilterTest</A> +<DD>Check that StringMatchFilter.decide() returns Filter.NEUTRAL + when string to match is unspecified. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Test multiple calls in close intervals. +<DT><A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling">FilterBasedRollingTest</A> +<DD>Test basic rolling functionality using configuration file. +<DT><A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A> +<DD>Tests that the lack of an explicit active file will use the + low index as the active file. +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>Test rolling without compression, activeFileName left blank, no stop/start +<DT><A HREF="./org/apache/log4j/rule/AndRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule">AndRuleTest</A> +<DD>AndRule.getRule(Stack) throws exception if only one rule provided. +<DT><A HREF="./org/apache/log4j/rule/EqualsRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule">EqualsRuleTest</A> +<DD>getRule() with only one entry on stack should throw IllegalArgumentException. +<DT><A HREF="./org/apache/log4j/rule/ExistsRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule">ExistsRuleTest</A> +<DD>getRule() with no entry on stack should throw IllegalArgumentException. +<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A> +<DD>Tests evaluate when levels are equal. +<DT><A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A> +<DD>Test construction when level is unrecognized. +<DT><A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule">NotEqualsRuleTest</A> +<DD>getRule() with only one entry on stack should throw IllegalArgumentException. +<DT><A HREF="./org/apache/log4j/rule/NotRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule">NotRuleTest</A> +<DD>NotRule.getRule(Stack) throws exception if only one rule provided. +<DT><A HREF="./org/apache/log4j/rule/OrRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A> +<DD>OrRule.getRule(Stack) throws exception if only one rule provided. +<DT><A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule">PartialTextMatchRuleTest</A> +<DD>getRule() with only one entry on stack should throw IllegalArgumentException. +<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule">TimestampEqualsRuleTest</A> +<DD>Tests evaluate when timestamps are equal. +<DT><A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html#test1()"><B>test1()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule">TimestampInequalityRuleTest</A> +<DD>Test construction when timestamp is unrecognized. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test10()"><B>test10()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#test10()"><B>test10()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test10()"><B>test10()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Test when millisecond position moves but length remains constant. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test11()"><B>test11()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#test11()"><B>test11()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test11()"><B>test11()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Test that tests if caching is skipped if only "SS" + is specified. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test12()"><B>test12()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#test12()"><B>test12()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test12()"><B>test12()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Check pattern location for ISO8601 +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test13()"><B>test13()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test13()"><B>test13()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Check pattern location for DATE +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test14()"><B>test14()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>Test of class abbreviation. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test14()"><B>test14()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Check pattern location for ABSOLUTE +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test15()"><B>test15()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>Tests log4j 1.2 style extension of EnhancedPatternLayout. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test15()"><B>test15()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Check pattern location for single S +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test16()"><B>test16()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>Tests explicit UTC time zone in pattern. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test16()"><B>test16()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Check pattern location for single SS +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test17()"><B>test17()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>Test left and right truncation +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test17()"><B>test17()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Check caching when multiple SSS appear in pattern +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/AndFilterTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter">AndFilterTest</A> +<DD>Check that AndFilter.decide() returns Filter.ACCEPT if + only nested filter returns Filter.ACCEPT. +<DT><A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter">LevelMatchFilterTest</A> +<DD>Check that LevelMatchFilter.decide() returns Filter.DENY + when level matches and acceptOnMatch = false. +<DT><A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter">LevelRangeFilterTest</A> +<DD>Check that LevelRangeFilter.decide() returns Filter.DENY + when event level is above max level. +<DT><A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter">LoggerMatchFilterTest</A> +<DD>Check that LoggerMatchFilter.decide() with unspecified level + returns Filter.DENY for root logger when accept on match is false. +<DT><A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter">StringMatchFilterTest</A> +<DD>Check that StringMatchFilter.decide() returns Filter.NEUTRAL + when string to match does not appear in message. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Check for interaction between caches. +<DT><A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling">FilterBasedRollingTest</A> +<DD>Test basic rolling functionality using explicit configuration. +<DT><A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A> +<DD>Test basic rolling functionality with explicit setting of FileAppender.file. +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>No compression, with stop/restart, activeFileName left blank +<DT><A HREF="./org/apache/log4j/rule/AndRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule">AndRuleTest</A> +<DD>AndRule.getRule(Stack) throws exception if non-rules are provided. +<DT><A HREF="./org/apache/log4j/rule/EqualsRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule">EqualsRuleTest</A> +<DD>getRule() with bad field name should throw IllegalArgumentException. +<DT><A HREF="./org/apache/log4j/rule/ExistsRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule">ExistsRuleTest</A> +<DD>getRule() with bad field name should throw IllegalArgumentException. +<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A> +<DD>Tests evaluate when levels are not equal. +<DT><A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A> +<DD>Tests construction when operator is unrecognized. +<DT><A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule">NotEqualsRuleTest</A> +<DD>getRule() with bad field name should throw IllegalArgumentException. +<DT><A HREF="./org/apache/log4j/rule/NotRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule">NotRuleTest</A> +<DD>NotRule.getRule(Stack) throws exception if non-rules are provided. +<DT><A HREF="./org/apache/log4j/rule/OrRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A> +<DD>OrRule.getRule(Stack) throws exception if non-rules are provided. +<DT><A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule">PartialTextMatchRuleTest</A> +<DD>getRule() with bad field name should throw IllegalArgumentException. +<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule">TimestampEqualsRuleTest</A> +<DD>Tests evaluate when levels are not equal. +<DT><A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html#test2()"><B>test2()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule">TimestampInequalityRuleTest</A> +<DD>Tests construction when operator is unrecognized. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test2AMGMT()"><B>test2AMGMT()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 2 AM UTC today event against 2 AM - 3 AM GMT filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test2AMLocal()"><B>test2AMLocal()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 2 AM local today event against 2 AM - 3 AM local time filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test2AMLocalLastWeek()"><B>test2AMLocalLastWeek()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 2 AM local last week event against 2 AM - 3 AM local time filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test2AMLocalNextWeek()"><B>test2AMLocalNextWeek()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 2 AM local next week event against 2 AM - 3 AM local time filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test2AMLocalTomorrow()"><B>test2AMLocalTomorrow()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 2 AM local tomorrow event against 2 AM - 3 AM local time filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test2AMLocalYesterday()"><B>test2AMLocalYesterday()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 2 AM local yesterday event against 2 AM - 3 AM local time filter. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/AndFilterTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter">AndFilterTest</A> +<DD>Check that AndFilter.decide() returns Filter.ACCEPT if + two nested filters return Filter.ACCEPT. +<DT><A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter">LevelMatchFilterTest</A> +<DD>Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + when levelToMatch is unspecified. +<DT><A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter">LevelRangeFilterTest</A> +<DD>Check that LevelRangeFilter.decide() returns Filter.ACCEPT + when event level is above min level. +<DT><A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter">LoggerMatchFilterTest</A> +<DD>Check that LoggerMatchFilter.decide() with unspecified level + returns Filter.NEUTRAL for non-root logger. +<DT><A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter">StringMatchFilterTest</A> +<DD>Check that StringMatchFilter.decide() returns Filter.ACCEPT + when string to match does appear in message. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Test multiple calls in close intervals prior to 1 Jan 1970. +<DT><A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A> +<DD>Same as testBasic but also with GZ compression. +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>With compression, activeFileName left blank, no stop/restart +<DT><A HREF="./org/apache/log4j/rule/AndRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule">AndRuleTest</A> +<DD>Test And of Level and Time. +<DT><A HREF="./org/apache/log4j/rule/EqualsRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule">EqualsRuleTest</A> +<DD>getRule with "level" and "info" should return a LevelEqualsRule. +<DT><A HREF="./org/apache/log4j/rule/ExistsRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule">ExistsRuleTest</A> +<DD>getRule with "msg". +<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A> +<DD>Tests evaluate of a deserialized clone when levels are equal. +<DT><A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A> +<DD>Tests evaluate of a deserialized clone when level satisfies rule. +<DT><A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule">NotEqualsRuleTest</A> +<DD>getRule with "level" and "info". +<DT><A HREF="./org/apache/log4j/rule/NotRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule">NotRuleTest</A> +<DD>Test Not of LevelEqualsRule. +<DT><A HREF="./org/apache/log4j/rule/OrRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A> +<DD>Test Or of Level and Time. +<DT><A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule">PartialTextMatchRuleTest</A> +<DD>getRule with "level" and "nfo" should return a LevelEqualsRule. +<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule">TimestampEqualsRuleTest</A> +<DD>Tests evaluate of a deserialized clone when timestamps are equal. +<DT><A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html#test3()"><B>test3()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule">TimestampInequalityRuleTest</A> +<DD>Tests evaluate of a deserialized clone when rule is satisified. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test3AMGMT()"><B>test3AMGMT()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 3 AM UTC today event against 2 AM - 3 AM GMT filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test3AMLocal()"><B>test3AMLocal()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 3 AM local today event against 2 AM - 3 AM local time filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test3AMLocalLastWeek()"><B>test3AMLocalLastWeek()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 3 AM local last week event against 2 AM - 3 AM local time filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test3AMLocalNextWeek()"><B>test3AMLocalNextWeek()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 3 AM local next week event against 2 AM - 3 AM local time filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test3AMLocalTomorrow()"><B>test3AMLocalTomorrow()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 3 AM local tomorrow event against 2 AM - 3 AM local time filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#test3AMLocalYesterday()"><B>test3AMLocalYesterday()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 3 AM local yesterday event against 2 AM - 3 AM local time filter. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/AndFilterTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter">AndFilterTest</A> +<DD>Check that AndFilter.decide() returns Filter.DENY if + only nested filter returns Filter.ACCEPT + and acceptOnMatch is false. +<DT><A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter">LevelMatchFilterTest</A> +<DD>Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + when event level is higher than level to match. +<DT><A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter">LevelRangeFilterTest</A> +<DD>Check that LevelRangeFilter.decide() returns Filter.ACCEPT + when event level is below max level. +<DT><A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter">LoggerMatchFilterTest</A> +<DD>Check that LoggerMatchFilter.decide() + returns Filter.ACCEPT for matching logger. +<DT><A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter">StringMatchFilterTest</A> +<DD>Check that StringMatchFilter.decide() returns Filter.DENY + when string to match does appear in message and + accept on match is false. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A> +<DD>Test basic rolling functionality with bogus path in file name pattern. +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>Without compression, activeFileName set, with stop/restart +<DT><A HREF="./org/apache/log4j/rule/AndRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule">AndRuleTest</A> +<DD>Test And of Level and Time when Level does not match. +<DT><A HREF="./org/apache/log4j/rule/EqualsRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule">EqualsRuleTest</A> +<DD>getRule with "timestamp" and time should return a TimestampEqualsRule. +<DT><A HREF="./org/apache/log4j/rule/ExistsRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule">ExistsRuleTest</A> +<DD>getRule with "msg". +<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A> +<DD>Tests evaluate of a deserialized clone when levels are not equal. +<DT><A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A> +<DD>Tests evaluate of a deserialized clone when level does not satisfy rule. +<DT><A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule">NotEqualsRuleTest</A> +<DD>getRule with "timestamp" and time. +<DT><A HREF="./org/apache/log4j/rule/NotRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule">NotRuleTest</A> +<DD>Test Not of Level when Level does not match. +<DT><A HREF="./org/apache/log4j/rule/OrRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A> +<DD>Test Or of Level and Time when Level does not match. +<DT><A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule">PartialTextMatchRuleTest</A> +<DD>getRule with "msg". +<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule">TimestampEqualsRuleTest</A> +<DD>Tests evaluate of a deserialized clone when timestamps are not equal. +<DT><A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html#test4()"><B>test4()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule">TimestampInequalityRuleTest</A> +<DD>Tests evaluate of a deserialized clone when rule is not satisfied. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/AndFilterTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter">AndFilterTest</A> +<DD>Check that AndFilter.decide() returns Filter.NEUTRAL if + nested filters return Filter.ACCEPT and Filter.DENY. +<DT><A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter">LevelMatchFilterTest</A> +<DD>Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + when event level is lower than level to match. +<DT><A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter">LevelRangeFilterTest</A> +<DD>Check that LevelRangeFilter.decide() returns Filter.NEUTRAL + when event level is above min level and accept on match is false. +<DT><A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter">StringMatchFilterTest</A> +<DD>Check that StringMatchFilter.decide() returns Filter.NEUTRAL + when string to match does appear in message but differs in case. +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A> +<DD>Checking handling of rename failures due to other access + to the indexed files. +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>No compression, activeFileName set, without stop/restart +<DT><A HREF="./org/apache/log4j/rule/AndRuleTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule">AndRuleTest</A> +<DD>Test And of Level and Time when Time does not match. +<DT><A HREF="./org/apache/log4j/rule/EqualsRuleTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule">EqualsRuleTest</A> +<DD>getRule with "msg" should return an EqualsRule. +<DT><A HREF="./org/apache/log4j/rule/ExistsRuleTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule">ExistsRuleTest</A> +<DD>getRule with "msg". +<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A> +<DD>Tests evaluate when levels are JDK 1.4 levels and equal. +<DT><A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A> +<DD>Tests evaluate when levels are JDK 1.4 levels and satisified. +<DT><A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule">NotEqualsRuleTest</A> +<DD>getRule with "msg". +<DT><A HREF="./org/apache/log4j/rule/NotRuleTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule">NotRuleTest</A> +<DD>Test deserialized Not. +<DT><A HREF="./org/apache/log4j/rule/OrRuleTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A> +<DD>Test Or of Level and Time when Time does not match. +<DT><A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule">PartialTextMatchRuleTest</A> +<DD>getRule with "msg". +<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html#test5()"><B>test5()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule">TimestampEqualsRuleTest</A> +<DD>Tests constructor will badly formed time specification. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/AndFilterTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter">AndFilterTest</A> +<DD>Check that AndFilter.decide() returns Filter.NEUTRAL if + nested filters return Filter.ACCEPT and Filter.NEUTRAL. +<DT><A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter">LevelRangeFilterTest</A> +<DD>Check that LevelRangeFilter.decide() returns Filter.NEUTRAL + when event level is below max level and accept on match is false. +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Checks that getNumberFormat does not return null. +<DT><A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A> +<DD><B>Deprecated.</B>&nbsp;<I>Tests deprecated method</I> +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>With compression, activeFileName set, no stop/restart, +<DT><A HREF="./org/apache/log4j/rule/AndRuleTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule">AndRuleTest</A> +<DD>Test deserialized And. +<DT><A HREF="./org/apache/log4j/rule/EqualsRuleTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule">EqualsRuleTest</A> +<DD>getRule with "msg" should return an EqualsRule. +<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A> +<DD>Tests evaluate when levels are JDK 1.4 levels and not equal. +<DT><A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A> +<DD>Tests evaluate when levels are JDK 1.4 levels and not equal. +<DT><A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule">NotEqualsRuleTest</A> +<DD>getRule with "msg". +<DT><A HREF="./org/apache/log4j/rule/NotRuleTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule">NotRuleTest</A> +<DD>Test deserialized Not. +<DT><A HREF="./org/apache/log4j/rule/OrRuleTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A> +<DD>Test Or of Level and Time when Time and Level do not match. +<DT><A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html#test6()"><B>test6()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule">PartialTextMatchRuleTest</A> +<DD>Check PartailTextMatchRule serialization. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test7()"><B>test7()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#test7()"><B>test7()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rule/AndRuleTest.html#test7()"><B>test7()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule">AndRuleTest</A> +<DD>Test deserialized And when Level doesn't match. +<DT><A HREF="./org/apache/log4j/rule/EqualsRuleTest.html#test7()"><B>test7()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule">EqualsRuleTest</A> +<DD>Check EqualsRule serialization. +<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html#test7()"><B>test7()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A> +<DD>Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and equal. +<DT><A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html#test7()"><B>test7()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A> +<DD>Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and satisified. +<DT><A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html#test7()"><B>test7()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule">NotEqualsRuleTest</A> +<DD>Check NotEqualsRule serialization. +<DT><A HREF="./org/apache/log4j/rule/OrRuleTest.html#test7()"><B>test7()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A> +<DD>Test deserialized Or. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test8()"><B>test8()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#test8()"><B>test8()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test8()"><B>test8()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Set time zone on cached and check that it is effective. +<DT><A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html#test8()"><B>test8()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A> +<DD>Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and not equal. +<DT><A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html#test8()"><B>test8()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A> +<DD>Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and not satified. +<DT><A HREF="./org/apache/log4j/rule/OrRuleTest.html#test8()"><B>test8()</B></A> - +Method in class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A> +<DD>Test deserialized Or when neither rule match. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#test9()"><B>test9()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/SimpleFilterTest.html#test9()"><B>test9()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#test9()"><B>test9()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>Test of caching when less than three millisecond digits are specified. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#testActivateOptions()"><B>testActivateOptions()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>Tests activateOptions(). +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testActivateOptionsCalledByCompositeActivateOptions()"><B>testActivateOptionsCalledByCompositeActivateOptions()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testActivateOptionsNotCalledByAddTriggeringPolicy()"><B>testActivateOptionsNotCalledByAddTriggeringPolicy()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testAllFalsePolicies()"><B>testAllFalsePolicies()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testAllTruePolicies()"><B>testAllTruePolicies()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#testAtom()"><B>testAtom()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>Tests XML configuration and atom layout. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#testAtomNS()"><B>testAtomNS()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>Tests XML configuration and atom layout. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html#testBasic()"><B>testBasic()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testBasic1()"><B>testBasic1()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testBasic2()"><B>testBasic2()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#testBlank()"><B>testBlank()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Check that getAbbreviator(" ") returns default abbreviator. +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#testBlankOne()"><B>testBlankOne()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Check that blanks are trimmed in evaluating abbreviation pattern. +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testBogus()"><B>testBogus()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testBogusWord1()"><B>testBogusWord1()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testBogusWord2()"><B>testBogusWord2()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html#testCDATA()"><B>testCDATA()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testClassName()"><B>testClassName()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test class name when logging through LogMF. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testClassName()"><B>testClassName()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test class name when logging through LogSF. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#testConfig1()"><B>testConfig1()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 2 AM-3AM local time accept on match filter. +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#testConfig2()"><B>testConfig2()</B></A> - +Method in class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Test 2 AM-3AM UTC reject on match filter. +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html#testConstructor()"><B>testConstructor()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern">FormattingInfoTest</A> +<DD>Check constructor +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugArrayArg()"><B>testDebugArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugArrayArg()"><B>testDebugArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugBadPattern()"><B>testDebugBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugBadPattern()"><B>testDebugBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugBoolean()"><B>testDebugBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugBoolean()"><B>testDebugBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugByte()"><B>testDebugByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugByte()"><B>testDebugByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugChar()"><B>testDebugChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugChar()"><B>testDebugChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugDate()"><B>testDebugDate()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugDouble()"><B>testDebugDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugDouble()"><B>testDebugDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugFloat()"><B>testDebugFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugFloat()"><B>testDebugFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugFourArg()"><B>testDebugFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with four arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugFourArg()"><B>testDebugFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with four arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugFullPrecisionAndPercent()"><B>testDebugFullPrecisionAndPercent()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugInt()"><B>testDebugInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugInt()"><B>testDebugInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugLong()"><B>testDebugLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugLong()"><B>testDebugLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugMissingArg()"><B>testDebugMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugMissingArg()"><B>testDebugMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugNoArg()"><B>testDebugNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugNoArg()"><B>testDebugNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugNull()"><B>testDebugNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugNull()"><B>testDebugNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugNullArrayArg()"><B>testDebugNullArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with null Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugNullArrayArg()"><B>testDebugNullArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with null Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugNullPattern()"><B>testDebugNullPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with null pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugNullPattern()"><B>testDebugNullPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with null pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugPercent()"><B>testDebugPercent()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugQuoted()"><B>testDebugQuoted()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugShort()"><B>testDebugShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugShort()"><B>testDebugShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugString()"><B>testDebugString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugString()"><B>testDebugString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugThreeArg()"><B>testDebugThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugThreeArg()"><B>testDebugThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testDebugTwoArg()"><B>testDebugTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with two arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testDebugTwoArg()"><B>testDebugTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.debug with two arguments. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html#testDefaultConversionPattern()"><B>testDefaultConversionPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A> +<DD>Tests DEFAULT_CONVERSION_PATTERN constant. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testEntering()"><B>testEntering()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.entering with class and method. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testEnteringNullNull()"><B>testEnteringNullNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.entering with null class and method. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testEnteringNullNullNull()"><B>testEnteringNullNullNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.entering with null class, method and parameter. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testEnteringNullNullNullArray()"><B>testEnteringNullNullNullArray()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.entering with null class, method and parameters. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testEnteringWithBadParam()"><B>testEnteringWithBadParam()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.entering with class, method and bad parameter. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testEnteringWithBadParams()"><B>testEnteringWithBadParams()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.entering with class, method and bad parameters. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testEnteringWithParam()"><B>testEnteringWithParam()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.entering with class, method and parameter. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testEscapeOneParam()"><B>testEscapeOneParam()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test \\{ escape sequence when only one parameter is present. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testEscapeTwoParam()"><B>testEscapeTwoParam()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test \\{ escape sequence when more than one parameter is present. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#testExceptionWithCDATA()"><B>testExceptionWithCDATA()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>Tests CDATA element within exception. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testExiting()"><B>testExiting()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.exiting with class and method. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testExitingNullNull()"><B>testExitingNullNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.exiting with null class and method. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testExitingNullNullNull()"><B>testExitingNullNullNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.exiting with null class, method and parameter. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testExitingWithBadValue()"><B>testExitingWithBadValue()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.exiting with class, method and bad return value. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testExitingWithValue()"><B>testExitingWithValue()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.exiting with class, method and return value. +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testFileNamePatternFactories()"><B>testFileNamePatternFactories()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html#testFormat()"><B>testFormat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A> +<DD>Tests format. +<DT><A HREF="./org/apache/log4j/LayoutTest.html#testFormat()"><B>testFormat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<DD>Tests format. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#testFormat()"><B>testFormat()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>Tests formatted results. +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatDate1()"><B>testFormatDate1()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatDate2()"><B>testFormatDate2()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatDate3()"><B>testFormatDate3()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatDate4()"><B>testFormatDate4()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>A %d is treated as %d{yyyy-MM-dd} if followed by a malformed format specifier. +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatDate5()"><B>testFormatDate5()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>A %d is treated as %d{yyyy-MM-dd} if followed by a malformed format specifier. +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger1()"><B>testFormatInteger1()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger10()"><B>testFormatInteger10()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger11()"><B>testFormatInteger11()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger2()"><B>testFormatInteger2()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger3()"><B>testFormatInteger3()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger4()"><B>testFormatInteger4()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger5()"><B>testFormatInteger5()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger6()"><B>testFormatInteger6()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger7()"><B>testFormatInteger7()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger8()"><B>testFormatInteger8()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger9()"><B>testFormatInteger9()</B></A> - +Method in class org.apache.log4j.rolling.helper.<A HREF="./org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html#testFormatResize()"><B>testFormatResize()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A> +<DD>Tests buffer downsizing code path. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#testFormatWithException()"><B>testFormatWithException()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>Tests formatted results with an exception. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#testFormatWithNDC()"><B>testFormatWithNDC()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>Tests formatted results with an exception. +<DT><A HREF="./org/apache/log4j/LayoutTest.html#testGetContentType()"><B>testGetContentType()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<DD>Tests getContentType. +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html#testGetDefault()"><B>testGetDefault()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern">FormattingInfoTest</A> +<DD>Check that getDefault does not return null. +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#testGetDefault()"><B>testGetDefault()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Check that getDefaultAbbreviator does not return null. +<DT><A HREF="./org/apache/log4j/LayoutTest.html#testGetFooter()"><B>testGetFooter()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<DD>Tests getFooter. +<DT><A HREF="./org/apache/log4j/LayoutTest.html#testGetHeader()"><B>testGetHeader()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<DD>Tests getHeader. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html#testGetPatternFormat()"><B>testGetPatternFormat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A> +<DD>Tests getPatternFormat(). +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#testGetSetLocationInfo()"><B>testGetSetLocationInfo()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>Tests getLocationInfo and setLocationInfo. +<DT><A HREF="./org/apache/log4j/LayoutTest.html#testIgnoresThrowable()"><B>testIgnoresThrowable()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<DD>Tests ignoresThrowable. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfo10ParamBrace9()"><B>testInfo10ParamBrace9()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with a pattern containing {9} and two arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfo1ParamBrace9()"><B>testInfo1ParamBrace9()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with a pattern containing {9} and one argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfo1ParamBraceSlashColon()"><B>testInfo1ParamBraceSlashColon()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with indexes just outside of 0 to 9. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfo2ParamBrace9()"><B>testInfo2ParamBrace9()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with a pattern containing {9} and two arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoArrayArg()"><B>testInfoArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoArrayArg()"><B>testInfoArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoBadPattern()"><B>testInfoBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoBadPattern()"><B>testInfoBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoBoolean()"><B>testInfoBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoBoolean()"><B>testInfoBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoByte()"><B>testInfoByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoByte()"><B>testInfoByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoChar()"><B>testInfoChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoChar()"><B>testInfoChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoDouble()"><B>testInfoDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoDouble()"><B>testInfoDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoFloat()"><B>testInfoFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoFloat()"><B>testInfoFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoFourArg()"><B>testInfoFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with four arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoInt()"><B>testInfoInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoInt()"><B>testInfoInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoLong()"><B>testInfoLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoLong()"><B>testInfoLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoMissingArg()"><B>testInfoMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoMissingArg()"><B>testInfoMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoNoArg()"><B>testInfoNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoNoArg()"><B>testInfoNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoNull()"><B>testInfoNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoNull()"><B>testInfoNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoNullPattern()"><B>testInfoNullPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with null pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoNullPattern()"><B>testInfoNullPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with null pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoShort()"><B>testInfoShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoShort()"><B>testInfoShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoString()"><B>testInfoString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoString()"><B>testInfoString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoThreeArg()"><B>testInfoThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoThreeArg()"><B>testInfoThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testInfoTwoArg()"><B>testInfoTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.info with two arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testInfoTwoArg()"><B>testInfoTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.info with two arguments. +<DT><A HREF="./org/apache/log4j/LayoutTest.html#testLineSep()"><B>testLineSep()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<DD>Tests Layout.LINE_SEP. +<DT><A HREF="./org/apache/log4j/LayoutTest.html#testLineSepLen()"><B>testLineSepLen()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> +<DD>Tests Layout.LINE_SEP. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html#testLocationInfo()"><B>testLocationInfo()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogArrayArg()"><B>testLogArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogArrayArg()"><B>testLogArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogBadPattern()"><B>testLogBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogBadPattern()"><B>testLogBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogBoolean()"><B>testLogBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogBoolean()"><B>testLogBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogByte()"><B>testLogByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogByte()"><B>testLogByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogChar()"><B>testLogChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogChar()"><B>testLogChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogDouble()"><B>testLogDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogDouble()"><B>testLogDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogFloat()"><B>testLogFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogFloat()"><B>testLogFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogFourArg()"><B>testLogFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with four arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogFourArg()"><B>testLogFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with four arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogInt()"><B>testLogInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogInt()"><B>testLogInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogLong()"><B>testLogLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogLong()"><B>testLogLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j"><B>TestLogMF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Unit test for LogMF.<DT><A HREF="./org/apache/log4j/TestLogMF.html#TestLogMF(java.lang.String)"><B>TestLogMF(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Create the test case +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogMissingArg()"><B>testLogMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogMissingArg()"><B>testLogMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogNoArg()"><B>testLogNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogNoArg()"><B>testLogNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogNull()"><B>testLogNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogNull()"><B>testLogNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogNullPattern()"><B>testLogNullPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with null pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogNullPattern()"><B>testLogNullPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with null pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbArrayArg()"><B>testLogrbArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbArrayArg()"><B>testLogrbArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbBadPattern()"><B>testLogrbBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbBadPattern()"><B>testLogrbBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbBoolean()"><B>testLogrbBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbBoolean()"><B>testLogrbBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbByte()"><B>testLogrbByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbByte()"><B>testLogrbByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbChar()"><B>testLogrbChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbChar()"><B>testLogrbChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbDouble()"><B>testLogrbDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbDouble()"><B>testLogrbDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbFloat()"><B>testLogrbFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbFloat()"><B>testLogrbFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbFourArg()"><B>testLogrbFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with four arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbFourArg()"><B>testLogrbFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with four arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbInt()"><B>testLogrbInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbInt()"><B>testLogrbInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbLong()"><B>testLogrbLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbLong()"><B>testLogrbLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbMissingArg()"><B>testLogrbMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbMissingArg()"><B>testLogrbMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbNoArg()"><B>testLogrbNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbNoArg()"><B>testLogrbNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbNull()"><B>testLogrbNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbNull()"><B>testLogrbNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbNullBundle()"><B>testLogrbNullBundle()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with null bundle name. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbNullBundle()"><B>testLogrbNullBundle()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with null bundle name. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbNullKey()"><B>testLogrbNullKey()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with null key. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbNullKey()"><B>testLogrbNullKey()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with null key. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbShort()"><B>testLogrbShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbShort()"><B>testLogrbShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbString()"><B>testLogrbString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbString()"><B>testLogrbString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbThreeArg()"><B>testLogrbThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbThreeArg()"><B>testLogrbThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogrbTwoArg()"><B>testLogrbTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.logrb with two arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogrbTwoArg()"><B>testLogrbTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.logrb with two arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j"><B>TestLogSF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Unit test for LogSF.<DT><A HREF="./org/apache/log4j/TestLogSF.html#TestLogSF(java.lang.String)"><B>TestLogSF(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Create the test case +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogShort()"><B>testLogShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogShort()"><B>testLogShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogString()"><B>testLogString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogString()"><B>testLogString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogThreeArg()"><B>testLogThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogThreeArg()"><B>testLogThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testLogTwoArg()"><B>testLogTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.log with two arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testLogTwoArg()"><B>testLogTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.log with two arguments. +<DT><A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j"><B>TestLogXF</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>Unit test for LogXF.<DT><A HREF="./org/apache/log4j/TestLogXF.html#TestLogXF(java.lang.String)"><B>TestLogXF(String)</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Create the test case +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testMalformedOption()"><B>testMalformedOption()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>Options with missing close braces will be treated as a literal. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html#testMDC()"><B>testMDC()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A> +<DD>Tests the format of the MDC portion of the layout to ensure + the KVP's we put in turn up in the output file. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#testMDC1()"><B>testMDC1()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#testMDC2()"><B>testMDC2()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>Test case for MDC conversion pattern. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html#testMDCEscaped()"><B>testMDCEscaped()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#testMinusOne()"><B>testMinusOne()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Check that getAbbreviator("-1").abbreviate() drops first name element. +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testMore()"><B>testMore()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#testMulti()"><B>testMulti()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Check that getAbbreviator("1.*.2").abbreviate drops all but the first + character from the first element, uses all of the second element and + drops all but the first two characters of the rest of the non-final elements. +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testMultiOption()"><B>testMultiOption()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#testNDCWithCDATA()"><B>testNDCWithCDATA()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>Tests CDATA element within NDC content. +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testNewWord()"><B>testNewWord()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testNewWord2()"><B>testNewWord2()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testNoPolicies()"><B>testNoPolicies()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html#testNull()"><B>testNull()</B></A> - +Method in class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#testOne()"><B>testOne()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Check that getAbbreviator("1").abbreviate() drops all but the final name element. +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#testOneDot()"><B>testOneDot()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Check that getAbbreviator("1.").abbreviate abbreviates non-final elements + to one character. +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testOneFalsePolicy()"><B>testOneFalsePolicy()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#testOneTildeDot()"><B>testOneTildeDot()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Check that getAbbreviator("1~.").abbreviate abbreviates non-final elements + to one character and a tilde. +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testOneTruePolicy()"><B>testOneTruePolicy()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html#testPadLeft()"><B>testPadLeft()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern">FormattingInfoTest</A> +<DD>Add padding to left since field is not minimum width. +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html#testPadRight()"><B>testPadRight()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern">FormattingInfoTest</A> +<DD>Add padding to right since field is not minimum width. +<DT><A HREF="./org/apache/log4j/pattern/PatternParserTest.html#testPatternLayoutFactories()"><B>testPatternLayoutFactories()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/RenamingTest.html#testRename()"><B>testRename()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling">RenamingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html#testRightTruncate()"><B>testRightTruncate()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern">FormattingInfoTest</A> +<DD>Field exceeds maximum width, truncate right. +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html#testThrowable()"><B>testThrowable()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A> +<DD>Test case for throwable conversion pattern. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testThrowing()"><B>testThrowing()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.exiting with class and method. +<DT><A HREF="./org/apache/log4j/TestLogXF.html#testThrowingNullNullNull()"><B>testThrowingNullNullNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A> +<DD>Test LogXF.throwing with null class, method and throwable. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceArrayArg()"><B>testTraceArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceArrayArg()"><B>testTraceArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceBadPattern()"><B>testTraceBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceBadPattern()"><B>testTraceBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceBoolean()"><B>testTraceBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceBoolean()"><B>testTraceBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceByte()"><B>testTraceByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceByte()"><B>testTraceByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceChar()"><B>testTraceChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceChar()"><B>testTraceChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceDouble()"><B>testTraceDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceDouble()"><B>testTraceDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceFloat()"><B>testTraceFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceFloat()"><B>testTraceFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceFourArg()"><B>testTraceFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with four arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceFourArg()"><B>testTraceFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceInt()"><B>testTraceInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceInt()"><B>testTraceInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceLong()"><B>testTraceLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceLong()"><B>testTraceLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceMissingArg()"><B>testTraceMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceMissingArg()"><B>testTraceMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceNoArg()"><B>testTraceNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceNoArg()"><B>testTraceNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceNull()"><B>testTraceNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceNull()"><B>testTraceNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceNullArrayArg()"><B>testTraceNullArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with null Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceNullArrayArg()"><B>testTraceNullArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with null Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceNullPattern()"><B>testTraceNullPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with null pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceNullPattern()"><B>testTraceNullPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with null pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceShort()"><B>testTraceShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceShort()"><B>testTraceShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceString()"><B>testTraceString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceString()"><B>testTraceString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceThreeArg()"><B>testTraceThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceThreeArg()"><B>testTraceThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testTraceTwoArg()"><B>testTraceTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.trace with two arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testTraceTwoArg()"><B>testTraceTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.trace with two arguments. +<DT><A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testTrueAndFalsePolicies()"><B>testTrueAndFalsePolicies()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html#testTruncate()"><B>testTruncate()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern">FormattingInfoTest</A> +<DD>Field exceeds maximum width +<DT><A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html#testTTCCConversionPattern()"><B>testTTCCConversionPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A> +<DD>Tests DEFAULT_CONVERSION_PATTERN constant. +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#testTwo()"><B>testTwo()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Check that getAbbreviator("2").abbreviate drops all but the last two elements. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnArrayArg()"><B>testWarnArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnArrayArg()"><B>testWarnArrayArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnBadPattern()"><B>testWarnBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnBadPattern()"><B>testWarnBadPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with malformed pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnBoolean()"><B>testWarnBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnBoolean()"><B>testWarnBoolean()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with single field pattern with boolean argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnByte()"><B>testWarnByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnByte()"><B>testWarnByte()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with single field pattern with byte argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnChar()"><B>testWarnChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnChar()"><B>testWarnChar()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with single field pattern with char argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnDouble()"><B>testWarnDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnDouble()"><B>testWarnDouble()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with single field pattern with double argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnFloat()"><B>testWarnFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnFloat()"><B>testWarnFloat()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with single field pattern with float argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnFourArg()"><B>testWarnFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.debug with four arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnFourArg()"><B>testWarnFourArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with Object[] argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnInt()"><B>testWarnInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnInt()"><B>testWarnInt()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with single field pattern with int argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnLong()"><B>testWarnLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnLong()"><B>testWarnLong()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with single field pattern with long argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnMissingArg()"><B>testWarnMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnMissingArg()"><B>testWarnMissingArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with missing argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnNoArg()"><B>testWarnNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnNoArg()"><B>testWarnNoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with no-field pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnNull()"><B>testWarnNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnNull()"><B>testWarnNull()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with single field pattern with null argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnNullPattern()"><B>testWarnNullPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with null pattern. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnNullPattern()"><B>testWarnNullPattern()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with null pattern. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnShort()"><B>testWarnShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnShort()"><B>testWarnShort()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with single field pattern with short argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnString()"><B>testWarnString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnString()"><B>testWarnString()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with single field pattern with string argument. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnThreeArg()"><B>testWarnThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnThreeArg()"><B>testWarnThreeArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with three arguments. +<DT><A HREF="./org/apache/log4j/TestLogMF.html#testWarnTwoArg()"><B>testWarnTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A> +<DD>Test LogMF.warn with two arguments. +<DT><A HREF="./org/apache/log4j/TestLogSF.html#testWarnTwoArg()"><B>testWarnTwoArg()</B></A> - +Method in class org.apache.log4j.<A HREF="./org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A> +<DD>Test LogSF.warn with two arguments. +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#testWithJoran1()"><B>testWithJoran1()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html#testZero()"><B>testZero()</B></A> - +Method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A> +<DD>Check that "0" drops all name content. +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>TimeBasedRollingTest</B></A> - Class in <A HREF="./org/apache/log4j/rolling/package-summary.html">org.apache.log4j.rolling</A><DD>A rather exhaustive set of tests.<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#TimeBasedRollingTest(java.lang.String)"><B>TimeBasedRollingTest(String)</B></A> - +Constructor for class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter"><B>TimeFilterTest</B></A> - Class in <A HREF="./org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A><DD>Tests for TimeFilter.<DT><A HREF="./org/apache/log4j/filter/TimeFilterTest.html#TimeFilterTest(java.lang.String)"><B>TimeFilterTest(String)</B></A> - +Constructor for class org.apache.log4j.filter.<A HREF="./org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A> +<DD>Construct new instance. +<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>TimestampEqualsRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for TimestampEqualsRule.<DT><A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html#TimestampEqualsRuleTest(java.lang.String)"><B>TimestampEqualsRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule">TimestampEqualsRuleTest</A> +<DD>Create new test. +<DT><A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>TimestampInequalityRuleTest</B></A> - Class in <A HREF="./org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A><DD>Test for TimestampInequalityRule.<DT><A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html#TimestampInequalityRuleTest(java.lang.String)"><B>TimestampInequalityRuleTest(String)</B></A> - +Constructor for class org.apache.log4j.rule.<A HREF="./org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule">TimestampInequalityRuleTest</A> +<DD>Create new test. +<DT><A HREF="./org/apache/log4j/util/Transformer.html#transform(java.lang.String, java.lang.String, org.apache.log4j.util.Filter[])"><B>transform(String, String, Filter[])</B></A> - +Static method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util">Transformer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/Transformer.html#transform(java.lang.String, java.lang.String, org.apache.log4j.util.Filter)"><B>transform(String, String, Filter)</B></A> - +Static method in class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util">Transformer</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util"><B>Transformer</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/Transformer.html#Transformer()"><B>Transformer()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util">Transformer</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_U_"><!-- --></A><H2> +<B>U</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util"><B>UnexpectedFormatException</B></A> - Exception in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/UnexpectedFormatException.html#UnexpectedFormatException(java.lang.String)"><B>UnexpectedFormatException(String)</B></A> - +Constructor for exception org.apache.log4j.util.<A HREF="./org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_V_"><!-- --></A><H2> +<B>V</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/VectorAppender.html#vector"><B>vector</B></A> - +Variable in class org.apache.log4j.<A HREF="./org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j"><B>VectorAppender</B></A> - Class in <A HREF="./org/apache/log4j/package-summary.html">org.apache.log4j</A><DD>An appender that appends logging events to a vector.<DT><A HREF="./org/apache/log4j/VectorAppender.html#VectorAppender()"><B>VectorAppender()</B></A> - +Constructor for class org.apache.log4j.<A HREF="./org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</A> +<DD>&nbsp; +</DL> +<HR> +<A NAME="_X_"><!-- --></A><H2> +<B>X</B></H2> +<DL> +<DT><A HREF="./org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util"><B>XMLDateFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/XMLDateFilter.html#XMLDateFilter()"><B>XMLDateFilter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util">XMLDateFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util"><B>XMLLineAttributeFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/XMLLineAttributeFilter.html#XMLLineAttributeFilter()"><B>XMLLineAttributeFilter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util">XMLLineAttributeFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util"><B>XMLTimestampFilter</B></A> - Class in <A HREF="./org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/util/XMLTimestampFilter.html#XMLTimestampFilter()"><B>XMLTimestampFilter()</B></A> - +Constructor for class org.apache.log4j.util.<A HREF="./org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util">XMLTimestampFilter</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml"><B>XSLTLayoutTest</B></A> - Class in <A HREF="./org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A><DD>Test for XSLTLayout.<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html#XSLTLayoutTest(java.lang.String)"><B>XSLTLayoutTest(String)</B></A> - +Constructor for class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A> +<DD>Construct new instance of XSLTLayoutTest. +<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml"><B>XSLTLayoutTestCase</B></A> - Class in <A HREF="./org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A><DD>&nbsp;<DT><A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html#XSLTLayoutTestCase(java.lang.String)"><B>XSLTLayoutTestCase(String)</B></A> - +Constructor for class org.apache.log4j.xml.<A HREF="./org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html#xsuite()"><B>xsuite()</B></A> - +Static method in class org.apache.log4j.pattern.<A HREF="./org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A> +<DD>&nbsp; +<DT><A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html#XXXtestWithJoran10()"><B>XXXtestWithJoran10()</B></A> - +Method in class org.apache.log4j.rolling.<A HREF="./org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A> +<DD>&nbsp; +</DL> +<HR> +<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_X_">X</A> + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="./allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/index.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/index.html new file mode 100644 index 00000000000..2ac2f422115 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/index.html @@ -0,0 +1,40 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Mon Nov 15 20:15:47 CST 2010--> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Apache Extras Companion™ for Apache log4j™. 1.1 Test API +</TITLE> +<SCRIPT type="text/javascript"> + targetPage = "" + window.location.search; + if (targetPage != "" && targetPage != "undefined") + targetPage = targetPage.substring(1); + if (targetPage.indexOf(":") != -1) + targetPage = "undefined"; + function loadFrames() { + if (targetPage != "" && targetPage != "undefined") + top.classFrame.location = top.targetPage; + } +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> +</HEAD> +<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()"> +<FRAMESET rows="30%,70%" title="" onLoad="top.loadFrames()"> +<FRAME src="overview-frame.html" name="packageListFrame" title="All Packages"> +<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)"> +</FRAMESET> +<FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes"> +<NOFRAMES> +<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> +</NOFRAMES> +</FRAMESET> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/options b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/options new file mode 100644 index 00000000000..c6d7fb0b0cc --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/options @@ -0,0 +1,24 @@ +-classpath +'/home/curta/trunk/target/checkout/target/classes:/home/curta/trunk/target/checkout/target/test-classes:/home/curta/.m2/repository/log4j/log4j/1.2.16/log4j-1.2.16.jar:/home/curta/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar' +-encoding +'UTF-8' +-protected +-sourcepath +'/home/curta/trunk/target/checkout/src/test/java' +-author +-bottom +'<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p>' +-charset +'UTF-8' +-d +'/home/curta/trunk/target/checkout/target/site/testapidocs' +-docencoding +'UTF-8' +-doctitle +'Apache Extras Companion™ for Apache log4j™. 1.1 Test API' +-link +'../apidocs' +-use +-version +-windowtitle +'Apache Extras Companion™ for Apache log4j™. 1.1 Test API' \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedMyPatternLayout.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedMyPatternLayout.html new file mode 100644 index 00000000000..e071c0dd32f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedMyPatternLayout.html @@ -0,0 +1,337 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:43 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +EnhancedMyPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="EnhancedMyPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedMyPatternLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedMyPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedMyPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.EnhancedPatternLayout">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class EnhancedMyPatternLayout</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">org.apache.log4j.Layout</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j">org.apache.log4j.EnhancedPatternLayout</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.EnhancedMyPatternLayout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../apidocs/org/apache/log4j/spi/OptionHandler.html?is-external=true" title="class or interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>EnhancedMyPatternLayout</B><DT>extends <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j">EnhancedPatternLayout</A></DL> +</PRE> + +<P> +Example showing how to extend EnhancedPatternLayout to recognize additional + conversion characters. + + <p>In this case MyPatternLayout recognizes %# conversion pattern. It + outputs the value of an internal counter which is also incremented + at each call. + + <p>See <a href=doc-files/MyPatternLayout.java><b>source</b></a> code + for more details. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Anders Kristensen</DD> +<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j"><CODE>MyPatternParser</CODE></A>, +<A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j"><CODE>EnhancedPatternLayout</CODE></A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.EnhancedPatternLayout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j">EnhancedPatternLayout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#BUF_SIZE" title="class or interface in org.apache.log4j">BUF_SIZE</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#DEFAULT_CONVERSION_PATTERN" title="class or interface in org.apache.log4j">DEFAULT_CONVERSION_PATTERN</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#MAX_CAPACITY" title="class or interface in org.apache.log4j">MAX_CAPACITY</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#PATTERN_RULE_REGISTRY" title="class or interface in org.apache.log4j">PATTERN_RULE_REGISTRY</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#TTCC_CONVERSION_PATTERN" title="class or interface in org.apache.log4j">TTCC_CONVERSION_PATTERN</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true#LINE_SEP" title="class or interface in org.apache.log4j">LINE_SEP</A>, <A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true#LINE_SEP_LEN" title="class or interface in org.apache.log4j">LINE_SEP_LEN</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedMyPatternLayout.html#EnhancedMyPatternLayout()">EnhancedMyPatternLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedMyPatternLayout.html#EnhancedMyPatternLayout(java.lang.String)">EnhancedMyPatternLayout</A></B>(java.lang.String&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;<A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true" title="class or interface in org.apache.log4j.helpers">PatternParser</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedMyPatternLayout.html#createPatternParser(java.lang.String)">createPatternParser</A></B>(java.lang.String&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.EnhancedPatternLayout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j">EnhancedPatternLayout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#activateOptions()" title="class or interface in org.apache.log4j">activateOptions</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#format(org.apache.log4j.spi.LoggingEvent)" title="class or interface in org.apache.log4j">format</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#getConversionPattern()" title="class or interface in org.apache.log4j">getConversionPattern</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#ignoresThrowable()" title="class or interface in org.apache.log4j">ignoresThrowable</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#setConversionPattern(java.lang.String)" title="class or interface in org.apache.log4j">setConversionPattern</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true#getContentType()" title="class or interface in org.apache.log4j">getContentType</A>, <A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true#getFooter()" title="class or interface in org.apache.log4j">getFooter</A>, <A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true#getHeader()" title="class or interface in org.apache.log4j">getHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="EnhancedMyPatternLayout()"><!-- --></A><H3> +EnhancedMyPatternLayout</H3> +<PRE> +public <B>EnhancedMyPatternLayout</B>()</PRE> +<DL> +</DL> +<HR> + +<A NAME="EnhancedMyPatternLayout(java.lang.String)"><!-- --></A><H3> +EnhancedMyPatternLayout</H3> +<PRE> +public <B>EnhancedMyPatternLayout</B>(java.lang.String&nbsp;pattern)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="createPatternParser(java.lang.String)"><!-- --></A><H3> +createPatternParser</H3> +<PRE> +public <A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true" title="class or interface in org.apache.log4j.helpers">PatternParser</A> <B>createPatternParser</B>(java.lang.String&nbsp;pattern)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#createPatternParser(java.lang.String)" title="class or interface in org.apache.log4j">createPatternParser</A></CODE> in class <CODE><A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j">EnhancedPatternLayout</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedMyPatternLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedMyPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedMyPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.EnhancedPatternLayout">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html new file mode 100644 index 00000000000..4c9a1d76b5c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html @@ -0,0 +1,341 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:44 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +EnhancedPatternLayoutTest.DerivedPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="EnhancedPatternLayoutTest.DerivedPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedPatternLayoutTest.DerivedPatternLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTest.DerivedPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.EnhancedPatternLayout">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class EnhancedPatternLayoutTest.DerivedPatternLayout</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">org.apache.log4j.Layout</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j">org.apache.log4j.EnhancedPatternLayout</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.EnhancedPatternLayoutTest.DerivedPatternLayout</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../apidocs/org/apache/log4j/spi/OptionHandler.html?is-external=true" title="class or interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<DL> +<DT><B>Enclosing class:</B><DD><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public static final class <B>EnhancedPatternLayoutTest.DerivedPatternLayout</B><DT>extends <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j">EnhancedPatternLayout</A></DL> +</PRE> + +<P> +Class to ensure that protected members are still available. +<P> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.EnhancedPatternLayout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j">EnhancedPatternLayout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#BUF_SIZE" title="class or interface in org.apache.log4j">BUF_SIZE</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#DEFAULT_CONVERSION_PATTERN" title="class or interface in org.apache.log4j">DEFAULT_CONVERSION_PATTERN</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#MAX_CAPACITY" title="class or interface in org.apache.log4j">MAX_CAPACITY</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#PATTERN_RULE_REGISTRY" title="class or interface in org.apache.log4j">PATTERN_RULE_REGISTRY</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#TTCC_CONVERSION_PATTERN" title="class or interface in org.apache.log4j">TTCC_CONVERSION_PATTERN</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true#LINE_SEP" title="class or interface in org.apache.log4j">LINE_SEP</A>, <A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true#LINE_SEP_LEN" title="class or interface in org.apache.log4j">LINE_SEP_LEN</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html#EnhancedPatternLayoutTest.DerivedPatternLayout()">EnhancedPatternLayoutTest.DerivedPatternLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new instance of DerivedPatternLayout.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html#getBufSize()">getBufSize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I></I>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;int</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html#getMaxCapacity()">getMaxCapacity</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I></I>&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.EnhancedPatternLayout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j">EnhancedPatternLayout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#activateOptions()" title="class or interface in org.apache.log4j">activateOptions</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#createPatternParser(java.lang.String)" title="class or interface in org.apache.log4j">createPatternParser</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#format(org.apache.log4j.spi.LoggingEvent)" title="class or interface in org.apache.log4j">format</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#getConversionPattern()" title="class or interface in org.apache.log4j">getConversionPattern</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#ignoresThrowable()" title="class or interface in org.apache.log4j">ignoresThrowable</A>, <A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true#setConversionPattern(java.lang.String)" title="class or interface in org.apache.log4j">setConversionPattern</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Layout"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">Layout</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true#getContentType()" title="class or interface in org.apache.log4j">getContentType</A>, <A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true#getFooter()" title="class or interface in org.apache.log4j">getFooter</A>, <A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true#getHeader()" title="class or interface in org.apache.log4j">getHeader</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="EnhancedPatternLayoutTest.DerivedPatternLayout()"><!-- --></A><H3> +EnhancedPatternLayoutTest.DerivedPatternLayout</H3> +<PRE> +public <B>EnhancedPatternLayoutTest.DerivedPatternLayout</B>()</PRE> +<DL> +<DD>Constructs a new instance of DerivedPatternLayout. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getBufSize()"><!-- --></A><H3> +getBufSize</H3> +<PRE> +public int <B>getBufSize</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I></I> +<P> +<DD>Get BUF_SIZE. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>return initial buffer size in characters.</DL> +</DD> +</DL> +<HR> + +<A NAME="getMaxCapacity()"><!-- --></A><H3> +getMaxCapacity</H3> +<PRE> +public int <B>getMaxCapacity</B>()</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I></I> +<P> +<DD>Get MAX_CAPACITY. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>maximum capacity in characters.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedPatternLayoutTest.DerivedPatternLayout.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTest.DerivedPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.EnhancedPatternLayout">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTest.html new file mode 100644 index 00000000000..6080c416e57 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTest.html @@ -0,0 +1,426 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:43 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +EnhancedPatternLayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="EnhancedPatternLayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedPatternLayoutTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedPatternLayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class EnhancedPatternLayoutTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">org.apache.log4j.LayoutTest</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.EnhancedPatternLayoutTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>EnhancedPatternLayoutTest</B><DT>extends <A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A></DL> +</PRE> + +<P> +Test for EnhancedPatternLayout. +<P> + +<P> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest.DerivedPatternLayout</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Class to ensure that protected members are still available.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html#EnhancedPatternLayoutTest(java.lang.String)">EnhancedPatternLayoutTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct new instance of PatternLayoutTest.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html#createLayout()">createLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates layout for test.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html#testDefaultConversionPattern()">testDefaultConversionPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests DEFAULT_CONVERSION_PATTERN constant.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html#testFormat()">testFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html#testFormatResize()">testFormatResize</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests buffer downsizing code path.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html#testGetPatternFormat()">testGetPatternFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests getPatternFormat().</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html#testTTCCConversionPattern()">testTTCCConversionPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests DEFAULT_CONVERSION_PATTERN constant.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.LayoutTest"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../org/apache/log4j/LayoutTest.html#testGetContentType()">testGetContentType</A>, <A HREF="../../../org/apache/log4j/LayoutTest.html#testGetFooter()">testGetFooter</A>, <A HREF="../../../org/apache/log4j/LayoutTest.html#testGetHeader()">testGetHeader</A>, <A HREF="../../../org/apache/log4j/LayoutTest.html#testIgnoresThrowable()">testIgnoresThrowable</A>, <A HREF="../../../org/apache/log4j/LayoutTest.html#testLineSep()">testLineSep</A>, <A HREF="../../../org/apache/log4j/LayoutTest.html#testLineSepLen()">testLineSepLen</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="EnhancedPatternLayoutTest(java.lang.String)"><!-- --></A><H3> +EnhancedPatternLayoutTest</H3> +<PRE> +public <B>EnhancedPatternLayoutTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Construct new instance of PatternLayoutTest. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="createLayout()"><!-- --></A><H3> +createLayout</H3> +<PRE> +protected <A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">Layout</A> <B>createLayout</B>()</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../org/apache/log4j/LayoutTest.html#createLayout()">LayoutTest</A></CODE></B></DD> +<DD>Creates layout for test. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/LayoutTest.html#createLayout()">createLayout</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>new instance of Layout.</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormat()"><!-- --></A><H3> +testFormat</H3> +<PRE> +public void <B>testFormat</B>()</PRE> +<DL> +<DD>Tests format. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/apache/log4j/LayoutTest.html#testFormat()">testFormat</A></CODE> in class <CODE><A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testGetPatternFormat()"><!-- --></A><H3> +testGetPatternFormat</H3> +<PRE> +public void <B>testGetPatternFormat</B>()</PRE> +<DL> +<DD>Tests getPatternFormat(). +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDefaultConversionPattern()"><!-- --></A><H3> +testDefaultConversionPattern</H3> +<PRE> +public void <B>testDefaultConversionPattern</B>()</PRE> +<DL> +<DD>Tests DEFAULT_CONVERSION_PATTERN constant. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTTCCConversionPattern()"><!-- --></A><H3> +testTTCCConversionPattern</H3> +<PRE> +public void <B>testTTCCConversionPattern</B>()</PRE> +<DL> +<DD>Tests DEFAULT_CONVERSION_PATTERN constant. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatResize()"><!-- --></A><H3> +testFormatResize</H3> +<PRE> +public void <B>testFormatResize</B>()</PRE> +<DL> +<DD>Tests buffer downsizing code path. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedPatternLayoutTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedPatternLayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTestCase.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTestCase.html new file mode 100644 index 00000000000..2155edeb9fd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/EnhancedPatternLayoutTestCase.html @@ -0,0 +1,754 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:44 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +EnhancedPatternLayoutTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="EnhancedPatternLayoutTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedPatternLayoutTestCase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedPatternLayoutTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class EnhancedPatternLayoutTestCase</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.EnhancedPatternLayoutTestCase</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>EnhancedPatternLayoutTestCase</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#EnhancedPatternLayoutTestCase(java.lang.String)">EnhancedPatternLayoutTestCase</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#setUp()">setUp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test10()">test10</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test11()">test11</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test12()">test12</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test13()">test13</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test14()">test14</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test of class abbreviation.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test15()">test15</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests log4j 1.2 style extension of EnhancedPatternLayout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test16()">test16</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests explicit UTC time zone in pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test17()">test17</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test left and right truncation</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test7()">test7</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test8()">test8</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#test9()">test9</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#testMDC1()">testMDC1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#testMDC2()">testMDC2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test case for MDC conversion pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html#testThrowable()">testThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test case for throwable conversion pattern.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="EnhancedPatternLayoutTestCase(java.lang.String)"><!-- --></A><H3> +EnhancedPatternLayoutTestCase</H3> +<PRE> +public <B>EnhancedPatternLayoutTestCase</B>(java.lang.String&nbsp;name)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setUp()"><!-- --></A><H3> +setUp</H3> +<PRE> +public void <B>setUp</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>setUp</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +public void <B>tearDown</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test7()"><!-- --></A><H3> +test7</H3> +<PRE> +public void <B>test7</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test8()"><!-- --></A><H3> +test8</H3> +<PRE> +public void <B>test8</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test9()"><!-- --></A><H3> +test9</H3> +<PRE> +public void <B>test9</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test10()"><!-- --></A><H3> +test10</H3> +<PRE> +public void <B>test10</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test11()"><!-- --></A><H3> +test11</H3> +<PRE> +public void <B>test11</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test12()"><!-- --></A><H3> +test12</H3> +<PRE> +public void <B>test12</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test13()"><!-- --></A><H3> +test13</H3> +<PRE> +public void <B>test13</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test14()"><!-- --></A><H3> +test14</H3> +<PRE> +public void <B>test14</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test of class abbreviation. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testMDC1()"><!-- --></A><H3> +testMDC1</H3> +<PRE> +public void <B>testMDC1</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test15()"><!-- --></A><H3> +test15</H3> +<PRE> +public void <B>test15</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests log4j 1.2 style extension of EnhancedPatternLayout. + Was test14 in log4j 1.2. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test16()"><!-- --></A><H3> +test16</H3> +<PRE> +public void <B>test16</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests explicit UTC time zone in pattern. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test17()"><!-- --></A><H3> +test17</H3> +<PRE> +public void <B>test17</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test left and right truncation +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testMDC2()"><!-- --></A><H3> +testMDC2</H3> +<PRE> +public void <B>testMDC2</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test case for MDC conversion pattern. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testThrowable()"><!-- --></A><H3> +testThrowable</H3> +<PRE> +public void <B>testThrowable</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test case for throwable conversion pattern. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EnhancedPatternLayoutTestCase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/EnhancedPatternLayoutTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/LayoutTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/LayoutTest.html new file mode 100644 index 00000000000..2a8c857177a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/LayoutTest.html @@ -0,0 +1,470 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:44 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LayoutTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LogCapture.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class LayoutTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LayoutTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A>, <A HREF="../../../org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LayoutTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Tests for Layout. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LayoutTest.html#LayoutTest(java.lang.String)">LayoutTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a new instance of LayoutTest.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LayoutTest.html#LayoutTest(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String)">LayoutTest</A></B>(java.lang.String&nbsp;testName, + java.lang.String&nbsp;expectedContentType, + boolean&nbsp;expectedIgnoresThrowable, + java.lang.String&nbsp;expectedHeader, + java.lang.String&nbsp;expectedFooter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for use by derived tests.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LayoutTest.html#createLayout()">createLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates layout for test.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LayoutTest.html#testFormat()">testFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests format.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LayoutTest.html#testGetContentType()">testGetContentType</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests getContentType.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LayoutTest.html#testGetFooter()">testGetFooter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests getFooter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LayoutTest.html#testGetHeader()">testGetHeader</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests getHeader.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LayoutTest.html#testIgnoresThrowable()">testIgnoresThrowable</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests ignoresThrowable.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LayoutTest.html#testLineSep()">testLineSep</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests Layout.LINE_SEP.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LayoutTest.html#testLineSepLen()">testLineSepLen</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests Layout.LINE_SEP.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LayoutTest(java.lang.String)"><!-- --></A><H3> +LayoutTest</H3> +<PRE> +public <B>LayoutTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Construct a new instance of LayoutTest. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> +<HR> + +<A NAME="LayoutTest(java.lang.String, java.lang.String, boolean, java.lang.String, java.lang.String)"><!-- --></A><H3> +LayoutTest</H3> +<PRE> +protected <B>LayoutTest</B>(java.lang.String&nbsp;testName, + java.lang.String&nbsp;expectedContentType, + boolean&nbsp;expectedIgnoresThrowable, + java.lang.String&nbsp;expectedHeader, + java.lang.String&nbsp;expectedFooter)</PRE> +<DL> +<DD>Constructor for use by derived tests. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - name of test.<DD><CODE>expectedContentType</CODE> - expected value for getContentType().<DD><CODE>expectedIgnoresThrowable</CODE> - expected value for ignoresThrowable().<DD><CODE>expectedHeader</CODE> - expected value for getHeader().<DD><CODE>expectedFooter</CODE> - expected value for getFooter().</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="testLineSep()"><!-- --></A><H3> +testLineSep</H3> +<PRE> +public void <B>testLineSep</B>()</PRE> +<DL> +<DD>Tests Layout.LINE_SEP. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLineSepLen()"><!-- --></A><H3> +testLineSepLen</H3> +<PRE> +public void <B>testLineSepLen</B>()</PRE> +<DL> +<DD>Tests Layout.LINE_SEP. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="createLayout()"><!-- --></A><H3> +createLayout</H3> +<PRE> +protected <A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">Layout</A> <B>createLayout</B>()</PRE> +<DL> +<DD>Creates layout for test. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>new instance of Layout.</DL> +</DD> +</DL> +<HR> + +<A NAME="testGetContentType()"><!-- --></A><H3> +testGetContentType</H3> +<PRE> +public void <B>testGetContentType</B>()</PRE> +<DL> +<DD>Tests getContentType. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testIgnoresThrowable()"><!-- --></A><H3> +testIgnoresThrowable</H3> +<PRE> +public void <B>testIgnoresThrowable</B>()</PRE> +<DL> +<DD>Tests ignoresThrowable. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testGetHeader()"><!-- --></A><H3> +testGetHeader</H3> +<PRE> +public void <B>testGetHeader</B>()</PRE> +<DL> +<DD>Tests getHeader. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testGetFooter()"><!-- --></A><H3> +testGetFooter</H3> +<PRE> +public void <B>testGetFooter</B>()</PRE> +<DL> +<DD>Tests getFooter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormat()"><!-- --></A><H3> +testFormat</H3> +<PRE> +public void <B>testFormat</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests format. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE> - derived tests, particular XMLLayoutTest, may throw exceptions.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LayoutTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/LogCapture.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/LogCapture.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/LogCapture.html new file mode 100644 index 00000000000..22d57d03f80 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/LogCapture.html @@ -0,0 +1,262 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:44 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LogCapture (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LogCapture (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogCapture.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogCapture.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogCapture.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class LogCapture</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.LogCapture</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>LogCapture</B><DT>extends java.lang.Object</DL> +</PRE> + +<P> +Helper class to set up and capture log messages. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogCapture.html#LogCapture(org.apache.log4j.Level)">LogCapture</A></B>(<A HREF="../../../../apidocs/org/apache/log4j/Level.html?is-external=true" title="class or interface in org.apache.log4j">Level</A>&nbsp;level)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates new instance of LogCapture.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/LogCapture.html#getMessage()">getMessage</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get message.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LogCapture(org.apache.log4j.Level)"><!-- --></A><H3> +LogCapture</H3> +<PRE> +public <B>LogCapture</B>(<A HREF="../../../../apidocs/org/apache/log4j/Level.html?is-external=true" title="class or interface in org.apache.log4j">Level</A>&nbsp;level)</PRE> +<DL> +<DD>Creates new instance of LogCapture. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="getMessage()"><!-- --></A><H3> +getMessage</H3> +<PRE> +public java.lang.String <B>getMessage</B>()</PRE> +<DL> +<DD>Get message. +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>rendered message, null if no logging event captured.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LogCapture.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/LogCapture.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogCapture.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/MyPatternParser.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/MyPatternParser.html new file mode 100644 index 00000000000..c1e480dcb6b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/MyPatternParser.html @@ -0,0 +1,303 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:44 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +MyPatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="MyPatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MyPatternParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogCapture.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/MyPatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MyPatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.PatternParser">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class MyPatternParser</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true" title="class or interface in org.apache.log4j.helpers">org.apache.log4j.helpers.PatternParser</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.MyPatternParser</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>MyPatternParser</B><DT>extends <A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true" title="class or interface in org.apache.log4j.helpers">PatternParser</A></DL> +</PRE> + +<P> +Example showing how to extend PatternParser to recognize additional + conversion characters. The examples shows that minimum and maximum + width and alignment settings apply for "extension" conversion + characters just as they do for EnhancedPatternLayout recognized characters. + + <p>In this case MyPatternParser recognizes %# and outputs the value + of an internal counter which is also incremented at each call. + + See <a href=doc-files/MyPatternParser.java><b>source</b></a> code + for more details. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Anders Kristensen</DD> +<DT><B>See Also:</B><DD><A HREF="../../../../apidocs/org/apache/log4j/MyPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j"><CODE>MyPatternLayout</CODE></A>, +<A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true" title="class or interface in org.apache.log4j.helpers"><CODE>PatternParser</CODE></A>, +<A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j"><CODE>EnhancedPatternLayout</CODE></A></DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.helpers.PatternParser"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.helpers.<A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true" title="class or interface in org.apache.log4j.helpers">PatternParser</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true#currentLiteral" title="class or interface in org.apache.log4j.helpers">currentLiteral</A>, <A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true#formattingInfo" title="class or interface in org.apache.log4j.helpers">formattingInfo</A>, <A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true#i" title="class or interface in org.apache.log4j.helpers">i</A>, <A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true#pattern" title="class or interface in org.apache.log4j.helpers">pattern</A>, <A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true#patternLength" title="class or interface in org.apache.log4j.helpers">patternLength</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/MyPatternParser.html#MyPatternParser(java.lang.String)">MyPatternParser</A></B>(java.lang.String&nbsp;pattern)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/MyPatternParser.html#finalizeConverter(char)">finalizeConverter</A></B>(char&nbsp;c)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.helpers.PatternParser"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.helpers.<A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true" title="class or interface in org.apache.log4j.helpers">PatternParser</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true#addConverter(org.apache.log4j.helpers.PatternConverter)" title="class or interface in org.apache.log4j.helpers">addConverter</A>, <A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true#extractOption()" title="class or interface in org.apache.log4j.helpers">extractOption</A>, <A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true#extractPrecisionOption()" title="class or interface in org.apache.log4j.helpers">extractPrecisionOption</A>, <A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true#parse()" title="class or interface in org.apache.log4j.helpers">parse</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="MyPatternParser(java.lang.String)"><!-- --></A><H3> +MyPatternParser</H3> +<PRE> +public <B>MyPatternParser</B>(java.lang.String&nbsp;pattern)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="finalizeConverter(char)"><!-- --></A><H3> +finalizeConverter</H3> +<PRE> +public void <B>finalizeConverter</B>(char&nbsp;c)</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true#finalizeConverter(char)" title="class or interface in org.apache.log4j.helpers">finalizeConverter</A></CODE> in class <CODE><A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true" title="class or interface in org.apache.log4j.helpers">PatternParser</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MyPatternParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/LogCapture.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/MyPatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MyPatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.helpers.PatternParser">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogMF.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogMF.html new file mode 100644 index 00000000000..5fad65fd72d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogMF.html @@ -0,0 +1,2803 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:44 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TestLogMF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TestLogMF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TestLogMF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/TestLogMF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogMF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class TestLogMF</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.TestLogMF</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TestLogMF</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Unit test for LogMF. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#TestLogMF(java.lang.String)">TestLogMF</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create the test case</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Post test clean up.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testClassName()">testClassName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test class name when logging through LogMF.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugArrayArg()">testDebugArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugBadPattern()">testDebugBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugBoolean()">testDebugBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugByte()">testDebugByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugChar()">testDebugChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugDate()">testDebugDate</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugDouble()">testDebugDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugFloat()">testDebugFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugFourArg()">testDebugFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with four arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugFullPrecisionAndPercent()">testDebugFullPrecisionAndPercent</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugInt()">testDebugInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugLong()">testDebugLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugMissingArg()">testDebugMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugNoArg()">testDebugNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugNull()">testDebugNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugNullArrayArg()">testDebugNullArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with null Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugNullPattern()">testDebugNullPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with null pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugPercent()">testDebugPercent</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugQuoted()">testDebugQuoted</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugShort()">testDebugShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugString()">testDebugString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugThreeArg()">testDebugThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testDebugTwoArg()">testDebugTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfo10ParamBrace9()">testInfo10ParamBrace9</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with a pattern containing {9} and two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfo1ParamBrace9()">testInfo1ParamBrace9</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with a pattern containing {9} and one argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfo1ParamBraceSlashColon()">testInfo1ParamBraceSlashColon</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with indexes just outside of 0 to 9.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfo2ParamBrace9()">testInfo2ParamBrace9</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with a pattern containing {9} and two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoArrayArg()">testInfoArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoBadPattern()">testInfoBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoBoolean()">testInfoBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoByte()">testInfoByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoChar()">testInfoChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoDouble()">testInfoDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoFloat()">testInfoFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoFourArg()">testInfoFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with four arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoInt()">testInfoInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoLong()">testInfoLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoMissingArg()">testInfoMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoNoArg()">testInfoNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoNull()">testInfoNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoNullPattern()">testInfoNullPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with null pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoShort()">testInfoShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoString()">testInfoString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoThreeArg()">testInfoThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testInfoTwoArg()">testInfoTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.info with two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogArrayArg()">testLogArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogBadPattern()">testLogBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogBoolean()">testLogBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogByte()">testLogByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogChar()">testLogChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogDouble()">testLogDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogFloat()">testLogFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogFourArg()">testLogFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with four arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogInt()">testLogInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogLong()">testLogLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogMissingArg()">testLogMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogNoArg()">testLogNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogNull()">testLogNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogNullPattern()">testLogNullPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with null pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbArrayArg()">testLogrbArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbBadPattern()">testLogrbBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbBoolean()">testLogrbBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbByte()">testLogrbByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbChar()">testLogrbChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbDouble()">testLogrbDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbFloat()">testLogrbFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbFourArg()">testLogrbFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with four arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbInt()">testLogrbInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbLong()">testLogrbLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbMissingArg()">testLogrbMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbNoArg()">testLogrbNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbNull()">testLogrbNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbNullBundle()">testLogrbNullBundle</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with null bundle name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbNullKey()">testLogrbNullKey</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with null key.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbShort()">testLogrbShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbString()">testLogrbString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbThreeArg()">testLogrbThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogrbTwoArg()">testLogrbTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.logrb with two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogShort()">testLogShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogString()">testLogString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogThreeArg()">testLogThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testLogTwoArg()">testLogTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.log with two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceArrayArg()">testTraceArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceBadPattern()">testTraceBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceBoolean()">testTraceBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceByte()">testTraceByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceChar()">testTraceChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceDouble()">testTraceDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceFloat()">testTraceFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceFourArg()">testTraceFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with four arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceInt()">testTraceInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceLong()">testTraceLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceMissingArg()">testTraceMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceNoArg()">testTraceNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceNull()">testTraceNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceNullArrayArg()">testTraceNullArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with null Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceNullPattern()">testTraceNullPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with null pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceShort()">testTraceShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceString()">testTraceString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceThreeArg()">testTraceThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testTraceTwoArg()">testTraceTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.trace with two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnArrayArg()">testWarnArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnBadPattern()">testWarnBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnBoolean()">testWarnBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnByte()">testWarnByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnChar()">testWarnChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnDouble()">testWarnDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnFloat()">testWarnFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnFourArg()">testWarnFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.debug with four arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnInt()">testWarnInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnLong()">testWarnLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnMissingArg()">testWarnMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnNoArg()">testWarnNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnNull()">testWarnNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnNullPattern()">testWarnNullPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with null pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnShort()">testWarnShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnString()">testWarnString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnThreeArg()">testWarnThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogMF.html#testWarnTwoArg()">testWarnTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogMF.warn with two arguments.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TestLogMF(java.lang.String)"><!-- --></A><H3> +TestLogMF</H3> +<PRE> +public <B>TestLogMF</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create the test case +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - name of the test case</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +public void <B>tearDown</B>()</PRE> +<DL> +<DD>Post test clean up. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testClassName()"><!-- --></A><H3> +testClassName</H3> +<PRE> +public void <B>testClassName</B>()</PRE> +<DL> +<DD>Test class name when logging through LogMF. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceNullPattern()"><!-- --></A><H3> +testTraceNullPattern</H3> +<PRE> +public void <B>testTraceNullPattern</B>()</PRE> +<DL> +<DD>Test LogMF.trace with null pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceNoArg()"><!-- --></A><H3> +testTraceNoArg</H3> +<PRE> +public void <B>testTraceNoArg</B>()</PRE> +<DL> +<DD>Test LogMF.trace with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceBadPattern()"><!-- --></A><H3> +testTraceBadPattern</H3> +<PRE> +public void <B>testTraceBadPattern</B>()</PRE> +<DL> +<DD>Test LogMF.trace with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceMissingArg()"><!-- --></A><H3> +testTraceMissingArg</H3> +<PRE> +public void <B>testTraceMissingArg</B>()</PRE> +<DL> +<DD>Test LogMF.trace with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceString()"><!-- --></A><H3> +testTraceString</H3> +<PRE> +public void <B>testTraceString</B>()</PRE> +<DL> +<DD>Test LogMF.trace with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceNull()"><!-- --></A><H3> +testTraceNull</H3> +<PRE> +public void <B>testTraceNull</B>()</PRE> +<DL> +<DD>Test LogMF.trace with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceInt()"><!-- --></A><H3> +testTraceInt</H3> +<PRE> +public void <B>testTraceInt</B>()</PRE> +<DL> +<DD>Test LogMF.trace with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceByte()"><!-- --></A><H3> +testTraceByte</H3> +<PRE> +public void <B>testTraceByte</B>()</PRE> +<DL> +<DD>Test LogMF.trace with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceShort()"><!-- --></A><H3> +testTraceShort</H3> +<PRE> +public void <B>testTraceShort</B>()</PRE> +<DL> +<DD>Test LogMF.trace with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceLong()"><!-- --></A><H3> +testTraceLong</H3> +<PRE> +public void <B>testTraceLong</B>()</PRE> +<DL> +<DD>Test LogMF.trace with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceChar()"><!-- --></A><H3> +testTraceChar</H3> +<PRE> +public void <B>testTraceChar</B>()</PRE> +<DL> +<DD>Test LogMF.trace with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceBoolean()"><!-- --></A><H3> +testTraceBoolean</H3> +<PRE> +public void <B>testTraceBoolean</B>()</PRE> +<DL> +<DD>Test LogMF.trace with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceFloat()"><!-- --></A><H3> +testTraceFloat</H3> +<PRE> +public void <B>testTraceFloat</B>()</PRE> +<DL> +<DD>Test LogMF.trace with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceDouble()"><!-- --></A><H3> +testTraceDouble</H3> +<PRE> +public void <B>testTraceDouble</B>()</PRE> +<DL> +<DD>Test LogMF.trace with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceTwoArg()"><!-- --></A><H3> +testTraceTwoArg</H3> +<PRE> +public void <B>testTraceTwoArg</B>()</PRE> +<DL> +<DD>Test LogMF.trace with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceThreeArg()"><!-- --></A><H3> +testTraceThreeArg</H3> +<PRE> +public void <B>testTraceThreeArg</B>()</PRE> +<DL> +<DD>Test LogMF.trace with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceFourArg()"><!-- --></A><H3> +testTraceFourArg</H3> +<PRE> +public void <B>testTraceFourArg</B>()</PRE> +<DL> +<DD>Test LogMF.trace with four arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceArrayArg()"><!-- --></A><H3> +testTraceArrayArg</H3> +<PRE> +public void <B>testTraceArrayArg</B>()</PRE> +<DL> +<DD>Test LogMF.trace with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceNullArrayArg()"><!-- --></A><H3> +testTraceNullArrayArg</H3> +<PRE> +public void <B>testTraceNullArrayArg</B>()</PRE> +<DL> +<DD>Test LogMF.trace with null Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugNullPattern()"><!-- --></A><H3> +testDebugNullPattern</H3> +<PRE> +public void <B>testDebugNullPattern</B>()</PRE> +<DL> +<DD>Test LogMF.debug with null pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugNoArg()"><!-- --></A><H3> +testDebugNoArg</H3> +<PRE> +public void <B>testDebugNoArg</B>()</PRE> +<DL> +<DD>Test LogMF.debug with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugBadPattern()"><!-- --></A><H3> +testDebugBadPattern</H3> +<PRE> +public void <B>testDebugBadPattern</B>()</PRE> +<DL> +<DD>Test LogMF.debug with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugMissingArg()"><!-- --></A><H3> +testDebugMissingArg</H3> +<PRE> +public void <B>testDebugMissingArg</B>()</PRE> +<DL> +<DD>Test LogMF.debug with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugString()"><!-- --></A><H3> +testDebugString</H3> +<PRE> +public void <B>testDebugString</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugNull()"><!-- --></A><H3> +testDebugNull</H3> +<PRE> +public void <B>testDebugNull</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugInt()"><!-- --></A><H3> +testDebugInt</H3> +<PRE> +public void <B>testDebugInt</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugByte()"><!-- --></A><H3> +testDebugByte</H3> +<PRE> +public void <B>testDebugByte</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugShort()"><!-- --></A><H3> +testDebugShort</H3> +<PRE> +public void <B>testDebugShort</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugLong()"><!-- --></A><H3> +testDebugLong</H3> +<PRE> +public void <B>testDebugLong</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugChar()"><!-- --></A><H3> +testDebugChar</H3> +<PRE> +public void <B>testDebugChar</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugBoolean()"><!-- --></A><H3> +testDebugBoolean</H3> +<PRE> +public void <B>testDebugBoolean</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugFloat()"><!-- --></A><H3> +testDebugFloat</H3> +<PRE> +public void <B>testDebugFloat</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugDouble()"><!-- --></A><H3> +testDebugDouble</H3> +<PRE> +public void <B>testDebugDouble</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugTwoArg()"><!-- --></A><H3> +testDebugTwoArg</H3> +<PRE> +public void <B>testDebugTwoArg</B>()</PRE> +<DL> +<DD>Test LogMF.debug with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugThreeArg()"><!-- --></A><H3> +testDebugThreeArg</H3> +<PRE> +public void <B>testDebugThreeArg</B>()</PRE> +<DL> +<DD>Test LogMF.debug with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugFourArg()"><!-- --></A><H3> +testDebugFourArg</H3> +<PRE> +public void <B>testDebugFourArg</B>()</PRE> +<DL> +<DD>Test LogMF.debug with four arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugArrayArg()"><!-- --></A><H3> +testDebugArrayArg</H3> +<PRE> +public void <B>testDebugArrayArg</B>()</PRE> +<DL> +<DD>Test LogMF.debug with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugDate()"><!-- --></A><H3> +testDebugDate</H3> +<PRE> +public void <B>testDebugDate</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugNullArrayArg()"><!-- --></A><H3> +testDebugNullArrayArg</H3> +<PRE> +public void <B>testDebugNullArrayArg</B>()</PRE> +<DL> +<DD>Test LogMF.debug with null Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugPercent()"><!-- --></A><H3> +testDebugPercent</H3> +<PRE> +public void <B>testDebugPercent</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugFullPrecisionAndPercent()"><!-- --></A><H3> +testDebugFullPrecisionAndPercent</H3> +<PRE> +public void <B>testDebugFullPrecisionAndPercent</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugQuoted()"><!-- --></A><H3> +testDebugQuoted</H3> +<PRE> +public void <B>testDebugQuoted</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoNullPattern()"><!-- --></A><H3> +testInfoNullPattern</H3> +<PRE> +public void <B>testInfoNullPattern</B>()</PRE> +<DL> +<DD>Test LogMF.info with null pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoNoArg()"><!-- --></A><H3> +testInfoNoArg</H3> +<PRE> +public void <B>testInfoNoArg</B>()</PRE> +<DL> +<DD>Test LogMF.info with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoBadPattern()"><!-- --></A><H3> +testInfoBadPattern</H3> +<PRE> +public void <B>testInfoBadPattern</B>()</PRE> +<DL> +<DD>Test LogMF.info with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoMissingArg()"><!-- --></A><H3> +testInfoMissingArg</H3> +<PRE> +public void <B>testInfoMissingArg</B>()</PRE> +<DL> +<DD>Test LogMF.info with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoString()"><!-- --></A><H3> +testInfoString</H3> +<PRE> +public void <B>testInfoString</B>()</PRE> +<DL> +<DD>Test LogMF.info with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoNull()"><!-- --></A><H3> +testInfoNull</H3> +<PRE> +public void <B>testInfoNull</B>()</PRE> +<DL> +<DD>Test LogMF.info with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoInt()"><!-- --></A><H3> +testInfoInt</H3> +<PRE> +public void <B>testInfoInt</B>()</PRE> +<DL> +<DD>Test LogMF.info with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoByte()"><!-- --></A><H3> +testInfoByte</H3> +<PRE> +public void <B>testInfoByte</B>()</PRE> +<DL> +<DD>Test LogMF.info with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoShort()"><!-- --></A><H3> +testInfoShort</H3> +<PRE> +public void <B>testInfoShort</B>()</PRE> +<DL> +<DD>Test LogMF.info with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoLong()"><!-- --></A><H3> +testInfoLong</H3> +<PRE> +public void <B>testInfoLong</B>()</PRE> +<DL> +<DD>Test LogMF.info with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoChar()"><!-- --></A><H3> +testInfoChar</H3> +<PRE> +public void <B>testInfoChar</B>()</PRE> +<DL> +<DD>Test LogMF.info with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoBoolean()"><!-- --></A><H3> +testInfoBoolean</H3> +<PRE> +public void <B>testInfoBoolean</B>()</PRE> +<DL> +<DD>Test LogMF.info with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoFloat()"><!-- --></A><H3> +testInfoFloat</H3> +<PRE> +public void <B>testInfoFloat</B>()</PRE> +<DL> +<DD>Test LogMF.info with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoDouble()"><!-- --></A><H3> +testInfoDouble</H3> +<PRE> +public void <B>testInfoDouble</B>()</PRE> +<DL> +<DD>Test LogMF.info with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoTwoArg()"><!-- --></A><H3> +testInfoTwoArg</H3> +<PRE> +public void <B>testInfoTwoArg</B>()</PRE> +<DL> +<DD>Test LogMF.info with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoThreeArg()"><!-- --></A><H3> +testInfoThreeArg</H3> +<PRE> +public void <B>testInfoThreeArg</B>()</PRE> +<DL> +<DD>Test LogMF.info with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoFourArg()"><!-- --></A><H3> +testInfoFourArg</H3> +<PRE> +public void <B>testInfoFourArg</B>()</PRE> +<DL> +<DD>Test LogMF.info with four arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoArrayArg()"><!-- --></A><H3> +testInfoArrayArg</H3> +<PRE> +public void <B>testInfoArrayArg</B>()</PRE> +<DL> +<DD>Test LogMF.info with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnNullPattern()"><!-- --></A><H3> +testWarnNullPattern</H3> +<PRE> +public void <B>testWarnNullPattern</B>()</PRE> +<DL> +<DD>Test LogMF.warn with null pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnNoArg()"><!-- --></A><H3> +testWarnNoArg</H3> +<PRE> +public void <B>testWarnNoArg</B>()</PRE> +<DL> +<DD>Test LogMF.warn with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnBadPattern()"><!-- --></A><H3> +testWarnBadPattern</H3> +<PRE> +public void <B>testWarnBadPattern</B>()</PRE> +<DL> +<DD>Test LogMF.warn with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnMissingArg()"><!-- --></A><H3> +testWarnMissingArg</H3> +<PRE> +public void <B>testWarnMissingArg</B>()</PRE> +<DL> +<DD>Test LogMF.warn with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnString()"><!-- --></A><H3> +testWarnString</H3> +<PRE> +public void <B>testWarnString</B>()</PRE> +<DL> +<DD>Test LogMF.warn with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnNull()"><!-- --></A><H3> +testWarnNull</H3> +<PRE> +public void <B>testWarnNull</B>()</PRE> +<DL> +<DD>Test LogMF.warn with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnInt()"><!-- --></A><H3> +testWarnInt</H3> +<PRE> +public void <B>testWarnInt</B>()</PRE> +<DL> +<DD>Test LogMF.warn with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnByte()"><!-- --></A><H3> +testWarnByte</H3> +<PRE> +public void <B>testWarnByte</B>()</PRE> +<DL> +<DD>Test LogMF.warn with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnShort()"><!-- --></A><H3> +testWarnShort</H3> +<PRE> +public void <B>testWarnShort</B>()</PRE> +<DL> +<DD>Test LogMF.warn with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnLong()"><!-- --></A><H3> +testWarnLong</H3> +<PRE> +public void <B>testWarnLong</B>()</PRE> +<DL> +<DD>Test LogMF.warn with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnChar()"><!-- --></A><H3> +testWarnChar</H3> +<PRE> +public void <B>testWarnChar</B>()</PRE> +<DL> +<DD>Test LogMF.warn with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnBoolean()"><!-- --></A><H3> +testWarnBoolean</H3> +<PRE> +public void <B>testWarnBoolean</B>()</PRE> +<DL> +<DD>Test LogMF.warn with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnFloat()"><!-- --></A><H3> +testWarnFloat</H3> +<PRE> +public void <B>testWarnFloat</B>()</PRE> +<DL> +<DD>Test LogMF.warn with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnDouble()"><!-- --></A><H3> +testWarnDouble</H3> +<PRE> +public void <B>testWarnDouble</B>()</PRE> +<DL> +<DD>Test LogMF.debug with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnTwoArg()"><!-- --></A><H3> +testWarnTwoArg</H3> +<PRE> +public void <B>testWarnTwoArg</B>()</PRE> +<DL> +<DD>Test LogMF.warn with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnThreeArg()"><!-- --></A><H3> +testWarnThreeArg</H3> +<PRE> +public void <B>testWarnThreeArg</B>()</PRE> +<DL> +<DD>Test LogMF.warn with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnFourArg()"><!-- --></A><H3> +testWarnFourArg</H3> +<PRE> +public void <B>testWarnFourArg</B>()</PRE> +<DL> +<DD>Test LogMF.debug with four arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnArrayArg()"><!-- --></A><H3> +testWarnArrayArg</H3> +<PRE> +public void <B>testWarnArrayArg</B>()</PRE> +<DL> +<DD>Test LogMF.warn with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogNullPattern()"><!-- --></A><H3> +testLogNullPattern</H3> +<PRE> +public void <B>testLogNullPattern</B>()</PRE> +<DL> +<DD>Test LogMF.log with null pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogNoArg()"><!-- --></A><H3> +testLogNoArg</H3> +<PRE> +public void <B>testLogNoArg</B>()</PRE> +<DL> +<DD>Test LogMF.log with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogBadPattern()"><!-- --></A><H3> +testLogBadPattern</H3> +<PRE> +public void <B>testLogBadPattern</B>()</PRE> +<DL> +<DD>Test LogMF.log with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogMissingArg()"><!-- --></A><H3> +testLogMissingArg</H3> +<PRE> +public void <B>testLogMissingArg</B>()</PRE> +<DL> +<DD>Test LogMF.log with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogString()"><!-- --></A><H3> +testLogString</H3> +<PRE> +public void <B>testLogString</B>()</PRE> +<DL> +<DD>Test LogMF.log with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogNull()"><!-- --></A><H3> +testLogNull</H3> +<PRE> +public void <B>testLogNull</B>()</PRE> +<DL> +<DD>Test LogMF.log with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogInt()"><!-- --></A><H3> +testLogInt</H3> +<PRE> +public void <B>testLogInt</B>()</PRE> +<DL> +<DD>Test LogMF.log with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogByte()"><!-- --></A><H3> +testLogByte</H3> +<PRE> +public void <B>testLogByte</B>()</PRE> +<DL> +<DD>Test LogMF.log with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogShort()"><!-- --></A><H3> +testLogShort</H3> +<PRE> +public void <B>testLogShort</B>()</PRE> +<DL> +<DD>Test LogMF.log with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogLong()"><!-- --></A><H3> +testLogLong</H3> +<PRE> +public void <B>testLogLong</B>()</PRE> +<DL> +<DD>Test LogMF.log with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogChar()"><!-- --></A><H3> +testLogChar</H3> +<PRE> +public void <B>testLogChar</B>()</PRE> +<DL> +<DD>Test LogMF.log with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogBoolean()"><!-- --></A><H3> +testLogBoolean</H3> +<PRE> +public void <B>testLogBoolean</B>()</PRE> +<DL> +<DD>Test LogMF.log with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogFloat()"><!-- --></A><H3> +testLogFloat</H3> +<PRE> +public void <B>testLogFloat</B>()</PRE> +<DL> +<DD>Test LogMF.log with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogDouble()"><!-- --></A><H3> +testLogDouble</H3> +<PRE> +public void <B>testLogDouble</B>()</PRE> +<DL> +<DD>Test LogMF.log with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogTwoArg()"><!-- --></A><H3> +testLogTwoArg</H3> +<PRE> +public void <B>testLogTwoArg</B>()</PRE> +<DL> +<DD>Test LogMF.log with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogThreeArg()"><!-- --></A><H3> +testLogThreeArg</H3> +<PRE> +public void <B>testLogThreeArg</B>()</PRE> +<DL> +<DD>Test LogMF.log with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogFourArg()"><!-- --></A><H3> +testLogFourArg</H3> +<PRE> +public void <B>testLogFourArg</B>()</PRE> +<DL> +<DD>Test LogMF.log with four arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogArrayArg()"><!-- --></A><H3> +testLogArrayArg</H3> +<PRE> +public void <B>testLogArrayArg</B>()</PRE> +<DL> +<DD>Test LogMF.log with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbNullBundle()"><!-- --></A><H3> +testLogrbNullBundle</H3> +<PRE> +public void <B>testLogrbNullBundle</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with null bundle name. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbNullKey()"><!-- --></A><H3> +testLogrbNullKey</H3> +<PRE> +public void <B>testLogrbNullKey</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with null key. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbNoArg()"><!-- --></A><H3> +testLogrbNoArg</H3> +<PRE> +public void <B>testLogrbNoArg</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbBadPattern()"><!-- --></A><H3> +testLogrbBadPattern</H3> +<PRE> +public void <B>testLogrbBadPattern</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbMissingArg()"><!-- --></A><H3> +testLogrbMissingArg</H3> +<PRE> +public void <B>testLogrbMissingArg</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbString()"><!-- --></A><H3> +testLogrbString</H3> +<PRE> +public void <B>testLogrbString</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbNull()"><!-- --></A><H3> +testLogrbNull</H3> +<PRE> +public void <B>testLogrbNull</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbInt()"><!-- --></A><H3> +testLogrbInt</H3> +<PRE> +public void <B>testLogrbInt</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbByte()"><!-- --></A><H3> +testLogrbByte</H3> +<PRE> +public void <B>testLogrbByte</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbShort()"><!-- --></A><H3> +testLogrbShort</H3> +<PRE> +public void <B>testLogrbShort</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbLong()"><!-- --></A><H3> +testLogrbLong</H3> +<PRE> +public void <B>testLogrbLong</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbChar()"><!-- --></A><H3> +testLogrbChar</H3> +<PRE> +public void <B>testLogrbChar</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbBoolean()"><!-- --></A><H3> +testLogrbBoolean</H3> +<PRE> +public void <B>testLogrbBoolean</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbFloat()"><!-- --></A><H3> +testLogrbFloat</H3> +<PRE> +public void <B>testLogrbFloat</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbDouble()"><!-- --></A><H3> +testLogrbDouble</H3> +<PRE> +public void <B>testLogrbDouble</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbTwoArg()"><!-- --></A><H3> +testLogrbTwoArg</H3> +<PRE> +public void <B>testLogrbTwoArg</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbThreeArg()"><!-- --></A><H3> +testLogrbThreeArg</H3> +<PRE> +public void <B>testLogrbThreeArg</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbFourArg()"><!-- --></A><H3> +testLogrbFourArg</H3> +<PRE> +public void <B>testLogrbFourArg</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with four arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbArrayArg()"><!-- --></A><H3> +testLogrbArrayArg</H3> +<PRE> +public void <B>testLogrbArrayArg</B>()</PRE> +<DL> +<DD>Test LogMF.logrb with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfo1ParamBrace9()"><!-- --></A><H3> +testInfo1ParamBrace9</H3> +<PRE> +public void <B>testInfo1ParamBrace9</B>()</PRE> +<DL> +<DD>Test LogMF.info with a pattern containing {9} and one argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfo2ParamBrace9()"><!-- --></A><H3> +testInfo2ParamBrace9</H3> +<PRE> +public void <B>testInfo2ParamBrace9</B>()</PRE> +<DL> +<DD>Test LogMF.info with a pattern containing {9} and two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfo10ParamBrace9()"><!-- --></A><H3> +testInfo10ParamBrace9</H3> +<PRE> +public void <B>testInfo10ParamBrace9</B>()</PRE> +<DL> +<DD>Test LogMF.info with a pattern containing {9} and two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfo1ParamBraceSlashColon()"><!-- --></A><H3> +testInfo1ParamBraceSlashColon</H3> +<PRE> +public void <B>testInfo1ParamBraceSlashColon</B>()</PRE> +<DL> +<DD>Test LogMF.info with indexes just outside of 0 to 9. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TestLogMF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/TestLogMF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogMF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogSF.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogSF.html new file mode 100644 index 00000000000..8c527319e55 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogSF.html @@ -0,0 +1,2662 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TestLogSF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TestLogSF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TestLogSF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/TestLogSF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogSF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class TestLogSF</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.TestLogSF</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TestLogSF</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Unit test for LogSF. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#TestLogSF(java.lang.String)">TestLogSF</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create the test case</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Post test clean up.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testClassName()">testClassName</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test class name when logging through LogSF.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugArrayArg()">testDebugArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugBadPattern()">testDebugBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugBoolean()">testDebugBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugByte()">testDebugByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugChar()">testDebugChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugDouble()">testDebugDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugFloat()">testDebugFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugFourArg()">testDebugFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with four arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugInt()">testDebugInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugLong()">testDebugLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugMissingArg()">testDebugMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugNoArg()">testDebugNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugNull()">testDebugNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugNullArrayArg()">testDebugNullArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with null Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugNullPattern()">testDebugNullPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with null pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugShort()">testDebugShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugString()">testDebugString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugThreeArg()">testDebugThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testDebugTwoArg()">testDebugTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.debug with two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testEscapeOneParam()">testEscapeOneParam</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test \\{ escape sequence when only one parameter is present.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testEscapeTwoParam()">testEscapeTwoParam</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test \\{ escape sequence when more than one parameter is present.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoArrayArg()">testInfoArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoBadPattern()">testInfoBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoBoolean()">testInfoBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoByte()">testInfoByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoChar()">testInfoChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoDouble()">testInfoDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoFloat()">testInfoFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoInt()">testInfoInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoLong()">testInfoLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoMissingArg()">testInfoMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoNoArg()">testInfoNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoNull()">testInfoNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoNullPattern()">testInfoNullPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with null pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoShort()">testInfoShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoString()">testInfoString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoThreeArg()">testInfoThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testInfoTwoArg()">testInfoTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.info with two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogArrayArg()">testLogArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogBadPattern()">testLogBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogBoolean()">testLogBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogByte()">testLogByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogChar()">testLogChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogDouble()">testLogDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogFloat()">testLogFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogFourArg()">testLogFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with four arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogInt()">testLogInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogLong()">testLogLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogMissingArg()">testLogMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogNoArg()">testLogNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogNull()">testLogNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogNullPattern()">testLogNullPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with null pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbArrayArg()">testLogrbArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbBadPattern()">testLogrbBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbBoolean()">testLogrbBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbByte()">testLogrbByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbChar()">testLogrbChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbDouble()">testLogrbDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbFloat()">testLogrbFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbFourArg()">testLogrbFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with four arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbInt()">testLogrbInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbLong()">testLogrbLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbMissingArg()">testLogrbMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbNoArg()">testLogrbNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbNull()">testLogrbNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbNullBundle()">testLogrbNullBundle</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with null bundle name.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbNullKey()">testLogrbNullKey</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with null key.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbShort()">testLogrbShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbString()">testLogrbString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbThreeArg()">testLogrbThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogrbTwoArg()">testLogrbTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.logrb with two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogShort()">testLogShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogString()">testLogString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogThreeArg()">testLogThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testLogTwoArg()">testLogTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.log with two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceArrayArg()">testTraceArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceBadPattern()">testTraceBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceBoolean()">testTraceBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceByte()">testTraceByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceChar()">testTraceChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceDouble()">testTraceDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceFloat()">testTraceFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceFourArg()">testTraceFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceInt()">testTraceInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceLong()">testTraceLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceMissingArg()">testTraceMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceNoArg()">testTraceNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceNull()">testTraceNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceNullArrayArg()">testTraceNullArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with null Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceNullPattern()">testTraceNullPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with null pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceShort()">testTraceShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceString()">testTraceString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceThreeArg()">testTraceThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testTraceTwoArg()">testTraceTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.trace with two arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnArrayArg()">testWarnArrayArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnBadPattern()">testWarnBadPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with malformed pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnBoolean()">testWarnBoolean</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with single field pattern with boolean argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnByte()">testWarnByte</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with single field pattern with byte argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnChar()">testWarnChar</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with single field pattern with char argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnDouble()">testWarnDouble</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with single field pattern with double argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnFloat()">testWarnFloat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with single field pattern with float argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnFourArg()">testWarnFourArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with Object[] argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnInt()">testWarnInt</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with single field pattern with int argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnLong()">testWarnLong</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with single field pattern with long argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnMissingArg()">testWarnMissingArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with missing argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnNoArg()">testWarnNoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with no-field pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnNull()">testWarnNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with single field pattern with null argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnNullPattern()">testWarnNullPattern</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with null pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnShort()">testWarnShort</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with single field pattern with short argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnString()">testWarnString</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with single field pattern with string argument.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnThreeArg()">testWarnThreeArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with three arguments.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogSF.html#testWarnTwoArg()">testWarnTwoArg</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogSF.warn with two arguments.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TestLogSF(java.lang.String)"><!-- --></A><H3> +TestLogSF</H3> +<PRE> +public <B>TestLogSF</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create the test case +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - name of the test case</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +public void <B>tearDown</B>()</PRE> +<DL> +<DD>Post test clean up. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testClassName()"><!-- --></A><H3> +testClassName</H3> +<PRE> +public void <B>testClassName</B>()</PRE> +<DL> +<DD>Test class name when logging through LogSF. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceNullPattern()"><!-- --></A><H3> +testTraceNullPattern</H3> +<PRE> +public void <B>testTraceNullPattern</B>()</PRE> +<DL> +<DD>Test LogSF.trace with null pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceNoArg()"><!-- --></A><H3> +testTraceNoArg</H3> +<PRE> +public void <B>testTraceNoArg</B>()</PRE> +<DL> +<DD>Test LogSF.trace with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceBadPattern()"><!-- --></A><H3> +testTraceBadPattern</H3> +<PRE> +public void <B>testTraceBadPattern</B>()</PRE> +<DL> +<DD>Test LogSF.trace with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceMissingArg()"><!-- --></A><H3> +testTraceMissingArg</H3> +<PRE> +public void <B>testTraceMissingArg</B>()</PRE> +<DL> +<DD>Test LogSF.trace with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceString()"><!-- --></A><H3> +testTraceString</H3> +<PRE> +public void <B>testTraceString</B>()</PRE> +<DL> +<DD>Test LogSF.trace with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceNull()"><!-- --></A><H3> +testTraceNull</H3> +<PRE> +public void <B>testTraceNull</B>()</PRE> +<DL> +<DD>Test LogSF.trace with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceInt()"><!-- --></A><H3> +testTraceInt</H3> +<PRE> +public void <B>testTraceInt</B>()</PRE> +<DL> +<DD>Test LogSF.trace with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceByte()"><!-- --></A><H3> +testTraceByte</H3> +<PRE> +public void <B>testTraceByte</B>()</PRE> +<DL> +<DD>Test LogSF.trace with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceShort()"><!-- --></A><H3> +testTraceShort</H3> +<PRE> +public void <B>testTraceShort</B>()</PRE> +<DL> +<DD>Test LogSF.trace with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceLong()"><!-- --></A><H3> +testTraceLong</H3> +<PRE> +public void <B>testTraceLong</B>()</PRE> +<DL> +<DD>Test LogSF.trace with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceChar()"><!-- --></A><H3> +testTraceChar</H3> +<PRE> +public void <B>testTraceChar</B>()</PRE> +<DL> +<DD>Test LogSF.trace with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceBoolean()"><!-- --></A><H3> +testTraceBoolean</H3> +<PRE> +public void <B>testTraceBoolean</B>()</PRE> +<DL> +<DD>Test LogSF.trace with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceFloat()"><!-- --></A><H3> +testTraceFloat</H3> +<PRE> +public void <B>testTraceFloat</B>()</PRE> +<DL> +<DD>Test LogSF.trace with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceDouble()"><!-- --></A><H3> +testTraceDouble</H3> +<PRE> +public void <B>testTraceDouble</B>()</PRE> +<DL> +<DD>Test LogSF.trace with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceTwoArg()"><!-- --></A><H3> +testTraceTwoArg</H3> +<PRE> +public void <B>testTraceTwoArg</B>()</PRE> +<DL> +<DD>Test LogSF.trace with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceThreeArg()"><!-- --></A><H3> +testTraceThreeArg</H3> +<PRE> +public void <B>testTraceThreeArg</B>()</PRE> +<DL> +<DD>Test LogSF.trace with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceFourArg()"><!-- --></A><H3> +testTraceFourArg</H3> +<PRE> +public void <B>testTraceFourArg</B>()</PRE> +<DL> +<DD>Test LogSF.trace with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceArrayArg()"><!-- --></A><H3> +testTraceArrayArg</H3> +<PRE> +public void <B>testTraceArrayArg</B>()</PRE> +<DL> +<DD>Test LogSF.trace with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTraceNullArrayArg()"><!-- --></A><H3> +testTraceNullArrayArg</H3> +<PRE> +public void <B>testTraceNullArrayArg</B>()</PRE> +<DL> +<DD>Test LogSF.trace with null Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugNullPattern()"><!-- --></A><H3> +testDebugNullPattern</H3> +<PRE> +public void <B>testDebugNullPattern</B>()</PRE> +<DL> +<DD>Test LogSF.debug with null pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugNoArg()"><!-- --></A><H3> +testDebugNoArg</H3> +<PRE> +public void <B>testDebugNoArg</B>()</PRE> +<DL> +<DD>Test LogSF.debug with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugBadPattern()"><!-- --></A><H3> +testDebugBadPattern</H3> +<PRE> +public void <B>testDebugBadPattern</B>()</PRE> +<DL> +<DD>Test LogSF.debug with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugMissingArg()"><!-- --></A><H3> +testDebugMissingArg</H3> +<PRE> +public void <B>testDebugMissingArg</B>()</PRE> +<DL> +<DD>Test LogSF.debug with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugString()"><!-- --></A><H3> +testDebugString</H3> +<PRE> +public void <B>testDebugString</B>()</PRE> +<DL> +<DD>Test LogSF.debug with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugNull()"><!-- --></A><H3> +testDebugNull</H3> +<PRE> +public void <B>testDebugNull</B>()</PRE> +<DL> +<DD>Test LogSF.debug with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugInt()"><!-- --></A><H3> +testDebugInt</H3> +<PRE> +public void <B>testDebugInt</B>()</PRE> +<DL> +<DD>Test LogSF.debug with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugByte()"><!-- --></A><H3> +testDebugByte</H3> +<PRE> +public void <B>testDebugByte</B>()</PRE> +<DL> +<DD>Test LogSF.debug with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugShort()"><!-- --></A><H3> +testDebugShort</H3> +<PRE> +public void <B>testDebugShort</B>()</PRE> +<DL> +<DD>Test LogSF.debug with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugLong()"><!-- --></A><H3> +testDebugLong</H3> +<PRE> +public void <B>testDebugLong</B>()</PRE> +<DL> +<DD>Test LogSF.debug with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugChar()"><!-- --></A><H3> +testDebugChar</H3> +<PRE> +public void <B>testDebugChar</B>()</PRE> +<DL> +<DD>Test LogSF.debug with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugBoolean()"><!-- --></A><H3> +testDebugBoolean</H3> +<PRE> +public void <B>testDebugBoolean</B>()</PRE> +<DL> +<DD>Test LogSF.debug with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugFloat()"><!-- --></A><H3> +testDebugFloat</H3> +<PRE> +public void <B>testDebugFloat</B>()</PRE> +<DL> +<DD>Test LogSF.debug with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugDouble()"><!-- --></A><H3> +testDebugDouble</H3> +<PRE> +public void <B>testDebugDouble</B>()</PRE> +<DL> +<DD>Test LogSF.debug with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugTwoArg()"><!-- --></A><H3> +testDebugTwoArg</H3> +<PRE> +public void <B>testDebugTwoArg</B>()</PRE> +<DL> +<DD>Test LogSF.debug with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugThreeArg()"><!-- --></A><H3> +testDebugThreeArg</H3> +<PRE> +public void <B>testDebugThreeArg</B>()</PRE> +<DL> +<DD>Test LogSF.debug with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugFourArg()"><!-- --></A><H3> +testDebugFourArg</H3> +<PRE> +public void <B>testDebugFourArg</B>()</PRE> +<DL> +<DD>Test LogSF.debug with four arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugArrayArg()"><!-- --></A><H3> +testDebugArrayArg</H3> +<PRE> +public void <B>testDebugArrayArg</B>()</PRE> +<DL> +<DD>Test LogSF.debug with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testDebugNullArrayArg()"><!-- --></A><H3> +testDebugNullArrayArg</H3> +<PRE> +public void <B>testDebugNullArrayArg</B>()</PRE> +<DL> +<DD>Test LogSF.debug with null Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoNullPattern()"><!-- --></A><H3> +testInfoNullPattern</H3> +<PRE> +public void <B>testInfoNullPattern</B>()</PRE> +<DL> +<DD>Test LogSF.info with null pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoNoArg()"><!-- --></A><H3> +testInfoNoArg</H3> +<PRE> +public void <B>testInfoNoArg</B>()</PRE> +<DL> +<DD>Test LogSF.info with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoBadPattern()"><!-- --></A><H3> +testInfoBadPattern</H3> +<PRE> +public void <B>testInfoBadPattern</B>()</PRE> +<DL> +<DD>Test LogSF.info with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoMissingArg()"><!-- --></A><H3> +testInfoMissingArg</H3> +<PRE> +public void <B>testInfoMissingArg</B>()</PRE> +<DL> +<DD>Test LogSF.info with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoString()"><!-- --></A><H3> +testInfoString</H3> +<PRE> +public void <B>testInfoString</B>()</PRE> +<DL> +<DD>Test LogSF.info with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoNull()"><!-- --></A><H3> +testInfoNull</H3> +<PRE> +public void <B>testInfoNull</B>()</PRE> +<DL> +<DD>Test LogSF.info with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoInt()"><!-- --></A><H3> +testInfoInt</H3> +<PRE> +public void <B>testInfoInt</B>()</PRE> +<DL> +<DD>Test LogSF.info with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoByte()"><!-- --></A><H3> +testInfoByte</H3> +<PRE> +public void <B>testInfoByte</B>()</PRE> +<DL> +<DD>Test LogSF.info with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoShort()"><!-- --></A><H3> +testInfoShort</H3> +<PRE> +public void <B>testInfoShort</B>()</PRE> +<DL> +<DD>Test LogSF.info with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoLong()"><!-- --></A><H3> +testInfoLong</H3> +<PRE> +public void <B>testInfoLong</B>()</PRE> +<DL> +<DD>Test LogSF.info with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoChar()"><!-- --></A><H3> +testInfoChar</H3> +<PRE> +public void <B>testInfoChar</B>()</PRE> +<DL> +<DD>Test LogSF.info with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoBoolean()"><!-- --></A><H3> +testInfoBoolean</H3> +<PRE> +public void <B>testInfoBoolean</B>()</PRE> +<DL> +<DD>Test LogSF.info with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoFloat()"><!-- --></A><H3> +testInfoFloat</H3> +<PRE> +public void <B>testInfoFloat</B>()</PRE> +<DL> +<DD>Test LogSF.info with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoDouble()"><!-- --></A><H3> +testInfoDouble</H3> +<PRE> +public void <B>testInfoDouble</B>()</PRE> +<DL> +<DD>Test LogSF.info with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoTwoArg()"><!-- --></A><H3> +testInfoTwoArg</H3> +<PRE> +public void <B>testInfoTwoArg</B>()</PRE> +<DL> +<DD>Test LogSF.info with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoThreeArg()"><!-- --></A><H3> +testInfoThreeArg</H3> +<PRE> +public void <B>testInfoThreeArg</B>()</PRE> +<DL> +<DD>Test LogSF.info with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testInfoArrayArg()"><!-- --></A><H3> +testInfoArrayArg</H3> +<PRE> +public void <B>testInfoArrayArg</B>()</PRE> +<DL> +<DD>Test LogSF.info with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnNullPattern()"><!-- --></A><H3> +testWarnNullPattern</H3> +<PRE> +public void <B>testWarnNullPattern</B>()</PRE> +<DL> +<DD>Test LogSF.warn with null pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnNoArg()"><!-- --></A><H3> +testWarnNoArg</H3> +<PRE> +public void <B>testWarnNoArg</B>()</PRE> +<DL> +<DD>Test LogSF.warn with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnBadPattern()"><!-- --></A><H3> +testWarnBadPattern</H3> +<PRE> +public void <B>testWarnBadPattern</B>()</PRE> +<DL> +<DD>Test LogSF.warn with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnMissingArg()"><!-- --></A><H3> +testWarnMissingArg</H3> +<PRE> +public void <B>testWarnMissingArg</B>()</PRE> +<DL> +<DD>Test LogSF.warn with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnString()"><!-- --></A><H3> +testWarnString</H3> +<PRE> +public void <B>testWarnString</B>()</PRE> +<DL> +<DD>Test LogSF.warn with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnNull()"><!-- --></A><H3> +testWarnNull</H3> +<PRE> +public void <B>testWarnNull</B>()</PRE> +<DL> +<DD>Test LogSF.warn with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnInt()"><!-- --></A><H3> +testWarnInt</H3> +<PRE> +public void <B>testWarnInt</B>()</PRE> +<DL> +<DD>Test LogSF.warn with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnByte()"><!-- --></A><H3> +testWarnByte</H3> +<PRE> +public void <B>testWarnByte</B>()</PRE> +<DL> +<DD>Test LogSF.warn with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnShort()"><!-- --></A><H3> +testWarnShort</H3> +<PRE> +public void <B>testWarnShort</B>()</PRE> +<DL> +<DD>Test LogSF.warn with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnLong()"><!-- --></A><H3> +testWarnLong</H3> +<PRE> +public void <B>testWarnLong</B>()</PRE> +<DL> +<DD>Test LogSF.warn with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnChar()"><!-- --></A><H3> +testWarnChar</H3> +<PRE> +public void <B>testWarnChar</B>()</PRE> +<DL> +<DD>Test LogSF.warn with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnBoolean()"><!-- --></A><H3> +testWarnBoolean</H3> +<PRE> +public void <B>testWarnBoolean</B>()</PRE> +<DL> +<DD>Test LogSF.warn with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnFloat()"><!-- --></A><H3> +testWarnFloat</H3> +<PRE> +public void <B>testWarnFloat</B>()</PRE> +<DL> +<DD>Test LogSF.warn with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnDouble()"><!-- --></A><H3> +testWarnDouble</H3> +<PRE> +public void <B>testWarnDouble</B>()</PRE> +<DL> +<DD>Test LogSF.warn with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnTwoArg()"><!-- --></A><H3> +testWarnTwoArg</H3> +<PRE> +public void <B>testWarnTwoArg</B>()</PRE> +<DL> +<DD>Test LogSF.warn with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnThreeArg()"><!-- --></A><H3> +testWarnThreeArg</H3> +<PRE> +public void <B>testWarnThreeArg</B>()</PRE> +<DL> +<DD>Test LogSF.warn with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnFourArg()"><!-- --></A><H3> +testWarnFourArg</H3> +<PRE> +public void <B>testWarnFourArg</B>()</PRE> +<DL> +<DD>Test LogSF.warn with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testWarnArrayArg()"><!-- --></A><H3> +testWarnArrayArg</H3> +<PRE> +public void <B>testWarnArrayArg</B>()</PRE> +<DL> +<DD>Test LogSF.warn with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogNullPattern()"><!-- --></A><H3> +testLogNullPattern</H3> +<PRE> +public void <B>testLogNullPattern</B>()</PRE> +<DL> +<DD>Test LogSF.log with null pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogNoArg()"><!-- --></A><H3> +testLogNoArg</H3> +<PRE> +public void <B>testLogNoArg</B>()</PRE> +<DL> +<DD>Test LogSF.log with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogBadPattern()"><!-- --></A><H3> +testLogBadPattern</H3> +<PRE> +public void <B>testLogBadPattern</B>()</PRE> +<DL> +<DD>Test LogSF.log with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogMissingArg()"><!-- --></A><H3> +testLogMissingArg</H3> +<PRE> +public void <B>testLogMissingArg</B>()</PRE> +<DL> +<DD>Test LogSF.log with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogString()"><!-- --></A><H3> +testLogString</H3> +<PRE> +public void <B>testLogString</B>()</PRE> +<DL> +<DD>Test LogSF.log with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogNull()"><!-- --></A><H3> +testLogNull</H3> +<PRE> +public void <B>testLogNull</B>()</PRE> +<DL> +<DD>Test LogSF.log with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogInt()"><!-- --></A><H3> +testLogInt</H3> +<PRE> +public void <B>testLogInt</B>()</PRE> +<DL> +<DD>Test LogSF.log with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogByte()"><!-- --></A><H3> +testLogByte</H3> +<PRE> +public void <B>testLogByte</B>()</PRE> +<DL> +<DD>Test LogSF.log with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogShort()"><!-- --></A><H3> +testLogShort</H3> +<PRE> +public void <B>testLogShort</B>()</PRE> +<DL> +<DD>Test LogSF.log with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogLong()"><!-- --></A><H3> +testLogLong</H3> +<PRE> +public void <B>testLogLong</B>()</PRE> +<DL> +<DD>Test LogSF.log with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogChar()"><!-- --></A><H3> +testLogChar</H3> +<PRE> +public void <B>testLogChar</B>()</PRE> +<DL> +<DD>Test LogSF.log with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogBoolean()"><!-- --></A><H3> +testLogBoolean</H3> +<PRE> +public void <B>testLogBoolean</B>()</PRE> +<DL> +<DD>Test LogSF.log with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogFloat()"><!-- --></A><H3> +testLogFloat</H3> +<PRE> +public void <B>testLogFloat</B>()</PRE> +<DL> +<DD>Test LogSF.log with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogDouble()"><!-- --></A><H3> +testLogDouble</H3> +<PRE> +public void <B>testLogDouble</B>()</PRE> +<DL> +<DD>Test LogSF.log with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogTwoArg()"><!-- --></A><H3> +testLogTwoArg</H3> +<PRE> +public void <B>testLogTwoArg</B>()</PRE> +<DL> +<DD>Test LogSF.log with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogThreeArg()"><!-- --></A><H3> +testLogThreeArg</H3> +<PRE> +public void <B>testLogThreeArg</B>()</PRE> +<DL> +<DD>Test LogSF.log with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogFourArg()"><!-- --></A><H3> +testLogFourArg</H3> +<PRE> +public void <B>testLogFourArg</B>()</PRE> +<DL> +<DD>Test LogSF.log with four arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogArrayArg()"><!-- --></A><H3> +testLogArrayArg</H3> +<PRE> +public void <B>testLogArrayArg</B>()</PRE> +<DL> +<DD>Test LogSF.log with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbNullBundle()"><!-- --></A><H3> +testLogrbNullBundle</H3> +<PRE> +public void <B>testLogrbNullBundle</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with null bundle name. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbNullKey()"><!-- --></A><H3> +testLogrbNullKey</H3> +<PRE> +public void <B>testLogrbNullKey</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with null key. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbNoArg()"><!-- --></A><H3> +testLogrbNoArg</H3> +<PRE> +public void <B>testLogrbNoArg</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with no-field pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbBadPattern()"><!-- --></A><H3> +testLogrbBadPattern</H3> +<PRE> +public void <B>testLogrbBadPattern</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with malformed pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbMissingArg()"><!-- --></A><H3> +testLogrbMissingArg</H3> +<PRE> +public void <B>testLogrbMissingArg</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with missing argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbString()"><!-- --></A><H3> +testLogrbString</H3> +<PRE> +public void <B>testLogrbString</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with single field pattern with string argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbNull()"><!-- --></A><H3> +testLogrbNull</H3> +<PRE> +public void <B>testLogrbNull</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with single field pattern with null argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbInt()"><!-- --></A><H3> +testLogrbInt</H3> +<PRE> +public void <B>testLogrbInt</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with single field pattern with int argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbByte()"><!-- --></A><H3> +testLogrbByte</H3> +<PRE> +public void <B>testLogrbByte</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with single field pattern with byte argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbShort()"><!-- --></A><H3> +testLogrbShort</H3> +<PRE> +public void <B>testLogrbShort</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with single field pattern with short argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbLong()"><!-- --></A><H3> +testLogrbLong</H3> +<PRE> +public void <B>testLogrbLong</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with single field pattern with long argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbChar()"><!-- --></A><H3> +testLogrbChar</H3> +<PRE> +public void <B>testLogrbChar</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with single field pattern with char argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbBoolean()"><!-- --></A><H3> +testLogrbBoolean</H3> +<PRE> +public void <B>testLogrbBoolean</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with single field pattern with boolean argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbFloat()"><!-- --></A><H3> +testLogrbFloat</H3> +<PRE> +public void <B>testLogrbFloat</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with single field pattern with float argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbDouble()"><!-- --></A><H3> +testLogrbDouble</H3> +<PRE> +public void <B>testLogrbDouble</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with single field pattern with double argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbTwoArg()"><!-- --></A><H3> +testLogrbTwoArg</H3> +<PRE> +public void <B>testLogrbTwoArg</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with two arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbThreeArg()"><!-- --></A><H3> +testLogrbThreeArg</H3> +<PRE> +public void <B>testLogrbThreeArg</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with three arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbFourArg()"><!-- --></A><H3> +testLogrbFourArg</H3> +<PRE> +public void <B>testLogrbFourArg</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with four arguments. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testLogrbArrayArg()"><!-- --></A><H3> +testLogrbArrayArg</H3> +<PRE> +public void <B>testLogrbArrayArg</B>()</PRE> +<DL> +<DD>Test LogSF.logrb with Object[] argument. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testEscapeOneParam()"><!-- --></A><H3> +testEscapeOneParam</H3> +<PRE> +public void <B>testEscapeOneParam</B>()</PRE> +<DL> +<DD>Test \\{ escape sequence when only one parameter is present. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testEscapeTwoParam()"><!-- --></A><H3> +testEscapeTwoParam</H3> +<PRE> +public void <B>testEscapeTwoParam</B>()</PRE> +<DL> +<DD>Test \\{ escape sequence when more than one parameter is present. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TestLogSF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/TestLogSF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogSF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogXF.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogXF.html new file mode 100644 index 00000000000..dd5624497fe --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/TestLogXF.html @@ -0,0 +1,583 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TestLogXF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TestLogXF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TestLogXF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/TestLogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class TestLogXF</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.TestLogXF</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TestLogXF</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Unit test for LogXF. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#TestLogXF(java.lang.String)">TestLogXF</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create the test case</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Post test clean up.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testEntering()">testEntering</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.entering with class and method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testEnteringNullNull()">testEnteringNullNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.entering with null class and method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testEnteringNullNullNull()">testEnteringNullNullNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.entering with null class, method and parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testEnteringNullNullNullArray()">testEnteringNullNullNullArray</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.entering with null class, method and parameters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testEnteringWithBadParam()">testEnteringWithBadParam</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.entering with class, method and bad parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testEnteringWithBadParams()">testEnteringWithBadParams</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.entering with class, method and bad parameters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testEnteringWithParam()">testEnteringWithParam</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.entering with class, method and parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testExiting()">testExiting</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.exiting with class and method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testExitingNullNull()">testExitingNullNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.exiting with null class and method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testExitingNullNullNull()">testExitingNullNullNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.exiting with null class, method and parameter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testExitingWithBadValue()">testExitingWithBadValue</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.exiting with class, method and bad return value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testExitingWithValue()">testExitingWithValue</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.exiting with class, method and return value.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testThrowing()">testThrowing</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.exiting with class and method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/TestLogXF.html#testThrowingNullNullNull()">testThrowingNullNullNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test LogXF.throwing with null class, method and throwable.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TestLogXF(java.lang.String)"><!-- --></A><H3> +TestLogXF</H3> +<PRE> +public <B>TestLogXF</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create the test case +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - name of the test case</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +public void <B>tearDown</B>()</PRE> +<DL> +<DD>Post test clean up. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testEnteringNullNull()"><!-- --></A><H3> +testEnteringNullNull</H3> +<PRE> +public void <B>testEnteringNullNull</B>()</PRE> +<DL> +<DD>Test LogXF.entering with null class and method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testEnteringNullNullNull()"><!-- --></A><H3> +testEnteringNullNullNull</H3> +<PRE> +public void <B>testEnteringNullNullNull</B>()</PRE> +<DL> +<DD>Test LogXF.entering with null class, method and parameter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testEnteringNullNullNullArray()"><!-- --></A><H3> +testEnteringNullNullNullArray</H3> +<PRE> +public void <B>testEnteringNullNullNullArray</B>()</PRE> +<DL> +<DD>Test LogXF.entering with null class, method and parameters. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testEntering()"><!-- --></A><H3> +testEntering</H3> +<PRE> +public void <B>testEntering</B>()</PRE> +<DL> +<DD>Test LogXF.entering with class and method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testEnteringWithParam()"><!-- --></A><H3> +testEnteringWithParam</H3> +<PRE> +public void <B>testEnteringWithParam</B>()</PRE> +<DL> +<DD>Test LogXF.entering with class, method and parameter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testEnteringWithBadParam()"><!-- --></A><H3> +testEnteringWithBadParam</H3> +<PRE> +public void <B>testEnteringWithBadParam</B>()</PRE> +<DL> +<DD>Test LogXF.entering with class, method and bad parameter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testEnteringWithBadParams()"><!-- --></A><H3> +testEnteringWithBadParams</H3> +<PRE> +public void <B>testEnteringWithBadParams</B>()</PRE> +<DL> +<DD>Test LogXF.entering with class, method and bad parameters. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testExitingNullNull()"><!-- --></A><H3> +testExitingNullNull</H3> +<PRE> +public void <B>testExitingNullNull</B>()</PRE> +<DL> +<DD>Test LogXF.exiting with null class and method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testExitingNullNullNull()"><!-- --></A><H3> +testExitingNullNullNull</H3> +<PRE> +public void <B>testExitingNullNullNull</B>()</PRE> +<DL> +<DD>Test LogXF.exiting with null class, method and parameter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testExiting()"><!-- --></A><H3> +testExiting</H3> +<PRE> +public void <B>testExiting</B>()</PRE> +<DL> +<DD>Test LogXF.exiting with class and method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testExitingWithValue()"><!-- --></A><H3> +testExitingWithValue</H3> +<PRE> +public void <B>testExitingWithValue</B>()</PRE> +<DL> +<DD>Test LogXF.exiting with class, method and return value. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testExitingWithBadValue()"><!-- --></A><H3> +testExitingWithBadValue</H3> +<PRE> +public void <B>testExitingWithBadValue</B>()</PRE> +<DL> +<DD>Test LogXF.exiting with class, method and bad return value. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testThrowingNullNullNull()"><!-- --></A><H3> +testThrowingNullNullNull</H3> +<PRE> +public void <B>testThrowingNullNullNull</B>()</PRE> +<DL> +<DD>Test LogXF.throwing with null class, method and throwable. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testThrowing()"><!-- --></A><H3> +testThrowing</H3> +<PRE> +public void <B>testThrowing</B>()</PRE> +<DL> +<DD>Test LogXF.exiting with class and method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TestLogXF.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/TestLogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/VectorAppender.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/VectorAppender.html new file mode 100644 index 00000000000..3a19b66b8aa --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/VectorAppender.html @@ -0,0 +1,422 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +VectorAppender (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="VectorAppender (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/VectorAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/VectorAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="VectorAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j</FONT> +<BR> +Class VectorAppender</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true" title="class or interface in org.apache.log4j">org.apache.log4j.AppenderSkeleton</A> + <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.VectorAppender</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../apidocs/org/apache/log4j/Appender.html?is-external=true" title="class or interface in org.apache.log4j">Appender</A>, <A HREF="../../../../apidocs/org/apache/log4j/spi/OptionHandler.html?is-external=true" title="class or interface in org.apache.log4j.spi">OptionHandler</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>VectorAppender</B><DT>extends <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true" title="class or interface in org.apache.log4j">AppenderSkeleton</A></DL> +</PRE> + +<P> +An appender that appends logging events to a vector. +<P> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.util.Vector</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/VectorAppender.html#vector">vector</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true" title="class or interface in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#closed" title="class or interface in org.apache.log4j">closed</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#errorHandler" title="class or interface in org.apache.log4j">errorHandler</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#headFilter" title="class or interface in org.apache.log4j">headFilter</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#layout" title="class or interface in org.apache.log4j">layout</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#name" title="class or interface in org.apache.log4j">name</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#tailFilter" title="class or interface in org.apache.log4j">tailFilter</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#threshold" title="class or interface in org.apache.log4j">threshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/apache/log4j/VectorAppender.html#VectorAppender()">VectorAppender</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/VectorAppender.html#activateOptions()">activateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/VectorAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</A></B>(<A HREF="../../../../apidocs/org/apache/log4j/spi/LoggingEvent.html?is-external=true" title="class or interface in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called by the <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#doAppend(org.apache.log4j.spi.LoggingEvent)" title="class or interface in org.apache.log4j"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> + method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/VectorAppender.html#close()">close</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.util.Vector</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/VectorAppender.html#getVector()">getVector</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/VectorAppender.html#isClosed()">isClosed</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/apache/log4j/VectorAppender.html#requiresLayout()">requiresLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true" title="class or interface in org.apache.log4j">AppenderSkeleton</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#addFilter(org.apache.log4j.spi.Filter)" title="class or interface in org.apache.log4j">addFilter</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#clearFilters()" title="class or interface in org.apache.log4j">clearFilters</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#doAppend(org.apache.log4j.spi.LoggingEvent)" title="class or interface in org.apache.log4j">doAppend</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#finalize()" title="class or interface in org.apache.log4j">finalize</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#getErrorHandler()" title="class or interface in org.apache.log4j">getErrorHandler</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#getFilter()" title="class or interface in org.apache.log4j">getFilter</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#getFirstFilter()" title="class or interface in org.apache.log4j">getFirstFilter</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#getLayout()" title="class or interface in org.apache.log4j">getLayout</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#getName()" title="class or interface in org.apache.log4j">getName</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#getThreshold()" title="class or interface in org.apache.log4j">getThreshold</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#isAsSevereAsThreshold(org.apache.log4j.Priority)" title="class or interface in org.apache.log4j">isAsSevereAsThreshold</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#setErrorHandler(org.apache.log4j.spi.ErrorHandler)" title="class or interface in org.apache.log4j">setErrorHandler</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#setLayout(org.apache.log4j.Layout)" title="class or interface in org.apache.log4j">setLayout</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#setName(java.lang.String)" title="class or interface in org.apache.log4j">setName</A>, <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#setThreshold(org.apache.log4j.Priority)" title="class or interface in org.apache.log4j">setThreshold</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="vector"><!-- --></A><H3> +vector</H3> +<PRE> +public java.util.Vector <B>vector</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="VectorAppender()"><!-- --></A><H3> +VectorAppender</H3> +<PRE> +public <B>VectorAppender</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="activateOptions()"><!-- --></A><H3> +activateOptions</H3> +<PRE> +public void <B>activateOptions</B>()</PRE> +<DL> +<DD>Does nothing. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../apidocs/org/apache/log4j/spi/OptionHandler.html?is-external=true#activateOptions()" title="class or interface in org.apache.log4j.spi">activateOptions</A></CODE> in interface <CODE><A HREF="../../../../apidocs/org/apache/log4j/spi/OptionHandler.html?is-external=true" title="class or interface in org.apache.log4j.spi">OptionHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#activateOptions()" title="class or interface in org.apache.log4j">activateOptions</A></CODE> in class <CODE><A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true" title="class or interface in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="append(org.apache.log4j.spi.LoggingEvent)"><!-- --></A><H3> +append</H3> +<PRE> +public void <B>append</B>(<A HREF="../../../../apidocs/org/apache/log4j/spi/LoggingEvent.html?is-external=true" title="class or interface in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event)</PRE> +<DL> +<DD>This method is called by the <A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#doAppend(org.apache.log4j.spi.LoggingEvent)" title="class or interface in org.apache.log4j"><CODE>AppenderSkeleton.doAppend(org.apache.log4j.spi.LoggingEvent)</CODE></A> + method. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true#append(org.apache.log4j.spi.LoggingEvent)" title="class or interface in org.apache.log4j">append</A></CODE> in class <CODE><A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true" title="class or interface in org.apache.log4j">AppenderSkeleton</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getVector()"><!-- --></A><H3> +getVector</H3> +<PRE> +public java.util.Vector <B>getVector</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="close()"><!-- --></A><H3> +close</H3> +<PRE> +public void <B>close</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="isClosed()"><!-- --></A><H3> +isClosed</H3> +<PRE> +public boolean <B>isClosed</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="requiresLayout()"><!-- --></A><H3> +requiresLayout</H3> +<PRE> +public boolean <B>requiresLayout</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/VectorAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/VectorAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="VectorAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedMyPatternLayout.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedMyPatternLayout.html new file mode 100644 index 00000000000..89884124bfa --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedMyPatternLayout.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.EnhancedMyPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.EnhancedMyPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedMyPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedMyPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.EnhancedMyPatternLayout</B></H2> +</CENTER> +No usage of org.apache.log4j.EnhancedMyPatternLayout +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedMyPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedMyPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTest.DerivedPatternLayout.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTest.DerivedPatternLayout.html new file mode 100644 index 00000000000..b53d3bb4a32 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTest.DerivedPatternLayout.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.EnhancedPatternLayoutTest.DerivedPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.EnhancedPatternLayoutTest.DerivedPatternLayout (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedPatternLayoutTest.DerivedPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTest.DerivedPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.EnhancedPatternLayoutTest.DerivedPatternLayout</B></H2> +</CENTER> +No usage of org.apache.log4j.EnhancedPatternLayoutTest.DerivedPatternLayout +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedPatternLayoutTest.DerivedPatternLayout.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTest.DerivedPatternLayout.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTest.html new file mode 100644 index 00000000000..44f8b03aabb --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.EnhancedPatternLayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.EnhancedPatternLayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedPatternLayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.EnhancedPatternLayoutTest</B></H2> +</CENTER> +No usage of org.apache.log4j.EnhancedPatternLayoutTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedPatternLayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTestCase.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTestCase.html new file mode 100644 index 00000000000..1f1bb2d7874 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/EnhancedPatternLayoutTestCase.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.EnhancedPatternLayoutTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.EnhancedPatternLayoutTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedPatternLayoutTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.EnhancedPatternLayoutTestCase</B></H2> +</CENTER> +No usage of org.apache.log4j.EnhancedPatternLayoutTestCase +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useEnhancedPatternLayoutTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EnhancedPatternLayoutTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/LayoutTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/LayoutTest.html new file mode 100644 index 00000000000..2518c54d8b2 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/LayoutTest.html @@ -0,0 +1,210 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.LayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.LayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.LayoutTest</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> in <A HREF="../../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test for EnhancedPatternLayout.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A> in <A HREF="../../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test for XSLTLayout.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/LogCapture.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/LogCapture.html new file mode 100644 index 00000000000..5cb968a52bb --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/LogCapture.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.LogCapture (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.LogCapture (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogCapture.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogCapture.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogCapture.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.LogCapture</B></H2> +</CENTER> +No usage of org.apache.log4j.LogCapture +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/LogCapture.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useLogCapture.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LogCapture.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/MyPatternParser.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/MyPatternParser.html new file mode 100644 index 00000000000..40f56bb9dbd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/MyPatternParser.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.MyPatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.MyPatternParser (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useMyPatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MyPatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.MyPatternParser</B></H2> +</CENTER> +No usage of org.apache.log4j.MyPatternParser +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useMyPatternParser.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MyPatternParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogMF.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogMF.html new file mode 100644 index 00000000000..00605e46add --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogMF.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.TestLogMF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.TestLogMF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useTestLogMF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogMF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.TestLogMF</B></H2> +</CENTER> +No usage of org.apache.log4j.TestLogMF +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useTestLogMF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogMF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogSF.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogSF.html new file mode 100644 index 00000000000..43f3aecd1fd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogSF.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.TestLogSF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.TestLogSF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useTestLogSF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogSF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.TestLogSF</B></H2> +</CENTER> +No usage of org.apache.log4j.TestLogSF +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useTestLogSF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogSF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogXF.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogXF.html new file mode 100644 index 00000000000..cb48aec42e2 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/TestLogXF.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.TestLogXF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.TestLogXF (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useTestLogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.TestLogXF</B></H2> +</CENTER> +No usage of org.apache.log4j.TestLogXF +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useTestLogXF.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TestLogXF.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/VectorAppender.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/VectorAppender.html new file mode 100644 index 00000000000..c414dcdedfa --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/class-use/VectorAppender.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.VectorAppender (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.VectorAppender (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useVectorAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="VectorAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.VectorAppender</B></H2> +</CENTER> +No usage of org.apache.log4j.VectorAppender +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j//class-useVectorAppender.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="VectorAppender.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/AndFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/AndFilterTest.html new file mode 100644 index 00000000000..ac449547de6 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/AndFilterTest.html @@ -0,0 +1,403 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AndFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AndFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AndFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/AndFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AndFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.filter</FONT> +<BR> +Class AndFilterTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.filter.AndFilterTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>AndFilterTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Unit tests for AndFilter. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html#AndFilterTest(java.lang.String)">AndFilterTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that AndFilter.decide() returns Filter.ACCEPT if no filters added.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that AndFilter.decide() returns Filter.ACCEPT if + only nested filter returns Filter.ACCEPT.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that AndFilter.decide() returns Filter.ACCEPT if + two nested filters return Filter.ACCEPT.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that AndFilter.decide() returns Filter.DENY if + only nested filter returns Filter.ACCEPT + and acceptOnMatch is false.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that AndFilter.decide() returns Filter.NEUTRAL if + nested filters return Filter.ACCEPT and Filter.DENY.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that AndFilter.decide() returns Filter.NEUTRAL if + nested filters return Filter.ACCEPT and Filter.NEUTRAL.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AndFilterTest(java.lang.String)"><!-- --></A><H3> +AndFilterTest</H3> +<PRE> +public <B>AndFilterTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +<DD>Create new test instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Check that AndFilter.decide() returns Filter.ACCEPT if no filters added. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>Check that AndFilter.decide() returns Filter.ACCEPT if + only nested filter returns Filter.ACCEPT. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>Check that AndFilter.decide() returns Filter.ACCEPT if + two nested filters return Filter.ACCEPT. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>Check that AndFilter.decide() returns Filter.DENY if + only nested filter returns Filter.ACCEPT + and acceptOnMatch is false. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>Check that AndFilter.decide() returns Filter.NEUTRAL if + nested filters return Filter.ACCEPT and Filter.DENY. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>()</PRE> +<DL> +<DD>Check that AndFilter.decide() returns Filter.NEUTRAL if + nested filters return Filter.ACCEPT and Filter.NEUTRAL. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AndFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/AndFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AndFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/DenyAllFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/DenyAllFilterTest.html new file mode 100644 index 00000000000..750280d4c91 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/DenyAllFilterTest.html @@ -0,0 +1,286 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +DenyAllFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="DenyAllFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DenyAllFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/DenyAllFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DenyAllFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.filter</FONT> +<BR> +Class DenyAllFilterTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.filter.DenyAllFilterTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>DenyAllFilterTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Unit tests for DenyAllFilter. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/DenyAllFilterTest.html#DenyAllFilterTest(java.lang.String)">DenyAllFilterTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/DenyAllFilterTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that DenyAllFilter.decide() returns Filter.DENY.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="DenyAllFilterTest(java.lang.String)"><!-- --></A><H3> +DenyAllFilterTest</H3> +<PRE> +public <B>DenyAllFilterTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +<DD>Create new test instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Check that DenyAllFilter.decide() returns Filter.DENY. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DenyAllFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/DenyAllFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DenyAllFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LevelMatchFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LevelMatchFilterTest.html new file mode 100644 index 00000000000..3e0d1ad5298 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LevelMatchFilterTest.html @@ -0,0 +1,378 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LevelMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LevelMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelMatchFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/LevelMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.filter</FONT> +<BR> +Class LevelMatchFilterTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.filter.LevelMatchFilterTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LevelMatchFilterTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Unit tests for LevelMatchFilter. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html#LevelMatchFilterTest(java.lang.String)">LevelMatchFilterTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelMatchFilter.decide() returns Filter.ACCEPT when level matches.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelMatchFilter.decide() returns Filter.DENY + when level matches and acceptOnMatch = false.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + when levelToMatch is unspecified.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + when event level is higher than level to match.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + when event level is lower than level to match.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LevelMatchFilterTest(java.lang.String)"><!-- --></A><H3> +LevelMatchFilterTest</H3> +<PRE> +public <B>LevelMatchFilterTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +<DD>Create new test instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Check that LevelMatchFilter.decide() returns Filter.ACCEPT when level matches. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>Check that LevelMatchFilter.decide() returns Filter.DENY + when level matches and acceptOnMatch = false. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + when levelToMatch is unspecified. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + when event level is higher than level to match. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + when event level is lower than level to match. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelMatchFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/LevelMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LevelRangeFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LevelRangeFilterTest.html new file mode 100644 index 00000000000..44c6a591739 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LevelRangeFilterTest.html @@ -0,0 +1,403 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LevelRangeFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LevelRangeFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelRangeFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/LevelRangeFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelRangeFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.filter</FONT> +<BR> +Class LevelRangeFilterTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.filter.LevelRangeFilterTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LevelRangeFilterTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Unit tests for LevelRangeFilter. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html#LevelRangeFilterTest(java.lang.String)">LevelRangeFilterTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelRangeFilter.decide() returns Filter.DENY + when event level is below min level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelRangeFilter.decide() returns Filter.DENY + when event level is above max level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelRangeFilter.decide() returns Filter.ACCEPT + when event level is above min level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelRangeFilter.decide() returns Filter.ACCEPT + when event level is below max level.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelRangeFilter.decide() returns Filter.NEUTRAL + when event level is above min level and accept on match is false.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LevelRangeFilter.decide() returns Filter.NEUTRAL + when event level is below max level and accept on match is false.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LevelRangeFilterTest(java.lang.String)"><!-- --></A><H3> +LevelRangeFilterTest</H3> +<PRE> +public <B>LevelRangeFilterTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +<DD>Create new test instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Check that LevelRangeFilter.decide() returns Filter.DENY + when event level is below min level. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>Check that LevelRangeFilter.decide() returns Filter.DENY + when event level is above max level. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>Check that LevelRangeFilter.decide() returns Filter.ACCEPT + when event level is above min level. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>Check that LevelRangeFilter.decide() returns Filter.ACCEPT + when event level is below max level. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>Check that LevelRangeFilter.decide() returns Filter.NEUTRAL + when event level is above min level and accept on match is false. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>()</PRE> +<DL> +<DD>Check that LevelRangeFilter.decide() returns Filter.NEUTRAL + when event level is below max level and accept on match is false. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelRangeFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/LevelRangeFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelRangeFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LoggerMatchFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LoggerMatchFilterTest.html new file mode 100644 index 00000000000..d88cf68bf21 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/LoggerMatchFilterTest.html @@ -0,0 +1,357 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LoggerMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LoggerMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggerMatchFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/LoggerMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.filter</FONT> +<BR> +Class LoggerMatchFilterTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.filter.LoggerMatchFilterTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LoggerMatchFilterTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Unit tests for LoggerMatchFilter. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html#LoggerMatchFilterTest(java.lang.String)">LoggerMatchFilterTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LoggerMatchFilter.decide() with unspecified level + returns Filter.ACCEPT for root logger.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LoggerMatchFilter.decide() with unspecified level + returns Filter.DENY for root logger when accept on match is false.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LoggerMatchFilter.decide() with unspecified level + returns Filter.NEUTRAL for non-root logger.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that LoggerMatchFilter.decide() + returns Filter.ACCEPT for matching logger.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LoggerMatchFilterTest(java.lang.String)"><!-- --></A><H3> +LoggerMatchFilterTest</H3> +<PRE> +public <B>LoggerMatchFilterTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +<DD>Create new test instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Check that LoggerMatchFilter.decide() with unspecified level + returns Filter.ACCEPT for root logger. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>Check that LoggerMatchFilter.decide() with unspecified level + returns Filter.DENY for root logger when accept on match is false. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>Check that LoggerMatchFilter.decide() with unspecified level + returns Filter.NEUTRAL for non-root logger. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>Check that LoggerMatchFilter.decide() + returns Filter.ACCEPT for matching logger. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LoggerMatchFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/LoggerMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/SimpleFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/SimpleFilterTest.html new file mode 100644 index 00000000000..dbffc5849ec --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/SimpleFilterTest.html @@ -0,0 +1,540 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SimpleFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SimpleFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/SimpleFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.filter</FONT> +<BR> +Class SimpleFilterTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.filter.SimpleFilterTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SimpleFilterTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Various tests verifying that filters work properly and that + JoranConfigurator can effectively parse config files containing them. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki Gulcu</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#FILTERED">FILTERED</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#TEMP">TEMP</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#SimpleFilterTest(java.lang.String)">SimpleFilterTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#setUp()">setUp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#test10()">test10</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#test11()">test11</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#test12()">test12</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#test7()">test7</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#test8()">test8</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html#test9()">test9</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FILTERED"><!-- --></A><H3> +FILTERED</H3> +<PRE> +public static final java.lang.String <B>FILTERED</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.filter.SimpleFilterTest.FILTERED">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="TEMP"><!-- --></A><H3> +TEMP</H3> +<PRE> +public static final java.lang.String <B>TEMP</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.filter.SimpleFilterTest.TEMP">Constant Field Values</A></DL> +</DL> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SimpleFilterTest(java.lang.String)"><!-- --></A><H3> +SimpleFilterTest</H3> +<PRE> +public <B>SimpleFilterTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setUp()"><!-- --></A><H3> +setUp</H3> +<PRE> +public void <B>setUp</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>setUp</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +public void <B>tearDown</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test7()"><!-- --></A><H3> +test7</H3> +<PRE> +public void <B>test7</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test8()"><!-- --></A><H3> +test8</H3> +<PRE> +public void <B>test8</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test9()"><!-- --></A><H3> +test9</H3> +<PRE> +public void <B>test9</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test10()"><!-- --></A><H3> +test10</H3> +<PRE> +public void <B>test10</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test11()"><!-- --></A><H3> +test11</H3> +<PRE> +public void <B>test11</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test12()"><!-- --></A><H3> +test12</H3> +<PRE> +public void <B>test12</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/SimpleFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/StringMatchFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/StringMatchFilterTest.html new file mode 100644 index 00000000000..faf076713fc --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/StringMatchFilterTest.html @@ -0,0 +1,382 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +StringMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="StringMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StringMatchFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/StringMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StringMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.filter</FONT> +<BR> +Class StringMatchFilterTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.filter.StringMatchFilterTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>StringMatchFilterTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Unit tests for StringMatchFilter. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html#StringMatchFilterTest(java.lang.String)">StringMatchFilterTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that StringMatchFilter.decide() returns Filter.NEUTRAL + when string to match is unspecified.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that StringMatchFilter.decide() returns Filter.NEUTRAL + when string to match does not appear in message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that StringMatchFilter.decide() returns Filter.ACCEPT + when string to match does appear in message.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that StringMatchFilter.decide() returns Filter.DENY + when string to match does appear in message and + accept on match is false.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that StringMatchFilter.decide() returns Filter.NEUTRAL + when string to match does appear in message but differs in case.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="StringMatchFilterTest(java.lang.String)"><!-- --></A><H3> +StringMatchFilterTest</H3> +<PRE> +public <B>StringMatchFilterTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +<DD>Create new test instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Check that StringMatchFilter.decide() returns Filter.NEUTRAL + when string to match is unspecified. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>Check that StringMatchFilter.decide() returns Filter.NEUTRAL + when string to match does not appear in message. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>Check that StringMatchFilter.decide() returns Filter.ACCEPT + when string to match does appear in message. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>Check that StringMatchFilter.decide() returns Filter.DENY + when string to match does appear in message and + accept on match is false. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>Check that StringMatchFilter.decide() returns Filter.NEUTRAL + when string to match does appear in message but differs in case. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StringMatchFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/StringMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StringMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/TimeFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/TimeFilterTest.html new file mode 100644 index 00000000000..3637db51ae3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/TimeFilterTest.html @@ -0,0 +1,565 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TimeFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TimeFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TimeFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/TimeFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimeFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.filter</FONT> +<BR> +Class TimeFilterTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.filter.TimeFilterTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TimeFilterTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Tests for TimeFilter. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#TimeFilterTest(java.lang.String)">TimeFilterTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test2AMGMT()">test2AMGMT</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 2 AM UTC today event against 2 AM - 3 AM GMT filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test2AMLocal()">test2AMLocal</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 2 AM local today event against 2 AM - 3 AM local time filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test2AMLocalLastWeek()">test2AMLocalLastWeek</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 2 AM local last week event against 2 AM - 3 AM local time filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test2AMLocalNextWeek()">test2AMLocalNextWeek</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 2 AM local next week event against 2 AM - 3 AM local time filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test2AMLocalTomorrow()">test2AMLocalTomorrow</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 2 AM local tomorrow event against 2 AM - 3 AM local time filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test2AMLocalYesterday()">test2AMLocalYesterday</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 2 AM local yesterday event against 2 AM - 3 AM local time filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test3AMGMT()">test3AMGMT</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 3 AM UTC today event against 2 AM - 3 AM GMT filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test3AMLocal()">test3AMLocal</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 3 AM local today event against 2 AM - 3 AM local time filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test3AMLocalLastWeek()">test3AMLocalLastWeek</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 3 AM local last week event against 2 AM - 3 AM local time filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test3AMLocalNextWeek()">test3AMLocalNextWeek</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 3 AM local next week event against 2 AM - 3 AM local time filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test3AMLocalTomorrow()">test3AMLocalTomorrow</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 3 AM local tomorrow event against 2 AM - 3 AM local time filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#test3AMLocalYesterday()">test3AMLocalYesterday</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 3 AM local yesterday event against 2 AM - 3 AM local time filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#testConfig1()">testConfig1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 2 AM-3AM local time accept on match filter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html#testConfig2()">testConfig2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test 2 AM-3AM UTC reject on match filter.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TimeFilterTest(java.lang.String)"><!-- --></A><H3> +TimeFilterTest</H3> +<PRE> +public <B>TimeFilterTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Construct new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test2AMLocal()"><!-- --></A><H3> +test2AMLocal</H3> +<PRE> +public void <B>test2AMLocal</B>()</PRE> +<DL> +<DD>Test 2 AM local today event against 2 AM - 3 AM local time filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2AMLocalYesterday()"><!-- --></A><H3> +test2AMLocalYesterday</H3> +<PRE> +public void <B>test2AMLocalYesterday</B>()</PRE> +<DL> +<DD>Test 2 AM local yesterday event against 2 AM - 3 AM local time filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2AMLocalTomorrow()"><!-- --></A><H3> +test2AMLocalTomorrow</H3> +<PRE> +public void <B>test2AMLocalTomorrow</B>()</PRE> +<DL> +<DD>Test 2 AM local tomorrow event against 2 AM - 3 AM local time filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2AMLocalLastWeek()"><!-- --></A><H3> +test2AMLocalLastWeek</H3> +<PRE> +public void <B>test2AMLocalLastWeek</B>()</PRE> +<DL> +<DD>Test 2 AM local last week event against 2 AM - 3 AM local time filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2AMLocalNextWeek()"><!-- --></A><H3> +test2AMLocalNextWeek</H3> +<PRE> +public void <B>test2AMLocalNextWeek</B>()</PRE> +<DL> +<DD>Test 2 AM local next week event against 2 AM - 3 AM local time filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3AMLocal()"><!-- --></A><H3> +test3AMLocal</H3> +<PRE> +public void <B>test3AMLocal</B>()</PRE> +<DL> +<DD>Test 3 AM local today event against 2 AM - 3 AM local time filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3AMLocalYesterday()"><!-- --></A><H3> +test3AMLocalYesterday</H3> +<PRE> +public void <B>test3AMLocalYesterday</B>()</PRE> +<DL> +<DD>Test 3 AM local yesterday event against 2 AM - 3 AM local time filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3AMLocalTomorrow()"><!-- --></A><H3> +test3AMLocalTomorrow</H3> +<PRE> +public void <B>test3AMLocalTomorrow</B>()</PRE> +<DL> +<DD>Test 3 AM local tomorrow event against 2 AM - 3 AM local time filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3AMLocalLastWeek()"><!-- --></A><H3> +test3AMLocalLastWeek</H3> +<PRE> +public void <B>test3AMLocalLastWeek</B>()</PRE> +<DL> +<DD>Test 3 AM local last week event against 2 AM - 3 AM local time filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3AMLocalNextWeek()"><!-- --></A><H3> +test3AMLocalNextWeek</H3> +<PRE> +public void <B>test3AMLocalNextWeek</B>()</PRE> +<DL> +<DD>Test 3 AM local next week event against 2 AM - 3 AM local time filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2AMGMT()"><!-- --></A><H3> +test2AMGMT</H3> +<PRE> +public void <B>test2AMGMT</B>()</PRE> +<DL> +<DD>Test 2 AM UTC today event against 2 AM - 3 AM GMT filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3AMGMT()"><!-- --></A><H3> +test3AMGMT</H3> +<PRE> +public void <B>test3AMGMT</B>()</PRE> +<DL> +<DD>Test 3 AM UTC today event against 2 AM - 3 AM GMT filter. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testConfig1()"><!-- --></A><H3> +testConfig1</H3> +<PRE> +public void <B>testConfig1</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test 2 AM-3AM local time accept on match filter. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE> - if IO exception.</DL> +</DD> +</DL> +<HR> + +<A NAME="testConfig2()"><!-- --></A><H3> +testConfig2</H3> +<PRE> +public void <B>testConfig2</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test 2 AM-3AM UTC reject on match filter. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE> - if IO exception.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TimeFilterTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/TimeFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimeFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/AndFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/AndFilterTest.html new file mode 100644 index 00000000000..a203fb94cd6 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/AndFilterTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.filter.AndFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.filter.AndFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useAndFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AndFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.filter.AndFilterTest</B></H2> +</CENTER> +No usage of org.apache.log4j.filter.AndFilterTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useAndFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AndFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/DenyAllFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/DenyAllFilterTest.html new file mode 100644 index 00000000000..83ff8e92278 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/DenyAllFilterTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.filter.DenyAllFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.filter.DenyAllFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useDenyAllFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DenyAllFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.filter.DenyAllFilterTest</B></H2> +</CENTER> +No usage of org.apache.log4j.filter.DenyAllFilterTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useDenyAllFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="DenyAllFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LevelMatchFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LevelMatchFilterTest.html new file mode 100644 index 00000000000..af29dc1dc00 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LevelMatchFilterTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.filter.LevelMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.filter.LevelMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useLevelMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.filter.LevelMatchFilterTest</B></H2> +</CENTER> +No usage of org.apache.log4j.filter.LevelMatchFilterTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useLevelMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LevelRangeFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LevelRangeFilterTest.html new file mode 100644 index 00000000000..79a865c388f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LevelRangeFilterTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.filter.LevelRangeFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.filter.LevelRangeFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useLevelRangeFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelRangeFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.filter.LevelRangeFilterTest</B></H2> +</CENTER> +No usage of org.apache.log4j.filter.LevelRangeFilterTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useLevelRangeFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelRangeFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LoggerMatchFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LoggerMatchFilterTest.html new file mode 100644 index 00000000000..55e41e86deb --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/LoggerMatchFilterTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.filter.LoggerMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.filter.LoggerMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useLoggerMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.filter.LoggerMatchFilterTest</B></H2> +</CENTER> +No usage of org.apache.log4j.filter.LoggerMatchFilterTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useLoggerMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LoggerMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/SimpleFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/SimpleFilterTest.html new file mode 100644 index 00000000000..a2f4081e74d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/SimpleFilterTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.filter.SimpleFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.filter.SimpleFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useSimpleFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.filter.SimpleFilterTest</B></H2> +</CENTER> +No usage of org.apache.log4j.filter.SimpleFilterTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useSimpleFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SimpleFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/StringMatchFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/StringMatchFilterTest.html new file mode 100644 index 00000000000..1ad852eef89 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/StringMatchFilterTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.filter.StringMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.filter.StringMatchFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useStringMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StringMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.filter.StringMatchFilterTest</B></H2> +</CENTER> +No usage of org.apache.log4j.filter.StringMatchFilterTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useStringMatchFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="StringMatchFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/TimeFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/TimeFilterTest.html new file mode 100644 index 00000000000..ccb1ff2aa64 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/class-use/TimeFilterTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.filter.TimeFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.filter.TimeFilterTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useTimeFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimeFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.filter.TimeFilterTest</B></H2> +</CENTER> +No usage of org.apache.log4j.filter.TimeFilterTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/filter//class-useTimeFilterTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimeFilterTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-frame.html new file mode 100644 index 00000000000..1db187e1544 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-frame.html @@ -0,0 +1,47 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/filter/package-summary.html" target="classFrame">org.apache.log4j.filter</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="AndFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">AndFilterTest</A> +<BR> +<A HREF="DenyAllFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">DenyAllFilterTest</A> +<BR> +<A HREF="LevelMatchFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">LevelMatchFilterTest</A> +<BR> +<A HREF="LevelRangeFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">LevelRangeFilterTest</A> +<BR> +<A HREF="LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">LoggerMatchFilterTest</A> +<BR> +<A HREF="SimpleFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">SimpleFilterTest</A> +<BR> +<A HREF="StringMatchFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">StringMatchFilterTest</A> +<BR> +<A HREF="TimeFilterTest.html" title="class in org.apache.log4j.filter" target="classFrame">TimeFilterTest</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-summary.html new file mode 100644 index 00000000000..7607f0225a8 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-summary.html @@ -0,0 +1,187 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.filter +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter">AndFilterTest</A></B></TD> +<TD>Unit tests for AndFilter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter">DenyAllFilterTest</A></B></TD> +<TD>Unit tests for DenyAllFilter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter">LevelMatchFilterTest</A></B></TD> +<TD>Unit tests for LevelMatchFilter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter">LevelRangeFilterTest</A></B></TD> +<TD>Unit tests for LevelRangeFilter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter">LoggerMatchFilterTest</A></B></TD> +<TD>Unit tests for LoggerMatchFilter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter">SimpleFilterTest</A></B></TD> +<TD>Various tests verifying that filters work properly and that + JoranConfigurator can effectively parse config files containing them.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter">StringMatchFilterTest</A></B></TD> +<TD>Unit tests for StringMatchFilter.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter">TimeFilterTest</A></B></TD> +<TD>Tests for TimeFilter.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-tree.html new file mode 100644 index 00000000000..16b33788db7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-tree.html @@ -0,0 +1,159 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.filter Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.filter Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.filter +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.Object<UL> +<LI TYPE="circle">junit.framework.Assert<UL> +<LI TYPE="circle">junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">org.apache.log4j.filter.<A HREF="../../../../org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter"><B>AndFilterTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="../../../../org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter"><B>DenyAllFilterTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>LevelMatchFilterTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter"><B>LevelRangeFilterTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>LoggerMatchFilterTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="../../../../org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter"><B>SimpleFilterTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="../../../../org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>StringMatchFilterTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="../../../../org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter"><B>TimeFilterTest</B></A></UL> +</UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-use.html new file mode 100644 index 00000000000..d28f66bf15f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/filter/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.filter</B></H2> +</CENTER> +No usage of org.apache.log4j.filter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/filter/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-frame.html new file mode 100644 index 00000000000..04d29d12e8c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-frame.html @@ -0,0 +1,53 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../org/apache/log4j/package-summary.html" target="classFrame">org.apache.log4j</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="EnhancedMyPatternLayout.html" title="class in org.apache.log4j" target="classFrame">EnhancedMyPatternLayout</A> +<BR> +<A HREF="EnhancedPatternLayoutTest.html" title="class in org.apache.log4j" target="classFrame">EnhancedPatternLayoutTest</A> +<BR> +<A HREF="EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j" target="classFrame">EnhancedPatternLayoutTest.DerivedPatternLayout</A> +<BR> +<A HREF="EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j" target="classFrame">EnhancedPatternLayoutTestCase</A> +<BR> +<A HREF="LayoutTest.html" title="class in org.apache.log4j" target="classFrame">LayoutTest</A> +<BR> +<A HREF="LogCapture.html" title="class in org.apache.log4j" target="classFrame">LogCapture</A> +<BR> +<A HREF="MyPatternParser.html" title="class in org.apache.log4j" target="classFrame">MyPatternParser</A> +<BR> +<A HREF="TestLogMF.html" title="class in org.apache.log4j" target="classFrame">TestLogMF</A> +<BR> +<A HREF="TestLogSF.html" title="class in org.apache.log4j" target="classFrame">TestLogSF</A> +<BR> +<A HREF="TestLogXF.html" title="class in org.apache.log4j" target="classFrame">TestLogXF</A> +<BR> +<A HREF="VectorAppender.html" title="class in org.apache.log4j" target="classFrame">VectorAppender</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-summary.html new file mode 100644 index 00000000000..f0065a3b2e0 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-summary.html @@ -0,0 +1,200 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV PACKAGE&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/filter/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j">EnhancedMyPatternLayout</A></B></TD> +<TD>Example showing how to extend EnhancedPatternLayout to recognize additional + conversion characters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest</A></B></TD> +<TD>Test for EnhancedPatternLayout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j">EnhancedPatternLayoutTest.DerivedPatternLayout</A></B></TD> +<TD>Class to ensure that protected members are still available.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j">EnhancedPatternLayoutTestCase</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A></B></TD> +<TD>Tests for Layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/LogCapture.html" title="class in org.apache.log4j">LogCapture</A></B></TD> +<TD>Helper class to set up and capture log messages.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j">MyPatternParser</A></B></TD> +<TD>Example showing how to extend PatternParser to recognize additional + conversion characters.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j">TestLogMF</A></B></TD> +<TD>Unit test for LogMF.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j">TestLogSF</A></B></TD> +<TD>Unit test for LogSF.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j">TestLogXF</A></B></TD> +<TD>Unit test for LogXF.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j">VectorAppender</A></B></TD> +<TD>An appender that appends logging events to a vector.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV PACKAGE&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/filter/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-tree.html new file mode 100644 index 00000000000..a2148285b20 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-tree.html @@ -0,0 +1,171 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/filter/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.Object<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true" title="class or interface in org.apache.log4j"><B>AppenderSkeleton</B></A> (implements org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/Appender.html?is-external=true" title="class or interface in org.apache.log4j">Appender</A>, org.apache.log4j.spi.<A HREF="../../../../apidocs/org/apache/log4j/spi/OptionHandler.html?is-external=true" title="class or interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j"><B>VectorAppender</B></A></UL> +<LI TYPE="circle">junit.framework.Assert<UL> +<LI TYPE="circle">junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j"><B>EnhancedPatternLayoutTestCase</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j"><B>LayoutTest</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j"><B>EnhancedPatternLayoutTest</B></A></UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j"><B>TestLogMF</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j"><B>TestLogSF</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j"><B>TestLogXF</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j"><B>Layout</B></A> (implements org.apache.log4j.spi.<A HREF="../../../../apidocs/org/apache/log4j/spi/OptionHandler.html?is-external=true" title="class or interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j"><B>EnhancedPatternLayout</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedMyPatternLayout</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedPatternLayoutTest.DerivedPatternLayout</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/LogCapture.html" title="class in org.apache.log4j"><B>LogCapture</B></A><LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../../../../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true" title="class or interface in org.apache.log4j.helpers"><B>PatternParser</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j"><B>MyPatternParser</B></A></UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;<A HREF="../../../org/apache/log4j/filter/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-use.html new file mode 100644 index 00000000000..2af05ec285e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/package-use.html @@ -0,0 +1,190 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j"><B>org.apache.log4j</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.xml"><B>org.apache.log4j.xml</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/LayoutTest.html#org.apache.log4j"><B>LayoutTest</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests for Layout.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.xml"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../org/apache/log4j/package-summary.html">org.apache.log4j</A> used by <A HREF="../../../org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../org/apache/log4j/class-use/LayoutTest.html#org.apache.log4j.xml"><B>LayoutTest</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests for Layout.</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html?org/apache/log4j/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/CachedDateFormatTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/CachedDateFormatTest.html new file mode 100644 index 00000000000..0096d78ce43 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/CachedDateFormatTest.html @@ -0,0 +1,622 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CachedDateFormatTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CachedDateFormatTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CachedDateFormatTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/CachedDateFormatTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CachedDateFormatTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class CachedDateFormatTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.CachedDateFormatTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>CachedDateFormatTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Unit test <CODE>AbsoluteTimeDateFormat</CODE>. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#CachedDateFormatTest(java.lang.String)">CachedDateFormatTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test constructor</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test multiple calls in close intervals.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test10()">test10</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test when millisecond position moves but length remains constant.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test11()">test11</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test that tests if caching is skipped if only "SS" + is specified.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test12()">test12</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check pattern location for ISO8601</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test13()">test13</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check pattern location for DATE</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test14()">test14</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check pattern location for ABSOLUTE</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test15()">test15</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check pattern location for single S</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test16()">test16</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check pattern location for single SS</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test17()">test17</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check caching when multiple SSS appear in pattern</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check for interaction between caches.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test multiple calls in close intervals prior to 1 Jan 1970.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks that getNumberFormat does not return null.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test8()">test8</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set time zone on cached and check that it is effective.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#test9()">test9</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test of caching when less than three millisecond digits are specified.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;junit.framework.Test</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html#xsuite()">xsuite</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CachedDateFormatTest(java.lang.String)"><!-- --></A><H3> +CachedDateFormatTest</H3> +<PRE> +public <B>CachedDateFormatTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +<DD>Test constructor +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - String test name</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Test multiple calls in close intervals. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>Check for interaction between caches. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>Test multiple calls in close intervals prior to 1 Jan 1970. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>()</PRE> +<DL> +<DD>Checks that getNumberFormat does not return null. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test8()"><!-- --></A><H3> +test8</H3> +<PRE> +public void <B>test8</B>()</PRE> +<DL> +<DD>Set time zone on cached and check that it is effective. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test9()"><!-- --></A><H3> +test9</H3> +<PRE> +public void <B>test9</B>()</PRE> +<DL> +<DD>Test of caching when less than three millisecond digits are specified. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test10()"><!-- --></A><H3> +test10</H3> +<PRE> +public void <B>test10</B>()</PRE> +<DL> +<DD>Test when millisecond position moves but length remains constant. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test11()"><!-- --></A><H3> +test11</H3> +<PRE> +public void <B>test11</B>()</PRE> +<DL> +<DD>Test that tests if caching is skipped if only "SS" + is specified. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test12()"><!-- --></A><H3> +test12</H3> +<PRE> +public void <B>test12</B>()</PRE> +<DL> +<DD>Check pattern location for ISO8601 +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test13()"><!-- --></A><H3> +test13</H3> +<PRE> +public void <B>test13</B>()</PRE> +<DL> +<DD>Check pattern location for DATE +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test14()"><!-- --></A><H3> +test14</H3> +<PRE> +public void <B>test14</B>()</PRE> +<DL> +<DD>Check pattern location for ABSOLUTE +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test15()"><!-- --></A><H3> +test15</H3> +<PRE> +public void <B>test15</B>()</PRE> +<DL> +<DD>Check pattern location for single S +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test16()"><!-- --></A><H3> +test16</H3> +<PRE> +public void <B>test16</B>()</PRE> +<DL> +<DD>Check pattern location for single SS +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test17()"><!-- --></A><H3> +test17</H3> +<PRE> +public void <B>test17</B>()</PRE> +<DL> +<DD>Check caching when multiple SSS appear in pattern +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="xsuite()"><!-- --></A><H3> +xsuite</H3> +<PRE> +public static junit.framework.Test <B>xsuite</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CachedDateFormatTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/CachedDateFormatTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CachedDateFormatTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/FormattingInfoTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/FormattingInfoTest.html new file mode 100644 index 00000000000..db63bd12709 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/FormattingInfoTest.html @@ -0,0 +1,395 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FormattingInfoTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FormattingInfoTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FormattingInfoTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/FormattingInfoTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfoTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class FormattingInfoTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.FormattingInfoTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>FormattingInfoTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Tests for FormattingInfo. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html#FormattingInfoTest(java.lang.String)">FormattingInfoTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html#testConstructor()">testConstructor</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check constructor</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html#testGetDefault()">testGetDefault</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that getDefault does not return null.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html#testPadLeft()">testPadLeft</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add padding to left since field is not minimum width.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html#testPadRight()">testPadRight</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add padding to right since field is not minimum width.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html#testRightTruncate()">testRightTruncate</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Field exceeds maximum width, truncate right.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html#testTruncate()">testTruncate</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Field exceeds maximum width</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FormattingInfoTest(java.lang.String)"><!-- --></A><H3> +FormattingInfoTest</H3> +<PRE> +public <B>FormattingInfoTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +<DD>Create a new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - test name</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="testGetDefault()"><!-- --></A><H3> +testGetDefault</H3> +<PRE> +public void <B>testGetDefault</B>()</PRE> +<DL> +<DD>Check that getDefault does not return null. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testConstructor()"><!-- --></A><H3> +testConstructor</H3> +<PRE> +public void <B>testConstructor</B>()</PRE> +<DL> +<DD>Check constructor +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTruncate()"><!-- --></A><H3> +testTruncate</H3> +<PRE> +public void <B>testTruncate</B>()</PRE> +<DL> +<DD>Field exceeds maximum width +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testRightTruncate()"><!-- --></A><H3> +testRightTruncate</H3> +<PRE> +public void <B>testRightTruncate</B>()</PRE> +<DL> +<DD>Field exceeds maximum width, truncate right. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testPadLeft()"><!-- --></A><H3> +testPadLeft</H3> +<PRE> +public void <B>testPadLeft</B>()</PRE> +<DL> +<DD>Add padding to left since field is not minimum width. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testPadRight()"><!-- --></A><H3> +testPadRight</H3> +<PRE> +public void <B>testPadRight</B>()</PRE> +<DL> +<DD>Add padding to right since field is not minimum width. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FormattingInfoTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/FormattingInfoTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfoTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/NameAbbreviatorTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/NameAbbreviatorTest.html new file mode 100644 index 00000000000..48f988f1bc9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/NameAbbreviatorTest.html @@ -0,0 +1,483 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NameAbbreviatorTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NameAbbreviatorTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NameAbbreviatorTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/NameAbbreviatorTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NameAbbreviatorTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class NameAbbreviatorTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.NameAbbreviatorTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>NameAbbreviatorTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Tests for NameAbbrevator. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#NameAbbreviatorTest(java.lang.String)">NameAbbreviatorTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#testBlank()">testBlank</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that getAbbreviator(" ") returns default abbreviator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#testBlankOne()">testBlankOne</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that blanks are trimmed in evaluating abbreviation pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#testGetDefault()">testGetDefault</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that getDefaultAbbreviator does not return null.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#testMinusOne()">testMinusOne</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that getAbbreviator("-1").abbreviate() drops first name element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#testMulti()">testMulti</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that getAbbreviator("1.*.2").abbreviate drops all but the first + character from the first element, uses all of the second element and + drops all but the first two characters of the rest of the non-final elements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#testOne()">testOne</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that getAbbreviator("1").abbreviate() drops all but the final name element.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#testOneDot()">testOneDot</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that getAbbreviator("1.").abbreviate abbreviates non-final elements + to one character.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#testOneTildeDot()">testOneTildeDot</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that getAbbreviator("1~.").abbreviate abbreviates non-final elements + to one character and a tilde.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#testTwo()">testTwo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that getAbbreviator("2").abbreviate drops all but the last two elements.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html#testZero()">testZero</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that "0" drops all name content.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NameAbbreviatorTest(java.lang.String)"><!-- --></A><H3> +NameAbbreviatorTest</H3> +<PRE> +public <B>NameAbbreviatorTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +<DD>Create a new instance. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - test name</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="testGetDefault()"><!-- --></A><H3> +testGetDefault</H3> +<PRE> +public void <B>testGetDefault</B>()</PRE> +<DL> +<DD>Check that getDefaultAbbreviator does not return null. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testZero()"><!-- --></A><H3> +testZero</H3> +<PRE> +public void <B>testZero</B>()</PRE> +<DL> +<DD>Check that "0" drops all name content. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testBlank()"><!-- --></A><H3> +testBlank</H3> +<PRE> +public void <B>testBlank</B>()</PRE> +<DL> +<DD>Check that getAbbreviator(" ") returns default abbreviator. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testOne()"><!-- --></A><H3> +testOne</H3> +<PRE> +public void <B>testOne</B>()</PRE> +<DL> +<DD>Check that getAbbreviator("1").abbreviate() drops all but the final name element. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testBlankOne()"><!-- --></A><H3> +testBlankOne</H3> +<PRE> +public void <B>testBlankOne</B>()</PRE> +<DL> +<DD>Check that blanks are trimmed in evaluating abbreviation pattern. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTwo()"><!-- --></A><H3> +testTwo</H3> +<PRE> +public void <B>testTwo</B>()</PRE> +<DL> +<DD>Check that getAbbreviator("2").abbreviate drops all but the last two elements. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testOneDot()"><!-- --></A><H3> +testOneDot</H3> +<PRE> +public void <B>testOneDot</B>()</PRE> +<DL> +<DD>Check that getAbbreviator("1.").abbreviate abbreviates non-final elements + to one character. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testOneTildeDot()"><!-- --></A><H3> +testOneTildeDot</H3> +<PRE> +public void <B>testOneTildeDot</B>()</PRE> +<DL> +<DD>Check that getAbbreviator("1~.").abbreviate abbreviates non-final elements + to one character and a tilde. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testMulti()"><!-- --></A><H3> +testMulti</H3> +<PRE> +public void <B>testMulti</B>()</PRE> +<DL> +<DD>Check that getAbbreviator("1.*.2").abbreviate drops all but the first + character from the first element, uses all of the second element and + drops all but the first two characters of the rest of the non-final elements. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testMinusOne()"><!-- --></A><H3> +testMinusOne</H3> +<PRE> +public void <B>testMinusOne</B>()</PRE> +<DL> +<DD>Check that getAbbreviator("-1").abbreviate() drops first name element. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NameAbbreviatorTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/NameAbbreviatorTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NameAbbreviatorTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/Num343PatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/Num343PatternConverter.html new file mode 100644 index 00000000000..37ccfaa18bf --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/Num343PatternConverter.html @@ -0,0 +1,264 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Num343PatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Num343PatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Num343PatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/Num343PatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Num343PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class Num343PatternConverter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../apidocs/org/apache/log4j/pattern/PatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern">org.apache.log4j.pattern.PatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern">org.apache.log4j.pattern.LoggingEventPatternConverter</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.Num343PatternConverter</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>Num343PatternConverter</B><DT>extends <A HREF="../../../../../apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern">LoggingEventPatternConverter</A></DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/Num343PatternConverter.html#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)">format</A></B>(<A HREF="../../../../../apidocs/org/apache/log4j/spi/LoggingEvent.html?is-external=true" title="class or interface in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + java.lang.StringBuffer&nbsp;toAppendTo)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;<A HREF="../../../../../apidocs/org/apache/log4j/pattern/PatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern">PatternConverter</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/Num343PatternConverter.html#newInstance(java.lang.String[])">newInstance</A></B>(java.lang.String[]&nbsp;options)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.LoggingEventPatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../../apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern">LoggingEventPatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html?is-external=true#format(java.lang.Object, java.lang.StringBuffer)" title="class or interface in org.apache.log4j.pattern">format</A>, <A HREF="../../../../../apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html?is-external=true#handlesThrowable()" title="class or interface in org.apache.log4j.pattern">handlesThrowable</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.pattern.PatternConverter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.pattern.<A HREF="../../../../../apidocs/org/apache/log4j/pattern/PatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern">PatternConverter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../../apidocs/org/apache/log4j/pattern/PatternConverter.html?is-external=true#getName()" title="class or interface in org.apache.log4j.pattern">getName</A>, <A HREF="../../../../../apidocs/org/apache/log4j/pattern/PatternConverter.html?is-external=true#getStyleClass(java.lang.Object)" title="class or interface in org.apache.log4j.pattern">getStyleClass</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="newInstance(java.lang.String[])"><!-- --></A><H3> +newInstance</H3> +<PRE> +public static <A HREF="../../../../../apidocs/org/apache/log4j/pattern/PatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern">PatternConverter</A> <B>newInstance</B>(java.lang.String[]&nbsp;options)</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)"><!-- --></A><H3> +format</H3> +<PRE> +public void <B>format</B>(<A HREF="../../../../../apidocs/org/apache/log4j/spi/LoggingEvent.html?is-external=true" title="class or interface in org.apache.log4j.spi">LoggingEvent</A>&nbsp;event, + java.lang.StringBuffer&nbsp;toAppendTo)</PRE> +<DL> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html?is-external=true#format(org.apache.log4j.spi.LoggingEvent, java.lang.StringBuffer)" title="class or interface in org.apache.log4j.pattern">format</A></CODE> in class <CODE><A HREF="../../../../../apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern">LoggingEventPatternConverter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Num343PatternConverter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/Num343PatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Num343PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/PatternParserTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/PatternParserTest.html new file mode 100644 index 00000000000..dc355d7c25b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/PatternParserTest.html @@ -0,0 +1,528 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PatternParserTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PatternParserTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternParserTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/PatternParserTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParserTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.pattern</FONT> +<BR> +Class PatternParserTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.pattern.PatternParserTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>PatternParserTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test case for PatternParser.java. Tests the various + conversion patterns supported by PatternParser. This test + class tests PatternParser via the EnhancedPatternLayout class which + uses it. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#PatternParserTest(java.lang.String)">PatternParserTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testBasic1()">testBasic1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testBasic2()">testBasic2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testBogus()">testBogus</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testBogusWord1()">testBogusWord1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testBogusWord2()">testBogusWord2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testFileNamePatternFactories()">testFileNamePatternFactories</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testMalformedOption()">testMalformedOption</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Options with missing close braces will be treated as a literal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testMore()">testMore</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testMultiOption()">testMultiOption</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testNewWord()">testNewWord</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testNewWord2()">testNewWord2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html#testPatternLayoutFactories()">testPatternLayoutFactories</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PatternParserTest(java.lang.String)"><!-- --></A><H3> +PatternParserTest</H3> +<PRE> +public <B>PatternParserTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="testNewWord()"><!-- --></A><H3> +testNewWord</H3> +<PRE> +public void <B>testNewWord</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testNewWord2()"><!-- --></A><H3> +testNewWord2</H3> +<PRE> +public void <B>testNewWord2</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testBogusWord1()"><!-- --></A><H3> +testBogusWord1</H3> +<PRE> +public void <B>testBogusWord1</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testBogusWord2()"><!-- --></A><H3> +testBogusWord2</H3> +<PRE> +public void <B>testBogusWord2</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testBasic1()"><!-- --></A><H3> +testBasic1</H3> +<PRE> +public void <B>testBasic1</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testBasic2()"><!-- --></A><H3> +testBasic2</H3> +<PRE> +public void <B>testBasic2</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testMultiOption()"><!-- --></A><H3> +testMultiOption</H3> +<PRE> +public void <B>testMultiOption</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testBogus()"><!-- --></A><H3> +testBogus</H3> +<PRE> +public void <B>testBogus</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testMore()"><!-- --></A><H3> +testMore</H3> +<PRE> +public void <B>testMore</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testMalformedOption()"><!-- --></A><H3> +testMalformedOption</H3> +<PRE> +public void <B>testMalformedOption</B>()</PRE> +<DL> +<DD>Options with missing close braces will be treated as a literal. + Endless looped with earlier code. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testPatternLayoutFactories()"><!-- --></A><H3> +testPatternLayoutFactories</H3> +<PRE> +public void <B>testPatternLayoutFactories</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testFileNamePatternFactories()"><!-- --></A><H3> +testFileNamePatternFactories</H3> +<PRE> +public void <B>testFileNamePatternFactories</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PatternParserTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/PatternParserTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParserTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/CachedDateFormatTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/CachedDateFormatTest.html new file mode 100644 index 00000000000..5fa300241f6 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/CachedDateFormatTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.CachedDateFormatTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.CachedDateFormatTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useCachedDateFormatTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CachedDateFormatTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.CachedDateFormatTest</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.CachedDateFormatTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useCachedDateFormatTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CachedDateFormatTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/FormattingInfoTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/FormattingInfoTest.html new file mode 100644 index 00000000000..4543e21fa83 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/FormattingInfoTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.FormattingInfoTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.FormattingInfoTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useFormattingInfoTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfoTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.FormattingInfoTest</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.FormattingInfoTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useFormattingInfoTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FormattingInfoTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/NameAbbreviatorTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/NameAbbreviatorTest.html new file mode 100644 index 00000000000..194fbc32caf --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/NameAbbreviatorTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.NameAbbreviatorTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.NameAbbreviatorTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useNameAbbreviatorTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NameAbbreviatorTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.NameAbbreviatorTest</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.NameAbbreviatorTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useNameAbbreviatorTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NameAbbreviatorTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/Num343PatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/Num343PatternConverter.html new file mode 100644 index 00000000000..c72bc82ce3a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/Num343PatternConverter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.Num343PatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.Num343PatternConverter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useNum343PatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Num343PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.Num343PatternConverter</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.Num343PatternConverter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-useNum343PatternConverter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Num343PatternConverter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/PatternParserTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/PatternParserTest.html new file mode 100644 index 00000000000..c30095bac05 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/class-use/PatternParserTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.pattern.PatternParserTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.pattern.PatternParserTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-usePatternParserTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParserTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.pattern.PatternParserTest</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern.PatternParserTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/pattern//class-usePatternParserTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PatternParserTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-frame.html new file mode 100644 index 00000000000..977c2207b00 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-frame.html @@ -0,0 +1,41 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.pattern (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/pattern/package-summary.html" target="classFrame">org.apache.log4j.pattern</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="CachedDateFormatTest.html" title="class in org.apache.log4j.pattern" target="classFrame">CachedDateFormatTest</A> +<BR> +<A HREF="FormattingInfoTest.html" title="class in org.apache.log4j.pattern" target="classFrame">FormattingInfoTest</A> +<BR> +<A HREF="NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern" target="classFrame">NameAbbreviatorTest</A> +<BR> +<A HREF="Num343PatternConverter.html" title="class in org.apache.log4j.pattern" target="classFrame">Num343PatternConverter</A> +<BR> +<A HREF="PatternParserTest.html" title="class in org.apache.log4j.pattern" target="classFrame">PatternParserTest</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-summary.html new file mode 100644 index 00000000000..c25f6fd0f59 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-summary.html @@ -0,0 +1,174 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.pattern (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.pattern (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.pattern +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern">CachedDateFormatTest</A></B></TD> +<TD>Unit test <CODE>AbsoluteTimeDateFormat</CODE>.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern">FormattingInfoTest</A></B></TD> +<TD>Tests for FormattingInfo.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern">NameAbbreviatorTest</A></B></TD> +<TD>Tests for NameAbbrevator.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern">Num343PatternConverter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern">PatternParserTest</A></B></TD> +<TD>Test case for PatternParser.java.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-tree.html new file mode 100644 index 00000000000..4cbe4c644db --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-tree.html @@ -0,0 +1,163 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.pattern Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.pattern Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.pattern +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.Object<UL> +<LI TYPE="circle">junit.framework.Assert<UL> +<LI TYPE="circle">junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern"><B>CachedDateFormatTest</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern"><B>FormattingInfoTest</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern"><B>NameAbbreviatorTest</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern"><B>PatternParserTest</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../../apidocs/org/apache/log4j/pattern/PatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern"><B>PatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../../apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern"><B>LoggingEventPatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../../../../org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern"><B>Num343PatternConverter</B></A></UL> +</UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/filter/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-use.html new file mode 100644 index 00000000000..b597ac7cf76 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/pattern/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.pattern (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.pattern (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.pattern</B></H2> +</CENTER> +No usage of org.apache.log4j.pattern +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/pattern/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html new file mode 100644 index 00000000000..735e5a75337 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html @@ -0,0 +1,463 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +CompositeTriggeringPolicyTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="CompositeTriggeringPolicyTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CompositeTriggeringPolicyTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CompositeTriggeringPolicyTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rolling</FONT> +<BR> +Class CompositeTriggeringPolicyTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rolling.CompositeTriggeringPolicyTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>CompositeTriggeringPolicyTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test CompositeTriggeringPolicy +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#CompositeTriggeringPolicyTest()">CompositeTriggeringPolicyTest</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#setUp()">setUp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testActivateOptionsCalledByCompositeActivateOptions()">testActivateOptionsCalledByCompositeActivateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testActivateOptionsNotCalledByAddTriggeringPolicy()">testActivateOptionsNotCalledByAddTriggeringPolicy</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testAllFalsePolicies()">testAllFalsePolicies</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testAllTruePolicies()">testAllTruePolicies</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testNoPolicies()">testNoPolicies</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testOneFalsePolicy()">testOneFalsePolicy</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testOneTruePolicy()">testOneTruePolicy</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html#testTrueAndFalsePolicies()">testTrueAndFalsePolicies</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="CompositeTriggeringPolicyTest()"><!-- --></A><H3> +CompositeTriggeringPolicyTest</H3> +<PRE> +public <B>CompositeTriggeringPolicyTest</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setUp()"><!-- --></A><H3> +setUp</H3> +<PRE> +protected void <B>setUp</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>setUp</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +protected void <B>tearDown</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testNoPolicies()"><!-- --></A><H3> +testNoPolicies</H3> +<PRE> +public void <B>testNoPolicies</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testOneTruePolicy()"><!-- --></A><H3> +testOneTruePolicy</H3> +<PRE> +public void <B>testOneTruePolicy</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testOneFalsePolicy()"><!-- --></A><H3> +testOneFalsePolicy</H3> +<PRE> +public void <B>testOneFalsePolicy</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testAllFalsePolicies()"><!-- --></A><H3> +testAllFalsePolicies</H3> +<PRE> +public void <B>testAllFalsePolicies</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testAllTruePolicies()"><!-- --></A><H3> +testAllTruePolicies</H3> +<PRE> +public void <B>testAllTruePolicies</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testTrueAndFalsePolicies()"><!-- --></A><H3> +testTrueAndFalsePolicies</H3> +<PRE> +public void <B>testTrueAndFalsePolicies</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testActivateOptionsCalledByCompositeActivateOptions()"><!-- --></A><H3> +testActivateOptionsCalledByCompositeActivateOptions</H3> +<PRE> +public void <B>testActivateOptionsCalledByCompositeActivateOptions</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testActivateOptionsNotCalledByAddTriggeringPolicy()"><!-- --></A><H3> +testActivateOptionsNotCalledByAddTriggeringPolicy</H3> +<PRE> +public void <B>testActivateOptionsNotCalledByAddTriggeringPolicy</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CompositeTriggeringPolicyTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CompositeTriggeringPolicyTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/FilterBasedRollingTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/FilterBasedRollingTest.html new file mode 100644 index 00000000000..ca0bbc65b8e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/FilterBasedRollingTest.html @@ -0,0 +1,358 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FilterBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FilterBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FilterBasedRollingTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/FilterBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FilterBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rolling</FONT> +<BR> +Class FilterBasedRollingTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rolling.FilterBasedRollingTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>FilterBasedRollingTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Tests of rolling file appender with a filter based triggering policy. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html#FilterBasedRollingTest(java.lang.String)">FilterBasedRollingTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html#setUp()">setUp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test basic rolling functionality using configuration file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test basic rolling functionality using explicit configuration.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FilterBasedRollingTest(java.lang.String)"><!-- --></A><H3> +FilterBasedRollingTest</H3> +<PRE> +public <B>FilterBasedRollingTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setUp()"><!-- --></A><H3> +setUp</H3> +<PRE> +public void <B>setUp</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>setUp</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +public void <B>tearDown</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test basic rolling functionality using configuration file. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test basic rolling functionality using explicit configuration. + Test fails when run immediately after test1. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FilterBasedRollingTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/FilterBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FilterBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/RenamingTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/RenamingTest.html new file mode 100644 index 00000000000..018392b4b87 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/RenamingTest.html @@ -0,0 +1,338 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +RenamingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="RenamingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RenamingTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/RenamingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RenamingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rolling</FONT> +<BR> +Class RenamingTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rolling.RenamingTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>RenamingTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +This test case aims to unit test/reproduce problems encountered while + renaming the log file under windows. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/RenamingTest.html#RenamingTest(java.lang.String)">RenamingTest</A></B>(java.lang.String&nbsp;arg0)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/RenamingTest.html#setUp()">setUp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/RenamingTest.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/RenamingTest.html#testRename()">testRename</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="RenamingTest(java.lang.String)"><!-- --></A><H3> +RenamingTest</H3> +<PRE> +public <B>RenamingTest</B>(java.lang.String&nbsp;arg0)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setUp()"><!-- --></A><H3> +setUp</H3> +<PRE> +protected void <B>setUp</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>setUp</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +protected void <B>tearDown</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testRename()"><!-- --></A><H3> +testRename</H3> +<PRE> +public void <B>testRename</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RenamingTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/RenamingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RenamingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/SizeBasedRollingTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/SizeBasedRollingTest.html new file mode 100644 index 00000000000..4ddaa974fbd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/SizeBasedRollingTest.html @@ -0,0 +1,460 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SizeBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SizeBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SizeBasedRollingTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/SizeBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SizeBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rolling</FONT> +<BR> +Class SizeBasedRollingTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rolling.SizeBasedRollingTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SizeBasedRollingTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Do not forget to call activateOptions when configuring programatically. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html#SizeBasedRollingTest(java.lang.String)">SizeBasedRollingTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html#setUp()">setUp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests that the lack of an explicit active file will use the + low index as the active file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test basic rolling functionality with explicit setting of FileAppender.file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Same as testBasic but also with GZ compression.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test basic rolling functionality with bogus path in file name pattern.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checking handling of rename failures due to other access + to the indexed files.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Tests deprecated method</I></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SizeBasedRollingTest(java.lang.String)"><!-- --></A><H3> +SizeBasedRollingTest</H3> +<PRE> +public <B>SizeBasedRollingTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setUp()"><!-- --></A><H3> +setUp</H3> +<PRE> +public void <B>setUp</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>setUp</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +public void <B>tearDown</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests that the lack of an explicit active file will use the + low index as the active file. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test basic rolling functionality with explicit setting of FileAppender.file. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Same as testBasic but also with GZ compression. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test basic rolling functionality with bogus path in file name pattern. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Checking handling of rename failures due to other access + to the indexed files. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><B>Deprecated.</B>&nbsp;<I>Tests deprecated method</I> +<P> +<DD>Test basic rolling functionality with explicit setting of + obsolete FixedWindowRollingPolicy.activeFileName. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SizeBasedRollingTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/SizeBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SizeBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/TimeBasedRollingTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/TimeBasedRollingTest.html new file mode 100644 index 00000000000..ea6b09f28e3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/TimeBasedRollingTest.html @@ -0,0 +1,513 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TimeBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TimeBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TimeBasedRollingTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/TimeBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimeBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rolling</FONT> +<BR> +Class TimeBasedRollingTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rolling.TimeBasedRollingTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TimeBasedRollingTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +A rather exhaustive set of tests. Tests include leaving the ActiveFileName + argument blank, or setting it, with and without compression, and tests + with or without stopping/restarting the RollingFileAppender. + + The regression tests log a few times using a RollingFileAppender. Then, + they predict the names of the files which sould be generated and compare + them with witness files. + + <pre> + Compression ActiveFileName Stop/Restart + Test1 NO BLANK NO + Test2 NO BLANK YES + Test3 YES BLANK NO + Test4 NO SET YES + Test5 NO SET NO + Test6 YES SET NO + </pre> +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki G&uuml;lc&uuml;</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#TimeBasedRollingTest(java.lang.String)">TimeBasedRollingTest</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#setUp()">setUp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test rolling without compression, activeFileName left blank, no stop/start</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No compression, with stop/restart, activeFileName left blank</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;With compression, activeFileName left blank, no stop/restart</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Without compression, activeFileName set, with stop/restart</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No compression, activeFileName set, without stop/restart</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;With compression, activeFileName set, no stop/restart,</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#testWithJoran1()">testWithJoran1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html#XXXtestWithJoran10()">XXXtestWithJoran10</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TimeBasedRollingTest(java.lang.String)"><!-- --></A><H3> +TimeBasedRollingTest</H3> +<PRE> +public <B>TimeBasedRollingTest</B>(java.lang.String&nbsp;name)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setUp()"><!-- --></A><H3> +setUp</H3> +<PRE> +public void <B>setUp</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>setUp</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +public void <B>tearDown</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Test rolling without compression, activeFileName left blank, no stop/start +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>No compression, with stop/restart, activeFileName left blank +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>With compression, activeFileName left blank, no stop/restart +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Without compression, activeFileName set, with stop/restart +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>No compression, activeFileName set, without stop/restart +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>With compression, activeFileName set, no stop/restart, +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testWithJoran1()"><!-- --></A><H3> +testWithJoran1</H3> +<PRE> +public void <B>testWithJoran1</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="XXXtestWithJoran10()"><!-- --></A><H3> +XXXtestWithJoran10</H3> +<PRE> +public void <B>XXXtestWithJoran10</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TimeBasedRollingTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/TimeBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimeBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/CompositeTriggeringPolicyTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/CompositeTriggeringPolicyTest.html new file mode 100644 index 00000000000..34dc983c827 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/CompositeTriggeringPolicyTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rolling.CompositeTriggeringPolicyTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rolling.CompositeTriggeringPolicyTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useCompositeTriggeringPolicyTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CompositeTriggeringPolicyTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rolling.CompositeTriggeringPolicyTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rolling.CompositeTriggeringPolicyTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useCompositeTriggeringPolicyTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="CompositeTriggeringPolicyTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/FilterBasedRollingTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/FilterBasedRollingTest.html new file mode 100644 index 00000000000..8823346a511 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/FilterBasedRollingTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rolling.FilterBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rolling.FilterBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useFilterBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FilterBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rolling.FilterBasedRollingTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rolling.FilterBasedRollingTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useFilterBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FilterBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/RenamingTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/RenamingTest.html new file mode 100644 index 00000000000..c355aee47d9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/RenamingTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rolling.RenamingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rolling.RenamingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useRenamingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RenamingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rolling.RenamingTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rolling.RenamingTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useRenamingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RenamingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/SizeBasedRollingTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/SizeBasedRollingTest.html new file mode 100644 index 00000000000..bbf4ce1b5f8 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/SizeBasedRollingTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rolling.SizeBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rolling.SizeBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useSizeBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SizeBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rolling.SizeBasedRollingTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rolling.SizeBasedRollingTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useSizeBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SizeBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingTest.html new file mode 100644 index 00000000000..18d0af9a455 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/class-use/TimeBasedRollingTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rolling.TimeBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rolling.TimeBasedRollingTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useTimeBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimeBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rolling.TimeBasedRollingTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rolling.TimeBasedRollingTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling//class-useTimeBasedRollingTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimeBasedRollingTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html new file mode 100644 index 00000000000..63a9c746c8e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html @@ -0,0 +1,577 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:45 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +FileNamePatternTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="FileNamePatternTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileNamePatternTestCase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileNamePatternTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rolling.helper</FONT> +<BR> +Class FileNamePatternTestCase</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rolling.helper.FileNamePatternTestCase</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public final class <B>FileNamePatternTestCase</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Tests for FileNamePattern. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki, Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#FileNamePatternTestCase(java.lang.String)">FileNamePatternTestCase</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatDate1()">testFormatDate1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatDate2()">testFormatDate2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatDate3()">testFormatDate3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatDate4()">testFormatDate4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A %d is treated as %d{yyyy-MM-dd} if followed by a malformed format specifier.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatDate5()">testFormatDate5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A %d is treated as %d{yyyy-MM-dd} if followed by a malformed format specifier.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger1()">testFormatInteger1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger10()">testFormatInteger10</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger11()">testFormatInteger11</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger2()">testFormatInteger2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger3()">testFormatInteger3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger4()">testFormatInteger4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger5()">testFormatInteger5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger6()">testFormatInteger6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger7()">testFormatInteger7</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger8()">testFormatInteger8</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html#testFormatInteger9()">testFormatInteger9</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="FileNamePatternTestCase(java.lang.String)"><!-- --></A><H3> +FileNamePatternTestCase</H3> +<PRE> +public <B>FileNamePatternTestCase</B>(java.lang.String&nbsp;name)</PRE> +<DL> +<DD>Construct new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>name</CODE> - test name</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="testFormatInteger1()"><!-- --></A><H3> +testFormatInteger1</H3> +<PRE> +public void <B>testFormatInteger1</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatInteger2()"><!-- --></A><H3> +testFormatInteger2</H3> +<PRE> +public void <B>testFormatInteger2</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatInteger3()"><!-- --></A><H3> +testFormatInteger3</H3> +<PRE> +public void <B>testFormatInteger3</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatInteger4()"><!-- --></A><H3> +testFormatInteger4</H3> +<PRE> +public void <B>testFormatInteger4</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatInteger5()"><!-- --></A><H3> +testFormatInteger5</H3> +<PRE> +public void <B>testFormatInteger5</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatInteger6()"><!-- --></A><H3> +testFormatInteger6</H3> +<PRE> +public void <B>testFormatInteger6</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatInteger7()"><!-- --></A><H3> +testFormatInteger7</H3> +<PRE> +public void <B>testFormatInteger7</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatInteger8()"><!-- --></A><H3> +testFormatInteger8</H3> +<PRE> +public void <B>testFormatInteger8</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatInteger9()"><!-- --></A><H3> +testFormatInteger9</H3> +<PRE> +public void <B>testFormatInteger9</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatInteger10()"><!-- --></A><H3> +testFormatInteger10</H3> +<PRE> +public void <B>testFormatInteger10</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatInteger11()"><!-- --></A><H3> +testFormatInteger11</H3> +<PRE> +public void <B>testFormatInteger11</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatDate1()"><!-- --></A><H3> +testFormatDate1</H3> +<PRE> +public void <B>testFormatDate1</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatDate2()"><!-- --></A><H3> +testFormatDate2</H3> +<PRE> +public void <B>testFormatDate2</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatDate3()"><!-- --></A><H3> +testFormatDate3</H3> +<PRE> +public void <B>testFormatDate3</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatDate4()"><!-- --></A><H3> +testFormatDate4</H3> +<PRE> +public void <B>testFormatDate4</B>()</PRE> +<DL> +<DD>A %d is treated as %d{yyyy-MM-dd} if followed by a malformed format specifier. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatDate5()"><!-- --></A><H3> +testFormatDate5</H3> +<PRE> +public void <B>testFormatDate5</B>()</PRE> +<DL> +<DD>A %d is treated as %d{yyyy-MM-dd} if followed by a malformed format specifier. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/FileNamePatternTestCase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileNamePatternTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/class-use/FileNamePatternTestCase.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/class-use/FileNamePatternTestCase.html new file mode 100644 index 00000000000..83bc352eed7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/class-use/FileNamePatternTestCase.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rolling.helper.FileNamePatternTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rolling.helper.FileNamePatternTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/rolling/helper//class-useFileNamePatternTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileNamePatternTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rolling.helper.FileNamePatternTestCase</B></H2> +</CENTER> +No usage of org.apache.log4j.rolling.helper.FileNamePatternTestCase +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../../index.html?org/apache/log4j/rolling/helper//class-useFileNamePatternTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="FileNamePatternTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-frame.html new file mode 100644 index 00000000000..50f04940527 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-frame.html @@ -0,0 +1,33 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.rolling.helper (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../../org/apache/log4j/rolling/helper/package-summary.html" target="classFrame">org.apache.log4j.rolling.helper</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper" target="classFrame">FileNamePatternTestCase</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-summary.html new file mode 100644 index 00000000000..c8b97d7065a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-summary.html @@ -0,0 +1,158 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.rolling.helper (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.rolling.helper (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/rolling/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/rule/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling/helper/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.rolling.helper +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper">FileNamePatternTestCase</A></B></TD> +<TD>Tests for FileNamePattern.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/rolling/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/rule/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling/helper/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-tree.html new file mode 100644 index 00000000000..1822bb48c5b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-tree.html @@ -0,0 +1,159 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.rolling.helper Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.rolling.helper Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/rolling/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/rule/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling/helper/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.rolling.helper +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.Object<UL> +<LI TYPE="circle">junit.framework.Assert<UL> +<LI TYPE="circle">junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">org.apache.log4j.rolling.helper.<A HREF="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper"><B>FileNamePatternTestCase</B></A></UL> +</UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../../org/apache/log4j/rolling/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../../org/apache/log4j/rule/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling/helper/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-use.html new file mode 100644 index 00000000000..55df204fc2c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/helper/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.rolling.helper (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.rolling.helper (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling/helper/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.rolling.helper</B></H2> +</CENTER> +No usage of org.apache.log4j.rolling.helper +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rolling/helper/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-frame.html new file mode 100644 index 00000000000..2083f5d0db4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-frame.html @@ -0,0 +1,41 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.rolling (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/rolling/package-summary.html" target="classFrame">org.apache.log4j.rolling</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling" target="classFrame">CompositeTriggeringPolicyTest</A> +<BR> +<A HREF="FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling" target="classFrame">FilterBasedRollingTest</A> +<BR> +<A HREF="RenamingTest.html" title="class in org.apache.log4j.rolling" target="classFrame">RenamingTest</A> +<BR> +<A HREF="SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling" target="classFrame">SizeBasedRollingTest</A> +<BR> +<A HREF="TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling" target="classFrame">TimeBasedRollingTest</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-summary.html new file mode 100644 index 00000000000..e98787093a4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-summary.html @@ -0,0 +1,175 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.rolling (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.rolling (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/helper/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.rolling +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling">CompositeTriggeringPolicyTest</A></B></TD> +<TD>Test CompositeTriggeringPolicy</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling">FilterBasedRollingTest</A></B></TD> +<TD>Tests of rolling file appender with a filter based triggering policy.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling">RenamingTest</A></B></TD> +<TD>This test case aims to unit test/reproduce problems encountered while + renaming the log file under windows.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling">SizeBasedRollingTest</A></B></TD> +<TD>Do not forget to call activateOptions when configuring programatically.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling">TimeBasedRollingTest</A></B></TD> +<TD>A rather exhaustive set of tests.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/helper/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-tree.html new file mode 100644 index 00000000000..b36fedb59f7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-tree.html @@ -0,0 +1,159 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.rolling Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.rolling Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/helper/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.rolling +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.Object<UL> +<LI TYPE="circle">junit.framework.Assert<UL> +<LI TYPE="circle">junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling"><B>CompositeTriggeringPolicyTest</B></A><LI TYPE="circle">org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>FilterBasedRollingTest</B></A><LI TYPE="circle">org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling"><B>RenamingTest</B></A><LI TYPE="circle">org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>SizeBasedRollingTest</B></A><LI TYPE="circle">org.apache.log4j.rolling.<A HREF="../../../../org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>TimeBasedRollingTest</B></A></UL> +</UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/pattern/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/helper/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-use.html new file mode 100644 index 00000000000..de3eabaec19 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rolling/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.rolling (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.rolling (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.rolling</B></H2> +</CENTER> +No usage of org.apache.log4j.rolling +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rolling/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/AndRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/AndRuleTest.html new file mode 100644 index 00000000000..fe75ca00f97 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/AndRuleTest.html @@ -0,0 +1,422 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AndRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AndRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AndRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/AndRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AndRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class AndRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.AndRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>AndRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for AndRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html#AndRuleTest(java.lang.String)">AndRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AndRule.getRule(Stack) throws exception if only one rule provided.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AndRule.getRule(Stack) throws exception if non-rules are provided.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test And of Level and Time.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test And of Level and Time when Level does not match.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test And of Level and Time when Time does not match.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test deserialized And.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html#test7()">test7</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test deserialized And when Level doesn't match.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AndRuleTest(java.lang.String)"><!-- --></A><H3> +AndRuleTest</H3> +<PRE> +public <B>AndRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>AndRule.getRule(Stack) throws exception if only one rule provided. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>AndRule.getRule(Stack) throws exception if non-rules are provided. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>Test And of Level and Time. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>Test And of Level and Time when Level does not match. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>Test And of Level and Time when Time does not match. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Test deserialized And. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test7()"><!-- --></A><H3> +test7</H3> +<PRE> +public void <B>test7</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Test deserialized And when Level doesn't match. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AndRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/AndRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AndRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/EqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/EqualsRuleTest.html new file mode 100644 index 00000000000..7816e09935b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/EqualsRuleTest.html @@ -0,0 +1,417 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +EqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="EqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EqualsRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/EqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class EqualsRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.EqualsRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>EqualsRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for EqualsRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html#EqualsRuleTest(java.lang.String)">EqualsRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule() with only one entry on stack should throw IllegalArgumentException.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule() with bad field name should throw IllegalArgumentException.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "level" and "info" should return a LevelEqualsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "timestamp" and time should return a TimestampEqualsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "msg" should return an EqualsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "msg" should return an EqualsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html#test7()">test7</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check EqualsRule serialization.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="EqualsRuleTest(java.lang.String)"><!-- --></A><H3> +EqualsRuleTest</H3> +<PRE> +public <B>EqualsRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>getRule() with only one entry on stack should throw IllegalArgumentException. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>getRule() with bad field name should throw IllegalArgumentException. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>getRule with "level" and "info" should return a LevelEqualsRule. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>getRule with "timestamp" and time should return a TimestampEqualsRule. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>getRule with "msg" should return an EqualsRule. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>()</PRE> +<DL> +<DD>getRule with "msg" should return an EqualsRule. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test7()"><!-- --></A><H3> +test7</H3> +<PRE> +public void <B>test7</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Check EqualsRule serialization. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EqualsRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/EqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/ExistsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/ExistsRuleTest.html new file mode 100644 index 00000000000..140898b82bf --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/ExistsRuleTest.html @@ -0,0 +1,375 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ExistsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ExistsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ExistsRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/ExistsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ExistsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class ExistsRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.ExistsRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>ExistsRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for ExistsRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html#ExistsRuleTest(java.lang.String)">ExistsRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule() with no entry on stack should throw IllegalArgumentException.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule() with bad field name should throw IllegalArgumentException.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "msg".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "msg".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "msg".</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ExistsRuleTest(java.lang.String)"><!-- --></A><H3> +ExistsRuleTest</H3> +<PRE> +public <B>ExistsRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>getRule() with no entry on stack should throw IllegalArgumentException. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>getRule() with bad field name should throw IllegalArgumentException. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>getRule with "msg". +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>getRule with "msg". +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>getRule with "msg". +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ExistsRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/ExistsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ExistsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/LevelEqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/LevelEqualsRuleTest.html new file mode 100644 index 00000000000..52c71053edb --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/LevelEqualsRuleTest.html @@ -0,0 +1,453 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LevelEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LevelEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelEqualsRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/LevelEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class LevelEqualsRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.LevelEqualsRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LevelEqualsRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for LevelEqualsRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html#LevelEqualsRuleTest(java.lang.String)">LevelEqualsRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate when levels are equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate when levels are not equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when levels are equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when levels are not equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate when levels are JDK 1.4 levels and equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate when levels are JDK 1.4 levels and not equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html#test7()">test7</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html#test8()">test8</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and not equal.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LevelEqualsRuleTest(java.lang.String)"><!-- --></A><H3> +LevelEqualsRuleTest</H3> +<PRE> +public <B>LevelEqualsRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Tests evaluate when levels are equal. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>Tests evaluate when levels are not equal. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when levels are equal. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when levels are not equal. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>Tests evaluate when levels are JDK 1.4 levels and equal. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>()</PRE> +<DL> +<DD>Tests evaluate when levels are JDK 1.4 levels and not equal. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test7()"><!-- --></A><H3> +test7</H3> +<PRE> +public void <B>test7</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and equal. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test8()"><!-- --></A><H3> +test8</H3> +<PRE> +public void <B>test8</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and not equal. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelEqualsRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/LevelEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/LevelInequalityRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/LevelInequalityRuleTest.html new file mode 100644 index 00000000000..9a87edb3740 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/LevelInequalityRuleTest.html @@ -0,0 +1,453 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LevelInequalityRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LevelInequalityRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelInequalityRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/LevelInequalityRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelInequalityRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class LevelInequalityRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.LevelInequalityRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LevelInequalityRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for LevelInequalityRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html#LevelInequalityRuleTest(java.lang.String)">LevelInequalityRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test construction when level is unrecognized.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests construction when operator is unrecognized.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when level satisfies rule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when level does not satisfy rule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate when levels are JDK 1.4 levels and satisified.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate when levels are JDK 1.4 levels and not equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html#test7()">test7</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and satisified.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html#test8()">test8</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and not satified.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LevelInequalityRuleTest(java.lang.String)"><!-- --></A><H3> +LevelInequalityRuleTest</H3> +<PRE> +public <B>LevelInequalityRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Test construction when level is unrecognized. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>Tests construction when operator is unrecognized. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when level satisfies rule. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when level does not satisfy rule. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>Tests evaluate when levels are JDK 1.4 levels and satisified. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>()</PRE> +<DL> +<DD>Tests evaluate when levels are JDK 1.4 levels and not equal. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test7()"><!-- --></A><H3> +test7</H3> +<PRE> +public void <B>test7</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and satisified. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test8()"><!-- --></A><H3> +test8</H3> +<PRE> +public void <B>test8</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and not satified. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LevelInequalityRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/LevelInequalityRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelInequalityRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/NotEqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/NotEqualsRuleTest.html new file mode 100644 index 00000000000..55615a0888c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/NotEqualsRuleTest.html @@ -0,0 +1,417 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NotEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NotEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NotEqualsRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/NotEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class NotEqualsRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.NotEqualsRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>NotEqualsRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for NotEqualsRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html#NotEqualsRuleTest(java.lang.String)">NotEqualsRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule() with only one entry on stack should throw IllegalArgumentException.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule() with bad field name should throw IllegalArgumentException.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "level" and "info".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "timestamp" and time.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "msg".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "msg".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html#test7()">test7</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check NotEqualsRule serialization.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NotEqualsRuleTest(java.lang.String)"><!-- --></A><H3> +NotEqualsRuleTest</H3> +<PRE> +public <B>NotEqualsRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>getRule() with only one entry on stack should throw IllegalArgumentException. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>getRule() with bad field name should throw IllegalArgumentException. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>getRule with "level" and "info". +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>getRule with "timestamp" and time. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>getRule with "msg". +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>()</PRE> +<DL> +<DD>getRule with "msg". +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test7()"><!-- --></A><H3> +test7</H3> +<PRE> +public void <B>test7</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Check NotEqualsRule serialization. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NotEqualsRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/NotEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/NotRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/NotRuleTest.html new file mode 100644 index 00000000000..c7c456431e2 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/NotRuleTest.html @@ -0,0 +1,401 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +NotRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="NotRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NotRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/NotRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class NotRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.NotRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>NotRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for NotRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html#NotRuleTest(java.lang.String)">NotRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NotRule.getRule(Stack) throws exception if only one rule provided.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NotRule.getRule(Stack) throws exception if non-rules are provided.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test Not of LevelEqualsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test Not of Level when Level does not match.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test deserialized Not.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test deserialized Not.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="NotRuleTest(java.lang.String)"><!-- --></A><H3> +NotRuleTest</H3> +<PRE> +public <B>NotRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>NotRule.getRule(Stack) throws exception if only one rule provided. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>NotRule.getRule(Stack) throws exception if non-rules are provided. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>Test Not of LevelEqualsRule. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>Test Not of Level when Level does not match. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Test deserialized Not. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Test deserialized Not. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NotRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/NotRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/OrRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/OrRuleTest.html new file mode 100644 index 00000000000..7fef516c813 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/OrRuleTest.html @@ -0,0 +1,443 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +OrRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="OrRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/OrRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/OrRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OrRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class OrRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.OrRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>OrRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for OrRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html#OrRuleTest(java.lang.String)">OrRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OrRule.getRule(Stack) throws exception if only one rule provided.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OrRule.getRule(Stack) throws exception if non-rules are provided.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test Or of Level and Time.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test Or of Level and Time when Level does not match.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test Or of Level and Time when Time does not match.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test Or of Level and Time when Time and Level do not match.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html#test7()">test7</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test deserialized Or.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html#test8()">test8</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test deserialized Or when neither rule match.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="OrRuleTest(java.lang.String)"><!-- --></A><H3> +OrRuleTest</H3> +<PRE> +public <B>OrRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>OrRule.getRule(Stack) throws exception if only one rule provided. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>OrRule.getRule(Stack) throws exception if non-rules are provided. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>Test Or of Level and Time. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>Test Or of Level and Time when Level does not match. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>Test Or of Level and Time when Time does not match. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>()</PRE> +<DL> +<DD>Test Or of Level and Time when Time and Level do not match. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test7()"><!-- --></A><H3> +test7</H3> +<PRE> +public void <B>test7</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Test deserialized Or. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test8()"><!-- --></A><H3> +test8</H3> +<PRE> +public void <B>test8</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Test deserialized Or when neither rule match. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/OrRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/OrRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OrRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/PartialTextMatchRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/PartialTextMatchRuleTest.html new file mode 100644 index 00000000000..8142d88fac8 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/PartialTextMatchRuleTest.html @@ -0,0 +1,396 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +PartialTextMatchRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="PartialTextMatchRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PartialTextMatchRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/PartialTextMatchRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PartialTextMatchRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class PartialTextMatchRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.PartialTextMatchRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>PartialTextMatchRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for PartialTextMatchRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html#PartialTextMatchRuleTest(java.lang.String)">PartialTextMatchRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule() with only one entry on stack should throw IllegalArgumentException.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule() with bad field name should throw IllegalArgumentException.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "level" and "nfo" should return a LevelEqualsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "msg".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getRule with "msg".</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html#test6()">test6</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check PartailTextMatchRule serialization.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="PartialTextMatchRuleTest(java.lang.String)"><!-- --></A><H3> +PartialTextMatchRuleTest</H3> +<PRE> +public <B>PartialTextMatchRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>getRule() with only one entry on stack should throw IllegalArgumentException. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>getRule() with bad field name should throw IllegalArgumentException. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>()</PRE> +<DL> +<DD>getRule with "level" and "nfo" should return a LevelEqualsRule. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>()</PRE> +<DL> +<DD>getRule with "msg". +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>getRule with "msg". +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test6()"><!-- --></A><H3> +test6</H3> +<PRE> +public void <B>test6</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Check PartailTextMatchRule serialization. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PartialTextMatchRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/PartialTextMatchRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PartialTextMatchRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/TimestampEqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/TimestampEqualsRuleTest.html new file mode 100644 index 00000000000..e8590f7f47b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/TimestampEqualsRuleTest.html @@ -0,0 +1,380 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TimestampEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TimestampEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TimestampEqualsRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/TimestampEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimestampEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class TimestampEqualsRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.TimestampEqualsRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TimestampEqualsRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for TimestampEqualsRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html#TimestampEqualsRuleTest(java.lang.String)">TimestampEqualsRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate when timestamps are equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate when levels are not equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when timestamps are equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when timestamps are not equal.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html#test5()">test5</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests constructor will badly formed time specification.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TimestampEqualsRuleTest(java.lang.String)"><!-- --></A><H3> +TimestampEqualsRuleTest</H3> +<PRE> +public <B>TimestampEqualsRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Tests evaluate when timestamps are equal. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>Tests evaluate when levels are not equal. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when timestamps are equal. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when timestamps are not equal. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test5()"><!-- --></A><H3> +test5</H3> +<PRE> +public void <B>test5</B>()</PRE> +<DL> +<DD>Tests constructor will badly formed time specification. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TimestampEqualsRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/TimestampEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimestampEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/TimestampInequalityRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/TimestampInequalityRuleTest.html new file mode 100644 index 00000000000..37e58f05eb4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/TimestampInequalityRuleTest.html @@ -0,0 +1,359 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +TimestampInequalityRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="TimestampInequalityRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TimestampInequalityRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/TimestampInequalityRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimestampInequalityRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.rule</FONT> +<BR> +Class TimestampInequalityRuleTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.rule.TimestampInequalityRuleTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>TimestampInequalityRuleTest</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +Test for TimestampInequalityRule. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html#TimestampInequalityRuleTest(java.lang.String)">TimestampInequalityRuleTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create new test.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html#test1()">test1</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test construction when timestamp is unrecognized.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html#test2()">test2</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests construction when operator is unrecognized.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html#test3()">test3</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when rule is satisified.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html#test4()">test4</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests evaluate of a deserialized clone when rule is not satisfied.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="TimestampInequalityRuleTest(java.lang.String)"><!-- --></A><H3> +TimestampInequalityRuleTest</H3> +<PRE> +public <B>TimestampInequalityRuleTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Create new test. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="test1()"><!-- --></A><H3> +test1</H3> +<PRE> +public void <B>test1</B>()</PRE> +<DL> +<DD>Test construction when timestamp is unrecognized. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test2()"><!-- --></A><H3> +test2</H3> +<PRE> +public void <B>test2</B>()</PRE> +<DL> +<DD>Tests construction when operator is unrecognized. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="test3()"><!-- --></A><H3> +test3</H3> +<PRE> +public void <B>test3</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when rule is satisified. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="test4()"><!-- --></A><H3> +test4</H3> +<PRE> +public void <B>test4</B>() + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Tests evaluate of a deserialized clone when rule is not satisfied. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TimestampInequalityRuleTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/TimestampInequalityRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimestampInequalityRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/AndRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/AndRuleTest.html new file mode 100644 index 00000000000..ad4517b0fc7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/AndRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.AndRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.AndRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useAndRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AndRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.AndRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.AndRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useAndRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AndRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/EqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/EqualsRuleTest.html new file mode 100644 index 00000000000..d96690b5229 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/EqualsRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.EqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.EqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.EqualsRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.EqualsRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="EqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/ExistsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/ExistsRuleTest.html new file mode 100644 index 00000000000..fa07cbb49e5 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/ExistsRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.ExistsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.ExistsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useExistsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ExistsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.ExistsRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.ExistsRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useExistsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ExistsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/LevelEqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/LevelEqualsRuleTest.html new file mode 100644 index 00000000000..210800d1f04 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/LevelEqualsRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.LevelEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.LevelEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useLevelEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.LevelEqualsRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.LevelEqualsRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useLevelEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/LevelInequalityRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/LevelInequalityRuleTest.html new file mode 100644 index 00000000000..3e40bcd4ff7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/LevelInequalityRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.LevelInequalityRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.LevelInequalityRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useLevelInequalityRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelInequalityRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.LevelInequalityRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.LevelInequalityRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useLevelInequalityRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LevelInequalityRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/NotEqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/NotEqualsRuleTest.html new file mode 100644 index 00000000000..6873fd3e57a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/NotEqualsRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.NotEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.NotEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useNotEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.NotEqualsRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.NotEqualsRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useNotEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/NotRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/NotRuleTest.html new file mode 100644 index 00000000000..91e2fba01e0 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/NotRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.NotRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.NotRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useNotRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.NotRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.NotRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useNotRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="NotRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/OrRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/OrRuleTest.html new file mode 100644 index 00000000000..a169c3dd2d7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/OrRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.OrRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.OrRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useOrRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OrRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.OrRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.OrRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useOrRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="OrRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/PartialTextMatchRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/PartialTextMatchRuleTest.html new file mode 100644 index 00000000000..14963e8ccd3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/PartialTextMatchRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.PartialTextMatchRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.PartialTextMatchRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-usePartialTextMatchRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PartialTextMatchRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.PartialTextMatchRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.PartialTextMatchRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-usePartialTextMatchRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="PartialTextMatchRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/TimestampEqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/TimestampEqualsRuleTest.html new file mode 100644 index 00000000000..c94b86ae978 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/TimestampEqualsRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.TimestampEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.TimestampEqualsRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useTimestampEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimestampEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.TimestampEqualsRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.TimestampEqualsRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useTimestampEqualsRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimestampEqualsRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/TimestampInequalityRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/TimestampInequalityRuleTest.html new file mode 100644 index 00000000000..e6c4f0b30e3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/class-use/TimestampInequalityRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.rule.TimestampInequalityRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.rule.TimestampInequalityRuleTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useTimestampInequalityRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimestampInequalityRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.rule.TimestampInequalityRuleTest</B></H2> +</CENTER> +No usage of org.apache.log4j.rule.TimestampInequalityRuleTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/rule//class-useTimestampInequalityRuleTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="TimestampInequalityRuleTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-frame.html new file mode 100644 index 00000000000..ee3a550ed00 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-frame.html @@ -0,0 +1,53 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.rule (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/rule/package-summary.html" target="classFrame">org.apache.log4j.rule</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="AndRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">AndRuleTest</A> +<BR> +<A HREF="EqualsRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">EqualsRuleTest</A> +<BR> +<A HREF="ExistsRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">ExistsRuleTest</A> +<BR> +<A HREF="LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">LevelEqualsRuleTest</A> +<BR> +<A HREF="LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">LevelInequalityRuleTest</A> +<BR> +<A HREF="NotEqualsRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">NotEqualsRuleTest</A> +<BR> +<A HREF="NotRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">NotRuleTest</A> +<BR> +<A HREF="OrRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">OrRuleTest</A> +<BR> +<A HREF="PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">PartialTextMatchRuleTest</A> +<BR> +<A HREF="TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">TimestampEqualsRuleTest</A> +<BR> +<A HREF="TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule" target="classFrame">TimestampInequalityRuleTest</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-summary.html new file mode 100644 index 00000000000..29bb7740f43 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-summary.html @@ -0,0 +1,198 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.rule (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.rule (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/helper/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.rule +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule">AndRuleTest</A></B></TD> +<TD>Test for AndRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule">EqualsRuleTest</A></B></TD> +<TD>Test for EqualsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule">ExistsRuleTest</A></B></TD> +<TD>Test for ExistsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule">LevelEqualsRuleTest</A></B></TD> +<TD>Test for LevelEqualsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule">LevelInequalityRuleTest</A></B></TD> +<TD>Test for LevelInequalityRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule">NotEqualsRuleTest</A></B></TD> +<TD>Test for NotEqualsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule">NotRuleTest</A></B></TD> +<TD>Test for NotRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule">OrRuleTest</A></B></TD> +<TD>Test for OrRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule">PartialTextMatchRuleTest</A></B></TD> +<TD>Test for PartialTextMatchRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule">TimestampEqualsRuleTest</A></B></TD> +<TD>Test for TimestampEqualsRule.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule">TimestampInequalityRuleTest</A></B></TD> +<TD>Test for TimestampInequalityRule.</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/helper/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-tree.html new file mode 100644 index 00000000000..1a7cb343d21 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-tree.html @@ -0,0 +1,159 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.rule Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.rule Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/helper/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.rule +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.Object<UL> +<LI TYPE="circle">junit.framework.Assert<UL> +<LI TYPE="circle">junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule"><B>AndRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>EqualsRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule"><B>ExistsRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>LevelEqualsRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>LevelInequalityRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NotEqualsRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule"><B>NotRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule"><B>OrRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule"><B>PartialTextMatchRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>TimestampEqualsRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>TimestampInequalityRuleTest</B></A></UL> +</UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rolling/helper/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-use.html new file mode 100644 index 00000000000..57098889764 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/rule/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.rule (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.rule (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.rule</B></H2> +</CENTER> +No usage of org.apache.log4j.rule +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/rule/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html new file mode 100644 index 00000000000..f5e4d7d3406 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html @@ -0,0 +1,282 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AbsoluteDateAndTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AbsoluteDateAndTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbsoluteDateAndTimeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteDateAndTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class AbsoluteDateAndTimeFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.AbsoluteDateAndTimeFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>AbsoluteDateAndTimeFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html#AbsoluteDateAndTimeFilter()">AbsoluteDateAndTimeFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AbsoluteDateAndTimeFilter()"><!-- --></A><H3> +AbsoluteDateAndTimeFilter</H3> +<PRE> +public <B>AbsoluteDateAndTimeFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">Filter</A></CODE></B></DD> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbsoluteDateAndTimeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteDateAndTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/AbsoluteTimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/AbsoluteTimeFilter.html new file mode 100644 index 00000000000..d5f31425275 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/AbsoluteTimeFilter.html @@ -0,0 +1,282 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +AbsoluteTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AbsoluteTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbsoluteTimeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/AbsoluteTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class AbsoluteTimeFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.AbsoluteTimeFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>AbsoluteTimeFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/AbsoluteTimeFilter.html#AbsoluteTimeFilter()">AbsoluteTimeFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/AbsoluteTimeFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="AbsoluteTimeFilter()"><!-- --></A><H3> +AbsoluteTimeFilter</H3> +<PRE> +public <B>AbsoluteTimeFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">Filter</A></CODE></B></DD> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbsoluteTimeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/AbsoluteTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Compare.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Compare.html new file mode 100644 index 00000000000..127a183b464 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Compare.html @@ -0,0 +1,348 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Compare (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Compare (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Compare.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/Compare.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Compare.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class Compare</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.Compare</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>Compare</B><DT>extends java.lang.Object</DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Compare.html#Compare()">Compare</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Compare.html#compare(java.lang.Class, java.lang.String, java.lang.String)">compare</A></B>(java.lang.Class&nbsp;testClass, + java.lang.String&nbsp;file1, + java.lang.String&nbsp;file2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Compare.html#compare(java.lang.Class, java.lang.String, java.lang.String, java.io.BufferedReader, java.io.BufferedReader)">compare</A></B>(java.lang.Class&nbsp;testClass, + java.lang.String&nbsp;file1, + java.lang.String&nbsp;file2, + java.io.BufferedReader&nbsp;in1, + java.io.BufferedReader&nbsp;in2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Compare.html#gzCompare(java.lang.Class, java.lang.String, java.lang.String)">gzCompare</A></B>(java.lang.Class&nbsp;testClass, + java.lang.String&nbsp;actual, + java.lang.String&nbsp;expected)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Compare.html#gzCompare(java.lang.Class, java.lang.String, java.lang.String, java.io.BufferedReader, java.io.BufferedReader)">gzCompare</A></B>(java.lang.Class&nbsp;testClass, + java.lang.String&nbsp;file1, + java.lang.String&nbsp;file2, + java.io.BufferedReader&nbsp;in1, + java.io.BufferedReader&nbsp;in2)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Compare()"><!-- --></A><H3> +Compare</H3> +<PRE> +public <B>Compare</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="compare(java.lang.Class, java.lang.String, java.lang.String)"><!-- --></A><H3> +compare</H3> +<PRE> +public static boolean <B>compare</B>(java.lang.Class&nbsp;testClass, + java.lang.String&nbsp;file1, + java.lang.String&nbsp;file2) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="compare(java.lang.Class, java.lang.String, java.lang.String, java.io.BufferedReader, java.io.BufferedReader)"><!-- --></A><H3> +compare</H3> +<PRE> +public static boolean <B>compare</B>(java.lang.Class&nbsp;testClass, + java.lang.String&nbsp;file1, + java.lang.String&nbsp;file2, + java.io.BufferedReader&nbsp;in1, + java.io.BufferedReader&nbsp;in2) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="gzCompare(java.lang.Class, java.lang.String, java.lang.String)"><!-- --></A><H3> +gzCompare</H3> +<PRE> +public static boolean <B>gzCompare</B>(java.lang.Class&nbsp;testClass, + java.lang.String&nbsp;actual, + java.lang.String&nbsp;expected) + throws java.io.FileNotFoundException, + java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.FileNotFoundException</CODE> +<DD><CODE>java.io.IOException</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="gzCompare(java.lang.Class, java.lang.String, java.lang.String, java.io.BufferedReader, java.io.BufferedReader)"><!-- --></A><H3> +gzCompare</H3> +<PRE> +public static boolean <B>gzCompare</B>(java.lang.Class&nbsp;testClass, + java.lang.String&nbsp;file1, + java.lang.String&nbsp;file2, + java.io.BufferedReader&nbsp;in1, + java.io.BufferedReader&nbsp;in2) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Compare.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/Compare.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Compare.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/ControlFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/ControlFilter.html new file mode 100644 index 00000000000..80099aa893a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/ControlFilter.html @@ -0,0 +1,285 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ControlFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ControlFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ControlFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/ControlFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ControlFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class ControlFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.ControlFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>ControlFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/ControlFilter.html#ControlFilter(java.lang.String[])">ControlFilter</A></B>(java.lang.String[]&nbsp;allowedPatterns)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/ControlFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ControlFilter(java.lang.String[])"><!-- --></A><H3> +ControlFilter</H3> +<PRE> +public <B>ControlFilter</B>(java.lang.String[]&nbsp;allowedPatterns)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in) + throws <A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">Filter</A></CODE></B></DD> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ControlFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/ControlFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ControlFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Filter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Filter.html new file mode 100644 index 00000000000..8f2d9f0d4fc --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Filter.html @@ -0,0 +1,325 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Filter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/Filter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Interface Filter</H2> +<DL> +<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteDateAndTimeFilter</A>, <A HREF="../../../../org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteTimeFilter</A>, <A HREF="../../../../org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util">ControlFilter</A>, <A HREF="../../../../org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util">ISO8601Filter</A>, <A HREF="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util">JunitTestRunnerFilter</A>, <A HREF="../../../../org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util">LineNumberFilter</A>, <A HREF="../../../../org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util">MDCOrderFilter</A>, <A HREF="../../../../org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util">RelativeTimeFilter</A>, <A HREF="../../../../org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util">SunReflectFilter</A>, <A HREF="../../../../org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util">XMLDateFilter</A>, <A HREF="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util">XMLLineAttributeFilter</A>, <A HREF="../../../../org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util">XMLTimestampFilter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public interface <B>Filter</B></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ABSOLUTE_DATE_AND_TIME_PAT"><!-- --></A><H3> +ABSOLUTE_DATE_AND_TIME_PAT</H3> +<PRE> +static final java.lang.String <B>ABSOLUTE_DATE_AND_TIME_PAT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.util.Filter.ABSOLUTE_DATE_AND_TIME_PAT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="ABSOLUTE_TIME_PAT"><!-- --></A><H3> +ABSOLUTE_TIME_PAT</H3> +<PRE> +static final java.lang.String <B>ABSOLUTE_TIME_PAT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.util.Filter.ABSOLUTE_TIME_PAT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="RELATIVE_TIME_PAT"><!-- --></A><H3> +RELATIVE_TIME_PAT</H3> +<PRE> +static final java.lang.String <B>RELATIVE_TIME_PAT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.util.Filter.RELATIVE_TIME_PAT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="BASIC_PAT"><!-- --></A><H3> +BASIC_PAT</H3> +<PRE> +static final java.lang.String <B>BASIC_PAT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.util.Filter.BASIC_PAT">Constant Field Values</A></DL> +</DL> +<HR> + +<A NAME="ISO8601_PAT"><!-- --></A><H3> +ISO8601_PAT</H3> +<PRE> +static final java.lang.String <B>ISO8601_PAT</B></PRE> +<DL> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.log4j.util.Filter.ISO8601_PAT">Constant Field Values</A></DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +java.lang.String <B>filter</B>(java.lang.String&nbsp;in) + throws <A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></PRE> +<DL> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE><A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Filter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/Filter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/ISO8601Filter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/ISO8601Filter.html new file mode 100644 index 00000000000..62c59283eb8 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/ISO8601Filter.html @@ -0,0 +1,282 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +ISO8601Filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ISO8601Filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ISO8601Filter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/ISO8601Filter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ISO8601Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class ISO8601Filter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.ISO8601Filter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>ISO8601Filter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/ISO8601Filter.html#ISO8601Filter()">ISO8601Filter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/ISO8601Filter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="ISO8601Filter()"><!-- --></A><H3> +ISO8601Filter</H3> +<PRE> +public <B>ISO8601Filter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">Filter</A></CODE></B></DD> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ISO8601Filter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/ISO8601Filter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ISO8601Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/JunitTestRunnerFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/JunitTestRunnerFilter.html new file mode 100644 index 00000000000..6ac7bf63d16 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/JunitTestRunnerFilter.html @@ -0,0 +1,279 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +JunitTestRunnerFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="JunitTestRunnerFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JunitTestRunnerFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/JunitTestRunnerFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JunitTestRunnerFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class JunitTestRunnerFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.JunitTestRunnerFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>JunitTestRunnerFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html#JunitTestRunnerFilter()">JunitTestRunnerFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filter out stack trace lines coming from the various JUnit TestRunners.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="JunitTestRunnerFilter()"><!-- --></A><H3> +JunitTestRunnerFilter</H3> +<PRE> +public <B>JunitTestRunnerFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD>Filter out stack trace lines coming from the various JUnit TestRunners. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JunitTestRunnerFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/JunitTestRunnerFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JunitTestRunnerFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/LineNumberFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/LineNumberFilter.html new file mode 100644 index 00000000000..ef7e6048115 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/LineNumberFilter.html @@ -0,0 +1,282 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +LineNumberFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="LineNumberFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LineNumberFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/LineNumberFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineNumberFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class LineNumberFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.LineNumberFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>LineNumberFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/LineNumberFilter.html#LineNumberFilter()">LineNumberFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/LineNumberFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="LineNumberFilter()"><!-- --></A><H3> +LineNumberFilter</H3> +<PRE> +public <B>LineNumberFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">Filter</A></CODE></B></DD> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LineNumberFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/LineNumberFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineNumberFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/MDCOrderFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/MDCOrderFilter.html new file mode 100644 index 00000000000..e66fec703cb --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/MDCOrderFilter.html @@ -0,0 +1,284 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +MDCOrderFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="MDCOrderFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MDCOrderFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/MDCOrderFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDCOrderFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class MDCOrderFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.MDCOrderFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>MDCOrderFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +This class switches MDC values into the order + (unreasonably) expected by the witness files. +<P> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/MDCOrderFilter.html#MDCOrderFilter()">MDCOrderFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/MDCOrderFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Switch order of MDC keys when not in expected order.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="MDCOrderFilter()"><!-- --></A><H3> +MDCOrderFilter</H3> +<PRE> +public <B>MDCOrderFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD>Switch order of MDC keys when not in expected order. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MDCOrderFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/MDCOrderFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDCOrderFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/RelativeTimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/RelativeTimeFilter.html new file mode 100644 index 00000000000..0e4987c38e0 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/RelativeTimeFilter.html @@ -0,0 +1,282 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +RelativeTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="RelativeTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RelativeTimeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/RelativeTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class RelativeTimeFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.RelativeTimeFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>RelativeTimeFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/RelativeTimeFilter.html#RelativeTimeFilter()">RelativeTimeFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/RelativeTimeFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="RelativeTimeFilter()"><!-- --></A><H3> +RelativeTimeFilter</H3> +<PRE> +public <B>RelativeTimeFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">Filter</A></CODE></B></DD> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RelativeTimeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/RelativeTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/SerializationTestHelper.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/SerializationTestHelper.html new file mode 100644 index 00000000000..1fda4b01f08 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/SerializationTestHelper.html @@ -0,0 +1,325 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SerializationTestHelper (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SerializationTestHelper (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SerializationTestHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/SerializationTestHelper.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SerializationTestHelper.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class SerializationTestHelper</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.SerializationTestHelper</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>SerializationTestHelper</B><DT>extends java.lang.Object</DL> +</PRE> + +<P> +Utiities for serialization tests. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Curt Arnold</DD> +</DL> +<HR> + +<P> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/SerializationTestHelper.html#assertSerializationEquals(java.lang.String, java.lang.Object, int[], int)">assertSerializationEquals</A></B>(java.lang.String&nbsp;witness, + java.lang.Object&nbsp;obj, + int[]&nbsp;skip, + int&nbsp;endCompare)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks the serialization of an object against an file + containing the expected serialization.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/SerializationTestHelper.html#assertStreamEquals(java.lang.String, byte[], int[], int)">assertStreamEquals</A></B>(java.lang.String&nbsp;witness, + byte[]&nbsp;actual, + int[]&nbsp;skip, + int&nbsp;endCompare)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asserts the serialized form of an object.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/SerializationTestHelper.html#deserializeStream(java.lang.String)">deserializeStream</A></B>(java.lang.String&nbsp;witness)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deserializes a specified file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/SerializationTestHelper.html#serializeClone(java.lang.Object)">serializeClone</A></B>(java.lang.Object&nbsp;obj)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a clone by serializing object and + deserializing byte stream.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="serializeClone(java.lang.Object)"><!-- --></A><H3> +serializeClone</H3> +<PRE> +public static java.lang.Object <B>serializeClone</B>(java.lang.Object&nbsp;obj) + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD>Creates a clone by serializing object and + deserializing byte stream. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>obj</CODE> - object to serialize and deserialize. +<DT><B>Returns:</B><DD>clone +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> - on IO error. +<DD><CODE>java.lang.ClassNotFoundException</CODE> - if class not found.</DL> +</DD> +</DL> +<HR> + +<A NAME="deserializeStream(java.lang.String)"><!-- --></A><H3> +deserializeStream</H3> +<PRE> +public static java.lang.Object <B>deserializeStream</B>(java.lang.String&nbsp;witness) + throws java.lang.Exception</PRE> +<DL> +<DD>Deserializes a specified file. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>witness</CODE> - serialization file, may not be null. +<DT><B>Returns:</B><DD>deserialized object. +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE> - thrown on IO or deserialization exception.</DL> +</DD> +</DL> +<HR> + +<A NAME="assertSerializationEquals(java.lang.String, java.lang.Object, int[], int)"><!-- --></A><H3> +assertSerializationEquals</H3> +<PRE> +public static void <B>assertSerializationEquals</B>(java.lang.String&nbsp;witness, + java.lang.Object&nbsp;obj, + int[]&nbsp;skip, + int&nbsp;endCompare) + throws java.lang.Exception</PRE> +<DL> +<DD>Checks the serialization of an object against an file + containing the expected serialization. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>witness</CODE> - name of file containing expected serialization.<DD><CODE>obj</CODE> - object to be serialized.<DD><CODE>skip</CODE> - positions in serialized stream that should not be compared.<DD><CODE>endCompare</CODE> - position to stop comparison. +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE> - thrown on IO or serialization exception.</DL> +</DD> +</DL> +<HR> + +<A NAME="assertStreamEquals(java.lang.String, byte[], int[], int)"><!-- --></A><H3> +assertStreamEquals</H3> +<PRE> +public static void <B>assertStreamEquals</B>(java.lang.String&nbsp;witness, + byte[]&nbsp;actual, + int[]&nbsp;skip, + int&nbsp;endCompare) + throws java.io.IOException</PRE> +<DL> +<DD>Asserts the serialized form of an object. +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>witness</CODE> - file name of expected serialization.<DD><CODE>actual</CODE> - byte array of actual serialization.<DD><CODE>skip</CODE> - positions to skip comparison.<DD><CODE>endCompare</CODE> - position to stop comparison. +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> - thrown on IO or serialization exception.</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SerializationTestHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/SerializationTestHelper.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SerializationTestHelper.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/SunReflectFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/SunReflectFilter.html new file mode 100644 index 00000000000..c8c9daec3ea --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/SunReflectFilter.html @@ -0,0 +1,290 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +SunReflectFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="SunReflectFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SunReflectFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/SunReflectFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SunReflectFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class SunReflectFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.SunReflectFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>SunReflectFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +The sun.reflect.* lines are not present in all JDKs. +<P> + +<P> +<DL> +<DT><B>Author:</B></DT> + <DD>Ceki Gulcu</DD> +</DL> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/SunReflectFilter.html#SunReflectFilter()">SunReflectFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/SunReflectFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="SunReflectFilter()"><!-- --></A><H3> +SunReflectFilter</H3> +<PRE> +public <B>SunReflectFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">Filter</A></CODE></B></DD> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SunReflectFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/SunReflectFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SunReflectFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Transformer.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Transformer.html new file mode 100644 index 00000000000..09212cddaf9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/Transformer.html @@ -0,0 +1,294 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Transformer (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Transformer (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Transformer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/Transformer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Transformer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class Transformer</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.Transformer</B> +</PRE> +<HR> +<DL> +<DT><PRE>public class <B>Transformer</B><DT>extends java.lang.Object</DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Transformer.html#Transformer()">Transformer</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Transformer.html#transform(java.lang.String, java.lang.String, org.apache.log4j.util.Filter)">transform</A></B>(java.lang.String&nbsp;in, + java.lang.String&nbsp;out, + <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>&nbsp;filter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/Transformer.html#transform(java.lang.String, java.lang.String, org.apache.log4j.util.Filter[])">transform</A></B>(java.lang.String&nbsp;in, + java.lang.String&nbsp;out, + <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>[]&nbsp;filters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="Transformer()"><!-- --></A><H3> +Transformer</H3> +<PRE> +public <B>Transformer</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="transform(java.lang.String, java.lang.String, org.apache.log4j.util.Filter[])"><!-- --></A><H3> +transform</H3> +<PRE> +public static void <B>transform</B>(java.lang.String&nbsp;in, + java.lang.String&nbsp;out, + <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>[]&nbsp;filters) + throws java.io.FileNotFoundException, + java.io.IOException, + <A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.FileNotFoundException</CODE> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE><A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="transform(java.lang.String, java.lang.String, org.apache.log4j.util.Filter)"><!-- --></A><H3> +transform</H3> +<PRE> +public static void <B>transform</B>(java.lang.String&nbsp;in, + java.lang.String&nbsp;out, + <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>&nbsp;filter) + throws java.io.FileNotFoundException, + java.io.IOException, + <A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.FileNotFoundException</CODE> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE><A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Transformer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/Transformer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Transformer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/UnexpectedFormatException.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/UnexpectedFormatException.html new file mode 100644 index 00000000000..40ed6483c86 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/UnexpectedFormatException.html @@ -0,0 +1,241 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +UnexpectedFormatException (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="UnexpectedFormatException (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UnexpectedFormatException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/UnexpectedFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UnexpectedFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class UnexpectedFormatException</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.UnexpectedFormatException</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>UnexpectedFormatException</B><DT>extends java.lang.Exception</DL> +</PRE> + +<P> +<DL> +<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.log4j.util.UnexpectedFormatException">Serialized Form</A></DL> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html#UnexpectedFormatException(java.lang.String)">UnexpectedFormatException</A></B>(java.lang.String&nbsp;msg)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="UnexpectedFormatException(java.lang.String)"><!-- --></A><H3> +UnexpectedFormatException</H3> +<PRE> +public <B>UnexpectedFormatException</B>(java.lang.String&nbsp;msg)</PRE> +<DL> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UnexpectedFormatException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/UnexpectedFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UnexpectedFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLDateFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLDateFilter.html new file mode 100644 index 00000000000..ae4d5b28309 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLDateFilter.html @@ -0,0 +1,282 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +XMLDateFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="XMLDateFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLDateFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/XMLDateFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLDateFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class XMLDateFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.XMLDateFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>XMLDateFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/XMLDateFilter.html#XMLDateFilter()">XMLDateFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/XMLDateFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="XMLDateFilter()"><!-- --></A><H3> +XMLDateFilter</H3> +<PRE> +public <B>XMLDateFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">Filter</A></CODE></B></DD> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLDateFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/XMLDateFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLDateFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLLineAttributeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLLineAttributeFilter.html new file mode 100644 index 00000000000..1574c9929e1 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLLineAttributeFilter.html @@ -0,0 +1,282 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +XMLLineAttributeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="XMLLineAttributeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLLineAttributeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/XMLLineAttributeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLLineAttributeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class XMLLineAttributeFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.XMLLineAttributeFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>XMLLineAttributeFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html#XMLLineAttributeFilter()">XMLLineAttributeFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="XMLLineAttributeFilter()"><!-- --></A><H3> +XMLLineAttributeFilter</H3> +<PRE> +public <B>XMLLineAttributeFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">Filter</A></CODE></B></DD> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLLineAttributeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/XMLLineAttributeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLLineAttributeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLTimestampFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLTimestampFilter.html new file mode 100644 index 00000000000..25d5593aac1 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/XMLTimestampFilter.html @@ -0,0 +1,282 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +XMLTimestampFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="XMLTimestampFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLTimestampFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/XMLTimestampFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLTimestampFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.util</FONT> +<BR> +Class XMLTimestampFilter</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.util.XMLTimestampFilter</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>XMLTimestampFilter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></DL> +</PRE> + +<P> +<HR> + +<P> +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +</TABLE> +&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.util.Filter"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Fields inherited from interface org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_DATE_AND_TIME_PAT">ABSOLUTE_DATE_AND_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ABSOLUTE_TIME_PAT">ABSOLUTE_TIME_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#BASIC_PAT">BASIC_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#ISO8601_PAT">ISO8601_PAT</A>, <A HREF="../../../../org/apache/log4j/util/Filter.html#RELATIVE_TIME_PAT">RELATIVE_TIME_PAT</A></CODE></TD> +</TR> +</TABLE> +&nbsp; +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/XMLTimestampFilter.html#XMLTimestampFilter()">XMLTimestampFilter</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/util/XMLTimestampFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="XMLTimestampFilter()"><!-- --></A><H3> +XMLTimestampFilter</H3> +<PRE> +public <B>XMLTimestampFilter</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="filter(java.lang.String)"><!-- --></A><H3> +filter</H3> +<PRE> +public java.lang.String <B>filter</B>(java.lang.String&nbsp;in)</PRE> +<DL> +<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">Filter</A></CODE></B></DD> +<DD>This filter transforms the input string and returns the results as + output. If the input should be ignored, this method returns null. +<P> +<DD><DL> +<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></CODE> in interface <CODE><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLTimestampFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/XMLTimestampFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLTimestampFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/AbsoluteDateAndTimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/AbsoluteDateAndTimeFilter.html new file mode 100644 index 00000000000..a755f294cfe --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/AbsoluteDateAndTimeFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.AbsoluteDateAndTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.AbsoluteDateAndTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useAbsoluteDateAndTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteDateAndTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.AbsoluteDateAndTimeFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.AbsoluteDateAndTimeFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useAbsoluteDateAndTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteDateAndTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/AbsoluteTimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/AbsoluteTimeFilter.html new file mode 100644 index 00000000000..d228bfe4672 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/AbsoluteTimeFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.AbsoluteTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.AbsoluteTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useAbsoluteTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.AbsoluteTimeFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.AbsoluteTimeFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useAbsoluteTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="AbsoluteTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Compare.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Compare.html new file mode 100644 index 00000000000..08f37bf706e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Compare.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.Compare (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.Compare (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useCompare.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Compare.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.Compare</B></H2> +</CENTER> +No usage of org.apache.log4j.util.Compare +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useCompare.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Compare.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/ControlFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/ControlFilter.html new file mode 100644 index 00000000000..901f0b32cd7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/ControlFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.ControlFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.ControlFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useControlFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ControlFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.ControlFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.ControlFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useControlFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ControlFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Filter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Filter.html new file mode 100644 index 00000000000..d272b9ff13a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Filter.html @@ -0,0 +1,298 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Interface org.apache.log4j.util.Filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Interface org.apache.log4j.util.Filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Interface<br>org.apache.log4j.util.Filter</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.util"><B>org.apache.log4j.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A> in <A HREF="../../../../../org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A> that implement <A HREF="../../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteDateAndTimeFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteTimeFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util">ControlFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util">ISO8601Filter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util">JunitTestRunnerFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util">LineNumberFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util">MDCOrderFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class switches MDC values into the order + (unreasonably) expected by the witness files.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util">RelativeTimeFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util">SunReflectFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The sun.reflect.* lines are not present in all JDKs.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util">XMLDateFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util">XMLLineAttributeFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../../org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util">XMLTimestampFilter</A></B></CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A> with parameters of type <A HREF="../../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Transformer.</B><B><A HREF="../../../../../org/apache/log4j/util/Transformer.html#transform(java.lang.String, java.lang.String, org.apache.log4j.util.Filter)">transform</A></B>(java.lang.String&nbsp;in, + java.lang.String&nbsp;out, + <A HREF="../../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>&nbsp;filter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Transformer.</B><B><A HREF="../../../../../org/apache/log4j/util/Transformer.html#transform(java.lang.String, java.lang.String, org.apache.log4j.util.Filter[])">transform</A></B>(java.lang.String&nbsp;in, + java.lang.String&nbsp;out, + <A HREF="../../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>[]&nbsp;filters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/ISO8601Filter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/ISO8601Filter.html new file mode 100644 index 00000000000..63640d4399b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/ISO8601Filter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.ISO8601Filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.ISO8601Filter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useISO8601Filter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ISO8601Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.ISO8601Filter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.ISO8601Filter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useISO8601Filter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="ISO8601Filter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/JunitTestRunnerFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/JunitTestRunnerFilter.html new file mode 100644 index 00000000000..4e8b58212be --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/JunitTestRunnerFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.JunitTestRunnerFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.JunitTestRunnerFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useJunitTestRunnerFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JunitTestRunnerFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.JunitTestRunnerFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.JunitTestRunnerFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useJunitTestRunnerFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="JunitTestRunnerFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/LineNumberFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/LineNumberFilter.html new file mode 100644 index 00000000000..023ba0a6ae8 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/LineNumberFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.LineNumberFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.LineNumberFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useLineNumberFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineNumberFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.LineNumberFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.LineNumberFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useLineNumberFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="LineNumberFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/MDCOrderFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/MDCOrderFilter.html new file mode 100644 index 00000000000..7dcd5223b4c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/MDCOrderFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.MDCOrderFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.MDCOrderFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useMDCOrderFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDCOrderFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.MDCOrderFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.MDCOrderFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useMDCOrderFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="MDCOrderFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/RelativeTimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/RelativeTimeFilter.html new file mode 100644 index 00000000000..2e032607586 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/RelativeTimeFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.RelativeTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.RelativeTimeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useRelativeTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.RelativeTimeFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.RelativeTimeFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useRelativeTimeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="RelativeTimeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/SerializationTestHelper.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/SerializationTestHelper.html new file mode 100644 index 00000000000..f35baca5305 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/SerializationTestHelper.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.SerializationTestHelper (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.SerializationTestHelper (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useSerializationTestHelper.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SerializationTestHelper.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.SerializationTestHelper</B></H2> +</CENTER> +No usage of org.apache.log4j.util.SerializationTestHelper +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useSerializationTestHelper.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SerializationTestHelper.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/SunReflectFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/SunReflectFilter.html new file mode 100644 index 00000000000..b61449e040f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/SunReflectFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.SunReflectFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.SunReflectFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useSunReflectFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SunReflectFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.SunReflectFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.SunReflectFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useSunReflectFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="SunReflectFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Transformer.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Transformer.html new file mode 100644 index 00000000000..3fe1651ae23 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/Transformer.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.Transformer (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.Transformer (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useTransformer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Transformer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.Transformer</B></H2> +</CENTER> +No usage of org.apache.log4j.util.Transformer +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useTransformer.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="Transformer.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/UnexpectedFormatException.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/UnexpectedFormatException.html new file mode 100644 index 00000000000..2ca9d71e27f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/UnexpectedFormatException.html @@ -0,0 +1,210 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.UnexpectedFormatException (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.UnexpectedFormatException (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useUnexpectedFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UnexpectedFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.UnexpectedFormatException</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.util"><B>org.apache.log4j.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Uses of <A HREF="../../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A> in <A HREF="../../../../../org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A></FONT></TH> +</TR> +</TABLE> +&nbsp; +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A> that throw <A HREF="../../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B>Filter.</B><B><A HREF="../../../../../org/apache/log4j/util/Filter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter transforms the input string and returns the results as + output.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;java.lang.String</CODE></FONT></TD> +<TD><CODE><B>ControlFilter.</B><B><A HREF="../../../../../org/apache/log4j/util/ControlFilter.html#filter(java.lang.String)">filter</A></B>(java.lang.String&nbsp;in)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Transformer.</B><B><A HREF="../../../../../org/apache/log4j/util/Transformer.html#transform(java.lang.String, java.lang.String, org.apache.log4j.util.Filter)">transform</A></B>(java.lang.String&nbsp;in, + java.lang.String&nbsp;out, + <A HREF="../../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>&nbsp;filter)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static&nbsp;void</CODE></FONT></TD> +<TD><CODE><B>Transformer.</B><B><A HREF="../../../../../org/apache/log4j/util/Transformer.html#transform(java.lang.String, java.lang.String, org.apache.log4j.util.Filter[])">transform</A></B>(java.lang.String&nbsp;in, + java.lang.String&nbsp;out, + <A HREF="../../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>[]&nbsp;filters)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useUnexpectedFormatException.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="UnexpectedFormatException.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLDateFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLDateFilter.html new file mode 100644 index 00000000000..6c8dca61e97 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLDateFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.XMLDateFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.XMLDateFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useXMLDateFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLDateFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.XMLDateFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.XMLDateFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useXMLDateFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLDateFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLLineAttributeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLLineAttributeFilter.html new file mode 100644 index 00000000000..c367aae6823 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLLineAttributeFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.XMLLineAttributeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.XMLLineAttributeFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useXMLLineAttributeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLLineAttributeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.XMLLineAttributeFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.XMLLineAttributeFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useXMLLineAttributeFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLLineAttributeFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLTimestampFilter.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLTimestampFilter.html new file mode 100644 index 00000000000..6298eaa7107 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/class-use/XMLTimestampFilter.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.util.XMLTimestampFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.util.XMLTimestampFilter (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useXMLTimestampFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLTimestampFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.util.XMLTimestampFilter</B></H2> +</CENTER> +No usage of org.apache.log4j.util.XMLTimestampFilter +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/util//class-useXMLTimestampFilter.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XMLTimestampFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-frame.html new file mode 100644 index 00000000000..2773e861162 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-frame.html @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.util (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/util/package-summary.html" target="classFrame">org.apache.log4j.util</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Interfaces</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="Filter.html" title="interface in org.apache.log4j.util" target="classFrame"><I>Filter</I></A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util" target="classFrame">AbsoluteDateAndTimeFilter</A> +<BR> +<A HREF="AbsoluteTimeFilter.html" title="class in org.apache.log4j.util" target="classFrame">AbsoluteTimeFilter</A> +<BR> +<A HREF="Compare.html" title="class in org.apache.log4j.util" target="classFrame">Compare</A> +<BR> +<A HREF="ControlFilter.html" title="class in org.apache.log4j.util" target="classFrame">ControlFilter</A> +<BR> +<A HREF="ISO8601Filter.html" title="class in org.apache.log4j.util" target="classFrame">ISO8601Filter</A> +<BR> +<A HREF="JunitTestRunnerFilter.html" title="class in org.apache.log4j.util" target="classFrame">JunitTestRunnerFilter</A> +<BR> +<A HREF="LineNumberFilter.html" title="class in org.apache.log4j.util" target="classFrame">LineNumberFilter</A> +<BR> +<A HREF="MDCOrderFilter.html" title="class in org.apache.log4j.util" target="classFrame">MDCOrderFilter</A> +<BR> +<A HREF="RelativeTimeFilter.html" title="class in org.apache.log4j.util" target="classFrame">RelativeTimeFilter</A> +<BR> +<A HREF="SerializationTestHelper.html" title="class in org.apache.log4j.util" target="classFrame">SerializationTestHelper</A> +<BR> +<A HREF="SunReflectFilter.html" title="class in org.apache.log4j.util" target="classFrame">SunReflectFilter</A> +<BR> +<A HREF="Transformer.html" title="class in org.apache.log4j.util" target="classFrame">Transformer</A> +<BR> +<A HREF="XMLDateFilter.html" title="class in org.apache.log4j.util" target="classFrame">XMLDateFilter</A> +<BR> +<A HREF="XMLLineAttributeFilter.html" title="class in org.apache.log4j.util" target="classFrame">XMLLineAttributeFilter</A> +<BR> +<A HREF="XMLTimestampFilter.html" title="class in org.apache.log4j.util" target="classFrame">XMLTimestampFilter</A></FONT></TD> +</TR> +</TABLE> + + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Exceptions</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="UnexpectedFormatException.html" title="class in org.apache.log4j.util" target="classFrame">UnexpectedFormatException</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-summary.html new file mode 100644 index 00000000000..d637926168a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-summary.html @@ -0,0 +1,243 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.util (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.util (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.util +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Interface Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteDateAndTimeFilter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util">AbsoluteTimeFilter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util">Compare</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util">ControlFilter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util">ISO8601Filter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util">JunitTestRunnerFilter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util">LineNumberFilter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util">MDCOrderFilter</A></B></TD> +<TD>This class switches MDC values into the order + (unreasonably) expected by the witness files.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util">RelativeTimeFilter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util">SerializationTestHelper</A></B></TD> +<TD>Utiities for serialization tests.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util">SunReflectFilter</A></B></TD> +<TD>The sun.reflect.* lines are not present in all JDKs.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util">Transformer</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util">XMLDateFilter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util">XMLLineAttributeFilter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util">XMLTimestampFilter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; + +<P> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Exception Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">UnexpectedFormatException</A></B></TD> +<TD>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-tree.html new file mode 100644 index 00000000000..044c473725b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-tree.html @@ -0,0 +1,176 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.util Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.util Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.util +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.Object<UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util"><B>AbsoluteDateAndTimeFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util"><B>AbsoluteTimeFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util"><B>Compare</B></A><LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util"><B>ControlFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util"><B>ISO8601Filter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util"><B>JunitTestRunnerFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util"><B>LineNumberFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util"><B>MDCOrderFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util"><B>RelativeTimeFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util"><B>SerializationTestHelper</B></A><LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util"><B>SunReflectFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable) +<UL> +<LI TYPE="circle">java.lang.Exception<UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util"><B>UnexpectedFormatException</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util"><B>Transformer</B></A><LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util"><B>XMLDateFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util"><B>XMLLineAttributeFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util"><B>XMLTimestampFilter</B></A> (implements org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +</UL> +</UL> +<H2> +Interface Hierarchy +</H2> +<UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="../../../../org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util"><B>Filter</B></A></UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/rule/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-use.html new file mode 100644 index 00000000000..55ffa8ec4f9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/util/package-use.html @@ -0,0 +1,177 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.util (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.util (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.util</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.apache.log4j.util"><B>org.apache.log4j.util</B></A></TD> +<TD>&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<A NAME="org.apache.log4j.util"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A> used by <A HREF="../../../../org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/util/class-use/Filter.html#org.apache.log4j.util"><B>Filter</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/apache/log4j/util/class-use/UnexpectedFormatException.html#org.apache.log4j.util"><B>UnexpectedFormatException</B></A></B> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/util/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/XSLTLayoutTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/XSLTLayoutTest.html new file mode 100644 index 00000000000..448c1847600 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/XSLTLayoutTest.html @@ -0,0 +1,514 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +XSLTLayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="XSLTLayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XSLTLayoutTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/XSLTLayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.xml</FONT> +<BR> +Class XSLTLayoutTest</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">org.apache.log4j.LayoutTest</A> + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.xml.XSLTLayoutTest</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>XSLTLayoutTest</B><DT>extends <A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A></DL> +</PRE> + +<P> +Test for XSLTLayout. +<P> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#XSLTLayoutTest(java.lang.String)">XSLTLayoutTest</A></B>(java.lang.String&nbsp;testName)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct new instance of XSLTLayoutTest.</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected &nbsp;<A HREF="../../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">Layout</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#createLayout()">createLayout</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates layout for test.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#testActivateOptions()">testActivateOptions</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests activateOptions().</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#testAtom()">testAtom</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests XML configuration and atom layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#testAtomNS()">testAtomNS</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests XML configuration and atom layout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#testExceptionWithCDATA()">testExceptionWithCDATA</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests CDATA element within exception.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#testFormat()">testFormat</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests formatted results.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#testFormatWithException()">testFormatWithException</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests formatted results with an exception.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#testFormatWithNDC()">testFormatWithNDC</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests formatted results with an exception.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#testGetSetLocationInfo()">testGetSetLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests getLocationInfo and setLocationInfo.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html#testNDCWithCDATA()">testNDCWithCDATA</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests CDATA element within NDC content.</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.LayoutTest"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A></B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><A HREF="../../../../org/apache/log4j/LayoutTest.html#testGetContentType()">testGetContentType</A>, <A HREF="../../../../org/apache/log4j/LayoutTest.html#testGetFooter()">testGetFooter</A>, <A HREF="../../../../org/apache/log4j/LayoutTest.html#testGetHeader()">testGetHeader</A>, <A HREF="../../../../org/apache/log4j/LayoutTest.html#testIgnoresThrowable()">testIgnoresThrowable</A>, <A HREF="../../../../org/apache/log4j/LayoutTest.html#testLineSep()">testLineSep</A>, <A HREF="../../../../org/apache/log4j/LayoutTest.html#testLineSepLen()">testLineSepLen</A></CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="XSLTLayoutTest(java.lang.String)"><!-- --></A><H3> +XSLTLayoutTest</H3> +<PRE> +public <B>XSLTLayoutTest</B>(java.lang.String&nbsp;testName)</PRE> +<DL> +<DD>Construct new instance of XSLTLayoutTest. +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>testName</CODE> - test name.</DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="createLayout()"><!-- --></A><H3> +createLayout</H3> +<PRE> +protected <A HREF="../../../../../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j">Layout</A> <B>createLayout</B>()</PRE> +<DL> +<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/log4j/LayoutTest.html#createLayout()">LayoutTest</A></CODE></B></DD> +<DD>Creates layout for test. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/LayoutTest.html#createLayout()">createLayout</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Returns:</B><DD>new instance of Layout.</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormat()"><!-- --></A><H3> +testFormat</H3> +<PRE> +public void <B>testFormat</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests formatted results. +<P> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/log4j/LayoutTest.html#testFormat()">testFormat</A></CODE> in class <CODE><A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j">LayoutTest</A></CODE></DL> +</DD> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE> - if parser can not be constructed or source is not a valid XML document.</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatWithException()"><!-- --></A><H3> +testFormatWithException</H3> +<PRE> +public void <B>testFormatWithException</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests formatted results with an exception. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE> - if parser can not be constructed or source is not a valid XML document.</DL> +</DD> +</DL> +<HR> + +<A NAME="testFormatWithNDC()"><!-- --></A><H3> +testFormatWithNDC</H3> +<PRE> +public void <B>testFormatWithNDC</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests formatted results with an exception. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE> - if parser can not be constructed or source is not a valid XML document.</DL> +</DD> +</DL> +<HR> + +<A NAME="testGetSetLocationInfo()"><!-- --></A><H3> +testGetSetLocationInfo</H3> +<PRE> +public void <B>testGetSetLocationInfo</B>()</PRE> +<DL> +<DD>Tests getLocationInfo and setLocationInfo. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testActivateOptions()"><!-- --></A><H3> +testActivateOptions</H3> +<PRE> +public void <B>testActivateOptions</B>()</PRE> +<DL> +<DD>Tests activateOptions(). +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testAtom()"><!-- --></A><H3> +testAtom</H3> +<PRE> +public void <B>testAtom</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests XML configuration and atom layout. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testAtomNS()"><!-- --></A><H3> +testAtomNS</H3> +<PRE> +public void <B>testAtomNS</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests XML configuration and atom layout. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testNDCWithCDATA()"><!-- --></A><H3> +testNDCWithCDATA</H3> +<PRE> +public void <B>testNDCWithCDATA</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests CDATA element within NDC content. See bug 37560. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testExceptionWithCDATA()"><!-- --></A><H3> +testExceptionWithCDATA</H3> +<PRE> +public void <B>testExceptionWithCDATA</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests CDATA element within exception. See bug 37560. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XSLTLayoutTest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV CLASS&nbsp; +&nbsp;<A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml"><B>NEXT CLASS</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/XSLTLayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/XSLTLayoutTestCase.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/XSLTLayoutTestCase.html new file mode 100644 index 00000000000..8d591f02f6b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/XSLTLayoutTestCase.html @@ -0,0 +1,437 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:46 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +XSLTLayoutTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="XSLTLayoutTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XSLTLayoutTestCase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/XSLTLayoutTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayoutTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.apache.log4j.xml</FONT> +<BR> +Class XSLTLayoutTestCase</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.Assert + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">junit.framework.TestCase + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.xml.XSLTLayoutTestCase</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT><PRE>public class <B>XSLTLayoutTestCase</B><DT>extends junit.framework.TestCase</DL> +</PRE> + +<P> +<HR> + +<P> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html#XSLTLayoutTestCase(java.lang.String)">XSLTLayoutTestCase</A></B>(java.lang.String&nbsp;name)</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp; +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html#setUp()">setUp</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html#tearDown()">tearDown</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html#testBasic()">testBasic</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html#testCDATA()">testCDATA</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html#testLocationInfo()">testLocationInfo</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html#testMDC()">testMDC</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests the format of the MDC portion of the layout to ensure + the KVP's we put in turn up in the output file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html#testMDCEscaped()">testMDCEscaped</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>&nbsp;void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html#testNull()">testNull</A></B>()</CODE> + +<BR> +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.TestCase</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class junit.framework.Assert</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>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</CODE></TD> +</TR> +</TABLE> +&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> +&nbsp; +<P> + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="XSLTLayoutTestCase(java.lang.String)"><!-- --></A><H3> +XSLTLayoutTestCase</H3> +<PRE> +public <B>XSLTLayoutTestCase</B>(java.lang.String&nbsp;name)</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="setUp()"><!-- --></A><H3> +setUp</H3> +<PRE> +public void <B>setUp</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>setUp</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="tearDown()"><!-- --></A><H3> +tearDown</H3> +<PRE> +public void <B>tearDown</B>()</PRE> +<DL> +<DD><DL> +<DT><B>Overrides:</B><DD><CODE>tearDown</CODE> in class <CODE>junit.framework.TestCase</CODE></DL> +</DD> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="testBasic()"><!-- --></A><H3> +testBasic</H3> +<PRE> +public void <B>testBasic</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testLocationInfo()"><!-- --></A><H3> +testLocationInfo</H3> +<PRE> +public void <B>testLocationInfo</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testCDATA()"><!-- --></A><H3> +testCDATA</H3> +<PRE> +public void <B>testCDATA</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testNull()"><!-- --></A><H3> +testNull</H3> +<PRE> +public void <B>testNull</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testMDC()"><!-- --></A><H3> +testMDC</H3> +<PRE> +public void <B>testMDC</B>() + throws java.lang.Exception</PRE> +<DL> +<DD>Tests the format of the MDC portion of the layout to ensure + the KVP's we put in turn up in the output file. +<P> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="testMDCEscaped()"><!-- --></A><H3> +testMDCEscaped</H3> +<PRE> +public void <B>testMDCEscaped</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XSLTLayoutTestCase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml"><B>PREV CLASS</B></A>&nbsp; +&nbsp;NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/XSLTLayoutTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayoutTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/class-use/XSLTLayoutTest.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/class-use/XSLTLayoutTest.html new file mode 100644 index 00000000000..d4716d0500e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/class-use/XSLTLayoutTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.xml.XSLTLayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.xml.XSLTLayoutTest (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useXSLTLayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.xml.XSLTLayoutTest</B></H2> +</CENTER> +No usage of org.apache.log4j.xml.XSLTLayoutTest +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useXSLTLayoutTest.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayoutTest.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/class-use/XSLTLayoutTestCase.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/class-use/XSLTLayoutTestCase.html new file mode 100644 index 00000000000..dbf32a68dec --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/class-use/XSLTLayoutTestCase.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Class org.apache.log4j.xml.XSLTLayoutTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Class org.apache.log4j.xml.XSLTLayoutTestCase (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useXSLTLayoutTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayoutTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.apache.log4j.xml.XSLTLayoutTestCase</B></H2> +</CENTER> +No usage of org.apache.log4j.xml.XSLTLayoutTestCase +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html?org/apache/log4j/xml//class-useXSLTLayoutTestCase.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="XSLTLayoutTestCase.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-frame.html new file mode 100644 index 00000000000..e2b21c1c517 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-frame.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.xml (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/apache/log4j/xml/package-summary.html" target="classFrame">org.apache.log4j.xml</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT>&nbsp; +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="XSLTLayoutTest.html" title="class in org.apache.log4j.xml" target="classFrame">XSLTLayoutTest</A> +<BR> +<A HREF="XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml" target="classFrame">XSLTLayoutTestCase</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-summary.html new file mode 100644 index 00000000000..947f3ce6afd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-summary.html @@ -0,0 +1,162 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.xml (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.xml (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;NEXT PACKAGE</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.apache.log4j.xml +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml">XSLTLayoutTest</A></B></TD> +<TD>Test for XSLTLayout.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml">XSLTLayoutTestCase</A></B></TD> +<TD>&nbsp;</TD> +</TR> +</TABLE> +&nbsp; + +<P> +<DL> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp; +&nbsp;NEXT PACKAGE</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-tree.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-tree.html new file mode 100644 index 00000000000..669b809a476 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-tree.html @@ -0,0 +1,161 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +org.apache.log4j.xml Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="org.apache.log4j.xml Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.apache.log4j.xml +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.Object<UL> +<LI TYPE="circle">junit.framework.Assert<UL> +<LI TYPE="circle">junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../../../../org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j"><B>LayoutTest</B></A><UL> +<LI TYPE="circle">org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml"><B>XSLTLayoutTest</B></A></UL> +<LI TYPE="circle">org.apache.log4j.xml.<A HREF="../../../../org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml"><B>XSLTLayoutTestCase</B></A></UL> +</UL> +</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;<A HREF="../../../../org/apache/log4j/util/package-tree.html"><B>PREV</B></A>&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-use.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-use.html new file mode 100644 index 00000000000..7cffbade541 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/org/apache/log4j/xml/package-use.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Uses of Package org.apache.log4j.xml (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Uses of Package org.apache.log4j.xml (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.apache.log4j.xml</B></H2> +</CENTER> +No usage of org.apache.log4j.xml +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html?org/apache/log4j/xml/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-frame.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-frame.html new file mode 100644 index 00000000000..448af444226 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-frame.html @@ -0,0 +1,57 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Overview List (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TH ALIGN="left" NOWRAP><FONT size="+1" CLASS="FrameTitleFont"> +<B></B></FONT></TH> +</TR> +</TABLE> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" target="packageFrame">All Classes</A></FONT> +<P> +<FONT size="+1" CLASS="FrameHeadingFont"> +Packages</FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/package-frame.html" target="packageFrame">org.apache.log4j</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/filter/package-frame.html" target="packageFrame">org.apache.log4j.filter</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/pattern/package-frame.html" target="packageFrame">org.apache.log4j.pattern</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/rolling/package-frame.html" target="packageFrame">org.apache.log4j.rolling</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/rolling/helper/package-frame.html" target="packageFrame">org.apache.log4j.rolling.helper</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/rule/package-frame.html" target="packageFrame">org.apache.log4j.rule</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/util/package-frame.html" target="packageFrame">org.apache.log4j.util</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/apache/log4j/xml/package-frame.html" target="packageFrame">org.apache.log4j.xml</A></FONT> +<BR> +</TD> +</TR> +</TABLE> + +<P> +&nbsp; +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-summary.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-summary.html new file mode 100644 index 00000000000..548edb6ea39 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-summary.html @@ -0,0 +1,185 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Overview (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Overview (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?overview-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +Apache Extras Companion™ for Apache log4j™. 1.1 Test API +</H1> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Packages</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/package-summary.html">org.apache.log4j</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/filter/package-summary.html">org.apache.log4j.filter</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/rolling/package-summary.html">org.apache.log4j.rolling</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/rolling/helper/package-summary.html">org.apache.log4j.rolling.helper</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/util/package-summary.html">org.apache.log4j.util</A></B></TD> +<TD>&nbsp;</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</A></B></TD> +<TD>&nbsp;</TD> +</TR> +</TABLE> + +<P> +&nbsp;<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?overview-summary.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-tree.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-tree.html new file mode 100644 index 00000000000..397f10d2d09 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/overview-tree.html @@ -0,0 +1,196 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Class Hierarchy (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For All Packages</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="org/apache/log4j/package-tree.html">org.apache.log4j</A>, <A HREF="org/apache/log4j/filter/package-tree.html">org.apache.log4j.filter</A>, <A HREF="org/apache/log4j/pattern/package-tree.html">org.apache.log4j.pattern</A>, <A HREF="org/apache/log4j/rolling/package-tree.html">org.apache.log4j.rolling</A>, <A HREF="org/apache/log4j/rolling/helper/package-tree.html">org.apache.log4j.rolling.helper</A>, <A HREF="org/apache/log4j/rule/package-tree.html">org.apache.log4j.rule</A>, <A HREF="org/apache/log4j/util/package-tree.html">org.apache.log4j.util</A>, <A HREF="org/apache/log4j/xml/package-tree.html">org.apache.log4j.xml</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">java.lang.Object<UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/AbsoluteDateAndTimeFilter.html" title="class in org.apache.log4j.util"><B>AbsoluteDateAndTimeFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/AbsoluteTimeFilter.html" title="class in org.apache.log4j.util"><B>AbsoluteTimeFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="../apidocs/org/apache/log4j/AppenderSkeleton.html?is-external=true" title="class or interface in org.apache.log4j"><B>AppenderSkeleton</B></A> (implements org.apache.log4j.<A HREF="../apidocs/org/apache/log4j/Appender.html?is-external=true" title="class or interface in org.apache.log4j">Appender</A>, org.apache.log4j.spi.<A HREF="../apidocs/org/apache/log4j/spi/OptionHandler.html?is-external=true" title="class or interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/VectorAppender.html" title="class in org.apache.log4j"><B>VectorAppender</B></A></UL> +<LI TYPE="circle">junit.framework.Assert<UL> +<LI TYPE="circle">junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">org.apache.log4j.filter.<A HREF="org/apache/log4j/filter/AndFilterTest.html" title="class in org.apache.log4j.filter"><B>AndFilterTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/AndRuleTest.html" title="class in org.apache.log4j.rule"><B>AndRuleTest</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/CachedDateFormatTest.html" title="class in org.apache.log4j.pattern"><B>CachedDateFormatTest</B></A><LI TYPE="circle">org.apache.log4j.rolling.<A HREF="org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" title="class in org.apache.log4j.rolling"><B>CompositeTriggeringPolicyTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="org/apache/log4j/filter/DenyAllFilterTest.html" title="class in org.apache.log4j.filter"><B>DenyAllFilterTest</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/EnhancedPatternLayoutTestCase.html" title="class in org.apache.log4j"><B>EnhancedPatternLayoutTestCase</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/EqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>EqualsRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/ExistsRuleTest.html" title="class in org.apache.log4j.rule"><B>ExistsRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rolling.helper.<A HREF="org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" title="class in org.apache.log4j.rolling.helper"><B>FileNamePatternTestCase</B></A><LI TYPE="circle">org.apache.log4j.rolling.<A HREF="org/apache/log4j/rolling/FilterBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>FilterBasedRollingTest</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/FormattingInfoTest.html" title="class in org.apache.log4j.pattern"><B>FormattingInfoTest</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LayoutTest.html" title="class in org.apache.log4j"><B>LayoutTest</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/EnhancedPatternLayoutTest.html" title="class in org.apache.log4j"><B>EnhancedPatternLayoutTest</B></A><LI TYPE="circle">org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/XSLTLayoutTest.html" title="class in org.apache.log4j.xml"><B>XSLTLayoutTest</B></A></UL> +<LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/LevelEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>LevelEqualsRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/LevelInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>LevelInequalityRuleTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="org/apache/log4j/filter/LevelMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>LevelMatchFilterTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="org/apache/log4j/filter/LevelRangeFilterTest.html" title="class in org.apache.log4j.filter"><B>LevelRangeFilterTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="org/apache/log4j/filter/LoggerMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>LoggerMatchFilterTest</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/NameAbbreviatorTest.html" title="class in org.apache.log4j.pattern"><B>NameAbbreviatorTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/NotEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>NotEqualsRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/NotRuleTest.html" title="class in org.apache.log4j.rule"><B>NotRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/OrRuleTest.html" title="class in org.apache.log4j.rule"><B>OrRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/PartialTextMatchRuleTest.html" title="class in org.apache.log4j.rule"><B>PartialTextMatchRuleTest</B></A><LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/PatternParserTest.html" title="class in org.apache.log4j.pattern"><B>PatternParserTest</B></A><LI TYPE="circle">org.apache.log4j.rolling.<A HREF="org/apache/log4j/rolling/RenamingTest.html" title="class in org.apache.log4j.rolling"><B>RenamingTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="org/apache/log4j/filter/SimpleFilterTest.html" title="class in org.apache.log4j.filter"><B>SimpleFilterTest</B></A><LI TYPE="circle">org.apache.log4j.rolling.<A HREF="org/apache/log4j/rolling/SizeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>SizeBasedRollingTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="org/apache/log4j/filter/StringMatchFilterTest.html" title="class in org.apache.log4j.filter"><B>StringMatchFilterTest</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/TestLogMF.html" title="class in org.apache.log4j"><B>TestLogMF</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/TestLogSF.html" title="class in org.apache.log4j"><B>TestLogSF</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/TestLogXF.html" title="class in org.apache.log4j"><B>TestLogXF</B></A><LI TYPE="circle">org.apache.log4j.rolling.<A HREF="org/apache/log4j/rolling/TimeBasedRollingTest.html" title="class in org.apache.log4j.rolling"><B>TimeBasedRollingTest</B></A><LI TYPE="circle">org.apache.log4j.filter.<A HREF="org/apache/log4j/filter/TimeFilterTest.html" title="class in org.apache.log4j.filter"><B>TimeFilterTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/TimestampEqualsRuleTest.html" title="class in org.apache.log4j.rule"><B>TimestampEqualsRuleTest</B></A><LI TYPE="circle">org.apache.log4j.rule.<A HREF="org/apache/log4j/rule/TimestampInequalityRuleTest.html" title="class in org.apache.log4j.rule"><B>TimestampInequalityRuleTest</B></A><LI TYPE="circle">org.apache.log4j.xml.<A HREF="org/apache/log4j/xml/XSLTLayoutTestCase.html" title="class in org.apache.log4j.xml"><B>XSLTLayoutTestCase</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/Compare.html" title="class in org.apache.log4j.util"><B>Compare</B></A><LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/ControlFilter.html" title="class in org.apache.log4j.util"><B>ControlFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/ISO8601Filter.html" title="class in org.apache.log4j.util"><B>ISO8601Filter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/JunitTestRunnerFilter.html" title="class in org.apache.log4j.util"><B>JunitTestRunnerFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="../apidocs/org/apache/log4j/Layout.html?is-external=true" title="class or interface in org.apache.log4j"><B>Layout</B></A> (implements org.apache.log4j.spi.<A HREF="../apidocs/org/apache/log4j/spi/OptionHandler.html?is-external=true" title="class or interface in org.apache.log4j.spi">OptionHandler</A>) +<UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="../apidocs/org/apache/log4j/EnhancedPatternLayout.html?is-external=true" title="class or interface in org.apache.log4j"><B>EnhancedPatternLayout</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/EnhancedMyPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedMyPatternLayout</B></A><LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/EnhancedPatternLayoutTest.DerivedPatternLayout.html" title="class in org.apache.log4j"><B>EnhancedPatternLayoutTest.DerivedPatternLayout</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/LineNumberFilter.html" title="class in org.apache.log4j.util"><B>LineNumberFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/LogCapture.html" title="class in org.apache.log4j"><B>LogCapture</B></A><LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/MDCOrderFilter.html" title="class in org.apache.log4j.util"><B>MDCOrderFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../apidocs/org/apache/log4j/pattern/PatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern"><B>PatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="../apidocs/org/apache/log4j/pattern/LoggingEventPatternConverter.html?is-external=true" title="class or interface in org.apache.log4j.pattern"><B>LoggingEventPatternConverter</B></A><UL> +<LI TYPE="circle">org.apache.log4j.pattern.<A HREF="org/apache/log4j/pattern/Num343PatternConverter.html" title="class in org.apache.log4j.pattern"><B>Num343PatternConverter</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.helpers.<A HREF="../apidocs/org/apache/log4j/helpers/PatternParser.html?is-external=true" title="class or interface in org.apache.log4j.helpers"><B>PatternParser</B></A><UL> +<LI TYPE="circle">org.apache.log4j.<A HREF="org/apache/log4j/MyPatternParser.html" title="class in org.apache.log4j"><B>MyPatternParser</B></A></UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/RelativeTimeFilter.html" title="class in org.apache.log4j.util"><B>RelativeTimeFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/SerializationTestHelper.html" title="class in org.apache.log4j.util"><B>SerializationTestHelper</B></A><LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/SunReflectFilter.html" title="class in org.apache.log4j.util"><B>SunReflectFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable) +<UL> +<LI TYPE="circle">java.lang.Exception<UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util"><B>UnexpectedFormatException</B></A></UL> +</UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/Transformer.html" title="class in org.apache.log4j.util"><B>Transformer</B></A><LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/XMLDateFilter.html" title="class in org.apache.log4j.util"><B>XMLDateFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/XMLLineAttributeFilter.html" title="class in org.apache.log4j.util"><B>XMLLineAttributeFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/XMLTimestampFilter.html" title="class in org.apache.log4j.util"><B>XMLTimestampFilter</B></A> (implements org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util">Filter</A>) +</UL> +</UL> +<H2> +Interface Hierarchy +</H2> +<UL> +<LI TYPE="circle">org.apache.log4j.util.<A HREF="org/apache/log4j/util/Filter.html" title="interface in org.apache.log4j.util"><B>Filter</B></A></UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/package-list b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/package-list new file mode 100644 index 00000000000..23b3bcf1cf4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/package-list @@ -0,0 +1,8 @@ +org.apache.log4j +org.apache.log4j.filter +org.apache.log4j.pattern +org.apache.log4j.rolling +org.apache.log4j.rolling.helper +org.apache.log4j.rule +org.apache.log4j.util +org.apache.log4j.xml diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/packages b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/packages new file mode 100644 index 00000000000..c8410374144 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/packages @@ -0,0 +1,8 @@ +org.apache.log4j +org.apache.log4j.rolling +org.apache.log4j.rolling.helper +org.apache.log4j.pattern +org.apache.log4j.xml +org.apache.log4j.filter +org.apache.log4j.util +org.apache.log4j.rule \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/resources/inherit.gif b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/resources/inherit.gif new file mode 100644 index 0000000000000000000000000000000000000000..c814867a13deb0ca7ea2156c6ca1d5a03372af7e GIT binary patch literal 57 zcmZ?wbhEHb<Y(YxXkcLY|NlP&1A`6_Gk`=Gm?T>IIT!9-C*e{wE9>Kx3D)-;0v)C; KYxQGgum%9JOA&7X literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/serialized-form.html b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/serialized-form.html new file mode 100644 index 00000000000..53488b13c18 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/serialized-form.html @@ -0,0 +1,1180 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.6.0_20) on Mon Nov 15 20:15:47 CST 2010 --> +<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<TITLE> +Serialized Form (Apache Extras Companion™ for Apache log4j™. 1.1 Test API) +</TITLE> + +<META NAME="date" CONTENT="2010-11-15"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="Serialized Form (Apache Extras Companion™ for Apache log4j™. 1.1 Test API)"; + } +} +</SCRIPT> +<NOSCRIPT> +</NOSCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> +<HR> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +Serialized Form</H1> +</CENTER> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.Level"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/Level.html?is-external=true" title="class or interface in org.apache.log4j">org.apache.log4j.Level</A> extends <A HREF="../apidocs/org/apache/log4j/Priority.html?is-external=true" title="class or interface in org.apache.log4j">Priority</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>3491141966387921974L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(java.io.ObjectInputStream&nbsp;arg0) + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(java.io.ObjectOutputStream&nbsp;arg0) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DD> +</DL> +</DL> +<HR> +<A NAME="readResolve()"><!-- --></A><H3> +readResolve</H3> +<PRE> +private java.lang.Object <B>readResolve</B>() + throws java.io.ObjectStreamException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.ObjectStreamException</CODE></DD> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.pattern</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.pattern.CachedDateFormat"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/pattern/CachedDateFormat.html?is-external=true" title="class or interface in org.apache.log4j.pattern">org.apache.log4j.pattern.CachedDateFormat</A> extends java.text.DateFormat implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>1L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +formatter</H3> +<PRE> +java.text.DateFormat <B>formatter</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +millisecondStart</H3> +<PRE> +int <B>millisecondStart</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +slotBegin</H3> +<PRE> +long <B>slotBegin</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +cache</H3> +<PRE> +java.lang.StringBuffer <B>cache</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +expiration</H3> +<PRE> +int <B>expiration</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +previousTime</H3> +<PRE> +long <B>previousTime</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +tmpDate</H3> +<PRE> +java.util.Date <B>tmpDate</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.pattern.LogEvent"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/pattern/LogEvent.html?is-external=true" title="class or interface in org.apache.log4j.pattern">org.apache.log4j.pattern.LogEvent</A> extends java.lang.Object implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-868428216207166145L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(java.io.ObjectInputStream&nbsp;arg0) + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(java.io.ObjectOutputStream&nbsp;arg0) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DD> +</DL> +</DL> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +categoryName</H3> +<PRE> +java.lang.String <B>categoryName</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +ndc</H3> +<PRE> +java.lang.String <B>ndc</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +mdcCopy</H3> +<PRE> +java.util.Hashtable&lt;K,V&gt; <B>mdcCopy</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +ndcLookupRequired</H3> +<PRE> +boolean <B>ndcLookupRequired</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +mdcCopyLookupRequired</H3> +<PRE> +boolean <B>mdcCopyLookupRequired</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +renderedMessage</H3> +<PRE> +java.lang.String <B>renderedMessage</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +threadName</H3> +<PRE> +java.lang.String <B>threadName</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +throwableInfo</H3> +<PRE> +<A HREF="../apidocs/org/apache/log4j/spi/ThrowableInformation.html?is-external=true" title="class or interface in org.apache.log4j.spi">ThrowableInformation</A> <B>throwableInfo</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +timeStamp</H3> +<PRE> +long <B>timeStamp</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +locationInfo</H3> +<PRE> +<A HREF="../apidocs/org/apache/log4j/spi/LocationInfo.html?is-external=true" title="class or interface in org.apache.log4j.spi">LocationInfo</A> <B>locationInfo</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.rule</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.rule.AbstractRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.AbstractRule</A> extends java.lang.Object implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-2844288145563025172L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +propertySupport</H3> +<PRE> +java.beans.PropertyChangeSupport <B>propertySupport</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.AndRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/AndRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.AndRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-8233444426923854651L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +firstRule</H3> +<PRE> +<A HREF="../apidocs/org/apache/log4j/rule/Rule.html?is-external=true" title="class or interface in org.apache.log4j.rule">Rule</A> <B>firstRule</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +secondRule</H3> +<PRE> +<A HREF="../apidocs/org/apache/log4j/rule/Rule.html?is-external=true" title="class or interface in org.apache.log4j.rule">Rule</A> <B>secondRule</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.ColorRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/ColorRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.ColorRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-794434783372847773L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +rule</H3> +<PRE> +<A HREF="../apidocs/org/apache/log4j/rule/Rule.html?is-external=true" title="class or interface in org.apache.log4j.rule">Rule</A> <B>rule</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +foregroundColor</H3> +<PRE> +java.awt.Color <B>foregroundColor</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +backgroundColor</H3> +<PRE> +java.awt.Color <B>backgroundColor</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +expression</H3> +<PRE> +java.lang.String <B>expression</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.EqualsRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/EqualsRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.EqualsRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>1712851553477517245L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +value</H3> +<PRE> +java.lang.String <B>value</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +field</H3> +<PRE> +java.lang.String <B>field</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.ExistsRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/ExistsRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.ExistsRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-5386265224649967464L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +field</H3> +<PRE> +java.lang.String <B>field</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.ExpressionRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/ExpressionRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.ExpressionRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>5809121703146893729L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +rule</H3> +<PRE> +<A HREF="../apidocs/org/apache/log4j/rule/Rule.html?is-external=true" title="class or interface in org.apache.log4j.rule">Rule</A> <B>rule</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.InequalityRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/InequalityRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.InequalityRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-5592986598528885122L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +field</H3> +<PRE> +java.lang.String <B>field</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +value</H3> +<PRE> +java.lang.String <B>value</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +inequalitySymbol</H3> +<PRE> +java.lang.String <B>inequalitySymbol</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.LevelEqualsRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/LevelEqualsRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.LevelEqualsRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-3638386582899583994L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(java.io.ObjectInputStream&nbsp;arg0) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(java.io.ObjectOutputStream&nbsp;arg0) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DD> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.LikeRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/LikeRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.LikeRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-3375458885595683156L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(java.io.ObjectInputStream&nbsp;arg0) + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(java.io.ObjectOutputStream&nbsp;arg0) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DD> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.NotEqualsRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/NotEqualsRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.NotEqualsRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-1135478467213793211L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +field</H3> +<PRE> +java.lang.String <B>field</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +value</H3> +<PRE> +java.lang.String <B>value</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.NotLevelEqualsRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/NotLevelEqualsRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.NotLevelEqualsRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-3638386582899583994L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(java.io.ObjectInputStream&nbsp;arg0) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(java.io.ObjectOutputStream&nbsp;arg0) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DD> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.NotRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/NotRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.NotRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-6827159473117969306L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +rule</H3> +<PRE> +<A HREF="../apidocs/org/apache/log4j/rule/Rule.html?is-external=true" title="class or interface in org.apache.log4j.rule">Rule</A> <B>rule</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.OrRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/OrRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.OrRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>2088765995061413165L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +rule1</H3> +<PRE> +<A HREF="../apidocs/org/apache/log4j/rule/Rule.html?is-external=true" title="class or interface in org.apache.log4j.rule">Rule</A> <B>rule1</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +rule2</H3> +<PRE> +<A HREF="../apidocs/org/apache/log4j/rule/Rule.html?is-external=true" title="class or interface in org.apache.log4j.rule">Rule</A> <B>rule2</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.PartialTextMatchRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/PartialTextMatchRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.PartialTextMatchRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>6963284773637727558L + +<P> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +field</H3> +<PRE> +java.lang.String <B>field</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> +<H3> +value</H3> +<PRE> +java.lang.String <B>value</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.TimestampEqualsRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/TimestampEqualsRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.TimestampEqualsRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>1639079557187790321L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(java.io.ObjectInputStream&nbsp;arg0) + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(java.io.ObjectOutputStream&nbsp;arg0) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DD> +</DL> +</DL> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +timeStamp</H3> +<PRE> +long <B>timeStamp</B></PRE> +<DL> +<DL> +</DL> +</DL> + +<P> +<A NAME="org.apache.log4j.rule.TimestampInequalityRule"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="../apidocs/org/apache/log4j/rule/TimestampInequalityRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">org.apache.log4j.rule.TimestampInequalityRule</A> extends <A HREF="../apidocs/org/apache/log4j/rule/AbstractRule.html?is-external=true" title="class or interface in org.apache.log4j.rule">AbstractRule</A> implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> +<B>serialVersionUID:&nbsp;</B>-4642641663914789241L + +<P> +<A NAME="serialized_methods"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialization Methods</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3> +readObject</H3> +<PRE> +private void <B>readObject</B>(java.io.ObjectInputStream&nbsp;arg0) + throws java.io.IOException, + java.lang.ClassNotFoundException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE> +<DD><CODE>java.lang.ClassNotFoundException</CODE></DD> +</DL> +</DL> +<HR> +<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3> +writeObject</H3> +<PRE> +private void <B>writeObject</B>(java.io.ObjectOutputStream&nbsp;arg0) + throws java.io.IOException</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.io.IOException</CODE></DD> +</DL> +</DL> +<A NAME="serializedForm"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Serialized Fields</B></FONT></TH> +</TR> +</TABLE> + +<H3> +timeStamp</H3> +<PRE> +long <B>timeStamp</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR SIZE="4" NOSHADE> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="center"><FONT SIZE="+2"> +<B>Package</B> <B>org.apache.log4j.util</B></FONT></TH> +</TR> +</TABLE> + +<P> +<A NAME="org.apache.log4j.util.UnexpectedFormatException"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Class <A HREF="org/apache/log4j/util/UnexpectedFormatException.html" title="class in org.apache.log4j.util">org.apache.log4j.util.UnexpectedFormatException</A> extends java.lang.Exception implements Serializable</B></FONT></TH> +</TR> +</TABLE> + +<P> + +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> +&nbsp;PREV&nbsp; +&nbsp;NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A> &nbsp; +&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A> &nbsp; +&nbsp;<SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> +<p>Copyright © 2010 The Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p> <p>Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.</p> +</BODY> +</HTML> diff --git a/thirdparty/apache-log4j-extras-1.1/site/testapidocs/stylesheet.css b/thirdparty/apache-log4j-extras-1.1/site/testapidocs/stylesheet.css new file mode 100644 index 00000000000..6ea9e516161 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/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/thirdparty/apache-log4j-extras-1.0/site/xref-test/allclasses-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/allclasses-frame.html similarity index 62% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/allclasses-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/allclasses-frame.html index 8208dbd8a1e..4b6ae063422 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/allclasses-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/allclasses-frame.html @@ -16,15 +16,42 @@ </li> <li> <a href="org/apache/log4j/util/AbsoluteTimeFilter.html" target="classFrame">AbsoluteTimeFilter</a> + </li> + <li> + <a href="org/apache/log4j/filter/AndFilterTest.html" target="classFrame">AndFilterTest</a> + </li> + <li> + <a href="org/apache/log4j/rule/AndRuleTest.html" target="classFrame">AndRuleTest</a> </li> <li> <a href="org/apache/log4j/pattern/CachedDateFormatTest.html" target="classFrame">CachedDateFormatTest</a> </li> <li> <a href="org/apache/log4j/util/Compare.html" target="classFrame">Compare</a> + </li> + <li> + <a href="org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html" target="classFrame">CompositeTriggeringPolicyTest</a> </li> <li> <a href="org/apache/log4j/util/ControlFilter.html" target="classFrame">ControlFilter</a> + </li> + <li> + <a href="org/apache/log4j/filter/DenyAllFilterTest.html" target="classFrame">DenyAllFilterTest</a> + </li> + <li> + <a href="org/apache/log4j/EnhancedMyPatternLayout.html" target="classFrame">EnhancedMyPatternLayout</a> + </li> + <li> + <a href="org/apache/log4j/EnhancedPatternLayoutTest.html" target="classFrame">EnhancedPatternLayoutTest</a> + </li> + <li> + <a href="org/apache/log4j/EnhancedPatternLayoutTestCase.html" target="classFrame">EnhancedPatternLayoutTestCase</a> + </li> + <li> + <a href="org/apache/log4j/rule/EqualsRuleTest.html" target="classFrame">EqualsRuleTest</a> + </li> + <li> + <a href="org/apache/log4j/rule/ExistsRuleTest.html" target="classFrame">ExistsRuleTest</a> </li> <li> <a href="org/apache/log4j/rolling/helper/FileNamePatternTestCase.html" target="classFrame">FileNamePatternTestCase</a> @@ -46,6 +73,18 @@ </li> <li> <a href="org/apache/log4j/LayoutTest.html" target="classFrame">LayoutTest</a> + </li> + <li> + <a href="org/apache/log4j/rule/LevelEqualsRuleTest.html" target="classFrame">LevelEqualsRuleTest</a> + </li> + <li> + <a href="org/apache/log4j/rule/LevelInequalityRuleTest.html" target="classFrame">LevelInequalityRuleTest</a> + </li> + <li> + <a href="org/apache/log4j/filter/LevelMatchFilterTest.html" target="classFrame">LevelMatchFilterTest</a> + </li> + <li> + <a href="org/apache/log4j/filter/LevelRangeFilterTest.html" target="classFrame">LevelRangeFilterTest</a> </li> <li> <a href="org/apache/log4j/util/LineNumberFilter.html" target="classFrame">LineNumberFilter</a> @@ -54,25 +93,31 @@ <a href="org/apache/log4j/LogCapture.html" target="classFrame">LogCapture</a> </li> <li> - <a href="org/apache/log4j/util/MDCOrderFilter.html" target="classFrame">MDCOrderFilter</a> + <a href="org/apache/log4j/filter/LoggerMatchFilterTest.html" target="classFrame">LoggerMatchFilterTest</a> </li> <li> - <a href="org/apache/log4j/MyPatternLayout.html" target="classFrame">MyPatternLayout</a> + <a href="org/apache/log4j/util/MDCOrderFilter.html" target="classFrame">MDCOrderFilter</a> </li> <li> <a href="org/apache/log4j/MyPatternParser.html" target="classFrame">MyPatternParser</a> </li> <li> <a href="org/apache/log4j/pattern/NameAbbreviatorTest.html" target="classFrame">NameAbbreviatorTest</a> + </li> + <li> + <a href="org/apache/log4j/rule/NotEqualsRuleTest.html" target="classFrame">NotEqualsRuleTest</a> + </li> + <li> + <a href="org/apache/log4j/rule/NotRuleTest.html" target="classFrame">NotRuleTest</a> </li> <li> <a href="org/apache/log4j/pattern/Num343PatternConverter.html" target="classFrame">Num343PatternConverter</a> </li> <li> - <a href="org/apache/log4j/PatternLayoutTest.html" target="classFrame">PatternLayoutTest</a> + <a href="org/apache/log4j/rule/OrRuleTest.html" target="classFrame">OrRuleTest</a> </li> <li> - <a href="org/apache/log4j/PatternLayoutTestCase.html" target="classFrame">PatternLayoutTestCase</a> + <a href="org/apache/log4j/rule/PartialTextMatchRuleTest.html" target="classFrame">PartialTextMatchRuleTest</a> </li> <li> <a href="org/apache/log4j/pattern/PatternParserTest.html" target="classFrame">PatternParserTest</a> @@ -82,12 +127,18 @@ </li> <li> <a href="org/apache/log4j/rolling/RenamingTest.html" target="classFrame">RenamingTest</a> + </li> + <li> + <a href="org/apache/log4j/util/SerializationTestHelper.html" target="classFrame">SerializationTestHelper</a> </li> <li> <a href="org/apache/log4j/filter/SimpleFilterTest.html" target="classFrame">SimpleFilterTest</a> </li> <li> <a href="org/apache/log4j/rolling/SizeBasedRollingTest.html" target="classFrame">SizeBasedRollingTest</a> + </li> + <li> + <a href="org/apache/log4j/filter/StringMatchFilterTest.html" target="classFrame">StringMatchFilterTest</a> </li> <li> <a href="org/apache/log4j/util/SunReflectFilter.html" target="classFrame">SunReflectFilter</a> @@ -97,12 +148,21 @@ </li> <li> <a href="org/apache/log4j/TestLogSF.html" target="classFrame">TestLogSF</a> + </li> + <li> + <a href="org/apache/log4j/TestLogXF.html" target="classFrame">TestLogXF</a> </li> <li> <a href="org/apache/log4j/rolling/TimeBasedRollingTest.html" target="classFrame">TimeBasedRollingTest</a> </li> <li> <a href="org/apache/log4j/filter/TimeFilterTest.html" target="classFrame">TimeFilterTest</a> + </li> + <li> + <a href="org/apache/log4j/rule/TimestampEqualsRuleTest.html" target="classFrame">TimestampEqualsRuleTest</a> + </li> + <li> + <a href="org/apache/log4j/rule/TimestampInequalityRuleTest.html" target="classFrame">TimestampInequalityRuleTest</a> </li> <li> <a href="org/apache/log4j/util/Transformer.html" target="classFrame">Transformer</a> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/index.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/index.html similarity index 88% rename from thirdparty/apache-log4j-extras-1.0/site/xref/index.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/index.html index c17baf863e6..1aecaefec89 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/index.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/index.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference</title> + <title>Apache Extras Companion™ for Apache log4j™. 1.1 Reference</title> </head> <frameset cols="20%,80%"> <frameset rows="30%,70%"> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/MyPatternLayout.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedMyPatternLayout.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/MyPatternLayout.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedMyPatternLayout.html index ed040f83eba..35e1543d879 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/MyPatternLayout.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedMyPatternLayout.html @@ -1,11 +1,11 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>MyPatternLayout xref</title> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>EnhancedMyPatternLayout xref</title> <link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> </head> <body> -<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/MyPatternLayout.html">View Javadoc</a></div><pre> +<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/EnhancedMyPatternLayout.html">View Javadoc</a></div><pre> <a name="1" href="#1">1</a> <em class="comment">/*</em> <a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> @@ -43,14 +43,14 @@ <a name="34" href="#34">34</a> <em> @see org.apache.log4j.EnhancedPatternLayout</em> <a name="35" href="#35">35</a> <em> @author Anders Kristensen</em> <a name="36" href="#36">36</a> <em>*/</em> -<a name="37" href="#37">37</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/MyPatternLayout.html">MyPatternLayout</a> <strong>extends</strong> EnhancedPatternLayout { +<a name="37" href="#37">37</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/EnhancedMyPatternLayout.html">EnhancedMyPatternLayout</a> <strong>extends</strong> EnhancedPatternLayout { <a name="38" href="#38">38</a> <strong>public</strong> -<a name="39" href="#39">39</a> <a href="../../../org/apache/log4j/MyPatternLayout.html">MyPatternLayout</a>() { +<a name="39" href="#39">39</a> <a href="../../../org/apache/log4j/EnhancedMyPatternLayout.html">EnhancedMyPatternLayout</a>() { <a name="40" href="#40">40</a> <strong>this</strong>(DEFAULT_CONVERSION_PATTERN); <a name="41" href="#41">41</a> } <a name="42" href="#42">42</a> <a name="43" href="#43">43</a> <strong>public</strong> -<a name="44" href="#44">44</a> <a href="../../../org/apache/log4j/MyPatternLayout.html">MyPatternLayout</a>(String pattern) { +<a name="44" href="#44">44</a> <a href="../../../org/apache/log4j/EnhancedMyPatternLayout.html">EnhancedMyPatternLayout</a>(String pattern) { <a name="45" href="#45">45</a> <strong>super</strong>(pattern); <a name="46" href="#46">46</a> } <a name="47" href="#47">47</a> diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTest.html new file mode 100644 index 00000000000..7105c3f9e12 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTest.html @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>EnhancedPatternLayoutTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/EnhancedPatternLayoutTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em>/**<em>*</em></em> +<a name="24" href="#24">24</a> <em> * Test for EnhancedPatternLayout.</em> +<a name="25" href="#25">25</a> <em> *</em> +<a name="26" href="#26">26</a> <em> */</em> +<a name="27" href="#27">27</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTest.html">EnhancedPatternLayoutTest</a> <strong>extends</strong> <a href="../../../org/apache/log4j/LayoutTest.html">LayoutTest</a> { +<a name="28" href="#28">28</a> <em>/**<em>*</em></em> +<a name="29" href="#29">29</a> <em> * Construct new instance of PatternLayoutTest.</em> +<a name="30" href="#30">30</a> <em> *</em> +<a name="31" href="#31">31</a> <em> * @param testName test name.</em> +<a name="32" href="#32">32</a> <em> */</em> +<a name="33" href="#33">33</a> <strong>public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTest.html">EnhancedPatternLayoutTest</a>(<strong>final</strong> String testName) { +<a name="34" href="#34">34</a> <strong>super</strong>(testName, <span class="string">"text/plain"</span>, <strong>true</strong>, <strong>null</strong>, <strong>null</strong>); +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em>/**<em>*</em></em> +<a name="38" href="#38">38</a> <em> * @{inheritDoc}</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>protected</strong> Layout createLayout() { +<a name="41" href="#41">41</a> <strong>return</strong> <strong>new</strong> EnhancedPatternLayout(<span class="string">"[%t] %p %c - %m%n"</span>); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * Tests format.</em> +<a name="46" href="#46">46</a> <em> */</em> +<a name="47" href="#47">47</a> <strong>public</strong> <strong>void</strong> testFormat() { +<a name="48" href="#48">48</a> Logger logger = Logger.getLogger(<span class="string">"org.apache.log4j.LayoutTest"</span>); +<a name="49" href="#49">49</a> LoggingEvent event = +<a name="50" href="#50">50</a> <strong>new</strong> LoggingEvent( +<a name="51" href="#51">51</a> <span class="string">"org.apache.log4j.Logger"</span>, logger, Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="52" href="#52">52</a> EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); +<a name="53" href="#53">53</a> String result = layout.format(event); +<a name="54" href="#54">54</a> StringBuffer buf = <strong>new</strong> StringBuffer(100); +<a name="55" href="#55">55</a> buf.append('['); +<a name="56" href="#56">56</a> buf.append(event.getThreadName()); +<a name="57" href="#57">57</a> buf.append(<span class="string">"] "</span>); +<a name="58" href="#58">58</a> buf.append(event.getLevel().toString()); +<a name="59" href="#59">59</a> buf.append(' '); +<a name="60" href="#60">60</a> buf.append(event.getLoggerName()); +<a name="61" href="#61">61</a> buf.append(<span class="string">" - "</span>); +<a name="62" href="#62">62</a> buf.append(event.getMessage()); +<a name="63" href="#63">63</a> buf.append(System.getProperty(<span class="string">"line.separator"</span>)); +<a name="64" href="#64">64</a> assertEquals(buf.toString(), result); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em>/**<em>*</em></em> +<a name="68" href="#68">68</a> <em> * Tests getPatternFormat().</em> +<a name="69" href="#69">69</a> <em> */</em> +<a name="70" href="#70">70</a> <strong>public</strong> <strong>void</strong> testGetPatternFormat() { +<a name="71" href="#71">71</a> EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); +<a name="72" href="#72">72</a> assertEquals(<span class="string">"[%t] %p %c - %m%n"</span>, layout.getConversionPattern()); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em>/**<em>*</em></em> +<a name="76" href="#76">76</a> <em> * Tests DEFAULT_CONVERSION_PATTERN constant.</em> +<a name="77" href="#77">77</a> <em> */</em> +<a name="78" href="#78">78</a> <strong>public</strong> <strong>void</strong> testDefaultConversionPattern() { +<a name="79" href="#79">79</a> assertEquals(<span class="string">"%m%n"</span>, EnhancedPatternLayout.DEFAULT_CONVERSION_PATTERN); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em>/**<em>*</em></em> +<a name="83" href="#83">83</a> <em> * Tests DEFAULT_CONVERSION_PATTERN constant.</em> +<a name="84" href="#84">84</a> <em> */</em> +<a name="85" href="#85">85</a> <strong>public</strong> <strong>void</strong> testTTCCConversionPattern() { +<a name="86" href="#86">86</a> assertEquals( +<a name="87" href="#87">87</a> <span class="string">"%r [%t] %p %c %x - %m%n"</span>, EnhancedPatternLayout.TTCC_CONVERSION_PATTERN); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em>/**<em>*</em></em> +<a name="91" href="#91">91</a> <em> * Tests buffer downsizing code path.</em> +<a name="92" href="#92">92</a> <em> */</em> +<a name="93" href="#93">93</a> <strong>public</strong> <strong>void</strong> testFormatResize() { +<a name="94" href="#94">94</a> Logger logger = Logger.getLogger(<span class="string">"org.apache.log4j.xml.PatternLayoutTest"</span>); +<a name="95" href="#95">95</a> NDC.clear(); +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <strong>char</strong>[] msg = <strong>new</strong> <strong>char</strong>[2000]; +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; msg.length; i++) { +<a name="100" href="#100">100</a> msg[i] = 'A'; +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> LoggingEvent event1 = +<a name="104" href="#104">104</a> <strong>new</strong> LoggingEvent( +<a name="105" href="#105">105</a> <span class="string">"org.apache.log4j.Logger"</span>, logger, Level.DEBUG, <strong>new</strong> String(msg), <strong>null</strong>); +<a name="106" href="#106">106</a> EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); +<a name="107" href="#107">107</a> String result = layout.format(event1); +<a name="108" href="#108">108</a> LoggingEvent event2 = +<a name="109" href="#109">109</a> <strong>new</strong> LoggingEvent( +<a name="110" href="#110">110</a> <span class="string">"org.apache.log4j.Logger"</span>, logger, Level.WARN, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="111" href="#111">111</a> result = layout.format(event2); +<a name="112" href="#112">112</a> assertEquals(<span class="string">"["</span>, result.substring(0, 1)); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em>/**<em>*</em></em> +<a name="116" href="#116">116</a> <em> * Class to ensure that protected members are still available.</em> +<a name="117" href="#117">117</a> <em> */</em> +<a name="118" href="#118">118</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> DerivedPatternLayout <strong>extends</strong> EnhancedPatternLayout { +<a name="119" href="#119">119</a> <em>/**<em>*</em></em> +<a name="120" href="#120">120</a> <em> * Constructs a new instance of DerivedPatternLayout.</em> +<a name="121" href="#121">121</a> <em> */</em> +<a name="122" href="#122">122</a> <strong>public</strong> DerivedPatternLayout() { +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em>/**<em>*</em></em> +<a name="126" href="#126">126</a> <em> * Get BUF_SIZE.</em> +<a name="127" href="#127">127</a> <em> * @return return initial buffer size in characters.</em> +<a name="128" href="#128">128</a> <em> * @deprecated</em> +<a name="129" href="#129">129</a> <em> */</em> +<a name="130" href="#130">130</a> <strong>public</strong> <strong>int</strong> getBufSize() { +<a name="131" href="#131">131</a> <strong>return</strong> BUF_SIZE; +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em>/**<em>*</em></em> +<a name="135" href="#135">135</a> <em> * Get MAX_CAPACITY.</em> +<a name="136" href="#136">136</a> <em> * @return maximum capacity in characters.</em> +<a name="137" href="#137">137</a> <em> * @deprecated</em> +<a name="138" href="#138">138</a> <em> */</em> +<a name="139" href="#139">139</a> <strong>public</strong> <strong>int</strong> getMaxCapacity() { +<a name="140" href="#140">140</a> <strong>return</strong> MAX_CAPACITY; +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTestCase.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTestCase.html new file mode 100644 index 00000000000..fe0ec5b42ff --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/EnhancedPatternLayoutTestCase.html @@ -0,0 +1,628 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>EnhancedPatternLayoutTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/EnhancedPatternLayoutTestCase.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.util.AbsoluteDateAndTimeFilter; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.util.AbsoluteTimeFilter; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.util.Compare; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.ControlFilter; +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.util.Filter; +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.util.ISO8601Filter; +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.util.JunitTestRunnerFilter; +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.util.LineNumberFilter; +<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.util.RelativeTimeFilter; +<a name="30" href="#30">30</a> <strong>import</strong> org.apache.log4j.util.SunReflectFilter; +<a name="31" href="#31">31</a> <strong>import</strong> org.apache.log4j.util.Transformer; +<a name="32" href="#32">32</a> <strong>import</strong> org.apache.log4j.util.MDCOrderFilter; +<a name="33" href="#33">33</a> <strong>import</strong> org.apache.log4j.spi.ThrowableInformation; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong>import</strong> java.text.ParsePosition; +<a name="36" href="#36">36</a> <strong>import</strong> java.text.SimpleDateFormat; +<a name="37" href="#37">37</a> <strong>import</strong> java.util.Date; +<a name="38" href="#38">38</a> <strong>import</strong> java.util.TimeZone; +<a name="39" href="#39">39</a> <strong>import</strong> java.io.*; +<a name="40" href="#40">40</a> <strong>import</strong> java.util.Properties; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html">EnhancedPatternLayoutTestCase</a> <strong>extends</strong> TestCase { +<a name="44" href="#44">44</a> <strong>static</strong> String TEMP = <span class="string">"temp"</span>; +<a name="45" href="#45">45</a> <strong>static</strong> String FILTERED = <span class="string">"filtered"</span>; +<a name="46" href="#46">46</a> <strong>static</strong> String EXCEPTION1 = <span class="string">"java.lang.Exception: Just testing"</span>; +<a name="47" href="#47">47</a> <strong>static</strong> String EXCEPTION2 = <span class="string">"&#47;&#47;s*at .*&#47;&#47;(.*:&#47;&#47;d{1,4}&#47;&#47;)"</span>; +<a name="48" href="#48">48</a> <strong>static</strong> String EXCEPTION3 = <span class="string">"&#47;&#47;s*at .*&#47;&#47;((Native Method|Unknown Source)&#47;&#47;)"</span>; +<a name="49" href="#49">49</a> <strong>static</strong> String EXCEPTION4 = <span class="string">"&#47;&#47;s*at .*&#47;&#47;(.*Compiled Code&#47;&#47;)"</span>; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong>static</strong> String PAT0 = +<a name="52" href="#52">52</a> <span class="string">"&#47;&#47;[main]&#47;&#47; (DEBUG|INFO|WARN|ERROR|FATAL) .* - Message &#47;&#47;d{1,2}"</span>; +<a name="53" href="#53">53</a> <strong>static</strong> String PAT1 = Filter.ISO8601_PAT + <span class="string">" "</span> + PAT0; +<a name="54" href="#54">54</a> <strong>static</strong> String PAT2 = Filter.ABSOLUTE_DATE_AND_TIME_PAT + <span class="string">" "</span> + PAT0; +<a name="55" href="#55">55</a> <strong>static</strong> String PAT3 = Filter.ABSOLUTE_TIME_PAT + <span class="string">" "</span> + PAT0; +<a name="56" href="#56">56</a> <strong>static</strong> String PAT4 = Filter.RELATIVE_TIME_PAT + <span class="string">" "</span> + PAT0; +<a name="57" href="#57">57</a> <strong>static</strong> String PAT5 = +<a name="58" href="#58">58</a> <span class="string">"&#47;&#47;[main]&#47;&#47; (DEBUG|INFO|WARN|ERROR|FATAL) .* : Message &#47;&#47;d{1,2}"</span>; +<a name="59" href="#59">59</a> <strong>static</strong> String PAT6 = +<a name="60" href="#60">60</a> <span class="string">"&#47;&#47;[main]&#47;&#47; (DEBUG|INFO |WARN |ERROR|FATAL) org.apache.log4j.EnhancedPatternLayoutTestCase.common&#47;&#47;(EnhancedPatternLayoutTestCase.java:&#47;&#47;d{1,4}&#47;&#47;): Message &#47;&#47;d{1,2}"</span>; +<a name="61" href="#61">61</a> <strong>static</strong> String PAT11a = +<a name="62" href="#62">62</a> <span class="string">"^(DEBUG|INFO |WARN |ERROR|FATAL) &#47;&#47;[main]&#47;&#47; log4j.EnhancedPatternLayoutTest: Message &#47;&#47;d{1,2}"</span>; +<a name="63" href="#63">63</a> <strong>static</strong> String PAT11b = +<a name="64" href="#64">64</a> <span class="string">"^(DEBUG|INFO |WARN |ERROR|FATAL) &#47;&#47;[main]&#47;&#47; root: Message &#47;&#47;d{1,2}"</span>; +<a name="65" href="#65">65</a> <strong>static</strong> String PAT12 = +<a name="66" href="#66">66</a> <span class="string">"^&#47;&#47;[main]&#47;&#47; (DEBUG|INFO |WARN |ERROR|FATAL) "</span> +<a name="67" href="#67">67</a> + <span class="string">"org.apache.log4j.EnhancedPatternLayoutTestCase.common&#47;&#47;(EnhancedPatternLayoutTestCase.java:&#47;&#47;d{3}&#47;&#47;): "</span> +<a name="68" href="#68">68</a> + <span class="string">"Message &#47;&#47;d{1,2}"</span>; +<a name="69" href="#69">69</a> <strong>static</strong> String PAT13 = +<a name="70" href="#70">70</a> <span class="string">"^&#47;&#47;[main]&#47;&#47; (DEBUG|INFO |WARN |ERROR|FATAL) "</span> +<a name="71" href="#71">71</a> + <span class="string">"apache.log4j.EnhancedPatternLayoutTestCase.common&#47;&#47;(EnhancedPatternLayoutTestCase.java:&#47;&#47;d{3}&#47;&#47;): "</span> +<a name="72" href="#72">72</a> + <span class="string">"Message &#47;&#47;d{1,2}"</span>; +<a name="73" href="#73">73</a> <strong>static</strong> String PAT14 = +<a name="74" href="#74">74</a> <span class="string">"^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL)&#47;&#47; &#47;&#47;d{1,2}&#47;&#47; *- Message &#47;&#47;d{1,2}"</span>; +<a name="75" href="#75">75</a> <strong>static</strong> String PAT_MDC_1 = <span class="string">""</span>; +<a name="76" href="#76">76</a> Logger root; +<a name="77" href="#77">77</a> Logger logger; +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong>public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayoutTestCase.html">EnhancedPatternLayoutTestCase</a>(<strong>final</strong> String name) { +<a name="80" href="#80">80</a> <strong>super</strong>(name); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong>public</strong> <strong>void</strong> setUp() { +<a name="84" href="#84">84</a> root = Logger.getRootLogger(); +<a name="85" href="#85">85</a> logger = Logger.getLogger(EnhancedPatternLayoutTest.<strong>class</strong>); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <strong>public</strong> <strong>void</strong> tearDown() { +<a name="89" href="#89">89</a> root.getLoggerRepository().resetConfiguration(); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em>/**<em>*</em></em> +<a name="93" href="#93">93</a> <em> * Configures log4j from a properties file resource in class loader path.</em> +<a name="94" href="#94">94</a> <em> * @param fileName resource name, only last element is significant.</em> +<a name="95" href="#95">95</a> <em> * @throws IOException if resource not found or error reading resource.</em> +<a name="96" href="#96">96</a> <em> */</em> +<a name="97" href="#97">97</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> configure(<strong>final</strong> String fileName) throws IOException { +<a name="98" href="#98">98</a> String resourceName = fileName; +<a name="99" href="#99">99</a> <strong>int</strong> lastSlash = resourceName.lastIndexOf(<span class="string">"/"</span>); +<a name="100" href="#100">100</a> <strong>if</strong> (lastSlash >= 0) { +<a name="101" href="#101">101</a> resourceName = resourceName.substring(lastSlash + 1); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> InputStream is = EnhancedPatternLayoutTestCase.<strong>class</strong>.getResourceAsStream(resourceName); +<a name="104" href="#104">104</a> <strong>if</strong> (is == <strong>null</strong>) { +<a name="105" href="#105">105</a> <strong>throw</strong> <strong>new</strong> FileNotFoundException(<span class="string">"Could not find resource "</span> + resourceName); +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> Properties props = <strong>new</strong> Properties(); +<a name="108" href="#108">108</a> props.load(is); +<a name="109" href="#109">109</a> PropertyConfigurator.configure(props); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em>/**<em>*</em></em> +<a name="113" href="#113">113</a> <em> * Compares actual and expected files.</em> +<a name="114" href="#114">114</a> <em> * @param actual file name for file generated by test</em> +<a name="115" href="#115">115</a> <em> * @param expected resource name containing expected output</em> +<a name="116" href="#116">116</a> <em> * @return true if files are the same after adjustments</em> +<a name="117" href="#117">117</a> <em> * @throws IOException if IO error during comparison.</em> +<a name="118" href="#118">118</a> <em> */</em> +<a name="119" href="#119">119</a> <strong>private</strong> <strong>static</strong> <strong>boolean</strong> compare(<strong>final</strong> String actual, +<a name="120" href="#120">120</a> <strong>final</strong> String expected) throws IOException { +<a name="121" href="#121">121</a> <strong>return</strong> Compare.compare(EnhancedPatternLayoutTestCase.<strong>class</strong>, actual, expected); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <strong>public</strong> <strong>void</strong> test1() throws Exception { +<a name="126" href="#126">126</a> configure(<span class="string">"input/pattern/enhancedPatternLayout1.properties"</span>); +<a name="127" href="#127">127</a> common(); +<a name="128" href="#128">128</a> Transformer.transform( +<a name="129" href="#129">129</a> TEMP, FILTERED, +<a name="130" href="#130">130</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="131" href="#131">131</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="132" href="#132">132</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="133" href="#133">133</a> }); +<a name="134" href="#134">134</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.1"</span>)); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <strong>public</strong> <strong>void</strong> test2() throws Exception { +<a name="138" href="#138">138</a> configure(<span class="string">"input/pattern/enhancedPatternLayout2.properties"</span>); +<a name="139" href="#139">139</a> common(); +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="142" href="#142">142</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="143" href="#143">143</a> <strong>new</strong> String[] { PAT1, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="144" href="#144">144</a> Transformer.transform( +<a name="145" href="#145">145</a> TEMP, FILTERED, +<a name="146" href="#146">146</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="147" href="#147">147</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> ISO8601Filter(), +<a name="148" href="#148">148</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() +<a name="149" href="#149">149</a> }); +<a name="150" href="#150">150</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.2"</span>)); +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong>public</strong> <strong>void</strong> test3() throws Exception { +<a name="154" href="#154">154</a> configure(<span class="string">"input/pattern/enhancedPatternLayout3.properties"</span>); +<a name="155" href="#155">155</a> common(); +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="158" href="#158">158</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="159" href="#159">159</a> <strong>new</strong> String[] { PAT1, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="160" href="#160">160</a> Transformer.transform( +<a name="161" href="#161">161</a> TEMP, FILTERED, +<a name="162" href="#162">162</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="163" href="#163">163</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> ISO8601Filter(), +<a name="164" href="#164">164</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() +<a name="165" href="#165">165</a> }); +<a name="166" href="#166">166</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.3"</span>)); +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em class="comment">// Output format:</em> +<a name="170" href="#170">170</a> <em class="comment">// 06 avr. 2002 18:30:58,937 [main] DEBUG atternLayoutTest - Message 0 </em> +<a name="171" href="#171">171</a> <strong>public</strong> <strong>void</strong> test4() throws Exception { +<a name="172" href="#172">172</a> configure(<span class="string">"input/pattern/enhancedPatternLayout4.properties"</span>); +<a name="173" href="#173">173</a> common(); +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="176" href="#176">176</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="177" href="#177">177</a> <strong>new</strong> String[] { PAT2, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="178" href="#178">178</a> Transformer.transform( +<a name="179" href="#179">179</a> TEMP, FILTERED, +<a name="180" href="#180">180</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="181" href="#181">181</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> AbsoluteDateAndTimeFilter(), +<a name="182" href="#182">182</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() +<a name="183" href="#183">183</a> }); +<a name="184" href="#184">184</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.4"</span>)); +<a name="185" href="#185">185</a> } +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> <strong>public</strong> <strong>void</strong> test5() throws Exception { +<a name="188" href="#188">188</a> configure(<span class="string">"input/pattern/enhancedPatternLayout5.properties"</span>); +<a name="189" href="#189">189</a> common(); +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="192" href="#192">192</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="193" href="#193">193</a> <strong>new</strong> String[] { PAT2, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="194" href="#194">194</a> Transformer.transform( +<a name="195" href="#195">195</a> TEMP, FILTERED, +<a name="196" href="#196">196</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="197" href="#197">197</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> AbsoluteDateAndTimeFilter(), +<a name="198" href="#198">198</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() +<a name="199" href="#199">199</a> }); +<a name="200" href="#200">200</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.5"</span>)); +<a name="201" href="#201">201</a> } +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> <em class="comment">// 18:54:19,201 [main] DEBUG atternLayoutTest - Message 0</em> +<a name="204" href="#204">204</a> <strong>public</strong> <strong>void</strong> test6() throws Exception { +<a name="205" href="#205">205</a> configure(<span class="string">"input/pattern/enhancedPatternLayout6.properties"</span>); +<a name="206" href="#206">206</a> common(); +<a name="207" href="#207">207</a> +<a name="208" href="#208">208</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="209" href="#209">209</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="210" href="#210">210</a> <strong>new</strong> String[] { PAT3, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="211" href="#211">211</a> Transformer.transform( +<a name="212" href="#212">212</a> TEMP, FILTERED, +<a name="213" href="#213">213</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="214" href="#214">214</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> AbsoluteTimeFilter(), +<a name="215" href="#215">215</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() +<a name="216" href="#216">216</a> }); +<a name="217" href="#217">217</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.6"</span>)); +<a name="218" href="#218">218</a> } +<a name="219" href="#219">219</a> +<a name="220" href="#220">220</a> <strong>public</strong> <strong>void</strong> test7() throws Exception { +<a name="221" href="#221">221</a> configure(<span class="string">"input/pattern/enhancedPatternLayout7.properties"</span>); +<a name="222" href="#222">222</a> common(); +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="225" href="#225">225</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="226" href="#226">226</a> <strong>new</strong> String[] { PAT3, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="227" href="#227">227</a> Transformer.transform( +<a name="228" href="#228">228</a> TEMP, FILTERED, +<a name="229" href="#229">229</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="230" href="#230">230</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> AbsoluteTimeFilter(), +<a name="231" href="#231">231</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() +<a name="232" href="#232">232</a> }); +<a name="233" href="#233">233</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.7"</span>)); +<a name="234" href="#234">234</a> } +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> <strong>public</strong> <strong>void</strong> test8() throws Exception { +<a name="237" href="#237">237</a> configure(<span class="string">"input/pattern/enhancedPatternLayout8.properties"</span>); +<a name="238" href="#238">238</a> common(); +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="241" href="#241">241</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="242" href="#242">242</a> <strong>new</strong> String[] { PAT4, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="243" href="#243">243</a> Transformer.transform( +<a name="244" href="#244">244</a> TEMP, FILTERED, +<a name="245" href="#245">245</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="246" href="#246">246</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> RelativeTimeFilter(), +<a name="247" href="#247">247</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/SunReflectFilter.html">SunReflectFilter</a>(), <strong>new</strong> JunitTestRunnerFilter() +<a name="248" href="#248">248</a> }); +<a name="249" href="#249">249</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.8"</span>)); +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <strong>public</strong> <strong>void</strong> test9() throws Exception { +<a name="253" href="#253">253</a> configure(<span class="string">"input/pattern/enhancedPatternLayout9.properties"</span>); +<a name="254" href="#254">254</a> common(); +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="257" href="#257">257</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="258" href="#258">258</a> <strong>new</strong> String[] { PAT5, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="259" href="#259">259</a> Transformer.transform( +<a name="260" href="#260">260</a> TEMP, FILTERED, +<a name="261" href="#261">261</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="262" href="#262">262</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="263" href="#263">263</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="264" href="#264">264</a> }); +<a name="265" href="#265">265</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.9"</span>)); +<a name="266" href="#266">266</a> } +<a name="267" href="#267">267</a> +<a name="268" href="#268">268</a> <strong>public</strong> <strong>void</strong> test10() throws Exception { +<a name="269" href="#269">269</a> configure(<span class="string">"input/pattern/enhancedPatternLayout10.properties"</span>); +<a name="270" href="#270">270</a> common(); +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="273" href="#273">273</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="274" href="#274">274</a> <strong>new</strong> String[] { PAT6, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="275" href="#275">275</a> Transformer.transform( +<a name="276" href="#276">276</a> TEMP, FILTERED, +<a name="277" href="#277">277</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="278" href="#278">278</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="279" href="#279">279</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="280" href="#280">280</a> }); +<a name="281" href="#281">281</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.10"</span>)); +<a name="282" href="#282">282</a> } +<a name="283" href="#283">283</a> +<a name="284" href="#284">284</a> <strong>public</strong> <strong>void</strong> test11() throws Exception { +<a name="285" href="#285">285</a> configure(<span class="string">"input/pattern/enhancedPatternLayout11.properties"</span>); +<a name="286" href="#286">286</a> common(); +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="289" href="#289">289</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="290" href="#290">290</a> <strong>new</strong> String[] { PAT11a, PAT11b, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="291" href="#291">291</a> Transformer.transform( +<a name="292" href="#292">292</a> TEMP, FILTERED, +<a name="293" href="#293">293</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="294" href="#294">294</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="295" href="#295">295</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="296" href="#296">296</a> }); +<a name="297" href="#297">297</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.11"</span>)); +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> <strong>public</strong> <strong>void</strong> test12() throws Exception { +<a name="301" href="#301">301</a> configure(<span class="string">"input/pattern/enhancedPatternLayout12.properties"</span>); +<a name="302" href="#302">302</a> common(); +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="305" href="#305">305</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="306" href="#306">306</a> <strong>new</strong> String[] { PAT12, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="307" href="#307">307</a> Transformer.transform( +<a name="308" href="#308">308</a> TEMP, FILTERED, +<a name="309" href="#309">309</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="310" href="#310">310</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="311" href="#311">311</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="312" href="#312">312</a> }); +<a name="313" href="#313">313</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.12"</span>)); +<a name="314" href="#314">314</a> } +<a name="315" href="#315">315</a> +<a name="316" href="#316">316</a> <strong>public</strong> <strong>void</strong> test13() throws Exception { +<a name="317" href="#317">317</a> configure(<span class="string">"input/pattern/enhancedPatternLayout13.properties"</span>); +<a name="318" href="#318">318</a> common(); +<a name="319" href="#319">319</a> +<a name="320" href="#320">320</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = +<a name="321" href="#321">321</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>( +<a name="322" href="#322">322</a> <strong>new</strong> String[] { PAT13, EXCEPTION1, EXCEPTION2, EXCEPTION3 }); +<a name="323" href="#323">323</a> Transformer.transform( +<a name="324" href="#324">324</a> TEMP, FILTERED, +<a name="325" href="#325">325</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="326" href="#326">326</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="327" href="#327">327</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="328" href="#328">328</a> }); +<a name="329" href="#329">329</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.13"</span>)); +<a name="330" href="#330">330</a> } +<a name="331" href="#331">331</a> +<a name="332" href="#332">332</a> <em>/**<em>*</em></em> +<a name="333" href="#333">333</a> <em> * Test of class abbreviation.</em> +<a name="334" href="#334">334</a> <em> *</em> +<a name="335" href="#335">335</a> <em> * @throws Exception</em> +<a name="336" href="#336">336</a> <em> */</em> +<a name="337" href="#337">337</a> <strong>public</strong> <strong>void</strong> test14() throws Exception { +<a name="338" href="#338">338</a> configure(<span class="string">"input/pattern/enhancedPatternLayout14.properties"</span>); +<a name="339" href="#339">339</a> common(); +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> Transformer.transform( +<a name="342" href="#342">342</a> TEMP, FILTERED, +<a name="343" href="#343">343</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="344" href="#344">344</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="345" href="#345">345</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="346" href="#346">346</a> }); +<a name="347" href="#347">347</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.14"</span>)); +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> +<a name="351" href="#351">351</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> clearMDC() throws Exception { +<a name="352" href="#352">352</a> java.util.Hashtable context = MDC.getContext(); +<a name="353" href="#353">353</a> <strong>if</strong> (context != <strong>null</strong>) { +<a name="354" href="#354">354</a> context.clear(); +<a name="355" href="#355">355</a> } +<a name="356" href="#356">356</a> } +<a name="357" href="#357">357</a> +<a name="358" href="#358">358</a> <strong>public</strong> <strong>void</strong> testMDC1() throws Exception { +<a name="359" href="#359">359</a> configure(<span class="string">"input/pattern/enhancedPatternLayout.mdc.1.properties"</span>); +<a name="360" href="#360">360</a> clearMDC(); +<a name="361" href="#361">361</a> MDC.put(<span class="string">"key1"</span>, <span class="string">"va11"</span>); +<a name="362" href="#362">362</a> MDC.put(<span class="string">"key2"</span>, <span class="string">"va12"</span>); +<a name="363" href="#363">363</a> logger.debug(<span class="string">"Hello World"</span>); +<a name="364" href="#364">364</a> MDC.remove(<span class="string">"key1"</span>); +<a name="365" href="#365">365</a> MDC.remove(<span class="string">"key2"</span>); +<a name="366" href="#366">366</a> +<a name="367" href="#367">367</a> Transformer.transform( +<a name="368" href="#368">368</a> TEMP, FILTERED, +<a name="369" href="#369">369</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="370" href="#370">370</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="371" href="#371">371</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="372" href="#372">372</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/MDCOrderFilter.html">MDCOrderFilter</a>() +<a name="373" href="#373">373</a> }); +<a name="374" href="#374">374</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.mdc.1"</span>)); +<a name="375" href="#375">375</a> } +<a name="376" href="#376">376</a> <em>/**<em>*</em></em> +<a name="377" href="#377">377</a> <em> * Tests log4j 1.2 style extension of EnhancedPatternLayout.</em> +<a name="378" href="#378">378</a> <em> * Was test14 in log4j 1.2.</em> +<a name="379" href="#379">379</a> <em> * @throws Exception</em> +<a name="380" href="#380">380</a> <em> */</em> +<a name="381" href="#381">381</a> <strong>public</strong> <strong>void</strong> test15() throws Exception { +<a name="382" href="#382">382</a> configure(<span class="string">"input/pattern/enhancedPatternLayout15.properties"</span>); +<a name="383" href="#383">383</a> common(); +<a name="384" href="#384">384</a> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a> cf1 = <strong>new</strong> <a href="../../../org/apache/log4j/util/ControlFilter.html">ControlFilter</a>(<strong>new</strong> String[]{PAT14, EXCEPTION1, +<a name="385" href="#385">385</a> EXCEPTION2, EXCEPTION3, EXCEPTION4}); +<a name="386" href="#386">386</a> Transformer.transform( +<a name="387" href="#387">387</a> TEMP, FILTERED, +<a name="388" href="#388">388</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="389" href="#389">389</a> cf1, <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="390" href="#390">390</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>() +<a name="391" href="#391">391</a> }); +<a name="392" href="#392">392</a> assertTrue(compare(FILTERED, <span class="string">"witness/pattern/enhancedPatternLayout.15"</span>)); +<a name="393" href="#393">393</a> } +<a name="394" href="#394">394</a> <em>/**<em>*</em></em> +<a name="395" href="#395">395</a> <em> * Tests explicit UTC time zone in pattern.</em> +<a name="396" href="#396">396</a> <em> * @throws Exception</em> +<a name="397" href="#397">397</a> <em> */</em> +<a name="398" href="#398">398</a> <strong>public</strong> <strong>void</strong> test16() throws Exception { +<a name="399" href="#399">399</a> <strong>final</strong> <strong>long</strong> start = <strong>new</strong> Date().getTime(); +<a name="400" href="#400">400</a> configure(<span class="string">"input/pattern/enhancedPatternLayout16.properties"</span>); +<a name="401" href="#401">401</a> common(); +<a name="402" href="#402">402</a> <strong>final</strong> <strong>long</strong> end = <strong>new</strong> Date().getTime(); +<a name="403" href="#403">403</a> FileReader reader = <strong>new</strong> FileReader(<span class="string">"patternLayout16.log"</span>); +<a name="404" href="#404">404</a> <strong>char</strong> <strong>char</strong>s[] = <strong>new</strong> <strong>char</strong>[50]; +<a name="405" href="#405">405</a> reader.read(chars, 0, chars.length); +<a name="406" href="#406">406</a> reader.close(); +<a name="407" href="#407">407</a> SimpleDateFormat format = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MM-dd HH:mm:ss"</span>); +<a name="408" href="#408">408</a> format.setTimeZone(TimeZone.getTimeZone(<span class="string">"GMT+0"</span>)); +<a name="409" href="#409">409</a> String utcStr = <strong>new</strong> String(chars, 0, 19); +<a name="410" href="#410">410</a> Date utcDate = format.parse(utcStr, <strong>new</strong> ParsePosition(0)); +<a name="411" href="#411">411</a> assertTrue(utcDate.getTime() >= start - 1000 &amp;&amp; utcDate.getTime() &lt; end + 1000); +<a name="412" href="#412">412</a> String cstStr = <strong>new</strong> String(chars, 21, 19); +<a name="413" href="#413">413</a> format.setTimeZone(TimeZone.getTimeZone(<span class="string">"GMT-6"</span>)); +<a name="414" href="#414">414</a> Date cstDate = format.parse(cstStr, <strong>new</strong> ParsePosition(0)); +<a name="415" href="#415">415</a> assertFalse(cstStr.equals(utcStr)); +<a name="416" href="#416">416</a> assertTrue(cstDate.getTime() >= start - 1000 &amp;&amp; cstDate.getTime() &lt; end + 1000); +<a name="417" href="#417">417</a> } +<a name="418" href="#418">418</a> +<a name="419" href="#419">419</a> <em>/**<em>*</em></em> +<a name="420" href="#420">420</a> <em> * Test left and right truncation</em> +<a name="421" href="#421">421</a> <em> */</em> +<a name="422" href="#422">422</a> <strong>public</strong> <strong>void</strong> test17() throws Exception { +<a name="423" href="#423">423</a> configure(<span class="string">"input/pattern/enhancedPatternLayout17.properties"</span>); +<a name="424" href="#424">424</a> root.info(<span class="string">"012"</span>); +<a name="425" href="#425">425</a> root.info(<span class="string">""</span>); +<a name="426" href="#426">426</a> root.info(<span class="string">"12345"</span>); +<a name="427" href="#427">427</a> root.info(<span class="string">"0123456789"</span>); +<a name="428" href="#428">428</a> assertTrue(compare(<span class="string">"patternLayout17.log"</span>, <span class="string">"witness/pattern/enhancedPatternLayout.17"</span>)); +<a name="429" href="#429">429</a> } +<a name="430" href="#430">430</a> +<a name="431" href="#431">431</a> +<a name="432" href="#432">432</a> <strong>void</strong> common() { +<a name="433" href="#433">433</a> <strong>int</strong> i = -1; +<a name="434" href="#434">434</a> +<a name="435" href="#435">435</a> logger.debug(<span class="string">"Message "</span> + ++i); +<a name="436" href="#436">436</a> root.debug(<span class="string">"Message "</span> + i); +<a name="437" href="#437">437</a> +<a name="438" href="#438">438</a> logger.info(<span class="string">"Message "</span> + ++i); +<a name="439" href="#439">439</a> root.info(<span class="string">"Message "</span> + i); +<a name="440" href="#440">440</a> +<a name="441" href="#441">441</a> logger.warn(<span class="string">"Message "</span> + ++i); +<a name="442" href="#442">442</a> root.warn(<span class="string">"Message "</span> + i); +<a name="443" href="#443">443</a> +<a name="444" href="#444">444</a> logger.error(<span class="string">"Message "</span> + ++i); +<a name="445" href="#445">445</a> root.error(<span class="string">"Message "</span> + i); +<a name="446" href="#446">446</a> +<a name="447" href="#447">447</a> logger.log(Level.FATAL, <span class="string">"Message "</span> + ++i); +<a name="448" href="#448">448</a> root.log(Level.FATAL, <span class="string">"Message "</span> + i); +<a name="449" href="#449">449</a> +<a name="450" href="#450">450</a> Exception e = <strong>new</strong> Exception(<span class="string">"Just testing"</span>); +<a name="451" href="#451">451</a> +<a name="452" href="#452">452</a> logger.debug(<span class="string">"Message "</span> + ++i, e); +<a name="453" href="#453">453</a> logger.info(<span class="string">"Message "</span> + ++i, e); +<a name="454" href="#454">454</a> logger.warn(<span class="string">"Message "</span> + ++i, e); +<a name="455" href="#455">455</a> logger.error(<span class="string">"Message "</span> + ++i, e); +<a name="456" href="#456">456</a> logger.log(Level.FATAL, <span class="string">"Message "</span> + ++i, e); +<a name="457" href="#457">457</a> } +<a name="458" href="#458">458</a> +<a name="459" href="#459">459</a> <em>/**<em>*</em></em> +<a name="460" href="#460">460</a> <em> Test case for MDC conversion pattern. */</em> +<a name="461" href="#461">461</a> <strong>public</strong> <strong>void</strong> testMDC2() throws Exception { +<a name="462" href="#462">462</a> String OUTPUT_FILE = <span class="string">"patternLayout.mdc.2"</span>; +<a name="463" href="#463">463</a> String WITNESS_FILE = <span class="string">"witness/pattern/enhancedPatternLayout.mdc.2"</span>; +<a name="464" href="#464">464</a> +<a name="465" href="#465">465</a> String mdcMsgPattern1 = <span class="string">"%m : %X%n"</span>; +<a name="466" href="#466">466</a> String mdcMsgPattern2 = <span class="string">"%m : %X{key1}%n"</span>; +<a name="467" href="#467">467</a> String mdcMsgPattern3 = <span class="string">"%m : %X{key2}%n"</span>; +<a name="468" href="#468">468</a> String mdcMsgPattern4 = <span class="string">"%m : %X{key3}%n"</span>; +<a name="469" href="#469">469</a> String mdcMsgPattern5 = <span class="string">"%m : %X{key1},%X{key2},%X{key3}%n"</span>; +<a name="470" href="#470">470</a> +<a name="471" href="#471">471</a> <em class="comment">// set up appender</em> +<a name="472" href="#472">472</a> EnhancedPatternLayout layout = <strong>new</strong> EnhancedPatternLayout(<span class="string">"%m%n"</span>); +<a name="473" href="#473">473</a> Appender appender = <strong>new</strong> FileAppender(layout, OUTPUT_FILE, false); +<a name="474" href="#474">474</a> +<a name="475" href="#475">475</a> <em class="comment">// set appender on root and set level to debug</em> +<a name="476" href="#476">476</a> root.addAppender(appender); +<a name="477" href="#477">477</a> root.setLevel(Level.DEBUG); +<a name="478" href="#478">478</a> +<a name="479" href="#479">479</a> clearMDC(); +<a name="480" href="#480">480</a> <em class="comment">// output starting message</em> +<a name="481" href="#481">481</a> root.debug(<span class="string">"starting mdc pattern test"</span>); +<a name="482" href="#482">482</a> +<a name="483" href="#483">483</a> layout.setConversionPattern(mdcMsgPattern1); +<a name="484" href="#484">484</a> layout.activateOptions(); +<a name="485" href="#485">485</a> root.debug(<span class="string">"empty mdc, no key specified in pattern"</span>); +<a name="486" href="#486">486</a> +<a name="487" href="#487">487</a> layout.setConversionPattern(mdcMsgPattern2); +<a name="488" href="#488">488</a> layout.activateOptions(); +<a name="489" href="#489">489</a> root.debug(<span class="string">"empty mdc, key1 in pattern"</span>); +<a name="490" href="#490">490</a> +<a name="491" href="#491">491</a> layout.setConversionPattern(mdcMsgPattern3); +<a name="492" href="#492">492</a> layout.activateOptions(); +<a name="493" href="#493">493</a> root.debug(<span class="string">"empty mdc, key2 in pattern"</span>); +<a name="494" href="#494">494</a> +<a name="495" href="#495">495</a> layout.setConversionPattern(mdcMsgPattern4); +<a name="496" href="#496">496</a> layout.activateOptions(); +<a name="497" href="#497">497</a> root.debug(<span class="string">"empty mdc, key3 in pattern"</span>); +<a name="498" href="#498">498</a> +<a name="499" href="#499">499</a> layout.setConversionPattern(mdcMsgPattern5); +<a name="500" href="#500">500</a> layout.activateOptions(); +<a name="501" href="#501">501</a> root.debug(<span class="string">"empty mdc, key1, key2, and key3 in pattern"</span>); +<a name="502" href="#502">502</a> +<a name="503" href="#503">503</a> MDC.put(<span class="string">"key1"</span>, <span class="string">"value1"</span>); +<a name="504" href="#504">504</a> MDC.put(<span class="string">"key2"</span>, <span class="string">"value2"</span>); +<a name="505" href="#505">505</a> +<a name="506" href="#506">506</a> layout.setConversionPattern(mdcMsgPattern1); +<a name="507" href="#507">507</a> layout.activateOptions(); +<a name="508" href="#508">508</a> root.debug(<span class="string">"filled mdc, no key specified in pattern"</span>); +<a name="509" href="#509">509</a> +<a name="510" href="#510">510</a> layout.setConversionPattern(mdcMsgPattern2); +<a name="511" href="#511">511</a> layout.activateOptions(); +<a name="512" href="#512">512</a> root.debug(<span class="string">"filled mdc, key1 in pattern"</span>); +<a name="513" href="#513">513</a> +<a name="514" href="#514">514</a> layout.setConversionPattern(mdcMsgPattern3); +<a name="515" href="#515">515</a> layout.activateOptions(); +<a name="516" href="#516">516</a> root.debug(<span class="string">"filled mdc, key2 in pattern"</span>); +<a name="517" href="#517">517</a> +<a name="518" href="#518">518</a> layout.setConversionPattern(mdcMsgPattern4); +<a name="519" href="#519">519</a> layout.activateOptions(); +<a name="520" href="#520">520</a> root.debug(<span class="string">"filled mdc, key3 in pattern"</span>); +<a name="521" href="#521">521</a> +<a name="522" href="#522">522</a> layout.setConversionPattern(mdcMsgPattern5); +<a name="523" href="#523">523</a> layout.activateOptions(); +<a name="524" href="#524">524</a> root.debug(<span class="string">"filled mdc, key1, key2, and key3 in pattern"</span>); +<a name="525" href="#525">525</a> +<a name="526" href="#526">526</a> MDC.remove(<span class="string">"key1"</span>); +<a name="527" href="#527">527</a> MDC.remove(<span class="string">"key2"</span>); +<a name="528" href="#528">528</a> +<a name="529" href="#529">529</a> layout.setConversionPattern(<span class="string">"%m%n"</span>); +<a name="530" href="#530">530</a> layout.activateOptions(); +<a name="531" href="#531">531</a> root.debug(<span class="string">"finished mdc pattern test"</span>); +<a name="532" href="#532">532</a> +<a name="533" href="#533">533</a> +<a name="534" href="#534">534</a> Transformer.transform( +<a name="535" href="#535">535</a> OUTPUT_FILE, FILTERED, +<a name="536" href="#536">536</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="537" href="#537">537</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="538" href="#538">538</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="539" href="#539">539</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/MDCOrderFilter.html">MDCOrderFilter</a>() +<a name="540" href="#540">540</a> }); +<a name="541" href="#541">541</a> +<a name="542" href="#542">542</a> assertTrue(compare(FILTERED, WITNESS_FILE)); +<a name="543" href="#543">543</a> } +<a name="544" href="#544">544</a> <em>/**<em>*</em></em> +<a name="545" href="#545">545</a> <em> Test case for throwable conversion pattern. */</em> +<a name="546" href="#546">546</a> <strong>public</strong> <strong>void</strong> testThrowable() throws Exception { +<a name="547" href="#547">547</a> String OUTPUT_FILE = <span class="string">"patternLayout.throwable"</span>; +<a name="548" href="#548">548</a> String WITNESS_FILE = <span class="string">"witness/pattern/enhancedPatternLayout.throwable"</span>; +<a name="549" href="#549">549</a> +<a name="550" href="#550">550</a> +<a name="551" href="#551">551</a> <em class="comment">// set up appender</em> +<a name="552" href="#552">552</a> EnhancedPatternLayout layout = <strong>new</strong> EnhancedPatternLayout(<span class="string">"%m%n"</span>); +<a name="553" href="#553">553</a> Appender appender = <strong>new</strong> FileAppender(layout, OUTPUT_FILE, false); +<a name="554" href="#554">554</a> +<a name="555" href="#555">555</a> <em class="comment">// set appender on root and set level to debug</em> +<a name="556" href="#556">556</a> root.addAppender(appender); +<a name="557" href="#557">557</a> root.setLevel(Level.DEBUG); +<a name="558" href="#558">558</a> +<a name="559" href="#559">559</a> <em class="comment">// output starting message</em> +<a name="560" href="#560">560</a> root.debug(<span class="string">"starting throwable pattern test"</span>); +<a name="561" href="#561">561</a> Exception ex = <strong>new</strong> Exception(<span class="string">"Test Exception"</span>); +<a name="562" href="#562">562</a> root.debug(<span class="string">"plain pattern, no exception"</span>); +<a name="563" href="#563">563</a> root.debug(<span class="string">"plain pattern, with exception"</span>, ex); +<a name="564" href="#564">564</a> layout.setConversionPattern(<span class="string">"%m%n%throwable"</span>); +<a name="565" href="#565">565</a> layout.activateOptions(); +<a name="566" href="#566">566</a> root.debug(<span class="string">"%throwable, no exception"</span>); +<a name="567" href="#567">567</a> root.debug(<span class="string">"%throwable, with exception"</span>, ex); +<a name="568" href="#568">568</a> +<a name="569" href="#569">569</a> layout.setConversionPattern(<span class="string">"%m%n%throwable{short}"</span>); +<a name="570" href="#570">570</a> layout.activateOptions(); +<a name="571" href="#571">571</a> root.debug(<span class="string">"%throwable{short}, no exception"</span>); +<a name="572" href="#572">572</a> root.debug(<span class="string">"%throwable{short}, with exception"</span>, ex); +<a name="573" href="#573">573</a> +<a name="574" href="#574">574</a> layout.setConversionPattern(<span class="string">"%m%n%throwable{none}"</span>); +<a name="575" href="#575">575</a> layout.activateOptions(); +<a name="576" href="#576">576</a> root.debug(<span class="string">"%throwable{none}, no exception"</span>); +<a name="577" href="#577">577</a> root.debug(<span class="string">"%throwable{none}, with exception"</span>, ex); +<a name="578" href="#578">578</a> +<a name="579" href="#579">579</a> +<a name="580" href="#580">580</a> layout.setConversionPattern(<span class="string">"%m%n%throwable{0}"</span>); +<a name="581" href="#581">581</a> layout.activateOptions(); +<a name="582" href="#582">582</a> root.debug(<span class="string">"%throwable{0}, no exception"</span>); +<a name="583" href="#583">583</a> root.debug(<span class="string">"%throwable{0}, with exception"</span>, ex); +<a name="584" href="#584">584</a> +<a name="585" href="#585">585</a> layout.setConversionPattern(<span class="string">"%m%n%throwable{1}"</span>); +<a name="586" href="#586">586</a> layout.activateOptions(); +<a name="587" href="#587">587</a> root.debug(<span class="string">"%throwable{1}, no exception"</span>); +<a name="588" href="#588">588</a> root.debug(<span class="string">"%throwable{1}, with exception"</span>, ex); +<a name="589" href="#589">589</a> +<a name="590" href="#590">590</a> layout.setConversionPattern(<span class="string">"%m%n%throwable{100}"</span>); +<a name="591" href="#591">591</a> layout.activateOptions(); +<a name="592" href="#592">592</a> root.debug(<span class="string">"%throwable{100}, no exception"</span>); +<a name="593" href="#593">593</a> root.debug(<span class="string">"%throwable{100}, with exception"</span>, ex); +<a name="594" href="#594">594</a> +<a name="595" href="#595">595</a> <em class="comment">//</em> +<a name="596" href="#596">596</a> <em class="comment">// manufacture a pattern to get just the first two lines</em> +<a name="597" href="#597">597</a> <em class="comment">//</em> +<a name="598" href="#598">598</a> String[] trace = <strong>new</strong> ThrowableInformation(ex).getThrowableStrRep(); +<a name="599" href="#599">599</a> layout.setConversionPattern(<span class="string">"%m%n%throwable{"</span> + (2 - trace.length) + <span class="string">"}"</span>); +<a name="600" href="#600">600</a> layout.activateOptions(); +<a name="601" href="#601">601</a> root.debug(<span class="string">"%throwable{-n}, no exception"</span>); +<a name="602" href="#602">602</a> root.debug(<span class="string">"%throwable{-n}, with exception"</span>, ex); +<a name="603" href="#603">603</a> +<a name="604" href="#604">604</a> +<a name="605" href="#605">605</a> Transformer.transform( +<a name="606" href="#606">606</a> OUTPUT_FILE, FILTERED, +<a name="607" href="#607">607</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/Filter.html">Filter</a>[] { +<a name="608" href="#608">608</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/LineNumberFilter.html">LineNumberFilter</a>(), <strong>new</strong> SunReflectFilter(), +<a name="609" href="#609">609</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/JunitTestRunnerFilter.html">JunitTestRunnerFilter</a>(), +<a name="610" href="#610">610</a> <strong>new</strong> <a href="../../../org/apache/log4j/util/MDCOrderFilter.html">MDCOrderFilter</a>() +<a name="611" href="#611">611</a> }); +<a name="612" href="#612">612</a> +<a name="613" href="#613">613</a> assertTrue(compare(FILTERED, WITNESS_FILE)); +<a name="614" href="#614">614</a> } +<a name="615" href="#615">615</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/LayoutTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/LayoutTest.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/LayoutTest.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/LayoutTest.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/LogCapture.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/LogCapture.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/LogCapture.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/LogCapture.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/MyPatternParser.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/MyPatternParser.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/MyPatternParser.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/MyPatternParser.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogMF.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogMF.html new file mode 100644 index 00000000000..7e7f3b1f488 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogMF.html @@ -0,0 +1,1304 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TestLogMF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/TestLogMF.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong>import</strong> java.io.CharArrayWriter; +<a name="22" href="#22">22</a> <strong>import</strong> java.text.MessageFormat; +<a name="23" href="#23">23</a> <strong>import</strong> java.text.NumberFormat; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Date; +<a name="25" href="#25">25</a> <strong>import</strong> java.text.DateFormat; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em>/**<em>*</em></em> +<a name="29" href="#29">29</a> <em> * Unit test for LogMF.</em> +<a name="30" href="#30">30</a> <em> */</em> +<a name="31" href="#31">31</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/TestLogMF.html">TestLogMF</a> <strong>extends</strong> TestCase { +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * Trace level.</em> +<a name="34" href="#34">34</a> <em> */</em> +<a name="35" href="#35">35</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> Level TRACE = getTraceLevel(); +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em>/**<em>*</em></em> +<a name="38" href="#38">38</a> <em> * Gets Trace level.</em> +<a name="39" href="#39">39</a> <em> * Trace level was not defined prior to log4j 1.2.12.</em> +<a name="40" href="#40">40</a> <em> * @return trace level</em> +<a name="41" href="#41">41</a> <em> */</em> +<a name="42" href="#42">42</a> <strong>private</strong> <strong>static</strong> Level getTraceLevel() { +<a name="43" href="#43">43</a> <strong>try</strong> { +<a name="44" href="#44">44</a> <strong>return</strong> (Level) Level.<strong>class</strong>.getField(<span class="string">"TRACE"</span>).get(<strong>null</strong>); +<a name="45" href="#45">45</a> } <strong>catch</strong>(Exception ex) { +<a name="46" href="#46">46</a> <strong>return</strong> <strong>new</strong> Level(5000, <span class="string">"TRACE"</span>, 7); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em>/**<em>*</em></em> +<a name="51" href="#51">51</a> <em> * Logger.</em> +<a name="52" href="#52">52</a> <em> */</em> +<a name="53" href="#53">53</a> <strong>private</strong> <strong>final</strong> Logger logger = Logger.getLogger( +<a name="54" href="#54">54</a> <span class="string">"org.apache.log4j.formatter.TestLogMF"</span>); +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em>/**<em>*</em></em> +<a name="57" href="#57">57</a> <em> * Create the test case</em> +<a name="58" href="#58">58</a> <em> *</em> +<a name="59" href="#59">59</a> <em> * @param testName name of the test case</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>public</strong> <a href="../../../org/apache/log4j/TestLogMF.html">TestLogMF</a>(String testName) { +<a name="62" href="#62">62</a> <strong>super</strong>(testName); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em>/**<em>*</em></em> +<a name="67" href="#67">67</a> <em> * Post test clean up.</em> +<a name="68" href="#68">68</a> <em> */</em> +<a name="69" href="#69">69</a> <strong>public</strong> <strong>void</strong> tearDown() { +<a name="70" href="#70">70</a> LogManager.resetConfiguration(); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em>/**<em>*</em></em> +<a name="74" href="#74">74</a> <em> * Test class name when logging through LogMF.</em> +<a name="75" href="#75">75</a> <em> */</em> +<a name="76" href="#76">76</a> <strong>public</strong> <strong>void</strong> testClassName() { +<a name="77" href="#77">77</a> CharArrayWriter writer = <strong>new</strong> CharArrayWriter(); +<a name="78" href="#78">78</a> PatternLayout layout = <strong>new</strong> PatternLayout(<span class="string">"%C"</span>); +<a name="79" href="#79">79</a> WriterAppender appender = <strong>new</strong> WriterAppender(layout, writer); +<a name="80" href="#80">80</a> appender.activateOptions(); +<a name="81" href="#81">81</a> Logger.getRootLogger().addAppender(appender); +<a name="82" href="#82">82</a> LogMF.debug(logger, <strong>null</strong>, Math.PI); +<a name="83" href="#83">83</a> assertEquals(TestLogMF.<strong>class</strong>.getName(), writer.toString()); +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em>/**<em>*</em></em> +<a name="87" href="#87">87</a> <em> * Test LogMF.trace with null pattern.</em> +<a name="88" href="#88">88</a> <em> */</em> +<a name="89" href="#89">89</a> <strong>public</strong> <strong>void</strong> testTraceNullPattern() { +<a name="90" href="#90">90</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="91" href="#91">91</a> logger.setLevel(TRACE); +<a name="92" href="#92">92</a> LogMF.trace(logger, <strong>null</strong>, Math.PI); +<a name="93" href="#93">93</a> assertNull(capture.getMessage()); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em>/**<em>*</em></em> +<a name="97" href="#97">97</a> <em> * Test LogMF.trace with no-field pattern.</em> +<a name="98" href="#98">98</a> <em> */</em> +<a name="99" href="#99">99</a> <strong>public</strong> <strong>void</strong> testTraceNoArg() { +<a name="100" href="#100">100</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="101" href="#101">101</a> logger.setLevel(TRACE); +<a name="102" href="#102">102</a> LogMF.trace(logger, <span class="string">"Hello, World"</span>, Math.PI); +<a name="103" href="#103">103</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <em>/**<em>*</em></em> +<a name="107" href="#107">107</a> <em> * Test LogMF.trace with malformed pattern.</em> +<a name="108" href="#108">108</a> <em> */</em> +<a name="109" href="#109">109</a> <strong>public</strong> <strong>void</strong> testTraceBadPattern() { +<a name="110" href="#110">110</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="111" href="#111">111</a> logger.setLevel(TRACE); +<a name="112" href="#112">112</a> LogMF.trace(logger, <span class="string">"Hello, {."</span>, Math.PI); +<a name="113" href="#113">113</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em>/**<em>*</em></em> +<a name="117" href="#117">117</a> <em> * Test LogMF.trace with missing argument.</em> +<a name="118" href="#118">118</a> <em> */</em> +<a name="119" href="#119">119</a> <strong>public</strong> <strong>void</strong> testTraceMissingArg() { +<a name="120" href="#120">120</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="121" href="#121">121</a> logger.setLevel(TRACE); +<a name="122" href="#122">122</a> LogMF.trace(logger, <span class="string">"Hello, {0}World"</span>, <strong>new</strong> Object[0]); +<a name="123" href="#123">123</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em>/**<em>*</em></em> +<a name="127" href="#127">127</a> <em> * Test LogMF.trace with single field pattern with string argument.</em> +<a name="128" href="#128">128</a> <em> */</em> +<a name="129" href="#129">129</a> <strong>public</strong> <strong>void</strong> testTraceString() { +<a name="130" href="#130">130</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="131" href="#131">131</a> logger.setLevel(TRACE); +<a name="132" href="#132">132</a> LogMF.trace(logger, <span class="string">"Hello, {0}"</span>, <span class="string">"World"</span>); +<a name="133" href="#133">133</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <em>/**<em>*</em></em> +<a name="137" href="#137">137</a> <em> * Test LogMF.trace with single field pattern with null argument.</em> +<a name="138" href="#138">138</a> <em> */</em> +<a name="139" href="#139">139</a> <strong>public</strong> <strong>void</strong> testTraceNull() { +<a name="140" href="#140">140</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="141" href="#141">141</a> logger.setLevel(TRACE); +<a name="142" href="#142">142</a> LogMF.trace(logger, <span class="string">"Hello, {0}"</span>, (Object) <strong>null</strong>); +<a name="143" href="#143">143</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em>/**<em>*</em></em> +<a name="147" href="#147">147</a> <em> * Test LogMF.trace with single field pattern with int argument.</em> +<a name="148" href="#148">148</a> <em> */</em> +<a name="149" href="#149">149</a> <strong>public</strong> <strong>void</strong> testTraceInt() { +<a name="150" href="#150">150</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="151" href="#151">151</a> logger.setLevel(TRACE); +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong>int</strong> val = 42; +<a name="154" href="#154">154</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="155" href="#155">155</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em>/**<em>*</em></em> +<a name="159" href="#159">159</a> <em> * Test LogMF.trace with single field pattern with byte argument.</em> +<a name="160" href="#160">160</a> <em> */</em> +<a name="161" href="#161">161</a> <strong>public</strong> <strong>void</strong> testTraceByte() { +<a name="162" href="#162">162</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="163" href="#163">163</a> logger.setLevel(TRACE); +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> byte val = 42; +<a name="166" href="#166">166</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="167" href="#167">167</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> <em>/**<em>*</em></em> +<a name="171" href="#171">171</a> <em> * Test LogMF.trace with single field pattern with short argument.</em> +<a name="172" href="#172">172</a> <em> */</em> +<a name="173" href="#173">173</a> <strong>public</strong> <strong>void</strong> testTraceShort() { +<a name="174" href="#174">174</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="175" href="#175">175</a> logger.setLevel(TRACE); +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <strong>short</strong> val = 42; +<a name="178" href="#178">178</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="179" href="#179">179</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <em>/**<em>*</em></em> +<a name="183" href="#183">183</a> <em> * Test LogMF.trace with single field pattern with long argument.</em> +<a name="184" href="#184">184</a> <em> */</em> +<a name="185" href="#185">185</a> <strong>public</strong> <strong>void</strong> testTraceLong() { +<a name="186" href="#186">186</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="187" href="#187">187</a> logger.setLevel(TRACE); +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> <strong>long</strong> val = 42; +<a name="190" href="#190">190</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="191" href="#191">191</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em>/**<em>*</em></em> +<a name="195" href="#195">195</a> <em> * Test LogMF.trace with single field pattern with char argument.</em> +<a name="196" href="#196">196</a> <em> */</em> +<a name="197" href="#197">197</a> <strong>public</strong> <strong>void</strong> testTraceChar() { +<a name="198" href="#198">198</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="199" href="#199">199</a> logger.setLevel(TRACE); +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <strong>char</strong> val = 'C'; +<a name="202" href="#202">202</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="203" href="#203">203</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em>/**<em>*</em></em> +<a name="207" href="#207">207</a> <em> * Test LogMF.trace with single field pattern with boolean argument.</em> +<a name="208" href="#208">208</a> <em> */</em> +<a name="209" href="#209">209</a> <strong>public</strong> <strong>void</strong> testTraceBoolean() { +<a name="210" href="#210">210</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="211" href="#211">211</a> logger.setLevel(TRACE); +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="214" href="#214">214</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="215" href="#215">215</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="216" href="#216">216</a> } +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> <em>/**<em>*</em></em> +<a name="219" href="#219">219</a> <em> * Test LogMF.trace with single field pattern with float argument.</em> +<a name="220" href="#220">220</a> <em> */</em> +<a name="221" href="#221">221</a> <strong>public</strong> <strong>void</strong> testTraceFloat() { +<a name="222" href="#222">222</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="223" href="#223">223</a> logger.setLevel(TRACE); +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <strong>float</strong> val = 3.14f; +<a name="226" href="#226">226</a> NumberFormat format = NumberFormat.getInstance(); +<a name="227" href="#227">227</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="228" href="#228">228</a> assertEquals(<span class="string">"Iteration "</span>+ format.format(val), capture.getMessage()); +<a name="229" href="#229">229</a> } +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <em>/**<em>*</em></em> +<a name="232" href="#232">232</a> <em> * Test LogMF.trace with single field pattern with double argument.</em> +<a name="233" href="#233">233</a> <em> */</em> +<a name="234" href="#234">234</a> <strong>public</strong> <strong>void</strong> testTraceDouble() { +<a name="235" href="#235">235</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="236" href="#236">236</a> logger.setLevel(TRACE); +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> <strong>double</strong> val = 3.14; +<a name="239" href="#239">239</a> NumberFormat format = NumberFormat.getInstance(); +<a name="240" href="#240">240</a> LogMF.trace(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="241" href="#241">241</a> assertEquals(<span class="string">"Iteration "</span>+ format.format(val), capture.getMessage()); +<a name="242" href="#242">242</a> } +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> <em>/**<em>*</em></em> +<a name="245" href="#245">245</a> <em> * Test LogMF.trace with two arguments.</em> +<a name="246" href="#246">246</a> <em> */</em> +<a name="247" href="#247">247</a> <strong>public</strong> <strong>void</strong> testTraceTwoArg() { +<a name="248" href="#248">248</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="249" href="#249">249</a> logger.setLevel(TRACE); +<a name="250" href="#250">250</a> LogMF.trace(logger, <span class="string">"{1}, {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); +<a name="251" href="#251">251</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="252" href="#252">252</a> } +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> <em>/**<em>*</em></em> +<a name="255" href="#255">255</a> <em> * Test LogMF.trace with three arguments.</em> +<a name="256" href="#256">256</a> <em> */</em> +<a name="257" href="#257">257</a> <strong>public</strong> <strong>void</strong> testTraceThreeArg() { +<a name="258" href="#258">258</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="259" href="#259">259</a> logger.setLevel(TRACE); +<a name="260" href="#260">260</a> LogMF.trace(logger, <span class="string">"{1}{2} {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); +<a name="261" href="#261">261</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> +<a name="264" href="#264">264</a> <em>/**<em>*</em></em> +<a name="265" href="#265">265</a> <em> * Test LogMF.trace with four arguments.</em> +<a name="266" href="#266">266</a> <em> */</em> +<a name="267" href="#267">267</a> <strong>public</strong> <strong>void</strong> testTraceFourArg() { +<a name="268" href="#268">268</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="269" href="#269">269</a> logger.setLevel(TRACE); +<a name="270" href="#270">270</a> LogMF.trace(logger, <span class="string">"{1}{2} {0}{3}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); +<a name="271" href="#271">271</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <em>/**<em>*</em></em> +<a name="275" href="#275">275</a> <em> * Test LogMF.trace with Object[] argument.</em> +<a name="276" href="#276">276</a> <em> */</em> +<a name="277" href="#277">277</a> <strong>public</strong> <strong>void</strong> testTraceArrayArg() { +<a name="278" href="#278">278</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="279" href="#279">279</a> logger.setLevel(TRACE); +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; +<a name="282" href="#282">282</a> LogMF.trace(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); +<a name="283" href="#283">283</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="284" href="#284">284</a> } +<a name="285" href="#285">285</a> +<a name="286" href="#286">286</a> <em>/**<em>*</em></em> +<a name="287" href="#287">287</a> <em> * Test LogMF.trace with null Object[] argument.</em> +<a name="288" href="#288">288</a> <em> */</em> +<a name="289" href="#289">289</a> <strong>public</strong> <strong>void</strong> testTraceNullArrayArg() { +<a name="290" href="#290">290</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="291" href="#291">291</a> logger.setLevel(TRACE); +<a name="292" href="#292">292</a> +<a name="293" href="#293">293</a> Object[] args = <strong>null</strong>; +<a name="294" href="#294">294</a> LogMF.trace(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); +<a name="295" href="#295">295</a> assertEquals(<span class="string">"{1}{2} {0}{3}"</span>, capture.getMessage()); +<a name="296" href="#296">296</a> } +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <em>/**<em>*</em></em> +<a name="300" href="#300">300</a> <em> * Test LogMF.debug with null pattern.</em> +<a name="301" href="#301">301</a> <em> */</em> +<a name="302" href="#302">302</a> <strong>public</strong> <strong>void</strong> testDebugNullPattern() { +<a name="303" href="#303">303</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="304" href="#304">304</a> LogMF.debug(logger, <strong>null</strong>, Math.PI); +<a name="305" href="#305">305</a> assertEquals(<strong>null</strong>, capture.getMessage()); +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em>/**<em>*</em></em> +<a name="309" href="#309">309</a> <em> * Test LogMF.debug with no-field pattern.</em> +<a name="310" href="#310">310</a> <em> */</em> +<a name="311" href="#311">311</a> <strong>public</strong> <strong>void</strong> testDebugNoArg() { +<a name="312" href="#312">312</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="313" href="#313">313</a> LogMF.debug(logger, <span class="string">"Hello, World"</span>, Math.PI); +<a name="314" href="#314">314</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="315" href="#315">315</a> } +<a name="316" href="#316">316</a> +<a name="317" href="#317">317</a> <em>/**<em>*</em></em> +<a name="318" href="#318">318</a> <em> * Test LogMF.debug with malformed pattern.</em> +<a name="319" href="#319">319</a> <em> */</em> +<a name="320" href="#320">320</a> <strong>public</strong> <strong>void</strong> testDebugBadPattern() { +<a name="321" href="#321">321</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="322" href="#322">322</a> LogMF.debug(logger, <span class="string">"Hello, {."</span>, Math.PI); +<a name="323" href="#323">323</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="324" href="#324">324</a> } +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> <em>/**<em>*</em></em> +<a name="327" href="#327">327</a> <em> * Test LogMF.debug with missing argument.</em> +<a name="328" href="#328">328</a> <em> */</em> +<a name="329" href="#329">329</a> <strong>public</strong> <strong>void</strong> testDebugMissingArg() { +<a name="330" href="#330">330</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="331" href="#331">331</a> LogMF.debug(logger, <span class="string">"Hello, {0}World"</span>, <strong>new</strong> Object[0]); +<a name="332" href="#332">332</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="333" href="#333">333</a> } +<a name="334" href="#334">334</a> +<a name="335" href="#335">335</a> <em>/**<em>*</em></em> +<a name="336" href="#336">336</a> <em> * Test LogMF.debug with single field pattern with string argument.</em> +<a name="337" href="#337">337</a> <em> */</em> +<a name="338" href="#338">338</a> <strong>public</strong> <strong>void</strong> testDebugString() { +<a name="339" href="#339">339</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="340" href="#340">340</a> LogMF.debug(logger, <span class="string">"Hello, {0}"</span>, <span class="string">"World"</span>); +<a name="341" href="#341">341</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="342" href="#342">342</a> } +<a name="343" href="#343">343</a> +<a name="344" href="#344">344</a> <em>/**<em>*</em></em> +<a name="345" href="#345">345</a> <em> * Test LogMF.debug with single field pattern with null argument.</em> +<a name="346" href="#346">346</a> <em> */</em> +<a name="347" href="#347">347</a> <strong>public</strong> <strong>void</strong> testDebugNull() { +<a name="348" href="#348">348</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="349" href="#349">349</a> LogMF.debug(logger, <span class="string">"Hello, {0}"</span>, (Object) <strong>null</strong>); +<a name="350" href="#350">350</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="351" href="#351">351</a> } +<a name="352" href="#352">352</a> +<a name="353" href="#353">353</a> <em>/**<em>*</em></em> +<a name="354" href="#354">354</a> <em> * Test LogMF.debug with single field pattern with int argument.</em> +<a name="355" href="#355">355</a> <em> */</em> +<a name="356" href="#356">356</a> <strong>public</strong> <strong>void</strong> testDebugInt() { +<a name="357" href="#357">357</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="358" href="#358">358</a> <strong>int</strong> val = 42; +<a name="359" href="#359">359</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="360" href="#360">360</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="361" href="#361">361</a> } +<a name="362" href="#362">362</a> +<a name="363" href="#363">363</a> <em>/**<em>*</em></em> +<a name="364" href="#364">364</a> <em> * Test LogMF.debug with single field pattern with byte argument.</em> +<a name="365" href="#365">365</a> <em> */</em> +<a name="366" href="#366">366</a> <strong>public</strong> <strong>void</strong> testDebugByte() { +<a name="367" href="#367">367</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="368" href="#368">368</a> byte val = 42; +<a name="369" href="#369">369</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="370" href="#370">370</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="371" href="#371">371</a> } +<a name="372" href="#372">372</a> +<a name="373" href="#373">373</a> <em>/**<em>*</em></em> +<a name="374" href="#374">374</a> <em> * Test LogMF.debug with single field pattern with short argument.</em> +<a name="375" href="#375">375</a> <em> */</em> +<a name="376" href="#376">376</a> <strong>public</strong> <strong>void</strong> testDebugShort() { +<a name="377" href="#377">377</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="378" href="#378">378</a> <strong>short</strong> val = 42; +<a name="379" href="#379">379</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="380" href="#380">380</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="381" href="#381">381</a> } +<a name="382" href="#382">382</a> +<a name="383" href="#383">383</a> <em>/**<em>*</em></em> +<a name="384" href="#384">384</a> <em> * Test LogMF.debug with single field pattern with long argument.</em> +<a name="385" href="#385">385</a> <em> */</em> +<a name="386" href="#386">386</a> <strong>public</strong> <strong>void</strong> testDebugLong() { +<a name="387" href="#387">387</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="388" href="#388">388</a> <strong>long</strong> val = 42; +<a name="389" href="#389">389</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="390" href="#390">390</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="391" href="#391">391</a> } +<a name="392" href="#392">392</a> +<a name="393" href="#393">393</a> <em>/**<em>*</em></em> +<a name="394" href="#394">394</a> <em> * Test LogMF.debug with single field pattern with char argument.</em> +<a name="395" href="#395">395</a> <em> */</em> +<a name="396" href="#396">396</a> <strong>public</strong> <strong>void</strong> testDebugChar() { +<a name="397" href="#397">397</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="398" href="#398">398</a> <strong>char</strong> val = 'C'; +<a name="399" href="#399">399</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="400" href="#400">400</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="401" href="#401">401</a> } +<a name="402" href="#402">402</a> +<a name="403" href="#403">403</a> <em>/**<em>*</em></em> +<a name="404" href="#404">404</a> <em> * Test LogMF.debug with single field pattern with boolean argument.</em> +<a name="405" href="#405">405</a> <em> */</em> +<a name="406" href="#406">406</a> <strong>public</strong> <strong>void</strong> testDebugBoolean() { +<a name="407" href="#407">407</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="408" href="#408">408</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="409" href="#409">409</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="410" href="#410">410</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="411" href="#411">411</a> } +<a name="412" href="#412">412</a> +<a name="413" href="#413">413</a> <em>/**<em>*</em></em> +<a name="414" href="#414">414</a> <em> * Test LogMF.debug with single field pattern with float argument.</em> +<a name="415" href="#415">415</a> <em> */</em> +<a name="416" href="#416">416</a> <strong>public</strong> <strong>void</strong> testDebugFloat() { +<a name="417" href="#417">417</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="418" href="#418">418</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, (<strong>float</strong>) Math.PI); +<a name="419" href="#419">419</a> +<a name="420" href="#420">420</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="421" href="#421">421</a> <strong>new</strong> Object[] { <strong>new</strong> Float(Math.PI) }); +<a name="422" href="#422">422</a> assertEquals(expected, capture.getMessage()); +<a name="423" href="#423">423</a> } +<a name="424" href="#424">424</a> +<a name="425" href="#425">425</a> <em>/**<em>*</em></em> +<a name="426" href="#426">426</a> <em> * Test LogMF.debug with single field pattern with double argument.</em> +<a name="427" href="#427">427</a> <em> */</em> +<a name="428" href="#428">428</a> <strong>public</strong> <strong>void</strong> testDebugDouble() { +<a name="429" href="#429">429</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="430" href="#430">430</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, Math.PI); +<a name="431" href="#431">431</a> +<a name="432" href="#432">432</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="433" href="#433">433</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); +<a name="434" href="#434">434</a> assertEquals(expected, capture.getMessage()); +<a name="435" href="#435">435</a> } +<a name="436" href="#436">436</a> +<a name="437" href="#437">437</a> <em>/**<em>*</em></em> +<a name="438" href="#438">438</a> <em> * Test LogMF.debug with two arguments.</em> +<a name="439" href="#439">439</a> <em> */</em> +<a name="440" href="#440">440</a> <strong>public</strong> <strong>void</strong> testDebugTwoArg() { +<a name="441" href="#441">441</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="442" href="#442">442</a> LogMF.debug(logger, <span class="string">"{1}, {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); +<a name="443" href="#443">443</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="444" href="#444">444</a> } +<a name="445" href="#445">445</a> +<a name="446" href="#446">446</a> <em>/**<em>*</em></em> +<a name="447" href="#447">447</a> <em> * Test LogMF.debug with three arguments.</em> +<a name="448" href="#448">448</a> <em> */</em> +<a name="449" href="#449">449</a> <strong>public</strong> <strong>void</strong> testDebugThreeArg() { +<a name="450" href="#450">450</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="451" href="#451">451</a> LogMF.debug(logger, <span class="string">"{1}{2} {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); +<a name="452" href="#452">452</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="453" href="#453">453</a> } +<a name="454" href="#454">454</a> +<a name="455" href="#455">455</a> <em>/**<em>*</em></em> +<a name="456" href="#456">456</a> <em> * Test LogMF.debug with four arguments.</em> +<a name="457" href="#457">457</a> <em> */</em> +<a name="458" href="#458">458</a> <strong>public</strong> <strong>void</strong> testDebugFourArg() { +<a name="459" href="#459">459</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="460" href="#460">460</a> LogMF.debug(logger, <span class="string">"{1}{2} {0}{3}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); +<a name="461" href="#461">461</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="462" href="#462">462</a> } +<a name="463" href="#463">463</a> +<a name="464" href="#464">464</a> <em>/**<em>*</em></em> +<a name="465" href="#465">465</a> <em> * Test LogMF.debug with Object[] argument.</em> +<a name="466" href="#466">466</a> <em> */</em> +<a name="467" href="#467">467</a> <strong>public</strong> <strong>void</strong> testDebugArrayArg() { +<a name="468" href="#468">468</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="469" href="#469">469</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; +<a name="470" href="#470">470</a> LogMF.debug(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); +<a name="471" href="#471">471</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="472" href="#472">472</a> } +<a name="473" href="#473">473</a> +<a name="474" href="#474">474</a> <em>/**<em>*</em></em> +<a name="475" href="#475">475</a> <em> * Test LogMF.debug with single field pattern with double argument.</em> +<a name="476" href="#476">476</a> <em> */</em> +<a name="477" href="#477">477</a> <strong>public</strong> <strong>void</strong> testDebugDate() { +<a name="478" href="#478">478</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="479" href="#479">479</a> Date epoch = <strong>new</strong> Date(0); +<a name="480" href="#480">480</a> LogMF.debug(logger, <span class="string">"Iteration {0}"</span>, epoch); +<a name="481" href="#481">481</a> +<a name="482" href="#482">482</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="483" href="#483">483</a> <strong>new</strong> Object[] { epoch }); +<a name="484" href="#484">484</a> String expected2 = <span class="string">"Iteration "</span> + DateFormat.getDateTimeInstance( +<a name="485" href="#485">485</a> DateFormat.SHORT, +<a name="486" href="#486">486</a> DateFormat.SHORT).format(epoch); +<a name="487" href="#487">487</a> String actual = capture.getMessage(); +<a name="488" href="#488">488</a> <em class="comment">//</em> +<a name="489" href="#489">489</a> <em class="comment">// gcj has been observed to output 12/31/69 6:00:00 PM</em> +<a name="490" href="#490">490</a> <em class="comment">// instead of the expected 12/31/69 6:00 PM</em> +<a name="491" href="#491">491</a> <strong>if</strong> (System.getProperty(<span class="string">"java.vendor"</span>).indexOf(<span class="string">"Free"</span>) == -1) { +<a name="492" href="#492">492</a> assertEquals(expected, actual); +<a name="493" href="#493">493</a> } +<a name="494" href="#494">494</a> assertEquals(expected2, actual); +<a name="495" href="#495">495</a> } +<a name="496" href="#496">496</a> +<a name="497" href="#497">497</a> <em>/**<em>*</em></em> +<a name="498" href="#498">498</a> <em> * Test LogMF.debug with null Object[] argument.</em> +<a name="499" href="#499">499</a> <em> */</em> +<a name="500" href="#500">500</a> <strong>public</strong> <strong>void</strong> testDebugNullArrayArg() { +<a name="501" href="#501">501</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="502" href="#502">502</a> Object[] args = <strong>null</strong>; +<a name="503" href="#503">503</a> LogMF.debug(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); +<a name="504" href="#504">504</a> assertEquals(<span class="string">"{1}{2} {0}{3}"</span>, capture.getMessage()); +<a name="505" href="#505">505</a> } +<a name="506" href="#506">506</a> +<a name="507" href="#507">507</a> <strong>public</strong> <strong>void</strong> testDebugPercent() { +<a name="508" href="#508">508</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="509" href="#509">509</a> LogMF.debug(logger, <span class="string">"{0, number, percent}"</span>, Math.PI); +<a name="510" href="#510">510</a> +<a name="511" href="#511">511</a> String expected = java.text.MessageFormat.format(<span class="string">"{0, number, percent}"</span>, +<a name="512" href="#512">512</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); +<a name="513" href="#513">513</a> assertEquals(expected, capture.getMessage()); +<a name="514" href="#514">514</a> } +<a name="515" href="#515">515</a> +<a name="516" href="#516">516</a> <strong>public</strong> <strong>void</strong> testDebugFullPrecisionAndPercent() { +<a name="517" href="#517">517</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="518" href="#518">518</a> LogMF.debug(logger, <span class="string">"{0}{0, number, percent}"</span>, Math.PI); +<a name="519" href="#519">519</a> +<a name="520" href="#520">520</a> String expected = java.text.MessageFormat.format(<span class="string">"{0}{0, number, percent}"</span>, +<a name="521" href="#521">521</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); +<a name="522" href="#522">522</a> assertEquals(expected, capture.getMessage()); +<a name="523" href="#523">523</a> } +<a name="524" href="#524">524</a> +<a name="525" href="#525">525</a> <strong>public</strong> <strong>void</strong> testDebugQuoted() { +<a name="526" href="#526">526</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="527" href="#527">527</a> LogMF.debug(logger, <span class="string">"'{0}'"</span>, <span class="string">"World"</span>); +<a name="528" href="#528">528</a> assertEquals(<span class="string">"{0}"</span>, capture.getMessage()); +<a name="529" href="#529">529</a> } +<a name="530" href="#530">530</a> +<a name="531" href="#531">531</a> <em>/**<em>*</em></em> +<a name="532" href="#532">532</a> <em> * Test LogMF.info with null pattern.</em> +<a name="533" href="#533">533</a> <em> */</em> +<a name="534" href="#534">534</a> <strong>public</strong> <strong>void</strong> testInfoNullPattern() { +<a name="535" href="#535">535</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="536" href="#536">536</a> LogMF.info(logger, <strong>null</strong>, Math.PI); +<a name="537" href="#537">537</a> assertNull(capture.getMessage()); +<a name="538" href="#538">538</a> } +<a name="539" href="#539">539</a> +<a name="540" href="#540">540</a> <em>/**<em>*</em></em> +<a name="541" href="#541">541</a> <em> * Test LogMF.info with no-field pattern.</em> +<a name="542" href="#542">542</a> <em> */</em> +<a name="543" href="#543">543</a> <strong>public</strong> <strong>void</strong> testInfoNoArg() { +<a name="544" href="#544">544</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="545" href="#545">545</a> LogMF.info(logger, <span class="string">"Hello, World"</span>, Math.PI); +<a name="546" href="#546">546</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="547" href="#547">547</a> } +<a name="548" href="#548">548</a> +<a name="549" href="#549">549</a> <em>/**<em>*</em></em> +<a name="550" href="#550">550</a> <em> * Test LogMF.info with malformed pattern.</em> +<a name="551" href="#551">551</a> <em> */</em> +<a name="552" href="#552">552</a> <strong>public</strong> <strong>void</strong> testInfoBadPattern() { +<a name="553" href="#553">553</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="554" href="#554">554</a> LogMF.info(logger, <span class="string">"Hello, {."</span>, Math.PI); +<a name="555" href="#555">555</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="556" href="#556">556</a> } +<a name="557" href="#557">557</a> +<a name="558" href="#558">558</a> <em>/**<em>*</em></em> +<a name="559" href="#559">559</a> <em> * Test LogMF.info with missing argument.</em> +<a name="560" href="#560">560</a> <em> */</em> +<a name="561" href="#561">561</a> <strong>public</strong> <strong>void</strong> testInfoMissingArg() { +<a name="562" href="#562">562</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="563" href="#563">563</a> LogMF.info(logger, <span class="string">"Hello, {0}World"</span>, <strong>new</strong> Object[0]); +<a name="564" href="#564">564</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="565" href="#565">565</a> } +<a name="566" href="#566">566</a> +<a name="567" href="#567">567</a> <em>/**<em>*</em></em> +<a name="568" href="#568">568</a> <em> * Test LogMF.info with single field pattern with string argument.</em> +<a name="569" href="#569">569</a> <em> */</em> +<a name="570" href="#570">570</a> <strong>public</strong> <strong>void</strong> testInfoString() { +<a name="571" href="#571">571</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="572" href="#572">572</a> LogMF.info(logger, <span class="string">"Hello, {0}"</span>, <span class="string">"World"</span>); +<a name="573" href="#573">573</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="574" href="#574">574</a> } +<a name="575" href="#575">575</a> +<a name="576" href="#576">576</a> <em>/**<em>*</em></em> +<a name="577" href="#577">577</a> <em> * Test LogMF.info with single field pattern with null argument.</em> +<a name="578" href="#578">578</a> <em> */</em> +<a name="579" href="#579">579</a> <strong>public</strong> <strong>void</strong> testInfoNull() { +<a name="580" href="#580">580</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="581" href="#581">581</a> LogMF.info(logger, <span class="string">"Hello, {0}"</span>, (Object) <strong>null</strong>); +<a name="582" href="#582">582</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="583" href="#583">583</a> } +<a name="584" href="#584">584</a> +<a name="585" href="#585">585</a> <em>/**<em>*</em></em> +<a name="586" href="#586">586</a> <em> * Test LogMF.info with single field pattern with int argument.</em> +<a name="587" href="#587">587</a> <em> */</em> +<a name="588" href="#588">588</a> <strong>public</strong> <strong>void</strong> testInfoInt() { +<a name="589" href="#589">589</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="590" href="#590">590</a> <strong>int</strong> val = 42; +<a name="591" href="#591">591</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="592" href="#592">592</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="593" href="#593">593</a> } +<a name="594" href="#594">594</a> +<a name="595" href="#595">595</a> <em>/**<em>*</em></em> +<a name="596" href="#596">596</a> <em> * Test LogMF.info with single field pattern with byte argument.</em> +<a name="597" href="#597">597</a> <em> */</em> +<a name="598" href="#598">598</a> <strong>public</strong> <strong>void</strong> testInfoByte() { +<a name="599" href="#599">599</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="600" href="#600">600</a> byte val = 42; +<a name="601" href="#601">601</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="602" href="#602">602</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="603" href="#603">603</a> } +<a name="604" href="#604">604</a> +<a name="605" href="#605">605</a> <em>/**<em>*</em></em> +<a name="606" href="#606">606</a> <em> * Test LogMF.info with single field pattern with short argument.</em> +<a name="607" href="#607">607</a> <em> */</em> +<a name="608" href="#608">608</a> <strong>public</strong> <strong>void</strong> testInfoShort() { +<a name="609" href="#609">609</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="610" href="#610">610</a> <strong>short</strong> val = 42; +<a name="611" href="#611">611</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="612" href="#612">612</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="613" href="#613">613</a> } +<a name="614" href="#614">614</a> +<a name="615" href="#615">615</a> <em>/**<em>*</em></em> +<a name="616" href="#616">616</a> <em> * Test LogMF.info with single field pattern with long argument.</em> +<a name="617" href="#617">617</a> <em> */</em> +<a name="618" href="#618">618</a> <strong>public</strong> <strong>void</strong> testInfoLong() { +<a name="619" href="#619">619</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="620" href="#620">620</a> <strong>long</strong> val = 42; +<a name="621" href="#621">621</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="622" href="#622">622</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="623" href="#623">623</a> } +<a name="624" href="#624">624</a> +<a name="625" href="#625">625</a> <em>/**<em>*</em></em> +<a name="626" href="#626">626</a> <em> * Test LogMF.info with single field pattern with char argument.</em> +<a name="627" href="#627">627</a> <em> */</em> +<a name="628" href="#628">628</a> <strong>public</strong> <strong>void</strong> testInfoChar() { +<a name="629" href="#629">629</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="630" href="#630">630</a> <strong>char</strong> val = 'C'; +<a name="631" href="#631">631</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="632" href="#632">632</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="633" href="#633">633</a> } +<a name="634" href="#634">634</a> +<a name="635" href="#635">635</a> <em>/**<em>*</em></em> +<a name="636" href="#636">636</a> <em> * Test LogMF.info with single field pattern with boolean argument.</em> +<a name="637" href="#637">637</a> <em> */</em> +<a name="638" href="#638">638</a> <strong>public</strong> <strong>void</strong> testInfoBoolean() { +<a name="639" href="#639">639</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="640" href="#640">640</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="641" href="#641">641</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="642" href="#642">642</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="643" href="#643">643</a> } +<a name="644" href="#644">644</a> +<a name="645" href="#645">645</a> <em>/**<em>*</em></em> +<a name="646" href="#646">646</a> <em> * Test LogMF.info with single field pattern with float argument.</em> +<a name="647" href="#647">647</a> <em> */</em> +<a name="648" href="#648">648</a> <strong>public</strong> <strong>void</strong> testInfoFloat() { +<a name="649" href="#649">649</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="650" href="#650">650</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, (<strong>float</strong>) Math.PI); +<a name="651" href="#651">651</a> +<a name="652" href="#652">652</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="653" href="#653">653</a> <strong>new</strong> Object[] { <strong>new</strong> Float(Math.PI) }); +<a name="654" href="#654">654</a> assertEquals(expected, capture.getMessage()); +<a name="655" href="#655">655</a> } +<a name="656" href="#656">656</a> +<a name="657" href="#657">657</a> <em>/**<em>*</em></em> +<a name="658" href="#658">658</a> <em> * Test LogMF.info with single field pattern with double argument.</em> +<a name="659" href="#659">659</a> <em> */</em> +<a name="660" href="#660">660</a> <strong>public</strong> <strong>void</strong> testInfoDouble() { +<a name="661" href="#661">661</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="662" href="#662">662</a> LogMF.info(logger, <span class="string">"Iteration {0}"</span>, Math.PI); +<a name="663" href="#663">663</a> +<a name="664" href="#664">664</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="665" href="#665">665</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); +<a name="666" href="#666">666</a> assertEquals(expected, capture.getMessage()); +<a name="667" href="#667">667</a> } +<a name="668" href="#668">668</a> +<a name="669" href="#669">669</a> <em>/**<em>*</em></em> +<a name="670" href="#670">670</a> <em> * Test LogMF.info with two arguments.</em> +<a name="671" href="#671">671</a> <em> */</em> +<a name="672" href="#672">672</a> <strong>public</strong> <strong>void</strong> testInfoTwoArg() { +<a name="673" href="#673">673</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="674" href="#674">674</a> LogMF.info(logger, <span class="string">"{1}, {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); +<a name="675" href="#675">675</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="676" href="#676">676</a> } +<a name="677" href="#677">677</a> +<a name="678" href="#678">678</a> <em>/**<em>*</em></em> +<a name="679" href="#679">679</a> <em> * Test LogMF.info with three arguments.</em> +<a name="680" href="#680">680</a> <em> */</em> +<a name="681" href="#681">681</a> <strong>public</strong> <strong>void</strong> testInfoThreeArg() { +<a name="682" href="#682">682</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="683" href="#683">683</a> LogMF.info(logger, <span class="string">"{1}{2} {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); +<a name="684" href="#684">684</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="685" href="#685">685</a> } +<a name="686" href="#686">686</a> +<a name="687" href="#687">687</a> <em>/**<em>*</em></em> +<a name="688" href="#688">688</a> <em> * Test LogMF.info with four arguments.</em> +<a name="689" href="#689">689</a> <em> */</em> +<a name="690" href="#690">690</a> <strong>public</strong> <strong>void</strong> testInfoFourArg() { +<a name="691" href="#691">691</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="692" href="#692">692</a> LogMF.info(logger, <span class="string">"{1}{2} {0}{3}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); +<a name="693" href="#693">693</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="694" href="#694">694</a> } +<a name="695" href="#695">695</a> +<a name="696" href="#696">696</a> <em>/**<em>*</em></em> +<a name="697" href="#697">697</a> <em> * Test LogMF.info with Object[] argument.</em> +<a name="698" href="#698">698</a> <em> */</em> +<a name="699" href="#699">699</a> <strong>public</strong> <strong>void</strong> testInfoArrayArg() { +<a name="700" href="#700">700</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="701" href="#701">701</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; +<a name="702" href="#702">702</a> LogMF.info(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); +<a name="703" href="#703">703</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="704" href="#704">704</a> } +<a name="705" href="#705">705</a> +<a name="706" href="#706">706</a> <em>/**<em>*</em></em> +<a name="707" href="#707">707</a> <em> * Test LogMF.warn with null pattern.</em> +<a name="708" href="#708">708</a> <em> */</em> +<a name="709" href="#709">709</a> <strong>public</strong> <strong>void</strong> testWarnNullPattern() { +<a name="710" href="#710">710</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="711" href="#711">711</a> LogMF.warn(logger, <strong>null</strong>, Math.PI); +<a name="712" href="#712">712</a> assertNull(capture.getMessage()); +<a name="713" href="#713">713</a> } +<a name="714" href="#714">714</a> +<a name="715" href="#715">715</a> <em>/**<em>*</em></em> +<a name="716" href="#716">716</a> <em> * Test LogMF.warn with no-field pattern.</em> +<a name="717" href="#717">717</a> <em> */</em> +<a name="718" href="#718">718</a> <strong>public</strong> <strong>void</strong> testWarnNoArg() { +<a name="719" href="#719">719</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="720" href="#720">720</a> LogMF.warn(logger, <span class="string">"Hello, World"</span>, Math.PI); +<a name="721" href="#721">721</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="722" href="#722">722</a> } +<a name="723" href="#723">723</a> +<a name="724" href="#724">724</a> <em>/**<em>*</em></em> +<a name="725" href="#725">725</a> <em> * Test LogMF.warn with malformed pattern.</em> +<a name="726" href="#726">726</a> <em> */</em> +<a name="727" href="#727">727</a> <strong>public</strong> <strong>void</strong> testWarnBadPattern() { +<a name="728" href="#728">728</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="729" href="#729">729</a> LogMF.warn(logger, <span class="string">"Hello, {."</span>, Math.PI); +<a name="730" href="#730">730</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="731" href="#731">731</a> } +<a name="732" href="#732">732</a> +<a name="733" href="#733">733</a> <em>/**<em>*</em></em> +<a name="734" href="#734">734</a> <em> * Test LogMF.warn with missing argument.</em> +<a name="735" href="#735">735</a> <em> */</em> +<a name="736" href="#736">736</a> <strong>public</strong> <strong>void</strong> testWarnMissingArg() { +<a name="737" href="#737">737</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="738" href="#738">738</a> LogMF.warn(logger, <span class="string">"Hello, {0}World"</span>, <strong>new</strong> Object[0]); +<a name="739" href="#739">739</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="740" href="#740">740</a> } +<a name="741" href="#741">741</a> +<a name="742" href="#742">742</a> <em>/**<em>*</em></em> +<a name="743" href="#743">743</a> <em> * Test LogMF.warn with single field pattern with string argument.</em> +<a name="744" href="#744">744</a> <em> */</em> +<a name="745" href="#745">745</a> <strong>public</strong> <strong>void</strong> testWarnString() { +<a name="746" href="#746">746</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="747" href="#747">747</a> LogMF.warn(logger, <span class="string">"Hello, {0}"</span>, <span class="string">"World"</span>); +<a name="748" href="#748">748</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="749" href="#749">749</a> } +<a name="750" href="#750">750</a> +<a name="751" href="#751">751</a> <em>/**<em>*</em></em> +<a name="752" href="#752">752</a> <em> * Test LogMF.warn with single field pattern with null argument.</em> +<a name="753" href="#753">753</a> <em> */</em> +<a name="754" href="#754">754</a> <strong>public</strong> <strong>void</strong> testWarnNull() { +<a name="755" href="#755">755</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="756" href="#756">756</a> LogMF.warn(logger, <span class="string">"Hello, {0}"</span>, (Object) <strong>null</strong>); +<a name="757" href="#757">757</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="758" href="#758">758</a> } +<a name="759" href="#759">759</a> +<a name="760" href="#760">760</a> <em>/**<em>*</em></em> +<a name="761" href="#761">761</a> <em> * Test LogMF.warn with single field pattern with int argument.</em> +<a name="762" href="#762">762</a> <em> */</em> +<a name="763" href="#763">763</a> <strong>public</strong> <strong>void</strong> testWarnInt() { +<a name="764" href="#764">764</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="765" href="#765">765</a> <strong>int</strong> val = 42; +<a name="766" href="#766">766</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="767" href="#767">767</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="768" href="#768">768</a> } +<a name="769" href="#769">769</a> +<a name="770" href="#770">770</a> <em>/**<em>*</em></em> +<a name="771" href="#771">771</a> <em> * Test LogMF.warn with single field pattern with byte argument.</em> +<a name="772" href="#772">772</a> <em> */</em> +<a name="773" href="#773">773</a> <strong>public</strong> <strong>void</strong> testWarnByte() { +<a name="774" href="#774">774</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="775" href="#775">775</a> byte val = 42; +<a name="776" href="#776">776</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="777" href="#777">777</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="778" href="#778">778</a> } +<a name="779" href="#779">779</a> +<a name="780" href="#780">780</a> <em>/**<em>*</em></em> +<a name="781" href="#781">781</a> <em> * Test LogMF.warn with single field pattern with short argument.</em> +<a name="782" href="#782">782</a> <em> */</em> +<a name="783" href="#783">783</a> <strong>public</strong> <strong>void</strong> testWarnShort() { +<a name="784" href="#784">784</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="785" href="#785">785</a> <strong>short</strong> val = 42; +<a name="786" href="#786">786</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="787" href="#787">787</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="788" href="#788">788</a> } +<a name="789" href="#789">789</a> +<a name="790" href="#790">790</a> <em>/**<em>*</em></em> +<a name="791" href="#791">791</a> <em> * Test LogMF.warn with single field pattern with long argument.</em> +<a name="792" href="#792">792</a> <em> */</em> +<a name="793" href="#793">793</a> <strong>public</strong> <strong>void</strong> testWarnLong() { +<a name="794" href="#794">794</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="795" href="#795">795</a> <strong>long</strong> val = 42; +<a name="796" href="#796">796</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="797" href="#797">797</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="798" href="#798">798</a> } +<a name="799" href="#799">799</a> +<a name="800" href="#800">800</a> <em>/**<em>*</em></em> +<a name="801" href="#801">801</a> <em> * Test LogMF.warn with single field pattern with char argument.</em> +<a name="802" href="#802">802</a> <em> */</em> +<a name="803" href="#803">803</a> <strong>public</strong> <strong>void</strong> testWarnChar() { +<a name="804" href="#804">804</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="805" href="#805">805</a> <strong>char</strong> val = 'C'; +<a name="806" href="#806">806</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="807" href="#807">807</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="808" href="#808">808</a> } +<a name="809" href="#809">809</a> +<a name="810" href="#810">810</a> <em>/**<em>*</em></em> +<a name="811" href="#811">811</a> <em> * Test LogMF.warn with single field pattern with boolean argument.</em> +<a name="812" href="#812">812</a> <em> */</em> +<a name="813" href="#813">813</a> <strong>public</strong> <strong>void</strong> testWarnBoolean() { +<a name="814" href="#814">814</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="815" href="#815">815</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="816" href="#816">816</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, val); +<a name="817" href="#817">817</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="818" href="#818">818</a> } +<a name="819" href="#819">819</a> +<a name="820" href="#820">820</a> <em>/**<em>*</em></em> +<a name="821" href="#821">821</a> <em> * Test LogMF.warn with single field pattern with float argument.</em> +<a name="822" href="#822">822</a> <em> */</em> +<a name="823" href="#823">823</a> <strong>public</strong> <strong>void</strong> testWarnFloat() { +<a name="824" href="#824">824</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="825" href="#825">825</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, (<strong>float</strong>) Math.PI); +<a name="826" href="#826">826</a> +<a name="827" href="#827">827</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="828" href="#828">828</a> <strong>new</strong> Object[] { <strong>new</strong> Float(Math.PI) }); +<a name="829" href="#829">829</a> assertEquals(expected, capture.getMessage()); +<a name="830" href="#830">830</a> } +<a name="831" href="#831">831</a> +<a name="832" href="#832">832</a> <em>/**<em>*</em></em> +<a name="833" href="#833">833</a> <em> * Test LogMF.debug with single field pattern with double argument.</em> +<a name="834" href="#834">834</a> <em> */</em> +<a name="835" href="#835">835</a> <strong>public</strong> <strong>void</strong> testWarnDouble() { +<a name="836" href="#836">836</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="837" href="#837">837</a> LogMF.warn(logger, <span class="string">"Iteration {0}"</span>, Math.PI); +<a name="838" href="#838">838</a> +<a name="839" href="#839">839</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="840" href="#840">840</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); +<a name="841" href="#841">841</a> assertEquals(expected, capture.getMessage()); +<a name="842" href="#842">842</a> } +<a name="843" href="#843">843</a> +<a name="844" href="#844">844</a> <em>/**<em>*</em></em> +<a name="845" href="#845">845</a> <em> * Test LogMF.warn with two arguments.</em> +<a name="846" href="#846">846</a> <em> */</em> +<a name="847" href="#847">847</a> <strong>public</strong> <strong>void</strong> testWarnTwoArg() { +<a name="848" href="#848">848</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="849" href="#849">849</a> LogMF.warn(logger, <span class="string">"{1}, {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); +<a name="850" href="#850">850</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="851" href="#851">851</a> } +<a name="852" href="#852">852</a> +<a name="853" href="#853">853</a> <em>/**<em>*</em></em> +<a name="854" href="#854">854</a> <em> * Test LogMF.warn with three arguments.</em> +<a name="855" href="#855">855</a> <em> */</em> +<a name="856" href="#856">856</a> <strong>public</strong> <strong>void</strong> testWarnThreeArg() { +<a name="857" href="#857">857</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="858" href="#858">858</a> LogMF.warn(logger, <span class="string">"{1}{2} {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); +<a name="859" href="#859">859</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="860" href="#860">860</a> } +<a name="861" href="#861">861</a> +<a name="862" href="#862">862</a> <em>/**<em>*</em></em> +<a name="863" href="#863">863</a> <em> * Test LogMF.debug with four arguments.</em> +<a name="864" href="#864">864</a> <em> */</em> +<a name="865" href="#865">865</a> <strong>public</strong> <strong>void</strong> testWarnFourArg() { +<a name="866" href="#866">866</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="867" href="#867">867</a> LogMF.warn(logger, <span class="string">"{1}{2} {0}{3}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); +<a name="868" href="#868">868</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="869" href="#869">869</a> } +<a name="870" href="#870">870</a> +<a name="871" href="#871">871</a> <em>/**<em>*</em></em> +<a name="872" href="#872">872</a> <em> * Test LogMF.warn with Object[] argument.</em> +<a name="873" href="#873">873</a> <em> */</em> +<a name="874" href="#874">874</a> <strong>public</strong> <strong>void</strong> testWarnArrayArg() { +<a name="875" href="#875">875</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="876" href="#876">876</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; +<a name="877" href="#877">877</a> LogMF.warn(logger, <span class="string">"{1}{2} {0}{3}"</span>, args); +<a name="878" href="#878">878</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="879" href="#879">879</a> } +<a name="880" href="#880">880</a> +<a name="881" href="#881">881</a> <em>/**<em>*</em></em> +<a name="882" href="#882">882</a> <em> * Test LogMF.log with null pattern.</em> +<a name="883" href="#883">883</a> <em> */</em> +<a name="884" href="#884">884</a> <strong>public</strong> <strong>void</strong> testLogNullPattern() { +<a name="885" href="#885">885</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="886" href="#886">886</a> LogMF.log(logger, Level.ERROR, <strong>null</strong>, Math.PI); +<a name="887" href="#887">887</a> assertNull(capture.getMessage()); +<a name="888" href="#888">888</a> } +<a name="889" href="#889">889</a> +<a name="890" href="#890">890</a> <em>/**<em>*</em></em> +<a name="891" href="#891">891</a> <em> * Test LogMF.log with no-field pattern.</em> +<a name="892" href="#892">892</a> <em> */</em> +<a name="893" href="#893">893</a> <strong>public</strong> <strong>void</strong> testLogNoArg() { +<a name="894" href="#894">894</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="895" href="#895">895</a> LogMF.log(logger, Level.ERROR, <span class="string">"Hello, World"</span>, Math.PI); +<a name="896" href="#896">896</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="897" href="#897">897</a> } +<a name="898" href="#898">898</a> +<a name="899" href="#899">899</a> <em>/**<em>*</em></em> +<a name="900" href="#900">900</a> <em> * Test LogMF.log with malformed pattern.</em> +<a name="901" href="#901">901</a> <em> */</em> +<a name="902" href="#902">902</a> <strong>public</strong> <strong>void</strong> testLogBadPattern() { +<a name="903" href="#903">903</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="904" href="#904">904</a> LogMF.log(logger, Level.ERROR, <span class="string">"Hello, {."</span>, Math.PI); +<a name="905" href="#905">905</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="906" href="#906">906</a> } +<a name="907" href="#907">907</a> +<a name="908" href="#908">908</a> <em>/**<em>*</em></em> +<a name="909" href="#909">909</a> <em> * Test LogMF.log with missing argument.</em> +<a name="910" href="#910">910</a> <em> */</em> +<a name="911" href="#911">911</a> <strong>public</strong> <strong>void</strong> testLogMissingArg() { +<a name="912" href="#912">912</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="913" href="#913">913</a> LogMF.log(logger, Level.ERROR, <span class="string">"Hello, {0}World"</span>, <strong>new</strong> Object[0]); +<a name="914" href="#914">914</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="915" href="#915">915</a> } +<a name="916" href="#916">916</a> +<a name="917" href="#917">917</a> <em>/**<em>*</em></em> +<a name="918" href="#918">918</a> <em> * Test LogMF.log with single field pattern with string argument.</em> +<a name="919" href="#919">919</a> <em> */</em> +<a name="920" href="#920">920</a> <strong>public</strong> <strong>void</strong> testLogString() { +<a name="921" href="#921">921</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="922" href="#922">922</a> LogMF.log(logger, Level.ERROR, <span class="string">"Hello, {0}"</span>, <span class="string">"World"</span>); +<a name="923" href="#923">923</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="924" href="#924">924</a> } +<a name="925" href="#925">925</a> +<a name="926" href="#926">926</a> <em>/**<em>*</em></em> +<a name="927" href="#927">927</a> <em> * Test LogMF.log with single field pattern with null argument.</em> +<a name="928" href="#928">928</a> <em> */</em> +<a name="929" href="#929">929</a> <strong>public</strong> <strong>void</strong> testLogNull() { +<a name="930" href="#930">930</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="931" href="#931">931</a> LogMF.log(logger, Level.ERROR, <span class="string">"Hello, {0}"</span>, (Object) <strong>null</strong>); +<a name="932" href="#932">932</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="933" href="#933">933</a> } +<a name="934" href="#934">934</a> +<a name="935" href="#935">935</a> <em>/**<em>*</em></em> +<a name="936" href="#936">936</a> <em> * Test LogMF.log with single field pattern with int argument.</em> +<a name="937" href="#937">937</a> <em> */</em> +<a name="938" href="#938">938</a> <strong>public</strong> <strong>void</strong> testLogInt() { +<a name="939" href="#939">939</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="940" href="#940">940</a> <strong>int</strong> val = 42; +<a name="941" href="#941">941</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); +<a name="942" href="#942">942</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="943" href="#943">943</a> } +<a name="944" href="#944">944</a> +<a name="945" href="#945">945</a> <em>/**<em>*</em></em> +<a name="946" href="#946">946</a> <em> * Test LogMF.log with single field pattern with byte argument.</em> +<a name="947" href="#947">947</a> <em> */</em> +<a name="948" href="#948">948</a> <strong>public</strong> <strong>void</strong> testLogByte() { +<a name="949" href="#949">949</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="950" href="#950">950</a> byte val = 42; +<a name="951" href="#951">951</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); +<a name="952" href="#952">952</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="953" href="#953">953</a> } +<a name="954" href="#954">954</a> +<a name="955" href="#955">955</a> <em>/**<em>*</em></em> +<a name="956" href="#956">956</a> <em> * Test LogMF.log with single field pattern with short argument.</em> +<a name="957" href="#957">957</a> <em> */</em> +<a name="958" href="#958">958</a> <strong>public</strong> <strong>void</strong> testLogShort() { +<a name="959" href="#959">959</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="960" href="#960">960</a> <strong>short</strong> val = 42; +<a name="961" href="#961">961</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); +<a name="962" href="#962">962</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="963" href="#963">963</a> } +<a name="964" href="#964">964</a> +<a name="965" href="#965">965</a> <em>/**<em>*</em></em> +<a name="966" href="#966">966</a> <em> * Test LogMF.log with single field pattern with long argument.</em> +<a name="967" href="#967">967</a> <em> */</em> +<a name="968" href="#968">968</a> <strong>public</strong> <strong>void</strong> testLogLong() { +<a name="969" href="#969">969</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="970" href="#970">970</a> <strong>long</strong> val = 42; +<a name="971" href="#971">971</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); +<a name="972" href="#972">972</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="973" href="#973">973</a> } +<a name="974" href="#974">974</a> +<a name="975" href="#975">975</a> <em>/**<em>*</em></em> +<a name="976" href="#976">976</a> <em> * Test LogMF.log with single field pattern with char argument.</em> +<a name="977" href="#977">977</a> <em> */</em> +<a name="978" href="#978">978</a> <strong>public</strong> <strong>void</strong> testLogChar() { +<a name="979" href="#979">979</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="980" href="#980">980</a> <strong>char</strong> val = 'C'; +<a name="981" href="#981">981</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); +<a name="982" href="#982">982</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="983" href="#983">983</a> } +<a name="984" href="#984">984</a> +<a name="985" href="#985">985</a> <em>/**<em>*</em></em> +<a name="986" href="#986">986</a> <em> * Test LogMF.log with single field pattern with boolean argument.</em> +<a name="987" href="#987">987</a> <em> */</em> +<a name="988" href="#988">988</a> <strong>public</strong> <strong>void</strong> testLogBoolean() { +<a name="989" href="#989">989</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="990" href="#990">990</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="991" href="#991">991</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, val); +<a name="992" href="#992">992</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="993" href="#993">993</a> } +<a name="994" href="#994">994</a> +<a name="995" href="#995">995</a> <em>/**<em>*</em></em> +<a name="996" href="#996">996</a> <em> * Test LogMF.log with single field pattern with float argument.</em> +<a name="997" href="#997">997</a> <em> */</em> +<a name="998" href="#998">998</a> <strong>public</strong> <strong>void</strong> testLogFloat() { +<a name="999" href="#999">999</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1000" href="#1000">1000</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, (<strong>float</strong>) Math.PI); +<a name="1001" href="#1001">1001</a> +<a name="1002" href="#1002">1002</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="1003" href="#1003">1003</a> <strong>new</strong> Object[] { <strong>new</strong> Float(Math.PI) }); +<a name="1004" href="#1004">1004</a> assertEquals(expected, capture.getMessage()); +<a name="1005" href="#1005">1005</a> } +<a name="1006" href="#1006">1006</a> +<a name="1007" href="#1007">1007</a> <em>/**<em>*</em></em> +<a name="1008" href="#1008">1008</a> <em> * Test LogMF.log with single field pattern with double argument.</em> +<a name="1009" href="#1009">1009</a> <em> */</em> +<a name="1010" href="#1010">1010</a> <strong>public</strong> <strong>void</strong> testLogDouble() { +<a name="1011" href="#1011">1011</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1012" href="#1012">1012</a> LogMF.log(logger, Level.ERROR, <span class="string">"Iteration {0}"</span>, Math.PI); +<a name="1013" href="#1013">1013</a> +<a name="1014" href="#1014">1014</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="1015" href="#1015">1015</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); +<a name="1016" href="#1016">1016</a> assertEquals(expected, capture.getMessage()); +<a name="1017" href="#1017">1017</a> } +<a name="1018" href="#1018">1018</a> +<a name="1019" href="#1019">1019</a> <em>/**<em>*</em></em> +<a name="1020" href="#1020">1020</a> <em> * Test LogMF.log with two arguments.</em> +<a name="1021" href="#1021">1021</a> <em> */</em> +<a name="1022" href="#1022">1022</a> <strong>public</strong> <strong>void</strong> testLogTwoArg() { +<a name="1023" href="#1023">1023</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1024" href="#1024">1024</a> LogMF.log(logger, Level.ERROR, <span class="string">"{1}, {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); +<a name="1025" href="#1025">1025</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1026" href="#1026">1026</a> } +<a name="1027" href="#1027">1027</a> +<a name="1028" href="#1028">1028</a> <em>/**<em>*</em></em> +<a name="1029" href="#1029">1029</a> <em> * Test LogMF.log with three arguments.</em> +<a name="1030" href="#1030">1030</a> <em> */</em> +<a name="1031" href="#1031">1031</a> <strong>public</strong> <strong>void</strong> testLogThreeArg() { +<a name="1032" href="#1032">1032</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1033" href="#1033">1033</a> LogMF.log(logger, Level.ERROR, <span class="string">"{1}{2} {0}."</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); +<a name="1034" href="#1034">1034</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1035" href="#1035">1035</a> } +<a name="1036" href="#1036">1036</a> +<a name="1037" href="#1037">1037</a> <em>/**<em>*</em></em> +<a name="1038" href="#1038">1038</a> <em> * Test LogMF.log with four arguments.</em> +<a name="1039" href="#1039">1039</a> <em> */</em> +<a name="1040" href="#1040">1040</a> <strong>public</strong> <strong>void</strong> testLogFourArg() { +<a name="1041" href="#1041">1041</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1042" href="#1042">1042</a> LogMF.log(logger, Level.ERROR, <span class="string">"{1}{2} {0}{3}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); +<a name="1043" href="#1043">1043</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1044" href="#1044">1044</a> } +<a name="1045" href="#1045">1045</a> +<a name="1046" href="#1046">1046</a> <em>/**<em>*</em></em> +<a name="1047" href="#1047">1047</a> <em> * Test LogMF.log with Object[] argument.</em> +<a name="1048" href="#1048">1048</a> <em> */</em> +<a name="1049" href="#1049">1049</a> <strong>public</strong> <strong>void</strong> testLogArrayArg() { +<a name="1050" href="#1050">1050</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1051" href="#1051">1051</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; +<a name="1052" href="#1052">1052</a> LogMF.log(logger, Level.ERROR, <span class="string">"{1}{2} {0}{3}"</span>, args); +<a name="1053" href="#1053">1053</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1054" href="#1054">1054</a> } +<a name="1055" href="#1055">1055</a> +<a name="1056" href="#1056">1056</a> <em>/**<em>*</em></em> +<a name="1057" href="#1057">1057</a> <em> * Bundle name for resource bundle tests.</em> +<a name="1058" href="#1058">1058</a> <em> */</em> +<a name="1059" href="#1059">1059</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String BUNDLE_NAME = +<a name="1060" href="#1060">1060</a> <span class="string">"org.apache.log4j.TestLogMFPatterns"</span>; +<a name="1061" href="#1061">1061</a> +<a name="1062" href="#1062">1062</a> <em>/**<em>*</em></em> +<a name="1063" href="#1063">1063</a> <em> * Test LogMF.logrb with null bundle name.</em> +<a name="1064" href="#1064">1064</a> <em> */</em> +<a name="1065" href="#1065">1065</a> <strong>public</strong> <strong>void</strong> testLogrbNullBundle() { +<a name="1066" href="#1066">1066</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1067" href="#1067">1067</a> LogMF.logrb(logger, Level.ERROR, <strong>null</strong>, <span class="string">"Iteration0"</span>, Math.PI); +<a name="1068" href="#1068">1068</a> assertEquals(<span class="string">"Iteration0"</span>, capture.getMessage()); +<a name="1069" href="#1069">1069</a> } +<a name="1070" href="#1070">1070</a> +<a name="1071" href="#1071">1071</a> <em>/**<em>*</em></em> +<a name="1072" href="#1072">1072</a> <em> * Test LogMF.logrb with null key.</em> +<a name="1073" href="#1073">1073</a> <em> */</em> +<a name="1074" href="#1074">1074</a> <strong>public</strong> <strong>void</strong> testLogrbNullKey() { +<a name="1075" href="#1075">1075</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1076" href="#1076">1076</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <strong>null</strong>, Math.PI); +<a name="1077" href="#1077">1077</a> assertNull(capture.getMessage()); +<a name="1078" href="#1078">1078</a> } +<a name="1079" href="#1079">1079</a> +<a name="1080" href="#1080">1080</a> <em>/**<em>*</em></em> +<a name="1081" href="#1081">1081</a> <em> * Test LogMF.logrb with no-field pattern.</em> +<a name="1082" href="#1082">1082</a> <em> */</em> +<a name="1083" href="#1083">1083</a> <strong>public</strong> <strong>void</strong> testLogrbNoArg() { +<a name="1084" href="#1084">1084</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1085" href="#1085">1085</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello1"</span>, Math.PI); +<a name="1086" href="#1086">1086</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="1087" href="#1087">1087</a> } +<a name="1088" href="#1088">1088</a> +<a name="1089" href="#1089">1089</a> <em>/**<em>*</em></em> +<a name="1090" href="#1090">1090</a> <em> * Test LogMF.logrb with malformed pattern.</em> +<a name="1091" href="#1091">1091</a> <em> */</em> +<a name="1092" href="#1092">1092</a> <strong>public</strong> <strong>void</strong> testLogrbBadPattern() { +<a name="1093" href="#1093">1093</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1094" href="#1094">1094</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Malformed"</span>, Math.PI); +<a name="1095" href="#1095">1095</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="1096" href="#1096">1096</a> } +<a name="1097" href="#1097">1097</a> +<a name="1098" href="#1098">1098</a> <em>/**<em>*</em></em> +<a name="1099" href="#1099">1099</a> <em> * Test LogMF.logrb with missing argument.</em> +<a name="1100" href="#1100">1100</a> <em> */</em> +<a name="1101" href="#1101">1101</a> <strong>public</strong> <strong>void</strong> testLogrbMissingArg() { +<a name="1102" href="#1102">1102</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1103" href="#1103">1103</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello2"</span>, <strong>new</strong> Object[0]); +<a name="1104" href="#1104">1104</a> assertEquals(<span class="string">"Hello, {0}World"</span>, capture.getMessage()); +<a name="1105" href="#1105">1105</a> } +<a name="1106" href="#1106">1106</a> +<a name="1107" href="#1107">1107</a> <em>/**<em>*</em></em> +<a name="1108" href="#1108">1108</a> <em> * Test LogMF.logrb with single field pattern with string argument.</em> +<a name="1109" href="#1109">1109</a> <em> */</em> +<a name="1110" href="#1110">1110</a> <strong>public</strong> <strong>void</strong> testLogrbString() { +<a name="1111" href="#1111">1111</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1112" href="#1112">1112</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello3"</span>, <span class="string">"World"</span>); +<a name="1113" href="#1113">1113</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="1114" href="#1114">1114</a> } +<a name="1115" href="#1115">1115</a> +<a name="1116" href="#1116">1116</a> <em>/**<em>*</em></em> +<a name="1117" href="#1117">1117</a> <em> * Test LogMF.logrb with single field pattern with null argument.</em> +<a name="1118" href="#1118">1118</a> <em> */</em> +<a name="1119" href="#1119">1119</a> <strong>public</strong> <strong>void</strong> testLogrbNull() { +<a name="1120" href="#1120">1120</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1121" href="#1121">1121</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello3"</span>, (Object) <strong>null</strong>); +<a name="1122" href="#1122">1122</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="1123" href="#1123">1123</a> } +<a name="1124" href="#1124">1124</a> +<a name="1125" href="#1125">1125</a> <em>/**<em>*</em></em> +<a name="1126" href="#1126">1126</a> <em> * Test LogMF.logrb with single field pattern with int argument.</em> +<a name="1127" href="#1127">1127</a> <em> */</em> +<a name="1128" href="#1128">1128</a> <strong>public</strong> <strong>void</strong> testLogrbInt() { +<a name="1129" href="#1129">1129</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1130" href="#1130">1130</a> <strong>int</strong> val = 42; +<a name="1131" href="#1131">1131</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1132" href="#1132">1132</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="1133" href="#1133">1133</a> } +<a name="1134" href="#1134">1134</a> +<a name="1135" href="#1135">1135</a> <em>/**<em>*</em></em> +<a name="1136" href="#1136">1136</a> <em> * Test LogMF.logrb with single field pattern with byte argument.</em> +<a name="1137" href="#1137">1137</a> <em> */</em> +<a name="1138" href="#1138">1138</a> <strong>public</strong> <strong>void</strong> testLogrbByte() { +<a name="1139" href="#1139">1139</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1140" href="#1140">1140</a> byte val = 42; +<a name="1141" href="#1141">1141</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1142" href="#1142">1142</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="1143" href="#1143">1143</a> } +<a name="1144" href="#1144">1144</a> +<a name="1145" href="#1145">1145</a> <em>/**<em>*</em></em> +<a name="1146" href="#1146">1146</a> <em> * Test LogMF.logrb with single field pattern with short argument.</em> +<a name="1147" href="#1147">1147</a> <em> */</em> +<a name="1148" href="#1148">1148</a> <strong>public</strong> <strong>void</strong> testLogrbShort() { +<a name="1149" href="#1149">1149</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1150" href="#1150">1150</a> <strong>short</strong> val = 42; +<a name="1151" href="#1151">1151</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1152" href="#1152">1152</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="1153" href="#1153">1153</a> } +<a name="1154" href="#1154">1154</a> +<a name="1155" href="#1155">1155</a> <em>/**<em>*</em></em> +<a name="1156" href="#1156">1156</a> <em> * Test LogMF.logrb with single field pattern with long argument.</em> +<a name="1157" href="#1157">1157</a> <em> */</em> +<a name="1158" href="#1158">1158</a> <strong>public</strong> <strong>void</strong> testLogrbLong() { +<a name="1159" href="#1159">1159</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1160" href="#1160">1160</a> <strong>long</strong> val = 42; +<a name="1161" href="#1161">1161</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1162" href="#1162">1162</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="1163" href="#1163">1163</a> } +<a name="1164" href="#1164">1164</a> +<a name="1165" href="#1165">1165</a> <em>/**<em>*</em></em> +<a name="1166" href="#1166">1166</a> <em> * Test LogMF.logrb with single field pattern with char argument.</em> +<a name="1167" href="#1167">1167</a> <em> */</em> +<a name="1168" href="#1168">1168</a> <strong>public</strong> <strong>void</strong> testLogrbChar() { +<a name="1169" href="#1169">1169</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1170" href="#1170">1170</a> <strong>char</strong> val = 'C'; +<a name="1171" href="#1171">1171</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1172" href="#1172">1172</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="1173" href="#1173">1173</a> } +<a name="1174" href="#1174">1174</a> +<a name="1175" href="#1175">1175</a> <em>/**<em>*</em></em> +<a name="1176" href="#1176">1176</a> <em> * Test LogMF.logrb with single field pattern with boolean argument.</em> +<a name="1177" href="#1177">1177</a> <em> */</em> +<a name="1178" href="#1178">1178</a> <strong>public</strong> <strong>void</strong> testLogrbBoolean() { +<a name="1179" href="#1179">1179</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1180" href="#1180">1180</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="1181" href="#1181">1181</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1182" href="#1182">1182</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="1183" href="#1183">1183</a> } +<a name="1184" href="#1184">1184</a> +<a name="1185" href="#1185">1185</a> <em>/**<em>*</em></em> +<a name="1186" href="#1186">1186</a> <em> * Test LogMF.logrb with single field pattern with float argument.</em> +<a name="1187" href="#1187">1187</a> <em> */</em> +<a name="1188" href="#1188">1188</a> <strong>public</strong> <strong>void</strong> testLogrbFloat() { +<a name="1189" href="#1189">1189</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1190" href="#1190">1190</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, (<strong>float</strong>) Math.PI); +<a name="1191" href="#1191">1191</a> +<a name="1192" href="#1192">1192</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="1193" href="#1193">1193</a> <strong>new</strong> Object[] { <strong>new</strong> Float(Math.PI) }); +<a name="1194" href="#1194">1194</a> assertEquals(expected, capture.getMessage()); +<a name="1195" href="#1195">1195</a> } +<a name="1196" href="#1196">1196</a> +<a name="1197" href="#1197">1197</a> <em>/**<em>*</em></em> +<a name="1198" href="#1198">1198</a> <em> * Test LogMF.logrb with single field pattern with double argument.</em> +<a name="1199" href="#1199">1199</a> <em> */</em> +<a name="1200" href="#1200">1200</a> <strong>public</strong> <strong>void</strong> testLogrbDouble() { +<a name="1201" href="#1201">1201</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1202" href="#1202">1202</a> LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, Math.PI); +<a name="1203" href="#1203">1203</a> +<a name="1204" href="#1204">1204</a> String expected = MessageFormat.format(<span class="string">"Iteration {0}"</span>, +<a name="1205" href="#1205">1205</a> <strong>new</strong> Object[] { <strong>new</strong> Double(Math.PI) }); +<a name="1206" href="#1206">1206</a> assertEquals(expected, capture.getMessage()); +<a name="1207" href="#1207">1207</a> } +<a name="1208" href="#1208">1208</a> +<a name="1209" href="#1209">1209</a> <em>/**<em>*</em></em> +<a name="1210" href="#1210">1210</a> <em> * Test LogMF.logrb with two arguments.</em> +<a name="1211" href="#1211">1211</a> <em> */</em> +<a name="1212" href="#1212">1212</a> <strong>public</strong> <strong>void</strong> testLogrbTwoArg() { +<a name="1213" href="#1213">1213</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1214" href="#1214">1214</a> LogMF.logrb(logger, Level.ERROR, +<a name="1215" href="#1215">1215</a> BUNDLE_NAME, <span class="string">"Hello4"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); +<a name="1216" href="#1216">1216</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1217" href="#1217">1217</a> } +<a name="1218" href="#1218">1218</a> +<a name="1219" href="#1219">1219</a> <em>/**<em>*</em></em> +<a name="1220" href="#1220">1220</a> <em> * Test LogMF.logrb with three arguments.</em> +<a name="1221" href="#1221">1221</a> <em> */</em> +<a name="1222" href="#1222">1222</a> <strong>public</strong> <strong>void</strong> testLogrbThreeArg() { +<a name="1223" href="#1223">1223</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1224" href="#1224">1224</a> LogMF.logrb(logger, Level.ERROR, +<a name="1225" href="#1225">1225</a> BUNDLE_NAME, <span class="string">"Hello5"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>); +<a name="1226" href="#1226">1226</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1227" href="#1227">1227</a> } +<a name="1228" href="#1228">1228</a> +<a name="1229" href="#1229">1229</a> <em>/**<em>*</em></em> +<a name="1230" href="#1230">1230</a> <em> * Test LogMF.logrb with four arguments.</em> +<a name="1231" href="#1231">1231</a> <em> */</em> +<a name="1232" href="#1232">1232</a> <strong>public</strong> <strong>void</strong> testLogrbFourArg() { +<a name="1233" href="#1233">1233</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1234" href="#1234">1234</a> LogMF.logrb(logger, Level.ERROR, +<a name="1235" href="#1235">1235</a> BUNDLE_NAME, <span class="string">"Hello6"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span>); +<a name="1236" href="#1236">1236</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1237" href="#1237">1237</a> } +<a name="1238" href="#1238">1238</a> +<a name="1239" href="#1239">1239</a> <em>/**<em>*</em></em> +<a name="1240" href="#1240">1240</a> <em> * Test LogMF.logrb with Object[] argument.</em> +<a name="1241" href="#1241">1241</a> <em> */</em> +<a name="1242" href="#1242">1242</a> <strong>public</strong> <strong>void</strong> testLogrbArrayArg() { +<a name="1243" href="#1243">1243</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1244" href="#1244">1244</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"."</span> }; +<a name="1245" href="#1245">1245</a> LogMF.logrb(logger, Level.ERROR, +<a name="1246" href="#1246">1246</a> BUNDLE_NAME, <span class="string">"Hello6"</span>, args); +<a name="1247" href="#1247">1247</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1248" href="#1248">1248</a> } +<a name="1249" href="#1249">1249</a> +<a name="1250" href="#1250">1250</a> +<a name="1251" href="#1251">1251</a> <em>/**<em>*</em></em> +<a name="1252" href="#1252">1252</a> <em> * Test LogMF.info with a pattern containing {9} and one argument.</em> +<a name="1253" href="#1253">1253</a> <em> */</em> +<a name="1254" href="#1254">1254</a> <strong>public</strong> <strong>void</strong> testInfo1ParamBrace9() { +<a name="1255" href="#1255">1255</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1256" href="#1256">1256</a> LogMF.info(logger, <span class="string">"Hello, {9}{0}"</span>, <span class="string">"World"</span>); +<a name="1257" href="#1257">1257</a> assertEquals(<span class="string">"Hello, {9}World"</span>, capture.getMessage()); +<a name="1258" href="#1258">1258</a> } +<a name="1259" href="#1259">1259</a> +<a name="1260" href="#1260">1260</a> <em>/**<em>*</em></em> +<a name="1261" href="#1261">1261</a> <em> * Test LogMF.info with a pattern containing {9} and two arguments.</em> +<a name="1262" href="#1262">1262</a> <em> */</em> +<a name="1263" href="#1263">1263</a> <strong>public</strong> <strong>void</strong> testInfo2ParamBrace9() { +<a name="1264" href="#1264">1264</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1265" href="#1265">1265</a> LogMF.info(logger, <span class="string">"{1}, {9}{0}"</span>, <span class="string">"World"</span>, <span class="string">"Hello"</span>); +<a name="1266" href="#1266">1266</a> assertEquals(<span class="string">"Hello, {9}World"</span>, capture.getMessage()); +<a name="1267" href="#1267">1267</a> } +<a name="1268" href="#1268">1268</a> +<a name="1269" href="#1269">1269</a> <em>/**<em>*</em></em> +<a name="1270" href="#1270">1270</a> <em> * Test LogMF.info with a pattern containing {9} and two arguments.</em> +<a name="1271" href="#1271">1271</a> <em> */</em> +<a name="1272" href="#1272">1272</a> <strong>public</strong> <strong>void</strong> testInfo10ParamBrace9() { +<a name="1273" href="#1273">1273</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1274" href="#1274">1274</a> LogMF.info(logger, <span class="string">"{1}, {9}{0}"</span>, +<a name="1275" href="#1275">1275</a> <strong>new</strong> Object[] { <span class="string">"World"</span>, <span class="string">"Hello"</span>, <strong>null</strong>, <strong>null</strong>, <strong>null</strong>, +<a name="1276" href="#1276">1276</a> <strong>null</strong>, <strong>null</strong>, <strong>null</strong>, <strong>null</strong>, <span class="string">"New "</span> }); +<a name="1277" href="#1277">1277</a> assertEquals(<span class="string">"Hello, New World"</span>, capture.getMessage()); +<a name="1278" href="#1278">1278</a> } +<a name="1279" href="#1279">1279</a> +<a name="1280" href="#1280">1280</a> <em>/**<em>*</em></em> +<a name="1281" href="#1281">1281</a> <em> * Test LogMF.info with indexes just outside of 0 to 9.</em> +<a name="1282" href="#1282">1282</a> <em> */</em> +<a name="1283" href="#1283">1283</a> <strong>public</strong> <strong>void</strong> testInfo1ParamBraceSlashColon() { +<a name="1284" href="#1284">1284</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1285" href="#1285">1285</a> String pattern = <span class="string">"Hello, {/}{0}{:}"</span>; +<a name="1286" href="#1286">1286</a> LogMF.info(logger, pattern, <span class="string">"World"</span>); +<a name="1287" href="#1287">1287</a> assertEquals(pattern, capture.getMessage()); +<a name="1288" href="#1288">1288</a> } +<a name="1289" href="#1289">1289</a> +<a name="1290" href="#1290">1290</a> +<a name="1291" href="#1291">1291</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogSF.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogSF.html new file mode 100644 index 00000000000..394f010e93c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogSF.html @@ -0,0 +1,1204 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TestLogSF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/TestLogSF.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong>import</strong> java.io.CharArrayWriter; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em>/**<em>*</em></em> +<a name="25" href="#25">25</a> <em> * Unit test for LogSF.</em> +<a name="26" href="#26">26</a> <em> */</em> +<a name="27" href="#27">27</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/TestLogSF.html">TestLogSF</a> <strong>extends</strong> TestCase { +<a name="28" href="#28">28</a> <em>/**<em>*</em></em> +<a name="29" href="#29">29</a> <em> * Trace level.</em> +<a name="30" href="#30">30</a> <em> */</em> +<a name="31" href="#31">31</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> Level TRACE = getTraceLevel(); +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em>/**<em>*</em></em> +<a name="34" href="#34">34</a> <em> * Gets Trace level.</em> +<a name="35" href="#35">35</a> <em> * Trace level was not defined prior to log4j 1.2.12.</em> +<a name="36" href="#36">36</a> <em> * @return trace level</em> +<a name="37" href="#37">37</a> <em> */</em> +<a name="38" href="#38">38</a> <strong>private</strong> <strong>static</strong> Level getTraceLevel() { +<a name="39" href="#39">39</a> <strong>try</strong> { +<a name="40" href="#40">40</a> <strong>return</strong> (Level) Level.<strong>class</strong>.getField(<span class="string">"TRACE"</span>).get(<strong>null</strong>); +<a name="41" href="#41">41</a> } <strong>catch</strong>(Exception ex) { +<a name="42" href="#42">42</a> <strong>return</strong> <strong>new</strong> Level(5000, <span class="string">"TRACE"</span>, 7); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * Logger.</em> +<a name="48" href="#48">48</a> <em> */</em> +<a name="49" href="#49">49</a> <strong>private</strong> <strong>final</strong> Logger logger = Logger.getLogger( +<a name="50" href="#50">50</a> <span class="string">"org.apache.log4j.formatter.TestLogSF"</span>); +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em>/**<em>*</em></em> +<a name="53" href="#53">53</a> <em> * Create the test case</em> +<a name="54" href="#54">54</a> <em> *</em> +<a name="55" href="#55">55</a> <em> * @param testName name of the test case</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>public</strong> <a href="../../../org/apache/log4j/TestLogSF.html">TestLogSF</a>(String testName) { +<a name="58" href="#58">58</a> <strong>super</strong>(testName); +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em>/**<em>*</em></em> +<a name="63" href="#63">63</a> <em> * Post test clean up.</em> +<a name="64" href="#64">64</a> <em> */</em> +<a name="65" href="#65">65</a> <strong>public</strong> <strong>void</strong> tearDown() { +<a name="66" href="#66">66</a> LogManager.resetConfiguration(); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em>/**<em>*</em></em> +<a name="70" href="#70">70</a> <em> * Test class name when logging through LogSF.</em> +<a name="71" href="#71">71</a> <em> */</em> +<a name="72" href="#72">72</a> <strong>public</strong> <strong>void</strong> testClassName() { +<a name="73" href="#73">73</a> CharArrayWriter writer = <strong>new</strong> CharArrayWriter(); +<a name="74" href="#74">74</a> PatternLayout layout = <strong>new</strong> PatternLayout(<span class="string">"%C"</span>); +<a name="75" href="#75">75</a> WriterAppender appender = <strong>new</strong> WriterAppender(layout, writer); +<a name="76" href="#76">76</a> appender.activateOptions(); +<a name="77" href="#77">77</a> Logger.getRootLogger().addAppender(appender); +<a name="78" href="#78">78</a> LogSF.debug(logger, <strong>null</strong>, Math.PI); +<a name="79" href="#79">79</a> assertEquals(TestLogSF.<strong>class</strong>.getName(), writer.toString()); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em>/**<em>*</em></em> +<a name="85" href="#85">85</a> <em> * Test LogSF.trace with null pattern.</em> +<a name="86" href="#86">86</a> <em> */</em> +<a name="87" href="#87">87</a> <strong>public</strong> <strong>void</strong> testTraceNullPattern() { +<a name="88" href="#88">88</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="89" href="#89">89</a> logger.setLevel(TRACE); +<a name="90" href="#90">90</a> LogSF.trace(logger, <strong>null</strong>, Math.PI); +<a name="91" href="#91">91</a> assertNull(capture.getMessage()); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em>/**<em>*</em></em> +<a name="95" href="#95">95</a> <em> * Test LogSF.trace with no-field pattern.</em> +<a name="96" href="#96">96</a> <em> */</em> +<a name="97" href="#97">97</a> <strong>public</strong> <strong>void</strong> testTraceNoArg() { +<a name="98" href="#98">98</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="99" href="#99">99</a> logger.setLevel(TRACE); +<a name="100" href="#100">100</a> LogSF.trace(logger, <span class="string">"Hello, World"</span>, Math.PI); +<a name="101" href="#101">101</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em>/**<em>*</em></em> +<a name="105" href="#105">105</a> <em> * Test LogSF.trace with malformed pattern.</em> +<a name="106" href="#106">106</a> <em> */</em> +<a name="107" href="#107">107</a> <strong>public</strong> <strong>void</strong> testTraceBadPattern() { +<a name="108" href="#108">108</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="109" href="#109">109</a> logger.setLevel(TRACE); +<a name="110" href="#110">110</a> LogSF.trace(logger, <span class="string">"Hello, {."</span>, Math.PI); +<a name="111" href="#111">111</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <em>/**<em>*</em></em> +<a name="115" href="#115">115</a> <em> * Test LogSF.trace with missing argument.</em> +<a name="116" href="#116">116</a> <em> */</em> +<a name="117" href="#117">117</a> <strong>public</strong> <strong>void</strong> testTraceMissingArg() { +<a name="118" href="#118">118</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="119" href="#119">119</a> logger.setLevel(TRACE); +<a name="120" href="#120">120</a> LogSF.trace(logger, <span class="string">"Hello, {}World"</span>, <strong>new</strong> Object[0]); +<a name="121" href="#121">121</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em>/**<em>*</em></em> +<a name="125" href="#125">125</a> <em> * Test LogSF.trace with single field pattern with string argument.</em> +<a name="126" href="#126">126</a> <em> */</em> +<a name="127" href="#127">127</a> <strong>public</strong> <strong>void</strong> testTraceString() { +<a name="128" href="#128">128</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="129" href="#129">129</a> logger.setLevel(TRACE); +<a name="130" href="#130">130</a> LogSF.trace(logger, <span class="string">"Hello, {}"</span>, <span class="string">"World"</span>); +<a name="131" href="#131">131</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em>/**<em>*</em></em> +<a name="135" href="#135">135</a> <em> * Test LogSF.trace with single field pattern with null argument.</em> +<a name="136" href="#136">136</a> <em> */</em> +<a name="137" href="#137">137</a> <strong>public</strong> <strong>void</strong> testTraceNull() { +<a name="138" href="#138">138</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="139" href="#139">139</a> logger.setLevel(TRACE); +<a name="140" href="#140">140</a> LogSF.trace(logger, <span class="string">"Hello, {}"</span>, (Object) <strong>null</strong>); +<a name="141" href="#141">141</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> <em>/**<em>*</em></em> +<a name="145" href="#145">145</a> <em> * Test LogSF.trace with single field pattern with int argument.</em> +<a name="146" href="#146">146</a> <em> */</em> +<a name="147" href="#147">147</a> <strong>public</strong> <strong>void</strong> testTraceInt() { +<a name="148" href="#148">148</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="149" href="#149">149</a> logger.setLevel(TRACE); +<a name="150" href="#150">150</a> <strong>int</strong> val = 42; +<a name="151" href="#151">151</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); +<a name="152" href="#152">152</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <em>/**<em>*</em></em> +<a name="156" href="#156">156</a> <em> * Test LogSF.trace with single field pattern with byte argument.</em> +<a name="157" href="#157">157</a> <em> */</em> +<a name="158" href="#158">158</a> <strong>public</strong> <strong>void</strong> testTraceByte() { +<a name="159" href="#159">159</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="160" href="#160">160</a> logger.setLevel(TRACE); +<a name="161" href="#161">161</a> byte val = 42; +<a name="162" href="#162">162</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); +<a name="163" href="#163">163</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> +<a name="166" href="#166">166</a> <em>/**<em>*</em></em> +<a name="167" href="#167">167</a> <em> * Test LogSF.trace with single field pattern with short argument.</em> +<a name="168" href="#168">168</a> <em> */</em> +<a name="169" href="#169">169</a> <strong>public</strong> <strong>void</strong> testTraceShort() { +<a name="170" href="#170">170</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="171" href="#171">171</a> logger.setLevel(TRACE); +<a name="172" href="#172">172</a> <strong>short</strong> val = 42; +<a name="173" href="#173">173</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); +<a name="174" href="#174">174</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <em>/**<em>*</em></em> +<a name="178" href="#178">178</a> <em> * Test LogSF.trace with single field pattern with long argument.</em> +<a name="179" href="#179">179</a> <em> */</em> +<a name="180" href="#180">180</a> <strong>public</strong> <strong>void</strong> testTraceLong() { +<a name="181" href="#181">181</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="182" href="#182">182</a> logger.setLevel(TRACE); +<a name="183" href="#183">183</a> <strong>long</strong> val = 42; +<a name="184" href="#184">184</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); +<a name="185" href="#185">185</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> <em>/**<em>*</em></em> +<a name="189" href="#189">189</a> <em> * Test LogSF.trace with single field pattern with char argument.</em> +<a name="190" href="#190">190</a> <em> */</em> +<a name="191" href="#191">191</a> <strong>public</strong> <strong>void</strong> testTraceChar() { +<a name="192" href="#192">192</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="193" href="#193">193</a> logger.setLevel(TRACE); +<a name="194" href="#194">194</a> <strong>char</strong> val = 'C'; +<a name="195" href="#195">195</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); +<a name="196" href="#196">196</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> <em>/**<em>*</em></em> +<a name="200" href="#200">200</a> <em> * Test LogSF.trace with single field pattern with boolean argument.</em> +<a name="201" href="#201">201</a> <em> */</em> +<a name="202" href="#202">202</a> <strong>public</strong> <strong>void</strong> testTraceBoolean() { +<a name="203" href="#203">203</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="204" href="#204">204</a> logger.setLevel(TRACE); +<a name="205" href="#205">205</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="206" href="#206">206</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); +<a name="207" href="#207">207</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="208" href="#208">208</a> } +<a name="209" href="#209">209</a> +<a name="210" href="#210">210</a> <em>/**<em>*</em></em> +<a name="211" href="#211">211</a> <em> * Test LogSF.trace with single field pattern with float argument.</em> +<a name="212" href="#212">212</a> <em> */</em> +<a name="213" href="#213">213</a> <strong>public</strong> <strong>void</strong> testTraceFloat() { +<a name="214" href="#214">214</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="215" href="#215">215</a> logger.setLevel(TRACE); +<a name="216" href="#216">216</a> <strong>float</strong> val = 3.14f; +<a name="217" href="#217">217</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); +<a name="218" href="#218">218</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em>/**<em>*</em></em> +<a name="222" href="#222">222</a> <em> * Test LogSF.trace with single field pattern with double argument.</em> +<a name="223" href="#223">223</a> <em> */</em> +<a name="224" href="#224">224</a> <strong>public</strong> <strong>void</strong> testTraceDouble() { +<a name="225" href="#225">225</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="226" href="#226">226</a> logger.setLevel(TRACE); +<a name="227" href="#227">227</a> <strong>double</strong> val = 3.14; +<a name="228" href="#228">228</a> LogSF.trace(logger, <span class="string">"Iteration {}"</span>, val); +<a name="229" href="#229">229</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="230" href="#230">230</a> } +<a name="231" href="#231">231</a> +<a name="232" href="#232">232</a> <em>/**<em>*</em></em> +<a name="233" href="#233">233</a> <em> * Test LogSF.trace with two arguments.</em> +<a name="234" href="#234">234</a> <em> */</em> +<a name="235" href="#235">235</a> <strong>public</strong> <strong>void</strong> testTraceTwoArg() { +<a name="236" href="#236">236</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="237" href="#237">237</a> logger.setLevel(TRACE); +<a name="238" href="#238">238</a> LogSF.trace(logger, <span class="string">"{}, {}."</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); +<a name="239" href="#239">239</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> } +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <em>/**<em>*</em></em> +<a name="244" href="#244">244</a> <em> * Test LogSF.trace with three arguments.</em> +<a name="245" href="#245">245</a> <em> */</em> +<a name="246" href="#246">246</a> <strong>public</strong> <strong>void</strong> testTraceThreeArg() { +<a name="247" href="#247">247</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="248" href="#248">248</a> logger.setLevel(TRACE); +<a name="249" href="#249">249</a> LogSF.trace(logger, <span class="string">"{}{} {}."</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); +<a name="250" href="#250">250</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <em>/**<em>*</em></em> +<a name="254" href="#254">254</a> <em> * Test LogSF.trace with Object[] argument.</em> +<a name="255" href="#255">255</a> <em> */</em> +<a name="256" href="#256">256</a> <strong>public</strong> <strong>void</strong> testTraceFourArg() { +<a name="257" href="#257">257</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="258" href="#258">258</a> logger.setLevel(TRACE); +<a name="259" href="#259">259</a> LogSF.trace(logger, <span class="string">"{}{} {}{}"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span>); +<a name="260" href="#260">260</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="261" href="#261">261</a> } +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <em>/**<em>*</em></em> +<a name="264" href="#264">264</a> <em> * Test LogSF.trace with Object[] argument.</em> +<a name="265" href="#265">265</a> <em> */</em> +<a name="266" href="#266">266</a> <strong>public</strong> <strong>void</strong> testTraceArrayArg() { +<a name="267" href="#267">267</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="268" href="#268">268</a> logger.setLevel(TRACE); +<a name="269" href="#269">269</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; +<a name="270" href="#270">270</a> LogSF.trace(logger, <span class="string">"{}{} {}{}"</span>, args); +<a name="271" href="#271">271</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <em>/**<em>*</em></em> +<a name="275" href="#275">275</a> <em> * Test LogSF.trace with null Object[] argument.</em> +<a name="276" href="#276">276</a> <em> */</em> +<a name="277" href="#277">277</a> <strong>public</strong> <strong>void</strong> testTraceNullArrayArg() { +<a name="278" href="#278">278</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(TRACE); +<a name="279" href="#279">279</a> logger.setLevel(TRACE); +<a name="280" href="#280">280</a> Object[] args = <strong>null</strong>; +<a name="281" href="#281">281</a> LogSF.trace(logger, <span class="string">"{}{} {}{}"</span>, args); +<a name="282" href="#282">282</a> assertEquals(<span class="string">"{}{} {}{}"</span>, capture.getMessage()); +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> +<a name="286" href="#286">286</a> +<a name="287" href="#287">287</a> <em>/**<em>*</em></em> +<a name="288" href="#288">288</a> <em> * Test LogSF.debug with null pattern.</em> +<a name="289" href="#289">289</a> <em> */</em> +<a name="290" href="#290">290</a> <strong>public</strong> <strong>void</strong> testDebugNullPattern() { +<a name="291" href="#291">291</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="292" href="#292">292</a> LogSF.debug(logger, <strong>null</strong>, Math.PI); +<a name="293" href="#293">293</a> assertNull(capture.getMessage()); +<a name="294" href="#294">294</a> } +<a name="295" href="#295">295</a> +<a name="296" href="#296">296</a> <em>/**<em>*</em></em> +<a name="297" href="#297">297</a> <em> * Test LogSF.debug with no-field pattern.</em> +<a name="298" href="#298">298</a> <em> */</em> +<a name="299" href="#299">299</a> <strong>public</strong> <strong>void</strong> testDebugNoArg() { +<a name="300" href="#300">300</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="301" href="#301">301</a> LogSF.debug(logger, <span class="string">"Hello, World"</span>, Math.PI); +<a name="302" href="#302">302</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="303" href="#303">303</a> } +<a name="304" href="#304">304</a> +<a name="305" href="#305">305</a> <em>/**<em>*</em></em> +<a name="306" href="#306">306</a> <em> * Test LogSF.debug with malformed pattern.</em> +<a name="307" href="#307">307</a> <em> */</em> +<a name="308" href="#308">308</a> <strong>public</strong> <strong>void</strong> testDebugBadPattern() { +<a name="309" href="#309">309</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="310" href="#310">310</a> LogSF.debug(logger, <span class="string">"Hello, {."</span>, Math.PI); +<a name="311" href="#311">311</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="312" href="#312">312</a> } +<a name="313" href="#313">313</a> +<a name="314" href="#314">314</a> <em>/**<em>*</em></em> +<a name="315" href="#315">315</a> <em> * Test LogSF.debug with missing argument.</em> +<a name="316" href="#316">316</a> <em> */</em> +<a name="317" href="#317">317</a> <strong>public</strong> <strong>void</strong> testDebugMissingArg() { +<a name="318" href="#318">318</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="319" href="#319">319</a> LogSF.debug(logger, <span class="string">"Hello, {}World"</span>, <strong>new</strong> Object[0]); +<a name="320" href="#320">320</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> +<a name="323" href="#323">323</a> <em>/**<em>*</em></em> +<a name="324" href="#324">324</a> <em> * Test LogSF.debug with single field pattern with string argument.</em> +<a name="325" href="#325">325</a> <em> */</em> +<a name="326" href="#326">326</a> <strong>public</strong> <strong>void</strong> testDebugString() { +<a name="327" href="#327">327</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="328" href="#328">328</a> LogSF.debug(logger, <span class="string">"Hello, {}"</span>, <span class="string">"World"</span>); +<a name="329" href="#329">329</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="330" href="#330">330</a> } +<a name="331" href="#331">331</a> +<a name="332" href="#332">332</a> <em>/**<em>*</em></em> +<a name="333" href="#333">333</a> <em> * Test LogSF.debug with single field pattern with null argument.</em> +<a name="334" href="#334">334</a> <em> */</em> +<a name="335" href="#335">335</a> <strong>public</strong> <strong>void</strong> testDebugNull() { +<a name="336" href="#336">336</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="337" href="#337">337</a> LogSF.debug(logger, <span class="string">"Hello, {}"</span>, (Object) <strong>null</strong>); +<a name="338" href="#338">338</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="339" href="#339">339</a> } +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> <em>/**<em>*</em></em> +<a name="342" href="#342">342</a> <em> * Test LogSF.debug with single field pattern with int argument.</em> +<a name="343" href="#343">343</a> <em> */</em> +<a name="344" href="#344">344</a> <strong>public</strong> <strong>void</strong> testDebugInt() { +<a name="345" href="#345">345</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="346" href="#346">346</a> <strong>int</strong> val = 42; +<a name="347" href="#347">347</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); +<a name="348" href="#348">348</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> +<a name="351" href="#351">351</a> <em>/**<em>*</em></em> +<a name="352" href="#352">352</a> <em> * Test LogSF.debug with single field pattern with byte argument.</em> +<a name="353" href="#353">353</a> <em> */</em> +<a name="354" href="#354">354</a> <strong>public</strong> <strong>void</strong> testDebugByte() { +<a name="355" href="#355">355</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="356" href="#356">356</a> byte val = 42; +<a name="357" href="#357">357</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); +<a name="358" href="#358">358</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="359" href="#359">359</a> } +<a name="360" href="#360">360</a> +<a name="361" href="#361">361</a> <em>/**<em>*</em></em> +<a name="362" href="#362">362</a> <em> * Test LogSF.debug with single field pattern with short argument.</em> +<a name="363" href="#363">363</a> <em> */</em> +<a name="364" href="#364">364</a> <strong>public</strong> <strong>void</strong> testDebugShort() { +<a name="365" href="#365">365</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="366" href="#366">366</a> <strong>short</strong> val = 42; +<a name="367" href="#367">367</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); +<a name="368" href="#368">368</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="369" href="#369">369</a> } +<a name="370" href="#370">370</a> +<a name="371" href="#371">371</a> <em>/**<em>*</em></em> +<a name="372" href="#372">372</a> <em> * Test LogSF.debug with single field pattern with long argument.</em> +<a name="373" href="#373">373</a> <em> */</em> +<a name="374" href="#374">374</a> <strong>public</strong> <strong>void</strong> testDebugLong() { +<a name="375" href="#375">375</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="376" href="#376">376</a> <strong>long</strong> val = 42; +<a name="377" href="#377">377</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); +<a name="378" href="#378">378</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="379" href="#379">379</a> } +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <em>/**<em>*</em></em> +<a name="382" href="#382">382</a> <em> * Test LogSF.debug with single field pattern with char argument.</em> +<a name="383" href="#383">383</a> <em> */</em> +<a name="384" href="#384">384</a> <strong>public</strong> <strong>void</strong> testDebugChar() { +<a name="385" href="#385">385</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="386" href="#386">386</a> <strong>char</strong> val = 'C'; +<a name="387" href="#387">387</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); +<a name="388" href="#388">388</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="389" href="#389">389</a> } +<a name="390" href="#390">390</a> +<a name="391" href="#391">391</a> <em>/**<em>*</em></em> +<a name="392" href="#392">392</a> <em> * Test LogSF.debug with single field pattern with boolean argument.</em> +<a name="393" href="#393">393</a> <em> */</em> +<a name="394" href="#394">394</a> <strong>public</strong> <strong>void</strong> testDebugBoolean() { +<a name="395" href="#395">395</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="396" href="#396">396</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="397" href="#397">397</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); +<a name="398" href="#398">398</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="399" href="#399">399</a> } +<a name="400" href="#400">400</a> +<a name="401" href="#401">401</a> <em>/**<em>*</em></em> +<a name="402" href="#402">402</a> <em> * Test LogSF.debug with single field pattern with float argument.</em> +<a name="403" href="#403">403</a> <em> */</em> +<a name="404" href="#404">404</a> <strong>public</strong> <strong>void</strong> testDebugFloat() { +<a name="405" href="#405">405</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="406" href="#406">406</a> <strong>float</strong> val = 3.14f; +<a name="407" href="#407">407</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); +<a name="408" href="#408">408</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="409" href="#409">409</a> } +<a name="410" href="#410">410</a> +<a name="411" href="#411">411</a> <em>/**<em>*</em></em> +<a name="412" href="#412">412</a> <em> * Test LogSF.debug with single field pattern with double argument.</em> +<a name="413" href="#413">413</a> <em> */</em> +<a name="414" href="#414">414</a> <strong>public</strong> <strong>void</strong> testDebugDouble() { +<a name="415" href="#415">415</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="416" href="#416">416</a> <strong>double</strong> val = 3.14; +<a name="417" href="#417">417</a> LogSF.debug(logger, <span class="string">"Iteration {}"</span>, val); +<a name="418" href="#418">418</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="419" href="#419">419</a> } +<a name="420" href="#420">420</a> +<a name="421" href="#421">421</a> <em>/**<em>*</em></em> +<a name="422" href="#422">422</a> <em> * Test LogSF.debug with two arguments.</em> +<a name="423" href="#423">423</a> <em> */</em> +<a name="424" href="#424">424</a> <strong>public</strong> <strong>void</strong> testDebugTwoArg() { +<a name="425" href="#425">425</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="426" href="#426">426</a> LogSF.debug(logger, <span class="string">"{}, {}."</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); +<a name="427" href="#427">427</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="428" href="#428">428</a> +<a name="429" href="#429">429</a> } +<a name="430" href="#430">430</a> +<a name="431" href="#431">431</a> <em>/**<em>*</em></em> +<a name="432" href="#432">432</a> <em> * Test LogSF.debug with three arguments.</em> +<a name="433" href="#433">433</a> <em> */</em> +<a name="434" href="#434">434</a> <strong>public</strong> <strong>void</strong> testDebugThreeArg() { +<a name="435" href="#435">435</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="436" href="#436">436</a> LogSF.debug(logger, <span class="string">"{}{} {}."</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); +<a name="437" href="#437">437</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="438" href="#438">438</a> } +<a name="439" href="#439">439</a> +<a name="440" href="#440">440</a> <em>/**<em>*</em></em> +<a name="441" href="#441">441</a> <em> * Test LogSF.debug with four arguments.</em> +<a name="442" href="#442">442</a> <em> */</em> +<a name="443" href="#443">443</a> <strong>public</strong> <strong>void</strong> testDebugFourArg() { +<a name="444" href="#444">444</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="445" href="#445">445</a> LogSF.debug(logger, <span class="string">"{}{} {}{}"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span>); +<a name="446" href="#446">446</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="447" href="#447">447</a> } +<a name="448" href="#448">448</a> +<a name="449" href="#449">449</a> <em>/**<em>*</em></em> +<a name="450" href="#450">450</a> <em> * Test LogSF.debug with Object[] argument.</em> +<a name="451" href="#451">451</a> <em> */</em> +<a name="452" href="#452">452</a> <strong>public</strong> <strong>void</strong> testDebugArrayArg() { +<a name="453" href="#453">453</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="454" href="#454">454</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; +<a name="455" href="#455">455</a> LogSF.debug(logger, <span class="string">"{}{} {}{}"</span>, args); +<a name="456" href="#456">456</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="457" href="#457">457</a> } +<a name="458" href="#458">458</a> +<a name="459" href="#459">459</a> <em>/**<em>*</em></em> +<a name="460" href="#460">460</a> <em> * Test LogSF.debug with null Object[] argument.</em> +<a name="461" href="#461">461</a> <em> */</em> +<a name="462" href="#462">462</a> <strong>public</strong> <strong>void</strong> testDebugNullArrayArg() { +<a name="463" href="#463">463</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="464" href="#464">464</a> Object[] args = <strong>null</strong>; +<a name="465" href="#465">465</a> LogSF.debug(logger, <span class="string">"{}{} {}{}"</span>, args); +<a name="466" href="#466">466</a> assertEquals(<span class="string">"{}{} {}{}"</span>, capture.getMessage()); +<a name="467" href="#467">467</a> } +<a name="468" href="#468">468</a> +<a name="469" href="#469">469</a> <em>/**<em>*</em></em> +<a name="470" href="#470">470</a> <em> * Test LogSF.info with null pattern.</em> +<a name="471" href="#471">471</a> <em> */</em> +<a name="472" href="#472">472</a> <strong>public</strong> <strong>void</strong> testInfoNullPattern() { +<a name="473" href="#473">473</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="474" href="#474">474</a> LogSF.info(logger, <strong>null</strong>, Math.PI); +<a name="475" href="#475">475</a> assertNull(capture.getMessage()); +<a name="476" href="#476">476</a> } +<a name="477" href="#477">477</a> +<a name="478" href="#478">478</a> <em>/**<em>*</em></em> +<a name="479" href="#479">479</a> <em> * Test LogSF.info with no-field pattern.</em> +<a name="480" href="#480">480</a> <em> */</em> +<a name="481" href="#481">481</a> <strong>public</strong> <strong>void</strong> testInfoNoArg() { +<a name="482" href="#482">482</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="483" href="#483">483</a> LogSF.info(logger, <span class="string">"Hello, World"</span>, Math.PI); +<a name="484" href="#484">484</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="485" href="#485">485</a> } +<a name="486" href="#486">486</a> +<a name="487" href="#487">487</a> <em>/**<em>*</em></em> +<a name="488" href="#488">488</a> <em> * Test LogSF.info with malformed pattern.</em> +<a name="489" href="#489">489</a> <em> */</em> +<a name="490" href="#490">490</a> <strong>public</strong> <strong>void</strong> testInfoBadPattern() { +<a name="491" href="#491">491</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="492" href="#492">492</a> LogSF.info(logger, <span class="string">"Hello, {."</span>, Math.PI); +<a name="493" href="#493">493</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="494" href="#494">494</a> } +<a name="495" href="#495">495</a> +<a name="496" href="#496">496</a> <em>/**<em>*</em></em> +<a name="497" href="#497">497</a> <em> * Test LogSF.info with missing argument.</em> +<a name="498" href="#498">498</a> <em> */</em> +<a name="499" href="#499">499</a> <strong>public</strong> <strong>void</strong> testInfoMissingArg() { +<a name="500" href="#500">500</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="501" href="#501">501</a> LogSF.info(logger, <span class="string">"Hello, {}World"</span>, <strong>new</strong> Object[0]); +<a name="502" href="#502">502</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); +<a name="503" href="#503">503</a> } +<a name="504" href="#504">504</a> +<a name="505" href="#505">505</a> <em>/**<em>*</em></em> +<a name="506" href="#506">506</a> <em> * Test LogSF.info with single field pattern with string argument.</em> +<a name="507" href="#507">507</a> <em> */</em> +<a name="508" href="#508">508</a> <strong>public</strong> <strong>void</strong> testInfoString() { +<a name="509" href="#509">509</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="510" href="#510">510</a> LogSF.info(logger, <span class="string">"Hello, {}"</span>, <span class="string">"World"</span>); +<a name="511" href="#511">511</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="512" href="#512">512</a> } +<a name="513" href="#513">513</a> +<a name="514" href="#514">514</a> <em>/**<em>*</em></em> +<a name="515" href="#515">515</a> <em> * Test LogSF.info with single field pattern with null argument.</em> +<a name="516" href="#516">516</a> <em> */</em> +<a name="517" href="#517">517</a> <strong>public</strong> <strong>void</strong> testInfoNull() { +<a name="518" href="#518">518</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="519" href="#519">519</a> LogSF.info(logger, <span class="string">"Hello, {}"</span>, (Object) <strong>null</strong>); +<a name="520" href="#520">520</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="521" href="#521">521</a> } +<a name="522" href="#522">522</a> +<a name="523" href="#523">523</a> <em>/**<em>*</em></em> +<a name="524" href="#524">524</a> <em> * Test LogSF.info with single field pattern with int argument.</em> +<a name="525" href="#525">525</a> <em> */</em> +<a name="526" href="#526">526</a> <strong>public</strong> <strong>void</strong> testInfoInt() { +<a name="527" href="#527">527</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="528" href="#528">528</a> <strong>int</strong> val = 42; +<a name="529" href="#529">529</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); +<a name="530" href="#530">530</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="531" href="#531">531</a> } +<a name="532" href="#532">532</a> +<a name="533" href="#533">533</a> <em>/**<em>*</em></em> +<a name="534" href="#534">534</a> <em> * Test LogSF.info with single field pattern with byte argument.</em> +<a name="535" href="#535">535</a> <em> */</em> +<a name="536" href="#536">536</a> <strong>public</strong> <strong>void</strong> testInfoByte() { +<a name="537" href="#537">537</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="538" href="#538">538</a> byte val = 42; +<a name="539" href="#539">539</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); +<a name="540" href="#540">540</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="541" href="#541">541</a> } +<a name="542" href="#542">542</a> +<a name="543" href="#543">543</a> <em>/**<em>*</em></em> +<a name="544" href="#544">544</a> <em> * Test LogSF.info with single field pattern with short argument.</em> +<a name="545" href="#545">545</a> <em> */</em> +<a name="546" href="#546">546</a> <strong>public</strong> <strong>void</strong> testInfoShort() { +<a name="547" href="#547">547</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="548" href="#548">548</a> <strong>short</strong> val = 42; +<a name="549" href="#549">549</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); +<a name="550" href="#550">550</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="551" href="#551">551</a> } +<a name="552" href="#552">552</a> +<a name="553" href="#553">553</a> <em>/**<em>*</em></em> +<a name="554" href="#554">554</a> <em> * Test LogSF.info with single field pattern with long argument.</em> +<a name="555" href="#555">555</a> <em> */</em> +<a name="556" href="#556">556</a> <strong>public</strong> <strong>void</strong> testInfoLong() { +<a name="557" href="#557">557</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="558" href="#558">558</a> <strong>long</strong> val = 42; +<a name="559" href="#559">559</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); +<a name="560" href="#560">560</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="561" href="#561">561</a> } +<a name="562" href="#562">562</a> +<a name="563" href="#563">563</a> <em>/**<em>*</em></em> +<a name="564" href="#564">564</a> <em> * Test LogSF.info with single field pattern with char argument.</em> +<a name="565" href="#565">565</a> <em> */</em> +<a name="566" href="#566">566</a> <strong>public</strong> <strong>void</strong> testInfoChar() { +<a name="567" href="#567">567</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="568" href="#568">568</a> <strong>char</strong> val = 'C'; +<a name="569" href="#569">569</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); +<a name="570" href="#570">570</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="571" href="#571">571</a> } +<a name="572" href="#572">572</a> +<a name="573" href="#573">573</a> <em>/**<em>*</em></em> +<a name="574" href="#574">574</a> <em> * Test LogSF.info with single field pattern with boolean argument.</em> +<a name="575" href="#575">575</a> <em> */</em> +<a name="576" href="#576">576</a> <strong>public</strong> <strong>void</strong> testInfoBoolean() { +<a name="577" href="#577">577</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="578" href="#578">578</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="579" href="#579">579</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); +<a name="580" href="#580">580</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="581" href="#581">581</a> } +<a name="582" href="#582">582</a> +<a name="583" href="#583">583</a> <em>/**<em>*</em></em> +<a name="584" href="#584">584</a> <em> * Test LogSF.info with single field pattern with float argument.</em> +<a name="585" href="#585">585</a> <em> */</em> +<a name="586" href="#586">586</a> <strong>public</strong> <strong>void</strong> testInfoFloat() { +<a name="587" href="#587">587</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="588" href="#588">588</a> <strong>float</strong> val = 3.14f; +<a name="589" href="#589">589</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); +<a name="590" href="#590">590</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="591" href="#591">591</a> } +<a name="592" href="#592">592</a> +<a name="593" href="#593">593</a> <em>/**<em>*</em></em> +<a name="594" href="#594">594</a> <em> * Test LogSF.info with single field pattern with double argument.</em> +<a name="595" href="#595">595</a> <em> */</em> +<a name="596" href="#596">596</a> <strong>public</strong> <strong>void</strong> testInfoDouble() { +<a name="597" href="#597">597</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="598" href="#598">598</a> <strong>double</strong> val = 3.14; +<a name="599" href="#599">599</a> LogSF.info(logger, <span class="string">"Iteration {}"</span>, val); +<a name="600" href="#600">600</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="601" href="#601">601</a> } +<a name="602" href="#602">602</a> +<a name="603" href="#603">603</a> <em>/**<em>*</em></em> +<a name="604" href="#604">604</a> <em> * Test LogSF.info with two arguments.</em> +<a name="605" href="#605">605</a> <em> */</em> +<a name="606" href="#606">606</a> <strong>public</strong> <strong>void</strong> testInfoTwoArg() { +<a name="607" href="#607">607</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="608" href="#608">608</a> LogSF.info(logger, <span class="string">"{}, {}."</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); +<a name="609" href="#609">609</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="610" href="#610">610</a> +<a name="611" href="#611">611</a> } +<a name="612" href="#612">612</a> +<a name="613" href="#613">613</a> <em>/**<em>*</em></em> +<a name="614" href="#614">614</a> <em> * Test LogSF.info with three arguments.</em> +<a name="615" href="#615">615</a> <em> */</em> +<a name="616" href="#616">616</a> <strong>public</strong> <strong>void</strong> testInfoThreeArg() { +<a name="617" href="#617">617</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="618" href="#618">618</a> LogSF.info(logger, <span class="string">"{}{} {}."</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); +<a name="619" href="#619">619</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="620" href="#620">620</a> } +<a name="621" href="#621">621</a> +<a name="622" href="#622">622</a> <em>/**<em>*</em></em> +<a name="623" href="#623">623</a> <em> * Test LogSF.info with Object[] argument.</em> +<a name="624" href="#624">624</a> <em> */</em> +<a name="625" href="#625">625</a> <strong>public</strong> <strong>void</strong> testInfoArrayArg() { +<a name="626" href="#626">626</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="627" href="#627">627</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; +<a name="628" href="#628">628</a> LogSF.info(logger, <span class="string">"{}{} {}{}"</span>, args); +<a name="629" href="#629">629</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="630" href="#630">630</a> } +<a name="631" href="#631">631</a> +<a name="632" href="#632">632</a> <em>/**<em>*</em></em> +<a name="633" href="#633">633</a> <em> * Test LogSF.warn with null pattern.</em> +<a name="634" href="#634">634</a> <em> */</em> +<a name="635" href="#635">635</a> <strong>public</strong> <strong>void</strong> testWarnNullPattern() { +<a name="636" href="#636">636</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="637" href="#637">637</a> LogSF.warn(logger, <strong>null</strong>, Math.PI); +<a name="638" href="#638">638</a> assertNull(capture.getMessage()); +<a name="639" href="#639">639</a> } +<a name="640" href="#640">640</a> +<a name="641" href="#641">641</a> <em>/**<em>*</em></em> +<a name="642" href="#642">642</a> <em> * Test LogSF.warn with no-field pattern.</em> +<a name="643" href="#643">643</a> <em> */</em> +<a name="644" href="#644">644</a> <strong>public</strong> <strong>void</strong> testWarnNoArg() { +<a name="645" href="#645">645</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="646" href="#646">646</a> LogSF.warn(logger, <span class="string">"Hello, World"</span>, Math.PI); +<a name="647" href="#647">647</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="648" href="#648">648</a> } +<a name="649" href="#649">649</a> +<a name="650" href="#650">650</a> <em>/**<em>*</em></em> +<a name="651" href="#651">651</a> <em> * Test LogSF.warn with malformed pattern.</em> +<a name="652" href="#652">652</a> <em> */</em> +<a name="653" href="#653">653</a> <strong>public</strong> <strong>void</strong> testWarnBadPattern() { +<a name="654" href="#654">654</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="655" href="#655">655</a> LogSF.warn(logger, <span class="string">"Hello, {."</span>, Math.PI); +<a name="656" href="#656">656</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="657" href="#657">657</a> } +<a name="658" href="#658">658</a> +<a name="659" href="#659">659</a> <em>/**<em>*</em></em> +<a name="660" href="#660">660</a> <em> * Test LogSF.warn with missing argument.</em> +<a name="661" href="#661">661</a> <em> */</em> +<a name="662" href="#662">662</a> <strong>public</strong> <strong>void</strong> testWarnMissingArg() { +<a name="663" href="#663">663</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="664" href="#664">664</a> LogSF.warn(logger, <span class="string">"Hello, {}World"</span>, <strong>new</strong> Object[0]); +<a name="665" href="#665">665</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); +<a name="666" href="#666">666</a> } +<a name="667" href="#667">667</a> +<a name="668" href="#668">668</a> <em>/**<em>*</em></em> +<a name="669" href="#669">669</a> <em> * Test LogSF.warn with single field pattern with string argument.</em> +<a name="670" href="#670">670</a> <em> */</em> +<a name="671" href="#671">671</a> <strong>public</strong> <strong>void</strong> testWarnString() { +<a name="672" href="#672">672</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="673" href="#673">673</a> LogSF.warn(logger, <span class="string">"Hello, {}"</span>, <span class="string">"World"</span>); +<a name="674" href="#674">674</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="675" href="#675">675</a> } +<a name="676" href="#676">676</a> +<a name="677" href="#677">677</a> <em>/**<em>*</em></em> +<a name="678" href="#678">678</a> <em> * Test LogSF.warn with single field pattern with null argument.</em> +<a name="679" href="#679">679</a> <em> */</em> +<a name="680" href="#680">680</a> <strong>public</strong> <strong>void</strong> testWarnNull() { +<a name="681" href="#681">681</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="682" href="#682">682</a> LogSF.warn(logger, <span class="string">"Hello, {}"</span>, (Object) <strong>null</strong>); +<a name="683" href="#683">683</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="684" href="#684">684</a> } +<a name="685" href="#685">685</a> +<a name="686" href="#686">686</a> <em>/**<em>*</em></em> +<a name="687" href="#687">687</a> <em> * Test LogSF.warn with single field pattern with int argument.</em> +<a name="688" href="#688">688</a> <em> */</em> +<a name="689" href="#689">689</a> <strong>public</strong> <strong>void</strong> testWarnInt() { +<a name="690" href="#690">690</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="691" href="#691">691</a> <strong>int</strong> val = 42; +<a name="692" href="#692">692</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); +<a name="693" href="#693">693</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="694" href="#694">694</a> } +<a name="695" href="#695">695</a> +<a name="696" href="#696">696</a> <em>/**<em>*</em></em> +<a name="697" href="#697">697</a> <em> * Test LogSF.warn with single field pattern with byte argument.</em> +<a name="698" href="#698">698</a> <em> */</em> +<a name="699" href="#699">699</a> <strong>public</strong> <strong>void</strong> testWarnByte() { +<a name="700" href="#700">700</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="701" href="#701">701</a> byte val = 42; +<a name="702" href="#702">702</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); +<a name="703" href="#703">703</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="704" href="#704">704</a> } +<a name="705" href="#705">705</a> +<a name="706" href="#706">706</a> <em>/**<em>*</em></em> +<a name="707" href="#707">707</a> <em> * Test LogSF.warn with single field pattern with short argument.</em> +<a name="708" href="#708">708</a> <em> */</em> +<a name="709" href="#709">709</a> <strong>public</strong> <strong>void</strong> testWarnShort() { +<a name="710" href="#710">710</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="711" href="#711">711</a> <strong>short</strong> val = 42; +<a name="712" href="#712">712</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); +<a name="713" href="#713">713</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="714" href="#714">714</a> } +<a name="715" href="#715">715</a> +<a name="716" href="#716">716</a> <em>/**<em>*</em></em> +<a name="717" href="#717">717</a> <em> * Test LogSF.warn with single field pattern with long argument.</em> +<a name="718" href="#718">718</a> <em> */</em> +<a name="719" href="#719">719</a> <strong>public</strong> <strong>void</strong> testWarnLong() { +<a name="720" href="#720">720</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="721" href="#721">721</a> <strong>long</strong> val = 42; +<a name="722" href="#722">722</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); +<a name="723" href="#723">723</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="724" href="#724">724</a> } +<a name="725" href="#725">725</a> +<a name="726" href="#726">726</a> <em>/**<em>*</em></em> +<a name="727" href="#727">727</a> <em> * Test LogSF.warn with single field pattern with char argument.</em> +<a name="728" href="#728">728</a> <em> */</em> +<a name="729" href="#729">729</a> <strong>public</strong> <strong>void</strong> testWarnChar() { +<a name="730" href="#730">730</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="731" href="#731">731</a> <strong>char</strong> val = 'C'; +<a name="732" href="#732">732</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); +<a name="733" href="#733">733</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="734" href="#734">734</a> } +<a name="735" href="#735">735</a> +<a name="736" href="#736">736</a> <em>/**<em>*</em></em> +<a name="737" href="#737">737</a> <em> * Test LogSF.warn with single field pattern with boolean argument.</em> +<a name="738" href="#738">738</a> <em> */</em> +<a name="739" href="#739">739</a> <strong>public</strong> <strong>void</strong> testWarnBoolean() { +<a name="740" href="#740">740</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="741" href="#741">741</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="742" href="#742">742</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); +<a name="743" href="#743">743</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="744" href="#744">744</a> } +<a name="745" href="#745">745</a> +<a name="746" href="#746">746</a> <em>/**<em>*</em></em> +<a name="747" href="#747">747</a> <em> * Test LogSF.warn with single field pattern with float argument.</em> +<a name="748" href="#748">748</a> <em> */</em> +<a name="749" href="#749">749</a> <strong>public</strong> <strong>void</strong> testWarnFloat() { +<a name="750" href="#750">750</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="751" href="#751">751</a> <strong>float</strong> val = 3.14f; +<a name="752" href="#752">752</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); +<a name="753" href="#753">753</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="754" href="#754">754</a> } +<a name="755" href="#755">755</a> +<a name="756" href="#756">756</a> <em>/**<em>*</em></em> +<a name="757" href="#757">757</a> <em> * Test LogSF.warn with single field pattern with double argument.</em> +<a name="758" href="#758">758</a> <em> */</em> +<a name="759" href="#759">759</a> <strong>public</strong> <strong>void</strong> testWarnDouble() { +<a name="760" href="#760">760</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="761" href="#761">761</a> <strong>double</strong> val = 3.14; +<a name="762" href="#762">762</a> LogSF.warn(logger, <span class="string">"Iteration {}"</span>, val); +<a name="763" href="#763">763</a> assertEquals(<span class="string">"Iteration "</span> + String.valueOf(val), capture.getMessage()); +<a name="764" href="#764">764</a> } +<a name="765" href="#765">765</a> +<a name="766" href="#766">766</a> <em>/**<em>*</em></em> +<a name="767" href="#767">767</a> <em> * Test LogSF.warn with two arguments.</em> +<a name="768" href="#768">768</a> <em> */</em> +<a name="769" href="#769">769</a> <strong>public</strong> <strong>void</strong> testWarnTwoArg() { +<a name="770" href="#770">770</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="771" href="#771">771</a> LogSF.warn(logger, <span class="string">"{}, {}."</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); +<a name="772" href="#772">772</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="773" href="#773">773</a> +<a name="774" href="#774">774</a> } +<a name="775" href="#775">775</a> +<a name="776" href="#776">776</a> <em>/**<em>*</em></em> +<a name="777" href="#777">777</a> <em> * Test LogSF.warn with three arguments.</em> +<a name="778" href="#778">778</a> <em> */</em> +<a name="779" href="#779">779</a> <strong>public</strong> <strong>void</strong> testWarnThreeArg() { +<a name="780" href="#780">780</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="781" href="#781">781</a> LogSF.warn(logger, <span class="string">"{}{} {}."</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); +<a name="782" href="#782">782</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="783" href="#783">783</a> } +<a name="784" href="#784">784</a> +<a name="785" href="#785">785</a> <em>/**<em>*</em></em> +<a name="786" href="#786">786</a> <em> * Test LogSF.warn with Object[] argument.</em> +<a name="787" href="#787">787</a> <em> */</em> +<a name="788" href="#788">788</a> <strong>public</strong> <strong>void</strong> testWarnFourArg() { +<a name="789" href="#789">789</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="790" href="#790">790</a> LogSF.warn(logger, <span class="string">"{}{} {}{}"</span>, +<a name="791" href="#791">791</a> <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> ); +<a name="792" href="#792">792</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="793" href="#793">793</a> } +<a name="794" href="#794">794</a> +<a name="795" href="#795">795</a> <em>/**<em>*</em></em> +<a name="796" href="#796">796</a> <em> * Test LogSF.warn with Object[] argument.</em> +<a name="797" href="#797">797</a> <em> */</em> +<a name="798" href="#798">798</a> <strong>public</strong> <strong>void</strong> testWarnArrayArg() { +<a name="799" href="#799">799</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.WARN); +<a name="800" href="#800">800</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; +<a name="801" href="#801">801</a> LogSF.warn(logger, <span class="string">"{}{} {}{}"</span>, args); +<a name="802" href="#802">802</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="803" href="#803">803</a> } +<a name="804" href="#804">804</a> +<a name="805" href="#805">805</a> +<a name="806" href="#806">806</a> <em>/**<em>*</em></em> +<a name="807" href="#807">807</a> <em> * Test LogSF.log with null pattern.</em> +<a name="808" href="#808">808</a> <em> */</em> +<a name="809" href="#809">809</a> <strong>public</strong> <strong>void</strong> testLogNullPattern() { +<a name="810" href="#810">810</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="811" href="#811">811</a> LogSF.log(logger, Level.ERROR, <strong>null</strong>, Math.PI); +<a name="812" href="#812">812</a> assertNull(capture.getMessage()); +<a name="813" href="#813">813</a> } +<a name="814" href="#814">814</a> +<a name="815" href="#815">815</a> <em>/**<em>*</em></em> +<a name="816" href="#816">816</a> <em> * Test LogSF.log with no-field pattern.</em> +<a name="817" href="#817">817</a> <em> */</em> +<a name="818" href="#818">818</a> <strong>public</strong> <strong>void</strong> testLogNoArg() { +<a name="819" href="#819">819</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="820" href="#820">820</a> LogSF.log(logger, Level.ERROR, <span class="string">"Hello, World"</span>, Math.PI); +<a name="821" href="#821">821</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="822" href="#822">822</a> } +<a name="823" href="#823">823</a> +<a name="824" href="#824">824</a> <em>/**<em>*</em></em> +<a name="825" href="#825">825</a> <em> * Test LogSF.log with malformed pattern.</em> +<a name="826" href="#826">826</a> <em> */</em> +<a name="827" href="#827">827</a> <strong>public</strong> <strong>void</strong> testLogBadPattern() { +<a name="828" href="#828">828</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="829" href="#829">829</a> LogSF.log(logger, Level.ERROR, <span class="string">"Hello, {."</span>, Math.PI); +<a name="830" href="#830">830</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="831" href="#831">831</a> } +<a name="832" href="#832">832</a> +<a name="833" href="#833">833</a> <em>/**<em>*</em></em> +<a name="834" href="#834">834</a> <em> * Test LogSF.log with missing argument.</em> +<a name="835" href="#835">835</a> <em> */</em> +<a name="836" href="#836">836</a> <strong>public</strong> <strong>void</strong> testLogMissingArg() { +<a name="837" href="#837">837</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="838" href="#838">838</a> LogSF.log(logger, Level.ERROR, <span class="string">"Hello, {}World"</span>, <strong>new</strong> Object[0]); +<a name="839" href="#839">839</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); +<a name="840" href="#840">840</a> } +<a name="841" href="#841">841</a> +<a name="842" href="#842">842</a> <em>/**<em>*</em></em> +<a name="843" href="#843">843</a> <em> * Test LogSF.log with single field pattern with string argument.</em> +<a name="844" href="#844">844</a> <em> */</em> +<a name="845" href="#845">845</a> <strong>public</strong> <strong>void</strong> testLogString() { +<a name="846" href="#846">846</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="847" href="#847">847</a> LogSF.log(logger, Level.ERROR, <span class="string">"Hello, {}"</span>, <span class="string">"World"</span>); +<a name="848" href="#848">848</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="849" href="#849">849</a> } +<a name="850" href="#850">850</a> +<a name="851" href="#851">851</a> <em>/**<em>*</em></em> +<a name="852" href="#852">852</a> <em> * Test LogSF.log with single field pattern with null argument.</em> +<a name="853" href="#853">853</a> <em> */</em> +<a name="854" href="#854">854</a> <strong>public</strong> <strong>void</strong> testLogNull() { +<a name="855" href="#855">855</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="856" href="#856">856</a> LogSF.log(logger, Level.ERROR, <span class="string">"Hello, {}"</span>, (Object) <strong>null</strong>); +<a name="857" href="#857">857</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="858" href="#858">858</a> } +<a name="859" href="#859">859</a> +<a name="860" href="#860">860</a> <em>/**<em>*</em></em> +<a name="861" href="#861">861</a> <em> * Test LogSF.log with single field pattern with int argument.</em> +<a name="862" href="#862">862</a> <em> */</em> +<a name="863" href="#863">863</a> <strong>public</strong> <strong>void</strong> testLogInt() { +<a name="864" href="#864">864</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="865" href="#865">865</a> <strong>int</strong> val = 42; +<a name="866" href="#866">866</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); +<a name="867" href="#867">867</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="868" href="#868">868</a> } +<a name="869" href="#869">869</a> +<a name="870" href="#870">870</a> <em>/**<em>*</em></em> +<a name="871" href="#871">871</a> <em> * Test LogSF.log with single field pattern with byte argument.</em> +<a name="872" href="#872">872</a> <em> */</em> +<a name="873" href="#873">873</a> <strong>public</strong> <strong>void</strong> testLogByte() { +<a name="874" href="#874">874</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="875" href="#875">875</a> byte val = 42; +<a name="876" href="#876">876</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); +<a name="877" href="#877">877</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="878" href="#878">878</a> } +<a name="879" href="#879">879</a> +<a name="880" href="#880">880</a> <em>/**<em>*</em></em> +<a name="881" href="#881">881</a> <em> * Test LogSF.log with single field pattern with short argument.</em> +<a name="882" href="#882">882</a> <em> */</em> +<a name="883" href="#883">883</a> <strong>public</strong> <strong>void</strong> testLogShort() { +<a name="884" href="#884">884</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="885" href="#885">885</a> <strong>short</strong> val = 42; +<a name="886" href="#886">886</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); +<a name="887" href="#887">887</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="888" href="#888">888</a> } +<a name="889" href="#889">889</a> +<a name="890" href="#890">890</a> <em>/**<em>*</em></em> +<a name="891" href="#891">891</a> <em> * Test LogSF.log with single field pattern with long argument.</em> +<a name="892" href="#892">892</a> <em> */</em> +<a name="893" href="#893">893</a> <strong>public</strong> <strong>void</strong> testLogLong() { +<a name="894" href="#894">894</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="895" href="#895">895</a> <strong>long</strong> val = 42; +<a name="896" href="#896">896</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); +<a name="897" href="#897">897</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="898" href="#898">898</a> } +<a name="899" href="#899">899</a> +<a name="900" href="#900">900</a> <em>/**<em>*</em></em> +<a name="901" href="#901">901</a> <em> * Test LogSF.log with single field pattern with char argument.</em> +<a name="902" href="#902">902</a> <em> */</em> +<a name="903" href="#903">903</a> <strong>public</strong> <strong>void</strong> testLogChar() { +<a name="904" href="#904">904</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="905" href="#905">905</a> <strong>char</strong> val = 'C'; +<a name="906" href="#906">906</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); +<a name="907" href="#907">907</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="908" href="#908">908</a> } +<a name="909" href="#909">909</a> +<a name="910" href="#910">910</a> <em>/**<em>*</em></em> +<a name="911" href="#911">911</a> <em> * Test LogSF.log with single field pattern with boolean argument.</em> +<a name="912" href="#912">912</a> <em> */</em> +<a name="913" href="#913">913</a> <strong>public</strong> <strong>void</strong> testLogBoolean() { +<a name="914" href="#914">914</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="915" href="#915">915</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="916" href="#916">916</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, val); +<a name="917" href="#917">917</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="918" href="#918">918</a> } +<a name="919" href="#919">919</a> +<a name="920" href="#920">920</a> <em>/**<em>*</em></em> +<a name="921" href="#921">921</a> <em> * Test LogSF.log with single field pattern with float argument.</em> +<a name="922" href="#922">922</a> <em> */</em> +<a name="923" href="#923">923</a> <strong>public</strong> <strong>void</strong> testLogFloat() { +<a name="924" href="#924">924</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="925" href="#925">925</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, (<strong>float</strong>) Math.PI); +<a name="926" href="#926">926</a> +<a name="927" href="#927">927</a> String expected = <span class="string">"Iteration "</span> + String.valueOf(<strong>new</strong> Float(Math.PI)); +<a name="928" href="#928">928</a> assertEquals(expected, capture.getMessage()); +<a name="929" href="#929">929</a> } +<a name="930" href="#930">930</a> +<a name="931" href="#931">931</a> <em>/**<em>*</em></em> +<a name="932" href="#932">932</a> <em> * Test LogSF.log with single field pattern with double argument.</em> +<a name="933" href="#933">933</a> <em> */</em> +<a name="934" href="#934">934</a> <strong>public</strong> <strong>void</strong> testLogDouble() { +<a name="935" href="#935">935</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="936" href="#936">936</a> LogSF.log(logger, Level.ERROR, <span class="string">"Iteration {}"</span>, Math.PI); +<a name="937" href="#937">937</a> +<a name="938" href="#938">938</a> String expected = <span class="string">"Iteration "</span> + String.valueOf(<strong>new</strong> Double(Math.PI)); +<a name="939" href="#939">939</a> assertEquals(expected, capture.getMessage()); +<a name="940" href="#940">940</a> } +<a name="941" href="#941">941</a> +<a name="942" href="#942">942</a> <em>/**<em>*</em></em> +<a name="943" href="#943">943</a> <em> * Test LogSF.log with two arguments.</em> +<a name="944" href="#944">944</a> <em> */</em> +<a name="945" href="#945">945</a> <strong>public</strong> <strong>void</strong> testLogTwoArg() { +<a name="946" href="#946">946</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="947" href="#947">947</a> LogSF.log(logger, Level.ERROR, <span class="string">"{}, {}."</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); +<a name="948" href="#948">948</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="949" href="#949">949</a> } +<a name="950" href="#950">950</a> +<a name="951" href="#951">951</a> <em>/**<em>*</em></em> +<a name="952" href="#952">952</a> <em> * Test LogSF.log with three arguments.</em> +<a name="953" href="#953">953</a> <em> */</em> +<a name="954" href="#954">954</a> <strong>public</strong> <strong>void</strong> testLogThreeArg() { +<a name="955" href="#955">955</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="956" href="#956">956</a> LogSF.log(logger, Level.ERROR, <span class="string">"{}{} {}."</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); +<a name="957" href="#957">957</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="958" href="#958">958</a> } +<a name="959" href="#959">959</a> +<a name="960" href="#960">960</a> <em>/**<em>*</em></em> +<a name="961" href="#961">961</a> <em> * Test LogSF.log with four arguments.</em> +<a name="962" href="#962">962</a> <em> */</em> +<a name="963" href="#963">963</a> <strong>public</strong> <strong>void</strong> testLogFourArg() { +<a name="964" href="#964">964</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="965" href="#965">965</a> LogSF.log(logger, Level.ERROR, <span class="string">"{}{} {}{}"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span>); +<a name="966" href="#966">966</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="967" href="#967">967</a> } +<a name="968" href="#968">968</a> +<a name="969" href="#969">969</a> <em>/**<em>*</em></em> +<a name="970" href="#970">970</a> <em> * Test LogSF.log with Object[] argument.</em> +<a name="971" href="#971">971</a> <em> */</em> +<a name="972" href="#972">972</a> <strong>public</strong> <strong>void</strong> testLogArrayArg() { +<a name="973" href="#973">973</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="974" href="#974">974</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; +<a name="975" href="#975">975</a> LogSF.log(logger, Level.ERROR, <span class="string">"{}{} {}{}"</span>, args); +<a name="976" href="#976">976</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="977" href="#977">977</a> } +<a name="978" href="#978">978</a> +<a name="979" href="#979">979</a> <em>/**<em>*</em></em> +<a name="980" href="#980">980</a> <em> * Bundle name for resource bundle tests.</em> +<a name="981" href="#981">981</a> <em> */</em> +<a name="982" href="#982">982</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String BUNDLE_NAME = +<a name="983" href="#983">983</a> <span class="string">"org.apache.log4j.TestLogSFPatterns"</span>; +<a name="984" href="#984">984</a> +<a name="985" href="#985">985</a> <em>/**<em>*</em></em> +<a name="986" href="#986">986</a> <em> * Test LogSF.logrb with null bundle name.</em> +<a name="987" href="#987">987</a> <em> */</em> +<a name="988" href="#988">988</a> <strong>public</strong> <strong>void</strong> testLogrbNullBundle() { +<a name="989" href="#989">989</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="990" href="#990">990</a> LogSF.logrb(logger, Level.ERROR, <strong>null</strong>, <span class="string">"Iteration0"</span>, Math.PI); +<a name="991" href="#991">991</a> assertEquals(<span class="string">"Iteration0"</span>, capture.getMessage()); +<a name="992" href="#992">992</a> } +<a name="993" href="#993">993</a> +<a name="994" href="#994">994</a> <em>/**<em>*</em></em> +<a name="995" href="#995">995</a> <em> * Test LogSF.logrb with null key.</em> +<a name="996" href="#996">996</a> <em> */</em> +<a name="997" href="#997">997</a> <strong>public</strong> <strong>void</strong> testLogrbNullKey() { +<a name="998" href="#998">998</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="999" href="#999">999</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <strong>null</strong>, Math.PI); +<a name="1000" href="#1000">1000</a> assertNull(capture.getMessage()); +<a name="1001" href="#1001">1001</a> } +<a name="1002" href="#1002">1002</a> +<a name="1003" href="#1003">1003</a> <em>/**<em>*</em></em> +<a name="1004" href="#1004">1004</a> <em> * Test LogSF.logrb with no-field pattern.</em> +<a name="1005" href="#1005">1005</a> <em> */</em> +<a name="1006" href="#1006">1006</a> <strong>public</strong> <strong>void</strong> testLogrbNoArg() { +<a name="1007" href="#1007">1007</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1008" href="#1008">1008</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello1"</span>, Math.PI); +<a name="1009" href="#1009">1009</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="1010" href="#1010">1010</a> } +<a name="1011" href="#1011">1011</a> +<a name="1012" href="#1012">1012</a> <em>/**<em>*</em></em> +<a name="1013" href="#1013">1013</a> <em> * Test LogSF.logrb with malformed pattern.</em> +<a name="1014" href="#1014">1014</a> <em> */</em> +<a name="1015" href="#1015">1015</a> <strong>public</strong> <strong>void</strong> testLogrbBadPattern() { +<a name="1016" href="#1016">1016</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1017" href="#1017">1017</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Malformed"</span>, Math.PI); +<a name="1018" href="#1018">1018</a> assertEquals(<span class="string">"Hello, {."</span>, capture.getMessage()); +<a name="1019" href="#1019">1019</a> } +<a name="1020" href="#1020">1020</a> +<a name="1021" href="#1021">1021</a> <em>/**<em>*</em></em> +<a name="1022" href="#1022">1022</a> <em> * Test LogSF.logrb with missing argument.</em> +<a name="1023" href="#1023">1023</a> <em> */</em> +<a name="1024" href="#1024">1024</a> <strong>public</strong> <strong>void</strong> testLogrbMissingArg() { +<a name="1025" href="#1025">1025</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1026" href="#1026">1026</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello2"</span>, <strong>new</strong> Object[0]); +<a name="1027" href="#1027">1027</a> assertEquals(<span class="string">"Hello, {}World"</span>, capture.getMessage()); +<a name="1028" href="#1028">1028</a> } +<a name="1029" href="#1029">1029</a> +<a name="1030" href="#1030">1030</a> <em>/**<em>*</em></em> +<a name="1031" href="#1031">1031</a> <em> * Test LogSF.logrb with single field pattern with string argument.</em> +<a name="1032" href="#1032">1032</a> <em> */</em> +<a name="1033" href="#1033">1033</a> <strong>public</strong> <strong>void</strong> testLogrbString() { +<a name="1034" href="#1034">1034</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1035" href="#1035">1035</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello3"</span>, <span class="string">"World"</span>); +<a name="1036" href="#1036">1036</a> assertEquals(<span class="string">"Hello, World"</span>, capture.getMessage()); +<a name="1037" href="#1037">1037</a> } +<a name="1038" href="#1038">1038</a> +<a name="1039" href="#1039">1039</a> <em>/**<em>*</em></em> +<a name="1040" href="#1040">1040</a> <em> * Test LogSF.logrb with single field pattern with null argument.</em> +<a name="1041" href="#1041">1041</a> <em> */</em> +<a name="1042" href="#1042">1042</a> <strong>public</strong> <strong>void</strong> testLogrbNull() { +<a name="1043" href="#1043">1043</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1044" href="#1044">1044</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Hello3"</span>, (Object) <strong>null</strong>); +<a name="1045" href="#1045">1045</a> assertEquals(<span class="string">"Hello, null"</span>, capture.getMessage()); +<a name="1046" href="#1046">1046</a> } +<a name="1047" href="#1047">1047</a> +<a name="1048" href="#1048">1048</a> <em>/**<em>*</em></em> +<a name="1049" href="#1049">1049</a> <em> * Test LogSF.logrb with single field pattern with int argument.</em> +<a name="1050" href="#1050">1050</a> <em> */</em> +<a name="1051" href="#1051">1051</a> <strong>public</strong> <strong>void</strong> testLogrbInt() { +<a name="1052" href="#1052">1052</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1053" href="#1053">1053</a> <strong>int</strong> val = 42; +<a name="1054" href="#1054">1054</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1055" href="#1055">1055</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="1056" href="#1056">1056</a> } +<a name="1057" href="#1057">1057</a> +<a name="1058" href="#1058">1058</a> <em>/**<em>*</em></em> +<a name="1059" href="#1059">1059</a> <em> * Test LogSF.logrb with single field pattern with byte argument.</em> +<a name="1060" href="#1060">1060</a> <em> */</em> +<a name="1061" href="#1061">1061</a> <strong>public</strong> <strong>void</strong> testLogrbByte() { +<a name="1062" href="#1062">1062</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1063" href="#1063">1063</a> byte val = 42; +<a name="1064" href="#1064">1064</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1065" href="#1065">1065</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="1066" href="#1066">1066</a> } +<a name="1067" href="#1067">1067</a> +<a name="1068" href="#1068">1068</a> <em>/**<em>*</em></em> +<a name="1069" href="#1069">1069</a> <em> * Test LogSF.logrb with single field pattern with short argument.</em> +<a name="1070" href="#1070">1070</a> <em> */</em> +<a name="1071" href="#1071">1071</a> <strong>public</strong> <strong>void</strong> testLogrbShort() { +<a name="1072" href="#1072">1072</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1073" href="#1073">1073</a> <strong>short</strong> val = 42; +<a name="1074" href="#1074">1074</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1075" href="#1075">1075</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="1076" href="#1076">1076</a> } +<a name="1077" href="#1077">1077</a> +<a name="1078" href="#1078">1078</a> <em>/**<em>*</em></em> +<a name="1079" href="#1079">1079</a> <em> * Test LogSF.logrb with single field pattern with long argument.</em> +<a name="1080" href="#1080">1080</a> <em> */</em> +<a name="1081" href="#1081">1081</a> <strong>public</strong> <strong>void</strong> testLogrbLong() { +<a name="1082" href="#1082">1082</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1083" href="#1083">1083</a> <strong>long</strong> val = 42; +<a name="1084" href="#1084">1084</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1085" href="#1085">1085</a> assertEquals(<span class="string">"Iteration 42"</span>, capture.getMessage()); +<a name="1086" href="#1086">1086</a> } +<a name="1087" href="#1087">1087</a> +<a name="1088" href="#1088">1088</a> <em>/**<em>*</em></em> +<a name="1089" href="#1089">1089</a> <em> * Test LogSF.logrb with single field pattern with char argument.</em> +<a name="1090" href="#1090">1090</a> <em> */</em> +<a name="1091" href="#1091">1091</a> <strong>public</strong> <strong>void</strong> testLogrbChar() { +<a name="1092" href="#1092">1092</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1093" href="#1093">1093</a> <strong>char</strong> val = 'C'; +<a name="1094" href="#1094">1094</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1095" href="#1095">1095</a> assertEquals(<span class="string">"Iteration C"</span>, capture.getMessage()); +<a name="1096" href="#1096">1096</a> } +<a name="1097" href="#1097">1097</a> +<a name="1098" href="#1098">1098</a> <em>/**<em>*</em></em> +<a name="1099" href="#1099">1099</a> <em> * Test LogSF.logrb with single field pattern with boolean argument.</em> +<a name="1100" href="#1100">1100</a> <em> */</em> +<a name="1101" href="#1101">1101</a> <strong>public</strong> <strong>void</strong> testLogrbBoolean() { +<a name="1102" href="#1102">1102</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1103" href="#1103">1103</a> <strong>boolean</strong> val = <strong>true</strong>; +<a name="1104" href="#1104">1104</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, val); +<a name="1105" href="#1105">1105</a> assertEquals(<span class="string">"Iteration true"</span>, capture.getMessage()); +<a name="1106" href="#1106">1106</a> } +<a name="1107" href="#1107">1107</a> +<a name="1108" href="#1108">1108</a> <em>/**<em>*</em></em> +<a name="1109" href="#1109">1109</a> <em> * Test LogSF.logrb with single field pattern with float argument.</em> +<a name="1110" href="#1110">1110</a> <em> */</em> +<a name="1111" href="#1111">1111</a> <strong>public</strong> <strong>void</strong> testLogrbFloat() { +<a name="1112" href="#1112">1112</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1113" href="#1113">1113</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, +<a name="1114" href="#1114">1114</a> <span class="string">"Iteration0"</span>, (<strong>float</strong>) Math.PI); +<a name="1115" href="#1115">1115</a> +<a name="1116" href="#1116">1116</a> String expected = <span class="string">"Iteration "</span> + String.valueOf(<strong>new</strong> Float(Math.PI)); +<a name="1117" href="#1117">1117</a> assertEquals(expected, capture.getMessage()); +<a name="1118" href="#1118">1118</a> } +<a name="1119" href="#1119">1119</a> +<a name="1120" href="#1120">1120</a> <em>/**<em>*</em></em> +<a name="1121" href="#1121">1121</a> <em> * Test LogSF.logrb with single field pattern with double argument.</em> +<a name="1122" href="#1122">1122</a> <em> */</em> +<a name="1123" href="#1123">1123</a> <strong>public</strong> <strong>void</strong> testLogrbDouble() { +<a name="1124" href="#1124">1124</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1125" href="#1125">1125</a> LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, <span class="string">"Iteration0"</span>, Math.PI); +<a name="1126" href="#1126">1126</a> +<a name="1127" href="#1127">1127</a> String expected = <span class="string">"Iteration "</span> + String.valueOf(<strong>new</strong> Double(Math.PI)); +<a name="1128" href="#1128">1128</a> assertEquals(expected, capture.getMessage()); +<a name="1129" href="#1129">1129</a> } +<a name="1130" href="#1130">1130</a> +<a name="1131" href="#1131">1131</a> <em>/**<em>*</em></em> +<a name="1132" href="#1132">1132</a> <em> * Test LogSF.logrb with two arguments.</em> +<a name="1133" href="#1133">1133</a> <em> */</em> +<a name="1134" href="#1134">1134</a> <strong>public</strong> <strong>void</strong> testLogrbTwoArg() { +<a name="1135" href="#1135">1135</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1136" href="#1136">1136</a> LogSF.logrb(logger, Level.ERROR, +<a name="1137" href="#1137">1137</a> BUNDLE_NAME, <span class="string">"Hello4"</span>, <span class="string">"Hello"</span>, <span class="string">"World"</span>); +<a name="1138" href="#1138">1138</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1139" href="#1139">1139</a> } +<a name="1140" href="#1140">1140</a> +<a name="1141" href="#1141">1141</a> <em>/**<em>*</em></em> +<a name="1142" href="#1142">1142</a> <em> * Test LogSF.logrb with three arguments.</em> +<a name="1143" href="#1143">1143</a> <em> */</em> +<a name="1144" href="#1144">1144</a> <strong>public</strong> <strong>void</strong> testLogrbThreeArg() { +<a name="1145" href="#1145">1145</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1146" href="#1146">1146</a> LogSF.logrb(logger, Level.ERROR, +<a name="1147" href="#1147">1147</a> BUNDLE_NAME, <span class="string">"Hello5"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>); +<a name="1148" href="#1148">1148</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1149" href="#1149">1149</a> } +<a name="1150" href="#1150">1150</a> +<a name="1151" href="#1151">1151</a> <em>/**<em>*</em></em> +<a name="1152" href="#1152">1152</a> <em> * Test LogSF.logrb with four arguments.</em> +<a name="1153" href="#1153">1153</a> <em> */</em> +<a name="1154" href="#1154">1154</a> <strong>public</strong> <strong>void</strong> testLogrbFourArg() { +<a name="1155" href="#1155">1155</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1156" href="#1156">1156</a> LogSF.logrb(logger, Level.ERROR, +<a name="1157" href="#1157">1157</a> BUNDLE_NAME, <span class="string">"Hello6"</span>, <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span>); +<a name="1158" href="#1158">1158</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1159" href="#1159">1159</a> } +<a name="1160" href="#1160">1160</a> +<a name="1161" href="#1161">1161</a> <em>/**<em>*</em></em> +<a name="1162" href="#1162">1162</a> <em> * Test LogSF.logrb with Object[] argument.</em> +<a name="1163" href="#1163">1163</a> <em> */</em> +<a name="1164" href="#1164">1164</a> <strong>public</strong> <strong>void</strong> testLogrbArrayArg() { +<a name="1165" href="#1165">1165</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.ERROR); +<a name="1166" href="#1166">1166</a> Object[] args = <strong>new</strong> Object[] { <span class="string">"Hello"</span>, <span class="string">","</span>, <span class="string">"World"</span>, <span class="string">"."</span> }; +<a name="1167" href="#1167">1167</a> LogSF.logrb(logger, Level.ERROR, +<a name="1168" href="#1168">1168</a> BUNDLE_NAME, <span class="string">"Hello6"</span>, args); +<a name="1169" href="#1169">1169</a> assertEquals(<span class="string">"Hello, World."</span>, capture.getMessage()); +<a name="1170" href="#1170">1170</a> } +<a name="1171" href="#1171">1171</a> +<a name="1172" href="#1172">1172</a> <em>/**<em>*</em></em> +<a name="1173" href="#1173">1173</a> <em> * Test &#47;&#47;{ escape sequence when only one parameter is present.</em> +<a name="1174" href="#1174">1174</a> <em> *</em> +<a name="1175" href="#1175">1175</a> <em> */</em> +<a name="1176" href="#1176">1176</a> <strong>public</strong> <strong>void</strong> testEscapeOneParam() { +<a name="1177" href="#1177">1177</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1178" href="#1178">1178</a> LogSF.info(logger, <span class="string">"&#47;&#47;{}&#47;&#47;{{}}, World}&#47;&#47;{"</span>,<span class="string">"Hello"</span>); +<a name="1179" href="#1179">1179</a> assertEquals(<span class="string">"{}{Hello}, World}{"</span>, capture.getMessage()); +<a name="1180" href="#1180">1180</a> } +<a name="1181" href="#1181">1181</a> +<a name="1182" href="#1182">1182</a> <em>/**<em>*</em></em> +<a name="1183" href="#1183">1183</a> <em> * Test &#47;&#47;{ escape sequence when more than one parameter is present.</em> +<a name="1184" href="#1184">1184</a> <em> *</em> +<a name="1185" href="#1185">1185</a> <em> */</em> +<a name="1186" href="#1186">1186</a> <strong>public</strong> <strong>void</strong> testEscapeTwoParam() { +<a name="1187" href="#1187">1187</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.INFO); +<a name="1188" href="#1188">1188</a> LogSF.info(logger, <span class="string">"&#47;&#47;{}&#47;&#47;{{}}, {}}{}&#47;&#47;{"</span>,<span class="string">"Hello"</span>, <span class="string">"World"</span>); +<a name="1189" href="#1189">1189</a> assertEquals(<span class="string">"{}{Hello}, World}{}{"</span>, capture.getMessage()); +<a name="1190" href="#1190">1190</a> } +<a name="1191" href="#1191">1191</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogXF.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogXF.html new file mode 100644 index 00000000000..d6d4291cd43 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/TestLogXF.html @@ -0,0 +1,216 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TestLogXF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/TestLogXF.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <em>/**<em>*</em></em> +<a name="23" href="#23">23</a> <em> * Unit test for LogXF.</em> +<a name="24" href="#24">24</a> <em> */</em> +<a name="25" href="#25">25</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/TestLogXF.html">TestLogXF</a> <strong>extends</strong> TestCase { +<a name="26" href="#26">26</a> <em>/**<em>*</em></em> +<a name="27" href="#27">27</a> <em> * Logger.</em> +<a name="28" href="#28">28</a> <em> */</em> +<a name="29" href="#29">29</a> <strong>private</strong> <strong>final</strong> Logger logger = Logger.getLogger( +<a name="30" href="#30">30</a> <span class="string">"org.apache.log4j.formatter.TestLogXF"</span>); +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * Create the test case</em> +<a name="34" href="#34">34</a> <em> *</em> +<a name="35" href="#35">35</a> <em> * @param testName name of the test case</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>public</strong> <a href="../../../org/apache/log4j/TestLogXF.html">TestLogXF</a>(String testName) { +<a name="38" href="#38">38</a> <strong>super</strong>(testName); +<a name="39" href="#39">39</a> } +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em>/**<em>*</em></em> +<a name="43" href="#43">43</a> <em> * Post test clean up.</em> +<a name="44" href="#44">44</a> <em> */</em> +<a name="45" href="#45">45</a> <strong>public</strong> <strong>void</strong> tearDown() { +<a name="46" href="#46">46</a> LogManager.resetConfiguration(); +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> BadStringifier { +<a name="50" href="#50">50</a> <strong>private</strong> BadStringifier() {} +<a name="51" href="#51">51</a> <strong>public</strong> <strong>static</strong> BadStringifier INSTANCE = <strong>new</strong> BadStringifier(); +<a name="52" href="#52">52</a> <strong>public</strong> String toString() { +<a name="53" href="#53">53</a> <strong>throw</strong> <strong>new</strong> NullPointerException(); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em>/**<em>*</em></em> +<a name="59" href="#59">59</a> <em> * Test LogXF.entering with null class and method.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>public</strong> <strong>void</strong> testEnteringNullNull() { +<a name="62" href="#62">62</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="63" href="#63">63</a> logger.setLevel(Level.DEBUG); +<a name="64" href="#64">64</a> LogXF.entering(logger, <strong>null</strong>, <strong>null</strong>); +<a name="65" href="#65">65</a> assertEquals(<span class="string">"null.null ENTRY"</span>, capture.getMessage()); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em>/**<em>*</em></em> +<a name="70" href="#70">70</a> <em> * Test LogXF.entering with null class, method and parameter.</em> +<a name="71" href="#71">71</a> <em> */</em> +<a name="72" href="#72">72</a> <strong>public</strong> <strong>void</strong> testEnteringNullNullNull() { +<a name="73" href="#73">73</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="74" href="#74">74</a> logger.setLevel(Level.DEBUG); +<a name="75" href="#75">75</a> LogXF.entering(logger, <strong>null</strong>, <strong>null</strong>, (String) <strong>null</strong>); +<a name="76" href="#76">76</a> assertEquals(<span class="string">"null.null ENTRY null"</span>, capture.getMessage()); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em>/**<em>*</em></em> +<a name="80" href="#80">80</a> <em> * Test LogXF.entering with null class, method and parameters.</em> +<a name="81" href="#81">81</a> <em> */</em> +<a name="82" href="#82">82</a> <strong>public</strong> <strong>void</strong> testEnteringNullNullNullArray() { +<a name="83" href="#83">83</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="84" href="#84">84</a> logger.setLevel(Level.DEBUG); +<a name="85" href="#85">85</a> LogXF.entering(logger, <strong>null</strong>, <strong>null</strong>, (Object[]) <strong>null</strong>); +<a name="86" href="#86">86</a> assertEquals(<span class="string">"null.null ENTRY {}"</span>, capture.getMessage()); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em>/**<em>*</em></em> +<a name="90" href="#90">90</a> <em> * Test LogXF.entering with class and method.</em> +<a name="91" href="#91">91</a> <em> */</em> +<a name="92" href="#92">92</a> <strong>public</strong> <strong>void</strong> testEntering() { +<a name="93" href="#93">93</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="94" href="#94">94</a> logger.setLevel(Level.DEBUG); +<a name="95" href="#95">95</a> LogXF.entering(logger, <span class="string">"SomeClass"</span>, <span class="string">"someMethod"</span>); +<a name="96" href="#96">96</a> assertEquals(<span class="string">"SomeClass.someMethod ENTRY"</span>, capture.getMessage()); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em>/**<em>*</em></em> +<a name="100" href="#100">100</a> <em> * Test LogXF.entering with class, method and parameter.</em> +<a name="101" href="#101">101</a> <em> */</em> +<a name="102" href="#102">102</a> <strong>public</strong> <strong>void</strong> testEnteringWithParam() { +<a name="103" href="#103">103</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="104" href="#104">104</a> logger.setLevel(Level.DEBUG); +<a name="105" href="#105">105</a> LogXF.entering(logger, <span class="string">"SomeClass"</span>, <span class="string">"someMethod"</span>, <span class="string">"someParam"</span>); +<a name="106" href="#106">106</a> assertEquals(<span class="string">"SomeClass.someMethod ENTRY someParam"</span>, capture.getMessage()); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em>/**<em>*</em></em> +<a name="110" href="#110">110</a> <em> * Test LogXF.entering with class, method and bad parameter.</em> +<a name="111" href="#111">111</a> <em> */</em> +<a name="112" href="#112">112</a> <strong>public</strong> <strong>void</strong> testEnteringWithBadParam() { +<a name="113" href="#113">113</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="114" href="#114">114</a> logger.setLevel(Level.DEBUG); +<a name="115" href="#115">115</a> LogXF.entering(logger, <span class="string">"SomeClass"</span>, <span class="string">"someMethod"</span>, BadStringifier.INSTANCE); +<a name="116" href="#116">116</a> assertEquals(<span class="string">"SomeClass.someMethod ENTRY ?"</span>, capture.getMessage()); +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em>/**<em>*</em></em> +<a name="120" href="#120">120</a> <em> * Test LogXF.entering with class, method and bad parameters.</em> +<a name="121" href="#121">121</a> <em> */</em> +<a name="122" href="#122">122</a> <strong>public</strong> <strong>void</strong> testEnteringWithBadParams() { +<a name="123" href="#123">123</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="124" href="#124">124</a> logger.setLevel(Level.DEBUG); +<a name="125" href="#125">125</a> LogXF.entering(logger, <span class="string">"SomeClass"</span>, <span class="string">"someMethod"</span>, <strong>new</strong> Object[]{<span class="string">"param1"</span>,BadStringifier.INSTANCE}); +<a name="126" href="#126">126</a> assertEquals(<span class="string">"SomeClass.someMethod ENTRY {param1,?}"</span>, capture.getMessage()); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <em>/**<em>*</em></em> +<a name="131" href="#131">131</a> <em> * Test LogXF.exiting with null class and method.</em> +<a name="132" href="#132">132</a> <em> */</em> +<a name="133" href="#133">133</a> <strong>public</strong> <strong>void</strong> testExitingNullNull() { +<a name="134" href="#134">134</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="135" href="#135">135</a> logger.setLevel(Level.DEBUG); +<a name="136" href="#136">136</a> LogXF.exiting(logger, <strong>null</strong>, <strong>null</strong>); +<a name="137" href="#137">137</a> assertEquals(<span class="string">"null.null RETURN"</span>, capture.getMessage()); +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em>/**<em>*</em></em> +<a name="142" href="#142">142</a> <em> * Test LogXF.exiting with null class, method and parameter.</em> +<a name="143" href="#143">143</a> <em> */</em> +<a name="144" href="#144">144</a> <strong>public</strong> <strong>void</strong> testExitingNullNullNull() { +<a name="145" href="#145">145</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="146" href="#146">146</a> logger.setLevel(Level.DEBUG); +<a name="147" href="#147">147</a> LogXF.exiting(logger, <strong>null</strong>, <strong>null</strong>, (String) <strong>null</strong>); +<a name="148" href="#148">148</a> assertEquals(<span class="string">"null.null RETURN null"</span>, capture.getMessage()); +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em>/**<em>*</em></em> +<a name="153" href="#153">153</a> <em> * Test LogXF.exiting with class and method.</em> +<a name="154" href="#154">154</a> <em> */</em> +<a name="155" href="#155">155</a> <strong>public</strong> <strong>void</strong> testExiting() { +<a name="156" href="#156">156</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="157" href="#157">157</a> logger.setLevel(Level.DEBUG); +<a name="158" href="#158">158</a> LogXF.exiting(logger, <span class="string">"SomeClass"</span>, <span class="string">"someMethod"</span>); +<a name="159" href="#159">159</a> assertEquals(<span class="string">"SomeClass.someMethod RETURN"</span>, capture.getMessage()); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <em>/**<em>*</em></em> +<a name="163" href="#163">163</a> <em> * Test LogXF.exiting with class, method and return value.</em> +<a name="164" href="#164">164</a> <em> */</em> +<a name="165" href="#165">165</a> <strong>public</strong> <strong>void</strong> testExitingWithValue() { +<a name="166" href="#166">166</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="167" href="#167">167</a> logger.setLevel(Level.DEBUG); +<a name="168" href="#168">168</a> LogXF.exiting(logger, <span class="string">"SomeClass"</span>, <span class="string">"someMethod"</span>, <span class="string">"someValue"</span>); +<a name="169" href="#169">169</a> assertEquals(<span class="string">"SomeClass.someMethod RETURN someValue"</span>, capture.getMessage()); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em>/**<em>*</em></em> +<a name="173" href="#173">173</a> <em> * Test LogXF.exiting with class, method and bad return value.</em> +<a name="174" href="#174">174</a> <em> */</em> +<a name="175" href="#175">175</a> <strong>public</strong> <strong>void</strong> testExitingWithBadValue() { +<a name="176" href="#176">176</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="177" href="#177">177</a> logger.setLevel(Level.DEBUG); +<a name="178" href="#178">178</a> LogXF.exiting(logger, <span class="string">"SomeClass"</span>, <span class="string">"someMethod"</span>, BadStringifier.INSTANCE); +<a name="179" href="#179">179</a> assertEquals(<span class="string">"SomeClass.someMethod RETURN ?"</span>, capture.getMessage()); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> <em>/**<em>*</em></em> +<a name="184" href="#184">184</a> <em> * Test LogXF.throwing with null class, method and throwable.</em> +<a name="185" href="#185">185</a> <em> */</em> +<a name="186" href="#186">186</a> <strong>public</strong> <strong>void</strong> testThrowingNullNullNull() { +<a name="187" href="#187">187</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="188" href="#188">188</a> logger.setLevel(Level.DEBUG); +<a name="189" href="#189">189</a> LogXF.throwing(logger, <strong>null</strong>, <strong>null</strong>, <strong>null</strong>); +<a name="190" href="#190">190</a> assertEquals(<span class="string">"null.null THROW"</span>, capture.getMessage()); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em>/**<em>*</em></em> +<a name="195" href="#195">195</a> <em> * Test LogXF.exiting with class and method.</em> +<a name="196" href="#196">196</a> <em> */</em> +<a name="197" href="#197">197</a> <strong>public</strong> <strong>void</strong> testThrowing() { +<a name="198" href="#198">198</a> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a> capture = <strong>new</strong> <a href="../../../org/apache/log4j/LogCapture.html">LogCapture</a>(Level.DEBUG); +<a name="199" href="#199">199</a> logger.setLevel(Level.DEBUG); +<a name="200" href="#200">200</a> LogXF.throwing(logger, <span class="string">"SomeClass"</span>, <span class="string">"someMethod"</span>, <strong>new</strong> IllegalArgumentException()); +<a name="201" href="#201">201</a> assertEquals(<span class="string">"SomeClass.someMethod THROW"</span>, capture.getMessage()); +<a name="202" href="#202">202</a> } +<a name="203" href="#203">203</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/VectorAppender.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/VectorAppender.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/VectorAppender.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/VectorAppender.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/AndFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/AndFilterTest.html new file mode 100644 index 00000000000..6ed91f506a2 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/AndFilterTest.html @@ -0,0 +1,163 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AndFilterTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/filter/AndFilterTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.filter; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.Filter; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em>/**<em>*</em></em> +<a name="27" href="#27">27</a> <em> * Unit tests for AndFilter.</em> +<a name="28" href="#28">28</a> <em> */</em> +<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/filter/AndFilterTest.html">AndFilterTest</a> <strong>extends</strong> TestCase { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Create new test instance.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @param name test name.</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <a href="../../../../org/apache/log4j/filter/AndFilterTest.html">AndFilterTest</a>(<strong>final</strong> String name) { +<a name="37" href="#37">37</a> <strong>super</strong>(name); +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Check that AndFilter.decide() returns Filter.ACCEPT if no filters added.</em> +<a name="42" href="#42">42</a> <em> */</em> +<a name="43" href="#43">43</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="44" href="#44">44</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="45" href="#45">45</a> Logger.getLogger(AndFilterTest.<strong>class</strong>), +<a name="46" href="#46">46</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="47" href="#47">47</a> Filter filter = <strong>new</strong> AndFilter(); +<a name="48" href="#48">48</a> filter.activateOptions(); +<a name="49" href="#49">49</a> assertEquals(Filter.ACCEPT, filter.decide(event)); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em>/**<em>*</em></em> +<a name="53" href="#53">53</a> <em> * Check that AndFilter.decide() returns Filter.ACCEPT if</em> +<a name="54" href="#54">54</a> <em> * only nested filter returns Filter.ACCEPT.</em> +<a name="55" href="#55">55</a> <em> */</em> +<a name="56" href="#56">56</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="57" href="#57">57</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="58" href="#58">58</a> Logger.getLogger(AndFilterTest.<strong>class</strong>), +<a name="59" href="#59">59</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="60" href="#60">60</a> AndFilter filter = <strong>new</strong> AndFilter(); +<a name="61" href="#61">61</a> LevelMatchFilter filter1 = <strong>new</strong> LevelMatchFilter(); +<a name="62" href="#62">62</a> filter1.setLevelToMatch(<span class="string">"info"</span>); +<a name="63" href="#63">63</a> filter1.activateOptions(); +<a name="64" href="#64">64</a> filter.addFilter(filter1); +<a name="65" href="#65">65</a> filter.activateOptions(); +<a name="66" href="#66">66</a> assertEquals(Filter.ACCEPT, filter.decide(event)); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em>/**<em>*</em></em> +<a name="70" href="#70">70</a> <em> * Check that AndFilter.decide() returns Filter.ACCEPT if</em> +<a name="71" href="#71">71</a> <em> * two nested filters return Filter.ACCEPT.</em> +<a name="72" href="#72">72</a> <em> */</em> +<a name="73" href="#73">73</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="74" href="#74">74</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="75" href="#75">75</a> Logger.getLogger(AndFilterTest.<strong>class</strong>), +<a name="76" href="#76">76</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="77" href="#77">77</a> AndFilter filter = <strong>new</strong> AndFilter(); +<a name="78" href="#78">78</a> LevelMatchFilter filter1 = <strong>new</strong> LevelMatchFilter(); +<a name="79" href="#79">79</a> filter1.setLevelToMatch(<span class="string">"info"</span>); +<a name="80" href="#80">80</a> filter1.activateOptions(); +<a name="81" href="#81">81</a> filter.addFilter(filter1); +<a name="82" href="#82">82</a> LevelMatchFilter filter2 = <strong>new</strong> LevelMatchFilter(); +<a name="83" href="#83">83</a> filter2.setLevelToMatch(<span class="string">"info"</span>); +<a name="84" href="#84">84</a> filter2.activateOptions(); +<a name="85" href="#85">85</a> filter.addFilter(filter2); +<a name="86" href="#86">86</a> filter.activateOptions(); +<a name="87" href="#87">87</a> assertEquals(Filter.ACCEPT, filter.decide(event)); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em>/**<em>*</em></em> +<a name="91" href="#91">91</a> <em> * Check that AndFilter.decide() returns Filter.DENY if</em> +<a name="92" href="#92">92</a> <em> * only nested filter returns Filter.ACCEPT</em> +<a name="93" href="#93">93</a> <em> * and acceptOnMatch is false.</em> +<a name="94" href="#94">94</a> <em> */</em> +<a name="95" href="#95">95</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="96" href="#96">96</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="97" href="#97">97</a> Logger.getLogger(AndFilterTest.<strong>class</strong>), +<a name="98" href="#98">98</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="99" href="#99">99</a> AndFilter filter = <strong>new</strong> AndFilter(); +<a name="100" href="#100">100</a> LevelMatchFilter filter1 = <strong>new</strong> LevelMatchFilter(); +<a name="101" href="#101">101</a> filter1.setLevelToMatch(<span class="string">"info"</span>); +<a name="102" href="#102">102</a> filter1.activateOptions(); +<a name="103" href="#103">103</a> filter.addFilter(filter1); +<a name="104" href="#104">104</a> filter.setAcceptOnMatch(false); +<a name="105" href="#105">105</a> filter.activateOptions(); +<a name="106" href="#106">106</a> assertEquals(Filter.DENY, filter.decide(event)); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em>/**<em>*</em></em> +<a name="110" href="#110">110</a> <em> * Check that AndFilter.decide() returns Filter.NEUTRAL if</em> +<a name="111" href="#111">111</a> <em> * nested filters return Filter.ACCEPT and Filter.DENY.</em> +<a name="112" href="#112">112</a> <em> */</em> +<a name="113" href="#113">113</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="114" href="#114">114</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="115" href="#115">115</a> Logger.getLogger(AndFilterTest.<strong>class</strong>), +<a name="116" href="#116">116</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="117" href="#117">117</a> AndFilter filter = <strong>new</strong> AndFilter(); +<a name="118" href="#118">118</a> LevelMatchFilter filter1 = <strong>new</strong> LevelMatchFilter(); +<a name="119" href="#119">119</a> filter1.setLevelToMatch(<span class="string">"info"</span>); +<a name="120" href="#120">120</a> filter1.activateOptions(); +<a name="121" href="#121">121</a> filter.addFilter(filter1); +<a name="122" href="#122">122</a> Filter filter2 = <strong>new</strong> DenyAllFilter(); +<a name="123" href="#123">123</a> filter2.activateOptions(); +<a name="124" href="#124">124</a> filter.addFilter(filter2); +<a name="125" href="#125">125</a> filter.activateOptions(); +<a name="126" href="#126">126</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <em>/**<em>*</em></em> +<a name="130" href="#130">130</a> <em> * Check that AndFilter.decide() returns Filter.NEUTRAL if</em> +<a name="131" href="#131">131</a> <em> * nested filters return Filter.ACCEPT and Filter.NEUTRAL.</em> +<a name="132" href="#132">132</a> <em> */</em> +<a name="133" href="#133">133</a> <strong>public</strong> <strong>void</strong> test6() { +<a name="134" href="#134">134</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="135" href="#135">135</a> Logger.getLogger(AndFilterTest.<strong>class</strong>), +<a name="136" href="#136">136</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="137" href="#137">137</a> AndFilter filter = <strong>new</strong> AndFilter(); +<a name="138" href="#138">138</a> LevelMatchFilter filter1 = <strong>new</strong> LevelMatchFilter(); +<a name="139" href="#139">139</a> filter1.setLevelToMatch(<span class="string">"info"</span>); +<a name="140" href="#140">140</a> filter1.activateOptions(); +<a name="141" href="#141">141</a> filter.addFilter(filter1); +<a name="142" href="#142">142</a> Filter filter2 = <strong>new</strong> StringMatchFilter(); +<a name="143" href="#143">143</a> filter2.activateOptions(); +<a name="144" href="#144">144</a> filter.addFilter(filter2); +<a name="145" href="#145">145</a> filter.activateOptions(); +<a name="146" href="#146">146</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/DenyAllFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/DenyAllFilterTest.html new file mode 100644 index 00000000000..8f17810d804 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/DenyAllFilterTest.html @@ -0,0 +1,66 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DenyAllFilterTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/filter/DenyAllFilterTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.filter; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.Filter; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em>/**<em>*</em></em> +<a name="27" href="#27">27</a> <em> * Unit tests for DenyAllFilter.</em> +<a name="28" href="#28">28</a> <em> */</em> +<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/filter/DenyAllFilterTest.html">DenyAllFilterTest</a> <strong>extends</strong> TestCase { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Create new test instance.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @param name test name.</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <a href="../../../../org/apache/log4j/filter/DenyAllFilterTest.html">DenyAllFilterTest</a>(<strong>final</strong> String name) { +<a name="37" href="#37">37</a> <strong>super</strong>(name); +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Check that DenyAllFilter.decide() returns Filter.DENY.</em> +<a name="42" href="#42">42</a> <em> */</em> +<a name="43" href="#43">43</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="44" href="#44">44</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="45" href="#45">45</a> Logger.getLogger(DenyAllFilterTest.<strong>class</strong>), +<a name="46" href="#46">46</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="47" href="#47">47</a> Filter filter = <strong>new</strong> DenyAllFilter(); +<a name="48" href="#48">48</a> filter.activateOptions(); +<a name="49" href="#49">49</a> assertEquals(Filter.DENY, filter.decide(event)); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LevelMatchFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LevelMatchFilterTest.html new file mode 100644 index 00000000000..ea5ef950004 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LevelMatchFilterTest.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LevelMatchFilterTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/filter/LevelMatchFilterTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.filter; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.Filter; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em>/**<em>*</em></em> +<a name="27" href="#27">27</a> <em> * Unit tests for LevelMatchFilter.</em> +<a name="28" href="#28">28</a> <em> */</em> +<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html">LevelMatchFilterTest</a> <strong>extends</strong> TestCase { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Create new test instance.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @param name test name.</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <a href="../../../../org/apache/log4j/filter/LevelMatchFilterTest.html">LevelMatchFilterTest</a>(<strong>final</strong> String name) { +<a name="37" href="#37">37</a> <strong>super</strong>(name); +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Check that LevelMatchFilter.decide() returns Filter.ACCEPT when level matches.</em> +<a name="42" href="#42">42</a> <em> */</em> +<a name="43" href="#43">43</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="44" href="#44">44</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="45" href="#45">45</a> Logger.getLogger(LevelMatchFilterTest.<strong>class</strong>), +<a name="46" href="#46">46</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="47" href="#47">47</a> LevelMatchFilter filter = <strong>new</strong> LevelMatchFilter(); +<a name="48" href="#48">48</a> filter.setLevelToMatch(<span class="string">"info"</span>); +<a name="49" href="#49">49</a> filter.activateOptions(); +<a name="50" href="#50">50</a> assertEquals(Filter.ACCEPT, filter.decide(event)); +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em>/**<em>*</em></em> +<a name="54" href="#54">54</a> <em> * Check that LevelMatchFilter.decide() returns Filter.DENY</em> +<a name="55" href="#55">55</a> <em> * when level matches and acceptOnMatch = false.</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="58" href="#58">58</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="59" href="#59">59</a> Logger.getLogger(LevelMatchFilterTest.<strong>class</strong>), +<a name="60" href="#60">60</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="61" href="#61">61</a> LevelMatchFilter filter = <strong>new</strong> LevelMatchFilter(); +<a name="62" href="#62">62</a> filter.setLevelToMatch(<span class="string">"info"</span>); +<a name="63" href="#63">63</a> filter.setAcceptOnMatch(false); +<a name="64" href="#64">64</a> filter.activateOptions(); +<a name="65" href="#65">65</a> assertEquals(Filter.DENY, filter.decide(event)); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em>/**<em>*</em></em> +<a name="69" href="#69">69</a> <em> * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL</em> +<a name="70" href="#70">70</a> <em> * when levelToMatch is unspecified.</em> +<a name="71" href="#71">71</a> <em> */</em> +<a name="72" href="#72">72</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="73" href="#73">73</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="74" href="#74">74</a> Logger.getLogger(LevelMatchFilterTest.<strong>class</strong>), +<a name="75" href="#75">75</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="76" href="#76">76</a> LevelMatchFilter filter = <strong>new</strong> LevelMatchFilter(); +<a name="77" href="#77">77</a> filter.activateOptions(); +<a name="78" href="#78">78</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em>/**<em>*</em></em> +<a name="82" href="#82">82</a> <em> * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL</em> +<a name="83" href="#83">83</a> <em> * when event level is higher than level to match.</em> +<a name="84" href="#84">84</a> <em> */</em> +<a name="85" href="#85">85</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="86" href="#86">86</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="87" href="#87">87</a> Logger.getLogger(LevelMatchFilterTest.<strong>class</strong>), +<a name="88" href="#88">88</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="89" href="#89">89</a> LevelMatchFilter filter = <strong>new</strong> LevelMatchFilter(); +<a name="90" href="#90">90</a> filter.setLevelToMatch(<span class="string">"debug"</span>); +<a name="91" href="#91">91</a> filter.activateOptions(); +<a name="92" href="#92">92</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em>/**<em>*</em></em> +<a name="96" href="#96">96</a> <em> * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL</em> +<a name="97" href="#97">97</a> <em> * when event level is lower than level to match.</em> +<a name="98" href="#98">98</a> <em> */</em> +<a name="99" href="#99">99</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="100" href="#100">100</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="101" href="#101">101</a> Logger.getLogger(LevelMatchFilterTest.<strong>class</strong>), +<a name="102" href="#102">102</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="103" href="#103">103</a> LevelMatchFilter filter = <strong>new</strong> LevelMatchFilter(); +<a name="104" href="#104">104</a> filter.setLevelToMatch(<span class="string">"warn"</span>); +<a name="105" href="#105">105</a> filter.activateOptions(); +<a name="106" href="#106">106</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LevelRangeFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LevelRangeFilterTest.html new file mode 100644 index 00000000000..7353f318b2c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LevelRangeFilterTest.html @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LevelRangeFilterTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/filter/LevelRangeFilterTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.filter; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.Filter; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em>/**<em>*</em></em> +<a name="27" href="#27">27</a> <em> * Unit tests for LevelRangeFilter.</em> +<a name="28" href="#28">28</a> <em> */</em> +<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html">LevelRangeFilterTest</a> <strong>extends</strong> TestCase { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Create new test instance.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @param name test name.</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <a href="../../../../org/apache/log4j/filter/LevelRangeFilterTest.html">LevelRangeFilterTest</a>(<strong>final</strong> String name) { +<a name="37" href="#37">37</a> <strong>super</strong>(name); +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Check that LevelRangeFilter.decide() returns Filter.DENY</em> +<a name="42" href="#42">42</a> <em> * when event level is below min level.</em> +<a name="43" href="#43">43</a> <em> */</em> +<a name="44" href="#44">44</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="45" href="#45">45</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="46" href="#46">46</a> Logger.getLogger(LevelRangeFilterTest.<strong>class</strong>), +<a name="47" href="#47">47</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="48" href="#48">48</a> LevelRangeFilter filter = <strong>new</strong> LevelRangeFilter(); +<a name="49" href="#49">49</a> filter.setLevelMin(Level.WARN); +<a name="50" href="#50">50</a> filter.activateOptions(); +<a name="51" href="#51">51</a> assertEquals(Filter.DENY, filter.decide(event)); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em>/**<em>*</em></em> +<a name="55" href="#55">55</a> <em> * Check that LevelRangeFilter.decide() returns Filter.DENY</em> +<a name="56" href="#56">56</a> <em> * when event level is above max level.</em> +<a name="57" href="#57">57</a> <em> */</em> +<a name="58" href="#58">58</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="59" href="#59">59</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="60" href="#60">60</a> Logger.getLogger(LevelRangeFilterTest.<strong>class</strong>), +<a name="61" href="#61">61</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="62" href="#62">62</a> LevelRangeFilter filter = <strong>new</strong> LevelRangeFilter(); +<a name="63" href="#63">63</a> filter.setLevelMax(Level.DEBUG); +<a name="64" href="#64">64</a> filter.activateOptions(); +<a name="65" href="#65">65</a> assertEquals(Filter.DENY, filter.decide(event)); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em>/**<em>*</em></em> +<a name="69" href="#69">69</a> <em> * Check that LevelRangeFilter.decide() returns Filter.ACCEPT</em> +<a name="70" href="#70">70</a> <em> * when event level is above min level.</em> +<a name="71" href="#71">71</a> <em> */</em> +<a name="72" href="#72">72</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="73" href="#73">73</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="74" href="#74">74</a> Logger.getLogger(LevelRangeFilterTest.<strong>class</strong>), +<a name="75" href="#75">75</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="76" href="#76">76</a> LevelRangeFilter filter = <strong>new</strong> LevelRangeFilter(); +<a name="77" href="#77">77</a> filter.setLevelMin(Level.DEBUG); +<a name="78" href="#78">78</a> filter.setAcceptOnMatch(<strong>true</strong>); +<a name="79" href="#79">79</a> filter.activateOptions(); +<a name="80" href="#80">80</a> assertEquals(Filter.ACCEPT, filter.decide(event)); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em>/**<em>*</em></em> +<a name="84" href="#84">84</a> <em> * Check that LevelRangeFilter.decide() returns Filter.ACCEPT</em> +<a name="85" href="#85">85</a> <em> * when event level is below max level.</em> +<a name="86" href="#86">86</a> <em> */</em> +<a name="87" href="#87">87</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="88" href="#88">88</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="89" href="#89">89</a> Logger.getLogger(LevelRangeFilterTest.<strong>class</strong>), +<a name="90" href="#90">90</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="91" href="#91">91</a> LevelRangeFilter filter = <strong>new</strong> LevelRangeFilter(); +<a name="92" href="#92">92</a> filter.setLevelMax(Level.ERROR); +<a name="93" href="#93">93</a> filter.setAcceptOnMatch(<strong>true</strong>); +<a name="94" href="#94">94</a> filter.activateOptions(); +<a name="95" href="#95">95</a> assertEquals(Filter.ACCEPT, filter.decide(event)); +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em>/**<em>*</em></em> +<a name="99" href="#99">99</a> <em> * Check that LevelRangeFilter.decide() returns Filter.NEUTRAL</em> +<a name="100" href="#100">100</a> <em> * when event level is above min level and accept on match is false.</em> +<a name="101" href="#101">101</a> <em> */</em> +<a name="102" href="#102">102</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="103" href="#103">103</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="104" href="#104">104</a> Logger.getLogger(LevelRangeFilterTest.<strong>class</strong>), +<a name="105" href="#105">105</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="106" href="#106">106</a> LevelRangeFilter filter = <strong>new</strong> LevelRangeFilter(); +<a name="107" href="#107">107</a> filter.setLevelMin(Level.DEBUG); +<a name="108" href="#108">108</a> filter.activateOptions(); +<a name="109" href="#109">109</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em>/**<em>*</em></em> +<a name="113" href="#113">113</a> <em> * Check that LevelRangeFilter.decide() returns Filter.NEUTRAL</em> +<a name="114" href="#114">114</a> <em> * when event level is below max level and accept on match is false.</em> +<a name="115" href="#115">115</a> <em> */</em> +<a name="116" href="#116">116</a> <strong>public</strong> <strong>void</strong> test6() { +<a name="117" href="#117">117</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="118" href="#118">118</a> Logger.getLogger(LevelRangeFilterTest.<strong>class</strong>), +<a name="119" href="#119">119</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="120" href="#120">120</a> LevelRangeFilter filter = <strong>new</strong> LevelRangeFilter(); +<a name="121" href="#121">121</a> filter.setLevelMax(Level.ERROR); +<a name="122" href="#122">122</a> filter.activateOptions(); +<a name="123" href="#123">123</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LoggerMatchFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LoggerMatchFilterTest.html new file mode 100644 index 00000000000..b1f0ef9c85b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/LoggerMatchFilterTest.html @@ -0,0 +1,108 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LoggerMatchFilterTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/filter/LoggerMatchFilterTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.filter; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.Filter; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em>/**<em>*</em></em> +<a name="27" href="#27">27</a> <em> * Unit tests for LoggerMatchFilter.</em> +<a name="28" href="#28">28</a> <em> */</em> +<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html">LoggerMatchFilterTest</a> <strong>extends</strong> TestCase { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Create new test instance.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @param name test name.</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <a href="../../../../org/apache/log4j/filter/LoggerMatchFilterTest.html">LoggerMatchFilterTest</a>(<strong>final</strong> String name) { +<a name="37" href="#37">37</a> <strong>super</strong>(name); +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Check that LoggerMatchFilter.decide() with unspecified level</em> +<a name="42" href="#42">42</a> <em> * returns Filter.ACCEPT for root logger.</em> +<a name="43" href="#43">43</a> <em> */</em> +<a name="44" href="#44">44</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="45" href="#45">45</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="46" href="#46">46</a> Logger.getRootLogger(), +<a name="47" href="#47">47</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="48" href="#48">48</a> Filter filter = <strong>new</strong> LoggerMatchFilter(); +<a name="49" href="#49">49</a> filter.activateOptions(); +<a name="50" href="#50">50</a> assertEquals(Filter.ACCEPT, filter.decide(event)); +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em>/**<em>*</em></em> +<a name="54" href="#54">54</a> <em> * Check that LoggerMatchFilter.decide() with unspecified level</em> +<a name="55" href="#55">55</a> <em> * returns Filter.DENY for root logger when accept on match is false.</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="58" href="#58">58</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="59" href="#59">59</a> Logger.getRootLogger(), +<a name="60" href="#60">60</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="61" href="#61">61</a> LoggerMatchFilter filter = <strong>new</strong> LoggerMatchFilter(); +<a name="62" href="#62">62</a> filter.setAcceptOnMatch(false); +<a name="63" href="#63">63</a> filter.activateOptions(); +<a name="64" href="#64">64</a> assertEquals(Filter.DENY, filter.decide(event)); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em>/**<em>*</em></em> +<a name="68" href="#68">68</a> <em> * Check that LoggerMatchFilter.decide() with unspecified level</em> +<a name="69" href="#69">69</a> <em> * returns Filter.NEUTRAL for non-root logger.</em> +<a name="70" href="#70">70</a> <em> */</em> +<a name="71" href="#71">71</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="72" href="#72">72</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="73" href="#73">73</a> Logger.getLogger(<span class="string">"org.apache.log4j.filter.LoggerMatchFilterTest"</span>), +<a name="74" href="#74">74</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="75" href="#75">75</a> Filter filter = <strong>new</strong> LoggerMatchFilter(); +<a name="76" href="#76">76</a> filter.activateOptions(); +<a name="77" href="#77">77</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em>/**<em>*</em></em> +<a name="81" href="#81">81</a> <em> * Check that LoggerMatchFilter.decide()</em> +<a name="82" href="#82">82</a> <em> * returns Filter.ACCEPT for matching logger.</em> +<a name="83" href="#83">83</a> <em> */</em> +<a name="84" href="#84">84</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="85" href="#85">85</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="86" href="#86">86</a> Logger.getLogger(<span class="string">"org.apache.log4j.filter.LoggerMatchFilterTest"</span>), +<a name="87" href="#87">87</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="88" href="#88">88</a> LoggerMatchFilter filter = <strong>new</strong> LoggerMatchFilter(); +<a name="89" href="#89">89</a> filter.setLoggerToMatch(<span class="string">"org.apache.log4j.filter.LoggerMatchFilterTest"</span>); +<a name="90" href="#90">90</a> filter.activateOptions(); +<a name="91" href="#91">91</a> assertEquals(Filter.ACCEPT, filter.decide(event)); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter/SimpleFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/SimpleFilterTest.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter/SimpleFilterTest.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/SimpleFilterTest.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/StringMatchFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/StringMatchFilterTest.html new file mode 100644 index 00000000000..7a4789ef281 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/StringMatchFilterTest.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>StringMatchFilterTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/filter/StringMatchFilterTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.filter; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Level; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.Filter; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em>/**<em>*</em></em> +<a name="27" href="#27">27</a> <em> * Unit tests for StringMatchFilter.</em> +<a name="28" href="#28">28</a> <em> */</em> +<a name="29" href="#29">29</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/filter/StringMatchFilterTest.html">StringMatchFilterTest</a> <strong>extends</strong> TestCase { +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Create new test instance.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @param name test name.</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <a href="../../../../org/apache/log4j/filter/StringMatchFilterTest.html">StringMatchFilterTest</a>(<strong>final</strong> String name) { +<a name="37" href="#37">37</a> <strong>super</strong>(name); +<a name="38" href="#38">38</a> } +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Check that StringMatchFilter.decide() returns Filter.NEUTRAL</em> +<a name="42" href="#42">42</a> <em> * when string to match is unspecified.</em> +<a name="43" href="#43">43</a> <em> */</em> +<a name="44" href="#44">44</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="45" href="#45">45</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="46" href="#46">46</a> Logger.getLogger(StringMatchFilterTest.<strong>class</strong>), +<a name="47" href="#47">47</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="48" href="#48">48</a> Filter filter = <strong>new</strong> StringMatchFilter(); +<a name="49" href="#49">49</a> filter.activateOptions(); +<a name="50" href="#50">50</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em>/**<em>*</em></em> +<a name="54" href="#54">54</a> <em> * Check that StringMatchFilter.decide() returns Filter.NEUTRAL</em> +<a name="55" href="#55">55</a> <em> * when string to match does not appear in message.</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="58" href="#58">58</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="59" href="#59">59</a> Logger.getLogger(StringMatchFilterTest.<strong>class</strong>), +<a name="60" href="#60">60</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="61" href="#61">61</a> StringMatchFilter filter = <strong>new</strong> StringMatchFilter(); +<a name="62" href="#62">62</a> filter.setStringToMatch(<span class="string">"Monde"</span>); +<a name="63" href="#63">63</a> filter.activateOptions(); +<a name="64" href="#64">64</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em>/**<em>*</em></em> +<a name="68" href="#68">68</a> <em> * Check that StringMatchFilter.decide() returns Filter.ACCEPT</em> +<a name="69" href="#69">69</a> <em> * when string to match does appear in message.</em> +<a name="70" href="#70">70</a> <em> */</em> +<a name="71" href="#71">71</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="72" href="#72">72</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="73" href="#73">73</a> Logger.getLogger(StringMatchFilterTest.<strong>class</strong>), +<a name="74" href="#74">74</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="75" href="#75">75</a> StringMatchFilter filter = <strong>new</strong> StringMatchFilter(); +<a name="76" href="#76">76</a> filter.setStringToMatch(<span class="string">"World"</span>); +<a name="77" href="#77">77</a> filter.activateOptions(); +<a name="78" href="#78">78</a> assertEquals(Filter.ACCEPT, filter.decide(event)); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em>/**<em>*</em></em> +<a name="82" href="#82">82</a> <em> * Check that StringMatchFilter.decide() returns Filter.DENY</em> +<a name="83" href="#83">83</a> <em> * when string to match does appear in message and</em> +<a name="84" href="#84">84</a> <em> * accept on match is false.</em> +<a name="85" href="#85">85</a> <em> */</em> +<a name="86" href="#86">86</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="87" href="#87">87</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="88" href="#88">88</a> Logger.getLogger(StringMatchFilterTest.<strong>class</strong>), +<a name="89" href="#89">89</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="90" href="#90">90</a> StringMatchFilter filter = <strong>new</strong> StringMatchFilter(); +<a name="91" href="#91">91</a> filter.setStringToMatch(<span class="string">"World"</span>); +<a name="92" href="#92">92</a> filter.setAcceptOnMatch(false); +<a name="93" href="#93">93</a> filter.activateOptions(); +<a name="94" href="#94">94</a> assertEquals(Filter.DENY, filter.decide(event)); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em>/**<em>*</em></em> +<a name="98" href="#98">98</a> <em> * Check that StringMatchFilter.decide() returns Filter.NEUTRAL</em> +<a name="99" href="#99">99</a> <em> * when string to match does appear in message but differs in case.</em> +<a name="100" href="#100">100</a> <em> */</em> +<a name="101" href="#101">101</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="102" href="#102">102</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="103" href="#103">103</a> Logger.getLogger(StringMatchFilterTest.<strong>class</strong>), +<a name="104" href="#104">104</a> System.currentTimeMillis(), Level.INFO, <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="105" href="#105">105</a> StringMatchFilter filter = <strong>new</strong> StringMatchFilter(); +<a name="106" href="#106">106</a> filter.setStringToMatch(<span class="string">"world"</span>); +<a name="107" href="#107">107</a> filter.activateOptions(); +<a name="108" href="#108">108</a> assertEquals(Filter.NEUTRAL, filter.decide(event)); +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter/TimeFilterTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/TimeFilterTest.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/filter/TimeFilterTest.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/TimeFilterTest.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/package-frame.html new file mode 100644 index 00000000000..a0b61a5d9ba --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/package-frame.html @@ -0,0 +1,45 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.filter</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.filter</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="AndFilterTest.html" target="classFrame">AndFilterTest</a> + </li> + <li> + <a href="DenyAllFilterTest.html" target="classFrame">DenyAllFilterTest</a> + </li> + <li> + <a href="LevelMatchFilterTest.html" target="classFrame">LevelMatchFilterTest</a> + </li> + <li> + <a href="LevelRangeFilterTest.html" target="classFrame">LevelRangeFilterTest</a> + </li> + <li> + <a href="LoggerMatchFilterTest.html" target="classFrame">LoggerMatchFilterTest</a> + </li> + <li> + <a href="SimpleFilterTest.html" target="classFrame">SimpleFilterTest</a> + </li> + <li> + <a href="StringMatchFilterTest.html" target="classFrame">StringMatchFilterTest</a> + </li> + <li> + <a href="TimeFilterTest.html" target="classFrame">TimeFilterTest</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/package-summary.html new file mode 100644 index 00000000000..df8ebd49e62 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/filter/package-summary.html @@ -0,0 +1,102 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.filter</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="AndFilterTest.html" target="classFrame">AndFilterTest</a> + </td> + </tr> + <tr> + <td> + <a href="DenyAllFilterTest.html" target="classFrame">DenyAllFilterTest</a> + </td> + </tr> + <tr> + <td> + <a href="LevelMatchFilterTest.html" target="classFrame">LevelMatchFilterTest</a> + </td> + </tr> + <tr> + <td> + <a href="LevelRangeFilterTest.html" target="classFrame">LevelRangeFilterTest</a> + </td> + </tr> + <tr> + <td> + <a href="LoggerMatchFilterTest.html" target="classFrame">LoggerMatchFilterTest</a> + </td> + </tr> + <tr> + <td> + <a href="SimpleFilterTest.html" target="classFrame">SimpleFilterTest</a> + </td> + </tr> + <tr> + <td> + <a href="StringMatchFilterTest.html" target="classFrame">StringMatchFilterTest</a> + </td> + </tr> + <tr> + <td> + <a href="TimeFilterTest.html" target="classFrame">TimeFilterTest</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/package-frame.html similarity index 71% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/package-frame.html index db7057eb3f4..8d5924daa76 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j</title> <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="style" /> </head> <body> @@ -16,28 +16,31 @@ <ul> <li> + <a href="EnhancedMyPatternLayout.html" target="classFrame">EnhancedMyPatternLayout</a> + </li> + <li> + <a href="EnhancedPatternLayoutTest.html" target="classFrame">EnhancedPatternLayoutTest</a> + </li> + <li> + <a href="EnhancedPatternLayoutTestCase.html" target="classFrame">EnhancedPatternLayoutTestCase</a> + </li> + <li> <a href="LayoutTest.html" target="classFrame">LayoutTest</a> </li> <li> <a href="LogCapture.html" target="classFrame">LogCapture</a> - </li> - <li> - <a href="MyPatternLayout.html" target="classFrame">MyPatternLayout</a> </li> <li> <a href="MyPatternParser.html" target="classFrame">MyPatternParser</a> - </li> - <li> - <a href="PatternLayoutTest.html" target="classFrame">PatternLayoutTest</a> - </li> - <li> - <a href="PatternLayoutTestCase.html" target="classFrame">PatternLayoutTestCase</a> </li> <li> <a href="TestLogMF.html" target="classFrame">TestLogMF</a> </li> <li> <a href="TestLogSF.html" target="classFrame">TestLogSF</a> + </li> + <li> + <a href="TestLogXF.html" target="classFrame">TestLogXF</a> </li> <li> <a href="VectorAppender.html" target="classFrame">VectorAppender</a> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/package-summary.html similarity index 80% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/package-summary.html index e87ce61f268..2f1489f4899 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="style" /> </head> <body> @@ -36,6 +36,21 @@ </thead> <tbody> <tr> + <td> + <a href="EnhancedMyPatternLayout.html" target="classFrame">EnhancedMyPatternLayout</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedPatternLayoutTest.html" target="classFrame">EnhancedPatternLayoutTest</a> + </td> + </tr> + <tr> + <td> + <a href="EnhancedPatternLayoutTestCase.html" target="classFrame">EnhancedPatternLayoutTestCase</a> + </td> + </tr> + <tr> <td> <a href="LayoutTest.html" target="classFrame">LayoutTest</a> </td> @@ -44,26 +59,11 @@ <td> <a href="LogCapture.html" target="classFrame">LogCapture</a> </td> - </tr> - <tr> - <td> - <a href="MyPatternLayout.html" target="classFrame">MyPatternLayout</a> - </td> </tr> <tr> <td> <a href="MyPatternParser.html" target="classFrame">MyPatternParser</a> </td> - </tr> - <tr> - <td> - <a href="PatternLayoutTest.html" target="classFrame">PatternLayoutTest</a> - </td> - </tr> - <tr> - <td> - <a href="PatternLayoutTestCase.html" target="classFrame">PatternLayoutTestCase</a> - </td> </tr> <tr> <td> @@ -74,6 +74,11 @@ <td> <a href="TestLogSF.html" target="classFrame">TestLogSF</a> </td> + </tr> + <tr> + <td> + <a href="TestLogXF.html" target="classFrame">TestLogXF</a> + </td> </tr> <tr> <td> @@ -102,6 +107,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html new file mode 100644 index 00000000000..891f4a5fa04 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/CachedDateFormatTest.html @@ -0,0 +1,406 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CachedDateFormatTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/CachedDateFormatTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.Test; +<a name="21" href="#21">21</a> <strong>import</strong> junit.framework.TestCase; +<a name="22" href="#22">22</a> <strong>import</strong> junit.framework.TestSuite; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.pattern.CachedDateFormat; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> java.text.DateFormat; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.TimeZone; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.Date; +<a name="29" href="#29">29</a> <strong>import</strong> java.text.SimpleDateFormat; +<a name="30" href="#30">30</a> <strong>import</strong> java.util.Locale; +<a name="31" href="#31">31</a> <strong>import</strong> java.util.Calendar; +<a name="32" href="#32">32</a> +<a name="33" href="#33">33</a> <em>/**<em>*</em></em> +<a name="34" href="#34">34</a> <em> Unit test {@link AbsoluteTimeDateFormat}.</em> +<a name="35" href="#35">35</a> <em> @author Curt Arnold</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html">CachedDateFormatTest</a> +<a name="38" href="#38">38</a> <strong>extends</strong> TestCase { +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Test constructor</em> +<a name="42" href="#42">42</a> <em> * @param name String test name</em> +<a name="43" href="#43">43</a> <em> */</em> +<a name="44" href="#44">44</a> <strong>public</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html">CachedDateFormatTest</a>(String name) { +<a name="45" href="#45">45</a> <strong>super</strong>(name); +<a name="46" href="#46">46</a> } +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong>private</strong> <strong>static</strong> DateFormat createAbsoluteTimeDateFormat(TimeZone timeZone) { +<a name="49" href="#49">49</a> DateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"HH:mm:ss,SSS"</span>); +<a name="50" href="#50">50</a> df.setTimeZone(timeZone); +<a name="51" href="#51">51</a> <strong>return</strong> df; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em>/**<em>*</em></em> +<a name="56" href="#56">56</a> <em> * Timezone representing GMT.</em> +<a name="57" href="#57">57</a> <em> */</em> +<a name="58" href="#58">58</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> TimeZone GMT = TimeZone.getTimeZone(<span class="string">"GMT"</span>); +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em>/**<em>*</em></em> +<a name="61" href="#61">61</a> <em> * Timezone for Chicago, Ill. USA.</em> +<a name="62" href="#62">62</a> <em> */</em> +<a name="63" href="#63">63</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> TimeZone CHICAGO = TimeZone.getTimeZone( +<a name="64" href="#64">64</a> <span class="string">"America/Chicago"</span>); +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em>/**<em>*</em></em> +<a name="67" href="#67">67</a> <em> * Test multiple calls in close intervals.</em> +<a name="68" href="#68">68</a> <em> */</em> +<a name="69" href="#69">69</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="70" href="#70">70</a> <em class="comment">// subsequent calls within one minute</em> +<a name="71" href="#71">71</a> <em class="comment">// are optimized to reuse previous formatted value</em> +<a name="72" href="#72">72</a> <em class="comment">// make a couple of nearly spaced calls</em> +<a name="73" href="#73">73</a> DateFormat gmtFormat = <strong>new</strong> CachedDateFormat(createAbsoluteTimeDateFormat(GMT), 1000); +<a name="74" href="#74">74</a> <strong>long</strong> ticks = 12601L * 86400000L; +<a name="75" href="#75">75</a> Date jul1 = <strong>new</strong> Date(ticks); +<a name="76" href="#76">76</a> assertEquals(<span class="string">"00:00:00,000"</span>, gmtFormat.format(jul1)); +<a name="77" href="#77">77</a> Date plus8ms = <strong>new</strong> Date(ticks + 8); +<a name="78" href="#78">78</a> assertEquals(<span class="string">"00:00:00,008"</span>, gmtFormat.format(plus8ms)); +<a name="79" href="#79">79</a> Date plus17ms = <strong>new</strong> Date(ticks + 17); +<a name="80" href="#80">80</a> assertEquals(<span class="string">"00:00:00,017"</span>, gmtFormat.format(plus17ms)); +<a name="81" href="#81">81</a> Date plus237ms = <strong>new</strong> Date(ticks + 237); +<a name="82" href="#82">82</a> assertEquals(<span class="string">"00:00:00,237"</span>, gmtFormat.format(plus237ms)); +<a name="83" href="#83">83</a> Date plus1415ms = <strong>new</strong> Date(ticks + 1415); +<a name="84" href="#84">84</a> assertEquals(<span class="string">"00:00:01,415"</span>, gmtFormat.format(plus1415ms)); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em>/**<em>*</em></em> +<a name="88" href="#88">88</a> <em> * Check for interaction between caches.</em> +<a name="89" href="#89">89</a> <em> */</em> +<a name="90" href="#90">90</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="91" href="#91">91</a> Date jul2 = <strong>new</strong> Date(12602L * 86400000L); +<a name="92" href="#92">92</a> DateFormat gmtFormat = <strong>new</strong> CachedDateFormat(createAbsoluteTimeDateFormat(GMT), 1000); +<a name="93" href="#93">93</a> DateFormat chicagoFormat = <strong>new</strong> CachedDateFormat(createAbsoluteTimeDateFormat(CHICAGO), 1000); +<a name="94" href="#94">94</a> assertEquals(<span class="string">"00:00:00,000"</span>, gmtFormat.format(jul2)); +<a name="95" href="#95">95</a> assertEquals(<span class="string">"19:00:00,000"</span>, chicagoFormat.format(jul2)); +<a name="96" href="#96">96</a> assertEquals(<span class="string">"00:00:00,000"</span>, gmtFormat.format(jul2)); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em>/**<em>*</em></em> +<a name="100" href="#100">100</a> <em> * Test multiple calls in close intervals prior to 1 Jan 1970.</em> +<a name="101" href="#101">101</a> <em> */</em> +<a name="102" href="#102">102</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="103" href="#103">103</a> <em class="comment">// subsequent calls within one minute</em> +<a name="104" href="#104">104</a> <em class="comment">// are optimized to reuse previous formatted value</em> +<a name="105" href="#105">105</a> <em class="comment">// make a couple of nearly spaced calls</em> +<a name="106" href="#106">106</a> DateFormat gmtFormat = <strong>new</strong> CachedDateFormat( +<a name="107" href="#107">107</a> createAbsoluteTimeDateFormat(GMT), 1000); +<a name="108" href="#108">108</a> <em class="comment">//</em> +<a name="109" href="#109">109</a> <em class="comment">// if the first call was exactly on an integral</em> +<a name="110" href="#110">110</a> <em class="comment">// second, it would not test the round toward zero compensation</em> +<a name="111" href="#111">111</a> <strong>long</strong> ticks = -7L * 86400000L; +<a name="112" href="#112">112</a> Date jul1 = <strong>new</strong> Date(ticks + 8); +<a name="113" href="#113">113</a> assertEquals(<span class="string">"00:00:00,008"</span>, gmtFormat.format(jul1)); +<a name="114" href="#114">114</a> Date plus8ms = <strong>new</strong> Date(ticks + 16); +<a name="115" href="#115">115</a> assertEquals(<span class="string">"00:00:00,016"</span>, gmtFormat.format(plus8ms)); +<a name="116" href="#116">116</a> Date plus17ms = <strong>new</strong> Date(ticks + 23); +<a name="117" href="#117">117</a> assertEquals(<span class="string">"00:00:00,023"</span>, gmtFormat.format(plus17ms)); +<a name="118" href="#118">118</a> Date plus237ms = <strong>new</strong> Date(ticks + 245); +<a name="119" href="#119">119</a> assertEquals(<span class="string">"00:00:00,245"</span>, gmtFormat.format(plus237ms)); +<a name="120" href="#120">120</a> Date plus1415ms = <strong>new</strong> Date(ticks + 1423); +<a name="121" href="#121">121</a> assertEquals(<span class="string">"00:00:01,423"</span>, gmtFormat.format(plus1415ms)); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="125" href="#125">125</a> <em class="comment">// subsequent calls within one minute are optimized to reuse previous </em> +<a name="126" href="#126">126</a> <em class="comment">// formatted value. make a couple of nearly spaced calls</em> +<a name="127" href="#127">127</a> <em class="comment">// (Note: 'Z' is JDK 1.4, using 'z' instead.)</em> +<a name="128" href="#128">128</a> SimpleDateFormat baseFormat = +<a name="129" href="#129">129</a> <strong>new</strong> SimpleDateFormat(<span class="string">"EEE, MMM dd, HH:mm:ss.SSS z"</span>, Locale.ENGLISH); +<a name="130" href="#130">130</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(baseFormat, 1000); +<a name="131" href="#131">131</a> <em class="comment">//</em> +<a name="132" href="#132">132</a> <em class="comment">// use a date in 2000 to attempt to confuse the millisecond locator</em> +<a name="133" href="#133">133</a> <strong>long</strong> ticks = 11141L * 86400000L; +<a name="134" href="#134">134</a> Date jul1 = <strong>new</strong> Date(ticks); +<a name="135" href="#135">135</a> assertEquals(baseFormat.format(jul1), cachedFormat.format(jul1)); +<a name="136" href="#136">136</a> Date plus8ms = <strong>new</strong> Date(ticks + 8); +<a name="137" href="#137">137</a> baseFormat.format(plus8ms); +<a name="138" href="#138">138</a> cachedFormat.format(plus8ms); +<a name="139" href="#139">139</a> assertEquals(baseFormat.format(plus8ms), cachedFormat.format(plus8ms)); +<a name="140" href="#140">140</a> Date plus17ms = <strong>new</strong> Date(ticks + 17); +<a name="141" href="#141">141</a> assertEquals(baseFormat.format(plus17ms), cachedFormat.format(plus17ms)); +<a name="142" href="#142">142</a> Date plus237ms = <strong>new</strong> Date(ticks + 237); +<a name="143" href="#143">143</a> assertEquals(baseFormat.format(plus237ms), cachedFormat.format(plus237ms)); +<a name="144" href="#144">144</a> Date plus1415ms = <strong>new</strong> Date(ticks + 1415); +<a name="145" href="#145">145</a> assertEquals(baseFormat.format(plus1415ms), cachedFormat.format(plus1415ms)); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="149" href="#149">149</a> <em class="comment">// subsequent calls within one minute</em> +<a name="150" href="#150">150</a> <em class="comment">// are optimized to reuse previous formatted value</em> +<a name="151" href="#151">151</a> <em class="comment">// make a couple of nearly spaced calls</em> +<a name="152" href="#152">152</a> <em class="comment">// (Note: 'Z' is JDK 1.4, using 'z' instead.)</em> +<a name="153" href="#153">153</a> Locale thai = <strong>new</strong> Locale(<span class="string">"th"</span>, <span class="string">"TH"</span>); +<a name="154" href="#154">154</a> SimpleDateFormat baseFormat = +<a name="155" href="#155">155</a> <strong>new</strong> SimpleDateFormat(<span class="string">"EEE, MMM dd, HH:mm:ss.SSS z"</span>, thai); +<a name="156" href="#156">156</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(baseFormat, 1000); +<a name="157" href="#157">157</a> <em class="comment">//</em> +<a name="158" href="#158">158</a> <em class="comment">// use a date in the year 2000 CE to attempt to confuse the millisecond locator</em> +<a name="159" href="#159">159</a> <strong>long</strong> ticks = 11141L * 86400000L; +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> String sx; +<a name="162" href="#162">162</a> Date jul1 = <strong>new</strong> Date(ticks); +<a name="163" href="#163">163</a> sx = cachedFormat.format(jul1); +<a name="164" href="#164">164</a> System.out.println(baseFormat.format(jul1)); +<a name="165" href="#165">165</a> System.out.println(sx); +<a name="166" href="#166">166</a> assertEquals(baseFormat.format(jul1), sx); +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> sx = cachedFormat.format(jul1); +<a name="169" href="#169">169</a> System.out.println(baseFormat.format(jul1)); +<a name="170" href="#170">170</a> System.out.println(sx); +<a name="171" href="#171">171</a> assertEquals(baseFormat.format(jul1), sx); +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> Date plus8ms = <strong>new</strong> Date(ticks + 8); +<a name="175" href="#175">175</a> sx = cachedFormat.format(plus8ms); +<a name="176" href="#176">176</a> System.out.println(baseFormat.format(plus8ms)); +<a name="177" href="#177">177</a> System.out.println(sx); +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> assertEquals(baseFormat.format(plus8ms), sx); +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> Date plus17ms = <strong>new</strong> Date(ticks + 17); +<a name="182" href="#182">182</a> assertEquals(baseFormat.format(plus17ms), cachedFormat.format(plus17ms)); +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> Date plus237ms = <strong>new</strong> Date(ticks + 237); +<a name="185" href="#185">185</a> assertEquals(baseFormat.format(plus237ms), cachedFormat.format(plus237ms)); +<a name="186" href="#186">186</a> +<a name="187" href="#187">187</a> Date plus1415ms = <strong>new</strong> Date(ticks + 1415); +<a name="188" href="#188">188</a> assertEquals(baseFormat.format(plus1415ms), cachedFormat.format(plus1415ms)); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em>/**<em>*</em></em> +<a name="192" href="#192">192</a> <em> * Checks that getNumberFormat does not return null.</em> +<a name="193" href="#193">193</a> <em> */</em> +<a name="194" href="#194">194</a> <strong>public</strong> <strong>void</strong> test6() { +<a name="195" href="#195">195</a> assertNotNull(<strong>new</strong> CachedDateFormat(<strong>new</strong> SimpleDateFormat(), 1000).getNumberFormat()); +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <em>/**<em>*</em></em> +<a name="199" href="#199">199</a> <em> * Set time zone on cached and check that it is effective.</em> +<a name="200" href="#200">200</a> <em> */</em> +<a name="201" href="#201">201</a> <strong>public</strong> <strong>void</strong> test8() { +<a name="202" href="#202">202</a> DateFormat baseFormat = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MM-dd HH:mm:ss,SSS"</span>); +<a name="203" href="#203">203</a> baseFormat.setTimeZone(GMT); +<a name="204" href="#204">204</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(baseFormat, 1000); +<a name="205" href="#205">205</a> Date jul4 = <strong>new</strong> Date(12603L * 86400000L); +<a name="206" href="#206">206</a> assertEquals(<span class="string">"2004-07-04 00:00:00,000"</span>, cachedFormat.format(jul4)); +<a name="207" href="#207">207</a> cachedFormat.setTimeZone(TimeZone.getTimeZone(<span class="string">"GMT-6"</span>)); +<a name="208" href="#208">208</a> assertEquals(<span class="string">"2004-07-03 18:00:00,000"</span>, cachedFormat.format(jul4)); +<a name="209" href="#209">209</a> } +<a name="210" href="#210">210</a> +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <em>/**<em>*</em></em> +<a name="213" href="#213">213</a> <em> * Test of caching when less than three millisecond digits are specified.</em> +<a name="214" href="#214">214</a> <em> */</em> +<a name="215" href="#215">215</a> <strong>public</strong> <strong>void</strong> test9() { +<a name="216" href="#216">216</a> <em class="comment">// (Note: 'Z' is JDK 1.4, using 'z' instead.)</em> +<a name="217" href="#217">217</a> DateFormat baseFormat = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MMMM-dd HH:mm:ss,SS z"</span>, Locale.US); +<a name="218" href="#218">218</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(baseFormat, 1000); +<a name="219" href="#219">219</a> TimeZone cet = TimeZone.getTimeZone(<span class="string">"GMT+1"</span>); +<a name="220" href="#220">220</a> cachedFormat.setTimeZone(cet); +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> Calendar c = Calendar.getInstance(); +<a name="223" href="#223">223</a> c.set(2004, Calendar.DECEMBER, 12, 20, 0); +<a name="224" href="#224">224</a> c.set(Calendar.SECOND, 37); +<a name="225" href="#225">225</a> c.set(Calendar.MILLISECOND, 23); +<a name="226" href="#226">226</a> c.setTimeZone(cet); +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> String expected = baseFormat.format(c.getTime()); +<a name="229" href="#229">229</a> String s = cachedFormat.format(c.getTime()); +<a name="230" href="#230">230</a> assertEquals(expected, s); +<a name="231" href="#231">231</a> +<a name="232" href="#232">232</a> c.set(2005, Calendar.JANUARY, 1, 0, 0); +<a name="233" href="#233">233</a> c.set(Calendar.SECOND, 13); +<a name="234" href="#234">234</a> c.set(Calendar.MILLISECOND, 905); +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> expected = baseFormat.format(c.getTime()); +<a name="237" href="#237">237</a> s = cachedFormat.format(c.getTime()); +<a name="238" href="#238">238</a> assertEquals(expected, s); +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <em>/**<em>*</em></em> +<a name="243" href="#243">243</a> <em> * Test when millisecond position moves but length remains constant.</em> +<a name="244" href="#244">244</a> <em> */</em> +<a name="245" href="#245">245</a> <strong>public</strong> <strong>void</strong> test10() { +<a name="246" href="#246">246</a> DateFormat baseFormat = <strong>new</strong> SimpleDateFormat(<span class="string">"MMMM SSS EEEEEE"</span>, Locale.US); +<a name="247" href="#247">247</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(baseFormat, 1000); +<a name="248" href="#248">248</a> TimeZone cet = TimeZone.getTimeZone(<span class="string">"GMT+1"</span>); +<a name="249" href="#249">249</a> cachedFormat.setTimeZone(cet); +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> Calendar c = Calendar.getInstance(); +<a name="252" href="#252">252</a> c.set(2004, Calendar.OCTOBER, 5, 20, 0); +<a name="253" href="#253">253</a> c.set(Calendar.SECOND, 37); +<a name="254" href="#254">254</a> c.set(Calendar.MILLISECOND, 23); +<a name="255" href="#255">255</a> c.setTimeZone(cet); +<a name="256" href="#256">256</a> +<a name="257" href="#257">257</a> String expected = baseFormat.format(c.getTime()); +<a name="258" href="#258">258</a> String s = cachedFormat.format(c.getTime()); +<a name="259" href="#259">259</a> assertEquals(expected, s); +<a name="260" href="#260">260</a> +<a name="261" href="#261">261</a> c.set(2004, Calendar.NOVEMBER, 1, 0, 0); +<a name="262" href="#262">262</a> c.set(Calendar.MILLISECOND, 23); +<a name="263" href="#263">263</a> expected = baseFormat.format(c.getTime()); +<a name="264" href="#264">264</a> s = cachedFormat.format(c.getTime()); +<a name="265" href="#265">265</a> assertEquals(expected, s); +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> +<a name="268" href="#268">268</a> c.set(Calendar.MILLISECOND, 984); +<a name="269" href="#269">269</a> expected = baseFormat.format(c.getTime()); +<a name="270" href="#270">270</a> s = cachedFormat.format(c.getTime()); +<a name="271" href="#271">271</a> assertEquals(expected, s); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <em>/**<em>*</em></em> +<a name="275" href="#275">275</a> <em> * Test that tests if caching is skipped if only "SS"</em> +<a name="276" href="#276">276</a> <em> * is specified.</em> +<a name="277" href="#277">277</a> <em> */</em> +<a name="278" href="#278">278</a> <strong>public</strong> <strong>void</strong> test11() { +<a name="279" href="#279">279</a> <em class="comment">//</em> +<a name="280" href="#280">280</a> <em class="comment">// Earlier versions could be tricked by "SS0" patterns.</em> +<a name="281" href="#281">281</a> <em class="comment">//</em> +<a name="282" href="#282">282</a> String badPattern = <span class="string">"ss,SS0"</span>; +<a name="283" href="#283">283</a> SimpleDateFormat simpleFormat = <strong>new</strong> SimpleDateFormat(badPattern); +<a name="284" href="#284">284</a> SimpleDateFormat baseFormat = <strong>new</strong> SimpleDateFormat(badPattern); +<a name="285" href="#285">285</a> DateFormat gmtFormat = <strong>new</strong> CachedDateFormat(simpleFormat, 1000); +<a name="286" href="#286">286</a> gmtFormat.setTimeZone(GMT); +<a name="287" href="#287">287</a> baseFormat.setTimeZone(GMT); +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> <em class="comment">//</em> +<a name="290" href="#290">290</a> <em class="comment">// The first request has to 100 ms after an ordinal second</em> +<a name="291" href="#291">291</a> <em class="comment">// to push the literal zero out of the pattern check</em> +<a name="292" href="#292">292</a> <strong>long</strong> ticks = 11142L * 86400000L; +<a name="293" href="#293">293</a> Date jul2 = <strong>new</strong> Date(ticks + 120); +<a name="294" href="#294">294</a> String expected = baseFormat.format(jul2); +<a name="295" href="#295">295</a> assertEquals(expected, gmtFormat.format(jul2)); +<a name="296" href="#296">296</a> jul2.setTime(ticks + 87); +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <em class="comment">//</em> +<a name="300" href="#300">300</a> <em class="comment">// Cache gives 00,087</em> +<a name="301" href="#301">301</a> expected = baseFormat.format(jul2); +<a name="302" href="#302">302</a> assertEquals(expected, gmtFormat.format(jul2)); +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> } +<a name="305" href="#305">305</a> +<a name="306" href="#306">306</a> <em>/**<em>*</em></em> +<a name="307" href="#307">307</a> <em> * Check pattern location for ISO8601</em> +<a name="308" href="#308">308</a> <em> */</em> +<a name="309" href="#309">309</a> <strong>public</strong> <strong>void</strong> test12() { +<a name="310" href="#310">310</a> SimpleDateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MM-dd HH:mm:ss,SSS"</span>); +<a name="311" href="#311">311</a> <strong>long</strong> ticks = 11142L * 86400000L; +<a name="312" href="#312">312</a> String formatted = df.format(<strong>new</strong> Date(ticks)); +<a name="313" href="#313">313</a> <strong>int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); +<a name="314" href="#314">314</a> assertEquals(20, millisecondStart); +<a name="315" href="#315">315</a> } +<a name="316" href="#316">316</a> +<a name="317" href="#317">317</a> <em>/**<em>*</em></em> +<a name="318" href="#318">318</a> <em> * Check pattern location for DATE</em> +<a name="319" href="#319">319</a> <em> */</em> +<a name="320" href="#320">320</a> <strong>public</strong> <strong>void</strong> test13() { +<a name="321" href="#321">321</a> SimpleDateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MM-dd"</span>); +<a name="322" href="#322">322</a> <strong>long</strong> ticks = 11142L * 86400000L; +<a name="323" href="#323">323</a> String formatted = df.format(<strong>new</strong> Date(ticks)); +<a name="324" href="#324">324</a> <strong>int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); +<a name="325" href="#325">325</a> assertEquals(CachedDateFormat.NO_MILLISECONDS, millisecondStart); +<a name="326" href="#326">326</a> } +<a name="327" href="#327">327</a> +<a name="328" href="#328">328</a> <em>/**<em>*</em></em> +<a name="329" href="#329">329</a> <em> * Check pattern location for ABSOLUTE</em> +<a name="330" href="#330">330</a> <em> */</em> +<a name="331" href="#331">331</a> <strong>public</strong> <strong>void</strong> test14() { +<a name="332" href="#332">332</a> SimpleDateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"HH:mm:ss,SSS"</span>); +<a name="333" href="#333">333</a> <strong>long</strong> ticks = 11142L * 86400000L; +<a name="334" href="#334">334</a> String formatted = df.format(<strong>new</strong> Date(ticks)); +<a name="335" href="#335">335</a> <strong>int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); +<a name="336" href="#336">336</a> assertEquals(9, millisecondStart); +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <em>/**<em>*</em></em> +<a name="340" href="#340">340</a> <em> * Check pattern location for single S</em> +<a name="341" href="#341">341</a> <em> */</em> +<a name="342" href="#342">342</a> <strong>public</strong> <strong>void</strong> test15() { +<a name="343" href="#343">343</a> SimpleDateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"HH:mm:ss,S"</span>); +<a name="344" href="#344">344</a> <strong>long</strong> ticks = 11142L * 86400000L; +<a name="345" href="#345">345</a> String formatted = df.format(<strong>new</strong> Date(ticks)); +<a name="346" href="#346">346</a> <strong>int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); +<a name="347" href="#347">347</a> assertEquals(CachedDateFormat.UNRECOGNIZED_MILLISECONDS, millisecondStart); +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> <em>/**<em>*</em></em> +<a name="351" href="#351">351</a> <em> * Check pattern location for single SS</em> +<a name="352" href="#352">352</a> <em> */</em> +<a name="353" href="#353">353</a> <strong>public</strong> <strong>void</strong> test16() { +<a name="354" href="#354">354</a> SimpleDateFormat df = <strong>new</strong> SimpleDateFormat(<span class="string">"HH:mm:ss,SS"</span>); +<a name="355" href="#355">355</a> <strong>long</strong> ticks = 11142L * 86400000L; +<a name="356" href="#356">356</a> String formatted = df.format(<strong>new</strong> Date(ticks)); +<a name="357" href="#357">357</a> <strong>int</strong> millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); +<a name="358" href="#358">358</a> assertEquals(CachedDateFormat.UNRECOGNIZED_MILLISECONDS, millisecondStart); +<a name="359" href="#359">359</a> } +<a name="360" href="#360">360</a> +<a name="361" href="#361">361</a> +<a name="362" href="#362">362</a> <em>/**<em>*</em></em> +<a name="363" href="#363">363</a> <em> * Check caching when multiple SSS appear in pattern</em> +<a name="364" href="#364">364</a> <em> */</em> +<a name="365" href="#365">365</a> <strong>public</strong> <strong>void</strong> test17() { +<a name="366" href="#366">366</a> Date jul2 = <strong>new</strong> Date(12602L * 86400000L); +<a name="367" href="#367">367</a> String badPattern = <span class="string">"HH:mm:ss,SSS HH:mm:ss,SSS"</span>; +<a name="368" href="#368">368</a> SimpleDateFormat simpleFormat = <strong>new</strong> SimpleDateFormat(badPattern); +<a name="369" href="#369">369</a> simpleFormat.setTimeZone(GMT); +<a name="370" href="#370">370</a> DateFormat cachedFormat = <strong>new</strong> CachedDateFormat(simpleFormat, 1000); +<a name="371" href="#371">371</a> String s = cachedFormat.format(jul2); +<a name="372" href="#372">372</a> assertEquals(<span class="string">"00:00:00,000 00:00:00,000"</span>, s); +<a name="373" href="#373">373</a> jul2.setTime(jul2.getTime() + 120); +<a name="374" href="#374">374</a> assertEquals(<span class="string">"00:00:00,120 00:00:00,120"</span>, simpleFormat.format(jul2)); +<a name="375" href="#375">375</a> s = cachedFormat.format(jul2); +<a name="376" href="#376">376</a> <em class="comment">//</em> +<a name="377" href="#377">377</a> <em class="comment">// TODO: why is this returning ,120 ... , 120</em> +<a name="378" href="#378">378</a> <em class="comment">//</em> +<a name="379" href="#379">379</a> <em class="comment">//assertEquals("00:00:00,120 00:00:00,000", s) ;</em> +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <strong>int</strong> maxValid = CachedDateFormat.getMaximumCacheValidity(badPattern); +<a name="382" href="#382">382</a> assertEquals(1, maxValid); +<a name="383" href="#383">383</a> } +<a name="384" href="#384">384</a> +<a name="385" href="#385">385</a> +<a name="386" href="#386">386</a> <strong>public</strong> <strong>static</strong> Test xsuite() { +<a name="387" href="#387">387</a> TestSuite suite = <strong>new</strong> TestSuite(); +<a name="388" href="#388">388</a> suite.addTest(<strong>new</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormatTest.html">CachedDateFormatTest</a>(<span class="string">"test5"</span>)); +<a name="389" href="#389">389</a> <em class="comment">//suite.addTest(new CachedDateFormatTest("testS2"));</em> +<a name="390" href="#390">390</a> <strong>return</strong> suite; +<a name="391" href="#391">391</a> } +<a name="392" href="#392">392</a> +<a name="393" href="#393">393</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html index d5fe60cc485..111b036292c 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/FormattingInfoTest.html @@ -62,7 +62,7 @@ <a name="53" href="#53">53</a> <em> *</em> <a name="54" href="#54">54</a> <em> */</em> <a name="55" href="#55">55</a> <strong>public</strong> <strong>void</strong> testConstructor() { -<a name="56" href="#56">56</a> FormattingInfo field = <strong>new</strong> FormattingInfo(<strong>true</strong>, 3, 6); +<a name="56" href="#56">56</a> FormattingInfo field = <strong>new</strong> FormattingInfo(<strong>true</strong>, false, 3, 6); <a name="57" href="#57">57</a> assertNotNull(field); <a name="58" href="#58">58</a> assertEquals(3, field.getMinLength()); <a name="59" href="#59">59</a> assertEquals(6, field.getMaxLength()); @@ -74,32 +74,42 @@ <a name="65" href="#65">65</a> <em> */</em> <a name="66" href="#66">66</a> <strong>public</strong> <strong>void</strong> testTruncate() { <a name="67" href="#67">67</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"foobar"</span>); -<a name="68" href="#68">68</a> FormattingInfo field = <strong>new</strong> FormattingInfo(<strong>true</strong>, 0, 3); +<a name="68" href="#68">68</a> FormattingInfo field = <strong>new</strong> FormattingInfo(<strong>true</strong>, false, 0, 3); <a name="69" href="#69">69</a> field.format(2, buf); <a name="70" href="#70">70</a> assertEquals(<span class="string">"fobar"</span>, buf.toString()); <a name="71" href="#71">71</a> } <a name="72" href="#72">72</a> -<a name="73" href="#73">73</a> <em>/**<em>*</em></em> -<a name="74" href="#74">74</a> <em> * Add padding to left since field is not minimum width.</em> -<a name="75" href="#75">75</a> <em> */</em> -<a name="76" href="#76">76</a> <strong>public</strong> <strong>void</strong> testPadLeft() { -<a name="77" href="#77">77</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"foobar"</span>); -<a name="78" href="#78">78</a> FormattingInfo field = <strong>new</strong> FormattingInfo(false, 5, 10); -<a name="79" href="#79">79</a> field.format(2, buf); -<a name="80" href="#80">80</a> assertEquals(<span class="string">"fo obar"</span>, buf.toString()); -<a name="81" href="#81">81</a> } +<a name="73" href="#73">73</a> <em>/**<em>*</em></em> +<a name="74" href="#74">74</a> <em> * Field exceeds maximum width, truncate right.</em> +<a name="75" href="#75">75</a> <em> */</em> +<a name="76" href="#76">76</a> <strong>public</strong> <strong>void</strong> testRightTruncate() { +<a name="77" href="#77">77</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"foobar"</span>); +<a name="78" href="#78">78</a> FormattingInfo field = <strong>new</strong> FormattingInfo(<strong>true</strong>, <strong>true</strong>, 0, 3); +<a name="79" href="#79">79</a> field.format(2, buf); +<a name="80" href="#80">80</a> assertEquals(<span class="string">"fooba"</span>, buf.toString()); +<a name="81" href="#81">81</a> } <a name="82" href="#82">82</a> <a name="83" href="#83">83</a> <em>/**<em>*</em></em> -<a name="84" href="#84">84</a> <em> * Add padding to right since field is not minimum width.</em> +<a name="84" href="#84">84</a> <em> * Add padding to left since field is not minimum width.</em> <a name="85" href="#85">85</a> <em> */</em> -<a name="86" href="#86">86</a> <strong>public</strong> <strong>void</strong> testPadRight() { +<a name="86" href="#86">86</a> <strong>public</strong> <strong>void</strong> testPadLeft() { <a name="87" href="#87">87</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"foobar"</span>); -<a name="88" href="#88">88</a> FormattingInfo field = <strong>new</strong> FormattingInfo(<strong>true</strong>, 5, 10); +<a name="88" href="#88">88</a> FormattingInfo field = <strong>new</strong> FormattingInfo(false, false, 5, 10); <a name="89" href="#89">89</a> field.format(2, buf); -<a name="90" href="#90">90</a> assertEquals(<span class="string">"foobar "</span>, buf.toString()); +<a name="90" href="#90">90</a> assertEquals(<span class="string">"fo obar"</span>, buf.toString()); <a name="91" href="#91">91</a> } <a name="92" href="#92">92</a> -<a name="93" href="#93">93</a> } +<a name="93" href="#93">93</a> <em>/**<em>*</em></em> +<a name="94" href="#94">94</a> <em> * Add padding to right since field is not minimum width.</em> +<a name="95" href="#95">95</a> <em> */</em> +<a name="96" href="#96">96</a> <strong>public</strong> <strong>void</strong> testPadRight() { +<a name="97" href="#97">97</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"foobar"</span>); +<a name="98" href="#98">98</a> FormattingInfo field = <strong>new</strong> FormattingInfo(<strong>true</strong>, false, 5, 10); +<a name="99" href="#99">99</a> field.format(2, buf); +<a name="100" href="#100">100</a> assertEquals(<span class="string">"foobar "</span>, buf.toString()); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> } </pre> <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> </html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html new file mode 100644 index 00000000000..e50a43cd01b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/NameAbbreviatorTest.html @@ -0,0 +1,349 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NameAbbreviatorTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/NameAbbreviatorTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em>/**<em>*</em></em> +<a name="24" href="#24">24</a> <em> * Tests for NameAbbrevator.</em> +<a name="25" href="#25">25</a> <em> *</em> +<a name="26" href="#26">26</a> <em> */</em> +<a name="27" href="#27">27</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html">NameAbbreviatorTest</a> <strong>extends</strong> TestCase { +<a name="28" href="#28">28</a> <em>/**<em>*</em></em> +<a name="29" href="#29">29</a> <em> * Create a new instance.</em> +<a name="30" href="#30">30</a> <em> *</em> +<a name="31" href="#31">31</a> <em> * @param name test name</em> +<a name="32" href="#32">32</a> <em> */</em> +<a name="33" href="#33">33</a> <strong>public</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviatorTest.html">NameAbbreviatorTest</a>(<strong>final</strong> String name) { +<a name="34" href="#34">34</a> <strong>super</strong>(name); +<a name="35" href="#35">35</a> } +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em>/**<em>*</em></em> +<a name="38" href="#38">38</a> <em> * Check that getDefaultAbbreviator does not return null.</em> +<a name="39" href="#39">39</a> <em> *</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>public</strong> <strong>void</strong> testGetDefault() { +<a name="42" href="#42">42</a> NameAbbreviator abbrev = NameAbbreviator.getDefaultAbbreviator(); +<a name="43" href="#43">43</a> assertNotNull(abbrev); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * Check that "0" drops all name content.</em> +<a name="48" href="#48">48</a> <em> *</em> +<a name="49" href="#49">49</a> <em> */</em> +<a name="50" href="#50">50</a> <strong>public</strong> <strong>void</strong> testZero() { +<a name="51" href="#51">51</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"0"</span>); +<a name="52" href="#52">52</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); +<a name="53" href="#53">53</a> <strong>int</strong> fieldStart = buf.length(); +<a name="54" href="#54">54</a> buf.append(<span class="string">"org.example.foo.bar"</span>); +<a name="55" href="#55">55</a> abbrev.abbreviate(fieldStart, buf); +<a name="56" href="#56">56</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em>/**<em>*</em></em> +<a name="60" href="#60">60</a> <em> * Check that getAbbreviator(" ") returns default abbreviator.</em> +<a name="61" href="#61">61</a> <em> *</em> +<a name="62" href="#62">62</a> <em> */</em> +<a name="63" href="#63">63</a> <strong>public</strong> <strong>void</strong> testBlank() { +<a name="64" href="#64">64</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">" "</span>); +<a name="65" href="#65">65</a> NameAbbreviator defaultAbbrev = NameAbbreviator.getDefaultAbbreviator(); +<a name="66" href="#66">66</a> assertTrue(abbrev == defaultAbbrev); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em>/**<em>*</em></em> +<a name="70" href="#70">70</a> <em> * Check that getAbbreviator("1").abbreviate() drops all but the final name element.</em> +<a name="71" href="#71">71</a> <em> *</em> +<a name="72" href="#72">72</a> <em> */</em> +<a name="73" href="#73">73</a> <strong>public</strong> <strong>void</strong> testOne() { +<a name="74" href="#74">74</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"1"</span>); +<a name="75" href="#75">75</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); +<a name="76" href="#76">76</a> <strong>int</strong> fieldStart = buf.length(); +<a name="77" href="#77">77</a> buf.append(<span class="string">"org.example.foo.bar"</span>); +<a name="78" href="#78">78</a> abbrev.abbreviate(fieldStart, buf); +<a name="79" href="#79">79</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> buf.setLength(0); +<a name="82" href="#82">82</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="83" href="#83">83</a> fieldStart = buf.length(); +<a name="84" href="#84">84</a> buf.append(<span class="string">"bar"</span>); +<a name="85" href="#85">85</a> abbrev.abbreviate(fieldStart, buf); +<a name="86" href="#86">86</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> buf.setLength(0); +<a name="89" href="#89">89</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="90" href="#90">90</a> fieldStart = buf.length(); +<a name="91" href="#91">91</a> abbrev.abbreviate(fieldStart, buf); +<a name="92" href="#92">92</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em>/**<em>*</em></em> +<a name="96" href="#96">96</a> <em> * Check that blanks are trimmed in evaluating abbreviation pattern.</em> +<a name="97" href="#97">97</a> <em> */</em> +<a name="98" href="#98">98</a> <strong>public</strong> <strong>void</strong> testBlankOne() { +<a name="99" href="#99">99</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">" 1 "</span>); +<a name="100" href="#100">100</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); +<a name="101" href="#101">101</a> <strong>int</strong> fieldStart = buf.length(); +<a name="102" href="#102">102</a> buf.append(<span class="string">"org.example.foo.bar"</span>); +<a name="103" href="#103">103</a> abbrev.abbreviate(fieldStart, buf); +<a name="104" href="#104">104</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> buf.setLength(0); +<a name="107" href="#107">107</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="108" href="#108">108</a> fieldStart = buf.length(); +<a name="109" href="#109">109</a> buf.append(<span class="string">"bar"</span>); +<a name="110" href="#110">110</a> abbrev.abbreviate(fieldStart, buf); +<a name="111" href="#111">111</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> buf.setLength(0); +<a name="114" href="#114">114</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="115" href="#115">115</a> fieldStart = buf.length(); +<a name="116" href="#116">116</a> abbrev.abbreviate(fieldStart, buf); +<a name="117" href="#117">117</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em>/**<em>*</em></em> +<a name="121" href="#121">121</a> <em> * Check that getAbbreviator("2").abbreviate drops all but the last two elements.</em> +<a name="122" href="#122">122</a> <em> *</em> +<a name="123" href="#123">123</a> <em> */</em> +<a name="124" href="#124">124</a> <strong>public</strong> <strong>void</strong> testTwo() { +<a name="125" href="#125">125</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"2"</span>); +<a name="126" href="#126">126</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); +<a name="127" href="#127">127</a> <strong>int</strong> fieldStart = buf.length(); +<a name="128" href="#128">128</a> buf.append(<span class="string">"org.example.foo.bar"</span>); +<a name="129" href="#129">129</a> abbrev.abbreviate(fieldStart, buf); +<a name="130" href="#130">130</a> assertEquals(<span class="string">"DEBUG - foo.bar"</span>, buf.toString()); +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> buf.setLength(0); +<a name="133" href="#133">133</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="134" href="#134">134</a> fieldStart = buf.length(); +<a name="135" href="#135">135</a> buf.append(<span class="string">"foo.bar"</span>); +<a name="136" href="#136">136</a> abbrev.abbreviate(fieldStart, buf); +<a name="137" href="#137">137</a> assertEquals(<span class="string">"DEBUG - foo.bar"</span>, buf.toString()); +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> buf.setLength(0); +<a name="140" href="#140">140</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="141" href="#141">141</a> fieldStart = buf.length(); +<a name="142" href="#142">142</a> buf.append(<span class="string">"bar"</span>); +<a name="143" href="#143">143</a> abbrev.abbreviate(fieldStart, buf); +<a name="144" href="#144">144</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <em>/**<em>*</em></em> +<a name="148" href="#148">148</a> <em> * Check that getAbbreviator("1.").abbreviate abbreviates non-final elements</em> +<a name="149" href="#149">149</a> <em> * to one character.</em> +<a name="150" href="#150">150</a> <em> *</em> +<a name="151" href="#151">151</a> <em> */</em> +<a name="152" href="#152">152</a> <strong>public</strong> <strong>void</strong> testOneDot() { +<a name="153" href="#153">153</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"1."</span>); +<a name="154" href="#154">154</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); +<a name="155" href="#155">155</a> <strong>int</strong> fieldStart = buf.length(); +<a name="156" href="#156">156</a> buf.append(<span class="string">"org.example.foo.bar"</span>); +<a name="157" href="#157">157</a> abbrev.abbreviate(fieldStart, buf); +<a name="158" href="#158">158</a> assertEquals(<span class="string">"DEBUG - o.e.f.bar"</span>, buf.toString()); +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> buf.setLength(0); +<a name="161" href="#161">161</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="162" href="#162">162</a> fieldStart = buf.length(); +<a name="163" href="#163">163</a> buf.append(<span class="string">"org.example.foo."</span>); +<a name="164" href="#164">164</a> abbrev.abbreviate(fieldStart, buf); +<a name="165" href="#165">165</a> assertEquals(<span class="string">"DEBUG - o.e.f."</span>, buf.toString()); +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> buf.setLength(0); +<a name="169" href="#169">169</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="170" href="#170">170</a> fieldStart = buf.length(); +<a name="171" href="#171">171</a> buf.append(<span class="string">"foo.bar"</span>); +<a name="172" href="#172">172</a> abbrev.abbreviate(fieldStart, buf); +<a name="173" href="#173">173</a> assertEquals(<span class="string">"DEBUG - f.bar"</span>, buf.toString()); +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> buf.setLength(0); +<a name="176" href="#176">176</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="177" href="#177">177</a> fieldStart = buf.length(); +<a name="178" href="#178">178</a> buf.append(<span class="string">"bar"</span>); +<a name="179" href="#179">179</a> abbrev.abbreviate(fieldStart, buf); +<a name="180" href="#180">180</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> buf.setLength(0); +<a name="183" href="#183">183</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="184" href="#184">184</a> fieldStart = buf.length(); +<a name="185" href="#185">185</a> abbrev.abbreviate(fieldStart, buf); +<a name="186" href="#186">186</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> buf.setLength(0); +<a name="189" href="#189">189</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="190" href="#190">190</a> fieldStart = buf.length(); +<a name="191" href="#191">191</a> buf.append(<span class="string">"."</span>); +<a name="192" href="#192">192</a> abbrev.abbreviate(fieldStart, buf); +<a name="193" href="#193">193</a> assertEquals(<span class="string">"DEBUG - ."</span>, buf.toString()); +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> <em>/**<em>*</em></em> +<a name="197" href="#197">197</a> <em> * Check that getAbbreviator("1~.").abbreviate abbreviates non-final elements</em> +<a name="198" href="#198">198</a> <em> * to one character and a tilde.</em> +<a name="199" href="#199">199</a> <em> *</em> +<a name="200" href="#200">200</a> <em> */</em> +<a name="201" href="#201">201</a> <strong>public</strong> <strong>void</strong> testOneTildeDot() { +<a name="202" href="#202">202</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"1~."</span>); +<a name="203" href="#203">203</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); +<a name="204" href="#204">204</a> <strong>int</strong> fieldStart = buf.length(); +<a name="205" href="#205">205</a> buf.append(<span class="string">"org.example.foo.bar"</span>); +<a name="206" href="#206">206</a> abbrev.abbreviate(fieldStart, buf); +<a name="207" href="#207">207</a> assertEquals(<span class="string">"DEBUG - o~.e~.f~.bar"</span>, buf.toString()); +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> buf.setLength(0); +<a name="210" href="#210">210</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="211" href="#211">211</a> fieldStart = buf.length(); +<a name="212" href="#212">212</a> buf.append(<span class="string">"org.example.foo."</span>); +<a name="213" href="#213">213</a> abbrev.abbreviate(fieldStart, buf); +<a name="214" href="#214">214</a> assertEquals(<span class="string">"DEBUG - o~.e~.f~."</span>, buf.toString()); +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> buf.setLength(0); +<a name="217" href="#217">217</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="218" href="#218">218</a> fieldStart = buf.length(); +<a name="219" href="#219">219</a> buf.append(<span class="string">"foo.bar"</span>); +<a name="220" href="#220">220</a> abbrev.abbreviate(fieldStart, buf); +<a name="221" href="#221">221</a> assertEquals(<span class="string">"DEBUG - f~.bar"</span>, buf.toString()); +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> buf.setLength(0); +<a name="224" href="#224">224</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="225" href="#225">225</a> fieldStart = buf.length(); +<a name="226" href="#226">226</a> buf.append(<span class="string">"bar"</span>); +<a name="227" href="#227">227</a> abbrev.abbreviate(fieldStart, buf); +<a name="228" href="#228">228</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> buf.setLength(0); +<a name="231" href="#231">231</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="232" href="#232">232</a> fieldStart = buf.length(); +<a name="233" href="#233">233</a> abbrev.abbreviate(fieldStart, buf); +<a name="234" href="#234">234</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); +<a name="235" href="#235">235</a> +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> buf.setLength(0); +<a name="238" href="#238">238</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="239" href="#239">239</a> fieldStart = buf.length(); +<a name="240" href="#240">240</a> buf.append(<span class="string">"."</span>); +<a name="241" href="#241">241</a> abbrev.abbreviate(fieldStart, buf); +<a name="242" href="#242">242</a> assertEquals(<span class="string">"DEBUG - ."</span>, buf.toString()); +<a name="243" href="#243">243</a> +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> buf.setLength(0); +<a name="246" href="#246">246</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="247" href="#247">247</a> fieldStart = buf.length(); +<a name="248" href="#248">248</a> buf.append(<span class="string">"o.e.f.bar"</span>); +<a name="249" href="#249">249</a> abbrev.abbreviate(fieldStart, buf); +<a name="250" href="#250">250</a> assertEquals(<span class="string">"DEBUG - o.e.f.bar"</span>, buf.toString()); +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> +<a name="253" href="#253">253</a> <em>/**<em>*</em></em> +<a name="254" href="#254">254</a> <em> * Check that getAbbreviator("1.*.2").abbreviate drops all but the first</em> +<a name="255" href="#255">255</a> <em> * character from the first element, uses all of the second element and</em> +<a name="256" href="#256">256</a> <em> * drops all but the first two characters of the rest of the non-final elements.</em> +<a name="257" href="#257">257</a> <em> *</em> +<a name="258" href="#258">258</a> <em> */</em> +<a name="259" href="#259">259</a> <strong>public</strong> <strong>void</strong> testMulti() { +<a name="260" href="#260">260</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"1.*.2"</span>); +<a name="261" href="#261">261</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); +<a name="262" href="#262">262</a> <strong>int</strong> fieldStart = buf.length(); +<a name="263" href="#263">263</a> buf.append(<span class="string">"org.example.foo.bar"</span>); +<a name="264" href="#264">264</a> abbrev.abbreviate(fieldStart, buf); +<a name="265" href="#265">265</a> assertEquals(<span class="string">"DEBUG - o.example.fo.bar"</span>, buf.toString()); +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> buf.setLength(0); +<a name="268" href="#268">268</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="269" href="#269">269</a> fieldStart = buf.length(); +<a name="270" href="#270">270</a> buf.append(<span class="string">"org.example.foo."</span>); +<a name="271" href="#271">271</a> abbrev.abbreviate(fieldStart, buf); +<a name="272" href="#272">272</a> assertEquals(<span class="string">"DEBUG - o.example.fo."</span>, buf.toString()); +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> buf.setLength(0); +<a name="275" href="#275">275</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="276" href="#276">276</a> fieldStart = buf.length(); +<a name="277" href="#277">277</a> buf.append(<span class="string">"foo.bar"</span>); +<a name="278" href="#278">278</a> abbrev.abbreviate(fieldStart, buf); +<a name="279" href="#279">279</a> assertEquals(<span class="string">"DEBUG - f.bar"</span>, buf.toString()); +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> buf.setLength(0); +<a name="282" href="#282">282</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="283" href="#283">283</a> fieldStart = buf.length(); +<a name="284" href="#284">284</a> buf.append(<span class="string">"bar"</span>); +<a name="285" href="#285">285</a> abbrev.abbreviate(fieldStart, buf); +<a name="286" href="#286">286</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> buf.setLength(0); +<a name="289" href="#289">289</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="290" href="#290">290</a> fieldStart = buf.length(); +<a name="291" href="#291">291</a> abbrev.abbreviate(fieldStart, buf); +<a name="292" href="#292">292</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> buf.setLength(0); +<a name="295" href="#295">295</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="296" href="#296">296</a> fieldStart = buf.length(); +<a name="297" href="#297">297</a> buf.append(<span class="string">"."</span>); +<a name="298" href="#298">298</a> abbrev.abbreviate(fieldStart, buf); +<a name="299" href="#299">299</a> assertEquals(<span class="string">"DEBUG - ."</span>, buf.toString()); +<a name="300" href="#300">300</a> } +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> <em>/**<em>*</em></em> +<a name="303" href="#303">303</a> <em> * Check that getAbbreviator("-1").abbreviate() drops first name element.</em> +<a name="304" href="#304">304</a> <em> *</em> +<a name="305" href="#305">305</a> <em> */</em> +<a name="306" href="#306">306</a> <strong>public</strong> <strong>void</strong> testMinusOne() { +<a name="307" href="#307">307</a> NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(<span class="string">"-1"</span>); +<a name="308" href="#308">308</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"DEBUG - "</span>); +<a name="309" href="#309">309</a> <strong>int</strong> fieldStart = buf.length(); +<a name="310" href="#310">310</a> buf.append(<span class="string">"org.example.foo.bar"</span>); +<a name="311" href="#311">311</a> abbrev.abbreviate(fieldStart, buf); +<a name="312" href="#312">312</a> assertEquals(<span class="string">"DEBUG - example.foo.bar"</span>, buf.toString()); +<a name="313" href="#313">313</a> +<a name="314" href="#314">314</a> buf.setLength(0); +<a name="315" href="#315">315</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="316" href="#316">316</a> fieldStart = buf.length(); +<a name="317" href="#317">317</a> buf.append(<span class="string">"bar"</span>); +<a name="318" href="#318">318</a> abbrev.abbreviate(fieldStart, buf); +<a name="319" href="#319">319</a> assertEquals(<span class="string">"DEBUG - bar"</span>, buf.toString()); +<a name="320" href="#320">320</a> +<a name="321" href="#321">321</a> buf.setLength(0); +<a name="322" href="#322">322</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="323" href="#323">323</a> fieldStart = buf.length(); +<a name="324" href="#324">324</a> abbrev.abbreviate(fieldStart, buf); +<a name="325" href="#325">325</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); +<a name="326" href="#326">326</a> +<a name="327" href="#327">327</a> buf.setLength(0); +<a name="328" href="#328">328</a> buf.append(<span class="string">"DEBUG - "</span>); +<a name="329" href="#329">329</a> fieldStart = buf.length(); +<a name="330" href="#330">330</a> buf.append(<span class="string">"."</span>); +<a name="331" href="#331">331</a> abbrev.abbreviate(fieldStart, buf); +<a name="332" href="#332">332</a> assertEquals(<span class="string">"DEBUG - "</span>, buf.toString()); +<a name="333" href="#333">333</a> +<a name="334" href="#334">334</a> } +<a name="335" href="#335">335</a> +<a name="336" href="#336">336</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/Num343PatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/Num343PatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/Num343PatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/Num343PatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/PatternParserTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/PatternParserTest.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/PatternParserTest.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/PatternParserTest.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/package-frame.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/package-frame.html index 47bd4eebecd..a212bbfcbf6 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.pattern</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.pattern</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/package-summary.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/package-summary.html index 0fc5b4c59d5..639d0cee927 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/pattern/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/pattern/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -82,6 +82,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html new file mode 100644 index 00000000000..a88bd2dcff7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html @@ -0,0 +1,147 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CompositeTriggeringPolicyTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.Assert; +<a name="21" href="#21">21</a> <strong>import</strong> junit.framework.TestCase; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.Appender; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.ConsoleAppender; +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.Level; +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.PatternLayout; +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Test CompositeTriggeringPolicy</em> +<a name="33" href="#33">33</a> <em> * </em> +<a name="34" href="#34">34</a> <em> */</em> +<a name="35" href="#35">35</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicyTest.html">CompositeTriggeringPolicyTest</a> <strong>extends</strong> TestCase { +<a name="36" href="#36">36</a> <strong>private</strong> CompositeTriggeringPolicy composite; +<a name="37" href="#37">37</a> <strong>private</strong> ConsoleAppender appender; +<a name="38" href="#38">38</a> <strong>private</strong> LoggingEvent event; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <strong>protected</strong> <strong>void</strong> setUp() throws Exception { +<a name="41" href="#41">41</a> event = <strong>new</strong> LoggingEvent(<span class="string">"Classname"</span>, Logger.getLogger(<span class="string">"Logger"</span>), System.currentTimeMillis(), Level.INFO, <span class="string">"msg"</span>, <strong>null</strong>); +<a name="42" href="#42">42</a> appender = <strong>new</strong> ConsoleAppender(<strong>new</strong> PatternLayout(<span class="string">"%d %level %c -%m%n"</span>)); +<a name="43" href="#43">43</a> composite = <strong>new</strong> CompositeTriggeringPolicy(); +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong>protected</strong> <strong>void</strong> tearDown() throws Exception { +<a name="47" href="#47">47</a> } +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong>public</strong> <strong>void</strong> testNoPolicies() { +<a name="50" href="#50">50</a> composite.activateOptions(); +<a name="51" href="#51">51</a> Assert.assertFalse(composite.isTriggeringEvent(appender, event, <span class="string">"file"</span>, 100)); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <strong>public</strong> <strong>void</strong> testOneTruePolicy() { +<a name="55" href="#55">55</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(<strong>true</strong>)); +<a name="56" href="#56">56</a> composite.activateOptions(); +<a name="57" href="#57">57</a> Assert.assertTrue(composite.isTriggeringEvent(appender, event, <span class="string">"file"</span>, 100)); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong>public</strong> <strong>void</strong> testOneFalsePolicy() { +<a name="61" href="#61">61</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(false)); +<a name="62" href="#62">62</a> composite.activateOptions(); +<a name="63" href="#63">63</a> Assert.assertFalse(composite.isTriggeringEvent(appender, event, <span class="string">"file"</span>, 100)); +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <strong>public</strong> <strong>void</strong> testAllFalsePolicies() { +<a name="67" href="#67">67</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(false)); +<a name="68" href="#68">68</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(false)); +<a name="69" href="#69">69</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(false)); +<a name="70" href="#70">70</a> composite.activateOptions(); +<a name="71" href="#71">71</a> Assert.assertFalse(composite.isTriggeringEvent(appender, event, <span class="string">"file"</span>, 100)); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <strong>public</strong> <strong>void</strong> testAllTruePolicies() { +<a name="75" href="#75">75</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(<strong>true</strong>)); +<a name="76" href="#76">76</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(<strong>true</strong>)); +<a name="77" href="#77">77</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(<strong>true</strong>)); +<a name="78" href="#78">78</a> composite.activateOptions(); +<a name="79" href="#79">79</a> Assert.assertTrue(composite.isTriggeringEvent(appender, event, <span class="string">"file"</span>, 100)); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong>public</strong> <strong>void</strong> testTrueAndFalsePolicies() { +<a name="83" href="#83">83</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(false)); +<a name="84" href="#84">84</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(false)); +<a name="85" href="#85">85</a> composite.addTriggeringPolicy(<strong>new</strong> TestTriggeringPolicy(<strong>true</strong>)); +<a name="86" href="#86">86</a> composite.activateOptions(); +<a name="87" href="#87">87</a> Assert.assertTrue(composite.isTriggeringEvent(appender, event, <span class="string">"file"</span>, 100)); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong>public</strong> <strong>void</strong> testActivateOptionsCalledByCompositeActivateOptions() { +<a name="91" href="#91">91</a> TestTriggeringPolicy policy1 = <strong>new</strong> TestTriggeringPolicy(<strong>true</strong>); +<a name="92" href="#92">92</a> TestTriggeringPolicy policy2 = <strong>new</strong> TestTriggeringPolicy(<strong>true</strong>); +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> composite.addTriggeringPolicy(policy1); +<a name="95" href="#95">95</a> composite.addTriggeringPolicy(policy2); +<a name="96" href="#96">96</a> composite.activateOptions(); +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> Assert.assertTrue(policy1.activateOptionsCalled()); +<a name="99" href="#99">99</a> Assert.assertTrue(policy2.activateOptionsCalled()); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <strong>public</strong> <strong>void</strong> testActivateOptionsNotCalledByAddTriggeringPolicy() { +<a name="103" href="#103">103</a> TestTriggeringPolicy policy1 = <strong>new</strong> TestTriggeringPolicy(<strong>true</strong>); +<a name="104" href="#104">104</a> TestTriggeringPolicy policy2 = <strong>new</strong> TestTriggeringPolicy(<strong>true</strong>); +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> composite.addTriggeringPolicy(policy1); +<a name="107" href="#107">107</a> composite.addTriggeringPolicy(policy2); +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> Assert.assertFalse(policy1.activateOptionsCalled()); +<a name="110" href="#110">110</a> Assert.assertFalse(policy2.activateOptionsCalled()); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <strong>class</strong> TestTriggeringPolicy implements TriggeringPolicy { +<a name="114" href="#114">114</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> result; +<a name="115" href="#115">115</a> <strong>private</strong> <strong>boolean</strong> activateOptionsCalled = false; +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <strong>public</strong> TestTriggeringPolicy(<strong>boolean</strong> result) { +<a name="118" href="#118">118</a> <strong>this</strong>.result = result; +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <strong>public</strong> <strong>boolean</strong> activateOptionsCalled() { +<a name="122" href="#122">122</a> <strong>return</strong> activateOptionsCalled; +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent(Appender appender, LoggingEvent event, +<a name="126" href="#126">126</a> String filename, <strong>long</strong> fileLength) { +<a name="127" href="#127">127</a> <strong>return</strong> result; +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="131" href="#131">131</a> activateOptionsCalled = <strong>true</strong>; +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/FilterBasedRollingTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/FilterBasedRollingTest.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/FilterBasedRollingTest.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/FilterBasedRollingTest.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/RenamingTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/RenamingTest.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/RenamingTest.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/RenamingTest.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/SizeBasedRollingTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/SizeBasedRollingTest.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/SizeBasedRollingTest.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/SizeBasedRollingTest.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/TimeBasedRollingTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/TimeBasedRollingTest.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/TimeBasedRollingTest.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/TimeBasedRollingTest.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html new file mode 100644 index 00000000000..8dd08dbf815 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html @@ -0,0 +1,169 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FileNamePatternTestCase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/FileNamePatternTestCase.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling.helper; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> junit.framework.TestCase; +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.rolling.RollingPolicyBase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.rolling.RolloverDescription; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> java.util.Calendar; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em>/**<em>*</em></em> +<a name="27" href="#27">27</a> <em> * Tests for FileNamePattern.</em> +<a name="28" href="#28">28</a> <em> *</em> +<a name="29" href="#29">29</a> <em> * @author Ceki</em> +<a name="30" href="#30">30</a> <em> * @author Curt Arnold</em> +<a name="31" href="#31">31</a> <em> *</em> +<a name="32" href="#32">32</a> <em> */</em> +<a name="33" href="#33">33</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html">FileNamePatternTestCase</a> <strong>extends</strong> TestCase { +<a name="34" href="#34">34</a> <em>/**<em>*</em></em> +<a name="35" href="#35">35</a> <em> * Construct new test.</em> +<a name="36" href="#36">36</a> <em> * @param name test name</em> +<a name="37" href="#37">37</a> <em> */</em> +<a name="38" href="#38">38</a> <strong>public</strong> <a href="../../../../../org/apache/log4j/rolling/helper/FileNamePatternTestCase.html">FileNamePatternTestCase</a>(<strong>final</strong> String name) { +<a name="39" href="#39">39</a> <strong>super</strong>(name); +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> FileNameTestRollingPolicy <strong>extends</strong> RollingPolicyBase { +<a name="43" href="#43">43</a> <strong>public</strong> FileNameTestRollingPolicy(<strong>final</strong> String pattern) { +<a name="44" href="#44">44</a> setFileNamePattern(pattern); +<a name="45" href="#45">45</a> parseFileNamePattern(); +<a name="46" href="#46">46</a> } +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="49" href="#49">49</a> } +<a name="50" href="#50">50</a> <strong>public</strong> RolloverDescription initialize(<strong>final</strong> String activeName, <strong>final</strong> <strong>boolean</strong> append) { +<a name="51" href="#51">51</a> <strong>return</strong> <strong>null</strong>; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> <strong>public</strong> RolloverDescription rollover(<strong>final</strong> String activeName) { +<a name="54" href="#54">54</a> <strong>return</strong> <strong>null</strong>; +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> <strong>public</strong> String format(Object obj) { +<a name="57" href="#57">57</a> StringBuffer buf = <strong>new</strong> StringBuffer(); +<a name="58" href="#58">58</a> formatFileName(obj, buf); +<a name="59" href="#59">59</a> <strong>return</strong> buf.toString(); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <strong>private</strong> <strong>void</strong> assertDatePattern(<strong>final</strong> String pattern, <strong>final</strong> <strong>int</strong> year, +<a name="64" href="#64">64</a> <strong>final</strong> <strong>int</strong> month, <strong>final</strong> <strong>int</strong> day, <strong>final</strong> <strong>int</strong> hour, <strong>final</strong> <strong>int</strong> min, +<a name="65" href="#65">65</a> <strong>final</strong> String expected) { +<a name="66" href="#66">66</a> Calendar cal = Calendar.getInstance(); +<a name="67" href="#67">67</a> cal.set(year, month, day, hour, min); +<a name="68" href="#68">68</a> FileNameTestRollingPolicy policy = <strong>new</strong> FileNameTestRollingPolicy(pattern); +<a name="69" href="#69">69</a> assertEquals(expected, +<a name="70" href="#70">70</a> policy.format(cal.getTime())); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <strong>private</strong> <strong>void</strong> assertIntegerPattern(<strong>final</strong> String pattern, <strong>final</strong> <strong>int</strong> value, +<a name="74" href="#74">74</a> <strong>final</strong> String expected) { +<a name="75" href="#75">75</a> FileNameTestRollingPolicy policy = <strong>new</strong> FileNameTestRollingPolicy(pattern); +<a name="76" href="#76">76</a> assertEquals(expected, policy.format(<strong>new</strong> Integer(value))); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong>public</strong> <strong>void</strong> testFormatInteger1() { +<a name="80" href="#80">80</a> assertIntegerPattern(<span class="string">"t"</span>, 3, <span class="string">"t"</span>); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <strong>public</strong> <strong>void</strong> testFormatInteger2() { +<a name="84" href="#84">84</a> assertIntegerPattern(<span class="string">"foo"</span>, 3, <span class="string">"foo"</span>); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <strong>public</strong> <strong>void</strong> testFormatInteger3() { +<a name="88" href="#88">88</a> assertIntegerPattern(<span class="string">"foo%"</span>, 3, <span class="string">"foo%"</span>); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong>public</strong> <strong>void</strong> testFormatInteger4() { +<a name="92" href="#92">92</a> assertIntegerPattern(<span class="string">"%ifoo"</span>, 3, <span class="string">"3foo"</span>); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <strong>public</strong> <strong>void</strong> testFormatInteger5() { +<a name="96" href="#96">96</a> assertIntegerPattern(<span class="string">"foo%ixixo"</span>, 3, <span class="string">"foo3xixo"</span>); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <strong>public</strong> <strong>void</strong> testFormatInteger6() { +<a name="100" href="#100">100</a> assertIntegerPattern(<span class="string">"foo%i.log"</span>, 3, <span class="string">"foo3.log"</span>); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <strong>public</strong> <strong>void</strong> testFormatInteger7() { +<a name="104" href="#104">104</a> assertIntegerPattern(<span class="string">"foo.%i.log"</span>, 3, <span class="string">"foo.3.log"</span>); +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <strong>public</strong> <strong>void</strong> testFormatInteger8() { +<a name="108" href="#108">108</a> assertIntegerPattern(<span class="string">"%ifoo%"</span>, 3, <span class="string">"3foo%"</span>); +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <strong>public</strong> <strong>void</strong> testFormatInteger9() { +<a name="112" href="#112">112</a> assertIntegerPattern(<span class="string">"%ifoo%%"</span>, 3, <span class="string">"3foo%"</span>); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <strong>public</strong> <strong>void</strong> testFormatInteger10() { +<a name="116" href="#116">116</a> assertIntegerPattern(<span class="string">"%%foo"</span>, 3, <span class="string">"%foo"</span>); +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <strong>public</strong> <strong>void</strong> testFormatInteger11() { +<a name="120" href="#120">120</a> assertIntegerPattern(<span class="string">"foo%ibar%i"</span>, 3, <span class="string">"foo3bar3"</span>); +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <strong>public</strong> <strong>void</strong> testFormatDate1() { +<a name="124" href="#124">124</a> assertDatePattern(<span class="string">"foo%d{yyyy.MM.dd}"</span>, 2003, 4, 20, 17, 55, +<a name="125" href="#125">125</a> <span class="string">"foo2003.05.20"</span>); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <strong>public</strong> <strong>void</strong> testFormatDate2() { +<a name="129" href="#129">129</a> assertDatePattern(<span class="string">"foo%d{yyyy.MM.dd HH:mm}"</span>, 2003, 4, 20, 17, 55, +<a name="130" href="#130">130</a> <span class="string">"foo2003.05.20 17:55"</span>); +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <strong>public</strong> <strong>void</strong> testFormatDate3() { +<a name="134" href="#134">134</a> assertDatePattern(<span class="string">"%d{yyyy.MM.dd HH:mm} foo"</span>, 2003, 4, 20, 17, 55, +<a name="135" href="#135">135</a> <span class="string">"2003.05.20 17:55 foo"</span>); +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em>/**<em>*</em></em> +<a name="139" href="#139">139</a> <em> * A %d is treated as %d{yyyy-MM-dd} if followed by a malformed format specifier.</em> +<a name="140" href="#140">140</a> <em> *</em> +<a name="141" href="#141">141</a> <em> */</em> +<a name="142" href="#142">142</a> <strong>public</strong> <strong>void</strong> testFormatDate4() { +<a name="143" href="#143">143</a> assertDatePattern(<span class="string">"foo%dyyyy.MM.dd}"</span>, 2003, 4, 20, 17, 55, +<a name="144" href="#144">144</a> <span class="string">"foo2003-05-20yyyy.MM.dd}"</span>); +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <em>/**<em>*</em></em> +<a name="148" href="#148">148</a> <em> * A %d is treated as %d{yyyy-MM-dd} if followed by a malformed format specifier.</em> +<a name="149" href="#149">149</a> <em> *</em> +<a name="150" href="#150">150</a> <em> */</em> +<a name="151" href="#151">151</a> <strong>public</strong> <strong>void</strong> testFormatDate5() { +<a name="152" href="#152">152</a> assertDatePattern(<span class="string">"foo%d{yyyy.MM.dd"</span>, 2003, 4, 20, 17, 55, +<a name="153" href="#153">153</a> <span class="string">"foo2003-05-20{yyyy.MM.dd"</span>); +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/helper/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/helper/package-frame.html similarity index 83% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/helper/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/helper/package-frame.html index bb7e8836a29..f664ff75e4f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/helper/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/helper/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.rolling.helper</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.rolling.helper</title> <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/helper/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/helper/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/helper/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/helper/package-summary.html index 99b1676fa7f..fcc74ae6b23 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/helper/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/helper/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> </head> <body> @@ -62,6 +62,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/package-frame.html similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/package-frame.html index 3f0089e5d5e..42144d7c84f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.rolling</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.rolling</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -16,6 +16,9 @@ <ul> <li> + <a href="CompositeTriggeringPolicyTest.html" target="classFrame">CompositeTriggeringPolicyTest</a> + </li> + <li> <a href="FilterBasedRollingTest.html" target="classFrame">FilterBasedRollingTest</a> </li> <li> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/package-summary.html similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/package-summary.html index 5840df60ab8..ba1ec6cbecc 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/rolling/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rolling/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -36,6 +36,11 @@ </thead> <tbody> <tr> + <td> + <a href="CompositeTriggeringPolicyTest.html" target="classFrame">CompositeTriggeringPolicyTest</a> + </td> + </tr> + <tr> <td> <a href="FilterBasedRollingTest.html" target="classFrame">FilterBasedRollingTest</a> </td> @@ -77,6 +82,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/AndRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/AndRuleTest.html new file mode 100644 index 00000000000..231928550c2 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/AndRuleTest.html @@ -0,0 +1,167 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AndRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/AndRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> java.io.IOException; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Calendar; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.GregorianCalendar; +<a name="29" href="#29">29</a> <strong>import</strong> java.util.Stack; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Test for AndRule.</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/AndRuleTest.html">AndRuleTest</a> <strong>extends</strong> TestCase { +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em>/**<em>*</em></em> +<a name="37" href="#37">37</a> <em> * Create new test.</em> +<a name="38" href="#38">38</a> <em> *</em> +<a name="39" href="#39">39</a> <em> * @param testName test name.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/AndRuleTest.html">AndRuleTest</a>(<strong>final</strong> String testName) { +<a name="42" href="#42">42</a> <strong>super</strong>(testName); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em>/**<em>*</em></em> +<a name="46" href="#46">46</a> <em> * AndRule.getRule(Stack) throws exception if only one rule provided.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="49" href="#49">49</a> Stack stack = <strong>new</strong> Stack(); +<a name="50" href="#50">50</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="51" href="#51">51</a> <strong>try</strong> { +<a name="52" href="#52">52</a> AndRule.getRule(stack); +<a name="53" href="#53">53</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="54" href="#54">54</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em>/**<em>*</em></em> +<a name="59" href="#59">59</a> <em> * AndRule.getRule(Stack) throws exception if non-rules are provided.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="62" href="#62">62</a> Stack stack = <strong>new</strong> Stack(); +<a name="63" href="#63">63</a> stack.push(<span class="string">"Hello"</span>); +<a name="64" href="#64">64</a> stack.push(<span class="string">"World"</span>); +<a name="65" href="#65">65</a> <strong>try</strong> { +<a name="66" href="#66">66</a> AndRule.getRule(stack); +<a name="67" href="#67">67</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="68" href="#68">68</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em>/**<em>*</em></em> +<a name="73" href="#73">73</a> <em> * Test And of Level and Time.</em> +<a name="74" href="#74">74</a> <em> */</em> +<a name="75" href="#75">75</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="76" href="#76">76</a> Stack stack = <strong>new</strong> Stack(); +<a name="77" href="#77">77</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="78" href="#78">78</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2008/05/21 00:44:45"</span>)); +<a name="79" href="#79">79</a> Rule rule = AndRule.getRule(stack); +<a name="80" href="#80">80</a> assertEquals(0, stack.size()); +<a name="81" href="#81">81</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="82" href="#82">82</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="83" href="#83">83</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="84" href="#84">84</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="85" href="#85">85</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em>/**<em>*</em></em> +<a name="89" href="#89">89</a> <em> * Test And of Level and Time when Level does not match.</em> +<a name="90" href="#90">90</a> <em> */</em> +<a name="91" href="#91">91</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="92" href="#92">92</a> Stack stack = <strong>new</strong> Stack(); +<a name="93" href="#93">93</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="94" href="#94">94</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2008/05/21 00:44:45"</span>)); +<a name="95" href="#95">95</a> Rule rule = AndRule.getRule(stack); +<a name="96" href="#96">96</a> assertEquals(0, stack.size()); +<a name="97" href="#97">97</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="98" href="#98">98</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="99" href="#99">99</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, +<a name="100" href="#100">100</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="101" href="#101">101</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em>/**<em>*</em></em> +<a name="105" href="#105">105</a> <em> * Test And of Level and Time when Time does not match.</em> +<a name="106" href="#106">106</a> <em> */</em> +<a name="107" href="#107">107</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="108" href="#108">108</a> Stack stack = <strong>new</strong> Stack(); +<a name="109" href="#109">109</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="110" href="#110">110</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2009/05/21 00:44:45"</span>)); +<a name="111" href="#111">111</a> Rule rule = AndRule.getRule(stack); +<a name="112" href="#112">112</a> assertEquals(0, stack.size()); +<a name="113" href="#113">113</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="114" href="#114">114</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="115" href="#115">115</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="116" href="#116">116</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="117" href="#117">117</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em>/**<em>*</em></em> +<a name="122" href="#122">122</a> <em> * Test deserialized And.</em> +<a name="123" href="#123">123</a> <em> */</em> +<a name="124" href="#124">124</a> <strong>public</strong> <strong>void</strong> test6() throws IOException, ClassNotFoundException { +<a name="125" href="#125">125</a> Stack stack = <strong>new</strong> Stack(); +<a name="126" href="#126">126</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="127" href="#127">127</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2008/05/21 00:44:45"</span>)); +<a name="128" href="#128">128</a> Rule rule = (Rule) SerializationTestHelper.serializeClone(AndRule.getRule(stack)); +<a name="129" href="#129">129</a> assertEquals(0, stack.size()); +<a name="130" href="#130">130</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="131" href="#131">131</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="132" href="#132">132</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="133" href="#133">133</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="134" href="#134">134</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <em>/**<em>*</em></em> +<a name="139" href="#139">139</a> <em> * Test deserialized And when Level doesn't match.</em> +<a name="140" href="#140">140</a> <em> */</em> +<a name="141" href="#141">141</a> <strong>public</strong> <strong>void</strong> test7() throws IOException, ClassNotFoundException { +<a name="142" href="#142">142</a> Stack stack = <strong>new</strong> Stack(); +<a name="143" href="#143">143</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="144" href="#144">144</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2008/05/21 00:44:45"</span>)); +<a name="145" href="#145">145</a> Rule rule = (Rule) SerializationTestHelper.serializeClone(AndRule.getRule(stack)); +<a name="146" href="#146">146</a> assertEquals(0, stack.size()); +<a name="147" href="#147">147</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="148" href="#148">148</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="149" href="#149">149</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, +<a name="150" href="#150">150</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="151" href="#151">151</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/EqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/EqualsRuleTest.html new file mode 100644 index 00000000000..5af4b7c1bcd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/EqualsRuleTest.html @@ -0,0 +1,163 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>EqualsRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/EqualsRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> java.io.IOException; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Calendar; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.GregorianCalendar; +<a name="29" href="#29">29</a> <strong>import</strong> java.util.Stack; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Test for EqualsRule.</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/EqualsRuleTest.html">EqualsRuleTest</a> <strong>extends</strong> TestCase { +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em>/**<em>*</em></em> +<a name="37" href="#37">37</a> <em> * Create new test.</em> +<a name="38" href="#38">38</a> <em> *</em> +<a name="39" href="#39">39</a> <em> * @param testName test name.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/EqualsRuleTest.html">EqualsRuleTest</a>(<strong>final</strong> String testName) { +<a name="42" href="#42">42</a> <strong>super</strong>(testName); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em>/**<em>*</em></em> +<a name="46" href="#46">46</a> <em> * getRule() with only one entry on stack should throw IllegalArgumentException.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="49" href="#49">49</a> Stack stack = <strong>new</strong> Stack(); +<a name="50" href="#50">50</a> stack.push(<span class="string">"Hello"</span>); +<a name="51" href="#51">51</a> <strong>try</strong> { +<a name="52" href="#52">52</a> EqualsRule.getRule(stack); +<a name="53" href="#53">53</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="54" href="#54">54</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em>/**<em>*</em></em> +<a name="59" href="#59">59</a> <em> * getRule() with bad field name should throw IllegalArgumentException.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="62" href="#62">62</a> Stack stack = <strong>new</strong> Stack(); +<a name="63" href="#63">63</a> stack.push(<span class="string">"Hello"</span>); +<a name="64" href="#64">64</a> stack.push(<span class="string">"World"</span>); +<a name="65" href="#65">65</a> <strong>try</strong> { +<a name="66" href="#66">66</a> EqualsRule.getRule(stack); +<a name="67" href="#67">67</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="68" href="#68">68</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em>/**<em>*</em></em> +<a name="73" href="#73">73</a> <em> * getRule with "level" and "info" should return a LevelEqualsRule.</em> +<a name="74" href="#74">74</a> <em> */</em> +<a name="75" href="#75">75</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="76" href="#76">76</a> Stack stack = <strong>new</strong> Stack(); +<a name="77" href="#77">77</a> stack.push(<span class="string">"level"</span>); +<a name="78" href="#78">78</a> stack.push(<span class="string">"info"</span>); +<a name="79" href="#79">79</a> Rule rule = EqualsRule.getRule(stack); +<a name="80" href="#80">80</a> assertEquals(0, stack.size()); +<a name="81" href="#81">81</a> assertTrue(rule instanceof LevelEqualsRule); +<a name="82" href="#82">82</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="83" href="#83">83</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="84" href="#84">84</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="85" href="#85">85</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em>/**<em>*</em></em> +<a name="89" href="#89">89</a> <em> * getRule with "timestamp" and time should return a TimestampEqualsRule.</em> +<a name="90" href="#90">90</a> <em> */</em> +<a name="91" href="#91">91</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="92" href="#92">92</a> Stack stack = <strong>new</strong> Stack(); +<a name="93" href="#93">93</a> stack.push(<span class="string">"timestamp"</span>); +<a name="94" href="#94">94</a> stack.push(<span class="string">"2008/05/21 00:45:44"</span>); +<a name="95" href="#95">95</a> Rule rule = EqualsRule.getRule(stack); +<a name="96" href="#96">96</a> assertEquals(0, stack.size()); +<a name="97" href="#97">97</a> assertTrue(rule instanceof TimestampEqualsRule); +<a name="98" href="#98">98</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="99" href="#99">99</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="100" href="#100">100</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="101" href="#101">101</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="102" href="#102">102</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em>/**<em>*</em></em> +<a name="106" href="#106">106</a> <em> * getRule with "msg" should return an EqualsRule.</em> +<a name="107" href="#107">107</a> <em> */</em> +<a name="108" href="#108">108</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="109" href="#109">109</a> Stack stack = <strong>new</strong> Stack(); +<a name="110" href="#110">110</a> stack.push(<span class="string">"msg"</span>); +<a name="111" href="#111">111</a> stack.push(<span class="string">"Hello, World"</span>); +<a name="112" href="#112">112</a> Rule rule = EqualsRule.getRule(stack); +<a name="113" href="#113">113</a> assertEquals(0, stack.size()); +<a name="114" href="#114">114</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="115" href="#115">115</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="116" href="#116">116</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="117" href="#117">117</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em>/**<em>*</em></em> +<a name="121" href="#121">121</a> <em> * getRule with "msg" should return an EqualsRule.</em> +<a name="122" href="#122">122</a> <em> */</em> +<a name="123" href="#123">123</a> <strong>public</strong> <strong>void</strong> test6() { +<a name="124" href="#124">124</a> Stack stack = <strong>new</strong> Stack(); +<a name="125" href="#125">125</a> stack.push(<span class="string">"msg"</span>); +<a name="126" href="#126">126</a> stack.push(<span class="string">"Bonjour, Monde"</span>); +<a name="127" href="#127">127</a> Rule rule = EqualsRule.getRule(stack); +<a name="128" href="#128">128</a> assertEquals(0, stack.size()); +<a name="129" href="#129">129</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="130" href="#130">130</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="131" href="#131">131</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="132" href="#132">132</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em>/**<em>*</em></em> +<a name="136" href="#136">136</a> <em> * Check EqualsRule serialization.</em> +<a name="137" href="#137">137</a> <em> */</em> +<a name="138" href="#138">138</a> <strong>public</strong> <strong>void</strong> test7() throws IOException, ClassNotFoundException { +<a name="139" href="#139">139</a> Stack stack = <strong>new</strong> Stack(); +<a name="140" href="#140">140</a> stack.push(<span class="string">"msg"</span>); +<a name="141" href="#141">141</a> stack.push(<span class="string">"Hello, World"</span>); +<a name="142" href="#142">142</a> Rule rule = (Rule) SerializationTestHelper.serializeClone(EqualsRule.getRule(stack)); +<a name="143" href="#143">143</a> assertEquals(0, stack.size()); +<a name="144" href="#144">144</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="145" href="#145">145</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="146" href="#146">146</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="147" href="#147">147</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/ExistsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/ExistsRuleTest.html new file mode 100644 index 00000000000..27b03cd3a88 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/ExistsRuleTest.html @@ -0,0 +1,123 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ExistsRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/ExistsRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> java.io.IOException; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Stack; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * Test for ExistsRule.</em> +<a name="31" href="#31">31</a> <em> */</em> +<a name="32" href="#32">32</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/ExistsRuleTest.html">ExistsRuleTest</a> <strong>extends</strong> TestCase { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em>/**<em>*</em></em> +<a name="35" href="#35">35</a> <em> * Create new test.</em> +<a name="36" href="#36">36</a> <em> *</em> +<a name="37" href="#37">37</a> <em> * @param testName test name.</em> +<a name="38" href="#38">38</a> <em> */</em> +<a name="39" href="#39">39</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/ExistsRuleTest.html">ExistsRuleTest</a>(<strong>final</strong> String testName) { +<a name="40" href="#40">40</a> <strong>super</strong>(testName); +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * getRule() with no entry on stack should throw IllegalArgumentException.</em> +<a name="45" href="#45">45</a> <em> */</em> +<a name="46" href="#46">46</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="47" href="#47">47</a> Stack stack = <strong>new</strong> Stack(); +<a name="48" href="#48">48</a> <strong>try</strong> { +<a name="49" href="#49">49</a> ExistsRule.getRule(stack); +<a name="50" href="#50">50</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="51" href="#51">51</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em>/**<em>*</em></em> +<a name="56" href="#56">56</a> <em> * getRule() with bad field name should throw IllegalArgumentException.</em> +<a name="57" href="#57">57</a> <em> */</em> +<a name="58" href="#58">58</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="59" href="#59">59</a> Stack stack = <strong>new</strong> Stack(); +<a name="60" href="#60">60</a> stack.push(<span class="string">"Hello"</span>); +<a name="61" href="#61">61</a> <strong>try</strong> { +<a name="62" href="#62">62</a> ExistsRule.getRule(stack); +<a name="63" href="#63">63</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="64" href="#64">64</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em>/**<em>*</em></em> +<a name="69" href="#69">69</a> <em> * getRule with "msg".</em> +<a name="70" href="#70">70</a> <em> */</em> +<a name="71" href="#71">71</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="72" href="#72">72</a> Stack stack = <strong>new</strong> Stack(); +<a name="73" href="#73">73</a> stack.push(<span class="string">"msg"</span>); +<a name="74" href="#74">74</a> Rule rule = ExistsRule.getRule(stack); +<a name="75" href="#75">75</a> assertEquals(0, stack.size()); +<a name="76" href="#76">76</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="77" href="#77">77</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="78" href="#78">78</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="79" href="#79">79</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em>/**<em>*</em></em> +<a name="83" href="#83">83</a> <em> * getRule with "msg".</em> +<a name="84" href="#84">84</a> <em> */</em> +<a name="85" href="#85">85</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="86" href="#86">86</a> Stack stack = <strong>new</strong> Stack(); +<a name="87" href="#87">87</a> stack.push(<span class="string">"msg"</span>); +<a name="88" href="#88">88</a> Rule rule = ExistsRule.getRule(stack); +<a name="89" href="#89">89</a> assertEquals(0, stack.size()); +<a name="90" href="#90">90</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="91" href="#91">91</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="92" href="#92">92</a> <span class="string">""</span>, <strong>null</strong>); +<a name="93" href="#93">93</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em>/**<em>*</em></em> +<a name="97" href="#97">97</a> <em> * getRule with "msg".</em> +<a name="98" href="#98">98</a> <em> */</em> +<a name="99" href="#99">99</a> <strong>public</strong> <strong>void</strong> test5() throws IOException, ClassNotFoundException { +<a name="100" href="#100">100</a> Stack stack = <strong>new</strong> Stack(); +<a name="101" href="#101">101</a> stack.push(<span class="string">"msg"</span>); +<a name="102" href="#102">102</a> Rule rule = (Rule) SerializationTestHelper.serializeClone(ExistsRule.getRule(stack)); +<a name="103" href="#103">103</a> assertEquals(0, stack.size()); +<a name="104" href="#104">104</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="105" href="#105">105</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="106" href="#106">106</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="107" href="#107">107</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/LevelEqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/LevelEqualsRuleTest.html new file mode 100644 index 00000000000..3f0748a77bb --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/LevelEqualsRuleTest.html @@ -0,0 +1,148 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LevelEqualsRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/LevelEqualsRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.helpers.UtilLoggingLevel; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong>import</strong> java.io.IOException; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * Test for LevelEqualsRule.</em> +<a name="31" href="#31">31</a> <em> */</em> +<a name="32" href="#32">32</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html">LevelEqualsRuleTest</a> <strong>extends</strong> TestCase { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em>/**<em>*</em></em> +<a name="35" href="#35">35</a> <em> * Create new test.</em> +<a name="36" href="#36">36</a> <em> *</em> +<a name="37" href="#37">37</a> <em> * @param testName test name.</em> +<a name="38" href="#38">38</a> <em> */</em> +<a name="39" href="#39">39</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/LevelEqualsRuleTest.html">LevelEqualsRuleTest</a>(<strong>final</strong> String testName) { +<a name="40" href="#40">40</a> <strong>super</strong>(testName); +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * Tests evaluate when levels are equal.</em> +<a name="45" href="#45">45</a> <em> */</em> +<a name="46" href="#46">46</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="47" href="#47">47</a> LevelEqualsRule rule = (LevelEqualsRule) LevelEqualsRule.getRule(<span class="string">"info"</span>); +<a name="48" href="#48">48</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="49" href="#49">49</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="50" href="#50">50</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="51" href="#51">51</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em>/**<em>*</em></em> +<a name="55" href="#55">55</a> <em> * Tests evaluate when levels are not equal.</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="58" href="#58">58</a> LevelEqualsRule rule = (LevelEqualsRule) LevelEqualsRule.getRule(<span class="string">"info"</span>); +<a name="59" href="#59">59</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="60" href="#60">60</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.WARN, +<a name="61" href="#61">61</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="62" href="#62">62</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em>/**<em>*</em></em> +<a name="66" href="#66">66</a> <em> * Tests evaluate of a deserialized clone when levels are equal.</em> +<a name="67" href="#67">67</a> <em> */</em> +<a name="68" href="#68">68</a> <strong>public</strong> <strong>void</strong> test3() throws IOException, ClassNotFoundException { +<a name="69" href="#69">69</a> LevelEqualsRule rule = (LevelEqualsRule) +<a name="70" href="#70">70</a> SerializationTestHelper.serializeClone(LevelEqualsRule.getRule(<span class="string">"info"</span>)); +<a name="71" href="#71">71</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="72" href="#72">72</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="73" href="#73">73</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="74" href="#74">74</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em>/**<em>*</em></em> +<a name="78" href="#78">78</a> <em> * Tests evaluate of a deserialized clone when levels are not equal.</em> +<a name="79" href="#79">79</a> <em> */</em> +<a name="80" href="#80">80</a> <strong>public</strong> <strong>void</strong> test4() throws IOException, ClassNotFoundException { +<a name="81" href="#81">81</a> LevelEqualsRule rule = (LevelEqualsRule) +<a name="82" href="#82">82</a> SerializationTestHelper.serializeClone(LevelEqualsRule.getRule(<span class="string">"info"</span>)); +<a name="83" href="#83">83</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="84" href="#84">84</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.WARN, +<a name="85" href="#85">85</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="86" href="#86">86</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em>/**<em>*</em></em> +<a name="90" href="#90">90</a> <em> * Tests evaluate when levels are JDK 1.4 levels and equal.</em> +<a name="91" href="#91">91</a> <em> */</em> +<a name="92" href="#92">92</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="93" href="#93">93</a> LevelEqualsRule rule = (LevelEqualsRule) LevelEqualsRule.getRule(<span class="string">"finer"</span>); +<a name="94" href="#94">94</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="95" href="#95">95</a> Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, +<a name="96" href="#96">96</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="97" href="#97">97</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em>/**<em>*</em></em> +<a name="101" href="#101">101</a> <em> * Tests evaluate when levels are JDK 1.4 levels and not equal.</em> +<a name="102" href="#102">102</a> <em> */</em> +<a name="103" href="#103">103</a> <strong>public</strong> <strong>void</strong> test6() { +<a name="104" href="#104">104</a> LevelEqualsRule rule = (LevelEqualsRule) LevelEqualsRule.getRule(<span class="string">"finer"</span>); +<a name="105" href="#105">105</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="106" href="#106">106</a> Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINE, +<a name="107" href="#107">107</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="108" href="#108">108</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em>/**<em>*</em></em> +<a name="112" href="#112">112</a> <em> * Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and equal.</em> +<a name="113" href="#113">113</a> <em> */</em> +<a name="114" href="#114">114</a> <strong>public</strong> <strong>void</strong> test7() throws IOException, ClassNotFoundException { +<a name="115" href="#115">115</a> LevelEqualsRule rule = (LevelEqualsRule) +<a name="116" href="#116">116</a> SerializationTestHelper.serializeClone(LevelEqualsRule.getRule(<span class="string">"finer"</span>)); +<a name="117" href="#117">117</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="118" href="#118">118</a> Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, +<a name="119" href="#119">119</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="120" href="#120">120</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <em>/**<em>*</em></em> +<a name="124" href="#124">124</a> <em> * Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and not equal.</em> +<a name="125" href="#125">125</a> <em> */</em> +<a name="126" href="#126">126</a> <strong>public</strong> <strong>void</strong> test8() throws IOException, ClassNotFoundException { +<a name="127" href="#127">127</a> LevelEqualsRule rule = (LevelEqualsRule) +<a name="128" href="#128">128</a> SerializationTestHelper.serializeClone(LevelEqualsRule.getRule(<span class="string">"finer"</span>)); +<a name="129" href="#129">129</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="130" href="#130">130</a> Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINE, +<a name="131" href="#131">131</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="132" href="#132">132</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/LevelInequalityRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/LevelInequalityRuleTest.html new file mode 100644 index 00000000000..503d675a6cf --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/LevelInequalityRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LevelInequalityRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/LevelInequalityRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.helpers.UtilLoggingLevel; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong>import</strong> java.io.IOException; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * Test for LevelInequalityRule.</em> +<a name="31" href="#31">31</a> <em> */</em> +<a name="32" href="#32">32</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html">LevelInequalityRuleTest</a> <strong>extends</strong> TestCase { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em>/**<em>*</em></em> +<a name="35" href="#35">35</a> <em> * Create new test.</em> +<a name="36" href="#36">36</a> <em> *</em> +<a name="37" href="#37">37</a> <em> * @param testName test name.</em> +<a name="38" href="#38">38</a> <em> */</em> +<a name="39" href="#39">39</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/LevelInequalityRuleTest.html">LevelInequalityRuleTest</a>(<strong>final</strong> String testName) { +<a name="40" href="#40">40</a> <strong>super</strong>(testName); +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * Test construction when level is unrecognized.</em> +<a name="45" href="#45">45</a> <em> */</em> +<a name="46" href="#46">46</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="47" href="#47">47</a> <strong>try</strong> { +<a name="48" href="#48">48</a> LevelInequalityRule.getRule(<span class="string">">"</span>, <span class="string">"emergency"</span>); +<a name="49" href="#49">49</a> fail(<span class="string">"Expected IllegalArgumentException"</span>); +<a name="50" href="#50">50</a> } <strong>catch</strong>(IllegalArgumentException ex) { +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em>/**<em>*</em></em> +<a name="55" href="#55">55</a> <em> * Tests construction when operator is unrecognized.</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="58" href="#58">58</a> Rule rule = LevelInequalityRule.getRule(<span class="string">"~"</span>, <span class="string">"iNfO"</span>); +<a name="59" href="#59">59</a> assertNull(rule); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em>/**<em>*</em></em> +<a name="63" href="#63">63</a> <em> * Tests evaluate of a deserialized clone when level satisfies rule.</em> +<a name="64" href="#64">64</a> <em> */</em> +<a name="65" href="#65">65</a> <strong>public</strong> <strong>void</strong> test3() throws IOException, ClassNotFoundException { +<a name="66" href="#66">66</a> Rule rule = (Rule) +<a name="67" href="#67">67</a> SerializationTestHelper.serializeClone(LevelInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"info"</span>)); +<a name="68" href="#68">68</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="69" href="#69">69</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="70" href="#70">70</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="71" href="#71">71</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> +<a name="74" href="#74">74</a> <em>/**<em>*</em></em> +<a name="75" href="#75">75</a> <em> * Tests evaluate of a deserialized clone when level does not satisfy rule.</em> +<a name="76" href="#76">76</a> <em> */</em> +<a name="77" href="#77">77</a> <strong>public</strong> <strong>void</strong> test4() throws IOException, ClassNotFoundException { +<a name="78" href="#78">78</a> Rule rule = (Rule) +<a name="79" href="#79">79</a> SerializationTestHelper.serializeClone(LevelInequalityRule.getRule(<span class="string">"&lt;"</span>, <span class="string">"info"</span>)); +<a name="80" href="#80">80</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="81" href="#81">81</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="82" href="#82">82</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="83" href="#83">83</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em>/**<em>*</em></em> +<a name="87" href="#87">87</a> <em> * Tests evaluate when levels are JDK 1.4 levels and satisified.</em> +<a name="88" href="#88">88</a> <em> */</em> +<a name="89" href="#89">89</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="90" href="#90">90</a> Rule rule = (Rule) LevelInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"finer"</span>); +<a name="91" href="#91">91</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="92" href="#92">92</a> Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, +<a name="93" href="#93">93</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="94" href="#94">94</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em>/**<em>*</em></em> +<a name="98" href="#98">98</a> <em> * Tests evaluate when levels are JDK 1.4 levels and not equal.</em> +<a name="99" href="#99">99</a> <em> */</em> +<a name="100" href="#100">100</a> <strong>public</strong> <strong>void</strong> test6() { +<a name="101" href="#101">101</a> Rule rule = (Rule) LevelInequalityRule.getRule(<span class="string">"&lt;"</span>, <span class="string">"finer"</span>); +<a name="102" href="#102">102</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="103" href="#103">103</a> Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, +<a name="104" href="#104">104</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="105" href="#105">105</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em>/**<em>*</em></em> +<a name="109" href="#109">109</a> <em> * Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and satisified.</em> +<a name="110" href="#110">110</a> <em> */</em> +<a name="111" href="#111">111</a> <strong>public</strong> <strong>void</strong> test7() throws IOException, ClassNotFoundException { +<a name="112" href="#112">112</a> Rule rule = (Rule) +<a name="113" href="#113">113</a> SerializationTestHelper.serializeClone(LevelInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"finer"</span>)); +<a name="114" href="#114">114</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="115" href="#115">115</a> Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, +<a name="116" href="#116">116</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="117" href="#117">117</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em>/**<em>*</em></em> +<a name="121" href="#121">121</a> <em> * Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and not satified.</em> +<a name="122" href="#122">122</a> <em> */</em> +<a name="123" href="#123">123</a> <strong>public</strong> <strong>void</strong> test8() throws IOException, ClassNotFoundException { +<a name="124" href="#124">124</a> Rule rule = (Rule) +<a name="125" href="#125">125</a> SerializationTestHelper.serializeClone(LevelInequalityRule.getRule(<span class="string">"&lt;"</span>, <span class="string">"finer"</span>)); +<a name="126" href="#126">126</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="127" href="#127">127</a> Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, +<a name="128" href="#128">128</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="129" href="#129">129</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/NotEqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/NotEqualsRuleTest.html new file mode 100644 index 00000000000..cef435f3f35 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/NotEqualsRuleTest.html @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NotEqualsRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/NotEqualsRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> java.io.IOException; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Calendar; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.GregorianCalendar; +<a name="29" href="#29">29</a> <strong>import</strong> java.util.Stack; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Test for NotEqualsRule.</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html">NotEqualsRuleTest</a> <strong>extends</strong> TestCase { +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em>/**<em>*</em></em> +<a name="37" href="#37">37</a> <em> * Create new test.</em> +<a name="38" href="#38">38</a> <em> *</em> +<a name="39" href="#39">39</a> <em> * @param testName test name.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/NotEqualsRuleTest.html">NotEqualsRuleTest</a>(<strong>final</strong> String testName) { +<a name="42" href="#42">42</a> <strong>super</strong>(testName); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em>/**<em>*</em></em> +<a name="46" href="#46">46</a> <em> * getRule() with only one entry on stack should throw IllegalArgumentException.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="49" href="#49">49</a> Stack stack = <strong>new</strong> Stack(); +<a name="50" href="#50">50</a> stack.push(<span class="string">"Hello"</span>); +<a name="51" href="#51">51</a> <strong>try</strong> { +<a name="52" href="#52">52</a> NotEqualsRule.getRule(stack); +<a name="53" href="#53">53</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="54" href="#54">54</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em>/**<em>*</em></em> +<a name="59" href="#59">59</a> <em> * getRule() with bad field name should throw IllegalArgumentException.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="62" href="#62">62</a> Stack stack = <strong>new</strong> Stack(); +<a name="63" href="#63">63</a> stack.push(<span class="string">"Hello"</span>); +<a name="64" href="#64">64</a> stack.push(<span class="string">"World"</span>); +<a name="65" href="#65">65</a> <strong>try</strong> { +<a name="66" href="#66">66</a> NotEqualsRule.getRule(stack); +<a name="67" href="#67">67</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="68" href="#68">68</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em>/**<em>*</em></em> +<a name="73" href="#73">73</a> <em> * getRule with "level" and "info".</em> +<a name="74" href="#74">74</a> <em> */</em> +<a name="75" href="#75">75</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="76" href="#76">76</a> Stack stack = <strong>new</strong> Stack(); +<a name="77" href="#77">77</a> stack.push(<span class="string">"level"</span>); +<a name="78" href="#78">78</a> stack.push(<span class="string">"info"</span>); +<a name="79" href="#79">79</a> Rule rule = NotEqualsRule.getRule(stack); +<a name="80" href="#80">80</a> assertEquals(0, stack.size()); +<a name="81" href="#81">81</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="82" href="#82">82</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.WARN, +<a name="83" href="#83">83</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="84" href="#84">84</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em>/**<em>*</em></em> +<a name="88" href="#88">88</a> <em> * getRule with "timestamp" and time.</em> +<a name="89" href="#89">89</a> <em> */</em> +<a name="90" href="#90">90</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="91" href="#91">91</a> Stack stack = <strong>new</strong> Stack(); +<a name="92" href="#92">92</a> stack.push(<span class="string">"timestamp"</span>); +<a name="93" href="#93">93</a> stack.push(<span class="string">"2008/05/21 00:45:44"</span>); +<a name="94" href="#94">94</a> Rule rule = NotEqualsRule.getRule(stack); +<a name="95" href="#95">95</a> assertEquals(0, stack.size()); +<a name="96" href="#96">96</a> Calendar cal = <strong>new</strong> GregorianCalendar(2009, 04, 21, 00, 45, 44); +<a name="97" href="#97">97</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="98" href="#98">98</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="99" href="#99">99</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="100" href="#100">100</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> <em>/**<em>*</em></em> +<a name="104" href="#104">104</a> <em> * getRule with "msg".</em> +<a name="105" href="#105">105</a> <em> */</em> +<a name="106" href="#106">106</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="107" href="#107">107</a> Stack stack = <strong>new</strong> Stack(); +<a name="108" href="#108">108</a> stack.push(<span class="string">"msg"</span>); +<a name="109" href="#109">109</a> stack.push(<span class="string">"Hello, World"</span>); +<a name="110" href="#110">110</a> Rule rule = NotEqualsRule.getRule(stack); +<a name="111" href="#111">111</a> assertEquals(0, stack.size()); +<a name="112" href="#112">112</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="113" href="#113">113</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="114" href="#114">114</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="115" href="#115">115</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em>/**<em>*</em></em> +<a name="119" href="#119">119</a> <em> * getRule with "msg".</em> +<a name="120" href="#120">120</a> <em> */</em> +<a name="121" href="#121">121</a> <strong>public</strong> <strong>void</strong> test6() { +<a name="122" href="#122">122</a> Stack stack = <strong>new</strong> Stack(); +<a name="123" href="#123">123</a> stack.push(<span class="string">"msg"</span>); +<a name="124" href="#124">124</a> stack.push(<span class="string">"Bonjour, Monde"</span>); +<a name="125" href="#125">125</a> Rule rule = NotEqualsRule.getRule(stack); +<a name="126" href="#126">126</a> assertEquals(0, stack.size()); +<a name="127" href="#127">127</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="128" href="#128">128</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="129" href="#129">129</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="130" href="#130">130</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em>/**<em>*</em></em> +<a name="134" href="#134">134</a> <em> * Check NotEqualsRule serialization.</em> +<a name="135" href="#135">135</a> <em> */</em> +<a name="136" href="#136">136</a> <strong>public</strong> <strong>void</strong> test7() throws IOException, ClassNotFoundException { +<a name="137" href="#137">137</a> Stack stack = <strong>new</strong> Stack(); +<a name="138" href="#138">138</a> stack.push(<span class="string">"msg"</span>); +<a name="139" href="#139">139</a> stack.push(<span class="string">"Hello, World"</span>); +<a name="140" href="#140">140</a> Rule rule = (Rule) SerializationTestHelper.serializeClone(NotEqualsRule.getRule(stack)); +<a name="141" href="#141">141</a> assertEquals(0, stack.size()); +<a name="142" href="#142">142</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="143" href="#143">143</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="144" href="#144">144</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="145" href="#145">145</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/NotRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/NotRuleTest.html new file mode 100644 index 00000000000..9f794221728 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/NotRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NotRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/NotRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> java.io.IOException; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Calendar; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.GregorianCalendar; +<a name="29" href="#29">29</a> <strong>import</strong> java.util.Stack; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Test for NotRule.</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/NotRuleTest.html">NotRuleTest</a> <strong>extends</strong> TestCase { +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em>/**<em>*</em></em> +<a name="37" href="#37">37</a> <em> * Create new test.</em> +<a name="38" href="#38">38</a> <em> *</em> +<a name="39" href="#39">39</a> <em> * @param testName test name.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/NotRuleTest.html">NotRuleTest</a>(<strong>final</strong> String testName) { +<a name="42" href="#42">42</a> <strong>super</strong>(testName); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em>/**<em>*</em></em> +<a name="46" href="#46">46</a> <em> * NotRule.getRule(Stack) throws exception if only one rule provided.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="49" href="#49">49</a> Stack stack = <strong>new</strong> Stack(); +<a name="50" href="#50">50</a> <strong>try</strong> { +<a name="51" href="#51">51</a> NotRule.getRule(stack); +<a name="52" href="#52">52</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="53" href="#53">53</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em>/**<em>*</em></em> +<a name="58" href="#58">58</a> <em> * NotRule.getRule(Stack) throws exception if non-rules are provided.</em> +<a name="59" href="#59">59</a> <em> */</em> +<a name="60" href="#60">60</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="61" href="#61">61</a> Stack stack = <strong>new</strong> Stack(); +<a name="62" href="#62">62</a> stack.push(<span class="string">"Hello"</span>); +<a name="63" href="#63">63</a> <strong>try</strong> { +<a name="64" href="#64">64</a> NotRule.getRule(stack); +<a name="65" href="#65">65</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="66" href="#66">66</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em>/**<em>*</em></em> +<a name="71" href="#71">71</a> <em> * Test Not of LevelEqualsRule.</em> +<a name="72" href="#72">72</a> <em> */</em> +<a name="73" href="#73">73</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="74" href="#74">74</a> Stack stack = <strong>new</strong> Stack(); +<a name="75" href="#75">75</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="76" href="#76">76</a> Rule rule = NotRule.getRule(stack); +<a name="77" href="#77">77</a> assertEquals(0, stack.size()); +<a name="78" href="#78">78</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="79" href="#79">79</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="80" href="#80">80</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="81" href="#81">81</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="82" href="#82">82</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em>/**<em>*</em></em> +<a name="86" href="#86">86</a> <em> * Test Not of Level when Level does not match.</em> +<a name="87" href="#87">87</a> <em> */</em> +<a name="88" href="#88">88</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="89" href="#89">89</a> Stack stack = <strong>new</strong> Stack(); +<a name="90" href="#90">90</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="91" href="#91">91</a> Rule rule = NotRule.getRule(stack); +<a name="92" href="#92">92</a> assertEquals(0, stack.size()); +<a name="93" href="#93">93</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="94" href="#94">94</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="95" href="#95">95</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, +<a name="96" href="#96">96</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="97" href="#97">97</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em>/**<em>*</em></em> +<a name="102" href="#102">102</a> <em> * Test deserialized Not.</em> +<a name="103" href="#103">103</a> <em> */</em> +<a name="104" href="#104">104</a> <strong>public</strong> <strong>void</strong> test5() throws IOException, ClassNotFoundException { +<a name="105" href="#105">105</a> Stack stack = <strong>new</strong> Stack(); +<a name="106" href="#106">106</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="107" href="#107">107</a> Rule rule = (Rule) SerializationTestHelper.serializeClone(NotRule.getRule(stack)); +<a name="108" href="#108">108</a> assertEquals(0, stack.size()); +<a name="109" href="#109">109</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="110" href="#110">110</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="111" href="#111">111</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="112" href="#112">112</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="113" href="#113">113</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em>/**<em>*</em></em> +<a name="118" href="#118">118</a> <em> * Test deserialized Not.</em> +<a name="119" href="#119">119</a> <em> */</em> +<a name="120" href="#120">120</a> <strong>public</strong> <strong>void</strong> test6() throws IOException, ClassNotFoundException { +<a name="121" href="#121">121</a> Stack stack = <strong>new</strong> Stack(); +<a name="122" href="#122">122</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="123" href="#123">123</a> Rule rule = (Rule) SerializationTestHelper.serializeClone(NotRule.getRule(stack)); +<a name="124" href="#124">124</a> assertEquals(0, stack.size()); +<a name="125" href="#125">125</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="126" href="#126">126</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="127" href="#127">127</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, +<a name="128" href="#128">128</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="129" href="#129">129</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="130" href="#130">130</a> } +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/OrRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/OrRuleTest.html new file mode 100644 index 00000000000..975a8d99457 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/OrRuleTest.html @@ -0,0 +1,183 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>OrRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/OrRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> java.io.IOException; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Calendar; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.GregorianCalendar; +<a name="29" href="#29">29</a> <strong>import</strong> java.util.Stack; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Test for OrRule.</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/OrRuleTest.html">OrRuleTest</a> <strong>extends</strong> TestCase { +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em>/**<em>*</em></em> +<a name="37" href="#37">37</a> <em> * Create new test.</em> +<a name="38" href="#38">38</a> <em> *</em> +<a name="39" href="#39">39</a> <em> * @param testName test name.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/OrRuleTest.html">OrRuleTest</a>(<strong>final</strong> String testName) { +<a name="42" href="#42">42</a> <strong>super</strong>(testName); +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em>/**<em>*</em></em> +<a name="46" href="#46">46</a> <em> * OrRule.getRule(Stack) throws exception if only one rule provided.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="49" href="#49">49</a> Stack stack = <strong>new</strong> Stack(); +<a name="50" href="#50">50</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="51" href="#51">51</a> <strong>try</strong> { +<a name="52" href="#52">52</a> OrRule.getRule(stack); +<a name="53" href="#53">53</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="54" href="#54">54</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em>/**<em>*</em></em> +<a name="59" href="#59">59</a> <em> * OrRule.getRule(Stack) throws exception if non-rules are provided.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="62" href="#62">62</a> Stack stack = <strong>new</strong> Stack(); +<a name="63" href="#63">63</a> stack.push(<span class="string">"Hello"</span>); +<a name="64" href="#64">64</a> stack.push(<span class="string">"World"</span>); +<a name="65" href="#65">65</a> <strong>try</strong> { +<a name="66" href="#66">66</a> OrRule.getRule(stack); +<a name="67" href="#67">67</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="68" href="#68">68</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em>/**<em>*</em></em> +<a name="73" href="#73">73</a> <em> * Test Or of Level and Time.</em> +<a name="74" href="#74">74</a> <em> */</em> +<a name="75" href="#75">75</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="76" href="#76">76</a> Stack stack = <strong>new</strong> Stack(); +<a name="77" href="#77">77</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="78" href="#78">78</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2008/05/21 00:44:45"</span>)); +<a name="79" href="#79">79</a> Rule rule = OrRule.getRule(stack); +<a name="80" href="#80">80</a> assertEquals(0, stack.size()); +<a name="81" href="#81">81</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="82" href="#82">82</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="83" href="#83">83</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="84" href="#84">84</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="85" href="#85">85</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em>/**<em>*</em></em> +<a name="89" href="#89">89</a> <em> * Test Or of Level and Time when Level does not match.</em> +<a name="90" href="#90">90</a> <em> */</em> +<a name="91" href="#91">91</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="92" href="#92">92</a> Stack stack = <strong>new</strong> Stack(); +<a name="93" href="#93">93</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="94" href="#94">94</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2008/05/21 00:44:45"</span>)); +<a name="95" href="#95">95</a> Rule rule = OrRule.getRule(stack); +<a name="96" href="#96">96</a> assertEquals(0, stack.size()); +<a name="97" href="#97">97</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="98" href="#98">98</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="99" href="#99">99</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, +<a name="100" href="#100">100</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="101" href="#101">101</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em>/**<em>*</em></em> +<a name="105" href="#105">105</a> <em> * Test Or of Level and Time when Time does not match.</em> +<a name="106" href="#106">106</a> <em> */</em> +<a name="107" href="#107">107</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="108" href="#108">108</a> Stack stack = <strong>new</strong> Stack(); +<a name="109" href="#109">109</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="110" href="#110">110</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2009/05/21 00:44:45"</span>)); +<a name="111" href="#111">111</a> Rule rule = OrRule.getRule(stack); +<a name="112" href="#112">112</a> assertEquals(0, stack.size()); +<a name="113" href="#113">113</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="114" href="#114">114</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="115" href="#115">115</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="116" href="#116">116</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="117" href="#117">117</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em>/**<em>*</em></em> +<a name="122" href="#122">122</a> <em> * Test Or of Level and Time when Time and Level do not match.</em> +<a name="123" href="#123">123</a> <em> */</em> +<a name="124" href="#124">124</a> <strong>public</strong> <strong>void</strong> test6() { +<a name="125" href="#125">125</a> Stack stack = <strong>new</strong> Stack(); +<a name="126" href="#126">126</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="127" href="#127">127</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2009/05/21 00:44:45"</span>)); +<a name="128" href="#128">128</a> Rule rule = OrRule.getRule(stack); +<a name="129" href="#129">129</a> assertEquals(0, stack.size()); +<a name="130" href="#130">130</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="131" href="#131">131</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="132" href="#132">132</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, +<a name="133" href="#133">133</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="134" href="#134">134</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em>/**<em>*</em></em> +<a name="138" href="#138">138</a> <em> * Test deserialized Or.</em> +<a name="139" href="#139">139</a> <em> */</em> +<a name="140" href="#140">140</a> <strong>public</strong> <strong>void</strong> test7() throws IOException, ClassNotFoundException { +<a name="141" href="#141">141</a> Stack stack = <strong>new</strong> Stack(); +<a name="142" href="#142">142</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="143" href="#143">143</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2008/05/21 00:44:45"</span>)); +<a name="144" href="#144">144</a> Rule rule = (Rule) SerializationTestHelper.serializeClone(OrRule.getRule(stack)); +<a name="145" href="#145">145</a> assertEquals(0, stack.size()); +<a name="146" href="#146">146</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="147" href="#147">147</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="148" href="#148">148</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="149" href="#149">149</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="150" href="#150">150</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> <em>/**<em>*</em></em> +<a name="155" href="#155">155</a> <em> * Test deserialized Or when neither rule match.</em> +<a name="156" href="#156">156</a> <em> */</em> +<a name="157" href="#157">157</a> <strong>public</strong> <strong>void</strong> test8() throws IOException, ClassNotFoundException { +<a name="158" href="#158">158</a> Stack stack = <strong>new</strong> Stack(); +<a name="159" href="#159">159</a> stack.push(LevelEqualsRule.getRule(<span class="string">"INFO"</span>)); +<a name="160" href="#160">160</a> stack.push(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2009/05/21 00:44:45"</span>)); +<a name="161" href="#161">161</a> Rule rule = (Rule) SerializationTestHelper.serializeClone(OrRule.getRule(stack)); +<a name="162" href="#162">162</a> assertEquals(0, stack.size()); +<a name="163" href="#163">163</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008, 04, 21, 00, 45, 44); +<a name="164" href="#164">164</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="165" href="#165">165</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, +<a name="166" href="#166">166</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="167" href="#167">167</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/PartialTextMatchRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/PartialTextMatchRuleTest.html new file mode 100644 index 00000000000..dbddbd351a7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/PartialTextMatchRuleTest.html @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PartialTextMatchRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/PartialTextMatchRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> java.io.IOException; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Stack; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * Test for PartialTextMatchRule.</em> +<a name="31" href="#31">31</a> <em> */</em> +<a name="32" href="#32">32</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html">PartialTextMatchRuleTest</a> <strong>extends</strong> TestCase { +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em>/**<em>*</em></em> +<a name="35" href="#35">35</a> <em> * Create new test.</em> +<a name="36" href="#36">36</a> <em> *</em> +<a name="37" href="#37">37</a> <em> * @param testName test name.</em> +<a name="38" href="#38">38</a> <em> */</em> +<a name="39" href="#39">39</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/PartialTextMatchRuleTest.html">PartialTextMatchRuleTest</a>(<strong>final</strong> String testName) { +<a name="40" href="#40">40</a> <strong>super</strong>(testName); +<a name="41" href="#41">41</a> } +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * getRule() with only one entry on stack should throw IllegalArgumentException.</em> +<a name="45" href="#45">45</a> <em> */</em> +<a name="46" href="#46">46</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="47" href="#47">47</a> Stack stack = <strong>new</strong> Stack(); +<a name="48" href="#48">48</a> stack.push(<span class="string">"Hello"</span>); +<a name="49" href="#49">49</a> <strong>try</strong> { +<a name="50" href="#50">50</a> PartialTextMatchRule.getRule(stack); +<a name="51" href="#51">51</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="52" href="#52">52</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em>/**<em>*</em></em> +<a name="57" href="#57">57</a> <em> * getRule() with bad field name should throw IllegalArgumentException.</em> +<a name="58" href="#58">58</a> <em> */</em> +<a name="59" href="#59">59</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="60" href="#60">60</a> Stack stack = <strong>new</strong> Stack(); +<a name="61" href="#61">61</a> stack.push(<span class="string">"Hello"</span>); +<a name="62" href="#62">62</a> stack.push(<span class="string">"World"</span>); +<a name="63" href="#63">63</a> <strong>try</strong> { +<a name="64" href="#64">64</a> PartialTextMatchRule.getRule(stack); +<a name="65" href="#65">65</a> fail(<span class="string">"Should have thrown IllegalArgumentException"</span>); +<a name="66" href="#66">66</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em>/**<em>*</em></em> +<a name="71" href="#71">71</a> <em> * getRule with "level" and "nfo" should return a LevelEqualsRule.</em> +<a name="72" href="#72">72</a> <em> */</em> +<a name="73" href="#73">73</a> <strong>public</strong> <strong>void</strong> test3() { +<a name="74" href="#74">74</a> Stack stack = <strong>new</strong> Stack(); +<a name="75" href="#75">75</a> stack.push(<span class="string">"level"</span>); +<a name="76" href="#76">76</a> stack.push(<span class="string">"nfo"</span>); +<a name="77" href="#77">77</a> Rule rule = PartialTextMatchRule.getRule(stack); +<a name="78" href="#78">78</a> assertEquals(0, stack.size()); +<a name="79" href="#79">79</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="80" href="#80">80</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="81" href="#81">81</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="82" href="#82">82</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em>/**<em>*</em></em> +<a name="87" href="#87">87</a> <em> * getRule with "msg".</em> +<a name="88" href="#88">88</a> <em> */</em> +<a name="89" href="#89">89</a> <strong>public</strong> <strong>void</strong> test4() { +<a name="90" href="#90">90</a> Stack stack = <strong>new</strong> Stack(); +<a name="91" href="#91">91</a> stack.push(<span class="string">"msg"</span>); +<a name="92" href="#92">92</a> stack.push(<span class="string">"World"</span>); +<a name="93" href="#93">93</a> Rule rule = PartialTextMatchRule.getRule(stack); +<a name="94" href="#94">94</a> assertEquals(0, stack.size()); +<a name="95" href="#95">95</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="96" href="#96">96</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="97" href="#97">97</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="98" href="#98">98</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em>/**<em>*</em></em> +<a name="102" href="#102">102</a> <em> * getRule with "msg".</em> +<a name="103" href="#103">103</a> <em> */</em> +<a name="104" href="#104">104</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="105" href="#105">105</a> Stack stack = <strong>new</strong> Stack(); +<a name="106" href="#106">106</a> stack.push(<span class="string">"msg"</span>); +<a name="107" href="#107">107</a> stack.push(<span class="string">"Bonjour, Monde"</span>); +<a name="108" href="#108">108</a> Rule rule = PartialTextMatchRule.getRule(stack); +<a name="109" href="#109">109</a> assertEquals(0, stack.size()); +<a name="110" href="#110">110</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="111" href="#111">111</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="112" href="#112">112</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="113" href="#113">113</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em>/**<em>*</em></em> +<a name="117" href="#117">117</a> <em> * Check PartailTextMatchRule serialization.</em> +<a name="118" href="#118">118</a> <em> */</em> +<a name="119" href="#119">119</a> <strong>public</strong> <strong>void</strong> test6() throws IOException, ClassNotFoundException { +<a name="120" href="#120">120</a> Stack stack = <strong>new</strong> Stack(); +<a name="121" href="#121">121</a> stack.push(<span class="string">"msg"</span>); +<a name="122" href="#122">122</a> stack.push(<span class="string">"World"</span>); +<a name="123" href="#123">123</a> Rule rule = (Rule) SerializationTestHelper.serializeClone(PartialTextMatchRule.getRule(stack)); +<a name="124" href="#124">124</a> assertEquals(0, stack.size()); +<a name="125" href="#125">125</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="126" href="#126">126</a> Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, +<a name="127" href="#127">127</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="128" href="#128">128</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/TimestampEqualsRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/TimestampEqualsRuleTest.html new file mode 100644 index 00000000000..ee27a6178cd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/TimestampEqualsRuleTest.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TimestampEqualsRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/TimestampEqualsRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> java.io.IOException; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Calendar; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.GregorianCalendar; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em>/**<em>*</em></em> +<a name="31" href="#31">31</a> <em> * Test for TimestampEqualsRule.</em> +<a name="32" href="#32">32</a> <em> */</em> +<a name="33" href="#33">33</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html">TimestampEqualsRuleTest</a> <strong>extends</strong> TestCase { +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em>/**<em>*</em></em> +<a name="36" href="#36">36</a> <em> * Create new test.</em> +<a name="37" href="#37">37</a> <em> *</em> +<a name="38" href="#38">38</a> <em> * @param testName test name.</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/TimestampEqualsRuleTest.html">TimestampEqualsRuleTest</a>(<strong>final</strong> String testName) { +<a name="41" href="#41">41</a> <strong>super</strong>(testName); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * Tests evaluate when timestamps are equal.</em> +<a name="46" href="#46">46</a> <em> */</em> +<a name="47" href="#47">47</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="48" href="#48">48</a> TimestampEqualsRule rule = (TimestampEqualsRule) TimestampEqualsRule.getRule(<span class="string">"2008/05/21 00:45:44"</span>); +<a name="49" href="#49">49</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008,04,21,00,45,44); +<a name="50" href="#50">50</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="51" href="#51">51</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="52" href="#52">52</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="53" href="#53">53</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em>/**<em>*</em></em> +<a name="57" href="#57">57</a> <em> * Tests evaluate when levels are not equal.</em> +<a name="58" href="#58">58</a> <em> */</em> +<a name="59" href="#59">59</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="60" href="#60">60</a> TimestampEqualsRule rule = (TimestampEqualsRule) TimestampEqualsRule.getRule(<span class="string">"2008/05/21 00:45:44"</span>); +<a name="61" href="#61">61</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008,04,21,00,46,44); +<a name="62" href="#62">62</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="63" href="#63">63</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, +<a name="64" href="#64">64</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="65" href="#65">65</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> +<a name="68" href="#68">68</a> <em>/**<em>*</em></em> +<a name="69" href="#69">69</a> <em> * Tests evaluate of a deserialized clone when timestamps are equal.</em> +<a name="70" href="#70">70</a> <em> */</em> +<a name="71" href="#71">71</a> <strong>public</strong> <strong>void</strong> test3() throws IOException, ClassNotFoundException { +<a name="72" href="#72">72</a> TimestampEqualsRule rule = (TimestampEqualsRule) +<a name="73" href="#73">73</a> SerializationTestHelper.serializeClone(TimestampEqualsRule.getRule(<span class="string">"2008/05/21 00:45:44"</span>)); +<a name="74" href="#74">74</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008,04,21,00,45,44); +<a name="75" href="#75">75</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="76" href="#76">76</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="77" href="#77">77</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="78" href="#78">78</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em>/**<em>*</em></em> +<a name="82" href="#82">82</a> <em> * Tests evaluate of a deserialized clone when timestamps are not equal.</em> +<a name="83" href="#83">83</a> <em> */</em> +<a name="84" href="#84">84</a> <strong>public</strong> <strong>void</strong> test4() throws IOException, ClassNotFoundException { +<a name="85" href="#85">85</a> TimestampEqualsRule rule = (TimestampEqualsRule) +<a name="86" href="#86">86</a> SerializationTestHelper.serializeClone(TimestampEqualsRule.getRule(<span class="string">"2008/05/21 00:45:44"</span>)); +<a name="87" href="#87">87</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008,04,21,00,46,44); +<a name="88" href="#88">88</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="89" href="#89">89</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="90" href="#90">90</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="91" href="#91">91</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em>/**<em>*</em></em> +<a name="95" href="#95">95</a> <em> * Tests constructor will badly formed time specification.</em> +<a name="96" href="#96">96</a> <em> */</em> +<a name="97" href="#97">97</a> <strong>public</strong> <strong>void</strong> test5() { +<a name="98" href="#98">98</a> <strong>try</strong> { +<a name="99" href="#99">99</a> TimestampEqualsRule.getRule(<span class="string">"2008/May/21"</span>); +<a name="100" href="#100">100</a> fail(<span class="string">"IllegalArgumentException expected to be thrown"</span>); +<a name="101" href="#101">101</a> } <strong>catch</strong>(IllegalArgumentException ex) { +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/TimestampInequalityRuleTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/TimestampInequalityRuleTest.html new file mode 100644 index 00000000000..707789cc69d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/TimestampInequalityRuleTest.html @@ -0,0 +1,104 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TimestampInequalityRuleTest xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/TimestampInequalityRuleTest.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rule; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Level; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.util.SerializationTestHelper; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> java.io.IOException; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Calendar; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.GregorianCalendar; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em>/**<em>*</em></em> +<a name="31" href="#31">31</a> <em> * Test for TimestampInequalityRule.</em> +<a name="32" href="#32">32</a> <em> */</em> +<a name="33" href="#33">33</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html">TimestampInequalityRuleTest</a> <strong>extends</strong> TestCase { +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em>/**<em>*</em></em> +<a name="36" href="#36">36</a> <em> * Create new test.</em> +<a name="37" href="#37">37</a> <em> *</em> +<a name="38" href="#38">38</a> <em> * @param testName test name.</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/TimestampInequalityRuleTest.html">TimestampInequalityRuleTest</a>(<strong>final</strong> String testName) { +<a name="41" href="#41">41</a> <strong>super</strong>(testName); +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * Test construction when timestamp is unrecognized.</em> +<a name="46" href="#46">46</a> <em> */</em> +<a name="47" href="#47">47</a> <strong>public</strong> <strong>void</strong> test1() { +<a name="48" href="#48">48</a> <strong>try</strong> { +<a name="49" href="#49">49</a> TimestampInequalityRule.getRule(<span class="string">">"</span>, <span class="string">"now"</span>); +<a name="50" href="#50">50</a> fail(<span class="string">"Expected IllegalArgumentException"</span>); +<a name="51" href="#51">51</a> } <strong>catch</strong>(IllegalArgumentException ex) { +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em>/**<em>*</em></em> +<a name="56" href="#56">56</a> <em> * Tests construction when operator is unrecognized.</em> +<a name="57" href="#57">57</a> <em> */</em> +<a name="58" href="#58">58</a> <strong>public</strong> <strong>void</strong> test2() { +<a name="59" href="#59">59</a> <em class="comment">//</em> +<a name="60" href="#60">60</a> <em class="comment">// unlike LevelInequalityRule, does not throw exception. Resulting rule never satisified.</em> +<a name="61" href="#61">61</a> <em class="comment">//</em> +<a name="62" href="#62">62</a> TimestampInequalityRule.getRule(<span class="string">"~"</span>, <span class="string">"2008/05/21 00:45:46"</span>); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em>/**<em>*</em></em> +<a name="66" href="#66">66</a> <em> * Tests evaluate of a deserialized clone when rule is satisified.</em> +<a name="67" href="#67">67</a> <em> */</em> +<a name="68" href="#68">68</a> <strong>public</strong> <strong>void</strong> test3() throws IOException, ClassNotFoundException { +<a name="69" href="#69">69</a> Rule rule = (Rule) +<a name="70" href="#70">70</a> SerializationTestHelper.serializeClone(TimestampInequalityRule.getRule(<span class="string">">="</span>, <span class="string">"2008/05/21 00:44:45"</span>)); +<a name="71" href="#71">71</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008,04,21,00,45,44); +<a name="72" href="#72">72</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="73" href="#73">73</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, +<a name="74" href="#74">74</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="75" href="#75">75</a> assertTrue(rule.evaluate(event, <strong>null</strong>)); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em>/**<em>*</em></em> +<a name="79" href="#79">79</a> <em> * Tests evaluate of a deserialized clone when rule is not satisfied.</em> +<a name="80" href="#80">80</a> <em> */</em> +<a name="81" href="#81">81</a> <strong>public</strong> <strong>void</strong> test4() throws IOException, ClassNotFoundException { +<a name="82" href="#82">82</a> Rule rule = (Rule) +<a name="83" href="#83">83</a> SerializationTestHelper.serializeClone(TimestampInequalityRule.getRule(<span class="string">"&lt;"</span>, <span class="string">"2008/05/21 00:44:44"</span>)); +<a name="84" href="#84">84</a> Calendar cal = <strong>new</strong> GregorianCalendar(2008,04,21,00,45,44); +<a name="85" href="#85">85</a> LoggingEvent event = <strong>new</strong> LoggingEvent(<span class="string">"org.apache.log4j.Logger"</span>, +<a name="86" href="#86">86</a> Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, +<a name="87" href="#87">87</a> <span class="string">"Hello, World"</span>, <strong>null</strong>); +<a name="88" href="#88">88</a> assertFalse(rule.evaluate(event, <strong>null</strong>)); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/package-frame.html new file mode 100644 index 00000000000..cc76c70b3d3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/package-frame.html @@ -0,0 +1,54 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.rule</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.rule</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="AndRuleTest.html" target="classFrame">AndRuleTest</a> + </li> + <li> + <a href="EqualsRuleTest.html" target="classFrame">EqualsRuleTest</a> + </li> + <li> + <a href="ExistsRuleTest.html" target="classFrame">ExistsRuleTest</a> + </li> + <li> + <a href="LevelEqualsRuleTest.html" target="classFrame">LevelEqualsRuleTest</a> + </li> + <li> + <a href="LevelInequalityRuleTest.html" target="classFrame">LevelInequalityRuleTest</a> + </li> + <li> + <a href="NotEqualsRuleTest.html" target="classFrame">NotEqualsRuleTest</a> + </li> + <li> + <a href="NotRuleTest.html" target="classFrame">NotRuleTest</a> + </li> + <li> + <a href="OrRuleTest.html" target="classFrame">OrRuleTest</a> + </li> + <li> + <a href="PartialTextMatchRuleTest.html" target="classFrame">PartialTextMatchRuleTest</a> + </li> + <li> + <a href="TimestampEqualsRuleTest.html" target="classFrame">TimestampEqualsRuleTest</a> + </li> + <li> + <a href="TimestampInequalityRuleTest.html" target="classFrame">TimestampInequalityRuleTest</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/package-summary.html new file mode 100644 index 00000000000..65b6101a65e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/rule/package-summary.html @@ -0,0 +1,117 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.rule</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="AndRuleTest.html" target="classFrame">AndRuleTest</a> + </td> + </tr> + <tr> + <td> + <a href="EqualsRuleTest.html" target="classFrame">EqualsRuleTest</a> + </td> + </tr> + <tr> + <td> + <a href="ExistsRuleTest.html" target="classFrame">ExistsRuleTest</a> + </td> + </tr> + <tr> + <td> + <a href="LevelEqualsRuleTest.html" target="classFrame">LevelEqualsRuleTest</a> + </td> + </tr> + <tr> + <td> + <a href="LevelInequalityRuleTest.html" target="classFrame">LevelInequalityRuleTest</a> + </td> + </tr> + <tr> + <td> + <a href="NotEqualsRuleTest.html" target="classFrame">NotEqualsRuleTest</a> + </td> + </tr> + <tr> + <td> + <a href="NotRuleTest.html" target="classFrame">NotRuleTest</a> + </td> + </tr> + <tr> + <td> + <a href="OrRuleTest.html" target="classFrame">OrRuleTest</a> + </td> + </tr> + <tr> + <td> + <a href="PartialTextMatchRuleTest.html" target="classFrame">PartialTextMatchRuleTest</a> + </td> + </tr> + <tr> + <td> + <a href="TimestampEqualsRuleTest.html" target="classFrame">TimestampEqualsRuleTest</a> + </td> + </tr> + <tr> + <td> + <a href="TimestampInequalityRuleTest.html" target="classFrame">TimestampInequalityRuleTest</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/AbsoluteDateAndTimeFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/AbsoluteTimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/AbsoluteTimeFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/AbsoluteTimeFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/AbsoluteTimeFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/Compare.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/Compare.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/Compare.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/Compare.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/ControlFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/ControlFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/ControlFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/ControlFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/Filter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/Filter.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/Filter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/Filter.html index 3232c93a080..ddf32dba0d3 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/Filter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/Filter.html @@ -30,7 +30,7 @@ <a name="21" href="#21">21</a> <em class="comment">// 06 avr. 2002 18:36:32,036</em> <a name="22" href="#22">22</a> <em class="comment">// 18 fevr. 2002 20:05:36,222</em> <a name="23" href="#23">23</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String ABSOLUTE_DATE_AND_TIME_PAT = -<a name="24" href="#24">24</a> <span class="string">"^&#47;&#47;d{1,2} .{2,6}&#47;&#47;.? 200&#47;&#47;d &#47;&#47;d{2}:&#47;&#47;d{2}:&#47;&#47;d{2},&#47;&#47;d{3}"</span>; +<a name="24" href="#24">24</a> <span class="string">"^&#47;&#47;d{1,2} .{2,6}&#47;&#47;.? 2&#47;&#47;d&#47;&#47;d&#47;&#47;d &#47;&#47;d{2}:&#47;&#47;d{2}:&#47;&#47;d{2},&#47;&#47;d{3}"</span>; <a name="25" href="#25">25</a> <a name="26" href="#26">26</a> <em class="comment">// 18:54:19,201</em> <a name="27" href="#27">27</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String ABSOLUTE_TIME_PAT = diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/ISO8601Filter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/ISO8601Filter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/ISO8601Filter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/ISO8601Filter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/JunitTestRunnerFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/JunitTestRunnerFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/JunitTestRunnerFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/JunitTestRunnerFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/LineNumberFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/LineNumberFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/LineNumberFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/LineNumberFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/MDCOrderFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/MDCOrderFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/MDCOrderFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/MDCOrderFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/RelativeTimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/RelativeTimeFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/RelativeTimeFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/RelativeTimeFilter.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/SerializationTestHelper.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/SerializationTestHelper.html new file mode 100644 index 00000000000..d1723dcaa8e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/SerializationTestHelper.html @@ -0,0 +1,163 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SerializationTestHelper xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/util/SerializationTestHelper.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.util; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> junit.framework.TestCase; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong>import</strong> java.io.ByteArrayInputStream; +<a name="23" href="#23">23</a> <strong>import</strong> java.io.ByteArrayOutputStream; +<a name="24" href="#24">24</a> <strong>import</strong> java.io.File; +<a name="25" href="#25">25</a> <strong>import</strong> java.io.FileInputStream; +<a name="26" href="#26">26</a> <strong>import</strong> java.io.FileOutputStream; +<a name="27" href="#27">27</a> <strong>import</strong> java.io.IOException; +<a name="28" href="#28">28</a> <strong>import</strong> java.io.ObjectInputStream; +<a name="29" href="#29">29</a> <strong>import</strong> java.io.ObjectOutputStream; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * Utiities for serialization tests.</em> +<a name="34" href="#34">34</a> <em> *</em> +<a name="35" href="#35">35</a> <em> * @author Curt Arnold</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/util/SerializationTestHelper.html">SerializationTestHelper</a> { +<a name="38" href="#38">38</a> <em>/**<em>*</em></em> +<a name="39" href="#39">39</a> <em> * Private constructor.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>private</strong> <a href="../../../../org/apache/log4j/util/SerializationTestHelper.html">SerializationTestHelper</a>() { +<a name="42" href="#42">42</a> } +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * Creates a clone by serializing object and</em> +<a name="46" href="#46">46</a> <em> * deserializing byte stream.</em> +<a name="47" href="#47">47</a> <em> * @param obj object to serialize and deserialize.</em> +<a name="48" href="#48">48</a> <em> * @return clone</em> +<a name="49" href="#49">49</a> <em> * @throws IOException on IO error.</em> +<a name="50" href="#50">50</a> <em> * @throws ClassNotFoundException if class not found.</em> +<a name="51" href="#51">51</a> <em> */</em> +<a name="52" href="#52">52</a> <strong>public</strong> <strong>static</strong> Object serializeClone(<strong>final</strong> Object obj) +<a name="53" href="#53">53</a> throws IOException, ClassNotFoundException { +<a name="54" href="#54">54</a> ByteArrayOutputStream memOut = <strong>new</strong> ByteArrayOutputStream(); +<a name="55" href="#55">55</a> ObjectOutputStream objOut = <strong>new</strong> ObjectOutputStream(memOut); +<a name="56" href="#56">56</a> objOut.writeObject(obj); +<a name="57" href="#57">57</a> objOut.close(); +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> ByteArrayInputStream src = <strong>new</strong> ByteArrayInputStream(memOut.toByteArray()); +<a name="60" href="#60">60</a> ObjectInputStream objIs = <strong>new</strong> ObjectInputStream(src); +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <strong>return</strong> objIs.readObject(); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em>/**<em>*</em></em> +<a name="66" href="#66">66</a> <em> * Deserializes a specified file.</em> +<a name="67" href="#67">67</a> <em> * @param witness serialization file, may not be null.</em> +<a name="68" href="#68">68</a> <em> * @return deserialized object.</em> +<a name="69" href="#69">69</a> <em> * @throws Exception thrown on IO or deserialization exception.</em> +<a name="70" href="#70">70</a> <em> */</em> +<a name="71" href="#71">71</a> <strong>public</strong> <strong>static</strong> Object deserializeStream(<strong>final</strong> String witness) +<a name="72" href="#72">72</a> throws Exception { +<a name="73" href="#73">73</a> FileInputStream fileIs = <strong>new</strong> FileInputStream(witness); +<a name="74" href="#74">74</a> ObjectInputStream objIs = <strong>new</strong> ObjectInputStream(fileIs); +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <strong>return</strong> objIs.readObject(); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em>/**<em>*</em></em> +<a name="80" href="#80">80</a> <em> * Checks the serialization of an object against an file</em> +<a name="81" href="#81">81</a> <em> * containing the expected serialization.</em> +<a name="82" href="#82">82</a> <em> *</em> +<a name="83" href="#83">83</a> <em> * @param witness name of file containing expected serialization.</em> +<a name="84" href="#84">84</a> <em> * @param obj object to be serialized.</em> +<a name="85" href="#85">85</a> <em> * @param skip positions in serialized stream that should not be compared.</em> +<a name="86" href="#86">86</a> <em> * @param endCompare position to stop comparison.</em> +<a name="87" href="#87">87</a> <em> * @throws Exception thrown on IO or serialization exception.</em> +<a name="88" href="#88">88</a> <em> */</em> +<a name="89" href="#89">89</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> assertSerializationEquals( +<a name="90" href="#90">90</a> <strong>final</strong> String witness, <strong>final</strong> Object obj, <strong>final</strong> <strong>int</strong>[] skip, +<a name="91" href="#91">91</a> <strong>final</strong> <strong>int</strong> endCompare) throws Exception { +<a name="92" href="#92">92</a> ByteArrayOutputStream memOut = <strong>new</strong> ByteArrayOutputStream(); +<a name="93" href="#93">93</a> ObjectOutputStream objOut = <strong>new</strong> ObjectOutputStream(memOut); +<a name="94" href="#94">94</a> objOut.writeObject(obj); +<a name="95" href="#95">95</a> objOut.close(); +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> assertStreamEquals(witness, memOut.toByteArray(), skip, endCompare); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em>/**<em>*</em></em> +<a name="101" href="#101">101</a> <em> * Asserts the serialized form of an object.</em> +<a name="102" href="#102">102</a> <em> * @param witness file name of expected serialization.</em> +<a name="103" href="#103">103</a> <em> * @param actual byte array of actual serialization.</em> +<a name="104" href="#104">104</a> <em> * @param skip positions to skip comparison.</em> +<a name="105" href="#105">105</a> <em> * @param endCompare position to stop comparison.</em> +<a name="106" href="#106">106</a> <em> * @throws IOException thrown on IO or serialization exception.</em> +<a name="107" href="#107">107</a> <em> */</em> +<a name="108" href="#108">108</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> assertStreamEquals( +<a name="109" href="#109">109</a> <strong>final</strong> String witness, <strong>final</strong> byte[] actual, <strong>final</strong> <strong>int</strong>[] skip, +<a name="110" href="#110">110</a> <strong>final</strong> <strong>int</strong> endCompare) throws IOException { +<a name="111" href="#111">111</a> File witnessFile = <strong>new</strong> File(witness); +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <strong>if</strong> (witnessFile.exists()) { +<a name="114" href="#114">114</a> <strong>int</strong> skipIndex = 0; +<a name="115" href="#115">115</a> byte[] expected = <strong>new</strong> byte[actual.length]; +<a name="116" href="#116">116</a> FileInputStream is = <strong>new</strong> FileInputStream(witnessFile); +<a name="117" href="#117">117</a> <strong>int</strong> bytesRead = is.read(expected); +<a name="118" href="#118">118</a> is.close(); +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong>if</strong>(bytesRead &lt; endCompare) { +<a name="121" href="#121">121</a> TestCase.assertEquals(bytesRead, actual.length); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <strong>int</strong> endScan = actual.length; +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <strong>if</strong> (endScan > endCompare) { +<a name="127" href="#127">127</a> endScan = endCompare; +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; endScan; i++) { +<a name="131" href="#131">131</a> <strong>if</strong> ((skipIndex &lt; skip.length) &amp;&amp; (skip[skipIndex] == i)) { +<a name="132" href="#132">132</a> skipIndex++; +<a name="133" href="#133">133</a> } <strong>else</strong> { +<a name="134" href="#134">134</a> <strong>if</strong> (expected[i] != actual[i]) { +<a name="135" href="#135">135</a> TestCase.assertEquals( +<a name="136" href="#136">136</a> <span class="string">"Difference at offset "</span> + i, expected[i], actual[i]); +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> } <strong>else</strong> { +<a name="141" href="#141">141</a> <em class="comment">//</em> +<a name="142" href="#142">142</a> <em class="comment">// if the file doesn't exist then</em> +<a name="143" href="#143">143</a> <em class="comment">// assume that we are setting up and need to write it</em> +<a name="144" href="#144">144</a> FileOutputStream os = <strong>new</strong> FileOutputStream(witnessFile); +<a name="145" href="#145">145</a> os.write(actual); +<a name="146" href="#146">146</a> os.close(); +<a name="147" href="#147">147</a> TestCase.fail(<span class="string">"Writing witness file "</span> + witness); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/SunReflectFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/SunReflectFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/SunReflectFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/SunReflectFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/Transformer.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/Transformer.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/Transformer.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/Transformer.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/UnexpectedFormatException.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/UnexpectedFormatException.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/UnexpectedFormatException.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/UnexpectedFormatException.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/XMLDateFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/XMLDateFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/XMLDateFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/XMLDateFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/XMLLineAttributeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/XMLLineAttributeFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/XMLLineAttributeFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/XMLLineAttributeFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/XMLTimestampFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/XMLTimestampFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/XMLTimestampFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/XMLTimestampFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/package-frame.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/package-frame.html index b2e14c44c77..783ba8424fd 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.util</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.util</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -44,6 +44,9 @@ </li> <li> <a href="RelativeTimeFilter.html" target="classFrame">RelativeTimeFilter</a> + </li> + <li> + <a href="SerializationTestHelper.html" target="classFrame">SerializationTestHelper</a> </li> <li> <a href="SunReflectFilter.html" target="classFrame">SunReflectFilter</a> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/package-summary.html similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/package-summary.html index 397b804c7b3..d70673d003d 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/util/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/util/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -84,6 +84,11 @@ <td> <a href="RelativeTimeFilter.html" target="classFrame">RelativeTimeFilter</a> </td> + </tr> + <tr> + <td> + <a href="SerializationTestHelper.html" target="classFrame">SerializationTestHelper</a> + </td> </tr> <tr> <td> @@ -137,6 +142,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/xml/XSLTLayoutTest.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/xml/XSLTLayoutTest.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/xml/XSLTLayoutTest.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/xml/XSLTLayoutTest.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/xml/XSLTLayoutTestCase.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/xml/XSLTLayoutTestCase.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/xml/XSLTLayoutTestCase.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/xml/XSLTLayoutTestCase.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/xml/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/xml/package-frame.html similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/xml/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/xml/package-frame.html index 3df8309d324..8430a716928 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/xml/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/xml/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.xml</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.xml</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/xml/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/xml/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/xml/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/xml/package-summary.html index 2f06858f817..d10f8a43716 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/org/apache/log4j/xml/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/org/apache/log4j/xml/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -67,6 +67,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/overview-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/overview-frame.html similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/overview-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/overview-frame.html index a482a7e3863..2956396cd67 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/overview-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/overview-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference</title> <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" /> </head> <body> @@ -29,6 +29,9 @@ </li> <li> <a href="org/apache/log4j/rolling/helper/package-frame.html" target="packageFrame">org.apache.log4j.rolling.helper</a> + </li> + <li> + <a href="org/apache/log4j/rule/package-frame.html" target="packageFrame">org.apache.log4j.rule</a> </li> <li> <a href="org/apache/log4j/util/package-frame.html" target="packageFrame">org.apache.log4j.util</a> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/overview-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref-test/overview-summary.html similarity index 85% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/overview-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/overview-summary.html index 858ee336f30..f49f2f941a3 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/overview-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref-test/overview-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference</title> <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" /> </head> <body> @@ -24,7 +24,7 @@ </ul> </div> - <h2>Apache Extras Companion for log4j 1.2. 1.0 Reference</h2> + <h2>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference</h2> <table class="summary"> <thead> @@ -57,6 +57,11 @@ <td> <a href="org/apache/log4j/rolling/helper/package-summary.html">org.apache.log4j.rolling.helper</a> </td> + </tr> + <tr> + <td> + <a href="org/apache/log4j/rule/package-summary.html">org.apache.log4j.rule</a> + </td> </tr> <tr> <td> @@ -89,6 +94,6 @@ </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/stylesheet.css b/thirdparty/apache-log4j-extras-1.1/site/xref-test/stylesheet.css similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/stylesheet.css rename to thirdparty/apache-log4j-extras-1.1/site/xref-test/stylesheet.css diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/allclasses-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/allclasses-frame.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/xref/allclasses-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/allclasses-frame.html index a509092bf14..78eca35fbd9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/allclasses-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/allclasses-frame.html @@ -43,6 +43,9 @@ </li> <li> <a href="org/apache/log4j/rolling/helper/CompositeAction.html" target="classFrame">CompositeAction</a> + </li> + <li> + <a href="org/apache/log4j/rolling/CompositeTriggeringPolicy.html" target="classFrame">CompositeTriggeringPolicy</a> </li> <li> <a href="org/apache/log4j/extras/DOMConfigurator.html" target="classFrame">DOMConfigurator</a> @@ -139,6 +142,9 @@ </li> <li> <a href="org/apache/log4j/LogSF.html" target="classFrame">LogSF</a> + </li> + <li> + <a href="org/apache/log4j/LogXF.html" target="classFrame">LogXF</a> </li> <li> <a href="org/apache/log4j/filter/LoggerMatchFilter.html" target="classFrame">LoggerMatchFilter</a> @@ -172,6 +178,9 @@ </li> <li> <a href="org/apache/log4j/rule/NotEqualsRule.html" target="classFrame">NotEqualsRule</a> + </li> + <li> + <a href="org/apache/log4j/rule/NotLevelEqualsRule.html" target="classFrame">NotLevelEqualsRule</a> </li> <li> <a href="org/apache/log4j/rule/NotRule.html" target="classFrame">NotRule</a> @@ -222,7 +231,7 @@ <a href="org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html" target="classFrame">SizeBasedTriggeringPolicy</a> </li> <li> - <a href="org/apache/log4j/varia/SoundAppender.html" target="classFrame">SoundAppender</a> + <a href="org/apache/log4j/extras/SoundAppender.html" target="classFrame">SoundAppender</a> </li> <li> <a href="org/apache/log4j/filter/StringMatchFilter.html" target="classFrame">StringMatchFilter</a> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref-test/index.html b/thirdparty/apache-log4j-extras-1.1/site/xref/index.html similarity index 88% rename from thirdparty/apache-log4j-extras-1.0/site/xref-test/index.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/index.html index c17baf863e6..1aecaefec89 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref-test/index.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/index.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference</title> </head> <frameset cols="20%,80%"> <frameset rows="30%,70%"> diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/EnhancedPatternLayout.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/EnhancedPatternLayout.html new file mode 100644 index 00000000000..a5168d4ab0c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/EnhancedPatternLayout.html @@ -0,0 +1,584 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>EnhancedPatternLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/EnhancedPatternLayout.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.helpers.PatternConverter; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.pattern.BridgePatternConverter; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em class="comment">// Contributors: Nelson Minar &lt;nelson@monkey.org></em> +<a name="27" href="#27">27</a> <em class="comment">// Anders Kristensen &lt;akristensen@dynamicsoft.com></em> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * This class is an enhanced version of org.apache.log4j.PatternLayout</em> +<a name="31" href="#31">31</a> <em> * which was originally developed as part of the abandoned log4j 1.3</em> +<a name="32" href="#32">32</a> <em> * effort and has been available in the extras companion.</em> +<a name="33" href="#33">33</a> <em> * This pattern layout should be used in preference to</em> +<a name="34" href="#34">34</a> <em> * org.apache.log4j.PatternLayout except when compatibility</em> +<a name="35" href="#35">35</a> <em> * where PatternLayout has been extended either through subclassing</em> +<a name="36" href="#36">36</a> <em> * or alternative pattern parsers.</em> +<a name="37" href="#37">37</a> <em> *</em> +<a name="38" href="#38">38</a> <em> *</em> +<a name="39" href="#39">39</a> <em> * &lt;p>A flexible layout configurable with pattern string. The goal of this class</em> +<a name="40" href="#40">40</a> <em> * is to {@link #format format} a {@link LoggingEvent} and return the results</em> +<a name="41" href="#41">41</a> <em> * in a {@link StringBuffer}. The format of the result depends on the</em> +<a name="42" href="#42">42</a> <em> * &lt;em>conversion pattern&lt;/em>.</em> +<a name="43" href="#43">43</a> <em> * &lt;p></em> +<a name="44" href="#44">44</a> <em> *</em> +<a name="45" href="#45">45</a> <em> * &lt;p>The conversion pattern is closely related to the conversion</em> +<a name="46" href="#46">46</a> <em> * pattern of the printf function in C. A conversion pattern is</em> +<a name="47" href="#47">47</a> <em> * composed of literal text and format control expressions called</em> +<a name="48" href="#48">48</a> <em> * &lt;em>conversion specifiers&lt;/em>.</em> +<a name="49" href="#49">49</a> <em> *</em> +<a name="50" href="#50">50</a> <em> * &lt;p>&lt;i>Note that you are free to insert any literal text within the</em> +<a name="51" href="#51">51</a> <em> * conversion pattern.&lt;/i></em> +<a name="52" href="#52">52</a> <em> * &lt;/p></em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em> &lt;p>Each conversion specifier starts with a percent sign (%) and is</em> +<a name="55" href="#55">55</a> <em> followed by optional &lt;em>format modifiers&lt;/em> and a &lt;em>conversion</em> +<a name="56" href="#56">56</a> <em> character&lt;/em>. The conversion character specifies the type of</em> +<a name="57" href="#57">57</a> <em> data, e.g. category, priority, date, thread name. The format</em> +<a name="58" href="#58">58</a> <em> modifiers control such things as field width, padding, left and</em> +<a name="59" href="#59">59</a> <em> right justification. The following is a simple example.</em> +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em> &lt;p>Let the conversion pattern be &lt;b>"%-5p [%t]: %m%n"&lt;/b> and assume</em> +<a name="62" href="#62">62</a> <em> that the log4j environment was set to use a EnhancedPatternLayout. Then the</em> +<a name="63" href="#63">63</a> <em> statements</em> +<a name="64" href="#64">64</a> <em> &lt;pre></em> +<a name="65" href="#65">65</a> <em> Category root = Category.getRoot();</em> +<a name="66" href="#66">66</a> <em> root.debug("Message 1");</em> +<a name="67" href="#67">67</a> <em> root.warn("Message 2");</em> +<a name="68" href="#68">68</a> <em> &lt;/pre></em> +<a name="69" href="#69">69</a> <em> would yield the output</em> +<a name="70" href="#70">70</a> <em> &lt;pre></em> +<a name="71" href="#71">71</a> <em> DEBUG [main]: Message 1</em> +<a name="72" href="#72">72</a> <em> WARN [main]: Message 2</em> +<a name="73" href="#73">73</a> <em> &lt;/pre></em> +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em> &lt;p>Note that there is no explicit separator between text and</em> +<a name="76" href="#76">76</a> <em> conversion specifiers. The pattern parser knows when it has reached</em> +<a name="77" href="#77">77</a> <em> the end of a conversion specifier when it reads a conversion</em> +<a name="78" href="#78">78</a> <em> character. In the example above the conversion specifier</em> +<a name="79" href="#79">79</a> <em> &lt;b>%-5p&lt;/b> means the priority of the logging event should be left</em> +<a name="80" href="#80">80</a> <em> justified to a width of five characters.</em> +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em> The recognized conversion characters are</em> +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em> &lt;p></em> +<a name="85" href="#85">85</a> <em> &lt;table border="1" CELLPADDING="8"></em> +<a name="86" href="#86">86</a> <em> &lt;th>Conversion Character&lt;/th></em> +<a name="87" href="#87">87</a> <em> &lt;th>Effect&lt;/th></em> +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em> &lt;tr></em> +<a name="90" href="#90">90</a> <em> &lt;td align=center>&lt;b>c&lt;/b>&lt;/td></em> +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <em> &lt;td>Used to output the category of the logging event. The</em> +<a name="93" href="#93">93</a> <em> category conversion specifier can be optionally followed by</em> +<a name="94" href="#94">94</a> <em> NameAbbreviator pattern.</em> +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em> &lt;p>For example, for the category name "alpha.beta.gamma" the pattern</em> +<a name="97" href="#97">97</a> <em> &lt;b>%c{2}&lt;/b> will output the last two elements ("beta.gamma"),</em> +<a name="98" href="#98">98</a> <em> &lt;b>%c{-2}&lt;/b> will remove two elements leaving "gamma",</em> +<a name="99" href="#99">99</a> <em> &lt;b>%c{1.}&lt;/b> will output "a.b.gamma".</em> +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em> &lt;/td></em> +<a name="102" href="#102">102</a> <em> &lt;/tr></em> +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em> &lt;tr></em> +<a name="105" href="#105">105</a> <em> &lt;td align=center>&lt;b>C&lt;/b>&lt;/td></em> +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em> &lt;td>Used to output the fully qualified class name of the caller</em> +<a name="108" href="#108">108</a> <em> issuing the logging request. This conversion specifier</em> +<a name="109" href="#109">109</a> <em> can be optionally followed by &lt;em>precision specifier&lt;/em>, that</em> +<a name="110" href="#110">110</a> <em> is a decimal constant in brackets.</em> +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> <em> &lt;td>Used to output the category of the logging event. The</em> +<a name="113" href="#113">113</a> <em> category conversion specifier can be optionally followed by</em> +<a name="114" href="#114">114</a> <em> NameAbbreviator pattern.</em> +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em> &lt;p>For example, for the category name "alpha.beta.gamma" the pattern</em> +<a name="117" href="#117">117</a> <em> &lt;b>%c{2}&lt;/b> will output the last two elements ("beta.gamma"),</em> +<a name="118" href="#118">118</a> <em> &lt;b>%c{-2}&lt;/b> will remove two elements leaving "gamma",</em> +<a name="119" href="#119">119</a> <em> &lt;b>%c{1.}&lt;/b> will output "a.b.gamma".</em> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em> &lt;p>&lt;b>WARNING&lt;/b> Generating the caller class information is</em> +<a name="122" href="#122">122</a> <em> slow. Thus, its use should be avoided unless execution speed is</em> +<a name="123" href="#123">123</a> <em> not an issue.</em> +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em> &lt;/td></em> +<a name="126" href="#126">126</a> <em> &lt;/tr></em> +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em> &lt;tr> &lt;td align=center>&lt;b>d&lt;/b>&lt;/td> &lt;td>Used to output the date of</em> +<a name="129" href="#129">129</a> <em> the logging event. The date conversion specifier may be</em> +<a name="130" href="#130">130</a> <em> followed by a set of braces containing a</em> +<a name="131" href="#131">131</a> <em> date and time pattern strings {@link java.text.SimpleDateFormat},</em> +<a name="132" href="#132">132</a> <em> &lt;em>ABSOLUTE&lt;/em>, &lt;em>DATE&lt;/em> or &lt;em>ISO8601&lt;/em></em> +<a name="133" href="#133">133</a> <em> and a set of braces containing a time zone id per </em> +<a name="134" href="#134">134</a> <em> {@link java.util.TimeZone#getTimeZone(String)}. </em> +<a name="135" href="#135">135</a> <em> For example, &lt;b>%d{HH:mm:ss,SSS}&lt;/b>,</em> +<a name="136" href="#136">136</a> <em> &lt;b>%d{dd&amp;nbsp;MMM&amp;nbsp;yyyy&amp;nbsp;HH:mm:ss,SSS}&lt;/b>,</em> +<a name="137" href="#137">137</a> <em> &lt;b>%d{DATE}&lt;/b> or &lt;b>%d{HH:mm:ss}{GMT+0}&lt;/b>. If no date format specifier is given then</em> +<a name="138" href="#138">138</a> <em> ISO8601 format is assumed. </em> +<a name="139" href="#139">139</a> <em> &lt;/td></em> +<a name="140" href="#140">140</a> <em> &lt;/tr></em> +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <em> &lt;tr></em> +<a name="143" href="#143">143</a> <em> &lt;td align=center>&lt;b>F&lt;/b>&lt;/td></em> +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em> &lt;td>Used to output the file name where the logging request was</em> +<a name="146" href="#146">146</a> <em> issued.</em> +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em> &lt;p>&lt;b>WARNING&lt;/b> Generating caller location information is</em> +<a name="149" href="#149">149</a> <em> extremely slow and should be avoided unless execution speed</em> +<a name="150" href="#150">150</a> <em> is not an issue.</em> +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em> &lt;/tr></em> +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> <em> &lt;tr></em> +<a name="155" href="#155">155</a> <em> &lt;td align=center>&lt;b>l&lt;/b>&lt;/td></em> +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <em> &lt;td>Used to output location information of the caller which generated</em> +<a name="158" href="#158">158</a> <em> the logging event.</em> +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em> &lt;p>The location information depends on the JVM implementation but</em> +<a name="161" href="#161">161</a> <em> usually consists of the fully qualified name of the calling</em> +<a name="162" href="#162">162</a> <em> method followed by the callers source the file name and line</em> +<a name="163" href="#163">163</a> <em> number between parentheses.</em> +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em> &lt;p>The location information can be very useful. However, its</em> +<a name="166" href="#166">166</a> <em> generation is &lt;em>extremely&lt;/em> slow and should be avoided</em> +<a name="167" href="#167">167</a> <em> unless execution speed is not an issue.</em> +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em> &lt;/td></em> +<a name="170" href="#170">170</a> <em> &lt;/tr></em> +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em> &lt;tr></em> +<a name="173" href="#173">173</a> <em> &lt;td align=center>&lt;b>L&lt;/b>&lt;/td></em> +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em> &lt;td>Used to output the line number from where the logging request</em> +<a name="176" href="#176">176</a> <em> was issued.</em> +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <em> &lt;p>&lt;b>WARNING&lt;/b> Generating caller location information is</em> +<a name="179" href="#179">179</a> <em> extremely slow and should be avoided unless execution speed</em> +<a name="180" href="#180">180</a> <em> is not an issue.</em> +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <em> &lt;/tr></em> +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <em> &lt;tr></em> +<a name="186" href="#186">186</a> <em> &lt;td align=center>&lt;b>m&lt;/b>&lt;/td></em> +<a name="187" href="#187">187</a> <em> &lt;td>Used to output the application supplied message associated with</em> +<a name="188" href="#188">188</a> <em> the logging event.&lt;/td></em> +<a name="189" href="#189">189</a> <em> &lt;/tr></em> +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em> &lt;tr></em> +<a name="192" href="#192">192</a> <em> &lt;td align=center>&lt;b>M&lt;/b>&lt;/td></em> +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em> &lt;td>Used to output the method name where the logging request was</em> +<a name="195" href="#195">195</a> <em> issued.</em> +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em> &lt;p>&lt;b>WARNING&lt;/b> Generating caller location information is</em> +<a name="198" href="#198">198</a> <em> extremely slow and should be avoided unless execution speed</em> +<a name="199" href="#199">199</a> <em> is not an issue.</em> +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> <em> &lt;/tr></em> +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> <em> &lt;tr></em> +<a name="204" href="#204">204</a> <em> &lt;td align=center>&lt;b>n&lt;/b>&lt;/td></em> +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em> &lt;td>Outputs the platform dependent line separator character or</em> +<a name="207" href="#207">207</a> <em> characters.</em> +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em> &lt;p>This conversion character offers practically the same</em> +<a name="210" href="#210">210</a> <em> performance as using non-portable line separator strings such as</em> +<a name="211" href="#211">211</a> <em> "\n", or "\r\n". Thus, it is the preferred way of specifying a</em> +<a name="212" href="#212">212</a> <em> line separator.</em> +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em> &lt;/tr></em> +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <em> &lt;tr></em> +<a name="218" href="#218">218</a> <em> &lt;td align=center>&lt;b>p&lt;/b>&lt;/td></em> +<a name="219" href="#219">219</a> <em> &lt;td>Used to output the priority of the logging event.&lt;/td></em> +<a name="220" href="#220">220</a> <em> &lt;/tr></em> +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <em> &lt;tr></em> +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> <em> &lt;td align=center>&lt;b>r&lt;/b>&lt;/td></em> +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> <em> &lt;td>Used to output the number of milliseconds elapsed since the construction </em> +<a name="227" href="#227">227</a> <em> of the layout until the creation of the logging event.&lt;/td></em> +<a name="228" href="#228">228</a> <em> &lt;/tr></em> +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <em> &lt;tr></em> +<a name="232" href="#232">232</a> <em> &lt;td align=center>&lt;b>t&lt;/b>&lt;/td></em> +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em> &lt;td>Used to output the name of the thread that generated the</em> +<a name="235" href="#235">235</a> <em> logging event.&lt;/td></em> +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> <em> &lt;/tr></em> +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <em> &lt;tr></em> +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> <em> &lt;td align=center>&lt;b>x&lt;/b>&lt;/td></em> +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <em> &lt;td>Used to output the NDC (nested diagnostic context) associated</em> +<a name="244" href="#244">244</a> <em> with the thread that generated the logging event.</em> +<a name="245" href="#245">245</a> <em> &lt;/td></em> +<a name="246" href="#246">246</a> <em> &lt;/tr></em> +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <em> &lt;tr></em> +<a name="250" href="#250">250</a> <em> &lt;td align=center>&lt;b>X&lt;/b>&lt;/td></em> +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <em> &lt;td></em> +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> <em> &lt;p>Used to output the MDC (mapped diagnostic context) associated</em> +<a name="255" href="#255">255</a> <em> with the thread that generated the logging event. The &lt;b>X&lt;/b></em> +<a name="256" href="#256">256</a> <em> conversion character can be followed by the key for the</em> +<a name="257" href="#257">257</a> <em> map placed between braces, as in &lt;b>%X{clientNumber}&lt;/b> where</em> +<a name="258" href="#258">258</a> <em> &lt;code>clientNumber&lt;/code> is the key. The value in the MDC</em> +<a name="259" href="#259">259</a> <em> corresponding to the key will be output. If no additional sub-option</em> +<a name="260" href="#260">260</a> <em> is specified, then the entire contents of the MDC key value pair set</em> +<a name="261" href="#261">261</a> <em> is output using a format {{key1,val1},{key2,val2}}&lt;/p></em> +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <em> &lt;p>See {@link MDC} class for more details.</em> +<a name="264" href="#264">264</a> <em> &lt;/p></em> +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> <em> &lt;/td></em> +<a name="267" href="#267">267</a> <em> &lt;/tr></em> +<a name="268" href="#268">268</a> +<a name="269" href="#269">269</a> <em> &lt;tr></em> +<a name="270" href="#270">270</a> <em> &lt;td align=center>&lt;b>properties&lt;/b>&lt;/td></em> +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <em> &lt;td></em> +<a name="273" href="#273">273</a> <em> &lt;p>Used to output the Properties associated</em> +<a name="274" href="#274">274</a> <em> with the logging event. The &lt;b>properties&lt;/b></em> +<a name="275" href="#275">275</a> <em> conversion word can be followed by the key for the</em> +<a name="276" href="#276">276</a> <em> map placed between braces, as in &lt;b>%properties{application}&lt;/b> where</em> +<a name="277" href="#277">277</a> <em> &lt;code>application&lt;/code> is the key. The value in the Properties bundle</em> +<a name="278" href="#278">278</a> <em> corresponding to the key will be output. If no additional sub-option</em> +<a name="279" href="#279">279</a> <em> is specified, then the entire contents of the Properties key value pair set</em> +<a name="280" href="#280">280</a> <em> is output using a format {{key1,val1},{key2,val2}}&lt;/p></em> +<a name="281" href="#281">281</a> <em> &lt;/td></em> +<a name="282" href="#282">282</a> <em> &lt;/tr></em> +<a name="283" href="#283">283</a> +<a name="284" href="#284">284</a> <em> &lt;tr></em> +<a name="285" href="#285">285</a> <em> &lt;td align=center>&lt;b>throwable&lt;/b>&lt;/td></em> +<a name="286" href="#286">286</a> +<a name="287" href="#287">287</a> <em> &lt;td></em> +<a name="288" href="#288">288</a> <em> &lt;p>Used to output the Throwable trace that has been bound to the LoggingEvent, by</em> +<a name="289" href="#289">289</a> <em> default this will output the full trace as one would normally </em> +<a name="290" href="#290">290</a> <em> find by a call to Throwable.printStackTrace().</em> +<a name="291" href="#291">291</a> <em> &lt;b>%throwable{short}&lt;/b> or &lt;b>%throwable{1}&lt;/b> will output the first line of</em> +<a name="292" href="#292">292</a> <em> stack trace. &lt;b>throwable{none}&lt;/b> or &lt;b>throwable{0}&lt;/b> will suppress</em> +<a name="293" href="#293">293</a> <em> the stack trace. &lt;b>%throwable{n}&lt;/b> will output n lines of stack trace</em> +<a name="294" href="#294">294</a> <em> if a positive integer or omit the last -n lines if a negative integer.</em> +<a name="295" href="#295">295</a> <em> If no %throwable pattern is specified, the appender will take</em> +<a name="296" href="#296">296</a> <em> responsibility to output the stack trace as it sees fit.&lt;/p></em> +<a name="297" href="#297">297</a> <em> &lt;/td></em> +<a name="298" href="#298">298</a> <em> &lt;/tr></em> +<a name="299" href="#299">299</a> +<a name="300" href="#300">300</a> <em> &lt;tr></em> +<a name="301" href="#301">301</a> +<a name="302" href="#302">302</a> <em> &lt;td align=center>&lt;b>%&lt;/b>&lt;/td></em> +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <em> &lt;td>The sequence %% outputs a single percent sign.</em> +<a name="305" href="#305">305</a> <em> &lt;/td></em> +<a name="306" href="#306">306</a> <em> &lt;/tr></em> +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em> &lt;/table></em> +<a name="309" href="#309">309</a> +<a name="310" href="#310">310</a> <em> &lt;p>By default the relevant information is output as is. However,</em> +<a name="311" href="#311">311</a> <em> with the aid of format modifiers it is possible to change the</em> +<a name="312" href="#312">312</a> <em> minimum field width, the maximum field width, justification</em> +<a name="313" href="#313">313</a> <em> and truncation.</em> +<a name="314" href="#314">314</a> +<a name="315" href="#315">315</a> <em> &lt;p>The optional format modifiers are placed between the percent sign</em> +<a name="316" href="#316">316</a> <em> and the conversion character.</em> +<a name="317" href="#317">317</a> +<a name="318" href="#318">318</a> <em> &lt;p>The &lt;em>left justification flag&lt;/em>, the minus sign (-),</em> +<a name="319" href="#319">319</a> <em> the &lt;em>right truncation flag&lt;/em>, the exclamation mark (!),</em> +<a name="320" href="#320">320</a> <em> or any combination appear first. Followed by the</em> +<a name="321" href="#321">321</a> <em> optional &lt;em>minimum field width&lt;/em> modifier. This is a decimal</em> +<a name="322" href="#322">322</a> <em> constant that represents the minimum number of characters to</em> +<a name="323" href="#323">323</a> <em> output. If the data item requires fewer characters, it is padded on</em> +<a name="324" href="#324">324</a> <em> either the left or the right until the minimum width is</em> +<a name="325" href="#325">325</a> <em> reached. The default is to pad on the left (right justify) but you</em> +<a name="326" href="#326">326</a> <em> can specify right padding with the left justification flag. The</em> +<a name="327" href="#327">327</a> <em> padding character is space. If the data item is larger than the</em> +<a name="328" href="#328">328</a> <em> minimum field width, the field is expanded to accommodate the</em> +<a name="329" href="#329">329</a> <em> data. The value is never truncated.</em> +<a name="330" href="#330">330</a> +<a name="331" href="#331">331</a> <em> &lt;p>This behavior can be changed using the &lt;em>maximum field</em> +<a name="332" href="#332">332</a> <em> width&lt;/em> modifier which is designated by a period followed by a</em> +<a name="333" href="#333">333</a> <em> decimal constant. If the data item is longer than the maximum</em> +<a name="334" href="#334">334</a> <em> field, then the extra characters are removed from the</em> +<a name="335" href="#335">335</a> <em> &lt;em>beginning&lt;/em> of the data item and not from the end. For</em> +<a name="336" href="#336">336</a> <em> example, it the maximum field width is eight and the data item is</em> +<a name="337" href="#337">337</a> <em> ten characters long, then the first two characters of the data item</em> +<a name="338" href="#338">338</a> <em> are dropped. This behavior deviates from the printf function in C</em> +<a name="339" href="#339">339</a> <em> where truncation is done from the end. The &lt;em>right truncation flag&lt;/em>,</em> +<a name="340" href="#340">340</a> <em> described previously, will override this behavior.</em> +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> <em> &lt;p>Below are various format modifier examples for the category</em> +<a name="343" href="#343">343</a> <em> conversion specifier.</em> +<a name="344" href="#344">344</a> +<a name="345" href="#345">345</a> <em> &lt;p></em> +<a name="346" href="#346">346</a> <em> &lt;TABLE BORDER=1 CELLPADDING=8></em> +<a name="347" href="#347">347</a> <em> &lt;th>Format modifier</em> +<a name="348" href="#348">348</a> <em> &lt;th>left justify</em> +<a name="349" href="#349">349</a> <em> &lt;th>minimum width</em> +<a name="350" href="#350">350</a> <em> &lt;th>maximum width</em> +<a name="351" href="#351">351</a> <em> &lt;th>comment</em> +<a name="352" href="#352">352</a> +<a name="353" href="#353">353</a> <em> &lt;tr></em> +<a name="354" href="#354">354</a> <em> &lt;td align=center>%20c&lt;/td></em> +<a name="355" href="#355">355</a> <em> &lt;td align=center>false&lt;/td></em> +<a name="356" href="#356">356</a> <em> &lt;td align=center>20&lt;/td></em> +<a name="357" href="#357">357</a> <em> &lt;td align=center>none&lt;/td></em> +<a name="358" href="#358">358</a> +<a name="359" href="#359">359</a> <em> &lt;td>Left pad with spaces if the category name is less than 20</em> +<a name="360" href="#360">360</a> <em> characters long.</em> +<a name="361" href="#361">361</a> +<a name="362" href="#362">362</a> <em> &lt;tr> &lt;td align=center>%-20c&lt;/td> &lt;td align=center>true&lt;/td> &lt;td</em> +<a name="363" href="#363">363</a> <em> align=center>20&lt;/td> &lt;td align=center>none&lt;/td> &lt;td>Right pad with</em> +<a name="364" href="#364">364</a> <em> spaces if the category name is less than 20 characters long.</em> +<a name="365" href="#365">365</a> +<a name="366" href="#366">366</a> <em> &lt;tr></em> +<a name="367" href="#367">367</a> <em> &lt;td align=center>%.30c&lt;/td></em> +<a name="368" href="#368">368</a> <em> &lt;td align=center>NA&lt;/td></em> +<a name="369" href="#369">369</a> <em> &lt;td align=center>none&lt;/td></em> +<a name="370" href="#370">370</a> <em> &lt;td align=center>30&lt;/td></em> +<a name="371" href="#371">371</a> +<a name="372" href="#372">372</a> <em> &lt;td>Truncate from the beginning if the category name is longer than 30</em> +<a name="373" href="#373">373</a> <em> characters.</em> +<a name="374" href="#374">374</a> +<a name="375" href="#375">375</a> <em> &lt;tr></em> +<a name="376" href="#376">376</a> <em> &lt;td align=center>%!.30c&lt;/td></em> +<a name="377" href="#377">377</a> <em> &lt;td align=center>NA&lt;/td></em> +<a name="378" href="#378">378</a> <em> &lt;td align=center>none&lt;/td></em> +<a name="379" href="#379">379</a> <em> &lt;td align=center>30&lt;/td></em> +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <em> &lt;td>Truncate from the end if the category name is longer than 30</em> +<a name="382" href="#382">382</a> <em> characters.</em> +<a name="383" href="#383">383</a> +<a name="384" href="#384">384</a> <em> &lt;tr></em> +<a name="385" href="#385">385</a> <em> &lt;td align=center>%20.30c&lt;/td></em> +<a name="386" href="#386">386</a> <em> &lt;td align=center>false&lt;/td></em> +<a name="387" href="#387">387</a> <em> &lt;td align=center>20&lt;/td></em> +<a name="388" href="#388">388</a> <em> &lt;td align=center>30&lt;/td></em> +<a name="389" href="#389">389</a> +<a name="390" href="#390">390</a> <em> &lt;td>Left pad with spaces if the category name is shorter than 20</em> +<a name="391" href="#391">391</a> <em> characters. However, if category name is longer than 30 characters,</em> +<a name="392" href="#392">392</a> <em> then truncate from the beginning.</em> +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> <em> &lt;tr></em> +<a name="395" href="#395">395</a> <em> &lt;td align=center>%-20.30c&lt;/td></em> +<a name="396" href="#396">396</a> <em> &lt;td align=center>true&lt;/td></em> +<a name="397" href="#397">397</a> <em> &lt;td align=center>20&lt;/td></em> +<a name="398" href="#398">398</a> <em> &lt;td align=center>30&lt;/td></em> +<a name="399" href="#399">399</a> +<a name="400" href="#400">400</a> <em> &lt;td>Right pad with spaces if the category name is shorter than 20</em> +<a name="401" href="#401">401</a> <em> characters. However, if category name is longer than 30 characters,</em> +<a name="402" href="#402">402</a> <em> then truncate from the beginning.</em> +<a name="403" href="#403">403</a> +<a name="404" href="#404">404</a> <em> &lt;/table></em> +<a name="405" href="#405">405</a> +<a name="406" href="#406">406</a> <em> &lt;p>Below are some examples of conversion patterns.</em> +<a name="407" href="#407">407</a> +<a name="408" href="#408">408</a> <em> &lt;dl></em> +<a name="409" href="#409">409</a> +<a name="410" href="#410">410</a> <em> &lt;p>&lt;dt>&lt;b>%r [%t] %-5p %c %x - %m%n&lt;/b></em> +<a name="411" href="#411">411</a> <em> &lt;p>&lt;dd>This is essentially the TTCC layout.</em> +<a name="412" href="#412">412</a> +<a name="413" href="#413">413</a> <em> &lt;p>&lt;dt>&lt;b>%-6r [%15.15t] %-5p %30.30c %x - %m%n&lt;/b></em> +<a name="414" href="#414">414</a> +<a name="415" href="#415">415</a> <em> &lt;p>&lt;dd>Similar to the TTCC layout except that the relative time is</em> +<a name="416" href="#416">416</a> <em> right padded if less than 6 digits, thread name is right padded if</em> +<a name="417" href="#417">417</a> <em> less than 15 characters and truncated if longer and the category</em> +<a name="418" href="#418">418</a> <em> name is left padded if shorter than 30 characters and truncated if</em> +<a name="419" href="#419">419</a> <em> longer.</em> +<a name="420" href="#420">420</a> +<a name="421" href="#421">421</a> <em> &lt;/dl></em> +<a name="422" href="#422">422</a> +<a name="423" href="#423">423</a> <em> &lt;p>The above text is largely inspired from Peter A. Darnell and</em> +<a name="424" href="#424">424</a> <em> Philip E. Margolis' highly recommended book "C -- a Software</em> +<a name="425" href="#425">425</a> <em> Engineering Approach", ISBN 0-387-97389-3.</em> +<a name="426" href="#426">426</a> +<a name="427" href="#427">427</a> <em> @author &lt;a href="<a href="mailto:cakalijp@Maritz.com" target="alexandria_uri">mailto:cakalijp@Maritz.com</a>">James P. Cakalic&lt;/a></em> +<a name="428" href="#428">428</a> <em> @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="429" href="#429">429</a> +<a name="430" href="#430">430</a> +<a name="431" href="#431">431</a> <em> @since 1.2.16 */</em> +<a name="432" href="#432">432</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayout.html">EnhancedPatternLayout</a> <strong>extends</strong> Layout { +<a name="433" href="#433">433</a> <em>/**<em>* Default pattern string for log output. Currently set to the</em></em> +<a name="434" href="#434">434</a> <em> string &lt;b>"%m%n"&lt;/b> which just prints the application supplied</em> +<a name="435" href="#435">435</a> <em> message. */</em> +<a name="436" href="#436">436</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String DEFAULT_CONVERSION_PATTERN = <span class="string">"%m%n"</span>; +<a name="437" href="#437">437</a> +<a name="438" href="#438">438</a> <em>/**<em>* A conversion pattern equivalent to the TTCCCLayout.</em></em> +<a name="439" href="#439">439</a> <em> Current value is &lt;b>%r [%t] %p %c %x - %m%n&lt;/b>. */</em> +<a name="440" href="#440">440</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String TTCC_CONVERSION_PATTERN = +<a name="441" href="#441">441</a> <span class="string">"%r [%t] %p %c %x - %m%n"</span>; +<a name="442" href="#442">442</a> +<a name="443" href="#443">443</a> <em>/**<em>*</em></em> +<a name="444" href="#444">444</a> <em> * Initial size of internal buffer, no longer used.</em> +<a name="445" href="#445">445</a> <em> * @deprecated since 1.3</em> +<a name="446" href="#446">446</a> <em> */</em> +<a name="447" href="#447">447</a> <strong>protected</strong> <strong>final</strong> <strong>int</strong> BUF_SIZE = 256; +<a name="448" href="#448">448</a> +<a name="449" href="#449">449</a> <em>/**<em>*</em></em> +<a name="450" href="#450">450</a> <em> * Maximum capacity of internal buffer, no longer used.</em> +<a name="451" href="#451">451</a> <em> * @deprecated since 1.3</em> +<a name="452" href="#452">452</a> <em> */</em> +<a name="453" href="#453">453</a> <strong>protected</strong> <strong>final</strong> <strong>int</strong> MAX_CAPACITY = 1024; +<a name="454" href="#454">454</a> +<a name="455" href="#455">455</a> <em>/**<em>*</em></em> +<a name="456" href="#456">456</a> <em> * Customized pattern conversion rules are stored under this key in the</em> +<a name="457" href="#457">457</a> <em> * {@link org.apache.log4j.spi.LoggerRepository LoggerRepository} object store.</em> +<a name="458" href="#458">458</a> <em> */</em> +<a name="459" href="#459">459</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String PATTERN_RULE_REGISTRY = <span class="string">"PATTERN_RULE_REGISTRY"</span>; +<a name="460" href="#460">460</a> +<a name="461" href="#461">461</a> +<a name="462" href="#462">462</a> <em>/**<em>*</em></em> +<a name="463" href="#463">463</a> <em> * Initial converter for pattern.</em> +<a name="464" href="#464">464</a> <em> */</em> +<a name="465" href="#465">465</a> <strong>private</strong> <a href="../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> head; +<a name="466" href="#466">466</a> +<a name="467" href="#467">467</a> <em>/**<em>*</em></em> +<a name="468" href="#468">468</a> <em> * Conversion pattern.</em> +<a name="469" href="#469">469</a> <em> */</em> +<a name="470" href="#470">470</a> <strong>private</strong> String conversionPattern; +<a name="471" href="#471">471</a> +<a name="472" href="#472">472</a> <em>/**<em>*</em></em> +<a name="473" href="#473">473</a> <em> * True if any element in pattern formats information from exceptions.</em> +<a name="474" href="#474">474</a> <em> */</em> +<a name="475" href="#475">475</a> <strong>private</strong> <strong>boolean</strong> handlesExceptions; +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> <em>/**<em>*</em></em> +<a name="478" href="#478">478</a> <em> Constructs a EnhancedPatternLayout using the DEFAULT_LAYOUT_PATTERN.</em> +<a name="479" href="#479">479</a> +<a name="480" href="#480">480</a> <em> The default pattern just produces the application supplied message.</em> +<a name="481" href="#481">481</a> <em> */</em> +<a name="482" href="#482">482</a> <strong>public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayout.html">EnhancedPatternLayout</a>() { +<a name="483" href="#483">483</a> <strong>this</strong>(DEFAULT_CONVERSION_PATTERN); +<a name="484" href="#484">484</a> } +<a name="485" href="#485">485</a> +<a name="486" href="#486">486</a> <em>/**<em>*</em></em> +<a name="487" href="#487">487</a> <em> * Constructs a EnhancedPatternLayout using the supplied conversion pattern.</em> +<a name="488" href="#488">488</a> <em> * @param pattern conversion pattern.</em> +<a name="489" href="#489">489</a> <em> */</em> +<a name="490" href="#490">490</a> <strong>public</strong> <a href="../../../org/apache/log4j/EnhancedPatternLayout.html">EnhancedPatternLayout</a>(<strong>final</strong> String pattern) { +<a name="491" href="#491">491</a> <strong>this</strong>.conversionPattern = pattern; +<a name="492" href="#492">492</a> head = createPatternParser( +<a name="493" href="#493">493</a> (pattern == <strong>null</strong>) ? DEFAULT_CONVERSION_PATTERN : pattern).parse(); +<a name="494" href="#494">494</a> <strong>if</strong> (head instanceof BridgePatternConverter) { +<a name="495" href="#495">495</a> handlesExceptions = !((BridgePatternConverter) head).ignoresThrowable(); +<a name="496" href="#496">496</a> } <strong>else</strong> { +<a name="497" href="#497">497</a> handlesExceptions = false; +<a name="498" href="#498">498</a> } +<a name="499" href="#499">499</a> } +<a name="500" href="#500">500</a> +<a name="501" href="#501">501</a> <em>/**<em>*</em></em> +<a name="502" href="#502">502</a> <em> * Set the &lt;b>ConversionPattern&lt;/b> option. This is the string which</em> +<a name="503" href="#503">503</a> <em> * controls formatting and consists of a mix of literal content and</em> +<a name="504" href="#504">504</a> <em> * conversion specifiers.</em> +<a name="505" href="#505">505</a> <em> *</em> +<a name="506" href="#506">506</a> <em> * @param conversionPattern conversion pattern.</em> +<a name="507" href="#507">507</a> <em> */</em> +<a name="508" href="#508">508</a> <strong>public</strong> <strong>void</strong> setConversionPattern(<strong>final</strong> String conversionPattern) { +<a name="509" href="#509">509</a> <strong>this</strong>.conversionPattern = +<a name="510" href="#510">510</a> OptionConverter.convertSpecialChars(conversionPattern); +<a name="511" href="#511">511</a> head = createPatternParser(<strong>this</strong>.conversionPattern).parse(); +<a name="512" href="#512">512</a> <strong>if</strong> (head instanceof BridgePatternConverter) { +<a name="513" href="#513">513</a> handlesExceptions = !((BridgePatternConverter) head).ignoresThrowable(); +<a name="514" href="#514">514</a> } <strong>else</strong> { +<a name="515" href="#515">515</a> handlesExceptions = false; +<a name="516" href="#516">516</a> } +<a name="517" href="#517">517</a> } +<a name="518" href="#518">518</a> +<a name="519" href="#519">519</a> <em>/**<em>*</em></em> +<a name="520" href="#520">520</a> <em> * Returns the value of the &lt;b>ConversionPattern&lt;/b> option.</em> +<a name="521" href="#521">521</a> <em> * @return conversion pattern.</em> +<a name="522" href="#522">522</a> <em> */</em> +<a name="523" href="#523">523</a> <strong>public</strong> String getConversionPattern() { +<a name="524" href="#524">524</a> <strong>return</strong> conversionPattern; +<a name="525" href="#525">525</a> } +<a name="526" href="#526">526</a> +<a name="527" href="#527">527</a> +<a name="528" href="#528">528</a> <em>/**<em>*</em></em> +<a name="529" href="#529">529</a> <em> Returns PatternParser used to parse the conversion string. Subclasses</em> +<a name="530" href="#530">530</a> <em> may override this to return a subclass of PatternParser which recognize</em> +<a name="531" href="#531">531</a> <em> custom conversion characters.</em> +<a name="532" href="#532">532</a> +<a name="533" href="#533">533</a> <em> @since 0.9.0</em> +<a name="534" href="#534">534</a> <em> */</em> +<a name="535" href="#535">535</a> <strong>protected</strong> org.apache.log4j.helpers.PatternParser createPatternParser(String pattern) { +<a name="536" href="#536">536</a> <strong>return</strong> <strong>new</strong> org.apache.log4j.pattern.BridgePatternParser(pattern); +<a name="537" href="#537">537</a> } +<a name="538" href="#538">538</a> +<a name="539" href="#539">539</a> +<a name="540" href="#540">540</a> <em>/**<em>*</em></em> +<a name="541" href="#541">541</a> <em> Activates the conversion pattern. Do not forget to call this method after</em> +<a name="542" href="#542">542</a> <em> you change the parameters of the EnhancedPatternLayout instance.</em> +<a name="543" href="#543">543</a> <em> */</em> +<a name="544" href="#544">544</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="545" href="#545">545</a> <em class="comment">// nothing to do.</em> +<a name="546" href="#546">546</a> } +<a name="547" href="#547">547</a> +<a name="548" href="#548">548</a> +<a name="549" href="#549">549</a> <em>/**<em>*</em></em> +<a name="550" href="#550">550</a> <em> * Formats a logging event to a writer.</em> +<a name="551" href="#551">551</a> <em> * @param event logging event to be formatted.</em> +<a name="552" href="#552">552</a> <em> */</em> +<a name="553" href="#553">553</a> <strong>public</strong> String format(<strong>final</strong> LoggingEvent event) { +<a name="554" href="#554">554</a> StringBuffer buf = <strong>new</strong> StringBuffer(); +<a name="555" href="#555">555</a> <strong>for</strong>(<a href="../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> c = head; +<a name="556" href="#556">556</a> c != <strong>null</strong>; +<a name="557" href="#557">557</a> c = c.next) { +<a name="558" href="#558">558</a> c.format(buf, event); +<a name="559" href="#559">559</a> } +<a name="560" href="#560">560</a> <strong>return</strong> buf.toString(); +<a name="561" href="#561">561</a> } +<a name="562" href="#562">562</a> +<a name="563" href="#563">563</a> <em>/**<em>*</em></em> +<a name="564" href="#564">564</a> <em> * Will return false if any of the conversion specifiers in the pattern</em> +<a name="565" href="#565">565</a> <em> * handles {@link Exception Exceptions}.</em> +<a name="566" href="#566">566</a> <em> * @return true if the pattern formats any information from exceptions.</em> +<a name="567" href="#567">567</a> <em> */</em> +<a name="568" href="#568">568</a> <strong>public</strong> <strong>boolean</strong> ignoresThrowable() { +<a name="569" href="#569">569</a> <strong>return</strong> !handlesExceptions; +<a name="570" href="#570">570</a> } +<a name="571" href="#571">571</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogMF.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogMF.html new file mode 100644 index 00000000000..81aaa4ea9f0 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogMF.html @@ -0,0 +1,1690 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LogMF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/LogMF.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong>import</strong> java.text.DateFormat; +<a name="22" href="#22">22</a> <strong>import</strong> java.text.MessageFormat; +<a name="23" href="#23">23</a> <strong>import</strong> java.text.NumberFormat; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Date; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.ResourceBundle; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Locale; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * This class provides parameterized logging services</em> +<a name="31" href="#31">31</a> <em> * using the pattern syntax of java.text.MessageFormat.</em> +<a name="32" href="#32">32</a> <em> * Message formatting is only performed when the </em> +<a name="33" href="#33">33</a> <em> * request exceeds the threshold level of the logger.</em> +<a name="34" href="#34">34</a> <em> * When the pattern only contains literal text and</em> +<a name="35" href="#35">35</a> <em> * default conversion patterns (that is "{0}" and similar)</em> +<a name="36" href="#36">36</a> <em> * a simple fast compatible formatter is used. </em> +<a name="37" href="#37">37</a> <em> * If the pattern contains more complex conversion patterns,</em> +<a name="38" href="#38">38</a> <em> * formatting will be delegated to java.text.MessageFormatter</em> +<a name="39" href="#39">39</a> <em> * which can be substantially slower.</em> +<a name="40" href="#40">40</a> <em> *</em> +<a name="41" href="#41">41</a> <em> * @see org.apache.log4j.LogSF</em> +<a name="42" href="#42">42</a> <em> * @since 1.2.16</em> +<a name="43" href="#43">43</a> <em> *</em> +<a name="44" href="#44">44</a> <em> */</em> +<a name="45" href="#45">45</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../org/apache/log4j/LogMF.html">LogMF</a> <strong>extends</strong> <a href="../../../org/apache/log4j/LogXF.html">LogXF</a> { +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * private constructor.</em> +<a name="48" href="#48">48</a> <em> *</em> +<a name="49" href="#49">49</a> <em> */</em> +<a name="50" href="#50">50</a> <strong>private</strong> <a href="../../../org/apache/log4j/LogMF.html">LogMF</a>() { +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em>/**<em>*</em></em> +<a name="54" href="#54">54</a> <em> * Number format.</em> +<a name="55" href="#55">55</a> <em> */</em> +<a name="56" href="#56">56</a> <strong>private</strong> <strong>static</strong> NumberFormat numberFormat = <strong>null</strong>; +<a name="57" href="#57">57</a> <em>/**<em>*</em></em> +<a name="58" href="#58">58</a> <em> * Locale at time of last number format request.</em> +<a name="59" href="#59">59</a> <em> */</em> +<a name="60" href="#60">60</a> <strong>private</strong> <strong>static</strong> Locale numberLocale = <strong>null</strong>; +<a name="61" href="#61">61</a> <em>/**<em>*</em></em> +<a name="62" href="#62">62</a> <em> * Date format.</em> +<a name="63" href="#63">63</a> <em> */</em> +<a name="64" href="#64">64</a> <strong>private</strong> <strong>static</strong> DateFormat dateFormat = <strong>null</strong>; +<a name="65" href="#65">65</a> <em>/**<em>*</em></em> +<a name="66" href="#66">66</a> <em> * Locale at time of last date format request.</em> +<a name="67" href="#67">67</a> <em> */</em> +<a name="68" href="#68">68</a> <strong>private</strong> <strong>static</strong> Locale dateLocale = <strong>null</strong>; +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em>/**<em>*</em></em> +<a name="71" href="#71">71</a> <em> * Format number.</em> +<a name="72" href="#72">72</a> <em> * @param n number to format, may not be null.</em> +<a name="73" href="#73">73</a> <em> * @return formatted value.</em> +<a name="74" href="#74">74</a> <em> */</em> +<a name="75" href="#75">75</a> <strong>private</strong> <strong>static</strong> <strong>synchronized</strong> String formatNumber(<strong>final</strong> Object n) { +<a name="76" href="#76">76</a> Locale currentLocale = Locale.getDefault(); +<a name="77" href="#77">77</a> <strong>if</strong> (currentLocale != numberLocale || numberFormat == <strong>null</strong>) { +<a name="78" href="#78">78</a> numberLocale = currentLocale; +<a name="79" href="#79">79</a> numberFormat = NumberFormat.getInstance(currentLocale); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> <strong>return</strong> numberFormat.format(n); +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em>/**<em>*</em></em> +<a name="86" href="#86">86</a> <em> * Format date.</em> +<a name="87" href="#87">87</a> <em> * @param d date, may not be null.</em> +<a name="88" href="#88">88</a> <em> * @return formatted value.</em> +<a name="89" href="#89">89</a> <em> */</em> +<a name="90" href="#90">90</a> <strong>private</strong> <strong>static</strong> <strong>synchronized</strong> String formatDate(<strong>final</strong> Object d) { +<a name="91" href="#91">91</a> Locale currentLocale = Locale.getDefault(); +<a name="92" href="#92">92</a> <strong>if</strong> (currentLocale != dateLocale || dateFormat == <strong>null</strong>) { +<a name="93" href="#93">93</a> dateLocale = currentLocale; +<a name="94" href="#94">94</a> dateFormat = DateFormat.getDateTimeInstance( +<a name="95" href="#95">95</a> DateFormat.SHORT, +<a name="96" href="#96">96</a> DateFormat.SHORT, +<a name="97" href="#97">97</a> currentLocale); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> <strong>return</strong> dateFormat.format(d); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em>/**<em>*</em></em> +<a name="103" href="#103">103</a> <em> * Format a single parameter like a "{0}" formatting specifier.</em> +<a name="104" href="#104">104</a> <em> *</em> +<a name="105" href="#105">105</a> <em> * @param arg0 parameter, may be null.</em> +<a name="106" href="#106">106</a> <em> * @return string representation of arg0.</em> +<a name="107" href="#107">107</a> <em> */</em> +<a name="108" href="#108">108</a> <strong>private</strong> <strong>static</strong> String formatObject(<strong>final</strong> Object arg0) { +<a name="109" href="#109">109</a> <strong>if</strong> (arg0 instanceof String) { +<a name="110" href="#110">110</a> <strong>return</strong> arg0.toString(); +<a name="111" href="#111">111</a> } <strong>else</strong> <strong>if</strong> (arg0 instanceof Double || +<a name="112" href="#112">112</a> arg0 instanceof Float) { +<a name="113" href="#113">113</a> <strong>return</strong> formatNumber(arg0); +<a name="114" href="#114">114</a> } <strong>else</strong> <strong>if</strong> (arg0 instanceof Date) { +<a name="115" href="#115">115</a> <strong>return</strong> formatDate(arg0); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> <strong>return</strong> String.valueOf(arg0); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em>/**<em>*</em></em> +<a name="122" href="#122">122</a> <em> * Determines if pattern contains only {n} format elements</em> +<a name="123" href="#123">123</a> <em> * and not apostrophes.</em> +<a name="124" href="#124">124</a> <em> *</em> +<a name="125" href="#125">125</a> <em> * @param pattern pattern, may not be null.</em> +<a name="126" href="#126">126</a> <em> * @return true if pattern only contains {n} format elements.</em> +<a name="127" href="#127">127</a> <em> */</em> +<a name="128" href="#128">128</a> <strong>private</strong> <strong>static</strong> <strong>boolean</strong> isSimple(<strong>final</strong> String pattern) { +<a name="129" href="#129">129</a> <strong>if</strong> (pattern.indexOf('\'') != -1) { +<a name="130" href="#130">130</a> <strong>return</strong> false; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> <strong>for</strong>(<strong>int</strong> pos = pattern.indexOf('{'); +<a name="133" href="#133">133</a> pos != -1; +<a name="134" href="#134">134</a> pos = pattern.indexOf('{', pos + 1)) { +<a name="135" href="#135">135</a> <strong>if</strong> (pos + 2 >= pattern.length() || +<a name="136" href="#136">136</a> pattern.charAt(pos+2) != '}' || +<a name="137" href="#137">137</a> pattern.charAt(pos+1) &lt; '0' || +<a name="138" href="#138">138</a> pattern.charAt(pos+1) > '9') { +<a name="139" href="#139">139</a> <strong>return</strong> false; +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> <strong>return</strong> <strong>true</strong>; +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em>/**<em>*</em></em> +<a name="147" href="#147">147</a> <em> * Formats arguments using MessageFormat.</em> +<a name="148" href="#148">148</a> <em> * @param pattern pattern, may be malformed or null.</em> +<a name="149" href="#149">149</a> <em> * @param arguments arguments, may be null or mismatched.</em> +<a name="150" href="#150">150</a> <em> * @return Message string or null</em> +<a name="151" href="#151">151</a> <em> */</em> +<a name="152" href="#152">152</a> <strong>private</strong> <strong>static</strong> String format(<strong>final</strong> String pattern, +<a name="153" href="#153">153</a> <strong>final</strong> Object[] arguments) { +<a name="154" href="#154">154</a> <strong>if</strong> (pattern == <strong>null</strong>) { +<a name="155" href="#155">155</a> <strong>return</strong> <strong>null</strong>; +<a name="156" href="#156">156</a> } <strong>else</strong> <strong>if</strong>(isSimple(pattern)) { +<a name="157" href="#157">157</a> String formatted[] = <strong>new</strong> String[10]; +<a name="158" href="#158">158</a> <strong>int</strong> prev = 0; +<a name="159" href="#159">159</a> String retval = <span class="string">""</span>; +<a name="160" href="#160">160</a> <strong>int</strong> pos = pattern.indexOf('{'); +<a name="161" href="#161">161</a> <strong>while</strong>(pos >= 0) { +<a name="162" href="#162">162</a> <strong>if</strong>(pos + 2 &lt; pattern.length() &amp;&amp; +<a name="163" href="#163">163</a> pattern.charAt(pos+2) == '}' &amp;&amp; +<a name="164" href="#164">164</a> pattern.charAt(pos+1) >= '0' &amp;&amp; +<a name="165" href="#165">165</a> pattern.charAt(pos+1) &lt;= '9') { +<a name="166" href="#166">166</a> <strong>int</strong> index = pattern.charAt(pos+1) - '0'; +<a name="167" href="#167">167</a> retval += pattern.substring(prev, pos); +<a name="168" href="#168">168</a> <strong>if</strong> (formatted[index] == <strong>null</strong>) { +<a name="169" href="#169">169</a> <strong>if</strong> (arguments == <strong>null</strong> || index >= arguments.length) { +<a name="170" href="#170">170</a> formatted[index] = pattern.substring(pos, pos+3); +<a name="171" href="#171">171</a> } <strong>else</strong> { +<a name="172" href="#172">172</a> formatted[index] = formatObject(arguments[index]); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> retval += formatted[index]; +<a name="176" href="#176">176</a> prev = pos + 3; +<a name="177" href="#177">177</a> pos = pattern.indexOf('{', prev); +<a name="178" href="#178">178</a> } <strong>else</strong> { +<a name="179" href="#179">179</a> pos = pattern.indexOf('{', pos + 1); +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> retval += pattern.substring(prev); +<a name="183" href="#183">183</a> <strong>return</strong> retval; +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> <strong>try</strong> { +<a name="186" href="#186">186</a> <strong>return</strong> MessageFormat.format(pattern, arguments); +<a name="187" href="#187">187</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="188" href="#188">188</a> <strong>return</strong> pattern; +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> <em>/**<em>*</em></em> +<a name="193" href="#193">193</a> <em> * Formats a single argument using MessageFormat.</em> +<a name="194" href="#194">194</a> <em> * @param pattern pattern, may be malformed or null.</em> +<a name="195" href="#195">195</a> <em> * @param arguments arguments, may be null or mismatched.</em> +<a name="196" href="#196">196</a> <em> * @return Message string or null</em> +<a name="197" href="#197">197</a> <em> */</em> +<a name="198" href="#198">198</a> <strong>private</strong> <strong>static</strong> String format(<strong>final</strong> String pattern, +<a name="199" href="#199">199</a> <strong>final</strong> Object arg0) { +<a name="200" href="#200">200</a> <strong>if</strong> (pattern == <strong>null</strong>) { +<a name="201" href="#201">201</a> <strong>return</strong> <strong>null</strong>; +<a name="202" href="#202">202</a> } <strong>else</strong> <strong>if</strong>(isSimple(pattern)) { +<a name="203" href="#203">203</a> String formatted = <strong>null</strong>; +<a name="204" href="#204">204</a> <strong>int</strong> prev = 0; +<a name="205" href="#205">205</a> String retval = <span class="string">""</span>; +<a name="206" href="#206">206</a> <strong>int</strong> pos = pattern.indexOf('{'); +<a name="207" href="#207">207</a> <strong>while</strong>(pos >= 0) { +<a name="208" href="#208">208</a> <strong>if</strong>(pos + 2 &lt; pattern.length() &amp;&amp; +<a name="209" href="#209">209</a> pattern.charAt(pos+2) == '}' &amp;&amp; +<a name="210" href="#210">210</a> pattern.charAt(pos+1) >= '0' &amp;&amp; +<a name="211" href="#211">211</a> pattern.charAt(pos+1) &lt;= '9') { +<a name="212" href="#212">212</a> <strong>int</strong> index = pattern.charAt(pos+1) - '0'; +<a name="213" href="#213">213</a> retval += pattern.substring(prev, pos); +<a name="214" href="#214">214</a> <strong>if</strong> (index != 0) { +<a name="215" href="#215">215</a> retval += pattern.substring(pos, pos+3); +<a name="216" href="#216">216</a> } <strong>else</strong> { +<a name="217" href="#217">217</a> <strong>if</strong> (formatted == <strong>null</strong>) { +<a name="218" href="#218">218</a> formatted = formatObject(arg0); +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> retval += formatted; +<a name="221" href="#221">221</a> } +<a name="222" href="#222">222</a> prev = pos + 3; +<a name="223" href="#223">223</a> pos = pattern.indexOf('{', prev); +<a name="224" href="#224">224</a> } <strong>else</strong> { +<a name="225" href="#225">225</a> pos = pattern.indexOf('{', pos + 1); +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> retval += pattern.substring(prev); +<a name="229" href="#229">229</a> <strong>return</strong> retval; +<a name="230" href="#230">230</a> } +<a name="231" href="#231">231</a> <strong>try</strong> { +<a name="232" href="#232">232</a> <strong>return</strong> MessageFormat.format(pattern, <strong>new</strong> Object[] { arg0 }); +<a name="233" href="#233">233</a> } <strong>catch</strong> (IllegalArgumentException ex) { +<a name="234" href="#234">234</a> <strong>return</strong> pattern; +<a name="235" href="#235">235</a> } +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <em>/**<em>*</em></em> +<a name="240" href="#240">240</a> <em> * Formats arguments using MessageFormat using a pattern from</em> +<a name="241" href="#241">241</a> <em> * a resource bundle.</em> +<a name="242" href="#242">242</a> <em> * @param resourceBundleName name of resource bundle, may be null.</em> +<a name="243" href="#243">243</a> <em> * @param key key for pattern in resource bundle, may be null.</em> +<a name="244" href="#244">244</a> <em> * @param arguments arguments, may be null or mismatched.</em> +<a name="245" href="#245">245</a> <em> * @return Message string or null</em> +<a name="246" href="#246">246</a> <em> */</em> +<a name="247" href="#247">247</a> <strong>private</strong> <strong>static</strong> String format( +<a name="248" href="#248">248</a> <strong>final</strong> String resourceBundleName, +<a name="249" href="#249">249</a> <strong>final</strong> String key, +<a name="250" href="#250">250</a> <strong>final</strong> Object[] arguments) { +<a name="251" href="#251">251</a> String pattern; +<a name="252" href="#252">252</a> <strong>if</strong> (resourceBundleName != <strong>null</strong>) { +<a name="253" href="#253">253</a> <strong>try</strong> { +<a name="254" href="#254">254</a> ResourceBundle bundle = +<a name="255" href="#255">255</a> ResourceBundle.getBundle(resourceBundleName); +<a name="256" href="#256">256</a> pattern = bundle.getString(key); +<a name="257" href="#257">257</a> } <strong>catch</strong> (Exception ex) { +<a name="258" href="#258">258</a> pattern = key; +<a name="259" href="#259">259</a> } +<a name="260" href="#260">260</a> } <strong>else</strong> { +<a name="261" href="#261">261</a> pattern = key; +<a name="262" href="#262">262</a> } +<a name="263" href="#263">263</a> <strong>return</strong> format(pattern, arguments); +<a name="264" href="#264">264</a> } +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <em>/**<em>*</em></em> +<a name="268" href="#268">268</a> <em> * Fully Qualified Class Name of this class.</em> +<a name="269" href="#269">269</a> <em> */</em> +<a name="270" href="#270">270</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String FQCN = LogMF.<strong>class</strong>.getName(); +<a name="271" href="#271">271</a> +<a name="272" href="#272">272</a> <em>/**<em>*</em></em> +<a name="273" href="#273">273</a> <em> * Equivalent of Logger.forcedLog.</em> +<a name="274" href="#274">274</a> <em> *</em> +<a name="275" href="#275">275</a> <em> * @param logger logger, may not be null.</em> +<a name="276" href="#276">276</a> <em> * @param level level, may not be null.</em> +<a name="277" href="#277">277</a> <em> * @param msg message, may be null.</em> +<a name="278" href="#278">278</a> <em> */</em> +<a name="279" href="#279">279</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> forcedLog(<strong>final</strong> Logger logger, +<a name="280" href="#280">280</a> <strong>final</strong> Level level, +<a name="281" href="#281">281</a> <strong>final</strong> String msg) { +<a name="282" href="#282">282</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, level, msg, <strong>null</strong>)); +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> <em>/**<em>*</em></em> +<a name="286" href="#286">286</a> <em> * Equivalent of Logger.forcedLog.</em> +<a name="287" href="#287">287</a> <em> *</em> +<a name="288" href="#288">288</a> <em> * @param logger logger, may not be null.</em> +<a name="289" href="#289">289</a> <em> * @param level level, may not be null.</em> +<a name="290" href="#290">290</a> <em> * @param msg message, may be null.</em> +<a name="291" href="#291">291</a> <em> * @param t throwable.</em> +<a name="292" href="#292">292</a> <em> */</em> +<a name="293" href="#293">293</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> forcedLog(<strong>final</strong> Logger logger, +<a name="294" href="#294">294</a> <strong>final</strong> Level level, +<a name="295" href="#295">295</a> <strong>final</strong> String msg, +<a name="296" href="#296">296</a> <strong>final</strong> Throwable t) { +<a name="297" href="#297">297</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, level, msg, t)); +<a name="298" href="#298">298</a> } +<a name="299" href="#299">299</a> <em>/**<em>*</em></em> +<a name="300" href="#300">300</a> <em> * Log a parameterized message at trace level.</em> +<a name="301" href="#301">301</a> <em> * @param logger logger, may not be null.</em> +<a name="302" href="#302">302</a> <em> * @param pattern pattern, may be null.</em> +<a name="303" href="#303">303</a> <em> * @param arguments an array of arguments to be</em> +<a name="304" href="#304">304</a> <em> * formatted and substituted.</em> +<a name="305" href="#305">305</a> <em> */</em> +<a name="306" href="#306">306</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="307" href="#307">307</a> <strong>final</strong> Object[] arguments) { +<a name="308" href="#308">308</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="309" href="#309">309</a> forcedLog(logger, TRACE, format(pattern, arguments)); +<a name="310" href="#310">310</a> } +<a name="311" href="#311">311</a> } +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> <em>/**<em>*</em></em> +<a name="314" href="#314">314</a> <em> * Log a parameterized message at debug level.</em> +<a name="315" href="#315">315</a> <em> * @param logger logger, may not be null.</em> +<a name="316" href="#316">316</a> <em> * @param pattern pattern, may be null.</em> +<a name="317" href="#317">317</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="318" href="#318">318</a> <em> */</em> +<a name="319" href="#319">319</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="320" href="#320">320</a> <strong>final</strong> Object[] arguments) { +<a name="321" href="#321">321</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="322" href="#322">322</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments)); +<a name="323" href="#323">323</a> } +<a name="324" href="#324">324</a> } +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> <em>/**<em>*</em></em> +<a name="327" href="#327">327</a> <em> * Log a parameterized message at info level.</em> +<a name="328" href="#328">328</a> <em> * @param logger logger, may not be null.</em> +<a name="329" href="#329">329</a> <em> * @param pattern pattern, may be null.</em> +<a name="330" href="#330">330</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="331" href="#331">331</a> <em> */</em> +<a name="332" href="#332">332</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="333" href="#333">333</a> <strong>final</strong> Object[] arguments) { +<a name="334" href="#334">334</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="335" href="#335">335</a> forcedLog(logger, Level.INFO, format(pattern, arguments)); +<a name="336" href="#336">336</a> } +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <em>/**<em>*</em></em> +<a name="340" href="#340">340</a> <em> * Log a parameterized message at warn level.</em> +<a name="341" href="#341">341</a> <em> * @param logger logger, may not be null.</em> +<a name="342" href="#342">342</a> <em> * @param pattern pattern, may be null.</em> +<a name="343" href="#343">343</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="344" href="#344">344</a> <em> */</em> +<a name="345" href="#345">345</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="346" href="#346">346</a> <strong>final</strong> Object[] arguments) { +<a name="347" href="#347">347</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="348" href="#348">348</a> forcedLog(logger, Level.WARN, format(pattern, arguments)); +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> } +<a name="351" href="#351">351</a> +<a name="352" href="#352">352</a> <em>/**<em>*</em></em> +<a name="353" href="#353">353</a> <em> * Log a parameterized message at error level.</em> +<a name="354" href="#354">354</a> <em> * @param logger logger, may not be null.</em> +<a name="355" href="#355">355</a> <em> * @param pattern pattern, may be null.</em> +<a name="356" href="#356">356</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="357" href="#357">357</a> <em> */</em> +<a name="358" href="#358">358</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> error(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="359" href="#359">359</a> <strong>final</strong> Object[] arguments) { +<a name="360" href="#360">360</a> <strong>if</strong> (logger.isEnabledFor(Level.ERROR)) { +<a name="361" href="#361">361</a> forcedLog(logger, Level.ERROR, format(pattern, arguments)); +<a name="362" href="#362">362</a> } +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> +<a name="365" href="#365">365</a> <em>/**<em>*</em></em> +<a name="366" href="#366">366</a> <em> * Log a parameterized message at fatal level.</em> +<a name="367" href="#367">367</a> <em> * @param logger logger, may not be null.</em> +<a name="368" href="#368">368</a> <em> * @param pattern pattern, may be null.</em> +<a name="369" href="#369">369</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="370" href="#370">370</a> <em> */</em> +<a name="371" href="#371">371</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> fatal(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="372" href="#372">372</a> <strong>final</strong> Object[] arguments) { +<a name="373" href="#373">373</a> <strong>if</strong> (logger.isEnabledFor(Level.FATAL)) { +<a name="374" href="#374">374</a> forcedLog(logger, Level.FATAL, format(pattern, arguments)); +<a name="375" href="#375">375</a> } +<a name="376" href="#376">376</a> } +<a name="377" href="#377">377</a> +<a name="378" href="#378">378</a> <em>/**<em>*</em></em> +<a name="379" href="#379">379</a> <em> * Log a parameterized message at trace level.</em> +<a name="380" href="#380">380</a> <em> * @param logger logger, may not be null.</em> +<a name="381" href="#381">381</a> <em> * @param t throwable, may be null.</em> +<a name="382" href="#382">382</a> <em> * @param pattern pattern, may be null.</em> +<a name="383" href="#383">383</a> <em> * @param arguments an array of arguments to be</em> +<a name="384" href="#384">384</a> <em> * formatted and substituted.</em> +<a name="385" href="#385">385</a> <em> */</em> +<a name="386" href="#386">386</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, +<a name="387" href="#387">387</a> <strong>final</strong> Throwable t, +<a name="388" href="#388">388</a> <strong>final</strong> String pattern, +<a name="389" href="#389">389</a> <strong>final</strong> Object[] arguments) { +<a name="390" href="#390">390</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="391" href="#391">391</a> forcedLog(logger, TRACE, format(pattern, arguments), t); +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> } +<a name="394" href="#394">394</a> +<a name="395" href="#395">395</a> <em>/**<em>*</em></em> +<a name="396" href="#396">396</a> <em> * Log a parameterized message at debug level.</em> +<a name="397" href="#397">397</a> <em> * @param logger logger, may not be null.</em> +<a name="398" href="#398">398</a> <em> * @param t throwable, may be null.</em> +<a name="399" href="#399">399</a> <em> * @param pattern pattern, may be null.</em> +<a name="400" href="#400">400</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="401" href="#401">401</a> <em> */</em> +<a name="402" href="#402">402</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, +<a name="403" href="#403">403</a> <strong>final</strong> Throwable t, +<a name="404" href="#404">404</a> <strong>final</strong> String pattern, +<a name="405" href="#405">405</a> <strong>final</strong> Object[] arguments) { +<a name="406" href="#406">406</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="407" href="#407">407</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments), t); +<a name="408" href="#408">408</a> } +<a name="409" href="#409">409</a> } +<a name="410" href="#410">410</a> +<a name="411" href="#411">411</a> <em>/**<em>*</em></em> +<a name="412" href="#412">412</a> <em> * Log a parameterized message at info level.</em> +<a name="413" href="#413">413</a> <em> * @param logger logger, may not be null.</em> +<a name="414" href="#414">414</a> <em> * @param t throwable, may be null.</em> +<a name="415" href="#415">415</a> <em> * @param pattern pattern, may be null.</em> +<a name="416" href="#416">416</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="417" href="#417">417</a> <em> */</em> +<a name="418" href="#418">418</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, +<a name="419" href="#419">419</a> <strong>final</strong> Throwable t, +<a name="420" href="#420">420</a> <strong>final</strong> String pattern, +<a name="421" href="#421">421</a> <strong>final</strong> Object[] arguments) { +<a name="422" href="#422">422</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="423" href="#423">423</a> forcedLog(logger, Level.INFO, format(pattern, arguments), t); +<a name="424" href="#424">424</a> } +<a name="425" href="#425">425</a> } +<a name="426" href="#426">426</a> +<a name="427" href="#427">427</a> <em>/**<em>*</em></em> +<a name="428" href="#428">428</a> <em> * Log a parameterized message at warn level.</em> +<a name="429" href="#429">429</a> <em> * @param logger logger, may not be null.</em> +<a name="430" href="#430">430</a> <em> * @param t throwable, may be null.</em> +<a name="431" href="#431">431</a> <em> * @param pattern pattern, may be null.</em> +<a name="432" href="#432">432</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="433" href="#433">433</a> <em> */</em> +<a name="434" href="#434">434</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, +<a name="435" href="#435">435</a> <strong>final</strong> Throwable t, +<a name="436" href="#436">436</a> <strong>final</strong> String pattern, +<a name="437" href="#437">437</a> <strong>final</strong> Object[] arguments) { +<a name="438" href="#438">438</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="439" href="#439">439</a> forcedLog(logger, Level.WARN, format(pattern, arguments), t); +<a name="440" href="#440">440</a> } +<a name="441" href="#441">441</a> } +<a name="442" href="#442">442</a> +<a name="443" href="#443">443</a> <em>/**<em>*</em></em> +<a name="444" href="#444">444</a> <em> * Log a parameterized message at error level.</em> +<a name="445" href="#445">445</a> <em> * @param logger logger, may not be null.</em> +<a name="446" href="#446">446</a> <em> * @param t throwable, may be null.</em> +<a name="447" href="#447">447</a> <em> * @param pattern pattern, may be null.</em> +<a name="448" href="#448">448</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="449" href="#449">449</a> <em> */</em> +<a name="450" href="#450">450</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> error(<strong>final</strong> Logger logger, +<a name="451" href="#451">451</a> <strong>final</strong> Throwable t, +<a name="452" href="#452">452</a> <strong>final</strong> String pattern, +<a name="453" href="#453">453</a> <strong>final</strong> Object[] arguments) { +<a name="454" href="#454">454</a> <strong>if</strong> (logger.isEnabledFor(Level.ERROR)) { +<a name="455" href="#455">455</a> forcedLog(logger, Level.ERROR, format(pattern, arguments), t); +<a name="456" href="#456">456</a> } +<a name="457" href="#457">457</a> } +<a name="458" href="#458">458</a> +<a name="459" href="#459">459</a> <em>/**<em>*</em></em> +<a name="460" href="#460">460</a> <em> * Log a parameterized message at fatal level.</em> +<a name="461" href="#461">461</a> <em> * @param logger logger, may not be null.</em> +<a name="462" href="#462">462</a> <em> * @param t throwable, may be null.</em> +<a name="463" href="#463">463</a> <em> * @param pattern pattern, may be null.</em> +<a name="464" href="#464">464</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="465" href="#465">465</a> <em> */</em> +<a name="466" href="#466">466</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> fatal(<strong>final</strong> Logger logger, +<a name="467" href="#467">467</a> <strong>final</strong> Throwable t, +<a name="468" href="#468">468</a> <strong>final</strong> String pattern, +<a name="469" href="#469">469</a> <strong>final</strong> Object[] arguments) { +<a name="470" href="#470">470</a> <strong>if</strong> (logger.isEnabledFor(Level.FATAL)) { +<a name="471" href="#471">471</a> forcedLog(logger, Level.FATAL, format(pattern, arguments), t); +<a name="472" href="#472">472</a> } +<a name="473" href="#473">473</a> } +<a name="474" href="#474">474</a> +<a name="475" href="#475">475</a> +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> <em>/**<em>*</em></em> +<a name="478" href="#478">478</a> <em> * Log a parameterized message at trace level.</em> +<a name="479" href="#479">479</a> <em> * @param logger logger, may not be null.</em> +<a name="480" href="#480">480</a> <em> * @param pattern pattern, may be null.</em> +<a name="481" href="#481">481</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="482" href="#482">482</a> <em> */</em> +<a name="483" href="#483">483</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="484" href="#484">484</a> <strong>final</strong> <strong>boolean</strong> argument) { +<a name="485" href="#485">485</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="486" href="#486">486</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="487" href="#487">487</a> } +<a name="488" href="#488">488</a> } +<a name="489" href="#489">489</a> +<a name="490" href="#490">490</a> <em>/**<em>*</em></em> +<a name="491" href="#491">491</a> <em> * Log a parameterized message at trace level.</em> +<a name="492" href="#492">492</a> <em> * @param logger logger, may not be null.</em> +<a name="493" href="#493">493</a> <em> * @param pattern pattern, may be null.</em> +<a name="494" href="#494">494</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="495" href="#495">495</a> <em> */</em> +<a name="496" href="#496">496</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="497" href="#497">497</a> <strong>final</strong> <strong>char</strong> argument) { +<a name="498" href="#498">498</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="499" href="#499">499</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="500" href="#500">500</a> } +<a name="501" href="#501">501</a> } +<a name="502" href="#502">502</a> +<a name="503" href="#503">503</a> <em>/**<em>*</em></em> +<a name="504" href="#504">504</a> <em> * Log a parameterized message at trace level.</em> +<a name="505" href="#505">505</a> <em> * @param logger logger, may not be null.</em> +<a name="506" href="#506">506</a> <em> * @param pattern pattern, may be null.</em> +<a name="507" href="#507">507</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="508" href="#508">508</a> <em> */</em> +<a name="509" href="#509">509</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="510" href="#510">510</a> <strong>final</strong> byte argument) { +<a name="511" href="#511">511</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="512" href="#512">512</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="513" href="#513">513</a> } +<a name="514" href="#514">514</a> } +<a name="515" href="#515">515</a> +<a name="516" href="#516">516</a> <em>/**<em>*</em></em> +<a name="517" href="#517">517</a> <em> * Log a parameterized message at trace level.</em> +<a name="518" href="#518">518</a> <em> * @param logger logger, may not be null.</em> +<a name="519" href="#519">519</a> <em> * @param pattern pattern, may be null.</em> +<a name="520" href="#520">520</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="521" href="#521">521</a> <em> */</em> +<a name="522" href="#522">522</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="523" href="#523">523</a> <strong>final</strong> <strong>short</strong> argument) { +<a name="524" href="#524">524</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="525" href="#525">525</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="526" href="#526">526</a> } +<a name="527" href="#527">527</a> } +<a name="528" href="#528">528</a> +<a name="529" href="#529">529</a> <em>/**<em>*</em></em> +<a name="530" href="#530">530</a> <em> * Log a parameterized message at trace level.</em> +<a name="531" href="#531">531</a> <em> * @param logger logger, may not be null.</em> +<a name="532" href="#532">532</a> <em> * @param pattern pattern, may be null.</em> +<a name="533" href="#533">533</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="534" href="#534">534</a> <em> */</em> +<a name="535" href="#535">535</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="536" href="#536">536</a> <strong>final</strong> <strong>int</strong> argument) { +<a name="537" href="#537">537</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="538" href="#538">538</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="539" href="#539">539</a> } +<a name="540" href="#540">540</a> } +<a name="541" href="#541">541</a> +<a name="542" href="#542">542</a> <em>/**<em>*</em></em> +<a name="543" href="#543">543</a> <em> * Log a parameterized message at trace level.</em> +<a name="544" href="#544">544</a> <em> * @param logger logger, may not be null.</em> +<a name="545" href="#545">545</a> <em> * @param pattern pattern, may be null.</em> +<a name="546" href="#546">546</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="547" href="#547">547</a> <em> */</em> +<a name="548" href="#548">548</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="549" href="#549">549</a> <strong>final</strong> <strong>long</strong> argument) { +<a name="550" href="#550">550</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="551" href="#551">551</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="552" href="#552">552</a> } +<a name="553" href="#553">553</a> } +<a name="554" href="#554">554</a> +<a name="555" href="#555">555</a> <em>/**<em>*</em></em> +<a name="556" href="#556">556</a> <em> * Log a parameterized message at trace level.</em> +<a name="557" href="#557">557</a> <em> * @param logger logger, may not be null.</em> +<a name="558" href="#558">558</a> <em> * @param pattern pattern, may be null.</em> +<a name="559" href="#559">559</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="560" href="#560">560</a> <em> */</em> +<a name="561" href="#561">561</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="562" href="#562">562</a> <strong>final</strong> <strong>float</strong> argument) { +<a name="563" href="#563">563</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="564" href="#564">564</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="565" href="#565">565</a> } +<a name="566" href="#566">566</a> } +<a name="567" href="#567">567</a> +<a name="568" href="#568">568</a> <em>/**<em>*</em></em> +<a name="569" href="#569">569</a> <em> * Log a parameterized message at trace level.</em> +<a name="570" href="#570">570</a> <em> * @param logger logger, may not be null.</em> +<a name="571" href="#571">571</a> <em> * @param pattern pattern, may be null.</em> +<a name="572" href="#572">572</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="573" href="#573">573</a> <em> */</em> +<a name="574" href="#574">574</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="575" href="#575">575</a> <strong>final</strong> <strong>double</strong> argument) { +<a name="576" href="#576">576</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="577" href="#577">577</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="578" href="#578">578</a> } +<a name="579" href="#579">579</a> } +<a name="580" href="#580">580</a> +<a name="581" href="#581">581</a> <em>/**<em>*</em></em> +<a name="582" href="#582">582</a> <em> * Log a parameterized message at trace level.</em> +<a name="583" href="#583">583</a> <em> * @param logger logger, may not be null.</em> +<a name="584" href="#584">584</a> <em> * @param pattern pattern, may be null.</em> +<a name="585" href="#585">585</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="586" href="#586">586</a> <em> */</em> +<a name="587" href="#587">587</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="588" href="#588">588</a> <strong>final</strong> Object argument) { +<a name="589" href="#589">589</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="590" href="#590">590</a> forcedLog(logger, TRACE, format(pattern, argument)); +<a name="591" href="#591">591</a> } +<a name="592" href="#592">592</a> } +<a name="593" href="#593">593</a> +<a name="594" href="#594">594</a> <em>/**<em>*</em></em> +<a name="595" href="#595">595</a> <em> * Log a parameterized message at trace level.</em> +<a name="596" href="#596">596</a> <em> * @param logger logger, may not be null.</em> +<a name="597" href="#597">597</a> <em> * @param pattern pattern, may be null.</em> +<a name="598" href="#598">598</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="599" href="#599">599</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="600" href="#600">600</a> <em> */</em> +<a name="601" href="#601">601</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="602" href="#602">602</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { +<a name="603" href="#603">603</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="604" href="#604">604</a> forcedLog(logger, TRACE, +<a name="605" href="#605">605</a> format(pattern, toArray(arg0, arg1))); +<a name="606" href="#606">606</a> } +<a name="607" href="#607">607</a> } +<a name="608" href="#608">608</a> +<a name="609" href="#609">609</a> <em>/**<em>*</em></em> +<a name="610" href="#610">610</a> <em> * Log a parameterized message at trace level.</em> +<a name="611" href="#611">611</a> <em> * @param logger logger, may not be null.</em> +<a name="612" href="#612">612</a> <em> * @param pattern pattern, may be null.</em> +<a name="613" href="#613">613</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="614" href="#614">614</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="615" href="#615">615</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="616" href="#616">616</a> <em> */</em> +<a name="617" href="#617">617</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="618" href="#618">618</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { +<a name="619" href="#619">619</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="620" href="#620">620</a> forcedLog(logger, TRACE, +<a name="621" href="#621">621</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="622" href="#622">622</a> } +<a name="623" href="#623">623</a> } +<a name="624" href="#624">624</a> +<a name="625" href="#625">625</a> <em>/**<em>*</em></em> +<a name="626" href="#626">626</a> <em> * Log a parameterized message at trace level.</em> +<a name="627" href="#627">627</a> <em> * @param logger logger, may not be null.</em> +<a name="628" href="#628">628</a> <em> * @param pattern pattern, may be null.</em> +<a name="629" href="#629">629</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="630" href="#630">630</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="631" href="#631">631</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="632" href="#632">632</a> <em> * @param arg3 a value to be formatted and substituted.</em> +<a name="633" href="#633">633</a> <em> */</em> +<a name="634" href="#634">634</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="635" href="#635">635</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, +<a name="636" href="#636">636</a> <strong>final</strong> Object arg3) { +<a name="637" href="#637">637</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="638" href="#638">638</a> forcedLog(logger, TRACE, +<a name="639" href="#639">639</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); +<a name="640" href="#640">640</a> } +<a name="641" href="#641">641</a> } +<a name="642" href="#642">642</a> +<a name="643" href="#643">643</a> <em>/**<em>*</em></em> +<a name="644" href="#644">644</a> <em> * Log a parameterized message at debug level.</em> +<a name="645" href="#645">645</a> <em> * @param logger logger, may not be null.</em> +<a name="646" href="#646">646</a> <em> * @param pattern pattern, may be null.</em> +<a name="647" href="#647">647</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="648" href="#648">648</a> <em> */</em> +<a name="649" href="#649">649</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="650" href="#650">650</a> <strong>final</strong> <strong>boolean</strong> argument) { +<a name="651" href="#651">651</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="652" href="#652">652</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="653" href="#653">653</a> } +<a name="654" href="#654">654</a> } +<a name="655" href="#655">655</a> +<a name="656" href="#656">656</a> <em>/**<em>*</em></em> +<a name="657" href="#657">657</a> <em> * Log a parameterized message at debug level.</em> +<a name="658" href="#658">658</a> <em> * @param logger logger, may not be null.</em> +<a name="659" href="#659">659</a> <em> * @param pattern pattern, may be null.</em> +<a name="660" href="#660">660</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="661" href="#661">661</a> <em> */</em> +<a name="662" href="#662">662</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="663" href="#663">663</a> <strong>final</strong> <strong>char</strong> argument) { +<a name="664" href="#664">664</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="665" href="#665">665</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="666" href="#666">666</a> } +<a name="667" href="#667">667</a> } +<a name="668" href="#668">668</a> +<a name="669" href="#669">669</a> <em>/**<em>*</em></em> +<a name="670" href="#670">670</a> <em> * Log a parameterized message at debug level.</em> +<a name="671" href="#671">671</a> <em> * @param logger logger, may not be null.</em> +<a name="672" href="#672">672</a> <em> * @param pattern pattern, may be null.</em> +<a name="673" href="#673">673</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="674" href="#674">674</a> <em> */</em> +<a name="675" href="#675">675</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="676" href="#676">676</a> <strong>final</strong> byte argument) { +<a name="677" href="#677">677</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="678" href="#678">678</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="679" href="#679">679</a> } +<a name="680" href="#680">680</a> } +<a name="681" href="#681">681</a> +<a name="682" href="#682">682</a> <em>/**<em>*</em></em> +<a name="683" href="#683">683</a> <em> * Log a parameterized message at debug level.</em> +<a name="684" href="#684">684</a> <em> * @param logger logger, may not be null.</em> +<a name="685" href="#685">685</a> <em> * @param pattern pattern, may be null.</em> +<a name="686" href="#686">686</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="687" href="#687">687</a> <em> */</em> +<a name="688" href="#688">688</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="689" href="#689">689</a> <strong>final</strong> <strong>short</strong> argument) { +<a name="690" href="#690">690</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="691" href="#691">691</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="692" href="#692">692</a> } +<a name="693" href="#693">693</a> } +<a name="694" href="#694">694</a> +<a name="695" href="#695">695</a> <em>/**<em>*</em></em> +<a name="696" href="#696">696</a> <em> * Log a parameterized message at debug level.</em> +<a name="697" href="#697">697</a> <em> * @param logger logger, may not be null.</em> +<a name="698" href="#698">698</a> <em> * @param pattern pattern, may be null.</em> +<a name="699" href="#699">699</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="700" href="#700">700</a> <em> */</em> +<a name="701" href="#701">701</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="702" href="#702">702</a> <strong>final</strong> <strong>int</strong> argument) { +<a name="703" href="#703">703</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="704" href="#704">704</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="705" href="#705">705</a> } +<a name="706" href="#706">706</a> } +<a name="707" href="#707">707</a> +<a name="708" href="#708">708</a> <em>/**<em>*</em></em> +<a name="709" href="#709">709</a> <em> * Log a parameterized message at debug level.</em> +<a name="710" href="#710">710</a> <em> * @param logger logger, may not be null.</em> +<a name="711" href="#711">711</a> <em> * @param pattern pattern, may be null.</em> +<a name="712" href="#712">712</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="713" href="#713">713</a> <em> */</em> +<a name="714" href="#714">714</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="715" href="#715">715</a> <strong>final</strong> <strong>long</strong> argument) { +<a name="716" href="#716">716</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="717" href="#717">717</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="718" href="#718">718</a> } +<a name="719" href="#719">719</a> } +<a name="720" href="#720">720</a> +<a name="721" href="#721">721</a> <em>/**<em>*</em></em> +<a name="722" href="#722">722</a> <em> * Log a parameterized message at debug level.</em> +<a name="723" href="#723">723</a> <em> * @param logger logger, may not be null.</em> +<a name="724" href="#724">724</a> <em> * @param pattern pattern, may be null.</em> +<a name="725" href="#725">725</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="726" href="#726">726</a> <em> */</em> +<a name="727" href="#727">727</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="728" href="#728">728</a> <strong>final</strong> <strong>float</strong> argument) { +<a name="729" href="#729">729</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="730" href="#730">730</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="731" href="#731">731</a> } +<a name="732" href="#732">732</a> } +<a name="733" href="#733">733</a> +<a name="734" href="#734">734</a> <em>/**<em>*</em></em> +<a name="735" href="#735">735</a> <em> * Log a parameterized message at debug level.</em> +<a name="736" href="#736">736</a> <em> * @param logger logger, may not be null.</em> +<a name="737" href="#737">737</a> <em> * @param pattern pattern, may be null.</em> +<a name="738" href="#738">738</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="739" href="#739">739</a> <em> */</em> +<a name="740" href="#740">740</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="741" href="#741">741</a> <strong>final</strong> <strong>double</strong> argument) { +<a name="742" href="#742">742</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="743" href="#743">743</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="744" href="#744">744</a> } +<a name="745" href="#745">745</a> } +<a name="746" href="#746">746</a> +<a name="747" href="#747">747</a> <em>/**<em>*</em></em> +<a name="748" href="#748">748</a> <em> * Log a parameterized message at debug level.</em> +<a name="749" href="#749">749</a> <em> * @param logger logger, may not be null.</em> +<a name="750" href="#750">750</a> <em> * @param pattern pattern, may be null.</em> +<a name="751" href="#751">751</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="752" href="#752">752</a> <em> */</em> +<a name="753" href="#753">753</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="754" href="#754">754</a> <strong>final</strong> Object argument) { +<a name="755" href="#755">755</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="756" href="#756">756</a> forcedLog(logger, Level.DEBUG, format(pattern, argument)); +<a name="757" href="#757">757</a> } +<a name="758" href="#758">758</a> } +<a name="759" href="#759">759</a> +<a name="760" href="#760">760</a> <em>/**<em>*</em></em> +<a name="761" href="#761">761</a> <em> * Log a parameterized message at debug level.</em> +<a name="762" href="#762">762</a> <em> * @param logger logger, may not be null.</em> +<a name="763" href="#763">763</a> <em> * @param pattern pattern, may be null.</em> +<a name="764" href="#764">764</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="765" href="#765">765</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="766" href="#766">766</a> <em> */</em> +<a name="767" href="#767">767</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="768" href="#768">768</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { +<a name="769" href="#769">769</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="770" href="#770">770</a> forcedLog(logger, Level.DEBUG, +<a name="771" href="#771">771</a> format(pattern, toArray(arg0, arg1))); +<a name="772" href="#772">772</a> } +<a name="773" href="#773">773</a> } +<a name="774" href="#774">774</a> +<a name="775" href="#775">775</a> <em>/**<em>*</em></em> +<a name="776" href="#776">776</a> <em> * Log a parameterized message at debug level.</em> +<a name="777" href="#777">777</a> <em> * @param logger logger, may not be null.</em> +<a name="778" href="#778">778</a> <em> * @param pattern pattern, may be null.</em> +<a name="779" href="#779">779</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="780" href="#780">780</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="781" href="#781">781</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="782" href="#782">782</a> <em> */</em> +<a name="783" href="#783">783</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="784" href="#784">784</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { +<a name="785" href="#785">785</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="786" href="#786">786</a> forcedLog(logger, Level.DEBUG, +<a name="787" href="#787">787</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="788" href="#788">788</a> } +<a name="789" href="#789">789</a> } +<a name="790" href="#790">790</a> +<a name="791" href="#791">791</a> <em>/**<em>*</em></em> +<a name="792" href="#792">792</a> <em> * Log a parameterized message at debug level.</em> +<a name="793" href="#793">793</a> <em> * @param logger logger, may not be null.</em> +<a name="794" href="#794">794</a> <em> * @param pattern pattern, may be null.</em> +<a name="795" href="#795">795</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="796" href="#796">796</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="797" href="#797">797</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="798" href="#798">798</a> <em> * @param arg3 a value to be formatted and substituted.</em> +<a name="799" href="#799">799</a> <em> */</em> +<a name="800" href="#800">800</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="801" href="#801">801</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, +<a name="802" href="#802">802</a> <strong>final</strong> Object arg3) { +<a name="803" href="#803">803</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="804" href="#804">804</a> forcedLog(logger, Level.DEBUG, +<a name="805" href="#805">805</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); +<a name="806" href="#806">806</a> } +<a name="807" href="#807">807</a> } +<a name="808" href="#808">808</a> +<a name="809" href="#809">809</a> <em>/**<em>*</em></em> +<a name="810" href="#810">810</a> <em> * Log a parameterized message at info level.</em> +<a name="811" href="#811">811</a> <em> * @param logger logger, may not be null.</em> +<a name="812" href="#812">812</a> <em> * @param pattern pattern, may be null.</em> +<a name="813" href="#813">813</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="814" href="#814">814</a> <em> */</em> +<a name="815" href="#815">815</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="816" href="#816">816</a> <strong>final</strong> <strong>boolean</strong> argument) { +<a name="817" href="#817">817</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="818" href="#818">818</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="819" href="#819">819</a> } +<a name="820" href="#820">820</a> } +<a name="821" href="#821">821</a> +<a name="822" href="#822">822</a> <em>/**<em>*</em></em> +<a name="823" href="#823">823</a> <em> * Log a parameterized message at info level.</em> +<a name="824" href="#824">824</a> <em> * @param logger logger, may not be null.</em> +<a name="825" href="#825">825</a> <em> * @param pattern pattern, may be null.</em> +<a name="826" href="#826">826</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="827" href="#827">827</a> <em> */</em> +<a name="828" href="#828">828</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="829" href="#829">829</a> <strong>final</strong> <strong>char</strong> argument) { +<a name="830" href="#830">830</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="831" href="#831">831</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="832" href="#832">832</a> } +<a name="833" href="#833">833</a> } +<a name="834" href="#834">834</a> +<a name="835" href="#835">835</a> <em>/**<em>*</em></em> +<a name="836" href="#836">836</a> <em> * Log a parameterized message at info level.</em> +<a name="837" href="#837">837</a> <em> * @param logger logger, may not be null.</em> +<a name="838" href="#838">838</a> <em> * @param pattern pattern, may be null.</em> +<a name="839" href="#839">839</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="840" href="#840">840</a> <em> */</em> +<a name="841" href="#841">841</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="842" href="#842">842</a> <strong>final</strong> byte argument) { +<a name="843" href="#843">843</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="844" href="#844">844</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="845" href="#845">845</a> } +<a name="846" href="#846">846</a> } +<a name="847" href="#847">847</a> +<a name="848" href="#848">848</a> <em>/**<em>*</em></em> +<a name="849" href="#849">849</a> <em> * Log a parameterized message at info level.</em> +<a name="850" href="#850">850</a> <em> * @param logger logger, may not be null.</em> +<a name="851" href="#851">851</a> <em> * @param pattern pattern, may be null.</em> +<a name="852" href="#852">852</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="853" href="#853">853</a> <em> */</em> +<a name="854" href="#854">854</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="855" href="#855">855</a> <strong>final</strong> <strong>short</strong> argument) { +<a name="856" href="#856">856</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="857" href="#857">857</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="858" href="#858">858</a> } +<a name="859" href="#859">859</a> } +<a name="860" href="#860">860</a> +<a name="861" href="#861">861</a> <em>/**<em>*</em></em> +<a name="862" href="#862">862</a> <em> * Log a parameterized message at info level.</em> +<a name="863" href="#863">863</a> <em> * @param logger logger, may not be null.</em> +<a name="864" href="#864">864</a> <em> * @param pattern pattern, may be null.</em> +<a name="865" href="#865">865</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="866" href="#866">866</a> <em> */</em> +<a name="867" href="#867">867</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="868" href="#868">868</a> <strong>final</strong> <strong>int</strong> argument) { +<a name="869" href="#869">869</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="870" href="#870">870</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="871" href="#871">871</a> } +<a name="872" href="#872">872</a> } +<a name="873" href="#873">873</a> +<a name="874" href="#874">874</a> <em>/**<em>*</em></em> +<a name="875" href="#875">875</a> <em> * Log a parameterized message at info level.</em> +<a name="876" href="#876">876</a> <em> * @param logger logger, may not be null.</em> +<a name="877" href="#877">877</a> <em> * @param pattern pattern, may be null.</em> +<a name="878" href="#878">878</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="879" href="#879">879</a> <em> */</em> +<a name="880" href="#880">880</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="881" href="#881">881</a> <strong>final</strong> <strong>long</strong> argument) { +<a name="882" href="#882">882</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="883" href="#883">883</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="884" href="#884">884</a> } +<a name="885" href="#885">885</a> } +<a name="886" href="#886">886</a> +<a name="887" href="#887">887</a> <em>/**<em>*</em></em> +<a name="888" href="#888">888</a> <em> * Log a parameterized message at info level.</em> +<a name="889" href="#889">889</a> <em> * @param logger logger, may not be null.</em> +<a name="890" href="#890">890</a> <em> * @param pattern pattern, may be null.</em> +<a name="891" href="#891">891</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="892" href="#892">892</a> <em> */</em> +<a name="893" href="#893">893</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="894" href="#894">894</a> <strong>final</strong> <strong>float</strong> argument) { +<a name="895" href="#895">895</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="896" href="#896">896</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="897" href="#897">897</a> } +<a name="898" href="#898">898</a> } +<a name="899" href="#899">899</a> +<a name="900" href="#900">900</a> <em>/**<em>*</em></em> +<a name="901" href="#901">901</a> <em> * Log a parameterized message at info level.</em> +<a name="902" href="#902">902</a> <em> * @param logger logger, may not be null.</em> +<a name="903" href="#903">903</a> <em> * @param pattern pattern, may be null.</em> +<a name="904" href="#904">904</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="905" href="#905">905</a> <em> */</em> +<a name="906" href="#906">906</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="907" href="#907">907</a> <strong>final</strong> <strong>double</strong> argument) { +<a name="908" href="#908">908</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="909" href="#909">909</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="910" href="#910">910</a> } +<a name="911" href="#911">911</a> } +<a name="912" href="#912">912</a> +<a name="913" href="#913">913</a> <em>/**<em>*</em></em> +<a name="914" href="#914">914</a> <em> * Log a parameterized message at info level.</em> +<a name="915" href="#915">915</a> <em> * @param logger logger, may not be null.</em> +<a name="916" href="#916">916</a> <em> * @param pattern pattern, may be null.</em> +<a name="917" href="#917">917</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="918" href="#918">918</a> <em> */</em> +<a name="919" href="#919">919</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="920" href="#920">920</a> <strong>final</strong> Object argument) { +<a name="921" href="#921">921</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="922" href="#922">922</a> forcedLog(logger, Level.INFO, format(pattern, argument)); +<a name="923" href="#923">923</a> } +<a name="924" href="#924">924</a> } +<a name="925" href="#925">925</a> +<a name="926" href="#926">926</a> <em>/**<em>*</em></em> +<a name="927" href="#927">927</a> <em> * Log a parameterized message at info level.</em> +<a name="928" href="#928">928</a> <em> * @param logger logger, may not be null.</em> +<a name="929" href="#929">929</a> <em> * @param pattern pattern, may be null.</em> +<a name="930" href="#930">930</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="931" href="#931">931</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="932" href="#932">932</a> <em> */</em> +<a name="933" href="#933">933</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="934" href="#934">934</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { +<a name="935" href="#935">935</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="936" href="#936">936</a> forcedLog(logger, Level.INFO, format(pattern, toArray(arg0, arg1))); +<a name="937" href="#937">937</a> } +<a name="938" href="#938">938</a> } +<a name="939" href="#939">939</a> +<a name="940" href="#940">940</a> <em>/**<em>*</em></em> +<a name="941" href="#941">941</a> <em> * Log a parameterized message at info level.</em> +<a name="942" href="#942">942</a> <em> * @param logger logger, may not be null.</em> +<a name="943" href="#943">943</a> <em> * @param pattern pattern, may be null.</em> +<a name="944" href="#944">944</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="945" href="#945">945</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="946" href="#946">946</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="947" href="#947">947</a> <em> */</em> +<a name="948" href="#948">948</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="949" href="#949">949</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { +<a name="950" href="#950">950</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="951" href="#951">951</a> forcedLog(logger, Level.INFO, format(pattern, +<a name="952" href="#952">952</a> toArray(arg0, arg1, arg2))); +<a name="953" href="#953">953</a> } +<a name="954" href="#954">954</a> } +<a name="955" href="#955">955</a> +<a name="956" href="#956">956</a> <em>/**<em>*</em></em> +<a name="957" href="#957">957</a> <em> * Log a parameterized message at info level.</em> +<a name="958" href="#958">958</a> <em> * @param logger logger, may not be null.</em> +<a name="959" href="#959">959</a> <em> * @param pattern pattern, may be null.</em> +<a name="960" href="#960">960</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="961" href="#961">961</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="962" href="#962">962</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="963" href="#963">963</a> <em> * @param arg3 a value to be formatted and substituted.</em> +<a name="964" href="#964">964</a> <em> */</em> +<a name="965" href="#965">965</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="966" href="#966">966</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, +<a name="967" href="#967">967</a> <strong>final</strong> Object arg3) { +<a name="968" href="#968">968</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="969" href="#969">969</a> forcedLog(logger, Level.INFO, format(pattern, +<a name="970" href="#970">970</a> toArray(arg0, arg1, arg2, arg3))); +<a name="971" href="#971">971</a> } +<a name="972" href="#972">972</a> } +<a name="973" href="#973">973</a> +<a name="974" href="#974">974</a> <em>/**<em>*</em></em> +<a name="975" href="#975">975</a> <em> * Log a parameterized message at warn level.</em> +<a name="976" href="#976">976</a> <em> * @param logger logger, may not be null.</em> +<a name="977" href="#977">977</a> <em> * @param pattern pattern, may be null.</em> +<a name="978" href="#978">978</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="979" href="#979">979</a> <em> */</em> +<a name="980" href="#980">980</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="981" href="#981">981</a> <strong>final</strong> <strong>boolean</strong> argument) { +<a name="982" href="#982">982</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="983" href="#983">983</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="984" href="#984">984</a> } +<a name="985" href="#985">985</a> } +<a name="986" href="#986">986</a> +<a name="987" href="#987">987</a> <em>/**<em>*</em></em> +<a name="988" href="#988">988</a> <em> * Log a parameterized message at warn level.</em> +<a name="989" href="#989">989</a> <em> * @param logger logger, may not be null.</em> +<a name="990" href="#990">990</a> <em> * @param pattern pattern, may be null.</em> +<a name="991" href="#991">991</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="992" href="#992">992</a> <em> */</em> +<a name="993" href="#993">993</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="994" href="#994">994</a> <strong>final</strong> <strong>char</strong> argument) { +<a name="995" href="#995">995</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="996" href="#996">996</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="997" href="#997">997</a> } +<a name="998" href="#998">998</a> } +<a name="999" href="#999">999</a> +<a name="1000" href="#1000">1000</a> <em>/**<em>*</em></em> +<a name="1001" href="#1001">1001</a> <em> * Log a parameterized message at warn level.</em> +<a name="1002" href="#1002">1002</a> <em> * @param logger logger, may not be null.</em> +<a name="1003" href="#1003">1003</a> <em> * @param pattern pattern, may be null.</em> +<a name="1004" href="#1004">1004</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="1005" href="#1005">1005</a> <em> */</em> +<a name="1006" href="#1006">1006</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="1007" href="#1007">1007</a> <strong>final</strong> byte argument) { +<a name="1008" href="#1008">1008</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1009" href="#1009">1009</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1010" href="#1010">1010</a> } +<a name="1011" href="#1011">1011</a> } +<a name="1012" href="#1012">1012</a> +<a name="1013" href="#1013">1013</a> <em>/**<em>*</em></em> +<a name="1014" href="#1014">1014</a> <em> * Log a parameterized message at warn level.</em> +<a name="1015" href="#1015">1015</a> <em> * @param logger logger, may not be null.</em> +<a name="1016" href="#1016">1016</a> <em> * @param pattern pattern, may be null.</em> +<a name="1017" href="#1017">1017</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="1018" href="#1018">1018</a> <em> */</em> +<a name="1019" href="#1019">1019</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="1020" href="#1020">1020</a> <strong>final</strong> <strong>short</strong> argument) { +<a name="1021" href="#1021">1021</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1022" href="#1022">1022</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1023" href="#1023">1023</a> } +<a name="1024" href="#1024">1024</a> } +<a name="1025" href="#1025">1025</a> +<a name="1026" href="#1026">1026</a> <em>/**<em>*</em></em> +<a name="1027" href="#1027">1027</a> <em> * Log a parameterized message at warn level.</em> +<a name="1028" href="#1028">1028</a> <em> * @param logger logger, may not be null.</em> +<a name="1029" href="#1029">1029</a> <em> * @param pattern pattern, may be null.</em> +<a name="1030" href="#1030">1030</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="1031" href="#1031">1031</a> <em> */</em> +<a name="1032" href="#1032">1032</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="1033" href="#1033">1033</a> <strong>final</strong> <strong>int</strong> argument) { +<a name="1034" href="#1034">1034</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1035" href="#1035">1035</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1036" href="#1036">1036</a> } +<a name="1037" href="#1037">1037</a> } +<a name="1038" href="#1038">1038</a> +<a name="1039" href="#1039">1039</a> <em>/**<em>*</em></em> +<a name="1040" href="#1040">1040</a> <em> * Log a parameterized message at warn level.</em> +<a name="1041" href="#1041">1041</a> <em> * @param logger logger, may not be null.</em> +<a name="1042" href="#1042">1042</a> <em> * @param pattern pattern, may be null.</em> +<a name="1043" href="#1043">1043</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="1044" href="#1044">1044</a> <em> */</em> +<a name="1045" href="#1045">1045</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="1046" href="#1046">1046</a> <strong>final</strong> <strong>long</strong> argument) { +<a name="1047" href="#1047">1047</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1048" href="#1048">1048</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1049" href="#1049">1049</a> } +<a name="1050" href="#1050">1050</a> } +<a name="1051" href="#1051">1051</a> +<a name="1052" href="#1052">1052</a> <em>/**<em>*</em></em> +<a name="1053" href="#1053">1053</a> <em> * Log a parameterized message at warn level.</em> +<a name="1054" href="#1054">1054</a> <em> * @param logger logger, may not be null.</em> +<a name="1055" href="#1055">1055</a> <em> * @param pattern pattern, may be null.</em> +<a name="1056" href="#1056">1056</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="1057" href="#1057">1057</a> <em> */</em> +<a name="1058" href="#1058">1058</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="1059" href="#1059">1059</a> <strong>final</strong> <strong>float</strong> argument) { +<a name="1060" href="#1060">1060</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1061" href="#1061">1061</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1062" href="#1062">1062</a> } +<a name="1063" href="#1063">1063</a> } +<a name="1064" href="#1064">1064</a> +<a name="1065" href="#1065">1065</a> <em>/**<em>*</em></em> +<a name="1066" href="#1066">1066</a> <em> * Log a parameterized message at warn level.</em> +<a name="1067" href="#1067">1067</a> <em> * @param logger logger, may not be null.</em> +<a name="1068" href="#1068">1068</a> <em> * @param pattern pattern, may be null.</em> +<a name="1069" href="#1069">1069</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="1070" href="#1070">1070</a> <em> */</em> +<a name="1071" href="#1071">1071</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="1072" href="#1072">1072</a> <strong>final</strong> <strong>double</strong> argument) { +<a name="1073" href="#1073">1073</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1074" href="#1074">1074</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="1075" href="#1075">1075</a> } +<a name="1076" href="#1076">1076</a> } +<a name="1077" href="#1077">1077</a> +<a name="1078" href="#1078">1078</a> <em>/**<em>*</em></em> +<a name="1079" href="#1079">1079</a> <em> * Log a parameterized message at warn level.</em> +<a name="1080" href="#1080">1080</a> <em> * @param logger logger, may not be null.</em> +<a name="1081" href="#1081">1081</a> <em> * @param pattern pattern, may be null.</em> +<a name="1082" href="#1082">1082</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="1083" href="#1083">1083</a> <em> */</em> +<a name="1084" href="#1084">1084</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="1085" href="#1085">1085</a> <strong>final</strong> Object argument) { +<a name="1086" href="#1086">1086</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1087" href="#1087">1087</a> forcedLog(logger, Level.WARN, format(pattern, argument)); +<a name="1088" href="#1088">1088</a> } +<a name="1089" href="#1089">1089</a> } +<a name="1090" href="#1090">1090</a> +<a name="1091" href="#1091">1091</a> <em>/**<em>*</em></em> +<a name="1092" href="#1092">1092</a> <em> * Log a parameterized message at warn level.</em> +<a name="1093" href="#1093">1093</a> <em> * @param logger logger, may not be null.</em> +<a name="1094" href="#1094">1094</a> <em> * @param pattern pattern, may be null.</em> +<a name="1095" href="#1095">1095</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="1096" href="#1096">1096</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="1097" href="#1097">1097</a> <em> */</em> +<a name="1098" href="#1098">1098</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="1099" href="#1099">1099</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { +<a name="1100" href="#1100">1100</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1101" href="#1101">1101</a> forcedLog(logger, Level.WARN, +<a name="1102" href="#1102">1102</a> format(pattern, toArray(arg0, arg1))); +<a name="1103" href="#1103">1103</a> } +<a name="1104" href="#1104">1104</a> } +<a name="1105" href="#1105">1105</a> +<a name="1106" href="#1106">1106</a> <em>/**<em>*</em></em> +<a name="1107" href="#1107">1107</a> <em> * Log a parameterized message at warn level.</em> +<a name="1108" href="#1108">1108</a> <em> * @param logger logger, may not be null.</em> +<a name="1109" href="#1109">1109</a> <em> * @param pattern pattern, may be null.</em> +<a name="1110" href="#1110">1110</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="1111" href="#1111">1111</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="1112" href="#1112">1112</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="1113" href="#1113">1113</a> <em> */</em> +<a name="1114" href="#1114">1114</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="1115" href="#1115">1115</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { +<a name="1116" href="#1116">1116</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1117" href="#1117">1117</a> forcedLog(logger, Level.WARN, +<a name="1118" href="#1118">1118</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="1119" href="#1119">1119</a> } +<a name="1120" href="#1120">1120</a> } +<a name="1121" href="#1121">1121</a> +<a name="1122" href="#1122">1122</a> <em>/**<em>*</em></em> +<a name="1123" href="#1123">1123</a> <em> * Log a parameterized message at warn level.</em> +<a name="1124" href="#1124">1124</a> <em> * @param logger logger, may not be null.</em> +<a name="1125" href="#1125">1125</a> <em> * @param pattern pattern, may be null.</em> +<a name="1126" href="#1126">1126</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="1127" href="#1127">1127</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="1128" href="#1128">1128</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="1129" href="#1129">1129</a> <em> * @param arg3 a value to be formatted and substituted.</em> +<a name="1130" href="#1130">1130</a> <em> */</em> +<a name="1131" href="#1131">1131</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="1132" href="#1132">1132</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, +<a name="1133" href="#1133">1133</a> <strong>final</strong> Object arg3) { +<a name="1134" href="#1134">1134</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1135" href="#1135">1135</a> forcedLog(logger, Level.WARN, format(pattern, +<a name="1136" href="#1136">1136</a> toArray(arg0, arg1, arg2, arg3))); +<a name="1137" href="#1137">1137</a> } +<a name="1138" href="#1138">1138</a> } +<a name="1139" href="#1139">1139</a> +<a name="1140" href="#1140">1140</a> <em>/**<em>*</em></em> +<a name="1141" href="#1141">1141</a> <em> * Log a parameterized message at specified level.</em> +<a name="1142" href="#1142">1142</a> <em> * @param logger logger, may not be null.</em> +<a name="1143" href="#1143">1143</a> <em> * @param level level, may not be null.</em> +<a name="1144" href="#1144">1144</a> <em> * @param pattern pattern, may be null.</em> +<a name="1145" href="#1145">1145</a> <em> * @param parameters parameters to the log message.</em> +<a name="1146" href="#1146">1146</a> <em> */</em> +<a name="1147" href="#1147">1147</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1148" href="#1148">1148</a> <strong>final</strong> Level level, +<a name="1149" href="#1149">1149</a> <strong>final</strong> String pattern, +<a name="1150" href="#1150">1150</a> <strong>final</strong> Object[] parameters) { +<a name="1151" href="#1151">1151</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1152" href="#1152">1152</a> forcedLog(logger, level, +<a name="1153" href="#1153">1153</a> format(pattern, parameters)); +<a name="1154" href="#1154">1154</a> } +<a name="1155" href="#1155">1155</a> } +<a name="1156" href="#1156">1156</a> +<a name="1157" href="#1157">1157</a> <em>/**<em>*</em></em> +<a name="1158" href="#1158">1158</a> <em> * Log a parameterized message at specified level.</em> +<a name="1159" href="#1159">1159</a> <em> * @param logger logger, may not be null.</em> +<a name="1160" href="#1160">1160</a> <em> * @param level level, may not be null.</em> +<a name="1161" href="#1161">1161</a> <em> * @param t throwable, may be null.</em> +<a name="1162" href="#1162">1162</a> <em> * @param pattern pattern, may be null.</em> +<a name="1163" href="#1163">1163</a> <em> * @param parameters parameters to the log message.</em> +<a name="1164" href="#1164">1164</a> <em> */</em> +<a name="1165" href="#1165">1165</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1166" href="#1166">1166</a> <strong>final</strong> Level level, +<a name="1167" href="#1167">1167</a> <strong>final</strong> Throwable t, +<a name="1168" href="#1168">1168</a> <strong>final</strong> String pattern, +<a name="1169" href="#1169">1169</a> <strong>final</strong> Object[] parameters) { +<a name="1170" href="#1170">1170</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1171" href="#1171">1171</a> forcedLog(logger, level, +<a name="1172" href="#1172">1172</a> format(pattern, parameters), t); +<a name="1173" href="#1173">1173</a> } +<a name="1174" href="#1174">1174</a> } +<a name="1175" href="#1175">1175</a> +<a name="1176" href="#1176">1176</a> <em>/**<em>*</em></em> +<a name="1177" href="#1177">1177</a> <em> * Log a parameterized message at specified level.</em> +<a name="1178" href="#1178">1178</a> <em> * @param logger logger, may not be null.</em> +<a name="1179" href="#1179">1179</a> <em> * @param level level, may not be null.</em> +<a name="1180" href="#1180">1180</a> <em> * @param pattern pattern, may be null.</em> +<a name="1181" href="#1181">1181</a> <em> * @param param1 parameter to the log message.</em> +<a name="1182" href="#1182">1182</a> <em> */</em> +<a name="1183" href="#1183">1183</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1184" href="#1184">1184</a> <strong>final</strong> Level level, +<a name="1185" href="#1185">1185</a> <strong>final</strong> String pattern, +<a name="1186" href="#1186">1186</a> <strong>final</strong> Object param1) { +<a name="1187" href="#1187">1187</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1188" href="#1188">1188</a> forcedLog(logger, level, +<a name="1189" href="#1189">1189</a> format(pattern, toArray(param1))); +<a name="1190" href="#1190">1190</a> } +<a name="1191" href="#1191">1191</a> } +<a name="1192" href="#1192">1192</a> +<a name="1193" href="#1193">1193</a> <em>/**<em>*</em></em> +<a name="1194" href="#1194">1194</a> <em> * Log a parameterized message at specified level.</em> +<a name="1195" href="#1195">1195</a> <em> * @param logger logger, may not be null.</em> +<a name="1196" href="#1196">1196</a> <em> * @param level level, may not be null.</em> +<a name="1197" href="#1197">1197</a> <em> * @param pattern pattern, may be null.</em> +<a name="1198" href="#1198">1198</a> <em> * @param param1 parameter to the log message.</em> +<a name="1199" href="#1199">1199</a> <em> */</em> +<a name="1200" href="#1200">1200</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1201" href="#1201">1201</a> <strong>final</strong> Level level, +<a name="1202" href="#1202">1202</a> <strong>final</strong> String pattern, +<a name="1203" href="#1203">1203</a> <strong>final</strong> <strong>boolean</strong> param1) { +<a name="1204" href="#1204">1204</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1205" href="#1205">1205</a> forcedLog(logger, level, +<a name="1206" href="#1206">1206</a> format(pattern, toArray(valueOf(param1)))); +<a name="1207" href="#1207">1207</a> } +<a name="1208" href="#1208">1208</a> } +<a name="1209" href="#1209">1209</a> +<a name="1210" href="#1210">1210</a> +<a name="1211" href="#1211">1211</a> <em>/**<em>*</em></em> +<a name="1212" href="#1212">1212</a> <em> * Log a parameterized message at specified level.</em> +<a name="1213" href="#1213">1213</a> <em> * @param logger logger, may not be null.</em> +<a name="1214" href="#1214">1214</a> <em> * @param level level, may not be null.</em> +<a name="1215" href="#1215">1215</a> <em> * @param pattern pattern, may be null.</em> +<a name="1216" href="#1216">1216</a> <em> * @param param1 parameter to the log message.</em> +<a name="1217" href="#1217">1217</a> <em> */</em> +<a name="1218" href="#1218">1218</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1219" href="#1219">1219</a> <strong>final</strong> Level level, +<a name="1220" href="#1220">1220</a> <strong>final</strong> String pattern, +<a name="1221" href="#1221">1221</a> <strong>final</strong> byte param1) { +<a name="1222" href="#1222">1222</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1223" href="#1223">1223</a> forcedLog(logger, level, +<a name="1224" href="#1224">1224</a> format(pattern, toArray(valueOf(param1)))); +<a name="1225" href="#1225">1225</a> } +<a name="1226" href="#1226">1226</a> } +<a name="1227" href="#1227">1227</a> +<a name="1228" href="#1228">1228</a> +<a name="1229" href="#1229">1229</a> <em>/**<em>*</em></em> +<a name="1230" href="#1230">1230</a> <em> * Log a parameterized message at specified level.</em> +<a name="1231" href="#1231">1231</a> <em> * @param logger logger, may not be null.</em> +<a name="1232" href="#1232">1232</a> <em> * @param level level, may not be null.</em> +<a name="1233" href="#1233">1233</a> <em> * @param pattern pattern, may be null.</em> +<a name="1234" href="#1234">1234</a> <em> * @param param1 parameter to the log message.</em> +<a name="1235" href="#1235">1235</a> <em> */</em> +<a name="1236" href="#1236">1236</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1237" href="#1237">1237</a> <strong>final</strong> Level level, +<a name="1238" href="#1238">1238</a> <strong>final</strong> String pattern, +<a name="1239" href="#1239">1239</a> <strong>final</strong> <strong>char</strong> param1) { +<a name="1240" href="#1240">1240</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1241" href="#1241">1241</a> forcedLog(logger, level, +<a name="1242" href="#1242">1242</a> format(pattern, toArray(valueOf(param1)))); +<a name="1243" href="#1243">1243</a> } +<a name="1244" href="#1244">1244</a> } +<a name="1245" href="#1245">1245</a> +<a name="1246" href="#1246">1246</a> <em>/**<em>*</em></em> +<a name="1247" href="#1247">1247</a> <em> * Log a parameterized message at specified level.</em> +<a name="1248" href="#1248">1248</a> <em> * @param logger logger, may not be null.</em> +<a name="1249" href="#1249">1249</a> <em> * @param level level, may not be null.</em> +<a name="1250" href="#1250">1250</a> <em> * @param pattern pattern, may be null.</em> +<a name="1251" href="#1251">1251</a> <em> * @param param1 parameter to the log message.</em> +<a name="1252" href="#1252">1252</a> <em> */</em> +<a name="1253" href="#1253">1253</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1254" href="#1254">1254</a> <strong>final</strong> Level level, +<a name="1255" href="#1255">1255</a> <strong>final</strong> String pattern, +<a name="1256" href="#1256">1256</a> <strong>final</strong> <strong>short</strong> param1) { +<a name="1257" href="#1257">1257</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1258" href="#1258">1258</a> forcedLog(logger, level, +<a name="1259" href="#1259">1259</a> format(pattern, toArray(valueOf(param1)))); +<a name="1260" href="#1260">1260</a> } +<a name="1261" href="#1261">1261</a> } +<a name="1262" href="#1262">1262</a> +<a name="1263" href="#1263">1263</a> <em>/**<em>*</em></em> +<a name="1264" href="#1264">1264</a> <em> * Log a parameterized message at specified level.</em> +<a name="1265" href="#1265">1265</a> <em> * @param logger logger, may not be null.</em> +<a name="1266" href="#1266">1266</a> <em> * @param level level, may not be null.</em> +<a name="1267" href="#1267">1267</a> <em> * @param pattern pattern, may be null.</em> +<a name="1268" href="#1268">1268</a> <em> * @param param1 parameter to the log message.</em> +<a name="1269" href="#1269">1269</a> <em> */</em> +<a name="1270" href="#1270">1270</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1271" href="#1271">1271</a> <strong>final</strong> Level level, +<a name="1272" href="#1272">1272</a> <strong>final</strong> String pattern, +<a name="1273" href="#1273">1273</a> <strong>final</strong> <strong>int</strong> param1) { +<a name="1274" href="#1274">1274</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1275" href="#1275">1275</a> forcedLog(logger, level, +<a name="1276" href="#1276">1276</a> format(pattern, toArray(valueOf(param1)))); +<a name="1277" href="#1277">1277</a> } +<a name="1278" href="#1278">1278</a> } +<a name="1279" href="#1279">1279</a> +<a name="1280" href="#1280">1280</a> +<a name="1281" href="#1281">1281</a> <em>/**<em>*</em></em> +<a name="1282" href="#1282">1282</a> <em> * Log a parameterized message at specified level.</em> +<a name="1283" href="#1283">1283</a> <em> * @param logger logger, may not be null.</em> +<a name="1284" href="#1284">1284</a> <em> * @param level level, may not be null.</em> +<a name="1285" href="#1285">1285</a> <em> * @param pattern pattern, may be null.</em> +<a name="1286" href="#1286">1286</a> <em> * @param param1 parameter to the log message.</em> +<a name="1287" href="#1287">1287</a> <em> */</em> +<a name="1288" href="#1288">1288</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1289" href="#1289">1289</a> <strong>final</strong> Level level, +<a name="1290" href="#1290">1290</a> <strong>final</strong> String pattern, +<a name="1291" href="#1291">1291</a> <strong>final</strong> <strong>long</strong> param1) { +<a name="1292" href="#1292">1292</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1293" href="#1293">1293</a> forcedLog(logger, level, +<a name="1294" href="#1294">1294</a> format(pattern, toArray(valueOf(param1)))); +<a name="1295" href="#1295">1295</a> } +<a name="1296" href="#1296">1296</a> } +<a name="1297" href="#1297">1297</a> +<a name="1298" href="#1298">1298</a> +<a name="1299" href="#1299">1299</a> <em>/**<em>*</em></em> +<a name="1300" href="#1300">1300</a> <em> * Log a parameterized message at specified level.</em> +<a name="1301" href="#1301">1301</a> <em> * @param logger logger, may not be null.</em> +<a name="1302" href="#1302">1302</a> <em> * @param level level, may not be null.</em> +<a name="1303" href="#1303">1303</a> <em> * @param pattern pattern, may be null.</em> +<a name="1304" href="#1304">1304</a> <em> * @param param1 parameter to the log message.</em> +<a name="1305" href="#1305">1305</a> <em> */</em> +<a name="1306" href="#1306">1306</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1307" href="#1307">1307</a> <strong>final</strong> Level level, +<a name="1308" href="#1308">1308</a> <strong>final</strong> String pattern, +<a name="1309" href="#1309">1309</a> <strong>final</strong> <strong>float</strong> param1) { +<a name="1310" href="#1310">1310</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1311" href="#1311">1311</a> forcedLog(logger, level, +<a name="1312" href="#1312">1312</a> format(pattern, toArray(valueOf(param1)))); +<a name="1313" href="#1313">1313</a> } +<a name="1314" href="#1314">1314</a> } +<a name="1315" href="#1315">1315</a> +<a name="1316" href="#1316">1316</a> +<a name="1317" href="#1317">1317</a> <em>/**<em>*</em></em> +<a name="1318" href="#1318">1318</a> <em> * Log a parameterized message at specified level.</em> +<a name="1319" href="#1319">1319</a> <em> * @param logger logger, may not be null.</em> +<a name="1320" href="#1320">1320</a> <em> * @param level level, may not be null.</em> +<a name="1321" href="#1321">1321</a> <em> * @param pattern pattern, may be null.</em> +<a name="1322" href="#1322">1322</a> <em> * @param param1 parameter to the log message.</em> +<a name="1323" href="#1323">1323</a> <em> */</em> +<a name="1324" href="#1324">1324</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1325" href="#1325">1325</a> <strong>final</strong> Level level, +<a name="1326" href="#1326">1326</a> <strong>final</strong> String pattern, +<a name="1327" href="#1327">1327</a> <strong>final</strong> <strong>double</strong> param1) { +<a name="1328" href="#1328">1328</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1329" href="#1329">1329</a> forcedLog(logger, level, +<a name="1330" href="#1330">1330</a> format(pattern, toArray(valueOf(param1)))); +<a name="1331" href="#1331">1331</a> } +<a name="1332" href="#1332">1332</a> } +<a name="1333" href="#1333">1333</a> +<a name="1334" href="#1334">1334</a> +<a name="1335" href="#1335">1335</a> <em>/**<em>*</em></em> +<a name="1336" href="#1336">1336</a> <em> * Log a parameterized message at specified level.</em> +<a name="1337" href="#1337">1337</a> <em> * @param logger logger, may not be null.</em> +<a name="1338" href="#1338">1338</a> <em> * @param level level, may not be null.</em> +<a name="1339" href="#1339">1339</a> <em> * @param pattern pattern, may be null.</em> +<a name="1340" href="#1340">1340</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="1341" href="#1341">1341</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="1342" href="#1342">1342</a> <em> */</em> +<a name="1343" href="#1343">1343</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1344" href="#1344">1344</a> <strong>final</strong> Level level, +<a name="1345" href="#1345">1345</a> <strong>final</strong> String pattern, +<a name="1346" href="#1346">1346</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { +<a name="1347" href="#1347">1347</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1348" href="#1348">1348</a> forcedLog(logger, level, +<a name="1349" href="#1349">1349</a> format(pattern, toArray(arg0, arg1))); +<a name="1350" href="#1350">1350</a> } +<a name="1351" href="#1351">1351</a> } +<a name="1352" href="#1352">1352</a> +<a name="1353" href="#1353">1353</a> <em>/**<em>*</em></em> +<a name="1354" href="#1354">1354</a> <em> * Log a parameterized message at specifed level.</em> +<a name="1355" href="#1355">1355</a> <em> * @param logger logger, may not be null.</em> +<a name="1356" href="#1356">1356</a> <em> * @param level level, may not be null.</em> +<a name="1357" href="#1357">1357</a> <em> * @param pattern pattern, may be null.</em> +<a name="1358" href="#1358">1358</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="1359" href="#1359">1359</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="1360" href="#1360">1360</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="1361" href="#1361">1361</a> <em> */</em> +<a name="1362" href="#1362">1362</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1363" href="#1363">1363</a> <strong>final</strong> Level level, +<a name="1364" href="#1364">1364</a> <strong>final</strong> String pattern, +<a name="1365" href="#1365">1365</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { +<a name="1366" href="#1366">1366</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1367" href="#1367">1367</a> forcedLog(logger, level, +<a name="1368" href="#1368">1368</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="1369" href="#1369">1369</a> } +<a name="1370" href="#1370">1370</a> } +<a name="1371" href="#1371">1371</a> +<a name="1372" href="#1372">1372</a> <em>/**<em>*</em></em> +<a name="1373" href="#1373">1373</a> <em> * Log a parameterized message at specified level.</em> +<a name="1374" href="#1374">1374</a> <em> * @param logger logger, may not be null.</em> +<a name="1375" href="#1375">1375</a> <em> * @param pattern pattern, may be null.</em> +<a name="1376" href="#1376">1376</a> <em> * @param level level, may not be null.</em> +<a name="1377" href="#1377">1377</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="1378" href="#1378">1378</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="1379" href="#1379">1379</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="1380" href="#1380">1380</a> <em> * @param arg3 a value to be formatted and substituted.</em> +<a name="1381" href="#1381">1381</a> <em> */</em> +<a name="1382" href="#1382">1382</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1383" href="#1383">1383</a> <strong>final</strong> Level level, +<a name="1384" href="#1384">1384</a> <strong>final</strong> String pattern, +<a name="1385" href="#1385">1385</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, +<a name="1386" href="#1386">1386</a> <strong>final</strong> Object arg3) { +<a name="1387" href="#1387">1387</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1388" href="#1388">1388</a> forcedLog(logger, level, format(pattern, +<a name="1389" href="#1389">1389</a> toArray(arg0, arg1, arg2, arg3))); +<a name="1390" href="#1390">1390</a> } +<a name="1391" href="#1391">1391</a> } +<a name="1392" href="#1392">1392</a> +<a name="1393" href="#1393">1393</a> +<a name="1394" href="#1394">1394</a> <em>/**<em>*</em></em> +<a name="1395" href="#1395">1395</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1396" href="#1396">1396</a> <em> * @param logger logger, may not be null.</em> +<a name="1397" href="#1397">1397</a> <em> * @param level level, may not be null.</em> +<a name="1398" href="#1398">1398</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1399" href="#1399">1399</a> <em> * @param key key, may be null.</em> +<a name="1400" href="#1400">1400</a> <em> * @param parameters parameters to the log message.</em> +<a name="1401" href="#1401">1401</a> <em> */</em> +<a name="1402" href="#1402">1402</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1403" href="#1403">1403</a> <strong>final</strong> Level level, +<a name="1404" href="#1404">1404</a> <strong>final</strong> String bundleName, +<a name="1405" href="#1405">1405</a> <strong>final</strong> String key, +<a name="1406" href="#1406">1406</a> <strong>final</strong> Object[] parameters) { +<a name="1407" href="#1407">1407</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1408" href="#1408">1408</a> forcedLog(logger, level, +<a name="1409" href="#1409">1409</a> format(bundleName, key, parameters)); +<a name="1410" href="#1410">1410</a> } +<a name="1411" href="#1411">1411</a> } +<a name="1412" href="#1412">1412</a> +<a name="1413" href="#1413">1413</a> <em>/**<em>*</em></em> +<a name="1414" href="#1414">1414</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1415" href="#1415">1415</a> <em> * @param logger logger, may not be null.</em> +<a name="1416" href="#1416">1416</a> <em> * @param level level, may not be null.</em> +<a name="1417" href="#1417">1417</a> <em> * @param t throwable, may be null.</em> +<a name="1418" href="#1418">1418</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1419" href="#1419">1419</a> <em> * @param key key, may be null.</em> +<a name="1420" href="#1420">1420</a> <em> * @param parameters parameters to the log message.</em> +<a name="1421" href="#1421">1421</a> <em> */</em> +<a name="1422" href="#1422">1422</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1423" href="#1423">1423</a> <strong>final</strong> Level level, +<a name="1424" href="#1424">1424</a> <strong>final</strong> Throwable t, +<a name="1425" href="#1425">1425</a> <strong>final</strong> String bundleName, +<a name="1426" href="#1426">1426</a> <strong>final</strong> String key, +<a name="1427" href="#1427">1427</a> <strong>final</strong> Object[] parameters) { +<a name="1428" href="#1428">1428</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1429" href="#1429">1429</a> forcedLog(logger, level, +<a name="1430" href="#1430">1430</a> format(bundleName, key, parameters), t); +<a name="1431" href="#1431">1431</a> } +<a name="1432" href="#1432">1432</a> } +<a name="1433" href="#1433">1433</a> +<a name="1434" href="#1434">1434</a> <em>/**<em>*</em></em> +<a name="1435" href="#1435">1435</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1436" href="#1436">1436</a> <em> * @param logger logger, may not be null.</em> +<a name="1437" href="#1437">1437</a> <em> * @param level level, may not be null.</em> +<a name="1438" href="#1438">1438</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1439" href="#1439">1439</a> <em> * @param key key, may be null.</em> +<a name="1440" href="#1440">1440</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1441" href="#1441">1441</a> <em> */</em> +<a name="1442" href="#1442">1442</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1443" href="#1443">1443</a> <strong>final</strong> Level level, +<a name="1444" href="#1444">1444</a> <strong>final</strong> String bundleName, +<a name="1445" href="#1445">1445</a> <strong>final</strong> String key, +<a name="1446" href="#1446">1446</a> <strong>final</strong> Object param1) { +<a name="1447" href="#1447">1447</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1448" href="#1448">1448</a> forcedLog(logger, level, +<a name="1449" href="#1449">1449</a> format(bundleName, key, toArray(param1))); +<a name="1450" href="#1450">1450</a> } +<a name="1451" href="#1451">1451</a> } +<a name="1452" href="#1452">1452</a> +<a name="1453" href="#1453">1453</a> <em>/**<em>*</em></em> +<a name="1454" href="#1454">1454</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1455" href="#1455">1455</a> <em> * @param logger logger, may not be null.</em> +<a name="1456" href="#1456">1456</a> <em> * @param level level, may not be null.</em> +<a name="1457" href="#1457">1457</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1458" href="#1458">1458</a> <em> * @param key key, may be null.</em> +<a name="1459" href="#1459">1459</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1460" href="#1460">1460</a> <em> */</em> +<a name="1461" href="#1461">1461</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1462" href="#1462">1462</a> <strong>final</strong> Level level, +<a name="1463" href="#1463">1463</a> <strong>final</strong> String bundleName, +<a name="1464" href="#1464">1464</a> <strong>final</strong> String key, +<a name="1465" href="#1465">1465</a> <strong>final</strong> <strong>boolean</strong> param1) { +<a name="1466" href="#1466">1466</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1467" href="#1467">1467</a> forcedLog(logger, level, +<a name="1468" href="#1468">1468</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1469" href="#1469">1469</a> } +<a name="1470" href="#1470">1470</a> } +<a name="1471" href="#1471">1471</a> +<a name="1472" href="#1472">1472</a> <em>/**<em>*</em></em> +<a name="1473" href="#1473">1473</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1474" href="#1474">1474</a> <em> * @param logger logger, may not be null.</em> +<a name="1475" href="#1475">1475</a> <em> * @param level level, may not be null.</em> +<a name="1476" href="#1476">1476</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1477" href="#1477">1477</a> <em> * @param key key, may be null.</em> +<a name="1478" href="#1478">1478</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1479" href="#1479">1479</a> <em> */</em> +<a name="1480" href="#1480">1480</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1481" href="#1481">1481</a> <strong>final</strong> Level level, +<a name="1482" href="#1482">1482</a> <strong>final</strong> String bundleName, +<a name="1483" href="#1483">1483</a> <strong>final</strong> String key, +<a name="1484" href="#1484">1484</a> <strong>final</strong> <strong>char</strong> param1) { +<a name="1485" href="#1485">1485</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1486" href="#1486">1486</a> forcedLog(logger, level, +<a name="1487" href="#1487">1487</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1488" href="#1488">1488</a> } +<a name="1489" href="#1489">1489</a> } +<a name="1490" href="#1490">1490</a> +<a name="1491" href="#1491">1491</a> <em>/**<em>*</em></em> +<a name="1492" href="#1492">1492</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1493" href="#1493">1493</a> <em> * @param logger logger, may not be null.</em> +<a name="1494" href="#1494">1494</a> <em> * @param level level, may not be null.</em> +<a name="1495" href="#1495">1495</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1496" href="#1496">1496</a> <em> * @param key key, may be null.</em> +<a name="1497" href="#1497">1497</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1498" href="#1498">1498</a> <em> */</em> +<a name="1499" href="#1499">1499</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1500" href="#1500">1500</a> <strong>final</strong> Level level, +<a name="1501" href="#1501">1501</a> <strong>final</strong> String bundleName, +<a name="1502" href="#1502">1502</a> <strong>final</strong> String key, +<a name="1503" href="#1503">1503</a> <strong>final</strong> byte param1) { +<a name="1504" href="#1504">1504</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1505" href="#1505">1505</a> forcedLog(logger, level, +<a name="1506" href="#1506">1506</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1507" href="#1507">1507</a> } +<a name="1508" href="#1508">1508</a> } +<a name="1509" href="#1509">1509</a> +<a name="1510" href="#1510">1510</a> <em>/**<em>*</em></em> +<a name="1511" href="#1511">1511</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1512" href="#1512">1512</a> <em> * @param logger logger, may not be null.</em> +<a name="1513" href="#1513">1513</a> <em> * @param level level, may not be null.</em> +<a name="1514" href="#1514">1514</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1515" href="#1515">1515</a> <em> * @param key key, may be null.</em> +<a name="1516" href="#1516">1516</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1517" href="#1517">1517</a> <em> */</em> +<a name="1518" href="#1518">1518</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1519" href="#1519">1519</a> <strong>final</strong> Level level, +<a name="1520" href="#1520">1520</a> <strong>final</strong> String bundleName, +<a name="1521" href="#1521">1521</a> <strong>final</strong> String key, +<a name="1522" href="#1522">1522</a> <strong>final</strong> <strong>short</strong> param1) { +<a name="1523" href="#1523">1523</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1524" href="#1524">1524</a> forcedLog(logger, level, +<a name="1525" href="#1525">1525</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1526" href="#1526">1526</a> } +<a name="1527" href="#1527">1527</a> } +<a name="1528" href="#1528">1528</a> +<a name="1529" href="#1529">1529</a> <em>/**<em>*</em></em> +<a name="1530" href="#1530">1530</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1531" href="#1531">1531</a> <em> * @param logger logger, may not be null.</em> +<a name="1532" href="#1532">1532</a> <em> * @param level level, may not be null.</em> +<a name="1533" href="#1533">1533</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1534" href="#1534">1534</a> <em> * @param key key, may be null.</em> +<a name="1535" href="#1535">1535</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1536" href="#1536">1536</a> <em> */</em> +<a name="1537" href="#1537">1537</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1538" href="#1538">1538</a> <strong>final</strong> Level level, +<a name="1539" href="#1539">1539</a> <strong>final</strong> String bundleName, +<a name="1540" href="#1540">1540</a> <strong>final</strong> String key, +<a name="1541" href="#1541">1541</a> <strong>final</strong> <strong>int</strong> param1) { +<a name="1542" href="#1542">1542</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1543" href="#1543">1543</a> forcedLog(logger, level, +<a name="1544" href="#1544">1544</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1545" href="#1545">1545</a> } +<a name="1546" href="#1546">1546</a> } +<a name="1547" href="#1547">1547</a> +<a name="1548" href="#1548">1548</a> <em>/**<em>*</em></em> +<a name="1549" href="#1549">1549</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1550" href="#1550">1550</a> <em> * @param logger logger, may not be null.</em> +<a name="1551" href="#1551">1551</a> <em> * @param level level, may not be null.</em> +<a name="1552" href="#1552">1552</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1553" href="#1553">1553</a> <em> * @param key key, may be null.</em> +<a name="1554" href="#1554">1554</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1555" href="#1555">1555</a> <em> */</em> +<a name="1556" href="#1556">1556</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1557" href="#1557">1557</a> <strong>final</strong> Level level, +<a name="1558" href="#1558">1558</a> <strong>final</strong> String bundleName, +<a name="1559" href="#1559">1559</a> <strong>final</strong> String key, +<a name="1560" href="#1560">1560</a> <strong>final</strong> <strong>long</strong> param1) { +<a name="1561" href="#1561">1561</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1562" href="#1562">1562</a> forcedLog(logger, level, +<a name="1563" href="#1563">1563</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1564" href="#1564">1564</a> } +<a name="1565" href="#1565">1565</a> } +<a name="1566" href="#1566">1566</a> <em>/**<em>*</em></em> +<a name="1567" href="#1567">1567</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1568" href="#1568">1568</a> <em> * @param logger logger, may not be null.</em> +<a name="1569" href="#1569">1569</a> <em> * @param level level, may not be null.</em> +<a name="1570" href="#1570">1570</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1571" href="#1571">1571</a> <em> * @param key key, may be null.</em> +<a name="1572" href="#1572">1572</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1573" href="#1573">1573</a> <em> */</em> +<a name="1574" href="#1574">1574</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1575" href="#1575">1575</a> <strong>final</strong> Level level, +<a name="1576" href="#1576">1576</a> <strong>final</strong> String bundleName, +<a name="1577" href="#1577">1577</a> <strong>final</strong> String key, +<a name="1578" href="#1578">1578</a> <strong>final</strong> <strong>float</strong> param1) { +<a name="1579" href="#1579">1579</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1580" href="#1580">1580</a> forcedLog(logger, level, +<a name="1581" href="#1581">1581</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1582" href="#1582">1582</a> } +<a name="1583" href="#1583">1583</a> } +<a name="1584" href="#1584">1584</a> +<a name="1585" href="#1585">1585</a> +<a name="1586" href="#1586">1586</a> <em>/**<em>*</em></em> +<a name="1587" href="#1587">1587</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1588" href="#1588">1588</a> <em> * @param logger logger, may not be null.</em> +<a name="1589" href="#1589">1589</a> <em> * @param level level, may not be null.</em> +<a name="1590" href="#1590">1590</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1591" href="#1591">1591</a> <em> * @param key key, may be null.</em> +<a name="1592" href="#1592">1592</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1593" href="#1593">1593</a> <em> */</em> +<a name="1594" href="#1594">1594</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1595" href="#1595">1595</a> <strong>final</strong> Level level, +<a name="1596" href="#1596">1596</a> <strong>final</strong> String bundleName, +<a name="1597" href="#1597">1597</a> <strong>final</strong> String key, +<a name="1598" href="#1598">1598</a> <strong>final</strong> <strong>double</strong> param1) { +<a name="1599" href="#1599">1599</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1600" href="#1600">1600</a> forcedLog(logger, level, +<a name="1601" href="#1601">1601</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1602" href="#1602">1602</a> } +<a name="1603" href="#1603">1603</a> } +<a name="1604" href="#1604">1604</a> +<a name="1605" href="#1605">1605</a> <em>/**<em>*</em></em> +<a name="1606" href="#1606">1606</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1607" href="#1607">1607</a> <em> * @param logger logger, may not be null.</em> +<a name="1608" href="#1608">1608</a> <em> * @param level level, may not be null.</em> +<a name="1609" href="#1609">1609</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1610" href="#1610">1610</a> <em> * @param key key, may be null.</em> +<a name="1611" href="#1611">1611</a> <em> * @param param0 Parameter to the log message.</em> +<a name="1612" href="#1612">1612</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1613" href="#1613">1613</a> <em> */</em> +<a name="1614" href="#1614">1614</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1615" href="#1615">1615</a> <strong>final</strong> Level level, +<a name="1616" href="#1616">1616</a> <strong>final</strong> String bundleName, +<a name="1617" href="#1617">1617</a> <strong>final</strong> String key, +<a name="1618" href="#1618">1618</a> <strong>final</strong> Object param0, +<a name="1619" href="#1619">1619</a> <strong>final</strong> Object param1) { +<a name="1620" href="#1620">1620</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1621" href="#1621">1621</a> forcedLog(logger, level, +<a name="1622" href="#1622">1622</a> format(bundleName, key, toArray(param0, param1))); +<a name="1623" href="#1623">1623</a> } +<a name="1624" href="#1624">1624</a> } +<a name="1625" href="#1625">1625</a> +<a name="1626" href="#1626">1626</a> +<a name="1627" href="#1627">1627</a> <em>/**<em>*</em></em> +<a name="1628" href="#1628">1628</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1629" href="#1629">1629</a> <em> * @param logger logger, may not be null.</em> +<a name="1630" href="#1630">1630</a> <em> * @param level level, may not be null.</em> +<a name="1631" href="#1631">1631</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1632" href="#1632">1632</a> <em> * @param key key, may be null.</em> +<a name="1633" href="#1633">1633</a> <em> * @param param0 Parameter to the log message.</em> +<a name="1634" href="#1634">1634</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1635" href="#1635">1635</a> <em> * @param param2 Parameter to the log message.</em> +<a name="1636" href="#1636">1636</a> <em> */</em> +<a name="1637" href="#1637">1637</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1638" href="#1638">1638</a> <strong>final</strong> Level level, +<a name="1639" href="#1639">1639</a> <strong>final</strong> String bundleName, +<a name="1640" href="#1640">1640</a> <strong>final</strong> String key, +<a name="1641" href="#1641">1641</a> <strong>final</strong> Object param0, +<a name="1642" href="#1642">1642</a> <strong>final</strong> Object param1, +<a name="1643" href="#1643">1643</a> <strong>final</strong> Object param2) { +<a name="1644" href="#1644">1644</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1645" href="#1645">1645</a> forcedLog(logger, level, +<a name="1646" href="#1646">1646</a> format(bundleName, key, toArray(param0, param1, param2))); +<a name="1647" href="#1647">1647</a> } +<a name="1648" href="#1648">1648</a> } +<a name="1649" href="#1649">1649</a> +<a name="1650" href="#1650">1650</a> +<a name="1651" href="#1651">1651</a> <em>/**<em>*</em></em> +<a name="1652" href="#1652">1652</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1653" href="#1653">1653</a> <em> * @param logger logger, may not be null.</em> +<a name="1654" href="#1654">1654</a> <em> * @param level level, may not be null.</em> +<a name="1655" href="#1655">1655</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1656" href="#1656">1656</a> <em> * @param key key, may be null.</em> +<a name="1657" href="#1657">1657</a> <em> * @param param0 Parameter to the log message.</em> +<a name="1658" href="#1658">1658</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1659" href="#1659">1659</a> <em> * @param param2 Parameter to the log message.</em> +<a name="1660" href="#1660">1660</a> <em> * @param param3 Parameter to the log message.</em> +<a name="1661" href="#1661">1661</a> <em> */</em> +<a name="1662" href="#1662">1662</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1663" href="#1663">1663</a> <strong>final</strong> Level level, +<a name="1664" href="#1664">1664</a> <strong>final</strong> String bundleName, +<a name="1665" href="#1665">1665</a> <strong>final</strong> String key, +<a name="1666" href="#1666">1666</a> <strong>final</strong> Object param0, +<a name="1667" href="#1667">1667</a> <strong>final</strong> Object param1, +<a name="1668" href="#1668">1668</a> <strong>final</strong> Object param2, +<a name="1669" href="#1669">1669</a> <strong>final</strong> Object param3) { +<a name="1670" href="#1670">1670</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1671" href="#1671">1671</a> forcedLog(logger, level, +<a name="1672" href="#1672">1672</a> format(bundleName, key, +<a name="1673" href="#1673">1673</a> toArray(param0, param1, param2, param3))); +<a name="1674" href="#1674">1674</a> } +<a name="1675" href="#1675">1675</a> } +<a name="1676" href="#1676">1676</a> +<a name="1677" href="#1677">1677</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogSF.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogSF.html new file mode 100644 index 00000000000..0b8d60c7a78 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogSF.html @@ -0,0 +1,1554 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LogSF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/LogSF.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <strong>import</strong> java.util.ResourceBundle; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em>/**<em>*</em></em> +<a name="25" href="#25">25</a> <em> * This class provides parameterized logging services</em> +<a name="26" href="#26">26</a> <em> * using the SLF4J pattern syntax.</em> +<a name="27" href="#27">27</a> <em> * &lt;p></em> +<a name="28" href="#28">28</a> <em> * Message formatting is only performed when the </em> +<a name="29" href="#29">29</a> <em> * request exceeds the threshold level of the logger.</em> +<a name="30" href="#30">30</a> <em> *</em> +<a name="31" href="#31">31</a> <em> * @since 1.2.16</em> +<a name="32" href="#32">32</a> <em> *</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../org/apache/log4j/LogSF.html">LogSF</a> <strong>extends</strong> <a href="../../../org/apache/log4j/LogXF.html">LogXF</a> { +<a name="35" href="#35">35</a> <em>/**<em>*</em></em> +<a name="36" href="#36">36</a> <em> * private constructor.</em> +<a name="37" href="#37">37</a> <em> *</em> +<a name="38" href="#38">38</a> <em> */</em> +<a name="39" href="#39">39</a> <strong>private</strong> <a href="../../../org/apache/log4j/LogSF.html">LogSF</a>() { +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em>/**<em>*</em></em> +<a name="46" href="#46">46</a> <em> * Formats arguments using SLF4J-like formatter.</em> +<a name="47" href="#47">47</a> <em> * @param pattern pattern, may be malformed.</em> +<a name="48" href="#48">48</a> <em> * @param arguments arguments.</em> +<a name="49" href="#49">49</a> <em> * @return Message string</em> +<a name="50" href="#50">50</a> <em> */</em> +<a name="51" href="#51">51</a> <strong>private</strong> <strong>static</strong> String format(<strong>final</strong> String pattern, +<a name="52" href="#52">52</a> <strong>final</strong> Object[] arguments) { +<a name="53" href="#53">53</a> <strong>if</strong> (pattern != <strong>null</strong>) { +<a name="54" href="#54">54</a> String retval = <span class="string">""</span>; +<a name="55" href="#55">55</a> <strong>int</strong> count = 0; +<a name="56" href="#56">56</a> <strong>int</strong> prev = 0; +<a name="57" href="#57">57</a> <strong>int</strong> pos = pattern.indexOf(<span class="string">"{"</span>); +<a name="58" href="#58">58</a> <strong>while</strong>(pos >= 0) { +<a name="59" href="#59">59</a> <strong>if</strong> (pos == 0 || pattern.charAt(pos-1) != '&#47;&#47;') { +<a name="60" href="#60">60</a> retval += pattern.substring(prev, pos); +<a name="61" href="#61">61</a> <strong>if</strong> (pos + 1 &lt; pattern.length() &amp;&amp; pattern.charAt(pos+1) == '}') { +<a name="62" href="#62">62</a> <strong>if</strong>(arguments != <strong>null</strong> &amp;&amp; count &lt; arguments.length) { +<a name="63" href="#63">63</a> retval += arguments[count++]; +<a name="64" href="#64">64</a> } <strong>else</strong> { +<a name="65" href="#65">65</a> retval += <span class="string">"{}"</span>; +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> prev = pos + 2; +<a name="68" href="#68">68</a> } <strong>else</strong> { +<a name="69" href="#69">69</a> retval += <span class="string">"{"</span>; +<a name="70" href="#70">70</a> prev = pos + 1; +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> } <strong>else</strong> { +<a name="73" href="#73">73</a> retval += pattern.substring(prev, pos - 1) + <span class="string">"{"</span>; +<a name="74" href="#74">74</a> prev = pos + 1; +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> pos = pattern.indexOf(<span class="string">"{"</span>, prev); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> <strong>return</strong> retval + pattern.substring(prev); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> <strong>return</strong> <strong>null</strong>; +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em>/**<em>*</em></em> +<a name="84" href="#84">84</a> <em> * Formats arguments using MessageFormat.</em> +<a name="85" href="#85">85</a> <em> * @param pattern pattern, may be malformed.</em> +<a name="86" href="#86">86</a> <em> * @param arg0 argument, may be null or mismatched.</em> +<a name="87" href="#87">87</a> <em> * @return Message string</em> +<a name="88" href="#88">88</a> <em> */</em> +<a name="89" href="#89">89</a> <strong>private</strong> <strong>static</strong> String format(<strong>final</strong> String pattern, <strong>final</strong> Object arg0) { +<a name="90" href="#90">90</a> <strong>if</strong> (pattern != <strong>null</strong>) { +<a name="91" href="#91">91</a> <em class="comment">//</em> +<a name="92" href="#92">92</a> <em class="comment">// if there is an escaped brace, delegate to multi-param formatter</em> +<a name="93" href="#93">93</a> <strong>if</strong> (pattern.indexOf(<span class="string">"&#47;&#47;{"</span>) >= 0) { +<a name="94" href="#94">94</a> <strong>return</strong> format(pattern, <strong>new</strong> Object[] { arg0 }); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> <strong>int</strong> pos = pattern.indexOf(<span class="string">"{}"</span>); +<a name="97" href="#97">97</a> <strong>if</strong> (pos >= 0) { +<a name="98" href="#98">98</a> <strong>return</strong> pattern.substring(0, pos) + arg0 + pattern.substring(pos+2); +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> <strong>return</strong> pattern; +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em>/**<em>*</em></em> +<a name="105" href="#105">105</a> <em> * Formats arguments using MessageFormat using a pattern from</em> +<a name="106" href="#106">106</a> <em> * a resource bundle.</em> +<a name="107" href="#107">107</a> <em> * @param resourceBundleName name of resource bundle, may be null.</em> +<a name="108" href="#108">108</a> <em> * @param key key for pattern in resource bundle, may be null.</em> +<a name="109" href="#109">109</a> <em> * @param arguments arguments, may be null or mismatched.</em> +<a name="110" href="#110">110</a> <em> * @return Message string or null</em> +<a name="111" href="#111">111</a> <em> */</em> +<a name="112" href="#112">112</a> <strong>private</strong> <strong>static</strong> String format( +<a name="113" href="#113">113</a> <strong>final</strong> String resourceBundleName, +<a name="114" href="#114">114</a> <strong>final</strong> String key, +<a name="115" href="#115">115</a> <strong>final</strong> Object[] arguments) { +<a name="116" href="#116">116</a> String pattern; +<a name="117" href="#117">117</a> <strong>if</strong> (resourceBundleName != <strong>null</strong>) { +<a name="118" href="#118">118</a> <strong>try</strong> { +<a name="119" href="#119">119</a> ResourceBundle bundle = +<a name="120" href="#120">120</a> ResourceBundle.getBundle(resourceBundleName); +<a name="121" href="#121">121</a> pattern = bundle.getString(key); +<a name="122" href="#122">122</a> } <strong>catch</strong> (Exception ex) { +<a name="123" href="#123">123</a> pattern = key; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> } <strong>else</strong> { +<a name="126" href="#126">126</a> pattern = key; +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> <strong>return</strong> format(pattern, arguments); +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> +<a name="132" href="#132">132</a> <em>/**<em>*</em></em> +<a name="133" href="#133">133</a> <em> * Fully Qualified Class Name of this class.</em> +<a name="134" href="#134">134</a> <em> */</em> +<a name="135" href="#135">135</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String FQCN = LogSF.<strong>class</strong>.getName(); +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em>/**<em>*</em></em> +<a name="138" href="#138">138</a> <em> * Equivalent of Logger.forcedLog.</em> +<a name="139" href="#139">139</a> <em> *</em> +<a name="140" href="#140">140</a> <em> * @param logger logger, may not be null.</em> +<a name="141" href="#141">141</a> <em> * @param level level, may not be null.</em> +<a name="142" href="#142">142</a> <em> * @param msg message, may be null.</em> +<a name="143" href="#143">143</a> <em> */</em> +<a name="144" href="#144">144</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> forcedLog(<strong>final</strong> Logger logger, +<a name="145" href="#145">145</a> <strong>final</strong> Level level, +<a name="146" href="#146">146</a> <strong>final</strong> String msg) { +<a name="147" href="#147">147</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, level, msg, <strong>null</strong>)); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em>/**<em>*</em></em> +<a name="151" href="#151">151</a> <em> * Equivalent of Logger.forcedLog.</em> +<a name="152" href="#152">152</a> <em> *</em> +<a name="153" href="#153">153</a> <em> * @param logger logger, may not be null.</em> +<a name="154" href="#154">154</a> <em> * @param level level, may not be null.</em> +<a name="155" href="#155">155</a> <em> * @param msg message, may be null.</em> +<a name="156" href="#156">156</a> <em> * @param t throwable.</em> +<a name="157" href="#157">157</a> <em> */</em> +<a name="158" href="#158">158</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> forcedLog(<strong>final</strong> Logger logger, +<a name="159" href="#159">159</a> <strong>final</strong> Level level, +<a name="160" href="#160">160</a> <strong>final</strong> String msg, +<a name="161" href="#161">161</a> <strong>final</strong> Throwable t) { +<a name="162" href="#162">162</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, level, msg, t)); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> <em>/**<em>*</em></em> +<a name="165" href="#165">165</a> <em> * Log a parameterized message at trace level.</em> +<a name="166" href="#166">166</a> <em> * @param logger logger, may not be null.</em> +<a name="167" href="#167">167</a> <em> * @param pattern pattern, may be null.</em> +<a name="168" href="#168">168</a> <em> * @param arguments an array of arguments to be</em> +<a name="169" href="#169">169</a> <em> * formatted and substituted.</em> +<a name="170" href="#170">170</a> <em> */</em> +<a name="171" href="#171">171</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="172" href="#172">172</a> <strong>final</strong> Object[] arguments) { +<a name="173" href="#173">173</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="174" href="#174">174</a> forcedLog(logger, TRACE, format(pattern, arguments)); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> <em>/**<em>*</em></em> +<a name="179" href="#179">179</a> <em> * Log a parameterized message at debug level.</em> +<a name="180" href="#180">180</a> <em> * @param logger logger, may not be null.</em> +<a name="181" href="#181">181</a> <em> * @param pattern pattern, may be null.</em> +<a name="182" href="#182">182</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="183" href="#183">183</a> <em> */</em> +<a name="184" href="#184">184</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="185" href="#185">185</a> <strong>final</strong> Object[] arguments) { +<a name="186" href="#186">186</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="187" href="#187">187</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments)); +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em>/**<em>*</em></em> +<a name="192" href="#192">192</a> <em> * Log a parameterized message at info level.</em> +<a name="193" href="#193">193</a> <em> * @param logger logger, may not be null.</em> +<a name="194" href="#194">194</a> <em> * @param pattern pattern, may be null.</em> +<a name="195" href="#195">195</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="196" href="#196">196</a> <em> */</em> +<a name="197" href="#197">197</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="198" href="#198">198</a> <strong>final</strong> Object[] arguments) { +<a name="199" href="#199">199</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="200" href="#200">200</a> forcedLog(logger, Level.INFO, format(pattern, arguments)); +<a name="201" href="#201">201</a> } +<a name="202" href="#202">202</a> } +<a name="203" href="#203">203</a> +<a name="204" href="#204">204</a> <em>/**<em>*</em></em> +<a name="205" href="#205">205</a> <em> * Log a parameterized message at warn level.</em> +<a name="206" href="#206">206</a> <em> * @param logger logger, may not be null.</em> +<a name="207" href="#207">207</a> <em> * @param pattern pattern, may be null.</em> +<a name="208" href="#208">208</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="209" href="#209">209</a> <em> */</em> +<a name="210" href="#210">210</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="211" href="#211">211</a> <strong>final</strong> Object[] arguments) { +<a name="212" href="#212">212</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="213" href="#213">213</a> forcedLog(logger, Level.WARN, format(pattern, arguments)); +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> } +<a name="216" href="#216">216</a> +<a name="217" href="#217">217</a> <em>/**<em>*</em></em> +<a name="218" href="#218">218</a> <em> * Log a parameterized message at error level.</em> +<a name="219" href="#219">219</a> <em> * @param logger logger, may not be null.</em> +<a name="220" href="#220">220</a> <em> * @param pattern pattern, may be null.</em> +<a name="221" href="#221">221</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="222" href="#222">222</a> <em> */</em> +<a name="223" href="#223">223</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> error(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="224" href="#224">224</a> <strong>final</strong> Object[] arguments) { +<a name="225" href="#225">225</a> <strong>if</strong> (logger.isEnabledFor(Level.ERROR)) { +<a name="226" href="#226">226</a> forcedLog(logger, Level.ERROR, format(pattern, arguments)); +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <em>/**<em>*</em></em> +<a name="231" href="#231">231</a> <em> * Log a parameterized message at fatal level.</em> +<a name="232" href="#232">232</a> <em> * @param logger logger, may not be null.</em> +<a name="233" href="#233">233</a> <em> * @param pattern pattern, may be null.</em> +<a name="234" href="#234">234</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="235" href="#235">235</a> <em> */</em> +<a name="236" href="#236">236</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> fatal(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="237" href="#237">237</a> <strong>final</strong> Object[] arguments) { +<a name="238" href="#238">238</a> <strong>if</strong> (logger.isEnabledFor(Level.FATAL)) { +<a name="239" href="#239">239</a> forcedLog(logger, Level.FATAL, format(pattern, arguments)); +<a name="240" href="#240">240</a> } +<a name="241" href="#241">241</a> } +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <em>/**<em>*</em></em> +<a name="244" href="#244">244</a> <em> * Log a parameterized message at trace level.</em> +<a name="245" href="#245">245</a> <em> * @param logger logger, may not be null.</em> +<a name="246" href="#246">246</a> <em> * @param t throwable, may be null.</em> +<a name="247" href="#247">247</a> <em> * @param pattern pattern, may be null.</em> +<a name="248" href="#248">248</a> <em> * @param arguments an array of arguments to be</em> +<a name="249" href="#249">249</a> <em> * formatted and substituted.</em> +<a name="250" href="#250">250</a> <em> */</em> +<a name="251" href="#251">251</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, +<a name="252" href="#252">252</a> <strong>final</strong> Throwable t, +<a name="253" href="#253">253</a> <strong>final</strong> String pattern, +<a name="254" href="#254">254</a> <strong>final</strong> Object[] arguments) { +<a name="255" href="#255">255</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="256" href="#256">256</a> forcedLog(logger, TRACE, format(pattern, arguments), t); +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> } +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <em>/**<em>*</em></em> +<a name="261" href="#261">261</a> <em> * Log a parameterized message at debug level.</em> +<a name="262" href="#262">262</a> <em> * @param logger logger, may not be null.</em> +<a name="263" href="#263">263</a> <em> * @param t throwable, may be null.</em> +<a name="264" href="#264">264</a> <em> * @param pattern pattern, may be null.</em> +<a name="265" href="#265">265</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="266" href="#266">266</a> <em> */</em> +<a name="267" href="#267">267</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, +<a name="268" href="#268">268</a> <strong>final</strong> Throwable t, +<a name="269" href="#269">269</a> <strong>final</strong> String pattern, +<a name="270" href="#270">270</a> <strong>final</strong> Object[] arguments) { +<a name="271" href="#271">271</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="272" href="#272">272</a> forcedLog(logger, Level.DEBUG, format(pattern, arguments), t); +<a name="273" href="#273">273</a> } +<a name="274" href="#274">274</a> } +<a name="275" href="#275">275</a> +<a name="276" href="#276">276</a> <em>/**<em>*</em></em> +<a name="277" href="#277">277</a> <em> * Log a parameterized message at info level.</em> +<a name="278" href="#278">278</a> <em> * @param logger logger, may not be null.</em> +<a name="279" href="#279">279</a> <em> * @param t throwable, may be null.</em> +<a name="280" href="#280">280</a> <em> * @param pattern pattern, may be null.</em> +<a name="281" href="#281">281</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="282" href="#282">282</a> <em> */</em> +<a name="283" href="#283">283</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, +<a name="284" href="#284">284</a> <strong>final</strong> Throwable t, +<a name="285" href="#285">285</a> <strong>final</strong> String pattern, +<a name="286" href="#286">286</a> <strong>final</strong> Object[] arguments) { +<a name="287" href="#287">287</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="288" href="#288">288</a> forcedLog(logger, Level.INFO, format(pattern, arguments), t); +<a name="289" href="#289">289</a> } +<a name="290" href="#290">290</a> } +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> <em>/**<em>*</em></em> +<a name="293" href="#293">293</a> <em> * Log a parameterized message at warn level.</em> +<a name="294" href="#294">294</a> <em> * @param logger logger, may not be null.</em> +<a name="295" href="#295">295</a> <em> * @param t throwable, may be null.</em> +<a name="296" href="#296">296</a> <em> * @param pattern pattern, may be null.</em> +<a name="297" href="#297">297</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="298" href="#298">298</a> <em> */</em> +<a name="299" href="#299">299</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, +<a name="300" href="#300">300</a> <strong>final</strong> Throwable t, +<a name="301" href="#301">301</a> <strong>final</strong> String pattern, +<a name="302" href="#302">302</a> <strong>final</strong> Object[] arguments) { +<a name="303" href="#303">303</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="304" href="#304">304</a> forcedLog(logger, Level.WARN, format(pattern, arguments), t); +<a name="305" href="#305">305</a> } +<a name="306" href="#306">306</a> } +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em>/**<em>*</em></em> +<a name="309" href="#309">309</a> <em> * Log a parameterized message at error level.</em> +<a name="310" href="#310">310</a> <em> * @param logger logger, may not be null.</em> +<a name="311" href="#311">311</a> <em> * @param t throwable, may be null.</em> +<a name="312" href="#312">312</a> <em> * @param pattern pattern, may be null.</em> +<a name="313" href="#313">313</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="314" href="#314">314</a> <em> */</em> +<a name="315" href="#315">315</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> error(<strong>final</strong> Logger logger, +<a name="316" href="#316">316</a> <strong>final</strong> Throwable t, +<a name="317" href="#317">317</a> <strong>final</strong> String pattern, +<a name="318" href="#318">318</a> <strong>final</strong> Object[] arguments) { +<a name="319" href="#319">319</a> <strong>if</strong> (logger.isEnabledFor(Level.ERROR)) { +<a name="320" href="#320">320</a> forcedLog(logger, Level.ERROR, format(pattern, arguments), t); +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> } +<a name="323" href="#323">323</a> +<a name="324" href="#324">324</a> <em>/**<em>*</em></em> +<a name="325" href="#325">325</a> <em> * Log a parameterized message at fatal level.</em> +<a name="326" href="#326">326</a> <em> * @param logger logger, may not be null.</em> +<a name="327" href="#327">327</a> <em> * @param t throwable, may be null.</em> +<a name="328" href="#328">328</a> <em> * @param pattern pattern, may be null.</em> +<a name="329" href="#329">329</a> <em> * @param arguments an array of arguments to be formatted and substituted.</em> +<a name="330" href="#330">330</a> <em> */</em> +<a name="331" href="#331">331</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> fatal(<strong>final</strong> Logger logger, +<a name="332" href="#332">332</a> <strong>final</strong> Throwable t, +<a name="333" href="#333">333</a> <strong>final</strong> String pattern, +<a name="334" href="#334">334</a> <strong>final</strong> Object[] arguments) { +<a name="335" href="#335">335</a> <strong>if</strong> (logger.isEnabledFor(Level.FATAL)) { +<a name="336" href="#336">336</a> forcedLog(logger, Level.FATAL, format(pattern, arguments), t); +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> } +<a name="339" href="#339">339</a> +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> <em>/**<em>*</em></em> +<a name="343" href="#343">343</a> <em> * Log a parameterized message at trace level.</em> +<a name="344" href="#344">344</a> <em> * @param logger logger, may not be null.</em> +<a name="345" href="#345">345</a> <em> * @param pattern pattern, may be null.</em> +<a name="346" href="#346">346</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="347" href="#347">347</a> <em> */</em> +<a name="348" href="#348">348</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="349" href="#349">349</a> <strong>final</strong> <strong>boolean</strong> argument) { +<a name="350" href="#350">350</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="351" href="#351">351</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="352" href="#352">352</a> } +<a name="353" href="#353">353</a> } +<a name="354" href="#354">354</a> +<a name="355" href="#355">355</a> <em>/**<em>*</em></em> +<a name="356" href="#356">356</a> <em> * Log a parameterized message at trace level.</em> +<a name="357" href="#357">357</a> <em> * @param logger logger, may not be null.</em> +<a name="358" href="#358">358</a> <em> * @param pattern pattern, may be null.</em> +<a name="359" href="#359">359</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="360" href="#360">360</a> <em> */</em> +<a name="361" href="#361">361</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="362" href="#362">362</a> <strong>final</strong> <strong>char</strong> argument) { +<a name="363" href="#363">363</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="364" href="#364">364</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="365" href="#365">365</a> } +<a name="366" href="#366">366</a> } +<a name="367" href="#367">367</a> +<a name="368" href="#368">368</a> <em>/**<em>*</em></em> +<a name="369" href="#369">369</a> <em> * Log a parameterized message at trace level.</em> +<a name="370" href="#370">370</a> <em> * @param logger logger, may not be null.</em> +<a name="371" href="#371">371</a> <em> * @param pattern pattern, may be null.</em> +<a name="372" href="#372">372</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="373" href="#373">373</a> <em> */</em> +<a name="374" href="#374">374</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="375" href="#375">375</a> <strong>final</strong> byte argument) { +<a name="376" href="#376">376</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="377" href="#377">377</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="378" href="#378">378</a> } +<a name="379" href="#379">379</a> } +<a name="380" href="#380">380</a> +<a name="381" href="#381">381</a> <em>/**<em>*</em></em> +<a name="382" href="#382">382</a> <em> * Log a parameterized message at trace level.</em> +<a name="383" href="#383">383</a> <em> * @param logger logger, may not be null.</em> +<a name="384" href="#384">384</a> <em> * @param pattern pattern, may be null.</em> +<a name="385" href="#385">385</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="386" href="#386">386</a> <em> */</em> +<a name="387" href="#387">387</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="388" href="#388">388</a> <strong>final</strong> <strong>short</strong> argument) { +<a name="389" href="#389">389</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="390" href="#390">390</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="391" href="#391">391</a> } +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> <em>/**<em>*</em></em> +<a name="395" href="#395">395</a> <em> * Log a parameterized message at trace level.</em> +<a name="396" href="#396">396</a> <em> * @param logger logger, may not be null.</em> +<a name="397" href="#397">397</a> <em> * @param pattern pattern, may be null.</em> +<a name="398" href="#398">398</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="399" href="#399">399</a> <em> */</em> +<a name="400" href="#400">400</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="401" href="#401">401</a> <strong>final</strong> <strong>int</strong> argument) { +<a name="402" href="#402">402</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="403" href="#403">403</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="404" href="#404">404</a> } +<a name="405" href="#405">405</a> } +<a name="406" href="#406">406</a> +<a name="407" href="#407">407</a> <em>/**<em>*</em></em> +<a name="408" href="#408">408</a> <em> * Log a parameterized message at trace level.</em> +<a name="409" href="#409">409</a> <em> * @param logger logger, may not be null.</em> +<a name="410" href="#410">410</a> <em> * @param pattern pattern, may be null.</em> +<a name="411" href="#411">411</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="412" href="#412">412</a> <em> */</em> +<a name="413" href="#413">413</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="414" href="#414">414</a> <strong>final</strong> <strong>long</strong> argument) { +<a name="415" href="#415">415</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="416" href="#416">416</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="417" href="#417">417</a> } +<a name="418" href="#418">418</a> } +<a name="419" href="#419">419</a> +<a name="420" href="#420">420</a> <em>/**<em>*</em></em> +<a name="421" href="#421">421</a> <em> * Log a parameterized message at trace level.</em> +<a name="422" href="#422">422</a> <em> * @param logger logger, may not be null.</em> +<a name="423" href="#423">423</a> <em> * @param pattern pattern, may be null.</em> +<a name="424" href="#424">424</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="425" href="#425">425</a> <em> */</em> +<a name="426" href="#426">426</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="427" href="#427">427</a> <strong>final</strong> <strong>float</strong> argument) { +<a name="428" href="#428">428</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="429" href="#429">429</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="430" href="#430">430</a> } +<a name="431" href="#431">431</a> } +<a name="432" href="#432">432</a> +<a name="433" href="#433">433</a> <em>/**<em>*</em></em> +<a name="434" href="#434">434</a> <em> * Log a parameterized message at trace level.</em> +<a name="435" href="#435">435</a> <em> * @param logger logger, may not be null.</em> +<a name="436" href="#436">436</a> <em> * @param pattern pattern, may be null.</em> +<a name="437" href="#437">437</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="438" href="#438">438</a> <em> */</em> +<a name="439" href="#439">439</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="440" href="#440">440</a> <strong>final</strong> <strong>double</strong> argument) { +<a name="441" href="#441">441</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="442" href="#442">442</a> forcedLog(logger, TRACE, format(pattern, valueOf(argument))); +<a name="443" href="#443">443</a> } +<a name="444" href="#444">444</a> } +<a name="445" href="#445">445</a> +<a name="446" href="#446">446</a> <em>/**<em>*</em></em> +<a name="447" href="#447">447</a> <em> * Log a parameterized message at trace level.</em> +<a name="448" href="#448">448</a> <em> * @param logger logger, may not be null.</em> +<a name="449" href="#449">449</a> <em> * @param pattern pattern, may be null.</em> +<a name="450" href="#450">450</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="451" href="#451">451</a> <em> */</em> +<a name="452" href="#452">452</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="453" href="#453">453</a> <strong>final</strong> Object argument) { +<a name="454" href="#454">454</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="455" href="#455">455</a> forcedLog(logger, TRACE, format(pattern, argument)); +<a name="456" href="#456">456</a> } +<a name="457" href="#457">457</a> } +<a name="458" href="#458">458</a> +<a name="459" href="#459">459</a> <em>/**<em>*</em></em> +<a name="460" href="#460">460</a> <em> * Log a parameterized message at trace level.</em> +<a name="461" href="#461">461</a> <em> * @param logger logger, may not be null.</em> +<a name="462" href="#462">462</a> <em> * @param pattern pattern, may be null.</em> +<a name="463" href="#463">463</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="464" href="#464">464</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="465" href="#465">465</a> <em> */</em> +<a name="466" href="#466">466</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="467" href="#467">467</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { +<a name="468" href="#468">468</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="469" href="#469">469</a> forcedLog(logger, TRACE, +<a name="470" href="#470">470</a> format(pattern, toArray(arg0, arg1))); +<a name="471" href="#471">471</a> } +<a name="472" href="#472">472</a> } +<a name="473" href="#473">473</a> +<a name="474" href="#474">474</a> <em>/**<em>*</em></em> +<a name="475" href="#475">475</a> <em> * Log a parameterized message at trace level.</em> +<a name="476" href="#476">476</a> <em> * @param logger logger, may not be null.</em> +<a name="477" href="#477">477</a> <em> * @param pattern pattern, may be null.</em> +<a name="478" href="#478">478</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="479" href="#479">479</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="480" href="#480">480</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="481" href="#481">481</a> <em> */</em> +<a name="482" href="#482">482</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="483" href="#483">483</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { +<a name="484" href="#484">484</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="485" href="#485">485</a> forcedLog(logger, TRACE, +<a name="486" href="#486">486</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="487" href="#487">487</a> } +<a name="488" href="#488">488</a> } +<a name="489" href="#489">489</a> +<a name="490" href="#490">490</a> <em>/**<em>*</em></em> +<a name="491" href="#491">491</a> <em> * Log a parameterized message at trace level.</em> +<a name="492" href="#492">492</a> <em> * @param logger logger, may not be null.</em> +<a name="493" href="#493">493</a> <em> * @param pattern pattern, may be null.</em> +<a name="494" href="#494">494</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="495" href="#495">495</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="496" href="#496">496</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="497" href="#497">497</a> <em> * @param arg3 a value to be formatted and substituted.</em> +<a name="498" href="#498">498</a> <em> */</em> +<a name="499" href="#499">499</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> trace(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="500" href="#500">500</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, +<a name="501" href="#501">501</a> <strong>final</strong> Object arg3) { +<a name="502" href="#502">502</a> <strong>if</strong> (logger.isEnabledFor(TRACE)) { +<a name="503" href="#503">503</a> forcedLog(logger, TRACE, +<a name="504" href="#504">504</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); +<a name="505" href="#505">505</a> } +<a name="506" href="#506">506</a> } +<a name="507" href="#507">507</a> +<a name="508" href="#508">508</a> <em>/**<em>*</em></em> +<a name="509" href="#509">509</a> <em> * Log a parameterized message at debug level.</em> +<a name="510" href="#510">510</a> <em> * @param logger logger, may not be null.</em> +<a name="511" href="#511">511</a> <em> * @param pattern pattern, may be null.</em> +<a name="512" href="#512">512</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="513" href="#513">513</a> <em> */</em> +<a name="514" href="#514">514</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="515" href="#515">515</a> <strong>final</strong> <strong>boolean</strong> argument) { +<a name="516" href="#516">516</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="517" href="#517">517</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="518" href="#518">518</a> } +<a name="519" href="#519">519</a> } +<a name="520" href="#520">520</a> +<a name="521" href="#521">521</a> <em>/**<em>*</em></em> +<a name="522" href="#522">522</a> <em> * Log a parameterized message at debug level.</em> +<a name="523" href="#523">523</a> <em> * @param logger logger, may not be null.</em> +<a name="524" href="#524">524</a> <em> * @param pattern pattern, may be null.</em> +<a name="525" href="#525">525</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="526" href="#526">526</a> <em> */</em> +<a name="527" href="#527">527</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="528" href="#528">528</a> <strong>final</strong> <strong>char</strong> argument) { +<a name="529" href="#529">529</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="530" href="#530">530</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="531" href="#531">531</a> } +<a name="532" href="#532">532</a> } +<a name="533" href="#533">533</a> +<a name="534" href="#534">534</a> <em>/**<em>*</em></em> +<a name="535" href="#535">535</a> <em> * Log a parameterized message at debug level.</em> +<a name="536" href="#536">536</a> <em> * @param logger logger, may not be null.</em> +<a name="537" href="#537">537</a> <em> * @param pattern pattern, may be null.</em> +<a name="538" href="#538">538</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="539" href="#539">539</a> <em> */</em> +<a name="540" href="#540">540</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="541" href="#541">541</a> <strong>final</strong> byte argument) { +<a name="542" href="#542">542</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="543" href="#543">543</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="544" href="#544">544</a> } +<a name="545" href="#545">545</a> } +<a name="546" href="#546">546</a> +<a name="547" href="#547">547</a> <em>/**<em>*</em></em> +<a name="548" href="#548">548</a> <em> * Log a parameterized message at debug level.</em> +<a name="549" href="#549">549</a> <em> * @param logger logger, may not be null.</em> +<a name="550" href="#550">550</a> <em> * @param pattern pattern, may be null.</em> +<a name="551" href="#551">551</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="552" href="#552">552</a> <em> */</em> +<a name="553" href="#553">553</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="554" href="#554">554</a> <strong>final</strong> <strong>short</strong> argument) { +<a name="555" href="#555">555</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="556" href="#556">556</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="557" href="#557">557</a> } +<a name="558" href="#558">558</a> } +<a name="559" href="#559">559</a> +<a name="560" href="#560">560</a> <em>/**<em>*</em></em> +<a name="561" href="#561">561</a> <em> * Log a parameterized message at debug level.</em> +<a name="562" href="#562">562</a> <em> * @param logger logger, may not be null.</em> +<a name="563" href="#563">563</a> <em> * @param pattern pattern, may be null.</em> +<a name="564" href="#564">564</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="565" href="#565">565</a> <em> */</em> +<a name="566" href="#566">566</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="567" href="#567">567</a> <strong>final</strong> <strong>int</strong> argument) { +<a name="568" href="#568">568</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="569" href="#569">569</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="570" href="#570">570</a> } +<a name="571" href="#571">571</a> } +<a name="572" href="#572">572</a> +<a name="573" href="#573">573</a> <em>/**<em>*</em></em> +<a name="574" href="#574">574</a> <em> * Log a parameterized message at debug level.</em> +<a name="575" href="#575">575</a> <em> * @param logger logger, may not be null.</em> +<a name="576" href="#576">576</a> <em> * @param pattern pattern, may be null.</em> +<a name="577" href="#577">577</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="578" href="#578">578</a> <em> */</em> +<a name="579" href="#579">579</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="580" href="#580">580</a> <strong>final</strong> <strong>long</strong> argument) { +<a name="581" href="#581">581</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="582" href="#582">582</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="583" href="#583">583</a> } +<a name="584" href="#584">584</a> } +<a name="585" href="#585">585</a> +<a name="586" href="#586">586</a> <em>/**<em>*</em></em> +<a name="587" href="#587">587</a> <em> * Log a parameterized message at debug level.</em> +<a name="588" href="#588">588</a> <em> * @param logger logger, may not be null.</em> +<a name="589" href="#589">589</a> <em> * @param pattern pattern, may be null.</em> +<a name="590" href="#590">590</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="591" href="#591">591</a> <em> */</em> +<a name="592" href="#592">592</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="593" href="#593">593</a> <strong>final</strong> <strong>float</strong> argument) { +<a name="594" href="#594">594</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="595" href="#595">595</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="596" href="#596">596</a> } +<a name="597" href="#597">597</a> } +<a name="598" href="#598">598</a> +<a name="599" href="#599">599</a> <em>/**<em>*</em></em> +<a name="600" href="#600">600</a> <em> * Log a parameterized message at debug level.</em> +<a name="601" href="#601">601</a> <em> * @param logger logger, may not be null.</em> +<a name="602" href="#602">602</a> <em> * @param pattern pattern, may be null.</em> +<a name="603" href="#603">603</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="604" href="#604">604</a> <em> */</em> +<a name="605" href="#605">605</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="606" href="#606">606</a> <strong>final</strong> <strong>double</strong> argument) { +<a name="607" href="#607">607</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="608" href="#608">608</a> forcedLog(logger, Level.DEBUG, format(pattern, valueOf(argument))); +<a name="609" href="#609">609</a> } +<a name="610" href="#610">610</a> } +<a name="611" href="#611">611</a> +<a name="612" href="#612">612</a> <em>/**<em>*</em></em> +<a name="613" href="#613">613</a> <em> * Log a parameterized message at debug level.</em> +<a name="614" href="#614">614</a> <em> * @param logger logger, may not be null.</em> +<a name="615" href="#615">615</a> <em> * @param pattern pattern, may be null.</em> +<a name="616" href="#616">616</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="617" href="#617">617</a> <em> */</em> +<a name="618" href="#618">618</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="619" href="#619">619</a> <strong>final</strong> Object argument) { +<a name="620" href="#620">620</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="621" href="#621">621</a> forcedLog(logger, Level.DEBUG, format(pattern, argument)); +<a name="622" href="#622">622</a> } +<a name="623" href="#623">623</a> } +<a name="624" href="#624">624</a> +<a name="625" href="#625">625</a> <em>/**<em>*</em></em> +<a name="626" href="#626">626</a> <em> * Log a parameterized message at debug level.</em> +<a name="627" href="#627">627</a> <em> * @param logger logger, may not be null.</em> +<a name="628" href="#628">628</a> <em> * @param pattern pattern, may be null.</em> +<a name="629" href="#629">629</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="630" href="#630">630</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="631" href="#631">631</a> <em> */</em> +<a name="632" href="#632">632</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="633" href="#633">633</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { +<a name="634" href="#634">634</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="635" href="#635">635</a> forcedLog(logger, Level.DEBUG, +<a name="636" href="#636">636</a> format(pattern, toArray(arg0, arg1))); +<a name="637" href="#637">637</a> } +<a name="638" href="#638">638</a> } +<a name="639" href="#639">639</a> +<a name="640" href="#640">640</a> <em>/**<em>*</em></em> +<a name="641" href="#641">641</a> <em> * Log a parameterized message at debug level.</em> +<a name="642" href="#642">642</a> <em> * @param logger logger, may not be null.</em> +<a name="643" href="#643">643</a> <em> * @param pattern pattern, may be null.</em> +<a name="644" href="#644">644</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="645" href="#645">645</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="646" href="#646">646</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="647" href="#647">647</a> <em> */</em> +<a name="648" href="#648">648</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="649" href="#649">649</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { +<a name="650" href="#650">650</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="651" href="#651">651</a> forcedLog(logger, Level.DEBUG, +<a name="652" href="#652">652</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="653" href="#653">653</a> } +<a name="654" href="#654">654</a> } +<a name="655" href="#655">655</a> +<a name="656" href="#656">656</a> <em>/**<em>*</em></em> +<a name="657" href="#657">657</a> <em> * Log a parameterized message at debug level.</em> +<a name="658" href="#658">658</a> <em> * @param logger logger, may not be null.</em> +<a name="659" href="#659">659</a> <em> * @param pattern pattern, may be null.</em> +<a name="660" href="#660">660</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="661" href="#661">661</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="662" href="#662">662</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="663" href="#663">663</a> <em> * @param arg3 a value to be formatted and substituted.</em> +<a name="664" href="#664">664</a> <em> */</em> +<a name="665" href="#665">665</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> debug(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="666" href="#666">666</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, +<a name="667" href="#667">667</a> <strong>final</strong> Object arg3) { +<a name="668" href="#668">668</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="669" href="#669">669</a> forcedLog(logger, Level.DEBUG, +<a name="670" href="#670">670</a> format(pattern, toArray(arg0, arg1, arg2, arg3))); +<a name="671" href="#671">671</a> } +<a name="672" href="#672">672</a> } +<a name="673" href="#673">673</a> +<a name="674" href="#674">674</a> <em>/**<em>*</em></em> +<a name="675" href="#675">675</a> <em> * Log a parameterized message at info level.</em> +<a name="676" href="#676">676</a> <em> * @param logger logger, may not be null.</em> +<a name="677" href="#677">677</a> <em> * @param pattern pattern, may be null.</em> +<a name="678" href="#678">678</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="679" href="#679">679</a> <em> */</em> +<a name="680" href="#680">680</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="681" href="#681">681</a> <strong>final</strong> <strong>boolean</strong> argument) { +<a name="682" href="#682">682</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="683" href="#683">683</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="684" href="#684">684</a> } +<a name="685" href="#685">685</a> } +<a name="686" href="#686">686</a> +<a name="687" href="#687">687</a> <em>/**<em>*</em></em> +<a name="688" href="#688">688</a> <em> * Log a parameterized message at info level.</em> +<a name="689" href="#689">689</a> <em> * @param logger logger, may not be null.</em> +<a name="690" href="#690">690</a> <em> * @param pattern pattern, may be null.</em> +<a name="691" href="#691">691</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="692" href="#692">692</a> <em> */</em> +<a name="693" href="#693">693</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="694" href="#694">694</a> <strong>final</strong> <strong>char</strong> argument) { +<a name="695" href="#695">695</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="696" href="#696">696</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="697" href="#697">697</a> } +<a name="698" href="#698">698</a> } +<a name="699" href="#699">699</a> +<a name="700" href="#700">700</a> <em>/**<em>*</em></em> +<a name="701" href="#701">701</a> <em> * Log a parameterized message at info level.</em> +<a name="702" href="#702">702</a> <em> * @param logger logger, may not be null.</em> +<a name="703" href="#703">703</a> <em> * @param pattern pattern, may be null.</em> +<a name="704" href="#704">704</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="705" href="#705">705</a> <em> */</em> +<a name="706" href="#706">706</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="707" href="#707">707</a> <strong>final</strong> byte argument) { +<a name="708" href="#708">708</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="709" href="#709">709</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="710" href="#710">710</a> } +<a name="711" href="#711">711</a> } +<a name="712" href="#712">712</a> +<a name="713" href="#713">713</a> <em>/**<em>*</em></em> +<a name="714" href="#714">714</a> <em> * Log a parameterized message at info level.</em> +<a name="715" href="#715">715</a> <em> * @param logger logger, may not be null.</em> +<a name="716" href="#716">716</a> <em> * @param pattern pattern, may be null.</em> +<a name="717" href="#717">717</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="718" href="#718">718</a> <em> */</em> +<a name="719" href="#719">719</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="720" href="#720">720</a> <strong>final</strong> <strong>short</strong> argument) { +<a name="721" href="#721">721</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="722" href="#722">722</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="723" href="#723">723</a> } +<a name="724" href="#724">724</a> } +<a name="725" href="#725">725</a> +<a name="726" href="#726">726</a> <em>/**<em>*</em></em> +<a name="727" href="#727">727</a> <em> * Log a parameterized message at info level.</em> +<a name="728" href="#728">728</a> <em> * @param logger logger, may not be null.</em> +<a name="729" href="#729">729</a> <em> * @param pattern pattern, may be null.</em> +<a name="730" href="#730">730</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="731" href="#731">731</a> <em> */</em> +<a name="732" href="#732">732</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="733" href="#733">733</a> <strong>final</strong> <strong>int</strong> argument) { +<a name="734" href="#734">734</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="735" href="#735">735</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="736" href="#736">736</a> } +<a name="737" href="#737">737</a> } +<a name="738" href="#738">738</a> +<a name="739" href="#739">739</a> <em>/**<em>*</em></em> +<a name="740" href="#740">740</a> <em> * Log a parameterized message at info level.</em> +<a name="741" href="#741">741</a> <em> * @param logger logger, may not be null.</em> +<a name="742" href="#742">742</a> <em> * @param pattern pattern, may be null.</em> +<a name="743" href="#743">743</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="744" href="#744">744</a> <em> */</em> +<a name="745" href="#745">745</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="746" href="#746">746</a> <strong>final</strong> <strong>long</strong> argument) { +<a name="747" href="#747">747</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="748" href="#748">748</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="749" href="#749">749</a> } +<a name="750" href="#750">750</a> } +<a name="751" href="#751">751</a> +<a name="752" href="#752">752</a> <em>/**<em>*</em></em> +<a name="753" href="#753">753</a> <em> * Log a parameterized message at info level.</em> +<a name="754" href="#754">754</a> <em> * @param logger logger, may not be null.</em> +<a name="755" href="#755">755</a> <em> * @param pattern pattern, may be null.</em> +<a name="756" href="#756">756</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="757" href="#757">757</a> <em> */</em> +<a name="758" href="#758">758</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="759" href="#759">759</a> <strong>final</strong> <strong>float</strong> argument) { +<a name="760" href="#760">760</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="761" href="#761">761</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="762" href="#762">762</a> } +<a name="763" href="#763">763</a> } +<a name="764" href="#764">764</a> +<a name="765" href="#765">765</a> <em>/**<em>*</em></em> +<a name="766" href="#766">766</a> <em> * Log a parameterized message at info level.</em> +<a name="767" href="#767">767</a> <em> * @param logger logger, may not be null.</em> +<a name="768" href="#768">768</a> <em> * @param pattern pattern, may be null.</em> +<a name="769" href="#769">769</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="770" href="#770">770</a> <em> */</em> +<a name="771" href="#771">771</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="772" href="#772">772</a> <strong>final</strong> <strong>double</strong> argument) { +<a name="773" href="#773">773</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="774" href="#774">774</a> forcedLog(logger, Level.INFO, format(pattern, valueOf(argument))); +<a name="775" href="#775">775</a> } +<a name="776" href="#776">776</a> } +<a name="777" href="#777">777</a> +<a name="778" href="#778">778</a> <em>/**<em>*</em></em> +<a name="779" href="#779">779</a> <em> * Log a parameterized message at info level.</em> +<a name="780" href="#780">780</a> <em> * @param logger logger, may not be null.</em> +<a name="781" href="#781">781</a> <em> * @param pattern pattern, may be null.</em> +<a name="782" href="#782">782</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="783" href="#783">783</a> <em> */</em> +<a name="784" href="#784">784</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="785" href="#785">785</a> <strong>final</strong> Object argument) { +<a name="786" href="#786">786</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="787" href="#787">787</a> forcedLog(logger, Level.INFO, format(pattern, argument)); +<a name="788" href="#788">788</a> } +<a name="789" href="#789">789</a> } +<a name="790" href="#790">790</a> +<a name="791" href="#791">791</a> <em>/**<em>*</em></em> +<a name="792" href="#792">792</a> <em> * Log a parameterized message at info level.</em> +<a name="793" href="#793">793</a> <em> * @param logger logger, may not be null.</em> +<a name="794" href="#794">794</a> <em> * @param pattern pattern, may be null.</em> +<a name="795" href="#795">795</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="796" href="#796">796</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="797" href="#797">797</a> <em> */</em> +<a name="798" href="#798">798</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="799" href="#799">799</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { +<a name="800" href="#800">800</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="801" href="#801">801</a> forcedLog(logger, Level.INFO, format(pattern, toArray(arg0, arg1))); +<a name="802" href="#802">802</a> } +<a name="803" href="#803">803</a> } +<a name="804" href="#804">804</a> +<a name="805" href="#805">805</a> <em>/**<em>*</em></em> +<a name="806" href="#806">806</a> <em> * Log a parameterized message at info level.</em> +<a name="807" href="#807">807</a> <em> * @param logger logger, may not be null.</em> +<a name="808" href="#808">808</a> <em> * @param pattern pattern, may be null.</em> +<a name="809" href="#809">809</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="810" href="#810">810</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="811" href="#811">811</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="812" href="#812">812</a> <em> */</em> +<a name="813" href="#813">813</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="814" href="#814">814</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { +<a name="815" href="#815">815</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="816" href="#816">816</a> forcedLog(logger, Level.INFO, format(pattern, +<a name="817" href="#817">817</a> toArray(arg0, arg1, arg2))); +<a name="818" href="#818">818</a> } +<a name="819" href="#819">819</a> } +<a name="820" href="#820">820</a> +<a name="821" href="#821">821</a> <em>/**<em>*</em></em> +<a name="822" href="#822">822</a> <em> * Log a parameterized message at info level.</em> +<a name="823" href="#823">823</a> <em> * @param logger logger, may not be null.</em> +<a name="824" href="#824">824</a> <em> * @param pattern pattern, may be null.</em> +<a name="825" href="#825">825</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="826" href="#826">826</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="827" href="#827">827</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="828" href="#828">828</a> <em> * @param arg3 a value to be formatted and substituted.</em> +<a name="829" href="#829">829</a> <em> */</em> +<a name="830" href="#830">830</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> info(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="831" href="#831">831</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, +<a name="832" href="#832">832</a> <strong>final</strong> Object arg3) { +<a name="833" href="#833">833</a> <strong>if</strong> (logger.isInfoEnabled()) { +<a name="834" href="#834">834</a> forcedLog(logger, Level.INFO, format(pattern, +<a name="835" href="#835">835</a> toArray(arg0, arg1, arg2, arg3))); +<a name="836" href="#836">836</a> } +<a name="837" href="#837">837</a> } +<a name="838" href="#838">838</a> +<a name="839" href="#839">839</a> <em>/**<em>*</em></em> +<a name="840" href="#840">840</a> <em> * Log a parameterized message at warn level.</em> +<a name="841" href="#841">841</a> <em> * @param logger logger, may not be null.</em> +<a name="842" href="#842">842</a> <em> * @param pattern pattern, may be null.</em> +<a name="843" href="#843">843</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="844" href="#844">844</a> <em> */</em> +<a name="845" href="#845">845</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="846" href="#846">846</a> <strong>final</strong> <strong>boolean</strong> argument) { +<a name="847" href="#847">847</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="848" href="#848">848</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="849" href="#849">849</a> } +<a name="850" href="#850">850</a> } +<a name="851" href="#851">851</a> +<a name="852" href="#852">852</a> <em>/**<em>*</em></em> +<a name="853" href="#853">853</a> <em> * Log a parameterized message at warn level.</em> +<a name="854" href="#854">854</a> <em> * @param logger logger, may not be null.</em> +<a name="855" href="#855">855</a> <em> * @param pattern pattern, may be null.</em> +<a name="856" href="#856">856</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="857" href="#857">857</a> <em> */</em> +<a name="858" href="#858">858</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="859" href="#859">859</a> <strong>final</strong> <strong>char</strong> argument) { +<a name="860" href="#860">860</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="861" href="#861">861</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="862" href="#862">862</a> } +<a name="863" href="#863">863</a> } +<a name="864" href="#864">864</a> +<a name="865" href="#865">865</a> <em>/**<em>*</em></em> +<a name="866" href="#866">866</a> <em> * Log a parameterized message at warn level.</em> +<a name="867" href="#867">867</a> <em> * @param logger logger, may not be null.</em> +<a name="868" href="#868">868</a> <em> * @param pattern pattern, may be null.</em> +<a name="869" href="#869">869</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="870" href="#870">870</a> <em> */</em> +<a name="871" href="#871">871</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="872" href="#872">872</a> <strong>final</strong> byte argument) { +<a name="873" href="#873">873</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="874" href="#874">874</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="875" href="#875">875</a> } +<a name="876" href="#876">876</a> } +<a name="877" href="#877">877</a> +<a name="878" href="#878">878</a> <em>/**<em>*</em></em> +<a name="879" href="#879">879</a> <em> * Log a parameterized message at warn level.</em> +<a name="880" href="#880">880</a> <em> * @param logger logger, may not be null.</em> +<a name="881" href="#881">881</a> <em> * @param pattern pattern, may be null.</em> +<a name="882" href="#882">882</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="883" href="#883">883</a> <em> */</em> +<a name="884" href="#884">884</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="885" href="#885">885</a> <strong>final</strong> <strong>short</strong> argument) { +<a name="886" href="#886">886</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="887" href="#887">887</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="888" href="#888">888</a> } +<a name="889" href="#889">889</a> } +<a name="890" href="#890">890</a> +<a name="891" href="#891">891</a> <em>/**<em>*</em></em> +<a name="892" href="#892">892</a> <em> * Log a parameterized message at warn level.</em> +<a name="893" href="#893">893</a> <em> * @param logger logger, may not be null.</em> +<a name="894" href="#894">894</a> <em> * @param pattern pattern, may be null.</em> +<a name="895" href="#895">895</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="896" href="#896">896</a> <em> */</em> +<a name="897" href="#897">897</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="898" href="#898">898</a> <strong>final</strong> <strong>int</strong> argument) { +<a name="899" href="#899">899</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="900" href="#900">900</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="901" href="#901">901</a> } +<a name="902" href="#902">902</a> } +<a name="903" href="#903">903</a> +<a name="904" href="#904">904</a> <em>/**<em>*</em></em> +<a name="905" href="#905">905</a> <em> * Log a parameterized message at warn level.</em> +<a name="906" href="#906">906</a> <em> * @param logger logger, may not be null.</em> +<a name="907" href="#907">907</a> <em> * @param pattern pattern, may be null.</em> +<a name="908" href="#908">908</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="909" href="#909">909</a> <em> */</em> +<a name="910" href="#910">910</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="911" href="#911">911</a> <strong>final</strong> <strong>long</strong> argument) { +<a name="912" href="#912">912</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="913" href="#913">913</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="914" href="#914">914</a> } +<a name="915" href="#915">915</a> } +<a name="916" href="#916">916</a> +<a name="917" href="#917">917</a> <em>/**<em>*</em></em> +<a name="918" href="#918">918</a> <em> * Log a parameterized message at warn level.</em> +<a name="919" href="#919">919</a> <em> * @param logger logger, may not be null.</em> +<a name="920" href="#920">920</a> <em> * @param pattern pattern, may be null.</em> +<a name="921" href="#921">921</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="922" href="#922">922</a> <em> */</em> +<a name="923" href="#923">923</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="924" href="#924">924</a> <strong>final</strong> <strong>float</strong> argument) { +<a name="925" href="#925">925</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="926" href="#926">926</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="927" href="#927">927</a> } +<a name="928" href="#928">928</a> } +<a name="929" href="#929">929</a> +<a name="930" href="#930">930</a> <em>/**<em>*</em></em> +<a name="931" href="#931">931</a> <em> * Log a parameterized message at warn level.</em> +<a name="932" href="#932">932</a> <em> * @param logger logger, may not be null.</em> +<a name="933" href="#933">933</a> <em> * @param pattern pattern, may be null.</em> +<a name="934" href="#934">934</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="935" href="#935">935</a> <em> */</em> +<a name="936" href="#936">936</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="937" href="#937">937</a> <strong>final</strong> <strong>double</strong> argument) { +<a name="938" href="#938">938</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="939" href="#939">939</a> forcedLog(logger, Level.WARN, format(pattern, valueOf(argument))); +<a name="940" href="#940">940</a> } +<a name="941" href="#941">941</a> } +<a name="942" href="#942">942</a> +<a name="943" href="#943">943</a> <em>/**<em>*</em></em> +<a name="944" href="#944">944</a> <em> * Log a parameterized message at warn level.</em> +<a name="945" href="#945">945</a> <em> * @param logger logger, may not be null.</em> +<a name="946" href="#946">946</a> <em> * @param pattern pattern, may be null.</em> +<a name="947" href="#947">947</a> <em> * @param argument a value to be formatted and substituted.</em> +<a name="948" href="#948">948</a> <em> */</em> +<a name="949" href="#949">949</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="950" href="#950">950</a> <strong>final</strong> Object argument) { +<a name="951" href="#951">951</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="952" href="#952">952</a> forcedLog(logger, Level.WARN, format(pattern, argument)); +<a name="953" href="#953">953</a> } +<a name="954" href="#954">954</a> } +<a name="955" href="#955">955</a> +<a name="956" href="#956">956</a> <em>/**<em>*</em></em> +<a name="957" href="#957">957</a> <em> * Log a parameterized message at warn level.</em> +<a name="958" href="#958">958</a> <em> * @param logger logger, may not be null.</em> +<a name="959" href="#959">959</a> <em> * @param pattern pattern, may be null.</em> +<a name="960" href="#960">960</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="961" href="#961">961</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="962" href="#962">962</a> <em> */</em> +<a name="963" href="#963">963</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="964" href="#964">964</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { +<a name="965" href="#965">965</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="966" href="#966">966</a> forcedLog(logger, Level.WARN, +<a name="967" href="#967">967</a> format(pattern, toArray(arg0, arg1))); +<a name="968" href="#968">968</a> } +<a name="969" href="#969">969</a> } +<a name="970" href="#970">970</a> +<a name="971" href="#971">971</a> <em>/**<em>*</em></em> +<a name="972" href="#972">972</a> <em> * Log a parameterized message at warn level.</em> +<a name="973" href="#973">973</a> <em> * @param logger logger, may not be null.</em> +<a name="974" href="#974">974</a> <em> * @param pattern pattern, may be null.</em> +<a name="975" href="#975">975</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="976" href="#976">976</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="977" href="#977">977</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="978" href="#978">978</a> <em> */</em> +<a name="979" href="#979">979</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="980" href="#980">980</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { +<a name="981" href="#981">981</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="982" href="#982">982</a> forcedLog(logger, Level.WARN, +<a name="983" href="#983">983</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="984" href="#984">984</a> } +<a name="985" href="#985">985</a> } +<a name="986" href="#986">986</a> +<a name="987" href="#987">987</a> <em>/**<em>*</em></em> +<a name="988" href="#988">988</a> <em> * Log a parameterized message at warn level.</em> +<a name="989" href="#989">989</a> <em> * @param logger logger, may not be null.</em> +<a name="990" href="#990">990</a> <em> * @param pattern pattern, may be null.</em> +<a name="991" href="#991">991</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="992" href="#992">992</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="993" href="#993">993</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="994" href="#994">994</a> <em> * @param arg3 a value to be formatted and substituted.</em> +<a name="995" href="#995">995</a> <em> */</em> +<a name="996" href="#996">996</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> warn(<strong>final</strong> Logger logger, <strong>final</strong> String pattern, +<a name="997" href="#997">997</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, +<a name="998" href="#998">998</a> <strong>final</strong> Object arg3) { +<a name="999" href="#999">999</a> <strong>if</strong> (logger.isEnabledFor(Level.WARN)) { +<a name="1000" href="#1000">1000</a> forcedLog(logger, Level.WARN, format(pattern, +<a name="1001" href="#1001">1001</a> toArray(arg0, arg1, arg2, arg3))); +<a name="1002" href="#1002">1002</a> } +<a name="1003" href="#1003">1003</a> } +<a name="1004" href="#1004">1004</a> +<a name="1005" href="#1005">1005</a> <em>/**<em>*</em></em> +<a name="1006" href="#1006">1006</a> <em> * Log a parameterized message at specified level.</em> +<a name="1007" href="#1007">1007</a> <em> * @param logger logger, may not be null.</em> +<a name="1008" href="#1008">1008</a> <em> * @param level level, may not be null.</em> +<a name="1009" href="#1009">1009</a> <em> * @param pattern pattern, may be null.</em> +<a name="1010" href="#1010">1010</a> <em> * @param parameters parameters to the log message.</em> +<a name="1011" href="#1011">1011</a> <em> */</em> +<a name="1012" href="#1012">1012</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1013" href="#1013">1013</a> <strong>final</strong> Level level, +<a name="1014" href="#1014">1014</a> <strong>final</strong> String pattern, +<a name="1015" href="#1015">1015</a> <strong>final</strong> Object[] parameters) { +<a name="1016" href="#1016">1016</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1017" href="#1017">1017</a> forcedLog(logger, level, +<a name="1018" href="#1018">1018</a> format(pattern, parameters)); +<a name="1019" href="#1019">1019</a> } +<a name="1020" href="#1020">1020</a> } +<a name="1021" href="#1021">1021</a> +<a name="1022" href="#1022">1022</a> <em>/**<em>*</em></em> +<a name="1023" href="#1023">1023</a> <em> * Log a parameterized message at specified level.</em> +<a name="1024" href="#1024">1024</a> <em> * @param logger logger, may not be null.</em> +<a name="1025" href="#1025">1025</a> <em> * @param level level, may not be null.</em> +<a name="1026" href="#1026">1026</a> <em> * @param t throwable, may be null.</em> +<a name="1027" href="#1027">1027</a> <em> * @param pattern pattern, may be null.</em> +<a name="1028" href="#1028">1028</a> <em> * @param parameters parameters to the log message.</em> +<a name="1029" href="#1029">1029</a> <em> */</em> +<a name="1030" href="#1030">1030</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1031" href="#1031">1031</a> <strong>final</strong> Level level, +<a name="1032" href="#1032">1032</a> <strong>final</strong> Throwable t, +<a name="1033" href="#1033">1033</a> <strong>final</strong> String pattern, +<a name="1034" href="#1034">1034</a> <strong>final</strong> Object[] parameters) { +<a name="1035" href="#1035">1035</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1036" href="#1036">1036</a> forcedLog(logger, level, +<a name="1037" href="#1037">1037</a> format(pattern, parameters), t); +<a name="1038" href="#1038">1038</a> } +<a name="1039" href="#1039">1039</a> } +<a name="1040" href="#1040">1040</a> +<a name="1041" href="#1041">1041</a> <em>/**<em>*</em></em> +<a name="1042" href="#1042">1042</a> <em> * Log a parameterized message at specified level.</em> +<a name="1043" href="#1043">1043</a> <em> * @param logger logger, may not be null.</em> +<a name="1044" href="#1044">1044</a> <em> * @param level level, may not be null.</em> +<a name="1045" href="#1045">1045</a> <em> * @param pattern pattern, may be null.</em> +<a name="1046" href="#1046">1046</a> <em> * @param param1 parameter to the log message.</em> +<a name="1047" href="#1047">1047</a> <em> */</em> +<a name="1048" href="#1048">1048</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1049" href="#1049">1049</a> <strong>final</strong> Level level, +<a name="1050" href="#1050">1050</a> <strong>final</strong> String pattern, +<a name="1051" href="#1051">1051</a> <strong>final</strong> Object param1) { +<a name="1052" href="#1052">1052</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1053" href="#1053">1053</a> forcedLog(logger, level, +<a name="1054" href="#1054">1054</a> format(pattern, toArray(param1))); +<a name="1055" href="#1055">1055</a> } +<a name="1056" href="#1056">1056</a> } +<a name="1057" href="#1057">1057</a> +<a name="1058" href="#1058">1058</a> <em>/**<em>*</em></em> +<a name="1059" href="#1059">1059</a> <em> * Log a parameterized message at specified level.</em> +<a name="1060" href="#1060">1060</a> <em> * @param logger logger, may not be null.</em> +<a name="1061" href="#1061">1061</a> <em> * @param level level, may not be null.</em> +<a name="1062" href="#1062">1062</a> <em> * @param pattern pattern, may be null.</em> +<a name="1063" href="#1063">1063</a> <em> * @param param1 parameter to the log message.</em> +<a name="1064" href="#1064">1064</a> <em> */</em> +<a name="1065" href="#1065">1065</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1066" href="#1066">1066</a> <strong>final</strong> Level level, +<a name="1067" href="#1067">1067</a> <strong>final</strong> String pattern, +<a name="1068" href="#1068">1068</a> <strong>final</strong> <strong>boolean</strong> param1) { +<a name="1069" href="#1069">1069</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1070" href="#1070">1070</a> forcedLog(logger, level, +<a name="1071" href="#1071">1071</a> format(pattern, toArray(valueOf(param1)))); +<a name="1072" href="#1072">1072</a> } +<a name="1073" href="#1073">1073</a> } +<a name="1074" href="#1074">1074</a> +<a name="1075" href="#1075">1075</a> +<a name="1076" href="#1076">1076</a> <em>/**<em>*</em></em> +<a name="1077" href="#1077">1077</a> <em> * Log a parameterized message at specified level.</em> +<a name="1078" href="#1078">1078</a> <em> * @param logger logger, may not be null.</em> +<a name="1079" href="#1079">1079</a> <em> * @param level level, may not be null.</em> +<a name="1080" href="#1080">1080</a> <em> * @param pattern pattern, may be null.</em> +<a name="1081" href="#1081">1081</a> <em> * @param param1 parameter to the log message.</em> +<a name="1082" href="#1082">1082</a> <em> */</em> +<a name="1083" href="#1083">1083</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1084" href="#1084">1084</a> <strong>final</strong> Level level, +<a name="1085" href="#1085">1085</a> <strong>final</strong> String pattern, +<a name="1086" href="#1086">1086</a> <strong>final</strong> byte param1) { +<a name="1087" href="#1087">1087</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1088" href="#1088">1088</a> forcedLog(logger, level, +<a name="1089" href="#1089">1089</a> format(pattern, toArray(valueOf(param1)))); +<a name="1090" href="#1090">1090</a> } +<a name="1091" href="#1091">1091</a> } +<a name="1092" href="#1092">1092</a> +<a name="1093" href="#1093">1093</a> +<a name="1094" href="#1094">1094</a> <em>/**<em>*</em></em> +<a name="1095" href="#1095">1095</a> <em> * Log a parameterized message at specified level.</em> +<a name="1096" href="#1096">1096</a> <em> * @param logger logger, may not be null.</em> +<a name="1097" href="#1097">1097</a> <em> * @param level level, may not be null.</em> +<a name="1098" href="#1098">1098</a> <em> * @param pattern pattern, may be null.</em> +<a name="1099" href="#1099">1099</a> <em> * @param param1 parameter to the log message.</em> +<a name="1100" href="#1100">1100</a> <em> */</em> +<a name="1101" href="#1101">1101</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1102" href="#1102">1102</a> <strong>final</strong> Level level, +<a name="1103" href="#1103">1103</a> <strong>final</strong> String pattern, +<a name="1104" href="#1104">1104</a> <strong>final</strong> <strong>char</strong> param1) { +<a name="1105" href="#1105">1105</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1106" href="#1106">1106</a> forcedLog(logger, level, +<a name="1107" href="#1107">1107</a> format(pattern, toArray(valueOf(param1)))); +<a name="1108" href="#1108">1108</a> } +<a name="1109" href="#1109">1109</a> } +<a name="1110" href="#1110">1110</a> +<a name="1111" href="#1111">1111</a> <em>/**<em>*</em></em> +<a name="1112" href="#1112">1112</a> <em> * Log a parameterized message at specified level.</em> +<a name="1113" href="#1113">1113</a> <em> * @param logger logger, may not be null.</em> +<a name="1114" href="#1114">1114</a> <em> * @param level level, may not be null.</em> +<a name="1115" href="#1115">1115</a> <em> * @param pattern pattern, may be null.</em> +<a name="1116" href="#1116">1116</a> <em> * @param param1 parameter to the log message.</em> +<a name="1117" href="#1117">1117</a> <em> */</em> +<a name="1118" href="#1118">1118</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1119" href="#1119">1119</a> <strong>final</strong> Level level, +<a name="1120" href="#1120">1120</a> <strong>final</strong> String pattern, +<a name="1121" href="#1121">1121</a> <strong>final</strong> <strong>short</strong> param1) { +<a name="1122" href="#1122">1122</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1123" href="#1123">1123</a> forcedLog(logger, level, +<a name="1124" href="#1124">1124</a> format(pattern, toArray(valueOf(param1)))); +<a name="1125" href="#1125">1125</a> } +<a name="1126" href="#1126">1126</a> } +<a name="1127" href="#1127">1127</a> +<a name="1128" href="#1128">1128</a> <em>/**<em>*</em></em> +<a name="1129" href="#1129">1129</a> <em> * Log a parameterized message at specified level.</em> +<a name="1130" href="#1130">1130</a> <em> * @param logger logger, may not be null.</em> +<a name="1131" href="#1131">1131</a> <em> * @param level level, may not be null.</em> +<a name="1132" href="#1132">1132</a> <em> * @param pattern pattern, may be null.</em> +<a name="1133" href="#1133">1133</a> <em> * @param param1 parameter to the log message.</em> +<a name="1134" href="#1134">1134</a> <em> */</em> +<a name="1135" href="#1135">1135</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1136" href="#1136">1136</a> <strong>final</strong> Level level, +<a name="1137" href="#1137">1137</a> <strong>final</strong> String pattern, +<a name="1138" href="#1138">1138</a> <strong>final</strong> <strong>int</strong> param1) { +<a name="1139" href="#1139">1139</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1140" href="#1140">1140</a> forcedLog(logger, level, +<a name="1141" href="#1141">1141</a> format(pattern, toArray(valueOf(param1)))); +<a name="1142" href="#1142">1142</a> } +<a name="1143" href="#1143">1143</a> } +<a name="1144" href="#1144">1144</a> +<a name="1145" href="#1145">1145</a> +<a name="1146" href="#1146">1146</a> <em>/**<em>*</em></em> +<a name="1147" href="#1147">1147</a> <em> * Log a parameterized message at specified level.</em> +<a name="1148" href="#1148">1148</a> <em> * @param logger logger, may not be null.</em> +<a name="1149" href="#1149">1149</a> <em> * @param level level, may not be null.</em> +<a name="1150" href="#1150">1150</a> <em> * @param pattern pattern, may be null.</em> +<a name="1151" href="#1151">1151</a> <em> * @param param1 parameter to the log message.</em> +<a name="1152" href="#1152">1152</a> <em> */</em> +<a name="1153" href="#1153">1153</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1154" href="#1154">1154</a> <strong>final</strong> Level level, +<a name="1155" href="#1155">1155</a> <strong>final</strong> String pattern, +<a name="1156" href="#1156">1156</a> <strong>final</strong> <strong>long</strong> param1) { +<a name="1157" href="#1157">1157</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1158" href="#1158">1158</a> forcedLog(logger, level, +<a name="1159" href="#1159">1159</a> format(pattern, toArray(valueOf(param1)))); +<a name="1160" href="#1160">1160</a> } +<a name="1161" href="#1161">1161</a> } +<a name="1162" href="#1162">1162</a> +<a name="1163" href="#1163">1163</a> +<a name="1164" href="#1164">1164</a> <em>/**<em>*</em></em> +<a name="1165" href="#1165">1165</a> <em> * Log a parameterized message at specified level.</em> +<a name="1166" href="#1166">1166</a> <em> * @param logger logger, may not be null.</em> +<a name="1167" href="#1167">1167</a> <em> * @param level level, may not be null.</em> +<a name="1168" href="#1168">1168</a> <em> * @param pattern pattern, may be null.</em> +<a name="1169" href="#1169">1169</a> <em> * @param param1 parameter to the log message.</em> +<a name="1170" href="#1170">1170</a> <em> */</em> +<a name="1171" href="#1171">1171</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1172" href="#1172">1172</a> <strong>final</strong> Level level, +<a name="1173" href="#1173">1173</a> <strong>final</strong> String pattern, +<a name="1174" href="#1174">1174</a> <strong>final</strong> <strong>float</strong> param1) { +<a name="1175" href="#1175">1175</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1176" href="#1176">1176</a> forcedLog(logger, level, +<a name="1177" href="#1177">1177</a> format(pattern, toArray(valueOf(param1)))); +<a name="1178" href="#1178">1178</a> } +<a name="1179" href="#1179">1179</a> } +<a name="1180" href="#1180">1180</a> +<a name="1181" href="#1181">1181</a> +<a name="1182" href="#1182">1182</a> <em>/**<em>*</em></em> +<a name="1183" href="#1183">1183</a> <em> * Log a parameterized message at specified level.</em> +<a name="1184" href="#1184">1184</a> <em> * @param logger logger, may not be null.</em> +<a name="1185" href="#1185">1185</a> <em> * @param level level, may not be null.</em> +<a name="1186" href="#1186">1186</a> <em> * @param pattern pattern, may be null.</em> +<a name="1187" href="#1187">1187</a> <em> * @param param1 parameter to the log message.</em> +<a name="1188" href="#1188">1188</a> <em> */</em> +<a name="1189" href="#1189">1189</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1190" href="#1190">1190</a> <strong>final</strong> Level level, +<a name="1191" href="#1191">1191</a> <strong>final</strong> String pattern, +<a name="1192" href="#1192">1192</a> <strong>final</strong> <strong>double</strong> param1) { +<a name="1193" href="#1193">1193</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1194" href="#1194">1194</a> forcedLog(logger, level, +<a name="1195" href="#1195">1195</a> format(pattern, toArray(valueOf(param1)))); +<a name="1196" href="#1196">1196</a> } +<a name="1197" href="#1197">1197</a> } +<a name="1198" href="#1198">1198</a> +<a name="1199" href="#1199">1199</a> +<a name="1200" href="#1200">1200</a> <em>/**<em>*</em></em> +<a name="1201" href="#1201">1201</a> <em> * Log a parameterized message at specified level.</em> +<a name="1202" href="#1202">1202</a> <em> * @param logger logger, may not be null.</em> +<a name="1203" href="#1203">1203</a> <em> * @param level level, may not be null.</em> +<a name="1204" href="#1204">1204</a> <em> * @param pattern pattern, may be null.</em> +<a name="1205" href="#1205">1205</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="1206" href="#1206">1206</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="1207" href="#1207">1207</a> <em> */</em> +<a name="1208" href="#1208">1208</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1209" href="#1209">1209</a> <strong>final</strong> Level level, +<a name="1210" href="#1210">1210</a> <strong>final</strong> String pattern, +<a name="1211" href="#1211">1211</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1) { +<a name="1212" href="#1212">1212</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1213" href="#1213">1213</a> forcedLog(logger, level, +<a name="1214" href="#1214">1214</a> format(pattern, toArray(arg0, arg1))); +<a name="1215" href="#1215">1215</a> } +<a name="1216" href="#1216">1216</a> } +<a name="1217" href="#1217">1217</a> +<a name="1218" href="#1218">1218</a> <em>/**<em>*</em></em> +<a name="1219" href="#1219">1219</a> <em> * Log a parameterized message at specifed level.</em> +<a name="1220" href="#1220">1220</a> <em> * @param logger logger, may not be null.</em> +<a name="1221" href="#1221">1221</a> <em> * @param level level, may not be null.</em> +<a name="1222" href="#1222">1222</a> <em> * @param pattern pattern, may be null.</em> +<a name="1223" href="#1223">1223</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="1224" href="#1224">1224</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="1225" href="#1225">1225</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="1226" href="#1226">1226</a> <em> */</em> +<a name="1227" href="#1227">1227</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1228" href="#1228">1228</a> <strong>final</strong> Level level, +<a name="1229" href="#1229">1229</a> <strong>final</strong> String pattern, +<a name="1230" href="#1230">1230</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2) { +<a name="1231" href="#1231">1231</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1232" href="#1232">1232</a> forcedLog(logger, level, +<a name="1233" href="#1233">1233</a> format(pattern, toArray(arg0, arg1, arg2))); +<a name="1234" href="#1234">1234</a> } +<a name="1235" href="#1235">1235</a> } +<a name="1236" href="#1236">1236</a> +<a name="1237" href="#1237">1237</a> <em>/**<em>*</em></em> +<a name="1238" href="#1238">1238</a> <em> * Log a parameterized message at specified level.</em> +<a name="1239" href="#1239">1239</a> <em> * @param logger logger, may not be null.</em> +<a name="1240" href="#1240">1240</a> <em> * @param pattern pattern, may be null.</em> +<a name="1241" href="#1241">1241</a> <em> * @param level level, may not be null.</em> +<a name="1242" href="#1242">1242</a> <em> * @param arg0 a value to be formatted and substituted.</em> +<a name="1243" href="#1243">1243</a> <em> * @param arg1 a value to be formatted and substituted.</em> +<a name="1244" href="#1244">1244</a> <em> * @param arg2 a value to be formatted and substituted.</em> +<a name="1245" href="#1245">1245</a> <em> * @param arg3 a value to be formatted and substituted.</em> +<a name="1246" href="#1246">1246</a> <em> */</em> +<a name="1247" href="#1247">1247</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> log(<strong>final</strong> Logger logger, +<a name="1248" href="#1248">1248</a> <strong>final</strong> Level level, +<a name="1249" href="#1249">1249</a> <strong>final</strong> String pattern, +<a name="1250" href="#1250">1250</a> <strong>final</strong> Object arg0, <strong>final</strong> Object arg1, <strong>final</strong> Object arg2, +<a name="1251" href="#1251">1251</a> <strong>final</strong> Object arg3) { +<a name="1252" href="#1252">1252</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1253" href="#1253">1253</a> forcedLog(logger, level, format(pattern, +<a name="1254" href="#1254">1254</a> toArray(arg0, arg1, arg2, arg3))); +<a name="1255" href="#1255">1255</a> } +<a name="1256" href="#1256">1256</a> } +<a name="1257" href="#1257">1257</a> +<a name="1258" href="#1258">1258</a> +<a name="1259" href="#1259">1259</a> <em>/**<em>*</em></em> +<a name="1260" href="#1260">1260</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1261" href="#1261">1261</a> <em> * @param logger logger, may not be null.</em> +<a name="1262" href="#1262">1262</a> <em> * @param level level, may not be null.</em> +<a name="1263" href="#1263">1263</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1264" href="#1264">1264</a> <em> * @param key key, may be null.</em> +<a name="1265" href="#1265">1265</a> <em> * @param parameters parameters to the log message.</em> +<a name="1266" href="#1266">1266</a> <em> */</em> +<a name="1267" href="#1267">1267</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1268" href="#1268">1268</a> <strong>final</strong> Level level, +<a name="1269" href="#1269">1269</a> <strong>final</strong> String bundleName, +<a name="1270" href="#1270">1270</a> <strong>final</strong> String key, +<a name="1271" href="#1271">1271</a> <strong>final</strong> Object[] parameters) { +<a name="1272" href="#1272">1272</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1273" href="#1273">1273</a> forcedLog(logger, level, +<a name="1274" href="#1274">1274</a> format(bundleName, key, parameters)); +<a name="1275" href="#1275">1275</a> } +<a name="1276" href="#1276">1276</a> } +<a name="1277" href="#1277">1277</a> +<a name="1278" href="#1278">1278</a> <em>/**<em>*</em></em> +<a name="1279" href="#1279">1279</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1280" href="#1280">1280</a> <em> * @param logger logger, may not be null.</em> +<a name="1281" href="#1281">1281</a> <em> * @param level level, may not be null.</em> +<a name="1282" href="#1282">1282</a> <em> * @param t throwable, may be null.</em> +<a name="1283" href="#1283">1283</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1284" href="#1284">1284</a> <em> * @param key key, may be null.</em> +<a name="1285" href="#1285">1285</a> <em> * @param parameters parameters to the log message.</em> +<a name="1286" href="#1286">1286</a> <em> */</em> +<a name="1287" href="#1287">1287</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1288" href="#1288">1288</a> <strong>final</strong> Level level, +<a name="1289" href="#1289">1289</a> <strong>final</strong> Throwable t, +<a name="1290" href="#1290">1290</a> <strong>final</strong> String bundleName, +<a name="1291" href="#1291">1291</a> <strong>final</strong> String key, +<a name="1292" href="#1292">1292</a> <strong>final</strong> Object[] parameters) { +<a name="1293" href="#1293">1293</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1294" href="#1294">1294</a> forcedLog(logger, level, +<a name="1295" href="#1295">1295</a> format(bundleName, key, parameters), t); +<a name="1296" href="#1296">1296</a> } +<a name="1297" href="#1297">1297</a> } +<a name="1298" href="#1298">1298</a> +<a name="1299" href="#1299">1299</a> <em>/**<em>*</em></em> +<a name="1300" href="#1300">1300</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1301" href="#1301">1301</a> <em> * @param logger logger, may not be null.</em> +<a name="1302" href="#1302">1302</a> <em> * @param level level, may not be null.</em> +<a name="1303" href="#1303">1303</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1304" href="#1304">1304</a> <em> * @param key key, may be null.</em> +<a name="1305" href="#1305">1305</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1306" href="#1306">1306</a> <em> */</em> +<a name="1307" href="#1307">1307</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1308" href="#1308">1308</a> <strong>final</strong> Level level, +<a name="1309" href="#1309">1309</a> <strong>final</strong> String bundleName, +<a name="1310" href="#1310">1310</a> <strong>final</strong> String key, +<a name="1311" href="#1311">1311</a> <strong>final</strong> Object param1) { +<a name="1312" href="#1312">1312</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1313" href="#1313">1313</a> forcedLog(logger, level, +<a name="1314" href="#1314">1314</a> format(bundleName, key, toArray(param1))); +<a name="1315" href="#1315">1315</a> } +<a name="1316" href="#1316">1316</a> } +<a name="1317" href="#1317">1317</a> +<a name="1318" href="#1318">1318</a> <em>/**<em>*</em></em> +<a name="1319" href="#1319">1319</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1320" href="#1320">1320</a> <em> * @param logger logger, may not be null.</em> +<a name="1321" href="#1321">1321</a> <em> * @param level level, may not be null.</em> +<a name="1322" href="#1322">1322</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1323" href="#1323">1323</a> <em> * @param key key, may be null.</em> +<a name="1324" href="#1324">1324</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1325" href="#1325">1325</a> <em> */</em> +<a name="1326" href="#1326">1326</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1327" href="#1327">1327</a> <strong>final</strong> Level level, +<a name="1328" href="#1328">1328</a> <strong>final</strong> String bundleName, +<a name="1329" href="#1329">1329</a> <strong>final</strong> String key, +<a name="1330" href="#1330">1330</a> <strong>final</strong> <strong>boolean</strong> param1) { +<a name="1331" href="#1331">1331</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1332" href="#1332">1332</a> forcedLog(logger, level, +<a name="1333" href="#1333">1333</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1334" href="#1334">1334</a> } +<a name="1335" href="#1335">1335</a> } +<a name="1336" href="#1336">1336</a> +<a name="1337" href="#1337">1337</a> <em>/**<em>*</em></em> +<a name="1338" href="#1338">1338</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1339" href="#1339">1339</a> <em> * @param logger logger, may not be null.</em> +<a name="1340" href="#1340">1340</a> <em> * @param level level, may not be null.</em> +<a name="1341" href="#1341">1341</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1342" href="#1342">1342</a> <em> * @param key key, may be null.</em> +<a name="1343" href="#1343">1343</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1344" href="#1344">1344</a> <em> */</em> +<a name="1345" href="#1345">1345</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1346" href="#1346">1346</a> <strong>final</strong> Level level, +<a name="1347" href="#1347">1347</a> <strong>final</strong> String bundleName, +<a name="1348" href="#1348">1348</a> <strong>final</strong> String key, +<a name="1349" href="#1349">1349</a> <strong>final</strong> <strong>char</strong> param1) { +<a name="1350" href="#1350">1350</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1351" href="#1351">1351</a> forcedLog(logger, level, +<a name="1352" href="#1352">1352</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1353" href="#1353">1353</a> } +<a name="1354" href="#1354">1354</a> } +<a name="1355" href="#1355">1355</a> +<a name="1356" href="#1356">1356</a> <em>/**<em>*</em></em> +<a name="1357" href="#1357">1357</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1358" href="#1358">1358</a> <em> * @param logger logger, may not be null.</em> +<a name="1359" href="#1359">1359</a> <em> * @param level level, may not be null.</em> +<a name="1360" href="#1360">1360</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1361" href="#1361">1361</a> <em> * @param key key, may be null.</em> +<a name="1362" href="#1362">1362</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1363" href="#1363">1363</a> <em> */</em> +<a name="1364" href="#1364">1364</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1365" href="#1365">1365</a> <strong>final</strong> Level level, +<a name="1366" href="#1366">1366</a> <strong>final</strong> String bundleName, +<a name="1367" href="#1367">1367</a> <strong>final</strong> String key, +<a name="1368" href="#1368">1368</a> <strong>final</strong> byte param1) { +<a name="1369" href="#1369">1369</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1370" href="#1370">1370</a> forcedLog(logger, level, +<a name="1371" href="#1371">1371</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1372" href="#1372">1372</a> } +<a name="1373" href="#1373">1373</a> } +<a name="1374" href="#1374">1374</a> +<a name="1375" href="#1375">1375</a> <em>/**<em>*</em></em> +<a name="1376" href="#1376">1376</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1377" href="#1377">1377</a> <em> * @param logger logger, may not be null.</em> +<a name="1378" href="#1378">1378</a> <em> * @param level level, may not be null.</em> +<a name="1379" href="#1379">1379</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1380" href="#1380">1380</a> <em> * @param key key, may be null.</em> +<a name="1381" href="#1381">1381</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1382" href="#1382">1382</a> <em> */</em> +<a name="1383" href="#1383">1383</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1384" href="#1384">1384</a> <strong>final</strong> Level level, +<a name="1385" href="#1385">1385</a> <strong>final</strong> String bundleName, +<a name="1386" href="#1386">1386</a> <strong>final</strong> String key, +<a name="1387" href="#1387">1387</a> <strong>final</strong> <strong>short</strong> param1) { +<a name="1388" href="#1388">1388</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1389" href="#1389">1389</a> forcedLog(logger, level, +<a name="1390" href="#1390">1390</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1391" href="#1391">1391</a> } +<a name="1392" href="#1392">1392</a> } +<a name="1393" href="#1393">1393</a> +<a name="1394" href="#1394">1394</a> <em>/**<em>*</em></em> +<a name="1395" href="#1395">1395</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1396" href="#1396">1396</a> <em> * @param logger logger, may not be null.</em> +<a name="1397" href="#1397">1397</a> <em> * @param level level, may not be null.</em> +<a name="1398" href="#1398">1398</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1399" href="#1399">1399</a> <em> * @param key key, may be null.</em> +<a name="1400" href="#1400">1400</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1401" href="#1401">1401</a> <em> */</em> +<a name="1402" href="#1402">1402</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1403" href="#1403">1403</a> <strong>final</strong> Level level, +<a name="1404" href="#1404">1404</a> <strong>final</strong> String bundleName, +<a name="1405" href="#1405">1405</a> <strong>final</strong> String key, +<a name="1406" href="#1406">1406</a> <strong>final</strong> <strong>int</strong> param1) { +<a name="1407" href="#1407">1407</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1408" href="#1408">1408</a> forcedLog(logger, level, +<a name="1409" href="#1409">1409</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1410" href="#1410">1410</a> } +<a name="1411" href="#1411">1411</a> } +<a name="1412" href="#1412">1412</a> +<a name="1413" href="#1413">1413</a> <em>/**<em>*</em></em> +<a name="1414" href="#1414">1414</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1415" href="#1415">1415</a> <em> * @param logger logger, may not be null.</em> +<a name="1416" href="#1416">1416</a> <em> * @param level level, may not be null.</em> +<a name="1417" href="#1417">1417</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1418" href="#1418">1418</a> <em> * @param key key, may be null.</em> +<a name="1419" href="#1419">1419</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1420" href="#1420">1420</a> <em> */</em> +<a name="1421" href="#1421">1421</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1422" href="#1422">1422</a> <strong>final</strong> Level level, +<a name="1423" href="#1423">1423</a> <strong>final</strong> String bundleName, +<a name="1424" href="#1424">1424</a> <strong>final</strong> String key, +<a name="1425" href="#1425">1425</a> <strong>final</strong> <strong>long</strong> param1) { +<a name="1426" href="#1426">1426</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1427" href="#1427">1427</a> forcedLog(logger, level, +<a name="1428" href="#1428">1428</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1429" href="#1429">1429</a> } +<a name="1430" href="#1430">1430</a> } +<a name="1431" href="#1431">1431</a> <em>/**<em>*</em></em> +<a name="1432" href="#1432">1432</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1433" href="#1433">1433</a> <em> * @param logger logger, may not be null.</em> +<a name="1434" href="#1434">1434</a> <em> * @param level level, may not be null.</em> +<a name="1435" href="#1435">1435</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1436" href="#1436">1436</a> <em> * @param key key, may be null.</em> +<a name="1437" href="#1437">1437</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1438" href="#1438">1438</a> <em> */</em> +<a name="1439" href="#1439">1439</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1440" href="#1440">1440</a> <strong>final</strong> Level level, +<a name="1441" href="#1441">1441</a> <strong>final</strong> String bundleName, +<a name="1442" href="#1442">1442</a> <strong>final</strong> String key, +<a name="1443" href="#1443">1443</a> <strong>final</strong> <strong>float</strong> param1) { +<a name="1444" href="#1444">1444</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1445" href="#1445">1445</a> forcedLog(logger, level, +<a name="1446" href="#1446">1446</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1447" href="#1447">1447</a> } +<a name="1448" href="#1448">1448</a> } +<a name="1449" href="#1449">1449</a> +<a name="1450" href="#1450">1450</a> +<a name="1451" href="#1451">1451</a> <em>/**<em>*</em></em> +<a name="1452" href="#1452">1452</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1453" href="#1453">1453</a> <em> * @param logger logger, may not be null.</em> +<a name="1454" href="#1454">1454</a> <em> * @param level level, may not be null.</em> +<a name="1455" href="#1455">1455</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1456" href="#1456">1456</a> <em> * @param key key, may be null.</em> +<a name="1457" href="#1457">1457</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1458" href="#1458">1458</a> <em> */</em> +<a name="1459" href="#1459">1459</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1460" href="#1460">1460</a> <strong>final</strong> Level level, +<a name="1461" href="#1461">1461</a> <strong>final</strong> String bundleName, +<a name="1462" href="#1462">1462</a> <strong>final</strong> String key, +<a name="1463" href="#1463">1463</a> <strong>final</strong> <strong>double</strong> param1) { +<a name="1464" href="#1464">1464</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1465" href="#1465">1465</a> forcedLog(logger, level, +<a name="1466" href="#1466">1466</a> format(bundleName, key, toArray(valueOf(param1)))); +<a name="1467" href="#1467">1467</a> } +<a name="1468" href="#1468">1468</a> } +<a name="1469" href="#1469">1469</a> +<a name="1470" href="#1470">1470</a> <em>/**<em>*</em></em> +<a name="1471" href="#1471">1471</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1472" href="#1472">1472</a> <em> * @param logger logger, may not be null.</em> +<a name="1473" href="#1473">1473</a> <em> * @param level level, may not be null.</em> +<a name="1474" href="#1474">1474</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1475" href="#1475">1475</a> <em> * @param key key, may be null.</em> +<a name="1476" href="#1476">1476</a> <em> * @param param0 Parameter to the log message.</em> +<a name="1477" href="#1477">1477</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1478" href="#1478">1478</a> <em> */</em> +<a name="1479" href="#1479">1479</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1480" href="#1480">1480</a> <strong>final</strong> Level level, +<a name="1481" href="#1481">1481</a> <strong>final</strong> String bundleName, +<a name="1482" href="#1482">1482</a> <strong>final</strong> String key, +<a name="1483" href="#1483">1483</a> <strong>final</strong> Object param0, +<a name="1484" href="#1484">1484</a> <strong>final</strong> Object param1) { +<a name="1485" href="#1485">1485</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1486" href="#1486">1486</a> forcedLog(logger, level, +<a name="1487" href="#1487">1487</a> format(bundleName, key, toArray(param0, param1))); +<a name="1488" href="#1488">1488</a> } +<a name="1489" href="#1489">1489</a> } +<a name="1490" href="#1490">1490</a> +<a name="1491" href="#1491">1491</a> +<a name="1492" href="#1492">1492</a> <em>/**<em>*</em></em> +<a name="1493" href="#1493">1493</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1494" href="#1494">1494</a> <em> * @param logger logger, may not be null.</em> +<a name="1495" href="#1495">1495</a> <em> * @param level level, may not be null.</em> +<a name="1496" href="#1496">1496</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1497" href="#1497">1497</a> <em> * @param key key, may be null.</em> +<a name="1498" href="#1498">1498</a> <em> * @param param0 Parameter to the log message.</em> +<a name="1499" href="#1499">1499</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1500" href="#1500">1500</a> <em> * @param param2 Parameter to the log message.</em> +<a name="1501" href="#1501">1501</a> <em> */</em> +<a name="1502" href="#1502">1502</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1503" href="#1503">1503</a> <strong>final</strong> Level level, +<a name="1504" href="#1504">1504</a> <strong>final</strong> String bundleName, +<a name="1505" href="#1505">1505</a> <strong>final</strong> String key, +<a name="1506" href="#1506">1506</a> <strong>final</strong> Object param0, +<a name="1507" href="#1507">1507</a> <strong>final</strong> Object param1, +<a name="1508" href="#1508">1508</a> <strong>final</strong> Object param2) { +<a name="1509" href="#1509">1509</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1510" href="#1510">1510</a> forcedLog(logger, level, +<a name="1511" href="#1511">1511</a> format(bundleName, key, toArray(param0, param1, param2))); +<a name="1512" href="#1512">1512</a> } +<a name="1513" href="#1513">1513</a> } +<a name="1514" href="#1514">1514</a> +<a name="1515" href="#1515">1515</a> +<a name="1516" href="#1516">1516</a> <em>/**<em>*</em></em> +<a name="1517" href="#1517">1517</a> <em> * Log a parameterized message using a pattern from a resource bundle.</em> +<a name="1518" href="#1518">1518</a> <em> * @param logger logger, may not be null.</em> +<a name="1519" href="#1519">1519</a> <em> * @param level level, may not be null.</em> +<a name="1520" href="#1520">1520</a> <em> * @param bundleName resource bundle name, may be null.</em> +<a name="1521" href="#1521">1521</a> <em> * @param key key, may be null.</em> +<a name="1522" href="#1522">1522</a> <em> * @param param0 Parameter to the log message.</em> +<a name="1523" href="#1523">1523</a> <em> * @param param1 Parameter to the log message.</em> +<a name="1524" href="#1524">1524</a> <em> * @param param2 Parameter to the log message.</em> +<a name="1525" href="#1525">1525</a> <em> * @param param3 Parameter to the log message.</em> +<a name="1526" href="#1526">1526</a> <em> */</em> +<a name="1527" href="#1527">1527</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> logrb(<strong>final</strong> Logger logger, +<a name="1528" href="#1528">1528</a> <strong>final</strong> Level level, +<a name="1529" href="#1529">1529</a> <strong>final</strong> String bundleName, +<a name="1530" href="#1530">1530</a> <strong>final</strong> String key, +<a name="1531" href="#1531">1531</a> <strong>final</strong> Object param0, +<a name="1532" href="#1532">1532</a> <strong>final</strong> Object param1, +<a name="1533" href="#1533">1533</a> <strong>final</strong> Object param2, +<a name="1534" href="#1534">1534</a> <strong>final</strong> Object param3) { +<a name="1535" href="#1535">1535</a> <strong>if</strong> (logger.isEnabledFor(level)) { +<a name="1536" href="#1536">1536</a> forcedLog(logger, level, +<a name="1537" href="#1537">1537</a> format(bundleName, key, +<a name="1538" href="#1538">1538</a> toArray(param0, param1, param2, param3))); +<a name="1539" href="#1539">1539</a> } +<a name="1540" href="#1540">1540</a> } +<a name="1541" href="#1541">1541</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogXF.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogXF.html new file mode 100644 index 00000000000..20f4ee9e93d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/LogXF.html @@ -0,0 +1,384 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LogXF xref</title> +<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../apidocs/org/apache/log4j/LogXF.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j; +<a name="18" href="#18">18</a> +<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em>/**<em>*</em></em> +<a name="22" href="#22">22</a> <em> * This is a base class for LogMF and LogSF parameterized logging classes.</em> +<a name="23" href="#23">23</a> <em> *</em> +<a name="24" href="#24">24</a> <em> *</em> +<a name="25" href="#25">25</a> <em> * @see org.apache.log4j.LogMF</em> +<a name="26" href="#26">26</a> <em> * @see org.apache.log4j.LogSF</em> +<a name="27" href="#27">27</a> <em> * @since 1.2.16</em> +<a name="28" href="#28">28</a> <em> */</em> +<a name="29" href="#29">29</a> <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/apache/log4j/LogXF.html">LogXF</a> { +<a name="30" href="#30">30</a> <em>/**<em>*</em></em> +<a name="31" href="#31">31</a> <em> * Trace level.</em> +<a name="32" href="#32">32</a> <em> */</em> +<a name="33" href="#33">33</a> <strong>protected</strong> <strong>static</strong> <strong>final</strong> Level TRACE = <strong>new</strong> Level(5000, <span class="string">"TRACE"</span>, 7); +<a name="34" href="#34">34</a> <em>/**<em>*</em></em> +<a name="35" href="#35">35</a> <em> * Fully Qualified Class Name of this class.</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String FQCN = LogXF.<strong>class</strong>.getName(); +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <strong>protected</strong> <a href="../../../org/apache/log4j/LogXF.html">LogXF</a>() { +<a name="40" href="#40">40</a> } +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em>/**<em>*</em></em> +<a name="43" href="#43">43</a> <em> * Returns a Boolean instance representing the specified boolean.</em> +<a name="44" href="#44">44</a> <em> * Boolean.valueOf was added in JDK 1.4.</em> +<a name="45" href="#45">45</a> <em> *</em> +<a name="46" href="#46">46</a> <em> * @param b a boolean value.</em> +<a name="47" href="#47">47</a> <em> * @return a Boolean instance representing b.</em> +<a name="48" href="#48">48</a> <em> */</em> +<a name="49" href="#49">49</a> <strong>protected</strong> <strong>static</strong> Boolean valueOf(<strong>final</strong> <strong>boolean</strong> b) { +<a name="50" href="#50">50</a> <strong>if</strong> (b) { +<a name="51" href="#51">51</a> <strong>return</strong> Boolean.TRUE; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> <strong>return</strong> Boolean.FALSE; +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em>/**<em>*</em></em> +<a name="57" href="#57">57</a> <em> * Returns a Character instance representing the specified char.</em> +<a name="58" href="#58">58</a> <em> * Character.valueOf was added in JDK 1.5.</em> +<a name="59" href="#59">59</a> <em> *</em> +<a name="60" href="#60">60</a> <em> * @param c a character value.</em> +<a name="61" href="#61">61</a> <em> * @return a Character instance representing c.</em> +<a name="62" href="#62">62</a> <em> */</em> +<a name="63" href="#63">63</a> <strong>protected</strong> <strong>static</strong> Character valueOf(<strong>final</strong> <strong>char</strong> c) { +<a name="64" href="#64">64</a> <strong>return</strong> <strong>new</strong> Character(c); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em>/**<em>*</em></em> +<a name="68" href="#68">68</a> <em> * Returns a Byte instance representing the specified byte.</em> +<a name="69" href="#69">69</a> <em> * Byte.valueOf was added in JDK 1.5.</em> +<a name="70" href="#70">70</a> <em> *</em> +<a name="71" href="#71">71</a> <em> * @param b a byte value.</em> +<a name="72" href="#72">72</a> <em> * @return a Byte instance representing b.</em> +<a name="73" href="#73">73</a> <em> */</em> +<a name="74" href="#74">74</a> <strong>protected</strong> <strong>static</strong> Byte valueOf(<strong>final</strong> byte b) { +<a name="75" href="#75">75</a> <strong>return</strong> <strong>new</strong> Byte(b); +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> +<a name="78" href="#78">78</a> <em>/**<em>*</em></em> +<a name="79" href="#79">79</a> <em> * Returns a Short instance representing the specified short.</em> +<a name="80" href="#80">80</a> <em> * Short.valueOf was added in JDK 1.5.</em> +<a name="81" href="#81">81</a> <em> *</em> +<a name="82" href="#82">82</a> <em> * @param b a short value.</em> +<a name="83" href="#83">83</a> <em> * @return a Byte instance representing b.</em> +<a name="84" href="#84">84</a> <em> */</em> +<a name="85" href="#85">85</a> <strong>protected</strong> <strong>static</strong> Short valueOf(<strong>final</strong> <strong>short</strong> b) { +<a name="86" href="#86">86</a> <strong>return</strong> <strong>new</strong> Short(b); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em>/**<em>*</em></em> +<a name="90" href="#90">90</a> <em> * Returns an Integer instance representing the specified int.</em> +<a name="91" href="#91">91</a> <em> * Integer.valueOf was added in JDK 1.5.</em> +<a name="92" href="#92">92</a> <em> *</em> +<a name="93" href="#93">93</a> <em> * @param b an int value.</em> +<a name="94" href="#94">94</a> <em> * @return an Integer instance representing b.</em> +<a name="95" href="#95">95</a> <em> */</em> +<a name="96" href="#96">96</a> <strong>protected</strong> <strong>static</strong> Integer valueOf(<strong>final</strong> <strong>int</strong> b) { +<a name="97" href="#97">97</a> <strong>return</strong> <strong>new</strong> Integer(b); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <em>/**<em>*</em></em> +<a name="101" href="#101">101</a> <em> * Returns a Long instance representing the specified long.</em> +<a name="102" href="#102">102</a> <em> * Long.valueOf was added in JDK 1.5.</em> +<a name="103" href="#103">103</a> <em> *</em> +<a name="104" href="#104">104</a> <em> * @param b a long value.</em> +<a name="105" href="#105">105</a> <em> * @return a Long instance representing b.</em> +<a name="106" href="#106">106</a> <em> */</em> +<a name="107" href="#107">107</a> <strong>protected</strong> <strong>static</strong> Long valueOf(<strong>final</strong> <strong>long</strong> b) { +<a name="108" href="#108">108</a> <strong>return</strong> <strong>new</strong> Long(b); +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em>/**<em>*</em></em> +<a name="112" href="#112">112</a> <em> * Returns a Float instance representing the specified float.</em> +<a name="113" href="#113">113</a> <em> * Float.valueOf was added in JDK 1.5.</em> +<a name="114" href="#114">114</a> <em> *</em> +<a name="115" href="#115">115</a> <em> * @param b a float value.</em> +<a name="116" href="#116">116</a> <em> * @return a Float instance representing b.</em> +<a name="117" href="#117">117</a> <em> */</em> +<a name="118" href="#118">118</a> <strong>protected</strong> <strong>static</strong> Float valueOf(<strong>final</strong> <strong>float</strong> b) { +<a name="119" href="#119">119</a> <strong>return</strong> <strong>new</strong> Float(b); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em>/**<em>*</em></em> +<a name="123" href="#123">123</a> <em> * Returns a Double instance representing the specified double.</em> +<a name="124" href="#124">124</a> <em> * Double.valueOf was added in JDK 1.5.</em> +<a name="125" href="#125">125</a> <em> *</em> +<a name="126" href="#126">126</a> <em> * @param b a double value.</em> +<a name="127" href="#127">127</a> <em> * @return a Byte instance representing b.</em> +<a name="128" href="#128">128</a> <em> */</em> +<a name="129" href="#129">129</a> <strong>protected</strong> <strong>static</strong> Double valueOf(<strong>final</strong> <strong>double</strong> b) { +<a name="130" href="#130">130</a> <strong>return</strong> <strong>new</strong> Double(b); +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em>/**<em>*</em></em> +<a name="134" href="#134">134</a> <em> * Create new array.</em> +<a name="135" href="#135">135</a> <em> *</em> +<a name="136" href="#136">136</a> <em> * @param param1 parameter 1.</em> +<a name="137" href="#137">137</a> <em> * @return new array.</em> +<a name="138" href="#138">138</a> <em> */</em> +<a name="139" href="#139">139</a> <strong>protected</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1) { +<a name="140" href="#140">140</a> <strong>return</strong> <strong>new</strong> Object[]{ +<a name="141" href="#141">141</a> param1 +<a name="142" href="#142">142</a> }; +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em>/**<em>*</em></em> +<a name="146" href="#146">146</a> <em> * Create new array.</em> +<a name="147" href="#147">147</a> <em> *</em> +<a name="148" href="#148">148</a> <em> * @param param1 parameter 1.</em> +<a name="149" href="#149">149</a> <em> * @param param2 parameter 2.</em> +<a name="150" href="#150">150</a> <em> * @return new array.</em> +<a name="151" href="#151">151</a> <em> */</em> +<a name="152" href="#152">152</a> <strong>protected</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1, +<a name="153" href="#153">153</a> <strong>final</strong> Object param2) { +<a name="154" href="#154">154</a> <strong>return</strong> <strong>new</strong> Object[]{ +<a name="155" href="#155">155</a> param1, param2 +<a name="156" href="#156">156</a> }; +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <em>/**<em>*</em></em> +<a name="160" href="#160">160</a> <em> * Create new array.</em> +<a name="161" href="#161">161</a> <em> *</em> +<a name="162" href="#162">162</a> <em> * @param param1 parameter 1.</em> +<a name="163" href="#163">163</a> <em> * @param param2 parameter 2.</em> +<a name="164" href="#164">164</a> <em> * @param param3 parameter 3.</em> +<a name="165" href="#165">165</a> <em> * @return new array.</em> +<a name="166" href="#166">166</a> <em> */</em> +<a name="167" href="#167">167</a> <strong>protected</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1, +<a name="168" href="#168">168</a> <strong>final</strong> Object param2, +<a name="169" href="#169">169</a> <strong>final</strong> Object param3) { +<a name="170" href="#170">170</a> <strong>return</strong> <strong>new</strong> Object[]{ +<a name="171" href="#171">171</a> param1, param2, param3 +<a name="172" href="#172">172</a> }; +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em>/**<em>*</em></em> +<a name="176" href="#176">176</a> <em> * Create new array.</em> +<a name="177" href="#177">177</a> <em> *</em> +<a name="178" href="#178">178</a> <em> * @param param1 parameter 1.</em> +<a name="179" href="#179">179</a> <em> * @param param2 parameter 2.</em> +<a name="180" href="#180">180</a> <em> * @param param3 parameter 3.</em> +<a name="181" href="#181">181</a> <em> * @param param4 parameter 4.</em> +<a name="182" href="#182">182</a> <em> * @return new array.</em> +<a name="183" href="#183">183</a> <em> */</em> +<a name="184" href="#184">184</a> <strong>protected</strong> <strong>static</strong> Object[] toArray(<strong>final</strong> Object param1, +<a name="185" href="#185">185</a> <strong>final</strong> Object param2, +<a name="186" href="#186">186</a> <strong>final</strong> Object param3, +<a name="187" href="#187">187</a> <strong>final</strong> Object param4) { +<a name="188" href="#188">188</a> <strong>return</strong> <strong>new</strong> Object[]{ +<a name="189" href="#189">189</a> param1, param2, param3, param4 +<a name="190" href="#190">190</a> }; +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <em>/**<em>*</em></em> +<a name="194" href="#194">194</a> <em> * Log an entering message at DEBUG level.</em> +<a name="195" href="#195">195</a> <em> *</em> +<a name="196" href="#196">196</a> <em> * @param logger logger, may not be null.</em> +<a name="197" href="#197">197</a> <em> * @param sourceClass source class, may be null.</em> +<a name="198" href="#198">198</a> <em> * @param sourceMethod method, may be null.</em> +<a name="199" href="#199">199</a> <em> */</em> +<a name="200" href="#200">200</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> entering(<strong>final</strong> Logger logger, +<a name="201" href="#201">201</a> <strong>final</strong> String sourceClass, +<a name="202" href="#202">202</a> <strong>final</strong> String sourceMethod) { +<a name="203" href="#203">203</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="204" href="#204">204</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, Level.DEBUG, +<a name="205" href="#205">205</a> sourceClass + <span class="string">"."</span> + sourceMethod + <span class="string">" ENTRY"</span>, <strong>null</strong>)); +<a name="206" href="#206">206</a> } +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em>/**<em>*</em></em> +<a name="210" href="#210">210</a> <em> * Log an entering message with a parameter at DEBUG level.</em> +<a name="211" href="#211">211</a> <em> *</em> +<a name="212" href="#212">212</a> <em> * @param logger logger, may not be null.</em> +<a name="213" href="#213">213</a> <em> * @param sourceClass source class, may be null.</em> +<a name="214" href="#214">214</a> <em> * @param sourceMethod method, may be null.</em> +<a name="215" href="#215">215</a> <em> * @param param parameter, may be null.</em> +<a name="216" href="#216">216</a> <em> */</em> +<a name="217" href="#217">217</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> entering(<strong>final</strong> Logger logger, +<a name="218" href="#218">218</a> <strong>final</strong> String sourceClass, +<a name="219" href="#219">219</a> <strong>final</strong> String sourceMethod, +<a name="220" href="#220">220</a> <strong>final</strong> String param) { +<a name="221" href="#221">221</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="222" href="#222">222</a> String msg = sourceClass + <span class="string">"."</span> + sourceMethod + <span class="string">" ENTRY "</span> + param; +<a name="223" href="#223">223</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, Level.DEBUG, +<a name="224" href="#224">224</a> msg, <strong>null</strong>)); +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> +<a name="228" href="#228">228</a> <em>/**<em>*</em></em> +<a name="229" href="#229">229</a> <em> * Log an entering message with a parameter at DEBUG level.</em> +<a name="230" href="#230">230</a> <em> *</em> +<a name="231" href="#231">231</a> <em> * @param logger logger, may not be null.</em> +<a name="232" href="#232">232</a> <em> * @param sourceClass source class, may be null.</em> +<a name="233" href="#233">233</a> <em> * @param sourceMethod method, may be null.</em> +<a name="234" href="#234">234</a> <em> * @param param parameter, may be null.</em> +<a name="235" href="#235">235</a> <em> */</em> +<a name="236" href="#236">236</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> entering(<strong>final</strong> Logger logger, +<a name="237" href="#237">237</a> <strong>final</strong> String sourceClass, +<a name="238" href="#238">238</a> <strong>final</strong> String sourceMethod, +<a name="239" href="#239">239</a> <strong>final</strong> Object param) { +<a name="240" href="#240">240</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="241" href="#241">241</a> String msg = sourceClass + <span class="string">"."</span> + sourceMethod + <span class="string">" ENTRY "</span>; +<a name="242" href="#242">242</a> <strong>if</strong> (param == <strong>null</strong>) { +<a name="243" href="#243">243</a> msg += <span class="string">"null"</span>; +<a name="244" href="#244">244</a> } <strong>else</strong> { +<a name="245" href="#245">245</a> <strong>try</strong> { +<a name="246" href="#246">246</a> msg += param; +<a name="247" href="#247">247</a> } <strong>catch</strong>(Throwable ex) { +<a name="248" href="#248">248</a> msg += <span class="string">"?"</span>; +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, Level.DEBUG, +<a name="252" href="#252">252</a> msg, <strong>null</strong>)); +<a name="253" href="#253">253</a> } +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <em>/**<em>*</em></em> +<a name="257" href="#257">257</a> <em> * Log an entering message with an array of parameters at DEBUG level.</em> +<a name="258" href="#258">258</a> <em> *</em> +<a name="259" href="#259">259</a> <em> * @param logger logger, may not be null.</em> +<a name="260" href="#260">260</a> <em> * @param sourceClass source class, may be null.</em> +<a name="261" href="#261">261</a> <em> * @param sourceMethod method, may be null.</em> +<a name="262" href="#262">262</a> <em> * @param params parameters, may be null.</em> +<a name="263" href="#263">263</a> <em> */</em> +<a name="264" href="#264">264</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> entering(<strong>final</strong> Logger logger, +<a name="265" href="#265">265</a> <strong>final</strong> String sourceClass, +<a name="266" href="#266">266</a> <strong>final</strong> String sourceMethod, +<a name="267" href="#267">267</a> <strong>final</strong> Object[] params) { +<a name="268" href="#268">268</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="269" href="#269">269</a> String msg = sourceClass + <span class="string">"."</span> + sourceMethod + <span class="string">" ENTRY "</span>; +<a name="270" href="#270">270</a> <strong>if</strong> (params != <strong>null</strong> &amp;&amp; params.length > 0) { +<a name="271" href="#271">271</a> String delim = <span class="string">"{"</span>; +<a name="272" href="#272">272</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; params.length; i++) { +<a name="273" href="#273">273</a> <strong>try</strong> { +<a name="274" href="#274">274</a> msg += delim + params[i]; +<a name="275" href="#275">275</a> } <strong>catch</strong>(Throwable ex) { +<a name="276" href="#276">276</a> msg += delim + <span class="string">"?"</span>; +<a name="277" href="#277">277</a> } +<a name="278" href="#278">278</a> delim = <span class="string">","</span>; +<a name="279" href="#279">279</a> } +<a name="280" href="#280">280</a> msg += <span class="string">"}"</span>; +<a name="281" href="#281">281</a> } <strong>else</strong> { +<a name="282" href="#282">282</a> msg += <span class="string">"{}"</span>; +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, Level.DEBUG, +<a name="285" href="#285">285</a> msg, <strong>null</strong>)); +<a name="286" href="#286">286</a> } +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> <em>/**<em>*</em></em> +<a name="290" href="#290">290</a> <em> * Log an exiting message at DEBUG level.</em> +<a name="291" href="#291">291</a> <em> *</em> +<a name="292" href="#292">292</a> <em> * @param logger logger, may not be null.</em> +<a name="293" href="#293">293</a> <em> * @param sourceClass source class, may be null.</em> +<a name="294" href="#294">294</a> <em> * @param sourceMethod method, may be null.</em> +<a name="295" href="#295">295</a> <em> */</em> +<a name="296" href="#296">296</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> exiting(<strong>final</strong> Logger logger, +<a name="297" href="#297">297</a> <strong>final</strong> String sourceClass, +<a name="298" href="#298">298</a> <strong>final</strong> String sourceMethod) { +<a name="299" href="#299">299</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="300" href="#300">300</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, Level.DEBUG, +<a name="301" href="#301">301</a> sourceClass + <span class="string">"."</span> + sourceMethod + <span class="string">" RETURN"</span>, <strong>null</strong>)); +<a name="302" href="#302">302</a> } +<a name="303" href="#303">303</a> } +<a name="304" href="#304">304</a> +<a name="305" href="#305">305</a> <em>/**<em>*</em></em> +<a name="306" href="#306">306</a> <em> * Log an exiting message with result at DEBUG level.</em> +<a name="307" href="#307">307</a> <em> *</em> +<a name="308" href="#308">308</a> <em> * @param logger logger, may not be null.</em> +<a name="309" href="#309">309</a> <em> * @param sourceClass source class, may be null.</em> +<a name="310" href="#310">310</a> <em> * @param sourceMethod method, may be null.</em> +<a name="311" href="#311">311</a> <em> * @param result result, may be null.</em> +<a name="312" href="#312">312</a> <em> */</em> +<a name="313" href="#313">313</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> exiting( +<a name="314" href="#314">314</a> <strong>final</strong> Logger logger, +<a name="315" href="#315">315</a> <strong>final</strong> String sourceClass, +<a name="316" href="#316">316</a> <strong>final</strong> String sourceMethod, +<a name="317" href="#317">317</a> <strong>final</strong> String result) { +<a name="318" href="#318">318</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="319" href="#319">319</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, Level.DEBUG, +<a name="320" href="#320">320</a> sourceClass + <span class="string">"."</span> + sourceMethod + <span class="string">" RETURN "</span> + result, <strong>null</strong>)); +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> } +<a name="323" href="#323">323</a> +<a name="324" href="#324">324</a> <em>/**<em>*</em></em> +<a name="325" href="#325">325</a> <em> * Log an exiting message with result at DEBUG level.</em> +<a name="326" href="#326">326</a> <em> *</em> +<a name="327" href="#327">327</a> <em> * @param logger logger, may not be null.</em> +<a name="328" href="#328">328</a> <em> * @param sourceClass source class, may be null.</em> +<a name="329" href="#329">329</a> <em> * @param sourceMethod method, may be null.</em> +<a name="330" href="#330">330</a> <em> * @param result result, may be null.</em> +<a name="331" href="#331">331</a> <em> */</em> +<a name="332" href="#332">332</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> exiting( +<a name="333" href="#333">333</a> <strong>final</strong> Logger logger, +<a name="334" href="#334">334</a> <strong>final</strong> String sourceClass, +<a name="335" href="#335">335</a> <strong>final</strong> String sourceMethod, +<a name="336" href="#336">336</a> <strong>final</strong> Object result) { +<a name="337" href="#337">337</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="338" href="#338">338</a> String msg = sourceClass + <span class="string">"."</span> + sourceMethod + <span class="string">" RETURN "</span>; +<a name="339" href="#339">339</a> <strong>if</strong> (result == <strong>null</strong>) { +<a name="340" href="#340">340</a> msg += <span class="string">"null"</span>; +<a name="341" href="#341">341</a> } <strong>else</strong> { +<a name="342" href="#342">342</a> <strong>try</strong> { +<a name="343" href="#343">343</a> msg += result; +<a name="344" href="#344">344</a> } <strong>catch</strong>(Throwable ex) { +<a name="345" href="#345">345</a> msg += <span class="string">"?"</span>; +<a name="346" href="#346">346</a> } +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, Level.DEBUG, +<a name="349" href="#349">349</a> msg, <strong>null</strong>)); +<a name="350" href="#350">350</a> } +<a name="351" href="#351">351</a> } +<a name="352" href="#352">352</a> +<a name="353" href="#353">353</a> <em>/**<em>*</em></em> +<a name="354" href="#354">354</a> <em> * Logs a throwing message at DEBUG level.</em> +<a name="355" href="#355">355</a> <em> *</em> +<a name="356" href="#356">356</a> <em> * @param logger logger, may not be null.</em> +<a name="357" href="#357">357</a> <em> * @param sourceClass source class, may be null.</em> +<a name="358" href="#358">358</a> <em> * @param sourceMethod method, may be null.</em> +<a name="359" href="#359">359</a> <em> * @param thrown throwable, may be null.</em> +<a name="360" href="#360">360</a> <em> */</em> +<a name="361" href="#361">361</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> throwing( +<a name="362" href="#362">362</a> <strong>final</strong> Logger logger, +<a name="363" href="#363">363</a> <strong>final</strong> String sourceClass, +<a name="364" href="#364">364</a> <strong>final</strong> String sourceMethod, +<a name="365" href="#365">365</a> <strong>final</strong> Throwable thrown) { +<a name="366" href="#366">366</a> <strong>if</strong> (logger.isDebugEnabled()) { +<a name="367" href="#367">367</a> logger.callAppenders(<strong>new</strong> LoggingEvent(FQCN, logger, Level.DEBUG, +<a name="368" href="#368">368</a> sourceClass + <span class="string">"."</span> + sourceMethod + <span class="string">" THROW"</span>, thrown)); +<a name="369" href="#369">369</a> } +<a name="370" href="#370">370</a> } +<a name="371" href="#371">371</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/DOMConfigurator.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/DOMConfigurator.html new file mode 100644 index 00000000000..9d9cb2ee22a --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/DOMConfigurator.html @@ -0,0 +1,1067 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMConfigurator xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/extras/DOMConfigurator.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.extras; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.Layout; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Level; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.LogManager; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.config.PropertySetter; +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.helpers.FileWatchdog; +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.helpers.Loader; +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; +<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.helpers.OptionConverter; +<a name="30" href="#30">30</a> <strong>import</strong> org.apache.log4j.or.RendererMap; +<a name="31" href="#31">31</a> <strong>import</strong> org.apache.log4j.spi.AppenderAttachable; +<a name="32" href="#32">32</a> <strong>import</strong> org.apache.log4j.spi.Configurator; +<a name="33" href="#33">33</a> <strong>import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="34" href="#34">34</a> <strong>import</strong> org.apache.log4j.spi.Filter; +<a name="35" href="#35">35</a> <strong>import</strong> org.apache.log4j.spi.LoggerFactory; +<a name="36" href="#36">36</a> <strong>import</strong> org.apache.log4j.spi.LoggerRepository; +<a name="37" href="#37">37</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; +<a name="38" href="#38">38</a> <strong>import</strong> org.apache.log4j.spi.RendererSupport; +<a name="39" href="#39">39</a> <strong>import</strong> org.apache.log4j.xml.SAXErrorHandler; +<a name="40" href="#40">40</a> <strong>import</strong> org.apache.log4j.xml.UnrecognizedElementHandler; +<a name="41" href="#41">41</a> <strong>import</strong> org.w3c.dom.Document; +<a name="42" href="#42">42</a> <strong>import</strong> org.w3c.dom.Element; +<a name="43" href="#43">43</a> <strong>import</strong> org.w3c.dom.NamedNodeMap; +<a name="44" href="#44">44</a> <strong>import</strong> org.w3c.dom.Node; +<a name="45" href="#45">45</a> <strong>import</strong> org.w3c.dom.NodeList; +<a name="46" href="#46">46</a> <strong>import</strong> org.xml.sax.EntityResolver; +<a name="47" href="#47">47</a> <strong>import</strong> org.xml.sax.InputSource; +<a name="48" href="#48">48</a> <strong>import</strong> org.xml.sax.SAXException; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong>import</strong> javax.xml.parsers.DocumentBuilder; +<a name="51" href="#51">51</a> <strong>import</strong> javax.xml.parsers.DocumentBuilderFactory; +<a name="52" href="#52">52</a> <strong>import</strong> javax.xml.parsers.FactoryConfigurationError; +<a name="53" href="#53">53</a> <strong>import</strong> java.io.ByteArrayInputStream; +<a name="54" href="#54">54</a> <strong>import</strong> java.io.File; +<a name="55" href="#55">55</a> <strong>import</strong> java.io.IOException; +<a name="56" href="#56">56</a> <strong>import</strong> java.io.InputStream; +<a name="57" href="#57">57</a> <strong>import</strong> java.io.Reader; +<a name="58" href="#58">58</a> <strong>import</strong> java.lang.reflect.Method; +<a name="59" href="#59">59</a> <strong>import</strong> java.net.URL; +<a name="60" href="#60">60</a> <strong>import</strong> java.util.Hashtable; +<a name="61" href="#61">61</a> <strong>import</strong> java.util.Properties; +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em>/**<em>*</em></em> +<a name="64" href="#64">64</a> <em> * This is a duplicate (with minor modifications)</em> +<a name="65" href="#65">65</a> <em> * of the log4j 1.2.15 DOMConfigurator</em> +<a name="66" href="#66">66</a> <em> * renamed for use with earlier versions of log4j.</em> +<a name="67" href="#67">67</a> <em> *</em> +<a name="68" href="#68">68</a> <em>*/</em> +<a name="69" href="#69">69</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a> implements Configurator { +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong>static</strong> <strong>final</strong> String CONFIGURATION_TAG = <span class="string">"log4j:configuration"</span>; +<a name="72" href="#72">72</a> <strong>static</strong> <strong>final</strong> String OLD_CONFIGURATION_TAG = <span class="string">"configuration"</span>; +<a name="73" href="#73">73</a> <strong>static</strong> <strong>final</strong> String RENDERER_TAG = <span class="string">"renderer"</span>; +<a name="74" href="#74">74</a> <strong>static</strong> <strong>final</strong> String APPENDER_TAG = <span class="string">"appender"</span>; +<a name="75" href="#75">75</a> <strong>static</strong> <strong>final</strong> String APPENDER_REF_TAG = <span class="string">"appender-ref"</span>; +<a name="76" href="#76">76</a> <strong>static</strong> <strong>final</strong> String PARAM_TAG = <span class="string">"param"</span>; +<a name="77" href="#77">77</a> <strong>static</strong> <strong>final</strong> String LAYOUT_TAG = <span class="string">"layout"</span>; +<a name="78" href="#78">78</a> <strong>static</strong> <strong>final</strong> String CATEGORY = <span class="string">"category"</span>; +<a name="79" href="#79">79</a> <strong>static</strong> <strong>final</strong> String LOGGER = <span class="string">"logger"</span>; +<a name="80" href="#80">80</a> <strong>static</strong> <strong>final</strong> String LOGGER_REF = <span class="string">"logger-ref"</span>; +<a name="81" href="#81">81</a> <strong>static</strong> <strong>final</strong> String CATEGORY_FACTORY_TAG = <span class="string">"categoryFactory"</span>; +<a name="82" href="#82">82</a> <strong>static</strong> <strong>final</strong> String LOGGER_FACTORY_TAG = <span class="string">"loggerFactory"</span>; +<a name="83" href="#83">83</a> <strong>static</strong> <strong>final</strong> String NAME_ATTR = <span class="string">"name"</span>; +<a name="84" href="#84">84</a> <strong>static</strong> <strong>final</strong> String CLASS_ATTR = <span class="string">"class"</span>; +<a name="85" href="#85">85</a> <strong>static</strong> <strong>final</strong> String VALUE_ATTR = <span class="string">"value"</span>; +<a name="86" href="#86">86</a> <strong>static</strong> <strong>final</strong> String ROOT_TAG = <span class="string">"root"</span>; +<a name="87" href="#87">87</a> <strong>static</strong> <strong>final</strong> String ROOT_REF = <span class="string">"root-ref"</span>; +<a name="88" href="#88">88</a> <strong>static</strong> <strong>final</strong> String LEVEL_TAG = <span class="string">"level"</span>; +<a name="89" href="#89">89</a> <strong>static</strong> <strong>final</strong> String PRIORITY_TAG = <span class="string">"priority"</span>; +<a name="90" href="#90">90</a> <strong>static</strong> <strong>final</strong> String FILTER_TAG = <span class="string">"filter"</span>; +<a name="91" href="#91">91</a> <strong>static</strong> <strong>final</strong> String ERROR_HANDLER_TAG = <span class="string">"errorHandler"</span>; +<a name="92" href="#92">92</a> <strong>static</strong> <strong>final</strong> String REF_ATTR = <span class="string">"ref"</span>; +<a name="93" href="#93">93</a> <strong>static</strong> <strong>final</strong> String ADDITIVITY_ATTR = <span class="string">"additivity"</span>; +<a name="94" href="#94">94</a> <strong>static</strong> <strong>final</strong> String THRESHOLD_ATTR = <span class="string">"threshold"</span>; +<a name="95" href="#95">95</a> <strong>static</strong> <strong>final</strong> String CONFIG_DEBUG_ATTR = <span class="string">"configDebug"</span>; +<a name="96" href="#96">96</a> <strong>static</strong> <strong>final</strong> String INTERNAL_DEBUG_ATTR = <span class="string">"debug"</span>; +<a name="97" href="#97">97</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String RESET_ATTR = <span class="string">"reset"</span>; +<a name="98" href="#98">98</a> <strong>static</strong> <strong>final</strong> String RENDERING_CLASS_ATTR = <span class="string">"renderingClass"</span>; +<a name="99" href="#99">99</a> <strong>static</strong> <strong>final</strong> String RENDERED_CLASS_ATTR = <span class="string">"renderedClass"</span>; +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <strong>static</strong> <strong>final</strong> String EMPTY_STR = <span class="string">""</span>; +<a name="102" href="#102">102</a> <strong>static</strong> <strong>final</strong> Class[] ONE_STRING_PARAM = <strong>new</strong> Class[] {String.<strong>class</strong>}; +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <strong>final</strong> <strong>static</strong> String dbfKey = <span class="string">"javax.xml.parsers.DocumentBuilderFactory"</span>; +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em class="comment">// key: appenderName, value: appender</em> +<a name="108" href="#108">108</a> <strong>private</strong> Hashtable appenderBag; +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <strong>private</strong> Properties props; +<a name="111" href="#111">111</a> <strong>private</strong> LoggerRepository repository; +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <strong>private</strong> LoggerFactory catFactory = <strong>null</strong>; +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em>/**<em>*</em></em> +<a name="116" href="#116">116</a> <em> No argument constructor.</em> +<a name="117" href="#117">117</a> <em> */</em> +<a name="118" href="#118">118</a> <strong>public</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a>() { +<a name="119" href="#119">119</a> appenderBag = <strong>new</strong> Hashtable(); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <em>/**<em>*</em></em> +<a name="123" href="#123">123</a> <em> Used internally to parse appenders by IDREF name.</em> +<a name="124" href="#124">124</a> <em> */</em> +<a name="125" href="#125">125</a> <strong>protected</strong> +<a name="126" href="#126">126</a> Appender findAppenderByName(Document doc, String appenderName) { +<a name="127" href="#127">127</a> Appender appender = (Appender) appenderBag.get(appenderName); +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong>if</strong>(appender != <strong>null</strong>) { +<a name="130" href="#130">130</a> <strong>return</strong> appender; +<a name="131" href="#131">131</a> } <strong>else</strong> { +<a name="132" href="#132">132</a> <em class="comment">// Doesn't work on DOM Level 1 :</em> +<a name="133" href="#133">133</a> <em class="comment">// Element element = doc.getElementById(appenderName);</em> +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <em class="comment">// Endre's hack:</em> +<a name="136" href="#136">136</a> Element element = <strong>null</strong>; +<a name="137" href="#137">137</a> NodeList list = doc.getElementsByTagName(<span class="string">"appender"</span>); +<a name="138" href="#138">138</a> <strong>for</strong> (<strong>int</strong> t=0; t &lt; list.getLength(); t++) { +<a name="139" href="#139">139</a> Node node = list.item(t); +<a name="140" href="#140">140</a> NamedNodeMap map= node.getAttributes(); +<a name="141" href="#141">141</a> Node attrNode = map.getNamedItem(<span class="string">"name"</span>); +<a name="142" href="#142">142</a> <strong>if</strong> (appenderName.equals(attrNode.getNodeValue())) { +<a name="143" href="#143">143</a> element = (Element) node; +<a name="144" href="#144">144</a> <strong>break</strong>; +<a name="145" href="#145">145</a> } +<a name="146" href="#146">146</a> } +<a name="147" href="#147">147</a> <em class="comment">// Hack finished.</em> +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <strong>if</strong>(element == <strong>null</strong>) { +<a name="150" href="#150">150</a> LogLog.error(<span class="string">"No appender named ["</span>+appenderName+<span class="string">"] could be found."</span>); +<a name="151" href="#151">151</a> <strong>return</strong> <strong>null</strong>; +<a name="152" href="#152">152</a> } <strong>else</strong> { +<a name="153" href="#153">153</a> appender = parseAppender(element); +<a name="154" href="#154">154</a> <strong>if</strong> (appender != <strong>null</strong>) { +<a name="155" href="#155">155</a> appenderBag.put(appenderName, appender); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> <strong>return</strong> appender; +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> <em>/**<em>*</em></em> +<a name="162" href="#162">162</a> <em> Used internally to parse appenders by IDREF element.</em> +<a name="163" href="#163">163</a> <em> */</em> +<a name="164" href="#164">164</a> <strong>protected</strong> +<a name="165" href="#165">165</a> Appender findAppenderByReference(Element appenderRef) { +<a name="166" href="#166">166</a> String appenderName = subst(appenderRef.getAttribute(REF_ATTR)); +<a name="167" href="#167">167</a> Document doc = appenderRef.getOwnerDocument(); +<a name="168" href="#168">168</a> <strong>return</strong> findAppenderByName(doc, appenderName); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em>/**<em>*</em></em> +<a name="172" href="#172">172</a> <em> * Delegates unrecognized content to created instance if</em> +<a name="173" href="#173">173</a> <em> * it supports UnrecognizedElementParser.</em> +<a name="174" href="#174">174</a> <em> * @since 1.2.15</em> +<a name="175" href="#175">175</a> <em> * @param instance instance, may be null.</em> +<a name="176" href="#176">176</a> <em> * @param element element, may not be null.</em> +<a name="177" href="#177">177</a> <em> * @param props properties</em> +<a name="178" href="#178">178</a> <em> * @throws IOException thrown if configuration of owner object</em> +<a name="179" href="#179">179</a> <em> * should be abandoned.</em> +<a name="180" href="#180">180</a> <em> */</em> +<a name="181" href="#181">181</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> parseUnrecognizedElement(<strong>final</strong> Object instance, +<a name="182" href="#182">182</a> <strong>final</strong> Element element, +<a name="183" href="#183">183</a> <strong>final</strong> Properties props) throws Exception { +<a name="184" href="#184">184</a> <strong>boolean</strong> recognized = false; +<a name="185" href="#185">185</a> <strong>if</strong> (instance instanceof UnrecognizedElementHandler) { +<a name="186" href="#186">186</a> recognized = ((UnrecognizedElementHandler) instance).parseUnrecognizedElement( +<a name="187" href="#187">187</a> element, props); +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> <strong>if</strong> (!recognized) { +<a name="190" href="#190">190</a> LogLog.warn(<span class="string">"Unrecognized element "</span> + element.getNodeName()); +<a name="191" href="#191">191</a> } +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <em>/**<em>*</em></em> +<a name="195" href="#195">195</a> <em> * Delegates unrecognized content to created instance if</em> +<a name="196" href="#196">196</a> <em> * it supports UnrecognizedElementParser and catches and</em> +<a name="197" href="#197">197</a> <em> * logs any exception.</em> +<a name="198" href="#198">198</a> <em> * @since 1.2.15</em> +<a name="199" href="#199">199</a> <em> * @param instance instance, may be null.</em> +<a name="200" href="#200">200</a> <em> * @param element element, may not be null.</em> +<a name="201" href="#201">201</a> <em> * @param props properties</em> +<a name="202" href="#202">202</a> <em> */</em> +<a name="203" href="#203">203</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> quietParseUnrecognizedElement(<strong>final</strong> Object instance, +<a name="204" href="#204">204</a> <strong>final</strong> Element element, +<a name="205" href="#205">205</a> <strong>final</strong> Properties props) { +<a name="206" href="#206">206</a> <strong>try</strong> { +<a name="207" href="#207">207</a> parseUnrecognizedElement(instance, element, props); +<a name="208" href="#208">208</a> } <strong>catch</strong> (Exception ex) { +<a name="209" href="#209">209</a> LogLog.error(<span class="string">"Error in extension content: "</span>, ex); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <em>/**<em>*</em></em> +<a name="214" href="#214">214</a> <em> Used internally to parse an appender element.</em> +<a name="215" href="#215">215</a> <em> */</em> +<a name="216" href="#216">216</a> <strong>protected</strong> +<a name="217" href="#217">217</a> Appender parseAppender (Element appenderElement) { +<a name="218" href="#218">218</a> String className = subst(appenderElement.getAttribute(CLASS_ATTR)); +<a name="219" href="#219">219</a> LogLog.debug(<span class="string">"Class name: ["</span> + className+']'); +<a name="220" href="#220">220</a> <strong>try</strong> { +<a name="221" href="#221">221</a> Object instance = Loader.loadClass(className).newInstance(); +<a name="222" href="#222">222</a> Appender appender = (Appender)instance; +<a name="223" href="#223">223</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(appender); +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> appender.setName(subst(appenderElement.getAttribute(NAME_ATTR))); +<a name="226" href="#226">226</a> +<a name="227" href="#227">227</a> NodeList children = appenderElement.getChildNodes(); +<a name="228" href="#228">228</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { +<a name="231" href="#231">231</a> Node currentNode = children.item(loop); +<a name="232" href="#232">232</a> +<a name="233" href="#233">233</a> <em class="comment">/*<em class="comment"> We're only interested in Elements */</em></em> +<a name="234" href="#234">234</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="235" href="#235">235</a> Element currentElement = (Element)currentNode; +<a name="236" href="#236">236</a> +<a name="237" href="#237">237</a> <em class="comment">// Parse appender parameters </em> +<a name="238" href="#238">238</a> <strong>if</strong> (currentElement.getTagName().equals(PARAM_TAG)) { +<a name="239" href="#239">239</a> setParameter(currentElement, propSetter); +<a name="240" href="#240">240</a> } +<a name="241" href="#241">241</a> <em class="comment">// Set appender layout</em> +<a name="242" href="#242">242</a> <strong>else</strong> <strong>if</strong> (currentElement.getTagName().equals(LAYOUT_TAG)) { +<a name="243" href="#243">243</a> appender.setLayout(parseLayout(currentElement)); +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> <em class="comment">// Add filters</em> +<a name="246" href="#246">246</a> <strong>else</strong> <strong>if</strong> (currentElement.getTagName().equals(FILTER_TAG)) { +<a name="247" href="#247">247</a> parseFilters(currentElement, appender); +<a name="248" href="#248">248</a> } +<a name="249" href="#249">249</a> <strong>else</strong> <strong>if</strong> (currentElement.getTagName().equals(ERROR_HANDLER_TAG)) { +<a name="250" href="#250">250</a> parseErrorHandler(currentElement, appender); +<a name="251" href="#251">251</a> } +<a name="252" href="#252">252</a> <strong>else</strong> <strong>if</strong> (currentElement.getTagName().equals(APPENDER_REF_TAG)) { +<a name="253" href="#253">253</a> String refName = subst(currentElement.getAttribute(REF_ATTR)); +<a name="254" href="#254">254</a> <strong>if</strong>(appender instanceof AppenderAttachable) { +<a name="255" href="#255">255</a> AppenderAttachable aa = (AppenderAttachable) appender; +<a name="256" href="#256">256</a> LogLog.debug(<span class="string">"Attaching appender named ["</span>+ refName+ +<a name="257" href="#257">257</a> <span class="string">"] to appender named ["</span>+ appender.getName()+<span class="string">"]."</span>); +<a name="258" href="#258">258</a> aa.addAppender(findAppenderByReference(currentElement)); +<a name="259" href="#259">259</a> } <strong>else</strong> { +<a name="260" href="#260">260</a> LogLog.error(<span class="string">"Requesting attachment of appender named ["</span>+ +<a name="261" href="#261">261</a> refName+ <span class="string">"] to appender named ["</span>+ appender.getName()+ +<a name="262" href="#262">262</a> <span class="string">"] which does not implement org.apache.log4j.spi.AppenderAttachable."</span>); +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> } <strong>else</strong> { +<a name="265" href="#265">265</a> parseUnrecognizedElement(instance, currentElement, props); +<a name="266" href="#266">266</a> } +<a name="267" href="#267">267</a> } +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> propSetter.activate(); +<a name="270" href="#270">270</a> <strong>return</strong> appender; +<a name="271" href="#271">271</a> } +<a name="272" href="#272">272</a> <em class="comment">/*<em class="comment"> Yes, it's ugly. But all of these exceptions point to the same</em></em> +<a name="273" href="#273">273</a> <em class="comment"> problem: we can't create an Appender */</em> +<a name="274" href="#274">274</a> <strong>catch</strong> (Exception oops) { +<a name="275" href="#275">275</a> LogLog.error(<span class="string">"Could not create an Appender. Reported error follows."</span>, +<a name="276" href="#276">276</a> oops); +<a name="277" href="#277">277</a> <strong>return</strong> <strong>null</strong>; +<a name="278" href="#278">278</a> } +<a name="279" href="#279">279</a> } +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> <em>/**<em>*</em></em> +<a name="282" href="#282">282</a> <em> Used internally to parse an {@link ErrorHandler} element.</em> +<a name="283" href="#283">283</a> <em> */</em> +<a name="284" href="#284">284</a> <strong>protected</strong> +<a name="285" href="#285">285</a> <strong>void</strong> parseErrorHandler(Element element, Appender appender) { +<a name="286" href="#286">286</a> ErrorHandler eh = (ErrorHandler) OptionConverter.instantiateByClassName( +<a name="287" href="#287">287</a> subst(element.getAttribute(CLASS_ATTR)), +<a name="288" href="#288">288</a> org.apache.log4j.spi.ErrorHandler.<strong>class</strong>, +<a name="289" href="#289">289</a> <strong>null</strong>); +<a name="290" href="#290">290</a> +<a name="291" href="#291">291</a> <strong>if</strong>(eh != <strong>null</strong>) { +<a name="292" href="#292">292</a> eh.setAppender(appender); +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(eh); +<a name="295" href="#295">295</a> NodeList children = element.getChildNodes(); +<a name="296" href="#296">296</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { +<a name="299" href="#299">299</a> Node currentNode = children.item(loop); +<a name="300" href="#300">300</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="301" href="#301">301</a> Element currentElement = (Element) currentNode; +<a name="302" href="#302">302</a> String tagName = currentElement.getTagName(); +<a name="303" href="#303">303</a> <strong>if</strong>(tagName.equals(PARAM_TAG)) { +<a name="304" href="#304">304</a> setParameter(currentElement, propSetter); +<a name="305" href="#305">305</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(APPENDER_REF_TAG)) { +<a name="306" href="#306">306</a> eh.setBackupAppender(findAppenderByReference(currentElement)); +<a name="307" href="#307">307</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(LOGGER_REF)) { +<a name="308" href="#308">308</a> String loggerName = currentElement.getAttribute(REF_ATTR); +<a name="309" href="#309">309</a> Logger logger = (catFactory == <strong>null</strong>) ? repository.getLogger(loggerName) +<a name="310" href="#310">310</a> : repository.getLogger(loggerName, catFactory); +<a name="311" href="#311">311</a> eh.setLogger(logger); +<a name="312" href="#312">312</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(ROOT_REF)) { +<a name="313" href="#313">313</a> Logger root = repository.getRootLogger(); +<a name="314" href="#314">314</a> eh.setLogger(root); +<a name="315" href="#315">315</a> } <strong>else</strong> { +<a name="316" href="#316">316</a> quietParseUnrecognizedElement(eh, currentElement, props); +<a name="317" href="#317">317</a> } +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> } +<a name="320" href="#320">320</a> propSetter.activate(); +<a name="321" href="#321">321</a> appender.setErrorHandler(eh); +<a name="322" href="#322">322</a> } +<a name="323" href="#323">323</a> } +<a name="324" href="#324">324</a> +<a name="325" href="#325">325</a> <em>/**<em>*</em></em> +<a name="326" href="#326">326</a> <em> Used internally to parse a filter element.</em> +<a name="327" href="#327">327</a> <em> */</em> +<a name="328" href="#328">328</a> <strong>protected</strong> +<a name="329" href="#329">329</a> <strong>void</strong> parseFilters(Element element, Appender appender) { +<a name="330" href="#330">330</a> String clazz = subst(element.getAttribute(CLASS_ATTR)); +<a name="331" href="#331">331</a> Filter filter = (Filter) OptionConverter.instantiateByClassName(clazz, +<a name="332" href="#332">332</a> Filter.<strong>class</strong>, <strong>null</strong>); +<a name="333" href="#333">333</a> +<a name="334" href="#334">334</a> <strong>if</strong>(filter != <strong>null</strong>) { +<a name="335" href="#335">335</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(filter); +<a name="336" href="#336">336</a> NodeList children = element.getChildNodes(); +<a name="337" href="#337">337</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { +<a name="340" href="#340">340</a> Node currentNode = children.item(loop); +<a name="341" href="#341">341</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="342" href="#342">342</a> Element currentElement = (Element) currentNode; +<a name="343" href="#343">343</a> String tagName = currentElement.getTagName(); +<a name="344" href="#344">344</a> <strong>if</strong>(tagName.equals(PARAM_TAG)) { +<a name="345" href="#345">345</a> setParameter(currentElement, propSetter); +<a name="346" href="#346">346</a> } <strong>else</strong> { +<a name="347" href="#347">347</a> quietParseUnrecognizedElement(filter, currentElement, props); +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> } +<a name="351" href="#351">351</a> propSetter.activate(); +<a name="352" href="#352">352</a> LogLog.debug(<span class="string">"Adding filter of type ["</span>+filter.getClass() +<a name="353" href="#353">353</a> +<span class="string">"] to appender named ["</span>+appender.getName()+<span class="string">"]."</span>); +<a name="354" href="#354">354</a> appender.addFilter(filter); +<a name="355" href="#355">355</a> } +<a name="356" href="#356">356</a> } +<a name="357" href="#357">357</a> +<a name="358" href="#358">358</a> <em>/**<em>*</em></em> +<a name="359" href="#359">359</a> <em> Used internally to parse an category element.</em> +<a name="360" href="#360">360</a> <em> */</em> +<a name="361" href="#361">361</a> <strong>protected</strong> +<a name="362" href="#362">362</a> <strong>void</strong> parseCategory (Element loggerElement) { +<a name="363" href="#363">363</a> <em class="comment">// Create a new org.apache.log4j.Category object from the &lt;category> element.</em> +<a name="364" href="#364">364</a> String catName = subst(loggerElement.getAttribute(NAME_ATTR)); +<a name="365" href="#365">365</a> +<a name="366" href="#366">366</a> Logger cat; +<a name="367" href="#367">367</a> +<a name="368" href="#368">368</a> String className = subst(loggerElement.getAttribute(CLASS_ATTR)); +<a name="369" href="#369">369</a> +<a name="370" href="#370">370</a> +<a name="371" href="#371">371</a> <strong>if</strong>(EMPTY_STR.equals(className)) { +<a name="372" href="#372">372</a> LogLog.debug(<span class="string">"Retreiving an instance of org.apache.log4j.Logger."</span>); +<a name="373" href="#373">373</a> cat = (catFactory == <strong>null</strong>) ? repository.getLogger(catName) : repository.getLogger(catName, catFactory); +<a name="374" href="#374">374</a> } +<a name="375" href="#375">375</a> <strong>else</strong> { +<a name="376" href="#376">376</a> LogLog.debug(<span class="string">"Desired logger sub-class: ["</span>+className+']'); +<a name="377" href="#377">377</a> <strong>try</strong> { +<a name="378" href="#378">378</a> Class clazz = Loader.loadClass(className); +<a name="379" href="#379">379</a> Method getInstanceMethod = clazz.getMethod(<span class="string">"getLogger"</span>, +<a name="380" href="#380">380</a> ONE_STRING_PARAM); +<a name="381" href="#381">381</a> cat = (Logger) getInstanceMethod.invoke(<strong>null</strong>, <strong>new</strong> Object[] {catName}); +<a name="382" href="#382">382</a> } <strong>catch</strong> (Exception oops) { +<a name="383" href="#383">383</a> LogLog.error(<span class="string">"Could not retrieve category ["</span>+catName+ +<a name="384" href="#384">384</a> <span class="string">"]. Reported error follows."</span>, oops); +<a name="385" href="#385">385</a> <strong>return</strong>; +<a name="386" href="#386">386</a> } +<a name="387" href="#387">387</a> } +<a name="388" href="#388">388</a> +<a name="389" href="#389">389</a> <em class="comment">// Setting up a category needs to be an atomic operation, in order</em> +<a name="390" href="#390">390</a> <em class="comment">// to protect potential log operations while category</em> +<a name="391" href="#391">391</a> <em class="comment">// configuration is in progress.</em> +<a name="392" href="#392">392</a> <strong>synchronized</strong>(cat) { +<a name="393" href="#393">393</a> <strong>boolean</strong> additivity = OptionConverter.toBoolean( +<a name="394" href="#394">394</a> subst(loggerElement.getAttribute(ADDITIVITY_ATTR)), +<a name="395" href="#395">395</a> <strong>true</strong>); +<a name="396" href="#396">396</a> +<a name="397" href="#397">397</a> LogLog.debug(<span class="string">"Setting ["</span>+cat.getName()+<span class="string">"] additivity to ["</span>+additivity+<span class="string">"]."</span>); +<a name="398" href="#398">398</a> cat.setAdditivity(additivity); +<a name="399" href="#399">399</a> parseChildrenOfLoggerElement(loggerElement, cat, false); +<a name="400" href="#400">400</a> } +<a name="401" href="#401">401</a> } +<a name="402" href="#402">402</a> +<a name="403" href="#403">403</a> +<a name="404" href="#404">404</a> <em>/**<em>*</em></em> +<a name="405" href="#405">405</a> <em> Used internally to parse the category factory element.</em> +<a name="406" href="#406">406</a> <em> */</em> +<a name="407" href="#407">407</a> <strong>protected</strong> +<a name="408" href="#408">408</a> <strong>void</strong> parseCategoryFactory(Element factoryElement) { +<a name="409" href="#409">409</a> String className = subst(factoryElement.getAttribute(CLASS_ATTR)); +<a name="410" href="#410">410</a> +<a name="411" href="#411">411</a> <strong>if</strong>(EMPTY_STR.equals(className)) { +<a name="412" href="#412">412</a> LogLog.error(<span class="string">"Category Factory tag "</span> + CLASS_ATTR + <span class="string">" attribute not found."</span>); +<a name="413" href="#413">413</a> LogLog.debug(<span class="string">"No Category Factory configured."</span>); +<a name="414" href="#414">414</a> } +<a name="415" href="#415">415</a> <strong>else</strong> { +<a name="416" href="#416">416</a> LogLog.debug(<span class="string">"Desired category factory: ["</span>+className+']'); +<a name="417" href="#417">417</a> Object factory = OptionConverter.instantiateByClassName(className, +<a name="418" href="#418">418</a> LoggerFactory.<strong>class</strong>, +<a name="419" href="#419">419</a> <strong>null</strong>); +<a name="420" href="#420">420</a> <strong>if</strong> (factory instanceof LoggerFactory) { +<a name="421" href="#421">421</a> catFactory = (LoggerFactory) factory; +<a name="422" href="#422">422</a> } <strong>else</strong> { +<a name="423" href="#423">423</a> LogLog.error(<span class="string">"Category Factory class "</span> + className + <span class="string">" does not implement org.apache.log4j.LoggerFactory"</span>); +<a name="424" href="#424">424</a> } +<a name="425" href="#425">425</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(factory); +<a name="426" href="#426">426</a> +<a name="427" href="#427">427</a> Element currentElement = <strong>null</strong>; +<a name="428" href="#428">428</a> Node currentNode = <strong>null</strong>; +<a name="429" href="#429">429</a> NodeList children = factoryElement.getChildNodes(); +<a name="430" href="#430">430</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); +<a name="431" href="#431">431</a> +<a name="432" href="#432">432</a> <strong>for</strong> (<strong>int</strong> loop=0; loop &lt; length; loop++) { +<a name="433" href="#433">433</a> currentNode = children.item(loop); +<a name="434" href="#434">434</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="435" href="#435">435</a> currentElement = (Element)currentNode; +<a name="436" href="#436">436</a> <strong>if</strong> (currentElement.getTagName().equals(PARAM_TAG)) { +<a name="437" href="#437">437</a> setParameter(currentElement, propSetter); +<a name="438" href="#438">438</a> } <strong>else</strong> { +<a name="439" href="#439">439</a> quietParseUnrecognizedElement(factory, currentElement, props); +<a name="440" href="#440">440</a> } +<a name="441" href="#441">441</a> } +<a name="442" href="#442">442</a> } +<a name="443" href="#443">443</a> } +<a name="444" href="#444">444</a> } +<a name="445" href="#445">445</a> +<a name="446" href="#446">446</a> +<a name="447" href="#447">447</a> <em>/**<em>*</em></em> +<a name="448" href="#448">448</a> <em> Used internally to parse the roor category element.</em> +<a name="449" href="#449">449</a> <em> */</em> +<a name="450" href="#450">450</a> <strong>protected</strong> +<a name="451" href="#451">451</a> <strong>void</strong> parseRoot (Element rootElement) { +<a name="452" href="#452">452</a> Logger root = repository.getRootLogger(); +<a name="453" href="#453">453</a> <em class="comment">// category configuration needs to be atomic</em> +<a name="454" href="#454">454</a> <strong>synchronized</strong>(root) { +<a name="455" href="#455">455</a> parseChildrenOfLoggerElement(rootElement, root, <strong>true</strong>); +<a name="456" href="#456">456</a> } +<a name="457" href="#457">457</a> } +<a name="458" href="#458">458</a> +<a name="459" href="#459">459</a> +<a name="460" href="#460">460</a> <em>/**<em>*</em></em> +<a name="461" href="#461">461</a> <em> Used internally to parse the children of a category element.</em> +<a name="462" href="#462">462</a> <em> */</em> +<a name="463" href="#463">463</a> <strong>protected</strong> +<a name="464" href="#464">464</a> <strong>void</strong> parseChildrenOfLoggerElement(Element catElement, +<a name="465" href="#465">465</a> Logger cat, <strong>boolean</strong> isRoot) { +<a name="466" href="#466">466</a> +<a name="467" href="#467">467</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(cat); +<a name="468" href="#468">468</a> +<a name="469" href="#469">469</a> <em class="comment">// Remove all existing appenders from cat. They will be</em> +<a name="470" href="#470">470</a> <em class="comment">// reconstructed if need be.</em> +<a name="471" href="#471">471</a> cat.removeAllAppenders(); +<a name="472" href="#472">472</a> +<a name="473" href="#473">473</a> +<a name="474" href="#474">474</a> NodeList children = catElement.getChildNodes(); +<a name="475" href="#475">475</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { +<a name="478" href="#478">478</a> Node currentNode = children.item(loop); +<a name="479" href="#479">479</a> +<a name="480" href="#480">480</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="481" href="#481">481</a> Element currentElement = (Element) currentNode; +<a name="482" href="#482">482</a> String tagName = currentElement.getTagName(); +<a name="483" href="#483">483</a> +<a name="484" href="#484">484</a> <strong>if</strong> (tagName.equals(APPENDER_REF_TAG)) { +<a name="485" href="#485">485</a> Element appenderRef = (Element) currentNode; +<a name="486" href="#486">486</a> Appender appender = findAppenderByReference(appenderRef); +<a name="487" href="#487">487</a> String refName = subst(appenderRef.getAttribute(REF_ATTR)); +<a name="488" href="#488">488</a> <strong>if</strong>(appender != <strong>null</strong>) +<a name="489" href="#489">489</a> LogLog.debug(<span class="string">"Adding appender named ["</span>+ refName+ +<a name="490" href="#490">490</a> <span class="string">"] to category ["</span>+cat.getName()+<span class="string">"]."</span>); +<a name="491" href="#491">491</a> <strong>else</strong> +<a name="492" href="#492">492</a> LogLog.debug(<span class="string">"Appender named ["</span>+ refName + <span class="string">"] not found."</span>); +<a name="493" href="#493">493</a> +<a name="494" href="#494">494</a> cat.addAppender(appender); +<a name="495" href="#495">495</a> +<a name="496" href="#496">496</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(LEVEL_TAG)) { +<a name="497" href="#497">497</a> parseLevel(currentElement, cat, isRoot); +<a name="498" href="#498">498</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(PRIORITY_TAG)) { +<a name="499" href="#499">499</a> parseLevel(currentElement, cat, isRoot); +<a name="500" href="#500">500</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(PARAM_TAG)) { +<a name="501" href="#501">501</a> setParameter(currentElement, propSetter); +<a name="502" href="#502">502</a> } <strong>else</strong> { +<a name="503" href="#503">503</a> quietParseUnrecognizedElement(cat, currentElement, props); +<a name="504" href="#504">504</a> } +<a name="505" href="#505">505</a> } +<a name="506" href="#506">506</a> } +<a name="507" href="#507">507</a> propSetter.activate(); +<a name="508" href="#508">508</a> } +<a name="509" href="#509">509</a> +<a name="510" href="#510">510</a> <em>/**<em>*</em></em> +<a name="511" href="#511">511</a> <em> Used internally to parse a layout element.</em> +<a name="512" href="#512">512</a> <em> */</em> +<a name="513" href="#513">513</a> <strong>protected</strong> +<a name="514" href="#514">514</a> Layout parseLayout (Element layout_element) { +<a name="515" href="#515">515</a> String className = subst(layout_element.getAttribute(CLASS_ATTR)); +<a name="516" href="#516">516</a> LogLog.debug(<span class="string">"Parsing layout of class: \&quot;"</span>+className+<span class="string">"\&quot;"</span>); +<a name="517" href="#517">517</a> <strong>try</strong> { +<a name="518" href="#518">518</a> Object instance = Loader.loadClass(className).newInstance(); +<a name="519" href="#519">519</a> Layout layout = (Layout)instance; +<a name="520" href="#520">520</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(layout); +<a name="521" href="#521">521</a> +<a name="522" href="#522">522</a> NodeList params = layout_element.getChildNodes(); +<a name="523" href="#523">523</a> <strong>final</strong> <strong>int</strong> length = params.getLength(); +<a name="524" href="#524">524</a> +<a name="525" href="#525">525</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { +<a name="526" href="#526">526</a> Node currentNode = (Node)params.item(loop); +<a name="527" href="#527">527</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="528" href="#528">528</a> Element currentElement = (Element) currentNode; +<a name="529" href="#529">529</a> String tagName = currentElement.getTagName(); +<a name="530" href="#530">530</a> <strong>if</strong>(tagName.equals(PARAM_TAG)) { +<a name="531" href="#531">531</a> setParameter(currentElement, propSetter); +<a name="532" href="#532">532</a> } <strong>else</strong> { +<a name="533" href="#533">533</a> parseUnrecognizedElement(instance, currentElement, props); +<a name="534" href="#534">534</a> } +<a name="535" href="#535">535</a> } +<a name="536" href="#536">536</a> } +<a name="537" href="#537">537</a> +<a name="538" href="#538">538</a> propSetter.activate(); +<a name="539" href="#539">539</a> <strong>return</strong> layout; +<a name="540" href="#540">540</a> } +<a name="541" href="#541">541</a> <strong>catch</strong> (Exception oops) { +<a name="542" href="#542">542</a> LogLog.error(<span class="string">"Could not create the Layout. Reported error follows."</span>, +<a name="543" href="#543">543</a> oops); +<a name="544" href="#544">544</a> <strong>return</strong> <strong>null</strong>; +<a name="545" href="#545">545</a> } +<a name="546" href="#546">546</a> } +<a name="547" href="#547">547</a> +<a name="548" href="#548">548</a> <strong>protected</strong> +<a name="549" href="#549">549</a> <strong>void</strong> parseRenderer(Element element) { +<a name="550" href="#550">550</a> String renderingClass = subst(element.getAttribute(RENDERING_CLASS_ATTR)); +<a name="551" href="#551">551</a> String renderedClass = subst(element.getAttribute(RENDERED_CLASS_ATTR)); +<a name="552" href="#552">552</a> <strong>if</strong>(repository instanceof RendererSupport) { +<a name="553" href="#553">553</a> RendererMap.addRenderer((RendererSupport) repository, renderedClass, +<a name="554" href="#554">554</a> renderingClass); +<a name="555" href="#555">555</a> } +<a name="556" href="#556">556</a> } +<a name="557" href="#557">557</a> +<a name="558" href="#558">558</a> <em>/**<em>*</em></em> +<a name="559" href="#559">559</a> <em> Used internally to parse a level element.</em> +<a name="560" href="#560">560</a> <em> */</em> +<a name="561" href="#561">561</a> <strong>protected</strong> +<a name="562" href="#562">562</a> <strong>void</strong> parseLevel(Element element, Logger logger, <strong>boolean</strong> isRoot) { +<a name="563" href="#563">563</a> String catName = logger.getName(); +<a name="564" href="#564">564</a> <strong>if</strong>(isRoot) { +<a name="565" href="#565">565</a> catName = <span class="string">"root"</span>; +<a name="566" href="#566">566</a> } +<a name="567" href="#567">567</a> +<a name="568" href="#568">568</a> String priStr = subst(element.getAttribute(VALUE_ATTR)); +<a name="569" href="#569">569</a> LogLog.debug(<span class="string">"Level value for "</span>+catName+<span class="string">" is ["</span>+priStr+<span class="string">"]."</span>); +<a name="570" href="#570">570</a> +<a name="571" href="#571">571</a> <strong>if</strong>(INHERITED.equalsIgnoreCase(priStr) || NULL.equalsIgnoreCase(priStr)) { +<a name="572" href="#572">572</a> <strong>if</strong>(isRoot) { +<a name="573" href="#573">573</a> LogLog.error(<span class="string">"Root level cannot be inherited. Ignoring directive."</span>); +<a name="574" href="#574">574</a> } <strong>else</strong> { +<a name="575" href="#575">575</a> logger.setLevel(<strong>null</strong>); +<a name="576" href="#576">576</a> } +<a name="577" href="#577">577</a> } <strong>else</strong> { +<a name="578" href="#578">578</a> String className = subst(element.getAttribute(CLASS_ATTR)); +<a name="579" href="#579">579</a> <strong>if</strong>(EMPTY_STR.equals(className)) { +<a name="580" href="#580">580</a> logger.setLevel(OptionConverter.toLevel(priStr, Level.DEBUG)); +<a name="581" href="#581">581</a> } <strong>else</strong> { +<a name="582" href="#582">582</a> LogLog.debug(<span class="string">"Desired Level sub-class: ["</span>+className+']'); +<a name="583" href="#583">583</a> <strong>try</strong> { +<a name="584" href="#584">584</a> Class clazz = Loader.loadClass(className); +<a name="585" href="#585">585</a> Method toLevelMethod = clazz.getMethod(<span class="string">"toLevel"</span>, +<a name="586" href="#586">586</a> ONE_STRING_PARAM); +<a name="587" href="#587">587</a> Level pri = (Level) toLevelMethod.invoke(<strong>null</strong>, +<a name="588" href="#588">588</a> <strong>new</strong> Object[] {priStr}); +<a name="589" href="#589">589</a> logger.setLevel(pri); +<a name="590" href="#590">590</a> } <strong>catch</strong> (Exception oops) { +<a name="591" href="#591">591</a> LogLog.error(<span class="string">"Could not create level ["</span>+priStr+ +<a name="592" href="#592">592</a> <span class="string">"]. Reported error follows."</span>, oops); +<a name="593" href="#593">593</a> <strong>return</strong>; +<a name="594" href="#594">594</a> } +<a name="595" href="#595">595</a> } +<a name="596" href="#596">596</a> } +<a name="597" href="#597">597</a> LogLog.debug(catName + <span class="string">" level set to "</span> + logger.getLevel()); +<a name="598" href="#598">598</a> } +<a name="599" href="#599">599</a> +<a name="600" href="#600">600</a> <strong>protected</strong> +<a name="601" href="#601">601</a> <strong>void</strong> setParameter(Element elem, PropertySetter propSetter) { +<a name="602" href="#602">602</a> setParameter(elem, propSetter, props); +<a name="603" href="#603">603</a> } +<a name="604" href="#604">604</a> +<a name="605" href="#605">605</a> +<a name="606" href="#606">606</a> <em>/**<em>*</em></em> +<a name="607" href="#607">607</a> <em> Configure log4j using a &lt;code>configuration&lt;/code> element as</em> +<a name="608" href="#608">608</a> <em> defined in the log4j.dtd. </em> +<a name="609" href="#609">609</a> +<a name="610" href="#610">610</a> <em> */</em> +<a name="611" href="#611">611</a> <strong>static</strong> +<a name="612" href="#612">612</a> <strong>public</strong> +<a name="613" href="#613">613</a> <strong>void</strong> configure (Element element) { +<a name="614" href="#614">614</a> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a> configurator = <strong>new</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a>(); +<a name="615" href="#615">615</a> configurator.doConfigure(element, LogManager.getLoggerRepository()); +<a name="616" href="#616">616</a> } +<a name="617" href="#617">617</a> +<a name="618" href="#618">618</a> <em>/**<em>*</em></em> +<a name="619" href="#619">619</a> <em> Like {@link #configureAndWatch(String, long)} except that the</em> +<a name="620" href="#620">620</a> <em> default delay as defined by {@link FileWatchdog#DEFAULT_DELAY} is</em> +<a name="621" href="#621">621</a> <em> used. </em> +<a name="622" href="#622">622</a> +<a name="623" href="#623">623</a> <em> @param configFilename A log4j configuration file in XML format.</em> +<a name="624" href="#624">624</a> +<a name="625" href="#625">625</a> <em> */</em> +<a name="626" href="#626">626</a> <strong>static</strong> +<a name="627" href="#627">627</a> <strong>public</strong> +<a name="628" href="#628">628</a> <strong>void</strong> configureAndWatch(String configFilename) { +<a name="629" href="#629">629</a> configureAndWatch(configFilename, FileWatchdog.DEFAULT_DELAY); +<a name="630" href="#630">630</a> } +<a name="631" href="#631">631</a> +<a name="632" href="#632">632</a> <em>/**<em>*</em></em> +<a name="633" href="#633">633</a> <em> Read the configuration file &lt;code>configFilename&lt;/code> if it</em> +<a name="634" href="#634">634</a> <em> exists. Moreover, a thread will be created that will periodically</em> +<a name="635" href="#635">635</a> <em> check if &lt;code>configFilename&lt;/code> has been created or</em> +<a name="636" href="#636">636</a> <em> modified. The period is determined by the &lt;code>delay&lt;/code></em> +<a name="637" href="#637">637</a> <em> argument. If a change or file creation is detected, then</em> +<a name="638" href="#638">638</a> <em> &lt;code>configFilename&lt;/code> is read to configure log4j. </em> +<a name="639" href="#639">639</a> +<a name="640" href="#640">640</a> <em> @param configFilename A log4j configuration file in XML format.</em> +<a name="641" href="#641">641</a> <em> @param delay The delay in milliseconds to wait between each check.</em> +<a name="642" href="#642">642</a> <em> */</em> +<a name="643" href="#643">643</a> <strong>static</strong> +<a name="644" href="#644">644</a> <strong>public</strong> +<a name="645" href="#645">645</a> <strong>void</strong> configureAndWatch(String configFilename, <strong>long</strong> delay) { +<a name="646" href="#646">646</a> XMLWatchdog xdog = <strong>new</strong> XMLWatchdog(configFilename); +<a name="647" href="#647">647</a> xdog.setDelay(delay); +<a name="648" href="#648">648</a> xdog.start(); +<a name="649" href="#649">649</a> } +<a name="650" href="#650">650</a> +<a name="651" href="#651">651</a> <strong>private</strong> <strong>interface</strong> ParseAction { +<a name="652" href="#652">652</a> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException; +<a name="653" href="#653">653</a> } +<a name="654" href="#654">654</a> +<a name="655" href="#655">655</a> +<a name="656" href="#656">656</a> <strong>public</strong> +<a name="657" href="#657">657</a> <strong>void</strong> doConfigure(<strong>final</strong> String filename, LoggerRepository repository) { +<a name="658" href="#658">658</a> ParseAction action = <strong>new</strong> ParseAction() { +<a name="659" href="#659">659</a> <strong>public</strong> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException { +<a name="660" href="#660">660</a> <strong>return</strong> parser.parse(<strong>new</strong> File(filename)); +<a name="661" href="#661">661</a> } +<a name="662" href="#662">662</a> <strong>public</strong> String toString() { +<a name="663" href="#663">663</a> <strong>return</strong> <span class="string">"file ["</span> + filename + <span class="string">"]"</span>; +<a name="664" href="#664">664</a> } +<a name="665" href="#665">665</a> }; +<a name="666" href="#666">666</a> doConfigure(action, repository); +<a name="667" href="#667">667</a> } +<a name="668" href="#668">668</a> +<a name="669" href="#669">669</a> +<a name="670" href="#670">670</a> <strong>public</strong> +<a name="671" href="#671">671</a> <strong>void</strong> doConfigure(<strong>final</strong> URL url, LoggerRepository repository) { +<a name="672" href="#672">672</a> ParseAction action = <strong>new</strong> ParseAction() { +<a name="673" href="#673">673</a> <strong>public</strong> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException { +<a name="674" href="#674">674</a> InputStream stream = url.openStream(); +<a name="675" href="#675">675</a> <strong>try</strong> { +<a name="676" href="#676">676</a> InputSource src = <strong>new</strong> InputSource(stream); +<a name="677" href="#677">677</a> src.setSystemId(url.toString()); +<a name="678" href="#678">678</a> <strong>return</strong> parser.parse(src); +<a name="679" href="#679">679</a> } <strong>finally</strong> { +<a name="680" href="#680">680</a> stream.close(); +<a name="681" href="#681">681</a> } +<a name="682" href="#682">682</a> } +<a name="683" href="#683">683</a> <strong>public</strong> String toString() { +<a name="684" href="#684">684</a> <strong>return</strong> <span class="string">"url ["</span> + url.toString() + <span class="string">"]"</span>; +<a name="685" href="#685">685</a> } +<a name="686" href="#686">686</a> }; +<a name="687" href="#687">687</a> doConfigure(action, repository); +<a name="688" href="#688">688</a> } +<a name="689" href="#689">689</a> +<a name="690" href="#690">690</a> <em>/**<em>*</em></em> +<a name="691" href="#691">691</a> <em> Configure log4j by reading in a log4j.dtd compliant XML</em> +<a name="692" href="#692">692</a> <em> configuration file.</em> +<a name="693" href="#693">693</a> +<a name="694" href="#694">694</a> <em> */</em> +<a name="695" href="#695">695</a> <strong>public</strong> +<a name="696" href="#696">696</a> <strong>void</strong> doConfigure(<strong>final</strong> InputStream inputStream, LoggerRepository repository) +<a name="697" href="#697">697</a> throws FactoryConfigurationError { +<a name="698" href="#698">698</a> ParseAction action = <strong>new</strong> ParseAction() { +<a name="699" href="#699">699</a> <strong>public</strong> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException { +<a name="700" href="#700">700</a> InputSource inputSource = <strong>new</strong> InputSource(inputStream); +<a name="701" href="#701">701</a> inputSource.setSystemId(<span class="string">"dummy://log4j.dtd"</span>); +<a name="702" href="#702">702</a> <strong>return</strong> parser.parse(inputSource); +<a name="703" href="#703">703</a> } +<a name="704" href="#704">704</a> <strong>public</strong> String toString() { +<a name="705" href="#705">705</a> <strong>return</strong> <span class="string">"input stream ["</span> + inputStream.toString() + <span class="string">"]"</span>; +<a name="706" href="#706">706</a> } +<a name="707" href="#707">707</a> }; +<a name="708" href="#708">708</a> doConfigure(action, repository); +<a name="709" href="#709">709</a> } +<a name="710" href="#710">710</a> +<a name="711" href="#711">711</a> <em>/**<em>*</em></em> +<a name="712" href="#712">712</a> <em> Configure log4j by reading in a log4j.dtd compliant XML</em> +<a name="713" href="#713">713</a> <em> configuration file.</em> +<a name="714" href="#714">714</a> +<a name="715" href="#715">715</a> <em> */</em> +<a name="716" href="#716">716</a> <strong>public</strong> +<a name="717" href="#717">717</a> <strong>void</strong> doConfigure(<strong>final</strong> Reader reader, LoggerRepository repository) +<a name="718" href="#718">718</a> throws FactoryConfigurationError { +<a name="719" href="#719">719</a> ParseAction action = <strong>new</strong> ParseAction() { +<a name="720" href="#720">720</a> <strong>public</strong> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException { +<a name="721" href="#721">721</a> InputSource inputSource = <strong>new</strong> InputSource(reader); +<a name="722" href="#722">722</a> inputSource.setSystemId(<span class="string">"dummy://log4j.dtd"</span>); +<a name="723" href="#723">723</a> <strong>return</strong> parser.parse(inputSource); +<a name="724" href="#724">724</a> } +<a name="725" href="#725">725</a> <strong>public</strong> String toString() { +<a name="726" href="#726">726</a> <strong>return</strong> <span class="string">"reader ["</span> + reader.toString() + <span class="string">"]"</span>; +<a name="727" href="#727">727</a> } +<a name="728" href="#728">728</a> }; +<a name="729" href="#729">729</a> doConfigure(action, repository); +<a name="730" href="#730">730</a> } +<a name="731" href="#731">731</a> +<a name="732" href="#732">732</a> <em>/**<em>*</em></em> +<a name="733" href="#733">733</a> <em> Configure log4j by reading in a log4j.dtd compliant XML</em> +<a name="734" href="#734">734</a> <em> configuration file.</em> +<a name="735" href="#735">735</a> +<a name="736" href="#736">736</a> <em> */</em> +<a name="737" href="#737">737</a> <strong>protected</strong> +<a name="738" href="#738">738</a> <strong>void</strong> doConfigure(<strong>final</strong> InputSource inputSource, LoggerRepository repository) +<a name="739" href="#739">739</a> throws FactoryConfigurationError { +<a name="740" href="#740">740</a> <strong>if</strong> (inputSource.getSystemId() == <strong>null</strong>) { +<a name="741" href="#741">741</a> inputSource.setSystemId(<span class="string">"dummy://log4j.dtd"</span>); +<a name="742" href="#742">742</a> } +<a name="743" href="#743">743</a> ParseAction action = <strong>new</strong> ParseAction() { +<a name="744" href="#744">744</a> <strong>public</strong> Document parse(<strong>final</strong> DocumentBuilder parser) throws SAXException, IOException { +<a name="745" href="#745">745</a> <strong>return</strong> parser.parse(inputSource); +<a name="746" href="#746">746</a> } +<a name="747" href="#747">747</a> <strong>public</strong> String toString() { +<a name="748" href="#748">748</a> <strong>return</strong> <span class="string">"input source ["</span> + inputSource.toString() + <span class="string">"]"</span>; +<a name="749" href="#749">749</a> } +<a name="750" href="#750">750</a> }; +<a name="751" href="#751">751</a> doConfigure(action, repository); +<a name="752" href="#752">752</a> } +<a name="753" href="#753">753</a> +<a name="754" href="#754">754</a> +<a name="755" href="#755">755</a> <strong>private</strong> <strong>final</strong> <strong>void</strong> doConfigure(<strong>final</strong> ParseAction action, <strong>final</strong> LoggerRepository repository) +<a name="756" href="#756">756</a> throws FactoryConfigurationError { +<a name="757" href="#757">757</a> DocumentBuilderFactory dbf = <strong>null</strong>; +<a name="758" href="#758">758</a> <strong>this</strong>.repository = repository; +<a name="759" href="#759">759</a> <strong>try</strong> { +<a name="760" href="#760">760</a> LogLog.debug(<span class="string">"System property is :"</span>+ +<a name="761" href="#761">761</a> OptionConverter.getSystemProperty(dbfKey, +<a name="762" href="#762">762</a> <strong>null</strong>)); +<a name="763" href="#763">763</a> dbf = DocumentBuilderFactory.newInstance(); +<a name="764" href="#764">764</a> LogLog.debug(<span class="string">"Standard DocumentBuilderFactory search succeded."</span>); +<a name="765" href="#765">765</a> LogLog.debug(<span class="string">"DocumentBuilderFactory is: "</span>+dbf.getClass().getName()); +<a name="766" href="#766">766</a> } <strong>catch</strong>(FactoryConfigurationError fce) { +<a name="767" href="#767">767</a> Exception e = fce.getException(); +<a name="768" href="#768">768</a> LogLog.debug(<span class="string">"Could not instantiate a DocumentBuilderFactory."</span>, e); +<a name="769" href="#769">769</a> <strong>throw</strong> fce; +<a name="770" href="#770">770</a> } +<a name="771" href="#771">771</a> +<a name="772" href="#772">772</a> <strong>try</strong> { +<a name="773" href="#773">773</a> dbf.setValidating(<strong>true</strong>); +<a name="774" href="#774">774</a> +<a name="775" href="#775">775</a> DocumentBuilder docBuilder = dbf.newDocumentBuilder(); +<a name="776" href="#776">776</a> +<a name="777" href="#777">777</a> docBuilder.setErrorHandler(<strong>new</strong> SAXErrorHandler()); +<a name="778" href="#778">778</a> docBuilder.setEntityResolver(<strong>new</strong> Log4jEntityResolver()); +<a name="779" href="#779">779</a> +<a name="780" href="#780">780</a> Document doc = action.parse(docBuilder); +<a name="781" href="#781">781</a> parse(doc.getDocumentElement()); +<a name="782" href="#782">782</a> } <strong>catch</strong> (Exception e) { +<a name="783" href="#783">783</a> <em class="comment">// I know this is miserable...</em> +<a name="784" href="#784">784</a> LogLog.error(<span class="string">"Could not parse "</span>+ action.toString() + <span class="string">"."</span>, e); +<a name="785" href="#785">785</a> } +<a name="786" href="#786">786</a> } +<a name="787" href="#787">787</a> +<a name="788" href="#788">788</a> <em>/**<em>*</em></em> +<a name="789" href="#789">789</a> <em> Configure by taking in an DOM element. </em> +<a name="790" href="#790">790</a> <em> */</em> +<a name="791" href="#791">791</a> <strong>public</strong> <strong>void</strong> doConfigure(Element element, LoggerRepository repository) { +<a name="792" href="#792">792</a> <strong>this</strong>.repository = repository; +<a name="793" href="#793">793</a> parse(element); +<a name="794" href="#794">794</a> } +<a name="795" href="#795">795</a> +<a name="796" href="#796">796</a> +<a name="797" href="#797">797</a> <em>/**<em>*</em></em> +<a name="798" href="#798">798</a> <em> A static version of {@link #doConfigure(String, LoggerRepository)}. */</em> +<a name="799" href="#799">799</a> <strong>static</strong> +<a name="800" href="#800">800</a> <strong>public</strong> +<a name="801" href="#801">801</a> <strong>void</strong> configure(String filename) throws FactoryConfigurationError { +<a name="802" href="#802">802</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a>().doConfigure(filename, +<a name="803" href="#803">803</a> LogManager.getLoggerRepository()); +<a name="804" href="#804">804</a> } +<a name="805" href="#805">805</a> +<a name="806" href="#806">806</a> <em>/**<em>*</em></em> +<a name="807" href="#807">807</a> <em> A static version of {@link #doConfigure(URL, LoggerRepository)}.</em> +<a name="808" href="#808">808</a> <em> */</em> +<a name="809" href="#809">809</a> <strong>static</strong> +<a name="810" href="#810">810</a> <strong>public</strong> +<a name="811" href="#811">811</a> <strong>void</strong> configure(URL url) throws FactoryConfigurationError { +<a name="812" href="#812">812</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a>().doConfigure(url, LogManager.getLoggerRepository()); +<a name="813" href="#813">813</a> } +<a name="814" href="#814">814</a> +<a name="815" href="#815">815</a> <em>/**<em>*</em></em> +<a name="816" href="#816">816</a> <em> Used internally to configure the log4j framework by parsing a DOM</em> +<a name="817" href="#817">817</a> <em> tree of XML elements based on &lt;a</em> +<a name="818" href="#818">818</a> <em> href="doc-files/log4j.dtd">log4j.dtd&lt;/a>.</em> +<a name="819" href="#819">819</a> <em> </em> +<a name="820" href="#820">820</a> <em> */</em> +<a name="821" href="#821">821</a> <strong>protected</strong> +<a name="822" href="#822">822</a> <strong>void</strong> parse(Element element) { +<a name="823" href="#823">823</a> +<a name="824" href="#824">824</a> String rootElementName = element.getTagName(); +<a name="825" href="#825">825</a> +<a name="826" href="#826">826</a> <strong>if</strong> (!rootElementName.equals(CONFIGURATION_TAG)) { +<a name="827" href="#827">827</a> <strong>if</strong>(rootElementName.equals(OLD_CONFIGURATION_TAG)) { +<a name="828" href="#828">828</a> LogLog.warn(<span class="string">"The &lt;"</span>+OLD_CONFIGURATION_TAG+ +<a name="829" href="#829">829</a> <span class="string">"> element has been deprecated."</span>); +<a name="830" href="#830">830</a> LogLog.warn(<span class="string">"Use the &lt;"</span>+CONFIGURATION_TAG+<span class="string">"> element instead."</span>); +<a name="831" href="#831">831</a> } <strong>else</strong> { +<a name="832" href="#832">832</a> LogLog.error(<span class="string">"DOM element is - not a &lt;"</span>+CONFIGURATION_TAG+<span class="string">"> element."</span>); +<a name="833" href="#833">833</a> <strong>return</strong>; +<a name="834" href="#834">834</a> } +<a name="835" href="#835">835</a> } +<a name="836" href="#836">836</a> +<a name="837" href="#837">837</a> String debugAttrib = subst(element.getAttribute(INTERNAL_DEBUG_ATTR)); +<a name="838" href="#838">838</a> +<a name="839" href="#839">839</a> LogLog.debug(<span class="string">"debug attribute= \&quot;"</span> + debugAttrib +<span class="string">"\&quot;."</span>); +<a name="840" href="#840">840</a> <em class="comment">// if the log4j.dtd is not specified in the XML file, then the</em> +<a name="841" href="#841">841</a> <em class="comment">// "debug" attribute is returned as the empty string.</em> +<a name="842" href="#842">842</a> <strong>if</strong>(!debugAttrib.equals(<span class="string">""</span>) &amp;&amp; !debugAttrib.equals(<span class="string">"null"</span>)) { +<a name="843" href="#843">843</a> LogLog.setInternalDebugging(OptionConverter.toBoolean(debugAttrib, <strong>true</strong>)); +<a name="844" href="#844">844</a> } <strong>else</strong> { +<a name="845" href="#845">845</a> LogLog.debug(<span class="string">"Ignoring "</span> + INTERNAL_DEBUG_ATTR + <span class="string">" attribute."</span>); +<a name="846" href="#846">846</a> } +<a name="847" href="#847">847</a> +<a name="848" href="#848">848</a> <em class="comment">//</em> +<a name="849" href="#849">849</a> <em class="comment">// reset repository before configuration if reset="true"</em> +<a name="850" href="#850">850</a> <em class="comment">// on configuration element.</em> +<a name="851" href="#851">851</a> <em class="comment">//</em> +<a name="852" href="#852">852</a> String resetAttrib = subst(element.getAttribute(RESET_ATTR)); +<a name="853" href="#853">853</a> LogLog.debug(<span class="string">"reset attribute= \&quot;"</span> + resetAttrib +<span class="string">"\&quot;."</span>); +<a name="854" href="#854">854</a> <strong>if</strong>(!(<span class="string">""</span>.equals(resetAttrib)) &amp;&amp; +<a name="855" href="#855">855</a> OptionConverter.toBoolean(resetAttrib, false)) { +<a name="856" href="#856">856</a> repository.resetConfiguration(); +<a name="857" href="#857">857</a> } +<a name="858" href="#858">858</a> +<a name="859" href="#859">859</a> +<a name="860" href="#860">860</a> String confDebug = subst(element.getAttribute(CONFIG_DEBUG_ATTR)); +<a name="861" href="#861">861</a> <strong>if</strong>(!confDebug.equals(<span class="string">""</span>) &amp;&amp; !confDebug.equals(<span class="string">"null"</span>)) { +<a name="862" href="#862">862</a> LogLog.warn(<span class="string">"The \&quot;"</span>+CONFIG_DEBUG_ATTR+<span class="string">"\&quot; attribute is deprecated."</span>); +<a name="863" href="#863">863</a> LogLog.warn(<span class="string">"Use the \&quot;"</span>+INTERNAL_DEBUG_ATTR+<span class="string">"\&quot; attribute instead."</span>); +<a name="864" href="#864">864</a> LogLog.setInternalDebugging(OptionConverter.toBoolean(confDebug, <strong>true</strong>)); +<a name="865" href="#865">865</a> } +<a name="866" href="#866">866</a> +<a name="867" href="#867">867</a> String thresholdStr = subst(element.getAttribute(THRESHOLD_ATTR)); +<a name="868" href="#868">868</a> LogLog.debug(<span class="string">"Threshold =\&quot;"</span> + thresholdStr +<span class="string">"\&quot;."</span>); +<a name="869" href="#869">869</a> <strong>if</strong>(!<span class="string">""</span>.equals(thresholdStr) &amp;&amp; !<span class="string">"null"</span>.equals(thresholdStr)) { +<a name="870" href="#870">870</a> repository.setThreshold(thresholdStr); +<a name="871" href="#871">871</a> } +<a name="872" href="#872">872</a> +<a name="873" href="#873">873</a> <em class="comment">//Hashtable appenderBag = new Hashtable(11);</em> +<a name="874" href="#874">874</a> +<a name="875" href="#875">875</a> <em class="comment">/*<em class="comment"> Building Appender objects, placing them in a local namespace</em></em> +<a name="876" href="#876">876</a> <em class="comment"> for future reference */</em> +<a name="877" href="#877">877</a> +<a name="878" href="#878">878</a> <em class="comment">// First configure each category factory under the root element.</em> +<a name="879" href="#879">879</a> <em class="comment">// Category factories need to be configured before any of</em> +<a name="880" href="#880">880</a> <em class="comment">// categories they support.</em> +<a name="881" href="#881">881</a> <em class="comment">//</em> +<a name="882" href="#882">882</a> String tagName = <strong>null</strong>; +<a name="883" href="#883">883</a> Element currentElement = <strong>null</strong>; +<a name="884" href="#884">884</a> Node currentNode = <strong>null</strong>; +<a name="885" href="#885">885</a> NodeList children = element.getChildNodes(); +<a name="886" href="#886">886</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); +<a name="887" href="#887">887</a> +<a name="888" href="#888">888</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { +<a name="889" href="#889">889</a> currentNode = children.item(loop); +<a name="890" href="#890">890</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="891" href="#891">891</a> currentElement = (Element) currentNode; +<a name="892" href="#892">892</a> tagName = currentElement.getTagName(); +<a name="893" href="#893">893</a> +<a name="894" href="#894">894</a> <strong>if</strong> (tagName.equals(CATEGORY_FACTORY_TAG) || tagName.equals(LOGGER_FACTORY_TAG)) { +<a name="895" href="#895">895</a> parseCategoryFactory(currentElement); +<a name="896" href="#896">896</a> } +<a name="897" href="#897">897</a> } +<a name="898" href="#898">898</a> } +<a name="899" href="#899">899</a> +<a name="900" href="#900">900</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { +<a name="901" href="#901">901</a> currentNode = children.item(loop); +<a name="902" href="#902">902</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="903" href="#903">903</a> currentElement = (Element) currentNode; +<a name="904" href="#904">904</a> tagName = currentElement.getTagName(); +<a name="905" href="#905">905</a> +<a name="906" href="#906">906</a> <strong>if</strong> (tagName.equals(CATEGORY) || tagName.equals(LOGGER)) { +<a name="907" href="#907">907</a> parseCategory(currentElement); +<a name="908" href="#908">908</a> } <strong>else</strong> <strong>if</strong> (tagName.equals(ROOT_TAG)) { +<a name="909" href="#909">909</a> parseRoot(currentElement); +<a name="910" href="#910">910</a> } <strong>else</strong> <strong>if</strong>(tagName.equals(RENDERER_TAG)) { +<a name="911" href="#911">911</a> parseRenderer(currentElement); +<a name="912" href="#912">912</a> } <strong>else</strong> <strong>if</strong> (!(tagName.equals(APPENDER_TAG) +<a name="913" href="#913">913</a> || tagName.equals(CATEGORY_FACTORY_TAG) +<a name="914" href="#914">914</a> || tagName.equals(LOGGER_FACTORY_TAG))) { +<a name="915" href="#915">915</a> quietParseUnrecognizedElement(repository, currentElement, props); +<a name="916" href="#916">916</a> } +<a name="917" href="#917">917</a> } +<a name="918" href="#918">918</a> } +<a name="919" href="#919">919</a> } +<a name="920" href="#920">920</a> +<a name="921" href="#921">921</a> +<a name="922" href="#922">922</a> <strong>protected</strong> +<a name="923" href="#923">923</a> String subst(<strong>final</strong> String value) { +<a name="924" href="#924">924</a> <strong>return</strong> subst(value, props); +<a name="925" href="#925">925</a> } +<a name="926" href="#926">926</a> +<a name="927" href="#927">927</a> <em>/**<em>*</em></em> +<a name="928" href="#928">928</a> <em> * Substitutes property value for any references in expression.</em> +<a name="929" href="#929">929</a> <em> *</em> +<a name="930" href="#930">930</a> <em> * @param value value from configuration file, may contain</em> +<a name="931" href="#931">931</a> <em> * literal text, property references or both</em> +<a name="932" href="#932">932</a> <em> * @param props properties.</em> +<a name="933" href="#933">933</a> <em> * @return evaluated expression, may still contain expressions</em> +<a name="934" href="#934">934</a> <em> * if unable to expand.</em> +<a name="935" href="#935">935</a> <em> * @since 1.2.15</em> +<a name="936" href="#936">936</a> <em> */</em> +<a name="937" href="#937">937</a> <strong>public</strong> <strong>static</strong> String subst(<strong>final</strong> String value, <strong>final</strong> Properties props) { +<a name="938" href="#938">938</a> <strong>try</strong> { +<a name="939" href="#939">939</a> <strong>return</strong> OptionConverter.substVars(value, props); +<a name="940" href="#940">940</a> } <strong>catch</strong> (IllegalArgumentException e) { +<a name="941" href="#941">941</a> LogLog.warn(<span class="string">"Could not perform variable substitution."</span>, e); +<a name="942" href="#942">942</a> <strong>return</strong> value; +<a name="943" href="#943">943</a> } +<a name="944" href="#944">944</a> } +<a name="945" href="#945">945</a> +<a name="946" href="#946">946</a> +<a name="947" href="#947">947</a> <em>/**<em>*</em></em> +<a name="948" href="#948">948</a> <em> * Sets a parameter based from configuration file content.</em> +<a name="949" href="#949">949</a> <em> *</em> +<a name="950" href="#950">950</a> <em> * @param elem param element, may not be null.</em> +<a name="951" href="#951">951</a> <em> * @param propSetter property setter, may not be null.</em> +<a name="952" href="#952">952</a> <em> * @param props properties</em> +<a name="953" href="#953">953</a> <em> * @since 1.2.15</em> +<a name="954" href="#954">954</a> <em> */</em> +<a name="955" href="#955">955</a> <strong>public</strong> <strong>static</strong> <strong>void</strong> setParameter(<strong>final</strong> Element elem, +<a name="956" href="#956">956</a> <strong>final</strong> PropertySetter propSetter, +<a name="957" href="#957">957</a> <strong>final</strong> Properties props) { +<a name="958" href="#958">958</a> String name = subst(elem.getAttribute(<span class="string">"name"</span>), props); +<a name="959" href="#959">959</a> String value = (elem.getAttribute(<span class="string">"value"</span>)); +<a name="960" href="#960">960</a> value = subst(OptionConverter.convertSpecialChars(value), props); +<a name="961" href="#961">961</a> propSetter.setProperty(name, value); +<a name="962" href="#962">962</a> } +<a name="963" href="#963">963</a> +<a name="964" href="#964">964</a> +<a name="965" href="#965">965</a> <em>/**<em>*</em></em> +<a name="966" href="#966">966</a> <em> * Creates an OptionHandler and processes any nested param elements</em> +<a name="967" href="#967">967</a> <em> * but does not call activateOptions. If the class also supports</em> +<a name="968" href="#968">968</a> <em> * UnrecognizedElementParser, the parseUnrecognizedElement method</em> +<a name="969" href="#969">969</a> <em> * will be call for any child elements other than param.</em> +<a name="970" href="#970">970</a> <em> *</em> +<a name="971" href="#971">971</a> <em> * @param element element, may not be null.</em> +<a name="972" href="#972">972</a> <em> * @param props properties</em> +<a name="973" href="#973">973</a> <em> * @param expectedClass interface or class expected to be implemented</em> +<a name="974" href="#974">974</a> <em> * by created class</em> +<a name="975" href="#975">975</a> <em> * @return created class or null.</em> +<a name="976" href="#976">976</a> <em> * @throws Exception thrown if the contain object should be abandoned.</em> +<a name="977" href="#977">977</a> <em> * @since 1.2.15</em> +<a name="978" href="#978">978</a> <em> */</em> +<a name="979" href="#979">979</a> <strong>public</strong> <strong>static</strong> OptionHandler parseElement(<strong>final</strong> Element element, +<a name="980" href="#980">980</a> <strong>final</strong> Properties props, +<a name="981" href="#981">981</a> <strong>final</strong> Class expectedClass) throws Exception { +<a name="982" href="#982">982</a> String clazz = subst(element.getAttribute(<span class="string">"class"</span>), props); +<a name="983" href="#983">983</a> Object instance = OptionConverter.instantiateByClassName(clazz, +<a name="984" href="#984">984</a> expectedClass, <strong>null</strong>); +<a name="985" href="#985">985</a> +<a name="986" href="#986">986</a> <strong>if</strong> (instance instanceof OptionHandler) { +<a name="987" href="#987">987</a> OptionHandler optionHandler = (OptionHandler) instance; +<a name="988" href="#988">988</a> PropertySetter propSetter = <strong>new</strong> PropertySetter(optionHandler); +<a name="989" href="#989">989</a> NodeList children = element.getChildNodes(); +<a name="990" href="#990">990</a> <strong>final</strong> <strong>int</strong> length = children.getLength(); +<a name="991" href="#991">991</a> +<a name="992" href="#992">992</a> <strong>for</strong> (<strong>int</strong> loop = 0; loop &lt; length; loop++) { +<a name="993" href="#993">993</a> Node currentNode = children.item(loop); +<a name="994" href="#994">994</a> <strong>if</strong> (currentNode.getNodeType() == Node.ELEMENT_NODE) { +<a name="995" href="#995">995</a> Element currentElement = (Element) currentNode; +<a name="996" href="#996">996</a> String tagName = currentElement.getTagName(); +<a name="997" href="#997">997</a> <strong>if</strong> (tagName.equals(<span class="string">"param"</span>)) { +<a name="998" href="#998">998</a> setParameter(currentElement, propSetter, props); +<a name="999" href="#999">999</a> } <strong>else</strong> { +<a name="1000" href="#1000">1000</a> parseUnrecognizedElement(instance, currentElement, props); +<a name="1001" href="#1001">1001</a> } +<a name="1002" href="#1002">1002</a> } +<a name="1003" href="#1003">1003</a> } +<a name="1004" href="#1004">1004</a> <strong>return</strong> optionHandler; +<a name="1005" href="#1005">1005</a> } +<a name="1006" href="#1006">1006</a> <strong>return</strong> <strong>null</strong>; +<a name="1007" href="#1007">1007</a> } +<a name="1008" href="#1008">1008</a> +<a name="1009" href="#1009">1009</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> XMLWatchdog <strong>extends</strong> FileWatchdog { +<a name="1010" href="#1010">1010</a> +<a name="1011" href="#1011">1011</a> XMLWatchdog(String filename) { +<a name="1012" href="#1012">1012</a> <strong>super</strong>(filename); +<a name="1013" href="#1013">1013</a> } +<a name="1014" href="#1014">1014</a> +<a name="1015" href="#1015">1015</a> <em>/**<em>*</em></em> +<a name="1016" href="#1016">1016</a> <em> Call {@link DOMConfigurator#configure(String)} with the</em> +<a name="1017" href="#1017">1017</a> <em> &lt;code>filename&lt;/code> to reconfigure log4j. */</em> +<a name="1018" href="#1018">1018</a> <strong>public</strong> +<a name="1019" href="#1019">1019</a> <strong>void</strong> doOnChange() { +<a name="1020" href="#1020">1020</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/DOMConfigurator.html">DOMConfigurator</a>().doConfigure(filename, +<a name="1021" href="#1021">1021</a> LogManager.getLoggerRepository()); +<a name="1022" href="#1022">1022</a> } +<a name="1023" href="#1023">1023</a> } +<a name="1024" href="#1024">1024</a> +<a name="1025" href="#1025">1025</a> +<a name="1026" href="#1026">1026</a> <em>/**<em>*</em></em> +<a name="1027" href="#1027">1027</a> <em> * An {@link EntityResolver} specifically designed to return</em> +<a name="1028" href="#1028">1028</a> <em> * &lt;code>log4j.dtd&lt;/code> which is embedded within the log4j jar</em> +<a name="1029" href="#1029">1029</a> <em> * file.</em> +<a name="1030" href="#1030">1030</a> <em> *</em> +<a name="1031" href="#1031">1031</a> <em> * @author Paul Austin</em> +<a name="1032" href="#1032">1032</a> <em> * */</em> +<a name="1033" href="#1033">1033</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> Log4jEntityResolver implements EntityResolver { +<a name="1034" href="#1034">1034</a> +<a name="1035" href="#1035">1035</a> <strong>public</strong> InputSource resolveEntity (String <strong>public</strong>Id, String systemId) { +<a name="1036" href="#1036">1036</a> <strong>if</strong> (systemId.endsWith(<span class="string">"log4j.dtd"</span>)) { +<a name="1037" href="#1037">1037</a> InputStream in = Log4jEntityResolver.<strong>class</strong>.getResourceAsStream(<span class="string">"log4j.dtd"</span>); +<a name="1038" href="#1038">1038</a> <strong>if</strong> (in == <strong>null</strong>) { +<a name="1039" href="#1039">1039</a> LogLog.warn(<span class="string">"Could not find [log4j.dtd] using ["</span> + +<a name="1040" href="#1040">1040</a> Log4jEntityResolver.<strong>class</strong>.getClassLoader() +<a name="1041" href="#1041">1041</a> + <span class="string">"] class loader, parsed without DTD."</span>); +<a name="1042" href="#1042">1042</a> in = <strong>new</strong> ByteArrayInputStream(<strong>new</strong> byte[0]); +<a name="1043" href="#1043">1043</a> } +<a name="1044" href="#1044">1044</a> <strong>return</strong> <strong>new</strong> InputSource(in); +<a name="1045" href="#1045">1045</a> } <strong>else</strong> { +<a name="1046" href="#1046">1046</a> <strong>return</strong> <strong>null</strong>; +<a name="1047" href="#1047">1047</a> } +<a name="1048" href="#1048">1048</a> } +<a name="1049" href="#1049">1049</a> } +<a name="1050" href="#1050">1050</a> +<a name="1051" href="#1051">1051</a> +<a name="1052" href="#1052">1052</a> } +<a name="1053" href="#1053">1053</a> +<a name="1054" href="#1054">1054</a> +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/SoundAppender.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/SoundAppender.html new file mode 100644 index 00000000000..eb15d9710d3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/SoundAppender.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SoundAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/extras/SoundAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.extras; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.applet.Applet; +<a name="21" href="#21">21</a> <strong>import</strong> java.applet.AudioClip; +<a name="22" href="#22">22</a> <strong>import</strong> java.net.MalformedURLException; +<a name="23" href="#23">23</a> <strong>import</strong> java.net.URL; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.AppenderSkeleton; +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * This class is equivalent to org.apache.log4j.varia.SoundAppender</em> +<a name="31" href="#31">31</a> <em> * except for a package change to aid in use with OSGi.</em> +<a name="32" href="#32">32</a> <em> *</em> +<a name="33" href="#33">33</a> <em> * Plays a sound clip created using Applet.newAudioClip when an event is received.</em> +<a name="34" href="#34">34</a> <em> * </em> +<a name="35" href="#35">35</a> <em> * If the audio format is not supported, a message stating the SoundAppender could </em> +<a name="36" href="#36">36</a> <em> * not be initialized is logged.</em> +<a name="37" href="#37">37</a> <em> * </em> +<a name="38" href="#38">38</a> <em> * Use a filter in combination with this appender to control when the appender is </em> +<a name="39" href="#39">39</a> <em> * triggered.</em> +<a name="40" href="#40">40</a> <em> * </em> +<a name="41" href="#41">41</a> <em> * For example, in the appender definition, include a LevelMatchFilter configured</em> +<a name="42" href="#42">42</a> <em> * to accept WARN or greater, followed by a DenyAllFilter.</em> +<a name="43" href="#43">43</a> <em> * </em> +<a name="44" href="#44">44</a> <em> * @author Scott Deboy</em> +<a name="45" href="#45">45</a> <em> * </em> +<a name="46" href="#46">46</a> <em> */</em> +<a name="47" href="#47">47</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/extras/SoundAppender.html">SoundAppender</a> <strong>extends</strong> AppenderSkeleton { +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <strong>private</strong> AudioClip clip; +<a name="50" href="#50">50</a> <strong>private</strong> String audioURL; +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong>public</strong> <a href="../../../../org/apache/log4j/extras/SoundAppender.html">SoundAppender</a>() { +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em>/**<em>*</em></em> +<a name="56" href="#56">56</a> <em> * Attempt to initialize the appender by creating a reference to an AudioClip.</em> +<a name="57" href="#57">57</a> <em> * </em> +<a name="58" href="#58">58</a> <em> * Will log a message if format is not supported, file not found, etc.</em> +<a name="59" href="#59">59</a> <em> * </em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="62" href="#62">62</a> <em class="comment">/*</em> +<a name="63" href="#63">63</a> <em class="comment"> * AudioSystem.getAudioInputStream requires jdk 1.3,</em> +<a name="64" href="#64">64</a> <em class="comment"> * so we use applet.newaudioclip instead</em> +<a name="65" href="#65">65</a> <em class="comment"> *</em> +<a name="66" href="#66">66</a> <em class="comment"> */</em> +<a name="67" href="#67">67</a> <strong>try</strong> { +<a name="68" href="#68">68</a> clip = Applet.<strong>new</strong>AudioClip(<strong>new</strong> URL(audioURL)); +<a name="69" href="#69">69</a> } <strong>catch</strong> (MalformedURLException mue) { +<a name="70" href="#70">70</a> LogLog.error(<span class="string">"unable to initialize SoundAppender"</span>, mue);} +<a name="71" href="#71">71</a> <strong>if</strong> (clip == <strong>null</strong>) { +<a name="72" href="#72">72</a> LogLog.error(<span class="string">"Unable to initialize SoundAppender"</span>); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em>/**<em>*</em></em> +<a name="77" href="#77">77</a> <em> * Accessor</em> +<a name="78" href="#78">78</a> <em> * </em> +<a name="79" href="#79">79</a> <em> * @return audio file</em> +<a name="80" href="#80">80</a> <em> */</em> +<a name="81" href="#81">81</a> <strong>public</strong> String getAudioURL() { +<a name="82" href="#82">82</a> <strong>return</strong> audioURL; +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em>/**<em>*</em></em> +<a name="86" href="#86">86</a> <em> * Mutator - common format for a file-based url:</em> +<a name="87" href="#87">87</a> <em> * file:///c:/path/someaudioclip.wav</em> +<a name="88" href="#88">88</a> <em> * </em> +<a name="89" href="#89">89</a> <em> * @param audioURL</em> +<a name="90" href="#90">90</a> <em> */</em> +<a name="91" href="#91">91</a> <strong>public</strong> <strong>void</strong> setAudioURL(String audioURL) { +<a name="92" href="#92">92</a> <strong>this</strong>.audioURL = audioURL; +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <em>/**<em>*</em></em> +<a name="96" href="#96">96</a> <em> * Play the sound if an event is being processed</em> +<a name="97" href="#97">97</a> <em> */</em> +<a name="98" href="#98">98</a> <strong>protected</strong> <strong>void</strong> append(LoggingEvent event) { +<a name="99" href="#99">99</a> <strong>if</strong> (clip != <strong>null</strong>) { +<a name="100" href="#100">100</a> clip.play(); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <strong>public</strong> <strong>void</strong> close() { +<a name="105" href="#105">105</a> <em class="comment">//nothing to do</em> +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em>/**<em>*</em></em> +<a name="109" href="#109">109</a> <em> * Gets whether appender requires a layout.</em> +<a name="110" href="#110">110</a> <em> * @return false</em> +<a name="111" href="#111">111</a> <em> */</em> +<a name="112" href="#112">112</a> <strong>public</strong> <strong>boolean</strong> requiresLayout() { +<a name="113" href="#113">113</a> <strong>return</strong> false; +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/UtilLoggingLevel.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/UtilLoggingLevel.html new file mode 100644 index 00000000000..66affc3caf4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/UtilLoggingLevel.html @@ -0,0 +1,253 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>UtilLoggingLevel xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/extras/UtilLoggingLevel.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.extras; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.util.ArrayList; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.List; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.Level; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em>/**<em>*</em></em> +<a name="26" href="#26">26</a> <em> * This class is identical to org.apache.log4j.helpers.UtilLoggingLevel</em> +<a name="27" href="#27">27</a> <em> * except for a package change to aid in use with OSGi.</em> +<a name="28" href="#28">28</a> <em> *</em> +<a name="29" href="#29">29</a> <em> * An extension of the Level class that provides support for java.util.logging</em> +<a name="30" href="#30">30</a> <em> * Levels.</em> +<a name="31" href="#31">31</a> <em> *</em> +<a name="32" href="#32">32</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a> <strong>extends</strong> Level { +<a name="36" href="#36">36</a> +<a name="37" href="#37">37</a> <em>/**<em>*</em></em> +<a name="38" href="#38">38</a> <em> * Serialization version id.</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 909301162611820211L; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em>/**<em>*</em></em> +<a name="43" href="#43">43</a> <em> * Numerical value for SEVERE.</em> +<a name="44" href="#44">44</a> <em> */</em> +<a name="45" href="#45">45</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> SEVERE_INT = 17000; +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * Numerical value for WARNING.</em> +<a name="48" href="#48">48</a> <em> */</em> +<a name="49" href="#49">49</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> WARNING_INT = 16000; +<a name="50" href="#50">50</a> <em>/**<em>*</em></em> +<a name="51" href="#51">51</a> <em> * Numerical value for INFO.</em> +<a name="52" href="#52">52</a> <em> */</em> +<a name="53" href="#53">53</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> INFO_INT = 15000; +<a name="54" href="#54">54</a> <em>/**<em>*</em></em> +<a name="55" href="#55">55</a> <em> * Numerical value for CONFIG.</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> CONFIG_INT = 14000; +<a name="58" href="#58">58</a> <em>/**<em>*</em></em> +<a name="59" href="#59">59</a> <em> * Numerical value for FINE.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> FINE_INT = 13000; +<a name="62" href="#62">62</a> <em>/**<em>*</em></em> +<a name="63" href="#63">63</a> <em> * Numerical value for FINER.</em> +<a name="64" href="#64">64</a> <em> */</em> +<a name="65" href="#65">65</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> FINER_INT = 12000; +<a name="66" href="#66">66</a> <em>/**<em>*</em></em> +<a name="67" href="#67">67</a> <em> * Numerical value for FINEST.</em> +<a name="68" href="#68">68</a> <em> */</em> +<a name="69" href="#69">69</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> FINEST_INT = 11000; +<a name="70" href="#70">70</a> <em>/**<em>*</em></em> +<a name="71" href="#71">71</a> <em> * Numerical value for UNKNOWN.</em> +<a name="72" href="#72">72</a> <em> */</em> +<a name="73" href="#73">73</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> UNKNOWN_INT = 10000; +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em>/**<em>*</em></em> +<a name="76" href="#76">76</a> <em> * SEVERE.</em> +<a name="77" href="#77">77</a> <em> */</em> +<a name="78" href="#78">78</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a> SEVERE = +<a name="79" href="#79">79</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a>(SEVERE_INT, <span class="string">"SEVERE"</span>, 0); +<a name="80" href="#80">80</a> <em>/**<em>*</em></em> +<a name="81" href="#81">81</a> <em> * WARNING.</em> +<a name="82" href="#82">82</a> <em> */</em> +<a name="83" href="#83">83</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a> WARNING = +<a name="84" href="#84">84</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a>(WARNING_INT, <span class="string">"WARNING"</span>, 4); +<a name="85" href="#85">85</a> <em>/**<em>*</em></em> +<a name="86" href="#86">86</a> <em> * INFO.</em> +<a name="87" href="#87">87</a> <em> */</em> +<a name="88" href="#88">88</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a> INFO = +<a name="89" href="#89">89</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a>(INFO_INT, <span class="string">"INFO"</span>, 5); +<a name="90" href="#90">90</a> <em>/**<em>*</em></em> +<a name="91" href="#91">91</a> <em> * CONFIG.</em> +<a name="92" href="#92">92</a> <em> */</em> +<a name="93" href="#93">93</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a> CONFIG = +<a name="94" href="#94">94</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a>(CONFIG_INT, <span class="string">"CONFIG"</span>, 6); +<a name="95" href="#95">95</a> <em>/**<em>*</em></em> +<a name="96" href="#96">96</a> <em> * FINE.</em> +<a name="97" href="#97">97</a> <em> */</em> +<a name="98" href="#98">98</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a> FINE = +<a name="99" href="#99">99</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a>(FINE_INT, <span class="string">"FINE"</span>, 7); +<a name="100" href="#100">100</a> <em>/**<em>*</em></em> +<a name="101" href="#101">101</a> <em> * FINER.</em> +<a name="102" href="#102">102</a> <em> */</em> +<a name="103" href="#103">103</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a> FINER = +<a name="104" href="#104">104</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a>(FINER_INT, <span class="string">"FINER"</span>, 8); +<a name="105" href="#105">105</a> <em>/**<em>*</em></em> +<a name="106" href="#106">106</a> <em> * FINEST.</em> +<a name="107" href="#107">107</a> <em> */</em> +<a name="108" href="#108">108</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a> FINEST = +<a name="109" href="#109">109</a> <strong>new</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a>(FINEST_INT, <span class="string">"FINEST"</span>, 9); +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <em>/**<em>*</em></em> +<a name="112" href="#112">112</a> <em> * Create new instance.</em> +<a name="113" href="#113">113</a> <em> * @param level numeric value for level.</em> +<a name="114" href="#114">114</a> <em> * @param levelStr symbolic name for level.</em> +<a name="115" href="#115">115</a> <em> * @param syslogEquivalent Equivalent syslog severity.</em> +<a name="116" href="#116">116</a> <em> */</em> +<a name="117" href="#117">117</a> <strong>protected</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a>(<strong>final</strong> <strong>int</strong> level, +<a name="118" href="#118">118</a> <strong>final</strong> String levelStr, +<a name="119" href="#119">119</a> <strong>final</strong> <strong>int</strong> syslogEquivalent) { +<a name="120" href="#120">120</a> <strong>super</strong>(level, levelStr, syslogEquivalent); +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <em>/**<em>*</em></em> +<a name="124" href="#124">124</a> <em> * Convert an integer passed as argument to a level. If the</em> +<a name="125" href="#125">125</a> <em> * conversion fails, then this method returns the specified default.</em> +<a name="126" href="#126">126</a> <em> * @param val numeric value.</em> +<a name="127" href="#127">127</a> <em> * @param defaultLevel level to be returned if no level matches</em> +<a name="128" href="#128">128</a> <em> * numeric value.</em> +<a name="129" href="#129">129</a> <em> * @return matching level or default level.</em> +<a name="130" href="#130">130</a> <em> */</em> +<a name="131" href="#131">131</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a> toLevel(<strong>final</strong> <strong>int</strong> val, +<a name="132" href="#132">132</a> <strong>final</strong> <a href="../../../../org/apache/log4j/extras/UtilLoggingLevel.html">UtilLoggingLevel</a> defaultLevel) { +<a name="133" href="#133">133</a> <strong>switch</strong> (val) { +<a name="134" href="#134">134</a> <strong>case</strong> SEVERE_INT: +<a name="135" href="#135">135</a> <strong>return</strong> SEVERE; +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <strong>case</strong> WARNING_INT: +<a name="138" href="#138">138</a> <strong>return</strong> WARNING; +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <strong>case</strong> INFO_INT: +<a name="141" href="#141">141</a> <strong>return</strong> INFO; +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <strong>case</strong> CONFIG_INT: +<a name="144" href="#144">144</a> <strong>return</strong> CONFIG; +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <strong>case</strong> FINE_INT: +<a name="147" href="#147">147</a> <strong>return</strong> FINE; +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <strong>case</strong> FINER_INT: +<a name="150" href="#150">150</a> <strong>return</strong> FINER; +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <strong>case</strong> FINEST_INT: +<a name="153" href="#153">153</a> <strong>return</strong> FINEST; +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <strong>default</strong>: +<a name="156" href="#156">156</a> <strong>return</strong> defaultLevel; +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> <em>/**<em>*</em></em> +<a name="161" href="#161">161</a> <em> * Gets level matching numeric value.</em> +<a name="162" href="#162">162</a> <em> * @param val numeric value.</em> +<a name="163" href="#163">163</a> <em> * @return matching level or UtilLoggerLevel.FINEST if no match.</em> +<a name="164" href="#164">164</a> <em> */</em> +<a name="165" href="#165">165</a> <strong>public</strong> <strong>static</strong> Level toLevel(<strong>final</strong> <strong>int</strong> val) { +<a name="166" href="#166">166</a> <strong>return</strong> toLevel(val, FINEST); +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <em>/**<em>*</em></em> +<a name="170" href="#170">170</a> <em> * Gets list of supported levels.</em> +<a name="171" href="#171">171</a> <em> * @return list of supported levels.</em> +<a name="172" href="#172">172</a> <em> */</em> +<a name="173" href="#173">173</a> <strong>public</strong> <strong>static</strong> List getAllPossibleLevels() { +<a name="174" href="#174">174</a> ArrayList list = <strong>new</strong> ArrayList(); +<a name="175" href="#175">175</a> list.add(FINE); +<a name="176" href="#176">176</a> list.add(FINER); +<a name="177" href="#177">177</a> list.add(FINEST); +<a name="178" href="#178">178</a> list.add(INFO); +<a name="179" href="#179">179</a> list.add(CONFIG); +<a name="180" href="#180">180</a> list.add(WARNING); +<a name="181" href="#181">181</a> list.add(SEVERE); +<a name="182" href="#182">182</a> <strong>return</strong> list; +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <em>/**<em>*</em></em> +<a name="186" href="#186">186</a> <em> * Get level with specified symbolic name.</em> +<a name="187" href="#187">187</a> <em> * @param s symbolic name.</em> +<a name="188" href="#188">188</a> <em> * @return matching level or Level.DEBUG if no match.</em> +<a name="189" href="#189">189</a> <em> */</em> +<a name="190" href="#190">190</a> <strong>public</strong> <strong>static</strong> Level toLevel(<strong>final</strong> String s) { +<a name="191" href="#191">191</a> <strong>return</strong> toLevel(s, Level.DEBUG); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <em>/**<em>*</em></em> +<a name="196" href="#196">196</a> <em> * Get level with specified symbolic name.</em> +<a name="197" href="#197">197</a> <em> * @param sArg symbolic name.</em> +<a name="198" href="#198">198</a> <em> * @param defaultLevel level to return if no match.</em> +<a name="199" href="#199">199</a> <em> * @return matching level or defaultLevel if no match.</em> +<a name="200" href="#200">200</a> <em> */</em> +<a name="201" href="#201">201</a> <strong>public</strong> <strong>static</strong> Level toLevel(<strong>final</strong> String sArg, +<a name="202" href="#202">202</a> <strong>final</strong> Level defaultLevel) { +<a name="203" href="#203">203</a> <strong>if</strong> (sArg == <strong>null</strong>) { +<a name="204" href="#204">204</a> <strong>return</strong> defaultLevel; +<a name="205" href="#205">205</a> } +<a name="206" href="#206">206</a> +<a name="207" href="#207">207</a> String s = sArg.toUpperCase(); +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <strong>if</strong> (s.equals(<span class="string">"SEVERE"</span>)) { +<a name="210" href="#210">210</a> <strong>return</strong> SEVERE; +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <em class="comment">//if(s.equals("FINE")) return Level.FINE;</em> +<a name="214" href="#214">214</a> <strong>if</strong> (s.equals(<span class="string">"WARNING"</span>)) { +<a name="215" href="#215">215</a> <strong>return</strong> WARNING; +<a name="216" href="#216">216</a> } +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> <strong>if</strong> (s.equals(<span class="string">"INFO"</span>)) { +<a name="219" href="#219">219</a> <strong>return</strong> INFO; +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <strong>if</strong> (s.equals(<span class="string">"CONFI"</span>)) { +<a name="223" href="#223">223</a> <strong>return</strong> CONFIG; +<a name="224" href="#224">224</a> } +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> <strong>if</strong> (s.equals(<span class="string">"FINE"</span>)) { +<a name="227" href="#227">227</a> <strong>return</strong> FINE; +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <strong>if</strong> (s.equals(<span class="string">"FINER"</span>)) { +<a name="231" href="#231">231</a> <strong>return</strong> FINER; +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <strong>if</strong> (s.equals(<span class="string">"FINEST"</span>)) { +<a name="235" href="#235">235</a> <strong>return</strong> FINEST; +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> <strong>return</strong> defaultLevel; +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/XSLTLayout.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/XSLTLayout.html new file mode 100644 index 00000000000..7b8cd6f7dd7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/XSLTLayout.html @@ -0,0 +1,505 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XSLTLayout xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/extras/XSLTLayout.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.extras; +<a name="18" href="#18">18</a> <strong>import</strong> org.apache.log4j.Layout; +<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.helpers.MDCKeySetExtractor; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.LocationInfo; +<a name="23" href="#23">23</a> <strong>import</strong> org.w3c.dom.Element; +<a name="24" href="#24">24</a> <strong>import</strong> org.w3c.dom.NodeList; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> javax.xml.transform.TransformerFactory; +<a name="27" href="#27">27</a> <strong>import</strong> javax.xml.transform.TransformerConfigurationException; +<a name="28" href="#28">28</a> <strong>import</strong> javax.xml.transform.Templates; +<a name="29" href="#29">29</a> <strong>import</strong> javax.xml.transform.Transformer; +<a name="30" href="#30">30</a> <strong>import</strong> javax.xml.transform.sax.TransformerHandler; +<a name="31" href="#31">31</a> <strong>import</strong> javax.xml.transform.sax.SAXTransformerFactory; +<a name="32" href="#32">32</a> <strong>import</strong> javax.xml.transform.stream.StreamSource; +<a name="33" href="#33">33</a> <strong>import</strong> javax.xml.transform.stream.StreamResult; +<a name="34" href="#34">34</a> <strong>import</strong> javax.xml.transform.dom.DOMSource; +<a name="35" href="#35">35</a> <strong>import</strong> javax.xml.parsers.DocumentBuilderFactory; +<a name="36" href="#36">36</a> <strong>import</strong> java.io.InputStream; +<a name="37" href="#37">37</a> <strong>import</strong> java.io.ByteArrayOutputStream; +<a name="38" href="#38">38</a> <strong>import</strong> java.io.ByteArrayInputStream; +<a name="39" href="#39">39</a> <strong>import</strong> java.util.Set; +<a name="40" href="#40">40</a> <strong>import</strong> java.util.Properties; +<a name="41" href="#41">41</a> <strong>import</strong> java.util.Arrays; +<a name="42" href="#42">42</a> <strong>import</strong> java.util.TimeZone; +<a name="43" href="#43">43</a> <strong>import</strong> java.nio.charset.Charset; +<a name="44" href="#44">44</a> <strong>import</strong> java.nio.ByteBuffer; +<a name="45" href="#45">45</a> <strong>import</strong> org.apache.log4j.pattern.CachedDateFormat; +<a name="46" href="#46">46</a> <strong>import</strong> java.text.SimpleDateFormat; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong>import</strong> org.w3c.dom.Document; +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <strong>import</strong> org.xml.sax.helpers.AttributesImpl; +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em>/**<em>*</em></em> +<a name="54" href="#54">54</a> <em> * This class is identical to org.apache.log4j.xml.XSLTLayout</em> +<a name="55" href="#55">55</a> <em> * except for a change in package to aid in use with OSGi.</em> +<a name="56" href="#56">56</a> <em> *</em> +<a name="57" href="#57">57</a> <em> *</em> +<a name="58" href="#58">58</a> <em> * XSLTLayout transforms each event as a document using</em> +<a name="59" href="#59">59</a> <em> * a specified or default XSLT transform. The default</em> +<a name="60" href="#60">60</a> <em> * XSLT transform produces a result similar to XMLLayout.</em> +<a name="61" href="#61">61</a> <em> *</em> +<a name="62" href="#62">62</a> <em> * When used with a FileAppender or similar, the transformation of</em> +<a name="63" href="#63">63</a> <em> * an event will be appended to the results for previous</em> +<a name="64" href="#64">64</a> <em> * transforms. If each transform results in an XML element, then</em> +<a name="65" href="#65">65</a> <em> * resulting file will only be an XML entity</em> +<a name="66" href="#66">66</a> <em> * since an XML document requires one and only one top-level element.</em> +<a name="67" href="#67">67</a> <em> * To process the entity, reference it in a XML document like so:</em> +<a name="68" href="#68">68</a> <em> *</em> +<a name="69" href="#69">69</a> <em> * &lt;pre></em> +<a name="70" href="#70">70</a> <em> * &amp;lt;!DOCTYPE log4j:eventSet [&amp;lt;!ENTITY data SYSTEM &amp;quot;data.xml&amp;quot;&amp;gt;]&amp;gt;</em> +<a name="71" href="#71">71</a> <em> *</em> +<a name="72" href="#72">72</a> <em> * &amp;lt;log4j:eventSet xmlns:log4j=&amp;quot;<a href="http://jakarta.apache.org/log4j/&amp;quot;&amp;gt;" target="alexandria_uri">http://jakarta.apache.org/log4j/&amp;quot;&amp;gt;</a></em> +<a name="73" href="#73">73</a> <em> * &amp;amp;data</em> +<a name="74" href="#74">74</a> <em> * &amp;lt;/log4j:eventSet&amp;gt;</em> +<a name="75" href="#75">75</a> <em> *</em> +<a name="76" href="#76">76</a> <em> * &lt;/pre></em> +<a name="77" href="#77">77</a> <em> *</em> +<a name="78" href="#78">78</a> <em> * The layout will detect the encoding and media-type specified in</em> +<a name="79" href="#79">79</a> <em> * the transform. If no encoding is specified in the transform,</em> +<a name="80" href="#80">80</a> <em> * an xsl:output element specifying the US-ASCII encoding will be inserted</em> +<a name="81" href="#81">81</a> <em> * before processing the transform. If an encoding is specified in the transform,</em> +<a name="82" href="#82">82</a> <em> * the same encoding should be explicitly specified for the appender.</em> +<a name="83" href="#83">83</a> <em> *</em> +<a name="84" href="#84">84</a> <em> * Extracting MDC values can be expensive when used with log4j releases</em> +<a name="85" href="#85">85</a> <em> * prior to 1.2.15. Output of MDC values is enabled by default</em> +<a name="86" href="#86">86</a> <em> * but be suppressed by setting properties to false.</em> +<a name="87" href="#87">87</a> <em> *</em> +<a name="88" href="#88">88</a> <em> * Extracting location info can be expensive regardless of log4j version. </em> +<a name="89" href="#89">89</a> <em> * Output of location info is disabled by default but can be enabled</em> +<a name="90" href="#90">90</a> <em> * by setting locationInfo to true.</em> +<a name="91" href="#91">91</a> <em> *</em> +<a name="92" href="#92">92</a> <em> * Embedded transforms in XML configuration should not</em> +<a name="93" href="#93">93</a> <em> * depend on namespace prefixes defined earlier in the document</em> +<a name="94" href="#94">94</a> <em> * as namespace aware parsing in not generally performed when</em> +<a name="95" href="#95">95</a> <em> * using DOMConfigurator. The transform will serialize</em> +<a name="96" href="#96">96</a> <em> * and reparse to get the namespace aware document needed.</em> +<a name="97" href="#97">97</a> <em> *</em> +<a name="98" href="#98">98</a> <em> */</em> +<a name="99" href="#99">99</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/extras/XSLTLayout.html">XSLTLayout</a> <strong>extends</strong> Layout +<a name="100" href="#100">100</a> implements org.apache.log4j.xml.UnrecognizedElementHandler { +<a name="101" href="#101">101</a> <em>/**<em>*</em></em> +<a name="102" href="#102">102</a> <em> * Namespace for XSLT.</em> +<a name="103" href="#103">103</a> <em> */</em> +<a name="104" href="#104">104</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String XSLT_NS = <span class="string">"http://www.w3.org/1999/XSL/Transform"</span>; +<a name="105" href="#105">105</a> <em>/**<em>*</em></em> +<a name="106" href="#106">106</a> <em> * Namespace for log4j events.</em> +<a name="107" href="#107">107</a> <em> */</em> +<a name="108" href="#108">108</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String LOG4J_NS = <span class="string">"http://jakarta.apache.org/log4j/"</span>; +<a name="109" href="#109">109</a> <em>/**<em>*</em></em> +<a name="110" href="#110">110</a> <em> * Whether location information should be written.</em> +<a name="111" href="#111">111</a> <em> */</em> +<a name="112" href="#112">112</a> <strong>private</strong> <strong>boolean</strong> locationInfo = false; +<a name="113" href="#113">113</a> <em>/**<em>*</em></em> +<a name="114" href="#114">114</a> <em> * media-type (mime type) extracted from XSLT transform.</em> +<a name="115" href="#115">115</a> <em> */</em> +<a name="116" href="#116">116</a> <strong>private</strong> String mediaType = <span class="string">"text/plain"</span>; +<a name="117" href="#117">117</a> <em>/**<em>*</em></em> +<a name="118" href="#118">118</a> <em> * Encoding extracted from XSLT transform.</em> +<a name="119" href="#119">119</a> <em> */</em> +<a name="120" href="#120">120</a> <strong>private</strong> Charset encoding; +<a name="121" href="#121">121</a> <em>/**<em>*</em></em> +<a name="122" href="#122">122</a> <em> * Transformer factory.</em> +<a name="123" href="#123">123</a> <em> */</em> +<a name="124" href="#124">124</a> <strong>private</strong> SAXTransformerFactory transformerFactory; +<a name="125" href="#125">125</a> <em>/**<em>*</em></em> +<a name="126" href="#126">126</a> <em> * XSLT templates.</em> +<a name="127" href="#127">127</a> <em> */</em> +<a name="128" href="#128">128</a> <strong>private</strong> Templates templates; +<a name="129" href="#129">129</a> <em>/**<em>*</em></em> +<a name="130" href="#130">130</a> <em> * Output stream.</em> +<a name="131" href="#131">131</a> <em> */</em> +<a name="132" href="#132">132</a> <strong>private</strong> <strong>final</strong> ByteArrayOutputStream outputStream; +<a name="133" href="#133">133</a> <em>/**<em>*</em></em> +<a name="134" href="#134">134</a> <em> * Whether throwable information should be ignored.</em> +<a name="135" href="#135">135</a> <em> */</em> +<a name="136" href="#136">136</a> <strong>private</strong> <strong>boolean</strong> ignoresThrowable = false; +<a name="137" href="#137">137</a> <em>/**<em>*</em></em> +<a name="138" href="#138">138</a> <em> * Whether properties should be extracted.</em> +<a name="139" href="#139">139</a> <em> */</em> +<a name="140" href="#140">140</a> <strong>private</strong> <strong>boolean</strong> properties = <strong>true</strong>; +<a name="141" href="#141">141</a> <em>/**<em>*</em></em> +<a name="142" href="#142">142</a> <em> * Whether activateOptions has been called.</em> +<a name="143" href="#143">143</a> <em> */</em> +<a name="144" href="#144">144</a> <strong>private</strong> <strong>boolean</strong> activated = false; +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <em>/**<em>*</em></em> +<a name="147" href="#147">147</a> <em> * DateFormat for UTC time.</em> +<a name="148" href="#148">148</a> <em> */</em> +<a name="149" href="#149">149</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a> utcDateFormat; +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <em>/**<em>*</em></em> +<a name="152" href="#152">152</a> <em> * Default constructor.</em> +<a name="153" href="#153">153</a> <em> *</em> +<a name="154" href="#154">154</a> <em> */</em> +<a name="155" href="#155">155</a> <strong>public</strong> <a href="../../../../org/apache/log4j/extras/XSLTLayout.html">XSLTLayout</a>() { +<a name="156" href="#156">156</a> outputStream = <strong>new</strong> ByteArrayOutputStream(); +<a name="157" href="#157">157</a> transformerFactory = (SAXTransformerFactory) +<a name="158" href="#158">158</a> TransformerFactory.newInstance(); +<a name="159" href="#159">159</a> +<a name="160" href="#160">160</a> SimpleDateFormat zdf = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"</span>); +<a name="161" href="#161">161</a> zdf.setTimeZone(TimeZone.getTimeZone(<span class="string">"UTC"</span>)); +<a name="162" href="#162">162</a> utcDateFormat = <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a>(zdf, 1000); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em>/**<em>*</em></em> +<a name="166" href="#166">166</a> <em> * {@inheritDoc}</em> +<a name="167" href="#167">167</a> <em> */</em> +<a name="168" href="#168">168</a> <strong>public</strong> <strong>synchronized</strong> String getContentType() { +<a name="169" href="#169">169</a> <strong>return</strong> mediaType; +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> <em>/**<em>*</em></em> +<a name="173" href="#173">173</a> <em> * The &lt;b>LocationInfo &lt;/b> option takes a boolean value. By default, it is</em> +<a name="174" href="#174">174</a> <em> * set to false which means there will be no location information output by</em> +<a name="175" href="#175">175</a> <em> * this layout. If the the option is set to true, then the file name and line</em> +<a name="176" href="#176">176</a> <em> * number of the statement at the origin of the log statement will be output.</em> +<a name="177" href="#177">177</a> <em> *</em> +<a name="178" href="#178">178</a> <em> * &lt;p></em> +<a name="179" href="#179">179</a> <em> * If you are embedding this layout within an {@link</em> +<a name="180" href="#180">180</a> <em> * org.apache.log4j.net.SMTPAppender} then make sure to set the</em> +<a name="181" href="#181">181</a> <em> * &lt;b>LocationInfo &lt;/b> option of that appender as well.</em> +<a name="182" href="#182">182</a> <em> *</em> +<a name="183" href="#183">183</a> <em> * @param flag new value.</em> +<a name="184" href="#184">184</a> <em> */</em> +<a name="185" href="#185">185</a> <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> setLocationInfo(<strong>final</strong> <strong>boolean</strong> flag) { +<a name="186" href="#186">186</a> locationInfo = flag; +<a name="187" href="#187">187</a> } +<a name="188" href="#188">188</a> +<a name="189" href="#189">189</a> <em>/**<em>*</em></em> +<a name="190" href="#190">190</a> <em> * Gets whether location info should be output.</em> +<a name="191" href="#191">191</a> <em> * @return if location is output.</em> +<a name="192" href="#192">192</a> <em> */</em> +<a name="193" href="#193">193</a> <strong>public</strong> <strong>synchronized</strong> <strong>boolean</strong> getLocationInfo() { +<a name="194" href="#194">194</a> <strong>return</strong> locationInfo; +<a name="195" href="#195">195</a> } +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em>/**<em>*</em></em> +<a name="198" href="#198">198</a> <em> * Sets whether MDC key-value pairs should be output, default false.</em> +<a name="199" href="#199">199</a> <em> * @param flag new value.</em> +<a name="200" href="#200">200</a> <em> */</em> +<a name="201" href="#201">201</a> <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> setProperties(<strong>final</strong> <strong>boolean</strong> flag) { +<a name="202" href="#202">202</a> properties = flag; +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> +<a name="205" href="#205">205</a> <em>/**<em>*</em></em> +<a name="206" href="#206">206</a> <em> * Gets whether MDC key-value pairs should be output.</em> +<a name="207" href="#207">207</a> <em> * @return true if MDC key-value pairs are output.</em> +<a name="208" href="#208">208</a> <em> */</em> +<a name="209" href="#209">209</a> <strong>public</strong> <strong>synchronized</strong> <strong>boolean</strong> getProperties() { +<a name="210" href="#210">210</a> <strong>return</strong> properties; +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="215" href="#215">215</a> <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> activateOptions() { +<a name="216" href="#216">216</a> <strong>if</strong> (templates == <strong>null</strong>) { +<a name="217" href="#217">217</a> <strong>try</strong> { +<a name="218" href="#218">218</a> InputStream is = XSLTLayout.<strong>class</strong>.getResourceAsStream(<span class="string">"default.xslt"</span>); +<a name="219" href="#219">219</a> StreamSource ss = <strong>new</strong> StreamSource(is); +<a name="220" href="#220">220</a> templates = transformerFactory.newTemplates(ss); +<a name="221" href="#221">221</a> encoding = Charset.forName(<span class="string">"US-ASCII"</span>); +<a name="222" href="#222">222</a> mediaType = <span class="string">"text/plain"</span>; +<a name="223" href="#223">223</a> } <strong>catch</strong> (Exception ex) { +<a name="224" href="#224">224</a> LogLog.error(<span class="string">"Error loading default.xslt"</span>, ex); +<a name="225" href="#225">225</a> } +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> activated = <strong>true</strong>; +<a name="228" href="#228">228</a> } +<a name="229" href="#229">229</a> +<a name="230" href="#230">230</a> <em>/**<em>*</em></em> +<a name="231" href="#231">231</a> <em> * Gets whether throwables should not be output.</em> +<a name="232" href="#232">232</a> <em> * @return true if throwables should not be output.</em> +<a name="233" href="#233">233</a> <em> */</em> +<a name="234" href="#234">234</a> <strong>public</strong> <strong>synchronized</strong> <strong>boolean</strong> ignoresThrowable() { +<a name="235" href="#235">235</a> <strong>return</strong> ignoresThrowable; +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> <em>/**<em>*</em></em> +<a name="239" href="#239">239</a> <em> * Sets whether throwables should not be output.</em> +<a name="240" href="#240">240</a> <em> * @param ignoresThrowable if true, throwables should not be output.</em> +<a name="241" href="#241">241</a> <em> */</em> +<a name="242" href="#242">242</a> <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> setIgnoresThrowable(<strong>boolean</strong> ignoresThrowable) { +<a name="243" href="#243">243</a> <strong>this</strong>.ignoresThrowable = ignoresThrowable; +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> +<a name="246" href="#246">246</a> +<a name="247" href="#247">247</a> +<a name="248" href="#248">248</a> <em>/**<em>*</em></em> +<a name="249" href="#249">249</a> <em> * {@inheritDoc}</em> +<a name="250" href="#250">250</a> <em> */</em> +<a name="251" href="#251">251</a> <strong>public</strong> <strong>synchronized</strong> String format(<strong>final</strong> LoggingEvent event) { +<a name="252" href="#252">252</a> <strong>if</strong> (!activated) { +<a name="253" href="#253">253</a> activateOptions(); +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> <strong>if</strong> (templates != <strong>null</strong> &amp;&amp; encoding != <strong>null</strong>) { +<a name="256" href="#256">256</a> outputStream.reset(); +<a name="257" href="#257">257</a> +<a name="258" href="#258">258</a> <strong>try</strong> { +<a name="259" href="#259">259</a> TransformerHandler transformer = +<a name="260" href="#260">260</a> transformerFactory.newTransformerHandler(templates); +<a name="261" href="#261">261</a> +<a name="262" href="#262">262</a> transformer.setResult(<strong>new</strong> StreamResult(outputStream)); +<a name="263" href="#263">263</a> transformer.startDocument(); +<a name="264" href="#264">264</a> +<a name="265" href="#265">265</a> <em class="comment">//</em> +<a name="266" href="#266">266</a> <em class="comment">// event element</em> +<a name="267" href="#267">267</a> <em class="comment">//</em> +<a name="268" href="#268">268</a> AttributesImpl attrs = <strong>new</strong> AttributesImpl(); +<a name="269" href="#269">269</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"logger"</span>, <span class="string">"logger"</span>, +<a name="270" href="#270">270</a> <span class="string">"CDATA"</span>, event.getLoggerName()); +<a name="271" href="#271">271</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"timestamp"</span>, <span class="string">"timestamp"</span>, +<a name="272" href="#272">272</a> <span class="string">"CDATA"</span>, Long.toString(event.timeStamp)); +<a name="273" href="#273">273</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"level"</span>, <span class="string">"level"</span>, +<a name="274" href="#274">274</a> <span class="string">"CDATA"</span>, event.getLevel().toString()); +<a name="275" href="#275">275</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"thread"</span>, <span class="string">"thread"</span>, +<a name="276" href="#276">276</a> <span class="string">"CDATA"</span>, event.getThreadName()); +<a name="277" href="#277">277</a> StringBuffer buf = <strong>new</strong> StringBuffer(); +<a name="278" href="#278">278</a> utcDateFormat.format(event.timeStamp, buf); +<a name="279" href="#279">279</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"time"</span>, <span class="string">"time"</span>, <span class="string">"CDATA"</span>, buf.toString()); +<a name="280" href="#280">280</a> +<a name="281" href="#281">281</a> +<a name="282" href="#282">282</a> transformer.startElement(LOG4J_NS, <span class="string">"event"</span>, <span class="string">"event"</span>, attrs); +<a name="283" href="#283">283</a> attrs.clear(); +<a name="284" href="#284">284</a> +<a name="285" href="#285">285</a> <em class="comment">//</em> +<a name="286" href="#286">286</a> <em class="comment">// message element</em> +<a name="287" href="#287">287</a> <em class="comment">//</em> +<a name="288" href="#288">288</a> transformer.startElement(LOG4J_NS, <span class="string">"message"</span>, <span class="string">"message"</span>, attrs); +<a name="289" href="#289">289</a> String msg = event.getRenderedMessage(); +<a name="290" href="#290">290</a> <strong>if</strong> (msg != <strong>null</strong> &amp;&amp; msg.length() > 0) { +<a name="291" href="#291">291</a> transformer.characters(msg.toCharArray(), 0, msg.length()); +<a name="292" href="#292">292</a> } +<a name="293" href="#293">293</a> transformer.endElement(LOG4J_NS, <span class="string">"message"</span>, <span class="string">"message"</span>); +<a name="294" href="#294">294</a> +<a name="295" href="#295">295</a> <em class="comment">//</em> +<a name="296" href="#296">296</a> <em class="comment">// NDC element</em> +<a name="297" href="#297">297</a> <em class="comment">//</em> +<a name="298" href="#298">298</a> String ndc = event.getNDC(); +<a name="299" href="#299">299</a> <strong>if</strong> (ndc != <strong>null</strong>) { +<a name="300" href="#300">300</a> transformer.startElement(LOG4J_NS, <span class="string">"NDC"</span>, <span class="string">"NDC"</span>, attrs); +<a name="301" href="#301">301</a> <strong>char</strong>[] ndcChars = ndc.toCharArray(); +<a name="302" href="#302">302</a> transformer.characters(ndcChars, 0, ndcChars.length); +<a name="303" href="#303">303</a> transformer.endElement(LOG4J_NS, <span class="string">"NDC"</span>, <span class="string">"NDC"</span>); +<a name="304" href="#304">304</a> } +<a name="305" href="#305">305</a> +<a name="306" href="#306">306</a> <em class="comment">//</em> +<a name="307" href="#307">307</a> <em class="comment">// throwable element unless suppressed</em> +<a name="308" href="#308">308</a> <em class="comment">//</em> +<a name="309" href="#309">309</a> <strong>if</strong> (!ignoresThrowable) { +<a name="310" href="#310">310</a> String[] s = event.getThrowableStrRep(); +<a name="311" href="#311">311</a> <strong>if</strong> (s != <strong>null</strong>) { +<a name="312" href="#312">312</a> transformer.startElement(LOG4J_NS, <span class="string">"throwable"</span>, +<a name="313" href="#313">313</a> <span class="string">"throwable"</span>, attrs); +<a name="314" href="#314">314</a> <strong>char</strong>[] nl = <strong>new</strong> <strong>char</strong>[] { '\n' }; +<a name="315" href="#315">315</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; s.length; i++) { +<a name="316" href="#316">316</a> <strong>char</strong>[] line = s[i].toCharArray(); +<a name="317" href="#317">317</a> transformer.characters(line, 0, line.length); +<a name="318" href="#318">318</a> transformer.characters(nl, 0, nl.length); +<a name="319" href="#319">319</a> } +<a name="320" href="#320">320</a> transformer.endElement(LOG4J_NS, <span class="string">"throwable"</span>, <span class="string">"throwable"</span>); +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> } +<a name="323" href="#323">323</a> +<a name="324" href="#324">324</a> <em class="comment">//</em> +<a name="325" href="#325">325</a> <em class="comment">// location info unless suppressed</em> +<a name="326" href="#326">326</a> <em class="comment">//</em> +<a name="327" href="#327">327</a> <em class="comment">//</em> +<a name="328" href="#328">328</a> <strong>if</strong> (locationInfo) { +<a name="329" href="#329">329</a> LocationInfo locationInfo = event.getLocationInformation(); +<a name="330" href="#330">330</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"class"</span>, <span class="string">"class"</span>, <span class="string">"CDATA"</span>, +<a name="331" href="#331">331</a> locationInfo.getClassName()); +<a name="332" href="#332">332</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"method"</span>, <span class="string">"method"</span>, <span class="string">"CDATA"</span>, +<a name="333" href="#333">333</a> locationInfo.getMethodName()); +<a name="334" href="#334">334</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"file"</span>, <span class="string">"file"</span>, <span class="string">"CDATA"</span>, +<a name="335" href="#335">335</a> locationInfo.getFileName()); +<a name="336" href="#336">336</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"line"</span>, <span class="string">"line"</span>, <span class="string">"CDATA"</span>, +<a name="337" href="#337">337</a> locationInfo.getLineNumber()); +<a name="338" href="#338">338</a> transformer.startElement(LOG4J_NS, <span class="string">"locationInfo"</span>, +<a name="339" href="#339">339</a> <span class="string">"locationInfo"</span>, attrs); +<a name="340" href="#340">340</a> transformer.endElement(LOG4J_NS, <span class="string">"locationInfo"</span>, +<a name="341" href="#341">341</a> <span class="string">"locationInfo"</span>); +<a name="342" href="#342">342</a> } +<a name="343" href="#343">343</a> +<a name="344" href="#344">344</a> <strong>if</strong> (properties) { +<a name="345" href="#345">345</a> <em class="comment">//</em> +<a name="346" href="#346">346</a> <em class="comment">// write MDC contents out as properties element</em> +<a name="347" href="#347">347</a> <em class="comment">//</em> +<a name="348" href="#348">348</a> Set mdcKeySet = MDCKeySetExtractor.INSTANCE.getPropertyKeySet(event); +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> <strong>if</strong> ((mdcKeySet != <strong>null</strong>) &amp;&amp; (mdcKeySet.size() > 0)) { +<a name="351" href="#351">351</a> attrs.clear(); +<a name="352" href="#352">352</a> transformer.startElement(LOG4J_NS, +<a name="353" href="#353">353</a> <span class="string">"properties"</span>, <span class="string">"properties"</span>, attrs); +<a name="354" href="#354">354</a> Object[] keys = mdcKeySet.toArray(); +<a name="355" href="#355">355</a> Arrays.sort(keys); +<a name="356" href="#356">356</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; keys.length; i++) { +<a name="357" href="#357">357</a> String key = keys[i].toString(); +<a name="358" href="#358">358</a> Object val = event.getMDC(key); +<a name="359" href="#359">359</a> attrs.clear(); +<a name="360" href="#360">360</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"name"</span>, <span class="string">"name"</span>, <span class="string">"CDATA"</span>, key); +<a name="361" href="#361">361</a> attrs.addAttribute(<strong>null</strong>, <span class="string">"value"</span>, <span class="string">"value"</span>, +<a name="362" href="#362">362</a> <span class="string">"CDATA"</span>, val.toString()); +<a name="363" href="#363">363</a> transformer.startElement(LOG4J_NS, +<a name="364" href="#364">364</a> <span class="string">"data"</span>, <span class="string">"data"</span>, attrs); +<a name="365" href="#365">365</a> transformer.endElement(LOG4J_NS, <span class="string">"data"</span>, <span class="string">"data"</span>); +<a name="366" href="#366">366</a> } +<a name="367" href="#367">367</a> } +<a name="368" href="#368">368</a> } +<a name="369" href="#369">369</a> +<a name="370" href="#370">370</a> +<a name="371" href="#371">371</a> transformer.endElement(LOG4J_NS, <span class="string">"event"</span>, <span class="string">"event"</span>); +<a name="372" href="#372">372</a> transformer.endDocument(); +<a name="373" href="#373">373</a> +<a name="374" href="#374">374</a> String body = encoding.decode( +<a name="375" href="#375">375</a> ByteBuffer.wrap(outputStream.toByteArray())).toString(); +<a name="376" href="#376">376</a> outputStream.reset(); +<a name="377" href="#377">377</a> <em class="comment">//</em> +<a name="378" href="#378">378</a> <em class="comment">// must remove XML declaration since it may</em> +<a name="379" href="#379">379</a> <em class="comment">// result in erroneous encoding info</em> +<a name="380" href="#380">380</a> <em class="comment">// if written by FileAppender in a different encoding</em> +<a name="381" href="#381">381</a> <strong>if</strong> (body.startsWith(<span class="string">"&lt;?xml "</span>)) { +<a name="382" href="#382">382</a> <strong>int</strong> endDecl = body.indexOf(<span class="string">"?>"</span>); +<a name="383" href="#383">383</a> <strong>if</strong> (endDecl != -1) { +<a name="384" href="#384">384</a> <strong>for</strong>(endDecl += 2; +<a name="385" href="#385">385</a> endDecl &lt; body.length() &amp;&amp; +<a name="386" href="#386">386</a> (body.charAt(endDecl) == '\n' || body.charAt(endDecl) == '\r'); +<a name="387" href="#387">387</a> endDecl++); +<a name="388" href="#388">388</a> <strong>return</strong> body.substring(endDecl); +<a name="389" href="#389">389</a> } +<a name="390" href="#390">390</a> } +<a name="391" href="#391">391</a> <strong>return</strong> body; +<a name="392" href="#392">392</a> } <strong>catch</strong> (Exception ex) { +<a name="393" href="#393">393</a> LogLog.error(<span class="string">"Error during transformation"</span>, ex); +<a name="394" href="#394">394</a> <strong>return</strong> ex.toString(); +<a name="395" href="#395">395</a> } +<a name="396" href="#396">396</a> } +<a name="397" href="#397">397</a> <strong>return</strong> <span class="string">"No valid transform or encoding specified."</span>; +<a name="398" href="#398">398</a> } +<a name="399" href="#399">399</a> +<a name="400" href="#400">400</a> <em>/**<em>*</em></em> +<a name="401" href="#401">401</a> <em> * Sets XSLT transform.</em> +<a name="402" href="#402">402</a> <em> * @param xsltdoc DOM document containing XSLT transform source,</em> +<a name="403" href="#403">403</a> <em> * may be modified.</em> +<a name="404" href="#404">404</a> <em> * @throws TransformerConfigurationException if transformer can not be</em> +<a name="405" href="#405">405</a> <em> * created.</em> +<a name="406" href="#406">406</a> <em> */</em> +<a name="407" href="#407">407</a> <strong>public</strong> <strong>void</strong> setTransform(<strong>final</strong> Document xsltdoc) +<a name="408" href="#408">408</a> throws TransformerConfigurationException { +<a name="409" href="#409">409</a> <em class="comment">//</em> +<a name="410" href="#410">410</a> <em class="comment">// scan transform source for xsl:output elements</em> +<a name="411" href="#411">411</a> <em class="comment">// and extract encoding, media (mime) type and output method</em> +<a name="412" href="#412">412</a> <em class="comment">//</em> +<a name="413" href="#413">413</a> String encodingName = <strong>null</strong>; +<a name="414" href="#414">414</a> mediaType = <strong>null</strong>; +<a name="415" href="#415">415</a> String method = <strong>null</strong>; +<a name="416" href="#416">416</a> NodeList nodes = xsltdoc.getElementsByTagNameNS( +<a name="417" href="#417">417</a> XSLT_NS, +<a name="418" href="#418">418</a> <span class="string">"output"</span>); +<a name="419" href="#419">419</a> <strong>for</strong>(<strong>int</strong> i = 0; i &lt; nodes.getLength(); i++) { +<a name="420" href="#420">420</a> Element outputElement = (Element) nodes.item(i); +<a name="421" href="#421">421</a> <strong>if</strong> (method == <strong>null</strong> || method.length() == 0) { +<a name="422" href="#422">422</a> method = outputElement.getAttributeNS(<strong>null</strong>, <span class="string">"method"</span>); +<a name="423" href="#423">423</a> } +<a name="424" href="#424">424</a> <strong>if</strong> (encodingName == <strong>null</strong> || encodingName.length() == 0) { +<a name="425" href="#425">425</a> encodingName = outputElement.getAttributeNS(<strong>null</strong>, <span class="string">"encoding"</span>); +<a name="426" href="#426">426</a> } +<a name="427" href="#427">427</a> <strong>if</strong> (mediaType == <strong>null</strong> || mediaType.length() == 0) { +<a name="428" href="#428">428</a> mediaType = outputElement.getAttributeNS(<strong>null</strong>, <span class="string">"media-type"</span>); +<a name="429" href="#429">429</a> } +<a name="430" href="#430">430</a> } +<a name="431" href="#431">431</a> +<a name="432" href="#432">432</a> <strong>if</strong> (mediaType == <strong>null</strong> || mediaType.length() == 0) { +<a name="433" href="#433">433</a> <strong>if</strong> (<span class="string">"html"</span>.equals(method)) { +<a name="434" href="#434">434</a> mediaType = <span class="string">"text/html"</span>; +<a name="435" href="#435">435</a> } <strong>else</strong> <strong>if</strong> (<span class="string">"xml"</span>.equals(method)) { +<a name="436" href="#436">436</a> mediaType = <span class="string">"text/xml"</span>; +<a name="437" href="#437">437</a> } <strong>else</strong> { +<a name="438" href="#438">438</a> mediaType = <span class="string">"text/plain"</span>; +<a name="439" href="#439">439</a> } +<a name="440" href="#440">440</a> } +<a name="441" href="#441">441</a> +<a name="442" href="#442">442</a> <em class="comment">//</em> +<a name="443" href="#443">443</a> <em class="comment">// if encoding was not specified,</em> +<a name="444" href="#444">444</a> <em class="comment">// add xsl:output encoding=US-ASCII to XSLT source</em> +<a name="445" href="#445">445</a> <em class="comment">//</em> +<a name="446" href="#446">446</a> <strong>if</strong> (encodingName == <strong>null</strong> || encodingName.length() == 0) { +<a name="447" href="#447">447</a> Element transformElement = xsltdoc.getDocumentElement(); +<a name="448" href="#448">448</a> Element outputElement = xsltdoc. +<a name="449" href="#449">449</a> createElementNS(XSLT_NS, <span class="string">"output"</span>); +<a name="450" href="#450">450</a> outputElement.setAttributeNS(<strong>null</strong>, <span class="string">"encoding"</span>, <span class="string">"US-ASCII"</span>); +<a name="451" href="#451">451</a> transformElement.insertBefore(outputElement, transformElement.getFirstChild()); +<a name="452" href="#452">452</a> encoding = Charset.forName(<span class="string">"US-ASCII"</span>); +<a name="453" href="#453">453</a> } <strong>else</strong> { +<a name="454" href="#454">454</a> encoding = Charset.forName(encodingName); +<a name="455" href="#455">455</a> } +<a name="456" href="#456">456</a> +<a name="457" href="#457">457</a> DOMSource transformSource = <strong>new</strong> DOMSource(xsltdoc); +<a name="458" href="#458">458</a> +<a name="459" href="#459">459</a> templates = transformerFactory.newTemplates(transformSource); +<a name="460" href="#460">460</a> +<a name="461" href="#461">461</a> } +<a name="462" href="#462">462</a> +<a name="463" href="#463">463</a> <em>/**<em>*</em></em> +<a name="464" href="#464">464</a> <em> * {@inheritDoc}</em> +<a name="465" href="#465">465</a> <em> */</em> +<a name="466" href="#466">466</a> <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element, +<a name="467" href="#467">467</a> <strong>final</strong> Properties props) +<a name="468" href="#468">468</a> throws Exception { +<a name="469" href="#469">469</a> <strong>if</strong> (XSLT_NS.equals(element.getNamespaceURI()) || +<a name="470" href="#470">470</a> element.getNodeName().indexOf(<span class="string">"transform"</span>) != -1 || +<a name="471" href="#471">471</a> element.getNodeName().indexOf(<span class="string">"stylesheet"</span>) != -1) { +<a name="472" href="#472">472</a> <em class="comment">//</em> +<a name="473" href="#473">473</a> <em class="comment">// DOMConfigurator typically not namespace aware</em> +<a name="474" href="#474">474</a> <em class="comment">// serialize tree and reparse.</em> +<a name="475" href="#475">475</a> ByteArrayOutputStream os = <strong>new</strong> ByteArrayOutputStream(); +<a name="476" href="#476">476</a> DOMSource source = <strong>new</strong> DOMSource(element); +<a name="477" href="#477">477</a> TransformerFactory transformerFactory = TransformerFactory.newInstance(); +<a name="478" href="#478">478</a> Transformer transformer = transformerFactory.newTransformer(); +<a name="479" href="#479">479</a> transformer.transform(source, <strong>new</strong> StreamResult(os)); +<a name="480" href="#480">480</a> +<a name="481" href="#481">481</a> ByteArrayInputStream is = <strong>new</strong> ByteArrayInputStream(os.toByteArray()); +<a name="482" href="#482">482</a> DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); +<a name="483" href="#483">483</a> domFactory.setNamespaceAware(<strong>true</strong>); +<a name="484" href="#484">484</a> Document xsltdoc = domFactory.newDocumentBuilder().parse(is); +<a name="485" href="#485">485</a> setTransform(xsltdoc); +<a name="486" href="#486">486</a> <strong>return</strong> <strong>true</strong>; +<a name="487" href="#487">487</a> } +<a name="488" href="#488">488</a> <strong>return</strong> false; +<a name="489" href="#489">489</a> } +<a name="490" href="#490">490</a> +<a name="491" href="#491">491</a> +<a name="492" href="#492">492</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/package-frame.html new file mode 100644 index 00000000000..b690b58c74f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/package-frame.html @@ -0,0 +1,33 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.extras</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + + <h3> + <a href="package-summary.html" target="classFrame">org.apache.log4j.extras</a> + </h3> + + <h3>Classes</h3> + + <ul> + <li> + <a href="DOMConfigurator.html" target="classFrame">DOMConfigurator</a> + </li> + <li> + <a href="SoundAppender.html" target="classFrame">SoundAppender</a> + </li> + <li> + <a href="UtilLoggingLevel.html" target="classFrame">UtilLoggingLevel</a> + </li> + <li> + <a href="XSLTLayout.html" target="classFrame">XSLTLayout</a> + </li> + </ul> + + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/package-summary.html new file mode 100644 index 00000000000..846a0f9711b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/extras/package-summary.html @@ -0,0 +1,82 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> +<html xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> + <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> + </head> + <body> + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + + <h2>Package org.apache.log4j.extras</h2> + + <table class="summary"> + <thead> + <tr> + <th>Class Summary</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <a href="DOMConfigurator.html" target="classFrame">DOMConfigurator</a> + </td> + </tr> + <tr> + <td> + <a href="SoundAppender.html" target="classFrame">SoundAppender</a> + </td> + </tr> + <tr> + <td> + <a href="UtilLoggingLevel.html" target="classFrame">UtilLoggingLevel</a> + </td> + </tr> + <tr> + <td> + <a href="XSLTLayout.html" target="classFrame">XSLTLayout</a> + </td> + </tr> + </tbody> + </table> + + <div class="overview"> + <ul> + <li> + <a href="../../../../overview-summary.html">Overview</a> + </li> + <li class="selected">Package</li> + </ul> + </div> + <div class="framenoframe"> + <ul> + <li> + <a href="../../../../index.html" target="_top">FRAMES</a> + </li> + <li> + <a href="package-summary.html" target="_top">NO FRAMES</a> + </li> + </ul> + </div> + <hr /> + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. + </body> +</html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/AndFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/AndFilter.html similarity index 73% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/AndFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/AndFilter.html index 2e7443ebd3a..ed7be91f2a9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/AndFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/AndFilter.html @@ -90,63 +90,62 @@ <a name="81" href="#81">81</a> } <a name="82" href="#82">82</a> <a name="83" href="#83">83</a> <strong>public</strong> <strong>void</strong> addFilter(<strong>final</strong> Filter filter) { -<a name="84" href="#84">84</a> System.out.println(<span class="string">"add"</span>+filter); -<a name="85" href="#85">85</a> <strong>if</strong> (headFilter == <strong>null</strong>) { -<a name="86" href="#86">86</a> headFilter = filter; -<a name="87" href="#87">87</a> tailFilter = filter; -<a name="88" href="#88">88</a> } <strong>else</strong> { -<a name="89" href="#89">89</a> tailFilter.next = filter; -<a name="90" href="#90">90</a> } -<a name="91" href="#91">91</a> } -<a name="92" href="#92">92</a> -<a name="93" href="#93">93</a> <strong>public</strong> <strong>void</strong> setAcceptOnMatch(<strong>final</strong> <strong>boolean</strong> acceptOnMatch) { -<a name="94" href="#94">94</a> <strong>this</strong>.acceptOnMatch = acceptOnMatch; -<a name="95" href="#95">95</a> } -<a name="96" href="#96">96</a> <em>/**<em>*</em></em> -<a name="97" href="#97">97</a> <em> * If this event does not already contain location information, </em> -<a name="98" href="#98">98</a> <em> * evaluate the event against the expression.</em> -<a name="99" href="#99">99</a> <em> * </em> -<a name="100" href="#100">100</a> <em> * If the expression evaluates to true, generate a LocationInfo instance </em> -<a name="101" href="#101">101</a> <em> * by creating an exception and set this LocationInfo on the event.</em> -<a name="102" href="#102">102</a> <em> * </em> -<a name="103" href="#103">103</a> <em> * Returns {@link Filter#NEUTRAL}</em> -<a name="104" href="#104">104</a> <em> */</em> -<a name="105" href="#105">105</a> <strong>public</strong> <strong>int</strong> decide(<strong>final</strong> LoggingEvent event) { -<a name="106" href="#106">106</a> <strong>boolean</strong> accepted = <strong>true</strong>; -<a name="107" href="#107">107</a> Filter f = headFilter; -<a name="108" href="#108">108</a> <strong>while</strong> (f != <strong>null</strong>) { -<a name="109" href="#109">109</a> accepted = accepted &amp;&amp; (Filter.ACCEPT == f.decide(event)); -<a name="110" href="#110">110</a> f = f.next; -<a name="111" href="#111">111</a> } -<a name="112" href="#112">112</a> <strong>if</strong> (accepted) { -<a name="113" href="#113">113</a> <strong>if</strong>(acceptOnMatch) { -<a name="114" href="#114">114</a> <strong>return</strong> Filter.ACCEPT; -<a name="115" href="#115">115</a> } -<a name="116" href="#116">116</a> <strong>return</strong> Filter.DENY; -<a name="117" href="#117">117</a> } -<a name="118" href="#118">118</a> <strong>return</strong> Filter.NEUTRAL; -<a name="119" href="#119">119</a> } -<a name="120" href="#120">120</a> -<a name="121" href="#121">121</a> <em>/**<em>*</em></em> -<a name="122" href="#122">122</a> <em> * {@inheritDoc}</em> -<a name="123" href="#123">123</a> <em> */</em> -<a name="124" href="#124">124</a> <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element, -<a name="125" href="#125">125</a> <strong>final</strong> Properties props) throws Exception { -<a name="126" href="#126">126</a> <strong>final</strong> String nodeName = element.getNodeName(); -<a name="127" href="#127">127</a> <strong>if</strong> (<span class="string">"filter"</span>.equals(nodeName)) { -<a name="128" href="#128">128</a> OptionHandler filter = -<a name="129" href="#129">129</a> org.apache.log4j.extras.DOMConfigurator.parseElement( -<a name="130" href="#130">130</a> element, props, Filter.<strong>class</strong>); -<a name="131" href="#131">131</a> <strong>if</strong> (filter instanceof Filter) { -<a name="132" href="#132">132</a> filter.activateOptions(); -<a name="133" href="#133">133</a> <strong>this</strong>.addFilter((Filter) filter); -<a name="134" href="#134">134</a> } -<a name="135" href="#135">135</a> <strong>return</strong> <strong>true</strong>; -<a name="136" href="#136">136</a> } -<a name="137" href="#137">137</a> <strong>return</strong> false; -<a name="138" href="#138">138</a> } -<a name="139" href="#139">139</a> -<a name="140" href="#140">140</a> } +<a name="84" href="#84">84</a> <strong>if</strong> (headFilter == <strong>null</strong>) { +<a name="85" href="#85">85</a> headFilter = filter; +<a name="86" href="#86">86</a> tailFilter = filter; +<a name="87" href="#87">87</a> } <strong>else</strong> { +<a name="88" href="#88">88</a> tailFilter.next = filter; +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> <strong>public</strong> <strong>void</strong> setAcceptOnMatch(<strong>final</strong> <strong>boolean</strong> acceptOnMatch) { +<a name="93" href="#93">93</a> <strong>this</strong>.acceptOnMatch = acceptOnMatch; +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> <em>/**<em>*</em></em> +<a name="96" href="#96">96</a> <em> * If this event does not already contain location information, </em> +<a name="97" href="#97">97</a> <em> * evaluate the event against the expression.</em> +<a name="98" href="#98">98</a> <em> * </em> +<a name="99" href="#99">99</a> <em> * If the expression evaluates to true, generate a LocationInfo instance </em> +<a name="100" href="#100">100</a> <em> * by creating an exception and set this LocationInfo on the event.</em> +<a name="101" href="#101">101</a> <em> * </em> +<a name="102" href="#102">102</a> <em> * Returns {@link Filter#NEUTRAL}</em> +<a name="103" href="#103">103</a> <em> */</em> +<a name="104" href="#104">104</a> <strong>public</strong> <strong>int</strong> decide(<strong>final</strong> LoggingEvent event) { +<a name="105" href="#105">105</a> <strong>boolean</strong> accepted = <strong>true</strong>; +<a name="106" href="#106">106</a> Filter f = headFilter; +<a name="107" href="#107">107</a> <strong>while</strong> (f != <strong>null</strong>) { +<a name="108" href="#108">108</a> accepted = accepted &amp;&amp; (Filter.ACCEPT == f.decide(event)); +<a name="109" href="#109">109</a> f = f.next; +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> <strong>if</strong> (accepted) { +<a name="112" href="#112">112</a> <strong>if</strong>(acceptOnMatch) { +<a name="113" href="#113">113</a> <strong>return</strong> Filter.ACCEPT; +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> <strong>return</strong> Filter.DENY; +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> <strong>return</strong> Filter.NEUTRAL; +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <em>/**<em>*</em></em> +<a name="121" href="#121">121</a> <em> * {@inheritDoc}</em> +<a name="122" href="#122">122</a> <em> */</em> +<a name="123" href="#123">123</a> <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element, +<a name="124" href="#124">124</a> <strong>final</strong> Properties props) throws Exception { +<a name="125" href="#125">125</a> <strong>final</strong> String nodeName = element.getNodeName(); +<a name="126" href="#126">126</a> <strong>if</strong> (<span class="string">"filter"</span>.equals(nodeName)) { +<a name="127" href="#127">127</a> OptionHandler filter = +<a name="128" href="#128">128</a> org.apache.log4j.extras.DOMConfigurator.parseElement( +<a name="129" href="#129">129</a> element, props, Filter.<strong>class</strong>); +<a name="130" href="#130">130</a> <strong>if</strong> (filter instanceof Filter) { +<a name="131" href="#131">131</a> filter.activateOptions(); +<a name="132" href="#132">132</a> <strong>this</strong>.addFilter((Filter) filter); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> <strong>return</strong> <strong>true</strong>; +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> <strong>return</strong> false; +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> } </pre> <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> </html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/DenyAllFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/DenyAllFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/DenyAllFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/DenyAllFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/ExpressionFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/ExpressionFilter.html similarity index 99% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/ExpressionFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/ExpressionFilter.html index 083c7123d7e..f2c69da2dae 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/ExpressionFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/ExpressionFilter.html @@ -159,7 +159,7 @@ <a name="150" href="#150">150</a> <em> * @return {@link Filter#NEUTRAL} is there is no string match.</em> <a name="151" href="#151">151</a> <em> */</em> <a name="152" href="#152">152</a> <strong>public</strong> <strong>int</strong> decide(<strong>final</strong> LoggingEvent event) { -<a name="153" href="#153">153</a> <strong>if</strong> (expressionRule.evaluate(event)) { +<a name="153" href="#153">153</a> <strong>if</strong> (expressionRule.evaluate(event, <strong>null</strong>)) { <a name="154" href="#154">154</a> <strong>if</strong> (acceptOnMatch) { <a name="155" href="#155">155</a> <strong>return</strong> Filter.ACCEPT; <a name="156" href="#156">156</a> } <strong>else</strong> { diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/LevelMatchFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/LevelMatchFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/LevelMatchFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/LevelMatchFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/LevelRangeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/LevelRangeFilter.html similarity index 99% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/LevelRangeFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/LevelRangeFilter.html index b863a408014..62eafbde857 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/LevelRangeFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/LevelRangeFilter.html @@ -44,7 +44,7 @@ <a name="35" href="#35">35</a> <em> &lt;b>AcceptOnMatch&lt;/b> is true, {@link org.apache.log4j.spi.Filter#ACCEPT} is returned, and if</em> <a name="36" href="#36">36</a> <em> &lt;b>AcceptOnMatch&lt;/b> is false, {@link org.apache.log4j.spi.Filter#NEUTRAL} is returned.</em> <a name="37" href="#37">37</a> <em> </em> -<a name="38" href="#38">38</a> <em> &lt;p>If &lt;code>LevelMin&lt;/code>w is not defined, then there is no</em> +<a name="38" href="#38">38</a> <em> &lt;p>If &lt;code>LevelMin&lt;/code> is not defined, then there is no</em> <a name="39" href="#39">39</a> <em> minimum acceptable level (ie a level is never rejected for</em> <a name="40" href="#40">40</a> <em> being too "low"/unimportant). If &lt;code>LevelMax&lt;/code> is not</em> <a name="41" href="#41">41</a> <em> defined, then there is no maximum acceptable level (ie a</em> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/LocationInfoFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/LocationInfoFilter.html similarity index 99% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/LocationInfoFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/LocationInfoFilter.html index 90229dcb92b..aa689d5fd48 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/LocationInfoFilter.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/LocationInfoFilter.html @@ -113,7 +113,7 @@ <a name="104" href="#104">104</a> <em> * @return Filter.NEUTRAL.</em> <a name="105" href="#105">105</a> <em> */</em> <a name="106" href="#106">106</a> <strong>public</strong> <strong>int</strong> decide(<strong>final</strong> LoggingEvent event) { -<a name="107" href="#107">107</a> <strong>if</strong> (expressionRule.evaluate(event)) { +<a name="107" href="#107">107</a> <strong>if</strong> (expressionRule.evaluate(event, <strong>null</strong>)) { <a name="108" href="#108">108</a> event.getLocationInformation(); <a name="109" href="#109">109</a> } <a name="110" href="#110">110</a> <strong>return</strong> Filter.NEUTRAL; diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/LoggerMatchFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/LoggerMatchFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/LoggerMatchFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/LoggerMatchFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/StringMatchFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/StringMatchFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/StringMatchFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/StringMatchFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/TimeFilter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/TimeFilter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/TimeFilter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/TimeFilter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/package-frame.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/package-frame.html index a0293416eae..950819dc044 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.filter</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.filter</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/package-summary.html similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/package-summary.html index 852e5c4f962..7d00c0dbd63 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/filter/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/filter/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -102,6 +102,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html similarity index 61% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html index 19b126cb357..8ab9c6f2e46 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/MDCKeySetExtractor.html @@ -29,77 +29,76 @@ <a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.pattern.LogEvent; <a name="21" href="#21">21</a> <a name="22" href="#22">22</a> <strong>import</strong> java.lang.reflect.Method; -<a name="23" href="#23">23</a> <strong>import</strong> java.lang.reflect.InvocationTargetException; -<a name="24" href="#24">24</a> <strong>import</strong> java.util.Set; -<a name="25" href="#25">25</a> <strong>import</strong> java.io.ByteArrayOutputStream; -<a name="26" href="#26">26</a> <strong>import</strong> java.io.ObjectOutputStream; -<a name="27" href="#27">27</a> <strong>import</strong> java.io.ByteArrayInputStream; -<a name="28" href="#28">28</a> <strong>import</strong> java.io.ObjectInputStream; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.Set; +<a name="24" href="#24">24</a> <strong>import</strong> java.io.ByteArrayOutputStream; +<a name="25" href="#25">25</a> <strong>import</strong> java.io.ObjectOutputStream; +<a name="26" href="#26">26</a> <strong>import</strong> java.io.ByteArrayInputStream; +<a name="27" href="#27">27</a> <strong>import</strong> java.io.ObjectInputStream; +<a name="28" href="#28">28</a> <a name="29" href="#29">29</a> -<a name="30" href="#30">30</a> -<a name="31" href="#31">31</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a> { -<a name="32" href="#32">32</a> <strong>private</strong> <strong>final</strong> Method getKeySetMethod; -<a name="33" href="#33">33</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a> INSTANCE = -<a name="34" href="#34">34</a> <strong>new</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a>(); +<a name="30" href="#30">30</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a> { +<a name="31" href="#31">31</a> <strong>private</strong> <strong>final</strong> Method getKeySetMethod; +<a name="32" href="#32">32</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a> INSTANCE = +<a name="33" href="#33">33</a> <strong>new</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a>(); +<a name="34" href="#34">34</a> <a name="35" href="#35">35</a> -<a name="36" href="#36">36</a> -<a name="37" href="#37">37</a> <strong>private</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a>() { -<a name="38" href="#38">38</a> <em class="comment">//</em> -<a name="39" href="#39">39</a> <em class="comment">// log4j 1.2.15 and later will have method to get names</em> -<a name="40" href="#40">40</a> <em class="comment">// of all keys in MDC</em> -<a name="41" href="#41">41</a> <em class="comment">//</em> -<a name="42" href="#42">42</a> Method getMethod = <strong>null</strong>; -<a name="43" href="#43">43</a> -<a name="44" href="#44">44</a> <strong>try</strong> { -<a name="45" href="#45">45</a> getMethod = LoggingEvent.<strong>class</strong>.getMethod( -<a name="46" href="#46">46</a> <span class="string">"getPropertyKeySet"</span>, <strong>null</strong>); -<a name="47" href="#47">47</a> } <strong>catch</strong>(Exception ex) { -<a name="48" href="#48">48</a> getMethod = <strong>null</strong>; -<a name="49" href="#49">49</a> } -<a name="50" href="#50">50</a> getKeySetMethod = getMethod; -<a name="51" href="#51">51</a> -<a name="52" href="#52">52</a> } -<a name="53" href="#53">53</a> -<a name="54" href="#54">54</a> <strong>public</strong> Set getPropertyKeySet(<strong>final</strong> LoggingEvent event) throws Exception { -<a name="55" href="#55">55</a> <em class="comment">//</em> -<a name="56" href="#56">56</a> <em class="comment">// MDC keys are not visible prior to log4j 1.2.15</em> -<a name="57" href="#57">57</a> <em class="comment">//</em> -<a name="58" href="#58">58</a> Set keySet = <strong>null</strong>; -<a name="59" href="#59">59</a> <strong>if</strong> (getKeySetMethod != <strong>null</strong>) { -<a name="60" href="#60">60</a> keySet = (Set) getKeySetMethod.invoke(event, <strong>null</strong>); -<a name="61" href="#61">61</a> } <strong>else</strong> { -<a name="62" href="#62">62</a> <em class="comment">//</em> -<a name="63" href="#63">63</a> <em class="comment">// for 1.2.14 and earlier could serialize and</em> -<a name="64" href="#64">64</a> <em class="comment">// extract MDC content</em> -<a name="65" href="#65">65</a> ByteArrayOutputStream outBytes = <strong>new</strong> ByteArrayOutputStream(); -<a name="66" href="#66">66</a> ObjectOutputStream os = <strong>new</strong> ObjectOutputStream(outBytes); -<a name="67" href="#67">67</a> os.writeObject(event); -<a name="68" href="#68">68</a> os.close(); -<a name="69" href="#69">69</a> -<a name="70" href="#70">70</a> byte[] raw = outBytes.toByteArray(); -<a name="71" href="#71">71</a> <em class="comment">//</em> -<a name="72" href="#72">72</a> <em class="comment">// bytes 6 and 7 should be the length of the original classname</em> -<a name="73" href="#73">73</a> <em class="comment">// should be the same as our substitute class name</em> -<a name="74" href="#74">74</a> <strong>final</strong> String subClassName = LogEvent.<strong>class</strong>.getName(); -<a name="75" href="#75">75</a> <strong>if</strong> (raw[6] == 0 || raw[7] == subClassName.length()) { -<a name="76" href="#76">76</a> <em class="comment">//</em> -<a name="77" href="#77">77</a> <em class="comment">// manipulate stream to use our class name</em> -<a name="78" href="#78">78</a> <em class="comment">//</em> -<a name="79" href="#79">79</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; subClassName.length(); i++) { -<a name="80" href="#80">80</a> raw[8 + i] = (byte) subClassName.charAt(i); -<a name="81" href="#81">81</a> } -<a name="82" href="#82">82</a> ByteArrayInputStream inBytes = <strong>new</strong> ByteArrayInputStream(raw); -<a name="83" href="#83">83</a> ObjectInputStream is = <strong>new</strong> ObjectInputStream(inBytes); -<a name="84" href="#84">84</a> Object cracked = is.readObject(); -<a name="85" href="#85">85</a> <strong>if</strong> (cracked instanceof LogEvent) { -<a name="86" href="#86">86</a> keySet = ((LogEvent) cracked).getPropertyKeySet(); -<a name="87" href="#87">87</a> } -<a name="88" href="#88">88</a> is.close(); -<a name="89" href="#89">89</a> } -<a name="90" href="#90">90</a> } -<a name="91" href="#91">91</a> <strong>return</strong> keySet; -<a name="92" href="#92">92</a> } -<a name="93" href="#93">93</a> } +<a name="36" href="#36">36</a> <strong>private</strong> <a href="../../../../org/apache/log4j/helpers/MDCKeySetExtractor.html">MDCKeySetExtractor</a>() { +<a name="37" href="#37">37</a> <em class="comment">//</em> +<a name="38" href="#38">38</a> <em class="comment">// log4j 1.2.15 and later will have method to get names</em> +<a name="39" href="#39">39</a> <em class="comment">// of all keys in MDC</em> +<a name="40" href="#40">40</a> <em class="comment">//</em> +<a name="41" href="#41">41</a> Method getMethod = <strong>null</strong>; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong>try</strong> { +<a name="44" href="#44">44</a> getMethod = LoggingEvent.<strong>class</strong>.getMethod( +<a name="45" href="#45">45</a> <span class="string">"getPropertyKeySet"</span>, <strong>null</strong>); +<a name="46" href="#46">46</a> } <strong>catch</strong>(Exception ex) { +<a name="47" href="#47">47</a> getMethod = <strong>null</strong>; +<a name="48" href="#48">48</a> } +<a name="49" href="#49">49</a> getKeySetMethod = getMethod; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong>public</strong> Set getPropertyKeySet(<strong>final</strong> LoggingEvent event) throws Exception { +<a name="54" href="#54">54</a> <em class="comment">//</em> +<a name="55" href="#55">55</a> <em class="comment">// MDC keys are not visible prior to log4j 1.2.15</em> +<a name="56" href="#56">56</a> <em class="comment">//</em> +<a name="57" href="#57">57</a> Set keySet = <strong>null</strong>; +<a name="58" href="#58">58</a> <strong>if</strong> (getKeySetMethod != <strong>null</strong>) { +<a name="59" href="#59">59</a> keySet = (Set) getKeySetMethod.invoke(event, <strong>null</strong>); +<a name="60" href="#60">60</a> } <strong>else</strong> { +<a name="61" href="#61">61</a> <em class="comment">//</em> +<a name="62" href="#62">62</a> <em class="comment">// for 1.2.14 and earlier could serialize and</em> +<a name="63" href="#63">63</a> <em class="comment">// extract MDC content</em> +<a name="64" href="#64">64</a> ByteArrayOutputStream outBytes = <strong>new</strong> ByteArrayOutputStream(); +<a name="65" href="#65">65</a> ObjectOutputStream os = <strong>new</strong> ObjectOutputStream(outBytes); +<a name="66" href="#66">66</a> os.writeObject(event); +<a name="67" href="#67">67</a> os.close(); +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> byte[] raw = outBytes.toByteArray(); +<a name="70" href="#70">70</a> <em class="comment">//</em> +<a name="71" href="#71">71</a> <em class="comment">// bytes 6 and 7 should be the length of the original classname</em> +<a name="72" href="#72">72</a> <em class="comment">// should be the same as our substitute class name</em> +<a name="73" href="#73">73</a> <strong>final</strong> String subClassName = LogEvent.<strong>class</strong>.getName(); +<a name="74" href="#74">74</a> <strong>if</strong> (raw[6] == 0 || raw[7] == subClassName.length()) { +<a name="75" href="#75">75</a> <em class="comment">//</em> +<a name="76" href="#76">76</a> <em class="comment">// manipulate stream to use our class name</em> +<a name="77" href="#77">77</a> <em class="comment">//</em> +<a name="78" href="#78">78</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; subClassName.length(); i++) { +<a name="79" href="#79">79</a> raw[8 + i] = (byte) subClassName.charAt(i); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> ByteArrayInputStream inBytes = <strong>new</strong> ByteArrayInputStream(raw); +<a name="82" href="#82">82</a> ObjectInputStream is = <strong>new</strong> ObjectInputStream(inBytes); +<a name="83" href="#83">83</a> Object cracked = is.readObject(); +<a name="84" href="#84">84</a> <strong>if</strong> (cracked instanceof LogEvent) { +<a name="85" href="#85">85</a> keySet = ((LogEvent) cracked).getPropertyKeySet(); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> is.close(); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> <strong>return</strong> keySet; +<a name="91" href="#91">91</a> } +<a name="92" href="#92">92</a> } </pre> <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> </html> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/UtilLoggingLevel.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/UtilLoggingLevel.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/UtilLoggingLevel.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/UtilLoggingLevel.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/package-frame.html similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/package-frame.html index 49345374c59..e11fbdb117f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.helpers</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.helpers</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/package-summary.html index 3bdd8596ae0..d9ebf868b3a 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/helpers/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/helpers/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -67,6 +67,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/package-frame.html similarity index 79% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/package-frame.html index 9b37e2e9f64..a86648c3bc7 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j</title> <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="style" /> </head> <body> @@ -23,6 +23,9 @@ </li> <li> <a href="LogSF.html" target="classFrame">LogSF</a> + </li> + <li> + <a href="LogXF.html" target="classFrame">LogXF</a> </li> </ul> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/package-summary.html similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/package-summary.html index 4fe3076ec11..019891d1173 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="style" /> </head> <body> @@ -49,6 +49,11 @@ <td> <a href="LogSF.html" target="classFrame">LogSF</a> </td> + </tr> + <tr> + <td> + <a href="LogXF.html" target="classFrame">LogXF</a> + </td> </tr> </tbody> </table> @@ -72,6 +77,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/BridgePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/BridgePatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/BridgePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/BridgePatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/BridgePatternParser.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/BridgePatternParser.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/BridgePatternParser.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/BridgePatternParser.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/CachedDateFormat.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/CachedDateFormat.html new file mode 100644 index 00000000000..60ad8351585 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/CachedDateFormat.html @@ -0,0 +1,385 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CachedDateFormat xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/CachedDateFormat.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.text.DateFormat; +<a name="21" href="#21">21</a> <strong>import</strong> java.text.FieldPosition; +<a name="22" href="#22">22</a> <strong>import</strong> java.text.NumberFormat; +<a name="23" href="#23">23</a> <strong>import</strong> java.text.ParsePosition; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Date; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.TimeZone; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em>/**<em>*</em></em> +<a name="29" href="#29">29</a> <em> * CachedDateFormat optimizes the performance of a wrapped</em> +<a name="30" href="#30">30</a> <em> * DateFormat. The implementation is not thread-safe.</em> +<a name="31" href="#31">31</a> <em> * If the millisecond pattern is not recognized,</em> +<a name="32" href="#32">32</a> <em> * the class will only use the cache if the</em> +<a name="33" href="#33">33</a> <em> * same value is requested.</em> +<a name="34" href="#34">34</a> <em> *</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a> <strong>extends</strong> DateFormat { +<a name="37" href="#37">37</a> <em>/**<em>*</em></em> +<a name="38" href="#38">38</a> <em> * Serialization version.</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 1; +<a name="41" href="#41">41</a> <em>/**<em>*</em></em> +<a name="42" href="#42">42</a> <em> * Constant used to represent that there was no change</em> +<a name="43" href="#43">43</a> <em> * observed when changing the millisecond count.</em> +<a name="44" href="#44">44</a> <em> */</em> +<a name="45" href="#45">45</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> NO_MILLISECONDS = -2; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em>/**<em>*</em></em> +<a name="48" href="#48">48</a> <em> * Supported digit set. If the wrapped DateFormat uses</em> +<a name="49" href="#49">49</a> <em> * a different unit set, the millisecond pattern</em> +<a name="50" href="#50">50</a> <em> * will not be recognized and duplicate requests</em> +<a name="51" href="#51">51</a> <em> * will use the cache.</em> +<a name="52" href="#52">52</a> <em> */</em> +<a name="53" href="#53">53</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String DIGITS = <span class="string">"0123456789"</span>; +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em>/**<em>*</em></em> +<a name="56" href="#56">56</a> <em> * Constant used to represent that there was an</em> +<a name="57" href="#57">57</a> <em> * observed change, but was an expected change.</em> +<a name="58" href="#58">58</a> <em> */</em> +<a name="59" href="#59">59</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> UNRECOGNIZED_MILLISECONDS = -1; +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em>/**<em>*</em></em> +<a name="62" href="#62">62</a> <em> * First magic number used to detect the millisecond position.</em> +<a name="63" href="#63">63</a> <em> */</em> +<a name="64" href="#64">64</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> MAGIC1 = 654; +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em>/**<em>*</em></em> +<a name="67" href="#67">67</a> <em> * Expected representation of first magic number.</em> +<a name="68" href="#68">68</a> <em> */</em> +<a name="69" href="#69">69</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String MAGICSTRING1 = <span class="string">"654"</span>; +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em>/**<em>*</em></em> +<a name="72" href="#72">72</a> <em> * Second magic number used to detect the millisecond position.</em> +<a name="73" href="#73">73</a> <em> */</em> +<a name="74" href="#74">74</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> MAGIC2 = 987; +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em>/**<em>*</em></em> +<a name="77" href="#77">77</a> <em> * Expected representation of second magic number.</em> +<a name="78" href="#78">78</a> <em> */</em> +<a name="79" href="#79">79</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String MAGICSTRING2 = <span class="string">"987"</span>; +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em>/**<em>*</em></em> +<a name="82" href="#82">82</a> <em> * Expected representation of 0 milliseconds.</em> +<a name="83" href="#83">83</a> <em> */</em> +<a name="84" href="#84">84</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String ZERO_STRING = <span class="string">"000"</span>; +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em>/**<em>*</em></em> +<a name="87" href="#87">87</a> <em> * Wrapped formatter.</em> +<a name="88" href="#88">88</a> <em> */</em> +<a name="89" href="#89">89</a> <strong>private</strong> <strong>final</strong> DateFormat formatter; +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em>/**<em>*</em></em> +<a name="92" href="#92">92</a> <em> * Index of initial digit of millisecond pattern or</em> +<a name="93" href="#93">93</a> <em> * UNRECOGNIZED_MILLISECONDS or NO_MILLISECONDS.</em> +<a name="94" href="#94">94</a> <em> */</em> +<a name="95" href="#95">95</a> <strong>private</strong> <strong>int</strong> millisecondStart; +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em>/**<em>*</em></em> +<a name="98" href="#98">98</a> <em> * Integral second preceding the previous convered Date.</em> +<a name="99" href="#99">99</a> <em> */</em> +<a name="100" href="#100">100</a> <strong>private</strong> <strong>long</strong> slotBegin; +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em>/**<em>*</em></em> +<a name="103" href="#103">103</a> <em> * Cache of previous conversion.</em> +<a name="104" href="#104">104</a> <em> */</em> +<a name="105" href="#105">105</a> <strong>private</strong> StringBuffer cache = <strong>new</strong> StringBuffer(50); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <em>/**<em>*</em></em> +<a name="108" href="#108">108</a> <em> * Maximum validity period for the cache.</em> +<a name="109" href="#109">109</a> <em> * Typically 1, use cache for duplicate requests only, or</em> +<a name="110" href="#110">110</a> <em> * 1000, use cache for requests within the same integral second.</em> +<a name="111" href="#111">111</a> <em> */</em> +<a name="112" href="#112">112</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> expiration; +<a name="113" href="#113">113</a> +<a name="114" href="#114">114</a> <em>/**<em>*</em></em> +<a name="115" href="#115">115</a> <em> * Date requested in previous conversion.</em> +<a name="116" href="#116">116</a> <em> */</em> +<a name="117" href="#117">117</a> <strong>private</strong> <strong>long</strong> previousTime; +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em>/**<em>*</em></em> +<a name="120" href="#120">120</a> <em> * Scratch date object used to minimize date object creation.</em> +<a name="121" href="#121">121</a> <em> */</em> +<a name="122" href="#122">122</a> <strong>private</strong> <strong>final</strong> Date tmpDate = <strong>new</strong> Date(0); +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em>/**<em>*</em></em> +<a name="125" href="#125">125</a> <em> * Creates a new CachedDateFormat object.</em> +<a name="126" href="#126">126</a> <em> * @param dateFormat Date format, may not be null.</em> +<a name="127" href="#127">127</a> <em> * @param expiration maximum cached range in milliseconds.</em> +<a name="128" href="#128">128</a> <em> * If the dateFormat is known to be incompatible with the</em> +<a name="129" href="#129">129</a> <em> * caching algorithm, use a value of 0 to totally disable</em> +<a name="130" href="#130">130</a> <em> * caching or 1 to only use cache for duplicate requests.</em> +<a name="131" href="#131">131</a> <em> */</em> +<a name="132" href="#132">132</a> <strong>public</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a>(<strong>final</strong> DateFormat dateFormat, <strong>final</strong> <strong>int</strong> expiration) { +<a name="133" href="#133">133</a> <strong>if</strong> (dateFormat == <strong>null</strong>) { +<a name="134" href="#134">134</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"dateFormat cannot be null"</span>); +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <strong>if</strong> (expiration &lt; 0) { +<a name="138" href="#138">138</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"expiration must be non-negative"</span>); +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> formatter = dateFormat; +<a name="142" href="#142">142</a> <strong>this</strong>.expiration = expiration; +<a name="143" href="#143">143</a> millisecondStart = 0; +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <em class="comment">//</em> +<a name="146" href="#146">146</a> <em class="comment">// set the previousTime so the cache will be invalid</em> +<a name="147" href="#147">147</a> <em class="comment">// for the next request.</em> +<a name="148" href="#148">148</a> previousTime = Long.MIN_VALUE; +<a name="149" href="#149">149</a> slotBegin = Long.MIN_VALUE; +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em>/**<em>*</em></em> +<a name="153" href="#153">153</a> <em> * Finds start of millisecond field in formatted time.</em> +<a name="154" href="#154">154</a> <em> * @param time long time, must be integral number of seconds</em> +<a name="155" href="#155">155</a> <em> * @param formatted String corresponding formatted string</em> +<a name="156" href="#156">156</a> <em> * @param formatter DateFormat date format</em> +<a name="157" href="#157">157</a> <em> * @return int position in string of first digit of milliseconds,</em> +<a name="158" href="#158">158</a> <em> * -1 indicates no millisecond field, -2 indicates unrecognized</em> +<a name="159" href="#159">159</a> <em> * field (likely RelativeTimeDateFormat)</em> +<a name="160" href="#160">160</a> <em> */</em> +<a name="161" href="#161">161</a> <strong>public</strong> <strong>static</strong> <strong>int</strong> findMillisecondStart( +<a name="162" href="#162">162</a> <strong>final</strong> <strong>long</strong> time, <strong>final</strong> String formatted, <strong>final</strong> DateFormat formatter) { +<a name="163" href="#163">163</a> <strong>long</strong> slotBegin = (time / 1000) * 1000; +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <strong>if</strong> (slotBegin > time) { +<a name="166" href="#166">166</a> slotBegin -= 1000; +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <strong>int</strong> millis = (<strong>int</strong>) (time - slotBegin); +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <strong>int</strong> magic = MAGIC1; +<a name="172" href="#172">172</a> String magicString = MAGICSTRING1; +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> <strong>if</strong> (millis == MAGIC1) { +<a name="175" href="#175">175</a> magic = MAGIC2; +<a name="176" href="#176">176</a> magicString = MAGICSTRING2; +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> String plusMagic = formatter.format(<strong>new</strong> Date(slotBegin + magic)); +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> <em>/**<em>*</em></em> +<a name="182" href="#182">182</a> <em> * If the string lengths differ then</em> +<a name="183" href="#183">183</a> <em> * we can't use the cache except for duplicate requests.</em> +<a name="184" href="#184">184</a> <em> */</em> +<a name="185" href="#185">185</a> <strong>if</strong> (plusMagic.length() != formatted.length()) { +<a name="186" href="#186">186</a> <strong>return</strong> UNRECOGNIZED_MILLISECONDS; +<a name="187" href="#187">187</a> } <strong>else</strong> { +<a name="188" href="#188">188</a> <em class="comment">// find first difference between values</em> +<a name="189" href="#189">189</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; <strong>for</strong>matted.length(); i++) { +<a name="190" href="#190">190</a> <strong>if</strong> (formatted.charAt(i) != plusMagic.charAt(i)) { +<a name="191" href="#191">191</a> <em class="comment">//</em> +<a name="192" href="#192">192</a> <em class="comment">// determine the expected digits for the base time</em> +<a name="193" href="#193">193</a> StringBuffer formattedMillis = <strong>new</strong> StringBuffer(<span class="string">"ABC"</span>); +<a name="194" href="#194">194</a> millisecondFormat(millis, formattedMillis, 0); +<a name="195" href="#195">195</a> +<a name="196" href="#196">196</a> String plusZero = formatter.format(<strong>new</strong> Date(slotBegin)); +<a name="197" href="#197">197</a> +<a name="198" href="#198">198</a> <em class="comment">// If the next 3 characters match the magic</em> +<a name="199" href="#199">199</a> <em class="comment">// string and the expected string</em> +<a name="200" href="#200">200</a> <strong>if</strong> ( +<a name="201" href="#201">201</a> (plusZero.length() == formatted.length()) +<a name="202" href="#202">202</a> &amp;&amp; magicString.regionMatches( +<a name="203" href="#203">203</a> 0, plusMagic, i, magicString.length()) +<a name="204" href="#204">204</a> &amp;&amp; formattedMillis.toString().regionMatches( +<a name="205" href="#205">205</a> 0, formatted, i, magicString.length()) +<a name="206" href="#206">206</a> &amp;&amp; ZERO_STRING.regionMatches( +<a name="207" href="#207">207</a> 0, plusZero, i, ZERO_STRING.length())) { +<a name="208" href="#208">208</a> <strong>return</strong> i; +<a name="209" href="#209">209</a> } <strong>else</strong> { +<a name="210" href="#210">210</a> <strong>return</strong> UNRECOGNIZED_MILLISECONDS; +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> } +<a name="213" href="#213">213</a> } +<a name="214" href="#214">214</a> } +<a name="215" href="#215">215</a> +<a name="216" href="#216">216</a> <strong>return</strong> NO_MILLISECONDS; +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> +<a name="219" href="#219">219</a> <em>/**<em>*</em></em> +<a name="220" href="#220">220</a> <em> * Formats a Date into a date/time string.</em> +<a name="221" href="#221">221</a> <em> *</em> +<a name="222" href="#222">222</a> <em> * @param date the date to format.</em> +<a name="223" href="#223">223</a> <em> * @param sbuf the string buffer to write to.</em> +<a name="224" href="#224">224</a> <em> * @param fieldPosition remains untouched.</em> +<a name="225" href="#225">225</a> <em> * @return the formatted time string.</em> +<a name="226" href="#226">226</a> <em> */</em> +<a name="227" href="#227">227</a> <strong>public</strong> StringBuffer format( +<a name="228" href="#228">228</a> Date date, StringBuffer sbuf, FieldPosition fieldPosition) { +<a name="229" href="#229">229</a> format(date.getTime(), sbuf); +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <strong>return</strong> sbuf; +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em>/**<em>*</em></em> +<a name="235" href="#235">235</a> <em> * Formats a millisecond count into a date/time string.</em> +<a name="236" href="#236">236</a> <em> *</em> +<a name="237" href="#237">237</a> <em> * @param now Number of milliseconds after midnight 1 Jan 1970 GMT.</em> +<a name="238" href="#238">238</a> <em> * @param buf the string buffer to write to.</em> +<a name="239" href="#239">239</a> <em> * @return the formatted time string.</em> +<a name="240" href="#240">240</a> <em> */</em> +<a name="241" href="#241">241</a> <strong>public</strong> StringBuffer format(<strong>long</strong> now, StringBuffer buf) { +<a name="242" href="#242">242</a> <em class="comment">//</em> +<a name="243" href="#243">243</a> <em class="comment">// If the current requested time is identical to the previously</em> +<a name="244" href="#244">244</a> <em class="comment">// requested time, then append the cache contents.</em> +<a name="245" href="#245">245</a> <em class="comment">//</em> +<a name="246" href="#246">246</a> <strong>if</strong> (now == previousTime) { +<a name="247" href="#247">247</a> buf.append(cache); +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <strong>return</strong> buf; +<a name="250" href="#250">250</a> } +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <em class="comment">//</em> +<a name="253" href="#253">253</a> <em class="comment">// If millisecond pattern was not unrecognized </em> +<a name="254" href="#254">254</a> <em class="comment">// (that is if it was found or milliseconds did not appear) </em> +<a name="255" href="#255">255</a> <em class="comment">// </em> +<a name="256" href="#256">256</a> <strong>if</strong> (millisecondStart != UNRECOGNIZED_MILLISECONDS &amp;&amp; +<a name="257" href="#257">257</a> <em class="comment">// Check if the cache is still valid.</em> +<a name="258" href="#258">258</a> <em class="comment">// If the requested time is within the same integral second</em> +<a name="259" href="#259">259</a> <em class="comment">// as the last request and a shorter expiration was not requested.</em> +<a name="260" href="#260">260</a> (now &lt; (slotBegin + expiration)) &amp;&amp; (now >= slotBegin) +<a name="261" href="#261">261</a> &amp;&amp; (now &lt; (slotBegin + 1000L))) { +<a name="262" href="#262">262</a> <em class="comment">// </em> +<a name="263" href="#263">263</a> <em class="comment">// if there was a millisecond field then update it</em> +<a name="264" href="#264">264</a> <em class="comment">//</em> +<a name="265" href="#265">265</a> <strong>if</strong> (millisecondStart >= 0) { +<a name="266" href="#266">266</a> millisecondFormat((<strong>int</strong>) (now - slotBegin), cache, millisecondStart); +<a name="267" href="#267">267</a> } +<a name="268" href="#268">268</a> +<a name="269" href="#269">269</a> <em class="comment">//</em> +<a name="270" href="#270">270</a> <em class="comment">// update the previously requested time</em> +<a name="271" href="#271">271</a> <em class="comment">// (the slot begin should be unchanged)</em> +<a name="272" href="#272">272</a> previousTime = now; +<a name="273" href="#273">273</a> buf.append(cache); +<a name="274" href="#274">274</a> +<a name="275" href="#275">275</a> <strong>return</strong> buf; +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> <em class="comment">//</em> +<a name="279" href="#279">279</a> <em class="comment">// could not use previous value. </em> +<a name="280" href="#280">280</a> <em class="comment">// Call underlying formatter to format date.</em> +<a name="281" href="#281">281</a> cache.setLength(0); +<a name="282" href="#282">282</a> tmpDate.setTime(now); +<a name="283" href="#283">283</a> cache.append(formatter.format(tmpDate)); +<a name="284" href="#284">284</a> buf.append(cache); +<a name="285" href="#285">285</a> previousTime = now; +<a name="286" href="#286">286</a> slotBegin = (previousTime / 1000) * 1000; +<a name="287" href="#287">287</a> +<a name="288" href="#288">288</a> <strong>if</strong> (slotBegin > previousTime) { +<a name="289" href="#289">289</a> slotBegin -= 1000; +<a name="290" href="#290">290</a> } +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> <em class="comment">//</em> +<a name="293" href="#293">293</a> <em class="comment">// if the milliseconds field was previous found</em> +<a name="294" href="#294">294</a> <em class="comment">// then reevaluate in case it moved.</em> +<a name="295" href="#295">295</a> <em class="comment">//</em> +<a name="296" href="#296">296</a> <strong>if</strong> (millisecondStart >= 0) { +<a name="297" href="#297">297</a> millisecondStart = +<a name="298" href="#298">298</a> findMillisecondStart(now, cache.toString(), formatter); +<a name="299" href="#299">299</a> } +<a name="300" href="#300">300</a> +<a name="301" href="#301">301</a> <strong>return</strong> buf; +<a name="302" href="#302">302</a> } +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <em>/**<em>*</em></em> +<a name="305" href="#305">305</a> <em> * Formats a count of milliseconds (0-999) into a numeric representation.</em> +<a name="306" href="#306">306</a> <em> * @param millis Millisecond coun between 0 and 999.</em> +<a name="307" href="#307">307</a> <em> * @param buf String buffer, may not be null.</em> +<a name="308" href="#308">308</a> <em> * @param offset Starting position in buffer, the length of the</em> +<a name="309" href="#309">309</a> <em> * buffer must be at least offset + 3.</em> +<a name="310" href="#310">310</a> <em> */</em> +<a name="311" href="#311">311</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> millisecondFormat( +<a name="312" href="#312">312</a> <strong>final</strong> <strong>int</strong> millis, <strong>final</strong> StringBuffer buf, <strong>final</strong> <strong>int</strong> offset) { +<a name="313" href="#313">313</a> buf.setCharAt(offset, DIGITS.charAt(millis / 100)); +<a name="314" href="#314">314</a> buf.setCharAt(offset + 1, DIGITS.charAt((millis / 10) % 10)); +<a name="315" href="#315">315</a> buf.setCharAt(offset + 2, DIGITS.charAt(millis % 10)); +<a name="316" href="#316">316</a> } +<a name="317" href="#317">317</a> +<a name="318" href="#318">318</a> <em>/**<em>*</em></em> +<a name="319" href="#319">319</a> <em> * Set timezone.</em> +<a name="320" href="#320">320</a> <em> *</em> +<a name="321" href="#321">321</a> <em> * Setting the timezone using getCalendar().setTimeZone()</em> +<a name="322" href="#322">322</a> <em> * will likely cause caching to misbehave.</em> +<a name="323" href="#323">323</a> <em> * @param timeZone TimeZone new timezone</em> +<a name="324" href="#324">324</a> <em> */</em> +<a name="325" href="#325">325</a> <strong>public</strong> <strong>void</strong> setTimeZone(<strong>final</strong> TimeZone timeZone) { +<a name="326" href="#326">326</a> formatter.setTimeZone(timeZone); +<a name="327" href="#327">327</a> previousTime = Long.MIN_VALUE; +<a name="328" href="#328">328</a> slotBegin = Long.MIN_VALUE; +<a name="329" href="#329">329</a> } +<a name="330" href="#330">330</a> +<a name="331" href="#331">331</a> <em>/**<em>*</em></em> +<a name="332" href="#332">332</a> <em> * This method is delegated to the formatter which most</em> +<a name="333" href="#333">333</a> <em> * likely returns null.</em> +<a name="334" href="#334">334</a> <em> * @param s string representation of date.</em> +<a name="335" href="#335">335</a> <em> * @param pos field position, unused.</em> +<a name="336" href="#336">336</a> <em> * @return parsed date, likely null.</em> +<a name="337" href="#337">337</a> <em> */</em> +<a name="338" href="#338">338</a> <strong>public</strong> Date parse(String s, ParsePosition pos) { +<a name="339" href="#339">339</a> <strong>return</strong> formatter.parse(s, pos); +<a name="340" href="#340">340</a> } +<a name="341" href="#341">341</a> +<a name="342" href="#342">342</a> <em>/**<em>*</em></em> +<a name="343" href="#343">343</a> <em> * Gets number formatter.</em> +<a name="344" href="#344">344</a> <em> *</em> +<a name="345" href="#345">345</a> <em> * @return NumberFormat number formatter</em> +<a name="346" href="#346">346</a> <em> */</em> +<a name="347" href="#347">347</a> <strong>public</strong> NumberFormat getNumberFormat() { +<a name="348" href="#348">348</a> <strong>return</strong> formatter.getNumberFormat(); +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> +<a name="351" href="#351">351</a> <em>/**<em>*</em></em> +<a name="352" href="#352">352</a> <em> * Gets maximum cache validity for the specified SimpleDateTime</em> +<a name="353" href="#353">353</a> <em> * conversion pattern.</em> +<a name="354" href="#354">354</a> <em> * @param pattern conversion pattern, may not be null.</em> +<a name="355" href="#355">355</a> <em> * @return Duration in milliseconds from an integral second</em> +<a name="356" href="#356">356</a> <em> * that the cache will return consistent results.</em> +<a name="357" href="#357">357</a> <em> */</em> +<a name="358" href="#358">358</a> <strong>public</strong> <strong>static</strong> <strong>int</strong> getMaximumCacheValidity(<strong>final</strong> String pattern) { +<a name="359" href="#359">359</a> <em class="comment">//</em> +<a name="360" href="#360">360</a> <em class="comment">// If there are more "S" in the pattern than just one "SSS" then</em> +<a name="361" href="#361">361</a> <em class="comment">// (for example, "HH:mm:ss,SSS SSS"), then set the expiration to</em> +<a name="362" href="#362">362</a> <em class="comment">// one millisecond which should only perform duplicate request caching.</em> +<a name="363" href="#363">363</a> <em class="comment">//</em> +<a name="364" href="#364">364</a> <strong>int</strong> firstS = pattern.indexOf('S'); +<a name="365" href="#365">365</a> +<a name="366" href="#366">366</a> <strong>if</strong> ((firstS >= 0) &amp;&amp; (firstS != pattern.lastIndexOf(<span class="string">"SSS"</span>))) { +<a name="367" href="#367">367</a> <strong>return</strong> 1; +<a name="368" href="#368">368</a> } +<a name="369" href="#369">369</a> +<a name="370" href="#370">370</a> <strong>return</strong> 1000; +<a name="371" href="#371">371</a> } +<a name="372" href="#372">372</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/ClassNamePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/ClassNamePatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/ClassNamePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/ClassNamePatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/DatePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/DatePatternConverter.html new file mode 100644 index 00000000000..d2e125b8638 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/DatePatternConverter.html @@ -0,0 +1,218 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DatePatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/DatePatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> java.text.SimpleDateFormat; +<a name="24" href="#24">24</a> <strong>import</strong> java.text.DateFormat; +<a name="25" href="#25">25</a> <strong>import</strong> java.text.FieldPosition; +<a name="26" href="#26">26</a> <strong>import</strong> java.text.ParsePosition; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Date; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.TimeZone; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Convert and format the event's date in a StringBuffer.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DatePatternConverter</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="37" href="#37">37</a> <em>/**<em>*</em></em> +<a name="38" href="#38">38</a> <em> * ABSOLUTE string literal.</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String ABSOLUTE_FORMAT = <span class="string">"ABSOLUTE"</span>; +<a name="41" href="#41">41</a> <em>/**<em>*</em></em> +<a name="42" href="#42">42</a> <em> * SimpleTimePattern for ABSOLUTE.</em> +<a name="43" href="#43">43</a> <em> */</em> +<a name="44" href="#44">44</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String ABSOLUTE_TIME_PATTERN = <span class="string">"HH:mm:ss,SSS"</span>; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em>/**<em>*</em></em> +<a name="48" href="#48">48</a> <em> * DATE string literal.</em> +<a name="49" href="#49">49</a> <em> */</em> +<a name="50" href="#50">50</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String DATE_AND_TIME_FORMAT = <span class="string">"DATE"</span>; +<a name="51" href="#51">51</a> <em>/**<em>*</em></em> +<a name="52" href="#52">52</a> <em> * SimpleTimePattern for DATE.</em> +<a name="53" href="#53">53</a> <em> */</em> +<a name="54" href="#54">54</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String DATE_AND_TIME_PATTERN = <span class="string">"dd MMM yyyy HH:mm:ss,SSS"</span>; +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <em>/**<em>*</em></em> +<a name="57" href="#57">57</a> <em> * ISO8601 string literal.</em> +<a name="58" href="#58">58</a> <em> */</em> +<a name="59" href="#59">59</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String ISO8601_FORMAT = <span class="string">"ISO8601"</span>; +<a name="60" href="#60">60</a> <em>/**<em>*</em></em> +<a name="61" href="#61">61</a> <em> * SimpleTimePattern for ISO8601.</em> +<a name="62" href="#62">62</a> <em> */</em> +<a name="63" href="#63">63</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String ISO8601_PATTERN = <span class="string">"yyyy-MM-dd HH:mm:ss,SSS"</span>; +<a name="64" href="#64">64</a> <em>/**<em>*</em></em> +<a name="65" href="#65">65</a> <em> * Date format.</em> +<a name="66" href="#66">66</a> <em> */</em> +<a name="67" href="#67">67</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a> df; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em>/**<em>*</em></em> +<a name="70" href="#70">70</a> <em> * This class wraps a DateFormat and forces the time zone to the</em> +<a name="71" href="#71">71</a> <em> * default time zone before each format and parse request.</em> +<a name="72" href="#72">72</a> <em> */</em> +<a name="73" href="#73">73</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> DefaultZoneDateFormat <strong>extends</strong> DateFormat { +<a name="74" href="#74">74</a> <em>/**<em>*</em></em> +<a name="75" href="#75">75</a> <em> * Serialization version ID.</em> +<a name="76" href="#76">76</a> <em> */</em> +<a name="77" href="#77">77</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 1; +<a name="78" href="#78">78</a> <em>/**<em>*</em></em> +<a name="79" href="#79">79</a> <em> * Wrapped instance of DateFormat.</em> +<a name="80" href="#80">80</a> <em> */</em> +<a name="81" href="#81">81</a> <strong>private</strong> <strong>final</strong> DateFormat dateFormat; +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em>/**<em>*</em></em> +<a name="84" href="#84">84</a> <em> * Construct new instance.</em> +<a name="85" href="#85">85</a> <em> * @param format format, may not be null.</em> +<a name="86" href="#86">86</a> <em> */</em> +<a name="87" href="#87">87</a> <strong>public</strong> DefaultZoneDateFormat(<strong>final</strong> DateFormat format) { +<a name="88" href="#88">88</a> dateFormat = format; +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em>/**<em>*</em></em> +<a name="92" href="#92">92</a> <em> * @{inheritDoc}</em> +<a name="93" href="#93">93</a> <em> */</em> +<a name="94" href="#94">94</a> <strong>public</strong> StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { +<a name="95" href="#95">95</a> dateFormat.setTimeZone(TimeZone.getDefault()); +<a name="96" href="#96">96</a> <strong>return</strong> dateFormat.format(date, toAppendTo, fieldPosition); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em>/**<em>*</em></em> +<a name="100" href="#100">100</a> <em> * @{inheritDoc}</em> +<a name="101" href="#101">101</a> <em> */</em> +<a name="102" href="#102">102</a> <strong>public</strong> Date parse(String source, ParsePosition pos) { +<a name="103" href="#103">103</a> dateFormat.setTimeZone(TimeZone.getDefault()); +<a name="104" href="#104">104</a> <strong>return</strong> dateFormat.parse(source, pos); +<a name="105" href="#105">105</a> } +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <em>/**<em>*</em></em> +<a name="109" href="#109">109</a> <em> * Private constructor.</em> +<a name="110" href="#110">110</a> <em> * @param options options, may be null.</em> +<a name="111" href="#111">111</a> <em> */</em> +<a name="112" href="#112">112</a> <strong>private</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DatePatternConverter</a>(<strong>final</strong> String[] options) { +<a name="113" href="#113">113</a> <strong>super</strong>(<span class="string">"Date"</span>, <span class="string">"date"</span>); +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> String patternOption; +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <strong>if</strong> ((options == <strong>null</strong>) || (options.length == 0)) { +<a name="118" href="#118">118</a> <em class="comment">// the branch could be optimized, but here we are making explicit</em> +<a name="119" href="#119">119</a> <em class="comment">// that null values for patternOption are allowed.</em> +<a name="120" href="#120">120</a> patternOption = <strong>null</strong>; +<a name="121" href="#121">121</a> } <strong>else</strong> { +<a name="122" href="#122">122</a> patternOption = options[0]; +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> String pattern; +<a name="126" href="#126">126</a> +<a name="127" href="#127">127</a> <strong>if</strong> ( +<a name="128" href="#128">128</a> (patternOption == <strong>null</strong>) +<a name="129" href="#129">129</a> || patternOption.equalsIgnoreCase(ISO8601_FORMAT)) { +<a name="130" href="#130">130</a> pattern = ISO8601_PATTERN; +<a name="131" href="#131">131</a> } <strong>else</strong> <strong>if</strong> (patternOption.equalsIgnoreCase(ABSOLUTE_FORMAT)) { +<a name="132" href="#132">132</a> pattern = ABSOLUTE_TIME_PATTERN; +<a name="133" href="#133">133</a> } <strong>else</strong> <strong>if</strong> (patternOption.equalsIgnoreCase(DATE_AND_TIME_FORMAT)) { +<a name="134" href="#134">134</a> pattern = DATE_AND_TIME_PATTERN; +<a name="135" href="#135">135</a> } <strong>else</strong> { +<a name="136" href="#136">136</a> pattern = patternOption; +<a name="137" href="#137">137</a> } +<a name="138" href="#138">138</a> +<a name="139" href="#139">139</a> <strong>int</strong> maximumCacheValidity = 1000; +<a name="140" href="#140">140</a> DateFormat simpleFormat = <strong>null</strong>; +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <strong>try</strong> { +<a name="143" href="#143">143</a> simpleFormat = <strong>new</strong> SimpleDateFormat(pattern); +<a name="144" href="#144">144</a> maximumCacheValidity = CachedDateFormat.getMaximumCacheValidity(pattern); +<a name="145" href="#145">145</a> } <strong>catch</strong> (IllegalArgumentException e) { +<a name="146" href="#146">146</a> LogLog.warn( +<a name="147" href="#147">147</a> <span class="string">"Could not instantiate SimpleDateFormat with pattern "</span> +<a name="148" href="#148">148</a> + patternOption, e); +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em class="comment">// default to the ISO8601 format</em> +<a name="151" href="#151">151</a> simpleFormat = <strong>new</strong> SimpleDateFormat(ISO8601_PATTERN); +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> <em class="comment">// if the option list contains a TZ option, then set it.</em> +<a name="155" href="#155">155</a> <strong>if</strong> ((options != <strong>null</strong>) &amp;&amp; (options.length > 1)) { +<a name="156" href="#156">156</a> TimeZone tz = TimeZone.getTimeZone((String) options[1]); +<a name="157" href="#157">157</a> simpleFormat.setTimeZone(tz); +<a name="158" href="#158">158</a> } <strong>else</strong> { +<a name="159" href="#159">159</a> simpleFormat = <strong>new</strong> DefaultZoneDateFormat(simpleFormat); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> df = <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a>(simpleFormat, maximumCacheValidity); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em>/**<em>*</em></em> +<a name="166" href="#166">166</a> <em> * Obtains an instance of pattern converter.</em> +<a name="167" href="#167">167</a> <em> * @param options options, may be null.</em> +<a name="168" href="#168">168</a> <em> * @return instance of pattern converter.</em> +<a name="169" href="#169">169</a> <em> */</em> +<a name="170" href="#170">170</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DatePatternConverter</a> newInstance( +<a name="171" href="#171">171</a> <strong>final</strong> String[] options) { +<a name="172" href="#172">172</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/DatePatternConverter.html">DatePatternConverter</a>(options); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <em>/**<em>*</em></em> +<a name="176" href="#176">176</a> <em> * {@inheritDoc}</em> +<a name="177" href="#177">177</a> <em> */</em> +<a name="178" href="#178">178</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> LoggingEvent event, <strong>final</strong> StringBuffer output) { +<a name="179" href="#179">179</a> <strong>synchronized</strong>(<strong>this</strong>) { +<a name="180" href="#180">180</a> df.format(event.timeStamp, output); +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <em>/**<em>*</em></em> +<a name="185" href="#185">185</a> <em> * {@inheritDoc}</em> +<a name="186" href="#186">186</a> <em> */</em> +<a name="187" href="#187">187</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> Object obj, <strong>final</strong> StringBuffer output) { +<a name="188" href="#188">188</a> <strong>if</strong> (obj instanceof Date) { +<a name="189" href="#189">189</a> format((Date) obj, output); +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> <strong>super</strong>.format(obj, output); +<a name="193" href="#193">193</a> } +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <em>/**<em>*</em></em> +<a name="196" href="#196">196</a> <em> * Append formatted date to string buffer.</em> +<a name="197" href="#197">197</a> <em> * @param date date</em> +<a name="198" href="#198">198</a> <em> * @param toAppendTo buffer to which formatted date is appended.</em> +<a name="199" href="#199">199</a> <em> */</em> +<a name="200" href="#200">200</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> Date date, <strong>final</strong> StringBuffer toAppendTo) { +<a name="201" href="#201">201</a> <strong>synchronized</strong>(<strong>this</strong>) { +<a name="202" href="#202">202</a> df.format(date.getTime(), toAppendTo); +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/FileDatePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/FileDatePatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/FileDatePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/FileDatePatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/FileLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/FileLocationPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/FileLocationPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/FileLocationPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/FormattingInfo.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/FormattingInfo.html new file mode 100644 index 00000000000..b9fd327fae8 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/FormattingInfo.html @@ -0,0 +1,189 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FormattingInfo xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/FormattingInfo.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> +<a name="21" href="#21">21</a> <em>/**<em>*</em></em> +<a name="22" href="#22">22</a> <em> * Modifies the output of a pattern converter for a specified minimum</em> +<a name="23" href="#23">23</a> <em> * and maximum width and alignment.</em> +<a name="24" href="#24">24</a> <em> *</em> +<a name="25" href="#25">25</a> <em> *</em> +<a name="26" href="#26">26</a> <em> * @author &lt;a href=<a href="mailto:jim_cakalic@na.biomerieux.com" target="alexandria_uri">mailto:jim_cakalic@na.biomerieux.com</a>>Jim Cakalic&lt;/a></em> +<a name="27" href="#27">27</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em> * @author Curt Arnold</em> +<a name="29" href="#29">29</a> <em> *</em> +<a name="30" href="#30">30</a> <em> */</em> +<a name="31" href="#31">31</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> { +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * Array of spaces.</em> +<a name="34" href="#34">34</a> <em> */</em> +<a name="35" href="#35">35</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>char</strong>[] SPACES = +<a name="36" href="#36">36</a> <strong>new</strong> <strong>char</strong>[] { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em>/**<em>*</em></em> +<a name="39" href="#39">39</a> <em> * Default instance.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> DEFAULT = +<a name="42" href="#42">42</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>(false, 0, Integer.MAX_VALUE); +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * Minimum length.</em> +<a name="46" href="#46">46</a> <em> */</em> +<a name="47" href="#47">47</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> minLength; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em>/**<em>*</em></em> +<a name="50" href="#50">50</a> <em> * Maximum length.</em> +<a name="51" href="#51">51</a> <em> */</em> +<a name="52" href="#52">52</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> maxLength; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em>/**<em>*</em></em> +<a name="55" href="#55">55</a> <em> * Alignment.</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> leftAlign; +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em>/**<em>*</em></em> +<a name="60" href="#60">60</a> <em> * Right truncation.</em> +<a name="61" href="#61">61</a> <em> * @since 1.2.17</em> +<a name="62" href="#62">62</a> <em> */</em> +<a name="63" href="#63">63</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> rightTruncate; +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <em>/**<em>*</em></em> +<a name="66" href="#66">66</a> <em> * Creates new instance.</em> +<a name="67" href="#67">67</a> <em> * @param leftAlign left align if true.</em> +<a name="68" href="#68">68</a> <em> * @param minLength minimum length.</em> +<a name="69" href="#69">69</a> <em> * @param maxLength maximum length.</em> +<a name="70" href="#70">70</a> <em> * @deprecated since 1.2.17</em> +<a name="71" href="#71">71</a> <em> */</em> +<a name="72" href="#72">72</a> <strong>public</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( +<a name="73" href="#73">73</a> <strong>final</strong> <strong>boolean</strong> leftAlign, +<a name="74" href="#74">74</a> <strong>final</strong> <strong>int</strong> minLength, +<a name="75" href="#75">75</a> <strong>final</strong> <strong>int</strong> maxLength) { +<a name="76" href="#76">76</a> <strong>this</strong>.leftAlign = leftAlign; +<a name="77" href="#77">77</a> <strong>this</strong>.minLength = minLength; +<a name="78" href="#78">78</a> <strong>this</strong>.maxLength = maxLength; +<a name="79" href="#79">79</a> <strong>this</strong>.rightTruncate = false; +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em>/**<em>*</em></em> +<a name="83" href="#83">83</a> <em> * Creates new instance.</em> +<a name="84" href="#84">84</a> <em> * @param leftAlign left align if true.</em> +<a name="85" href="#85">85</a> <em> * @param rightTruncate right truncate if true.</em> +<a name="86" href="#86">86</a> <em> * @param minLength minimum length.</em> +<a name="87" href="#87">87</a> <em> * @param maxLength maximum length.</em> +<a name="88" href="#88">88</a> <em> * @since 1.2.17</em> +<a name="89" href="#89">89</a> <em> */</em> +<a name="90" href="#90">90</a> <strong>public</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( +<a name="91" href="#91">91</a> <strong>final</strong> <strong>boolean</strong> leftAlign, +<a name="92" href="#92">92</a> <strong>final</strong> <strong>boolean</strong> rightTruncate, +<a name="93" href="#93">93</a> <strong>final</strong> <strong>int</strong> minLength, +<a name="94" href="#94">94</a> <strong>final</strong> <strong>int</strong> maxLength) { +<a name="95" href="#95">95</a> <strong>this</strong>.leftAlign = leftAlign; +<a name="96" href="#96">96</a> <strong>this</strong>.minLength = minLength; +<a name="97" href="#97">97</a> <strong>this</strong>.maxLength = maxLength; +<a name="98" href="#98">98</a> <strong>this</strong>.rightTruncate = rightTruncate; +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> +<a name="101" href="#101">101</a> <em>/**<em>*</em></em> +<a name="102" href="#102">102</a> <em> * Gets default instance.</em> +<a name="103" href="#103">103</a> <em> * @return default instance.</em> +<a name="104" href="#104">104</a> <em> */</em> +<a name="105" href="#105">105</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> getDefault() { +<a name="106" href="#106">106</a> <strong>return</strong> DEFAULT; +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em>/**<em>*</em></em> +<a name="110" href="#110">110</a> <em> * Determine if left aligned.</em> +<a name="111" href="#111">111</a> <em> * @return true if left aligned.</em> +<a name="112" href="#112">112</a> <em> */</em> +<a name="113" href="#113">113</a> <strong>public</strong> <strong>boolean</strong> isLeftAligned() { +<a name="114" href="#114">114</a> <strong>return</strong> leftAlign; +<a name="115" href="#115">115</a> } +<a name="116" href="#116">116</a> +<a name="117" href="#117">117</a> <em>/**<em>*</em></em> +<a name="118" href="#118">118</a> <em> * Determine if right truncated.</em> +<a name="119" href="#119">119</a> <em> * @return true if right truncated.</em> +<a name="120" href="#120">120</a> <em> * @since 1.2.17</em> +<a name="121" href="#121">121</a> <em> */</em> +<a name="122" href="#122">122</a> <strong>public</strong> <strong>boolean</strong> isRightTruncated() { +<a name="123" href="#123">123</a> <strong>return</strong> rightTruncate; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em>/**<em>*</em></em> +<a name="127" href="#127">127</a> <em> * Get minimum length.</em> +<a name="128" href="#128">128</a> <em> * @return minimum length.</em> +<a name="129" href="#129">129</a> <em> */</em> +<a name="130" href="#130">130</a> <strong>public</strong> <strong>int</strong> getMinLength() { +<a name="131" href="#131">131</a> <strong>return</strong> minLength; +<a name="132" href="#132">132</a> } +<a name="133" href="#133">133</a> +<a name="134" href="#134">134</a> <em>/**<em>*</em></em> +<a name="135" href="#135">135</a> <em> * Get maximum length.</em> +<a name="136" href="#136">136</a> <em> * @return maximum length.</em> +<a name="137" href="#137">137</a> <em> */</em> +<a name="138" href="#138">138</a> <strong>public</strong> <strong>int</strong> getMaxLength() { +<a name="139" href="#139">139</a> <strong>return</strong> maxLength; +<a name="140" href="#140">140</a> } +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <em>/**<em>*</em></em> +<a name="143" href="#143">143</a> <em> * Adjust the content of the buffer based on the specified lengths and alignment.</em> +<a name="144" href="#144">144</a> <em> *</em> +<a name="145" href="#145">145</a> <em> * @param fieldStart start of field in buffer.</em> +<a name="146" href="#146">146</a> <em> * @param buffer buffer to be modified.</em> +<a name="147" href="#147">147</a> <em> */</em> +<a name="148" href="#148">148</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> <strong>int</strong> fieldStart, <strong>final</strong> StringBuffer buffer) { +<a name="149" href="#149">149</a> <strong>final</strong> <strong>int</strong> rawLength = buffer.length() - fieldStart; +<a name="150" href="#150">150</a> +<a name="151" href="#151">151</a> <strong>if</strong> (rawLength > maxLength) { +<a name="152" href="#152">152</a> <strong>if</strong>(rightTruncate) { +<a name="153" href="#153">153</a> buffer.setLength(fieldStart + maxLength); +<a name="154" href="#154">154</a> } <strong>else</strong> { +<a name="155" href="#155">155</a> buffer.delete(fieldStart, buffer.length() - maxLength); +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> } <strong>else</strong> <strong>if</strong> (rawLength &lt; minLength) { +<a name="158" href="#158">158</a> <strong>if</strong> (leftAlign) { +<a name="159" href="#159">159</a> <strong>final</strong> <strong>int</strong> fieldEnd = buffer.length(); +<a name="160" href="#160">160</a> buffer.setLength(fieldStart + minLength); +<a name="161" href="#161">161</a> +<a name="162" href="#162">162</a> <strong>for</strong> (<strong>int</strong> i = fieldEnd; i &lt; buffer.length(); i++) { +<a name="163" href="#163">163</a> buffer.setCharAt(i, ' '); +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> } <strong>else</strong> { +<a name="166" href="#166">166</a> <strong>int</strong> padLength = minLength - rawLength; +<a name="167" href="#167">167</a> +<a name="168" href="#168">168</a> <strong>for</strong> (; padLength > 8; padLength -= 8) { +<a name="169" href="#169">169</a> buffer.insert(fieldStart, SPACES); +<a name="170" href="#170">170</a> } +<a name="171" href="#171">171</a> +<a name="172" href="#172">172</a> buffer.insert(fieldStart, SPACES, 0, padLength); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/FullLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/FullLocationPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/FullLocationPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/FullLocationPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/IntegerPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/IntegerPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/IntegerPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/IntegerPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LevelPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LevelPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LevelPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LevelPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LineLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LineLocationPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LineLocationPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LineLocationPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LineSeparatorPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LineSeparatorPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LineSeparatorPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LineSeparatorPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LiteralPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LiteralPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LiteralPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LiteralPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LogEvent.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LogEvent.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LogEvent.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LogEvent.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LoggerPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LoggerPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LoggerPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LoggerPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LoggingEventPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LoggingEventPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/LoggingEventPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/LoggingEventPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/MessagePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/MessagePatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/MessagePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/MessagePatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/MethodLocationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/MethodLocationPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/MethodLocationPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/MethodLocationPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/NDCPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/NDCPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/NDCPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/NDCPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/NameAbbreviator.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/NameAbbreviator.html new file mode 100644 index 00000000000..5dc7757f551 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/NameAbbreviator.html @@ -0,0 +1,363 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NameAbbreviator xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/NameAbbreviator.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.util.ArrayList; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.List; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em>/**<em>*</em></em> +<a name="25" href="#25">25</a> <em> * NameAbbreviator generates abbreviated logger and class names.</em> +<a name="26" href="#26">26</a> <em> *</em> +<a name="27" href="#27">27</a> <em> */</em> +<a name="28" href="#28">28</a> <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * Default (no abbreviation) abbreviator.</em> +<a name="31" href="#31">31</a> <em> */</em> +<a name="32" href="#32">32</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> DEFAULT = <strong>new</strong> NOPAbbreviator(); +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em>/**<em>*</em></em> +<a name="35" href="#35">35</a> <em> * Gets an abbreviator.</em> +<a name="36" href="#36">36</a> <em> *</em> +<a name="37" href="#37">37</a> <em> * For example, "%logger{2}" will output only 2 elements of the logger name,</em> +<a name="38" href="#38">38</a> <em> * %logger{-2} will drop 2 elements from the logger name,</em> +<a name="39" href="#39">39</a> <em> * "%logger{1.}" will output only the first character of the non-final elements in the name,</em> +<a name="40" href="#40">40</a> <em> * "%logger(1~.2~} will output the first character of the first element, two characters of</em> +<a name="41" href="#41">41</a> <em> * the second and subsequent elements and will use a tilde to indicate abbreviated characters.</em> +<a name="42" href="#42">42</a> <em> *</em> +<a name="43" href="#43">43</a> <em> * @param pattern abbreviation pattern.</em> +<a name="44" href="#44">44</a> <em> * @return abbreviator, will not be null.</em> +<a name="45" href="#45">45</a> <em> */</em> +<a name="46" href="#46">46</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> getAbbreviator(<strong>final</strong> String pattern) { +<a name="47" href="#47">47</a> <strong>if</strong> (pattern.length() > 0) { +<a name="48" href="#48">48</a> <em class="comment">// if pattern is just spaces and numbers then</em> +<a name="49" href="#49">49</a> <em class="comment">// use MaxElementAbbreviator</em> +<a name="50" href="#50">50</a> String trimmed = pattern.trim(); +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <strong>if</strong> (trimmed.length() == 0) { +<a name="53" href="#53">53</a> <strong>return</strong> DEFAULT; +<a name="54" href="#54">54</a> } +<a name="55" href="#55">55</a> +<a name="56" href="#56">56</a> <strong>int</strong> i = 0; +<a name="57" href="#57">57</a> <strong>if</strong> (trimmed.length() > 0) { +<a name="58" href="#58">58</a> <strong>if</strong> (trimmed.charAt(0) == '-') { +<a name="59" href="#59">59</a> i++; +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> <strong>for</strong> (; +<a name="62" href="#62">62</a> (i &lt; trimmed.length()) &amp;&amp; +<a name="63" href="#63">63</a> (trimmed.charAt(i) >= '0') &amp;&amp; +<a name="64" href="#64">64</a> (trimmed.charAt(i) &lt;= '9'); +<a name="65" href="#65">65</a> i++) { +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em class="comment">//</em> +<a name="71" href="#71">71</a> <em class="comment">// if all blanks and digits</em> +<a name="72" href="#72">72</a> <em class="comment">//</em> +<a name="73" href="#73">73</a> <strong>if</strong> (i == trimmed.length()) { +<a name="74" href="#74">74</a> <strong>int</strong> elements = Integer.parseInt(trimmed); +<a name="75" href="#75">75</a> <strong>if</strong> (elements >= 0) { +<a name="76" href="#76">76</a> <strong>return</strong> <strong>new</strong> MaxElementAbbreviator(elements); +<a name="77" href="#77">77</a> } <strong>else</strong> { +<a name="78" href="#78">78</a> <strong>return</strong> <strong>new</strong> DropElementAbbreviator(-elements); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> ArrayList fragments = <strong>new</strong> ArrayList(5); +<a name="83" href="#83">83</a> <strong>char</strong> ellipsis; +<a name="84" href="#84">84</a> <strong>int</strong> charCount; +<a name="85" href="#85">85</a> <strong>int</strong> pos = 0; +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <strong>while</strong> ((pos &lt; trimmed.length()) &amp;&amp; (pos >= 0)) { +<a name="88" href="#88">88</a> <strong>int</strong> ellipsisPos = pos; +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong>if</strong> (trimmed.charAt(pos) == '*') { +<a name="91" href="#91">91</a> charCount = Integer.MAX_VALUE; +<a name="92" href="#92">92</a> ellipsisPos++; +<a name="93" href="#93">93</a> } <strong>else</strong> { +<a name="94" href="#94">94</a> <strong>if</strong> ((trimmed.charAt(pos) >= '0') &amp;&amp; (trimmed.charAt(pos) &lt;= '9')) { +<a name="95" href="#95">95</a> charCount = trimmed.charAt(pos) - '0'; +<a name="96" href="#96">96</a> ellipsisPos++; +<a name="97" href="#97">97</a> } <strong>else</strong> { +<a name="98" href="#98">98</a> charCount = 0; +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> ellipsis = '\0'; +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <strong>if</strong> (ellipsisPos &lt; trimmed.length()) { +<a name="105" href="#105">105</a> ellipsis = trimmed.charAt(ellipsisPos); +<a name="106" href="#106">106</a> +<a name="107" href="#107">107</a> <strong>if</strong> (ellipsis == '.') { +<a name="108" href="#108">108</a> ellipsis = '\0'; +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> +<a name="112" href="#112">112</a> fragments.add(<strong>new</strong> PatternAbbreviatorFragment(charCount, ellipsis)); +<a name="113" href="#113">113</a> pos = trimmed.indexOf(<span class="string">"."</span>, pos); +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <strong>if</strong> (pos == -1) { +<a name="116" href="#116">116</a> <strong>break</strong>; +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> pos++; +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> +<a name="122" href="#122">122</a> <strong>return</strong> <strong>new</strong> PatternAbbreviator(fragments); +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em class="comment">//</em> +<a name="126" href="#126">126</a> <em class="comment">// no matching abbreviation, return defaultAbbreviator</em> +<a name="127" href="#127">127</a> <em class="comment">//</em> +<a name="128" href="#128">128</a> <strong>return</strong> DEFAULT; +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <em>/**<em>*</em></em> +<a name="132" href="#132">132</a> <em> * Gets default abbreviator.</em> +<a name="133" href="#133">133</a> <em> *</em> +<a name="134" href="#134">134</a> <em> * @return default abbreviator.</em> +<a name="135" href="#135">135</a> <em> */</em> +<a name="136" href="#136">136</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> getDefaultAbbreviator() { +<a name="137" href="#137">137</a> <strong>return</strong> DEFAULT; +<a name="138" href="#138">138</a> } +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <em>/**<em>*</em></em> +<a name="141" href="#141">141</a> <em> * Abbreviates a name in a StringBuffer.</em> +<a name="142" href="#142">142</a> <em> *</em> +<a name="143" href="#143">143</a> <em> * @param nameStart starting position of name in buf.</em> +<a name="144" href="#144">144</a> <em> * @param buf buffer, may not be null.</em> +<a name="145" href="#145">145</a> <em> */</em> +<a name="146" href="#146">146</a> <strong>public</strong> <strong>abstract</strong> <strong>void</strong> abbreviate(<strong>final</strong> <strong>int</strong> nameStart, <strong>final</strong> StringBuffer buf); +<a name="147" href="#147">147</a> +<a name="148" href="#148">148</a> <em>/**<em>*</em></em> +<a name="149" href="#149">149</a> <em> * Abbreviator that simply appends full name to buffer.</em> +<a name="150" href="#150">150</a> <em> */</em> +<a name="151" href="#151">151</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> NOPAbbreviator <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { +<a name="152" href="#152">152</a> <em>/**<em>*</em></em> +<a name="153" href="#153">153</a> <em> * Constructor.</em> +<a name="154" href="#154">154</a> <em> */</em> +<a name="155" href="#155">155</a> <strong>public</strong> NOPAbbreviator() { +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> +<a name="158" href="#158">158</a> <em>/**<em>*</em></em> +<a name="159" href="#159">159</a> <em> * {@inheritDoc}</em> +<a name="160" href="#160">160</a> <em> */</em> +<a name="161" href="#161">161</a> <strong>public</strong> <strong>void</strong> abbreviate(<strong>final</strong> <strong>int</strong> nameStart, <strong>final</strong> StringBuffer buf) { +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em>/**<em>*</em></em> +<a name="166" href="#166">166</a> <em> * Abbreviator that drops starting path elements.</em> +<a name="167" href="#167">167</a> <em> */</em> +<a name="168" href="#168">168</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> MaxElementAbbreviator <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { +<a name="169" href="#169">169</a> <em>/**<em>*</em></em> +<a name="170" href="#170">170</a> <em> * Maximum number of path elements to output.</em> +<a name="171" href="#171">171</a> <em> */</em> +<a name="172" href="#172">172</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> count; +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> <em>/**<em>*</em></em> +<a name="175" href="#175">175</a> <em> * Create new instance.</em> +<a name="176" href="#176">176</a> <em> * @param count maximum number of path elements to output.</em> +<a name="177" href="#177">177</a> <em> */</em> +<a name="178" href="#178">178</a> <strong>public</strong> MaxElementAbbreviator(<strong>final</strong> <strong>int</strong> count) { +<a name="179" href="#179">179</a> <strong>this</strong>.count = count; +<a name="180" href="#180">180</a> } +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> <em>/**<em>*</em></em> +<a name="183" href="#183">183</a> <em> * Abbreviate name.</em> +<a name="184" href="#184">184</a> <em> * @param buf buffer to append abbreviation.</em> +<a name="185" href="#185">185</a> <em> * @param nameStart start of name to abbreviate.</em> +<a name="186" href="#186">186</a> <em> */</em> +<a name="187" href="#187">187</a> <strong>public</strong> <strong>void</strong> abbreviate(<strong>final</strong> <strong>int</strong> nameStart, <strong>final</strong> StringBuffer buf) { +<a name="188" href="#188">188</a> <em class="comment">// We substract 1 from 'len' when assigning to 'end' to avoid out of</em> +<a name="189" href="#189">189</a> <em class="comment">// bounds exception in return r.substring(end+1, len). This can happen if</em> +<a name="190" href="#190">190</a> <em class="comment">// precision is 1 and the category name ends with a dot.</em> +<a name="191" href="#191">191</a> <strong>int</strong> end = buf.length() - 1; +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> String bufString = buf.toString(); +<a name="194" href="#194">194</a> <strong>for</strong> (<strong>int</strong> i = count; i > 0; i--) { +<a name="195" href="#195">195</a> end = bufString.lastIndexOf(<span class="string">"."</span>, end - 1); +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <strong>if</strong> ((end == -1) || (end &lt; nameStart)) { +<a name="198" href="#198">198</a> <strong>return</strong>; +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> buf.delete(nameStart, end + 1); +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> } +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> <em>/**<em>*</em></em> +<a name="207" href="#207">207</a> <em> * Abbreviator that drops starting path elements.</em> +<a name="208" href="#208">208</a> <em> */</em> +<a name="209" href="#209">209</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> DropElementAbbreviator <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { +<a name="210" href="#210">210</a> <em>/**<em>*</em></em> +<a name="211" href="#211">211</a> <em> * Maximum number of path elements to output.</em> +<a name="212" href="#212">212</a> <em> */</em> +<a name="213" href="#213">213</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> count; +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em>/**<em>*</em></em> +<a name="216" href="#216">216</a> <em> * Create new instance.</em> +<a name="217" href="#217">217</a> <em> * @param count maximum number of path elements to output.</em> +<a name="218" href="#218">218</a> <em> */</em> +<a name="219" href="#219">219</a> <strong>public</strong> DropElementAbbreviator(<strong>final</strong> <strong>int</strong> count) { +<a name="220" href="#220">220</a> <strong>this</strong>.count = count; +<a name="221" href="#221">221</a> } +<a name="222" href="#222">222</a> +<a name="223" href="#223">223</a> <em>/**<em>*</em></em> +<a name="224" href="#224">224</a> <em> * Abbreviate name.</em> +<a name="225" href="#225">225</a> <em> * @param buf buffer to append abbreviation.</em> +<a name="226" href="#226">226</a> <em> * @param nameStart start of name to abbreviate.</em> +<a name="227" href="#227">227</a> <em> */</em> +<a name="228" href="#228">228</a> <strong>public</strong> <strong>void</strong> abbreviate(<strong>final</strong> <strong>int</strong> nameStart, <strong>final</strong> StringBuffer buf) { +<a name="229" href="#229">229</a> <strong>int</strong> i = count; +<a name="230" href="#230">230</a> <strong>for</strong>(<strong>int</strong> pos = buf.indexOf(<span class="string">"."</span>, nameStart); +<a name="231" href="#231">231</a> pos != -1; +<a name="232" href="#232">232</a> pos = buf.indexOf(<span class="string">"."</span>, pos + 1)) { +<a name="233" href="#233">233</a> <strong>if</strong>(--i == 0) { +<a name="234" href="#234">234</a> buf.delete(nameStart, pos + 1); +<a name="235" href="#235">235</a> <strong>break</strong>; +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> } +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> } +<a name="240" href="#240">240</a> +<a name="241" href="#241">241</a> +<a name="242" href="#242">242</a> <em>/**<em>*</em></em> +<a name="243" href="#243">243</a> <em> * Fragment of an pattern abbreviator.</em> +<a name="244" href="#244">244</a> <em> *</em> +<a name="245" href="#245">245</a> <em> */</em> +<a name="246" href="#246">246</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> PatternAbbreviatorFragment { +<a name="247" href="#247">247</a> <em>/**<em>*</em></em> +<a name="248" href="#248">248</a> <em> * Count of initial characters of element to output.</em> +<a name="249" href="#249">249</a> <em> */</em> +<a name="250" href="#250">250</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> charCount; +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <em>/**<em>*</em></em> +<a name="253" href="#253">253</a> <em> * Character used to represent dropped characters.</em> +<a name="254" href="#254">254</a> <em> * '\0' indicates no representation of dropped characters.</em> +<a name="255" href="#255">255</a> <em> */</em> +<a name="256" href="#256">256</a> <strong>private</strong> <strong>final</strong> <strong>char</strong> ellipsis; +<a name="257" href="#257">257</a> +<a name="258" href="#258">258</a> <em>/**<em>*</em></em> +<a name="259" href="#259">259</a> <em> * Creates a PatternAbbreviatorFragment.</em> +<a name="260" href="#260">260</a> <em> * @param charCount number of initial characters to preserve.</em> +<a name="261" href="#261">261</a> <em> * @param ellipsis character to represent elimination of characters,</em> +<a name="262" href="#262">262</a> <em> * '\0' if no ellipsis is desired.</em> +<a name="263" href="#263">263</a> <em> */</em> +<a name="264" href="#264">264</a> <strong>public</strong> PatternAbbreviatorFragment( +<a name="265" href="#265">265</a> <strong>final</strong> <strong>int</strong> <strong>char</strong>Count, <strong>final</strong> <strong>char</strong> ellipsis) { +<a name="266" href="#266">266</a> <strong>this</strong>.charCount = charCount; +<a name="267" href="#267">267</a> <strong>this</strong>.ellipsis = ellipsis; +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> <em>/**<em>*</em></em> +<a name="271" href="#271">271</a> <em> * Abbreviate element of name.</em> +<a name="272" href="#272">272</a> <em> * @param buf buffer to receive element.</em> +<a name="273" href="#273">273</a> <em> * @param startPos starting index of name element.</em> +<a name="274" href="#274">274</a> <em> * @return starting index of next element.</em> +<a name="275" href="#275">275</a> <em> */</em> +<a name="276" href="#276">276</a> <strong>public</strong> <strong>int</strong> abbreviate(<strong>final</strong> StringBuffer buf, <strong>final</strong> <strong>int</strong> startPos) { +<a name="277" href="#277">277</a> <strong>int</strong> nextDot = buf.toString().indexOf(<span class="string">"."</span>, startPos); +<a name="278" href="#278">278</a> +<a name="279" href="#279">279</a> <strong>if</strong> (nextDot != -1) { +<a name="280" href="#280">280</a> <strong>if</strong> ((nextDot - startPos) > charCount) { +<a name="281" href="#281">281</a> buf.delete(startPos + charCount, nextDot); +<a name="282" href="#282">282</a> nextDot = startPos + charCount; +<a name="283" href="#283">283</a> +<a name="284" href="#284">284</a> <strong>if</strong> (ellipsis != '\0') { +<a name="285" href="#285">285</a> buf.insert(nextDot, ellipsis); +<a name="286" href="#286">286</a> nextDot++; +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> } +<a name="289" href="#289">289</a> +<a name="290" href="#290">290</a> nextDot++; +<a name="291" href="#291">291</a> } +<a name="292" href="#292">292</a> +<a name="293" href="#293">293</a> <strong>return</strong> nextDot; +<a name="294" href="#294">294</a> } +<a name="295" href="#295">295</a> } +<a name="296" href="#296">296</a> +<a name="297" href="#297">297</a> <em>/**<em>*</em></em> +<a name="298" href="#298">298</a> <em> * Pattern abbreviator.</em> +<a name="299" href="#299">299</a> <em> *</em> +<a name="300" href="#300">300</a> <em> *</em> +<a name="301" href="#301">301</a> <em> */</em> +<a name="302" href="#302">302</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> PatternAbbreviator <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/NameAbbreviator.html">NameAbbreviator</a> { +<a name="303" href="#303">303</a> <em>/**<em>*</em></em> +<a name="304" href="#304">304</a> <em> * Element abbreviation patterns.</em> +<a name="305" href="#305">305</a> <em> */</em> +<a name="306" href="#306">306</a> <strong>private</strong> <strong>final</strong> PatternAbbreviatorFragment[] fragments; +<a name="307" href="#307">307</a> +<a name="308" href="#308">308</a> <em>/**<em>*</em></em> +<a name="309" href="#309">309</a> <em> * Create PatternAbbreviator.</em> +<a name="310" href="#310">310</a> <em> *</em> +<a name="311" href="#311">311</a> <em> * @param fragments element abbreviation patterns.</em> +<a name="312" href="#312">312</a> <em> */</em> +<a name="313" href="#313">313</a> <strong>public</strong> PatternAbbreviator(List fragments) { +<a name="314" href="#314">314</a> <strong>if</strong> (fragments.size() == 0) { +<a name="315" href="#315">315</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="316" href="#316">316</a> <span class="string">"fragments must have at least one element"</span>); +<a name="317" href="#317">317</a> } +<a name="318" href="#318">318</a> +<a name="319" href="#319">319</a> <strong>this</strong>.fragments = <strong>new</strong> PatternAbbreviatorFragment[fragments.size()]; +<a name="320" href="#320">320</a> fragments.toArray(<strong>this</strong>.fragments); +<a name="321" href="#321">321</a> } +<a name="322" href="#322">322</a> +<a name="323" href="#323">323</a> <em>/**<em>*</em></em> +<a name="324" href="#324">324</a> <em> * Abbreviate name.</em> +<a name="325" href="#325">325</a> <em> * @param buf buffer that abbreviated name is appended.</em> +<a name="326" href="#326">326</a> <em> * @param nameStart start of name.</em> +<a name="327" href="#327">327</a> <em> */</em> +<a name="328" href="#328">328</a> <strong>public</strong> <strong>void</strong> abbreviate(<strong>final</strong> <strong>int</strong> nameStart, <strong>final</strong> StringBuffer buf) { +<a name="329" href="#329">329</a> <em class="comment">//</em> +<a name="330" href="#330">330</a> <em class="comment">// all non-terminal patterns are executed once</em> +<a name="331" href="#331">331</a> <em class="comment">//</em> +<a name="332" href="#332">332</a> <strong>int</strong> pos = nameStart; +<a name="333" href="#333">333</a> +<a name="334" href="#334">334</a> <strong>for</strong> (<strong>int</strong> i = 0; (i &lt; (fragments.length - 1)) &amp;&amp; (pos &lt; buf.length()); +<a name="335" href="#335">335</a> i++) { +<a name="336" href="#336">336</a> pos = fragments[i].abbreviate(buf, pos); +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> +<a name="339" href="#339">339</a> <em class="comment">//</em> +<a name="340" href="#340">340</a> <em class="comment">// last pattern in executed repeatedly</em> +<a name="341" href="#341">341</a> <em class="comment">//</em> +<a name="342" href="#342">342</a> PatternAbbreviatorFragment terminalFragment = +<a name="343" href="#343">343</a> fragments[fragments.length - 1]; +<a name="344" href="#344">344</a> +<a name="345" href="#345">345</a> <strong>while</strong> ((pos &lt; buf.length()) &amp;&amp; (pos >= 0)) { +<a name="346" href="#346">346</a> pos = terminalFragment.abbreviate(buf, pos); +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> } +<a name="350" href="#350">350</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/NamePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/NamePatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/NamePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/NamePatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/PatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/PatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/PatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/PatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/PatternParser.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/PatternParser.html similarity index 60% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/PatternParser.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/PatternParser.html index 5cf1bddd1bd..f85876df232 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/PatternParser.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/PatternParser.html @@ -313,383 +313,401 @@ <a name="304" href="#304">304</a> <strong>case</strong> '-': <a name="305" href="#305">305</a> formattingInfo = <a name="306" href="#306">306</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( -<a name="307" href="#307">307</a> <strong>true</strong>, formattingInfo.getMinLength(), -<a name="308" href="#308">308</a> formattingInfo.getMaxLength()); -<a name="309" href="#309">309</a> -<a name="310" href="#310">310</a> <strong>break</strong>; -<a name="311" href="#311">311</a> -<a name="312" href="#312">312</a> <strong>case</strong> '.': -<a name="313" href="#313">313</a> state = DOT_STATE; -<a name="314" href="#314">314</a> -<a name="315" href="#315">315</a> <strong>break</strong>; -<a name="316" href="#316">316</a> -<a name="317" href="#317">317</a> <strong>default</strong>: -<a name="318" href="#318">318</a> -<a name="319" href="#319">319</a> <strong>if</strong> ((c >= '0') &amp;&amp; (c &lt;= '9')) { -<a name="320" href="#320">320</a> formattingInfo = -<a name="321" href="#321">321</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( -<a name="322" href="#322">322</a> formattingInfo.isLeftAligned(), c - '0', -<a name="323" href="#323">323</a> formattingInfo.getMaxLength()); -<a name="324" href="#324">324</a> state = MIN_STATE; -<a name="325" href="#325">325</a> } <strong>else</strong> { -<a name="326" href="#326">326</a> i = finalizeConverter( -<a name="327" href="#327">327</a> c, pattern, i, currentLiteral, formattingInfo, -<a name="328" href="#328">328</a> converterRegistry, rules, patternConverters, formattingInfos); +<a name="307" href="#307">307</a> <strong>true</strong>, +<a name="308" href="#308">308</a> formattingInfo.isRightTruncated(), +<a name="309" href="#309">309</a> formattingInfo.getMinLength(), +<a name="310" href="#310">310</a> formattingInfo.getMaxLength()); +<a name="311" href="#311">311</a> <strong>break</strong>; +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> <strong>case</strong> '!': +<a name="314" href="#314">314</a> formattingInfo = +<a name="315" href="#315">315</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( +<a name="316" href="#316">316</a> formattingInfo.isLeftAligned(), +<a name="317" href="#317">317</a> <strong>true</strong>, +<a name="318" href="#318">318</a> formattingInfo.getMinLength(), +<a name="319" href="#319">319</a> formattingInfo.getMaxLength()); +<a name="320" href="#320">320</a> <strong>break</strong>; +<a name="321" href="#321">321</a> +<a name="322" href="#322">322</a> +<a name="323" href="#323">323</a> <strong>case</strong> '.': +<a name="324" href="#324">324</a> state = DOT_STATE; +<a name="325" href="#325">325</a> +<a name="326" href="#326">326</a> <strong>break</strong>; +<a name="327" href="#327">327</a> +<a name="328" href="#328">328</a> <strong>default</strong>: <a name="329" href="#329">329</a> -<a name="330" href="#330">330</a> <em class="comment">// Next pattern is assumed to be a literal.</em> -<a name="331" href="#331">331</a> state = LITERAL_STATE; -<a name="332" href="#332">332</a> formattingInfo = FormattingInfo.getDefault(); -<a name="333" href="#333">333</a> currentLiteral.setLength(0); -<a name="334" href="#334">334</a> } -<a name="335" href="#335">335</a> } <em class="comment">// switch</em> -<a name="336" href="#336">336</a> -<a name="337" href="#337">337</a> <strong>break</strong>; -<a name="338" href="#338">338</a> -<a name="339" href="#339">339</a> <strong>case</strong> MIN_STATE: -<a name="340" href="#340">340</a> currentLiteral.append(c); -<a name="341" href="#341">341</a> -<a name="342" href="#342">342</a> <strong>if</strong> ((c >= '0') &amp;&amp; (c &lt;= '9')) { -<a name="343" href="#343">343</a> formattingInfo = -<a name="344" href="#344">344</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( -<a name="345" href="#345">345</a> formattingInfo.isLeftAligned(), -<a name="346" href="#346">346</a> (formattingInfo.getMinLength() * 10) + (c - '0'), -<a name="347" href="#347">347</a> formattingInfo.getMaxLength()); -<a name="348" href="#348">348</a> } <strong>else</strong> <strong>if</strong> (c == '.') { -<a name="349" href="#349">349</a> state = DOT_STATE; -<a name="350" href="#350">350</a> } <strong>else</strong> { -<a name="351" href="#351">351</a> i = finalizeConverter( -<a name="352" href="#352">352</a> c, pattern, i, currentLiteral, formattingInfo, -<a name="353" href="#353">353</a> converterRegistry, rules, patternConverters, formattingInfos); -<a name="354" href="#354">354</a> state = LITERAL_STATE; -<a name="355" href="#355">355</a> formattingInfo = FormattingInfo.getDefault(); -<a name="356" href="#356">356</a> currentLiteral.setLength(0); -<a name="357" href="#357">357</a> } -<a name="358" href="#358">358</a> -<a name="359" href="#359">359</a> <strong>break</strong>; -<a name="360" href="#360">360</a> -<a name="361" href="#361">361</a> <strong>case</strong> DOT_STATE: -<a name="362" href="#362">362</a> currentLiteral.append(c); -<a name="363" href="#363">363</a> -<a name="364" href="#364">364</a> <strong>if</strong> ((c >= '0') &amp;&amp; (c &lt;= '9')) { -<a name="365" href="#365">365</a> formattingInfo = -<a name="366" href="#366">366</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( -<a name="367" href="#367">367</a> formattingInfo.isLeftAligned(), formattingInfo.getMinLength(), -<a name="368" href="#368">368</a> c - '0'); -<a name="369" href="#369">369</a> state = MAX_STATE; -<a name="370" href="#370">370</a> } <strong>else</strong> { -<a name="371" href="#371">371</a> LogLog.error( -<a name="372" href="#372">372</a> <span class="string">"Error occured in position "</span> + i -<a name="373" href="#373">373</a> + <span class="string">".\n Was expecting digit, instead got char \&quot;"</span> + c + <span class="string">"\&quot;."</span>); +<a name="330" href="#330">330</a> <strong>if</strong> ((c >= '0') &amp;&amp; (c &lt;= '9')) { +<a name="331" href="#331">331</a> formattingInfo = +<a name="332" href="#332">332</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( +<a name="333" href="#333">333</a> formattingInfo.isLeftAligned(), +<a name="334" href="#334">334</a> formattingInfo.isRightTruncated(), +<a name="335" href="#335">335</a> c - '0', +<a name="336" href="#336">336</a> formattingInfo.getMaxLength()); +<a name="337" href="#337">337</a> state = MIN_STATE; +<a name="338" href="#338">338</a> } <strong>else</strong> { +<a name="339" href="#339">339</a> i = finalizeConverter( +<a name="340" href="#340">340</a> c, pattern, i, currentLiteral, formattingInfo, +<a name="341" href="#341">341</a> converterRegistry, rules, patternConverters, formattingInfos); +<a name="342" href="#342">342</a> +<a name="343" href="#343">343</a> <em class="comment">// Next pattern is assumed to be a literal.</em> +<a name="344" href="#344">344</a> state = LITERAL_STATE; +<a name="345" href="#345">345</a> formattingInfo = FormattingInfo.getDefault(); +<a name="346" href="#346">346</a> currentLiteral.setLength(0); +<a name="347" href="#347">347</a> } +<a name="348" href="#348">348</a> } <em class="comment">// switch</em> +<a name="349" href="#349">349</a> +<a name="350" href="#350">350</a> <strong>break</strong>; +<a name="351" href="#351">351</a> +<a name="352" href="#352">352</a> <strong>case</strong> MIN_STATE: +<a name="353" href="#353">353</a> currentLiteral.append(c); +<a name="354" href="#354">354</a> +<a name="355" href="#355">355</a> <strong>if</strong> ((c >= '0') &amp;&amp; (c &lt;= '9')) { +<a name="356" href="#356">356</a> formattingInfo = +<a name="357" href="#357">357</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( +<a name="358" href="#358">358</a> formattingInfo.isLeftAligned(), +<a name="359" href="#359">359</a> formattingInfo.isRightTruncated(), +<a name="360" href="#360">360</a> (formattingInfo.getMinLength() * 10) + (c - '0'), +<a name="361" href="#361">361</a> formattingInfo.getMaxLength()); +<a name="362" href="#362">362</a> } <strong>else</strong> <strong>if</strong> (c == '.') { +<a name="363" href="#363">363</a> state = DOT_STATE; +<a name="364" href="#364">364</a> } <strong>else</strong> { +<a name="365" href="#365">365</a> i = finalizeConverter( +<a name="366" href="#366">366</a> c, pattern, i, currentLiteral, formattingInfo, +<a name="367" href="#367">367</a> converterRegistry, rules, patternConverters, formattingInfos); +<a name="368" href="#368">368</a> state = LITERAL_STATE; +<a name="369" href="#369">369</a> formattingInfo = FormattingInfo.getDefault(); +<a name="370" href="#370">370</a> currentLiteral.setLength(0); +<a name="371" href="#371">371</a> } +<a name="372" href="#372">372</a> +<a name="373" href="#373">373</a> <strong>break</strong>; <a name="374" href="#374">374</a> -<a name="375" href="#375">375</a> state = LITERAL_STATE; -<a name="376" href="#376">376</a> } +<a name="375" href="#375">375</a> <strong>case</strong> DOT_STATE: +<a name="376" href="#376">376</a> currentLiteral.append(c); <a name="377" href="#377">377</a> -<a name="378" href="#378">378</a> <strong>break</strong>; -<a name="379" href="#379">379</a> -<a name="380" href="#380">380</a> <strong>case</strong> MAX_STATE: -<a name="381" href="#381">381</a> currentLiteral.append(c); -<a name="382" href="#382">382</a> -<a name="383" href="#383">383</a> <strong>if</strong> ((c >= '0') &amp;&amp; (c &lt;= '9')) { -<a name="384" href="#384">384</a> formattingInfo = -<a name="385" href="#385">385</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( -<a name="386" href="#386">386</a> formattingInfo.isLeftAligned(), formattingInfo.getMinLength(), -<a name="387" href="#387">387</a> (formattingInfo.getMaxLength() * 10) + (c - '0')); -<a name="388" href="#388">388</a> } <strong>else</strong> { -<a name="389" href="#389">389</a> i = finalizeConverter( -<a name="390" href="#390">390</a> c, pattern, i, currentLiteral, formattingInfo, -<a name="391" href="#391">391</a> converterRegistry, rules, patternConverters, formattingInfos); -<a name="392" href="#392">392</a> state = LITERAL_STATE; -<a name="393" href="#393">393</a> formattingInfo = FormattingInfo.getDefault(); -<a name="394" href="#394">394</a> currentLiteral.setLength(0); -<a name="395" href="#395">395</a> } -<a name="396" href="#396">396</a> -<a name="397" href="#397">397</a> <strong>break</strong>; -<a name="398" href="#398">398</a> } <em class="comment">// switch</em> -<a name="399" href="#399">399</a> } -<a name="400" href="#400">400</a> -<a name="401" href="#401">401</a> <em class="comment">// while</em> -<a name="402" href="#402">402</a> <strong>if</strong> (currentLiteral.length() != 0) { -<a name="403" href="#403">403</a> patternConverters.add( -<a name="404" href="#404">404</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html">LiteralPatternConverter</a>(currentLiteral.toString())); -<a name="405" href="#405">405</a> formattingInfos.add(FormattingInfo.getDefault()); -<a name="406" href="#406">406</a> } -<a name="407" href="#407">407</a> } -<a name="408" href="#408">408</a> -<a name="409" href="#409">409</a> <em>/**<em>*</em></em> -<a name="410" href="#410">410</a> <em> * Creates a new PatternConverter.</em> -<a name="411" href="#411">411</a> <em> *</em> -<a name="412" href="#412">412</a> <em> *</em> -<a name="413" href="#413">413</a> <em> * @param converterId converterId.</em> -<a name="414" href="#414">414</a> <em> * @param currentLiteral literal to be used if converter is unrecognized or following converter</em> -<a name="415" href="#415">415</a> <em> * if converterId contains extra characters.</em> -<a name="416" href="#416">416</a> <em> * @param converterRegistry map of user-supported pattern converters keyed by format specifier, may be null.</em> -<a name="417" href="#417">417</a> <em> * @param rules map of stock pattern converters keyed by format specifier.</em> -<a name="418" href="#418">418</a> <em> * @param options converter options.</em> -<a name="419" href="#419">419</a> <em> * @return converter or null.</em> -<a name="420" href="#420">420</a> <em> */</em> -<a name="421" href="#421">421</a> <strong>private</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> createConverter( -<a name="422" href="#422">422</a> <strong>final</strong> String converterId, <strong>final</strong> StringBuffer currentLiteral, -<a name="423" href="#423">423</a> <strong>final</strong> Map converterRegistry, <strong>final</strong> Map rules, <strong>final</strong> List options) { -<a name="424" href="#424">424</a> String converterName = converterId; -<a name="425" href="#425">425</a> Object converterObj = <strong>null</strong>; +<a name="378" href="#378">378</a> <strong>if</strong> ((c >= '0') &amp;&amp; (c &lt;= '9')) { +<a name="379" href="#379">379</a> formattingInfo = +<a name="380" href="#380">380</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( +<a name="381" href="#381">381</a> formattingInfo.isLeftAligned(), +<a name="382" href="#382">382</a> formattingInfo.isRightTruncated(), +<a name="383" href="#383">383</a> formattingInfo.getMinLength(), +<a name="384" href="#384">384</a> c - '0'); +<a name="385" href="#385">385</a> state = MAX_STATE; +<a name="386" href="#386">386</a> } <strong>else</strong> { +<a name="387" href="#387">387</a> LogLog.error( +<a name="388" href="#388">388</a> <span class="string">"Error occured in position "</span> + i +<a name="389" href="#389">389</a> + <span class="string">".\n Was expecting digit, instead got char \&quot;"</span> + c + <span class="string">"\&quot;."</span>); +<a name="390" href="#390">390</a> +<a name="391" href="#391">391</a> state = LITERAL_STATE; +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> <strong>break</strong>; +<a name="395" href="#395">395</a> +<a name="396" href="#396">396</a> <strong>case</strong> MAX_STATE: +<a name="397" href="#397">397</a> currentLiteral.append(c); +<a name="398" href="#398">398</a> +<a name="399" href="#399">399</a> <strong>if</strong> ((c >= '0') &amp;&amp; (c &lt;= '9')) { +<a name="400" href="#400">400</a> formattingInfo = +<a name="401" href="#401">401</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>( +<a name="402" href="#402">402</a> formattingInfo.isLeftAligned(), +<a name="403" href="#403">403</a> formattingInfo.isRightTruncated(), +<a name="404" href="#404">404</a> formattingInfo.getMinLength(), +<a name="405" href="#405">405</a> (formattingInfo.getMaxLength() * 10) + (c - '0')); +<a name="406" href="#406">406</a> } <strong>else</strong> { +<a name="407" href="#407">407</a> i = finalizeConverter( +<a name="408" href="#408">408</a> c, pattern, i, currentLiteral, formattingInfo, +<a name="409" href="#409">409</a> converterRegistry, rules, patternConverters, formattingInfos); +<a name="410" href="#410">410</a> state = LITERAL_STATE; +<a name="411" href="#411">411</a> formattingInfo = FormattingInfo.getDefault(); +<a name="412" href="#412">412</a> currentLiteral.setLength(0); +<a name="413" href="#413">413</a> } +<a name="414" href="#414">414</a> +<a name="415" href="#415">415</a> <strong>break</strong>; +<a name="416" href="#416">416</a> } <em class="comment">// switch</em> +<a name="417" href="#417">417</a> } +<a name="418" href="#418">418</a> +<a name="419" href="#419">419</a> <em class="comment">// while</em> +<a name="420" href="#420">420</a> <strong>if</strong> (currentLiteral.length() != 0) { +<a name="421" href="#421">421</a> patternConverters.add( +<a name="422" href="#422">422</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html">LiteralPatternConverter</a>(currentLiteral.toString())); +<a name="423" href="#423">423</a> formattingInfos.add(FormattingInfo.getDefault()); +<a name="424" href="#424">424</a> } +<a name="425" href="#425">425</a> } <a name="426" href="#426">426</a> -<a name="427" href="#427">427</a> <strong>for</strong> (<strong>int</strong> i = converterId.length(); (i > 0) &amp;&amp; (converterObj == <strong>null</strong>); -<a name="428" href="#428">428</a> i--) { -<a name="429" href="#429">429</a> converterName = converterName.substring(0, i); -<a name="430" href="#430">430</a> -<a name="431" href="#431">431</a> <strong>if</strong> (converterRegistry != <strong>null</strong>) { -<a name="432" href="#432">432</a> converterObj = converterRegistry.get(converterName); -<a name="433" href="#433">433</a> } -<a name="434" href="#434">434</a> -<a name="435" href="#435">435</a> <strong>if</strong> ((converterObj == <strong>null</strong>) &amp;&amp; (rules != <strong>null</strong>)) { -<a name="436" href="#436">436</a> converterObj = rules.get(converterName); -<a name="437" href="#437">437</a> } -<a name="438" href="#438">438</a> } -<a name="439" href="#439">439</a> -<a name="440" href="#440">440</a> <strong>if</strong> (converterObj == <strong>null</strong>) { -<a name="441" href="#441">441</a> LogLog.error(<span class="string">"Unrecognized format specifier ["</span> + converterId + <span class="string">"]"</span>); -<a name="442" href="#442">442</a> -<a name="443" href="#443">443</a> <strong>return</strong> <strong>null</strong>; -<a name="444" href="#444">444</a> } -<a name="445" href="#445">445</a> -<a name="446" href="#446">446</a> Class converterClass = <strong>null</strong>; -<a name="447" href="#447">447</a> -<a name="448" href="#448">448</a> <strong>if</strong> (converterObj instanceof Class) { -<a name="449" href="#449">449</a> converterClass = (Class) converterObj; -<a name="450" href="#450">450</a> } <strong>else</strong> { -<a name="451" href="#451">451</a> <strong>if</strong> (converterObj instanceof String) { -<a name="452" href="#452">452</a> <strong>try</strong> { -<a name="453" href="#453">453</a> converterClass = Loader.loadClass((String) converterObj); -<a name="454" href="#454">454</a> } <strong>catch</strong> (ClassNotFoundException ex) { -<a name="455" href="#455">455</a> LogLog.warn( -<a name="456" href="#456">456</a> <span class="string">"Class for conversion pattern %"</span> + converterName + <span class="string">" not found"</span>, -<a name="457" href="#457">457</a> ex); -<a name="458" href="#458">458</a> -<a name="459" href="#459">459</a> <strong>return</strong> <strong>null</strong>; -<a name="460" href="#460">460</a> } -<a name="461" href="#461">461</a> } <strong>else</strong> { -<a name="462" href="#462">462</a> LogLog.warn( -<a name="463" href="#463">463</a> <span class="string">"Bad map entry for conversion pattern %"</span> + converterName + <span class="string">"."</span>); -<a name="464" href="#464">464</a> -<a name="465" href="#465">465</a> <strong>return</strong> <strong>null</strong>; -<a name="466" href="#466">466</a> } -<a name="467" href="#467">467</a> } -<a name="468" href="#468">468</a> -<a name="469" href="#469">469</a> <strong>try</strong> { -<a name="470" href="#470">470</a> Method factory = -<a name="471" href="#471">471</a> converterClass.getMethod( -<a name="472" href="#472">472</a> <span class="string">"newInstance"</span>, -<a name="473" href="#473">473</a> <strong>new</strong> Class[] { -<a name="474" href="#474">474</a> Class.forName(<span class="string">"[Ljava.lang.String;"</span>) -<a name="475" href="#475">475</a> }); -<a name="476" href="#476">476</a> String[] optionsArray = <strong>new</strong> String[options.size()]; -<a name="477" href="#477">477</a> optionsArray = (String[]) options.toArray(optionsArray); -<a name="478" href="#478">478</a> -<a name="479" href="#479">479</a> Object newObj = -<a name="480" href="#480">480</a> factory.invoke(<strong>null</strong>, <strong>new</strong> Object[] { optionsArray }); -<a name="481" href="#481">481</a> -<a name="482" href="#482">482</a> <strong>if</strong> (newObj instanceof PatternConverter) { -<a name="483" href="#483">483</a> currentLiteral.delete( -<a name="484" href="#484">484</a> 0, -<a name="485" href="#485">485</a> currentLiteral.length() -<a name="486" href="#486">486</a> - (converterId.length() - converterName.length())); -<a name="487" href="#487">487</a> -<a name="488" href="#488">488</a> <strong>return</strong> (PatternConverter) newObj; -<a name="489" href="#489">489</a> } <strong>else</strong> { -<a name="490" href="#490">490</a> LogLog.warn( -<a name="491" href="#491">491</a> <span class="string">"Class "</span> + converterClass.getName() -<a name="492" href="#492">492</a> + <span class="string">" does not extend PatternConverter."</span>); -<a name="493" href="#493">493</a> } -<a name="494" href="#494">494</a> } <strong>catch</strong> (Exception ex) { -<a name="495" href="#495">495</a> LogLog.error(<span class="string">"Error creating converter for "</span> + converterId, ex); +<a name="427" href="#427">427</a> <em>/**<em>*</em></em> +<a name="428" href="#428">428</a> <em> * Creates a new PatternConverter.</em> +<a name="429" href="#429">429</a> <em> *</em> +<a name="430" href="#430">430</a> <em> *</em> +<a name="431" href="#431">431</a> <em> * @param converterId converterId.</em> +<a name="432" href="#432">432</a> <em> * @param currentLiteral literal to be used if converter is unrecognized or following converter</em> +<a name="433" href="#433">433</a> <em> * if converterId contains extra characters.</em> +<a name="434" href="#434">434</a> <em> * @param converterRegistry map of user-supported pattern converters keyed by format specifier, may be null.</em> +<a name="435" href="#435">435</a> <em> * @param rules map of stock pattern converters keyed by format specifier.</em> +<a name="436" href="#436">436</a> <em> * @param options converter options.</em> +<a name="437" href="#437">437</a> <em> * @return converter or null.</em> +<a name="438" href="#438">438</a> <em> */</em> +<a name="439" href="#439">439</a> <strong>private</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> createConverter( +<a name="440" href="#440">440</a> <strong>final</strong> String converterId, <strong>final</strong> StringBuffer currentLiteral, +<a name="441" href="#441">441</a> <strong>final</strong> Map converterRegistry, <strong>final</strong> Map rules, <strong>final</strong> List options) { +<a name="442" href="#442">442</a> String converterName = converterId; +<a name="443" href="#443">443</a> Object converterObj = <strong>null</strong>; +<a name="444" href="#444">444</a> +<a name="445" href="#445">445</a> <strong>for</strong> (<strong>int</strong> i = converterId.length(); (i > 0) &amp;&amp; (converterObj == <strong>null</strong>); +<a name="446" href="#446">446</a> i--) { +<a name="447" href="#447">447</a> converterName = converterName.substring(0, i); +<a name="448" href="#448">448</a> +<a name="449" href="#449">449</a> <strong>if</strong> (converterRegistry != <strong>null</strong>) { +<a name="450" href="#450">450</a> converterObj = converterRegistry.get(converterName); +<a name="451" href="#451">451</a> } +<a name="452" href="#452">452</a> +<a name="453" href="#453">453</a> <strong>if</strong> ((converterObj == <strong>null</strong>) &amp;&amp; (rules != <strong>null</strong>)) { +<a name="454" href="#454">454</a> converterObj = rules.get(converterName); +<a name="455" href="#455">455</a> } +<a name="456" href="#456">456</a> } +<a name="457" href="#457">457</a> +<a name="458" href="#458">458</a> <strong>if</strong> (converterObj == <strong>null</strong>) { +<a name="459" href="#459">459</a> LogLog.error(<span class="string">"Unrecognized format specifier ["</span> + converterId + <span class="string">"]"</span>); +<a name="460" href="#460">460</a> +<a name="461" href="#461">461</a> <strong>return</strong> <strong>null</strong>; +<a name="462" href="#462">462</a> } +<a name="463" href="#463">463</a> +<a name="464" href="#464">464</a> Class converterClass = <strong>null</strong>; +<a name="465" href="#465">465</a> +<a name="466" href="#466">466</a> <strong>if</strong> (converterObj instanceof Class) { +<a name="467" href="#467">467</a> converterClass = (Class) converterObj; +<a name="468" href="#468">468</a> } <strong>else</strong> { +<a name="469" href="#469">469</a> <strong>if</strong> (converterObj instanceof String) { +<a name="470" href="#470">470</a> <strong>try</strong> { +<a name="471" href="#471">471</a> converterClass = Loader.loadClass((String) converterObj); +<a name="472" href="#472">472</a> } <strong>catch</strong> (ClassNotFoundException ex) { +<a name="473" href="#473">473</a> LogLog.warn( +<a name="474" href="#474">474</a> <span class="string">"Class for conversion pattern %"</span> + converterName + <span class="string">" not found"</span>, +<a name="475" href="#475">475</a> ex); +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> <strong>return</strong> <strong>null</strong>; +<a name="478" href="#478">478</a> } +<a name="479" href="#479">479</a> } <strong>else</strong> { +<a name="480" href="#480">480</a> LogLog.warn( +<a name="481" href="#481">481</a> <span class="string">"Bad map entry for conversion pattern %"</span> + converterName + <span class="string">"."</span>); +<a name="482" href="#482">482</a> +<a name="483" href="#483">483</a> <strong>return</strong> <strong>null</strong>; +<a name="484" href="#484">484</a> } +<a name="485" href="#485">485</a> } +<a name="486" href="#486">486</a> +<a name="487" href="#487">487</a> <strong>try</strong> { +<a name="488" href="#488">488</a> Method factory = +<a name="489" href="#489">489</a> converterClass.getMethod( +<a name="490" href="#490">490</a> <span class="string">"newInstance"</span>, +<a name="491" href="#491">491</a> <strong>new</strong> Class[] { +<a name="492" href="#492">492</a> Class.forName(<span class="string">"[Ljava.lang.String;"</span>) +<a name="493" href="#493">493</a> }); +<a name="494" href="#494">494</a> String[] optionsArray = <strong>new</strong> String[options.size()]; +<a name="495" href="#495">495</a> optionsArray = (String[]) options.toArray(optionsArray); <a name="496" href="#496">496</a> -<a name="497" href="#497">497</a> <strong>try</strong> { -<a name="498" href="#498">498</a> <em class="comment">//</em> -<a name="499" href="#499">499</a> <em class="comment">// try default constructor</em> -<a name="500" href="#500">500</a> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> pc = (PatternConverter) converterClass.newInstance(); +<a name="497" href="#497">497</a> Object newObj = +<a name="498" href="#498">498</a> factory.invoke(<strong>null</strong>, <strong>new</strong> Object[] { optionsArray }); +<a name="499" href="#499">499</a> +<a name="500" href="#500">500</a> <strong>if</strong> (newObj instanceof PatternConverter) { <a name="501" href="#501">501</a> currentLiteral.delete( <a name="502" href="#502">502</a> 0, <a name="503" href="#503">503</a> currentLiteral.length() <a name="504" href="#504">504</a> - (converterId.length() - converterName.length())); <a name="505" href="#505">505</a> -<a name="506" href="#506">506</a> <strong>return</strong> pc; -<a name="507" href="#507">507</a> } <strong>catch</strong> (Exception ex2) { -<a name="508" href="#508">508</a> LogLog.error(<span class="string">"Error creating converter for "</span> + converterId, ex2); -<a name="509" href="#509">509</a> } -<a name="510" href="#510">510</a> } -<a name="511" href="#511">511</a> -<a name="512" href="#512">512</a> <strong>return</strong> <strong>null</strong>; -<a name="513" href="#513">513</a> } +<a name="506" href="#506">506</a> <strong>return</strong> (PatternConverter) newObj; +<a name="507" href="#507">507</a> } <strong>else</strong> { +<a name="508" href="#508">508</a> LogLog.warn( +<a name="509" href="#509">509</a> <span class="string">"Class "</span> + converterClass.getName() +<a name="510" href="#510">510</a> + <span class="string">" does not extend PatternConverter."</span>); +<a name="511" href="#511">511</a> } +<a name="512" href="#512">512</a> } <strong>catch</strong> (Exception ex) { +<a name="513" href="#513">513</a> LogLog.error(<span class="string">"Error creating converter for "</span> + converterId, ex); <a name="514" href="#514">514</a> -<a name="515" href="#515">515</a> <em>/**<em>*</em></em> -<a name="516" href="#516">516</a> <em> * Processes a format specifier sequence.</em> -<a name="517" href="#517">517</a> <em> *</em> -<a name="518" href="#518">518</a> <em> * @param c initial character of format specifier.</em> -<a name="519" href="#519">519</a> <em> * @param pattern conversion pattern</em> -<a name="520" href="#520">520</a> <em> * @param i current position in conversion pattern.</em> -<a name="521" href="#521">521</a> <em> * @param currentLiteral current literal.</em> -<a name="522" href="#522">522</a> <em> * @param formattingInfo current field specifier.</em> -<a name="523" href="#523">523</a> <em> * @param converterRegistry map of user-provided pattern converters keyed by format specifier, may be null.</em> -<a name="524" href="#524">524</a> <em> * @param rules map of stock pattern converters keyed by format specifier.</em> -<a name="525" href="#525">525</a> <em> * @param patternConverters list to receive parsed pattern converter.</em> -<a name="526" href="#526">526</a> <em> * @param formattingInfos list to receive corresponding field specifier.</em> -<a name="527" href="#527">527</a> <em> * @return position after format specifier sequence.</em> -<a name="528" href="#528">528</a> <em> */</em> -<a name="529" href="#529">529</a> <strong>private</strong> <strong>static</strong> <strong>int</strong> finalizeConverter( -<a name="530" href="#530">530</a> <strong>char</strong> c, String pattern, <strong>int</strong> i, -<a name="531" href="#531">531</a> <strong>final</strong> StringBuffer currentLiteral, <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> formattingInfo, -<a name="532" href="#532">532</a> <strong>final</strong> Map converterRegistry, <strong>final</strong> Map rules, <strong>final</strong> List patternConverters, -<a name="533" href="#533">533</a> <strong>final</strong> List formattingInfos) { -<a name="534" href="#534">534</a> StringBuffer convBuf = <strong>new</strong> StringBuffer(); -<a name="535" href="#535">535</a> i = extractConverter(c, pattern, i, convBuf, currentLiteral); -<a name="536" href="#536">536</a> -<a name="537" href="#537">537</a> String converterId = convBuf.toString(); -<a name="538" href="#538">538</a> -<a name="539" href="#539">539</a> List options = <strong>new</strong> ArrayList(); -<a name="540" href="#540">540</a> i = extractOptions(pattern, i, options); -<a name="541" href="#541">541</a> -<a name="542" href="#542">542</a> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> pc = -<a name="543" href="#543">543</a> createConverter( -<a name="544" href="#544">544</a> converterId, currentLiteral, converterRegistry, rules, options); -<a name="545" href="#545">545</a> -<a name="546" href="#546">546</a> <strong>if</strong> (pc == <strong>null</strong>) { -<a name="547" href="#547">547</a> StringBuffer msg; -<a name="548" href="#548">548</a> -<a name="549" href="#549">549</a> <strong>if</strong> ((converterId == <strong>null</strong>) || (converterId.length() == 0)) { -<a name="550" href="#550">550</a> msg = -<a name="551" href="#551">551</a> <strong>new</strong> StringBuffer(<span class="string">"Empty conversion specifier starting at position "</span>); -<a name="552" href="#552">552</a> } <strong>else</strong> { -<a name="553" href="#553">553</a> msg = <strong>new</strong> StringBuffer(<span class="string">"Unrecognized conversion specifier ["</span>); -<a name="554" href="#554">554</a> msg.append(converterId); -<a name="555" href="#555">555</a> msg.append(<span class="string">"] starting at position "</span>); -<a name="556" href="#556">556</a> } -<a name="557" href="#557">557</a> -<a name="558" href="#558">558</a> msg.append(Integer.toString(i)); -<a name="559" href="#559">559</a> msg.append(<span class="string">" in conversion pattern."</span>); -<a name="560" href="#560">560</a> -<a name="561" href="#561">561</a> LogLog.error(msg.toString()); -<a name="562" href="#562">562</a> -<a name="563" href="#563">563</a> patternConverters.add( -<a name="564" href="#564">564</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html">LiteralPatternConverter</a>(currentLiteral.toString())); -<a name="565" href="#565">565</a> formattingInfos.add(FormattingInfo.getDefault()); -<a name="566" href="#566">566</a> } <strong>else</strong> { -<a name="567" href="#567">567</a> patternConverters.add(pc); -<a name="568" href="#568">568</a> formattingInfos.add(formattingInfo); -<a name="569" href="#569">569</a> -<a name="570" href="#570">570</a> <strong>if</strong> (currentLiteral.length() > 0) { -<a name="571" href="#571">571</a> patternConverters.add( -<a name="572" href="#572">572</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html">LiteralPatternConverter</a>(currentLiteral.toString())); -<a name="573" href="#573">573</a> formattingInfos.add(FormattingInfo.getDefault()); +<a name="515" href="#515">515</a> <strong>try</strong> { +<a name="516" href="#516">516</a> <em class="comment">//</em> +<a name="517" href="#517">517</a> <em class="comment">// try default constructor</em> +<a name="518" href="#518">518</a> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> pc = (PatternConverter) converterClass.newInstance(); +<a name="519" href="#519">519</a> currentLiteral.delete( +<a name="520" href="#520">520</a> 0, +<a name="521" href="#521">521</a> currentLiteral.length() +<a name="522" href="#522">522</a> - (converterId.length() - converterName.length())); +<a name="523" href="#523">523</a> +<a name="524" href="#524">524</a> <strong>return</strong> pc; +<a name="525" href="#525">525</a> } <strong>catch</strong> (Exception ex2) { +<a name="526" href="#526">526</a> LogLog.error(<span class="string">"Error creating converter for "</span> + converterId, ex2); +<a name="527" href="#527">527</a> } +<a name="528" href="#528">528</a> } +<a name="529" href="#529">529</a> +<a name="530" href="#530">530</a> <strong>return</strong> <strong>null</strong>; +<a name="531" href="#531">531</a> } +<a name="532" href="#532">532</a> +<a name="533" href="#533">533</a> <em>/**<em>*</em></em> +<a name="534" href="#534">534</a> <em> * Processes a format specifier sequence.</em> +<a name="535" href="#535">535</a> <em> *</em> +<a name="536" href="#536">536</a> <em> * @param c initial character of format specifier.</em> +<a name="537" href="#537">537</a> <em> * @param pattern conversion pattern</em> +<a name="538" href="#538">538</a> <em> * @param i current position in conversion pattern.</em> +<a name="539" href="#539">539</a> <em> * @param currentLiteral current literal.</em> +<a name="540" href="#540">540</a> <em> * @param formattingInfo current field specifier.</em> +<a name="541" href="#541">541</a> <em> * @param converterRegistry map of user-provided pattern converters keyed by format specifier, may be null.</em> +<a name="542" href="#542">542</a> <em> * @param rules map of stock pattern converters keyed by format specifier.</em> +<a name="543" href="#543">543</a> <em> * @param patternConverters list to receive parsed pattern converter.</em> +<a name="544" href="#544">544</a> <em> * @param formattingInfos list to receive corresponding field specifier.</em> +<a name="545" href="#545">545</a> <em> * @return position after format specifier sequence.</em> +<a name="546" href="#546">546</a> <em> */</em> +<a name="547" href="#547">547</a> <strong>private</strong> <strong>static</strong> <strong>int</strong> finalizeConverter( +<a name="548" href="#548">548</a> <strong>char</strong> c, String pattern, <strong>int</strong> i, +<a name="549" href="#549">549</a> <strong>final</strong> StringBuffer currentLiteral, <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a> formattingInfo, +<a name="550" href="#550">550</a> <strong>final</strong> Map converterRegistry, <strong>final</strong> Map rules, <strong>final</strong> List patternConverters, +<a name="551" href="#551">551</a> <strong>final</strong> List formattingInfos) { +<a name="552" href="#552">552</a> StringBuffer convBuf = <strong>new</strong> StringBuffer(); +<a name="553" href="#553">553</a> i = extractConverter(c, pattern, i, convBuf, currentLiteral); +<a name="554" href="#554">554</a> +<a name="555" href="#555">555</a> String converterId = convBuf.toString(); +<a name="556" href="#556">556</a> +<a name="557" href="#557">557</a> List options = <strong>new</strong> ArrayList(); +<a name="558" href="#558">558</a> i = extractOptions(pattern, i, options); +<a name="559" href="#559">559</a> +<a name="560" href="#560">560</a> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> pc = +<a name="561" href="#561">561</a> createConverter( +<a name="562" href="#562">562</a> converterId, currentLiteral, converterRegistry, rules, options); +<a name="563" href="#563">563</a> +<a name="564" href="#564">564</a> <strong>if</strong> (pc == <strong>null</strong>) { +<a name="565" href="#565">565</a> StringBuffer msg; +<a name="566" href="#566">566</a> +<a name="567" href="#567">567</a> <strong>if</strong> ((converterId == <strong>null</strong>) || (converterId.length() == 0)) { +<a name="568" href="#568">568</a> msg = +<a name="569" href="#569">569</a> <strong>new</strong> StringBuffer(<span class="string">"Empty conversion specifier starting at position "</span>); +<a name="570" href="#570">570</a> } <strong>else</strong> { +<a name="571" href="#571">571</a> msg = <strong>new</strong> StringBuffer(<span class="string">"Unrecognized conversion specifier ["</span>); +<a name="572" href="#572">572</a> msg.append(converterId); +<a name="573" href="#573">573</a> msg.append(<span class="string">"] starting at position "</span>); <a name="574" href="#574">574</a> } -<a name="575" href="#575">575</a> } -<a name="576" href="#576">576</a> -<a name="577" href="#577">577</a> currentLiteral.setLength(0); +<a name="575" href="#575">575</a> +<a name="576" href="#576">576</a> msg.append(Integer.toString(i)); +<a name="577" href="#577">577</a> msg.append(<span class="string">" in conversion pattern."</span>); <a name="578" href="#578">578</a> -<a name="579" href="#579">579</a> <strong>return</strong> i; -<a name="580" href="#580">580</a> } -<a name="581" href="#581">581</a> -<a name="582" href="#582">582</a> <em>/**<em>*</em></em> -<a name="583" href="#583">583</a> <em> * The class wraps another Map but throws exceptions on any attempt to modify the map.</em> -<a name="584" href="#584">584</a> <em> */</em> -<a name="585" href="#585">585</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> ReadOnlyMap implements Map { -<a name="586" href="#586">586</a> <em>/**<em>*</em></em> -<a name="587" href="#587">587</a> <em> * Wrapped map.</em> -<a name="588" href="#588">588</a> <em> */</em> -<a name="589" href="#589">589</a> <strong>private</strong> <strong>final</strong> Map map; -<a name="590" href="#590">590</a> -<a name="591" href="#591">591</a> <em>/**<em>*</em></em> -<a name="592" href="#592">592</a> <em> * Constructor</em> -<a name="593" href="#593">593</a> <em> * @param src source map.</em> -<a name="594" href="#594">594</a> <em> */</em> -<a name="595" href="#595">595</a> <strong>public</strong> ReadOnlyMap(Map src) { -<a name="596" href="#596">596</a> map = src; -<a name="597" href="#597">597</a> } -<a name="598" href="#598">598</a> -<a name="599" href="#599">599</a> <em>/**<em>*</em></em> -<a name="600" href="#600">600</a> <em> * {@inheritDoc}</em> -<a name="601" href="#601">601</a> <em> */</em> -<a name="602" href="#602">602</a> <strong>public</strong> <strong>void</strong> clear() { -<a name="603" href="#603">603</a> <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(); -<a name="604" href="#604">604</a> } -<a name="605" href="#605">605</a> -<a name="606" href="#606">606</a> <em>/**<em>*</em></em> -<a name="607" href="#607">607</a> <em> * {@inheritDoc}</em> -<a name="608" href="#608">608</a> <em> */</em> -<a name="609" href="#609">609</a> <strong>public</strong> <strong>boolean</strong> containsKey(Object key) { -<a name="610" href="#610">610</a> <strong>return</strong> map.containsKey(key); -<a name="611" href="#611">611</a> } -<a name="612" href="#612">612</a> -<a name="613" href="#613">613</a> <em>/**<em>*</em></em> -<a name="614" href="#614">614</a> <em> * {@inheritDoc}</em> -<a name="615" href="#615">615</a> <em> */</em> -<a name="616" href="#616">616</a> <strong>public</strong> <strong>boolean</strong> containsValue(Object value) { -<a name="617" href="#617">617</a> <strong>return</strong> map.containsValue(value); -<a name="618" href="#618">618</a> } -<a name="619" href="#619">619</a> -<a name="620" href="#620">620</a> <em>/**<em>*</em></em> -<a name="621" href="#621">621</a> <em> * {@inheritDoc}</em> -<a name="622" href="#622">622</a> <em> */</em> -<a name="623" href="#623">623</a> <strong>public</strong> Set entrySet() { -<a name="624" href="#624">624</a> <strong>return</strong> map.entrySet(); -<a name="625" href="#625">625</a> } -<a name="626" href="#626">626</a> -<a name="627" href="#627">627</a> <em>/**<em>*</em></em> -<a name="628" href="#628">628</a> <em> * {@inheritDoc}</em> -<a name="629" href="#629">629</a> <em> */</em> -<a name="630" href="#630">630</a> <strong>public</strong> Object get(Object key) { -<a name="631" href="#631">631</a> <strong>return</strong> map.get(key); -<a name="632" href="#632">632</a> } -<a name="633" href="#633">633</a> -<a name="634" href="#634">634</a> <em>/**<em>*</em></em> -<a name="635" href="#635">635</a> <em> * {@inheritDoc}</em> -<a name="636" href="#636">636</a> <em> */</em> -<a name="637" href="#637">637</a> <strong>public</strong> <strong>boolean</strong> isEmpty() { -<a name="638" href="#638">638</a> <strong>return</strong> map.isEmpty(); -<a name="639" href="#639">639</a> } -<a name="640" href="#640">640</a> -<a name="641" href="#641">641</a> <em>/**<em>*</em></em> -<a name="642" href="#642">642</a> <em> * {@inheritDoc}</em> -<a name="643" href="#643">643</a> <em> */</em> -<a name="644" href="#644">644</a> <strong>public</strong> Set keySet() { -<a name="645" href="#645">645</a> <strong>return</strong> map.keySet(); -<a name="646" href="#646">646</a> } -<a name="647" href="#647">647</a> -<a name="648" href="#648">648</a> <em>/**<em>*</em></em> -<a name="649" href="#649">649</a> <em> * {@inheritDoc}</em> -<a name="650" href="#650">650</a> <em> */</em> -<a name="651" href="#651">651</a> <strong>public</strong> Object put(Object key, Object value) { -<a name="652" href="#652">652</a> <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(); -<a name="653" href="#653">653</a> } -<a name="654" href="#654">654</a> -<a name="655" href="#655">655</a> <em>/**<em>*</em></em> -<a name="656" href="#656">656</a> <em> * {@inheritDoc}</em> -<a name="657" href="#657">657</a> <em> */</em> -<a name="658" href="#658">658</a> <strong>public</strong> <strong>void</strong> putAll(Map t) { -<a name="659" href="#659">659</a> <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(); -<a name="660" href="#660">660</a> } -<a name="661" href="#661">661</a> -<a name="662" href="#662">662</a> <em>/**<em>*</em></em> -<a name="663" href="#663">663</a> <em> * {@inheritDoc}</em> -<a name="664" href="#664">664</a> <em> */</em> -<a name="665" href="#665">665</a> <strong>public</strong> Object remove(Object key) { -<a name="666" href="#666">666</a> <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(); -<a name="667" href="#667">667</a> } -<a name="668" href="#668">668</a> -<a name="669" href="#669">669</a> <em>/**<em>*</em></em> -<a name="670" href="#670">670</a> <em> * {@inheritDoc}</em> -<a name="671" href="#671">671</a> <em> */</em> -<a name="672" href="#672">672</a> <strong>public</strong> <strong>int</strong> size() { -<a name="673" href="#673">673</a> <strong>return</strong> map.size(); -<a name="674" href="#674">674</a> } -<a name="675" href="#675">675</a> -<a name="676" href="#676">676</a> <em>/**<em>*</em></em> -<a name="677" href="#677">677</a> <em> * {@inheritDoc}</em> -<a name="678" href="#678">678</a> <em> */</em> -<a name="679" href="#679">679</a> <strong>public</strong> Collection values() { -<a name="680" href="#680">680</a> <strong>return</strong> map.values(); -<a name="681" href="#681">681</a> } -<a name="682" href="#682">682</a> } -<a name="683" href="#683">683</a> } +<a name="579" href="#579">579</a> LogLog.error(msg.toString()); +<a name="580" href="#580">580</a> +<a name="581" href="#581">581</a> patternConverters.add( +<a name="582" href="#582">582</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html">LiteralPatternConverter</a>(currentLiteral.toString())); +<a name="583" href="#583">583</a> formattingInfos.add(FormattingInfo.getDefault()); +<a name="584" href="#584">584</a> } <strong>else</strong> { +<a name="585" href="#585">585</a> patternConverters.add(pc); +<a name="586" href="#586">586</a> formattingInfos.add(formattingInfo); +<a name="587" href="#587">587</a> +<a name="588" href="#588">588</a> <strong>if</strong> (currentLiteral.length() > 0) { +<a name="589" href="#589">589</a> patternConverters.add( +<a name="590" href="#590">590</a> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/LiteralPatternConverter.html">LiteralPatternConverter</a>(currentLiteral.toString())); +<a name="591" href="#591">591</a> formattingInfos.add(FormattingInfo.getDefault()); +<a name="592" href="#592">592</a> } +<a name="593" href="#593">593</a> } +<a name="594" href="#594">594</a> +<a name="595" href="#595">595</a> currentLiteral.setLength(0); +<a name="596" href="#596">596</a> +<a name="597" href="#597">597</a> <strong>return</strong> i; +<a name="598" href="#598">598</a> } +<a name="599" href="#599">599</a> +<a name="600" href="#600">600</a> <em>/**<em>*</em></em> +<a name="601" href="#601">601</a> <em> * The class wraps another Map but throws exceptions on any attempt to modify the map.</em> +<a name="602" href="#602">602</a> <em> */</em> +<a name="603" href="#603">603</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> ReadOnlyMap implements Map { +<a name="604" href="#604">604</a> <em>/**<em>*</em></em> +<a name="605" href="#605">605</a> <em> * Wrapped map.</em> +<a name="606" href="#606">606</a> <em> */</em> +<a name="607" href="#607">607</a> <strong>private</strong> <strong>final</strong> Map map; +<a name="608" href="#608">608</a> +<a name="609" href="#609">609</a> <em>/**<em>*</em></em> +<a name="610" href="#610">610</a> <em> * Constructor</em> +<a name="611" href="#611">611</a> <em> * @param src source map.</em> +<a name="612" href="#612">612</a> <em> */</em> +<a name="613" href="#613">613</a> <strong>public</strong> ReadOnlyMap(Map src) { +<a name="614" href="#614">614</a> map = src; +<a name="615" href="#615">615</a> } +<a name="616" href="#616">616</a> +<a name="617" href="#617">617</a> <em>/**<em>*</em></em> +<a name="618" href="#618">618</a> <em> * {@inheritDoc}</em> +<a name="619" href="#619">619</a> <em> */</em> +<a name="620" href="#620">620</a> <strong>public</strong> <strong>void</strong> clear() { +<a name="621" href="#621">621</a> <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(); +<a name="622" href="#622">622</a> } +<a name="623" href="#623">623</a> +<a name="624" href="#624">624</a> <em>/**<em>*</em></em> +<a name="625" href="#625">625</a> <em> * {@inheritDoc}</em> +<a name="626" href="#626">626</a> <em> */</em> +<a name="627" href="#627">627</a> <strong>public</strong> <strong>boolean</strong> containsKey(Object key) { +<a name="628" href="#628">628</a> <strong>return</strong> map.containsKey(key); +<a name="629" href="#629">629</a> } +<a name="630" href="#630">630</a> +<a name="631" href="#631">631</a> <em>/**<em>*</em></em> +<a name="632" href="#632">632</a> <em> * {@inheritDoc}</em> +<a name="633" href="#633">633</a> <em> */</em> +<a name="634" href="#634">634</a> <strong>public</strong> <strong>boolean</strong> containsValue(Object value) { +<a name="635" href="#635">635</a> <strong>return</strong> map.containsValue(value); +<a name="636" href="#636">636</a> } +<a name="637" href="#637">637</a> +<a name="638" href="#638">638</a> <em>/**<em>*</em></em> +<a name="639" href="#639">639</a> <em> * {@inheritDoc}</em> +<a name="640" href="#640">640</a> <em> */</em> +<a name="641" href="#641">641</a> <strong>public</strong> Set entrySet() { +<a name="642" href="#642">642</a> <strong>return</strong> map.entrySet(); +<a name="643" href="#643">643</a> } +<a name="644" href="#644">644</a> +<a name="645" href="#645">645</a> <em>/**<em>*</em></em> +<a name="646" href="#646">646</a> <em> * {@inheritDoc}</em> +<a name="647" href="#647">647</a> <em> */</em> +<a name="648" href="#648">648</a> <strong>public</strong> Object get(Object key) { +<a name="649" href="#649">649</a> <strong>return</strong> map.get(key); +<a name="650" href="#650">650</a> } +<a name="651" href="#651">651</a> +<a name="652" href="#652">652</a> <em>/**<em>*</em></em> +<a name="653" href="#653">653</a> <em> * {@inheritDoc}</em> +<a name="654" href="#654">654</a> <em> */</em> +<a name="655" href="#655">655</a> <strong>public</strong> <strong>boolean</strong> isEmpty() { +<a name="656" href="#656">656</a> <strong>return</strong> map.isEmpty(); +<a name="657" href="#657">657</a> } +<a name="658" href="#658">658</a> +<a name="659" href="#659">659</a> <em>/**<em>*</em></em> +<a name="660" href="#660">660</a> <em> * {@inheritDoc}</em> +<a name="661" href="#661">661</a> <em> */</em> +<a name="662" href="#662">662</a> <strong>public</strong> Set keySet() { +<a name="663" href="#663">663</a> <strong>return</strong> map.keySet(); +<a name="664" href="#664">664</a> } +<a name="665" href="#665">665</a> +<a name="666" href="#666">666</a> <em>/**<em>*</em></em> +<a name="667" href="#667">667</a> <em> * {@inheritDoc}</em> +<a name="668" href="#668">668</a> <em> */</em> +<a name="669" href="#669">669</a> <strong>public</strong> Object put(Object key, Object value) { +<a name="670" href="#670">670</a> <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(); +<a name="671" href="#671">671</a> } +<a name="672" href="#672">672</a> +<a name="673" href="#673">673</a> <em>/**<em>*</em></em> +<a name="674" href="#674">674</a> <em> * {@inheritDoc}</em> +<a name="675" href="#675">675</a> <em> */</em> +<a name="676" href="#676">676</a> <strong>public</strong> <strong>void</strong> putAll(Map t) { +<a name="677" href="#677">677</a> <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(); +<a name="678" href="#678">678</a> } +<a name="679" href="#679">679</a> +<a name="680" href="#680">680</a> <em>/**<em>*</em></em> +<a name="681" href="#681">681</a> <em> * {@inheritDoc}</em> +<a name="682" href="#682">682</a> <em> */</em> +<a name="683" href="#683">683</a> <strong>public</strong> Object remove(Object key) { +<a name="684" href="#684">684</a> <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(); +<a name="685" href="#685">685</a> } +<a name="686" href="#686">686</a> +<a name="687" href="#687">687</a> <em>/**<em>*</em></em> +<a name="688" href="#688">688</a> <em> * {@inheritDoc}</em> +<a name="689" href="#689">689</a> <em> */</em> +<a name="690" href="#690">690</a> <strong>public</strong> <strong>int</strong> size() { +<a name="691" href="#691">691</a> <strong>return</strong> map.size(); +<a name="692" href="#692">692</a> } +<a name="693" href="#693">693</a> +<a name="694" href="#694">694</a> <em>/**<em>*</em></em> +<a name="695" href="#695">695</a> <em> * {@inheritDoc}</em> +<a name="696" href="#696">696</a> <em> */</em> +<a name="697" href="#697">697</a> <strong>public</strong> Collection values() { +<a name="698" href="#698">698</a> <strong>return</strong> map.values(); +<a name="699" href="#699">699</a> } +<a name="700" href="#700">700</a> } +<a name="701" href="#701">701</a> } </pre> <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> </html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html new file mode 100644 index 00000000000..89943cbefd9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/PropertiesPatternConverter.html @@ -0,0 +1,117 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PropertiesPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/PropertiesPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong>import</strong> java.util.Iterator; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.Set; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.helpers.*; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em>/**<em>*</em></em> +<a name="28" href="#28">28</a> <em> * Able to handle the contents of the LoggingEvent's Property bundle and either</em> +<a name="29" href="#29">29</a> <em> * output the entire contents of the properties in a similar format to the</em> +<a name="30" href="#30">30</a> <em> * java.util.Hashtable.toString(), or to output the value of a specific key</em> +<a name="31" href="#31">31</a> <em> * within the property bundle</em> +<a name="32" href="#32">32</a> <em> * when this pattern converter has the option set.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @author Paul Smith</em> +<a name="35" href="#35">35</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a> +<a name="38" href="#38">38</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="39" href="#39">39</a> <em>/**<em>*</em></em> +<a name="40" href="#40">40</a> <em> * Name of property to output.</em> +<a name="41" href="#41">41</a> <em> */</em> +<a name="42" href="#42">42</a> <strong>private</strong> <strong>final</strong> String option; +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * Private constructor.</em> +<a name="46" href="#46">46</a> <em> * @param options options, may be null.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <strong>private</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a>( +<a name="49" href="#49">49</a> <strong>final</strong> String[] options) { +<a name="50" href="#50">50</a> <strong>super</strong>( +<a name="51" href="#51">51</a> ((options != <strong>null</strong>) &amp;&amp; (options.length > 0)) +<a name="52" href="#52">52</a> ? (<span class="string">"Property{"</span> + options[0] + <span class="string">"}"</span>) : <span class="string">"Properties"</span>, <span class="string">"property"</span>); +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <strong>if</strong> ((options != <strong>null</strong>) &amp;&amp; (options.length > 0)) { +<a name="55" href="#55">55</a> option = options[0]; +<a name="56" href="#56">56</a> } <strong>else</strong> { +<a name="57" href="#57">57</a> option = <strong>null</strong>; +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> } +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em>/**<em>*</em></em> +<a name="62" href="#62">62</a> <em> * Obtains an instance of PropertiesPatternConverter.</em> +<a name="63" href="#63">63</a> <em> * @param options options, may be null or first element contains name of property to format.</em> +<a name="64" href="#64">64</a> <em> * @return instance of PropertiesPatternConverter.</em> +<a name="65" href="#65">65</a> <em> */</em> +<a name="66" href="#66">66</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a> newInstance( +<a name="67" href="#67">67</a> <strong>final</strong> String[] options) { +<a name="68" href="#68">68</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/PropertiesPatternConverter.html">PropertiesPatternConverter</a>(options); +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em>/**<em>*</em></em> +<a name="72" href="#72">72</a> <em> * {@inheritDoc}</em> +<a name="73" href="#73">73</a> <em> */</em> +<a name="74" href="#74">74</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> LoggingEvent event, <strong>final</strong> StringBuffer toAppendTo) { +<a name="75" href="#75">75</a> <em class="comment">// if there is no additional options, we output every single</em> +<a name="76" href="#76">76</a> <em class="comment">// Key/Value pair for the MDC in a similar format to Hashtable.toString()</em> +<a name="77" href="#77">77</a> <strong>if</strong> (option == <strong>null</strong>) { +<a name="78" href="#78">78</a> toAppendTo.append(<span class="string">"{"</span>); +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong>try</strong> { +<a name="81" href="#81">81</a> Set keySet = MDCKeySetExtractor.INSTANCE.getPropertyKeySet(event); +<a name="82" href="#82">82</a> <strong>if</strong> (keySet != <strong>null</strong>) { +<a name="83" href="#83">83</a> <strong>for</strong> (Iterator i = keySet.iterator(); i.hasNext();) { +<a name="84" href="#84">84</a> Object item = i.next(); +<a name="85" href="#85">85</a> Object val = event.getMDC(item.toString()); +<a name="86" href="#86">86</a> toAppendTo.append(<span class="string">"{"</span>).append(item).append(<span class="string">","</span>).append(val).append( +<a name="87" href="#87">87</a> <span class="string">"}"</span>); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> } <strong>catch</strong>(Exception ex) { +<a name="91" href="#91">91</a> LogLog.error(<span class="string">"Unexpected exception while extracting MDC keys"</span>, ex); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> toAppendTo.append(<span class="string">"}"</span>); +<a name="95" href="#95">95</a> } <strong>else</strong> { +<a name="96" href="#96">96</a> <em class="comment">// otherwise they just want a single key output</em> +<a name="97" href="#97">97</a> Object val = event.getMDC(option); +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <strong>if</strong> (val != <strong>null</strong>) { +<a name="100" href="#100">100</a> toAppendTo.append(val); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/RelativeTimePatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/RelativeTimePatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/RelativeTimePatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/RelativeTimePatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/SequenceNumberPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/SequenceNumberPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/SequenceNumberPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/SequenceNumberPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/ThreadPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/ThreadPatternConverter.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/ThreadPatternConverter.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/ThreadPatternConverter.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html new file mode 100644 index 00000000000..57bf74a5bc0 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ThrowableInformationPatternConverter xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.pattern; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.ThrowableInformation; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em>/**<em>*</em></em> +<a name="25" href="#25">25</a> <em> * Outputs the ThrowableInformation portion of the LoggingEvent.</em> +<a name="26" href="#26">26</a> <em> * By default, outputs the full stack trace. %throwable{none}</em> +<a name="27" href="#27">27</a> <em> * or %throwable{0} suppresses the stack trace. %throwable{short}</em> +<a name="28" href="#28">28</a> <em> * or %throwable{1} outputs just the first line. %throwable{n}</em> +<a name="29" href="#29">29</a> <em> * will output n lines for a positive integer or drop the last</em> +<a name="30" href="#30">30</a> <em> * -n lines for a negative integer.</em> +<a name="31" href="#31">31</a> <em> *</em> +<a name="32" href="#32">32</a> <em> * @author Paul Smith</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> */</em> +<a name="35" href="#35">35</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a> +<a name="36" href="#36">36</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/pattern/LoggingEventPatternConverter.html">LoggingEventPatternConverter</a> { +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em>/**<em>*</em></em> +<a name="39" href="#39">39</a> <em> * Maximum lines of stack trace to output.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>private</strong> <strong>int</strong> maxLines = Integer.MAX_VALUE; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * Private constructor.</em> +<a name="45" href="#45">45</a> <em> * @param options options, may be null.</em> +<a name="46" href="#46">46</a> <em> */</em> +<a name="47" href="#47">47</a> <strong>private</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a>( +<a name="48" href="#48">48</a> <strong>final</strong> String[] options) { +<a name="49" href="#49">49</a> <strong>super</strong>(<span class="string">"Throwable"</span>, <span class="string">"throwable"</span>); +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <strong>if</strong> ((options != <strong>null</strong>) &amp;&amp; (options.length > 0)) { +<a name="52" href="#52">52</a> <strong>if</strong>(<span class="string">"none"</span>.equals(options[0])) { +<a name="53" href="#53">53</a> maxLines = 0; +<a name="54" href="#54">54</a> } <strong>else</strong> <strong>if</strong>(<span class="string">"short"</span>.equals(options[0])) { +<a name="55" href="#55">55</a> maxLines = 1; +<a name="56" href="#56">56</a> } <strong>else</strong> { +<a name="57" href="#57">57</a> <strong>try</strong> { +<a name="58" href="#58">58</a> maxLines = Integer.parseInt(options[0]); +<a name="59" href="#59">59</a> } <strong>catch</strong>(NumberFormatException ex) { +<a name="60" href="#60">60</a> maxLines = Integer.MAX_VALUE; +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em>/**<em>*</em></em> +<a name="67" href="#67">67</a> <em> * Gets an instance of the class.</em> +<a name="68" href="#68">68</a> <em> * @param options pattern options, may be null. If first element is "short",</em> +<a name="69" href="#69">69</a> <em> * only the first line of the throwable will be formatted.</em> +<a name="70" href="#70">70</a> <em> * @return instance of class.</em> +<a name="71" href="#71">71</a> <em> */</em> +<a name="72" href="#72">72</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a> newInstance( +<a name="73" href="#73">73</a> <strong>final</strong> String[] options) { +<a name="74" href="#74">74</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/ThrowableInformationPatternConverter.html">ThrowableInformationPatternConverter</a>(options); +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em>/**<em>*</em></em> +<a name="78" href="#78">78</a> <em> * {@inheritDoc}</em> +<a name="79" href="#79">79</a> <em> */</em> +<a name="80" href="#80">80</a> <strong>public</strong> <strong>void</strong> format(<strong>final</strong> LoggingEvent event, <strong>final</strong> StringBuffer toAppendTo) { +<a name="81" href="#81">81</a> <strong>if</strong> (maxLines != 0) { +<a name="82" href="#82">82</a> ThrowableInformation information = event.getThrowableInformation(); +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <strong>if</strong> (information != <strong>null</strong>) { +<a name="85" href="#85">85</a> String[] stringRep = information.getThrowableStrRep(); +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <strong>int</strong> length = stringRep.length; +<a name="88" href="#88">88</a> <strong>if</strong> (maxLines &lt; 0) { +<a name="89" href="#89">89</a> length += maxLines; +<a name="90" href="#90">90</a> } <strong>else</strong> <strong>if</strong> (length > maxLines) { +<a name="91" href="#91">91</a> length = maxLines; +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; length; i++) { +<a name="95" href="#95">95</a> String string = stringRep[i]; +<a name="96" href="#96">96</a> toAppendTo.append(string).append(<span class="string">"\n"</span>); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> } +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em>/**<em>*</em></em> +<a name="103" href="#103">103</a> <em> * This converter obviously handles throwables.</em> +<a name="104" href="#104">104</a> <em> * @return true.</em> +<a name="105" href="#105">105</a> <em> */</em> +<a name="106" href="#106">106</a> <strong>public</strong> <strong>boolean</strong> handlesThrowable() { +<a name="107" href="#107">107</a> <strong>return</strong> <strong>true</strong>; +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/package-frame.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/package-frame.html index d80737051da..dd903ed63d4 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.pattern</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.pattern</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/package-summary.html similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/package-summary.html index 7d284402f09..403cb57b94f 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/pattern/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/pattern/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -202,6 +202,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/CompositeTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/CompositeTriggeringPolicy.html new file mode 100644 index 00000000000..e36a1bcd4ad --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/CompositeTriggeringPolicy.html @@ -0,0 +1,95 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CompositeTriggeringPolicy xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/CompositeTriggeringPolicy.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.util.HashSet; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.Iterator; +<a name="22" href="#22">22</a> <strong>import</strong> java.util.Properties; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.Set; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.Appender; +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.xml.UnrecognizedElementHandler; +<a name="29" href="#29">29</a> <strong>import</strong> org.w3c.dom.Element; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * CompositeTriggeringPolicy determines if rolling should be triggered</em> +<a name="34" href="#34">34</a> <em> * by evaluating the current event against a set of triggering policies.</em> +<a name="35" href="#35">35</a> <em> * </em> +<a name="36" href="#36">36</a> <em> * TriggeringPolicy results are OR'd together - if any of the triggering policies report rolling should occur, </em> +<a name="37" href="#37">37</a> <em> * a rolling event will be triggered.</em> +<a name="38" href="#38">38</a> <em> *</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html">CompositeTriggeringPolicy</a> implements TriggeringPolicy, <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> { +<a name="41" href="#41">41</a> Set triggeringPolicies = <strong>new</strong> HashSet(); +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/CompositeTriggeringPolicy.html">CompositeTriggeringPolicy</a>() { +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent(<strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String file, <strong>final</strong> <strong>long</strong> fileLength) { +<a name="47" href="#47">47</a> <strong>boolean</strong> isTriggered = false; +<a name="48" href="#48">48</a> <strong>for</strong> (Iterator iter = triggeringPolicies.iterator();iter.hasNext();) { +<a name="49" href="#49">49</a> <strong>boolean</strong> result = ((TriggeringPolicy)iter.next()).isTriggeringEvent(appender, event, file, fileLength); +<a name="50" href="#50">50</a> isTriggered = isTriggered || result; +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> <strong>return</strong> isTriggered; +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em>/**<em>*</em></em> +<a name="56" href="#56">56</a> <em> * Add triggering policy</em> +<a name="57" href="#57">57</a> <em> * </em> +<a name="58" href="#58">58</a> <em> * @param policy</em> +<a name="59" href="#59">59</a> <em> */</em> +<a name="60" href="#60">60</a> <strong>public</strong> <strong>void</strong> addTriggeringPolicy(<strong>final</strong> <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> policy) { +<a name="61" href="#61">61</a> triggeringPolicies.add(policy); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="65" href="#65">65</a> <strong>for</strong> (Iterator iter = triggeringPolicies.iterator();iter.hasNext();) { +<a name="66" href="#66">66</a> ((<a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a>)iter.next()).activateOptions(); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element, <strong>final</strong> Properties props) throws Exception { +<a name="71" href="#71">71</a> <strong>final</strong> String nodeName = element.getNodeName(); +<a name="72" href="#72">72</a> <strong>if</strong> (<span class="string">"triggeringPolicy"</span>.equals(nodeName)) { +<a name="73" href="#73">73</a> OptionHandler policy = org.apache.log4j.extras.DOMConfigurator.parseElement(element, props, TriggeringPolicy.<strong>class</strong>); +<a name="74" href="#74">74</a> <strong>if</strong> (policy instanceof TriggeringPolicy) { +<a name="75" href="#75">75</a> policy.activateOptions(); +<a name="76" href="#76">76</a> addTriggeringPolicy((TriggeringPolicy)policy); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> <strong>return</strong> <strong>true</strong>; +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> <strong>return</strong> false; +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html new file mode 100644 index 00000000000..0deda578dfd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html @@ -0,0 +1,169 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FilterBasedTriggeringPolicy xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.Filter; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.spi.TriggeringEventEvaluator; +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.xml.UnrecognizedElementHandler; +<a name="26" href="#26">26</a> <strong>import</strong> org.w3c.dom.Element; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong>import</strong> java.util.Properties; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * FilterBasedTriggeringPolicy determines if rolling should be triggered</em> +<a name="33" href="#33">33</a> <em> * by evaluating the current message against a set of filters. Unless a</em> +<a name="34" href="#34">34</a> <em> * filter rejects a message, a rolling event will be triggered.</em> +<a name="35" href="#35">35</a> <em> *</em> +<a name="36" href="#36">36</a> <em> * @author Curt Arnold</em> +<a name="37" href="#37">37</a> <em> *</em> +<a name="38" href="#38">38</a> <em> */</em> +<a name="39" href="#39">39</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html">FilterBasedTriggeringPolicy</a> +<a name="40" href="#40">40</a> implements TriggeringPolicy, TriggeringEventEvaluator, <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> { +<a name="41" href="#41">41</a> <em>/**<em>*</em></em> +<a name="42" href="#42">42</a> <em> * The first filter in the filter chain. Set to &lt;code>null&lt;/code> initially.</em> +<a name="43" href="#43">43</a> <em> */</em> +<a name="44" href="#44">44</a> <strong>private</strong> Filter headFilter; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * The last filter in the filter chain.</em> +<a name="48" href="#48">48</a> <em> */</em> +<a name="49" href="#49">49</a> <strong>private</strong> Filter tailFilter; +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em>/**<em>*</em></em> +<a name="52" href="#52">52</a> <em> * Creates a new FilterBasedTriggeringPolicy.</em> +<a name="53" href="#53">53</a> <em> */</em> +<a name="54" href="#54">54</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/FilterBasedTriggeringPolicy.html">FilterBasedTriggeringPolicy</a>() { +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em>/**<em>*</em></em> +<a name="58" href="#58">58</a> <em> * {@inheritDoc}</em> +<a name="59" href="#59">59</a> <em> */</em> +<a name="60" href="#60">60</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent(LoggingEvent event) { +<a name="61" href="#61">61</a> <em class="comment">//</em> +<a name="62" href="#62">62</a> <em class="comment">// in the abnormal case of no contained filters</em> +<a name="63" href="#63">63</a> <em class="comment">// always return true to avoid each logging event</em> +<a name="64" href="#64">64</a> <em class="comment">// from having its own file.</em> +<a name="65" href="#65">65</a> <strong>if</strong> (headFilter == <strong>null</strong>) { +<a name="66" href="#66">66</a> <strong>return</strong> false; +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em class="comment">//</em> +<a name="70" href="#70">70</a> <em class="comment">// otherwise loop through the filters</em> +<a name="71" href="#71">71</a> <em class="comment">//</em> +<a name="72" href="#72">72</a> <strong>for</strong> (Filter f = headFilter; f != <strong>null</strong>; f = f.next) { +<a name="73" href="#73">73</a> <strong>switch</strong> (f.decide(event)) { +<a name="74" href="#74">74</a> <strong>case</strong> Filter.DENY: +<a name="75" href="#75">75</a> <strong>return</strong> false; +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <strong>case</strong> Filter.ACCEPT: +<a name="78" href="#78">78</a> <strong>return</strong> <strong>true</strong>; +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <strong>return</strong> <strong>true</strong>; +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> <em>/**<em>*</em></em> +<a name="87" href="#87">87</a> <em> * {@inheritDoc}</em> +<a name="88" href="#88">88</a> <em> *</em> +<a name="89" href="#89">89</a> <em> */</em> +<a name="90" href="#90">90</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent( +<a name="91" href="#91">91</a> <strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String file, +<a name="92" href="#92">92</a> <strong>final</strong> <strong>long</strong> fileLength) { +<a name="93" href="#93">93</a> <strong>return</strong> isTriggeringEvent(event); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em>/**<em>*</em></em> +<a name="97" href="#97">97</a> <em> * Add a filter to end of the filter list.</em> +<a name="98" href="#98">98</a> <em> * @param newFilter filter to add to end of list.</em> +<a name="99" href="#99">99</a> <em> */</em> +<a name="100" href="#100">100</a> <strong>public</strong> <strong>void</strong> addFilter(<strong>final</strong> Filter newFilter) { +<a name="101" href="#101">101</a> <strong>if</strong> (headFilter == <strong>null</strong>) { +<a name="102" href="#102">102</a> headFilter = newFilter; +<a name="103" href="#103">103</a> tailFilter = newFilter; +<a name="104" href="#104">104</a> } <strong>else</strong> { +<a name="105" href="#105">105</a> tailFilter.next = newFilter; +<a name="106" href="#106">106</a> tailFilter = newFilter; +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em>/**<em>*</em></em> +<a name="111" href="#111">111</a> <em> * Clear the filters chain.</em> +<a name="112" href="#112">112</a> <em> *</em> +<a name="113" href="#113">113</a> <em> */</em> +<a name="114" href="#114">114</a> <strong>public</strong> <strong>void</strong> clearFilters() { +<a name="115" href="#115">115</a> headFilter = <strong>null</strong>; +<a name="116" href="#116">116</a> tailFilter = <strong>null</strong>; +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> +<a name="119" href="#119">119</a> <em>/**<em>*</em></em> +<a name="120" href="#120">120</a> <em> * Returns the head Filter.</em> +<a name="121" href="#121">121</a> <em> * @return head of filter chain, may be null.</em> +<a name="122" href="#122">122</a> <em> *</em> +<a name="123" href="#123">123</a> <em> */</em> +<a name="124" href="#124">124</a> <strong>public</strong> Filter getFilter() { +<a name="125" href="#125">125</a> <strong>return</strong> headFilter; +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em>/**<em>*</em></em> +<a name="129" href="#129">129</a> <em> * {@inheritDoc}</em> +<a name="130" href="#130">130</a> <em> */</em> +<a name="131" href="#131">131</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="132" href="#132">132</a> <strong>for</strong> (Filter f = headFilter; f != <strong>null</strong>; f = f.next) { +<a name="133" href="#133">133</a> f.activateOptions(); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em>/**<em>*</em></em> +<a name="138" href="#138">138</a> <em> * {@inheritDoc}</em> +<a name="139" href="#139">139</a> <em> */</em> +<a name="140" href="#140">140</a> <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element, +<a name="141" href="#141">141</a> <strong>final</strong> Properties props) throws Exception { +<a name="142" href="#142">142</a> <strong>final</strong> String nodeName = element.getNodeName(); +<a name="143" href="#143">143</a> <strong>if</strong> (<span class="string">"filter"</span>.equals(nodeName)) { +<a name="144" href="#144">144</a> OptionHandler filter = +<a name="145" href="#145">145</a> org.apache.log4j.extras.DOMConfigurator.parseElement( +<a name="146" href="#146">146</a> element, props, Filter.<strong>class</strong>); +<a name="147" href="#147">147</a> <strong>if</strong> (filter instanceof Filter) { +<a name="148" href="#148">148</a> filter.activateOptions(); +<a name="149" href="#149">149</a> <strong>this</strong>.addFilter((Filter) filter); +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> <strong>return</strong> <strong>true</strong>; +<a name="152" href="#152">152</a> } +<a name="153" href="#153">153</a> <strong>return</strong> false; +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> +<a name="156" href="#156">156</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/FixedWindowRollingPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/FixedWindowRollingPolicy.html new file mode 100644 index 00000000000..365d4855585 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/FixedWindowRollingPolicy.html @@ -0,0 +1,336 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FixedWindowRollingPolicy xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/FixedWindowRollingPolicy.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.io.File; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.ArrayList; +<a name="22" href="#22">22</a> <strong>import</strong> java.util.List; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.pattern.PatternConverter; +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.rolling.helper.Action; +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.rolling.helper.FileRenameAction; +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.rolling.helper.GZCompressAction; +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.rolling.helper.ZipCompressAction; +<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * When rolling over, &lt;code>FixedWindowRollingPolicy&lt;/code> renames files</em> +<a name="34" href="#34">34</a> <em> * according to a fixed window algorithm as described below.</em> +<a name="35" href="#35">35</a> <em> *</em> +<a name="36" href="#36">36</a> <em> * &lt;p>The &lt;b>ActiveFileName&lt;/b> property, which is required, represents the name</em> +<a name="37" href="#37">37</a> <em> * of the file where current logging output will be written.</em> +<a name="38" href="#38">38</a> <em> * The &lt;b>FileNamePattern&lt;/b> option represents the file name pattern for the</em> +<a name="39" href="#39">39</a> <em> * archived (rolled over) log files. If present, the &lt;b>FileNamePattern&lt;/b></em> +<a name="40" href="#40">40</a> <em> * option must include an integer token, that is the string "%i" somewhere</em> +<a name="41" href="#41">41</a> <em> * within the pattern.</em> +<a name="42" href="#42">42</a> <em> *</em> +<a name="43" href="#43">43</a> <em> * &lt;p>Let &lt;em>max&lt;/em> and &lt;em>min&lt;/em> represent the values of respectively</em> +<a name="44" href="#44">44</a> <em> * the &lt;b>MaxIndex&lt;/b> and &lt;b>MinIndex&lt;/b> options. Let "foo.log" be the value</em> +<a name="45" href="#45">45</a> <em> * of the &lt;b>ActiveFile&lt;/b> option and "foo.%i.log" the value of</em> +<a name="46" href="#46">46</a> <em> * &lt;b>FileNamePattern&lt;/b>. Then, when rolling over, the file</em> +<a name="47" href="#47">47</a> <em> * &lt;code>foo.&lt;em>max&lt;/em>.log&lt;/code> will be deleted, the file</em> +<a name="48" href="#48">48</a> <em> * &lt;code>foo.&lt;em>max-1&lt;/em>.log&lt;/code> will be renamed as</em> +<a name="49" href="#49">49</a> <em> * &lt;code>foo.&lt;em>max&lt;/em>.log&lt;/code>, the file &lt;code>foo.&lt;em>max-2&lt;/em>.log&lt;/code></em> +<a name="50" href="#50">50</a> <em> * renamed as &lt;code>foo.&lt;em>max-1&lt;/em>.log&lt;/code>, and so on,</em> +<a name="51" href="#51">51</a> <em> * the file &lt;code>foo.&lt;em>min+1&lt;/em>.log&lt;/code> renamed as</em> +<a name="52" href="#52">52</a> <em> * &lt;code>foo.&lt;em>min+2&lt;/em>.log&lt;/code>. Lastly, the active file &lt;code>foo.log&lt;/code></em> +<a name="53" href="#53">53</a> <em> * will be renamed as &lt;code>foo.&lt;em>min&lt;/em>.log&lt;/code> and a new active file name</em> +<a name="54" href="#54">54</a> <em> * &lt;code>foo.log&lt;/code> will be created.</em> +<a name="55" href="#55">55</a> <em> *</em> +<a name="56" href="#56">56</a> <em> * &lt;p>Given that this rollover algorithm requires as many file renaming</em> +<a name="57" href="#57">57</a> <em> * operations as the window size, large window sizes are discouraged. The</em> +<a name="58" href="#58">58</a> <em> * current implementation will automatically reduce the window size to 12 when</em> +<a name="59" href="#59">59</a> <em> * larger values are specified by the user.</em> +<a name="60" href="#60">60</a> <em> *</em> +<a name="61" href="#61">61</a> <em> *</em> +<a name="62" href="#62">62</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="63" href="#63">63</a> <em> * */</em> +<a name="64" href="#64">64</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/FixedWindowRollingPolicy.html">FixedWindowRollingPolicy</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicyBase.html">RollingPolicyBase</a> { +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em>/**<em>*</em></em> +<a name="67" href="#67">67</a> <em> * It's almost always a bad idea to have a large window size, say over 12.</em> +<a name="68" href="#68">68</a> <em> */</em> +<a name="69" href="#69">69</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> MAX_WINDOW_SIZE = 12; +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em>/**<em>*</em></em> +<a name="72" href="#72">72</a> <em> * Index for oldest retained log file.</em> +<a name="73" href="#73">73</a> <em> */</em> +<a name="74" href="#74">74</a> <strong>private</strong> <strong>int</strong> maxIndex; +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em>/**<em>*</em></em> +<a name="77" href="#77">77</a> <em> * Index for most recent log file.</em> +<a name="78" href="#78">78</a> <em> */</em> +<a name="79" href="#79">79</a> <strong>private</strong> <strong>int</strong> minIndex; +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em>/**<em>*</em></em> +<a name="82" href="#82">82</a> <em> * if true, then an explicit name for the active file was</em> +<a name="83" href="#83">83</a> <em> * specified using RollingFileAppender.file or the</em> +<a name="84" href="#84">84</a> <em> * redundent RollingPolicyBase.setActiveFile</em> +<a name="85" href="#85">85</a> <em> */</em> +<a name="86" href="#86">86</a> <strong>private</strong> <strong>boolean</strong> explicitActiveFile; +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em>/**<em>*</em></em> +<a name="89" href="#89">89</a> <em> * Constructs a new instance.</em> +<a name="90" href="#90">90</a> <em> */</em> +<a name="91" href="#91">91</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/FixedWindowRollingPolicy.html">FixedWindowRollingPolicy</a>() { +<a name="92" href="#92">92</a> minIndex = 1; +<a name="93" href="#93">93</a> maxIndex = 7; +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em>/**<em>*</em></em> +<a name="97" href="#97">97</a> <em> * {@inheritDoc}</em> +<a name="98" href="#98">98</a> <em> */</em> +<a name="99" href="#99">99</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="100" href="#100">100</a> <strong>super</strong>.activateOptions(); +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <strong>if</strong> (maxIndex &lt; minIndex) { +<a name="103" href="#103">103</a> LogLog.warn( +<a name="104" href="#104">104</a> <span class="string">"MaxIndex ("</span> + maxIndex + <span class="string">") cannot be smaller than MinIndex ("</span> +<a name="105" href="#105">105</a> + minIndex + <span class="string">")."</span>); +<a name="106" href="#106">106</a> LogLog.warn(<span class="string">"Setting maxIndex to equal minIndex."</span>); +<a name="107" href="#107">107</a> maxIndex = minIndex; +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <strong>if</strong> ((maxIndex - minIndex) > MAX_WINDOW_SIZE) { +<a name="111" href="#111">111</a> LogLog.warn(<span class="string">"Large window sizes are not allowed."</span>); +<a name="112" href="#112">112</a> maxIndex = minIndex + MAX_WINDOW_SIZE; +<a name="113" href="#113">113</a> LogLog.warn(<span class="string">"MaxIndex reduced to "</span> + String.valueOf(maxIndex) + <span class="string">"."</span>); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> itc = getIntegerPatternConverter(); +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <strong>if</strong> (itc == <strong>null</strong>) { +<a name="119" href="#119">119</a> <strong>throw</strong> <strong>new</strong> IllegalStateException( +<a name="120" href="#120">120</a> <span class="string">"FileNamePattern ["</span> + getFileNamePattern() +<a name="121" href="#121">121</a> + <span class="string">"] does not contain a valid integer format specifier"</span>); +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <em>/**<em>*</em></em> +<a name="126" href="#126">126</a> <em> * {@inheritDoc}</em> +<a name="127" href="#127">127</a> <em> */</em> +<a name="128" href="#128">128</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> initialize( +<a name="129" href="#129">129</a> <strong>final</strong> String file, <strong>final</strong> <strong>boolean</strong> append) { +<a name="130" href="#130">130</a> String newActiveFile = file; +<a name="131" href="#131">131</a> explicitActiveFile = false; +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <strong>if</strong> (activeFileName != <strong>null</strong>) { +<a name="134" href="#134">134</a> explicitActiveFile = <strong>true</strong>; +<a name="135" href="#135">135</a> newActiveFile = activeFileName; +<a name="136" href="#136">136</a> } +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <strong>if</strong> (file != <strong>null</strong>) { +<a name="139" href="#139">139</a> explicitActiveFile = <strong>true</strong>; +<a name="140" href="#140">140</a> newActiveFile = file; +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <strong>if</strong> (!explicitActiveFile) { +<a name="144" href="#144">144</a> StringBuffer buf = <strong>new</strong> StringBuffer(); +<a name="145" href="#145">145</a> formatFileName(<strong>new</strong> Integer(minIndex), buf); +<a name="146" href="#146">146</a> newActiveFile = buf.toString(); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>(<strong>new</strong>ActiveFile, append, <strong>null</strong>, <strong>null</strong>); +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em>/**<em>*</em></em> +<a name="153" href="#153">153</a> <em> * {@inheritDoc}</em> +<a name="154" href="#154">154</a> <em> */</em> +<a name="155" href="#155">155</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> rollover(<strong>final</strong> String currentFileName) { +<a name="156" href="#156">156</a> <strong>if</strong> (maxIndex >= 0) { +<a name="157" href="#157">157</a> <strong>int</strong> purgeStart = minIndex; +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <strong>if</strong> (!explicitActiveFile) { +<a name="160" href="#160">160</a> purgeStart++; +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> <strong>if</strong> (!purge(purgeStart, maxIndex)) { +<a name="164" href="#164">164</a> <strong>return</strong> <strong>null</strong>; +<a name="165" href="#165">165</a> } +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> StringBuffer buf = <strong>new</strong> StringBuffer(); +<a name="168" href="#168">168</a> formatFileName(<strong>new</strong> Integer(purgeStart), buf); +<a name="169" href="#169">169</a> +<a name="170" href="#170">170</a> String renameTo = buf.toString(); +<a name="171" href="#171">171</a> String compressedName = renameTo; +<a name="172" href="#172">172</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> compressAction = <strong>null</strong>; +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> <strong>if</strong> (renameTo.endsWith(<span class="string">".gz"</span>)) { +<a name="175" href="#175">175</a> renameTo = renameTo.substring(0, renameTo.length() - 3); +<a name="176" href="#176">176</a> compressAction = +<a name="177" href="#177">177</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/GZCompressAction.html">GZCompressAction</a>( +<a name="178" href="#178">178</a> <strong>new</strong> File(renameTo), <strong>new</strong> File(compressedName), <strong>true</strong>); +<a name="179" href="#179">179</a> } <strong>else</strong> <strong>if</strong> (renameTo.endsWith(<span class="string">".zip"</span>)) { +<a name="180" href="#180">180</a> renameTo = renameTo.substring(0, renameTo.length() - 4); +<a name="181" href="#181">181</a> compressAction = +<a name="182" href="#182">182</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/ZipCompressAction.html">ZipCompressAction</a>( +<a name="183" href="#183">183</a> <strong>new</strong> File(renameTo), <strong>new</strong> File(compressedName), <strong>true</strong>); +<a name="184" href="#184">184</a> } +<a name="185" href="#185">185</a> +<a name="186" href="#186">186</a> <a href="../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a> renameAction = +<a name="187" href="#187">187</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a>( +<a name="188" href="#188">188</a> <strong>new</strong> File(currentFileName), <strong>new</strong> File(renameTo), false); +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>( +<a name="191" href="#191">191</a> currentFileName, false, renameAction, compressAction); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> +<a name="194" href="#194">194</a> <strong>return</strong> <strong>null</strong>; +<a name="195" href="#195">195</a> } +<a name="196" href="#196">196</a> +<a name="197" href="#197">197</a> <em>/**<em>*</em></em> +<a name="198" href="#198">198</a> <em> * Get index of oldest log file to be retained.</em> +<a name="199" href="#199">199</a> <em> * @return index of oldest log file.</em> +<a name="200" href="#200">200</a> <em> */</em> +<a name="201" href="#201">201</a> <strong>public</strong> <strong>int</strong> getMaxIndex() { +<a name="202" href="#202">202</a> <strong>return</strong> maxIndex; +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> +<a name="205" href="#205">205</a> <em>/**<em>*</em></em> +<a name="206" href="#206">206</a> <em> * Get index of most recent log file.</em> +<a name="207" href="#207">207</a> <em> * @return index of oldest log file.</em> +<a name="208" href="#208">208</a> <em> */</em> +<a name="209" href="#209">209</a> <strong>public</strong> <strong>int</strong> getMinIndex() { +<a name="210" href="#210">210</a> <strong>return</strong> minIndex; +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> +<a name="213" href="#213">213</a> <em>/**<em>*</em></em> +<a name="214" href="#214">214</a> <em> * Set index of oldest log file to be retained.</em> +<a name="215" href="#215">215</a> <em> * @param maxIndex index of oldest log file to be retained.</em> +<a name="216" href="#216">216</a> <em> */</em> +<a name="217" href="#217">217</a> <strong>public</strong> <strong>void</strong> setMaxIndex(<strong>int</strong> maxIndex) { +<a name="218" href="#218">218</a> <strong>this</strong>.maxIndex = maxIndex; +<a name="219" href="#219">219</a> } +<a name="220" href="#220">220</a> +<a name="221" href="#221">221</a> <em>/**<em>*</em></em> +<a name="222" href="#222">222</a> <em> * Set index of most recent log file.</em> +<a name="223" href="#223">223</a> <em> * @param minIndex Index of most recent log file.</em> +<a name="224" href="#224">224</a> <em> */</em> +<a name="225" href="#225">225</a> <strong>public</strong> <strong>void</strong> setMinIndex(<strong>int</strong> minIndex) { +<a name="226" href="#226">226</a> <strong>this</strong>.minIndex = minIndex; +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> <em>/**<em>*</em></em> +<a name="230" href="#230">230</a> <em> * Purge and rename old log files in preparation for rollover</em> +<a name="231" href="#231">231</a> <em> * @param lowIndex low index</em> +<a name="232" href="#232">232</a> <em> * @param highIndex high index. Log file associated with high</em> +<a name="233" href="#233">233</a> <em> * index will be deleted if needed.</em> +<a name="234" href="#234">234</a> <em> * @return true if purge was successful and rollover should be attempted.</em> +<a name="235" href="#235">235</a> <em> */</em> +<a name="236" href="#236">236</a> <strong>private</strong> <strong>boolean</strong> purge(<strong>final</strong> <strong>int</strong> lowIndex, <strong>final</strong> <strong>int</strong> highIndex) { +<a name="237" href="#237">237</a> <strong>int</strong> suffixLength = 0; +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> List renames = <strong>new</strong> ArrayList(); +<a name="240" href="#240">240</a> StringBuffer buf = <strong>new</strong> StringBuffer(); +<a name="241" href="#241">241</a> formatFileName(<strong>new</strong> Integer(lowIndex), buf); +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> String lowFilename = buf.toString(); +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> <strong>if</strong> (lowFilename.endsWith(<span class="string">".gz"</span>)) { +<a name="246" href="#246">246</a> suffixLength = 3; +<a name="247" href="#247">247</a> } <strong>else</strong> <strong>if</strong> (lowFilename.endsWith(<span class="string">".zip"</span>)) { +<a name="248" href="#248">248</a> suffixLength = 4; +<a name="249" href="#249">249</a> } +<a name="250" href="#250">250</a> +<a name="251" href="#251">251</a> <strong>for</strong> (<strong>int</strong> i = lowIndex; i &lt;= highIndex; i++) { +<a name="252" href="#252">252</a> File toRename = <strong>new</strong> File(lowFilename); +<a name="253" href="#253">253</a> <strong>boolean</strong> isBase = false; +<a name="254" href="#254">254</a> +<a name="255" href="#255">255</a> <strong>if</strong> (suffixLength > 0) { +<a name="256" href="#256">256</a> File toRenameBase = +<a name="257" href="#257">257</a> <strong>new</strong> File( +<a name="258" href="#258">258</a> lowFilename.substring(0, lowFilename.length() - suffixLength)); +<a name="259" href="#259">259</a> +<a name="260" href="#260">260</a> <strong>if</strong> (toRename.exists()) { +<a name="261" href="#261">261</a> <strong>if</strong> (toRenameBase.exists()) { +<a name="262" href="#262">262</a> toRenameBase.delete(); +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> } <strong>else</strong> { +<a name="265" href="#265">265</a> toRename = toRenameBase; +<a name="266" href="#266">266</a> isBase = <strong>true</strong>; +<a name="267" href="#267">267</a> } +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> <strong>if</strong> (toRename.exists()) { +<a name="271" href="#271">271</a> <em class="comment">//</em> +<a name="272" href="#272">272</a> <em class="comment">// if at upper index then</em> +<a name="273" href="#273">273</a> <em class="comment">// attempt to delete last file</em> +<a name="274" href="#274">274</a> <em class="comment">// if that fails then abandon purge</em> +<a name="275" href="#275">275</a> <strong>if</strong> (i == highIndex) { +<a name="276" href="#276">276</a> <strong>if</strong> (!toRename.delete()) { +<a name="277" href="#277">277</a> <strong>return</strong> false; +<a name="278" href="#278">278</a> } +<a name="279" href="#279">279</a> +<a name="280" href="#280">280</a> <strong>break</strong>; +<a name="281" href="#281">281</a> } +<a name="282" href="#282">282</a> +<a name="283" href="#283">283</a> <em class="comment">//</em> +<a name="284" href="#284">284</a> <em class="comment">// if intermediate index</em> +<a name="285" href="#285">285</a> <em class="comment">// add a rename action to the list</em> +<a name="286" href="#286">286</a> buf.setLength(0); +<a name="287" href="#287">287</a> formatFileName(<strong>new</strong> Integer(i + 1), buf); +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> String highFilename = buf.toString(); +<a name="290" href="#290">290</a> String renameTo = highFilename; +<a name="291" href="#291">291</a> +<a name="292" href="#292">292</a> <strong>if</strong> (isBase) { +<a name="293" href="#293">293</a> renameTo = +<a name="294" href="#294">294</a> highFilename.substring(0, highFilename.length() - suffixLength); +<a name="295" href="#295">295</a> } +<a name="296" href="#296">296</a> +<a name="297" href="#297">297</a> renames.add(<strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a>(toRename, <strong>new</strong> File(renameTo), <strong>true</strong>)); +<a name="298" href="#298">298</a> lowFilename = highFilename; +<a name="299" href="#299">299</a> } <strong>else</strong> { +<a name="300" href="#300">300</a> <strong>break</strong>; +<a name="301" href="#301">301</a> } +<a name="302" href="#302">302</a> } +<a name="303" href="#303">303</a> +<a name="304" href="#304">304</a> <em class="comment">//</em> +<a name="305" href="#305">305</a> <em class="comment">// work renames backwards</em> +<a name="306" href="#306">306</a> <em class="comment">//</em> +<a name="307" href="#307">307</a> <strong>for</strong> (<strong>int</strong> i = renames.size() - 1; i >= 0; i--) { +<a name="308" href="#308">308</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> action = (Action) renames.get(i); +<a name="309" href="#309">309</a> +<a name="310" href="#310">310</a> <strong>try</strong> { +<a name="311" href="#311">311</a> <strong>if</strong> (!action.execute()) { +<a name="312" href="#312">312</a> <strong>return</strong> false; +<a name="313" href="#313">313</a> } +<a name="314" href="#314">314</a> } <strong>catch</strong> (Exception ex) { +<a name="315" href="#315">315</a> LogLog.warn(<span class="string">"Exception during purge in RollingFileAppender"</span>, ex); +<a name="316" href="#316">316</a> +<a name="317" href="#317">317</a> <strong>return</strong> false; +<a name="318" href="#318">318</a> } +<a name="319" href="#319">319</a> } +<a name="320" href="#320">320</a> +<a name="321" href="#321">321</a> <strong>return</strong> <strong>true</strong>; +<a name="322" href="#322">322</a> } +<a name="323" href="#323">323</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingFileAppender.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingFileAppender.html new file mode 100644 index 00000000000..06fe385ad57 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingFileAppender.html @@ -0,0 +1,580 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RollingFileAppender xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/RollingFileAppender.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.FileAppender; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.Logger; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.helpers.QuietWriter; +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.rolling.helper.Action; +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.spi.ErrorHandler; +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; +<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.xml.UnrecognizedElementHandler; +<a name="30" href="#30">30</a> <strong>import</strong> org.w3c.dom.Element; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <strong>import</strong> java.io.File; +<a name="33" href="#33">33</a> <strong>import</strong> java.io.FileOutputStream; +<a name="34" href="#34">34</a> <strong>import</strong> java.io.IOException; +<a name="35" href="#35">35</a> <strong>import</strong> java.io.OutputStream; +<a name="36" href="#36">36</a> <strong>import</strong> java.io.OutputStreamWriter; +<a name="37" href="#37">37</a> <strong>import</strong> java.io.Writer; +<a name="38" href="#38">38</a> <strong>import</strong> java.util.Properties; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> +<a name="41" href="#41">41</a> <em>/**<em>*</em></em> +<a name="42" href="#42">42</a> <em> * &lt;code>RollingFileAppender&lt;/code> extends {@link FileAppender} to backup the log files</em> +<a name="43" href="#43">43</a> <em> * depending on {@link RollingPolicy} and {@link TriggeringPolicy}.</em> +<a name="44" href="#44">44</a> <em> * &lt;p></em> +<a name="45" href="#45">45</a> <em> * To be of any use, a &lt;code>RollingFileAppender&lt;/code> instance must have both</em> +<a name="46" href="#46">46</a> <em> * a &lt;code>RollingPolicy&lt;/code> and a &lt;code>TriggeringPolicy&lt;/code> set up.</em> +<a name="47" href="#47">47</a> <em> * However, if its &lt;code>RollingPolicy&lt;/code> also implements the</em> +<a name="48" href="#48">48</a> <em> * &lt;code>TriggeringPolicy&lt;/code> interface, then only the former needs to be</em> +<a name="49" href="#49">49</a> <em> * set up. For example, {@link TimeBasedRollingPolicy} acts both as a</em> +<a name="50" href="#50">50</a> <em> * &lt;code>RollingPolicy&lt;/code> and a &lt;code>TriggeringPolicy&lt;/code>.</em> +<a name="51" href="#51">51</a> <em> *</em> +<a name="52" href="#52">52</a> <em> * &lt;p>&lt;code>RollingFileAppender&lt;/code> can be configured programattically or</em> +<a name="53" href="#53">53</a> <em> * using {@link org.apache.log4j.extras.DOMConfigurator} or</em> +<a name="54" href="#54">54</a> <em> * {@link org.apache.log4j.xml.DOMConfigurator} in log4j 1.2.15 or later. Here is a sample</em> +<a name="55" href="#55">55</a> <em> * configration file:</em> +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em>&lt;pre>&amp;lt;?xml version="1.0" encoding="UTF-8" ?></em> +<a name="58" href="#58">58</a> <em>&amp;lt;!DOCTYPE log4j:configuration></em> +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em>&amp;lt;log4j:configuration debug="true"></em> +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em> &amp;lt;appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender"></em> +<a name="63" href="#63">63</a> <em> &lt;b>&amp;lt;rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"></em> +<a name="64" href="#64">64</a> <em> &amp;lt;param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}.gz"/></em> +<a name="65" href="#65">65</a> <em> &amp;lt;/rollingPolicy>&lt;/b></em> +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em> &amp;lt;layout class="org.apache.log4j.PatternLayout"></em> +<a name="68" href="#68">68</a> <em> &amp;lt;param name="ConversionPattern" value="%c{1} - %m%n"/></em> +<a name="69" href="#69">69</a> <em> &amp;lt;/layout></em> +<a name="70" href="#70">70</a> <em> &amp;lt;/appender></em> +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em> &amp;lt;root"></em> +<a name="73" href="#73">73</a> <em> &amp;lt;appender-ref ref="ROLL"/></em> +<a name="74" href="#74">74</a> <em> &amp;lt;/root></em> +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em>&amp;lt;/log4j:configuration></em> +<a name="77" href="#77">77</a> <em>&lt;/pre></em> +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <em> *&lt;p>This configuration file specifies a monthly rollover schedule including</em> +<a name="80" href="#80">80</a> <em> * automatic compression of the archived files. See</em> +<a name="81" href="#81">81</a> <em> * {@link TimeBasedRollingPolicy} for more details.</em> +<a name="82" href="#82">82</a> <em> *</em> +<a name="83" href="#83">83</a> <em> * @author Heinz Richter</em> +<a name="84" href="#84">84</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="85" href="#85">85</a> <em> * @since 1.3</em> +<a name="86" href="#86">86</a> <em> * */</em> +<a name="87" href="#87">87</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a> <strong>extends</strong> FileAppender +<a name="88" href="#88">88</a> implements <a href="../../../../org/apache/log4j/xml/UnrecognizedElementHandler.html">UnrecognizedElementHandler</a> { +<a name="89" href="#89">89</a> <em>/**<em>*</em></em> +<a name="90" href="#90">90</a> <em> * Triggering policy.</em> +<a name="91" href="#91">91</a> <em> */</em> +<a name="92" href="#92">92</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> triggeringPolicy; +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em>/**<em>*</em></em> +<a name="95" href="#95">95</a> <em> * Rolling policy.</em> +<a name="96" href="#96">96</a> <em> */</em> +<a name="97" href="#97">97</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicy.html">RollingPolicy</a> rollingPolicy; +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em>/**<em>*</em></em> +<a name="100" href="#100">100</a> <em> * Length of current active log file.</em> +<a name="101" href="#101">101</a> <em> */</em> +<a name="102" href="#102">102</a> <strong>private</strong> <strong>long</strong> fileLength = 0; +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em>/**<em>*</em></em> +<a name="105" href="#105">105</a> <em> * Asynchronous action (like compression) from previous rollover.</em> +<a name="106" href="#106">106</a> <em> */</em> +<a name="107" href="#107">107</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> lastRolloverAsyncAction = <strong>null</strong>; +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em>/**<em>*</em></em> +<a name="111" href="#111">111</a> <em> * Construct a new instance.</em> +<a name="112" href="#112">112</a> <em> */</em> +<a name="113" href="#113">113</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a>() { +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em>/**<em>*</em></em> +<a name="117" href="#117">117</a> <em> * Prepare instance of use.</em> +<a name="118" href="#118">118</a> <em> */</em> +<a name="119" href="#119">119</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="120" href="#120">120</a> <strong>if</strong> (rollingPolicy == <strong>null</strong>) { +<a name="121" href="#121">121</a> LogLog.warn( +<a name="122" href="#122">122</a> <span class="string">"Please set a rolling policy for the RollingFileAppender named '"</span> +<a name="123" href="#123">123</a> + getName() + <span class="string">"'"</span>); +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <strong>return</strong>; +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <em class="comment">//</em> +<a name="129" href="#129">129</a> <em class="comment">// if no explicit triggering policy and rolling policy is both.</em> +<a name="130" href="#130">130</a> <em class="comment">//</em> +<a name="131" href="#131">131</a> <strong>if</strong> ( +<a name="132" href="#132">132</a> (triggeringPolicy == <strong>null</strong>) &amp;&amp; rollingPolicy instanceof TriggeringPolicy) { +<a name="133" href="#133">133</a> triggeringPolicy = (TriggeringPolicy) rollingPolicy; +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <strong>if</strong> (triggeringPolicy == <strong>null</strong>) { +<a name="137" href="#137">137</a> LogLog.warn( +<a name="138" href="#138">138</a> <span class="string">"Please set a TriggeringPolicy for the RollingFileAppender named '"</span> +<a name="139" href="#139">139</a> + getName() + <span class="string">"'"</span>); +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <strong>return</strong>; +<a name="142" href="#142">142</a> } +<a name="143" href="#143">143</a> +<a name="144" href="#144">144</a> Exception exception = <strong>null</strong>; +<a name="145" href="#145">145</a> +<a name="146" href="#146">146</a> <strong>synchronized</strong> (<strong>this</strong>) { +<a name="147" href="#147">147</a> triggeringPolicy.activateOptions(); +<a name="148" href="#148">148</a> rollingPolicy.activateOptions(); +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <strong>try</strong> { +<a name="151" href="#151">151</a> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> rollover = +<a name="152" href="#152">152</a> rollingPolicy.initialize(getFile(), getAppend()); +<a name="153" href="#153">153</a> +<a name="154" href="#154">154</a> <strong>if</strong> (rollover != <strong>null</strong>) { +<a name="155" href="#155">155</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> syncAction = rollover.getSynchronous(); +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <strong>if</strong> (syncAction != <strong>null</strong>) { +<a name="158" href="#158">158</a> syncAction.execute(); +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> setFile(rollover.getActiveFileName()); +<a name="162" href="#162">162</a> setAppend(rollover.getAppend()); +<a name="163" href="#163">163</a> lastRolloverAsyncAction = rollover.getAsynchronous(); +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <strong>if</strong> (lastRolloverAsyncAction != <strong>null</strong>) { +<a name="166" href="#166">166</a> Thread runner = <strong>new</strong> Thread(lastRolloverAsyncAction); +<a name="167" href="#167">167</a> runner.start(); +<a name="168" href="#168">168</a> } +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> File activeFile = <strong>new</strong> File(getFile()); +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <strong>if</strong> (getAppend()) { +<a name="174" href="#174">174</a> fileLength = activeFile.length(); +<a name="175" href="#175">175</a> } <strong>else</strong> { +<a name="176" href="#176">176</a> fileLength = 0; +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> +<a name="179" href="#179">179</a> <strong>super</strong>.activateOptions(); +<a name="180" href="#180">180</a> } <strong>catch</strong> (Exception ex) { +<a name="181" href="#181">181</a> exception = ex; +<a name="182" href="#182">182</a> } +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> +<a name="185" href="#185">185</a> <strong>if</strong> (exception != <strong>null</strong>) { +<a name="186" href="#186">186</a> LogLog.warn( +<a name="187" href="#187">187</a> <span class="string">"Exception while initializing RollingFileAppender named '"</span> + getName() +<a name="188" href="#188">188</a> + <span class="string">"'"</span>, exception); +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> } +<a name="191" href="#191">191</a> +<a name="192" href="#192">192</a> +<a name="193" href="#193">193</a> <strong>private</strong> QuietWriter createQuietWriter(<strong>final</strong> Writer writer) { +<a name="194" href="#194">194</a> ErrorHandler handler = errorHandler; +<a name="195" href="#195">195</a> <strong>if</strong> (handler == <strong>null</strong>) { +<a name="196" href="#196">196</a> handler = <strong>new</strong> DefaultErrorHandler(<strong>this</strong>); +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> <strong>return</strong> <strong>new</strong> QuietWriter(writer, handler); +<a name="199" href="#199">199</a> } +<a name="200" href="#200">200</a> +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <em>/**<em>*</em></em> +<a name="203" href="#203">203</a> <em> Implements the usual roll over behaviour.</em> +<a name="204" href="#204">204</a> +<a name="205" href="#205">205</a> <em> &lt;p>If &lt;code>MaxBackupIndex&lt;/code> is positive, then files</em> +<a name="206" href="#206">206</a> <em> {&lt;code>File.1&lt;/code>, ..., &lt;code>File.MaxBackupIndex -1&lt;/code>}</em> +<a name="207" href="#207">207</a> <em> are renamed to {&lt;code>File.2&lt;/code>, ...,</em> +<a name="208" href="#208">208</a> <em> &lt;code>File.MaxBackupIndex&lt;/code>}. Moreover, &lt;code>File&lt;/code> is</em> +<a name="209" href="#209">209</a> <em> renamed &lt;code>File.1&lt;/code> and closed. A new &lt;code>File&lt;/code> is</em> +<a name="210" href="#210">210</a> <em> created to receive further log output.</em> +<a name="211" href="#211">211</a> +<a name="212" href="#212">212</a> <em> &lt;p>If &lt;code>MaxBackupIndex&lt;/code> is equal to zero, then the</em> +<a name="213" href="#213">213</a> <em> &lt;code>File&lt;/code> is truncated with no backup files created.</em> +<a name="214" href="#214">214</a> +<a name="215" href="#215">215</a> <em> * @return true if rollover performed.</em> +<a name="216" href="#216">216</a> <em> */</em> +<a name="217" href="#217">217</a> <strong>public</strong> <strong>boolean</strong> rollover() { +<a name="218" href="#218">218</a> <em class="comment">//</em> +<a name="219" href="#219">219</a> <em class="comment">// can't roll without a policy</em> +<a name="220" href="#220">220</a> <em class="comment">//</em> +<a name="221" href="#221">221</a> <strong>if</strong> (rollingPolicy != <strong>null</strong>) { +<a name="222" href="#222">222</a> Exception exception = <strong>null</strong>; +<a name="223" href="#223">223</a> +<a name="224" href="#224">224</a> <strong>synchronized</strong> (<strong>this</strong>) { +<a name="225" href="#225">225</a> <em class="comment">//</em> +<a name="226" href="#226">226</a> <em class="comment">// if a previous async task is still running</em> +<a name="227" href="#227">227</a> <em class="comment">//}</em> +<a name="228" href="#228">228</a> <strong>if</strong> (lastRolloverAsyncAction != <strong>null</strong>) { +<a name="229" href="#229">229</a> <em class="comment">//</em> +<a name="230" href="#230">230</a> <em class="comment">// block until complete</em> +<a name="231" href="#231">231</a> <em class="comment">//</em> +<a name="232" href="#232">232</a> lastRolloverAsyncAction.close(); +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em class="comment">//</em> +<a name="235" href="#235">235</a> <em class="comment">// or don't block and return to rollover later</em> +<a name="236" href="#236">236</a> <em class="comment">//</em> +<a name="237" href="#237">237</a> <em class="comment">//if (!lastRolloverAsyncAction.isComplete()) return false;</em> +<a name="238" href="#238">238</a> } +<a name="239" href="#239">239</a> +<a name="240" href="#240">240</a> <strong>try</strong> { +<a name="241" href="#241">241</a> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> rollover = rollingPolicy.rollover(getFile()); +<a name="242" href="#242">242</a> +<a name="243" href="#243">243</a> <strong>if</strong> (rollover != <strong>null</strong>) { +<a name="244" href="#244">244</a> <strong>if</strong> (rollover.getActiveFileName().equals(getFile())) { +<a name="245" href="#245">245</a> closeWriter(); +<a name="246" href="#246">246</a> +<a name="247" href="#247">247</a> <strong>boolean</strong> success = <strong>true</strong>; +<a name="248" href="#248">248</a> +<a name="249" href="#249">249</a> <strong>if</strong> (rollover.getSynchronous() != <strong>null</strong>) { +<a name="250" href="#250">250</a> success = false; +<a name="251" href="#251">251</a> +<a name="252" href="#252">252</a> <strong>try</strong> { +<a name="253" href="#253">253</a> success = rollover.getSynchronous().execute(); +<a name="254" href="#254">254</a> } <strong>catch</strong> (Exception ex) { +<a name="255" href="#255">255</a> exception = ex; +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <strong>if</strong> (success) { +<a name="260" href="#260">260</a> <strong>if</strong> (rollover.getAppend()) { +<a name="261" href="#261">261</a> fileLength = <strong>new</strong> File(rollover.getActiveFileName()).length(); +<a name="262" href="#262">262</a> } <strong>else</strong> { +<a name="263" href="#263">263</a> fileLength = 0; +<a name="264" href="#264">264</a> } +<a name="265" href="#265">265</a> +<a name="266" href="#266">266</a> <strong>if</strong> (rollover.getAsynchronous() != <strong>null</strong>) { +<a name="267" href="#267">267</a> lastRolloverAsyncAction = rollover.getAsynchronous(); +<a name="268" href="#268">268</a> <strong>new</strong> Thread(lastRolloverAsyncAction).start(); +<a name="269" href="#269">269</a> } +<a name="270" href="#270">270</a> +<a name="271" href="#271">271</a> setFile( +<a name="272" href="#272">272</a> rollover.getActiveFileName(), rollover.getAppend(), +<a name="273" href="#273">273</a> bufferedIO, bufferSize); +<a name="274" href="#274">274</a> } <strong>else</strong> { +<a name="275" href="#275">275</a> setFile( +<a name="276" href="#276">276</a> rollover.getActiveFileName(), <strong>true</strong>, bufferedIO, bufferSize); +<a name="277" href="#277">277</a> +<a name="278" href="#278">278</a> <strong>if</strong> (exception == <strong>null</strong>) { +<a name="279" href="#279">279</a> LogLog.warn(<span class="string">"Failure in post-close rollover action"</span>); +<a name="280" href="#280">280</a> } <strong>else</strong> { +<a name="281" href="#281">281</a> LogLog.warn( +<a name="282" href="#282">282</a> <span class="string">"Exception in post-close rollover action"</span>, exception); +<a name="283" href="#283">283</a> } +<a name="284" href="#284">284</a> } +<a name="285" href="#285">285</a> } <strong>else</strong> { +<a name="286" href="#286">286</a> Writer newWriter = +<a name="287" href="#287">287</a> createWriter( +<a name="288" href="#288">288</a> <strong>new</strong> FileOutputStream( +<a name="289" href="#289">289</a> rollover.getActiveFileName(), rollover.getAppend())); +<a name="290" href="#290">290</a> closeWriter(); +<a name="291" href="#291">291</a> setFile(rollover.getActiveFileName()); +<a name="292" href="#292">292</a> <strong>this</strong>.qw = createQuietWriter(newWriter); +<a name="293" href="#293">293</a> +<a name="294" href="#294">294</a> <strong>boolean</strong> success = <strong>true</strong>; +<a name="295" href="#295">295</a> +<a name="296" href="#296">296</a> <strong>if</strong> (rollover.getSynchronous() != <strong>null</strong>) { +<a name="297" href="#297">297</a> success = false; +<a name="298" href="#298">298</a> +<a name="299" href="#299">299</a> <strong>try</strong> { +<a name="300" href="#300">300</a> success = rollover.getSynchronous().execute(); +<a name="301" href="#301">301</a> } <strong>catch</strong> (Exception ex) { +<a name="302" href="#302">302</a> exception = ex; +<a name="303" href="#303">303</a> } +<a name="304" href="#304">304</a> } +<a name="305" href="#305">305</a> +<a name="306" href="#306">306</a> <strong>if</strong> (success) { +<a name="307" href="#307">307</a> <strong>if</strong> (rollover.getAppend()) { +<a name="308" href="#308">308</a> fileLength = <strong>new</strong> File(rollover.getActiveFileName()).length(); +<a name="309" href="#309">309</a> } <strong>else</strong> { +<a name="310" href="#310">310</a> fileLength = 0; +<a name="311" href="#311">311</a> } +<a name="312" href="#312">312</a> +<a name="313" href="#313">313</a> <strong>if</strong> (rollover.getAsynchronous() != <strong>null</strong>) { +<a name="314" href="#314">314</a> lastRolloverAsyncAction = rollover.getAsynchronous(); +<a name="315" href="#315">315</a> <strong>new</strong> Thread(lastRolloverAsyncAction).start(); +<a name="316" href="#316">316</a> } +<a name="317" href="#317">317</a> } +<a name="318" href="#318">318</a> +<a name="319" href="#319">319</a> writeHeader(); +<a name="320" href="#320">320</a> } +<a name="321" href="#321">321</a> +<a name="322" href="#322">322</a> <strong>return</strong> <strong>true</strong>; +<a name="323" href="#323">323</a> } +<a name="324" href="#324">324</a> } <strong>catch</strong> (Exception ex) { +<a name="325" href="#325">325</a> exception = ex; +<a name="326" href="#326">326</a> } +<a name="327" href="#327">327</a> } +<a name="328" href="#328">328</a> +<a name="329" href="#329">329</a> <strong>if</strong> (exception != <strong>null</strong>) { +<a name="330" href="#330">330</a> LogLog.warn( +<a name="331" href="#331">331</a> <span class="string">"Exception during rollover, rollover deferred."</span>, exception); +<a name="332" href="#332">332</a> } +<a name="333" href="#333">333</a> } +<a name="334" href="#334">334</a> +<a name="335" href="#335">335</a> <strong>return</strong> false; +<a name="336" href="#336">336</a> } +<a name="337" href="#337">337</a> +<a name="338" href="#338">338</a> <em>/**<em>*</em></em> +<a name="339" href="#339">339</a> <em> * {@inheritDoc}</em> +<a name="340" href="#340">340</a> <em> */</em> +<a name="341" href="#341">341</a> <strong>protected</strong> <strong>void</strong> subAppend(<strong>final</strong> LoggingEvent event) { +<a name="342" href="#342">342</a> <em class="comment">// The rollover check must precede actual writing. This is the </em> +<a name="343" href="#343">343</a> <em class="comment">// only correct behavior for time driven triggers. </em> +<a name="344" href="#344">344</a> <strong>if</strong> ( +<a name="345" href="#345">345</a> triggeringPolicy.isTriggeringEvent( +<a name="346" href="#346">346</a> <strong>this</strong>, event, getFile(), getFileLength())) { +<a name="347" href="#347">347</a> <em class="comment">//</em> +<a name="348" href="#348">348</a> <em class="comment">// wrap rollover request in try block since</em> +<a name="349" href="#349">349</a> <em class="comment">// rollover may fail in case read access to directory</em> +<a name="350" href="#350">350</a> <em class="comment">// is not provided. However appender should still be in good</em> +<a name="351" href="#351">351</a> <em class="comment">// condition and the append should still happen.</em> +<a name="352" href="#352">352</a> <strong>try</strong> { +<a name="353" href="#353">353</a> rollover(); +<a name="354" href="#354">354</a> } <strong>catch</strong> (Exception ex) { +<a name="355" href="#355">355</a> LogLog.warn(<span class="string">"Exception during rollover attempt."</span>, ex); +<a name="356" href="#356">356</a> } +<a name="357" href="#357">357</a> } +<a name="358" href="#358">358</a> +<a name="359" href="#359">359</a> <strong>super</strong>.subAppend(event); +<a name="360" href="#360">360</a> } +<a name="361" href="#361">361</a> +<a name="362" href="#362">362</a> <em>/**<em>*</em></em> +<a name="363" href="#363">363</a> <em> * Get rolling policy.</em> +<a name="364" href="#364">364</a> <em> * @return rolling policy.</em> +<a name="365" href="#365">365</a> <em> */</em> +<a name="366" href="#366">366</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicy.html">RollingPolicy</a> getRollingPolicy() { +<a name="367" href="#367">367</a> <strong>return</strong> rollingPolicy; +<a name="368" href="#368">368</a> } +<a name="369" href="#369">369</a> +<a name="370" href="#370">370</a> <em>/**<em>*</em></em> +<a name="371" href="#371">371</a> <em> * Get triggering policy.</em> +<a name="372" href="#372">372</a> <em> * @return triggering policy.</em> +<a name="373" href="#373">373</a> <em> */</em> +<a name="374" href="#374">374</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> getTriggeringPolicy() { +<a name="375" href="#375">375</a> <strong>return</strong> triggeringPolicy; +<a name="376" href="#376">376</a> } +<a name="377" href="#377">377</a> +<a name="378" href="#378">378</a> <em>/**<em>*</em></em> +<a name="379" href="#379">379</a> <em> * Sets the rolling policy.</em> +<a name="380" href="#380">380</a> <em> * @param policy rolling policy.</em> +<a name="381" href="#381">381</a> <em> */</em> +<a name="382" href="#382">382</a> <strong>public</strong> <strong>void</strong> setRollingPolicy(<strong>final</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicy.html">RollingPolicy</a> policy) { +<a name="383" href="#383">383</a> rollingPolicy = policy; +<a name="384" href="#384">384</a> } +<a name="385" href="#385">385</a> +<a name="386" href="#386">386</a> <em>/**<em>*</em></em> +<a name="387" href="#387">387</a> <em> * Set triggering policy.</em> +<a name="388" href="#388">388</a> <em> * @param policy triggering policy.</em> +<a name="389" href="#389">389</a> <em> */</em> +<a name="390" href="#390">390</a> <strong>public</strong> <strong>void</strong> setTriggeringPolicy(<strong>final</strong> <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> policy) { +<a name="391" href="#391">391</a> triggeringPolicy = policy; +<a name="392" href="#392">392</a> } +<a name="393" href="#393">393</a> +<a name="394" href="#394">394</a> <em>/**<em>*</em></em> +<a name="395" href="#395">395</a> <em> * Close appender. Waits for any asynchronous file compression actions to be completed.</em> +<a name="396" href="#396">396</a> <em> */</em> +<a name="397" href="#397">397</a> <strong>public</strong> <strong>void</strong> close() { +<a name="398" href="#398">398</a> <strong>synchronized</strong> (<strong>this</strong>) { +<a name="399" href="#399">399</a> <strong>if</strong> (lastRolloverAsyncAction != <strong>null</strong>) { +<a name="400" href="#400">400</a> lastRolloverAsyncAction.close(); +<a name="401" href="#401">401</a> } +<a name="402" href="#402">402</a> } +<a name="403" href="#403">403</a> +<a name="404" href="#404">404</a> <strong>super</strong>.close(); +<a name="405" href="#405">405</a> } +<a name="406" href="#406">406</a> +<a name="407" href="#407">407</a> <em>/**<em>*</em></em> +<a name="408" href="#408">408</a> <em> Returns an OutputStreamWriter when passed an OutputStream. The</em> +<a name="409" href="#409">409</a> <em> encoding used will depend on the value of the</em> +<a name="410" href="#410">410</a> <em> &lt;code>encoding&lt;/code> property. If the encoding value is</em> +<a name="411" href="#411">411</a> <em> specified incorrectly the writer will be opened using the default</em> +<a name="412" href="#412">412</a> <em> system encoding (an error message will be printed to the loglog.</em> +<a name="413" href="#413">413</a> <em> @param os output stream, may not be null.</em> +<a name="414" href="#414">414</a> <em> @return new writer.</em> +<a name="415" href="#415">415</a> <em> */</em> +<a name="416" href="#416">416</a> <strong>protected</strong> OutputStreamWriter createWriter(<strong>final</strong> OutputStream os) { +<a name="417" href="#417">417</a> <strong>return</strong> <strong>super</strong>.createWriter(<strong>new</strong> CountingOutputStream(os, <strong>this</strong>)); +<a name="418" href="#418">418</a> } +<a name="419" href="#419">419</a> +<a name="420" href="#420">420</a> <em>/**<em>*</em></em> +<a name="421" href="#421">421</a> <em> * Get byte length of current active log file.</em> +<a name="422" href="#422">422</a> <em> * @return byte length of current active log file.</em> +<a name="423" href="#423">423</a> <em> */</em> +<a name="424" href="#424">424</a> <strong>public</strong> <strong>long</strong> getFileLength() { +<a name="425" href="#425">425</a> <strong>return</strong> fileLength; +<a name="426" href="#426">426</a> } +<a name="427" href="#427">427</a> +<a name="428" href="#428">428</a> <em>/**<em>*</em></em> +<a name="429" href="#429">429</a> <em> * Increments estimated byte length of current active log file.</em> +<a name="430" href="#430">430</a> <em> * @param increment additional bytes written to log file.</em> +<a name="431" href="#431">431</a> <em> */</em> +<a name="432" href="#432">432</a> <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> incrementFileLength(<strong>int</strong> increment) { +<a name="433" href="#433">433</a> fileLength += increment; +<a name="434" href="#434">434</a> } +<a name="435" href="#435">435</a> +<a name="436" href="#436">436</a> +<a name="437" href="#437">437</a> +<a name="438" href="#438">438</a> <em>/**<em>*</em></em> +<a name="439" href="#439">439</a> <em> * {@inheritDoc}</em> +<a name="440" href="#440">440</a> <em> */</em> +<a name="441" href="#441">441</a> <strong>public</strong> <strong>boolean</strong> parseUnrecognizedElement(<strong>final</strong> Element element, +<a name="442" href="#442">442</a> <strong>final</strong> Properties props) throws Exception { +<a name="443" href="#443">443</a> <strong>final</strong> String nodeName = element.getNodeName(); +<a name="444" href="#444">444</a> <strong>if</strong> (<span class="string">"rollingPolicy"</span>.equals(nodeName)) { +<a name="445" href="#445">445</a> OptionHandler rollingPolicy = +<a name="446" href="#446">446</a> org.apache.log4j.extras.DOMConfigurator.parseElement( +<a name="447" href="#447">447</a> element, props, RollingPolicy.<strong>class</strong>); +<a name="448" href="#448">448</a> <strong>if</strong> (rollingPolicy != <strong>null</strong>) { +<a name="449" href="#449">449</a> rollingPolicy.activateOptions(); +<a name="450" href="#450">450</a> <strong>this</strong>.setRollingPolicy((RollingPolicy) rollingPolicy); +<a name="451" href="#451">451</a> } +<a name="452" href="#452">452</a> <strong>return</strong> <strong>true</strong>; +<a name="453" href="#453">453</a> } +<a name="454" href="#454">454</a> <strong>if</strong> (<span class="string">"triggeringPolicy"</span>.equals(nodeName)) { +<a name="455" href="#455">455</a> OptionHandler triggerPolicy = +<a name="456" href="#456">456</a> org.apache.log4j.extras.DOMConfigurator.parseElement( +<a name="457" href="#457">457</a> element, props, TriggeringPolicy.<strong>class</strong>); +<a name="458" href="#458">458</a> <strong>if</strong> (triggerPolicy != <strong>null</strong>) { +<a name="459" href="#459">459</a> triggerPolicy.activateOptions(); +<a name="460" href="#460">460</a> <strong>this</strong>.setTriggeringPolicy((TriggeringPolicy) triggerPolicy); +<a name="461" href="#461">461</a> } +<a name="462" href="#462">462</a> <strong>return</strong> <strong>true</strong>; +<a name="463" href="#463">463</a> } +<a name="464" href="#464">464</a> <strong>return</strong> false; +<a name="465" href="#465">465</a> } +<a name="466" href="#466">466</a> +<a name="467" href="#467">467</a> <em>/**<em>*</em></em> +<a name="468" href="#468">468</a> <em> * Wrapper for OutputStream that will report all write</em> +<a name="469" href="#469">469</a> <em> * operations back to this class for file length calculations.</em> +<a name="470" href="#470">470</a> <em> */</em> +<a name="471" href="#471">471</a> <strong>private</strong> <strong>static</strong> <strong>class</strong> CountingOutputStream <strong>extends</strong> OutputStream { +<a name="472" href="#472">472</a> <em>/**<em>*</em></em> +<a name="473" href="#473">473</a> <em> * Wrapped output stream.</em> +<a name="474" href="#474">474</a> <em> */</em> +<a name="475" href="#475">475</a> <strong>private</strong> <strong>final</strong> OutputStream os; +<a name="476" href="#476">476</a> +<a name="477" href="#477">477</a> <em>/**<em>*</em></em> +<a name="478" href="#478">478</a> <em> * Rolling file appender to inform of stream writes.</em> +<a name="479" href="#479">479</a> <em> */</em> +<a name="480" href="#480">480</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a> rfa; +<a name="481" href="#481">481</a> +<a name="482" href="#482">482</a> <em>/**<em>*</em></em> +<a name="483" href="#483">483</a> <em> * Constructor.</em> +<a name="484" href="#484">484</a> <em> * @param os output stream to wrap.</em> +<a name="485" href="#485">485</a> <em> * @param rfa rolling file appender to inform.</em> +<a name="486" href="#486">486</a> <em> */</em> +<a name="487" href="#487">487</a> <strong>public</strong> CountingOutputStream( +<a name="488" href="#488">488</a> <strong>final</strong> OutputStream os, <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a> rfa) { +<a name="489" href="#489">489</a> <strong>this</strong>.os = os; +<a name="490" href="#490">490</a> <strong>this</strong>.rfa = rfa; +<a name="491" href="#491">491</a> } +<a name="492" href="#492">492</a> +<a name="493" href="#493">493</a> <em>/**<em>*</em></em> +<a name="494" href="#494">494</a> <em> * {@inheritDoc}</em> +<a name="495" href="#495">495</a> <em> */</em> +<a name="496" href="#496">496</a> <strong>public</strong> <strong>void</strong> close() throws IOException { +<a name="497" href="#497">497</a> os.close(); +<a name="498" href="#498">498</a> } +<a name="499" href="#499">499</a> +<a name="500" href="#500">500</a> <em>/**<em>*</em></em> +<a name="501" href="#501">501</a> <em> * {@inheritDoc}</em> +<a name="502" href="#502">502</a> <em> */</em> +<a name="503" href="#503">503</a> <strong>public</strong> <strong>void</strong> flush() throws IOException { +<a name="504" href="#504">504</a> os.flush(); +<a name="505" href="#505">505</a> } +<a name="506" href="#506">506</a> +<a name="507" href="#507">507</a> <em>/**<em>*</em></em> +<a name="508" href="#508">508</a> <em> * {@inheritDoc}</em> +<a name="509" href="#509">509</a> <em> */</em> +<a name="510" href="#510">510</a> <strong>public</strong> <strong>void</strong> write(<strong>final</strong> byte[] b) throws IOException { +<a name="511" href="#511">511</a> os.write(b); +<a name="512" href="#512">512</a> rfa.incrementFileLength(b.length); +<a name="513" href="#513">513</a> } +<a name="514" href="#514">514</a> +<a name="515" href="#515">515</a> <em>/**<em>*</em></em> +<a name="516" href="#516">516</a> <em> * {@inheritDoc}</em> +<a name="517" href="#517">517</a> <em> */</em> +<a name="518" href="#518">518</a> <strong>public</strong> <strong>void</strong> write(<strong>final</strong> byte[] b, <strong>final</strong> <strong>int</strong> off, <strong>final</strong> <strong>int</strong> len) +<a name="519" href="#519">519</a> throws IOException { +<a name="520" href="#520">520</a> os.write(b, off, len); +<a name="521" href="#521">521</a> rfa.incrementFileLength(len); +<a name="522" href="#522">522</a> } +<a name="523" href="#523">523</a> +<a name="524" href="#524">524</a> <em>/**<em>*</em></em> +<a name="525" href="#525">525</a> <em> * {@inheritDoc}</em> +<a name="526" href="#526">526</a> <em> */</em> +<a name="527" href="#527">527</a> <strong>public</strong> <strong>void</strong> write(<strong>final</strong> <strong>int</strong> b) throws IOException { +<a name="528" href="#528">528</a> os.write(b); +<a name="529" href="#529">529</a> rfa.incrementFileLength(1); +<a name="530" href="#530">530</a> } +<a name="531" href="#531">531</a> } +<a name="532" href="#532">532</a> +<a name="533" href="#533">533</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> DefaultErrorHandler implements ErrorHandler { +<a name="534" href="#534">534</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a> appender; +<a name="535" href="#535">535</a> <strong>public</strong> DefaultErrorHandler(<strong>final</strong> <a href="../../../../org/apache/log4j/rolling/RollingFileAppender.html">RollingFileAppender</a> appender) { +<a name="536" href="#536">536</a> <strong>this</strong>.appender = appender; +<a name="537" href="#537">537</a> } +<a name="538" href="#538">538</a> <em>/**<em>*@since 1.2*/</em></em> +<a name="539" href="#539">539</a> <strong>public</strong> <strong>void</strong> setLogger(Logger logger) { +<a name="540" href="#540">540</a> +<a name="541" href="#541">541</a> } +<a name="542" href="#542">542</a> <strong>public</strong> <strong>void</strong> error(String message, Exception ioe, <strong>int</strong> errorCode) { +<a name="543" href="#543">543</a> appender.close(); +<a name="544" href="#544">544</a> LogLog.error(<span class="string">"IO failure for appender named "</span>+ appender.getName(), ioe); +<a name="545" href="#545">545</a> } +<a name="546" href="#546">546</a> <strong>public</strong> <strong>void</strong> error(String message) { +<a name="547" href="#547">547</a> +<a name="548" href="#548">548</a> } +<a name="549" href="#549">549</a> <em>/**<em>*@since 1.2*/</em></em> +<a name="550" href="#550">550</a> <strong>public</strong> <strong>void</strong> error(String message, Exception e, <strong>int</strong> errorCode, LoggingEvent event) { +<a name="551" href="#551">551</a> +<a name="552" href="#552">552</a> } +<a name="553" href="#553">553</a> <em>/**<em>*@since 1.2*/</em></em> +<a name="554" href="#554">554</a> <strong>public</strong> <strong>void</strong> setAppender(Appender appender) { +<a name="555" href="#555">555</a> +<a name="556" href="#556">556</a> } +<a name="557" href="#557">557</a> <em>/**<em>*@since 1.2*/</em></em> +<a name="558" href="#558">558</a> <strong>public</strong> <strong>void</strong> setBackupAppender(Appender appender) { +<a name="559" href="#559">559</a> +<a name="560" href="#560">560</a> } +<a name="561" href="#561">561</a> +<a name="562" href="#562">562</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="563" href="#563">563</a> } +<a name="564" href="#564">564</a> +<a name="565" href="#565">565</a> } +<a name="566" href="#566">566</a> +<a name="567" href="#567">567</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingPolicy.html new file mode 100644 index 00000000000..40b8138983c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingPolicy.html @@ -0,0 +1,68 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RollingPolicy xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/RollingPolicy.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em>/**<em>*</em></em> +<a name="24" href="#24">24</a> <em> * A &lt;code>RollingPolicy&lt;/code> specifies the actions taken</em> +<a name="25" href="#25">25</a> <em> * on a logging file rollover.</em> +<a name="26" href="#26">26</a> <em> *</em> +<a name="27" href="#27">27</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="28" href="#28">28</a> <em> * @author Curt Arnold</em> +<a name="29" href="#29">29</a> <em> * */</em> +<a name="30" href="#30">30</a> <strong>public</strong> <strong>interface</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicy.html">RollingPolicy</a> <strong>extends</strong> OptionHandler { +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Initialize the policy and return any initial actions for rolling file appender..</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @param file current value of RollingFileAppender.getFile().</em> +<a name="35" href="#35">35</a> <em> * @param append current value of RollingFileAppender.getAppend().</em> +<a name="36" href="#36">36</a> <em> * @return Description of the initialization, may be null to indicate</em> +<a name="37" href="#37">37</a> <em> * no initialization needed.</em> +<a name="38" href="#38">38</a> <em> * @throws SecurityException if denied access to log files.</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> initialize( +<a name="41" href="#41">41</a> <strong>final</strong> String file, <strong>final</strong> <strong>boolean</strong> append) throws SecurityException; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * Prepare for a rollover. This method is called prior to</em> +<a name="45" href="#45">45</a> <em> * closing the active log file, performs any necessary</em> +<a name="46" href="#46">46</a> <em> * preliminary actions and describes actions needed</em> +<a name="47" href="#47">47</a> <em> * after close of current log file.</em> +<a name="48" href="#48">48</a> <em> *</em> +<a name="49" href="#49">49</a> <em> * @param activeFile file name for current active log file.</em> +<a name="50" href="#50">50</a> <em> * @return Description of pending rollover, may be null to indicate no rollover</em> +<a name="51" href="#51">51</a> <em> * at this time.</em> +<a name="52" href="#52">52</a> <em> * @throws SecurityException if denied access to log files.</em> +<a name="53" href="#53">53</a> <em> */</em> +<a name="54" href="#54">54</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> rollover(<strong>final</strong> String activeFile) throws SecurityException; +<a name="55" href="#55">55</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingPolicyBase.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingPolicyBase.html new file mode 100644 index 00000000000..fcf4ff3cb4b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RollingPolicyBase.html @@ -0,0 +1,191 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RollingPolicyBase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/RollingPolicyBase.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.pattern.FormattingInfo; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.pattern.PatternConverter; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.pattern.PatternParser; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.pattern.IntegerPatternConverter; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.pattern.DatePatternConverter; +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong>import</strong> java.util.ArrayList; +<a name="29" href="#29">29</a> <strong>import</strong> java.util.List; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * Implements methods common to most, it not all, rolling</em> +<a name="34" href="#34">34</a> <em> * policies. Currently such methods are limited to a compression mode</em> +<a name="35" href="#35">35</a> <em> * getter/setter.</em> +<a name="36" href="#36">36</a> <em> *</em> +<a name="37" href="#37">37</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="38" href="#38">38</a> <em> * @author Curt Arnold</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicyBase.html">RollingPolicyBase</a> +<a name="41" href="#41">41</a> implements RollingPolicy, OptionHandler { +<a name="42" href="#42">42</a> <em>/**<em>*</em></em> +<a name="43" href="#43">43</a> <em> * Error message.</em> +<a name="44" href="#44">44</a> <em> */</em> +<a name="45" href="#45">45</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String FNP_NOT_SET = +<a name="46" href="#46">46</a> <span class="string">"The FileNamePattern option must be set before using RollingPolicy. "</span>; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em>/**<em>*</em></em> +<a name="49" href="#49">49</a> <em> * Reference for error message.</em> +<a name="50" href="#50">50</a> <em> */</em> +<a name="51" href="#51">51</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String SEE_FNP_NOT_SET = +<a name="52" href="#52">52</a> <span class="string">"See also http://logging.apache.org/log4j/codes.html#tbr_fnp_not_set"</span>; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em>/**<em>*</em></em> +<a name="55" href="#55">55</a> <em> * File name pattern converters.</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>private</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a>[] patternConverters; +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em>/**<em>*</em></em> +<a name="60" href="#60">60</a> <em> * File name field specifiers.</em> +<a name="61" href="#61">61</a> <em> */</em> +<a name="62" href="#62">62</a> <strong>private</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>[] patternFields; +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em>/**<em>*</em></em> +<a name="65" href="#65">65</a> <em> * File name pattern.</em> +<a name="66" href="#66">66</a> <em> */</em> +<a name="67" href="#67">67</a> <strong>private</strong> String fileNamePatternStr; +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em>/**<em>*</em></em> +<a name="70" href="#70">70</a> <em> * Active file name may be null.</em> +<a name="71" href="#71">71</a> <em> * Duplicates FileAppender.file and should be removed.</em> +<a name="72" href="#72">72</a> <em> */</em> +<a name="73" href="#73">73</a> <strong>protected</strong> String activeFileName; +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> <em>/**<em>*</em></em> +<a name="76" href="#76">76</a> <em> * {@inheritDoc}</em> +<a name="77" href="#77">77</a> <em> */</em> +<a name="78" href="#78">78</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="79" href="#79">79</a> <em class="comment">// find out period from the filename pattern</em> +<a name="80" href="#80">80</a> <strong>if</strong> (fileNamePatternStr != <strong>null</strong>) { +<a name="81" href="#81">81</a> parseFileNamePattern(); +<a name="82" href="#82">82</a> } <strong>else</strong> { +<a name="83" href="#83">83</a> LogLog.warn(FNP_NOT_SET); +<a name="84" href="#84">84</a> LogLog.warn(SEE_FNP_NOT_SET); +<a name="85" href="#85">85</a> <strong>throw</strong> <strong>new</strong> IllegalStateException(FNP_NOT_SET + SEE_FNP_NOT_SET); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em>/**<em>*</em></em> +<a name="91" href="#91">91</a> <em> * Set file name pattern.</em> +<a name="92" href="#92">92</a> <em> * @param fnp file name pattern.</em> +<a name="93" href="#93">93</a> <em> */</em> +<a name="94" href="#94">94</a> <strong>public</strong> <strong>void</strong> setFileNamePattern(String fnp) { +<a name="95" href="#95">95</a> fileNamePatternStr = fnp; +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em>/**<em>*</em></em> +<a name="99" href="#99">99</a> <em> * Get file name pattern.</em> +<a name="100" href="#100">100</a> <em> * @return file name pattern.</em> +<a name="101" href="#101">101</a> <em> */</em> +<a name="102" href="#102">102</a> <strong>public</strong> String getFileNamePattern() { +<a name="103" href="#103">103</a> <strong>return</strong> fileNamePatternStr; +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <em>/**<em>*</em></em> +<a name="107" href="#107">107</a> <em> * ActiveFileName can be left unset, i.e. as null.</em> +<a name="108" href="#108">108</a> <em> * @param afn active file name.</em> +<a name="109" href="#109">109</a> <em> * @deprecated Duplicates FileAppender.file and should be removed</em> +<a name="110" href="#110">110</a> <em> */</em> +<a name="111" href="#111">111</a> <strong>public</strong> <strong>void</strong> setActiveFileName(String afn) { +<a name="112" href="#112">112</a> activeFileName = afn; +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em>/**<em>*</em></em> +<a name="116" href="#116">116</a> <em> * Return the value of the &lt;b>ActiveFile&lt;/b> option.</em> +<a name="117" href="#117">117</a> <em> * @deprecated Duplicates FileAppender.file and should be removed</em> +<a name="118" href="#118">118</a> <em> * @return active file name.</em> +<a name="119" href="#119">119</a> <em> */</em> +<a name="120" href="#120">120</a> <strong>public</strong> String getActiveFileName() { +<a name="121" href="#121">121</a> <strong>return</strong> activeFileName; +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em>/**<em>*</em></em> +<a name="125" href="#125">125</a> <em> * Parse file name pattern.</em> +<a name="126" href="#126">126</a> <em> */</em> +<a name="127" href="#127">127</a> <strong>protected</strong> <strong>final</strong> <strong>void</strong> parseFileNamePattern() { +<a name="128" href="#128">128</a> List converters = <strong>new</strong> ArrayList(); +<a name="129" href="#129">129</a> List fields = <strong>new</strong> ArrayList(); +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> PatternParser.parse( +<a name="132" href="#132">132</a> fileNamePatternStr, converters, fields, <strong>null</strong>, +<a name="133" href="#133">133</a> PatternParser.getFileNamePatternRules()); +<a name="134" href="#134">134</a> patternConverters = <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a>[converters.size()]; +<a name="135" href="#135">135</a> patternConverters = +<a name="136" href="#136">136</a> (<a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a>[]) converters.toArray(patternConverters); +<a name="137" href="#137">137</a> patternFields = <strong>new</strong> <a href="../../../../org/apache/log4j/pattern/FormattingInfo.html">FormattingInfo</a>[converters.size()]; +<a name="138" href="#138">138</a> patternFields = (FormattingInfo[]) fields.toArray(patternFields); +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em>/**<em>*</em></em> +<a name="142" href="#142">142</a> <em> * Format file name.</em> +<a name="143" href="#143">143</a> <em> *</em> +<a name="144" href="#144">144</a> <em> * @param obj object to be evaluted in formatting, may not be null.</em> +<a name="145" href="#145">145</a> <em> * @param buf string buffer to which formatted file name is appended, may not be null.</em> +<a name="146" href="#146">146</a> <em> */</em> +<a name="147" href="#147">147</a> <strong>protected</strong> <strong>final</strong> <strong>void</strong> formatFileName( +<a name="148" href="#148">148</a> <strong>final</strong> Object obj, <strong>final</strong> StringBuffer buf) { +<a name="149" href="#149">149</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; patternConverters.length; i++) { +<a name="150" href="#150">150</a> <strong>int</strong> fieldStart = buf.length(); +<a name="151" href="#151">151</a> patternConverters[i].format(obj, buf); +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong>if</strong> (patternFields[i] != <strong>null</strong>) { +<a name="154" href="#154">154</a> patternFields[i].format(fieldStart, buf); +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> } +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> +<a name="159" href="#159">159</a> <strong>protected</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> getDatePatternConverter() { +<a name="160" href="#160">160</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; patternConverters.length; i++) { +<a name="161" href="#161">161</a> <strong>if</strong> (patternConverters[i] instanceof DatePatternConverter) { +<a name="162" href="#162">162</a> <strong>return</strong> patternConverters[i]; +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> } +<a name="165" href="#165">165</a> <strong>return</strong> <strong>null</strong>; +<a name="166" href="#166">166</a> +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <strong>protected</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> getIntegerPatternConverter() { +<a name="170" href="#170">170</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; patternConverters.length; i++) { +<a name="171" href="#171">171</a> <strong>if</strong> (patternConverters[i] instanceof IntegerPatternConverter) { +<a name="172" href="#172">172</a> <strong>return</strong> patternConverters[i]; +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> } +<a name="175" href="#175">175</a> <strong>return</strong> <strong>null</strong>; +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> +<a name="178" href="#178">178</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RolloverDescription.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RolloverDescription.html new file mode 100644 index 00000000000..65a5e92e2f9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RolloverDescription.html @@ -0,0 +1,70 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RolloverDescription xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/RolloverDescription.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.rolling.helper.Action; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em>/**<em>*</em></em> +<a name="24" href="#24">24</a> <em> * Description of actions needed to complete rollover.</em> +<a name="25" href="#25">25</a> <em> *</em> +<a name="26" href="#26">26</a> <em> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em> *</em> +<a name="28" href="#28">28</a> <em> */</em> +<a name="29" href="#29">29</a> <strong>public</strong> <strong>interface</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> { +<a name="30" href="#30">30</a> <em>/**<em>*</em></em> +<a name="31" href="#31">31</a> <em> * Active log file name after rollover.</em> +<a name="32" href="#32">32</a> <em> * @return active log file name after rollover.</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> String getActiveFileName(); +<a name="35" href="#35">35</a> +<a name="36" href="#36">36</a> <em>/**<em>*</em></em> +<a name="37" href="#37">37</a> <em> * Specifies if active file should be opened for appending.</em> +<a name="38" href="#38">38</a> <em> * @return if true, active file should be opened for appending.</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>boolean</strong> getAppend(); +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em>/**<em>*</em></em> +<a name="43" href="#43">43</a> <em> * Action to be completed after close of current active log file</em> +<a name="44" href="#44">44</a> <em> * before returning control to caller.</em> +<a name="45" href="#45">45</a> <em> *</em> +<a name="46" href="#46">46</a> <em> * @return action, may be null.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> getSynchronous(); +<a name="49" href="#49">49</a> +<a name="50" href="#50">50</a> <em>/**<em>*</em></em> +<a name="51" href="#51">51</a> <em> * Action to be completed after close of current active log file</em> +<a name="52" href="#52">52</a> <em> * and before next rollover attempt, may be executed asynchronously.</em> +<a name="53" href="#53">53</a> <em> *</em> +<a name="54" href="#54">54</a> <em> * @return action, may be null.</em> +<a name="55" href="#55">55</a> <em> */</em> +<a name="56" href="#56">56</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> getAsynchronous(); +<a name="57" href="#57">57</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RolloverDescriptionImpl.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RolloverDescriptionImpl.html new file mode 100644 index 00000000000..12cedff2056 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/RolloverDescriptionImpl.html @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RolloverDescriptionImpl xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/RolloverDescriptionImpl.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.rolling.helper.Action; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em>/**<em>*</em></em> +<a name="24" href="#24">24</a> <em> * Description of actions needed to complete rollover.</em> +<a name="25" href="#25">25</a> <em> *</em> +<a name="26" href="#26">26</a> <em> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em> *</em> +<a name="28" href="#28">28</a> <em> */</em> +<a name="29" href="#29">29</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a> implements <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> { +<a name="30" href="#30">30</a> <em>/**<em>*</em></em> +<a name="31" href="#31">31</a> <em> * Active log file name after rollover.</em> +<a name="32" href="#32">32</a> <em> */</em> +<a name="33" href="#33">33</a> <strong>private</strong> <strong>final</strong> String activeFileName; +<a name="34" href="#34">34</a> +<a name="35" href="#35">35</a> <em>/**<em>*</em></em> +<a name="36" href="#36">36</a> <em> * Should active file be opened for appending.</em> +<a name="37" href="#37">37</a> <em> */</em> +<a name="38" href="#38">38</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> append; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Action to be completed after close of current active log file</em> +<a name="42" href="#42">42</a> <em> * before returning control to caller.</em> +<a name="43" href="#43">43</a> <em> */</em> +<a name="44" href="#44">44</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> synchronous; +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * Action to be completed after close of current active log file</em> +<a name="48" href="#48">48</a> <em> * and before next rollover attempt, may be executed asynchronously.</em> +<a name="49" href="#49">49</a> <em> */</em> +<a name="50" href="#50">50</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> asynchronous; +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em>/**<em>*</em></em> +<a name="53" href="#53">53</a> <em> * Create new instance.</em> +<a name="54" href="#54">54</a> <em> * @param activeFileName active log file name after rollover, may not be null.</em> +<a name="55" href="#55">55</a> <em> * @param append true if active log file after rollover should be opened for appending.</em> +<a name="56" href="#56">56</a> <em> * @param synchronous action to be completed after close of current active log file, may be null.</em> +<a name="57" href="#57">57</a> <em> * @param asynchronous action to be completed after close of current active log file and</em> +<a name="58" href="#58">58</a> <em> * before next rollover attempt.</em> +<a name="59" href="#59">59</a> <em> */</em> +<a name="60" href="#60">60</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>( +<a name="61" href="#61">61</a> <strong>final</strong> String activeFileName, <strong>final</strong> <strong>boolean</strong> append, <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> synchronous, +<a name="62" href="#62">62</a> <strong>final</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> asynchronous) { +<a name="63" href="#63">63</a> <strong>if</strong> (activeFileName == <strong>null</strong>) { +<a name="64" href="#64">64</a> <strong>throw</strong> <strong>new</strong> NullPointerException(<span class="string">"activeFileName"</span>); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong>this</strong>.append = append; +<a name="68" href="#68">68</a> <strong>this</strong>.activeFileName = activeFileName; +<a name="69" href="#69">69</a> <strong>this</strong>.synchronous = synchronous; +<a name="70" href="#70">70</a> <strong>this</strong>.asynchronous = asynchronous; +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em>/**<em>*</em></em> +<a name="74" href="#74">74</a> <em> * Active log file name after rollover.</em> +<a name="75" href="#75">75</a> <em> * @return active log file name after rollover.</em> +<a name="76" href="#76">76</a> <em> */</em> +<a name="77" href="#77">77</a> <strong>public</strong> String getActiveFileName() { +<a name="78" href="#78">78</a> <strong>return</strong> activeFileName; +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em>/**<em>*</em></em> +<a name="82" href="#82">82</a> <em> * {@inheritDoc}</em> +<a name="83" href="#83">83</a> <em> */</em> +<a name="84" href="#84">84</a> <strong>public</strong> <strong>boolean</strong> getAppend() { +<a name="85" href="#85">85</a> <strong>return</strong> append; +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em>/**<em>*</em></em> +<a name="89" href="#89">89</a> <em> * Action to be completed after close of current active log file</em> +<a name="90" href="#90">90</a> <em> * before returning control to caller.</em> +<a name="91" href="#91">91</a> <em> *</em> +<a name="92" href="#92">92</a> <em> * @return action, may be null.</em> +<a name="93" href="#93">93</a> <em> */</em> +<a name="94" href="#94">94</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> getSynchronous() { +<a name="95" href="#95">95</a> <strong>return</strong> synchronous; +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em>/**<em>*</em></em> +<a name="99" href="#99">99</a> <em> * Action to be completed after close of current active log file</em> +<a name="100" href="#100">100</a> <em> * and before next rollover attempt, may be executed asynchronously.</em> +<a name="101" href="#101">101</a> <em> *</em> +<a name="102" href="#102">102</a> <em> * @return action, may be null.</em> +<a name="103" href="#103">103</a> <em> */</em> +<a name="104" href="#104">104</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> getAsynchronous() { +<a name="105" href="#105">105</a> <strong>return</strong> asynchronous; +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html new file mode 100644 index 00000000000..bfd991d3221 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SizeBasedTriggeringPolicy xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em>/**<em>*</em></em> +<a name="26" href="#26">26</a> <em> * SizeBasedTriggeringPolicy looks at size of the file being</em> +<a name="27" href="#27">27</a> <em> * currently written to.</em> +<a name="28" href="#28">28</a> <em> *</em> +<a name="29" href="#29">29</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="30" href="#30">30</a> <em> * @author Curt Arnold</em> +<a name="31" href="#31">31</a> <em> *</em> +<a name="32" href="#32">32</a> <em> */</em> +<a name="33" href="#33">33</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html">SizeBasedTriggeringPolicy</a> implements TriggeringPolicy, +<a name="34" href="#34">34</a> OptionHandler { +<a name="35" href="#35">35</a> <em>/**<em>*</em></em> +<a name="36" href="#36">36</a> <em> * Rollover threshold size in bytes.</em> +<a name="37" href="#37">37</a> <em> */</em> +<a name="38" href="#38">38</a> <strong>private</strong> <strong>long</strong> maxFileSize = 10 * 1024 * 1024; <em class="comment">// let 10 MB the default max size</em> +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Constructs a new instance.</em> +<a name="42" href="#42">42</a> <em> */</em> +<a name="43" href="#43">43</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html">SizeBasedTriggeringPolicy</a>() { +<a name="44" href="#44">44</a> } +<a name="45" href="#45">45</a> +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * Constructs an new instance.</em> +<a name="48" href="#48">48</a> <em> * @param maxFileSize rollover threshold size in bytes.</em> +<a name="49" href="#49">49</a> <em> */</em> +<a name="50" href="#50">50</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/SizeBasedTriggeringPolicy.html">SizeBasedTriggeringPolicy</a>(<strong>final</strong> <strong>long</strong> maxFileSize) { +<a name="51" href="#51">51</a> <strong>this</strong>.maxFileSize = maxFileSize; +<a name="52" href="#52">52</a> } +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em>/**<em>*</em></em> +<a name="55" href="#55">55</a> <em> * {@inheritDoc}</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent( +<a name="58" href="#58">58</a> <strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String file, +<a name="59" href="#59">59</a> <strong>final</strong> <strong>long</strong> fileLength) { +<a name="60" href="#60">60</a> <em class="comment">//System.out.println("Size"+file.length());</em> +<a name="61" href="#61">61</a> <strong>return</strong> (fileLength >= maxFileSize); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> <em>/**<em>*</em></em> +<a name="65" href="#65">65</a> <em> * Gets rollover threshold size in bytes.</em> +<a name="66" href="#66">66</a> <em> * @return rollover threshold size in bytes.</em> +<a name="67" href="#67">67</a> <em> */</em> +<a name="68" href="#68">68</a> <strong>public</strong> <strong>long</strong> getMaxFileSize() { +<a name="69" href="#69">69</a> <strong>return</strong> maxFileSize; +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em>/**<em>*</em></em> +<a name="73" href="#73">73</a> <em> * Sets rollover threshold size in bytes.</em> +<a name="74" href="#74">74</a> <em> * @param l new value for rollover threshold size.</em> +<a name="75" href="#75">75</a> <em> */</em> +<a name="76" href="#76">76</a> <strong>public</strong> <strong>void</strong> setMaxFileSize(<strong>long</strong> l) { +<a name="77" href="#77">77</a> maxFileSize = l; +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em>/**<em>*</em></em> +<a name="81" href="#81">81</a> <em> * Prepares policy for use.</em> +<a name="82" href="#82">82</a> <em> */</em> +<a name="83" href="#83">83</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="84" href="#84">84</a> } +<a name="85" href="#85">85</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/TimeBasedRollingPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/TimeBasedRollingPolicy.html new file mode 100644 index 00000000000..23543594a72 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/TimeBasedRollingPolicy.html @@ -0,0 +1,295 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TimeBasedRollingPolicy xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.io.File; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.Date; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.Appender; +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.pattern.PatternConverter; +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.rolling.helper.Action; +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.rolling.helper.FileRenameAction; +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.rolling.helper.GZCompressAction; +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.rolling.helper.ZipCompressAction; +<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * &lt;code>TimeBasedRollingPolicy&lt;/code> is both easy to configure and quite</em> +<a name="34" href="#34">34</a> <em> * powerful.</em> +<a name="35" href="#35">35</a> <em> *</em> +<a name="36" href="#36">36</a> <em> * &lt;p>In order to use &lt;code>TimeBasedRollingPolicy&lt;/code>, the</em> +<a name="37" href="#37">37</a> <em> * &lt;b>FileNamePattern&lt;/b> option must be set. It basically specifies the name of the</em> +<a name="38" href="#38">38</a> <em> * rolled log files. The value &lt;code>FileNamePattern&lt;/code> should consist of</em> +<a name="39" href="#39">39</a> <em> * the name of the file, plus a suitably placed &lt;code>%d&lt;/code> conversion</em> +<a name="40" href="#40">40</a> <em> * specifier. The &lt;code>%d&lt;/code> conversion specifier may contain a date and</em> +<a name="41" href="#41">41</a> <em> * time pattern as specified by the {@link java.text.SimpleDateFormat} class. If</em> +<a name="42" href="#42">42</a> <em> * the date and time pattern is ommitted, then the default pattern of</em> +<a name="43" href="#43">43</a> <em> * "yyyy-MM-dd" is assumed. The following examples should clarify the point.</em> +<a name="44" href="#44">44</a> <em> *</em> +<a name="45" href="#45">45</a> <em> * &lt;p></em> +<a name="46" href="#46">46</a> <em> * &lt;table cellspacing="5px" border="1"></em> +<a name="47" href="#47">47</a> <em> * &lt;tr></em> +<a name="48" href="#48">48</a> <em> * &lt;th>&lt;code>FileNamePattern&lt;/code> value&lt;/th></em> +<a name="49" href="#49">49</a> <em> * &lt;th>Rollover schedule&lt;/th></em> +<a name="50" href="#50">50</a> <em> * &lt;th>Example&lt;/th></em> +<a name="51" href="#51">51</a> <em> * &lt;/tr></em> +<a name="52" href="#52">52</a> <em> * &lt;tr></em> +<a name="53" href="#53">53</a> <em> * &lt;td nowrap="true">&lt;code>/wombat/folder/foo.%d&lt;/code>&lt;/td></em> +<a name="54" href="#54">54</a> <em> * &lt;td>Daily rollover (at midnight). Due to the omission of the optional</em> +<a name="55" href="#55">55</a> <em> * time and date pattern for the %d token specifier, the default pattern</em> +<a name="56" href="#56">56</a> <em> * of "yyyy-MM-dd" is assumed, which corresponds to daily rollover.</em> +<a name="57" href="#57">57</a> <em> * &lt;/td></em> +<a name="58" href="#58">58</a> <em> * &lt;td>During November 23rd, 2004, logging output will go to</em> +<a name="59" href="#59">59</a> <em> * the file &lt;code>/wombat/foo.2004-11-23&lt;/code>. At midnight and for</em> +<a name="60" href="#60">60</a> <em> * the rest of the 24th, logging output will be directed to</em> +<a name="61" href="#61">61</a> <em> * &lt;code>/wombat/foo.2004-11-24&lt;/code>.</em> +<a name="62" href="#62">62</a> <em> * &lt;/td></em> +<a name="63" href="#63">63</a> <em> * &lt;/tr></em> +<a name="64" href="#64">64</a> <em> * &lt;tr></em> +<a name="65" href="#65">65</a> <em> * &lt;td nowrap="true">&lt;code>/wombat/foo.%d{yyyy-MM}.log&lt;/code>&lt;/td></em> +<a name="66" href="#66">66</a> <em> * &lt;td>Rollover at the beginning of each month.&lt;/td></em> +<a name="67" href="#67">67</a> <em> * &lt;td>During the month of October 2004, logging output will go to</em> +<a name="68" href="#68">68</a> <em> * &lt;code>/wombat/foo.2004-10.log&lt;/code>. After midnight of October 31st</em> +<a name="69" href="#69">69</a> <em> * and for the rest of November, logging output will be directed to</em> +<a name="70" href="#70">70</a> <em> * &lt;code>/wombat/foo.2004-11.log&lt;/code>.</em> +<a name="71" href="#71">71</a> <em> * &lt;/td></em> +<a name="72" href="#72">72</a> <em> * &lt;/tr></em> +<a name="73" href="#73">73</a> <em> * &lt;/table></em> +<a name="74" href="#74">74</a> <em> * &lt;h2>Automatic file compression&lt;/h2></em> +<a name="75" href="#75">75</a> <em> * &lt;code>TimeBasedRollingPolicy&lt;/code> supports automatic file compression.</em> +<a name="76" href="#76">76</a> <em> * This feature is enabled if the value of the &lt;b>FileNamePattern&lt;/b> option</em> +<a name="77" href="#77">77</a> <em> * ends with &lt;code>.gz&lt;/code> or &lt;code>.zip&lt;/code>.</em> +<a name="78" href="#78">78</a> <em> * &lt;p></em> +<a name="79" href="#79">79</a> <em> * &lt;table cellspacing="5px" border="1"></em> +<a name="80" href="#80">80</a> <em> * &lt;tr></em> +<a name="81" href="#81">81</a> <em> * &lt;th>&lt;code>FileNamePattern&lt;/code> value&lt;/th></em> +<a name="82" href="#82">82</a> <em> * &lt;th>Rollover schedule&lt;/th></em> +<a name="83" href="#83">83</a> <em> * &lt;th>Example&lt;/th></em> +<a name="84" href="#84">84</a> <em> * &lt;/tr></em> +<a name="85" href="#85">85</a> <em> * &lt;tr></em> +<a name="86" href="#86">86</a> <em> * &lt;td nowrap="true">&lt;code>/wombat/foo.%d.gz&lt;/code>&lt;/td></em> +<a name="87" href="#87">87</a> <em> * &lt;td>Daily rollover (at midnight) with automatic GZIP compression of the</em> +<a name="88" href="#88">88</a> <em> * archived files.&lt;/td></em> +<a name="89" href="#89">89</a> <em> * &lt;td>During November 23rd, 2004, logging output will go to</em> +<a name="90" href="#90">90</a> <em> * the file &lt;code>/wombat/foo.2004-11-23&lt;/code>. However, at midnight that</em> +<a name="91" href="#91">91</a> <em> * file will be compressed to become &lt;code>/wombat/foo.2004-11-23.gz&lt;/code>.</em> +<a name="92" href="#92">92</a> <em> * For the 24th of November, logging output will be directed to</em> +<a name="93" href="#93">93</a> <em> * &lt;code>/wombat/folder/foo.2004-11-24&lt;/code> until its rolled over at the</em> +<a name="94" href="#94">94</a> <em> * beginning of the next day.</em> +<a name="95" href="#95">95</a> <em> * &lt;/td></em> +<a name="96" href="#96">96</a> <em> * &lt;/tr></em> +<a name="97" href="#97">97</a> <em> * &lt;/table></em> +<a name="98" href="#98">98</a> <em> *</em> +<a name="99" href="#99">99</a> <em> * &lt;h2>Decoupling the location of the active log file and the archived log files&lt;/h2></em> +<a name="100" href="#100">100</a> <em> * &lt;p>The &lt;em>active file&lt;/em> is defined as the log file for the current period</em> +<a name="101" href="#101">101</a> <em> * whereas &lt;em>archived files&lt;/em> are those files which have been rolled over</em> +<a name="102" href="#102">102</a> <em> * in previous periods.</em> +<a name="103" href="#103">103</a> <em> *</em> +<a name="104" href="#104">104</a> <em> * &lt;p>By setting the &lt;b>ActiveFileName&lt;/b> option you can decouple the location</em> +<a name="105" href="#105">105</a> <em> * of the active log file and the location of the archived log files.</em> +<a name="106" href="#106">106</a> <em> * &lt;p></em> +<a name="107" href="#107">107</a> <em> * &lt;table cellspacing="5px" border="1"></em> +<a name="108" href="#108">108</a> <em> * &lt;tr></em> +<a name="109" href="#109">109</a> <em> * &lt;th>&lt;code>FileNamePattern&lt;/code> value&lt;/th></em> +<a name="110" href="#110">110</a> <em> * &lt;th>ActiveFileName&lt;/th></em> +<a name="111" href="#111">111</a> <em> * &lt;th>Rollover schedule&lt;/th></em> +<a name="112" href="#112">112</a> <em> * &lt;th>Example&lt;/th></em> +<a name="113" href="#113">113</a> <em> * &lt;/tr></em> +<a name="114" href="#114">114</a> <em> * &lt;tr></em> +<a name="115" href="#115">115</a> <em> * &lt;td nowrap="true">&lt;code>/wombat/foo.log.%d&lt;/code>&lt;/td></em> +<a name="116" href="#116">116</a> <em> * &lt;td nowrap="true">&lt;code>/wombat/foo.log&lt;/code>&lt;/td></em> +<a name="117" href="#117">117</a> <em> * &lt;td>Daily rollover.&lt;/td></em> +<a name="118" href="#118">118</a> <em> *</em> +<a name="119" href="#119">119</a> <em> * &lt;td>During November 23rd, 2004, logging output will go to</em> +<a name="120" href="#120">120</a> <em> * the file &lt;code>/wombat/foo.log&lt;/code>. However, at midnight that file</em> +<a name="121" href="#121">121</a> <em> * will archived as &lt;code>/wombat/foo.log.2004-11-23&lt;/code>. For the 24th</em> +<a name="122" href="#122">122</a> <em> * of November, logging output will be directed to</em> +<a name="123" href="#123">123</a> <em> * &lt;code>/wombat/folder/foo.log&lt;/code> until its archived as</em> +<a name="124" href="#124">124</a> <em> * &lt;code>/wombat/foo.log.2004-11-24&lt;/code> at the beginning of the next</em> +<a name="125" href="#125">125</a> <em> * day.</em> +<a name="126" href="#126">126</a> <em> * &lt;/td></em> +<a name="127" href="#127">127</a> <em> * &lt;/tr></em> +<a name="128" href="#128">128</a> <em> * &lt;/table></em> +<a name="129" href="#129">129</a> <em> * &lt;p></em> +<a name="130" href="#130">130</a> <em> * If configuring programatically, do not forget to call {@link #activateOptions}</em> +<a name="131" href="#131">131</a> <em> * method before using this policy. Moreover, {@link #activateOptions} of</em> +<a name="132" href="#132">132</a> <em> * &lt;code> TimeBasedRollingPolicy&lt;/code> must be called &lt;em>before&lt;/em> calling</em> +<a name="133" href="#133">133</a> <em> * the {@link #activateOptions} method of the owning</em> +<a name="134" href="#134">134</a> <em> * &lt;code>RollingFileAppender&lt;/code>.</em> +<a name="135" href="#135">135</a> <em> *</em> +<a name="136" href="#136">136</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="137" href="#137">137</a> <em> * @author Curt Arnold</em> +<a name="138" href="#138">138</a> <em> */</em> +<a name="139" href="#139">139</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rolling/TimeBasedRollingPolicy.html">TimeBasedRollingPolicy</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rolling/RollingPolicyBase.html">RollingPolicyBase</a> +<a name="140" href="#140">140</a> implements <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> { +<a name="141" href="#141">141</a> +<a name="142" href="#142">142</a> <em>/**<em>*</em></em> +<a name="143" href="#143">143</a> <em> * Time for next determination if time for rollover.</em> +<a name="144" href="#144">144</a> <em> */</em> +<a name="145" href="#145">145</a> <strong>private</strong> <strong>long</strong> nextCheck = 0; +<a name="146" href="#146">146</a> +<a name="147" href="#147">147</a> <em>/**<em>*</em></em> +<a name="148" href="#148">148</a> <em> * File name at last rollover.</em> +<a name="149" href="#149">149</a> <em> */</em> +<a name="150" href="#150">150</a> <strong>private</strong> String lastFileName = <strong>null</strong>; +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em>/**<em>*</em></em> +<a name="153" href="#153">153</a> <em> * Length of any file type suffix (.gz, .zip).</em> +<a name="154" href="#154">154</a> <em> */</em> +<a name="155" href="#155">155</a> <strong>private</strong> <strong>int</strong> suffixLength = 0; +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <em>/**<em>*</em></em> +<a name="158" href="#158">158</a> <em> * Constructs a new instance.</em> +<a name="159" href="#159">159</a> <em> */</em> +<a name="160" href="#160">160</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/TimeBasedRollingPolicy.html">TimeBasedRollingPolicy</a>() { +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> +<a name="163" href="#163">163</a> <em>/**<em>*</em></em> +<a name="164" href="#164">164</a> <em> * Prepares instance of use.</em> +<a name="165" href="#165">165</a> <em> */</em> +<a name="166" href="#166">166</a> <strong>public</strong> <strong>void</strong> activateOptions() { +<a name="167" href="#167">167</a> <strong>super</strong>.activateOptions(); +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <a href="../../../../org/apache/log4j/pattern/PatternConverter.html">PatternConverter</a> dtc = getDatePatternConverter(); +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <strong>if</strong> (dtc == <strong>null</strong>) { +<a name="172" href="#172">172</a> <strong>throw</strong> <strong>new</strong> IllegalStateException( +<a name="173" href="#173">173</a> <span class="string">"FileNamePattern ["</span> + getFileNamePattern() +<a name="174" href="#174">174</a> + <span class="string">"] does not contain a valid date format specifier"</span>); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <strong>long</strong> n = System.currentTimeMillis(); +<a name="178" href="#178">178</a> StringBuffer buf = <strong>new</strong> StringBuffer(); +<a name="179" href="#179">179</a> formatFileName(<strong>new</strong> Date(n), buf); +<a name="180" href="#180">180</a> lastFileName = buf.toString(); +<a name="181" href="#181">181</a> +<a name="182" href="#182">182</a> suffixLength = 0; +<a name="183" href="#183">183</a> +<a name="184" href="#184">184</a> <strong>if</strong> (lastFileName.endsWith(<span class="string">".gz"</span>)) { +<a name="185" href="#185">185</a> suffixLength = 3; +<a name="186" href="#186">186</a> } <strong>else</strong> <strong>if</strong> (lastFileName.endsWith(<span class="string">".zip"</span>)) { +<a name="187" href="#187">187</a> suffixLength = 4; +<a name="188" href="#188">188</a> } +<a name="189" href="#189">189</a> } +<a name="190" href="#190">190</a> +<a name="191" href="#191">191</a> <em>/**<em>*</em></em> +<a name="192" href="#192">192</a> <em> * {@inheritDoc}</em> +<a name="193" href="#193">193</a> <em> */</em> +<a name="194" href="#194">194</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> initialize( +<a name="195" href="#195">195</a> <strong>final</strong> String currentActiveFile, <strong>final</strong> <strong>boolean</strong> append) { +<a name="196" href="#196">196</a> <strong>long</strong> n = System.currentTimeMillis(); +<a name="197" href="#197">197</a> nextCheck = ((n / 1000) + 1) * 1000; +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> StringBuffer buf = <strong>new</strong> StringBuffer(); +<a name="200" href="#200">200</a> formatFileName(<strong>new</strong> Date(n), buf); +<a name="201" href="#201">201</a> lastFileName = buf.toString(); +<a name="202" href="#202">202</a> +<a name="203" href="#203">203</a> <em class="comment">//</em> +<a name="204" href="#204">204</a> <em class="comment">// RollingPolicyBase.activeFileName duplicates RollingFileAppender.file</em> +<a name="205" href="#205">205</a> <em class="comment">// and should be removed.</em> +<a name="206" href="#206">206</a> <em class="comment">//</em> +<a name="207" href="#207">207</a> <strong>if</strong> (activeFileName != <strong>null</strong>) { +<a name="208" href="#208">208</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>(activeFileName, append, <strong>null</strong>, <strong>null</strong>); +<a name="209" href="#209">209</a> } <strong>else</strong> <strong>if</strong> (currentActiveFile != <strong>null</strong>) { +<a name="210" href="#210">210</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>( +<a name="211" href="#211">211</a> currentActiveFile, append, <strong>null</strong>, <strong>null</strong>); +<a name="212" href="#212">212</a> } <strong>else</strong> { +<a name="213" href="#213">213</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>( +<a name="214" href="#214">214</a> lastFileName.substring(0, lastFileName.length() - suffixLength), append, +<a name="215" href="#215">215</a> <strong>null</strong>, <strong>null</strong>); +<a name="216" href="#216">216</a> } +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> +<a name="219" href="#219">219</a> <em>/**<em>*</em></em> +<a name="220" href="#220">220</a> <em> * {@inheritDoc}</em> +<a name="221" href="#221">221</a> <em> */</em> +<a name="222" href="#222">222</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescription.html">RolloverDescription</a> rollover(<strong>final</strong> String currentActiveFile) { +<a name="223" href="#223">223</a> <strong>long</strong> n = System.currentTimeMillis(); +<a name="224" href="#224">224</a> nextCheck = ((n / 1000) + 1) * 1000; +<a name="225" href="#225">225</a> +<a name="226" href="#226">226</a> StringBuffer buf = <strong>new</strong> StringBuffer(); +<a name="227" href="#227">227</a> formatFileName(<strong>new</strong> Date(n), buf); +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> String newFileName = buf.toString(); +<a name="230" href="#230">230</a> +<a name="231" href="#231">231</a> <em class="comment">//</em> +<a name="232" href="#232">232</a> <em class="comment">// if file names haven't changed, no rollover</em> +<a name="233" href="#233">233</a> <em class="comment">//</em> +<a name="234" href="#234">234</a> <strong>if</strong> (newFileName.equals(lastFileName)) { +<a name="235" href="#235">235</a> <strong>return</strong> <strong>null</strong>; +<a name="236" href="#236">236</a> } +<a name="237" href="#237">237</a> +<a name="238" href="#238">238</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> renameAction = <strong>null</strong>; +<a name="239" href="#239">239</a> <a href="../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> compressAction = <strong>null</strong>; +<a name="240" href="#240">240</a> String lastBaseName = +<a name="241" href="#241">241</a> lastFileName.substring(0, lastFileName.length() - suffixLength); +<a name="242" href="#242">242</a> String nextActiveFile = +<a name="243" href="#243">243</a> newFileName.substring(0, newFileName.length() - suffixLength); +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> <em class="comment">//</em> +<a name="246" href="#246">246</a> <em class="comment">// if currentActiveFile is not lastBaseName then</em> +<a name="247" href="#247">247</a> <em class="comment">// active file name is not following file pattern</em> +<a name="248" href="#248">248</a> <em class="comment">// and requires a rename plus maintaining the same name</em> +<a name="249" href="#249">249</a> <strong>if</strong> (!currentActiveFile.equals(lastBaseName)) { +<a name="250" href="#250">250</a> renameAction = +<a name="251" href="#251">251</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a>( +<a name="252" href="#252">252</a> <strong>new</strong> File(currentActiveFile), <strong>new</strong> File(lastBaseName), <strong>true</strong>); +<a name="253" href="#253">253</a> nextActiveFile = currentActiveFile; +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> +<a name="256" href="#256">256</a> <strong>if</strong> (suffixLength == 3) { +<a name="257" href="#257">257</a> compressAction = +<a name="258" href="#258">258</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/GZCompressAction.html">GZCompressAction</a>( +<a name="259" href="#259">259</a> <strong>new</strong> File(lastBaseName), <strong>new</strong> File(lastFileName), <strong>true</strong>); +<a name="260" href="#260">260</a> } +<a name="261" href="#261">261</a> +<a name="262" href="#262">262</a> <strong>if</strong> (suffixLength == 4) { +<a name="263" href="#263">263</a> compressAction = +<a name="264" href="#264">264</a> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/helper/ZipCompressAction.html">ZipCompressAction</a>( +<a name="265" href="#265">265</a> <strong>new</strong> File(lastBaseName), <strong>new</strong> File(lastFileName), <strong>true</strong>); +<a name="266" href="#266">266</a> } +<a name="267" href="#267">267</a> +<a name="268" href="#268">268</a> lastFileName = newFileName; +<a name="269" href="#269">269</a> +<a name="270" href="#270">270</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rolling/RolloverDescriptionImpl.html">RolloverDescriptionImpl</a>( +<a name="271" href="#271">271</a> nextActiveFile, false, renameAction, compressAction); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> +<a name="274" href="#274">274</a> <em>/**<em>*</em></em> +<a name="275" href="#275">275</a> <em> * {@inheritDoc}</em> +<a name="276" href="#276">276</a> <em> */</em> +<a name="277" href="#277">277</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent( +<a name="278" href="#278">278</a> <strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String filename, +<a name="279" href="#279">279</a> <strong>final</strong> <strong>long</strong> fileLength) { +<a name="280" href="#280">280</a> <strong>return</strong> System.currentTimeMillis() >= nextCheck; +<a name="281" href="#281">281</a> } +<a name="282" href="#282">282</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/TriggeringPolicy.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/TriggeringPolicy.html new file mode 100644 index 00000000000..4eeea0ff983 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/TriggeringPolicy.html @@ -0,0 +1,62 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TriggeringPolicy xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rolling/TriggeringPolicy.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.Appender; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.OptionHandler; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <em>/**<em>*</em></em> +<a name="26" href="#26">26</a> <em> * A &lt;code>TriggeringPolicy&lt;/code> controls the conditions under which rollover</em> +<a name="27" href="#27">27</a> <em> * occurs. Such conditions include time of day, file size, an</em> +<a name="28" href="#28">28</a> <em> * external event, the log request or a combination thereof.</em> +<a name="29" href="#29">29</a> <em> *</em> +<a name="30" href="#30">30</a> <em> * @author Ceki G&amp;uuml;lc&amp;uuml;</em> +<a name="31" href="#31">31</a> <em> * @author Curt Arnold</em> +<a name="32" href="#32">32</a> <em> * </em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>interface</strong> <a href="../../../../org/apache/log4j/rolling/TriggeringPolicy.html">TriggeringPolicy</a> <strong>extends</strong> OptionHandler { +<a name="35" href="#35">35</a> <em>/**<em>*</em></em> +<a name="36" href="#36">36</a> <em> * Determines if a rollover may be appropriate at this time. If</em> +<a name="37" href="#37">37</a> <em> * true is returned, RolloverPolicy.rollover will be called but it</em> +<a name="38" href="#38">38</a> <em> * can determine that a rollover is not warranted.</em> +<a name="39" href="#39">39</a> <em> *</em> +<a name="40" href="#40">40</a> <em> * @param appender A reference to the appender.</em> +<a name="41" href="#41">41</a> <em> * @param event A reference to the currently event.</em> +<a name="42" href="#42">42</a> <em> * @param filename The filename for the currently active log file.</em> +<a name="43" href="#43">43</a> <em> * @param fileLength Length of the file in bytes.</em> +<a name="44" href="#44">44</a> <em> * @return true if a rollover should occur.</em> +<a name="45" href="#45">45</a> <em> */</em> +<a name="46" href="#46">46</a> <strong>public</strong> <strong>boolean</strong> isTriggeringEvent( +<a name="47" href="#47">47</a> <strong>final</strong> Appender appender, <strong>final</strong> LoggingEvent event, <strong>final</strong> String filename, +<a name="48" href="#48">48</a> <strong>final</strong> <strong>long</strong> fileLength); +<a name="49" href="#49">49</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/Action.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/Action.html new file mode 100644 index 00000000000..a695d174315 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/Action.html @@ -0,0 +1,63 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Action xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/Action.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling.helper; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.io.IOException; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em>/**<em>*</em></em> +<a name="24" href="#24">24</a> <em> * The Action interface should be implemented by any class that performs</em> +<a name="25" href="#25">25</a> <em> * file system actions for RollingFileAppenders after the close of</em> +<a name="26" href="#26">26</a> <em> * the active log file.</em> +<a name="27" href="#27">27</a> <em> *</em> +<a name="28" href="#28">28</a> <em> * @author Curt Arnold</em> +<a name="29" href="#29">29</a> <em> */</em> +<a name="30" href="#30">30</a> <strong>public</strong> <strong>interface</strong> <a href="../../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> <strong>extends</strong> Runnable { +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Perform an action.</em> +<a name="33" href="#33">33</a> <em> * @return true if action was successful. A return value of false will cause</em> +<a name="34" href="#34">34</a> <em> * the rollover to be aborted if possible.</em> +<a name="35" href="#35">35</a> <em> * @throws IOException if IO error, a thrown exception will cause the rollover</em> +<a name="36" href="#36">36</a> <em> * to be aborted if possible.</em> +<a name="37" href="#37">37</a> <em> */</em> +<a name="38" href="#38">38</a> <strong>boolean</strong> execute() throws IOException; +<a name="39" href="#39">39</a> +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Cancels the action if not already initialized or waits till completion.</em> +<a name="42" href="#42">42</a> <em> */</em> +<a name="43" href="#43">43</a> <strong>void</strong> close(); +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em>/**<em>*</em></em> +<a name="46" href="#46">46</a> <em> * Determines if action has been completed.</em> +<a name="47" href="#47">47</a> <em> * @return true if action is complete.</em> +<a name="48" href="#48">48</a> <em> */</em> +<a name="49" href="#49">49</a> <strong>boolean</strong> isComplete(); +<a name="50" href="#50">50</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/ActionBase.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/ActionBase.html new file mode 100644 index 00000000000..d51c3a14f1e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/ActionBase.html @@ -0,0 +1,104 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ActionBase xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/ActionBase.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling.helper; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.io.IOException; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em>/**<em>*</em></em> +<a name="24" href="#24">24</a> <em> * Abstract base class for implementations of Action.</em> +<a name="25" href="#25">25</a> <em> *</em> +<a name="26" href="#26">26</a> <em> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em> */</em> +<a name="28" href="#28">28</a> <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a> implements <a href="../../../../../org/apache/log4j/rolling/helper/Action.html">Action</a> { +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * Is action complete.</em> +<a name="31" href="#31">31</a> <em> */</em> +<a name="32" href="#32">32</a> <strong>private</strong> <strong>boolean</strong> complete = false; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em>/**<em>*</em></em> +<a name="35" href="#35">35</a> <em> * Is action interrupted.</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>private</strong> <strong>boolean</strong> interrupted = false; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em>/**<em>*</em></em> +<a name="40" href="#40">40</a> <em> * Constructor.</em> +<a name="41" href="#41">41</a> <em> */</em> +<a name="42" href="#42">42</a> <strong>protected</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a>() { +<a name="43" href="#43">43</a> } +<a name="44" href="#44">44</a> +<a name="45" href="#45">45</a> <em>/**<em>*</em></em> +<a name="46" href="#46">46</a> <em> * Perform action.</em> +<a name="47" href="#47">47</a> <em> *</em> +<a name="48" href="#48">48</a> <em> * @throws IOException if IO error.</em> +<a name="49" href="#49">49</a> <em> * @return true if successful.</em> +<a name="50" href="#50">50</a> <em> */</em> +<a name="51" href="#51">51</a> <strong>public</strong> <strong>abstract</strong> <strong>boolean</strong> execute() throws IOException; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em>/**<em>*</em></em> +<a name="54" href="#54">54</a> <em> * {@inheritDoc}</em> +<a name="55" href="#55">55</a> <em> */</em> +<a name="56" href="#56">56</a> <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> run() { +<a name="57" href="#57">57</a> <strong>if</strong> (!interrupted) { +<a name="58" href="#58">58</a> <strong>try</strong> { +<a name="59" href="#59">59</a> execute(); +<a name="60" href="#60">60</a> } <strong>catch</strong> (IOException ex) { +<a name="61" href="#61">61</a> reportException(ex); +<a name="62" href="#62">62</a> } +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> complete = <strong>true</strong>; +<a name="65" href="#65">65</a> interrupted = <strong>true</strong>; +<a name="66" href="#66">66</a> } +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em>/**<em>*</em></em> +<a name="70" href="#70">70</a> <em> * {@inheritDoc}</em> +<a name="71" href="#71">71</a> <em> */</em> +<a name="72" href="#72">72</a> <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> close() { +<a name="73" href="#73">73</a> interrupted = <strong>true</strong>; +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em>/**<em>*</em></em> +<a name="77" href="#77">77</a> <em> * Tests if the action is complete.</em> +<a name="78" href="#78">78</a> <em> * @return true if action is complete.</em> +<a name="79" href="#79">79</a> <em> */</em> +<a name="80" href="#80">80</a> <strong>public</strong> <strong>boolean</strong> isComplete() { +<a name="81" href="#81">81</a> <strong>return</strong> complete; +<a name="82" href="#82">82</a> } +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <em>/**<em>*</em></em> +<a name="85" href="#85">85</a> <em> * Capture exception.</em> +<a name="86" href="#86">86</a> <em> *</em> +<a name="87" href="#87">87</a> <em> * @param ex exception.</em> +<a name="88" href="#88">88</a> <em> */</em> +<a name="89" href="#89">89</a> <strong>protected</strong> <strong>void</strong> reportException(<strong>final</strong> Exception ex) { +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/CompositeAction.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/CompositeAction.html new file mode 100644 index 00000000000..0e603dac6e1 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/CompositeAction.html @@ -0,0 +1,116 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CompositeAction xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/CompositeAction.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling.helper; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.io.IOException; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong>import</strong> java.util.List; +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <em>/**<em>*</em></em> +<a name="27" href="#27">27</a> <em> * A group of Actions to be executed in sequence.</em> +<a name="28" href="#28">28</a> <em> *</em> +<a name="29" href="#29">29</a> <em> * @author Curt Arnold</em> +<a name="30" href="#30">30</a> <em> *</em> +<a name="31" href="#31">31</a> <em> */</em> +<a name="32" href="#32">32</a> <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/CompositeAction.html">CompositeAction</a> <strong>extends</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a> { +<a name="33" href="#33">33</a> <em>/**<em>*</em></em> +<a name="34" href="#34">34</a> <em> * Actions to perform.</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>private</strong> <strong>final</strong> <a href="../../../../../org/apache/log4j/rolling/helper/Action.html">Action</a>[] actions; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em>/**<em>*</em></em> +<a name="39" href="#39">39</a> <em> * Stop on error.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> stopOnError; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * Construct a new composite action.</em> +<a name="45" href="#45">45</a> <em> * @param actions list of actions, may not be null.</em> +<a name="46" href="#46">46</a> <em> * @param stopOnError if true, stop on the first false return value or exception.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <strong>public</strong> <a href="../../../../../org/apache/log4j/rolling/helper/CompositeAction.html">CompositeAction</a>(<strong>final</strong> List actions, +<a name="49" href="#49">49</a> <strong>final</strong> <strong>boolean</strong> stopOnError) { +<a name="50" href="#50">50</a> <strong>this</strong>.actions = <strong>new</strong> <a href="../../../../../org/apache/log4j/rolling/helper/Action.html">Action</a>[actions.size()]; +<a name="51" href="#51">51</a> actions.toArray(<strong>this</strong>.actions); +<a name="52" href="#52">52</a> <strong>this</strong>.stopOnError = stopOnError; +<a name="53" href="#53">53</a> } +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em>/**<em>*</em></em> +<a name="56" href="#56">56</a> <em> * {@inheritDoc}</em> +<a name="57" href="#57">57</a> <em> */</em> +<a name="58" href="#58">58</a> <strong>public</strong> <strong>void</strong> run() { +<a name="59" href="#59">59</a> <strong>try</strong> { +<a name="60" href="#60">60</a> execute(); +<a name="61" href="#61">61</a> } <strong>catch</strong> (IOException ex) { +<a name="62" href="#62">62</a> LogLog.warn(<span class="string">"Exception during file rollover."</span>, ex); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em>/**<em>*</em></em> +<a name="67" href="#67">67</a> <em> * Execute sequence of actions.</em> +<a name="68" href="#68">68</a> <em> * @return true if all actions were successful.</em> +<a name="69" href="#69">69</a> <em> * @throws IOException on IO error.</em> +<a name="70" href="#70">70</a> <em> */</em> +<a name="71" href="#71">71</a> <strong>public</strong> <strong>boolean</strong> execute() throws IOException { +<a name="72" href="#72">72</a> <strong>if</strong> (stopOnError) { +<a name="73" href="#73">73</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; actions.length; i++) { +<a name="74" href="#74">74</a> <strong>if</strong> (!actions[i].execute()) { +<a name="75" href="#75">75</a> <strong>return</strong> false; +<a name="76" href="#76">76</a> } +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong>return</strong> <strong>true</strong>; +<a name="80" href="#80">80</a> } <strong>else</strong> { +<a name="81" href="#81">81</a> <strong>boolean</strong> status = <strong>true</strong>; +<a name="82" href="#82">82</a> IOException exception = <strong>null</strong>; +<a name="83" href="#83">83</a> +<a name="84" href="#84">84</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; actions.length; i++) { +<a name="85" href="#85">85</a> <strong>try</strong> { +<a name="86" href="#86">86</a> status &amp;= actions[i].execute(); +<a name="87" href="#87">87</a> } <strong>catch</strong> (IOException ex) { +<a name="88" href="#88">88</a> status = false; +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <strong>if</strong> (exception == <strong>null</strong>) { +<a name="91" href="#91">91</a> exception = ex; +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong>if</strong> (exception != <strong>null</strong>) { +<a name="97" href="#97">97</a> <strong>throw</strong> exception; +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> +<a name="100" href="#100">100</a> <strong>return</strong> status; +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/FileRenameAction.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/FileRenameAction.html new file mode 100644 index 00000000000..15abd978f10 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/FileRenameAction.html @@ -0,0 +1,95 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FileRenameAction xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/FileRenameAction.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling.helper; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.io.File; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <em>/**<em>*</em></em> +<a name="24" href="#24">24</a> <em> * File rename action.</em> +<a name="25" href="#25">25</a> <em> *</em> +<a name="26" href="#26">26</a> <em> * @author Curt Arnold</em> +<a name="27" href="#27">27</a> <em> */</em> +<a name="28" href="#28">28</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a> <strong>extends</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a> { +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * Source.</em> +<a name="31" href="#31">31</a> <em> */</em> +<a name="32" href="#32">32</a> <strong>private</strong> <strong>final</strong> File source; +<a name="33" href="#33">33</a> +<a name="34" href="#34">34</a> <em>/**<em>*</em></em> +<a name="35" href="#35">35</a> <em> * Destination.</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>private</strong> <strong>final</strong> File destination; +<a name="38" href="#38">38</a> +<a name="39" href="#39">39</a> <em>/**<em>*</em></em> +<a name="40" href="#40">40</a> <em> * If true, rename empty files, otherwise delete empty files.</em> +<a name="41" href="#41">41</a> <em> */</em> +<a name="42" href="#42">42</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> renameEmptyFiles; +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * Creates an FileRenameAction.</em> +<a name="46" href="#46">46</a> <em> *</em> +<a name="47" href="#47">47</a> <em> * @param src current file name.</em> +<a name="48" href="#48">48</a> <em> * @param dst new file name.</em> +<a name="49" href="#49">49</a> <em> * @param renameEmptyFiles if true, rename file even if empty, otherwise delete empty files.</em> +<a name="50" href="#50">50</a> <em> */</em> +<a name="51" href="#51">51</a> <strong>public</strong> <a href="../../../../../org/apache/log4j/rolling/helper/FileRenameAction.html">FileRenameAction</a>( +<a name="52" href="#52">52</a> <strong>final</strong> File src, <strong>final</strong> File dst, <strong>boolean</strong> renameEmptyFiles) { +<a name="53" href="#53">53</a> source = src; +<a name="54" href="#54">54</a> destination = dst; +<a name="55" href="#55">55</a> <strong>this</strong>.renameEmptyFiles = renameEmptyFiles; +<a name="56" href="#56">56</a> } +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em>/**<em>*</em></em> +<a name="59" href="#59">59</a> <em> * Rename file.</em> +<a name="60" href="#60">60</a> <em> *</em> +<a name="61" href="#61">61</a> <em> * @return true if successfully renamed.</em> +<a name="62" href="#62">62</a> <em> */</em> +<a name="63" href="#63">63</a> <strong>public</strong> <strong>boolean</strong> execute() { +<a name="64" href="#64">64</a> <strong>return</strong> execute(source, destination, renameEmptyFiles); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <em>/**<em>*</em></em> +<a name="68" href="#68">68</a> <em> * Rename file.</em> +<a name="69" href="#69">69</a> <em> * @param source current file name.</em> +<a name="70" href="#70">70</a> <em> * @param destination new file name.</em> +<a name="71" href="#71">71</a> <em> * @param renameEmptyFiles if true, rename file even if empty, otherwise delete empty files.</em> +<a name="72" href="#72">72</a> <em> * @return true if successfully renamed.</em> +<a name="73" href="#73">73</a> <em> */</em> +<a name="74" href="#74">74</a> <strong>public</strong> <strong>static</strong> <strong>boolean</strong> execute( +<a name="75" href="#75">75</a> <strong>final</strong> File source, <strong>final</strong> File destination, <strong>boolean</strong> renameEmptyFiles) { +<a name="76" href="#76">76</a> <strong>if</strong> (renameEmptyFiles || (source.length() > 0)) { +<a name="77" href="#77">77</a> <strong>return</strong> source.renameTo(destination); +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <strong>return</strong> source.delete(); +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/ZipCompressAction.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/GZCompressAction.html similarity index 64% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/ZipCompressAction.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/GZCompressAction.html index 7011b8596c4..27cbd34fbcb 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/ZipCompressAction.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/GZCompressAction.html @@ -1,47 +1,47 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ZipCompressAction xref</title> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>GZCompressAction xref</title> <link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> </head> <body> -<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/ZipCompressAction.html">View Javadoc</a></div><pre> +<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/GZCompressAction.html">View Javadoc</a></div><pre> <a name="1" href="#1">1</a> <em class="comment">/*</em> -<a name="2" href="#2">2</a> <em class="comment"> * Copyright 1999,2005 The Apache Software Foundation.</em> -<a name="3" href="#3">3</a> <em class="comment"> *</em> -<a name="4" href="#4">4</a> <em class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em> -<a name="5" href="#5">5</a> <em class="comment"> * you may not use this file except in compliance with the License.</em> -<a name="6" href="#6">6</a> <em class="comment"> * You may obtain a copy of the License at</em> -<a name="7" href="#7">7</a> <em class="comment"> *</em> -<a name="8" href="#8">8</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> -<a name="9" href="#9">9</a> <em class="comment"> *</em> -<a name="10" href="#10">10</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> -<a name="11" href="#11">11</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> -<a name="12" href="#12">12</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> -<a name="13" href="#13">13</a> <em class="comment"> * See the License for the specific language governing permissions and</em> -<a name="14" href="#14">14</a> <em class="comment"> * limitations under the License.</em> -<a name="15" href="#15">15</a> <em class="comment"> */</em> -<a name="16" href="#16">16</a> -<a name="17" href="#17">17</a> <strong>package</strong> org.apache.log4j.rolling.helper; -<a name="18" href="#18">18</a> -<a name="19" href="#19">19</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; -<a name="20" href="#20">20</a> -<a name="21" href="#21">21</a> <strong>import</strong> java.io.File; -<a name="22" href="#22">22</a> <strong>import</strong> java.io.FileInputStream; -<a name="23" href="#23">23</a> <strong>import</strong> java.io.FileOutputStream; -<a name="24" href="#24">24</a> <strong>import</strong> java.io.IOException; -<a name="25" href="#25">25</a> -<a name="26" href="#26">26</a> <strong>import</strong> java.util.zip.ZipEntry; -<a name="27" href="#27">27</a> <strong>import</strong> java.util.zip.ZipOutputStream; +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling.helper; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong>import</strong> java.io.File; +<a name="23" href="#23">23</a> <strong>import</strong> java.io.FileInputStream; +<a name="24" href="#24">24</a> <strong>import</strong> java.io.FileOutputStream; +<a name="25" href="#25">25</a> <strong>import</strong> java.io.IOException; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong>import</strong> java.util.zip.GZIPOutputStream; <a name="28" href="#28">28</a> <a name="29" href="#29">29</a> <a name="30" href="#30">30</a> <em>/**<em>*</em></em> -<a name="31" href="#31">31</a> <em> * Compresses a file using Zip compression.</em> +<a name="31" href="#31">31</a> <em> * Compresses a file using GZ compression.</em> <a name="32" href="#32">32</a> <em> *</em> <a name="33" href="#33">33</a> <em> * @author Curt Arnold</em> <a name="34" href="#34">34</a> <em> */</em> -<a name="35" href="#35">35</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ZipCompressAction.html">ZipCompressAction</a> <strong>extends</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a> { +<a name="35" href="#35">35</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/GZCompressAction.html">GZCompressAction</a> <strong>extends</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a> { <a name="36" href="#36">36</a> <em>/**<em>*</em></em> <a name="37" href="#37">37</a> <em> * Source file.</em> <a name="38" href="#38">38</a> <em> */</em> @@ -66,7 +66,7 @@ <a name="57" href="#57">57</a> <em> * @param deleteSource if true, attempt to delete file on completion. Failure to delete</em> <a name="58" href="#58">58</a> <em> * does not cause an exception to be thrown or affect return value.</em> <a name="59" href="#59">59</a> <em> */</em> -<a name="60" href="#60">60</a> <strong>public</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ZipCompressAction.html">ZipCompressAction</a>( +<a name="60" href="#60">60</a> <strong>public</strong> <a href="../../../../../org/apache/log4j/rolling/helper/GZCompressAction.html">GZCompressAction</a>( <a name="61" href="#61">61</a> <strong>final</strong> File source, <strong>final</strong> File destination, <strong>final</strong> <strong>boolean</strong> deleteSource) { <a name="62" href="#62">62</a> <strong>if</strong> (source == <strong>null</strong>) { <a name="63" href="#63">63</a> <strong>throw</strong> <strong>new</strong> NullPointerException(<span class="string">"source"</span>); @@ -106,40 +106,38 @@ <a name="97" href="#97">97</a> <strong>if</strong> (source.exists()) { <a name="98" href="#98">98</a> FileInputStream fis = <strong>new</strong> FileInputStream(source); <a name="99" href="#99">99</a> FileOutputStream fos = <strong>new</strong> FileOutputStream(destination); -<a name="100" href="#100">100</a> ZipOutputStream zos = <strong>new</strong> ZipOutputStream(fos); -<a name="101" href="#101">101</a> -<a name="102" href="#102">102</a> ZipEntry zipEntry = <strong>new</strong> ZipEntry(source.getName()); -<a name="103" href="#103">103</a> zos.putNextEntry(zipEntry); -<a name="104" href="#104">104</a> -<a name="105" href="#105">105</a> byte[] inbuf = <strong>new</strong> byte[8102]; -<a name="106" href="#106">106</a> <strong>int</strong> n; +<a name="100" href="#100">100</a> GZIPOutputStream gzos = <strong>new</strong> GZIPOutputStream(fos); +<a name="101" href="#101">101</a> byte[] inbuf = <strong>new</strong> byte[8102]; +<a name="102" href="#102">102</a> <strong>int</strong> n; +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <strong>while</strong> ((n = fis.read(inbuf)) != -1) { +<a name="105" href="#105">105</a> gzos.write(inbuf, 0, n); +<a name="106" href="#106">106</a> } <a name="107" href="#107">107</a> -<a name="108" href="#108">108</a> <strong>while</strong> ((n = fis.read(inbuf)) != -1) { -<a name="109" href="#109">109</a> zos.write(inbuf, 0, n); -<a name="110" href="#110">110</a> } -<a name="111" href="#111">111</a> -<a name="112" href="#112">112</a> zos.close(); -<a name="113" href="#113">113</a> fis.close(); +<a name="108" href="#108">108</a> gzos.close(); +<a name="109" href="#109">109</a> fis.close(); +<a name="110" href="#110">110</a> +<a name="111" href="#111">111</a> <strong>if</strong> (deleteSource &amp;&amp; !source.delete()) { +<a name="112" href="#112">112</a> LogLog.warn(<span class="string">"Unable to delete "</span> + source.toString() + <span class="string">"."</span>); +<a name="113" href="#113">113</a> } <a name="114" href="#114">114</a> -<a name="115" href="#115">115</a> <strong>if</strong> (deleteSource &amp;&amp; !source.delete()) { -<a name="116" href="#116">116</a> LogLog.warn(<span class="string">"Unable to delete "</span> + source.toString() + <span class="string">"."</span>); -<a name="117" href="#117">117</a> } -<a name="118" href="#118">118</a> -<a name="119" href="#119">119</a> <strong>return</strong> <strong>true</strong>; -<a name="120" href="#120">120</a> } +<a name="115" href="#115">115</a> <strong>return</strong> <strong>true</strong>; +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <strong>return</strong> false; +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> <a name="121" href="#121">121</a> -<a name="122" href="#122">122</a> <strong>return</strong> false; -<a name="123" href="#123">123</a> } -<a name="124" href="#124">124</a> -<a name="125" href="#125">125</a> <em>/**<em>*</em></em> -<a name="126" href="#126">126</a> <em> * Capture exception.</em> -<a name="127" href="#127">127</a> <em> *</em> -<a name="128" href="#128">128</a> <em> * @param ex exception.</em> -<a name="129" href="#129">129</a> <em> */</em> -<a name="130" href="#130">130</a> <strong>protected</strong> <strong>void</strong> reportException(<strong>final</strong> Exception ex) { -<a name="131" href="#131">131</a> LogLog.warn(<span class="string">"Exception during compression of '"</span> + source.toString() + <span class="string">"'."</span>, ex); -<a name="132" href="#132">132</a> } -<a name="133" href="#133">133</a> } +<a name="122" href="#122">122</a> <em>/**<em>*</em></em> +<a name="123" href="#123">123</a> <em> * Capture exception.</em> +<a name="124" href="#124">124</a> <em> *</em> +<a name="125" href="#125">125</a> <em> * @param ex exception.</em> +<a name="126" href="#126">126</a> <em> */</em> +<a name="127" href="#127">127</a> <strong>protected</strong> <strong>void</strong> reportException(<strong>final</strong> Exception ex) { +<a name="128" href="#128">128</a> LogLog.warn(<span class="string">"Exception during compression of '"</span> + source.toString() + <span class="string">"'."</span>, ex); +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> } </pre> <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> </html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/ZipCompressAction.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/ZipCompressAction.html new file mode 100644 index 00000000000..9cfaaeb647c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/ZipCompressAction.html @@ -0,0 +1,147 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ZipCompressAction xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/log4j/rolling/helper/ZipCompressAction.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> * </em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> * </em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rolling.helper; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.helpers.LogLog; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong>import</strong> java.io.File; +<a name="23" href="#23">23</a> <strong>import</strong> java.io.FileInputStream; +<a name="24" href="#24">24</a> <strong>import</strong> java.io.FileOutputStream; +<a name="25" href="#25">25</a> <strong>import</strong> java.io.IOException; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong>import</strong> java.util.zip.ZipEntry; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.zip.ZipOutputStream; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * Compresses a file using Zip compression.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @author Curt Arnold</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ZipCompressAction.html">ZipCompressAction</a> <strong>extends</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ActionBase.html">ActionBase</a> { +<a name="37" href="#37">37</a> <em>/**<em>*</em></em> +<a name="38" href="#38">38</a> <em> * Source file.</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>private</strong> <strong>final</strong> File source; +<a name="41" href="#41">41</a> +<a name="42" href="#42">42</a> <em>/**<em>*</em></em> +<a name="43" href="#43">43</a> <em> * Destination file.</em> +<a name="44" href="#44">44</a> <em> */</em> +<a name="45" href="#45">45</a> <strong>private</strong> <strong>final</strong> File destination; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> <em>/**<em>*</em></em> +<a name="48" href="#48">48</a> <em> * If true, attempt to delete file on completion.</em> +<a name="49" href="#49">49</a> <em> */</em> +<a name="50" href="#50">50</a> <strong>private</strong> <strong>final</strong> <strong>boolean</strong> deleteSource; +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em>/**<em>*</em></em> +<a name="54" href="#54">54</a> <em> * Create new instance of GZCompressAction.</em> +<a name="55" href="#55">55</a> <em> *</em> +<a name="56" href="#56">56</a> <em> * @param source file to compress, may not be null.</em> +<a name="57" href="#57">57</a> <em> * @param destination compressed file, may not be null.</em> +<a name="58" href="#58">58</a> <em> * @param deleteSource if true, attempt to delete file on completion. Failure to delete</em> +<a name="59" href="#59">59</a> <em> * does not cause an exception to be thrown or affect return value.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>public</strong> <a href="../../../../../org/apache/log4j/rolling/helper/ZipCompressAction.html">ZipCompressAction</a>( +<a name="62" href="#62">62</a> <strong>final</strong> File source, <strong>final</strong> File destination, <strong>final</strong> <strong>boolean</strong> deleteSource) { +<a name="63" href="#63">63</a> <strong>if</strong> (source == <strong>null</strong>) { +<a name="64" href="#64">64</a> <strong>throw</strong> <strong>new</strong> NullPointerException(<span class="string">"source"</span>); +<a name="65" href="#65">65</a> } +<a name="66" href="#66">66</a> +<a name="67" href="#67">67</a> <strong>if</strong> (destination == <strong>null</strong>) { +<a name="68" href="#68">68</a> <strong>throw</strong> <strong>new</strong> NullPointerException(<span class="string">"destination"</span>); +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <strong>this</strong>.source = source; +<a name="72" href="#72">72</a> <strong>this</strong>.destination = destination; +<a name="73" href="#73">73</a> <strong>this</strong>.deleteSource = deleteSource; +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em>/**<em>*</em></em> +<a name="77" href="#77">77</a> <em> * Compress.</em> +<a name="78" href="#78">78</a> <em> * @return true if successfully compressed.</em> +<a name="79" href="#79">79</a> <em> * @throws IOException on IO exception.</em> +<a name="80" href="#80">80</a> <em> */</em> +<a name="81" href="#81">81</a> <strong>public</strong> <strong>boolean</strong> execute() throws IOException { +<a name="82" href="#82">82</a> <strong>return</strong> execute(source, destination, deleteSource); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <em>/**<em>*</em></em> +<a name="86" href="#86">86</a> <em> * Compress a file.</em> +<a name="87" href="#87">87</a> <em> *</em> +<a name="88" href="#88">88</a> <em> * @param source file to compress, may not be null.</em> +<a name="89" href="#89">89</a> <em> * @param destination compressed file, may not be null.</em> +<a name="90" href="#90">90</a> <em> * @param deleteSource if true, attempt to delete file on completion. Failure to delete</em> +<a name="91" href="#91">91</a> <em> * does not cause an exception to be thrown or affect return value.</em> +<a name="92" href="#92">92</a> <em> * @return true if source file compressed.</em> +<a name="93" href="#93">93</a> <em> * @throws IOException on IO exception.</em> +<a name="94" href="#94">94</a> <em> */</em> +<a name="95" href="#95">95</a> <strong>public</strong> <strong>static</strong> <strong>boolean</strong> execute( +<a name="96" href="#96">96</a> <strong>final</strong> File source, <strong>final</strong> File destination, <strong>final</strong> <strong>boolean</strong> deleteSource) +<a name="97" href="#97">97</a> throws IOException { +<a name="98" href="#98">98</a> <strong>if</strong> (source.exists()) { +<a name="99" href="#99">99</a> FileInputStream fis = <strong>new</strong> FileInputStream(source); +<a name="100" href="#100">100</a> FileOutputStream fos = <strong>new</strong> FileOutputStream(destination); +<a name="101" href="#101">101</a> ZipOutputStream zos = <strong>new</strong> ZipOutputStream(fos); +<a name="102" href="#102">102</a> +<a name="103" href="#103">103</a> ZipEntry zipEntry = <strong>new</strong> ZipEntry(source.getName()); +<a name="104" href="#104">104</a> zos.putNextEntry(zipEntry); +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> byte[] inbuf = <strong>new</strong> byte[8102]; +<a name="107" href="#107">107</a> <strong>int</strong> n; +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <strong>while</strong> ((n = fis.read(inbuf)) != -1) { +<a name="110" href="#110">110</a> zos.write(inbuf, 0, n); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> zos.close(); +<a name="114" href="#114">114</a> fis.close(); +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <strong>if</strong> (deleteSource &amp;&amp; !source.delete()) { +<a name="117" href="#117">117</a> LogLog.warn(<span class="string">"Unable to delete "</span> + source.toString() + <span class="string">"."</span>); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> +<a name="120" href="#120">120</a> <strong>return</strong> <strong>true</strong>; +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> +<a name="123" href="#123">123</a> <strong>return</strong> false; +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> +<a name="126" href="#126">126</a> <em>/**<em>*</em></em> +<a name="127" href="#127">127</a> <em> * Capture exception.</em> +<a name="128" href="#128">128</a> <em> *</em> +<a name="129" href="#129">129</a> <em> * @param ex exception.</em> +<a name="130" href="#130">130</a> <em> */</em> +<a name="131" href="#131">131</a> <strong>protected</strong> <strong>void</strong> reportException(<strong>final</strong> Exception ex) { +<a name="132" href="#132">132</a> LogLog.warn(<span class="string">"Exception during compression of '"</span> + source.toString() + <span class="string">"'."</span>, ex); +<a name="133" href="#133">133</a> } +<a name="134" href="#134">134</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/package-frame.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/package-frame.html index 00a942678ee..0b0c83af9c4 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.rolling.helper</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.rolling.helper</title> <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/package-summary.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/package-summary.html index df2c8dfd41d..f1a6b6a2124 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/helper/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/helper/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" /> </head> <body> @@ -87,6 +87,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/package-frame.html similarity index 87% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/package-frame.html index c921138e9bd..cff5e1f9e98 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.rolling</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.rolling</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -16,6 +16,9 @@ <ul> <li> + <a href="CompositeTriggeringPolicy.html" target="classFrame">CompositeTriggeringPolicy</a> + </li> + <li> <a href="FilterBasedTriggeringPolicy.html" target="classFrame">FilterBasedTriggeringPolicy</a> </li> <li> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/package-summary.html similarity index 90% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/package-summary.html index f03b515ae3e..330ee4d75fc 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rolling/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rolling/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -36,6 +36,11 @@ </thead> <tbody> <tr> + <td> + <a href="CompositeTriggeringPolicy.html" target="classFrame">CompositeTriggeringPolicy</a> + </td> + </tr> + <tr> <td> <a href="FilterBasedTriggeringPolicy.html" target="classFrame">FilterBasedTriggeringPolicy</a> </td> @@ -107,6 +112,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/AbstractRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/AbstractRule.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/AbstractRule.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/AbstractRule.html diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/AndRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/AndRule.html new file mode 100644 index 00000000000..2e4e93f6eea --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/AndRule.html @@ -0,0 +1,140 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AndRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/AndRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong>import</strong> java.util.HashMap; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.HashSet; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Iterator; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Map; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Set; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Stack; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em>/**<em>*</em></em> +<a name="31" href="#31">31</a> <em> * A Rule class implementing a logical 'and'.</em> +<a name="32" href="#32">32</a> <em> *</em> +<a name="33" href="#33">33</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="34" href="#34">34</a> <em> */</em> +<a name="35" href="#35">35</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/AndRule.html">AndRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="36" href="#36">36</a> <em>/**<em>*</em></em> +<a name="37" href="#37">37</a> <em> * First rule.</em> +<a name="38" href="#38">38</a> <em> */</em> +<a name="39" href="#39">39</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> firstRule; +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Second rule.</em> +<a name="42" href="#42">42</a> <em> */</em> +<a name="43" href="#43">43</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> secondRule; +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * Serialization id.</em> +<a name="46" href="#46">46</a> <em> */</em> +<a name="47" href="#47">47</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -8233444426923854651L; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em>/**<em>*</em></em> +<a name="50" href="#50">50</a> <em> * Create new instance.</em> +<a name="51" href="#51">51</a> <em> * @param first first rule.</em> +<a name="52" href="#52">52</a> <em> * @param second second rule.</em> +<a name="53" href="#53">53</a> <em> */</em> +<a name="54" href="#54">54</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/AndRule.html">AndRule</a>(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> first, <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> second) { +<a name="55" href="#55">55</a> <strong>super</strong>(); +<a name="56" href="#56">56</a> <strong>this</strong>.firstRule = first; +<a name="57" href="#57">57</a> <strong>this</strong>.secondRule = second; +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em>/**<em>*</em></em> +<a name="61" href="#61">61</a> <em> * Create rule from top two elements of stack.</em> +<a name="62" href="#62">62</a> <em> * @param stack stack of rules.</em> +<a name="63" href="#63">63</a> <em> * @return Rule that evaluates true only if both rules are true.</em> +<a name="64" href="#64">64</a> <em> */</em> +<a name="65" href="#65">65</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { +<a name="66" href="#66">66</a> <strong>if</strong> (stack.size() &lt; 2) { +<a name="67" href="#67">67</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="68" href="#68">68</a> <span class="string">"Invalid AND rule - expected two rules but received "</span> +<a name="69" href="#69">69</a> + stack.size()); +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> Object o2 = stack.pop(); +<a name="72" href="#72">72</a> Object o1 = stack.pop(); +<a name="73" href="#73">73</a> <strong>if</strong> ((o2 instanceof Rule) &amp;&amp; (o1 instanceof Rule)) { +<a name="74" href="#74">74</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> p2 = (Rule) o2; +<a name="75" href="#75">75</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> p1 = (Rule) o1; +<a name="76" href="#76">76</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/AndRule.html">AndRule</a>(p1, p2); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid AND rule: "</span> + o2 + <span class="string">"..."</span> + o1); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em>/**<em>*</em></em> +<a name="82" href="#82">82</a> <em> * Get rule.</em> +<a name="83" href="#83">83</a> <em> * @param firstParam first rule.</em> +<a name="84" href="#84">84</a> <em> * @param secondParam second rule.</em> +<a name="85" href="#85">85</a> <em> * @return Rule that evaluates true only if both rules are true.</em> +<a name="86" href="#86">86</a> <em> */</em> +<a name="87" href="#87">87</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> firstParam, <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> secondParam) { +<a name="88" href="#88">88</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/AndRule.html">AndRule</a>(firstParam, secondParam); +<a name="89" href="#89">89</a> } +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <em>/**<em>*</em></em> +<a name="92" href="#92">92</a> <em> * {@inheritDoc}</em> +<a name="93" href="#93">93</a> <em> */</em> +<a name="94" href="#94">94</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="95" href="#95">95</a> <strong>if</strong> (matches == <strong>null</strong>) { +<a name="96" href="#96">96</a> <strong>return</strong> firstRule.evaluate(event, <strong>null</strong>) &amp;&amp; secondRule.evaluate(event, <strong>null</strong>); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> Map tempMatches1 = <strong>new</strong> HashMap(); +<a name="99" href="#99">99</a> Map tempMatches2 = <strong>new</strong> HashMap(); +<a name="100" href="#100">100</a> <strong>boolean</strong> result = firstRule.evaluate(event, tempMatches1) &amp;&amp; secondRule.evaluate(event, tempMatches2); +<a name="101" href="#101">101</a> <strong>if</strong> (result) { +<a name="102" href="#102">102</a> <strong>for</strong> (Iterator iter = tempMatches1.entrySet().iterator();iter.hasNext();) { +<a name="103" href="#103">103</a> Map.Entry entry = (Map.Entry)iter.next(); +<a name="104" href="#104">104</a> Object key = entry.getKey(); +<a name="105" href="#105">105</a> Set value = (Set)entry.getValue(); +<a name="106" href="#106">106</a> Set mainSet = (Set) matches.get(key); +<a name="107" href="#107">107</a> <strong>if</strong> (mainSet == <strong>null</strong>) { +<a name="108" href="#108">108</a> mainSet = <strong>new</strong> HashSet(); +<a name="109" href="#109">109</a> matches.put(key, mainSet); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> mainSet.addAll(value); +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> <strong>for</strong> (Iterator iter = tempMatches2.entrySet().iterator();iter.hasNext();) { +<a name="114" href="#114">114</a> Map.Entry entry = (Map.Entry)iter.next(); +<a name="115" href="#115">115</a> Object key = entry.getKey(); +<a name="116" href="#116">116</a> Set value = (Set)entry.getValue(); +<a name="117" href="#117">117</a> Set mainSet = (Set) matches.get(key); +<a name="118" href="#118">118</a> <strong>if</strong> (mainSet == <strong>null</strong>) { +<a name="119" href="#119">119</a> mainSet = <strong>new</strong> HashSet(); +<a name="120" href="#120">120</a> matches.put(key, mainSet); +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> mainSet.addAll(value); +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> <strong>return</strong> result; +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ColorRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ColorRule.html new file mode 100644 index 00000000000..8a6f02f52c0 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ColorRule.html @@ -0,0 +1,140 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ColorRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/ColorRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.awt.Color; +<a name="21" href="#21">21</a> <strong>import</strong> java.io.Serializable; +<a name="22" href="#22">22</a> <strong>import</strong> java.util.Map; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <em>/**<em>*</em></em> +<a name="28" href="#28">28</a> <em> * A Rule class which also holds a color.</em> +<a name="29" href="#29">29</a> <em> *</em> +<a name="30" href="#30">30</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="31" href="#31">31</a> <em> */</em> +<a name="32" href="#32">32</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/ColorRule.html">ColorRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> implements Serializable { +<a name="33" href="#33">33</a> <em>/**<em>*</em></em> +<a name="34" href="#34">34</a> <em> * Serialization id.</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -794434783372847773L; +<a name="37" href="#37">37</a> +<a name="38" href="#38">38</a> <em>/**<em>*</em></em> +<a name="39" href="#39">39</a> <em> * Wrapped rule.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule; +<a name="42" href="#42">42</a> <em>/**<em>*</em></em> +<a name="43" href="#43">43</a> <em> * Foreground color.</em> +<a name="44" href="#44">44</a> <em> */</em> +<a name="45" href="#45">45</a> <strong>private</strong> <strong>final</strong> Color foregroundColor; +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * Background color.</em> +<a name="48" href="#48">48</a> <em> */</em> +<a name="49" href="#49">49</a> <strong>private</strong> <strong>final</strong> Color backgroundColor; +<a name="50" href="#50">50</a> <em>/**<em>*</em></em> +<a name="51" href="#51">51</a> <em> * Expression.</em> +<a name="52" href="#52">52</a> <em> */</em> +<a name="53" href="#53">53</a> <strong>private</strong> <strong>final</strong> String expression; +<a name="54" href="#54">54</a> +<a name="55" href="#55">55</a> <em>/**<em>*</em></em> +<a name="56" href="#56">56</a> <em> * Create new instance.</em> +<a name="57" href="#57">57</a> <em> * @param expression expression.</em> +<a name="58" href="#58">58</a> <em> * @param rule rule.</em> +<a name="59" href="#59">59</a> <em> * @param backgroundColor background color.</em> +<a name="60" href="#60">60</a> <em> * @param foregroundColor foreground color.</em> +<a name="61" href="#61">61</a> <em> */</em> +<a name="62" href="#62">62</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/ColorRule.html">ColorRule</a>(<strong>final</strong> String expression, +<a name="63" href="#63">63</a> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule, +<a name="64" href="#64">64</a> <strong>final</strong> Color backgroundColor, +<a name="65" href="#65">65</a> <strong>final</strong> Color foregroundColor) { +<a name="66" href="#66">66</a> <strong>super</strong>(); +<a name="67" href="#67">67</a> <strong>this</strong>.expression = expression; +<a name="68" href="#68">68</a> <strong>this</strong>.rule = rule; +<a name="69" href="#69">69</a> <strong>this</strong>.backgroundColor = backgroundColor; +<a name="70" href="#70">70</a> <strong>this</strong>.foregroundColor = foregroundColor; +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <em>/**<em>*</em></em> +<a name="74" href="#74">74</a> <em> * Get rule.</em> +<a name="75" href="#75">75</a> <em> * @return underlying rule.</em> +<a name="76" href="#76">76</a> <em> */</em> +<a name="77" href="#77">77</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule() { +<a name="78" href="#78">78</a> <strong>return</strong> rule; +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> +<a name="81" href="#81">81</a> <em>/**<em>*</em></em> +<a name="82" href="#82">82</a> <em> * Get foreground color.</em> +<a name="83" href="#83">83</a> <em> * @return foreground color.</em> +<a name="84" href="#84">84</a> <em> */</em> +<a name="85" href="#85">85</a> <strong>public</strong> Color getForegroundColor() { +<a name="86" href="#86">86</a> <strong>return</strong> foregroundColor; +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> <em>/**<em>*</em></em> +<a name="90" href="#90">90</a> <em> * Get background color.</em> +<a name="91" href="#91">91</a> <em> * @return background color.</em> +<a name="92" href="#92">92</a> <em> */</em> +<a name="93" href="#93">93</a> <strong>public</strong> Color getBackgroundColor() { +<a name="94" href="#94">94</a> <strong>return</strong> backgroundColor; +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> <em>/**<em>*</em></em> +<a name="98" href="#98">98</a> <em> * Get expression.</em> +<a name="99" href="#99">99</a> <em> * @return expression.</em> +<a name="100" href="#100">100</a> <em> */</em> +<a name="101" href="#101">101</a> <strong>public</strong> String getExpression() { +<a name="102" href="#102">102</a> <strong>return</strong> expression; +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em>/**<em>*</em></em> +<a name="106" href="#106">106</a> <em> * {@inheritDoc}</em> +<a name="107" href="#107">107</a> <em> */</em> +<a name="108" href="#108">108</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="109" href="#109">109</a> <em class="comment">//no need for color rules to build matches</em> +<a name="110" href="#110">110</a> <strong>return</strong> (rule != <strong>null</strong> &amp;&amp; rule.evaluate(event, <strong>null</strong>)); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em>/**<em>*</em></em> +<a name="114" href="#114">114</a> <em> * {@inheritDoc}</em> +<a name="115" href="#115">115</a> <em> */</em> +<a name="116" href="#116">116</a> <strong>public</strong> String toString() { +<a name="117" href="#117">117</a> StringBuffer buf = <strong>new</strong> StringBuffer(<span class="string">"color rule - expression: "</span>); +<a name="118" href="#118">118</a> buf.append(expression); +<a name="119" href="#119">119</a> buf.append(<span class="string">", rule: "</span>); +<a name="120" href="#120">120</a> buf.append(rule); +<a name="121" href="#121">121</a> buf.append(<span class="string">" bg: "</span>); +<a name="122" href="#122">122</a> buf.append(backgroundColor); +<a name="123" href="#123">123</a> buf.append(<span class="string">" fg: "</span>); +<a name="124" href="#124">124</a> buf.append(foregroundColor); +<a name="125" href="#125">125</a> <strong>return</strong> buf.toString(); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/EqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/EqualsRule.html new file mode 100644 index 00000000000..cb0051e989c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/EqualsRule.html @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>EqualsRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/EqualsRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> java.util.HashSet; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Map; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Set; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Stack; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * A Rule class which returns the result of</em> +<a name="31" href="#31">31</a> <em> * performing equals against two strings.</em> +<a name="32" href="#32">32</a> <em> *</em> +<a name="33" href="#33">33</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="34" href="#34">34</a> <em> */</em> +<a name="35" href="#35">35</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/EqualsRule.html">EqualsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="36" href="#36">36</a> <em>/**<em>*</em></em> +<a name="37" href="#37">37</a> <em> * Serialization ID.</em> +<a name="38" href="#38">38</a> <em> */</em> +<a name="39" href="#39">39</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 1712851553477517245L; +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Resolver.</em> +<a name="42" href="#42">42</a> <em> */</em> +<a name="43" href="#43">43</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = +<a name="44" href="#44">44</a> LoggingEventFieldResolver.getInstance(); +<a name="45" href="#45">45</a> <em>/**<em>*</em></em> +<a name="46" href="#46">46</a> <em> * Value.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <strong>private</strong> <strong>final</strong> String value; +<a name="49" href="#49">49</a> <em>/**<em>*</em></em> +<a name="50" href="#50">50</a> <em> * Field.</em> +<a name="51" href="#51">51</a> <em> */</em> +<a name="52" href="#52">52</a> <strong>private</strong> <strong>final</strong> String field; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em>/**<em>*</em></em> +<a name="55" href="#55">55</a> <em> * Create new instance.</em> +<a name="56" href="#56">56</a> <em> * @param field field</em> +<a name="57" href="#57">57</a> <em> * @param value value</em> +<a name="58" href="#58">58</a> <em> */</em> +<a name="59" href="#59">59</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/EqualsRule.html">EqualsRule</a>(<strong>final</strong> String field, <strong>final</strong> String value) { +<a name="60" href="#60">60</a> <strong>super</strong>(); +<a name="61" href="#61">61</a> <strong>if</strong> (!RESOLVER.isField(field)) { +<a name="62" href="#62">62</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="63" href="#63">63</a> <span class="string">"Invalid EQUALS rule - "</span> + field + <span class="string">" is not a supported field"</span>); +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <strong>this</strong>.field = field; +<a name="67" href="#67">67</a> <strong>this</strong>.value = value; +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em>/**<em>*</em></em> +<a name="71" href="#71">71</a> <em> * Create new instance from top two elements of stack.</em> +<a name="72" href="#72">72</a> <em> * @param stack stack</em> +<a name="73" href="#73">73</a> <em> * @return new instance</em> +<a name="74" href="#74">74</a> <em> */</em> +<a name="75" href="#75">75</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { +<a name="76" href="#76">76</a> <strong>if</strong> (stack.size() &lt; 2) { +<a name="77" href="#77">77</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="78" href="#78">78</a> <span class="string">"Invalid EQUALS rule - expected two parameters but received "</span> +<a name="79" href="#79">79</a> + stack.size()); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> String p2 = stack.pop().toString(); +<a name="83" href="#83">83</a> String p1 = stack.pop().toString(); +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong>return</strong> getRule(p1, p2); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em>/**<em>*</em></em> +<a name="89" href="#89">89</a> <em> * Create new instance.</em> +<a name="90" href="#90">90</a> <em> * @param p1 field, special treatment for level and timestamp.</em> +<a name="91" href="#91">91</a> <em> * @param p2 value</em> +<a name="92" href="#92">92</a> <em> * @return new instance</em> +<a name="93" href="#93">93</a> <em> */</em> +<a name="94" href="#94">94</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String p1, <strong>final</strong> String p2) { +<a name="95" href="#95">95</a> <strong>if</strong> (p1.equalsIgnoreCase(LoggingEventFieldResolver.LEVEL_FIELD)) { +<a name="96" href="#96">96</a> <strong>return</strong> LevelEqualsRule.getRule(p2); +<a name="97" href="#97">97</a> } <strong>else</strong> <strong>if</strong> (p1.equalsIgnoreCase(LoggingEventFieldResolver.TIMESTAMP_FIELD)) { +<a name="98" href="#98">98</a> <strong>return</strong> TimestampEqualsRule.getRule(p2); +<a name="99" href="#99">99</a> } <strong>else</strong> { +<a name="100" href="#100">100</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/EqualsRule.html">EqualsRule</a>(p1, p2); +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> +<a name="104" href="#104">104</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="105" href="#105">105</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="106" href="#106">106</a> Object p2 = RESOLVER.getValue(field, event); +<a name="107" href="#107">107</a> +<a name="108" href="#108">108</a> <strong>boolean</strong> result = (p2 != <strong>null</strong>) &amp;&amp; p2.toString().equals(value); +<a name="109" href="#109">109</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="110" href="#110">110</a> Set entries = (Set) matches.get(field.toUpperCase()); +<a name="111" href="#111">111</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="112" href="#112">112</a> entries = <strong>new</strong> HashSet(); +<a name="113" href="#113">113</a> matches.put(field.toUpperCase(), entries); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> entries.add(value); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> <strong>return</strong> result; +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ExistsRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ExistsRule.html new file mode 100644 index 00000000000..3b0940c4851 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ExistsRule.html @@ -0,0 +1,118 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ExistsRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/ExistsRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> java.util.HashSet; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Map; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Set; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Stack; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * A Rule class implementing a not null (and not empty string) check.</em> +<a name="31" href="#31">31</a> <em> *</em> +<a name="32" href="#32">32</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/ExistsRule.html">ExistsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="35" href="#35">35</a> <em>/**<em>*</em></em> +<a name="36" href="#36">36</a> <em> * Serialization id.</em> +<a name="37" href="#37">37</a> <em> */</em> +<a name="38" href="#38">38</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -5386265224649967464L; +<a name="39" href="#39">39</a> <em>/**<em>*</em></em> +<a name="40" href="#40">40</a> <em> * field resolver.</em> +<a name="41" href="#41">41</a> <em> */</em> +<a name="42" href="#42">42</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = +<a name="43" href="#43">43</a> LoggingEventFieldResolver.getInstance(); +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * field name.</em> +<a name="46" href="#46">46</a> <em> */</em> +<a name="47" href="#47">47</a> <strong>private</strong> <strong>final</strong> String field; +<a name="48" href="#48">48</a> +<a name="49" href="#49">49</a> <em>/**<em>*</em></em> +<a name="50" href="#50">50</a> <em> * Create new instance.</em> +<a name="51" href="#51">51</a> <em> * @param fld field name.</em> +<a name="52" href="#52">52</a> <em> */</em> +<a name="53" href="#53">53</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/ExistsRule.html">ExistsRule</a>(<strong>final</strong> String fld) { +<a name="54" href="#54">54</a> <strong>super</strong>(); +<a name="55" href="#55">55</a> <strong>if</strong> (!RESOLVER.isField(fld)) { +<a name="56" href="#56">56</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="57" href="#57">57</a> <span class="string">"Invalid EXISTS rule - "</span> + fld + <span class="string">" is not a supported field"</span>); +<a name="58" href="#58">58</a> } +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <strong>this</strong>.field = fld; +<a name="61" href="#61">61</a> } +<a name="62" href="#62">62</a> +<a name="63" href="#63">63</a> <em>/**<em>*</em></em> +<a name="64" href="#64">64</a> <em> * Get an instance of ExistsRule.</em> +<a name="65" href="#65">65</a> <em> * @param field field.</em> +<a name="66" href="#66">66</a> <em> * @return instance of ExistsRule.</em> +<a name="67" href="#67">67</a> <em> */</em> +<a name="68" href="#68">68</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String field) { +<a name="69" href="#69">69</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/ExistsRule.html">ExistsRule</a>(field); +<a name="70" href="#70">70</a> } +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> <em>/**<em>*</em></em> +<a name="73" href="#73">73</a> <em> * Create an instance of ExistsRule using the</em> +<a name="74" href="#74">74</a> <em> * top name on the stack.</em> +<a name="75" href="#75">75</a> <em> * @param stack stack</em> +<a name="76" href="#76">76</a> <em> * @return instance of ExistsRule.</em> +<a name="77" href="#77">77</a> <em> */</em> +<a name="78" href="#78">78</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { +<a name="79" href="#79">79</a> <strong>if</strong> (stack.size() &lt; 1) { +<a name="80" href="#80">80</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="81" href="#81">81</a> <span class="string">"Invalid EXISTS rule - expected one parameter but received "</span> +<a name="82" href="#82">82</a> + stack.size()); +<a name="83" href="#83">83</a> } +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/ExistsRule.html">ExistsRule</a>(stack.pop().toString()); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> +<a name="88" href="#88">88</a> <em>/**<em>*</em></em> +<a name="89" href="#89">89</a> <em> * {@inheritDoc}</em> +<a name="90" href="#90">90</a> <em> */</em> +<a name="91" href="#91">91</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="92" href="#92">92</a> Object p2 = RESOLVER.getValue(field, event); +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <strong>boolean</strong> result = !((p2 == <strong>null</strong>) || (p2.toString().equals(<span class="string">""</span>))); +<a name="95" href="#95">95</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="96" href="#96">96</a> Set entries = (Set) matches.get(field.toUpperCase()); +<a name="97" href="#97">97</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="98" href="#98">98</a> entries = <strong>new</strong> HashSet(); +<a name="99" href="#99">99</a> matches.put(field.toUpperCase(), entries); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> entries.add(p2); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> <strong>return</strong> result; +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ExpressionRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ExpressionRule.html similarity index 68% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ExpressionRule.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ExpressionRule.html index d1849d8987f..b62075ec3aa 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/ExpressionRule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/ExpressionRule.html @@ -26,10 +26,10 @@ <a name="17" href="#17">17</a> <a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; <a name="19" href="#19">19</a> -<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; -<a name="21" href="#21">21</a> -<a name="22" href="#22">22</a> <strong>import</strong> java.util.Stack; -<a name="23" href="#23">23</a> <strong>import</strong> java.util.StringTokenizer; +<a name="20" href="#20">20</a> <strong>import</strong> java.util.Map; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.Stack; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; <a name="24" href="#24">24</a> <a name="25" href="#25">25</a> <a name="26" href="#26">26</a> <em>/**<em>*</em></em> @@ -112,8 +112,8 @@ <a name="103" href="#103">103</a> <em>/**<em>*</em></em> <a name="104" href="#104">104</a> <em> * {@inheritDoc}</em> <a name="105" href="#105">105</a> <em> */</em> -<a name="106" href="#106">106</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event) { -<a name="107" href="#107">107</a> <strong>return</strong> rule.evaluate(event); +<a name="106" href="#106">106</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="107" href="#107">107</a> <strong>return</strong> rule.evaluate(event, matches); <a name="108" href="#108">108</a> } <a name="109" href="#109">109</a> <a name="110" href="#110">110</a> <em>/**<em>*</em></em> @@ -137,68 +137,57 @@ <a name="128" href="#128">128</a> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a> factory = RuleFactory.getInstance(); <a name="129" href="#129">129</a> <a name="130" href="#130">130</a> Stack stack = <strong>new</strong> Stack(); -<a name="131" href="#131">131</a> StringTokenizer tokenizer = <strong>new</strong> StringTokenizer(expression); +<a name="131" href="#131">131</a> InFixToPostFix.CustomTokenizer tokenizer = <strong>new</strong> InFixToPostFix.CustomTokenizer(expression); <a name="132" href="#132">132</a> -<a name="133" href="#133">133</a> <strong>while</strong> (tokenizer.hasMoreTokens()) { -<a name="134" href="#134">134</a> <em class="comment">//examine each token</em> -<a name="135" href="#135">135</a> String token = tokenizer.nextToken(); -<a name="136" href="#136">136</a> <strong>if</strong> ((token.startsWith(<span class="string">"'"</span>)) -<a name="137" href="#137">137</a> &amp;&amp; (token.endsWith(<span class="string">"'"</span>) -<a name="138" href="#138">138</a> &amp;&amp; (token.length() > 2))) { -<a name="139" href="#139">139</a> token = token.substring(1, token.length() - 1); -<a name="140" href="#140">140</a> } -<a name="141" href="#141">141</a> <strong>if</strong> ((token.startsWith(<span class="string">"'"</span>)) -<a name="142" href="#142">142</a> &amp;&amp; (token.endsWith(<span class="string">"'"</span>) -<a name="143" href="#143">143</a> &amp;&amp; (token.length() == 2))) { -<a name="144" href="#144">144</a> token = <span class="string">""</span>; -<a name="145" href="#145">145</a> } -<a name="146" href="#146">146</a> -<a name="147" href="#147">147</a> <strong>boolean</strong> inText = token.startsWith(<span class="string">"'"</span>); -<a name="148" href="#148">148</a> <strong>if</strong> (inText) { -<a name="149" href="#149">149</a> token = token.substring(1); -<a name="150" href="#150">150</a> <strong>while</strong> (inText &amp;&amp; tokenizer.hasMoreTokens()) { -<a name="151" href="#151">151</a> token = token + <span class="string">" "</span> + tokenizer.nextToken(); -<a name="152" href="#152">152</a> inText = !(token.endsWith(<span class="string">"'"</span>)); -<a name="153" href="#153">153</a> } -<a name="154" href="#154">154</a> <strong>if</strong> (token.length() > 0) { -<a name="155" href="#155">155</a> token = token.substring(0, token.length() - 1); -<a name="156" href="#156">156</a> } -<a name="157" href="#157">157</a> } -<a name="158" href="#158">158</a> -<a name="159" href="#159">159</a> <em class="comment">//if a symbol is found, pop 2 off the stack,</em> -<a name="160" href="#160">160</a> <em class="comment">// evaluate and push the result</em> -<a name="161" href="#161">161</a> <strong>if</strong> (factory.isRule(token)) { -<a name="162" href="#162">162</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> r = factory.getRule(token, stack); -<a name="163" href="#163">163</a> stack.push(r); -<a name="164" href="#164">164</a> } <strong>else</strong> { -<a name="165" href="#165">165</a> <em class="comment">//variables or constants are pushed onto the stack</em> -<a name="166" href="#166">166</a> <strong>if</strong> (token.length() > 0) { -<a name="167" href="#167">167</a> stack.push(token); -<a name="168" href="#168">168</a> } -<a name="169" href="#169">169</a> } -<a name="170" href="#170">170</a> } -<a name="171" href="#171">171</a> -<a name="172" href="#172">172</a> <strong>if</strong> ((stack.size() == 1) &amp;&amp; (!(stack.peek() instanceof Rule))) { -<a name="173" href="#173">173</a> <em class="comment">//while this may be an attempt at creating an expression,</em> -<a name="174" href="#174">174</a> <em class="comment">//for ease of use, convert this single entry to a partial-text</em> -<a name="175" href="#175">175</a> <em class="comment">//match on the MSG field</em> -<a name="176" href="#176">176</a> Object o = stack.pop(); -<a name="177" href="#177">177</a> stack.push(<span class="string">"MSG"</span>); -<a name="178" href="#178">178</a> stack.push(o); -<a name="179" href="#179">179</a> <strong>return</strong> factory.getRule(<span class="string">"~="</span>, stack); -<a name="180" href="#180">180</a> } +<a name="133" href="#133">133</a> <strong>while</strong> (tokenizer.hasMoreTokens()) { +<a name="134" href="#134">134</a> <em class="comment">//examine each token</em> +<a name="135" href="#135">135</a> String token = tokenizer.nextToken(); +<a name="136" href="#136">136</a> <strong>if</strong> (token.startsWith(<span class="string">"'"</span>) || token.startsWith(<span class="string">"\&quot;"</span>)) { +<a name="137" href="#137">137</a> String quoteChar = token.substring(0, 1); +<a name="138" href="#138">138</a> token = token.substring(1); +<a name="139" href="#139">139</a> <strong>while</strong> (!token.endsWith(quoteChar) &amp;&amp; tokenizer.hasMoreTokens()) { +<a name="140" href="#140">140</a> token = token + <span class="string">" "</span> + tokenizer.nextToken(); +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> <strong>if</strong> (token.length() > 0) { +<a name="143" href="#143">143</a> token = token.substring(0, token.length() - 1); +<a name="144" href="#144">144</a> } +<a name="145" href="#145">145</a> } <strong>else</strong> { +<a name="146" href="#146">146</a> <em class="comment">//if a symbol is found, pop 2 off the stack,</em> +<a name="147" href="#147">147</a> <em class="comment">// evaluate and push the result</em> +<a name="148" href="#148">148</a> <strong>if</strong> (factory.isRule(token)) { +<a name="149" href="#149">149</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> r = factory.getRule(token, stack); +<a name="150" href="#150">150</a> stack.push(r); +<a name="151" href="#151">151</a> <em class="comment">//null out the token so we don't try to push it below</em> +<a name="152" href="#152">152</a> token = <strong>null</strong>; +<a name="153" href="#153">153</a> } +<a name="154" href="#154">154</a> } +<a name="155" href="#155">155</a> <em class="comment">//variables or constants are pushed onto the stack</em> +<a name="156" href="#156">156</a> <strong>if</strong> (token != <strong>null</strong> &amp;&amp; token.length() > 0) { +<a name="157" href="#157">157</a> stack.push(token); +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> <strong>if</strong> ((stack.size() == 1) &amp;&amp; (!(stack.peek() instanceof Rule))) { +<a name="162" href="#162">162</a> <em class="comment">//while this may be an attempt at creating an expression,</em> +<a name="163" href="#163">163</a> <em class="comment">//for ease of use, convert this single entry to a partial-text</em> +<a name="164" href="#164">164</a> <em class="comment">//match on the MSG field</em> +<a name="165" href="#165">165</a> Object o = stack.pop(); +<a name="166" href="#166">166</a> stack.push(<span class="string">"MSG"</span>); +<a name="167" href="#167">167</a> stack.push(o); +<a name="168" href="#168">168</a> <strong>return</strong> factory.getRule(<span class="string">"~="</span>, stack); +<a name="169" href="#169">169</a> } +<a name="170" href="#170">170</a> +<a name="171" href="#171">171</a> <em class="comment">//stack should contain a single rule if the expression is valid</em> +<a name="172" href="#172">172</a> <strong>if</strong> ((stack.size() != 1) || (!(stack.peek() instanceof Rule))) { +<a name="173" href="#173">173</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"invalid expression: "</span> + expression); +<a name="174" href="#174">174</a> } <strong>else</strong> { +<a name="175" href="#175">175</a> <strong>return</strong> (Rule) stack.pop(); +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> } +<a name="178" href="#178">178</a> } +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> <a name="181" href="#181">181</a> -<a name="182" href="#182">182</a> <em class="comment">//stack should contain a single rule if the expression is valid</em> -<a name="183" href="#183">183</a> <strong>if</strong> ((stack.size() != 1) || (!(stack.peek() instanceof Rule))) { -<a name="184" href="#184">184</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"invalid expression: "</span> + expression); -<a name="185" href="#185">185</a> } <strong>else</strong> { -<a name="186" href="#186">186</a> <strong>return</strong> (Rule) stack.pop(); -<a name="187" href="#187">187</a> } -<a name="188" href="#188">188</a> } -<a name="189" href="#189">189</a> } -<a name="190" href="#190">190</a> } -<a name="191" href="#191">191</a> -<a name="192" href="#192">192</a> </pre> <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> </html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/InFixToPostFix.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/InFixToPostFix.html new file mode 100644 index 00000000000..db55ebf5c72 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/InFixToPostFix.html @@ -0,0 +1,391 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>InFixToPostFix xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/InFixToPostFix.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.util.HashMap; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.Iterator; +<a name="22" href="#22">22</a> <strong>import</strong> java.util.LinkedList; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.List; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Map; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Stack; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Vector; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em>/**<em>*</em></em> +<a name="31" href="#31">31</a> <em> * A helper class which converts infix expressions to postfix expressions</em> +<a name="32" href="#32">32</a> <em> * Currently grouping is supported, as well as all of the</em> +<a name="33" href="#33">33</a> <em> * Rules supported by &lt;code>RuleFactory&lt;/code></em> +<a name="34" href="#34">34</a> <em> *</em> +<a name="35" href="#35">35</a> <em> * Supports grouping via parens, mult-word operands using single or double quotes,</em> +<a name="36" href="#36">36</a> <em> * and these operators:</em> +<a name="37" href="#37">37</a> <em> *</em> +<a name="38" href="#38">38</a> <em> * ! NOT operator</em> +<a name="39" href="#39">39</a> <em> * != NOT EQUALS operator</em> +<a name="40" href="#40">40</a> <em> * == EQUALS operator</em> +<a name="41" href="#41">41</a> <em> * ~= CASE-INSENSITIVE equals operator</em> +<a name="42" href="#42">42</a> <em> * || OR operator</em> +<a name="43" href="#43">43</a> <em> * &amp;&amp; AND operator</em> +<a name="44" href="#44">44</a> <em> * like REGEXP operator</em> +<a name="45" href="#45">45</a> <em> * exists NOT NULL operator</em> +<a name="46" href="#46">46</a> <em> * &amp;lt LESS THAN operator</em> +<a name="47" href="#47">47</a> <em> * &amp;gt GREATER THAN operator</em> +<a name="48" href="#48">48</a> <em> * &amp;lt= LESS THAN EQUALS operator</em> +<a name="49" href="#49">49</a> <em> * &amp;gt= GREATER THAN EQUALS operator</em> +<a name="50" href="#50">50</a> <em> *</em> +<a name="51" href="#51">51</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="52" href="#52">52</a> <em> */</em> +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/InFixToPostFix.html">InFixToPostFix</a> { +<a name="55" href="#55">55</a> <em>/**<em>*</em></em> +<a name="56" href="#56">56</a> <em> * Precedence map.</em> +<a name="57" href="#57">57</a> <em> */</em> +<a name="58" href="#58">58</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> Map precedenceMap = <strong>new</strong> HashMap(); +<a name="59" href="#59">59</a> <em>/**<em>*</em></em> +<a name="60" href="#60">60</a> <em> * Operators.</em> +<a name="61" href="#61">61</a> <em> */</em> +<a name="62" href="#62">62</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> List operators = <strong>new</strong> Vector(); +<a name="63" href="#63">63</a> +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <strong>static</strong> { +<a name="66" href="#66">66</a> <em class="comment">//order multi-char operators before single-char operators (will use this order during parsing)</em> +<a name="67" href="#67">67</a> operators.add(<span class="string">"&lt;="</span>); +<a name="68" href="#68">68</a> operators.add(<span class="string">">="</span>); +<a name="69" href="#69">69</a> operators.add(<span class="string">"!="</span>); +<a name="70" href="#70">70</a> operators.add(<span class="string">"=="</span>); +<a name="71" href="#71">71</a> operators.add(<span class="string">"~="</span>); +<a name="72" href="#72">72</a> operators.add(<span class="string">"||"</span>); +<a name="73" href="#73">73</a> operators.add(<span class="string">"&amp;&amp;"</span>); +<a name="74" href="#74">74</a> operators.add(<span class="string">"like"</span>); +<a name="75" href="#75">75</a> operators.add(<span class="string">"exists"</span>); +<a name="76" href="#76">76</a> operators.add(<span class="string">"!"</span>); +<a name="77" href="#77">77</a> operators.add(<span class="string">"&lt;"</span>); +<a name="78" href="#78">78</a> operators.add(<span class="string">">"</span>); +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em class="comment">//boolean precedence</em> +<a name="81" href="#81">81</a> precedenceMap.put(<span class="string">"&lt;"</span>, <strong>new</strong> Integer(3)); +<a name="82" href="#82">82</a> precedenceMap.put(<span class="string">">"</span>, <strong>new</strong> Integer(3)); +<a name="83" href="#83">83</a> precedenceMap.put(<span class="string">"&lt;="</span>, <strong>new</strong> Integer(3)); +<a name="84" href="#84">84</a> precedenceMap.put(<span class="string">">="</span>, <strong>new</strong> Integer(3)); +<a name="85" href="#85">85</a> +<a name="86" href="#86">86</a> precedenceMap.put(<span class="string">"!"</span>, <strong>new</strong> Integer(3)); +<a name="87" href="#87">87</a> precedenceMap.put(<span class="string">"!="</span>, <strong>new</strong> Integer(3)); +<a name="88" href="#88">88</a> precedenceMap.put(<span class="string">"=="</span>, <strong>new</strong> Integer(3)); +<a name="89" href="#89">89</a> precedenceMap.put(<span class="string">"~="</span>, <strong>new</strong> Integer(3)); +<a name="90" href="#90">90</a> precedenceMap.put(<span class="string">"like"</span>, <strong>new</strong> Integer(3)); +<a name="91" href="#91">91</a> precedenceMap.put(<span class="string">"exists"</span>, <strong>new</strong> Integer(3)); +<a name="92" href="#92">92</a> +<a name="93" href="#93">93</a> precedenceMap.put(<span class="string">"||"</span>, <strong>new</strong> Integer(2)); +<a name="94" href="#94">94</a> precedenceMap.put(<span class="string">"&amp;&amp;"</span>, <strong>new</strong> Integer(2)); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> <em>/**<em>*</em></em> +<a name="97" href="#97">97</a> <em> * Convert in-fix expression to post-fix.</em> +<a name="98" href="#98">98</a> <em> * @param expression in-fix expression.</em> +<a name="99" href="#99">99</a> <em> * @return post-fix expression.</em> +<a name="100" href="#100">100</a> <em> */</em> +<a name="101" href="#101">101</a> <strong>public</strong> String convert(<strong>final</strong> String expression) { +<a name="102" href="#102">102</a> <strong>return</strong> infixToPostFix(<strong>new</strong> CustomTokenizer(expression)); +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em>/**<em>*</em></em> +<a name="106" href="#106">106</a> <em> * Evaluates whether symbol is operand.</em> +<a name="107" href="#107">107</a> <em> * @param s symbol.</em> +<a name="108" href="#108">108</a> <em> * @return true if operand.</em> +<a name="109" href="#109">109</a> <em> */</em> +<a name="110" href="#110">110</a> <strong>public</strong> <strong>static</strong> <strong>boolean</strong> isOperand(<strong>final</strong> String s) { +<a name="111" href="#111">111</a> String symbol = s.toLowerCase(); +<a name="112" href="#112">112</a> <strong>return</strong> (!operators.contains(symbol)); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <em>/**<em>*</em></em> +<a name="116" href="#116">116</a> <em> * Determines whether one symbol precedes another.</em> +<a name="117" href="#117">117</a> <em> * @param s1 symbol 1</em> +<a name="118" href="#118">118</a> <em> * @param s2 symbol 2</em> +<a name="119" href="#119">119</a> <em> * @return true if symbol 1 precedes symbol 2</em> +<a name="120" href="#120">120</a> <em> */</em> +<a name="121" href="#121">121</a> <strong>boolean</strong> precedes(<strong>final</strong> String s1, <strong>final</strong> String s2) { +<a name="122" href="#122">122</a> String symbol1 = s1.toLowerCase(); +<a name="123" href="#123">123</a> String symbol2 = s2.toLowerCase(); +<a name="124" href="#124">124</a> +<a name="125" href="#125">125</a> <strong>if</strong> (!precedenceMap.keySet().contains(symbol1)) { +<a name="126" href="#126">126</a> <strong>return</strong> false; +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> +<a name="129" href="#129">129</a> <strong>if</strong> (!precedenceMap.keySet().contains(symbol2)) { +<a name="130" href="#130">130</a> <strong>return</strong> false; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <strong>int</strong> index1 = ((Integer) precedenceMap.get(symbol1)).<strong>int</strong>Value(); +<a name="134" href="#134">134</a> <strong>int</strong> index2 = ((Integer) precedenceMap.get(symbol2)).<strong>int</strong>Value(); +<a name="135" href="#135">135</a> +<a name="136" href="#136">136</a> <strong>boolean</strong> precedesResult = (index1 &lt; index2); +<a name="137" href="#137">137</a> +<a name="138" href="#138">138</a> <strong>return</strong> precedesResult; +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <em>/**<em>*</em></em> +<a name="142" href="#142">142</a> <em> * convert in-fix expression to post-fix.</em> +<a name="143" href="#143">143</a> <em> * @param tokenizer tokenizer.</em> +<a name="144" href="#144">144</a> <em> * @return post-fix expression.</em> +<a name="145" href="#145">145</a> <em> */</em> +<a name="146" href="#146">146</a> String infixToPostFix(<strong>final</strong> CustomTokenizer tokenizer) { +<a name="147" href="#147">147</a> <strong>final</strong> String space = <span class="string">" "</span>; +<a name="148" href="#148">148</a> StringBuffer postfix = <strong>new</strong> StringBuffer(); +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> Stack stack = <strong>new</strong> Stack(); +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <strong>while</strong> (tokenizer.hasMoreTokens()) { +<a name="153" href="#153">153</a> String token = tokenizer.nextToken(); +<a name="154" href="#154">154</a> +<a name="155" href="#155">155</a> <strong>boolean</strong> inText = (token.startsWith(<span class="string">"'"</span>) &amp;&amp; (!token.endsWith(<span class="string">"'"</span>))) || (token.startsWith(<span class="string">"\&quot;"</span>) &amp;&amp; (!token.endsWith(<span class="string">"\&quot;"</span>))); +<a name="156" href="#156">156</a> String quoteChar = token.substring(0, 1); +<a name="157" href="#157">157</a> <strong>if</strong> (inText) { +<a name="158" href="#158">158</a> <strong>while</strong> (inText &amp;&amp; tokenizer.hasMoreTokens()) { +<a name="159" href="#159">159</a> token = token + <span class="string">" "</span> + tokenizer.nextToken(); +<a name="160" href="#160">160</a> inText = !(token.endsWith(quoteChar)); +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> +<a name="164" href="#164">164</a> <strong>if</strong> (<span class="string">"("</span>.equals(token)) { +<a name="165" href="#165">165</a> <em class="comment">//recurse</em> +<a name="166" href="#166">166</a> postfix.append(infixToPostFix(tokenizer)); +<a name="167" href="#167">167</a> postfix.append(space); +<a name="168" href="#168">168</a> } <strong>else</strong> <strong>if</strong> (<span class="string">")"</span>.equals(token)) { +<a name="169" href="#169">169</a> <em class="comment">//exit recursion level</em> +<a name="170" href="#170">170</a> <strong>while</strong> (stack.size() > 0) { +<a name="171" href="#171">171</a> postfix.append(stack.pop().toString()); +<a name="172" href="#172">172</a> postfix.append(space); +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> +<a name="175" href="#175">175</a> <strong>return</strong> postfix.toString(); +<a name="176" href="#176">176</a> } <strong>else</strong> <strong>if</strong> (isOperand(token)) { +<a name="177" href="#177">177</a> postfix.append(token); +<a name="178" href="#178">178</a> postfix.append(space); +<a name="179" href="#179">179</a> } <strong>else</strong> { +<a name="180" href="#180">180</a> <em class="comment">//operator..</em> +<a name="181" href="#181">181</a> <em class="comment">//peek the stack..if the top element has a lower precedence than token</em> +<a name="182" href="#182">182</a> <em class="comment">//(peeked + has lower precedence than token *),</em> +<a name="183" href="#183">183</a> <em class="comment">// push token onto the stack</em> +<a name="184" href="#184">184</a> <em class="comment">//otherwise, pop top element off stack and add to postfix string</em> +<a name="185" href="#185">185</a> <em class="comment">//in a loop until lower precedence or empty..then push token</em> +<a name="186" href="#186">186</a> <strong>if</strong> (stack.size() > 0) { +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> String peek = stack.peek().toString(); +<a name="189" href="#189">189</a> +<a name="190" href="#190">190</a> <strong>if</strong> (precedes(peek, token)) { +<a name="191" href="#191">191</a> stack.push(token); +<a name="192" href="#192">192</a> } <strong>else</strong> { +<a name="193" href="#193">193</a> <strong>boolean</strong> bypass = false; +<a name="194" href="#194">194</a> +<a name="195" href="#195">195</a> <strong>do</strong> { +<a name="196" href="#196">196</a> <strong>if</strong> ( +<a name="197" href="#197">197</a> (stack.size() > 0) +<a name="198" href="#198">198</a> &amp;&amp; !precedes(stack.peek().toString(), token)) { +<a name="199" href="#199">199</a> postfix.append(stack.pop().toString()); +<a name="200" href="#200">200</a> postfix.append(space); +<a name="201" href="#201">201</a> } <strong>else</strong> { +<a name="202" href="#202">202</a> bypass = <strong>true</strong>; +<a name="203" href="#203">203</a> } +<a name="204" href="#204">204</a> } <strong>while</strong> (!bypass); +<a name="205" href="#205">205</a> +<a name="206" href="#206">206</a> stack.push(token); +<a name="207" href="#207">207</a> } +<a name="208" href="#208">208</a> } <strong>else</strong> { +<a name="209" href="#209">209</a> stack.push(token); +<a name="210" href="#210">210</a> } +<a name="211" href="#211">211</a> } +<a name="212" href="#212">212</a> } +<a name="213" href="#213">213</a> +<a name="214" href="#214">214</a> <strong>while</strong> (stack.size() > 0) { +<a name="215" href="#215">215</a> postfix.append(stack.pop().toString()); +<a name="216" href="#216">216</a> postfix.append(space); +<a name="217" href="#217">217</a> } +<a name="218" href="#218">218</a> +<a name="219" href="#219">219</a> <strong>return</strong> postfix.toString(); +<a name="220" href="#220">220</a> } +<a name="221" href="#221">221</a> +<a name="222" href="#222">222</a> <strong>public</strong> <strong>static</strong> <strong>class</strong> CustomTokenizer { +<a name="223" href="#223">223</a> <strong>private</strong> LinkedList linkedList = <strong>new</strong> LinkedList(); +<a name="224" href="#224">224</a> +<a name="225" href="#225">225</a> <strong>public</strong> CustomTokenizer(String input) { +<a name="226" href="#226">226</a> parseInput(input, linkedList); +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> +<a name="229" href="#229">229</a> <strong>public</strong> <strong>void</strong> parseInput(String input, LinkedList linkedList) { +<a name="230" href="#230">230</a> <em class="comment">/*</em> +<a name="231" href="#231">231</a> <em class="comment"> Operators:</em> +<a name="232" href="#232">232</a> <em class="comment"> !</em> +<a name="233" href="#233">233</a> <em class="comment"> !=</em> +<a name="234" href="#234">234</a> <em class="comment"> ==</em> +<a name="235" href="#235">235</a> <em class="comment"> ~=</em> +<a name="236" href="#236">236</a> <em class="comment"> ||</em> +<a name="237" href="#237">237</a> <em class="comment"> &amp;&amp;</em> +<a name="238" href="#238">238</a> <em class="comment"> like</em> +<a name="239" href="#239">239</a> <em class="comment"> exists</em> +<a name="240" href="#240">240</a> <em class="comment"> &lt;</em> +<a name="241" href="#241">241</a> <em class="comment"> &lt;=</em> +<a name="242" href="#242">242</a> <em class="comment"> ></em> +<a name="243" href="#243">243</a> <em class="comment"> >=</em> +<a name="244" href="#244">244</a> <em class="comment"> */</em> +<a name="245" href="#245">245</a> <em class="comment">//for operators, handle multi-char matches before single-char matches</em> +<a name="246" href="#246">246</a> <em class="comment">//order does not matter for keywords</em> +<a name="247" href="#247">247</a> List keywords = LoggingEventFieldResolver.KEYWORD_LIST; +<a name="248" href="#248">248</a> <em class="comment">//remove PROP. from the keyword list...it is a keyword in that list, but is handled separately here from the other keywords since its name is not fixed</em> +<a name="249" href="#249">249</a> keywords.remove(<span class="string">"PROP."</span>); +<a name="250" href="#250">250</a> <strong>int</strong> pos = 0; +<a name="251" href="#251">251</a> <strong>while</strong> (pos &lt; input.length()) { +<a name="252" href="#252">252</a> <strong>if</strong> (nextValueIs(input, pos, <span class="string">"'"</span>) || nextValueIs(input, pos, <span class="string">"\&quot;"</span>)) { +<a name="253" href="#253">253</a> pos = handleQuotedString(input, pos, linkedList); +<a name="254" href="#254">254</a> } +<a name="255" href="#255">255</a> <strong>if</strong> (nextValueIs(input, pos, <span class="string">"PROP."</span>)) { +<a name="256" href="#256">256</a> pos = handleProperty(input, pos, linkedList); +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> <strong>boolean</strong> operatorFound = false; +<a name="259" href="#259">259</a> <strong>for</strong> (Iterator iter = operators.iterator();iter.hasNext();) { +<a name="260" href="#260">260</a> String <strong>operator</strong> = (String)iter.next(); +<a name="261" href="#261">261</a> <strong>if</strong> (nextValueIs(input, pos, <strong>operator</strong>)) { +<a name="262" href="#262">262</a> operatorFound = <strong>true</strong>; +<a name="263" href="#263">263</a> pos = handle(pos, linkedList, <strong>operator</strong>); +<a name="264" href="#264">264</a> } +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> <strong>boolean</strong> keywordFound = false; +<a name="267" href="#267">267</a> <strong>for</strong> (Iterator iter = keywords.iterator();iter.hasNext();) { +<a name="268" href="#268">268</a> String keyword = (String)iter.next(); +<a name="269" href="#269">269</a> <strong>if</strong> (nextValueIs(input, pos, keyword)) { +<a name="270" href="#270">270</a> keywordFound = <strong>true</strong>; +<a name="271" href="#271">271</a> pos = handle(pos, linkedList, keyword); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> } +<a name="274" href="#274">274</a> <strong>if</strong> (operatorFound || keywordFound) { +<a name="275" href="#275">275</a> <strong>continue</strong>; +<a name="276" href="#276">276</a> } +<a name="277" href="#277">277</a> <strong>if</strong> (nextValueIs(input, pos, <span class="string">")"</span>)) { +<a name="278" href="#278">278</a> pos = handle(pos, linkedList, <span class="string">")"</span>); +<a name="279" href="#279">279</a> } <strong>else</strong> <strong>if</strong> (nextValueIs(input, pos, <span class="string">"("</span>)) { +<a name="280" href="#280">280</a> pos = handle(pos, linkedList, <span class="string">"("</span>); +<a name="281" href="#281">281</a> } <strong>else</strong> <strong>if</strong> (nextValueIs(input, pos, <span class="string">" "</span>)) { +<a name="282" href="#282">282</a> pos++; +<a name="283" href="#283">283</a> } <strong>else</strong> { +<a name="284" href="#284">284</a> pos = handleText(input, pos, linkedList); +<a name="285" href="#285">285</a> } +<a name="286" href="#286">286</a> } +<a name="287" href="#287">287</a> } +<a name="288" href="#288">288</a> +<a name="289" href="#289">289</a> <strong>private</strong> <strong>boolean</strong> nextValueIs(String input, <strong>int</strong> pos, String value) { +<a name="290" href="#290">290</a> <strong>return</strong> (input.length() >= (pos + value.length())) &amp;&amp; (input.substring(pos, pos + value.length()).equalsIgnoreCase(value)); +<a name="291" href="#291">291</a> } +<a name="292" href="#292">292</a> +<a name="293" href="#293">293</a> <strong>private</strong> <strong>int</strong> handle(<strong>int</strong> pos, LinkedList linkedList, String value) { +<a name="294" href="#294">294</a> linkedList.add(value); +<a name="295" href="#295">295</a> <strong>return</strong> pos + value.length(); +<a name="296" href="#296">296</a> } +<a name="297" href="#297">297</a> +<a name="298" href="#298">298</a> <strong>private</strong> <strong>int</strong> handleQuotedString(String input, <strong>int</strong> pos, LinkedList linkedList) { +<a name="299" href="#299">299</a> String quoteChar = input.substring(pos, pos + 1); +<a name="300" href="#300">300</a> <strong>int</strong> nextSingleQuotePos = input.indexOf(quoteChar, pos + 1); +<a name="301" href="#301">301</a> <strong>if</strong> (nextSingleQuotePos &lt; 0) { +<a name="302" href="#302">302</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Missing an end quote"</span>); +<a name="303" href="#303">303</a> } +<a name="304" href="#304">304</a> String result = input.substring(pos, nextSingleQuotePos + 1); +<a name="305" href="#305">305</a> linkedList.add(result); +<a name="306" href="#306">306</a> <strong>return</strong> nextSingleQuotePos + 1; +<a name="307" href="#307">307</a> } +<a name="308" href="#308">308</a> +<a name="309" href="#309">309</a> <strong>private</strong> <strong>int</strong> handleText(String input, <strong>int</strong> pos, LinkedList linkedList) { +<a name="310" href="#310">310</a> StringBuffer text = <strong>new</strong> StringBuffer(<span class="string">""</span>); +<a name="311" href="#311">311</a> <strong>int</strong> newPos = pos; +<a name="312" href="#312">312</a> <strong>while</strong> (newPos &lt; input.length()) { +<a name="313" href="#313">313</a> <strong>if</strong> (nextValueIs(input, newPos, <span class="string">" "</span>)) { +<a name="314" href="#314">314</a> linkedList.add(text); +<a name="315" href="#315">315</a> <strong>return</strong> newPos; +<a name="316" href="#316">316</a> } +<a name="317" href="#317">317</a> <strong>if</strong> (nextValueIs(input, newPos, <span class="string">"("</span>)) { +<a name="318" href="#318">318</a> linkedList.add(text); +<a name="319" href="#319">319</a> <strong>return</strong> newPos; +<a name="320" href="#320">320</a> } +<a name="321" href="#321">321</a> <strong>if</strong> (nextValueIs(input, newPos, <span class="string">")"</span>)) { +<a name="322" href="#322">322</a> linkedList.add(text); +<a name="323" href="#323">323</a> <strong>return</strong> newPos; +<a name="324" href="#324">324</a> } +<a name="325" href="#325">325</a> <strong>for</strong> (Iterator iter = operators.iterator();iter.hasNext();) { +<a name="326" href="#326">326</a> String <strong>operator</strong> = (String)iter.next(); +<a name="327" href="#327">327</a> <strong>if</strong> (nextValueIs(input, newPos, <strong>operator</strong>)) { +<a name="328" href="#328">328</a> linkedList.add(text); +<a name="329" href="#329">329</a> <strong>return</strong> newPos; +<a name="330" href="#330">330</a> } +<a name="331" href="#331">331</a> } +<a name="332" href="#332">332</a> text.append(input.substring(newPos, ++newPos)); +<a name="333" href="#333">333</a> } +<a name="334" href="#334">334</a> <em class="comment">//don't add empty text entry (may be at end)</em> +<a name="335" href="#335">335</a> <strong>if</strong> (!text.toString().trim().equals(<span class="string">""</span>)) { +<a name="336" href="#336">336</a> linkedList.add(text); +<a name="337" href="#337">337</a> } +<a name="338" href="#338">338</a> <strong>return</strong> newPos; +<a name="339" href="#339">339</a> } +<a name="340" href="#340">340</a> +<a name="341" href="#341">341</a> <strong>private</strong> <strong>int</strong> handleProperty(String input, <strong>int</strong> pos, LinkedList linkedList) { +<a name="342" href="#342">342</a> <strong>int</strong> propertyPos = pos + <span class="string">"PROP."</span>.length(); +<a name="343" href="#343">343</a> StringBuffer propertyName = <strong>new</strong> StringBuffer(<span class="string">"PROP."</span>); +<a name="344" href="#344">344</a> <strong>while</strong> (propertyPos &lt; input.length()) { +<a name="345" href="#345">345</a> <strong>if</strong> (nextValueIs(input, propertyPos, <span class="string">" "</span>)) { +<a name="346" href="#346">346</a> linkedList.add(propertyName); +<a name="347" href="#347">347</a> <strong>return</strong> propertyPos; +<a name="348" href="#348">348</a> } +<a name="349" href="#349">349</a> <strong>if</strong> (nextValueIs(input, propertyPos, <span class="string">"("</span>)) { +<a name="350" href="#350">350</a> linkedList.add(propertyName); +<a name="351" href="#351">351</a> <strong>return</strong> propertyPos; +<a name="352" href="#352">352</a> } +<a name="353" href="#353">353</a> <strong>if</strong> (nextValueIs(input, propertyPos, <span class="string">")"</span>)) { +<a name="354" href="#354">354</a> linkedList.add(propertyName); +<a name="355" href="#355">355</a> <strong>return</strong> propertyPos; +<a name="356" href="#356">356</a> } +<a name="357" href="#357">357</a> <strong>for</strong> (Iterator iter = operators.iterator();iter.hasNext();) { +<a name="358" href="#358">358</a> String <strong>operator</strong> = (String)iter.next(); +<a name="359" href="#359">359</a> <strong>if</strong> (nextValueIs(input, propertyPos, <strong>operator</strong>)) { +<a name="360" href="#360">360</a> linkedList.add(propertyName); +<a name="361" href="#361">361</a> <strong>return</strong> propertyPos; +<a name="362" href="#362">362</a> } +<a name="363" href="#363">363</a> } +<a name="364" href="#364">364</a> propertyName.append(input.substring(propertyPos, ++propertyPos)); +<a name="365" href="#365">365</a> } +<a name="366" href="#366">366</a> linkedList.add(propertyName); +<a name="367" href="#367">367</a> <strong>return</strong> propertyPos; +<a name="368" href="#368">368</a> } +<a name="369" href="#369">369</a> +<a name="370" href="#370">370</a> <strong>public</strong> <strong>boolean</strong> hasMoreTokens() { +<a name="371" href="#371">371</a> <strong>return</strong> linkedList.size() > 0; +<a name="372" href="#372">372</a> } +<a name="373" href="#373">373</a> +<a name="374" href="#374">374</a> <strong>public</strong> String nextToken() { +<a name="375" href="#375">375</a> <strong>return</strong> linkedList.remove().toString(); +<a name="376" href="#376">376</a> } +<a name="377" href="#377">377</a> } +<a name="378" href="#378">378</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/InequalityRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/InequalityRule.html new file mode 100644 index 00000000000..447d1e683c6 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/InequalityRule.html @@ -0,0 +1,175 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>InequalityRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/InequalityRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> java.util.HashSet; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Map; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Set; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Stack; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * A Rule class implementing inequality evaluation.</em> +<a name="31" href="#31">31</a> <em> * expects to be able to convert two values to longs.</em> +<a name="32" href="#32">32</a> <em> * If a specific inequality evaluation class has been provided</em> +<a name="33" href="#33">33</a> <em> * for the event field, the appropriate rule is returned.</em> +<a name="34" href="#34">34</a> <em> * (For example, if the expression is Level &amp;lt DEBUG,</em> +<a name="35" href="#35">35</a> <em> * a LevelInequalityRule is returned).</em> +<a name="36" href="#36">36</a> <em> *</em> +<a name="37" href="#37">37</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="38" href="#38">38</a> <em> */</em> +<a name="39" href="#39">39</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/InequalityRule.html">InequalityRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Serialization ID.</em> +<a name="42" href="#42">42</a> <em> */</em> +<a name="43" href="#43">43</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -5592986598528885122L; +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * field RESOLVER.</em> +<a name="46" href="#46">46</a> <em> */</em> +<a name="47" href="#47">47</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = +<a name="48" href="#48">48</a> LoggingEventFieldResolver.getInstance(); +<a name="49" href="#49">49</a> <em>/**<em>*</em></em> +<a name="50" href="#50">50</a> <em> * Field name.</em> +<a name="51" href="#51">51</a> <em> */</em> +<a name="52" href="#52">52</a> <strong>private</strong> <strong>final</strong> String field; +<a name="53" href="#53">53</a> <em>/**<em>*</em></em> +<a name="54" href="#54">54</a> <em> * Comparison value.</em> +<a name="55" href="#55">55</a> <em> */</em> +<a name="56" href="#56">56</a> <strong>private</strong> <strong>final</strong> String value; +<a name="57" href="#57">57</a> <em>/**<em>*</em></em> +<a name="58" href="#58">58</a> <em> * Inequality symbol.</em> +<a name="59" href="#59">59</a> <em> */</em> +<a name="60" href="#60">60</a> <strong>private</strong> <strong>final</strong> String inequalitySymbol; +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em>/**<em>*</em></em> +<a name="63" href="#63">63</a> <em> * Create new instance.</em> +<a name="64" href="#64">64</a> <em> * @param inequalitySymbol inequality symbol.</em> +<a name="65" href="#65">65</a> <em> * @param field field</em> +<a name="66" href="#66">66</a> <em> * @param value comparison value.</em> +<a name="67" href="#67">67</a> <em> */</em> +<a name="68" href="#68">68</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/InequalityRule.html">InequalityRule</a>( +<a name="69" href="#69">69</a> <strong>final</strong> String inequalitySymbol, +<a name="70" href="#70">70</a> <strong>final</strong> String field, +<a name="71" href="#71">71</a> <strong>final</strong> String value) { +<a name="72" href="#72">72</a> <strong>super</strong>(); +<a name="73" href="#73">73</a> <strong>this</strong>.inequalitySymbol = inequalitySymbol; +<a name="74" href="#74">74</a> <strong>if</strong> (!RESOLVER.isField(field)) { +<a name="75" href="#75">75</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid "</span> + inequalitySymbol +<a name="76" href="#76">76</a> + <span class="string">" rule - "</span> + field + <span class="string">" is not a supported field"</span>); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> +<a name="79" href="#79">79</a> <strong>this</strong>.field = field; +<a name="80" href="#80">80</a> <strong>this</strong>.value = value; +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em>/**<em>*</em></em> +<a name="84" href="#84">84</a> <em> * Create new instance from top two elements on stack.</em> +<a name="85" href="#85">85</a> <em> * @param inequalitySymbol inequality symbol.</em> +<a name="86" href="#86">86</a> <em> * @param stack stack.</em> +<a name="87" href="#87">87</a> <em> * @return rule.</em> +<a name="88" href="#88">88</a> <em> */</em> +<a name="89" href="#89">89</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String inequalitySymbol, +<a name="90" href="#90">90</a> <strong>final</strong> Stack stack) { +<a name="91" href="#91">91</a> <strong>if</strong> (stack.size() &lt; 2) { +<a name="92" href="#92">92</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid "</span> + inequalitySymbol +<a name="93" href="#93">93</a> + <span class="string">" rule - expected two parameters but received "</span> +<a name="94" href="#94">94</a> + stack.size()); +<a name="95" href="#95">95</a> } +<a name="96" href="#96">96</a> +<a name="97" href="#97">97</a> String p2 = stack.pop().toString(); +<a name="98" href="#98">98</a> String p1 = stack.pop().toString(); +<a name="99" href="#99">99</a> <strong>return</strong> getRule(inequalitySymbol, p1, p2); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em>/**<em>*</em></em> +<a name="103" href="#103">103</a> <em> * Create new instance from top two elements on stack.</em> +<a name="104" href="#104">104</a> <em> * @param inequalitySymbol inequality symbol.</em> +<a name="105" href="#105">105</a> <em> * @param field field.</em> +<a name="106" href="#106">106</a> <em> * @param value comparison value.</em> +<a name="107" href="#107">107</a> <em> * @return rule.</em> +<a name="108" href="#108">108</a> <em> */</em> +<a name="109" href="#109">109</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String inequalitySymbol, +<a name="110" href="#110">110</a> <strong>final</strong> String field, +<a name="111" href="#111">111</a> <strong>final</strong> String value) { +<a name="112" href="#112">112</a> <strong>if</strong> (field.equalsIgnoreCase(LoggingEventFieldResolver.LEVEL_FIELD)) { +<a name="113" href="#113">113</a> <em class="comment">//push the value back on the stack and</em> +<a name="114" href="#114">114</a> <em class="comment">// allow the level-specific rule pop values</em> +<a name="115" href="#115">115</a> <strong>return</strong> LevelInequalityRule.getRule(inequalitySymbol, value); +<a name="116" href="#116">116</a> } <strong>else</strong> <strong>if</strong> ( +<a name="117" href="#117">117</a> field.equalsIgnoreCase(LoggingEventFieldResolver.TIMESTAMP_FIELD)) { +<a name="118" href="#118">118</a> <strong>return</strong> TimestampInequalityRule.getRule(inequalitySymbol, value); +<a name="119" href="#119">119</a> } <strong>else</strong> { +<a name="120" href="#120">120</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/InequalityRule.html">InequalityRule</a>(inequalitySymbol, field, value); +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> } +<a name="123" href="#123">123</a> +<a name="124" href="#124">124</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="125" href="#125">125</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="126" href="#126">126</a> <strong>long</strong> first = 0; +<a name="127" href="#127">127</a> <strong>try</strong> { +<a name="128" href="#128">128</a> first = <strong>new</strong> Long(RESOLVER.getValue(field, event).toString()).longValue(); +<a name="129" href="#129">129</a> } <strong>catch</strong> (NumberFormatException nfe) { +<a name="130" href="#130">130</a> <strong>return</strong> false; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <strong>long</strong> second = 0; +<a name="134" href="#134">134</a> +<a name="135" href="#135">135</a> <strong>try</strong> { +<a name="136" href="#136">136</a> second = <strong>new</strong> Long(value).longValue(); +<a name="137" href="#137">137</a> } <strong>catch</strong> (NumberFormatException nfe) { +<a name="138" href="#138">138</a> <strong>return</strong> false; +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <strong>boolean</strong> result = false; +<a name="142" href="#142">142</a> +<a name="143" href="#143">143</a> <strong>if</strong> (<span class="string">"&lt;"</span>.equals(inequalitySymbol)) { +<a name="144" href="#144">144</a> result = first &lt; second; +<a name="145" href="#145">145</a> } <strong>else</strong> <strong>if</strong> (<span class="string">">"</span>.equals(inequalitySymbol)) { +<a name="146" href="#146">146</a> result = first > second; +<a name="147" href="#147">147</a> } <strong>else</strong> <strong>if</strong> (<span class="string">"&lt;="</span>.equals(inequalitySymbol)) { +<a name="148" href="#148">148</a> result = first &lt;= second; +<a name="149" href="#149">149</a> } <strong>else</strong> <strong>if</strong> (<span class="string">">="</span>.equals(inequalitySymbol)) { +<a name="150" href="#150">150</a> result = first >= second; +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="153" href="#153">153</a> Set entries = (Set) matches.get(field.toUpperCase()); +<a name="154" href="#154">154</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="155" href="#155">155</a> entries = <strong>new</strong> HashSet(); +<a name="156" href="#156">156</a> matches.put(field.toUpperCase(), entries); +<a name="157" href="#157">157</a> } +<a name="158" href="#158">158</a> entries.add(String.valueOf(first)); +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> <strong>return</strong> result; +<a name="161" href="#161">161</a> } +<a name="162" href="#162">162</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LevelEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LevelEqualsRule.html new file mode 100644 index 00000000000..08e29c3262b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LevelEqualsRule.html @@ -0,0 +1,162 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LevelEqualsRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/LevelEqualsRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.io.IOException; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.HashSet; +<a name="22" href="#22">22</a> <strong>import</strong> java.util.LinkedList; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.List; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Map; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Set; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.Level; +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.helpers.UtilLoggingLevel; +<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="30" href="#30">30</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * A Rule class implementing equals against two levels.</em> +<a name="34" href="#34">34</a> <em> *</em> +<a name="35" href="#35">35</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/LevelEqualsRule.html">LevelEqualsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="38" href="#38">38</a> <em>/**<em>*</em></em> +<a name="39" href="#39">39</a> <em> * Serialization ID.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -3638386582899583994L; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * Level.</em> +<a name="45" href="#45">45</a> <em> */</em> +<a name="46" href="#46">46</a> <strong>private</strong> <strong>transient</strong> Level level; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em>/**<em>*</em></em> +<a name="49" href="#49">49</a> <em> * List of levels.</em> +<a name="50" href="#50">50</a> <em> */</em> +<a name="51" href="#51">51</a> <strong>private</strong> <strong>static</strong> List levelList = <strong>new</strong> LinkedList(); +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong>static</strong> { +<a name="54" href="#54">54</a> populateLevels(); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em>/**<em>*</em></em> +<a name="58" href="#58">58</a> <em> * Create new instance.</em> +<a name="59" href="#59">59</a> <em> * @param level level.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/LevelEqualsRule.html">LevelEqualsRule</a>(<strong>final</strong> Level level) { +<a name="62" href="#62">62</a> <strong>super</strong>(); +<a name="63" href="#63">63</a> <strong>this</strong>.level = level; +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em>/**<em>*</em></em> +<a name="67" href="#67">67</a> <em> * Populate list of levels.</em> +<a name="68" href="#68">68</a> <em> */</em> +<a name="69" href="#69">69</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> populateLevels() { +<a name="70" href="#70">70</a> levelList = <strong>new</strong> LinkedList(); +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> levelList.add(Level.FATAL.toString()); +<a name="73" href="#73">73</a> levelList.add(Level.ERROR.toString()); +<a name="74" href="#74">74</a> levelList.add(Level.WARN.toString()); +<a name="75" href="#75">75</a> levelList.add(Level.INFO.toString()); +<a name="76" href="#76">76</a> levelList.add(Level.DEBUG.toString()); +<a name="77" href="#77">77</a> Level trace = Level.toLevel(5000, <strong>null</strong>); +<a name="78" href="#78">78</a> <strong>if</strong> (trace != <strong>null</strong>) { +<a name="79" href="#79">79</a> levelList.add(trace.toString()); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em>/**<em>*</em></em> +<a name="84" href="#84">84</a> <em> * Create new rule.</em> +<a name="85" href="#85">85</a> <em> * @param value name of level.</em> +<a name="86" href="#86">86</a> <em> * @return instance of LevelEqualsRule.</em> +<a name="87" href="#87">87</a> <em> */</em> +<a name="88" href="#88">88</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String value) { +<a name="89" href="#89">89</a> Level thisLevel; +<a name="90" href="#90">90</a> <strong>if</strong> (levelList.contains(value.toUpperCase())) { +<a name="91" href="#91">91</a> thisLevel = Level.toLevel(value.toUpperCase()); +<a name="92" href="#92">92</a> } <strong>else</strong> { +<a name="93" href="#93">93</a> thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase()); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/LevelEqualsRule.html">LevelEqualsRule</a>(thisLevel); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em>/**<em>*</em></em> +<a name="100" href="#100">100</a> <em> * {@inheritDoc}</em> +<a name="101" href="#101">101</a> <em> */</em> +<a name="102" href="#102">102</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="103" href="#103">103</a> <em class="comment">//both util.logging and log4j contain 'info' - use the int values instead of equality</em> +<a name="104" href="#104">104</a> <em class="comment">//info level set to the same value for both levels</em> +<a name="105" href="#105">105</a> Level eventLevel = event.getLevel(); +<a name="106" href="#106">106</a> <strong>boolean</strong> result = (level.toInt() == eventLevel.toInt()); +<a name="107" href="#107">107</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="108" href="#108">108</a> Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); +<a name="109" href="#109">109</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="110" href="#110">110</a> entries = <strong>new</strong> HashSet(); +<a name="111" href="#111">111</a> matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> entries.add(eventLevel); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> <strong>return</strong> result; +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em>/**<em>*</em></em> +<a name="119" href="#119">119</a> <em> * Deserialize the state of the object.</em> +<a name="120" href="#120">120</a> <em> *</em> +<a name="121" href="#121">121</a> <em> * @param in object input stream.</em> +<a name="122" href="#122">122</a> <em> *</em> +<a name="123" href="#123">123</a> <em> * @throws IOException if error in reading stream for deserialization.</em> +<a name="124" href="#124">124</a> <em> */</em> +<a name="125" href="#125">125</a> <strong>private</strong> <strong>void</strong> readObject(<strong>final</strong> java.io.ObjectInputStream in) +<a name="126" href="#126">126</a> throws IOException { +<a name="127" href="#127">127</a> populateLevels(); +<a name="128" href="#128">128</a> <strong>boolean</strong> isUtilLogging = in.readBoolean(); +<a name="129" href="#129">129</a> <strong>int</strong> levelInt = in.readInt(); +<a name="130" href="#130">130</a> <strong>if</strong> (isUtilLogging) { +<a name="131" href="#131">131</a> level = UtilLoggingLevel.toLevel(levelInt); +<a name="132" href="#132">132</a> } <strong>else</strong> { +<a name="133" href="#133">133</a> level = Level.toLevel(levelInt); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em>/**<em>*</em></em> +<a name="138" href="#138">138</a> <em> * Serialize the state of the object.</em> +<a name="139" href="#139">139</a> <em> *</em> +<a name="140" href="#140">140</a> <em> * @param out object output stream.</em> +<a name="141" href="#141">141</a> <em> *</em> +<a name="142" href="#142">142</a> <em> * @throws IOException if error in writing stream during serialization.</em> +<a name="143" href="#143">143</a> <em> */</em> +<a name="144" href="#144">144</a> <strong>private</strong> <strong>void</strong> writeObject(<strong>final</strong> java.io.ObjectOutputStream out) +<a name="145" href="#145">145</a> throws IOException { +<a name="146" href="#146">146</a> out.writeBoolean(level instanceof <a href="../../../../org/apache/log4j/helpers/UtilLoggingLevel.html">UtilLoggingLevel</a>); +<a name="147" href="#147">147</a> out.writeInt(level.toInt()); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LevelInequalityRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LevelInequalityRule.html new file mode 100644 index 00000000000..275d99c4bb2 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LevelInequalityRule.html @@ -0,0 +1,283 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LevelInequalityRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/LevelInequalityRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.util.HashSet; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.LinkedList; +<a name="22" href="#22">22</a> <strong>import</strong> java.util.List; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.Map; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Set; +<a name="25" href="#25">25</a> +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.Level; +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.helpers.UtilLoggingLevel; +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * A Rule class implementing inequality evaluation for Levels (log4j and</em> +<a name="33" href="#33">33</a> <em> * util.logging) using the toInt method.</em> +<a name="34" href="#34">34</a> <em> *</em> +<a name="35" href="#35">35</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/LevelInequalityRule.html">LevelInequalityRule</a> { +<a name="38" href="#38">38</a> <em>/**<em>*</em></em> +<a name="39" href="#39">39</a> <em> * Level list.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>private</strong> <strong>static</strong> List levelList; +<a name="42" href="#42">42</a> <em>/**<em>*</em></em> +<a name="43" href="#43">43</a> <em> * List equivalents of java.util.logging levels.</em> +<a name="44" href="#44">44</a> <em> */</em> +<a name="45" href="#45">45</a> <strong>private</strong> <strong>static</strong> List utilLoggingLevelList; +<a name="46" href="#46">46</a> +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <strong>static</strong> { +<a name="49" href="#49">49</a> populateLevels(); +<a name="50" href="#50">50</a> } +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em>/**<em>*</em></em> +<a name="53" href="#53">53</a> <em> * Create new instance.</em> +<a name="54" href="#54">54</a> <em> */</em> +<a name="55" href="#55">55</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/LevelInequalityRule.html">LevelInequalityRule</a>() { +<a name="56" href="#56">56</a> <strong>super</strong>(); +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em>/**<em>*</em></em> +<a name="60" href="#60">60</a> <em> * Populate list of levels.</em> +<a name="61" href="#61">61</a> <em> */</em> +<a name="62" href="#62">62</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> populateLevels() { +<a name="63" href="#63">63</a> levelList = <strong>new</strong> LinkedList(); +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> levelList.add(Level.FATAL.toString()); +<a name="66" href="#66">66</a> levelList.add(Level.ERROR.toString()); +<a name="67" href="#67">67</a> levelList.add(Level.WARN.toString()); +<a name="68" href="#68">68</a> levelList.add(Level.INFO.toString()); +<a name="69" href="#69">69</a> levelList.add(Level.DEBUG.toString()); +<a name="70" href="#70">70</a> Level trace = Level.toLevel(5000, <strong>null</strong>); +<a name="71" href="#71">71</a> <strong>if</strong> (trace != <strong>null</strong>) { +<a name="72" href="#72">72</a> levelList.add(trace.toString()); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> +<a name="75" href="#75">75</a> utilLoggingLevelList = <strong>new</strong> LinkedList(); +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> utilLoggingLevelList.add(UtilLoggingLevel.SEVERE.toString()); +<a name="78" href="#78">78</a> utilLoggingLevelList.add(UtilLoggingLevel.WARNING.toString()); +<a name="79" href="#79">79</a> utilLoggingLevelList.add(UtilLoggingLevel.INFO.toString()); +<a name="80" href="#80">80</a> utilLoggingLevelList.add(UtilLoggingLevel.CONFIG.toString()); +<a name="81" href="#81">81</a> utilLoggingLevelList.add(UtilLoggingLevel.FINE.toString()); +<a name="82" href="#82">82</a> utilLoggingLevelList.add(UtilLoggingLevel.FINER.toString()); +<a name="83" href="#83">83</a> utilLoggingLevelList.add(UtilLoggingLevel.FINEST.toString()); +<a name="84" href="#84">84</a> +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em>/**<em>*</em></em> +<a name="88" href="#88">88</a> <em> * Create new rule.</em> +<a name="89" href="#89">89</a> <em> * @param inequalitySymbol inequality symbol.</em> +<a name="90" href="#90">90</a> <em> * @param value Symbolic name of comparison level.</em> +<a name="91" href="#91">91</a> <em> * @return instance of AbstractRule.</em> +<a name="92" href="#92">92</a> <em> */</em> +<a name="93" href="#93">93</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String inequalitySymbol, +<a name="94" href="#94">94</a> <strong>final</strong> String value) { +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> Level thisLevel; +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em class="comment">//if valid util.logging levels are used against events</em> +<a name="99" href="#99">99</a> <em class="comment">// with log4j levels, the</em> +<a name="100" href="#100">100</a> <em class="comment">//DEBUG level is used and an illegalargumentexception won't be generated</em> +<a name="101" href="#101">101</a> +<a name="102" href="#102">102</a> <em class="comment">//an illegalargumentexception is only generated</em> +<a name="103" href="#103">103</a> <em class="comment">// if the user types a level name</em> +<a name="104" href="#104">104</a> <em class="comment">//that doesn't exist as either a log4j or util.logging level name</em> +<a name="105" href="#105">105</a> <strong>if</strong> (levelList.contains(value.toUpperCase())) { +<a name="106" href="#106">106</a> thisLevel = Level.toLevel(value.toUpperCase()); +<a name="107" href="#107">107</a> } <strong>else</strong> <strong>if</strong> (utilLoggingLevelList.contains(value.toUpperCase())) { +<a name="108" href="#108">108</a> thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase()); +<a name="109" href="#109">109</a> } <strong>else</strong> { +<a name="110" href="#110">110</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="111" href="#111">111</a> <span class="string">"Invalid level inequality rule - "</span> + value +<a name="112" href="#112">112</a> + <span class="string">" is not a supported level"</span>); +<a name="113" href="#113">113</a> } +<a name="114" href="#114">114</a> +<a name="115" href="#115">115</a> <strong>if</strong> (<span class="string">"&lt;"</span>.equals(inequalitySymbol)) { +<a name="116" href="#116">116</a> <strong>return</strong> <strong>new</strong> LessThanRule(thisLevel); +<a name="117" href="#117">117</a> } +<a name="118" href="#118">118</a> <strong>if</strong> (<span class="string">">"</span>.equals(inequalitySymbol)) { +<a name="119" href="#119">119</a> <strong>return</strong> <strong>new</strong> GreaterThanRule(thisLevel); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> <strong>if</strong> (<span class="string">"&lt;="</span>.equals(inequalitySymbol)) { +<a name="122" href="#122">122</a> <strong>return</strong> <strong>new</strong> LessThanEqualsRule(thisLevel); +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> <strong>if</strong> (<span class="string">">="</span>.equals(inequalitySymbol)) { +<a name="125" href="#125">125</a> <strong>return</strong> <strong>new</strong> GreaterThanEqualsRule(thisLevel); +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> +<a name="128" href="#128">128</a> <strong>return</strong> <strong>null</strong>; +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <em>/**<em>*</em></em> +<a name="132" href="#132">132</a> <em> * Rule returning true if event level less than specified level.</em> +<a name="133" href="#133">133</a> <em> */</em> +<a name="134" href="#134">134</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> LessThanRule <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="135" href="#135">135</a> <em>/**<em>*</em></em> +<a name="136" href="#136">136</a> <em> * Comparison level.</em> +<a name="137" href="#137">137</a> <em> */</em> +<a name="138" href="#138">138</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> newLevelInt; +<a name="139" href="#139">139</a> +<a name="140" href="#140">140</a> <em>/**<em>*</em></em> +<a name="141" href="#141">141</a> <em> * Create new instance.</em> +<a name="142" href="#142">142</a> <em> * @param level comparison level.</em> +<a name="143" href="#143">143</a> <em> */</em> +<a name="144" href="#144">144</a> <strong>public</strong> LessThanRule(<strong>final</strong> Level level) { +<a name="145" href="#145">145</a> <strong>super</strong>(); +<a name="146" href="#146">146</a> newLevelInt = level.toInt(); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="150" href="#150">150</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="151" href="#151">151</a> Level eventLevel = event.getLevel(); +<a name="152" href="#152">152</a> <strong>boolean</strong> result = (eventLevel.toInt() &lt; newLevelInt); +<a name="153" href="#153">153</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="154" href="#154">154</a> Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); +<a name="155" href="#155">155</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="156" href="#156">156</a> entries = <strong>new</strong> HashSet(); +<a name="157" href="#157">157</a> matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); +<a name="158" href="#158">158</a> } +<a name="159" href="#159">159</a> entries.add(eventLevel); +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> <strong>return</strong> result; +<a name="162" href="#162">162</a> } +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <em>/**<em>*</em></em> +<a name="166" href="#166">166</a> <em> * Rule returning true if event level greater than specified level.</em> +<a name="167" href="#167">167</a> <em> */</em> +<a name="168" href="#168">168</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> GreaterThanRule <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="169" href="#169">169</a> <em>/**<em>*</em></em> +<a name="170" href="#170">170</a> <em> * Comparison level.</em> +<a name="171" href="#171">171</a> <em> */</em> +<a name="172" href="#172">172</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> newLevelInt; +<a name="173" href="#173">173</a> +<a name="174" href="#174">174</a> <em>/**<em>*</em></em> +<a name="175" href="#175">175</a> <em> * Create new instance.</em> +<a name="176" href="#176">176</a> <em> * @param level comparison level.</em> +<a name="177" href="#177">177</a> <em> */</em> +<a name="178" href="#178">178</a> <strong>public</strong> GreaterThanRule(<strong>final</strong> Level level) { +<a name="179" href="#179">179</a> <strong>super</strong>(); +<a name="180" href="#180">180</a> newLevelInt = level.toInt(); +<a name="181" href="#181">181</a> } +<a name="182" href="#182">182</a> +<a name="183" href="#183">183</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="184" href="#184">184</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="185" href="#185">185</a> Level eventLevel = event.getLevel(); +<a name="186" href="#186">186</a> <strong>boolean</strong> result = (eventLevel.toInt() > newLevelInt); +<a name="187" href="#187">187</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="188" href="#188">188</a> Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); +<a name="189" href="#189">189</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="190" href="#190">190</a> entries = <strong>new</strong> HashSet(); +<a name="191" href="#191">191</a> matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); +<a name="192" href="#192">192</a> } +<a name="193" href="#193">193</a> entries.add(eventLevel); +<a name="194" href="#194">194</a> } +<a name="195" href="#195">195</a> <strong>return</strong> result; +<a name="196" href="#196">196</a> } +<a name="197" href="#197">197</a> } +<a name="198" href="#198">198</a> +<a name="199" href="#199">199</a> <em>/**<em>*</em></em> +<a name="200" href="#200">200</a> <em> * Rule returning true if event level greater than</em> +<a name="201" href="#201">201</a> <em> * or equal to specified level.</em> +<a name="202" href="#202">202</a> <em> */</em> +<a name="203" href="#203">203</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> GreaterThanEqualsRule <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="204" href="#204">204</a> <em>/**<em>*</em></em> +<a name="205" href="#205">205</a> <em> * Comparison level.</em> +<a name="206" href="#206">206</a> <em> */</em> +<a name="207" href="#207">207</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> newLevelInt; +<a name="208" href="#208">208</a> +<a name="209" href="#209">209</a> <em>/**<em>*</em></em> +<a name="210" href="#210">210</a> <em> * Create new instance.</em> +<a name="211" href="#211">211</a> <em> * @param level comparison level.</em> +<a name="212" href="#212">212</a> <em> */</em> +<a name="213" href="#213">213</a> <strong>public</strong> GreaterThanEqualsRule(<strong>final</strong> Level level) { +<a name="214" href="#214">214</a> <strong>super</strong>(); +<a name="215" href="#215">215</a> newLevelInt = level.toInt(); +<a name="216" href="#216">216</a> } +<a name="217" href="#217">217</a> +<a name="218" href="#218">218</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="219" href="#219">219</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="220" href="#220">220</a> Level eventLevel = event.getLevel(); +<a name="221" href="#221">221</a> <strong>boolean</strong> result = eventLevel.toInt() >= newLevelInt; +<a name="222" href="#222">222</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="223" href="#223">223</a> Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); +<a name="224" href="#224">224</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="225" href="#225">225</a> entries = <strong>new</strong> HashSet(); +<a name="226" href="#226">226</a> matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); +<a name="227" href="#227">227</a> } +<a name="228" href="#228">228</a> entries.add(eventLevel); +<a name="229" href="#229">229</a> } +<a name="230" href="#230">230</a> <strong>return</strong> result; +<a name="231" href="#231">231</a> } +<a name="232" href="#232">232</a> } +<a name="233" href="#233">233</a> +<a name="234" href="#234">234</a> <em>/**<em>*</em></em> +<a name="235" href="#235">235</a> <em> * Rule returning true if event level less than or</em> +<a name="236" href="#236">236</a> <em> * equal to specified level.</em> +<a name="237" href="#237">237</a> <em> */</em> +<a name="238" href="#238">238</a> +<a name="239" href="#239">239</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>class</strong> LessThanEqualsRule <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="240" href="#240">240</a> <em>/**<em>*</em></em> +<a name="241" href="#241">241</a> <em> * Comparison level.</em> +<a name="242" href="#242">242</a> <em> */</em> +<a name="243" href="#243">243</a> <strong>private</strong> <strong>final</strong> <strong>int</strong> newLevelInt; +<a name="244" href="#244">244</a> +<a name="245" href="#245">245</a> <em>/**<em>*</em></em> +<a name="246" href="#246">246</a> <em> * Create new instance.</em> +<a name="247" href="#247">247</a> <em> * @param level comparison level.</em> +<a name="248" href="#248">248</a> <em> */</em> +<a name="249" href="#249">249</a> <strong>public</strong> LessThanEqualsRule(<strong>final</strong> Level level) { +<a name="250" href="#250">250</a> <strong>super</strong>(); +<a name="251" href="#251">251</a> newLevelInt = level.toInt(); +<a name="252" href="#252">252</a> } +<a name="253" href="#253">253</a> +<a name="254" href="#254">254</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="255" href="#255">255</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="256" href="#256">256</a> Level eventLevel = event.getLevel(); +<a name="257" href="#257">257</a> <strong>boolean</strong> result = eventLevel.toInt() &lt;= newLevelInt; +<a name="258" href="#258">258</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="259" href="#259">259</a> Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); +<a name="260" href="#260">260</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="261" href="#261">261</a> entries = <strong>new</strong> HashSet(); +<a name="262" href="#262">262</a> matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); +<a name="263" href="#263">263</a> } +<a name="264" href="#264">264</a> entries.add(eventLevel); +<a name="265" href="#265">265</a> } +<a name="266" href="#266">266</a> +<a name="267" href="#267">267</a> <strong>return</strong> result; +<a name="268" href="#268">268</a> } +<a name="269" href="#269">269</a> } +<a name="270" href="#270">270</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LikeRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LikeRule.html new file mode 100644 index 00000000000..fab22bf0574 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/LikeRule.html @@ -0,0 +1,177 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LikeRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/LikeRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> java.io.IOException; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.HashSet; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Map; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Set; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Stack; +<a name="28" href="#28">28</a> <strong>import</strong> java.util.regex.Matcher; +<a name="29" href="#29">29</a> <strong>import</strong> java.util.regex.Pattern; +<a name="30" href="#30">30</a> <strong>import</strong> java.util.regex.PatternSyntaxException; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * A Rule class supporting java.util.regex regular expression syntax.</em> +<a name="34" href="#34">34</a> <em> *</em> +<a name="35" href="#35">35</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/LikeRule.html">LikeRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="38" href="#38">38</a> <em>/**<em>*</em></em> +<a name="39" href="#39">39</a> <em> * Serialization ID.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -3375458885595683156L; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * Resolver.</em> +<a name="45" href="#45">45</a> <em> */</em> +<a name="46" href="#46">46</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = +<a name="47" href="#47">47</a> LoggingEventFieldResolver.getInstance(); +<a name="48" href="#48">48</a> <em>/**<em>*</em></em> +<a name="49" href="#49">49</a> <em> * Pattern.</em> +<a name="50" href="#50">50</a> <em> */</em> +<a name="51" href="#51">51</a> <strong>private</strong> <strong>transient</strong> Pattern pattern; +<a name="52" href="#52">52</a> <em>/**<em>*</em></em> +<a name="53" href="#53">53</a> <em> * Regular expression matcher.</em> +<a name="54" href="#54">54</a> <em> */</em> +<a name="55" href="#55">55</a> <strong>private</strong> <strong>transient</strong> Matcher matcher = <strong>null</strong>; +<a name="56" href="#56">56</a> <em>/**<em>*</em></em> +<a name="57" href="#57">57</a> <em> * Field.</em> +<a name="58" href="#58">58</a> <em> */</em> +<a name="59" href="#59">59</a> <strong>private</strong> <strong>transient</strong> String field; +<a name="60" href="#60">60</a> +<a name="61" href="#61">61</a> <em>/**<em>*</em></em> +<a name="62" href="#62">62</a> <em> * Create new instance.</em> +<a name="63" href="#63">63</a> <em> * @param field field</em> +<a name="64" href="#64">64</a> <em> * @param pattern pattern</em> +<a name="65" href="#65">65</a> <em> */</em> +<a name="66" href="#66">66</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/LikeRule.html">LikeRule</a>(<strong>final</strong> String field, <strong>final</strong> Pattern pattern) { +<a name="67" href="#67">67</a> <strong>super</strong>(); +<a name="68" href="#68">68</a> <strong>if</strong> (!RESOLVER.isField(field)) { +<a name="69" href="#69">69</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="70" href="#70">70</a> <span class="string">"Invalid LIKE rule - "</span> + field + <span class="string">" is not a supported field"</span>); +<a name="71" href="#71">71</a> } +<a name="72" href="#72">72</a> +<a name="73" href="#73">73</a> <strong>this</strong>.field = field; +<a name="74" href="#74">74</a> <strong>this</strong>.pattern = pattern; +<a name="75" href="#75">75</a> } +<a name="76" href="#76">76</a> +<a name="77" href="#77">77</a> <em>/**<em>*</em></em> +<a name="78" href="#78">78</a> <em> * Create new instance from top two elements of stack.</em> +<a name="79" href="#79">79</a> <em> * @param stack stack</em> +<a name="80" href="#80">80</a> <em> * @return new instance</em> +<a name="81" href="#81">81</a> <em> */</em> +<a name="82" href="#82">82</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { +<a name="83" href="#83">83</a> <strong>if</strong> (stack.size() &lt; 2) { +<a name="84" href="#84">84</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="85" href="#85">85</a> <span class="string">"Invalid LIKE rule - expected two parameters but received "</span> +<a name="86" href="#86">86</a> + stack.size()); +<a name="87" href="#87">87</a> } +<a name="88" href="#88">88</a> +<a name="89" href="#89">89</a> String p2 = stack.pop().toString(); +<a name="90" href="#90">90</a> String p1 = stack.pop().toString(); +<a name="91" href="#91">91</a> <strong>return</strong> getRule(p1, p2); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> +<a name="94" href="#94">94</a> <em>/**<em>*</em></em> +<a name="95" href="#95">95</a> <em> * Create new instance.</em> +<a name="96" href="#96">96</a> <em> * @param field field</em> +<a name="97" href="#97">97</a> <em> * @param pattern pattern</em> +<a name="98" href="#98">98</a> <em> * @return new instance</em> +<a name="99" href="#99">99</a> <em> */</em> +<a name="100" href="#100">100</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String field, <strong>final</strong> String pattern) { +<a name="101" href="#101">101</a> <strong>try</strong> { +<a name="102" href="#102">102</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/LikeRule.html">LikeRule</a>(field, Pattern.compile(pattern, Pattern.CASE_INSENSITIVE)); +<a name="103" href="#103">103</a> } <strong>catch</strong> (PatternSyntaxException e) { +<a name="104" href="#104">104</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="105" href="#105">105</a> <span class="string">"Invalid LIKE rule - "</span> + e.getMessage()); +<a name="106" href="#106">106</a> } +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="110" href="#110">110</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="111" href="#111">111</a> <em class="comment">//no need to figure out what part of the string matched, just set the entire string as a match</em> +<a name="112" href="#112">112</a> Object input = RESOLVER.getValue(field, event); +<a name="113" href="#113">113</a> <strong>if</strong>((input != <strong>null</strong>) &amp;&amp; (pattern != <strong>null</strong>)) { +<a name="114" href="#114">114</a> <strong>if</strong> (matcher == <strong>null</strong>) { +<a name="115" href="#115">115</a> matcher = pattern.matcher(input.toString()); +<a name="116" href="#116">116</a> } <strong>else</strong> { +<a name="117" href="#117">117</a> matcher.reset(input.toString()); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> <strong>boolean</strong> result = matcher.matches(); +<a name="120" href="#120">120</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="121" href="#121">121</a> Set entries = (Set) matches.get(field.toUpperCase()); +<a name="122" href="#122">122</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="123" href="#123">123</a> entries = <strong>new</strong> HashSet(); +<a name="124" href="#124">124</a> matches.put(field.toUpperCase(), entries); +<a name="125" href="#125">125</a> } +<a name="126" href="#126">126</a> entries.add(input); +<a name="127" href="#127">127</a> } +<a name="128" href="#128">128</a> <strong>return</strong> result; +<a name="129" href="#129">129</a> } +<a name="130" href="#130">130</a> <strong>return</strong> false; +<a name="131" href="#131">131</a> } +<a name="132" href="#132">132</a> +<a name="133" href="#133">133</a> <em>/**<em>*</em></em> +<a name="134" href="#134">134</a> <em> * Deserialize the state of the object.</em> +<a name="135" href="#135">135</a> <em> *</em> +<a name="136" href="#136">136</a> <em> * @param in object input stream</em> +<a name="137" href="#137">137</a> <em> *</em> +<a name="138" href="#138">138</a> <em> * @throws IOException if IOException during deserialization</em> +<a name="139" href="#139">139</a> <em> * @throws ClassNotFoundException if class not found.</em> +<a name="140" href="#140">140</a> <em> */</em> +<a name="141" href="#141">141</a> <strong>private</strong> <strong>void</strong> readObject(<strong>final</strong> java.io.ObjectInputStream in) +<a name="142" href="#142">142</a> throws IOException, ClassNotFoundException { +<a name="143" href="#143">143</a> <strong>try</strong> { +<a name="144" href="#144">144</a> field = (String) in.readObject(); +<a name="145" href="#145">145</a> String patternString = (String) in.readObject(); +<a name="146" href="#146">146</a> pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE); +<a name="147" href="#147">147</a> } <strong>catch</strong> (PatternSyntaxException e) { +<a name="148" href="#148">148</a> <strong>throw</strong> <strong>new</strong> IOException(<span class="string">"Invalid LIKE rule - "</span> + e.getMessage()); +<a name="149" href="#149">149</a> } +<a name="150" href="#150">150</a> } +<a name="151" href="#151">151</a> +<a name="152" href="#152">152</a> <em>/**<em>*</em></em> +<a name="153" href="#153">153</a> <em> * Serialize the state of the object.</em> +<a name="154" href="#154">154</a> <em> *</em> +<a name="155" href="#155">155</a> <em> * @param out object output stream</em> +<a name="156" href="#156">156</a> <em> *</em> +<a name="157" href="#157">157</a> <em> * @throws IOException if IOException during serialization</em> +<a name="158" href="#158">158</a> <em> */</em> +<a name="159" href="#159">159</a> <strong>private</strong> <strong>void</strong> writeObject(<strong>final</strong> java.io.ObjectOutputStream out) +<a name="160" href="#160">160</a> throws IOException { +<a name="161" href="#161">161</a> out.writeObject(field); +<a name="162" href="#162">162</a> out.writeObject(pattern.pattern()); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotEqualsRule.html new file mode 100644 index 00000000000..35eb117f766 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotEqualsRule.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NotEqualsRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/NotEqualsRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.util.HashSet; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.Map; +<a name="22" href="#22">22</a> <strong>import</strong> java.util.Set; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.Stack; +<a name="24" href="#24">24</a> +<a name="25" href="#25">25</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="26" href="#26">26</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * A Rule class implementing not equals against two strings.</em> +<a name="31" href="#31">31</a> <em> *</em> +<a name="32" href="#32">32</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/NotEqualsRule.html">NotEqualsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="35" href="#35">35</a> <em>/**<em>*</em></em> +<a name="36" href="#36">36</a> <em> * Serialization ID.</em> +<a name="37" href="#37">37</a> <em> */</em> +<a name="38" href="#38">38</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -1135478467213793211L; +<a name="39" href="#39">39</a> <em>/**<em>*</em></em> +<a name="40" href="#40">40</a> <em> * Resolver.</em> +<a name="41" href="#41">41</a> <em> */</em> +<a name="42" href="#42">42</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = +<a name="43" href="#43">43</a> LoggingEventFieldResolver.getInstance(); +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * Field.</em> +<a name="46" href="#46">46</a> <em> */</em> +<a name="47" href="#47">47</a> <strong>private</strong> <strong>final</strong> String field; +<a name="48" href="#48">48</a> <em>/**<em>*</em></em> +<a name="49" href="#49">49</a> <em> * Value.</em> +<a name="50" href="#50">50</a> <em> */</em> +<a name="51" href="#51">51</a> <strong>private</strong> <strong>final</strong> String value; +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em>/**<em>*</em></em> +<a name="54" href="#54">54</a> <em> * Create new instance.</em> +<a name="55" href="#55">55</a> <em> * @param field field</em> +<a name="56" href="#56">56</a> <em> * @param value value</em> +<a name="57" href="#57">57</a> <em> */</em> +<a name="58" href="#58">58</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/NotEqualsRule.html">NotEqualsRule</a>(<strong>final</strong> String field, <strong>final</strong> String value) { +<a name="59" href="#59">59</a> <strong>super</strong>(); +<a name="60" href="#60">60</a> <strong>if</strong> (!RESOLVER.isField(field)) { +<a name="61" href="#61">61</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="62" href="#62">62</a> <span class="string">"Invalid NOT EQUALS rule - "</span> + field + <span class="string">" is not a supported field"</span>); +<a name="63" href="#63">63</a> } +<a name="64" href="#64">64</a> +<a name="65" href="#65">65</a> <strong>this</strong>.field = field; +<a name="66" href="#66">66</a> <strong>this</strong>.value = value; +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em>/**<em>*</em></em> +<a name="70" href="#70">70</a> <em> * Get new instance.</em> +<a name="71" href="#71">71</a> <em> * @param field field</em> +<a name="72" href="#72">72</a> <em> * @param value value</em> +<a name="73" href="#73">73</a> <em> * @return new instance.</em> +<a name="74" href="#74">74</a> <em> */</em> +<a name="75" href="#75">75</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String field, <strong>final</strong> String value) { +<a name="76" href="#76">76</a> <strong>if</strong> (field.equalsIgnoreCase(LoggingEventFieldResolver.LEVEL_FIELD)) { +<a name="77" href="#77">77</a> <strong>return</strong> NotLevelEqualsRule.getRule(value); +<a name="78" href="#78">78</a> } <strong>else</strong> { +<a name="79" href="#79">79</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/NotEqualsRule.html">NotEqualsRule</a>(field, value); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em>/**<em>*</em></em> +<a name="84" href="#84">84</a> <em> * Get new instance from top two elements of stack.</em> +<a name="85" href="#85">85</a> <em> * @param stack stack.</em> +<a name="86" href="#86">86</a> <em> * @return new instance.</em> +<a name="87" href="#87">87</a> <em> */</em> +<a name="88" href="#88">88</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { +<a name="89" href="#89">89</a> <strong>if</strong> (stack.size() &lt; 2) { +<a name="90" href="#90">90</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="91" href="#91">91</a> <span class="string">"Invalid NOT EQUALS rule - expected two parameters but received "</span> +<a name="92" href="#92">92</a> + stack.size()); +<a name="93" href="#93">93</a> } +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> String p2 = stack.pop().toString(); +<a name="96" href="#96">96</a> String p1 = stack.pop().toString(); +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <strong>if</strong> (p1.equalsIgnoreCase(LoggingEventFieldResolver.LEVEL_FIELD)) { +<a name="99" href="#99">99</a> <strong>return</strong> NotLevelEqualsRule.getRule(p2); +<a name="100" href="#100">100</a> } <strong>else</strong> { +<a name="101" href="#101">101</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/NotEqualsRule.html">NotEqualsRule</a>(p1, p2); +<a name="102" href="#102">102</a> } +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> +<a name="105" href="#105">105</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="106" href="#106">106</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="107" href="#107">107</a> Object p2 = RESOLVER.getValue(field, event); +<a name="108" href="#108">108</a> +<a name="109" href="#109">109</a> <strong>boolean</strong> result = (p2 != <strong>null</strong>) &amp;&amp; !(p2.toString().equals(value)); +<a name="110" href="#110">110</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="111" href="#111">111</a> <em class="comment">//not equals - add the text that isn't equal (p2)</em> +<a name="112" href="#112">112</a> Set entries = (Set) matches.get(field.toUpperCase()); +<a name="113" href="#113">113</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="114" href="#114">114</a> entries = <strong>new</strong> HashSet(); +<a name="115" href="#115">115</a> matches.put(field.toUpperCase(), entries); +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> entries.add(value); +<a name="118" href="#118">118</a> } +<a name="119" href="#119">119</a> <strong>return</strong> result; +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotLevelEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotLevelEqualsRule.html new file mode 100644 index 00000000000..53ac985234e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotLevelEqualsRule.html @@ -0,0 +1,162 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NotLevelEqualsRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/NotLevelEqualsRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.io.IOException; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.HashSet; +<a name="22" href="#22">22</a> <strong>import</strong> java.util.LinkedList; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.List; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Map; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Set; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.Level; +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.helpers.UtilLoggingLevel; +<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="30" href="#30">30</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="31" href="#31">31</a> +<a name="32" href="#32">32</a> <em>/**<em>*</em></em> +<a name="33" href="#33">33</a> <em> * A Rule class implementing not equals against two levels.</em> +<a name="34" href="#34">34</a> <em> *</em> +<a name="35" href="#35">35</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html">NotLevelEqualsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="38" href="#38">38</a> <em>/**<em>*</em></em> +<a name="39" href="#39">39</a> <em> * Serialization ID.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -3638386582899583994L; +<a name="42" href="#42">42</a> +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * Level.</em> +<a name="45" href="#45">45</a> <em> */</em> +<a name="46" href="#46">46</a> <strong>private</strong> <strong>transient</strong> Level level; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em>/**<em>*</em></em> +<a name="49" href="#49">49</a> <em> * List of levels.</em> +<a name="50" href="#50">50</a> <em> */</em> +<a name="51" href="#51">51</a> <strong>private</strong> <strong>static</strong> List levelList = <strong>new</strong> LinkedList(); +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <strong>static</strong> { +<a name="54" href="#54">54</a> populateLevels(); +<a name="55" href="#55">55</a> } +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em>/**<em>*</em></em> +<a name="58" href="#58">58</a> <em> * Create new instance.</em> +<a name="59" href="#59">59</a> <em> * @param level level.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html">NotLevelEqualsRule</a>(<strong>final</strong> Level level) { +<a name="62" href="#62">62</a> <strong>super</strong>(); +<a name="63" href="#63">63</a> <strong>this</strong>.level = level; +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <em>/**<em>*</em></em> +<a name="67" href="#67">67</a> <em> * Populate list of levels.</em> +<a name="68" href="#68">68</a> <em> */</em> +<a name="69" href="#69">69</a> <strong>private</strong> <strong>static</strong> <strong>void</strong> populateLevels() { +<a name="70" href="#70">70</a> levelList = <strong>new</strong> LinkedList(); +<a name="71" href="#71">71</a> +<a name="72" href="#72">72</a> levelList.add(Level.FATAL.toString()); +<a name="73" href="#73">73</a> levelList.add(Level.ERROR.toString()); +<a name="74" href="#74">74</a> levelList.add(Level.WARN.toString()); +<a name="75" href="#75">75</a> levelList.add(Level.INFO.toString()); +<a name="76" href="#76">76</a> levelList.add(Level.DEBUG.toString()); +<a name="77" href="#77">77</a> Level trace = Level.toLevel(5000, <strong>null</strong>); +<a name="78" href="#78">78</a> <strong>if</strong> (trace != <strong>null</strong>) { +<a name="79" href="#79">79</a> levelList.add(trace.toString()); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> } +<a name="82" href="#82">82</a> +<a name="83" href="#83">83</a> <em>/**<em>*</em></em> +<a name="84" href="#84">84</a> <em> * Create new rule.</em> +<a name="85" href="#85">85</a> <em> * @param value name of level.</em> +<a name="86" href="#86">86</a> <em> * @return instance of NotLevelEqualsRule.</em> +<a name="87" href="#87">87</a> <em> */</em> +<a name="88" href="#88">88</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String value) { +<a name="89" href="#89">89</a> Level thisLevel; +<a name="90" href="#90">90</a> <strong>if</strong> (levelList.contains(value.toUpperCase())) { +<a name="91" href="#91">91</a> thisLevel = Level.toLevel(value.toUpperCase()); +<a name="92" href="#92">92</a> } <strong>else</strong> { +<a name="93" href="#93">93</a> thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase()); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/NotLevelEqualsRule.html">NotLevelEqualsRule</a>(thisLevel); +<a name="97" href="#97">97</a> } +<a name="98" href="#98">98</a> +<a name="99" href="#99">99</a> <em>/**<em>*</em></em> +<a name="100" href="#100">100</a> <em> * {@inheritDoc}</em> +<a name="101" href="#101">101</a> <em> */</em> +<a name="102" href="#102">102</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="103" href="#103">103</a> <em class="comment">//both util.logging and log4j contain 'info' - use the int values instead of equality</em> +<a name="104" href="#104">104</a> <em class="comment">//info level set to the same value for both levels</em> +<a name="105" href="#105">105</a> Level eventLevel = event.getLevel(); +<a name="106" href="#106">106</a> <strong>boolean</strong> result = level.toInt() != eventLevel.toInt(); +<a name="107" href="#107">107</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="108" href="#108">108</a> Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); +<a name="109" href="#109">109</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="110" href="#110">110</a> entries = <strong>new</strong> HashSet(); +<a name="111" href="#111">111</a> matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> entries.add(eventLevel); +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> <strong>return</strong> result; +<a name="116" href="#116">116</a> } +<a name="117" href="#117">117</a> +<a name="118" href="#118">118</a> <em>/**<em>*</em></em> +<a name="119" href="#119">119</a> <em> * Deserialize the state of the object.</em> +<a name="120" href="#120">120</a> <em> *</em> +<a name="121" href="#121">121</a> <em> * @param in object input stream.</em> +<a name="122" href="#122">122</a> <em> *</em> +<a name="123" href="#123">123</a> <em> * @throws IOException if error in reading stream for deserialization.</em> +<a name="124" href="#124">124</a> <em> */</em> +<a name="125" href="#125">125</a> <strong>private</strong> <strong>void</strong> readObject(<strong>final</strong> java.io.ObjectInputStream in) +<a name="126" href="#126">126</a> throws IOException { +<a name="127" href="#127">127</a> populateLevels(); +<a name="128" href="#128">128</a> <strong>boolean</strong> isUtilLogging = in.readBoolean(); +<a name="129" href="#129">129</a> <strong>int</strong> levelInt = in.readInt(); +<a name="130" href="#130">130</a> <strong>if</strong> (isUtilLogging) { +<a name="131" href="#131">131</a> level = UtilLoggingLevel.toLevel(levelInt); +<a name="132" href="#132">132</a> } <strong>else</strong> { +<a name="133" href="#133">133</a> level = Level.toLevel(levelInt); +<a name="134" href="#134">134</a> } +<a name="135" href="#135">135</a> } +<a name="136" href="#136">136</a> +<a name="137" href="#137">137</a> <em>/**<em>*</em></em> +<a name="138" href="#138">138</a> <em> * Serialize the state of the object.</em> +<a name="139" href="#139">139</a> <em> *</em> +<a name="140" href="#140">140</a> <em> * @param out object output stream.</em> +<a name="141" href="#141">141</a> <em> *</em> +<a name="142" href="#142">142</a> <em> * @throws IOException if error in writing stream during serialization.</em> +<a name="143" href="#143">143</a> <em> */</em> +<a name="144" href="#144">144</a> <strong>private</strong> <strong>void</strong> writeObject(<strong>final</strong> java.io.ObjectOutputStream out) +<a name="145" href="#145">145</a> throws IOException { +<a name="146" href="#146">146</a> out.writeBoolean(level instanceof <a href="../../../../org/apache/log4j/helpers/UtilLoggingLevel.html">UtilLoggingLevel</a>); +<a name="147" href="#147">147</a> out.writeInt(level.toInt()); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotRule.html new file mode 100644 index 00000000000..2d7f9487f84 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/NotRule.html @@ -0,0 +1,117 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NotRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/NotRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong>import</strong> java.util.HashMap; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.HashSet; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Iterator; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Map; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Set; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Stack; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * A Rule class implementing logical not.</em> +<a name="31" href="#31">31</a> <em> *</em> +<a name="32" href="#32">32</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/NotRule.html">NotRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="35" href="#35">35</a> <em>/**<em>*</em></em> +<a name="36" href="#36">36</a> <em> * Serialization ID.</em> +<a name="37" href="#37">37</a> <em> */</em> +<a name="38" href="#38">38</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -6827159473117969306L; +<a name="39" href="#39">39</a> <em>/**<em>*</em></em> +<a name="40" href="#40">40</a> <em> * Enclosed rule.</em> +<a name="41" href="#41">41</a> <em> */</em> +<a name="42" href="#42">42</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule; +<a name="43" href="#43">43</a> +<a name="44" href="#44">44</a> <em>/**<em>*</em></em> +<a name="45" href="#45">45</a> <em> * Create new instance.</em> +<a name="46" href="#46">46</a> <em> * @param rule enclosed rule.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/NotRule.html">NotRule</a>(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule) { +<a name="49" href="#49">49</a> <strong>super</strong>(); +<a name="50" href="#50">50</a> <strong>this</strong>.rule = rule; +<a name="51" href="#51">51</a> } +<a name="52" href="#52">52</a> +<a name="53" href="#53">53</a> <em>/**<em>*</em></em> +<a name="54" href="#54">54</a> <em> * Create new instance.</em> +<a name="55" href="#55">55</a> <em> * @param rule enclosed rule.</em> +<a name="56" href="#56">56</a> <em> * @return new rule.</em> +<a name="57" href="#57">57</a> <em> */</em> +<a name="58" href="#58">58</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule) { +<a name="59" href="#59">59</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/NotRule.html">NotRule</a>(rule); +<a name="60" href="#60">60</a> } +<a name="61" href="#61">61</a> +<a name="62" href="#62">62</a> <em>/**<em>*</em></em> +<a name="63" href="#63">63</a> <em> * Create new instance from top element of stack.</em> +<a name="64" href="#64">64</a> <em> * @param stack stack</em> +<a name="65" href="#65">65</a> <em> * @return new rule.</em> +<a name="66" href="#66">66</a> <em> */</em> +<a name="67" href="#67">67</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { +<a name="68" href="#68">68</a> <strong>if</strong> (stack.size() &lt; 1) { +<a name="69" href="#69">69</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="70" href="#70">70</a> <span class="string">"Invalid NOT rule - expected one rule but received "</span> +<a name="71" href="#71">71</a> + stack.size()); +<a name="72" href="#72">72</a> } +<a name="73" href="#73">73</a> Object o1 = stack.pop(); +<a name="74" href="#74">74</a> <strong>if</strong> (o1 instanceof Rule) { +<a name="75" href="#75">75</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> p1 = (Rule) o1; +<a name="76" href="#76">76</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/NotRule.html">NotRule</a>(p1); +<a name="77" href="#77">77</a> } +<a name="78" href="#78">78</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="79" href="#79">79</a> <span class="string">"Invalid NOT rule: - expected rule but received "</span> + o1); +<a name="80" href="#80">80</a> } +<a name="81" href="#81">81</a> +<a name="82" href="#82">82</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="83" href="#83">83</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="84" href="#84">84</a> <strong>if</strong> (matches == <strong>null</strong>) { +<a name="85" href="#85">85</a> <strong>return</strong> !(rule.evaluate(event, <strong>null</strong>)); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> Map tempMatches = <strong>new</strong> HashMap(); +<a name="88" href="#88">88</a> <strong>boolean</strong> result = !(rule.evaluate(event, tempMatches)); +<a name="89" href="#89">89</a> <strong>if</strong> (result) { +<a name="90" href="#90">90</a> <strong>for</strong> (Iterator iter = tempMatches.entrySet().iterator();iter.hasNext();) { +<a name="91" href="#91">91</a> Map.Entry entry = (Map.Entry)iter.next(); +<a name="92" href="#92">92</a> Object key = entry.getKey(); +<a name="93" href="#93">93</a> Set value = (Set)entry.getValue(); +<a name="94" href="#94">94</a> Set mainSet = (Set) matches.get(key); +<a name="95" href="#95">95</a> <strong>if</strong> (mainSet == <strong>null</strong>) { +<a name="96" href="#96">96</a> mainSet = <strong>new</strong> HashSet(); +<a name="97" href="#97">97</a> matches.put(key, mainSet); +<a name="98" href="#98">98</a> } +<a name="99" href="#99">99</a> mainSet.addAll(value); +<a name="100" href="#100">100</a> } +<a name="101" href="#101">101</a> } +<a name="102" href="#102">102</a> <strong>return</strong> result; +<a name="103" href="#103">103</a> } +<a name="104" href="#104">104</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/OrRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/OrRule.html new file mode 100644 index 00000000000..482d1e14159 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/OrRule.html @@ -0,0 +1,140 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>OrRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/OrRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> +<a name="22" href="#22">22</a> <strong>import</strong> java.util.HashMap; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.HashSet; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Iterator; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Map; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Set; +<a name="27" href="#27">27</a> <strong>import</strong> java.util.Stack; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * A Rule class implementing logical or.</em> +<a name="31" href="#31">31</a> <em> *</em> +<a name="32" href="#32">32</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="33" href="#33">33</a> <em> */</em> +<a name="34" href="#34">34</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/OrRule.html">OrRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="35" href="#35">35</a> <em>/**<em>*</em></em> +<a name="36" href="#36">36</a> <em> * Serialization ID.</em> +<a name="37" href="#37">37</a> <em> */</em> +<a name="38" href="#38">38</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 2088765995061413165L; +<a name="39" href="#39">39</a> <em>/**<em>*</em></em> +<a name="40" href="#40">40</a> <em> * rule 1.</em> +<a name="41" href="#41">41</a> <em> */</em> +<a name="42" href="#42">42</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule1; +<a name="43" href="#43">43</a> <em>/**<em>*</em></em> +<a name="44" href="#44">44</a> <em> * Rule 2.</em> +<a name="45" href="#45">45</a> <em> */</em> +<a name="46" href="#46">46</a> <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> rule2; +<a name="47" href="#47">47</a> +<a name="48" href="#48">48</a> <em>/**<em>*</em></em> +<a name="49" href="#49">49</a> <em> * Create new instance.</em> +<a name="50" href="#50">50</a> <em> * @param firstParam first rule</em> +<a name="51" href="#51">51</a> <em> * @param secondParam second rule</em> +<a name="52" href="#52">52</a> <em> */</em> +<a name="53" href="#53">53</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/OrRule.html">OrRule</a>(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> firstParam, <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> secondParam) { +<a name="54" href="#54">54</a> <strong>super</strong>(); +<a name="55" href="#55">55</a> <strong>this</strong>.rule1 = firstParam; +<a name="56" href="#56">56</a> <strong>this</strong>.rule2 = secondParam; +<a name="57" href="#57">57</a> } +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em>/**<em>*</em></em> +<a name="60" href="#60">60</a> <em> * Create new instance.</em> +<a name="61" href="#61">61</a> <em> * @param firstParam first rule</em> +<a name="62" href="#62">62</a> <em> * @param secondParam second rule</em> +<a name="63" href="#63">63</a> <em> * @return new instance</em> +<a name="64" href="#64">64</a> <em> */</em> +<a name="65" href="#65">65</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> firstParam, <strong>final</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> secondParam) { +<a name="66" href="#66">66</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/OrRule.html">OrRule</a>(firstParam, secondParam); +<a name="67" href="#67">67</a> } +<a name="68" href="#68">68</a> +<a name="69" href="#69">69</a> <em>/**<em>*</em></em> +<a name="70" href="#70">70</a> <em> * Create new instance from top two elements of stack.</em> +<a name="71" href="#71">71</a> <em> * @param stack stack</em> +<a name="72" href="#72">72</a> <em> * @return new instance</em> +<a name="73" href="#73">73</a> <em> */</em> +<a name="74" href="#74">74</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { +<a name="75" href="#75">75</a> <strong>if</strong> (stack.size() &lt; 2) { +<a name="76" href="#76">76</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="77" href="#77">77</a> <span class="string">"Invalid OR rule - expected two rules but received "</span> +<a name="78" href="#78">78</a> + stack.size()); +<a name="79" href="#79">79</a> } +<a name="80" href="#80">80</a> Object o2 = stack.pop(); +<a name="81" href="#81">81</a> Object o1 = stack.pop(); +<a name="82" href="#82">82</a> <strong>if</strong> ((o2 instanceof Rule) &amp;&amp; (o1 instanceof Rule)) { +<a name="83" href="#83">83</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> p2 = (Rule) o2; +<a name="84" href="#84">84</a> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> p1 = (Rule) o1; +<a name="85" href="#85">85</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/OrRule.html">OrRule</a>(p1, p2); +<a name="86" href="#86">86</a> } +<a name="87" href="#87">87</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid OR rule: "</span> + o2 + <span class="string">"..."</span> + o1); +<a name="88" href="#88">88</a> } +<a name="89" href="#89">89</a> +<a name="90" href="#90">90</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="91" href="#91">91</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="92" href="#92">92</a> <strong>if</strong> (matches == <strong>null</strong>) { +<a name="93" href="#93">93</a> <strong>return</strong> (rule1.evaluate(event, <strong>null</strong>) || rule2.evaluate(event, <strong>null</strong>)); +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> Map tempMatches1 = <strong>new</strong> HashMap(); +<a name="96" href="#96">96</a> Map tempMatches2 = <strong>new</strong> HashMap(); +<a name="97" href="#97">97</a> <em class="comment">//not short-circuiting because we want to build the matches list</em> +<a name="98" href="#98">98</a> <strong>boolean</strong> result1 = rule1.evaluate(event, tempMatches1); +<a name="99" href="#99">99</a> <strong>boolean</strong> result2 = rule2.evaluate(event, tempMatches2); +<a name="100" href="#100">100</a> <strong>boolean</strong> result = result1 || result2; +<a name="101" href="#101">101</a> <strong>if</strong> (result) { +<a name="102" href="#102">102</a> <strong>for</strong> (Iterator iter = tempMatches1.entrySet().iterator();iter.hasNext();) { +<a name="103" href="#103">103</a> Map.Entry entry = (Map.Entry)iter.next(); +<a name="104" href="#104">104</a> Object key = entry.getKey(); +<a name="105" href="#105">105</a> Set value = (Set)entry.getValue(); +<a name="106" href="#106">106</a> Set mainSet = (Set) matches.get(key); +<a name="107" href="#107">107</a> <strong>if</strong> (mainSet == <strong>null</strong>) { +<a name="108" href="#108">108</a> mainSet = <strong>new</strong> HashSet(); +<a name="109" href="#109">109</a> matches.put(key, mainSet); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> mainSet.addAll(value); +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> <strong>for</strong> (Iterator iter = tempMatches2.entrySet().iterator();iter.hasNext();) { +<a name="114" href="#114">114</a> Map.Entry entry = (Map.Entry)iter.next(); +<a name="115" href="#115">115</a> Object key = entry.getKey(); +<a name="116" href="#116">116</a> Set value = (Set)entry.getValue(); +<a name="117" href="#117">117</a> Set mainSet = (Set) matches.get(key); +<a name="118" href="#118">118</a> <strong>if</strong> (mainSet == <strong>null</strong>) { +<a name="119" href="#119">119</a> mainSet = <strong>new</strong> HashSet(); +<a name="120" href="#120">120</a> matches.put(key, mainSet); +<a name="121" href="#121">121</a> } +<a name="122" href="#122">122</a> mainSet.addAll(value); +<a name="123" href="#123">123</a> } +<a name="124" href="#124">124</a> } +<a name="125" href="#125">125</a> <strong>return</strong> result; +<a name="126" href="#126">126</a> } +<a name="127" href="#127">127</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/PartialTextMatchRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/PartialTextMatchRule.html new file mode 100644 index 00000000000..d9406f98f47 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/PartialTextMatchRule.html @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PartialTextMatchRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/PartialTextMatchRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="21" href="#21">21</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="22" href="#22">22</a> +<a name="23" href="#23">23</a> <strong>import</strong> java.util.HashSet; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Map; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Set; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Stack; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> <em>/**<em>*</em></em> +<a name="30" href="#30">30</a> <em> * A Rule class implementing case-insensitive</em> +<a name="31" href="#31">31</a> <em> * partial-text matches against two strings.</em> +<a name="32" href="#32">32</a> <em> *</em> +<a name="33" href="#33">33</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="34" href="#34">34</a> <em> */</em> +<a name="35" href="#35">35</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/PartialTextMatchRule.html">PartialTextMatchRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="36" href="#36">36</a> <em>/**<em>*</em></em> +<a name="37" href="#37">37</a> <em> * Serialization ID.</em> +<a name="38" href="#38">38</a> <em> */</em> +<a name="39" href="#39">39</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 6963284773637727558L; +<a name="40" href="#40">40</a> <em>/**<em>*</em></em> +<a name="41" href="#41">41</a> <em> * Resolver.</em> +<a name="42" href="#42">42</a> <em> */</em> +<a name="43" href="#43">43</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = +<a name="44" href="#44">44</a> LoggingEventFieldResolver.getInstance(); +<a name="45" href="#45">45</a> <em>/**<em>*</em></em> +<a name="46" href="#46">46</a> <em> * Field.</em> +<a name="47" href="#47">47</a> <em> */</em> +<a name="48" href="#48">48</a> <strong>private</strong> <strong>final</strong> String field; +<a name="49" href="#49">49</a> <em>/**<em>*</em></em> +<a name="50" href="#50">50</a> <em> * Value.</em> +<a name="51" href="#51">51</a> <em> */</em> +<a name="52" href="#52">52</a> <strong>private</strong> <strong>final</strong> String value; +<a name="53" href="#53">53</a> +<a name="54" href="#54">54</a> <em>/**<em>*</em></em> +<a name="55" href="#55">55</a> <em> * Create new instance.</em> +<a name="56" href="#56">56</a> <em> * @param field field</em> +<a name="57" href="#57">57</a> <em> * @param value value</em> +<a name="58" href="#58">58</a> <em> */</em> +<a name="59" href="#59">59</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/PartialTextMatchRule.html">PartialTextMatchRule</a>(<strong>final</strong> String field, <strong>final</strong> String value) { +<a name="60" href="#60">60</a> <strong>super</strong>(); +<a name="61" href="#61">61</a> <strong>if</strong> (!RESOLVER.isField(field)) { +<a name="62" href="#62">62</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="63" href="#63">63</a> <span class="string">"Invalid partial text rule - "</span> + field + <span class="string">" is not a supported field"</span>); +<a name="64" href="#64">64</a> } +<a name="65" href="#65">65</a> +<a name="66" href="#66">66</a> <strong>this</strong>.field = field; +<a name="67" href="#67">67</a> <strong>this</strong>.value = value; +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> +<a name="70" href="#70">70</a> <em>/**<em>*</em></em> +<a name="71" href="#71">71</a> <em> * Create new instance.</em> +<a name="72" href="#72">72</a> <em> * @param field field</em> +<a name="73" href="#73">73</a> <em> * @param value value</em> +<a name="74" href="#74">74</a> <em> * @return new instance</em> +<a name="75" href="#75">75</a> <em> */</em> +<a name="76" href="#76">76</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String field, <strong>final</strong> String value) { +<a name="77" href="#77">77</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/PartialTextMatchRule.html">PartialTextMatchRule</a>(field, value); +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em>/**<em>*</em></em> +<a name="81" href="#81">81</a> <em> * Create new instance from top two elements of stack.</em> +<a name="82" href="#82">82</a> <em> * @param stack stack</em> +<a name="83" href="#83">83</a> <em> * @return new instance</em> +<a name="84" href="#84">84</a> <em> */</em> +<a name="85" href="#85">85</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> Stack stack) { +<a name="86" href="#86">86</a> <strong>if</strong> (stack.size() &lt; 2) { +<a name="87" href="#87">87</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException( +<a name="88" href="#88">88</a> <span class="string">"invalid partial text rule - expected two parameters but received "</span> +<a name="89" href="#89">89</a> + stack.size()); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> +<a name="92" href="#92">92</a> String p2 = stack.pop().toString(); +<a name="93" href="#93">93</a> String p1 = stack.pop().toString(); +<a name="94" href="#94">94</a> +<a name="95" href="#95">95</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/PartialTextMatchRule.html">PartialTextMatchRule</a>(p1, p2); +<a name="96" href="#96">96</a> } +<a name="97" href="#97">97</a> +<a name="98" href="#98">98</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="99" href="#99">99</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="100" href="#100">100</a> Object p2 = RESOLVER.getValue(field, event); +<a name="101" href="#101">101</a> <strong>boolean</strong> result = ((p2 != <strong>null</strong>) &amp;&amp; (value != <strong>null</strong>) &amp;&amp; (p2.toString().toLowerCase().indexOf(value.toLowerCase()) > -1)); +<a name="102" href="#102">102</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="103" href="#103">103</a> Set entries = (Set) matches.get(field.toUpperCase()); +<a name="104" href="#104">104</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="105" href="#105">105</a> entries = <strong>new</strong> HashSet(); +<a name="106" href="#106">106</a> matches.put(field.toUpperCase(), entries); +<a name="107" href="#107">107</a> } +<a name="108" href="#108">108</a> entries.add(value); +<a name="109" href="#109">109</a> } +<a name="110" href="#110">110</a> <strong>return</strong> result; +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/Rule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/Rule.html similarity index 60% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/Rule.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/Rule.html index 692b2a53eff..8857d00d23e 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/Rule.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/Rule.html @@ -31,42 +31,46 @@ <a name="22" href="#22">22</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; <a name="23" href="#23">23</a> <a name="24" href="#24">24</a> <strong>import</strong> java.beans.PropertyChangeListener; -<a name="25" href="#25">25</a> +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Map; <a name="26" href="#26">26</a> -<a name="27" href="#27">27</a> <em>/**<em>*</em></em> -<a name="28" href="#28">28</a> <em> * A Rule evaluates to true of false given a LoggingEvent object, and can notify</em> -<a name="29" href="#29">29</a> <em> * listeners when the underlying implementation of this Rule has it's</em> -<a name="30" href="#30">30</a> <em> * criteria changed by using the standard PropertyChangeListener infrastructure.</em> -<a name="31" href="#31">31</a> <em> *</em> -<a name="32" href="#32">32</a> <em> * @author Paul Smith (psmith@apache.org)</em> -<a name="33" href="#33">33</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> -<a name="34" href="#34">34</a> <em> */</em> -<a name="35" href="#35">35</a> <strong>public</strong> <strong>interface</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> { -<a name="36" href="#36">36</a> <em>/**<em>*</em></em> -<a name="37" href="#37">37</a> <em> * Returns true if this implementation of the rule accepts the LoggingEvent,</em> -<a name="38" href="#38">38</a> <em> * or false if not.</em> -<a name="39" href="#39">39</a> <em> *</em> -<a name="40" href="#40">40</a> <em> * &lt;p>What True/False means can be client-specific.</em> -<a name="41" href="#41">41</a> <em> *</em> -<a name="42" href="#42">42</a> <em> * @param e LoggingEvent this instance will evaluate</em> -<a name="43" href="#43">43</a> <em> * @return true if this Rule instance accepts the event, otherwise false.</em> -<a name="44" href="#44">44</a> <em> */</em> -<a name="45" href="#45">45</a> <strong>boolean</strong> evaluate(LoggingEvent e); -<a name="46" href="#46">46</a> -<a name="47" href="#47">47</a> <em>/**<em>*</em></em> -<a name="48" href="#48">48</a> <em> * Adds a PropertyChangeListener to this instance, which is notified when</em> -<a name="49" href="#49">49</a> <em> * underlying Rule information has changed.</em> -<a name="50" href="#50">50</a> <em> * (there are no specific property name events).</em> -<a name="51" href="#51">51</a> <em> * @param listener listener</em> -<a name="52" href="#52">52</a> <em> */</em> -<a name="53" href="#53">53</a> <strong>void</strong> addPropertyChangeListener(PropertyChangeListener listener); -<a name="54" href="#54">54</a> -<a name="55" href="#55">55</a> <em>/**<em>*</em></em> -<a name="56" href="#56">56</a> <em> * Removes a known PropertyChangeListener from this Rule.</em> -<a name="57" href="#57">57</a> <em> * @param listener listener</em> -<a name="58" href="#58">58</a> <em> */</em> -<a name="59" href="#59">59</a> <strong>void</strong> removePropertyChangeListener(PropertyChangeListener listener); -<a name="60" href="#60">60</a> } +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <em>/**<em>*</em></em> +<a name="29" href="#29">29</a> <em> * A Rule evaluates to true of false given a LoggingEvent object, and can notify</em> +<a name="30" href="#30">30</a> <em> * listeners when the underlying implementation of this Rule has it's</em> +<a name="31" href="#31">31</a> <em> * criteria changed by using the standard PropertyChangeListener infrastructure.</em> +<a name="32" href="#32">32</a> <em> *</em> +<a name="33" href="#33">33</a> <em> * @author Paul Smith (psmith@apache.org)</em> +<a name="34" href="#34">34</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <strong>interface</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> { +<a name="37" href="#37">37</a> <em>/**<em>*</em></em> +<a name="38" href="#38">38</a> <em> * Returns true if this implementation of the rule accepts the LoggingEvent,</em> +<a name="39" href="#39">39</a> <em> * or false if not.</em> +<a name="40" href="#40">40</a> <em> *</em> +<a name="41" href="#41">41</a> <em> * &lt;p>What True/False means can be client-specific.</em> +<a name="42" href="#42">42</a> <em> *</em> +<a name="43" href="#43">43</a> <em> * @param e LoggingEvent this instance will evaluate</em> +<a name="44" href="#44">44</a> <em> * @param matches a Map of event field keys to Sets of matching strings (may be null) which will be</em> +<a name="45" href="#45">45</a> <em> * updated during execution of this method to include field and string matches based on the rule</em> +<a name="46" href="#46">46</a> <em> * evaluation results </em> +<a name="47" href="#47">47</a> <em> * @return true if this Rule instance accepts the event, otherwise false.</em> +<a name="48" href="#48">48</a> <em> */</em> +<a name="49" href="#49">49</a> <strong>boolean</strong> evaluate(LoggingEvent e, Map matches); +<a name="50" href="#50">50</a> +<a name="51" href="#51">51</a> <em>/**<em>*</em></em> +<a name="52" href="#52">52</a> <em> * Adds a PropertyChangeListener to this instance, which is notified when</em> +<a name="53" href="#53">53</a> <em> * underlying Rule information has changed.</em> +<a name="54" href="#54">54</a> <em> * (there are no specific property name events).</em> +<a name="55" href="#55">55</a> <em> * @param listener listener</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>void</strong> addPropertyChangeListener(PropertyChangeListener listener); +<a name="58" href="#58">58</a> +<a name="59" href="#59">59</a> <em>/**<em>*</em></em> +<a name="60" href="#60">60</a> <em> * Removes a known PropertyChangeListener from this Rule.</em> +<a name="61" href="#61">61</a> <em> * @param listener listener</em> +<a name="62" href="#62">62</a> <em> */</em> +<a name="63" href="#63">63</a> <strong>void</strong> removePropertyChangeListener(PropertyChangeListener listener); +<a name="64" href="#64">64</a> } </pre> <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> </html> diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/RuleFactory.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/RuleFactory.html new file mode 100644 index 00000000000..ec961852b58 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/RuleFactory.html @@ -0,0 +1,199 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RuleFactory xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/RuleFactory.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.util.Collection; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.LinkedList; +<a name="22" href="#22">22</a> <strong>import</strong> java.util.Stack; +<a name="23" href="#23">23</a> +<a name="24" href="#24">24</a> <em>/**<em>*</em></em> +<a name="25" href="#25">25</a> <em> * A Factory class which, given a string representation of the rule,</em> +<a name="26" href="#26">26</a> <em> * and a context stack, will</em> +<a name="27" href="#27">27</a> <em> * return a Rule ready for evaluation against events.</em> +<a name="28" href="#28">28</a> <em> * If an operator is requested that isn't supported, </em> +<a name="29" href="#29">29</a> <em> * an IllegalArgumentException is thrown.</em> +<a name="30" href="#30">30</a> <em> *</em> +<a name="31" href="#31">31</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="32" href="#32">32</a> <em> */</em> +<a name="33" href="#33">33</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a> { +<a name="34" href="#34">34</a> <em>/**<em>*</em></em> +<a name="35" href="#35">35</a> <em> * Singleton instance.</em> +<a name="36" href="#36">36</a> <em> */</em> +<a name="37" href="#37">37</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a> FACTORY = <strong>new</strong> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a>(); +<a name="38" href="#38">38</a> <em>/**<em>*</em></em> +<a name="39" href="#39">39</a> <em> * Rules.</em> +<a name="40" href="#40">40</a> <em> */</em> +<a name="41" href="#41">41</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> Collection RULES = <strong>new</strong> LinkedList(); +<a name="42" href="#42">42</a> <em>/**<em>*</em></em> +<a name="43" href="#43">43</a> <em> * AND operator literal.</em> +<a name="44" href="#44">44</a> <em> */</em> +<a name="45" href="#45">45</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String AND_RULE = <span class="string">"&amp;&amp;"</span>; +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * OR operator literal.</em> +<a name="48" href="#48">48</a> <em> */</em> +<a name="49" href="#49">49</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String OR_RULE = <span class="string">"||"</span>; +<a name="50" href="#50">50</a> <em>/**<em>*</em></em> +<a name="51" href="#51">51</a> <em> * NOT operator literal.</em> +<a name="52" href="#52">52</a> <em> */</em> +<a name="53" href="#53">53</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String NOT_RULE = <span class="string">"!"</span>; +<a name="54" href="#54">54</a> <em>/**<em>*</em></em> +<a name="55" href="#55">55</a> <em> * Inequality operator literal.</em> +<a name="56" href="#56">56</a> <em> */</em> +<a name="57" href="#57">57</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String NOT_EQUALS_RULE = <span class="string">"!="</span>; +<a name="58" href="#58">58</a> <em>/**<em>*</em></em> +<a name="59" href="#59">59</a> <em> * Equality operator literal.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String EQUALS_RULE = <span class="string">"=="</span>; +<a name="62" href="#62">62</a> <em>/**<em>*</em></em> +<a name="63" href="#63">63</a> <em> * Partial match operator literal.</em> +<a name="64" href="#64">64</a> <em> */</em> +<a name="65" href="#65">65</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String PARTIAL_TEXT_MATCH_RULE = <span class="string">"~="</span>; +<a name="66" href="#66">66</a> <em>/**<em>*</em></em> +<a name="67" href="#67">67</a> <em> * Like operator literal.</em> +<a name="68" href="#68">68</a> <em> */</em> +<a name="69" href="#69">69</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String LIKE_RULE = <span class="string">"like"</span>; +<a name="70" href="#70">70</a> <em>/**<em>*</em></em> +<a name="71" href="#71">71</a> <em> * Exists operator literal.</em> +<a name="72" href="#72">72</a> <em> */</em> +<a name="73" href="#73">73</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String EXISTS_RULE = <span class="string">"exists"</span>; +<a name="74" href="#74">74</a> <em>/**<em>*</em></em> +<a name="75" href="#75">75</a> <em> * Less than operator literal.</em> +<a name="76" href="#76">76</a> <em> */</em> +<a name="77" href="#77">77</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String LESS_THAN_RULE = <span class="string">"&lt;"</span>; +<a name="78" href="#78">78</a> <em>/**<em>*</em></em> +<a name="79" href="#79">79</a> <em> * Greater than operator literal.</em> +<a name="80" href="#80">80</a> <em> */</em> +<a name="81" href="#81">81</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String GREATER_THAN_RULE = <span class="string">">"</span>; +<a name="82" href="#82">82</a> <em>/**<em>*</em></em> +<a name="83" href="#83">83</a> <em> * Less than or equal operator literal.</em> +<a name="84" href="#84">84</a> <em> */</em> +<a name="85" href="#85">85</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String LESS_THAN_EQUALS_RULE = <span class="string">"&lt;="</span>; +<a name="86" href="#86">86</a> <em>/**<em>*</em></em> +<a name="87" href="#87">87</a> <em> * Greater than or equal operator literal.</em> +<a name="88" href="#88">88</a> <em> */</em> +<a name="89" href="#89">89</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> String GREATER_THAN_EQUALS_RULE = <span class="string">">="</span>; +<a name="90" href="#90">90</a> +<a name="91" href="#91">91</a> <strong>static</strong> { +<a name="92" href="#92">92</a> RULES.add(AND_RULE); +<a name="93" href="#93">93</a> RULES.add(OR_RULE); +<a name="94" href="#94">94</a> RULES.add(NOT_RULE); +<a name="95" href="#95">95</a> RULES.add(NOT_EQUALS_RULE); +<a name="96" href="#96">96</a> RULES.add(EQUALS_RULE); +<a name="97" href="#97">97</a> RULES.add(PARTIAL_TEXT_MATCH_RULE); +<a name="98" href="#98">98</a> RULES.add(LIKE_RULE); +<a name="99" href="#99">99</a> RULES.add(EXISTS_RULE); +<a name="100" href="#100">100</a> RULES.add(LESS_THAN_RULE); +<a name="101" href="#101">101</a> RULES.add(GREATER_THAN_RULE); +<a name="102" href="#102">102</a> RULES.add(LESS_THAN_EQUALS_RULE); +<a name="103" href="#103">103</a> RULES.add(GREATER_THAN_EQUALS_RULE); +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> +<a name="106" href="#106">106</a> <em>/**<em>*</em></em> +<a name="107" href="#107">107</a> <em> * Create instance.</em> +<a name="108" href="#108">108</a> <em> */</em> +<a name="109" href="#109">109</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a>() { +<a name="110" href="#110">110</a> <strong>super</strong>(); +<a name="111" href="#111">111</a> } +<a name="112" href="#112">112</a> +<a name="113" href="#113">113</a> <em>/**<em>*</em></em> +<a name="114" href="#114">114</a> <em> * Get instance.</em> +<a name="115" href="#115">115</a> <em> * @return rule factory instance.</em> +<a name="116" href="#116">116</a> <em> */</em> +<a name="117" href="#117">117</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/RuleFactory.html">RuleFactory</a> getInstance() { +<a name="118" href="#118">118</a> <strong>return</strong> FACTORY; +<a name="119" href="#119">119</a> } +<a name="120" href="#120">120</a> +<a name="121" href="#121">121</a> <em>/**<em>*</em></em> +<a name="122" href="#122">122</a> <em> * Determine if specified string is a known operator.</em> +<a name="123" href="#123">123</a> <em> * @param symbol string</em> +<a name="124" href="#124">124</a> <em> * @return true if string is a known operator</em> +<a name="125" href="#125">125</a> <em> */</em> +<a name="126" href="#126">126</a> <strong>public</strong> <strong>boolean</strong> isRule(<strong>final</strong> String symbol) { +<a name="127" href="#127">127</a> <strong>return</strong> ((symbol != <strong>null</strong>) &amp;&amp; (RULES.contains(symbol.toLowerCase()))); +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <em>/**<em>*</em></em> +<a name="131" href="#131">131</a> <em> * Create rule from applying operator to stack.</em> +<a name="132" href="#132">132</a> <em> * @param symbol symbol</em> +<a name="133" href="#133">133</a> <em> * @param stack stack</em> +<a name="134" href="#134">134</a> <em> * @return new instance</em> +<a name="135" href="#135">135</a> <em> */</em> +<a name="136" href="#136">136</a> <strong>public</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String symbol, <strong>final</strong> Stack stack) { +<a name="137" href="#137">137</a> <strong>if</strong> (AND_RULE.equals(symbol)) { +<a name="138" href="#138">138</a> <strong>return</strong> AndRule.getRule(stack); +<a name="139" href="#139">139</a> } +<a name="140" href="#140">140</a> +<a name="141" href="#141">141</a> <strong>if</strong> (OR_RULE.equals(symbol)) { +<a name="142" href="#142">142</a> <strong>return</strong> OrRule.getRule(stack); +<a name="143" href="#143">143</a> } +<a name="144" href="#144">144</a> +<a name="145" href="#145">145</a> <strong>if</strong> (NOT_RULE.equals(symbol)) { +<a name="146" href="#146">146</a> <strong>return</strong> NotRule.getRule(stack); +<a name="147" href="#147">147</a> } +<a name="148" href="#148">148</a> +<a name="149" href="#149">149</a> <strong>if</strong> (NOT_EQUALS_RULE.equals(symbol)) { +<a name="150" href="#150">150</a> <strong>return</strong> NotEqualsRule.getRule(stack); +<a name="151" href="#151">151</a> } +<a name="152" href="#152">152</a> +<a name="153" href="#153">153</a> <strong>if</strong> (EQUALS_RULE.equals(symbol)) { +<a name="154" href="#154">154</a> <strong>return</strong> EqualsRule.getRule(stack); +<a name="155" href="#155">155</a> } +<a name="156" href="#156">156</a> +<a name="157" href="#157">157</a> <strong>if</strong> (PARTIAL_TEXT_MATCH_RULE.equals(symbol)) { +<a name="158" href="#158">158</a> <strong>return</strong> PartialTextMatchRule.getRule(stack); +<a name="159" href="#159">159</a> } +<a name="160" href="#160">160</a> +<a name="161" href="#161">161</a> <strong>if</strong> (RULES.contains(LIKE_RULE) &amp;&amp; LIKE_RULE.equalsIgnoreCase(symbol)) { +<a name="162" href="#162">162</a> <strong>return</strong> LikeRule.getRule(stack); +<a name="163" href="#163">163</a> } +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <strong>if</strong> (EXISTS_RULE.equalsIgnoreCase(symbol)) { +<a name="166" href="#166">166</a> <strong>return</strong> ExistsRule.getRule(stack); +<a name="167" href="#167">167</a> } +<a name="168" href="#168">168</a> +<a name="169" href="#169">169</a> <strong>if</strong> (LESS_THAN_RULE.equals(symbol)) { +<a name="170" href="#170">170</a> <strong>return</strong> InequalityRule.getRule(LESS_THAN_RULE, stack); +<a name="171" href="#171">171</a> } +<a name="172" href="#172">172</a> +<a name="173" href="#173">173</a> <strong>if</strong> (GREATER_THAN_RULE.equals(symbol)) { +<a name="174" href="#174">174</a> <strong>return</strong> InequalityRule.getRule(GREATER_THAN_RULE, stack); +<a name="175" href="#175">175</a> } +<a name="176" href="#176">176</a> +<a name="177" href="#177">177</a> <strong>if</strong> (LESS_THAN_EQUALS_RULE.equals(symbol)) { +<a name="178" href="#178">178</a> <strong>return</strong> InequalityRule.getRule(LESS_THAN_EQUALS_RULE, stack); +<a name="179" href="#179">179</a> } +<a name="180" href="#180">180</a> +<a name="181" href="#181">181</a> <strong>if</strong> (GREATER_THAN_EQUALS_RULE.equals(symbol)) { +<a name="182" href="#182">182</a> <strong>return</strong> InequalityRule.getRule(GREATER_THAN_EQUALS_RULE, stack); +<a name="183" href="#183">183</a> } +<a name="184" href="#184">184</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid rule: "</span> + symbol); +<a name="185" href="#185">185</a> } +<a name="186" href="#186">186</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/TimestampEqualsRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/TimestampEqualsRule.html new file mode 100644 index 00000000000..86e18de166e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/TimestampEqualsRule.html @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TimestampEqualsRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/TimestampEqualsRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.io.IOException; +<a name="21" href="#21">21</a> <strong>import</strong> java.text.DateFormat; +<a name="22" href="#22">22</a> <strong>import</strong> java.text.ParseException; +<a name="23" href="#23">23</a> <strong>import</strong> java.text.SimpleDateFormat; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.HashSet; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Map; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Set; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * A Rule class implementing equality evaluation for timestamps.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/TimestampEqualsRule.html">TimestampEqualsRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="37" href="#37">37</a> <em>/**<em>*</em></em> +<a name="38" href="#38">38</a> <em> * Serialization ID.</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 1639079557187790321L; +<a name="41" href="#41">41</a> <em>/**<em>*</em></em> +<a name="42" href="#42">42</a> <em> * Resolver.</em> +<a name="43" href="#43">43</a> <em> */</em> +<a name="44" href="#44">44</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = +<a name="45" href="#45">45</a> LoggingEventFieldResolver.getInstance(); +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * Date format.</em> +<a name="48" href="#48">48</a> <em> */</em> +<a name="49" href="#49">49</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> DateFormat DATE_FORMAT = +<a name="50" href="#50">50</a> <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy/MM/dd HH:mm:ss"</span>); +<a name="51" href="#51">51</a> +<a name="52" href="#52">52</a> <em>/**<em>*</em></em> +<a name="53" href="#53">53</a> <em> * time stamp.</em> +<a name="54" href="#54">54</a> <em> */</em> +<a name="55" href="#55">55</a> <strong>private</strong> <strong>long</strong> timeStamp; +<a name="56" href="#56">56</a> +<a name="57" href="#57">57</a> <em>/**<em>*</em></em> +<a name="58" href="#58">58</a> <em> * Create new instance.</em> +<a name="59" href="#59">59</a> <em> * @param value string representation of date.</em> +<a name="60" href="#60">60</a> <em> */</em> +<a name="61" href="#61">61</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/TimestampEqualsRule.html">TimestampEqualsRule</a>(<strong>final</strong> String value) { +<a name="62" href="#62">62</a> <strong>super</strong>(); +<a name="63" href="#63">63</a> <em class="comment">//expects value to be a timestamp value represented as a long</em> +<a name="64" href="#64">64</a> <strong>try</strong> { +<a name="65" href="#65">65</a> timeStamp = DATE_FORMAT.parse(value).getTime(); +<a name="66" href="#66">66</a> } <strong>catch</strong> (ParseException pe) { +<a name="67" href="#67">67</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Could not parse date: "</span> + value); +<a name="68" href="#68">68</a> } +<a name="69" href="#69">69</a> } +<a name="70" href="#70">70</a> +<a name="71" href="#71">71</a> <em>/**<em>*</em></em> +<a name="72" href="#72">72</a> <em> * Create new instance.</em> +<a name="73" href="#73">73</a> <em> * @param value string representation of date.</em> +<a name="74" href="#74">74</a> <em> * @return new instance</em> +<a name="75" href="#75">75</a> <em> */</em> +<a name="76" href="#76">76</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String value) { +<a name="77" href="#77">77</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/TimestampEqualsRule.html">TimestampEqualsRule</a>(value); +<a name="78" href="#78">78</a> } +<a name="79" href="#79">79</a> +<a name="80" href="#80">80</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="81" href="#81">81</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="82" href="#82">82</a> String eventTimeStampString = RESOLVER.getValue(LoggingEventFieldResolver.TIMESTAMP_FIELD, event).toString(); +<a name="83" href="#83">83</a> <strong>long</strong> eventTimeStamp = Long.parseLong(eventTimeStampString) / 1000 * 1000; +<a name="84" href="#84">84</a> <strong>boolean</strong> result = (eventTimeStamp == timeStamp); +<a name="85" href="#85">85</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="86" href="#86">86</a> Set entries = (Set) matches.get(LoggingEventFieldResolver.TIMESTAMP_FIELD); +<a name="87" href="#87">87</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="88" href="#88">88</a> entries = <strong>new</strong> HashSet(); +<a name="89" href="#89">89</a> matches.put(LoggingEventFieldResolver.TIMESTAMP_FIELD, entries); +<a name="90" href="#90">90</a> } +<a name="91" href="#91">91</a> entries.add(eventTimeStampString); +<a name="92" href="#92">92</a> } +<a name="93" href="#93">93</a> <strong>return</strong> result; +<a name="94" href="#94">94</a> } +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <em>/**<em>*</em></em> +<a name="97" href="#97">97</a> <em> * Deserialize the state of the object.</em> +<a name="98" href="#98">98</a> <em> *</em> +<a name="99" href="#99">99</a> <em> * @param in object input stream</em> +<a name="100" href="#100">100</a> <em> *</em> +<a name="101" href="#101">101</a> <em> * @throws IOException if IO error during deserialization</em> +<a name="102" href="#102">102</a> <em> * @throws ClassNotFoundException if class not found during</em> +<a name="103" href="#103">103</a> <em> * deserialization</em> +<a name="104" href="#104">104</a> <em> */</em> +<a name="105" href="#105">105</a> <strong>private</strong> <strong>void</strong> readObject(<strong>final</strong> java.io.ObjectInputStream in) +<a name="106" href="#106">106</a> throws IOException, ClassNotFoundException { +<a name="107" href="#107">107</a> timeStamp = in.readLong(); +<a name="108" href="#108">108</a> } +<a name="109" href="#109">109</a> +<a name="110" href="#110">110</a> <em>/**<em>*</em></em> +<a name="111" href="#111">111</a> <em> * Serialize the state of the object.</em> +<a name="112" href="#112">112</a> <em> *</em> +<a name="113" href="#113">113</a> <em> * @param out object output stream</em> +<a name="114" href="#114">114</a> <em> *</em> +<a name="115" href="#115">115</a> <em> * @throws IOException if IO error during serialization</em> +<a name="116" href="#116">116</a> <em> */</em> +<a name="117" href="#117">117</a> <strong>private</strong> <strong>void</strong> writeObject(<strong>final</strong> java.io.ObjectOutputStream out) +<a name="118" href="#118">118</a> throws IOException { +<a name="119" href="#119">119</a> out.writeLong(timeStamp); +<a name="120" href="#120">120</a> } +<a name="121" href="#121">121</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/TimestampInequalityRule.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/TimestampInequalityRule.html new file mode 100644 index 00000000000..4e8fb96f6f5 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/TimestampInequalityRule.html @@ -0,0 +1,155 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TimestampInequalityRule xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/rule/TimestampInequalityRule.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.rule; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.io.IOException; +<a name="21" href="#21">21</a> <strong>import</strong> java.text.DateFormat; +<a name="22" href="#22">22</a> <strong>import</strong> java.text.ParseException; +<a name="23" href="#23">23</a> <strong>import</strong> java.text.SimpleDateFormat; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.HashSet; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Map; +<a name="26" href="#26">26</a> <strong>import</strong> java.util.Set; +<a name="27" href="#27">27</a> +<a name="28" href="#28">28</a> <strong>import</strong> org.apache.log4j.spi.LoggingEvent; +<a name="29" href="#29">29</a> <strong>import</strong> org.apache.log4j.spi.LoggingEventFieldResolver; +<a name="30" href="#30">30</a> +<a name="31" href="#31">31</a> <em>/**<em>*</em></em> +<a name="32" href="#32">32</a> <em> * A Rule class implementing inequality evaluation for timestamps.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="35" href="#35">35</a> <em> */</em> +<a name="36" href="#36">36</a> <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/rule/TimestampInequalityRule.html">TimestampInequalityRule</a> <strong>extends</strong> <a href="../../../../org/apache/log4j/rule/AbstractRule.html">AbstractRule</a> { +<a name="37" href="#37">37</a> <em>/**<em>*</em></em> +<a name="38" href="#38">38</a> <em> * Serialization ID.</em> +<a name="39" href="#39">39</a> <em> */</em> +<a name="40" href="#40">40</a> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = -4642641663914789241L; +<a name="41" href="#41">41</a> <em>/**<em>*</em></em> +<a name="42" href="#42">42</a> <em> * Resolver.</em> +<a name="43" href="#43">43</a> <em> */</em> +<a name="44" href="#44">44</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = +<a name="45" href="#45">45</a> LoggingEventFieldResolver.getInstance(); +<a name="46" href="#46">46</a> <em>/**<em>*</em></em> +<a name="47" href="#47">47</a> <em> * Date format.</em> +<a name="48" href="#48">48</a> <em> */</em> +<a name="49" href="#49">49</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> DateFormat DATE_FORMAT = +<a name="50" href="#50">50</a> <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy/MM/dd HH:mm:ss"</span>); +<a name="51" href="#51">51</a> <em>/**<em>*</em></em> +<a name="52" href="#52">52</a> <em> * Inequality symbol.</em> +<a name="53" href="#53">53</a> <em> */</em> +<a name="54" href="#54">54</a> <strong>private</strong> <strong>transient</strong> String inequalitySymbol; +<a name="55" href="#55">55</a> <em>/**<em>*</em></em> +<a name="56" href="#56">56</a> <em> * Timestamp.</em> +<a name="57" href="#57">57</a> <em> */</em> +<a name="58" href="#58">58</a> <strong>private</strong> <strong>long</strong> timeStamp; +<a name="59" href="#59">59</a> +<a name="60" href="#60">60</a> <em>/**<em>*</em></em> +<a name="61" href="#61">61</a> <em> * Create new instance.</em> +<a name="62" href="#62">62</a> <em> * @param inequalitySymbol inequality symbol.</em> +<a name="63" href="#63">63</a> <em> * @param value string representation of date.</em> +<a name="64" href="#64">64</a> <em> */</em> +<a name="65" href="#65">65</a> <strong>private</strong> <a href="../../../../org/apache/log4j/rule/TimestampInequalityRule.html">TimestampInequalityRule</a>( +<a name="66" href="#66">66</a> <strong>final</strong> String inequalitySymbol, <strong>final</strong> String value) { +<a name="67" href="#67">67</a> <strong>super</strong>(); +<a name="68" href="#68">68</a> <strong>this</strong>.inequalitySymbol = inequalitySymbol; +<a name="69" href="#69">69</a> <strong>try</strong> { +<a name="70" href="#70">70</a> timeStamp = DATE_FORMAT.parse(value).getTime(); +<a name="71" href="#71">71</a> } <strong>catch</strong> (ParseException pe) { +<a name="72" href="#72">72</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Could not parse date: "</span> + value); +<a name="73" href="#73">73</a> } +<a name="74" href="#74">74</a> } +<a name="75" href="#75">75</a> +<a name="76" href="#76">76</a> <em>/**<em>*</em></em> +<a name="77" href="#77">77</a> <em> * Create new instance.</em> +<a name="78" href="#78">78</a> <em> * @param inequalitySymbol inequality symbol</em> +<a name="79" href="#79">79</a> <em> * @param value string representation of date</em> +<a name="80" href="#80">80</a> <em> * @return new instance</em> +<a name="81" href="#81">81</a> <em> */</em> +<a name="82" href="#82">82</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/rule/Rule.html">Rule</a> getRule(<strong>final</strong> String inequalitySymbol, +<a name="83" href="#83">83</a> <strong>final</strong> String value) { +<a name="84" href="#84">84</a> <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/log4j/rule/TimestampInequalityRule.html">TimestampInequalityRule</a>(inequalitySymbol, value); +<a name="85" href="#85">85</a> } +<a name="86" href="#86">86</a> +<a name="87" href="#87">87</a> <em>/**<em>* {@inheritDoc} */</em></em> +<a name="88" href="#88">88</a> <strong>public</strong> <strong>boolean</strong> evaluate(<strong>final</strong> LoggingEvent event, Map matches) { +<a name="89" href="#89">89</a> String eventTimeStampString = RESOLVER.getValue(LoggingEventFieldResolver.TIMESTAMP_FIELD, event).toString(); +<a name="90" href="#90">90</a> <strong>long</strong> eventTimeStamp = Long.parseLong( +<a name="91" href="#91">91</a> eventTimeStampString) / 1000 * 1000; +<a name="92" href="#92">92</a> <strong>boolean</strong> result = false; +<a name="93" href="#93">93</a> <strong>long</strong> first = eventTimeStamp; +<a name="94" href="#94">94</a> <strong>long</strong> second = timeStamp; +<a name="95" href="#95">95</a> +<a name="96" href="#96">96</a> <strong>if</strong> (<span class="string">"&lt;"</span>.equals(inequalitySymbol)) { +<a name="97" href="#97">97</a> result = first &lt; second; +<a name="98" href="#98">98</a> } <strong>else</strong> <strong>if</strong> (<span class="string">">"</span>.equals(inequalitySymbol)) { +<a name="99" href="#99">99</a> result = first > second; +<a name="100" href="#100">100</a> } <strong>else</strong> <strong>if</strong> (<span class="string">"&lt;="</span>.equals(inequalitySymbol)) { +<a name="101" href="#101">101</a> result = first &lt;= second; +<a name="102" href="#102">102</a> } <strong>else</strong> <strong>if</strong> (<span class="string">">="</span>.equals(inequalitySymbol)) { +<a name="103" href="#103">103</a> result = first >= second; +<a name="104" href="#104">104</a> } +<a name="105" href="#105">105</a> <strong>if</strong> (result &amp;&amp; matches != <strong>null</strong>) { +<a name="106" href="#106">106</a> Set entries = (Set) matches.get(LoggingEventFieldResolver.TIMESTAMP_FIELD); +<a name="107" href="#107">107</a> <strong>if</strong> (entries == <strong>null</strong>) { +<a name="108" href="#108">108</a> entries = <strong>new</strong> HashSet(); +<a name="109" href="#109">109</a> matches.put(LoggingEventFieldResolver.TIMESTAMP_FIELD, entries); +<a name="110" href="#110">110</a> } +<a name="111" href="#111">111</a> entries.add(eventTimeStampString); +<a name="112" href="#112">112</a> } +<a name="113" href="#113">113</a> <strong>return</strong> result; +<a name="114" href="#114">114</a> } +<a name="115" href="#115">115</a> +<a name="116" href="#116">116</a> <em>/**<em>*</em></em> +<a name="117" href="#117">117</a> <em> * Deserialize the state of the object.</em> +<a name="118" href="#118">118</a> <em> *</em> +<a name="119" href="#119">119</a> <em> * @param in object input stream</em> +<a name="120" href="#120">120</a> <em> *</em> +<a name="121" href="#121">121</a> <em> * @throws IOException if IO error during deserialization</em> +<a name="122" href="#122">122</a> <em> * @throws ClassNotFoundException if class not found</em> +<a name="123" href="#123">123</a> <em> */</em> +<a name="124" href="#124">124</a> <strong>private</strong> <strong>void</strong> readObject(<strong>final</strong> java.io.ObjectInputStream in) +<a name="125" href="#125">125</a> throws IOException, ClassNotFoundException { +<a name="126" href="#126">126</a> inequalitySymbol = (String) in.readObject(); +<a name="127" href="#127">127</a> timeStamp = in.readLong(); +<a name="128" href="#128">128</a> } +<a name="129" href="#129">129</a> +<a name="130" href="#130">130</a> <em>/**<em>*</em></em> +<a name="131" href="#131">131</a> <em> * Serialize the state of the object.</em> +<a name="132" href="#132">132</a> <em> *</em> +<a name="133" href="#133">133</a> <em> * @param out object output stream</em> +<a name="134" href="#134">134</a> <em> *</em> +<a name="135" href="#135">135</a> <em> * @throws IOException if IO error during serialization</em> +<a name="136" href="#136">136</a> <em> */</em> +<a name="137" href="#137">137</a> <strong>private</strong> <strong>void</strong> writeObject(<strong>final</strong> java.io.ObjectOutputStream out) +<a name="138" href="#138">138</a> throws IOException { +<a name="139" href="#139">139</a> out.writeObject(inequalitySymbol); +<a name="140" href="#140">140</a> out.writeLong(timeStamp); +<a name="141" href="#141">141</a> } +<a name="142" href="#142">142</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/package-frame.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/package-frame.html index d70191d99ba..1e380373887 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.rule</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.rule</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -50,6 +50,9 @@ </li> <li> <a href="NotEqualsRule.html" target="classFrame">NotEqualsRule</a> + </li> + <li> + <a href="NotLevelEqualsRule.html" target="classFrame">NotLevelEqualsRule</a> </li> <li> <a href="NotRule.html" target="classFrame">NotRule</a> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/package-summary.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/package-summary.html index 65bba4efd54..5392fc225bd 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/rule/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/rule/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -94,6 +94,11 @@ <td> <a href="NotEqualsRule.html" target="classFrame">NotEqualsRule</a> </td> + </tr> + <tr> + <td> + <a href="NotLevelEqualsRule.html" target="classFrame">NotLevelEqualsRule</a> + </td> </tr> <tr> <td> @@ -152,6 +157,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/spi/LoggingEventFieldResolver.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/spi/LoggingEventFieldResolver.html new file mode 100644 index 00000000000..e1ab0813900 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/spi/LoggingEventFieldResolver.html @@ -0,0 +1,288 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LoggingEventFieldResolver xref</title> +<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../../../../apidocs/org/apache/log4j/spi/LoggingEventFieldResolver.html">View Javadoc</a></div><pre> + +<a name="1" href="#1">1</a> <em class="comment">/*</em> +<a name="2" href="#2">2</a> <em class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a name="3" href="#3">3</a> <em class="comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a name="4" href="#4">4</a> <em class="comment"> * this work for additional information regarding copyright ownership.</em> +<a name="5" href="#5">5</a> <em class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a name="6" href="#6">6</a> <em class="comment"> * (the "License"); you may not use this file except in compliance with</em> +<a name="7" href="#7">7</a> <em class="comment"> * the License. You may obtain a copy of the License at</em> +<a name="8" href="#8">8</a> <em class="comment"> *</em> +<a name="9" href="#9">9</a> <em class="comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> +<a name="10" href="#10">10</a> <em class="comment"> *</em> +<a name="11" href="#11">11</a> <em class="comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a name="12" href="#12">12</a> <em class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a name="13" href="#13">13</a> <em class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a name="14" href="#14">14</a> <em class="comment"> * See the License for the specific language governing permissions and</em> +<a name="15" href="#15">15</a> <em class="comment"> * limitations under the License.</em> +<a name="16" href="#16">16</a> <em class="comment"> */</em> +<a name="17" href="#17">17</a> +<a name="18" href="#18">18</a> <strong>package</strong> org.apache.log4j.spi; +<a name="19" href="#19">19</a> +<a name="20" href="#20">20</a> <strong>import</strong> java.util.ArrayList; +<a name="21" href="#21">21</a> <strong>import</strong> java.util.Iterator; +<a name="22" href="#22">22</a> <strong>import</strong> java.util.List; +<a name="23" href="#23">23</a> <strong>import</strong> java.util.Map; +<a name="24" href="#24">24</a> <strong>import</strong> java.util.Set; +<a name="25" href="#25">25</a> <strong>import</strong> java.util.Locale; +<a name="26" href="#26">26</a> +<a name="27" href="#27">27</a> <strong>import</strong> org.apache.log4j.rule.InFixToPostFix; +<a name="28" href="#28">28</a> +<a name="29" href="#29">29</a> +<a name="30" href="#30">30</a> <em>/**<em>*</em></em> +<a name="31" href="#31">31</a> <em> * A singleton helper utility which accepts a field name</em> +<a name="32" href="#32">32</a> <em> * and a LoggingEvent and returns the value of that field.</em> +<a name="33" href="#33">33</a> <em> *</em> +<a name="34" href="#34">34</a> <em> * This class defines a grammar used in creation of an expression-based Rule.</em> +<a name="35" href="#35">35</a> <em> *</em> +<a name="36" href="#36">36</a> <em> * The only available method is</em> +<a name="37" href="#37">37</a> <em> * Object getField(String fieldName, LoggingEvent event).</em> +<a name="38" href="#38">38</a> <em> *</em> +<a name="39" href="#39">39</a> <em> * Here is a description of the mapping of field names in the grammar</em> +<a name="40" href="#40">40</a> <em> * to fields on the logging event. While the getField method returns an Object,</em> +<a name="41" href="#41">41</a> <em> * the individual types returned per field are described here:</em> +<a name="42" href="#42">42</a> <em> *</em> +<a name="43" href="#43">43</a> <em> * Field Name Field value (String representation Return type</em> +<a name="44" href="#44">44</a> <em> * LOGGER category name (logger) String</em> +<a name="45" href="#45">45</a> <em> * LEVEL level Level</em> +<a name="46" href="#46">46</a> <em> * CLASS locationInformation's class name String</em> +<a name="47" href="#47">47</a> <em> * FILE locationInformation's file name String</em> +<a name="48" href="#48">48</a> <em> * LINE locationInformation's line number String</em> +<a name="49" href="#49">49</a> <em> * METHOD locationInformation's method name String</em> +<a name="50" href="#50">50</a> <em> * MSG message Object</em> +<a name="51" href="#51">51</a> <em> * NDC NDC String</em> +<a name="52" href="#52">52</a> <em> * EXCEPTION throwable string representation ThrowableInformation</em> +<a name="53" href="#53">53</a> <em> * TIMESTAMP timestamp Long</em> +<a name="54" href="#54">54</a> <em> * THREAD thread String</em> +<a name="55" href="#55">55</a> <em> * PROP.keyName entry in the Property hashtable String</em> +<a name="56" href="#56">56</a> <em> * mapped to the key [keyName]</em> +<a name="57" href="#57">57</a> +<a name="58" href="#58">58</a> <em> * NOTE: the values for the 'keyName' portion of the MDC and PROP mappings must</em> +<a name="59" href="#59">59</a> <em> * be an exact match to the key in the hashTable (case sensitive).</em> +<a name="60" href="#60">60</a> <em> *</em> +<a name="61" href="#61">61</a> <em> * If the passed-in field is null or doesn't match an entry</em> +<a name="62" href="#62">62</a> <em> * in the above-described mapping, an exception is thrown.</em> +<a name="63" href="#63">63</a> <em> *</em> +<a name="64" href="#64">64</a> <em> * @author Scott Deboy (sdeboy@apache.org)</em> +<a name="65" href="#65">65</a> <em> * @author Paul Smith (psmith@apache.org)</em> +<a name="66" href="#66">66</a> <em> *</em> +<a name="67" href="#67">67</a> <em> */</em> +<a name="68" href="#68">68</a> <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> { +<a name="69" href="#69">69</a> <em>/**<em>*</em></em> +<a name="70" href="#70">70</a> <em> * Keyword list.</em> +<a name="71" href="#71">71</a> <em> */</em> +<a name="72" href="#72">72</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> List KEYWORD_LIST = <strong>new</strong> ArrayList(); +<a name="73" href="#73">73</a> <em>/**<em>*</em></em> +<a name="74" href="#74">74</a> <em> * LOGGER string literal.</em> +<a name="75" href="#75">75</a> <em> */</em> +<a name="76" href="#76">76</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String LOGGER_FIELD = <span class="string">"LOGGER"</span>; +<a name="77" href="#77">77</a> <em>/**<em>*</em></em> +<a name="78" href="#78">78</a> <em> * LEVEL string literal.</em> +<a name="79" href="#79">79</a> <em> */</em> +<a name="80" href="#80">80</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String LEVEL_FIELD = <span class="string">"LEVEL"</span>; +<a name="81" href="#81">81</a> <em>/**<em>*</em></em> +<a name="82" href="#82">82</a> <em> * CLASS string literal.</em> +<a name="83" href="#83">83</a> <em> */</em> +<a name="84" href="#84">84</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String CLASS_FIELD = <span class="string">"CLASS"</span>; +<a name="85" href="#85">85</a> <em>/**<em>*</em></em> +<a name="86" href="#86">86</a> <em> * FILE string literal.</em> +<a name="87" href="#87">87</a> <em> */</em> +<a name="88" href="#88">88</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String FILE_FIELD = <span class="string">"FILE"</span>; +<a name="89" href="#89">89</a> <em>/**<em>*</em></em> +<a name="90" href="#90">90</a> <em> * LINE string literal.</em> +<a name="91" href="#91">91</a> <em> */</em> +<a name="92" href="#92">92</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String LINE_FIELD = <span class="string">"LINE"</span>; +<a name="93" href="#93">93</a> <em>/**<em>*</em></em> +<a name="94" href="#94">94</a> <em> * METHOD string literal.</em> +<a name="95" href="#95">95</a> <em> */</em> +<a name="96" href="#96">96</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String METHOD_FIELD = <span class="string">"METHOD"</span>; +<a name="97" href="#97">97</a> <em>/**<em>*</em></em> +<a name="98" href="#98">98</a> <em> * MSG string literal.</em> +<a name="99" href="#99">99</a> <em> */</em> +<a name="100" href="#100">100</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String MSG_FIELD = <span class="string">"MSG"</span>; +<a name="101" href="#101">101</a> <em>/**<em>*</em></em> +<a name="102" href="#102">102</a> <em> * NDC string literal.</em> +<a name="103" href="#103">103</a> <em> */</em> +<a name="104" href="#104">104</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String NDC_FIELD = <span class="string">"NDC"</span>; +<a name="105" href="#105">105</a> <em>/**<em>*</em></em> +<a name="106" href="#106">106</a> <em> * EXCEPTION string literal.</em> +<a name="107" href="#107">107</a> <em> */</em> +<a name="108" href="#108">108</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String EXCEPTION_FIELD = <span class="string">"EXCEPTION"</span>; +<a name="109" href="#109">109</a> <em>/**<em>*</em></em> +<a name="110" href="#110">110</a> <em> * TIMESTAMP string literal.</em> +<a name="111" href="#111">111</a> <em> */</em> +<a name="112" href="#112">112</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String TIMESTAMP_FIELD = <span class="string">"TIMESTAMP"</span>; +<a name="113" href="#113">113</a> <em>/**<em>*</em></em> +<a name="114" href="#114">114</a> <em> * THREAD string literal.</em> +<a name="115" href="#115">115</a> <em> */</em> +<a name="116" href="#116">116</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String THREAD_FIELD = <span class="string">"THREAD"</span>; +<a name="117" href="#117">117</a> <em>/**<em>*</em></em> +<a name="118" href="#118">118</a> <em> * PROP. string literal.</em> +<a name="119" href="#119">119</a> <em> */</em> +<a name="120" href="#120">120</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String PROP_FIELD = <span class="string">"PROP."</span>; +<a name="121" href="#121">121</a> <em>/**<em>*</em></em> +<a name="122" href="#122">122</a> <em> * empty string literal.</em> +<a name="123" href="#123">123</a> <em> */</em> +<a name="124" href="#124">124</a> <strong>public</strong> <strong>static</strong> <strong>final</strong> String EMPTY_STRING = <span class="string">""</span>; +<a name="125" href="#125">125</a> <em>/**<em>*</em></em> +<a name="126" href="#126">126</a> <em> * LOGGER string literal.</em> +<a name="127" href="#127">127</a> <em> */</em> +<a name="128" href="#128">128</a> <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> RESOLVER = +<a name="129" href="#129">129</a> <strong>new</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a>(); +<a name="130" href="#130">130</a> +<a name="131" href="#131">131</a> <em>/**<em>*</em></em> +<a name="132" href="#132">132</a> <em> * Create new instance.</em> +<a name="133" href="#133">133</a> <em> */</em> +<a name="134" href="#134">134</a> <strong>private</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a>() { +<a name="135" href="#135">135</a> <strong>super</strong>(); +<a name="136" href="#136">136</a> KEYWORD_LIST.add(LOGGER_FIELD); +<a name="137" href="#137">137</a> KEYWORD_LIST.add(LEVEL_FIELD); +<a name="138" href="#138">138</a> KEYWORD_LIST.add(CLASS_FIELD); +<a name="139" href="#139">139</a> KEYWORD_LIST.add(FILE_FIELD); +<a name="140" href="#140">140</a> KEYWORD_LIST.add(LINE_FIELD); +<a name="141" href="#141">141</a> KEYWORD_LIST.add(METHOD_FIELD); +<a name="142" href="#142">142</a> KEYWORD_LIST.add(MSG_FIELD); +<a name="143" href="#143">143</a> KEYWORD_LIST.add(NDC_FIELD); +<a name="144" href="#144">144</a> KEYWORD_LIST.add(EXCEPTION_FIELD); +<a name="145" href="#145">145</a> KEYWORD_LIST.add(TIMESTAMP_FIELD); +<a name="146" href="#146">146</a> KEYWORD_LIST.add(THREAD_FIELD); +<a name="147" href="#147">147</a> KEYWORD_LIST.add(PROP_FIELD); +<a name="148" href="#148">148</a> } +<a name="149" href="#149">149</a> +<a name="150" href="#150">150</a> <em>/**<em>*</em></em> +<a name="151" href="#151">151</a> <em> * Apply fields.</em> +<a name="152" href="#152">152</a> <em> * @param replaceText replacement text.</em> +<a name="153" href="#153">153</a> <em> * @param event logging event.</em> +<a name="154" href="#154">154</a> <em> * @return evaluted expression</em> +<a name="155" href="#155">155</a> <em> */</em> +<a name="156" href="#156">156</a> <strong>public</strong> String applyFields(<strong>final</strong> String replaceText, +<a name="157" href="#157">157</a> <strong>final</strong> LoggingEvent event) { +<a name="158" href="#158">158</a> <strong>if</strong> (replaceText == <strong>null</strong>) { +<a name="159" href="#159">159</a> <strong>return</strong> <strong>null</strong>; +<a name="160" href="#160">160</a> } +<a name="161" href="#161">161</a> InFixToPostFix.CustomTokenizer tokenizer = <strong>new</strong> InFixToPostFix.CustomTokenizer(replaceText); +<a name="162" href="#162">162</a> StringBuffer result = <strong>new</strong> StringBuffer(); +<a name="163" href="#163">163</a> <strong>boolean</strong> found = false; +<a name="164" href="#164">164</a> +<a name="165" href="#165">165</a> <strong>while</strong> (tokenizer.hasMoreTokens()) { +<a name="166" href="#166">166</a> String token = tokenizer.nextToken(); +<a name="167" href="#167">167</a> <strong>if</strong> (isField(token) || token.toUpperCase(Locale.US).startsWith(PROP_FIELD)) { +<a name="168" href="#168">168</a> result.append(getValue(token, event).toString()); +<a name="169" href="#169">169</a> found = <strong>true</strong>; +<a name="170" href="#170">170</a> } <strong>else</strong> { +<a name="171" href="#171">171</a> result.append(token); +<a name="172" href="#172">172</a> } +<a name="173" href="#173">173</a> } +<a name="174" href="#174">174</a> <strong>if</strong> (found) { +<a name="175" href="#175">175</a> <strong>return</strong> result.toString(); +<a name="176" href="#176">176</a> } +<a name="177" href="#177">177</a> <strong>return</strong> <strong>null</strong>; +<a name="178" href="#178">178</a> } +<a name="179" href="#179">179</a> +<a name="180" href="#180">180</a> <em>/**<em>*</em></em> +<a name="181" href="#181">181</a> <em> * Get singleton instance.</em> +<a name="182" href="#182">182</a> <em> * @return singleton instance</em> +<a name="183" href="#183">183</a> <em> */</em> +<a name="184" href="#184">184</a> <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/log4j/spi/LoggingEventFieldResolver.html">LoggingEventFieldResolver</a> getInstance() { +<a name="185" href="#185">185</a> <strong>return</strong> RESOLVER; +<a name="186" href="#186">186</a> } +<a name="187" href="#187">187</a> +<a name="188" href="#188">188</a> <em>/**<em>*</em></em> +<a name="189" href="#189">189</a> <em> * Determines if specified string is a recognized field.</em> +<a name="190" href="#190">190</a> <em> * @param fieldName field name</em> +<a name="191" href="#191">191</a> <em> * @return true if recognized field.</em> +<a name="192" href="#192">192</a> <em> */</em> +<a name="193" href="#193">193</a> <strong>public</strong> <strong>boolean</strong> isField(<strong>final</strong> String fieldName) { +<a name="194" href="#194">194</a> <strong>if</strong> (fieldName != <strong>null</strong>) { +<a name="195" href="#195">195</a> <strong>return</strong> (KEYWORD_LIST.contains( +<a name="196" href="#196">196</a> fieldName.toUpperCase(Locale.US)) +<a name="197" href="#197">197</a> || fieldName.toUpperCase().startsWith(PROP_FIELD)); +<a name="198" href="#198">198</a> } +<a name="199" href="#199">199</a> <strong>return</strong> false; +<a name="200" href="#200">200</a> } +<a name="201" href="#201">201</a> +<a name="202" href="#202">202</a> <em>/**<em>*</em></em> +<a name="203" href="#203">203</a> <em> * Get value of field.</em> +<a name="204" href="#204">204</a> <em> * @param fieldName field</em> +<a name="205" href="#205">205</a> <em> * @param event event</em> +<a name="206" href="#206">206</a> <em> * @return value of field</em> +<a name="207" href="#207">207</a> <em> */</em> +<a name="208" href="#208">208</a> <strong>public</strong> Object getValue(<strong>final</strong> String fieldName, +<a name="209" href="#209">209</a> <strong>final</strong> LoggingEvent event) { +<a name="210" href="#210">210</a> String upperField = fieldName.toUpperCase(Locale.US); +<a name="211" href="#211">211</a> <strong>if</strong> (LOGGER_FIELD.equals(upperField)) { +<a name="212" href="#212">212</a> <strong>return</strong> event.getLoggerName(); +<a name="213" href="#213">213</a> } <strong>else</strong> <strong>if</strong> (LEVEL_FIELD.equals(upperField)) { +<a name="214" href="#214">214</a> <strong>return</strong> event.getLevel(); +<a name="215" href="#215">215</a> } <strong>else</strong> <strong>if</strong> (MSG_FIELD.equals(upperField)) { +<a name="216" href="#216">216</a> <strong>return</strong> event.getMessage(); +<a name="217" href="#217">217</a> } <strong>else</strong> <strong>if</strong> (NDC_FIELD.equals(upperField)) { +<a name="218" href="#218">218</a> String ndcValue = event.getNDC(); +<a name="219" href="#219">219</a> <strong>return</strong> ((ndcValue == <strong>null</strong>) ? EMPTY_STRING : ndcValue); +<a name="220" href="#220">220</a> } <strong>else</strong> <strong>if</strong> (EXCEPTION_FIELD.equals(upperField)) { +<a name="221" href="#221">221</a> String[] throwableRep = event.getThrowableStrRep(); +<a name="222" href="#222">222</a> <strong>if</strong> (throwableRep == <strong>null</strong>) { +<a name="223" href="#223">223</a> <strong>return</strong> EMPTY_STRING; +<a name="224" href="#224">224</a> } <strong>else</strong> { +<a name="225" href="#225">225</a> <strong>return</strong> getExceptionMessage(throwableRep); +<a name="226" href="#226">226</a> } +<a name="227" href="#227">227</a> } <strong>else</strong> <strong>if</strong> (TIMESTAMP_FIELD.equals(upperField)) { +<a name="228" href="#228">228</a> <strong>return</strong> <strong>new</strong> Long(event.timeStamp); +<a name="229" href="#229">229</a> } <strong>else</strong> <strong>if</strong> (THREAD_FIELD.equals(upperField)) { +<a name="230" href="#230">230</a> <strong>return</strong> event.getThreadName(); +<a name="231" href="#231">231</a> } <strong>else</strong> <strong>if</strong> (upperField.startsWith(PROP_FIELD)) { +<a name="232" href="#232">232</a> <em class="comment">//note: need to use actual fieldname since case matters</em> +<a name="233" href="#233">233</a> Object propValue = event.getMDC(fieldName.substring(5)); +<a name="234" href="#234">234</a> <strong>if</strong> (propValue == <strong>null</strong>) { +<a name="235" href="#235">235</a> <em class="comment">//case-specific match didn't work, try case insensitive match</em> +<a name="236" href="#236">236</a> String lowerPropKey = fieldName.substring(5).toLowerCase(); +<a name="237" href="#237">237</a> Set entrySet = event.getProperties().entrySet(); +<a name="238" href="#238">238</a> <strong>for</strong> (Iterator iter = entrySet.iterator();iter.hasNext();) { +<a name="239" href="#239">239</a> Map.Entry thisEntry = (Map.Entry) iter.next(); +<a name="240" href="#240">240</a> <strong>if</strong> (thisEntry.getKey().toString().toLowerCase().equals(lowerPropKey)) { +<a name="241" href="#241">241</a> propValue = thisEntry.getValue(); +<a name="242" href="#242">242</a> } +<a name="243" href="#243">243</a> } +<a name="244" href="#244">244</a> } +<a name="245" href="#245">245</a> <strong>return</strong> ((propValue == <strong>null</strong>) ? EMPTY_STRING : propValue.toString()); +<a name="246" href="#246">246</a> } <strong>else</strong> { +<a name="247" href="#247">247</a> LocationInfo info = event.getLocationInformation(); +<a name="248" href="#248">248</a> <strong>if</strong> (CLASS_FIELD.equals(upperField)) { +<a name="249" href="#249">249</a> <strong>return</strong> ((info == <strong>null</strong>) ? EMPTY_STRING : info.getClassName()); +<a name="250" href="#250">250</a> } <strong>else</strong> <strong>if</strong> (FILE_FIELD.equals(upperField)) { +<a name="251" href="#251">251</a> <strong>return</strong> ((info == <strong>null</strong>) ? EMPTY_STRING : info.getFileName()); +<a name="252" href="#252">252</a> } <strong>else</strong> <strong>if</strong> (LINE_FIELD.equals(upperField)) { +<a name="253" href="#253">253</a> <strong>return</strong> ((info == <strong>null</strong>) ? EMPTY_STRING : info.getLineNumber()); +<a name="254" href="#254">254</a> } <strong>else</strong> <strong>if</strong> (METHOD_FIELD.equals(upperField)) { +<a name="255" href="#255">255</a> <strong>return</strong> ((info == <strong>null</strong>) ? EMPTY_STRING : info.getMethodName()); +<a name="256" href="#256">256</a> } +<a name="257" href="#257">257</a> } +<a name="258" href="#258">258</a> +<a name="259" href="#259">259</a> <em class="comment">//there wasn't a match, so throw a runtime exception</em> +<a name="260" href="#260">260</a> <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Unsupported field name: "</span> + fieldName); +<a name="261" href="#261">261</a> } +<a name="262" href="#262">262</a> +<a name="263" href="#263">263</a> <em>/**<em>*</em></em> +<a name="264" href="#264">264</a> <em> * Get message from throwable representation.</em> +<a name="265" href="#265">265</a> <em> * @param exception exception</em> +<a name="266" href="#266">266</a> <em> * @return message</em> +<a name="267" href="#267">267</a> <em> */</em> +<a name="268" href="#268">268</a> <strong>private</strong> <strong>static</strong> String getExceptionMessage(<strong>final</strong> String[] exception) { +<a name="269" href="#269">269</a> StringBuffer buff = <strong>new</strong> StringBuffer(); +<a name="270" href="#270">270</a> <strong>for</strong> (<strong>int</strong> i = 0; i &lt; exception.length; i++) { +<a name="271" href="#271">271</a> buff.append(exception[i]); +<a name="272" href="#272">272</a> } +<a name="273" href="#273">273</a> <strong>return</strong> buff.toString(); +<a name="274" href="#274">274</a> } +<a name="275" href="#275">275</a> } +</pre> +<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body> +</html> + diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/spi/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/spi/package-frame.html similarity index 84% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/spi/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/spi/package-frame.html index 6b9efe76dc0..a9aa035a692 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/spi/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/spi/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.spi</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.spi</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/spi/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/spi/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/spi/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/spi/package-summary.html index cc91d147d0a..78f28548edf 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/spi/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/spi/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -62,6 +62,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/varia/SoundAppender.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/varia/SoundAppender.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/varia/SoundAppender.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/varia/SoundAppender.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/varia/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/varia/package-frame.html similarity index 84% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/varia/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/varia/package-frame.html index 805aff7e931..3b7bd99b729 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/varia/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/varia/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.varia</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.varia</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/varia/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/varia/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/varia/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/varia/package-summary.html index efcd0c49cf2..38188089fd9 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/varia/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/varia/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -62,6 +62,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/xml/UnrecognizedElementHandler.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/xml/UnrecognizedElementHandler.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/xml/UnrecognizedElementHandler.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/xml/UnrecognizedElementHandler.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/xml/XSLTLayout.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/xml/XSLTLayout.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/xml/XSLTLayout.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/xml/XSLTLayout.html diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/xml/package-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/xml/package-frame.html similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/xml/package-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/xml/package-frame.html index ca9cd2424e3..47f6f0db415 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/xml/package-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/xml/package-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package org.apache.log4j.xml</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package org.apache.log4j.xml</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/xml/package-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/xml/package-summary.html similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/xml/package-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/xml/package-summary.html index bbf348213e2..8e79c0d42c6 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/org/apache/log4j/xml/package-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/org/apache/log4j/xml/package-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference Package $name</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference Package $name</title> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" /> </head> <body> @@ -67,6 +67,6 @@ </ul> </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/overview-frame.html b/thirdparty/apache-log4j-extras-1.1/site/xref/overview-frame.html similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/site/xref/overview-frame.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/overview-frame.html index b4c5a106beb..2cf690ebc77 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/overview-frame.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/overview-frame.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference</title> <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" /> </head> <body> diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/overview-summary.html b/thirdparty/apache-log4j-extras-1.1/site/xref/overview-summary.html similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/site/xref/overview-summary.html rename to thirdparty/apache-log4j-extras-1.1/site/xref/overview-summary.html index f289a0eac9e..96ef4819a76 100644 --- a/thirdparty/apache-log4j-extras-1.0/site/xref/overview-summary.html +++ b/thirdparty/apache-log4j-extras-1.1/site/xref/overview-summary.html @@ -3,7 +3,7 @@ <html xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> - <title>Apache Extras Companion for log4j 1.2. 1.0 Reference</title> + <title>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference</title> <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" /> </head> <body> @@ -24,7 +24,7 @@ </ul> </div> - <h2>Apache Extras Companion for log4j 1.2. 1.0 Reference</h2> + <h2>Apache Extras Companionâ„¢ for Apache log4jâ„¢. 1.1 Reference</h2> <table class="summary"> <thead> @@ -109,6 +109,6 @@ </div> <hr /> - Copyright &copy; null Apache Software Foundation. All Rights Reserved. + Copyright &copy; null The Apache Software Foundation. All Rights Reserved. </body> </html> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/site/xref/stylesheet.css b/thirdparty/apache-log4j-extras-1.1/site/xref/stylesheet.css similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/site/xref/stylesheet.css rename to thirdparty/apache-log4j-extras-1.1/site/xref/stylesheet.css diff --git a/thirdparty/apache-log4j-extras-1.0/src/assembly/bin.xml b/thirdparty/apache-log4j-extras-1.1/src/assembly/bin.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/assembly/bin.xml rename to thirdparty/apache-log4j-extras-1.1/src/assembly/bin.xml diff --git a/thirdparty/apache-log4j-extras-1.1/src/changes/changes.xml b/thirdparty/apache-log4j-extras-1.1/src/changes/changes.xml new file mode 100644 index 00000000000..1c7a3088156 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/changes/changes.xml @@ -0,0 +1,60 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<document> + <properties> + <title>apache-log4j-extras</title> + </properties> + <body> + <release version="1.1" date="2010-11-19" description="Maintenance release"> + <action action="fix" issue="43312">Mangled source-repository.html</action> + <action action="fix" issue="44899">Extra NPE error message when using missing appender class with DOMConfigurator.</action> + <action action="fix" issue="46046">Track changes of default timezone in EnhancedPatternLayout's %d conversion pattern.</action> + <action action="fix" issue="45704">DOMConfigurator.configure(URL) fails on JRE 1.5.0_16.</action> + <action action="fix" issue="46741">Misuse of "it's" in Javadoc for EnhancedPatternLayout.</action> + <action action="fix" issue="46741">Leaving out %throwable in ConversionPattern adds throwable to logging message regardless.</action> + <action action="fix" issue="48531">Unit tests fail for system dates after 2009-12-31</action> + <action action="fix" issue="48778">LogMF performance improvement for number and date types.</action> + <action action="fix" issue="48910">LogSF did not support \\{ escape sequence.</action> + <action action="fix" issue="48911">LogMF did not optimize simple patterns on multiple parameter log requests.</action> + <action action="fix" issue="48927">EnhancedPatternLayout tests conflict with PatternLayout tests.</action> + <action action="add" issue="49010">Add %p{-2} pattern to EnhancedPatternLayout to drop two leading elements from name.</action> + <action action="add" issue="48902">Add %throwable{n} and {-n} pattern to EnhancedPatternLayout to print n or drop last n lines.</action> + <action action="fix" issue="49812">Improve javadoc for LogMF, LogSF, LogXF</action> + <action action="fix" issue="49007">CachedDateFormatTest fails on Apache Harmony.</action> + <action action="fix" issue="48953">Unused imports and variables in test code cause gcj compile warnings.</action> + <action action="add" issue="43282">Add OSGi packaging info.</action> + <action issue="48588" action="fix">DOMConfigurator does not close input stream when configured based on URL.</action> + <action issue="49078" action="fix">javadoc.jar was missing NOTICE and LICENSE.</action> + <action issue="50039" action="add">Add right truncation modifier to EnhancedPatternLayout.</action> + <action issue="50188" action="fix">Update for Apache Project Branding Requirements.</action> + </release> + + + <release version="1.0" date="2007-08-25" description="Initial release"> + <action issue="42783" type="add">Create an "extras" companion for log4j 1.2</action> + <action issue="42251" type="add">Backport log4j 1.3 rolling file appender for use with log4j 1.2.</action> + <action issue="42099" type="add">ExpressionFilter backport.</action> + <action issue="43151" type="add">Add TimeFilter.</action> + <action issue="43077" type="add">Add XSLTLayout.</action> + <action issue="42589" type="add">Parameterized logging for log4j 1.2.</action> + <action issue="32572" type="add">FilterBasedTriggeringPolicy now usable with SMTPAppender.</action> + <action issue="40937" type="add">Avoid Turkish-i problem in ExpressionFilter.</action> + <action issue="42257" type="add">Enhance DOMConfigurator to delegate unrecognized elements to created objects.</action> + </release> + </body> +</document> diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/EnhancedPatternLayout.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/EnhancedPatternLayout.java new file mode 100644 index 00000000000..c1a04ba51d0 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/EnhancedPatternLayout.java @@ -0,0 +1,571 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.helpers.OptionConverter; +import org.apache.log4j.helpers.PatternConverter; +import org.apache.log4j.pattern.BridgePatternConverter; +import org.apache.log4j.spi.LoggingEvent; + + +// Contributors: Nelson Minar <nelson@monkey.org> +// Anders Kristensen <akristensen@dynamicsoft.com> + +/** + * This class is an enhanced version of org.apache.log4j.PatternLayout + * which was originally developed as part of the abandoned log4j 1.3 + * effort and has been available in the extras companion. + * This pattern layout should be used in preference to + * org.apache.log4j.PatternLayout except when compatibility + * where PatternLayout has been extended either through subclassing + * or alternative pattern parsers. + * + * + * <p>A flexible layout configurable with pattern string. The goal of this class + * is to {@link #format format} a {@link LoggingEvent} and return the results + * in a {@link StringBuffer}. The format of the result depends on the + * <em>conversion pattern</em>. + * <p> + * + * <p>The conversion pattern is closely related to the conversion + * pattern of the printf function in C. A conversion pattern is + * composed of literal text and format control expressions called + * <em>conversion specifiers</em>. + * + * <p><i>Note that you are free to insert any literal text within the + * conversion pattern.</i> + * </p> + + <p>Each conversion specifier starts with a percent sign (%) and is + followed by optional <em>format modifiers</em> and a <em>conversion + character</em>. The conversion character specifies the type of + data, e.g. category, priority, date, thread name. The format + modifiers control such things as field width, padding, left and + right justification. The following is a simple example. + + <p>Let the conversion pattern be <b>"%-5p [%t]: %m%n"</b> and assume + that the log4j environment was set to use a EnhancedPatternLayout. Then the + statements + <pre> + Category root = Category.getRoot(); + root.debug("Message 1"); + root.warn("Message 2"); + </pre> + would yield the output + <pre> + DEBUG [main]: Message 1 + WARN [main]: Message 2 + </pre> + + <p>Note that there is no explicit separator between text and + conversion specifiers. The pattern parser knows when it has reached + the end of a conversion specifier when it reads a conversion + character. In the example above the conversion specifier + <b>%-5p</b> means the priority of the logging event should be left + justified to a width of five characters. + + The recognized conversion characters are + + <p> + <table border="1" CELLPADDING="8"> + <th>Conversion Character</th> + <th>Effect</th> + + <tr> + <td align=center><b>c</b></td> + + <td>Used to output the category of the logging event. The + category conversion specifier can be optionally followed by + NameAbbreviator pattern. + + <p>For example, for the category name "alpha.beta.gamma" the pattern + <b>%c{2}</b> will output the last two elements ("beta.gamma"), + <b>%c{-2}</b> will remove two elements leaving "gamma", + <b>%c{1.}</b> will output "a.b.gamma". + + </td> + </tr> + + <tr> + <td align=center><b>C</b></td> + + <td>Used to output the fully qualified class name of the caller + issuing the logging request. This conversion specifier + can be optionally followed by <em>precision specifier</em>, that + is a decimal constant in brackets. + + <td>Used to output the category of the logging event. The + category conversion specifier can be optionally followed by + NameAbbreviator pattern. + + <p>For example, for the category name "alpha.beta.gamma" the pattern + <b>%c{2}</b> will output the last two elements ("beta.gamma"), + <b>%c{-2}</b> will remove two elements leaving "gamma", + <b>%c{1.}</b> will output "a.b.gamma". + + <p><b>WARNING</b> Generating the caller class information is + slow. Thus, its use should be avoided unless execution speed is + not an issue. + + </td> + </tr> + + <tr> <td align=center><b>d</b></td> <td>Used to output the date of + the logging event. The date conversion specifier may be + followed by a set of braces containing a + date and time pattern strings {@link java.text.SimpleDateFormat}, + <em>ABSOLUTE</em>, <em>DATE</em> or <em>ISO8601</em> + and a set of braces containing a time zone id per + {@link java.util.TimeZone#getTimeZone(String)}. + For example, <b>%d{HH:mm:ss,SSS}</b>, + <b>%d{dd&nbsp;MMM&nbsp;yyyy&nbsp;HH:mm:ss,SSS}</b>, + <b>%d{DATE}</b> or <b>%d{HH:mm:ss}{GMT+0}</b>. If no date format specifier is given then + ISO8601 format is assumed. + </td> + </tr> + + <tr> + <td align=center><b>F</b></td> + + <td>Used to output the file name where the logging request was + issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + <tr> + <td align=center><b>l</b></td> + + <td>Used to output location information of the caller which generated + the logging event. + + <p>The location information depends on the JVM implementation but + usually consists of the fully qualified name of the calling + method followed by the callers source the file name and line + number between parentheses. + + <p>The location information can be very useful. However, its + generation is <em>extremely</em> slow and should be avoided + unless execution speed is not an issue. + + </td> + </tr> + + <tr> + <td align=center><b>L</b></td> + + <td>Used to output the line number from where the logging request + was issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + + <tr> + <td align=center><b>m</b></td> + <td>Used to output the application supplied message associated with + the logging event.</td> + </tr> + + <tr> + <td align=center><b>M</b></td> + + <td>Used to output the method name where the logging request was + issued. + + <p><b>WARNING</b> Generating caller location information is + extremely slow and should be avoided unless execution speed + is not an issue. + + </tr> + + <tr> + <td align=center><b>n</b></td> + + <td>Outputs the platform dependent line separator character or + characters. + + <p>This conversion character offers practically the same + performance as using non-portable line separator strings such as + "\n", or "\r\n". Thus, it is the preferred way of specifying a + line separator. + + + </tr> + + <tr> + <td align=center><b>p</b></td> + <td>Used to output the priority of the logging event.</td> + </tr> + + <tr> + + <td align=center><b>r</b></td> + + <td>Used to output the number of milliseconds elapsed since the construction + of the layout until the creation of the logging event.</td> + </tr> + + + <tr> + <td align=center><b>t</b></td> + + <td>Used to output the name of the thread that generated the + logging event.</td> + + </tr> + + <tr> + + <td align=center><b>x</b></td> + + <td>Used to output the NDC (nested diagnostic context) associated + with the thread that generated the logging event. + </td> + </tr> + + + <tr> + <td align=center><b>X</b></td> + + <td> + + <p>Used to output the MDC (mapped diagnostic context) associated + with the thread that generated the logging event. The <b>X</b> + conversion character can be followed by the key for the + map placed between braces, as in <b>%X{clientNumber}</b> where + <code>clientNumber</code> is the key. The value in the MDC + corresponding to the key will be output. If no additional sub-option + is specified, then the entire contents of the MDC key value pair set + is output using a format {{key1,val1},{key2,val2}}</p> + + <p>See {@link MDC} class for more details. + </p> + + </td> + </tr> + + <tr> + <td align=center><b>properties</b></td> + + <td> + <p>Used to output the Properties associated + with the logging event. The <b>properties</b> + conversion word can be followed by the key for the + map placed between braces, as in <b>%properties{application}</b> where + <code>application</code> is the key. The value in the Properties bundle + corresponding to the key will be output. If no additional sub-option + is specified, then the entire contents of the Properties key value pair set + is output using a format {{key1,val1},{key2,val2}}</p> + </td> + </tr> + + <tr> + <td align=center><b>throwable</b></td> + + <td> + <p>Used to output the Throwable trace that has been bound to the LoggingEvent, by + default this will output the full trace as one would normally + find by a call to Throwable.printStackTrace(). + <b>%throwable{short}</b> or <b>%throwable{1}</b> will output the first line of + stack trace. <b>throwable{none}</b> or <b>throwable{0}</b> will suppress + the stack trace. <b>%throwable{n}</b> will output n lines of stack trace + if a positive integer or omit the last -n lines if a negative integer. + If no %throwable pattern is specified, the appender will take + responsibility to output the stack trace as it sees fit.</p> + </td> + </tr> + + <tr> + + <td align=center><b>%</b></td> + + <td>The sequence %% outputs a single percent sign. + </td> + </tr> + + </table> + + <p>By default the relevant information is output as is. However, + with the aid of format modifiers it is possible to change the + minimum field width, the maximum field width, justification + and truncation. + + <p>The optional format modifiers are placed between the percent sign + and the conversion character. + + <p>The <em>left justification flag</em>, the minus sign (-), + the <em>right truncation flag</em>, the exclamation mark (!), + or any combination appear first. Followed by the + optional <em>minimum field width</em> modifier. This is a decimal + constant that represents the minimum number of characters to + output. If the data item requires fewer characters, it is padded on + either the left or the right until the minimum width is + reached. The default is to pad on the left (right justify) but you + can specify right padding with the left justification flag. The + padding character is space. If the data item is larger than the + minimum field width, the field is expanded to accommodate the + data. The value is never truncated. + + <p>This behavior can be changed using the <em>maximum field + width</em> modifier which is designated by a period followed by a + decimal constant. If the data item is longer than the maximum + field, then the extra characters are removed from the + <em>beginning</em> of the data item and not from the end. For + example, it the maximum field width is eight and the data item is + ten characters long, then the first two characters of the data item + are dropped. This behavior deviates from the printf function in C + where truncation is done from the end. The <em>right truncation flag</em>, + described previously, will override this behavior. + + <p>Below are various format modifier examples for the category + conversion specifier. + + <p> + <TABLE BORDER=1 CELLPADDING=8> + <th>Format modifier + <th>left justify + <th>minimum width + <th>maximum width + <th>comment + + <tr> + <td align=center>%20c</td> + <td align=center>false</td> + <td align=center>20</td> + <td align=center>none</td> + + <td>Left pad with spaces if the category name is less than 20 + characters long. + + <tr> <td align=center>%-20c</td> <td align=center>true</td> <td + align=center>20</td> <td align=center>none</td> <td>Right pad with + spaces if the category name is less than 20 characters long. + + <tr> + <td align=center>%.30c</td> + <td align=center>NA</td> + <td align=center>none</td> + <td align=center>30</td> + + <td>Truncate from the beginning if the category name is longer than 30 + characters. + + <tr> + <td align=center>%!.30c</td> + <td align=center>NA</td> + <td align=center>none</td> + <td align=center>30</td> + + <td>Truncate from the end if the category name is longer than 30 + characters. + + <tr> + <td align=center>%20.30c</td> + <td align=center>false</td> + <td align=center>20</td> + <td align=center>30</td> + + <td>Left pad with spaces if the category name is shorter than 20 + characters. However, if category name is longer than 30 characters, + then truncate from the beginning. + + <tr> + <td align=center>%-20.30c</td> + <td align=center>true</td> + <td align=center>20</td> + <td align=center>30</td> + + <td>Right pad with spaces if the category name is shorter than 20 + characters. However, if category name is longer than 30 characters, + then truncate from the beginning. + + </table> + + <p>Below are some examples of conversion patterns. + + <dl> + + <p><dt><b>%r [%t] %-5p %c %x - %m%n</b> + <p><dd>This is essentially the TTCC layout. + + <p><dt><b>%-6r [%15.15t] %-5p %30.30c %x - %m%n</b> + + <p><dd>Similar to the TTCC layout except that the relative time is + right padded if less than 6 digits, thread name is right padded if + less than 15 characters and truncated if longer and the category + name is left padded if shorter than 30 characters and truncated if + longer. + + </dl> + + <p>The above text is largely inspired from Peter A. Darnell and + Philip E. Margolis' highly recommended book "C -- a Software + Engineering Approach", ISBN 0-387-97389-3. + + @author <a href="mailto:cakalijp@Maritz.com">James P. Cakalic</a> + @author Ceki G&uuml;lc&uuml; + + + @since 1.2.16 */ +public class EnhancedPatternLayout extends Layout { + /** Default pattern string for log output. Currently set to the + string <b>"%m%n"</b> which just prints the application supplied + message. */ + public static final String DEFAULT_CONVERSION_PATTERN = "%m%n"; + + /** A conversion pattern equivalent to the TTCCCLayout. + Current value is <b>%r [%t] %p %c %x - %m%n</b>. */ + public static final String TTCC_CONVERSION_PATTERN = + "%r [%t] %p %c %x - %m%n"; + + /** + * Initial size of internal buffer, no longer used. + * @deprecated since 1.3 + */ + protected final int BUF_SIZE = 256; + + /** + * Maximum capacity of internal buffer, no longer used. + * @deprecated since 1.3 + */ + protected final int MAX_CAPACITY = 1024; + + /** + * Customized pattern conversion rules are stored under this key in the + * {@link org.apache.log4j.spi.LoggerRepository LoggerRepository} object store. + */ + public static final String PATTERN_RULE_REGISTRY = "PATTERN_RULE_REGISTRY"; + + + /** + * Initial converter for pattern. + */ + private PatternConverter head; + + /** + * Conversion pattern. + */ + private String conversionPattern; + + /** + * True if any element in pattern formats information from exceptions. + */ + private boolean handlesExceptions; + + /** + Constructs a EnhancedPatternLayout using the DEFAULT_LAYOUT_PATTERN. + + The default pattern just produces the application supplied message. + */ + public EnhancedPatternLayout() { + this(DEFAULT_CONVERSION_PATTERN); + } + + /** + * Constructs a EnhancedPatternLayout using the supplied conversion pattern. + * @param pattern conversion pattern. + */ + public EnhancedPatternLayout(final String pattern) { + this.conversionPattern = pattern; + head = createPatternParser( + (pattern == null) ? DEFAULT_CONVERSION_PATTERN : pattern).parse(); + if (head instanceof BridgePatternConverter) { + handlesExceptions = !((BridgePatternConverter) head).ignoresThrowable(); + } else { + handlesExceptions = false; + } + } + + /** + * Set the <b>ConversionPattern</b> option. This is the string which + * controls formatting and consists of a mix of literal content and + * conversion specifiers. + * + * @param conversionPattern conversion pattern. + */ + public void setConversionPattern(final String conversionPattern) { + this.conversionPattern = + OptionConverter.convertSpecialChars(conversionPattern); + head = createPatternParser(this.conversionPattern).parse(); + if (head instanceof BridgePatternConverter) { + handlesExceptions = !((BridgePatternConverter) head).ignoresThrowable(); + } else { + handlesExceptions = false; + } + } + + /** + * Returns the value of the <b>ConversionPattern</b> option. + * @return conversion pattern. + */ + public String getConversionPattern() { + return conversionPattern; + } + + + /** + Returns PatternParser used to parse the conversion string. Subclasses + may override this to return a subclass of PatternParser which recognize + custom conversion characters. + + @since 0.9.0 + */ + protected org.apache.log4j.helpers.PatternParser createPatternParser(String pattern) { + return new org.apache.log4j.pattern.BridgePatternParser(pattern); + } + + + /** + Activates the conversion pattern. Do not forget to call this method after + you change the parameters of the EnhancedPatternLayout instance. + */ + public void activateOptions() { + // nothing to do. + } + + + /** + * Formats a logging event to a writer. + * @param event logging event to be formatted. + */ + public String format(final LoggingEvent event) { + StringBuffer buf = new StringBuffer(); + for(PatternConverter c = head; + c != null; + c = c.next) { + c.format(buf, event); + } + return buf.toString(); + } + + /** + * Will return false if any of the conversion specifiers in the pattern + * handles {@link Exception Exceptions}. + * @return true if the pattern formats any information from exceptions. + */ + public boolean ignoresThrowable() { + return !handlesExceptions; + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/site/cpd.html b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogMF.java old mode 100644 new mode 100755 similarity index 78% rename from thirdparty/apache-log4j-extras-1.0/site/cpd.html rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogMF.java index a3941983aa0..2df99fc1509 --- a/thirdparty/apache-log4j-extras-1.0/site/cpd.html +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogMF.java @@ -1,189 +1,273 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - - - - - - - - -<html> - <head> - <title>Extras - CPD Results</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> - </head> - <body class="composite"> - <div id="banner"> - <a href="http://logging.apache.org/" id="bannerLeft"> - - <img src="images/ls-logo.jpg" alt="" /> - - </a> - <a href="http://logging.apache.org/log4j" id="bannerRight"> - - <img src="images/logo.jpg" alt="" /> - - </a> - <div class="clear"> - <hr/> - </div> - </div> - <div id="breadcrumbs"> - - - - - - - - <div class="xleft"> - Last Published: 08/25/2007 - | - <a href="http://www.apache.org/">Apache</a> - &gt; - - <a href="http://logging.apache.org/">Logging Services</a> - &gt; - - <a href="http://logging.apache.org/log4j/">log4j</a> - &gt; - - <a href="http://logging.apache.org/log4j/companions/">Companions</a> - &gt; - - extras - </div> - <div class="xright"> - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - - - - - - - <h5>Get extras</h5> - <ul> - - <li class="none"> - <a href="download.html">Download</a> - </li> - - <li class="none"> - <a href="changes-report.html">Changes</a> - </li> - - <li class="none"> - <a href="license.html">License</a> - </li> - </ul> - <h5>About extras</h5> - <ul> - - <li class="none"> - <a href="index.html">What is it?</a> - </li> - - <li class="none"> - <a href="roadmap.html">Roadmap</a> - </li> - - <li class="none"> - <a href="apidocs/index.html">JavaDoc</a> - </li> - </ul> - <h5>Community</h5> - <ul> - - <li class="none"> - <a href="mail-lists.html">Mailing Lists</a> - </li> - - <li class="none"> - <a href="issue-tracking.html">Issue Tracking</a> - </li> - </ul> - <h5>Development</h5> - <ul> - - <li class="none"> - <a href="source-repository.html">Repository</a> - </li> - - <li class="none"> - <a href="jxr.html">Cross Reference</a> - </li> - - <li class="none"> - <a href="dependencies.html">Dependencies</a> - </li> - - <li class="none"> - <a href="integration.html">Continuous Integration</a> - </li> - - <li class="none"> - <strong>Duplication</strong> - </li> - - <li class="none"> - <a href="pmd.html">PMD</a> - </li> - </ul> - <h5>Apache</h5> - <ul> - - <li class="none"> - <a href="http://www.apache.org">Home</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> - </li> - - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> - </li> - - <li class="none"> - <a href="http://www.apachecon.com">Conferences</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img> - </a> - - - - - - - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"><h2>CPD Results</h2><p>The following document contains the results of PMD's <a href="http://pmd.sourceforge.net/cpd.html">CPD</a> 3.9.</p></div><div class="section"><h2>Duplications</h2><p><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/log4j/LogMF.java</td><td><a href="./xref/org/apache/log4j/LogMF.html#309">309</a></td></tr><tr class="a"><td>org/apache/log4j/LogSF.java</td><td><a href="./xref/org/apache/log4j/LogSF.html#253">253</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> private static final String FQCN = LogSF.class.getName(); +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import org.apache.log4j.spi.LoggingEvent; + +import java.text.DateFormat; +import java.text.MessageFormat; +import java.text.NumberFormat; +import java.util.Date; +import java.util.ResourceBundle; +import java.util.Locale; + + +/** + * This class provides parameterized logging services + * using the pattern syntax of java.text.MessageFormat. + * Message formatting is only performed when the + * request exceeds the threshold level of the logger. + * When the pattern only contains literal text and + * default conversion patterns (that is "{0}" and similar) + * a simple fast compatible formatter is used. + * If the pattern contains more complex conversion patterns, + * formatting will be delegated to java.text.MessageFormatter + * which can be substantially slower. + * + * @see org.apache.log4j.LogSF + * @since 1.2.16 + * + */ +public final class LogMF extends LogXF { + /** + * private constructor. + * + */ + private LogMF() { + } + + /** + * Number format. + */ + private static NumberFormat numberFormat = null; + /** + * Locale at time of last number format request. + */ + private static Locale numberLocale = null; + /** + * Date format. + */ + private static DateFormat dateFormat = null; + /** + * Locale at time of last date format request. + */ + private static Locale dateLocale = null; + + /** + * Format number. + * @param n number to format, may not be null. + * @return formatted value. + */ + private static synchronized String formatNumber(final Object n) { + Locale currentLocale = Locale.getDefault(); + if (currentLocale != numberLocale || numberFormat == null) { + numberLocale = currentLocale; + numberFormat = NumberFormat.getInstance(currentLocale); + } + return numberFormat.format(n); + } + + + /** + * Format date. + * @param d date, may not be null. + * @return formatted value. + */ + private static synchronized String formatDate(final Object d) { + Locale currentLocale = Locale.getDefault(); + if (currentLocale != dateLocale || dateFormat == null) { + dateLocale = currentLocale; + dateFormat = DateFormat.getDateTimeInstance( + DateFormat.SHORT, + DateFormat.SHORT, + currentLocale); + } + return dateFormat.format(d); + } + + /** + * Format a single parameter like a "{0}" formatting specifier. + * + * @param arg0 parameter, may be null. + * @return string representation of arg0. + */ + private static String formatObject(final Object arg0) { + if (arg0 instanceof String) { + return arg0.toString(); + } else if (arg0 instanceof Double || + arg0 instanceof Float) { + return formatNumber(arg0); + } else if (arg0 instanceof Date) { + return formatDate(arg0); + } + return String.valueOf(arg0); + } + + + /** + * Determines if pattern contains only {n} format elements + * and not apostrophes. + * + * @param pattern pattern, may not be null. + * @return true if pattern only contains {n} format elements. + */ + private static boolean isSimple(final String pattern) { + if (pattern.indexOf('\'') != -1) { + return false; + } + for(int pos = pattern.indexOf('{'); + pos != -1; + pos = pattern.indexOf('{', pos + 1)) { + if (pos + 2 >= pattern.length() || + pattern.charAt(pos+2) != '}' || + pattern.charAt(pos+1) < '0' || + pattern.charAt(pos+1) > '9') { + return false; + } + } + return true; + + } + + /** + * Formats arguments using MessageFormat. + * @param pattern pattern, may be malformed or null. + * @param arguments arguments, may be null or mismatched. + * @return Message string or null + */ + private static String format(final String pattern, + final Object[] arguments) { + if (pattern == null) { + return null; + } else if(isSimple(pattern)) { + String formatted[] = new String[10]; + int prev = 0; + String retval = ""; + int pos = pattern.indexOf('{'); + while(pos >= 0) { + if(pos + 2 < pattern.length() && + pattern.charAt(pos+2) == '}' && + pattern.charAt(pos+1) >= '0' && + pattern.charAt(pos+1) <= '9') { + int index = pattern.charAt(pos+1) - '0'; + retval += pattern.substring(prev, pos); + if (formatted[index] == null) { + if (arguments == null || index >= arguments.length) { + formatted[index] = pattern.substring(pos, pos+3); + } else { + formatted[index] = formatObject(arguments[index]); + } + } + retval += formatted[index]; + prev = pos + 3; + pos = pattern.indexOf('{', prev); + } else { + pos = pattern.indexOf('{', pos + 1); + } + } + retval += pattern.substring(prev); + return retval; + } + try { + return MessageFormat.format(pattern, arguments); + } catch (IllegalArgumentException ex) { + return pattern; + } + } + + /** + * Formats a single argument using MessageFormat. + * @param pattern pattern, may be malformed or null. + * @param arguments arguments, may be null or mismatched. + * @return Message string or null + */ + private static String format(final String pattern, + final Object arg0) { + if (pattern == null) { + return null; + } else if(isSimple(pattern)) { + String formatted = null; + int prev = 0; + String retval = ""; + int pos = pattern.indexOf('{'); + while(pos >= 0) { + if(pos + 2 < pattern.length() && + pattern.charAt(pos+2) == '}' && + pattern.charAt(pos+1) >= '0' && + pattern.charAt(pos+1) <= '9') { + int index = pattern.charAt(pos+1) - '0'; + retval += pattern.substring(prev, pos); + if (index != 0) { + retval += pattern.substring(pos, pos+3); + } else { + if (formatted == null) { + formatted = formatObject(arg0); + } + retval += formatted; + } + prev = pos + 3; + pos = pattern.indexOf('{', prev); + } else { + pos = pattern.indexOf('{', pos + 1); + } + } + retval += pattern.substring(prev); + return retval; + } + try { + return MessageFormat.format(pattern, new Object[] { arg0 }); + } catch (IllegalArgumentException ex) { + return pattern; + } + } + + + /** + * Formats arguments using MessageFormat using a pattern from + * a resource bundle. + * @param resourceBundleName name of resource bundle, may be null. + * @param key key for pattern in resource bundle, may be null. + * @param arguments arguments, may be null or mismatched. + * @return Message string or null + */ + private static String format( + final String resourceBundleName, + final String key, + final Object[] arguments) { + String pattern; + if (resourceBundleName != null) { + try { + ResourceBundle bundle = + ResourceBundle.getBundle(resourceBundleName); + pattern = bundle.getString(key); + } catch (Exception ex) { + pattern = key; + } + } else { + pattern = key; + } + return format(pattern, arguments); + } + + + /** + * Fully Qualified Class Name of this class. + */ + private static final String FQCN = LogMF.class.getName(); /** * Equivalent of Logger.forcedLog. @@ -1589,260 +1673,5 @@ toArray(param0, param1, param2, param3))); } } -}</pre></div></td></tr><table class="bodyTable"></p><p><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/log4j/LogMF.java</td><td><a href="./xref/org/apache/log4j/LogMF.html#42">42</a></td></tr><tr class="a"><td>org/apache/log4j/LogSF.java</td><td><a href="./xref/org/apache/log4j/LogSF.html#39">39</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> private LogSF() { - } - - - /** - * Returns a Boolean instance representing the specified boolean. - * Boolean.valueOf was added in JDK 1.4. - * @param b a boolean value. - * @return a Boolean instance representing b. - */ - private static Boolean valueOf(final boolean b) { - if (b) { - return Boolean.TRUE; - } - return Boolean.FALSE; - } - - /** - * Returns a Character instance representing the specified char. - * Character.valueOf was added in JDK 1.5. - * @param c a character value. - * @return a Character instance representing c. - */ - private static Character valueOf(final char c) { - return new Character(c); - } - - /** - * Returns a Byte instance representing the specified byte. - * Byte.valueOf was added in JDK 1.5. - * @param b a byte value. - * @return a Byte instance representing b. - */ - private static Byte valueOf(final byte b) { - return new Byte(b); - } - - /** - * Returns a Short instance representing the specified short. - * Short.valueOf was added in JDK 1.5. - * @param b a short value. - * @return a Byte instance representing b. - */ - private static Short valueOf(final short b) { - return new Short(b); - } - - /** - * Returns an Integer instance representing the specified int. - * Integer.valueOf was added in JDK 1.5. - * @param b an int value. - * @return an Integer instance representing b. - */ - private static Integer valueOf(final int b) { - return new Integer(b); - } - - /** - * Returns a Long instance representing the specified long. - * Long.valueOf was added in JDK 1.5. - * @param b a long value. - * @return a Long instance representing b. - */ - private static Long valueOf(final long b) { - return new Long(b); - } - - /** - * Returns a Float instance representing the specified float. - * Float.valueOf was added in JDK 1.5. - * @param b a float value. - * @return a Float instance representing b. - */ - private static Float valueOf(final float b) { - return new Float(b); - } - - /** - * Returns a Double instance representing the specified double. - * Double.valueOf was added in JDK 1.5. - * @param b a double value. - * @return a Byte instance representing b. - */ - private static Double valueOf(final double b) { - return new Double(b); - } - - - - /** - * Create new array. - * @param param1 parameter 1. - * @return new array. - */ - private static Object[] toArray(final Object param1) { - return new Object[] { - param1 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2) { - return new Object[] { - param1, param2 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @param param3 parameter 3. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2, - final Object param3) { - return new Object[] { - param1, param2, param3 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @param param3 parameter 3. - * @param param4 parameter 4. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2, - final Object param3, - final Object param4) { - return new Object[] { - param1, param2, param3, param4 - }; - } - - - /** - * Formats arguments using SLF4J-like formatter. - * @param pattern pattern, may be malformed. - * @param arguments arguments. - * @return Message string - */ - private static String format(final String pattern,</pre></div></td></tr><table class="bodyTable"></p><p><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/log4j/rolling/helper/GZCompressAction.java</td><td><a href="./xref/org/apache/log4j/rolling/helper/GZCompressAction.html#59">59</a></td></tr><tr class="a"><td>org/apache/log4j/rolling/helper/ZipCompressAction.java</td><td><a href="./xref/org/apache/log4j/rolling/helper/ZipCompressAction.html#60">60</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> public ZipCompressAction( - final File source, final File destination, final boolean deleteSource) { - if (source == null) { - throw new NullPointerException(&quot;source&quot;); - } - - if (destination == null) { - throw new NullPointerException(&quot;destination&quot;); - } - - this.source = source; - this.destination = destination; - this.deleteSource = deleteSource; - } - - /** - * Compress. - * @return true if successfully compressed. - * @throws IOException on IO exception. - */ - public boolean execute() throws IOException { - return execute(source, destination, deleteSource); - } - - /** - * Compress a file. - * - * @param source file to compress, may not be null. - * @param destination compressed file, may not be null. - * @param deleteSource if true, attempt to delete file on completion. Failure to delete - * does not cause an exception to be thrown or affect return value. - * @return true if source file compressed. - * @throws IOException on IO exception. - */ - public static boolean execute( - final File source, final File destination, final boolean deleteSource) - throws IOException { - if (source.exists()) { - FileInputStream fis = new FileInputStream(source); - FileOutputStream fos = new FileOutputStream(destination);</pre></div></td></tr><table class="bodyTable"></p><p><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/log4j/rolling/RollingFileAppender.java</td><td><a href="./xref/org/apache/log4j/rolling/RollingFileAppender.html#244">244</a></td></tr><tr class="a"><td>org/apache/log4j/rolling/RollingFileAppender.java</td><td><a href="./xref/org/apache/log4j/rolling/RollingFileAppender.html#291">291</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> this.qw = createQuietWriter(newWriter); - - boolean success = true; - - if (rollover.getSynchronous() != null) { - success = false; - - try { - success = rollover.getSynchronous().execute(); - } catch (Exception ex) { - exception = ex; - } - } - - if (success) { - if (rollover.getAppend()) { - fileLength = new File(rollover.getActiveFileName()).length(); - } else { - fileLength = 0; - } - - if (rollover.getAsynchronous() != null) { - lastRolloverAsyncAction = rollover.getAsynchronous(); - new Thread(lastRolloverAsyncAction).start(); - }</pre></div></td></tr><table class="bodyTable"></p><p><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/log4j/rule/LevelEqualsRule.java</td><td><a href="./xref/org/apache/log4j/rule/LevelEqualsRule.html#60">60</a></td></tr><tr class="a"><td>org/apache/log4j/rule/LevelInequalityRule.java</td><td><a href="./xref/org/apache/log4j/rule/LevelInequalityRule.html#53">53</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> } - - /** - * Populate list of levels. - */ - private static void populateLevels() { - levelList = new LinkedList(); - - levelList.add(Level.FATAL.toString()); - levelList.add(Level.ERROR.toString()); - levelList.add(Level.WARN.toString()); - levelList.add(Level.INFO.toString()); - levelList.add(Level.DEBUG.toString()); - Level trace = Level.toLevel(5000, null); - if (trace != null) { - levelList.add(trace.toString()); - }</pre></div></td></tr><table class="bodyTable"></p></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright">&#169; - 2007 - - Apache Software Foundation - - - - - - - - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> -</html> +} diff --git a/thirdparty/apache-log4j-extras-1.0/site/cpd.xml b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogSF.java old mode 100644 new mode 100755 similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/site/cpd.xml rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogSF.java index 48b888bc56b..8302e205e74 --- a/thirdparty/apache-log4j-extras-1.0/site/cpd.xml +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogSF.java @@ -1,9 +1,137 @@ -<?xml version="1.0" encoding="UTF-8"?><pmd-cpd> -<duplication lines="1407" tokens="4713"> -<file line="309" path="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/LogMF.java"/> -<file line="253" path="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/LogSF.java"/> -<codefragment> -<![CDATA[ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import org.apache.log4j.spi.LoggingEvent; + +import java.util.ResourceBundle; + + +/** + * This class provides parameterized logging services + * using the SLF4J pattern syntax. + * <p> + * Message formatting is only performed when the + * request exceeds the threshold level of the logger. + * + * @since 1.2.16 + * + */ +public final class LogSF extends LogXF { + /** + * private constructor. + * + */ + private LogSF() { + } + + + + + /** + * Formats arguments using SLF4J-like formatter. + * @param pattern pattern, may be malformed. + * @param arguments arguments. + * @return Message string + */ + private static String format(final String pattern, + final Object[] arguments) { + if (pattern != null) { + String retval = ""; + int count = 0; + int prev = 0; + int pos = pattern.indexOf("{"); + while(pos >= 0) { + if (pos == 0 || pattern.charAt(pos-1) != '\\') { + retval += pattern.substring(prev, pos); + if (pos + 1 < pattern.length() && pattern.charAt(pos+1) == '}') { + if(arguments != null && count < arguments.length) { + retval += arguments[count++]; + } else { + retval += "{}"; + } + prev = pos + 2; + } else { + retval += "{"; + prev = pos + 1; + } + } else { + retval += pattern.substring(prev, pos - 1) + "{"; + prev = pos + 1; + } + pos = pattern.indexOf("{", prev); + } + return retval + pattern.substring(prev); + } + return null; + } + + /** + * Formats arguments using MessageFormat. + * @param pattern pattern, may be malformed. + * @param arg0 argument, may be null or mismatched. + * @return Message string + */ + private static String format(final String pattern, final Object arg0) { + if (pattern != null) { + // + // if there is an escaped brace, delegate to multi-param formatter + if (pattern.indexOf("\\{") >= 0) { + return format(pattern, new Object[] { arg0 }); + } + int pos = pattern.indexOf("{}"); + if (pos >= 0) { + return pattern.substring(0, pos) + arg0 + pattern.substring(pos+2); + } + } + return pattern; + } + + /** + * Formats arguments using MessageFormat using a pattern from + * a resource bundle. + * @param resourceBundleName name of resource bundle, may be null. + * @param key key for pattern in resource bundle, may be null. + * @param arguments arguments, may be null or mismatched. + * @return Message string or null + */ + private static String format( + final String resourceBundleName, + final String key, + final Object[] arguments) { + String pattern; + if (resourceBundleName != null) { + try { + ResourceBundle bundle = + ResourceBundle.getBundle(resourceBundleName); + pattern = bundle.getString(key); + } catch (Exception ex) { + pattern = key; + } + } else { + pattern = key; + } + return format(pattern, arguments); + } + + + /** + * Fully Qualified Class Name of this class. + */ private static final String FQCN = LogSF.class.getName(); /** @@ -1411,275 +1539,3 @@ } } } -]]> -</codefragment> -</duplication> -<duplication lines="154" tokens="271"> -<file line="42" path="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/LogMF.java"/> -<file line="39" path="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/LogSF.java"/> -<codefragment> -<![CDATA[ - private LogSF() { - } - - - - /** - * Returns a Boolean instance representing the specified boolean. - * Boolean.valueOf was added in JDK 1.4. - * @param b a boolean value. - * @return a Boolean instance representing b. - */ - private static Boolean valueOf(final boolean b) { - if (b) { - return Boolean.TRUE; - } - return Boolean.FALSE; - } - - /** - * Returns a Character instance representing the specified char. - * Character.valueOf was added in JDK 1.5. - * @param c a character value. - * @return a Character instance representing c. - */ - private static Character valueOf(final char c) { - return new Character(c); - } - - /** - * Returns a Byte instance representing the specified byte. - * Byte.valueOf was added in JDK 1.5. - * @param b a byte value. - * @return a Byte instance representing b. - */ - private static Byte valueOf(final byte b) { - return new Byte(b); - } - - /** - * Returns a Short instance representing the specified short. - * Short.valueOf was added in JDK 1.5. - * @param b a short value. - * @return a Byte instance representing b. - */ - private static Short valueOf(final short b) { - return new Short(b); - } - - /** - * Returns an Integer instance representing the specified int. - * Integer.valueOf was added in JDK 1.5. - * @param b an int value. - * @return an Integer instance representing b. - */ - private static Integer valueOf(final int b) { - return new Integer(b); - } - - /** - * Returns a Long instance representing the specified long. - * Long.valueOf was added in JDK 1.5. - * @param b a long value. - * @return a Long instance representing b. - */ - private static Long valueOf(final long b) { - return new Long(b); - } - - /** - * Returns a Float instance representing the specified float. - * Float.valueOf was added in JDK 1.5. - * @param b a float value. - * @return a Float instance representing b. - */ - private static Float valueOf(final float b) { - return new Float(b); - } - - /** - * Returns a Double instance representing the specified double. - * Double.valueOf was added in JDK 1.5. - * @param b a double value. - * @return a Byte instance representing b. - */ - private static Double valueOf(final double b) { - return new Double(b); - } - - - - /** - * Create new array. - * @param param1 parameter 1. - * @return new array. - */ - private static Object[] toArray(final Object param1) { - return new Object[] { - param1 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2) { - return new Object[] { - param1, param2 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @param param3 parameter 3. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2, - final Object param3) { - return new Object[] { - param1, param2, param3 - }; - } - - /** - * Create new array. - * @param param1 parameter 1. - * @param param2 parameter 2. - * @param param3 parameter 3. - * @param param4 parameter 4. - * @return new array. - */ - private static Object[] toArray(final Object param1, - final Object param2, - final Object param3, - final Object param4) { - return new Object[] { - param1, param2, param3, param4 - }; - } - - - /** - * Formats arguments using SLF4J-like formatter. - * @param pattern pattern, may be malformed. - * @param arguments arguments. - * @return Message string - */ - private static String format(final String pattern, -]]> -</codefragment> -</duplication> -<duplication lines="40" tokens="121"> -<file line="59" path="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/rolling/helper/GZCompressAction.java"/> -<file line="60" path="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/rolling/helper/ZipCompressAction.java"/> -<codefragment> -<![CDATA[ - public ZipCompressAction( - final File source, final File destination, final boolean deleteSource) { - if (source == null) { - throw new NullPointerException("source"); - } - - if (destination == null) { - throw new NullPointerException("destination"); - } - - this.source = source; - this.destination = destination; - this.deleteSource = deleteSource; - } - - /** - * Compress. - * @return true if successfully compressed. - * @throws IOException on IO exception. - */ - public boolean execute() throws IOException { - return execute(source, destination, deleteSource); - } - - /** - * Compress a file. - * - * @param source file to compress, may not be null. - * @param destination compressed file, may not be null. - * @param deleteSource if true, attempt to delete file on completion. Failure to delete - * does not cause an exception to be thrown or affect return value. - * @return true if source file compressed. - * @throws IOException on IO exception. - */ - public static boolean execute( - final File source, final File destination, final boolean deleteSource) - throws IOException { - if (source.exists()) { - FileInputStream fis = new FileInputStream(source); - FileOutputStream fos = new FileOutputStream(destination); -]]> -</codefragment> -</duplication> -<duplication lines="25" tokens="108"> -<file line="244" path="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java"/> -<file line="291" path="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java"/> -<codefragment> -<![CDATA[ - this.qw = createQuietWriter(newWriter); - - boolean success = true; - - if (rollover.getSynchronous() != null) { - success = false; - - try { - success = rollover.getSynchronous().execute(); - } catch (Exception ex) { - exception = ex; - } - } - - if (success) { - if (rollover.getAppend()) { - fileLength = new File(rollover.getActiveFileName()).length(); - } else { - fileLength = 0; - } - - if (rollover.getAsynchronous() != null) { - lastRolloverAsyncAction = rollover.getAsynchronous(); - new Thread(lastRolloverAsyncAction).start(); - } -]]> -</codefragment> -</duplication> -<duplication lines="17" tokens="103"> -<file line="60" path="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java"/> -<file line="53" path="/home/ubuntu/apache-log4j-extras_rc5/target/checkout/src/main/java/org/apache/log4j/rule/LevelInequalityRule.java"/> -<codefragment> -<![CDATA[ - } - - /** - * Populate list of levels. - */ - private static void populateLevels() { - levelList = new LinkedList(); - - levelList.add(Level.FATAL.toString()); - levelList.add(Level.ERROR.toString()); - levelList.add(Level.WARN.toString()); - levelList.add(Level.INFO.toString()); - levelList.add(Level.DEBUG.toString()); - Level trace = Level.toLevel(5000, null); - if (trace != null) { - levelList.add(trace.toString()); - } -]]> -</codefragment> -</duplication> -</pmd-cpd> \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogXF.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogXF.java new file mode 100644 index 00000000000..de2b94b7e4d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/LogXF.java @@ -0,0 +1,371 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import org.apache.log4j.spi.LoggingEvent; + +/** + * This is a base class for LogMF and LogSF parameterized logging classes. + * + * + * @see org.apache.log4j.LogMF + * @see org.apache.log4j.LogSF + * @since 1.2.16 + */ +public abstract class LogXF { + /** + * Trace level. + */ + protected static final Level TRACE = new Level(5000, "TRACE", 7); + /** + * Fully Qualified Class Name of this class. + */ + private static final String FQCN = LogXF.class.getName(); + + protected LogXF() { + } + + /** + * Returns a Boolean instance representing the specified boolean. + * Boolean.valueOf was added in JDK 1.4. + * + * @param b a boolean value. + * @return a Boolean instance representing b. + */ + protected static Boolean valueOf(final boolean b) { + if (b) { + return Boolean.TRUE; + } + return Boolean.FALSE; + } + + /** + * Returns a Character instance representing the specified char. + * Character.valueOf was added in JDK 1.5. + * + * @param c a character value. + * @return a Character instance representing c. + */ + protected static Character valueOf(final char c) { + return new Character(c); + } + + /** + * Returns a Byte instance representing the specified byte. + * Byte.valueOf was added in JDK 1.5. + * + * @param b a byte value. + * @return a Byte instance representing b. + */ + protected static Byte valueOf(final byte b) { + return new Byte(b); + } + + /** + * Returns a Short instance representing the specified short. + * Short.valueOf was added in JDK 1.5. + * + * @param b a short value. + * @return a Byte instance representing b. + */ + protected static Short valueOf(final short b) { + return new Short(b); + } + + /** + * Returns an Integer instance representing the specified int. + * Integer.valueOf was added in JDK 1.5. + * + * @param b an int value. + * @return an Integer instance representing b. + */ + protected static Integer valueOf(final int b) { + return new Integer(b); + } + + /** + * Returns a Long instance representing the specified long. + * Long.valueOf was added in JDK 1.5. + * + * @param b a long value. + * @return a Long instance representing b. + */ + protected static Long valueOf(final long b) { + return new Long(b); + } + + /** + * Returns a Float instance representing the specified float. + * Float.valueOf was added in JDK 1.5. + * + * @param b a float value. + * @return a Float instance representing b. + */ + protected static Float valueOf(final float b) { + return new Float(b); + } + + /** + * Returns a Double instance representing the specified double. + * Double.valueOf was added in JDK 1.5. + * + * @param b a double value. + * @return a Byte instance representing b. + */ + protected static Double valueOf(final double b) { + return new Double(b); + } + + /** + * Create new array. + * + * @param param1 parameter 1. + * @return new array. + */ + protected static Object[] toArray(final Object param1) { + return new Object[]{ + param1 + }; + } + + /** + * Create new array. + * + * @param param1 parameter 1. + * @param param2 parameter 2. + * @return new array. + */ + protected static Object[] toArray(final Object param1, + final Object param2) { + return new Object[]{ + param1, param2 + }; + } + + /** + * Create new array. + * + * @param param1 parameter 1. + * @param param2 parameter 2. + * @param param3 parameter 3. + * @return new array. + */ + protected static Object[] toArray(final Object param1, + final Object param2, + final Object param3) { + return new Object[]{ + param1, param2, param3 + }; + } + + /** + * Create new array. + * + * @param param1 parameter 1. + * @param param2 parameter 2. + * @param param3 parameter 3. + * @param param4 parameter 4. + * @return new array. + */ + protected static Object[] toArray(final Object param1, + final Object param2, + final Object param3, + final Object param4) { + return new Object[]{ + param1, param2, param3, param4 + }; + } + + /** + * Log an entering message at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + */ + public static void entering(final Logger logger, + final String sourceClass, + final String sourceMethod) { + if (logger.isDebugEnabled()) { + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + sourceClass + "." + sourceMethod + " ENTRY", null)); + } + } + + /** + * Log an entering message with a parameter at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param param parameter, may be null. + */ + public static void entering(final Logger logger, + final String sourceClass, + final String sourceMethod, + final String param) { + if (logger.isDebugEnabled()) { + String msg = sourceClass + "." + sourceMethod + " ENTRY " + param; + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + msg, null)); + } + } + + /** + * Log an entering message with a parameter at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param param parameter, may be null. + */ + public static void entering(final Logger logger, + final String sourceClass, + final String sourceMethod, + final Object param) { + if (logger.isDebugEnabled()) { + String msg = sourceClass + "." + sourceMethod + " ENTRY "; + if (param == null) { + msg += "null"; + } else { + try { + msg += param; + } catch(Throwable ex) { + msg += "?"; + } + } + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + msg, null)); + } + } + + /** + * Log an entering message with an array of parameters at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param params parameters, may be null. + */ + public static void entering(final Logger logger, + final String sourceClass, + final String sourceMethod, + final Object[] params) { + if (logger.isDebugEnabled()) { + String msg = sourceClass + "." + sourceMethod + " ENTRY "; + if (params != null && params.length > 0) { + String delim = "{"; + for (int i = 0; i < params.length; i++) { + try { + msg += delim + params[i]; + } catch(Throwable ex) { + msg += delim + "?"; + } + delim = ","; + } + msg += "}"; + } else { + msg += "{}"; + } + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + msg, null)); + } + } + + /** + * Log an exiting message at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + */ + public static void exiting(final Logger logger, + final String sourceClass, + final String sourceMethod) { + if (logger.isDebugEnabled()) { + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + sourceClass + "." + sourceMethod + " RETURN", null)); + } + } + + /** + * Log an exiting message with result at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param result result, may be null. + */ + public static void exiting( + final Logger logger, + final String sourceClass, + final String sourceMethod, + final String result) { + if (logger.isDebugEnabled()) { + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + sourceClass + "." + sourceMethod + " RETURN " + result, null)); + } + } + + /** + * Log an exiting message with result at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param result result, may be null. + */ + public static void exiting( + final Logger logger, + final String sourceClass, + final String sourceMethod, + final Object result) { + if (logger.isDebugEnabled()) { + String msg = sourceClass + "." + sourceMethod + " RETURN "; + if (result == null) { + msg += "null"; + } else { + try { + msg += result; + } catch(Throwable ex) { + msg += "?"; + } + } + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + msg, null)); + } + } + + /** + * Logs a throwing message at DEBUG level. + * + * @param logger logger, may not be null. + * @param sourceClass source class, may be null. + * @param sourceMethod method, may be null. + * @param thrown throwable, may be null. + */ + public static void throwing( + final Logger logger, + final String sourceClass, + final String sourceMethod, + final Throwable thrown) { + if (logger.isDebugEnabled()) { + logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, + sourceClass + "." + sourceMethod + " THROW", thrown)); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/extras/DOMConfigurator.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/DOMConfigurator.java similarity index 98% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/extras/DOMConfigurator.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/DOMConfigurator.java index f9966db39a0..0126ef9fb3f 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/extras/DOMConfigurator.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/DOMConfigurator.java @@ -150,9 +150,11 @@ public class DOMConfigurator implements Configurator { LogLog.error("No appender named ["+appenderName+"] could be found."); return null; } else { - appender = parseAppender(element); - appenderBag.put(appenderName, appender); - return appender; + appender = parseAppender(element); + if (appender != null) { + appenderBag.put(appenderName, appender); + } + return appender; } } } @@ -669,7 +671,14 @@ public class DOMConfigurator implements Configurator { void doConfigure(final URL url, LoggerRepository repository) { ParseAction action = new ParseAction() { public Document parse(final DocumentBuilder parser) throws SAXException, IOException { - return parser.parse(url.toString()); + InputStream stream = url.openStream(); + try { + InputSource src = new InputSource(stream); + src.setSystemId(url.toString()); + return parser.parse(src); + } finally { + stream.close(); + } } public String toString() { return "url [" + url.toString() + "]"; @@ -842,10 +851,9 @@ public class DOMConfigurator implements Configurator { // String resetAttrib = subst(element.getAttribute(RESET_ATTR)); LogLog.debug("reset attribute= \"" + resetAttrib +"\"."); - if(!("".equals(resetAttrib))) { - if (OptionConverter.toBoolean(resetAttrib, false)) { - repository.resetConfiguration(); - } + if(!("".equals(resetAttrib)) && + OptionConverter.toBoolean(resetAttrib, false)) { + repository.resetConfiguration(); } diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/SoundAppender.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/SoundAppender.java new file mode 100644 index 00000000000..177bb30234f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/SoundAppender.java @@ -0,0 +1,116 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.extras; + +import java.applet.Applet; +import java.applet.AudioClip; +import java.net.MalformedURLException; +import java.net.URL; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.helpers.LogLog; + +/** + * This class is equivalent to org.apache.log4j.varia.SoundAppender + * except for a package change to aid in use with OSGi. + * + * Plays a sound clip created using Applet.newAudioClip when an event is received. + * + * If the audio format is not supported, a message stating the SoundAppender could + * not be initialized is logged. + * + * Use a filter in combination with this appender to control when the appender is + * triggered. + * + * For example, in the appender definition, include a LevelMatchFilter configured + * to accept WARN or greater, followed by a DenyAllFilter. + * + * @author Scott Deboy + * + */ +public final class SoundAppender extends AppenderSkeleton { + + private AudioClip clip; + private String audioURL; + + public SoundAppender() { + } + + /** + * Attempt to initialize the appender by creating a reference to an AudioClip. + * + * Will log a message if format is not supported, file not found, etc. + * + */ + public void activateOptions() { + /* + * AudioSystem.getAudioInputStream requires jdk 1.3, + * so we use applet.newaudioclip instead + * + */ + try { + clip = Applet.newAudioClip(new URL(audioURL)); + } catch (MalformedURLException mue) { + LogLog.error("unable to initialize SoundAppender", mue);} + if (clip == null) { + LogLog.error("Unable to initialize SoundAppender"); + } + } + + /** + * Accessor + * + * @return audio file + */ + public String getAudioURL() { + return audioURL; + } + + /** + * Mutator - common format for a file-based url: + * file:///c:/path/someaudioclip.wav + * + * @param audioURL + */ + public void setAudioURL(String audioURL) { + this.audioURL = audioURL; + } + + /** + * Play the sound if an event is being processed + */ + protected void append(LoggingEvent event) { + if (clip != null) { + clip.play(); + } + } + + public void close() { + //nothing to do + } + + /** + * Gets whether appender requires a layout. + * @return false + */ + public boolean requiresLayout() { + return false; + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/UtilLoggingLevel.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/UtilLoggingLevel.java new file mode 100644 index 00000000000..d5025879599 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/UtilLoggingLevel.java @@ -0,0 +1,240 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.extras; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Level; + +/** + * This class is identical to org.apache.log4j.helpers.UtilLoggingLevel + * except for a package change to aid in use with OSGi. + * + * An extension of the Level class that provides support for java.util.logging + * Levels. + * + * @author Scott Deboy (sdeboy@apache.org) + */ + +public class UtilLoggingLevel extends Level { + + /** + * Serialization version id. + */ + private static final long serialVersionUID = 909301162611820211L; + + /** + * Numerical value for SEVERE. + */ + public static final int SEVERE_INT = 17000; + /** + * Numerical value for WARNING. + */ + public static final int WARNING_INT = 16000; + /** + * Numerical value for INFO. + */ + public static final int INFO_INT = 15000; + /** + * Numerical value for CONFIG. + */ + public static final int CONFIG_INT = 14000; + /** + * Numerical value for FINE. + */ + public static final int FINE_INT = 13000; + /** + * Numerical value for FINER. + */ + public static final int FINER_INT = 12000; + /** + * Numerical value for FINEST. + */ + public static final int FINEST_INT = 11000; + /** + * Numerical value for UNKNOWN. + */ + public static final int UNKNOWN_INT = 10000; + + /** + * SEVERE. + */ + public static final UtilLoggingLevel SEVERE = + new UtilLoggingLevel(SEVERE_INT, "SEVERE", 0); + /** + * WARNING. + */ + public static final UtilLoggingLevel WARNING = + new UtilLoggingLevel(WARNING_INT, "WARNING", 4); + /** + * INFO. + */ + public static final UtilLoggingLevel INFO = + new UtilLoggingLevel(INFO_INT, "INFO", 5); + /** + * CONFIG. + */ + public static final UtilLoggingLevel CONFIG = + new UtilLoggingLevel(CONFIG_INT, "CONFIG", 6); + /** + * FINE. + */ + public static final UtilLoggingLevel FINE = + new UtilLoggingLevel(FINE_INT, "FINE", 7); + /** + * FINER. + */ + public static final UtilLoggingLevel FINER = + new UtilLoggingLevel(FINER_INT, "FINER", 8); + /** + * FINEST. + */ + public static final UtilLoggingLevel FINEST = + new UtilLoggingLevel(FINEST_INT, "FINEST", 9); + + /** + * Create new instance. + * @param level numeric value for level. + * @param levelStr symbolic name for level. + * @param syslogEquivalent Equivalent syslog severity. + */ + protected UtilLoggingLevel(final int level, + final String levelStr, + final int syslogEquivalent) { + super(level, levelStr, syslogEquivalent); + } + + /** + * Convert an integer passed as argument to a level. If the + * conversion fails, then this method returns the specified default. + * @param val numeric value. + * @param defaultLevel level to be returned if no level matches + * numeric value. + * @return matching level or default level. + */ + public static UtilLoggingLevel toLevel(final int val, + final UtilLoggingLevel defaultLevel) { + switch (val) { + case SEVERE_INT: + return SEVERE; + + case WARNING_INT: + return WARNING; + + case INFO_INT: + return INFO; + + case CONFIG_INT: + return CONFIG; + + case FINE_INT: + return FINE; + + case FINER_INT: + return FINER; + + case FINEST_INT: + return FINEST; + + default: + return defaultLevel; + } + } + + /** + * Gets level matching numeric value. + * @param val numeric value. + * @return matching level or UtilLoggerLevel.FINEST if no match. + */ + public static Level toLevel(final int val) { + return toLevel(val, FINEST); + } + + /** + * Gets list of supported levels. + * @return list of supported levels. + */ + public static List getAllPossibleLevels() { + ArrayList list = new ArrayList(); + list.add(FINE); + list.add(FINER); + list.add(FINEST); + list.add(INFO); + list.add(CONFIG); + list.add(WARNING); + list.add(SEVERE); + return list; + } + + /** + * Get level with specified symbolic name. + * @param s symbolic name. + * @return matching level or Level.DEBUG if no match. + */ + public static Level toLevel(final String s) { + return toLevel(s, Level.DEBUG); + } + + + /** + * Get level with specified symbolic name. + * @param sArg symbolic name. + * @param defaultLevel level to return if no match. + * @return matching level or defaultLevel if no match. + */ + public static Level toLevel(final String sArg, + final Level defaultLevel) { + if (sArg == null) { + return defaultLevel; + } + + String s = sArg.toUpperCase(); + + if (s.equals("SEVERE")) { + return SEVERE; + } + + //if(s.equals("FINE")) return Level.FINE; + if (s.equals("WARNING")) { + return WARNING; + } + + if (s.equals("INFO")) { + return INFO; + } + + if (s.equals("CONFI")) { + return CONFIG; + } + + if (s.equals("FINE")) { + return FINE; + } + + if (s.equals("FINER")) { + return FINER; + } + + if (s.equals("FINEST")) { + return FINEST; + } + return defaultLevel; + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/XSLTLayout.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/XSLTLayout.java new file mode 100644 index 00000000000..7ac80244dee --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/extras/XSLTLayout.java @@ -0,0 +1,492 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.extras; +import org.apache.log4j.Layout; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.helpers.MDCKeySetExtractor; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.LocationInfo; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; + +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.Templates; +import javax.xml.transform.Transformer; +import javax.xml.transform.sax.TransformerHandler; +import javax.xml.transform.sax.SAXTransformerFactory; +import javax.xml.transform.stream.StreamSource; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.dom.DOMSource; +import javax.xml.parsers.DocumentBuilderFactory; +import java.io.InputStream; +import java.io.ByteArrayOutputStream; +import java.io.ByteArrayInputStream; +import java.util.Set; +import java.util.Properties; +import java.util.Arrays; +import java.util.TimeZone; +import java.nio.charset.Charset; +import java.nio.ByteBuffer; +import org.apache.log4j.pattern.CachedDateFormat; +import java.text.SimpleDateFormat; + +import org.w3c.dom.Document; + +import org.xml.sax.helpers.AttributesImpl; + + +/** + * This class is identical to org.apache.log4j.xml.XSLTLayout + * except for a change in package to aid in use with OSGi. + * + * + * XSLTLayout transforms each event as a document using + * a specified or default XSLT transform. The default + * XSLT transform produces a result similar to XMLLayout. + * + * When used with a FileAppender or similar, the transformation of + * an event will be appended to the results for previous + * transforms. If each transform results in an XML element, then + * resulting file will only be an XML entity + * since an XML document requires one and only one top-level element. + * To process the entity, reference it in a XML document like so: + * + * <pre> + * &lt;!DOCTYPE log4j:eventSet [&lt;!ENTITY data SYSTEM &quot;data.xml&quot;&gt;]&gt; + * + * &lt;log4j:eventSet xmlns:log4j=&quot;http://jakarta.apache.org/log4j/&quot;&gt; + * &amp;data + * &lt;/log4j:eventSet&gt; + * + * </pre> + * + * The layout will detect the encoding and media-type specified in + * the transform. If no encoding is specified in the transform, + * an xsl:output element specifying the US-ASCII encoding will be inserted + * before processing the transform. If an encoding is specified in the transform, + * the same encoding should be explicitly specified for the appender. + * + * Extracting MDC values can be expensive when used with log4j releases + * prior to 1.2.15. Output of MDC values is enabled by default + * but be suppressed by setting properties to false. + * + * Extracting location info can be expensive regardless of log4j version. + * Output of location info is disabled by default but can be enabled + * by setting locationInfo to true. + * + * Embedded transforms in XML configuration should not + * depend on namespace prefixes defined earlier in the document + * as namespace aware parsing in not generally performed when + * using DOMConfigurator. The transform will serialize + * and reparse to get the namespace aware document needed. + * + */ +public final class XSLTLayout extends Layout + implements org.apache.log4j.xml.UnrecognizedElementHandler { + /** + * Namespace for XSLT. + */ + private static final String XSLT_NS = "http://www.w3.org/1999/XSL/Transform"; + /** + * Namespace for log4j events. + */ + private static final String LOG4J_NS = "http://jakarta.apache.org/log4j/"; + /** + * Whether location information should be written. + */ + private boolean locationInfo = false; + /** + * media-type (mime type) extracted from XSLT transform. + */ + private String mediaType = "text/plain"; + /** + * Encoding extracted from XSLT transform. + */ + private Charset encoding; + /** + * Transformer factory. + */ + private SAXTransformerFactory transformerFactory; + /** + * XSLT templates. + */ + private Templates templates; + /** + * Output stream. + */ + private final ByteArrayOutputStream outputStream; + /** + * Whether throwable information should be ignored. + */ + private boolean ignoresThrowable = false; + /** + * Whether properties should be extracted. + */ + private boolean properties = true; + /** + * Whether activateOptions has been called. + */ + private boolean activated = false; + + /** + * DateFormat for UTC time. + */ + private final CachedDateFormat utcDateFormat; + + /** + * Default constructor. + * + */ + public XSLTLayout() { + outputStream = new ByteArrayOutputStream(); + transformerFactory = (SAXTransformerFactory) + TransformerFactory.newInstance(); + + SimpleDateFormat zdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); + zdf.setTimeZone(TimeZone.getTimeZone("UTC")); + utcDateFormat = new CachedDateFormat(zdf, 1000); + } + + /** + * {@inheritDoc} + */ + public synchronized String getContentType() { + return mediaType; + } + + /** + * The <b>LocationInfo </b> option takes a boolean value. By default, it is + * set to false which means there will be no location information output by + * this layout. If the the option is set to true, then the file name and line + * number of the statement at the origin of the log statement will be output. + * + * <p> + * If you are embedding this layout within an {@link + * org.apache.log4j.net.SMTPAppender} then make sure to set the + * <b>LocationInfo </b> option of that appender as well. + * + * @param flag new value. + */ + public synchronized void setLocationInfo(final boolean flag) { + locationInfo = flag; + } + + /** + * Gets whether location info should be output. + * @return if location is output. + */ + public synchronized boolean getLocationInfo() { + return locationInfo; + } + + /** + * Sets whether MDC key-value pairs should be output, default false. + * @param flag new value. + */ + public synchronized void setProperties(final boolean flag) { + properties = flag; + } + + /** + * Gets whether MDC key-value pairs should be output. + * @return true if MDC key-value pairs are output. + */ + public synchronized boolean getProperties() { + return properties; + } + + + /** {@inheritDoc} */ + public synchronized void activateOptions() { + if (templates == null) { + try { + InputStream is = XSLTLayout.class.getResourceAsStream("default.xslt"); + StreamSource ss = new StreamSource(is); + templates = transformerFactory.newTemplates(ss); + encoding = Charset.forName("US-ASCII"); + mediaType = "text/plain"; + } catch (Exception ex) { + LogLog.error("Error loading default.xslt", ex); + } + } + activated = true; + } + + /** + * Gets whether throwables should not be output. + * @return true if throwables should not be output. + */ + public synchronized boolean ignoresThrowable() { + return ignoresThrowable; + } + + /** + * Sets whether throwables should not be output. + * @param ignoresThrowable if true, throwables should not be output. + */ + public synchronized void setIgnoresThrowable(boolean ignoresThrowable) { + this.ignoresThrowable = ignoresThrowable; + } + + + + /** + * {@inheritDoc} + */ + public synchronized String format(final LoggingEvent event) { + if (!activated) { + activateOptions(); + } + if (templates != null && encoding != null) { + outputStream.reset(); + + try { + TransformerHandler transformer = + transformerFactory.newTransformerHandler(templates); + + transformer.setResult(new StreamResult(outputStream)); + transformer.startDocument(); + + // + // event element + // + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute(null, "logger", "logger", + "CDATA", event.getLoggerName()); + attrs.addAttribute(null, "timestamp", "timestamp", + "CDATA", Long.toString(event.timeStamp)); + attrs.addAttribute(null, "level", "level", + "CDATA", event.getLevel().toString()); + attrs.addAttribute(null, "thread", "thread", + "CDATA", event.getThreadName()); + StringBuffer buf = new StringBuffer(); + utcDateFormat.format(event.timeStamp, buf); + attrs.addAttribute(null, "time", "time", "CDATA", buf.toString()); + + + transformer.startElement(LOG4J_NS, "event", "event", attrs); + attrs.clear(); + + // + // message element + // + transformer.startElement(LOG4J_NS, "message", "message", attrs); + String msg = event.getRenderedMessage(); + if (msg != null && msg.length() > 0) { + transformer.characters(msg.toCharArray(), 0, msg.length()); + } + transformer.endElement(LOG4J_NS, "message", "message"); + + // + // NDC element + // + String ndc = event.getNDC(); + if (ndc != null) { + transformer.startElement(LOG4J_NS, "NDC", "NDC", attrs); + char[] ndcChars = ndc.toCharArray(); + transformer.characters(ndcChars, 0, ndcChars.length); + transformer.endElement(LOG4J_NS, "NDC", "NDC"); + } + + // + // throwable element unless suppressed + // + if (!ignoresThrowable) { + String[] s = event.getThrowableStrRep(); + if (s != null) { + transformer.startElement(LOG4J_NS, "throwable", + "throwable", attrs); + char[] nl = new char[] { '\n' }; + for (int i = 0; i < s.length; i++) { + char[] line = s[i].toCharArray(); + transformer.characters(line, 0, line.length); + transformer.characters(nl, 0, nl.length); + } + transformer.endElement(LOG4J_NS, "throwable", "throwable"); + } + } + + // + // location info unless suppressed + // + // + if (locationInfo) { + LocationInfo locationInfo = event.getLocationInformation(); + attrs.addAttribute(null, "class", "class", "CDATA", + locationInfo.getClassName()); + attrs.addAttribute(null, "method", "method", "CDATA", + locationInfo.getMethodName()); + attrs.addAttribute(null, "file", "file", "CDATA", + locationInfo.getFileName()); + attrs.addAttribute(null, "line", "line", "CDATA", + locationInfo.getLineNumber()); + transformer.startElement(LOG4J_NS, "locationInfo", + "locationInfo", attrs); + transformer.endElement(LOG4J_NS, "locationInfo", + "locationInfo"); + } + + if (properties) { + // + // write MDC contents out as properties element + // + Set mdcKeySet = MDCKeySetExtractor.INSTANCE.getPropertyKeySet(event); + + if ((mdcKeySet != null) && (mdcKeySet.size() > 0)) { + attrs.clear(); + transformer.startElement(LOG4J_NS, + "properties", "properties", attrs); + Object[] keys = mdcKeySet.toArray(); + Arrays.sort(keys); + for (int i = 0; i < keys.length; i++) { + String key = keys[i].toString(); + Object val = event.getMDC(key); + attrs.clear(); + attrs.addAttribute(null, "name", "name", "CDATA", key); + attrs.addAttribute(null, "value", "value", + "CDATA", val.toString()); + transformer.startElement(LOG4J_NS, + "data", "data", attrs); + transformer.endElement(LOG4J_NS, "data", "data"); + } + } + } + + + transformer.endElement(LOG4J_NS, "event", "event"); + transformer.endDocument(); + + String body = encoding.decode( + ByteBuffer.wrap(outputStream.toByteArray())).toString(); + outputStream.reset(); + // + // must remove XML declaration since it may + // result in erroneous encoding info + // if written by FileAppender in a different encoding + if (body.startsWith("<?xml ")) { + int endDecl = body.indexOf("?>"); + if (endDecl != -1) { + for(endDecl += 2; + endDecl < body.length() && + (body.charAt(endDecl) == '\n' || body.charAt(endDecl) == '\r'); + endDecl++); + return body.substring(endDecl); + } + } + return body; + } catch (Exception ex) { + LogLog.error("Error during transformation", ex); + return ex.toString(); + } + } + return "No valid transform or encoding specified."; + } + + /** + * Sets XSLT transform. + * @param xsltdoc DOM document containing XSLT transform source, + * may be modified. + * @throws TransformerConfigurationException if transformer can not be + * created. + */ + public void setTransform(final Document xsltdoc) + throws TransformerConfigurationException { + // + // scan transform source for xsl:output elements + // and extract encoding, media (mime) type and output method + // + String encodingName = null; + mediaType = null; + String method = null; + NodeList nodes = xsltdoc.getElementsByTagNameNS( + XSLT_NS, + "output"); + for(int i = 0; i < nodes.getLength(); i++) { + Element outputElement = (Element) nodes.item(i); + if (method == null || method.length() == 0) { + method = outputElement.getAttributeNS(null, "method"); + } + if (encodingName == null || encodingName.length() == 0) { + encodingName = outputElement.getAttributeNS(null, "encoding"); + } + if (mediaType == null || mediaType.length() == 0) { + mediaType = outputElement.getAttributeNS(null, "media-type"); + } + } + + if (mediaType == null || mediaType.length() == 0) { + if ("html".equals(method)) { + mediaType = "text/html"; + } else if ("xml".equals(method)) { + mediaType = "text/xml"; + } else { + mediaType = "text/plain"; + } + } + + // + // if encoding was not specified, + // add xsl:output encoding=US-ASCII to XSLT source + // + if (encodingName == null || encodingName.length() == 0) { + Element transformElement = xsltdoc.getDocumentElement(); + Element outputElement = xsltdoc. + createElementNS(XSLT_NS, "output"); + outputElement.setAttributeNS(null, "encoding", "US-ASCII"); + transformElement.insertBefore(outputElement, transformElement.getFirstChild()); + encoding = Charset.forName("US-ASCII"); + } else { + encoding = Charset.forName(encodingName); + } + + DOMSource transformSource = new DOMSource(xsltdoc); + + templates = transformerFactory.newTemplates(transformSource); + + } + + /** + * {@inheritDoc} + */ + public boolean parseUnrecognizedElement(final Element element, + final Properties props) + throws Exception { + if (XSLT_NS.equals(element.getNamespaceURI()) || + element.getNodeName().indexOf("transform") != -1 || + element.getNodeName().indexOf("stylesheet") != -1) { + // + // DOMConfigurator typically not namespace aware + // serialize tree and reparse. + ByteArrayOutputStream os = new ByteArrayOutputStream(); + DOMSource source = new DOMSource(element); + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + transformer.transform(source, new StreamResult(os)); + + ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); + DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); + domFactory.setNamespaceAware(true); + Document xsltdoc = domFactory.newDocumentBuilder().parse(is); + setTransform(xsltdoc); + return true; + } + return false; + } + + +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/AndFilter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/AndFilter.java similarity index 99% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/AndFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/AndFilter.java index daba80911f4..df32f07a81e 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/AndFilter.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/AndFilter.java @@ -81,7 +81,6 @@ public class AndFilter extends Filter implements UnrecognizedElementHandler { } public void addFilter(final Filter filter) { - System.out.println("add"+filter); if (headFilter == null) { headFilter = filter; tailFilter = filter; diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/DenyAllFilter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/DenyAllFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/DenyAllFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/DenyAllFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/ExpressionFilter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/ExpressionFilter.java similarity index 98% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/ExpressionFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/ExpressionFilter.java index b0073d0ecc3..13043b54629 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/ExpressionFilter.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/ExpressionFilter.java @@ -150,7 +150,7 @@ public class ExpressionFilter extends Filter { * @return {@link Filter#NEUTRAL} is there is no string match. */ public int decide(final LoggingEvent event) { - if (expressionRule.evaluate(event)) { + if (expressionRule.evaluate(event, null)) { if (acceptOnMatch) { return Filter.ACCEPT; } else { diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/LevelMatchFilter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/LevelMatchFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/LevelMatchFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/LevelMatchFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/LevelRangeFilter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/LevelRangeFilter.java similarity index 98% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/LevelRangeFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/LevelRangeFilter.java index f3f18e34ac0..420078b2113 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/LevelRangeFilter.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/LevelRangeFilter.java @@ -35,7 +35,7 @@ import org.apache.log4j.spi.LoggingEvent; <b>AcceptOnMatch</b> is true, {@link org.apache.log4j.spi.Filter#ACCEPT} is returned, and if <b>AcceptOnMatch</b> is false, {@link org.apache.log4j.spi.Filter#NEUTRAL} is returned. - <p>If <code>LevelMin</code>w is not defined, then there is no + <p>If <code>LevelMin</code> is not defined, then there is no minimum acceptable level (ie a level is never rejected for being too "low"/unimportant). If <code>LevelMax</code> is not defined, then there is no maximum acceptable level (ie a diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/LocationInfoFilter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/LocationInfoFilter.java similarity index 98% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/LocationInfoFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/LocationInfoFilter.java index 6eaa9ae0f42..7591a98ba34 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/LocationInfoFilter.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/LocationInfoFilter.java @@ -104,7 +104,7 @@ public class LocationInfoFilter extends Filter { * @return Filter.NEUTRAL. */ public int decide(final LoggingEvent event) { - if (expressionRule.evaluate(event)) { + if (expressionRule.evaluate(event, null)) { event.getLocationInformation(); } return Filter.NEUTRAL; diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/LoggerMatchFilter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/LoggerMatchFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/LoggerMatchFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/LoggerMatchFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/StringMatchFilter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/StringMatchFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/StringMatchFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/StringMatchFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/TimeFilter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/TimeFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/filter/TimeFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/filter/TimeFilter.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java new file mode 100644 index 00000000000..2d2a53905ae --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/helpers/MDCKeySetExtractor.java @@ -0,0 +1,92 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.helpers; + +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.pattern.LogEvent; + +import java.lang.reflect.Method; +import java.util.Set; +import java.io.ByteArrayOutputStream; +import java.io.ObjectOutputStream; +import java.io.ByteArrayInputStream; +import java.io.ObjectInputStream; + + +public final class MDCKeySetExtractor { + private final Method getKeySetMethod; + public static final MDCKeySetExtractor INSTANCE = + new MDCKeySetExtractor(); + + + private MDCKeySetExtractor() { + // + // log4j 1.2.15 and later will have method to get names + // of all keys in MDC + // + Method getMethod = null; + + try { + getMethod = LoggingEvent.class.getMethod( + "getPropertyKeySet", null); + } catch(Exception ex) { + getMethod = null; + } + getKeySetMethod = getMethod; + + } + + public Set getPropertyKeySet(final LoggingEvent event) throws Exception { + // + // MDC keys are not visible prior to log4j 1.2.15 + // + Set keySet = null; + if (getKeySetMethod != null) { + keySet = (Set) getKeySetMethod.invoke(event, null); + } else { + // + // for 1.2.14 and earlier could serialize and + // extract MDC content + ByteArrayOutputStream outBytes = new ByteArrayOutputStream(); + ObjectOutputStream os = new ObjectOutputStream(outBytes); + os.writeObject(event); + os.close(); + + byte[] raw = outBytes.toByteArray(); + // + // bytes 6 and 7 should be the length of the original classname + // should be the same as our substitute class name + final String subClassName = LogEvent.class.getName(); + if (raw[6] == 0 || raw[7] == subClassName.length()) { + // + // manipulate stream to use our class name + // + for (int i = 0; i < subClassName.length(); i++) { + raw[8 + i] = (byte) subClassName.charAt(i); + } + ByteArrayInputStream inBytes = new ByteArrayInputStream(raw); + ObjectInputStream is = new ObjectInputStream(inBytes); + Object cracked = is.readObject(); + if (cracked instanceof LogEvent) { + keySet = ((LogEvent) cracked).getPropertyKeySet(); + } + is.close(); + } + } + return keySet; + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/helpers/UtilLoggingLevel.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/helpers/UtilLoggingLevel.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/helpers/UtilLoggingLevel.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/helpers/UtilLoggingLevel.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java new file mode 100644 index 00000000000..96068d52a69 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + + +/** + * The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter + * contract by delegating to the log4j 1.3 pattern implementation. + * + * + * @author Curt Arnold + * + */ +public final class BridgePatternConverter + extends org.apache.log4j.helpers.PatternConverter { + /** + * Pattern converters. + */ + private LoggingEventPatternConverter[] patternConverters; + + /** + * Field widths and alignment corresponding to pattern converters. + */ + private FormattingInfo[] patternFields; + + /** + * Does pattern process exceptions. + */ + private boolean handlesExceptions; + + /** + * Create a new instance. + * @param pattern pattern, may not be null. + */ + public BridgePatternConverter( + final String pattern) { + next = null; + handlesExceptions = false; + + List converters = new ArrayList(); + List fields = new ArrayList(); + Map converterRegistry = null; + + PatternParser.parse( + pattern, converters, fields, converterRegistry, + PatternParser.getPatternLayoutRules()); + + patternConverters = new LoggingEventPatternConverter[converters.size()]; + patternFields = new FormattingInfo[converters.size()]; + + int i = 0; + Iterator converterIter = converters.iterator(); + Iterator fieldIter = fields.iterator(); + + while (converterIter.hasNext()) { + Object converter = converterIter.next(); + + if (converter instanceof LoggingEventPatternConverter) { + patternConverters[i] = (LoggingEventPatternConverter) converter; + handlesExceptions |= patternConverters[i].handlesThrowable(); + } else { + patternConverters[i] = + new org.apache.log4j.pattern.LiteralPatternConverter(""); + } + + if (fieldIter.hasNext()) { + patternFields[i] = (FormattingInfo) fieldIter.next(); + } else { + patternFields[i] = FormattingInfo.getDefault(); + } + + i++; + } + } + + /** + * {@inheritDoc} + */ + protected String convert(final LoggingEvent event) { + // + // code should be unreachable. + // + StringBuffer sbuf = new StringBuffer(); + format(sbuf, event); + + return sbuf.toString(); + } + + /** + Format event to string buffer. + @param sbuf string buffer to receive formatted event, may not be null. + @param e event to format, may not be null. + */ + public void format(final StringBuffer sbuf, final LoggingEvent e) { + for (int i = 0; i < patternConverters.length; i++) { + int startField = sbuf.length(); + patternConverters[i].format(e, sbuf); + patternFields[i].format(startField, sbuf); + } + } + + /** + * Will return false if any of the conversion specifiers in the pattern + * handles {@link Exception Exceptions}. + * @return true if the pattern formats any information from exceptions. + */ + public boolean ignoresThrowable() { + return !handlesExceptions; + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java new file mode 100644 index 00000000000..1c0d4e72381 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +/** + * The class implements the pre log4j 1.3 org.apache.log4j.helpers.PatternConverter + * contract by delegating to the log4j 1.3 pattern implementation. + * + * + * @author Curt Arnold + * + */ +public final class BridgePatternParser + extends org.apache.log4j.helpers.PatternParser { + + + /** + * Create a new instance. + * @param conversionPattern pattern, may not be null. + */ + public BridgePatternParser( + final String conversionPattern) { + super(conversionPattern); + } + + /** + * Create new pattern converter. + * @return pattern converter. + */ + public org.apache.log4j.helpers.PatternConverter parse() { + return new BridgePatternConverter(pattern); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java new file mode 100644 index 00000000000..9a468aa4c07 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/CachedDateFormat.java @@ -0,0 +1,372 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import java.text.DateFormat; +import java.text.FieldPosition; +import java.text.NumberFormat; +import java.text.ParsePosition; +import java.util.Date; +import java.util.TimeZone; + + +/** + * CachedDateFormat optimizes the performance of a wrapped + * DateFormat. The implementation is not thread-safe. + * If the millisecond pattern is not recognized, + * the class will only use the cache if the + * same value is requested. + * + */ +public final class CachedDateFormat extends DateFormat { + /** + * Serialization version. + */ + private static final long serialVersionUID = 1; + /** + * Constant used to represent that there was no change + * observed when changing the millisecond count. + */ + public static final int NO_MILLISECONDS = -2; + + /** + * Supported digit set. If the wrapped DateFormat uses + * a different unit set, the millisecond pattern + * will not be recognized and duplicate requests + * will use the cache. + */ + private static final String DIGITS = "0123456789"; + + /** + * Constant used to represent that there was an + * observed change, but was an expected change. + */ + public static final int UNRECOGNIZED_MILLISECONDS = -1; + + /** + * First magic number used to detect the millisecond position. + */ + private static final int MAGIC1 = 654; + + /** + * Expected representation of first magic number. + */ + private static final String MAGICSTRING1 = "654"; + + /** + * Second magic number used to detect the millisecond position. + */ + private static final int MAGIC2 = 987; + + /** + * Expected representation of second magic number. + */ + private static final String MAGICSTRING2 = "987"; + + /** + * Expected representation of 0 milliseconds. + */ + private static final String ZERO_STRING = "000"; + + /** + * Wrapped formatter. + */ + private final DateFormat formatter; + + /** + * Index of initial digit of millisecond pattern or + * UNRECOGNIZED_MILLISECONDS or NO_MILLISECONDS. + */ + private int millisecondStart; + + /** + * Integral second preceding the previous convered Date. + */ + private long slotBegin; + + /** + * Cache of previous conversion. + */ + private StringBuffer cache = new StringBuffer(50); + + /** + * Maximum validity period for the cache. + * Typically 1, use cache for duplicate requests only, or + * 1000, use cache for requests within the same integral second. + */ + private final int expiration; + + /** + * Date requested in previous conversion. + */ + private long previousTime; + + /** + * Scratch date object used to minimize date object creation. + */ + private final Date tmpDate = new Date(0); + + /** + * Creates a new CachedDateFormat object. + * @param dateFormat Date format, may not be null. + * @param expiration maximum cached range in milliseconds. + * If the dateFormat is known to be incompatible with the + * caching algorithm, use a value of 0 to totally disable + * caching or 1 to only use cache for duplicate requests. + */ + public CachedDateFormat(final DateFormat dateFormat, final int expiration) { + if (dateFormat == null) { + throw new IllegalArgumentException("dateFormat cannot be null"); + } + + if (expiration < 0) { + throw new IllegalArgumentException("expiration must be non-negative"); + } + + formatter = dateFormat; + this.expiration = expiration; + millisecondStart = 0; + + // + // set the previousTime so the cache will be invalid + // for the next request. + previousTime = Long.MIN_VALUE; + slotBegin = Long.MIN_VALUE; + } + + /** + * Finds start of millisecond field in formatted time. + * @param time long time, must be integral number of seconds + * @param formatted String corresponding formatted string + * @param formatter DateFormat date format + * @return int position in string of first digit of milliseconds, + * -1 indicates no millisecond field, -2 indicates unrecognized + * field (likely RelativeTimeDateFormat) + */ + public static int findMillisecondStart( + final long time, final String formatted, final DateFormat formatter) { + long slotBegin = (time / 1000) * 1000; + + if (slotBegin > time) { + slotBegin -= 1000; + } + + int millis = (int) (time - slotBegin); + + int magic = MAGIC1; + String magicString = MAGICSTRING1; + + if (millis == MAGIC1) { + magic = MAGIC2; + magicString = MAGICSTRING2; + } + + String plusMagic = formatter.format(new Date(slotBegin + magic)); + + /** + * If the string lengths differ then + * we can't use the cache except for duplicate requests. + */ + if (plusMagic.length() != formatted.length()) { + return UNRECOGNIZED_MILLISECONDS; + } else { + // find first difference between values + for (int i = 0; i < formatted.length(); i++) { + if (formatted.charAt(i) != plusMagic.charAt(i)) { + // + // determine the expected digits for the base time + StringBuffer formattedMillis = new StringBuffer("ABC"); + millisecondFormat(millis, formattedMillis, 0); + + String plusZero = formatter.format(new Date(slotBegin)); + + // If the next 3 characters match the magic + // string and the expected string + if ( + (plusZero.length() == formatted.length()) + && magicString.regionMatches( + 0, plusMagic, i, magicString.length()) + && formattedMillis.toString().regionMatches( + 0, formatted, i, magicString.length()) + && ZERO_STRING.regionMatches( + 0, plusZero, i, ZERO_STRING.length())) { + return i; + } else { + return UNRECOGNIZED_MILLISECONDS; + } + } + } + } + + return NO_MILLISECONDS; + } + + /** + * Formats a Date into a date/time string. + * + * @param date the date to format. + * @param sbuf the string buffer to write to. + * @param fieldPosition remains untouched. + * @return the formatted time string. + */ + public StringBuffer format( + Date date, StringBuffer sbuf, FieldPosition fieldPosition) { + format(date.getTime(), sbuf); + + return sbuf; + } + + /** + * Formats a millisecond count into a date/time string. + * + * @param now Number of milliseconds after midnight 1 Jan 1970 GMT. + * @param buf the string buffer to write to. + * @return the formatted time string. + */ + public StringBuffer format(long now, StringBuffer buf) { + // + // If the current requested time is identical to the previously + // requested time, then append the cache contents. + // + if (now == previousTime) { + buf.append(cache); + + return buf; + } + + // + // If millisecond pattern was not unrecognized + // (that is if it was found or milliseconds did not appear) + // + if (millisecondStart != UNRECOGNIZED_MILLISECONDS && + // Check if the cache is still valid. + // If the requested time is within the same integral second + // as the last request and a shorter expiration was not requested. + (now < (slotBegin + expiration)) && (now >= slotBegin) + && (now < (slotBegin + 1000L))) { + // + // if there was a millisecond field then update it + // + if (millisecondStart >= 0) { + millisecondFormat((int) (now - slotBegin), cache, millisecondStart); + } + + // + // update the previously requested time + // (the slot begin should be unchanged) + previousTime = now; + buf.append(cache); + + return buf; + } + + // + // could not use previous value. + // Call underlying formatter to format date. + cache.setLength(0); + tmpDate.setTime(now); + cache.append(formatter.format(tmpDate)); + buf.append(cache); + previousTime = now; + slotBegin = (previousTime / 1000) * 1000; + + if (slotBegin > previousTime) { + slotBegin -= 1000; + } + + // + // if the milliseconds field was previous found + // then reevaluate in case it moved. + // + if (millisecondStart >= 0) { + millisecondStart = + findMillisecondStart(now, cache.toString(), formatter); + } + + return buf; + } + + /** + * Formats a count of milliseconds (0-999) into a numeric representation. + * @param millis Millisecond coun between 0 and 999. + * @param buf String buffer, may not be null. + * @param offset Starting position in buffer, the length of the + * buffer must be at least offset + 3. + */ + private static void millisecondFormat( + final int millis, final StringBuffer buf, final int offset) { + buf.setCharAt(offset, DIGITS.charAt(millis / 100)); + buf.setCharAt(offset + 1, DIGITS.charAt((millis / 10) % 10)); + buf.setCharAt(offset + 2, DIGITS.charAt(millis % 10)); + } + + /** + * Set timezone. + * + * Setting the timezone using getCalendar().setTimeZone() + * will likely cause caching to misbehave. + * @param timeZone TimeZone new timezone + */ + public void setTimeZone(final TimeZone timeZone) { + formatter.setTimeZone(timeZone); + previousTime = Long.MIN_VALUE; + slotBegin = Long.MIN_VALUE; + } + + /** + * This method is delegated to the formatter which most + * likely returns null. + * @param s string representation of date. + * @param pos field position, unused. + * @return parsed date, likely null. + */ + public Date parse(String s, ParsePosition pos) { + return formatter.parse(s, pos); + } + + /** + * Gets number formatter. + * + * @return NumberFormat number formatter + */ + public NumberFormat getNumberFormat() { + return formatter.getNumberFormat(); + } + + /** + * Gets maximum cache validity for the specified SimpleDateTime + * conversion pattern. + * @param pattern conversion pattern, may not be null. + * @return Duration in milliseconds from an integral second + * that the cache will return consistent results. + */ + public static int getMaximumCacheValidity(final String pattern) { + // + // If there are more "S" in the pattern than just one "SSS" then + // (for example, "HH:mm:ss,SSS SSS"), then set the expiration to + // one millisecond which should only perform duplicate request caching. + // + int firstS = pattern.indexOf('S'); + + if ((firstS >= 0) && (firstS != pattern.lastIndexOf("SSS"))) { + return 1; + } + + return 1000; + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java new file mode 100644 index 00000000000..7a24916fd46 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Formats the class name of the site of the logging request. + * + * @author Ceki G&uuml;lc&uuml; + */ +public final class ClassNamePatternConverter extends NamePatternConverter { + /** + * Private constructor. + * @param options options, may be null. + */ + private ClassNamePatternConverter( + final String[] options) { + super("Class Name", "class name", options); + } + + /** + * Gets an instance of ClassNamePatternConverter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static ClassNamePatternConverter newInstance( + final String[] options) { + return new ClassNamePatternConverter(options); + } + + /** + * Format a logging event. + * @param event event to format. + * @param toAppendTo string buffer to which class name will be appended. + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + final int initialLength = toAppendTo.length(); + LocationInfo li = event.getLocationInformation(); + + if (li == null) { + toAppendTo.append(LocationInfo.NA); + } else { + toAppendTo.append(li.getClassName()); + } + + abbreviate(initialLength, toAppendTo); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java new file mode 100644 index 00000000000..7162fe7e323 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java @@ -0,0 +1,205 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.spi.LoggingEvent; + +import java.text.SimpleDateFormat; +import java.text.DateFormat; +import java.text.FieldPosition; +import java.text.ParsePosition; +import java.util.Date; +import java.util.TimeZone; + + +/** + * Convert and format the event's date in a StringBuffer. + * + * @author Ceki G&uuml;lc&uuml; + */ +public final class DatePatternConverter extends LoggingEventPatternConverter { + /** + * ABSOLUTE string literal. + */ + private static final String ABSOLUTE_FORMAT = "ABSOLUTE"; + /** + * SimpleTimePattern for ABSOLUTE. + */ + private static final String ABSOLUTE_TIME_PATTERN = "HH:mm:ss,SSS"; + + + /** + * DATE string literal. + */ + private static final String DATE_AND_TIME_FORMAT = "DATE"; + /** + * SimpleTimePattern for DATE. + */ + private static final String DATE_AND_TIME_PATTERN = "dd MMM yyyy HH:mm:ss,SSS"; + + /** + * ISO8601 string literal. + */ + private static final String ISO8601_FORMAT = "ISO8601"; + /** + * SimpleTimePattern for ISO8601. + */ + private static final String ISO8601_PATTERN = "yyyy-MM-dd HH:mm:ss,SSS"; + /** + * Date format. + */ + private final CachedDateFormat df; + + /** + * This class wraps a DateFormat and forces the time zone to the + * default time zone before each format and parse request. + */ + private static class DefaultZoneDateFormat extends DateFormat { + /** + * Serialization version ID. + */ + private static final long serialVersionUID = 1; + /** + * Wrapped instance of DateFormat. + */ + private final DateFormat dateFormat; + + /** + * Construct new instance. + * @param format format, may not be null. + */ + public DefaultZoneDateFormat(final DateFormat format) { + dateFormat = format; + } + + /** + * @{inheritDoc} + */ + public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { + dateFormat.setTimeZone(TimeZone.getDefault()); + return dateFormat.format(date, toAppendTo, fieldPosition); + } + + /** + * @{inheritDoc} + */ + public Date parse(String source, ParsePosition pos) { + dateFormat.setTimeZone(TimeZone.getDefault()); + return dateFormat.parse(source, pos); + } + } + + /** + * Private constructor. + * @param options options, may be null. + */ + private DatePatternConverter(final String[] options) { + super("Date", "date"); + + String patternOption; + + if ((options == null) || (options.length == 0)) { + // the branch could be optimized, but here we are making explicit + // that null values for patternOption are allowed. + patternOption = null; + } else { + patternOption = options[0]; + } + + String pattern; + + if ( + (patternOption == null) + || patternOption.equalsIgnoreCase(ISO8601_FORMAT)) { + pattern = ISO8601_PATTERN; + } else if (patternOption.equalsIgnoreCase(ABSOLUTE_FORMAT)) { + pattern = ABSOLUTE_TIME_PATTERN; + } else if (patternOption.equalsIgnoreCase(DATE_AND_TIME_FORMAT)) { + pattern = DATE_AND_TIME_PATTERN; + } else { + pattern = patternOption; + } + + int maximumCacheValidity = 1000; + DateFormat simpleFormat = null; + + try { + simpleFormat = new SimpleDateFormat(pattern); + maximumCacheValidity = CachedDateFormat.getMaximumCacheValidity(pattern); + } catch (IllegalArgumentException e) { + LogLog.warn( + "Could not instantiate SimpleDateFormat with pattern " + + patternOption, e); + + // default to the ISO8601 format + simpleFormat = new SimpleDateFormat(ISO8601_PATTERN); + } + + // if the option list contains a TZ option, then set it. + if ((options != null) && (options.length > 1)) { + TimeZone tz = TimeZone.getTimeZone((String) options[1]); + simpleFormat.setTimeZone(tz); + } else { + simpleFormat = new DefaultZoneDateFormat(simpleFormat); + } + + df = new CachedDateFormat(simpleFormat, maximumCacheValidity); + } + + /** + * Obtains an instance of pattern converter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static DatePatternConverter newInstance( + final String[] options) { + return new DatePatternConverter(options); + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer output) { + synchronized(this) { + df.format(event.timeStamp, output); + } + } + + /** + * {@inheritDoc} + */ + public void format(final Object obj, final StringBuffer output) { + if (obj instanceof Date) { + format((Date) obj, output); + } + + super.format(obj, output); + } + + /** + * Append formatted date to string buffer. + * @param date date + * @param toAppendTo buffer to which formatted date is appended. + */ + public void format(final Date date, final StringBuffer toAppendTo) { + synchronized(this) { + df.format(date.getTime(), toAppendTo); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java new file mode 100644 index 00000000000..1e08826e7f3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +/** + * Formats an date by delegating to DatePatternConverter. The default + * date pattern for a %d specifier in a file name is different than + * the %d pattern in pattern layout. + * + * @author Curt Arnold + */ +public final class FileDatePatternConverter { + /** + * Private constructor. + */ + private FileDatePatternConverter() { + } + + /** + * Obtains an instance of pattern converter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static PatternConverter newInstance( + final String[] options) { + if ((options == null) || (options.length == 0)) { + return DatePatternConverter.newInstance( + new String[] { + "yyyy-MM-dd" + }); + } + + return DatePatternConverter.newInstance(options); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java new file mode 100644 index 00000000000..14eb31c49a1 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Return the event's line location information in a StringBuffer. + * + * @author Ceki G&uuml;lc&uuml; + */ +public final class FileLocationPatternConverter + extends LoggingEventPatternConverter { + /** + * Singleton. + */ + private static final FileLocationPatternConverter INSTANCE = + new FileLocationPatternConverter(); + + /** + * Private constructor. + */ + private FileLocationPatternConverter() { + super("File Location", "file"); + } + + /** + * Obtains an instance of pattern converter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static FileLocationPatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer output) { + LocationInfo locationInfo = event.getLocationInformation(); + + if (locationInfo != null) { + output.append(locationInfo.getFileName()); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FormattingInfo.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FormattingInfo.java new file mode 100644 index 00000000000..3fb127efc55 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FormattingInfo.java @@ -0,0 +1,176 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + + +/** + * Modifies the output of a pattern converter for a specified minimum + * and maximum width and alignment. + * + * + * @author <a href=mailto:jim_cakalic@na.biomerieux.com>Jim Cakalic</a> + * @author Ceki G&uuml;lc&uuml; + * @author Curt Arnold + * + */ +public final class FormattingInfo { + /** + * Array of spaces. + */ + private static final char[] SPACES = + new char[] { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }; + + /** + * Default instance. + */ + private static final FormattingInfo DEFAULT = + new FormattingInfo(false, 0, Integer.MAX_VALUE); + + /** + * Minimum length. + */ + private final int minLength; + + /** + * Maximum length. + */ + private final int maxLength; + + /** + * Alignment. + */ + private final boolean leftAlign; + + /** + * Right truncation. + * @since 1.2.17 + */ + private final boolean rightTruncate; + + /** + * Creates new instance. + * @param leftAlign left align if true. + * @param minLength minimum length. + * @param maxLength maximum length. + * @deprecated since 1.2.17 + */ + public FormattingInfo( + final boolean leftAlign, + final int minLength, + final int maxLength) { + this.leftAlign = leftAlign; + this.minLength = minLength; + this.maxLength = maxLength; + this.rightTruncate = false; + } + + /** + * Creates new instance. + * @param leftAlign left align if true. + * @param rightTruncate right truncate if true. + * @param minLength minimum length. + * @param maxLength maximum length. + * @since 1.2.17 + */ + public FormattingInfo( + final boolean leftAlign, + final boolean rightTruncate, + final int minLength, + final int maxLength) { + this.leftAlign = leftAlign; + this.minLength = minLength; + this.maxLength = maxLength; + this.rightTruncate = rightTruncate; + } + + /** + * Gets default instance. + * @return default instance. + */ + public static FormattingInfo getDefault() { + return DEFAULT; + } + + /** + * Determine if left aligned. + * @return true if left aligned. + */ + public boolean isLeftAligned() { + return leftAlign; + } + + /** + * Determine if right truncated. + * @return true if right truncated. + * @since 1.2.17 + */ + public boolean isRightTruncated() { + return rightTruncate; + } + + /** + * Get minimum length. + * @return minimum length. + */ + public int getMinLength() { + return minLength; + } + + /** + * Get maximum length. + * @return maximum length. + */ + public int getMaxLength() { + return maxLength; + } + + /** + * Adjust the content of the buffer based on the specified lengths and alignment. + * + * @param fieldStart start of field in buffer. + * @param buffer buffer to be modified. + */ + public void format(final int fieldStart, final StringBuffer buffer) { + final int rawLength = buffer.length() - fieldStart; + + if (rawLength > maxLength) { + if(rightTruncate) { + buffer.setLength(fieldStart + maxLength); + } else { + buffer.delete(fieldStart, buffer.length() - maxLength); + } + } else if (rawLength < minLength) { + if (leftAlign) { + final int fieldEnd = buffer.length(); + buffer.setLength(fieldStart + minLength); + + for (int i = fieldEnd; i < buffer.length(); i++) { + buffer.setCharAt(i, ' '); + } + } else { + int padLength = minLength - rawLength; + + for (; padLength > 8; padLength -= 8) { + buffer.insert(fieldStart, SPACES); + } + + buffer.insert(fieldStart, SPACES, 0, padLength); + } + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java new file mode 100644 index 00000000000..066016c0747 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Format the event's line location information. + * + * @author Ceki G&uuml;lc&uuml; + */ +public final class FullLocationPatternConverter + extends LoggingEventPatternConverter { + /** + * Singleton. + */ + private static final FullLocationPatternConverter INSTANCE = + new FullLocationPatternConverter(); + + /** + * Private constructor. + */ + private FullLocationPatternConverter() { + super("Full Location", "fullLocation"); + } + + /** + * Obtains an instance of pattern converter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static FullLocationPatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer output) { + LocationInfo locationInfo = event.getLocationInformation(); + + if (locationInfo != null) { + output.append(locationInfo.fullInfo); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java new file mode 100644 index 00000000000..f50feebf520 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import java.util.Date; + + +/** + * Formats an integer. + * + * @author Curt Arnold + */ +public final class IntegerPatternConverter extends PatternConverter { + /** + * Singleton. + */ + private static final IntegerPatternConverter INSTANCE = + new IntegerPatternConverter(); + + /** + * Private constructor. + */ + private IntegerPatternConverter() { + super("Integer", "integer"); + } + + /** + * Obtains an instance of pattern converter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static IntegerPatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(Object obj, final StringBuffer toAppendTo) { + if (obj instanceof Integer) { + toAppendTo.append(obj.toString()); + } + + if (obj instanceof Date) { + toAppendTo.append(Long.toString(((Date) obj).getTime())); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java new file mode 100644 index 00000000000..3dbc6e66631 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.Level; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Return the event's level in a StringBuffer. + * + * @author Ceki G&uuml;lc&uuml; + */ +public final class LevelPatternConverter extends LoggingEventPatternConverter { + + /** + * Integer severity for Level.TRACE. + */ + private static final int TRACE_INT = 5000; + /** + * Singleton. + */ + private static final LevelPatternConverter INSTANCE = + new LevelPatternConverter(); + + /** + * Private constructor. + */ + private LevelPatternConverter() { + super("Level", "level"); + } + + /** + * Obtains an instance of pattern converter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static LevelPatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer output) { + output.append(event.getLevel().toString()); + } + + /** + * {@inheritDoc} + */ + public String getStyleClass(Object e) { + if (e instanceof LoggingEvent) { + int lint = ((LoggingEvent) e).getLevel().toInt(); + + switch (lint) { + case TRACE_INT: + return "level trace"; + + case Level.DEBUG_INT: + return "level debug"; + + case Level.INFO_INT: + return "level info"; + + case Level.WARN_INT: + return "level warn"; + + case Level.ERROR_INT: + return "level error"; + + case Level.FATAL_INT: + return "level fatal"; + + default: + return "level " + ((LoggingEvent) e).getLevel().toString(); + } + } + + return "level"; + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java new file mode 100644 index 00000000000..0a9dfd39459 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Return the event's line location information in a StringBuffer. + * + * @author Ceki G&uuml;lc&uuml; + */ +public final class LineLocationPatternConverter + extends LoggingEventPatternConverter { + /** + * Singleton. + */ + private static final LineLocationPatternConverter INSTANCE = + new LineLocationPatternConverter(); + + /** + * Private constructor. + */ + private LineLocationPatternConverter() { + super("Line", "line"); + } + + /** + * Obtains an instance of pattern converter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static LineLocationPatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer output) { + LocationInfo locationInfo = event.getLocationInformation(); + + if (locationInfo != null) { + output.append(locationInfo.getLineNumber()); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java new file mode 100644 index 00000000000..a859870a3cd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.Layout; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Formats a line separator. + * + * @author Ceki G&uuml;lc&uuml; + */ +public final class LineSeparatorPatternConverter + extends LoggingEventPatternConverter { + /** + * Singleton. + */ + private static final LineSeparatorPatternConverter INSTANCE = + new LineSeparatorPatternConverter(); + + /** + * Line separator. + */ + private final String lineSep; + + /** + * Private constructor. + */ + private LineSeparatorPatternConverter() { + super("Line Sep", "lineSep"); + lineSep = Layout.LINE_SEP; + } + + /** + * Obtains an instance of pattern converter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static LineSeparatorPatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(LoggingEvent event, final StringBuffer toAppendTo) { + toAppendTo.append(lineSep); + } + + /** + * {@inheritDoc} + */ + public void format(final Object obj, final StringBuffer toAppendTo) { + toAppendTo.append(lineSep); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LiteralPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LiteralPatternConverter.java new file mode 100644 index 00000000000..b88b6f75c15 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LiteralPatternConverter.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Formats a string literal. + * + * @author Curt Arnold + * + */ +public final class LiteralPatternConverter extends LoggingEventPatternConverter { + /** + * String literal. + */ + private final String literal; + + /** + * Create a new instance. + * @param literal string literal. + */ + public LiteralPatternConverter(final String literal) { + super("Literal", "literal"); + this.literal = literal; + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + toAppendTo.append(literal); + } + + /** + * {@inheritDoc} + */ + public void format(final Object obj, final StringBuffer toAppendTo) { + toAppendTo.append(literal); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LogEvent.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LogEvent.java new file mode 100644 index 00000000000..24518ecdb7b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LogEvent.java @@ -0,0 +1,600 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.Category; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.MDC; +import org.apache.log4j.NDC; +import org.apache.log4j.Priority; +import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.spi.LoggerRepository; +import org.apache.log4j.spi.RendererSupport; +import org.apache.log4j.spi.ThrowableInformation; + +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.lang.reflect.Method; +import java.util.Collections; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; +import java.util.Set; + +// Contributors: Nelson Minar <nelson@monkey.org> +// Wolf Siberski +// Anders Kristensen <akristensen@dynamicsoft.com> + +/** + * This class is a copy of o.a.l.spi.LoggingEvent from + * log4j 1.2.15 which has been renamed to keep + * the same overall class name length to allow a + * serialization written with a prior instance of o.a.l.spi.LoggingEvent + * to be deserialized with this class just by mangling the class name + * in the byte stream. + * + */ +public class LogEvent implements java.io.Serializable { + + private static long startTime = System.currentTimeMillis(); + + /** Fully qualified name of the calling category class. */ + transient public final String fqnOfCategoryClass; + + /** + * The category of the logging event. This field is not serialized + * for performance reasons. + * + * <p>It is set by the LoggingEvent constructor or set by a remote + * entity after deserialization. + * + * @deprecated This field will be marked as private or be completely + * removed in future releases. Please do not use it. + * */ + transient private Category logger; + + /** + * <p>The category (logger) name. + * + * @deprecated This field will be marked as private in future + * releases. Please do not access it directly. Use the {@link + * #getLoggerName} method instead. + + * */ + final public String categoryName; + + /** + * Level of logging event. Level cannot be serializable because it + * is a flyweight. Due to its special seralization it cannot be + * declared final either. + * + * <p> This field should not be accessed directly. You shoud use the + * {@link #getLevel} method instead. + * + * @deprecated This field will be marked as private in future + * releases. Please do not access it directly. Use the {@link + * #getLevel} method instead. + * */ + transient public Priority level; + + /** The nested diagnostic context (NDC) of logging event. */ + private String ndc; + + /** The mapped diagnostic context (MDC) of logging event. */ + private Hashtable mdcCopy; + + + /** Have we tried to do an NDC lookup? If we did, there is no need + * to do it again. Note that its value is always false when + * serialized. Thus, a receiving SocketNode will never use it's own + * (incorrect) NDC. See also writeObject method. */ + private boolean ndcLookupRequired = true; + + + /** Have we tried to do an MDC lookup? If we did, there is no need + * to do it again. Note that its value is always false when + * serialized. See also the getMDC and getMDCCopy methods. */ + private boolean mdcCopyLookupRequired = true; + + /** The application supplied message of logging event. */ + transient private Object message; + + /** The application supplied message rendered through the log4j + objet rendering mechanism.*/ + private String renderedMessage; + + /** The name of thread in which this logging event was generated. */ + private String threadName; + + + /** This + variable contains information about this event's throwable + */ + private ThrowableInformation throwableInfo; + + /** The number of milliseconds elapsed from 1/1/1970 until logging event + was created. */ + public final long timeStamp; + /** Location information for the caller. */ + private LocationInfo locationInfo; + + // Serialization + static final long serialVersionUID = -868428216207166145L; + + static final Integer[] PARAM_ARRAY = new Integer[1]; + static final String TO_LEVEL = "toLevel"; + static final Class[] TO_LEVEL_PARAMS = new Class[] {int.class}; + static final Hashtable methodCache = new Hashtable(3); // use a tiny table + + /** + Instantiate a LoggingEvent from the supplied parameters. + + <p>Except {@link #timeStamp} all the other fields of + <code>LoggingEvent</code> are filled when actually needed. + <p> + @param logger The logger generating this event. + @param level The level of this event. + @param message The message of this event. + @param throwable The throwable of this event. */ + public LogEvent(String fqnOfCategoryClass, Category logger, + Priority level, Object message, Throwable throwable) { + this.fqnOfCategoryClass = fqnOfCategoryClass; + this.logger = logger; + this.categoryName = logger.getName(); + this.level = level; + this.message = message; + if(throwable != null) { + this.throwableInfo = new ThrowableInformation(throwable); + } + timeStamp = System.currentTimeMillis(); + } + + /** + Instantiate a LoggingEvent from the supplied parameters. + + <p>Except {@link #timeStamp} all the other fields of + <code>LoggingEvent</code> are filled when actually needed. + <p> + @param logger The logger generating this event. + @param timeStamp the timestamp of this logging event + @param level The level of this event. + @param message The message of this event. + @param throwable The throwable of this event. */ + public LogEvent(String fqnOfCategoryClass, Category logger, + long timeStamp, Priority level, Object message, + Throwable throwable) { + this.fqnOfCategoryClass = fqnOfCategoryClass; + this.logger = logger; + this.categoryName = logger.getName(); + this.level = level; + this.message = message; + if(throwable != null) { + this.throwableInfo = new ThrowableInformation(throwable); + } + + this.timeStamp = timeStamp; + } + + /** + Create new instance. + @since 1.2.15 + @param fqnOfCategoryClass Fully qualified class name + of Logger implementation. + @param logger The logger generating this event. + @param timeStamp the timestamp of this logging event + @param level The level of this event. + @param message The message of this event. + @param threadName thread name + @param throwable The throwable of this event. + @param ndc Nested diagnostic context + @param info Location info + @param properties MDC properties + */ + public LogEvent(final String fqnOfCategoryClass, + final Logger logger, + final long timeStamp, + final Level level, + final Object message, + final String threadName, + final ThrowableInformation throwable, + final String ndc, + final LocationInfo info, + final java.util.Map properties) { + super(); + this.fqnOfCategoryClass = fqnOfCategoryClass; + this.logger = logger; + if (logger != null) { + categoryName = logger.getName(); + } else { + categoryName = null; + } + this.level = level; + this.message = message; + if(throwable != null) { + this.throwableInfo = throwable; + } + + this.timeStamp = timeStamp; + this.threadName = threadName; + ndcLookupRequired = false; + this.ndc = ndc; + this.locationInfo = info; + mdcCopyLookupRequired = false; + if (properties != null) { + mdcCopy = new java.util.Hashtable(properties); + } + } + + /** + Set the location information for this logging event. The collected + information is cached for future use. + */ + public LocationInfo getLocationInformation() { + if(locationInfo == null) { + locationInfo = new LocationInfo(new Throwable(), fqnOfCategoryClass); + } + return locationInfo; + } + + /** + * Return the level of this event. Use this form instead of directly + * accessing the <code>level</code> field. */ + public Level getLevel() { + return (Level) level; + } + + /** + * Return the name of the logger. Use this form instead of directly + * accessing the <code>categoryName</code> field. + */ + public String getLoggerName() { + return categoryName; + } + + /** + Return the message for this logging event. + + <p>Before serialization, the returned object is the message + passed by the user to generate the logging event. After + serialization, the returned value equals the String form of the + message possibly after object rendering. + + @since 1.1 */ + public + Object getMessage() { + if(message != null) { + return message; + } else { + return getRenderedMessage(); + } + } + + /** + * This method returns the NDC for this event. It will return the + * correct content even if the event was generated in a different + * thread or even on a different machine. The {@link NDC#get} method + * should <em>never</em> be called directly. */ + public + String getNDC() { + if(ndcLookupRequired) { + ndcLookupRequired = false; + ndc = NDC.get(); + } + return ndc; + } + + + /** + Returns the the context corresponding to the <code>key</code> + parameter. If there is a local MDC copy, possibly because we are + in a logging server or running inside AsyncAppender, then we + search for the key in MDC copy, if a value is found it is + returned. Otherwise, if the search in MDC copy returns a null + result, then the current thread's <code>MDC</code> is used. + + <p>Note that <em>both</em> the local MDC copy and the current + thread's MDC are searched. + + */ + public + Object getMDC(String key) { + Object r; + // Note the mdcCopy is used if it exists. Otherwise we use the MDC + // that is associated with the thread. + if(mdcCopy != null) { + r = mdcCopy.get(key); + if(r != null) { + return r; + } + } + return MDC.get(key); + } + + /** + Obtain a copy of this thread's MDC prior to serialization or + asynchronous logging. + */ + public + void getMDCCopy() { + if(mdcCopyLookupRequired) { + mdcCopyLookupRequired = false; + // the clone call is required for asynchronous logging. + // See also bug #5932. + Hashtable t = (Hashtable) MDC.getContext(); + if(t != null) { + mdcCopy = (Hashtable) t.clone(); + } + } + } + + public + String getRenderedMessage() { + if(renderedMessage == null && message != null) { + if(message instanceof String) + renderedMessage = (String) message; + else { + LoggerRepository repository = logger.getLoggerRepository(); + + if(repository instanceof RendererSupport) { + RendererSupport rs = (RendererSupport) repository; + renderedMessage= rs.getRendererMap().findAndRender(message); + } else { + renderedMessage = message.toString(); + } + } + } + return renderedMessage; + } + + /** + Returns the time when the application started, in milliseconds + elapsed since 01.01.1970. */ + public static long getStartTime() { + return startTime; + } + + public + String getThreadName() { + if(threadName == null) + threadName = (Thread.currentThread()).getName(); + return threadName; + } + + /** + Returns the throwable information contained within this + event. May be <code>null</code> if there is no such information. + + <p>Note that the {@link Throwable} object contained within a + {@link ThrowableInformation} does not survive serialization. + + @since 1.1 */ + public + ThrowableInformation getThrowableInformation() { + return throwableInfo; + } + + /** + Return this event's throwable's string[] representaion. + */ + public + String[] getThrowableStrRep() { + + if(throwableInfo == null) + return null; + else + return throwableInfo.getThrowableStrRep(); + } + + + private + void readLevel(ObjectInputStream ois) + throws java.io.IOException, ClassNotFoundException { + + int p = ois.readInt(); + try { + String className = (String) ois.readObject(); + if(className == null) { + level = Level.toLevel(p); + } else { + Method m = (Method) methodCache.get(className); + if(m == null) { + Class clazz = Loader.loadClass(className); + // Note that we use Class.getDeclaredMethod instead of + // Class.getMethod. This assumes that the Level subclass + // implements the toLevel(int) method which is a + // requirement. Actually, it does not make sense for Level + // subclasses NOT to implement this method. Also note that + // only Level can be subclassed and not Priority. + m = clazz.getDeclaredMethod(TO_LEVEL, TO_LEVEL_PARAMS); + methodCache.put(className, m); + } + PARAM_ARRAY[0] = new Integer(p); + level = (Level) m.invoke(null, PARAM_ARRAY); + } + } catch(Exception e) { + LogLog.warn("Level deserialization failed, reverting to default.", e); + level = Level.toLevel(p); + } + } + + private void readObject(ObjectInputStream ois) + throws java.io.IOException, ClassNotFoundException { + ois.defaultReadObject(); + readLevel(ois); + + // Make sure that no location info is available to Layouts + if(locationInfo == null) + locationInfo = new LocationInfo(null, null); + } + + private + void writeObject(ObjectOutputStream oos) throws java.io.IOException { + // Aside from returning the current thread name the wgetThreadName + // method sets the threadName variable. + this.getThreadName(); + + // This sets the renders the message in case it wasn't up to now. + this.getRenderedMessage(); + + // This call has a side effect of setting this.ndc and + // setting ndcLookupRequired to false if not already false. + this.getNDC(); + + // This call has a side effect of setting this.mdcCopy and + // setting mdcLookupRequired to false if not already false. + this.getMDCCopy(); + + // This sets the throwable sting representation of the event throwable. + this.getThrowableStrRep(); + + oos.defaultWriteObject(); + + // serialize this event's level + writeLevel(oos); + } + + private + void writeLevel(ObjectOutputStream oos) throws java.io.IOException { + + oos.writeInt(level.toInt()); + + Class clazz = level.getClass(); + if(clazz == Level.class) { + oos.writeObject(null); + } else { + // writing directly the Class object would be nicer, except that + // serialized a Class object can not be read back by JDK + // 1.1.x. We have to resort to this hack instead. + oos.writeObject(clazz.getName()); + } + } + + /** + * Set value for MDC property. + * This adds the specified MDC property to the event. + * Access to the MDC is not synchronized, so this + * method should only be called when it is known that + * no other threads are accessing the MDC. + * @since 1.2.15 + * @param propName + * @param propValue + */ + public final void setProperty(final String propName, + final String propValue) { + if (mdcCopy == null) { + getMDCCopy(); + } + if (mdcCopy == null) { + mdcCopy = new Hashtable(); + } + mdcCopy.put(propName, propValue); + } + + /** + * Return a property for this event. The return value can be null. + * + * Equivalent to getMDC(String) in log4j 1.2. Provided + * for compatibility with log4j 1.3. + * + * @param key property name + * @return property value or null if property not set + * @since 1.2.15 + */ + public final String getProperty(final String key) { + Object value = getMDC(key); + String retval = null; + if (value != null) { + retval = value.toString(); + } + return retval; + } + + /** + * Check for the existence of location information without creating it + * (a byproduct of calling getLocationInformation). + * @return true if location information has been extracted. + * @since 1.2.15 + */ + public final boolean locationInformationExists() { + return (locationInfo != null); + } + + /** + * Getter for the event's time stamp. The time stamp is calculated starting + * from 1970-01-01 GMT. + * @return timestamp + * + * @since 1.2.15 + */ + public final long getTimeStamp() { + return timeStamp; + } + + /** + * Returns the set of the key values in the properties + * for the event. + * + * The returned set is unmodifiable by the caller. + * + * Provided for compatibility with log4j 1.3 + * + * @return Set an unmodifiable set of the property keys. + * @since 1.2.15 + */ + public Set getPropertyKeySet() { + return getProperties().keySet(); + } + + /** + * Returns the set of properties + * for the event. + * + * The returned set is unmodifiable by the caller. + * + * Provided for compatibility with log4j 1.3 + * + * @return Set an unmodifiable map of the properties. + * @since 1.2.15 + */ + public Map getProperties() { + getMDCCopy(); + Map properties; + if (mdcCopy == null) { + properties = new HashMap(); + } else { + properties = mdcCopy; + } + return Collections.unmodifiableMap(properties); + } + + /** + * Get the fully qualified name of the calling logger sub-class/wrapper. + * Provided for compatibility with log4j 1.3 + * @return fully qualified class name, may be null. + * @since 1.2.15 + */ + public String getFQNOfLoggerClass() { + return fqnOfCategoryClass; + } + + + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java new file mode 100644 index 00000000000..7052a4e39c5 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Formats a logger name. + * + * @author Ceki G&uuml;lc&uuml; + * + */ +public final class LoggerPatternConverter extends NamePatternConverter { + /** + * Singleton. + */ + private static final LoggerPatternConverter INSTANCE = + new LoggerPatternConverter(null); + + /** + * Private constructor. + * @param options options, may be null. + */ + private LoggerPatternConverter(final String[] options) { + super("Logger", "logger", options); + } + + /** + * Obtains an instance of pattern converter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static LoggerPatternConverter newInstance( + final String[] options) { + if ((options == null) || (options.length == 0)) { + return INSTANCE; + } + + return new LoggerPatternConverter(options); + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + final int initialLength = toAppendTo.length(); + toAppendTo.append(event.getLoggerName()); + abbreviate(initialLength, toAppendTo); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LoggingEventPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LoggingEventPatternConverter.java new file mode 100644 index 00000000000..d0fd4f408e7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/LoggingEventPatternConverter.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * LoggingEventPatternConverter is a base class for pattern converters + * that can format information from instances of LoggingEvent. + * + * @author Curt Arnold + * + */ +public abstract class LoggingEventPatternConverter extends PatternConverter { + /** + * Constructs an instance of LoggingEventPatternConverter. + * @param name name of converter. + * @param style CSS style for output. + */ + protected LoggingEventPatternConverter( + final String name, final String style) { + super(name, style); + } + + /** + * Formats an event into a string buffer. + * @param event event to format, may not be null. + * @param toAppendTo string buffer to which the formatted event will be appended. May not be null. + */ + public abstract void format( + final LoggingEvent event, final StringBuffer toAppendTo); + + /** + * {@inheritDoc} + */ + public void format(final Object obj, final StringBuffer output) { + if (obj instanceof LoggingEvent) { + format((LoggingEvent) obj, output); + } + } + + /** + * Normally pattern converters are not meant to handle Exceptions although + * few pattern converters might. + * + * By examining the return values for this method, the containing layout will + * determine whether it handles throwables or not. + + * @return true if this PatternConverter handles throwables + */ + public boolean handlesThrowable() { + return false; + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java new file mode 100644 index 00000000000..c29f64a4100 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Return the event's rendered message in a StringBuffer. + * + * @author Ceki G&uuml;lc&uuml; + */ +public final class MessagePatternConverter extends LoggingEventPatternConverter { + /** + * Singleton. + */ + private static final MessagePatternConverter INSTANCE = + new MessagePatternConverter(); + + /** + * Private constructor. + */ + private MessagePatternConverter() { + super("Message", "message"); + } + + /** + * Obtains an instance of pattern converter. + * @param options options, may be null. + * @return instance of pattern converter. + */ + public static MessagePatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + toAppendTo.append(event.getRenderedMessage()); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java new file mode 100644 index 00000000000..4d1b5339734 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Return the event's line location information in a StringBuffer. + * + * @author Ceki G&uuml;lc&uuml; + */ +public final class MethodLocationPatternConverter + extends LoggingEventPatternConverter { + /** + * Singleton. + */ + private static final MethodLocationPatternConverter INSTANCE = + new MethodLocationPatternConverter(); + + /** + * Private constructor. + */ + private MethodLocationPatternConverter() { + super("Method", "method"); + } + + /** + * Obtains an instance of MethodLocationPatternConverter. + * @param options options, may be null. + * @return instance of MethodLocationPatternConverter. + */ + public static MethodLocationPatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + LocationInfo locationInfo = event.getLocationInformation(); + + if (locationInfo != null) { + toAppendTo.append(locationInfo.getMethodName()); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java new file mode 100644 index 00000000000..9788cb12355 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Return the event's NDC in a StringBuffer. + * + * @author Ceki G&uuml;lc&uuml; + */ +public final class NDCPatternConverter extends LoggingEventPatternConverter { + /** + * Singleton. + */ + private static final NDCPatternConverter INSTANCE = + new NDCPatternConverter(); + + /** + * Private constructor. + */ + private NDCPatternConverter() { + super("NDC", "ndc"); + } + + /** + * Obtains an instance of NDCPatternConverter. + * @param options options, may be null. + * @return instance of NDCPatternConverter. + */ + public static NDCPatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + toAppendTo.append(event.getNDC()); + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java similarity index 84% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java index 61dda9663a5..08956739f05 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NameAbbreviator.java @@ -24,7 +24,6 @@ import java.util.List; /** * NameAbbreviator generates abbreviated logger and class names. * - * @author Curt Arnold */ public abstract class NameAbbreviator { /** @@ -36,6 +35,7 @@ public abstract class NameAbbreviator { * Gets an abbreviator. * * For example, "%logger{2}" will output only 2 elements of the logger name, + * %logger{-2} will drop 2 elements from the logger name, * "%logger{1.}" will output only the first character of the non-final elements in the name, * "%logger(1~.2~} will output the first character of the first element, two characters of * the second and subsequent elements and will use a tilde to indicate abbreviated characters. @@ -54,18 +54,29 @@ public abstract class NameAbbreviator { } int i = 0; - - while ( - (i < trimmed.length()) && (trimmed.charAt(i) >= '0') - && (trimmed.charAt(i) <= '9')) { - i++; + if (trimmed.length() > 0) { + if (trimmed.charAt(0) == '-') { + i++; + } + for (; + (i < trimmed.length()) && + (trimmed.charAt(i) >= '0') && + (trimmed.charAt(i) <= '9'); + i++) { + } } + // // if all blanks and digits // if (i == trimmed.length()) { - return new MaxElementAbbreviator(Integer.parseInt(trimmed)); + int elements = Integer.parseInt(trimmed); + if (elements >= 0) { + return new MaxElementAbbreviator(elements); + } else { + return new DropElementAbbreviator(-elements); + } } ArrayList fragments = new ArrayList(5); @@ -192,6 +203,42 @@ public abstract class NameAbbreviator { } } + /** + * Abbreviator that drops starting path elements. + */ + private static class DropElementAbbreviator extends NameAbbreviator { + /** + * Maximum number of path elements to output. + */ + private final int count; + + /** + * Create new instance. + * @param count maximum number of path elements to output. + */ + public DropElementAbbreviator(final int count) { + this.count = count; + } + + /** + * Abbreviate name. + * @param buf buffer to append abbreviation. + * @param nameStart start of name to abbreviate. + */ + public void abbreviate(final int nameStart, final StringBuffer buf) { + int i = count; + for(int pos = buf.indexOf(".", nameStart); + pos != -1; + pos = buf.indexOf(".", pos + 1)) { + if(--i == 0) { + buf.delete(nameStart, pos + 1); + break; + } + } + } + } + + /** * Fragment of an pattern abbreviator. * diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NamePatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NamePatternConverter.java new file mode 100644 index 00000000000..fbdd999c72f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/NamePatternConverter.java @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + + +/** + * + * Base class for other pattern converters which can return only parts of their name. + * + * @author Ceki G&uuml;lc&uuml; + * @author Curt Arnold + * + */ +public abstract class NamePatternConverter + extends LoggingEventPatternConverter { + /** + * Abbreviator. + */ + private final NameAbbreviator abbreviator; + + /** + * Constructor. + * @param name name of converter. + * @param style style name for associated output. + * @param options options, may be null, first element will be interpreted as an abbreviation pattern. + */ + protected NamePatternConverter( + final String name, final String style, final String[] options) { + super(name, style); + + if ((options != null) && (options.length > 0)) { + abbreviator = NameAbbreviator.getAbbreviator(options[0]); + } else { + abbreviator = NameAbbreviator.getDefaultAbbreviator(); + } + } + + /** + * Abbreviate name in string buffer. + * @param nameStart starting position of name to abbreviate. + * @param buf string buffer containing name. + */ + protected final void abbreviate(final int nameStart, final StringBuffer buf) { + abbreviator.abbreviate(nameStart, buf); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PatternConverter.java new file mode 100644 index 00000000000..21fb7cd39ec --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PatternConverter.java @@ -0,0 +1,87 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + + +/** + + <p>PatternConverter is an abstract class that provides the + formatting functionality that derived classes need. + + <p>Conversion specifiers in a conversion patterns are parsed to + individual PatternConverters. Each of which is responsible for + converting an object in a converter specific manner. + + @author <a href="mailto:cakalijp@Maritz.com">James P. Cakalic</a> + @author Ceki G&uuml;lc&uuml; + @author Chris Nokes + @author Curt Arnold + + */ +public abstract class PatternConverter { + /** + * Converter name. + */ + private final String name; + + /** + * Converter style name. + */ + private final String style; + + /** + * Create a new pattern converter. + * @param name name for pattern converter. + * @param style CSS style for formatted output. + */ + protected PatternConverter(final String name, final String style) { + this.name = name; + this.style = style; + } + + /** + * Formats an object into a string buffer. + * @param obj event to format, may not be null. + * @param toAppendTo string buffer to which the formatted event will be appended. May not be null. + */ + public abstract void format(final Object obj, final StringBuffer toAppendTo); + + /** + * This method returns the name of the conversion pattern. + * + * The name can be useful to certain Layouts such as HTMLLayout. + * + * @return the name of the conversion pattern + */ + public final String getName() { + return name; + } + + /** + * This method returns the CSS style class that should be applied to + * the LoggingEvent passed as parameter, which can be null. + * + * This information is currently used only by HTMLLayout. + * + * @param e null values are accepted + * @return the name of the conversion pattern + */ + public String getStyleClass(Object e) { + return style; + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PatternParser.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PatternParser.java new file mode 100644 index 00000000000..901b0fefebf --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PatternParser.java @@ -0,0 +1,701 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.LogLog; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +// Contributors: Nelson Minar <(nelson@monkey.org> +// Igor E. Poteryaev <jah@mail.ru> +// Reinhard Deschler <reinhard.deschler@web.de> + +/** + * Most of the work of the {@link org.apache.log4j.EnhancedPatternLayout} class + * is delegated to the PatternParser class. + * <p>It is this class that parses conversion patterns and creates + * a chained list of {@link PatternConverter PatternConverters}. + * + * @author James P. Cakalic + * @author Ceki G&uuml;lc&uuml; + * @author Anders Kristensen + * @author Paul Smith + * @author Curt Arnold + * +*/ +public final class PatternParser { + /** + * Escape character for format specifier. + */ + private static final char ESCAPE_CHAR = '%'; + + /** + * Literal state. + */ + private static final int LITERAL_STATE = 0; + + /** + * In converter name state. + */ + private static final int CONVERTER_STATE = 1; + + /** + * Dot state. + */ + private static final int DOT_STATE = 3; + + /** + * Min state. + */ + private static final int MIN_STATE = 4; + + /** + * Max state. + */ + private static final int MAX_STATE = 5; + + /** + * Standard format specifiers for EnhancedPatternLayout. + */ + private static final Map PATTERN_LAYOUT_RULES; + + /** + * Standard format specifiers for rolling file appenders. + */ + private static final Map FILENAME_PATTERN_RULES; + + static { + // We set the global rules in the static initializer of PatternParser class + Map rules = new HashMap(17); + rules.put("c", LoggerPatternConverter.class); + rules.put("logger", LoggerPatternConverter.class); + + rules.put("C", ClassNamePatternConverter.class); + rules.put("class", ClassNamePatternConverter.class); + + rules.put("d", DatePatternConverter.class); + rules.put("date", DatePatternConverter.class); + + rules.put("F", FileLocationPatternConverter.class); + rules.put("file", FileLocationPatternConverter.class); + + rules.put("l", FullLocationPatternConverter.class); + + rules.put("L", LineLocationPatternConverter.class); + rules.put("line", LineLocationPatternConverter.class); + + rules.put("m", MessagePatternConverter.class); + rules.put("message", MessagePatternConverter.class); + + rules.put("n", LineSeparatorPatternConverter.class); + + rules.put("M", MethodLocationPatternConverter.class); + rules.put("method", MethodLocationPatternConverter.class); + + rules.put("p", LevelPatternConverter.class); + rules.put("level", LevelPatternConverter.class); + + rules.put("r", RelativeTimePatternConverter.class); + rules.put("relative", RelativeTimePatternConverter.class); + + rules.put("t", ThreadPatternConverter.class); + rules.put("thread", ThreadPatternConverter.class); + + rules.put("x", NDCPatternConverter.class); + rules.put("ndc", NDCPatternConverter.class); + + rules.put("X", PropertiesPatternConverter.class); + rules.put("properties", PropertiesPatternConverter.class); + + rules.put("sn", SequenceNumberPatternConverter.class); + rules.put("sequenceNumber", SequenceNumberPatternConverter.class); + + rules.put("throwable", ThrowableInformationPatternConverter.class); + PATTERN_LAYOUT_RULES = new ReadOnlyMap(rules); + + Map fnameRules = new HashMap(4); + fnameRules.put("d", FileDatePatternConverter.class); + fnameRules.put("date", FileDatePatternConverter.class); + fnameRules.put("i", IntegerPatternConverter.class); + fnameRules.put("index", IntegerPatternConverter.class); + + FILENAME_PATTERN_RULES = new ReadOnlyMap(fnameRules); + } + + /** + * Private constructor. + */ + private PatternParser() { + } + + /** + * Get standard format specifiers for EnhancedPatternLayout. + * @return read-only map of format converter classes keyed by format specifier strings. + */ + public static Map getPatternLayoutRules() { + return PATTERN_LAYOUT_RULES; + } + + /** + * Get standard format specifiers for rolling file appender file specification. + * @return read-only map of format converter classes keyed by format specifier strings. + */ + public static Map getFileNamePatternRules() { + return FILENAME_PATTERN_RULES; + } + + /** Extract the converter identifier found at position i. + * + * After this function returns, the variable i will point to the + * first char after the end of the converter identifier. + * + * If i points to a char which is not a character acceptable at the + * start of a unicode identifier, the value null is returned. + * + * @param lastChar last processed character. + * @param pattern format string. + * @param i current index into pattern format. + * @param convBuf buffer to receive conversion specifier. + * @param currentLiteral literal to be output in case format specifier in unrecognized. + * @return position in pattern after converter. + */ + private static int extractConverter( + char lastChar, final String pattern, int i, final StringBuffer convBuf, + final StringBuffer currentLiteral) { + convBuf.setLength(0); + + // When this method is called, lastChar points to the first character of the + // conversion word. For example: + // For "%hello" lastChar = 'h' + // For "%-5hello" lastChar = 'h' + //System.out.println("lastchar is "+lastChar); + if (!Character.isUnicodeIdentifierStart(lastChar)) { + return i; + } + + convBuf.append(lastChar); + + while ( + (i < pattern.length()) + && Character.isUnicodeIdentifierPart(pattern.charAt(i))) { + convBuf.append(pattern.charAt(i)); + currentLiteral.append(pattern.charAt(i)); + + //System.out.println("conv buffer is now ["+convBuf+"]."); + i++; + } + + return i; + } + + /** + * Extract options. + * @param pattern conversion pattern. + * @param i start of options. + * @param options array to receive extracted options + * @return position in pattern after options. + */ + private static int extractOptions(String pattern, int i, List options) { + while ((i < pattern.length()) && (pattern.charAt(i) == '{')) { + int end = pattern.indexOf('}', i); + + if (end == -1) { + break; + } + + String r = pattern.substring(i + 1, end); + options.add(r); + i = end + 1; + } + + return i; + } + + /** + * Parse a format specifier. + * @param pattern pattern to parse. + * @param patternConverters list to receive pattern converters. + * @param formattingInfos list to receive field specifiers corresponding to pattern converters. + * @param converterRegistry map of user-supported pattern converters keyed by format specifier, may be null. + * @param rules map of stock pattern converters keyed by format specifier. + */ + public static void parse( + final String pattern, final List patternConverters, + final List formattingInfos, final Map converterRegistry, final Map rules) { + if (pattern == null) { + throw new NullPointerException("pattern"); + } + + StringBuffer currentLiteral = new StringBuffer(32); + + int patternLength = pattern.length(); + int state = LITERAL_STATE; + char c; + int i = 0; + FormattingInfo formattingInfo = FormattingInfo.getDefault(); + + while (i < patternLength) { + c = pattern.charAt(i++); + + switch (state) { + case LITERAL_STATE: + + // In literal state, the last char is always a literal. + if (i == patternLength) { + currentLiteral.append(c); + + continue; + } + + if (c == ESCAPE_CHAR) { + // peek at the next char. + switch (pattern.charAt(i)) { + case ESCAPE_CHAR: + currentLiteral.append(c); + i++; // move pointer + + break; + + default: + + if (currentLiteral.length() != 0) { + patternConverters.add( + new LiteralPatternConverter(currentLiteral.toString())); + formattingInfos.add(FormattingInfo.getDefault()); + } + + currentLiteral.setLength(0); + currentLiteral.append(c); // append % + state = CONVERTER_STATE; + formattingInfo = FormattingInfo.getDefault(); + } + } else { + currentLiteral.append(c); + } + + break; + + case CONVERTER_STATE: + currentLiteral.append(c); + + switch (c) { + case '-': + formattingInfo = + new FormattingInfo( + true, + formattingInfo.isRightTruncated(), + formattingInfo.getMinLength(), + formattingInfo.getMaxLength()); + break; + + case '!': + formattingInfo = + new FormattingInfo( + formattingInfo.isLeftAligned(), + true, + formattingInfo.getMinLength(), + formattingInfo.getMaxLength()); + break; + + + case '.': + state = DOT_STATE; + + break; + + default: + + if ((c >= '0') && (c <= '9')) { + formattingInfo = + new FormattingInfo( + formattingInfo.isLeftAligned(), + formattingInfo.isRightTruncated(), + c - '0', + formattingInfo.getMaxLength()); + state = MIN_STATE; + } else { + i = finalizeConverter( + c, pattern, i, currentLiteral, formattingInfo, + converterRegistry, rules, patternConverters, formattingInfos); + + // Next pattern is assumed to be a literal. + state = LITERAL_STATE; + formattingInfo = FormattingInfo.getDefault(); + currentLiteral.setLength(0); + } + } // switch + + break; + + case MIN_STATE: + currentLiteral.append(c); + + if ((c >= '0') && (c <= '9')) { + formattingInfo = + new FormattingInfo( + formattingInfo.isLeftAligned(), + formattingInfo.isRightTruncated(), + (formattingInfo.getMinLength() * 10) + (c - '0'), + formattingInfo.getMaxLength()); + } else if (c == '.') { + state = DOT_STATE; + } else { + i = finalizeConverter( + c, pattern, i, currentLiteral, formattingInfo, + converterRegistry, rules, patternConverters, formattingInfos); + state = LITERAL_STATE; + formattingInfo = FormattingInfo.getDefault(); + currentLiteral.setLength(0); + } + + break; + + case DOT_STATE: + currentLiteral.append(c); + + if ((c >= '0') && (c <= '9')) { + formattingInfo = + new FormattingInfo( + formattingInfo.isLeftAligned(), + formattingInfo.isRightTruncated(), + formattingInfo.getMinLength(), + c - '0'); + state = MAX_STATE; + } else { + LogLog.error( + "Error occured in position " + i + + ".\n Was expecting digit, instead got char \"" + c + "\"."); + + state = LITERAL_STATE; + } + + break; + + case MAX_STATE: + currentLiteral.append(c); + + if ((c >= '0') && (c <= '9')) { + formattingInfo = + new FormattingInfo( + formattingInfo.isLeftAligned(), + formattingInfo.isRightTruncated(), + formattingInfo.getMinLength(), + (formattingInfo.getMaxLength() * 10) + (c - '0')); + } else { + i = finalizeConverter( + c, pattern, i, currentLiteral, formattingInfo, + converterRegistry, rules, patternConverters, formattingInfos); + state = LITERAL_STATE; + formattingInfo = FormattingInfo.getDefault(); + currentLiteral.setLength(0); + } + + break; + } // switch + } + + // while + if (currentLiteral.length() != 0) { + patternConverters.add( + new LiteralPatternConverter(currentLiteral.toString())); + formattingInfos.add(FormattingInfo.getDefault()); + } + } + + /** + * Creates a new PatternConverter. + * + * + * @param converterId converterId. + * @param currentLiteral literal to be used if converter is unrecognized or following converter + * if converterId contains extra characters. + * @param converterRegistry map of user-supported pattern converters keyed by format specifier, may be null. + * @param rules map of stock pattern converters keyed by format specifier. + * @param options converter options. + * @return converter or null. + */ + private static PatternConverter createConverter( + final String converterId, final StringBuffer currentLiteral, + final Map converterRegistry, final Map rules, final List options) { + String converterName = converterId; + Object converterObj = null; + + for (int i = converterId.length(); (i > 0) && (converterObj == null); + i--) { + converterName = converterName.substring(0, i); + + if (converterRegistry != null) { + converterObj = converterRegistry.get(converterName); + } + + if ((converterObj == null) && (rules != null)) { + converterObj = rules.get(converterName); + } + } + + if (converterObj == null) { + LogLog.error("Unrecognized format specifier [" + converterId + "]"); + + return null; + } + + Class converterClass = null; + + if (converterObj instanceof Class) { + converterClass = (Class) converterObj; + } else { + if (converterObj instanceof String) { + try { + converterClass = Loader.loadClass((String) converterObj); + } catch (ClassNotFoundException ex) { + LogLog.warn( + "Class for conversion pattern %" + converterName + " not found", + ex); + + return null; + } + } else { + LogLog.warn( + "Bad map entry for conversion pattern %" + converterName + "."); + + return null; + } + } + + try { + Method factory = + converterClass.getMethod( + "newInstance", + new Class[] { + Class.forName("[Ljava.lang.String;") + }); + String[] optionsArray = new String[options.size()]; + optionsArray = (String[]) options.toArray(optionsArray); + + Object newObj = + factory.invoke(null, new Object[] { optionsArray }); + + if (newObj instanceof PatternConverter) { + currentLiteral.delete( + 0, + currentLiteral.length() + - (converterId.length() - converterName.length())); + + return (PatternConverter) newObj; + } else { + LogLog.warn( + "Class " + converterClass.getName() + + " does not extend PatternConverter."); + } + } catch (Exception ex) { + LogLog.error("Error creating converter for " + converterId, ex); + + try { + // + // try default constructor + PatternConverter pc = (PatternConverter) converterClass.newInstance(); + currentLiteral.delete( + 0, + currentLiteral.length() + - (converterId.length() - converterName.length())); + + return pc; + } catch (Exception ex2) { + LogLog.error("Error creating converter for " + converterId, ex2); + } + } + + return null; + } + + /** + * Processes a format specifier sequence. + * + * @param c initial character of format specifier. + * @param pattern conversion pattern + * @param i current position in conversion pattern. + * @param currentLiteral current literal. + * @param formattingInfo current field specifier. + * @param converterRegistry map of user-provided pattern converters keyed by format specifier, may be null. + * @param rules map of stock pattern converters keyed by format specifier. + * @param patternConverters list to receive parsed pattern converter. + * @param formattingInfos list to receive corresponding field specifier. + * @return position after format specifier sequence. + */ + private static int finalizeConverter( + char c, String pattern, int i, + final StringBuffer currentLiteral, final FormattingInfo formattingInfo, + final Map converterRegistry, final Map rules, final List patternConverters, + final List formattingInfos) { + StringBuffer convBuf = new StringBuffer(); + i = extractConverter(c, pattern, i, convBuf, currentLiteral); + + String converterId = convBuf.toString(); + + List options = new ArrayList(); + i = extractOptions(pattern, i, options); + + PatternConverter pc = + createConverter( + converterId, currentLiteral, converterRegistry, rules, options); + + if (pc == null) { + StringBuffer msg; + + if ((converterId == null) || (converterId.length() == 0)) { + msg = + new StringBuffer("Empty conversion specifier starting at position "); + } else { + msg = new StringBuffer("Unrecognized conversion specifier ["); + msg.append(converterId); + msg.append("] starting at position "); + } + + msg.append(Integer.toString(i)); + msg.append(" in conversion pattern."); + + LogLog.error(msg.toString()); + + patternConverters.add( + new LiteralPatternConverter(currentLiteral.toString())); + formattingInfos.add(FormattingInfo.getDefault()); + } else { + patternConverters.add(pc); + formattingInfos.add(formattingInfo); + + if (currentLiteral.length() > 0) { + patternConverters.add( + new LiteralPatternConverter(currentLiteral.toString())); + formattingInfos.add(FormattingInfo.getDefault()); + } + } + + currentLiteral.setLength(0); + + return i; + } + + /** + * The class wraps another Map but throws exceptions on any attempt to modify the map. + */ + private static class ReadOnlyMap implements Map { + /** + * Wrapped map. + */ + private final Map map; + + /** + * Constructor + * @param src source map. + */ + public ReadOnlyMap(Map src) { + map = src; + } + + /** + * {@inheritDoc} + */ + public void clear() { + throw new UnsupportedOperationException(); + } + + /** + * {@inheritDoc} + */ + public boolean containsKey(Object key) { + return map.containsKey(key); + } + + /** + * {@inheritDoc} + */ + public boolean containsValue(Object value) { + return map.containsValue(value); + } + + /** + * {@inheritDoc} + */ + public Set entrySet() { + return map.entrySet(); + } + + /** + * {@inheritDoc} + */ + public Object get(Object key) { + return map.get(key); + } + + /** + * {@inheritDoc} + */ + public boolean isEmpty() { + return map.isEmpty(); + } + + /** + * {@inheritDoc} + */ + public Set keySet() { + return map.keySet(); + } + + /** + * {@inheritDoc} + */ + public Object put(Object key, Object value) { + throw new UnsupportedOperationException(); + } + + /** + * {@inheritDoc} + */ + public void putAll(Map t) { + throw new UnsupportedOperationException(); + } + + /** + * {@inheritDoc} + */ + public Object remove(Object key) { + throw new UnsupportedOperationException(); + } + + /** + * {@inheritDoc} + */ + public int size() { + return map.size(); + } + + /** + * {@inheritDoc} + */ + public Collection values() { + return map.values(); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java new file mode 100644 index 00000000000..a55cf97eddc --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java @@ -0,0 +1,104 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + +import java.util.Iterator; +import java.util.Set; +import org.apache.log4j.helpers.*; + + +/** + * Able to handle the contents of the LoggingEvent's Property bundle and either + * output the entire contents of the properties in a similar format to the + * java.util.Hashtable.toString(), or to output the value of a specific key + * within the property bundle + * when this pattern converter has the option set. + * + * @author Paul Smith + * @author Ceki G&uuml;lc&uuml; + */ +public final class PropertiesPatternConverter + extends LoggingEventPatternConverter { + /** + * Name of property to output. + */ + private final String option; + + /** + * Private constructor. + * @param options options, may be null. + */ + private PropertiesPatternConverter( + final String[] options) { + super( + ((options != null) && (options.length > 0)) + ? ("Property{" + options[0] + "}") : "Properties", "property"); + + if ((options != null) && (options.length > 0)) { + option = options[0]; + } else { + option = null; + } + } + + /** + * Obtains an instance of PropertiesPatternConverter. + * @param options options, may be null or first element contains name of property to format. + * @return instance of PropertiesPatternConverter. + */ + public static PropertiesPatternConverter newInstance( + final String[] options) { + return new PropertiesPatternConverter(options); + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + // if there is no additional options, we output every single + // Key/Value pair for the MDC in a similar format to Hashtable.toString() + if (option == null) { + toAppendTo.append("{"); + + try { + Set keySet = MDCKeySetExtractor.INSTANCE.getPropertyKeySet(event); + if (keySet != null) { + for (Iterator i = keySet.iterator(); i.hasNext();) { + Object item = i.next(); + Object val = event.getMDC(item.toString()); + toAppendTo.append("{").append(item).append(",").append(val).append( + "}"); + } + } + } catch(Exception ex) { + LogLog.error("Unexpected exception while extracting MDC keys", ex); + } + + toAppendTo.append("}"); + } else { + // otherwise they just want a single key output + Object val = event.getMDC(option); + + if (val != null) { + toAppendTo.append(val); + } + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java new file mode 100644 index 00000000000..007a29a72d5 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java @@ -0,0 +1,106 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Return the relative time in milliseconds since loading of the LoggingEvent + * class. + * + * @author Ceki G&uuml;lc&uuml; + */ +public class RelativeTimePatternConverter extends LoggingEventPatternConverter { + /** + * Cached formatted timestamp. + */ + private CachedTimestamp lastTimestamp = new CachedTimestamp(0, ""); + + /** + * Private constructor. + */ + public RelativeTimePatternConverter() { + super("Time", "time"); + } + + /** + * Obtains an instance of RelativeTimePatternConverter. + * @param options options, currently ignored, may be null. + * @return instance of RelativeTimePatternConverter. + */ + public static RelativeTimePatternConverter newInstance( + final String[] options) { + return new RelativeTimePatternConverter(); + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + long timestamp = event.timeStamp; + + if (!lastTimestamp.format(timestamp, toAppendTo)) { + final String formatted = + Long.toString(timestamp - LoggingEvent.getStartTime()); + toAppendTo.append(formatted); + lastTimestamp = new CachedTimestamp(timestamp, formatted); + } + } + + /** + * Cached timestamp and formatted value. + */ + private static final class CachedTimestamp { + /** + * Cached timestamp. + */ + private final long timestamp; + + /** + * Cached formatted timestamp. + */ + private final String formatted; + + /** + * Creates a new instance. + * @param timestamp timestamp. + * @param formatted formatted timestamp. + */ + public CachedTimestamp(long timestamp, final String formatted) { + this.timestamp = timestamp; + this.formatted = formatted; + } + + /** + * Appends the cached formatted timestamp to the buffer if timestamps match. + * @param newTimestamp requested timestamp. + * @param toAppendTo buffer to append formatted timestamp. + * @return true if requested timestamp matched cached timestamp. + */ + public boolean format(long newTimestamp, final StringBuffer toAppendTo) { + if (newTimestamp == timestamp) { + toAppendTo.append(formatted); + + return true; + } + + return false; + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java new file mode 100644 index 00000000000..80126821da4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java @@ -0,0 +1,59 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Formats the event sequence number. + * + * @author Ceki G&uuml;lc&uuml; + */ +public class SequenceNumberPatternConverter + extends LoggingEventPatternConverter { + /** + * Singleton. + */ + private static final SequenceNumberPatternConverter INSTANCE = + new SequenceNumberPatternConverter(); + + /** + * Private constructor. + */ + private SequenceNumberPatternConverter() { + super("Sequence Number", "sn"); + } + + /** + * Obtains an instance of SequencePatternConverter. + * @param options options, currently ignored, may be null. + * @return instance of SequencePatternConverter. + */ + public static SequenceNumberPatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + toAppendTo.append("0"); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java new file mode 100644 index 00000000000..6b3e6c32d94 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Formats the event thread name. + * + * @author Ceki G&uuml;lc&uuml; + */ +public class ThreadPatternConverter extends LoggingEventPatternConverter { + /** + * Singleton. + */ + private static final ThreadPatternConverter INSTANCE = + new ThreadPatternConverter(); + + /** + * Private constructor. + */ + private ThreadPatternConverter() { + super("Thread", "thread"); + } + + /** + * Obtains an instance of ThreadPatternConverter. + * @param options options, currently ignored, may be null. + * @return instance of ThreadPatternConverter. + */ + public static ThreadPatternConverter newInstance( + final String[] options) { + return INSTANCE; + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + toAppendTo.append(event.getThreadName()); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java new file mode 100644 index 00000000000..266c8ec82fc --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java @@ -0,0 +1,109 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.ThrowableInformation; + + +/** + * Outputs the ThrowableInformation portion of the LoggingEvent. + * By default, outputs the full stack trace. %throwable{none} + * or %throwable{0} suppresses the stack trace. %throwable{short} + * or %throwable{1} outputs just the first line. %throwable{n} + * will output n lines for a positive integer or drop the last + * -n lines for a negative integer. + * + * @author Paul Smith + * + */ +public class ThrowableInformationPatternConverter + extends LoggingEventPatternConverter { + + /** + * Maximum lines of stack trace to output. + */ + private int maxLines = Integer.MAX_VALUE; + + /** + * Private constructor. + * @param options options, may be null. + */ + private ThrowableInformationPatternConverter( + final String[] options) { + super("Throwable", "throwable"); + + if ((options != null) && (options.length > 0)) { + if("none".equals(options[0])) { + maxLines = 0; + } else if("short".equals(options[0])) { + maxLines = 1; + } else { + try { + maxLines = Integer.parseInt(options[0]); + } catch(NumberFormatException ex) { + maxLines = Integer.MAX_VALUE; + } + } + } + } + + /** + * Gets an instance of the class. + * @param options pattern options, may be null. If first element is "short", + * only the first line of the throwable will be formatted. + * @return instance of class. + */ + public static ThrowableInformationPatternConverter newInstance( + final String[] options) { + return new ThrowableInformationPatternConverter(options); + } + + /** + * {@inheritDoc} + */ + public void format(final LoggingEvent event, final StringBuffer toAppendTo) { + if (maxLines != 0) { + ThrowableInformation information = event.getThrowableInformation(); + + if (information != null) { + String[] stringRep = information.getThrowableStrRep(); + + int length = stringRep.length; + if (maxLines < 0) { + length += maxLines; + } else if (length > maxLines) { + length = maxLines; + } + + for (int i = 0; i < length; i++) { + String string = stringRep[i]; + toAppendTo.append(string).append("\n"); + } + } + } + } + + /** + * This converter obviously handles throwables. + * @return true. + */ + public boolean handlesThrowable() { + return true; + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/package.html b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/package.html new file mode 100644 index 00000000000..1db8283dab6 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/pattern/package.html @@ -0,0 +1,28 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<html> <head> +<title></title> +</head> + +<body> + +<p>Provides classes implementing format specifiers in conversion patterns.</p> + +<hr> +</body> </html> diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/CompositeTriggeringPolicy.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/CompositeTriggeringPolicy.java new file mode 100644 index 00000000000..60af45c835f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/CompositeTriggeringPolicy.java @@ -0,0 +1,82 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.rolling; + +import java.util.HashSet; +import java.util.Iterator; +import java.util.Properties; +import java.util.Set; + +import org.apache.log4j.Appender; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.OptionHandler; +import org.apache.log4j.xml.UnrecognizedElementHandler; +import org.w3c.dom.Element; + + +/** + * CompositeTriggeringPolicy determines if rolling should be triggered + * by evaluating the current event against a set of triggering policies. + * + * TriggeringPolicy results are OR'd together - if any of the triggering policies report rolling should occur, + * a rolling event will be triggered. + * + */ +public final class CompositeTriggeringPolicy implements TriggeringPolicy, UnrecognizedElementHandler { + Set triggeringPolicies = new HashSet(); + + public CompositeTriggeringPolicy() { + } + + public boolean isTriggeringEvent(final Appender appender, final LoggingEvent event, final String file, final long fileLength) { + boolean isTriggered = false; + for (Iterator iter = triggeringPolicies.iterator();iter.hasNext();) { + boolean result = ((TriggeringPolicy)iter.next()).isTriggeringEvent(appender, event, file, fileLength); + isTriggered = isTriggered || result; + } + return isTriggered; + } + + /** + * Add triggering policy + * + * @param policy + */ + public void addTriggeringPolicy(final TriggeringPolicy policy) { + triggeringPolicies.add(policy); + } + + public void activateOptions() { + for (Iterator iter = triggeringPolicies.iterator();iter.hasNext();) { + ((TriggeringPolicy)iter.next()).activateOptions(); + } + } + + public boolean parseUnrecognizedElement(final Element element, final Properties props) throws Exception { + final String nodeName = element.getNodeName(); + if ("triggeringPolicy".equals(nodeName)) { + OptionHandler policy = org.apache.log4j.extras.DOMConfigurator.parseElement(element, props, TriggeringPolicy.class); + if (policy instanceof TriggeringPolicy) { + policy.activateOptions(); + addTriggeringPolicy((TriggeringPolicy)policy); + } + return true; + } + return false; + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.java similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.java index 5f7564f5924..cdf0c9d22ef 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/FilterBasedTriggeringPolicy.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/FixedWindowRollingPolicy.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/FixedWindowRollingPolicy.java similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/FixedWindowRollingPolicy.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/FixedWindowRollingPolicy.java index bc08b6288df..5d85debc8cf 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/FixedWindowRollingPolicy.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/FixedWindowRollingPolicy.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java index 4dbb579443c..e18c67caaf2 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RollingFileAppender.java @@ -1,12 +1,13 @@ /* - * Copyright 1999,2006 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RollingPolicy.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RollingPolicy.java similarity index 80% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RollingPolicy.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RollingPolicy.java index f4f6fd2bfab..c298fae07a9 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RollingPolicy.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RollingPolicy.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RollingPolicyBase.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RollingPolicyBase.java similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RollingPolicyBase.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RollingPolicyBase.java index a20abee822a..3b417f8979a 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RollingPolicyBase.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RollingPolicyBase.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RolloverDescription.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RolloverDescription.java similarity index 75% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RolloverDescription.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RolloverDescription.java index 3aba877c864..590f64ce124 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RolloverDescription.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RolloverDescription.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RolloverDescriptionImpl.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RolloverDescriptionImpl.java similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RolloverDescriptionImpl.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RolloverDescriptionImpl.java index 30e2309712c..876d6a79bc0 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/RolloverDescriptionImpl.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/RolloverDescriptionImpl.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.java similarity index 81% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.java index d75d4741e7c..de6915a0951 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/SizeBasedTriggeringPolicy.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/TimeBasedRollingPolicy.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/TimeBasedRollingPolicy.java similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/TimeBasedRollingPolicy.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/TimeBasedRollingPolicy.java index 74f1b816093..73034a3de44 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/TimeBasedRollingPolicy.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/TimeBasedRollingPolicy.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/TriggeringPolicy.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/TriggeringPolicy.java similarity index 77% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/TriggeringPolicy.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/TriggeringPolicy.java index 15503d7bb38..b8177fa8c73 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/TriggeringPolicy.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/TriggeringPolicy.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/Action.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/Action.java similarity index 74% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/Action.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/Action.java index a030fbfc264..25b8b86d943 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/Action.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/Action.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/ActionBase.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/ActionBase.java similarity index 78% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/ActionBase.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/ActionBase.java index 3b8739a677c..224296e6493 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/ActionBase.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/ActionBase.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/CompositeAction.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/CompositeAction.java similarity index 83% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/CompositeAction.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/CompositeAction.java index ccdade07d08..f38736e75f3 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/CompositeAction.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/CompositeAction.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/FileRenameAction.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/FileRenameAction.java similarity index 81% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/FileRenameAction.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/FileRenameAction.java index 86517f3f2da..61c263222f7 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/FileRenameAction.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/FileRenameAction.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/GZCompressAction.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/GZCompressAction.java similarity index 88% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/GZCompressAction.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/GZCompressAction.java index c6e932adf53..558d01fa2cb 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/GZCompressAction.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/GZCompressAction.java @@ -1,12 +1,13 @@ /* - * Copyright 1999,2006 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/ZipCompressAction.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/ZipCompressAction.java similarity index 88% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/ZipCompressAction.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/ZipCompressAction.java index 8adec86ea9d..534ba125340 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/ZipCompressAction.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/ZipCompressAction.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/package.html b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/package.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/helper/package.html rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/helper/package.html diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/package.html b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/package.html similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rolling/package.html rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rolling/package.html diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/AbstractRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/AbstractRule.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/AbstractRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/AbstractRule.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/AndRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/AndRule.java similarity index 62% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/AndRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/AndRule.java index c966d9d9ffb..2334cb62a81 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/AndRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/AndRule.java @@ -19,6 +19,11 @@ package org.apache.log4j.rule; import org.apache.log4j.spi.LoggingEvent; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; import java.util.Stack; @@ -86,7 +91,37 @@ public class AndRule extends AbstractRule { /** * {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - return (firstRule.evaluate(event) && secondRule.evaluate(event)); + public boolean evaluate(final LoggingEvent event, Map matches) { + if (matches == null) { + return firstRule.evaluate(event, null) && secondRule.evaluate(event, null); + } + Map tempMatches1 = new HashMap(); + Map tempMatches2 = new HashMap(); + boolean result = firstRule.evaluate(event, tempMatches1) && secondRule.evaluate(event, tempMatches2); + if (result) { + for (Iterator iter = tempMatches1.entrySet().iterator();iter.hasNext();) { + Map.Entry entry = (Map.Entry)iter.next(); + Object key = entry.getKey(); + Set value = (Set)entry.getValue(); + Set mainSet = (Set) matches.get(key); + if (mainSet == null) { + mainSet = new HashSet(); + matches.put(key, mainSet); + } + mainSet.addAll(value); + } + for (Iterator iter = tempMatches2.entrySet().iterator();iter.hasNext();) { + Map.Entry entry = (Map.Entry)iter.next(); + Object key = entry.getKey(); + Set value = (Set)entry.getValue(); + Set mainSet = (Set) matches.get(key); + if (mainSet == null) { + mainSet = new HashSet(); + matches.put(key, mainSet); + } + mainSet.addAll(value); + } + } + return result; } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/ColorRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/ColorRule.java similarity index 93% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/ColorRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/ColorRule.java index 84f4e96579f..c3f7465f258 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/ColorRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/ColorRule.java @@ -19,6 +19,7 @@ package org.apache.log4j.rule; import java.awt.Color; import java.io.Serializable; +import java.util.Map; import org.apache.log4j.spi.LoggingEvent; @@ -104,8 +105,9 @@ public class ColorRule extends AbstractRule implements Serializable { /** * {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - return (rule != null && rule.evaluate(event)); + public boolean evaluate(final LoggingEvent event, Map matches) { + //no need for color rules to build matches + return (rule != null && rule.evaluate(event, null)); } /** diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/EqualsRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/EqualsRule.java similarity index 85% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/EqualsRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/EqualsRule.java index 0e09ee5f2d5..298768d901c 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/EqualsRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/EqualsRule.java @@ -20,6 +20,9 @@ package org.apache.log4j.rule; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.LoggingEventFieldResolver; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.Stack; @@ -99,9 +102,18 @@ public class EqualsRule extends AbstractRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { + public boolean evaluate(final LoggingEvent event, Map matches) { Object p2 = RESOLVER.getValue(field, event); - return ((p2 != null) && p2.toString().equals(value)); + boolean result = (p2 != null) && p2.toString().equals(value); + if (result && matches != null) { + Set entries = (Set) matches.get(field.toUpperCase()); + if (entries == null) { + entries = new HashSet(); + matches.put(field.toUpperCase(), entries); + } + entries.add(value); + } + return result; } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/ExistsRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/ExistsRule.java similarity index 83% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/ExistsRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/ExistsRule.java index 961a6670faa..5dbc6c58491 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/ExistsRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/ExistsRule.java @@ -20,6 +20,9 @@ package org.apache.log4j.rule; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.LoggingEventFieldResolver; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.Stack; @@ -85,9 +88,18 @@ public class ExistsRule extends AbstractRule { /** * {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { + public boolean evaluate(final LoggingEvent event, Map matches) { Object p2 = RESOLVER.getValue(field, event); - return (!((p2 == null) || ((p2 != null) && p2.toString().equals("")))); + boolean result = !((p2 == null) || (p2.toString().equals(""))); + if (result && matches != null) { + Set entries = (Set) matches.get(field.toUpperCase()); + if (entries == null) { + entries = new HashSet(); + matches.put(field.toUpperCase(), entries); + } + entries.add(p2); + } + return result; } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/ExpressionRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/ExpressionRule.java similarity index 63% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/ExpressionRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/ExpressionRule.java index 90271bee695..875e3b9ab19 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/ExpressionRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/ExpressionRule.java @@ -17,10 +17,10 @@ package org.apache.log4j.rule; -import org.apache.log4j.spi.LoggingEvent; - +import java.util.Map; import java.util.Stack; -import java.util.StringTokenizer; + +import org.apache.log4j.spi.LoggingEvent; /** @@ -103,8 +103,8 @@ public class ExpressionRule extends AbstractRule { /** * {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - return rule.evaluate(event); + public boolean evaluate(final LoggingEvent event, Map matches) { + return rule.evaluate(event, matches); } /** @@ -128,64 +128,53 @@ public class ExpressionRule extends AbstractRule { RuleFactory factory = RuleFactory.getInstance(); Stack stack = new Stack(); - StringTokenizer tokenizer = new StringTokenizer(expression); + InFixToPostFix.CustomTokenizer tokenizer = new InFixToPostFix.CustomTokenizer(expression); - while (tokenizer.hasMoreTokens()) { - //examine each token - String token = tokenizer.nextToken(); - if ((token.startsWith("'")) - && (token.endsWith("'") - && (token.length() > 2))) { - token = token.substring(1, token.length() - 1); - } - if ((token.startsWith("'")) - && (token.endsWith("'") - && (token.length() == 2))) { - token = ""; - } - - boolean inText = token.startsWith("'"); - if (inText) { - token = token.substring(1); - while (inText && tokenizer.hasMoreTokens()) { - token = token + " " + tokenizer.nextToken(); - inText = !(token.endsWith("'")); + while (tokenizer.hasMoreTokens()) { + //examine each token + String token = tokenizer.nextToken(); + if (token.startsWith("'") || token.startsWith("\"")) { + String quoteChar = token.substring(0, 1); + token = token.substring(1); + while (!token.endsWith(quoteChar) && tokenizer.hasMoreTokens()) { + token = token + " " + tokenizer.nextToken(); + } + if (token.length() > 0) { + token = token.substring(0, token.length() - 1); + } + } else { + //if a symbol is found, pop 2 off the stack, + // evaluate and push the result + if (factory.isRule(token)) { + Rule r = factory.getRule(token, stack); + stack.push(r); + //null out the token so we don't try to push it below + token = null; + } + } + //variables or constants are pushed onto the stack + if (token != null && token.length() > 0) { + stack.push(token); + } } - if (token.length() > 0) { - token = token.substring(0, token.length() - 1); + + if ((stack.size() == 1) && (!(stack.peek() instanceof Rule))) { + //while this may be an attempt at creating an expression, + //for ease of use, convert this single entry to a partial-text + //match on the MSG field + Object o = stack.pop(); + stack.push("MSG"); + stack.push(o); + return factory.getRule("~=", stack); + } + + //stack should contain a single rule if the expression is valid + if ((stack.size() != 1) || (!(stack.peek() instanceof Rule))) { + throw new IllegalArgumentException("invalid expression: " + expression); + } else { + return (Rule) stack.pop(); } } - - //if a symbol is found, pop 2 off the stack, - // evaluate and push the result - if (factory.isRule(token)) { - Rule r = factory.getRule(token, stack); - stack.push(r); - } else { - //variables or constants are pushed onto the stack - if (token.length() > 0) { - stack.push(token); - } - } - } - - if ((stack.size() == 1) && (!(stack.peek() instanceof Rule))) { - //while this may be an attempt at creating an expression, - //for ease of use, convert this single entry to a partial-text - //match on the MSG field - Object o = stack.pop(); - stack.push("MSG"); - stack.push(o); - return factory.getRule("~=", stack); - } - - //stack should contain a single rule if the expression is valid - if ((stack.size() != 1) || (!(stack.peek() instanceof Rule))) { - throw new IllegalArgumentException("invalid expression: " + expression); - } else { - return (Rule) stack.pop(); - } - } } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/InFixToPostFix.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/InFixToPostFix.java similarity index 50% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/InFixToPostFix.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/InFixToPostFix.java index 9c9c7e674b8..8a7f3c370cb 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/InFixToPostFix.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/InFixToPostFix.java @@ -18,21 +18,21 @@ package org.apache.log4j.rule; import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Stack; -import java.util.StringTokenizer; import java.util.Vector; +import org.apache.log4j.spi.LoggingEventFieldResolver; + /** * A helper class which converts infix expressions to postfix expressions * Currently grouping is supported, as well as all of the * Rules supported by <code>RuleFactory</code> * - * NOTE: parsing is supported through the use of <code>StringTokenizer</code>, - * which means all tokens in the expression must be separated by spaces. - * - * Supports grouping via parens, mult-word operands using single quotes, + * Supports grouping via parens, mult-word operands using single or double quotes, * and these operators: * * ! NOT operator @@ -55,19 +55,17 @@ public class InFixToPostFix { /** * Precedence map. */ - private final Map precedenceMap = new HashMap(); + private static final Map precedenceMap = new HashMap(); /** * Operators. */ - private final List operators = new Vector(); + private static final List operators = new Vector(); - /** - * Create new instance. - */ - public InFixToPostFix() { - super(); - //boolean operators - operators.add("!"); + + static { + //order multi-char operators before single-char operators (will use this order during parsing) + operators.add("<="); + operators.add(">="); operators.add("!="); operators.add("=="); operators.add("~="); @@ -75,10 +73,9 @@ public class InFixToPostFix { operators.add("&&"); operators.add("like"); operators.add("exists"); + operators.add("!"); operators.add("<"); operators.add(">"); - operators.add("<="); - operators.add(">="); //boolean precedence precedenceMap.put("<", new Integer(3)); @@ -96,14 +93,13 @@ public class InFixToPostFix { precedenceMap.put("||", new Integer(2)); precedenceMap.put("&&", new Integer(2)); } - /** * Convert in-fix expression to post-fix. * @param expression in-fix expression. * @return post-fix expression. */ public String convert(final String expression) { - return infixToPostFix(new StringTokenizer(expression)); + return infixToPostFix(new CustomTokenizer(expression)); } /** @@ -111,7 +107,7 @@ public class InFixToPostFix { * @param s symbol. * @return true if operand. */ - boolean isOperand(final String s) { + public static boolean isOperand(final String s) { String symbol = s.toLowerCase(); return (!operators.contains(symbol)); } @@ -147,7 +143,7 @@ public class InFixToPostFix { * @param tokenizer tokenizer. * @return post-fix expression. */ - String infixToPostFix(final StringTokenizer tokenizer) { + String infixToPostFix(final CustomTokenizer tokenizer) { final String space = " "; StringBuffer postfix = new StringBuffer(); @@ -156,11 +152,12 @@ public class InFixToPostFix { while (tokenizer.hasMoreTokens()) { String token = tokenizer.nextToken(); - boolean inText = (token.startsWith("'") && (!token.endsWith("'"))); + boolean inText = (token.startsWith("'") && (!token.endsWith("'"))) || (token.startsWith("\"") && (!token.endsWith("\""))); + String quoteChar = token.substring(0, 1); if (inText) { while (inText && tokenizer.hasMoreTokens()) { token = token + " " + tokenizer.nextToken(); - inText = !(token.endsWith("'")); + inText = !(token.endsWith(quoteChar)); } } @@ -221,4 +218,161 @@ public class InFixToPostFix { return postfix.toString(); } + + public static class CustomTokenizer { + private LinkedList linkedList = new LinkedList(); + + public CustomTokenizer(String input) { + parseInput(input, linkedList); + } + + public void parseInput(String input, LinkedList linkedList) { + /* + Operators: + ! + != + == + ~= + || + && + like + exists + < + <= + > + >= + */ + //for operators, handle multi-char matches before single-char matches + //order does not matter for keywords + List keywords = LoggingEventFieldResolver.KEYWORD_LIST; + //remove PROP. from the keyword list...it is a keyword in that list, but is handled separately here from the other keywords since its name is not fixed + keywords.remove("PROP."); + int pos = 0; + while (pos < input.length()) { + if (nextValueIs(input, pos, "'") || nextValueIs(input, pos, "\"")) { + pos = handleQuotedString(input, pos, linkedList); + } + if (nextValueIs(input, pos, "PROP.")) { + pos = handleProperty(input, pos, linkedList); + } + boolean operatorFound = false; + for (Iterator iter = operators.iterator();iter.hasNext();) { + String operator = (String)iter.next(); + if (nextValueIs(input, pos, operator)) { + operatorFound = true; + pos = handle(pos, linkedList, operator); + } + } + boolean keywordFound = false; + for (Iterator iter = keywords.iterator();iter.hasNext();) { + String keyword = (String)iter.next(); + if (nextValueIs(input, pos, keyword)) { + keywordFound = true; + pos = handle(pos, linkedList, keyword); + } + } + if (operatorFound || keywordFound) { + continue; + } + if (nextValueIs(input, pos, ")")) { + pos = handle(pos, linkedList, ")"); + } else if (nextValueIs(input, pos, "(")) { + pos = handle(pos, linkedList, "("); + } else if (nextValueIs(input, pos, " ")) { + pos++; + } else { + pos = handleText(input, pos, linkedList); + } + } + } + + private boolean nextValueIs(String input, int pos, String value) { + return (input.length() >= (pos + value.length())) && (input.substring(pos, pos + value.length()).equalsIgnoreCase(value)); + } + + private int handle(int pos, LinkedList linkedList, String value) { + linkedList.add(value); + return pos + value.length(); + } + + private int handleQuotedString(String input, int pos, LinkedList linkedList) { + String quoteChar = input.substring(pos, pos + 1); + int nextSingleQuotePos = input.indexOf(quoteChar, pos + 1); + if (nextSingleQuotePos < 0) { + throw new IllegalArgumentException("Missing an end quote"); + } + String result = input.substring(pos, nextSingleQuotePos + 1); + linkedList.add(result); + return nextSingleQuotePos + 1; + } + + private int handleText(String input, int pos, LinkedList linkedList) { + StringBuffer text = new StringBuffer(""); + int newPos = pos; + while (newPos < input.length()) { + if (nextValueIs(input, newPos, " ")) { + linkedList.add(text); + return newPos; + } + if (nextValueIs(input, newPos, "(")) { + linkedList.add(text); + return newPos; + } + if (nextValueIs(input, newPos, ")")) { + linkedList.add(text); + return newPos; + } + for (Iterator iter = operators.iterator();iter.hasNext();) { + String operator = (String)iter.next(); + if (nextValueIs(input, newPos, operator)) { + linkedList.add(text); + return newPos; + } + } + text.append(input.substring(newPos, ++newPos)); + } + //don't add empty text entry (may be at end) + if (!text.toString().trim().equals("")) { + linkedList.add(text); + } + return newPos; + } + + private int handleProperty(String input, int pos, LinkedList linkedList) { + int propertyPos = pos + "PROP.".length(); + StringBuffer propertyName = new StringBuffer("PROP."); + while (propertyPos < input.length()) { + if (nextValueIs(input, propertyPos, " ")) { + linkedList.add(propertyName); + return propertyPos; + } + if (nextValueIs(input, propertyPos, "(")) { + linkedList.add(propertyName); + return propertyPos; + } + if (nextValueIs(input, propertyPos, ")")) { + linkedList.add(propertyName); + return propertyPos; + } + for (Iterator iter = operators.iterator();iter.hasNext();) { + String operator = (String)iter.next(); + if (nextValueIs(input, propertyPos, operator)) { + linkedList.add(propertyName); + return propertyPos; + } + } + propertyName.append(input.substring(propertyPos, ++propertyPos)); + } + linkedList.add(propertyName); + return propertyPos; + } + + public boolean hasMoreTokens() { + return linkedList.size() > 0; + } + + public String nextToken() { + return linkedList.remove().toString(); + } + } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/InequalityRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/InequalityRule.java similarity index 89% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/InequalityRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/InequalityRule.java index acfa87c85e9..8395b75b1f4 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/InequalityRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/InequalityRule.java @@ -20,6 +20,9 @@ package org.apache.log4j.rule; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.LoggingEventFieldResolver; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.Stack; @@ -119,12 +122,10 @@ public class InequalityRule extends AbstractRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { + public boolean evaluate(final LoggingEvent event, Map matches) { long first = 0; - - try { - first = - new Long(RESOLVER.getValue(field, event).toString()).longValue(); + try { + first = new Long(RESOLVER.getValue(field, event).toString()).longValue(); } catch (NumberFormatException nfe) { return false; } @@ -148,7 +149,14 @@ public class InequalityRule extends AbstractRule { } else if (">=".equals(inequalitySymbol)) { result = first >= second; } - + if (result && matches != null) { + Set entries = (Set) matches.get(field.toUpperCase()); + if (entries == null) { + entries = new HashSet(); + matches.put(field.toUpperCase(), entries); + } + entries.add(String.valueOf(first)); + } return result; } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java similarity index 81% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java index 033435ab600..68219bfef07 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/LevelEqualsRule.java @@ -18,12 +18,16 @@ package org.apache.log4j.rule; import java.io.IOException; +import java.util.HashSet; import java.util.LinkedList; import java.util.List; +import java.util.Map; +import java.util.Set; import org.apache.log4j.Level; import org.apache.log4j.helpers.UtilLoggingLevel; import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.LoggingEventFieldResolver; /** * A Rule class implementing equals against two levels. @@ -95,8 +99,20 @@ public class LevelEqualsRule extends AbstractRule { /** * {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - return level.equals(event.getLevel()); + public boolean evaluate(final LoggingEvent event, Map matches) { + //both util.logging and log4j contain 'info' - use the int values instead of equality + //info level set to the same value for both levels + Level eventLevel = event.getLevel(); + boolean result = (level.toInt() == eventLevel.toInt()); + if (result && matches != null) { + Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); + if (entries == null) { + entries = new HashSet(); + matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); + } + entries.add(eventLevel); + } + return result; } /** diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/LevelInequalityRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/LevelInequalityRule.java similarity index 71% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/LevelInequalityRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/LevelInequalityRule.java index f5c47761d77..1662a17b101 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/LevelInequalityRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/LevelInequalityRule.java @@ -17,12 +17,16 @@ package org.apache.log4j.rule; +import java.util.HashSet; import java.util.LinkedList; import java.util.List; +import java.util.Map; +import java.util.Set; import org.apache.log4j.Level; import org.apache.log4j.helpers.UtilLoggingLevel; import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.LoggingEventFieldResolver; /** * A Rule class implementing inequality evaluation for Levels (log4j and @@ -143,8 +147,18 @@ public class LevelInequalityRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - return (event.getLevel().toInt() < newLevelInt); + public boolean evaluate(final LoggingEvent event, Map matches) { + Level eventLevel = event.getLevel(); + boolean result = (eventLevel.toInt() < newLevelInt); + if (result && matches != null) { + Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); + if (entries == null) { + entries = new HashSet(); + matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); + } + entries.add(eventLevel); + } + return result; } } @@ -167,8 +181,18 @@ public class LevelInequalityRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - return (event.getLevel().toInt() > newLevelInt); + public boolean evaluate(final LoggingEvent event, Map matches) { + Level eventLevel = event.getLevel(); + boolean result = (eventLevel.toInt() > newLevelInt); + if (result && matches != null) { + Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); + if (entries == null) { + entries = new HashSet(); + matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); + } + entries.add(eventLevel); + } + return result; } } @@ -192,8 +216,18 @@ public class LevelInequalityRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - return event.getLevel().toInt() >= newLevelInt; + public boolean evaluate(final LoggingEvent event, Map matches) { + Level eventLevel = event.getLevel(); + boolean result = eventLevel.toInt() >= newLevelInt; + if (result && matches != null) { + Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); + if (entries == null) { + entries = new HashSet(); + matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); + } + entries.add(eventLevel); + } + return result; } } @@ -218,8 +252,19 @@ public class LevelInequalityRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - return (event.getLevel().toInt() <= newLevelInt); + public boolean evaluate(final LoggingEvent event, Map matches) { + Level eventLevel = event.getLevel(); + boolean result = eventLevel.toInt() <= newLevelInt; + if (result && matches != null) { + Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); + if (entries == null) { + entries = new HashSet(); + matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); + } + entries.add(eventLevel); + } + + return result; } } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/LikeRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/LikeRule.java similarity index 88% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/LikeRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/LikeRule.java index 65aeca82406..ffc7a697c21 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/LikeRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/LikeRule.java @@ -21,6 +21,9 @@ import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.LoggingEventFieldResolver; import java.io.IOException; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.Stack; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -104,7 +107,8 @@ public class LikeRule extends AbstractRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { + public boolean evaluate(final LoggingEvent event, Map matches) { + //no need to figure out what part of the string matched, just set the entire string as a match Object input = RESOLVER.getValue(field, event); if((input != null) && (pattern != null)) { if (matcher == null) { @@ -112,7 +116,16 @@ public class LikeRule extends AbstractRule { } else { matcher.reset(input.toString()); } - return matcher.matches(); + boolean result = matcher.matches(); + if (result && matches != null) { + Set entries = (Set) matches.get(field.toUpperCase()); + if (entries == null) { + entries = new HashSet(); + matches.put(field.toUpperCase(), entries); + } + entries.add(input); + } + return result; } return false; } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/NotEqualsRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/NotEqualsRule.java similarity index 73% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/NotEqualsRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/NotEqualsRule.java index dcf045a06d8..aea27927367 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/NotEqualsRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/NotEqualsRule.java @@ -17,11 +17,14 @@ package org.apache.log4j.rule; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.Stack; + import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.LoggingEventFieldResolver; -import java.util.Stack; - /** * A Rule class implementing not equals against two strings. @@ -70,7 +73,11 @@ public class NotEqualsRule extends AbstractRule { * @return new instance. */ public static Rule getRule(final String field, final String value) { - return new NotEqualsRule(field, value); + if (field.equalsIgnoreCase(LoggingEventFieldResolver.LEVEL_FIELD)) { + return NotLevelEqualsRule.getRule(value); + } else { + return new NotEqualsRule(field, value); + } } /** @@ -88,13 +95,27 @@ public class NotEqualsRule extends AbstractRule { String p2 = stack.pop().toString(); String p1 = stack.pop().toString(); - return new NotEqualsRule(p1, p2); + if (p1.equalsIgnoreCase(LoggingEventFieldResolver.LEVEL_FIELD)) { + return NotLevelEqualsRule.getRule(p2); + } else { + return new NotEqualsRule(p1, p2); + } } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { + public boolean evaluate(final LoggingEvent event, Map matches) { Object p2 = RESOLVER.getValue(field, event); - return ((p2 != null) && !(p2.toString().equals(value))); + boolean result = (p2 != null) && !(p2.toString().equals(value)); + if (result && matches != null) { + //not equals - add the text that isn't equal (p2) + Set entries = (Set) matches.get(field.toUpperCase()); + if (entries == null) { + entries = new HashSet(); + matches.put(field.toUpperCase(), entries); + } + entries.add(value); + } + return result; } } diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/NotLevelEqualsRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/NotLevelEqualsRule.java new file mode 100644 index 00000000000..336b7673f80 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/NotLevelEqualsRule.java @@ -0,0 +1,149 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.rule; + +import java.io.IOException; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.log4j.Level; +import org.apache.log4j.helpers.UtilLoggingLevel; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.spi.LoggingEventFieldResolver; + +/** + * A Rule class implementing not equals against two levels. + * + * @author Scott Deboy (sdeboy@apache.org) + */ +public class NotLevelEqualsRule extends AbstractRule { + /** + * Serialization ID. + */ + static final long serialVersionUID = -3638386582899583994L; + + /** + * Level. + */ + private transient Level level; + + /** + * List of levels. + */ + private static List levelList = new LinkedList(); + + static { + populateLevels(); + } + + /** + * Create new instance. + * @param level level. + */ + private NotLevelEqualsRule(final Level level) { + super(); + this.level = level; + } + + /** + * Populate list of levels. + */ + private static void populateLevels() { + levelList = new LinkedList(); + + levelList.add(Level.FATAL.toString()); + levelList.add(Level.ERROR.toString()); + levelList.add(Level.WARN.toString()); + levelList.add(Level.INFO.toString()); + levelList.add(Level.DEBUG.toString()); + Level trace = Level.toLevel(5000, null); + if (trace != null) { + levelList.add(trace.toString()); + } + } + + /** + * Create new rule. + * @param value name of level. + * @return instance of NotLevelEqualsRule. + */ + public static Rule getRule(final String value) { + Level thisLevel; + if (levelList.contains(value.toUpperCase())) { + thisLevel = Level.toLevel(value.toUpperCase()); + } else { + thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase()); + } + + return new NotLevelEqualsRule(thisLevel); + } + + /** + * {@inheritDoc} + */ + public boolean evaluate(final LoggingEvent event, Map matches) { + //both util.logging and log4j contain 'info' - use the int values instead of equality + //info level set to the same value for both levels + Level eventLevel = event.getLevel(); + boolean result = level.toInt() != eventLevel.toInt(); + if (result && matches != null) { + Set entries = (Set) matches.get(LoggingEventFieldResolver.LEVEL_FIELD); + if (entries == null) { + entries = new HashSet(); + matches.put(LoggingEventFieldResolver.LEVEL_FIELD, entries); + } + entries.add(eventLevel); + } + return result; + } + + /** + * Deserialize the state of the object. + * + * @param in object input stream. + * + * @throws IOException if error in reading stream for deserialization. + */ + private void readObject(final java.io.ObjectInputStream in) + throws IOException { + populateLevels(); + boolean isUtilLogging = in.readBoolean(); + int levelInt = in.readInt(); + if (isUtilLogging) { + level = UtilLoggingLevel.toLevel(levelInt); + } else { + level = Level.toLevel(levelInt); + } + } + + /** + * Serialize the state of the object. + * + * @param out object output stream. + * + * @throws IOException if error in writing stream during serialization. + */ + private void writeObject(final java.io.ObjectOutputStream out) + throws IOException { + out.writeBoolean(level instanceof UtilLoggingLevel); + out.writeInt(level.toInt()); + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/NotRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/NotRule.java similarity index 71% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/NotRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/NotRule.java index 4d83232213d..5e264e35579 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/NotRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/NotRule.java @@ -19,6 +19,11 @@ package org.apache.log4j.rule; import org.apache.log4j.spi.LoggingEvent; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; import java.util.Stack; /** @@ -75,7 +80,25 @@ public class NotRule extends AbstractRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - return !(rule.evaluate(event)); + public boolean evaluate(final LoggingEvent event, Map matches) { + if (matches == null) { + return !(rule.evaluate(event, null)); + } + Map tempMatches = new HashMap(); + boolean result = !(rule.evaluate(event, tempMatches)); + if (result) { + for (Iterator iter = tempMatches.entrySet().iterator();iter.hasNext();) { + Map.Entry entry = (Map.Entry)iter.next(); + Object key = entry.getKey(); + Set value = (Set)entry.getValue(); + Set mainSet = (Set) matches.get(key); + if (mainSet == null) { + mainSet = new HashSet(); + matches.put(key, mainSet); + } + mainSet.addAll(value); + } + } + return result; } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/OrRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/OrRule.java similarity index 60% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/OrRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/OrRule.java index 33ade20d9b3..ecfa46f64a1 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/OrRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/OrRule.java @@ -19,6 +19,11 @@ package org.apache.log4j.rule; import org.apache.log4j.spi.LoggingEvent; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; import java.util.Stack; /** @@ -83,7 +88,40 @@ public class OrRule extends AbstractRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - return (rule1.evaluate(event) || rule2.evaluate(event)); + public boolean evaluate(final LoggingEvent event, Map matches) { + if (matches == null) { + return (rule1.evaluate(event, null) || rule2.evaluate(event, null)); + } + Map tempMatches1 = new HashMap(); + Map tempMatches2 = new HashMap(); + //not short-circuiting because we want to build the matches list + boolean result1 = rule1.evaluate(event, tempMatches1); + boolean result2 = rule2.evaluate(event, tempMatches2); + boolean result = result1 || result2; + if (result) { + for (Iterator iter = tempMatches1.entrySet().iterator();iter.hasNext();) { + Map.Entry entry = (Map.Entry)iter.next(); + Object key = entry.getKey(); + Set value = (Set)entry.getValue(); + Set mainSet = (Set) matches.get(key); + if (mainSet == null) { + mainSet = new HashSet(); + matches.put(key, mainSet); + } + mainSet.addAll(value); + } + for (Iterator iter = tempMatches2.entrySet().iterator();iter.hasNext();) { + Map.Entry entry = (Map.Entry)iter.next(); + Object key = entry.getKey(); + Set value = (Set)entry.getValue(); + Set mainSet = (Set) matches.get(key); + if (mainSet == null) { + mainSet = new HashSet(); + matches.put(key, mainSet); + } + mainSet.addAll(value); + } + } + return result; } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/PartialTextMatchRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/PartialTextMatchRule.java similarity index 83% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/PartialTextMatchRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/PartialTextMatchRule.java index df7c6cdb3c7..da562588c4b 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/PartialTextMatchRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/PartialTextMatchRule.java @@ -20,6 +20,9 @@ package org.apache.log4j.rule; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.LoggingEventFieldResolver; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.Stack; @@ -93,10 +96,17 @@ public class PartialTextMatchRule extends AbstractRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { + public boolean evaluate(final LoggingEvent event, Map matches) { Object p2 = RESOLVER.getValue(field, event); - - return ((p2 != null) && (value != null) - && (p2.toString().toLowerCase().indexOf(value.toLowerCase()) > -1)); + boolean result = ((p2 != null) && (value != null) && (p2.toString().toLowerCase().indexOf(value.toLowerCase()) > -1)); + if (result && matches != null) { + Set entries = (Set) matches.get(field.toUpperCase()); + if (entries == null) { + entries = new HashSet(); + matches.put(field.toUpperCase(), entries); + } + entries.add(value); + } + return result; } } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/Rule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/Rule.java similarity index 87% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/Rule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/Rule.java index 1177c5ed57f..b7c3ee8ef54 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/Rule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/Rule.java @@ -22,6 +22,7 @@ package org.apache.log4j.rule; import org.apache.log4j.spi.LoggingEvent; import java.beans.PropertyChangeListener; +import java.util.Map; /** @@ -40,9 +41,12 @@ public interface Rule { * <p>What True/False means can be client-specific. * * @param e LoggingEvent this instance will evaluate + * @param matches a Map of event field keys to Sets of matching strings (may be null) which will be + * updated during execution of this method to include field and string matches based on the rule + * evaluation results * @return true if this Rule instance accepts the event, otherwise false. */ - boolean evaluate(LoggingEvent e); + boolean evaluate(LoggingEvent e, Map matches); /** * Adds a PropertyChangeListener to this instance, which is notified when diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/RuleFactory.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/RuleFactory.java similarity index 97% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/RuleFactory.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/RuleFactory.java index eee614203dc..be62d527477 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/RuleFactory.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/RuleFactory.java @@ -17,12 +17,9 @@ package org.apache.log4j.rule; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.util.Collection; import java.util.LinkedList; import java.util.Stack; -import org.apache.log4j.LogManager; /** * A Factory class which, given a string representation of the rule, diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java similarity index 80% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java index 6b75267e47f..f43f36f634a 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/TimestampEqualsRule.java @@ -21,6 +21,9 @@ import java.io.IOException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.LoggingEventFieldResolver; @@ -75,10 +78,19 @@ public class TimestampEqualsRule extends AbstractRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { - long eventTimeStamp = Long.parseLong( - RESOLVER.getValue("TIMESTAMP", event).toString()) / 1000 * 1000; - return eventTimeStamp == timeStamp; + public boolean evaluate(final LoggingEvent event, Map matches) { + String eventTimeStampString = RESOLVER.getValue(LoggingEventFieldResolver.TIMESTAMP_FIELD, event).toString(); + long eventTimeStamp = Long.parseLong(eventTimeStampString) / 1000 * 1000; + boolean result = (eventTimeStamp == timeStamp); + if (result && matches != null) { + Set entries = (Set) matches.get(LoggingEventFieldResolver.TIMESTAMP_FIELD); + if (entries == null) { + entries = new HashSet(); + matches.put(LoggingEventFieldResolver.TIMESTAMP_FIELD, entries); + } + entries.add(eventTimeStampString); + } + return result; } /** diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java similarity index 86% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java index 4d64c9310fd..44c5776a558 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/rule/TimestampInequalityRule.java @@ -21,6 +21,9 @@ import java.io.IOException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.LoggingEventFieldResolver; @@ -82,9 +85,10 @@ public class TimestampInequalityRule extends AbstractRule { } /** {@inheritDoc} */ - public boolean evaluate(final LoggingEvent event) { + public boolean evaluate(final LoggingEvent event, Map matches) { + String eventTimeStampString = RESOLVER.getValue(LoggingEventFieldResolver.TIMESTAMP_FIELD, event).toString(); long eventTimeStamp = Long.parseLong( - RESOLVER.getValue("TIMESTAMP", event).toString()) / 1000 * 1000; + eventTimeStampString) / 1000 * 1000; boolean result = false; long first = eventTimeStamp; long second = timeStamp; @@ -98,7 +102,14 @@ public class TimestampInequalityRule extends AbstractRule { } else if (">=".equals(inequalitySymbol)) { result = first >= second; } - + if (result && matches != null) { + Set entries = (Set) matches.get(LoggingEventFieldResolver.TIMESTAMP_FIELD); + if (entries == null) { + entries = new HashSet(); + matches.put(LoggingEventFieldResolver.TIMESTAMP_FIELD, entries); + } + entries.add(eventTimeStampString); + } return result; } diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java similarity index 92% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java index 8855a1ea73c..b8ffc31aa03 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java @@ -18,10 +18,14 @@ package org.apache.log4j.spi; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; -import java.util.StringTokenizer; +import java.util.Map; +import java.util.Set; import java.util.Locale; +import org.apache.log4j.rule.InFixToPostFix; + /** * A singleton helper utility which accepts a field name @@ -154,7 +158,7 @@ public final class LoggingEventFieldResolver { if (replaceText == null) { return null; } - StringTokenizer tokenizer = new StringTokenizer(replaceText); + InFixToPostFix.CustomTokenizer tokenizer = new InFixToPostFix.CustomTokenizer(replaceText); StringBuffer result = new StringBuffer(); boolean found = false; @@ -227,6 +231,17 @@ public final class LoggingEventFieldResolver { } else if (upperField.startsWith(PROP_FIELD)) { //note: need to use actual fieldname since case matters Object propValue = event.getMDC(fieldName.substring(5)); + if (propValue == null) { + //case-specific match didn't work, try case insensitive match + String lowerPropKey = fieldName.substring(5).toLowerCase(); + Set entrySet = event.getProperties().entrySet(); + for (Iterator iter = entrySet.iterator();iter.hasNext();) { + Map.Entry thisEntry = (Map.Entry) iter.next(); + if (thisEntry.getKey().toString().toLowerCase().equals(lowerPropKey)) { + propValue = thisEntry.getValue(); + } + } + } return ((propValue == null) ? EMPTY_STRING : propValue.toString()); } else { LocationInfo info = event.getLocationInformation(); diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/varia/SoundAppender.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/varia/SoundAppender.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/varia/SoundAppender.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/varia/SoundAppender.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/xml/UnrecognizedElementHandler.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/xml/UnrecognizedElementHandler.java new file mode 100644 index 00000000000..463d5d989d0 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/xml/UnrecognizedElementHandler.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.xml; + +import org.w3c.dom.Element; +import java.util.Properties; + +/** + * When implemented by an object configured by DOMConfigurator, + * the handle method will be called when an unrecognized child + * element is encountered. Unrecognized child elements of + * the log4j:configuration element will be dispatched to + * the logger repository if it supports this interface. + * + * @since 1.2.15 + */ +public interface UnrecognizedElementHandler { + /** + * Called to inform a configured object when + * an unrecognized child element is encountered. + * @param element element, may not be null. + * @param props properties in force, may be null. + * @return true if configured object recognized the element + * @throws Exception throw an exception to prevent activation + * of the configured object. + */ + boolean parseUnrecognizedElement(Element element, Properties props) throws Exception; +} \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/xml/XSLTLayout.java b/thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/xml/XSLTLayout.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/java/org/apache/log4j/xml/XSLTLayout.java rename to thirdparty/apache-log4j-extras-1.1/src/main/java/org/apache/log4j/xml/XSLTLayout.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/resources/META-INF/LICENSE b/thirdparty/apache-log4j-extras-1.1/src/main/resources/META-INF/LICENSE new file mode 100644 index 00000000000..6279e5206de --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/resources/META-INF/LICENSE @@ -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/thirdparty/apache-log4j-extras-1.0/NOTICE b/thirdparty/apache-log4j-extras-1.1/src/main/resources/META-INF/NOTICE similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/NOTICE rename to thirdparty/apache-log4j-extras-1.1/src/main/resources/META-INF/NOTICE diff --git a/thirdparty/apache-log4j-extras-1.1/src/main/resources/org/apache/log4j/extras/log4j.dtd b/thirdparty/apache-log4j-extras-1.1/src/main/resources/org/apache/log4j/extras/log4j.dtd new file mode 100644 index 00000000000..1aabd96c3be --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/main/resources/org/apache/log4j/extras/log4j.dtd @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Authors: Chris Taylor, Ceki Gulcu. --> + +<!-- Version: 1.2 --> + +<!-- A configuration element consists of optional renderer +elements,appender elements, categories and an optional root +element. --> + +<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?, + (categoryFactory|loggerFactory)?)> + +<!-- The "threshold" attribute takes a level value below which --> +<!-- all logging statements are disabled. --> + +<!-- Setting the "debug" enable the printing of internal log4j logging --> +<!-- statements. --> + +<!-- By default, debug attribute is "null", meaning that we not do touch --> +<!-- internal log4j logging settings. The "null" value for the threshold --> +<!-- attribute can be misleading. The threshold field of a repository --> +<!-- cannot be set to null. The "null" value for the threshold attribute --> +<!-- simply means don't touch the threshold field, the threshold field --> +<!-- keeps its old value. --> + +<!ATTLIST log4j:configuration + xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/" + threshold (all|trace|debug|info|warn|error|fatal|off|null) "null" + debug (true|false|null) "null" + reset (true|false) "false" +> + +<!-- renderer elements allow the user to customize the conversion of --> +<!-- message objects to String. --> + +<!ELEMENT renderer EMPTY> +<!ATTLIST renderer + renderedClass CDATA #REQUIRED + renderingClass CDATA #REQUIRED +> + +<!-- Appenders must have a name and a class. --> +<!-- Appenders may contain an error handler, a layout, optional parameters --> +<!-- and filters. They may also reference (or include) other appenders. --> +<!ELEMENT appender (errorHandler?, param*, + rollingPolicy?, triggeringPolicy?, connectionSource?, + layout?, filter*, appender-ref*)> +<!ATTLIST appender + name CDATA #REQUIRED + class CDATA #REQUIRED +> + +<!ELEMENT layout (param*)> +<!ATTLIST layout + class CDATA #REQUIRED +> + +<!ELEMENT filter (param*)> +<!ATTLIST filter + class CDATA #REQUIRED +> + +<!-- ErrorHandlers can be of any class. They can admit any number of --> +<!-- parameters. --> + +<!ELEMENT errorHandler (param*, root-ref?, logger-ref*, appender-ref?)> +<!ATTLIST errorHandler + class CDATA #REQUIRED +> + +<!ELEMENT root-ref EMPTY> + +<!ELEMENT logger-ref EMPTY> +<!ATTLIST logger-ref + ref CDATA #REQUIRED +> + +<!ELEMENT param EMPTY> +<!ATTLIST param + name CDATA #REQUIRED + value CDATA #REQUIRED +> + + +<!-- The priority class is org.apache.log4j.Level by default --> +<!ELEMENT priority (param*)> +<!ATTLIST priority + class CDATA #IMPLIED + value CDATA #REQUIRED +> + +<!-- The level class is org.apache.log4j.Level by default --> +<!ELEMENT level (param*)> +<!ATTLIST level + class CDATA #IMPLIED + value CDATA #REQUIRED +> + + +<!-- If no level element is specified, then the configurator MUST not --> +<!-- touch the level of the named category. --> +<!ELEMENT category (param*,(priority|level)?,appender-ref*)> +<!ATTLIST category + class CDATA #IMPLIED + name CDATA #REQUIRED + additivity (true|false) "true" +> + +<!-- If no level element is specified, then the configurator MUST not --> +<!-- touch the level of the named logger. --> +<!ELEMENT logger (level?,appender-ref*)> +<!ATTLIST logger + name CDATA #REQUIRED + additivity (true|false) "true" +> + + +<!ELEMENT categoryFactory (param*)> +<!ATTLIST categoryFactory + class CDATA #REQUIRED> + +<!ELEMENT loggerFactory (param*)> +<!ATTLIST loggerFactory + class CDATA #REQUIRED> + +<!ELEMENT appender-ref EMPTY> +<!ATTLIST appender-ref + ref CDATA #REQUIRED +> + +<!-- plugins must have a name and class and can have optional parameters --> +<!ELEMENT plugin (param*, connectionSource?)> +<!ATTLIST plugin + name CDATA #REQUIRED + class CDATA #REQUIRED +> + +<!ELEMENT connectionSource (dataSource?, param*)> +<!ATTLIST connectionSource + class CDATA #REQUIRED +> + +<!ELEMENT dataSource (param*)> +<!ATTLIST dataSource + class CDATA #REQUIRED +> + +<!ELEMENT triggeringPolicy ((param|filter)*)> +<!ATTLIST triggeringPolicy + name CDATA #IMPLIED + class CDATA #REQUIRED +> + +<!ELEMENT rollingPolicy (param*)> +<!ATTLIST rollingPolicy + name CDATA #IMPLIED + class CDATA #REQUIRED +> + + +<!-- If no priority element is specified, then the configurator MUST not --> +<!-- touch the priority of root. --> +<!-- The root category always exists and cannot be subclassed. --> +<!ELEMENT root (param*, (priority|level)?, appender-ref*)> + + +<!-- ==================================================================== --> +<!-- A logging event --> +<!-- ==================================================================== --> +<!ELEMENT log4j:eventSet (log4j:event*)> +<!ATTLIST log4j:eventSet + xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/" + version (1.1|1.2) "1.2" + includesLocationInfo (true|false) "true" +> + + + +<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, + log4j:locationInfo?, log4j:properties?) > + +<!-- The timestamp format is application dependent. --> +<!ATTLIST log4j:event + logger CDATA #REQUIRED + level CDATA #REQUIRED + thread CDATA #REQUIRED + timestamp CDATA #REQUIRED + time CDATA #IMPLIED +> + +<!ELEMENT log4j:message (#PCDATA)> +<!ELEMENT log4j:NDC (#PCDATA)> + +<!ELEMENT log4j:throwable (#PCDATA)> + +<!ELEMENT log4j:locationInfo EMPTY> +<!ATTLIST log4j:locationInfo + class CDATA #REQUIRED + method CDATA #REQUIRED + file CDATA #REQUIRED + line CDATA #REQUIRED +> + +<!ELEMENT log4j:properties (log4j:data*)> + +<!ELEMENT log4j:data EMPTY> +<!ATTLIST log4j:data + name CDATA #REQUIRED + value CDATA #REQUIRED +> diff --git a/thirdparty/apache-log4j-extras-1.0/src/main/resources/org/apache/log4j/xml/default.xslt b/thirdparty/apache-log4j-extras-1.1/src/main/resources/org/apache/log4j/xml/default.xslt similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/main/resources/org/apache/log4j/xml/default.xslt rename to thirdparty/apache-log4j-extras-1.1/src/main/resources/org/apache/log4j/xml/default.xslt diff --git a/thirdparty/apache-log4j-extras-1.1/src/site/apt/download.apt b/thirdparty/apache-log4j-extras-1.1/src/site/apt/download.apt new file mode 100644 index 00000000000..b7ffd8122b9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/site/apt/download.apt @@ -0,0 +1,60 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one or more +~~ contributor license agreements. See the NOTICE file distributed with +~~ this work for additional information regarding copyright ownership. +~~ The ASF licenses this file to You under the Apache License, Version 2.0 +~~ (the "License"); you may not use this file except in compliance with +~~ the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, software +~~ distributed under the License is distributed on an "AS IS" BASIS, +~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +~~ See the License for the specific language governing permissions and +~~ limitations under the License. + ------ +Download Apache Extras Companion\u2122 for Apache log4j\u2122 + ------ + ------ + ------ + +Download Apache Extras Companion\u2122 for Apache log4j\u2122 + + Apache Extras Companion\u2122 for Apache log4j\u2122 is distributed under the {{{http://www.apache.org/licenses/LICENSE-2.0.html} Apache License, version 2.0}}. + + The link in the Mirrors column should display a list of available mirrors with a + default selection based on your inferred location. If you do not see that page, + try a different browser. The checksum and signature are links to + the originals on the main distribution server. + +*-------------------------+---------+----------+-----------+ +| | Mirrors | Checksum | Signature | +*-------------------------+---------+----------+-----------+ +| apache-log4j-extras-1.1 (tar.gz) | {{{http://www.apache.org/dyn/closer.cgi/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.tar.gz} apache-log4j-extras-1.1.tar.gz}} | {{{http://www.apache.org/dist/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.tar.gz.md5} apache-log4j-extras-1.1.tar.gz.md5}} | {{{http://www.apache.org/dist/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.tar.gz.asc} apache-log4j-extras-1.1.tar.gz.asc}} | +*-------------------------+---------+----------+-----------+ +| apache-log4j-extras-1.1 (zip) | {{{http://www.apache.org/dyn/closer.cgi/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.zip} apache-log4j-extras-1.1.zip}} | {{{http://www.apache.org/dist/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.zip.md5} apache-log4j-extras-1.1.zip.md5}} | {{{http://www.apache.org/dist/logging/log4j/companions/extras/1.1/apache-log4j-extras-1.1.zip.asc} apache-log4j-extras-1.1.zip.asc}} | +*-------------------------+---------+----------+-----------+ + + It is essential that you verify the integrity of the downloaded files using the PGP or MD5 signatures. + Please read {{{http://httpd.apache.org/dev/verification.html}Verifying Apache HTTP Server Releases}} for more + information on why you should verify our releases. + + The PGP signatures can be verified using PGP or GPG. First download the {{{http://www.apache.org/dist/logging/KEYS}KEYS}} + as well as the asc signature file for the relevant distribution. Make sure you get these files from the + {{{http://www.apache.org/dist/logging/}main distribution directory}}, rather than from a mirror. Then verify the signatures using + +--- +% gpg --import KEYS +% gpg --verify apache-log4j-extras-1.1.tar.gz.asc +--- + + Apache log4j extras 1.1 is signed by Curt Arnold 70C9C3DO + + Alternatively, you can verify the MD5 signature on the files. A unix program called md5 or md5sum is included + in many unix distributions. + + + +* Previous Releases + + Previous releases can be found in the {{{http://archive.apache.org/dist/logging/log4j/companions/extras}archive repository}}. diff --git a/thirdparty/apache-log4j-extras-1.1/src/site/apt/index.apt b/thirdparty/apache-log4j-extras-1.1/src/site/apt/index.apt new file mode 100644 index 00000000000..ac50e5f749e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/site/apt/index.apt @@ -0,0 +1,31 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one or more +~~ contributor license agreements. See the NOTICE file distributed with +~~ this work for additional information regarding copyright ownership. +~~ The ASF licenses this file to You under the Apache License, Version 2.0 +~~ (the "License"); you may not use this file except in compliance with +~~ the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, software +~~ distributed under the License is distributed on an "AS IS" BASIS, +~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +~~ See the License for the specific language governing permissions and +~~ limitations under the License. + ------ + Apache Extras Companion\u2122 for Apache log4j\u2122 + ------ + ------ + ------ + + Apache Extras Companion\u2122 for Apache log4j\u2122 is a collection of appenders, filters, + and layouts for Apache log4j 1.2. These components are built and tested using Apache log4j 1.2.9 and supported for + use with an later 1.2.x release. Some components may be usable with Apache log4j 1.2.8 + and earlier. + + Apache Extras Companion for Apache log4j is a product of the {{{http://logging.apache.org}Apache Logging Services Project}}, + a project of {{{http://www.apache.org}The Apache Software Foundation}}. + + Many of these components were originally developed in the discontinued Apache log4j 1.3 + development effort. + diff --git a/thirdparty/apache-log4j-extras-1.0/src/site/apt/roadmap.apt b/thirdparty/apache-log4j-extras-1.1/src/site/apt/roadmap.apt similarity index 81% rename from thirdparty/apache-log4j-extras-1.0/src/site/apt/roadmap.apt rename to thirdparty/apache-log4j-extras-1.1/src/site/apt/roadmap.apt index bc39d95e146..bca79127105 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/site/apt/roadmap.apt +++ b/thirdparty/apache-log4j-extras-1.1/src/site/apt/roadmap.apt @@ -13,13 +13,13 @@ ~~ See the License for the specific language governing permissions and ~~ limitations under the License. ------ - apache-log4j-extras Roadmap +Apache Extras Companion\u2122 for Apache log4j\u2122 Roadmap ------ ------ ------ -apache-log4j-extras Roadmap +Apache Extras Companion\u2122 for Apache log4j\u2122 Roadmap The extras component is open to additional generally useful features that are compatible - with the widely deployed log4j 1.2 releases and do not add additional dependencies. \ No newline at end of file + with the widely deployed Apache log4j 1.2 releases and do not add additional dependencies. diff --git a/thirdparty/apache-log4j-extras-1.1/src/site/maven-site.vm b/thirdparty/apache-log4j-extras-1.1/src/site/maven-site.vm new file mode 100644 index 00000000000..04a0fc2115f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/site/maven-site.vm @@ -0,0 +1,522 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- Generated by Apache Maven Doxia at $dateFormat.format( $currentDate ) --> +#macro ( link $href $name $target $img $position $alt $border $width $height ) + #set ( $linkTitle = ' title="' + $name + '"' ) + #if( $target ) + #set ( $linkTarget = ' target="' + $target + '"' ) + #else + #set ( $linkTarget = "" ) + #end + #if ( ( $href.toLowerCase().startsWith("http") || $href.toLowerCase().startsWith("https") ) ) + #set ( $linkClass = ' class="externalLink"' ) + #else + #set ( $linkClass = "" ) + #end + #if ( $img ) + #if ( $position == "left" ) + <a href="$href"$linkClass$linkTarget$linkTitle>#image($img $alt $border $width $height)$name</a> + #else + <a href="$href"$linkClass$linkTarget$linkTitle>$name #image($img $alt $border $width $height)</a> + #end + #else + <a href="$href"$linkClass$linkTarget$linkTitle>$name</a> + #end +#end +## +#macro ( image $img $alt $border $width $height ) + #if( $img ) + #if ( ! ( $img.toLowerCase().startsWith("http") || $img.toLowerCase().startsWith("https") ) ) + #set ( $imgSrc = $PathTool.calculateLink( $img, $relativePath ) ) + #set ( $imgSrc = $imgSrc.replaceAll( '\\', '/' ) ) + #set ( $imgSrc = ' src="' + $imgSrc + '"' ) + #else + #set ( $imgSrc = ' src="' + $img + '"' ) + #end + #if( $alt ) + #set ( $imgAlt = ' alt="' + $alt + '"' ) + #else + #set ( $imgAlt = ' alt=""' ) + #end + #if( $border ) + #set ( $imgBorder = ' border="' + $border + '"' ) + #else + #set ( $imgBorder = "" ) + #end + #if( $width ) + #set ( $imgWidth = ' width="' + $width + '"' ) + #else + #set ( $imgWidth = "" ) + #end + #if( $height ) + #set ( $imgHeight = ' height="' + $height + '"' ) + #else + #set ( $imgHeight = "" ) + #end + <img class="imageLink"$imgSrc$imgAlt$imgBorder$imgWidth$imgHeight/> + #end +#end +#macro ( banner $banner $id ) + #if ( $banner ) + #if( $banner.href ) + <a href="$banner.href" id="$id"#if( $banner.alt ) title="$banner.alt"#end> + #else + <div id="$id"> + #end +## + #if( $banner.src ) + #set ( $src = $banner.src ) + #if ( ! ( $src.toLowerCase().startsWith("http") || $src.toLowerCase().startsWith("https") ) ) + #set ( $src = $PathTool.calculateLink( $src, $relativePath ) ) + #set ( $src = $src.replaceAll( '\\', '/' ) ) + #end + #if ( $banner.alt ) + #set ( $alt = $banner.alt ) + #else + #set ( $alt = $banner.name ) + #end + <img src="$src" alt="$alt" /> + #else + $banner.name + #end +## + #if( $banner.href ) + </a> + #else + </div> + #end + #end +#end +## +#macro ( links $links ) + #set ( $counter = 0 ) + #foreach( $item in $links ) + #set ( $counter = $counter + 1 ) + #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) ) + #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) ) + #link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height ) + #if ( $links.size() > $counter ) + | + #end + #end +#end +## +#macro ( breadcrumbs $breadcrumbs ) + #set ( $counter = 0 ) + #foreach( $item in $breadcrumbs ) + #set ( $counter = $counter + 1 ) + #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) ) + #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) ) +## + #if ( $currentItemHref == $alignedFileName || $currentItemHref == "" ) + $item.name + #else + #link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height ) + #end + #if ( $breadcrumbs.size() > $counter ) + &gt; + #end + #end +#end +## +#macro ( displayTree $display $item ) + #if ( $item && $item.items && $item.items.size() > 0 ) + #foreach( $subitem in $item.items ) + #set ( $subitemHref = $PathTool.calculateLink( $subitem.href, $relativePath ) ) + #set ( $subitemHref = $subitemHref.replaceAll( '\\', '/' ) ) + #if ( $alignedFileName == $subitemHref ) + #set ( $display = true ) + #end +## + #displayTree( $display $subitem ) + #end + #end +#end +## +#macro ( menuItem $item ) + #set ( $collapse = "none" ) + #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) ) + #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) ) +## + #if ( $item && $item.items && $item.items.size() > 0 ) + #if ( $item.collapse == false ) + #set ( $collapse = "expanded" ) + #else + ## By default collapsed + #set ( $collapse = "collapsed" ) + #end +## + #set ( $display = false ) + #displayTree( $display $item ) +## + #if ( $alignedFileName == $currentItemHref || $display ) + #set ( $collapse = "expanded" ) + #end + #end + <li class="$collapse"> + #if ( $item.img ) + #if ( $item.position == "left" ) + #if ( $alignedFileName == $currentItemHref ) + <strong>#image($item.img $item.alt $item.border $item.width $item.height) $item.name</strong> + #else + #link($currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height) + #end + #else + #if ( $alignedFileName == $currentItemHref ) + <strong>$item.name #image($item.img $item.alt $item.border $item.width $item.height)</strong> + #else + #link($currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height) + #end + #end + #else + #if ( $alignedFileName == $currentItemHref ) + <strong>$item.name</strong> + #else + #link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height ) + #end + #end + #if ( $item && $item.items && $item.items.size() > 0 ) + #if ( $collapse == "expanded" ) + <ul> + #foreach( $subitem in $item.items ) + #menuItem( $subitem ) + #end + </ul> + #end + #end + </li> +#end +## +#macro ( mainMenu $menus ) + #foreach( $menu in $menus ) + #if ( $menu.name ) + #if ( $menu.img ) + #if( $menu.position ) + #set ( $position = $menu.position ) + #else + #set ( $position = "left" ) + #end +## + #if ( ! ( $menu.img.toLowerCase().startsWith("http") || $menu.img.toLowerCase().startsWith("https") ) ) + #set ( $src = $PathTool.calculateLink( $menu.img, $relativePath ) ) + #set ( $src = $src.replaceAll( '\\', '/' ) ) + #set ( $src = ' src="' + $src + '"' ) + #else + #set ( $src = ' src="' + $menu.img + '"' ) + #end +## + #if( $menu.alt ) + #set ( $alt = ' alt="' + $menu.alt + '"' ) + #else + #set ( $alt = ' alt="' + $menu.name + '"' ) + #end +## + #if( $menu.border ) + #set ( $border = ' border="' + $menu.border + '"' ) + #else + #set ( $border = ' border="0"' ) + #end +## + #if( $menu.width ) + #set ( $width = ' width="' + $menu.width + '"' ) + #else + #set ( $width = "" ) + #end + #if( $menu.height ) + #set ( $height = ' height="' + $menu.height + '"' ) + #else + #set ( $height = "" ) + #end +## + #set ( $img = '<img class="imageLink"' + $src + $alt + $border + $width + $height + "/>" ) +## + #if ( $position == "left" ) + <h5>$img $menu.name</h5> + #else + <h5>$menu.name $img</h5> + #end + #else + <h5>$menu.name</h5> + #end + #end + #if ( $menu.items && $menu.items.size() > 0 ) + <ul> + #foreach( $item in $menu.items ) + #menuItem( $item ) + #end + </ul> + #end + #end +#end +## +#macro ( copyright ) + #if ( $project ) + #if ( ${project.organization} && ${project.organization.name} ) + #set ( $period = "" ) + #else + #set ( $period = "." ) + #end +## + #set ( $currentYear = ${currentDate.year} + 1900 ) +## + #if ( ${project.inceptionYear} && ( ${project.inceptionYear} != ${currentYear.toString()} ) ) + ${project.inceptionYear}-${currentYear}${period} + #else + ${currentYear}${period} + #end +## + #if ( ${project.organization} ) + #if ( ${project.organization.name} && ${project.organization.url} ) + <a href="$project.organization.url">${project.organization.name}</a>. + #elseif ( ${project.organization.name} ) + ${project.organization.name}. + #end + #end + #end +#end +## +#macro ( publishDate $position $publishDate $version ) + #if ( $publishDate && $publishDate.format ) + #set ( $format = $publishDate.format ) + #else + #set ( $format = "yyyy-MM-dd" ) + #end +## + $dateFormat.applyPattern( $format ) +## + #set ( $dateToday = $dateFormat.format( $currentDate ) ) +## + #if ( $publishDate && $publishDate.position ) + #set ( $datePosition = $publishDate.position ) + #else + #set ( $datePosition = "left" ) + #end +## + #if ( $version ) + #if ( $version.position ) + #set ( $versionPosition = $version.position ) + #else + #set ( $versionPosition = "left" ) + #end + #else + #set ( $version = "" ) + #set ( $versionPosition = "left" ) + #end +## + #set ( $breadcrumbs = $decoration.body.breadcrumbs ) + #set ( $links = $decoration.body.links ) + + #if ( $datePosition.equalsIgnoreCase( "right" ) && $links && $links.size() > 0 ) + #set ( $prefix = "&nbsp;|" ) + #else + #set ( $prefix = "" ) + #end +## + #if ( $datePosition.equalsIgnoreCase( $position ) ) + #if ( ( $datePosition.equalsIgnoreCase( "right" ) ) || ( $datePosition.equalsIgnoreCase( "bottom" ) ) ) + $prefix <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span> + #if ( $versionPosition.equalsIgnoreCase( $position ) ) + &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span> + #end + #elseif ( ( $datePosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $datePosition.equalsIgnoreCase( "navigation-top" ) ) ) + <div id="lastPublished"> + <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span> + #if ( $versionPosition.equalsIgnoreCase( $position ) ) + &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span> + #end + </div> + #elseif ( $datePosition.equalsIgnoreCase("left") ) + <div class="xleft"> + <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span> + #if ( $versionPosition.equalsIgnoreCase( $position ) ) + &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span> + #end + #if ( $breadcrumbs && $breadcrumbs.size() > 0 ) + | #breadcrumbs( $breadcrumbs ) + #end + </div> + #end + #elseif ( $versionPosition.equalsIgnoreCase( $position ) ) + #if ( ( $versionPosition.equalsIgnoreCase( "right" ) ) || ( $versionPosition.equalsIgnoreCase( "bottom" ) ) ) + $prefix <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span> + #elseif ( ( $versionPosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $versionPosition.equalsIgnoreCase( "navigation-top" ) ) ) + <div id="lastPublished"> + <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span> + </div> + #elseif ( $versionPosition.equalsIgnoreCase("left") ) + <div class="xleft"> + <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span> + #if ( $breadcrumbs && $breadcrumbs.size() > 0 ) + | #breadcrumbs( $breadcrumbs ) + #end + </div> + #end + #elseif ( $position.equalsIgnoreCase( "left" ) ) + #if ( $breadcrumbs && $breadcrumbs.size() > 0 ) + <div class="xleft"> + #breadcrumbs( $breadcrumbs ) + </div> + #end + #end +#end +## +#macro ( poweredByLogo $poweredBy ) + #if( $poweredBy ) + #foreach ($item in $poweredBy) + #if( $item.href ) + #set ( $href = $PathTool.calculateLink( $item.href, $relativePath ) ) + #set ( $href = $href.replaceAll( '\\', '/' ) ) + #else + #set ( $href="http://maven.apache.org/" ) + #end +## + #if( $item.name ) + #set ( $name = $item.name ) + #else + #set ( $name = $i18n.getString( "site-renderer", $locale, "template.builtby" ) ) + #set ( $name = "${name} Maven" ) + #end +## + #if( $item.img ) + #set ( $img = $item.img ) + #else + #set ( $img = "images/logos/maven-feather.png" ) + #end +## + #if ( ! ( $img.toLowerCase().startsWith("http") || $img.toLowerCase().startsWith("https") ) ) + #set ( $img = $PathTool.calculateLink( $img, $relativePath ) ) + #set ( $img = $src.replaceAll( '\\', '/' ) ) + #end +## + #if( $item.alt ) + #set ( $alt = ' alt="' + $item.alt + '"' ) + #else + #set ( $alt = ' alt="' + $name + '"' ) + #end +## + #if( $item.border ) + #set ( $border = ' border="' + $item.border + '"' ) + #else + #set ( $border = "" ) + #end +## + #if( $item.width ) + #set ( $width = ' width="' + $item.width + '"' ) + #else + #set ( $width = "" ) + #end + #if( $item.height ) + #set ( $height = ' height="' + $item.height + '"' ) + #else + #set ( $height = "" ) + #end +## + <a href="$href" title="$name" class="poweredBy"> + <img class="poweredBy" $alt src="$img" $border $width $height /> + </a> + #end + #if( $poweredBy.isEmpty() ) + <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" class="poweredBy"> + <img class="poweredBy" alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/logos/maven-feather.png" /> + </a> + #end + #else + <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" class="poweredBy"> + <img class="poweredBy" alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/logos/maven-feather.png" /> + </a> + #end +#end +## +<html xmlns="http://www.w3.org/1999/xhtml"#if ( $locale ) xml:lang="$locale.language" lang="$locale.language"#end> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=${outputEncoding}" /> + <title>$title</title> + <style type="text/css" media="all"> + @import url("$relativePath/css/maven-base.css"); + @import url("$relativePath/css/maven-theme.css"); + @import url("$relativePath/css/site.css"); + </style> + <link rel="stylesheet" href="$relativePath/css/print.css" type="text/css" media="print" /> +#foreach( $author in $authors ) + <meta name="author" content="$author" /> +#end +#if ( $dateCreation ) + <meta name="Date-Creation-yyyymmdd" content="$dateCreation" /> +#end +#if ( $dateRevision ) + <meta name="Date-Revision-yyyymmdd" content="$dateRevision" /> +#end +#if ( $locale ) + <meta http-equiv="Content-Language" content="$locale.language" /> +#end + #if ( $decoration.body.head ) + #foreach( $item in $decoration.body.head.getChildren() ) + ## Workaround for DOXIA-150 due to a non-desired behaviour in p-u + ## @see org.codehaus.plexus.util.xml.Xpp3Dom#toString() + ## @see org.codehaus.plexus.util.xml.Xpp3Dom#toUnescapedString() + #set ( $documentHeader = '<?xml version="1.0" encoding="UTF-8"?>' ) + #if ( $item.name == "script" ) + $StringUtils.replace( $item.toUnescapedString(), $documentHeader, "" ) + #else + $StringUtils.replace( $item.toString(), $documentHeader, "" ) + #end + #end + #end + </head> + <body class="composite"> + <div id="banner"> + #banner( $decoration.bannerLeft "bannerLeft" ) + #banner( $decoration.bannerRight "bannerRight" ) + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + #publishDate( "left" $decoration.publishDate $decoration.version ) + <div class="xright">#links( $decoration.body.links )#publishDate( "right" $decoration.publishDate $decoration.version )</div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + #publishDate( "navigation-top" $decoration.publishDate $decoration.version ) + #mainMenu( $decoration.body.menus ) + #poweredByLogo( $decoration.poweredBy ) + #publishDate( "navigation-bottom" $decoration.publishDate $decoration.version ) + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + $bodyContent + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xleft">Copyright &#169;#copyright()#publishDate( "bottom" $decoration.publishDate $decoration.version ) Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.</div> + <div class="xleft">Apache Extras Companion for Apache log4j, Apache log4j, Apache, the Apache feather logo, + the Apache Logging Services project logo, the log4j logo, and the Built by Maven logo are trademarks of The Apache Software Foundation.</div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> diff --git a/thirdparty/apache-log4j-extras-1.1/src/site/resources/css/maven-base.css b/thirdparty/apache-log4j-extras-1.1/src/site/resources/css/maven-base.css new file mode 100644 index 00000000000..7ef9c54b1e4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/site/resources/css/maven-base.css @@ -0,0 +1,168 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ +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/thirdparty/apache-log4j-extras-1.0/src/site/resources/css/site.css b/thirdparty/apache-log4j-extras-1.1/src/site/resources/css/site.css similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/site/resources/css/site.css rename to thirdparty/apache-log4j-extras-1.1/src/site/resources/css/site.css diff --git a/thirdparty/apache-log4j-extras-1.1/src/site/resources/images/logo.jpg b/thirdparty/apache-log4j-extras-1.1/src/site/resources/images/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9824c1adbfbff0ba1375815081e043bc7f9411a7 GIT binary patch literal 22815 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 E4>-(*iU0rr literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/src/site/resources/images/logos/maven-feather.png b/thirdparty/apache-log4j-extras-1.1/src/site/resources/images/logos/maven-feather.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ada836e9eb4af4db810f648b013933e72c8fbe GIT binary patch literal 3330 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 literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.1/src/site/resources/images/ls-logo.jpg b/thirdparty/apache-log4j-extras-1.1/src/site/resources/images/ls-logo.jpg new file mode 100755 index 0000000000000000000000000000000000000000..35f2f4738b2137a3c3cc20f71b31b0dabf4fbafb GIT binary patch literal 41915 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 Y|Hb}Szu*4aerf9MOH)XIQ~%!t0AA18(*OVf literal 0 HcmV?d00001 diff --git a/thirdparty/apache-log4j-extras-1.0/src/site/site.xml b/thirdparty/apache-log4j-extras-1.1/src/site/site.xml similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/src/site/site.xml rename to thirdparty/apache-log4j-extras-1.1/src/site/site.xml index 74a0e416eca..5552b73e99f 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/site/site.xml +++ b/thirdparty/apache-log4j-extras-1.1/src/site/site.xml @@ -38,7 +38,7 @@ <menu name="Get extras"> <item name="Download" href="/download.html"/> <item name="Changes" href="/changes-report.html"/> - <item name="License" href="/license.html"/> + <item name="License" href="http://www.apache.org/licenses/"/> </menu> <menu name="About extras"> @@ -65,8 +65,8 @@ <item name="Home" href="http://www.apache.org"/> <item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html"/> <item name="Thanks" href="http://www.apache.org/foundation/thanks.html"/> + <item name="Security" href="http://www.apache.org/security/"/> <item name="Conferences" href="http://www.apachecon.com"/> </menu> - </body> </project> diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedMyPatternLayout.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedMyPatternLayout.java new file mode 100644 index 00000000000..4ec375ceb51 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedMyPatternLayout.java @@ -0,0 +1,53 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; +import org.apache.log4j.helpers.PatternParser; + +/** + + Example showing how to extend EnhancedPatternLayout to recognize additional + conversion characters. + + <p>In this case MyPatternLayout recognizes %# conversion pattern. It + outputs the value of an internal counter which is also incremented + at each call. + + <p>See <a href=doc-files/MyPatternLayout.java><b>source</b></a> code + for more details. + + @see MyPatternParser + @see org.apache.log4j.EnhancedPatternLayout + @author Anders Kristensen +*/ +public class EnhancedMyPatternLayout extends EnhancedPatternLayout { + public + EnhancedMyPatternLayout() { + this(DEFAULT_CONVERSION_PATTERN); + } + + public + EnhancedMyPatternLayout(String pattern) { + super(pattern); + } + + public + PatternParser createPatternParser(String pattern) { + return new MyPatternParser( + pattern == null ? DEFAULT_CONVERSION_PATTERN : pattern); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedPatternLayoutTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedPatternLayoutTest.java new file mode 100644 index 00000000000..39d5767652b --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedPatternLayoutTest.java @@ -0,0 +1,143 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Test for EnhancedPatternLayout. + * + */ +public class EnhancedPatternLayoutTest extends LayoutTest { + /** + * Construct new instance of PatternLayoutTest. + * + * @param testName test name. + */ + public EnhancedPatternLayoutTest(final String testName) { + super(testName, "text/plain", true, null, null); + } + + /** + * @{inheritDoc} + */ + protected Layout createLayout() { + return new EnhancedPatternLayout("[%t] %p %c - %m%n"); + } + + /** + * Tests format. + */ + public void testFormat() { + Logger logger = Logger.getLogger("org.apache.log4j.LayoutTest"); + LoggingEvent event = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.INFO, "Hello, World", null); + EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); + String result = layout.format(event); + StringBuffer buf = new StringBuffer(100); + buf.append('['); + buf.append(event.getThreadName()); + buf.append("] "); + buf.append(event.getLevel().toString()); + buf.append(' '); + buf.append(event.getLoggerName()); + buf.append(" - "); + buf.append(event.getMessage()); + buf.append(System.getProperty("line.separator")); + assertEquals(buf.toString(), result); + } + + /** + * Tests getPatternFormat(). + */ + public void testGetPatternFormat() { + EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); + assertEquals("[%t] %p %c - %m%n", layout.getConversionPattern()); + } + + /** + * Tests DEFAULT_CONVERSION_PATTERN constant. + */ + public void testDefaultConversionPattern() { + assertEquals("%m%n", EnhancedPatternLayout.DEFAULT_CONVERSION_PATTERN); + } + + /** + * Tests DEFAULT_CONVERSION_PATTERN constant. + */ + public void testTTCCConversionPattern() { + assertEquals( + "%r [%t] %p %c %x - %m%n", EnhancedPatternLayout.TTCC_CONVERSION_PATTERN); + } + + /** + * Tests buffer downsizing code path. + */ + public void testFormatResize() { + Logger logger = Logger.getLogger("org.apache.log4j.xml.PatternLayoutTest"); + NDC.clear(); + + char[] msg = new char[2000]; + + for (int i = 0; i < msg.length; i++) { + msg[i] = 'A'; + } + + LoggingEvent event1 = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.DEBUG, new String(msg), null); + EnhancedPatternLayout layout = (EnhancedPatternLayout) createLayout(); + String result = layout.format(event1); + LoggingEvent event2 = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.WARN, "Hello, World", null); + result = layout.format(event2); + assertEquals("[", result.substring(0, 1)); + } + + /** + * Class to ensure that protected members are still available. + */ + public static final class DerivedPatternLayout extends EnhancedPatternLayout { + /** + * Constructs a new instance of DerivedPatternLayout. + */ + public DerivedPatternLayout() { + } + + /** + * Get BUF_SIZE. + * @return return initial buffer size in characters. + * @deprecated + */ + public int getBufSize() { + return BUF_SIZE; + } + + /** + * Get MAX_CAPACITY. + * @return maximum capacity in characters. + * @deprecated + */ + public int getMaxCapacity() { + return MAX_CAPACITY; + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/PatternLayoutTestCase.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedPatternLayoutTestCase.java similarity index 69% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/PatternLayoutTestCase.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedPatternLayoutTestCase.java index 359dba1bf06..28dda8eba43 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/PatternLayoutTestCase.java +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/EnhancedPatternLayoutTestCase.java @@ -30,8 +30,8 @@ import org.apache.log4j.util.RelativeTimeFilter; import org.apache.log4j.util.SunReflectFilter; import org.apache.log4j.util.Transformer; import org.apache.log4j.util.MDCOrderFilter; +import org.apache.log4j.spi.ThrowableInformation; -import java.io.FileReader; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Date; @@ -40,12 +40,12 @@ import java.io.*; import java.util.Properties; -public class PatternLayoutTestCase extends TestCase { +public class EnhancedPatternLayoutTestCase extends TestCase { static String TEMP = "temp"; static String FILTERED = "filtered"; static String EXCEPTION1 = "java.lang.Exception: Just testing"; static String EXCEPTION2 = "\\s*at .*\\(.*:\\d{1,4}\\)"; - static String EXCEPTION3 = "\\s*at .*\\(Native Method\\)"; + static String EXCEPTION3 = "\\s*at .*\\((Native Method|Unknown Source)\\)"; static String EXCEPTION4 = "\\s*at .*\\(.*Compiled Code\\)"; static String PAT0 = @@ -57,18 +57,18 @@ public class PatternLayoutTestCase extends TestCase { static String PAT5 = "\\[main]\\ (DEBUG|INFO|WARN|ERROR|FATAL) .* : Message \\d{1,2}"; static String PAT6 = - "\\[main]\\ (DEBUG|INFO |WARN |ERROR|FATAL) org.apache.log4j.PatternLayoutTestCase.common\\(PatternLayoutTestCase.java:\\d{1,4}\\): Message \\d{1,2}"; + "\\[main]\\ (DEBUG|INFO |WARN |ERROR|FATAL) org.apache.log4j.EnhancedPatternLayoutTestCase.common\\(EnhancedPatternLayoutTestCase.java:\\d{1,4}\\): Message \\d{1,2}"; static String PAT11a = - "^(DEBUG|INFO |WARN |ERROR|FATAL) \\[main]\\ log4j.PatternLayoutTest: Message \\d{1,2}"; + "^(DEBUG|INFO |WARN |ERROR|FATAL) \\[main]\\ log4j.EnhancedPatternLayoutTest: Message \\d{1,2}"; static String PAT11b = "^(DEBUG|INFO |WARN |ERROR|FATAL) \\[main]\\ root: Message \\d{1,2}"; static String PAT12 = "^\\[main]\\ (DEBUG|INFO |WARN |ERROR|FATAL) " - + "org.apache.log4j.PatternLayoutTestCase.common\\(PatternLayoutTestCase.java:\\d{3}\\): " + + "org.apache.log4j.EnhancedPatternLayoutTestCase.common\\(EnhancedPatternLayoutTestCase.java:\\d{3}\\): " + "Message \\d{1,2}"; static String PAT13 = "^\\[main]\\ (DEBUG|INFO |WARN |ERROR|FATAL) " - + "apache.log4j.PatternLayoutTestCase.common\\(PatternLayoutTestCase.java:\\d{3}\\): " + + "apache.log4j.EnhancedPatternLayoutTestCase.common\\(EnhancedPatternLayoutTestCase.java:\\d{3}\\): " + "Message \\d{1,2}"; static String PAT14 = "^(TRACE|DEBUG| INFO| WARN|ERROR|FATAL)\\ \\d{1,2}\\ *- Message \\d{1,2}"; @@ -76,13 +76,13 @@ public class PatternLayoutTestCase extends TestCase { Logger root; Logger logger; - public PatternLayoutTestCase(final String name) { + public EnhancedPatternLayoutTestCase(final String name) { super(name); } public void setUp() { root = Logger.getRootLogger(); - logger = Logger.getLogger(PatternLayoutTest.class); + logger = Logger.getLogger(EnhancedPatternLayoutTest.class); } public void tearDown() { @@ -100,7 +100,7 @@ public class PatternLayoutTestCase extends TestCase { if (lastSlash >= 0) { resourceName = resourceName.substring(lastSlash + 1); } - InputStream is = PatternLayoutTestCase.class.getResourceAsStream(resourceName); + InputStream is = EnhancedPatternLayoutTestCase.class.getResourceAsStream(resourceName); if (is == null) { throw new FileNotFoundException("Could not find resource " + resourceName); } @@ -118,11 +118,12 @@ public class PatternLayoutTestCase extends TestCase { */ private static boolean compare(final String actual, final String expected) throws IOException { - return Compare.compare(PatternLayoutTestCase.class, actual, expected); + return Compare.compare(EnhancedPatternLayoutTestCase.class, actual, expected); } + public void test1() throws Exception { - configure("input/pattern/patternLayout1.properties"); + configure("input/pattern/enhancedPatternLayout1.properties"); common(); Transformer.transform( TEMP, FILTERED, @@ -130,11 +131,11 @@ public class PatternLayoutTestCase extends TestCase { new LineNumberFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.1")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.1")); } public void test2() throws Exception { - configure("input/pattern/patternLayout2.properties"); + configure("input/pattern/enhancedPatternLayout2.properties"); common(); ControlFilter cf1 = @@ -146,11 +147,11 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new ISO8601Filter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.2")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.2")); } public void test3() throws Exception { - configure("input/pattern/patternLayout3.properties"); + configure("input/pattern/enhancedPatternLayout3.properties"); common(); ControlFilter cf1 = @@ -162,13 +163,13 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new ISO8601Filter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.3")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.3")); } // Output format: // 06 avr. 2002 18:30:58,937 [main] DEBUG atternLayoutTest - Message 0 public void test4() throws Exception { - configure("input/pattern/patternLayout4.properties"); + configure("input/pattern/enhancedPatternLayout4.properties"); common(); ControlFilter cf1 = @@ -180,11 +181,11 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new AbsoluteDateAndTimeFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.4")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.4")); } public void test5() throws Exception { - configure("input/pattern/patternLayout5.properties"); + configure("input/pattern/enhancedPatternLayout5.properties"); common(); ControlFilter cf1 = @@ -196,12 +197,12 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new AbsoluteDateAndTimeFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.5")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.5")); } // 18:54:19,201 [main] DEBUG atternLayoutTest - Message 0 public void test6() throws Exception { - configure("input/pattern/patternLayout6.properties"); + configure("input/pattern/enhancedPatternLayout6.properties"); common(); ControlFilter cf1 = @@ -213,11 +214,11 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new AbsoluteTimeFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.6")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.6")); } public void test7() throws Exception { - configure("input/pattern/patternLayout7.properties"); + configure("input/pattern/enhancedPatternLayout7.properties"); common(); ControlFilter cf1 = @@ -229,11 +230,11 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new AbsoluteTimeFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.7")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.7")); } public void test8() throws Exception { - configure("input/pattern/patternLayout8.properties"); + configure("input/pattern/enhancedPatternLayout8.properties"); common(); ControlFilter cf1 = @@ -245,11 +246,11 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new RelativeTimeFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.8")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.8")); } public void test9() throws Exception { - configure("input/pattern/patternLayout9.properties"); + configure("input/pattern/enhancedPatternLayout9.properties"); common(); ControlFilter cf1 = @@ -261,11 +262,11 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.9")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.9")); } public void test10() throws Exception { - configure("input/pattern/patternLayout10.properties"); + configure("input/pattern/enhancedPatternLayout10.properties"); common(); ControlFilter cf1 = @@ -277,11 +278,11 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.10")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.10")); } public void test11() throws Exception { - configure("input/pattern/patternLayout11.properties"); + configure("input/pattern/enhancedPatternLayout11.properties"); common(); ControlFilter cf1 = @@ -293,11 +294,11 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.11")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.11")); } public void test12() throws Exception { - configure("input/pattern/patternLayout12.properties"); + configure("input/pattern/enhancedPatternLayout12.properties"); common(); ControlFilter cf1 = @@ -309,11 +310,11 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.12")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.12")); } public void test13() throws Exception { - configure("input/pattern/patternLayout13.properties"); + configure("input/pattern/enhancedPatternLayout13.properties"); common(); ControlFilter cf1 = @@ -325,7 +326,7 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.13")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.13")); } /** @@ -334,7 +335,7 @@ public class PatternLayoutTestCase extends TestCase { * @throws Exception */ public void test14() throws Exception { - configure("input/pattern/patternLayout14.properties"); + configure("input/pattern/enhancedPatternLayout14.properties"); common(); Transformer.transform( @@ -343,12 +344,20 @@ public class PatternLayoutTestCase extends TestCase { new LineNumberFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.14")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.14")); } + private static void clearMDC() throws Exception { + java.util.Hashtable context = MDC.getContext(); + if (context != null) { + context.clear(); + } + } + public void testMDC1() throws Exception { - configure("input/pattern/patternLayout.mdc.1.properties"); + configure("input/pattern/enhancedPatternLayout.mdc.1.properties"); + clearMDC(); MDC.put("key1", "va11"); MDC.put("key2", "va12"); logger.debug("Hello World"); @@ -362,16 +371,15 @@ public class PatternLayoutTestCase extends TestCase { new JunitTestRunnerFilter(), new MDCOrderFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.mdc.1")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.mdc.1")); } - /** * Tests log4j 1.2 style extension of EnhancedPatternLayout. * Was test14 in log4j 1.2. * @throws Exception */ public void test15() throws Exception { - configure("input/pattern/patternLayout15.properties"); + configure("input/pattern/enhancedPatternLayout15.properties"); common(); ControlFilter cf1 = new ControlFilter(new String[]{PAT14, EXCEPTION1, EXCEPTION2, EXCEPTION3, EXCEPTION4}); @@ -381,16 +389,15 @@ public class PatternLayoutTestCase extends TestCase { cf1, new LineNumberFilter(), new SunReflectFilter(), new JunitTestRunnerFilter() }); - assertTrue(compare(FILTERED, "witness/pattern/patternLayout.15")); + assertTrue(compare(FILTERED, "witness/pattern/enhancedPatternLayout.15")); } - /** * Tests explicit UTC time zone in pattern. * @throws Exception */ public void test16() throws Exception { final long start = new Date().getTime(); - configure("input/pattern/patternLayout16.properties"); + configure("input/pattern/enhancedPatternLayout16.properties"); common(); final long end = new Date().getTime(); FileReader reader = new FileReader("patternLayout16.log"); @@ -409,6 +416,18 @@ public class PatternLayoutTestCase extends TestCase { assertTrue(cstDate.getTime() >= start - 1000 && cstDate.getTime() < end + 1000); } + /** + * Test left and right truncation + */ + public void test17() throws Exception { + configure("input/pattern/enhancedPatternLayout17.properties"); + root.info("012"); + root.info(""); + root.info("12345"); + root.info("0123456789"); + assertTrue(compare("patternLayout17.log", "witness/pattern/enhancedPatternLayout.17")); + } + void common() { int i = -1; @@ -441,7 +460,7 @@ public class PatternLayoutTestCase extends TestCase { Test case for MDC conversion pattern. */ public void testMDC2() throws Exception { String OUTPUT_FILE = "patternLayout.mdc.2"; - String WITNESS_FILE = "witness/pattern/patternLayout.mdc.2"; + String WITNESS_FILE = "witness/pattern/enhancedPatternLayout.mdc.2"; String mdcMsgPattern1 = "%m : %X%n"; String mdcMsgPattern2 = "%m : %X{key1}%n"; @@ -456,7 +475,8 @@ public class PatternLayoutTestCase extends TestCase { // set appender on root and set level to debug root.addAppender(appender); root.setLevel(Level.DEBUG); - + + clearMDC(); // output starting message root.debug("starting mdc pattern test"); @@ -510,6 +530,7 @@ public class PatternLayoutTestCase extends TestCase { layout.activateOptions(); root.debug("finished mdc pattern test"); + Transformer.transform( OUTPUT_FILE, FILTERED, new Filter[] { @@ -520,5 +541,75 @@ public class PatternLayoutTestCase extends TestCase { assertTrue(compare(FILTERED, WITNESS_FILE)); } + /** + Test case for throwable conversion pattern. */ + public void testThrowable() throws Exception { + String OUTPUT_FILE = "patternLayout.throwable"; + String WITNESS_FILE = "witness/pattern/enhancedPatternLayout.throwable"; + + + // set up appender + EnhancedPatternLayout layout = new EnhancedPatternLayout("%m%n"); + Appender appender = new FileAppender(layout, OUTPUT_FILE, false); + + // set appender on root and set level to debug + root.addAppender(appender); + root.setLevel(Level.DEBUG); + + // output starting message + root.debug("starting throwable pattern test"); + Exception ex = new Exception("Test Exception"); + root.debug("plain pattern, no exception"); + root.debug("plain pattern, with exception", ex); + layout.setConversionPattern("%m%n%throwable"); + layout.activateOptions(); + root.debug("%throwable, no exception"); + root.debug("%throwable, with exception", ex); + layout.setConversionPattern("%m%n%throwable{short}"); + layout.activateOptions(); + root.debug("%throwable{short}, no exception"); + root.debug("%throwable{short}, with exception", ex); + + layout.setConversionPattern("%m%n%throwable{none}"); + layout.activateOptions(); + root.debug("%throwable{none}, no exception"); + root.debug("%throwable{none}, with exception", ex); + + + layout.setConversionPattern("%m%n%throwable{0}"); + layout.activateOptions(); + root.debug("%throwable{0}, no exception"); + root.debug("%throwable{0}, with exception", ex); + + layout.setConversionPattern("%m%n%throwable{1}"); + layout.activateOptions(); + root.debug("%throwable{1}, no exception"); + root.debug("%throwable{1}, with exception", ex); + + layout.setConversionPattern("%m%n%throwable{100}"); + layout.activateOptions(); + root.debug("%throwable{100}, no exception"); + root.debug("%throwable{100}, with exception", ex); + + // + // manufacture a pattern to get just the first two lines + // + String[] trace = new ThrowableInformation(ex).getThrowableStrRep(); + layout.setConversionPattern("%m%n%throwable{" + (2 - trace.length) + "}"); + layout.activateOptions(); + root.debug("%throwable{-n}, no exception"); + root.debug("%throwable{-n}, with exception", ex); + + + Transformer.transform( + OUTPUT_FILE, FILTERED, + new Filter[] { + new LineNumberFilter(), new SunReflectFilter(), + new JunitTestRunnerFilter(), + new MDCOrderFilter() + }); + + assertTrue(compare(FILTERED, WITNESS_FILE)); + } } diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/LayoutTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/LayoutTest.java new file mode 100644 index 00000000000..0d2cac679aa --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/LayoutTest.java @@ -0,0 +1,168 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j; + +import junit.framework.TestCase; + +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Tests for Layout. + * + */ +public class LayoutTest extends TestCase { + /** + * Expected content type. + */ + private final String contentType; + + /** + * Expected value for ignoresThrowable. + */ + private final boolean ignoresThrowable; + + /** + * Expected value for header. + */ + private final String header; + + /** + * Expected value for footer. + */ + private final String footer; + + /** + * Construct a new instance of LayoutTest. + * @param testName test name. + */ + public LayoutTest(final String testName) { + super(testName); + contentType = "text/plain"; + ignoresThrowable = true; + header = null; + footer = null; + } + + /** + * Constructor for use by derived tests. + * @param testName name of test. + * @param expectedContentType expected value for getContentType(). + * @param expectedIgnoresThrowable expected value for ignoresThrowable(). + * @param expectedHeader expected value for getHeader(). + * @param expectedFooter expected value for getFooter(). + */ + protected LayoutTest( + final String testName, final String expectedContentType, + final boolean expectedIgnoresThrowable, final String expectedHeader, + final String expectedFooter) { + super(testName); + contentType = expectedContentType; + ignoresThrowable = expectedIgnoresThrowable; + header = expectedHeader; + footer = expectedFooter; + } + + /** + * Tests Layout.LINE_SEP. + */ + public void testLineSep() { + assertEquals(System.getProperty("line.separator"), Layout.LINE_SEP); + } + + /** + * Tests Layout.LINE_SEP. + */ + public void testLineSepLen() { + assertEquals(Layout.LINE_SEP.length(), Layout.LINE_SEP_LEN); + } + + /** + * Creates layout for test. + * @return new instance of Layout. + */ + protected Layout createLayout() { + return new MockLayout(); + } + + /** + * Tests getContentType. + */ + public void testGetContentType() { + assertEquals(contentType, createLayout().getContentType()); + } + + /** + * Tests ignoresThrowable. + */ + public void testIgnoresThrowable() { + assertEquals(ignoresThrowable, createLayout().ignoresThrowable()); + } + + /** + * Tests getHeader. + */ + public void testGetHeader() { + assertEquals(header, createLayout().getHeader()); + } + + /** + * Tests getFooter. + */ + public void testGetFooter() { + assertEquals(footer, createLayout().getFooter()); + } + + /** + * Tests format. + * @throws Exception derived tests, particular XMLLayoutTest, may throw exceptions. + */ + public void testFormat() throws Exception { + Logger logger = Logger.getLogger("org.apache.log4j.LayoutTest"); + LoggingEvent event = + new LoggingEvent( + "org.apache.log4j.Logger", logger, Level.INFO, "Hello, World", null); + String result = createLayout().format(event); + assertEquals("Mock", result); + } + + /** + * Concrete Layout class for tests. + */ + private static final class MockLayout extends Layout { + /** + * @{inheritDoc} + */ + public String format(final LoggingEvent event) { + return "Mock"; + } + + /** + * @{inheritDoc} + */ + public void activateOptions() { + } + + /** + * @{inheritDoc} + */ + public boolean ignoresThrowable() { + return true; + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/LogCapture.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/LogCapture.java new file mode 100755 index 00000000000..032a02d42c4 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/LogCapture.java @@ -0,0 +1,82 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import junit.framework.Assert; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.VectorAppender; +import org.apache.log4j.spi.LoggingEvent; + +import java.util.Vector; + + +/** + * Helper class to set up and capture log messages. + */ +public class LogCapture { + /** + * Appender. + */ + private final VectorAppender appender; + + /** + * Expected level. + */ + private final Level level; + + /** + * Creates new instance of LogCapture. + * + */ + public LogCapture(final Level level) { + this.level = level; + + Logger root = Logger.getRootLogger(); + appender = new VectorAppender(); + root.addAppender(appender); + } + + /** + * Get message. + * @return rendered message, null if no logging event captured. + */ + public String getMessage() { + Vector vector = appender.getVector(); + String msg = null; + + switch (vector.size()) { + case 0: + break; + + case 1: + + LoggingEvent event = (LoggingEvent) vector.elementAt(0); + Assert.assertNotNull(event); + Assert.assertEquals(level, event.getLevel()); + msg = event.getRenderedMessage(); + + break; + + default: + Assert.fail("More than one request captured"); + } + + return msg; + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/MyPatternParser.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/MyPatternParser.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/MyPatternParser.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/MyPatternParser.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogMF.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogMF.java new file mode 100755 index 00000000000..9adff211c08 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogMF.java @@ -0,0 +1,1291 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import junit.framework.TestCase; + +import java.io.CharArrayWriter; +import java.text.MessageFormat; +import java.text.NumberFormat; +import java.util.Date; +import java.text.DateFormat; + + +/** + * Unit test for LogMF. + */ +public class TestLogMF extends TestCase { + /** + * Trace level. + */ + private static final Level TRACE = getTraceLevel(); + + /** + * Gets Trace level. + * Trace level was not defined prior to log4j 1.2.12. + * @return trace level + */ + private static Level getTraceLevel() { + try { + return (Level) Level.class.getField("TRACE").get(null); + } catch(Exception ex) { + return new Level(5000, "TRACE", 7); + } + } + + /** + * Logger. + */ + private final Logger logger = Logger.getLogger( + "org.apache.log4j.formatter.TestLogMF"); + + /** + * Create the test case + * + * @param testName name of the test case + */ + public TestLogMF(String testName) { + super(testName); + } + + + /** + * Post test clean up. + */ + public void tearDown() { + LogManager.resetConfiguration(); + } + + /** + * Test class name when logging through LogMF. + */ + public void testClassName() { + CharArrayWriter writer = new CharArrayWriter(); + PatternLayout layout = new PatternLayout("%C"); + WriterAppender appender = new WriterAppender(layout, writer); + appender.activateOptions(); + Logger.getRootLogger().addAppender(appender); + LogMF.debug(logger, null, Math.PI); + assertEquals(TestLogMF.class.getName(), writer.toString()); + } + + /** + * Test LogMF.trace with null pattern. + */ + public void testTraceNullPattern() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogMF.trace(logger, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogMF.trace with no-field pattern. + */ + public void testTraceNoArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogMF.trace(logger, "Hello, World", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.trace with malformed pattern. + */ + public void testTraceBadPattern() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogMF.trace(logger, "Hello, {.", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogMF.trace with missing argument. + */ + public void testTraceMissingArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogMF.trace(logger, "Hello, {0}World", new Object[0]); + assertEquals("Hello, {0}World", capture.getMessage()); + } + + /** + * Test LogMF.trace with single field pattern with string argument. + */ + public void testTraceString() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogMF.trace(logger, "Hello, {0}", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.trace with single field pattern with null argument. + */ + public void testTraceNull() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogMF.trace(logger, "Hello, {0}", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogMF.trace with single field pattern with int argument. + */ + public void testTraceInt() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + + int val = 42; + LogMF.trace(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.trace with single field pattern with byte argument. + */ + public void testTraceByte() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + + byte val = 42; + LogMF.trace(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.trace with single field pattern with short argument. + */ + public void testTraceShort() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + + short val = 42; + LogMF.trace(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.trace with single field pattern with long argument. + */ + public void testTraceLong() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + + long val = 42; + LogMF.trace(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.trace with single field pattern with char argument. + */ + public void testTraceChar() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + + char val = 'C'; + LogMF.trace(logger, "Iteration {0}", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogMF.trace with single field pattern with boolean argument. + */ + public void testTraceBoolean() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + + boolean val = true; + LogMF.trace(logger, "Iteration {0}", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogMF.trace with single field pattern with float argument. + */ + public void testTraceFloat() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + + float val = 3.14f; + NumberFormat format = NumberFormat.getInstance(); + LogMF.trace(logger, "Iteration {0}", val); + assertEquals("Iteration "+ format.format(val), capture.getMessage()); + } + + /** + * Test LogMF.trace with single field pattern with double argument. + */ + public void testTraceDouble() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + + double val = 3.14; + NumberFormat format = NumberFormat.getInstance(); + LogMF.trace(logger, "Iteration {0}", val); + assertEquals("Iteration "+ format.format(val), capture.getMessage()); + } + + /** + * Test LogMF.trace with two arguments. + */ + public void testTraceTwoArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogMF.trace(logger, "{1}, {0}.", "World", "Hello"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.trace with three arguments. + */ + public void testTraceThreeArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogMF.trace(logger, "{1}{2} {0}.", "World", "Hello", ","); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.trace with four arguments. + */ + public void testTraceFourArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogMF.trace(logger, "{1}{2} {0}{3}", "World", "Hello", ",", "."); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.trace with Object[] argument. + */ + public void testTraceArrayArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + + Object[] args = new Object[] { "World", "Hello", ",", "." }; + LogMF.trace(logger, "{1}{2} {0}{3}", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.trace with null Object[] argument. + */ + public void testTraceNullArrayArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + + Object[] args = null; + LogMF.trace(logger, "{1}{2} {0}{3}", args); + assertEquals("{1}{2} {0}{3}", capture.getMessage()); + } + + + /** + * Test LogMF.debug with null pattern. + */ + public void testDebugNullPattern() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, null, Math.PI); + assertEquals(null, capture.getMessage()); + } + + /** + * Test LogMF.debug with no-field pattern. + */ + public void testDebugNoArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "Hello, World", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.debug with malformed pattern. + */ + public void testDebugBadPattern() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "Hello, {.", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogMF.debug with missing argument. + */ + public void testDebugMissingArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "Hello, {0}World", new Object[0]); + assertEquals("Hello, {0}World", capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with string argument. + */ + public void testDebugString() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "Hello, {0}", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with null argument. + */ + public void testDebugNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "Hello, {0}", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with int argument. + */ + public void testDebugInt() { + LogCapture capture = new LogCapture(Level.DEBUG); + int val = 42; + LogMF.debug(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with byte argument. + */ + public void testDebugByte() { + LogCapture capture = new LogCapture(Level.DEBUG); + byte val = 42; + LogMF.debug(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with short argument. + */ + public void testDebugShort() { + LogCapture capture = new LogCapture(Level.DEBUG); + short val = 42; + LogMF.debug(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with long argument. + */ + public void testDebugLong() { + LogCapture capture = new LogCapture(Level.DEBUG); + long val = 42; + LogMF.debug(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with char argument. + */ + public void testDebugChar() { + LogCapture capture = new LogCapture(Level.DEBUG); + char val = 'C'; + LogMF.debug(logger, "Iteration {0}", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with boolean argument. + */ + public void testDebugBoolean() { + LogCapture capture = new LogCapture(Level.DEBUG); + boolean val = true; + LogMF.debug(logger, "Iteration {0}", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with float argument. + */ + public void testDebugFloat() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "Iteration {0}", (float) Math.PI); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { new Float(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with double argument. + */ + public void testDebugDouble() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "Iteration {0}", Math.PI); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { new Double(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogMF.debug with two arguments. + */ + public void testDebugTwoArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "{1}, {0}.", "World", "Hello"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.debug with three arguments. + */ + public void testDebugThreeArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "{1}{2} {0}.", "World", "Hello", ","); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.debug with four arguments. + */ + public void testDebugFourArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "{1}{2} {0}{3}", "World", "Hello", ",", "."); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.debug with Object[] argument. + */ + public void testDebugArrayArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + Object[] args = new Object[] { "World", "Hello", ",", "." }; + LogMF.debug(logger, "{1}{2} {0}{3}", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with double argument. + */ + public void testDebugDate() { + LogCapture capture = new LogCapture(Level.DEBUG); + Date epoch = new Date(0); + LogMF.debug(logger, "Iteration {0}", epoch); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { epoch }); + String expected2 = "Iteration " + DateFormat.getDateTimeInstance( + DateFormat.SHORT, + DateFormat.SHORT).format(epoch); + String actual = capture.getMessage(); + // + // gcj has been observed to output 12/31/69 6:00:00 PM + // instead of the expected 12/31/69 6:00 PM + if (System.getProperty("java.vendor").indexOf("Free") == -1) { + assertEquals(expected, actual); + } + assertEquals(expected2, actual); + } + + /** + * Test LogMF.debug with null Object[] argument. + */ + public void testDebugNullArrayArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + Object[] args = null; + LogMF.debug(logger, "{1}{2} {0}{3}", args); + assertEquals("{1}{2} {0}{3}", capture.getMessage()); + } + + public void testDebugPercent() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "{0, number, percent}", Math.PI); + + String expected = java.text.MessageFormat.format("{0, number, percent}", + new Object[] { new Double(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + public void testDebugFullPrecisionAndPercent() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "{0}{0, number, percent}", Math.PI); + + String expected = java.text.MessageFormat.format("{0}{0, number, percent}", + new Object[] { new Double(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + public void testDebugQuoted() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogMF.debug(logger, "'{0}'", "World"); + assertEquals("{0}", capture.getMessage()); + } + + /** + * Test LogMF.info with null pattern. + */ + public void testInfoNullPattern() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogMF.info with no-field pattern. + */ + public void testInfoNoArg() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "Hello, World", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.info with malformed pattern. + */ + public void testInfoBadPattern() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "Hello, {.", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogMF.info with missing argument. + */ + public void testInfoMissingArg() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "Hello, {0}World", new Object[0]); + assertEquals("Hello, {0}World", capture.getMessage()); + } + + /** + * Test LogMF.info with single field pattern with string argument. + */ + public void testInfoString() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "Hello, {0}", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.info with single field pattern with null argument. + */ + public void testInfoNull() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "Hello, {0}", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogMF.info with single field pattern with int argument. + */ + public void testInfoInt() { + LogCapture capture = new LogCapture(Level.INFO); + int val = 42; + LogMF.info(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.info with single field pattern with byte argument. + */ + public void testInfoByte() { + LogCapture capture = new LogCapture(Level.INFO); + byte val = 42; + LogMF.info(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.info with single field pattern with short argument. + */ + public void testInfoShort() { + LogCapture capture = new LogCapture(Level.INFO); + short val = 42; + LogMF.info(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.info with single field pattern with long argument. + */ + public void testInfoLong() { + LogCapture capture = new LogCapture(Level.INFO); + long val = 42; + LogMF.info(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.info with single field pattern with char argument. + */ + public void testInfoChar() { + LogCapture capture = new LogCapture(Level.INFO); + char val = 'C'; + LogMF.info(logger, "Iteration {0}", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogMF.info with single field pattern with boolean argument. + */ + public void testInfoBoolean() { + LogCapture capture = new LogCapture(Level.INFO); + boolean val = true; + LogMF.info(logger, "Iteration {0}", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogMF.info with single field pattern with float argument. + */ + public void testInfoFloat() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "Iteration {0}", (float) Math.PI); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { new Float(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogMF.info with single field pattern with double argument. + */ + public void testInfoDouble() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "Iteration {0}", Math.PI); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { new Double(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogMF.info with two arguments. + */ + public void testInfoTwoArg() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "{1}, {0}.", "World", "Hello"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.info with three arguments. + */ + public void testInfoThreeArg() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "{1}{2} {0}.", "World", "Hello", ","); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.info with four arguments. + */ + public void testInfoFourArg() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "{1}{2} {0}{3}", "World", "Hello", ",", "."); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.info with Object[] argument. + */ + public void testInfoArrayArg() { + LogCapture capture = new LogCapture(Level.INFO); + Object[] args = new Object[] { "World", "Hello", ",", "." }; + LogMF.info(logger, "{1}{2} {0}{3}", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.warn with null pattern. + */ + public void testWarnNullPattern() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogMF.warn with no-field pattern. + */ + public void testWarnNoArg() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, "Hello, World", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.warn with malformed pattern. + */ + public void testWarnBadPattern() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, "Hello, {.", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogMF.warn with missing argument. + */ + public void testWarnMissingArg() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, "Hello, {0}World", new Object[0]); + assertEquals("Hello, {0}World", capture.getMessage()); + } + + /** + * Test LogMF.warn with single field pattern with string argument. + */ + public void testWarnString() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, "Hello, {0}", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.warn with single field pattern with null argument. + */ + public void testWarnNull() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, "Hello, {0}", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogMF.warn with single field pattern with int argument. + */ + public void testWarnInt() { + LogCapture capture = new LogCapture(Level.WARN); + int val = 42; + LogMF.warn(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.warn with single field pattern with byte argument. + */ + public void testWarnByte() { + LogCapture capture = new LogCapture(Level.WARN); + byte val = 42; + LogMF.warn(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.warn with single field pattern with short argument. + */ + public void testWarnShort() { + LogCapture capture = new LogCapture(Level.WARN); + short val = 42; + LogMF.warn(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.warn with single field pattern with long argument. + */ + public void testWarnLong() { + LogCapture capture = new LogCapture(Level.WARN); + long val = 42; + LogMF.warn(logger, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.warn with single field pattern with char argument. + */ + public void testWarnChar() { + LogCapture capture = new LogCapture(Level.WARN); + char val = 'C'; + LogMF.warn(logger, "Iteration {0}", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogMF.warn with single field pattern with boolean argument. + */ + public void testWarnBoolean() { + LogCapture capture = new LogCapture(Level.WARN); + boolean val = true; + LogMF.warn(logger, "Iteration {0}", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogMF.warn with single field pattern with float argument. + */ + public void testWarnFloat() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, "Iteration {0}", (float) Math.PI); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { new Float(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogMF.debug with single field pattern with double argument. + */ + public void testWarnDouble() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, "Iteration {0}", Math.PI); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { new Double(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogMF.warn with two arguments. + */ + public void testWarnTwoArg() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, "{1}, {0}.", "World", "Hello"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.warn with three arguments. + */ + public void testWarnThreeArg() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, "{1}{2} {0}.", "World", "Hello", ","); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.debug with four arguments. + */ + public void testWarnFourArg() { + LogCapture capture = new LogCapture(Level.WARN); + LogMF.warn(logger, "{1}{2} {0}{3}", "World", "Hello", ",", "."); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.warn with Object[] argument. + */ + public void testWarnArrayArg() { + LogCapture capture = new LogCapture(Level.WARN); + Object[] args = new Object[] { "World", "Hello", ",", "." }; + LogMF.warn(logger, "{1}{2} {0}{3}", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.log with null pattern. + */ + public void testLogNullPattern() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogMF.log with no-field pattern. + */ + public void testLogNoArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, "Hello, World", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.log with malformed pattern. + */ + public void testLogBadPattern() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, "Hello, {.", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogMF.log with missing argument. + */ + public void testLogMissingArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, "Hello, {0}World", new Object[0]); + assertEquals("Hello, {0}World", capture.getMessage()); + } + + /** + * Test LogMF.log with single field pattern with string argument. + */ + public void testLogString() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, "Hello, {0}", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.log with single field pattern with null argument. + */ + public void testLogNull() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, "Hello, {0}", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogMF.log with single field pattern with int argument. + */ + public void testLogInt() { + LogCapture capture = new LogCapture(Level.ERROR); + int val = 42; + LogMF.log(logger, Level.ERROR, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.log with single field pattern with byte argument. + */ + public void testLogByte() { + LogCapture capture = new LogCapture(Level.ERROR); + byte val = 42; + LogMF.log(logger, Level.ERROR, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.log with single field pattern with short argument. + */ + public void testLogShort() { + LogCapture capture = new LogCapture(Level.ERROR); + short val = 42; + LogMF.log(logger, Level.ERROR, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.log with single field pattern with long argument. + */ + public void testLogLong() { + LogCapture capture = new LogCapture(Level.ERROR); + long val = 42; + LogMF.log(logger, Level.ERROR, "Iteration {0}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.log with single field pattern with char argument. + */ + public void testLogChar() { + LogCapture capture = new LogCapture(Level.ERROR); + char val = 'C'; + LogMF.log(logger, Level.ERROR, "Iteration {0}", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogMF.log with single field pattern with boolean argument. + */ + public void testLogBoolean() { + LogCapture capture = new LogCapture(Level.ERROR); + boolean val = true; + LogMF.log(logger, Level.ERROR, "Iteration {0}", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogMF.log with single field pattern with float argument. + */ + public void testLogFloat() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, "Iteration {0}", (float) Math.PI); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { new Float(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogMF.log with single field pattern with double argument. + */ + public void testLogDouble() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, "Iteration {0}", Math.PI); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { new Double(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogMF.log with two arguments. + */ + public void testLogTwoArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, "{1}, {0}.", "World", "Hello"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.log with three arguments. + */ + public void testLogThreeArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, "{1}{2} {0}.", "World", "Hello", ","); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.log with four arguments. + */ + public void testLogFourArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.log(logger, Level.ERROR, "{1}{2} {0}{3}", "World", "Hello", ",", "."); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.log with Object[] argument. + */ + public void testLogArrayArg() { + LogCapture capture = new LogCapture(Level.ERROR); + Object[] args = new Object[] { "World", "Hello", ",", "." }; + LogMF.log(logger, Level.ERROR, "{1}{2} {0}{3}", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Bundle name for resource bundle tests. + */ + private static final String BUNDLE_NAME = + "org.apache.log4j.TestLogMFPatterns"; + + /** + * Test LogMF.logrb with null bundle name. + */ + public void testLogrbNullBundle() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, null, "Iteration0", Math.PI); + assertEquals("Iteration0", capture.getMessage()); + } + + /** + * Test LogMF.logrb with null key. + */ + public void testLogrbNullKey() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogMF.logrb with no-field pattern. + */ + public void testLogrbNoArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello1", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.logrb with malformed pattern. + */ + public void testLogrbBadPattern() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Malformed", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogMF.logrb with missing argument. + */ + public void testLogrbMissingArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello2", new Object[0]); + assertEquals("Hello, {0}World", capture.getMessage()); + } + + /** + * Test LogMF.logrb with single field pattern with string argument. + */ + public void testLogrbString() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello3", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogMF.logrb with single field pattern with null argument. + */ + public void testLogrbNull() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello3", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogMF.logrb with single field pattern with int argument. + */ + public void testLogrbInt() { + LogCapture capture = new LogCapture(Level.ERROR); + int val = 42; + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.logrb with single field pattern with byte argument. + */ + public void testLogrbByte() { + LogCapture capture = new LogCapture(Level.ERROR); + byte val = 42; + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.logrb with single field pattern with short argument. + */ + public void testLogrbShort() { + LogCapture capture = new LogCapture(Level.ERROR); + short val = 42; + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.logrb with single field pattern with long argument. + */ + public void testLogrbLong() { + LogCapture capture = new LogCapture(Level.ERROR); + long val = 42; + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogMF.logrb with single field pattern with char argument. + */ + public void testLogrbChar() { + LogCapture capture = new LogCapture(Level.ERROR); + char val = 'C'; + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogMF.logrb with single field pattern with boolean argument. + */ + public void testLogrbBoolean() { + LogCapture capture = new LogCapture(Level.ERROR); + boolean val = true; + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogMF.logrb with single field pattern with float argument. + */ + public void testLogrbFloat() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", (float) Math.PI); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { new Float(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogMF.logrb with single field pattern with double argument. + */ + public void testLogrbDouble() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", Math.PI); + + String expected = MessageFormat.format("Iteration {0}", + new Object[] { new Double(Math.PI) }); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogMF.logrb with two arguments. + */ + public void testLogrbTwoArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, + BUNDLE_NAME, "Hello4", "World", "Hello"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.logrb with three arguments. + */ + public void testLogrbThreeArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, + BUNDLE_NAME, "Hello5", "World", "Hello", ","); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.logrb with four arguments. + */ + public void testLogrbFourArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogMF.logrb(logger, Level.ERROR, + BUNDLE_NAME, "Hello6", "World", "Hello", ",", "."); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogMF.logrb with Object[] argument. + */ + public void testLogrbArrayArg() { + LogCapture capture = new LogCapture(Level.ERROR); + Object[] args = new Object[] { "World", "Hello", ",", "." }; + LogMF.logrb(logger, Level.ERROR, + BUNDLE_NAME, "Hello6", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + + /** + * Test LogMF.info with a pattern containing {9} and one argument. + */ + public void testInfo1ParamBrace9() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "Hello, {9}{0}", "World"); + assertEquals("Hello, {9}World", capture.getMessage()); + } + + /** + * Test LogMF.info with a pattern containing {9} and two arguments. + */ + public void testInfo2ParamBrace9() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "{1}, {9}{0}", "World", "Hello"); + assertEquals("Hello, {9}World", capture.getMessage()); + } + + /** + * Test LogMF.info with a pattern containing {9} and two arguments. + */ + public void testInfo10ParamBrace9() { + LogCapture capture = new LogCapture(Level.INFO); + LogMF.info(logger, "{1}, {9}{0}", + new Object[] { "World", "Hello", null, null, null, + null, null, null, null, "New " }); + assertEquals("Hello, New World", capture.getMessage()); + } + + /** + * Test LogMF.info with indexes just outside of 0 to 9. + */ + public void testInfo1ParamBraceSlashColon() { + LogCapture capture = new LogCapture(Level.INFO); + String pattern = "Hello, {/}{0}{:}"; + LogMF.info(logger, pattern, "World"); + assertEquals(pattern, capture.getMessage()); + } + + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogSF.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogSF.java new file mode 100755 index 00000000000..330cd9b5df7 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogSF.java @@ -0,0 +1,1191 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import junit.framework.TestCase; + +import java.io.CharArrayWriter; + + +/** + * Unit test for LogSF. + */ +public class TestLogSF extends TestCase { + /** + * Trace level. + */ + private static final Level TRACE = getTraceLevel(); + + /** + * Gets Trace level. + * Trace level was not defined prior to log4j 1.2.12. + * @return trace level + */ + private static Level getTraceLevel() { + try { + return (Level) Level.class.getField("TRACE").get(null); + } catch(Exception ex) { + return new Level(5000, "TRACE", 7); + } + } + + /** + * Logger. + */ + private final Logger logger = Logger.getLogger( + "org.apache.log4j.formatter.TestLogSF"); + + /** + * Create the test case + * + * @param testName name of the test case + */ + public TestLogSF(String testName) { + super(testName); + } + + + /** + * Post test clean up. + */ + public void tearDown() { + LogManager.resetConfiguration(); + } + + /** + * Test class name when logging through LogSF. + */ + public void testClassName() { + CharArrayWriter writer = new CharArrayWriter(); + PatternLayout layout = new PatternLayout("%C"); + WriterAppender appender = new WriterAppender(layout, writer); + appender.activateOptions(); + Logger.getRootLogger().addAppender(appender); + LogSF.debug(logger, null, Math.PI); + assertEquals(TestLogSF.class.getName(), writer.toString()); + } + + + + /** + * Test LogSF.trace with null pattern. + */ + public void testTraceNullPattern() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogSF.trace(logger, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogSF.trace with no-field pattern. + */ + public void testTraceNoArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogSF.trace(logger, "Hello, World", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.trace with malformed pattern. + */ + public void testTraceBadPattern() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogSF.trace(logger, "Hello, {.", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogSF.trace with missing argument. + */ + public void testTraceMissingArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogSF.trace(logger, "Hello, {}World", new Object[0]); + assertEquals("Hello, {}World", capture.getMessage()); + } + + /** + * Test LogSF.trace with single field pattern with string argument. + */ + public void testTraceString() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogSF.trace(logger, "Hello, {}", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.trace with single field pattern with null argument. + */ + public void testTraceNull() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogSF.trace(logger, "Hello, {}", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogSF.trace with single field pattern with int argument. + */ + public void testTraceInt() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + int val = 42; + LogSF.trace(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.trace with single field pattern with byte argument. + */ + public void testTraceByte() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + byte val = 42; + LogSF.trace(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.trace with single field pattern with short argument. + */ + public void testTraceShort() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + short val = 42; + LogSF.trace(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.trace with single field pattern with long argument. + */ + public void testTraceLong() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + long val = 42; + LogSF.trace(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.trace with single field pattern with char argument. + */ + public void testTraceChar() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + char val = 'C'; + LogSF.trace(logger, "Iteration {}", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogSF.trace with single field pattern with boolean argument. + */ + public void testTraceBoolean() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + boolean val = true; + LogSF.trace(logger, "Iteration {}", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogSF.trace with single field pattern with float argument. + */ + public void testTraceFloat() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + float val = 3.14f; + LogSF.trace(logger, "Iteration {}", val); + assertEquals("Iteration " + String.valueOf(val), capture.getMessage()); + } + + /** + * Test LogSF.trace with single field pattern with double argument. + */ + public void testTraceDouble() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + double val = 3.14; + LogSF.trace(logger, "Iteration {}", val); + assertEquals("Iteration " + String.valueOf(val), capture.getMessage()); + } + + /** + * Test LogSF.trace with two arguments. + */ + public void testTraceTwoArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogSF.trace(logger, "{}, {}.", "Hello", "World"); + assertEquals("Hello, World.", capture.getMessage()); + + } + + /** + * Test LogSF.trace with three arguments. + */ + public void testTraceThreeArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogSF.trace(logger, "{}{} {}.", "Hello", ",", "World"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.trace with Object[] argument. + */ + public void testTraceFourArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + LogSF.trace(logger, "{}{} {}{}", "Hello", ",", "World", "."); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.trace with Object[] argument. + */ + public void testTraceArrayArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + Object[] args = new Object[] { "Hello", ",", "World", "." }; + LogSF.trace(logger, "{}{} {}{}", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.trace with null Object[] argument. + */ + public void testTraceNullArrayArg() { + LogCapture capture = new LogCapture(TRACE); + logger.setLevel(TRACE); + Object[] args = null; + LogSF.trace(logger, "{}{} {}{}", args); + assertEquals("{}{} {}{}", capture.getMessage()); + } + + + + /** + * Test LogSF.debug with null pattern. + */ + public void testDebugNullPattern() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogSF.debug(logger, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogSF.debug with no-field pattern. + */ + public void testDebugNoArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogSF.debug(logger, "Hello, World", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.debug with malformed pattern. + */ + public void testDebugBadPattern() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogSF.debug(logger, "Hello, {.", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogSF.debug with missing argument. + */ + public void testDebugMissingArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogSF.debug(logger, "Hello, {}World", new Object[0]); + assertEquals("Hello, {}World", capture.getMessage()); + } + + /** + * Test LogSF.debug with single field pattern with string argument. + */ + public void testDebugString() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogSF.debug(logger, "Hello, {}", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.debug with single field pattern with null argument. + */ + public void testDebugNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogSF.debug(logger, "Hello, {}", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogSF.debug with single field pattern with int argument. + */ + public void testDebugInt() { + LogCapture capture = new LogCapture(Level.DEBUG); + int val = 42; + LogSF.debug(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.debug with single field pattern with byte argument. + */ + public void testDebugByte() { + LogCapture capture = new LogCapture(Level.DEBUG); + byte val = 42; + LogSF.debug(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.debug with single field pattern with short argument. + */ + public void testDebugShort() { + LogCapture capture = new LogCapture(Level.DEBUG); + short val = 42; + LogSF.debug(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.debug with single field pattern with long argument. + */ + public void testDebugLong() { + LogCapture capture = new LogCapture(Level.DEBUG); + long val = 42; + LogSF.debug(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.debug with single field pattern with char argument. + */ + public void testDebugChar() { + LogCapture capture = new LogCapture(Level.DEBUG); + char val = 'C'; + LogSF.debug(logger, "Iteration {}", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogSF.debug with single field pattern with boolean argument. + */ + public void testDebugBoolean() { + LogCapture capture = new LogCapture(Level.DEBUG); + boolean val = true; + LogSF.debug(logger, "Iteration {}", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogSF.debug with single field pattern with float argument. + */ + public void testDebugFloat() { + LogCapture capture = new LogCapture(Level.DEBUG); + float val = 3.14f; + LogSF.debug(logger, "Iteration {}", val); + assertEquals("Iteration " + String.valueOf(val), capture.getMessage()); + } + + /** + * Test LogSF.debug with single field pattern with double argument. + */ + public void testDebugDouble() { + LogCapture capture = new LogCapture(Level.DEBUG); + double val = 3.14; + LogSF.debug(logger, "Iteration {}", val); + assertEquals("Iteration " + String.valueOf(val), capture.getMessage()); + } + + /** + * Test LogSF.debug with two arguments. + */ + public void testDebugTwoArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogSF.debug(logger, "{}, {}.", "Hello", "World"); + assertEquals("Hello, World.", capture.getMessage()); + + } + + /** + * Test LogSF.debug with three arguments. + */ + public void testDebugThreeArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogSF.debug(logger, "{}{} {}.", "Hello", ",", "World"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.debug with four arguments. + */ + public void testDebugFourArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + LogSF.debug(logger, "{}{} {}{}", "Hello", ",", "World", "."); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.debug with Object[] argument. + */ + public void testDebugArrayArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + Object[] args = new Object[] { "Hello", ",", "World", "." }; + LogSF.debug(logger, "{}{} {}{}", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.debug with null Object[] argument. + */ + public void testDebugNullArrayArg() { + LogCapture capture = new LogCapture(Level.DEBUG); + Object[] args = null; + LogSF.debug(logger, "{}{} {}{}", args); + assertEquals("{}{} {}{}", capture.getMessage()); + } + + /** + * Test LogSF.info with null pattern. + */ + public void testInfoNullPattern() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogSF.info with no-field pattern. + */ + public void testInfoNoArg() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "Hello, World", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.info with malformed pattern. + */ + public void testInfoBadPattern() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "Hello, {.", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogSF.info with missing argument. + */ + public void testInfoMissingArg() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "Hello, {}World", new Object[0]); + assertEquals("Hello, {}World", capture.getMessage()); + } + + /** + * Test LogSF.info with single field pattern with string argument. + */ + public void testInfoString() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "Hello, {}", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.info with single field pattern with null argument. + */ + public void testInfoNull() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "Hello, {}", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogSF.info with single field pattern with int argument. + */ + public void testInfoInt() { + LogCapture capture = new LogCapture(Level.INFO); + int val = 42; + LogSF.info(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.info with single field pattern with byte argument. + */ + public void testInfoByte() { + LogCapture capture = new LogCapture(Level.INFO); + byte val = 42; + LogSF.info(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.info with single field pattern with short argument. + */ + public void testInfoShort() { + LogCapture capture = new LogCapture(Level.INFO); + short val = 42; + LogSF.info(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.info with single field pattern with long argument. + */ + public void testInfoLong() { + LogCapture capture = new LogCapture(Level.INFO); + long val = 42; + LogSF.info(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.info with single field pattern with char argument. + */ + public void testInfoChar() { + LogCapture capture = new LogCapture(Level.INFO); + char val = 'C'; + LogSF.info(logger, "Iteration {}", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogSF.info with single field pattern with boolean argument. + */ + public void testInfoBoolean() { + LogCapture capture = new LogCapture(Level.INFO); + boolean val = true; + LogSF.info(logger, "Iteration {}", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogSF.info with single field pattern with float argument. + */ + public void testInfoFloat() { + LogCapture capture = new LogCapture(Level.INFO); + float val = 3.14f; + LogSF.info(logger, "Iteration {}", val); + assertEquals("Iteration " + String.valueOf(val), capture.getMessage()); + } + + /** + * Test LogSF.info with single field pattern with double argument. + */ + public void testInfoDouble() { + LogCapture capture = new LogCapture(Level.INFO); + double val = 3.14; + LogSF.info(logger, "Iteration {}", val); + assertEquals("Iteration " + String.valueOf(val), capture.getMessage()); + } + + /** + * Test LogSF.info with two arguments. + */ + public void testInfoTwoArg() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "{}, {}.", "Hello", "World"); + assertEquals("Hello, World.", capture.getMessage()); + + } + + /** + * Test LogSF.info with three arguments. + */ + public void testInfoThreeArg() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "{}{} {}.", "Hello", ",", "World"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.info with Object[] argument. + */ + public void testInfoArrayArg() { + LogCapture capture = new LogCapture(Level.INFO); + Object[] args = new Object[] { "Hello", ",", "World", "." }; + LogSF.info(logger, "{}{} {}{}", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.warn with null pattern. + */ + public void testWarnNullPattern() { + LogCapture capture = new LogCapture(Level.WARN); + LogSF.warn(logger, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogSF.warn with no-field pattern. + */ + public void testWarnNoArg() { + LogCapture capture = new LogCapture(Level.WARN); + LogSF.warn(logger, "Hello, World", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.warn with malformed pattern. + */ + public void testWarnBadPattern() { + LogCapture capture = new LogCapture(Level.WARN); + LogSF.warn(logger, "Hello, {.", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogSF.warn with missing argument. + */ + public void testWarnMissingArg() { + LogCapture capture = new LogCapture(Level.WARN); + LogSF.warn(logger, "Hello, {}World", new Object[0]); + assertEquals("Hello, {}World", capture.getMessage()); + } + + /** + * Test LogSF.warn with single field pattern with string argument. + */ + public void testWarnString() { + LogCapture capture = new LogCapture(Level.WARN); + LogSF.warn(logger, "Hello, {}", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.warn with single field pattern with null argument. + */ + public void testWarnNull() { + LogCapture capture = new LogCapture(Level.WARN); + LogSF.warn(logger, "Hello, {}", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogSF.warn with single field pattern with int argument. + */ + public void testWarnInt() { + LogCapture capture = new LogCapture(Level.WARN); + int val = 42; + LogSF.warn(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.warn with single field pattern with byte argument. + */ + public void testWarnByte() { + LogCapture capture = new LogCapture(Level.WARN); + byte val = 42; + LogSF.warn(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.warn with single field pattern with short argument. + */ + public void testWarnShort() { + LogCapture capture = new LogCapture(Level.WARN); + short val = 42; + LogSF.warn(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.warn with single field pattern with long argument. + */ + public void testWarnLong() { + LogCapture capture = new LogCapture(Level.WARN); + long val = 42; + LogSF.warn(logger, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.warn with single field pattern with char argument. + */ + public void testWarnChar() { + LogCapture capture = new LogCapture(Level.WARN); + char val = 'C'; + LogSF.warn(logger, "Iteration {}", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogSF.warn with single field pattern with boolean argument. + */ + public void testWarnBoolean() { + LogCapture capture = new LogCapture(Level.WARN); + boolean val = true; + LogSF.warn(logger, "Iteration {}", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogSF.warn with single field pattern with float argument. + */ + public void testWarnFloat() { + LogCapture capture = new LogCapture(Level.WARN); + float val = 3.14f; + LogSF.warn(logger, "Iteration {}", val); + assertEquals("Iteration " + String.valueOf(val), capture.getMessage()); + } + + /** + * Test LogSF.warn with single field pattern with double argument. + */ + public void testWarnDouble() { + LogCapture capture = new LogCapture(Level.WARN); + double val = 3.14; + LogSF.warn(logger, "Iteration {}", val); + assertEquals("Iteration " + String.valueOf(val), capture.getMessage()); + } + + /** + * Test LogSF.warn with two arguments. + */ + public void testWarnTwoArg() { + LogCapture capture = new LogCapture(Level.WARN); + LogSF.warn(logger, "{}, {}.", "Hello", "World"); + assertEquals("Hello, World.", capture.getMessage()); + + } + + /** + * Test LogSF.warn with three arguments. + */ + public void testWarnThreeArg() { + LogCapture capture = new LogCapture(Level.WARN); + LogSF.warn(logger, "{}{} {}.", "Hello", ",", "World"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.warn with Object[] argument. + */ + public void testWarnFourArg() { + LogCapture capture = new LogCapture(Level.WARN); + LogSF.warn(logger, "{}{} {}{}", + "Hello", ",", "World", "." ); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.warn with Object[] argument. + */ + public void testWarnArrayArg() { + LogCapture capture = new LogCapture(Level.WARN); + Object[] args = new Object[] { "Hello", ",", "World", "." }; + LogSF.warn(logger, "{}{} {}{}", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + + /** + * Test LogSF.log with null pattern. + */ + public void testLogNullPattern() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogSF.log with no-field pattern. + */ + public void testLogNoArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, "Hello, World", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.log with malformed pattern. + */ + public void testLogBadPattern() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, "Hello, {.", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogSF.log with missing argument. + */ + public void testLogMissingArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, "Hello, {}World", new Object[0]); + assertEquals("Hello, {}World", capture.getMessage()); + } + + /** + * Test LogSF.log with single field pattern with string argument. + */ + public void testLogString() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, "Hello, {}", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.log with single field pattern with null argument. + */ + public void testLogNull() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, "Hello, {}", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogSF.log with single field pattern with int argument. + */ + public void testLogInt() { + LogCapture capture = new LogCapture(Level.ERROR); + int val = 42; + LogSF.log(logger, Level.ERROR, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.log with single field pattern with byte argument. + */ + public void testLogByte() { + LogCapture capture = new LogCapture(Level.ERROR); + byte val = 42; + LogSF.log(logger, Level.ERROR, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.log with single field pattern with short argument. + */ + public void testLogShort() { + LogCapture capture = new LogCapture(Level.ERROR); + short val = 42; + LogSF.log(logger, Level.ERROR, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.log with single field pattern with long argument. + */ + public void testLogLong() { + LogCapture capture = new LogCapture(Level.ERROR); + long val = 42; + LogSF.log(logger, Level.ERROR, "Iteration {}", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.log with single field pattern with char argument. + */ + public void testLogChar() { + LogCapture capture = new LogCapture(Level.ERROR); + char val = 'C'; + LogSF.log(logger, Level.ERROR, "Iteration {}", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogSF.log with single field pattern with boolean argument. + */ + public void testLogBoolean() { + LogCapture capture = new LogCapture(Level.ERROR); + boolean val = true; + LogSF.log(logger, Level.ERROR, "Iteration {}", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogSF.log with single field pattern with float argument. + */ + public void testLogFloat() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, "Iteration {}", (float) Math.PI); + + String expected = "Iteration " + String.valueOf(new Float(Math.PI)); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogSF.log with single field pattern with double argument. + */ + public void testLogDouble() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, "Iteration {}", Math.PI); + + String expected = "Iteration " + String.valueOf(new Double(Math.PI)); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogSF.log with two arguments. + */ + public void testLogTwoArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, "{}, {}.", "Hello", "World"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.log with three arguments. + */ + public void testLogThreeArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, "{}{} {}.", "Hello", ",", "World"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.log with four arguments. + */ + public void testLogFourArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.log(logger, Level.ERROR, "{}{} {}{}", "Hello", ",", "World", "."); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.log with Object[] argument. + */ + public void testLogArrayArg() { + LogCapture capture = new LogCapture(Level.ERROR); + Object[] args = new Object[] { "Hello", ",", "World", "." }; + LogSF.log(logger, Level.ERROR, "{}{} {}{}", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Bundle name for resource bundle tests. + */ + private static final String BUNDLE_NAME = + "org.apache.log4j.TestLogSFPatterns"; + + /** + * Test LogSF.logrb with null bundle name. + */ + public void testLogrbNullBundle() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, null, "Iteration0", Math.PI); + assertEquals("Iteration0", capture.getMessage()); + } + + /** + * Test LogSF.logrb with null key. + */ + public void testLogrbNullKey() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, null, Math.PI); + assertNull(capture.getMessage()); + } + + /** + * Test LogSF.logrb with no-field pattern. + */ + public void testLogrbNoArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello1", Math.PI); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.logrb with malformed pattern. + */ + public void testLogrbBadPattern() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Malformed", Math.PI); + assertEquals("Hello, {.", capture.getMessage()); + } + + /** + * Test LogSF.logrb with missing argument. + */ + public void testLogrbMissingArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello2", new Object[0]); + assertEquals("Hello, {}World", capture.getMessage()); + } + + /** + * Test LogSF.logrb with single field pattern with string argument. + */ + public void testLogrbString() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello3", "World"); + assertEquals("Hello, World", capture.getMessage()); + } + + /** + * Test LogSF.logrb with single field pattern with null argument. + */ + public void testLogrbNull() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Hello3", (Object) null); + assertEquals("Hello, null", capture.getMessage()); + } + + /** + * Test LogSF.logrb with single field pattern with int argument. + */ + public void testLogrbInt() { + LogCapture capture = new LogCapture(Level.ERROR); + int val = 42; + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.logrb with single field pattern with byte argument. + */ + public void testLogrbByte() { + LogCapture capture = new LogCapture(Level.ERROR); + byte val = 42; + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.logrb with single field pattern with short argument. + */ + public void testLogrbShort() { + LogCapture capture = new LogCapture(Level.ERROR); + short val = 42; + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.logrb with single field pattern with long argument. + */ + public void testLogrbLong() { + LogCapture capture = new LogCapture(Level.ERROR); + long val = 42; + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration 42", capture.getMessage()); + } + + /** + * Test LogSF.logrb with single field pattern with char argument. + */ + public void testLogrbChar() { + LogCapture capture = new LogCapture(Level.ERROR); + char val = 'C'; + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration C", capture.getMessage()); + } + + /** + * Test LogSF.logrb with single field pattern with boolean argument. + */ + public void testLogrbBoolean() { + LogCapture capture = new LogCapture(Level.ERROR); + boolean val = true; + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", val); + assertEquals("Iteration true", capture.getMessage()); + } + + /** + * Test LogSF.logrb with single field pattern with float argument. + */ + public void testLogrbFloat() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, + "Iteration0", (float) Math.PI); + + String expected = "Iteration " + String.valueOf(new Float(Math.PI)); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogSF.logrb with single field pattern with double argument. + */ + public void testLogrbDouble() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, BUNDLE_NAME, "Iteration0", Math.PI); + + String expected = "Iteration " + String.valueOf(new Double(Math.PI)); + assertEquals(expected, capture.getMessage()); + } + + /** + * Test LogSF.logrb with two arguments. + */ + public void testLogrbTwoArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, + BUNDLE_NAME, "Hello4", "Hello", "World"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.logrb with three arguments. + */ + public void testLogrbThreeArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, + BUNDLE_NAME, "Hello5", "Hello", ",", "World"); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.logrb with four arguments. + */ + public void testLogrbFourArg() { + LogCapture capture = new LogCapture(Level.ERROR); + LogSF.logrb(logger, Level.ERROR, + BUNDLE_NAME, "Hello6", "Hello", ",", "World", "."); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test LogSF.logrb with Object[] argument. + */ + public void testLogrbArrayArg() { + LogCapture capture = new LogCapture(Level.ERROR); + Object[] args = new Object[] { "Hello", ",", "World", "." }; + LogSF.logrb(logger, Level.ERROR, + BUNDLE_NAME, "Hello6", args); + assertEquals("Hello, World.", capture.getMessage()); + } + + /** + * Test \\{ escape sequence when only one parameter is present. + * + */ + public void testEscapeOneParam() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "\\{}\\{{}}, World}\\{","Hello"); + assertEquals("{}{Hello}, World}{", capture.getMessage()); + } + + /** + * Test \\{ escape sequence when more than one parameter is present. + * + */ + public void testEscapeTwoParam() { + LogCapture capture = new LogCapture(Level.INFO); + LogSF.info(logger, "\\{}\\{{}}, {}}{}\\{","Hello", "World"); + assertEquals("{}{Hello}, World}{}{", capture.getMessage()); + } +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogXF.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogXF.java new file mode 100644 index 00000000000..e3429ae273c --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/TestLogXF.java @@ -0,0 +1,203 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j; + +import junit.framework.TestCase; + + +/** + * Unit test for LogXF. + */ +public class TestLogXF extends TestCase { + /** + * Logger. + */ + private final Logger logger = Logger.getLogger( + "org.apache.log4j.formatter.TestLogXF"); + + /** + * Create the test case + * + * @param testName name of the test case + */ + public TestLogXF(String testName) { + super(testName); + } + + + /** + * Post test clean up. + */ + public void tearDown() { + LogManager.resetConfiguration(); + } + + private static class BadStringifier { + private BadStringifier() {} + public static BadStringifier INSTANCE = new BadStringifier(); + public String toString() { + throw new NullPointerException(); + } + } + + + /** + * Test LogXF.entering with null class and method. + */ + public void testEnteringNullNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, null, null); + assertEquals("null.null ENTRY", capture.getMessage()); + } + + + /** + * Test LogXF.entering with null class, method and parameter. + */ + public void testEnteringNullNullNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, null, null, (String) null); + assertEquals("null.null ENTRY null", capture.getMessage()); + } + + /** + * Test LogXF.entering with null class, method and parameters. + */ + public void testEnteringNullNullNullArray() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, null, null, (Object[]) null); + assertEquals("null.null ENTRY {}", capture.getMessage()); + } + + /** + * Test LogXF.entering with class and method. + */ + public void testEntering() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, "SomeClass", "someMethod"); + assertEquals("SomeClass.someMethod ENTRY", capture.getMessage()); + } + + /** + * Test LogXF.entering with class, method and parameter. + */ + public void testEnteringWithParam() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, "SomeClass", "someMethod", "someParam"); + assertEquals("SomeClass.someMethod ENTRY someParam", capture.getMessage()); + } + + /** + * Test LogXF.entering with class, method and bad parameter. + */ + public void testEnteringWithBadParam() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, "SomeClass", "someMethod", BadStringifier.INSTANCE); + assertEquals("SomeClass.someMethod ENTRY ?", capture.getMessage()); + } + + /** + * Test LogXF.entering with class, method and bad parameters. + */ + public void testEnteringWithBadParams() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.entering(logger, "SomeClass", "someMethod", new Object[]{"param1",BadStringifier.INSTANCE}); + assertEquals("SomeClass.someMethod ENTRY {param1,?}", capture.getMessage()); + } + + + /** + * Test LogXF.exiting with null class and method. + */ + public void testExitingNullNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.exiting(logger, null, null); + assertEquals("null.null RETURN", capture.getMessage()); + } + + + /** + * Test LogXF.exiting with null class, method and parameter. + */ + public void testExitingNullNullNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.exiting(logger, null, null, (String) null); + assertEquals("null.null RETURN null", capture.getMessage()); + } + + + /** + * Test LogXF.exiting with class and method. + */ + public void testExiting() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.exiting(logger, "SomeClass", "someMethod"); + assertEquals("SomeClass.someMethod RETURN", capture.getMessage()); + } + + /** + * Test LogXF.exiting with class, method and return value. + */ + public void testExitingWithValue() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.exiting(logger, "SomeClass", "someMethod", "someValue"); + assertEquals("SomeClass.someMethod RETURN someValue", capture.getMessage()); + } + + /** + * Test LogXF.exiting with class, method and bad return value. + */ + public void testExitingWithBadValue() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.exiting(logger, "SomeClass", "someMethod", BadStringifier.INSTANCE); + assertEquals("SomeClass.someMethod RETURN ?", capture.getMessage()); + } + + + /** + * Test LogXF.throwing with null class, method and throwable. + */ + public void testThrowingNullNullNull() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.throwing(logger, null, null, null); + assertEquals("null.null THROW", capture.getMessage()); + } + + + /** + * Test LogXF.exiting with class and method. + */ + public void testThrowing() { + LogCapture capture = new LogCapture(Level.DEBUG); + logger.setLevel(Level.DEBUG); + LogXF.throwing(logger, "SomeClass", "someMethod", new IllegalArgumentException()); + assertEquals("SomeClass.someMethod THROW", capture.getMessage()); + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/VectorAppender.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/VectorAppender.java old mode 100644 new mode 100755 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/VectorAppender.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/VectorAppender.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/AndFilterTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/AndFilterTest.java new file mode 100644 index 00000000000..a86d53433f3 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/AndFilterTest.java @@ -0,0 +1,150 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.filter; + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Unit tests for AndFilter. + */ +public class AndFilterTest extends TestCase { + + /** + * Create new test instance. + * + * @param name test name. + */ + public AndFilterTest(final String name) { + super(name); + } + + /** + * Check that AndFilter.decide() returns Filter.ACCEPT if no filters added. + */ + public void test1() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(AndFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + Filter filter = new AndFilter(); + filter.activateOptions(); + assertEquals(Filter.ACCEPT, filter.decide(event)); + } + + /** + * Check that AndFilter.decide() returns Filter.ACCEPT if + * only nested filter returns Filter.ACCEPT. + */ + public void test2() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(AndFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + AndFilter filter = new AndFilter(); + LevelMatchFilter filter1 = new LevelMatchFilter(); + filter1.setLevelToMatch("info"); + filter1.activateOptions(); + filter.addFilter(filter1); + filter.activateOptions(); + assertEquals(Filter.ACCEPT, filter.decide(event)); + } + + /** + * Check that AndFilter.decide() returns Filter.ACCEPT if + * two nested filters return Filter.ACCEPT. + */ + public void test3() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(AndFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + AndFilter filter = new AndFilter(); + LevelMatchFilter filter1 = new LevelMatchFilter(); + filter1.setLevelToMatch("info"); + filter1.activateOptions(); + filter.addFilter(filter1); + LevelMatchFilter filter2 = new LevelMatchFilter(); + filter2.setLevelToMatch("info"); + filter2.activateOptions(); + filter.addFilter(filter2); + filter.activateOptions(); + assertEquals(Filter.ACCEPT, filter.decide(event)); + } + + /** + * Check that AndFilter.decide() returns Filter.DENY if + * only nested filter returns Filter.ACCEPT + * and acceptOnMatch is false. + */ + public void test4() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(AndFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + AndFilter filter = new AndFilter(); + LevelMatchFilter filter1 = new LevelMatchFilter(); + filter1.setLevelToMatch("info"); + filter1.activateOptions(); + filter.addFilter(filter1); + filter.setAcceptOnMatch(false); + filter.activateOptions(); + assertEquals(Filter.DENY, filter.decide(event)); + } + + /** + * Check that AndFilter.decide() returns Filter.NEUTRAL if + * nested filters return Filter.ACCEPT and Filter.DENY. + */ + public void test5() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(AndFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + AndFilter filter = new AndFilter(); + LevelMatchFilter filter1 = new LevelMatchFilter(); + filter1.setLevelToMatch("info"); + filter1.activateOptions(); + filter.addFilter(filter1); + Filter filter2 = new DenyAllFilter(); + filter2.activateOptions(); + filter.addFilter(filter2); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } + + /** + * Check that AndFilter.decide() returns Filter.NEUTRAL if + * nested filters return Filter.ACCEPT and Filter.NEUTRAL. + */ + public void test6() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(AndFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + AndFilter filter = new AndFilter(); + LevelMatchFilter filter1 = new LevelMatchFilter(); + filter1.setLevelToMatch("info"); + filter1.activateOptions(); + filter.addFilter(filter1); + Filter filter2 = new StringMatchFilter(); + filter2.activateOptions(); + filter.addFilter(filter2); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } + +} + diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/DenyAllFilterTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/DenyAllFilterTest.java new file mode 100644 index 00000000000..d563c824d41 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/DenyAllFilterTest.java @@ -0,0 +1,53 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.filter; + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Unit tests for DenyAllFilter. + */ +public class DenyAllFilterTest extends TestCase { + + /** + * Create new test instance. + * + * @param name test name. + */ + public DenyAllFilterTest(final String name) { + super(name); + } + + /** + * Check that DenyAllFilter.decide() returns Filter.DENY. + */ + public void test1() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(DenyAllFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + Filter filter = new DenyAllFilter(); + filter.activateOptions(); + assertEquals(Filter.DENY, filter.decide(event)); + } + +} + diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LevelMatchFilterTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LevelMatchFilterTest.java new file mode 100644 index 00000000000..5bdaff63a27 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LevelMatchFilterTest.java @@ -0,0 +1,109 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.filter; + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Unit tests for LevelMatchFilter. + */ +public class LevelMatchFilterTest extends TestCase { + + /** + * Create new test instance. + * + * @param name test name. + */ + public LevelMatchFilterTest(final String name) { + super(name); + } + + /** + * Check that LevelMatchFilter.decide() returns Filter.ACCEPT when level matches. + */ + public void test1() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelMatchFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelMatchFilter filter = new LevelMatchFilter(); + filter.setLevelToMatch("info"); + filter.activateOptions(); + assertEquals(Filter.ACCEPT, filter.decide(event)); + } + + /** + * Check that LevelMatchFilter.decide() returns Filter.DENY + * when level matches and acceptOnMatch = false. + */ + public void test2() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelMatchFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelMatchFilter filter = new LevelMatchFilter(); + filter.setLevelToMatch("info"); + filter.setAcceptOnMatch(false); + filter.activateOptions(); + assertEquals(Filter.DENY, filter.decide(event)); + } + + /** + * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + * when levelToMatch is unspecified. + */ + public void test3() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelMatchFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelMatchFilter filter = new LevelMatchFilter(); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } + + /** + * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + * when event level is higher than level to match. + */ + public void test4() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelMatchFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelMatchFilter filter = new LevelMatchFilter(); + filter.setLevelToMatch("debug"); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } + + /** + * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL + * when event level is lower than level to match. + */ + public void test5() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelMatchFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelMatchFilter filter = new LevelMatchFilter(); + filter.setLevelToMatch("warn"); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } +} + diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LevelRangeFilterTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LevelRangeFilterTest.java new file mode 100644 index 00000000000..3a4614abf5f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LevelRangeFilterTest.java @@ -0,0 +1,126 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.filter; + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Unit tests for LevelRangeFilter. + */ +public class LevelRangeFilterTest extends TestCase { + + /** + * Create new test instance. + * + * @param name test name. + */ + public LevelRangeFilterTest(final String name) { + super(name); + } + + /** + * Check that LevelRangeFilter.decide() returns Filter.DENY + * when event level is below min level. + */ + public void test1() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelRangeFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelRangeFilter filter = new LevelRangeFilter(); + filter.setLevelMin(Level.WARN); + filter.activateOptions(); + assertEquals(Filter.DENY, filter.decide(event)); + } + + /** + * Check that LevelRangeFilter.decide() returns Filter.DENY + * when event level is above max level. + */ + public void test2() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelRangeFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelRangeFilter filter = new LevelRangeFilter(); + filter.setLevelMax(Level.DEBUG); + filter.activateOptions(); + assertEquals(Filter.DENY, filter.decide(event)); + } + + /** + * Check that LevelRangeFilter.decide() returns Filter.ACCEPT + * when event level is above min level. + */ + public void test3() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelRangeFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelRangeFilter filter = new LevelRangeFilter(); + filter.setLevelMin(Level.DEBUG); + filter.setAcceptOnMatch(true); + filter.activateOptions(); + assertEquals(Filter.ACCEPT, filter.decide(event)); + } + + /** + * Check that LevelRangeFilter.decide() returns Filter.ACCEPT + * when event level is below max level. + */ + public void test4() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelRangeFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelRangeFilter filter = new LevelRangeFilter(); + filter.setLevelMax(Level.ERROR); + filter.setAcceptOnMatch(true); + filter.activateOptions(); + assertEquals(Filter.ACCEPT, filter.decide(event)); + } + + /** + * Check that LevelRangeFilter.decide() returns Filter.NEUTRAL + * when event level is above min level and accept on match is false. + */ + public void test5() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelRangeFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelRangeFilter filter = new LevelRangeFilter(); + filter.setLevelMin(Level.DEBUG); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } + + /** + * Check that LevelRangeFilter.decide() returns Filter.NEUTRAL + * when event level is below max level and accept on match is false. + */ + public void test6() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(LevelRangeFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LevelRangeFilter filter = new LevelRangeFilter(); + filter.setLevelMax(Level.ERROR); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } +} + diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LoggerMatchFilterTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LoggerMatchFilterTest.java new file mode 100644 index 00000000000..ea832d79a42 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/LoggerMatchFilterTest.java @@ -0,0 +1,95 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.filter; + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Unit tests for LoggerMatchFilter. + */ +public class LoggerMatchFilterTest extends TestCase { + + /** + * Create new test instance. + * + * @param name test name. + */ + public LoggerMatchFilterTest(final String name) { + super(name); + } + + /** + * Check that LoggerMatchFilter.decide() with unspecified level + * returns Filter.ACCEPT for root logger. + */ + public void test1() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + Filter filter = new LoggerMatchFilter(); + filter.activateOptions(); + assertEquals(Filter.ACCEPT, filter.decide(event)); + } + + /** + * Check that LoggerMatchFilter.decide() with unspecified level + * returns Filter.DENY for root logger when accept on match is false. + */ + public void test2() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LoggerMatchFilter filter = new LoggerMatchFilter(); + filter.setAcceptOnMatch(false); + filter.activateOptions(); + assertEquals(Filter.DENY, filter.decide(event)); + } + + /** + * Check that LoggerMatchFilter.decide() with unspecified level + * returns Filter.NEUTRAL for non-root logger. + */ + public void test3() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger("org.apache.log4j.filter.LoggerMatchFilterTest"), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + Filter filter = new LoggerMatchFilter(); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } + + /** + * Check that LoggerMatchFilter.decide() + * returns Filter.ACCEPT for matching logger. + */ + public void test4() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger("org.apache.log4j.filter.LoggerMatchFilterTest"), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + LoggerMatchFilter filter = new LoggerMatchFilter(); + filter.setLoggerToMatch("org.apache.log4j.filter.LoggerMatchFilterTest"); + filter.activateOptions(); + assertEquals(Filter.ACCEPT, filter.decide(event)); + } + +} + diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/filter/SimpleFilterTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/SimpleFilterTest.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/filter/SimpleFilterTest.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/SimpleFilterTest.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/StringMatchFilterTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/StringMatchFilterTest.java new file mode 100644 index 00000000000..5b77ff9d6bf --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/StringMatchFilterTest.java @@ -0,0 +1,112 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.filter; + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Unit tests for StringMatchFilter. + */ +public class StringMatchFilterTest extends TestCase { + + /** + * Create new test instance. + * + * @param name test name. + */ + public StringMatchFilterTest(final String name) { + super(name); + } + + /** + * Check that StringMatchFilter.decide() returns Filter.NEUTRAL + * when string to match is unspecified. + */ + public void test1() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(StringMatchFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + Filter filter = new StringMatchFilter(); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } + + /** + * Check that StringMatchFilter.decide() returns Filter.NEUTRAL + * when string to match does not appear in message. + */ + public void test2() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(StringMatchFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + StringMatchFilter filter = new StringMatchFilter(); + filter.setStringToMatch("Monde"); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } + + /** + * Check that StringMatchFilter.decide() returns Filter.ACCEPT + * when string to match does appear in message. + */ + public void test3() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(StringMatchFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + StringMatchFilter filter = new StringMatchFilter(); + filter.setStringToMatch("World"); + filter.activateOptions(); + assertEquals(Filter.ACCEPT, filter.decide(event)); + } + + /** + * Check that StringMatchFilter.decide() returns Filter.DENY + * when string to match does appear in message and + * accept on match is false. + */ + public void test4() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(StringMatchFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + StringMatchFilter filter = new StringMatchFilter(); + filter.setStringToMatch("World"); + filter.setAcceptOnMatch(false); + filter.activateOptions(); + assertEquals(Filter.DENY, filter.decide(event)); + } + + /** + * Check that StringMatchFilter.decide() returns Filter.NEUTRAL + * when string to match does appear in message but differs in case. + */ + public void test5() { + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getLogger(StringMatchFilterTest.class), + System.currentTimeMillis(), Level.INFO, "Hello, World", null); + StringMatchFilter filter = new StringMatchFilter(); + filter.setStringToMatch("world"); + filter.activateOptions(); + assertEquals(Filter.NEUTRAL, filter.decide(event)); + } + +} + diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/filter/TimeFilterTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/TimeFilterTest.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/filter/TimeFilterTest.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/filter/TimeFilterTest.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/CachedDateFormatTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/CachedDateFormatTest.java new file mode 100644 index 00000000000..2ad4cdfb675 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/CachedDateFormatTest.java @@ -0,0 +1,393 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +import org.apache.log4j.pattern.CachedDateFormat; + +import java.text.DateFormat; +import java.util.TimeZone; +import java.util.Date; +import java.text.SimpleDateFormat; +import java.util.Locale; +import java.util.Calendar; + +/** + Unit test {@link AbsoluteTimeDateFormat}. + @author Curt Arnold + */ +public final class CachedDateFormatTest + extends TestCase { + + /** + * Test constructor + * @param name String test name + */ + public CachedDateFormatTest(String name) { + super(name); + } + + private static DateFormat createAbsoluteTimeDateFormat(TimeZone timeZone) { + DateFormat df = new SimpleDateFormat("HH:mm:ss,SSS"); + df.setTimeZone(timeZone); + return df; + } + + + /** + * Timezone representing GMT. + */ + private static final TimeZone GMT = TimeZone.getTimeZone("GMT"); + + /** + * Timezone for Chicago, Ill. USA. + */ + private static final TimeZone CHICAGO = TimeZone.getTimeZone( + "America/Chicago"); + + /** + * Test multiple calls in close intervals. + */ + public void test1() { + // subsequent calls within one minute + // are optimized to reuse previous formatted value + // make a couple of nearly spaced calls + DateFormat gmtFormat = new CachedDateFormat(createAbsoluteTimeDateFormat(GMT), 1000); + long ticks = 12601L * 86400000L; + Date jul1 = new Date(ticks); + assertEquals("00:00:00,000", gmtFormat.format(jul1)); + Date plus8ms = new Date(ticks + 8); + assertEquals("00:00:00,008", gmtFormat.format(plus8ms)); + Date plus17ms = new Date(ticks + 17); + assertEquals("00:00:00,017", gmtFormat.format(plus17ms)); + Date plus237ms = new Date(ticks + 237); + assertEquals("00:00:00,237", gmtFormat.format(plus237ms)); + Date plus1415ms = new Date(ticks + 1415); + assertEquals("00:00:01,415", gmtFormat.format(plus1415ms)); + } + + /** + * Check for interaction between caches. + */ + public void test2() { + Date jul2 = new Date(12602L * 86400000L); + DateFormat gmtFormat = new CachedDateFormat(createAbsoluteTimeDateFormat(GMT), 1000); + DateFormat chicagoFormat = new CachedDateFormat(createAbsoluteTimeDateFormat(CHICAGO), 1000); + assertEquals("00:00:00,000", gmtFormat.format(jul2)); + assertEquals("19:00:00,000", chicagoFormat.format(jul2)); + assertEquals("00:00:00,000", gmtFormat.format(jul2)); + } + + /** + * Test multiple calls in close intervals prior to 1 Jan 1970. + */ + public void test3() { + // subsequent calls within one minute + // are optimized to reuse previous formatted value + // make a couple of nearly spaced calls + DateFormat gmtFormat = new CachedDateFormat( + createAbsoluteTimeDateFormat(GMT), 1000); + // + // if the first call was exactly on an integral + // second, it would not test the round toward zero compensation + long ticks = -7L * 86400000L; + Date jul1 = new Date(ticks + 8); + assertEquals("00:00:00,008", gmtFormat.format(jul1)); + Date plus8ms = new Date(ticks + 16); + assertEquals("00:00:00,016", gmtFormat.format(plus8ms)); + Date plus17ms = new Date(ticks + 23); + assertEquals("00:00:00,023", gmtFormat.format(plus17ms)); + Date plus237ms = new Date(ticks + 245); + assertEquals("00:00:00,245", gmtFormat.format(plus237ms)); + Date plus1415ms = new Date(ticks + 1423); + assertEquals("00:00:01,423", gmtFormat.format(plus1415ms)); + } + + public void test4() { + // subsequent calls within one minute are optimized to reuse previous + // formatted value. make a couple of nearly spaced calls + // (Note: 'Z' is JDK 1.4, using 'z' instead.) + SimpleDateFormat baseFormat = + new SimpleDateFormat("EEE, MMM dd, HH:mm:ss.SSS z", Locale.ENGLISH); + DateFormat cachedFormat = new CachedDateFormat(baseFormat, 1000); + // + // use a date in 2000 to attempt to confuse the millisecond locator + long ticks = 11141L * 86400000L; + Date jul1 = new Date(ticks); + assertEquals(baseFormat.format(jul1), cachedFormat.format(jul1)); + Date plus8ms = new Date(ticks + 8); + baseFormat.format(plus8ms); + cachedFormat.format(plus8ms); + assertEquals(baseFormat.format(plus8ms), cachedFormat.format(plus8ms)); + Date plus17ms = new Date(ticks + 17); + assertEquals(baseFormat.format(plus17ms), cachedFormat.format(plus17ms)); + Date plus237ms = new Date(ticks + 237); + assertEquals(baseFormat.format(plus237ms), cachedFormat.format(plus237ms)); + Date plus1415ms = new Date(ticks + 1415); + assertEquals(baseFormat.format(plus1415ms), cachedFormat.format(plus1415ms)); + } + + public void test5() { + // subsequent calls within one minute + // are optimized to reuse previous formatted value + // make a couple of nearly spaced calls + // (Note: 'Z' is JDK 1.4, using 'z' instead.) + Locale thai = new Locale("th", "TH"); + SimpleDateFormat baseFormat = + new SimpleDateFormat("EEE, MMM dd, HH:mm:ss.SSS z", thai); + DateFormat cachedFormat = new CachedDateFormat(baseFormat, 1000); + // + // use a date in the year 2000 CE to attempt to confuse the millisecond locator + long ticks = 11141L * 86400000L; + + String sx; + Date jul1 = new Date(ticks); + sx = cachedFormat.format(jul1); + System.out.println(baseFormat.format(jul1)); + System.out.println(sx); + assertEquals(baseFormat.format(jul1), sx); + + sx = cachedFormat.format(jul1); + System.out.println(baseFormat.format(jul1)); + System.out.println(sx); + assertEquals(baseFormat.format(jul1), sx); + + + Date plus8ms = new Date(ticks + 8); + sx = cachedFormat.format(plus8ms); + System.out.println(baseFormat.format(plus8ms)); + System.out.println(sx); + + assertEquals(baseFormat.format(plus8ms), sx); + + Date plus17ms = new Date(ticks + 17); + assertEquals(baseFormat.format(plus17ms), cachedFormat.format(plus17ms)); + + Date plus237ms = new Date(ticks + 237); + assertEquals(baseFormat.format(plus237ms), cachedFormat.format(plus237ms)); + + Date plus1415ms = new Date(ticks + 1415); + assertEquals(baseFormat.format(plus1415ms), cachedFormat.format(plus1415ms)); + } + + /** + * Checks that getNumberFormat does not return null. + */ + public void test6() { + assertNotNull(new CachedDateFormat(new SimpleDateFormat(), 1000).getNumberFormat()); + } + + /** + * Set time zone on cached and check that it is effective. + */ + public void test8() { + DateFormat baseFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS"); + baseFormat.setTimeZone(GMT); + DateFormat cachedFormat = new CachedDateFormat(baseFormat, 1000); + Date jul4 = new Date(12603L * 86400000L); + assertEquals("2004-07-04 00:00:00,000", cachedFormat.format(jul4)); + cachedFormat.setTimeZone(TimeZone.getTimeZone("GMT-6")); + assertEquals("2004-07-03 18:00:00,000", cachedFormat.format(jul4)); + } + + + /** + * Test of caching when less than three millisecond digits are specified. + */ + public void test9() { + // (Note: 'Z' is JDK 1.4, using 'z' instead.) + DateFormat baseFormat = new SimpleDateFormat("yyyy-MMMM-dd HH:mm:ss,SS z", Locale.US); + DateFormat cachedFormat = new CachedDateFormat(baseFormat, 1000); + TimeZone cet = TimeZone.getTimeZone("GMT+1"); + cachedFormat.setTimeZone(cet); + + Calendar c = Calendar.getInstance(); + c.set(2004, Calendar.DECEMBER, 12, 20, 0); + c.set(Calendar.SECOND, 37); + c.set(Calendar.MILLISECOND, 23); + c.setTimeZone(cet); + + String expected = baseFormat.format(c.getTime()); + String s = cachedFormat.format(c.getTime()); + assertEquals(expected, s); + + c.set(2005, Calendar.JANUARY, 1, 0, 0); + c.set(Calendar.SECOND, 13); + c.set(Calendar.MILLISECOND, 905); + + expected = baseFormat.format(c.getTime()); + s = cachedFormat.format(c.getTime()); + assertEquals(expected, s); + } + + + /** + * Test when millisecond position moves but length remains constant. + */ + public void test10() { + DateFormat baseFormat = new SimpleDateFormat("MMMM SSS EEEEEE", Locale.US); + DateFormat cachedFormat = new CachedDateFormat(baseFormat, 1000); + TimeZone cet = TimeZone.getTimeZone("GMT+1"); + cachedFormat.setTimeZone(cet); + + Calendar c = Calendar.getInstance(); + c.set(2004, Calendar.OCTOBER, 5, 20, 0); + c.set(Calendar.SECOND, 37); + c.set(Calendar.MILLISECOND, 23); + c.setTimeZone(cet); + + String expected = baseFormat.format(c.getTime()); + String s = cachedFormat.format(c.getTime()); + assertEquals(expected, s); + + c.set(2004, Calendar.NOVEMBER, 1, 0, 0); + c.set(Calendar.MILLISECOND, 23); + expected = baseFormat.format(c.getTime()); + s = cachedFormat.format(c.getTime()); + assertEquals(expected, s); + + + c.set(Calendar.MILLISECOND, 984); + expected = baseFormat.format(c.getTime()); + s = cachedFormat.format(c.getTime()); + assertEquals(expected, s); + } + + /** + * Test that tests if caching is skipped if only "SS" + * is specified. + */ + public void test11() { + // + // Earlier versions could be tricked by "SS0" patterns. + // + String badPattern = "ss,SS0"; + SimpleDateFormat simpleFormat = new SimpleDateFormat(badPattern); + SimpleDateFormat baseFormat = new SimpleDateFormat(badPattern); + DateFormat gmtFormat = new CachedDateFormat(simpleFormat, 1000); + gmtFormat.setTimeZone(GMT); + baseFormat.setTimeZone(GMT); + + // + // The first request has to 100 ms after an ordinal second + // to push the literal zero out of the pattern check + long ticks = 11142L * 86400000L; + Date jul2 = new Date(ticks + 120); + String expected = baseFormat.format(jul2); + assertEquals(expected, gmtFormat.format(jul2)); + jul2.setTime(ticks + 87); + + + // + // Cache gives 00,087 + expected = baseFormat.format(jul2); + assertEquals(expected, gmtFormat.format(jul2)); + + } + + /** + * Check pattern location for ISO8601 + */ + public void test12() { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS"); + long ticks = 11142L * 86400000L; + String formatted = df.format(new Date(ticks)); + int millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); + assertEquals(20, millisecondStart); + } + + /** + * Check pattern location for DATE + */ + public void test13() { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + long ticks = 11142L * 86400000L; + String formatted = df.format(new Date(ticks)); + int millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); + assertEquals(CachedDateFormat.NO_MILLISECONDS, millisecondStart); + } + + /** + * Check pattern location for ABSOLUTE + */ + public void test14() { + SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss,SSS"); + long ticks = 11142L * 86400000L; + String formatted = df.format(new Date(ticks)); + int millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); + assertEquals(9, millisecondStart); + } + + /** + * Check pattern location for single S + */ + public void test15() { + SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss,S"); + long ticks = 11142L * 86400000L; + String formatted = df.format(new Date(ticks)); + int millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); + assertEquals(CachedDateFormat.UNRECOGNIZED_MILLISECONDS, millisecondStart); + } + + /** + * Check pattern location for single SS + */ + public void test16() { + SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss,SS"); + long ticks = 11142L * 86400000L; + String formatted = df.format(new Date(ticks)); + int millisecondStart = CachedDateFormat.findMillisecondStart(ticks, formatted, df); + assertEquals(CachedDateFormat.UNRECOGNIZED_MILLISECONDS, millisecondStart); + } + + + /** + * Check caching when multiple SSS appear in pattern + */ + public void test17() { + Date jul2 = new Date(12602L * 86400000L); + String badPattern = "HH:mm:ss,SSS HH:mm:ss,SSS"; + SimpleDateFormat simpleFormat = new SimpleDateFormat(badPattern); + simpleFormat.setTimeZone(GMT); + DateFormat cachedFormat = new CachedDateFormat(simpleFormat, 1000); + String s = cachedFormat.format(jul2); + assertEquals("00:00:00,000 00:00:00,000", s); + jul2.setTime(jul2.getTime() + 120); + assertEquals("00:00:00,120 00:00:00,120", simpleFormat.format(jul2)); + s = cachedFormat.format(jul2); + // + // TODO: why is this returning ,120 ... , 120 + // + //assertEquals("00:00:00,120 00:00:00,000", s) ; + + int maxValid = CachedDateFormat.getMaximumCacheValidity(badPattern); + assertEquals(1, maxValid); + } + + + public static Test xsuite() { + TestSuite suite = new TestSuite(); + suite.addTest(new CachedDateFormatTest("test5")); + //suite.addTest(new CachedDateFormatTest("testS2")); + return suite; + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/FormattingInfoTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/FormattingInfoTest.java new file mode 100644 index 00000000000..64917b55da1 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/FormattingInfoTest.java @@ -0,0 +1,103 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import junit.framework.TestCase; + + +/** + * Tests for FormattingInfo. + * + * @author Curt Arnold + * + */ +public class FormattingInfoTest extends TestCase { + /** + * Create a new instance. + * + * @param name test name + */ + public FormattingInfoTest(final String name) { + super(name); + } + + /** + * Check that getDefault does not return null. + * + */ + public void testGetDefault() { + FormattingInfo field = FormattingInfo.getDefault(); + assertNotNull(field); + assertEquals(0, field.getMinLength()); + assertEquals(Integer.MAX_VALUE, field.getMaxLength()); + assertEquals(false, field.isLeftAligned()); + } + + /** + * Check constructor + * + */ + public void testConstructor() { + FormattingInfo field = new FormattingInfo(true, false, 3, 6); + assertNotNull(field); + assertEquals(3, field.getMinLength()); + assertEquals(6, field.getMaxLength()); + assertEquals(true, field.isLeftAligned()); + } + + /** + * Field exceeds maximum width + */ + public void testTruncate() { + StringBuffer buf = new StringBuffer("foobar"); + FormattingInfo field = new FormattingInfo(true, false, 0, 3); + field.format(2, buf); + assertEquals("fobar", buf.toString()); + } + + /** + * Field exceeds maximum width, truncate right. + */ + public void testRightTruncate() { + StringBuffer buf = new StringBuffer("foobar"); + FormattingInfo field = new FormattingInfo(true, true, 0, 3); + field.format(2, buf); + assertEquals("fooba", buf.toString()); + } + + /** + * Add padding to left since field is not minimum width. + */ + public void testPadLeft() { + StringBuffer buf = new StringBuffer("foobar"); + FormattingInfo field = new FormattingInfo(false, false, 5, 10); + field.format(2, buf); + assertEquals("fo obar", buf.toString()); + } + + /** + * Add padding to right since field is not minimum width. + */ + public void testPadRight() { + StringBuffer buf = new StringBuffer("foobar"); + FormattingInfo field = new FormattingInfo(true, false, 5, 10); + field.format(2, buf); + assertEquals("foobar ", buf.toString()); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/NameAbbreviatorTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/NameAbbreviatorTest.java new file mode 100644 index 00000000000..7ced8f53edf --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/NameAbbreviatorTest.java @@ -0,0 +1,336 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import junit.framework.TestCase; + + +/** + * Tests for NameAbbrevator. + * + */ +public class NameAbbreviatorTest extends TestCase { + /** + * Create a new instance. + * + * @param name test name + */ + public NameAbbreviatorTest(final String name) { + super(name); + } + + /** + * Check that getDefaultAbbreviator does not return null. + * + */ + public void testGetDefault() { + NameAbbreviator abbrev = NameAbbreviator.getDefaultAbbreviator(); + assertNotNull(abbrev); + } + + /** + * Check that "0" drops all name content. + * + */ + public void testZero() { + NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("0"); + StringBuffer buf = new StringBuffer("DEBUG - "); + int fieldStart = buf.length(); + buf.append("org.example.foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - ", buf.toString()); + } + + /** + * Check that getAbbreviator(" ") returns default abbreviator. + * + */ + public void testBlank() { + NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(" "); + NameAbbreviator defaultAbbrev = NameAbbreviator.getDefaultAbbreviator(); + assertTrue(abbrev == defaultAbbrev); + } + + /** + * Check that getAbbreviator("1").abbreviate() drops all but the final name element. + * + */ + public void testOne() { + NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("1"); + StringBuffer buf = new StringBuffer("DEBUG - "); + int fieldStart = buf.length(); + buf.append("org.example.foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - ", buf.toString()); + } + + /** + * Check that blanks are trimmed in evaluating abbreviation pattern. + */ + public void testBlankOne() { + NameAbbreviator abbrev = NameAbbreviator.getAbbreviator(" 1 "); + StringBuffer buf = new StringBuffer("DEBUG - "); + int fieldStart = buf.length(); + buf.append("org.example.foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - ", buf.toString()); + } + + /** + * Check that getAbbreviator("2").abbreviate drops all but the last two elements. + * + */ + public void testTwo() { + NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("2"); + StringBuffer buf = new StringBuffer("DEBUG - "); + int fieldStart = buf.length(); + buf.append("org.example.foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - foo.bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - foo.bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - bar", buf.toString()); + } + + /** + * Check that getAbbreviator("1.").abbreviate abbreviates non-final elements + * to one character. + * + */ + public void testOneDot() { + NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("1."); + StringBuffer buf = new StringBuffer("DEBUG - "); + int fieldStart = buf.length(); + buf.append("org.example.foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - o.e.f.bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("org.example.foo."); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - o.e.f.", buf.toString()); + + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - f.bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - ", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("."); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - .", buf.toString()); + } + + /** + * Check that getAbbreviator("1~.").abbreviate abbreviates non-final elements + * to one character and a tilde. + * + */ + public void testOneTildeDot() { + NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("1~."); + StringBuffer buf = new StringBuffer("DEBUG - "); + int fieldStart = buf.length(); + buf.append("org.example.foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - o~.e~.f~.bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("org.example.foo."); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - o~.e~.f~.", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - f~.bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - ", buf.toString()); + + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("."); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - .", buf.toString()); + + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("o.e.f.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - o.e.f.bar", buf.toString()); + } + + /** + * Check that getAbbreviator("1.*.2").abbreviate drops all but the first + * character from the first element, uses all of the second element and + * drops all but the first two characters of the rest of the non-final elements. + * + */ + public void testMulti() { + NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("1.*.2"); + StringBuffer buf = new StringBuffer("DEBUG - "); + int fieldStart = buf.length(); + buf.append("org.example.foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - o.example.fo.bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("org.example.foo."); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - o.example.fo.", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - f.bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - ", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("."); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - .", buf.toString()); + } + + /** + * Check that getAbbreviator("-1").abbreviate() drops first name element. + * + */ + public void testMinusOne() { + NameAbbreviator abbrev = NameAbbreviator.getAbbreviator("-1"); + StringBuffer buf = new StringBuffer("DEBUG - "); + int fieldStart = buf.length(); + buf.append("org.example.foo.bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - example.foo.bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("bar"); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - bar", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - ", buf.toString()); + + buf.setLength(0); + buf.append("DEBUG - "); + fieldStart = buf.length(); + buf.append("."); + abbrev.abbreviate(fieldStart, buf); + assertEquals("DEBUG - ", buf.toString()); + + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java new file mode 100644 index 00000000000..27a58bd3c3d --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.pattern; + +import org.apache.log4j.spi.LoggingEvent; + + +public class Num343PatternConverter extends LoggingEventPatternConverter { + + private Num343PatternConverter() { + super("Num34", "num34"); + } + private static final Num343PatternConverter INSTANCE = new Num343PatternConverter(); + + public static PatternConverter newInstance(final String[] options) { + return INSTANCE; + } + + public void format(LoggingEvent event, StringBuffer toAppendTo) { + toAppendTo.append("343"); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/PatternParserTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/PatternParserTest.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/pattern/PatternParserTest.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/pattern/PatternParserTest.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.java new file mode 100644 index 00000000000..a5b3ed29c25 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/CompositeTriggeringPolicyTest.java @@ -0,0 +1,134 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.rolling; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import org.apache.log4j.Appender; +import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.PatternLayout; +import org.apache.log4j.spi.LoggingEvent; + + +/** + * Test CompositeTriggeringPolicy + * + */ +public class CompositeTriggeringPolicyTest extends TestCase { + private CompositeTriggeringPolicy composite; + private ConsoleAppender appender; + private LoggingEvent event; + + protected void setUp() throws Exception { + event = new LoggingEvent("Classname", Logger.getLogger("Logger"), System.currentTimeMillis(), Level.INFO, "msg", null); + appender = new ConsoleAppender(new PatternLayout("%d %level %c -%m%n")); + composite = new CompositeTriggeringPolicy(); + } + + protected void tearDown() throws Exception { + } + + public void testNoPolicies() { + composite.activateOptions(); + Assert.assertFalse(composite.isTriggeringEvent(appender, event, "file", 100)); + } + + public void testOneTruePolicy() { + composite.addTriggeringPolicy(new TestTriggeringPolicy(true)); + composite.activateOptions(); + Assert.assertTrue(composite.isTriggeringEvent(appender, event, "file", 100)); + } + + public void testOneFalsePolicy() { + composite.addTriggeringPolicy(new TestTriggeringPolicy(false)); + composite.activateOptions(); + Assert.assertFalse(composite.isTriggeringEvent(appender, event, "file", 100)); + } + + public void testAllFalsePolicies() { + composite.addTriggeringPolicy(new TestTriggeringPolicy(false)); + composite.addTriggeringPolicy(new TestTriggeringPolicy(false)); + composite.addTriggeringPolicy(new TestTriggeringPolicy(false)); + composite.activateOptions(); + Assert.assertFalse(composite.isTriggeringEvent(appender, event, "file", 100)); + } + + public void testAllTruePolicies() { + composite.addTriggeringPolicy(new TestTriggeringPolicy(true)); + composite.addTriggeringPolicy(new TestTriggeringPolicy(true)); + composite.addTriggeringPolicy(new TestTriggeringPolicy(true)); + composite.activateOptions(); + Assert.assertTrue(composite.isTriggeringEvent(appender, event, "file", 100)); + } + + public void testTrueAndFalsePolicies() { + composite.addTriggeringPolicy(new TestTriggeringPolicy(false)); + composite.addTriggeringPolicy(new TestTriggeringPolicy(false)); + composite.addTriggeringPolicy(new TestTriggeringPolicy(true)); + composite.activateOptions(); + Assert.assertTrue(composite.isTriggeringEvent(appender, event, "file", 100)); + } + + public void testActivateOptionsCalledByCompositeActivateOptions() { + TestTriggeringPolicy policy1 = new TestTriggeringPolicy(true); + TestTriggeringPolicy policy2 = new TestTriggeringPolicy(true); + + composite.addTriggeringPolicy(policy1); + composite.addTriggeringPolicy(policy2); + composite.activateOptions(); + + Assert.assertTrue(policy1.activateOptionsCalled()); + Assert.assertTrue(policy2.activateOptionsCalled()); + } + + public void testActivateOptionsNotCalledByAddTriggeringPolicy() { + TestTriggeringPolicy policy1 = new TestTriggeringPolicy(true); + TestTriggeringPolicy policy2 = new TestTriggeringPolicy(true); + + composite.addTriggeringPolicy(policy1); + composite.addTriggeringPolicy(policy2); + + Assert.assertFalse(policy1.activateOptionsCalled()); + Assert.assertFalse(policy2.activateOptionsCalled()); + } + + class TestTriggeringPolicy implements TriggeringPolicy { + private final boolean result; + private boolean activateOptionsCalled = false; + + public TestTriggeringPolicy(boolean result) { + this.result = result; + } + + public boolean activateOptionsCalled() { + return activateOptionsCalled; + } + + public boolean isTriggeringEvent(Appender appender, LoggingEvent event, + String filename, long fileLength) { + return result; + } + + public void activateOptions() { + activateOptionsCalled = true; + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/FilterBasedRollingTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/FilterBasedRollingTest.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/FilterBasedRollingTest.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/FilterBasedRollingTest.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/RenamingTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/RenamingTest.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/RenamingTest.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/RenamingTest.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/SizeBasedRollingTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/SizeBasedRollingTest.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/SizeBasedRollingTest.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/SizeBasedRollingTest.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/TimeBasedRollingTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/TimeBasedRollingTest.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/TimeBasedRollingTest.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/TimeBasedRollingTest.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/helper/FileNamePatternTestCase.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/helper/FileNamePatternTestCase.java similarity index 91% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/helper/FileNamePatternTestCase.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/helper/FileNamePatternTestCase.java index 6e8d0fd8b4c..4bbd2be445b 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/rolling/helper/FileNamePatternTestCase.java +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rolling/helper/FileNamePatternTestCase.java @@ -1,12 +1,13 @@ /* - * 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 - * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/AndRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/AndRuleTest.java new file mode 100644 index 00000000000..743ee1dab99 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/AndRuleTest.java @@ -0,0 +1,154 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Stack; + +/** + * Test for AndRule. + */ +public class AndRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public AndRuleTest(final String testName) { + super(testName); + } + + /** + * AndRule.getRule(Stack) throws exception if only one rule provided. + */ + public void test1() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + try { + AndRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * AndRule.getRule(Stack) throws exception if non-rules are provided. + */ + public void test2() { + Stack stack = new Stack(); + stack.push("Hello"); + stack.push("World"); + try { + AndRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * Test And of Level and Time. + */ + public void test3() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2008/05/21 00:44:45")); + Rule rule = AndRule.getRule(stack); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Test And of Level and Time when Level does not match. + */ + public void test4() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2008/05/21 00:44:45")); + Rule rule = AndRule.getRule(stack); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Test And of Level and Time when Time does not match. + */ + public void test5() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2009/05/21 00:44:45")); + Rule rule = AndRule.getRule(stack); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + + /** + * Test deserialized And. + */ + public void test6() throws IOException, ClassNotFoundException { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2008/05/21 00:44:45")); + Rule rule = (Rule) SerializationTestHelper.serializeClone(AndRule.getRule(stack)); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + + /** + * Test deserialized And when Level doesn't match. + */ + public void test7() throws IOException, ClassNotFoundException { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2008/05/21 00:44:45")); + Rule rule = (Rule) SerializationTestHelper.serializeClone(AndRule.getRule(stack)); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/EqualsRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/EqualsRuleTest.java new file mode 100644 index 00000000000..75bce60dae6 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/EqualsRuleTest.java @@ -0,0 +1,150 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Stack; + +/** + * Test for EqualsRule. + */ +public class EqualsRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public EqualsRuleTest(final String testName) { + super(testName); + } + + /** + * getRule() with only one entry on stack should throw IllegalArgumentException. + */ + public void test1() { + Stack stack = new Stack(); + stack.push("Hello"); + try { + EqualsRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * getRule() with bad field name should throw IllegalArgumentException. + */ + public void test2() { + Stack stack = new Stack(); + stack.push("Hello"); + stack.push("World"); + try { + EqualsRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * getRule with "level" and "info" should return a LevelEqualsRule. + */ + public void test3() { + Stack stack = new Stack(); + stack.push("level"); + stack.push("info"); + Rule rule = EqualsRule.getRule(stack); + assertEquals(0, stack.size()); + assertTrue(rule instanceof LevelEqualsRule); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * getRule with "timestamp" and time should return a TimestampEqualsRule. + */ + public void test4() { + Stack stack = new Stack(); + stack.push("timestamp"); + stack.push("2008/05/21 00:45:44"); + Rule rule = EqualsRule.getRule(stack); + assertEquals(0, stack.size()); + assertTrue(rule instanceof TimestampEqualsRule); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * getRule with "msg" should return an EqualsRule. + */ + public void test5() { + Stack stack = new Stack(); + stack.push("msg"); + stack.push("Hello, World"); + Rule rule = EqualsRule.getRule(stack); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * getRule with "msg" should return an EqualsRule. + */ + public void test6() { + Stack stack = new Stack(); + stack.push("msg"); + stack.push("Bonjour, Monde"); + Rule rule = EqualsRule.getRule(stack); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Check EqualsRule serialization. + */ + public void test7() throws IOException, ClassNotFoundException { + Stack stack = new Stack(); + stack.push("msg"); + stack.push("Hello, World"); + Rule rule = (Rule) SerializationTestHelper.serializeClone(EqualsRule.getRule(stack)); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/ExistsRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/ExistsRuleTest.java new file mode 100644 index 00000000000..b8a700abbb2 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/ExistsRuleTest.java @@ -0,0 +1,110 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; +import java.util.Stack; + +/** + * Test for ExistsRule. + */ +public class ExistsRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public ExistsRuleTest(final String testName) { + super(testName); + } + + /** + * getRule() with no entry on stack should throw IllegalArgumentException. + */ + public void test1() { + Stack stack = new Stack(); + try { + ExistsRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * getRule() with bad field name should throw IllegalArgumentException. + */ + public void test2() { + Stack stack = new Stack(); + stack.push("Hello"); + try { + ExistsRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * getRule with "msg". + */ + public void test3() { + Stack stack = new Stack(); + stack.push("msg"); + Rule rule = ExistsRule.getRule(stack); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * getRule with "msg". + */ + public void test4() { + Stack stack = new Stack(); + stack.push("msg"); + Rule rule = ExistsRule.getRule(stack); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * getRule with "msg". + */ + public void test5() throws IOException, ClassNotFoundException { + Stack stack = new Stack(); + stack.push("msg"); + Rule rule = (Rule) SerializationTestHelper.serializeClone(ExistsRule.getRule(stack)); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/LevelEqualsRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/LevelEqualsRuleTest.java new file mode 100644 index 00000000000..d2ba747b312 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/LevelEqualsRuleTest.java @@ -0,0 +1,135 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.UtilLoggingLevel; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; + +/** + * Test for LevelEqualsRule. + */ +public class LevelEqualsRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public LevelEqualsRuleTest(final String testName) { + super(testName); + } + + /** + * Tests evaluate when levels are equal. + */ + public void test1() { + LevelEqualsRule rule = (LevelEqualsRule) LevelEqualsRule.getRule("info"); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Tests evaluate when levels are not equal. + */ + public void test2() { + LevelEqualsRule rule = (LevelEqualsRule) LevelEqualsRule.getRule("info"); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.WARN, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Tests evaluate of a deserialized clone when levels are equal. + */ + public void test3() throws IOException, ClassNotFoundException { + LevelEqualsRule rule = (LevelEqualsRule) + SerializationTestHelper.serializeClone(LevelEqualsRule.getRule("info")); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Tests evaluate of a deserialized clone when levels are not equal. + */ + public void test4() throws IOException, ClassNotFoundException { + LevelEqualsRule rule = (LevelEqualsRule) + SerializationTestHelper.serializeClone(LevelEqualsRule.getRule("info")); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.WARN, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Tests evaluate when levels are JDK 1.4 levels and equal. + */ + public void test5() { + LevelEqualsRule rule = (LevelEqualsRule) LevelEqualsRule.getRule("finer"); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Tests evaluate when levels are JDK 1.4 levels and not equal. + */ + public void test6() { + LevelEqualsRule rule = (LevelEqualsRule) LevelEqualsRule.getRule("finer"); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINE, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and equal. + */ + public void test7() throws IOException, ClassNotFoundException { + LevelEqualsRule rule = (LevelEqualsRule) + SerializationTestHelper.serializeClone(LevelEqualsRule.getRule("finer")); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and not equal. + */ + public void test8() throws IOException, ClassNotFoundException { + LevelEqualsRule rule = (LevelEqualsRule) + SerializationTestHelper.serializeClone(LevelEqualsRule.getRule("finer")); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINE, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/LevelInequalityRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/LevelInequalityRuleTest.java new file mode 100644 index 00000000000..a39b8951fa6 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/LevelInequalityRuleTest.java @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.UtilLoggingLevel; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; + +/** + * Test for LevelInequalityRule. + */ +public class LevelInequalityRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public LevelInequalityRuleTest(final String testName) { + super(testName); + } + + /** + * Test construction when level is unrecognized. + */ + public void test1() { + try { + LevelInequalityRule.getRule(">", "emergency"); + fail("Expected IllegalArgumentException"); + } catch(IllegalArgumentException ex) { + } + } + + /** + * Tests construction when operator is unrecognized. + */ + public void test2() { + Rule rule = LevelInequalityRule.getRule("~", "iNfO"); + assertNull(rule); + } + + /** + * Tests evaluate of a deserialized clone when level satisfies rule. + */ + public void test3() throws IOException, ClassNotFoundException { + Rule rule = (Rule) + SerializationTestHelper.serializeClone(LevelInequalityRule.getRule(">=", "info")); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Tests evaluate of a deserialized clone when level does not satisfy rule. + */ + public void test4() throws IOException, ClassNotFoundException { + Rule rule = (Rule) + SerializationTestHelper.serializeClone(LevelInequalityRule.getRule("<", "info")); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Tests evaluate when levels are JDK 1.4 levels and satisified. + */ + public void test5() { + Rule rule = (Rule) LevelInequalityRule.getRule(">=", "finer"); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Tests evaluate when levels are JDK 1.4 levels and not equal. + */ + public void test6() { + Rule rule = (Rule) LevelInequalityRule.getRule("<", "finer"); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and satisified. + */ + public void test7() throws IOException, ClassNotFoundException { + Rule rule = (Rule) + SerializationTestHelper.serializeClone(LevelInequalityRule.getRule(">=", "finer")); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Tests evaluate of a deserialized clone when levels are JDK 1.4 levels and not satified. + */ + public void test8() throws IOException, ClassNotFoundException { + Rule rule = (Rule) + SerializationTestHelper.serializeClone(LevelInequalityRule.getRule("<", "finer")); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), UtilLoggingLevel.FINER, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/NotEqualsRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/NotEqualsRuleTest.java new file mode 100644 index 00000000000..e956c25fbb1 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/NotEqualsRuleTest.java @@ -0,0 +1,148 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Stack; + +/** + * Test for NotEqualsRule. + */ +public class NotEqualsRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public NotEqualsRuleTest(final String testName) { + super(testName); + } + + /** + * getRule() with only one entry on stack should throw IllegalArgumentException. + */ + public void test1() { + Stack stack = new Stack(); + stack.push("Hello"); + try { + NotEqualsRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * getRule() with bad field name should throw IllegalArgumentException. + */ + public void test2() { + Stack stack = new Stack(); + stack.push("Hello"); + stack.push("World"); + try { + NotEqualsRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * getRule with "level" and "info". + */ + public void test3() { + Stack stack = new Stack(); + stack.push("level"); + stack.push("info"); + Rule rule = NotEqualsRule.getRule(stack); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.WARN, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * getRule with "timestamp" and time. + */ + public void test4() { + Stack stack = new Stack(); + stack.push("timestamp"); + stack.push("2008/05/21 00:45:44"); + Rule rule = NotEqualsRule.getRule(stack); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2009, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * getRule with "msg". + */ + public void test5() { + Stack stack = new Stack(); + stack.push("msg"); + stack.push("Hello, World"); + Rule rule = NotEqualsRule.getRule(stack); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * getRule with "msg". + */ + public void test6() { + Stack stack = new Stack(); + stack.push("msg"); + stack.push("Bonjour, Monde"); + Rule rule = NotEqualsRule.getRule(stack); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Check NotEqualsRule serialization. + */ + public void test7() throws IOException, ClassNotFoundException { + Stack stack = new Stack(); + stack.push("msg"); + stack.push("Hello, World"); + Rule rule = (Rule) SerializationTestHelper.serializeClone(NotEqualsRule.getRule(stack)); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/NotRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/NotRuleTest.java new file mode 100644 index 00000000000..866c57a6f15 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/NotRuleTest.java @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Stack; + +/** + * Test for NotRule. + */ +public class NotRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public NotRuleTest(final String testName) { + super(testName); + } + + /** + * NotRule.getRule(Stack) throws exception if only one rule provided. + */ + public void test1() { + Stack stack = new Stack(); + try { + NotRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * NotRule.getRule(Stack) throws exception if non-rules are provided. + */ + public void test2() { + Stack stack = new Stack(); + stack.push("Hello"); + try { + NotRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * Test Not of LevelEqualsRule. + */ + public void test3() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + Rule rule = NotRule.getRule(stack); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Test Not of Level when Level does not match. + */ + public void test4() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + Rule rule = NotRule.getRule(stack); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + + /** + * Test deserialized Not. + */ + public void test5() throws IOException, ClassNotFoundException { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + Rule rule = (Rule) SerializationTestHelper.serializeClone(NotRule.getRule(stack)); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + + /** + * Test deserialized Not. + */ + public void test6() throws IOException, ClassNotFoundException { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + Rule rule = (Rule) SerializationTestHelper.serializeClone(NotRule.getRule(stack)); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/OrRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/OrRuleTest.java new file mode 100644 index 00000000000..25cb385bba5 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/OrRuleTest.java @@ -0,0 +1,170 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Stack; + +/** + * Test for OrRule. + */ +public class OrRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public OrRuleTest(final String testName) { + super(testName); + } + + /** + * OrRule.getRule(Stack) throws exception if only one rule provided. + */ + public void test1() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + try { + OrRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * OrRule.getRule(Stack) throws exception if non-rules are provided. + */ + public void test2() { + Stack stack = new Stack(); + stack.push("Hello"); + stack.push("World"); + try { + OrRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * Test Or of Level and Time. + */ + public void test3() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2008/05/21 00:44:45")); + Rule rule = OrRule.getRule(stack); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Test Or of Level and Time when Level does not match. + */ + public void test4() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2008/05/21 00:44:45")); + Rule rule = OrRule.getRule(stack); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Test Or of Level and Time when Time does not match. + */ + public void test5() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2009/05/21 00:44:45")); + Rule rule = OrRule.getRule(stack); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + + /** + * Test Or of Level and Time when Time and Level do not match. + */ + public void test6() { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2009/05/21 00:44:45")); + Rule rule = OrRule.getRule(stack); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Test deserialized Or. + */ + public void test7() throws IOException, ClassNotFoundException { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2008/05/21 00:44:45")); + Rule rule = (Rule) SerializationTestHelper.serializeClone(OrRule.getRule(stack)); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + + /** + * Test deserialized Or when neither rule match. + */ + public void test8() throws IOException, ClassNotFoundException { + Stack stack = new Stack(); + stack.push(LevelEqualsRule.getRule("INFO")); + stack.push(TimestampInequalityRule.getRule(">=", "2009/05/21 00:44:45")); + Rule rule = (Rule) SerializationTestHelper.serializeClone(OrRule.getRule(stack)); + assertEquals(0, stack.size()); + Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/PartialTextMatchRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/PartialTextMatchRuleTest.java new file mode 100644 index 00000000000..94f0590c7f6 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/PartialTextMatchRuleTest.java @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; +import java.util.Stack; + +/** + * Test for PartialTextMatchRule. + */ +public class PartialTextMatchRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public PartialTextMatchRuleTest(final String testName) { + super(testName); + } + + /** + * getRule() with only one entry on stack should throw IllegalArgumentException. + */ + public void test1() { + Stack stack = new Stack(); + stack.push("Hello"); + try { + PartialTextMatchRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * getRule() with bad field name should throw IllegalArgumentException. + */ + public void test2() { + Stack stack = new Stack(); + stack.push("Hello"); + stack.push("World"); + try { + PartialTextMatchRule.getRule(stack); + fail("Should have thrown IllegalArgumentException"); + } catch (IllegalArgumentException ex) { + } + } + + /** + * getRule with "level" and "nfo" should return a LevelEqualsRule. + */ + public void test3() { + Stack stack = new Stack(); + stack.push("level"); + stack.push("nfo"); + Rule rule = PartialTextMatchRule.getRule(stack); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + + /** + * getRule with "msg". + */ + public void test4() { + Stack stack = new Stack(); + stack.push("msg"); + stack.push("World"); + Rule rule = PartialTextMatchRule.getRule(stack); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * getRule with "msg". + */ + public void test5() { + Stack stack = new Stack(); + stack.push("msg"); + stack.push("Bonjour, Monde"); + Rule rule = PartialTextMatchRule.getRule(stack); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Check PartailTextMatchRule serialization. + */ + public void test6() throws IOException, ClassNotFoundException { + Stack stack = new Stack(); + stack.push("msg"); + stack.push("World"); + Rule rule = (Rule) SerializationTestHelper.serializeClone(PartialTextMatchRule.getRule(stack)); + assertEquals(0, stack.size()); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), System.currentTimeMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/TimestampEqualsRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/TimestampEqualsRuleTest.java new file mode 100644 index 00000000000..9b278248679 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/TimestampEqualsRuleTest.java @@ -0,0 +1,105 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; +import java.util.Calendar; +import java.util.GregorianCalendar; + +/** + * Test for TimestampEqualsRule. + */ +public class TimestampEqualsRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public TimestampEqualsRuleTest(final String testName) { + super(testName); + } + + /** + * Tests evaluate when timestamps are equal. + */ + public void test1() { + TimestampEqualsRule rule = (TimestampEqualsRule) TimestampEqualsRule.getRule("2008/05/21 00:45:44"); + Calendar cal = new GregorianCalendar(2008,04,21,00,45,44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Tests evaluate when levels are not equal. + */ + public void test2() { + TimestampEqualsRule rule = (TimestampEqualsRule) TimestampEqualsRule.getRule("2008/05/21 00:45:44"); + Calendar cal = new GregorianCalendar(2008,04,21,00,46,44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Tests evaluate of a deserialized clone when timestamps are equal. + */ + public void test3() throws IOException, ClassNotFoundException { + TimestampEqualsRule rule = (TimestampEqualsRule) + SerializationTestHelper.serializeClone(TimestampEqualsRule.getRule("2008/05/21 00:45:44")); + Calendar cal = new GregorianCalendar(2008,04,21,00,45,44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Tests evaluate of a deserialized clone when timestamps are not equal. + */ + public void test4() throws IOException, ClassNotFoundException { + TimestampEqualsRule rule = (TimestampEqualsRule) + SerializationTestHelper.serializeClone(TimestampEqualsRule.getRule("2008/05/21 00:45:44")); + Calendar cal = new GregorianCalendar(2008,04,21,00,46,44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + + /** + * Tests constructor will badly formed time specification. + */ + public void test5() { + try { + TimestampEqualsRule.getRule("2008/May/21"); + fail("IllegalArgumentException expected to be thrown"); + } catch(IllegalArgumentException ex) { + } + } + +} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/TimestampInequalityRuleTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/TimestampInequalityRuleTest.java new file mode 100644 index 00000000000..3300d5cff75 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/rule/TimestampInequalityRuleTest.java @@ -0,0 +1,91 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.rule; + + +import junit.framework.TestCase; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.util.SerializationTestHelper; + +import java.io.IOException; +import java.util.Calendar; +import java.util.GregorianCalendar; + +/** + * Test for TimestampInequalityRule. + */ +public class TimestampInequalityRuleTest extends TestCase { + + /** + * Create new test. + * + * @param testName test name. + */ + public TimestampInequalityRuleTest(final String testName) { + super(testName); + } + + /** + * Test construction when timestamp is unrecognized. + */ + public void test1() { + try { + TimestampInequalityRule.getRule(">", "now"); + fail("Expected IllegalArgumentException"); + } catch(IllegalArgumentException ex) { + } + } + + /** + * Tests construction when operator is unrecognized. + */ + public void test2() { + // + // unlike LevelInequalityRule, does not throw exception. Resulting rule never satisified. + // + TimestampInequalityRule.getRule("~", "2008/05/21 00:45:46"); + } + + /** + * Tests evaluate of a deserialized clone when rule is satisified. + */ + public void test3() throws IOException, ClassNotFoundException { + Rule rule = (Rule) + SerializationTestHelper.serializeClone(TimestampInequalityRule.getRule(">=", "2008/05/21 00:44:45")); + Calendar cal = new GregorianCalendar(2008,04,21,00,45,44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, + "Hello, World", null); + assertTrue(rule.evaluate(event, null)); + } + + /** + * Tests evaluate of a deserialized clone when rule is not satisfied. + */ + public void test4() throws IOException, ClassNotFoundException { + Rule rule = (Rule) + SerializationTestHelper.serializeClone(TimestampInequalityRule.getRule("<", "2008/05/21 00:44:44")); + Calendar cal = new GregorianCalendar(2008,04,21,00,45,44); + LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger", + Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, + "Hello, World", null); + assertFalse(rule.evaluate(event, null)); + } + +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/AbsoluteDateAndTimeFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/AbsoluteDateAndTimeFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/AbsoluteDateAndTimeFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/AbsoluteDateAndTimeFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/AbsoluteTimeFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/AbsoluteTimeFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/AbsoluteTimeFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/AbsoluteTimeFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/Compare.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/Compare.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/Compare.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/Compare.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/ControlFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/ControlFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/ControlFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/ControlFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/Filter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/Filter.java similarity index 95% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/Filter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/Filter.java index d7da9ff049b..111e1d39496 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/Filter.java +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/Filter.java @@ -21,7 +21,7 @@ public interface Filter { // 06 avr. 2002 18:36:32,036 // 18 fevr. 2002 20:05:36,222 public static final String ABSOLUTE_DATE_AND_TIME_PAT = - "^\\d{1,2} .{2,6}\\.? 200\\d \\d{2}:\\d{2}:\\d{2},\\d{3}"; + "^\\d{1,2} .{2,6}\\.? 2\\d\\d\\d \\d{2}:\\d{2}:\\d{2},\\d{3}"; // 18:54:19,201 public static final String ABSOLUTE_TIME_PAT = diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/ISO8601Filter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/ISO8601Filter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/ISO8601Filter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/ISO8601Filter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/JunitTestRunnerFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/JunitTestRunnerFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/JunitTestRunnerFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/JunitTestRunnerFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/LineNumberFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/LineNumberFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/LineNumberFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/LineNumberFilter.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/MDCOrderFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/MDCOrderFilter.java new file mode 100644 index 00000000000..8389db44957 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/MDCOrderFilter.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +/** + * This class switches MDC values into the order + * (unreasonably) expected by the witness files. + */ +public class MDCOrderFilter implements Filter { + + /** + * Unexpected orders of keys. + * Note expected values are "va-one-one" and "va-one-two". + */ + private static final String[] patterns = + new String[] { + "{key2,va12}{key1,va11}", + "{key2,value2}{key1,value1}" + }; + + /** + * Replacement values. + */ + private static final String[] replacements = + new String[] { + "{key1,va11}{key2,va12}", + "{key1,value1}{key2,value2}" + }; + + /** + * Switch order of MDC keys when not in expected order. + */ + public String filter(final String in) { + if (in == null) { + return null; + } + + for(int i = 0; i < patterns.length; i++) { + int ipos = in.indexOf(patterns[i]); + if (ipos >= 1) { + return in.substring(0, ipos) + + replacements[i] + + in.substring(ipos + patterns[i].length()); + } + } + return in; + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/RelativeTimeFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/RelativeTimeFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/RelativeTimeFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/RelativeTimeFilter.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/SerializationTestHelper.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/SerializationTestHelper.java new file mode 100644 index 00000000000..f592a834212 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/SerializationTestHelper.java @@ -0,0 +1,150 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.log4j.util; + +import junit.framework.TestCase; + +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.ObjectInputStream; +import java.io.ObjectOutputStream; + + +/** + * Utiities for serialization tests. + * + * @author Curt Arnold + */ +public class SerializationTestHelper { + /** + * Private constructor. + */ + private SerializationTestHelper() { + } + + /** + * Creates a clone by serializing object and + * deserializing byte stream. + * @param obj object to serialize and deserialize. + * @return clone + * @throws IOException on IO error. + * @throws ClassNotFoundException if class not found. + */ + public static Object serializeClone(final Object obj) + throws IOException, ClassNotFoundException { + ByteArrayOutputStream memOut = new ByteArrayOutputStream(); + ObjectOutputStream objOut = new ObjectOutputStream(memOut); + objOut.writeObject(obj); + objOut.close(); + + ByteArrayInputStream src = new ByteArrayInputStream(memOut.toByteArray()); + ObjectInputStream objIs = new ObjectInputStream(src); + + return objIs.readObject(); + } + + /** + * Deserializes a specified file. + * @param witness serialization file, may not be null. + * @return deserialized object. + * @throws Exception thrown on IO or deserialization exception. + */ + public static Object deserializeStream(final String witness) + throws Exception { + FileInputStream fileIs = new FileInputStream(witness); + ObjectInputStream objIs = new ObjectInputStream(fileIs); + + return objIs.readObject(); + } + + /** + * Checks the serialization of an object against an file + * containing the expected serialization. + * + * @param witness name of file containing expected serialization. + * @param obj object to be serialized. + * @param skip positions in serialized stream that should not be compared. + * @param endCompare position to stop comparison. + * @throws Exception thrown on IO or serialization exception. + */ + public static void assertSerializationEquals( + final String witness, final Object obj, final int[] skip, + final int endCompare) throws Exception { + ByteArrayOutputStream memOut = new ByteArrayOutputStream(); + ObjectOutputStream objOut = new ObjectOutputStream(memOut); + objOut.writeObject(obj); + objOut.close(); + + assertStreamEquals(witness, memOut.toByteArray(), skip, endCompare); + } + + /** + * Asserts the serialized form of an object. + * @param witness file name of expected serialization. + * @param actual byte array of actual serialization. + * @param skip positions to skip comparison. + * @param endCompare position to stop comparison. + * @throws IOException thrown on IO or serialization exception. + */ + public static void assertStreamEquals( + final String witness, final byte[] actual, final int[] skip, + final int endCompare) throws IOException { + File witnessFile = new File(witness); + + if (witnessFile.exists()) { + int skipIndex = 0; + byte[] expected = new byte[actual.length]; + FileInputStream is = new FileInputStream(witnessFile); + int bytesRead = is.read(expected); + is.close(); + + if(bytesRead < endCompare) { + TestCase.assertEquals(bytesRead, actual.length); + } + + int endScan = actual.length; + + if (endScan > endCompare) { + endScan = endCompare; + } + + for (int i = 0; i < endScan; i++) { + if ((skipIndex < skip.length) && (skip[skipIndex] == i)) { + skipIndex++; + } else { + if (expected[i] != actual[i]) { + TestCase.assertEquals( + "Difference at offset " + i, expected[i], actual[i]); + } + } + } + } else { + // + // if the file doesn't exist then + // assume that we are setting up and need to write it + FileOutputStream os = new FileOutputStream(witnessFile); + os.write(actual); + os.close(); + TestCase.fail("Writing witness file " + witness); + } + } +} diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/SunReflectFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/SunReflectFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/SunReflectFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/SunReflectFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/Transformer.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/Transformer.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/Transformer.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/Transformer.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/UnexpectedFormatException.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/UnexpectedFormatException.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/UnexpectedFormatException.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/UnexpectedFormatException.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/XMLDateFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/XMLDateFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/XMLDateFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/XMLDateFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/XMLLineAttributeFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/XMLLineAttributeFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/XMLLineAttributeFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/XMLLineAttributeFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/XMLTimestampFilter.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/XMLTimestampFilter.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/util/XMLTimestampFilter.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/util/XMLTimestampFilter.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/xml/XSLTLayoutTest.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/xml/XSLTLayoutTest.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/xml/XSLTLayoutTest.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/xml/XSLTLayoutTest.java diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/xml/XSLTLayoutTestCase.java b/thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/xml/XSLTLayoutTestCase.java similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/java/org/apache/log4j/xml/XSLTLayoutTestCase.java rename to thirdparty/apache-log4j-extras-1.1/src/test/java/org/apache/log4j/xml/XSLTLayoutTestCase.java diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/TestLogMFPatterns.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/TestLogMFPatterns.properties new file mode 100644 index 00000000000..88df125f7a9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/TestLogMFPatterns.properties @@ -0,0 +1,24 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +Iteration0=Iteration {0} +Hello1=Hello, World +Malformed=Hello, {. +Hello2=Hello, {0}World +Hello3=Hello, {0} +Hello4={1}, {0}. +Hello5={1}{2} {0}. +Hello6={1}{2} {0}{3} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/TestLogSFPatterns.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/TestLogSFPatterns.properties new file mode 100644 index 00000000000..e771863a534 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/TestLogSFPatterns.properties @@ -0,0 +1,24 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +Iteration0=Iteration {} +Hello1=Hello, World +Malformed=Hello, {. +Hello2=Hello, {}World +Hello3=Hello, {} +Hello4={}, {}. +Hello5={}{} {}. +Hello6={}{} {}{} diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.1 new file mode 100644 index 00000000000..d5ab5347c39 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.1 @@ -0,0 +1,75 @@ +DEBUG - Message 0 +DEBUG - Message 0 +INFO - Message 1 +INFO - Message 1 +WARN - Message 2 +WARN - Message 2 +ERROR - Message 3 +ERROR - Message 3 +FATAL - Message 4 +FATAL - Message 4 +DEBUG - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test1(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +INFO - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test1(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +WARN - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test1(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +ERROR - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test1(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +FATAL - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test1(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.10 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.10 new file mode 100644 index 00000000000..381c2db048e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.10 @@ -0,0 +1,75 @@ +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test10(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test10(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test10(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test10(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test10(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.11 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.11 new file mode 100644 index 00000000000..65f933b7045 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.11 @@ -0,0 +1,75 @@ +DEBUG [main] log4j.EnhancedPatternLayoutTest: Message 0 +DEBUG [main] root: Message 0 +INFO [main] log4j.EnhancedPatternLayoutTest: Message 1 +INFO [main] root: Message 1 +WARN [main] log4j.EnhancedPatternLayoutTest: Message 2 +WARN [main] root: Message 2 +ERROR [main] log4j.EnhancedPatternLayoutTest: Message 3 +ERROR [main] root: Message 3 +FATAL [main] log4j.EnhancedPatternLayoutTest: Message 4 +FATAL [main] root: Message 4 +DEBUG [main] log4j.EnhancedPatternLayoutTest: Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test11(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +INFO [main] log4j.EnhancedPatternLayoutTest: Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test11(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +WARN [main] log4j.EnhancedPatternLayoutTest: Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test11(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +ERROR [main] log4j.EnhancedPatternLayoutTest: Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test11(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +FATAL [main] log4j.EnhancedPatternLayoutTest: Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test11(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.12 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.12 new file mode 100644 index 00000000000..78039c7f033 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.12 @@ -0,0 +1,75 @@ +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] DEBUG org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test12(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] INFO org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test12(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] WARN org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test12(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] ERROR org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test12(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] FATAL org.apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test12(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.10 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.13 similarity index 51% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.10 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.13 index b86de54d7af..dbd6bd4657d 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.10 +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.13 @@ -1,17 +1,17 @@ -[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(X): Message 0 -[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(X): Message 0 -[main] INFO org.apache.log4j.PatternLayoutTestCase.common(X): Message 1 -[main] INFO org.apache.log4j.PatternLayoutTestCase.common(X): Message 1 -[main] WARN org.apache.log4j.PatternLayoutTestCase.common(X): Message 2 -[main] WARN org.apache.log4j.PatternLayoutTestCase.common(X): Message 2 -[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(X): Message 3 -[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(X): Message 3 -[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(X): Message 4 -[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(X): Message 4 -[main] DEBUG org.apache.log4j.PatternLayoutTestCase.common(X): Message 5 +[main] DEBUG apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] DEBUG apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 0 +[main] INFO apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] INFO apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 1 +[main] WARN apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] WARN apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 2 +[main] ERROR apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] ERROR apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 3 +[main] FATAL apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] FATAL apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 4 +[main] DEBUG apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 5 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test10(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test13(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -21,10 +21,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -[main] INFO org.apache.log4j.PatternLayoutTestCase.common(X): Message 6 +[main] INFO apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 6 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test10(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test13(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -34,10 +34,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -[main] WARN org.apache.log4j.PatternLayoutTestCase.common(X): Message 7 +[main] WARN apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 7 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test10(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test13(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -47,10 +47,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -[main] ERROR org.apache.log4j.PatternLayoutTestCase.common(X): Message 8 +[main] ERROR apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 8 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test10(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test13(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) @@ -60,10 +60,10 @@ java.lang.Exception: Just testing at junit.framework.TestCase.run(X) at junit.framework.TestSuite.runTest(X) at junit.framework.TestSuite.run(X) -[main] FATAL org.apache.log4j.PatternLayoutTestCase.common(X): Message 9 +[main] FATAL apache.log4j.EnhancedPatternLayoutTestCase.common(X): Message 9 java.lang.Exception: Just testing - at org.apache.log4j.PatternLayoutTestCase.common(X) - at org.apache.log4j.PatternLayoutTestCase.test10(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test13(X) at java.lang.reflect.Method.invoke(X) at junit.framework.TestCase.runTest(X) at junit.framework.TestCase.runBare(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.14 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.14 new file mode 100644 index 00000000000..9bdc71ee2ae --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.14 @@ -0,0 +1,75 @@ +DEBUG [main] o.a.l.EnhancedPatternLayoutTest: Message 0 +DEBUG [main] root: Message 0 +INFO [main] o.a.l.EnhancedPatternLayoutTest: Message 1 +INFO [main] root: Message 1 +WARN [main] o.a.l.EnhancedPatternLayoutTest: Message 2 +WARN [main] root: Message 2 +ERROR [main] o.a.l.EnhancedPatternLayoutTest: Message 3 +ERROR [main] root: Message 3 +FATAL [main] o.a.l.EnhancedPatternLayoutTest: Message 4 +FATAL [main] root: Message 4 +DEBUG [main] o.a.l.EnhancedPatternLayoutTest: Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test14(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +INFO [main] o.a.l.EnhancedPatternLayoutTest: Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test14(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +WARN [main] o.a.l.EnhancedPatternLayoutTest: Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test14(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +ERROR [main] o.a.l.EnhancedPatternLayoutTest: Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test14(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +FATAL [main] o.a.l.EnhancedPatternLayoutTest: Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test14(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.15 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.15 new file mode 100644 index 00000000000..7bf3de40fbb --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.15 @@ -0,0 +1,75 @@ +DEBUG 1 - Message 0 +DEBUG 2 - Message 0 + INFO 3 - Message 1 + INFO 4 - Message 1 + WARN 5 - Message 2 + WARN 6 - Message 2 +ERROR 7 - Message 3 +ERROR 8 - Message 3 +FATAL 9 - Message 4 +FATAL 10 - Message 4 +DEBUG 11 - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test15(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + INFO 12 - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test15(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + WARN 13 - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test15(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +ERROR 14 - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test15(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +FATAL 15 - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test15(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.17 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.17 new file mode 100644 index 00000000000..4a6e79878b9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.17 @@ -0,0 +1,4 @@ +IN - 012 012 012 012 012 012 +IN - +IN - 12345 12345 12345 12345 12345 12345 +IN - 0123456789 56789 56789 01234 01234 01234 diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.2 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.2 new file mode 100644 index 00000000000..d4caecc6258 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.2 @@ -0,0 +1,75 @@ + [main] DEBUG atternLayoutTest - Message 0 + [main] DEBUG root - Message 0 + [main] INFO atternLayoutTest - Message 1 + [main] INFO root - Message 1 + [main] WARN atternLayoutTest - Message 2 + [main] WARN root - Message 2 + [main] ERROR atternLayoutTest - Message 3 + [main] ERROR root - Message 3 + [main] FATAL atternLayoutTest - Message 4 + [main] FATAL root - Message 4 + [main] DEBUG atternLayoutTest - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test2(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] INFO atternLayoutTest - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test2(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] WARN atternLayoutTest - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test2(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] ERROR atternLayoutTest - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test2(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] FATAL atternLayoutTest - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test2(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.3 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.3 new file mode 100644 index 00000000000..248df6d60e9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.3 @@ -0,0 +1,75 @@ + [main] DEBUG atternLayoutTest - Message 0 + [main] DEBUG root - Message 0 + [main] INFO atternLayoutTest - Message 1 + [main] INFO root - Message 1 + [main] WARN atternLayoutTest - Message 2 + [main] WARN root - Message 2 + [main] ERROR atternLayoutTest - Message 3 + [main] ERROR root - Message 3 + [main] FATAL atternLayoutTest - Message 4 + [main] FATAL root - Message 4 + [main] DEBUG atternLayoutTest - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test3(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] INFO atternLayoutTest - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test3(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] WARN atternLayoutTest - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test3(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] ERROR atternLayoutTest - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test3(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] FATAL atternLayoutTest - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test3(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.4 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.4 new file mode 100644 index 00000000000..4dce6ef4a5e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.4 @@ -0,0 +1,75 @@ + [main] DEBUG atternLayoutTest - Message 0 + [main] DEBUG root - Message 0 + [main] INFO atternLayoutTest - Message 1 + [main] INFO root - Message 1 + [main] WARN atternLayoutTest - Message 2 + [main] WARN root - Message 2 + [main] ERROR atternLayoutTest - Message 3 + [main] ERROR root - Message 3 + [main] FATAL atternLayoutTest - Message 4 + [main] FATAL root - Message 4 + [main] DEBUG atternLayoutTest - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test4(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] INFO atternLayoutTest - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test4(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] WARN atternLayoutTest - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test4(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] ERROR atternLayoutTest - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test4(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] FATAL atternLayoutTest - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test4(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.5 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.5 new file mode 100644 index 00000000000..cb88bddb6c9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.5 @@ -0,0 +1,75 @@ + [main] DEBUG atternLayoutTest - Message 0 + [main] DEBUG root - Message 0 + [main] INFO atternLayoutTest - Message 1 + [main] INFO root - Message 1 + [main] WARN atternLayoutTest - Message 2 + [main] WARN root - Message 2 + [main] ERROR atternLayoutTest - Message 3 + [main] ERROR root - Message 3 + [main] FATAL atternLayoutTest - Message 4 + [main] FATAL root - Message 4 + [main] DEBUG atternLayoutTest - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test5(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] INFO atternLayoutTest - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test5(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] WARN atternLayoutTest - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test5(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] ERROR atternLayoutTest - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test5(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] FATAL atternLayoutTest - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test5(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.6 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.6 new file mode 100644 index 00000000000..5e1db41d5dd --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.6 @@ -0,0 +1,75 @@ + [main] DEBUG atternLayoutTest - Message 0 + [main] DEBUG root - Message 0 + [main] INFO atternLayoutTest - Message 1 + [main] INFO root - Message 1 + [main] WARN atternLayoutTest - Message 2 + [main] WARN root - Message 2 + [main] ERROR atternLayoutTest - Message 3 + [main] ERROR root - Message 3 + [main] FATAL atternLayoutTest - Message 4 + [main] FATAL root - Message 4 + [main] DEBUG atternLayoutTest - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test6(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] INFO atternLayoutTest - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test6(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] WARN atternLayoutTest - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test6(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] ERROR atternLayoutTest - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test6(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] FATAL atternLayoutTest - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test6(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.7 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.7 new file mode 100644 index 00000000000..5c6daa4572e --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.7 @@ -0,0 +1,75 @@ + [main] DEBUG atternLayoutTest - Message 0 + [main] DEBUG root - Message 0 + [main] INFO atternLayoutTest - Message 1 + [main] INFO root - Message 1 + [main] WARN atternLayoutTest - Message 2 + [main] WARN root - Message 2 + [main] ERROR atternLayoutTest - Message 3 + [main] ERROR root - Message 3 + [main] FATAL atternLayoutTest - Message 4 + [main] FATAL root - Message 4 + [main] DEBUG atternLayoutTest - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test7(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] INFO atternLayoutTest - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test7(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] WARN atternLayoutTest - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test7(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] ERROR atternLayoutTest - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test7(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] FATAL atternLayoutTest - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test7(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.8 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.8 new file mode 100644 index 00000000000..2a085068125 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.8 @@ -0,0 +1,75 @@ + [main] DEBUG atternLayoutTest - Message 0 + [main] DEBUG root - Message 0 + [main] INFO atternLayoutTest - Message 1 + [main] INFO root - Message 1 + [main] WARN atternLayoutTest - Message 2 + [main] WARN root - Message 2 + [main] ERROR atternLayoutTest - Message 3 + [main] ERROR root - Message 3 + [main] FATAL atternLayoutTest - Message 4 + [main] FATAL root - Message 4 + [main] DEBUG atternLayoutTest - Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test8(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] INFO atternLayoutTest - Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test8(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] WARN atternLayoutTest - Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test8(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] ERROR atternLayoutTest - Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test8(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) + [main] FATAL atternLayoutTest - Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test8(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.9 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.9 new file mode 100644 index 00000000000..6b8dd1af87f --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.9 @@ -0,0 +1,75 @@ +[main] DEBUG atternLayoutTest : Message 0 +[main] DEBUG root : Message 0 +[main] INFO atternLayoutTest : Message 1 +[main] INFO root : Message 1 +[main] WARN atternLayoutTest : Message 2 +[main] WARN root : Message 2 +[main] ERROR atternLayoutTest : Message 3 +[main] ERROR root : Message 3 +[main] FATAL atternLayoutTest : Message 4 +[main] FATAL root : Message 4 +[main] DEBUG atternLayoutTest : Message 5 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test9(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] INFO atternLayoutTest : Message 6 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test9(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] WARN atternLayoutTest : Message 7 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test9(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] ERROR atternLayoutTest : Message 8 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test9(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +[main] FATAL atternLayoutTest : Message 9 +java.lang.Exception: Just testing + at org.apache.log4j.EnhancedPatternLayoutTestCase.common(X) + at org.apache.log4j.EnhancedPatternLayoutTestCase.test9(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.1 new file mode 100644 index 00000000000..9bf65405aea --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.1 @@ -0,0 +1 @@ +DEBUG - Hello World {{key1,va11}{key2,va12}} \ No newline at end of file diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.mdc.1.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.1.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout.mdc.1.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.1.properties diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.2 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.2 new file mode 100644 index 00000000000..3ccf2b4ba92 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.mdc.2 @@ -0,0 +1,12 @@ +starting mdc pattern test +empty mdc, no key specified in pattern : {} +empty mdc, key1 in pattern : +empty mdc, key2 in pattern : +empty mdc, key3 in pattern : +empty mdc, key1, key2, and key3 in pattern : ,, +filled mdc, no key specified in pattern : {{key1,value1}{key2,value2}} +filled mdc, key1 in pattern : value1 +filled mdc, key2 in pattern : value2 +filled mdc, key3 in pattern : +filled mdc, key1, key2, and key3 in pattern : value1,value2, +finished mdc pattern test diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.throwable b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.throwable new file mode 100644 index 00000000000..f1911237792 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout.throwable @@ -0,0 +1,54 @@ +starting throwable pattern test +plain pattern, no exception +plain pattern, with exception +java.lang.Exception: Test Exception + at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +%throwable, no exception +%throwable, with exception +java.lang.Exception: Test Exception + at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +%throwable{short}, no exception +%throwable{short}, with exception +java.lang.Exception: Test Exception +%throwable{none}, no exception +%throwable{none}, with exception +%throwable{0}, no exception +%throwable{0}, with exception +%throwable{1}, no exception +%throwable{1}, with exception +java.lang.Exception: Test Exception +%throwable{100}, no exception +%throwable{100}, with exception +java.lang.Exception: Test Exception + at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X) + at java.lang.reflect.Method.invoke(X) + at junit.framework.TestCase.runTest(X) + at junit.framework.TestCase.runBare(X) + at junit.framework.TestResult$1.protect(X) + at junit.framework.TestResult.runProtected(X) + at junit.framework.TestResult.run(X) + at junit.framework.TestCase.run(X) + at junit.framework.TestSuite.runTest(X) + at junit.framework.TestSuite.run(X) +%throwable{-n}, no exception +%throwable{-n}, with exception +java.lang.Exception: Test Exception + at org.apache.log4j.EnhancedPatternLayoutTestCase.testThrowable(X) diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout1.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout1.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout1.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout1.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout10.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout10.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout10.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout10.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout11.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout11.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout11.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout11.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout12.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout12.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout12.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout12.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout13.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout13.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout13.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout13.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout14.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout14.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout14.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout14.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout15.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout15.properties similarity index 94% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout15.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout15.properties index 6e7bc94fc18..00955c303e9 100644 --- a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout15.properties +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout15.properties @@ -16,7 +16,7 @@ log4j.rootCategory=TRACE, testAppender log4j.appender.testAppender=org.apache.log4j.FileAppender log4j.appender.testAppender.File= temp log4j.appender.testAppender.Append=false -log4j.appender.testAppender.layout=org.apache.log4j.MyPatternLayout +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedMyPatternLayout log4j.appender.testAppender.layout.ConversionPattern=%5p %-4# - %m%n # Prevent internal log4j DEBUG messages from polluting the output. diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout16.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout16.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout16.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout16.properties diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout17.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout17.properties new file mode 100644 index 00000000000..74ac6e601c9 --- /dev/null +++ b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout17.properties @@ -0,0 +1,27 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +log4j.rootCategory=TRACE, testAppender +log4j.appender.testAppender=org.apache.log4j.FileAppender +log4j.appender.testAppender.File=patternLayout17.log +log4j.appender.testAppender.Append=false +log4j.appender.testAppender.layout=org.apache.log4j.EnhancedPatternLayout +log4j.appender.testAppender.layout.ConversionPattern=%!.2p - %m %4.5m %-4.5m %!4.5m %!-4.5m %-!4.5m%n + +# Prevent internal log4j DEBUG messages from polluting the output. +log4j.logger.org.apache.log4j.PropertyConfigurator=INFO +log4j.logger.org.apache.log4j.config.PropertySetter=INFO +log4j.logger.org.apache.log4j.FileAppender=INFO + diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout2.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout2.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout2.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout2.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout3.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout3.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout3.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout3.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout4.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout4.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout4.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout4.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout5.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout5.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout5.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout5.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout6.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout6.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout6.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout6.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout7.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout7.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout7.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout7.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout8.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout8.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout8.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout8.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout9.properties b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout9.properties similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/patternLayout9.properties rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/enhancedPatternLayout9.properties diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter.1 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter.1 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter.11 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter.11 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter.11 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter.11 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter.6 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter.6 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter.6 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter.6 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter.7 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter.7 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter.7 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter.7 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter.8 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter.8 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter.8 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter.8 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter1.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter1.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter1.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter1.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter10.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter10.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter10.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter10.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter11.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter11.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter11.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter11.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter12.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter12.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter12.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter12.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter6.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter6.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter6.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter6.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter7.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter7.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter7.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter7.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter8.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter8.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter8.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter8.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter9.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter9.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/simpleFilter9.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/simpleFilter9.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/timeFilter1.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/timeFilter1.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/timeFilter1.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/timeFilter1.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/timeFilter2.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/timeFilter2.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/filter/timeFilter2.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/filter/timeFilter2.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/filter1.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/filter1.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/filter1.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/filter1.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/renaming.0 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/renaming.0 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/renaming.0 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/renaming.0 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/renaming.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/renaming.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/renaming.1 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/renaming.1 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/renaming.2 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/renaming.2 old mode 100644 new mode 100755 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/renaming.2 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/renaming.2 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/sbr-test2.0 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/sbr-test2.0 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/sbr-test2.0 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/sbr-test2.0 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/sbr-test2.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/sbr-test2.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/sbr-test2.1 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/sbr-test2.1 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/sbr-test3.0.gz b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/sbr-test3.0.gz similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/sbr-test3.0.gz rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/sbr-test3.0.gz diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/sbr-test3.1.gz b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/sbr-test3.1.gz similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/sbr-test3.1.gz rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/sbr-test3.1.gz diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test4.0 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test1.0 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test4.0 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test1.0 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test1.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test1.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test1.1 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test1.1 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test1.2 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test1.2 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test1.2 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test1.2 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test1.3 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test1.3 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test1.3 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test1.3 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test5.0 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test2.0 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test5.0 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test2.0 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test2.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test2.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test2.1 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test2.1 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test2.2 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test2.2 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test2.2 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test2.2 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test2.3 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test2.3 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test2.3 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test2.3 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test3.0.gz b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test3.0.gz similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test3.0.gz rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test3.0.gz diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test3.1.gz b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test3.1.gz similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test3.1.gz rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test3.1.gz diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test3.2.gz b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test3.2.gz similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test3.2.gz rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test3.2.gz diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test3.3 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test3.3 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test3.3 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test3.3 diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test4.0 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test4.0 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test4.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test4.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test4.1 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test4.1 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test4.2 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test4.2 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test4.2 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test4.2 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test4.3 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test4.3 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test4.3 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test4.3 diff --git a/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test5.0 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test5.0 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test5.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test5.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test5.1 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test5.1 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test5.2 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test5.2 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test5.2 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test5.2 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test5.3 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test5.3 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test5.3 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test5.3 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test6.0.gz b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test6.0.gz similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test6.0.gz rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test6.0.gz diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test6.1.gz b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test6.1.gz similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test6.1.gz rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test6.1.gz diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test6.2.gz b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test6.2.gz similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test6.2.gz rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test6.2.gz diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test6.3 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test6.3 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/tbr-test6.3 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/tbr-test6.3 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/time1.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/time1.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/rolling/time1.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/rolling/time1.xml diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.1 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.1 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.2 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.2 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.2 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.2 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.3 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.3 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.3 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.3 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.4 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.4 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.4 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.4 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.mdc.1 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.mdc.1 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.mdc.1 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.mdc.1 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.mdc.2 b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.mdc.2 similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.mdc.2 rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.mdc.2 diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.null b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.null similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout.null rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout.null diff --git a/thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout4.xml b/thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout4.xml similarity index 100% rename from thirdparty/apache-log4j-extras-1.0/src/test/resources/org/apache/log4j/xml/xsltLayout4.xml rename to thirdparty/apache-log4j-extras-1.1/src/test/resources/org/apache/log4j/xml/xsltLayout4.xml diff --git a/thirdparty/log4j-1.2.15.jar b/thirdparty/log4j-1.2.15.jar deleted file mode 100644 index c930a6ab4d4b73c1a6feb9e929091205664bb340..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 391834 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 LL+IIXJH`J1EdB>a diff --git a/thirdparty/log4j-extras.jar b/thirdparty/log4j-extras.jar new file mode 100644 index 0000000000000000000000000000000000000000..61ab1c9c7aca3288d53f9337b6fccd77cfedb251 GIT binary patch literal 346729 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%0AXvUhW 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 IffDoo08+PodjJ3c literal 0 HcmV?d00001 diff --git a/thirdparty/log4j.jar b/thirdparty/log4j.jar new file mode 100644 index 0000000000000000000000000000000000000000..3f9d847618bcec9c81f36ad6ee76a0f53816987f GIT binary patch literal 481534 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%0AKWfE$qTJhrf;L-7QRzS1a7;?kZ7Am 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%0DS9&Qh7f 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%0D7!9t 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 BkMRHi literal 0 HcmV?d00001 diff --git a/utils/.classpath b/utils/.classpath index 75958a9e165..82a4ea9d46e 100644 --- a/utils/.classpath +++ b/utils/.classpath @@ -1,9 +1,10 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="src" path="test"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry combineaccessrules="false" kind="src" path="/deps"/> - <classpathentry combineaccessrules="false" kind="src" path="/tools"/> - <classpathentry kind="output" path="bin"/> -</classpath> +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="test"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry combineaccessrules="false" kind="src" path="/deps"/> + <classpathentry combineaccessrules="false" kind="src" path="/tools"/> + <classpathentry exported="true" kind="lib" path="/deps/cloud-log4j.jar"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/utils/src/com/cloud/utils/log/CglibThrowableRenderer.java b/utils/src/com/cloud/utils/log/CglibThrowableRenderer.java new file mode 100644 index 00000000000..25d5b499655 --- /dev/null +++ b/utils/src/com/cloud/utils/log/CglibThrowableRenderer.java @@ -0,0 +1,182 @@ +/** + * Copyright (C) 2010 Cloud.com, Inc. All rights reserved. + * + * This software is licensed under the GNU General Public License v3 or later. + * + * It is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +package com.cloud.utils.log; + +import java.io.File; +import java.lang.reflect.Method; +import java.net.URL; +import java.security.CodeSource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +import org.apache.log4j.spi.ThrowableRenderer; + +/** + * This renderer removes all the Cglib generated methods from the call + * stack. It is generally not useful and makes the log confusing to look + * at. + * + * Unfortunately, I had to copy out the EnhancedThrowableRenderer from + * the apach libraries because EnhancedThrowableRenderer is a final class. + * I would have much more preferred to extend EnhancedThrowableRenderer and + * simply override doRender. Not sure what the developers are thinking there + * making it final. + * + * In order to use this you must add + * <throwableRenderer class="com.cloud.utils.log.CglibThrowableRenderer"/> + * into log4j.xml. + * + */ +public class CglibThrowableRenderer implements ThrowableRenderer { + /** + * Throwable.getStackTrace() method. + */ + private Method getStackTraceMethod; + /** + * StackTraceElement.getClassName() method. + */ + private Method getClassNameMethod; + + /** + * Construct new instance. + */ + public CglibThrowableRenderer() { + try { + Class[] noArgs = null; + getStackTraceMethod = Throwable.class.getMethod("getStackTrace", noArgs); + Class ste = Class.forName("java.lang.StackTraceElement"); + getClassNameMethod = ste.getMethod("getClassName", noArgs); + } catch (Exception ex) { + } + } + + /** + * {@inheritDoc} + */ + @Override + public String[] doRender(final Throwable throwable) { + try { + Object[] noArgs = null; + Object[] elements = (Object[])getStackTraceMethod.invoke(throwable, noArgs); + ArrayList<String> lines = new ArrayList<String>(elements.length + 1); + lines.add(throwable.toString()); + Map classMap = new HashMap(); + for (int i = 0; i < elements.length; i++) { + if (!(elements[i] instanceof StackTraceElement) || !((StackTraceElement)elements[i]).getFileName().equals("<generated>")) { + lines.add(formatElement(elements[i], classMap)); + } + } + return lines.toArray(new String[lines.size()]); + } catch (Exception ex) { + return null; + } + } + + /** + * Format one element from stack trace. + * + * @param element element, may not be null. + * @param classMap map of class name to location. + * @return string representation of element. + */ + private String formatElement(final Object element, final Map classMap) { + StringBuffer buf = new StringBuffer("\tat "); + buf.append(element); + try { + String className = getClassNameMethod.invoke(element, (Object[])null).toString(); + Object classDetails = classMap.get(className); + if (classDetails != null) { + buf.append(classDetails); + } else { + Class cls = findClass(className); + int detailStart = buf.length(); + buf.append('['); + try { + CodeSource source = cls.getProtectionDomain().getCodeSource(); + if (source != null) { + URL locationURL = source.getLocation(); + if (locationURL != null) { + // + // if a file: URL + // + if ("file".equals(locationURL.getProtocol())) { + String path = locationURL.getPath(); + if (path != null) { + // + // find the last file separator character + // + int lastSlash = path.lastIndexOf('/'); + int lastBack = path.lastIndexOf(File.separatorChar); + if (lastBack > lastSlash) { + lastSlash = lastBack; + } + // + // if no separator or ends with separator (a directory) + // then output the URL, otherwise just the file name. + // + if (lastSlash <= 0 || lastSlash == path.length() - 1) { + buf.append(locationURL); + } else { + buf.append(path.substring(lastSlash + 1)); + } + } + } else { + buf.append(locationURL); + } + } + } + } catch (SecurityException ex) { + } + buf.append(':'); + Package pkg = cls.getPackage(); + if (pkg != null) { + String implVersion = pkg.getImplementationVersion(); + if (implVersion != null) { + buf.append(implVersion); + } + } + buf.append(']'); + classMap.put(className, buf.substring(detailStart)); + } + } catch (Exception ex) { + } + return buf.toString(); + } + + /** + * Find class given class name. + * + * @param className class name, may not be null. + * @return class, will not be null. + * @throws ClassNotFoundException thrown if class can not be found. + */ + private Class findClass(final String className) throws ClassNotFoundException { + try { + return Thread.currentThread().getContextClassLoader().loadClass(className); + } catch (ClassNotFoundException e) { + try { + return Class.forName(className); + } catch (ClassNotFoundException e1) { + return getClass().getClassLoader().loadClass(className); + } + } + } + +} diff --git a/utils/test/com/cloud/utils/log/CglibThrowableRendererTest.java b/utils/test/com/cloud/utils/log/CglibThrowableRendererTest.java new file mode 100644 index 00000000000..6999f9acf2d --- /dev/null +++ b/utils/test/com/cloud/utils/log/CglibThrowableRendererTest.java @@ -0,0 +1,30 @@ +package com.cloud.utils.log; + +import junit.framework.TestCase; + +import org.apache.log4j.Logger; + +import com.cloud.utils.component.ComponentLocator; +import com.cloud.utils.db.DB; +import com.cloud.utils.exception.CloudRuntimeException; + + +public class CglibThrowableRendererTest extends TestCase { + private final static Logger s_logger = Logger.getLogger(CglibThrowableRendererTest.class); + public static class Test { + @DB + public void exception() { + throw new CloudRuntimeException("exception"); + } + } + + public void testException() { + Test test = ComponentLocator.inject(Test.class); + try { + test.exception(); + } catch (Exception e) { + s_logger.warn("exception caught", e); + } + } + +} diff --git a/utils/test/resources/log4j.xml b/utils/test/resources/log4j.xml index 41422f92f01..ea9fb4318df 100755 --- a/utils/test/resources/log4j.xml +++ b/utils/test/resources/log4j.xml @@ -3,6 +3,7 @@ <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> + <throwableRenderer class="com.cloud.utils.log.CglibThrowableRenderer"/> <!-- ================================= --> <!-- Preserve messages in a local file --> <!-- ================================= --> @@ -33,7 +34,8 @@ </layout> </appender> --> - + + <!-- ============================== --> <!-- Append warnings+ to the syslog if it is listening on UDP port FIXME make sysloghost configurable! --> <!-- ============================== -->

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�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